/* WordPress サイトへ 本体サイトのヘッダー・フッター移植用 */

*,
:after,
:before {
	margin: 0;
	padding: 0;
	box-sizing: border-box
}

:where(body) {
    line-height: 1.5;
    font-family: system-ui,sans-serif;
    -webkit-font-smoothing: antialiased
}

:where(img, svg, video, canvas, audio, iframe, embed, object) {
	display: block
}

:where(img,picture,svg,video) {
    max-inline-size: 100%;
    block-size: auto
}

.l-headerBottom {
	font-family: Hiragino Kaku Gothic ProN,Helvetica Neue,arial,Hiragino Sans,BIZ UDPGothic,meiryo,sans-serif;
}

.pc-view {
	display: block
}

@media(max-width:1099px) {
	.pc-view {
		display: none
	}
}

.tablet-view {
	display: none
}

@media(max-width:1099px) {
	.tablet-view {
		display: block
	}
}

@media(max-width:576px) {
	.tablet-view {
		display: none
	}
}

.sp-view {
	display: none
}

@media(max-width:576px) {
	.sp-view {
		display: block
	}
}

.pc-and-tablet-view {
	display: block
}

@media(max-width:576px) {
	.pc-and-tablet-view {
		display: none
	}
}

.tablet-and-sp-view {
	display: none
}

@media(max-width:1099px) {
	.tablet-and-sp-view {
		display: block
	}
}

.pc-and-sp-view {
	display: block
}

@media(max-width:1099px) {
	.pc-and-sp-view {
		display: none
	}
}

@media(max-width:576px) {
	.pc-and-sp-view {
		display: block
	}
}

.splide__arrow {
	padding: 12px;
	width: unset;
	height: unset
}

.splide__arrow svg {
	fill: #000;
	height: 20px;
	width: 20px
}

:root {
	color-scheme: light !important
}


/* WordPress サイトへ 本体サイトのヘッダー・フッター移植用: 追加箇所 */

#root_header_wrapper,
#root_footer_wrapper {
	font-family: Hiragino Kaku Gothic ProN, Helvetica Neue, arial, Hiragino Sans, BIZ UDPGothic, meiryo, sans-serif;
}

@media(max-width:576px) {
	#root_header_wrapper,
	#root_footer_wrapper {
		font-size: clamp(12px, 3.7333333333vw, 16px)
	}
}

#root_header_wrapper {
	background: #fff;
	position: relative;
	z-index: auto;
}

.dropdown-overlay-target #root_header_wrapper {
	z-index: 10;
}

/* 0. SWELL main.css によって打ち消されている部分を再上書き */

#root_header_wrapper button.dropdown-button__trigger {
	display: grid;
	background-color: transparent;
	border: none;
}

#root_header_wrapper button.dropdown-button__trigger--open {
	background-color: #f0f3f5;
}

#root_header_wrapper button.dropdown-links-menu__button-link {
	background-color: transparent;
	border: none;
}


#root_header_wrapper .area-menu__region-list,
#root_header_wrapper .area-menu__prefecture-list,
#root_header_wrapper .header-sp-navigation__list {
	list-style: none !important;
	padding: 0;
}

#root_header_wrapper .area-menu__region-item,
#root_header_wrapper .area-menu__prefecture-item {
	margin: 0 !important;
	line-height: 1 !important;
}

#root_header_wrapper .header-sp-navigation__item {
	margin: 0 !important;
}

.post_content .footer-company-navigation__list {
	padding-left: 0;
}

.post_content .footer-company-navigation__item {
	list-style: none;
	margin: 0;
}

/* 1. body_wrap 内に独立した重ね合わせ文脈を作る */
#body_wrap {
	position: relative;
	z-index: 1;
}

/* 2. 背景オーバーレイの設定 */
body.dropdown-overlay-target:before,
body.hamburger-overlay-target:before {
	display: none !important;
}

.dropdown-overlay-target #body_wrap::before,
.hamburger-menu-active #body_wrap::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, .4);
	/* opacity: 0; */
	transition: opacity .01s ease;
	z-index: 5;
	pointer-events: auto;
}

#root_header_wrapper .global-navigation .dropdown-button__menu {
	z-index: 1 !important; 
}

#root_header_wrapper .hamburger-menu__consultation-buttons button {
	display: flex;
}

#root_footer_wrapper .footer__contents-cassette:last-of-type {
	margin-bottom: 90px !important;
}

.home #root_footer_wrapper .footer__contents-cassette:last-of-type {
	margin-bottom: unset !important;
}

.footer__our-other-websites,
.footer__our-other-websites-title {
	line-height: 1.6;
}

.footer-jpx-and-isms {
    display: flex;
    gap: 0 8px;
    grid-row: 2 / 3;
	line-height: 1.6;
	font-weight: 700;
}

