@charset "UTF-8";

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body{
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
	color: #3b3b3b;
	background: #FAE9EA;
}
a {
	color: #3b3b3b;
	text-decoration: none;
}
a:hover {
	color: #3b3b3b;
	text-decoration: none;
}

/* Heading */
h1,h2,h3,h4,h5{
	font-weight: 700;
}
h1{
	font-family: "Zen Old Mincho", serif;
	font-style: normal;
}
h2,h3{
	font-size: 18px;
}

/* layout */
.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl{
	--bs-gutter-x: 40px;
}
.row{
	--bs-gutter-x: 40px;
}
.row img{
	width: 100%;
	height: auto;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header{
	/*background: #FAE9EA;*/
	height: 90px;
	transition: all 0.5s;
	z-index: 20;
}
#header.scrolled{
  /*box-shadow: 0 0 5px rgba(0,0,0,.1);*/
}
#header .logo{
	width: 50px;
	margin-left: calc(50% - 25px);
	z-index: 21;
}
.google-translate-widget{
	position: absolute;
	top: 5px;
	left: 5px;
}
.goog-te-gadget-simple{
	border: 1px solid #FFF !important;
	border-radius: 15px;
}

@media (min-width: 768px) {
	.google-translate-widget{
		top: 15px;
		left: 15px;
	}
	.goog-te-gadget-simple{
		padding: 5px !important;
	}
}

