@charset "utf-8";

/* フォント
/************************************************************/

@font-face {
  font-family: 'Noto Sans CJK JP Subset';
  font-style: normal;
  font-weight: 400;
  src: local('Noto Sans CJK JP'),
       local('NotoSansCJKjp-Regular'),
       local('NotoSansJP-Regular'),
       url('../fonts/NotoSansCJKjp-Regular.woff2') format('woff2'),
       url('../fonts/NotoSansCJKjp-Regular.woff') format('woff'),
       url('../fonts/NotoSansCJKjp-Regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Noto Sans CJK JP Subset';
  font-style: normal;
  font-weight: 700;
  src: local('NotoSansCJKjp-Bold'),
       local('NotoSansJP-Bold'),
       url('../fonts/NotoSansCJKjp-Bold.woff2') format('woff2'),
       url('../fonts/NotoSansCJKjp-Bold.woff') format('woff'),
       url('../fonts/NotoSansCJKjp-Bold.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/OpenSans-Medium.woff2') format('woff2'),
       url('../fonts/OpenSans-Medium.woff') format('woff'), 
       url('../fonts/OpenSans-Medium.ttf') format('truetype');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/OpenSans-Bold.woff2') format('woff2'),
       url('../fonts/OpenSans-Bold.woff') format('woff'), 
       url('../fonts/OpenSans-Bold.ttf') format('truetype');
}


body {
	margin: 0;
	font-family: 'Open Sans', 'Noto Sans', 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset', sans-serif;
	overflow-wrap: break-word;
	word-break: normal;
	color: #111;
}




/* ----------------------------------------
* #form
---------------------------------------- */


#form {
	min-width: 1280px;
	padding: 64px 0;
}
.container{
	position:relative;
	max-width:1024px;
    margin: 0 auto;
}
.container::after {
	content: "";
	display: block;
	clear: both;
}

#form h2 {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 48px;
    margin-top: 0px;
}

#form .wrap {
	width: 1000px;
	padding: 60px 0px 40px;
	box-sizing: border-box;
}
#form .box {
	padding: 48px 64px 64px;
	margin-bottom: 48px;
	background-color: #FFFFFF;
	border-radius: 16px;
    border: solid 1px #ddd;
}
#form .box h3 {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin: 40px 0px 16px;
}
#form .box h3 span {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
    display: block;
    color: #FF0000;
}
#form .box h4 {
	text-align: center;
	margin: 40px 0px 20px;
	position: relative;
}
#form .box h4:before {
	content: "";
	position: absolute;
	top: 13px;
	left: 0px;
	border-top: 1px solid #CCCCCC;
	width: 100%;
}
#form .box h4 span {
	font-size: 16px;
	color: #999999;
	background-color: #FFFFFF;
	padding: 0px 15px;
	z-index: 10;
	position: relative;
}
#form .box .tel {
	margin-bottom: 50px;
	text-align: center;
}
#form .box .tel-sp {
	display: none;
	text-align: center;
}
#form .box .tel-sp a {
	display: inline-block;
	background-color: #eee;
}
#form .box .tel-sp p {
	text-align: center;
	margin-top: 10px;
}

#form .box p {
	line-height: 175%;
	margin: 40px 0 56px;
	text-align: center;
}
#form .box p.kojin {
	margin-top: 30px;
	margin-bottom: 0px;
}













#form .form-table {
	display:table;
	width:100%;
}
#form .form-table-th {
	background-color:#f1f1f1;
	padding: 24px 24px;
	border-bottom:16px solid #fff;
	display:table-cell;
	width:28%;
	vertical-align:middle;
	box-sizing: border-box;
	line-height: 150%;
}
#form .form-table-th em {
	background-color:#FF6666;
	font-size: 12px;
	color: #FFFFFF;
	padding: 2px 10px 2px 10px;
	position: relative;
	top: -1px;
	margin-right: 10px;
	margin-bottom: 5px;
	display: inline-block;
	line-height: 20px;
    font-style: normal;
	border-radius: 4px;
}
#form .form-table-th em.nini {
	background-color:#006bbb;
}

#form .form-table-td {
	background-color:#f1f1f1;
	padding: 24px 24px;
	border-bottom:16px solid #fff;
	display:table-cell;
	vertical-align:middle;
	box-sizing: border-box;
}
#form .form-table-td em {
	font-size:14px;
	display:block;
	padding: 5px 0px 0px;
	color:#999;
}
#form .form-table-td input {
	font-family: 'Noto Sans', 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset', sans-serif;
	padding: 0px 8px;
	width:60%;
	border:1px solid #ccc;
	line-height: 40px;
	font-size: 16px;
}
#form .form-table-td input.address {
	width:90%;
}

#form .form-table-td textarea {
	font-family: 'Noto Sans', 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset', sans-serif;
	padding: 8px 8px;
	width:90%;
	height:140px;
	border:1px solid #ccc;
	resize:vertical;
	font-size: 16px;
}
#form .form-table-td select {
	font-family: 'Noto Sans', 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset', sans-serif;
	padding: 0px 8px;
	border:1px solid #ccc;
	font-size: 16px;
	line-height: 40px;
}
#form .form-table-td select option {
	font-family: 'Noto Sans', 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset', sans-serif;
}
#form .form-table-td select optgroup {
	font-family: 'Noto Sans', 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset', sans-serif;
}
#form .form-table-td label {
	display:block;
	margin: 8px 0;
    background-color: #fff;
    border:1px solid #ccc;
    padding: 16px;
}
#form .form-table-td label input {
	width:20px;
}

#form .form-table-td p {
	text-align: left;
    margin: 0;
}










