@charset "utf-8";

#salon {
	background-color: var(--white);
}

/*----- .salon_box start -----*/
.salon_box {
	position: relative;
	border: 1px solid var(--blue); 
	width:95%;
	margin: 80px auto 10px; 
}
.salon_box__container {
	border: 1px solid var(--blue);
	display: grid;
}
.salon_box__container .item {
	padding: 15px;
	font-weight: 700;
}

/*
.salon_box:not(:first-of-type) {
	margin-top: 30vh;
}
*/

/*-- salon order --*/
.salon_box::before {
	font-size: 12px;
	font-weight: 500;
	color: var(--blue);
	font-family: "Noto Sans JP";
	position: absolute;
	top: -20px;
	left: 0;
}
.salon_box.box_01::before {
	content: "(01)"
}
.salon_box.box_02::before {
	content: "(02)"
}
.salon_box.box_03::before {
	content: "(03)"
}
.salon_box.box_04::before {
	content: "(04)"
}
.salon_box.box_05::before {
	content: "(05)"
}
.salon_box.box_06::before {
	content: "(06)"
}

/*-- border --*/
.salon_box__container .item:not(.salon_box__container .item:last-child):not(.salon_box__container .item:nth-child(5))  {
	border-bottom: 1px solid var(--blue);
}
.salon_box__container .item:nth-child(5) {
	border-bottom: 1px solid var(--blue);
}
/*----- .salon_box end -----*/


/*----- .item-1 start -----*/
.year {
    line-height: 1.2;
	font-size: min(6.4vw, 26px);
}
.date {
	display: flex;
	gap: min(.5rem, 5%);
	align-items: baseline;
    line-height: 1.2;
}
.date {
	font-size: min(6.73vw, 24px);
	margin-bottom: 1rem;/*.5rem*/
}
.date span {
	font-size: min(10.9vw, 50px);
}
.announce_box {
	display: flex;
	flex-wrap: wrap;
	align-items:baseline;
	gap: .5rem;
}
.order {
	font-size: min(4.55vw, 19px);
	color: var(--blue);
	padding: 5px 10px;
	border: 1px solid var(--blue);
}
.period {
	font-size: min(4.49vw, 18px);
}
/*----- .item-1 end -----*/


