/**=========
base css
==========**/
body {
    font-family: 'fot-tsukubrdgothic-std', sans-serif;
    font-style: normal;
    font-weight: 300;
    text-align: center;
    line-height: 1.8;
	letter-spacing: 2px;
    width: 100%;
    height: 100%;
    margin:0;
    padding:0;
    box-sizing: border-box;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-style: normal;
	color: #707070;
}

*:focus {
	outline: none;
}

html{
    scroll-behavior: smooth;
}
/*
.container-fluid {
	padding: 0;
}
*/
ul {
    list-style: none;
}

a {
    color: #707070 !important;
    text-decoration: none;
    transition: 0.5s;
	font-weight: 300;
}
a:hover {
    color: #000 !important;
    text-decoration: none;
    transition: 0.5s;
}

h1 {
	font-size: 28px;
	line-height: 1.8;
	margin-bottom: 0;
}
h1 .en_title {
	font-size: 18px;
	line-height: 1.8;
	margin-bottom: 0;
}
h2 {
	font-size: 22px;
	line-height: 1.8;
	font-weight: 500;
	/*margin-bottom: 0;*/
}
p {
	margin-bottom: 0;
	font-size: 16px;
	line-height: 2;
	margin-bottom: 0;
	text-align: justify;
}
.title_big_font {
	font-size: 38px;
	font-weight: 400;
}
.small_font {
	font-size: 14px;
}
.big_font {
	font-size: 22px;
}


@media screen and (max-width:991px) {
	h1 {
		font-size: 22px;
		line-height: 1.8;
		margin-bottom: 0;
	}
	h1 .en_title {
		font-size: 14px;
		line-height: 1.8;
		margin-bottom: 0;
	}
	h2 {
		font-size: 18px;
		line-height: 1.8;
		/*margin-bottom: 0;*/
	}
	.small_font {
		font-size: 12px;
	}
	p {
		margin-bottom: 0;
		font-size: 14px;
		line-height: 2;
		margin-bottom: 0;
		text-align: justify;
	}
	.title_big_font {
		font-size: 24px;
	}
	.big_font {
		font-size: 14px;
	}
}


/**color**/
.color_pink {
	color: #FFC4F4;
}
.pink {
	color: #D4135A;
}
.bg_color {
	color: #F7F5F5;
}

/**font**/
.sans {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}
.jost {
	font-family: "Jost", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 300;
  	font-style: normal;
}
/**
.serif {
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
	font-style: normal;
}
**/
.sedan {
	font-family: "Sedan", serif;
	font-weight: 300;
	font-style: normal;
}
.zen {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
	font-style: normal;
}
  


/**clearfit**/
.clearfit {
	min-width: 1280px;
	overflow: hidden;
	object-fit: cover;
}
.clearfit_text {
	min-width: 600px;
	overflow: hidden;
	object-fit: cover;
}
.clearfit_all {
	min-width: 1880px;
	overflow: hidden;
	object-fit: cover;
}
@media screen and (max-width:1280px) {
	.clearfit {
		min-width: initial;
		overflow: hidden;
		object-fit: cover;
	}
	.clearfit_text {
		min-width: initial;
		overflow: hidden;
		object-fit: cover;
	}
	.clearfit_all {
		min-width: initial;
		overflow: hidden;
		object-fit: cover;
	}
}


.wrap {
	width: 100%;
	margin: auto;
}

.margin_160 {
	margin: auto;
	margin-top: 160px;
}
.inner_margin {
	margin: auto;
	margin-top: 100px;
}

@media screen and (max-width:991px) {
	.margin_160 {
		margin: auto;
		margin-top: 60px;
	}
	.inner_margin {
		margin: auto;
		margin-top: 40px;
	}
	
}

