@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
.postmeta .post-item-tags{line-height:1em!important}
.postmeta .post-item-tags a{margin-right:3px!important;display:inline-block!important;padding:5px!important;background-color:#f7afff!important;margin-bottom:3px!important;border:0px solid #db7be6!important;color:#fff!important}
.postmeta .post-item-tags a:hover{background-color:#000!important}

.postmeta .post-item-tags a{
font-size: 12px!important;
	 color:#000!important;
}
.jobbnr{
	text-align:center;
	max-width:200px;
	margin:0 auto;
}
.sns img{
	max-width:30px;
	max-height:30px;
	margin:10px 5px 5px 5px;
}
.new img{
	max-width:30px;
	max-height:30px;
	margin:10px 5px 5px 5px;
}
.p-postList__title span{
	font-size:0.8em;
}
.c-pagination{
	visibility:hidden;
}
.p-postList__item {
    width: 100%;
    height: 161.8%;
}
.p-postList__thumb {
    width: 100%;
    height: 161.8%;
}
.c-postThumb__figure{
    width: 100%;
    height: 161.8%;
}
.p-toc {
	font-size: 1.4em!important;
}
#body_wrap::before {
	background-color:#fff!important;
	background:url(https://niagina.com/wp-content/uploads/2025/07/bg.jpg) repeat center center / cover!important;
	opacity: 0.2!important;
}
.kannai{
margin: 0 auto;
display: block;
margin-top: 10px;
padding-top: 5px;
padding-bottom: 5px;
border:solid 1px #343434;
color:#343434;
}
.kannai2{
margin: 0 auto;
display:block;
text-align:center;
padding: 2px 2px;
border:solid 1px #A21F24;
border-radius: 3px;
color:#A21F24;
}

/*------------ attmgr ----------------------------------------------
-----------------------------------------------------------------*/

/* .attmgr_weekly tr {
  background-color: #fff !important;
  color: #d7aa48 !important;
} */

/*------------ schedule ----------------------------------------------
-----------------------------------------------------------------*/

.attmgr_guide_weekly{
	background: #000;
}


.staff_block ul{
  list-style: none!important;
}


.staff_block li{
	margin:5px!important;
	padding:10px!important;
	text-align:center!important;
    border: none!important;
	min-width:155px!important;
	min-height:180px!important;
  list-style: none!important;
}
.staff_block div{
	margin:0px!important;
	padding:0px!important;
	text-align:center!important;
}
.staff_block .thumb img {
	min-width:135px!important;
	min-height:180px!important;
}

.title-bg{
 background: #141414;
        margin-bottom: 20px;        
}
.title-bg h3{
       color: #fff;
       font-size:21px;
       padding: 10px;
}
.tbl-01 th {
 background:black;
 color:white;
}

ul {
  list-style: none;
}
.staff_block li {
background-color: rgba(255, 255, 255, 0.5)!important;
  border: 0px none!important;
	filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.15))!important;
	padding-bottom:0px!important;
}
.c-iconList i{
font-size: 3em;
}

.c-iconList  li{
height:50px!important;
margin:20px!important;
}


/*出勤ラベル（地域）*/

.yokohama{
margin: 0 auto;
display: block;
margin-top: 10px;
padding-top: 5px;
padding-bottom: 5px;
background-color: #000;
color:#bf9334;
border:solid 0px #222;
}

.yokohama2{
margin: 0 auto;
display:block;
text-align:center;
padding: 2px 2px;
background-color: #000;
border-radius: 3px;
color:#bf9334;
border:solid 0px #222;
}

.kannai{
margin: 0 auto;
display: block;
margin-top: 10px;
padding-top: 5px;
padding-bottom: 5px;
background-color: #F29A9B;
color:#fff;
border:solid 0px #fff;
}

.kannai2{
margin: 0 auto;
display:block;
text-align:center;
padding: 2px 2px;
background-color: #F29A9B;
border-radius: 3px;
color:#fff;
border:solid 0px #fff;
}

