@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

**下層ページの簡略図**
![下層ページの簡略図](../img/out/pc_sub_page.jpg)

<div class="_h3">.wrapper</div>
ウィンドウサイズを広げた際の背景画像がきれる対策

<div class="_h3">レイアウト方法</div>
IE10以上、モダンブラウザでは、 display: flex; レイアウト。
IE9 は lte_ie9.css を読み込んでいて、float レイアウト。

*/
.wrapper {
	width: 100%;
	min-width: 100%;
}

.tb_container,
.pc_tb_container,
.mb_container,
.tb_sp_container,
.container {
	box-sizing: border-box;
	padding-left: 40px;
	padding-right: 40px;
}

.tb_container-index,
.pc_tb_container-index,
.mb_container-index,
.tb_sp_container-index,
.container-index {
	padding-left: 20px;
	padding-right: 20px;
}

.tb_container-small,
.pc_tb_container-small,
.mb_container-small,
.tb_sp_container-small,
.container-small {
	padding-left: 80px;
	padding-right: 80px;
}

.tb_container-talk,
.pc_tb_container-talk,
.mb_container-talk,
.tb_sp_container-talk,
.container-talk {
	padding-left: 0;
	padding-right: 0;
}

.main_content > .container,
.index_slider {
	position: relative;
	top: 0;
	left: 0;
}

.main_column {
	padding-bottom: 60px;
}

.sub_column--index {
	margin-top: 3em;
}

.tb_ititle::before,
.tb_ititle::after,
.image_list::before,
.image_list::after {
	content: '';
	display: table;
	height: 0;
}

