@charset "utf-8";

/* 企業情報
============================ */
.company .page-ttl::before {
	content: "Company";
}
.about .page-ttl::before {
	content: "About us";
}
.sdgs .page-ttl::before {
	content: "CSR/SDGs";
}
.group .page-ttl::before {
	content: "Group";
	text-align: right;
	left: auto;
	right: 0;
}
.network .page-ttl::before {
	content: "Network";
}

/* インデックスページ
------------------------------------------------- */
/* 代表メッセージ */
.company .txt-col2 {
	width: 90%;
	columns: 2;
	column-gap: 4em;
	margin: 40px auto;
}
.company .txtR img {
	margin-top: 1em;
	width: auto;
	}
	@media screen and (max-width:1024px) {
	.company .txt-col2 {
		width: 94%;
		columns: auto;
		margin: 20px auto;
	}
	.company .txtR img {
		width: 200px;
	}
}

/* その他の企業情報 */
.company .other_lnk .col {
	justify-content: space-between;
	margin-bottom: 30px;
}
.company .other_lnk .col a {
	display: block;
	flex-basis: 30%;
	justify-content: space-between;
}
.company .other_lnk .col a dd {
	font-size: 2.6rem;
	font-weight: 700;
	letter-spacing: normal;
	line-height: 1.5;
	padding-top: 18px;
}
.company .other_lnk .col a dd span {
	display: block;
	font-size: 1.6rem;
	}
	@media screen and (max-width:1024px) {
	.company .other_lnk .col {
		margin-left: auto;
		width: 90%;
		margin-bottom: 20px;
	}
	.company .other_lnk .col a dl {
		margin-bottom: 20px;
	}
	.company .other_lnk .col a:last-of-type dl {
		margin-bottom: 0;
	}
	.company .other_lnk .col a dd {
		font-size: clamp(1.7rem, 2.53vw, 2.6rem);
		line-height: 1.4;
		padding-top: 12px;
	}
	.company .other_lnk .col a dd span {
		font-size: clamp(1.2rem, 1.56vw, 1.6rem);
		margin-top: 2px;
	}
}

/* 会社概要
------------------------------------------------- */
/* アクセス */
.about .access .col {
	margin-bottom: 40px;
}
.about .access .col:last-of-type {
	margin-bottom: 0;
}
.about .access figure {
	flex-basis: 173px;
}
.about .access .box {
	padding-left: 60px;
}
.about .access ul {
	margin-top: 1em;
	}
	@media screen and (max-width:1024px) {
	.about .access .col {
		display: flex;
	}
	.about .access .box {
		padding-left: 24px;
	}
}

/* グループ会社 */
.about .group_company ul {
	justify-content: center;
}
.about .group_company ul li {
	margin: 0 2%;
	max-width: 360px;
	text-align: center;
	line-height: 1.4;
}
.about .group_company ul li a {
	display: block;
}
.about .group_company ul li a:hover img {
	border-radius: 0 !important;
	opacity: 0.7;
}
.about .group_company ul li.nurse_station a img {
	border: 1px solid #f2afcc!important;
}
.about .group_company ul li.medical_interface a img {
	border: 1px solid #05994b!important;
}
.about .group_company ul li.sanko_soflan a img {
	border: 1px solid #999!important;
}
.about .group_company ul li a span {
	display: block;
	margin-top: 10px;
}
	@media screen and (max-width:1024px) {
	.about .group_company ul li {
		margin: 0 auto 20px;
		max-width: 280px;
	}
	.about .group_company ul li a span {
		margin-top: 6px;
		font-size: 1.4rem;
	}
}

