@charset "utf-8";
/*
Template: jstork19
Theme Name: stork19_custom
Theme URI:http://open-cage.com/stork19/
Version: 1.2.0
Author: opencage
Author URI: https://open-cage.com/
*/

body {
	font-weight: 300;
}

.entry-content a[target="_blank"]::after {
	content: none;
}

/*ボックスシャドウの除去*/
#inner-content, .stk_header, .stk_header[data-fixheader="true"]::before, #footer, .bgfull #breadcrumb.pannavi_on_bottom, .bgnormal #breadcrumb, .bgnormal #viral-header {
	box-shadow: none;
}

@media only screen and (min-width: 981px) {
	#content #inner-content {
		margin-top: 0;
		margin-bottom: 0;
	}
}

/*ヘッダー*/
@media only screen and (max-width: 767px) {
	body:not(.page):not(.single) .stk_header {
		background: none;
	}
}

/*サイトタイトル*/
.site__logo .gf {
	font-family: 'Cinzel', serif;
	font-weight: 300;
}

/*グローバルナビ*/
.ul__g_nav > .menu-item {
	font-weight: 300;
}
.ul__g_nav .gf {
	font-size: 12px;
}
@media only screen and (min-width: 1167px) {
	.ul__g_nav > .menu-item {
		font-size: 100%;
	}
}
@media only screen and (max-width: 767px) {
	.stk_g_nav {
		font-size: 90%;
		padding-top: 0;
		padding-bottom: 0;
	}
	.stk_g_nav a {
		background: rgba(255, 255, 255, 0.6);
	}
}

/*投稿メニュー*/
.menu-item-photo > a,
.menu-item-recruit > a {
	font-weight: 600;
	color: #fff;
	background: #ee5656;
	display: block;
	text-align: center;
	text-decoration: none;
}
.menu-item-photo .gf {
	font-weight: 600;
}

.oubo_label {
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0);
	right: 0;
	width: 30%;
	max-width: 200px;
	z-index: 10000;
}


/*----------------------------------------
 トップページ
----------------------------------------*/

/*記事リスト（撮影会）*/
@media only screen and (max-width: 767px) {
	.home .cat_postlist {
		padding: 3% 4%;
	}
}

/*ヘッダーアイキャッチ*/
.headeroverlay .stk_custom_header__text {
	margin-top: 0;
}

/*ヘッダーアイキャッチのテキスト*/
#custom_header .en {
	font-family: 'Cinzel', serif;
	font-size: clamp(28px, 6vw, 60px);
	font-weight: 300;
	margin-top: 0;
}
#custom_header .ja {
	font-family: 'Noto Serif JP', serif;
	font-size: clamp(14px, 1.5vw, 18px);
	font-weight: 300;
}

/*ヘッダーアイキャッチのボタン*/
#custom_header .wp-block-button__link {
	width: auto;
	min-width: auto;
	background: rgba(255,255,255,.5);
	font-size: 12px;
	font-weight: 300;
	padding: 6px 20px;
	border: 0.5px solid rgba(0,0,0,.5);
	border-radius: 20px;
}


/*----------------------------------------
 アーカイブページ
----------------------------------------*/

.eyecatch .cat-name {
	display: none;
}

/*アイキャッチ画像のサイズ変更*/
.category-posted-photo .eyecatch.of-cover::before,
#author-newpost .eyecatch.of-cover::before {
	padding-top: 100%;
}


/*----------------------------------------
 投稿・固定ページ
----------------------------------------*/
/*撮影会*/
.category-photo-session .byline {
	font-size: 100%;
}
.category-photo-session .time__date::before {
	content: none;
}
.category-photo-session .time__date {
	opacity: 1;
	font-weight: bold;
}

@media only screen and (min-width: 768px) {
	.page #inner-content.page-full #main {
		max-width: 728px;
	}
}

/*タイトル*/
.page .entry-header,
.archivettl {
	display: flex;
	align-items: center;
	margin-bottom: 2em;
}
.page .entry-header::after,
.archivettl::after {
	content: "";
	display: block;
	border-top: 0.5px solid #ddd;
	background-color: currentColor;
	margin-left: 1em;
	width: 100%;
}
.entry-header .page-title,
.archive-title {
	font-family: 'Noto Serif JP', serif;;
	font-size: 128%;
	font-weight: 400;
	flex-shrink: 0;
	border: none;
	padding-bottom: 0;
}

