@charset 'UTF-8';

/* -----------------------------------------------------------------
  clearfix
----------------------------------------------------------------- */

@import 'https://fonts.googleapis.com/css?family=Sawarabi+Mincho';

@import 'https://fonts.googleapis.com/css?family=Noto+Serif+JP';

.clearfix:after
{
    display: block;
    clear: both;

    content: '';
}

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video
{
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
    outline: 0;
    background: transparent;
}

body
{
    line-height: 1.2;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section
{
    display: block;
}

nav ul
{
    list-style: none;
}

blockquote,
q
{
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after
{
    content: '';
    content: none;
}

a
{
    font-size: 100%;

    margin: 0;
    padding: 0;

    vertical-align: baseline;
    text-decoration: none;

    background: transparent;
}

/* change colours to suit your needs */

ins
{
    text-decoration: none;

    color: #000;
    background-color: #ff9;
}

/* change colours to suit your needs */

mark
{
    font-weight: bold;
    font-style: italic;

    color: #000;
    background-color: #ff9;
}

del
{
    text-decoration: line-through;
}

abbr[title],
dfn[title]
{
    cursor: help;

    border-bottom: 1px dotted;
}

table
{
    border-spacing: 0;
    border-collapse: collapse;
}

/* change border colour to suit your needs */

hr
{
    display: block;

    height: 1px;
    margin: 1em 0;
    padding: 0;

    border: 0;
    border-top: 1px solid #ccc;
}

input,
select
{
    vertical-align: middle;
}

/*clearfix*/

.clearfix
{
    min-height: 1px;
}

.clearfix:after
{
    display: block;
    visibility: hidden;
    clear: both;

    height: 0;

    content: '.';
}

* html .clearfix
{
    height: 1px;
    /*¥*/
    /*/
	height: auto;
	overflow: hidden;
	/**/
}

.both
{
    clear: both;
}

.inline_block
{
    display: inline-block;

    *display: inline;
    *zoom: 1;
}

/* -----------------------------------------------------------------
  element
  （基本的なHTMLタグに施すスタイル）
----------------------------------------------------------------- */

html
{
    font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', YuGothic, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, Arial, 'メイリオ', Meiryo, sans-serif;
    font-size: 62.5%;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
    outline: 0;
    background: transparent;
}

body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video
{
    font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', YuGothic, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, Arial, 'メイリオ', Meiryo, sans-serif;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin: 0;
    padding: 0;

    vertical-align: baseline;

    border: 0;
    outline: 0;
    background: transparent;
}

body
{
    font-size: 16px;
    font-size: 1.6rem;

    color: #666;
}

body a
{
    -webkit-transition: .3s all;
         -o-transition: .3s all;
            transition: .3s all;
    text-decoration: underline;

    color: #666;
}

body a:hover
{
    color: #ff9796;
}

body p
{
    color: #666;
}

body div
{
    color: #666;
}

body textarea
{
    font-size: 16px;
    font-weight: bold;
}

blockquote
{
    margin-bottom: 20px;
    padding: 25px 30px;

    border: 1px solid #ddd;
    border-radius: 2px;
    background: #f8f8f8;
}

h1
{
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: normal;
}

h2
{
    font-size: 20px;
    font-size: 2rem;
    font-weight: normal;
}

/* iOSでのデフォルトスタイルをリセット */

input[type='submit'],
input[type='button']
{
    -webkit-box-sizing: content-box;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;

    border: none;
    border-radius: 0;

    -webkit-appearance: button;
       -moz-appearance: button;
            appearance: button;
}

input[type='submit']::-webkit-search-decoration,
input[type='button']::-webkit-search-decoration
{
    display: none;
}

input[type='submit']:focus,
input[type='button']:focus
{
    outline-offset: -2px;
}


/********** theme checkプラグインで必須と言われたもの **********/
.wp-caption{}
.wp-caption-text{}
.sticky{}
.gallery-caption{}
.bypostauthor{}
.alignright{}
.alignleft{}
.aligncenter{}

/* -----------------------------------------------------------------
  header
----------------------------------------------------------------- */

/* ------------------------------------
  全デバイス共通
------------------------------------ */

.header
{
    position: relative;
}

.toggle
{
    font-size: 30px;
    font-size: 3rem;
    line-height: 60px;

    position: absolute;
    z-index: 10000;

    width: 60px;
    height: 60px;

    -webkit-transition: all 1s;
         -o-transition: all 1s;
            transition: all 1s;
    text-align: center;

    color: #fff;
    background: url('../images/common/bg-c-brown.png') center;
}

.emergency
{
    position: absolute;
    z-index: 9990;
    bottom: 50px;
    left: 300px;
}

.emergency .emergency--dl
{
    display: block;
    overflow: hidden;

    border: 1px solid #ff3161;
    border-radius: 5px;
    background-color: #fff;
}

.emergency .emergency--dl dt,
.emergency .emergency--dl dd
{
    line-height: 50px;

    display: block;

    height: 50px;
}

.emergency .emergency--dl dt
{
    float: left;

    width: 150px;

    text-align: center;

    color: #fff;
    background-color: #ff3161;
}

.emergency .emergency--dl dd
{
    position: relative;

    float: left;

    width: 450px;
    padding: 0 40px 0 20px;
}

.emergency .emergency--dl dd:nth-child(n + 3)
{
    display: none;
}

.emergency .emergency--dl dd::after
{
    font-size: 20px;
    font-size: 2rem;
    line-height: 1;

    position: absolute;
    top: 15px;
    right: 10px;

    display: inline-block;

    content: '>';

    color: #ff3161;
}

/* ------------------------------------
  mobile・tablet
------------------------------------ */

/* ------------------------------------
  PC
------------------------------------ */

.pc__header .toggle
{
    top: calc(100vh - 70px);
    left: 95px;

    border-radius: 50%;
}

.pc__header .toggle.add
{
    top: 120px;
    bottom: auto;
}

.pc__header .header__body
{
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;

    overflow: hidden;
    overflow-y: auto;

    width: 260px;
    height: 100vh;
    padding: 30px 20px;

    -webkit-transition: all 1s;
         -o-transition: all 1s;
            transition: all 1s;

    background: url('../images/common/bg-c-b.png');
}

.pc__header .header__body .header__common
{
    padding-bottom: 80px;
}

.pc__header .header__body.add
{
    overflow-y: hidden;

    width: 250px;
    height: 150px;
    padding: 15px 30px;

    border-radius: 0 0 150px 150px;
    -webkit-box-shadow: 2px 2px 4px rgba(0, 0, 0, .1);
            box-shadow: 2px 2px 4px rgba(0, 0, 0, .1);
}

.pc__header .title
{
    margin-bottom: 30px;

    text-align: center;
}

.pc__header .mini
{
    height: 0;

    opacity: 0;
}

.pc__header .mini .title
{
    margin-bottom: 0;
}

.pc__header .mini .site-title
{
    width: 200px;
    margin: 0 auto;
}

.pc__header .mini .site-title img
{
    width: 200px;
}

.pc__header .header__body.add .wrap
{
    opacity: 0;
    background: url('../images/common/bg-c-b.png');
}

.pc__header .header__body.add .inner
{
    display: none;

    background: url('../images/common/bg-c-b.png');
}

.pc__header .header__body.add .mini
{
    height: auto;

    opacity: 1;
    background: url('../images/common/bg-c-b.png');
}

/* -----------------------------------------------------------------
  main
----------------------------------------------------------------- */

.page__inner
{
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
}

.page__inner:after
{
    display: block;
    clear: both;

    content: '';
}

/* -----------------------------------------------------------------
  footer
----------------------------------------------------------------- */

.footer
{
    line-height: 1.5;
}

.footer #page-top
{
    font-size: 77%;

    position: fixed;
    z-index: 100000;
    right: 20px;
    bottom: 20px;
}

.footer #page-top a
{
    line-height: 70px;

    display: block;

    width: 70px;
    height: 70px;

    text-align: center;
    text-decoration: none;

    color: #fff;
    border-radius: 35px;
    background: #ff9796;
    -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, .1);
            box-shadow: 1px 1px 2px rgba(0, 0, 0, .1);
}

.footer .head
{
    padding: 30px 0;

    background: url('../images/common/bg-c-p.png');
}

.footer .head ul,
.footer .head li
{
    margin: 0;
    padding: 0;
}

.footer .head ul
{
    overflow: hidden;

    max-width: 1040px;
    margin: 0 auto;

    text-align: center;
}

.footer .head li
{
    list-style: none;
}

.footer .footer__inner .body
{
    padding: 50px 0 80px;
}

.footer .footer__inner .body .common .info
{
    margin-bottom: 20px;
}

.footer .footer__inner .body .common .info .dial span
{
    font-size: 35px;
    font-size: 3.5rem;

    display: inline-block;

    margin-left: 10px;
}

.footer .footer__inner .body .common .link-access
{
    display: inline-block;

    padding-right: 15px;

    text-decoration: none;

    background: url('../images/common/arrow01.png') no-repeat right center;
    background-size: 14px auto;
}

.footer .footer__inner .body .common .link-access:hover
{
    opacity: .7;
}

.footer .footer__inner .body .common table th,
.footer .footer__inner .body .common table td
{
    padding: 10px;

    vertical-align: middle;
}

.footer .footer__inner .body .common table th span,
.footer .footer__inner .body .common table td span
{
    font-size: 13px;
    font-size: 1.3rem;
}

.footer .footer__inner .body .common table th
{
    color: #775043;
}

.footer .footer__inner .body .common table td
{
    text-align: left;
}

.footer .footer__inner .body .common table tr:nth-child(odd) th
{
    background: url('../images/common/bg01.png') no-repeat center center;
    background-size: 100% 100%;
}

.footer .footer__inner .body .common table tr:nth-child(even) th
{
    background: url('../images/common/bg02.png') no-repeat center center;
    background-size: 100% 100%;
}

.footer .footer__inner .body img
{
    max-width: 100%;
}

.footer .footer__inner .body .nav
{
    font-size: 14px;
    font-size: 1.4rem;
}

.footer .footer__inner .body .nav li:nth-child(1n)
{
    list-style-image: url('../images/common/list01.png');
}

.footer .footer__inner .body .nav li:nth-child(2n)
{
    list-style-image: url('../images/common/list02.png');
}

.footer .footer__inner .body .nav li ul.sub-menu li
{
    margin-left: 20px;

    list-style-image: url('../images/common/list03.png');
}

.footer .footer__inner .body .nav a
{
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 30px;

    display: block;

    text-decoration: none;
}

.footer .footer__inner .body .banner li
{
    margin-bottom: 10px;

    list-style: none;
}

.footer .footer__inner .body .banner li:nth-child(4)
{
    margin-bottom: 30px;
}

.footer .foot
{
    position: relative;

    padding-top: 20px;

    text-align: center;

    background: #fdfcf0;
}

.footer .foot::before
{
    position: absolute;
    top: -15px;
    left: 0;

    width: 100%;
    height: 30px;

    content: '';

    background: url('../images/footer/foot-ornament.png') repeat-x;
}

.footer .foot ul
{
    margin-bottom: 30px;
}

.footer .foot li
{
    list-style: none;
}

.footer .foot li a
{
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 30px;

    display: block;

    text-decoration: none;
}

.footer .copyright
{
    font-size: 12px;
    font-size: 1.2rem;
}

.footer .sns__links
{
    padding: 35px 28%;
    overflow: hidden;
    background-color: #fdfcf0;
}

.footer .sns__links li
{
    float: left;
    width: 25%;
    list-style: none;
    text-align: center;
}

.footer .sns__links li img
{
    vertical-align: top;
}

.footer .sns__links li img:hover
{
    opacity: .7;
}

@media screen and (max-width: 768px)
{
  .footer .sns__links
  {
      padding: 25px 5%;
  }
}

/* -----------------------------------------------------------------
  nav  mobile__header
----------------------------------------------------------------- */

.mobile__header .toggle.add
{
    position: fixed;
}

.mobile__header .toggle.add::before
{
    font-family: 'FontAwesome';

    position: absolute;
    top: 0;
    left: 0;

    width: 60px;
    height: 60px;

    content: '\f00d';

    color: #fff;
    border-radius: 5px;
    background: url('../images/common/bg-c-brown.png') center;
}

.mobile__header .mobile__nav
{
    position: fixed;
    z-index: 9998;
    top: 90px;
    left: 0;

    display: none;
    overflow-y: scroll;

    width: 100%;
    max-height: 70%;
    /* IE8以下とAndroid4.3以下用フォールバック */
    max-height: calc(100% - 150px);

    border-bottom: #faa 2px solid;
    background: url('../images/common/bg-c-b.png') center;
}

.mobile__header .mobile__nav ul
{
    overflow: hidden;

    margin: 0;
    padding: 0;
}

.mobile__header .mobile__nav ul li
{
    line-height: 70px;

    position: relative;

    float: left;

    width: 50%;

    list-style: none;

    border-bottom: #e6e3d8 1px solid;
}

.mobile__header .mobile__nav ul li a
{
    display: block;

    padding-left: 20px;

    text-decoration: none;
}

.mobile__header .mobile__nav ul li.bts-br-bb
{
    border-top: #faa 2px solid;
    border-right: #faa 1px dotted;
    border-bottom: #faa 1px dotted;
}

.mobile__header .mobile__nav ul li.bts-bb
{
    border-top: #faa 2px solid;
    border-bottom: #faa 1px dotted;
}

.mobile__header .mobile__nav ul li.bb
{
    border-bottom: #faa 1px dotted;
}

.mobile__header .mobile__nav ul li.br-bbs
{
    border-right: #faa 1px dotted;
    border-bottom: #faa 2px solid;
}

.mobile__header .mobile__nav ul li.bbs
{
    border-bottom: #faa 2px solid;
}

.mobile__header .mobile__nav ul li:nth-child(n+6):nth-child(-n+16)
{
    background: url('../images/common/bg-c-p.png') center;
}

.mobile__header .mobile__nav ul ul.sub-menu
{
    display: none;

    border-top: #e6e3d8 1px solid;
}

.mobile__header .mobile__nav ul ul.sub-menu li
{
    line-height: 60px;

    width: 100%;

    background: url('../images/common/bg-c-be.png') center;
}

.mobile__header .mobile__nav ul ul.sub-menu li a
{
    padding-left: 50px;
}

.mobile__header .mobile__nav ul ul.sub-menu li:nth-child(n+6)
{
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 60px;

    padding: 0;

    text-align: left;
}

.mobile__header .mobile__nav ul ul.sub-menu li:nth-child(n+6) a
{
    padding-left: 50px;
}

.mobile__header .mobile__nav ul ul.sub-menu.add
{
    display: block;
}

.mobile__header .mobile__nav li.menuBtn
{
    position: relative;
}

.mobile__header .mobile__nav li.menuBtn > a::before
{
    font-family: 'FontAwesome';

    position: absolute;
    top: 0;
    right: 20px;

    content: '\f067';
    -webkit-transition: all 1s;
         -o-transition: all 1s;
            transition: all 1s;
}

.mobile__header .mobile__nav li.menuBtn > a.add::before
{
    font-family: 'FontAwesome';

    position: absolute;
    top: 0;
    right: 20px;

    content: '\f068';
}

.mobile__header .mobile__nav li:nth-child(-n+5)
{
    width: 100%;

    border-bottom: #e6e3d8 1px solid;
}

.mobile__header .mobile__nav li:nth-child(n+6)
{
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 70px;

    text-align: center;
}

.mobile__header .mobile__nav li:nth-child(n+6) a
{
    padding: 0;
}

.mobile__header .mobile__nav li:nth-last-child(1)
{
    width: 100%;

    border-bottom: #e6e3d8 1px solid;

		font-size: 1.7rem;

		background: none;

}

.mobile__header .mobile__nav li:nth-child(10)
{
    line-height: 1.5;

    height: 70px;
}

.mobile__header .mobile__nav li:nth-child(10) a
{
    padding-top: 15px;
}

.mobile__header .mobile__nav li:nth-child(10) .txt
{
    display: block;
}

.mobile__header .mobile__nav li.br-bb
{
    border-right: #faa 1px dotted;
    border-bottom: #faa 1px dotted;
}

.mobile__header .mobile__nav .common
{
    padding: 5px 20px;

    border-top: 1px solid #ffdf3a;
    border-bottom: 1px solid #ffdf3a;
    background: #fffeee;
}

.mobile__header .mobile__nav .common .schedule,
.mobile__header .mobile__nav .common .txt,
.mobile__header .mobile__nav .common .attention
{
    width: 100%;
    margin: 0 auto;
}

.mobile__header .mobile__nav .common .schedule
{
    margin-bottom: 5px;
}

.mobile__header .mobile__nav .common .schedule table
{
    width: 100%;
}

.mobile__header .mobile__nav .common td,
.mobile__header .mobile__nav .common th
{
    padding: 5px;

    vertical-align: middle;

    border-bottom: 1px solid #ffdf3a;
}

.mobile__header .mobile__nav .common th
{
    padding: 10px 5px;

    white-space: nowrap;
}

.mobile__header .mobile__nav .common td
{
    line-height: 1.2;
}

.mobile__header .mobile__nav .common td span
{
    font-size: 12px;
    font-size: 1.2rem;
}

.mobile__header .mobile__nav .common tr:nth-child(odd) th
{
    background: url('../images/common/bg01.png') no-repeat center center;
    background-size: 100% 90%;
}

.mobile__header .mobile__nav .common tr:nth-child(even) th
{
    background: url('../images/common/bg02.png') no-repeat center center;
    background-size: 100% 80%;
}

.mobile__header .mobile__nav .common .txt
{
    font-size: 14px;
    font-size: 1.4rem;

    position: relative;

    padding: 5px 0 7px 15px;
    margin-bottom: 7px;
    border-bottom: 1px solid #ffdf3a;
}

.mobile__header .mobile__nav .common .txt::before
{
    position: absolute;
    top: 3px;
    left: 2px;

    content: '※';
}

.mobile__header .mobile__nav .common .attention
{
  font-size: 14px;
  font-size: 1.4rem;
  padding: 2px 0 2px 0;
}

.mobile__header .mobile__nav.add
{
    display: block;
}

/* -----------------------------------------------------------------
  nav  mobile__foot
----------------------------------------------------------------- */

.mobile__foot-nav
{
    position: fixed;
    z-index: 9999;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 60px;
}

.mobile__foot-nav ul,
.mobile__foot-nav li
{
    margin: 0;
    padding: 0;
}

.mobile__foot-nav li
{
    float: left;

    width: 33.333%;

    list-style: none;
}

.mobile__foot-nav li a
{
    display: block;

    height: 60px;
    padding-top: 10px;

    text-align: center;
    text-decoration: none;
}

.mobile__foot-nav li a span
{
    font-size: 12px;
    font-size: 1.2rem;

    display: block;
}

.mobile__foot-nav li.b01
{
    background: url('../images/common/bg-c-p.png');
}

.mobile__foot-nav li.b01 a span
{
    color: #faa;
}

.mobile__foot-nav li.b02
{
    background: url('../images/common/bg-c-o.png');
}

.mobile__foot-nav li.b02 a span
{
    color: #f9be00;
}

.mobile__foot-nav li.b03
{
    background: url('../images/common/bg-c-g.png');
}

.mobile__foot-nav li.b03 a span
{
    color: #29c308;
}

/* -----------------------------------------------------------------
  nav pc__header
----------------------------------------------------------------- */

.pc__header .header__nav
{
    margin-bottom: 20px;
}

.pc__header .header__nav ul
{
    margin-left: 30px;
}

.pc__header .header__nav li:nth-child(1n)
{
    list-style-image: url('../images/common/list01.png');
}

.pc__header .header__nav li:nth-child(2n)
{
    list-style-image: url('../images/common/list02.png');
}

.pc__header .header__nav li
{
    padding: 12px 0;
}

.pc__header .header__nav li a
{
    text-decoration: none;
}

.pc__header .header__nav li .txt
{
    font-size: 12px;
    font-size: 1.2rem;

    display: block;

    -webkit-transition: .3s all;
         -o-transition: .3s all;
            transition: .3s all;

    color: #9dcd80;
}

.pc__header .header__nav li a:hover .txt
{
    color: #ff9796;
}

.pc__header .header__common .sublink
{
    margin-bottom: 20px;
}

.pc__header .header__common .sublink img
{
    padding-top: 15px;
}

.pc__header .header__common .sublink img:hover
{
    opacity: .7;
}

.pc__header .header__common .sublink li
{
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 30px;

    position: relative;

    padding-left: 20px;

    list-style: none;
}

.pc__header .header__common .sublink li a
{
    text-decoration: none;
}

.pc__header .header__common .sublink li:before
{
    font-family: 'FontAwesome';
    font-size: 14px;
    font-size: 1.4rem;

    position: absolute;
    left: 0;

    width: 18px;

    text-align: center;

    color: #ff9796;
}

.pc__header .header__common .sublink li:first-child:before
{
    content: '\f044';
}

.pc__header .header__common .sublink li:nth-child(2):before
{
    content: '\f0c0';
}

.pc__header .header__common .sublink li:nth-child(3):before
{
    content: '\f19d';
}

.pc__header .header__common .sublink li:nth-child(4):before
{
    content: '\f041';
}

.pc__header .header__common .sublink li:nth-child(5):before
{
    content: '\f003';
}

.pc__header .header__common .sublink li:nth-child(6):before
{
    content: '\f086';
}

.pc__header .header__common .sublink li:nth-child(7):before
{
    content: '\f24a';
}

.pc__header .header__common .sublink li:nth-child(8):before
{
    content: '\f0e8';
}

.pc__header .header__common .address
{
    font-size: 15px;
    font-size: 1.5rem;

    width: 200px;
    margin: 0 auto;
}

.pc__header .header__common .address p
{
    margin: 10px 0;
}

.pc__header .header__common .attention,
.common .info .attention
{
    font-size: 12px;
    font-size: 1.2rem;
    margin: 10px 0;
}

.pc__header .header__common .search
{
    position: relative;

    width: 200px;
    margin: 0 auto;
}

.pc__header .header__common .search::before
{
    font-family: 'FontAwesome';

    position: absolute;
    top: 8px;
    right: 10px;

    content: '\f002';

    color: #ccc;
}

.pc__header .header__common .search input
{
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 30px;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    padding: 0 15px 0 5px;

    border: 1px solid #eee;
    border-radius: 3px;
}

.contents .news__side .side--banner
{
    text-align: center;
}

.contents .news__side .side--banner img
{
    max-width: 100%;
}

.contents .aboutchildbirth__side
{
    float: left;

    width: 30%;
}

.ig-page {
	padding: 10px 0 0;
}
.ig-ttl {
	text-align: center;
}

@media screen and (max-width: 767px) {
	.ig-page {
		padding: 10px;
	}
}

/* -----------------------------------------------------------------
  common post
----------------------------------------------------------------- */

.p-txt
{
    line-height: 2;
}

.catch
{
    font-size: 20px;
    font-size: 2rem;
}

.mark-news
{
    font-size: 11px;
    font-size: 1.1rem;

    display: inline-block;

    padding: 1px 10px;

    color: #fff;
    border-radius: 15px;
    background: red;
}

.post__wrap img
{
    max-width: 100%;
    height: auto;
}

/* -----------------------------------------------------------------
  gallery post
----------------------------------------------------------------- */

#container .gallery__inner .gallery__main
{
    margin-bottom: 50px;
}

#container .gallery__inner .gallery__main h2
{
    font-size: 18px;
    font-size: 1.8rem;

    margin-bottom: 10px;
    padding: 12px 10px 10px;

    border-left: 10px solid #ff9796;
    border-radius: 0 30px 30px 0;
    background-color: rgba(255, 151, 150, .1);
}

#container .gallery__inner .gallery__main h2 span
{
    font-size: 24px;
    font-size: 2.4rem;
}

#container .gallery__inner .gallery__main .gallery__single + .gallery__single
{
    margin-top: 100px;
}

#container .gallery__inner .gallery__main .navigation.post-navigation
{
    margin-top: 100px;
}

/* -----------------------------------------------------------------
  news post
----------------------------------------------------------------- */

.post__archive
{
    background: url('../images/common/bg-c-y.png');
}

.post__single
{
    margin-bottom: 50px;
}

.post__inner .post__wrap.post__single
{
    padding: 0 30px;
}

.post__inner .post__wrap.post__single .content
{
    line-height: 1.8;

    margin-bottom: 100px;
}

.post__inner .post__wrap.post__single .content h1
{
    font-size: 26px;
    font-size: 2.6rem;
}

.post__inner .post__wrap.post__single .content h2
{
    font-size: 28px;
    font-size: 2.8rem;

    margin: 20px 0;
}

.post__inner .post__wrap.post__single .content h3
{
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: normal;

    min-height: 40px;
    margin: 20px 0 30px;
    padding: 15px 5px 15px 70px;

    background: url('../images/common/tit-h3.png') no-repeat left center;
}

.post__inner .post__wrap.post__single .content h4
{
    font-size: 20px;
    font-size: 2rem;
    font-weight: normal;

    position: relative;

    margin-bottom: 15px;
    padding: 0 5px 10px;
}

.post__inner .post__wrap.post__single .content h4::before
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';

    background: rgba(0, 151, 0, .5);
}