@media (min-width: 1200px) {
	.google-translate-widget{
		margin-left: calc((100vw - 1320px) / 2);
	}
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
.navbar{
	padding: 0;
}
.navbar ul{
	list-style: none;
	padding: 0;
	margin-bottom: 0;
}
.navbar li{
	position: relative;
}
/* OFF */
.navbar .nav-inner{
	display: none;
}
.mobile-nav-toggle{
	cursor: pointer;
	line-height: 0;
}
.mobile-nav-toggle.bi-list{
	font-size: 48px;
	color: #BABABA;
}
/* ON */
.mobile-nav-toggle{
	display: block;
}
.navbar-mobile .mobile-nav-toggle{
	position: absolute;
	top: 15px;
	right: 15px;
}
.mobile-nav-toggle.bi-x{
	font-size: 60px;
	color: #3B3B3B;
}
.mobile-nav-toggle.bi-x::before{
	content: "\f62a";
}

@media (min-width: 768px) {
	.mobile-nav-toggle.bi-x{
		margin-right: calc((100vw - 720px) / 2);
	}
}

@media (min-width: 992px) {
	.mobile-nav-toggle.bi-x{
		margin-right: calc((100vw - 960px) / 2);
	}
}

@media (min-width: 1200px) {
	.mobile-nav-toggle.bi-x{
		margin-right: calc((100vw - 1320px) / 2);
	}
}

.navbar-mobile{
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	transition: 0.3s;
	z-index: 20;
}
.navbar-mobile .nav-inner{
	display: block;
	position: absolute;
	inset: 0;
	background-color: #E6E1D9;
}
.navbar-mobile .nav-inner > div{
	position: absolute;
	inset: 0;
	margin-top: 90px;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}
.navbar-mobile a{
	display: block;
	padding: 20px;
	color: #3B3B3B;
}
.navbar-mobile .nav-list > li{
	font-weight: 700;
	border-bottom: #3B3B3B 1px solid;
}

@media (min-width: 768px) {
	.navbar-mobile .nav-inner{
		max-height: calc(100vh - 120px);
	}
}

.navbar-mobile .dropdown{
	border-bottom: #3B3B3B 1px solid;	
}
.navbar-mobile .dropdown > div{
	position: static;
	display: none;
	opacity: 1;
	visibility: visible;
	border-top: #3B3B3B 1px solid;
	padding: 20px 0;
}
.navbar-mobile .dropdown > a{
	display: flex;
	justify-content: space-between;
	font-weight: 700;
}
.navbar-mobile .dropdown > .dropdown-active{
	display: block;
}
.navbar-mobile .nav-lower-list a{
	font-size: 15px;
	padding: 5px 20px;
}
.navbar-mobile .nav-lower-list a i{
	padding-right: 5px;
}

@media (min-width: 768px) {
	.navbar-mobile .dropdown{
		border-bottom: none;
	}
	.navbar-mobile .dropdown > div{
		display: block;
	}
	.navbar-mobile .dropdown i{
		display: none;
	}
	.navbar-mobile .nav-lower-list a{
		font-size: 12px;
		font-weight: 700;
	}
}

@media (min-width: 992px) {
	.navbar-mobile .dropdown > a{
		padding: 20px 0;
	}
	.navbar-mobile .dropdown > div{
		display: flex;
		margin-left: -20px;
		margin-right: -20px;
	}
	.navbar-mobile .nav-lower-list{
		flex: 0 0 auto;
		width: 50%;
	}
}

.box-links{
	margin: 40px auto 0;
}
.box-links > div{
	padding: 0;
}
.box-links > div a{
	display: block;
	padding: 20px 0;
	color: #3B3B3B;
	background: #fff;
	text-align: center;
	font-weight: 700;
	margin-bottom: 20px;
}
.box-links > div img{
	width: auto;
	height: 35px;
	margin-right: 10px;
}
.sns-link .instagram{
	text-align: center;
}
.sns-link .instagram i{
	font-size: 40px;
}

@media (min-width: 768px) {
	.box-links{
		max-width: 720px;
	}
	.box-links > div{
		padding: 0 10px;
	}
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs{
	display: flex;
	justify-content: flex-end;
}
.breadcrumbs ol{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	padding: 0 0 10px 0;
	margin: 0;
	font-size: 14px;
}
.breadcrumbs ol li + li{
	padding-left: 10px;
}
.breadcrumbs ol li + li::before{
	display: inline-block;
	padding-right: 10px;
	color: #BABABA;
	content: "/";
}

@media (min-width: 1200px) {
	main > .breadcrumbs.container{
		max-width: 1320px;
	}
}

/*--------------------------------------------------------------
# Common
--------------------------------------------------------------*/
/* fadeIn */
.fadeIn{
	position: relative;
	top: 80px;
	opacity: 0;
}
.is-scrollIn{
	animation: fadeIn 1.5s forwards;
}

@keyframes fadeIn{
	from{
		top: 80px;
		opacity: 0;
	}
	to{
		top: 0;
		opacity: 1;
	}
}

/* fadeIn delay */
.fadeIn.delay{
	position: relative;
	top: 80px;
	opacity: 0;
}
.is-scrollIn.delay{
	animation: fadeIn-delay 1.5s .5s forwards;
}

@keyframes fadeIn-delay{
	from{
		top: 80px;
		opacity: 0;
	}
	to{
		top: 0;
		opacity: 1;
	}
}

.catchcopy{
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-style: normal;
	font-size: 24px;
}
.more-btn a{
	display: block;
	width: 200px;
	height: 40px;
	line-height: 38px;
	text-align: center;
	font-weight: 700;
	border-radius: 20px;
	margin-left: auto;
	margin-right: auto;
	border: 1px solid #3B3B3B;
	position: relative;
}
.more-btn a i{
	position: absolute;
	right: 25px;
	font-size: 12px;
}
.tag-list{
	display: inline-block;
}
.tag-list p{
	display: inline-block;
	height: 30px;
	line-height: 28px;
	font-weight: 700;
	text-align: center;
	border: #3B3B3B 1px solid;
	border-radius: 15px;
	padding: 0 20px;
	margin: 5px;
}
.bg-white{
	border-radius: 20px;
	padding: 50px 20px;
	margin-bottom: 50px;
}

@media (min-width: 768px) {
	.bg-white{
		padding: 50px;
	}
}

/*--------------------------------------------------------------
# Main
--------------------------------------------------------------*/
main{
	overflow: hidden;
	margin-top: 90px;
}

@media (min-width: 1200px) {
	main > .container{
		max-width: 1040px;
	}
}

/* Main After ** for TOP & LP */
.main-after{
	padding-top: 50px;
}
.main-after .info{
	max-width: 840px;
	background: #E6C6BF;
	border-top-left-radius: 20px;
	border-top-right-radius: 100px;
	border-bottom-left-radius: 100px;
	border-bottom-right-radius: 20px;
	margin: 0 auto 50px;
	padding: 50px 20px;
}
.info-logo{
	max-width: 150px;
	margin: 0 auto 50px;
}
.info-copy{
	max-width: 520px;
	font-size: 18px;
	font-weight: 700;
	margin: 0 auto 40px;
}
.border-links{
	margin-bottom: 50px;
}
.border-links a{
	display: block;
	border: #3B3B3B 1px solid;
	padding: 10px;
	margin-bottom: 10px;
	text-align: center;
	font-weight: 700;
}
.main-after .info .box-links p{
	text-align: center;
}
.main-after .info .box-links > div{
	margin-bottom: 30px;
}
.main-after .info .sns-link{
	text-align: center;
}
.ggmap iframe{
	display: block;
}
.main-after .ggmap iframe{
	width: 100%;
	height: 600px;
	/*-webkit-filter: grayscale(80%);
	filter: grayscale(80%);*/
}

@media (min-width: 768px) {
	.border-links > div{
		padding-left: 10px;
		padding-right: 10px;
	}
	.main-after .info .box-links > div{
		margin-bottom: 10px;
	}
	.main-after .info .border-links{
		max-width: 520px;
		margin: 0 auto 20px;
	}
}

@media (min-width: 992px) {
	.info-copy{
		max-width: inherit;
		text-align: center;
	}
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer{
	background: #E6E1D9;
	padding-top: 50px;
	padding-bottom: 50px;
}
#footer .footer-info{
	font-weight: 700;
}
#footer .footer-info .footer-logo{
	max-width: 150px;
	margin-bottom: 30px
}
#footer .footer-info .footer-address{
	font-size: 18px;
	line-height: 38px;
}
.round-box{
	display: inline-block;
	border: 1px solid #3B3B3B;
	border-radius: 30px;
	padding: 5px 20px;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 10px;
}
#footer .footer-info > p{
	font-size: 12px;
	margin-bottom: 0;
}
#footer .footer-links{
	display: none;
}
#footer .footer-links ul{
	list-style: none;
	padding: 0;
	margin: 0;
}
#footer .footer-links ul li{
	padding: 10px 0;
	display: flex;
	align-items: center;
}
#footer .footer-links ul li:first-child{
	padding-top: 0;
}
#footer .footer-links ul a{
	transition: 0.3s;
	display: inline-block;
	line-height: 1;
}
#footer .footer-contact{
	margin-bottom: 30px;
}
#footer .footer-contact p{
	line-height: 26px;
}
#footer .box-links{
	margin-bottom: 20px;
}
#footer .copyright{
	text-align: center;
	padding-top: 30px;
}

