@charset "UTF-8";

* {
    -webkit-font-smoothing: antialiased!important;
	font-family: "futura-pt","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;    
}

body{
	font-family: "futura-pt","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;	
}

.survey-template div .complete {
	margin: 80px auto;
}

.survey-template.complete p {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #000000;
	margin: 45% 2% 0;
	padding-bottom: 3%;
}

.survey-template.complete.row {
	margin: 10px 0;
}

.survey-template.end p {
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	color: #000000;
	margin: 40% 2% 0;
	padding-bottom: 3%;
}

.survey-template * {
	background-color: #fff;
}

.survey-template.header {
	background-position: top center;
	background-repeat: no-repeat;
	background-color: #fff;
	background-size: cover;
}

.survey-template.header>img {
	width: 100%;
}

.survey-template .container {
	padding: 0;
}

.survey-template .cp-link {
	text-align: center;
	text-decoration: underline;
	margin-bottom: 15px;
}

.survey-template .supplementary-text,
.survey-template .cp-license {
	text-align: left;
	font-size: 13px;
	margin-top: 10px;
}

.survey-template select {
	border: 1px solid #000000;
	text-overflow: ellipsis;
}

.survey-template#container {
	background-color: #fff;
	margin: 0 auto;
}

.survey-template form#q {
	display: block;
	margin: 20px 0;
}

.survey-template.question {
	margin-bottom: 10px;
}

.survey-template .question-title {
	text-align: left;
	font-size: 13px;
	padding: 3px 8px;
}

.survey-template div .img-text {
	margin: 10px 0;
	text-align: center;
}

.survey-template div .radio {
	margin-top: 0;
	margin-bottom: 4px;
}

.survey-template div .list {
	width: 100%;
	margin: 2px 0;
	padding: 3px 0;
	height: 25px;
	text-indent: 15px;
}

.survey-template select.bda-list {
	width:30%;
	margin: 2px 1%;
	padding: 3px 0;
	height: 25px;
	text-indent: 3px;
}

.survey-template div.ma-choice {
	font-size: 13px;
	padding: 2px;
}

.survey-template div.ma-choice .checkbox {
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 15px;
}

.survey-template input[type="checkbox"] {
	margin-top: 1px;
	margin-bottom: 5px;
	width: 16px;
	height: 16px;
	vertical-align: -8px;
	background: #fff;
	border: 1px solid #aaaaaa;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}

.survey-template input[type="checkbox"]:checked {
	color: #000000;
	background: #FFFFFF;
	border: 2px solid #000000;
}

.survey-template input[type="checkbox"]:checked:before {
	content: "";
	display: block;
	position: relative;
	left: 3px;
	width: 6px;
	height: 10px;
	color: #000000;
	border-right: 3px solid;
	border-bottom: 3px solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.survey-template textarea {
	width: 100%;
	height: 65px;
}

.survey-template textarea.addchoice {
	width: 100%;
	height: 23px;
}

.survey-template textarea:focus {
	color: #000;
	border-color: #000;
	background-color: #fff;
}

.survey-template .submit-btn {
	font-size: 17px;
	font-weight: bold;
	color: #FFFFFF;
	background-color: #000000;
	border-color: #000000;
	margin-top: 15px;
	margin-bottom: 15px;
	padding: 5px;
	text-align: center;
	width: 130px;
}

.survey-template .survey-color {
	color: #000000;
	border-color: #000000;
	background-color: #FFFFFF;
}

.survey-template .survey-color.active {
	color: #fff;
	border-color: #000000;
	background-color: #FFFFFF;
}

.survey-template input[type="radio"] {
	position: relative;
	-webkit-appearance: button;
	appearance: button;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	width: 12px;
	height: 12px;
	margin: 4px 2px 0;
	content: "";
	background-color: #FFFFFF;
	border: 1px solid #999999;
	-webkit-border-radius: 12px;
	border-radius: 12px;
	-webkit-box-shadow: inset 4px 4px 10px rgba(0,0,0,0.2);
	box-shadow: inset 4px 4px 10px rgba(0,0,0,0.2);
	cursor: pointer;
}

.survey-template input[type="radio"]:checked:after {
	display: block;
	position: absolute;
	top: 2px;
	left: 2px;
	content: "";
	width: 6px;
	height: 6px;
	background: #000000;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}

.survey-template input[type="radio"]:checked {
	border-color: #000000;
	background-color: #FFFFFF;
}

.survey-template .link-contact {
	padding-bottom: 15px;
}

.survey-template#modal-content{
	top:0;
	left:0;
	width:100%;
	height:100%;
	margin:0;
	border:2px solid #aaa;
	background:#fff;
	position:fixed;
	z-index:11;
	overflow-y: auto;
	font-size: 12px;
	padding: 15px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	line-height: 150%;
	display: none;
	text-align: left;
}

.survey-template#modal-content h4 {
	text-align: center;
	margin-top: 20px;
	margin-bottom: 10px;
}

.survey-template#modal-content hr {
	border-top: 2px solid #000000;
}

