@charset "UTF-8";


:root {
  --main-color: #FF4D73;
}
main.activity {
  --main-color: #00A1FF;
}
/* !HTML5 elements
---------------------------------------------------------- */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}
/* !Reseting
---------------------------------------------------------- */

body {
	font-family: 'Noto Sans JP', 'Noto Sans Japanese', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	-webkit-font-smoothing: antialiased;
	font-size: 14px;
	-webkit-text-size-adjust: none;
	line-height: 1.6;
	color: #231815;
	margin: 0;
	/* font-feature-settings: "palt"; */
}
h1, h2, h3, h4, h5, h6
{ font-size: 100%;}
table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 100%;
}
fieldset,
img {
	border: 0;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
address,
caption,
cite,
code,
dfn,
em,
th,
var {
	font-style: normal;
}
ol,
ul {
	list-style: none;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
body * {
	padding: 0;
	margin: 0;
}
.underline{
	text-decoration:underline;
}
button{
	appearance: none;
	border: none;
	background: var(--main-color);
	color: #fff;
	font-size: 1.3em;
	font-weight: 600;
	padding: 0.9em;
	min-width: 14.2em;
	border-radius: 3.1em;
	margin: 0 auto;
	display: block;
	transition:filter .2s;
	cursor:pointer;
}
button[disabled]{
	filter:grayscale(1);
	opacity: .3 !important;
	pointer-events: none;
}
button:hover{
	filter: brightness(1.15);
}
button span.icon{
  display: inline-block;
  margin: -0.2em 0.1em -0.2em 0.5em;
  font-size: 1.2em;
  font-weight: 400;
}
button + small.addtext{
	display: block;
	text-align: center;
	margin-top: 1.4em;
	font-size: 1em;
}
button.hidden + small.addtext{
	display: none;
}
input[type="checkbox"] {
  /* デフォルトスタイルを無効化 */
  -webkit-appearance: none;
  appearance: none;
  
  /* サイズと枠線 */
  width: 1.5em;
  height: 1.5em;
  border: 2px solid #ccc;
  border-radius: 4px;
  background-color: white;
  
  /* チェックマーク表示用 */
  position: relative;
  vertical-align: middle;
  cursor: pointer;
  transition: all 0.2s;
}
.remove_button{
	margin-bottom:2em;
}
.add_button{
	margin-top: 3.8em;
}
table tr:has(.add_button):before{
	content:"";
	position: absolute;
	left: 0;
	height: 1px;
	background: #bebebe;
	width: 100%;
	top: 1em;
}
table tr:has(.hidden):before{
	display:none;
}
.thumb-placeholder{
	font-weight: 400;
	text-align:center;
	color: #9b9b9b;
	display: block;
	width: 100%;
	position: relative;
	font-size: 0.6em;
	margin-top: 1.2em;
}
input[type="checkbox"]:checked {
  background-color: #fff;
}
input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: -0.02em;
  left: 0.33em;
  width: 0.3em;
  height: 0.8em;
  border: solid var(--main-color);
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
}
input[type="radio"]:checked {
	background:url(../img/radio_checked.svg) no-repeat;
}
input[type="date"]{
	min-width: 10em;
}
input[type="date"]::-webkit-calendar-picker-indicator {
    background: url('../img/icon_carender.svg') no-repeat right center;
    background-size: .9em;
    background-position: center;
    width: 1em;
    height: 1.1em;
    cursor: pointer;
	opacity:.8;
}
input[type="date"]::-webkit-calendar-picker-indicator:hover {
    opacity: 0.5;
}

/* !Layout
---------------------------------------------------------- */

main {position: relative;width: 95%;max-width: 1000px;margin: 0 auto;background: #EDF2F5;}
.ss_contents{
	padding: 1.9em 3.572em 10em;
	min-height: calc(100svh - 7.8em);
}
.ss_contents h1.tl {font-size: 2.14em;}
.ss_contents h1.tl small {font-size: 0.74em;display: inline-block;vertical-align: top;margin: 0.1em 0 0 0.1em;}
.ss_contents .step {margin: 2.6em 0;}
.ss_contents .step h2 {font-size: 1.3em;}
.ss_contents .step ul {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0.9em 0;
	width: 99%;
	font-size: min(1em, 1.28vw);
}
.ss_contents .step ul li {
  position: relative;
  color: var(--main-color);
  background: #fff;
  border: var(--main-color) 2px solid;
  width: 10em;
  height: 10em;
  border-radius: 50%;
  font-size: 1.072em;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  text-align: center;
}
.ss_contents .step ul li:after{
	content:"";
	position: absolute;
	right: -1.9em;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	background: var(--main-color);
	width: 1em;
	height: 1.2em;
}
.ss_contents .step ul li:last-child:after{
	display:none;
}
.ss_contents .step p.step_attention {font-size: 1.16em;margin-top: 2.7em;font-weight: 600;}
.ss_contents .step p.step_attention span {background: #FF7700;color: #fff;font-size: 0.78em;font-weight: 500;padding: 0em 0.6em;margin: 0 0.3em 0.2em;border-radius: 0.5em;display: inline-block;vertical-align: middle;letter-spacing: 0.07em;}
.ss_contents .entrance ul{
	display: flex;
	margin: 12.8em 0;
	justify-content: center;
	gap: 0 5.8em;
}
.ss_contents .entrance li{
	width: 12.3em;
	height: 12.3em;
	border-radius: 50%;
	background: var(--main-color);
	text-align: center;
	font-size: 1.4em;
	transition: filter .2s;
}
.ss_contents .entrance li a{
	color: #fff;
	text-decoration: none;
	font-size: 1.12em;
	font-weight: 600;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}
.ss_contents .entrance li:hover{
	filter:brightness(1.15)
}
/*============================
#ss_header
============================*/
#ss_header {background: #000099;}
#ss_header img {width: 20.786em;}
/*============================
#input_form
============================*/
#input_form input,
#input_form select{position: relative;margin-top: 0.7em;font-size: 20px;font-size: 1.34em;padding: 0.55em 0.8em;appearance: none;border: #A8A8A8 1px solid;color: #000 !important;-webkit-tap-highlight-color: rgb(0, 0, 0);}
#input_form input[type="checkbox"]{
  margin-right: 0.6em; */
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.7em;
  font-size: 1em;
  margin-top: -0.15em;
  background: #fff;
  border-radius: 0;
  border: #A8A8A8 2px solid;
  padding: 0;
}
#input_form textarea {width: 100%;min-height: 9.6em;margin-top: 0.7em;font-size: 1.34em;padding: 0.55em 0.8em;appearance: none;border: #A8A8A8 1px solid;}
#input_form tr input.other_detail{
  min-width: 24em;
}
#input_form input[type="radio"]{
	margin-right: 0.6em;
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5em;
	font-size: 1em;
	height: 1.45em;
	width: 1.45em;
	margin-top: -0.2em;
	background: url(../img/radio.svg)no-repeat;
	background-size: cover !important;
	border: none;
	padding: 0;
	cursor: pointer;
	}