/* 三光ソフラングループ
------------------------------------------------- */
/* 三光グループのはじまり */
.group .beginning {
	padding-bottom: 30px;
}
.group .beginning p + .col {
	justify-content: space-between;
	margin-top: 40px;
}
.group .beginning .col div {
	flex-basis: 47%;
}
.group .beginning .col .col div {
	flex-basis: 100%;
}
.group .beginning .col .col figure {
	flex-basis: 35%;
	max-width: 200px;
}
.group .beginning .col .col .box {
	padding-left: 30px;
	flex-basis: 65%;
}
.group .beginning .col .col .btnArea {
	margin-top: 20px;
	}
	@media screen and (max-width:1024px) {
	.group .beginning {
		padding-bottom: 0;
	}
	.group .beginning .col .col {
		display: flex;
	}
	.group .beginning .col div {
		margin-bottom: 30px;
	}
	.group .beginning .col div:last-of-type {
		margin-bottom: 0;
	}
	.group .beginning .col .col .box {
		padding-left: 24px;
	}
}

/* 三光ソフラングループの医療事業 */
.group .medical .col {
	justify-content: space-between;
}
.group .medical .col figure {
	flex-basis: 35%;
	max-width: 458px;
}
.group .medical .col .box {
	flex-basis: 60%;
	margin-top: 4vw;
}
.group .medical .col.picR {
	margin-top: 80px;
}
.group .medical .col.picR figure {
	margin-top: 3vw;
}
.group .medical .col.picR .box {
	margin-top: 0;
	order: -1;
	}
	@media screen and (max-width:1024px) {
	.group .medical .col .box {
		padding-left: 0;
		margin-top: 20px;
	}
	.group .medical .col.picR {
		margin-top: 30px;
	}
	.group .medical .col.picR .box {
		margin-top: 20px;
	}
}

/* 支援先医療機関
------------------------------------------------- */
/* ひかりクリニックグループ */
.network .hikari .col {
	flex-wrap: wrap;
}
.network .hikari .card {
	flex-basis: 47%;
	border: 1px solid #ddd;
	padding: 45px 35px;
	box-shadow: 2px 2px 12px -3px #c9c9c9;
	margin-bottom: 40px;
}
.network .hikari .card:nth-of-type(odd) {
	margin-right: 6%;
}
.network .hikari .card dt img {
	height: 55px;
	width: auto;
}
.network .hikari .card dd.col2 {
	display: flex;
	margin-top: 30px;
}
.network .hikari .card dd.col2 figure {
	flex-basis: 35%;
	max-width: 110px;
}
.network .hikari .card dd.col2 .box {
	padding-left: 30px;
	flex-basis: 65%;
}
.network .hikari .card dd.col2 .box p {
	line-height: 1.8;
}
.network .hikari .card dd.col2 .box .btnArea {
	margin-top: 20px;
	}
	@media screen and (max-width:1024px) {
	.network .hikari .card {
		padding: 24px 20px;
		margin-bottom: 20px;
	}
	.network .hikari .card:nth-of-type(odd) {
		margin-right: 0;
	}
	.network .hikari .card dt img {
		height: 4.8rem;
	}
	.network .hikari .card dd.col2 {
		margin-top: 18px;
	}
	.network .hikari .card dd.col2 .box {
		padding-left: 20px;
	}
}




/* 仕組み */
.network .structure .col {
	margin-bottom: 50px;
}
.network .structure .col figure {
	flex-basis: 265px;
}
.network .structure .col figcaption {
	text-align: center;
	disp: block;
	font-size: 1.4rem;
	margin-top: 10px;
}
.network .structure .col .box {
	padding-left: 30px;
	flex-basis: calc(100% - 265px);
	}
	@media screen and (max-width:1024px) {
	.network .structure .col .box {
		padding-left: 0;
		margin-top: 20px;
	}
}