.survey-template#modal-content .close-link {
	margin-top: 1em;
}

.survey-template .radio label {
	padding-left: 0;
}

.survey-template label .img-text {
	font-weight: 700;
}


.title .sub {
    font-size: 12px;
    text-align: center;
    margin-top: 3%;
    margin-bottom: 4%;
    line-height: 170%;
}

.title .subsub {
    font-size: 11px;
    opacity: 0.6;
    text-align: center;
    margin-top: 3%;
    margin-bottom: 8%;
    line-height: 170%;
    letter-spacing: -0.03rem;
}

.title .main {
    font-size: 17px;
    text-align: center;
    line-height: 172%;
    font-weight: bold;
    margin-bottom: 0%;
    margin-top: 10%;
}

#mv {
	width: 100%;
	margin: 0;
	padding: 0;
	display: block;
}

.question{
	width: 86%;
	margin: 0 auto;
	margin-top: 45px;
}

.question::before {
	content: '';
    height: 1px;
    width: 100%;
    background: #000;
    display: block;
}

.question h2{
	width: 62px;
    font-size: 20px;
    background: #fff;
    color: #000;
    margin: -14px auto 0;
    text-align: center;
}

.question h2 img{
    width: 35px;
}

.question_label{
	text-align: center;
	margin-top: 25px;
    margin-bottom: 16px;
    font-weight: bold;    
}

.form_radio input{
	opacity: 0;
    height: 20px;
    width: 20px;
    padding: 0;
    overflow: hidden;
    margin: 0;
    position: absolute;    
}

.form_radio span{
	position: relative;
}

.form_radio label{
	margin: 0;
    width: 48%;
    text-align: center;
    box-sizing: border-box;
/*     border: 1px solid #000; */
	background: #efefef;
    height: 46px;
    color: #c6c6c6;
    line-height: 46px;
    font-weight: normal;
    display: inline-block;
    cursor: pointer;
    position: relative;
    font-size: 102%;    
}

.form_radio span:last-child label{
	margin-left: 4%;
}

.form_radio input[type="radio"]:checked + label {
	color: #000;
    font-weight: bold;
    background-color: #fff;
    border: 3px solid #000;
    line-height: 40px;
}

.form_radio input[type="checkbox"]:checked + label {
	color: #000;
    font-weight: bold;
    background-color: #fff;
    border: 3px solid #000;
	line-height: 40px;
}

.form_radio input[type="checkbox"] + label{
	font-size: 102%;
	width: 100%;
}

.form_radio span input[type="checkbox"] + label {
    margin-left: 0%;
    border-top;1px solid #000;
    margin-bottom: 7px;    
}

.form_radio span:first-child input[type="checkbox"] + label {
    margin-left: 0%;
    border;1px solid #000;
    
}

.form_radio span:last-child input[type="checkbox"] + label {
    margin-left: 0%;
    border-bottom;1px solid #000;
}

.form_radio input[type="checkbox"]:checked + label::after {
	z-index: 1;
    position: absolute;
    left: 15px;
    font-size: 140%;
    top: 14px;
    width: 15px;
    height: 15px;
    content: "";
    background: url(img/check.png) no-repeat;
    background-size: contain;
    line-height: 44px;
    color: #7F878C;
    pointer-events: none;
}

.select_wrap {
    position: relative;
    width: 48%;
    display: inline-block;
}

.select_wrap::after {
    z-index: 1;
    position: absolute;
    right: 15px;
    font-size: 140%;
    top: 0;
    content: "\f107";
    font-family: "FontAwesome";
    line-height: 44px;
    color: #7F878C;
    pointer-events: none;
}

.select_wrap:first-child{
	width: 100%;
	margin-bottom: 4%;
}

