@charset "utf-8";

/***************************************************************
Base Styles
****************************************************************/

body {
	width: 1000px;
	height: 100%;
	margin: 0 auto;
	overflow-x: hidden;
	overflow-y: scroll;
	position: relative;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	color: #333333;
	background-color: #ffffff;
	font-family: YuGo, YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3",
		"Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Helvetica Neue, Helvetica,
		Arial, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	word-wrap: break-word;
}

body a {
	color: #3a7eb2;
	text-decoration: none;
}

body a:hover {
	text-decoration: none;
	opacity: 0.8;
}

img,
fieldset {
	border: 0;
}

li {
	list-style-type: none;
}

*:focus {
	outline: none;
}

input[type="text"].cafe-input-text {
	padding-left: 5px;
	border-radius: 4px 4px 4px 4px;
	-webkit-appearance: none;
	border: 1px solid #eceee7;
	background: #fff;
	max-width: 100%;
	height: 43px;
	font-size: 16px;
	outline: none;
	transition: all 0.3s;
	box-sizing: border-box;
}

input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
input[type="search"] {
	padding-left: 5px;
	border-radius: 4px 4px 4px 4px;
	-webkit-appearance: none;
	border: 1px solid #eceee7;
	background: #fff;
	max-width: 100%;
	height: 43px;
	font-size: 14px;
	outline: none;
	transition: all 0.3s;
	box-sizing: border-box;
}

input,
textarea,
select,
button {
	font-family: YuGo, YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3",
		"Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Helvetica Neue, Helvetica,
		Arial, sans-serif;
}

.no-ad .google-adsense {
	display: none;
}

#noscript-alert {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	text-align: center;
	background-color: #fff;
	color: red;
}

/***************************************************************
Frame Work Styles
****************************************************************/

.main .widget > * {
	margin-top: 20px;
}

.main .widget:last-child {
	margin-top: 0;
}

.table-over-x {
	margin-bottom: 10px;
	overflow-x: scroll;
}

.table-over-x--active {
	margin-bottom: 30px;
	padding-bottom: 15px;
  display: block;
	width: 100%;
  font-size: 0;
}

.table-over-x--active table {
	white-space: nowrap;
}

