@charset "UTF-8";
/* CSS Document */

#breadcrumb {
	margin-bottom: 0px;
}

/*flex
-------------------------------------------------------*/
#t_flow ol, #staff.page .flex.column2 > li > a, #staff.detail .cont dl > * {
	display: -webkit-flex;
	display: flex;
	flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

/*t_content
-------------------------------------------------------*/
#t_content h2.pagetitle {
	color: #333;
	
}
#t_content h2 + p {
  color: #000000;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 40px;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 500;
  text-align: center;
}
#t_flow .inner > h2:nth-of-type(n+2) {
	margin-top: 40px;
}
#t_flow .inner > h2:nth-of-type(n+2) + p {
	margin-bottom: 0px;
}
#t_case.bg3 h2, #t_contact h2 {
  background: #336380;
  color: #ffffff;
  width: 500px;
	margin: 0 auto 40px auto;
  font-size: 2.7rem;
  font-weight: 500;
  line-height: 50px;
  border-radius: 5px;
	text-align: center;
  position: relative;
  z-index: 100;
}
.pager {
   padding-bottom: 0px;
}

/*bg
-------------------------------------------------------*/
.bg3 {
  background: #e5f2fa;
}


/*t_topimage
-------------------------------------------------------*/
#t_topimage figure img {
	width: 100%;
	height: auto;
}

/*t_flow
-------------------------------------------------------*/
#t_flow figure {
	margin-bottom: 20px;
}
#t_flow figure img {
	width: 100%;
	height: auto;
}
#t_flow h3 {
	color: #336380;
	padding-right: 20px;
	font-size: 1.8rem;
	line-height: 2.6rem;
	font-weight: 700;
	text-align: center;
}
#t_flow h3 span {
	font-size: 1.4rem;
	font-weight: 500;
	display: block;
}

/*t_staff
-------------------------------------------------------*/
#t_staff h2, #t_staff a.btn {
	color: #ffffff;
}
#t_staff a.btn {
	background: none;
	border-color: #ffffff;
}
#t_staff {
	background: url("../img/billmansion/t_staff.jpg?date=20200730") top center no-repeat;
	background-size: cover;
}
#t_staff .inner {
	padding: 100px 0;
}

/*t_case
-------------------------------------------------------*/
#t_case.bg3 h2:nth-of-type(n+2) {
  margin-bottom: 0px;
}
#t_case .flex.column2 li a, #t_case .flex.column3 li a {
	background: #ffffff;
	color: #000000;
	height: 100%;
	padding: 10px;
	display: block;
	box-shadow: rgba(0,0,0,0.2) 2px 2px;
}
#t_case .flex.column2 li a {
	display: -webkit-flex;
	display: flex;
	flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
	align-items: center;
	
	padding: 0px;
}
#t_case .flex.column2 li a h3 {
	color: #336380;
	padding-left: 30px;
	font-size: 2.6rem;
}
#t_case .flex.column2 li a figure {
	width: 50%;
}
#t_case .flex.column2 li a figure img {
	height: 150px
}
#t_case .flex li a:hover {
	opacity: 0.7;
}
#t_case figure {
}
#t_case figure img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	font-family: 'object-fit: cover;'; /*IE対策*/
}
#t_case li .genre {
	background: rgba(0,0,0,0.7);
	color: #ffffff;
	width: 90px;
	margin-top: -30px;
	padding: 5px 0;
	font-size: 1.2rem;
	line-height: 2.0rem;
	text-align: center;
	position: relative;
	z-index: 1;
}
#t_case li .place {
	margin-top: 10px;
	font-size: 1.3rem;
	line-height: 2.0rem;
}
#t_case li h3 {
	font-size: 1.8rem;
	line-height: 2.4rem;
	font-weight: 700;
}
#t_case li .other {
	margin-top: 5px;
	font-size: 1.2rem;
	line-height: 2.0rem;
	opacity: 0.6;
}
#t_case.page h2 {
	margin-bottom: 60px;
}
#t_case.page .inner > h3 {
  background: #525f66;
  color: #ffffff;
	margin: 60px 0 40px 0;
	padding: 0 20px;
  font-size: 2.0rem;
  font-weight: 500;
  line-height: 40px;
  border-radius: 5px;
  position: relative;
}
#t_case.page .flex.column3 li a {
	background: #e5f2fa;
}
#t_case.page nav ul li a {
  border: #000000 1px solid;
  background: #ffffff;
  color: #000000;
  max-width: 220px;
  padding: 10px;
  text-align: center;
  line-height: 20px;
  display: block;
  position: relative;
}
#t_case.page nav ul li a::after {
  font-family: "FontAwesome";
  content: '\f107';
	margin-left: 10px;
	display: inline-block;
}
#t_case.page nav ul li a:hover {
	background: #000000;
	color: #ffffff;
	opacity: 1.0;
}
#t_case.page .p_link {
	display: block;
	position: relative;
	left: 0;
	top: -120px;
}

