@charset "Shift_JIS";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);

:root {
	--color-main01: #edbe00;
	--color-main02: #7ec92e;
	--color-main03: #ec7d1c;
	--color-content01:#fff6b4;
	--color-content02:#edf7e2;
	--color-content03:#ffd7a9;
	--color-white: #fff;
	--color-accent: #db4382;
	--radius: 24px;
	--dot01: rgb(237, 190, 0, 0.2);
	--dot02:  rgb(126, 201, 46, 0.2);
	--dot03: rgb(236, 125, 28, 0.1);
}

.pc{ display: block;}
.sp{ display: none;}

#radio-main{
	line-height: 1.6;
	padding: 0;
	margin: 0;
	color:#333;
	font-family: 'Noto Sans JP', sans-serif;
	font-style: normal;
	font-size: 16px;
}
#radio-main * { font-size: inherit;font-family: inherit;line-height: inherit; }
#radio-main img{
	width: 100%;
}

/*new radio*/
#radio-main section#new-radio{
	background: var(--color-accent);
	padding: 50px 0;
}
.radio-column{
	padding: 40px;
	width: 75%;
	margin: 0 auto;
	background: var(--color-main01);
	border-radius: var(--radius);
	display: flex;
	gap: 20px;
	position: relative;
	box-shadow: 8px 8px rgb(0, 0, 0, 0.1);
	margin-bottom: 40px;
	cursor: pointer;
}
.radio-column:hover{
	opacity: 0.85;
}
.radio-column .nrc-img img{
	max-width: 240px;
	border-radius: var(--radius);
}
#archive .radio-column {
	margin-bottom: 25px;
	box-shadow: 8px 8px rgb(225, 180, 0, 0.25);
}
#archive .radio-column .nrc-img img{
	width: 200px;
	height: 130px;
	object-fit: cover;
}
.radio-column .onair-time{
	font-size: 34px !important;
	font-family: "Montserrat", sans-serif!important;
  	font-optical-sizing: auto;
  	font-weight: 600!important;
}
.new-badge{
  position: absolute;
  top:-40px;
  left:-40px;
  width: 120px;   /* 必要サイズに */
  height: 120px;  /* 必要サイズに */
}
.new-badge__star{
  position: absolute;
  inset: 0;              /* 親いっぱい */
  width: 100%;
  height: 100%;
  object-fit: contain;   /* webpが正方形じゃない時も崩れにくい */
  transform-origin: 50% 50%;
  animation: spin 8s linear infinite;
  will-change: transform;
}
.new-badge__text{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 70px !important;            /* 文字の大きさを調整（任意） */
  height: auto;
  transform: translate(-50%, -50%); /* 上下左右センター */
  object-fit: contain;
  pointer-events: none;  /* クリック邪魔しない（任意） */
}
@keyframes spin{
  to{ transform: rotate(360deg); }
}
@media (prefers-reduced-motion: reduce){
  .new-badge__star{ animation: none; }
}


#more-radio{
	text-align: center;
}
#more-radio a{
	display: inline-block;
	border: 2px solid #fff;
	padding: 10px 50px 10px 18px;
	color:#fff;
	font-size: 24px;
	border-radius: 12px;
	position: relative;
}
.triangle{
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	border-top: 18px solid #fff;
	border-bottom: 0;
	position: absolute;
	top:50%;
	right: 20px;
	transform: translateY(-50%);
}

img.video-btn{
	max-width: 60px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}





