@charset "UTF-8";
/* CSS Document */
@media screen and (max-width: 639px) {
	#gnav_btn_wrap {
		position: fixed;
		right: 10px;
		top: 10px;
		z-index: 999;
		width: 65px;
		height: 65px;
	}
	#gnav_btn {
		position: fixed;
		display: flex;
		justify-content: center;
		align-items: center;
		background: linear-gradient(#F5B779, #F59979);
		color: #fff;
		z-index: 99;
		width: 65px;
		height: 65px;
		border-radius: 50%;
		cursor: pointer;
	}
	/*
	#gnav_btn.clicked {
		background: #4E3B30;
	}
	*/
	.ico_hanbarger {
		position: absolute;
		display: block;
		width: 26px;
		height: 15px;
		top: 18px;
		left: 50%;
		transform: translateX(-50%);
	}
	#gnav_btn_txt {
		margin-top: 26px;
		font-size: 1.2rem;
		letter-spacing: -0.01em;
		font-family: "Zen Maru Gothic", serif;
		font-weight: normal;
	}
	.ico_hanbarger_item {
		display: block;
		width: 100%;
		height: 2px;
		background: #fff;
		position: absolute;
		transform-origin: center;
		transition: all .4s;
		border-radius: 2px;
	}
	.ico_hanbarger_item:nth-child(1) {
		width: 100%;
		right: 0;
		top: 0;
	}
	.ico_hanbarger_item:nth-child(2) {
		width: 100%;
		right: 0;
		top: 50%;
		margin-top: -1px;
	}
	.ico_hanbarger_item:nth-child(3) {
		bottom: 0;
	}
	.clicked .ico_hanbarger_item:nth-child(1) {
		transform: rotate(45deg);
		width: 26px;
		top: 46%;
		right: 0%;
	}
	.clicked .ico_hanbarger_item:nth-child(2) {
		opacity: 0;
	}
	.clicked .ico_hanbarger_item:nth-child(3) {
		transform: rotate(-45deg);
		width: 26px;
		bottom: 46%;
		right: 0%;
	}
	.clicked #gnav_btn_txt {
		color: #fff;
	}

	/* グローバルナビゲーション */
	body.fixed {
		overflow: hidden;
	}
	.gnav_wrap {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		transition: opacity .5s, transform .5s;
		transform: translateY(-50px);
		pointer-events: none!important;
		z-index: 6;
	}
	.gnav_wrap.visible {
		opacity: 1;
		transition: opacity .5s, transform .5s;
		transform: translateY(0);
		pointer-events: auto!important;
		z-index: 10;
		visibility: visible;
	}
	.gnav {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		overflow: scroll;
		z-index: 0;
		padding: 0 0 90px;
		box-sizing: border-box;
		background: #fff;
	}
	.gnav::after {
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		background: url("../img/common/bg_image.webp") repeat-y;
		background-size: contain;
		position: fixed;
		right: 0;
		bottom: 0;
		z-index: -1;
	}
	.gnav_bg {
		display: none;
	}
	.gnav_in {
		width: 96%;
		margin: 0 auto;
		position: relative;
		z-index: 0;
		padding: 20px 6% 0px 6%;
	}
	.gnav_list_in {
		padding: 8px 10px 15px 10px;
		box-sizing: border-box;
		font-size: 0;
		position: relative;
		border-bottom: 1px dashed #6A594F;
		margin-bottom: 10px;
	}
	.gnav_list_in::before,
	.gnav_list_in::after {
		content: '';
		display: block;
		width: 15px;
		height: 2px;
		background: #6A594F;
		position: absolute;
		right: 10px;
		top: 39%;
		transition: transform .5s;
		border-radius: 2px;
	}
	.ico_none .gnav_list_in::before,
	.ico_none .gnav_list_in::after {
		content: none;
	}
	.gnav_list_in::before {
		transform: translateY(calc(-50% + 2.5px));
	}
	.gnav_list_in::after {
		transform: translateY(calc(-50% + 2.5px)) rotate(90deg);
	}
	.gnav_list_in.clicked::before {
		transform: translateY(calc(-50% + 2.5px)) rotate(45deg);
	}
	.gnav_list_in.clicked::after {
		transform: translateY(calc(-50% + 2.5px)) rotate(135deg);
	}
	.gnav_list_in a {
		font-size: 2rem;
		color: #6A594F;
		text-decoration: none;
		line-height: 0.8;
		font-family: "Zen Maru Gothic", serif;
	}
	.gnav_list_in a .s_text {
		font-size: 1.2rem;
		font-family: "Montserrat", sans-serif;
		color: #F59979;
	}
	.gnav_li_child {
		display: none;
		padding: 10px 0 10px 10px;
		background: #fff;
		border-radius: 10px;
		margin-bottom: 20px;
	}
	.gnav_list_child , .gnav_list_grandchild {
		margin: 6px 0;
	}
	.gnav_list_child a , .gnav_list_grandchild a {
		font-size: 1.6rem;
		text-decoration: none;
		line-height: 1;
		position: relative;
		padding-left: 13px;
		color: #6A594F;
		font-family: "Zen Maru Gothic", serif;
	}
	.gnav_list_child a::before {
		content: '';
		display: block;
		width: 3px;
		height: 3px;
		border-radius: 50%;
		background: #6A594F;
		position: absolute;
		left: 3px;
		top: 50%;
		transform: translate(0 , -50%);
	}
	body.is_fixed {
		overflow: hidden;
	}

	.gnav_list.head_logo img {
		width: calc(100% - 80px);
		height: auto;
		margin-bottom: 30px;
	}
	.grandchild_list {
		position: relative;
		padding: 5px 0 1px 0;
		margin-left: 15px;
	}
	.grandchild_list::before {
		content: '';
		display: block;
		width: 1px;
		height: calc(100% - 22px);
		border-left: 1px dashed #6A594F;
		position: absolute;
		left: 0;
		top: 0;
	}
	.grandchild_list li {
		padding-left: 20px;
		line-height: 1.6;
		margin: 0 0 12px 0;
		position: relative;
	}
	.grandchild_list li::before {
		content: '';
		display: block;
		width: 8px;
		height: 1;
		border-bottom: 1px dashed #6A594F;
		position: absolute;
		left: 1px;
		top: 50%;
		transform: translate(0 , -50%);
	} 
	.grandchild_list li a {
		color: #6A594F;
		font-size: 1.5rem;
		font-family: "Zen Maru Gothic", serif;
	}


	.gnav_list_wrap li:nth-child(5) .gnav_list_in:after, .gnav_list_wrap li:nth-child(5) .gnav_list_in:before,
	.gnav_list_wrap li:nth-child(6) .gnav_list_in:after, .gnav_list_wrap li:nth-child(6) .gnav_list_in:before,
	.gnav_list_wrap li:nth-child(7) .gnav_list_in:after, .gnav_list_wrap li:nth-child(7) .gnav_list_in:before,
	.gnav_list_wrap li:nth-child(8) .gnav_list_in:after, .gnav_list_wrap li:nth-child(8) .gnav_list_in:before,
	.gnav_list_wrap li:nth-child(9) .gnav_list_in:after, .gnav_list_wrap li:nth-child(9) .gnav_list_in:before {
		display: none;
	}
	.sp_nav_line {
		text-align: center;
		margin: 20px auto 0 auto;
	}
	.head_sns_flex ul {
		display: flex;
		justify-content: center;
		margin-top: 40px;
	}
	.head_sns_flex li {
		width: 57px;
		height: auto;
		margin: 0 15px;
		line-height: 1;
	}
}