#input_form input[type="radio"]:checked {
  background: url(../img/radio_checked.svg) no-repeat;
}
.activity #input_form input[type="radio"]:checked {
  background: url(../img/radio_checked_activity.svg) no-repeat;
}
#input_form select{min-width: 14.1rem;background: #fff url(../img/arrow_select.svg) no-repeat right center;background-position-x: calc(100% - 0.65em);background-size: 0.7em;}

#input_form input::placeholder,
#input_form select::placeholder{color:rgb(0 0 0 / 40%);}
#input_form select:invalid {
  color: #A8A8A8;
}
#input_form select option {
  color: black;
}
#input_form table{width: 100%;text-align: left;margin: 2.7em 0;}
#input_form table[data-upload-team-clone]{
  margin-top: -2.4em;
  margin-bottom: 1.75em;
  position: relative;
  overflow:hidden;
  animation: fadein .6s cubic-bezier(0.41, 0.11, 0.4, 0.85);
  animation-fill-mode:forwards;
  display: block;
  padding-top: 4em;
}
#input_form table.delete_anime[data-upload-team-clone]{
	animation: fadeout .6s cubic-bezier(0.51, 0.11, 0.16, 0.86);
}
#input_form table[data-upload-team-clone]:before{
	content: "";
	position: absolute;
	left: 0;
	height: 1px;
	background: #bebebe;
	width: 100%;
	top: 0em;
}
@keyframes fadein {
  0% {
     max-height:0;
	  padding-top: 1em;
	  border-bottom:#bebebe 1px solid;
  }
  100% {
     max-height:120em;
	  padding-top: 4em;
	  border-bottom:#edf2f5 1px solid;
  }
}
@keyframes fadeout {
  0% {
     max-height:120em;
	  padding-top: 4em;
	  border-bottom:#edf2f5 1px solid;
  }
  100% {
     max-height:0;
	  padding-top: 1em;
	  border-bottom:#bebebe 1px solid;
  }
}
#input_form table[data-upload-team-clone]:before{
	content:"";
	width: 100%;
	height: 1px;
	position: absolute;
	background: #bebebe;
	top: 0em;
}
#input_form table[data-upload-team-clone]:last-child .terms{
	display:block;
}
#input_form tr {display: block;}
#input_form tr th {
  display: block;
  font-size: 1.4em;
  margin-top: 1.35em;
  font-weight: 500;
  color: var(--main-color);
}
table .team_duplicate_row{
	position:relative;
}
table .team_duplicate_row td,
table .team_video_upload_row td{
	width: 100%;
	display: inline-block;
}
#input_form tr th.margin_top{
  margin-top: 0.6em;
}
#input_form tr th.sub{
  color: #000;
  font-size: 1em;
  font-weight: 400;
}
#input_form tr td {}
#input_form span.required {background: #FF7700;color: #fff;font-size: 0.6em;font-weight: 500;padding: 0em 0.6em;margin: 0 0 0.5em 0.8em;border-radius: 0.5em;display: inline-block;vertical-align: middle;letter-spacing: 0.07em;}
#input_form .ss_rightComment {margin-left: 0.9em;}
#input_form tr .validate2 {display: inline-block;vertical-align: middle;}
#input_form tr .fullsize{width:100%;}
#input_form tr .validate2 .ss_input {display: inline-block;white-space: nowrap;vertical-align: top;}
#input_form tr .validate .ss_input label label{
  display: inline-block;
  margin-top: 0.3em;
  padding: 0.3em 0.3em 0.3em 0;
  cursor: pointer;
}
#input_form tr .validate .ss_input label label:hover{
	color:var(--main-color);
}
#input_form tr .validate .ss_input label:first-of-type label {
	margin: 0.8em 0 0;
	display: inline-block;
	line-height: 1;
}
#input_form .team_num th {display: inline-block;vertical-align: middle;color: #000;font-size: 1em;}
#input_form .team_num th span.required {margin-left: 1.2em;font-size: 0.85em;}
#input_form .team_num .validate2 .ss_input input{width: 5.4em;}
#input_form th.selected{
  background: #fff;
  display: flex;
  align-items: center;
  padding: 1.5em 1.4em;
  margin-left: 5.2em;
  margin-top: 0;
  margin-bottom: 1.4em;
  position: relative;
}
#input_form th.selected.hidden{
	display:none !important;
}
#input_form th.selected .thumbs{
  width: 4.1em;
  height: 2.3em;
  background: #d7d7d7;
}
#input_form th.selected h3{
  position: absolute;
  left: -5.9em;
  font-size: 0.9em;
  font-weight: 500;
}
#input_form th.selected .thumbs img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#input_form th.selected .filename{
  color: #000;
  font-size: 0.74em;
  margin-left: 0.9em;
  line-height: 1.35;
}
#input_form th.selected .delete{
  position: absolute;
  right: 1.5em;
  top: 1.7em;
  width: 1em;
  height: 1em;
  padding: 1em;
  background: url(../img/icon_cancel.svg) no-repeat center;
  background-size: 1em;
  cursor: pointer;
}
#input_form th.selected .delete:hover{
	opacity:.66;
}
/*============================
#zip
============================*/
#input_form #zip .validate2 .ss_input input {display: inline-block;padding: 0.55em 0.7em;}
#input_form #zip .validate2 .ss_input span.ss_leftComment {font-size: 1.4em;font-weight: 400;line-height: 3.1;margin: 0 0.2em;vertical-align: top;}
#input_form tr .validate {
  display: block;
}
#input_form .name .validate .ss_input,
#input_form .name .validate6 .ss_input{display: inline-block;vertical-align: top;}
#input_form .name .validate .ss_input span.ss_leftComment,
#input_form .name .validate6 .ss_input span.ss_leftComment{display: inline-block;min-width: 3.1em;vertical-align: top;margin-top: 1.7em;}
#input_form .name .validate .ss_input input,
#input_form .name .validate6 .ss_input input{
	width: 9.1em;
	margin: 0.7em 0.7em 0 0;
}
#input_form .name .validate6 .ss_input:last-child input{
	margin-right:0;
}
#input_form tr .ss_bottomComment {margin-top: 1.2em;font-size: 0.94em;}
#input_form .input_enquete tr .ss_bottomComment {
  margin: 1.9em 0 0.7em;
}
#input_form .input_enquete{
  overflow: hidden;
  max-height: 150em;
  transition: 1s;
  opacity: 1;
  display: block !important;
  margin-bottom: 0.8em;
}
#input_form .input_enquete.hidden{
	max-height: 0;
	transition: 1s cubic-bezier(0.03, 0.91, 0.25, 1);
	margin: 0;
	opacity: 0;
}

