@charset "utf-8";

/* common
-------------------------------------------------------*/
#wrapper {
	overflow: hidden;
}
.sp {
	display: none;
}
.sp_break {
	display: none;
}
.serif {
	font-family: "Shippori Mincho", serif;
}
.area {
	padding: 130px 20px;
	box-sizing: border-box;
}
.inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
}
.bg01 {
	background: #eff4f3;
}
.ttl01 {
	font-size: 2.9rem;
	letter-spacing: 0.12em;
	color: var(--color02);
	margin-bottom: 60px;
	font-weight: 500;
	font-family: "Shippori Mincho", serif;
	text-align: center;
}
.ttl02 {
	font-size: 2.6rem;
	letter-spacing: 0.22em;
	color: var(--color02);
	margin-bottom: 60px;
	font-weight: 500;
	font-family: "Shippori Mincho", serif;
	text-align: center;
}
.ttl02.ttl_bar {
	color: var(--color03);
	position: relative;
	margin-bottom: 100px;
}
.ttl02.ttl_bar::before {
	position: absolute;
	display: block;
	content: "";
	width: 100vw;
	height: 2px;
	background: #e1dad3;
	top: 20px;
	z-index: 1;
	left: calc(50% - 50vw);
}
.ttl02.ttl_bar span {
	background: #fff;
	position: relative;
	z-index: 2;
	padding: 0 40px;
}
.bg01 .ttl02.ttl_bar span {
	background: #eff4f3;
}
.ttl_en {
	font-size: 2rem;
	color: var(--color03);
	margin-bottom: 60px;
	letter-spacing: 0.16em;
	font-family: "Shippori Mincho", serif;
	text-align: center;
	font-weight: 500;
}
.btn01 a {
	max-width: 360px;
	height: 75px;
	color: #fff;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--color04);
	font-family: "Shippori Mincho", serif;
	font-size: 1.8rem;
	font-weight: 500;
	margin: 80px auto 0;
}
.btn01.btn_ig span {
	position: relative;
	padding-left: 50px;
}
.btn01.btn_ig span::before {
	position: absolute;
	display: block;
	content: "";
	background: url(../img/common/icon_ig.png)no-repeat left center/30px 30px;
	width: 30px;
	height: 30px;
	left: 0;
}
.page_nav {
	max-width: 470px;
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: center;
	gap: 30px;
	margin: 0 auto;
}
.page_nav li {
	width: calc((100% - 30px)/2);
}
.page_nav a {
	color: var(--color03);
	font-weight: 500;
	font-size: 1.8rem;
	border-bottom: 2px solid var(--color01);
	display: block;
	padding: 0 0 10px 10px;
	position: relative;
	
}
.page_nav a::after {
	position: absolute;
	display: block;
	content: "";
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--color01);
	border-right: 2px solid var(--color01);
	right: 10px;
	top: 10px;
	transform: rotate(45deg);
}

.page_nav a:hover::after {
	right: 5px;
	transition: .3s;
}

.page_nav .size_s {
	text-align: center;
}
.page_nav .size_s a {
	display: inline-block;
	min-width: 110px;
	text-align: left;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.sp_break {
		display: block;
	}
	.area {
		padding: 60px 20px;
	}
	.inner {
		max-width: 100%;
	}
	.ttl01 {
		font-size: 2rem;
		margin-bottom: 40px;
	}
	.ttl02 {
		font-size: 1.8rem;
		margin-bottom: 40px;
	}
	.ttl02.ttl_bar {
		margin-bottom: 50px;
	}
	.ttl02.ttl_bar::before {
		width: 100vw;
		top: 13px;
	}
	.ttl02.ttl_bar span {
		padding: 0 20px;
	}
	.ttl_en {
		font-size: 1.8rem;
		margin-bottom: 40px;
	}
	.btn01 a {
		max-width: 100%;
		height: 60px;
		font-size: 1.6rem;
		margin: 40px auto 0;
	}
	.btn01.btn_ig span {
		padding-left: 40px;
	}
	.btn01.btn_ig span::before {
		background: url(../img/common/icon_ig.png)no-repeat left center/25px 25px;
		width: 25px;
		height: 25px;
	}
	.page_nav {
		max-width: 100%;
		gap: 20px;
	}
	.page_nav li {
		width: calc((100% - 10px)/1.5);
	}
	.page_nav a {
		font-size: 1.5rem;
	}
	.page_nav a::after {
		top: 9px;
	}
}


/* header
-------------------------------------------------------*/
#header .inner {
	max-width: 100%;
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
	padding: 20px 40px;
}
#header .in {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
#header .logo {
	margin-right: 80px;
}
#header .logo img {
	max-width: 172px;
}
.nav_list {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
.nav_list li {
	margin-right: 35px;
}
.nav_list a {
	color: var(--color01);
	font-size: 1.8rem;
}
.btn_cart img {
	max-width: 37px;
}
.hamburger {
	display: none;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	#header .inner {
		padding: 20px;
	}
	#header .logo img {
		max-width: 140px;
	}
	.nav_list li {
		margin-right: 20px;
	}
	.nav_list a {
		font-size: 1.6rem;
	}
}
@media screen and (max-width:768px) {
	#header .inner {
		padding: 10px 20px;
	}
	#header .logo {
		margin-right: 0;
	}
	#header .logo img {
		max-width: 120px;
	}
	.hamburger {
		width: 35px;
		height: 24px;
		position: fixed;
		top: 20px;
		right: 10px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		background: none;
		border: none;
		cursor: pointer;
		z-index: 1000;
	}
	.hamburger span {
		display: block;
		width: 100%;
		height: 2px;
		background: var(--color01);
		border-radius: 2px;
		transition: all 0.3s ease;
	}
	.hamburger.open span:nth-child(1) {
		transform: translateY(10px) rotate(45deg);
	}
	.hamburger.open span:nth-child(2) {
		opacity: 0;
	}
	.hamburger.open span:nth-child(3) {
		transform: translateY(-10px) rotate(-45deg);
	}
	#nav {
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100vh;
		background: rgba(255,255,255,0.9);
		transition: right 0.7s ease;
		padding: 67px 20px 20px;
		z-index: 999;
	}
	#nav.open {
		right: 0;
	}
	.nav_list {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.nav_list li {
		margin-right: 0;
		width: 100%;
		margin-bottom: 20px;
	}
	.nav_list a {
		font-size: 1.8rem;
		border-bottom: 1px solid var(--color01);
		display: block;
		padding: 0 20px 20px;
	}
	.btn_cart {
		text-align: center;
	}
	.btn_cart img {
		max-width: 37px;
	}
}


