@charset "utf-8";
/* CSS Document */
ul{
	line-height: 2;
	font-size: 16px;
}

/* --- lespace-box --- */

.lespace-box h1{
	text-align: center;
	margin-bottom: 25px;
}

.lespace-box .col-md-4{
	padding-left: 5px;
	padding-right: 5px;
}

.lespace-box .lespace-list{
	display: block;
	border: 1px solid #ccc;
	overflow: hidden;
	min-height: 140px;
	padding:8px 8px 0 8px;
	color: #000;
}
.lespace-box a.lespace-list:hover,
.lespace-box a.lespace-list:active{
	text-decoration: none;
	border: 1px solid #AC1F24;
	background-color: #fefefe;
}
.lespace-box a.lespace-list:hover:after,
.lespace-box a.lespace-list:active:after{
	content: "\f101";
	position: absolute;
	bottom: 1px;
	right: 15px;
	font-family: 'FontAwesome';
	font-size: 1.7em;
	color: #AC1F24;
	font-weight: bold;
}
.lespace-box .lespace-list h2{
	margin-top: 5px;
	margin-bottom: 5px;
	color: #AC1F24;
	font-size: 1.3em;
}

.lespace-list .img-box{
	float: left;
	height: 100%;
}

.lespace-list .img-box img{
	box-shadow: 2px 2px #999;
	margin:0 18px 10px 0;
}
/* -- button small -- */
.button_small {
	display: inline-block;
	padding: 0 10px;
	min-width: 170px;
	height: 28px;
	text-align: center;
	text-decoration: none;
	line-height: 28px;
	outline: none;
	border-radius: 3px;
}
.button_small::before,
.button_small::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button_small,
.button_small::before,
.button_small::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.button04 {
  border: 1px solid #666;
  background-color: #ccc;
  background-image: -webkit-linear-gradient(top, #fff, #eee);
  background-image: linear-gradient(to bottom, #fff, #eee);
  border-radius: 4px;
  color: #333;
  -webkit-transition: none;
  transition: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
}
.text-large {
	font-size: 125%;
}
.lespace_new {
	color: #FFF;
	background-color: #AC1F24;
	padding: 0 .7em;
	margin: 0 auto 10px;
	text-align: center;
	width: 5em;
	font-weight: bold;
}

@media (max-width:769px){
	.lespace-box .col-md-4{
		padding-left: 0;
		padding-right: 0;
	}
	.lespace-box .lespace-list h2{
		font-size: 1.15em;
	}
}


/* --- disaster --- */
.disaster{
	font-size: 2.25em;
}

.disaster a{
	display: block;
	background-color: #9EDC50;
	color: #3d5e13;
	padding: 20px;
	line-height: 1em;
	height: 279px;
	box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.29);
	position: relative;
	font-weight: 600;
	text-shadow: 1px 2px 0 rgba(255,255,255,0.6);
}
.disaster a:hover,
.disaster a:active{
	text-decoration: none;
	box-shadow: inset 0 0 1px rgba(128, 128, 128, 0.1);
  transform: translateY(2px);
}
.disaster a p.small{
	font-size: .55em;
	margin-bottom: 0;
	line-height: 1.4em;
	font-weight: normal;
}

.disaster a .btn{
	border: 1px solid #3d5e13;
	width: 80%;
	position: absolute;
	bottom: 15px;
	right: 15px;
	font-weight: 500;
	background-color: #7dc127;
	text-shadow: none;
	color: #0f1805;
}

.disaster a .btn::before{
	content: url(../images/top/disaster-icon.png);
	position: absolute;
	top: -85px;
	right: 10px;
}

@media (max-width:992px){
	.disaster{
		padding-left: 15px;
		padding-right: 0px;
	}
}
@media (max-width:769px){
	.disaster{
		font-size: 1.15em;
	}
	.disaster a{
		padding: 10px 15px;
		max-height: 130px;
	}
	.disaster a .btn::before{
		content: "";
	}
}

/* --- lifeintokyo --- */

.lifeintokyo{
	display: table;
	padding-left: 0px;
	padding-right: 0px;
}

.lifeintokyo a{
	display:table-cell;
	width: 100%;
	height: 279px;
	vertical-align: middle;
	text-align: center;
	border: 1px solid #DBDCDC;
	padding: 0 15px;
	box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.29);
}

.lifeintokyo a:hover,
.lifeintokyo a:active{
	text-decoration: none;
	box-shadow: inset 0 0 2px rgba(128, 128, 128, 0.1);
  transform: translateY(2px);
}
@media (max-width:992px){
	.lifeintokyo{
		padding-left: 0px;
		padding-right: 15px;
	}
}
@media (max-width:769px){
	.lifeintokyo a{
		height: 150px;
		padding: 15px 5px;
	}
	.lifeintokyo img{
		height: 80%;
		width: auto;
	}
}