/*============================
#input_team
============================*/
#input_team {
	position:relative;
}
#input_team:before{
	content:"";
	width: 100%;
	height: 1px;
	position: absolute;
	background: #bebebe;
	top: -0.9em;
}
#input_form table#input_team {margin: 5.2em 0 1.8em;}
#input_team tr th small {font-size: 1em;color: #000;font-size: 0.65em;display: inline-block;vertical-align: middle;margin: 0 0 0.4em 0.8em;}

/*============================
#form-validation-field-1
============================*/
#input_team .team_num_total td#form-validation-field-1.validate2 .ss_input input{width: 5.4em;}
#input_form td .terms h3 {margin-top: 1.7em;}
#input_form .terms .ss_privacy {background: #fff;padding: 1.3em 1.7em;border: #c3c3c3 1px solid;margin: 0.8em 0 1.9em;font-size: 0.8571em;max-height: 16.5em;overflow-y: scroll;overflow-x: hidden;}
#input_form .terms .ss_privacy p{}
#input_form .terms .ss_privacy * + h4{
  margin-top: 1em;
  font-size: 1.15em;
}
#input_form .terms .ss_privacy li{
  text-indent: -1em;
  padding-left: 1em;
}
#input_form .terms .ss_privacy li a{
	word-break: break-all;
}
#input_form .terms .ss_privacy .indent1{
  padding-left: 1em;
}
#input_form .terms .ss_privacy h4.indent1{
  padding-left: 0.1em;
}
#input_form .terms .ss_privacy .indent2{
  padding-left: 2em;
  }
