/************
 *
 * style.css
 *
 * TOPpage renewal since 2016.06～
 * 
 * Common source
 * Toppage coding
 *
 ***********/
 
/* -----------------------------------------------
 * 共通部分
----------------------------------------------- */

img {
  max-width: 100%;
  height: auto;
}

a:hover img {
	opacity: 0.8;
}

a:hover {
	color: #294D9A;
	text-decoration:none;
}

p {
	margin: 0 0 10px;
}

.img-responsive {
    display: inline-block;
}

/* 余白調整 */
.kento_wrap {
	padding-top: 25px;
	margin-bottom: 35px;
}


/* 影つき下線 */
.border_shadow {
	border-bottom: #ccc 1px solid;
	box-shadow: #eee 1px 1px;
}

/* 角丸の枠線 */
.border_wrap {
	border: #ddd 1px solid;
	border-radius: 5px;
	margin-bottom: 20px;
}


/* table
----------------------------------- */
table {
	width: 100%;
}

table tr th {
	border-top: #ddd 1px solid;
	border-left: #ddd 1px solid;
	background: #F2F2F2;
	vertical-align: top;
}

table tr td {
	border-top: #ddd 1px solid;
	border-left: #ddd 1px solid;
	border-right: #ddd 1px solid;
}

table tr:last-of-type th,
table tr:last-of-type td {
	border-bottom: #ddd 1px solid;
}


/* 背景カラー
----------------------------------- */
.cream {
	background: #F4F9F5;
}

.lightgray {
	background: #F3F3F3;
}


/* パンくず
----------------------------------- */
.bread-nav {
  padding: 8px 0;
	background: #F4F9F5;
}

.bread-nav ul li {
    float: left;
    margin-right: 10px;
		padding-right: 15px;
    font-size: 0.9em;
    line-height: 1.2;
    vertical-align: middle;
		position: relative;
}

.bread-nav ul li:after {
	position: absolute;
	font: normal normal normal 15px/1 FontAwesome;
	content: "\f105";
	top: 50%;
	right: 0;
	margin-top: -8px;
}

.bread-nav ul li:last-child {
    margin-right: 0;
}

.bread-nav ul li:last-child:after {
	content: "";
}


/* ボタン
----------------------------------- */
.btn_box {
    margin: 15px 0 10px;
}

.btn_box a {
    background: #294D9A;
		border-radius: 5px;
    display: inline-block;
    text-align: center;
    padding: 10px 50px 8px 45px;
    position: relative;
		color: #fff;
		box-shadow: #1C2C51 1px 1px;
}

.btn_box a:after {
    font: normal normal normal 15px/1 FontAwesome;
		content: "\f105";
    position: absolute;
    right: 8px;
    top: 50%;
		margin-top: -8px;
}

.btn_box a:hover {
	background: #233E78;
}

.btn_box.target_blank {
	
}

.btn_box.lines2 {
	font-size: 1.25em;
}

.btn_box.lines2 span {
	display: block;
	font-size: .7em;
}


/* リストのアイコン
----------------------------------- */
.list_icon li,
.list_icon dd {
	position: relative;
	padding-left: 20px;
}

.list_icon li:before,
.list_icon dd:before {
  position: absolute;
  font: normal normal normal 14px/1 FontAwesome;
  content: "\f111";
  top: 5px;
  left: 0;
  color: #248670;
}

ol {
  padding-left: 20px;
}

ol li {
	list-style: decimal;
}


/* page_link
----------------------------------- */
.page_link {
	clear: both;
	overflow: hidden;
	border: #294D9A 1px solid;
	padding: 15px 20px;
	margin: 30px 0;
}

.page_link li {
	float: left;
	margin-right: 45px;
	font-size: 1.2em;
}

.page_link li a {
	color: #274C99;
	position: relative;
	font-weight: bold;
}

.page_link li a:after {
	position: absolute;
	font: normal normal normal 16px/1 FontAwesome;
	content: "\f063";
  top: 50%;
  margin-top: -8px;
	right: -20px;
}

.page_link li a:hover {
	text-decoration: underline;
}