/* --- twitter --- */

.twitter_wrap {
	border: 1px solid #DBDCDC;
}

/* --- seikatsuguide --- */
.guide h1{
	margin-bottom: 25px;
	margin-top: 10px;
}

.guide .button {
	display: inline-block;
	padding: 0.9em 1em;
	width: 100%;
	font-size: 1em;
	text-align: center;
	text-decoration: none;
	outline: none;
	border: 1px solid #999;
	background: #fff;
	color: #333;
	box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.29);
}
.guide .button,
.guide .button::before,
.guide .button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.guide .button:hover {
	background-color: #fffbfb;
	border: 1px solid #AC1F24;
	text-decoration: none;
	color: #AC1F24;
	box-shadow: inset 0 0 2px rgba(128, 128, 128, 0.1);
  transform: translateY(2px);
}

.bg-white{
	background-color: #fff;
	padding: 25px;
	overflow: hidden;
}

.bg-white .guide-box_l{
	padding-left: 10px;
	padding-right: 10px;
}

.bg-white .guide-box_l a{
	border: 1px solid #999999;
	display: block;
	color: #000000;
	margin-bottom: 15px;
	font-size: 1.2em;
	padding: 20px 10px 20px 70px;
	position: relative;
	box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.29);
}

.bg-white .guide-box_l a:hover,
.bg-white .guide-box_l a:active{
	text-decoration: none;
	box-shadow: inset 0 0 2px rgba(128, 128, 128, 0.1);
  transform: translateY(2px);
}

.bg-white .guide-box_l a.lightbulb:before{
	content: "\f0eb";
	font-family: FontAwesome;
	color: #FFFFFF;
	font-size: 45px;
	background-color: #E50012;
	padding: 0px 16px;
	min-height: 100%;
	text-align: center;
	position: absolute;
	top:0;
	left: 0;
}
.bg-white .guide-box_l a.exclamation:before{
	content: "\f06a";
	font-family: FontAwesome;
	color: #FFFFFF;
	font-size: 45px;
	background-color: #E50012;
	padding: 0 10px;
	min-height: 100%;
	text-align: center;
	position: absolute;
	top:0;
	left: 0;
}
.bg-white .guide-box{
	text-align: center;
	margin-top: 20px;
	margin-bottom: 20px;
}

.bg-white .guide-box a{
	padding: 25px 0 10px;
	color: #ffffff;
	display: block;
	max-width: 140px;
	margin: 0 auto;
	font-weight: bold;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
}
.bg-white .guide-box a:hover,
.bg-white .guide-box a:active{
	text-decoration: none;
	box-shadow: inset 0 0 2px rgba(128, 128, 128, 0.1);
  transform: translateY(2px);
}

.bg-white .guide-box a.procedures{
	background-color: #FF8AA4;
}
.bg-white .guide-box a.life{
	background-color: #ffa108;
}
.bg-white .guide-box a.child{
	background-color: #ffc63e;
}
.bg-white .guide-box a.education{
	background-color: #b6d346;
}
.bg-white .guide-box a.employment{
	background-color: #9EDC50;
}
.bg-white .guide-box a.tax{
	background-color: #31C7AA;
}
.bg-white .guide-box a.insurance{
	background-color: #41A5D4;
}
.bg-white .guide-box a.consultation{
	background-color: #918fc0;
}
.bg-white .guide-box a.government{
	background-color: #B57AC1;
}
.bg-white .guide-box a.facilities{
	background-color: #EF94B6;
}

.bg-white .guide-box i{
	font-size: 4em;
	display: block;
	margin-bottom: 6px;
	font-weight: normal;
}

.bg-white .guide-box span{
	text-shadow: #333 1px 1px 1px, #333 -1px 1px 1px,
							 #333 1px -1px 1px, #333 -1px -1px 1px;
}

@media (max-width:769px){
	.bg-white{
		padding: 15px 10px;
	}
	.bg-white .guide-box_l{
	padding-left: 5px;
	padding-right: 5px;
	}
	.bg-white .guide-box_l a i{
		font-size: 2.5em;
	}
	.bg-white .guide-box{
		padding-left: 5px;
		padding-right: 5px;
		margin-top: 0;
		margin-bottom: 10px;
	}
	.bg-white .guide-box a{
		padding-top:10px;
	}
	.bg-white .guide-box i{
		font-size: 2.5em;
		margin-bottom: 5px;
	}
}
/* --- topics-box --- */