.table-over-x--active thead,
.table-over-x--active tbody {
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

.table-over-x--active th,
.table-over-x--active td {
  width: 5.0rem;
  background: #fff;
  font-size: 1.0rem;
}

.table-over-x--active tbody th {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  z-index: 1;
}

.table-over-x--active thead {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 2;
}

.table-over-blank {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 3 !important;
}
@media screen and (max-width: 768px) {
	/* SPスクロールバーのデザイン */
	.table-over-x::-webkit-scrollbar {
		width: 5px;
		background: #dfdfdf;
		border-radius: 4px;
	}
	.table-over-x::-webkit-scrollbar {
		width: 5px;
		background: #dfdfdf;
		border-radius: 4px;
	}
	.table-over-x::-webkit-scrollbar:horizontal {
		height: 5px;
		background: #dfdfdf;
		border-radius: 4px;
	}
	.table-over-x::-webkit-scrollbar-thumb {
		background: #666;
		border-radius: 4px;
	}
	.table-over-x::-webkit-scrollbar-thumb:horizontal {
		background: #666;
		border-radius: 4px;
	}
}

@media screen and (min-width: 768px) {
	.content {
		display: table;
		width: 1000px;
		table-layout: fixed;
	}

	.main {
		display: table-cell;
		vertical-align: top;
		width: 660px;
	}

	.main-full {
		width: 1000px;
		display: block;
	}

	.side {
		display: table-cell;
		vertical-align: top;
		width: 317px;
		height: 100%;
		padding-left: 23px;
		z-index: 1;
	}

}



/***************************************************************
Common Block Styles
****************************************************************/

/*************** button  ***************/

.button-A {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	box-shadow: 0 4px 0 0 #bababa;
	font-weight: bold;
	text-align: center;
	color: #ffffff;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	border: none;
}

.button-A:hover {
	opacity: 0.8;
	cursor: pointer;
}

.button-B {
	position: relative;
	font-weight: bold;
	color: #dfdfdf;
	background-color: #fff;
	border: solid 1px #dfdfdf;
	border-radius: 4px;
	box-shadow: 0 3px 0 0 #dfdfdf;
	padding: 15px 50px;
}

.button-B::after {
	font-family: "icomoon" !important;
	content: "\e904" !important;
	font-size: 12px;
	position: relative;
	left: 10px;
	font-size: 13px;
	top: 0;
}

.button-B:hover {
	-ms-transform: translateY(4px);
	-webkit-transform: translateY(4px);
	transform: translateY(4px);
	box-shadow: 0 2px 0 0 !important;
}

.button-C {
	font-size: 12px;
	font-weight: bold;
	text-align: center;
}

.button-C:hover {
	color: #fff !important;
}

.button-D {
	color: #fff;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 4px;
	transition: 0.5s ease-in-out;
}

.button-D:hover {
	background: #fff;
	color: #000;
	opacity: 1;
}

.button-D::after {
	font-family: "icomoon" !important;
	content: "\e904" !important;
	font-size: 11px;
	position: relative;
	left: 15px;
	top: 0px;
}

.category__title {
	border-bottom: 2px solid #000;
	margin-bottom: 30px !important;
}

.archive-button {
	margin-bottom: 60px;
	height: 64px;
}

/*************** breadcrumb ***************/

.breadcrumb {
	line-height: 47px;
	background-color: #f1f2f0;
	padding: 0 calc((100vw - 100%) / 2 * 1);
	font-size: 12px;
	margin-bottom: 25px;
}

.breadcrumb-list {
	display: inline;
	width: 1000px;
	margin: 0 auto;
	display: block;
	word-break: break-all;
}

.breadcrumb-list-item {
	display: inline;
}

.breadcrumb-list-item::before {
	padding: 0 5px;
	font-size: 13px;
	color: #999999;
}

.breadcrumb-home {
	content: "";
	display: inline-block;
}

.breadcrumb-home a::before {
	display: inline-block;
	font-size: 18px;
	position: relative;
	top: 1px;
}

.breadcrumb-home__icon::before {
	color: #3a7eb2 !important;
	font-weight: bold !important;
	font-size: 14px;
}

/*************** pagenation ***************/

.pagenation {
	display: flex;
	justify-content: space-between;
	padding: 12px;
	background-color: #f5f5f5;
	font-size: 14px;
	margin-bottom: 80px;
}

.pagenation span,
.pagenation a {
	padding: 6px 11px;
	box-sizing: border-box;
	border-radius: 2px;
	font-weight: bold;
	margin: 2px;
	border: solid 1px;
}

.pagenation .pages {
	border: none;
	font-weight: normal;
}

.postcount {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #666;
}

.current {
	color: #fff;
}

.wp-pagenavi {
	display: flex;
}

.pagination-number__current {
	color: #fff;
}

.pagination-list {
	display: flex;
	justify-content: space-between;
	padding: 12px;
	background-color: #f5f5f5;
	font-size: 14px;
	margin-top: 60px;
}

.pagination-number {
	display: inline-block;
}

.pagination-number__link,
.pagination-number__current {
	width: 35px;
	text-align: center;
	padding: 6px 0;
	box-sizing: border-box;
	border-radius: 2px;
	font-weight: bold;
	border: solid 1px;
	margin-left: 10px;
	display: inline-block;
}

.pagination-number__link:first-child,
.pagination-number__current:first-child {
	margin-left: 10px;
}

.pagination-number__link:hover {
	color: #00a0e9;
}

.pagination-number__current {
	background-color: #00a0e9;
	color: #ffffff;
}

.pagination-number__prev {
	width: 53px;
	margin-right: 5px;
}

.pagination-number__link.pagination-number__next {
	width: 53px;
	margin-left: 15px;
}

.pagination-index__current {
	display: none;
}

.pagination-santen {
	display: inline-block;
	margin-left: 10px;
}

/*************** map ***************/
.jmap {
	width: 660px;
	height: 414px;
	line-height: 1;
}

.jmap-inner {
	width: 660px;
	height: 464px;
	margin-top: -30px;
	position: relative;
}

.jmap-inner__image {
	position: absolute;
	left: 95px;
	top: 5px;
}

.jmap .region.hokkaido {
	position: absolute;
	width: 68px;
	right: 0;
	top: 0;
}

.jmap .region.tohoku {
	position: absolute;
	width: 142px;
	right: 0;
	top: 81px;
}

.jmap .region.kanto {
	position: absolute;
	width: 142px;
	right: 0;
	top: 241px;
}

.jmap .region.koshinetsu {
	position: absolute;
	width: 142px;
	right: 282px;
	top: 0;
}

.jmap .region.tokai {
	position: absolute;
	width: 142px;
	right: 154px;
	top: 324px;
}

.jmap .region.kansai {
	position: absolute;
	width: 216px;
	left: 0;
	top: 0;
}

.jmap .region.chugoku {
	position: absolute;
	width: 216px;
	left: 0;
	top: 114px;
}

.jmap .region.shikoku {
	position: absolute;
	width: 142px;
	right: 310px;
	top: 324px;
}

.jmap .region.kyusyu {
	position: absolute;
	width: 142px;
	left: 0;
	top: 223px;
}

.jmap .region-name {
	box-sizing: border-box;
	width: 100%;
	height: 24px;
	padding: 6px 0;
	border-radius: 2px;
	background-color: #48942b;
	color: #f7fbff;
	font-size: 12px;
	text-align: center;
}

.jmap .prefecture-list {
	padding-top: 5px;
}

.jmap .prefecture-item {
	display: inline-block;
}

.jmap .region.tohoku .prefecture-item:nth-child(even),
.jmap .region.kanto .prefecture-item:nth-child(even),
.jmap .region.koshinetsu .prefecture-item:nth-child(even),
.jmap .region.tokai .prefecture-item:nth-child(even),
.jmap .region.shikoku .prefecture-item:nth-child(even),
.jmap .region.kyusyu .prefecture-item:nth-child(even),
.jmap .region.kansai .prefecture-item:not(:nth-child(3n + 1)),
.jmap .region.chugoku .prefecture-item:not(:nth-child(3n + 1)) {
	margin-left: 6px;
}

.jmap .region.kanto.sz .prefecture-item:nth-child(even) {
	margin-left: 0;
}

.jmap .region.kanto.sz .prefecture-item:nth-child(2n + 3) {
	margin-left: 6px;
}

.jmap .region.tohoku .prefecture-item:nth-child(n + 3),
.jmap .region.kanto .prefecture-item:nth-child(n + 3),
.jmap .region.koshinetsu .prefecture-item:nth-child(n + 3),
.jmap .region.tokai .prefecture-item:nth-child(n + 3),
.jmap .region.shikoku .prefecture-item:nth-child(n + 3),
.jmap .region.kyusyu .prefecture-item:nth-child(n + 3),
.jmap .region.kansai .prefecture-item:nth-child(n + 4),
.jmap .region.chugoku .prefecture-item:nth-child(n + 4) {
	margin-top: 6px;
}

.jmap .prefecture-link {
	display: block;
	box-sizing: border-box;
	width: 68px;
	height: 28px;
	padding: 7px 0;
	border-radius: 2px;
	border: 1px solid #dfdfdf;
	background-color: #ffffff;
	color: #5a5a5a;
	font-size: 13px;
	text-align: center;
	text-decoration: none;
	font-weight: bold;
}

.jmap .prefecture-link.tokyo,
.jmap .prefecture-link.tokyo_kugai {
	height: 28px;
}
.jmap .prefecture-link.tokyo.sz {
	width: 142px;
	height: 28px;
}

.map-jmap-only {
	display: none;
}

.jmap .map-jmap-only {
	display: inline;
}

.jmap .prefecture-link:hover {
	opacity: 0.8;
}

/*************** consultbox ***************/

.consultbox {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #f5f5f5;
	padding: 20px;
	box-sizing: border-box;
}

.consultbox-tel {
	padding-right: 20px;
	border-right: solid 1px #dfdfdf;
	width: 50%;
	text-align: center;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}

.consultbox-tel__time {
	font-weight: bold;
	font-size: 13px;
}

.telnumber {
	line-height: 1;
	font-family: Helvetica, Arial;
}

.telnumber::before {
	margin-right: 5px;
}

.consultbox-tel-num {
	font-size: 33px;
	font-weight: bold;
	padding-right: 5px;
}

.consultbox-mail {
	padding-left: 20px;
	width: 50%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	padding-bottom: 4px;
	box-sizing: border-box;
}

.consultbox-mail__button {
	width: 90%;
	height: 56px;
	font-size: 15px;
	font-weight: bold;
	margin-top: 8px;
	color: #fff;
	background: #f2f2f2;
	border-radius: 4px;
}

.consultbox-affiliate__button::after {
	content: '>';
	position: relative;
	right: -8px;
	font-weight: bold;
	top: 0;
}

.consultbox-affiliate__button {
	padding: 16px 56px;
	font-size: 15px;
	font-weight: bold;
	margin: 0 auto;
	color: #fff;
	background: #f2f2f2;
	border-radius: 4px;
	width: 400px;
	text-align: center;
}

.consultbox-affiliate {
	margin: auto;
	display: grid;
	padding: 36px 0;
}

.consultbox-mail__button:hover {
	opacity: 0.8;
	cursor: pointer;
}

.consultbox-tel-title,
.consultbox-mail-title {
	width: 100%;
	text-align: center;
	font-weight: bold;
}

/*************** search form & 404 ***************/
.search__title {
	border-bottom: 2px solid #000;
	margin-bottom: 30px !important;
}

.searchbox-inside {
	position: relative;
}

.searchbox-inside__button {
	position: absolute;
	background-color: #f2f2f2;
	border-radius: 4px;
	top: 3px;
	right: 5px;
	width: 44px;
	height: 36px;
	border-style: none;
	color: #7e7e7e;
	margin: 0 0 0 20px;
	font-weight: bold;
}

.searchbox-inside__button:hover {
	cursor: pointer;
	opacity: 0.8;
}

.searchbox-inside__text {
	width: 300px;
}

@media screen and (max-width: 768px) {
	input.searchbox-inside__text {
		font-size: 16px;
	}
}

.searchbox-inside {
	width: 250px;
}

.search-content {
	width: 100%;
}

.notfound-title {
	margin: 20px 0;
}

.notfound-map {
	margin: 20px 0;
}

.searchresult_searchform {
	margin-top: 15px;
}

/*************** map ***************/

.map {
	position: relative;
	height: 518px;
}

.map-bottom__link {
	display: inline-block;
	padding: 15px 0;
	width: 290px;
	border-radius: 4px;
	border: 1px solid #56bb33;
	box-shadow: 0 4px 0 0 #56bb33;
	text-align: center;
	color: #56bb33;
	font-weight: bold;
	position: relative;
}

.map-bottom__link::after {
	font-family: "icomoon" !important;
	content: "\e904" !important;
	font-size: 11px;
	position: absolute;
	right: 20px;
	left: auto;
	top: auto;
	transform: translateY(25%);
}

.map .jmap {
	position: absolute;
	right: 0;
	top: 75px;
}

.mapSearch {
	margin: 32px 0;
}

/*top-map-search*/

.mapSearch-wrapper {
	display: flex;

}

.mapSearch-map{
	width: 75%;
}

.jmap-title__title {
	margin-top: 30px;
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	color: #111;
}

.map .jmap.jmap__mapSearch {
	left: 0;
	margin: 16px 0;
}

.jmap__mapSearch .jmap .region-name {
	box-sizing: border-box;
	width: 100%;
	height: 18px;
	padding: 3px;
	border-radius: 0;
	color: #f7fbff;
	font-size: 12px;
	text-align: center;
}

.jmap__mapSearch .region.kansai {
	top: 12px;
}

.jmap__mapSearch .region.koshinetsu {
	top: 12px;
}

.jmap__mapSearch .region.kyusyu {
	top: 215px;
}

.jmap__mapSearch .region.hokkaido {
	top: 12px;
}

.jmap__mapSearch .region.kanto {
	top: 215px;
}

.jmap__mapSearch .region.shikoku {
	top: 275px;
	right: 308px;
}

.jmap__mapSearch .region.tokai {
	top: 275px;
	right: 158px;
}

.jmap__mapSearch .jmap-inner__image {
	position: absolute;
	left: 151px;
	top: 36px;
}

.jmap-inner__image .jmap-inner__image__mapSearch {
	left: 140px;
	top: 45px;
}

.mapSearch-heading {
	width: auto;
	text-align: left;
	vertical-align: middle;
	font-weight: bold;
	color: #333333;
	border-left-style: solid;
	border-left-width: 6px;
	padding: 0 9px 0 17px;
	box-sizing: border-box;
	margin: 40px 0 13px 0;
	font-size: 20px;
	line-height: 1.4;
}

.mapSearch-specialtiesList {
	padding: 0;
	margin: 0;
	list-style: none;
}

.mapSearch-specialtiesList-li {
	position: relative;
	margin: 8px 4px;
	padding: 0 0 0 8px;
	font-weight: bold;
	color: #333;
}

.mapSearch-specialtiesList-a {
	color: #333;
}

.mapSearch .mapSearch-specialtiesList-li::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-top: 5px solid transparent !important;
	border-bottom: 5px solid transparent !important;
	border-right: 5px solid transparent !important;
	border-left: 5px solid #333;
	content: "";
}

.mapSearch .jmap .region.tohoku .prefecture-item:nth-child(n + 3),
.mapSearch .jmap .region.kanto .prefecture-item:nth-child(n + 3),
.mapSearch .jmap .region.koshinetsu .prefecture-item:nth-child(n + 3),
.mapSearch .jmap .region.tokai .prefecture-item:nth-child(n + 3),
.mapSearch .jmap .region.shikoku .prefecture-item:nth-child(n + 3),
.mapSearch .jmap .region.kyusyu .prefecture-item:nth-child(n + 3),
.mapSearch .jmap .region.kansai .prefecture-item:nth-child(n + 4),
.mapSearch .jmap .region.chugoku .prefecture-item:nth-child(n + 4) {
	margin-top: 2px;
}

/* sz-main */
.sz-main-vidual {
	position: relative;
	margin: 0 calc((100vw - 100%) / -2);
	padding: 0 calc((100vw - 100%) / 2);
	overflow: hidden;
	height: 400px;
}

