@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: 0.75;
}

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

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

.none {
  display: none;
}

body {
  font-family: "Noto Sans JP", 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;
  text-decoration-color: #d64747;
}

/*

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

オレンジ文字。

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

*/
.orange_text {
  color: #fff;
}

.orange_text2 {
  color: #fff;
}

/*

<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: #116890;
  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: 0.5em;
  padding-bottom: 0.5em;
}

.float_left {
  float: left;
  padding-right: 0.5em;
  padding-bottom: 0.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;
  transition: 0.2s opacity;
}

/*

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

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

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

*/
.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 .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: 0.5em;
}
.root .main_content .mb_0em,
.root .main_content .no_mb,
.root .main_content .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: #fff;
  line-height: 1.5;
}
.push_text-blue {
  color: #116890;
}

/**************************
.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: 0.3em;
  position: relative;
  top: 0;
  left: 0;
  line-height: 1.6;
}
.main_content ul:not(.cancel) > li:last-child {
  margin-bottom: 0;
}
.main_content ul:not(.cancel) > li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0.2em;
  width: 6px;
  height: 6px;
  background-color: #116890;
  border-radius: 3px;
}
@media screen and (min-width: 900px), print {
  .main_content ul:not(.cancel) > li::before {
    top: 1.4ex;
  }
}
@media screen and (max-width: 899px) {
  .main_content ul:not(.cancel) > li::before {
    top: 1.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: 0.3em;
  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: 0.5em;
  position: absolute;
  background: 0 none;
  top: 0.04em;
  left: 0;
  color: #d64747;
}
.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: 0.3em;
  position: relative;
  top: 0;
  left: 0;
}
.main_content ol:not(.cancel) > li::before {
  counter-increment: num;
  content: counter(num) ".";
  color: #116890;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: -0.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: 0.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;
    transition: 0.2s opacity;
  }
  .main_content .link_list a.link,
  .main_content .link_list button.link {
    padding-left: 16px;
    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: 1.35em;
  }
}

.table,
.table-borderd,
.root .wpnews table,
.root .wppage table {
  width: 100%;
  border-collapse: collapse;
  background-color: #fff;
  border-left: 1px solid #dedede;
  border-right: 1px solid #dedede;
}
.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: 0.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-top: 1px solid #dedede;
  border-bottom: 1px solid #dedede;
  -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: 1.2em 1.08em;
  }
}
@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.96em 1.68em;
  }
}
.table th,
.table-borderd th,
.root .wpnews table th,
.root .wppage table th {
  color: #222;
  font-weight: bold;
  text-align: left;
  vertical-align: middle;
}
.table thead th,
.table-borderd thead th,
.root .wpnews table thead th,
.root .wppage table thead th {
  background-color: #cce3ee;
}
@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: 150px;
  }
}
@media screen and (max-width: 899px) {
  .table tbody th,
  .table-borderd tbody th,
  .root .wpnews table tbody th,
  .root .wppage table tbody th {
    width: 90px;
  }
}
.table tbody tr:nth-child(odd) th,
.table tbody tr:nth-child(odd) td,
.table-borderd tbody tr:nth-child(odd) th,
.table-borderd tbody tr:nth-child(odd) td,
.root .wpnews table tbody tr:nth-child(odd) th,
.root .wpnews table tbody tr:nth-child(odd) td,
.root .wppage table tbody tr:nth-child(odd) th,
.root .wppage table tbody tr:nth-child(odd) td {
  background-color: #e8f4fa;
}
.table tbody tr:nth-child(even) th,
.table tbody tr:nth-child(even) td,
.table-borderd tbody tr:nth-child(even) th,
.table-borderd tbody tr:nth-child(even) td,
.root .wpnews table tbody tr:nth-child(even) th,
.root .wpnews table tbody tr:nth-child(even) td,
.root .wppage table tbody tr:nth-child(even) th,
.root .wppage table tbody tr:nth-child(even) td {
  background-color: #fff;
}
.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;
}
.table-center th,
.table-center td {
  text-align: center;
}
.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;
}
.table-td_center td {
  text-align: center;
}
.table-th_auto tbody th {
  width: auto;
}
.table-td_middle tbody td {
  vertical-align: middle;
}
.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;
  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: 0.04em;
  left: 0;
  color: #d64747;
}
.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: 0.938rem;
    line-height: 2;
  }
}
@media screen and (max-width: 899px) {
  p {
    font-size: 0.875rem;
    line-height: 1.7857142857;
  }
}
/**************************
.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;
  }
}
@media screen and (max-width: 899px) {
  .content_section:not(:last-child) {
    margin-bottom: 60px;
  }
  .content_section-sm:not(:last-child) {
    margin-bottom: 30px;
  }
}
/**************************
.indent
*/
@media screen and (min-width: 900px), print {
  .main_content .indent,
  .main_content .pc_indent {
    padding-left: 20px;
  }
}
@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: #d64747;
  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: #d64747;
  word-break: break-all;
}
.url:hover, .url:focus, .url:active {
  color: #d64747;
  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: 12px 12px;
  width: 12px;
  height: 12px;
  position: relative;
  top: 0;
  left: 0;
  margin-left: 5px;
}

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

## - .btn - 汎用ボタン

