@charset "UTF-8";
/* CSS Document */
input, select {
    vertical-align: middle;
    font-size: 1em;
    padding: 5px;
}
select {
    border-radius: 2px;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    padding: 5px;
	border: #bbb solid 1px;
}

input[type="checkbox"],
input[type="radio"] {
    width: 20px;
    height: 20px;
    margin: 5px 0 5px 0;
    vertical-align: middle;
}
li {
    list-style: none;
}
h3,
h4.q_text {
    margin: 10px 0.3em 15px;
    padding: 1px 10px 5px;
    background: #5bcab4;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3em;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    border: 2px dashed #fff;
    -moz-box-shadow: 0 0 0 4px #5bcab4;
    -webkit-box-shadow: 0 0 0 4px #5bcab4;
    box-shadow: 0 0 0 4px #5bcab4;
}
.SchoolSearchType {
    display:none;
}
.ShoolSearchPref {
    margin: 30px 0.3em 15px;
    padding: 1px 10px 5px;
    background: #5bcab4;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3em;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    border: 2px dashed #fff;
    -moz-box-shadow: 0 0 0 4px #5bcab4;
    -webkit-box-shadow: 0 0 0 4px #5bcab4;
    box-shadow: 0 0 0 4px #5bcab4;
}
h3:before,
h4.q_text:before,
.ShoolSearchPref:before {
    content: url(../img/title_s.png);
    margin-right: 10px;
    position: relative;
    top: 4px;
}
[id^="ShoolSearchPref"] h4 {
     position: relative;
     padding-left: 15px;    
}
[id^="ShoolSearchPref"] h4::before {
     position: absolute;
     content: '';
     width: 0;
     height: 0;
     border: solid 6px transparent;
     border-left: solid 8px #1E8E7C;
     top: 50%;
     left: 0;
     margin-top: -5px;
}
[id^="ShoolSearchPref"] h4 label span a{
    width: 100%;
    display: inline-block;
    padding: 5px;
    box-sizing: border-box;
    text-decoration: none;
    font-size:16px;
}
[id^="ShoolSearchPref"] h4 label span a:hover {
	background: #eee;
}
.PrimarySchool,
.JuniorHighSchool {
    font-weight: bold;
    clear: both;
    font-size: 16px;
    margin: 5px 0;
    color: #1E8E7C;
}
[id^="ShoolSearchPref"] li label {
    width: 100%;
    display: inline-block;
    padding: 2px 2px 2px 10px;
    box-sizing: border-box;
}
[id^="ShoolSearchPref"] li label:hover {
	background: #eee;
}
.school_search .main #form1 input[type="submit"] {
    padding: 10px 15px;
    font-size: 130%;
}

.modal_window {
    background: #fff;
    padding: 20px;
}
table.SearchTableArea,
table.SearchTableLine,
table.SearchTable,
table.serchTbl,
table.FormBukken {
    width: 100%;
    margin-bottom: 2em;
    border-collapse: collapse;
    border: none;
    background: #fff;
    border: 1px solid #ccc;
    font-size: 100%;
}
table.SearchTableArea th,
table.SearchTableLine th,
table.SearchTable th,
table.serchTbl th,
table.FormBukken th {
    padding: 10px;
    text-align: left;
    vertical-align: middle;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    background: #eee;
    font-weight: bold;
    box-sizing: border-box;
    vertical-align: middle;
    width: 22%;
}
table.SearchTableArea td {
    padding: 10px 10px 40px;
    text-align: left;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
    vertical-align: middle;
    /*width: 78%;*/
}
table.SearchTableLine td,
table.SearchTable td,
table.serchTbl td,
table.FormBukken td {
    padding: 10px;
    text-align: left;
    border-bottom: 1px solid #ccc;
    box-sizing: border-box;
    vertical-align: middle;
    /*width: 78%;*/
}