/* footer
-------------------------------------------------------*/
#footer {
	color: #fff;
	background: #464e4d;
}
#footer.area {
	padding: 90px 20px 40px;
}
#footer a {
	color: #fff;
}
#footer .footer_nav_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 100px;
}
.footer_nav {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.footer_nav .ttl {
	letter-spacing: 0.16em;
	font-size: 2rem;
	font-weight: 700;
	margin-bottom: 30px;
}
.footer_nav>div {
	margin-right: 20%;
	white-space: nowrap;
}
.list_footer {
	font-size: 1.5rem;
}
.list_footer li:not(:last-child) {
	margin-bottom: 15px;
}
.list_sns {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-end;
}
.list_sns img {
	max-width: 33px;
}
.list_sns li {
	margin-left: 30px;
}
.list_sns li:last-child img {
	max-width: 27px;
}
#footer .copy {
	text-align: center;
	font-size: 1.4rem;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.footer_nav > div {
		margin-right: 15%;
	}
}
@media screen and (max-width:768px) {
	#footer.area {
		padding: 50px 20px 30px;
	}
	#footer .footer_nav_box {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
		margin-bottom: 50px;
	}
	.footer_nav {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
		margin-bottom: 40px;
	}
	.footer_nav .ttl {
		font-size: 1.8rem;
		margin-bottom: 20px;
	}
	.footer_nav>div {
		margin-right: 0;
		margin-bottom: 30px;
	}
	.list_footer {
		font-size: 1.4rem;
	}
	.list_footer li:not(:last-child) {
		margin-bottom: 10px;
	}
	.list_sns {
		justify-content: center;
		width: 100%;
	}
	.list_sns img {
		max-width: 33px;
	}
	.list_sns li {
		margin-left: 0;
	}
	.list_sns li:not(:last-child) {
		margin-right: 30px;
	}
	#footer .copy {
		font-size: 1.2rem;
	}
}


/* index
-------------------------------------------------------*/
/* visual */
.index_visual {
	position: relative;
}
.index_visual_txt {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	position: absolute;
	left: 10%;
	top: 10%;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	flex-direction:column;
}
.index_visual_txt.hide {
	opacity: 0;
	visibility: hidden;
}
.index_visual_txt .txt {
	margin: 0;
	/*padding: 20px 10px 5px 10px;*/
	padding: 10px 10px 10px 25px;
	background: #fff;
	/*writing-mode: vertical-rl;
	text-orientation: upright;*/
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	color: var(--color03);
}

/* index_area01 */
.index_area01.area {
	padding: 130px 20px 0;
}
.index_area01 .txt_img_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 100px;
}
.index_area01 .txt_img_box dt {
	font-size: 2.6rem;
	font-weight: 500;
	margin-bottom: 40px;
	letter-spacing: 0.22em;
}
.index_area01 .txt_img_box dd {
	font-size: 1.8rem;
}

.index_area01 .txt_img_box .img {
	max-width: 440px;
}

.mid_tate_txt {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	justify-content: center;
	position: relative;
	z-index: 5;
}
.mid_tate_txt .txt {
	margin: 0;
	padding: 20px 10px 5px 10px;
	background: #fff;
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	color: var(--color03);
}

/* index_area02 */
.index_area02 {
	margin-top: -60px;
}

/* index_area03 */

/* index_area04 */
.index_area04 {
	background: url(../img/index/bg01.png)no-repeat center/cover;
	position: relative;
	min-height: 650px;
}
.index_area04 .txt_box {
	min-width: 440px;
	margin: 0 auto;
	background: rgba(70,78,77,0.95);
	text-align: center;
	color: #fff;
	padding: 100px 20px;
	position: absolute;
	right: 50%;
	bottom: -130px;
	transform: translate(50%,0);
}
.index_area04 .txt_box dt {
	font-size: 3.5rem;
	font-weight: 500;
	margin-bottom: 50px;
	letter-spacing: 0.22em;
	text-align: center;
}
.index_area04 .txt_box dd {
	font-size: 1.8rem;
	line-height: 2;
}

/* index_area05 */
.index_area05.area {
	padding: 200px 20px 130px;
}
.index_area05 .list_img {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: center;
	gap: 35px;
}
.index_area05 .list_img li {
	max-width: 340px;
}
.index_area05 .page_nav {
	margin-top: 60px;
}

/* index_news */
.list_news {
	max-width: 900px;
	margin: 0 auto 70px;
}
.list_news a {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
}
.list_news li:not(:last-child) {
	margin-bottom: 30px;
}
.list_news dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: flex-start;
}
.list_news .date {
	font-weight: 700;
	margin-right: 15px;
}
.list_news .tag {
	text-align: center;
	color: #fff;
	font-size: 1.5rem;
	background: var(--color02);
	width: 120px;
	margin-right: 20px;
}
.list_news .ttl {
	font-size: 1.8rem;
	color: var(--color01);
}

/* index_pb */
.index_pb {
	background: url(../img/index/bg_pb.png)no-repeat center/cover;
	color: #fff;
}
.index_pb .ttl_en {
	color: #fff;
}
.index_pb .top_txt {
	text-align: center;
	margin-bottom: 80px;
	font-size: 3.2rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 2;
}
.index_pb .page_nav a {
	color: #fff;
	border-bottom: 2px solid #fff;
	width: 200px;
}
.index_pb .page_nav a::after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

/* contact_area */
.contact_area.area {
	padding: 90px 20px 120px;
	background: #eff4f3;
}
.contact_area .btn01 a {
	background: var(--color02);
	margin: 0 auto;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.index_area01 .txt_img_box .img {
		text-align: right;
	}
	.index_area01 .txt_img_box .img img {
		width: 90%;
	}
}
@media screen and (max-width:768px) {
	/* visual */
	.index_visual_slider {
		height: 300px;
	}
	.index_visual_slider li {
		height: 300px
	}
	.index_visual_slider li:first-child {
		background: url(../img/index/visual01.png)no-repeat center/cover;
	}
	.index_visual_slider li:nth-child(2) {
		background: url(../img/index/visual02.png)no-repeat center/cover;
	}
	.index_visual_slider li:last-child {
		background: url(../img/index/visual03.png)no-repeat center/cover;
	}
	.index_visual_slider li img {
		opacity: 0;
	}
	.index_visual_txt {
		gap: 10px;
		left: 5%;
		top: 10%;
	}
	.index_visual_txt .txt {
		margin: 0;
		/*padding: 10px 5px 3px 5px;*/
		font-size: 1.5rem;
		padding: 10px 10px 10px 20px;
	}

	/* index_area01 */
	.index_area01.area {
		padding: 30px 20px 0;
	}
	.index_area01 .txt_img_box {
		flex-flow: column;
		align-items: center;
		justify-content: center;
		margin-bottom: 60px;
		text-align: center;
	}
	.index_area01 .txt_img_box dt {
		font-size: 2rem;
		margin-bottom: 30px;
	}
	.index_area01 .txt_img_box dd {
		font-size: 1.6rem;
	}
	.index_area01 .txt_img_box .img {
		width: 80%;
		margin: 0 auto;
		margin-top: 30px;
	}
	.mid_tate_txt {
		gap: 10px;
	}
	.mid_tate_txt .txt {
		padding: 10px 5px 3px 5px;
		font-size: 1.8rem;
	}

	/* index_area02 */
	.index_area02 {
		margin-top: -40px;
	}

	/* index_area03 */

	/* index_area04 */
	.index_area04 {
		min-height: 400px;
	}
	.index_area04 .txt_box {
		min-width: 300px;
		padding: 70px 20px;
		bottom: -130px;
	}
	.index_area04 .txt_box dt {
		font-size: 2.3rem;
		margin-bottom: 30px;
	}
	.index_area04 .txt_box dd {
		font-size: 1.5rem;
	}

	/* index_area05 */
	.index_area05.area {
		padding: 180px 20px 60px;
	}
	.index_area05 .list_img {
		gap: 30px;
	}
	.index_area05 .page_nav {
		margin-top: 40px;
	}

	/* index_news */
	.list_news {
		margin: 0 auto 50px;
	}
	.list_news a {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
	}
	.list_news li:not(:last-child) {
		margin-bottom: 20px;
	}
	.list_news dl {
		margin-bottom: 10px;
	}
	.list_news .tag {
		font-size: 1.4rem;
		width: 120px;
		margin-right: 0;
	}
	.list_news .ttl {
		font-size: 1.4rem;
	}

	/* index_pb */
	.index_pb .top_txt {
		margin-bottom: 50px;
		font-size: 2.4rem;
	}

	/* contact_area */
	.contact_area.area {
		padding: 40px 20px 60px;
	}
}