/*見出しグループ*/
.page-heading__wrap > div {
	display: flex;
	align-items: baseline;
}
.page-heading__title-ja,
.page-heading__title-en {
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
}
.page-heading__title-ja {
	margin-right: 0.5em !important;
}
.page-heading__title-en {
	font-size: 85%;
	color: #999;
}

.single .byline .cat-name {
	display: none;
}


/*----------------------------------------
 モデルページ（既存）
----------------------------------------*/

/*モデルカテゴリーでは投稿タイトルを非表示*/
article.category-posted-photo .article-header .entry-title {
	display: none;
}

/*名前*/
.model-profile__name > div {
	display: flex;
	align-items: baseline;
}
.model-profile__name-ja,
.model-profile__name-en {
	font-family: 'Noto Serif JP', serif;
	font-weight: 400;
}
.model-profile__name-ja {
	margin-top: 0;
	margin-right: .5em;
}

/*項目名*/
.model-profile__title {
	font-family: 'Cinzel', serif;
	letter-spacing: .05em;
}
.model-profile__title::after {
	content: "";
	width: 100%;
	height: 1px;
	background: #ddd;
	display: block;
}


/*----------------------------------------
 投稿写真ページ（単一投稿）
----------------------------------------*/
#inner-content.cat-posted-photo {
	padding: 0;
}

.cat-posted-photo article {
	position: relative;
}

#inner-content.cat-posted-photo .entry-header .eyecatch {
	min-height: calc(100vh - 87px);
	position: relative;
	margin: 0;
}
#inner-content.cat-posted-photo .entry-header .eyecatch img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	-o-object-fit: cover;
	object-fit: cover;
	outline: none;
	border: none;
	box-shadow: none;
}
#inner-content.cat-posted-photo .entry-header .eyecatch::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 1;
	opacity: .5;
	background-image: linear-gradient(180deg, transparent 0 60%, #000 80% 100%);
}

.cat-posted-photo .entry-content {
	position: absolute;
	bottom: 5px;
	left: 15px;
	width: 100%;
	max-width: 92%;
	color: #fff;
	z-index: 1;
}
.cat-posted-photo .entry-content p,
.cat-posted-photo .entry-content ul {
	font-size: 1.2em;
	margin-bottom: 0.25em;
	max-width: 75%;
}

.cat-posted-photo .entry-content .name.author::before {
	content: '@';
	margin-right: .25em;
}
.cat-posted-photo .entry-content .name.author a {
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}
.cat-posted-photo .entry-content .post-tags li {
	font-size: 14px;
	margin-right: .5em;
	display: inline;
	padding-left: 0;
}
.cat-posted-photo .entry-content .post-tags li a {
	color: #fff;
	text-decoration: none;
}
.cat-posted-photo .entry-content .post-tags li a::before {
	content: "#";
}
.cat-posted-photo .entry-content .post-tags li::before {
	content: none;
}

@media only screen and (min-width: 980px) {
	.cat-posted-photo #main {
		margin: 0 auto;
		width: 100%;
		max-width: 500px;
	}
	#inner-content.cat-posted-photo .entry-header .eyecatch {
		min-height: calc(100vh - 100px);
	}
}


/*----------------------------------------
 応募ページ
----------------------------------------*/
.wpcf7-form input[type=text] {
	display: inline-block;
}
.field, input[type=color], input[type=date], input[type=datetime-local],
input[type=datetime], input[type=email], input[type=month], input[type=number],
input[type=password], input[type=search], input[type=tel], input[type=text], 
input[type=time], input[type=url], input[type=week], select, textarea {
	background-color: rgba(102, 102, 102, 0.08);
	border: none;
	border-radius: 2px;
	outline: none;
}

/*テーブル*/
.wpcf7-form table {
	font-size: 100%;
}
.wpcf7-form th, .wpcf7-form td {
	background: none;
	border: none;
	padding: 1em 0;
	font-weight: 300;
}
.wpcf7-form th {
	display: flex;
	justify-content: left;
}

/*必須マーク*/
.form-required {
	padding: 2px;
	border: 0.5px solid #e55050;
	color: #e55050;
	font-size: 10px;
	line-height: 11px;
	margin: auto 0.5em;
	order: 1;
}

/*お問い合わせフォームのテーブルをスマホ表示用に調整*/
@media only screen and (max-width: 480px) {
	.wpcf7-form table,
	.wpcf7-form table tr,
	.wpcf7-form table th,
	.wpcf7-form table td {
		padding: 0;
	}
	.wpcf7-form table td {
		display: block;
	}
	.wpcf7-form table td {
		margin-bottom: 1em;
	}
}