/* -----------------------------------------------
 * フォント部分
----------------------------------------------- */
.mainTitle {
	background: #248670; /* Old browsers */
	background: -moz-linear-gradient(left, #248670 70%, #294d9a 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left, #248670 70%,#294d9a 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right, #248670 70%,#294d9a 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#248670', endColorstr='#294d9a',GradientType=1 ); /* IE6-9 */
	text-align: center;
	box-shadow: 0 0 2px #000;
}

.ttl_border {
	border-bottom: #248670 2px solid;
	margin-bottom: 20px;
}

h1 {
	font-size: 2.2em;
	color: #fff;
}

h2 {
  font-size: 1.8em;
  font-weight: bold;
	margin-bottom: 10px;
}

	h2.font-green {
		font-size: 2.1em;
		margin: 0 0 40px;
	}
	
	.ttl_border h2 {
		margin-bottom: 5px;
	}
	
	.ttl_border h2 a {
		position: relative;
	}
	
	.ttl_border h2 a:after {
		position: absolute;
		font: normal normal normal 26px/1 FontAwesome;
		content: "\f101";
		top: 50%;
		margin-top: -15px;
		padding-left: 18px;
	}

h3 {
	border-left: #1A6051 5px solid;
	font-size: 1.5em;
	font-weight: bold;
	margin-bottom: 15px;
	padding-left: 12px;
}

h4 {
  padding: 10px 0 5px;
  font-weight: bold;
  font-size: 1.4em;
  line-height: 1.4;
}

.font-green,
em {
	color: #1B6151;
}

.font-blue {
	color: #284C99;
}

.font-red,
em {
	color: #FF0000;
}
.mincho {
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}


/* -----------------------------------------------
 * header
----------------------------------------------- */
#wrapper {
  margin-top: 127px;
  background: url(../img/common/bg_all.png) repeat-x;
}

.site-header {
    background: #FFF;
    width: 100%;
    border-top: #294D9A 3px solid;
    z-index: 1;
}


/* top-nav
----------------------------------- */
.top-nav {
	padding: 10px;
}

.site_title {
  float: left;
  width: 230px;
	margin-top: 15px;
}

.top-nav-btn {
  float: right;
}

.top-nav-btn li {
  float: left;
}

.top-nav-btn li:first-child {
  width: 240px;
	margin: 8px 25px 0 0;
}

.top-nav-btn li:last-child {
  width: 215px;
}


/* #mobile-header
----------------------------------- */

#mobile-header {
    display: none;
}


/* site-nav
----------------------------------- */

#site-nav {
  display: none;
  width: 100%;
  background: #fff;
  position: absolute;
  top: 56px;
  z-index: 10;
}

#site-nav.active {
  display: block;
}

.site-nav-sp li {
  border-bottom: #ddd 1px solid;
}

.site-nav-sp li a,
.site-nav-sp .accordion,
#close {
  display: block;
  padding: 10px 15px;
  position: relative;
  text-decoration: none;
}

.site-nav-sp li a:after,
.site-nav-sp .accordion:after {
	position: absolute;
	font: normal normal normal 15px/1 FontAwesome;
	content: "\f0da";
	top: 50%;
	margin-top: -8px;
	right: 15px;
}

.site-nav-sp .accordion {
  color: #fff;
  cursor: pointer;
  position: relative;
}

.site-nav-sp .accordion.active {
  background: #333;
  border-bottom: #333 1px solid;
}

.site-nav-sp .open-menu {
  display: none;
  background: #F6F6F6;
}

.site-nav-sp .open-menu li {
  margin: 0 15px;
  border-bottom: #555 1px dotted;
}

.site-nav-sp .open-menu li:last-of-type {
  border-bottom: none;
}

.site-nav-sp .open-menu li a {
  color: #333;
}

#close {
  text-align: center;
	position: relative;
	cursor: pointer;
	margin: 0;
	border-bottom: #294d9a 2px solid;
}

#close:before {
  position: absolute;
	font: normal normal normal 18px/1 FontAwesome;
	content: "\f00d";
	top: 50%;
	margin-top: -10px;
	left: 35%;
}

.site-nav-sp li:hover,
#close:hover {
	background: #F3F3F3;
}


/* pc-nav
----------------------------------- */

.pc-nav {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    padding: 1px 0;
}

.pc-nav .pc-nav-wrap {
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  padding: 8px 0;
}

.pc-nav li {
  float: left;
  box-sizing: border-box;
  border-left: #ddd 1px solid;
  width: 20%;
}

.pc-nav li:hover {
	background: #eee;
}

.pc-nav li:last-child {
  border-right: #ccc 1px solid;
}

.pc-nav li a {
  text-align: center;
  padding: 13px 0 10px;
  display: block;
	position: relative;
}