#input_form .terms .validate {text-align: left;margin-bottom: 4em;font-size: 1em;text-align: center;}
#input_form .terms .validate label {cursor: pointer;font-weight: 600;padding: 1em;}
#input_form .terms .validate label:hover{color: var(--main-color);}
#input_form .terms button.video_upload{
  background: var(--main-color) url(../img/icon_uploder.svg) no-repeat right center;
  background-position-x: calc(100% - 2.2em);
  background-size: 1.1em;
  text-indent: -2em;
  font-weight: 600;
}
/*============================
#input_enquete
============================*/
#input_form table#input_enquete {margin-top: 4.7em;}
/*============================
#form-validation-field-3
============================*/
#input_enquete .child_num_total td#form-validation-field-3.validate2 .ss_input .ss_bottomComment {margin: 1.8em 0 0.8em;}
#input_form .terms .validate label span.required {font-size: 0.86em;margin-bottom: 0.4em;}

/*============================
#enquete
============================*/
#input_form table#enquete {margin-top: 0;}
#enquete tr .validate .ss_input label label {margin-top: 0.2em;}
#enquete tr .validate .ss_input label label input {margin-top: -0.2em;font-size: 1.2em;}
#enquete tr .validate .ss_input textarea {width: 100%;min-height: 7em;margin-top: 0.7em;font-size: 1.34em;padding: 0.55em 0.8em;appearance: none;border: #A8A8A8 1px solid;}
#input_form button.button_submit {margin-top: 4.3em;}