/* lower common
-------------------------------------------------------*/
.lower_visual {
	text-align: center;
	color: #fff;
	padding: 150px 20px;
	font-family: "Shippori Mincho", serif;
}
.lower_visual_ttl {
	font-size: 4rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	margin-bottom: 50px;
	font-family: "Shippori Mincho", serif;
	text-align: center;
}
.lower_visual_ttl span {
	display: block;
	font-size: 1.8rem;
}
.lower_visual_txt {
	font-size: 2rem;
	line-height: 2;
	letter-spacing: 0.2em;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.lower_visual {
		padding: 50px 20px;
	}
	.lower_visual_ttl {
		font-size: 2.8rem;
		margin-bottom: 30px;
	}
	.lower_visual_ttl span {
		font-size: 1.4rem;
	}
	.lower_visual_txt {
		font-size: 1.5rem;
		line-height: 1.8;
	}
}

/* philosophy
-------------------------------------------------------*/
#philosophy .lower_visual {
	background: url(../img/about/philosophy/visual.png)no-repeat center/cover;
}
.philosophy_area01 {
	position: relative;
}
.philosophy_area01::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 30%;
	background: url(../img/about/philosophy/mid_img.png)no-repeat center/cover;
	left: 0;
	bottom: 0;
	z-index: 1;
}
.philosophy_area01.area {
	padding: 160px 20px 250px;
}
.philosophy_area01 .txt {
	max-width: 800px;
	background: rgba(255,255,255,0.8);
	text-align: center;
	font-size: 1.8rem;
	margin: 0 auto;
	padding: 80px 20px;
	position: relative;
	z-index: 5;
}
.philosophy_area02 .philosophy_box {
	padding: 100px 0;
	max-width: 800px;
	margin: 0 auto;
	position: relative;
}
.philosophy_area02 .philosophy_box::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: calc(50% - 50vw); 
	width: 40vw;
	background: url(../img/about/philosophy/btm_img.png) no-repeat center / cover;
	z-index: -1;
}
.philosophy_area02 .philosophy_box dl {
	display: grid;
	grid-template-columns: 300px 1fr;
	column-gap: 40px;
	align-items: start;
}
.philosophy_area02 .philosophy_box dl:not(:last-child) {
	margin-bottom: 80px;
}
.philosophy_area02 .philosophy_box dt {
	display: flex;
	align-items: center;
	width: 300px;
	font-size: 3rem;
	font-weight: 500;
	color: #fff;
	letter-spacing: 0.22em;
}
.philosophy_area02 .philosophy_box dt::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--color02);
	margin-left: 20px;
}
.philosophy_area02 .philosophy_box dd {
	font-size: 1.8rem;
	font-weight: 500;
	padding-top: 10px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.philosophy_area02 .philosophy_box {
		padding: 100px 3%;
	}
	.philosophy_area02 .philosophy_box dl {
		grid-template-columns: 350px 1fr;
	}
	.philosophy_area02 .philosophy_box dt {
		width: 350px;
	}
	.philosophy_area02 .philosophy_box dd {
		font-size: 1.6rem;
	}
}
@media screen and (max-width:768px) {
	.philosophy_area01.area {
		padding: 80px 20px 100px;
	}
	.philosophy_area01 .txt {
		font-size: 1.4rem;
	}
	.philosophy_area02 .philosophy_box {
		padding: 40px 0;
		max-width: 800px;
		margin: 0 auto;
		position: relative;
	}
	.philosophy_area02 .philosophy_box::before {
		left: calc(50% - 50vw); 
		width: 38vw;
		background: url(../img/about/philosophy/btm_img.png) no-repeat center / cover;
	}
	.philosophy_area02 .philosophy_box dl {
		grid-template-columns: 150px 1fr;
		column-gap: 20px;
	}
	.philosophy_area02 .philosophy_box dl:not(:last-child) {
		margin-bottom: 40px;
	}
	.philosophy_area02 .philosophy_box dt {
		width: 150px;
		font-size: 2rem;
	}
	.philosophy_area02 .philosophy_box dt::after {
		margin-left: 15px;
	}
	.philosophy_area02 .philosophy_box dd {
		font-size: 1.4rem;
		padding-top: 5px;
	}
}


/* quality
-------------------------------------------------------*/
#quality .lower_visual {
	background: url(../img/about/quality/visual.png)no-repeat center/cover;
}
.list_kodawari {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 30px;
}
.list_kodawari li {
	text-align: center;
	width: calc((100% - 100px)/3);
}
.list_kodawari li .img {
	margin-bottom: 30px;
}
.list_kodawari li .img img {
	max-width: 276px;
}
.list_kodawari li .ttl {
	font-size: 2rem;
	font-weight: 500;
	margin-bottom: 20px;
	color: var(--color03);
}
.list_kodawari li .txt {
	font-size: 1.6rem;
	letter-spacing: -1px;
}
#quality .img_txt_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
#quality .img_txt_box .img {
	width: 50%;
	text-align: center;
}
#quality .img_txt_box .img img {
	max-width: 451px;
}
.list_kodawari_mid {
	width: 50%;
	padding: 0 7%;
}
.list_kodawari_mid li:not(:last-child) {
	margin-bottom: 100px;
}
.list_kodawari_mid li .ttl {
	font-size: 2.3rem;
	font-weight: 500;
	margin-bottom: 30px;
}
.list_kodawari_mid li .txt {
	font-size: 1.8rem;
}
.btm_catch .txt {
	text-align: center;
	color: #fff;
	font-size: 2.6rem;
	font-weight: 500;
	font-family: "Shippori Mincho", serif;
	line-height: 2;
}
#quality .btm_catch {
	background: url(../img/about/quality/bg_btm.png)no-repeat center/cover;
}
.quality_area02.area {
	padding: 130px 20px 0;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.list_kodawari {
		flex-flow: row wrap;
		justify-content: center;
		gap: 20px;
	}
	.list_kodawari li {
		width: calc((100% - 20px)/2);
	}
	.list_kodawari li .img {
		margin-bottom: 20px;
	}
	.list_kodawari li .img img {
		max-width: 80%;
	}
	.list_kodawari li .ttl {
		font-size: 1.6rem;
		margin-bottom: 15px;
	}
	.list_kodawari li .txt {
		font-size: 1.4rem;
	}
	#quality .img_txt_box {
		display: flex;
		flex-flow: row nowrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	#quality .img_txt_box .img {
		width: 40%;
		text-align: center;
		margin-right: 20px;
	}
	#quality .img_txt_box ul {
		width: 60%;
		padding: 0;
	}
	#quality .img_txt_box ul li:not(:last-child) {
		margin-bottom: 40px;
	}
	#quality .img_txt_box ul li .ttl {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
	#quality .img_txt_box ul li .txt {
		font-size: 1.4rem;
	}
	#quality .quality_area03 .img_txt_box .img {
		margin-right: 0;
		margin-left: 20px;
	}
	.btm_catch .txt {
		font-size: 2rem;
	}
	.quality_area02.area {
		padding: 60px 20px 0;
	}
}


