/*
 Theme Name:   Understrap Child
 Theme URI:    https://understrap.com
 Description:  Understrap Child Theme
 Author:       the Understrap Contributors
 Author URI:   https://github.com/understrap/understrap-child/graphs/contributors
 Template:     understrap
 Version:      1.1.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  understrap-child
 Tags: one-column, custom-menu, featured-images, theme-options, translation-ready
 GitHub Theme URI: understrap/understrap-child
*/



/* 全体設定 */
body{
	font-family: 'Kosugi', sans-serif!important;
	letter-spacing: 2px;
}
:focus{
	outline: none!important;
	box-shadow:none !important;
}
.entry-content,
.entry-content a{
	color: #fff!important;
}
@media screen and (max-width:992px) {}
@media screen and (max-width:768px) {
	#archive-wrapper,#page-wrapper,#single-wrapper{
		margin-top: 60px!important;
	}
}


/* ページ遷移 */


/* ローダー設定 */
#loftloader-wrapper .custom-loader-wrapper svg{
	max-width: 100%;
	width: 100%;
}


/* レイアウト */
#vtuber,#audition,#news,#create,#group{
	padding-top: 10rem;
	padding-bottom: 10rem;
}
@media screen and (max-width:768px) {
	#vtuber,#audition,#news,#create,#group{
		padding-top: 5rem;
		padding-bottom: 5rem;
	}
}
@media screen and (min-width:768px) {
	#single-wrapper,#archive-wrapper,#index-wrapper,#page-wrapper{
		margin-top: 60px;
	}
}


/* テキスト */
.ttl{font-family: 'Outfit', sans-serif!important;}
.lead{font-family: 'Cantata One', serif!important;}
.text-bold{font-weight: 700!important;}
.contents-ttl{ font-size: 3rem!important;}
@media screen and (max-width:768px) {
	.contents-ttl{ font-size: 2rem!important;}
}