/*t_info
-------------------------------------------------------*/
#t_info {
	margin-top: 60px;
}
#t_info h2 {
  width: 100%;
  margin-bottom: 40px;
}

/*t_contact
-------------------------------------------------------*/
#t_contact .inner {
	display: block;
}

/*billmansion
-------------------------------------------------------*/
#billmansion .inner {
	padding-bottom: 0px;
}
#billmansion h2 {
	margin-bottom: 60px;
}
#billmansion .main img {
	width: 100%;
	height: 640px;
	object-fit: cover;
	font-family: 'object-fit: cover;'; /*IE対策*/
}
#billmansion .sub {
	background: url(/img/billmansion/bg.png) left top repeat;
	background-size: 5px 5px;
  margin: 60px calc(50% - 50vw);
	padding: 60px 0;
  width: 100vw;
}
#billmansion .sub li {
	background: #ffffff;
	box-shadow: rgba(0,0,0,0.2) 2px 2px;
}
#billmansion .sub li a {
	background: #ffffff;
	width: 100%;
	height: 460px;
	padding: 20px;
	display: block;
}
#billmansion .sub img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	font-family: 'object-fit: contain;'; /*IE対策*/
}
#billmansion .cont {
	border: #b2b2b2 1px solid;
	padding:0 40px 20px;
	/* padding-top: 40px; */
	margin-top: 1em;
}
#billmansion .cont dl > * {
	width: 100%;
	margin-top: 20px;
	display: -webkit-flex;
	display: flex;
	flex-direction: row;
  flex-wrap: wrap;
	justify-content: space-between;
}
#billmansion .cont dt {
	background: #b2b2b2;
	color: #ffffff;
	width: 90px;
	height: 20px;
	margin-right: 10px;
	font-size: 1.3rem;
	line-height: 2.0rem;
	text-align: center;
	border-radius: 2px;
}
#billmansion .cont dd {
	font-size: 1.4rem;
	line-height: 2.0rem;
	flex: 1;
}
#billmansion .summary {
	padding: 30px 40px;
    font-size: 1.5em;
	line-height: 2;
}
#grid {
	margin-top: 20px;
  overflow: hidden;
}
#grid li {
  width: 50%;
  padding: 20px 10px 0 10px;
}
#grid li img {
  max-width: 100%;
  height: auto;
}
/* paging */
.paging{
display: flex;
justify-content: space-between;
align-items: center;
font-size: 1.5em;
}
.paging span{
	display: flex;
    align-items: center;
}
.paging span a{
	color: #333;
}
.paging span:nth-child(2){
	display: none;
}
.paging .nav_back:not(:empty)::before{
	font-family: "FontAwesome";
    content: '\f060';
	font-size: 1.5em;
    display: inline-block;
    margin-right: 0.25em;
}
.paging .nav_next:not(:empty)::after{
	font-family: "FontAwesome";
    content: '\f061';
	font-size: 1.5em;
    display: inline-block;
    margin-left: 0.25em;
}