/*プライバシーポリシーへの同意*/
.wpcf7-form .agree {
	text-align: right;
	margin: 0 0 1.5em;
}

/*送信ボタン*/
#usp-submit,
.swpm-edit-profile-submit-section,
.wpcf7-form .register {
	text-align: right;
}
#usp-submit input[type=submit],
.swpm-submit, input[type="submit"].swpm-submit,
.wpcf7-form input[type="submit"] {
	font-size: 1em;
	padding: 1.5em 2em;
	background: var(--main-link-color);;
	border-radius: 0;
	transition: all 0.3s ease-in-out;
}
/*マウスオン時*/
.swpm-submit, input[type="submit"].swpm-submit:hover
.wpcf7-form input[type="submit"]:hover {
	background: var(--main-link-color-hover);;
	transform: translateY(4px);
	transition-duration:0.3s;
	opacity: 1;
}

/*送信アニメーション*/
.wpcf7-spinner {
	display: block;
}


/*----------------------------------------
 写真投稿ページ
----------------------------------------*/

/*User Submited Posts*/
div#user-submitted-posts form {
	padding: 0;
	margin: 0;
}
div#user-submitted-posts fieldset label {
	font-size: 100%;
}
@media only screen and (min-width: 768px) {
	div#user-submitted-posts fieldset {
		display: flex;
		justify-content: flex-start;
	}
	div#user-submitted-posts fieldset label {
		font-size: 100%;
		width: 20%;
		flex-shrink: 0;
	}
	div#user-submitted-posts fieldset input.usp-input.usp-clone {
		margin-top: 0;
	}
}


/*----------------------------------------
 マイアルバム
----------------------------------------*/
/*ユーザーの投稿一覧*/
#author-newpost ul li {
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 0;
}
#author-newpost ul li:before {
	content: none;
}
.related_newpost__li .ttl {
	display: none;
}


/*プロフィールフォーム*/
.swpm-profile-street-row,
.swpm-profile-city-row,
.swpm-profile-state-row,
.swpm-profile-zipcode-row,
.swpm-profile-country-row,
.swpm-profile-company-row {
	display: none;
}


/*----------------------------------------
 スマホ用フッターナビゲーション
----------------------------------------*/
#mobile_menu_widget__wrap {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index:5;
}
.mobile-menu-widget__inner {
	background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.25) 100%);
}
#mobile_menu_widget__wrap ul {
	display: flex;
	margin: 0;
}
#mobile_menu_widget__wrap li {
	width: 100%;
	text-align: center;
	line-height: 1.5;
}
#mobile_menu_widget__wrap li a {
	color: #fff;
	text-decoration: none;
	display: block;
	padding: 7px 5px 0;
}
#mobile_menu_widget__wrap li .mobile-manu-icon  {
	display: block;
	transform: scale(1.1);
}
#mobile_menu_widget__wrap li .gf  {
	font-size: 70%;
	font-weight: 600;
}


/*----------------------------------------
 登録フォーム
----------------------------------------*/
.swpm-fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

form.swpm-form-builder {
	margin-top: 0;
}
.swpm-form-builder .swpm-legend {
	display: none;
	margin: 0;
	padding: 0;
	border: 0;
}

.swpm-form-builder ul.swpm-section {
	margin: 0 !important;
	font-size: inherit;
}
.swpm-form-builder li.swpm-item {
	padding: 1em 0 !important;
}

.swpm-form-builder li div {
	margin-bottom: 10px;
}

.swpm-form-builder label {
	font-weight: 300;
}

.swpm-form-builder .swpm-span p {
	font-size: 90%;
	margin-top: .5em;
	margin-bottom: 0;
}

.swpm-required-asterisk {
	font-size: 0;
}
.swpm-required-asterisk::before {
	content: "必須";
	padding: 2px;
	border: 0.5px solid #e55050;
	color: #e55050;
	font-size: 10px;
	line-height: 10px;
}

@media only screen and (min-width: 768px) {
	.swpm-form-builder li.swpm-item {
		display: flex;
		justify-content: flex-start;
	}
	.swpm-form-builder label.swpm-desc {
		width: 30%;
		flex-shrink: 0;
		text-align: right;
		padding-right: 32px;
		margin-right: 1.5em;
		position: relative;
	}
	.swpm-required-asterisk::before {
		position: absolute;
		top: 5px;
		right: 0;
	}
}


/* =========================================================
   モデル一覧 / モデル詳細（CSSを現行PHP出力に合わせて整理）
========================================================= */