.shinyokohama{
margin: 0 auto;
display: block;
margin-top: 10px;
padding-top: 5px;
padding-bottom: 5px;
background-color: #1B3067;
color:#fff;
border:solid 0px #fff;
}

.shinyokohama2{
margin: 0 auto;
display:block;
text-align:center;
padding: 2px 2px;
background-color: #1B3067;
border-radius: 3px;
color:#fff;
border:solid 0px #fff;
}

.delivery{
margin: 0 auto;
display: block;
margin-top: 10px;
padding-top: 5px;
padding-bottom: 5px;
background-color: #A21F24;
color:#fff;
border:solid 0px #fff;
}


/* フレックスボックスの基本設定 等間隔（両端揃え）折返しあり */
[class^="flex-col"] {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

/* コンテンツ下のマージン */
.flex-child { margin-bottom: 10px; }

/* 各カラム毎のコンテンツと疑似要素の横幅 */
.flex-col2 .flex-child { width: calc( (100% - 10px) / 2 ); }

.flex-col3::after,
.flex-col3 .flex-child { width: calc( (100% - 20px) / 3 ); }

.flex-col4::before,
.flex-col4::after,
.flex-col4 .flex-child { width: calc( (100% - 30px) / 4 ); }
	
/* 最終行は両端揃えにしない */
.flex-col3::after,
.flex-col4::before,
.flex-col4::after { content: ""; }

.flex-col4::before { order: 1; }

/* レスポンシブ対応 */

/* 991px以下で4列 → 3列 */
@media screen and (max-width: 991px) {
	.flex-col4::after,
	.flex-col4 .flex-child { width: calc( (100% - 20px) / 3 ); }
}

/* サイトカラーのルート変数 */
:root {
  --main-bg-color: #FAF8F3;
  --text-color: #1A1A1A;
  --link-color: #C6A977;
  --link-hover-color: #B58D59;
}

body {
  background-color: var(--main-bg-color);
  color: var(--text-color);
}

a {
  color: var(--link-color);
}

a:hover {
  color: var(--link-hover-color);
}

/* --- Nia & Gina 出勤カレンダーデザイン（最新版） --- */
.attmgr_weekly {
  background-color: #FAF8F3 !important;
  color: #1A1A1A !important;
  border: 1px solid #E0DCD6 !important;
  font-size: 14px !important;
}

.attmgr_weekly th {
  background-color: #C6A977 !important;
  color: #FFFFFF !important;
  padding: 10px !important;
  text-align: center !important;
}

.attmgr_weekly td {
  background-color: #FAF8F3 !important;  /* ← 全体ベース色 */
  color: #1A1A1A !important;
  border: 1px solid #E0DCD6 !important;
  padding: 10px !important;
  text-align: center !important;
}

.attmgr_weekly td:hover {
  background-color: #B58D59 !important;
  color: #FFFFFF !important;
}

.attmgr_working {
  background-color: #C6A977 !important;
  color: #FFFFFF !important;
  font-weight: bold !important;
}

/* ---- カレンダー日付＋曜日 横並び維持（PC・SP両対応） ---- */
.attmgr_weekly th span.date,
.attmgr_weekly th span.dow {
  display: inline !important;
  white-space: nowrap !important;
  font-size: 11px !important;
  padding: 0 2px !important;  /* ←左右2pxで余白を最小限に */
  line-height: 1.2 !important;
}

.attmgr_weekly th {
  text-align: center !important;
  vertical-align: middle !important;
  padding: 10px !important;
}

/* ---- スマホ対応（強制上書き） ---- */
@media screen and (max-width: 480px) {
  .attmgr_weekly th span.date,
  .attmgr_weekly th span.dow {
    display: inline !important;
    white-space: nowrap !important;
    font-size: 10px !important;
    padding: 0 1px !important;
    line-height: 1 !important;
    font-family: "Arial Narrow", sans-serif !important;
  }

  .attmgr_weekly th {
    padding: 1px !important;
  }
}

/* ---- トップページバナー ---- */
.responsive-banners-niagina {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-bottom: 30px;
  align-items: center;
}

.banner-item-niagina {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 750px;
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease;
  border-radius: 0; /* ← 角丸をなくす */
}

.banner-item-niagina:hover {
  transform: scale(1.03);
}

.banner-link-niagina {
  display: block;
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* ✨キランアニメーション（常時ループに変更） */
.banner-link-niagina::after {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.4) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  transform: skewX(-20deg);
  pointer-events: none;
  z-index: 2;
  animation: shine 3s linear infinite; /* ← 常時キラン */
}

@keyframes shine {
  0% {
    left: -75%;
  }
  100% {
    left: 125%;
  }
}

.banner-img-niagina {
  width: 100%;
  height: auto;
  display: block;
}

.banner-caption-niagina {
  font-size: 0.85rem;
  color: #1a1a1a; /* 少し濃くして視認性UP */
  text-align: center;
  margin-top: 10px;
  line-height: 1.6;
  font-weight: 500;
  max-width: 100%;
}

/* PC：横並び */
@media screen and (min-width: 768px) {
  .responsive-banners-niagina {
    flex-direction: row;
    justify-content: center;
  }

  .banner-item-niagina {
    width: calc(50% - 10px);
  }
}

/* セラピスト画像：3:4の縦長比率に統一 */
.p-postList__thumb,
.c-postThumb__figure {
  width: 100% !important;
  aspect-ratio: 3 / 4 !important;
  height: auto !important;
  object-fit: cover !important;
  overflow: hidden;
}

.p-postList__thumb img,
.c-postThumb__figure img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.nameBox h4 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px; /* スペース調整 */
}

