@charset "UTF-8";
* {
    margin: 0;
    padding: 0;
    text-align: left;
}
body{
	width: auto;
	font-size: 14px;
	font-family: 'Lucida Grande','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,sans-serif;
	background: #fff;
}
.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
.clearfix {
    display: inline-table;
}
* html .clearfix {
    height: 1%;
}
.clearfix {
    display: block;
}
img{
	border:0;
}
ul {
    list-style: none outside none;
}
a{
	color: #0096ec;
	text-decoration: none;
}
a:hover{
	color: #00b0ec;
	text-decoration: underline;
}
a:visited{
    color:#428bca;
}
.container-fluid {
    background-color: #1e50a2;
}
.navbar{
	margin-bottom: 0;
    border:none;
}
.navbar-default .navbar-text{
	color: #fff;
    font-weight: bold;
}
h1{
	font-size: 20px;
    line-height: 1;
    margin: 10px;
	/*float: left;*/
	/*min-width: 300px;*/
}
/*----------------------------------------------------
navbar
----------------------------------------------------*/
.navbar-default {
	background: #fff;
}
/*----------------------------------------------------
form
----------------------------------------------------*/
h2 {
	font-size: 14px;
	margin-bottom: 10px;
}
.asta {
  color: #FF0000;
  font-weight: bold;
}
.caution {
  color: #FF8C8C;
  font-size: 10px;
}
.age {
	width: 60px;
	display: inline-block;
	margin-right: 10px;
}
.companion-age {
	width: 130px;
}
.pref {
	width: 200px;
	display: inline-block;
	margin-right: 10px;
}
.mb20 {
	margin-bottom: 20px;
}

/*----------------------------------------------------
new form
----------------------------------------------------*/
{
	margin:0 auto;
}

.small-txt {
	font-size:80%;
	padding-top:5px;
	display:block;
}

/*form-box*/
.h2-title-area,
.outline-area,
.form-box {
	clear:both;
}
.form-box {
	border-top:1px solid #CCCCCC;
	border-left:1px solid #CCCCCC;
	margin-top:-1px;
}
.form-box-table {
	width:100%;
	display:table;
	/*border-box*/
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing:border-box;
}
.form-box-table .item-title {
	word-break:break-all;
	display:table-cell;
	width:/*230px*/25%;
	border-right:1px solid #CCCCCC;
	border-bottom:1px solid #CCCCCC;
	background-color:#f2f2ed;
	padding:15px 15px;
	vertical-align:top;
	/*border-box*/
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing:border-box;
}
.form-box-table .item-title .item {
	display:block;
	padding-top:0.5em;
	padding-bottom:0.5em;
	font-weight:bold;
    position:relative;
}
.form-box-table .item-title .item .item-name{
	float:left;
    width:80%;
}
.form-box-table .item-title .item .require {
    float:left;
    width:20%;
    background-color: #dc143c;
    color:#fff;
    font-size:11px;
    padding:5px;
	-moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    text-align: center;
}
.form-box-table .item-title .item span {
    display:block;
	position:absolute;
    top:0.5em;
    right:0.5em;
    margin-top:-1px;
}
.form-box-table .item-input {
	word-break:break-all;
	display:table-cell;
	border-right:1px solid #CCCCCC;
	border-bottom:1px solid #CCCCCC;
	padding:15px 15px;
	vertical-align:top;
	/*border-box*/
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing:border-box;
}
.form-box-table .item-input .auto {
    width:auto;
}
.form-box-table .item-input span {
	font-size: 10px;
}

/*2col*/
.form-box-table .col2-box {
	width:100%;
	display:table;
	margin-top:10px;
	/*border-box*/
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing:border-box;
}
.form-box-table .col2-box:first-child {
	margin-top:0;
}
.form-box-table .col2-box .sub-item-title {
	word-break:break-all;
	display:table-cell;
	width:/*120px*/20%;
	vertical-align:top;
	/*border-box*/
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing:border-box;
}
.form-box-table .col2-box .sub-item-title span {
	display:block;
	padding-top:0.5em;
	padding-bottom:0.5em;
	font-weight:bold;
}
.form-box-table .col2-box .sub-item-input {
	word-break:break-all;
	display:table-cell;
	vertical-align:top;
	padding-left:15px;
	/*border-box*/
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing:border-box;
}

