@charset "utf-8";
@font-face {
	font-family: "Vegur-Light";
	font-weight: 400;
	font-style: normal;

	src: url(../fonts/Vegur-Light.woff) format("woff");
}

/* 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再定義 ***********************************************/

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%;
	font-family: 'Cormorant', serif;
	font-size: 2.2rem;
	text-shadow: 0px 5px 20px rgba(0,0,0,0.4);
}
h3{
	font-size: 115%;
	margin: 5px auto;
	display: inline-block;
	background: rgba(80,80,80,0.1);
	position: relative;
	padding: 3px 18px 3px 5px;
	line-height: 1.3;
	z-index:-1;
}
h3::before {
	position: absolute;
	content: '';
	right: -2px;
	top: -2px;
	border: none;
	border-right: solid 30px #fff;
	border-top: solid 40px transparent;
	z-index:-2
}
h4 {
	font-size: 110%;
	padding: 8px 16px;
	position: relative;
	color: #0c192b;
}
h4::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(50% - 4px);
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(80, 80, 80, 0.1);
}
h5 {
	font-size: 120%;
}
h6 {
	font-size: 100%;
}

p {
	margin: 10px 0;
}

em,
strong {
	font-weight: bold;
	font-style: normal;
}

ul {
	margin: 10px 0 10px 1.18em;
}
ul li {
	list-style: disc;
}

ol {
	margin: 10px 0 10px 2em;
}
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;
}

table {
	max-width: 100%;
	margin: 20px 0;
	border-top: 1px solid #DDD;
	border-bottom: 1px solid #DDD;
}
table tr th {
	padding: 4px 5px;
	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 15px;
	border-right: 1px dotted #DDD;
	border-bottom: 1px solid #EEE;
}
table tr:hover > td {
	background-color: #FFFFF2;
}
table tr td:last-child,
table tr th:last-child {
	border-right: none;
}

form {
	margin-bottom: 20px;
}
form legend {
	display: none;
}
form dl dd {
	margin: 0 0 10px;
}
form dl dd input,
form dl dd textarea {
	padding: 4px;
}
form dl dd select {
	padding: 2px;
}
form ul {
	margin: 15px 0;
}
form ul li {
	list-style: none;
}
form p {
	margin: 0;
}

input,
textarea,
select,
button {
	vertical-align: middle;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

a:link,
a:visited {
	color: #5698C4;
	text-decoration: none;
}
a:hover,
a:active {
	color: #145E93;
	text-decoration: none;
}

/********* 引用 *************************************************/

blockquote {
	position: relative;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 40px auto;
	padding: 18px 20px;
	border-left: 3px solid #E4E7C6;
	background-color: #FEFFF4;
	color: #121212;
	font-family: -apple-system, "BlinkMacSystemFont", ".SFNSDisplay-Regular", "Open Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "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;
	font-weight: 500;
	font-style: italic;
	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;
}

/********* フォーム *************************************************/

::-moz-placeholder {
	color: #C0C0C0;
	font-size: 12px;
	vertical-align: middle;
}
:-ms-input-placeholder {
	color: #C0C0C0;
	font-size: 12px;
	vertical-align: middle;
}
::-webkit-input-placeholder {
	color: #C0C0C0;
	font-size: 12px;
	vertical-align: middle;
}

/********* 基本 *********/

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;
	border: 1px solid #DCDCDC;
	border-radius: 2px;
	font-family: inherit;
	font-size: 100%;
}
textarea {
	padding: 10px 8px;
}

[type="url"],
[type="text"],
[type="email"],
[type="password"],
textarea,
select {
	padding: 10px 8px;
	color: #2B2B2B;

	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
[type="url"]:focus,
[type="text"]:focus,
[type="email"]:focus,
[type="password"]:focus,
textarea:focus,
select:focus {
	border: 1px solid #5698C4;
}
select::-ms-expand {
	display: none;
}

input[type="submit"] {
	position: relative;
	z-index: 400;
	min-width: 80px;
	padding: 8px 22px;
	border-color: #336299;
	border-radius: 3px;
	background-color: #4F86C6;
	box-shadow: 0 1px 2px rgba(0,0,0,0.2);
	color: #FFF;
	font-size: 12px;
	text-shadow: 0 2px 2px rgba(0,0,0,0.1);
	cursor: pointer;

	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
input[type="submit"]:hover {
	border-color: #336299;
	box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
input[type="submit"]:active {
	opacity: 0.8;
}

input[type="submit"] + input[type="submit"] {
	margin-left: 10px;
}

/********* セレクトボックス *********/

.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;
}

/********* フォーム装飾 *********/

.form-box {
	overflow: hidden;
	position: relative;
	margin: 5px 0 0;
	padding: 0;
}
.form-box label {
	display: inline-block;
	padding: 10px 0 5px;
	line-height: 1.0;
	color: #808080;
	cursor: pointer;
}
.form-box textarea {
	width: 100%;
}
.form-box input:focus,
.form-box select:focus,
.form-box textarea:focus {
	color: #101010;
}

.form-sub input {
	width: 50%;
}
.form-sub input:nth-child(2) {
	width: 49%;
	margin-right: 1%;
}

.form-buttons {
	margin: 0;
	padding: 15px 0 0;
	text-align: right;
}
.form-rememberme {
	margin: 0;
	padding: 15px 0;
	font-size: 12px;
}

.buttons {
	margin: 30px 0 0;
	text-align: center;
}
.buttons input {
	margin: 0 2.5px;
}

.rememberme {
	margin: 30px auto 0;
	padding: 0;
	font-size: 12px;
	text-align: center;
}

/********* オプション *********/

#form-item {
	margin: 5px 0;
	border: 1px solid #EDEDED;
	border-radius: 2.4px;
}

#form-options .form-box {
	position: relative;
	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;
}

/* ボタン */

input.sub-button {
	border-color: #EEE;
	background-color: transparent;
	box-shadow: none;
	color: #808080;
	text-shadow: none;
}
input.sub-button:hover {
	border-color: #CCC;
	background-color: transparent;
	box-shadow: none;
	color: #505050;
}

/********* ラジオボタン兼チェックボックス *********/

.radio-box {
	display: none;
}

.radio-button {
	display: inline-block;
	padding: 4px 8px;
	border: 1px dotted #DDD;
	border-radius: 2.4px;
	background-color: transparent;
	line-height: 1.0;
	color: #999;
	letter-spacing: 0.2px;
}
.radio-box:checked + .radio-button {
	border: 1px solid #4895CE;
	color: #4895CE;
}

.radio-button:before {
	margin-right: 7px;
	color: #CCC;
	font-family: "FontAwesome";
	font-size: 110%;
	content: "\f1db";
}
.radio-box:checked + .radio-button:before {
	color: #4895CE;
	content: "\f058";
}

/********* 個別指定 *************************************************/

#action {
	overflow: hidden;
}
#action form {
	display: inline-block;
	margin-right: 3px;
}

.number {
	text-align: right;
}
.required {
	color: #D70035;
}

/********* メッセージ *************************************************/

.message {
	margin: 15px 0;
	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%;
}

/********* 成功（緑） *********/

.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-question {
	border-color: #BEBEE3;
	background-color: #EFEAFE;
	color: #5B3970;
}