@charset "UTF-8";



/* メインビジュアル
--------------------------------------------------*/
.case_index {
	position: relative;
	background: #fff;
	min-height: 310px;
	padding: 78px 0;
	box-sizing: border-box;
	overflow: hidden;
}
.case_index .container {
	position: static;
}
.case_index .container div {
	position: relative;
	z-index: 2;
}
.case_index .container div .cliant {
	margin: 0 0 28px;
}
.case_index .container div .cliant span {
	display: inline-block;
	padding: 9px 10px;
	background: #000;
	color: #fff;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1;
}
.case_index .container div h1 {
	margin-bottom: 28px;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.5;
}
.case_index .container div p {
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 1.3;
	margin: 15px 0 5px;
}
.case_index .container .tagList li {
	margin: 0 10px 0 0;
	padding: 7px 10px;
	border: 1px solid #3B85CE;
	background: #3B85CE;
	color: #fff;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1;
}
.case_index .container figure {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
}
.case_index .container figure img {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	height: auto;
	opacity: .25;
}
@media screen and (max-width: 1020px) and (min-width: 768px) {
	.case_index .container {
		margin: 0 10px;
		width: calc( 100% - 20px);
	}
}
@media screen and (max-width: 767px) {
	.case_index {
		padding: 50px 0 64px;
		min-height: 260px;
	}
	.case_index .container {
		flex-direction: column;
		-ms-flex-direction: column;
		width: auto;
		padding: 0 20px;
		box-sizing: border-box;
	}
	.case_index .container div .cliant {
		margin: 0 0 18px;
	}
	.case_index .container div h1 {
		margin-bottom: 18px;
		font-size: 2rem;
		line-height: 1.65;
	}
	.case_index .container .tagList li {
		margin: 0 10px 10px 0;
	}
	.case_index .container figure img {
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
		width: auto;
		min-width: 100%;
		min-height: 100%;
	}
}

/* 本文エリア全体
--------------------------------------------------*/
.containerMin {
	margin: 0 auto;
	padding: 0 0 110px;
	width: 100%;
	max-width: 1000px;
	color: #000;
	font-family: -apple-system, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}

@media screen and (max-width: 1020px) and (min-width: 768px) {
	.containerMin {
		margin: 0 10px;
		width: calc( 100% - 20px);
	}
}

@media screen and (max-width: 767px) {
	.containerMin {
		width: calc(100% - 40px);
		padding: 0 0 60px;
	}
}

/* 分割レイアウト
--------------------------------------------------*/
/* デフォルトオーバーライド */
.col_normal.col2 > div {
	width: calc(( 100% - 30px )/ 2 );
}
.col_normal.col2 > div:not(:nth-of-type( 2n )) {
	margin-right: 30px;
}
.col_normal.col2 > div:not(:nth-of-type( -n + 2 )) {
	margin-top: 30px;
}
.containerMin h2 + .col_normal.col2,
.containerMin h3 + .col_normal.col2,
.containerMin h4 + .col_normal.col2,
.containerMin h5 + .col_normal.col2 {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.containerMin .col_normal.col2 {
		display: block;
	}
	.containerMin .col_normal.col2 > div {
		margin: 0 auto;
		width: 100%;
	}
	.containerMin .col_normal.col2 > div:not(:nth-of-type( 1 )) {
		margin-top: 40px;
	}
	.containerMin .col_normal.col2 > div:not(:nth-of-type( 2n )) {
		margin-right: auto;
	}
	.containerMin .col_normal.col2 > div:not(:nth-of-type( -n + 2 )) {
		margin-top: inherit;
	}
}

