/*
Theme Name: swell child
Template: swell
*/
/*========================================
 * サイト枠部分(ヘッダー・フッター・サイドバー・コンテンツ大枠)
 * 親テーマstyle.cssの調整
 * 固定ページ
 * 汎用css
 ========================================*/

body {
	
}
.site_bg {
	position:fixed;
	top:0; left:0;
	width:100%;
	height:100%;
	z-index:-1;
}
.grecaptcha-badge {/*reCAPTCHAバッヂの非表示*/
	visibility: hidden;
}

/*トップページのサムネイル内の「未分類」を非表示*/
.c-postThumb__cat {
	/*display:none;*/
}

/*グローバルナビ(睡眠改善コラム非表示)*/
.c-gnav .menu-item-30,
.c-spnav .menu-item-30 {
	display:none;
	
}



/********************************************************************
 *　//汎用css
********************************************************************/

.wide100 {
	width:100%;
}
.hoverScale {
	transition:.3s;
}
.hoverScale:hover {
	transform:scale(1.1);
}

/*テキスト装飾【おもに投稿】*/
.bold {
	font-weight:bold;
}
.yel_line {
background: linear-gradient(to right, #fffb7f 0%, #ffe99b 100%);
background-repeat: no-repeat;
background-position: left bottom;
background-size: 100% 20%;
}

/* ▼============改行タグ============▼*/
@media (min-width: 960px) {
	br.sp {
		display:none;
	}
}
@media (max-width: 960px) {
	br.pc {
		display:none;
	}
}


/* ▼============箇条書きリスト(中黒)============▼*/
ul.pointList {
	padding-left:0;
}
ul.pointList li,
p.pointList,
span.pointList {
	position: relative;
	display: block;
	line-height:1.6;
	padding:0.2em 0 0.2em 1.5em;
	margin-bottom: 0.7em;
}
ul.pointList li::before,
p.pointList::before,
span.pointList::before {
	content: "・";
	position: absolute;
	left:0;
}


/* ▼============箇条書きリスト(※印)============▼*/
ul.komeList {
	padding-left:0;
}
ul.komeList li,
p.komeList,
span.komeList {
	position: relative;
	display: block;
	line-height:1.6;
	padding:0.2em 0 0.2em 1.5em !important;
	margin-bottom: 0.7em;
}
ul.komeList li::before,
p.komeList::before,
span.komeList::before {
	content: "※";
	position: absolute;
	left:0;
}

/********************************************************************
 *　//メインビジュアル
********************************************************************/
.p-mainVisual__slide {

}
.p-mainVisual__textLayer {
	box-sizing:border-box;
	/*padding-bottom:10%;*/
}
.p-mainVisual__slideTitle {
	margin-top: 2em;
	text-align:left;
	/*font-weight:bold;*/
}
.p-mainVisual__slideText {
	width:50%;
	margin-top: 0;
	text-align:right;
}
.p-mainVisual__slideText_sub {
	font-size:1em !important;
	width:50%;
	margin-top: 3em;
	text-align:left;
	color:#efefef;
}
@media (max-width: 1200px) {
	.c-filterLayer__img {
		left:auto;
		right:0 !important;
	}
	.c-filterLayer__img .u-obf-cover {
		object-position:70%;
	}
	.p-mainVisual__slideText {
		width:auto;
		text-align:left;
	}
}
@media (max-width: 960px) {
	.p-mainVisual__slideText,
	.p-mainVisual__slideText_sub{
		width:70%;
	}
}
@media (min-width: 600px) {
	.p-mainVisual__slideTitle {
		font-size: 34px;
	}
	.p-mainVisual__slideText {
		font-size: 27px;
	}
	.p-mainVisual__slideText_sub {
		font-size: 17px;
	}
}
@media (max-width: 600px) {
	.p-mainVisual__slideTitle {
		font-size: 27px;
		text-align:center;
	}
	.p-mainVisual__slideText{
		font-size: 18px;
		width:auto;
		text-align:center;
	}
	.p-mainVisual__slideText_sub{
		font-size: 12px;
		width:auto;
	}
}


/********************************************************************
 *　//ヘッダー部分
********************************************************************/
.l-header {
	/*background: linear-gradient(135deg,  #a9e5fa 0%,#ffffff 20%,#ffffff 80%,#c6fcfd 100%);*/
	background:none;
}
/*最上部キャッチのバー*/
.l-header__bar.pc_ {
	background: linear-gradient(to right,  #222a85 0%,#8f59cb 100%);
	padding:0.3em 0;
}
.l-header__bar.pc_ .c-catchphrase {
	font-size:1.06em;
	font-size:0.8em;
	color:#fff;
	font-weight:normal;
}

.c-gnav .menu-item {/*ナビゲーションのテキスト*/
	font-weight:bold;
}
.c-gnav .menu-item .ttl {/*ナビゲーションのテキスト*/
	
}
.c-gnav .c-smallNavTitle {/*ナビゲーションのテキスト下の英字*/
	color:#6e4bb6;
}
.c-gnav a::after {/*ナビゲーションホバー時の下線*/
	background:#6e4bb6;
}

/* spメニュータイトルバー */
.c-widget__title.-spmenu {
	background: linear-gradient(to right,  #222a85 0%,#8f59cb 100%);
}



@media not all and (min-width: 960px) {
  .c-headLogo {
    /*height: var(--logo_size_sp);*//*48px*/
	height:52px;
  }
}


/* ▼============パンくずリスト============▼*/
.single .p-breadcrumb__item:nth-of-type(2) {/*「未分類」を非表示*/
	display:none;
}
.single .p-breadcrumb__item:last-child > span.p-breadcrumb__text {
	display:block;
}


/********************************************************************
 *　//メインコンテンツ部分(トップページ)
********************************************************************/
/*トップページのランダムスライダーと記事リスト*/
.p-postList__item {
	
}
.c-postThumb__img {
	
}
.p-postList__thumb {
	box-shadow:none;
}
.c-postThumb__figure {
	aspect-ratio:1/1 !important;
}
.c-postThumb__figure:hover img {
	transform:scale(1);
	width:100%;
	height:100%;
}

.p-postList__body {/*記事タイトルボックス*/
	left:0;
	right:0;
	bottom:5% !important;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	/*background:rgba(255,255,255,0.45) !important;
	border:solid 2px #fff;*/
	box-sizing:border-box !important;
	width:94% !important;
	padding:0 !important;
	margin:auto !important;

}
.p-postSlider.-ps-style-img .p-postList__body::before {/*ランダムスライダーのグレイレイヤー*/
	display:none;
}
.p-postList__title { /*記事タイトル*/
	position:absolute;
	bottom:0;
	line-height:1.6 !important;
	background: linear-gradient(to right,  #222a85 0%,#8f59cb 100%) !important;
	border-radius:1em;
	width:100%;
	max-height:inherit !important;
	padding:0.5em !important;
	font-weight:normal !important;
}

.p-postSlider .p-postList__title {/*ランダムスライダーの記事タイトル*/
	font-size:0.9em;
	padding:0.8em !important;
}


.l-mainContent .p-postList__title {/*メインコンテンツ部分の記事更新日用に余白*/
	font-size:0.8em;
	padding-top:1em !important;
	padding-left:1em !important;
	padding-right:0.5em !important;
	padding-bottom:2em !important;
}
.l-mainContent .p-postList__meta {/*メインコンテンツ部分の記事更新日*/
	font-size:0.66em;
	margin-left:1em !important;
	margin-bottom:0.2em !important;
}




.search .p-postList__body .p-postList__title,
.search .p-postList__body .c-postTimes__posted,
.search .p-postList__body .c-postTimes__modified {/*検索結果ページ*/
	/*color:#000 !important;*/
	filter:none !important;
}
.search .p-postList__body .p-postList__excerpt {/*検索結果ページの記事説明文*/
	/*display:none;*/
}

.swiper-pagination-bullet-active {/*ピックアップスライダーのドットボタン*/
	background-color:#6e4bb6 !important;
}



@media (max-width: 600px) {
	
	
	.home #main_content .p-postList .p-postList__item:nth-child(n+6) {/*トップページの記事リスト スマホ時は6つ以降は非表示*/
		display:none !important;
	}
	
	.p-postList__body  .p-postList__title {
		font-size: 2.5vw !important;
	  }
}







	

/*コンテンツ下部のカテゴリ表記*/
.p-articleFoot {
	display:none;
}


/*ページネーション*/
.c-pagination .page-numbers.current{
	background:#6e4bb6;
	
}
.c-pagination a.page-numbers:hover{
	background:#6e4bb6;
}



/********************************************************************
 *　//フッター部分
********************************************************************/

/* ▼============ページトップボタン============▼*/
.c-fixBtn {
	background: linear-gradient(to right,  #222a85 0%,#8f59cb 100%);
	border:none;
	color:#fff;
}


/* ▼============地域別リンク============▼*/
.region_links {
	margin-bottom:4em;
}
.region_links {
  margin-left: auto;
  margin-right: auto;
  max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px)*2);
  /*padding-left: var(--swl-pad_container,0);
  padding-right: var(--swl-pad_container,0);*/
}
.region_links_area_wrap {
	padding-left: var(--swl-pad_container,0);
	padding-right: var(--swl-pad_container,0);
}
.l-sidebar .region_links_area_wrap {
	padding-left: 0;
	padding-right: 0;
	text-align:left;
}
/*地域別リンク大タイトル部分*/
.region_links_ttl {
	position:relative;
	display:inline-flex;
	align-items:center;
	background: linear-gradient(to right,  #def2ff 55%,#ffffff 100%);
	padding-left:6em;
	padding-right:8em;
	margin-bottom:3em;
}
.region_links_ttl_text {
	font-size:1.3em;
	padding:0.7em 0;
	margin-left:0em;
	letter-spacing:0.05em;
}
/*▼-----地域別リンク メディアクエリ-----▼*/
@media (min-width: 960px) {
	
	.region_links_ttl {
		border-radius:3em;
	}

}
@media (max-width: 600px) {
	
	.region_links_ttl {
		border-radius:3em;
		padding-left:3em;
		padding-right:2em;
		margin-left:1em;
	}
	.region_links_ttl_text {
		font-size:1.1em;
	}
	
}

/*地域別リンク地域枠(トップページと全国エリア一覧ページに表示)*/

@media screen and (max-width: 768px) {
	.l-sidebar .region_links_area_wrap,
	.side_region_links_ttl {
		display:none;
	}
}


/*各県へのページ内リンク*/
.region_links_pref_link {
	display:flex;
	flex-wrap:wrap;
	margin-bottom:3em;
	list-style:none;
}
.region_links_pref_link li {
	background:#8f59cb;
	border-radius:0.5em;
	margin-right:0.5em;
	margin-bottom:0.5em;
}
.region_links_pref_link li a {
	display:flex;
	justify-content:center;
	align-items:center;
	line-height:1;
	width:100%;
	height:100%;
	padding:0.7em;
	color:#fff;
}

/*各県へのページ内リンク（大）*/
.region_links_pref_link.large {
	justify-content:center;
	margin-bottom:1em;
}
.region_links_pref_link.large li {
	width:40%;
}
.region_links_pref_link.large li a {
	font-size:1.3em;
}


.region_links_area_block {
	margin-bottom:3em;
}
.region_links_area_block_ttl {
	font-size:1.2em;
	margin-bottom:1.5em;
	font-weight:normal;
}
.region_links_area_item {
	font-size:0.88em;
	margin-bottom:0.5em;
}
.region_links_area_item_ttl {
	background:url(./img/region_links_area_item_ttl_icon.png) left center no-repeat;
	background-size:auto 60%;
	padding:0.2em 0 0.2em 2.4em;
	margin-bottom:0.7em;
}
.l-sidebar .region_links_area_item_ttl {
	background-size:auto 50% !important;
}
.region_links_area_item_links {
	display:flex;
	flex-wrap:wrap;
	padding-left:1.6em;
}
.region_links_area_item_links a {
	position:relative;
	line-height:1.4;
	margin-right:1em;
	margin-bottom:1em
}
.region_links_area_item_links a::after {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	right:-0.5em;
	margin:auto;
	width:1px;
	height:70%;
	background:var(--color_link);
}
.region_links_area_item_links a:last-child::after {
	display:none;
}

@media screen and (max-width: 768px) {
	
	.region_links_area_item_links a::after {
		/*display:none;*/
	}
}



/* ▼============全国ヘッドスパ 2025　新着記事============▼*/
.footSectionContents {
	box-sizing:inherit;
	box-sizing:border-box;
	max-width:1200px;
	margin-left:auto;
	margin-right:auto;
}
.footSectionContents_title {
	display:flex;
	justify-content:center;
	align-items:center;
	background: linear-gradient(to right,  #222a85 0%,#8f59cb 100%);
	border-radius:1.4em;
	height:2.8em;
	margin-bottom:1.5em;
	color:#fff;
	font-weight:normal;
}
.footSectionContents_title span {
	font-size:1.1em;
}

.footHeadspaNews {
	
}
.footHeadspaNews_wrap {
	width:100%;
	padding-left:0.5em;
	margin-bottom:1em;
	overflow-x:auto;
}
.footHeadspaNews_list {
	display:block;
	margin-bottom:1em;
	white-space:nowrap;
}
.footHeadspaNews_listItem {
	position:relative;
	aspect-ratio:1/1;
	font-size:0.9em;
	display:inline-block;
	width:20%;
	margin-right:0.5em;
	margin-bottom:0;
	white-space:normal;
}
.footHeadspaNews_listItem .post_date {
	position:absolute;
	top:2%;
	left:5%;
	color:#fff;
	filter:drop-shadow(1px 0px 0px rgba(54,26,5,1)) drop-shadow(0px 1px 0px rgba(54,26,5,1)) drop-shadow(-1px 0px 0px rgba(54,26,5,1)) drop-shadow(0px -1px 0px rgba(54,26,5,1)) drop-shadow(0px 0px 1px rgba(54,26,5,1)) drop-shadow(0px 0px 1px rgba(54,26,5,1));
}
.footHeadspaNews_listItem .post_title {
	position:absolute;
	bottom:5%;
	left:0;
	right:0;
	display:flex;
	align-items:center;
	background: linear-gradient(to right,  #222a85 0%,#8f59cb 100%);
	border-radius:1em;
	padding:0.5em;
	width:94%;
	min-height:3em;
	padding:0.5em 1em;
	margin:auto;
}
.footHeadspaNews_listItem .post_title span {
	color:#fff;
}

/* ▼============【SP】全国ヘッドスパ 2025　新着記事============▼*/
@media (max-width: 1200px) {
	
	.footSectionContents {
		padding-left:2%;
		padding-right:2%;
	}

}
@media (max-width: 960px) {
	
	.footHeadspaNews_listItem {
		width:30%;
	}

}
@media (max-width: 600px) {
	
	.footHeadspaNews_listItem {
		font-size:2.7vw;
		width:40%;
	}

}



/* ▼============入替フッター（オフィシャルと同じ）============▼*/
.footer {
	position:relative;
	background:#1c1c1c;
	color:#e5e7eb;
	font-family: "Noto Sans JP", sans-serif;
	z-index:1;
	
}
.footer a {
	color:#e5e7eb;
}


/*▼―――――フッターコンテンツbase―――――▼*/
.footer_content {
}

.copyright {
	font-size:14px;
	background:#1c1c1c;
	width:100%;
	padding:60px 0 95px;
	text-align:center;
}
.copyright span {
	display:block;
	transform:scale(0.8);
	width:100%;
	letter-spacing:0.2em;
}
/********************************************************************
 *　//フッターPC
********************************************************************/



/*▼―――――フッターコンテンツPC―――――▼*/
	
.footer_content {
	background:#1c1c1c;
	box-sizing:border-box;
	padding:4em 0 0;
}
	
.footer_logo_section {
	width:200px;
	margin:auto;
	filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(201deg) brightness(106%) contrast(106%);
}
	
.fotter_section_wrapper {
	display:flex;
	flex-direction:column;
	justify-content:center;
	margin-bottom:4em;
	
}
.footer_link_section:nth-of-type(1),
.footer_link_section:nth-of-type(2){
	margin-bottom:1em;
}
	
.footer_sns_section {
	display:flex;
	justify-content:center;
	padding:2em 0;
}
.footer_sns_section img {
	width:80%;
	height:80%;
}
.footer_sns_section a {
	text-align:center;
	aspect-ratio:1/1;
	border-radius:50%;
	width:3.2em;
	margin:0 0.6em;
}
	
	
.footer_link_section {
	display:flex;
	justify-content:center;
}
.footer_link_section li {
	position:relative;
	font-size:0.6em;
	font-family: "Noto Sans JP", sans-serif;
	padding:0.1em 0;
	margin:0 1em 0 1em;
}
.footer_link_section li:not(:first-child)::before{
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:-1em;
	background:#fff;
	width:1px;
	height:100%;
	margin:auto;
}

.footer_logo_section_star {
	width:90px;
	margin:auto;
	filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(201deg) brightness(106%) contrast(106%);
}

/********************************************************************
 *　//フッターSP
********************************************************************/
@media only screen and (max-width: 430px) {


	.footer_logo_section {
		width:180px;
		margin:auto;
	}
	
	.footer_sns_section a {
		width:3.4em;
	}
	
	.footer_link_section li {
		/*font-size:0.8em;*/
	}

	
}/* //フッターSP */









/********************************************************************
 *　//サイドバー
********************************************************************/
.top .w-fixSide {
	overflow:visible;
}
.w-fixSide .banner {
	text-align:center !important;
}
.banner img {
	width:100%;
}
.l-sidebar .regiopn_links {
		text-align:left;
	}

@media (min-width: 960px) {
	.w-fixSide {
		margin-top: 0;
	}
	.l-sidebar {
		text-align:center;
	}
	.l-sidebar .regiopn_links {
		text-align:left;
	}
}
@media (max-width: 960px) {
	.l-sidebar .banner {
		width:50% !important;
		margin-left:auto !important;
		margin-right:auto !important;
		text-align:center;
	}
	.sp_hide {
		display:none !important;
	}
}
@media (max-width: 600px) {
	.l-sidebar {
		text-align:center;
	}
	.l-sidebar .banner {
		width:65% !important;
	}
}

/* エリアリンク */

.side_region_links_ttl {
	font-size:1.1em;
	background:#ebd9ff;
	padding:0.5em 0;
	text-align:center;
}

.l-sidebar .region_links_area_item_ttl {
	font-size:1.2em;
	background-size:auto 80%;
	border-bottom:solid 1px #000;
	padding-bottom:0.5em;
}
.l-sidebar .region_links_area_item_links a::after {
	display:none !important;
}
.l-sidebar .region_links_area_item_links a {
	line-height:1.2;
	box-sizing:border-box;
	width:100%;
	padding-left:1em;
	transition:.2s;
}
.l-sidebar .region_links_area_item_links a::before {
	content:"";
	position:absolute;
	top:0.3em;
	left:0;
	bottom:auto;
	width:0.4em;
	height:0.4em;
	border-top:solid 1px #000;
	border-right:solid 1px #000;
	transform:rotate(45deg);
}
.l-sidebar .region_links_area_item_links a:hover {
	transform:translateX(0.5em);
}


	


/********************************************************************
 *　//プライバシーポリシー・利用規約
********************************************************************/
.privacy_contents dl {
  line-height: 1.8;
  margin-bottom: 3em;
}
.privacy_contents dl dt {
  border-bottom: 1px solid #eeeeee;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}
.privacy_contents dl dd {
  font-size: 0.9em;
}
.privacy_contents dl dd p {
  margin-bottom: 0.5em;
}
.privacy_contents dl dd > ol {
  list-style-position: outside;
  list-style-type: decimal;
  margin-left: 1.5em;
}
.privacy_contents dl dd > ol > ol {
  list-style-position: outside;
  list-style-type: lower-roman;
  margin-left: 1.5em;
  margin-bottom: 0.5em;
}
.privacy_contents dl dd li {
  margin-bottom: 0.5em;
}
.privacy_contents dl dd li:last-child {
  margin-bottom: 0;
}


/********************************************************************
 *　//運営会社
********************************************************************/
.company_contents {
 /* background: #fff;*/
  padding-top: 3em;
  padding-bottom: 5em;
}
.company_contents dl {
  display: flex;
  border-bottom: solid 1px #e2e2e2;
  margin-left: 2%;
  margin-left: 2%;
}
.company_contents dl dt {
  width: 20%;
  padding: 3em 0;
  text-align: center;
}
.company_contents dl dd {
  box-sizing: border-box;
  line-height: 1.6;
  width: 80%;
  padding: 3em 1em 3em 3em;
}

@media only screen and (max-width: 768px) {
  .company_contents dl {
    display: block;
    padding: 1em 0;
    text-align: left;
  }
  .company_contents dl dt {
    width: auto;
    padding: 0.5em 0;
    text-align: left;
  }
  .company_contents dl dd {
    width: auto;
    padding: 0.5em 1em 0.5em 3em;
  }
}


/********************************************************************
 *　//プライバシーポリシー・利用規約
********************************************************************/
/*箇条書きリスト(数字)*/
ol.numList {
	list-style-type: decimal;
	padding:0;
	margin:0;
}
ol.numList li dl,
ol.numList li dt,
ol.numList li dd{
	margin:0;
	padding:0;
}
ol.numList li{
	position: relative;
	line-height:1.6;
	padding:0.2em 0 0.2em 0.5em;
	margin-left: 1em;
	margin-bottom: 0.7em;
}



/********************************************************************
 *　//相互リンクバナー設置には以下の画像・ソースコードをご利用下さい
********************************************************************/
.advertise_camp_each {
	margin-bottom:3em;
}
.camp_each_text {
	margin-bottom:2em;
}
.camp_each_ttl {
	margin-bottom:2em;
}
.camp_each_text {
	margin-left:6%;
	margin-right:6%;
}
.camp_each_banner {
	position:relative;
	padding:1.5em 4% 1.5em 10%;
	margin-left:4%;
	margin-right:4%;
}

.camp_each_banner::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius:3em;
	border: 0.4em solid transparent;
	background: linear-gradient(135deg, #e8f8ff, #baeaff) border-box border-box;
	mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0) border-box;
	mask-composite: exclude;
	z-index:-1;
}
.camp_each_banner dl {
	display:flex;
	width:100%;
	border-bottom:solid 1px #eeeeee;
	box-sizing:border-box;
	width:100%;
	padding:1.5em 0;
}
.camp_each_banner dl dt {
	width:12em;
}
.camp_each_banner dl dd {
	box-sizing:border-box;
	width:calc(100% - 12em);
	padding-left:1em;
}
.camp_each_banner dl dd .code {
	background:#fff;
	border:solid 1px #eeeeee;
	overflow-wrap:anywhere;
	word-break:break-all;
	white-space: pre-wrap;
}

/*▼==========【SP】相互リンクバナー設置には以下の画像・ソースコードをご利用下さい==========▼*/
@media only screen and (max-width: 768px) {
	
	.advertise_camp_each {
		font-size:3vw;
	}
	.camp_each_banner {
		padding:1.5em 5%;
		margin-left:0;
		margin-right:0;
	}
	.camp_each_banner dl {
		display:block;
	}
	.camp_each_banner dl dt {
		width:auto;
		margin-bottom:0.8em;
	}
	.camp_each_banner dl dd {
		width:auto;
		padding-left:0;
	}

}
/*▲ ============ SP ============ ▲*/