@media (min-width: 768px) {
	#footer .footer-info{
		margin-bottom: 40px;
	}
	#footer .footer-links{
		display: block;
		font-size: 12px;
		font-weight: 700;
	}
	#footer .box-links{
		max-width: 820px;
	}
	#footer .box-links > div{
		padding: 0 20px;
	}
}

@media (min-width: 992px) {
	#footer .footer-address{
		font-size: 15px;
	}
	#footer .footer-address p{
		margin-bottom: 0;
	}

}

/*--------------------------------------------------------------
# Follow Button Group
--------------------------------------------------------------*/
.follow-btn-group{
	position: fixed;
	right: 0;
	bottom: 80px;
	z-index: 10;
}
.follow-btn-group .line-btn a,
.follow-btn-group .res-btn a{
	display: block;
	width: 40px;
	background: #B79B65;
	border-top-left-radius: 20px;
	border-bottom-left-radius: 20px;	
}
.follow-btn-group .line-btn a{
	padding: 10px 5px 8px 10px;
	margin-bottom: 10px;
}
.follow-btn-group .res-btn a{
	font-size: 14px;
	font-weight: 700;
	writing-mode: vertical-rl;
	padding: 30px 8px;
	color: #FFF;
}

/* Back to top button */
.back-to-top{
	position: fixed;
	visibility: hidden;
	opacity: 0;
	right: 15px;
	bottom: 15px;
	z-index: 10;
	width: 40px;
	height: 40px;
	transition: all 0.4s;
}
.back-to-top i{
	font-size: 28px;
	color: #BABABA;
	line-height: 0;
}
.back-to-top.active{
	visibility: visible;
	opacity: 1;
}