/* tokyo_castella_park
-------------------------------------------------------*/
#tokyo_castella_park .lower_visual {
	background: url(../img/tokyo_castella_park/visual.png)no-repeat center/cover;
}
.tcp_area01 {
	text-align: center;
}
.tcp_area01 .txt {
	font-size: 2rem;
	font-weight: 500;
	color: var(--color03);
	line-height: 2;
	margin-bottom: 50px;
}
.tcp_area01 .img img {
	max-width: 702px;
}
.tcp_area02.area {
	padding: 130px 20px 300px;
}
.list_tour li {
	position: relative;
}
.list_tour li:first-child {
	margin-bottom: 150px;
}
.list_tour li:nth-child(2) {
	margin-bottom: 220px;
}
.list_tour li:nth-child(3) {
	margin-bottom: 250px;
}
.list_tour li .num {
	text-align: center;
	font-size: 3.2rem;
	margin-bottom: 30px;
	position: relative;
	padding-bottom: 10px;
}
.list_tour li .num::after {
	position: absolute;
	display: block;
	content: "";
	width: 30px;
	height: 1px;
	background: var(--color02);
	bottom: 0;
	right: 50%;
	transform: translate(50%,0);
}
.list_tour li .txt_img_box {
	position: relative;
}
.list_tour li .txt_img_box .img {
	position: absolute;
	z-index: 5;
}
.list_tour li:first-child .txt_img_box .img {
	top: -30px;
	left: 0;
	width: 45%;
}
.list_tour li:nth-child(2) .txt_img_box .img {
	top: -30px;
	right: 0;
	width: 45%;
}
.list_tour li:nth-child(3) .txt_img_box .img {
	left: 0;
	top: 25%;
	width: 40%;
}
.list_tour li:last-child .txt_img_box .img {
	right: 0;
	top: 30%;
	width: 40%;
}
.list_tour li .txt_img_box .txt {
	background: #fff;
	width: 65%;
	padding: 60px 2% 60px 15%;
	margin: 0 0 0 auto;
	color: var(--color01);
	font-size: 1.8rem;
	line-height: 2;
}
.list_tour li:nth-child(2n) .txt_img_box .txt {
	padding: 60px 13% 60px 5%;
	margin: 0 auto 0 0;
}
.list_tour li:nth-child(3) .txt_img_box .txt {
	padding: 60px 2% 60px 15%;
	width: 70%;
}
.list_tour li .com {
	font-size: 1.8rem;
	font-weight: 500;
	position: absolute;
}
.list_tour li:nth-child(2) .com {
	right: 27%;
	bottom: -20%;
}
.list_tour li:nth-child(3) .com {
	right: 10%;
	bottom: -20%;
}
#tokyo_castella_park .btm_catch {
	background: url(../img/tokyo_castella_park/bg_btm.png)no-repeat center/cover;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.list_tour li:nth-child(2) .com {
		right: 0;
	}
	.list_tour li:nth-child(3) .txt_img_box .img {
		top: 50%;
	}
	.list_tour li:nth-child(3) .txt_img_box .txt {
		padding: 60px 5% 15% 15%;
		width: 70%;
	}
	.list_tour li:last-child .txt_img_box .img {
		top: 70%;
	}
}
@media screen and (max-width:768px) {
	.tcp_area01 .txt {
		font-size: 1.5rem;
	}
	.tcp_area02.area {
		padding: 60px 20px;
	}
	.list_tour li:first-child {
		margin-bottom: 60px;
	}
	.list_tour li:nth-child(2) {
		margin-bottom: 60px;
	}
	.list_tour li:nth-child(3) {
		margin-bottom: 60px;
	}
	.list_tour li .num {
		font-size: 3rem;
		margin-bottom: 20px;
	}
	.list_tour li .txt_img_box .img {
		position: inherit;
	}
	.list_tour li .txt_img_box .img img {
		max-width: 80%;
	}
	.list_tour li:first-child .txt_img_box .img {
		top: inherit;
		width: 100%;
	}
	.list_tour li:nth-child(2) .txt_img_box .img {
		top: inherit;
		width: 100%;
		text-align: right;
	}
	.list_tour li:nth-child(3) .txt_img_box .img {
		top: inherit;
		width: 100%;
	}
	.list_tour li:last-child .txt_img_box .img {
		top: inherit;
		width: 100%;
		text-align: right;
	}
	.list_tour li .txt_img_box .txt {
		width: 90%;
		padding: 50px 20px 40px;
		margin: -7% 0 0 auto;
		font-size: 1.4rem;
	}
	.list_tour li:nth-child(2n) .txt_img_box .txt {
		padding: 50px 20px 40px;
		margin: -10% auto 0 0;
	}
	.list_tour li:nth-child(3) .txt_img_box .txt {
		padding: 50px 20px;
		width: 90%;
	}
	.list_tour li .com {
		font-size: 1.3rem;
		position: inherit;
		margin-top: 20px;
		text-align: right;
	}
	.list_tour li:nth-child(2) .com {
		right: inherit;
		bottom: inherit;
	}
	.list_tour li:nth-child(3) .com {
		right: inherit;
		bottom: inherit;
	}
}


