/*!
Template: cp52-t010-PLATINA
Theme Name: CP52 T010-PLATINA-wht
Theme URI: https://castpro-cms.com/
Author:  CASTPRO
Author URI: https://castpro-cms.com/
Description: CP5 J10001-PLATINA Parent Theme + Black Child Theme
Version: 1.0.1
Text Domain: cp5j10000-child-001
Tags:CASTPRO,Layout J10001-PLATINA,Base Theme,2 Column,Left Sidebar,Image Slider
*/
/*!
Template: cp52-t010-PLATINA
Theme Name: CP52 T010-PLATINA-wht
Theme URI: https://castpro-cms.com/
Author:  CASTPRO
Author URI: https://castpro-cms.com/
Description: CP5 J10001-PLATINA Parent Theme + Black Child Theme
Version: 1.0.1
Text Domain: cp5j10000-child-001
Tags:CASTPRO,Layout J10001-PLATINA,Base Theme,2 Column,Left Sidebar,Image Slider
*/
body {
	background-color: #ffffff;
}
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Decol&display=swap');

/* =========================================================
   01. 基本設定・全体レイアウト (Base & Layout)
   ========================================================= */
body {
	background-color: #ffffff;
	font-family: "Kaisei Decol", serif !important;
	font-size: 18px;
	text-align: center;
	vertical-align: middle;
}

body,
button,
input,
select,
textarea {
	font-family: "Kaisei Decol", serif !important;
}

.editor-styles-wrapper {
	background: #666 !important;
}


.overlay-scale .expanded {
	border: 1px solid;
	padding: 1em 0;
}

/* 見出し */
h2 {
	margin: 2em auto 1em;
}

h2.has-background,
h3.has-background,
h4.has-background,
h5.has-background,
h6.has-background {
	padding: 7px;
}

.entry-title {
	font-size: 2rem !important;
	padding: 3em 0 1.5em !important;
}

/* 汎用レイアウト */
.row .row.row.columns {
	justify-content: center;
}

@media print, screen and (min-width: 48.1em) {
	.medium-6 { width: 30%; }
}

.medium-up-2 {
	display: flex !important;
	flex-wrap: wrap;
	justify-content: space-around;
}

.medium-up-2 .column {
	width: 45% !important;
}


/* =========================================================
   02. ヘッダー・ナビゲーション (Header & Navigation)
   ========================================================= */
#header-block {
	max-width: 1400px !important;
}

.main-navigation a {
	font-size: 1.49rem;
}


@media screen and (min-width: 48.9375em) {
	body.admin-bar #header.sticking { padding-top: 10px; }
}

/* スマホヘッダーのロゴサイズ調整 */
@media print, screen and (max-width: 48em) {
	#header #header-logo-col a img {
		max-width: 200px !important; /* ※大きすぎる90%から修正 */
		margin: 0 auto !important;
	}
	#header #logo a img {
		max-height: 60px !important; /* ※大きすぎる300pxから修正 */
		width: auto !important;
	}
}


/* =========================================================
   03. 認証ページ (Enter Page)
   ========================================================= */
#enter-image {
	padding: 5rem 0;
}

.enter-logo-wrap {
	margin: 2em auto 1em;
	width: 80%;
}

@media (min-width: 768px) {
	.enter-logo-wrap {
		width: 40%;
		margin: 0 auto 1em;
	}
}

#enter-button a,
#leave-button a {
	background: #333 !important;
	color: #FFF !important;
	border: 1px solid #333 !important;
}


/* =========================================================
   04. 各種ウィジェット・TOPパーツ (Widgets & Top Page)
   ========================================================= */
.site-description {
	text-align: left;
}

.widget {
	margin: 0 0 0 !important;
	padding: 0 0 1em;
}

/* タイトル系共通 */
#main-content .widget-title .title-name,
.page-title .title-name,
.profile-title .title-name,
.home .widget_cp5_news_t010 .widgettitle,
#top section .widget-title,
.widget_cp5_news_t010 .widgettitle {
	font-size: 24px;
	font-family: "Kaisei Decol", serif;
}

#top section .widget-title,
.widget_cp5_news_t010 .widgettitle {
	background: #ff90ba;
	color: #ffe4ab !important;
	text-align: left;
	font-size: 20px;
	font-weight: 800;
	padding-bottom: 10px;
}

.home .widget_cp5_news_t010 .widgettitle {
	padding: 10px 1rem;
}

@media print, screen and (max-width: 48em) {
	.widget-block .widgettitle {
		width: 100%;
		padding: .1rem 1rem;
	}
}

/* TOPページ最下部バナー */
#gallery-1 {
	display: flex;
	flex-wrap: wrap;
	margin: auto;
	justify-content: space-around;
}