/* info01 */
#radio-main section#info01{
	background-color: var(--color-main01);
	padding: 20px 10px;
	overflow: hidden;
}
#radio-main section#info01 .inner{
	border-radius: var(--radius);
	background:
		radial-gradient(circle, var(--dot01) 1px, transparent 1px),
    	var(--color-content01);
  	background-size: 6px 6px;
  	background-position: 0 0;
}
#radio-main section#info01 #lead {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding: 50px 16px 20px;
}
#radio-main section#info01 #lead img{
	width: 300px;
	height: auto;
	flex: 0 0 auto;
}
#radio-main section#info01 #lead #onair-info{
	flex: 1 1 0;
	min-width: 0;
}
#radio-main section#info01 #lead #onair-info h3{
	font-size: 24px;
	margin-bottom: 20px;
}
#radio-main section#info01 #lead #onair-info h3 > div{
	background: var(--color-main01);
	display: inline-block;
	padding: 6px;
	line-height: 1.2;
}
#radio-main section#info01 #lead #onair-info h3 > div:first-child{
	padding-right: 20px;
}
#radio-main section#info01 #lead #onair-info h3 > div span{
	font-size: 34px;
	padding: 2px;
	font-weight: bold;
}
#radio-main section#info01 #lead #onair-info #onair-info-detail{
	padding-left: 20px;
}
#radio-main section#info01 #lead #onair-info #onair-info-detail p{
	margin-bottom: 20px;
}
#radio-main section#info01 #lead #onair-info #onair-info-detail dl{
	padding-left: 16px;
	border-left: 8px solid var(--color-main01);
}
#radio-main section#info01 #lead #onair-info #onair-info-detail dt,
#radio-main section#info01 #lead #onair-info #onair-info-detail dd{
	font-weight: bold;
}
#radio-main section#info01 #lead .firstTime{
	flex: 0 0 auto;
	width: 70%;
	margin: 30px auto;
	display: none;
	text-align: center;
	letter-spacing: 0.02em;
	padding: 10px 14px;
	border-radius: 999px;
	font-size: 22px;
	background: var(--color-accent);
	color: var(--color-white);
	/*box-shadow: 0 6px 16px rgba(0,0,0,.12);*/
}


/* personality */
#radio-main section#info01 #personality{
	position: relative;
	padding-top: 60px;
}
#radio-main section#info01 #personality h2{
	position: absolute;
	top: 0;
	left: -40px;
}
#radio-main section#info01 #personality h2 img{
	width: 320px;
}
/* prof01 */
#radio-main section#info01 #personality .prof01{
	margin-bottom: 20px;
}
#radio-main section#info01 #personality .prof01 h3{
	display: flex;
	justify-content: flex-end;
	margin-bottom: 20px;
}
#radio-main section#info01 #personality .prof01 h3 span{
	font-size: 38px;
	line-height: 1;	
	background: var(--color-white);
	color: var(--color-main01);
	font-weight: bold;
	padding: 8px 16px;
}
#radio-main section#info01 #personality .prof01 .detail{
	display: flex;
	align-items: flex-start;
	gap: 15px;
	padding: 0 16px;
}
#radio-main section#info01 #personality .prof01 img {
	width: 370px;
}
#radio-main section#info01 #personality .prof01 .detail-text img{
	width: 80%;
}

/* prof02 */
#radio-main section#info01 #personality .prof02{
	padding-bottom: 50px;
}
#radio-main section#info01 #personality .prof02 h3{
	display: inline-block;
	font-size: 38px;
	line-height: 1;	
	background: var(--color-white);
	color: var(--color-main02);
	font-weight: bold;
	padding: 8px 16px;
	margin-bottom: 20px;
}
#radio-main section#info01 #personality .prof02 h3 span{
	font-size: 24px;
}
#radio-main section#info01 #personality .prof02 .detail{
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	padding: 0 16px;
}
#radio-main section#info01 #personality .prof02 .al-right{
	display: flex;
    justify-content: flex-end;
	padding-top: 15px;
}
#radio-main section#info01 #personality .prof02 img {
	width: 275px;
}
#radio-main section#info01 #personality .prof02 .detail-text img{
	width: 65%;
}

/* archive */
#radio-main section#info01 #archive{
	position: relative;
	padding: 120px 0 60px;
}
#radio-main section#info01 #archive h2 {
    position: absolute;
    top: 0;
    left: -40px;
}
#radio-main section#info01 #archive h2 img {
    width: 320px;
}
#radio-main section#info01 #archive .radio-column{
	padding: 20px;
}