/**reponsive**/
.res_991 {
	display: none !important;
}
.res_540 {
	display: none !important;
}
.res_1280 {
	display: none !important;
}
@media screen and (max-width:1280px) {
	.pc_1280 {
		display: none !important;
	}
	.res_1280 {
		display: block !important;
	}
}
@media screen and (max-width:991px) {
	.pc_991 {
		display: none !important;
	}
	.res_991 {
		display: block !important;
	}
	
}
@media screen and (max-width:540px) {
	.pc_540 {
		display: none !important;
	}
	.res_540 {
		display: block !important;
	}
	.res_padding_top {
        padding-top: 40px !important;
    }
    .res_margin00 {
        margin-top: 0 !important;
    }
}

/**=============
header
=============**/
.container-fluid {
	overflow: hidden;
}
h1.main_logo {
	position: fixed;
	top: 25px;
	left: 50px;
	display: inline-block;
	z-index: 8;
}
h1.main_logo img {
	width: 120px;
	height: auto;
}

header {
	margin-top: 100px;
	position: sticky;
	position:-webkit-sticky;
	padding-top: 25px !important;
	padding-bottom: 25px;
	top: 0;
	background-color: rgba(255, 255, 255, 0.9);
	z-index: 7;
}
header .navbar {
	margin: auto;
}
.navbar-expand-lg .navbar-nav .nav-link {
	padding-left: 30px;
	padding-right: 30px;
	font-size: 16px;
}

.navbar-expand-lg .navbar-nav .nav-item .line {
	padding-left: 20px;
}
header .header_link {
	display: inline-block;
	position: fixed;
	top: 30px;
	right: 0;
}
header .header_link a {
	margin-right: 40px;
}

header .header_link .circle_img {
	width: 40px;
	height: auto;
	padding-bottom: 5px;
	margin-right: 20px;
}
header .header_link .arrow {
	width: 20px;
	height: auto;
}

@media screen and (max-width:1280px) {
	header {
		margin-top: 0px;
		position: sticky;
		position:-webkit-sticky;
		padding-top: 25px !important;
		padding-bottom: 25px;
		height: 80px;
		top: 0;
		background-color: rgba(255, 255, 255, 0.9);
		z-index: 7;
	}
	.navbar-expand-lg .navbar-nav .nav-link {
		padding-left: 20px;
		padding-right: 20px;
		font-size: 16px;
	}
	header .header_link {
		display: inline-block;
		position: fixed;
		top: 20px;
		right: 50px;
	}
	h1.main_logo {
		position: fixed;
		top: 10px;
		left: 50px;
		display: inline-block;
		z-index: 8;
	}
	h1.main_logo img {
		width:80px;
		height: auto;
	}
	
	/**20251224 add**/
	header .navbar {
		margin: auto;
		display: none !important;
	}
	.navbar-expand-lg .navbar-collapse {
		justify-content:center;
		display: none !important;
	}
}

@media screen and (max-width:991px) {
	header {
		margin-top: 0px;
		position: sticky;
		position:-webkit-sticky;
		padding-top: 25px !important;
		padding-bottom: 25px;
		top: 0;
		background-color: rgba(255, 255, 255, 0.9);
		z-index: 2;
		height: 60px;
	}
	h1.main_logo {
		position: fixed;
		top: 0px;
		left: 20px;
		/*right: 350px;*/
		text-align: right;
		display: inline-block;
		z-index: 3;
		margin-top: 6px;
	}
	h1.main_logo img {
		width: 180px;
		height: auto;
	}
	header .header_link {
		display: inline-block;
		position: fixed;
		top: 14px;
		right: 60px;
	}
	header .header_link .circle_img {
		width: 30px;
		height: auto;
		padding-bottom: 0px;
		margin-right: 0px;
	}
	header .header_link a {
		margin-right: 0px;
	}
}



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

.image {
	padding: 0;
}



/**=============
main_img
=============**/
.main_img_zone {
	margin-top: 60px;
}
.main_text_zone {
	text-align: left;
	display: inline-block;
	margin: auto;
	/*margin-bottom: 70px;*/
	padding-left: 100px;
}
.main_text_zone h1 span {
	font-weight: 400;
}
.main_text_zone h1 {
	line-height: 1.5;
}
.main_text_zone p.sedan {
	/*line-height: 1.2;*/
	margin-bottom: 130px;
}