/*============================
#nav_step
============================*/
#nav_step {position: fixed;bottom: 0;width: 100%;left: 50%;max-width: 1398px;transform: translateX(-50%);}
#nav_step ul {text-align: right;position: absolute;right: 0;bottom: 0.4em;margin-right: 20px;}
#nav_step ul li.current {background: var(--main-color);color: #fff;}
#nav_step ul li {
  position: relative;
  color: var(--main-color);
  background: #fff;
  border: var(--main-color) 2px solid;
  width: 12.3em;
  height: 4.15em;
  margin-bottom: 1.6em;
  border-radius: 4em;
  font-size: 0.92em;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.2;
  text-align: center;
  transition: 0.5s;
}
#nav_step ul li:after{
	content:"";
	position: absolute;
	left: 50%;
	bottom: -1.4em;
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	background: var(--main-color);
	width: 0.9em;
	height: 0.7em;
	margin-left: -.45em;
}
#nav_step ul li:last-child:after{
	display:none;
}
#footer{
	background: #000099;
	color: #fff;
	text-align: right;
	padding: 0.6em 0.8em;
}
#footer .copyright{
	font-size: 0.86em;
}
/*============================
#modal
============================*/

#modal {position: fixed;width: 100%;height: 100%;top: 0;left: 0;display: none;}
#modal .modal_bg {background: #000;opacity: 0.8;width: 100%;height: 100%;position: absolute;left: 0;top: 0;}
#modal .modal_container{position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);background: #EDF2F5;width: 96%;max-width: 1000px;}
#modal button.modal-close {background: none;width: auto;height: 1em;position: absolute;right: 0;top: -1em;padding: 0;font-size: 4em;min-width: 0;font-weight: 300;}
#modal .movie_popup {width: 96%;margin: 0 auto;max-width: 740px;padding: 5.3em 0;}
#modal .movie_popup h2 {background: var(--main-color) url(../img/icon_clip.svg) no-repeat right center;background-position-x: calc(100% - 1.1em);background-size: 1.55em;color: #fff;font-size: 1.3em;font-weight: 500;padding: 0.85em 1.2em;}
#modal .movie_popup .upload_area {background: #fff;text-align: center;display: flex;align-items: center;min-height: 11.429em;justify-content: center;flex-wrap: wrap;cursor: pointer;}
#modal .movie_popup .upload_area.is-dragover{
	border:var(--main-color) .3em dashed;
}
#modal .movie_popup .upload_area:hover p.pre-message{opacity:.5;}
#modal .movie_popup .upload_area p.pre-message {font-size: 0.93em;}
#modal .movie_popup .upload_area .selected {text-align: left;width: 82%;display: flex;align-items: center;position: relative;cursor: pointer;}
#modal .movie_popup .upload_area .selected span.thumbs {background: #dedede;width: 5.6em;height: 3.2em;margin-right: 1em;}
#modal .movie_popup .upload_area .selected span.thumbs .thumb-placeholder{
  font-size: 0.8em;
}
#modal .movie_popup .upload_area .selected span.thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