/* info02 */
#radio-main section#info02{
	background-color: var(--color-main02);
	padding: 20px 10px;
	overflow: hidden;
}
#radio-main section#info02 .inner{
	border-radius: var(--radius);
	background:
	radial-gradient(circle, var(--dot02) 1px, transparent 1px),
	var(--color-content02);
	background-size: 6px 6px;
  	background-position: 0 0;
}
#radio-main section#info02 #sns-wrapper{
	padding: 80px;
	position: relative;
}
#radio-main section#info02 .sns-marquee{
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 5;
}
#radio-main section#info02 .sns-marquee-text{
  font-size: 28px;
  fill: var(--color-main02);
  letter-spacing: .06em;
}
#radio-main section#info02 #sns{
	padding: 40px;
	background: var(--color-white);
	border-radius: var(--radius);
	position: relative;
}
#radio-main section#info02 #sns h2{
	position: absolute;
    top: -40px;
    left: -120px;
	z-index:10;
}
#radio-main section#info02 #sns h2 img{
	width: 320px;
}
#radio-main section#info02 #check{
	text-align: center;
	margin-bottom: 40px;
}
#radio-main section#info02 #check img{
	width: 60%;
}

#radio-main section#info02 #mail{
	position: relative;
	padding: 80px;
}
#radio-main section#info02 #mail h2{
	position: absolute;
    top: 20px;
    left: -40px;
}
#radio-main section#info02 #mail h2 img{
	width: 320px;
}
#radio-main section#info02 #mail #mail-text{
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  align-items: start;
  font-size: 16px;
  margin-bottom: 80px;
  position: relative;
}
#radio-main section#info02 #mail #mail-text h4,
#radio-main section#info02 #mail #mail-text p{
  writing-mode: vertical-rl;
  text-orientation: mixed;
  margin: 0;
}
#radio-main section#info02 #mail #mail-text h4{
  font-size: 46px;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0.06em;
}
#radio-main section#info02 #mail #mail-text h4 .bg{
  display: inline-block;
  background: #fff;
  padding: 10px 12px;
}
#radio-main section#info02 #mail #mail-text p{
	padding: 30px;
	font-weight: bold;
}
#radio-main section#info02 #mail #mail-text img{
	position: absolute;
	opacity: 0.4;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 240px;
}

#radio-main #go-mail-btn{
	position: relative;
}
#radio-main #go-mail-btn a{
	display: block;
	width: 72%;
	margin: 0 auto;
	line-height: 1;
	font-size: 34px;
	font-weight: bold;
	background: var(--color-main01);
	padding: 32px;
	border-radius: 999px;
	text-align: center;
	color:#000;
	box-shadow: 6px 6px rgb(126, 201, 46, 0.2);
}
#radio-main #go-mail-btn img{
	width: 180px;
    position: absolute;
    top: -75px;
    left: 0px;
	filter: drop-shadow(6px 3px 0px rgb(126, 201, 46, 0.2));
}

/* info03 */
#radio-main section#info03{
	background-color: var(--color-main03);
	padding: 20px 10px;
	overflow: hidden;
}
#radio-main section#info03 .inner{
	border-radius: var(--radius);
	background:
	radial-gradient(circle, var(--dot03) 1px, transparent 1px),
	var(--color-content03);
	background-size: 6px 6px;
  	background-position: 0 0;
	padding: 80px 0;
}
#radio-main section#info03 #event-list{
	padding: 40px 40px 0;
	position: relative;
}
#radio-main section#info03 #event-list h2{
	position: absolute;
    top: -40px;
    left: -40px;
	z-index:10;
}
#radio-main section#info03 #event-list h2 img {
    width: 420px;
}
#radio-main section#info03 #event-list ul{
	background: var(--color-white);
	padding: 60px 40px;
}
#radio-main section#info03 #event-list li{
	border-top: 1px solid #ccc;
	padding: 20px 0;
}
#radio-main section#info03 #event-list li:last-child{
	border-bottom: 1px solid #ccc;
}
#radio-main section#info03 #event-list li p{
	font-family: "Montserrat", sans-serif;
  	font-optical-sizing: auto;
  	font-weight: 600;
	color: var(--color-main03);
	font-size:30px;
}
#radio-main section#info03 #event-list li p span{
	font-size:18px;
}
#radio-main section#info03 #event-list li dl{
	font-size: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:20px;
}
#radio-main section#info03 #event-list li dt{
	flex: 1 1 auto; 
	min-width: 0;
	overflow-wrap: anywhere;
}
#radio-main section#info03 #event-list li dd{
	flex: 0 0 auto;
}
#radio-main section#info03 #event-list li dd a{
	color: #fff;
	display: block;
	white-space: nowrap;
	display: inline-block;
	padding: 10px 30px;
	background: #f15a24;
	font-size:18px;
	border-radius: 999px;
	box-shadow: 6px 6px rgb(0, 0, 0, 0.1);
}

