@charset "utf-8";
/*////////////////////////////////////////////////
=Reset
////////////////////////////////////////////////*/
* {
	margin: 0;
	padding: 0
}
a {
	text-decoration : none;
	color: #333;
}
ul, ol {
	list-style : none;
}
img {
	vertical-align : middle;
}
/*////////////////////////////////////////////////
=Fluid-img
////////////////////////////////////////////////*/
img {
	max-width : 100%;
}
/*////////////////////////////////////////////////
=html body
////////////////////////////////////////////////*/
html {
	height: 100%;
}
body {
	font-size : 87.5%;/* 14px */
	font-family: 'Noto Sans Japanese', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	line-height : 1.1;
	min-height: 100%;
	display: flex;/* thanksのfooter調整 */
	flex-direction: column;/* thanksのfooter調整 */
	word-wrap: break-word;
}
/*////////////////////////////////////////////////
=Heading
////////////////////////////////////////////////*/
h1 {
	margin: 0;
}
h2 {
	font-size : 1.143em; /* 16px */
	padding: 10px;
	margin: 15px 0 0 0;
	background-color: #D6D6D6;
}
h3 {
	font-size : 1.143em; /* 16px */
	margin: 15px 0;
	line-height: 1.6em;
}
h3 .require {
	font-size: 0.786em; /* 11px */
	background-color: #C66868;
	padding: 0px 2px 2px 2px;
	color: #fff;
	border-radius: 3px;
	margin: 0 5px 0 0;
	font-weight: normal;
}
h3 span.notes {
	font-size: 0.857em; /* 12px */
	background-color: transparent;
	padding: 0;
	color: #333;
	border-radius: 0;
	margin: 0;
	font-weight: bold;
}
/*////////////////////////////////////////////////
=Header
////////////////////////////////////////////////*/
header {
	height: 100%;
}
header h1 img {
	max-width: 100%;
	margin: 0 auto;
}
.pc_main{display: none!important;}
.sp_main{display: block!important;}
/*////////////////////////////////////////////////
=input[type="email"]
////////////////////////////////////////////////*/
.form_contents input[type="email"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	border: solid 1px #ccc;
	width: 100%;
	min-height: 3.429em;
	padding: 0 0.857em;
	line-height: 2;
	background-color: #F9FAFB;
	border-radius: 0;
}
/*////////////////////////////////////////////////
=input[type="number"]
////////////////////////////////////////////////*/
.form_contents input[type="number"] {
	-webkit-appearance: none;
	appearance: textfield;
	box-sizing: border-box;
	border: solid 1px #ccc;
	width: 100%;
	min-height: 3.429em;
	padding: 0 0.857em;
	line-height: 2;
	background-color: #F9FAFB;
	border-radius: 0;
}
.form_contents .postalcode input[type="number"] {
	width: 100%;
	margin-bottom: 10px;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/*////////////////////////////////////////////////
=input[type="tel"]
////////////////////////////////////////////////*/
.form_contents input[type="tel"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	border: solid 1px #ccc;
	width: 100%;
	min-height: 3.429em;
	padding: 0 0.857em;
	line-height: 2;
	background-color: #F9FAFB;
	border-radius: 0;
}
/*////////////////////////////////////////////////
=生年月日[type="text"]時
////////////////////////////////////////////////*/
.text_birth {
	position: relative;
	display: block;
	width: 20%;
	background: #fff;
	float: left;
}
.form_contents .text_birth + p {
	line-height: 3.5!important;
}
/*////////////////////////////////////////////////
=input[type="radio"]
////////////////////////////////////////////////*/
.radio label {
	display: table;
}
.radio input[type="radio"] {
	/* 透明度0 */
	filter: alpha(opacity=0);
	/* -moz-opacity:0; */
	opacity:0;
	/* ブラウザのデフォルトのスタイルを削除 */
	-webkit-appearance: none;
	appearance: none;
	/* レイアウトから無視 */
	position: absolute;
}
.radio input[type="radio"]:focus + span::before {
	border: 1px solid #dd4f3f;
}
.radio span {
	position: relative;
	display: inline-block;
	padding: 10px 0px 10px 30px;
	cursor: pointer;
}
.radio span::before, .radio span::after {
	position: absolute;
	content: '';
	top: 50%;
	border-radius: 100%;
	-webkit-transition: all .2s;
	transition: all .2s;
}
.radio span::before {
	left: 0;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: #f3f3f3;
	border: 1px solid #ccc;
}
.radio span:hover::before {
	background: #fff;
}
.radio span::after {
	opacity: 0;
	left: 4px;
	width: 14px;
	height: 14px;
	margin-top: -6px;
	background: #dd4f3f;
	-webkit-transform: scale(2);
	transform: scale(2);
}
.radio input[type="radio"]:checked + span::before {
	background: #fff;
	border: 1px solid #dd4f3f;
}
.radio input[type="radio"]:checked + span::after {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
}
/*////////////////////////////////////////////////
=input[type="checkbox"]
////////////////////////////////////////////////*/
.check label {
	display: table;
}
.check input[type="checkbox"] {
	/* 透明度0 */
	filter: alpha(opacity=0);
	/* -moz-opacity:0; */
	opacity:0;
	/* ブラウザのデフォルトのスタイルを削除 */
	-webkit-appearance: none;
	appearance: none;
	/* レイアウトから無視 */
	position: absolute;
}
.check input[type="checkbox"]:focus + span::before {
	border: 1px solid #dd4f3f;
}
.check span {
	position: relative;
	display: inline-block;
	padding: 10px 0px 10px 30px;
	cursor: pointer;
}
.check span::before {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	left: 0;
	width: 20px;
	height: 20px;
	margin: auto;
	background: #fff;
	border: 1px solid #ccc;
}
.check input[type="checkbox"]:checked + span::after {
	position: absolute;
	content: '';
	top: -5px;
	bottom: 0;
	left: 2px;
	width: 16px;
	height: 5px;
	margin: auto;
	border-left: 2px solid #dd4f3f;
	border-bottom: 2px solid #dd4f3f;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.check02 input[type="checkbox"]:checked + span::after {
	top: -5px;
}
/*////////////////////////////////////////////////
=select
////////////////////////////////////////////////*/
.selectLabel {
	position: relative;
	display: block;
	width: 50%;
	border: 1px solid #ccc;
	background: #fff;
}
.selectLabel:before {
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	display: block;
	width: 0;
	height: 0;
	margin: -2px 0 0 0;
	border: 5px solid transparent;
	border-top: 7px solid #ccc;
	z-index: 1;
	pointer-events: none;
}
select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	width: 100%;
	background-color: #F9FAFB;
	cursor: pointer;
	position: relative;
	display: block;
	padding: 0.857em;
	border: none;
}
select::-ms-expand {
 display: none;
}
/*////////////////////////////////////////////////
=button
////////////////////////////////////////////////*/
.close input[type="button"] {
	font-size: 1.143em;
	padding: 0.1em 2.0em;
	background: #444444;
	border: 1px solid #ccc;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	line-height: 50px;
}
.close input[type="button"]:hover {
	background: #333333;
}
/*////////////////////////////////////////////////
=Contents
////////////////////////////////////////////////*/
#contents {
	width : 100%;
	margin: 10px auto 40px auto;
}
.form_contents {
	width : 95%;
	margin : 0 auto;
	overflow: hidden;
}
.form_contents .attention {
	margin: 15px 0 0 0;
}
.form_contents div {
	overflow: hidden;
	margin: 0 0 5px 0;
}
.form_contents img {
	margin: 0 0 10px 0;
}
.form_contents input[type="text"],
.form_contents input[type="password"], textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	box-sizing: border-box;
	border: solid 1px #ccc;
	width: 100%;
	min-height: 3.429em;
	padding: 0 0.857em;
	line-height: 2;
	background-color: #F9FAFB;
	border-radius: 0;
}
.form_contents button {
	font-size : 1.143em; /* 16px */
	padding: 5px 10px;
}
.form_contents .form_birth .selectLabel {
	width: 24%;
	float: left;
}
.form_contents .form_birth select {
	width: 100%;
}
.form_contents .form_birth p {
	width: 8%;
	float: left;
	line-height: 3;
	text-align: center;
}
.form_contents .form_birth p:first-child {
	text-align: left;
}
.form_contents .form_name p {
	float: left;
	line-height: 3;
	margin: 0 3% 0 0;
	width: 10%;
}
.form_contents .form_name input {
	width : 85%;
	float: left;
}
.form_contents .form_gender label {
	margin: 0 20px 0 0;
    display: inline;
}
.form_contents #file {
	display: block;
	position: relative;
}
.form_contents #file .pc, hr {
	display: none;
}
.form_contents .image {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	cursor: pointer;
}
.form_contents #filenameArea {
	margin: 10px 0 0 0;
}
.form_contents .message {
	text-align: right;
	margin: 5px 0;
}
.form_contents .message2 {
	text-align: right;
	margin: 5px 0;
	margin-right: -9px;
}
.entry_thanks {
	margin: 25px auto 40px auto !important;
	flex-grow: 1;/* thanksのfooter調整 */
}
/*////////////////////////////////////////////////
=写真追加ボタン
////////////////////////////////////////////////*/
button.add {
	width: 90%;
	display: block;
	margin: 5% auto 8%;
	color: #fff;
	font-weight: bold;
	background-color: #d9d9d9;
	border: none;
	letter-spacing: 0.05em;
	border-radius: 5px;
	font-size: 20px;
}
button.add:hover {
	background-color: #d1d1d1;
}
button.add:first-letter {
	margin-right: 2px;
	text-shadow:
        #fff 0.5px 0.5px 0, #fff -0.5px -0.5px 0,/*右下、左上*/
        #fff -0.5px 0.5px 0, #fff 0.5px -0.5px 0,/*右上、左下*/
        #fff 0px 0.5px 0, #fff  0 -0.5px 0,/*右、左*/
        #fff -0.5px 0 0, #fff 0.5px 0 0;/*上、下*/
}
/*////////////////////////////////////////////////
=応募完了ページテキスト
////////////////////////////////////////////////*/
.comp_msg {
	margin: 0 auto 5%!important;
	padding: 5%;
	font-size: 1.150em;
	background-color: #F9FAFB;
	border: solid 1px #ccc;
	box-sizing: border-box;
}
/* 初期化 */
.comp_msg * {
	animation-name: none;
	animation-duration: 0s;
	animation-timing-function: ease;
	animation-delay: 0s;
	animation-iteration-count: 1;
	animation-direction: normal;
	animation-fill-mode: none;
	backface-visibility: visible;
	background-attachment: scroll;
	background-clip: border-box;
	background-color: transparent;
	background-image: none;
	background-origin: padding-box;
	background-position: 0 0;
	background-repeat: repeat;
	background-size: auto auto;
	border-bottom: 0;
	border-bottom-color: currentColor;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom-style: none;
	border-bottom-width: medium;
	border-collapse: separate;
	border-color: currentColor;
	border-image: none;
	border-left: 0;
	border-left-color: currentColor;
	border-left-style: none;
	border-left-width: medium;
	border-radius: 0;
	border-right: 0;
	border-right-color: currentColor;
	border-right-style: none;
	border-right-width: medium;
	border-style: none;
	border-spacing: 0;
	border-top: 0;
	border-top-color: currentColor;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-top-style: none;
	border-top-width: medium;
	border-width: medium;
	bottom: auto;
	box-shadow: none;
	box-sizing: content-box;
	caption-side: top;
	clip: auto;
	clear: none;
	column-fill: balance;
	column-count: auto;
	column-gap: normal;
	column-rule-color: currentColor;
	column-rule-style: none;
	column-rule-width: none;
	column-span: none;
	column-width: auto;
	content: normal;
	counter-increment: none;
	counter-reset: none;
	cursor: auto;
	direction: itr;
	display: inline;
	empty-cells: show;
	float: none;
	font-size: medium;
	font-size-adjust: none;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	height: auto;
	hyphens: manual;
	left: auto;
	letter-spacing: normal;
	line-height: normal;
	list-style-image: none;
	list-style-position: outside;
	/* list-style-type: disc; */
	margin: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	margin-top: 0;
	max-height: none;
	max-width: none;
	min-height: 0;
	min-width: 0;
	opacity: 1.0;
	orphans: 2;
	outline-color: invert;
	outline-offset: 0;
	outline-style: none;
	outline-width: medium;
	overflow: visible;
	overflow-x: visible;
	overflow-y: visible;
	padding: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	page-break-after: auto;
	page-break-before: auto;
	page-break-inside: auto;
	perspective: none;
	perspective-origin: 50% 50%;
	position: static;
	resize: none;
	right: auto;
	table-layout: auto;
	tab-size: 8;
	text-align: start;
	text-align-last: auto;
	text-decoration-color: currentColor;
	text-decoration-line: none;
	text-decoration-style: solid;
	text-indent: 0;
	text-overflow: clip;
	text-rendering: auto;
	text-shadow: none;
	text-transform: none;
	top: auto;
	transform: none;
	transform-origin: 50% 50% 0;
	transform-style: flat;
	transition-delay: 0s;
	transition-duration: 0s;
	transition-property: all;
	transition-timing-function: ease;
	unicode-bidi: normal;
	vertical-align: baseline;
	visibility: visible;
	white-space: normal;
	widows: 2;
	width: auto;
	word-break: normal;
	word-spacing: normal;
	word-wrap: normal;
	z-index: auto;
	/* all: initial; */
}
.comp_msg h1 {
	display: block;
	font-size: 2em;
	margin-top: 0.67em;
	margin-bottom: 0.67em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.comp_msg h2 {
	display: block;
	font-size: 1.5em;
	margin-top: 0.83em;
	margin-bottom: 0.83em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.comp_msg h3 {
	display: block;
	font-size: 1.17em;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.comp_msg h3 span {
	display: block;
	font-size: 1.000em;
	background-color: initial;
	padding: 0;
	color: #000;
	border-radius: 0;
	margin: 0;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.comp_msg h4 {
	display: block;
	margin-top: 1.33em;
	margin-bottom: 1.33em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.comp_msg h5 {
	display: block;
	font-size: 0.83em;
	margin-top: 1.67em;
	margin-bottom: 1.67em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.comp_msg h6 {
	display: block;
	font-size: 0.67em;
	margin-top: 2.33em;
	margin-bottom: 2.33em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.comp_msg p {
	display: block;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0px;
	margin-right: 0px;
}
.comp_msg a {
	color: #04c;
	cursor: pointer;
	text-decoration: underline;
}
.comp_msg ul, menu, dir {
	display: block;
	list-style-type: disc;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0px;
	margin-right: 0px;
	padding-left: 40px;
}
.comp_msg ol {
	display: block;
	list-style-type: decimal;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0px;
	margin-right: 0px;
	padding-left: 40px;
}
.comp_msg li {
	display: list-item;
	text-align: match-parent;
}
.comp_msg table {
	display: table;
	border-collapse: separate;
	border-spacing: 2px;
	border-color: grey;
}
.comp_msg caption {
	display: table-caption;
	text-align: center;
}
.comp_msg thead {
	display: table-header-group;
	vertical-align: middle;
	border-color: inherit;
}
.comp_msg tbody {
	display: table-row-group;
	vertical-align: middle;
	border-color: inherit;
}
.comp_msg tr {
	display: table-row;
	vertical-align: inherit;
	border-color: inherit;
}
.comp_msg td, th {
	display: table-cell;
	vertical-align: inherit;
}
.comp_msg tt, code, kbd, samp {
	font-family: monospace;
}
.comp_msg blockquote {
	display: block;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 40px;
	margin-right: 40px;
}
.comp_msg hr {
	display: block;
	unicode-bidi: isolate;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	border-style: inset;
	border-width: 1px;
}
.comp_msg big {
	font-size: larger;
}
.comp_msg s, strike, del {
	text-decoration: line-through;
}
.comp_msg i, cite, em, var, address, dfn {
	font-style: italic!important;
}
.comp_msg u, ins {
	text-decoration: underline;
}
/*////////////////////////////////////////////////
=essential
////////////////////////////////////////////////*/
.essential {
	width: 92%;
	margin: 0px auto;
	height: 200px;
	overflow-y: scroll;
	border: 1px solid #d9d9d9;
	padding: 0% 3% 4% 3%;
	box-sizing: border-box;
}
/* 初期化 */
.essential * {
	animation-name: none;
	animation-duration: 0s;
	animation-timing-function: ease;
	animation-delay: 0s;
	animation-iteration-count: 1;
	animation-direction: normal;
	animation-fill-mode: none;
	backface-visibility: visible;
	background-attachment: scroll;
	background-clip: border-box;
	background-color: transparent;
	background-image: none;
	background-origin: padding-box;
	background-position: 0 0;
	background-repeat: repeat;
	background-size: auto auto;
	border-bottom: 0;
	border-bottom-color: currentColor;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom-style: none;
	border-bottom-width: medium;
	border-collapse: separate;
	border-color: currentColor;
	border-image: none;
	border-left: 0;
	border-left-color: currentColor;
	border-left-style: none;
	border-left-width: medium;
	border-radius: 0;
	border-right: 0;
	border-right-color: currentColor;
	border-right-style: none;
	border-right-width: medium;
	border-style: none;
	border-spacing: 0;
	border-top: 0;
	border-top-color: currentColor;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-top-style: none;
	border-top-width: medium;
	border-width: medium;
	bottom: auto;
	box-shadow: none;
	box-sizing: content-box;
	caption-side: top;
	clip: auto;
	clear: none;
	column-fill: balance;
	column-count: auto;
	column-gap: normal;
	column-rule-color: currentColor;
	column-rule-style: none;
	column-rule-width: none;
	column-span: none;
	column-width: auto;
	content: normal;
	counter-increment: none;
	counter-reset: none;
	cursor: auto;
	direction: itr;
	display: inline;
	empty-cells: show;
	float: none;
	font-size: medium;
	font-size-adjust: none;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	height: auto;
	hyphens: manual;
	left: auto;
	letter-spacing: normal;
	line-height: normal;
	list-style-image: none;
	list-style-position: outside;
	/*list-style-type: disc;*/
	margin: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	margin-top: 0;
	max-height: none;
	max-width: none;
	min-height: 0;
	min-width: 0;
	opacity: 1.0;
	orphans: 2;
	outline-color: invert;
	outline-offset: 0;
	outline-style: none;
	outline-width: medium;
	overflow: visible;
	overflow-x: visible;
	overflow-y: visible;
	padding: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	padding-top: 0;
	page-break-after: auto;
	page-break-before: auto;
	page-break-inside: auto;
	perspective: none;
	perspective-origin: 50% 50%;
	position: static;
	resize: none;
	right: auto;
	table-layout: auto;
	tab-size: 8;
	text-align: start;
	text-align-last: auto;
	text-decoration-color: currentColor;
	text-decoration-line: none;
	text-decoration-style: solid;
	text-indent: 0;
	text-overflow: clip;
	text-rendering: auto;
	text-shadow: none;
	text-transform: none;
	top: auto;
	transform: none;
	transform-origin: 50% 50% 0;
	transform-style: flat;
	transition-delay: 0s;
	transition-duration: 0s;
	transition-property: all;
	transition-timing-function: ease;
	unicode-bidi: normal;
	vertical-align: baseline;
	visibility: visible;
	white-space: normal;
	widows: 2;
	width: auto;
	word-break: normal;
	word-spacing: normal;
	word-wrap: normal;
	z-index: auto;
	/* all: initial; */
}
.essential h1 {
	display: block;
	font-size: 2em;
	margin-top: 0.67em;
	margin-bottom: 0.67em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.essential h2 {
	display: block;
	font-size: 1.5em;
	margin-top: 0.83em;
	margin-bottom: 0.83em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.essential h3 {
	display: block;
	font-size: 1.17em;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.essential h3 span {
	display: block;
	font-size: 1.000em;
	background-color: initial;
	padding: 0;
	color: #000;
	border-radius: 0;
	margin: 0;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.essential h4 {
	display: block;
	margin-top: 1.33em;
	margin-bottom: 1.33em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.essential h5 {
	display: block;
	font-size: 0.83em;
	margin-top: 1.67em;
	margin-bottom: 1.67em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.essential h6 {
	display: block;
	font-size: 0.67em;
	margin-top: 2.33em;
	margin-bottom: 2.33em;
	margin-left: 0px;
	margin-right: 0px;
	font-weight: bold;
}
.essential p {
	display: block;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0px;
	margin-right: 0px;
}
.essential a {
	color: #04c;
	cursor: pointer;
	text-decoration: underline;
}
.essential ul, menu, dir {
	display: block;
	list-style-type: disc;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0px;
	margin-right: 0px;
	padding-left: 40px;
}
.essential ol {
	display: block;
	list-style-type: decimal;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 0px;
	margin-right: 0px;
	padding-left: 40px;
}
.essential li {
	display: list-item;
	text-align: match-parent;
}
.essential table {
	display: table;
	border-collapse: separate;
	border-spacing: 2px;
	border-color: grey;
}
.essential caption {
	display: table-caption;
	text-align: center;
}
.essential thead {
	display: table-header-group;
	vertical-align: middle;
	border-color: inherit;
}
.essential tbody {
	display: table-row-group;
	vertical-align: middle;
	border-color: inherit;
}
.essential tr {
	display: table-row;
	vertical-align: inherit;
	border-color: inherit;
}
.essential td, th {
	display: table-cell;
	vertical-align: inherit;
}
.essential tt, code, kbd, samp {
	font-family: monospace;
}
.essential blockquote {
	display: block;
	margin-top: 1em;
	margin-bottom: 1em;
	margin-left: 40px;
	margin-right: 40px;
}
.essential hr {
	display: block;
	unicode-bidi: isolate;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	border-style: inset;
	border-width: 1px;
}
.essential big {
	font-size: larger;
}
.essential s, strike, del {
	text-decoration: line-through;
}
.essential i, cite, em, var, address, dfn {
	font-style: italic!important;
}
.essential u, ins {
	text-decoration: underline;
}
.essential strong {
	font-weight: bold;
}
.entry_index {
	flex-grow: 1;/* thanksのfooter調整 */
}
/*////////////////////////////////////////////////
=404 NOT FOUND エラーページ
////////////////////////////////////////////////*/
.nf_msg {
	margin: 0 auto 5%!important;
	padding: 3% 5% 5% 5%;
	font-size: 1.150em;
	background-color: #fff;
	border: solid 1px #ccc;
	box-sizing: border-box;
	text-align: center;
}
.nf_msg h2 {
	background-color: transparent;
	text-align: center;
	color: #cc0000;
	margin: 0 auto 0;
	display: inline-block;
	width: 100%;
	box-sizing: border-box;
}
.nf_msg h3 {
	font-size: 1.100em;
	text-align: left;
	margin: 0 auto 0.5em;
	display: inline-block;
}
.nf_msg p {
	font-size: 0.9em;
	text-align: left;
	margin: 0 auto 35px;
	display: inline-block;
}
/*////////////////////////////////////////////////
=エラーメッセージ
////////////////////////////////////////////////*/
.error-message {
	font-size: 1.071em;
	color: #dd4f3f;
	font-weight: bold;
}
.error-message + div textarea, .error-message + div input, .error-message + div .selectLabel, .error-message + div input {
	border: solid 2px #990101 !important;
	background-color: #FFF4F4 !important;
}
.error-message + div+ div input {
	border: solid 2px #990101 !important;
	background-color: #FFF4F4 !important;
}
.error-message + div select {
	background-color: #FFF4F4 !important;
}
.error-message.all {
  margin: 20px 0 0 0;
}
/*////////////////////////////////////////////////
=Footer
////////////////////////////////////////////////*/
footer {
	width: auto;
	margin: 20px auto 40px auto;
	padding: 0;
}
footer p {
	font-family: 'Noto Sans Japanese', -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI", "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
	text-align: center;
	font-size: 12px;
	color: #ccc;
	line-height: 1.6em;
    margin: 0;
    padding: 0 10px;
    border: 0;
    font-style: normal;
    font-weight: normal;
    vertical-align: baseline;
    outline: none;
}
footer p a {
	font-size: 14px;
	color: #36C;
	-webkit-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
	-ms-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
	-moz-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
	-o-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
}
footer p a:hover {
	color: #39F;
}
/*////////////////////////////////////////////////
=ボタン
////////////////////////////////////////////////*/
.btn_area {
	width: 95%;
	margin: 10px auto;
	text-align: center;
}
.thanks_btn_area {
	width: 50%;
	margin: 10px auto;
	text-align: center;
}
.btn {
	overflow: hidden;
	height: 50px;
	display: block;
	position: relative;
	z-index: 100;
	text-align: center;
	color: #fff;
	font-weight: bold;
	line-height: 50px;
	text-decoration: none;
	border: 1px solid #ccc;
}
.btn:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 20%;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 5px solid transparent;
	border-left: 5px solid #fff;
}
.btn.left:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 19%;
	width: 0;
	height: 0;
	margin-top: -5px;
	border: 5px solid transparent;
	border-right: 5px solid #fff;
}
.thanks_btn {
	overflow: hidden;
	height: 50px;
	display: block;
	position: relative;
	z-index: 100;
	text-align: center;
	line-height: 50px;
	text-decoration: none;
	border: 1px solid #b2b2b2;
}
.thanks_btn a {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
}
.thanks_btn:hover {
	border: 1px solid #cccccc;
}
.thanks_btn_area a {
	color: #333;
}
.thanks_btn_area a:hover {
	color: #8d8d99;
}
.red {
	background: #CC0000;
}
.red:hover {
	background: #BA0000;
}
.gray {
	background: #444444;
}
.gray:hover {
	background: #333;
}
.btn_droparea {
	box-sizing: border-box;
	background: -moz-linear-gradient(top, #FFF 0%, #EEE);
	background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#EEE));
	background: linear-gradient(to bottom, #FFF, #EEE);
	border: 2px solid #ccc;
	color: #111;
	width: 100%;
	padding: 10px 0;
	margin: 0 auto;
	text-align: center;
	font-weight: bold;
}
.btn_droparea span {
	background-image: url("../../img/front/droparea.png");
	background-repeat: no-repeat;
	padding: 2px 0 2px 40px;
}
.return {
	text-align: center;
	margin: 30px auto;
}
.return a {
	color: #333333;
	border-bottom: 1px solid #333333;
}
.return a:hover, .return a:active {
	border-bottom: none;
}
/*////////////////////////////////////////////////
=ログイン
////////////////////////////////////////////////*/
.form_contents .login_area {
	margin: 15% auto;
}
.form_contents .login_area div {
	text-align: center;
}
.form_contents .input_id {
	margin: 5% auto 8%;
}
.form_contents .input_id p {
	float: left;
	line-height: 2.6em;
	margin: 0 5% 0 0;
	width: 13%;
	text-align: right;
	color: #09b1f0;
	font-weight: bold;
}
.form_contents .input_id input {
	width : 75%;
	float: left;
	min-height: 2.6em!important;
}
.form_contents .input_pass {
	margin: 8% auto 5%;
}
.form_contents .input_pass p {
	float: left;
	line-height: 2.6em;
	margin: 0 5% 0 0;
	width: 13%;
	text-align: right;
	color: #09b1f0;
	font-weight: bold;
}
.form_contents .input_pass input {
	width : 75%;
	float: left;
	min-height: 2.6em;
}
/*////////////////////////////////////////////////
=アンケート日時[type="text"]時
////////////////////////////////////////////////*/
.calendar_birth {
	position: relative;
	display: block;
	width: 45%;
	background: #fff;
	float: left;
	box-sizing: border-box;
}
.form_contents .form_birth .calendar_birth input {
	width: 70%;
	padding: 0.857em;
	min-height: 0;
	line-height: inherit;
}
.form_contents .form_birth .calendar_time .selectLabel {
	width: 35%;
}
.form_contents .form_birth .calendar_time p {
	margin: 0 3px;
}
img.ui-datepicker-trigger{
	cursor: pointer;
	margin:0;
	margin-left: 4px!important;
	margin-top: -3px!important;
	vertical-align: middle;
}
/*////////////////////////////////////////////////
=ckeditorのスタイルをフロントに適応
////////////////////////////////////////////////*/
.form_contents ul, footer ul{
    list-style: inside;
}
.form_contents ol, footer ol{
list-style: auto;
padding-left:1.1em;
}
.form_contents blockquote, footer blockquote{
padding-left:20px;
padding-right:8px;
border-left:5px solid #ccc;
font-style: italic;
font-family: Georgia, Times, "Times New Roman", serif;
}
.form_contents a, footer a{
text-decoration: underline;
color: #0782C1;
}
@media all and (-ms-high-contrast: none) {
body {
	position: relative;
}
#contents {
	width: 100%;
	height: auto !important; /*IE6対策*/
	height: 100%; /*IE6対策*/
	min-height: 100%;
	padding-bottom: 60px;
}
footer {
	position: absolute;
	bottom: 0;
	width: 100%;
}
}
/*////////////////////////////////////////////////
=タブレット（min-width : 768px）
////////////////////////////////////////////////*/
@media screen and (min-width : 768px) {
body {
	font-size : 87.5%;
}
#contents {
	overflow : hidden;
	width : 80%;
}
.pc_main{display: block!important;}
.sp_main{display: none!important;}
.btn_contents {
	margin: 0 auto;
	width: 95%;
	overflow: hidden;
}
.btn_contents_single {
	margin: 0 auto;
	width: 60%;
	overflow: hidden;
}
.btn_contents .btn_area {
	width: 40%;
}
.thanks_btn_contents {
	margin: 0 auto;
	width: 90%;
	overflow: hidden;
}
.thanks_btn_contents .thanks_btn_area {
	float: center;
	width: 30%;
}
.return {
	height: 30px;
	margin: 50px 0 0 0;
}
.form_contents #file {
	box-sizing: border-box;
	display: block;
	width: 100%;
	border: solid 1px #ccc;
	background: #fff;
	text-align: center;
	position: relative;
	padding: 10px;
}
.form_contents #file:hover {
	opacity: 0.7;
}
.form_contents #file .pc {
	font-size: 1.286em; /* 18px */
	font-weight: bold;
	color: #ccc;
	padding: 20px;
	display: block;
}
.form_contents #file hr {
	display: block;
	border: none;
	border-top: dashed 3px #ccc;
	height: 1px;
	color: #FFFFFF;
	width: 90%;
	margin: 0 auto;
}
.form_contents #filenameArea {
	margin: 10px 0 10px 0;
}
.error-message + div #file {
	border: solid 2px #990101 !important;
	background-color: #FFF4F4 !important;
}
.form_contents img {
	margin: 0 auto !important;
	display: block;
}
.form_contents img + #file {
	border: none !important;
	background-color: #fff !important;
}
.form_contents img + #file .pc, .form_contents img + #file hr {
	display: none !important;
}
button.add {
	width: 95%;
	padding: 8px 0 7px 0;
	font-size: 22px;
}
.btn_droparea {
	width: 40%;
}
.form_contents .postalcode input[type="number"] {
	width: 45%;
	margin-bottom: 0px;
	margin-right: 10px;
}
.comp_msg {
	text-align: left;
	font-size: 1.143em;
	padding: 60px;
	background-color: #F9FAFB;
	border: solid 1px #ccc;
}
.nf_msg {
	padding: 4% 5% 5% 5%;
	font-size: 1.143em;
}
.nf_msg h2 {
	font-size: 1.400em;
	padding: 0;
}
.nf_msg h3 {
	font-size: 1.500em;
	margin: 0 auto 1.0em;
	padding: 0;
}
.nf_msg p {
	font-size: 1.000em;
	padding: 0;
	margin: 0 auto 1em;
}
.entry_thanks .btn_area:first-child {
	float: none;
	margin: 0 auto;
}
footer {
	margin: 50px auto;
	overflow: hidden;
 *zoom: 1;
}
footer p {
	font-size: 14px;
	text-align: center;
}
footer p span{
	font-size: 10px;
}
.fl {float: left!important;}
.fr {float: right!important;}
.clear_fix {clear: both;}
/*////////////////////////////////////////////////
=ログイン
////////////////////////////////////////////////*/
.form_contents .login_area {
	margin: 18% auto;
}
.form_contents .input_id {
	margin: 2% auto 5%;
	width: 430px;
}
.form_contents .input_id input {
	width : 320px;
}
.form_contents .input_pass {
	margin: 5% auto 2%;
	width: 430px;
}
.form_contents .input_pass input {
	width : 320px;
}
/*////////////////////////////////////////////////
=アンケート日時[type="text"]時
////////////////////////////////////////////////*/
.calendar_birth {
	width: 30%;
}
.form_contents .form_birth .calendar_time .selectLabel {
	width: 15%;
}
img.ui-datepicker-trigger{
	cursor: pointer;
	display:inline;
	margin-left: 4px!important;
	vertical-align: middle;
}
}
/*////////////////////////////////////////////////
=PC（min-width : 1024px）
////////////////////////////////////////////////*/
@media screen and (min-width : 1024px) {
#contents {
	overflow : hidden;
	width : 700px;
}
.form_contents {
	width: 95%;
}
.form_contents .form_name {
	float: left;
	width: 50%;
}
.form_contents .form_name p {
	width: 8%;
	margin: 0 2% 0 2%;
	letter-spacing: -0.06em;
	text-align: center;
}
.form_contents .form_name:last-child p {
	margin: 0 2% 0 2%;
}
.form_contents .form_name input {
	width: 88%;
}
.form_contents .form_birth .selectLabel {
	width: 11%;
}
.form_contents .form_birth .text_birth {
	width: 11%;
}
.form_contents .form_birth select {
	width: 100%;
}
.form_contents .form_birth p {
	width: 5%;
}
.form_contents.confirm div {
	margin: 0 0 5px 1em;
}
.btn_contents {
	width: 85%;
}
.btn_contents .btn_area {
	width: 50%;
}
}
