@charset "utf-8";
/* single-big-photo-session.php 専用スタイル */
/* layout-page-20260719.css / general-page-20260719.css / sp-page-20260719.css の内容を
   このテンプレート専用に取り込み、以後はこのファイルのみで完結させる。 */

/* ==================== layout（共通） ==================== */
html{font:100% Verdana, sans-serif,meiryo,"メイリオ", Osaka, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN";}
body{-webkit-text-size-adjust:100%;font-family:"游ゴシック", YuGothic, "ヒラギノ角ゴシック ProN", "Hiragino Kaku Gothic ProN", Meiryo, Avenir-Medium, Avenir, Arial;  background: url("../images/page20260719/body_bg_page20260719.jpg") no-repeat center top; background-attachment: fixed; background-size: cover;}
a{cursor:pointer;text-decoration:none;text-decoration:initial; color: #4585ce; text-decoration: underline; font-weight: bold;}
a:hover {opacity: 0.7;filter: alpha(opacity=70);-ms-filter: "alpha(opacity=70)";-webkit-transition: 0.3s ease-in-out;  -moz-transition: 0.3s ease-in-out;  -o-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out;}
a:hover img { opacity: 0.7;filter: alpha(opacity=70);-ms-filter: "alpha(opacity=70)";-webkit-transition: 0.3s ease-in-out;  -moz-transition: 0.3s ease-in-out;  -o-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out;}

strong { font-weight: bold;}

::selection {
  background: rgba(37,26,115,0.5);
  color: #FFF;
}

::-moz-selection {
  background: rgba(37,26,115,0.5);
  color: #FFF;
}

/* footer */
footer { clear: both; background: url(../images/footer_bg.gif) repeat center top; text-align: center; margin: 0 auto; padding: 30px 0;}
footer .Flogo { width: 120px; height: auto; text-align: center; margin: 0 auto; color: #000; text-decoration: underline;}
footer copy { font-size: 12px; font-family: "Times New Roman", Times, "serif"; color: #dadada;}

/* topへ戻る */
p.pagetop{position:fixed;bottom:0px;right:20px;z-index:11;}
p.pagetop a{width:48px;height:48px;margin-bottom:50px;text-align:center;display:block;background:#000 url(../images/image-topButton.png) repeat left top;border:1px solid #000;box-shadow:0 0 1px rgba(255,255,255,1.0);position:relative;}
p.pagetop a:after{content:"";width:24px;height:14px;margin:auto;display:block;position:absolute;top:0;bottom:0;left:0;right:0;background:url(../images/icon-topButton.png) no-repeat left top;}

/* clearfix */
.clearfix:after {content: ".";display:block;height:0;clear:both;visibility:hidden;}.clearfix{display:inline-table;min-height:1%;}
* html .clearfix {height:1%;}.clearfix{display:block;}

/* ==================== general（PC） ==================== */
.form-attention {
	background: #ffe1ea;
	border-radius: 16px;
	text-align: left;
	padding: 1em;
	margin-top: 2em;
}
.form-attention p {
	color: #FF0004;
	font-weight: bold;
	line-height: 1.5;
	margin: 0!important;
}

/* 共通 */
.content{width:1180px;margin:0 auto;}
.spOnly { display: none;}
.pcOnly{ display:inherit;}
.br-sp { display: none;}
.br-pc { display: inherit;}

/* concept（固定ヘッダーナビ） */
#concept { width: 90%; text-align: center; margin: 0 auto; padding: 0 0; position: fixed; z-index: 999; top: 0; left: 50%;transform: translate(-50%, 0%);}
#concept .wrapbox ul { display: flex; justify-content: left; text-align: center;}
#concept .wrapbox li { list-style: none; margin: 0 8px; width: 320px; box-sizing: border-box;}
#concept .wrapbox li:first-child a::before{ background: #fff;}
#concept .wrapbox li a {display: inline-block;
  font-size: 16px;
  padding: 10px 50px 0 20px;
  position: relative;
  z-index: 1;}
#concept .wrapbox li a::before {
  content: "";
  position: absolute;
  top: -170px;
height: 170px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: #FFF;
  transform: scaleY(-1) perspective(6em) rotateX(6deg);
  transform-origin: bottom left;
  border-radius: 16px 16px 0 0;box-shadow: 5px -5px 15px 0px rgba(0,0,0,0.15);
}
#concept .wrapbox li:first-child { position: relative; z-index: 10;}
#concept .wrapbox h1 { text-align: center; margin: 0 auto;}
#concept .wrapbox li a img { width: auto; height: 122px;}

#big-photo-session #bps-concept .wrapbox p {
    font-size: 18px;
    font-weight: bold;
    color: #FFF;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.45);
}
#big-photo-session #bps-concept .wrapbox h2 { position: relative; top: -100px; margin-bottom: -100px; z-index: 1;}
#big-photo-session #schedule .wrapbox > h2 { position: relative; top: 0; margin-bottom: -50px; z-index: 1;}

#big-photo-session #schedule .wrapbox :where(figure) {
  margin: 0;
}

.container { padding-top: 0;}

h3.notice { text-align: center;font-weight: bold; padding: 10px; margin: 20px auto; font-size: 21px; background: #3077f4;color: #FFF; opacity: 0.85; border-radius: 12px; box-shadow: 0 0 20px rgba(0,0,0,0.75);}
h3.notice span { color: #000; text-shadow:1px 0px 3px rgba(0,0,0,0.15);}
p.notice-p { width: 100%; text-align: center; margin: 0 auto 10px auto; font-size: 17px; color: #000; }

/* mainimg */
#mainimg { position: relative; width: 100%; padding-top: 120px; background: #a0d2f8;}
#mainimg img { vertical-align: top; width: 100%; height: auto; margin: 0; padding: 0;}

/* topics（大撮影会情報） */
#topics { width: 100%; padding: 40px 0 60px 0; background: url("../images/page20260719/topics_bg_page20260719.jpg") no-repeat center top; background-size: cover; background-attachment: fixed;}
#topics .wrapbox { width: 850px; text-align: center; margin: 0 auto;}
#topics .topics-post-list { display: flex; flex-wrap: wrap; justify-content: center; }
#topics .topics-post-list li { display: flex; align-items: flex-start; list-style: none; background: #FFF; width: 850px; height: auto; min-height: 280px; box-sizing: border-box; padding: 20px; box-shadow: 5px 5px 15px 0px rgba(0,0,0,0.15); border-radius: 8px;margin-bottom: 20px;}
#topics .topics-post-list li:hover {box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22); -webkit-transform: translateY(-4px);transform: translateY(-4px); transition: -webkit-transform 400ms ease; transition: transform 400ms ease;  }
#topics .topics-post-list li:nth-child(2n) { margin-right: 0;}
#topics .topics-post-list li a { flex: 0 0 240px; color: #000; text-decoration: none;}
#topics .topics-post-list figure { width: 240px; height: 240px; overflow: hidden;}
#topics .topics-post-list li img { width: 240px; height: auto;}
#topics .topics-post-list li .caption { flex: 1; min-width: 0; margin-left: 20px;}
#topics .topics-post-list li .caption h2.topics-title { font-size: 16px; font-weight: bold; text-align: left; margin-bottom: 0.5em;}
#topics .topics-post-list li .caption p.topics-excerpt { text-align: left;}

/* schedule（出演モデル一覧） */
#schedule { width: 100%; background: url("../images/page20260719/model_bg_page20260719.jpg") no-repeat center top; background-size: cover;}
#schedule h2.entry-title { position: relative; text-align: left;}
#schedule .wrapbox { width: 1120px; text-align: center; margin: 0 auto; padding-top: 1px;}
#schedule .post-list { display: flex; flex-wrap: wrap; margin-top: 30px; } /* 各行のカードを一番高いカードに揃える */
#schedule .post-list:after { display: none; } /* .clearfix の疑似要素がflexアイテムにならないように */

.btnMore { position: relative; margin: 120px 0 0 0;}
.btnMore a { position: absolute; right: 0; bottom: 0; display: block; font-weight: bold; color: #FFF!important;background: #3077f4; font-size: 18px; letter-spacing: 0.2em; border-radius: 30px; width: 320px; height: 50px; line-height: 50px; text-align: center; margin: 0 auto; text-decoration: none;}

/* post-list（モデルカード） */
.post-list li { float: left;  list-style: none; background: #FFF; width: 310px; height: auto; padding: 20px; box-shadow: 5px 5px 15px 0px rgba(0,0,0,0.15); border-radius: 8px; margin-right: 35px; margin-bottom: 35px;}
.post-list li:hover {box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22); -webkit-transform: translateY(-4px);transform: translateY(-4px); transition: -webkit-transform 400ms ease; transition: transform 400ms ease;  }
.post-list li:nth-child(3n) { margin-right: 0;}
.post-list li a { color: #000; text-decoration: none;}
.post-list li img { width: 100%; height: auto;}

h2.entry-title { text-align: left; font-size: 90%;}

.caption .date { font-size: 18px; text-align: left; font-weight: bold; min-height: 20px;}
.caption .name { font-size: 21px; text-align: left; font-weight: bold; color: #ff4195;}

.onoff-ON { position: relative; z-index: 100; font-weight: bold; width: 80px; top: -10px; margin-bottom: -20px; margin-left: 230px; background: #d978ab; color:#FFF;animation: key1 .3s ease infinite alternate;}
@keyframes key1{
  0% {transform: translateY(0px);}
  100% {transform: translateY(-10px);}
}
.onoff-PRE { position: relative; z-index: 100; font-weight: bold; width: 80px; top: -10px; margin-bottom: -20px; margin-left: 230px; background: #78afd9; color:#FFF;animation: key2 .3s ease infinite alternate;}
@keyframes key2{
  0% {transform: translateY(0px);}
  100% {transform: translateY(-10px);}
}

.onoff-LIT { position: relative; z-index: 100; font-weight: bold; width: 100px; top: -10px; margin-bottom: -20px; margin-left: 210px; background: #ce3f3f; color:#FFF;animation: key3 .2s ease infinite alternate;}
@keyframes key3{
  0% {transform: translateY(0px);}
  100% {transform: translateY(-10px);}
}

.onoff-SEL { position: relative; z-index: 100; font-weight: bold; width: 80px; top: -10px; margin-bottom: -20px; margin-left: 230px; background: #d9d378; color:#000;animation: key4.3s ease infinite alternate;}
@keyframes key4{
  0% {transform: translateY(0px);}
  100% {transform: translateY(-10px);}
}

.onoff-OFF { position: relative; z-index: 100; background: url(../images/label_OFF.png) no-repeat left top; background-size: 150px 150px; width: 150px; height: 150px; top: -120px; margin-bottom: -144px; margin-left: 205px; overflow: hidden;text-indent: 100%;white-space: nowrap;}

.onoff-soldout { position: relative; z-index: 100; background: url(../images/label_soldout.png) no-repeat left top; background-size: 150px 150px; width: 150px; height: 150px; top: -10px; margin-bottom: -144px; margin-left: 655px; overflow: hidden;text-indent: 100%;white-space: nowrap;}

.onoff-heart { position: relative; z-index: 100; background: url(../images/label_heart.png) no-repeat left top; background-size: 48px 48px; width: 48px; height: 48px; top: -20px; margin-bottom: -48px; margin-left: 258px; overflow: hidden;text-indent: 100%;white-space: nowrap;animation: key5 .9s ease infinite alternate;}
@keyframes key5{
    0% {transform: scale(0.7);}
    100% {transform: scale(1.4) translateY(-20px);}
}

.onoff-LOT { position: relative; z-index: 100; font-weight: bold; width: 120px; top: -10px; margin-bottom: -20px; margin-left: 190px; background: #bf78d9; color:#FFF;animation: key6 .3s ease infinite alternate;}
@keyframes key6{
  0% {transform: translateY(0px);}
  100% {transform: translateY(-10px);}
}

.onoff-10 { position: relative; z-index: 100; font-weight: bold; width: 100px; top: -10px; margin-bottom: -20px; margin-left: 210px; background: #ec9650; color:#FFF;animation: key7 .3s ease infinite alternate;}
@keyframes key7{
  0% {transform: translateY(0px);}
  100% {transform: translateY(-10px);}
}

/* page-top */
#page-top { position: fixed; right: 20px; bottom: 20px; z-index: 50; cursor:pointer;}
#page-top a { position: relative; display: block; width: 60px; height: 60px; border-radius: 30px; background: #FFF;}
#page-top a span {position: absolute;top: 10px;bottom: 5px;left: 22px;margin: auto;vertical-align: middle;width: 12px;height: 12px;border-top: 2px solid #0272db;border-right: 2px solid #0272db;-webkit-transform: rotate(-45deg);transform: rotate(-45deg); }

/* ==================== big-photo-session 専用要素 ==================== */
/* 固定ヘッダー（#concept）に隠れないよう先頭コンテンツ分の上マージンを確保 */
#big-photo-session .container { padding-top: 120px; }
#big-photo-session #mainimg { padding-top: 0; }

/* ロゴ（ACF: field_6a85a826e5074） */
#big-photo-session #bps-logo { width: 100%; max-width: 850px; margin: 0 auto; padding: 0 20px; box-sizing: border-box; text-align: center; }

/* コンセプト */
#big-photo-session #bps-concept { width: 100%; }

/* ==================== sp（768px以下） ==================== */
@media screen and (max-width:768px){
html{font-size:15px;}
body{font-size:100%;  background: url("../images/page20260719/body_bg_page20260719.jpg") no-repeat center top; background-attachment: fixed; background-size: cover;}
.content{width:100%;padding:0;}
.spOnly { display: inherit;}
.pcOnly{ display:none;}
.br-sp { display: inherit}
.br-pc { display: none;}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.container { padding-top: 0;}

/* concept（固定ヘッダーナビ） */
#concept { width: 100%; text-align: center; margin: 0 auto; padding: 0; position: fixed; z-index: 999; top: 0; left: 50%;transform: translate(-50%, 0%);}
#concept .wrapbox ul { display: flex; justify-content: left; text-align: center;}
#concept .wrapbox li { list-style: none; margin: 0 1px; width: 30%; box-sizing: border-box;}
#concept .wrapbox li a {display: inline-block;
  font-size: 16px;
  padding: 2px 6% 0 2%;
  position: relative;
  z-index: 1;}
#concept .wrapbox li a::before {
  content: "";
  position: absolute;
  top: -40px;
height: 40px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  background: #FFF;
  transform: scaleY(-1) perspective(6em) rotateX(6deg);
  transform-origin: bottom left;
  border-radius: 8px 8px 0 0;box-shadow: 2.5px -2.5px 7.5px 0px rgba(0,0,0,0.15);
}
#concept .wrapbox li a img { width: auto; height: 38px;}

h3.notice { text-align: center;font-weight: bold; margin: 10px auto; font-size: 15px; line-height: 1.4em;
background:#3077f4;color: #FFF; opacity: 0.85; width: 100%; height: auto; border-radius: 12px; box-shadow: 0 0 20px rgba(123,199,226,0.75);}
h3.notice span {color: #000; text-shadow:1px 0px 3px rgba(0,0,0,0.15); }
p.notice-p { color: #000; width: 100%; text-align: left; margin: 0 auto 10px auto; padding: 0 10px; font-size: 13px;}

/* mainimg */
#mainimg { position: relative; width: 100%; padding-top: 35px; background: #e0f4ff;}
#mainimg img { vertical-align: top; width: 100%; height: auto; margin: 0; padding: 0;}

/* topics（大撮影会情報） */
#topics { width: 100%; padding: 20px 0 60px 0; background: url("../images/page20260719/topics_bg_page20260719_sp.jpg") no-repeat center bottom; background-size: cover; position: relative; background-attachment: fixed;}
#topics .wrapbox { width: 96%; text-align: center; margin: 0 auto;}
#topics .topics-post-list { display: flex; flex-wrap: wrap; justify-content: center; }
#topics .topics-post-list li { display: flex; align-items: flex-start; float: none;  list-style: none; background: #FFF; width: 96%; height: auto; min-height: auto; padding: 10px; box-shadow: 2.5px 2.5px 7.5px 0px rgba(0,0,0,0.15); border-radius: 8px; margin-right: 0; margin: 2%!important;}
#topics .topics-post-list li:hover {box-shadow: 0 14px 28px rgba(0,0,0,0.25), 0 10px 10px rgba(0,0,0,0.22); -webkit-transform: translateY(-4px);transform: translateY(-4px); transition: -webkit-transform 400ms ease; transition: transform 400ms ease;  }
#topics .topics-post-list li:nth-child(2n) { margin-right: 0;}
#topics .topics-post-list li:last-child { margin-bottom: 0!important;}
#topics .topics-post-list li a { flex: 0 0 150px; color: #000; text-decoration: none;}
#topics .topics-post-list figure { width: 150px; height: 150px; overflow: hidden;}
#topics .topics-post-list li img { width: 100%; height: auto;}
#topics .topics-post-list li .caption { flex: 1; min-width: 0; margin-left: 2%;}
#topics .topics-post-list li .caption h2.topics-title { font-size: 13px; font-weight: bold; text-align: left; line-height: 1.4em; margin-bottom: 0.5em;}
#topics .topics-post-list li .caption p.topics-excerpt { text-align: left; font-size: 11px;}

/* schedule（出演モデル一覧） */
#schedule { width: 100%;background: url("../images/page20260719/model_bg_page20260719.jpg") no-repeat center top; background-size: cover;}
#schedule .wrapbox { width: 96%; text-align: center; margin: 0 auto; padding: 1px 0 20px 0;}

.btnMore { margin: 20px auto 0 auto;}
.btnMore a { display: block; font-weight: bold; color: #FFF; background: #3077f4; font-size: 15px; letter-spacing: 0.1em; border-radius: 18px; width: 260px; height: 36px; line-height: 36px; text-align: center; margin: 0 auto; text-decoration: none;}

/* post-list（モデルカード） */
.post-list li { float: left;  list-style: none; background: #FFF; width: 46%; height: auto; padding: 10px; box-shadow: 2.5px 2.5px 7.5px 0px rgba(0,0,0,0.15); border-radius: 8px; margin: 2%;}
.post-list li:nth-child(3n) { margin-right: 2%;}
.post-list li:nth-child(2n) { margin-right: 2%;}
.post-list li a { color: #000; text-decoration: none;}
.post-list li img { width: 100%; height: auto;}

h2.entry-title { text-align: left; font-size: 70%; background: none;}

.caption .date { font-size: 11px; text-align: left; font-weight: bold; line-height: 1.4em; min-height: 20px;}
.caption .name { font-size: 13px; text-align: left; font-weight: bold; color: #ff7bc0;}

.onoff-ON { position: relative; z-index: 49; font-weight: bold; width: 55px; font-size: 11px; top: 0; margin-bottom: -26px; margin-left: 0; float: right; background: #d978ab; color:#FFF;animation: key1 .3s ease infinite alternate;}
.onoff-PRE { position: relative; z-index: 49; font-weight: bold; width: 55px; font-size: 11px; top: 0; margin-bottom: -26px; margin-left: 0; float: right; background: #78afd9; color:#FFF;animation: key2 .3s ease infinite alternate;}
.onoff-LIT { position: relative; z-index: 49; font-weight: bold; width: 60px; font-size: 11px; top: 0; margin-bottom: -26px; margin-left: 0; float: right; background: #ce3f3f; color:#FFF;animation: key3 .2s ease infinite alternate;}
.onoff-SEL { position: relative; z-index: 49; font-weight: bold; width: 55px; font-size: 11px; top: 0; margin-bottom: -26px; margin-left: 0; float: right; background: #d9d378; color:#000;animation: key4 .3s ease infinite alternate;}
.onoff-OFF { position: relative; z-index: 49; background: url(../images/label_OFF.png) no-repeat left top; background-size: 75px 75px; width: 75px; height: 75px; top: -75px; margin-bottom: -77px; margin-left: 21vw; overflow: hidden;text-indent: 100%;white-space: nowrap;}
.onoff-soldout { position: relative; z-index: 49; background: url(../images/label_soldout.png) no-repeat left top; background-size: 75px 75px; width: 75px; height: 75px; top: 20px; margin-bottom: -77px; margin-left: 80%; overflow: hidden;text-indent: 100%;white-space: nowrap;}
.onoff-heart { position: relative; z-index: 100; background: url(../images/label_heart.png) no-repeat left top; background-size: 24px 24px; width: 24px; height: 24px; top: 0; margin-bottom: -24px; margin-left: 31vw; overflow: hidden;text-indent: 100%;white-space: nowrap;animation: key5 .9s ease infinite alternate;}
.onoff-LOT { position: relative; z-index: 49; font-weight: bold; width: 77px; font-size: 11px; top: 0; margin-bottom: -26px; margin-left: 0; float: right; background: #bf78d9; color:#FFF;animation: key6 .3s ease infinite alternate;}
.onoff-10 { position: relative; z-index: 49; font-weight: bold; width: 64px; font-size: 11px; top: 0; margin-bottom: -26px; margin-left: 0; float: right; background: #ec9650; color:#FFF;animation: key7 .3s ease infinite alternate;}

/* page-top */
#page-top { position: fixed; right: 10px; bottom: 10px; z-index: 50; cursor:pointer;}
#page-top a { position: relative; display: block; width: 40px; height: 40px; border-radius: 20px; background: #FFF; box-shadow: 0 2px 2px 2px rgba(0,0,0,0.1);}
#page-top a span {position: absolute;top: 6px;bottom: 2.5px;left: 13px;margin: auto;vertical-align: middle;width: 12px;height: 12px;border-top: 2px solid #0272db;border-right: 2px solid #0272db;-webkit-transform: rotate(-45deg);transform: rotate(-45deg); }

/* topへ戻る */
p.pagetop{margin-bottom:43px;right:10px;}
p.pagetop a{margin-bottom:0;position:initial;}

/* ==== big-photo-session 専用要素（sp） ==== */
#big-photo-session .container { padding-top: 35px; }
#big-photo-session #bps-logo { padding: 0 15px; }
#big-photo-session #bps-concept .wrapbox h2 { top: 0; margin-bottom: 0; }
}
