@charset "UTF-8";
/*! normalize.css v5.0.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
}

/**************************
Compass Text Replacement
*/
/**************************
Inline List
*/
/**************************
Inline Block List
*/
/**************************
horizontal-list
*/
/**************************
Bullets
*/
/* simple clearfix */
/**************************
@mixin for sprite
*/
/**************************
Compass Text Replacement
*/
/**************************
Inline List
*/
/**************************
Inline Block List
*/
/**************************
horizontal-list
*/
/**************************
Bullets
*/
/* simple clearfix */
/**************************
@mixin for sprite
*/
/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Foundation
ブラウザ仕様をフラットにする

文字色 : palette('color');
リンク : $link_color
ホバー : $hover_color

*/
body {
  -webkit-font-smoothing: antialiased;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
}

li {
  list-style: none;
}

input,
textarea {
  outline: 0;
}

input::-moz-placeholder {
  color: #999;
  opacity: .75;
}

input::-webkit-input-placeholder {
  color: #999;
  opacity: .75;
}

input:-ms-input-placeholder {
  color: #999;
  opacity: .75;
}

.none {
  display: none;
}

body {
  font-family: "游ゴシック", "YuGothic", "Roboto", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: normal;
  font-size: 1rem;
  line-height: 1.7;
  background: #fff;
  color: #222;
}

.gmap {
  width: 100%;
}

.gmap > iframe {
  max-width: 100%;
}

.gmap > img {
  max-width: 100%;
}

.gcalendar {
  max-width: 100%;
}

.gcalendar > iframe {
  max-width: 100%;
}

.gcalendar > img {
  max-width: 100%;
}

.twitter {
  overflow: hidden;
}

.twitter > iframe {
  margin-left: auto;
  margin-right: auto;
}

