@charset "utf-8";
.post_update {
    text-align: right;
    margin: 17px 0 3px;
}
.search_list {
    list-style: none;
    margin-bottom: 45px;
}
.search_panel {
    float: left;
    width: 33.33333333%;
    padding: 20px 20px 15px;
    margin-bottom: 5px;
}
.search_panel:hover {
    background: #f5f5f5;
}
.search_panel img {
    width: 100%;
}
.search_panel .title {
    display: block;
    color: #515151;
    font-weight: bold;
    font-size: 128.5%;
    margin-bottom: 12px;
}
.search_panel .summary {
    color: #323232;
    margin: 18px 0 9px;
}
.search_panel .summary p {
    margin-bottom: 8px;
}
.search_panel .action a {
    text-decoration: none;
}
.search_panel .action .action_top {
    margin: 0 0 9px;
}
.search_panel .action .btn_light_blue {
    float: left;
    min-width: 48%;
    width: auto;
    min-height: 39px;
    line-height: 39px;
    color: #1564b3;
    font-weight: bold;
    padding: 0 4px;
    text-align: center;
    /* display: block; */
    /* width: 100%; */
}
.search_panel .action .btn_light_blue:last-child {
    float: right;
}
.action .btn_dark_blue {
    width: 100%;
    display: block;
    height: 39px;
    line-height: 38px;
}
.search_panel:nth-child(3n+1) {
	clear:both;
}
/* ==================================================
home page
================================================== */
#temp_banner {
    height: 519px;
    background: url(/shared/images/front/bg_banner_default.png) no-repeat center top;
    -moz-background-size: 100% 100%;
    -webkit-background-size: 100% 100%;
    background-size: 100% 100%;
    text-align: center;
}
.banner_title{
    position: relative;
    padding: 63px 0;
    font-size: 185.7%;
    line-height: 1.4;
    color: #515151;
}
.banner_title:before{
    position: absolute;
    left: 50%;
    bottom: 45px;
    z-index: 10;
    margin-left: -30px;
    content: "";
    display: block;
    height: 2px;
    width: 60px;
    background-color: #1564b3;
}
.banner_category{
    padding: 0 26px;
    margin: 0 -8px;
    list-style: none;
}
.banner_category li{
    float: left;
    width: 33.33%;
    padding: 0 8px;
    display: table;
}
.banner_category li .inner_category{
    padding: 20px;
    width: 100%;
    height: 280px;
    display: table-cell;
    vertical-align: middle;
    overflow: hidden;
    color: #1564b3;
    background-color: #ffffff;
    -moz-border-radius: 7px;
    -webkit-border-radius: 7px;
    border-radius: 7px;
    -moz-box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.2);
    box-shadow: 1px 2px 10px rgba(0, 0, 0, 0.2);
}
.banner_category li h3{
    position: relative;
    padding-top: 100px;
    margin-bottom: 5px;
}
.banner_category li h3 a{
    color: #1564b3;
    font-size: 257.1%;
    font-weight: bold;
    text-decoration: none;
}
.banner_category li p{
    font-size: 100%;
}
.banner_category li h3:before{
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
}
.banner_category li.item_easy h3:before{
    margin: 10px 0 0 -30px;
    width: 60px;
    height: 60px;
    background: url(/shared/images/icon/icons_search_easy.png) no-repeat;
}
.banner_category li.item_detail h3:before{
    margin: 0 0 0 -32px;
    width: 65px;
    height: 71px;
    background: url(/shared/images/icon/icons_search_detail.png) no-repeat;
}
.banner_category li.item_map h3:before{
    margin: 2px 0 0 -37px;
    width: 74px;
    height: 67px;
    background: url(/shared/images/icon/icons_search_map.png) no-repeat;
}
#temp_intro{
    position: relative;
}
#temp_intro:before,
#temp_intro:after{
    position: absolute;
    top: 0;
    width: 50%;
    height: 100%;
    z-index: -1;
}
#temp_intro:before{
    content: '';
    left: 0;
    background-color: #eff6fb;
}
#temp_intro:after{
    content: '';
    right: 0;
    background-color: #e6f6f0;
}
.intro_row:before,
.intro_row:after,
.intro_registration:before,
.intro_registration:after,
.banner_category:before,
.banner_category:after{
    content: "";
    display: table;
}
.intro_row:after,
.intro_registration:after,
.banner_category:after{
    clear: both;
}
.intro_row .intro_col{
    padding: 55px 0 40px;
    width: 50%;
    float: left;
    text-align: center;
}
.intro_row .intro_col h2{
    position: relative;
    padding: 0 0 21px;
    font-size: 171.4%;
    line-height: 1.3;
}
.intro_row .intro_col h2:before{
    position: absolute;
    left: 50%;
    bottom: 0;
    z-index: 10;
    margin-left: -30px;
    content: "";
    display: block;
    height: 2px;
    width: 60px;
    background-color: #1564b3;
}
.intro_row .intro_media{
    padding: 39px 63px 0 10px;
    overflow: hidden;
}
.intro_row .intro_media .intro_left,
.intro_row .intro_media .intro_body{
    display: table-cell;
    vertical-align: middle;
}
.intro_row .intro_media .intro_left{
    padding-right: 40px;
    width: 193px;
}
.intro_row .intro_media .intro_left a{
    display: block;
    width: 153px;
}
.intro_row .intro_media .intro_left a img{
    width: 153px;
    height: 153px;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
}
.intro_row .intro_media .intro_body{
    overflow: hidden;
    text-align: left;
    font-size: 114.3%;
    width: 10000px;
}
.intro_registration{
    margin-top: 30px;
    padding:0 90px 9px 129px;
    text-align: left;
    font-size: 114.3%;
}
.intro_registration .paragraph{
    margin: 5px 20px 0 0;
    float: left;
    width: 200px;
}
.register_action{

    overflow: hidden;
}
.register_action .btn{
    display: block;
}

