    body {
    	width: 100vw;
    	/* height: 100vh; */
    	overflow: scroll;
    	/* overflow-x: hidden; */
    	text-align: left;
    	
    }
	
	.question_link {
		display: flex;
		  justify-content: space-between;
		  align-items: center; 
		  width: 90%;
	}
	.right-align {
	  align-self: flex-end;
	}
    p {
    	margin-block-start: 0;
    	margin-block-end: 0;
    	padding: 1% 0;
    }

    .btn {
    	font-size: 17px;
    	padding: 13px 20px;
    }

    .right {
    	text-align: right;
    }

    .red {
    	color: red;
    }

    .contents {
    	height: 90%;
    	padding: 70px 3% 0 3%;
    }

    .sub_url {
    	height: 10%;
    }

    .width {
    	font-size: 25px;
    	font-weight: bold;
    }

    .question {
    	background-color: #fafafa;
    	padding: 3% 2% 5% 2%;
    	margin-bottom: 15px;
    }

    .in {
    	display: flex;
    	justify-content: space-between;
    }

    .answer {
    	display: flex;
    	justify-content: center;
    }

    .contents div.image {
    	width: 40px;
    	height: 40px;
    }

    .under {
    	display: flex;
    	align-items: flex-end;
    }
	/*
    input[type="radio" i] {
    	margin-left: 1rem;
    	margin-right: .3rem;
    }*/

	/* ラジオボタン非表示 */
	input[type="radio"] {
	    display: none;
	}

	.choice-label {
	    display: block;
	    border: 1px solid #ccc;
	    border-radius: 8px;
	    padding: 10px;
	    margin: 8px 0;
	    cursor: pointer;
	    transition: background-color 0.2s ease;
	}

	input[type="radio"]:checked + span,
	input[type="radio"]:checked + * {
	    background-color: #dff0d8;
	    display: block;
	    width: 100%;
	}

	input[type="radio"]:checked + span::before,
	input[type="radio"]:checked ~ span::before {
	    content: "";
	}

	/* この方法は label 自体に色をつけたいときにベスト */
	.choice-label input[type="radio"]:checked ~ span,
	.choice-label input[type="radio"]:checked ~ * {
	    background-color: transparent; /* デフォルトを無効化しておくと確実 */
	}

	.choice-label:has(input[type="radio"]:checked) {
	    background-color: #dff0d8;
	}
	.btn-wrapper {
	  text-align: center;
	}

	.btn.answerBtn {
	  display: inline-block;
	}
	
	td.selection_no{
		width:1rem;
	}
    @media only screen and (max-width : 750px) {
		.btn.referencebook{
			width: 50%;
			
		}
    }
	
	/* ↓ テーブル要素に flex を指定すると構造が壊れやすいので外す */
	.image {
	  /* display: flex; */
	  width: 100%;
	  box-sizing: border-box;
	  /* テーブルのデフォルト表示に戻す */
	  display: table;  
	  table-layout: auto;
	}

	/* table.image の中のセルも正しく幅を取れるようにリセット */
	.image th {
	  padding: 0;
	  border: none;
	}

	/* 画像そのものを親幅いっぱいに収める */
	.image img {
	  display: block;
	  max-width: 100%;
	  height: auto;
	  box-sizing: border-box;
	}

	.reference_book span {
	    font-size: .7rem;
	}
	
	.hide {
	    display: none;
	}