* {
	box-sizing: border-box;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.container {
	width: 100%;
	max-width: 780px;
	margin: 0 auto;
	padding: 0;
}

.image-section {
	margin: 0;
	padding: 0;
	position: relative;
}

.image-section img {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: bottom;
}

.image-link {
	position: absolute;
	display: block;
	text-decoration: none;
	cursor: pointer;
	border-radius: 80px;
	/* 位置調整用: 半透明の背景色で範囲を表示
	background-color: rgba(255, 0, 0, 0.3);
	border: 2px solid rgba(255, 0, 0, 0.6); */
}

.image-link-row {
	position: absolute;
	display: block;
	text-decoration: none;
	cursor: pointer;
	border-radius: clamp(8px, 50%, 15px);
	/* 位置調整用: 半透明の背景色で範囲を表示
	background-color: rgba(0, 255, 0, 0.3);
	border: 2px solid rgba(0, 128, 0, 0.6); */
}

.timer-panel {
	position: absolute;
	background-color: #fff;
	text-align: center;
}

.timer-number {
	font-size: clamp(2.5em, 10vw, 5em);
	font-weight: bold;
	color: #c05d79;
	line-height: 1.2;
	font-family: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Yu Mincho", "YuMincho", "MS PMincho", "MS Mincho", serif;
}

.vote-button01 {
	left: calc((22 / 418) * 100%);
    top: calc((48 / 420) * 100%);
    width: calc((360 / 412) * 100%);
    height: calc((10 / 478) * 100%);
}

.vote-button02 {
	left: calc((24 / 418) * 100%);
    top: calc((106 / 418) * 100%);
    width: calc((360 / 412) * 100%);
    height: calc((10 / 478) * 100%);
}

.vote-button03 {
	left: calc((29 / 410) * 100%);
    top: calc((233 / 417) * 100%);
    width: calc((360 / 412) * 100%);
    height: calc((10 / 465) * 100%);
}

.vote-button04 {
	left: calc((25 / 431) * 100%);
    top: calc((397 / 417) * 100%);
    width: calc((360 / 412) * 100%);
    height: calc((10 / 487) * 100%);
}
/* 
.video-wrapper {
    position: absolute;
    bottom: calc((140 / 240) * 100%);
    left: calc((0 / 510) * 100%);
    width: calc((500 / 500) * 100%);
    height: calc((39 / 247) * 100%);
    aspect-ratio: 16 / 9;
    overflow: hidden;
    max-width: 100%;
    z-index: 101;
}
.video-wrapper video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.responsive-iframe {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.responsive-iframe iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border: none;
}
*/


.video-wrapper {
    position: absolute;
    bottom: calc((140 / 240) * 100%);
    left: 0;                      /* ← 必ず左端に固定 */
    width: 100%;                  /* ← 親幅に完全一致 */
    aspect-ratio: 16 / 9;
    overflow: hidden;
    max-width: 100%;
    z-index: 101;
}

.responsive-iframe {
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
}

.responsive-iframe iframe {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;
    object-fit: cover;
    border: none;
}

.app-line {
	left: calc((112 / 388) * 100%);
    top: calc((248 / 415) * 100%);
    width: calc((78 / 412) * 100%);
    height: calc((7 / 435) * 100%);
}

.app-x {
	left: calc((228 / 410) * 100%);
    top: calc((248 / 415) * 100%);
    width: calc((78 / 412) * 100%);
    height: calc((7 / 435) * 100%);
}

.app-instagram {
	left: calc((51 / 353) * 100%);
    top: calc((258 / 416) * 100%);
    width: calc((78 / 412) * 100%);
    height: calc((7 / 436) * 100%);
}

.app-tiktok {
	left: calc((185 / 431) * 100%);
    top: calc((258 / 416) * 100%);
    width: calc((78 / 412) * 100%);
    height: calc((7 / 436) * 100%);
}

.app-youtube {
	left: calc((300 / 430) * 100%);
    top: calc((258 / 416) * 100%);
    width: calc((78 / 412) * 100%);
    height: calc((7 / 436) * 100%);
}