.post__inner .post__wrap.post__single .content h4::after
{
    position: absolute;
    bottom: 4px;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';

    background: rgba(252, 227, 39, .5);
}

.post__inner .post__wrap.post__single .content h5
{
    font-size: 18px;
    font-size: 1.8rem;

    margin-bottom: 15px;

    border-bottom: 2px solid #ccc;
}

.post__inner .post__wrap.post__single .content h6
{
    padding: 10px 20px 8px;

    border-radius: 5px;
    background: #f5f5f5;
}

.post__inner .post__wrap.post__single .content table
{
    border: 3px solid #ccc;
}

.post__inner .post__wrap.post__single .content table th,
.post__inner .post__wrap.post__single .content table td
{
    overflow: hidden;

    padding: 10px;

    border: 1px dotted #ccc;
}

.post__inner .post__wrap.post__single .content table th
{
    background: rgba(255, 151, 150, .2);
}

.post__inner .post__wrap.post__single .content table tr
{
    background: none;
}

.single-content .header
{
    margin-bottom: 30px;
}

.single-content .header .inner
{
    margin-bottom: 30px;
}

.single-content .header .inner .data
{
    display: inline-block;

    margin-right: 20px;

    color: #999;
}

.single-content .header .inner .btn-cat a
{
    font-size: 13px;
    font-size: 1.3rem;
}

.single-content .header h1.single-title
{
    font-size: 26px;
    font-size: 2.6rem;
    line-height: 1.2;

    margin: 0;
    padding: 0 5px 20px;

    background: url('../images/report/report-line-cross.png') repeat-x left bottom;
}

.single-content .single-contact
{
    padding: 20px;

    border: 3px solid #eee;
}

.single-content .single-contact .col
{
    padding: 20px;
}

.single-content .single-contact h4
{
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 30px;

    margin-bottom: 20px;

    border-bottom: #ccc 2px solid;
}

.single-content .single-contact h5
{
    font-size: 18px;
    font-size: 1.8rem;

    margin-bottom: 10px;

    color: #ff9796;
}

.single-content .single-contact .dial
{
    font-size: 30px;
    font-size: 3rem;
    line-height: 40px;
}

.single-content .single-contact .btn-content a
{
    font-size: 18px;
    font-size: 1.8rem;

    display: inline-block;

    padding: 20px 40px;

    -webkit-transition: all .8s;
         -o-transition: all .8s;
            transition: all .8s;
    text-decoration: none;

    color: #000;
    border-radius: 10px;
    background: url('../images/common/bg-c-yellow.png');
}

.single-content .single-contact .btn-content a:hover
{
    color: #666;
    background: url('../images/common/bg-c-dy.png');
}

.single-content .single-contact ul
{
    margin: 0 0 0 10px;
}

.single-content .single-contact ul li
{
    margin-bottom: 15px;

    list-style: none;

    border-bottom: 1px dashed #ccc;
}

.single-content .single-contact ul li::before
{
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 16px;

    margin-right: 10px;

    content: url('../images/common/list03.png');

    color: #009700;
}

.post__wrap table
{
    width: 100%;

    background: url('../images/report/report-line-cross.png') repeat-x left top;
}

.post__wrap table tr
{
    background: url('../images/report/report-line-cross.png') repeat-x left bottom;
}

.post__wrap table tr td
{
    padding: 35px 10px;
}

.post__wrap table tr td a
{
    text-decoration: none;
}

/* -----------------------------------------------------------------
  report post
----------------------------------------------------------------- */

.report__inner
{
    overflow: hidden;

    margin-bottom: 50px;
    padding: 50px 0;
}

.report__inner .report__wrap
{
    margin-bottom: 50px;
}