#gallery-1 .gallery-item {
	float: none !important;
	margin: 1em auto !important;
	text-align: center !important;
	width: 90% !important;
}

@media (min-width: 768px) {
	#gallery-1 .gallery-item {
		width: 45% !important;
		margin-left: auto;
		margin-right: auto;
	}
}

#gallery-1 img {
	border: none !important;
}

.sitelogo_wrap {
	margin: 5em auto;
}

@media (max-width: 767px) {
	.sitelogo_wrap { width: 70%; }
}

.sitelogo_wrap img {
	width: 100%;
	text-align: center;
}


/* =========================================================
   05. ボタン装飾 (Buttons)
   ========================================================= */
.button_top-sch a {
	background: #eee;
	border-radius: 3px;
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin: 0 auto;
	max-width: 250px;
	padding: 10px 25px;
	font-family: "Noto Sans Japanese";
	color: #333;
	line-height: 1.4;
	text-decoration: none;
	text-align: center;
	transition: 0.3s ease-in-out;
	font-weight: 500;
}

.button_top-sch a:hover {
	background: #333;
	color: #FFF;
}

.button_top-sch a:after {
	content: '';
	width: 5px;
	height: 5px;
	border-top: 3px solid #333;
	border-right: 3px solid #333;
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top: 50%;
	right: 20px;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
}

.button_top-sch a:hover:after {
	border-color: #FFF;
}

a.btn_02 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	max-width: 250px;
	margin: auto;
	padding: 1.5rem 4rem;
	font-weight: bold;
	border: 2px solid #b90000;
	background: #b90000;
	color: #fff;
	transition: 0.5s;
	font-size: 20px !important;
}

a.btn_02:hover {
	color: #b90000;
	background: #FFF;
}

.ripple-cont .ripple-content {
	font-size: 1.5rem !important; /* !important指定優先 */
	font-weight: 700;
}


/* =========================================================
   06. キャスト・スケジュール・ランキング (Cast & Schedule)
   ========================================================= */
/* キャスト一覧枠・文字設定 */
.cast-lists-frame li {
	margin-bottom: 3em;
}

.cast-lists-frame li .cast-section .cast-name {
	font-size: 1.8rem;
}

.cast-size,
.cast-schedule-time {
	font-size: 1.5rem !important;
	text-align: center !important;
}

.cast-schedule-time svg {
	width: 18px;
	height: 18px;
	margin-top: -0.15em;
	margin-right: 0 !important;
}

.cast-schedule-time .fa,
.cast-schedule-time .fa-clock-o {
	font-size: 18px;
	margin-top: -0.15em;
	margin-right: 0 !important;
}

.widget_cp5_schedule_list_t010 .brokenstyle .columns .cast-frame {
	border: 1px solid #b90000;
}

/* キャストアイコン */
.cast-icon-lists {
	text-align: center;
}

.cast-icon-lists img {
	width: 22%;
	margin: 0 1%;
}

@media (max-width: 600px) {
	.cast-icon-lists img {
		width: 40%;
		margin: 0 3%;
	}
}

.cast-icon-image img {
	width: 75px !important;
}

/* カテゴリ・タイプラベル */
.cat-label {
	font-size: 1.6rem;
	font-weight: 600;
	text-align: center;
	width: 90px;
	padding: 5px 3px;
}