.pc-nav li a:before {
	position: static;
	content: "";
	display: block;
	margin: 0 auto;
	height: 40px;
}

	.pc-nav li.ico-corp a:before {
		background: url(../img/common/icon_corp.png) no-repeat;
		background-size: 45px;
		width: 45px;
	}
	
	.pc-nav li.ico-bussi a:before {
		background: url(../img/common/icon_bussiness.png) no-repeat;
		background-size: 40px;
		width: 40px;
	}
	.pc-nav li.ico-csr a:before {
		background: url(../img/common/icon_csr.png) no-repeat;
		background-size: 42px;
		width: 42px;
	}
	.pc-nav li.ico-office a:before {
		background: url(../img/common/icon_office.png) no-repeat;
		background-size: 27px;
		width: 27px;
	}
	.pc-nav li.ico-saiyo a:before {
		background: url(../img/common/icon_saiyo.png) no-repeat;
		background-size: 26px;
		width: 26px;
	}


/* -----------------------------------------------
 * footer
----------------------------------------------- */

.site-footer {
  background: #F3F3F3;
  border-top: #ccc 1px solid;
	margin-top: 30px;
}

.site-footer a {
	color: #333;
}

.site-footer a:hover {
	color: #294D9A;
}


/* scroll_to_top
----------------------------------- */

.scroll_to_top {
    position: fixed;
    right: 20px;
    bottom: 30px;
    z-index: 999;
    line-height: 0;
}


/* foot-link
----------------------------------- */
.foot-link {
  padding: 30px 0 15px 0;
  border-bottom: #ccc 1px solid;
}

.foot-link > ul > li {
	float: left;
	width: 20%;
}

.foot-link > ul > li dl {
	padding: 0 0 0 5%;
}

.foot-link > ul > li dt,
.foot-link > ul > li p {
	font-weight: bold;
	margin: 0 0 12px 0;
}

.foot-link > ul > li dd {
	font-size: .9em;
}

.foot-link > ul > li dd li {
	margin: 0 0 7px 0;
}


/* foot-bottom
----------------------------------- */
.foot-bottom {
	padding: 20px 0;
}

.foot-bottom dl,
.foot-bottom .copy {
	text-align: center;
}

.foot-bottom dl {
	margin-top: 30px;
}

.foot-bottom dl dt {
	font-weight: bold;
	font-size: 1.2em;
	margin-bottom: 10px;
}

.foot-bottom dl dd {
	font-size: .9em;
}

.foot-bottom .copy {
	font-size: .85em;
}



/* -----------------------------------------------
 * toppage
----------------------------------------------- */

/*------2020.04.12追加-----*/
.top-info {
	color:FF0000;
	font-weight:bold;
	font-size:24px;
	margin-top:15px;
	margin-bottom:10px;
}
/*------2020.04.12追加-----*/



/* font */
.toppage h3 {
	border-left: none;
	padding-left: 0;
}


/* #wide slide
----------------------------------- */
.sp-horizontal .sp-previous-arrow {
  left: 5px;
}

.sp-horizontal .sp-next-arrow {
  right: 5px;
}

.sp-buttons {
  position: absolute;
  padding-top: 0;
  bottom: 0;
}


/* top-linkBlk
----------------------------------- */
.top-linkBlkIn h2,
.top-linkBlkIn h3 {
	text-align: center;
	color: #fff;
}

.top-linkBlkIn h2 {
	margin-bottom: 10px;
}

.top-linkBlkIn h3 {
	margin-bottom: 30px;
}

/* ↓font-sizeを1.2→1.6に 20201123*/
.top-linkBlk li {
    overflow: hidden;
    width: 47%;
    height: 180px;
    float: left;
    text-align: center;
    font-size: 1.6em;
    box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
		line-height: 1.3;
}

	.top-linkBlk li:hover {
		opacity: .8;
	}
/* ↓font-sizeを.7→.6に 20201123*/
	.top-linkBlk li span {
		font-size: .6em;
		display: block;
	}
	
	.top-linkBlk li a {
			padding: 20px 0 0 0;
			display: block;
			height: 100%;
			background: #fff;
	}
	
	.top-linkBlk li a:before {
    height: 100px;
    position: static;
    margin: 0 auto;
		display: block;
		content: "";
	}

