@charset "utf-8";

* {
	box-sizing: border-box;
}

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
	display: block;
}

html {
	font-size: 62.5%;
}

input, select, button, pre, textarea {
	font-family: inherit;
}

textarea, pre, .pre {
	white-space: pre-wrap;
	word-wrap: break-word;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

i, cite, em, var, address, dfn {
	font-style: normal;
}

[type="image"], img {
	max-width: 100%;
	border: none;
}

img[rel=inlinelightbox]:hover,
[type="image"]:hover,
a:hover i,
a:hover img {
	opacity: 0.8;
}

select, textarea, input, button {
	margin: 1px;
}

select {
	background-color: #ffffff;
}

select,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"] {
	padding: 1px;
	max-width: 100%;
}

input[type="radio"],
input[type="checkbox"] {
	vertical-align: middle;
}

textarea {
	padding: 2px;
}

textarea[readonly] {
	height: 15em;
	width: 100%;
	background-color: #fafafa;
	outline: none;
}

[type="button"], [type="submit"], [type="image"] {
	outline: none;
}

.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

* html .clearfix {
	zoom: 1
}

*:first-child + html .clearfix {
	zoom: 1
}

.clear {
	clear: both;
}

.float-left, .pull-left {
	float: left;
}

.float-right, .pull-right {
	float: right;
}

.float-none, .pull-none {
	float: none;
}

.nowrap {
	white-space: nowrap;
}

.bold, .strong {
	font-weight: bold !important;
}

.normal {
	font-weight: normal;
}

.border {
	border: 1px solid #cccccc;
}

.border-top {
	border-top: 1px solid #cccccc;
}

.border-right {
	border-right: 1px solid #cccccc;
}

.border-bottom {
	border-bottom: 1px solid #cccccc;
}

.border-left {
	border-left: 1px solid #cccccc;
}

.border0 {
	border: none !important;
}

.border0-top {
	border-top: none;
}

.border0-right {
	border-right: none;
}

.border0-bottom {
	border-bottom: none;
}

.border0-left {
	border-left: none;
}

.indent {
	text-indent: 1em;
}

.none, .hide {
	display: none;
}

.show {
	display: block;
}

.invisible, .hidden {
	visibility: hidden;
}

.small {
	font-size: small;
}

.smaller {
	font-size: smaller;
}

.x-small {
	font-size: x-small;
}

.large {
	font-size: large;
}

.larger {
	font-size: larger;
}

.x-large {
	font-size: x-large;
}

.align-left, .cell-left {
	text-align: left !important;
}

.align-center, .cell-center {
	text-align: center !important;
}

.align-right, .cell-right {
	text-align: right !important;
}

.align-top, .cell-top {
	vertical-align: top !important;
}

.align-middle, .cell-middle {
	vertical-align: middle !important;
}

.align-bottom, .cell-bottom {
	vertical-align: bottom !important;
}

.align-baseline, .cell-baseline {
	vertical-align: baseline !important;
}

.break-all {
	word-break: break-all;
}

.del {
	text-decoration: line-through;
}

.underline {
	text-decoration: underline;
}

.relative {
	position: relative;
}

.absolute {
	position: absolute;
}

.static {
	position: static;
}

.block {
	display: block;
}

.inline {
	display: inline;
}

.inline-block {
	display: inline-block;
}

.ime-on {
	ime-mode: active;
}

.ime-off {
	ime-mode: inactive;
}

.ime-disabled {
	ime-mode: disabled;
}

.full {
	width: 100%;
}

.auto {
	width: auto !important;
}

.max {
	max-width: 100%;
}

.m-0 {
	margin: 0 !important;
}

.mt-0, .my-0 {
	margin-top: 0 !important;
}

.mr-0, .mx-0 {
	margin-right: 0 !important;
}

.mb-0, .my-0 {
	margin-bottom: 0 !important;
}

.ml-0, .mx-0 {
	margin-left: 0 !important;
}

.p-0 {
	padding: 0 !important;
}

.pt-0, .py-0 {
	padding-top: 0 !important;
}

.pr-0, .px-0 {
	padding-right: 0 !important;
}

.pb-0, .py-0 {
	padding-bottom: 0 !important;
}

.pl-0, .px-0 {
	padding-left: 0 !important;
}

.m-auto {
	margin: auto;
}

.mt-auto, .my-auto {
	margin-top: auto;
}

.mr-auto, .mx-auto {
	margin-right: auto;
}

.mb-auto, .my-auto {
	margin-bottom: auto;
}

.ml-auto, .mx-auto {
	margin-left: auto;
}

.margin {
	margin: 1em;
}

.margin0 {
	margin: 0 !important;
}

.margin5 {
	margin: 5px;
}

.margin10 {
	margin: 10px;
}

