@charset "utf-8";
* {
	margin: 0;
	padding: 0;
}
html,body{
 	width: 100%;
	height:100%;

}
body {
	font-size: clamp(11px, 2vw, 16px);
	text-align:left;
	_text-align: center;
	padding: 0;
	overflow: hidden;
	overflow-y: scroll;
	background: url("../img/background.png");
	color:#4c4948;
	font-weight: bold;
}
body, textarea { font-family:"游ゴシック","游ゴシック体","Yu Gothic";
	font-family: -apple-system, メイリオ ,Meiryo, sans-serif;
}
/*-----------------------------------------------------
微調整用
-----------------------------------------------------*/
.clear_b{clear:both;}

.align_l{text-align:left!important;}
.align_r{text-align: right!important;}
.align_c{text-align: center!important;}

.mgnt10{margin-top: 10px!important;}
.mgnt20{margin-top: 20px!important;}
.mgnt30{margin-top: 30px!important;}
.mgnt40{margin-top: 40px!important;}
.mgnt50{margin-top: 50px!important;}
.mgnt60{margin-top: 60px!important;}
.mgnt70{margin-top: 70px!important;}
.mgnt80{margin-top: 80px!important;}

.mgnb10{margin-bottom: 10px!important;}
.mgnb20{margin-bottom: 20px!important;}
.mgnb30{margin-bottom: 30px!important;}
.mgnb40{margin-bottom: 40px!important;}
.mgnb50{margin-bottom: 50px!important;}
.mgnb60{margin-bottom: 60px!important;}
.mgnb70{margin-bottom: 70px!important;}
.mgnb80{margin-bottom: 80px!important;}