#support_section:before,
#support_section:after,
.support_row:before,
.support_row:after{
    content: "";
    display: table;
}
#support_section:after,
.support_row:after{
    clear: both;
}
#support_section{
    padding: 60px 0 55px;
}
.support_row{
    margin: 0 -20px;
}
.support_row .support_col{
    padding: 0 20px;
    width: 50%;
    float: left;
}
.support_title{
    padding: 15px 0;
    overflow: hidden;
    border-bottom: 2px solid #cacaca;
}
.support_title h2{
    position: relative;
    padding-left: 30px;
    float: left;
    color: #515151;
    font-size: 171.4%;
    
}
.support_title h2:before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -10px;
    height: 21px;
    border-left: 3px solid #1564b3;
}
.support_title a.list_detail{
    position: relative;
    padding-left: 27px;
    margin-top: 6px;
    float: right;
    font-size: 114.3%;
    color: #515151;
    text-decoration: none;
}
.support_title a.list_detail:before,
.support_title a.list_detail:after{
    content: "";
    position: absolute;
}
.support_title a.list_detail:before{
    left: 0;
    top: 50%;
    z-index: 5;
    margin-top: -7px;
    width: 14px;
    height: 14px;
    background-color: #1564b3;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
}
.support_title a.list_detail:hover:before,
.support_title a.list_detail:focus:before{
    background-color: #0382fd;
}
.support_title a.list_detail:after{
    top: 50%;
    left: 5px;
    z-index: 10;
    margin-top: -2px;
    border-top: 2px solid transparent;
    border-bottom: 2px solid transparent;
    border-left: 5px solid #ffffff;
}
.support_title a.list_detail:hover,
.support_title a.list_detail:focus{
    color: #0382fd;
}
.support_list{
    list-style: none;
    padding: 20px 0 0 8px;
    margin: 0;
}
.support_list li{
    padding: 9px 0;
}
.support_list li a{
    position: relative;
    padding-left: 23px;
    font-size: 114.3%;
    text-decoration: none;
    color: #0054a6;
    background-color: inherit;
}
.support_list li a:hover,
.support_list li a:focus{
    color: #0382fd;
    text-decoration: underline;
}
.support_list li a:before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -3px;
    width: 0;
    height: 0;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 7px solid #1564b3;
}
.support_list li a:hover:before,
.support_list li a:focus:before{
    border-left: 7px solid #0382fd;
}