/* --- 共通：中央寄せ（左寄り防止） --- */
.ga-model-list,
.ga-public-model{
  max-width: 1100px;
  margin: 0 auto;
}

/* --- モデル一覧（/model/） --- */
.ga-model-list{
  padding: 0 16px 30px;
}

.ga-model-list__grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  gap: 28px;
}

.ga-model-list__card{
  display:block;
  text-decoration:none;
}

.ga-model-list__media{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  background:#f3f3f3;
  aspect-ratio: 3 / 4;
}

.ga-model-list__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.ga-model-list__noimg{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#777;
  font-size:14px;
}

.ga-model-list__name{
  margin-top:6px;
  text-align:center;
  font-size:15px;
  line-height:1.2;
  color:#444;
  word-break:break-word;
}

/* --- モデル詳細（/model/username/） ---
   重要：
   ・カード(.ga-grid__item)を固定比率＋overflowで切らない（本文が消える原因）
   ・画像枠(.ga-grid__link)だけを固定比率＋overflowにする
*/
.ga-public-model .ga-grid{
  max-width:1100px;
  margin:0 auto;
  padding:0 16px 30px;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr)); /* PC 4列 */
  gap:18px;
}

/* カード全体は“切らない” */
.ga-public-model .ga-grid__item{
  position:relative;
  display:block;
  background:transparent;
}

/* 画像枠だけを縦長固定 */
.ga-public-model .ga-grid__link{
  display:block;
  position:relative;
  overflow:hidden;
  border-radius:16px;
  background:#f3f3f3;
  aspect-ratio: 3 / 4;
}

/* 画像は枠にフィット */
.ga-public-model .ga-grid__link img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  display:block !important;
}

/* 下の情報エリア（ユーザー名/タグ/コメント/いいね） */
.ga-public-model .ga-grid__overlay{
  margin-top: 10px;
}

/* ユーザー名 */
.ga-public-model .ga-author{
  margin:0;
  font-weight: 700;
}
.ga-public-model .ga-author a{
  text-decoration:none;
}

/* タグ（post-tags と ga-post-tags の両方に対応） */
.ga-public-model .ga-post-tags,
.ga-public-model .post-tags{
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
}
.ga-public-model .ga-post-tags li,
.ga-public-model .post-tags li{
  display:inline;
  margin-right: .6em;
  padding-left: 0;
}
.ga-public-model .ga-post-tags li::before,
.ga-public-model .post-tags li::before{
  content:none;
}
.ga-public-model .ga-post-tags a::before,
.ga-public-model .post-tags a::before{
  content:"#";
}

/* コメント */
.ga-public-model .ga-caption{
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.45;
  word-break: break-word;
}

/* いいね */
.ga-public-model .ga-like{
  margin-top: 8px;
}

/* --- スマホ --- */
@media (max-width: 768px){

  /* 一覧：2列 */
  .ga-model-list__grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
  }
  .ga-model-list__name{
    margin-top:4px;
    font-size:18px;
    font-weight:600;
  }

  /* 詳細：1列・フル幅 */
  .ga-public-model .ga-grid{
    grid-template-columns:1fr;
    max-width:none;
    padding:0 12px 24px;
  }

  .ga-public-model .ga-grid__link{
    border-radius:0;
    aspect-ratio:auto;
  }
  .ga-public-model .ga-grid__link img{
    height:auto !important;
  }

  .ga-public-model .ga-caption{
    font-size: 15px;
  }
}




/* 新規登録フォーム（ページID:790）をマイページ風のカードに */
.page-id-790 .swpm-registration-widget-form{
  max-width: 760px;
  margin: 0 auto;
}

.page-id-790 .swpm-registration-widget-form form{
  border: 1px solid rgba(238,86,86,.35);
  border-radius: 16px;
  padding: 22px 18px;
  background: #fff;
}

/* テーブルの見た目をマイページ寄せ */
.page-id-790 .swpm-registration-widget-form table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

.page-id-790 .swpm-registration-widget-form th,
.page-id-790 .swpm-registration-widget-form td{
  border: none;
  padding: 12px 10px;
  vertical-align: top;
}

.page-id-790 .swpm-registration-widget-form th{
  width: 28%;
  font-weight: 600;
  color: #555;
}