main{
	height: auto;
}
#main{
	width:100%;
	max-width: 800px;
	margin:0 auto;
	padding-bottom:50px;
}
#contactForm label.error {
	display: block;
	margin: .3em 0 .8em 0;
	color: #d70d19;
	width:100%;
	height:1.0em;
	text-align: center;
}
input.error:invalid{
	border: red 2px solid;
	background: #ffe6de;
	box-sizing: border-box;
}
select.error:invalid{
	border: red 2px solid;
	background: #ffe6de;
	box-sizing: border-box;
}
.alert{
	text-align: center;
	background: #FADBDA;
	padding:10px;
	box-sizing: border-box;
}
/*-----------------------------------------------------
トップページ
-----------------------------------------------------*/
.top-img{
	width:100%;
}
.top-img img{
	width:100%;
}
.selection_20th{
	width:90%;
	margin: 0 auto;
	margin-top: 30px;
	margin-bottom: 30px;
}
.selection_20th img{
	width:100%;
}
section{
	padding:0 10px;
	box-sizing: border-box;
	margin-bottom:40px;
}
section .text-image{
	width:100%;
	max-width:780px;
	text-align: center;
	margin: 0 auto;
}
section .text-image img{
	width:100%;
}
section > p{
	line-height: 1.3em;
}
.cont01{
	width:100%;
}
.cont01 > h2,.cont02 > h2,.cont03 > h2,.cont04 > h2,.cont05 > h2,.cont06 > h2,.cont07 > h2,.cont09 > h2{
	width:100%;
	max-width:630px;
	text-align: center;
	background: #4c4948;
	color:#fff;
	font-size:2.5em;
	margin: 0 auto;
	margin-bottom: 30px;
	padding: 5px 10px;
	font-family: "Poppins", sans-serif;
	font-weight: 500;
	box-sizing: border-box;
}
.cont02 p{
	width:100%;
	text-align: center;
	font-size: 1.5em;
}
.cont02 article{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-top: 30px;
}
.cont02 article div{
	width:calc(98%/2);
	margin-bottom: 3%;
}
.cont02 article div:nth-child(2n){
	margin-left: 2%;
}
.cont02 article div img{
	width:100%;
}
.cont02 .p02{
	text-align: center;
	font-size: 1.3em;
}
.cont03 article{
	width:100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 30px;
	padding:40px;
	box-sizing: border-box;
	background: #eeeeef;
}
.cont03 article div{
	width: calc(97%/2);
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.cont03 article div:last-child{
	margin-left: 3%;
	align-items: center;
}
.cont03 article div h2{
	width:100%;
	border-bottom: 2px solid #4c4948;
	font-size: 2.0em;
	line-height: 1.3em;
}
.cont03 article div p{
	width:100%;
	font-size: 1.5em;
	margin-top: 20px;
	line-height: 1.4em;
}
.cont03 article div a{
	display: inline-block;
	width:80%;
	height:auto;
	max-width: 260px;
	text-align: center;
	margin-top: 40px;
	text-decoration: none;
	color:#4c4948;
}
.cont03 article div img{
	width:100%;
}
@media screen and (max-width:475px) {
	.cont03 article{
		width:100%;
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 30px;
		padding:15px;
		box-sizing: border-box;
		background: #eeeeef;
	}
	.cont03 article div{
		width: 60%;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.cont03 article div:last-child{
		width: 37%;
	}
	.cont03 article div h2 {
    font-size: 1.8em;
}
}
.cont04 p{
	margin-top: 0px;
	margin-bottom: 50px;
	font-size: 1.5em;
}
.cont04 p{
	text-align: center;
}
.cont04 dl{
	width: 100%;
	max-width:700px;
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	margin-bottom: 20px;
	font-size: 1.5em;
}
.cont04 dl dt{
	width:35%;
}
.cont04 dl dt span{
	display: inline-block;
	padding:3px 15px;
	box-sizing: border-box;
	border: 3px solid #4c4948;
	font-size: 1.0em;
	text-align: center;
	width: 100%;
	margin-top: -5px;
}
.cont04 dl dd{
	width:62%;
	margin-left: 3%;
	font-size: 1.0em;
}
.cont05 a img{
	width:100%;
}
.colorselect{
	width:100%;
	padding:40px 20px;
	box-sizing: border-box;
	background: #fff;
	margin-top: 20px;
}
.cont06 p{
	font-size: 1.5em;
	margin-top:20px;
	margin-bottom:30px;
}
.cont06 ul{
	width: 100%;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0rem;
	row-gap: 1rem;
}
.cont06 ul li {
  display: contents;
}
.cont06 ul li > div{
	grid-row: span 3;
  display: grid;
  grid-template-rows: subgrid;
  gap: 0rem;
  position: relative;
}
.cont06 ul li label{
	width:100%;
	font-size: clamp(11px, 1.5vw, 16px);
	text-align: center;
	font-family: -apple-system, メイリオ ,Meiryo, sans-serif;
	padding: 2%;
	box-sizing: border-box;
	letter-spacing: -0.1em;
}
.cont06 .spkai{
	display: none;
}
.cont06 ul li label span{
	font-size: 2.5em!important;
}
.cont06 ul li label img{
	width:100%;
}
.cont06 ul li div input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;

  margin: 0 auto;
  width: 50px;
  height: 50px;
  border: 5px solid #4c4948;
	box-sizing: border-box;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}
.cont06 ul li div input[type="checkbox"]:checked {
  background: #4c4948;
}
.cont06 ul li div input[type="checkbox"]:checked::after {
	content: "";
    display: block;
    width: 12px;
    height: 30px;
    border: solid #fff;
    border-width: 0 6px 6px 0;
    transform: rotate(45deg);
    margin: -4px 0 0 11px;
}
.cont06 ul li div input[type="checkbox"]:focus{
	outline: 2px solid #2563eb;
  outline-offset: 2px;
}
.cont06 ul li div input[type="checkbox"]:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.error {
  color: #dc2626;
  font-size: 1.3em !important;
  margin-top: 30px !important;
	margin-bottom: 0px !important;
	text-align: center;
}
.error.hidden {
  display: none;
}
.cont06 .left_right{
	display: inline-block;
	width:100%;
	margin-top: 15px;
}
.cont06 .left_right p{
	margin-top: 20px !important;
}
.cont06 .left{
	font-size: 1.0em;
	float:left;
	text-align: left;
	width:60%;
}
.cont06 .right{
	float: right;
	text-align: right;
	font-size: 1.3em;
	width:40%;
}
.cont06 .left_right .left img{
	width:100%;
	max-width:400px;
}
.cont06 select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  background: none;
  border: none;
  outline: none;
  box-shadow: none;
  border-radius: 0;

  font: inherit;
  color: inherit;
}
.cont06 select {
  border: 2px solid #4c4948;
	width:90%;
	margin: 0 auto;
	margin-top:20px;
  padding: 25px 10px;
	box-sizing: border-box;
	text-align: center;
	font-size: 2.0em;
  background-color: #fff;
  cursor: pointer;
	display: block;
	border-radius: 20px;
}
@media screen and (max-width:566px){
	.cont06 .spkai{
		display: block;
	}
}
.cont07 {
}
.cont07 p{
	text-align: left;
	font-size:1.3em;
}
p.question{
	text-align: left;
	padding-left:25%;
	box-sizing: border-box;
	display: inline-block;
	position: relative;
	width: 100%;
	margin-bottom: 20px !important;
}
p.question span{
	position: absolute;
	width:20%;
	text-align: center;
	left:0;
	color: #fff;
	background: #4c4948;
	font-family: "Poppins", sans-serif;
}
.agree_input{
	margin-top: 15px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.cont06 .agree_input{
	width:50%;
	margin: 0 auto;
	margin-top: 15px !important;
}
#agree{
	width:30px;
	height:33px;
}
.agree{
	display: flex;
	align-items: center;
	font-size: 1.5em;
	margin-left: 5px;
	xmargin-top: 10px;
}
.agree img{
	width:100%;
	max-width: 630px;
}
.cont06 .agree img{
	width:100%;
	max-width: 300px!important;
}
.cont06{
	margin-top: 50px;
}
.cont06 button {
  appearance: none;
  -webkit-appearance: none;

  background: none;
  border: none;
  padding: 0;
  margin: 0;

  font: inherit;
  color: inherit;
  text-align: inherit;

  box-shadow: none;
  border-radius: 0;
  cursor: pointer;
}
.cont06 button{
	width:100%;
	height:0px;
	text-align: center;
	background:url("../img/form_link.png") no-repeat;
	background-size: contain;
	padding-top: 18%;
	margin-top: 15px;

}
button:disabled {
	width: 100%;
  height: 0;
  background: url("../img/form_linkoff.png") no-repeat;
  background-size: contain;
  padding-top: 18%;
}
.cont08{
	margin-top: 40px;
}
.cont08 h2{
	width:100%;
	text-align: center;
	margin-bottom: -15px;
}
.cont08 h2 img{
	width:100%;
}
.cont08 ul{
	width: 100%;
	list-style-type: none;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0rem;
	row-gap: 1rem;
}
.cont08 ul li {
  display: contents;
}
.cont08 ul li > div{
	grid-row: span 3;
  display: grid;
  grid-template-rows: subgrid;
  gap: 0rem;
  position: relative;
}
.cont08 ul li label{
	width:100%;
	font-size: clamp(11px, 1.5vw, 16px);
	text-align: center;
	font-family: -apple-system, メイリオ ,Meiryo, sans-serif;
	padding: 2%;
	box-sizing: border-box;
	letter-spacing: -0.1em;
}
.cont08 ul li label span{
	font-size: 2.5em!important;
}
.cont08 ul li label img{
	width:100%;
}
.cont08 ul li input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;

  margin: 0 auto;
  width: 50px;
  height: 50px;
  border: 5px solid #4c4948;
	box-sizing: border-box;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
}
.cont08 ul li div input[type="checkbox"]:checked {
  background: #4c4948;
}
.cont08 ul li div input[type="checkbox"]:checked::after {
	content: "";
    display: block;
    width: 12px;
    height: 30px;
    border: solid #fff;
    border-width: 0 6px 6px 0;
    transform: rotate(45deg);
    margin: -4px 0 0 11px;
}
.cont08 ul li div input[type="checkbox"]:focus{
	outline: 2px solid #2563eb;
  outline-offset: 2px;
	background: #4c4948;
}
.cont08 ul li div input[type="checkbox"]:disabled {
  cursor: not-allowed;
}
.cont08 .left_right{
	display: inline-block;
	width:100%;
}
.cont08 .left_right .left img{
	width:100%;
	max-width:400px;
}
.cont08 .left_right p{
	margin-top: 20px !important;
}
.cont08 .left{
	font-size: 1.0em;
	float:left;
	text-align: left;
	width:60%;
	margin-top: 15px;
}
.cont08 .right{
	float: right;
	text-align: right;
	font-size: 1.3em;
	width:40%;
}
.cont08 .spkai{
	display: none;
}
@media screen and (max-width:566px){
	.cont08 .spkai{
		display: block;
	}
}
.correction_btn,.vote_btn{
	appearance: none;
  -webkit-appearance: none;

  background: none;
  border: none;
  padding: 0;
  margin: 0;

  font: inherit;
  color: inherit;
  text-align: inherit;

  box-shadow: none;
  border-radius: 0;
  cursor: pointer;
}
.correction_btn{
	width:100%;
	height:0px;
	text-align: center;
	background:url("../img/correction_btn.png") no-repeat;
	background-size: contain;
	padding-top: 18%;
}
.vote_btn{
	margin-top: 20px;
	width:100%;
	height:0px;
	text-align: center;
	background:url("../img/form_link.png") no-repeat;
	background-size: contain;
	padding-top: 18%;
}
.apply_btn{
	appearance: none;
  -webkit-appearance: none;

  background: none;
  border: none;
  padding: 0;
  margin: 0;

  font: inherit;
  color: inherit;
  text-align: inherit;

  box-shadow: none;
  border-radius: 0;
  cursor: pointer;
}
.apply_btn{
	width:100%;
	height:0px;
	text-align: center;
	background:url("../img/apply_btn.png") no-repeat;
	background-size: contain;
	padding-top: 18%;
}
.apply_btn:disabled {
	width:100%;
	height:0px;
	background:url("../img/apply_btnoff.png") no-repeat;
	background-size: contain;
	padding-top: 18%;
}
.cont10{
	text-align: center;
	margin-top: 40px;
}
.cont10 div{
	box-sizing: border-box;
	background: #fff;
}
.cont10 h1{
	font-size: 2.8em;
	color:#007BC6;
	margin-bottom: 20px;
	line-height: 1.4em;
}
.cont10 p{
	width:100%;
	font-size: 1.5em;
	color:#007BC6;
	line-height: 2.0em;
}
.cont10 p span{
	color:#fff;
	background: #007BC6;
	padding:5px 30px;
	box-sizing: border-box;
}
.cont11{
	width:100%;
	text-align: center;
}
.cont11 h2{
	color:#EF8340;
	font-size: 2.0em;
}
.cont11 a{
	display: inline-block;
	width: 81%;
	background: url(../img/sns_btn.png) no-repeat;
	background-size: contain;
	height: 0;
	margin-top: 15px;
	padding-top: 20.8%;
	background-position: center center;
}
.cont12 h1{
	text-align: center;
	font-size: 2.6em;
	color: #007BC6;
	margin-bottom: 30px;
}
.cont12 dl{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.cont12 dl dt{
	width:25%;
	font-size: 1.4em;
	text-align: center;
}
.cont12 dl dt span{
	display: inline-block;
	background: #4c4948;
	color:#fff;
	width:100%;
}
.cont12 dl dd{
	width:73%;
	margin-left: 2%;
	font-size: 1.3em;
}
.mailform{
	width:90%;
	margin: 0 auto;
	margin-top: 20px;
}
.mailform h2{
}
.mailform h2 img{
	width:37%;
	max-width: 290px;
}

input[type="email"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;

  border: none;
  background: none;
  box-shadow: none;
  outline: none;

  margin: 0;
  padding: 0;
  border-radius: 0;
  font: inherit;
  color: inherit;
}
.mailform input[type="email"]{
	width:100%;
	padding:15px 15px;
	box-sizing: border-box;
	border: 1px solid #4c4948;
	border-radius: 20px;
	font-size: 1.5em;
	background: #fff;
	margin-bottom: 15px;
}
.mailform input[type="email"]::placeholder{
	color:#ccc;
}
.cont13{
	text-align: center;
	margin-top: 40px;
}
.comp_img{
	width:100%;
}
.comp_img img{
	width:100%;
}
.comp_mes{
	width:100%;
	padding:35px 20px;
	background: #fff;
	box-sizing: border-box;
	margin-top: -9px;
}
.cont13 h1{
	font-size: 2.8em;
	color:#007BC6;
	margin-bottom: 20px;
	line-height: 1.4em;
}
.cont13 p{
	width:100%;
	font-size: 1.5em;
	color:#007BC6;
	line-height: 2.0em;
}
.cont13 p span{
	color:#fff;
	background: #007BC6;
	padding:5px 30px;
	box-sizing: border-box;
}
.cont13 input[type="button"]{
	appearance: none;
  -webkit-appearance: none;

  background: none;
  border: none;
  padding: 0;
  margin: 0;

  font: inherit;
  color: inherit;
  text-align: inherit;

  box-shadow: none;
  border-radius: 0;
  cursor: pointer;
}
.cont13 input[type="button"]{
	width:80%;
	margin: 0 auto;
	margin-top: 40px;
	background: #4c4948;
	padding:25px 0;
	text-align: center;
	color:#fff;
	font-size: 1.5em;
	border-radius: 20px;
}
.zoom-img {
  width: 75%;
  xcursor: pointer;
	margin: 0 auto;
	margin-top: 5px;
	margin-bottom: 10px;
}
.popup {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.8);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
.popup img {
  max-width: 90%;
  max-height: 90%;
  cursor: zoom-out; /* 閉じられる感を出す */
}
/* hidden時は絶対非表示 */
#confirmModal[hidden]{
  display:none !important;
}

/* モーダルコンテナ（固定＋最前面＋強制） */
#confirmModal{
  position:fixed;
  left:0; top:0; right:0; bottom:0;
  width:100vw;
  height:100vh;
  z-index:2147483647;

  /* iOS WebView で fixed を安定させる */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);

  /* 中央寄せ */
  display:flex;
  align-items:center;
  justify-content:center;
}

/* 背景の暗幕 */
#confirmModal .confirmModal__bg{
  position:absolute;
  left:0; top:0; right:0; bottom:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,.6);
}

/* パネル */
#confirmModal .confirmModal__panel{
  position:relative;
  z-index:1;

  background:#fff;
  padding:15px;
  box-sizing:border-box;
  border-radius:12px;
  text-align:center;

  width:90%;
  max-width:450px;

  /* “浮いてる感” */
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}

#confirmModal .confirmModal__panel p{
  font-size:14px;
  text-align:center;
}

.confirmbtn{
  display:flex;
  flex-wrap:wrap;
  width:100%;
}

.confirmbtn button{
  width:calc(98%/2);
  font-size:15px;
  padding:10px 0;
}

.confirmbtn button:last-child{
  margin-left:2%;
}