@media screen and (max-width:1280px) {
	.main_img_zone {
		margin-top: 100px;
	}
	.main_text_zone p.sedan {
		/*line-height: 1.2;*/
		margin-bottom: 70px;
	}
}

@media screen and (max-width:991px) {
	.main_img_zone {
		margin-top: 0px;
	}
	
}

hr {
	opacity: 1;
	color: #707070;
}
.text_zone hr {
	width: 80px;
	margin-top: 50px;
	margin-bottom: 50px;

}
.text_line {
	line-height: 2.5;
}
.position_absolute {
	position: absolute;
}
.bold {
	font-weight: bold;
}
.semibold {
	font-weight: 500;
}
/**=============
about
=============**/
#about {
	margin-top: 30px;
	background: url("../img/about_bg.jpg");
	background-repeat: no-repeat;
	background-position: top;
	background-size: contain;
	padding-top: 130px;
	position: relative;
}
#about .clearfit {
	margin: auto;
}
#about .text_zone {
	text-align: left;
}
#about .text_zone h2 {
	margin-top: 30px;
}
.text_zone hr {
	width: 80px;
	margin-top: 30px;
	margin-bottom: 30px;

}
#about .text_zone p.sedan {
	margin-top: 30px;
}
#about .img_zone {
	justify-content: space-between;
	margin-top: 200px;
	padding: 0;
}
#about .img_zone .about_img:nth-child(3) {
	margin-top: -30%;
}
#about .img_zone .img02 {
	margin: auto;
	margin-right: 0;
}
#about .position_absolute {
	right: 0;
	padding: 0;
}
@media screen and (max-width:991px) {
	#about {
		margin-top: 30px;
		background: url("../img/about_bg.jpg");
		background-repeat: no-repeat;
		background-position: top;
		background-size: contain;
		padding-top: 40px	;
	}
	#top {
		max-width: 50%;
		min-width: 400px;
		margin: auto;
		overflow: hidden;
	}
}

@media screen and (max-width:991px) {
	#about {
		margin-top: 30px;
		background: url("../img/about_bg_res.jpg");
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		padding-top: 30px	;
		overflow: hidden;
	}
	#about .position_absolute {
		position: initial;
		padding: 0;
		margin: auto;
		margin-right: 0;
	}
	#about .text_zone {
		text-align: left;
		margin: auto;
		margin-top: 60px;
	}
	#about .img_zone {
		justify-content: space-between;
		margin-top: 40px;
		padding: 0;
	}
	#about .img_zone .img01 {
		margin-top: 20px;
	}
	#about .img_zone .img02 {
		margin: auto;
		margin-right: 0;
		margin-top: 0;
	}
}
@media screen and (max-width:540px) {
	#top {
		max-width: 100%;
		min-width: initial;
		margin: auto;
	}
}


/**=============
plan
=============**/
#plan {
	padding-top: 130px;
	padding-bottom: 160px;
	background: url("../img/plan_bg.jpg");
	background-repeat: no-repeat;
	background-position: top;
	background-size: cover;
}
#plan .text_zone {
	text-align: left;
	margin: auto;
	padding: 0;
}
.text_zone h1 {
	margin-bottom: 30px;
	font-weight: 500;
}
#plan .item01 {
	margin-left: 0;
	width: 84%;
}
@media screen and (max-width:1640px) {
	#plan .item01 {
		margin-left: 0;
		width: 94%;
	}
}
@media screen and (max-width:991px) {
	#plan .item01 {
		margin-left: 0;
		width: 83.333333%;
		margin: auto;
		margin-top: 30px;
	}
}

#plan .plan_item .plan_text {
	text-align: left;
}
#plan .plan_item .title_zone .num_img {
	width: 70px;
	height: auto;
}