/* top_bussiBlk */
.top_bussiBlk {
	background: #248670;
}

	.top-linkBlk li a.ico-sell:before {
		background: url(../img/top/ico-sell.png) no-repeat;
		background-size: auto 90px;
		width: 120px;
	}
	
	.top-linkBlk li a.ico-buy:before {
		background: url(../img/top/ico-buy.png) no-repeat;
		background-size: auto 90px;
		width: 101px;
	}
	
	.top-linkBlk li a.ico-build:before {
		background: url(../img/top/ico-build.png) no-repeat;
		background-size: auto 90px;
		width: 120px;
	}
	
	.top-linkBlk li a.ico-satei:before {
		background: url(../img/top/ico-satei.png) no-repeat;
		background-size: auto 90px;
		width: 120px;
	}
	
	.top-linkBlk li a.ico-csr:before {
		background: url(../img/top/ico-csr.png) no-repeat;
		background-size: auto 90px;
		width: 83px;
	}

/* top_corpBlk */
.top_corpBlk {
	background: #294D9A;
}

.top-linkBlk .top_corpBlk li a {
	padding: 27px 0 0 0;
}

	.top-linkBlk li a.ico-greeting:before {
		background: url(../img/top/ico-greeting.png) no-repeat;
		background-size: auto 90px;
		width: 104px;
	}
	
	.top-linkBlk li a.ico-history:before {
		background: url(../img/top/ico-history.png) no-repeat;
		background-size: auto 90px;
		width: 131px;
	}
	
	.top-linkBlk li a.ico-office:before {
		background: url(../img/top/ico-office.png) no-repeat;
		background-size: auto 90px;
		width: 88px;
	}
	
	.top-linkBlk li a.ico-saiyo:before {
		background: url(../img/top/ico-saiyo.png) no-repeat;
		background-size: auto 90px;
		width: 100px;
	}


/* top_btnWrap
----------------------------------- */
.top_btnWrap a {
	background: #fff;
	box-shadow: #ddd 2px 2px;
	display: block;
	color: #333;
}

.top_btnWrap a:hover {
	background: #E9EDF5;
}

.top_btnWrap h3 {
	margin-bottom: 20px;
}


/* info-wrap
----------------------------------- */
.info-wrap a {
	display: block;
}

.info-wrap dl {
	padding: 10px;
	border-top: #248670 1px dotted;
}

.info-wrap dl:last-of-type {
	border-bottom: #248670 1px dotted;
}


/* -----------------------------------------------
 * company
----------------------------------------------- */

/* basic_policy
----------------------------------- */
.basic_policy {
	font-size: 1.4em;
	clear: both;
	overflow: hidden;
}

.basic_policy dt {
	float: left;
	width: 15%;
	color: #1B6151;
	line-height: 1.8;
}

.basic_policy dd {
	float: left;
	width: 85%;
	line-height: 1.8;
}


/* -----------------------------------------------
 * bussiness
----------------------------------------------- */

/* sell.html .light
----------------------------------- */
.light {
	position: relative;
}

.light:after {
	position: absolute;
	content: "";
	background: url(../img/bussiness/icon_ramp.jpg) no-repeat;
	background-size: 30px;
  width: 30px;
  height: 34px;
  top: -4px;
}

/* sell.html .reason_list
----------------------------------- */
.reason_list dl {
	background: #F3F3F3;
	margin-bottom: 2%;
}

.reason_list dl dt {
  background: #2A9951;
	border-radius: 5px;
	box-shadow: #777 3px 2px;
	float: left;
	text-align: center;
	color: #fff;
}

.reason_list dl dd {
	float: right;
	width: 85%;
	line-height: 1.6;
}


/* syumuro.html
----------------------------------- */
.madori_ttl {
  background: #CFE4E0;
  font-weight: bold;
  padding: 7px 10px 5px;
  font-size: 1.2em;
}


/* -----------------------------------------------
 * csr
----------------------------------------------- */
ol li .list_icon li {
	list-style: none;
}

ol > li {
	margin-bottom: 10px;
}


/* -----------------------------------------------
 * office
----------------------------------------------- */

/* office_table
----------------------------------- */
.office_table tr th {
	border: none;
	background: none;
	border-bottom: #248670 1px dotted;
	padding: 10px 0 7px;
	font-weight: bold;
}

.office_table tr td {
	border: none;
	border-bottom: #248670 1px dotted;
	padding: 10px 0 7px;
}

.office_table tr:last-of-type th,
.office_table tr:last-of-type td {
	border-bottom: #248670 1px dotted;
}


