@charset "utf-8";

/*
/*    CSS MENU
/*

/*
*********************************************************************************
/*
/* コメントタイプ
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
中コメント */


/*------------------------------------------------------------------------------
小コメント */


/* コメント */

/*
*********************************************************************************
/*
/* body
/*
/*******************************************************************************/

body{
	background: url(../img/bg-logo.png) center center / 80% auto fixed no-repeat#ededed;
}

.inner{
	max-width: 900px;
	margin: 0 auto;
	border-left: solid 1px #dfdfdf;
	border-right: solid 1px #dfdfdf;
}

#wrapper{
	position: relative;
}
#wrapper::before{
	content:"";
	display: block;
	width: 100%;
	height: 20px;
	border-bottom: solid 1px #dfdfdf;
	position: relative;
	z-index: 2;
}

#wrapper .line_l,
#wrapper .line_c,
#wrapper .line_r{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 20px;
	width: 1px;
	height: 100%;
	background: #dfdfdf;
	z-index: 0;
	left: 5vw;
}

#wrapper .line_c{
	left: calc(50%);
}
#wrapper .line_r{
	left: auto;
	right: 5vw;
}

.inner{
	position: relative;
}

.inner .plus_tl,
.inner .plus_tc,
.inner .plus_tr,
.inner .plus_bl,
.inner .plus_bc,
.inner .plus_br{	
	position: absolute;
	z-index: 3;
	top: -8px;
	left: -8px;
}

.inner .plus_tc{
	left: calc(50% - 7px);
}
.inner .plus_tr{
	left: auto;
	right: -8px;
}

.inner .plus_bl,
.inner .plus_bc,
.inner .plus_br{
	top: auto;
	bottom: -8px;
}

.inner .plus_bc{
	left: calc(50% - 7px);
}
.inner .plus_br{
	left: auto;
	right: -8px;
}

.inner .plus_img{
	width: 16px;
}

/*
*********************************************************************************
/*
/* header
/*
/*******************************************************************************/

header .inner{
	padding: 30px 0;
	text-align: center;
}

header .logo{
	width: 90%;
	margin: 0 auto;
}

header .txt01{
	width: 130px;
	font-size: 1.3rem;
	border: solid 1px #000;
	margin: 0 auto 10px;
}

header .txt02{
	font-weight: bold;
	font-size: 2.8rem;	
}
header .txt02 span{
	font-size: 1.7rem;
	font-weight: normal;
	vertical-align: initial;
	padding: 0 5px;
}

.filter{
	backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/*
*********************************************************************************
/*
/* about
/*
/*******************************************************************************/
#about{
	margin-bottom: 40px;
}

#about .h2_wrap{
	position: relative
}
#about h2{
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	background: rgba(255,255,255,0.35);
	border-top: solid 1px #dfdfdf;
	border-bottom: solid 1px #dfdfdf;
	padding: 20px;
}

#about p{
	font-size: 1.4rem;
	line-height: 1.8;
	padding: 20px;
	border-bottom: solid 1px #dfdfdf;
}

/*
*********************************************************************************
/*
/* entry
/*
/*******************************************************************************/
#entry{
	margin-bottom: 40px;	
}

#entry .inner{
	border-left: solid 1px #ff65aa;
	border-right: solid 1px #ff65aa;
}

#entry .h2_wrap{
	position: relative
}
#entry h2{
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1;
	background: #ff65aa;
	padding: 20px;
}

#entry .content{
	padding: 20px;
	border-bottom: solid 1px #ff65aa;
	text-align: center;
}

#entry dl{
	display: block;
	max-width: 100%;
	margin: 0 auto 20px;
	border: solid 1px #000;
}

#entry dl dt,
#entry dl dd{	
	padding: 10px;
	width: 100%;
	font-size: 1.4rem;
}
#entry dl dt{
	color:#fff;
	background: #000;
	line-height: 1;
}

#entry .read_txt{
	font-size: 1.5rem;
	line-height: 1.8;
	font-weight: bold;
	margin-bottom: 15px;
}

#entry .note {
	margin-bottom: 15px;
}
#entry .note li{
	font-size: 1rem;
}

/* form_area */

#entry .form_area_wrap{
	max-width: 820px;
	margin: 0 auto;
	border: solid 1px #000;
	padding: 3px;
}

#entry .form_area{
	padding: 30px 15px 25px;
	background: #0DB7FF;
	background: linear-gradient(135deg,rgba(13, 183, 255, 0.18) 0%, rgba(251, 224, 2, 0.18) 100%);
	border: solid 1px #000;
}

#entry .only_btn .form_area {
	padding: 30px 15px;
}

#entry .form_area .labels{
	display: flex;
	align-items: center;
	max-width: 450px;
	margin: 0 auto 10px;
}

