@charset "utf-8";
@font-face {
	font-family: "Vegur-Light";
	font-weight: 400;
	font-style: normal;

	src: url(../fonts/Vegur-Light.woff) format("woff");
}

/*********************************************************************
( ´m｀)σ 目次
----------------------------------------------------------------------
 1.0 HTML再定義
 2.0 フォーム
 3.0 個別指定
 4.0 アラート
*********************************************************************/

/*********************************************************************
	1.0 HTML再定義
*********************************************************************/

/* HTMLリセット */ body,div,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,pre,blockquote,th,td,form,fieldset,input,textarea{margin:0;padding:0;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}em,strong,code,address,th{font-weight:normal;font-style:normal;}ul,ol{list-style:none;}q:before,q:after{content:"";}abbr,acronym{border:0;}table{border-collapse:collapse;border-spacing:0;}th{text-align:left;}button,fieldset,img{border:0;}

html {
	overflow-y: scroll;
}

body {
	margin: 0;
	padding: 0;
	background-color: #FFF;
	line-height: 1.4;
	color: #3B3B3B;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
	font-size: 15px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 30px 0 10px;
	color: #202020;
	font-family: -apple-system, "BlinkMacSystemFont", ".SFNSDisplay-Regular", "Open Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "Yu Gothic", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
	font-weight: 800;
}

h1 {
	font-size: 180%;
}
h2 {
	font-size: 160%;
}
h3 {
	font-size: 140%;
}
h4 {
	font-size: 130%;
}
h5 {
	font-size: 120%;
}
h6 {
	font-size: 100%;
}

p {
	margin: 10px 0 0;
}

em,
strong {
	font-weight: bold;
	font-style: normal;
}

ul {
	margin: 10px 20px;
}
ul li {
	list-style: disc;
}

ol {
	margin: 10px 30px;
}
ol li {
	list-style: decimal;
}

dl {
	margin: 10px 0;
}
dl dd {
	margin-left: 30px;
}

pre {
	overflow: auto;
	margin: 10px 0;
	padding: 10px 18px;
	border-left: 3px solid #B8E2F2;
	background-color: #FCFCFC;
	line-height: 1.2;
	font-size: 100%;

	-webkit-overflow-scrolling: touch;
}
pre code {
	color: #9B2D7E;
}
code {
	color: #2F667A;
	font-family: Consolas, Menlo, monospace;
}

form {
	margin: 0;
}
form legend {
	display: none;
}
form ul {
	margin: 15px 0;
}
form ul li {
	list-style: none;
}
form p {
	margin: 0;
}

