.profile {
	padding: 92px 0 0;
}
#outline_offices.profile {
	padding: 138px 0 0;
}
#outline_shops.profile {
	padding: 150px 0 0;
}
#outline_online.profile {
	padding: 150px 0 100px;
}
.profile_titlearea {
	padding-bottom: 36px;
}
#outline_profile.profile .profile_titlearea {
	border-bottom: 1px solid #000000;
}
#outline_offices.profile .profile_titlearea,
#outline_shops.profile .profile_titlearea {
	padding-bottom: 80px;
}
#outline_online.profile .profile_titlearea {
	padding-bottom: 40px;
}
.profile_title {
	margin-bottom: 76px;
}
.profile_title p {
	font-family: "Montserrat", sans-serif;
	font-weight: 800;
	font-size: 14px;
	letter-spacing: 0.05em;
	color: #0093FF;
	margin-bottom: 4px;
}
.profile_title h2 {
	font-weight: 700;
	font-size: 25px;
}
.profile_block>dl {
	display: flex;
	border-bottom: 1px solid #DBDBDB;
	gap: 40px;
	margin: 32px 0 0;
}
.profile_block>dl:last-child {
	border: none;
}
.profile_block>dl.border_none {
	border-bottom: none;
}
.profile_block>dl>dt,
.profile_block>dl>dd {
	padding: 0 0 32px;
	font-size: 16px;
}
.profile_block>dl:last-child>dt,
.profile_block>dl:last-child>dd {
	padding-bottom: 0;
}
.profile_block>dl>dt {
	font-weight: 700;
	letter-spacing: 0.1em;
	width: 30%;
	display: flex;
	gap: 40px;
}
.profile_block_title_col_01 {
	width: 80px;
	white-space: nowrap;
	position: relative;
}
.profile_block_title_col_01_next::before {
	position: absolute;
	top: -33px;
	left: 0;
	background-color: #FFFFFF;
	content: "";
	width: 120px;
	height: 3px;
}
.profile_block_title_col_02 {
	width: calc(100% - 120px);
}
.profile_block>dl>dd {
	font-weight: 500;
	width: calc(70% - 40px);
}
.profile_block>dl>dd.profile_block_full {
	width: 100%;
}
.profile_block>dl>dd p {
	margin-bottom: 32px;
}
.profile_block>dl>dd a.link_tel {
	margin-right: 20px;
}
.profile_block>dl>dd dl {
	display: flex;
	gap: 20px;
	margin-bottom: 8px;
}
.profile_block>dl>dd dt {
	width: 120px;
}
.profile_block>dl>dd dd {
	width: auto;
}
.profile_block>dl>dd li {
	position: relative;
	padding-left: 1em;
	margin-bottom: 8px;
}
.profile_block>dl>dd li::before {
	position: absolute;
	content: "・";
	top: 0;
	left: 0;
}
.profile_btn a {
	max-width: 484px;
	width: 100%;
}
.profile_tabs ul,
.profile_tabs li {
	display: flex;
	align-items: center;
}
.profile_tabs ul {
	flex-wrap: wrap;
	gap: 8px;
	justify-content: space-between;
	border-radius: 999px;
}
.profile_tabs li {
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.05em;
	text-align: center;
	color: #202733;
	min-width: 120px;
	height: 30px;
	border-radius: 999px;
	padding: 0 20px;
	justify-content: center;
	cursor: pointer;
	background-color: #EFEFEF;
	transition: all 0.5s ease;
}
#outline_shops .profile_tabs li {
	padding: 0 28px;
}
.profile_tabs li:hover,
.profile_tabs li.active {
	background: #0093FF;
	color: #FFFFFF;
}
.profile_map {
	margin: 32px auto;
}
.profile_map iframe {
	width: 100%;
	height: 350px;
}
.profile_block_title {
	margin-top: 32px;
	padding-bottom: 16px;
	border-bottom: 1px solid #000000;
}
.profile_block_title:first-child {
	margin-top: 0;
}
.profile_block_title h3 {
	font-weight: 700;
	font-size: 20px;
}
.profile_block_title h3 a {
	color: #0093FF;
	transition: opacity 0.5s ease;
}
.profile_block_title h3 a:hover {
	opacity: 0.6;
}
.profile_block_title h3 a span {
	position: relative;
	padding-right: 36px;
}
.profile_block_title h3 a span::after {
	background-image: url(/shared/img/common/ico-btn-target.svg);
	width: 17px;
	height: 17px;
	background-size: 100%;
	background-position: center;
	background-repeat: no-repeat;
	content: "";
	display: inline-block;
	position: relative;
	top: 2px;
	margin-left: 12px;
}
.tab_content {
	display: none;
}
.tab_content.active {
	display: block;
}
@media (max-width: 1200px) {
	.profile_tabs ul {
		justify-content: center;
	}
}
@media (max-width: 767px) {
	.profile {
		padding: 40px 0 0;
	}
	#outline_offices.profile,
	#outline_shops.profile {
		padding: 100px 0 0;
	}
	#outline_online.profile {
		padding: 100px 0;
	}
	.profile_titlearea {
		padding-bottom: 12px;
	}
	#outline_offices.profile .profile_titlearea,
	#outline_shops.profile .profile_titlearea {
		padding-bottom: 32px;
	}
	#outline_online.profile .profile_titlearea {
		padding-bottom: 24px;
	}
	.profile_title {
		margin-bottom: 28px;
	}
	.profile_title p {
		font-size: 12px;
	}
	.profile_title h2 {
		font-size: 20px;
	}
	.profile_block>dl {
		gap: 20px;
		margin: 16px 0 0;
		flex-wrap: wrap;
	}
	.profile_block>dl>dt,
	.profile_block>dl>dd {
		padding: 0 0 16px;
		font-size: 14px;
	}
	.profile_block>dl>dt {
		gap: 8px;
	}
	.profile_block>dl.office_tel>dt {
		width: 50%;
	}
	.profile_block_title_col_01_next::before {
		top: -18px;
		width: 80px;
	}
	.profile_block_title_col_02 {
		width: calc(100% - 80px);
	}
	.profile_block>dl>dd {
		width: calc(70% - 20px);
	}
	.profile_block>dl.office_tel>dd {
		width: calc(50% - 20px);
	}
	.profile_block>dl>dd p {
		margin-bottom: 16px;
	}
	.profile_block>dl>dd a.link_tel {
		margin-right: 0;
	}
	.profile_block>dl>dd dl {
		margin-bottom: 4px;
	}
	.profile_block>dl>dd dt {
		width: 100px;
	}
	.profile_block>dl>dd li {
		margin-bottom: 4px;
	}
	.profile_btn {
		width: 100%;
		padding-bottom: 16px;
	}
	.profile_btn:last-child {
		padding-bottom: 0;
	}
	.profile_tabs ul {
		width: calc(100vw - 20px);
		margin-left: -10px;
		padding: 16px;
		border-radius: 20px;
		background-color: #EFEFEF;
	}
	.profile_tabs li {
		font-size: 14px;
		width: calc(50% - 4px);
		min-height: 49px;
		background-color: #FFFFFF;
	}
	#outline_shops .profile_tabs li {
		padding: 0 20px;
	}
	.profile_map iframe {
		height: 335px;
	}
	.profile_block_title h3 {
		font-size: 18px;
	}
}