.player-kv {
	background: url(./img/prayer_bg.jpg)no-repeat;
	background-size: cover;
	height: 600px;
	background-position: center bottom;
}

.player-kv__inner {
	width: min(1170px, 96%);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	color: #fff;
	height: 100%;
}

.player-kv .subttl {
	font-size: 96px;
	font-weight: 800;
	line-height: 1.2;
	font-family: 'Oswald', sans-serif;
}

.player-kv .mainttl {
	font-size: 26px;
	font-weight: 800;
	line-height: 1.2
}

.player-single {}

.player-titlewrap {
	width: min(1170px, 96%);
	margin: -60px auto 110px;
	display: flex;
	column-gap: 86px;
	align-items: center;
}

.player-thumbnail {
	width: min(390px,38%);
	position: relative;
	z-index: 2
}

.player-thumbnail img {
	object-fit: cover;
	aspect-ratio: 312 / 412;
	width: 100%;
	height: auto;
	display: block;
}


.kana-name {
	display: inline-block;
	transform: skewX(348deg);
	margin-bottom: 10px
}

.kana-name .name {
	display: inline-block;
	background: #fff;
	padding: 0 12px;
	margin-bottom: 6px;
	letter-spacing: 0.08em;
}

.kana-name .name span,
.kana-name .name {
	font-size: clamp(40px, 24.223px + 3.207vw, 86px);
	display: block;
	line-height: 1;
}

.kana-name .first {
	font-weight: 400;
}

.kana-name .last {
	font-weight: 800;
}

.player-name .ttl {
	font-weight: 700;
	font-size: clamp(16px, 12.602px + 0.906vw, 30px);
	margin-bottom: 20px
}
.player-snswrap{
	    display: flex;
    gap: 8px;
}
.player-sns__btn {
	display: block;
}

.player-sns__btn a {
	border: 1px solid #333;
	border-radius: 3px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 55px;
	width: 100%;
	gap: 10px;
	font-size: 16px;
	font-weight: 600;
	padding: 0 10px
}

.player-sns__btn a:hover {
	background: #fbb308;
	text-decoration: none;
}

.player-single .inner {
	width: min(955px, 100%);
	margin: -150px auto 0;
	display: flex;
	gap: 70px;
	flex-direction: column;
}

.player-profile {
	background: #fbb308;
	padding: 80px 60px 40px;
	display: flex;
	gap: 170px;
}

.player-profile .leftarea {
	color: #fff;
	font-size: 56px;
	font-weight: 700;
	font-style: italic;
}

.player-profile .rightarea {
	width: 100%
}

.player-profile .rightarea table {
	font-size: 18px;
	font-weight: 500;
	width: 100%
}

.player-profile .rightarea table th,
.player-profile .rightarea table td {
	padding: 10px 0;
	border-bottom: 1px solid #000
}

.player-profile .rightarea table th {
	text-align: left;
}

.othercontents {
	margin-bottom: 100px
}

.othercontents_ttl {
	font-style: italic;
	padding: 20px 0;
	position: relative;
	z-index: 1;
	cursor: pointer;
	transition-duration: 0.2s;
}

.othercontents_ttl .en {
	font-size: 56px;
}

.othercontents_ttl .jp {
	font-size: 21px;
}

.othercontents_ttl:hover {
	opacity: .8;
}

.icon_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	right: 0;
	width: 55px;
	height: 55px;
	margin-top: -20px;
	box-sizing: border-box;
	/*
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
*/
	transform-origin: center center;
	transition-duration: 0.2s;
	background: #fbb308;
}

.othercontents_ttl.default .icon_wrap {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

.icon {
	display: block;
	width: 18px;
	height: 18px;
	-webkit-transform: rotate(90deg);
	transform: rotate(90deg);
	transform-origin: center center;
	transition-duration: 0.2s;
	position: relative;
}

.othercontents_ttl.default .icon_wrap .icon {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

/*
.othercontents_ttl.default.open .icon_wrap .icon {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
*/
/*
.othercontents_ttl.open .icon_wrap {
  -webkit-transform: rotate(-360deg);
  transform: rotate(-360deg);
}
*/
/*
.othercontents_ttl.default.open .icon_wrap {
  -webkit-transform: rotate(315eg);
  transform: rotate(315deg);
}
*/
icon {
	background: #fbb308;
}

.icon:before,
.icon:after {
	display: flex;
	content: '';
	background-color: #fff;
	border-radius: 10px;
	width: 18px;
	height: 2px;
	position: absolute;
	top: 8px;
	left: -1px;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
	transform-origin: center center;
}

.icon:before {
	width: 2px;
	height: 18px;
	top: 0;
	left: 7px;
}

.othercontents_ttl.default .icon_wrap .icon:before {
	content: none;
}

.othercontents_ttl.open .icon_wrap .icon:before {
	content: none;
}

.othercontents_ttl.default.open .icon_wrap .icon:before {
	content: "";
}

.othercontents_ttl.open .icon_wrap .icon:after {
	-webkit-transform: rotate(270deg);
	transform: rotate(270deg);
	
}

.othercontents_ttl.default.open .icon_wrap .icon:after {
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

.accordion_inner {
	display: none;
	padding: 0 0 30px;
	border-bottom: 1px solid #000;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 36px;
}

.accordion_inner.default {
	display: block;
}

p.txt_a_ac {
	margin: 0;
}
.gallery-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

@media (max-width: 768px){
  .gallery-grid{
    grid-template-columns: repeat(2, 1fr);
	   gap: 8px;
  }
}

/* 1枚の枠 */
.gallery-item{
  margin: 0;
  overflow: hidden;
}

.gallery-item img{
  width: 100%;
  aspect-ratio: 1 / 1;   /* ← ここで揃う。3/2でもOK */
  object-fit: cover;
  display: block;
}

@media screen and (max-width: 1000px) {
	.player-kv {
		height: 270px;
		padding-bottom: 100px;
	}

	.player-thumbnail {
		width: min(380px, 80%);
	}

	.player-titlewrap {
		flex-direction: column;
	}

	.player-maintxtarea {
		        padding-top: 10px;
        position: relative;
        z-index: 2;
        margin: -50px auto 0 0;
        width: 100%;
	}

	.kana-name {
		margin-bottom: 10px;
	}

	.player-kv .subttl {
		font-size: 46px;
	}

	.player-kv .mainttl {
		font-size: 14px;
	}

	.othercontents_ttl {
		font-size: 18px;
	}

	.icon_wrap {
		width: 30px;
		height: 30px;
		margin-top: -15px;
	}

	.player-single .inner {
		margin: 0 auto;
		gap:40px
	}
	.player-sns__btn{
		width: 100%;
	}
	.player-sns__btn a{
		    width: 100%;
		    font-size: 15px;
	}
	.player-name .ttl {
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 20px;
    padding-left: 10px;
}
	.player-profile .leftarea{
		font-size: 32px
	}
	.player-profile {
    padding: 40px 20px;
    gap: 10px;
    flex-direction: column;
}
	.player-profile .rightarea table {
    font-size: 14px;
}
	.player-profile .rightarea table th, .player-profile .rightarea table td {
    padding: 6px 0;
}
	.othercontents_ttl .en {
    font-size: 32px;
}
	.othercontents_ttl .jp{
    font-size: 12px;
}
	.othercontents {
    margin-bottom: 60px;
    padding: 0 20px;
}
	.accordion_inner{
		    font-size: 14px;
    line-height: 1.85;
	}
}