/* office_photo
----------------------------------- */
.office_photo {
	clear: both;
	overflow: hidden;
}

.office_photo li {
	margin: 0 2% 1.5% 0;
	float: left;
}


/* office-prof
----------------------------------- */
.office-prof {
	padding: 10px 10px 10px 50px;
	background-image: url(../img/office/icon_office.png);
	background-position: 10px 10px;
	background-color: #F3F3F3;
	background-repeat: no-repeat;
	background-size: 30px;
	margin: 0 0 20px;
}

.office-prof p {
	margin: 0;
}


/* pickup_list
----------------------------------- */
.pickup_list iframe {
	width: 100%;
	height: auto;
}


/* staff_list
----------------------------------- */
.staff_list {
	clear: both;
	overflow: hidden;
}

.staff_list li {
	float: left;
}

.staff_list li .staff_list_name {
	font-weight: bold;
}

.staff_list li .staff_list_name span {
	display: block;
	font-size: .85em;
	font-weight: normal;
	color: #1A6051;
	line-height: 1.2;
}


/* google-maps
----------------------------------- */
.google-maps {
  position: relative;
  width: 100%;
  padding-bottom: 50%;
  height: 0;
  overflow: hidden;
}

.google-maps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}


/* -----------------------------------------------
 * saiyo
----------------------------------------------- */
.saiyo_main {
	box-sizing: border-box;
	margin-bottom:30px;
}

.saiyo_main dl {
	background: #248670;
	padding: 15px;
	color: #fff;
}

.saiyo_main dl dt {
	font-size: 1.5em;
}


/* -----------------------------------------------
 * form
----------------------------------------------- */
.required {
  color: #fff;
  background: #DA0023;
  font-size: 80%;
  padding: 1px 5px 0;
  margin-left: 10px;
}

.err_messege {
  margin: 0;
  color: #DA0023;
}

form {
  margin: 15px 0 0;
}

form .input01 {
  width: 50%;
  padding: 5px;
}

form .input02,
form textarea {
  width: 100%;
  padding: 5px;
}

form label {
  width: 100%;
  margin: 1.5px 0;
}

/* submit_btn
----------------------------------- */
.submit_btn {
  text-align: center;
}

.submit_btn input {
    background: #294D9A;
    border-radius: 5px;
    display: inline-block;
    text-align: center;
    padding: 10px 50px 8px 45px;
    color: #fff;
    box-shadow: #1C2C51 1px 1px;
    border: 0;
}



/* list_flow-item
----------------------------------- */
.b_contact_box-top {
    padding: 20px 0;
}

.list_flow {
    width: 100%;
    letter-spacing: -0.4em;
    padding-left: 0;
}

.list_flow-item {
    display: inline-block;
    height: 80px;
    line-height: 80px;
    vertical-align: middle;
    background-color: #f3f3f3;
    color: #000;
    position: relative;
    letter-spacing: normal;
}

.list_flow-item.is_current {
    background-color: #248670;
}

.list_flow-step {
    padding: 0 5px 0 15px;
}

	.list_flow-num {
	    font-weight: bold;
	    padding-left: 3px;
	    letter-spacing: -2px;
	}

.list_flow-text {
    font-weight: bold;
}

.list_flow-item:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: -8px;
    width: 0;
    height: 0;
    border-top: 40px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 40px solid transparent;
    border-left: 35px solid #f3f3f3;
    background-color: #fff;
}

.list_flow-item:last-of-type {
    margin-right: 0;
    width: 30%;
}

.list_flow-item:last-of-type:after {
    border: none;
}

.list_flow-item.is_current:after {
    border-left-color: #248670;
}

.list_flow-item.is_current .list_flow-step,
.list_flow-item.is_current .list_flow-num,
.list_flow-item.is_current .list_flow-text {
    color: #fff;
}


/* youtube  202007add aoyama
----------------------------------- */

.youtube {
position: relative;
width: 100%;
padding-top: 56.25%;
height: 0;
overflow: hidden;
}
.youtube iframe{
position: absolute;
top: 0;
right: 0;
width: 100% !important;
height: 100% !important;
}




/* sdgs 20211014
----------------------------------- */


.sdgs_box {
margin-bottom:60px;
padding:15px;
width:100%;
height:auto;
font-size:20px;
}

.sdgs_p {
display : inline-flex;
padding-left:15px;
padding-rght:15px;
padding-top:5px;
padding-bottom:25px;
margin-bottom:50px;
font-size:20px;
}