/* アニメーションボタン */
.animated-button {
	font-family: 'Outfit', sans-serif!important;
	width: 100%;
	background: rgb(108,63,251,.7);
	background: linear-gradient(90deg, rgba(63,167,251,.7) 0%, rgba(82,70,252,.7) 100%);
	padding: .8rem 0;
	display: inline-block;
	-webkit-transform: translate(0%, 0%);
	transform: translate(0%, 0%);
	overflow: hidden;
	color: #fff!important;
	font-size: 1.2rem!important;
	font-weight: 700!important;
	letter-spacing: 2.5px;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	-webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
	transition: all .15s;
}
.animated-button::before {
	content: '';
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-color: #fff;
	opacity: 0;
	-webkit-transition: .2s opacity ease-in-out;
	transition: .2s opacity ease-in-out;
}
.animated-button:hover::before {
	opacity: 0.2;
}
.animated-button span {
	position: absolute;
}
.animated-button span:nth-child(1) {
	top: 0px;
	left: 0px;
	width: 100%;
	height: 2px;
	background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 0)), to(#fff));
	background: linear-gradient(to left, rgba(255, 255, 255, 0), #fff);
	-webkit-animation: 2s animateTop linear infinite;
	animation: 2s animateTop linear infinite;
}
@keyframes animateTop {
	0% {
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
	}
	100% {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
	}
}
.animated-button span:nth-child(2) {
	top: 0px;
	right: 0px;
	height: 100%;
	width: 2px;
	background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0)), to(#fff));
	background: linear-gradient(to top, rgba(255, 255, 255, 0), #fff);
	-webkit-animation: 2s animateRight linear -1s infinite;
	animation: 2s animateRight linear -1s infinite;
}
@keyframes animateRight {
	0% {
		-webkit-transform: translateY(100%);
		transform: translateY(100%);
	}
	100% {
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
}
.animated-button span:nth-child(3) {
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 2px;
	background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), to(#fff));
	background: linear-gradient(to right, rgba(255, 255, 255, 0), #fff);
	-webkit-animation: 2s animateBottom linear infinite;
	animation: 2s animateBottom linear infinite;
}
@keyframes animateBottom {
	0% {
		-webkit-transform: translateX(-100%);
		transform: translateX(-100%);
	}
	100% {
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
	}
}
.animated-button span:nth-child(4) {
	top: 0px;
	left: 0px;
	height: 100%;
	width: 2px;
	background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(#fff));
	background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
	-webkit-animation: 2s animateLeft linear -1s infinite;
	animation: 2s animateLeft linear -1s infinite;
}
@keyframes animateLeft {
  0% {
	  -webkit-transform: translateY(-100%);
	  transform: translateY(-100%);
	}
	100% {
		-webkit-transform: translateY(100%);
		transform: translateY(100%);
	}
}


/* 背景グラデーション */
body:after{
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: -6;
	background-image: url(https://feather-ent.jp/wp-content/uploads/2025/03/unite_siteBG_blue.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
body:before{
	content: '';
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	opacity: .45;
	z-index: -5;
	background: linear-gradient(171deg,#7dd99c,#4ba5dc,#3d65ce,#2b459a);
	background-size: 240% 240%;
	animation: gradient-animation 5s ease infinite;
}
@keyframes gradient-animation {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}


/* 背景particles */
#particles-js{ 
	position: fixed;/*描画固定*/
	z-index: -4;/*描画を一番下に*/
	width: 100%;
	height: 100vh;
	opacity: .3;
	top: 0;
	left: 0;
}


/* 背景ボーダー */
.border-layer{
	position: fixed;
	top: 0;
	left: 0;
	z-index: -3;
	width: 100%;
	height: 100vh;
	background-image: linear-gradient(#000 50%, transparent 50%);
	background-size: 3px 3px;
	opacity: .5;
}


/* ヘッダー */
.navbar{
	background: rgba(34,68,121,0);
	transition: all .3s ease-in-out;
}
.navbar.is-animation{
	background: rgba(34,68,121,.75);
}
nav a.nav-link{
	font-family: 'Outfit', sans-serif!important;
	font-weight: 700!important;
}
.navbar-brand img{
	max-width: 60px;
}
@media screen and (max-width:768px) {
	.navbar-brand img{ max-width: 50px;}
}


/* オフキャンバス */
@media screen and (max-width:768px) {
	.offcanvas{
		background: rgba(0,0,0,.85)!important;
		max-width: 70%!important;
	}
	.navbar-dark .navbar-toggler{
		border: none!important;
	}
	.navbar-toggler{
		padding: .25rem 0rem!important;
	}
}


/* MAIN VSL */
#mainvsl{
	position: relative;
	height: 100vh;
}
.mainvsl-inner{
	width: 100%;
	text-align: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
}
.mainvsl-inner h2{
	font-size: 2rem!important;
}
.mainvsl-inner img{
	max-width: 200px;
}
@media screen and (max-width:768px) {
	#mainvsl{
		height: 60vh;
		margin-bottom: -2rem;
	}
	.mainvsl-inner h2{ font-size: 1.25rem!important;}
	.mainvsl-inner p{ font-size: .8rem!important;}
	.mainvsl-inner img{ max-width: 100px;}
}


/* Vtuber */
#vtuber{
	background-color: rgba(0,0,0,.3);
	background-image: repeating-linear-gradient(-45deg, #1331fe70, #1331fe70 2px, transparent 0, transparent 10px);
}
#vtuber{
	border-top: 3px solid #fff;
	box-sizing: border-box!important;
	box-shadow: 0 0 .1rem #fff, 0 0 .1rem #fff, 0 0 1rem #fff, 0 0 0.4rem #fff, 0 0 1.4rem #fff; 
}


/* 所属グループ */
#group{
	background-color: rgba(0,0,0,.3);
	background-image: repeating-linear-gradient(-45deg, #1331fe70, #1331fe70 2px, transparent 0, transparent 10px);
}
#group{
	border-top: 3px solid #fff;
	box-sizing: border-box!important;
	box-shadow: 0 0 .1rem #fff, 0 0 .1rem #fff, 0 0 1rem #fff, 0 0 0.4rem #fff, 0 0 1.4rem #fff; 
}
	

/* Audition */
#audition{
	border-top: 3px solid #fff;
	border-bottom: 3px solid #fff;
	position: relative;
	box-sizing: border-box!important;
	box-shadow: 0 0 .1rem #fff, 0 0 .1rem #fff, 0 0 1rem #fff, 0 0 0.4rem #fff, 0 0 1.4rem #fff; 
}
#audition:before{
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	width: 100%;
	height: 90%;
	background-image: url();
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	z-index: -1;
}
#audition:after{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.35);
	z-index: -2;
}
@media screen and (max-width:768px) {
	#audition p{ font-size: .8rem!important;}
}


/* CREATE */
#create{
	border-bottom: 3px solid #fff;
	box-sizing: border-box!important;
	box-shadow: 0 0 .1rem #fff, 0 0 .1rem #fff, 0 0 1rem #fff, 0 0 0.4rem #fff, 0 0 1.4rem #fff; 
}
@media screen and (max-width:768px) {
	#audition p{ font-size: .8rem!important;}
}