input,
select,
button,
textarea {
	vertical-align: middle;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

a:link,
a:visited {
	color: #4474A6;
	text-decoration: none;
}
a:hover {
	color: #145E93;
	text-decoration: none;
}

/********* テーブル *************************************************/

.table-responsive {
	overflow-x: auto;
	white-space: nowrap;

	-webkit-overflow-scrolling: touch;
}
.table-responsive table {
	width: 100%;
}

table {
	max-width: 100%;
	margin: 20px 0;
	border: 1px solid #DDD;
}
table tr th {
	padding: 8px;
	border-right: 1px dotted #DDD;
	border-bottom: 1px solid #DDD;
	background-color: #F2F2F2;
	line-height: 1.0;
	font-weight: 800;
	text-align: center;
}
table tr:nth-child(odd) {
	background-color: #FAFAFA;
}
table tr td {
	padding: 8px;
	border-right: 1px dotted #DDD;
	border-bottom: 1px solid #EEE;
}
table tr:hover > td {
	background-color: #FFFFF2;
}

/********* 引用 *************************************************/

blockquote {
	position: relative;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 40px auto;
	padding: 18px 20px;
	border: 1px solid #E4E7C6;
	border-radius: 2.4px;
	background-color: #FEFFF4;
	color: #121212;
	font-family: -apple-system, "BlinkMacSystemFont", ".SFNSDisplay-Regular", "Open Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "UD Digi Kyokasho NP-R", "Yu Gothic", Meiryo, "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
	font-size: 126%;
}
blockquote * {
	margin: 0 !important;
	padding: 0 !important;
}
blockquote cite {
	display: block;
	margin-top: 10px !important;
	color: #808080;
	font-size: 12px;
	text-align: right;
}

/********* メモ風 *********/

blockquote.bq-memo {
	width: 90%;
	padding: 28px 20px;
	border: 1px solid #E4E7C6;
	border-radius: 2.4px;
	background-color: #FEFFF4;
	color: #23110D;
	text-align: center;
}
blockquote.bq-memo:before {
	position: absolute;
	top: -7px;
	left: 50%;
	width: 44px;
	height: 14px;
	margin-left: -22px;
	border-radius: 1px;
	background-color: rgba(0,0,0,0.06);
	line-height: 38px;
	color: #FFF;
	text-align: center;
	content: "";
	transform: rotate(5deg);
}
blockquote.bq-memo cite {
	font-weight: 400;
}

/*********************************************************************
	2.0 フォーム
*********************************************************************/

/********* 2.1 プレースホルダ *********/

:placeholder-shown {
	color: #C0C0C0;
}
::-webkit-input-placeholder {
	color: #C0C0C0;
}
::-moz-placeholder {
	color: #C0C0C0;
}
:-ms-input-placeholder {
	color: #C0C0C0;
}

/********* 2.2 基本 *********/

label {
	cursor: pointer;
}
button {
	padding: 0;
	background-color: transparent;
	cursor: pointer;
	-webkit-transition: all 0.2s ease-out;
	        transition: all 0.2s ease-out;

	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
input,
select,
textarea {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	max-width: 100%;
	border: 1px solid #DCDCDC;
	border-radius: 2px;
	font-family: inherit;
	font-size: 100%;
}
textarea {
	padding: 10px 8px;
}

select,
textarea,
[type="url"],
[type="text"],
[type="email"],
[type="password"] {
	padding: 10px 8px;
	color: #2B2B2B;
	font-size: 110%;

	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
select:focus,
textarea:focus,
[type="url"]:focus,
[type="text"]:focus,
[type="email"]:focus,
[type="password"]:focus {
	border: 1px solid #5698C4;
	outline: none;
}
select::-ms-expand {
	display: none;
}

/********* 2.3 送信ボタン *********/

input[type="submit"] {
	height: 36px;
	padding: 0 22px;
	border: 1px solid #6AAFE6;
	border-radius: 2.8px;
	background-color: #6AAFE6;
	line-height: 36px;
	color: #FFF;
	font-size: 100%;
	cursor: pointer;

	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
input[type="submit"]:hover {
	border-color: #538BB9;
}
input[type="submit"]:focus {
	border: 1px solid #538BB9;
	color: rgba(255,255,255,0.6);
}

/********* 2.4 送信ボタン（色違い） *********/

/* 赤 */
input[type="submit"].delete-button {
	min-width: 80px;
	padding: 2px 5px;
	border-color: transparent;
	background-color: transparent;
	color: #DA454B;
}
input[type="submit"].delete-button:hover {
	border-color: #DA454B;
}

/* 青 */
input[type="submit"].submit-button {
	border-color: #F16B6F;
	background-color: #F16B6F;
}

/* 灰 */
input[type="submit"].sub-button {
	border-color: #909090;
	background-color: #909090;
}
input[type="submit"].sub-button:hover {
	border-color: #606060;
}

/********* 2.5 セレクトボックス *********/

.select-box {
	position: relative;
}
.select-box select {
	height: 42px;
	padding-right: 45px;
	background-color: #FFF;
}
.select-box:after {
	position: absolute;
	top: 45%;
	width: 10px;
	height: 10px;
	margin-left: -20px;
	line-height: 1.0;
	color: #C0C0C0;
	font-family: "FontAwesome";
	font-size: 16px;
	content: "\f107";
	-webkit-transform: translateY(-45%);
	        transform: translateY(-45%);
	pointer-events: none;
}

/********* 2.6 ラジオボタン兼チェックボックス *********/

.radio-box {
	display: none;
}

.radio-button {
	display: inline-block;
	margin-left: 10px;
	padding: 4px 8px;
	border-radius: 2.4px;
	background-color: transparent;
	line-height: 1em;
	color: #989898;
	letter-spacing: 0.2px;
}
.radio-box:checked + .radio-button {
	color: #5698C4;
}

.radio-button:before {
	position: absolute;
	margin-left: -20px;
	color: #CCC;
	font-family: "FontAwesome";
	font-size: 120%;
	content: "\f096";
}
.radio-box:checked + .radio-button:before {
	color: #5698C4;
	content: "\f046";
}

/********* 2.6 フォーム *********/

.form-box {
	position: relative;
	margin: 0 0 5px;
}
.form-box label {
	display: block;
	margin-bottom: 2px;
	color: #999;
}

.form-box textarea {
	width: 100%;
}
.form-box input:focus,
.form-box select:focus,
.form-box textarea:focus {
	color: #101010;
}

.form-input-half {
	width: 60%;
}
.form-input-full {
	width: 100%;
}

.form-sub input {
	width: 50%;
}
.form-sub input:nth-child(2) {
	width: 49%;
	margin-right: 1%;
}

.form-button {
	margin: 15px 0 0;
	text-align: center;
}
.form-buttons {
	margin: 20px 0 0;
	text-align: center;
}
.form-buttons [type="submit"] {
	margin: 0 5px;
}

.buttons {
	margin: 30px 0 0;
	text-align: center;
}
.buttons input {
	margin: 0 2.5px;
}

.form-delete {
	margin: 30px 0;
	padding: 15px 0;
	background-color: #FAFAFA;
}
.form-delete form,
.form-delete input {
	margin: 0;
}

.rememberme {
	margin: 30px auto 0;
	padding: 0;
	font-size: 12px;
	text-align: center;
}

/********* オプション *********/

#form-item {
	margin: 0;
	border: 1px solid #DDD;
	border-radius: 2.4px;
}

#form-options .form-box {
	overflow: hidden;
	margin: 15px 0 0;
}
#form-options .form-box:first-child {
	margin: 30px 0 0;
}
#form-options .form-box label {
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 0;
	width: 25%;
	padding: 0;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
}
#form-options .form-box input,
#form-options .form-rememberme,
#form-options .form-box .select-box {
	display: inline-block;
	float: right;
	width: 75%;
	margin: 0;
}
#form-options .form-rememberme {
	margin: 15px 0 0;
	padding: 0;
}