.sz-main-vidual-content {
	position: absolute;
	left: 50%;
	top: 60%;
	width: 100%;
	z-index: 1;
	transform: translate(-50%, -50%);
	text-align: center;
	background: rgba(45, 45, 45, 0.3);
	padding: 100%;
}
.sz-main-vidual-content__top_text {
	color: #fff;
	font-size: 18px;
	font-weight: bold;
}
.sz-main-vidual-content__text {
	font-size: 40px;
	color: #fff;
	font-weight: bold;
}
.sz-main-vidual-content__subtext {
	font-size: 24px;
	color: #fff;
}
.sz-main-vidual__image {
	height: 100%;
	width: 100%;
	left: 0;
	-o-object-fit: cover;
	object-fit: cover;
	top: 0;
	-ms-transform: none;
	-moz-transform: none;
	-webkit-transform: none;
	transform: none;
	position: absolute;
	width: auto;
	height: auto;
	top: 50%;
	left: 50%;
	min-height: 100%;
	min-width: 100%;
	-ms-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
}
.sz-main-vidual .cross_search-specialties-select,
.sz-main-vidual .cross_search-prefectures-prefecture-select {
	background: #fff;
	width: 340px;
}
.sz-main-vidual .cross_search-specialties,
.sz-main-vidual .cross_search-prefectures {
	background: #fff;
	width: 342px;
}
.sz-main-vidual .cross_search__submit {
	width: 110px;
}

/* acf_affiliate */
.campaign-content--ad {
	display: block !important;
}

.campaign-content-image--ad {
	display: inline-block !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	border: none !important;
}

.campaign-content-detail--ad {
	margin-top: 4px;
}

.businesshour--ad {
	text-align: center;
}

.campaign-content-detail-pr__text--ad {
	text-align: center;
}

.campaign-detailbutton--ad {
	text-align: center;
}

.campaign-detailbutton--ad::before {
	display: none;
}

/***************************************************************
Common Element Styles
****************************************************************/

input::placeholder,
textarea::placeholder {
	font-weight: 500;
	color: #999;
}

textarea::placeholder {
	line-height: 1.5;
}

.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.spacing-1 {
	letter-spacing: -1em;
}

.spacing-normal {
	letter-spacing: normal;
}

.hidden {
	display: none;
}

.center {
	text-align: center;
}

.left {
	text-align: left;
}

.right {
	text-align: right;
}

.width-320px-only {
	display: none;
}

.inline {
	display: inline;
}

.inline-block {
	display: inline-block;
}

.bold {
	font-weight: bold;
}

.dot::before {
	width: 10px;
	height: 10px;
	content: "";
	position: absolute;
	border-radius: 13px;
	left: -20px;
	top: 6px;
}

.dot {
	position: relative;
	margin-left: 20px;
}

.dotgray::before {
	width: 10px;
	height: 10px;
	content: "";
	position: absolute;
	border-radius: 13px;
	left: -20px;
	top: 0;
	bottom: 0;
	margin-top: 7px;
	background: #dfdfdf;
}

.dotgray {
	position: relative;
	margin-left: 21px;
	display: block;
}

.after-arrow {
	position: relative;
}

.after-arrow::after {
	content: "";
	box-sizing: border-box;
	vertical-align: middle;
	width: 9px;
	height: 9px;
	top: 50%;
	right: 175px;
	border-top: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
	-webkit-transform: rotate(45deg);
	transform: translateY(-50%) rotate(45deg);
	position: absolute;
}

/***************************************************************
Header
****************************************************************/

header {
	margin: 0 calc((100vw - 100%) / 2 * -1);
	padding: 0;
}

.header-border {
	height: 6px;
	border: none;
	margin: 0;
}