*/
/*

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

汎用ボタン。

*/
.btn {
  display: inline-block;
  min-height: 50px;
  min-width: 200px;
  color: #fff;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.3;
  background: url("../img/icon/arrow/btn.png") left center/32px 15px no-repeat #116890;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 15px 40px 14px;
  position: relative;
  top: 0;
  left: 0;
  text-align: center;
}
.btn:hover {
  text-decoration: none;
  opacity: 0.7;
  -webkit-transition: 0.2s opacity;
  transition: 0.2s opacity;
}
.btn.btn-left {
  background: url("../img/icon/arrow/btn-left.png") right center/32px 15px no-repeat #116890;
}
@media screen and (max-width: 899px) {
  .btn {
    font-size: 14px;
    padding: 13px 25px 10px 25px;
    width: 290px;
    margin-left: auto;
    margin-right: auto;
    display: block;
  }
}
.main_content .btn {
  text-decoration: none;
}
.btn.pdf::after {
  margin-top: -7px;
  position: relative;
  top: 3px;
  left: 0;
  background-image: url("../img/icon/pdf_white.png");
}
.btn.out::after, .btn.ext::after, .btn.outlink::after, .btn.icon_out::after, .btn.icon_ext::after {
  margin-top: -7px;
  background-image: url("../img/icon/ext_white.png");
  position: relative;
  top: 0px;
  left: 0;
}
.btn:hover {
  background-color: #116890;
  color: #fff;
}
.btn:hover::before {
  background-position: 0 -10px;
}
.btn-red, .btn-red:hover {
  background-color: #d64747;
}
@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: 0.4;
}
.root btn.btn-disabled:hover,
.root input.btn-disabled:hover {
  opacity: 0.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: 18px 20px;
  width: 18px;
  height: 20px;
  margin-left: 5px;
  position: relative;
  top: 2px;
  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: 0.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: 0.3em;
}
@media screen and (max-width: 899px) {
  .dl dd:not(:last-child) {
    margin-bottom: 0.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: 0.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: 20px;
  padding-right: 20px;
}
.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;
}

@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: 0.3em;
  }
}
.breadcrumbs,
.bread_crumb {
  text-align: left;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1;
}
@media screen and (min-width: 900px), print {
  .breadcrumbs,
  .bread_crumb {
    padding-bottom: 50px;
    float: right;
  }
}
@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: 0.8em;
  }
}
@media screen and (max-width: 899px) {
  .breadcrumbs li:not(:last-child)::after,
  .bread_crumb li:not(:last-child)::after {
    margin-left: 0.6em;
    margin-right: 0.3em;
  }
}
.breadcrumbs li:first-child,
.bread_crumb li:first-child {
  position: relative;
  top: 0;
  left: 0;
}
.breadcrumbs li:first-child a,
.bread_crumb li:first-child a {
  color: #888;
}
.breadcrumbs a,
.bread_crumb a {
  color: #666;
  font-weight: normal;
  position: relative;
  top: 0;
  left: 0;
  text-decoration: underline;
}
.breadcrumbs a:hover,
.bread_crumb a:hover {
  color: #116890;
  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;
  }
}

/*

## - 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;
  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: -80px;
  z-index: 999;
  line-height: 0;
}
.scroll_to_top:hover {
  text-decoration: none;
  opacity: 0.7;
  -webkit-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: 80px;
  height: 80px;
}

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

.sup {
  position: absolute;
  top: -0.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 0.1s ease-out, max-height 0.4s ease-out;
  transition: opacity 0.1s ease-out, max-height 0.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 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.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 0.2s ease-out;
  transition: -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
  transition: transform 0.2s ease-out, -webkit-transform 0.2s ease-out;
}
.li1.active .js-toggle, a:hover .js-toggle, .js-toggle:hover {
  background-color: #ab3934;
}
.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: 0.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: 0.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;
  transition: 0.2s opacity;
}
.banner img {
  display: block;
  max-width: 100%;
}

@media screen and (min-width: 900px), print {
  .inner_float_left {
    float: left;
    margin-right: 20px;
    margin-bottom: 20px;
  }
  .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: 0.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: 0.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 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;
  word-break: break-all;
  word-wrap: break-word;
}
.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: 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: #4c4c4c;
}
@media screen and (min-width: 900px), print {
  figure figcaption {
    padding-top: 0.2em;
  }
  figure figcaption._left {
    text-align: left;
  }
  figure figcaption._center {
    text-align: center;
  }
}
@media screen and (max-width: 899px) {
  figure figcaption {
    padding-top: 0.2em;
    text-align: center;
  }
}

.link {
  line-height: 1.4;
  color: #d64747;
  text-decoration: none;
  display: inline-block;
  padding-bottom: 0.4em;
  border-bottom: 1px solid #d64747;
}
.link:hover {
  color: #962121;
  border-color: #962121;
}

.linkblue {
  line-height: 1.4;
  color: #116890;
  text-decoration: none;
}
.linkblue::before {
  content: "";
  display: inline-block;
  background: url("../img/icon/arrow/link.png") 0 center no-repeat transparent;
  background-size: 34px 12px;
  width: 34px;
  height: 12px;
  margin-right: 11px;
  position: relative;
  top: 0.05em;
  left: 0;
}
.linkblue:hover {
  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: 0.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: 0.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: 0.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 {
  min-height: 70px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 12px;
  padding-bottom: 11px;
}
.news_list li {
  position: relative;
  top: 0;
  left: 0;
  border-bottom: 1px solid #d6d3d1;
}

.newsline {
  line-height: 1.7;
  text-decoration: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 900px), print {
  .newsline {
    padding: 1em 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-height: 80px;
  }
}
@media screen and (max-width: 899px) {
  .newsline {
    display: block;
    padding: 15px 0;
  }
}
.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: 130px;
    -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.938rem;
    height: 1em;
    line-height: 1;
    padding-right: 1em;
  }
}
.newsline__ex {
  color: #222;
}
@media screen and (min-width: 900px), print {
  .newsline__ex {
    font-size: 0.938rem;
  }
}
@media screen and (max-width: 899px) {
  .newsline__ex {
    font-size: 15px;
  }
}
.newsline .new {
  font-size: 12px;
  font-weight: bold;
  margin-left: 0.5em;
  color: #ffc107;
}

@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: #116890;
  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;
}
.news_pager a.current, .news_pager a:hover {
  background-color: #68a879;
  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 0.1s ease-in-out;
  transition: -webkit-transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, -webkit-transform 0.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: 0.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.png") 0 0 no-repeat transparent;
  background-size: 40px 40px;
  width: 40px;
  height: 40px;
  left: 13px;
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}
.news_pager .prev_link-passive {
  pointer-events: none;
  opacity: 0.2;
}
.news_pager .prev_link:hover::before {
  -webkit-transform: scale(1.2) rotate(180deg);
      -ms-transform: scale(1.2) rotate(180deg);
          transform: scale(1.2) rotate(180deg);
}
@media screen and (max-width: 899px) {
  .news_pager {
    margin-left: -14px;
    margin-right: -14px;
  }
  .news_pager__box,
  .news_pager a {
    width: 33px;
    height: 41px;
  }
  .news_pager__box {
    padding-left: 2px;
    padding-right: 2px;
  }
  .news_pager a {
    line-height: 41px;
  }
}

.nakaguroten {
  letter-spacing: -0.45ex;
  margin-left: -0.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: 0.5;
  }
}
@keyframes sub_menu_fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.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 go_title {
  0% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 1;
  }
  90% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes go_title {
  0% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
    opacity: 1;
  }
  90% {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes go_title2 {
  0% {
    -webkit-transform: scale(0.5) translateY(80%);
            transform: scale(0.5) translateY(80%);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
    opacity: 1;
  }
}
@keyframes go_title2 {
  0% {
    -webkit-transform: scale(0.5) translateY(80%);
            transform: scale(0.5) translateY(80%);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
    opacity: 1;
  }
}
/***********************************************************************
 ***********************************************************************
 ***********************************************************************

## Project

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

*/
.header {
  -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  background-color: transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media print {
  .header {
    position: absolute;
    top: 0;
  }
}
@media screen and (min-width: 900px), print {
  .header {
    padding-top: 30px;
  }
}
@media screen and (max-width: 899px) {
  .header {
    padding-bottom: 10px;
    height: 60px;
  }
}
.header .container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 100%;
}
@media screen and (min-width: 900px), print {
  .header .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 899px) {
  .header .container {
    padding-left: 14px;
    padding-right: 14px;
  }
}
.header__1 {
  -ms-flex-preferred-size: 240px;
      flex-basis: 240px;
  -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 {
  .header__2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    width: 100%;
  }
  .header__2__1 {
    margin-right: 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-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding-top: 10px;
  }
  .header__2__2 {
    -ms-flex-preferred-size: 230px;
        flex-basis: 230px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
  }
}
@media screen and (max-width: 899px) {
  .header__logo {
    padding-top: 5px;
  }
}
@media screen and (min-width: 900px), print {
  .header__logo *,
  .header__logo a,
  .header__logo span,
  .header__logo img {
    width: 240px;
    height: 80px;
  }
}
@media screen and (max-width: 899px) {
  .header__logo *,
  .header__logo a,
  .header__logo span,
  .header__logo img {
    width: 150px;
    height: 50px;
  }
}
.header__logo a {
  position: relative;
  top: 0;
  left: 0;
}
.header__logo a:hover {
  text-decoration: none;
  opacity: 0.7;
  -webkit-transition: 0.2s opacity;
  transition: 0.2s opacity;
}
.header__logo a > * {
  -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  position: absolute;
  top: 0;
  left: 0;
}
.header__logo a,
.header__logo img {
  display: block;
  max-width: 100%;
}
.header__logo .default {
  opacity: 1;
}
.header__logo .fixed {
  opacity: 0;
}
.header__menu .gnav__ul,
.header__menu > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.header__menu a {
  -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  color: #fff;
  font-size: 0.875rem;
}
.header__menu-1 {
  margin-bottom: 4px;
}
.header__menu-1 li:not(:last-child) {
  padding-right: 16px;
  margin-right: 16px;
  position: relative;
  top: 0;
  left: 0;
}
.header__menu-1 li:not(:last-child)::after {
  -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  content: "";
  display: block;
  width: 1px;
  height: 20px;
  background-color: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 5px;
  right: 0;
}
.header__menu-1 a:hover {
  text-decoration: underline;
}
.header__menu-2 {
  height: 50px;
}
.header__menu-2 .gnav__li:not(:last-child) a {
  padding-right: 30px;
}
.header__menu-2 .gnav__a {
  display: block;
  height: 50px;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-top: 6px;
}
.header__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-bottom: 10px;
}