.margin20 {
	margin: 20px;
}

.margin30 {
	margin: 30px;
}

.margin40 {
	margin: 40px;
}

.margin50 {
	margin: 50px;
}

.margin60 {
	margin: 60px;
}

.margin70 {
	margin: 70px;
}

.margin80 {
	margin: 80px;
}

.margin90 {
	margin: 90px;
}

.xmargin, .hmargin {
	margin-left: 1em;
	margin-right: 1em;
}

.ymargin, .vmargin {
	margin-top: 1em;
	margin-bottom: 1em;
}

.lmargin {
	margin-left: 1em;
}

.lmargin5 {
	margin-left: 5px;
}

.lmargin10 {
	margin-left: 10px;
}

.rmargin {
	margin-right: 1em;
}

.rmargin5 {
	margin-right: 5px;
}

.rmargin10 {
	margin-right: 10px;
}

.tmargin {
	margin-top: 1em;
}

.tmargin5 {
	margin-top: 5px;
}

.tmargin10 {
	margin-top: 10px;
}

.bmargin {
	margin-bottom: 1em;
}

.bmargin5 {
	margin-bottom: 5px;
}

.bmargin10 {
	margin-bottom: 10px;
}

.padding {
	padding: 1em;
}

.padding0 {
	padding: 0;
}

.padding10 {
	padding: 10px;
}

.padding20 {
	padding: 20px;
}

.padding30 {
	padding: 30px;
}

.padding40 {
	padding: 40px;
}

.padding50 {
	padding: 50px;
}

.padding60 {
	padding: 60px;
}

.padding70 {
	padding: 70px;
}

.padding80 {
	padding: 80px;
}

.padding90 {
	padding: 90px;
}

.xpadding, .hpadding {
	padding-left: 1em;
	padding-right: 1em;
}

.ypadding, .vpadding {
	padding-top: 1em;
	padding-bottom: 1em;
}

.lpadding {
	padding-left: 1em;
}

.rpadding {
	padding-right: 1em;
}

.tpadding {
	padding-top: 1em;
}

.bpadding {
	padding-bottom: 1em;
}

.w3-padding-8 {
	padding-top: 8px !important;
	padding-bottom: 8px !important
}

.w3-input {
	display: inline-block;
}

.w1 {
	width: 8.33333% !important;
	display: inline-block;
}

.w2 {
	width: 16.66666% !important;
	display: inline-block;
}

.w3 {
	width: 24.99999% !important;
	display: inline-block;
}

.w4 {
	width: 33.33333% !important;
	display: inline-block;
}

.w5 {
	width: 41.66666% !important;
	display: inline-block;
}

.w6 {
	width: 49.99999% !important;
	display: inline-block;
}

.w7 {
	width: 58.33333% !important;
	display: inline-block;
}

.w8 {
	width: 66.66666% !important;
	display: inline-block;
}

.w9 {
	width: 74.99999% !important;
	display: inline-block;
}

.w10 {
	width: 83.33333% !important;
	display: inline-block;
}

.w11 {
	width: 91.66666% !important;
	display: inline-block;
}

.w12 {
	width: 99.99999% !important;
	display: inline-block;
}

.lh1 {
	line-height: 1;
}

.lh11 {
	line-height: 1.1;
}

.lh12 {
	line-height: 1.2;
}

.lh13 {
	line-height: 1.3;
}

.lh14 {
	line-height: 1.4;
}

.lh15 {
	line-height: 1.5;
}

.lh16 {
	line-height: 1.6;
}

.lh17 {
	line-height: 1.7;
}

.lh18 {
	line-height: 1.8;
}

.lh19 {
	line-height: 1.9;
}

.lh2 {
	line-height: 2;
}

.lh3 {
	line-height: 3;
}

.zero {
	margin: 0 !important;
	padding: 0 !important;
}

.red, .error {
	color: red;
}

.white {
	color: white;
}

.black {
	color: black;
}

.green {
	color: green !important;
}

.orange {
	color: orange;
}

.muted {
	color: #888888;
}

.gray, .grey {
	color: #4D4D4D;
}

.highlight {
	background-color: #FFFFE0;
}

.bg-light {
	background-color: #f8f9fa;
}

.bg-lightyellow {
	background-color: lightyellow;
}