/* popup */
.popup {
    display: none;
    position: fixed;
    z-index: 20;
    left: 0;
    top: 0;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
}
.popup-content {
    background-color: #fbf6e8;
    border: 4px solid var(--bg-color-0);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding: 20px 20px 0;
    width: 90%;
    max-width: 800px;
    border-radius: 8px;
}
.button-container {
	display: flex;           
	justify-content: center;
	padding: 20px;
}
.close {
	border: none;
	background-color: #333;
	color: #fff;
	cursor: pointer;
	padding: 10px 40px;
	border-radius: 50px;
	font-size: 16px;
	transition: opacity 0.3s;
}
.close:hover {
	opacity: 0.8;
}

/* boing */
#archive .radio-column {
   transform-origin: center bottom;
   opacity: 0;
   transform: translateY(24px) scale(.94);
   will-change: transform, opacity;
}
#archive .radio-column.inview {
   opacity: 1;
   transform: none;
   animation: boing-in .8s cubic-bezier(.22, .9, .18, 1.3) both;
   animation-delay: var(--stagger, 0ms);
}
@keyframes boing-in {
   0% {
      opacity: 0;
      transform: translateY(24px) scale(.94);
   }

   55% {
      opacity: 1;
      transform: translateY(-6px) scale(1.03);
   }

   75% {
      transform: translateY(2px) scale(.995);
   }

   100% {
      opacity: 1;
      transform: translateY(0) scale(1);
   }
}

#archive .radio-column.inview:hover {
	opacity: 0.9 !important;
}