/* history
-------------------------------------------------------*/
#history .lower_visual {
	background: url(../img/about/history/visual.png)no-repeat center/cover;
}
.list_history li {
	position: relative;
}
.list_history li::after {
	position: absolute;
	display: block;
	content: "";
	width: 40vw;
	left: calc(50% - 50vw); 
	background: #fff;
	aspect-ratio: 1 / 1;
	top: 20%;
	z-index: 1;
}
.list_history li:nth-child(2n):after {
	left: inherit; 
	right:calc(50% - 50vw);
}
.list_history li:not(:last-child) {
	margin-bottom: 140px;
}
.list_history li .img {
	position: relative;
	z-index: 2;
}
.list_history .txt_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
	z-index: 2;
}
.list_history li:nth-child(odd) .txt_box {
	flex-flow: row-reverse;
}
.list_history .txt_box .ttl {
	width: 35%;
	display: flex;
	gap: 16px;
	align-items: flex-start;
	justify-content: center;
	position: absolute;
	left: 0;
	top: -5%;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}
.list_history .txt_box .ttl .ttl_in {
	margin: 0;
	padding: 20px 10px;
	background: var(--color04);
	writing-mode: vertical-rl;
	text-orientation: upright;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	color: #fff;
}
.list_history li:nth-child(2n) .txt_box .ttl {
	right: 0;
	left: inherit;
}
.list_history .txt_box .txt {
	width: 65%;
	padding-top: 80px;
	font-size: 1.8rem;
}
.list_history .txt_box .txt span {
	font-weight: 900;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.list_history li::after {
		width: 45vw;
	}
	.list_history li:not(:last-child) {
		margin-bottom: 60px;
	}
	.list_history .txt_box {
		flex-flow: column;
		align-items: flex-start;
		justify-content: flex-start;
		position: relative;
		z-index: 2;
	}
	.list_history .txt_box .ttl {
		justify-content: flex-start;
		width: 100%;
		gap: 10px;
		left: 5%;
		top: -50%;
	}
	.list_history .txt_box .ttl .ttl_in {
		padding: 15px 5px;
		font-size: 1.8rem;
	}
	.list_history li:nth-child(2n) .txt_box .ttl {
		justify-content: flex-end;
		right: 5%;
		left: inherit;
	}
	.list_history .txt_box .txt {
		width: 100%;
		padding-top: 60px;
		font-size: 1.4rem;
	}
	.list_history li:first-child .txt {
		padding-top: 30px;
	}
	.list_history li:nth-child(2) .txt {
		padding-top: 60px;
	}
	.list_history li:nth-child(3) .txt {
		padding-top: 50px;
	}
	.list_history li:last-child .ttl{
		top: -45%;
	}
}


/* award
-------------------------------------------------------*/
#award .lower_visual {
	background: url(../img/about/award/award_visual@2x.png)no-repeat center/cover;
}
.award_area01.area {
	padding: 130px 20px;
}
.award_lead {
	text-align: center;
	color: var(--color02);
	font-size: 2rem;
	font-weight: 500;
	line-height: 2.1;
	letter-spacing: 0.16em;
	margin-bottom: 100px;
}
.list_award li {
	background: #fff;
	text-align: center;
	padding: 70px 40px 80px;
}
.list_award li:not(:last-child) {
	margin-bottom: 20px;
}
.list_award .date {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 255px;
	background: var(--color02);
	color: #fff;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.2em;
	padding: 12px 30px;
	margin-bottom: 45px;
}
.list_award .ttl {
	color: var(--color03);
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1.7;
	letter-spacing: 0.12em;
	margin-bottom: 10px;
	white-space: nowrap;
}
.list_award .name {
	color: var(--color02);
	font-size: 2.3rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0.2em;
	margin-bottom: 45px;
}
.list_award .ttl + .img {
	margin-top: 50px;
}
.list_award .img img {
	max-width: 550px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.award_area01.area {
		padding: 60px 20px;
	}
	.award_lead {
		text-align: left;
		font-size: 1.5rem;
		line-height: 2;
		letter-spacing: 0.08em;
		margin-bottom: 50px;
	}
	.list_award li {
		padding: 35px 20px 40px;
	}
	.list_award li:not(:last-child) {
		margin-bottom: 15px;
	}
	.list_award .date {
		min-width: 0;
		font-size: 1.5rem;
		letter-spacing: 0.16em;
		padding: 9px 20px;
		margin-bottom: 25px;
	}
	.list_award .ttl {
		font-size: 2rem;
		line-height: 1.7;
		letter-spacing: 0.08em;
		margin-bottom: 5px;
		white-space: normal;
	}
	.list_award .name {
		font-size: 1.7rem;
		letter-spacing: 0.08em;
		margin-bottom: 25px;
	}
	.list_award .ttl + .img {
		margin-top: 30px;
	}
	.list_award .img img {
		max-width: 100%;
	}
}