/*----- .item-2 start -----*/
.heading__icon.place__icon {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.place__icon li {
	padding: 7px 10px;
	font-size: min(4.49vw, 18px);
}
.place__heading.offline {
	color: var(--white);
	background-color: var(--blue);
}
.online {
	color: var(--blue);
	border: 1px solid var(--blue);
}
.place__name {
	font-size: min(13vw, 28px);/*39*/
}

.address {
	font-weight: 400;
	font-size: min(4.49vw, 16px);
	font-family: "Noto Sans JP";
}
/*----- .item-2 end -----*/


/*----- .item-3 start -----*/
.heading__icon.fee__icon {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}
.fee__icon li {
	padding: 7px 10px;
	font-size: min(4.49vw, 18px);
}
.fee__heading.offline{
	color: var(--white);
	background-color: var(--blue);
}


.fee__title {
	text-align:center;
	margin-bottom: 15px
}
.fee__title p {
	color: var(--blue);
	font-size: min(5.6vw, 20px);
	text-align: center;
	display: inline-block;
	position: relative;
}
.fee__title p::before,
.fee__title p:after {
	content: "";
	width: 5%;
	height: 2px;
	background: var(--blue);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.fee__title p::before {
	left: -9%;
}
.fee__title p::after {
	right: -9%;
}

.fee__free {
	font-size: min(13vw, 28px);/*39*/
}

/*
.fee__box {
	display: flex;
	flex-direction: column;
	gap: 10px
}
.fee__box div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: min(85%, 300px);
	margin: 0 auto;
}
.fee__border {
	position: relative;
	width: 30px;
}
.fee__border::before {
	content: "";
	width: 30px;
	height: 1px;
	background-color: var(--blue);
	position: absolute;
	top: 0;
	left: 0;
	transform: rotate(-45deg);
}
.fee__box div dt ul li {
	font-size: min(4.49vw, 18px);
	font-weight: 400;
}
.fee__box div dd {
	font-size: min(6.73vw, 24px);
}
.fee__box div dd span {
	font-size: min(6.73vw, 14px);
	margin-left: 3px;
}
*/

.fee__message {
	font-weight: 400;
	font-size: min(4.49vw, 16px);
	font-family: "Noto Sans JP";
}
.fee__message a{
    text-decoration: underline;
    color: var(--blue);
}
.fee__message a:hover{
    opacity: .7;
}
/*----- .item-3 end -----*/


/*----- .item-4 start -----*/
.salon__title {
	font-size: min(8vw, 39px);
	margin-bottom: 10px;
}
.salon__text {
	font-size: min(4.23vw, 18px);
	margin-bottom: 5px;
	font-family: "Noto Sans JP";
	font-weight: 400;
	line-height: 1.7;
}
.salon__interviewer {
	margin-top: 5px 0 0 auto;
	width: fit-content;
	position: relative;
}
.salon__interviewer::before {
	content: "";
	background-image: url("../image/mic.png");
	background-size: contain;
	background-repeat: no-repeat;
	width: 17px;
	height: 17px;
	position: absolute;
	top:50%;
	transform: translateY(-50%);
	left: -25px;
}
.salon__interviewer {
	font-size: min(3.4vw, 15px);
	text-align: right;
	margin: 10px 0 0 auto;
	font-family: "Noto Sans JP";
	font-weight: 400;
}
.salon__interviewer span {
	margin-left: 20px;/* 30px*/
}	
/*----- .item-4 end -----*/


/*----- .item-5 start -----*/
.item-5 {
	display: flex;
	flex-direction: column;
	padding: 30px 10px ; /*0*/
}
.person__img {
	display: grid;
	place-items: center;
	width: 100%;
}
.person__img img {
	height: auto;
	width: min(80%, 350px);
}
.person__box {
	width: 100%;
	display: flex;
    flex-direction: column;
    justify-content: center;
}
.person__inner {
	display: flex;
	flex-direction: column;
	gap: 0; /*15px*/
	margin: 10px auto 0; /*0*/
	width: 100%;
}
.person__inner div {
	text-align: end;
}
.name__position {
	font-size: min(4.8vw, 22px); /*11.16 21pxâ†’18px*/
	font-weight: 500;
}
.name__name {
	font-size: min(12vw, 50px); /*50px*/
	font-weight: 600;
}		
.name__name span {
	font-size: min(4.3vw, 21px);
	margin-left: 10px;
}	
.name__rubi {
	font-size: min(3.7vw, 19px);
	color: #848484;
	line-height: 1;
}	
.person__text {
	margin-top: 20px;
}
.person__text p {
	font-family: "Noto Sans JP";
	font-weight: 400;
	line-height: 1.7;
	font-size: min(4.23vw, 16px);
}
/*----- .item-5 end -----*/


/*----- .item-6 start -----*/
.item-6 {
	height: 250px;
	overflow: hidden;
	transition: .5s;
	padding: 10px;
	display: flex;
	flex-direction: column;
	position: relative;
}
.salon_box_login {
	height: 85%;
	position: relative;
}
.item-6:hover .btn__name {
	color: var(--blue);
	font-weight: 800;
}
.salon_box_signup {
	position: absolute;
	display: flex;
	justify-content: center;
	bottom: 17px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	font-size: 15px;
	font-weight: 400;
}
.salon_box_signup a {
	border-bottom: 1px solid var(--black);
	margin-left: 8px;
	transition: .3s;
}
.salon_box_signup a:hover {
	opacity: .5;
}
.btn__name,
.item-6 img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.item-6 img {
	width: 55%; /*70%*/
	max-width: 180px;
	height: auto;
	-webkit-animation: rotation-btn 24s linear infinite;
	-moz-animation: rotation-btn 24s linear infinite;
	-o-animation: rotation-btn 24s linear infinite;
	animation: rotation-btn 24s linear infinite;
	transition: .5s;
	}

	@keyframes rotation-btn {
	  0% {
		-webkit-transform: translate(-50%, -50%) rotate(0deg);
		-ms-transform: translate(-50%, -50%)  rotate(0deg);
		transform: translate(-50%, -50%) rotate(0deg);
	  }
	  100% {
		-webkit-transform:translate(-50%, -50%) rotate(360deg);
		-ms-transform: translate(-50%, -50%) rotate(360deg);
		transform: translate(-50%, -50%) rotate(360deg);
	  }
}	

  .item-6:hover img {
		-webkit-animation: rotation-btn-h 10s linear infinite;
		-moz-animation: rotation-btn-h 10s linear infinite;
		-o-animation: rotation-btn-h 10s linear infinite;
		animation: rotation-btn-h 10s linear infinite;
	}

	@keyframes rotation-btn-h {
	  0% {
		-webkit-transform: translate(-50%, -50%) rotate(0deg);
		-ms-transform: translate(-50%, -50%) rotate(0deg);
		transform: translate(-50%, -50%) rotate(0deg);
	  }
	  100% {
		-webkit-transform: translate(-50%, -50%) rotate(360deg);
		-ms-transform: translate(-50%, -50%) rotate(360deg);
		transform: translate(-50%, -50%) rotate(360deg);
	  }
	
}
.btn__name {
	font-size: min(5.5vw, 22px); /*25px*/
	font-weight: 600;
	z-index: 20;
}

.item-6.out-of-term{
	pointer-events: none;
	background: var(--transparent-blue);
	color: var(--white);
}
.item-6.out-of-term img {
	pointer-events: none;
	animation: none;
}
/*----- .item-6 end -----*/


/*------------ 注釈kome start ------------*/
.kome_1,
.kome_2,
.kome_3 {
	position: relative;
}
.kome_1::before {
	content: "※1";
	font-size: 9px;
	color: var(--blue);
	font-family: "Noto Sans JP";
	position: absolute;
	bottom: 0;
	right: -6%;

}
.kome_2::before {
	content: "※2";
	font-size: 9px;
	color: var(--blue);
	font-family: "Noto Sans JP";
	position: absolute;
	bottom: -10px;
    right: 0;
}		
.kome_3::before {
	content: "※3";
	font-size: 9px;
	color: var(--blue);
	font-family: "Noto Sans JP";
	position: absolute;
	bottom: 0;
	right: -6%;
}	
/*------------ 注釈kome end ------------*/
		

/*------------ 注釈text start ------------*/
.announce {
	margin: 0 15px;
}
.announce ul li {
	font-size: 16px; 
	font-weight: 600;
	line-height: 1.5;
	text-indent: -3em;
	padding-left: 3em;
	
}
.announce ul li a {
	transition: .3s;	
}
.announce ul li a:hover {
	opacity: .6;
}
/*------------ 注釈text end ------------*/


/*===============
min-width: 600px
===============*/
@media(min-width: 600px) {
	
	/*-- salon_box --*/
	.salon_box__container .item {
		padding: 25px;
	}
	
	/*-- item-1 --*/
	.date span {
		font-size: min(8vw, 50px);
	}
	.date {
		font-size: min(4.5vw, 25px);
		display: flex;
		flex-wrap: wrap;
	}
	.order {
		font-size: min(2.9vw, 20px);
	}
	.period {
		font-size: min(2.5vw, 18px);
	}
	
	/*-- item-2 --*/
	.place__name {
		font-size: min(9vw, 32px);/*41px*/
	}
	
	/*-- item-3 --*/
	.fee__free {
		font-size: min(9vw, 32px);/*41px*/
	}
    
    
	.fee__box {
		flex-direction: row;
		justify-content: space-between;
		gap: 11%;
		width: min(100%, 650px);
		margin: 0 auto;
	}
	.fee__box div {
		width: 50%;
	}

}


/*===============
min-width: 834px
===============*/
@media(min-width: 834px) {
	
	/*-- salon_box --*/
	.salon_box__container {
		grid-template-rows: repeat(1fr, 1fr);
		grid-template-columns: 55% 45%;
	}
	.salon_box__container .item-1, 
	.salon_box__container .item-2 {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.salon_box__container .item-1 {
		grid-row: 1/2;
		grid-column: 1/2;
		border-right: 1px solid var(--blue);
	}
	
	.salon_box__container .item-2 {
		grid-row: 1/2;
		grid-column: 2/3;
	}
	.salon_box__container .item-3 {
		grid-row: 2/3;
		grid-column: 1/3;
	}
	.salon_box__container .item-4 {
		grid-row: 3/4;
		grid-column: 1/3;
	
	}
	.salon_box__container .item-5 {
		grid-row: 4/5;
		grid-column: 1/3;
	}

	.salon_box__container .item-6 {
		grid-row: 5/6;
		grid-column: 1/3;
	}

	/*-- item-5 --*/
	.item-5 {
		flex-direction: row;
	}
}


/*===============
min-width: 1000px
===============*/
@media(min-width: 1000px) {
	/*-- salon_box --*/
	.salon_box__container {
		grid-template-rows: 1fr;
		grid-template-columns: 38.7% 34% 6.9% 20.4%;
	}
	.salon_box__container .item {
		padding: 15px;
	}
	.salon_box__container .item:nth-child(5) {
	border-bottom: none;
	}
	.salon_box__container .item-1 {/*2024.7.9変更*/
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.salon_box__container .item-2,
	.salon_box__container .item-3 {/*2024.7.9変更*/
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
        gap:10px;
	}
    
	.salon_box__container .item-1 {
		grid-row: 1/2;
		grid-column: 1/2;
	}
	.salon_box__container .item-2 {
		grid-row: 1/2;
		grid-column: 2/3;
		border-right: 1px solid var(--blue);
	}
	.salon_box__container .item-3 {
		grid-row: 1/2;
		  grid-column: 3/5;
	}
	.salon_box__container .item-4 {
		grid-row: 2/3;
		  grid-column: 1/5;
	}
	.salon_box__container .item-5 {
		grid-row: 3/4;
		grid-column: 1/4;
		border-right: 1px solid var(--blue);
	}
	.salon_box__container .item-6 {
		 grid-row: 3/4;
		 grid-column: 4/5;
	}
	
	
	/*-- item-1 --*/
	.date span {
		font-size: min(3.5vw, 70px);
	}
    .date li:nth-child(3) span {/*2024.7.9*/
    font-size: min(3.2vw, 60px);
    }
	.date {
		font-size: min(2.5vw, 30px);
	}
	.order {
		font-size: min(2.22vw, 21px);
	}
	.period {
		font-size: min(1.6vw, 20px);
	}
	
	/*-- item-2 --*/
	.place__icon li {
		font-size: min(4.55vw, 19px);
	}
	.place__name {
		font-size: min(3.4vw, 42px);
	}
	
	/*-- item-3 --*/
	.fee__icon li {
		font-size: min(4.55vw, 19px);
	}
	.fee__free {
		font-size: min(3.4vw, 42px);
	}
	.fee__box {
		flex-direction:column;
		justify-content: space-between;
		gap: 10px;
		width: min(100%, 300px);
	}
	.fee__box div {
		width: 100%;
	}

	/*-- item-4 --*/
	.salon__title {
		font-size: min(5vw, 60px);
	}
	.salon__text {
	    font-size: min(1.6vw, 18px);
	}
	.person__text p {
		font-size: min(1.5vw, 16px);
	}
	/*-- item-5 --*/
	.name__position{
		font-size: min(1.6vw, 24px);
	}

	.person__inner {
		display: flex;
		/*flex-direction: row;*/
		gap: 30px;
		width: 100%;
		margin: 0;
	}	
	.person__img {
		width: 30.4%;
		padding-left: 0;
	}
	.person__img img {
		width: 100%;
	}
	.person__box {
		width: 69.6%;
		padding-left: 20px;
	}	
	.name__name {
	    font-size: min(4vw, 51px);
	}
	

	/*-- item-6 --*/
	.item-6 {
		height: auto;
	}
	.item-6 img {
	    width: 70%;
	    max-width: 300px;
	}
	.btn__name {
		font-size: min(1.4vw, 25px); 
	}
	.salon_box_signup {
		bottom: 42px;
	}
	
	/*-- kome_2 --*/
	.kome_2::before {
		bottom: -13px;
		right: -5%;
	}
}

/*===============
min-width: 1280px
===============*/
@media(min-width: 1280px) {
	
	/*-- salon_box --*/
	.salon_box {
		width:98.5%;
		margin: 80px auto 10px 0;
	}
	.salon_wrap {
		max-width: 1920px;
		margin: 0 auto;
		display: flex;
	}	
	.salon_side_wrap {
		display: block;
		position: -webkit-sticky;
		position: sticky;
		top:0;
		width: 20.8%;
		height: 100vh;
	}
	.salon_main_wrap {
		/*width: 79.2%;*/
		width: 100%;
	}
	
	/*-- salon_box --*/
	.salon_box__container .item {
		padding: 15px;
	}
	/*-- item-1 --*/
	.year {
		font-size: min(1.5vw, 26px);
	}
	.date {
		font-size: min(1.8vw, 30px);
	}
	.order,
	.period {
		font-size: min(1.15vw, 21px);
	}

	/*-- item-2 --*/
	.place__icon li {
	    font-size: min(1.23vw, 21px);
	}
	.place__name {
	    font-size: min(2.5vw, 42px);/*3.1vw,60px,20240704*/
	}
	.address {
		font-size: min(1.1vw, 17px);
	}
	
	/*-- item-3 --*/	
	.fee__icon li {
	    font-size: min(1.23vw, 21px);
	}
	.fee__free {
	    font-size: min(2.5vw, 42px);/*3.1vw,60px,20240704*/
	}
    
	.fee__title p,
	.fee__box div dt ul li {
		font-size: min(1.25vw, 21px);
	}
	.fee__box div dd {
		font-size: min(1.7vw, 30px);
	}

	/*-- item-4 --*/	
	.salon__title {
	    font-size: min(3vw, 60px);
	}
	.salon__text {
	    font-size: min(1.4vw, 20px);
	}
	.salon__interviewer {
	    font-size: min(1.25vw, 16px);
	}
	
	
	/*-- item-5 --*/
	.name__name {
    	font-size: min(4vw, 63px);
	}
	.person__inner {
		display: flex;
		flex-direction: row;
	}	
	.name__position {
	    font-size: min(1.4vw, 24px);
	}
	.name__name {
	    font-size: min(3vw, 63px);
	}
	.person__text p {
	    font-size: min(1.25vw, 18px);
	}
	.name__rubi {
	    font-size: min(1.4vw, 21px);
	}
	
	/*-- item-6 --*/
	.salon_box_signup {
		font-size: 16px;
	}
	
	/* ボタン回転 */
    .item-6:hover img {
		width: 80%;
	}
}


		
	
/*===============
min-width: 1920px
===============*/
@media (min-width: 1920px) {
	
	/*-- salon_box --*/
	.salon_box {
		max-width: 1470px;
	}
	.salon_box__container .item {
		padding: 20px;
	}
	
	/*-- item-5 --*/
	.person__box {
		padding-left: 30px;
	}
	.person__text {
		margin-top: 30px;
	}
	
	/*-- item-6 --*/
	.salon_box_signup {
	bottom: 60px;
	}	

	/*-- 注釈 text --*/
	.announce ul li {
		font-size: 22px; 
	}
	
}



/*------------ 公演終了後　start ------------*/
.salon_box_done::after {
	content: "終了しました。\Aたくさんのご参加、\Aありがとうございました。";
	white-space: pre;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 40px;
	color: var(--white);
	background-color: var(--transparent-blue);
	width: 100%;
	height: 100%;
	align-items: center;
	display: grid;
	place-items: center;
	writing-mode: vertical-rl;
	letter-spacing: 8px;/*10pxâ†’8px*/
	line-height: 2;
}

.salon_box_done .item-6.out-of-term{
	background: none;
}
.salon_box_done .item-6 p.btn__name{
	display: none;
}

.salon_box_done + .announce{
	display: none;
}


@media (min-width: 600px) {
	.salon_box::after {
		writing-mode: initial;
}
}
/*------------ 公演終了後　end ------------*/






		


	