/*staff
-------------------------------------------------------*/
#staff * {
	position: relative;
}
#staff.page h2 {
  margin-bottom: 30px;
}
#staff.page h2:nth-of-type(n+2) {
  margin-bottom: 0px;
}
#staff.page .flex.column2 > li {
  margin-top: 30px;
}
#staff.page .flex.column2 > li > a {
	border: #336380 1px solid;
	background: #ffffff;
	color: #000000;
	padding: 30px;
	box-shadow: #336380 2px 2px;
}
#staff.page .flex.column3 > li > a:hover {
	opacity: 0.7;
}
#staff.page figure {
  width: 120px;
	height: 160px;
  margin-right: 20px;
}
#staff.page .text {
  flex: 1;
}
#staff.page figure img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	font-family: 'object-fit: contain;'; /*IE対策*/
}
#staff.page .flex.column2 > li {
  width: 100%;
}
#staff.page .flex.column2 > li h3 {
	font-size: 2.0rem;
	line-height: 2.6rem;
	font-weight: 700;
}
#staff.page .text *:nth-child(n+2) {
	margin-top: 20px;
}
#staff.page .text ul {
}
#staff.page .text ul li {
	padding-left: 15px;
}
#staff.page .text ul li:nth-of-type(n+2) {
	margin-top: 5px;
}
#staff.page .text ul li::before {
	content: "";
	background: url(/img/common/icon2.png) center center no-repeat;
	width: 10px;
	height: 10px;
	position: absolute;
	left: 0px;
	top: 5px;
}
#staff.page li .comment {
	line-height: 2.4rem;
}
#staff.page li .comment span {
	background: rgba(0,0,0,0) linear-gradient(transparent 60%, #cce5ff 0%) repeat scroll 0 0;
}

#staff.detail h2 {
  margin-bottom: 60px;
}
#staff.detail .inner {
	padding-bottom: 0px;
}
#staff.detail figure {
  width: 210px;
	height: 280px;
}
#staff.detail .profile {
  border: #b2b2b2 1px solid;
  padding: 60px;
}
#staff.detail .personal > *:nth-child(n+2) {
	margin-top: 30px;
}
#staff.detail .personal .name {
	font-size: 2.4rem;
	line-height: 3.0rem;
	font-weight: 700;
}
#staff.detail .personal .cont dl > * {
	align-items: flex-start;
}
#staff.detail .personal .cont dl > *:nth-of-type(n+2) {
	margin-top: 10px;
}
#staff.detail .personal .cont dt {
	background: #eeeeee;
	width: 90px;
	margin-right: 20px;
	text-align: center;
	border-radius: 3px;
}
#staff.detail .personal .cont dd {
	flex: 1;
}
#staff.detail h4, #t_case.detail h4 {
	background: #336380;
  color: #ffffff;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 30px;
	text-align: center;
  border-radius: 3px;
  position: relative;
  z-index: 100;
}
#staff.detail h4 {
	margin-bottom: 20px;
}
#t_case.detail h4 {
  max-width: 500px;
  margin: 0 auto;
}

/*PC
-------------------------------------------------------*/
@media print, screen and (min-width: 740px) {

	
	/*t_topimage
	-------------------------------------------------------*/
	#t_topimage {
		width: 1060px;
		margin: 0 auto;
	}
	
	/*t_flow
	-------------------------------------------------------*/
	#t_flow li {
		width: 200px;
	}
	#t_flow li:nth-of-type(n+2) {
		margin-left: -10px;
	}
	
	/*t_case
	-------------------------------------------------------*/
	#t_case .flex.column2 li {
		width: 460px;
	}
	#t_case .flex.column2 li:nth-of-type(n+3), #t_case .flex.column3 li:nth-of-type(n+4) {
  	margin-top: 30px;
	}
	#t_case .flex.column3::after, #t_case .flex.column3 li {
		width: 300px;
	}
	#t_case .flex.column3::after {
		content: "";
		height: 1px;
		display: block;
	}
	#t_case.page nav ul {
		justify-content: center;
	}
	#t_case.page nav ul li {
		width: 200px;
	}
	#t_case.page nav ul li:nth-of-type(n+2) {
		margin-left: 20px;
	}
	
	/*t_contact
	-------------------------------------------------------*/
	#t_content h2.pagetitle {
		font-size: 3.5em;
	}
	#t_contact .tel a:first-of-type {
		margin-right: 40px;
	}

	/*billmansion
	-------------------------------------------------------*/
	#billmansion .sub ul {
		width: 960px;
		margin: 0 auto;
	}
	#billmansion .sub li {
		width: 460px;
	}
	#billmansion .sub li:nth-of-type(n+3) {
		margin-top: 40px;
	}
	#billmansion .cont dl > * {
		width: 390px;
	}
	
	/*staff
	-------------------------------------------------------*/
	#staff.page .flex.column2 > li {
		width: 460px;
	}
	#staff.detail .inner > .flex {
		justify-content: space-between;
	}
	#staff.detail .personal {
		width: 570px;
	}
	
	/*新着情報にサムネイル追加
	-------------------------------------------------------*/
	#t_info ul{
		display: flex;
	}
	
	#t_info ul li{
		width: 25%;
		display: flex;
		flex-direction: column;
		padding: 0 10px;
	}
	#t_info ul li img{
		width: 100%;
	}
	
	#t_info ul li div{
		position: relative;
		display: flex;
	}
	
	#t_info ul li .new{
		position: absolute;
		top: 5px;
		left: 0px;
	}
	
	span.col5 {
		background: #0080ca;
		color: #ffffff;
		width: 110px;
		height: 20px;
		margin-left: 10px;
		border-radius: 3px;
		text-align: center;
		display: block;
	}
	
	#t_info ul li a{
		color: #444444;
	}
	#t_info ul li div:nth-child(1){
		    overflow: hidden;
			width: 100%;
			height: 150px;
	}
	
	#t_info ul li div img{
		position: absolute;
   		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: 100%;
		height: auto;
		display: block;
	}
	
	#t_info ul li div:nth-child(2){
		margin: 10px 0px 5px;
	}
	
	#t_info ul li div{
    position: relative;
    display: flex;
	}
	
	#t_info ul li  p{
    text-decoration: underline;
	}
	

}