.img {
  max-width: 100%;
  display: block;
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Utility - Cosmetic

ユーティリティー設定。
このサイト専用というわけでもない共通設定。

*/
/*

<div class="_h3">.bold</div>

太字。

	<span class="bold">太い文字</span><br>
	<span class="em">太い文字</span>

*/
.bold,
.em {
  font-weight: bold;
  font-style: normal;
}

/*

<div class="_h3">.underline</div>

下線。

	<span class="underline">テキスト</span><br>

*/
.underline {
  text-decoration: underline;
}

/*

<div class="_h3">.red .caution</div>

赤文字。

	<span class="caution">赤い文字</span><br>
	<span class="red">赤い文字</span>

*/
.caution,
.red_text {
  color: #d64747;
  -webkit-text-decoration-color: #d64747;
  text-decoration-color: #d64747;
}

/*

<div class="_h3">.orange_text</div>

オレンジ文字。

	<span class="orange_text">オレンジ文字</span>

*/
.orange_text {
  color: #fff;
}

.orange_text2 {
  color: #faf4f3;
}

/*

<div class="_h3">.white_text</div>

白文字。

	<span class="white_text">オレンジ文字</span>

*/
.white_text {
  color: #fff;
}

/*

<div class="_h3">.blue_text</div>

時々使う青文字

	<div class="blue_text">テキスト</div>

*/
.blue_text {
  color: #fff;
  font-weight: bold;
}

.small_text {
  font-size: 0.75rem;
}

/*

<div class="_h3">.yellow_text</div>

時々使う青文字

	<div class="yellow_text">テキスト</div>

*/
.yellow_text {
  color: #a67f07;
  font-weight: bold;
}

/*

<div class="_h3">.gray_text</div>

時々使う灰色文字

	<div class="gray_text">テキスト</div>

*/
.gray_text {
  color: #888;
}

/*

<div class="_h3">.pink_text</div>

ピンク文字

	<div class="pink_text">テキスト</div>

*/
.pink_text {
  color: #ff7bac;
}

/*

<div class="_h3">.center</div>

適当に中央によせたい。

3つ指定してます
margin-left: auto;
margin-right: auto;
text-align: center;

	<div class="center">テキスト</div>

*/
.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/*

<div class="_h3">.center_position</div>

画像を適当に中央によせたい。
親要素に relative が必要
width と height は個別に指定した方がいい

	<div class='line'>
		<img class="center_position" src="http://placehold.it/100x100" alt="">
	</div>

*/
.center_position {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/*

<div class="_h3">.center_text</div>

text-align: right 。 float はしない。

	<div class="center_text">テキスト</div>

*/
.center_text {
  text-align: center;
}

/*

<div class="_h3">.right_text</div>

text-align: right 。 float はしない。

	<div class="right_text">テキスト</div>

*/
.right_text {
  text-align: right;
}

.float_right {
  float: right;
  padding-left: .5em;
  padding-bottom: .5em;
}

.float_left {
  float: left;
  padding-right: .5em;
  padding-bottom: .5em;
}

.clear_both {
  clear: both;
}

/*

<div class="_h3">.clearfix</div>

	<div class="clearfix">テキスト</div>

*/
.clearfix::after {
  content: '';
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.clearfix {
  display: inline-block;
}

* html .clearfix {
  height: 1%;
}

.clearfix {
  display: block;
}

/*

<div class="_h3">.clear</div>

clear: both; だけしたい時。

	<div class="clear">テキスト</div>

*/
.clear {
  clear: both;
}

/*

<div class="_h3">.no_text</div>

背景画像だけを表示して、テキストを吹き飛ばして非表示にしたい。 text-indent: 120%;
(下記例の info_title _hosp クラスはサンプルをわかりやすくするための指定。)

	<div class="info_title _hosp no_text">テキスト</div>

.no_text {
	text-indent: 120%;
	line-height: 0;
	white-space: nowrap;
	overflow: hidden;
	display: block;
}
*/
.no_text,
.hide-text {
  text-indent: -119988px;
  overflow: hidden;
  text-align: left;
}

/*

<div class="_h3">.on_opacity</div>

:hover で透明化する aタグ。 opacity はサイト統一と考えて、基本ここにしか書いていません。

	<a href="#" class="on_opacity">マウスオーバーで透明化するリンクテキスト</a>

*/
.on_opacity:hover {
  text-decoration: none;
  opacity: 0.7;
  -webkit-transition: 0.2s opacity;
  -o-transition: 0.2s opacity;
  transition: 0.2s opacity;
}

/*

<div class="_h3">.ellipsis</div>

領域からはみ出た場合に「...」を表示する。ブラウザの挙動がおかしいのであまりにあてにしない。

	<div class="ellipsis" style="width: 100px;">長いテキスト長いテキスト長いテキスト長いテキスト</div>

*/
.ellipsis {
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}

/*

<div class="_h3">.no_wrap</div>

改行せず、領域を貫通するテキスト。 PCのために書く時、SPで改行をせず表示が壊れないかに注意。

	<div class="no_wrap">テキスト</div>

*/
.no_wrap {
  white-space: nowrap;
}

/*

<div class="_h3">.mb_1em</div>

*/
.root .main_content .mt_10 {
  margin-top: 10px;

}
.root .main_content .mt_4em {
  margin-top: 4em;
}

.root .main_content .mt_3em {
  margin-top: 3em;
}

.root .main_content .mt_2em {
  margin-top: 2em;
}

.root .main_content .mt_1_5em {
  margin-top: 1.5em;
}
.root .main_content .mb_4em {
  margin-bottom: 4em;
}

.root .main_content .mb_3em {
  margin-bottom: 3em;
}

.root .main_content .mb_2em {
  margin-bottom: 2em;
}

.root .main_content .mb_1_5em {
  margin-bottom: 1.5em;
}

.root .main_content .mb_1em {
  margin-bottom: 1em;
}

.root .main_content .mb_05em {
  margin-bottom: .5em;
}

.root .main_content .mb_0em,
.root .main_content .no_mb,
.root .main_content .mb_none {
  margin-bottom: 0;
}

@media screen and (min-width: 900px), print {
	.root .main_content .pc_mb_3em {
		margin-bottom: 3em;
	}

	.root .main_content .pc_mb_2em {
		margin-bottom: 2em;
	}

	.root .main_content .pc_mb_1_5em {
		margin-bottom: 1.5em;
	}

	.root .main_content .pc_mb_1em {
		margin-bottom: 1em;
	}

	.root .main_content .pc_mb_05em {
		margin-bottom: .5em;
	}

	.root .main_content .pc_mb_0em,
	.root .main_content .pc_no_mb,
	.root .main_content .pc_mb_none {
		margin-bottom: 0;
	}
}
@media screen and (max-width: 899px) {
	.root .main_content .sp_mb_3em {
		margin-bottom: 3em;
	}

	.root .main_content .sp_mb_2em {
		margin-bottom: 2em;
	}

	.root .main_content .sp_mb_1_5em {
		margin-bottom: 1.5em;
	}

	.root .main_content .sp_mb_1em {
		margin-bottom: 1em;
	}

	.root .main_content .sp_mb_05em {
		margin-bottom: .5em;
	}

	.root .main_content .sp_mb_0em,
	.root .main_content .sp_no_mb,
	.root .main_content .sp_mb_none {
		margin-bottom: 0;
	}
}

/*

<div class="_h3">.tel</div>

comment

	<div class="fot_m">外来診療</div>

*/
.tel_link {
  word-wrap: break-word;
}

.mincho {
  font-family: "YuMincho", "游明朝", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-weight: normal;
}

/**************************
.image_radius
*/
.image_radius {
  border-radius: 5px;
}

.root .no_radius {
  border-radius: inherit;
}

/**************************
.skip
*/
.skip {
  border-style: none;
  height: 0;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 0;
  z-index: 100;
}

.fb_page_container {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/**************************
Compass Text Replacement
*/
/**************************
Inline List
*/
/**************************
Inline Block List
*/
/**************************
horizontal-list
*/
/**************************
Bullets
*/
/* simple clearfix */
/**************************
@mixin for sprite
*/
/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Component - Base

コンポーネント設定。
各ページでよく使い回す記述。
このサイト専用の共通設定。


*/
/**************************
heading
*/
/*

<div class="_h3">.large_text</div>

大きい文字。

	<span class="large_text">テキスト</span><br>

*/
.large_text {
  font-weight: normal;
  line-height: 2;
}

@media screen and (min-width: 900px), print {
  .large_text {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 899px) {
  .large_text {
    font-size: 1.125rem;
  }
}

.large_text.red_text {
  color: #d64747;
}

.push_text {
  font-size: 1.25rem;
  font-weight: bold;
  color: #faf4f3;
  line-height: 1.5;
}

.push_text-blue {
  color: #fff;
}

/**************************
.main_content
*/
.main_content ul:not(.cancel):not(:last-child) {
  margin-bottom: 1em;
}

.main_content ul:not(.cancel) > li {
  padding-left: 1.5em;
  margin-bottom: .5em;
  position: relative;
  top: 0;
  left: 0;
  line-height: 1.6;
}

@media screen and (min-width: 900px), print {
  .main_content ul:not(.cancel) > li {
    font-size: 1rem;
    line-height: 2;
  }
}

@media screen and (max-width: 899px) {
  .main_content ul:not(.cancel) > li {
    font-size: 0.875rem;
    line-height: 1.78571;
  }
}

.main_content ul:not(.cancel) > li:last-child {
  margin-bottom: 0;
}

.main_content ul:not(.cancel) > li::before {
  content: '';
  display: block;
  position: absolute;
  left: .2em;
  width: 6px;
  height: 6px;
  background-color: #ca2d19;
  border-radius: 3px;
}

@media screen and (min-width: 900px), print {
  .main_content ul:not(.cancel) > li::before {
    top: 1.5ex;
  }
}

@media screen and (max-width: 899px) {
  .main_content ul:not(.cancel) > li::before {
    top: 1.1ex;
  }
}

.main_content .ul1-sm:not(.cancel) > li {
  line-height: 1.5;
}

@media screen and (min-width: 900px), print {
  .main_content .ul1-sm:not(.cancel) > li::before {
    top: 1ex;
  }
}

.main_content .anotation_list:not(.cancel):not(:last-child) {
  margin-bottom: 1em;
}

.main_content .anotation_list:not(.cancel) > li {
  padding-left: 1.5em;
  margin-bottom: .5em;
  position: relative;
  top: 0;
  left: 0;
}

.main_content .anotation_list:not(.cancel) > li:last-child {
  margin-bottom: 0;
}

.main_content .anotation_list:not(.cancel) > li::before {
  content: '※';
  width: .5em;
  position: absolute;
  background: 0 none;
  top: .04em;
  left: 0;
}

.main_content ol:not(.cancel) {
  list-style: none;
  counter-reset: num;
}

.main_content ol:not(.cancel):not(:last-child) {
  margin-bottom: 1em;
}

.main_content ol:not(.cancel) > li {
  padding-left: 1.5em;
  line-height: 1.6;
  margin-bottom: .3em;
  position: relative;
  top: 0;
  left: 0;
}

@media screen and (min-width: 900px), print {
  .main_content ol:not(.cancel) > li {
    font-size: 1rem;
    line-height: 2;
  }
}

@media screen and (max-width: 899px) {
  .main_content ol:not(.cancel) > li {
    font-size: 0.875rem;
    line-height: 1.78571;
  }
}

.main_content ol:not(.cancel) > li::before {
  counter-increment: num;
  content: counter(num) ".";
  color: #ca2d19;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: -.5em;
  text-align: right;
  width: 1.5em;
}

.main_content ol:not(.cancel) > li:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 900px), print {
  .main_content .link_list li {
    margin-bottom: .3em;
  }
}

@media screen and (max-width: 899px) {
  .main_content .link_list li {
    margin-bottom: 0;
    border-bottom: 1px dashed #d6d3d1;
  }
}

.main_content .link_list li::before {
  display: none;
}

@media screen and (max-width: 899px) {
  .main_content .link_list li {
    border-bottom: 1px dotted #ccc;
  }
  .main_content .link_list a,
  .main_content .link_list button {
    display: block;
    padding-top: 1em;
    padding-bottom: 1em;
    text-decoration: none;
  }
  .main_content .link_list a:hover,
  .main_content .link_list button:hover {
    text-decoration: none;
    opacity: 0.7;
    -webkit-transition: 0.2s opacity;
    -o-transition: 0.2s opacity;
    transition: 0.2s opacity;
  }
  .main_content .link_list a.link,
  .main_content .link_list button.link {
    padding-left: 20px;
    position: relative;
    top: 0;
    left: 0;
  }
  .main_content .link_list a.link::before,
  .main_content .link_list button.link::before {
    position: absolute;
    left: 0;
    top: 2.1em;
  }
}

.table,
.table-borderd,
.root .wpnews table,
.root .wppage table {
  width: 100%;
  border-collapse: collapse;
  background-color: #fff;
}

.table:not(:last-child),
.table-borderd:not(:last-child),
.root .wpnews table:not(:last-child),
.root .wppage table:not(:last-child) {
  margin-bottom: 1em;
}

.table caption,
.table-borderd caption,
.root .wpnews table caption,
.root .wppage table caption {
  display: none;
}

.table caption.cap,
.table-borderd caption.cap,
.root .wpnews table caption.cap,
.root .wppage table caption.cap {
  display: block;
  text-align: left;
  font-weight: bold;
  color: #fff;
  padding-bottom: .5em;
}

.table th,
.table td,
.table-borderd th,
.table-borderd td,
.root .wpnews table th,
.root .wpnews table td,
.root .wppage table th,
.root .wppage table td {
  vertical-align: top;
  font-weight: normal;
  border: 2px solid #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.table th,
.table th p,
.table td,
.table td p,
.table-borderd th,
.table-borderd th p,
.table-borderd td,
.table-borderd td p,
.root .wpnews table th,
.root .wpnews table th p,
.root .wpnews table td,
.root .wpnews table td p,
.root .wppage table th,
.root .wppage table th p,
.root .wppage table td,
.root .wppage table td p {
  line-height: 1.6;
}

@media screen and (min-width: 900px), print {
  .table th,
  .table td,
  .table-borderd th,
  .table-borderd td,
  .root .wpnews table th,
  .root .wpnews table td,
  .root .wppage table th,
  .root .wppage table td {
    padding: 0.8em 1.36em;
  }
}

@media screen and (max-width: 899px) {
  .table th,
  .table td,
  .table-borderd th,
  .table-borderd td,
  .root .wpnews table th,
  .root .wpnews table td,
  .root .wppage table th,
  .root .wppage table td {
    padding: 0.64em 1.12em;
  }
}

.table th,
.table-borderd th,
.root .wpnews table th,
.root .wppage table th {
  background-color: #ededed;
  color: #222;
  font-weight: bold;
  text-align: left;
  vertical-align: middle;
}

.table td,
.table-borderd td,
.root .wpnews table td,
.root .wppage table td {
  background-color: #f7f7f7;
}

.table thead th,
.table-borderd thead th,
.root .wpnews table thead th,
.root .wppage table thead th {
  background-color: #dcdcdc;
}

@media screen and (min-width: 900px), print {
  .table tbody th,
  .table-borderd tbody th,
  .root .wpnews table tbody th,
  .root .wppage table tbody th {
    width: 200px;
  }
}

@media screen and (max-width: 899px) {
  .table tbody th,
  .table-borderd tbody th,
  .root .wpnews table tbody th,
  .root .wppage table tbody th {
    width: 120px;
  }
}

.table .number-cell,
.table-borderd .number-cell,
.root .wpnews table .number-cell,
.root .wppage table .number-cell {
  text-align: right;
}

.responsive_table_area:not(:last-child) {
  margin-bottom: 1em;
}

.root .wpnews table {
  width: auto;
}

.root .wpnews table tbody th {
  width: inherit;
}

.table-small {
  max-width: 31em;
}

.table-medium {
  max-width: 50em;
}

.table-td_right td {
  text-align: right !important;
}

.table-center th,
.table-center td {
  text-align: center !important;
}

.table-th_long tbody th {
  vertical-align: top;
}

@media screen and (min-width: 900px), print {
  .table-th_long tbody th {
    width: 250px;
  }
}

@media screen and (max-width: 899px) {
  .table-th_long tbody th {
    width: 150px;
  }
}

.table-th_center th {
  text-align: center !important;
}

.table-td_center td {
  text-align: center !important;
}

.table-th_auto tbody th {
  width: auto;
}

.table-td_middle tbody td {
  vertical-align: middle !important;
}

.table-noborder th,
.table-noborder td {
  border: 0 none;
  background-color: transparent;
  text-align: left;
  vertical-align: top;
}

.table-noborder th {
  padding-right: 2em;
}

.banner_horizontal_list {
  padding-left: 0;
}

.banner_horizontal_list > li::before {
  display: none;
}

.banner_horizontal_list > li:not(:last-child) {
  margin-bottom: 10px;
}


.anotation {
  position: relative;
  top: 0;
  left: 0;
  line-height: 1.5;
  padding-left: 1.3em;
}

@media screen and (min-width: 900px), print {

  .anotation {
    font-size: 0.938rem;
  }
}

@media screen and (max-width: 899px) {

  .anotation {
    font-size: 0.875rem;
  }
}


.anotation::before {
  content: '※';
  width: 1em;
  position: absolute;
  top: .04em;
  left: 0;
}


.anotation-black {
  color: #222;
}


.anotation-black::before {
  color: #222;
}


.anotation-right {
  float: right;
}

/**************************

## - p

*/
/*

<div class="_h3">p</div>

*/
section p:not(:last-child) {
  margin-bottom: 1em;
}

p {
  color: #222;
}

@media screen and (min-width: 900px), print {
  p {
    font-size: 1rem;
    line-height: 2;
  }
}

@media screen and (max-width: 899px) {
  p {
    font-size: 0.875rem;
    line-height: 1.78571;
  }
}

/**************************
.content_section
*/
@media screen and (min-width: 900px), print {
  .content_section:not(:last-child) {
    margin-bottom: 80px;
  }
  .content_section-sm:not(:last-child) {
    margin-bottom: 40px;
  }
  .content_section-sm2:not(:last-child) {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 899px) {
  .content_section:not(:last-child) {
    margin-bottom: 60px;
  }
  .content_section-sm:not(:last-child) {
    margin-bottom: 30px;
  }
  .content_section-sm2:not(:last-child) {
    margin-bottom: 15px;
  }
}

/**************************
.indent
*/
@media screen and (min-width: 900px), print {
  .main_content .indent,
  .main_content .pc_indent {
    padding-left: 15px;
  }
}

@media screen and (max-width: 899px) {
  .main_content .indent {
    padding-left: 0;
    padding-right: 0;
  }
  .main_content .sp_indent {
    padding-left: 7.5px;
    padding-right: 7.5px;
  }
}

/**************************

## - a リンク設定

*/
/*

<div class="_h3">a</div>

基本のリンク設定

	<a href="#" class="a">テキスト</a>

*/
a {
  color: #ca2d19;
  text-decoration: none;
}

a:hover {
  color: #0c4762;
}

section a {
  text-decoration: underline;
}

section a:hover {
  text-decoration: none;
}

section a.no_border {
  text-decoration: none;
}

.url {
  text-decoration: underline;
  color: #ca2d19;
  word-break: break-all;
}

.url:hover, .url:focus, .url:active {
  color: #ca2d19;
  text-decoration: none;
}

input:focus, input:active,
textarea:focus,
textarea:active {
  /*text-decoration: underline;*/
  outline: 2px solid #a6a6a6;
}

/*

<div class="_h3">a.black</div>

リンクだけど文字色は黒

	<a href="#" class="black">テキスト</a>

*/
a.black,
a .black {
  color: #000;
}

/*

<div class="_h3">.outlink</div>

外部リンク。後ろに矢印画像を表示する

	<a href="#" class="outlink">テキスト</a>

*/
.out::after,
.ext::after,
.outlink::after,
.icon_out::after,
.icon_ext::after {
  content: '';
  display: inline-block;
  background: url("../img/icon/ext.png") 0 center no-repeat transparent;
  background-size: 13px 11px;
  width: 13px;
  height: 11px;
  position: relative;
  top: 0;
  left: 0;
  margin-left: 5px;
}

/**************************

## - .btn - 汎用ボタン

*/
/*

<div class="_h3">.btn</div>

汎用ボタン。

*/
.btn {
  display: inline-block;
  min-width: 245px;
  color: #222;
  font-size: 0.938rem;
  font-weight: bold;
  line-height: 1.3;
  background-color: #fff;
  border: 1px solid #d6d3d1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 16px 50px 14px 20px;
  position: relative;
  top: 0;
  left: 0;
}

.btn::before {
  content: '';
  display: block;
  background: url("../img/icon/arrow/btn.png") 0 0 no-repeat transparent;
  background-size: 18px 14px;
  width: 18px;
  height: 14px;
  background-size: 18px 28px;
  margin-top: -7px;
  position: absolute;
  top: 50%;
}

@media screen and (min-width: 900px), print {
  .btn::before {
    right: 22px;
  }
}

@media screen and (max-width: 899px) {
  .btn::before {
    right: 10px;
  }
}

@media screen and (min-width: 900px), print {
  .btn {
    min-height: 50px;
  }
}

@media screen and (max-width: 899px) {
  .btn {
    font-size: 14px;
    padding: 13px 30px 10px 25px;
    width: 290px;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
}

.main_content .btn {
  text-decoration: none;
}

.btn.pdf::after {
  margin-left: .5em;
}

.btn.out::after, .btn.ext::after, .btn.outlink::after, .btn.icon_out::after, .btn.icon_ext::after {
  margin-left: .5em;
}

.btn:hover {
  border-color: #ca2d19;
  color: #ca2d19;
}

.btn:hover::before {
  background-position: 0 -14px;
}

@media screen and (min-width: 900px), print {
  .btn + .btn {
    margin-left: 20px;
  }
}

@media screen and (max-width: 899px) {
  .btn + .btn {
    margin-top: 20px;
  }
}

button.btn {
  border: 0 none;
}

btn.btn-large,
input.btn-large {
  padding-top: 13px;
}

.root btn.btn-disabled, .root
input.btn-disabled {
  opacity: .4;
}

.root btn.btn-disabled:hover, .root
input.btn-disabled:hover {
  opacity: .4;
}

/*

<div class="_h3">.icon_pdf</div>

PDFアイコン

	<span class="icon_pdf">テキスト</span><br>
	<span class="icon_pdf_right">テキスト</span><br>
	<a href="#" class="btn _large __orange fot_db">
		<span class="icon_pdf2">テキスト</span>
	</a>

*/
.pdf::after,
.icon_pdf::after {
  content: '';
  display: inline-block;
  background: url("../img/icon/pdf.png") 0 center no-repeat transparent;
  background-size: 14px 17px;
  width: 14px;
  height: 17px;
  margin-left: 5px;
  position: relative;
  top: .15em;
  left: 0;
  margin-top: -7px;
}

/*

## - list ul ol

<div class="_h3">.anotation_list</div>

※ をつけるリスト。
改行時に ※ padding を守る。

	<ul class="anotation_list">
		<li>16歳（高校生）以上の方の<br>診察となります。</li>
		<li>月2回の診療のため、お電話で診療日をご確認下さい。</li>
	</ul>

*/
.dl {
  font-size: 0.938rem;
}

.dl::before, .dl::after {
  content: '';
  display: table;
}

.dl::after {
  clear: both;
}

.dl dt {
  clear: left;
  position: relative;
  top: 0;
  left: 0;
  z-index: 2;
  font-weight: bold;
}

.dl dt::before {
  margin-right: .5em;
}

@media screen and (min-width: 900px), print {
  .dl dt,
  .dl dd {
    float: left;
  }
}

.dl dt:last-child,
.dl dd:last-child {
  margin-bottom: 0;
}

.dl dd {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.dl dd:not(:last-child) {
  padding-bottom: .3em;
}

@media screen and (max-width: 899px) {
  .dl dd:not(:last-child) {
    margin-bottom: .7em;
  }
}

@media screen and (min-width: 900px), print {
  .dl-2em dt {
    width: 2em;
  }
  .dl-2em dt .h-inline {
    width: -1.5em;
  }
  .dl-2em dd {
    margin-left: -3em;
    padding-left: 3em;
  }
  .dl-3em dt {
    width: 3em;
  }
  .dl-3em dt .h-inline {
    width: -0.5em;
  }
  .dl-3em dd {
    margin-left: -4em;
    padding-left: 4em;
  }
  .dl-4em dt {
    width: 4em;
  }
  .dl-4em dt .h-inline {
    width: 0.5em;
  }
  .dl-4em dd {
    margin-left: -5em;
    padding-left: 5em;
  }
  .dl-5em dt {
    width: 5em;
  }
  .dl-5em dt .h-inline {
    width: 1.5em;
  }
  .dl-5em dd {
    margin-left: -6em;
    padding-left: 6em;
  }
  .dl-6em dt {
    width: 6em;
  }
  .dl-6em dt .h-inline {
    width: 2.5em;
  }
  .dl-6em dd {
    margin-left: -7em;
    padding-left: 7em;
  }
  .dl-7em dt {
    width: 7em;
  }
  .dl-7em dt .h-inline {
    width: 3.5em;
  }
  .dl-7em dd {
    margin-left: -8em;
    padding-left: 8em;
  }
  .dl-8em dt {
    width: 8em;
  }
  .dl-8em dt .h-inline {
    width: 4.5em;
  }
  .dl-8em dd {
    margin-left: -9em;
    padding-left: 9em;
  }
  .dl-10em dt {
    width: 10em;
  }
  .dl-10em dt .h-inline {
    width: 6.5em;
  }
  .dl-10em dd {
    margin-left: -11em;
    padding-left: 11em;
  }
  .dl-12em dt {
    width: 12em;
  }
  .dl-12em dt .h-inline {
    width: 8.5em;
  }
  .dl-12em dd {
    margin-left: -13em;
    padding-left: 13em;
  }
  .dl-14em dt {
    width: 14em;
  }
  .dl-14em dt .h-inline {
    width: 10.5em;
  }
  .dl-14em dd {
    margin-left: -15em;
    padding-left: 15em;
  }
  .dl-16em dt {
    width: 16em;
  }
  .dl-16em dt .h-inline {
    width: 12.5em;
  }
  .dl-16em dd {
    margin-left: -17em;
    padding-left: 17em;
  }
  .dl-18em dt {
    width: 18em;
  }
  .dl-18em dt .h-inline {
    width: 14.5em;
  }
  .dl-18em dd {
    margin-left: -19em;
    padding-left: 19em;
  }
  .dl-20em dt {
    width: 20em;
  }
  .dl-20em dt .h-inline {
    width: 16.5em;
  }
  .dl-20em dd {
    margin-left: -21em;
    padding-left: 21em;
  }
}

.dl-mb_1em dd {
  margin-bottom: 1em;
}

.scell {
  margin-right: 1em;
}

.scell2 {
  margin-right: .5em;
}

/**************************
.inline_list
*/
.inline_list {
  list-style-type: none;
}

.inline_list,
.inline_list > li,
.inline_list > * {
  margin: 0;
  padding: 0;
  display: inline;
}

/**************************
.inline_block-list
*/
.inline_block_list::before, .inline_block_list::after {
  content: '';
  display: table;
}

.inline_block_list::after {
  clear: both;
}

.inline_block_list > li,
.inline_block_list > * {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  display: inline-block;
  vertical-align: middle;
  white-space: nowrap;
  padding-left: 0;
  padding-right: 0;
}

.inline_block_list > li:first-child,
.inline_block_list > *:first-child {
  padding-left: 0;
}

.inline_block_list > li:last-child,
.inline_block_list > *:last-child {
  padding-right: 0;
}

.inline_block_list > * {
  display: inline-block;
}

.root .inline_block_list > * {
  margin-bottom: .5em;
}

.inline_block_list > *:not(:last-child) {
  margin-right: 1em;
}

@media screen and (min-width: 900px), print {
  .pc_inline_block_list::before, .pc_inline_block_list::after {
    content: '';
    display: table;
  }
  .pc_inline_block_list::after {
    clear: both;
  }
  .pc_inline_block_list > li,
  .pc_inline_block_list > * {
    list-style-image: none;
    list-style-type: none;
    margin-left: 0;
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
    padding-left: 10px;
    padding-right: 10px;
  }
  .pc_inline_block_list > li:first-child,
  .pc_inline_block_list > *:first-child {
    padding-left: 0;
  }
  .pc_inline_block_list > li:last-child,
  .pc_inline_block_list > *:last-child {
    padding-right: 0;
  }
}

@media screen and (max-width: 899px) {
  .pc_inline_block_list li {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 899px) {
  .sp_inline_block_list::before, .sp_inline_block_list::after {
    content: '';
    display: table;
  }
  .sp_inline_block_list::after {
    clear: both;
  }
  .sp_inline_block_list > li,
  .sp_inline_block_list > * {
    list-style-image: none;
    list-style-type: none;
    margin-left: 0;
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
    padding-left: 10px;
    padding-right: 10px;
  }
  .sp_inline_block_list > li:first-child,
  .sp_inline_block_list > *:first-child {
    padding-left: 0;
  }
  .sp_inline_block_list > li:last-child,
  .sp_inline_block_list > *:last-child {
    padding-right: 0;
  }
}

/**************************
.horizontal_list
*/
.horizontal_list::before, .horizontal_list::after {
  content: '';
  display: table;
}

.horizontal_list::after {
  clear: both;
}

.horizontal_list > li,
.horizontal_list > * {
  list-style-image: none;
  list-style-type: none;
  margin-left: 0;
  white-space: nowrap;
  float: left;
  padding-left: 20px;
  padding-right: 20px;
}

.horizontal_list > li:first-child,
.horizontal_list > *:first-child {
  padding-left: 0;
}

.horizontal_list > li:last-child,
.horizontal_list > *:last-child {
  padding-right: 0;
}

.main_content .horizontal_list {
  padding-left: 0;
}

.main_content .horizontal_list li::before {
  display: none;
}

@media screen and (min-width: 900px), print {
  .ul_horizontal_list::before, .ul_horizontal_list::after {
    content: '';
    display: table;
  }
  .ul_horizontal_list::after {
    clear: both;
  }
  .ul_horizontal_list > li,
  .ul_horizontal_list > * {
    list-style-image: none;
    list-style-type: none;
    margin-left: 0;
    white-space: nowrap;
    float: left;
    padding-left: 20px;
    padding-right: 20px;
  }
  .ul_horizontal_list > li:first-child,
  .ul_horizontal_list > *:first-child {
    padding-left: 0;
  }
  .ul_horizontal_list > li:last-child,
  .ul_horizontal_list > *:last-child {
    padding-right: 0;
  }
  .main_content .ul_horizontal_list {
    padding-left: 0;
  }
  .main_content .ul_horizontal_list li::before {
    display: none;
  }
}

@media screen and (max-width: 899px) {
  .main_content .ul_horizontal_list > ul:not(.cancel) {
    margin-bottom: .3em;
  }
}

.breadcrumbs,
.bread_crumb {
  text-align: left;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1;
}

@media screen and (max-width: 899px) {
  .breadcrumbs,
  .bread_crumb {
    padding-top: 6px;
    padding-left: 0;
    line-height: 1.4;
    padding-bottom: 10px;
  }
}

.breadcrumbs li,
.bread_crumb li {
  display: inline;
  line-height: 1.2;
}

@media screen and (min-width: 900px), print {
  .breadcrumbs li,
  .bread_crumb li {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 899px) {
  .breadcrumbs li,
  .bread_crumb li {
    font-size: 0.75rem;
  }
}

.breadcrumbs li:not(:last-child)::after,
.bread_crumb li:not(:last-child)::after {
  content: '/';
  display: inline-block;
  position: relative;
  top: 0;
  left: 0;
  color: #888;
}

@media screen and (min-width: 900px), print {
  .breadcrumbs li:not(:last-child)::after,
  .bread_crumb li:not(:last-child)::after {
    margin-left: 1em;
    margin-right: .8em;
  }
}

@media screen and (max-width: 899px) {
  .breadcrumbs li:not(:last-child)::after,
  .bread_crumb li:not(:last-child)::after {
    margin-left: .6em;
    margin-right: .3em;
  }
}

.breadcrumbs li:first-child,
.bread_crumb li:first-child {
  position: relative;
  top: 0;
  left: 0;
}

.breadcrumbs a,
.bread_crumb a {
  color: #222;
  font-weight: normal;
  position: relative;
  top: 0;
  left: 0;
}

.breadcrumbs a:hover,
.bread_crumb a:hover {
  color: #ca2d19;
  opacity: 1;
  text-decoration: none;
}

.breadcrumbs .tail,
.bread_crumb .tail {
  margin-left: 0em;
  margin-right: 0em;
}

@media screen and (min-width: 900px), print {
  .breadcrumbs .tail,
  .bread_crumb .tail {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 899px) {
  .breadcrumbs .tail,
  .bread_crumb .tail {
    font-size: 0.75rem;
  }
}

.breadcrumbs .tail .node,
.bread_crumb .tail .node {
  color: #ca2d19;
}

/*

## - table

<div class="_h3">クラス名なし</div>

	<table>
		<thead>
			<tr>
				<th></th>
				<th>詳細</th>
			</tr>
		</thead>
		<tbody>
			<tr>
				<th>事業所名所</th>
				<td>宗教法人寒川神社　寒川病院</td>
			</tr>
			<tr>
				<th>所在地</th>
				<td>〒253-0106　神奈川県高座郡寒川町宮山193</td>
			</tr>
			<tr>
				<th>開設</th>
				<td>昭和44年7月</td>
			</tr>
		</tbody>
	</table>

<div class="_h3">.table1</div>
.table1 は、SP表示時に display: block; に変わるので、基本、2列の table のための table

	<table class="table1">
		<tbody>
			<tr>
				<th>事業所名所</th>
				<td>宗教法人寒川神社　寒川病院</td>
			</tr>
			<tr>
				<th>所在地</th>
				<td>〒253-0106　神奈川県高座郡寒川町宮山193</td>
			</tr>
			<tr>
				<th>開設</th>
				<td>昭和44年7月</td>
			</tr>
		</tbody>
	</table>
*/
.wpnews table,
.wppage table {
  margin-bottom: 1em;
}

/*

<div class="_h3">table._no_border</div>

画像だけの table を想定

*/
table table._no_border {
  width: auto;
  margin: auto;
}

table table._no_border th,
table table._no_border td {
  padding: 0 1em;
  vertical-align: middle;
}

/**************************
.inline_video
*/
.inline_video {
  max-width: 100%;
}

/*

<div class="_h3">photoswipe ギャラリー</div>

pdf を iframe 表示に使用。
.photoswipe > .pdf または、
.photoswipe > ._pdf または、
.photoswipe > ._iframe の時、iframe を表示する仕様。

+ a タグの href が pdf への URL。
+ a タグの title が キャプションテキスト。

	<div class="photoswipe">
		<a href="pdf/test.pdf" target="_blank" class="pdf">貯金一覧</a>
	</div>

*/
.photoswipe a:hover {
  text-decoration: none;
  opacity: 0.7;
  -webkit-transition: 0.2s opacity;
  -o-transition: 0.2s opacity;
  transition: 0.2s opacity;
}

.pswp .pswp__iframe {
  padding: 0;
  width: 80%;
  height: 90%;
  position: relative;
  top: 5%;
  left: 10%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pswp .pswp__caption__center {
  text-align: center;
  font-size: 1rem;
}

/*
.scroll_to_top
*/
.scroll_to_top {
  position: fixed;
  right: 0;
  bottom: -60px;
  z-index: 999;
  line-height: 0;
}

.scroll_to_top:hover {
  text-decoration: none;
  opacity: 0.7;
  -webkit-transition: 0.2s opacity;
  -o-transition: 0.2s opacity;
  transition: 0.2s opacity;
}

@media print {
  .scroll_to_top {
    display: none !important;
  }
}

.scroll_to_top,
.scroll_to_top a,
.scroll_to_top img {
  display: block;
  width: 60px;
  height: 60px;
}

/**************************
	.sup_area
*/
.sup_area {
  position: relative;
  top: 0;
  left: 0;
}

.sup {
  position: absolute;
  top: -.8em;
  left: 0;
  width: 100%;
  font-size: 0.625rem;
  display: inline-block;
  text-align: center;
}

/**************************
a.accordion
*/
.js-accordion .js-accordion__toggle {
  display: block;
}

.js-accordion .js-accordion__content {
  position: relative;
  top: 0;
  left: 0;
  max-height: 0;
  opacity: 0;
  -webkit-transition: opacity .1s ease-out, max-height .4s ease-out;
  -o-transition: opacity .1s ease-out, max-height .4s ease-out;
  transition: opacity .1s ease-out, max-height .4s ease-out;
  overflow: hidden;
}

.js-accordion .js-accordion__content__inner {
  padding-bottom: 2em;
}

.js-accordion .js-accordion__content._opened {
  max-height: 100em;
  opacity: 1;
}

.js-accordion .js-accordion__content._opened-long {
  max-height: 200em;
}

.js-accordion .js-accordion__content._opened-short {
  max-height: 20em;
}

.js-toggle {
  position: absolute;
  display: block;
  min-height: 10px;
  width: 10px;
  right: 8px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 100;
  background-color: #ccc;
  padding: 5px;
}

.js-toggle::before {
  content: '';
  display: block;
  width: 15px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
  -ms-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
  -webkit-transition: -webkit-transform .2s ease-out;
  transition: -webkit-transform .2s ease-out;
  -o-transition: transform .2s ease-out;
  transition: transform .2s ease-out;
  transition: transform .2s ease-out, -webkit-transform .2s ease-out;
}

.js-toggle::after {
  content: '';
  display: block;
  width: 15px;
  height: 2px;
  background-color: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(90deg);
  -ms-transform: translateX(-50%) translateY(-50%) rotate(90deg);
  transform: translateX(-50%) translateY(-50%) rotate(90deg);
  -webkit-transition: -webkit-transform .2s ease-out;
  transition: -webkit-transform .2s ease-out;
  -o-transition: transform .2s ease-out;
  transition: transform .2s ease-out;
  transition: transform .2s ease-out, -webkit-transform .2s ease-out;
}

.li1.active .js-toggle,
a:hover .js-toggle, .js-toggle:hover {
  background-color: #ca2d19;
}

.js-toggle._opened::before {
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(180deg);
  -ms-transform: translateX(-50%) translateY(-50%) rotate(180deg);
  transform: translateX(-50%) translateY(-50%) rotate(180deg);
}

.js-toggle._opened::after {
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(180deg);
  -ms-transform: translateX(-50%) translateY(-50%) rotate(180deg);
  transform: translateX(-50%) translateY(-50%) rotate(180deg);
}

.tab_area__content {
  display: none;
}

.tab_area__content._show {
  display: block;
}

.archive_list li {
  padding-left: 1em;
}

.archive_list li::before {
  left: .5em;
}

.bordered {
  border: 1px solid #d6d3d1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.image_list a {
  display: block;
}

.image_list img {
  max-width: 100%;
  display: block;
}

.image_list .cap {
  padding-top: .5em;
  text-align: center;
  font-size: 0.875rem;
}

@media screen and (min-width: 900px), print {
  .image_list li {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 899px) {
  .image_list li {
    margin-bottom: 15px;
  }
}

.banner {
  display: block;
}

.banner:hover {
  text-decoration: none;
  opacity: 0.7;
  -webkit-transition: 0.2s opacity;
  -o-transition: 0.2s opacity;
  transition: 0.2s opacity;
}

.banner img {
  display: block;
  max-width: 100%;
}

@media screen and (min-width: 900px), print {
  .float_left,
  .inner_float_left {
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
  }
  .float_right,
  .inner_float_right {
    float: right;
    margin-left: 20px;
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 899px) {
  .inner_float_left,
  .inner_float_right {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 14px;
  }
}

.faq_list > li {
  border-bottom: 1px solid #d3d3d3;
  padding-bottom: 1.2em;
}

.faq_list > li:not(:first-child) {
  padding-top: 1.2em;
}

.faq__q {
  color: #fff;
  font-size: 1rem;
  padding-left: 40px;
  padding-bottom: .7em;
}

.faq__a {
  font-size: 0.938rem;
  padding-left: 40px;
}

.signature {
  text-align: right;
}


.shadow {
  -webkit-box-shadow: 1px 1px 2.5px rgba(0, 0, 0, 0.3);
  box-shadow: 1px 1px 2.5px rgba(0, 0, 0, 0.3);
}

.wpnews::before, .wpnews::after,
.wppage::before,
.wppage::after {
  content: '';
  display: table;
}

.wpnews::after,
.wppage::after {
  clear: both;
}

.wpnews__head,
.wppage__head {
  margin-bottom: 30px;
  padding-bottom: .5em;
  border-bottom: 1px solid #d6d3d1;
}

.wpnews__date,
.wppage__date {
  text-align: right;
}

.wpnews__attr,
.wppage__attr {
  text-align: center;
}

.wpnews__attr > *,
.wppage__attr > * {
  display: inline-block;
  font-size: 0.938rem;
}

.wpnews__attr .date::after,
.wppage__attr .date::after {
  content: '/';
  display: inline;
  padding: 0 .7em;
}

.wpnews__attr .category,
.wppage__attr .category {
  color: #888;
}

.wpnews__content,
.wppage__content {
  max-width: 100%;
  font-size: 0.938rem;
  line-height: 1.7;
}

.root .wpnews__content, .root
.wppage__content {
  margin: 0 auto;
}

.wpnews__content img,
.wppage__content img {
  max-width: 100%;
  height: auto;
}

@media screen and (max-width: 899px) {
  .wpnews__content img,
  .wppage__content img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
  .wpnews__content table,
  .wppage__content table {
    max-width: 100%;
  }
}

.wpnews a,
.wppage a {
  text-decoration: underline;
}

.wpnews blockquote,
.wppage blockquote {
  padding: 10px;
  border-left: 5px solid #59A676;
  background-color: #F7F7F7;
  margin-bottom: 1em;
}

.wp_pagination::before, .wp_pagination::after {
  content: '';
  display: table;
}

.wp_pagination::after {
  clear: both;
}

.wp_pagination_prev {
  float: left;
}

.wp_pagination_next {
  float: right;
}

.gmap {
  height: 400px;
  background-color: #ccc;
}

.gmap > iframe {
  max-width: 100%;
}

@media screen and (max-width: 899px) {
  .gmap {
    height: 300px;
  }
}

.video,
.video video {
  max-width: 100%;
}

.youtube {
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 899px) {
  .youtube {
    max-width: 292px;
    height: 170px;
  }
}

.youtube iframe {
  max-width: 100%;
  max-height: 100%;
}

.gcalendar > iframe {
  height: 300px;
}


.marker {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #fff));
  background: -webkit-linear-gradient(transparent 60%, #fff 60%);
  background: -o-linear-gradient(transparent 60%, #fff 60%);
  background: linear-gradient(transparent 60%, #fff 60%);
}

.cell {
  margin-right: 1em;
}

.cell2 {
  margin-right: 0.5em;
}

.scell {
  margin-right: 1em;
}

figure img {
  display: block;
  max-width: 100%;
}

@media screen and (max-width: 899px) {
  figure img {
    margin-left: auto;
    margin-right: auto;
  }
}

figure figcaption {
  font-size: 0.875rem;
  color: #222;
}

@media screen and (min-width: 900px), print {
  figure figcaption {
    padding-top: .2em;
  }
  figure figcaption._left {
    text-align: left;
  }
  figure figcaption._center {
    text-align: center;
  }
}

@media screen and (max-width: 899px) {
  figure figcaption {
    padding-top: .2em;
    text-align: center;
  }
}

.figure_inline img {
  display: inline;
}

@media screen and (max-width: 899px) {
  .figure_inline {
    text-align: center;
  }
}

.link {
  line-height: 1.4;
  color: #ca2d19;
}

.link::before {
  content: '';
  display: inline-block;
  background: url("../img/icon/arrow/link.png") 0 center no-repeat transparent;
  background-size: 17px 17px;
  width: 17px;
  height: 17px;
  margin-right: 4px;
  position: relative;
  top: .23em;
  left: 0;
  margin-top: -1em;
}

.link:hover {
  color: #222;
  text-decoration: underline;
}

.link-down::before {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.link-back::before {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.link-next::before {
  display: none;
}

.link-next::after {
  content: '';
  display: inline-block;
  background: url("../img/icon/arrow/link.png") 0 center no-repeat transparent;
  background-size: 8px 12px;
  width: 8px;
  height: 12px;
  margin-left: 4px;
  position: relative;
  top: .1em;
  left: 0;
}

.link-prev::before {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.link-disable {
  pointer-events: none;
  color: #ccc;
  opacity: .75;
  text-decoration: none;
}

button.link {
  border: 0 none;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0;
  background-color: transparent;
  text-align: left;
  line-height: 1.7;
}

button.link::before {
  top: 1.2ex;
}

.link2 {
  text-decoration: none;
  color: #222;
  position: relative;
  top: 0;
  left: 0;
  padding-left: 1.5ex;
}

.link2::before {
  content: '';
  display: block;
  background: url("../img/icon/arrow/link2.png") 0 0 no-repeat transparent;
  background-size: 8px 12px;
  width: 8px;
  height: 12px;
  position: absolute;
  top: .22ex;
  left: 0;
}

.link2:hover {
  text-decoration: underline;
}

.link2-down::before {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

/*

<div class="_h3">.news</div>

*/
.news_list {
  border-top: 1px solid #d6d3d1;
  position: relative;
  top: 0;
  left: 0;
}

.news_list .no_news {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 1em;
  padding-bottom: 1em;
  min-height: 50px;
  font-size: 0.875rem;
}

.news_list li {
  position: relative;
  top: 0;
  left: 0;
  border-bottom: 1px dotted #d6d3d1;
}

.newsline {
  line-height: 1.7;
  text-decoration: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  top: 0;
  left: 0;
}

.newsline::after {
  content: '';
  display: block;
  background: url("../img/icon/arrow/left2.png") 0 0 no-repeat transparent;
  background-size: 12px 8px;
  width: 12px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 8px;
  margin-top: -4px;
}

@media screen and (min-width: 900px), print {
  .newsline {
    padding: 1em 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 50px;
    padding-right: 25px;
  }
}

@media screen and (max-width: 899px) {
  .newsline {
    display: block;
    padding: 12px 0;
    padding-right: 22px;
  }
}

.root .main_content .newsline {
  text-decoration: none;
}

.newsline:hover {
  background-color: #f5f5f5;
}

.newsline._disable {
  pointer-events: none;
}

.newsline._disable::after {
  display: none;
}

.newsline__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (min-width: 900px), print {
  .newsline__head {
    min-width: 88px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.newsline__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.newsline__date {
  padding-left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #666;
}

.news_list-senior .newsline__date {
  color: #783246;
}

@media screen and (min-width: 900px), print {
  .newsline__date {
    font-size: 0.875rem;
    height: 1em;
    line-height: 1;
    padding-right: 1em;
  }
}

@media screen and (max-width: 899px) {
  .newsline__date {
    font-size: 0.813rem;
    color: #999;
  }
}

.newsline__ex {
  color: #222;
}

@media screen and (min-width: 900px), print {
  .newsline__ex {
    font-size: 0.875rem;
  }
}

@media screen and (max-width: 899px) {
  .newsline__ex {
    font-size: 13px;
  }
}

.newsline .new {
  font-size: 12px;
  font-weight: bold;
  margin-left: .5em;
  color: #d64747;
}

@media screen and (min-width: 900px), print {
  .news_pager_area {
    padding-top: 40px;
  }
}

@media screen and (max-width: 899px) {
  .news_pager_area {
    padding-top: 20px;
  }
}

.news_pager {
  text-align: center;
  font-size: 1rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.news_pager__box,
.news_pager a {
  display: block;
  width: 40px;
  height: 40px;
}

@media screen and (min-width: 900px), print {
  .news_pager__box {
    padding-left: 4px;
    padding-right: 4px;
  }
}

@media screen and (max-width: 899px) {
  .news_pager__box {
    padding-left: 2px;
    padding-right: 2px;
  }
}

.news_pager a {
  line-height: 40px;
  color: #fff;
  text-align: center;
  background-color: #ca2d19;
  font-weight: bold;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.main_content .news_pager a {
  text-decoration: none;
}

.news_pager a.current {
  pointer-events: none;
  opacity: .5;
}

.news_pager a.current, .news_pager a:hover {
  background-color: #ca2d19;
  color: #fff;
}

.news_pager .next_link,
.news_pager .prev_link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: 0 none;
  color: #fff;
}

.news_pager .next_link::before,
.news_pager .prev_link::before {
  -webkit-transition: -webkit-transform .1s ease-in-out;
  transition: -webkit-transform .1s ease-in-out;
  -o-transition: transform .1s ease-in-out;
  transition: transform .1s ease-in-out;
  transition: transform .1s ease-in-out, -webkit-transform .1s ease-in-out;
}

.news_pager .next_link:hover,
.news_pager .prev_link:hover {
  background-color: transparent;
}

.news_pager .next_link {
  text-indent: -119988px;
  overflow: hidden;
  text-align: left;
}

.news_pager .next_link::before {
  content: '';
  display: block;
  background: url("../img/icon/arrow/pager.png") 0 0 no-repeat transparent;
  background-size: 40px 40px;
  width: 40px;
  height: 40px;
  right: 13px;
  left: auto;
}

.news_pager .next_link-passive {
  pointer-events: none;
  opacity: .2;
}

.news_pager .next_link:hover::before {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

.news_pager .prev_link {
  text-indent: -119988px;
  overflow: hidden;
  text-align: left;
}

.news_pager .prev_link::before {
  content: '';
  display: block;
  background: url("../img/icon/arrow/pager-prev.png") 0 0 no-repeat transparent;
  background-size: 40px 40px;
  width: 40px;
  height: 40px;
  left: 13px;
}

.news_pager .prev_link-passive {
  pointer-events: none;
  opacity: .2;
}

.news_pager .prev_link:hover::before {
  -webkit-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

@media screen and (max-width: 899px) {
  .news_pager {
    margin-left: -14px;
    margin-right: -14px;
  }
  .news_pager__box,
  .news_pager a {
    width: 40px;
    height: 40px;
  }
  .news_pager__box {
    padding-left: 2px;
    padding-right: 2px;
  }
  .news_pager a {
    line-height: 40px;
  }
}

.nakaguroten {
  letter-spacing: -.45ex;
  margin-left: -.3ex;
}

@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}

@-webkit-keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }
  99% {
    display: block;
    opacity: 0;
  }
  100% {
    display: none;
    opacity: 0;
  }
}

@keyframes fade-out {
  0% {
    display: block;
    opacity: 1;
  }
  99% {
    display: block;
    opacity: 0;
  }
  100% {
    display: none;
    opacity: 0;
  }
}

@-webkit-keyframes zoom-in {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes zoom-in {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes zoom-in-hover {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@keyframes zoom-in-hover {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@-webkit-keyframes sub_menu_fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: .5;
  }
}

@keyframes sub_menu_fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: .5;
  }
}

@-webkit-keyframes pop-up {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@keyframes pop-up {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@-webkit-keyframes _on_opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes _on_opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes slide-up {
  0% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slide-up {
  0% {
    -webkit-transform: translateY(100%);
    transform: translateY(100%);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes cv_text {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-40px);
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes cv_text {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-40px);
    transform: translateX(-40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Project

特定ページ専用、効果範囲が限定的な記述。
コンテンツ内容に密接で、汎用性がなく、機能の付け替えを想定していない。

*/
.header_container {
  position: relative;
  top: 0;
  left: 0;
  z-index: 1000;
}

.main_wrapper_area {
  padding-bottom: 55px;
  position: relative;
  top: 0;
  left: 0;
}

.main_wrapper_area::after {
  content: '';
  display: block;
  width: 1px;
  height: 40px;
  background-color: #db0012;
  position: absolute;
  bottom: 0;
  left: 50%;
}

.main_wrapper_area._survey::after {
  content: none;
  display: none;
}

.header {
  position: fixed;
  width: 100%;
  top: 0;
  background-color: #fff;
  border-bottom: 1px solid #f0edeb;
}

@media print {
  .header {
    position: static;
  }
}

.header__logo a,
.header__logo img {
  display: block;
  width: 100%;
}

.header__logo a:hover {
  text-decoration: none;
  opacity: 0.7;
  -webkit-transition: 0.2s opacity;
  -o-transition: 0.2s opacity;
  transition: 0.2s opacity;
}

.fontsize-medium .fontsize__a-m {
  display: none;
}

.fontsize-large .fontsize__a-l {
  display: none;
}

.search {
  height: 36px;
  /* width: 100%; */
  position: relative;
  top: 0;
  left: 0;
  display: block;
}

.search__text {
  border: 0 none;
  border-top: 1px solid #c2c2c2;
  height: 36px;
  line-height: 36px;
  font-size: 0.875rem;
  width: 100%;
  background-color: #f2f2f2;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 35px 0 10px;
  display: block;
}

@media screen and (max-width: 899px) {
  .search__text {
    font-size: 16px;
  }
}

.search__submit {
  cursor: pointer;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 35px;
  height: 35px;
  border: 0;
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: url("../img/icon/search.png") 0 0/cover no-repeat transparent;
}

@media screen and (max-width: 899px) {
  .breadcrumb_area {
    display: none;
  }
}

.breadcrumb_area-top {
  padding-top: 1em;
  padding-bottom: 3em;
}

.breadcrumb_area-bottom {
  padding-bottom: .5em;
}

.breadcrumb_area-bottom,
.breadcrumb_area-bottom .bread_crumb {
  text-align: center;
}

.category_area {
  position: relative;
  top: 0;
  left: 0;
  background: url("../img/category/image/default.jpg") center center/cover no-repeat transparent;
  box-sizing: initial;
}

@media screen and (min-width: 900px), print {
  .category_area {
    min-height: 40px;
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

@media screen and (max-width: 899px) {
  .category_area {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.category_area__block {
  background-color: #fff;
  position: relative;
  top: 0;
  left: 0;
  z-index: 2;
}

@media screen and (min-width: 900px), print {
  .category_area__block {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

@media screen and (max-width: 899px) {
  .category_area__block {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    min-height: 70px;
    padding-top: 21px;
    padding-bottom: 20px;
  }
}

.category_area .title {
  line-height: 1.3;
  color: #222;
}

@media screen and (min-width: 900px), print {
  .category_area .title {
    font-size: 1.875rem;
  }
}

@media screen and (max-width: 899px) {
  .category_area .title {
    font-size: 1.375rem;
  }
}

.category_area::before {
  content: '';
  width: 1px;
  height: 100%;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
}

.sub_menu {
  border-top: 1px solid #d6d3d1;
  overflow: hidden;
}

.sub_menu li.active > a {
  color: #ca2d19;
}

.sub_menu .li1 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-bottom: 1px solid #d6d3d1;
}

.sub_menu .li1.active .sub_ul2 {
  display: block;
}

.sub_menu .a1 {
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 100%;
  min-height: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 50px;
  padding-top: 1em;
  padding-bottom: 1em;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  padding-right: 25px;
  position: relative;
  top: 0;
  left: 0;
  color: #222;
}

@media screen and (max-width: 899px) {
  .sub_menu .a1 {
    padding-left: 14px;
  }
}

.sub_menu .a1::after {
  content: '';
  display: block;
  background: url("../img/icon/arrow/left2.png") 0 0 no-repeat transparent;
  background-size: 12px 8px;
  width: 12px;
  height: 8px;
  position: absolute;
  top: 50%;
  right: 6px;
  margin-top: -6px;
}

.sub_menu .a1 > .text {
  font-size: 0.938rem;
  line-height: 1.3;
}

.sub_menu .a1:hover {
  background-color: #f7f7f7;
}

.sub_menu .sub_ul2 {
  display: none;
  border-top: 1px solid #d6d3d1;
  padding-top: 22px;
  padding-bottom: 22px;
  background-color: #f9f9f9;
  position: relative;
  top: 0;
  left: 0;
}

.sub_menu .sub_ul2::before {
  content: '';
  display: block;
  width: 1px;
  height: 20px;
  background-color: #d6d3d1;
  position: absolute;
  top: -10px;
  left: 50%;
}

.sub_menu .sub_ul2 a {
  display: block;
  padding-left: 1.3em;
  font-size: 0.875rem;
  line-height: 1.3;
  min-height: 30px;
  padding-top: .5em;
  padding-bottom: .6em;
  padding-right: .6em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #222;
  position: relative;
  top: 0;
  left: 0;
}

.sub_menu .sub_ul2 a.js-accordion__toggle {
  padding-right: 34px;
}

.sub_menu .sub_ul2 a:hover,
.sub_menu .sub_ul2 li.active > a {
  color: #ca2d19;
}

.sub_menu .sub_ul2 .a2 {
  padding-left: 33px;
}

.sub_menu .sub_ul2 .a2::before {
  left: 19px;
}

.sub_menu .sub_ul2 .a3 {
  padding-left: 41px;
}

.sub_menu .sub_ul2 .a3::before {
  left: 27px;
}

.sub_menu ._open > .sub_ul2 {
  max-height: 100em;
  opacity: 1;
}

.sub_menu .sub_ul3 {
  display: none;
}

.sub_menu .li2.active > .sub_ul3 {
  display: block;
}

.sub_menu .sub_ul3 .a4 {
  padding-left: 55px;
}

.sub_menu .sub_ul4 {
  display: none;
}

.sub_menu .li3.active > .sub_ul4 {
  display: block;
}

.sub_menu .sub_menu_block {
  display: block;
}

.main_content img {
  max-width: 100%;
}

.main_content .h1,
.main_content h1:not(.cancel) {
  line-height: 1.4;
  border-left: 1px solid #db0012;
  padding-left: 14px;
  margin-bottom: 2em;
  font-weight: normal;
  position: relative;
  top: 0;
  left: 0;
  padding-top: .7em;
  padding-bottom: .7em;
}

@media screen and (min-width: 900px), print {
  .main_content .h1,
  .main_content h1:not(.cancel) {
    font-size: 1.688rem;
    letter-spacing: .1em;
  }
}

@media screen and (max-width: 899px) {
  .main_content .h1,
  .main_content h1:not(.cancel) {
    font-size: 1.25rem;
    padding-top: .3em;
    padding-bottom: .3em;
  }
  .main_content .h1::after,
  .main_content h1:not(.cancel)::after {
    content: '';
    display: block;
    height: 1px;
    width: 100vw;
    background-color: #999796;
    position: absolute;
    left: -15px;
    bottom: 0;
  }
}

.main_content .h2,
.main_content h2:not(.cancel) {
  background-color: #faf4f3;
  line-height: 1.3;
  padding-left: 14px;
  padding-right: 14px;
  border-left: 1px solid #ca2d19;
  font-weight: normal;
  padding-top: .25em;
  padding-bottom: .2em;
  margin-bottom: 1.25em;
}

@media screen and (min-width: 900px), print {
  .main_content .h2,
  .main_content h2:not(.cancel) {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 899px) {
  .main_content .h2,
  .main_content h2:not(.cancel) {
    font-size: 1.125rem;
  }
}

.main_content .h3,
.main_content h3:not(.cancel) {
  background-color: #f7f7f7;
  line-height: 1.3;
  padding-left: 15px;
  padding-right: 15px;
  border-bottom: 1px solid #d6d3d1;
  font-weight: normal;
  padding-top: .2em;
  padding-bottom: .2em;
  margin-bottom: 1.4em;
  -webkit-box-shadow: 0 1px 1px rgba(102, 102, 102, 0.1);
  box-shadow: 0 1px 1px rgba(102, 102, 102, 0.1);
}

@media screen and (min-width: 900px), print {
  .main_content .h3,
  .main_content h3:not(.cancel) {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 899px) {
  .main_content .h3,
  .main_content h3:not(.cancel) {
    font-size: 1rem;
  }
}

.main_content .h4,
.main_content h4:not(.cancel) {
  font-weight: normal;
  position: relative;
  top: 0;
  left: 0;
  padding-left: 25px;
  line-height: 1.4;
  margin-bottom: 1em;
}

@media screen and (min-width: 900px), print {
  .main_content .h4,
  .main_content h4:not(.cancel) {
    font-size: 1.125rem;
  }
}

@media screen and (max-width: 899px) {
  .main_content .h4,
  .main_content h4:not(.cancel) {
    font-size: 1rem;
  }
}

.main_content .h4::before,
.main_content h4:not(.cancel)::before {
  content: '';
  display: block;
  background: url("../img/icon/h4.png") 0 0 no-repeat transparent;
  background-size: 12px 12px;
  width: 12px;
  height: 12px;
  position: absolute;
  top: .35em;
  left: 5px;
}

.main_content .h5,
.main_content h5:not(.cancel) {
  font-size: 1.063rem;
  font-weight: bold;
  padding-left: 25px;
  position: relative;
  top: 0;
  left: 0;
  line-height: 1.4;
  margin-bottom: 1em;
}

.main_content .h5::before,
.main_content h5:not(.cancel)::before {
  content: '';
  display: block;
  position: absolute;
  top: .6em;
  left: 0;
  height: 1px;
  width: 15px;
  background-color: #ca2d19;
}

.main_content .h6,
.main_content h6:not(.cancel) {
  font-size: 1.063rem;
  display: inline-block;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 1em;
  padding-bottom: .1em;
  border-bottom: 1px dashed #cacaca;
}

.box {
  border: 1px solid #d6d3d1;
  background-color: #f7f7f7;
}

@media screen and (min-width: 900px), print {
  .box {
    padding: 1.6em;
  }
}

@media screen and (max-width: 899px) {
  .box {
    padding: 1em;
  }
}

.box .title {
  font-weight: bold;
}

@media screen and (min-width: 900px), print {
  .box .title {
    font-size: 1.125rem;
  }
}

@media screen and (max-width: 899px) {
  .box .title {
    font-size: 1rem;
  }
}

.box .title-anotation {
  position: relative;
  top: 0;
  left: 0;
}

@media screen and (min-width: 900px), print {
  .box .title-anotation {
    padding-left: 37px;
    padding-bottom: .6em;
  }
}

@media screen and (max-width: 899px) {
  .box .title-anotation {
    padding-left: 24px;
    padding-bottom: .3em;
  }
}

.box .title-anotation::before {
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (min-width: 900px), print {
  .box .title-anotation::before {
    content: '';
    display: block;
    background: url("../img/icon/anotation.png") 0 0 no-repeat transparent;
    background-size: 27px 27px;
    width: 27px;
    height: 27px;
  }
}

@media screen and (max-width: 899px) {
  .box .title-anotation::before {
    content: '';
    display: block;
    background: url("../img/icon/anotation.png") 0 0 no-repeat transparent;
    background-size: 20px 20px;
    width: 20px;
    height: 20px;
  }
}

@media screen and (min-width: 1100px) {
  .bannner_btn_list::before, .bannner_btn_list::after {
    content: '';
    display: table;
  }
  .bannner_btn_list::after {
    clear: both;
  }
  .bannner_btn_list > * {
    width: 50%;
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .bannner_btn_list > *:nth-child(2n + 1) {
    clear: left;
    padding-right: 10px;
  }
  .bannner_btn_list > *:nth-child(2n) {
    padding-left: 10px;
  }
}

.bannner_btn_list > li {
  margin-bottom: 20px;
}

.banner_btn {
  border: 1px solid #d6d3d1;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  text-decoration: none;
  color: #222;
}

@media screen and (min-width: 900px), print {
  .banner_btn {
    height: 120px;
  }
}

@media screen and (max-width: 899px) {
  .banner_btn {
    height: 80px;
  }
}

.banner_btn .info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

@media screen and (min-width: 900px), print {
  .banner_btn .info {
    padding-left: 26px;
    padding-right: 30px;
  }
}

@media screen and (max-width: 899px) {
  .banner_btn .info {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.banner_btn .info .sub {
  padding-bottom: .1em;
}

@media screen and (min-width: 900px), print {
  .banner_btn .info .sub {
    font-size: 0.938rem;
  }
}

@media screen and (max-width: 899px) {
  .banner_btn .info .sub {
    font-size: 0.813rem;
  }
}

.banner_btn .info .title {
  line-height: 1.4;
  line-height: 1.3;
  position: relative;
  top: 0;
  left: 0;
  max-height: 2.5em;
  overflow: hidden;
}

@media screen and (min-width: 900px), print {
  .banner_btn .info .title {
    padding-left: 24px;
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 899px) {
  .banner_btn .info .title {
    padding-left: 14px;
    font-size: 1rem;
  }
}

.banner_btn .info .title::before {
  margin-right: 4px;
  position: absolute;
  top: .17em;
  left: 0;
}

@media screen and (min-width: 900px), print {
  .banner_btn .info .title::before {
    content: '';
    display: inline-block;
    background: url("../img/icon/arrow/link.png") 0 center no-repeat transparent;
    background-size: 17px 17px;
    width: 17px;
    height: 17px;
  }
}

@media screen and (max-width: 899px) {
  .banner_btn .info .title::before {
    content: '';
    display: inline-block;
    background: url("../img/icon/arrow/link.png") 0 center no-repeat transparent;
    background-size: 12px 12px;
    width: 12px;
    height: 12px;
  }
}

.banner_btn .image {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
}

@media screen and (min-width: 900px), print {
  .banner_btn .image {
    -ms-flex-preferred-size: 140px;
    flex-basis: 140px;
  }
}

@media screen and (max-width: 899px) {
  .banner_btn .image {
    -ms-flex-preferred-size: 93px;
    flex-basis: 93px;
  }
}

.banner_btn .image img {
  display: block;
}

.banner_btn:hover {
  text-decoration: none;
  border-color: #ca2d19;
  color: #ca2d19;
}

.pagelink_box {
  border: 1px solid #d6d3d1;
}

@media screen and (min-width: 900px), print {
  .pagelink_box {
    padding: 1.6em;
    padding-bottom: 1em;
  }
  .pagelink_box ._column2::before, .pagelink_box ._column2::after {
    content: '';
    display: table;
  }
  .pagelink_box ._column2::after {
    clear: both;
  }
  .pagelink_box ._column2 > * {
    width: 50%;
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .pagelink_box ._column2 > *:nth-child(2n + 1) {
    clear: left;
    padding-right: 10px;
  }
  .pagelink_box ._column2 > *:nth-child(2n) {
    padding-left: 10px;
  }
  .pagelink_box ._column3::before, .pagelink_box ._column3::after {
    content: '';
    display: table;
  }
  .pagelink_box ._column3::after {
    clear: both;
  }
  .pagelink_box ._column3 > * {
    width: 33.33333%;
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .pagelink_box ._column3 > *:nth-child(3n + 1) {
    clear: left;
    padding-right: 12px;
  }
  .pagelink_box ._column3 > *:nth-child(3n + 2) {
    padding-left: 6px;
    padding-right: 6px;
  }
  .pagelink_box ._column3 > *:nth-child(3n) {
    padding-left: 12px;
  }
  .pagelink_box ._column4::before, .pagelink_box ._column4::after {
    content: '';
    display: table;
  }
  .pagelink_box ._column4::after {
    clear: both;
  }
  .pagelink_box ._column4 > * {
    width: 25%;
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .pagelink_box ._column4 > *:nth-child(4n + 1) {
    clear: left;
    padding-right: 15px;
  }
  .pagelink_box ._column4 > *:nth-child(4n + 2) {
    padding-left: 5px;
    padding-right: 10px;
  }
  .pagelink_box ._column4 > *:nth-child(4n + 3) {
    padding-left: 10px;
    padding-right: 5px;
  }
  .pagelink_box ._column4 > *:nth-child(4n) {
    padding-left: 15px;
  }
  .pagelink_box ._inline > * {
    display: inline-block;
  }
  .pagelink_box ._inline > *:not(:last-child) {
    margin-right: 1em;
  }
}

@media screen and (max-width: 899px) {
  .pagelink_box {
    padding: 1em;
    padding-bottom: .5em;
  }
}

@media screen and (min-width: 900px), print {
  .pagelink_box li {
    margin-bottom: .5em;
  }
}

@media screen and (max-width: 899px) {
  .pagelink_box li {
    margin-bottom: 1em;
  }
}

.pagelink_box a {
  color: #222;
  text-decoration: none;
}

.pagelink_box a:hover {
  text-decoration: underline;
}

.footer__1 {
  padding-top: 60px;
  padding-bottom: 65px;
  background: url("../img/footer1.png") center 100%/100% 65px no-repeat #f7f7f7;
}

@media screen and (max-width: 899px) {
  .footer__1 {
    background-size: 100% 20px;
  }
}

.footer__2 {
  position: relative;
  top: 0;
  left: 0;
  padding-bottom: 50px;
}

@media screen and (min-width: 900px), print {
  .footer__2 {
    padding-top: 40px;
  }
}

@media screen and (max-width: 899px) {
  .footer__2 {
    padding-top: 30px;
  }
}

.footer__2::after {
  content: '';
  display: block;
  width: 1px;
  height: 40px;
  background-color: #db0012;
  position: absolute;
  top: 0;
  left: 50%;
}

.footer__sitemap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 899px) {
  .footer__sitemap {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 290px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2em;
  }
  .footer__sitemap ul {
    display: none;
  }
  .footer__sitemap .column {
    width: 50%;
    margin-bottom: 1.5em;
  }
}

@media screen and (min-width: 900px), print {
  .footer__sitemap {
    margin-bottom: 5em;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
  .footer__sitemap .column {
    width: 23%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
  }
  .footer__sitemap .column:not(:last-child) {
    margin-right: 20px;
  }
}

.footer__sitemap .group {
  position: relative;
  top: 0;
  left: 0;
  padding-left: 22px;
}

.footer__sitemap .group .sub_ul2 {
  display: none;
}

.footer__sitemap .group .sub_ul2_title {
  display: none;
}

@media screen and (min-width: 900px), print {
  .footer__sitemap .group:not(:last-child) {
    margin-bottom: 30px;
  }
}

.footer__sitemap .group .title {
  font-weight: bold;
  font-size: 0.938rem;
  position: relative;
  top: 0;
  left: 0;
}

.footer__sitemap .group .title::before {
  content: '';
  display: block;
  background: url("../img/icon/arrow/left.png") 0 0 no-repeat transparent;
  background-size: 15px 15px;
  width: 15px;
  height: 15px;
  position: absolute;
  top: .05em;
  left: -22px;
}

@media screen and (min-width: 900px), print {
  .footer__sitemap .group ul {
    margin-top: .7em;
  }
}

.footer__sitemap .group a {
  color: #222;
  font-size: 0.875rem;
}

.footer__sitemap .group a:hover {
  text-decoration: none;
  opacity: 0.7;
  -webkit-transition: 0.2s opacity;
  -o-transition: 0.2s opacity;
  transition: 0.2s opacity;
}

.footer__info {
  text-align: center;
}

.footer__info .name {
  margin-bottom: .5em;
}

.footer__info .name .sub {
  font-size: 0.813rem;
}

.footer__info .name .main {
  font-size: 1.125rem;
  font-weight: bold;
}

.footer__info .address {
  font-size: 0.875rem;
  margin-bottom: 1em;
}

@media screen and (max-width: 899px) {
  .footer__info .address {
    font-size: 0.813rem;
    margin-left: -10px;
    margin-right: -10px;
  }
}

.footer__info .tel img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 220px;
  height: 20px;
}

.footer__logo a,
.footer__logo img {
  width: 38px;
  height: 38px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: -2px;
}

.footer__copyright {
  margin-top: 15px;
}

.footer__copyright img {
  display: block;
  width: 180px;
  height: 15px;
  margin-left: auto;
  margin-right: auto;
}

.table thead th p:not(:last-child),
.table thead td p:not(:last-child),
.table tbody th p:not(:last-child),
.table tbody td p:not(:last-child) {
  margin-bottom: 0;
}

.table-schedule thead th,
.table-schedule thead td,
.table-schedule tbody th,
.table-schedule tbody td {
  padding: .3em .5em;
  font-size: 0.875rem;
  line-height: 1.5;
}

.table-schedule thead th p:not(:last-child),
.table-schedule thead th p,
.table-schedule thead td p:not(:last-child),
.table-schedule thead td p,
.table-schedule tbody th p:not(:last-child),
.table-schedule tbody th p,
.table-schedule tbody td p:not(:last-child),
.table-schedule tbody td p {
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.5;
}

.table-schedule thead th,
.table-schedule tbody th {
  text-align: center;
}

.table-schedule tbody th {
  width: 80px;
  min-width: 80px;
  text-align: center;
}

.table-schedule tbody td {
  width: 105px;
  word-break: break-all;
  line-height: 1.5;
}

.table-schedule tbody td small {
  font-size: 0.75rem;
  line-height: 1.2;
}

.table-cs {
  width: 700px;
}

.table-cs tbody th,
.table-cs tbody td {
  vertical-align: middle;
  min-height: 40px;
}

@media screen and (min-width: 900px), print {
  .table-cs tbody th,
  .table-cs tbody td {
    width: 350px;
  }
}

@media screen and (max-width: 899px) {
  .table-cs tbody th,
  .table-cs tbody td {
    width: 210px;
  }
}

.table-tavi thead th,
.table-tavi tbody th {
  width: 80px;
  min-width: 80px;
}

.table-tavi thead td,
.table-tavi tbody td {
  width: 18%;
  min-width: 18%;
}

.table-tavi thead th,
.table-tavi thead td,
.table-tavi tbody th,
.table-tavi tbody td {
  vertical-align: middle;
  padding: 8px 5px;
  text-align: center;
}

@media screen and (min-width: 900px), print {
  .table-tavi thead th,
  .table-tavi thead td,
  .table-tavi tbody th,
  .table-tavi tbody td {
    height: 70px;
  }
}

.table-tavi thead ._active,
.table-tavi tbody ._active {
  background-color: #eee;
}

.table-cv thead th,
.table-cv thead td,
.table-cv tbody th,
.table-cv tbody td {
  padding: 8px;
}

.table-cv thead th,
.table-cv tbody th {
  width: auto;
  min-width: auto;
  text-align: center;
}

.table-cv thead td,
.table-cv tbody td {
  width: 160px;
  height: 100px;
  text-align: center;
}

.table-ct thead th,
.table-ct thead td,
.table-ct tbody th,
.table-ct tbody td {
  padding: 8px;
}

.table-ct thead th {
  text-align: center;
}

.table-ct tbody th {
  width: 320px;
  min-width: 320px;
}

.table-ct tbody td {
  text-align: right;
  width: 80px;
  min-width: 80px;
}

.table-ct tbody ._normal {
  font-weight: normal;
}

.table-ct tbody ._center {
  text-align: center;
}

.table-schedule tbody td {
  vertical-align: middle;
  text-align: center;
}

.month_pager {
  position: relative;
  top: 0;
  left: 0;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #d6d3d1;
}

.month_pager__main {
  text-align: center;
  padding-bottom: 5px;
}

.month_pager__main .main {
  font-size: 38px;
  font-weight: 500;
  color: #ca2d19;
  line-height: 1;
  margin-right: .2ex;
  letter-spacing: -.04em;
}

.month_pager__main .sub {
  font-size: 24px;
  color: #222;
  line-height: 1;
  position: relative;
  top: -2px;
  left: 0;
}

@media screen and (min-width: 900px), print {
  .month_pager__prev, .month_pager__next {
    padding-top: .4ex;
  }
}

@media screen and (max-width: 899px) {
  .month_pager__prev, .month_pager__next {
    padding-top: 1ex;
  }
}

.month_pager__prev ._passive, .month_pager__next ._passive {
  pointer-events: none;
  text-decoration: none;
  color: #a9a6a1;
}

.month_pager__prev a:hover, .month_pager__next a:hover {
  text-decoration: underline;
}

.month_pager__prev {
  position: absolute;
  top: .5em;
  left: 0;
}

.month_pager__next {
  position: absolute;
  top: .5em;
  right: 0;
}

.select_frame {
  position: relative;
  top: 0;
  left: 0;
}

@media screen and (min-width: 900px), print {
  .select_frame {
    width: 210px;
  }
}

.select_frame__display {
  border: 1px solid #ccc;
  border-radius: 3px;
  background-color: #f9f9f9;
  font-size: 1rem;
  z-index: 1;
  position: relative;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: .6em;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-right: 26px;
}

.select_frame__display::after {
  content: '';
  display: block;
  background: url("../img/icon/arrow/down_large.png") 0 0 no-repeat transparent;
  background-size: 18px 20px;
  width: 18px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -10px;
}

.select_frame__display-default {
  color: #333;
}

.select_frame select {
  -webkit-user-modify: read-write-plaintext-only;
  -moz-user-modify: read-write-plaintext-only;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  border: 0 none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  width: 100%;
  height: 50px;
  cursor: pointer;
}

.select_frame select:focus + .select_frame__display,
.select_frame select:active + .select_frame__display {
  outline: 2px solid #a6a6a6;
  outline-offset: -2px;
}

.select_frame option {
  padding: 0 15px;
}

.boxlink_list .sub_ul2 {
  display: none;
}

.boxlink_list .sub_ul2_title {
  display: none;
}

.boxlink_list a,
.boxlink {
  border: 1px solid #d6d3d1;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #222;
  font-weight: bold;
  padding: 18px;
  -webkit-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  text-decoration: none;
}

@media screen and (min-width: 900px), print {
  .boxlink_list a,
  .boxlink {
    font-size: 1rem;
    height: 80px;
  }
}

@media screen and (max-width: 899px) {
  .boxlink_list a,
  .boxlink {
    font-size: 0.875rem;
    height: 50px;
  }
}

.boxlink_list a::after,
.boxlink::after {
  content: '';
  display: block;
  background: url("../img/icon/arrow/left_large.png") 0 0 no-repeat transparent;
  background-size: 20px 18px;
  width: 20px;
  height: 18px;
}

.boxlink_list a:hover,
.boxlink:hover {
  color: #222;
  padding-right: 10px;
  background-color: #faf4f3;
}

.main_content .wpnews__head h1 {
  margin-bottom: 10px;
}

.main_content .inline_block_list > * {
  margin-bottom: .5em !important;
}

@media screen and (min-width: 900px), print {
  .button_list {
    margin-bottom: -20px;
  }
}

@media screen and (min-width: 900px), print {
  .button_list-3::before, .button_list-3::after {
    content: '';
    display: table;
  }
  .button_list-3::after {
    clear: both;
  }
  .button_list-3 > * {
    width: 33.33333%;
    float: left;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .button_list-3 > *:nth-child(3n + 1) {
    clear: left;
    padding-right: 13px;
  }
  .button_list-3 > *:nth-child(3n + 2) {
    padding-left: 7px;
    padding-right: 7px;
  }
  .button_list-3 > *:nth-child(3n) {
    padding-left: 13px;
  }
  .button_list-3 > * {
    margin-bottom: 20px;
  }
}

@media screen and (max-width: 899px) {
  .button_list-3 > * {
    margin-bottom: 10px;
  }
}

.button_list .btn {
  width: 100%;
  min-width: inherit;
}

.person_card_list li:not(:last-child) {
  margin-bottom: 40px;
}

.person_card {
  position: relative;
  top: 0;
  left: 0;
}

@media screen and (min-width: 900px), print {
  .person_card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

.person_card.box {
  background-color: #fcfcfc;
}
.person_card h5{
  margin-top:2em;
}
.person_card.box::after {
  content: '';
  display: block;
  background: url("../img/icon/heart_logo.png") 0 0 no-repeat transparent;
  background-size: 80px 80px;
  width: 80px;
  height: 80px;
  position: absolute;
}
/* マイトラクリップのロゴができたら捨ててください */
.person_card.box.logo_none::after{
  background-image: none;
}

@media screen and (min-width: 900px), print {
  .person_card.box::after {
    top: 15px;
    right: 15px;
    width: 80px;
    height: 80px;
  }
}

@media screen and (max-width: 899px) {
  .person_card.box::after {
    top: 15px;
    right: 5px;
    width: 40px;
    height: 40px;
    background-size: 40px 40px;
  }
}

.person_card .head {
  border-bottom: 1px solid #ccc;
  padding-bottom: .5em;
  margin-bottom: 1.3em;
}

@media screen and (min-width: 900px), print {
  .person_card .head {
    padding-right: 80px;
  }
}

@media screen and (min-width: 900px), print {
  .person_card .info {
    width: 100%;
  }
}

@media screen and (min-width: 900px), print {
  .person_card .image {
    -ms-flex-preferred-size: 240px;
    flex-basis: 240px;
    min-height: 240px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
  }
}

@media screen and (max-width: 899px) {
  .person_card .image {
    margin-bottom: 40px;
  }
}

.person_card .image img {
  width: 200px;
  display: block;
  border: 1px solid #e0e0e0;
}

@media screen and (max-width: 899px) {
  .person_card .image img {
    margin-left: auto;
    margin-right: auto;
  }
}

.person_card .handle {
  margin-bottom: .5em;
}

.person_card .handle .main {
  font-size: 1.125rem;
}

.person_card .handle .sub {
  font-size: 0.875rem;
}

.person_card .name {
  line-height: 1.3;
  margin-bottom: .3em;
}

@media screen and (min-width: 900px), print {
  .person_card .name {
    font-size: 2rem;
  }
}

@media screen and (max-width: 899px) {
  .person_card .name {
    font-size: 24px;
  }
}

.person_card .title {
  margin-bottom: .6em;
  line-height: 1.3;
}

@media screen and (min-width: 900px), print {
  .person_card .title {
    font-size: 1.375rem;
  }
}

@media screen and (max-width: 899px) {
  .person_card .title {
    font-size: 18px;
  }
}

.person_card .message {
  border-top: 1px dotted #ccc;
  padding-top: 1em;
}

@media screen and (min-width: 900px), print {
  .layout2_middle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  .layout2_middle .column {
    width: 50%;
  }
}

@media screen and (max-width: 899px) {
  .layout2_middle .column:not(:last-child) {
    margin-bottom: 20px;
  }
}

.tavi_flow_list > li:not(:last-child)::after {
  content: '';
  display: block;
  background: url("../img/icon/arrow/down_large.png") 0 0 no-repeat transparent;
  background-size: 18px 20px;
  width: 18px;
  height: 20px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 15px;
  margin-bottom: 15px;
}

@media screen and (min-width: 900px), print {
  .tavi_flow {
    width: 600px;
    margin-left: auto;
    margin: auto;
  }
}

.tavi_flow.box {
  background-color: #fdf8eb;
}

.tavi_flow .title {
  font-weight: normal;
  margin-bottom: 1.3em;
  padding-bottom: .3em;
  border-bottom: 1px solid #f4d88e;
}

@media screen and (max-width: 899px) {
  .tavi_flow .title {
    position: relative;
    top: 0;
    left: 0;
    padding-left: 30px;
  }
}

.tavi_flow .title .num {
  color: #d49f15;
  line-height: 1;
}

@media screen and (min-width: 900px), print {
  .tavi_flow .title .num {
    position: relative;
    top: .07em;
    left: 0;
    margin-right: .3em;
    font-size: 50px;
  }
}

@media screen and (max-width: 899px) {
  .tavi_flow .title .num {
    font-size: 30px;
    margin-right: .3em;
    position: absolute;
    top: 0px;
    left: 0;
  }
}

.tavi_flow .title .text {
  color: #a57c11;
}

@media screen and (min-width: 900px), print {
  .tavi_flow .title .text {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 899px) {
  .tavi_flow .title .text {
    font-size: 18px;
  }
}

.tavi_hero {
  position: relative;
  top: 0;
  left: 0;
}

.tavi_hero__text {
  color: #fff;
  position: absolute;
}

@media screen and (min-width: 900px), print {
  .tavi_hero__text {
    top: 20px;
    left: 20px;
  }
}

@media screen and (max-width: 899px) {
  .tavi_hero__text {
    top: 10px;
    left: 10px;
  }
}

@media screen and (min-width: 900px), print {
  .tavi_hero__text .main {
    font-size: 80px;
  }
}

@media screen and (max-width: 899px) {
  .tavi_hero__text .main {
    font-size: 30px;
  }
}

.tavi_tel_area .h6 {
  display: block;
}

.tavi_tel {
  margin-bottom: 20px;
}

.tavi_tel .line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.tavi_tel .line .label {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-box-flex: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  line-height: 1;
}

@media screen and (min-width: 900px), print {
  .tavi_tel .line .label {
    font-size: 30px;
    -ms-flex-preferred-size: 70px;
    flex-basis: 70px;
  }
}

@media screen and (max-width: 899px) {
  .tavi_tel .line .label {
    -ms-flex-preferred-size: 40px;
    flex-basis: 40px;
  }
}

@media screen and (min-width: 900px), print {
  .tavi_tel .line .label img {
    width: 50px;
    height: 50px;
  }
}

@media screen and (max-width: 899px) {
  .tavi_tel .line .label img {
    width: 24px;
    height: 24px;
    position: relative;
    top: 2px;
    left: 0;
  }
}

.tavi_tel .line .num {
  font-weight: bold;
  letter-spacing: .05em;
  line-height: 1;
}

@media screen and (min-width: 900px), print {
  .tavi_tel .line .num {
    font-size: 40px;
  }
}

@media screen and (max-width: 899px) {
  .tavi_tel .line .num {
    font-size: 20px;
  }
}

.tavi_tel .line .num .red {
  color: #d64747;
}

@media screen and (min-width: 900px), print {
  .tavi_tel .line .num .red {
    font-size: 60px;
  }
}

@media screen and (max-width: 899px) {
  .tavi_tel .line .num .red {
    font-size: 32px;
  }
}

.tavi_tel .line-1 {
  margin-bottom: 15px;
}

.tavi_tel .line-2 {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.tavi_tel .line-2 .num {
  margin-bottom: 10px;
}

@media screen and (min-width: 900px), print {
  .tavi_tel .line-2 .num {
    font-size: 30px;
  }
}

@media screen and (max-width: 899px) {
  .tavi_tel .line-2 .label {
    padding-top: 5px;
  }
}

.cv_hero {
  max-width: 940px;
  position: relative;
  top: 0;
  left: 0;
}

@media screen and (min-width: 900px), print {
  .cv_hero {
    width: calc(100vw - 260px);
  }
}

.cv_hero__text {
  font-family: "FOT-ニューロダン Pro DB", "NewRodinPro-DB", "Roboto", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: normal;
  position: absolute;
  color: #fff;
  letter-spacing: .2em;
  text-shadow: 0 0 10px #666;
}

@media screen and (min-width: 900px), print {
  .cv_hero__text {
    font-size: 25px;
  }
}

@media screen and (max-width: 899px) {
  .cv_hero__text {
    font-size: 15px;
  }
}

@media screen and (min-width: 900px), print {
  .cv_hero__text-1 {
    top: 8%;
    left: 5%;
  }
  .cv_hero__text-2 {
    top: 45%;
    left: 5%;
  }
  .cv_hero__text-3 {
    top: 45%;
    right: 5%;
  }
}

@media screen and (max-width: 899px) {
  .cv_hero__text-1 {
    top: 5%;
    left: 2%;
  }
  .cv_hero__text-2 {
    top: 40%;
    left: 2%;
  }
  .cv_hero__text-3 {
    top: 42%;
    right: 2%;
  }
}

.cv_hero .slick-current .text1 {
  opacity: 0;
  -webkit-animation-name: cv_text;
  animation-name: cv_text;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.cv_hero .slick-current .text2 {
  opacity: 0;
  -webkit-animation-name: cv_text;
  animation-name: cv_text;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-delay: 1.7s;
  animation-delay: 1.7s;
}

.banner-border {
  border: 1px solid #999;
}

.banner-inline {
  display: inline-block;
}

@media screen and (min-width: 900px), print {
  .cv_menu {
    width: 500px;
    height: 500px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    top: 0;
    left: 0;
    margin-left: auto;
    margin-right: auto;
  }
  .cv_menu {
    width: 600px;
    height: 600px;}

  .cv_menu .main {
    background-color: #fafafa;
    width: 300px;
    height: 300px;
    font-size: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 150px;
    border: 1px solid #ccc;
    position: relative;
    top: 8px;
    left: 0;
  }

 .cv_menu .main{
      width: 500px;
      height: 500px;
      border-radius: 250px;
    }
  .cv_menu .sub {
    position: absolute;
    width: 120px;
    height: 120px;
    border-radius: 60px;
    -webkit-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
    line-height: 1.4;
    font-size: 14px;
    margin-left: -60px;
    text-align: center;
    text-decoration: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: rgba(214, 71, 71, 0.3);
    border: 1px solid #d64747;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .cv_menu .sub::after {
    content: '';
    display: block;
    background: url("../img/icon/arrow/link.png") 0 0 no-repeat transparent;
    background-size: 18px 18px;
    width: 18px;
    height: 18px;
    position: absolute;
    left: 50%;
    bottom: 5px;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    margin-left: -9px;
  }
    .cv_menu .sub-1 {
    top: -26px;
    left: 50%;
    }

    .cv_menu .sub-2 {
    top: -1%;
    left: 69%;
    }

    .cv_menu .sub-3 {
    top: 8%;
    left: 83%;
    }

    .cv_menu .sub-4 {
    top: 38%;
    left: 97%;
    }

    .cv_menu .sub-5 {
    top: 88%;
    left: 60%;
    }

    .cv_menu .sub-6 {
    top: 73%;
    left: 76%;
    }

    .cv_menu .sub-7 {
    top: 83%;
    left: 27%;
    }

    .cv_menu .sub-8 {
    top: 72%;
    left: 15%;
    }

    .cv_menu .sub-9 {
    top: 56%;
    left: 6%;
    }

    .cv_menu .sub-10 {
    top: 39%;
    left: 2%;
    }

    .cv_menu .sub-11 {
    top: 22%;
    left: 5%;
    }

    .cv_menu .sub-12 {
    top: 6%;
    left: 16%;
    }

    .cv_menu .sub-13 {
    top: -2%;
    left: 32%;
    }

    .cv_menu .sub-14 {
    top: 55%;
    left: 97%;
    }

    .cv_menu .sub-15 {
    top: 82%;
    left: 76%;
    }

    .cv_menu .sub-16 {
    top: 71%;
    left: 89%;
    }

    .cv_menu .sub-17 {
    top: 89%;
    left: 44%;
    }

    .cv_menu .sub-18 {
    top: 21%;
    left: 94%;
    }
}
@media screen and (max-width: 899px) {
  .cv_menu .main {
    display: none;
  }
  .cv_menu .sub {
    position: relative;
    top: 0;
    left: 0;
    padding-left: 24px;
    margin-bottom: .5em;
    display: inline-block;
  }
  .cv_menu .sub::before {
    content: '';
    display: block;
    background: url("../img/icon/arrow/link.png") 0 0 no-repeat transparent;
    background-size: 18px 18px;
    width: 18px;
    height: 18px;
    position: absolute;
    left: 10px;
    top: 0;
    -webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
    margin-left: -9px;
  }
}

.cv_banner_list {
  text-align: center;
}

.cv_banner_list .banner {
  display: inline-block;
}

.cv_banner_list .banner img {
  width: 292px;
  margin-left: auto;
  margin-right: auto;
}

.other_person_card_list li:not(:last-child) {
  margin-bottom: 40px;
}

.other_person_card {
  position: relative;
  top: 0;
  left: 0;
}

@media screen and (min-width: 900px), print {
  .other_person_card {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: justify;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
}

.other_person_card.box {
  background-color: #fcfcfc;
}

.other_person_card.box::after {
  content: '';
  display: block;
  /* 	background: url("../img/icon/heart_logo.png") 0 0 no-repeat transparent; */
  background-size: 80px 80px;
  width: 80px;
  height: 80px;
  position: absolute;
}

@media screen and (min-width: 900px), print {
  .other_person_card.box::after {
    top: 15px;
    right: 15px;
    width: 80px;
    height: 80px;
  }
}

@media screen and (max-width: 899px) {
  .other_person_card.box::after {
    top: 15px;
    right: 5px;
    width: 40px;
    height: 40px;
    background-size: 40px 40px;
  }
}

.other_person_card .head {
  border-bottom: 1px solid #ccc;
  padding-bottom: .5em;
  margin-bottom: 1.3em;
}

@media screen and (min-width: 900px), print {
  .other_person_card .head {
    padding-right: 80px;
  }
}

@media screen and (min-width: 900px), print {
  .other_person_card .info {
    width: 100%;
  }
}

@media screen and (min-width: 900px), print {
  .other_person_card .image {
    -ms-flex-preferred-size: 240px;
    flex-basis: 240px;
    min-height: 240px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-positive: 0;
    -webkit-box-flex: 0;
    flex-grow: 0;
  }
}

@media screen and (max-width: 899px) {
  .other_person_card .image {
    margin-bottom: 40px;
  }
}

.other_person_card .image img {
  width: 200px;
  display: block;
  border: 1px solid #e0e0e0;
}

@media screen and (max-width: 899px) {
  .other_person_card .image img {
    margin-left: auto;
    margin-right: auto;
  }
}

.other_person_card .handle {
  margin-bottom: .5em;
}

.other_person_card .handle .main {
  font-size: 1.125rem;
}

.other_person_card .handle .sub {
  font-size: 0.875rem;
}

.other_person_card .name {
  line-height: 1.3;
  margin-bottom: .3em;
}

@media screen and (min-width: 900px), print {
  .other_person_card .name {
    font-size: 2rem;
  }
}

@media screen and (max-width: 899px) {
  .other_person_card .name {
    font-size: 24px;
  }
}

.other_person_card .title {
  margin-bottom: .6em;
  line-height: 1.3;
}

@media screen and (min-width: 900px), print {
  .other_person_card .title {
    font-size: 1.375rem;
  }
}

@media screen and (max-width: 899px) {
  .other_person_card .title {
    font-size: 18px;
  }
}


.other_person_card .message {
  border-top: 1px dotted #ccc;
  padding-top: 1em;
}


  /*循環器病棟*/

.haert_team h2 {
  display: block;
  width: 100%;
  background-image: url(https://www.mito-saiseikai.jp/wp/wp-content/uploads/2021/08/h3_bg.jpg);
  background-size: cover;
  background-position: center;
  text-align: center;
  color: #ec896e;
  padding: 10px 0;
  margin-bottom: 1.5em;
}
.haert_team h3 {
  font-weight: normal;
  padding-left: 25px;
  position: relative;
  margin-bottom: 1em;
}
.haert_team h3::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  position: absolute;
  top: 9px;
  left: 4px;
  background-color: #ec896e;
  transform: rotate(45deg);
}
.haert_team .cv_hero__text-1 {
  top: 45%;
  left: 50%;
}
.haert_team .cv_hero__text-2 {
  top: 60%;
  left: auto;
  right: 5%;
}
.haert_team .cv_hero__text-3 {
  top: 7%;
  left: 5%;
  right: auto;
}
.haert_team .js-accordion {
  margin-bottom: 1em;
}
.haert_team .js-accordion__toggle {
  color: #222;
  text-decoration: none;
  position: relative;
  height: 40px;
}
.haert_team .js-accordion__toggle .js-toggle {
  position: absolute;
  width: 100%;
  max-width: 930px;
  background-color: #ffe1d2;
  padding: 10px 5px;
  background-image: url(https://www.mito-saiseikai.jp/wp/wp-content/uploads/2021/08/accordion_bg.png);
  background-repeat: no-repeat;
  background-position: right 10px center;
  right: auto;
}
.haert_team .js-accordion__toggle .js-toggle:hover {
  background-color: #ec896e;
}
.haert_team .js-accordion__toggle .js-toggle::before {
  left: auto;
  right: 10px;
}
.haert_team .js-accordion__toggle .js-toggle::after {
  left: auto;
  right: 10px;
}
.haert_team .js-accordion__toggle:hover {
  color: #fff;
}
.haert_team .js-accordion__content {
  background-color: #FCF9F7;
}
.haert_team .js-accordion__content__inner {
  padding: 26px;
  position: relative;
}
.haert_team .js-accordion__content__inner ul .border_r {
  border-right: 1px  solid #e7cfc5;
}
.haert_team .js-accordion__content__inner ul .border_l {
  border-left: 1px  solid #e7cfc5;
}
.haert_team .js-accordion__content__inner ul li span {
  font-weight: bold;
  font-size: 17px;
}
.haert_team .haert-comment {
  margin: 2em auto;
}
.haert_team .haert-comment__main {
  position: relative;
  margin: 1em 0;
}
.haert_team .haert-comment__main__text {
  position: absolute;
  top: 39%;
  left: 9%;
}
.haert_team .haert-comment__main__text p {
  background-color: #fff;
  padding: 0 5px;
  margin-bottom: 5px;
  display: inline;
  line-height: 1;
}
.haert_team .haert-comment__main__text .name {
  font-size: 30px;
  font-weight: bold;
  line-height: 1.5;
}
.haert_team .haert-comment__main__text .a_name {
  font-size: 14px;
  font-weight: bold;
  color: #ec896e;
}
.haert_team .haert-comment__main__bottm_text {
  top: 56%;
}
.haert_team .haert-comment__main img {
  box-shadow: 0 0 25px 0 rgba(255, 172, 154, 0.6);
}
.haert_team .haert-comment__title {
  font-size: 30px;
  font-weight: bold;
  color: #ec896e;
  margin-bottom: 0.4em !important;
}
.haert_team table tr th {
  border: 1px solid #ec896e !important;
  text-align: center !important;
  background-color: #fff4ee !important;
  color: #be6433 !important;
  font-weight: normal !important;
  width: auto !important;
}
.haert_team table tr td {
  border: 1px solid #ec896e !important;
  background-color: #fff !important;
  vertical-align: middle !important;
}
.haert_team table tr td:last-child {
  text-align: center;
}



  /*心臓リハビリテーション（上記「循環器病棟」と併せて使用）*/

.riha h2 {
  background-image: url(https://www.mito-saiseikai.jp/wp/wp-content/uploads/2021/08/c-riha_h2-bg.jpg);
  color: #fff;
}
.riha ul li:before {
  background-color: #ffaa31 !important;
}
.riha ol li h3 {
  display: flex;
  align-items: center;
  height: 84px;
  padding-left: 90px;
  font-weight: bold;
  color: #ffaa31;
  font-size: 24px;
  background-size: 84px 84px;
  background-repeat: no-repeat;
}
.riha ol li h3::before {
  display: none;
}
.riha ol li:nth-child(1) h3 {
  background-image: url(https://www.mito-saiseikai.jp/wp/wp-content/uploads/2021/08/c-riha_point01.png);
}
.riha ol li:nth-child(2) h3 {
  background-image: url(https://www.mito-saiseikai.jp/wp/wp-content/uploads/2021/08/c-riha_point02.png);
}
.riha ol li:nth-child(3) h3 {
  background-image: url(https://www.mito-saiseikai.jp/wp/wp-content/uploads/2021/08/c-riha_point03.png);
}
.riha .cv_hero__text-1 {
  top: 42%;
  left: 7%;
}
.riha .cv_hero__text-2 {
  top: 5%;
  left: 10%;
  right: auto;
}
.riha .cv_hero__text-3 {
  top: 45%;
  left: 39%;
  right: auto;
}
.riha .cv_hero__text-4 {
  top: 45%;
  left: 33%;
  right: auto;
}
.riha .cv_hero__text-4 .text1 {
  font-size: 28px;
  padding-left: 40px;
  background-image: url(https://www.mito-saiseikai.jp/wp/wp-content/uploads/2021/08/c-riha_main_logo.png);
  background-size: 27px;
  background-repeat: no-repeat;
  display: flex;
  align-items: center;
  height: 27px;
}
.riha .cv_hero__text-4 .text2 {
  font-size: 20px;
}
.riha .haert-comment__main__text .a_name {
  color: #ffaa31;
}
.riha .haert-comment__main img {
  box-shadow: 0 0 25px 0 rgba(255, 170, 49, 0.6);
}
.riha .haert-comment__title {
  color: #ffaa31;
}




@media screen and (min-width: 900px), print {
	.cardiovascular_internal_feature_h {
		height: 122px;
		margin: 4em 0 1.5em;
	}
}
@media screen and (max-width: 899px) {
	.cardiovascular_internal_feature_h {
		height: 80px;
		margin: 2em 0 1em;
	}
}
.cardiovascular_internal_feature_h > img {
	display: block;
	max-height: 100%;
}

@media screen and (min-width: 900px), print {
	.cardiovascular_internal_feature_link_list {
		margin: -14px -9px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}
}
@media screen and (min-width: 900px), print {
	.cardiovascular_internal_feature_link_list > li {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		padding: 14px 9px;
		width: 33.33%;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
}
@media screen and (max-width: 899px) {
	.cardiovascular_internal_feature_link_list > li + li {
		margin-top: 1em;
	}
}
.cardiovascular_internal_feature_link_list a {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	text-align: center;
	width: 100%;
	height: 100%;
	position: relative;
	border: solid 1px #d64848;
	background-color: #f3c8c8;
	color: inherit;
	text-decoration: none;
	line-height: 1.5;
}
.cardiovascular_internal_feature_link_list a:hover {
	text-decoration: none;
	opacity: 0.7;
	-webkit-transition: 0.2s opacity;
	-o-transition: 0.2s opacity;
	transition: 0.2s opacity;
}
@media screen and (min-width: 900px), print {
	.cardiovascular_internal_feature_link_list a {
		padding: 10px 40px 10px 30px;
		min-height: 84px;
	}
}
@media screen and (max-width: 899px) {
	.cardiovascular_internal_feature_link_list a {
		padding: 10px 40px 10px 20px;
	}
}
.cardiovascular_internal_feature_link_list a::before {
	content: "";
	display: block;
	position: absolute;
	right: 1em;
	top: 0;
	bottom: 0;
	margin: auto 0 auto;
	width: 17px;
	height: 17px;
	background-size: contain;
	background-image: url("/common/img/icon/arrow/link_white.png");
}
.cardiovascular_internal_feature_link_list a._in_page::before {
	-webkit-transform: rotate(90deg);
	    -ms-transform: rotate(90deg);
	        transform: rotate(90deg);
	background-image: url("/common/img/icon/arrow/link.png");
}
/* マイトラクリップ　スライド部分（心臓リハビリテーションと合わせて使用） */


@media screen and (min-width: 900px),
print {
.cv_hero__text.cv_hero__text-2.mc_hero__text-2 {
  left: 61%;
  color: #767676;
  }
 .cv_hero__text.cv_hero__text-4.mc_hero__text-4 {
   top: 5%;
   left: 20%;
 }

}

@media screen and (max-width: 899px) {

.cv_hero__text-2.mc_hero__text-2 {
    top: 40%;
    left: 2%;
  }
}

.main_content #mc .h2,
.main_content #mc h2:not(.cancel) {
  background-color: #becadc;
  border-left: 1px solid #060c54;

}
/* 広報誌など */
.magazine img{
border: solid 1px #ddd;
box-shadow: 2px 2px 2px rgb(0 0 0 / 20%);
}
.magazine a img:hover{
  opacity: 0.7;
  transition : all 0.5s ease 0s;
}

.li2.active a.link-none {
  pointer-events: none;
}
.mincho{
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Noto Serif JP', serif;
}
.icard_title{
  font-family: 'Noto Sans JP', sans-serif;
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  font-size: 18px;
  color: #000;
  font-weight: 600;
}
a.text_black,
.text_black{
  color: #000 !important;
}
.kenshin_tel{
  font-size: 18px;
  font-weight: bold;
}

#dpc{
  .out_link {
  line-height: 1.4;
  color: #ca2d19;
  text-align: right;
  margin-bottom: 2em;
}

 .out_link::before {
  content: '';
  display: inline-block;
  background: url("../img/icon/arrow/link.png") 0 center no-repeat transparent;
  background-size: 17px 17px;
  width: 17px;
  height: 17px;
  margin-right: 4px;
  position: relative;
  top: .23em;
  left: 0;
  margin-top: -1em;
}

 .out_link:hover {
  color: #222;
  text-decoration: underline;
}
.div-title-shitsu,
.div-title{
  background-color: #faf4f3;
  line-height: 1.3;
  padding-left: 14px;
  padding-right: 14px;
  border-left: 1px solid #ca2d19;
  font-weight: normal;
  padding-top: .25em;
  padding-bottom: .2em;
  margin-bottom: 1.25em;
  margin-top: 3em;
}

@media screen and (min-width: 900px), print {
.div-title-shitsu,
.div-title {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 899px) {
.div-title-shitsu,
.div-title{
    font-size: 1.125rem;
  }
}
a.csv_btn.qi_data_link{
  font-size: 12px;
  padding-left: 2em;
}
div[id*="_nm"] {
  background-color: #f7f7f7;
  line-height: 1.3;
  padding-left: 15px;
  padding-right: 15px;
  border-bottom: 1px solid #d6d3d1;
  font-weight: normal;
  padding-top: .2em;
  padding-bottom: .2em;
  margin-bottom: 1.4em;
  -webkit-box-shadow: 0 1px 1px rgba(102, 102, 102, 0.1);
  box-shadow: 0 1px 1px rgba(102, 102, 102, 0.1);
  margin-top: 2em;
}

@media screen and (min-width: 900px), print {
 div[id*="_nm"] {
    font-size: 1.25rem;
  }
}

@media screen and (max-width: 899px) {
div[id*="_nm"] {
    font-size: 1rem;
  }
}
  .div-title-hist{
  font-size: 1.063rem;
  font-weight: bold;
  padding-left: 25px;
  position: relative;
  top: 0;
  left: 0;
  line-height: 1.4;
  margin-bottom: 1em;
  margin-top: 2em;
}

.div-title-hist::before{
  content: '';
  display: block;
  position: absolute;
  top: .6em;
  left: 0;
  height: 1px;
  width: 15px;
  background-color: #ca2d19;
}
}

.news_tab_cate._news_page .news_tab_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  column-gap: 20px;
  margin-bottom: 28px;
}

.news_tab_cate._news_page .news_tab_list > li .tab {
  display: block;
  min-height: 50px;
  color: #898989;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  box-sizing: border-box;
  text-align: center;
  padding: 12px 15px 11px;
  line-height: 1.5;
  text-decoration: none;
}

.news_tab_cate._news_page .news_tab_list > li .tab._selected {
  background-color: #f5f5f5;
}

@media screen and (max-width: 899px) {
  .news_tab_cate._news_page .news_tab_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 10px;
    row-gap: 10px;
    margin-bottom: 28px;
  }

  .news_tab_cate._news_page .news_tab_list > li .tab {
    min-height: 40px;
    padding: 11px 15px 10px;
  }
}
.ingaihou_box .banner {
width: 100px;
margin-right: auto;
margin-left: auto;
}
#saisei_mito figcaption{
  display: block;
  padding-top: 1em;
}
#saisei_mito a img{
box-shadow: 0 5px 5px 0 rgba(0, 0, 0, .1);
}
#saisei_mito .new_issue
{
  display: flex;
  align-items: center;
  text-align: center;
  flex-direction: column;
}

.announce_box {
  border: 3px solid #efe8d2;
  border-radius: 10px;
  padding: 20px 40px 35px;
  font-family: 'Noto Sans JP', sans-serif;
  color: #1e2b4b;
  letter-spacing: 1.5px;
}

@media screen and (max-width: 575px) {
  .announce_box {
    padding: 20px 15px 35px;
  }
}

.announce_box .head {
  background-image: linear-gradient(to right, #bfab6c, #bfab6c 2px, transparent 2px, transparent 7px);
  background-size: 7px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
  padding-bottom: 20px;
  margin-bottom: 25px;
  font-size: 25px;
  text-align: center;
  font-weight: 500;
}

@media screen and (max-width: 575px) {
  .announce_box .head {
    font-size: 18px;
  }
}

.announce_box .head .title_text div {
  line-height: 1.5;
}

@media screen and (max-width: 575px) {
  .announce_box .head .title_text div {
    margin-bottom: 1em;
  }
}

@media screen and (max-width: 575px) {
  .announce_box .head .title_text div span {
    display: block;
  }
}

.announce_box .head .red_strong {
  color: #cf214e;
  font-size: 33px;
  font-weight: 600;
  margin: 0 0.4em;
}

@media screen and (max-width: 575px) {
  .announce_box .head .red_strong {
    font-size: 28px;
  }
}

.announce_box .head .red_strong._small {
  font-size: 28px;
}

@media screen and (max-width: 575px) {
  .announce_box .head .red_strong._small {
    font-size: 22px;
  }
}

.announce_box .body {
  text-align: center;
  font-size: 18px;
}

.announce_box .body .navy_strong {
  font-size: 20px;
  font-weight: 800;
}

.announce_box .body .navy_strong._large {
  font-size: 45px;
  font-weight: 600;
  font-family: "Roboto", sans-serif;
}

.announce_box .body .comment_text {
  margin-bottom: 25px;
}

@media screen and (max-width: 575px) {
  .announce_box .body .comment_text div {
    display: inline;
  }
}

.belongings_column {
  display: flex;
  gap: 75px;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .belongings_column {
    gap: 40px;
  }
}

@media screen and (max-width: 575px) {
  .belongings_column {
    flex-direction: column;
  }
}


.belongings_column .belongings_box {
  width: calc((100% - 150px) / 3);
  text-align: center;
  color: #1e2b4b;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 1.5px;
}

@media screen and (max-width: 767px) {
  .belongings_column .belongings_box {
    width: calc((100% - 80px) / 3);
  }
}

@media screen and (max-width: 575px) {
  .belongings_column .belongings_box {
    width: 100%;
  }
}

.belongings_column .belongings_box .image img {
    width: 100%;
    border-radius: 50%;
    filter: drop-shadow(5px 5px 10px #e6e7e9);
}

@media screen and (max-width: 575px) {
  .belongings_column .belongings_box .image {
    max-width: 260px;
    margin: 0 auto;
  }
}

.belongings_column .belongings_box .text {
  line-height: 1.4;
  margin-top: 10px;
}

a.outpatient_btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: fit-content;
  min-width: 210px;
  background-color: #cf214e;
  color: #ffffff;
  font-size: 17px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 50px;
  padding: 0.85em 2.5em;
  margin: 0 auto 15px;
  transition: .1s ease-out;
}

@media screen and (max-width: 575px) {
  a.outpatient_btn {
  line-height: 1.5;
  width: auto;
  min-width: auto;
  padding: 0.85em 1.5em;
  margin-left: 15px;
  }
}

a.outpatient_btn:hover {
  opacity: 0.7;
}

a.outpatient_btn::before {
  position: absolute;
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: #c3c3c3;
  top: 50%;
  left: -15px;
  transition: .1s ease-out;
}

a.outpatient_btn:hover::before {
  left: -10px;
}

a.outpatient_btn.download {
  padding: 0.85em 3em 0.85em 2.5em;
}

@media screen and (max-width: 575px) {
  a.outpatient_btn.download {
    padding: 0.85em 2.5em 0.85em 1.5em;
  }
}

a.outpatient_btn.download::after {
  position: absolute;
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  background-image: url("/common/img/icon/icon_download.webp");
  background-size: 22px 22px;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}

a.outpatient_btn._large {
  font-size: 18px;
}

a.outpatient_btn._blue {
  background-color: #334f75;
  padding: 0.85em 3em 0.85em 2.5em;
}

@media screen and (max-width: 575px) {
  a.outpatient_btn._blue {
    width: auto;
  }
}

a.outpatient_btn._blue::after {
  position: absolute;
  content: "";
  display: block;
  width: 15px;
  height: 8px;
  background-image: url("/common/img/icon/arrow/outpatient_btn_back.webp");
  background-size: 15px 8px;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
}

.outpatient_flow_area{
  margin-top: 50px;
}

@media screen and (max-width: 577px) {
  .outpatient_flow_area{
    margin-top: 20px;
  }
}

.outpatient_flow_box {
  position: relative;
  background-image: linear-gradient(to right, #bfab6c, #bfab6c 2px, transparent 2px, transparent 7px);
  background-size: 7px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
  display: flex;
  gap: 50px;
  padding: 50px 0;
}

@media screen and (max-width: 767px) {
  .outpatient_flow_box {
    gap: 20px;
  }
}

@media screen and (max-width: 575px) {
  .outpatient_flow_box {
    gap: 0;
    flex-direction: column;
  }
}

.outpatient_flow_box:last-child {
  background-image: none;
}

.outpatient_flow_box:first-child {
  padding-top: 0px;
}

.outpatient_flow_box .flow_title {
  position: relative;
  width: 60px;
  display: inline-block;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (max-width: 575px) {
  .outpatient_flow_box .flow_title {
    flex-direction: unset;
    width: 100%;
    gap: 10px;
  }
}

.outpatient_flow_box .flow_title::before {
  position: absolute;
  content: "";
  display: block;
  width: 30px;
  height: 50px;
  background-image: url("/common/img/icon/arrow/outpatient_flow_arrow.webp");
  background-size: 30px 50px;
  top: -50px;
  left: 14px;
}

@media screen and (max-width: 575px) {
  .outpatient_flow_box .flow_title::before {
    left: -4px;
  }
}

.outpatient_flow_box:first-child .flow_title::before {
  content: none;
}

.outpatient_flow_box .flow_title .num {
  font-size: 45px;
  font-weight: 600;
  font-family: "Roboto", sans-serif;
  color: #20449c;
  background-color: #ffffff;
  line-height: 35px;
  padding-bottom: 18px;
  z-index: 1;
}

@media screen and (max-width: 575px) {
  .outpatient_flow_box .flow_title .num {
    font-size: 40px;
    padding-bottom: 10px;
  }
}

.outpatient_flow_box .flow_title .text {
  font-size: 18px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 600;
  writing-mode: vertical-rl;
  color: #20449c;
  letter-spacing: 4px;
  background-color: #ffffff;
  padding-bottom: 18px;
}

@media screen and (max-width: 575px) {
  .outpatient_flow_box .flow_title .text {
    writing-mode: horizontal-tb;
    padding-bottom: 10px;
  }
}

.outpatient_flow_box .flow_content {
  flex: 1;
}

@media screen and (max-width: 575px) {
  .outpatient_flow_box .flow_content {
    margin-left: 30px;
  }
}

.outpatient_flow_box::before {
  position: absolute;
  content: "";
  display: block;
  width: 3px;
  height: 100%;
  background-color: #bfab6c;
  top: 0;
  left: 28px;
  z-index: -1;
}

@media screen and (max-width: 575px) {
  .outpatient_flow_box::before {
    left: 10px;
  }
}

.outpatient_flow_box:last-child:before {
  content: none;
}

.flow_item_box {
  position: relative;
  background-color: #f9fafa;
  border: 1px solid #e7e7e7;
  border-radius: 10px;
  padding: 20px 30px;
}

@media screen and (max-width: 575px) {
  .flow_item_box {
    padding: 20px 20px;
  }
}

@media screen and (max-width: 575px) {
  .flow_item_box:first-child {
    margin-top: 10px;
  }
}

.flow_item_box._next {
  margin-bottom: 30px;
}

.flow_item_box._next::before {
  content: '';
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-top: 15px solid #1e2b4b;
}

.flow_item_box .head {
  display: flex;
  align-items: center;
  gap: 15px;
}

@media screen and (max-width: 575px) {
  .flow_item_box .head {
    flex-direction: column;
    gap: 0;
    align-items: flex-start;
  }
}

.flow_item_box .head .step_num {
  font-size: 18px;
  font-weight: 500;
  font-family: "Roboto", sans-serif;
  color: #bfab6c;
}

@media screen and (max-width: 575px) {
  .flow_item_box .head .step_num {
    font-size: 15px;
  }
}

.flow_item_box .head .step_title {
  font-size: 21px;
  font-weight: bold;
  font-family: 'Noto Serif JP', serif;
  color: #1e2b4b;
  letter-spacing: 1.5px;
}

@media screen and (max-width: 575px) {
  .flow_item_box .head .step_title {
    font-size: 20px;
  }
}

.flow_item_box .head .step_title._center {
  margin: 0 auto;
}

.flow_item_box .head .step_title span {
  font-size: 26px;
}

.flow_item_box .body {
  margin-top: 8px;
}

.flow_item_box .item_box_list li {
  display: flex;
  gap: 20px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e7e7e7;
}

@media screen and (max-width: 767px) {
  .flow_item_box .item_box_list li {
    flex-direction: column;
    gap: 0;
  }
}

.flow_item_box .item_box_list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

.flow_item_box .item_box_list li .item_box_list_title {
  width: 180px;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 600;
  font-size: 17px;
}

.flow_item_box .item_box_list li .comment {
  flex: 1;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  font-size: 16px;
}

.main_content ul.item_box_list:not(.cancel) > li {
  margin-bottom: 10px;
}

.main_content ul.item_box_list:not(.cancel) > li:last-child {
  margin-bottom: 0;
}

.main_content ul.item_box_list:not(.cancel) > li::before {
  content: '';
  display: block;
  position: absolute;
  left: .2em;
  width: 10px;
  height: 10px;
  background-color: #bfab6c;
  border-radius: 5px;
}

.flow_item_box .belongings_column {
  padding: 10px 0;
  margin-bottom: 0;
  gap: 20px;
  justify-content: center;
}

.flow_item_box .belongings_column .belongings_box .image {
  max-width: 130px;
  margin: 0 auto;
}

.flow_item_box .belongings_column .belongings_box .text {
  font-size: 16px;
  margin-top: 5px;
}

.flow_item_box p {
  font-family: 'Noto Sans JP', sans-serif;
}

.flow_item_box._column {
  display: flex;
  position:
  relative;
}

@media screen and (max-width: 575px) {
  .flow_item_box._column {
    flex-direction: column;
    padding: 20px 20px 0 20px;
  }
}

.flow_item_box._column .left {
  width: 70%;
}

@media screen and (max-width: 575px) {
  .flow_item_box._column .left {
    width: 100%;
  }
}

.flow_item_box._column .right {
  flex: 1;
  display: flex;
  justify-content: center;
}

@media screen and (max-width: 575px) {
  .flow_item_box._column .right {
    width: 100%;
    margin-top: 10px;
  }
}

.flow_item_box._column .right img {
  position: absolute;
  width: 100%;
  max-width: 130px;
  bottom: 0;
}

@media screen and (max-width: 899px) {
  .flow_item_box._column .right img {
    max-width: 90px;
  }
}

@media screen and (max-width: 575px) {
  .flow_item_box._column .right img {
    position: unset;
    max-width: 125px;
  }
}

.outpatient_btn_column {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin-top: 25px;
}

@media screen and (max-width: 575px) {
  .outpatient_btn_column {
    flex-direction: column;
  }
}

@media screen and (max-width: 575px) {
  .outpatient_btn_column div {
    width: 100%;
  }
}

.comment_list p {
  font-family: 'Noto Sans JP', sans-serif;
}

.comment_list li {
  border-bottom: 1px solid #e7e7e7;
  margin-top: 20px;
  padding-bottom: 20px;
}

.comment_list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.comment_list li .comment_list_title {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 600;
  font-size: 19px;
  margin-bottom: 5px;
}

.main_content ul.comment_list:not(.cancel) > li::before {
  content: '';
  display: block;
  position: absolute;
  top: 1em;
  left: .2em;
  width: 10px;
  height: 10px;
  background-color: #bfab6c;
  border-radius: 5px;
}

.main_content ul.simple_list:not(.cancel) > li {
  margin-bottom: 2px;
}

.main_content ul.simple_list:not(.cancel) > li::before {
  content: '';
  display: block;
  position: absolute;
  top: .7em;
  left: .2em;
  width: 10px;
  height: 10px;
  background-color: #bfab6c;
  border-radius: 5px;
}

.js-accordion_area {
  border: 1px solid #e5e5e5;
}
.js-accordion_area:not(:last-child) {
  margin-bottom: 20px;
}
.js-accordion_area .accordion_btn {
  background-color: #fafafa;
  min-height: 40px;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1.8em 2em ;
  cursor: pointer;
}
@media screen and (max-width: 999px) {
  .js-accordion_area .accordion_btn {
    padding: 1.5em 2em ;
  }
}
@media screen and (max-width: 575px) {
  .js-accordion_area .accordion_btn {
    min-height: auto;
    padding: 1.5em ;
  }
}
.js-accordion_area .accordion_btn:hover {
  text-decoration: none;
  opacity: 0.7;
  -webkit-transition: 0.2s opacity;
  transition: 0.2s opacity;
}
.js-accordion_area .accordion_btn:active {
  background-color: #fafafa;
}
.js-accordion_area .accordion_btn > .accordion_title {
  width: calc(100% - 50px);
  line-height: 1.7;
  font-size: 18px;
}
@media screen and (max-width: 999px) {
  .js-accordion_area .accordion_btn > .accordion_title {
    font-size: 16px;
  }
}
.js-accordion_area .accordion_btn > .accordion_title .question {
  color: #ca2d19;
  margin-right: 8px;
}
@media screen and (max-width: 767px) {
  .js-accordion_area .accordion_btn > .accordion_title {
    width: calc(100% - 35px);
  }
}
.js-accordion_area .accordion_btn > .accordion_arrow {
  display: block;
  width: 28px;
  height: 28px;
  border: none;
  background-color: unset;
  border-radius: 2px;
  position: relative;
}
.js-accordion_area .accordion_btn > .accordion_arrow::before, .js-accordion_area .accordion_btn > .accordion_arrow::after {
  content: "";
  display: block;
  width: 15px;
  height: 2px;
  background-color: #7d7d7d;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
.js-accordion_area .accordion_btn > .accordion_arrow::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.js-accordion_area .js-accordion_content {
  max-height: 0;
  -webkit-transition: max-height cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: max-height cubic-bezier(0.215, 0.61, 0.355, 1);
  overflow: hidden;
}
.js-accordion_area:hover {
  opacity: 1;
}
.js-accordion_area.opened .accordion_btn {
  border-bottom: none;
}
@media screen and (max-width: 575px) {
  .js-accordion_area.opened .accordion_btn {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.js-accordion_area.opened .accordion_btn > .accordion_arrow {
  background-color: unset;
}
.js-accordion_area.opened .accordion_btn > .accordion_arrow::before, .js-accordion_area.opened .accordion_btn > .accordion_arrow::after {
  background-color: #7d7d7d;
}
.js-accordion_area.opened .accordion_btn > .accordion_arrow::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.js-accordion_area.opened .js-accordion_content {
  max-height: 1000em;
  padding: 2em 4em;
  display: flex;
  gap: 15px;
}
@media screen and (max-width: 575px) {
  .js-accordion_area.opened .js-accordion_content {
    max-height: 1000em;
    padding: 2em 1.5em;
    display: flex;
    gap: 15px;
  }
}
.js-accordion_area.opened .js-accordion_content .answer{
  padding-top: 1px;
  font-size: 18px;
}
@media screen and (max-width: 999px) {
  .js-accordion_area.opened .js-accordion_content .answer{
    padding-top: 3px;
    font-size: 16px;
  }
}
@media screen and (max-width: 900px) {
  .js-accordion_area.opened .js-accordion_content .answer{
    padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .js-accordion_area.opened .js-accordion_content .answer{
    padding-top: 0;
  }
}
.js-accordion_area.opened .js-accordion_content.js-accordion_content-small {
  max-height: 50em;
}
.js-accordion_area.opened .js-accordion_content.js-accordion_content-large {
  max-height: 1000em;
}
.js-accordion_area.opened .js-accordion_content.js-accordion_content-exlarge {
  max-height: 10000em;
}

.faq_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 65px;
  row-gap: 50px;
}
@media screen and (max-width: 900px) {
  .faq_list {
    gap: 40px;
    row-gap: 35px;
  }
}
@media screen and (max-width: 767px) {
  .faq_list {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 575px) {
  .faq_list {
    row-gap: 20px;
  }
}
.faq_list .faq_index_box {
  background-color: #fafafa;
  border: 1px solid #e5e5e5;
  padding: 3em 4em;
}
@media screen and (max-width: 900px) {
  .faq_list .faq_index_box {
    padding: 2em 3em;
  }
}
@media screen and (max-width: 575px) {
  .faq_list .faq_index_box {
    padding: 1.5em 1em;
  }
}
.faq_list .faq_index_box .head {
  position: relative;
  margin-bottom: 35px;
}
@media screen and (max-width: 575px) {
  .faq_list .faq_index_box .head {
    margin-bottom: 20px;
  }
}
.faq_list .faq_index_box .head a {
  text-decoration: none;
  display: block;
}
.faq_list .faq_index_box .head a:hover {
  opacity: 0.7;
}
.faq_list .faq_index_box .head a:hover .title::after {
  right: -10px;
}
.faq_list .faq_index_box .head .num {
  font-size: 24px;
  color: #db0512;
  margin-right: 0.2em;
  letter-spacing: 1.5px;
}
@media screen and (max-width: 575px) {
  .faq_list .faq_index_box .head .num {
    font-size: 22px;
  }
}
.faq_list .faq_index_box .head .title {
  font-size: 24px;
  color: #222222;
}
@media screen and (max-width: 575px) {
  .faq_list .faq_index_box .head .title {
    font-size: 20px;
  }
}
.faq_list .faq_index_box .head .title::after {
content: '';
display: block;
background: url(../img/icon/arrow/btn.png) 0 0 no-repeat transparent;
background-size: 18px 14px;
width: 18px;
height: 14px;
background-size: 18px 28px;
margin-top: -7px;
position: absolute;
top: 50%;
right: 0;
transition: 0.2s;
}

.faq_list .faq_index_box .body .faq_link_list {
  width: 100%;
  display: block;
}
.faq_list .faq_index_box .body .faq_link_list .faq_link {
  position: relative;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 1em;
  padding-bottom: 1em;
  padding-right: 2em;
}
@media screen and (max-width: 575px) {
  .faq_list .faq_index_box .body .faq_link_list .faq_link {
    margin-bottom: 0.8em;
    padding-bottom: 0.8em
  }
}
.faq_list .faq_index_box .body .faq_link_list .faq_link:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.faq_list .faq_index_box .body .faq_link_list .faq_link a {
  font-size: 16px;
  color: #222222;
  text-decoration: none;
}
@media screen and (max-width: 575px) {
  .faq_list .faq_index_box .body .faq_link_list .faq_link a {
    font-size: 0.875rem;
  }
}
.faq_list .faq_index_box .body .faq_link_list .faq_link a:hover {
  text-decoration: underline;
  color: #db0512;
}
.faq_list .faq_index_box .body .faq_link_list .faq_link a:hover span {
  text-decoration: none;
}
.faq_list .faq_index_box .body .faq_link_list .faq_link::after {
    content: '';
    display: inline-block;
    background: url(../img/icon/arrow/link.png) 0 center no-repeat transparent;
    background-size: 15px 15px;
    width: 15px;
    height: 15px;
    margin-right: 4px;
    position: absolute;
    top: 8px;
    right: 0;
}

.faq_list .faq_index_box .body .faq_link_list .faq_link span {
  font-size: 18px;
  color: #db0512;
  margin-right: 0.5em;
}
@media screen and (max-width: 575px) {
  .faq_list .faq_index_box .body .faq_link_list .faq_link span {
    font-size: 16px;
  }
}