.tb_ititle::after,
.image_list::after {
	clear: both;
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Utility - Cosmetic

ユーティリティー設定。
このサイト専用というわけでもない共通設定。

<div class="_h3">.pc</div>
PCの時だけ表示される。

<div class="_h3">.pc_block</div>
PCの時だけ、ブロック要素になる。

<div class="_h3">.tel</div>
SPの時だけ、リンクになる。(クリックで電話するリンク)

*/
.pc,
.sp,
.pc_sp,
.contents .pc,
.contents .sp,
.contents .pc_sp {
	display: none;
}

.block,
.tb_block {
	display: block;
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************



## Component - Base

コンポーネント設定。
各ページでよく使い回す記述。
このサイト専用の共通設定。

*/
/* .no_text */
.menu .sub a {
	text-indent: 120%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
}

.menu .sub .subsub {
	display: none;
}

/*

<div class="_h3">.vertical_middle</div>

適当にテキストを vertical-align: middle

	<div class="vertical_middle">テキスト</div>

*/
.vertical_middle {
	display: table-cell;
	vertical-align: middle;
}

/**************************
.button
*/
.button {
	/*box-sizing: border-box;
	width: 180px;
	margin-left: auto;
	margin-right: auto;*/
}

/**************************

## - 段組設定 2列 3列 4列

TBの時だけ、中央に等間隔で余白を作り、width: 100%; を守って列になる。  
ul でなくてもいい。  

**2列 .tb_column2**

	<ul class="tb_column2">
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
	</ul>

**3列 .tb_column3**

	<ul class="tb_column3">
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
	</ul>

**4列 .tb_column4**

	<ul class="tb_column4">
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
		<li>コンテンツ</li>
	</ul>

*/
.tb_column2:before,
.tb_column2:after,
.tb_column3:before,
.tb_column3:after,
.tb_column4:before,
.tb_column4:after {
	content: ' ';
	display: table;
}

.tb_column2:after,
.tb_column3:after,
.tb_column4:after {
	clear: both;
}

.tb_column2 > *:nth-child(2n),
.tb_column3 > *:nth-child(3n),
.tb_column4 > *:nth-child(4n) {
	padding-bottom: 10px;
}

.tb_column2 > *:last-child,
.tb_column3 > *:last-child,
.tb_column4 > *:last-child {
	padding-bottom: 0;
}

.tb_column2 > * {
	width: 50%;
	box-sizing: border-box;
	float: left;
}

.tb_column2 > *:nth-child(2n+1) {
	clear: left;
	padding-right: 10px;
}

.tb_column2 > *:nth-child(2n) {
	padding-left: 10px;
}

.tb_column2._171 > .main_area {
	margin-right: -171px;
	padding-right: 171px;
	width: 100%;
}

.tb_column2._171 > .image_area {
	width: 171px;
}

.tb_column3 > * {
	width: 33.33%;
	box-sizing: border-box;
	float: left;
}

.tb_column3 > *:nth-child(3n+1) {
	clear: left;
	padding-right: 6.6px;
}

.tb_column3 > *:nth-child(3n+2) {
	padding-left: 3.3px;
	padding-right: 3.3px;
}

.tb_column3 > *:nth-child(3n) {
	padding-left: 6.6px;
}

.tb_column3-medium > *:nth-child(3n+1) {
	clear: left;
	padding-right: 16.666px;
}

.tb_column3-medium > *:nth-child(3n+2) {
	padding-left: 8.333px;
	padding-right: 8.333px;
}

.tb_column3-medium > *:nth-child(3n) {
	padding-left: 16.666px;
}

.tb_column4 > * {
	width: 25%;
	box-sizing: border-box;
	float: left;
}

.tb_column4 > *:nth-child(4n+1) {
	clear: left;
	padding-right: 14px;
}

.tb_column4 > *:nth-child(4n+2),
.tb_column4 > *:nth-child(4n+3) {
	padding-left: 7px;
	padding-right: 7px;
}

.tb_column4 > *:nth-child(4n) > .inner {
	padding-left: 14px;
}

/**************************
.mb_column
*/
.mb_column2:before,
.mb_column2:after,
.mb_column3:before,
.mb_column3:after,
.mb_column4:before,
.mb_column4:after,
.mb_column2_210:before,
.mb_column2_210:after {
	content: '';
	display: table;
}

.mb_column2:after,
.mb_column3:after,
.mb_column4:after,
.mb_column2_210:after {
	clear: both;
}

/*
.mb_column2 > .inner:nth-child(2n),
.mb_column3 > .inner:nth-child(3n),
.mb_column4 > .inner:nth-child(4n) {
	margin-bottom: 10px;
}
*/
.mb_column2 > .inner:last-child,
.mb_column3 > .inner:last-child,
.mb_column4 > .inner:last-child {
	margin-bottom: 0;
}

.mb_column2 > *,
.mb_column2 > .inner {
	width: 50%;
	box-sizing: border-box;
	float: left;
}

.mb_column2 > .mb_li {
	clear: left;
	padding-right: 1px;
	padding-left: 0;
}

.mb_column2 > * {
	padding-left: 1px;
}

.mb_column3 > *,
.mb_column3 > .inner {
	width: 33.33%;
	box-sizing: border-box;
	float: left;
}

.mb_column3 > .mb_li {
	clear: left;
	padding-right: 6.666px;
}

.mb_column3 > .mb_li + * {
	padding-left: 3.333px;
	padding-right: 3.333px;
}

.mb_column3 > .mb_li + * + * {
	padding-left: 6.666px;
}

.mb_column3.pr_list > .mb_li + * + * {
	padding-left: 46.666px;
}

.mb_column3.button_list > *:nth-child(3n+1) {
	padding-right: .3em;
}

.mb_column3.button_list .mb_li + * {
	padding-left: .6em;
	padding-right: .6em;
}

.mb_column3.button_list > .mb_li + * + * {
	padding-left: .3em;
}

.mb_column3.image_list > *:nth-child(3n+1) {
	padding-right: 3px;
}

.mb_column3.image_list .mb_li + * {
	padding-left: 1px;
	padding-right: 1px;
}

.mb_column3.image_list > .mb_li + * + * {
	padding-left: 3px;
}

.mb_column3.image_list * {
	margin-bottom: 30px;
}

.mb_column4 > *,
.mb_column4 > .inner {
	width: 25%;
	box-sizing: border-box;
	float: left;
}

.mb_column4 > .mb_li {
	clear: left;
	padding-right: 1px;
}

.mb_column4 > .mb_li + *,
.mb_column4 > .mb_li + * + * {
	padding-left: 1px;
	padding-right: 1px;
}

.mb_column4 > .mb_li + * + * + * {
	padding-left: 1px;
}

.mb_column2 .image_area img,
.mb_column3 .image_area img,
.mb_column2._img200 .image_area img,
.mb_column2._img100 .image_area img,
.mb_column2._img285 .image_area img,
.mb_column2._profile .image_area img,
.mb_column2._commets .image_area img,
.mb_column2._rice_03 .image_area img {
	max-width: 100%;
	height: auto;
}

.mb_column2._img200,
.mb_column2._img100,
.mb_column2._img285 {
	margin-bottom: 40px;
}

.mb_column2._img200:last-child,
.mb_column2._img100:last-child,
.mb_column2._img285:last-child {
	margin-bottom: 0;
}

.mb_column2 li:last-child,
.mb_column3 li:last-child,
.mb_column4 li:last-child {
	margin-bottom: 0;
}

.banner_list.mb_column2 > .mb_li {
	clear: left;
	padding-right: 5px;
	padding-left: 0;
	padding-bottom: 10px;
}

.banner_list.mb_column2 > * {
	padding-left: 5px;
}

/**************************
.section
*/
.section {
	margin-bottom: 60px;
}

.section p,
.section span.p {
	font-size: 0.875em;
}

.section .p-pc_tb_16 {
	font-size: 1em;
}

.section-lg {
	margin-bottom: 120px;
}

.section .section {
	margin-bottom: 40px;
}

.section-index:first-of-type {
	padding-top: 200px;
}

.section2 {
	margin-bottom: 40px;
}

.section2.section--line {
	padding-bottom: 40px;
}

.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">.pc_indent</div>

左右に余白を作る。 
pc_indent ならPCの時だけ

	<div class="section">
		<h4>電車でお越しの場合</h4>
		<div class="pc_indent">
			<ul class="ul1">
				<li>寒川駅北口を下車、寒川町役場方面へ徒歩約10分です。</li>
				<li>宮山駅を下車、寒川神社方面へ約徒歩12分です。</li>
			</ul>
			<p>寒川病院では、<a href="#">無料で送迎バス</a>を用意させて頂いております。近郊の方はご利用ください。</p>
		</div>
	</div>

*/
.indent,
.pc_indent {
	padding-left: 1em;
	padding-right: 1em;
}

.indent2 {
	padding-left: 1.5em;
	padding-right: 1.5em;
}

/**************************
.line_list
*/
.line_list {
	margin-bottom: 1em;
	text-align: right;
}

.line_list li {
	display: inline-block;
}

.line_list li:not(:last-child) {
	margin-right: 2em;
}

.line_list._center {
	text-align: center;
}

/* form */
.input_frame.node,
.input_frame.node input {
	width: 70px;
	display: inline-block;
}

.input_frame.node2,
.input_frame.node2 input {
	width: 100px;
}

/* bxslider */
.bx-pager {
	height: 16px;
	bottom: 20px;
}

.bx-pager-item {
	margin: auto 15px;
}

.bx-pager-link {
	width: 14px;
	height: 14px;
	border-radius: 7px;
}

.dl1 dt,
.dl1 dd,
.dl2 dt,
.dl2 dd {
	float: left;
}

.dl1 dt,
.dl2 dt {
	clear: both;
	width: 20%;
}

.dl1 dd,
.dl2 dd {
	width: 80%;
}

.dl1--seminar dt,
.dl2--seminar dt {
	text-align: right;
	width: 10%;
}

.dl1--seminar dd,
.dl2--seminar dd {
	width: 90%;
}

/*

<div class="_h3">.like_table</div>

PCの時だけ、簡易的に table のような表示をする。
(SPの時には、何もおきない)
横幅が広からず、もろいので注意。

	<div class="like_table">
		<div class="cell row">th のような</div>
		<div class="cell">td のような</div>
		<div class="cell row">th のような</div>
		<div class="cell">td のような</div>
	</div>

*/
.like_table .cell {
	float: left;
	margin-right: 2em;
	white-space: nowrap;
}

.like_table .row,
.like_table .c1 {
	width: 20%;
	clear: both;
}

.like_table.column3 .c2 {
	width: 20%;
}

.like_table._medium .row,
.like_table._medium .c1 {
	width: 40%;
	clear: both;
}

.like_table._large .row,
.like_table._large .c1 {
	width: 60%;
	clear: both;
}

.like_table.__pa .c1 {
	float: none;
	margin-right: 0;
	width: 5em;
	white-space: normal;
	position: absolute;
}

.like_table.__pa .c2::before {
	content: '：';
	display: inline-block;
	width: 1em;
	height: 1em;
	margin-left: -1em;
}

.like_table.__pa .c2 {
	float: none;
	margin-left: 6em;
	white-space: normal;
}

.like_table.sm .row,
.like_table.sm .c1 {
	width: 8%;
	clear: both;
}

.like_table.sm .c2 {
	width: 8%;
}

.like_table.xs .row,
.like_table.xs .c1 {
	width: 5%;
	clear: both;
}

.like_table.column2 .c2,
.like_table.column2 .cell:nth-child(2n) {
	margin-right: 0;
}

.like_table._20per {
	width: 100%;
}

.like_table._20per .cell {
	white-space: normal;
}

.like_table._20per .row {
	clear: left;
	width: 20%;
	margin-right: 0;
}

.like_table._20per .cell:not(.row) {
	padding-left: 22%;
	margin-right: 0;
	margin-left: -22%;
	box-sizing: border-box;
	width: 100%;
}

/*

<div class="_h3">flex</div>

flex 対応ブラウザで flex 表示にする  
非対応ブラウザでは float にする

._column2._order_main_sub で、  
.flex__main 左にしてメインコンテンツ、 ._flex_sub を右にしてサブコンテンツとみなしてレイアウトする

._column2._order_sub_main で、  
._flex_sub 左にしてサブコンテンツ、 .flex__main を右にしてメインコンテンツとみなしてレイアウトする


	<div class="flex _column2 _order_main_sub">
		<div class="flex__main"></div>
		<div class="_flex_sub"></div>
	</div>

*/
.flex > div,
.tb_flex > div,
.main_flex > div {
	float: left;
}

.flex > div::before,
.tb_flex > div::before,
.flex > div::after,
.tb_flex > div::after,
.main_flex > div::before,
.main_flex > div::after {
	content: '';
	display: table;
}

.flex > div::after,
.tb_flex > div::after,
.main_flex > div::after {
	clear: both;
}

.flex,
.tb_flex,
.main_flex {
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
}

.flex-order_main_sub > .flex__main,
.main_flex > .main_container {
	-ms-flex-order: 0;
	    order: 0;
}

.flex-order_main_sub > .flex__sub,
.main_flex > .sub_container {
	-ms-flex-order: 1;
	    order: 1;
}

.flex-order_sub_main > .flex__main,
.main_flex > .main_container {
	-ms-flex-order: 1;
	    order: 1;
}

.flex-order_sub_main > .flex__sub,
.main_flex > .sub_container {
	-ms-flex-order: 0;
	    order: 0;
}

/**************************
.contact_box
*/
.contact_box {
	width: 340px;
	padding: 2.2em;
}

.contact_box__head {
	font-size: 1.125em;
	font-weight: bold;
}

/**************************
.tel_text
*/
.news_list__footer {
	margin-top: .6em;
	position: absolute;
	top: 0;
	right: 0;
}

.news_list__footer a {
	color: #2c2c96;
	font-weight: bold;
}

/**************************
.panel_list
*/
.panel_list .ex {
	min-height: 3em;
}

.secondlevel__wrapper .container {
	padding: 0 20px;
}

.on_hover .secondlevel__wrapper {
	max-height: 250px;
}

.secondlevel__inner {
	height: 250px;
}

.secondlevel__content-box:nth-of-type(3) {
	margin: 0;
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Project

特定ページ専用、効果範囲が限定的な記述。
コンテンツ内容に密接で、汎用性がなく、機能の付け替えを想定していない。

*/
.hero {
	margin-bottom: 0;
	background-position: center top;
}

.hero__jp {
	font-size: 1.125em;
}

.hero + .section {
	padding-top: 110px;
}

.hero__banner {
	position: absolute;
	top: 0;
	right: 0;
}

.hero__news_area {
	padding-top: 80px;
	padding-bottom: 80px;
	background-color: #eee;
	z-index: 1;
}

.hero__news_area:not(:last-child) {
	padding-top: 80px;
	padding-bottom: 40px;
}

.section-index .tb_ititle {
	display: -ms-flexbox;
	display: flex;
	margin-bottom: 40px;
	width: 100%;
}

.section-index .tb_ititle > .flex__main {
	width: 50%;
}

.section-index .tb_ititle > .flex__main .h3-default {
	word-break: keep-all;
}

.section-index .tb_ititle > .flex__sub {
	width: 50%;
	padding-top: 20px;
}

.section-index .tb_ititle.flex-order_main_sub > .flex__sub {
	padding-left: 60px;
	box-sizing: border-box;
}

.section-index .tb_ititle.flex-order_sub_main > .flex__sub {
	padding-right: 20px;
	box-sizing: border-box;
}

@media only screen and (max-width: 1000px) {
	.section-index .tb_ititle > .flex__main .h3-default {
		font-size: 1.375em;
	}
}

@media only screen and (max-width: 910px) {
	.section-index .tb_ititle > .flex__main .h3-default {
		font-size: 1.25em;
	}
	.section-index .tb_ititle > .flex__sub br {
		display: none;
	}
}

/**************************
.flexproject
*/
.flex-cc1_hero > .flex__main {
	min-width: 400px;
}

.flex-cc1_hero > .flex__sub {
	box-sizing: border-box;
	padding-left: 30px;
}

.flex-default > .flex__main {
	padding-right: 30px;
	box-sizing: border-box;
}

.flex-default > .flex__sub {
	padding-left: 30px;
	box-sizing: border-box;
}

.flex-cc1_1 > .flex__main {
	padding-right: 100px;
	box-sizing: border-box;
}

.flex-cc1_1 > .flex__sub {
	padding-left: 74px;
	box-sizing: border-box;
}

.flex-cc1_2 > .flex__main {
	padding-right: 40px;
	box-sizing: border-box;
}

.flex-sc1_hero > .flex__main {
	width: 50%;
	padding-right: 5px;
	box-sizing: border-box;
}

.flex-sc1_hero > .flex__sub {
	width: 50%;
	padding-left: 5px;
	box-sizing: border-box;
}

.flex-dc1_hero {
	width: 100%;
}

.flex-dc1_hero > .flex__main {
	width: 420px;
	min-width: 420px;
	box-sizing: border-box;
}

.flex-dc1_hero > .flex__sub {
	width: 100%;
}

.flex-dc1_2 > .flex__sub {
	width: 560px;
	min-width: 560px;
	box-sizing: border-box;
	padding-left: 40px;
	padding-bottom: 1em;
}

.flex-dc1_2 > .flex__sub img {
	max-width: 100%;
	display: block;
}

.inav {
	left: 50%;
	-ms-transform: translateX(-50%);
	    transform: translateX(-50%);
	z-index: 3;
}

.h2-index__image {
	max-width: 100%;
	height: auto;
}

.h2-lower__header {
	left: -20px;
}

.case__content-connect {
	margin-top: -150px;
}

.case__content-search {
	margin-top: -69px;
}

.case__content-develop {
	margin-top: -150px;
}

.case__title__main-index {
	padding-left: 50px;
}

.case__title__main-index img {
	max-height: 210px;
	width: auto;
}

.case__title__main-lower {
	margin-top: 35px;
	margin-left: 15px;
	font-size: 1.75em;
}

.case__title-lower {
	margin-bottom: 10px;
}

@media only screen and (max-width: 850px) {
	.case__content-connect {
		margin-top: -140px;
	}
	.case__content-search {
		margin-top: -64px;
	}
	.case__content-develop {
		margin-top: -140px;
	}
}

br.pc + .em_box,
br.sp + .em_box,
.em_box__node + .em_box {
	margin-left: .6em;
}

.em_box-no_pctb {
	margin-right: 0;
}

.em_box-no_pctb::after {
	content: none;
	padding: 0;
	margin: 0;
}

br.mb + .em_box-no_pctb,
br.tb + .em_box-no_pctb,
br.sp + .em_box-no_pctb,
.em_box-no_pctb__node + .em_box-no_pctb {
	margin-left: 0;
}

.casec__content {
	box-sizing: contet-box;
	position: relative;
	top: 0;
	left: 0;
}

.casec__person_name_area {
	clear: both;
	padding-top: 15px;
	line-height: 1.8;
}

.casec__person_name__sub {
	font-size: 1em;
}

.casec__person_name__main {
	font-size: 1.25em;
}

.casec__pager {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding-top: 26px;
}

.casec__pager__link {
	position: absolute;
}

.casec__pager__link-prev {
	left: 30px;
}

.casec__pager__link-next {
	right: 0;
}

.cc1_1 {
	position: relative;
	top: 0;
	left: 0;
	min-height: 310px;
}

.cc1_1 p {
	position: relative;
	top: 0;
	left: 0;
	z-index: 3;
}

.cc1_1__person {
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -191px;
	width: 400px;
	height: 280px;
	overflow: visible;
}

.cc1_1__person__text {
	width: 400px;
	height: 50px;
	position: absolute;
	top: -15px;
	left: 245px;
	z-index: 2;
}

.cc1_1__person__image {
	width: 246px;
	height: 279px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.cc1_1 .flex__sub {
	padding-top: 100px;
}

@media only screen and (max-width: 1100px) {
	.cc1_1__person__text {
		top: -55px;
		left: 195px;
	}
}

@media only screen and (max-width: 900px) {
	.cc1_1__person__text {
		top: -125px;
		left: 135px;
	}
}

.step {
	box-sizing: border-box;
	padding-left: 43px;
	padding-bottom: 2.4em;
	position: relative;
	top: 0;
	left: 0;
}

.step_list {
	padding: 2.4em 1.5em 0;
	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 {
	position: relative;
	top: 0;
	left: 0;
	height: 69px;
	overflow: visible;
}

.cc1_2__image {
	width: 547px;
	height: 109px;
	display: block;
	position: relative;
	top: -25px;
	left: 20px;
}

.person__name {
	position: static;
	margin-left: .7em;
	margin-top: -.7em;
}

.person__name-dc1_hero {
	position: absolute;
	top: -3.7em;
}

.person__name-default_right {
	float: right;
}

.person__info {
	margin-top: 1em;
}

.person__info .person__detail {
	float: none;
}

.person__info .person__detail {
	margin-left: 1.6em;
}

@media only screen and (max-width: 999px) {
	.person__name-dc1_hero {
		top: -.7em;
		left: .7em;
	}
}

.image_list-lower {
	margin-top: 1em;
	text-align: center;
}

.image_list-lower__li {
	display: inline-block;
	max-width: 171px;
	margin-right: 3px;
}

.image_list-lower__li:odd {
	margin-right: 0;
	margin-left: 3px;
}

@media only screen and (max-width: 1000px) {
	.contents .pc_column2.cc1_hero_inner > .main_area {
		float: none;
		width: auto;
		padding-left: 0;
		margin-left: 0;
	}
	.contents .pc_column2.cc1_hero_inner > .image_area {
		float: none;
		width: auto;
		margin: auto;
	}
}

.h3-line {
	margin-bottom: 1em;
}

.dc1_hero_list {
	float: right;
	padding-left: 2em;
	text-align: right;
}

.dc1_hero__li {
	display: inline-block;
	width: 230px;
}

.dc1_1 {
	position: relative;
	top: 0;
	left: 0;
	margin-bottom: 80px;
}

.dc1_1__image {
	position: absolute;
	height: 192px;
	width: auto;
	bottom: -78px;
	right: 46px;
}

@media only screen and (max-width: 950px) {
	.column_box-use_right_img {
		padding-right: 230px;
	}
	.column_box__image {
		width: 180px;
		height: auto;
		bottom: auto;
		top: 40px;
	}
}

.talk__content {
	min-width: 460px;
	padding: .5em .5em 0;
	margin-left: .5em;
	margin-right: .5em;
	width: 100%;
}

.talk__content-image1 {
	min-height: unset;
	padding-bottom: 213px;
	padding-left: 1em;
}

.talk__content-image2 {
	min-height: unset;
	padding-bottom: 214px;
	padding-right: 1em;
}

.talk__content p {
	width: 460px;
	margin-left: auto;
	margin-right: auto;
}

.talk__content-1 p {
	-ms-transform: translateX(-40px);
	    transform: translateX(-40px);
}

.talk__content-3 p {
	-ms-transform: translateX(-40px);
	    transform: translateX(-40px);
}

.talk__content-5 p {
	-ms-transform: translateX(-40px);
	    transform: translateX(-40px);
}

.talk__content-6 p {
	-ms-transform: translateX(-40px);
	    transform: translateX(-40px);
}

.talk__content-7 p {
	-ms-transform: translateX(-40px);
	    transform: translateX(-40px);
}

.talk__content-9 p {
	-ms-transform: translateX(-40px);
	    transform: translateX(-40px);
}

.talk__content-question p {
	-ms-transform: translateX(-40px);
	    transform: translateX(-40px);
}

.talk__content-2 p {
	-ms-transform: translateX(40px);
	    transform: translateX(40px);
}

.talk__content-4 p {
	-ms-transform: translateX(40px);
	    transform: translateX(40px);
}

.talk__content-8 p {
	-ms-transform: translateX(40px);
	    transform: translateX(40px);
}

.talk__content-10 p {
	-ms-transform: translateX(40px);
	    transform: translateX(40px);
}

.talk__content-question {
	padding-left: 85px;
	margin-left: 0;
	margin-right: 0;
}

.talk__content-question::before {
	top: 1.5em;
}

@media only screen and (max-width: 950px) {
	.cc1_3 {
		display: block;
	}
	.cc1_3 .flex__main {
		margin-bottom: 1em;
	}
	.cc1_3 p {
		line-height: 2;
	}
}

@media only screen and (max-width: 1000px) {
	.dc1_2 {
		display: block;
	}
	.dc1_2 .flex__main {
		float: none;
	}
	.dc1_2 .flex__sub {
		margin: auto;
		float: none;
	}
	.dc1_2 img {
		display: block;
		max-width: 560px;
		width: 100%;
		margin: 1em auto;
	}
}

.news_panel {
	box-sizing: border-box;
	margin: auto;
}

.dm {
	max-height: 420px;
}

.hnav {
	width: 525px;
}

.hnav__li {
	width: 130px;
}

@media only screen and (max-width: 900px) {
	.hnav {
		width: 405px;
	}
	.hnav__li {
		width: 100px;
	}
	.hnav__txt {
		height: 45px;
	}
	.hnav__li-news .hnav__txt {
		height: 45px;
	}
}

.mdetail::before, .mdetail::after {
	content: '';
	display: table;
}

.mdetail::after {
	clear: both;
}

.mdetail .column-sub {
	width: 165px;
	position: relative;
	top: 0;
	left: 0;
	float: left;
	z-index: 2;
}

.mdetail .column-main {
	width: 100%;
	box-sizing: border-box;
	padding-left: 195px;
	margin-left: -165px;
	float: left;
}

.banner_list-footer li {
	float: left;
}

.banner_list-footer li:not(:first-child) {
	margin-left: 20px;
}

.news_list__line {
	width: 360px;
	box-sizing: border-box;
}

.single_hero .single__main {
	width: 560px;
	margin: 0 auto;
}
