@charset "utf-8";
/*****************************
------------------------------
@media
------------------------------
*****************************/
@media all and (min-width: 600px) and (max-width: 1500px) {
	.feature_item_ttl {
		&:before {
			font-size: 5.5rem;
			top: -0.05em;
			letter-spacing: 0.1em;
		}

		span {
			padding-left: 23px;
			font-size: 2rem;
			letter-spacing: 0.05em;
		}
	}
}

/*pctb*/
@media all and (min-width: 601px) {
	.btn01:has(span):hover {
		opacity: 1;
	}

	.btn01:has(span):hover span:before {
		opacity: 0.4;
	}

	.top_btns {
		display: flex;
		justify-content: center;
		gap: 30px;
	}

	.top_btns .btn {
		min-width: auto;
		max-width: var(--btn-width);
		flex: 1;
		margin: 0;
	}

	.pc_tac,
	table.pc_tac tr>* {
		text-align: center;
	}
}

@media all and (max-width: 600px) {
	html {
		font-size: 2.3vw;
	}

	.tb_only,
	.sp_none {
		display: none !important;
	}

	.inner,
	.inner_sp {
		width: 100%;
		padding: 0 5vw;
	}

	.hamburger {
		right: 0 !important;
	}

	.js_side_open {
		overflow: hidden !important;
	}

	.side_nav_wrap {
		right: 0 !important;
	}

	.table_scroll {
		-webkit-overflow-scrolling: touch;
	}

	.table_scroll:before {
		content: "※横スクロールで全体を見ることができます。";
	}

	.table_scroll table {
		width: 270vw;
	}

	.placenta_table thead th:nth-of-type(4) {
		width: 55vw;
	}

	.placenta_table thead th:nth-of-type(5) {
		width: 66vw;
	}

	#sb_instagram.sbi_mob_col_5 #sbi_images {
		grid-template-columns: repeat(3, 1fr) !important;
		padding: 0 10px;
	}

	#sb_instagram.sbi_mob_col_5 #sbi_images .sbi_item:nth-of-type(10) {
		display: none !important;
	}

	.tac_sp,
	.sp_tac {
		text-align: center;
	}

	.trouble_ttl {
		margin-right: -5vw;
	}

	.bri_menu_list {
		display: none;
	}

	.bri_about {
		.m_about_body {
			position: relative;
			isolation: isolate;

			&:before {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: -5vw;
				width: 100vw;
				height: 100%;
				z-index: -1;
				background: #f8f1ff;
			}
		}
	}

		.placenta_about {
		.m_about_body {
			position: relative;
			isolation: isolate;

			&:before {
				content: '';
				display: block;
				position: absolute;
				top: 0;
				left: -5vw;
				width: 100vw;
				height: 100%;
				z-index: -1;
				background: #f5fffd;
			}
		}
	}

	.m_ttl02 {
		display: none;
	}

	.m_ttl02 + * {
		margin-top: 0;
	}

	.bri_menu_box_wrap:nth-of-type(2n) {
		.bri_menu_box {
			background-image: url(../images/menu_bg_reverse.jpg);
		}
	}
}