.report__inner .report__wrap .report__wrap--header
{
    margin-bottom: 50px;
    padding-bottom: 20px;

    text-align: center;

    border-bottom: 3px solid #ececec;
}

.report__inner .report__wrap .report__wrap--header h1
{
    margin-bottom: 15px;
}

.report__inner .report__wrap .report__wrap--header h3
{
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: normal;

    margin-bottom: 15px;
}

.report__inner .report__wrap .report__wrap--header .data
{
    letter-spacing: 2px;
}

.report__inner .report__wrap .report__wrap--header .report__catch
{
    max-width: 85%;
    margin: 0 auto 20px;

    text-align: center;
}

.report__inner .report__wrap .report__wrap--header .report__catch img
{
    max-width: 100%;
    height: auto;

    border: 3px solid #ececec;
}

.report__inner .report__wrap .report__wrap--content
{
    line-height: 1.5;
}

.report__inner .report__wrap .report__wrap--content h2,
.report__inner .report__wrap .report__wrap--content h3,
.report__inner .report__wrap .report__wrap--content h4,
.report__inner .report__wrap .report__wrap--content h5,
.report__inner .report__wrap .report__wrap--content h6
{
    margin-top: 30px;
}

.report__inner .report__wrap .report__wrap--content h2
{
    font-size: 24px;
    font-size: 2.4rem;

    position: relative;

    margin-bottom: 20px;
    padding: 5px 5px 5px 40px;

    border-bottom: 3px solid rgba(255, 151, 150, .3);
}

.report__inner .report__wrap .report__wrap--content h2::before
{
    position: absolute;
    top: 5px;
    left: 0;

    width: 30px;
    height: 30px;

    content: '';

    border-radius: 15px;
    background: rgba(255, 151, 150, .3);
}

.report__inner .report__wrap .report__wrap--content h2::after
{
    position: absolute;
    top: 17px;
    left: 15px;

    width: 20px;
    height: 20px;

    content: '';

    border-radius: 10px;
    background: rgba(255, 151, 150, .5);
}

.report__inner .report__wrap .report__wrap--content h3
{
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: normal;

    margin-bottom: 15px;
    padding: 3px 10px;

    border-left: 5px solid #ff9796;
}

.report__inner .report__wrap .report__wrap--content h4
{
    font-size: 20px;
    font-size: 2rem;
    font-weight: normal;

    margin-bottom: 15px;

    border-bottom: 2px solid #ccc;
}

.report__inner .report__wrap .report__wrap--content h5
{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: normal;

    margin-bottom: 10px;

    color: #ff9796;
}

.report__inner .report__wrap .report__wrap--content h6
{
    margin-bottom: 10px;
}

.report__inner ul
{
    margin-bottom: 20px;
}

.report__inner ul li
{
    margin-left: 20px;
}

.report__inner .side-banner
{
    text-align: center;
}

.report__inner .report__list
{
    margin: 0 auto;
}

.report__inner .report__list li
{
    margin: 0;
    margin-bottom: 30px;
    padding: 0;

    list-style: none;
}

.report__inner .report__list li a
{
    display: block;

    margin: 0 3px 3px 0;

    -webkit-transition: all .8s;
         -o-transition: all .8s;
            transition: all .8s;
    text-decoration: none;

    -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, .1);
            box-shadow: 1px 1px 3px rgba(0, 0, 0, .1);
}

.report__inner .report__list li a:hover img
{
    width: 105%;
    height: 105%;

    -webkit-filter: grayscale(100%);
       -moz-filter: grayscale(100%);
        -ms-filter: grayscale(100%);
         -o-filter: grayscale(100%);
            filter: grayscale(100%);
    -o-object-position: initial;
       object-position: initial;
}

.report__inner .report__list li .report__list--header
{
    overflow: hidden;

    height: 180px;
}

.report__inner .report__list li .report__list--header img
{
    width: 100%;
    height: 100%;

    -webkit-transition: all .8s;
         -o-transition: all .8s;
            transition: all .8s;

    -o-object-fit: cover;
       object-fit: cover;
    /* この一行を追加するだけ！ */
}

.report__inner .report__list li .report__list--content
{
    height: 180px;
    padding: 20px;

    background: url('../images/common/bg-c-w.png');
}

.report__inner .report__list li .report__list--content .data
{
    font-size: 14px;
    font-size: 1.4rem;

    margin-bottom: 10px;
}

.report__inner .report__list li .report__list--content h2
{
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 18px;

    overflow: hidden;

    width: 100%;
    height: 18px;
    margin-bottom: 10px;
}

/* -----------------------------------------------------------------
  front
----------------------------------------------------------------- */

.front__wrap h2.om
{
    font-family: 'Noto Serif JP', serif;
    font-size: 32px;
    font-size: 3.2rem;
    font-weight: normal;

    margin-bottom: 40px;

    text-align: center;
    letter-spacing: 5px;

    color: #333;
    background: url('../images/common/bg-h2-message.png') no-repeat center top 55px;
}

.front__wrap h2.om span
{
    font-family: 'segoesc';
    font-size: 20px;
    font-size: 2rem;

    display: block;

    margin-top: 60px;

    letter-spacing: initial;

    color: rgba(119, 80, 67, .8);
}

.front__wrap .front-message
{
    font-family: 'Noto Serif JP', serif;

    max-width: 1040px;
    margin: 0 auto 50px;
    padding: 80px 0 100px;

    -webkit-transition: 1.5s all;
         -o-transition: 1.5s all;
            transition: 1.5s all;

    background: url('../images/common/bg-om-message.png') no-repeat center bottom;
    background-size: 90% auto;
}

.front__wrap .front-message div
{
    font-family: 'Noto Serif JP', serif;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2;
}

.front__wrap .front-message.lazyload
{
    background-size: 0;
}

.front__wrap .front-message.lazyloaded
{
    background-size: 90% auto;
}

.front__wrap .front-link
{
    width: 100%;
    padding: 100px 0 50px;

    background: url('../images/common/bg-c-y.png');
}

.front__wrap .front-link h3
{
    margin-bottom: 20px;
    padding: 0;

    text-align: center;

    background: none;
}

.front__wrap .front-link h3 span
{
    font-family: 'Noto Serif JP', serif;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 35px;

    padding: 0;

    letter-spacing: 2px;

    color: #333;
    background: none;
}

.front__wrap .front-link h3 span::before
{
    display: inline-block;
    overflow: hidden;

    width: 30px;
    height: 35px;

    content: '';

    background: url('../images/common/front-h3-left.png') no-repeat left top;
}

.front__wrap .front-link h3 span::after
{
    display: inline-block;
    overflow: hidden;

    width: 30px;
    height: 35px;

    content: '';

    background: url('../images/common/front-h3-right.png') no-repeat right top;
}

.front__wrap .front-link .front-link-inner
{
    max-width: 1040px;
    margin: 0 auto 50px;
}

.front__wrap .front-link .front-link-inner .box
{
    position: relative;
    z-index: 1;

    margin-right: 4%;

    background: #fff;
}

.front__wrap .front-link .front-link-inner .box a
{
    position: absolute;
    z-index: 10;
    right: -20px;
    bottom: -40px;

    display: block;

    -webkit-transition: all .5s;
         -o-transition: all .5s;
            transition: all .5s;
}

.front__wrap .front-link .front-link-inner .box a:hover
{
    opacity: .5;
}

.front__wrap .front-link .front-link-inner .box:nth-child(even)
{
    margin-right: 0;
}

.front__wrap .front-link .front-link-inner .box .photo-box
{
    float: left;

    width: 40%;
}

.front__wrap .front-link .front-link-inner .box .photo-box img
{
    max-width: 100%;
    height: auto;
}

.front__wrap .front-link .front-link-inner .box .text-box
{
    float: right;

    width: 55%;
}

.front__wrap .front-about
{
    max-width: 1040px;
    margin: 0 auto;
    padding: 80px 0;

    background: url('../images/common/bg-front-about.png') no-repeat center;
}

.front__wrap .front-about .box
{
    float: left;

    padding-bottom: 50px;

    text-align: center;
}

.front__wrap .front-about .box img
{
    display: block;

    width: auto;
    max-width: 100%;
    height: 280px;
    margin-bottom: 20px;
}

.front__wrap .front-about .box a
{
    display: block;

    text-decoration: none;
}

.front__wrap .front-about .box a:hover
{
    opacity: .5;
    color: #333;
}

.front__wrap .front-about .box h3
{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: normal;

    padding: 0;

    background: none;
}

.front__wrap .front-news h3
{
    font-family: 'Noto Serif JP', serif;
    font-size: 26px;
    font-size: 2.6rem;
    font-weight: normal;
    line-height: 50px;

    position: relative;

    text-align: center;
    letter-spacing: 5px;

    color: #333;
    background: rgba(255, 255, 255, .5);
}

.front__wrap .front-news h3::before
{
    position: absolute;
    top: 50px;
    left: 50%;

    width: 80px;
    height: 5px;

    content: '';
    -webkit-transform: translateX(-40px);
        -ms-transform: translateX(-40px);
            transform: translateX(-40px);

    border-radius: 5px;
    background: #cabd99;
}

.front__wrap .front-news h3 span
{
    font-size: 20px;
    font-size: 2rem;

    display: block;

    letter-spacing: 1px;

    color: #999;
}

.front__wrap .front-news table .sticky_post th,
.front__wrap .front-news table .sticky_post td
{
    font-weight: bold;
}

.front__wrap .front-news table td.btn-cat
{
    white-space: nowrap;
}

.front__wrap .front-news table td.btn-cat a
{
    font-size: 11px;
    font-size: 1.1rem;

    display: inline-block;

    padding: 2px 10px 1px;

    text-decoration: none;

    border: 1px solid #ccc;
    border-radius: 15px;
    background: #fff;
}

.front__wrap .front-news table td.btn-cat a:hover
{
    color: #666;
    background: #f5f5f5;
}

.front__wrap .front-news table td.btn-cat.news a
{
    border-color: #fce327;
}

.front__wrap .front-news table td.btn-cat.restnews a
{
    border-color: #009700;
}

.front__wrap .front-gallery
{
    padding: 80px 0;

    background: #fdfcf0;
}

.front__wrap .front-gallery .front-gallery-img
{
    margin: 0 auto;
    padding: 20px 40px;

    background: #fff;
    /* -----------------------------------------------------------------
	赤ちゃんギャラリー　カルーセル（矢印）
----------------------------------------------------------------- */
}

.front__wrap .front-gallery .front-gallery-img ul,
.front__wrap .front-gallery .front-gallery-img li
{
    margin: 0;
    padding: 0;
}

.front__wrap .front-gallery .front-gallery-img li
{
    list-style: none;
}

.front__wrap .front-gallery .front-gallery-img .slick-prev
{
    left: -35px;
}

.front__wrap .front-gallery .front-gallery-img .slick-next
{
    right: -35px;
}

.front__wrap .front-gallery .front-gallery-img .slick-prev,
.front__wrap .front-gallery .front-gallery-img .slick-next
{
    width: 30px;
    height: 30px;
}

.front__wrap .front-gallery .front-gallery-img .slick-prev::before,
.front__wrap .front-gallery .front-gallery-img .slick-next::before
{
    font-size: 30px;
    font-size: 3rem;

    width: 30px;
    height: 30px;

    color: rgba(252, 227, 39, .7);
}

/* -----------------------------------------------------------------
  common pages
----------------------------------------------------------------- */

.page #main img
{
    max-width: 100%;
    height: auto;
}

.page .page__wrap
{
    line-height: 1.8;

    position: relative;

    width: 96%;
    max-width: 1040px;
    margin: 0 auto;
    padding: 50px 20px 80px;
}

.page .page__wrap h2:not(.om)
{
    font-family: 'Sawarabi Mincho';
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 1.2;

    margin: 0 0 30px;
    padding: 20px 10px;

    background: url('../images/common/tit-h2.png') no-repeat right bottom;
}

.page .page__wrap h2.om
{
    font-family: 'Noto Serif JP', serif;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: normal;

    margin: 0 0 40px;

    text-align: center;
    letter-spacing: 5px;

    color: #333;
    background: url('../images/common/bg-h2-message.png') no-repeat center top 55px;
}

.page .page__wrap h2.om span
{
    font-family: 'segoesc';
    font-size: 20px;
    font-size: 2rem;

    display: block;

    margin-top: 60px;

    letter-spacing: initial;

    color: rgba(119, 80, 67, .8);
}

.page .page__wrap h3
{
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: normal;
    line-height: 1.2;

    min-height: 40px;
    margin: 0 0 20px;
    padding: 0 10px 10px 70px;

    background: url('../images/common/tit-h3.png') no-repeat left top;
}

.page .page__wrap h4
{
    font-size: 20px;
    font-size: 2rem;
    font-weight: normal;
    line-height: 1.2;

    margin: 0 0 20px;
    padding: 15px;

    background: url('../images/common/tit-h4.png') repeat-x left bottom;
}

.page .page__wrap h5
{
    font-size: 18px;
    font-size: 1.8rem;

    margin-bottom: 10px;

    color: #000;
}

.page .page__wrap img
{
    max-width: 100%;
}

.page .page__wrap .spaceL
{
    overflow: hidden;

    height: 100px;
}

.page .message
{
    font-family: 'Noto Serif JP', serif;
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2;

    max-width: 1040px;
    margin: 0 auto 70px;

    text-align: center;
}

.page .page-list
{
    margin: 0 auto 80px;
}

.page .page-list ul
{
    overflow: hidden;
}

.page .page-list li
{
    float: left;

    margin-bottom: 30px;

    list-style: none;
}

.page .page-list li a
{
    line-height: 120px;

    display: block;

    width: 300px;
    height: 120px;
    margin: 0 auto;

    text-align: center;
    text-decoration: none;
}

.page .page-list li:nth-child(odd) a
{
    background: url('../images/common/page-list-g.png') no-repeat;
}

.page .page-list li:nth-child(even) a
{
    background: url('../images/common/page-list-y.png') no-repeat;
}

.page-privacy .post__keyvisual.post__pc__keyvisual,
.page-sitemap .post__keyvisual.post__pc__keyvisual,
.page-contact .post__keyvisual.post__pc__keyvisual
{
    height: 150px;
}

.page-privacy .post__keyvisual .sub__visu,
.page-sitemap .post__keyvisual .sub__visu,
.page-contact .post__keyvisual .sub__visu
{
    display: none;
}

/* -----------------------------------------------------------------
  consultation page
----------------------------------------------------------------- */