input[type="file"],
.ellipsis {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.ellipsis2 {
	text-overflow: ellipsis;
	overflow: hidden;
	display: -webkit-box !important;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	white-space: normal;
}

.flex {
	display: flex;
}

.fullvw {
	width: 100%;
}

@media screen and (max-width: 640px) {
	.fullvw {
		width: 100vw !important;
		position: relative;
		left: 50%;
		right: 50%;
		margin-left: -50vw !important;
		margin-right: -50vw !important;
	}
}

.refrect {
	transform: scaleX(-1);
	filter: FlipH;
}

a.blank {
	padding: 0 15px 0 0;
	background: url('../../images/icon/blank.gif') no-repeat right center;
	background-size: 12px;
}

button.disable,
input.disable {
	color: #666666;
	cursor: progress !important;
}

.shadow {
	box-shadow: 3px 3px 12px #cccccc;
}

a.shadow {
	display: inline-block;
}

a.disable {
	cursor: default;
	pointer-events: none;
}

.opacity {
	opacity: 0.7;
}

.opacity30 {
	opacity: 0.3;
}

.opacity50 {
	opacity: 0.5;
}

.opacity80 {
	opacity: 0.8;
}

.radius2 {
	border-radius: 2px;
}

.radius3 {
	border-radius: 3px;
}

.radius4 {
	border-radius: 4px;
}

.radius6 {
	border-radius: 6px;
}

.radius9 {
	border-radius: 9px;
}

.radius10 {
	border-radius: 10px;
}

.trans90 {
	transform: rotate(90deg);
	filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
}

.trans180 {
	transform: rotate(180deg);
	filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
}

.trans270 {
	transform: rotate(270deg);
	filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
}

table.fixed, table.fix {
	table-layout: fixed;
}

ul.striped li:nth-child(even),
table.striped tbody tr:nth-child(even) {
	background-color: #fafafa;
}

ul.bordered li,
table.bordered tr {
	border-bottom: 1px solid #dddddd;
}

table.centered tr th, table.centered tr td {
	text-align: center;
}

table.padding tr th, table.padding tr td {
	padding: 1em;
}

ul.disc, ol.disc {
	list-style-type: disc;
}

ul.decimal, ol.decimal {
	list-style-type: decimal;
}

ul.square, ol.square {
	list-style-type: square;
}

ul.table, ol.table {
	display: table;
}

ul.table li, ol.table li {
	display: table-cell;
}

ul.horizontal, ol.horizontal {
}

ul.horizontal li, ol.horizontal li {
	display: inline-block;
}

.scalefill, .scalefit {
	overflow: hidden;
	text-align: center;
}

a.scalefill, a.scalefit,
span.scalefill, span.scalefit {
	display: inline-block;
}

.scalefill img, .scalefit img {
	width: 100%;
	height: 100%;
}

.scalefill img, img.scalefill {
	object-fit: cover;
	font-family: "object-fit: cover;";
}

.scalefit img, img.scalefit {
	object-fit: contain;
	font-family: "object-fit: contain;";
}

.submitted [type="submit"] {
	cursor: not-allowed;
	opacity: 0.3;
}

.submitted [type="submit"] * {
	pointer-events: none;
}

.submitted [type="submit"]:hover {
	box-shadow: none;
}

.blinking {
	animation: blink 1.5s ease-in-out infinite alternate;
}

@keyframes blink {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

legend.required,
label.required,
th.required {
	white-space: normal;
}

legend.required:after,
label.required:after,
th.required:before {
	background-color: #d9534f;
	color: #ffffff;
	padding: 0 5px;
	white-space: nowrap;
	border-radius: 4px;
	display: inline-block;
	content: "必須";
	font-size: .85em;
	font-weight: normal;
	vertical-align: middle;
}

legend.required:after,
label.required:after {
	margin-left: 4px;
}

th.required:before {
	float: right;
	margin: 1px 0 1px 4px;
}

.mfp-hide {
	display: none;
}

.mfp-inline-holder .mfp-content > *,
.mfp-iframe-holder .mfp-content > *,
.mfp-ajax-holder .mfp-content > * {
	background-color: #ffffff;
	max-width: 600px;
	margin: auto;
}

.mfp-iframe-holder .mfp-iframe-scaler iframe {
	background-color: #ffffff;
}

.mfp-close:after {
	display: none;
}

.mfp-close-text {
	font-size: 18px !important;
	padding-right: 23px !important;
	width: auto !important;
}

.mfp-close-text:before {
	font-size: 28px;
	content: "×";
	position: absolute;
	right: 5px;
	padding-top: 1px;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
	cursor: pointer !important;
}

img.mfp-img {
	max-height: 100% !important;
}

.mfp-fade.mfp-bg {
	opacity: 0;
	transition: all .3s ease-out;
}

.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}

.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	transition: all .3s ease-out;
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}

input.datepicker {
	width: 8.5em;
}

input.datetimepicker {
	width: 11.5em;
}

input.datepicker, input.datetimepicker {
	padding-right: 16px;
}

input.datepicker + i, input.datetimepicker + i {
	background: url('../../images/icon/calendar.png') left top no-repeat;
	width: 16px;
	height: 16px;
	margin-left: -19px;
	margin-right: 3px;
	display: inline-block;
	cursor: pointer;
	vertical-align: middle;
	opacity: 0.5;
}