/* 入力 */
.page-id-790 .swpm-registration-widget-form input[type="text"],
.page-id-790 .swpm-registration-widget-form input[type="email"],
.page-id-790 .swpm-registration-widget-form input[type="password"]{
  width: 100%;
  max-width: 520px;
  background-color: rgba(102,102,102,.08);
  border: none;
  border-radius: 2px;
  padding: 10px 12px;
  outline: none;
}

/* 登録ボタン */
.page-id-790 .swpm-registration-widget-form input[type="submit"],
.page-id-790 .swpm-registration-widget-form button[type="submit"]{
  display: inline-block;
  font-size: 1em;
  padding: 14px 36px;
  background: var(--main-link-color);
  border: none;
  border-radius: 8px;
}

.page-id-790 .swpm-registration-widget-form input[type="submit"]:hover,
.page-id-790 .swpm-registration-widget-form button[type="submit"]:hover{
  background: var(--main-link-color-hover);
}

/* スマホ：縦積みにして見やすく */
@media (max-width: 768px){
  .page-id-790 .swpm-registration-widget-form form{
    padding: 16px 12px;
    border-radius: 14px;
  }

  .page-id-790 .swpm-registration-widget-form table,
  .page-id-790 .swpm-registration-widget-form tbody,
  .page-id-790 .swpm-registration-widget-form tr,
  .page-id-790 .swpm-registration-widget-form th,
  .page-id-790 .swpm-registration-widget-form td{
    display: block;
    width: 100%;
  }

  .page-id-790 .swpm-registration-widget-form th{
    padding: 10px 6px 6px;
  }

  .page-id-790 .swpm-registration-widget-form td{
    padding: 0 6px 12px;
  }
}

/* 新規登録ページ：登録ボタンをオレンジに */
.page-id-790 .swpm-registration-widget-form input[type="submit"],
.page-id-790 .swpm-registration-widget-form button[type="submit"]{
  background-color: #f4a340; /* GIRLS ALBUMのオレンジ */
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 14px 36px;
  font-weight: 600;
  transition: opacity .2s ease;
}

.page-id-790 .swpm-registration-widget-form input[type="submit"]:hover,
.page-id-790 .swpm-registration-widget-form button[type="submit"]:hover{
  opacity: 0.85;
}


/* =========================================================
   マイページ：SNSブロックを「上のプロフィール枠」と統一
========================================================= */

/* SNS全体を上と同じ“カード”っぽく */
.ga-sns-edit{
  border: 1px solid rgba(244, 163, 64, .45);
  border-radius: 14px;
  padding: 18px 18px 22px;
  margin-top: 22px;
  background: #fff;
}

/* 見出しの整え（上のフォームに馴染ませる） */
.ga-sns-edit h3{
  margin: 0 0 14px;
  font-size: 16px;
  font-weight: 700;
}

/* 入力欄の余白・揃え */
.ga-sns-edit form p{
  margin: 12px 0;
}

.ga-sns-edit label{
  font-weight: 600;
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  color: #333;
}

/* 入力欄：上のフォームと雰囲気合わせ */
.ga-sns-edit input[type="url"]{
  width: 100%;
  max-width: 520px;
  height: 44px;
  padding: 10px 12px;
  border: 1px solid #e6e6e6;
  border-radius: 6px;
  background: rgba(102, 102, 102, 0.08);
  outline: none;
}

/* SNS保存ボタン：上の「更新」と同じオレンジに */
.ga-sns-edit .button.button-primary{
  background: #f4a340;
  border: none;
  color: #fff;
  border-radius: 999px;
  padding: 12px 28px;
  font-weight: 700;
  box-shadow: none;
}

.ga-sns-edit .button.button-primary:hover{
  opacity: .88;
}

/* スマホ：余白だけ少し詰める */
@media (max-width: 767px){
  .ga-sns-edit{
    padding: 14px 14px 18px;
  }
  .ga-sns-edit input[type="url"]{
    max-width: none;
  }
}

/* =========================
   マイページ SNS項目：項目名を白背景に
========================= */

/* SNSエリア全体 */
.sns-profile-area label,
.sns-profile-area .sns-label,
.sns-profile-area .sns-name {
    background: #ffffff !important;
}

/* スマホ表示時も確実に白にする */
@media (max-width: 768px) {
    .sns-profile-area label,
    .sns-profile-area .sns-label,
    .sns-profile-area .sns-name {
        background: #ffffff !important;
    }
}

/* =========================
   マイページ：SNS欄を上の項目群と統一
========================= */

/* タイトル */
.ga-sns-edit h3{
  font-size: 15px;
  font-weight: 700;
  color: #333;
  margin-bottom: 12px;
}