.page-consultation .mes
{
    line-height: 30px;

    margin-bottom: 50px;
    padding: 30px;

    border-radius: 10px;
}

.page-consultation .mes .text-box
{
    padding-top: 10px;
}

.page-consultation .list
{
    padding: 30px 30px 30px 50px;
}

.page-consultation .list ul,
.page-consultation .list li
{
    margin: 0;
    padding: 0;
}

.page-consultation .list li
{
    position: relative;

    padding-left: 20px;

    list-style: none;
}

.page-consultation .list li::before
{
    font-size: 10px;
    font-size: 1rem;

    position: absolute;
    top: 3px;
    left: 0;

    content: '●';

    color: #beaba5;
}

.page-consultation .list li:not(:last-child)
{
    margin-bottom: 10px;
}

.page-consultation .dr-table
{
    width: 100%;
    margin-bottom: 10px;
}

.page-consultation .dr-table thead th
{
    padding: 10px;

    border: 1px solid #ccc;
    background: rgba(255, 151, 150, .2);
}

.page-consultation .dr-table td,
.page-consultation .dr-table th
{
    padding: 10px;

    text-align: center;
    vertical-align: middle;

    border: 1px solid #ccc;
}

.page-consultation .dr-table td:empty
{
    background: #f7f7f7;
}

.page-consultation .dr-table th .reserve
{
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 20px;

    display: block;

    color: #fff;
    border-radius: 10px;
    background: #f00;
}

.page-consultation .dr-reserve
{
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 25px;

    display: inline-block;

    max-width: 100px;
    padding: 0 10px;

    color: #fff;
    border-radius: 5px;
    background-color: #ff9796;
}

.page-consultation .dr-reserve.sp-reserve
{
    margin-left: 10px;
}

/* -----------------------------------------------------------------
  maternity class page
----------------------------------------------------------------- */

.page-maternityclass .table-class
{
    width: 100%;
    margin-bottom: 10px;
}

.page-maternityclass .table-class th
{
    width: 120px;
    padding: 8px;

    vertical-align: middle;

    border: 1px solid #fff;
    background: rgba(255, 151, 150, .5);
}

.page-maternityclass .table-class td
{
    padding: 8px 10px;

    border: 1px solid #dfdfdf;
}

.page-maternityclass .app-status
{
    font-size: 18px;
    font-size: 1.8rem;

    color: red;
}


/* page-motherclass ***************************************/

.page-motherclass .videos-wrap {
	overflow: hidden;
}

.page-motherclass .videos {
	overflow: hidden;
}

.page-motherclass .wp-video {
	width: 42% !important;
	height: auto;
	float: left;
	margin: 0 8% 80px 0;
}

.post-password-form {
	text-align: center;
	padding: 30px;
	background: #fef0f0;
	border-radius: 10px;
}

.post-password-form p {
	margin: 0 0 10px;
}

.post-password-form #pwbox-5916 {
	padding: 5px 3px;
	width: 200px;
	height: 30px;
	border-radius: 5px;
	margin-right: 10px;
	background: #fff;
	color: #666;
}

.post-password-form input {
	font-size: 1.6rem;
	padding: 3px 10px;
	background: #ff9796;
	border-radius: 5px;
	color: #fff;
}

@media screen and (max-width: 768px) {
	.page-motherclass .wp-video {
		width: 100% !important;
		float: none;
		margin: 0 0 30px 0;
	}
	.post-password-form #pwbox-5916 {
		padding: 5px 3px;
		width: 100%;
		margin: 5px 0 15px;
	}
	.post-password-form input {
		padding: 10px 30px;
	}
}


/* -----------------------------------------------------------------
  doctor page
----------------------------------------------------------------- */

.page-doctors img
{
    max-width: 100%;
    height: auto;
}

.page-doctors .introduction
{
    position: relative;

    margin: 100px 0 0 30px;
    padding: 20px;

    border: 3px solid #fce327;
    border-radius: 10px;
}

.page-doctors .introduction .doctor-name
{
    font-size: 28px;
    font-size: 2.8rem;

    position: absolute;
    top: -50px;
    left: -30px;

    display: inline-block;

    padding: 5px 30px;

    border: 3px solid #fce327;
    border-radius: 5px;
    background-color: #fff;
}

.page-doctors .introduction .doctor-name .ruby
{
    font-size: 14px;
    font-size: 1.4rem;
}

.page-doctors .introduction .image img
{
    width: 100%;

    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, .1);
            box-shadow: 0 0 5px rgba(0, 0, 0, .1);
}

.page-doctors .introduction .text
{
    line-height: 2;
}

.page-doctors .introduction .text p
{
    margin-bottom: 30px;
    padding: 10px;

    border-radius: 5px;
    background-color: #f7f7f7;
}

.page-doctors .introduction .text table th,
.page-doctors .introduction .text table td
{
    padding: 10px;
}

.page-doctors .introduction .text table th
{
    border: 3px solid #fff;
    background-color: rgba(252, 227, 39, .2);
}

/* -----------------------------------------------------------------
  access page
----------------------------------------------------------------- */

.page-access ul li
{
    list-style: none;
}

.page-access .carnavAccess
{
    font-size: 16px;
    font-size: 1.6rem;

    width: 80%;
    padding: 20px 15px;

    color: #666;
    border: 1px solid #dfdfdf;
    border-radius: 5px;
}

.page-access .access-box h5 span
{
    display: inline-block;

    padding: 10px 5px 0;

    border-bottom: 2px solid #009700;
}

.page-access .access-box .a-text
{
    width: 90%;
    margin: 0 0 0 20px;
    padding: 10px 20px;

    background: #f3f3f3;
}

.page-access .access__parking .times-rule
{
    margin: 0;
    padding: 0;
    padding-left: 0;

    list-style-type: none;

    counter-reset: item;

    /* border-top: 1px dashed #ccc; */
}

.page-access .access__parking .times-rule li
{
    margin: 0;
    padding: 18px 20px;

    text-align: center;

    /* border-bottom: 1px dashed #ccc; */
}

.page-access .access__parking .times-rule li:nth-child(2)
{

    padding: 18px 20px 20px;

}

.page-access .access__parking .times-rule li img
{
    border: 1px solid #eee;
		max-height: 294px;
}

/* .page-access .access__parking .times-rule li::before
{
    font-family: 'Sawarabi Mincho';
    font-size: 80px;
    font-size: 8rem;
    line-height: 1;

    margin-right: 15px;

    content: counter(item);
    counter-increment: item;

    color: #ffdf3a;
} */

.page-access .times__price
{
    width: 100%;
    margin-bottom: 50px;
}

.page-access .times__price td,
.page-access .times__price th
{
    font-weight: bold;

    padding: 20px 10px;

    text-align: center;
    vertical-align: middle;

    border: 1px solid #fff;
}

.page-access .times__price thead th
{
    background: url(../images/common/times-logo.png) no-repeat rgba(255, 151, 150, .3) left 20% top 20px;
    background-size: 150px auto;
}

.page-access .times__price thead th .title
{
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1.2;

    padding-left: 50px;
}

.page-access .times__price thead th .title .text
{
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 20px;

    display: inline-block;

    padding: 2px 20px 1px;

    border-radius: 5px;
    background: #fff;
}

.page-access .times__price tbody th
{
    font-size: 20px;
    font-size: 2rem;

    background: rgba(255, 151, 150, .1);
}

.page-access .times__price tbody td
{
    background: #f5f5f5;
}

/* -----------------------------------------------------------------
  satogaeri
----------------------------------------------------------------- */

.page-satogaeri .satogaeri-flow
{
    margin: 0;
    padding: 0;
}

.page-satogaeri .satogaeri-flow li
{
    margin: 0;
    padding: 0;

    list-style: none;
}

/* -----------------------------------------------------------------
  satogaeri
----------------------------------------------------------------- */

.qa__box .qa
{
    margin-bottom: 30px;
}

.qa__box .qa-title
{
    font-size: 18px;
    font-size: 1.8rem;

    position: relative;

    margin-bottom: 10px;
    padding: 20px 50px 20px 50px;

    cursor: pointer;

    color: #472222;
    border-radius: 5px;
    background-color: rgba(252, 227, 39, .1);
}

.qa__box .qa-title::before
{
    font-family: 'Sawarabi Mincho', sans-serif;
    font-size: 30px;
    font-size: 3rem;

    position: absolute;
    top: 14px;
    left: 15px;

    margin-right: 10px;

    content: 'Q';

    color: #baa503;
}

.qa__box .qa-title .qa-toggle
{
    line-height: 24px;

    position: absolute;
    top: 50%;
    right: 15px;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 30px;
    height: 30px;

    -webkit-transform: translateY(-15px);
        -ms-transform: translateY(-15px);
            transform: translateY(-15px);
    text-align: center;

    border: 2px solid #baa503;
    border-radius: 5px;
    background: #fff;
}

.qa__box .qa-title .qa-toggle span
{
    font-size: 24px;
    font-size: 2.4rem;

    display: inline-block;
}

.qa__box .qa-title.qa-open .qa-toggle span
{
    position: relative;
}

.qa__box .qa-title.qa-open .qa-toggle span::after
{
    position: absolute;
    top: 0;
    left: 0;

    content: '×';

    background: #fff;
}

.qa__box .qa-text
{
    line-height: 1.5;

    display: none;

    padding: 20px;

    border: 2px solid #baa503;
    border-radius: 5px;
}

/* -----------------------------------------------------------------
  method
----------------------------------------------------------------- */

.page-method .method-menu
{
    text-align: center;
}

.page-method .method-menu:after
{
    display: block;
    clear: both;

    content: '';
}

.page-method .method-menu li
{
    display: inline-block;

    padding: 15px;
}

/* -----------------------------------------------------------------
  satogaeri
----------------------------------------------------------------- */

.page-sitemap .list-sitemap
{
    line-height: 2.2;

    margin-left: 30px;
}

.page-sitemap .list-sitemap a
{
    display: block;

    padding-left: 20px;

    text-decoration: none;
}

.page-sitemap .list-sitemap a:hover
{
    color: #000;
    background: rgba(252, 227, 39, .2);
}

.page-sitemap .list-sitemap > li
{
    margin-left: 20px;
}

.page-sitemap .list-sitemap > li:nth-child(odd)
{
    list-style-image: url('../images/common/list01.png');
}

.page-sitemap .list-sitemap > li:nth-child(even)
{
    list-style-image: url('../images/common/list02.png');
}

.page-sitemap .list-sitemap li li
{
    list-style-image: url('../images/common/list03.png');
}

.page-sitemap .list-sitemap li li li
{
    margin-bottom: 5px;

    list-style: square;
    list-style-image: none;

    background-color: rgba(252, 227, 39, .1);
}

/* -----------------------------------------------------------------
  contact
----------------------------------------------------------------- */

.contact__wrap
{
    width: 95%;
    margin: 0 auto;
    padding: 50px 20px;

    border: 2px solid #fce327;
    border-radius: 5px;
}

.contact__wrap .contact__ttl
{
    font-size: 24px;
    font-size: 2.4rem;
    font-weight: bold;

    width: 90%;
    margin: 0 auto 50px;
    padding-bottom: 20px;

    text-align: center;

    color: #000;
    border-bottom: 3px dotted #fce327;
}

.contact__wrap .link
{
    text-decoration: none;

    color: #ff9796;
}

.contact__wrap .link:hover
{
    color: #ccc;
}

.contact__wrap .contact-btn
{
    font-size: 16px;
    font-size: 1.6rem;

    display: inline-block;

    min-width: 125px;
    margin: 0 10px;
    padding: 15px 30px;

    text-align: center;

    color: #fff;
    border: none;
    border-radius: 5px;
    background-color: #ff9796;
}

.contact__wrap .contact__table
{
    width: 100%;
}

.contact__wrap .contact__table th,
.contact__wrap .contact__table td
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 25px 15px;
}

.contact__wrap .contact__table th
{
    width: 30%;

    text-align: right;
    vertical-align: middle;
    white-space: nowrap;
}

.contact__wrap .contact__table td
{
    min-width: 70%;
}

.contact__wrap .contact__table td input,
.contact__wrap .contact__table td textarea
{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: normal;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding: 10px;

    color: #666;
    border: none;
    border-radius: 3px;
    outline: 0;
    background: #f8f8f8;
}

.contact__wrap .contact__table td input::-webkit-input-placeholder,
.contact__wrap .contact__table td textarea::-webkit-input-placeholder
{
    font-size: 14px;
    font-size: 1.4rem;

    color: #999;
}

.contact__wrap .contact__table td input:-ms-input-placeholder,
.contact__wrap .contact__table td textarea:-ms-input-placeholder
{
    font-size: 14px;
    font-size: 1.4rem;

    color: #999;
}

.contact__wrap .contact__table td input::-ms-input-placeholder,
.contact__wrap .contact__table td textarea::-ms-input-placeholder
{
    font-size: 14px;
    font-size: 1.4rem;

    color: #999;
}

.contact__wrap .contact__table td input::placeholder,
.contact__wrap .contact__table td textarea::placeholder
{
    font-size: 14px;
    font-size: 1.4rem;

    color: #999;
}

.contact__wrap .contact__table td input[type=text],
.contact__wrap .contact__table td input[type=email],
.contact__wrap .contact__table td textarea
{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 90%;
}

.contact__wrap .contact__table td input[type=text].contact_dial,
.contact__wrap .contact__table td input[type=text].contact_birth_year
{
    width: 28%;
}

.contact__wrap .contact__table td .contact_radio .contact_status
{
    display: none;
}

.contact__wrap .contact__table td .contact_radio label
{
    position: relative;

    display: inline-block;

    padding: 3px 3px 3px 20px;

    cursor: pointer;
}

.contact__wrap .contact__table td .contact_radio .contact_status + span::before,
.contact__wrap .contact__table td .contact_radio span::after
{
    position: absolute;
    top: 50%;

    content: '';
    -webkit-transition: all .2s;
         -o-transition: all .2s;
            transition: all .2s;

    border-radius: 100%;
}

.contact__wrap .contact__table td .contact_radio .contact_status + span::before
{
    left: 0;

    width: 14px;
    height: 14px;
    margin-top: -8px;

    border: 1px solid #ccc;
    background: #f3f3f3;
}

.contact__wrap .contact__table td .contact_radio .contact_status + span:hover::before
{
    background: #fff;
}

.contact__wrap .contact__table td .contact_radio .contact_status + span::after
{
    left: 4px;

    width: 8px;
    height: 8px;
    margin-top: -4px;

    -webkit-transform: scale(2);
        -ms-transform: scale(2);
            transform: scale(2);

    opacity: 0;
    background: #ff9796;
}

