/* アンケートページ */
.page-id-52 footer,
.page-id-52 header {
    display: none;
}

/* Googleフォーム */
.google_enquete_form{
	width:100%;
	margin:auto;
}
.google_enquete_form_wrapper{
	margin:3rem 1rem;
		background:#fcf9f3;
	padding:1rem 0;
}
/* Googleフォーム */

.page-id-201,
.page-id-290{
	background-color:#521818;
}

.page-id-201 footer,
.page-id-201 footer .Wrapper,
.page-id-290 footer,
.page-id-290 footer .Wrapper{
	color:#fff;
}

.page-id-201 .footer_contact,
.page-id-290 .footer_contact{
	border: solid 1px #fff;
}

.enquete_main{
		max-width:900px;
	width:90%;
			margin:auto;
	background:#fff;
	padding:1rem;
}

.enquete_header h2{
	text-align:center;
	font-size:2rem;
	font-weight:bold;
	color:#9f0000;
}

.enquete_header{
	margin:2rem;
}

/* 個人情報 */
/* .enquete_form{
	max-width:900px;
			margin:auto 1rem;
	background:#fff;
	padding:1rem;
} */

.guestInfo_section{
	padding:1rem;
	background:#fafafa;
}

.guestInfo_block {
  margin-bottom: 20px;
}

.guestInfo_input {
  width: 100%;
  font-size: 1rem;
  border: 1px solid #ccc;
	background:#fff;
	border-radius:2px;
	padding:.3rem;
}

.guestInfo_input_select{
	  border: 1px solid #ccc;
		padding:.5rem;
		border-radius:4px;
	  background-image: linear-gradient(#ffffff, #e5dcc9);
	max-width:200px;
}

.guestInfo_item:first-child{
		background:#9f0000;
	padding:1rem;
		color:#fff;
	flex:1;
}

.guestInfo_item:last-child{
	flex:2;
}

label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}

.guestInfo_block {
  margin-bottom: 1.5em;
	display:flex;
	gap:1rem;
	align-items: center;
}

/* ラジオセレクト */
.radio_group label {
  display: inline-block;
  margin-right: 1em;
  font-weight: normal;
}

.radio_group {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.radio_item {
  position: relative;
  padding-left: 30px;
  cursor: pointer;
  user-select: none;
  font-size: 1rem;
}

.radio_item input[type="radio"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.radio_item label {
  position: relative;
  padding-left: 0;
}

/* カスタム丸アイコン */
.radio_item label::before {
  content: "";
  position: absolute;
  left: -23px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  border: 2px solid #270300;
  border-radius: 50%;
  background-color: #fff;
  transition: 0.2s;
}

/* チェックされたときの中の丸 */
.radio_item input[type="radio"]:checked + label::after {
  content: "";
  position: absolute;
  left: -19px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  background-color: #270300;
  border-radius: 50%;
}


/* 必須マーク */
.enquete_required {
  color: red;
  margin-left: 4px;
}

/* アンケート */
.enquete_section{
		padding:4rem 1rem;
}

.enquete_item:first-child{
	background-color:#ac8626;
	padding:1rem;
	color: #fff;
}

.enquete_item:last-child{
	padding:2rem 1rem;
}

.enquete_block:last-child{
	padding:2rem;
	text-align:center;
}

.submit_button{
	background:#a50000;
	color:#fff;
	padding:1rem;
	width:100%;
	max-width:300px;
}

.submit_button:hover{
	opacity:.9;
}

/* チェックボックス */
.select_group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.select_group input[type="checkbox"] {
  display: none !important;
}

.select_group label {
  position: relative;
  padding-left: 28px;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1.6;
  user-select: none;
}

/* 外枠 */
.select_group label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 18px;
  height: 18px;
  border: 1px solid #270300;
  background-color: #fff;
  border-radius: 4px;
  transition: all 0.2s ease;
}

/* チェックマーク */
.select_group input[type="checkbox"]:checked + label::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 8px;
  width: 10px;
  height: 6px;
  border-left: 2px solid #270300;
  border-bottom: 2px solid #270300;
  transform: rotate(-45deg);
}


@media screen and (max-width:768px){
	.guestInfo_block{
		    flex-direction: column;
	}
	.guestInfo_block{
		margin-bottom:2.5rem;
	}
	.guestInfo_item:first-child,.guestInfo_item:last-child{
width:100%;
}
	.enquete_section{
		padding:4rem 0rem;
}
}

/* ポリシー欄 */
.policy_wrapper{
            border-radius: 8px;
            border: 2px solid #ccc;
            padding: 1.5rem;
            margin: 16px 0;
            background-color: #fff;
/* overflow-X:scroll; */
			max-width:640px;
	width:90%;
	margin:auto;
	margin-bottom:2rem;
}

.policy_inner{
	overflow-x:scroll;
	height:280px;
	padding:0 1rem;
}

.policy_title{
		text-align:center;
}
.policy_title_sub{
	text-align:center;
	background:#e8e8e8;
	padding:.5rem;
}
.policy_wrapper h2{
	margin-bottom:1rem;
}
.policy_wrapper h3{
	font-size:1rem;
	font-weight:normal;
}