.select_wrap:last-child{
	margin-bottom: 0%;
}

.select_wrap.day_wrap{
	margin-left: 4%;
}

select{
	outline: none;
    box-sizing: border-box;
    border: 2px solid #000;
    border-radius: 0;
    color: #c6c6c6;
    height: 46px;
    vertical-align: middle;    
    background: #fff;
    padding: 8px 16px;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    text-overflow: '';
}

#year , .address select , .job select{
    background: #fff;
    font-size: 15px;
    width: 100%;
}

.select_city {
    width: 100%;
}

#year {
	color: #000;
}

#youtube{
	width: 86%;
	margin: 0 auto;
	display: block;
}

#month , #day{
	display: inline-block;
	width: 100%;
}

button{
	width: 86%;
    background: #000;
    margin: 0 auto;
    display: block;
    color: #fff;
    height: 50px;
    border: none;
    margin-top: 10%;
    margin-bottom: 12%;
    outline: none;   
}

/*
.title::after {
    content: "";
    height: 7px;
    width: 86%;
    margin: 0 auto;
    display: block;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}
*/

.youtube_title{
	text-align: center;
	margin-bottom: 4%;
    margin-top: 8%;
}

.logo {
    width: 62%;
    display: block;
    margin: 0 auto;
    margin-top: 16%;
}

footer .logo{
	width: 36%;
    display: block;
    margin: 0 auto;
}

.btn_wrap::before {
    content: "";
    height: 7px;
    display: block;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    width: 86%;
    margin: 0 auto;
    margin-top: 10%;
}

#thanks{
    top: 50vh;
    position: absolute;
    margin-top: -25vh;   	
}

#present{
	top: 46vh;
    position: absolute;
    margin-top: -30vh;	
}

.monthformError , .dayformError , .prefformError, .jobsformError, .area_prefformError, .area_cityformError{
    width: 100%;
    position: relative!important;
    background: #ff002fc7;
    color: #fff;
    font-size: 11px;
    box-sizing: border-box;
    padding: 3px;
    vertical-align: middle;
    opacity: 1.0!important;
    top: 0!important;
    left: 0%!important;
	margin-top: -5px!important;
    margin-bottom: 8px;
}

.sex_01formError , .havingitem_01formError , .comingstore_01formError , .categoly_bagformError{
	width: 100%;
    position: relative!important;
    background: #ff002fc7;
    color: #fff;
    font-size: 11px;
    box-sizing: border-box;
    padding: 3px;
    vertical-align: middle;
    opacity: 1.0!important;
    left: 0%!important;
    top: 0!important;
	margin-top: -6px!important;
    margin-bottom: 10px;
}

.en{
	font-size: 116%;
}

.title .main .en{
	font-size: 140%;
}

.wei500{
	font-weight: 500;
}

.thanks , .thanks02{
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;	
}

.thanks{
	display: none;
}

.thanks p.thankyou{
	width: 100%;
    text-align: center;
    font-size: 48px;
    font-weight: bold;
    line-height: 110%;
    margin-bottom: 8%;
    letter-spacing: 0.3rem;
}

.thanks02 p.thankyou{
	width: 100%;
    text-align: center;
    font-size: 48px;
    font-weight: bold;
    line-height: 110%;
    margin-bottom: 8%;
    letter-spacing: 0.3rem;
}

.thanks .txt{
    width: 100%;
    text-align: center;
    font-size: 16px;
    margin-bottom: 10%;
}

.thanks02 .txt{
    width: 100%;
    text-align: center;
    font-size: 16px;
    margin-bottom: 10%;
}

#present .txt{
    width: 100%;
    text-align: center;
    font-size: 16px;
    margin-bottom: 7%;
}

.dvs{
	width: 54%;
    margin: 0 auto;
}

.dvs img{
	width: 100%;
}

.thanks a{
    width: 64%;
    height: 44px;
    font-size: 15px;
    color: #000;
    margin: 0 auto;
    display: block;
    text-align: center;
    border: 2px solid #000;
    line-height: 43px;
    margin-bottom: 16px;
    margin-top: 12%;
}

#present a{
    width: 64%;
    height: 44px;
    font-size: 15px;
    color: #000;
    margin: 0 auto;
    display: block;
    text-align: center;
    border: 2px solid #000;
    line-height: 43px;
    margin-bottom: 16px;
    margin-top: 10%;
}

.thankyou img{
	width: 58%;
}