.containerMin .col_normal.col3 {
	display: flex;
	display: -ms-flexbox;
    justify-content: flex-start;
	-ms-flex-pack: start;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	width: 100%;
}
.containerMin .col_normal.col3 > div {
	width: calc(( 100% - 60px )/ 3 );
}
.containerMin .col_normal.col3 > div:not(:nth-of-type( 3n )) {
	margin-right: 30px;
}
.containerMin .col_normal.col3 > div:not(:nth-of-type( -n + 3 )) {
	margin-top: 30px;
}
.containerMin h2 + .col_normal.col3,
.containerMin h3 + .col_normal.col3,
.containerMin h4 + .col_normal.col3,
.containerMin h5 + .col_normal.col3 {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.containerMin .col_normal.col3 {
		display: block;
	}
	.containerMin .col_normal.col3 > div {
		margin: 0 auto;
		width: 100%;
	}
	.containerMin .col_normal.col3 > div:not(:nth-of-type( 1 )) {
		margin-top: 40px;
	}
	.containerMin .col_normal.col3 > div:not(:nth-of-type( 3n )) {
		margin-right: auto;
	}
	.containerMin .col_normal.col3 > div:not(:nth-of-type( -n + 3 )) {
		margin-top: inherit;
	}
}

.containerMin .photoR2col {
	display: flex;
	display: -ms-flexbox;
    justify-content: flex-start;
	-ms-flex-pack: start;
    flex-wrap: wrap;
	-ms-flex-wrap: wrap;
}
.containerMin .photoR2col > *:first-child {
	margin-right: 30px;
	width: calc(( 100% - ( 30px * 2))/ 3 * 2 + 30px );
}
.containerMin .photoR2col > *:last-child  {
	width: calc(( 100% - ( 30px * 2))/ 3 );
}
.containerMin .photoR2col img {
	width: 100%;
}
.containerMin h2 + .photoR2col,
.containerMin h3 + .photoR2col,
.containerMin h4 + .photoR2col,
.containerMin h5 + .photoR2col {
	margin-top: 0;
}
.containerMin .photoR2col > .table-complexity {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.containerMin .photoR2col {
		margin-top: 40px;
		display: block;
	}
	.containerMin .photoR2col > * {
		margin: 0 auto;
		width: 100% !important;
	}
	.containerMin .photoR2col > *:first-child {
		margin-right: auto;
	}
	.containerMin .photoR2col > *:last-child {
		margin-top: 30px;
	}
}


/* 2分割 */
.containerMin .column2 {
	display: flex;
	display: -ms-flexbox;
    justify-content: flex-start;
	-ms-flex-pack: start;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	width: 100%;
}
.containerMin .column2 > * {
	width: calc(( 100% - 30px )/ 2 );
}
.containerMin .column2 > *:not(:nth-of-type( 2n )) {
	margin-right: 30px;
}
.containerMin .column2 > *:not(:nth-of-type( -n + 2 )) {
	margin-top: 30px;
}
.containerMin h2 + .column2,
.containerMin h3 + .column2,
.containerMin h4 + .column2,
.containerMin h5 + .column2 {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.containerMin .column2 {
		display: block;
	}
	.containerMin .column2 > * {
		margin: 0 auto;
		width: 100%;
	}
	.containerMin .column2 > *:not(:nth-of-type( 1 )) {
		margin-top: 40px;
	}
	.containerMin .column2 > *:not(:nth-of-type( 2n )) {
		margin-right: auto;
	}
	.containerMin .column2 > *:not(:nth-of-type( -n + 2 )) {
		margin-top: inherit;
	}
}

/* 3分割 */
.containerMin .column3 {
	display: flex;
	display: -ms-flexbox;
    justify-content: flex-start;
	-ms-flex-pack: start;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	width: 100%;
}
.containerMin .column3 > * {
	width: calc(( 100% - 60px )/ 3 );
}
.containerMin .column3 > *:not(:nth-of-type( 3n )) {
	margin-right: 30px;
}
.containerMin .column3 > *:not(:nth-of-type( -n + 3 )) {
	margin-top: 30px;
}
.containerMin h2 + .column3,
.containerMin h3 + .column3,
.containerMin h4 + .column3,
.containerMin h5 + .column3 {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.containerMin .column3 {
		display: block;
	}
	.containerMin .column3 > * {
		margin: 0 auto;
		width: 100%;
	}
	.containerMin .column3 > *:not(:nth-of-type( 1 )) {
		margin-top: 40px;
	}
	.containerMin .column3 > *:not(:nth-of-type( 3n )) {
		margin-right: auto;
	}
	.containerMin .column3 > *:not(:nth-of-type( -n + 3 )) {
		margin-top: inherit;
	}
}