.topics-box h1{
	padding-bottom: 10px;
	margin: 0 auto .8em;
	text-align: center;
	font-size: 1.85em;
}

.topics-box h1:after {
	display:block;
	border-top: 3px solid #AC1F24;
	width: 320px;
	height:1px;
	content:'';
	margin:10px auto 0;
}

.topics-box h1 i{
	font-size: 1.2em;
	padding-right: .5em;
}

.topics-box .ichiran{
	margin-bottom: 2em;
	overflow: hidden;
}

.topics-box .ichiran a{
	border: 1px solid #333;
	position: relative;
	text-decoration: none;
	color: #000;
	padding:.2em 2em .2em .5em;
	display: block;
	max-width: 400px;
	float: right;
}

.topics-box .ichiran a:hover,
.topics-box .ichiran a:active{
	background-color: #f5f5f5;
}

.topics-box .ichiran a:after{
	content: "\f04b";
	font-family: FontAwesome;
	color: #333;
	position: absolute;
	top: 50%;
	right:5px;
	margin-top: -.7em;
}

.topics-box ul{
	list-style: none;
	border: 1px solid #ccc;
	padding: 2em;
	margin-bottom: 15px;
}

.topics-box ul li{
	border-top:1px solid #ccc;
	position: relative;
}
.topics-box ul li:first-child{
	border-top: none;
}
.topics-box ul li a:before{
	content: "\f04b";
	font-family: FontAwesome;
	color: #AC1F24;
	position: absolute;
	left:10px;
}

.topics-box ul.no-mark li a:before{
	content: "";
	left:10px;
}

.topics-box ul li a{
	display: block;
	text-decoration: none;
	color: #000;
	padding:.9em 1.25em .9em 2em;
}

.topics-box ul.no-mark li a{
	padding: .9em 1.25em .9em .25em; 
}

.topics-box ul li a:hover,
.topics-box ul li a:active{
	background-color: #f5f5f5;
}

.topics-box ul li.new a{
	padding-right: 4em;

}

.topics-box ul li.new a:after{
	content: "NEW";
	color: #FFF;
	background-color: #AC1F24;
	position: absolute;
	padding: 0 .7em;
  top: 50%;
	right:0;
	margin-top: -.5em;
}

.topics-box ul li a .date{
	margin-right: 2em;
	display: block;
	float: left;
}

.topics-box ul li a .date span{
	color: #fff;
	padding:.0em .5em;
	margin-right: 1.2em;
	width: 8em;
	text-align: center;
	display: block;
	float: left;
	font-weight: bold;
}

.topics-box ul li a .date span.event{
	background-color: #FF8AA4;
}

.topics-box ul li a .date span.seminar{
	background-color: #41A5D4;
}

.topics-box ul li a .date span.volunteer{
	background-color: #31C7AA;
}

.topics-box ul li a .date span.japanese{
	background-color: #B57AC1;
}

.topics-box ul li a .date span.study{
	background-color: #ffa108;
}

.topics-box ul li a .date span.other{
	background-color: #999999;
}

@media (max-width:991px){
	.topics-box ul li a .date{
		padding: 0 0 .3em 0;
		float: none;
	}
}

@media (max-width:769px){
	.topics-box h1{
		font-size: 1.4em;
	}
	.topics-box h1:after{
		width: 230px;
	}
	.topics-box ul{
		padding: .5em;
	}
	.topics-box ul li a{
		padding:.5em 1.25em .5em 2em;
	}
}


/* --- link --- */

.link{
	margin-bottom: 35px;
}

.btn_bg{
	display: block;
	text-align: center;
	font-size: 1.4em;
	font-weight: 500;
	color: #fff;
	background-color: #41A5D4;
	padding: 0.9em 0;
	box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
	text-shadow: 1px 2px 0 rgba(0,0,0,0.3);
}

.btn_bg:hover,
.btn_bg:focus{
	color: #eee;
	background-color: #339ed1;
	text-decoration: none;
	box-shadow: inset 0 0 2px rgba(128, 128, 128, 0.1);
  transform: translateY(2px);
}

.btn_bg i{
	font-size: 1.2em;
	margin-right: 0.3em;
	padding-top: 5px;
}

@media (max-width:991px){
	.link .low div:first-child{
		margin-bottom: 1.5em;
	}
}

@media (max-width:769px){
	.btn_bg{
		font-size: 1em;
	}
}

/* --- event calendar --- */
.event_title{
	margin-left: 240px;
	display: block;
}
.topics_title{
	margin-left: 94px;
	display: block;
}
.relay_title{
	margin-left: 168px;
	display: block;
}
@media (max-width:769px){
	.event_title, .topics_title, .relay_title{
		margin-left: 0px;
	}

}