#plan .plan_item .title_zone h1.title_big_font {
	line-height: 1;
	text-align: left;
	display: inline-block;
	margin: auto;
	margin-top: 30px;
	/*font-weight: bold;*/
	font-weight: 600;
}
#plan .plan_item .plan_text {
	display: grid;	
}
#plan .plan_item .plan_text .price {
	font-size: 38px;
	/*font-weight: bold;*/
	font-weight: 600;
}
#plan .plan_item .mini_title {
	display: inline-block;
	color: #fff;
	background-color: #EA97BE;
	padding: 0px 30px;
}
#plan .plan_item .plan_text p {
	line-height: 2.5;
	margin-top: 30px;
}
#plan .plan_item_right {
	justify-content: end;
}




#plan .btn_zone {
	margin-top: 130px;
}
#plan .btn_zone a {
	background-color: #FFC4F4;
	border-radius: 30px;
	padding: 20px 50px;
}

@media screen and (max-width:991px) {
	#plan {
		padding-top: 60px;
		padding-bottom: 60px;
		background: url("../img/plan_bg.jpg");
		background-repeat: no-repeat;
		background-position: top;
		background-size: cover;
		max-width: 50%;
		min-width: 400px;
		margin-right: 0;
	}
	#plan .btn_zone {
		margin-top: 60px;
	}
}



@media screen and (max-width:991px) {
	#plan .plan_item .title_zone .num_img {
		width: 40px;
		height: auto;
	}
	#plan .plan_item .plan_text {
		display: grid;	
		margin-top: 30px;
	}
	#plan .plan_item .plan_text .price {
		font-size: 24px;
		/*font-weight: bold;*/
		font-weight: 600;
	}
	#plan .plan_item .plan_text p {
		line-height: 2.5;
		margin-top: 20px;
	}
	#plan .btn_zone {
		margin-top: 40px;
	}
	#plan .btn_zone a {
		background-color: #FFC4F4;
		border-radius: 30px;
		padding: 15px 30px;
		font-size: 14px;
	}
	
}

@media screen and (max-width:540px) {
	#plan {
		padding-top: 60px;
		padding-bottom: 60px;
		background: url("../img/plan_bg.jpg");
		background-repeat: no-repeat;
		background-position: top;
		background-size: cover;
		max-width: 100%;
		min-width: initial;
		margin: auto;
	}
}



.border_title {
	position: relative;
    display: inline-block;
    padding: 0 180px;
}
.border_title:before,
.border_title:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 130px;
    height: 1px;
    background-color: #666;
}

.border_title:before {
    left: 0;
}

.border_title:after {
    right: 0;
}





/**=============
option
=============**/
#option  {
	text-align: left;
	margin: auto;
	padding-top: 160px;
}
#option .option {
	margin: auto;
}
#option .list_zone p {
	text-align: left;
	margin-top: 20px;
	line-break: anywhere;
}
#option .list_zone {
	justify-content: left;
}
#option .list_zone .option_list {
	margin-top: 60px;
}



@media screen and (max-width:991px) {
	#option .list_zone .option_list {
		margin-top: 40px;
	}
}

@media screen and (max-width:991px) {
	#option  {
		text-align: left;
		margin: auto;
		padding-top: 60px;
		max-width: 50%;
		min-width: 333px;
		/*margin-right: 0;*/
	}
}

@media screen and (max-width:540px) {
	#option  {
		text-align: left;
		margin: auto;
		padding-top: 60px;
		max-width: 100%;
		min-width: initial;
		margin: auto;
	}
}



/**=============
lineup
=============**/
#lineup {
	margin: auto;
	padding-top: 160px;
}
#lineup .lineup {
	margin: auto;
	text-align: left;
}
#lineup .list_zone .lineup_list {
	margin-top: 60px;
	padding: 0 20px;
}

@media screen and (max-width:991px) {
	#lineup {
		margin: auto;
		padding-top: 60px;
		max-width: 50%;
		min-width: 333px;
		/**margin-right: 0;**/
	}
	#lineup .res_991 {
		display: flex !important;
	}
	#lineup .list_zone .lineup_list {
		margin-top: 40px;
		padding: 0 5px;
	}
	#lineup .list_zone .lineup_list p {
		font-size: 10px;
	}
	#lineup .list_zone .lineup_list p.res_p {
		padding-left: 8px;
	}
}