/* 3:1 */
.containerMin .column2by1 {
	display: flex;
	display: -ms-flexbox;
    justify-content: flex-start;
	-ms-flex-pack: start;
    flex-wrap: wrap;
	-ms-flex-wrap: wrap;
}
.containerMin .column2by1 > *:nth-of-type( 2n - 1 ) {
	margin-right: 30px;
	width: calc(( 100% - ( 30px * 2))/ 3 * 2 + 30px );
}
.containerMin .column2by1 > *:nth-of-type( 2n )  {
	width: calc(( 100% - ( 30px * 2))/ 3 );
}
.containerMin .column2by1 > *:not(:nth-of-type( -n + 2 )) {
	margin-top: 30px;
}
.containerMin .column2by1 img {
	width: 100%;
}
.containerMin h2 + .column2by1,
.containerMin h3 + .column2by1,
.containerMin h4 + .column2by1,
.containerMin h5 + .column2by1 {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.containerMin .column2by1 {
		margin-top: 40px;
		display: block;
	}
	.containerMin .column2by1 > * {
		margin: 0 auto;
		width: 100% !important;
	}
	.containerMin .column2by1 > *:nth-of-type( 2n - 1 ) {
		margin-right: auto;
	}
	.containerMin .column2by1 > *:nth-of-type( 2n )  {
		margin-top: 0;
	}
}


/* 見出し
--------------------------------------------------*/
/* デフォルトオーバーライド */
.containerMin h2 {
	margin: 120px 0 1em;
	font-size: 2.7rem;
	font-weight: 700;
	line-height: 1.3;
}
.containerMin h3 {
	margin: 100px 0 1em;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
}
.containerMin h4 {
	margin: 50px 0 1em;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.5;
}
.containerMin h5 {
	margin: 40px 0 1em;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
}
.containerMin h2 + h3 {
	margin-top: 50px;
}
.containerMin h3 + h4 {
	margin-top: 40px;
}
.containerMin .tit_small {
	margin: 0 0 10px;
	color: inherit;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.5;
	text-align: left !important;
}


/* 基本テキスト
--------------------------------------------------*/
.containerMin p,
.containerMin li {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.8;
}
.containerMin p + p {
	margin-top: 2rem;
}
.containerMin a {
	color: #0851d7;
	text-decoration: underline;
}
.containerMin a:hover {
	text-decoration: none;
}
.containerMin .caption {
	margin: 1.3rem 0 0;
	color: #666;
	font-size: 13px;
}


/* 汎用枠
--------------------------------------------------*/
.containerMin .bg_box {
	margin-top: 40px;
	padding: 40px;
	background: #f5f5f5;
}
.containerMin .bg_box_title {
	font-weight: 700;
}
.containerMin .bg_box_title + * {
	margin-top: 10px !important;
}
.containerMin .bg_box > *:first-child {
	margin-top: 0;
}
.containerMin .bg_box > *:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}
@media screen and (max-width: 767px) {
	.containerMin .bg_box {
		padding: 30px 20px;
	}
}

/* リスト
--------------------------------------------------*/
/* テキストリスト */
.containerMin .list_circle {
	margin: 2rem 0;
}
.containerMin .list_circle:only-child {
	margin: 1rem 0;
}
.containerMin .list_circle li {
	margin: 0 0 0 2rem;
	text-indent: -2rem;
}
.containerMin .list_circle li::before {
	display: inline-block;
	content: '';
	margin-right: 1rem;
	width: 1rem;
	height: 1rem;
	background: #3B85CE;
	border-radius: 50%;
	text-indent: 0;
}

/* サムネリスト */
.containerMin .list_thumbs {
	margin: 3rem 0;
}
.containerMin .list_thumbs .caption {
	margin-top: .8rem;
}
.containerMin .list_thumbs img {
	width: 100%;
}