.header-top {
	width: 1000px;
	position: relative;
	padding: 28px 0 0 0;
	margin: 0 auto 20px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.header-top-search {
	position: absolute;
	right: 310px;
	bottom: 0;
}

.header-top__button {
	width: 284px;
	margin: 0;
	height: 50px;
}

.header-top__icon {
	width: 16px;
	height: 17px;
	vertical-align: bottom;
	margin-right: 8px;
}

.header-top-logo-a__img {
	height: 52px;
	width: auto;
}

.header-top-logo-a__img--rks {
	height: 50px;
}

.header-top-logo-a {
	display: inline-block;
}

/*************** header navigation ***************/

.header-navigation {
	width: 1000px;
	background-color: #ffffff;
	border-top: none;
	margin: 0 auto 18px;
}

.header-navigation-ul {
	margin: 0 auto;
	width: 1000px;
	padding-left: 0;
	display: flex;
	justify-content: space-between;
}

.header-navigation-ul-li:first-child {
	border-left: 1px solid #999999;
}

.header-navigation-ul-li {
	border-right: 1px solid #999999;
	list-style: none;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.header-navigation-ul-li__a {
	font-size: 14px;
	font-weight: bold;
	color: #333333;
	width: auto;
	display: block;
	align-items: center;
}

.header-navigation-ul-li__text {
	vertical-align: top;
	padding-left: 5px;
}

.header-navigation-ul-li__image {
	display: inline-block;
	vertical-align: middle;
	width: 16px;
	height: auto;
	max-height: 20px;
}

/***************************************************************
Footer
****************************************************************/

footer {
	background-color: #f5f5f5;
	margin: 40px calc((100vw - 100%) / -2) 0;
	padding-top: 80px;
	border-top: solid 2px #dfdfdf;
	clear: both;
}

.post-footer-sticky {
	display: none;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	background-color: #fff;
	padding: 6px 0;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 999;
	box-shadow: 0 0 4px 2px #dfdfdf;
	justify-content: center;
	padding: 5px 5px 9px 5px;
}

@media screen and (min-width: 768px) and (max-width: 1000px) {
	header,
	footer {
		margin-right: 0;
		margin-left: 0;
	}
}

.footer-top {
	display: block;
	width: 1000px;
	margin: 0 auto;
}

.footer-top__logo {
	display: inline-block;
}

.footer-top__logo__img {
	height: 52px;
	width: auto;
}

.footer-top__logo__img--rks {
	height: 50px;
}

.footer-top-sns {
	display: inline-block;
	vertical-align: top;
	margin: 10px 0 0 35px;
}

.footer-office-button::before {
	display: inline-block;
	font-family: "icomoon" !important;
	content: "\e925" !important;
	font-size: 18px;
	width: 21px;
	height: 22px;
	position: relative;
	right: 15px;
	top: 0;
}

.footer-office-button {
	font-size: 18px;
	text-align: center;
	color: #f5f5f5;
	border-radius: 4px;
	box-shadow: 0 4px 0 0;
	padding: 20px 0;
	margin: 0 auto;
}

.footer-office-button:link {
	color: #fff;
	font-weight: bold;
}

.footer-search {
	display: block;
	font-size: 0;
	font-weight: bold;
	position: relative;
	min-height: 237px;
	width: 1000px;
	padding-bottom: 80px;
	margin: 45px auto 0;
}

.footer-search__title {
	font-weight: bold;
	font-size: 16px;
	margin-bottom: 10px;
	color: #444444;
}

.footer-search-map {
	display: inline-block;
	width: 500px;
}

.footer-search-consult,
.footer-search-category {
	display: inline-block;
	width: 250px;
	vertical-align: top;
}

.footer-search-category,
.footer-search-consult-detail {
	font-size: 12px;
	line-height: 1.5;
}

.footer-search-map-region__link {
	padding-bottom: 6px;
}

.footer-search-category-li {
	padding: 3px 0;
}

.footer-search-map-region {
	display: list-item;
	list-style: none;
}

.footer-search-map-region__region {
	display: inline-block;
	width: 100px;
	font-weight: bold;
	font-size: 13px;
	color: #444444;
	vertical-align: top;
}

.footer-search-map-region__link {
	display: inline-block;
}

.footer-search-map-region__link:after {
	content: "";
	height: 80%;
	border-left: 2px solid #c7c7c7;
	margin: 0 4px;
}

.footer-search-map-region__link--br::after {
	display: none;
}

.footer-search-map-region__link:last-child:after {
	content: none;
}

.footer-search-map-region__linkarray {
	display: inline-block;
	list-style: none;
	font-size: 14px;
}

.footer-search-consult-detail__link {
	display: inline-block;
	box-sizing: border-box;
	width: 100px;
	padding: 2px 0;
}

.footer-search-category-cafev2 {
	display: inline-block;
	vertical-align: top;
}

.footer-search-consult-detail__link:nth-child(even) {
	margin-left: 10px;
}

.footer-bottom {
	margin:50px 0 30px;
}

.footer-site_menu {
	display: inline-block;
	width: 400px;
	font-size: 12px;
	vertical-align: top;
}

.footer-site_about {
	display: inline-block;
	width: 500px;
	font-size: 12px;
	margin-left: 100px;
}

@media screen and (max-width: 768px) {
	.footer-site_about {
		width: auto;
		margin-top: 25px;
		margin-left: 0;
	}

	.footer-info__text {
		word-break: normal;
	}
}

.footer-relation_site {
	display: inline-block;
	width: 400px;
	margin-top: 50px;
}

.footer-info {
	width: 500px;
	padding: 36px 0;
}

.footer-info__text {
	display: inline-block;
	font-size: 14px;
	font-weight: bold;
	padding: 3px 0;
}

.footer-info__text:after {
	content: "|";
	padding: 0 3px;
}

.footer-info__text:last-child:after {
	content: none;
}

.footer-externallink {
	display: inline-block;
	width: 500px;
	vertical-align: top;
	margin: 50px 0 0 100px;
}

.footer-externallink-cafebanner {
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.footer-externallink-cafebanner__title {
	width: 110px;
}

.footer-externallink-cafebanner-cafelist {
	font-size: 14px;
}

.footer-externallink-cafebanner-banner {
	display: inline-block;
	width: 500px;
}

.footer-externallink-banner__img {
	height: auto;
}

.footer-externallink-cafebanner-banner__text {
	line-height: 0;
	display: inline-block;
	margin-right: 28px;
}

.footer-externallink-cafebanner-banner__text:last-child {
	margin-right: 0px;
}

.footer-bottom-sns {
	position: relative;
	margin: 0 auto;
	width: 1000px;
	font-size: 0;
}

.footer-bottom-sns-link {
	position: absolute;
	right: 0;
	bottom: 8px;
}

.footer-bottom-sns-link + .footer-bottom-sns-link {
	right: 70px;
}

.footer-bottom-sns-link + .footer-bottom-sns-link + .footer-bottom-sns-link{
	right: 140px;
}

.footer-last {
	color: #fff;
	background-color: #444;
	text-align: center;
	display: table;
	width: 100%;
	padding: 10px 0;
}

.footer-last_copyrigit {
	display: table-cell;
	font-style: normal;
	font-size: 12px;
	font-weight: bold;
}

.footersns {
	clear: both;
	font-size: 0;
	width: 276px;
	margin: auto;
}

.footersns-item {
	font-size: 12px;
	display: inline-block;
	margin: 0 10px 10px 0;
	text-align: center;
	vertical-align: top;
}

.footersns-item__link {
	display: block;
	width: 50px;
	height: 28px;
	line-height: 28px;
	color: #fff;
	font-size: 11px;
}

.footersns-item__link:hover {
	opacity: 0.8;
}

.footersns-item-facebook__link {
	background: #305097;
}

.footersns-item-twitter__link {
	background: #0dacf6;
}

.footersns-item-hatebu__link {
	background: #008fde;
}

.footersns-item-pocket__link {
	background: #ef4056;
}

#pagetop {
	position: fixed;
	right: 20px;
	bottom: -100px;
	z-index: 999;
}

.pagetop-link {
	display: block;
	color: #fff;
	background-color: #ccc;
	height: 54px;
	width: 54px;
	border-radius: 4px;
	position: relative;
	opacity: 0.8;
}

.pagetop-link:hover {
	opacity: 0.6;
}
.pagetop-link:before {
	font-family: "icomoon" !important;
	content: "\e904" !important;
	font-size: 30px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: auto;
	transform: translateX(-50%) translateY(-50%) rotate(270deg);
}

/*************** auto-ad ***************/
.auto_ad {

}
.auto_ad--breadcrumb_bottom {
	margin: 0 auto;
	max-width: 100%;
}
.post-footer-sticky--auto_ad {
	padding: 0;
	max-height: 20vh;
}
@media screen and (min-width: 768px) {
	.auto_ad--breadcrumb_bottom {
		width: 1000px;
	}
}

/***************************************************************
Sidebar
****************************************************************/

.side-sticky {
	/* positionはJSでstickyに変更する可能性がある為ベンダープレフィックスは予め記述 */
	position: -webkit-sticky;
	position: -moz-sticky;
	position: -ms-sticky;
	position: -o-sticky;
	position: relative;
	top: auto;
	width: 317px;
}
@media screen and (max-width: 768px) {
	.side-sticky {
		width: auto;
	}
}

.side .widget {
	margin-top: 30px;
}

/*追従時は縦幅がタイトなため*/
.side .side-sticky .widget {
	margin-top: 16px;
}

.side > *:first-child .widget:first-child,
.side > .widget:first-child {
	margin-top: 0px;
}

.businesshour {
	font-weight: bold;
}

.businesshour__time {
	font-size: 14px;
}

.businesshour__time--time {
	font-family: Helvetica, Arial;
}

.side-search-form {
	padding: 8px;
}

.side-search-form__title {
	padding: 0 0 8px;
	text-align: center;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
}

.side-search-form__form {
	text-align: center;
}

.side-search-form__form .searchbox-inside {
	width: 100%;
}

.side-search-form__form input[type="search"] {
	border-radius: 0;
}

/*************** banner ***************/

.banner-item-inner {
	z-index: 100;
	width: 490px;
	height: 100%;
	position: absolute;
	font-weight: bold;
	text-align: center;
	color: #ffffff;
	background: rgba(45, 45, 45, 0.3);
}

/*************** cross-search ***************/
.office-cross-search {
	margin-top: 40px;
	padding: 30px 25px 12px;
	border: 3px solid #eee;
}
.office-cross-search__title {
	padding: 0 0 20px 40px;
	border-bottom: 2px solid #dfdfdf;
	position: relative;
	color: #333;
	font-weight: bold;
	font-size: 22px;
}
.office-cross-search__title::before {
	position: absolute;
	left: 5px;
	top: -2px;
	font-family: "icomoon" !important;
	content: "\e925" !important;
	font-size: 27px;
}
.office-cross-search__title::after {
	content: "";
	height: 2px;
	width: 20%;
	position: absolute;
	bottom: -2px;
	left: 0;
}
.cross_search {
	margin: 20px 0;
	font-size: 0;
}
.cross_search-prefectures,
.cross_search-specialties {
	display: inline-block;
	vertical-align: top;
	box-sizing: border-box;
	width: 200px;
	border-radius: 4px;
	border: 1px solid #dfdfdf;
}
.cross_search-specialties {
	margin-left: 35px;
	position: relative;
	width: 220px;
}
.cross_search-specialties::before {
	position: absolute;
	left: -25px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	height: 25px;
	font-family: "icomoon" !important;
	content: "\ea0f" !important;
	font-size: 13px;
}
.cross_search-specialties--cross_white::before {
	color: #fff;
}
.cross_search-prefectures-prefecture {
	position: relative;
}
.cross_search-prefectures-prefecture-select,
.cross_search-specialties-select,
.cross_search-prefectures-city-select {
	padding: 0 10px;
	vertical-align: top;
	width: 198px;
	height: 56px;
	border-radius: 4px 4px 0 0;
	background-color: #f5f5f5;
	color: #666;
	font-weight: bold;
	font-size: 16px;
}
.cross_search-specialties-select {
	width: 218px;
}
.cross_search-prefectures-prefecture-select.white,
.cross_search-specialties-select.white,
.cross_search-prefectures-city-select.white {
	background-color: #fff;
}
.cross_search-prefectures-prefecture-select:hover,
.cross_search-specialties-select:hover,
.cross_search-prefectures-city-select:hover {
	cursor: pointer;
}
.cross_search-prefectures-prefecture-select {
	border-radius: 4px;
}
.cross_search-specialties-select {
	border-radius: 4px;
}
.cross_search-specialties-select--small {
	font-size: 14px;
}
.cross_search-prefectures-city-select {
	padding: 0 10px;
	display: inline-block;
	width: 100%;
	border-radius: 4px;
	border: 1px solid #dfdfdf;
}
.cross_search-prefectures-prefecture::after,
.cross_search-prefectures-city::after,
.cross_search-specialties::after {
	font-family: "icomoon" !important;
	content: "\e904" !important;
	font-size: 15px;
	position: absolute;
	right: 12px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	height: 20px;
	transform: rotate(90deg);
	color: #4a4a4a;
	pointer-events: none;
}
.cross_search-prefectures-city::after {
	right: 23px;
}
.cross_search-prefectures-city {
	padding: 10px;
	position: relative;
	display: none;
	align-content: center;
}
.cross_search__submit {
	margin-left: 15px;
	padding: 15px 0 17px;
	vertical-align: top;
	box-sizing: border-box;
	display: inline-block;
	width: 110px;
	height: 52px;
	border-radius: 4px;
	box-shadow: 0 3px 0 0 #bababa;
	color: #fff;
	text-align: center;
	font-weight: bold;
	font-size: 18px;
}
.cross_search__submit:hover {
	opacity: 0.8;
	cursor: pointer;
}
.main-vidual .cross_search-prefectures-city-select.white {
	width: 320px;
}
.main-vidual .cross_search-specialties-select,
.main-vidual .cross_search-prefectures-prefecture-select {
	width: 340px;
}
.main-vidual .cross_search-specialties,
.main-vidual .cross_search-prefectures {
	background: #fff;
	width: 342px;
}
.main-vidual .cross_search-prefectures-city-select {
	width: 100%;
}
.main-vidual .cross_search-specialties-select,
.main-vidual .cross_search-prefectures-prefecture-select {
	background: #fff;
	width: 340px;
}
.main-vidual .cross_search-specialties,
.main-vidual .cross_search-prefectures {
	background: #fff;
	width: 342px;
}
.main-vidual .cross_search__submit {
	width: 110px;
}

.header-top .cross_search {
	margin: 0;
	position: relative;
	top: -8px;
	height: 43px;
	overflow: hidden;
}
.header-top .cross_search-prefectures,
.header-top .cross_search-specialties {
	box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.16);
	border: none;
}
.header-top .cross_search-prefectures {
	width: auto;
	border-radius: 4px 0 0 4px;
	border-right: 1px solid #dfdfdf;
}
.header-top .cross_search-specialties,
.header-top .cross_search-prefectures-city-select {
	width: 196px;
}
.header-top .cross_search-specialties-select,
.header-top .cross_search-prefectures-city-select {
	padding: 0 8px;
}
.header-top .cross_search-prefectures-city {
	display: none;
}
.header-top .cross_search-prefectures-prefecture {
	border-bottom: none;
}
.header-top .cross_search-prefectures-prefecture-select,
.header-top .cross_search-specialties-select {
	height: 40px;
	background-color: #ededed;
	font-size: 14px;
}
.header-top .cross_search-prefectures-prefecture-select {
	width: 148px;
	border-radius: 4px 0 0 4px;
}
.header-top .cross_search-specialties {
	margin-left: 0;
	border-left: none;
	border-radius: 0;
}
.header-top .cross_search-specialties::before {
	display: none;
}
.header-top .cross_search-specialties-select {
	border-radius: 0;
}
.header-top .cross_search__submit {
	position: relative;
	margin-left: 0;
	padding: 11px 0;
	width: 118px;
	height: 40px;
	border-radius: 0 4px 4px 0;
	font-size: 14px;
}
.header-top .cross_search__submit::before {
	font-family: "icomoon" !important;
	content: "\e925" !important;
	position: relative;
	left: -2px;
	top: 1px;
}
.header-top .cross_search__submit--ssb {
	width: 188px;
}
.cross_search-button__text--header,
.header-top .cross_search-button__text {
	display: none;
}
.header-top .cross_search-button__text--header {
	display: inline-block;
}

/* pflist, splist */
.sz-pflist-title,
.sz-pflistsp-title,
.sz-splist-title,
.sz-splistsp-title {
	border-left-style: solid;
	border-left-width: 4px;
	font-size: 18px;
	font-weight: bold;
	text-align: left;
	vertical-align: middle;
	box-sizing: border-box;
	color: #333333;
	padding: 8px 15px;
	margin: 20px 0;
}
.sz-pflist-content {
	padding: 0 15px;
}
.sz-pflist-content-item {
	display: flex;
	font-size: 14px;
	font-weight: bold;
	margin-bottom: 5px;
}
.sz-pflist-content-item-sz-pflistsp {
	width: 100px;
	margin: 1px 0;
}
.sz-pflist-content-item-ul-li::after {
	content: "";
	border-right: solid 2px #ccc;
	height: 10px;
	display: inline-block;
	color: #3a7eb2;
	margin: 0 8px;
}
.sz-pflist-content-item-ul-li:last-child::after {
	display: none;
}
.sz-pflist-content-item-ul {
	display: flex;
}
.sz-splist {
	font-size: 15px;
	font-weight: bold;
}
.sz-splist-content-ul {
	display: flex;
	flex-wrap: wrap;
}
.sz-splist-content-ul-li {
	width: calc(100% / 3 - 5px);
	box-sizing: border-box;
	margin: 3px 0 0 5px;
}
.sz-splist-content-ul-li-a::before {
	font-family: "icomoon" !important;
	content: "\e905" !important;
	font-size: 10px;
	position: relative;
	top: -1px;
	margin-right: 8px;
}

/*************** city-list ***************/

.city_list__title {
	border-left-style: solid;
	border-left-width: 4px;
	font-size: 18px;
	font-weight: bold;
	text-align: left;
	vertical-align: middle;
	box-sizing: border-box;
	color: #030303;
	padding: 8px 15px;
	margin: 20px 0;
}
.city_list-ul-li {
	margin: 3px 0;
	display: inline-block;
	width: calc(100% / 3);
	box-sizing: border-box;
	font-weight: bold;
}
.city_list-ul-li__link {
	box-sizing: border-box;
	height: 55px;
}
.city_list-ul-li__link::before {
	font-family: "icomoon" !important;
	content: "\e905" !important;
	font-size: 10px;
	position: relative;
	top: -1px;
	margin-right: 8px;
}
.office-cross-search-bottom {
	margin-bottom: 8px;
}
.office-cross-search-bottom__more {
	position: relative;
	top: -1.3em;
	text-align: center;
	cursor: pointer;
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.8) 50%, #fff 100%);
}
.office-cross-search-bottom__more span {
	position: relative;
	display: inline-block;
	padding: 2px 28px 2px 1em;
	font-size: 16px;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.5) 0%, #fff 1em, #fff 90%, rgba(255, 255, 255, 0.5) 100%);
	z-index: 2;
}
.office-cross-search-bottom__more::after {
	position: relative;
	font-family: "icomoon" !important;
  content: "\e904" !important;
  font-size: 14px;
	display: inline-block;
  margin: auto 0 auto -1.4em;
  transform: rotate(90deg);
  pointer-events: none;
	z-index: 2;
}