.present img{
    width: 75%;
}

#thanks footer{
	position: relative;
    margin-top: 12%;
}

#thanks .main {
	margin-top: 8%;
    font-size: 89%;
}

#thanks .title::after {
    content: "";
    height: 6px;
    width: 80%;
    margin: 0 auto;
    display: block;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

#present footer{
	position: relative;
    margin-top: 12%;
}

#present .main {
	margin-top: 8%;
    font-size: 89%;
}

#present .title::after {
    content: "";
    height: 6px;
    width: 80%;
    margin: 0 auto;
    display: block;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

p.present{
	text-align: center;
}

.youtube_btm .p01{
	text-align: center;
    margin-top: 24px;
    line-height: 170%;
}
.youtube_btm .p02{
	text-align: center;
    font-size: 12px;
    line-height: 160%;
}

.youtube_btm a{
    width: 52%;
    background: #000;
    margin: 0 auto;
    display: block;
    color: #fff;
    text-align: center;
    height: 42px;
    border: none;
    margin-top: 6%;
    margin-bottom: 7%;
    outline: none;
    line-height: 42px;	
}

.youtube_btm .p03{
    font-size: 11px;
    width: 82%;
    line-height: 180%;
    margin: 0 auto;
    color: #848484;
}

#staff .thanks p.thankyou {
    width: 100%;
    text-align: center;
    font-size: 48px;
    font-weight: bold;
    line-height: 110%;
    margin-bottom: 4%;
    margin-top: 12%;
    letter-spacing: 0.3rem;
}

#staff .thanks02 p.thankyou {
    width: 100%;
    text-align: center;
    font-size: 48px;
    font-weight: bold;
    line-height: 110%;
    margin-bottom: 4%;
    margin-top: 12%;
    letter-spacing: 0.3rem;
}

#staff .thanks .txt {
    width: 100%;
    text-align: center;
    font-size: 16px;
    margin-bottom: 6%;
}

#staff .thanks .txt02 {
    width: 100%;
    line-height: 180%;
    text-align: center;
    font-size: 13px;
    margin-top: 5%;
    margin-bottom: 5%;
}


#staff .thanks02 .txt {
    width: 100%;
    text-align: center;
    font-size: 16px;
    margin-bottom: 6%;
}

#staff .alert {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
    text-align: center;
    margin-top: 4%;
}

#staff .back{
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding: 7%;
    background: #000;
    color: #fff;
    text-align: center;
    font-weight: 600;
    margin-top: 10%;
}

#staff .alert span{
    font-size: 11px;
    display: block;
    color: #ef2525;
    text-align: center;
    margin-top: 3%;
    line-height: 180%;
}

#staff .thanks a {
    width: 64%;
    height: 44px;
    font-size: 15px;
    color: #000;
    margin: 0 auto;
    display: block;
    text-align: center;
    border: 2px solid #000;
    line-height: 43px;
    margin-bottom: 16px;
    margin-top: -3%;
}

#staff .thanks02 a {
    width: 64%;
    height: 44px;
    font-size: 15px;
    color: #000;
    margin: 0 auto;
    display: block;
    text-align: center;
    border: 2px solid #000;
    line-height: 43px;
    margin-bottom: 16px;
    margin-top: -3%;
}

#store footer{
	position: relative;
    margin-top: 12%;
}

#store .main {
	margin-top: 8%;
    font-size: 89%;
}

#store .title::after {
    content: "";
    height: 6px;
    width: 80%;
    margin: 0 auto;
    display: block;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

#store .txt {
    width: 100%;
    text-align: center;
    font-size: 16px;
    line-height: 170%;
    margin-bottom: 7%;
    margin-top: 12%;
}

#store{
	top: 50vh;
    position: absolute;
    margin-top: -28vh;
}

@media screen and  ( max-width:768px) {
	

}

@media screen and  ( min-width:768px) {
#store {
    top: unset;
    position: relative;
    width: 540px;
    margin-top: -28vh;
    margin: 110px auto;
}	

#present {
    top: unset;
    position: relative;
    width: 540px;
    margin-top: -28vh;
    margin: 110px auto;
}

#thanks {
    top: unset;
    position: relative;
    width: 540px;
    margin-top: -28vh;
    margin: 110px auto;
}	

#staff {
    top: unset;
    position: relative;
    width: 540px;
    margin-top: -28vh;
    margin: 110px auto;
}	

}