/* 非表示部分 */

#form-options {
	overflow: hidden;
	background-color: #FAFAFA;
}

.form-options-hide {
	visibility: hidden;
	opacity: 0;
	height: auto;
	max-height: 0;
	padding: 0;
	-webkit-transition: visibility 0.3s ease 0s, opacity 0.24s ease-out 0s, padding 0.2s ease-out 0.44s, max-height 0.64s ease-out;
	        transition: visibility 0.3s ease 0s, opacity 0.24s ease-out 0s, padding 0.2s ease-out 0.44s, max-height 0.64s ease-out;
}
.form-options-show {
	visibility: visible !important;
	opacity: 1.0 !important;
	max-height: 1200px !important;
	padding: 0 60px 30px;
	-webkit-transition: visibility 0s ease 0.2s, opacity 0.24s ease-out 0.24s, padding 0.2s ease-out, max-height 0.94s ease-out !important;
	        transition: visibility 0s ease 0.2s, opacity 0.24s ease-out 0.24s, padding 0.2s ease-out, max-height 0.94s ease-out !important;
}

/* 表示ボタン */

.form-box-toggle-button {
	position: relative;
	color: #5698C4;
}

#form-toggle-button {
	display: block;
	padding: 10px;
	vertical-align: middle;
}
#form-toggle-button i {
	position: absolute;
	top: 50%;
	right: 11px;
	color: #C0C0C0;
	font-size: 14px;
	text-align: center;
	-webkit-transition: 0.44s ease-out;
	        transition: 0.44s ease-out;
	-webkit-transform: translateY(-50%);
	        transform: translateY(-50%);
	-webkit-transform-origin: 50% 0;
	        transform-origin: 50% 0;
}
.form-close-button {
	color: #7E7E7E  !important;
	-webkit-transform: rotate(-45deg) translateY(-50%) !important;
	        transform: rotate(-45deg) translateY(-50%) !important;
}

/*********************************************************************
	3.0 個別指定
*********************************************************************/

#action {
	overflow: hidden;
	margin-bottom: -5px;
}
#action form {
	display: inline-block;
	overflow: hidden;
	margin: 15px 2.5px 30px;
}

.number {
	text-align: right;
}
.required {
	color: #D70035;
}

/*********************************************************************
	4.0 アラート
*********************************************************************/

.message {
	margin: 15px auto;
	padding: 10px;
	border: 1px solid #CCC;
	border-radius: 2px;
	background-color: #FAFAFA;
	text-align: center;
	letter-spacing: 0.1px;
	-webkit-transition: 0.2s;
	        transition: 0.2s;
}
a > .message:hover {
	opacity: 0.6;
}
.message:before {
	margin-right: 10px;
	font-family: "FontAwesome";
	font-size: 120%;
}
.message p {
	margin: 0;
}

.msg-minimal {
	max-width: 270px;
	margin: 0 auto;
	padding: 20px 15px;
}
.minimal .message {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	max-width: 320px;
	margin: 0 auto 15px;
}

/********* 成功（緑） *********/

.msg-success {
	border-color: #CFE0BE;
	background-color: #E4F2DE;
	color: #39703A;
}

/********* 警告（橙） *********/

.msg-warning {
	border-color: #EDE7D3;
	background-color: #F9F6E3;
	color: #939083;
}

/********* 警告（赤） *********/

.msg-danger {
	border-color: #E2C5C9;
	background-color: #F7E3E3;
	color: #A04140;
}

ul.msg-danger {
	margin: 10px 0;
}
ul.msg-danger li {
	list-style: circle;
	margin: 0 0 0 20px;
	padding: 0 5px;
	text-align: left;
}

/********* お知らせ（青） *********/

.msg-information {
	border-color: #ABD7EA;
	background-color: #D9F0F9;
	color: #256D8E;
}

/********* 不明（紫） *********/

.msg-unknown {
	border-color: #BEBEE3;
	background-color: #EFEAFE;
	color: #5B3970;
}