/* pb
-------------------------------------------------------*/
#pb .lower_visual {
	background: url(../img/pb/visual.png)no-repeat center/cover;
}
#pb .lower_visual .btn01 a {
	margin: 20px auto 10px;
}
#pb .lower_visual .caution {
	font-family: "Zen Kaku Gothic New", sans-serif;
}
.pb_area01.area {
	padding: 130px 20px 0;
}
.pb_area01 .txt {
	text-align: center;
	color: var(--color03);
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 2;
}
.pb_area02.area {
	padding: 130px 0 0;
}
.pb_area02 .txt {
	text-align: center;
	padding: 0 20px;
	font-size: 1.8rem;
	margin-top: 50px;
	line-height: 2;
	letter-spacing: -0.5px;
}
.pb_area03.area {
	padding: 130px 20px 0;
}
.pb_area03 .txt_img_box .img {
	width: 40%;
}
.pb_area03 .txt_img_box {
	display: flex;
	flex-flow: row nowrap;
	align-items: center;
	justify-content: space-between;
}
.pb_area03 .list_kodawari_mid {
	color: var(--color01);
	width: 60%;
	padding: 0 0 0 7%;
}
.pb_area03 .list_kodawari_mid li .ttl {
	font-size: 2.2rem;
	font-weight: 700;
	margin-bottom: 15px;
}
.pb_area03 .list_kodawari_mid li .txt {
	font-size: 1.6rem;
	line-height: 2;
}
.pb_area04 .img {
	text-align: center;
	margin-bottom: 60px;
}
.pb_area04 .img img {
	max-width: 700px;
}
.list_ex {
	text-align: center;
	color: var(--color01);
}
.list_ex li:not(:last-child) {
	margin-bottom: 70px;
}
.list_ex .ttl {
	font-size: 2.2rem;
	font-weight: 700;
	margin-bottom: 10px;
}
.list_ex .txt {
	font-size: 1.8rem;
}
.pb_area05 .ttl02 {
	color: var(--color03);
}
.pb_area05 .top_txt {
	text-align: center;
	color: var(--color01);
	font-size: 1.8rem;
	margin-bottom: 40px;
}
.list_flow {
	max-width: 650px;
	margin: 0 auto;
	position: relative;
}
.list_flow::before {
	content: "";
	position: absolute;
	top: 20px;
	left: 26px; /* ← 線の位置 */
	width: 2px;
	height: 90%;
	background: repeating-linear-gradient(
		to bottom,
		#ccc4bf 0px,
		#ccc4bf 2px,
		transparent 2px,
		transparent 6px
	);
	z-index: 5;
}
.list_flow li {
	background: #fff;
	border-radius: 100px;
	padding: 10px;
	text-align: center;
	position: relative;
	font-size: 2rem;
}
.list_flow li:last-child {
	background: #464e4d;
	color: #fff;
}
.list_flow li:not(:last-child) {
	margin-bottom: 20px;
}
.list_flow li .num {
	position: absolute;
	width: 34px;
	min-width: 34px;
	height: 34px;
	font-size: 1.9rem;
	font-weight: 700;
	border: 1px solid var(--color02);
	border-radius: 100%;
	left: 10px;
	top: 9px;
	background: #fff;
	z-index: 6;
}
.list_flow li:last-child .num {
	color: var(--color02);
}
.pb_area06 .img {
	text-align: center;
	margin-bottom: 50px;
}
.pb_area06 .img img {
	max-width: 700px;
}
.pb_area06 .txt {
	text-align: center;
	color: var(--color01);
	font-size: 1.8rem;
	line-height: 2.2;
	margin-bottom: 60px;
}
.pb_area07 .ttl02 {
	color: var(--color03);
}
.list_faq {
	max-width: 750px;
	margin: 0 auto;
	color: var(--color01);
}
.list_faq li:not(:last-child) {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px dotted var(--color01);
}
.list_faq .ttl {
	font-size: 1.9rem;
	font-weight: 500;
	margin-bottom: 10px;
	display: flex;
	flex-flow: row nowrap;
	padding: 0 10px;
}
.list_faq .ttl span {
	font-size: 1.8rem;
	border: 1px solid var(--color01);
	width: inherit;
	width: 30px;
	min-width: 30px;
	height: 30px;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 10px;
}
.list_faq .txt {
	font-size: 1.8rem;
	padding: 0 10px;
}
.pb_area07 .caution {
	text-align: center;
	font-size: 1.8rem;
	margin-top: 15px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.pb_area01.area {
		padding: 60px 20px 0;
	}
	.pb_area01 .txt {
		font-size: 1.6rem;
	}
	.pb_area02.area {
		padding: 60px 0 0;
	}
	.pb_area02 .txt {
		font-size: 1.4rem;
		margin-top: 40px;
	}
	.pb_area03.area {
		padding: 60px 20px 0;
	}
	.pb_area03 .txt_img_box .img {
		width: 100%;
		margin-right: 0px;
		margin-bottom: 20px;
	}
	.pb_area03 .txt_img_box {
		display: block;
	}
	.pb_area03 .list_kodawari_mid {
		width: 100%;
		padding: 0;
	}
	.pb_area03 .list_kodawari_mid li:not(:last-child) {
		margin-bottom: 40px;
	}
	.pb_area03 .list_kodawari_mid li .ttl {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
	.pb_area03 .list_kodawari_mid li .txt {
		font-size: 1.4rem;
	}
	.pb_area04 .img {
		margin-bottom: 40px;
	}
	.list_ex li:not(:last-child) {
		margin-bottom: 40px;
	}
	.list_ex .ttl {
		font-size: 1.8rem;
	}
	.list_ex .txt {
		font-size: 1.4rem;
	}
	.pb_area05 .top_txt {
		font-size: 1.6rem;
		margin-bottom: 40px;
	}
	.list_flow li {
		background: #fff;
		border-radius: 100px;
		padding: 12px 10px;
		text-align: center;
		position: relative;
		font-size: 1.25rem;
	}
	.list_flow li .num {
		top: 4px;
	}
	.pb_area06 .img {
		margin-bottom: 40px;
	}
	.pb_area06 .txt {
		font-size: 1.6rem;
		margin-bottom: 40px;
	}
	.list_faq .ttl {
		font-size: 1.6rem;
	}
	.list_faq .txt {
		font-size: 1.4rem;
	}
	.pb_area07 .caution {
		font-size: 1.4rem;
	}
}


/* company
-------------------------------------------------------*/
#shopinfo .lower_visual {
	color: var(--color02);
	padding: 130px 20px;
}
#shopinfo .lower_visual_ttl {
	margin-bottom: 0;
	color: var(--color02);
	font-size: 4rem;
	letter-spacing: 0.22em;
}
#shopinfo .lower_visual_ttl span {
	color: var(--color02);
	font-size: 1.8rem;
	margin-bottom: 10px;
}
.shopinfo_area01.area {
	padding: 130px 0;
}
.shopinfo_area01 .inner {
	max-width: 100%;
}
.shop_block:not(:last-child) {
	margin-bottom: 130px;
}
.shop_txt {
	max-width: 1000px;
	margin: 0 auto 100px;
	text-align: center;
	color: var(--color03);
	padding: 0 20px;
}
.shop_name {
	color: var(--color02);
	font-size: 3rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	margin-bottom: 25px;
}
.shop_catch {
	color: var(--color04);
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	margin-bottom: 60px;
}
.shop_info {
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: 0.12em;
	margin-bottom: 10px;
}
.shop_note {
	font-size: 1.5rem;
	line-height: 2;
	margin-bottom: 30px;
}
.shop_tel {
	font-size: 2rem;
	letter-spacing: 0.18em;
	margin-bottom:30px;
}
.shop_txt .btn01 a {
	margin-top: 0;
	background: var(--color04);
	max-width: 380px;
}
.shop_map {
	display: grid;
	grid-template-columns: 1fr 1fr;
}
.shop_map .shop_map_map,
.shop_map .map {
	aspect-ratio: 1595 / 1063;
}

.shop_map .map {
	display: flex;
	align-items: center;
	justify-content: center;
}


.shop_map .map iframe {
	width: 100%;
	height: 100%;

}

@media screen and (max-width:768px) {
	#shopinfo .lower_visual {
		padding: 70px 20px;
	}
	#shopinfo .lower_visual_ttl {
		font-size: 2.5rem;
	}
	#shopinfo .lower_visual_ttl span {
		font-size: 1.4rem;
	}
	.shopinfo_area01.area {
		padding: 60px 0;
	}
	.shop_block:not(:last-child) {
		margin-bottom: 70px;
	}
	.shop_txt {
		margin-bottom: 50px;
	}
	.shop_name {
		font-size: 2.2rem;
		margin-bottom: 20px;
	}
	.shop_catch {
		font-size: 1.4rem;
		line-height: 1.8;
		margin-bottom: 35px;
	}
	.shop_info {
		font-size: 1.4rem;
		letter-spacing: 0.06em;
	}
	.shop_note {
		font-size: 1.2rem;
		margin-bottom: 35px;
		text-align: left;
	}
	.shop_tel {
		font-size: 1.6rem;
		margin-bottom: 35px;
	}
	.shop_map {
		grid-template-columns: 1fr;
	}
	.shop_map .map {
		font-size: 2rem;
	}
}