/* SP */
@media (max-width: 768px) {

	.pc{ display: none;}
	.sp{ display: block;}


	#radio-main h1{
		background-image: linear-gradient(0deg, transparent calc(100% - 1px), var(--color-main01) calc(100% - 1px)), linear-gradient(90deg, transparent calc(100% - 1px), var(--color-main01) calc(100% - 1px));
		background-size: 24px 24px;
		background-repeat: repeat;
		background-position: center center;
		background-color: var(--color-content01);
		border: 10px solid var(--color-main01);
        padding: 20px 20px 20px 62px;
		position: relative;
	}
	#radio-main h1::after{
		content: "";
        position: absolute;
        inset: -4px;
        border: 7px solid var(--color-main01);
        border-radius: 16px;
        pointer-events: none;
        box-sizing: border-box;
	}


	.new-badge {
		top: -40px;
		left: -12px;
		width: 74px;
		height: 74px;
	}
	.new-badge__text {
    	width: 46px !important;
    }
	.radio-column{
		padding: 16px;
		width: 84%;
		margin-bottom: 20px;
		display: block;
	}
	.radio-column .nrc-img img {
    	border-radius: var(--radius) var(--radius) 0 0;
		height: 196px;
        object-fit: cover;
	}

	.video-btn{
		display: none;
	}
	.radio-column .onair-time {
    	font-size: 20px !important;
	}
	.radio-column .nrc-img img {
    	max-width: initial;
	}



	#radio-main section#info01 #lead {
    	display: flex;              /* inline-block から変更 */
		flex-direction: column;     /* 縦積み */
		gap: 14px;
		padding: 20px;
		text-align: center;
	}
	#radio-main section#info01 #lead img {
    	width: 180px;
		margin: 0 auto;
		order: 1;
	}
	 #radio-main section#info01 #lead .firstTime{
		order: 2;
		margin-top: 0;
		width: 90%;
		font-size: 18px;
  	}
	#radio-main section#info01 #lead #onair-info{
		margin-top: 0;
		order: 3;
		text-align: left;
	}
	#radio-main section#info01 #lead #onair-info h3 {
    	font-size: 20px;
		text-align: left;
	}
	#radio-main section#info01 #lead #onair-info h3 > div span {
    	font-size: 28px;
	}
	#radio-main section#info01 #lead #onair-info #onair-info-detail {
    	padding-left: 0;
		text-align: left;
	}

	#radio-main section#info01 #personality {
    	padding-top: 70px;
	}
	#radio-main section#info01 #personality h2 img {
    	width: 230px;
	}
	#radio-main section#info01 #personality .prof01 {
    	margin-bottom: 0;
	}
	#radio-main section#info01 #personality .prof01 h3 {
    	margin-bottom: 0;
	}
	#radio-main section#info01 #personality .prof01 h3 span {
    	font-size: 24px;
    }
	#radio-main section#info01 #personality .prof01 .detail {
    	display: block;
		padding: 20px;
	}
	#radio-main section#info01 #personality .prof01 .detail p{
    	padding: 20px 0;
	}
	#radio-main section#info01 #personality .prof01 img,
	#radio-main section#info01 #personality .prof02 img,
	#radio-main section#info01 #personality .prof01 .detail-text img ,
	#radio-main section#info01 #personality .prof02 .detail-text img {
    	width: 100%;
	}
	#radio-main section#info01 #personality .prof02 h3 {
    	font-size: 24px;
	}
	#radio-main section#info01 #personality .prof02 h3 span{
		font-size: 18px;
	}
	#radio-main section#info01 #personality .prof02 .detail {
		display: block;
		padding: 0 20px;
	}
	#radio-main section#info01 #personality .prof02 {
    	padding-bottom: 20px;
	}

	#radio-main section#info02 #sns-wrapper {
    	padding: 60px 20px 20px;
	}
	#radio-main section#info02 #sns h2 img,
	#radio-main section#info02 #mail h2 img {
    	width: 230px;
	}
	#radio-main section#info02 #sns h2 {
		left: -80px;
	}
	#radio-main section#info02 #sns {
    	padding: 20px;
    }
	#radio-main section#info02 #check {
    	margin-bottom: 20px;
	}
	#radio-main section#info02 #mail {
    	padding: 70px 18px 18px;
	}
	#radio-main section#info02 #mail #mail-text {
		gap: 0;
		margin-bottom: 40px;
	}
	#radio-main section#info02 #mail #mail-text h4 {
    	font-size: 30px;
    }

	#radio-main #go-mail-btn a {
		width: 100%;
		font-size: 24px;
		padding: 24px;
		box-sizing: border-box;
	}
	#radio-main #go-mail-btn img {
		width: 150px;
		top: -73px;
        left: -30px;
	}
	#radio-main section#info02 #mail #mail-text img {
    	opacity: 0.3;
    	width: 180px;
	}

	.x-embed{
		width: 100%;
		max-width: 550px;
		margin: 0 auto;
	}
	.sns-marquee{
		display: none;
	}
	.sns-marquee-text{ font-size: 16px; }

	#radio-main section#info01 #archive {
    	padding: 80px 0 30px;
	}
	#radio-main section#info01 #archive h2 img {
    	width: 250px;
	}
	#radio-main section#info03 .inner {
    	padding: 60px 0 40px;
	}
	#radio-main section#info03 #event-list {
    	padding: 20px 20px 0;
    }
	#radio-main section#info03 #event-list h2 img {
    	width: 306px;
	}
	#radio-main section#info03 #event-list ul {
    	padding: 30px 20px;
	}
	#radio-main section#info03 #event-list li dl {
    	display: block;
		font-size: 16px;
    }
	#radio-main section#info03 #event-list li dt {
		margin-bottom: 10px;
	}
	#radio-main section#info03 #event-list li p {
    	font-size: 20px;
	}
	#radio-main section#info03 #event-list li dd a {
		display: block;
		width: 50%;
		text-align: center;
		margin: 0 auto;
	}
	#archive .radio-column .nrc-img img {
    	width: 100%;
		height: 196px;
        object-fit: cover;
	}
	

}