/*************** cross_search-widget ***************/
.cross_search-widget {
	margin-bottom: 50px;
	padding: 25px;
	padding-bottom: 0;
	border: 3px solid #eee;
}
.cross_search-widget-title {
	padding: 0 0 20px 35px;
	position: relative;
	border-bottom: 2px solid #dfdfdf;
	font-size: 22px;
	font-weight: bold;
}
.cross_search-widget-title::before {
	font-family: "icomoon" !important;
	content: "\e925" !important;
	font-size: 24px;
	font-weight: bold;
	position: absolute;
	top: 0;
	left: 0;
}
.cross_search-widget-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2.5px;
	height: 2px;
	width: 20%;
}


/*************** narrow-search ***************/
.narrow-search {
	margin-top: 10px;
}
.narrow-search-row {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	height: 62px;
	border: 1px solid #dfdfdf;
	border-radius: 4px;
	background-color: #fcfcfc;
}
@media screen and (max-width: 374px) {
	.narrow-search-row {
		height: 42px;
	}
}
.narrow-search-row:nth-child(n+2) {
	margin-top: 8px;
}
.narrow-search-row::before {
	font-family: "icomoon" !important;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}
.narrow-search-row::after {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 8px;
	box-sizing: border-box;
	padding: 3px 0 1px 2px;
	width: 20px;
	text-align: center;
	font-family: "icomoon" !important;
	content: "\e904" !important;
	border-radius: 50%;
	color: #fff;
	font-size: 11px;
	pointer-events: none;
}
.narrow-search-row--prefecture::before {
	content: "\e94d" !important;
	left: 10px;
	font-size: 24px;
}
.narrow-search-row--city::before {
	content: "\e914" !important;
	left: 14px;
	font-size: 22px;
}
.narrow-search-row--specialty::before {
	content: "\e94e" !important;
	left: 10px;
	font-size: 26px;
}
.narrow-search-row__title {
	padding: 5px 8px 5px 44px;
	font-size: 14px;
	font-weight: bold;
}
.narrow-search-value {
	padding: 5px 0 5px 8px;
	flex: 1;
	font-size: 15px;
}
.narrow-search-value--specialty:not(.narrow-search-value--default) {
	font-size: 14px;
}
.narrow-search-value--default {
	color: #ccc;
}