/* NEWS */
.news-inner{
	background-color: rgba(0,0,0,.35);
	padding: .25rem 1.5rem;
	animation: pulsate 1s infinite alternate;  
	border: 3px solid #fff;
	border-radius: 1rem;
	box-shadow: 0 0 .1rem #fff, 0 0 .1rem #fff, 0 0 1rem #bc13fe, 0 0 0.4rem #bc13fe, 0 0 1.4rem #bc13fe, inset 0 0 0.65rem #bc13fe;
}
@keyframes pulsate {
	100% {
		box-shadow:
			0 0 1px #fff,
			0 0 2.5px #fff,
			0 0 4.5px #fff,
			0 0 10px #bc13fe,
			0 0 20px #bc13fe,
			0 0 22px #bc13fe,
			0 0 25px #bc13fe,
			0 0 35px #bc13fe;
	}
	0% {
		box-shadow:
			0 0 0.5px #fff,
			0 0 1px #fff,
			0 0 1.5px #fff,
			0 0 2.5px #bc13fe,
			0 0 11px #bc13fe,
			0 0 13px #bc13fe,
			0 0 15px #bc13fe,
			0 0 20px #bc13fe;
	}
}
ul.su-posts-news-loop>li a{
	padding: 1.5rem 0;
}
ul.su-posts-news-loop>li{
	border-bottom: 1px solid #f5f5f5;
}
ul.su-posts-news-loop>li:last-child{
	border-bottom: none;
}
@media screen and (max-width:768px) {
	.news-inner{
		padding: .25rem 1rem;
	}
}


/* フッター */
.wrapper-footer a{
	text-decoration: none!important;
}
.wrapper-footer{
	font-family: 'Outfit', sans-serif!important;
	background: rgba(0,0,0,.5);
	color: #fff!important;
}
.wrapper-footer .site-info{
	font-family: 'Outfit', sans-serif!important;
}
.wrapper-footer .site-info,
.wrapper-footer .site-privacy{
	font-size: .8rem!important;
}
.footer-logo img{
	max-width: 50px;
}


/* Vtuberアーカイブ */
.vtuber-loop a{
	color: #fff!important;
	text-decoration: none!important;
}
.vtuber-loop-image{
	width: 100%;
	padding-top: 100%;
	background: #fff;
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center top;
	border-radius: 50%!important;
	transition: all .3s;
}
.vtuber-loop-image2{
	width: 100%;
	padding-top: 100%;
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center top;
	border-radius: 50%!important;
	transition: all .3s;
}
.vtuber-loop h2{
	font-size: 1.25rem!important;
	text-align: center;
	font-weight: 700!important;
}
.vtuber-loop a:hover .vtuber-loop-image{
	background-size: 110%;
}
.vtuber-loop a:hover .vtuber-loop-image2{
	background-size: 110%;
}


/* groupアーカイブ */
.group-loop a{
	color: #fff!important;
	text-decoration: none!important;
}
.group-loop-image2{
	width: 100%;
	margin: 0 auto;
	border-radius: 1rem;
	overflow: hidden;
}
.group-loop-image2 img:hover{
	transform:scale(1.1,1.1);
	transition: all .75s;
}
.group-loop h2{
	font-size: 1.25rem!important;
	text-align: center;
	font-weight: 700!important;
}


/* Vtuber詳細ページ */
.vtber-image-inner{
	background-color: #fff;
	border-top: 5px solid;
	border-bottom: 5px solid;
	border-right: 5px solid;
	border-left: 5px solid;
	border-radius: 1rem;
	box-sizing: border-box;
}
.vtuber-contents h2{
	font-size: 1.5rem!important;
}
.vtuber-contents .vtber-info{
	color: #fff!important;
}
ul.vtuber-sns a{
	color: #fff!important;
	text-decoration: none!important;
	font-size: 2rem!important;
}
.vtuber-contents .entry-header a{
	text-decoration: none!important;
	color: #e0cffc!important;
}
@media screen and (max-width:768px) {
	.vtuber-contents h1{
		font-size: calc(1rem + 1.5vw)!important;
		text-align: center;
	}
	.vtuber-contents h2{
		font-size: .9rem!important;
		text-align: center;
		letter-spacing: 0!important;
	}
	.vtber-image{
		padding-left: 0!important;
		padding-right: 0!important;
	}
	.vtber-image-inner{
		border-radius: 0;
		border-right: none;
		border-left: none;
	}
	ul.vtuber-sns{
		text-align: center;
	}
}


/* group詳細ページ */
.group-contents .entry-header a{
	text-decoration: none!important;
	color: #fff!important;
}
.group-contents .group-info{
	color: #fff!important;
}
ul.group-sns a{
	color: #fff!important;
	text-decoration: none!important;
	font-size: 2rem!important;
}