.FormSubGroup {
	font-weight:bold;
	font-size:1.1em;
	padding: .25em 0 .25em .5em;
	border-left: 6px solid #AAAAAA;	
	margin-bottom:.5em;
	text-align: left;
}
.FormTable {
	width:100%;
	margin-bottom:1em;
	border-collapse:collapse;
	border:1px solid #ccc;
	box-sizing: border-box;
}
.FormTableRow {
	border-bottom:1px solid #ccc;
}
.FormTableRow:last-child {
	border-bottom:none;
}
.FormKoumoku {
	padding:10px;
	vertical-align:middle;
	background:#eee;
	font-weight:bold;
	width:20%;
	border-right:1px solid #ccc;
	text-align: left;
	display: inline-block;
    box-sizing: border-box;
}
.FormValue {
	padding:10px;
	text-align:left;
	width:80%;
	display: inline-block;
    box-sizing: border-box;
}
.FormRequired {
	color: #B92308;
	font-size:0.8em;
	font-weight:bold;
}
.form_required input,
.form_required select,
.form_required textarea {
    background: none repeat scroll 0 0 #ffe5e5;
    border: 1px solid #ff4040;
	padding:5px;
	box-sizing: border-box;
}
.form_required input[type="password"] {
	width:35%;
}
#form_1,
#user_Tel1 {
	width:50%;
}
#user_MobileTel1,
#user_Fax1 {
	width:50%;
}
#user_Name1,
#user_NameKana1,
#user_Address1,
#user_Address2,
#user_Email {
	width:100%;
}
#user_Address3,
#user_Email2,
#user_Office,
#user_OfficeDiv,
#user_OfficeAddress1,
#user_OfficeAddress2,
#user_OfficeAddress3,
#user_OfficeWork,
#user_OfficePosition,
#user_OfficeStation,
#form_22,
#form_23,
#form_24,
#form_25,
#form_28,
#form_29,
#form_61 {
	width:100%;
}
#form_27,
.form_radio_element_64,
#form_26,
.form_radio_element_63
{
    float:left;
    margin-right: 8px;
}


#user_Zip1,
#user_OfficeZip1,
#user_Income,
#form_5,
#form_6 {
	width:15%;
}
.FormTableRow textarea {
	width: 100%;
    height: 100px;
}

#form_private_policy {
	border: solid 1px #ccc;
	width: 100%;
	height: 180px;
	padding: 0.5em;
	overflow: auto;	
}

table.FormBukken .FormBukkenEach tr {
    padding: 0 0 10px;
}
table.FormBukken td table.FormBukkenEach {
    border: none;
}
table.FormBukken td table.FormBukkenEach th {
    display: none;
}
table.FormBukken td table td img {
    max-width: 80px;
    max-height: 80px;
}
table.FormBukken td table.FormBukkenEach td .FormBukkenPrice {
    font-size: 16px;
    font-weight: bold;
    color: #ef8000;
}
table.FormBukken td table.FormBukkenEach td .FormBukkenPrice .man {
    font-size: 14px !important;
    font-weight: normal !important;
    color: #333 !important;
}
table.FormBukken td table td:nth-child(2) {
    width:10%;
}
table.FormBukken td table td:nth-child(3) {
    width:40%;
}
table.FormBukken td table td:nth-child(4) {
    width:30%;
}
table.FormBukken td table td:nth-child(5) {
    width:20%;
}
.search_conditions_ul span#search_area_modal_button a,
.search_conditions_ul span#search_line_modal_button a,
.search_conditions_ul span#search_other_modal_button a {
    padding: 0px 3px;
    background:#fff;
    border-radius: 4px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    color:#aaa;
    margin: 0 auto;
    border: 1px #aaa solid;
    -webkit-appearance: none;
    width:120px;
    float: right;
}
.search_conditions_ul span#search_area_modal_button a:hover,
.search_conditions_ul span#search_line_modal_button a:hover,
.search_conditions_ul span#search_other_modal_button a:hover,
.FormTable a.AddessSet_4:hover {
    background:#ccc;
    border:1px #ccc solid;
    color:#fff;
}
.form_button {
    text-align: center;
}
.form_button input {
    font-size: 1.3em !important;
    padding: 10px 20px !important;
}
.form_button a {
    font-size: 1.3em !important;
    padding: 20px !important;
    display: block;
    margin: 30px auto !important;
    background: #ef8000;
    border-radius: 10px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    color: #fff;
    border: 1px #ef8000 solid;
    -webkit-appearance: none;
    width: 60%;
}
.form_button a:hover {
    background:#cf6f00;
    border:1px #cf6f00 solid;
}
input[type="submit"],
input[type="button"],
.SearchMoreButton a,
.FormTable a.AddessSet_4,
.FormTable a.LineStationSet_3 {
    padding: 2px 5px;
    background: #ef8000;
    border-radius: 4px;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    color: #fff;
    margin: 0 auto;
    border: 1px #ef8000 solid;
    -webkit-appearance: none;
    font-size: 1em;
}
input[type="submit"]:hover,
input[type="button"]:hover,
.SearchMoreButton a:hover,
.FormTable a.AddessSet_4:hover,
.FormTable a.LineStationSet_3:hover {
    background:#cf6f00;
    border:1px #cf6f00 solid;
}
.search_button {
    position: fixed;
    bottom: 0px;
    right: 0px;
    background-color: rgba(102,102,102,0.8);
    color: #fff;
    width: 100%;
    text-align: center !important;
    margin: 0px !important;
    padding: 10px;
    box-sizing: border-box;
    z-index: 1;
}
.search_button > li {
    display: inline-block;
    font-size:1.3em;
}
.search_button li#BukkenCountView #SearchResultCountAjax {
    font-weight: bold;
    color: #ef8000;
    font-size: 1.4em;
}