/* ラベル */
.ga-sns-edit label{
  font-size: 13px;
  font-weight: 600;
  color: #666; /* 上の項目の薄めグレー寄せ */
  margin-bottom: 6px;
}

/* 入力欄 */
.ga-sns-edit input[type="url"]{
  font-size: 14px;
  color: #333;
  background: #f3f3f3;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  padding: 10px 12px;
  max-width: 520px;
}

/* SNSフォーム全体の余白感 */
.ga-sns-edit{
  margin-top: 18px;
}



/* SNS保存ボタンの幅を更新ボタンくらいにする（インラインも上書き） */
.ga-sns-edit button.button.button-primary{
  width: 300px !important;   /* 好みで 200px / 220px に変更OK */
  max-width: none !important;
  margin: 14px auto 0 !important;
  display: block !important;
}

/* SNS入力：@ 表示＋アカウント名入力 */
.ga-sns-edit .ga-sns-row{
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 0;
}

.ga-sns-edit .ga-sns-label{
  min-width: 180px;
  font-weight: 600;
  font-size: 13px;
  color: #666;
  margin: 0;
}

.ga-sns-edit .ga-at{
  font-weight: 700;
  color: #666;
  width: 14px;
  text-align: center;
}

.ga-sns-edit .ga-sns-row input[type="text"]{
  flex: 1;
  max-width: 520px;
}

/* スマホは縦積み */
@media (max-width: 768px){
  .ga-sns-edit .ga-sns-row{
    flex-wrap: wrap;
    gap: 6px;
  }
  .ga-sns-edit .ga-sns-label{
    min-width: 100%;
  }
  .ga-sns-edit .ga-at{
    width: auto;
  }
  .ga-sns-edit .ga-sns-row input[type="text"]{
    max-width: none;
    width: 100%;
  }
}


/* モデル詳細：ユーザー名とSNSアイコンを必ず横並びに固定 */
.ga-public-model__header{
  display: flex !important;
  align-items: center !important;
  gap: 10px;
  flex-wrap: nowrap;         /* ← 下に落ちるのを防ぐ */
  margin-bottom: 50px;       /* ← 画像との間隔 */
}

/* ユーザー名(h1)の余計なmarginでズレないように */
.ga-public-model__header .ga-public-model__name{
  margin: 0 !important;
  line-height: 1.2;
}

/* SNSアイコン側も横並び・位置固定 */
.ga-public-model__header .ga-public-model__sns{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px;
  margin: 0 !important;      /* ← 下に押し下げる原因を潰す */
}

/* アイコンリンク自体 */
.ga-public-model__header .ga-sns{
  display: inline-flex;
  align-items: center;
  justify-content: center;
}



/* マイページ：自分の投稿ページを見る（サブボタン） */
.ga-myprofile-btn-wrap{
  text-align: center;
  margin-top: 12px; /* 写真を投稿するボタンとの間隔 */
}

.ga-myprofile-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;

  width: 280px;          /* 投稿ボタンより少し短く */
  max-width: 100%;
  height: 44px;

  background: #fff;     /* 白背景 */
  border: 2px solid #f4a340;
  color: #f4a340;

  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: none;
}

/* 矢印を付けて「移動ボタン」感を出す */
.ga-myprofile-btn::after{
  content: "→";
  font-weight: 700;
  line-height: 1;
}

/* hover */
.ga-myprofile-btn:hover{
  background: rgba(244,163,64,.08);
  opacity: 1;
}

/* USP投稿後：マイページへ戻るボタン */
.ga-back-mypage-btn{
  display:inline-block;
  margin-top:10px;
  padding:12px 22px;
  border-radius:999px;
  border:1px solid rgba(244,163,64,.65);
  color:#f4a340;
  text-decoration:none;
  font-weight:700;
  background:#fff;
}
.ga-back-mypage-btn:hover{
  background:rgba(244,163,64,.08);
}

/* =========================================
   撮影会テンプレート：テーブル（stk-table-thdesign）
   スカイブルー基調で統一
========================================= */

.stk-table-thdesign{
  border: 1px solid rgba(120,190,255,.35);
  border-radius: 16px;
  overflow: hidden;              /* 角丸を効かせる */
  background: #fff;
}

/* テーブル全体 */
.stk-table-thdesign table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}

/* セル共通 */
.stk-table-thdesign th,
.stk-table-thdesign td{
  border: none !important;
  padding: 14px 14px !important;
  vertical-align: middle;
}

