body, .container {
    font-size: 20px;
}
.container {
	margin: 0 20px;
}
.title{
	font-size:50px;
}
.title img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.title_txt {
	font-family: 'Noto Sans JP', sans-serif;
  	font-weight: 700;
    font-size: 28px;
	text-align: center;
    line-height: 1.5;
    margin-bottom: 20px;
	padding: 0 5px;
}
.read_txt{
	font-size:20px;
	margin-bottom: 60px;
}
.result_title_txt {
	font-family: 'Noto Sans JP', sans-serif;
  	font-weight: 700;
    font-size: 40px;
	text-align: center;
    line-height: 1.5;
    margin-bottom: 20px;
	padding: 0 5px;
}
.result_read_title {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.2em;
  	font-weight: 700;
    text-align: center;       		/* 中央揃え */
	border-bottom: 2px solid #333; /* 下線で強調 */
	padding-bottom: 5px;
}
.sp-br {
  display: inline;
}
.result_read_txt{
	font-size:20px;
	margin-bottom: 60px;
}
.read_txt h3{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.2em;
  	font-weight: 700;
	border-bottom: 2px solid #333;	
}
.read_txt dt{
	font-family: 'Noto Sans JP', sans-serif;
  	font-weight: 700;
	margin-top: 20px;
	margin-bottom: 10px;
}
.queen-container {
	display: grid;
	grid-template-columns: repeat(2, 1fr); /* 横2列 */
	gap: 20px; 						/* カード間の隙間 */
	max-width: 700px;
	margin: 0 auto;
}
.card {
	border: none;
	border-radius: 5px;
	padding: 10px;
	display: flex;
    flex-direction: column;  		/* 縦方向に並べる */
    align-items: center;     		/* 横方向中央揃え */
    text-align: center;      		/* テキスト中央揃え */
}
.photo {
    width: 250px;
    flex: 0 0 250px;
    padding-right: 10px;
    margin-right: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.photo img {
    max-width: 200px;        		/* スマホでも画像幅を制限 */
    width: 100%;
    height: auto;
    margin: 0 auto;					/* 中央寄せ */
    border: 1px solid #333;		/* 枠線の太さと色 */
    border-radius: 10px;     		/* 角を丸める場合 */
	margin-bottom: 5px; 
}
.photo .info-shop {
	font-size: 1em;          		/* 少し大きめ */
    font-weight: 700;        		/* 太文字 */
    color: #333;
    text-align: center;
}
.photo .info-name {
	font-size: 1.5em;          		/* 少し大きめ */
    font-weight: 700;        		/* 太文字 */
    color: #333;
    text-align: center;
	margin-bottom: 5px; 
}
.photo .info-addr {
	font-size: 0.7em;          		/* 少し小さく */
    color: #333;
    text-align: center;
}
.queen-container-note {
	font-size: 0.7em;          		/* 少し小さく */
	text-align: right;      		/* テキスト中央揃え */
	margin-bottom: 50px; 			/* 下の説明文との余白 */
}
.photo-snap1 {
	text-align: center;
	margin-bottom: 20px;
}
.photo-snap1 img {
	height: 200px;
    height: auto;
    margin: 10px;
    display: inline-block;
    border: 5px solid #fff;     	/* 白いフチ */
    box-shadow: 0 5px 15px rgba(0,0,0,0.3); /* 写真の浮き上がり感 */
}
.photo-snap2 {
    text-align: center;
    position: relative;
	margin-bottom: 20px;
}
.photo-snap2 img {
    max-width: 200px;
	height: auto;
    margin: 10px;
    display: inline-block;
    transform: rotate(-5deg);		/* 少し回転 */
    border: 5px solid #fff;   		/* 白い枠 */
    box-shadow: 0 5px 15px rgba(0,0,0,0.3); /* 影を付ける */
}
.photo-snap2 img:nth-child(1) {
	transform: rotate(-5deg);
}
.photo-snap2 img:nth-child(2) {
	transform: rotate(3deg);
}
.photo-snap2 img:nth-child(3) {
	transform: rotate(-8deg);
}
.content_txt{
	margin-bottom: 80px;
}
.content_price_note{
	display: block;
	margin-left: 20px;
	text-indent: -20px; 
}
.schedule_txt{
	margin-bottom: 80px;
}
.schedule_event_note{
	margin-top: 10px;
}
.candidates{
	font-family: 'Noto Sans JP', sans-serif;
  	font-weight: 700;
	font-size:25px;
	text-align: center;
	margin-bottom: 80px;
}
.candidates a{
	color: #000000;
	background-color: #FFD4D5;
	padding: 10px 50px;
	border-radius: 8px;
}
.candidates a.disabled {
    pointer-events: none;
	opacity: 0.5;
    cursor: default;
}
.candidates_note{
	font-size:20px;
	margin-top: 20px;
}
.poster_data{
	text-align: center;
}

/* -------------------------------------------------- */

@media screen and (min-width:800px) {
  .container {
    max-width: 1000px;
	margin: 0 auto;
  }
}

@media screen and (max-width: 600px) {
    .title_txt {
	    font-size: 14px;
    }
	.result_title_txt {
	    font-size: 27px;
    }
	.sp-br::after {
		content: "\A";     			/* 改行文字 */
		white-space: pre;  			/* 改行を有効化 */
	}
	.sp-br {
		display: inline;   			/* 有効化 */
	}
    .queen-container {
        grid-template-columns: 1fr; /* 横1列に変更 */
		gap: 20px;                  /* カード間の間隔 */
    }

    .photo {
        width: auto;   				/* 元の幅のまま */
        flex: 0 0 auto;
        margin: 0 auto; 			/* 中央寄せ */
    }

    .photo img {
        width: auto;      			/* 元画像幅を維持 */
        max-width: 200px; 			/* PC表示と同じ最大幅 */
        height: auto;
        display: block;
        margin: 0 auto;   			/* 中央寄せ */
	}
}