@media screen and (max-width:540px) {
	#lineup {
		margin: auto;
		padding-top: 60px;
		max-width: 100%;
		min-width: initial;
		margin: auto;
	}
}


/**=============
gallery
=============**/
.add_bg {
	margin-top: 160px;
	
	padding-bottom: 130px;
	background: url("../img/gallery_bg.jpg");
	background-repeat: no-repeat;
	background-position: top;
	background-size: cover;
}
#gallery {
	margin: auto;
	padding-top: 130px;

}
#gallery .gallery {
	margin: auto;
	text-align: left;
}

#gallery .gallery .title_zone {
	margin: auto;
}
#gallery .gallery .slider_zone {
	margin-top: 60px;
}
#gallery .gallery .slider_zone .slideimg {
	margin: auto 30px;
	width: 420px !important;
	height: auto;
}
#gallery .gallery .slider_zone .tate_zone {
	width: 580px !important;
	height: auto;
}
#gallery .gallery .slider_zone .slideimg .tate {
	margin-bottom: 50px;
}


@media screen and (max-width:1280px) {
	.add_bg {
		margin-top: 60px;
		padding-bottom: 0px;
		background: url("../img/gallery_bg.jpg");
		background-repeat: no-repeat;
		background-position: top;
		background-size: contain;
		margin: auto;
		margin-right: 0;
	}

	#gallery .gallery .slider_zone {
		margin-top: 40px;
	}
	#gallery .gallery .slider_zone .slideimg {
		margin: auto 10px;
		width: 215px !important;
		height: auto;
	}
	#gallery .gallery .slider_zone .tate_zone {
		width: 300px !important;
		height: auto;
	}
	#gallery .gallery .slider_zone .slideimg .tate {
		margin-bottom: 20px;
	}
}



@media screen and (max-width:991px) {
	.add_bg {
		margin-top: 60px;
		padding-bottom: 0px;
		background: url("../img/gallery_bg.jpg");
		background-repeat: no-repeat;
		background-position: top;
		background-size: contain;
		max-width: 50%;
		min-width: 400px;
		margin: auto;
		margin-right: 0;
	}
	#gallery {
		padding-top: 60px;
	}
	#gallery .gallery .slider_zone {
		margin-top: 40px;
	}
	#gallery .gallery .slider_zone .slideimg {
		margin: auto 10px;
		width: 145px !important;
		height: auto;
	}
	#gallery .gallery .slider_zone .tate_zone {
		width: 200px !important;
		height: auto;
	}
	#gallery .gallery .slider_zone .slideimg .tate {
		margin-bottom: 20px;
	}
}

@media screen and (max-width:540px){
	.add_bg {
		margin-top: 60px;
		padding-bottom: 0px;
		background: url("../img/gallery_bg.jpg");
		background-repeat: no-repeat;
		background-position: top;
		background-size: contain;
		max-width: 100%;
		min-width: initial;
		margin: auto;
	}
}




/**=============
flow
=============**/
#flow .flow {
	margin: auto;
	text-align: left;
}
#flow .flow_img_zone {
	margin-top: 60px;
	margin-bottom: 60px;
}


/**=============
contact
=============**/
#contact {
	margin: auto;
	/*padding-bottom: 130px;*/
	background: url("../img/contact_bg.jpg");
	background-repeat: no-repeat;
	background-position: bottom right;
	background-size: auto;
	padding-bottom: 130px;
}
#contact .inner_zone {
	margin-top: 130px;
	position: relative;
	padding: 0;
}
#contact .inner_zone .text_zone {
	position: absolute;
	top: 50%;
	left: 29%;
	transform: translate(-50%, -50%);
}

#contact .inner_zone h1 {
	/*margin-top: 60px;*/
	margin-bottom: 30px;
	font-weight: 400;
}
#contact .inner_zone .text_zone {
	text-shadow: 0 3px 6px #000;
	color:#fff;
	text-align: left;
}