#company .lower_visual {
	padding: 120px 20px 0;
	color: var(--color02);
}
.com_box dl {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: flex-start;
	border-bottom: 2px solid #ececed;
	padding-bottom: 20px;
	margin-bottom: 20px;
	position: relative;
}
.com_box dl dt {
	font-size: 1.8rem;
	padding: 0 0 0 20px;
	width: 200px;
	min-width: 200px;
	position: relative;
}
.com_box dl::after {
	position: absolute;
	display: block;
	content: "";
	width: 200px;
	height: 1px;
	background: var(--color02);
	left: 0;
	bottom: -1px;
}
.com_box dl dd {
	color: var(--color01);
	padding-left: 20px;
	line-height: 2;
}
.com_box dl dd .col {
	color: var(--color04);
}
.com_box dl dd .bold {
	font-weight: 600;
}
.company_area03 {
	position: relative;
}
.company_area03 .com_box dl {
	border-bottom: 2px solid #fff;
}
.company_area03 .com_box dd {
	position: relative;
	z-index: 5;
	padding-right: 5%;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	.company_area03 .com_box dd {
	padding-right: 25%;
}
	
}
.company_area03 .img {
	position: absolute;
	width: 23%;
	right: 0;
	top: 9%;
	z-index: 1;
}
.company_area03 .img {
	max-width: 290px;
}
.company_area04 {
	font-size: 1.8rem;
}
.company_area04 .ttl {
	margin-bottom: 10px;
}
.company_area04 .txt {
	color: var(--color01);
}
.company_area04.area {
	padding: 80px 20px 130px;
}
.company_area04 .txt span {
	color: var(--color04);
	margin-right: 5px;
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	#company .lower_visual {
		padding: 60px 20px 0;
	}
	.com_box dl {
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	.com_box dl dt {
		font-size: 1.5rem;
		padding: 0 0 0 10px;
		width: 100px;
		min-width: 100px;
	}
	.com_box dl::after {
		width: 100px;
		height: 1px;
		background: var(--color02);
		left: 0;
		bottom: -1px;
	}
	.com_box dl dd {
		padding-left: 15px;
	}
	.company_area03 .com_box {
		position: relative;
		z-index: 5;
	}
	.company_area03 .com_box dd {
		padding-right: 0;
	}
	.company_area03 .img {
		display: none;
		width: 25%;
		right: 0;
		top: 5%;
		opacity: 0.4;
	}
	.company_area04 {
		font-size: 1.5rem;
	}
	.company_area04.area {
		padding: 40px 20px 60px;
	}
}


/* news
-------------------------------------------------------*/
.news_detail_area.area {
	padding: 150px 20px 130px;
}
.news_detail_area .inner {
	max-width: 900px;
}
.news_detail_head {
	margin-bottom: 80px;
}
.news_detail_head dl {
	display: flex;
	align-items: center;
	margin-bottom: 45px;
}
.news_detail_head .tag {
	background: var(--color02);
	color: #fff;
	font-size: 2rem;
	padding: 6px 25px;
	margin-right: 25px;
}
.news_detail_head .date {
	color: var(--color01);
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.08em;
}
.news_detail_head .ttl {
	color: var(--color02);
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.08em;
}
.news_detail_body {
	color: var(--color01);
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2.2;
}
.news_detail_body p:not(:last-child) {
	margin-bottom: 20px;
}
.news_detail_body .img {
	margin: 90px 0;
}
.news_detail_nav {
	display: flex;
	justify-content: center;
	gap: 80px;
	margin-top: 110px;
}
.news_detail_nav li {
	width: 260px;
}
.news_detail_nav a {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color03);
	font-size: 2rem;
	font-weight: 700;
	border-bottom: 2px solid var(--color01);
	padding-bottom: 15px;
}
.news_detail_nav span {
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid var(--color01);
	border-right: 2px solid var(--color01);
}
.news_detail_nav li:first-child span {
	transform: rotate(-135deg);
	margin-right: 25px;
}
.news_detail_nav li:last-child span {
	transform: rotate(45deg);
	margin-left: 25px;
}
.news_related.area {
	padding: 130px 20px;
}
.news_related .list_news {
	margin-bottom: 0;
}
.news_area01 .lower_visual_ttl {
	margin-bottom: 90px;
}
.lower_visual.event {
	background: url(../img/news/visual.png)no-repeat center/cover;
}
.lower_visual.event .lower_visual_ttl {
	margin-bottom: 0;
}
.news_area01 .list_news li:not(:last-child) {
	margin-bottom: 60px;
}
.pager {
	display: flex;
	flex-flow: row nowrap;
	align-items: flex-start;
	justify-content: center;
}
.pager li {
	font-family: "Shippori Mincho", serif;
	margin: 0 7px;
}
.pager li:first-child, .pager li:last-child {
	margin: 0 20px;
}
.pager li a {
	font-size: 1.8rem;
}
.pager li.num a {
	width: 33px;
	min-width: 33px;
	height: 33px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #beb4ae;
	color: #fff;
}
.pager li.num.on a {
	background: #fff;
	border: 1px solid var(--color02);
	color: var(--color02);
}
.event_area01.area {
	padding: 60px 20px 120px;
}
.event_area01 .top_txt {
	color: var(--color03);
	font-size: 1.9rem;
	font-weight: 500;
	margin-bottom: 70px;
	line-height: 2;
}
.event_area01 .sche_ttl {
	font-size: 3.6rem;
	font-weight: 500;
	position: relative;
	margin-bottom: 40px;
}
.event_area01 .sche_ttl::after {
	position: absolute;
	display: block;
	content: "";
	background: var(--color02);
	width: 100%;
	height: 1px;
	top: 50%;
	left: 0;
	transform: translate(0,50%);
}
.event_area01 .sche_ttl span {
	background: #fff;
	padding-right: 20px;
	position: relative;
	z-index: 2;
}
.list_schedule li {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	font-weight: 500;
}
.list_schedule li:not(:last-child) {
	margin-bottom: 15px;
}
.list_schedule li .date {
	width: 200px;
	min-width: 200px;
	background: var(--color02);
	color: #fff;
	text-align: center;
	padding: 20px 0;
	font-size: 1.8rem;
	box-sizing: border-box;
	margin-right: 30px;
}
.list_schedule li .ttl {
	font-size: 1.8rem;
	color: var(--color03);
}
@media screen and (min-width:768px) and ( max-width:1080px) {
	
}
@media screen and (max-width:768px) {
	.news_detail_area.area {
		padding: 70px 20px 60px;
	}
	.news_detail_head {
		margin-bottom: 50px;
	}
	.news_detail_head dl {
		margin-bottom: 30px;
	}
	.news_detail_head .tag {
		font-size: 1.5rem;
		padding: 4px 15px;
		margin-right: 15px;
	}
	.news_detail_head .date {
		font-size: 1.6rem;
	}
	.news_detail_head .ttl {
		font-size: 2.2rem;
		line-height: 1.7;
	}
	.news_detail_body {
		font-size: 1.4rem;
		line-height: 2;
	}
	.news_detail_body .img {
		margin: 50px 0;
	}
	.news_detail_nav {
		gap: 25px;
		margin-top: 60px;
	}
	.news_detail_nav li {
		width: calc((100% - 25px)/2);
	}
	.news_detail_nav a {
		font-size: 1.5rem;
		padding-bottom: 10px;
	}
	.news_detail_nav li:first-child span {
		margin-right: 12px;
	}
	.news_detail_nav li:last-child span {
		margin-left: 12px;
	}
	.news_related.area {
		padding: 60px 20px;
	}
	.news_area01 .lower_visual_ttl {
		margin-bottom: 50px;
	}
	.news_area01 .list_news li:not(:last-child) {
		margin-bottom: 30px;
	}
	.pager li {
		margin: 0 5px;
	}
	.pager li:first-child, .pager li:last-child {
		margin: 0 15px;
	}
	.pager li a {
		font-size: 1.6rem;
	}
	.pager li.num a {
		width: 30px;
		min-width: 30px;
		height: 30px;
	}
	.event_area01.area {
		padding: 40px 20px 60px;
	}
	.event_area01 .top_txt {
		font-size: 1.6rem;
		margin-bottom: 40px;
	}
	.event_area01 .sche_ttl {
		font-size: 2.2rem;
		margin-bottom: 20px;
	}
	.event_area01 .sche_ttl span {
		padding-right: 15px;
	}
	.list_schedule li .date {
		width: 100px;
		min-width: 100px;
		padding: 5px 0;
		font-size: 1.4rem;
		margin-right: 15px;
	}
	.list_schedule li .ttl {
		font-size: 1.4rem;
	}
}

