@charset "UTF-8";

/* ------------------------------------------------------------
  PCスタイル
 ------------------------------------------------------------ */
@media screen and (min-width: 768px) {
	/* ページヘッダー */
	.coTtl_fig {
		width: 392px;
		height: 245px;
		position: absolute;
		left: -410px;
		bottom: -103px;
	}

	/* 会社情報 */
	.co_sec {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 800px;
		margin-top: 100px;
	}
	.co_info hgroup {
		display: flex;
		flex-direction: column-reverse;
		align-items: center;
		width: 100%;
	}
	.co_infoTtl {
		margin-top: 80px;
	}
	.co_infoTtl:after {
		content: "";
		display: block;
		width: calc( 2.5rem * 5.5 );
		height: 2.5rem;
		background: url('../img/company/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
		position: absolute;
		left: -10px;
		bottom: -6px;
	}
	.co_desc {
		width: 100%;
		text-align: center;
	}
	.co_infoTable {
		margin-top: 50px;
		border-collapse: collapse;
		border-top: 1px solid #000;
	}
	.co_infoTable tr {
		border-bottom: 1px solid #000; 
	}
	.co_infoTable th {
		width: 6rem;
		padding: 1.625rem 0; /* 26px 0 */
		font-weight: 400;
		text-align: left;
		border-right: 1px dotted #000;
	}
	.co_infoTable th.coTel a {
		text-decoration: none;
		color: #000;
	}
	.co_infoTable td {
		padding-left: 0.875rem; /* 14px */
	}
	.co_infoTable .coTel a {
		text-decoration: none !important;
		color: #000 !important;
	}
	.email {
		display: grid;
		grid-template-columns: 1fr 80px 20px;
		gap: 0 1rem;
		align-items: center;
		padding: 1.625rem 0;
	}
	.email div {
		height: 80px;
		padding: 10px 0;
	}
	.email div img {
		display: block;
		width: 199px;/*173px*/
		height: 15px;/*16px*/
		
	}
	.email div a {
		text-decoration: none;
		color: #000;
		cursor: pointer;
	}
	.email a:last-child {
		text-decoration: underline;
		cursor: pointer;
	}
	.email img {
		width: 80px;
		height: 80px;
	}



	/* 会社沿革 */
	.co_hist {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 92%;
		padding: 65px 0 50px;
		border-radius: 20px;
		background: #f3f3f3;
	}
	.co_histTtl:after {
		content: "";
		display: block;
		width: calc( 2.5rem * 5.5 );
		height: 2.5rem;
		background: url('../img/company/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
		position: absolute;
		left: -0.625rem;
		bottom: -0.375rem;
	}
	.co_histTable {
		width: 800px;
		margin-top: 50px;
		border-collapse: collapse;
		border-top: 1px solid #000;
	}
	.co_histTable tr {
		border-bottom: 1px solid #000; 
	}
	.co_histTable th {
		width: 6rem;
		padding: 1.625rem 0; /* 26px 0 */
		font-weight: 400;
		text-align: left;
		border-right: 1px dotted #000;
	}
	.co_histTable td {
		padding-left: 0.875rem; /* 14px */
	}


	/* アクセス */
	.co_axs {
		width: 1000px;
	}
	.co_axsTtl:after {
		content: "";
		display: block;
		width: calc( 2.5rem * 5.5 );
		height: 2.5rem;
		background: url('../img/company/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
		position: absolute;
		left: -0.625rem;
		bottom: -0.375rem;
	}
	.co_axsTtl:after {
		width: var(--char5); /* 罫線の長さ4文字分 */
		background: url('../img/index/fig_ttlunder_6char.svg') no-repeat left bottom / contain;
	}
	.coAxs_wrap {
		display: flex;
		justify-content: space-between;
		align-items: center;
		width: 100%;
		margin-top: 90px;
	}
	.addr {
		width: 365px;
	}
	.addr address {
		margin-top: 20px;
		font-size: 1rem;
		font-style: normal;
		text-align: center;
	}
}


/* ------------------------------------------------------------
  SPスタイル
 ------------------------------------------------------------ */
@media screen and (max-width: 767px) {

	/* ページヘッダー・イラスト */
	.coTtl_fig {
		width: 320px;
		height: 200px;
		position: absolute;
		right: 0;
		bottom: -150px;
		left: 0;
		margin: 0 auto;
	}

	/* 会社情報 */
	.co_info {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		padding: 0 24px;
		margin-top: 35px;
	}
	.co_info hgroup {
		display: flex;
		flex-direction: column-reverse;
		align-items: center;
		width: 100%;
	}
	.co_infoTtl {
		margin-top: 90px;
		font-weight: 500;
		line-height: 1;
		text-align: left;
		position: relative;
	}
	.co_infoTtl:after {
		content: "";
		display: block;
		width: calc( 2.375rem * 5 );
		height: 2.5rem;
		background: url('../img/company/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
		position: absolute;
		left: -10px;
		bottom: -14px;
	}
	table, tr, th, td {
		display: block;
	}
	.co_infoTable {
		margin-top: 50px;
	}
	.co_infoTable tr {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 19px;
		margin-bottom: 20px;
		border-bottom: 1px solid#000;
	}
	.co_infoTable th {
		font-weight: 500;
		color: #1AAD6B;
	}
	.co_infoTable a {
		color: #000;
		text-align: justify;
		text-decoration: none;
	}
	.co_infoTable img {
		margin-top: 20px;
	}
	.email div img {
		display: block;
		margin-bottom: 1rem;
	}

	/* 会社沿革 */
	.co_hist {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		padding: 50px 24px 30px;
		margin-top: 30px;
		border-radius: 50px 50px 0 0;
		background: #f4f4f4;
	}
	.co_histTtl:after {
		content: "";
		display: block;
		width: calc( 2.375rem * 5 );
		height: 2.5rem;
		background: url('../img/company/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
		position: absolute;
		left: -10px;
		bottom: -5px;
	}
	.co_histTable{
		margin-top: 50px;
	}
	.co_histTable tr {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		padding-bottom: 19px;
		margin-bottom: 20px;
		border-bottom: 1px solid#000;
	}
	.co_histTable th {
		font-weight: 500;
		color: #1AAD6B;
	}

	/* アクセス */
	.co_axs {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-top: 50px;
	}
	.co_axsTtl:after {
		content: "";
		display: block;
		width: calc( 2.375rem * 4.5 );
		height: 2.5rem;
		background: url('../img/company/fig_ttlunder_4char.svg') no-repeat left bottom / contain;
		position: absolute;
		left: -10px;
		bottom: -8px;
	}
	.coAxs_wrap {
		width: 100%;
		margin-top: 50px;
	}
	.coAxs_wrap .addr {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	address {
		margin: 20px 0;
		font-style: normal;
		text-align: center;
	}
	.map {
		width: 100%;
	}
	iframe {
		width: 100%;
		aspect-ratio: 4 / 3; 
		height: auto;
	}

	
}