/* NEWS一覧ページ */
#index-wrapper main.site-main{
	background-color: rgba(0,0,0,.35);
	padding: .25rem 1.5rem;
	animation: pulsate 1s infinite alternate;  
	border: 3px solid #fff;
	border-radius: 1rem;
	box-shadow: 0 0 .1rem #fff, 0 0 .1rem #fff, 0 0 1rem #bc13fe, 0 0 0.4rem #bc13fe, 0 0 1.4rem #bc13fe, inset 0 0 0.65rem #bc13fe;
}
@keyframes pulsate {
	100% {
		box-shadow:
			0 0 1px #fff,
			0 0 2.5px #fff,
			0 0 4.5px #fff,
			0 0 10px #bc13fe,
			0 0 20px #bc13fe,
			0 0 22px #bc13fe,
			0 0 25px #bc13fe,
			0 0 35px #bc13fe;
	}
	0% {
		box-shadow:
			0 0 0.5px #fff,
			0 0 1px #fff,
			0 0 1.5px #fff,
			0 0 2.5px #bc13fe,
			0 0 11px #bc13fe,
			0 0 13px #bc13fe,
			0 0 15px #bc13fe,
			0 0 20px #bc13fe;
	}
}


/* NEWSページ */
.news-contents .entry-content{
	background-color: rgba(255,255,255,.75);
	border-radius: 1rem;
	padding: 1.5rem 2rem;
}
.news-contents .entry-header a{
	text-decoration: none!important;
	color: #e0cffc!important;
}
.news-entry p:last-child{
	margin-bottom: 0!important;
}
@media screen and (max-width:768px) {
	.news-contents .entry-content{ padding: 1rem;}
}


/* オーディションページ */
.audition-contents .audition-mainvsl,
.audition-contents .audition-mainvsl .audition-mainvsl-inner{
	height: 100vh;
}
.audition-mainvsl-inner img.logo-img{
	max-width: 300px;
	margin-bottom: 1.5rem;
}
.audition-mainvsl-inner h1{ font-size:calc(2rem + 2vw);}
.audition-mainvsl-inner h2{ font-size:calc(1.25rem + 1.25vw);}
.audition-apply-contents,
.audition-other-contents,
.audition-attention-contents{
	background: rgba(255,255,255,.75);
	border-radius: .5rem;
}
.audition-apply-contents p{
	font-size: 1.75rem;
	font-weight: bold;
}
.audition-other-contents ul{
	margin-bottom: 0!important;
	list-style: "\f138";
	font-family: "Font Awesome 5 Free"; 
	font-weight: 900; 
}
.audition-other-contents ul li span{
	font-family: 'Kosugi', sans-serif!important;
	font-weight: 400;
	font-size: .9rem;
}
@media screen and (max-width:768px) {
	.audition-contents .audition-mainvsl,
	.audition-contents .audition-mainvsl .audition-mainvsl-inner{
		height: 70vh;
		margin-bottom: 3rem;
	}
	.audition-mainvsl-inner{
		align-content: center!important;
	}
	.audition-mainvsl-inner img.loop-img{
		max-width:120px;
		margin-bottom: 1.5rem;
	}
	.audition-mainvsl-inner img.logo-img{
		max-width:200px;
	}
	.audition-mainvsl-inner p{
		font-size: .85rem!important;
	}
	.audition-apply-contents p{
		font-size: 1.25rem;
	}
}


/* コンタクトフォーム */
p.contact-info,.wpcf7{
	max-width: 70%!important;
	margin-right: auto!important;
	margin-left: auto!important;
}
.contact-submit-btn .wpcf7-submit {
	background: rgb(108,63,251,.7);
	background: linear-gradient(90deg, rgba(63,167,251,.7) 0%, rgba(82,70,252,.7) 100%);
	padding: 1rem 1.5rem!important;
	border: 2px solid #fff!important;
	display: inline-block;
	-webkit-transform: translate(0%, 0%);
	transform: translate(0%, 0%);
	overflow: hidden;
	color: #fff!important;
	font-weight: 700!important;
	letter-spacing: 2.5px;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	-webkit-box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
	transition: all .15s;
}
.contact-submit-btn .wpcf7-submit:hover::before {
	opacity: 0.2;
}
.wpcf7-response-output,span.wpcf7-spinner{
	display: none!important;
}
.wpcf7-not-valid-tip{
	font-size: .8rem!important;
	color: #fff!important;
	margin-top: .25rem!important;
}
@media screen and (max-width:768px) {
	p.contact-info,.wpcf7{
		max-width: 100%!important;
	}
}