.nameBox h4 span,
.nameBox h4 .new-icon-inline {
  display: inline-flex;
  align-items: center;
}

.new-icon-inline img {
  height: 30px;
  width: auto;
  display: inline-block;
}

.mokuzi .p-toc{
	display: none;
}
.c-postTitle__ttl{
	display: none;
}
.p-articleFoot{
	display: none;
}
/*—————— attmgr ----------------------------------------------
-----------------------------------------------------------------*/
.attmgr_weekly th {
	background-color: #f3aecc!important;
	color: #000;
}
.attmgr_weekly td {
font-size: 12px!important;
}
/*------------ prof ----------------------------------------------
--------------------------------*/

.staff_block li {
background-color: rgba(255, 255, 255, 0.7)!important;
  border: 0px none!important;
	filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.15))!important;
}
.content{
background-color: rgba(255, 255, 255, 0.7)!important;
	padding-top:50px;
}
.n2-section-smartslider {
	filter: drop-shadow(10px 10px 10px rgba(0,0,0,0.15))!important;
}
.leftBlock div {padding-top:0px!important;}
div.nextend-thumbnail-inner{
background-color: rgba(255, 255, 255, 1)!important;
}
div.nextend-thumbnail-scroller {
padding-top:3px!important;
}

div.n2-section-smartslider {
	background-color: rgba(255, 255, 255, 1)!important;
	padding:10px 10px 0px 10px!important;
}
 .postmeta .post-item-tags a{
font-size: 12px!important;
	 color:#000!important;
}
.postmeta{margin-bottom:30px;clear:both!important}
.postmeta i{margin-right:3px!important}
.postmeta .post-item-tags{line-height:1em!important}
.postmeta .post-item-tags a{margin-right:3px!important;display:inline-block!important;padding:5px!important;background-color:#000!important;margin-bottom:3px!important;border:1px solid #000!important;color:#fff!important}
 .postmeta .post-item-tags a:hover{background-color:#000!important}
/*------------ prof ----------------------------------------------
-----------------------------------------------------------------*/
.prof .girlsInfo {
	margin: 0 auto;
	padding-bottom: 20px;
	width: 919px;
	padding: 0px 30px 0px 30px;
}

.prof .contentsWrap{
}

.prof .leftBlock{
	width: 391px;
	float: left;
}

.prof .leftBlock .mainPhoto{
	width: 320px;
	float: left;
	border: 1px solid #ccc;
}

.prof .leftBlock .mainPhoto2{
	width: 320px;
	float: left;
	border: 1px solid #ccc;
	margin-top:10px;
}

.prof .leftBlock .mainPhoto img{
	width: 318px;
	max-width: inherit;
}
.prof .leftBlock .mainPhoto2 img{
	width: 318px;
	max-width: inherit;
}

.prof .leftBlock .subPhoto{
	width: 58px;
	float: right;
	margin-top: -436px;
}

.prof .leftBlock .subPhoto li.active{
    opacity: 0.6; 
}

.prof .leftBlock .subPhoto li{
	margin-top: 10px;
	float: left;
	border: 1px solid #cccccc;
	width: 57px;
	overflow: hidden
}
.prof .leftBlock .subPhoto li:hover{
    opacity: 0.6; 
}

.prof .leftBlock .subPhoto li img{
	margin: -1px;
	max-width: none;
	width: 58px;
}
.prof .leftBlock .subPhoto2{
	width: 58px;
	float: right;
	margin-top: -250px;
}

.prof .leftBlock .subPhoto2 li.active{
    opacity: 0.6; 
}

.prof .leftBlock .subPhoto2 li{
	margin-top: 10px;
	float: left;
	border: 1px solid #cccccc;
	width: 57px;
	overflow: hidden
}
.prof .leftBlock .subPhoto2 li:hover{
    opacity: 0.6; 
}

.prof .leftBlock .subPhoto2 li img{
	margin: -1px;
	max-width: none;
	width: 58px;
}

.prof .rightBlock{
	margin-top: 0px;
	padding-top: 0px;
 	vertical-align: top;
	width: 450px;
	float: right;
}

.prof .rightBlock dl{
}

.prof .rightBlock dl dt{
	color: #f3aecc;
	font-size: 123%;
	margin-bottom: 3px;
}
.insta dl dt{
	color: #f3aecc;
	font-size: 123%;
	margin-bottom: 10px;
	margin-top: 50px;
}

.prof .rightBlock dl dd{
	margin-bottom: 10px;
}

.prof .rightBlock dl dd.therapist_schedule{
	float: none;
	margin-top: 6px;
	display: table;
	width: 100%;
}

.prof .rightBlock dl dd.therapist_schedule dl{
	display: table-cell;
	width: 25%;
	box-sizing: border-box;
}

.prof .rightBlock dl dd.therapist_schedule dt{
	margin-bottom: 0;
}

.prof .rightBlock dl dd.therapist_schedule dd{
	margin-bottom: 0;
}

.prof .rightBlock dl dd dt{
	color: #fff;
}
.prof .blogbtn01 a{
	display: block;
	padding: 20px 15px 20px 15px;
	
}

.prof .blogbtn01{
	border: 1px solid #CCCCCC;
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(top,  #ffffff 0%, #ebebeb 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#ebebeb)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #ffffff 0%,#ebebeb 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #ffffff 0%,#ebebeb 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #ffffff 0%,#ebebeb 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #ffffff 0%,#ebebeb 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ebebeb',GradientType=0 ); /* IE6-9 */
	width: 266px;
	margin-top: 20px;
}
.prof .iconToday{
	display: inline-block;
	margin: 5px 0 0 5px;
}

.prof .iconToday span{
	background: #FF9900;
	display:inline-block;
	color: #fff;
	padding: 3px 10px 2px 10px;
}

.prof .iconToday span.noToday{
	background: #999999;
}

.prof .scheduleBlock{
	margin-top: 15px;
	margin-bottom: 20px;
}

.prof .scheduleBlock>dl>dt{
	color: #f3aecc;
	font-size: 145%;
	font-weight: bold;
}

.prof-info02 dl{
	margin-bottom: 20px;
}

.prof-info02 dl dt{
	color: #c33e43;
	font-size: 123%;
	margin-bottom: 3px;
}

@media screen and (max-width: 992px) {

/*------------ prof ----------------------------------------------
-----------------------------------------------------------------*/

.prof header .tellSp{
	margin-bottom: 10px;
}

.prof .contentsWrap{
}

.prof .girlsInfo {
	margin: 0;
	padding-bottom: 20px;
	width: auto;
	padding: 0px 10px 0px 10px;
}

.prof .leftBlock{
	width: auto;
	float: none;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 10px;
}

.prof .leftBlock .mainPhoto{
	width: auto;
	float: none;
	
}
.prof .leftBlock .mainPhoto2{
	width: auto;
	float: none;
	margin-top: 0px;
}

.prof .leftBlock .mainPhoto img{
	width: 100%;
}
.prof .leftBlock .mainPhoto2 img{
	width: 100%;
}

.prof .leftBlock .subPhoto{
	width: 300px;
	float: none;
	margin-top: 10px;
	text-align: center;
	margin-left: 0;
	margin-top: 5px;
}

.prof .leftBlock .subPhoto li{
	border: 1px solid #cccccc ;
	width: 53px;
	float: left;
	margin: 0 5px 0 0;
}

.prof .leftBlock .subPhoto li:hover{
	width: 53px;
	
}

.prof .leftBlock .subPhoto li.active{
	width: 53px;
}

.prof .leftBlock .subPhoto li img{
	margin: -1px;
	max-width: none;
	width: 54px;
}

.prof .leftBlock .subPhoto2{
	width: 300px;
	float: none;
	margin-top: 10px;
	text-align: center;
	margin-left: 0;
	margin-top: 5px;
}

.prof .leftBlock .subPhoto2 li{
	border: 1px solid #cccccc ;
	width: 92px;
	float: left;
	margin: 0 5px 0 0;
}

.prof .leftBlock .subPhoto2 li:hover{
	width: 92px;
	
}

.prof .leftBlock .subPhoto2 li.active{
	width: 92px;
}

.prof .leftBlock .subPhoto2 li img{
	margin: -1px;
	max-width: none;
	width: 93px;
}

.prof .rightBlock{
	width: auto;
	float: none;
}

.prof .scheduleBlock .therapist_schedule{
	float: none;
	margin-top: 6px;
	display: table;
}

.prof .scheduleBlock .therapist_schedule dl{
	display: table-cell;
	width: 50%;
	box-sizing: border-box;
}

.prof .scheduleBlock .therapist_schedule dt{
	margin-bottom: 0;
}

.prof .scheduleBlock .therapist_schedule dd{
	margin-bottom: 0;
}

.prof .rightBlock dl dd dt{
	color: #fff;
}
.prof .blogbtn01 a{
	display: block;
	padding: 20px 15px 20px 15px;
	
}

.prof .blogbtn01{
	width: auto;
}

.prof .iconToday{
	margin: 0;
	margin-bottom: 10px;
	text-align: left;
	display: block;
}
.graces_ma980{
		width: auto;
}
.graces_ma9800{
		width: auto;
}
}
.rightBlock dt{
margin-top:30px;
margin-bottom:30px;
}
.attmgr_weekly{
margin-top:30px;
margin-bottom:30px;
}

/* ---------- セラピスト詳細ページ装飾追加 ---------- */
.prof .rightBlock dl dt {
  position: relative;
  display: inline-block;
  font-size: 1.2em;
  font-weight: 600;
  color: #c7a56c;
  margin-bottom: 5px;
  padding-bottom: 5px;
  border-bottom: 2px solid #c7a56c;
  letter-spacing: 0.05em;
}

.prof .rightBlock dl dd {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  padding-left: 10px;
  margin-bottom: 20px;
  border-left: 3px solid #eee;
}

/* スマホ向け余白調整 */
@media screen and (max-width: 768px) {
  .prof .rightBlock dl dt {
    font-size: 1.1em;
  }

  .prof .rightBlock dl dd {
    font-size: 14px;
    padding-left: 8px;
  }
}