#form .form-btn {
}
input[type="submit"] {
-webkit-appearance: none;
border-radius: 0;
}

#form .form-btn input {
	font-family: 'Open Sans', 'Noto Sans', 'Noto Sans CJK JP', 'Noto Sans CJK JP Subset', sans-serif;
	width: 360px;
	margin: 0px auto;
	background-color: #54A3E9;
	display: block;
	border-style: none;
	padding: 20px 0px;
	color: #FFFFFF;
	cursor:pointer;
	border-bottom: 3px solid rgba(0, 0, 0, 0.2);
	font-size: 16px;
	border-radius: 6px;
}

input[type="button"] {
-webkit-appearance: none;
border-radius: 0;
}

#form .form-btn input.back {
	background-color: #eee;
	color: #333333;
}
#form .message {
	color: #CC0000;
	padding: 30px;
	border: 2px solid #CC0000;
	text-align: center;
	margin-bottom: 60px;
	background-color: #FFECEC;
}

#form p.error_messe {
	color: #CC0000;
	margin-bottom: 10px;
}

#form .scroll-box {
	overflow-y: auto;
	height: 335px;
	width: 100%;
	margin-top: 40px;
	margin-bottom: 40px;
	border: 1px solid #DDDDDD;
	padding: 20px;
	box-sizing: border-box;
}
#form .scroll-box p {
	margin-bottom: 20px;
}



#form .thanks {
	text-align: center;
}
#form .thanks p {
	text-align: left;
}
#form .thanks p.end {
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	line-height: 100%;
	margin-top: 48px;
	margin-bottom: 80px;
}
#form .thanks .btn a {
	background-color: #eee;
	display: inline-block;
	padding: 12px 12px 14px;
	width: 200px;
	color: #333;
	text-decoration: none;
	font-size: 14px;
	text-align: center;
	box-sizing: border-box;
	border-bottom: 2px solid rgba(0, 0, 0, 0.1);
	border-radius: 6px;
}
.copyright {
	text-align: center;
    font-size: 14px;
}

#form .notice {
	color: #CC0000;
	padding: 30px;
	border: 2px solid #CC0000;
	margin-bottom: 60px;
	background-color: #FFECEC;
}
#form .notice h3 {
	text-align: center;
    margin: 0 0 8px;
    font-size: 16px;
}


/* ----------------------------------------
* 横幅
---------------------------------------- */

@media screen and (max-width: 1024px) {
.container{
	max-width:64%;
}
}
@media screen and (max-width: 896px) {
.container{
	max-width:68%;
}
}
@media screen and (max-width: 768px) {
.container{
	max-width:72%;
}
}
@media screen and (max-width: 640px) {
.container{
	max-width:80%;
}
}
@media screen and (max-width: 400px) {
.container{
	max-width:88%;
}
}




/* ----------------------------------------
* レスポンシブ / 768px 
---------------------------------------- */

@media screen and (max-width: 1024px) {

.hide-sp {
	display: none;
}
.hide-pc {
	display:block;
}



 

/* ----------------------------------------
* form
---------------------------------------- */

#form {
	min-width: 360px;
}
#form .wrap {
	width: 100%;
	padding: 30px 11% 80px;
}
#form .box {
	padding: 0px ;
	margin-bottom: 60px;
    border: none;
}
#form .box p {
	line-height: 175%;
	text-align: left;
}
#form .box .tel {
	display: none;
}
#form .box .tel-sp {
	display: block;
}

#form .box h3 {
	font-size: 16px;
	margin-bottom: 20px;
}


#form .form-table-th {
	display:block;
	width:100%;
    border-bottom: none;
    padding: 24px 24px 16px;
}
#form .form-table-td {
	display:block;
	width:100%;
	border-left-style:none;
    padding: 0 24px 24px;
}
#form .form-table-th em {
	margin-bottom: 0px;
}
#form .form-table-td input {
	width:90%;
}
#form .form-table-td textarea {
	width:90%;
}
#form .form-btn {
}
#form .form-btn input {
	width: 100%;
}
#form .message {
	text-align: left;
}
#form .form-table-td p {
    margin: 0;
}
}


/* ----------------------------------------
* レスポンシブ / 640px 
---------------------------------------- */

@media screen and (max-width: 640px) {



/* ----------------------------------------
* form
---------------------------------------- */

#form {
	padding: 40px 0;
}

#form h2 {
	font-size: 24px;
	margin-bottom: 40px;
}

#form .wrap {
	padding: 30px 6% 30px;
}
#form .main-head {
	margin-bottom: 30px;
}

#form .box {
	padding: 0px;
	margin-bottom: 40px;
	border-radius: 8px;
}
#form .box p {
	margin: 16px 0px 32px;
}


#form .form-table-th {
    padding: 16px 16px 8px;
    }
#form .form-table-td {
	padding: 0px 16px 16px;
}
#form .form-table-td p {
    margin: 0;
}

#form .scroll-box {
	height: 335px;
	margin-top: 30px;
	margin-bottom: 30px;
	padding: 16px;
}

#form .form-btn input {
}
#form .message {
	padding: 16px;
	margin-bottom: 30px;
	font-size: 14px;
}
#form p.error_messe {
	margin-bottom: 0px;
}
#form .thanks p.end {
	padding-top: 20px;
	font-size: 18px;
	margin-top: 0px;
	margin-bottom: 32px;
}
#form .thanks .btn a {
	width: 100%;
}
.copyright {
}
#form .notice {
	padding: 16px;
	margin-bottom: 30px;
	font-size: 14px;
}
#form .notice h3{
	font-size: 14px;
}
}