/**
#contact .inner_zone hr {
	margin: 15px auto;
	width: 200px;
}
**/
#contact .link_zone {
	justify-content: center;
	margin-top: 30px;
}
#contact .link_zone .link {
	/*width: 38%;*/
	font-size: 18px;
	border: 1px solid #707070;
	text-align: center;
	margin: 15px 20px;
	background-color: #fff;
}
#contact .link_zone .link a {
	padding: 20px;
	display: block;
	width: 100%;
	height: 100%;
}
#contact .link_zone a img {
	width: 40px;
	height: auto;
	vertical-align: bottom;
	margin-right: 20px;
}

@media screen and (max-width:991px) {
	#contact {
		margin: auto;
		/*padding-bottom: 130px;*/
		background: url("../img/contact_bg.jpg");
		background-repeat: no-repeat;
		background-position: bottom right;
		background-size: auto;
		padding-bottom: 60px;
		justify-content: center;
		max-width: 50%;
		min-width: 400px;
		margin-right: 0;
	}
	#contact .inner_zone {
		margin-top: 60px;
		position: relative;
	}
	#contact .inner_zone .text_zone {
		width: fit-content;
		position: absolute;
		top: 50%;
		left: 41%;
		transform: translate(-50%, -50%);
	}
	#contact .inner_zone .text_zone p {
		line-height: 2.5;
	}
	#contact .inner_zone h1 {
		/*margin-top: 60px;*/
		margin-bottom: 30px;
		font-weight: 400;
		font-size: 28px;
	}
	#contact .link_zone .link a {
		padding: 20px 0px;
		display: block;
		width: 100%;
		height: 100%;
	}
	#contact .link_zone .link {
		/*width: 91.6%;*/
		font-size: 16px;
		border: 1px solid #707070;
		text-align: center;
		margin: 5px 20px;
		background-color: #fff;
	}
}

@media screen and (max-width:540px) {
	#contact {
		margin: auto;
		/*padding-bottom: 130px;*/
		background: url("../img/contact_bg.jpg");
		background-repeat: no-repeat;
		background-position: bottom right;
		background-size: auto;
		padding-bottom: 60px;
		justify-content: center;
		max-width: 100%;
		min-width: initial;
		margin: auto;
	}
}


/**=============
access
=============**/
#access {
	background-color: #F7F5F5;
	padding-top: 100px;
	padding-bottom: 100px;
}
#access .access {
	margin: auto;
}
#access .access .text_zone .text_right {
	margin: auto;
	border-left: 1px solid #707070;
	padding-left: 100px;
	text-align: left;
	padding-top: 30px;
	padding-bottom: 30px;
}
.sns_icon {
	width: 15px;
	height: auto;
}
.sns_icon_line {
	width: 22px;
	height: auto;
}
#access .access .text_zone .text_right a img {
	margin-right: 20px;
}
#access .access .text_zone .map_zone iframe {
	width: 100%;
	height: 270px;
}



@media screen and (max-width:991px) {
	#access {
		background-color: #F7F5F5;
		padding-top: 60px;
		padding-bottom: 60px;
		max-width: 50%;
		min-width: 400px;
		margin: auto;
		margin-right: 0;
	}
	#access .access .text_zone .text_right {
		margin: auto;
		border-left: 1px solid #707070;
		padding-left: 40px;
		text-align: left;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	#access .access .text_zone .map_zone {
		padding: 0;
		margin-top: 40px;
	}
}
@media screen and (max-width:540px) {
	#access {
		background-color: #F7F5F5;
		padding-top: 60px;
		padding-bottom: 60px;
		max-width: 100%;
		min-width: initial;
		margin: auto;
	}
}



/**=============
footer
=============**/
footer h1 img {
	width: 120px;
	height: auto;
}
footer .footer_nav {
	margin-top: 60px;
	border-bottom: 1px solid #707070;
	padding-bottom: 60px;
}
footer .footer_nav ul {
	padding-left: 0;
}
footer .footer_nav ul li {
	display: inline-block;
	padding: 5px 25px;
}
footer .footer_nav ul li a {
	display: inline-block;
}
footer .footer_nav ul li .line {
	padding-left: 0px;
}
footer .copyright_zone {
	margin-top: 25px;
}
footer .copyright_zone #copyright {
	text-align: center;
	padding-bottom: 30px;
}