.head_btn {
  font-size: 0.875rem;
  color: #fff;
  width: 110px;
  line-height: 1.4;
  -webkit-transition: background-color 0.1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: background-color 0.1s cubic-bezier(0.23, 1, 0.32, 1);
}
@media screen and (min-width: 900px), print {
  .head_btn {
    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;
    height: 80px;
  }
}
@media screen and (max-width: 899px) {
  .head_btn {
    width: 100%;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .head_btn .icon {
    position: relative;
    top: 2px;
    left: 0;
    margin-right: 6px;
  }
}
.head_btn-red {
  background-color: #d64747;
}
.head_btn-red:hover {
  background-color: #bf2b2b;
}
.head_btn-blue {
  background-color: #116890;
}
.head_btn-blue:hover {
  background-color: #0c4762;
}
.head_btn:hover {
  color: #fff;
}

.mm-opened .header {
  background-color: #116890;
}

.header-fixed {
  background-color: #fff;
}
.header-fixed .header__logo .default {
  opacity: 0;
}
.header-fixed .header__logo .fixed {
  opacity: 1;
}
@media screen and (min-width: 900px), print {
  .header-fixed {
    padding-top: 10px;
  }
  .header-fixed .header__menu a {
    color: #222;
  }
  .header-fixed .header__menu-1 {
    margin-bottom: 4px;
  }
  .header-fixed .header__menu-1 li:not(:last-child)::after {
    background-color: rgba(34, 34, 34, 0.5);
  }
}
@media screen and (max-width: 899px) {
  .header-fixed .hamburger .line, .header-fixed .hamburger .line::before, .header-fixed .hamburger .line::after {
    background-color: #222;
  }
}
.header-fixed .search_input > .close_icon::before, .header-fixed .search_input > .close_icon::after {
  background-color: #222;
}

.mm-opened .header {
  background-color: #116890;
}
.mm-opened .header .header__logo .default {
  opacity: 1;
}
.mm-opened .header .header__logo .fixed {
  opacity: 0;
}
@media screen and (max-width: 899px) {
  .mm-opened .header .hamburger .line, .mm-opened .header .hamburger .line::before, .mm-opened .header .hamburger .line::after {
    background-color: #fff;
  }
}

.footer {
  position: relative;
  top: 0;
  left: 0;
}
.footer .image_triangle {
  width: 100%;
  position: absolute;
  top: -1px;
  left: 0;
  z-index: 3;
}
.footer__1 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #f5f2f0;
}
@media screen and (min-width: 900px), print {
  .footer__1 {
    height: 400px;
    padding-top: 105px;
  }
}
@media screen and (min-width: 900px), print {
  .footer__1 .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.footer__2 {
  background-color: #116890;
}
@media screen and (min-width: 900px), print {
  .footer__2 .container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 80px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (max-width: 899px) {
  .footer__2 .container {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 22px;
    padding-right: 22px;
  }
}
.footer__2__1, .footer__2__2 {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 900px), print {
  .footer__info {
    width: 50%;
  }
}
@media screen and (max-width: 899px) {
  .footer__info {
    padding-top: 30px;
    padding-bottom: 40px;
  }
}
.footer__image {
  background-position: center center;
  background-size: cover;
}
@media screen and (min-width: 900px), print {
  .footer__image {
    width: 50vw;
    height: 400px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
}
@media screen and (max-width: 899px) {
  .footer__image {
    width: 100%;
    height: 160px;
  }
}
.footer__image img {
  max-width: 100%;
}
.footer__logo {
  width: 250px;
  height: 80px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}
.footer__logo a,
.footer__logo img {
  display: block;
}
.footer__address {
  text-align: center;
  margin-bottom: 40px;
  font-size: 0.875rem;
}
.footer__banner ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 900px), print {
  .footer__banner ul {
    width: 420px;
  }
}
@media screen and (max-width: 899px) {
  .footer__banner ul li:first-child {
    padding-right: 5px;
  }
  .footer__banner ul li:last-child {
    padding-left: 5px;
  }
}
@media screen and (min-width: 900px), print {
  .footer__banner .banner {
    width: 200px;
  }
}
@media screen and (max-width: 899px) {
  .footer__banner .banner {
    width: 100%;
  }
}
@media screen and (min-width: 900px), print {
  .footer__menu {
    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;
  }
}
@media screen and (max-width: 899px) {
  .footer__menu {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 900px), print {
  .footer__menu li:not(:last-child) {
    position: relative;
    top: 0;
    left: 0;
    padding-right: 2em;
  }
  .footer__menu li:not(:last-child)::before {
    content: "";
    width: 1px;
    height: 20px;
    display: block;
    position: absolute;
    top: 4px;
    right: 1em;
    background-color: rgba(255, 255, 255, 0.5);
  }
}
.footer__menu a {
  color: #fff;
  font-size: 0.875rem;
}
@media screen and (max-width: 899px) {
  .footer__menu a {
    display: inline-block;
    padding: 0.5em 0;
  }
}
.footer__menu a.outlink::after {
  background-image: url("../img/icon/ext_white.png") !important;
}
.footer__menu a:hover {
  text-decoration: underline;
}
.footer__copyright {
  width: 214px;
  height: 14px;
}
@media screen and (min-width: 900px), print {
  .footer__copyright {
    padding-right: 90px;
  }
}
@media screen and (max-width: 899px) {
  .footer__copyright {
    margin-left: auto;
    margin-right: auto;
  }
}
.footer__copyright img {
  display: block;
  max-width: 100%;
  display: block;
}

.category_image {
  background-position: center top;
  background-size: cover;
  background-repeat: no-repeat;
  background-color: transparent;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  top: 0;
  left: 0;
  background-image: url("../img/category/image/info.jpg");
}
@media screen and (min-width: 900px), print {
  .category_image {
    min-height: 400px;
    padding-bottom: 220px;
    margin-bottom: -220px;
  }
}
@media screen and (max-width: 899px) {
  .category_image {
    height: 60px;
  }
}
.category_image-about {
  background-image: url("../img/category/image/about.jpg");
}
.category_image-junior {
  background-image: url("../img/category/image/junior.jpg");
}
.category_image-senior {
  background-image: url("../img/category/image/senior.jpg");
}
.category_image-doctor {
  background-image: url("../img/category/image/doctor.jpg");
}
.category_image-info {
  background-image: url("../img/category/image/info.jpg");
}
.category_image .image_triangle {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 899px) {
  .category_image .image_triangle {
    display: none;
  }
}

.main_content {
  background-color: #f5f2f0;
  position: relative;
  top: 0;
  left: 0;
}
.main_content .category_image {
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
}
.main_content__panel {
  position: relative;
  top: 0;
  left: 0;
  z-index: 1;
  background-color: #fff;
}
.main_content__panel__head::before, .main_content__panel__head::after {
  content: "";
  display: table;
}
.main_content__panel__head::after {
  clear: both;
}
@media screen and (min-width: 900px), print {
  .main_content__panel {
    padding: 70px 80px;
    min-height: 400px;
  }
  .main_content__panel-index {
    padding: 70px 40px;
  }
}
@media screen and (max-width: 899px) {
  .main_content__panel {
    padding: 14px 14px 80px;
  }
}

.sub_content {
  background-color: #f5f2f0;
}
@media screen and (max-width: 899px) {
  .sub_content {
    padding-top: 60px;
  }
}
.sub_content__inner {
  background-color: #fff;
  position: relative;
  top: 0;
  left: 0;
  padding-top: 30px;
}
@media screen and (max-width: 899px) {
  .sub_content__inner .image_triangle {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
}

.sub_cate {
  background-color: #fff;
  position: relative;
  top: 0;
  left: 0;
  margin-bottom: 60px;
}
@media screen and (min-width: 900px), print {
  .sub_cate {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.sub_cate__head {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 900px), print {
  .sub_cate__head {
    padding-top: 80px;
    -ms-flex-preferred-size: 160px;
        flex-basis: 160px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    margin-right: 40px;
    margin-top: -110px;
    background: url("../img/sub_content_title_bg_pc.png") 0 0/160px 400px no-repeat transparent;
    width: 160px;
    height: 400px;
  }
}
.sub_cate__head__a {
  display: block;
}
.sub_cate__head__a img {
  display: block;
}
@media screen and (min-width: 900px), print {
  .sub_cate__head__a img {
    width: 50px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 899px) {
  .sub_cate__head__a img {
    height: 60px;
  }
}
.sub_cate__head a:hover {
  text-decoration: none;
  opacity: 0.7;
  -webkit-transition: 0.2s opacity;
  transition: 0.2s opacity;
}
.sub_cate__body {
  width: 100%;
}
@media screen and (min-width: 900px), print {
  .sub_cate__body {
    padding-top: 20px;
  }
}
@media screen and (max-width: 899px) {
  .sub_cate__body {
    padding-top: 10px;
  }
}
.sub_cate__ul {
  border-top: 1px solid #d6d3d1;
  width: 100%;
}
@media screen and (max-width: 899px) {
  .sub_cate__ul {
    margin-left: -14px;
    margin-right: -14px;
    width: 100vw;
  }
}
@media screen and (min-width: 900px), print {
  .sub_cate__ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.sub_cate__ul .li1 {
  border-bottom: 1px solid #d6d3d1;
}
@media screen and (min-width: 900px), print {
  .sub_cate__ul .li1 {
    width: 50%;
  }
}
.sub_cate__ul .a1 {
  color: #116890;
  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;
  background: url("../img/icon/arrow/link.png") 20px center/34px 12px no-repeat transparent;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: background-position 0.1s cubic-bezier(0.23, 1, 0.32, 1);
  transition: background-position 0.1s cubic-bezier(0.23, 1, 0.32, 1);
}
@media screen and (min-width: 900px), print {
  .sub_cate__ul .a1 {
    height: 80px;
    padding-left: 70px;
  }
}
@media screen and (max-width: 899px) {
  .sub_cate__ul .a1 {
    height: 60px;
    padding-left: 40px;
  }
}
@media screen and (max-width: 899px) {
  .sub_cate__ul .a1 {
    background-size: 24px 8px;
    background-position: 0 center;
  }
  .sub_cate__ul .a1:hover {
    background-position: 0 center;
  }
}
.sub_cate__ul .a1._disable {
  pointer-events: none;
  background-image: url("../img/icon/arrow/link_gray.png");
  color: #cecece;
}
.sub_cate__ul .a1._disable::after {
  content: "";
  display: block;
  background: url("../img/icon/comingsoon.png") 0 0 no-repeat transparent;
  background-size: 80px 15px;
  width: 80px;
  height: 15px;
}
.sub_cate__ul .li1.active .a1,
.sub_cate__ul .a1:hover {
  background-position: 26px center;
  background-color: #f9f9f9;
  color: #116890;
}

.main_content h1 {
  line-height: 1.3;
  font-weight: normal;
  color: #116890;
  margin-bottom: 0.5em;
}
@media screen and (min-width: 900px), print {
  .main_content h1 {
    font-size: 1.875rem;
  }
}
@media screen and (max-width: 899px) {
  .main_content h1 {
    font-size: 1.25rem;
  }
}
.main_content h2 {
  line-height: 1.5;
  font-weight: bold;
  padding-bottom: 20px;
  border-bottom: 1px solid #3b97c2;
  margin-bottom: 30px;
}
@media screen and (min-width: 900px), print {
  .main_content h2 {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 899px) {
  .main_content h2 {
    font-size: 1.125rem;
  }
}
.main_content h3 {
  line-height: 1.5;
  font-weight: bold;
  padding-bottom: 25px;
  margin-bottom: 30px;
  position: relative;
  top: 0;
  left: 0;
}
@media screen and (min-width: 900px), print {
  .main_content h3 {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 899px) {
  .main_content h3 {
    font-size: 1rem;
  }
}
.main_content h3::after {
  content: "";
  display: block;
  height: 1px;
  width: 50px;
  background-color: #3b97c2;
  position: absolute;
  bottom: 0;
  left: 0;
}
.main_content h3._icon_layout {
  padding-left: 35px;
  position: relative;
  top: 0;
  left: 0;
}
.main_content h3 .icon {
  position: absolute;
  top: 4px;
  left: 0;
}
.main_content h4 {
  margin-bottom: 30px;
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (min-width: 900px), print {
  .main_content h4 {
    font-size: 1.125rem;
  }
}
@media screen and (max-width: 899px) {
  .main_content h4 {
    font-size: 1rem;
  }
}
.main_content h5 {
  margin-bottom: 25px;
  line-height: 1.5;
  font-weight: bold;
  font-size: 1rem;
}
.main_content h6 {
  font-size: 0.938rem;
  color: #116890;
  margin-bottom: 25px;
  line-height: 1.5;
  font-weight: bold;
}
.main_content .box {
  padding: 20px;
  background-color: #f3f3f3;
}
@media screen and (min-width: 900px), print {
  .main_content .box-padding {
    padding: 40px;
  }
}
.main_content .box-red {
  background-color: #fbeded;
}
.main_content .box-yellow {
  background-color: #fff1ad;
}
.main_content .box-border {
  background-color: #fff;
  border: 1px solid #e0e0e0;
}
.main_content .p2 {
  line-height: 2;
}

.iindex_area {
  position: relative;
  top: 0;
  left: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.iindex_area-index {
  padding-bottom: 60px;
}
@media screen and (min-width: 900px), print {
  .iindex_area {
    background-image: url("../img/index/about_bg.jpg");
    background-size: 100% auto;
    background-position: center top;
    background-repeat: no-repeat;
    background-color: transparent;
    margin-top: 130px;
    min-height: 500px;
    padding-top: 250px;
  }
  .iindex_area-sub {
    padding-top: 346px;
    margin-top: 0px;
    padding-top: 220px;
  }
}
@media screen and (max-width: 899px) {
  .iindex_area {
    margin-left: -14px;
    margin-right: -14px;
    padding-left: 14px;
    padding-right: 14px;
    padding-top: 60px;
    background: url("../img/index/about_bg_sp.jpg") center top/100% auto no-repeat transparent;
  }
}
@media screen and (min-width: 900px), print {
  .iindex_area__title {
    background: url("../img/sub_content_title_bg_pc.png") 0 0/160px 400px no-repeat transparent;
    position: absolute;
    top: -100px;
    left: 50%;
    margin-left: -80px;
    padding-top: 50px;
    width: 160px;
    padding-bottom: 40px;
  }
}
.iindex_area__title img {
  margin-left: auto;
  margin-right: auto;
  display: block;
}
@media screen and (min-width: 900px), print {
  .iindex_area__title img {
    width: 50px;
  }
}
@media screen and (max-width: 899px) {
  .iindex_area__title img {
    height: 60px;
  }
}
.iindex_area__title-index {
  padding-top: 0;
  background-image: none;
}
@media screen and (min-width: 900px), print {
  .iindex_area__title-index img {
    width: 160px;
  }
}
@media screen and (max-width: 899px) {
  .iindex_area__title-index {
    width: 160px;
    height: 50px;
    margin-bottom: 45px;
  }
}
.iindex_area__body-index {
  margin-bottom: 60px;
}
@media screen and (min-width: 900px), print {
  .iindex_area__banner_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (min-width: 900px), print {
  .iindex_area__banner_list li {
    padding: 0 20px;
  }
}
@media screen and (max-width: 899px) {
  .iindex_area__banner_list li:not(:last-child) {
    margin-bottom: 14px;
  }
}
.iindex_area__banner_list a {
  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;
  height: 70px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #ccc;
}
@media screen and (min-width: 900px), print {
  .iindex_area__banner_list a {
    width: 260px;
  }
}
@media screen and (max-width: 899px) {
  .iindex_area__banner_list a {
    width: 100%;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
  }
}
.iindex_area__banner_list img {
  display: block;
  height: 30px;
}

@media screen and (min-width: 900px), print {
  .icard_list2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%;
    width: 940px;
    margin-left: auto;
    margin-right: auto;
  }
  .icard_list2 > * {
    width: 300px;
    margin-right: 20px;
  }
  .icard_list2 > *:nth-child(3n) {
    margin-right: 0;
  }
  .icard_list2 li {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 899px) {
  .icard_list2 li:not(:last-child) {
    margin-bottom: 14px;
  }
}

.icard2 {
  max-width: 300px;
  width: 100%;
  display: block;
  background-color: #116890;
  text-decoration: none !important;
}
.icard2:hover {
  text-decoration: none;
  opacity: 0.7;
  -webkit-transition: 0.2s opacity;
  transition: 0.2s opacity;
}
@media screen and (max-width: 899px) {
  .icard2 {
    margin-left: auto;
    margin-right: auto;
  }
}
.icard2:hover .icard2__image img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}
.icard2__image {
  overflow: hidden;
  height: 180px;
}
.icard2__image img {
  display: block;
  width: 300px;
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
  transition: transform 0.7s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}
.icard2__link {
  height: 70px;
  background: url("../img/icon/arrow/btn.png") left center/32px 15px no-repeat #116890;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 42px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  text-decoration: none;
}
.icard2-border {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.icard2-border .icard2__image {
  height: 179px;
  border: 1px solid #116890;
  border-bottom: 0 none;
}
.icard2-border .icard2__image img {
  width: 298px;
}

.large_btn {
  background-color: #d64747;
  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;
  text-decoration: none !important;
  color: #fff;
  -webkit-transition: background-color 0.2s cubic-bezier(0.23, 1, 0.32, 1);
  transition: background-color 0.2s cubic-bezier(0.23, 1, 0.32, 1);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 900px), print {
  .large_btn {
    font-size: 1.375rem;
    width: 600px;
    height: 130px;
  }
}
@media screen and (max-width: 899px) {
  .large_btn {
    font-size: 0.938rem;
    width: 100%;
    height: 75px;
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }
}
.large_btn:hover {
  background-color: #c82c2c;
  color: #fff;
  text-decoration: none;
}

.icon_mail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.icon_mail::before {
  content: "";
  display: inline-block;
  background: url("../img/icon/mail2.png") 0 center no-repeat transparent;
  background-size: 40px 30px;
  width: 40px;
  height: 30px;
  position: relative;
  top: -1px;
  left: 0;
}
@media screen and (min-width: 900px), print {
  .icon_mail::before {
    margin-right: 15px;
  }
}
@media screen and (max-width: 899px) {
  .icon_mail::before {
    width: 20px;
    height: 15px;
    background-size: 20px 15px;
    margin-right: 10px;
  }
}

.qa_list li {
  border-bottom: 1px dashed #50baea;
}
.qa_list li:first-child .qa_area {
  padding-top: 0;
}

.qa_area {
  padding-bottom: 20px;
  padding-top: 20px;
}
.qa_area .q_area {
  position: relative;
  top: 0;
  left: 0;
  padding-left: 44px;
  min-height: 28px;
  margin-bottom: 12px;
  font-weight: bold;
}
.qa_area .a_area {
  position: relative;
  top: 0;
  left: 0;
  padding-left: 44px;
  min-height: 28px;
}
.qa_area .icon {
  width: 34px;
  height: 28px;
  position: absolute;
  top: -2px;
  left: 0;
}
@media screen and (max-width: 899px) {
  .qa_area {
    font-size: 0.875rem;
    line-height: 1.7857142857;
  }
}

.mwform-checkbox-field.horizontal-item label {
  display: inline-block;
}

.mw_wp_form .horizontal-item:not(:last-child) {
  margin-right: 10px;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}

/*説明会詳細*/
@media screen and (min-width: 900px), print {
  .evevt_page_link {
    background-color: #fafafa;
    width: 100%;
    margin: 0;
  }
}
@media screen and (min-width: 900px), print {
  .evevt_page_link ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 20px 0;
  }
}
.evevt_page_link ul li {
  position: relative;
}
@media screen and (min-width: 900px), print {
  .evevt_page_link ul li {
    padding: 0 47px 0 73px;
  }
}
.evevt_page_link ul li a {
  color: #116890;
  text-decoration: none;
}
@media screen and (max-width: 899px) {
  .evevt_page_link ul li a {
    padding-left: 2em;
  }
}
.evevt_page_link ul li a::after {
  content: "";
  width: 8px;
  height: 5px;
  position: absolute;
  background-image: url("../img/arrow_down.png");
  background-size: cover;
}
@media screen and (min-width: 900px), print {
  .evevt_page_link ul li a::after {
    top: 12px;
    left: 60px;
  }
}
@media screen and (max-width: 899px) {
  .evevt_page_link ul li a::after {
    top: 23px;
    left: 10px;
  }
}

.event_table {
  border: none !important;
}
.event_table tbody tr {
  background-color: transparent;
}
.event_table tbody tr th {
  border: none !important;
  background-color: transparent !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  min-width: 100px !important;
  vertical-align: top !important;
}
@media screen and (max-width: 899px) {
  .event_table tbody tr th {
    display: block;
  }
}
.event_table tbody tr th span {
  width: 100%;
  background-color: #116890;
  color: #FFFFFF;
  display: block;
  text-align: center;
  padding: 3px 0;
}
.event_table tbody tr td {
  border: none !important;
  background-color: transparent !important;
}
@media screen and (max-width: 899px) {
  .event_table tbody tr td {
    display: block;
    padding: 0 0 2em 0 !important;
  }
}

@media screen and (min-width: 900px), print {
  .event_staffs {
    width: 60% !important;
  }
}

@media screen and (min-width: 900px), print {
  .event_img {
    width: 40% !important;
    text-align: right;
  }
}
@media screen and (max-width: 899px) {
  .event_img img {
    width: 100%;
    max-width: 344px;
  }
}

@media screen and (min-width: 900px), print {
  .anchor_id {
    padding-top: 140px;
    margin-top: -100px;
  }
}
@media screen and (max-width: 899px) {
  .anchor_id {
    padding-top: 20px;
    margin-top: -10px;
  }
}

.news_pager_area.news_pager_area-sm {
  padding-top: 0;
}

.main_content__panel__head__lead {
  clear: both;
  padding: 1em 0 0;
}

.main_content__panel__head {
  margin-bottom: 50px;
}

.bread_crumb-small {
  padding-bottom: 0;
}

@media screen and (min-width: 900px), print {
  .main_content__panel-small {
    padding: 70px 50px;
  }
}

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

@media screen and (min-width: 900px), print {
  .main_content__column2__sub {
    width: 200px;
    min-width: 200px;
    -ms-flex-preferred-size: 200px;
        flex-basis: 200px;
    padding-right: 25px;
    margin-right: 25px;
  }
}

@media screen and (min-width: 900px), print {
  .main_content__column2__main {
    width: calc(100% - 250px);
  }
}
@media screen and (max-width: 899px) {
  .main_content__column2__main {
    padding: 0 0 50px;
  }
}

.widget_box {
  -webkit-box-shadow: 0 0 2px #ccc;
          box-shadow: 0 0 2px #ccc;
  font-size: 0.875rem;
}
@media screen and (min-width: 900px), print {
  .widget_box:not(:last-child) {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 899px) {
  .widget_box:not(:last-child) {
    margin-bottom: 20px;
  }
}

.widget_box__head {
  padding: 5px 10px;
  background-color: #116890;
}

.widget_box__title {
  font-weight: bold;
  font-size: 0.938rem;
  color: #fff;
  text-align: center;
}

@media screen and (min-width: 900px), print {
  .widget_box__body {
    padding: 10px 20px 20px;
  }
}
@media screen and (max-width: 899px) {
  .widget_box__body {
    padding: 10px 10px 20px;
  }
}

@media screen and (min-width: 900px), print {
  .widget_box__link_list > li:not(:last-child) {
    margin-bottom: 2px;
  }
}
.widget_box__link_list > li a {
  display: inline-block;
  padding: 3px 0;
}

.widget_box__link_area {
  text-align: right;
  margin-top: 10px;
}

.blog {
  -webkit-box-shadow: 0 0 2px #ccc;
          box-shadow: 0 0 2px #ccc;
}
@media screen and (min-width: 900px), print {
  .blog {
    padding: 30px;
  }
}
@media screen and (max-width: 899px) {
  .blog {
    padding: 10px;
  }
}

.blog__title {
  margin-bottom: 10px !important;
}
.blog__title .new {
  color: #d64747;
  display: inline-block;
  margin-left: 0.5em;
  font-weight: normal;
}

.blog__category {
  text-align: right;
}
.blog__category .label {
  display: inline-block;
  margin: 3px;
}

.post-navigation::after {
  content: "";
  display: block;
  clear: both;
}
.post-navigation .nav-links .nav-next a::after {
  content: "";
  display: inline-block;
  background: url("/common/img/icon/arrow/link.png") 0 center no-repeat transparent;
  background-size: 34px 12px;
  width: 34px;
  height: 12px;
  margin-left: 11px;
  position: relative;
  top: 0.05em;
  left: auto;
  right: 0;
}
.post-navigation .nav-links .nav-previous a::before {
  content: "";
  display: inline-block;
  background: url("/common/img/icon/arrow/link.png") 0 center no-repeat transparent;
  background-size: 34px 12px;
  width: 34px;
  height: 12px;
  margin-right: 11px;
  position: relative;
  top: 0.05em;
  left: 0;
  -webkit-transform: scale(-1, 1);
      -ms-transform: scale(-1, 1);
          transform: scale(-1, 1);
}

.pagination .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pagination .nav-links .page-numbers {
  display: block;
  line-height: 40px;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: bold;
  font-size: 16px;
  height: 40px;
}
@media screen and (min-width: 900px), print {
  .pagination .nav-links .page-numbers {
    margin-left: 4px;
    margin-right: 4px;
    width: 40px;
  }
}
@media screen and (max-width: 899px) {
  .pagination .nav-links .page-numbers {
    margin-left: 2px;
    margin-right: 2px;
    width: 33px;
  }
}
.pagination .nav-links .page-numbers.dots {
  color: #116890;
}
.pagination .nav-links .page-numbers:not(.prev):not(.next):not(.dots) {
  background-color: #116890;
  color: #fff;
}
.pagination .nav-links .page-numbers:not(.prev):not(.next):not(.dots).current {
  background-color: #68a879;
}
.pagination .nav-links .page-numbers.prev, .pagination .nav-links .page-numbers.next {
  text-indent: -10000em;
  overflow: hidden;
}
.pagination .nav-links .page-numbers.prev::before, .pagination .nav-links .page-numbers.next::before {
  content: "";
  display: block;
  background: url("/common/img/icon/arrow/pager.png") 0 0 no-repeat transparent;
  background-size: 40px 40px;
  width: 40px;
  height: 40px;
  left: 13px;
}
.pagination .nav-links .page-numbers.prev {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
}

/* ビデオの切り替え */
.video_img {
  display: none;
}

@media screen and (max-width: 899px) {
  .video {
    position: relative;
  }
  .video_img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    max-width: 640px;
    margin: 0 auto;
    pointer-events: none;
    z-index: 1;
  }
  .video_img > img {
    width: 100%;
  }
}
.header__menu > ul.hidden > li:not(._search),
.header__menu > ul.hidden > li > a, .header__menu > ul.hidden > li > span {
  opacity: 0;
}
.header__menu > ul > li._search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.header__menu > ul > li._search > span {
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.875rem;
}
.header__menu > ul > li._search > a:before {
  background: url("../img/icon/search_white.webp") no-repeat !important;
  background-size: contain !important;
}
@media (min-width: 900px) {
  .header__menu > ul > li._search > span:before {
    display: block;
    content: "";
    background: url("../img/icon/search_white.png");
    width: 18px;
    height: 18px;
    background-size: contain;
    margin-top: 1px;
    -webkit-transform: translateY(1px);
        -ms-transform: translateY(1px);
            transform: translateY(1px);
    margin-right: 0.25em;
  }
  .header__menu > ul > li._search > span:hover {
    position: relative;
    cursor: pointer;
  }
  .header__menu > ul > li._search > span:hover:after {
    content: "";
    width: calc(100% - 22px);
    height: 1px;
    position: absolute;
    bottom: 3px;
    right: 0;
    background-color: #fff;
  }
  .header__menu > ul > li._search.hidden > span {
    opacity: 0;
  }
  .header__menu > ul > li._search.hidden > span::before {
    display: none;
  }
}

.header-fixed .header__menu > ul > li._search #js-gnav_search_btn {
  color: #222;
}
@media (min-width: 900px) {
  .header-fixed .header__menu > ul > li._search > span:before {
    background: url("../img/icon/search.png");
    width: 18px;
    height: 18px;
    background-size: contain;
    margin-top: 1px;
    -webkit-transform: translateY(1px);
        -ms-transform: translateY(1px);
            transform: translateY(1px);
    margin-right: 0.25em;
  }
}

.search_input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: 4px;
  right: 0;
  bottom: auto;
  left: auto;
  margin: auto;
  overflow: hidden;
  pointer-events: none;
  background-color: transparent !important;
}
.search_input form {
  position: relative;
}
.search_input .input {
  height: 30px;
  max-height: 30px;
  background-color: #ffffff !important;
  -webkit-box-shadow: inset 2.121px 2.121px 7px 0px rgba(64, 76, 91, 0.2);
          box-shadow: inset 2.121px 2.121px 7px 0px rgba(64, 76, 91, 0.2);
  padding-left: 10px;
  padding-right: 35px;
  border: none;
  outline: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateX(420px);
      -ms-transform: translateX(420px);
          transform: translateX(420px);
  position: relative;
  z-index: 1;
  opacity: 0.55;
}
.search_input .input::-webkit-input-placeholder {
  color: #426077;
  font-size: 14px;
}
.search_input .input::-moz-placeholder {
  color: #426077;
  font-size: 14px;
}
.search_input .input:-ms-input-placeholder {
  color: #426077;
  font-size: 14px;
}
.search_input .input::-ms-input-placeholder {
  color: #426077;
  font-size: 14px;
}
.search_input .input::placeholder {
  color: #426077;
  font-size: 14px;
}
.search_input .submitBtn {
  display: block;
  width: 18px;
  height: 18px;
  background: url("../img/icon/search.png") no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  right: 10px;
  bottom: 0;
  left: auto;
  margin: auto;
  border: none;
  outline: none;
  -webkit-transform: translateX(420px);
      -ms-transform: translateX(420px);
          transform: translateX(420px);
  z-index: 1;
}
.search_input > .close_icon {
  display: block;
  width: 18px;
  height: 18px;
  position: relative;
  margin-left: 0.75em;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  cursor: pointer;
  display: none;
  z-index: 10;
}
.search_input > .close_icon::before, .search_input > .close_icon::after {
  display: block;
  content: "";
  width: 20px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 1px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.search_input > .close_icon::before {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
.search_input > .close_icon::after {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.search_input.show {
  pointer-events: all;
}
.search_input.show::before {
  display: block;
  content: "";
  width: 30px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
}
.search_input.show .input {
  width: 420px;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  pointer-events: all;
  -webkit-transition: all 0.3s cubic-bezier(0.02, 0.98, 0.66, 0.88);
  transition: all 0.3s cubic-bezier(0.02, 0.98, 0.66, 0.88);
}
.search_input.show .submitBtn {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: all 0.3s cubic-bezier(0.02, 0.98, 0.66, 0.88);
  transition: all 0.3s cubic-bezier(0.02, 0.98, 0.66, 0.88);
}
.search_input.show .close_icon {
  display: block;
}

.drawer__search .search_input {
  position: static;
  pointer-events: all;
}
.drawer__search .search_input form {
  width: 100%;
}
.drawer__search .search_input .input {
  width: 100%;
  height: 40px;
  max-height: 40px;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  color: #000;
}
.drawer__search .search_input .submitBtn {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}
.drawer__search .search_input > .close_icon {
  display: none;
}
@media screen and (max-width: 899px) {
  .drawer__search {
    padding-left: 62px;
  }
  .drawer__search form {
    padding: 0 20px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
  }
  .drawer__search form input[type=text] {
    width: 100%;
    height: 40px;
    max-height: 40px;
    background-color: #223b5c !important;
    padding-left: 20px;
    padding-right: 35px;
    color: #fff !important;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border: none;
  }
  .drawer__search form input[type=text]:focus {
    border: none;
    outline: none;
    background-color: #223b5c !important;
  }
  .drawer__search form input[type=text].filled {
    border: none;
    background-color: #223b5c !important;
  }
  .drawer__search form .submitBtn {
    display: block;
    width: 18px;
    height: 18px;
    background: url("../img/icon/sp_search.png") no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    right: 30px;
    bottom: 0;
    left: auto;
    border: none;
    margin: auto;
    outline: none;
  }
}

.gsc-input-box {
  border: none !important;
  padding: 0 !important;
  height: 100%;
}

.gsc-input {
  padding: 6px !important;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.gsib_a {
  border-right: none !important;
}

.gsc-search-button {
  border-radius: 0 !important;
}