@media screen and (max-width: 767px) {
	.containerMin .list_thumbs {
		margin: 3.5rem 0;
	}
}

/* オフィスリスト */
.containerMin .list_office {
	display: flex;
	display: -ms-flexbox;
    justify-content: flex-start;
	-ms-flex-pack: start;
    flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	margin-top: 30px;
	width: 100%;
}
.containerMin .list_office > * {
	width: calc(( 100% - 30px )/ 2 );
}
.containerMin .list_office > *:not(:nth-of-type( 2n )) {
	margin-right: 30px;
}
.containerMin .list_office > *:not(:nth-of-type( -n + 2 )) {
	margin-top: 50px;
}
.containerMin h2 + .list_office,
.containerMin h3 + .list_office,
.containerMin h4 + .list_office,
.containerMin h5 + .list_office {
	margin-top: 0;
}
.containerMin .list_office_title {
	margin: 0 0 10px;
	font-size: 1.7rem;
	font-weight: 700;
	line-height: 1.5;
}
.containerMin .list_office_thumb {
	margin-bottom: 30px;
}


@media screen and (max-width: 767px) {
	.containerMin .list_office {
		display: block;
		width: 100%;
	}
	.containerMin .list_office > * {
		width: 100%;
	}
	.containerMin .list_office > *:not(:nth-of-type( 2n )) {
		margin-right: 0;
	}
	.containerMin .list_office > *:not(:nth-of-type( -n + 2 )) {
		margin-top: 0;
	}
	.containerMin .list_office > *:not(:first-child) {
		margin-top: 50px;
	}

	.containerMin .list_office_title {
		margin: 0 0 20px;
		font-size: 1.7rem;
		font-weight: 700;
		line-height: 1.5;
	}
	.containerMin .list_office_thumb {
		margin-top: 10px;
		margin-bottom: 30px;
	}
}

/* テーブル
--------------------------------------------------*/
/* デフォルトオーバーライド */
.containerMin .table-complexity {
	margin-top: 20px;
}
.containerMin .table-complexity table {
	font-size: 1.5rem;
}
.containerMin .table-complexity th {
	font-weight: 600;
}
.containerMin .table-complexity th,
.containerMin .table-complexity td {
	padding: 10px;
}
@media screen and (max-width: 767px) {
	.containerMin .table-complexity table {
		font-size: 1.4rem;
	}
	.containerMin .table-complexity th,
	.containerMin .table-complexity td {
		padding: 6px 10px;
		min-width: 90px;
	}
}

/* テーブルユニット */
.containerMin .table_unit {
	display: flex;
	display: -ms-flexbox;
    justify-content: flex-start;
	-ms-flex-pack: start;
    flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-direction: row;
	-ms-flex-direction: row;
	margin-top: 40px;
}
.containerMin .table_unit_caption {
	margin: 0 0 1rem;
	width: 100% !important;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.5;
}
.containerMin .table_unit_caption +.table_unit_table {
	margin-top: 0;
}
.containerMin .table_unit_table {
	margin-right: 30px;
	width: calc(( 100% - ( 30px * 2))/ 3 * 2 + 30px );
}
.containerMin .table_unit_thumb {
	width: calc(( 100% - ( 30px * 2))/ 3 );
}
.containerMin .table_unit_thumb img {
	width: 100%;
}
.containerMin [class*="column"] .table-complexity:first-child {
	margin-top: 0;
}
.containerMin h2 + .column2by1,
.containerMin h3 + .column2by1,
.containerMin h4 + .column2by1,
.containerMin h5 + .column2by1 {
	margin-top: 0;
}

