@charset 'UTF-8';

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

.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;
}

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:after
{
    display: block;
    visibility: hidden;
    clear: both;

    height: 0;

    content: '.';
}

.clearfix
{
    min-height: 1px;
}

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

.both
{
    clear: both;
}

.inline_block
{
    display: inline-block;

    *display: inline;
    *zoom: 1;
}

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

html
{
    font-size: 62.5%;
}

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-family: -apple-system,BlinkMacSystemFont,'Helvetica Neue',YuGothic,'ヒラギノ角ゴ ProN W3',Hiragino Kaku Gothic ProN,Arial,'メイリオ',Meiryo,sans-serif;
    font-family: 'M PLUS Rounded 1c';

    -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: #333;
}

body a:hover
{
    color: #666;
}

body p
{
    color: #666;
}

body div
{
    color: #666;
}

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

    color: #00aca0;
}

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;
}

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

.header
{
    position: fixed;
    z-index: 99999;
    top: 0;
    left: 0;

    width: 100%;

    background: #fff;
    -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, .1);
            box-shadow: 1px 1px 2px rgba(0, 0, 0, .1);
}

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

.mobile__btn
{
    position: fixed;
    z-index: 100;
    bottom: 0;

    width: 100%;

    background: #fff;
}

.mobile__btn .homeback,
.mobile__btn .dialpush
{
    float: left;

    width: 50%;

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

.mobile__btn .dialpush
{
    background: rgba(0, 172, 160, .5);
}

.mobile__btn a
{
    font-size: 20px;
    font-size: 2rem;
    line-height: 60px;

    display: block;

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

    color: #fff;
}

.mobile__btn a:hover
{
    color: #000;
}

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

.main
{
    overflow: hidden;

    padding-bottom: 100px;
}

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

.footer
{
    overflow: hidden;

    background: #00aca0;
}

.footer a
{
    color: #e99700;
}

.footer .footer__inner
{
    margin: 0 auto;
}

.footer .footer__inner .card
{
    line-height: 1.5;

    float: left;

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

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

.footer .footer__inner .info .card-body .table-wrap
{
    margin-bottom: 10px;
    padding: 10px;

    border-radius: 10px;
    background: rgba(0, 172, 160, .1);
}

.footer .footer__inner .info .card-body .table-wrap table
{
    width: 100%;
}

.footer .footer__inner .info .card-body .table-wrap table td
{
    width: 10%;
    padding: 10px 0;

    border-left: 1px dashed #ccc;
}

.footer .footer__inner .info .card-body .table-wrap table th,
.footer .footer__inner .info .card-body .table-wrap table td
{
    text-align: center;

    border-bottom: 1px dashed #ccc;
}

.footer .footer__inner .info .card-body .table-wrap table tr:last-child th,
.footer .footer__inner .info .card-body .table-wrap table tr:last-child td
{
    border-bottom: 0;
}

.footer .copyright p
{
    text-align: center;

    color: #fff;
}

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

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

#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);
}

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

.gnav__link ul,
.gnav__link li
{
    overflow: hidden;

    margin: 0;
    padding: 0;
}

.gnav__link li
{
    list-style: none;
}

.gnav__link li a
{
    text-decoration: none;
}

.toggle
{
    display: none;
}

/* -----------------------------------------------------------------
  container
----------------------------------------------------------------- */

#container
{
    width: 100%;
}

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

/* -----------------------------------------------------------------
  sidebar
----------------------------------------------------------------- */

.widget-banner a
{
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 80px;

    display: block;

    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 90%;

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

    border: #f5f5f5 1px solid;
    border-radius: 5px;
    background: #fff;

    -webkit-filter: drop-shadow(5px 5px 0 rgba(0, 172, 160, .5));
            filter: drop-shadow(5px 5px 0 rgba(0, 172, 160, .5));
}

.widget-banner a:hover
{
    margin: 5px 0 0 5px;

    border: #d6d6d6 1px solid;

    -webkit-filter: initial;
            filter: initial;
}

.side-widget
{
    margin-bottom: 40px;
}

.side-widget h3.widget__title
{
    line-height: 40px;

    position: relative;

    margin-bottom: 10px;
    padding: 0 20px 5px 10px;

    background: #f8f8f8;
}

.side-widget h3.widget__title::before
{
    position: absolute;
    bottom: 0;
    left: 0;

    width: 100%;
    height: 3px;

    content: '';

    background: rgba(0, 172, 160, .5);
}

.side-widget h3.widget__title::after
{
    position: absolute;
    bottom: 5px;
    left: 0;

    width: 100%;
    height: 2px;

    content: '';

    background: rgba(0, 172, 160, .2);
}

.side-widget ul
{
    margin-left: 10px;
}

.side-widget ul li
{
    list-style: none;
}

.side-widget ul li::before
{
    font-size: 10px;
    font-size: 1rem;

    margin-right: 10px;

    content: '●';

    color: #00aca0;
}

.side-widget ul li a
{
    line-height: 30px;
}

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

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

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

.post__wrap
{
    line-height: 1.4;

    margin: 0 auto;
}

.post__wrap .post.section
{
    margin-bottom: 100px;
    padding: 30px;

    border: 2px solid #f7f7f7;
    background: #fff;
    -webkit-box-shadow: 10px 10px 0 rgba(0, 172, 160, .5);
            box-shadow: 10px 10px 0 rgba(0, 172, 160, .5);
}

.post__wrap .post.section .entry__header
{
    margin-bottom: 20px;
}

.post__wrap .post.section .entry__header .post__date
{
    font-size: 13px;
    font-size: 1.3rem;

    text-align: right;
}

.post__wrap .post.section .entry__content
{
    margin-bottom: 20px;
    padding-bottom: 20px;

    border-bottom: 1px dashed #dfdfdf;
}

.post__wrap .post.section .post__title,
.post__wrap .post.section h1
{
    font-size: 30px;
    font-size: 3rem;
    line-height: 45px;

    margin: 20px 0 10px;

    border-bottom: 5px solid #ddd;
}

.post__wrap .post.section .post__title a,
.post__wrap .post.section h1 a
{
    text-decoration: none;
}

.post__wrap .post.section h2
{
    font-size: 25px;
    font-size: 2.5rem;
    line-height: 32px;

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

    border-left: 5px solid #00aca0;
}

.post__wrap .post.section h3
{
    font-size: 22px;
    font-size: 2.2rem;

    margin: 20px 0 10px;

    color: #00aca0;
}

.post__wrap .post.section h4
{
    font-size: 20px;
    font-size: 2rem;
    line-height: 30px;

    margin: 20px 0 10px;

    border-bottom: 2px dotted rgba(0, 172, 160, .3);
}

.post__wrap .post.section h5
{
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 30px;

    margin: 20px 0 10px;

    border-bottom: 2px solid #ccc;
}

.post__wrap table th
{
    border: 1px solid #ccc;
    background: #eee;
}

.post__wrap table td
{
    padding: 10px 5px;

    border: 1px solid #ccc;
}

.post__wrap ol
{
    margin-left: 30px;
}

.post__wrap ul
{
    margin-left: 10px;
}

.post__wrap ul li
{
    list-style: none;
}

.post__wrap ul li::before
{
    font-size: 10px;
    font-size: 1rem;

    margin-right: 10px;

    content: '●';

    color: #00aca0;
}

/* -----------------------------------------------------------------
  category page
----------------------------------------------------------------- */

.cat-title
{
    font-size: 30px;
    font-size: 3rem;

    margin-bottom: 50px;

    text-align: center;
}

.cat-title span
{
    line-height: 40px;

    display: inline-block;

    border-bottom: 3px dotted #00aca0;
}

/* -----------------------------------------------------------------
  pagenation
----------------------------------------------------------------- */

h2.screen-reader-text
{
    display: none;
}

.nav-links
{
    width: 100%;

    text-align: center;
}

.nav-links .page-numbers
{
    display: inline-block;

    padding: 8px 10px;

    text-decoration: none;

    color: #fff;
    border-radius: 2px;
    background: rgba(0, 172, 160, .5);
}

.nav-links .page-numbers.current
{
    color: #666;
    background: #fff;
}

.entry__link .page-btn a
{
    line-height: 50px;

    display: block;
    float: left;

    width: 50px;

    text-align: center;

    color: #fff;
    border-radius: 5px;
    background: rgba(0, 172, 160, .7);
}

.entry__link .page-btn.next a
{
    float: right;
}

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

.page__wrap
{
    line-height: 1.8;
}

.page__wrap .con-wrapper
{
    width: 100%;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e8f8f7+31,f7fcfc+100 */

    background: #e8f8f7;
    /* Old browsers */
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #e8f8f7 31%, #f7fcfc 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(31%, #e8f8f7), to(#f7fcfc));
    background:      -o-linear-gradient(top, #e8f8f7 31%, #f7fcfc 100%);
    background:         linear-gradient(to bottom, #e8f8f7 31%, #f7fcfc 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8f8f7', endColorstr='#f7fcfc',GradientType=0 );
    /* IE6-9 */
}

.page__wrap .con-inner
{
    width: 90%;
    max-width: 1040px;
    margin: 0 auto;
}

.page__wrap .box + .box
{
    margin-top: 30px;
}

.page__wrap .box
{
    position: relative;
}

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

    position: relative;

    margin-bottom: 40px;

    text-align: center;
}

.page__wrap h2::before
{
    position: absolute;
    z-index: 0;
    bottom: 0;
    left: 50%;

    width: 100px;
    height: 5px;
    margin-left: -50px;

    content: '';

    background: rgba(0, 172, 160, .3);
}

.page__wrap h2 span
{
    line-height: 60px;
}

.page__wrap h3
{
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: normal;
    line-height: 40px;

    margin-bottom: 20px;

    border-bottom: 3px solid rgba(0, 172, 160, .5);
}

.page__wrap h4
{
    font-size: 20px;
    font-size: 2rem;

    margin-bottom: 20px;

    color: #00aca0;
}

.page__wrap .txt
{
    margin-bottom: 50px;
}

.page__wrap .table
{
    padding: 15px;

    background: #fff;
}

.page__wrap .table table
{
    width: 100%;
}

.page__wrap .table table td
{
    width: 12%;
    padding: 20px 0;

    border-left: 1px dashed #ccc;
}

.page__wrap .table table td:first-child
{
    border-left: none;
}

.page__wrap .table table th,
.page__wrap .table table td
{
    font-weight: normal;

    text-align: center;

    border-bottom: 1px dashed #ccc;
}

.page__wrap .table table tr:last-child th,
.page__wrap .table table tr:last-child td
{
    border-bottom: 0;
}

.sbox + .sbox
{
    margin-top: 100px;
}

.sbox
{
    position: relative;
    z-index: auto;

    padding: 50px;

    border: #efefef solid 1px;
    background: #fff;
}

.sbox::before
{
    position: absolute;
    z-index: -50;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';
    -webkit-transform: rotate(4deg);
        -ms-transform: rotate(4deg);
            transform: rotate(4deg);

    background: rgba(0, 172, 160, .5);
}

@media screen and (max-width: 767px) {
	.page__wrap h4 {
		text-align: center;
	}
}

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

.catbox
{
    width: 100%;
    height: 250px;

    background-color: rgba(76, 197, 188, .2);
}

.catbox.recruit
{
    background: rgba(233, 151, 0, .2);
}

.catbox a
{
    display: block;

    text-decoration: none;
}

.catbox a:hover
{
    opacity: .7;
}

.catbox .txt
{
    height: 120px;
    margin: 10px 20px 20px;
    padding: 20px;

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

.catbox p
{
    font-size: 15px;
    font-weight: bold;

    display: block;

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

    color: #999;
    border-bottom: 1px dashed #666;
}

.catbox h3
{
    font-size: 30px;

    color: #4cc5bc;
}

.catbox h3:first-letter
{
    font-size: 90px;
}

.catbox.recruit h3
{
    color: #e99700;
}

.front_info h3
{
    font-size: 22px;
    font-size: 2.2rem;
    font-weight: normal;
    line-height: 40px;

    margin-bottom: 20px;

    border-bottom: 3px solid rgba(0, 172, 160, .5);
}

.front_info h4
{
    font-size: 20px;
    font-size: 2rem;

    margin-bottom: 20px;

    color: #00aca0;
}

.front_info .txt
{
    margin-bottom: 50px;
}

.front_info .table-wrap
{
    margin-bottom: 50px;
}

.front_info .table-wrap .table
{
    padding: 15px;

    background: #fff;
}

.front_info .table-wrap .table table
{
    width: 100%;
}

.front_info .table-wrap .table table td
{
    width: 12%;
    padding: 20px 0;

    border-left: 1px dashed #ccc;
}

.front_info .table-wrap .table table th,
.front_info .table-wrap .table table td
{
    font-weight: normal;

    text-align: center;

    border-bottom: 1px dashed #ccc;
}

.front_info .table-wrap .table table tr:last-child th,
.front_info .table-wrap .table table tr:last-child td
{
    border-bottom: 0;
}

.front_news ul,
.front_news li
{
    margin: 0;
    padding: 0;
}

.front_news li
{
    float: left;

    list-style: none;
}

.front h2
{
    font-size: 30px;
    font-size: 3rem;

    position: relative;

    margin-bottom: 40px;

    text-align: center;
}

.front h2::before
{
    position: absolute;
    z-index: 0;
    bottom: 0;
    left: 50%;

    width: 100px;
    height: 5px;
    margin-left: -50px;

    content: '';

    background: rgba(0, 172, 160, .3);
}

.front h2 span
{
    line-height: 60px;
}

.front_info-wrapper
{
    overflow: hidden;

    width: 100%;
    /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#e8f8f7+31,f7fcfc+100 */

    background: #e8f8f7;
    /* Old browsers */
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #e8f8f7 31%, #f7fcfc 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(31%, #e8f8f7), to(#f7fcfc));
    background:      -o-linear-gradient(top, #e8f8f7 31%, #f7fcfc 100%);
    background:         linear-gradient(to bottom, #e8f8f7 31%, #f7fcfc 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */

    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e8f8f7', endColorstr='#f7fcfc',GradientType=0 );
    /* IE6-9 */
}

.front_box
{
    margin: 0 auto;
    padding: 30px 0 0;
}

.front_box + .front_box
{
    margin-top: 100px;
}

.front-message
{
    margin-bottom: 50px;
}

.front-message .greeting-img
{
    padding: 20px;

    text-align: center;
}

.front-message .greeting-text
{
    line-height: 2;

    padding: 30px;
}

/* -----------------------------------------------------------------
  info
----------------------------------------------------------------- */

.info .info-header .txt
{
    line-height: 1.8;

    max-width: 800px;
    margin: 0 auto;
    padding: 30px;
}

.info .info-body
{
    padding: 50px 0;
}

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

.flow .flow-ul
{
    width: 90%;
    margin: 0 auto;

    list-style-type: none;

    counter-reset: item;
}

.flow .flow-ul h3
{
    font-size: 30px;
    font-size: 3rem;
    line-height: 1.5;

    padding-left: 20px;

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

.flow .flow-ul li + li
{
    margin-top: 70px;
}

.flow .flow-ul li
{
    position: relative;

    width: 100%;
    height: auto;
    padding: 30px 30px 30px 100px;

    list-style: none;

    border: 2px solid #efefef;
}

.flow .flow-ul li::before
{
    font-size: 50px;
    font-size: 5rem;
    font-weight: bold;
    line-height: 1;

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

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

    color: rgba(0, 172, 160, .8);
}

.flow .flow-ul li img
{
    max-width: 100%;
    height: auto;
}

.flow .flow-ul li .col6,
.flow .flow-ul li .col4
{
    padding: 0;
}

.flow .flow-ul li .col4
{
    margin-bottom: 0;
}

.flow .flow-ul li:not(:last-child)::after
{
    font-family: 'FontAwesome';
    font-size: 50px;
    font-size: 5rem;

    position: absolute;
    z-index: 1;
    bottom: -50px;
    left: 50%;

    width: 50px;
    height: 50px;
    margin-left: -25px;

    content: '\f0d7';
    text-align: center;

    color: #00aca0;
}

/* -----------------------------------------------------------------
  clinic
----------------------------------------------------------------- */

.clinic .con-inner
{
    max-width: 90%;
    margin: 0 auto;
}

.clinic .con-inner img
{
    max-width: 100%;
    height: auto;

    -webkit-filter: drop-shadow(10px 10px 0 rgba(0, 172, 160, .5));
            filter: drop-shadow(10px 10px 0 rgba(0, 172, 160, .5));
}

.clinic .con-inner .img li
{
    list-style: none;
}

.clinic .con-inner .img li:not(:nth-child(3n))
{
    margin-right: 5%;
}

.clinic .con-inner h3
{
    position: absolute;
    top: -30px;
    left: 50px;

    display: inline-block;

    padding: 10px 30px;

    border: none;
    background: #fff;
}

/* -----------------------------------------------------------------
  facility
----------------------------------------------------------------- */

.facility .con-inner img
{
    max-width: 100%;
    height: auto;

    -webkit-filter: drop-shadow(5px 10px 0 rgba(0, 172, 160, .5));
            filter: drop-shadow(5px 10px 0 rgba(0, 172, 160, .5));
}

.f-img
{
    overflow: hidden;
}

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

.btn
{
    line-height: 50px;

    position: relative;

    display: inline-block;

    padding: 0 30px;

    -webkit-transition: all 1;
         -o-transition: all 1;
            transition: all 1;
    text-decoration: none;

    color: #fff;
    border: dashed 2px #fff;
    background: rgba(0, 172, 160, .7);
    -webkit-box-shadow: 0 0 0 5px rgba(0, 172, 160, .7);
            box-shadow: 0 0 0 5px rgba(0, 172, 160, .7);
}

.btn:hover
{
    color: #fff;
    background: rgba(0, 172, 160, .5);
    -webkit-box-shadow: 0 0 0 5px rgba(0, 172, 160, .5);
            box-shadow: 0 0 0 5px rgba(0, 172, 160, .5);
}

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

#container .front__keyvisual
{
    width: 100%;
}

#container .front__keyvisual img
{
    width: 100%;

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

#container .subpage__keyvisual
{
    position: relative;
    z-index: 0;

    height: 300px;
    margin-bottom: 20px;
}

#container .subpage__keyvisual .sub__visu
{
    overflow: hidden;

    height: 300px;
}

#container .subpage__keyvisual .sub__visu img
{
    width: 100%;
    height: 300px;

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

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

/* -----------------------------------------------------------------
  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
----------------------------------------------------------------- */

/* -----------------------------------------------------------------
  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 .regard
{
    color: red;
}

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

#container .txt-c-main
{
    color: rgba(0, 172, 160, .7);
}

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

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

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

#container .txt-fs-lg
{
    font-size: 20px;
    font-size: 2rem;
}

#container .txt-fs-md
{
    font-size: 15px;
    font-size: 1.5rem;
}

#container .txt-fs-sm
{
    font-size: 12px;
    font-size: 1.2rem;
}

#container .marker
{
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, rgba(0, 172, 160, .2)));
    background: -webkit-linear-gradient(transparent 60%, rgba(0, 172, 160, .2) 60%);
    background:      -o-linear-gradient(transparent 60%, rgba(0, 172, 160, .2) 60%);
    background:         linear-gradient(transparent 60%, rgba(0, 172, 160, .2) 60%);
}

#container .mb5
{
    margin-bottom: 5px;
}

#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 .mt10
{
    margin-top: 10px;
}

#container .mt30
{
    margin-top: 30px;
}

#container .mt50
{
    margin-top: 50px;
}

#container .mt80
{
    margin-top: 80px;
}

#container .mt100
{
    margin-top: 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 .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 .border-main
{
    border: 1px solid rgba(0, 172, 160, .5);
}

#container .border-sub
{
    border: 1px solid #e99700;
}

#container .border-mono
{
    border: 1px solid #666;
}

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

.video
{
    position: relative;

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

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

    width: 100%;
    height: 100%;
}

@media screen and (max-width: 767px) {
	#container .border-main
	{
			padding: 15px;
	}
}


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

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

    text-align: right;
}

.breadcrumb__wrap li
{
    line-height: 20px;

    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';
}

@media screen and (min-width: 480px)
{
    #container .subpage__keyvisual .sub-title
    {
        position: absolute;
        z-index: 20;
        top: 110px;
        left: 100px;

        padding: 10px 50px 30px 30px;

        background: rgba(0, 172, 160, .5);
    }

    #container .subpage__keyvisual .sub-title::before
    {
        position: absolute;
        z-index: 10;
        top: -10px;
        left: -10px;

        width: 100%;
        height: 100%;

        content: '';

        background: rgba(255, 255, 255, .8);
    }

    #container .subpage__keyvisual .sub-title span
    {
        position: relative;
        z-index: 30;
    }
}

@media screen and (min-width: 768px)
{
    .mobile__btn
    {
        display: none;
    }

    .header__inner
    {
        overflow: hidden;

        width: 760px;
        height: 70px;
        margin: 0 auto;
    }

    .header__inner .header__title
    {
        float: left;

        width: 250px;
        margin-top: 15px;
        margin-right: 30px;
    }

    .header__inner .header__link
    {
        float: right;
        overflow: hidden;

        width: 480px;
    }

    .header__contact
    {
        position: absolute;
        z-index: 10;
        top: 70px;
        right: 100px;

        overflow: hidden;

        width: 300px;
        height: 110px;
        padding: 15px;

        text-align: center;

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

    .header__contact::before
    {
        position: absolute;
        top: -10px;
        left: 10px;

        width: 280px;
        height: 110px;
        margin: 0 auto;

        content: '';

        border: 2px dotted #00aca0;
        border-radius: 0 0 5px 5px;
    }

    .header__contact .number
    {
        font-size: 30px;
        font-size: 3rem;

        display: inline-block;

        margin-left: 5px;

        color: #00aca0;
    }

    .gnav__link
    {
        margin-top: 15px;
    }

    .gnav__link ul
    {
        height: 70px;
    }

    .gnav__link ul li
    {
        float: left;
    }

    .gnav__link ul li a
    {
        line-height: 30px;

        display: block;

        -webkit-box-sizing: border-box;
                box-sizing: border-box;

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

        color: #666;
        border-right: 1px solid #666;
    }

    .gnav__link ul li a:hover
    {
        color: #00aca0;
    }

    .gnav__link ul li:first-child
    {
        width: 50px;
        padding: 10px 0;

        text-align: center;
    }

    .gnav__link ul li:first-child a
    {
        line-height: 50px;

        display: inline-block;

        width: 50px;
        height: 50px;

        text-align: center;

        color: #fff;
        border-right: none;
        border-radius: 5px;
        background: rgba(0, 172, 160, .6);
    }

    .gnav__link ul li:first-child a:hover
    {
        background: rgba(0, 172, 160, .3);
    }

    .gnav__link ul li:not(:first-child).current-menu-item
    {
        -webkit-box-sizing: border-box;
                box-sizing: border-box;
        height: 70px;

        border-bottom: 3px solid #00aca0;
    }

    .main__inner
    {
        max-width: 1040px;
        margin: 0 auto 50px;
    }

    .main__inner .widget
    {
        float: left;

        width: 30%;
    }

    .main__inner .p-con
    {
        float: right;

        width: 67%;
    }

    .page__wrap .col6
    {
        float: left;

        width: 60%;
    }

    .page__wrap .col5
    {
        float: left;

        width: 50%;
    }

    .page__wrap .col4
    {
        float: left;

        width: 40%;
    }

    .page__wrap .col3
    {
        float: left;

        width: 30%;
    }

    .front-message
    {
        max-width: 1040px;
    }

    .front-message .greeting-img,
    .front-message .greeting-text
    {
        float: left;

        width: 48%;
    }

    .front-message .greeting-img
    {
        margin-right: 4%;
    }

    .front_info
    {
        max-width: 1040px;
    }

    .front_info .table-wrap
    {
        float: left;

        width: 55%;
    }

    .front_info .text-wrap
    {
        float: right;

        width: 43%;
        padding-left: 50px;
    }

    .front_news
    {
        max-width: 1040px;
    }

    .front_news li
    {
        width: 24%;
    }

    .front_news li:not(:nth-child(4n))
    {
        margin-right: 1%;
    }

    .front_news li:not(:nth-child(4n)):first-child
    {
        margin-left: .5%;
    }

    .front_news li:not(:nth-child(4n)):nth-child(4)
    {
        margin-right: .5%;
    }

    #container .d-sp
    {
        display: none;
    }
}

@media screen and (min-width: 1040px)
{
    .header__inner
    {
        width: 1040px;
        height: 70px;
    }

    .header__inner .header__title
    {
        width: 350px;
        margin-top: 5px;
        margin-right: 40px;
    }

    .header__inner .header__title img
    {
        width: 300px;
        height: 60px;
    }

    .header__inner .header__link
    {
        width: 650px;
        margin-top: 0;
    }

    .header__contact
    {
        top: 70px;
    }

    .footer
    {
        padding: 50px 0 5px;
    }

    .footer .footer__inner
    {
        width: 1040px;
        margin: 0 auto 50px;
    }

    .footer .footer__inner .card
    {
        width: 500px;
        height: 435px;
        padding: 50px;
    }

    .footer .footer__inner .info .card-header
    {
        margin-bottom: 20px;
    }

    .footer .footer__inner .address
    {
        margin-left: 40px;
    }

    .gnav__link ul li
    {
        width: 120px;
        padding: 20px 0;
    }

    .contents
    {
        margin-top: 70px;
    }

    .f-img
    {
        height: 300px;
    }

    .f-img img
    {
        max-height: 100%;
    }
}

@media screen and (max-width: 767px)
{
    .header__inner
    {
        z-index: 1000;

        height: 70px;
        padding: 10px;
    }

    .header__title
    {
        float: left;

        width: 80%;
        width: calc(100% - 70px);
    }

    .header__link
    {
        float: right;

        width: 60px;
    }

    .header__contact
    {
        display: none;
    }

    #page-top
    {
        display: none;
    }

    .footer
    {
        padding-bottom: 5px;
    }

    .footer__inner
    {
        width: 90%;
        padding: 50px 0;
    }

    .footer__inner .card
    {
        width: 100%;
        padding: 30px;
    }

    .footer__inner .info
    {
        margin-bottom: 30px;
    }

    .footer__inner .info .card-header
    {
        text-align: center;
    }

    .footer__inner .info table th
    {
        font-size: 12px;
        font-size: 1.2rem;
    }

    .footer__inner .address
    {
        text-align: center;
    }

    .toggle
    {
        line-height: 50px;

        display: block;

        width: 50px;
        height: 50px;

        text-align: center;

        color: #fff;
        border-radius: 5px;
        background: rgba(0, 172, 160, .6);
    }

    .gnav
    {
        position: absolute;
        z-index: 50;
        top: -500px;
        left: 0;

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

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

    .gnav.add
    {
        top: 70px;

        opacity: 1;
    }

    .gnav__link ul
    {
        width: 100%;

        background: #fff;
    }

    .gnav__link ul li
    {
        float: left;

        width: 50%;

        border-bottom: 1px solid #ccc;
    }

    .gnav__link ul li:nth-child(odd)
    {
        border-right: 1px solid #ccc;
    }

    .gnav__link ul li a
    {
        line-height: 80px;

        display: block;

        text-align: center;
    }

    #container
    {
        margin-bottom: 60px;

        border-bottom: 1px solid #fff;
    }

    .contents
    {
        margin-top: 70px;
    }

    .side-widget
    {
        display: none;
    }

    .p-con
    {
        width: 90%;
        margin: 0 auto;
    }

    .page__wrap .col6,
    .page__wrap .col5,
    .page__wrap .col4,
    .page__wrap .col3
    {
        width: 100%;
        margin-bottom: 30px;
        padding: 30px;
    }

    .sbox
    {
        max-width: 95%;
        margin: 0 auto;
				padding: 20px;
    }

    .sbox::before
    {
        -webkit-transform: rotate(2deg);
            -ms-transform: rotate(2deg);
                transform: rotate(2deg);
    }

    .front_info
    {
        width: 90%;
    }

    .front_news
    {
        width: 90%;
    }

    .front_news li
    {
        width: 49%;
    }

    .front_news li:nth-child(even)
    {
        margin-left: 2%;
    }

    .front_news li:first-child,
    .front_news li:nth-child(2)
    {
        margin-bottom: 10px;
    }

    .flow .flow-ul li
    {
        position: relative;

        width: 100%;
        height: auto;
        padding: 100px 30px 30px;

        list-style: none;

        border: 2px solid #efefef;
    }

    .flow .flow-ul li::before
    {
        font-size: 60px;
        font-size: 6rem;
        line-height: 1;

        position: absolute;
        top: 20px;
        left: 50%;

        margin-left: -20px;
    }

    .flow .flow-ul li .col4
    {
        text-align: center !important;
    }

    .gmap
    {
        padding-top: 40%;
        padding-bottom: 40%;
    }

    #container .d-sp
    {
        display: block;
    }

    .breadcrumb__wrap
    {
        text-align: left;
    }
}

@media screen and (max-width: 479px)
{
    .post__wrap .post.section
    {
        width: 95%;
    }

    .front_info
    {
        width: 90%;
    }

    .front_news
    {
        width: 90%;
        margin: 0 auto;
    }

    .front_news li
    {
        width: 100%;
        margin: 0;
        margin-bottom: 15px;
    }

    .front_news li:nth-child(even)
    {
        margin-left: 0;
    }

    #container .sub-title
    {
        position: absolute;
        top: 120px;

        width: 100%;

        text-align: center;
    }

    #container .sub-title span
    {
        line-height: 30px;

        position: relative;
        z-index: 50;

        display: inline-block;

        padding: 15px 40px;
    }

    #container .sub-title span::after
    {
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;

        width: 100%;
        height: 100%;

        content: '';

        background: rgba(255, 255, 255, .9);
    }

    #container .sub-title span::before
    {
        position: absolute;
        z-index: -2;
        top: 10px;
        left: 10px;

        width: 100%;
        height: 100%;

        content: '';

        background: rgba(0, 172, 160, .5);
    }
}

@media screen and (min-width: 768px) and (max-width: 1039px)
{
    .footer
    {
        padding: 50px 0 5px;
    }

    .footer .footer__inner
    {
        width: 760px;
        margin: 0 auto;
        padding-bottom: 50px;
    }

    .footer .footer__inner .card
    {
        font-size: 14px;
        font-size: 1.4rem;

        width: 365px;
        height: 350px;
        padding: 30px;
    }

    .footer .footer__inner .info .card-header
    {
        margin-bottom: 10px;
    }

    .footer .footer__inner .info .card-body .table-wrap table td
    {
        padding: 5px;
    }

    .footer .footer__inner .address
    {
        margin-left: 30px;
    }

    .gnav__link ul li
    {
        width: 88px;
        padding: 5px 0;
    }

    .gnav__link ul li:first-child
    {
        width: 40px;
        padding: 0;

        text-align: center;
    }

    .gnav__link ul li:first-child a
    {
        line-height: 40px;

        display: inline-block;

        width: 40px;
        height: 40px;
    }

    .contents
    {
        margin-top: 70px;
    }

    .f-img
    {
        height: 250px;
    }

    .f-img img
    {
        max-height: 100%;
    }
}
/*# sourceMappingURL=main.css.map */
