* {
	font-family: YuGothic, Yu Gothic, "游ゴシック", "メイリオ", "Meiryo", sans-serif;
	font-weight: 500;
}
body {
	background: url(/static/img/common/main_bg.jpg) repeat left top;
	margin: 0;
	padding: 0;
}

header {
    display: flex;
    align-items: center;
	justify-content: center;
    flex-wrap: wrap;
	padding-top: 1em;
}
h1 {
	margin: 0 0.5em 0 0;
}
h1 img {
	width: 280px;
	max-width: 100%;
}
h2 {
    margin: 0;
    font-size: 1.3rem;
    color: #666;
}
h3 {
    width: 100%;
    text-align: center;
    border-bottom: 2px solid #1376d5;
    color: #666;
    font-size: 1.5rem;
	margin-top: 0;
    margin-bottom: 2em;
}
#contactWrap {
	max-width: 700px;
    margin: 0 auto;
	padding: 0 1em;
}


/*** 埋め込み問い合わせフォーム ***/
#include_form {
	margin-top: 1.5em;
	transition: 1s all;
	max-height: 0;
	overflow-y: hidden;
}
#include_form.open {
	max-height: 2000px; /*もし足りなくなったら延ばす*/
}

#includeWrap {
	background-color: #eee;
	padding: 4% 5%;
	border-radius: 15px;
	border: 1px solid #ddd;
}

.container {
	padding: 0;
}

.container form {
	margin: 0;
}

sup {
  color:red;
}

.input-group label::before {
    content: "任意";
    margin-right: 1em;
    background-color: #999;
    color: #fff;
    border-radius: 5px;
    padding: 2px 3px;
}
.tokuiromail .input-group label::before {
    content: none;
}

.input-group.require label::before {
    content: "必須";
	margin-right: 1em;
    background-color: #ef5b5b;
	color: #fff;
    border-radius: 5px;
    padding: 2px 3px;
}

::placeholder {
	opacity: 0.6;
  }


/*入力欄*/
.input-group.fluid {
	margin-top: 0.5em;
	margin-bottom: 1.5em;
	display: flex;
	align-items: center;
	/*justify-content: center;*/
	flex-wrap: wrap;
}

.input-group.fluid.textInput {
	align-items: stretch;
	/*flex-direction: column;*/
}

.input-group.fluid label {
	line-height: 2;
	font-size: 105%;
	width: 100%;
}

.input-group.fluid input, .input-group.fluid textarea, .input-group.fluid select {
	background-color: #fafafa;
	padding: 0.5em;
	border-radius: 5px;
	font-size: 105%;
	border: 1px solid #999;
	width: 100%;
}
.input-group.fluid input#zip {
	width: 50%;
	margin-right: 1em;
}
.btn_search {
	font-size: 0.9em;
	background-color: #eee;
    text-decoration: none;
    border: 1px solid #ccc;
    border-radius: 5px;
    color: #000;
	cursor: pointer;
}
button.btn_search:hover {
    opacity: 0.7;
}
.input-group.fluid.textInput input::placeholder, .input-group.fluid.textInput textarea::placeholder {
	font-size: 17px;
	color: #666
}

.input-group.fluid textarea {
	resize: vertical;
	height: 5em;
}
.med .input-group.fluid textarea {
	height: 15em;
}

/*リロード時一瞬表示の抑制*/
[v-cloak] {
  display: none;
}

/*個人情報*/
#personalInfo {
	overflow:auto;
	box-sizing: border-box;
	height:200px;
	border: 1px solid #999;
	padding: 1em;
	margin-top: 1.5em;
	background-color: white;
	border-radius: 4px;
	line-height: 1.5;
}
#personalInfo .kojin {
	display:block;
	font-size: 114%;
	font-weight:bold;
	border-left: 5px solid #CCC;
	border-bottom: 1px dashed #CCC;
	padding-left:5px;
}
#personalInfo .title {
	display:block;
	font-size: 114%;
	font-weight:bold;
	text-align:center;
}
#personalInfo .subtitle {
	font-weight:bold;
	border-left: 4px solid #0075C2;
	padding-left:8px;
	margin-bottom:5px;
}

label[for="agree"] {
	cursor: pointer;
}

.input-group.fluid label[for="agree"], #agree {
	width: auto;
}


.spinner {
	color: #0075c2;
	font-size: 10px;
	margin: 50px;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	position: relative;
	text-indent: -9999em;
	-webkit-animation: load4 1.3s infinite linear;
	animation: spin 1.3s infinite linear;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
}
@-webkit-keyframes spin {
0%,
100% {
	box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
}
12.5% {
	box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
}
25% {
	box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
}
37.5% {
	box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
}
50% {
	box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
}
62.5% {
	box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
}
75% {
	box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
}
87.5% {
	box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
}
}
@keyframes spin {
0%,
100% {
	box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
}
12.5% {
	box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
}
25% {
	box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
}
37.5% {
	box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
}
50% {
	box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
}
62.5% {
	box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
}
75% {
	box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
}
87.5% {
	box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
}
}
  

.primary {
	display: block;
	width: 100%;
	margin-top: 2em;
    padding: 0.5em;
    background-color: #0075c2;
    color: #fff;
    border: none;
    border-radius: 5px;
    font-size: 1.2em;
    cursor: pointer; 
}
.primary:hover {
    opacity: 0.7;
}
#errors {
	margin-top: 10px;
}
#errors,  #errors li {
color:red;
line-height: 1.5;
}

#gohome a {
    display: inline-block;
    padding: 5px 10px;
	margin-top: 2em;
    background-color: #eee;
    text-decoration: none;
    border: 1px solid #ccc;
    border-radius: 5px;
    color: #000;
	cursor: pointer;
}
#gohome a:hover {
    opacity: 0.7;
}

address {
    font-size: 0.8em;
    color: #666;
    font-style: normal;
    text-align: center;
    width: 100%;
    margin: 2em 0;
}

#view_area {
white-space: pre;
}
#view_area div {
line-height: 1.7;
}

#contactType {
	padding: 0
}
#contactType li {
	list-style: none;
    width: 100%;
    background-color: #fff;
    border: 1px solid #c6c6c6;
	border-radius: 5px;
    text-align: center;
    padding: 5px;
	margin-bottom: 1.5em;
	box-sizing: border-box;
}
#contactType li a {
	display: block;
	color: #666;
	font-weight: 600;
	font-size: 1.2em;
	text-decoration: none;
}