.cast_type_27-icon-0 { background: #abff9d; color: #0b6d1f; }
.cast_icon_78-icon-0 { background: #1774ff; color: #FFF; }
.cast_icon_60-icon-0 { background: #ff763b; color: #FFF; }

/* 非表示設定 */
.cast_type_110-icon-0,
.cast_type_16-icon-0,
.cast-icon-156,
.cast_icon_103-icon-0,
.cast_icon_113-icon-0,
.cast_type_26-icon-0,
.cast-ranking-icon,
.week-next {
	display: none !important;
}

/* ランキング */
#ranking .ranking-title {
	background: #b90000;
	padding: 0.3em;
}

/* プロフィール画面 */
.profile-frame .profile-faq-lists dd { color: #f78da7; }
.appeal-comment { color: #fcb900 !important; }

@media screen and (max-width: 48em) {
	.cast-list .row.collapse {
		width: 95%;
		margin: 0 auto;
	}
}


/* =========================================================
   07. ニュース・検索・その他 (News, Search & Others)
   ========================================================= */
.news-icon span {
	width: 90px;
	background-color: rgb(241, 114, 163);
	padding: 5px 3px;
}

.posted-on { text-align: left; }
.more-link { display: none; } /* TOPニュースのmorelink一時退避 */

.shop-info.open {
	font-size: 1.5rem;
	font-weight: 700;
}

@media print, screen and (max-width: 48em) {
	#smart-info .button {
		border: 1px solid #ef8585;
		color: #ef8585;
		font-size: 1.5rem;
		font-weight: 700;
	}
}

.sform label,
.sform p {
	display: inline-block;
	vertical-align: middle;
}

.sform label { width: 85%; }
.sform .ttl { font-weight: bold; color: #333; }
.sform button {
	border: 1px solid #aaa;
	background: #eee;
}


/* =========================================================
   スマホ固定フッターメニュー (4項目専用CSS)
   ========================================================= */

/* PC（画面幅768px以上）では完全非表示 */
@media screen and (min-width: 768px) {
    #sp-fixed-menu {
        display: none !important;
    }
}

/* スマホ（画面幅767px以下）の設定 */
@media screen and (max-width: 767px) {
    #sp-fixed-menu {
        display: block !important;
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        background-color: #ff90ba !important; /* バーの背景色（好みに変更可） */
        box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.2) !important;
        z-index: 99999 !important; /* ページの最前面に表示 */
        padding-bottom: env(safe-area-inset-bottom, 0px) !important; /* iPhoneの下部バー対策 */
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    #sp-fixed-menu ul {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        margin: 0 !important;
        padding: 6px 0 !important;
        list-style: none !important;
        width: 100% !important;
    }

    #sp-fixed-menu li {
        flex: 1 1 25% !important;
        width: 25% !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border-right: 1px solid rgba(255, 255, 255, 0.25) !important;
        box-sizing: border-box !important;
    }

    #sp-fixed-menu li:last-child {
        border-right: none !important;
    }

    #sp-fixed-menu a {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-decoration: none !important;
        color: #ffffff !important;
        background: transparent !important;
        width: 100% !important;
        padding: 2px 0 !important;
        -webkit-tap-highlight-color: transparent !important;
    }

    /* アイコン */
    #sp-fixed-menu i.fa,
    #sp-fixed-menu svg {
        font-size: 20px !important;
        margin-bottom: 2px !important;
        color: #ffffff !important;
        display: block !important;
    }

    /* テキスト（電話・在籍・出勤・料金） */
    #sp-fixed-menu p {
        margin: 0 !important;
        padding: 0 !important;
        font-size: 12px !important;
        font-weight: bold !important;
        line-height: 1.2 !important;
        color: #ffffff !important;
        letter-spacing: 0.02em !important;
    }

    /* フッターコンテンツとの重なり防止余白 */
    .footer-wrap {
        padding-bottom: calc(55px + env(safe-area-inset-bottom, 0px)) !important;
    }

    /* 認証画面・オーバーレイが開いている時は固定メニューを隠す */
    .overlay.open ~ #sp-fixed-menu,
    .overlay.video-enter ~ #sp-fixed-menu {
        display: none !important;
    }
}

/* 認証画面をスマホメニューよりも手前に表示する */
#enter.overlay {
    z-index: 999999 !important;
}




@media print, screen and (max-width: 48em) {
    #smart-info .button {
        border: 1px solid #ef8585;
        color: #ef8585;
        font-size: 1.5rem;
        font-weight: 700;
        background: #ffffff;
    }
}

body:not(.home) #main-content .page-header h2.page-title {
    padding-top: 10px !important;    /* 上のスペース */
    padding-bottom: 10px !important; /* 下のスペース */
}

button.material-scrolltop {
    display: none !important;
}


@media screen and (max-width: 768px) {
#enter .video-enter-wrap::before{
    content: "";
    display: block;
    width: 100%;
    height: 60px; /* ロゴの高さに合わせて調整してください */
    background-image: url('https://wataama.jp/wp-content/uploads/2026/08/logo_wataama.png');
    background-size: contain;
    background-position: center top;
    background-repeat: no-repeat;
	margin-top: -30px;
    margin-bottom: -20px; /* 下の画像との余白 */
 }
}

/*-----copyright　非表示--------*/
#footer-copy {
	display: none !important;
}

@media print,
screen and (max-width: 48em) {
	.footer-widget-box {
		padding-bottom: 7em !important;
	}
}

@media screen and (min-width: 48.9375px) {
	body.admin-bar #header.sticking {
		padding-top: 10px;
	}
}

/* TOPページのニュースリスト内にあるタイトルのみ、上の余白を無くす */
.news-lists-frame .entry-title,
.front-page .news-lists-frame .entry-title {
  padding-top: 0 !important;
}

body:not(.home) #main-content .profile-title {
    padding: 5px!important;
    width: 100%!important;
}



/* グループブロックを強制的に画面の端から端まで広げる */
.wp-block-group.alignfull {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  box-sizing: border-box !important;
}

/* 中身のコンテナ幅と中央揃えの調整 */
.wp-block-group.alignfull .wp-block-group__inner-container,
.wp-block-group.alignfull .is-layout-constrained {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}