/* ==================================================
rakuraku links
================================================== */
.raku_content{
    padding: 7px 0 0;
    margin: 0 0 38px;
}
.raku_title_sm{
    color: #515151;
    margin: 0 0 9px;
    padding-top: 7px;
}
.raku_title_sm p{
    padding-bottom: 5px;
}
.raku_title_sm h4{
    font-size: 114.3%;
}
.raku_link_wrap{
    display: block;
    margin: 0 -6px;
}
.raku_link_wrap:after{
    content: '';
    display: block;
    clear: both;
}
.raku_link_wrap .raku_link_cell{
    padding: 0 6px 11px;
    width: 25%;
    float: left;
}
.raku_link_wrap .raku_link_cell:nth-child(4n + 1){
    clear: left;
}
.raku_link_wrap .raku_link_cell:nth-child(4n){
    clear: right;
}
.raku_link_wrap .btn{
    width: 100%;
    display: table;
    padding: 10px 25px 8px 17px;
    vertical-align: middle;
    font-size: 127%;
    font-weight: bold;
    text-decoration: none;
    position: relative;
    line-height: 1.1;
    min-height: 40px;
}
.raku_link_wrap a.btn:before{
    content: '';
    width: 6px;
    height: 11px;
    background: url('/shared/images/icon/right_arrow.png') 0 0 no-repeat;
    -webkit-background-size: 100% 100%;
    background-size: 100% 100%;
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -6px;
}
.raku_link_wrap .btn span{
    display: table-cell;
    vertical-align: middle;
}
.raku_link_wrap.two_column .raku_link_cell{
    width: 50%;
}
/* ==================================================
rakuraku shitsujo
================================================== */
.raku_shitsujo_wrap {
	clear:both;
}
.raku_shitsujo_wrap:last-child {
	margin-bottom:20px;
}
.raku_shitsujo_wrap .raku_content {
    width: 440px;
	margin-bottom:0;
    float: left;
}
.raku_shitsujo_wrap .raku_content:first-child {
	margin-right:20px;
}
.raku_shitsujo_wrap .raku_shitsujo_cell.all {
    padding: 0 0 10px;
}
.raku_shitsujo_wrap .raku_shitsujo_cell {
	padding:18px 0 10px 6px;
	border-bottom:1px solid #dadada;
    font-weight: bold;
    font-size: 114.8%;
}
.raku_shitsujo_wrap .raku_shitsujo_cell.all .raku_shitsujo_btn_wrap {
	float: right;
	margin-left: 0;
}
.raku_shitsujo_wrap .raku_shitsujo_cell .raku_shitsujo_btn_wrap {
	width:285px;
    margin-left: 180px;
}
.raku_shitsujo_wrap .raku_shitsujo_cell .raku_shitsujo_btn_wrap .btn {
	min-width:100px;
	padding:4px 5px 1px;
	text-align:center;
	box-sizing:border-box;
	float:left;
}
.raku_shitsujo_wrap .raku_shitsujo_cell .raku_shitsujo_btn_wrap .btn:first-child {
	margin-right:5px;
}
/* ==================================================
rakuraku map
================================================== */
.raku_map_wrap .raku_content{
    /* width: 462px;
    float: left; */
    padding-top: 18px;
}
.raku_map_wrap .raku_map{
    float: right;
    margin-right: 20px;
    margin-top: 30px;
    margin-bottom: 89px;
    text-align: center;
}
/* ==================================================
signup
================================================== */
#temp_confirm_sg {
    margin-top: 12px;
}
#temp_confirm_sg .table_form tr > td:first-child,
#temp_signup .table_form tr > td:first-child {
    width: 268px;
}
#temp_signup .table_form tr > td:first-child {
    padding: 28px 16px 22px;
}
#temp_signup .table_form .required {
    margin-left: 5px;
}
#temp_confirm_sg .table_form tr > td {
    padding: 18px;
}

/* ==================================================
rakuraku calendar
================================================== */
.raku_calendar_wrap{
    margin-top: 20px;
}
.raku_calendar .controls{
    padding-bottom: 8px;
}
.raku_calendar .controls a{
    font-weight: 700;
    color: #1564b3;
    background: inherit;
    text-decoration: none;
}
.raku_calendar .controls a:hover,
.raku_calendar .controls a:active,
.raku_calendar .controls a:focus{
    text-decoration: underline;
}
.raku_calendar .controls .btn_prev{
    float: left;
}
.raku_calendar .controls .btn_prev:before{
    content: '<';
    margin-right: 15px;
}
.raku_calendar .controls .btn_next{
    float: right;
}
.raku_calendar .controls .btn_next:after{
    content: '>';
    margin-left: 15px;
}
.raku_calendar .cnt{
    margin: 0 -12px;
}
.raku_calendar .item{
    float: left;
    width: 33.33%;
    padding: 0 12px;
}
.raku_calendar .item table{
    border: 1px solid #cdcdcd;
    background-color: #f4f4f4;
    color: #515151;
    width: 100%;
    text-align: center;
    font-size: 71.4%;
}
.raku_calendar .item caption{
    background-color: #f4f4f4;
    color: inherit;
    font-size: 180%;
    border: 1px solid #cdcdcd;
    border-bottom: none;
    font-weight: bold;
    padding: 12px 0 8px;
}
.raku_calendar .item tbody td{
    background: #ffffff;
    color: inherit;
    border: 1px solid #cdcdcd;
    font-weight: bold;
    padding: 9px 0 8px;
}
.raku_calendar .item thead th{
    background: #ffffff;
    color: inherit;
    border: 1px solid #cdcdcd;
    padding: 1px 0 0;
}
.raku_calendar .item tbody .empty{
    background-color: #f4f4f4;
}
.raku_calendar .btn{
    width: 240px;
    height: 56px;
    font-size: 114.3%;
    display: block;
    margin: 21px auto 24px;
    font-weight: bold;
    padding: 18px 0 0;
}
.small_block_text{
    display: inline-block; 
    width: 40px;
    min-height: 40px;
    border-radius: 2px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
}
.small_block_text .txt{
    display: table;
    width: 100%;
    letter-spacing: -1px;
    position: relative;
    top: 1px;
	font-weight:bold;
}
.small_block_text .txt span{
    text-align: center;
    vertical-align: middle;
    display: table-cell;
    font-size: 87.5%;
    height: 40px;
    line-height: 1.2;
}
.flex-center {
    align-items: center;
    display: flex;
}