/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:767px) {
	.FormTableRow,
	.FormKoumoku,
	.FormValue {
	width:100% ;
	display: block !important;
	}
	.form_required {
	display: block !important;	
	}
	.form_required input[type="password"] {
	width:60%;
	}
    
    #form1 {
		width: 100%;
		margin: 0 auto;
	}
    #form1 .FormSubGroup {
		display: block;
		font-size: 15px;
		padding-left: 10px;
		border-bottom:1px solid #ccc !important;
	}
    #form1 table.FormBukken {
        border-top:1px solid #ccc !important;
    }
     #form1 table.FormBukken tr {
        border-bottom: none !important;
}
    #form1 .FormKoumoku {
        border-right: none;
    }
    #form1 .FormKoumoku,
    #form1 .FormBukken th {
		display: block !important;
		width: 100%;
		padding: 10px;
		font-size: 14px !important;
        border-bottom:1px solid #ccc !important;
	}
    #form1 .FormBukken th.FormBukkenCount {
        display: none !important;
    }
    #form1 .FormValue {
		display: block !important;
        width: 100%;
    	background: #fff;
    	border: none;
    	font-size: 13px !important;
    	text-align: left;
		border-bottom:none;
	}
        #form1 .FormBukken td {
		display: block !important;
        width: 100%;
    	background: #fff;
    	border: none;
    	font-size: 13px !important;
    	text-align: left;
		border-bottom:1px solid #ccc !important;
        padding: 5px !important;
	}
     #form1 table.FormBukken td table.FormBukkenEach {
        border: none;
        margin-bottom: 0em;
    }
     #form1 .FormBukken td .FormBukkenEach td {
		border-bottom:none !important;
	}
    table.SearchTableArea th,
    table.SearchTableLine th,
    table.SearchTable th,
    table.serchTbl th,
    table.FormBukken th {
    padding: 10px;
    text-align: left;
    vertical-align: middle;
    border-right: none;
    border-bottom: 1px solid #ccc;
    background: #eee;
    font-weight: bold;
    box-sizing: border-box;
    vertical-align: middle;
    width: 100%;
    }
}

.FormTable {
    display:table;
}
.FormTableRow {
    display:table-row;
}
.FormKoumoku {
    display:table-cell;
}
.FormValue {
    display:table-cell;
}