@charset "UTF-8";
@keyframes inav__border {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(0.95);
	}
	100% {
		transform: scale(1);
	}
}

@keyframes inav__txt {
	0% {
		transform: translateY(0px) scale(1);
		opacity: 1;
	}
	50% {
		transform: translateY(106.5px) scale(0.7);
		opacity: .5;
	}
	100% {
		transform: translateY(213px) scale(1);
		opacity: 1;
	}
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************
## Layout

PCのサブメニューとSPのサブメニューは同一のHTMLとなります。  
common.js にて $(window).resize イベントを監視して、  
SPのメニューのためのライブラリ mmenu のための init と destroy で、html 構造を変えています。

**下層ページの簡略図**  
![下層ページの簡略図](../img/out/sp_sub_page.jpg)

<div class="_h3">.wrapper</div>
ウィンドウサイズを広げた際の背景画像がきれる対策
*/
select,
input {
	font-size: 16px;
}

.wrapper {
	width: 100%;
	min-width: 100%;
}

.container,
.sp_container,
.mb_container {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.main_column {
	margin-bottom: 3em;
}

.container,
.sp_container,
.mb_container,
.sp_padding,
.main_container {
	padding-left: 10px;
	padding-right: 10px;
}

table._column2::before,
table._column2::after {
	content: '';
	display: table;
	height: 0;
}

table._column2::after {
	clear: both;
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Utility - Cosmetic

ユーティリティー設定。  
このサイト専用というわけでもない共通設定。

<div class="_h3">.sp</div>
PCの時だけ表示される。

<div class="_h3">.sp_block</div>
SPの時だけ、ブロック要素になる。

<div class="_h3">.tel</div>
SPの時だけ、リンクになる。(クリックで電話するリンク)

*/
.pc,
.tb,
.pc_tb,
.contents .pc,
.contents .tb,
.contents .pc_tb,
table._column2 .pc {
	display: none;
}

.block,
.sp_block {
	display: block;
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Component - Base

コンポーネント設定。  
各ページでよく使い回す記述。  
このサイト専用の共通設定。

*/
.logo-header img {
	padding-left: 10px;
}

.h5 ._right {
	float: none;
	display: block;
}

.h5::before {
	-ms-transform: scaleY(0.7);
	    transform: scaleY(0.7);
}

.title_box .text {
	font-size: 1em;
}

.title_box .link_arrow--prev {
	left: 10px;
}

.title_box .link_arrow--next {
	right: 10px;
}

/*

<div class="_h3">.sp_mw300</div>

SP時のみ、 画像の横幅300px に限定する。  
画像が汚く、大きくなってほしくない時を想定

*/
.contents .container .sp_mw300 img,
.contents .container img.sp_mw300 {
	max-width: 300px;
}

.like_table + .like_table {
	margin-top: 1em;
}

/**************************

## - 段組設定 2列 3列 4列

SPの時だけ、中央に等間隔で余白を作り、width: 100%; を守って列になる。  
ul でなくてもいい。  

**2列 .sp_column2**

	<ul class="sp_column2">
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
	</ul>

**3列 .sp_column3**

	<ul class="sp_column3">
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
	</ul>

**4列 .sp_column4**

	<ul class="sp_column4">
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
	</ul>

*/
.sp_column2:before,
.sp_column2:after,
.sp_column3:before,
.sp_column3:after,
.sp_column4:before,
.sp_column4:after {
	content: ' ';
	display: table;
}

.sp_column2:after,
.sp_column3:after,
.sp_column4:after {
	clear: both;
}

.sp_column2 > *:nth-child(2n),
.sp_column3 > *:nth-child(3n),
.sp_column4 > *:nth-child(4n) {
	padding-bottom: 10px;
}

.sp_column2 > *:last-child,
.sp_column3 > *:last-child,
.sp_column4 > *:last-child {
	padding-bottom: 0;
}

.sp_column2 > * {
	width: 50%;
	box-sizing: border-box;
	float: left;
}

.sp_column2 > *:nth-child(2n+1) {
	clear: left;
	padding-right: 10px;
}

.sp_column2 > *:nth-child(2n) {
	padding-left: 10px;
}

.sp_column2._171 > .main_area {
	margin-right: -171px;
	padding-right: 171px;
	width: 100%;
}

.sp_column2._171 > .image_area {
	width: 171px;
}

.sp_column3 > * {
	width: 33.33%;
	box-sizing: border-box;
	float: left;
}

.sp_column3 > *:nth-child(3n+1) {
	clear: left;
	padding-right: 6.6px;
}

.sp_column3 > *:nth-child(3n+2) {
	padding-left: 3.3px;
	padding-right: 3.3px;
}

.sp_column3 > *:nth-child(3n) {
	padding-left: 6.6px;
}

.sp_column3-medium > *:nth-child(3n+1) {
	clear: left;
	padding-right: 16.666px;
}

.sp_column3-medium > *:nth-child(3n+2) {
	padding-left: 8.333px;
	padding-right: 8.333px;
}

.sp_column3-medium > *:nth-child(3n) {
	padding-left: 16.666px;
}

.sp_column4 > * {
	width: 25%;
	box-sizing: border-box;
	float: left;
}

.sp_column4 > *:nth-child(4n+1) {
	clear: left;
	padding-right: 14px;
}

.sp_column4 > *:nth-child(4n+2),
.sp_column4 > *:nth-child(4n+3) {
	padding-left: 7px;
	padding-right: 7px;
}

.sp_column4 > *:nth-child(4n) > .inner {
	padding-left: 14px;
}

.banner_list.mb_column2 > .mb_li {
	clear: left;
	padding-right: 5px;
	padding-left: 0;
	padding-bottom: 10px;
}

.banner_list.mb_column2 > * {
	padding-left: 5px;
}

/*

<div class="_h3">.table1</div>

.table1 は SPの時、リストのような見た目に変更する。

	<table class="table1">
		<tbody>
			<tr>
				<th>テキスト</th>
				<td>テキスト</td>
			</tr>
			<tr>
				<th>テキスト</th>
				<td>テキスト</td>
			</tr>
			<tr>
				<th>テキスト</th>
				<td>テキスト</td>
			</tr>
		</tbody>
	</table>

*/
.table1,
.table1 tbody,
.table1 tr,
.table1 th,
.table1 td {
	display: block;
	width: 100%;
	box-sizing: border-box;
}

.table1 tr {
	margin-bottom: 1em;
}

.table1 th,
.table1 td {
	margin-top: -1px;
	text-align: left;
}

.table1 th {
	font-weight: bold;
	background-color: #eaedf2;
	line-height: 1.3;
}

/**************************
table._column2
*/
table._column2,
table._column2._default {
	border-top: 1px solid #ccc;
	width: 100%;
	border-collapse: collapse;
}

table._column2._small,
table._column2._default._small {
	width: 100%;
}

table._column2 .pc,
table._column2._default .pc {
	display: none;
}

table._column2 thead,
table._column2 tbody,
table._column2 tfoot,
table._column2 tr,
table._column2 th,
table._column2 td,
table._column2._default thead,
table._column2._default tbody,
table._column2._default tfoot,
table._column2._default tr,
table._column2._default th,
table._column2._default td {
	display: block;
	width: 100%;
	box-sizing: border-box;
	float: left;
	clear: both;
}

table._column2 tr th,
table._column2 th + td,
table._column2._default tr th,
table._column2._default th + td {
	border-top: 0 none;
}

table._column2 .bh,
table._column2._default .bh {
	width: 100%;
}

table._column2--td50 tr td,
table._column2--td50 td + td,
table._column2._default--td50 tr td,
table._column2._default--td50 td + td {
	border-top: 0 none;
}

table._column2--outline td {
	border-top: 0 none;
}

._column2--rec th._column2--rec__th_base_width {
	width: 100%;
	max-width: 100%;
	min-width: 100%;
}

._column2--dental thead th {
	text-align: left;
}

.contents ._column2--smart--course__th_center {
	width: 100%;
}

.contents ._column2--smart--course__base_width {
	width: 100%;
}

/*

<div class="_h3">横スクロールできる table</div>

responsive-tables.js と組み合わせないと効果が生まれない。  
左の固定部分の横幅を変えたい場合は、CSSを追記する必要がある。  
.responsive_table_area で包んで、  
table.responsive とするのが必須の仕様。

	<div class="responsive_table_area">
		<table class="responsive">
			<tbody>
				<tr>
					<th>テキスト</th>
					<td>テキスト</td>
				</tr>
				<tr>
					<th>テキスト</th>
					<td>テキスト</td>
				</tr>
				<tr>
					<th>テキスト</th>
					<td>テキスト</td>
				</tr>
			</tbody>
		</table>
	</div>

*/
.responsive_table_area {
	position: relative;
	top: 0;
	left: 0;
	clear: both;
}

.responsive_table_mask {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url("../img/icon_swipe.png") center center no-repeat transparent;
	background-size: auto 90px;
	z-index: 102;
	cursor: pointer;
}

.responsive_table_mask.shadow {
	background-image: none;
	background: #666;
	opacity: 0.5;
	z-index: 101;
}

.responsive_table_area th:first-child,
.responsive_table_area td:first-child {
	max-width: 120px;
	min-width: 120px;
	width: 120px;
	box-sizing: border-box;
}

.responsive_table_area .table-wrapper .pinned {
	max-width: 121px;
	min-width: 121px;
	width: 121px;
}

.responsive_table_area .table-wrapper .scrollable {
	padding-left: 120px;
}

.responsive_table_area .table-wrapper .scrollable > table {
	margin-left: -120px;
}

.scrollable {
	-webkit-overflow-scrolling: touch;
}

@media only screen and (max-width: 767px) {
	.responsive_table_area table.responsive th:first-child,
	.responsive_table_area table.responsive td:first-child,
	.responsive_table_area table.responsive td:first-child,
	.responsive_table_area table.responsive.pinned td {
		display: table-cell;
	}
}

.responsive._25per th,
.responsive._25per td {
	width: auto;
}

.no_th_table_area .table-wrapper .pinned {
	display: none;
}

.no_th_table_area .table-wrapper .scrollable {
	padding-left: 0;
}

.no_th_table_area .table-wrapper .scrollable > table {
	margin-left: -0;
}

.no_th_table_area th:first-child,
.no_th_table_area td:first-child {
	max-width: inherit;
	min-width: inherit;
	width: auto;
}

/*

<div class="_h3">SPだけ縦書きになるテーブル</div>

<table class="reset_table">
	<thead>
		<tr>
			<th>メールアドレス：</th>
			<th>会社名：</th>
			<th>住所：</th>
		</tr>
	</thead>
	<tbody>
		<tr>
			<td data-th="メールアドレス：">info@linqua.jp</td>
			<td data-th="会社名：">一般社団法人リンクア</td>
			<td data-th="住所：">東京都大田区田園調布4-30-2</td>
		</tr>
	</tbody>
</table>

	<div class="fot_m">外来診療</div>

*/
.reset_table {
	width: 100%;
}

.reset_table thead {
	display: none;
}

.reset_table td {
	padding-right: 0;
	display: block;
	margin-bottom: 1em;
}

.reset_table td::before {
	content: attr(data-th);
	font-weight: bold;
	display: block;
	margin-bottom: .5em;
}

.reset_table__cell {
	padding-left: .5em;
	overflow: hidden;
}

/**************************
.pc_column
*/
.pc_column3 > *:last-child,
.pc_column2 > *:last-child {
	margin-bottom: 0;
}

.pc_column2:not(.sp_column2) > *,
.pc_column2:not(.sp_column3) > *,
.pc_column2:not(.sp_column4) > *,
.pc_column2:not(.sp_column5) > *,
.pc_column3:not(.sp_column2) > *,
.pc_column3:not(.sp_column3) > *,
.pc_column3:not(.sp_column4) > *,
.pc_column4:not(.sp_column2) > *,
.pc_column4:not(.sp_column3) > *,
.pc_column4:not(.sp_column4) > *,
.pc_column4:not(.sp_column5) > * {
	margin-bottom: 2px;
}

.pc_column2 .text_area,
.pc_column2 .image_area,
.pc_column3 .text_area,
.pc_column3 .image_area,
.pc_column4 .text_area,
.pc_column4 .image_area {
	margin-bottom: 20px;
	position: relative;
	top: 0;
	left: 0;
}

.pc_column2 .image_area img,
.pc_column3 .image_area img,
.pc_column4 .image_area img {
	max-width: 100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.pc_column2._img180 .main_area + .image_area {
	margin-top: 1em;
}

.pc_column2._img180 .image_area + .main_area {
	margin-top: 1em;
}

.pc_column2._img180 .image_area {
	text-align: center;
}

.pc_column2._img180 .image_area img {
	width: 180px;
	height: auto;
	display: inline-block;
}

.pc_column2._img180--mb_1em {
	margin-bottom: 1em;
}

/**************************
.section
*/
.section {
	margin-bottom: 40px;
}

.section p,
.section span.p {
	font-size: 14px;
}

.section .section {
	margin-bottom: 40px;
}

.section-shadow {
	padding-top: 60px;
}

.dogear {
	position: relative;
	top: 0;
	left: 0;
	padding-top: 32px;
}

.dogear-green::before {
	content: '';
	display: block;
	background: url("../img/icon_dogear-green.png") 0 0 no-repeat transparent;
	background-size: 32px 32px;
	width: 32px;
	height: 32px;
}

.dogear-blue::before {
	content: '';
	display: block;
	background: url("../img/icon_dogear-blue.png") 0 0 no-repeat transparent;
	background-size: 32px 32px;
	width: 32px;
	height: 32px;
}

.dogear-red::before {
	content: '';
	display: block;
	background: url("../img/icon_dogear-red.png") 0 0 no-repeat transparent;
	background-size: 32px 32px;
	width: 32px;
	height: 32px;
}

.dogear-gray::before {
	content: '';
	display: block;
	background: url("../img/icon_dogear-gray.png") 0 0 no-repeat transparent;
	background-size: 32px 32px;
	width: 32px;
	height: 32px;
}

.section2 {
	margin-bottom: 15px;
}

.section2.section--line {
	padding-bottom: 15px;
}

.section2.section--line:last-child {
	padding-bottom: 0;
}

.section3 {
	margin-bottom: 1em;
}

.section4 {
	margin-bottom: 1em;
}

.section4:last-child {
	margin-bottom: 0;
}

/*

<div class="_h3">.sp_indent</div>

左右に余白を作る。 
sp_indent ならPCの時だけ

	<div class="section">
		<h4>電車でお越しの場合</h4>
		<div class="sp_indent">
			<ul class="ul1">
				<li>寒川駅北口を下車、寒川町役場方面へ徒歩約10分です。</li>
				<li>宮山駅を下車、寒川神社方面へ約徒歩12分です。</li>
			</ul>
			<p>寒川病院では、<a href="#">無料で送迎バス</a>を用意させて頂いております。近郊の方はご利用ください。</p>
		</div>
	</div>

*/
.indent,
.sp_indent {
	padding-left: 7.5px;
	padding-right: 7.5px;
}

.image_list__li {
	margin-bottom: 15px;
}

.image_list__li img {
	display: block;
	line-height: 0;
	width: 100%;
	height: auto;
}

/* form */
.input_frame.node,
.input_frame.node input {
	width: 60px;
	display: inline-block;
}

.input_frame.node2,
.input_frame.node2 input {
	width: 70px;
}

form .frame .node {
	margin-right: 3px;
}

/**************************
 bxslider
*/
.bx-pager {
	height: 20px;
	bottom: 10px;
}

.bx-pager-item {
	margin: auto 8px;
}

.bx-pager-link {
	width: 8px;
	height: 8px;
	border-radius: 4px;
}

/**************************
.image_list
*/
.image_list li {
	margin-bottom: 10px;
}

.image_list li img {
	display: block;
	line-height: 0;
	width: 100%;
	height: auto;
}

@media only screen and (max-width: 319px) {
	.image_list li {
		width: 100%;
	}
	.content .image_list .inner {
		margin-left: 0;
		margin-right: 0;
	}
}

/**************************
.line_list
*/
.line_list li {
	text-align: right;
}

/**************************
.news_list
*/
.news_list__content {
	height: auto;
}

/**************************
.breadcrumbs
*/
.breadcrumbs {
	font-size: 10px;
	margin-top: 1em;
	margin-bottom: 1em;
}

/**************************
.kakko
*/
.after_kakko {
	margin-left: -.7em;
}

/**************************
.title_box
*/
.title_box--sp_resize {
	font-size: 0.813em;
	min-height: 50px;
	height: auto;
	line-height: 1.5;
	box-sizing: border-box;
	padding: .5em 1em;
}

.icon_search,
.icon_search .button {
	width: 100%;
	min-width: auto;
}

/**************************
.creditcard_list
*/
.creditcard_list li {
	float: left;
}

@media only screen and (max-width: 767px) {
	.creditcard_list li {
		width: 20%;
	}
}

@media only screen and (max-width: 660px) {
	.creditcard_list li {
		width: 25%;
	}
}

@media only screen and (max-width: 560px) {
	.creditcard_list li {
		width: 33.333%;
	}
}

@media only screen and (max-width: 420px) {
	.creditcard_list li {
		width: 50%;
	}
}

.dl2 dt,
.dl2 dd {
	float: left;
}

.dl2 dt {
	clear: both;
	width: 20%;
}

.dl2 dd {
	width: 80%;
}

.dl2--seminar dt {
	text-align: right;
	width: 10%;
}

.dl2--seminar dd {
	width: 90%;
}

.simple_table--course_rei {
	width: 100%;
}

/**************************
.link_line_list
*/
.link_line_list li {
	float: none;
	width: 100%;
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Project

特定ページ専用、効果範囲が限定的な記述。  
コンテンツ内容に密接で、汎用性がなく、機能の付け替えを想定していない。

*/
.hero {
	background-image: url("../img/sp/bg_hero.jpg");
	background-size: cover;
	background-position: 0 0;
	background-repeat: no-repeat;
	min-height: 530px;
	margin-bottom: 0;
}

.hero__container {
	padding-top: 50px;
	height: 530px;
}

.hero__text {
	font-size: 0.813em;
}

.hero__banner {
	margin-top: 30px;
}

.hero__news_area {
	padding-top: 20px;
	padding-bottom: 20px;
	background-color: #eee;
}

.hero__news_area:not(:last-child) {
	padding-top: 20px;
}

@media only screen and (max-width: 710px) {
	.hero {
		background-size: 710px auto;
	}
}

.logo img {
	width: auto;
}

.logo-index {
	margin-bottom: 15px;
}

.logo-index img {
	height: 40px;
}

.logo-header img {
	height: 28px;
}

.inav {
	left: 50%;
	bottom: -50px;
	-ms-transform: translateX(-50%) scale(0.5);
	    transform: translateX(-50%) scale(0.5);
}

.h2 {
	margin-left: auto;
	margin-right: auto;
}

.h2-index__image {
	max-width: 237px;
	height: auto;
}

.h2-index__image-search {
	max-width: 248px;
}

.h2-index__image-develop {
	max-width: 195px;
}

.h2-lower__txt {
	height: 30px;
	width: auto;
}

.h2-lower__num {
	top: 12px;
	width: auto;
	height: 56px;
}

.h3-default {
	font-size: 0.875em;
}

.h3-line {
	font-size: 1.125em;
	margin-bottom: 1em;
}

.h3-column {
	font-size: 1.125em;
}

.h3-introduce {
	max-width: 320px;
	margin-left: auto;
	margin-right: auto;
}

.tb_ititle {
	margin-bottom: 30px;
}

.tb_ititle > .flex__main {
	margin-bottom: 1em;
	text-align: center;
}

.tb_ititle > .flex__sub p {
	font-size: 0.75em;
}

.case-new::before {
	width: 44px;
	height: 46.2px;
	background-size: 44px 46.2px;
}

.case__content-connect {
	margin-top: 0;
}

.case__content-search {
	margin-top: -3%;
}

.case__content-develop {
	margin-top: 0;
}

.case__num__img {
	height: 56px;
	width: auto;
}

.case__info {
	height: 56px;
	padding-top: 1.2em;
	font-size: 0.75em;
	line-height: 1.7;
}

.case__info-loser {
	text-align: right;
}

.case__info .icon_x {
	height: 9px;
	width: 9px;
}

.case__title__main-index {
	top: 0;
}

.case__title__main-index .sp-s {
	display: none;
}

.case__title__main-index img {
	width: 100%;
}

.case__title__main-lower {
	margin-left: 10px;
	font-size: 1em;
	line-height: 2.5;
}

.case__title-lower {
	top: 0;
	margin-top: 50px;
	margin-bottom: .5em;
}

@media only screen and (max-width: 420px) {
	.case__content-connect {
		margin-top: 0;
	}
	.case__content-search {
		margin-top: 0;
	}
	.case__content-develop {
		margin-top: 0;
	}
	.case__title__main-index .sp-l {
		display: none;
	}
	.case__title__main-index .sp-s {
		display: block;
	}
}

.case_slider__arrows {
	font-size: 13px;
}

.case_slider__arrows-prev {
	left: 0;
}

.case_slider__arrows-next {
	right: 0;
}

.em_box {
	margin-right: .8em;
}

br.pc + .em_box,
br.tb + .em_box,
br.pc_tb + .em_box,
.em_box__node + .em_box {
	margin-left: .8em;
}

.em_box::after {
	padding: .35em .3em;
	top: -.5em;
	left: -.55em;
}

.em_box._sp_no_mgl {
	margin-left: 0;
}

.casec__content {
	padding-left: 0;
}

.casec__left, .casec__right {
	margin-bottom: 1em;
}

.casec__person_name {
	line-height: 1.5;
}

.casec__person_name__sub {
	font-size: 0.75em;
}

.casec__person_name__main {
	font-size: 1em;
}

.casec__pager {
	margin-top: 1em;
	border: 3px solid #ccc;
	border-radius: 8px;
	width: 100%;
	box-sizing: border-box;
}

.casec__pager__link {
	width: 50%;
	float: left;
	position: relative;
	top: 0;
	left: 0;
}

.casec__pager__link:first-child::after {
	content: '';
	height: 100%;
	width: 3px;
	position: absolute;
	top: 0;
	left: 100%;
	margin-left: -1.5px;
	background-color: #ccc;
}

.casec__pager__link a {
	width: 100%;
	display: block;
	padding-top: .7em;
	padding-bottom: .7em;
	text-align: center;
	font-weight: bold;
}

.casec__pager__link a::before, .casec__pager__link a::after {
	background-image: url("../img/arrow_right_green.png");
}

.casec__pager__link a.passive {
	color: #ccc;
}

.index_footer__text {
	font-size: 0.75em;
}

.index_footer__email {
	max-width: 500px;
	width: 100%;
	margin-bottom: 20px;
}

.link_line__li {
	min-width: 0;
	padding-right: 1em;
}

.copyright {
	float: none;
	margin: .7em auto 1.5em;
}

.hnav {
	display: none;
}

.person__title-dc1_hero {
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
}

.person__name {
	font-size: 1em;
	position: static;
	margin-left: .7em;
	margin-top: -.7em;
}

.person__info {
	margin-top: .5em;
	margin-bottom: 1.5em;
	float: none;
}

.person__img-dc1_hero {
	max-width: 420px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.person__detail table {
	width: auto;
}

.person__detail table._right {
	float: none;
}

.image_list-lower {
	margin-top: 1em;
	text-align: center;
	width: 100%;
}

.image_list-lower__li {
	display: inline-block;
	width: 50%;
	max-width: 171px;
	padding-right: 3px;
	box-sizing: border-box;
}

.image_list-lower__li:odd {
	padding-left: 3px;
	padding-right: 0;
}

.cc1_1 p {
	font-size: 0.75em;
	line-height: 2;
}

.cc1_1 .cc1_1__person__text {
	display: block;
	margin-top: 2em;
	margin-bottom: .5em;
	width: 100%;
	max-width: 300px;
}

.cc1_1 .cc1_1__person__image {
	display: block;
	margin: 0 auto 1em;
	width: 100%;
	max-width: 180px;
}

.cc1_3 .flex__main {
	margin-bottom: 1em;
}

.cc1_3 p {
	font-size: 0.75em;
	line-height: 2;
}

.step {
	box-sizing: border-box;
	padding-left: 43px;
	padding-bottom: 2.4em;
	position: relative;
	top: 0;
	left: 0;
}

.step_list {
	padding: 30px 20px 10px;
	width: 100%;
	box-sizing: border-box;
}

.step_list-gray {
	background-color: #f0f0f0;
}

.step_list-cc1 {
	font-size: 0.75em;
}

.step_list-inner {
	padding: 0;
}

.step__num {
	display: block;
	position: absolute;
	top: -5px;
	left: 0;
	width: 33px;
	height: 33px;
}

.step .h4 {
	font-weight: bold;
	line-height: 1.5;
	margin-bottom: .3em;
}

.step p {
	font-size: 0.75em;
}

.cc1_2 {
	overflow: visible;
}

.cc1_2__image {
	width: 100%;
	height: auto;
	display: block;
	position: static;
	margin-top: -30px;
	left: 0;
}

.column_box {
	padding: 1em .5em;
}

.column_box p {
	font-size: 0.75em;
	line-height: 2;
}

.column_box__image {
	position: static;
	width: 190px;
	height: auto;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.card {
	padding: 1em;
	border: 1px solid #ccc;
	width: 100%;
	max-width: 320px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.card:not(:last-child) {
	margin-bottom: 10px;
}

.card_list {
	display: block;
	-ms-flex-align: stretch;
	    align-items: stretch;
	-ms-grid-row-align: stretch;
}

.card + .card {
	margin-left: auto;
}

.card__img {
	display: block;
	margin: auto;
	width: 240px;
	height: auto;
	max-width: 100%;
}

.card__info {
	padding-top: .7em;
}

.card__title {
	font-size: 0.875em;
	line-height: 1.2;
}

.card__url {
	font-size: 0.75em;
	text-decoration: none;
	line-height: 1.2;
}

.case_footer {
	margin-top: 1em;
	margin-bottom: 2em;
}

.flex-sc1_hero > .flex__main,
.flex-sc1_hero > .flex__sub {
	margin-bottom: 1em;
}

.talk {
	display: block;
}

.talk__name {
	width: 100%;
	text-align: left;
	min-height: 54px;
	position: relative;
	top: 0;
	left: 0;
	box-sizing: border-box;
	padding-top: 1em;
	padding-left: 64px;
}

.talk__name::after {
	content: none;
	display: none;
}

.talk__name::before {
	position: absolute;
	top: 0;
	left: 0;
}

.talk__name-1::before {
	content: '';
	display: block;
	background: url("../img/icon_person1.png") 0 0 no-repeat transparent;
	background-size: 54px 54px;
	width: 54px;
	height: 54px;
}

.talk__name-2::before {
	content: '';
	display: block;
	background: url("../img/icon_person2.png") 0 0 no-repeat transparent;
	background-size: 54px 54px;
	width: 54px;
	height: 54px;
}

.talk__name-3::before {
	content: '';
	display: block;
	background: url("../img/icon_person3.png") 0 0 no-repeat transparent;
	background-size: 54px 54px;
	width: 54px;
	height: 54px;
}

.talk__name-4::before {
	content: '';
	display: block;
	background: url("../img/icon_person4.png") 0 0 no-repeat transparent;
	background-size: 54px 54px;
	width: 54px;
	height: 54px;
}

.talk__name-5::before {
	content: '';
	display: block;
	background: url("../img/icon_person5.png") 0 0 no-repeat transparent;
	background-size: 54px 54px;
	width: 54px;
	height: 54px;
}

.talk__name-6::before {
	content: '';
	display: block;
	background: url("../img/icon_person6.png") 0 0 no-repeat transparent;
	background-size: 54px 54px;
	width: 54px;
	height: 54px;
}

.talk__name-7::before {
	content: '';
	display: block;
	background: url("../img/icon_person7.png") 0 0 no-repeat transparent;
	background-size: 54px 54px;
	width: 54px;
	height: 54px;
}

.talk__name-8::before {
	content: '';
	display: block;
	background: url("../img/icon_person8.png") 0 0 no-repeat transparent;
	background-size: 54px 54px;
	width: 54px;
	height: 54px;
}

.talk__name-9::before {
	content: '';
	display: block;
	background: url("../img/icon_person9.png") 0 0 no-repeat transparent;
	background-size: 54px 54px;
	width: 54px;
	height: 54px;
}

.talk__name-10::before {
	content: '';
	display: block;
	background: url("../img/icon_person10.png") 0 0 no-repeat transparent;
	background-size: 54px 54px;
	width: 54px;
	height: 54px;
}




.talk__name-12::before {
	content: '';
	display: block;
	background: url("../img/icon_person12.png") 0 0 no-repeat transparent;
	background-size: 54px 54px;
	width: 54px;
	height: 54px;
}

.talk__name-13::before {
	content: '';
	display: block;
	background: url("../img/icon_person13.png") 0 0 no-repeat transparent;
	background-size: 54px 54px;
	width: 54px;
	height: 54px;
}
















.talk__name-no_icon::after {
	content: none;
}

.talk__content {
	padding: .5em 0 0;
	margin-left: .5em;
	margin-right: .5em;
}

.talk__content-1 {
	border-left: 0 none;
	border-top: 2px solid #c2bfea;
}

.talk__content-2 {
	border-right: 0 none;
	border-top: 2px solid #dfd3cf;
}

.talk__content-3 {
	border-top: 2px solid #c2bfea;
}

.talk__content-4 {
	border-top: 2px solid #dfd3cf;
}

.talk__content-question {
	padding-left: 1.5em;
}

.talk__content-question::before {
	width: 1em;
	left: 0;
	top: 1.4em;
}

.talk__content-left {
	border-left: 0 none;
}

.talk__content-right {
	border-right: 0 none;
}

.talk__content-5 {
	border-top: 2px solid #e1b5ac;
}

.talk__content-6 {
	border-top: 2px solid #d0a87e;
}

.talk__content-7 {
	border-top: 2px solid #7c5f4e;
}

.talk__content-8 {
	border-top: 2px solid #E3B893;
}

.talk__content-9 {
	border-top: 2px solid #7D97AF;
}

.talk__content-image1 {
	min-height: unset;
	padding-bottom: 213px;
}

.talk__content-image2 {
	min-height: unset;
	padding-bottom: 214px;
}

.dc1_hero_list {
	margin-top: 1.5em;
	text-align: center;
}

.dc1_hero__li {
	display: inline-block;
	max-width: 230px;
	width: auto;
}

.dc1_1 {
	position: relative;
	top: 0;
	left: 0;
	margin-bottom: 50px;
	padding-bottom: 100px;
}

.dc1_1__image {
	position: absolute;
	display: block;
	margin: auto;
	height: 150px;
	width: auto;
	left: 50%;
	-ms-transform: translateX(-50%);
	    transform: translateX(-50%);
}

.dc1_f_table td {
	margin-bottom: 1em;
}

.footer .link_line {
	float: none;
	display: block;
}

.footer .link_line__li {
	font-size: 0.75em;
	padding-right: .8em;
}

.footer .link_line__li .link_arrow::before {
	top: 3px;
}

.profile__image {
	width: 80px;
	height: 80px;
}

.profile__name {
	padding-left: 1em;
}

.profile__name__handle {
	font-size: 0.75em;
}

.share_button {
	float: none;
	margin-top: 20px;
}

.dc1_2 img {
	display: block;
	max-width: 560px;
	width: 100%;
	margin: 1em auto;
}

.news_panel {
	box-sizing: border-box;
	margin: auto;
	max-width: 300px;
	width: 100%;
	min-height: 160px;
	height: auto;
	padding-left: 10px;
	padding-right: 10px;
}

.news_panel > img {
	width: 100%;
}

.blog_panel {
	min-height: 160px;
	height: auto;
}

.blog_list__title {
	line-height: 1.7;
}

.dm {
	max-height: 400px;
	padding: 20px;
}

.member:hover {
	-ms-transform: scale(1);
	    transform: scale(1);
}

.mdetail .column-sub {
	margin-bottom: 40px;
}

.banner_list-footer li {
	margin-left: auto;
	margin-right: auto;
}

.news_list__line {
	width: 230px;
	box-sizing: border-box;
}

#advertisement_area .advertisement_event2017 .inner a {
	padding: 20px;
}