.contact__wrap .contact__table td .contact_radio .contact_status:checked + span::before
{
    border: 1px solid #ff9796;
    background: #fff;
}

.contact__wrap .contact__table td .contact_radio .contact_status:checked + span::after
{
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);

    opacity: 1;
}

.contact__wrap .contact__table td .contact_birth_month,
.contact__wrap .contact__table td .contact_birth_day
{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: normal;

    display: inline-block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
            box-sizing: border-box;
    width: 80px;
    margin: 0;
    padding: 10px;

    text-align: right;

    color: #666;
    border: 1px solid #ccc;
    border-radius: 3px;
    outline: 0;
    background: #f8f8f8;
}

.contact__wrap .contact__table td .mwform-radio-field.vertical-item
{
    line-height: 20px;

    display: inline-block;

    padding-right: 30px;

    vertical-align: middle;
}

.contact__wrap .mw_wp_form.mw_wp_form_preview .example
{
    display: none;
}

.contact__wrap .mw_wp_form.mw_wp_form_preview .contact__table td
{
    overflow: hidden;
}

.contact__wrap .mw_wp_form.mw_wp_form_preview .contact__table td .text
{
    width: 100%;
    min-height: 45px;
    padding: 20px;

    background-color: rgba(252, 227, 39, .05);
}

/* -----------------------------------------------------------------
  method
----------------------------------------------------------------- */

.searchform--wrap
{
    padding: 20px 0;
}

.searchform--wrap p + p
{
    margin-top: 20px;
}

.searchform--wrap input[type=text]
{
    font-size: 16px;
    font-size: 1.6rem;

    display: inline-block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 100%;
    height: 45px;
    padding: 5px;

    border: 1px solid #dfdfdf;
    border-radius: 5px;
    background-color: #fff;
}

.searchform--wrap input[type=submit]
{
    font-size: 16px;
    font-size: 1.6rem;

    width: 100%;
    height: 35px;

    text-align: center;

    color: #fff;
    border: none;
    border-radius: 5px;
    background-color: #ff9796;
}

ul.search-results
{
    list-style: none;
}

ul.search-results li + li
{
    margin-top: 50px;
}

ul.search-results li .title
{
    font-size: 20px;
    font-size: 2rem;

    margin-bottom: 10px;
}

ul.search-results li .title a
{
    color: #ff9796;
}

ul.search-results li .text
{
    line-height: 1.5;
}

/* -----------------------------------------------------------------
	テンプレート
	ブロック
----------------------------------------------------------------- */

.page-template
{
    overflow-x: hidden;
}

.page__wrap.page__block .section__first
{
    margin-top: 50px;
}

.page__wrap.page__block .section__box
{
    padding: 10px 0;
}

.page__wrap.page__block .section__box + .section__box
{
    margin-top: 100px;
}

.page__wrap.page__block .section__box .h4
{
    margin-bottom: 10px;
    padding: 0;

    background-image: none;
}

.page__wrap.page__block .section__box .h4:before
{
    display: inline-block;

    margin-right: 10px;

    content: '◎';

    color: #ff9796;
}

.page__wrap.page__block .section__box .temp-table
{
    width: 100%;

    border: 1px solid #ccc;
}

.page__wrap.page__block .section__box .temp-table th,
.page__wrap.page__block .section__box .temp-table td
{
    padding: 10px;

    vertical-align: middle;

    border: 1px solid #ccc;
}

.page__wrap.page__block .section__box .temp-table th
{
    text-align: center;
    white-space: nowrap;

    background-color: rgba(255, 151, 150, .05);
}

.page__wrap.page__block .section__box .temp-table thead th
{
    background-color: rgba(255, 151, 150, .2);
}

.page__wrap.page__block .count--list
{
    margin: 0;
    padding: 0;
}

.page__wrap.page__block .count--list:after
{
    display: block;
    clear: both;

    content: '';
}

.page__wrap.page__block .count--list li
{
    position: relative;

    min-height: 200px;
    margin: 0;
    padding: 0;

    list-style: none;
}

.page__wrap.page__block .count--list li:not(:last-child)::before
{
    position: absolute;
    z-index: 10;
    bottom: -30px;
    left: 75px;

    width: 31px;
    height: 26px;

    content: '';

    background: url('../images/common/arrow-down.png') no-repeat center;
}

.page__wrap.page__block .count--list li + li
{
    margin-top: 50px;
}

.page__wrap.page__block .count--list .number
{
    width: 180px;
    height: 180px;
    margin: 0 auto;
    padding-top: 20px;

    text-align: center;

    background: url('../images/common/bg-count.png') no-repeat center;
    background-size: 100% auto;
}

.page__wrap.page__block .count--list .number .count
{
    font-family: 'Sawarabi Mincho';
    font-size: 30px;

    display: block;

    margin-bottom: 20px;

    color: #009700;
}

.page__wrap.page__block .count--list .content
{
    padding: 20px;
}

.page__wrap.page__block .count--list .content dt
{
    font-size: 20px;
    font-size: 2rem;

    margin-bottom: 20px;
}

.page__wrap.page__block .count--list .content dd + dd
{
    margin-top: 30px;
}

/* -----------------------------------------------------------------
  flow
----------------------------------------------------------------- */

.page-flow .page__wrap.page__block .section__box .pregnancy-schedule
{
    margin-bottom: 10px;
}

.page-flow .page__wrap.page__block .section__box .pregnancy-schedule tbody td
{
    text-align: center;
}

/* -----------------------------------------------------------------
  wrap
----------------------------------------------------------------- */

.wrap:after
{
    display: block;
    clear: both;

    content: '';
}

/* -----------------------------------------------------------------
  box-y
----------------------------------------------------------------- */

.box-y
{
    border-radius: 5px;
    background: rgba(252, 227, 39, .1);
}

/* -----------------------------------------------------------------
  summary
----------------------------------------------------------------- */

.summary
{
    border-radius: 5px;
    background: rgba(255, 151, 150, .1);
}

/* -----------------------------------------------------------------
  fonts
----------------------------------------------------------------- */

@font-face
{
    font-family: 'segoesc';
    font-weight: normal;
    font-style: normal;

    src: url('./fonts/segoesc.eot');
    /* IE9以上用 */
    src: url('./fonts/segoesc.eot?#iefix') format('embedded-opentype'), url('./fonts/segoesc.woff') format('woff'), url('./fonts/segoesc.ttf') format('truetype');
}

.segoesc
{
    font-family: 'segoesc';
}

.wf-sawarabimincho
{
    font-family: 'Sawarabi Mincho', sans-serif;
}

.wf-notoSerif
{
    font-family: 'Noto Serif JP', serif;
}

/* -----------------------------------------------------------------
  button
----------------------------------------------------------------- */

table td.btn-cat,
.btn-cat
{
    white-space: nowrap;
}

table td.btn-cat a,
.btn-cat a
{
    font-size: 11px;
    font-size: 1.1rem;

    display: inline-block;

    padding: 2px 10px 1px;

    text-decoration: none;

    border: 1px solid #ccc;
    border-radius: 15px;
    background: #fff;
}

table td.btn-cat a:hover,
.btn-cat a:hover
{
    color: #666;
    background: #f5f5f5;
}

table td.btn-cat.news a,
.btn-cat.news a
{
    border-color: #fce327;
}

table td.btn-cat.restnews a,
.btn-cat.restnews a
{
    border-color: #009700;
}

.btn__link
{
    text-align: center;
}

.btn__link.al-left
{
    text-align: left;
}

.btn__link .btn
{
    display: inline-block;

    width: 50%;
    min-width: 300px;
    padding: 40px 0;

    text-align: center;
    text-decoration: none;
    letter-spacing: 5px;

    color: #746c57;
    border-radius: 10px;
    background: url('../images/common/om01.png') repeat-x right 10px bottom 5px, url('../images/common/om01.png') repeat-x left 10px top 5px;
    background-color: #fffff2;
}

.btn__link .btn:hover
{
    background-color: #ffffd9;
}

.btn__link .btn:hover .link_txt
{
    opacity: .5;
}

.btn__link .btn .link_txt
{
    -webkit-transition: all .8s;
         -o-transition: all .8s;
            transition: all .8s;
}

.btn__link .btn .link_txt::after
{
    display: inline-block;

    width: 16px;
    height: 16px;
    margin-left: 10px;

    content: '';

    background: url('../images/common/arrow01.png') no-repeat center;
}

.btn__link .btn.w80
{
    width: 80%;
}

.btn-height
{
    overflow: hidden;
}

/* -----------------------------------------------------------------
	  keyvisual
----------------------------------------------------------------- */

.keyvisual .keyvisual__inner
{
    width: 100%;
    height: 100vh;
}

.keyvisual .keyvisual__inner .slick-list.draggable,
.keyvisual .keyvisual__inner .slick-track
{
    height: 100%;
}

.keyvisual .keyvisual__inner .body
{
    width: 100%;
    height: 100%;
}

.keyvisual ul,
.keyvisual li
{
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

.keyvisual li
{
    position: relative;

    list-style: none;
}

.keyvisual li .img
{
    position: relative;

    width: 100%;
    height: 100%;
}

.keyvisual li .img img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.keyvisual li .catch
{
    position: absolute;
    z-index: 1000;
}

.keyvisual__sp-slider .keyvisual01 .catch
{
    top: 30%;
    left: 5%;
}

.keyvisual__sp-slider .keyvisual01 .catch img
{
    width: 90%;
}

.keyvisual__sp-slider .keyvisual02 .catch
{
    top: 35vh;
    left: 10px;
}

.keyvisual__sp-slider .keyvisual02 .catch img
{
    width: 90%;
}

.keyvisual__sp-slider .keyvisual03 .catch
{
    top: 150px;
    left: 50px;
}

.keyvisual__sp-slider .keyvisual03 .catch img
{
    width: 90%;
}

.pc__keyvisual .keyvisual__inner
{
    position: relative;
}

.pc__keyvisual .keyvisual__inner .keyvisual__pc-slider .keyvisual01 .catch
{
    bottom: 450px;
    left: 350px;
}

.pc__keyvisual .keyvisual__inner .keyvisual__pc-slider .keyvisual01 .catch img
{
    width: 500px;
}

.pc__keyvisual .keyvisual__inner .keyvisual__pc-slider .keyvisual02 .catch
{
    top: 20vh;
    left: 400px;
}

.pc__keyvisual .keyvisual__inner .keyvisual__pc-slider .keyvisual03 .catch
{
    top: 100px;
    right: 100px;
}

.pc__keyvisual .keyvisual__inner .foot
{
    position: absolute;
    z-index: 100;
    right: 30px;
    bottom: 30px;

    width: 450px;
    height: 450px;
    padding: 100px 60px 80px;

    border-radius: 50%;
    background: rgba(255, 255, 255, .7);
    -webkit-box-shadow: 5px 5px 5px rgba(255, 255, 255, .7), -5px -5px 5px rgba(255, 255, 255, .7);
            box-shadow: 5px 5px 5px rgba(255, 255, 255, .7), -5px -5px 5px rgba(255, 255, 255, .7);
}

.pc__keyvisual .keyvisual__inner .foot::after
{
    position: absolute;
    z-index: 150;
    right: -10px;
    bottom: -10px;

    width: 265px;
    height: 259px;

    content: '';

    background: url('../images/header/h-ornament01.png');
}

.pc__keyvisual .keyvisual__inner .foot .txt
{
    font-size: 14px;
    font-size: 1.4rem;

    position: relative;
    z-index: 160;

    padding: 5px 10px;
}

.pc__keyvisual .keyvisual__inner .foot table
{
    margin-bottom: 10px;
}

.pc__keyvisual .keyvisual__inner .foot table th,
.pc__keyvisual .keyvisual__inner .foot table td
{
    padding: 10px;

    vertical-align: middle;
}

.pc__keyvisual .keyvisual__inner .foot table th span,
.pc__keyvisual .keyvisual__inner .foot table td span
{
    font-size: 12px;
    font-size: 1.2rem;
}

.pc__keyvisual .keyvisual__inner .foot table th
{
    color: #775043;
}

.pc__keyvisual .keyvisual__inner .foot table td
{
    text-align: left;
}

.pc__keyvisual .keyvisual__inner .foot table tr:nth-child(odd) th
{
    background: url('../images/common/bg01.png') no-repeat center center;
    background-size: 100% 100%;
}

.pc__keyvisual .keyvisual__inner .foot table tr:nth-child(even) th
{
    background: url('../images/common/bg02.png') no-repeat center center;
    background-size: 100% 100%;
}

.post__keyvisual
{
    width: 100%;
    margin-bottom: 10px;
}

.post__keyvisual img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

.post__keyvisual h1.sub-title
{
    position: relative;

    width: 100%;

    background: url('../images/common/bg-c-yellow.png') repeat;
}

.post__keyvisual h1.sub-title span
{
    font-family: 'Sawarabi Mincho';

    position: absolute;
    top: -10px;
    left: 0;

    display: block;

    width: 100%;

    text-align: center;
    letter-spacing: 5px;

    color: #333;
}

.aboutchildbirth .post__keyvisual .sub__visu img
{
    -o-object-position: 30% 100%;
       object-position: 30% 100%;
}

.post__sp__keyvisual
{
    padding-top: 90px;
}

.post__sp__keyvisual .sub__visu
{
    height: 300px;
}

.post__sp__keyvisual h1.sub-title
{
    height: 85px;
}

.post__sp__keyvisual h1.sub-title span
{
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 85px;

    height: 85px;

    background-size: auto 85px;
}

.post__pc__keyvisual
{
    height: 550px;
}

.post__pc__keyvisual .sub__visu
{
    height: 400px;
}

.post__pc__keyvisual h1.sub-title
{
    height: 150px;
}

.post__pc__keyvisual h1.sub-title span
{
    font-size: 30px;
    font-size: 3rem;
    line-height: 170px;

    height: 170px;
}

.post__pc__keyvisual.subpage__keyvisual
{
    position: relative;

    height: auto;
    padding: 120px 0 80px;
}

.post__pc__keyvisual.subpage__keyvisual .subpage__visu
{
    position: absolute;
    z-index: 999;
    top: 50px;
    right: 15%;

    width: 350px;
    height: 350px;
}

.post__pc__keyvisual.subpage__keyvisual .subpage__visu img
{
    width: 100%;
    height: 100%;

    -o-object-fit: contain;
       object-fit: contain;
}

.post__pc__keyvisual.subpage__keyvisual h1.sub-title
{
    position: relative;

    height: 200px;

    background: url('../images/common/bg-c-yellow.png') repeat;
}

.post__pc__keyvisual.subpage__keyvisual h1.sub-title::before
{
    position: absolute;
    top: -10px;
    left: 0;

    width: 100%;
    height: 220px;

    content: '';

    background: url('../images/common/tit__ornament.png') no-repeat center;
    background-size: auto 220px;
}

.post__pc__keyvisual.subpage__keyvisual h1.sub-title span
{
    line-height: auto;

    height: auto;
    margin-left: 15%;

    text-align: left;

    background: none;
}

.post__pc__keyvisual.subpage__keyvisual h1.sub-title span.parent-title
{
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 40px;

    top: 50px;

    height: 40px;
}

.post__pc__keyvisual.subpage__keyvisual h1.sub-title span.child-title
{
    line-height: 40px;

    top: 100px;

    height: 40px;
    padding-left: 40px;
}

.post__sp__keyvisual.subpage__keyvisual .subpage__visu img
{
    width: 100%;
    height: 100%;

    -o-object-fit: cover;
       object-fit: cover;
}

/* -----------------------------------------------------------------
  list
----------------------------------------------------------------- */

.page__wrap ol,
.page__wrap li
{
    margin-left: 30px;
}

.flow ol
{
    padding-left: 0;

    list-style-type: none;

    counter-reset: item;
}

.flow ol li
{
    line-height: 80px;

    position: relative;

    text-align: center;

    border-radius: 40px;
    background: #fffde6;
}

.flow ol li:not(:last-child)::after
{
    font-family: 'FontAwesome';
    font-size: 30px;
    font-size: 3rem;

    position: absolute;

    color: #ffdf3a;
}

.flow ol li::before
{
    font-family: 'Sawarabi Mincho';
    font-size: 80px;
    font-size: 8rem;

    position: absolute;

    content: counter(item);
    counter-increment: item;
    -webkit-transform: scale(.8, 1);
    -webkit-transform: rotate(-90deg);
        -ms-transform: scale(.8, 1);
        -ms-transform: rotate(-90deg);
            transform: scale(.8, 1);
            transform: rotate(-90deg);

    color: #ffdf3a;
}

@supports (-ms-ime-align: auto)
{
    .flow ol li:not(:last-child)::after
    {
        top: 85px;

        -webkit-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);
                transform: rotate(-90deg);
    }
}