/* 企業の取り組み
------------------------------------------------- */
.sdgs h4:nth-of-type(n+2) {
	margin-top: 65px;
}
/* box */
.sdgs .box {
	background: #fffeee;
	border: 1px solid #ffe57d;
	border-radius: 16px;
	padding: 40px 45px;
	margin-top: 25px;
}
.sdgs .box dl {
	display: flex;
	justify-content: space-between;
}
.sdgs .box dt {
	flex-basis: 70%;
}
.sdgs .box dd {
	flex-basis: 27%;
}
.sdgs .box dt h5 {
	min-height: 41px;
	font-weight: 700;
	font-size: clamp(1.65rem, 1.8vw, 2.2rem);
	line-height: 1.4;
	background: url(../images/company/sdgs/icon_circle.png) left center no-repeat;
	padding-left: 55px;
	margin-bottom: 17px;
}
.sdgs .box dt h5 span {
	display: block;
	padding-top: 2px;
}
.sdgs .box dt h5 small {
	display: block;
	font-size: clamp(1.2rem, 1.6vw, 1.7rem);
	margin-top: 2px;
}
.sdgs .box dt p {
	line-height: 1.8;
	margin-top: 25px;
}
.sdgs .box dt .pic {
	margin-top: 20px;
	display: flex;
	justify-content: space-between;
}
.sdgs .box dt .pic li {
	flex-basis: 32%;
}
.sdgs .box dd .icon {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
.sdgs .box dd .icon li {
	flex-basis: 28%;
	margin-left: 10px;
	margin-bottom: 10px;
	}
	@media screen and (max-width:1024px) {
	.sdgs .box {
		border-radius: 16px;
		padding: 20px;
		margin-top: 25px;
	}
	.sdgs .box dl {
		flex-direction: column;
	}
	.sdgs .box dt h5 {
		min-height: 32px;
		background: url(../images/company/sdgs/icon_circle.png) left center no-repeat;
		background-size: auto 32px; 
		padding-left: 43px;
		margin-bottom: 5px;
	}
	.sdgs .box dt h5 span {
		padding-top: 3px;
	}
	.sdgs .box dt p {
		margin-top: 12px;
	}
	.sdgs .box dt .pic {
		margin-top: 0;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.sdgs .box dt .pic li {
		flex-basis: 100%;
		margin-top: 20px;
	}
	.sdgs .box dd {
		order: -1;
		margin-bottom: 4px;
	}
	.sdgs .box dd .icon li {
		flex-basis: 14%;
		margin-left: 6px;
		margin-bottom: 6px;
	}
}
/* フレンズ・ウィズアウト・ア・ボーダーの紹介 */
.sdgs .box .introduce {
	background: #fff;
	border: 5px solid #fff7dc;
	border-radius: 0;
	padding: 30px 40px;
	margin-top: 30px;
}
.sdgs .box .introduce dt {
	flex-basis: 28%;
}
.sdgs .box .introduce dt img {
	max-width: 150px;	
}
.sdgs .box .introduce dt a:hover img {
	border-radius: 0!important;
	border: solid 5px transparent!important;
}
.sdgs .box .introduce dd {
	flex-basis: 70%;
}
.sdgs .box .introduce dd h6 {
	font-weight: 700;
	line-height: 1.4;
}
.sdgs .box .introduce dd p {
	font-size: 1.5rem;
	margin-top: 10px;
	}
	@media screen and (max-width:1024px) {
	.sdgs .box .introduce {
		padding: 22px;
		margin-top: 20px;
	}
	.sdgs .box .introduce dt {
		flex-basis: 100%;
	}
	.sdgs .box .introduce dt img {
		display: block;
		max-width: 120px;
		margin-left: auto;
	}
	.sdgs .box .introduce dd {
		flex-basis: 100%;
	}
	.sdgs .box .introduce dd p {
		font-size: 1.4rem;
		margin-top: 10px;
	}
}
.sdgs .box .introduce .col2 {
	display: flex;
	justify-content: space-between;
	margin-top: 14px;
}
.sdgs .box .introduce .col2 li {
	flex-basis: 48.5%;
}
.sdgs .box .introduce small {
	display: block;
	font-size: 60%;
	margin-top: 6px;
	text-align: right;
}

/* for appear
============================ */
.sdgs h4 {
	opacity: 0;
	position: relative;
	top: 20px;
}