/* 左列（項目名） */
.stk-table-thdesign th{
  width: 30%;
  background: rgba(185, 225, 255, .35); /* パステルスカイ */
  color: #2b2f33;
  font-weight: 700;
  white-space: nowrap;
}

/* 右列（内容） */
.stk-table-thdesign td{
  background: #fff;
  color: #444;
}

/* 行の区切り線（薄い） */
.stk-table-thdesign tr + tr th,
.stk-table-thdesign tr + tr td{
  border-top: 1px solid rgba(120,190,255,.25) !important;
}

/* もしテーブル内にリンクがある場合の色 */
.stk-table-thdesign a{
  color: #2b6cb0;
  text-decoration: none;
}
.stk-table-thdesign a:hover{
  text-decoration: underline;
}

/* スマホ：左列幅を少し広げる */
@media (max-width: 768px){
  .stk-table-thdesign th{
    width: 40%;
    white-space: normal;
  }
}

/* 参加モデル（ショートコード） */
.ga-participating-models{
  margin-top: 16px;
}

.ga-participating-models__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ga-participating-models__card{
  display: block;
  text-decoration: none;
  border: 1px solid rgba(120,190,255,.35);
  border-radius: 14px;
  background: #fff;
  padding: 12px 10px;
  text-align: center;
  transition: transform .15s ease, box-shadow .15s ease;
}

.ga-participating-models__card:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(40,120,190,.12);
}

.ga-participating-models__thumb{
  width: 88px;
  height: 88px;
  margin: 0 auto 8px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(185,225,255,.25);
  display:flex;
  align-items:center;
  justify-content:center;
}

.ga-participating-models__avatar{
  width: 88px !important;
  height: 88px !important;
  border-radius: 999px !important;
}

.ga-participating-models__name{
  font-size: 14px;
  font-weight: 700;
  color: #2b2f33;
}

@media (max-width: 768px){
  .ga-participating-models__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* =========================================================
   撮影会テンプレ：スカイブルー統一 + 参加モデル見た目調整
   （表クラス：stk-table-thdesign 前提）
========================================================= */

/* ① 表の項目名(th)の背景をグレー → スカイブルーに */
.stk-table-thdesign th{
  background: #d9f1ff !important;   /* スカイブルー */
  border-color: #9fd7f5 !important; /* 枠と馴染ませる */
  color: #2b4a5a;
}

/* td側の枠色も合わせておく（任意） */
.stk-table-thdesign td{
  border-color: #9fd7f5 !important;
}

/* ② 「参加モデル」の上下線を消して、見出しをボタン風に */
.ga-participating-models-title,
h2.ga-participating-models-title,
h3.ga-participating-models-title,
.entry-content h2:has(+ .ga-participating-models),
.entry-content h3:has(+ .ga-participating-models){
  border: none !important;
  padding: 0 !important;
  margin: 28px 0 14px !important;
}

/* 見出し文字を“ボタン”に見せる */
.entry-content h2:has(+ .ga-participating-models),
.entry-content h3:has(+ .ga-participating-models){
  display: inline-block;
  background: #d9f1ff;
  color: #2b4a5a;
  border: 1px solid #9fd7f5;
  border-radius: 999px;
  padding: 10px 18px;
  font-weight: 700;
  letter-spacing: .02em;
}

/* ③ モデル画像を丸く切り抜き */
.ga-participating-models__avatar,
.ga-shooting-model__img{
  border-radius: 50% !important;
  object-fit: cover;
  aspect-ratio: 1 / 1;
}

/* ④ モデル名を画像のセンターに（画像上に重ねる） */
.ga-participating-models__card{
  position: relative;
  display: block;
  text-decoration: none;
}

.ga-participating-models__thumb{
  position: relative;
  width: 160px;           /* 必要なら調整 */
  max-width: 100%;
}

.ga-participating-models__thumb img{
  display: block;
  width: 160px;           /* 必要なら調整 */
  height: 160px;          /* 必要なら調整 */
}

.ga-participating-models__name{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin: 0 !important;
  padding: 6px 10px;
  background: rgba(0,0,0,.45);
  color: #fff;
  border-radius: 999px;
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  white-space: nowrap;
}

/* 名前を“画像の外”に出す既存余白があれば消す */
.ga-participating-models__card .ga-participating-models__name{
  display: inline-block;
}

/* =========================
   1) 表：左列（項目名）の背景をスカイブルーに
   （.stk-table-thdesign のテーブル想定）
========================= */
figure.stk-table-thdesign table td:first-child,
figure.stk-table-thdesign table th:first-child{
  background: #d9f1ff !important; /* スカイブルー */
  color: #333;
  font-weight: 700;
}

/* ついでに枠色も統一したい場合（不要なら消してOK） */
figure.stk-table-thdesign table td,
figure.stk-table-thdesign table th{
  border-color: #bfe6ff !important;
}


/* =========================
   2) 「参加モデル」タイトルを“ボタン化”して下に落ちないようにする
   いま h2 に display:inline-flex が当たってるのでそれをやめる
========================= */
.entry-content h2.wp-block-heading:has(+ .ga-participating-models){
  display: inline-block !important;  /* ← inline-flex をやめる */
  margin: 18px 0 12px !important;
  padding: 10px 18px !important;
  background: #d9f1ff !important;
  border: 1px solid #bfe6ff !important;
  border-radius: 999px !important;
  line-height: 1.2 !important;
  font-weight: 800;
}


/* =========================
   3) 参加モデル：丸をもう少し大きく（円形トリミング）
   4) モデル名：画像の下で中央揃え
========================= */
.ga-participating-models__card{
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
}

.ga-participating-models__thumb{
  width: 140px;          /* ← ここで丸の大きさ調整 */
  height: 140px;
  border-radius: 50%;
  overflow: hidden;
  background: rgba(185,225,255,.25);
  display: flex;
  align-items: center;
  justify-content: center;
}

.ga-participating-models__avatar{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: 50% !important; /* 念のため */
}

.ga-participating-models__name{
  margin: 0 !important;
  font-weight: 700;
  line-height: 1.2;
}

/* 投稿ページ：投稿者名（右上の impex）を非表示 */
.single-post .byline,
.single-post .writer.name.author {
  display: none !important;
}

/* まず「記事の外枠」を強制的に中央寄せ（最重要） */
.single-post #inner-content,
.single-post #content,
.single-post .wrap {
  width: 100%;
  max-width: 1100px;   /* 好みで 1000〜1200 に調整 */
  margin-left: auto !important;
  margin-right: auto !important;
}

/* テーマ側が flex で左寄せしてくる場合の対策 */
.single-post #inner-content {
  display: block !important;
}