#entry .form_area .labels label{
	font-size: 1.6rem;
	font-weight: bold;
	padding: 0 10px 0 5px;
}

#entry .form_area .labels input{
	height: 45px;
	font-size: 16px;
	text-align: left;
	border: solid 1px #000;
}

#entry .form_area .note{
	font-size: 1rem;
	margin-bottom: 20px;
}

#entry .form_area .btn_area{
	max-width: 450px;
	margin: 0 auto;
	position: relative;
}

#entry .btn_area .submit{
	background: #000;
	color: #fff;
	width: 100%;
	height: 55px;
	font-size: 1.6rem;
	transition: .3s;
}

#entry .btn_area .submit_end{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	background: #aaa;
}

#entry .form_area_wrap:not(.only_btn) .btn_area:hover .submit{
	opacity: 0.8;
}

#entry .btn_area .arrow01,
#entry .btn_area .arrow02{
	position: absolute;
	z-index: 2;
	top: 50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	display: flex;
	align-items: center;
	justify-content: center;
	pointer-events: none
}

#entry .btn_area img{
	width: 14px;
	transition: .3s;
}

#entry .form_area .btn_area .arrow01{	
	position: absolute;
	left: 20%;
	transition: .3s;
}

#entry .form_area .btn_area .arrow01 img:nth-child(2){
	opacity: 0.5;
	margin-left: -5px;
}

#entry .form_area .btn_area .arrow02{	
	position: absolute;
	right: 20%;
	transition: .3s;
}

#entry .form_area .btn_area .arrow02 img:nth-child(1){
	opacity: 0.5;
	margin-right: -5px;
}



/* 投票済みボタン */
#entry .btn_area.btn_invalid {
    cursor: not-allowed;
}

#entry .btn_area.btn_invalid .submit {
    background: #aaa;
	pointer-events: none;
}

#entry .btn_area.btn_invalid:hover .submit {
    opacity: 1;
}

#entry .btn_area.btn_invalid .arrow01,
#entry .btn_area.btn_invalid .arrow02 {
    display: none;
}

/* 投票期間終了ボタン */

#entry .btn_area.btn_end .submit_end{
	background: #aaa;
	color: #fff;
	width: 100%;
	height: 75px;
	font-size: 1.7rem;
	transition: .3s;
	/*padding-top: 12px;*/
}
#entry .btn_area.btn_end .arrow01,
#entry .btn_area.btn_end .arrow02{
	display: none;
}

/*
*********************************************************************************
/*
/* footer + pagetop
/*
/*******************************************************************************/

footer {
	background: #000;
	padding: 40px 0;
	position: relative;
	z-index: 2;
}

footer .inner{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	border: none;
}

footer .awards{
	border: solid 1px #fff;
	
	order: 1;
	margin-bottom: 20px;
}
footer .awards a{
	color: #fff;
	font-size: 1.3rem;
	line-height: 1;
	text-decoration: none;
	display: block;
	padding: 10px 20px;
}

footer .awards a img{
	width: 10px;
	display: inline-block;
	margin-left: 10px;
}

footer .logos{
	order: 2;
}

footer .logos .logo01{
	width: 180px;
	margin-bottom: 20px;
}
footer .logos .logo02{
	width: 70px;
}
footer .logos small{
	color: #fff;
	font-size: 1rem;
	font-family: 'Noto Sans', sans-serif;
}




/*
*********************************************************************************
/*
/* モジュール
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
テキスト */


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
タイトル */


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
リスト */


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ボタン */


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
表 */


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
gmap */

.gmap {
	position: relative;
	overflow: hidden;
	height: 60vw;
}