@media screen and (max-width: 767px) {
	.containerMin .table_unit {
		display: flex;
		display: -ms-flexbox;
		flex-direction: column;
		-ms-flex-direction: column;
		margin-top: 40px;
	}
	.containerMin .table_unit_caption {
		order: 1;
	}
	.containerMin .table_unit_table {
		order: 3;
		margin-top: 30px;
		margin-right: 0;
		width: 100%;
		font-size: 1.5rem;
	}
	.containerMin .table_unit_table table {
		font-size: 1.4rem;
	}
	.containerMin .table_unit_table th,
	.containerMin .table_unit_table td {
		padding: 6px 10px;
		min-width: 90px;
	}
	.containerMin .table_unit_thumb {
		order: 2;
		margin-top: 10px !important;
		width: 100%;
	}
	.containerMin .table-complexity::-webkit-scrollbar {
		background: #fff;
		border-radius: 5px;
		height: 4px;
		border: 1px solid #444;
	}

	.containerMin .table-complexity::-webkit-scrollbar-thumb {
		background: #444;
		border-radius: 5px;
	}
}

/* 概要欄
--------------------------------------------------*/
.overview {
	display: flex;
	display: -ms-flexbox;
	margin-top: 40px;
	font-size: 1.5rem;
}

.overview_data {
	padding: 15px 30px 0;
	width: 50%;
}

.overview_data .data_list {
	display: flex;
	display: -ms-flexbox;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
}

.overview_data .data_list dt {
	border-bottom: 1px solid #ccc;
	padding: 12px 0;
	width: 100px;
	color: #3B85CE;
	font-weight: bold;
}

.lang_en .overview_data .data_list dt {
	width: 120px;
}

.overview_data .data_list dd {
	border-bottom: 1px solid #ccc;
	padding: 12px 0;
	width: calc( 100% - 100px );
}

.lang_en .overview_data .data_list dd {
	width: calc( 100% - 120px );
}

.overview_data .data_list dt:nth-of-type( -n + 1 ),
.overview_data .data_list dd:nth-of-type( -n + 1 ) {
	padding-top: 0;
}

.overview_bg {
	padding: 15px 30px;
	width: 50%;
	background: #eee;
}

.overview_bg dt {
	padding-bottom: 12px;
	border-bottom: 1px solid #ccc;
	color: #3B85CE;
	font-weight: bold;
}

.overview_bg dd {
	padding-top: 15px;
}

@media screen and (max-width: 767px) {
	.overview {
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.overview_data {
		padding: 0 20px;
		width: auto;
	}

	.overview_data .data_list dt:nth-of-type( -n + 1 ),
	.overview_data .data_list dd:nth-of-type( -n + 1 ) {
		padding-top: 12px;
	}

	.overview_data .data_list dt {
		width: 90px;
	}

	.overview_bg {
		margin-top: 30px;
		padding: 20px;
		width: auto;
	}
}

/* 課題欄
--------------------------------------------------*/
.issue {
	display: flex;
	display: -ms-flexbox;
	border: 2px solid #3B85CE;
	margin-top: 40px;
	font-size: 15rem;
	box-sizing: border-box;
}

.issue_title {
	display: flex;
	display: -ms-flexbox;
	justify-content: center;
	-ms-flex-pack: center;
	align-items: center;
	-ms-flex-align:center;
	width: 140px;
	background: #3B85CE;
	color: #fff;
	box-sizing: border-box;
}

.issue_title p {
	font-weight: bold;
}

.issue_list {
	padding: 25px 30px;
	width: calc( 100% - 140px);
	box-sizing: border-box;
}

.issue_list li {
	margin-left: 34px;
	font-weight: bold;
	text-indent: -34px;
}

.issue_list li::before {
	display: inline-block;
	content: '';
	margin-right: 10px;
	width: 24px;
	height: 24px;
	background: url(/-/media/image/msg/case/icon_check.svg);
	background-size: 24px 24px;
	vertical-align: -5px;
}

.issue_list li + li {
	margin-top: 10px;
}

@media screen and (max-width: 767px) {
	.issue {
		-ms-flex-direction: column;
		flex-direction: column;
	}

	.issue_title {
		display: block;
		width: auto;
	}

	.issue_title p {
		padding: 7px 20px;
	}

	.issue_list {
		padding: 25px 20px;
		width: auto;
	}
}