@font-face {
	font-family: 'Genericons';
	src: url('css/genericons/genericons-regular-webfont.eot');
	src: url('css/genericons/genericons-regular-webfont.eot?#iefix') format('embedded-opentype'),
	     url('css/genericons/genericons-regular-webfont.woff') format('woff'),
	     url('css/genericons/genericons-regular-webfont.ttf') format('truetype'),
	     url('css/genericons/genericons-regular-webfont.svg#genericonsregular') format('svg');
	font-weight: normal;
	font-style: normal;
}


*{ margin:0; padding:0; outline:none;}
body{ margin:0; padding:0; -ms-word-wrap:break-word; word-wrap:break-word; background-color:#f1f1f1; position:relative; font:15px/24px arial; color:#5b5b5b;}
img{ margin:0; padding:0; border:none; max-width:100%; height:auto; }
section img{max-width:100%;}
h1,h2,h3,h4,h5,h6{ margin:0; padding:0 0 15px;}
p{ margin:0; padding:0;}
a{ text-decoration:none; color:#0fa5d9;}
a:hover{ text-decoration:none; color:#666;}
ul{ margin:0 0 0 15px; padding:0;}
.clear{ clear:both;}
#commentform input#submit{margin: 0; padding: 8px 10px; border: none; cursor: pointer;}
#commentform label{vertical-align: top; display: block;}
#commentform input[type="text"], input[type="email"], input[type="url"], textarea{padding: 8px 12px;}
.center{ text-align:center; margin-bottom:40px;}
.middle-align{ margin:0 auto; padding:0;}
.wp-caption{ margin:0; padding:0; font-size:13px; max-width:100%;}
.wp-caption-text{ margin:0; padding:0;}
.screen-reader-text {
	position: absolute;
	top:      -9999em;
	left:     -9999em;
}
.sticky{ margin:0; padding:0; background-color:#d7d7d7;}
.gallery-caption{ margin:0; padding:0;}
.alignleft, img.alignleft {display: inline; float: left; margin-right:45px; margin-top:4px; margin-bottom:20px; padding:0; }
.alignright, img.alignright { display: inline; float: right; }
.aligncenter, img.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; margin-top:0; }
.comment-list .comment-content ul { list-style:none; margin-left:15px;}
.comment-list .comment-content ul li{margin:5px;}
.main-container ol{list-style-position:outside; margin-left:20px;}
.main-container ol li{margin:5px 0;}
.aligner{ width:1170px; margin:0 auto;}
.toggleMenu{display:none;}
.bypostauthor{ margin:0; padding:0;}
section{ padding:70px 0; position:relative; max-width:1400px; margin:0 auto;}
h2.section-title { font-family:'Roboto'; font-size:30px; font-weight:700; padding:0 0 45px 0; text-align:center; display:table; margin-bottom:0;}
#slider{ margin:0 auto; padding:0; position:relative;}
#slider .slide-cap{ margin:0; padding:16px 0 20px; position:relative;}
#slider .slide-cap h4{ padding:25px 25px 0 0; font:700 36px 'Roboto';}
#slider .slide-cap p{ color:#ffffff; font-weight:400; margin:0 0 10px 0; line-height:20px; padding-bottom:15px; border-radius:0 0 5px 5px; font:13px/22px arial;}
#slider .slide-cap a.read-more{ border-radius:3px; padding:10px 25px; border:1px solid #ffffff; color:#ffffff;}
a.blog-more{ display:inline-block; font:400 16px 'Roboto Condensed', sans-serif; padding:10px 30px; margin-top:21px; -moz-border-radius:4px; -webkit-border-radius:4px; -o-border-radius:4px; -ms-border-radius:4px; border-radius:4px; margin-right:15px;}
.grey-strip{ background-color:#313131; margin:0; padding:22px 0; color:#ffffff; font-size:20px;}
.grey-strip p{ float:left; margin-top:7px;}
.grey-strip a.buy-button{ text-transform:uppercase; background-color:#ffffff; color:#313131; float:right; padding:10px 15px; font:700 17px 'Roboto'; -moz-border-radius:5px; -webkit-border-radius:5px; -ms-border-radius:5px; -o-border-radius:5px; border-radius:5px;}

.top-bar{ background-color:#222222; padding:0;}
.top-bar .top-left{ float:left; padding:13px 0;}
.top-bar .top-left p{ display:inline-block; margin-right:15px; color:#ffffff;}
.top-bar .top-left p.call{ background:url(images/call-icon.png) no-repeat scroll 0 6px; padding-left:20px;}
.top-bar .top-left p.mail{ background:url(images/mail-icon.png) no-repeat scroll 0 6px; padding-left:20px;}
.top-bar .top-left p a{ color:#ffffff;}
.top-bar .top-right{ float:right; padding:13px 0;}
.main-container{margin:0; padding:0;}
.header.fixed{position:fixed !important; top:0 !important; margin:0; padding:15px 0; z-index:99999999; background-color:#ffffff; opacity:inherit;}
.header .logo{margin:0; padding:0; }
.header .logo h1{ font-weight:700; text-transform:uppercase; padding:0; margin-bottom:8px; font-size:30px;}
.header .logo a{ color:#222222; font-family:'Roboto';}
.header .logo p{ font-size:13px; font-family:arial; color:#222222;}
.container{ width:1160px; margin:0 auto; padding:0; position:relative;}
.toggle{display:none;}
.header{z-index:999; width:100%;  height:auto; padding:25px 0; background-color:#ffffff;}
.header .nav{ margin:0; padding:0; text-align:right; float:right;}
.header .nav ul { float:right; margin:10px 0 0; padding:0; font-family:'Roboto'; font-weight:400; font-size:16px;}
.header .nav ul li{ display:inline-block; margin:0; position:relative;}
.header .nav ul li a{ color:#6a6a6a; padding:10px 10px; display:block;}
.header .nav ul li a:hover{color:#29c9fd;}
@media screen and (min-width:720px){
.header .nav ul li ul{display:none; z-index:2;}
.header .nav ul li:hover > ul{display:block; background:#222222; width:200px; position:absolute; top:25px; left:0; text-align:left; padding:10px 0; z-index:99;}
.header .nav ul li:hover > ul li{ display:block;}
.header .nav ul li:hover > ul li a{ padding:5px 0px 5px 10px; color:#ffffff;}
.header .nav ul li:hover ul li ul{display:none;}
.header .nav ul li:hover ul li:hover > ul{display:block; position:absolute; left:200px; top:-20px;}
.header .logo{float:left; margin-top:8px; }
}
.header-widget{ margin:0; padding:0; clear:right; color:#ffffff; text-align:right;}
.header-widget h4.header-title{ font-size:18px; margin:0; padding:0; color:#ffffff;}
.header-widget li{ display:inline; border-left:1px solid #f1f1f1; padding-left:5px;}

/* --------- Homepage --------- */
/*<div class="imgbx"><i class="fa fa-lightbulb-o fa-3x"></i></div>*/
.services { width:100%; margin:0 auto; position:relative; background-color:#ffffff;}
.services .hey-title{ font:700 80px 'PT sans'; color:#dbd8d8; margin:0; padding:0; text-align:center; text-transform:uppercase;}
.services .new-line{ font:400 20px 'PT sans'; color:#313131; margin:0 0 50px; padding:0; text-align:center;}
.services-box { width:20.6%; height:auto; display:inline-block; float:left;  text-align:center;  margin:0 0 20px 2%; padding:2% 1% 4%; position:relative; transition:0.3s; background-color:#f7f7f7; border:1px solid #dfdfdf;}
.services-box:hover {cursor:pointer; background-color:#ffffff; }
.services-box img {width:82px; height:82px; display: block; margin:auto; border-radius:50%;}
.services-box h2 { font-weight:700; font-size:20px; font-family:Roboto; padding:30px 0 20px; color:#313131;}
.services-box h2 span { font-size:40px; font-style:normal; display:block; margin:10px 0 0; line-height:36px; }
.services-box p { line-height:20px;}
.services-box i.fa {border-radius: 67px; display: inline-table; height: 100px; text-align: center; width: 100px; background-color:#ffffff;}
.services-box:hover i.fa {background-color:#29c9fd; color:#ffffff;}
.one_half, .one_third, .two_third, .one_fourth, .three_fourth, .one_fifth, .four_fifth{ float:left; margin-bottom:20px; position:relative;}
.last_column{clear:right; margin-right:0 !important; }
.one_half{width:48%; margin-right:4%;}

/*------------------------------------------- SERVICES END -------------------------------------------*/

section.welcome{ padding:0 !important; color:#757575; background-color:#f7f7f7;}
section.welcome h2{ font:400 30px 'Roboto'; color:#454545;}
section.welcome .one_half{ margin-bottom:0;}
.message-thumb{ width:525px;  border:#212121 solid 7px; overflow:hidden; }

/* -------------- Features ----------- */
.features .one_half h3{ font:400 30px 'Roboto'; color:#454545; margin-bottom:25px; padding:0 0 10px; border-bottom:1px solid #dfdfdf;}

/** Blog post css **
-----------------------------------------------------------------*/
section#works{ padding-bottom:0;}
.blogposts { width:31.6%; margin:0 2% 2% 0; display:inline-block; position:relative; vertical-align:top; text-align:center; background-color:#f7f7f7; padding-bottom:40px;}
.blogposts > p{ padding:0 35px;}
.blogposts h2 { color:#343434; font:700 18px 'Roboto'; margin:20px 0; padding:0;}
.blogposts h2 a {color:#302f2f;}
.blogposts a.blog-more{ color:#ffffff; background-color:#222222;}
.lastcols { margin-right:0 !important;}
.blog-thumb{ position:relative;}
.blog-date{ position:absolute; top:0; left:0;}
.blog-date .date{ background-color:#29c9fd; color:#ffffff; font:700 24px arial; padding:5px 20px;}
.blog-date .month{ background-color:#2e2e2e; color:#ffffff; font-size:14px; padding:4px 20px;}
.blog-author{ background-color:rgba(0,0,0,0.5); color:#ffffff; width:100%;  position:absolute; bottom:6px; padding:10px 0; text-transform:uppercase;}
.blog-author .blog-author-name{ float:left; margin-left:10px;}
.blog-author .comment-count{ float:right; margin-right:10px;}
.see-all-button {  border:1px solid #444; display:table; font-size:16px; font-weight:700; margin:50px auto 0; padding:10px 20px; text-align:center; text-transform:uppercase; transition: all 0.3s ease 0s; color:#f0efef;}
.see-all-button:hover { background:#ff8a00; border:#ff8a00 solid 1px; color:#fff;}
.clients{ text-align:center;}
.clients img {text-align: center; vertical-align: middle; margin:0 20px;}
/*------------------------------------------- LATEST NEWS END -------------------------------------------*/


/* --------- Pages ------- */
.content-area{ width:1160px; margin:0 auto; padding:50px 0;}
.site-main{ width:800px; margin:0; padding:0; float:left;}
#nosidebar{ width:80%; margin:0 auto; float:none; text-align:center;}
#sidebar{ width:270px; margin:0; padding:0; float:right;}

/* フッター全体 */
.site-footer {
  background: #000;          /* 黒背景 */
  color: #fff;
  padding: 40px 20px;
  text-align: center;
}

/* 内側のラッパー */
.footer-inner {
  max-width: 1000px;
  margin: 0 auto;
}

/* ロゴ */
.footer-logo {
  font-family: 'Segoe Script', cursive; /* 手書き風フォント風味 */
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 10px;
}

/* キャッチコピー */
.footer-tagline {
  font-size: 14px;
  color: #ccc;
  margin-bottom: 20px;
}

/* メニュー */
.footer-menu {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  display: flex;
  justify-content: center;
  gap: 20px;
  flex-wrap: wrap;
}

.footer-menu li a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
}

.footer-menu li a:hover {
  color: #9e002a; /* ホバー時にアクセントカラー */
}

/* コピーライト */
.footer-copy {
  font-size: 12px;
  color: #aaa;
}
/* ------ Contact Form ------ */
.wpcf7{ margin:0; padding:0; font:400 15px 'Roboto Condensed', sans-serif; color:#222222;}
.wpcf7 form{ margin:0; padding:0;}
.wpcf7 form span.last{ float:none !important;}
.wpcf7 form input[type="text"], .wpcf7 form input[type="email"], .wpcf7 form input[type="tel"], .wpcf7 form input[type="url"], .wpcf7 form input[type="date"], .wpcf7 form select, .leftdiv input[type="text"], .leftdiv input [type="url"], .leftdiv input[type="email"], .leftdiv input[type="tel"], .wpcf7 form textarea, .rightdiv textarea{ width:94%; background-color:#f8f8f8; border:1px solid #e6e5e5; padding:10px; margin-top:15px; font:400 14px 'Roboto Condensed', sans-serif; color:#777777;}
.wpcf7 form textarea, .rightdiv textarea{height:132px;}
.wpcf7 form input[type="checkbox"], .wpcf7 form input[type="radio"], .wpcf7 form input[type="file"]{ margin-top:10px; padding:0;}
span.wpcf7-list-item{ margin:0 15px 0 0 !important;}
.wpcf7 form input[type="submit"], #contact input[type="submit"], #contactform_main input[type='submit']{font:400 15px 'Roboto Condensed', sans-serif; margin:25px 0 0 0; padding:5px 20px; border:none; color:#ffffff; -moz-border-radius:4px; -o-border-radius:4px; -webkit-border-radius:4px; border-radius:4px; cursor:pointer; background-color:#0fa5d9;}
.pagination{display:table; clear:both;}
.pagination ul{list-style:none; margin:20px 0;}
.pagination ul li{display:inline; float:left; margin-right:5px;}
.pagination ul li span, .pagination ul li a{background:#222222; color:#fff; padding:5px 10px; display:inline-block;}
.pagination ul li .current, .pagination ul li a:hover{background:#ff8a00;}
h1.entry-title, h1.page-title{padding-bottom:20px; font-size:30px; text-transform:uppercase;}
article.tag-sticky-2{background:#f6f6f6; padding:10px;}
article img{height:auto;}
article p{margin:10px 0;}
.post-date{display:inline;}
.post-comment{display:inline;}
.post-categories{display:inline;}
.post-tags{display:inline;}
form.search-form{margin-bottom:15px;}
input.search-field, .post-password-form input[type=password]{border:1px #eee solid; padding:4px;}
input.search-submit, .post-password-form input[type=submit]{border:none; color:#ffffff; padding:4px 10px; cursor:pointer;}
aside.widget{margin-bottom:30px;}
aside.widget ul{ list-style:disc; margin-left:13px;}
.nav-previous{float:left; margin-top:10px; margin-bottom:10px;}
.nav-next{float:right; margin-top:10px; margin-bottom:10px;}
nav.post-navigation{padding:10px 0 20px;}
.webicon{font-size:20px;}
#sidebar ul{ list-style:none; margin:0; padding:0;}
#sidebar ul li{margin:5px 0; background:url(images/sidebar-list-icon.png) no-repeat left center; padding-left:15px;}
#sidebar ul li:hover{background:url(images/footer-menu-icon-hover.png) no-repeat left center;}
.comment-list, ol.comment-list{list-style:none; margin-left:0; margin-top:20px; margin-bottom:20px;}
.comment-list ul, ol.comment-list ul{list-style:none;}
.comment-list li.comment{margin-top:20px;}
.comment-list .comment-content h1, .comment-list .comment-content h2, .comment-list .comment-content h3, .comment-list .comment-content h4, .comment-list .comment-content h5, .comment-list .comment-content h6{margin-top:15px;}
h3.widget-title{ font-size:18px; border-bottom:1px solid #cccccc; padding-bottom:15px; margin-bottom:15px; text-transform:uppercase;}
.blog-post-repeat{ border-bottom:1px solid #cccccc; margin-bottom:40px;}
aside select{width: 100%; padding:10px}

/* woocommerce */
a.added_to_cart{background:#e1472f; padding:5px; display:inline-block; color:#fff; line-height:1;}
a.added_to_cart:hover{background:#000000;}
a.button.added:before{content:'' !important;}
#bbpress-forums ul li{padding:0;}
#subscription-toggle a.subscription-toggle{padding:5px 10px; display:inline-block; color:#e1472f; margin-top:4px;}
textarea.wp-editor-area{border:1px #ccc solid;}
.woocommerce input[type=text], .woocommerce textarea{border:1px #ccc solid; padding:4px;}
form.woocommerce-ordering select{ padding:5px; color:#777777;}
.woocommerce table.shop_table th, .woocommerce-page table.shop_table th{ font-family:'Roboto Condensed',san-serif; color:#ff8a00;}
.woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price{ color:inherit !important;}
h1.product_title, p.price{ margin-bottom:10px;}
a.blogthumbs img{ width:100%;}

#contact .column-2{ width:65%; float:left; margin:0;}
#contact .column-2.last_column{ width:25%; margin-left:9%; }
#contact .column-2.last_column span{ text-transform:capitalize; font:400 14px 'Open Sans',san-serif; }
#contact .column-2.last_column a{color:#666666;}
.leftdiv{ float:left; width:48%;}
.rightdiv{ float:right; width:48%;}
#contact .column-2 h2{ font:400 17px 'Oswald'; text-transform:uppercase;}
.social-icons{ text-align:center;}
.top-right .social-icons a {height: 50px; margin:0; vertical-align: 0; width: 39px; display: table; float: left; border-left:1px solid #727171; color:#727171;}
.top-right .social-icons a:hover{color:#ffffff;}
.top-right .social-icons a:last-child{ border-right:1px solid #727171;}
.fa::before, fa::after{ display:table-cell; vertical-align:middle;}
.wpcf7-form p{ color:#222222;}

/* --------- Social Icons ------ */
#menu-social {}
#menu-social ul {list-style: none;margin:0;text-align: center;}
#menu-social ul li {display:inline-block; position:relative; border-right:1px solid #727171; padding:14px 4px;}
#menu-social li a::before {content:'\f408'; display:inline-block; padding:0 5px; font-family:'Genericons'; font-size:20px;		vertical-align:top; -webkit-font-smoothing: antialiased;}
#menu-social li a[href*="wordpress.org"]::before,
#menu-social li a[href*="wordpress.com"]::before {content: '\f205'; color:#727171;}
#menu-social li a[href*="facebook.com"]::before {content: '\f203'; color:#727171;}
#menu-social li a[href*="twitter.com"]::before {content: '\f202'; color:#727171;}
#menu-social li a[href*="dribbble.com"]::before {content: '\f201'; color:#727171;}
#menu-social li a[href*="plus.google.com"]::before {content: '\f206'; color:#727171;}
#menu-social li a[href*="pinterest.com"]::before {content: '\f210'; color:#727171;}
#menu-social li a[href*="github.com"]::before {content: '\f200'; color:#727171;}
#menu-social li a[href*="tumblr.com"]::before {content: '\f214'; color:#727171;}
#menu-social li a[href*="youtube.com"]::before {content: '\f213'; color:#727171;}
#menu-social li a[href*="flickr.com"]::before {content: '\f211'; color:#727171;}
#menu-social li a[href*="vimeo.com"]::before {content: '\f212'; color:#727171;}
#menu-social li a[href*="instagram.com"]::before {content: '\f215'; color:#727171;}
#menu-social li a[href*="codepen.io"]::before {content: '\f216'; color:#727171;}
#menu-social li a[href*="linkedin.com"]::before {content: '\f208'; color:#727171;}

/* Accessibility */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#sitemain[tabindex="-1"]:focus {
  outline: 0;
}


/* hero */
.top-bar {display:none;}
.hero-title{color:#fff; font-size: 2.25rem; line-height: 2.5rem; text-align:center;}
.hero-lead{	color: rgb(209 213 219 / var(--tw-text-opacity, 1)); line-height: 1.625; text-align:center;	}
.grey-strip p {padding: 10px 15px;}
.grey-strip a.buy-button {background-color: #9e002a; color:#ffffff;}
.services{display:none;}
.copyright{display:none;}
#sidebar{display:none;}
.header {background-color: #181818;}
.custom-logo{margin:10px 0 0;}
.grey-strip{border-top:10px solid #323232; background-color:#1E1E1E;}
.entry-header{display:none;}

/* HOME1 */
.custom-logo {width:160px;}
.current_page_item{padding:8px;}
.header .nav ul {margin: 20px 0 0;}
.header .nav ul li a {color:#fff; text-decoration:none;}

/*新曲*/

.video-wrapper {position: relative;
  width: 100%;  max-width: 1200px; margin: 0 auto; aspect-ratio: 16/9;}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%; 
  height: 100%;
}


/* menbars */
:root{--panel: #1f2937; --btn: #374151; --btn-hover: #4b5563; --pink:   #fff;
  --gray:   #facc15;
  --yellow: #f472b6;
  --blue:   #60a5fa;}
.cards{display: grid; gap: 30px; grid-template-columns: 1fr;}
@media (min-width: 768px){.cards{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px){.cards{ grid-template-columns: repeat(4, 1fr); }}
.card{background: #323232; border: 2px solid transparent; border-radius: 20px; padding: 40px; text-align: center; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; box-shadow: 0 0 0 rgba(0,0,0,0); position: relative;}
.card:hover{transform: translateY(-8px); box-shadow: 0 16px 32px rgba(0,0,0,.35);}
.card--pink   { --accent: var(--pink);   --accent-2: var(--pink-2); }
.card--gray   { --accent: var(--gray);   --accent-2: var(--gray-2); }
.card--yellow { --accent: var(--yellow); --accent-2: var(--yellow-2); }
.card--blue   { --accent: var(--blue);   --accent-2: var(--blue-2); }
.card{border-color: var(--accent); }
.card:hover{ border-color: color-mix(in oklab, var(--accent), white 20%); }
.card__avatar{
  width: 8rem; height: 8rem;
  margin: 0 auto 16px;
  border-radius: 50%;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  box-shadow: 0 0 0 3px color-mix(in oklab, var(--accent), transparent 50%);}
.card__avatar img{width: 100%; height: 100%; border-radius: 50%; object-fit: cover; display: block;}

.card__name{font-size: 20px; font-weight: 800; margin: 8px 0 8px; color:#fff;}
.card__desc{color: #fff; margin: 0 0 16px; font-size: 14px;}

.card__btn{  display: inline-block;
  padding: 10px 18px;  border-radius: 999px;
  background: #1E1E1E;  color: #fff;
  font-size: 14px;  text-decoration: none;  transition: background-color .2s ease, transform .2s ease;  white-space: nowrap;}
.card__btn:hover{background: var(--btn-hover);}

/* 汎用：フルブリード帯 */
.full-bleed{ width:100vw; margin-left:calc(-50vw + 50%); }

.event__title{color:#fff;}
/* 共通見出し */
.sec-title{text-align:center; font-weight:800; font-size: clamp(20px, 2.4vw, 24px);  margin: 0 0 8px; font-size: 2.25rem; color:#fff;}
.sec-sub{text-align:center; color: rgb(209 213 219 / var(--tw-text-opacity, 1)); font-size: 14px; margin: 0 0 28px;}


/* ========== Upcoming Events ========== */
.events{color:#fff; padding:48px 20px; }
.event-grid{
  display:grid; gap:24px; grid-template-columns:1fr;
  max-width:1200px; margin:0 auto;
}
@media (min-width: 992px){
  .event-grid{ grid-template-columns: repeat(3, 1fr); }
}
.event-card{background: #323232; border:2px solid rgba(255,255,255,.12);
  border-radius:16px; overflow:hidden;
  transition:.25s transform, .25s box-shadow;
}
.event-card:hover{ transform:translateY(-6px); box-shadow:0 16px 32px rgba(0,0,0,.35); }

.event__thumb{ aspect-ratio:16/9; overflow:hidden; }
.event__thumb img{ width:100%; height:100%; object-fit:cover; display:block; }

.event__body{ padding:14px 16px 16px; }
.event__title{ font-size:15px; font-weight:800; margin:8px 0 10px; }
.event__meta{ list-style:none; padding:0; margin:0 0 12px; color:var(--muted, #cbd5e1); font-size:13px; }
.event__meta li{ display:flex; align-items:center; gap:8px; margin:6px 0; }
.event__meta li::before{
  content:""; width:10px; height:10px; border-radius:3px;
  background:#94a3b8; flex:none;
}
.event__cta{
  display:block; text-align:center; text-decoration:none; color:#fff;
  background: #1E1E1E;
  border-radius:10px; padding:10px 0; transition: background-color .2s ease;
}
.event__cta:hover{ background: var(--btn-hover, #4b5563); }

/* ========== Follow Us ========== */
.follow{ background:#0b0f16; color:#fff; padding:64px 20px; }
.sns{ display:flex; gap:16px; justify-content:center; margin-top:12px; }
.sns-btn{
  width:44px; height:44px; border-radius:50%;
  display:grid; place-items:center;
  font-weight:800; text-decoration:none; color:#fff;
  background:#1f2937; border:2px solid rgba(255,255,255,.12);
  transition:.2s transform, .2s box-shadow, .2s filter;
}
.sns-btn:hover{ transform:translateY(-4px); box-shadow:0 10px 24px rgba(0,0,0,.35); filter:brightness(1.05); }
.sns-btn.x  { background:#000; }
.sns-btn.ig {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
}
.sns-btn.yt {background:#ef4444; }

/* ========== Subscribe ========== */
.secret-access {
  text-align: center;
  margin: 40px auto;
}

.secret-access input {
  padding: 10px 15px;
  border-radius: 20px;
  border: none;
  outline: none;
  width: 250px;
}

.secret-access button {
  padding: 10px 20px;
  margin-left: 10px;
  border: none;
  border-radius: 20px;
  background-color: #374151;
  color: #fff;
  cursor: pointer;
}
.secret-access button:hover {background-color: #9e002a;}



/* アクセシビリティ補助 */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0;
}


html, body{
  background:#181818;
  overflow-x: clip;  
}

@supports not (overflow: clip){
  html, body{ overflow-x: hidden; } 
}

.full-bleed{
  --sb: calc(100vw - 100%);
  width: calc(100vw - var(--sb));
  margin-left: calc(50% - 50vw + var(--sb)/2);
  margin-right: calc(50% - 50vw + var(--sb)/2);
}
.site-main{ width:100% !important; float:none !important; }


/* ===========================
   Re:floré About – Rich Page
   =========================== */
:root{
  --rf-bg-alt:#313131;
  --rf-panel:#1f2937;
  --rf-text:#e5e7eb;
  --rf-muted:#9ca3af;
  --rf-accent:#9e002a;
  --rf-ring:rgba(255,255,255,.12);
}

#rf-about.rf-wrap{
  color:var(--rf-text);
  padding:56px 20px 72px;
  max-width:1200px;
  margin:0 auto;
}

.rf-hero{
  text-align:center;
  margin-bottom:40px;
}
.rf-eyebrow{
  font-size:12px;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--rf-muted);
  margin-bottom:8px;
}

.rf-title{
  font-size:clamp(22px,3.2vw,36px);
  line-height:1.25;
  font-weight:800;
  margin:0 0 12px;
}
.rf-lead{
  color:var(--rf-muted);
  font-size:clamp(14px,1.6vw,16px);
}

/* セクション共通 */
.rf-block{
  background:var(--rf-bg-alt);
  border:1px solid var(--rf-ring);
  border-radius:18px;
  padding:28px 20px;
  margin:28px 0;
}

.rf-h2{
  font-size:clamp(18px,2.4vw,24px);
  font-weight:800;
  text-align:center;
  margin:0 0 6px;
}

.rf-sub{
  color:var(--rf-muted);
  text-align:center;
  margin:0 0 18px;
  font-size:14px;
}



/* MV */
.rf-video{  max-width:1000px; margin:0 auto 10px;}
.rf-video-inner{
  position:relative; width:100%; aspect-ratio:16/9; border-radius:14px; overflow:hidden;
  box-shadow:0 12px 32px rgba(0,0,0,.35);
  border:1px solid var(--rf-ring);}
.rf-video-inner iframe{
  position:absolute; inset:0; width:100%; height:100%;
}

.rf-card p{
	line-height:2;
	font-size:1.4em;
}


.rf-gallery{
  display:grid; gap:12px;
  grid-template-columns: 1fr 1fr;
}
@media (min-width: 900px){
  .rf-gallery{ grid-template-columns: repeat(3, 1fr); }
}
.rf-shot{
  aspect-ratio: 4/3; overflow:hidden; border-radius:12px; border:1px solid var(--rf-ring);
}
.rf-shot img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.rf-shot:hover img{ transform: scale(1.04); }

.rf-members-cta{ text-align:center; }
#rf-about .aligncenter{ margin-left:auto; margin-right:auto; }


/* CTA */
.rf-cta-row{ display:flex; gap:12px; justify-content:center; margin-top:16px; flex-wrap:wrap;}
.rf-btn{
  display:inline-block; padding:12px 20px; border-radius:999px; text-decoration:none;
  background:#1e293b; color:#fff; border:1px solid var(--rf-ring);
  transition:.2s transform,.2s filter,.2s background; text-align:center!important;
}
.rf-btn:hover{ transform:translateY(-2px); filter:brightness(1.05); }
.rf-btn--ghost{ background:transparent; border:1px solid var(--rf-ring); }
.rf-btn--ghost:hover{ background:#222; }
.rf-members-cta{ text-align:center; }
#rf-about .aligncenter{ margin-left:auto; margin-right:auto; }

/* バッジ（メンバーカラー表示） */
.rf-badge{
  display:inline-block; margin-left:8px; padding:2px 8px;
  font-size:11px; border-radius:999px; border:1px solid rgba(255,255,255,.18);
  background: color-mix(in oklab, var(--c, #9e002a), black 70%); color:#fff;
}

/* メンバーSNS丸ボタン（既存の色味に合わせて最小） */
.rf-sns{display:flex; gap:10px; justify-content:center; margin:10px 0;}
.rf-sns--row{justify-content:flex-start;}
.rf-sns a{
  display:inline-grid; place-items:center; width:36px; height:36px; border-radius:50%;
  background:#1f2937; color:#fff; font-size:12px; border:1px solid rgba(255,255,255,.12);
  transition:transform .2s ease, filter .2s ease;
}
.rf-sns a:hover{ transform:translateY(-2px); filter:brightness(1.1);}
.rf-sns__x{background:#000;}
.rf-sns__ig{background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%);}
.rf-sns__yt{background:#ef4444;}

/* 個別プロフィールの2カラム */
.rf-profile{display:grid; gap:20px; grid-template-columns:1fr; align-items:start;}
.rf-profile__img{aspect-ratio:1/1; overflow:hidden; border-radius:16px; border:1px solid rgba(255,255,255,.12);}
.rf-profile__img img{width:100%; height:100%; object-fit:cover; display:block;}
.rf-profile__body{padding:0 4px;}
.rf-profile__meta{list-style:none; padding:0; margin:12px 0;}
.rf-profile__meta li{margin:6px 0;}
@media (min-width: 900px){
  .rf-profile{grid-template-columns: 360px 1fr;}
}

/* ニュースの軽量リスト */
.rf-h3{font-size:18px; font-weight:800; margin:14px 0 6px;}
.rf-news{list-style:none; padding:0; margin:0 0 16px;}
.rf-news li{display:flex; gap:16px; align-items:center; border-bottom:1px solid rgba(255,255,255,.12); padding:10px 0;}
.rf-news time{font-size:13px; color:#9ca3af; width:110px; flex:none;}
.rf-news a{color:#fff; text-decoration:none;}
.rf-news a:hover{color:#9e002a;}

/* お問い合わせ 2カラムとパネル */
.rf-grid2{display:grid; gap:16px; grid-template-columns:1fr;}
.rf-panel{background:#323232; border:1px solid rgba(255,255,255,.12); border-radius:12px; padding:16px;}
.rf-form{margin-top:8px;}
.rf-note{margin:8px 0 0 18px; color:#e5e7eb;}
@media (min-width: 900px){
  .rf-grid2{grid-template-columns: 1fr 1fr;}
}
.rf-form label {color:#fff;}
.wpcf7-form-control-wrap{color:#fff;}
.rf-note{font-size:.9em; list-style:none; text-align:center; margin-top:20px;}


	