.flow ol li:not(:last-child)::after _:-ms-lang(x)::-ms-backdrop,
.flow ol li:not(:last-child)::after body
{
    top: 85px;

    -ms-transform: rotate(-90deg);
        transform: rotate(-90deg);
}

@supports (-ms-ime-align: auto)
{
    .flow ol li.many::before
    {
        top: -60px;
        left: 0;
    }

    .flow ol li.many::after
    {
        top: 130px;
        right: -45px;
    }
}

.flow ol li.many _:-ms-lang(x)::-ms-backdrop::before,
.flow ol li.many body::before
{
    top: -60px;
    left: 0;
}

.flow ol li.many _:-ms-lang(x)::-ms-backdrop::after,
.flow ol li.many body::after
{
    top: 130px;
    right: -45px;
}

ul.list-mark01 li
{
    margin-left: 20px;

    list-style-image: url('../images/common/list03.png');
}

ul.list-attention
{
    margin: 0;
    margin-bottom: 20px;
    padding: 0;
}

ul.list-attention li
{
    font-size: 14px;
    font-size: 1.4rem;

    margin: 0;
    margin-left: 20px;
    padding: 0;

    list-style: none;

    color: #999;
}

ul.list-attention li::before
{
    content: '※';
}

ul.list-flower li
{
    margin-bottom: 20px;
    padding-left: 20px;

    list-style: none;
}

ul.list-flower li:nth-child(odd)
{
    background: url('../images/common/list01.png') no-repeat left top 4px;
}

ul.list-flower li:nth-child(even)
{
    background: url('../images/common/list02.png') no-repeat left top 4px;
}

ul.list li
{
    margin-bottom: 5px;
    padding-left: 20px;

    list-style: none;

    background: url('../images/common/list03.png') no-repeat left top 8px;
}

ul.list-float:after
{
    display: block;
    clear: both;

    content: '';
}

ul.list-float li
{
    float: left;
}

ul.list-nomark
{
    margin-left: 0;
}

ul.list-nomark li
{
    margin-left: 0;
    padding: 10px;

    list-style: none;
}

ul.list-inlineblock
{
    font-size: 0;
}

ul.list-inlineblock li
{
    font-size: 16px;
    font-size: 1.6rem;

    display: inline-block;

    white-space: nowrap;
}

/* -----------------------------------------------------------------
  link
----------------------------------------------------------------- */

.page-toggle
{
    display: none;
}

/* -----------------------------------------------------------------
  map
----------------------------------------------------------------- */

.gmap
{
    position: relative;

    width: 100%;
    margin: 0 auto;
    padding-top: 20%;
    padding-bottom: 20%;
}

.gmap iframe
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100% !important;
    height: 100% !important;
}

/* -----------------------------------------------------------------
  table
----------------------------------------------------------------- */

table
{
    margin: 0;
}

.table-def
{
    margin-bottom: 10px;
}

.table-def th,
.table-def td
{
    vertical-align: middle;

    border: 1px solid #ccc;
}

.table-def th
{
    width: 10%;
    padding: 20px;

    background: #fffde6;
}

.table-def td
{
    width: 15%;
    padding: 10px 20px;

    text-align: center;
}

.table-def td:empty
{
    background: #f5f5f5;
}

.table
{
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
}

.table th,
.table td
{
    vertical-align: middle;

    border: 1px solid #ccc;
}

.table th
{
    padding: 5px 10px;

    text-align: center;

    background: rgba(255, 151, 150, .1);
}

.table td
{
    padding: 10px;
}

/* -----------------------------------------------------------------
  utility
  （アイコン・繰り返し使用するスタイル用）
----------------------------------------------------------------- */

#container .obj-fit-img
{
    font-family: 'object-fit: cover; object-position: 0 100%;';

    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: 0 100%;
       object-position: 0 100%;
}

#container .mincho
{
    font-family: 'Sawarabi Mincho';
}

#container .required
{
    color: #f00;
}

#container .example
{
    color: #999;
}

#container .txt-c-black
{
    color: #000;
}

#container .txt-c-main
{
    color: #009700;
}

#container .txt-c-sub
{
    color: #fce327;
}

#container .txt-c-accent
{
    color: #ff9796;
}

#container .txt-sizeS
{
    font-size: 14px;
    font-size: 1.4rem;
}

#container .txt-sizeM
{
    font-size: 16px;
    font-size: 1.6rem;
}

#container .txt-sizeL
{
    font-size: 18px;
    font-size: 1.8rem;
}

#container .txt-sizeLL
{
    font-size: 22px;
    font-size: 2.2rem;
}

#container .txt-bg-main
{
    display: inline-block;

    margin: 0 10px 5px;
    padding: 5px 10px;

    border-radius: 5px;
    background-color: rgba(0, 151, 0, .1);
}

#container .txt-bg-sub
{
    display: inline-block;

    margin: 0 10px 5px;
    padding: 5px 10px;

    border-radius: 5px;
    background-color: rgba(252, 227, 39, .2);
}

#container .txt-bg-accent
{
    display: inline-block;

    margin: 0 10px 5px;
    padding: 5px 10px;

    border-radius: 5px;
    background-color: rgba(255, 151, 150, .1);
}

#container .txt-ws
{
    white-space: normal !important;
}

#container .txt-b
{
    font-weight: bold;
}

#container .txt-l
{
    text-align: left;
}

#container .txt-c
{
    text-align: center;
}

#container .txt-r
{
    text-align: right;
}

#container .mb10
{
    margin-bottom: 10px;
}

#container .mb30
{
    margin-bottom: 30px;
}

#container .mb50
{
    margin-bottom: 50px;
}

#container .mb80
{
    margin-bottom: 80px;
}

#container .mb100
{
    margin-bottom: 100px;
}

#container .p10
{
    padding: 10px;
}

#container .p20
{
    padding: 20px;
}

#container .p30
{
    padding: 30px;
}

#container .p50
{
    padding: 50px;
}

#container .p80
{
    padding: 80px;
}

#container .p100
{
    padding: 100px;
}

#container .pb10
{
    padding-bottom: 10px;
}

#container .pb30
{
    padding-bottom: 30px;
}

#container .pb50
{
    padding-bottom: 50px;
}

#container .pb80
{
    padding-bottom: 80px;
}

#container .pb100
{
    padding-bottom: 100px;
}

#container .br5
{
    border-radius: 5px;
}

#container .br10
{
    border-radius: 10px;
}

#container .br20
{
    border-radius: 20px;
}

#container .br30
{
    border-radius: 30px;
}

#container .br40
{
    border-radius: 40px;
}

#container .bg-beige
{
    background: url('../images/common/bg-c-d.png') repeat center;
}

#container .bg-lyellow
{
    background: url('../images/common/bg-c-y.png') repeat center;
}

#container .bg-yellow
{
    background: url('../images/common/bg-c-yellow.png') repeat center;
}

#container .bg-pink
{
    background: url('../images/common/bg-c-p.png') repeat center;
}

#container .border-pink
{
    border: 3px solid #faa;
}

#container .inline-block
{
    display: inline-block;
}

#container .video
{
    position: relative;

    width: 100%;
    padding-top: 56.25%;
}

#container .video iframe
{
    position: absolute;
    top: 0;
    right: 0;

    width: 100%;
    height: 100%;
}

#container .op-link
{
    -webkit-transition: all .8s;
         -o-transition: all .8s;
            transition: all .8s;
}

#container .op-link:hover
{
    opacity: .5;
}

/* -----------------------------------------------------------------
  breadcrumb
  （パンくず用スタイル）
----------------------------------------------------------------- */

.breadcrumb__wrap
{
    width: 90%;
    max-width: 1040px;
    margin: 0 auto 30px;

    text-align: right;
}

.breadcrumb__wrap li
{
    display: inline-block;
}

.breadcrumb__wrap li::before
{
    font-family: 'FontAwesome';

    margin: 0 5px;
}

.breadcrumb__wrap li:first-child::before
{
    content: '\f015';
}

.breadcrumb__wrap li:not(:first-child)::before
{
    content: '\f0da';
}

.breadcrumb__wrap li:last-child a
{
    text-decoration: none;
}

.breadcrumb__wrap li:last-child a:hover
{
    color: #666;
}

/* -----------------------------------------------------------------
  form
----------------------------------------------------------------- */