input.datepicker + i:hover, input.datetimepicker + i:hover {
	opacity: 0.8;
}

input[disabled].datepicker + i, input[disabled].datetimepicker + i {
	display: none;
}

.pika-table th, .pika-table td {
	min-width: 0 !important;
}

.pika-table abbr {
	cursor: default !important;
}

.pika-button, .pika-button * {
	border-radius: 0 !important;
}

.pika-button {
	font-size: 13px !important;
	text-align: center !important;
	min-width: 0 !important;
}

.pika-button:hover {
	background: #aaaaaa !important;
}

.pika-title select {
	top: 0 !important;
}

.pika-select {
	padding: 2px 1px !important;
}

.pika-select option {
	line-height: 2 !important;
}

.pika-time th, .pika-time td {
	background: transparent !important;
	border: none !important;
}

.fb_iframe_widget,
.fb_iframe_widget iframe[style] {
	width: 100% !important;
}

.loader,
.loader:after {
	border-radius: 50%;
	width: 1em;
	height: 1em;
}

.loader {
	margin: 6px;
	font-size: 20px;
	position: relative;
	color: transparent;
	border-top: 3px solid rgba(13, 197, 193, 0.2);
	border-right: 3px solid rgba(13, 197, 193, 0.2);
	border-bottom: 3px solid rgba(13, 197, 193, 0.2);
	border-left: 3px solid #0dc5c1;
	transform: translateZ(0);
	animation: load8 1.1s infinite linear;
}

.loader.white {
	border-top: 3px solid rgba(255, 255, 255, 0.2);
	border-right: 3px solid rgba(255, 255, 255, 0.2);
	border-bottom: 3px solid rgba(255, 255, 255, 0.2);
	border-left: 3px solid #ffffff;
}

@keyframes load8 {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.alert p, [class^="alert-"] p {
	margin: 0;
}

.alert-info, .alert-success, .alert-warning, .alert-danger, .alert-error, .alert-validation {
	display: block;
	font-size: 16px;
	background: #faeceb;
	border-left: 6px solid #cb4437;
	color: #cb4437;
	text-align: left;
	padding: 15px 20px 13px 20px;
	position: relative;
	margin-bottom: 18px;
	font-weight: bold;
	list-style-type: none;
	border-radius: 0;
}

.alert-info,
.alert-success {
	background: #e6f5ee;
	border-color: #0a9d58;
	color: #0a9d58;
}

.alert-validation,
.alert-warning,
.alert-danger,
.alert-error {
	background: #faeceb;
	border-color: #cb4437;
	color: #cb4437;
}

.jq-toast-wrap {
	width: 400px !important;
}

@media screen and (max-width: 640px) {
	.jq-toast-wrap {
		width: 250px !important;
	}
}

.jq-toast-single {
	font-size: 18px !important;
	font-weight: bold;
	border-radius: 3px;
	border: solid 2px #F77C00;
	padding: 2em !important;
	line-height: 1.5 !important;
	box-shadow: rgba(0, 0, 0, 0.8) 0px 2px 4px, rgba(0, 0, 0, 0.6) 0px 7px 13px -3px, rgba(0, 0, 0, 0.4) 0px -3px 0px inset;
}

.notification-dot:after {
	content: "!";
	position: absolute;
	background-color: #fa3e3e;
	border-radius: 50%;
	border: 1px solid white;
	display: inline-block;
	line-height: 1.2;
	width: 14px;
	height: 14px;
	font-size: 12px;
	color: #ffffff;
	text-align: center;
	font-weight: bold;
}

.g-recaptcha {
	width: 304px;
	max-width: 100%;
	margin: 1em auto;
}

.agree-privacy {
	margin: 2em auto 1em;
	width: 300px;
	max-width: 100%;
}

.agree-privacy label {
	border: 1px solid #d3d3d3;
	background: #f9f9f9;
	color: #000000;
	display: block;
	padding: 12px;
	width: 100%;
	text-align: center;
}

.agree-privacy label input {
	margin-right: .5em;
}

.fa-spin:before {
	display: inline-block;
	animation-duration: 2s;
	animation-timing-function: linear;
	animation-delay: 0s;
	animation-iteration-count: infinite;
	animation-direction: normal;
	animation-fill-mode: none;
	animation-play-state: running;
	animation-name: fa-spin;
}

.fa-pulse:before,
.fa-spin-pulse:before {
	display: inline-block;
	animation-duration: 1s;
	animation-timing-function: steps(8);
	animation-delay: 0s;
	animation-iteration-count: infinite;
	animation-direction: normal;
	animation-fill-mode: none;
	animation-play-state: running;
	animation-name: fa-spin;
}
