@media screen and (max-width: 768px) { 
	html, body {
		font-size: 14px;
	}
	.brsp{display:block;}
	.sp_off {
		display: none;
	}
	.pc_off {
		display: block;
	}

	body .site {
		background: url(../../uploads/decoration-flower-header-sp.png) no-repeat top right;
		background-size: 57.6vw;
	}
	#site-logo {
		max-width: 61.333vw;
		padding: 6.133vw 6.666vw;
	}
	#menu-icon {
		color: #442E1F;
		width: 9.333vw;
		height: 13.333vw;
		padding: 2.666vw 0;
		background: none;
		box-sizing: border-box;
		position: fixed;
		top: 5.333vw;
		right: 6.666vw;
		z-index: 999;
	}
	#menu-icon .menu-icon-inner {
		width: 100%;
		height: 100%;
	}
	/* Button menu active */
	#menu-icon.active {
		color: #FBFAF5;
	}
	#menu-icon.active .menu-icon-inner {
		border: none;
	}
	#menu-icon.active .menu-icon-inner:before {
		top: 50%;
		transform: rotate(45deg);
	}
	#menu-icon.active .menu-icon-inner:after {
		top: 50%;
		transform: rotate(-45deg);
	}

	#main-nav-wrap #main-nav {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 99;
		background: url(../../uploads/bg-menu.png) no-repeat right bottom, #442E1F;
		background-size: 70.4vw;
		padding: 20.266vw 16vw 0;
		color: #FBFAF5;
		width: 100%;
		height: 100vh;
		max-height: 100vh;
		border-radius: 0;
	}
	#main-nav-wrap #main-nav li {
		font-size: 24px;
		margin-bottom: 10.666vw;
		line-height: 1;
	}
	#main-nav-wrap #main-nav li.nav-contact {
		margin: 0;
		font-size: 15px;
	}
	#main-nav-wrap #main-nav li.nav-contact a {
		padding: 4.8vw 4.266vw 3.2vw;
		text-align: center;
		border-radius: 2.666vw;
	}
	#main-nav-wrap #main-nav li a {
		color: #FBFAF5;
		padding: 0;
	}
	#main-nav-wrap #main-nav li.nav-stores a {
		display: inline-block;
		padding-right: 6.666vw;
		background: url(../../uploads/right-menu.png) no-repeat right top 1.333vw;
	}
	#main-nav-wrap #main-nav li a:after {
		content: attr(title);
		display: block;
		font-size: 15px;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
		margin-top: 1.333vw;
	}
	#main-nav-wrap #main-nav li .sub-menu {
		display: block;
		background: none;
		padding: 8vw 0 0 5.866vw;
		transform: none;
	}
	#main-nav-wrap #main-nav li .sub-menu:before {
		display: none;
	}
	#main-nav-wrap #main-nav li .sub-menu li {
		font-size: 18px;
		margin-bottom: 1.6vw;
	}
	#main-nav-wrap #main-nav li .sub-menu li a {
		background: url(../../uploads/menu-line.png) no-repeat left;
		padding: 0 0 0 7.466vw;
		color: #FBFAF5 !important;
		white-space: wrap;
	}



	/* ========== HOME ============== */
	.home_main {
		padding-top: 24vw;
		background: url(../../uploads/decoration-flower-main-sp.png) no-repeat left top 45.6vw;
		background-size: 100vw;
	}
	.home_main .module-image:before {
		width: 21.066vw;
		height: 21.066vw;
		bottom: auto;
		top: 13.066vw;
		right: 15.199vw;
	}
	.home_main .module-image {
		max-width: unset;
		margin: 0 auto 21.33%;
	}
	.home_main .module_subrow {
		flex-direction: column;
		max-width: 89.33vw;
		padding: 2.666vw 6.666vw;
		background: #FBFAF5;
		border: none;
		border-radius: 2.66vw;
		gap: 7.4666vw;
	}
	.home_main .module_subrow .module_column {
		width: 100% !important;
	}
	.home_main .module_subrow .module_column.first {
		border: none;
		border-bottom: 1px solid #DCD8D6;
		padding: 5vw 5vw 4vw
	}
	.home_main .module_subrow .module_column.last {
		border: none;
		border-top: 1px solid #DCD8D6;
		text-align: center;
		padding: 4.8vw;
	}
	.title_news .main-head {
		font-size: 20px;
	}
	.home_post {
		padding: 0;
	}
	.home_post .post .post-content {
		justify-content: space-between;
		align-items: center;
		gap: 7vw;
	}
	.home_post .post .post-date {
		font-size: 12px;
	}
	.home_post .post .post-title {
		font-size: 14px;
	}
	.home_post .post .post-title a {
		line-height: 167%;
	}
	.home_post .post .entry-content {
		display: none;
	}




	.btn_simple .module-buttons-item a {
		font-size: 14px;
		background-size: 7.466vw;
		padding: 1.333vw 10.133vw 1.333vw 0;
		display: inline-block;
		background-position: right;
		width: auto;
	}

	#pagewrap .row_shikisai {
		padding-top: 35.466vw;
		background: url(../../uploads/bg-shi-sp.png) no-repeat right top 4vw;
		background-size: 63.2vw;
		margin-bottom: 28vw;
	}

	#pagewrap .row_shikisai .row_inner {
		max-width: 100%;
	}

	#pagewrap .row_shikisai .row_inner .module_subrow {
		max-width: 78.666vw;
		margin: 0 auto;
		display: flex;
		flex-direction: column;
	}

	.title_shikisai .fancy-heading {
		margin: 0 0 5.333vw;
	}

	.title_shikisai .main-head {
		font-size: 69px;
		text-align: center;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}

	.row_shikisai .module-image {
		max-width: unset;
		margin-bottom: 8vw;
	}

	.txt_shikisai {
		font-size: 16px;
	}

	.visit_row {
		background: url(../../uploads/bg-visit-sp.png) no-repeat;
		background-size: 100vw;
		padding: 13.866vw 5.333vw 9.333vw;
		margin-bottom: 0;
	}

	.visit_row .module_subrow {
		display: flex;
		flex-direction: column;
		gap: 2.666vw;
		margin-bottom: 13.333vw;
	}

	.title_visit .fancy-heading {
		display: flex;
		flex-direction: column-reverse;
	}

	.title_visit .main-head {
		font-size: 38px;
		line-height: 100%;
		margin: 0;
		padding: 5.333vw 0 8.533vw;
	}

	.title_visit .sub-head {
		font-size: 57px;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
		line-height: 120%;
		color: #FBFAF5;
	}

	.img_visit .image-title {
		font-size: 22px;
		line-height: 100%;
	}

	#pagewrap .img_visit .image-content {
		padding: 3.733vw;
		background: #FBFAF5;
		max-width: 72.266vw;
		margin: 0 auto;
		box-sizing: border-box;
	}

	body.home #pagewrap .btn_arrow {
		text-align: center;
	}

	body.home #pagewrap .btn_arrow a {
		font-size: 18px;
		padding: 14px 12px;
		margin: 0 68px 0 0;
	}

	body.home #pagewrap .btn_arrow a:before {
		width: 55px;
		height: 55px;
		top: 0;
		right: -68px;
	}

	.recruit_row {
		padding: 12.8vw 0 0;
		background: url(../../uploads/bg-rec-sp.png) no-repeat left top 24vw;
		background-size: 100vw;
	}

	.recruit_row .module_subrow {
		display: flex;
		flex-direction: column-reverse;
		gap: 6.666vw;
	}

	.recruit_row .module_subrow .last {
		width: 100%;
		padding: 0 6.933vw;
	}

	.recruit_row .module_subrow .first {
		width: 100%;
		padding: 0 13.333vw;
		gap: 8vw;
	}

	#pagewrap .title_abs_left {
		position: static;
	}

	.title_abs_left .main-head {
		font-size: 85px;
		color: #FBFAF5;
		writing-mode: inherit;
		text-align: center;
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
	}

	.title_45 .main-head {
		font-size: 38px;
		text-align: center;
	}

	.txt_rec {
		font-size: 16px;
	}

	.outline_row {
		padding: 10.666vw 0 24.533vw;
		background: none;
	}

	.outline_row .title_45 {
		margin-top: -30px;
		margin-bottom: 6.666vw;
		font-size: 32px;
		position: relative;
		z-index: 1;
	}

	.outline_row .p_table_recruit_1 {
		padding: 0 5.333vw;
	}

	body.home .k-breadcrumb {
		display: none;
	}
	.home .p_table_recruit_1 table td strong {
		font-size: 14px;
		padding-left: 2.666vw;
	}








	/* ========== STORE SP ============== */
	.k-subpage-main-row .row_inner {
		margin-left: 0;
		margin-right: 0;
	}
	.store-box.module_row > .row_inner {
		padding: max(30px, 8vw);
		margin-bottom: max(7px, 1.866vw);
	}
	.store-box.module_row > .row_inner .module_subrow {
		position: relative;
	}
	.store-box.module_row > .row_inner .module_subrow .module_column.last {
		position: unset;
	}
	.k-subpage-main-row {
		padding: max(110px, 29.33vw) max(40px, 8vw) max(70px, 18.6667vw);
	}
	.k-store-tel .module-title {
		font-size: 24px;
	}
	.k-store-tel .tb_text_wrap {
		font-size: 30px;
	}
	.k-store-table th, .k-store-table td {
		font-size: 14px; 
	}
	.k-store-table th {
		width: max(90px, 24vw);
	}
	.k-store-list li {
		font-size: 12px;
	}
	.module.k-store-list {
		margin-bottom: max(90px, 24vw);
	}
	.k-store-btn a.ui.builder_button {
		font-size: 16px;
		background-size: 15px auto;
		padding: max(15px, 4vw) max(25px, 6.6667vw);
		width: 100%;
	}
	.module_row .module.k-store-btn {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
	}
	.k-store-box-title {
		font-size: 26px;
		margin-bottom: max(16px, 2.66vw);
		letter-spacing: normal;
	}
	.k-store-address {
		font-size: 14px;
		margin-bottom: max(30px, 8vw);
	}
	.k-store-fax {
		margin-bottom: max(20px, 5.3333vw);
		font-size: 20px;
		line-height: 220%;
	}
	.k-store-table {
		margin-bottom: max( 34px, 9.06vw);
	}
	.k-store-tel {
		margin-bottom: max(13px, 3.466vw);
	}
	.k-store-img {
		margin-bottom: max(35px, 9.3333vw);
	}
	.store-box .module_subrow .module_column.first {
		max-width: 100%;
	}
	.font-sp.subpage-name.module-fancy-heading .main-head{
		font-family: "Noto Serif JP", serif;
		font-weight: 700;
		font-size: 65px;
	}
	.subpage-name.module-fancy-heading .main-head {
		font-size: 65px;
	}
	.subpage-name.module-fancy-heading .sub-head {
		font-size: 24px;
		padding-top: max(15px, 4vw); 
	}
	.store-box .module_subrow {
		flex-wrap: wrap;
		grid-column-gap: 0;
		flex-direction: column-reverse;
	}
	.store-box .module_subrow .module_column.first,
	.store-box .module_subrow > .module_column.last  {
		flex: 1;
		width: 100%;
	}
	.k-store-table th, 
	.k-store-table td {
		padding: max(9px, 2.4vw) 0;
		line-height: 160%;
	}
	.k-store-table td:before {
		padding-right: 0;
		position: absolute;
		left: max(-10px, -2.666vw);
		top: max(7px, 1.8666vw);
	}
	.k-breadcrumb {
		text-align: center;
		padding: max(20px, 5.3333vw) 0;
	}
	.k-breadcrumb ul {
		justify-content: center;
	}
	.k-breadcrumb ul li {
		font-size: 12px;
		line-height: 100%;
		padding: 0 max(20px, 5.333vw) 0 max(15px, 4vw);
	}
	.k-w1130 {
		background: #FBFAF5;
	}
	.k-store-btn a.ui.builder_button {
		background-position: right max(15px, 3.733vw) center;
	}
	.store-box.module_row > .row_inner {
		width: 100%;
	}
	.store-box {
		padding-left: max(10px, 2.66vw);
		padding-right: max(10px, 2.66vw);
	}
	.k-w1130 .row_inner {
		padding-left: 0;
		padding-right: 0;
	}
	/* ========== POLICY SP ============== */
	.k-subpage-main-row.policy-page {
		padding-bottom: min(60px, 16vw); 
	}
	.policy-box {
		padding-left: max(10px, 2.666vw);
		padding-right: max(10px, 2.666vw);
	}
	.policy-box > .row_inner {
		width: 100%;
		padding: max(30px, 8vw) max(30px, 8vw) 0;
		margin-bottom: 0;
	}
	.policy-title {
		font-size: 16px;
		line-height: 180%;
		margin-bottom: max(10px, 2.6667vw);
	}
	.policy-description {
		font-size: 14px;
		line-height: 200%;
		margin-bottom: max(30px, 8vw);
	}
	.policy-content .module-title {
		font-size: 18px;
		line-height: 180%;
		margin-bottom: max(8px, 2.1333vw);
		letter-spacing: normal;
	}
	.policy-content .tb_text_wrap {
		font-size: 14px;
	}
	.policy-content {
		margin-bottom: max(35px, 9.3333vw);
	}
	.policy-content .tb_text_wrap ul {
		margin: min(15px, 4vw) 0 0 min(26px, 6.933vw);
	}
	/* ========== ENTRY & CONTACT THANK SP ============== */
	.k-subpage-main-row.entry-cf-page {
		padding-bottom: min(66px, 17.6vw);
	}
	.entry-cf-box {
		padding-left: max(10px, 2.6667vw);
		padding-right: max(10px, 2.6667vw);
	}
	.entry-cf-box > .row_inner {
		width: 100%;
		padding: max(90px, 24vw) max(60px, 16vw);
		margin-bottom: 0;
	}
	.entry-cf-text {
		font-size: 18px;
		line-height: 160%;
	}

	/* ========== RECRUIT ============== */

	.text_recruit_detail_1.module{
		font-size:26px;
		line-height:150%;
		margin:20px 0 60px;
		padding: 0 max((40px - 2.665vw), 5vw);;
	}

	.recruit_detail_text_1.module{
		font-size:14px;
	}

	.recruit_detail_box_1.module_subrow {
		--gutter: 0;
		grid-template-columns: 100%;
		--area: "col1" "col2";
	}

	.recruit_detail_text_1.module .module-title{
		font-size:24px;
		line-height:150%;
	}

	.recruit_detail_box_1 .sub_column {
		padding:30px;
		margin-bottom:10px;
	}

	.recruit_detail_ti_1.module{
		font-size:26px;
	}

	.p_table_recruit_1 table {
		border-collapse: collapse;
		border-spacing: 0;
	}

	.p_table_recruit_1 th, 
	.p_table_recruit_1 td {
		display:block;
		width:auto;
		margin: 0 0 3px;
	}

	.p_table_recruit_1 th{
		font-size:17px;
		padding:6px 40px 5px;
	}

	.p_table_recruit_1 td {
		font-size:15px;
		line-height: 150%;
		padding: 13px 40px;
	}


	.recruit_text_0.module{
		margin:63px 0 79px;
		padding: 0 2.66vw 0 8vw;
	}

	.recruit_text_0.module,
	.recruit_text_1.module{
		font-size:14px;
	}
	.recruit_text_1.module .module-title{
		font-size:24px;
	}

	.recruit_box_1 .first{
		padding:2.083vw 0 0;
		align-content: space-between;
	}

	.recruit_box_1.module_subrow {
		grid-template-columns: 100% 100%;
		--area: "col2" "col1";
		padding:2.083vw;
	}


	.default_width #layout .p_page_width .row_inner{
		max-width:94.67vw !important;
	}

	.p_btn_recruit_2.module.module-buttons .ui:not(.transparent) {
		font-size: 20px;
		padding: 29px 30px 30px;
	}

	.p_btn_recruit_2.module {
		margin: 4px 0 80px;
	}


	#pagewrap .btn_arrow a {
		font-size: 14px;
		padding: 12px 10px;
		margin: 0 53px 0 0;
	}
	#pagewrap .btn_arrow a:before {
		width: 41px;
		height: 41px;
		top: 0;
		right: -53px;
	}

	#content .p-subpage-main-row_1 {
		padding-bottom: 0;
	}

	/* ========== END RECRUIT ============== */

	/* ========== NEWS ============== */
	#body .post-news .post {
		display: block;
		margin-bottom:10px;
	}

	#body .post-news .post-image {
		width: auto;
		max-width: 100%;
	}

	#body .post-news .post-content {
		width: 100%;
		float: none;
		padding: max(5.3333vw,20px);
	}

	#body .post-news .post-title {
		font-size: 18px;
		margin-bottom: min(4.2667vw, 16px);
	}

	.post-news time {
		font-size: 16px;
		margin-bottom:min(2.6667vw,10px);
	}

	#body .post-news .pagenav {
		padding-top: min(8vw, 30px);
	}

	.post-news.module {
		margin-bottom: min(10.6667vw, 40px);
	}

	#body .more-link-wrap a {
		margin: 0 0;
		font-size: 14px;
		padding: 12px 10px;
	}

	.more-link-wrap a:after {
		width:40px;
		height:40px;
	}

	#body .more-link-wrap {
		padding-right:53px;
	}

	body .main-pad01 {
		padding-bottom: min(17.3333vw, 65px);
	}

	#body .row1100-news .row_inner {
		width: 100%;
	}

	.row1100-news {
		padding: 0 max(10px, 2.6666vw);
	}

	/* ========== END NEWS ============== */
	/* ========== SINGLE ============== */
	.single #content {
		padding: 0 max(10px, 2.6666vw);
	}
	.single .post-title {
		font-size: 18px;
		margin-bottom: min(4.2667vw, 16px);
	}
	.single .post {
		width: 100%;
		padding: max(3.90625vw, 30px) max(3.90625vw, 30px);
		margin-bottom: min(23.2vw, 87px);
	}
	.single time {
		font-size: 16px;
		margin-bottom: min(10.6667vw, 40px);
	}
	.single .post-image {
		max-width: max(78.6667vw, 295px);
		max-width:100%;
		margin: 0 auto min(10.6667vw, 40px);
	}
	.single .entry-content {
		padding-bottom: 0;
		font-size:14px;
	}
	#pagewrap .history_back a {
		font-size: 18px;
		padding: 16px 10px;
		margin-left: 68px;
	}
	#pagewrap .history_back a:before {
		width: 55px;
		height: 55px;
		left: -68px;
	}
	.history_back {
		padding-bottom: min(14.9333vw, 56px);
	}

	/* ========== END SINGLE ============== */







	#content .wpcf7 th, #content .wpcf7 td {
		display: block;
		width: auto !important;
		margin: 0 0 0.8vw;
	}

	#content .wpcf7 td {
		margin: 0 0 1.866vw;
		padding: 4vw !important;
	}

	.wpcf7 table {
		border-spacing: 0;
	}

	#content .module .wpcf7 th, #content .module .wpcf7 td {
		font-size: 16px;
	}

	#content .wpcf7 th {
		padding: 4vw 5.333vw !important;
	}

	#content .required-contactform7, #content .unrequired-contactform7 {
		width: 16vw;
		font-size: 14px;
		border-radius: 2.666vw;
		margin: 0 2.666vw 0 0;
	}

	.wpcf7-list-item {
		font-size: 14px;
		padding: 4vw !important;
		margin: 0.666vw 1.333vw 0.666vw 0;
	}


	.text-set-contactform7{
		display:flex;
		align-items:center;
		gap:10px;
	}
	.text-set-contactform7.address{
		flex-wrap:wrap;
	}
	.wpcf7-form-control-wrap + .wpcf7-form-control-wrap{
		margin:0;
	}
	.wpcf7 .wpcf7-form-control-wrap[data-name="surname"] input,
	.wpcf7 .wpcf7-form-control-wrap[data-name="namae"] input {
/* 		width: calc(50% - 1.333vw); */
		width:100%;
	}

	.wpcf7 .wpcf7-form-control-wrap[data-name="phone"] input {
		width: 100%;
	}

	#content div.wpcf7cp-btns {
		margin-top: 0;
	}

	.wpcf7cp-btns {
		flex-wrap: wrap;
	}

	#pagewrap .module .wpcf7 .wpcf7cp-cfm-edit-btn,
	#pagewrap .module .wpcf7 .wpcf7-submit {