@media screen and (max-width:1280px) {
	footer .footer_nav ul li {
		display: inline-block;
		padding: 5px 15px;
	}
}

@media screen and (max-width:991px) {
	.footer {
		max-width:50%;
		min-width: 400px;
		margin: auto;
		margin-top: 60px;
		margin-right: 0;
		padding-bottom: 60px;
	}
	footer .footer_nav {
		margin-top: 30px;
		border-bottom: 1px solid #707070;
		padding-bottom: 0px;
	}
	footer .footer_nav ul li {
		display: block;
		padding: 5px 25px;
	}
	footer .footer_nav ul li .line {
		padding-left: 16px;
	}
	footer .footer_nav ul .sns_a {
		display: inline-block;
		padding: 0 5px;
	}
}

@media screen and (max-width:540px) {
	.footer {
		max-width:100%;
		min-width: initial;
		margin: auto;
		margin-top: 60px;
		padding-bottom: 50px;
	}
}

/**=============
drawer menu
=============**/

#drawer .drawer-hamburger {
	display: flex;
	flex-direction: column;
	right: 100px;
	top: 50px;
	align-items: center;
	z-index: 5;
}
.drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-nav, .drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
    right: 0rem;
}
.drawer--right.drawer-open .drawer-hamburger {
    right: 15.25rem !important;
}
#drawer .furuta {
	font-size: 12px;
	color: #515657;
	margin-top: 10px;
}
.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before{
	width:100%;height:2px;
	-webkit-transition:all .6s cubic-bezier(.19,1,.22,1);
	transition:all .6s cubic-bezier(.19,1,.22,1);
	background-color:#515657;
   	width: 23px;
	height: 1px;
	border-radius: 50px;
}
.drawer-nav {
    position: fixed;
    z-index: 4;
    top: 0;
    overflow: hidden;
    width: 20.25rem;
    height: 100%;
    color: #222;
    background-color: #fff;
}
.drawer--left .drawer-nav{
	left:-20.25rem;
	-webkit-transition:left .6s cubic-bezier(.19,1,.22,1);
	transition:left .6s cubic-bezier(.19,1,.22,1)
}

.drawer--left.drawer-open .drawer-hamburger{
	left:-20.25rem
}
.drawer--right .drawer-nav{
	right:-20.25rem;
	-webkit-transition:right .6s cubic-bezier(.19,1,.22,1);
	transition:right .6s cubic-bezier(.19,1,.22,1);
}
.drawer-nav p {
	margin-top: 70px;
	text-align: left;
	margin-left:20px;
}
.drawer-nav p img {
	width: 120px;
	height: auto;
}

.drawer-menu {
	text-align: left;
}
.drawer-menu a {
	color: #515657;
	transition: 0.5s;
	padding-left: 40px;
	font-size: 14px;
}
.drawer-menu a:hover {
	color: #515657;
	background-color: #F7F6F2;
	transition: 0.5s;
	text-decoration: none !important;
}
.drawer-nav .sns_icon_zone {
	text-align: left;
	margin-left: 20px;
	margin-top: 10px;
}
.drawer-nav .sns_icon_zone .sns_line {
	width: 26px;
	height: auto;
	margin-left: 20px;
}
.drawer-nav .sns_icon_zone .sns_insta {
	width: 20px;
	height: auto;
	margin-left: 20px;
}

@media screen and (max-width:1280px) {
	#drawer .drawer-hamburger {
		display: flex;
		flex-direction: column;
		right: 20px;
		top: 10px;
		align-items: center;
		z-index: 5;
	}
}

@media screen and (max-width:991px) {
	#drawer .drawer-hamburger {
		display: flex;
		flex-direction: column;
		right: 5px;
		top: 3px;
	}
}

.relative {
	position: relative;
}
.absolute {
	position: absolute;
}