.footer-jpx {
    display: flex;
    align-items: center;
    gap: 0 10px;
    width: 100%;
    max-width: 216px;
    padding: 14px 12px;
    background-color: #fff;
    border: 1px solid #cdd6dd;
}

.footer-jpx__notes {
	color: #98a6b5;
}

.footer-isms {
    display: grid;
    place-content: center;
    gap: 4px 0;
    padding: 6px;
    background-color: #fff;
    border: 1px solid #cdd6dd;
}

.footer-isms__logo {
    width: 52px;
    margin-inline: auto;
}

.footer-isms__text {
    color: #98a6b5;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
}


/* -------------------- PC  -------------------- */
@media print,screen and (min-width: 577px) {

	#root_header_wrapper .global-navigation__item {
		margin: 0 !important;
	}

	#root_header_wrapper .header-sp button {
		border: none;
		background: transparent;
	}

	#root_footer_wrapper .footer-site-navigation__item {
		line-height: 1.6;
		list-style: none;
		margin: 0 0 12px 0;
	}

	#root_footer_wrapper .footer-site-navigation__item:last-child {
		margin-bottom: 0;
	}

	.footer-site-navigation__list {
		padding-left: 0 !important;
	}

	#root_footer_wrapper .footer-site-navigation__sub-list {
		list-style: none;
		padding-left: 0 !important;
	}

	#root_footer_wrapper .footer-site-navigation__sub-item {
		line-height: 1.6;
		margin: 0 0 8px 0;
	}

	#root_footer_wrapper .footer-site-navigation__sub-item:last-child {
		margin-bottom: 0;
	}


	#root_footer_wrapper .footer-jpx__notes {
		line-height: 1.6;
	}
}

/*  -------------------- SP  -------------------- */
@media print,screen and (max-width: 576px) {

	#root_header_wrapper .header-sp button {
		border: none;
		background: transparent;
	}

	#root_header_wrapper button.header-sp-hamburger-menu__open-button,
	#root_header_wrapper .header-sp--open button.header-sp-hamburger-menu__close-button {
		display: flex;
		background-color: transparent;
		border: none;
		padding: 0;
		height: 100%;
	}

	#root_header_wrapper .header-sp--open button.header-sp-hamburger-menu__open-button,
	#root_header_wrapper button.header-sp-hamburger-menu__close-button {
		display: none;
	}

	#root_footer_wrapper .footer__contents-cassette:last-of-type {
		margin-bottom: 140px !important;
	}

	#root_footer_wrapper .footer-site-navigation__item {
		line-height: 1.6;
		list-style: none;
		margin: 0 0 10px 0;
	}

	#root_footer_wrapper .footer-site-navigation__item:last-child {
		margin-bottom: 0;
	}

	.footer-site-navigation__list {
		padding-left: 0 !important;
	}

	#root_footer_wrapper .footer-site-navigation__sub-list {
		list-style: none;
		padding-left: 0 !important;
	}

	#root_footer_wrapper .footer-site-navigation__sub-item {
		line-height: 1.6;
		margin: 0 0 10px 0;
	}

	#root_footer_wrapper .footer-site-navigation__sub-item:last-child {
		margin-bottom: 0;
	}


	#root_footer_wrapper .footer-jpx__notes {
		line-height: 1.6;
	}
}

/*  -------------------- SP & Tablet  -------------------- */
@media (max-width: 1099px) {
	#root_header_wrapper .header-sp-navigation__inner {
		padding-top: 10px;
	}

    #root_header_wrapper .header-sp-navigation__button {
        color: #333;
        font-size: 15px;
        font-weight: 700;
        padding: 13px 40px 13px 16px;
        display: block;
        background: #fafafa url(/column/wp-content/themes/swell_child/images/arrow_right-a72df0053cfe499434ac.svg) no-repeat right 28px center / 10px 7px !important;
        width: 100%;
        box-sizing: border-box;
		text-align: left;
    }
	
	#root_header_wrapper .header-sp-navigation__inner {
		margin-bottom: 0 !important;
	}

	#root_header_wrapper .header-sp-navigation__sub-section {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	.footer-jpx-and-isms {
		grid-row: 3 / 4;
	}
}

/* --- 都道府県（北海道など）ホバー時に連動して三角形を青く --- */

/* 1. 通常のメニュー（会社を探すなど） */
#root_header_wrapper .area-menu__wrapper:has(.area-menu__prefecture-item-triangle:hover) .area-menu__region-item--active:after {
    border-right-color: #00b2d3 !important;
}

/* 2. 反転しているメニュー（ランキング・口コミ等） */
#root_header_wrapper .area-menu--reverse .area-menu__wrapper:has(.area-menu__prefecture-item-triangle:hover) .area-menu__region-item--active:after {
    border-left-color: #00b2d3 !important;
}