select
{
    font-size: 16px;

    -webkit-transform: scale(.8);
        -ms-transform: scale(.8);
            transform: scale(.8);

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

select
{
    display: block;

    width: 95%;
    margin: 0 auto 20px;
    padding: 10px;

    border: 1px solid #999;
    background: #eee;
    background: url(arrow01.png) right 50% no-repeat, -webkit-linear-gradient(top, #fff 0%, #efebe1 100%);
    background: url(arrow01.png) right 50% no-repeat, -webkit-gradient(linear, left top, left bottom, from(#fff), to(#efebe1));
    background: url(arrow01.png) right 50% no-repeat, -o-linear-gradient(top, #fff 0%, #efebe1 100%);
    background: url(arrow01.png) right 50% no-repeat, linear-gradient(to bottom, #fff 0%, #efebe1 100%);
    background-size: 20px, 100%;

    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
}

/* -----------------------------------------------------------------
  nav-links
----------------------------------------------------------------- */

.screen-reader-text
{
    display: none;
}

.archive .nav-links,
.blog .nav-links
{
    margin-bottom: 50px;

    text-align: center;
}

.archive .nav-links span,
.blog .nav-links span
{
    line-height: 30px;

    display: inline-block;

    width: 30px;

    text-align: center;
    text-decoration: none;

    color: #666;
    background: #fff;
}

.archive .nav-links a,
.blog .nav-links a
{
    line-height: 30px;

    display: inline-block;

    width: 30px;

    text-align: center;
    text-decoration: none;

    color: #fff;
    border-radius: 5px;
    background: #ff9796;
}

.archive .nav-links a.next,
.archive .nav-links a.prev,
.blog .nav-links a.next,
.blog .nav-links a.prev
{
    width: auto;
    padding: 0 20px;

    border-radius: 5px;
}

.archive .nav-links a:hover,
.blog .nav-links a:hover
{
    color: #666;
    background: rgba(255, 151, 150, .5);
}

.single .nav-links
{
    overflow: hidden;

    margin-bottom: 50px;
}

.single .nav-links:after
{
    display: block;
    clear: both;

    content: '';
}

.single .nav-links a
{
    display: inline-block;

    padding: 15px 30px 13px;

    text-decoration: none;

    color: #fff;
    border-radius: 5px;
    background: #ff9796;
}

.single .nav-links a:hover
{
    background: rgba(255, 151, 150, .7);
}

.single .nav-links .nav-previous,
.single .nav-links .nav-next
{
    width: 48%;
}

.single .nav-links .nav-previous
{
    float: left;
}

.single .nav-links .nav-next
{
    float: right;

    text-align: right;
}

/* -----------------------------------------------------------------
  animation
----------------------------------------------------------------- */

.ef
{
    -webkit-transition: all 1s;
         -o-transition: all 1s;
            transition: all 1s;
}

.ef.lazyload.fadeBtm
{
    -webkit-transform: translateY(200px);
        -ms-transform: translateY(200px);
            transform: translateY(200px);

    opacity: 0;
}

.ef.lazyloaded.fadeBtm
{
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);

    opacity: 1;
}

.ef.lazyload.fadeIn
{
    -webkit-transition: all 2s;
         -o-transition: all 2s;
            transition: all 2s;

    opacity: 0;
}

.ef.lazyloaded.fadeIn
{
    opacity: 1;
}

/* --------------------------------------------
 トップページのみ使用
-------------------------------------------- */

.pc__header .ef.lazyload.fadeInLeft
{
    -webkit-transition: all 2s;
         -o-transition: all 2s;
            transition: all 2s;
    -webkit-transform: translateX(-300px);
        -ms-transform: translateX(-300px);
            transform: translateX(-300px);

    opacity: 0;
}

.pc__header .ef.lazyloaded.fadeInLeft
{
    -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
            transform: translateX(0);

    opacity: 1;
}

.ef.efFrontAbout
{
    -webkit-transition: all 2s;
         -o-transition: all 2s;
            transition: all 2s;

    opacity: 0;
}

.ef.lazyloaded.efFrontAbout
{
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);

    opacity: 1;
}

.ef.lazyload.efFrontAbout.ef1
{
    -webkit-transform: translateY(100px);
        -ms-transform: translateY(100px);
            transform: translateY(100px);
}

.ef.lazyload.efFrontAbout.ef2
{
    -webkit-transform: translateY(150px);
        -ms-transform: translateY(150px);
            transform: translateY(150px);
}

.ef.lazyload.efFrontAbout.ef3,
.ef.lazyload.efFrontAbout.ef4
{
    -webkit-transform: translateY(200px);
        -ms-transform: translateY(200px);
            transform: translateY(200px);
}

.ef.lazyload.efFrontAbout.ef5
{
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            transform: translateY(250px);
}

.ef.lazyload.efFrontAbout.ef6
{
    -webkit-transform: translateY(300px);
        -ms-transform: translateY(300px);
            transform: translateY(300px);
}

@media screen and (min-width: 768px)
{
    .page__inner .page__wrap
    {
        float: right;

        width: 70%;
    }

    /* -----------------------------------------------------------------
  footer
----------------------------------------------------------------- */

    .footer .head
    {
        padding: 30px 20px 25px;
    }

    .footer .head li
    {
        float: left;

        width: 25%;
    }

    .footer .head li img
    {
        max-width: 98%;
    }

    .footer .foot
    {
        padding-top: 35px;
    }

    .footer .foot ul
    {
        overflow: hidden;

        margin: 0;
        margin: 0 0 45px;
        padding: 0;

        text-align: center;
    }

    .footer .foot li
    {
        display: inline-block;

        margin: 0;
        padding: 0;
    }

    .footer .foot li a
    {
        line-height: 1;

        padding: 5px 20px;
    }

    .footer .foot li:not(:last-child)
    {
        border-right: 1px solid #666;
    }

    .contents .side
    {
        float: left;

        width: 25%;
    }

    .contents .report__main,
    .contents .post__main
    {
        float: right;

        width: 73%;
    }

    .contents .side--inner
    {
        width: 96%;
        margin: 0 0 30px;
        padding: 20px;

        background: url('../images/report/report-line-bar.png') no-repeat left top, url('../images/report/report-line-bar.png') no-repeat right top;
    }

    .contents .side--inner h3
    {
        font-family: 'Noto Serif JP', serif;
        font-size: 17px;
        font-size: 1.7rem;
        font-weight: normal;
        line-height: 45px;

        height: 45px;
        margin: 0;
        padding-left: 40px;

        background: url('../images/report/side-om-flower.png') no-repeat left top, url('../images/report/report-line-cross.png') no-repeat left bottom;
    }

    .contents .side--inner ul,
    .contents .side--inner li
    {
        margin: 0;
        padding: 0;

        list-style: none;

        background: url('../images/report/report-line-cross.png') no-repeat left bottom;
    }

    .contents .side--inner ul a,
    .contents .side--inner li a
    {
        font-size: 14px;
        font-size: 1.4rem;

        display: block;

        padding: 15px 20px 15px 5px;

        text-decoration: none;

        background: url('../images/common/arrow03.png') no-repeat right 5px center;
        background-size: 14px auto;
    }

    .contents .side--inner ul a:hover,
    .contents .side--inner li a:hover
    {
        background-position-x: right 1px;
    }

    .post__inner
    {
        max-width: 1040px;
        margin: 0 auto 100px;
    }

    .post__archive
    {
        margin-bottom: 50px;
        padding: 50px;
    }

    #container .gallery__inner
    {
        width: 1040px;
        margin: 0 auto;
    }

    #container .gallery__main .gallery__wrap
    {
        width: 100%;
        max-width: 1040px;
        margin: 0 auto 50px;
    }

    #container .gallery__main .gallery__list
    {
        margin: 0 auto;
    }

    #container .gallery__main .gallery__list li
    {
        float: left;

        width: 32%;
        margin-right: 2%;
    }

    #container .gallery__main .gallery__list li:nth-child(3n)
    {
        margin-right: 0;
    }

    .report__wrap--header h1
    {
        margin-bottom: 15px;
    }

    .report__inner
    {
        width: 1040px;
        margin: 0 auto;
    }

    .report__main .report__wrap
    {
        width: 100%;
        max-width: 1040px;
        margin: 0 auto 50px;
    }

    .report__main .report__list
    {
        margin: 0 auto;
    }

    .report__main .report__list li
    {
        float: left;

        width: 32%;
        margin-right: 2%;
    }

    .report__main .report__list li:nth-child(3n)
    {
        margin-right: 0;
    }

    .front__wrap .front-link .box
    {
        float: left;

        width: 48%;
        padding: 30px;
    }

    .front__wrap .front-link .box .text-box
    {
        line-height: 2;
    }

    .front__wrap .front-about .box
    {
        width: 32%;
        margin-right: 2%;
    }

    .front__wrap .front-about .box a
    {
        min-height: 300px;
    }

    .front__wrap .front-about .box:nth-child(3n)
    {
        margin-right: 0;
    }

    .front__wrap .front-news
    {
        height: 400px;
        padding: 50px 0;

        background: url('../images/common/bg-front-news.png') no-repeat left top #fafcfb;
    }

    .front__wrap .front-news .front-news-inner
    {
        max-width: 1040px;
        margin: 0 auto;
    }

    .front__wrap .front-news .front-news-inner .box-left
    {
        float: left;

        width: 35%;
    }

    .front__wrap .front-news .front-news-inner .box-center
    {
        float: left;

        width: 50%;
    }

    .front__wrap .front-news .front-news-inner .box-right
    {
        float: right;

        width: 15%;
        padding-top: 100px;
    }

    .front__wrap .front-news .front-news-inner .table-news
    {
        overflow-y: auto;

        height: 300px;
    }

    .front__wrap .front-news h3
    {
        margin-top: 100px;
    }

    .front__wrap .front-news table td
    {
        line-height: 1.2;

        padding: 15px 10px;
    }

    .front__wrap .front-gallery .front-gallery-img
    {
        max-width: 1040px;
    }

    .front__wrap .front-gallery .front-gallery-img li
    {
        float: left;

        width: 192px;
        margin-right: 10px;

        list-style: none;
    }

    .page .page__wrap
    {
        padding: 50px 0 80px;
    }

    .page .page__wrap .box
    {
        width: 100%;
        margin-bottom: 50px;
        padding: 0;
    }

    .page .page__wrap .box .photo-box,
    .page .page__wrap .box .text-box
    {
        float: left;

        margin-right: 30px;
    }

    .page .page__wrap .box .photo-box.last,
    .page .page__wrap .box .text-box.last
    {
        margin-right: 0;
    }

    .page .page__wrap .box .photo-box
    {
        width: 400px;
    }

    .page .page__wrap .box .text-box
    {
        width: 50%;
        width: calc(100% - 430px);
    }

    .page-doctors .introduction .image
    {
        float: left;

        width: 60%;
        padding: 5px;
    }

    .page-doctors .introduction .text
    {
        float: right;

        width: 37%;
    }

    .page-doctors .introduction .text table th
    {
        text-align: left;
        white-space: nowrap;
    }

    .page-doctors .introduction .text.only
    {
        width: 100%;
    }

    .page-access .access__parking .times-rule li img
    {
        max-width: 400px;
    }

    .page-satogaeri .satogaeri-flow
    {
        margin-bottom: 100px;
    }

    .page-satogaeri .satogaeri-flow .photo-box
    {
        float: left;

        width: 25%;
    }

    .page-satogaeri .satogaeri-flow .text-box
    {
        float: left;

        width: 75%;
    }

    .page__wrap.page__block .count--list .number
    {
        float: left;
    }

    .page__wrap.page__block .count--list .content
    {
        float: left;

        width: 70%;
        width: calc(100%-220px);
    }

    .wrap .col
    {
        float: left;

        margin: 0;
        margin-right: 2%;
    }

    .wrap .col.last
    {
        margin-right: 0;
    }

    .wrap .col.col2
    {
        width: 49%;
    }

    .wrap .col.col3
    {
        width: 32%;
    }

    .flow
    {
        margin-top: 50px;
        padding: 30px 0;
    }

    .flow ol li
    {
        float: left;

        width: 80px;
        height: 320px;
        margin-bottom: 60px;

            -ms-writing-mode: tb-rl;

        -webkit-writing-mode: vertical-rl;
                writing-mode: vertical-rl;
    }

    .flow ol li::before
    {
        top: -40px;
        left: 0;
    }

    .flow ol li:not(:last-child)
    {
        margin-right: 20px;
    }

    .flow ol li:not(:last-child)::after
    {
        top: 135px;
        right: -65px;

        content: '\f0da';
    }

    .flow ol li.many
    {
        line-height: 1.2;

        padding: 40px 10px 0;

        text-align: left;
    }

    .flow ol li.many::after
    {
        right: -45px;
    }

    .flow ol li.many span.many01
    {
        display: inline-block;

        height: 170px;
        margin-bottom: 5px;
    }

    .flow ol li.many span.many02
    {
        display: inline-block;

        height: 80px;
    }

    .anchor-link
    {
        display: block;

        margin-bottom: 50px;
        padding: 30px 40px;

        text-align: center;

        border-radius: 100px;
        background: url('../images/common/bg-c-yellow.png') repeat center;
    }

    .anchor-link ul,
    .anchor-link li
    {
        margin: 0;
        padding: 0;
    }

    .anchor-link ul li
    {
        display: inline-block;

        margin: 0 5px 5px 0;

        list-style: none;
    }

    .anchor-link ul li a
    {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 40px;

        display: block;

        padding: 0 50px 0 20px;
        padding-right: 100px;

        -webkit-transition: all 1s;
             -o-transition: all 1s;
                transition: all 1s;
        text-align: left;
        text-decoration: none;

        background: url('../images/common/arrow-anchor-off.png') no-repeat top 5px right 10px #fff;
    }

    .anchor-link ul li a:hover
    {
        background-image: url('../images/common/arrow-anchor-on.png');
    }

    #container .d-sp
    {
        display: none;
    }

    #container .d-pc
    {
        display: block;
    }

    .single .nav-links
    {
        padding: 0 30px;
    }
}

@media screen and (min-width: 1040px)
{
    /* -----------------------------------------------------------------
  footer
----------------------------------------------------------------- */

    .footer .head
    {
        padding: 50px 0;
    }

    .footer .footer__inner
    {
        width: 1040px;
        margin: 0 auto;
    }

    .footer .footer__inner .body .common
    {
        float: left;

        width: 390px;
    }

    .footer .footer__inner .body .common h5
    {
        margin-bottom: 10px;
    }

    .footer .footer__inner .body .nav
    {
        float: left;

        width: 400px;
    }

    .footer .footer__inner .body .nav ul
    {
        margin-left: 25px;
    }

    .footer .footer__inner .body .nav ul ul
    {
        margin-bottom: 20px;
        margin-left: 0;
    }

    .footer .footer__inner .body .nav .box
    {
        float: left;
    }

    .footer .footer__inner .body .nav .box.left
    {
        width: 40%;
    }

    .footer .footer__inner .body .nav .box.right
    {
        width: 60%;
    }

    .footer .footer__inner .body .banner
    {
        float: left;

        width: 250px;
    }

    .page .page-list
    {
        max-width: 1040px;
    }

    .page .page-list li
    {
        width: 300px;
        margin-right: 70px;
    }

    .page .page-list li:nth-child(3n)
    {
        margin-right: 0;
    }

    .pc__keyvisual .keyvisual__inner .keyvisual__pc-slider .keyvisual01 .catch img
    {
        width: 100%;
    }
}

@media screen and (max-width: 1039px)
{
    .qa__box
    {
        /* padding: 0 20px; */
    }
}

@media screen and (max-width: 767px)
{
    .mobile__header .toggle
    {
        position: fixed;
        z-index: 10000;
        top: 15px;
        right: 15px;

        border-radius: 5px;
    }

    .mobile__header .header__head
    {
        position: fixed;
        z-index: 9999;
        top: 0;
        left: 0;

        width: 100%;
        height: 90px;
        padding: 15px 90px 15px 15px;

        background: url('../images/common/bg-c-b.png');
        -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, .1);
                box-shadow: 1px 1px 2px rgba(0, 0, 0, .1);
    }

    .mobile__header .header__head .title img
    {
        max-width: 100%;
        height: 60px;
    }

    .emergency
    {
        bottom: 100px;
        left: 0;

        width: 100%;
    }

    .emergency .emergency--dl
    {
        width: 90%;
        margin: 0 auto;
    }

    .emergency .emergency--dl dt,
    .emergency .emergency--dl dd
    {
        display: block;

        width: 100%;
    }

    .emergency .emergency--dl dt
    {
        line-height: 40px;

        height: 40px;
    }

    .mobile__header
    {
        position: relative;
    }

    .page__inner .page__wrap
    {
        float: none;

        width: 96%;
    }

    /* -----------------------------------------------------------------
  footer
----------------------------------------------------------------- */

    .footer .head
    {
        padding: 20px 10px;
    }

    .footer .head li
    {
        float: left;

        width: 50%;
    }

    .footer .head li img
    {
        max-width: 98%;
    }

    .footer .footer__inner
    {
        width: 100%;
        margin: 0 auto;
    }

    /* -----------------------------------------------------------------
  sidebar
----------------------------------------------------------------- */

    .contents .side--inner h3
    {
        display: none;
    }

    .contents .news__side
    {
        margin-bottom: 30px;
    }

    .contents .news__side .side--inner
    {
        margin-bottom: 30px;
    }

    .contents .news__side .side--inner ul
    {
        border-top: 1px solid #e6e3d8;
        border-bottom: 1px solid #e6e3d8;
    }

    .contents .news__side .side--inner ul li
    {
        float: left;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 25%;
        margin: 0;
        padding: 0;

        list-style: none;

        text-align: center;
    }

    .contents .news__side .side--inner ul li a
    {
        font-size: 17px;
        font-size: 1.7rem;
        line-height: 60px;

        display: block;

        text-decoration: none;

        color: #9c937a;
        background: url('../images/common/bg-c-b.png');
    }

    .contents .news__side .side--inner ul li a:hover
    {
        background: url('../images/common/bg-c-be.png');
    }

    .contents .news__side .side--inner ul li:not(:last-child)
    {
        border-right: 1px solid #e6e3d8;
    }

    .contents .aboutchildbirth__side
    {
        display: none;
    }

    .post__archive
    {
        width: 90%;
        margin: 0 auto 50px;
        padding: 30px;
    }

    .post__archive table tr
    {
        display: block;

        padding: 20px 10px 15px;
    }

    .post__archive table tr td
    {
        display: inline;

        padding: 5px 0;
    }

    .post__archive table tr td:last-child
    {
        display: block;

        margin-top: 10px;
    }

    #container .gallery__inner .gallery__main
    {
        padding: 0 15px;
    }

    #container .gallery__inner .gallery__main .gallery-item
    {
        width: 50%;
    }

    .report__wrap
    {
        width: 90%;
        margin: 0 auto 50px;
    }

    .report__wrap .report__wrap--header .report__catch
    {
        margin-bottom: 30px;
    }

    .report__wrap .report__wrap--header h3
    {
        font-size: 20px;
        font-size: 2rem;
    }

    .report__wrap .report__wrap--content
    {
        line-height: 1.5;

        width: 90%;
        margin: 0 auto 50px;
    }

    .report__wrap .report__list
    {
        margin: 0 auto;
    }

    .report__wrap .report__list .report__list--inner
    {
        width: 90%;
        margin: 0 auto;
    }

    .front__wrap .front-message
    {
        max-width: 95%;
    }

    .front__wrap .front-link h3 span
    {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .front__wrap .front-link .front-link-inner .box
    {
        width: 90%;
        margin: 0 auto 50px;
        padding: 20px;
    }

    .front__wrap .front-link .front-link-inner .box:nth-child(even)
    {
        margin: 0 auto;
    }

    .front__wrap .front-link .front-link-inner .box .text-box
    {
        line-height: 1.5;
    }

    .front__wrap .front-link .front-link-inner .box a img
    {
        width: 80px;
        height: auto;
    }

    .front__wrap .front-about
    {
        width: 95%;
        margin: 0 auto;
    }

    .front__wrap .front-about .box
    {
        width: 48%;
        margin-right: 4%;
    }

    .front__wrap .front-about .box:nth-child(even)
    {
        margin-right: 0;
    }

    .front__wrap .front-news
    {
        height: auto;
    }

    .front__wrap .front-news .front-news-inner
    {
        padding: 0 0 50px;
    }

    .front__wrap .front-news .front-news-inner h3
    {
        padding: 0;
    }

    .front__wrap .front-news .front-news-inner h3::before
    {
        -webkit-transform: translateX(-40px);
            -ms-transform: translateX(-40px);
                transform: translateX(-40px);
    }

    .front__wrap .front-news .front-news-inner .box-left
    {
        height: 250px;

        background: url('../images/common/bg-front-news-mobile.png') no-repeat center top #fafcfb;
        background-size: 100% auto;
    }

    .front__wrap .front-news .front-news-inner .box-right
    {
        margin-top: -120px;
    }

    .front__wrap .front-news .front-news-inner .table-news
    {
        overflow-y: auto;

        height: 300px;
    }

    .front__wrap .front-news .front-news-inner .box-center
    {
        padding: 30px;
    }

    .front__wrap .front-news table
    {
        display: block;
    }

    .front__wrap .front-news table tr
    {
        display: block;
    }

    .front__wrap .front-news table tr::after
    {
        display: block;
        clear: both;

        content: '';
    }

    .front__wrap .front-news table td
    {
        line-height: 1.5;

        display: block;

        padding: 10px 5px;
    }

    .front__wrap .front-news table td:first-child,
    .front__wrap .front-news table td:nth-child(2)
    {
        float: left;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 50%;
    }

    .front__wrap .front-news table td:last-child
    {
        border-bottom: 1px dashed #ccc;
    }

    .front__wrap .front-gallery
    {
        padding: 50px 0;
    }

    .front__wrap .front-gallery .front-gallery-img
    {
        width: 90%;
    }

    .page
    {
        /* -----------------------------------------------------------------
  common pages
----------------------------------------------------------------- */
    }

    .page h2.om
    {
        font-size: 26px;
        font-size: 2.6rem;
    }

    .page .page__wrap
    {
        padding: 50px 20x;
    }

    .page .page-list
    {
        width: 300px;
        margin: 0 auto 50px;
    }

    .page-consultation .mes .text-box
    {
        text-align: center;
    }

    .page-consultation .box
    {
        margin-top: -60px;
        padding-top: 60px;
        padding-bottom: 50px;
    }

    .page-maternityclass .txt__box
    {
        margin-bottom: 30px;
    }

    .page-maternityclass .photo__box
    {
        text-align: center;
    }

    .page-maternityclass .photo__box img
    {
        max-width: 100%;
        height: auto;
    }

    .page-doctors .introduction .image
    {
        margin-bottom: 30px;
    }

    .page-access .access__parking .times-rule li img
    {
        max-width: 300px;
    }

    .page-access .times__price thead th
    {
        background: url(../images/common/times-logo.png) no-repeat rgba(255, 151, 150, .3) center top 20px;
        background-size: 100px auto;
    }

    .page-access .times__price thead th .title
    {
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 1.2;

        padding: 60px 0 0;
    }

    .page-satogaeri .satogaeri-flow
    {
        margin-bottom: 50px;
    }

    .page-satogaeri .satogaeri-flow .photo-box
    {
        text-align: center;
    }

    .contact__wrap .contact__table
    {
        display: block;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
    }

    .contact__wrap .contact__table thead,
    .contact__wrap .contact__table tbody,
    .contact__wrap .contact__table tr
    {
        display: block;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        width: 100%;
    }

    .contact__wrap .contact__table th,
    .contact__wrap .contact__table td
    {
        display: block;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        padding: 5px;

        text-align: left;
    }

    .contact__wrap .contact__table tr + tr
    {
        margin-top: 30px;
    }

    .contact__wrap .contact__table input.contact_dial
    {
        width: 28%;
    }

    .aboutchildbirth__side
    {
        display: none;
    }

    .page__wrap.page__block
    {
        padding-top: 0;
    }

    .page__wrap.page__block .section__box .temp-table th,
    .page__wrap.page__block .section__box .temp-table td
    {
        padding: 10px 5px;
    }

    .page__wrap.page__block .section__box .temp-table thead th
    {
        white-space: normal;
    }

    .page__wrap.page__block .section__box .count--list
    {
        margin-bottom: 50px;
    }

    .page__wrap.page__block .section__box .count--list li:not(:last-child)::before
    {
        left: 50%;

        -webkit-transform: translateX(-15px);
            -ms-transform: translateX(-15px);
                transform: translateX(-15px);
    }

    .page__wrap.page__block .section__box .count--list .content
    {
        padding: 20px 0;
    }

    .page__wrap.page__block .section__box .count--list .content dt
    {
        text-align: center;
    }

    .post__keyvisual h1.sub-title span
    {
        top: 0;
    }

    .flow
    {
        padding: 30px 20px;
    }

    .flow ol
    {
        width: 300px;
        margin: 0 auto;
    }

    .flow ol li
    {
        width: 300px;
        height: 80px;
    }

    .flow ol li.many
    {
        line-height: 1.2;

        padding: 10px 0 0 30px;

        text-align: left;
        text-align: center;
    }

    .flow ol li.many::after
    {
        line-height: 80px;
    }

    .flow ol li.many span.many01
    {
        display: inline-block;

        margin-bottom: 5px;
    }

    .flow ol li.many span.many02
    {
        display: inline-block;
    }

    .flow ol li::before
    {
        top: 0;
        left: -20px;

        -webkit-transform: rotate(0);
            -ms-transform: rotate(0);
                transform: rotate(0);
    }

    .flow ol li:not(:last-child)
    {
        margin-bottom: 50px;
    }

    .flow ol li:not(:last-child)::after
    {
        bottom: -65px;
        left: 135px;

        content: '\f0d7';
    }

    .anchor-link
    {
        margin-bottom: 30px;
    }

    .anchor-link .page-toggle
    {
        line-height: 50px;

        display: block;

        cursor: pointer;
        text-align: center;

        border-radius: 25px;
        background: rgba(252, 227, 39, .5);
    }

    .anchor-link ul
    {
        display: none;

        width: 300px;
        margin: 0 auto;

        border-radius: 10px;
        background: #fff;
        -webkit-box-shadow: 2px 2px 3px rgba(0, 0, 0, .05);
                box-shadow: 2px 2px 3px rgba(0, 0, 0, .05);
    }

    .anchor-link ul li
    {
        margin: 0;
        margin: 0 10px;
        padding: 0;

        list-style: none;
    }

    .anchor-link ul li:not(:last-child)
    {
        border-bottom: 1px dashed #ccc;
    }

    .anchor-link ul li a
    {
        line-height: 50px;

        display: block;

        padding: 0 50px 0 10px;

        text-decoration: none;

        background: url('../images/common/arrow02.png') no-repeat right 10px center;
    }

    .gmap
    {
        padding-top: 40%;
        padding-bottom: 40%;
    }

    #container .d-sp
    {
        display: block;
    }

    #container .d-pc
    {
        display: none;
    }

    .breadcrumb__wrap
    {
        line-height: 1.5;

        margin: 0 10px 10px;

        text-align: left;
    }

    .breadcrumb__wrap li:last-child
    {
        color: #999;
    }

    .single .nav-links
    {
        width: 90%;
        margin: 0 auto 50px;
    }
}

@media screen and (max-width: 479px)
{
    /* -----------------------------------------------------------------
  footer
----------------------------------------------------------------- */

    .footer
    {
        margin-bottom: 60px;
    }

    .footer .footer__inner .body
    {
        padding: 20px;
    }

    .footer .footer__inner .info
    {
        text-align: center;
    }

    .front__wrap .front-about .box img
    {
        max-width: 100%;
        height: 180px;
    }

    .front__wrap .front-about .box h3
    {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .page .page__wrap
    {
        width: 100%;
    }

    .page .page__wrap h2.om
    {
        font-size: 20px;
        font-size: 2rem;
    }

    .page .page__wrap h2,
    .page .page__wrap h2:not(.om)
    {
        font-size: 20px;
        font-size: 2rem;
    }

    .page .page__wrap h3
    {
        font-size: 20px;
        font-size: 2rem;
    }

    .page .page__wrap h4
    {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .page .page__wrap h5
    {
        font-size: 16px;
        font-size: 1.6rem;
    }

    .page .page__wrap .spaceL
    {
        overflow: hidden;

        height: 50px;
    }

    .post__pc__keyvisual.subpage__keyvisual
    {
        overflow: hidden;

        padding-top: 90px;
        padding-bottom: 0;
    }

    .post__pc__keyvisual.subpage__keyvisual .subpage__visu
    {
        position: absolute;
        z-index: 999;
        top: 115px;
        right: 10px;

        width: 150px;
        height: 150px;
    }

    .post__pc__keyvisual.subpage__keyvisual h1.sub-title
    {
        left: 0;

        margin-bottom: 0;
        padding: 0;
    }

    .post__pc__keyvisual.subpage__keyvisual h1.sub-title span.parent-title
    {
        font-size: 18px;
        font-size: 1.8rem;
    }

    .post__pc__keyvisual.subpage__keyvisual h1.sub-title span.child-title
    {
        font-size: 20px;
        font-size: 2rem;
        line-height: 1.5;

        width: 50%;
        padding-left: 20px;
    }

    .post__pc__keyvisual.subpage__keyvisual h1.sub-title span
    {
        font-size: 20px;
        font-size: 2rem;
        line-height: 200px;

        height: 200px;
        margin-left: 10px;

        text-align: left;

        background-position-x: left -10px;
        background-size: auto 80%;
    }

    .post__sp__keyvisual h1.sub-title span
    {
        left: 0;
    }

    .table-def
    {
        width: 100%;
    }

    .table-def th,
    .table-def td
    {
        font-size: 12px;
        font-size: 1.2rem;

        width: 16%;
        padding: 10px 5px;
    }

    .table-def td
    {
        text-align: left;
    }
}

@media screen and (min-width: 480px) and (max-width: 767px)
{
    .page__inner .page__wrap
    {
        float: right;

        width: 70%;
    }

    /* -----------------------------------------------------------------
  footer
----------------------------------------------------------------- */

    .footer .footer__inner
    {
        width: 100%;
        max-width: 600px;
        margin: 0 auto;
        padding: 50px 20px;
    }

    .footer .footer__inner .body
    {
        width: 100%;
    }

    .footer .footer__inner .body .common
    {
        margin-bottom: 30px;

        text-align: center;
    }

    .footer .footer__inner .body .common table
    {
        margin: 0 auto;
    }

    .footer .footer__inner .body .nav
    {
        float: left;

        width: 50%;
    }

    .footer .footer__inner .body .nav ul
    {
        margin-left: 20px;
    }

    .footer .footer__inner .body .nav ul ul
    {
        margin-left: 0;
    }

    .footer .footer__inner .body .banner
    {
        float: left;

        width: 50%;

        text-align: center;
    }
}

@media screen and (min-width: 480px) and (max-width: 1039px)
{
    /* -----------------------------------------------------------------
  footer
----------------------------------------------------------------- */

    .footer .footer__inner .common
    {
        margin-bottom: 30px;
    }

    .footer .footer__inner .body
    {
        max-width: 800px;
        margin: 0 auto;
    }

    .footer .footer__inner .body .info
    {
        text-align: center;
    }
}

@media screen and (min-width: 768px) and (max-width: 1039px)
{
    /* -----------------------------------------------------------------
  footer
----------------------------------------------------------------- */

    .footer .footer__inner
    {
        width: 100%;
        margin: 0 auto;
    }

    .footer .footer__inner .body .common .info,
    .footer .footer__inner .body .common .schedule
    {
        float: left;

        width: 50%;
    }

    .footer .footer__inner .body .nav
    {
        float: left;

        width: 50%;
    }

    .footer .footer__inner .body .nav ul
    {
        margin-left: 50px;
    }

    .footer .footer__inner .body .banner
    {
        float: left;

        width: 50%;

        text-align: center;
    }

    .page .page-list
    {
        width: 760px;
        margin: 0 auto 80px;
    }

    .page .page-list li
    {
        width: 350px;
        margin-right: 60px;
    }

    .page .page-list li:nth-child(2n)
    {
        margin-right: 0;
    }
}

@media all and (-ms-high-contrast: none)
{
    .flow ol li:not(:last-child)::after
    {
        top: 85px;

        -webkit-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);
                transform: rotate(-90deg);
    }

    .flow ol li.many::before
    {
        top: -60px;
        left: 0;
    }

    .flow ol li.many::after
    {
        top: 130px;
        right: -45px;
    }
}
/*# sourceMappingURL=main.css.map */