/* root
-------------------------------------------------------*/
#contact .contact_area01.area {
	padding: 150px 20px 130px;
}
#contact .lower_visual_ttl {
	color: var(--color02);
	margin-bottom: 30px;
}
#contact .lower_visual_ttl span {
	display: block;
	font-size: 1.8rem;
	margin-bottom: 10px;
}
.contact_lead {
	text-align: center;
	color: var(--color02);
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.14em;
	margin-bottom: 120px;
}
.contact_list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px 30px;
}
.contact_list li {
	background: #fff;
	border: 1px solid var(--color04);
	text-align: center;
	padding: 30px;
	color: var(--color03);
	min-height: 300px;

	display: flex;
	flex-direction: column;
}
.contact_list .ttl {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 2px dotted #d6c9bf;
}
.contact_list .tel_box dl {
	display: grid;
	grid-template-columns: 180px 1fr;
	align-items: baseline;
	text-align: left;
}
.contact_list .tel_box dt {
	font-size: 1.5rem;
	font-weight: 700;
}
.contact_list .tel_box dd,
.contact_list .mail,
.contact_list .fax {
	color: var(--color04);
	font-size: 3rem;
	line-height: 1.4;
}
.contact_list .note {
	margin-top: 30px;
	font-size: 1.4rem;
	color: var(--color01);
}
.contact_list .address {
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.9;
}
.one_box {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}

.one_box a {
	color: var(--color04);
}

@media screen and (max-width:768px) {
	#contact .contact_area01.area {
		padding: 70px 20px 60px;
	}
	#contact .lower_visual_ttl {
		margin-bottom: 50px;
	}
	#contact .lower_visual_ttl span {
		font-size: 1.4rem;
	}
	.contact_lead {
		font-size: 1.7rem;
		text-align: left;
		margin-bottom: 50px;
	}
	.contact_list {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	.contact_list li {
		padding: 15px;
		min-height: 200px;
	}
	.contact_list .ttl {
		font-size: 1.8rem;
		margin-bottom: 10px;
		padding-bottom: 20px;
	}
	.contact_list .tel_box dl {
		grid-template-columns: 110px 1fr;
	}
	.contact_list .tel_box dt {
		font-size: 1.4rem;
	}
	.contact_list .tel_box dd,
	.contact_list .mail,
	.contact_list .fax {
		font-size: 2rem;
		letter-spacing: 0.04em;
	}
	.contact_list .note {
		margin-top: 30px;
		font-size: 1.25rem;
		letter-spacing: 0.02em;
	}
	.contact_list .address {
		font-size: 1.6rem;
	}
}

/* root
-------------------------------------------------------*/
:root {
  --color01: #5e524a;
  --color02: #895526;
  --color03: #40220f;
  --color04: #b98d2e;
}

/* PRIVACY POLICY
-------------------------------------------------------*/
#privacy .lower_visual_ttl {
	color: var(--color02);
	margin-bottom: 0;
}
.privacy_area01.area {
	padding: 120px 20px 90px;
}
.privacy_area02.area {
	padding: 120px 20px 130px;
}
.privacy_policy {
	max-width: 900px;
	margin: 0 auto;
	color: var(--color01);
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 2.1;
	letter-spacing: 0.06em;
}
.privacy_policy .lead {
	color: var(--color03);
	font-size: 1.9rem;
	line-height: 2.1;
	margin-bottom: 70px;
}
.privacy_section:not(:last-child) {
	margin-bottom: 55px;
}
.privacy_section h3 {
	color: var(--color02);
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.7;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid #d8c8b8;
}
.privacy_section p:not(:last-child),
.privacy_section ul:not(:last-child) {
	margin-bottom: 18px;
}
.privacy_section ul {
	padding-left: 1.2em;
}
.privacy_section li {
	list-style: disc;
	padding-left: 0.3em;
}
.privacy_section li:not(:last-child) {
	margin-bottom: 8px;
}
.privacy_contact {
	background: #eff4f3;
	padding: 35px 40px;
	margin-top: 25px;
}
.privacy_contact .company {
	color: var(--color03);
	font-size: 1.9rem;
	font-weight: 700;
	margin-bottom: 18px;
}
.privacy_contact dl {
	display: grid;
	grid-template-columns: 110px 1fr;
	gap: 10px 25px;
}
.privacy_contact dt {
	color: var(--color02);
	font-weight: 700;
}
.privacy_contact a {
	color: var(--color04);
	text-decoration: underline;
	text-underline-offset: 4px;
}
@media screen and (max-width:768px) {
	.privacy_area01.area {
		padding: 70px 20px 55px;
	}
	.privacy_area02.area {
		padding: 65px 20px 70px;
	}
	.privacy_policy {
		font-size: 1.4rem;
		line-height: 2;
		letter-spacing: 0.04em;
	}
	.privacy_policy .lead {
		font-size: 1.5rem;
		line-height: 2;
		margin-bottom: 45px;
	}
	.privacy_section:not(:last-child) {
		margin-bottom: 38px;
	}
	.privacy_section h3 {
		font-size: 1.8rem;
		line-height: 1.6;
		letter-spacing: 0.06em;
		margin-bottom: 16px;
		padding-bottom: 10px;
	}
	.privacy_contact {
		padding: 24px 20px;
	}
	.privacy_contact .company {
		font-size: 1.6rem;
	}
	.privacy_contact dl {
		display: block;
	}
	.privacy_contact dt {
		margin-bottom: 2px;
	}
	.privacy_contact dd:not(:last-child) {
		margin-bottom: 12px;
	}
}