.narrow-search-modals {
	display: none;
	position: fixed;
	top: 0;
	left: calc(-50vw + 500px);
	width: 100vw;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.64);
	z-index: 1000;
}
.narrow-search-modal {
	display: none;
	position: absolute;
	width: 100%;
}
.narrow-search-modal__body {
	max-height: calc(100vh - 48px);
	overflow-y: scroll;
}
.narrow-search__button {
	padding-right: 34px;
	height: 100%;
	background-color: transparent;
	font-size: 14px;
}
.narrow-search__button:hover {
	cursor: pointer;
}
.narrow-search__close-button {
	position: absolute;
	top: 10px;
	right: 16px;
	padding: 4px 2px 3px 18px;
	width: 15vw;
	min-width: 56px;
	text-align: center;
	font-size: 10px;
	font-weight: bold;
	background-color: #fff;
	color: #000;
	border-radius: 4px;
}
.narrow-search__close-button:hover {
	cursor: pointer;
}
.narrow-search__close-button-span {
	position: absolute;
	top: 2px;
	left: 6px;
	line-height: 1;
	font-size: 16px;
}
@media screen and (max-width: 374px) {
	.narrow-search-row::after {
		right: 6px;
		padding: 2px 0 0px 1px;
		width: 18px;
		height: 18px;
	}
	.narrow-search-row__title,
	.narrow-search-value--specialty:not(.narrow-search-value--default),
	.narrow-search-value,
	.narrow-search__button {
		font-size: 12px;
	}
	.narrow-search__button {
		padding-right: 30px;
	}
	.narrow-search-row__title {
		padding: 5px 4px 5px 38px;
	}
	.narrow-search-value {
		padding-left: 4px;
	}
	.narrow-search-row--prefecture::before {
		left: 8px;
		font-size: 22px;
	}
	.narrow-search-row--city::before {
		left: 12px;
		font-size: 20px;
	}
	.narrow-search-row--specialty::before {
		left: 8px;
		font-size: 24px;
	}
}
/* modal */
.narrow-search-modal__head {
	padding: 12px 16px 12px 20px;
}
.narrow-search-modal__title {
	color: #fff;
	font-size: 16px;
	font-weight: bold;
}
.narrow-search-modal-table:last-child {
	padding-bottom: 114px;
}
.narrow-search-modal-table-head {
	padding: 12px 20px;
	background-color: #f5f5f5;
	font-size: 16px;
	font-weight: bold;
}
.narrow-search-modal-table-body {
	background-color: #fff;
	font-size: 0;
}
.narrow-search-modal-table__item {
	display: inline-block;
	width: 100%;
	min-height: 42px;
	vertical-align: top;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
.narrow-search-modal-table__item--city {
	width: calc(100% / 2);
}
.narrow-search-modal-table__item--prefecture {
	width: calc(100% / 3);
}
.narrow-search-modal-table__item--city:nth-child(2n) {
	border-left: 1px solid #ddd;
	width: calc(100% / 2 - 1px);
}
.narrow-search-modal-table__item--prefecture:nth-child(3n),
.narrow-search-modal-table__item--prefecture:nth-child(3n+2) {
	border-left: 1px solid #ddd;
	width: calc(100% / 3 - 1px);
}
.narrow-search-modal-table__item--city:nth-child(n+3),
.narrow-search-modal-table__item--prefecture:nth-child(n+4) {
	border-top: none;
}
.narrow-search-modal-table__item--no-boder:last-child {
	border-left: none;
}
.narrow-search-modal-table__item--specialty:nth-child(n+2) {
	border-top: none;
}
.narrow-search-modal-table__link {
	display: inline-block;
	box-sizing: border-box;
	width: 100%;
	padding: 10px 20px 10px 16px;
	text-align: center;
	color: #333;
	font-size: 15px;
}
.narrow-search-modal-table__link--selected {
	font-weight: bold;
}

/*************** footer-only-menu ***************/

.footer-only-menu-li {
	padding: 3px 0;
	display: inline-block;
	font-weight: bold;
}
.footer-only-menu-li::after {
	content: "|";
	padding: 0 3px;
}
.footer-only-menu-li:last-child::after {
	display: none;
}

/* lightbox */
.lightboxOverlay {
	left: calc(-50vw + 500px) !important;
}
@media screen and (max-width: 1000px) {
	.lightboxOverlay {
		left: 0 !important;
	}
}
/***************************************************************
Smartphone and Tablet
****************************************************************/
@media screen and (max-width: 767px) {
	.main .widget > * {
		margin-top: 30px;
	}

	/*************** banner ***************/

	.banner {
		margin: 0;
		margin-top: 30px;
		padding: 0;
		width: 100%;
		background-color: #ffffff;
	}

	.banner-item-inner {
		width: 100%;
	}

	.banner-item {
		display: inline-block;
		width: 490px;
		height: 240px;
		background-color: #555;
		position: relative;
		margin-right: 15px;
	}

	.banner-item:last-child {
		margin-right: 0;
	}

	.banner-item__image {
		z-index: 5;
		width: 490px;
		height: 240px;
		position: absolute;
		object-fit: cover;
	}

	.banner-item__subtext {
		margin-top: 40px;
		font-size: 16px;
		text-shadow: 0 0 2px rgba(0, 0, 0, 0.7);
	}

	.banner-item__title {
		margin-top: 22px;
		font-size: 22px;
		text-shadow: 0 0 2px rgba(0, 0, 0, 0.7);
	}

	.banner-item__button {
		display: flex;
		width: 178px;
		color: #ffffff;
		border-radius: 4px;
		border: solid 1px #ffffff;
		padding: 7px 15px;
		height: 25px;
		justify-content: center;
		align-items: center;
		margin: 10px auto 0;
		font-size: 16px;
	}

	/***************************************************************
	SP Base Styles
	****************************************************************/

	body {
		width: 95%;
		padding: 0 2.5%;
		background: #fff;
	}

	header,
	footer,
	.footer-info,
	.footer-externallink {
		margin: 0 -2.5%;
		padding: 0 2.5%;
	}

	/***************************************************************
	SP Frame Work
	****************************************************************/

	.main {
		display: block;
		width: 100%;
	}

	.side {
		display: block;
		width: 100%;
		padding-left: 0px;
		margin-top: 40px;
	}

	.content {
		display: block;
	}

	/***************************************************************
	SP Common Element Styles
	****************************************************************/

	.beforecenter::before {
		text-align: center;
	}

	.aftercenter::after {
		text-align: center;
	}

	/***************************************************************
	SP Common Block Styles
	****************************************************************/

	input::placeholder,
	textarea::placeholder {
		font-size: 13px;
	}

	/*************** businesshour ***************/

	.businesshour {
		display: flex;
		justify-content: center;
		font-size: 16px;
		align-items: center;
		font-weight: bold;
		margin-bottom: 5px;
	}
	@media screen and (max-width: 374px) {
		.businesshour {
			font-size: 15px;
		}
	}

	.businesshour__time {
		font-size: 13px;
	}

	/*************** breadcrumb ***************/

	.breadcrumb {
		line-height: 1.5em;
		background: #f6f6f6;
		padding: 10px 10px;
		margin: 0 calc(((100vw - 100%) / 2) * -1);
	}

	.breadcrumb-list {
		width: 100%;
	}

	.breadcrumb-list {
		width: 100%;
	}

	/*************** pagenation ***************/

	.pagenation {
		padding: 10px 10px;
	}

	.pagenation:first-child {
		padding-top: 0;
	}

	.pagenation:last-child {
		padding-bottom: 0;
	}

	.pagination-list {
		margin-top: 40px;
		display: block;
		text-align: center;
		padding: 0;
		background-color: transparent;
	}

	.pagination-link {
		margin-top: 20px;
	}

	.pagination-number__index {
		display: none;
	}

	.pagination-index__current {
		font-weight: bold;
		font-size: 18px;
		display: inline-block;
		margin: 0 10px;
	}

	.pagination-number__prev,
	.pagination-number__link {
		width: 50px !important;
		margin-right: 0px;
	}

	.pagination-number__link:first-child,
	.pagination-number__current:first-child {
		margin-left: 0;
	}

	.pagination-number__link,
	.pagination-number__current {
		padding: 3px 9px;
		background-color: #fff;
	}

	.pagination-number__link.pagination-number__next {
		margin-left: 0;
	}

	/*************** map ***************/

	.map {
		width: 100%;
	}

	.map-outer {
		background-image: none;
		padding: 0 calc((100vw - 100%) / 2);
		margin: 0 calc((100vw - 100%) / -2);
	}

	.region-name {
		background: #fff;
		padding-left: 20px;
		font-weight: bold;
		color: #444;
		vertical-align: middle;
		line-height: 55px;
		position: relative;
		border-bottom: solid 1px #dfdfdf;
	}

	.region-name::before {
		width: 21px;
		height: 21px;
		-webkit-border-radius: 50%;
		border-radius: 50%;
		content: "";
		position: absolute;
		right: 25px;
		top: 14px;
	}
	.region-name::after {
		width: 6px;
		height: 6px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(135deg);
		transform: rotate(135deg);
		content: "";
		position: absolute;
		right: 32px;
		top: 19px;
	}

	.region-name.active::after {
		width: 6px;
		height: 6px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		-webkit-transform: rotate(315deg);
		transform: rotate(315deg);
		content: "";
		position: absolute;
		right: 32px;
		top: 22px;
	}

	.region {
		margin: 0 calc((100vw - 100%) / -2);
	}

	.prefecture-list {
		display: flex;
		flex-wrap: wrap;
		background: #f5f5f5;
		padding: 10px 20px;
	}

	.prefecture-item {
		width: 50%;
		box-sizing: border-box;
		padding: 5px 2.5px;
	}

	.prefecture-link {
		display: flex;
		justify-content: center;
		align-items: center;
		border: solid 1px #dfdfdf;
		width: calc(100% - 5px);
		height: 46px;
		border-radius: 4px;
		box-shadow: 0 4px 0 0 #cccccc;
		background: #fff;
		font-weight: bold;
		color: #333;
		font-size: 14px;
	}

/* sz-main sp */
	.sz-main-vidual {
		position: relative;
		margin: 0 calc((100vw - 100%) / -2);
		padding: 0 calc((100vw - 100%) / 2);
		overflow: hidden;
		height: 450px;
	}
	.sz-main-vidual {
		height: 600px;
	}
	.sz-main-vidual-content {
		width: 90%;
		top: 60%;
	}
	.sz-main-vidual-content--szz {
		top: 62%;
	}
	.sz-main-vidual-content--ctb {
		width: 90%;
	}
	.sz-main-vidual-content--kmb {
		background: none;
	}
	.sz-main-vidual .cross_search-specialties-select,
	.sz-main-vidual .cross_search-prefectures-prefecture-select {
		width: 100%;
	}
	.sz-main-vidual .cross_search-specialties,
	.sz-main-vidual .cross_search-prefectures {
		background: #fff;
		width: 100%;
	}
	.sz-main-vidual .cross_search {
		display: block;
		width: auto;
	}
	.sz-main-vidual .cross_search__submit {
		width: 100%;
	}
	.sz-main-vidual-content__text {
		font-size: 27px;
	}
	.sz-main-vidual-content__text--ctb {
		margin-top: 10px;
		font-size: 40px;
		line-height: 1.2;
	}
	@media screen and (max-width: 374px) {
		.sz-main-vidual-content__text {
			font-size: 26px;
		}
	}
	.sz-main-vidual-content__subtext {
		font-size: 16px;
	}
	.sz-main-vidual-content__subtext--ctb {
		margin-top: 15px;
		line-height: 1.9;
		font-size: 14px;
	}
	.sz-main-vidual-content__link {
		margin-top: 15px;
		position: relative;
		height: 66px;
	}
	.sz-main-vidual-content__link::before {
		font-family: "icomoon" !important;
		content: "\e904" !important;
		position: absolute;
		right: 20px;
		top: 23px;
		font-size: 14px;
		font-weight: normal;
	}

	/*************** consultboxsp ***************/
	.banner-item {
		display: block;
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 0 auto 11px;
	}

	.banner-item:last-child {
		margin-right: auto;
	}

	.banner-item__button {
		margin-top: 30px;
		padding: 6px 0;
		height: auto;
	}

	.banner-item__title {
		font-size: 3.5vw;
	}

	.banner-item__image {
		width: 100%;
	}

	/*************** consultboxsp ***************/

	.consultboxspinline {
		display: flex;
		justify-content: space-between;
		width: 100%;
	}

	.consultboxspinline-tel,
	.consultboxspinline-mail {
		width: 49%;
	}

	.consultboxspinline__text--archivebox {
		font-size: 12px;
		margin-top: 21px;
		margin-bottom: 30px;
	}

	.consultboxspinline-tel__button,
	.consultboxspinline-mail__button {
		width: 100%;
		height: 41px;
		margin-top: 12px;
		line-height: 1.3;
		font-size: 14px;
	}

	.consultboxspinline-mail__button:hover {
		opacity: 0.8;
		cursor: pointer;
	}

	.consultbox--bottomdetail {
		padding: 20px;
		margin: 0 2.5% 20px;
	}

	.consultboxspinline-mail__button {
		color: #fff;
		border-radius: 4px;
		font-weight: bold;
	}

	.consultboxsp {
		text-align: center;
		background-color: #fbfaf8;
	}

	.consultboxsp-tel__button,
	.consultboxsp-mail__button {
		width: 100%;
		height: 50px;
		font-size: 14px;
		background-color: #dfdfdf;
		color: #fff;
	}

	.consultboxsp-mail__button {
		font-weight: bold;
		border-radius: 4px;
		box-shadow: 0 4px 0 0 #bababa;
	}

	.consultboxsp-mail__button:hover {
		opacity: 0.8;
		cursor: pointer;
	}

	.consultboxsp-tel__button {
		margin-bottom: 10px;
		margin-right: 5px;
	}

	.consultboxsp-mail__button::before {
		font-family: "icomoon" !important;
		content: "\e912" !important;
		padding-right: 10px;
		font-weight: 100;
	}

	.consultboxsp-tel__button::before {
		font-family: "icomoon" !important;
		content: "\e92c" !important;
		color: #fff;
		font-size: 12px;
		position: relative;
		right: 10px;
	}

	.consultbox-affiliate__button {
		width: 100%;
		max-width: 300px;
		padding: 12px 0;
	}

	/*************** map ***************/

	.spmap {
		color: #fff;
		padding: 0;
	}

	.spmap__title {
		font-size: 14px !important;
		height: 48px !important;
		display: flex;
		align-items: center;
		color: #fff !important;
		margin: 0 calc((100vw - 100%) / -2) !important;
		font-weight: bold;
		padding: 0 20px !important;
		border: none !important;
	}

	.spmap__titleh1 {
		border-left: none;
		margin-top: -25px;
	}

	.spmap-image {
		position: relative;
		margin: 0 calc((100vw - 100%) / -2);
		height: 230px;
	}

	.spmap-image--rks {
		height: 600px;
	}

	.spmap-image__image {
		width: 100%;
		height: 100%;
		vertical-align: middle;
		object-fit: cover;
	}

	.spmap-image-texts {
		display: inline-block;
		height: 100%;
		text-align: center;
		position: absolute;
		left: 0;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		background: rgba(45, 45, 45, 0.3);
	}

	.spmap-image-texts__title {
		display: block;
		font-size: 25px;
		font-weight: bold;
		top: 20%;
		position: absolute;
		left: 0;
		right: 0;
	}

	.spmap-image-texts__text {
		display: block;
		font-size: 13px;
		position: absolute;
		top: 60%;
		right: 0;
		left: 0;
	}

	.spmap__button {
		font-size: 18px;
		padding: 20px 0;
		margin: 30px auto;
	}

	.spmap__buttonB {
		display: block;
		box-sizing: border-box;
		width: 100%;
		margin: 20px 0;
		text-align: center;
	}

	.spmap__buttonB:hover {
		transform: none;
	}

	/***************************************************************
	Header
	****************************************************************/

	/*************** hamburger menu ***************/

	#hamburger {
		width: 50px;
		height: 40px;
		position: absolute;
		right: 0px;
		top: 6px;
		padding: 12px 8px 3px 10px;
		z-index: 11;
	}
	#hamburger:hover {
		cursor: pointer;
	}

	#hamburger span {
		width: 40px;
		height: 2px;
		position: absolute;
		transition: width 0.2s, right 0.2s, left 0.2s;
	}

	#hamburger .top {
		transform: translateY(-17px);
		right: 15px;
		top: 30px;
	}

	#hamburger .middle {
		transform: translateY(0px);
		display: block;
		position: relative;
		right: -3px;
		top: 10px;
	}

	#hamburger .middle::before,
	#hamburger .middle::after {
		display: block;
		content: "";
		width: 40px;
		height: 2px;
		position: absolute;
		transform: rotate(0deg);
		transition: all 0.2s;
	}

	#hamburger .bottom {
		transform: translateY(17px);
		right: 15px;
		top: 15px;
	}

	#hamburger.active .top {
		left: 100%;
		width: 0px;
		background-color: #fff;
	}

	#hamburger.active .middle::before {
		width: 30px;
		background-color: #fff;
		transform: translateX(5px) rotate(135deg);
	}

	#hamburger.active .middle::after {
		width: 30px;
		background-color: #fff;
		transform: translateX(5px) rotate(45deg);
	}

	#hamburger.active .bottom {
		right: 100%;
		width: 0px;
		background-color: #fff;
	}

	.home-nav-sp {
		width: 100vw;
		z-index: 101;
	}

	.home-nav-sp-top__button::before {
		color: #fff;
		margin-right: 10px;
	}

	.home-nav-sp__text {
		width: 40px;
		font-size: 9px;
		font-weight: bold;
		text-align: center;
		color: #444;
		position: absolute;
		top: 44px;
		right: 14px;
		z-index: 12;
	}

	.home-sidebar {
		margin-top: 40px;
	}

	.home-sidebar .widget {
		margin-bottom: 40px;
	}

	#home-nav-sp {
		display: none;
		width: 100%;
		box-sizing: border-box;
		position: absolute;
		top: 61px;
		left: 0;
		box-shadow: 0 4px 2px 0 rgba(0, 0, 0, 0.5);
		padding: 10px 10px 20px;
		z-index: 101;
	}

	#home-nav-sp .searchbox {
		display: block;
	}

	#home-nav-sp input[type="search"] {
		height: 60px;
		width: 100%;
		font-size: 16px;
	}

	#home-nav-sp .searchbox-inside {
		width: 100%;
	}

	#home-nav-sp .searchbox-inside__button {
		top: 7px;
		box-shadow: 0 2px 0 0 #7c7c7c;
		background-color: #f6f6f6;
		border: solid 1px #dfdfdf;
	}

	#home-nav-sp input[type="submit"] {
		height: 46px;
	}

	.sp-header-menu a {
		color: #444;
	}

	.sp-header-menu {
		margin-top: 10px;
		margin-bottom: 10px;
	}

	#home-nav-sp ul {
		border-radius: 4px;
		background-color: #ffffff;
	}

	#home-nav-sp ul a {
		display: block;
		width: 100%;
		box-sizing: border-box;
		text-align: left;
		box-shadow: inset 0 -1px 0 0 #dfdfdf;
		position: relative;
		padding: 16px 15px;
	}

	#home-nav-sp ul li:last-child a {
		border-radius: 4px;
	}

	#home-nav-sp ul a::after {
		color: #444;
		position: absolute;
		right: 20px;
		bottom: 21px;
	}

	#home-nav-sp a:link {
		font-weight: bold;
	}

	.header-border {
		margin: 0 calc((100vw - 100%) / -2);
	}

	.header-nav-sp__link {
		display: block;
		font-size: 15px;
		color: #fff;
		position: relative;
		margin-top: 20px;
	}

	.header-navigation-ul-li__image {
		position: relative;
		left: -10px;
	}

	#home-nav-sp ul a {
		padding-left: 30px;
	}

	.header-top {
		width: 100%;
		margin-top: 9px;
		margin-bottom: 10px;
		padding: 0;
		padding-top: 5px !important;
		display: flex;
		justify-content: space-between;
	}

	.header-top-logo-a__img {
		width: 230px;
		height: auto;
	}

	.header-top-logo-a__img--rks {
		width: 175px;
	}

	/***************************************************************
	SP Footer
	****************************************************************/

	footer {
		width: 100%;
		margin: 0 calc(((100vw - 100%) / 2) * -1);
		padding: 0 calc(((100vw - 100%) / 2) * 1);
		background-color: #f5f5f5;
		border-top: 2px solid #dfdfdf;
		margin-top: 45px;
	}

	.footer-office-button {
		width: 100%;
	}

	.footer-top-sns {
		margin-top: 19px;
	}

	.footer-externallink-cafebanner {
		width: 100%;
	}

	.footer-last {
		margin-left: calc(-50vw + 50%);
		margin-right: calc(-50vw + 50%);
		padding-left: calc(50vw - 50%);
		padding-right: calc(50vw - 50%);
	}

	.footer-top__button {
		width: 100%;
		height: 64px;
		line-height: 64px;
		vertical-align: middle;
	}

	.footer-top__logo {
		width: 100%;
		text-align: center;
	}

	.footer-top__logo__img {
		width: 80%;
		max-width: 256px;
		height: auto;
		background-color: #f5f5f5;
	}

	.footer-top-sns {
		width: 100%;
		margin: 20px auto 0 auto;
	}

	.footersns {
		text-align: center;
		margin-bottom: 0;
	}

	.footersns-item {
		margin-bottom: 0;
	}

	.footer-relation_site,
	.footer-site_menu {
		width: auto;
		margin: 25px 0 0 0;
	}

	.footer-site_menu {
		margin-top: 25px;
	}

	.footer__menu {
		font-size: 16px;
		font-weight: bold;
		text-align: left;
		color: #444444;
		margin: 17px 0 6px;
	}

	.footer-info,
	.footer-externallink {
		width: auto;
		background: none;
		border: none;
	}

	.footer-top {
		width: 100%;
		margin-top: 41px;
	}

	.footer-info {
		width: auto;
		margin-top: 0;
		text-align: left;
	}

	.footer-info__text a {
		color: #3a7eb2;
	}

	.footer-info__ul {
		word-break: keep-all;
	}

	.footer-search {
		width: 100%;
		padding-bottom: 0;
		min-height: 70px;
		margin-top: 20px;
	}

	.footer-search__button {
		display: block;
		font-size: 18px;
		padding: 18px 0;
	}

	footer .hatebu-box {
		margin-bottom: 25px;
	}

	.footer-externallink-cafebanner {
		display: block;
	}

	.footer-externallink-cafebanner-cafelist {
		width: 100%;
	}

	.footer-externallink-cafebanner-banner {
		display: block;
		width: 100%;
		margin: 25px auto 0;
		max-width: 87%;
	}

	.footer-externallink-cafebanner-banner__text {
		display: block;
		margin: 0 auto 18px;
		width: 100%;
		height: auto;
		max-height: 108px;
		text-align: center;
	}

	.footer-externallink-banner__img {
		width: 100%;
		max-height: 108px;
		object-fit: contain;
	}

	.footer-externallink-cafebanner-banner__img {
		width: 100%;
		height: auto;
	}

	.footer-externallink-cafebanner-cafelist__text {
		width: auto;
	}

	/*************** footer sticky ***************/

	.sticky-contact {
		display: none;
		width: 100%;
		box-sizing: border-box;
		text-align: center;
		background-color: #fff;
		padding: 5px 5px 9px 5px;
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 999;
		box-shadow: 0 0 4px 2px #dfdfdf;
		justify-content: center;
	}

	.post-footer-sticky > :first-child > a {
		width: 95vw;
	}

	/* ボタンテキスト */
	.post-footer-sticky > section > a > p {
		display: inline-block;
	}

	.post-footer-sticky > :nth-last-child(2) > a,
	.post-footer-sticky > :nth-last-child(2) ~ :last-child > a {
		width: 47.5vw;
	}

	.sticky-contact-tel,
	.sticky-contact-search,
	.sticky-contact-anything {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 54px;
		box-sizing: border-box;
		line-height: 1.1;
		border-radius: 4px;
		box-shadow: 0 4px 0 0;
		font-size: 16px;
		font-weight: bold;
		text-align: left;
		color: #ffffff;
		min-width: 47.5vw;
	}

	.sticky-contact-anything__image {
		height: 31px;
		width: 31px;
	}

	@media screen and (max-width: 374px) {
		.sticky-contact-anything__text {
			font-size: 13px;
		}
	}

	.sticky-contact-tel {
		padding-left: 20px;
	}

	.sticky-contact-mail {
		display: inline-block;
		height: 54px;
		box-sizing: border-box;
		line-height: 1.1;
		border-radius: 4px;
		box-shadow: 0 4px 0 0;
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		color: #ffffff;
		min-width: 47.5vw;
		padding-left: 26px;
	}

	.sticky-contact-mail:hover {
		opacity: 0.8;
		cursor: pointer;
	}

	.sticky-contact-mail-span {
		display: inline-block;
		position: relative;
		text-align: left;
	}

	.sticky-contact-tel,
	.sticky-contact-mail {
		line-height: 1.3;
	}

	.sticky-contact-tel--wide {
		width: 97.5%;
	}

	.sticky-contact-tel__text {
		position: relative;
	}

	.sticky-contact-tel__text,
	.sticky-contact-mail-span {
		font-size: 16px;
	}

	.sticky-contact-affiliate{
		display: grid;
		width: 100%;
	}

	.sticky-contact-affiliate__button {
		padding: 16px 0;
		width: 100%;
		font-size: 15px;
		font-weight: bold;
		margin: 0 auto;
		color: #fff;
		background: #f2f2f2;
		border-radius: 4px;
		text-align: center;
	}

	.sticky-contact-affiliate__button::after {
		content: '>';
		position: relative;
		right: -8px;
		font-weight: bold;
		top: 0;
	}

	.widget_sp_anything_sticky_button,
	.widget_lawyer_search_button {
		vertical-align: bottom;
	}

	.sticky-contact-anything {
		background-color: #f6f6f6;
		color: #7d6c50;
	}

	.post-footer-sticky section:nth-child(2),
	.sticky-contact form:nth-child(2) {
		margin-left: 1vw;
	}

	.sticky-dummy {
		display: block;
		height: 66px;
	}

	/*************** cross-search ***************/

	.office-cross-search {
		border: none;
		margin: 0 -2.5%;
		padding: 0 2.5%;
	}
	.office-cross-search-sp {
		margin: 0 -2.5%;
		padding: 1px 2.5%;
		background-color: #f5f5f5;
	}

	.office-cross-search__zonkoku-button {
		margin: 20px 0;
		display: block;
		text-align: center;
	}
	.cross_search {
		text-align: center;
	}
	.cross_search-prefectures,
	.cross_search-specialties {
		width: 95%;
	}
	.cross_search-prefectures-prefecture-select,
	.cross_search-specialties-select,
	.cross_search-prefectures-city-select {
		padding: 0 26px;
		width: 100%;
		height: 60px;
	}
	.cross_search-specialties {
		margin-top: 30px;
		margin-left: 0;
	}
	.cross_search-specialties::before {
		left: 0;
		right: 0;
		top: -90px;
		bottom: 0;
		margin: auto;
		height: 21px;
		font-size: 12px;
	}
	.cross_search__submit {
		margin: 25px 0 0;
		width: 95%;
		height: 60px;
	}

	/*************** city-list ***************/
	.city_list__title {
		margin-left: 10px;
	}
	.city_list-ul {
		margin: 0 calc(-50vw + 50%);
		background-color: #fff;
	}
	.city_list-ul-li {
		display: block;
		width: auto;
	}
	.city_list-ul-li__link {
		position: relative;
		display: block;
		border-bottom: 1px solid #dedede;
		color: #444;
		padding: 15px 20px;
	}
	.city_list-ul-li__link::before {
		display: none;
	}
	.city_list-ul-li__link::after {
		font-family: "icomoon" !important;
		content: "\e904" !important;
		font-size: 12px;
		font-weight: normal;
		position: absolute;
		right: 20px;
		top: 50%;
		transform: translateY(-50%);
	}

	/*************** cross_search-widget ***************/
	.cross_search-widget {
		margin: 0;
		margin-bottom: 40px;
		padding: 0;
		border: none;
	}
	.cross_search-widget-title {
		border-bottom: none;
	}
	.cross_search-widget-title::before,
	.cross_search-widget-title::after {
		display: none;
	}
	.main-vidual .cross_search-specialties-select,
	.main-vidual .cross_search-prefectures-prefecture-select {
		width: 100%;
	}
	.main-vidual .cross_search-specialties,
	.main-vidual .cross_search-prefectures {
		background: #fff;
		width: 100%;
	}
	.main-vidual .cross_search {
		display: block;
		width: auto;
	}
	.main-vidual .cross_search__submit {
		width: 100%;
	}
	/* pflist, splist */
	.sz-splistsp-ul {
		background: #f5f5f5;
		margin: 0 calc((100vw - 100%) / -2) 0;
		padding: 0 calc((100vw - 100%) / 2);
	}
	.sz-splistsp-ul-li {
		font-weight: bold;
		color: #444;
		vertical-align: middle;
		position: relative;
		background: #fff;
		margin: 0 calc((100vw - 100%) / -2);
		border-bottom: solid 1px #dfdfdf;
		font-size: 15px;
	}
	.sz-splistsp-ul-li-a {
		padding: 15px 20px;
		box-sizing: border-box;
		display: inline-block;
		width: 100%;
		height: 100%;
		color: #444;
		position: relative;
	}
	.sz-splistsp-ul-li-a::after {
		font-family: "icomoon" !important;
		content: "\e904" !important;
		font-size: 12px;
		font-weight: normal;
		position: absolute;
		right: 20px;
	}
	.sz-pflist-title,
	.sz-pflistsp-title,
	.sz-splist-title,
	.sz-splistsp-title {
		margin: 20px 0 15px;
	}

	/* narrow-search */
	.narrow-search-modals {
		left: 0;
	}
}