@media screen and (max-width: 679px){
.container {
    padding:0;
    margin:0;
}
p {
    margin-left:10px;
}
.small-txt {
	font-size:12px;
}
.form-box {
	padding-bottom:10px;
	border-top:none;
    border-left:none;
}
.form-box-table {
	display:block;
	border-top:none;
	border-left:none;
}
.form-box-table .item-title {
	display:block;
	width:auto;
	border-right:none;
	border-bottom:none;
	background-color:#f2f2ed;
	padding:10px 10px;
	font-size:14px;
}
.form-box-table .item-title .item {
	display:block;
	padding-top:0.5em;
	padding-bottom:0.5em;
	font-weight:bold;
    position:relative;
}
.form-box-table .item-title .item span {
	display:inline-block;
    position: static;
    margin-left:5px;
}
.form-box-table .item-input {
	display:block;
	width:100%;
	border-right:none;
	border-bottom:none;
	padding:10px 10px;
}

/*2col*/
.form-box-table .col2-box {
	display:block;
	margin-bottom:5px;
	padding-bottom:10px;
	border-bottom:1px dotted #cccccc;
}
.form-box-table .col2-box .sub-item-title {
	display:block;
	width:100%;
	margin-bottom:5px;
}
.form-box-table .col2-box .sub-item-title span {
	display:inline-block;
	padding-top:0;
	padding-bottom:0;
}
.form-box-table .col2-box .sub-item-input {
	display:block;
	width:100%;
	padding-left:0;
}	
}

.h2-title-area {
	margin-bottom:20px;
	margin-top:30px;
}
.h2-title-area h2 {
	border-left:8px solid #1e50a2;
	padding:5px 0 5px 15px;
}
.h2-title-area h2 span {
	font-size:20px;
    font-weight: bold;
}

@media screen and (max-width: 679px){
.h2-title-area {
	padding:0 5px;
	margin-bottom:15px;
	margin-top:15px;
}
.h2-title-area h2 {
	padding:5px 0 5px 10px;
}
.h2-title-area h2 span {
	font-size:18px;
}
}

.item-agreement textarea {
	width: 100%;
	min-height: 140px;
	overflow-y: scroll;
}
.item-agreement .item-agreement-check-area {
	text-align: center;
	padding: 12px 20px;
	margin-top: 15px;
    background-color: #f2f2ed;
}
.item-agreement .item-agreement-check-area input {
	position: relative;
	top: 1px;
}
.item-agreement .item-agreement-check-area span {
	font-weight: bold;
	padding-left: 10px;
}
.item-agreement textarea {
	width: 100%;
	min-height: 140px;
	overflow-y: scroll;
	padding: 10px;
}
.item-agreement .item-agreement-check-area .require {
    background-color: #dc143c;
    color:#fff;
    font-size:11px;
    padding:5px;
	-moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    text-align: center;
}

.clear {
    clear:both;
}

.submit_btn {
    display: block;
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    background-color: #5500AB;
    margin:20px auto;
	padding:20px 100px;
	-moz-border-radius: 40px;
    -webkit-border-radius: 40px;
    border-radius: 40px;
    border: 1px solid #5500AB;
}
.back_btn {
    display: block;
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    background-color: #969696;
    margin:20px auto;
	padding:20px 100px;
	-moz-border-radius: 40px;
    -webkit-border-radius: 40px;
    border-radius: 40px;
    border: 1px solid #969696;
}

.sending {
    background-color: #1e50a2;
    border: 1px solid #1e50a2;
}



.contents_footer {
    margin-top:30px;
    color:#fff;
    background-color: #1e50a2;
    padding:10px;
    text-align:center;
}

.complete {
    margin:20px;
    font-size:14px;
    font-weight: bold;
}

.form-control.is-invalid, .was-validated .form-control:invalid {
    border-color: #dc3545;
    padding-right: calc(1.5em + 0.75rem);
    background-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e);
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.invalid-feedback {
    width: 100%;
    margin-top: 0.25rem;
    font-size: .875em;
    color: #dc3545;
}