#modal .movie_popup .upload_area .selected p.filename {
  display: block;
  font-size: 1.1em;
  max-width: 21em;
  line-height: 1.35;
  word-break: break-all;
}
#modal .movie_popup .upload_area .selected span.delete {position: absolute;right: -1.4em;top: -0.4em;width: 1.4em;height: 1.4em;background: url(../img/icon_cancel.svg) no-repeat center;background-size: 1.4em;padding: 2em;}
#modal .movie_popup .upload_area .selected span.delete:hover{
	opacity:.7;
}
#modal .movie_popup .upload_area .selected .message{
  color: var(--main-color);
  font-size: 1.4em;
  font-weight: 600;
  position: absolute;
  right: 1.2em;
  text-align: right;
  top: 0.25em;
}
#modal .movie_popup .bar_progress {height: 0.55em;margin-top: -0.55em;background: #dadada;position: relative;pointer-events: none;}
#modal .movie_popup .bar_progress span {position: absolute;width: 0%;height: 100%;left: 0;top: 0;background: var(--main-color);transition: width 0.5s cubic-bezier(0.31, 0.06, 0.25, 1);}
#modal .movie_popup .notes{
  margin-top: 1.5em;
  font-size: .94em;
  line-height: 1.52;
  margin-bottom: 3em;
}
#modal .movie_popup .notes li{
  text-indent: -1em;
  padding-left: 1em;
}
#modal .movie_popup .button_area {display: flex;gap: 0 1.9em;justify-content: center;}
#modal .movie_popup .button_area button{margin:0;}
#modal .movie_popup .button_area button.btn_movie_upload {text-indent: -1.8em;background: var(--main-color) url(../img/icon_uploder.svg) no-repeat right center;background-position-x: calc(100% - 2em);background-size: 1.1em;}
#modal .movie_popup .button_area button.btn_cancel {min-width: 7.6em;}
#modal .movie_popup .button_area button.btn_complete {}
*.hidden{
	display: none !important;
}

#confirm_view,
#finish_view {
}
#confirm_view dt{
	color:var(--main-color);
	font-size: 1.45em;
	margin-bottom: 0.2em;
}
#confirm_view .confirm_row_grade{
	padding: 0;
	display: flex;
	height: 2.1em;
	align-items: center;
}
#confirm_view .confirm_row_grade dt{color: #000;font-weight: 600;font-size: 1em;}
#confirm_view dd{
	font-size:1.2em;
	margin-bottom: 0.56em;
}
#confirm_view dl:last-child dd{margin-bottom:0;}
#confirm_view .confirm_row_total dd{
	font-weight: 600;
	font-size: 1.2em;
	margin-bottom: 0em;
}
#confirm_view .confirm_row_grade dd{font-weight: 600;margin-bottom: 0.3em;}
#confirm_view h2,
#finish_view h2{
	color: #000000;
	font-size: 1.28em;
	margin: 2em 0 0em;
}
 #finish_view p{
	 font-size: 1.2em;
	 margin-top: 1.7em;
	}
#confirm_view h3{
	font-size: 1.2em;
	margin-bottom: 0.8em;
	display: none;
}
#confirm_view h4{
	font-size: 1.4em;
	margin-bottom: 0.8em;
	display:none;
}
#confirm_view h5{
	color: var(--main-color);
	font-size: 1.45em;
	margin-bottom: 0.8em;
}
.confirm_block,
.confirm_movie_item {
  border-top: 1px solid #B3B3B3;
  padding: 4em 0;
}
.confirm_team_block h4{
	background:#f0f;
	display:none;
}
.confirm_sub_block{
	border-bottom: 1px solid #B3B3B3;
	padding-bottom: 3.6em;
	margin-bottom: 3.6em;
}
.confirm_thumb,
.confirm_filename{
	display:inline-block;
	vertical-align:middle;
}
.confirm_thumb{
	width: 7em;
	height: 4.3em;
	margin-bottom: 1.5em;
}
.confirm_thumb img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.confirm_filename{
  margin-left: 1em;
}
.confirm_movie_item:first-child,
.confirm_block:first-child {
  border-top: 0;
}

.confirm_row {
  gap: 20px;
  padding: 8px 0;
}
.confirm_row dt {
  font-weight: 600;
}
.confirm_row dd {
  flex: 1;
  margin: 0;
}
.confirm_buttons,
.finish_buttons {
  display: flex;
  gap: 2em;
  margin-top: 3em;
  justify-content: center;
}
.finish_buttons{
	font-size: 1em;
	margin-top: 10vh;
}
.confirm_buttons button, .finish_buttons button{
	margin:0;
}
button#btn_back_to_input{
	color: var(--main-color);
	border: var(--main-color) 2px solid;
	background: #fff;
}