/* 		width: 100%; */
		min-width: auto;
/* 		margin: 0 0 0.8vw !important; */
		border-radius: 2.666vw !important;
		font-size: 20px;
/* 		line-height: 25.333vw; */
		background-size: 5.066vw 5.066vw, auto;
		
		width: 78.1vw;
		padding: 5.7777vw 29.3333vw 5.7777vw 22.1333vw;
		margin: 0 auto 0.8vw !important;
        line-height: 100%;
	}

	#pagewrap .module .wpcf7 .wpcf7-submit {
		background: url(../../uploads/arr_tr_sp1.png) right 8vw center no-repeat;
		background-color: #D0686B;
		background-size: 5.066vw 5.066vw, auto;
	}

	#content .unrequired-contactform7 {
		margin: 0 2.666vw 0 0;
	}

	#content #wpcf7cpcnf td {
		font-size: 14px;
		padding: 1.066vw 4vw 1.333vw !important;
	}	
	.wpcf7 textarea {
		padding: 3vw;
		height: 42.666vw;
	} 
	.wpcf7 input[type="text"], .wpcf7 input[type="email"] {
		padding: 3vw;
	}


	#pagewrap .section_contact .row_inner {
		max-width: 100%;
		padding: 26.6vw 5.34vw;
	}
	.section_contact .col4-2{
		padding: 8vw;
	}
	.section_contact .col4-2.last{
		margin-top: 9.6vw;
	}
	.sc_btn .module-buttons-item + .module-buttons-item{
		margin-top: 2.64vw;
	}
	.sc_title {
		margin: 0 0 5.333vw;
		min-height: unset;
	}
	.sc_title.module-image .image-wrap {
		width: 16vw;
		margin: 0 8vw 0 0;
	}
	.sc_btn.module {
		min-height: unset;
	}
	#pagewrap .sc_btn a{
		min-height: unset;
		background-size: 8vw auto;
		background-position: right 7.2vw center;
		font-size: 20px;
		padding: 6.66vw;
		box-sizing: border-box;
		line-height: 160%;
		height: auto;
	}
	.footer_logo.module{
		width: 67.5vw;
		margin: 0 auto;
	}
	.footer_txt.module {
		margin-top: 15.2vw;
	}
	.footer_txt.module + .footer_txt.module {
		margin-top: 4.8vw;
	}
	.sc_title.module-image .image-title {
		font-size: 28px;
	}
	.sc_title.module-image .image-caption {
		font-size: 13px;
	}

	.section_contact .col4-2.first:before, .section_contact .col4-2.last:before {
		width: 65.33vw;
		height: 65.33vw;
		background-size: contain;
		top: -36vw;
		left: -27vw;
	}
	.section_contact .col4-2.first:after,.section_contact .col4-2.last:after {
		display: none;
	}
	.footer_row {
		padding: 50.66vw 0 21.3333vw;
		background-size: 53.33vw auto;
	}
	#pagewrap .row_1100 .row_inner {
		max-width: 100vw;
		padding: 0 2.666vw;
	}
	#footerwrap .row_1100 .row_inner{
		padding: 0 8vw;
	}
	.footer_txt.module .module-title {
		margin: 0 5.33vw 0 0;
		font-size: 16px;
		width:100px;
	}
	.footer_txt.module {
		font-size: 14px;
	}
	.footer_txt.module .tb_text_wrap {
		font-size: 14px;
	}
	#pagewrap .footer_btn a {
		font-size: 16px;
		width: 78.1vw;
		padding: 5.7777vw 29.3333vw 5.7777vw 22.1333vw;
		line-height: 100%;
	}
	.footer_btn.module {
		margin: 7.7333vw 2.6666vw;
	}
	#pagewrap .footer_privacy a {
		font-size: 14px;
		margin-top: 0;
	}
	.footer_copyright.module {
		font-size: 14px;
		line-height: 180%;
		margin-top: 15.2vw;
	}
	.contact_text {
		font-size: 14px;
		line-height: 220%;
		padding: 0 2.666vw 16vw 8vw;
	}
}