/**==========================
20251030 tel bnr add css
==========================**/
.tel_zone {
    position: fixed;
    bottom: 20px;
    right: 30px;
    /*background-color: #4E392E;*/
    padding: 5px 0px 5px 5px;
    /*border-radius: 50px;*/
}
.tel_zone img {
    width: 400px;
    height: auto ;
}
.fixed_icon {
    display: none !important;
}

@media screen and (max-width:1080px) {
    .tel_zone img {
        width: 300px;
        height: auto;
    }
}
@media screen and (max-width:991px) {
    .res_add_btn {
        display: none !important;
    }
    .tel_zone {
        display: none !important;
    }
    .fixed_icon {
        display: flex !important;
        position: fixed;
        justify-content: center;
        bottom: 0;
        right: 0px;
        background-color: #D34A77;
        padding: 15px 15px 0px 15px;
        box-shadow: 3px 0px 6px #c3c3c3;
        z-index: 1;
		width: 400px;
    }
    .fixed_icon a {
        border-top: 1px solid #fff;
        border-left: 1px solid #fff;
        border-right: 1px solid #fff;
        border-radius: 5px 5px 0 0;
        font-size: 14px;
        line-height: 1.2;
        margin: 0 5px;
		color: #D34A77 !important;
		font-weight: 500;
    }
	.fixed_icon a img{
		border-radius: 5px 5px 0 0;
		width: 55px;
		height: auto;
	}
    .fixed_icon a.tel {
        font-size: 16px;
        background-color: #fff;
        transition: 0.5s;
		padding: 5px 5px 5px 5px;

		font-weight: 600;
    }
    .fixed_icon a.tel span {
        font-size: 10px;
    }
    .fixed_icon a.catalog span,
    .fixed_icon a.mail span {
        font-size: 12px;
    }
	.tel_zone {
        position: fixed;
        bottom: initial;
        top: 60px;
        right: 20px;
        background-color: #4E392E;
        padding: 5px;
        border-radius: 50px;
    }
    .tel_zone a img {
        width: 30px;
        margin-right: 0px;
    }

}

@media screen and (max-width:540px) {
    .fixed_icon {
        width: 100%;
        display: flex !important;
        position: fixed;
        bottom: 0;
        right: 0px;
        background-color: #D34A77;
        padding: 10px 10px 0px 10px;
    }
    .fixed_icon a {
        border-top: 1px solid #fff;
        border-left: 1px solid #fff;
        border-right: 1px solid #fff;
        border-radius: 5px 5px 0 0;
        font-size: 13px;
        line-height: 1.2;

        margin: 0 5px;
    }
	.fixed_icon a img{
		border-radius: 5px 5px 0 0;
		width: 55px;
		height: auto;
	}
	.fixed_icon a.tel {
        font-size: 14px;
        background-color: #fff;
    }
    .fixed_icon a.tel:hover {
        font-size: 16px;
        background-color: #c3c3c3;
        transition: 0.5s;
    }

    .fixed_icon a.catalog span,
    .fixed_icon a.mail span {
        font-size: 10px;
    }
}
@media screen and (max-width:991px) {

}





/**===================
tab left zone
====================**/
.tab_left_zone {
	display: none;
}
.tab_left_logo {
	display: none;
}
@media screen and (max-width:991px) {
	.left_zone_img {
		height: 100vh;
		width: auto;
	}
	.tab_left_zone {
		display: block;
		position: fixed;
		min-height: 100vh;
		overflow: hidden;
		z-index: -100;
	}
	.tab_left_logo {
		display:block;
		width: 150px;
		height: auto;
		position: absolute;
		top: 50%;
		left: 180px;
		transform: translate(-50%, -50%);
	}
	.right_zone {
		max-width: 400px;
		margin: auto;
		margin-right: 0;
		background-color: #fff;
	}
}

@media screen and (max-width:540px) {
	.left_zone_img {
		display: none;
	}
	.right_zone {
		max-width: initial;
		margin: auto;
		margin-right: 0;
		background-color: #fff;
	}
}