/*sphone
-------------------------------------------------------*/
@media screen and (min-width: 0px) and (max-width: 739px) {
/*新着情報にサムネイル追加
	-------------------------------------------------------*/
	#t_info ul{
		display: flex;
		flex-wrap: wrap;
	}
	
	#t_info ul li{
		width: 50%;
		display: flex;
		flex-direction: column;
		padding: 0 10px;
		margin: 0 0 30px 0;
	}
	#t_info ul li img{
		width: 100%;
	}
	
	#t_info ul li div{
		position: relative;
		display: flex;
	}
	
	#t_info ul li .new{
		position: absolute;
		top: 5px;
		left: 0px;
	}
	
	span.col5 {
		background: #0080ca;
		color: #ffffff;
		width: 110px;
		height: 20px;
		margin-left: 10px;
		border-radius: 3px;
		text-align: center;
		display: block;
	}
	
	#t_info ul li a{
		color: #444444;
	}
	#t_info ul li div:nth-child(1){
		    overflow: hidden;
			width: 100%;
			height: 120px;
	}
	
	#t_info ul li div img{
		position: absolute;
   		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: 100%;
		height: auto;
		display: block;
	}
	
	#t_info ul li div:nth-child(2){
		margin: 10px 0px 5px;
	}
	
	#t_info ul li div{
    position: relative;
    display: flex;
	}
	
	#t_info ul li  p{
    text-decoration: underline;
	}
	
  /*t_content
  -------------------------------------------------------*/
	#t_content h2 {
    line-height: 2.6rem;
  }
  #t_content h2.pagetitle {
	font-size: 2em;
}
  #t_content h2 + p {
    margin-top: 20px;
		margin-bottom: 20px;
    font-size: 1.3rem;
    line-height: 2.0rem;
    text-align: justify;
  }
  #t_content h2 + p br {
    display: none;
  }
	#t_case.bg3 h2, #t_contact h2 {
    width: 250px;
    font-size: 1.8rem;
    line-height: 40px;
    border-radius: 3px;
	}
	
	/*t_flow
	-------------------------------------------------------*/
	#t_flow .inner > h2:nth-of-type(n+2) {
		margin-top: 30px;
	}
	#t_flow .inner > h2:nth-of-type(n+2) + p {
		margin-bottom: 0px;
	}
	#t_flow li {
		width: 50%;
	}
	#t_flow li:nth-of-type(n+2) {
	}
	#t_flow li:not(:first-of-type):nth-of-type(2n+1) {
		margin-top: -20px;
	}
	#t_flow li:nth-of-type(2n+2) {
		margin-top: 40px;
	}
	#t_flow figure {
		width: 100%;
		margin-bottom: 10px;
		text-align: center;
	}
	#t_flow h3 {
		padding-right: 10px;
		font-size: 1.5rem;
		line-height: 2.0rem;
	}
	#t_flow h3 span {
		font-size: 1.1rem;
	}

	/*t_case
	-------------------------------------------------------*/
	#t_case .flex.column2 li:nth-of-type(n+2), #t_case .flex.column3 li:nth-of-type(n+2) {
		margin-top: 20px;
	}
	#t_case .flex.column2 li a figure img {
    height: 20vh;
	}
	#t_case .flex.column2 li a h3 {
		padding-left: 15px;
		font-size: 1.8rem;
	}
	#t_case .flex.column3 li {
		margin-top: 20px;
	}
	#t_case.page h2 {
		margin-bottom: 30px;
	}
	#t_case.page .inner > h3 {
		margin: 30px 0 0px 0;
		padding: 0 10px;
		font-size: 1.5rem;
		border-radius: 3px;
	}
	#t_case.page nav ul {
		justify-content: space-between;
	}
	#t_case.page nav ul li {
		width: 48%;
	}
	#t_case.page nav ul li:nth-of-type(n+3) {
		margin-top: 15px;
	}
	#t_case.page .p_link {
		top: 0px;
	}

	/*t_info
	-------------------------------------------------------*/
	#t_info {
		margin-top: 30px;
	}
	#t_info h2 {
		margin-bottom: 30px;
	}
	
	/*t_staff
	-------------------------------------------------------*/
	#t_staff .inner {
		padding: 50px 0;
	}

	/*t_contact
	-------------------------------------------------------*/
	#t_contact h2 {
		margin-bottom: 20px;
	}

	/*billmansion
	-------------------------------------------------------*/
	#billmansion .inner  {
		padding-bottom: 0px;
	}
	#billmansion h2 {
		margin-bottom: 30px;
	}
	#billmansion .main img {
		width: 100%;
		height: auto;
		object-fit: contain;
	}
	#billmansion .main {
		margin: 0 -10px;
	}
	#billmansion .sub {
		margin: 30px -10px;
		padding: 30px 10px;
	}
	#billmansion .sub li {
		width: 46vw;
		height: 46vw;
	}
	#billmansion .sub li:nth-of-type(n+3) {
		margin-top: 4vw;
	}
	#billmansion .sub li a {
		width: 100%;
		height: inherit;
		padding: 10px;
	}
	#billmansion .cont {
		padding: 20px;
		padding-top: 10px;
	}
	#billmansion .cont dl > * {
		margin-top: 10px;
		align-items: flex-start;
	}
	#billmansion .cont dt {
		width: 80px;
		height: 16px;
		font-size: 1.2rem;
		line-height: 1.6rem;
	}
	#billmansion .cont dd {
		font-size: 1.3rem;
		line-height: 1.6rem;
	}
	#billmansion .summary {
		padding: 20px;
		font-size: 16px;
	}
	#grid li {
		width: 50%;
		padding: 10px 1% 0 1%;
	}

	/*staff
	-------------------------------------------------------*/
	#staff.page .flex.column2 li {
		margin-top: 15px;
	}
  #staff.page .flex.column2 > li > a {
    padding: 15px;
  }
	#staff.page .text *:nth-child(n+2) {
		margin-top: 15px;
	}
	#staff.page h2 {
		margin-bottom: 10px;
	}

	#staff.page figure {
		width: 30%;
		margin-right: 5%;
	}
	#staff.page .text li {
		font-size: 1.2rem;
	}

	#staff.page .text .comment {
		font-size: 1.3rem;
		line-height: 1.8rem;
	}

	#staff.detail figure {
		width: 100%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20px;
	}
	#staff.detail h2 {
		margin-bottom: 30px;
	}
	#staff.detail .inner {
		padding-bottom: 0px;
	}
	#staff.detail .profile {
		padding: 20px;
	}
	/*#staff.detail .personal > *:nth-child(n+2) {
		margin-top: 20px;
	}*/
	#staff.detail .personal .name {
		font-size: 1.8rem;
		line-height: 2.6rem;
		text-align: center;
	}
	#staff.detail h4, #t_case.detail h4 {
		max-width: 220px;
		margin-left: auto;
		margin-right: auto;
		font-size: 1.5rem;
		line-height: 30px;
	}
  
}