.gmap iframe,
.gmap object,
.gmap embed {
	width: 100%;
	height: 100%;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
youtube */

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
フォーム
<dl class="form_layout"><dt><p><span class="form_tl"></span><span class="required">必須</span></p></dt><dd></dd></dl>
 */

input[type=text],
input[type=email],
select,
textarea {
	background: #fff;
	border: 1px solid #d4d4d4;
	width: 100%;
	font-size: 16px;
	padding: 2vw;
	border-radius: 3px;
}

input:disabled {
	background: #f7f7f7;
	border: 1px solid #cccccc;
	color: #bbb;
}

input.minitxt {
	width: 9em;
}


/*------------------------------------------------------------------------------
セレクトボックス
<div class="selectblock"><select name="pref" id="pref" class="select_style" required=""><option  value="" selected="" hidden="">選択してください</option><option value="A">A</option></select></div>
 */

.selectblock {
	position: relative;
}

select::-ms-expand {
	display: none;
}

.selectblock:before {
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	content: '';
	pointer-events: none;
	content: "";
	border: #aeaeae 1px solid;
	background: #e1e1e1;
	height: 100%;
	width: 30px;
	border-radius: 0 3px 3px 0;
	pointer-events: none;
}

.selectblock:after {
	position: absolute;
	content: "";
	position: absolute;
	top: 46%;
	right: 10px;
	-webkit-transform: translate(0, -50%) rotate(-45deg);
	transform: translate(0, -50%) rotate(-45deg);
	width: 10px;
	height: 10px;
	border-left: 2px solid #727272;
	border-bottom: 2px solid #727272;
	pointer-events: none;
}


/*------------------------------------------------------------------------------
テキストエリア
<textarea name="message"></textarea>
 */

textarea {
	height: 40vw;
	resize: vertical;
}


/*------------------------------------------------------------------------------
ラジオボタン
<ul><li class="radio_style"><label><input type="radio" name="type" value="A"><span class="radio_txt">A</span></label></li></ul>
*/

.radio_style label {
	display: inline-block;
	margin: 0 5px 0 0;
}

.radio_style input[type="radio"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.radio_style span {
	padding-left: 8vw;
	position: relative;
	display: block;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.radio_style span:before {
	content: "";
	display: block;
	border: 1px solid #dedede;
	background: #fff;
	border-radius: 50%;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.radio_style input:checked + .radio_txt:after {
	content: "";
	display: block;
	width: 2.9vw;
	height: 2.9vw;
	background: #fe4f78;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 1.1vw;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}


/*------------------------------------------------------------------------------
チェックボックス
<ul class="checkbox_style"><li><label><input type="checkbox" name="pass" value="A"><span class="checkbox_txt">A</span></label></li></ul>
 */

.checkbox_style label {
	display: inline-block;
	margin: 0 5px 0 0;
}

.checkbox_style input[type="checkbox"] {
	box-sizing: border-box;
	max-width: 100%;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	width: auto;
	margin: 0 5px 0 0;
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.checkbox_style span {
	padding-left: 8vw;
	position: relative;
	display: block;
	cursor: pointer;
	padding-right: 4vw;
	display: block;
	width: 101%;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.checkbox_style span:before {
	content: "";
	display: block;
	border: 1px solid #dedede;
	background: #fff;
	width: 5vw;
	height: 5vw;
	position: absolute;
	top: 50%;
	left: 0%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
}

.checkbox_style input:checked + .checkbox_txt:after {
	content: "";
	display: block;
	position: absolute;
	top: 0.6vw;
	left: 1.5vw;
	width: 2vw;
	height: 3.5vw;
	transform: rotate(40deg);
	border-bottom: 3px solid #fe4f78;
	border-right: 3px solid #fe4f78;
}


/*------------------------------------------------------------------------------
ラジオボタン+チェックボックスの並び
<ul class="form_narabi"><li></li></ul>
 */

.form_narabi {
	margin-top: -4vw;
}

.form_narabi li {
	display: inline-block;
	margin-top: 4vw;
}


/*------------------------------------------------------------------------------
フォームレイアウト */

.form_layout > dt {
	margin-bottom: 2vw;
}

.form_layout > dt p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.form_layout > dt .form_tl {
	font-size: 1.8rem;
}


/*------------------------------------------------------------------------------
必須 */

.form_layout .required {
	background: #fe4f78;
	color: #fff;
	font-size: 1.3rem;
	letter-spacing: 2px;
	height: 8vw;
	display: block;
	width: 8vw;
	border-radius: 50%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-left: 2vw;
	padding-left: 1px;
}


/*------------------------------------------------------------------------------
追加テキスト
<dd class="txt_tuika"><input type="text" name="A" class="minitxt"><p>万円</p></dd>
 */

.form_layout .txt_tuika {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.form_layout .txt_tuika p {
	font-size: 1.8rem;
}

.form_layout .txt_tuika input + p,
.form_layout .txt_tuika p + input {
	margin-left: 1em;
}


/*------------------------------------------------------------------------------
form_confirm
<input type="text" name="name" value="山田太郎" disabled>
 */

.form_confirm input:disabled {
	background: none;
	border: none;
	padding-left: 0 !important;
	padding-right: 0 !important;
	-webkit-text-fill-color: black;
	opacity: 1;
	color: #000;
	font-size: 1.8rem;
}

.form_confirm input.minitxt:disabled {
	width: 3em;
}

.submit_btn_reverse {
	background: #c3c3c3;
	padding: 3.5vw 9vw;
	font-size: 1.8rem;
}

.form_submit_btn_block li + li {
	margin-top: 10vw;
}

.form_confirm .form_layout .txt_tuika input + p,
.form_confirm .form_layout .txt_tuika p + input {
	margin-left: 0;
}

.form_confirm .form_layout > dd {
	padding: 1px 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
ブロック */


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
並び */


/*
*********************************************************************************
/*
/* ページ固有
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
中コメント */


/*------------------------------------------------------------------------------
小コメント */


/* コメント */