@media screen and (min-width:768px){
	.forsp{
		display:none !important;
	}
}
@media screen and (max-width:767px){
	body{
	font-size: 3.73vw;
	font-size: 14px;
	overflow-x: hidden;
	background-size: 3.25em;
	}
	.forpc{
		display:none !important;
	}
	#nav_step{
	width: 100%;
	bottom: -0.4em;
	height: 7.4em;
	left: 0;
	transform: none;
	}
	#nav_step ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  gap: 2.3vw 4.1vw;
  width: 100%;
  margin: 0;
  background: #fff;
  padding: 0.8em 0.7em 0.4em;
}
	#nav_step ul li{
  font-size: 0.7em;
  margin: 0;
  width: 28.1vw;
  border-width: 0.2em;
}
	#nav_step ul li:after{
  transform: rotate(-90deg);
  left: calc(100% + 1em);
  top: 39%;
}
	.ss_contents .step p.step_attention{
		font-size: 1.01em;
	}
	.ss_contents .entrance ul{
		margin: 6em 0;
		gap: 0 2em;
	}
	.ss_contents .entrance li{
	width: 7.7em;
	height: 7.7em;
	}
	.ss_contents{
		padding: 2.1em 1.5em 10em;
	}
	.ss_contents h1.tl{
		line-height: 1.41em;
	}
	.ss_contents .step{
		margin: 1.2em 0;
	}
	.ss_contents .step ul{
		font-size: 0.9em;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 1em 2.6em;
	}
	.ss_form{
		font-size: 1.3em;
	}
	main{
		margin-top:0;
		padding: 0;
		width:100%;
	}
	#input_form table{
		margin: 0.7em 0;
		display: block;
	}
	#input_form table#input_enquete{
		margin-top:3em;
	}
	#input_form tr{
		width: 88.7vw;
		display: block;
	}
	#input_form th.selected{
		margin-left: 0;
		padding: 1em 0.8em;
		margin-top: 0.8em;
	}
	#input_form th.selected h3{
		position: absolute;
		top: -2.1em;
		left: 0;
	}
	#input_form th.selected .delete{
		top: 1.2em;
		right: 0.6em;
	}
	#input_form th.selected .thumbs{
	width: 2.5em;
	}
	#input_form tr th{
		font-size: 1.1em;
		width: 100%;
	}
	#input_form tr th.sub{
		font-size: 0.78em;
	}
	#input_form input, #input_form select{
		font-size: 1em;
		max-width: 88vw;
		min-width: 0;
	}
	#input_form #zip .validate2 .ss_input span.ss_leftComment{
		line-height:2.3em;
	}
	#input_form select{
		min-width: 12em;
	}
	#input_form tr input.other_detail{
	   min-width: 0;
	   width: 24em;
	}
	#input_form .ss_rightComment{
		display:block;
		margin-left: 0;
		font-size: 0.72em;
		margin-top: 0.6em;
	}
	#input_form .name .validate .ss_input span.ss_leftComment, #input_form .name .validate6 .ss_input span.ss_leftComment{
		font-size: 0.7em;
		margin-right: 0em;
		width: 3.2em;
		margin-top: 1.8em;
	}
	#input_form .name .validate .ss_input input, #input_form .name .validate6 .ss_input input{
		width: 6.2em;
		margin: 0.7em 0.6em 0 0;
		vertical-align: middle;
	}
	#input_form .name .validate .ss_input:last-child input,
	#input_form .name .validate6 .ss_input:last-of-type input{
		margin-right:0;
	}
	#input_form #zip .validate2 .ss_input input + .ss_rightComment{
	position: relative;
	margin-left: -5.5em !important;
	}
	#input_form tr .ss_bottomComment{
		max-width: 27em;
		font-size: 0.72em;
		line-height: 1.45;
	}
	#input_enquete .radio_app_target .validate2 .ss_input span.ss_rightComment{
		width:1em;
		display: inline-block;
	}
	#input_team .team_num_total td#form-validation-field-1.validate2 .ss_input input{
		
	}
	#input_team .team_num_total td#form-validation-field-1.validate2 .ss_rightComment{
		display: inline;
		margin-left: 0.7em;
	}
	#input_team .team_num .validate2 .ss_input span.ss_rightComment,
	#input_form .ss_rightComment{/* width: 1em; */display: inline-block;margin-left: 0.7em;}
	#input_form input[type="date"] + .ss_rightComment{
		display: block;
		width: 100%;
		margin-left: 0;
	}
	.input_common .ss_rightComment{
		display:block !important;
		margin-left: 0 !important;
	}
	#input_form input[type="date"]{
		width: 58.9vw;
		background: #fff;
		font-size: 1em;
		appearance: none;
		min-height: 2.5em;
	}
	#input_form .team_num th{
		font-size: 0.75em;
		width: 7.2em;
	}
	#input_form .team_num .validate2 .ss_input input{
		display:inline-block;
	}
	#input_form .team_num .validate2{
		display:inline-block;
	}
	button{
		font-size: 1em;
	}
	button + small.addtext{
		font-size: 0.74em;
	}
	#confirm_view button{
	display: inline-block;
	margin-bottom: 2.4em;
	font-size: 1.1em;
	}
	#confirm_view .confirm_buttons{
		display:block;
		margin-top: 1.4em;
		text-align: center;
		margin-bottom: -3.1em;
	}
	#input_form button.button_submit{
		margin-top:3em;
	}
	#input_form .terms button.video_upload{
		font-size: 1em;
	}
	#input_form tr .validate .ss_input label label{
		font-size: 0.8em;
	}
	#input_form input[type="checkbox"],
	#input_form input[type="radio"]{
		font-size: 0.9em;
		margin-right: 0.4em;
		display: inline-block;
	}
	#enquete tr .validate .ss_input label label{
		font-size:.1em;
	}
	#enquete tr .validate .ss_input label label input{
		display:inline-block;
		font-size: 0.9em;
		margin-top: 0em;
		margin-right: 0.9em;
	}
	#input_form td .terms h3{
		font-size: 0.76em;
	}
	#input_form .terms .ss_privacy{
		padding: 1.6em 1.5em;
		width: 89vw;
		font-size: 0.65em;
	}
	#input_form .terms .validate{
		margin-bottom:2.3em;
		text-align: left;
	}
	#enquete tr .validate .ss_input label{
		display: inline-flex !important;
		align-items: center;
	}
	#enquete tr .validate .ss_input label label{
	line-height: 1.3 !important;
	font-size: 0.8em;
	align-items: start;
	}
	#input_form .terms .validate label{
		padding: 1em 0;
		white-space: nowrap;
		font-size: 0.8em;
	}
	#enquete tr .validate .ss_input textarea{
		width: 88vw;
		min-height: 7.5em;
		font-size: 16px;
	}
	#modal .movie_popup{
		width: 88%;
	}
	#modal .movie_popup .upload_area p.pre-message{
	margin-top: 4em;
	width: 94%;
	text-align: center;
	}
	#modal .movie_popup .upload_area .selected span.thumbs{
		width: 3.8em;
	}
	#modal .movie_popup .upload_area .selected p.filename{
		max-width: 11.8em;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 4; /* 行数を指定 */
		overflow: hidden;
		word-break: break-all;
	}
	#modal .movie_popup .upload_area .selected .message{
		text-align: center;
		width: 100%;
		top: 3.8em;
		left: 0;
	}
	#modal .movie_popup .upload_area{
		align-items: start;
		padding-top: 1.4em;
		justify-content: start;
		padding-left: 1.3em;
	}
	#modal .movie_popup .upload_area .selected{
  width: 93%;
}
	#footer .copyright{
		font-size: 0.75em;
		white-space: nowrap;
	}
}

@media print {
	body{
		min-width:1000px;
		background:none !important;
	}
	header{
		display:none;
	}
	main{
		margin-top:0;
		padding: 0;
		width:100%;
	}
	main *{
	     -webkit-print-color-adjust: exact;
	 }
}