/* まだズレる場合：main/article を中央寄せ（保険） */
.single-post #main,
.single-post article {
  float: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* 撮影会予定（モデル一覧などに表示） */
.ga-ps-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 10px 0 24px;
}

/* スマホは1列（必要なら2列に変更OK） */
@media (max-width: 768px){
  .ga-ps-grid{
    grid-template-columns: 1fr;
  }
}

.ga-ps-card{
  display: block;
  text-decoration: none;
}

.ga-ps-thumb{
  border-radius: 14px;
  overflow: hidden;
  background: #f3f3f3;
}

.ga-ps-thumb-img{
  width: 100%;
  height: 160px;         /* 高さは好みで調整OK */
  object-fit: cover;
  display: block;
}

.ga-ps-thumb-empty{
  width: 100%;
  height: 160px;
  background: #eee;
}

.ga-ps-meta{
  padding-top: 10px;
}

.ga-ps-title{
  font-weight: 700;
  line-height: 1.35;
  color: inherit;
}

.ga-ps-date{
  display: inline-block;
  margin-top: 6px;
  font-size: 13px;
  opacity: .7;
}

/* 撮影会予定：日付を非表示 */
.ga-ps-date{
  display: none;
}

/* 撮影会予定カード：横並びレイアウト */
.ga-ps-card{
  display: flex;
  align-items: center;
  gap: 12px;
}

/* サムネを小さく */
.ga-ps-thumb{
  flex: 0 0 96px;           /* 横幅固定 */
  height: 64px;
  border-radius: 8px;
  overflow: hidden;
  background: #f0f0f0;
}

.ga-ps-thumb-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* タイトル側 */
.ga-ps-meta{
  padding: 0;
}

.ga-ps-title{
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}

/* グリッド内でも左詰めに */
.ga-ps-grid{
  align-items: start;
}

/* スマホでも崩れない */
@media (max-width: 768px){
  .ga-ps-thumb{
    flex-basis: 80px;
    height: 56px;
  }
}


/* 撮影会（photo-session）の記事だけ：いいね（WP ULike）を非表示 */
.category-photo-session .wpulike,
.category-photo-session .wpulike-default,
.category-photo-session .wpulike-robeen,
.category-photo-session .wpulike-heart,
.category-photo-session .wpulike-btn {
  display: none !important;
}
