/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

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

    margin: 0;
    padding: 0;

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

    border: 0;
}

/* HTML5 display-role reset for older browsers */

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

body
{
    line-height: 1;

    overflow: hidden;
}

ol,
ul
{
    list-style: none;
}

blockquote,
q
{
    quotes: none;
}

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

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

main
{
    display: block;
}

html
{
    font-size: 62.5%;

    overflow: auto;
}

*
{
    box-sizing: border-box;
    padding: 0;

    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    box-shadow: none;

    -webkit-appearance: none;
}

img
{
    display: block;

    width: 100%;
    height: auto;
}

*
{
    font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', sans-serif;

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

    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    box-shadow: none;

    -webkit-appearance: none;
}

body
{
    font-family: '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
}

/* Windows */

@font-face
{
    font-family: YuGothicM;
    font-weight: normal;

    src: local('YuGothic-Medium'), local('Yu Gothic Medium'), local('YuGothic-Regular'); /* Windows8.1ではMediumがないのでRegularを指定 */
}

@font-face
{
    font-family: YuGothicM;
    font-weight: bold;

    src: local('YoGothic-Bold'), local('Yu Gothic'); /* Chrome用 */
}

img
{
    display: block;

    max-width: 100%;
    height: auto;
}

a,
area,
button,
[role=button],
input:not([type=range]),
label,
select,
summary,
textarea
{
    touch-action: manipulation;
}

*
{
    font-family: 'source-han-sans-japanese', sans-serif;
    font-size: 1.5rem;

    word-wrap: break-word;
    word-break: normal !important;

    line-break: strict;
    overflow-wrap: break-word;
}

body
{
    font-family: 'source-han-sans-japanese', sans-serif;
    font-size: 1.5rem;
    line-height: 1.8;

    word-break: break-all;

    color: #333;
}

a
{
    transition: .3s;
    text-decoration: none;

    color: #36c;
}

a:hover
{
    opacity: .6;
}

.link
{
    text-decoration: underline;
}

li,
ul
{
    list-style: none;
}

html
{
    visibility: hidden;
}

html.wf-active,
html.loading-delay
{
    visibility: visible;
}

body.fixed
{
    position: fixed;

    width: 100%;
    height: 100%;
}

/* ==========================================================================
  Font
  ========================================================================== */

/* ==========================================================================
  Foundation
  ========================================================================== */

/* ==========================================================================
  Layout
  ========================================================================== */

.js-header
{
    position: fixed;
    top: 0;
    left: 0;

    transition: .5s;
}

.js-header.UpMove
{
    transform: translateY(-100%);
}

.inner
{
    width: 100%;
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
}

.inner.--over
{
    overflow: visible;
}

.inner.--flex
{
    display: flex;
}

.inner.--flex .l-content
{
    width: calc(100% - 300px);
    padding-right: 70px;
}

.inner.--flex .l-side
{
    width: 300px;
}

.l-page
{
    position: relative;

    display: block;

    margin-top: -1px;
    padding-top: 1px;
}

.l-main
{
    position: relative;

    padding-top: 110px;

    transition: .5s;
}

/* ==========================================================================
  Object
  ========================================================================== */

/* Components
  ----------------------------------------------------------------- */

.fadeUp
{
    animation-name: fadeUpAnime;
    animation-duration: 1.2s;

    opacity: 0;

    animation-fill-mode: forwards;
}

/* スクロールをしたら出現する要素にはじめに透過0を指定 */

.fadeUpTrigger
{
    opacity: 0;
}

.fadeIn
{
    animation-name: fadeInAnime;
    animation-duration: 1.2s;

    opacity: 0;

    animation-fill-mode: forwards;
}

/* スクロールをしたら出現する要素にはじめに透過0を指定 */

.fadeInTrigger
{
    opacity: 0;
}

.c-bluelist
{
    position: relative;

    padding: 30px 30px 20px;

    border: 2px solid #7fcfee;
}

.c-bluelist ul
{
    display: flex;

    padding-left: 30px;

    flex-wrap: wrap;
}

.c-bluelist li
{
    line-height: 1.4;

    width: calc((100% - 90px) / 3);
    margin-right: 30px;
    margin-bottom: 10px;

    list-style: disc;
}

.c-bluelist-ttl
{
    font-weight: 700;

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

    display: block;

    width: -moz-fit-content;

    width: fit-content;
    padding-right: 7px;
    padding-left: 7px;

    transform: translateY(-50%);

    color: #00a0de;
    background-color: #fff;
}

.c-box
{
    display: flex;

    justify-content: space-between;
    align-items: flex-start;
}

.c-breadcrumb
{
    font-size: 1.3rem;

    height: 44px;

    border-top: 1px solid #d7d7d7;
}

.c-breadcrumb__wrap
{
    display: flex;

    height: 100%;

    align-items: center;
}

.c-breadcrumb__wrap a
{
    position: relative;

    margin-right: 55px;

    color: #333;
}

.c-breadcrumb__wrap a::after
{
    position: absolute;
    top: 50%;
    right: -25px;

    width: 6px;
    height: 6px;

    content: '';
    transform: rotate(45deg) translateY(-50%);

    border-top: 1px solid #333;
    border-right: 1px solid #333;
}

.c-btn
{
    font-size: 1.5rem;
    line-height: initial;

    position: relative;

    display: flex;

    width: 260px;
    height: 60px;

    color: #333;
    border: 1px solid #00a0de;
    border-radius: 30px;
    background-color: #fff;

    justify-content: center;
    align-items: center;
}

.c-btn:hover
{
    opacity: 1;
    color: #fff;
    background-color: #00a0de;
}

.c-btn::after
{
    position: absolute;
    top: 50%;
    right: 15px;

    display: block;

    width: 15px;
    height: 12px;

    content: '';
    transition: .2s;
    transform: translateY(-50%);

    background: url(../images/common/btn_arrow_blue.svg) no-repeat center center;
}

.c-btn:hover::after
{
    right: 10px;

    background: url(../images/common/btn_arrow_white.svg) no-repeat center center;
}

.c-btn.--white
{
    color: #fff;
    border: 1px solid #fff;
    background-color: unset;
}

.c-btn.--white:hover
{
    background-color: #00a0de;
}

.c-btn.--white::after
{
    content: none;
}

.c-btn.--navi
{
    height: 40px;
}

.c-btn.--navi::after
{
    transform: translateY(-50%) rotate(90deg);
}

.c-btn.--navi:hover::after
{
    top: 70%;
    right: 15px;
}

.c-circlettl
{
    font-size: 2rem;
    font-weight: 700;

    display: flex;

    align-items: center;
}

.c-circlettl-num
{
    font-size: 1.5rem;
    line-height: 21px;

    position: relative;

    display: inline-flex;

    width: 21px;
    height: 21px;
    margin-right: 10px;

    color: #fff;
    border-radius: 50%;
    background-color: #00a0de;

    align-items: center;
    justify-content: center;
}

.c-bgcolor
{
    background-color: #edf6f9;
}

.c-red
{
    color: #d31619;
}

.c-blue
{
    color: #00a0de;
}

.c-green
{
    color: #34aa9c;
}

.c-entry
{
    /* 目次 */
}

.c-entry #toc_container
{
    width: 100%;
    margin-top: 50px;
    margin-bottom: 50px;
    padding: 30px 30px 30px !important;

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

.c-entry #toc_container .toc_title
{
    font-size: 20px;
    font-weight: 700;
    line-height: 1;

    margin: 0 0 25px 0;
    padding: 0;
}

.c-entry #toc_container ul
{
    padding-left: 10px;
}

.c-entry #toc_container ul ul
{
    margin-top: 10px;
    margin-left: 1em !important;
}

.c-entry #toc_container ul ul ul
{
    margin-left: 2em !important;
}

.c-entry #toc_container ul ul ul ul
{
    margin-left: 3em !important;
}

.c-entry #toc_container li
{
    margin-bottom: 10px;
}

.c-entry #toc_container li li
{
    margin-bottom: 10px;
}

.c-entry #toc_container > ul > li:last-of-type
{
    margin-bottom: 0;
}

.c-entry #toc_container li a
{
    display: block;
}

.c-entry h4
{
    font-size: 2.5rem;
    font-weight: 700;

    margin-top: 50px;
    padding: 7px 15px;

    background-color: #efefef;
}

.c-entry h5
{
    font-size: 2.2rem;
    font-weight: 700;

    margin-top: 40px;
    padding-bottom: 3px;

    border-bottom: 1px solid #bababa;
}

.c-entry h6
{
    font-size: 1.8rem;
    font-weight: 700;

    margin-top: 20px;
}

.c-entry h6 + p
{
    margin-top: 0;
}

.c-entry p
{
    line-height: 1.8;

    margin: 20px 0 15px;
}

.c-entry strong
{
    font-weight: 700;
}

.c-entry .red
{
    color: #c00;
}

.c-entry img
{
    max-width: 600px;
    height: auto;
    margin-top: 25px;
    margin-right: auto;
    margin-bottom: 25px;
    margin-left: auto;
}

.c-entry a
{
    color: #36c;
}

.c-entry ul
{
    margin-left: 20px;
}

.c-entry ul li
{
    font-size: 1.5rem;
    line-height: 1.5;

    position: relative;

    list-style: disc;
}

.c-entry ul li:not(:first-child)
{
    margin-top: 12px;
}

.c-entry ol
{
    margin-left: 20px;
}

.c-entry ol li
{
    font-size: 1.5rem;
    line-height: 1.5;

    position: relative;

    list-style: decimal;
}

.c-entry ol li:not(:first-child)
{
    margin-top: 12px;
}

.c-entry table
{
    width: 100%;
    margin-top: 30px;

    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
}

.c-entry .wp-block-table table
{
    margin-top: 0;
}

.c-entry thead
{
    border-bottom: none;
}

.c-entry tfoot
{
    border-top: none;
}

.c-entry table th,
.c-entry table td
{
    line-height: 2;

    padding: 10px 20px;

    color: #333;
    border-top: 1px solid #ccc;
    border-right: 1px solid #ccc;
    border-bottom: none;
    border-left: none;
}

.c-entry table th
{
    font-weight: bold;

    text-align: left;

    background-color: #cce9f4;
}

.c-entry table td
{
    background-color: #fff;
}

.c-float-clear::after
{
    display: block;
    clear: both;

    content: '';
}

.c-float-right
{
    float: right;
}

.c-float-left
{
    float: left;
}

.c-greenttl
{
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;

    position: relative;

    display: flex;

    color: #34aa9c;

    align-items: center;
}

.c-greenttl::after
{
    height: 1px;
    margin-left: 2.5rem;

    content: '';

    background-color: #ccc;

    flex-grow: 1;
}

.c-listbox
{
    display: grid;

    width: 100%;

    transition: .2s;

    gap: 50px 30px;
    grid-template-columns: repeat(auto-fill, 380px);
    grid-auto-rows: 410px;
    justify-content: center;
}

.c-listbox li
{
    position: relative;

    width: 380px;
    height: 410px;

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

.c-listbox li::after
{
    position: absolute;
    right: 5px;
    bottom: 5px;

    width: 0;
    height: 0;

    content: '';

    border-bottom: 20px solid #00a0de;
    border-left: 20px solid transparent;
}

.c-listbox-link
{
    display: flex;
    flex-direction: column;

    width: 100%;
    height: 100%;

    color: #333;

    align-items: center;
    justify-content: flex-start;
}

.c-listbox-ttl
{
    font-size: 2.2rem;
    font-weight: 700;

    margin-top: 20px;
    padding-right: 30px;
    padding-left: 30px;
}

.c-listbox-ttl + p
{
    line-height: 1.86;

    margin-top: 10px;
    padding-right: 30px;
    padding-left: 30px;

    text-align: left;
}

.c-mv
{
    position: relative;

    width: calc(100% - 40px);
    height: 300px;
    margin-left: 40px;

    transition: .2s;

    background-color: #fff;
}

.c-mv-img
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: 100%;

    transition: .2s;
}

.c-mv-img::after
{
    position: absolute;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    background-color: rgba(0, 0, 0, .1);
}

.c-mv-img img
{
    width: auto;
    height: 100%;

    -o-object-fit: cover;

       object-fit: cover;
}

.c-mv-ttl
{
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;

    position: absolute;
    top: calc(50% - 10px);
    left: 80px;

    display: flex;

    transition: .2s;
    transform: translateY(-50%);
    letter-spacing: .2rem;

    color: #fff;
    text-shadow: 0 0 10px rgba(0, 0, 0, .8);

    justify-content: center;
    align-items: center;
}

.c-news-list
{
    transition: .2s;

    border-bottom: 1px solid #d5d5d5;
}

.c-news-link
{
    display: flex;

    min-height: 55px;

    color: #333;
    border-top: 1px solid #d5d5d5;

    align-items: center;
}

.c-news-date
{
    width: 100px;
    padding-left: 20px;

    transition: .2s;

    color: #00a0de;
}

.c-news-item-ttl
{
    padding-left: 35px;

    transition: .2s;
}

.c-news-item-ttl.--new::after
{
    font-size: 1.6rem;
    line-height: 2.2;

    margin-left: 15px;

    content: 'NEW';

    color: #c00;
}

.c-news-pagenation .wp-pagenavi
{
    display: flex;

    margin-top: 50px;

    text-align: center;

    justify-content: center;
}

.c-news-pagenation a,
.c-news-pagenation span
{
    text-align: center;
}

.c-news-pagenation .wp-pagenavi a,
.c-news-pagenation .wp-pagenavi span
{
    line-height: 38px;

    display: block;

    width: 40px;
    height: 40px;
    margin: 0 5px;

    color: #00a0de;
    border: 1px solid #00a0de;
}

.c-news-pagenation .wp-pagenavi a:hover
{
    opacity: 1;
    color: #fff;
    background-color: #00a0de;
}

.c-news-pagenation .wp-pagenavi span.current
{
    color: #fff;
    background-color: #00a0de;
}

.c-normallist
{
    margin-top: 20px;
    padding-left: 30px;
}

.c-normallist li
{
    list-style: disc;
}

.c-normallist li:not(:first-child)
{
    margin-top: 10px;
}

.c-numlist
{
    margin-top: 20px;
    padding-left: 30px;
}

.c-numlist li
{
    list-style: decimal;
}

.c-numlist li:not(:first-child)
{
    margin-top: 10px;
}

.c-numttl
{
    font-size: 2.5rem;
    font-weight: 700;

    display: flex;

    align-items: flex-start;
}

.c-numttl-num
{
    font-size: 2.5rem;

    position: relative;

    display: inline-block;

    margin-right: 10px;
    padding-right: 15px;

    color: #00a0de;
}

.c-numttl-num::after
{
    position: absolute;
    top: 50%;
    right: 1px;

    width: 1px;
    height: 25px;

    content: '';
    transform: translateY(-50%);

    background-color: #00a0de;
}

.c-ovalbtn-box
{
    display: flex;

    margin-top: 25px;

    flex-wrap: wrap;
}

.c-ovalbtn
{
    font-size: 1.5rem;
    line-height: initial;
    line-height: 1.5;

    position: relative;

    display: flex;

    width: -moz-fit-content;

    width: fit-content;
    height: 35px;
    margin-bottom: 10px;
    padding-right: 15px;
    padding-left: 15px;

    color: #333;
    border: 1px solid #00a0de;
    border-radius: 18px;
    background-color: #fff;

    justify-content: center;
    align-items: center;
}

.c-ovalbtn:not(:last-child)
{
    margin-right: 10px;
}

.c-ovalbtn:hover
{
    opacity: 1;
    color: #fff;
    background-color: #00a0de;
}

.c-sec-newslist
{
    margin-bottom: 70px;

    border-bottom: 1px solid #d5d5d5;
}

.c-sec-newslist > li > a
{
    display: flex;

    padding-top: 24px;
    padding-right: 0;
    padding-bottom: 23px;
    padding-left: 0;

    color: #333;
    border-top: 1px solid #d5d5d5;

    align-items: flex-start;
}

.c-sec-date
{
    padding-left: 20px;

    color: #00a0de;
}

.c-sec-newsttl
{
    display: block;

    padding-left: 40px;
}

.c-sec-newsttl.--new::after
{
    font-size: 1.5rem;

    margin-left: 10px;

    content: 'NEW';

    color: #d31619;
}

.c-sec
{
    position: relative;

    padding-top: 100px;
    padding-bottom: 100px;
}

.c-shadow
{
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}

.c-timetable
{
    display: block;

    width: 530px;
    height: auto;
    min-height: 230px;
    padding: 15px 30px;

    transition: .2s;

    background-color: #fff;
}

.c-timetable__table
{
    width: 100%;
}

.c-timetable__table tr
{
    height: 45px;

    text-align: left;

    border-bottom: 1px solid #ccc;
}

.c-timetable__table th,
.c-timetable__table td
{
    line-height: 1;

    height: 45px;

    vertical-align: middle;
}

.c-timetable__table th
{
    width: 170px;
    padding-left: 15px;
}

.c-timetable__table td
{
    text-align: center;
}

.c-timetable__table td:not(.c-timetable__head td)
{
    color: #00a0de;
}

.c-timetable__txt
{
    margin-top: 10px;
    padding-left: 15px;
}

.c-timetable__note
{
    padding-left: 15px;
}

.c-ttl
{
    font-size: 3rem;
    font-weight: 700;
    line-height: 1;

    position: relative;

    color: #333;
}

.c-ttl.--pt35
{
    font-size: 3.5rem;
}

.c-ttl.--center
{
    text-align: center;
}

.c-ttl.--fb::first-letter
{
    color: #00a0de;
}

.c-subttl-upper
{
    font-size: 1.8rem;
    font-weight: 700;

    position: relative;

    display: inline-block;

    color: #34aa9c;
}

.c-subttl-upper::after
{
    position: absolute;
    top: 50%;
    right: -60px;

    width: 50px;
    height: 1px;

    content: '';

    background-color: #34aa9c;
}

.c-subttl
{
    font-size: 3.5rem;
    font-weight: 700;
    line-height: 1.74;
}

.c-midttl
{
    font-size: 2rem;
    font-weight: 700;
}

[data-ruby]
{
    position: relative;
}

.c-ttl.--fb [data-ruby]::first-letter
{
    color: #00a0de;
}

[data-ruby]::before
{
    font-size: 1.2rem;
    font-weight: normal;

    position: absolute;
    top: -1em;
    right: 0;
    left: 0;

    margin: auto;

    content: attr(data-ruby);
    letter-spacing: .3rem;
}

.c-topbox
{
    position: relative;

    display: flex;
    overflow: visible;

    width: 100%;

    justify-content: space-between;
    align-items: flex-start;
}

.c-topbox-left
{
    display: block;

    width: 50%;
    padding-right: 60px;
}

.c-topbox-right
{
    position: relative;

    overflow: visible;
    overflow: hidden;

    width: 50%;
    width: 50vw;
    height: 500px;
    margin-right: calc(50% - 50vw);
}

.c-topbox-right img
{
    position: absolute;

    display: block;

    height: 500px;

    -o-object-fit: cover;

       object-fit: cover;
}

.c-marker
{
    background: linear-gradient(transparent 70%, #ffe558 70%);
}

.c-strong
{
    font-weight: bold;
}

.c-large
{
    font-size: 1.8rem;
}

.c-note
{
    font-size: 1.3rem;
}

.c-upper
{
    font-size: .5em;

    vertical-align: top;
}

.c-whitebox
{
    display: grid;

    width: 100%;

    transition: .2s;

    gap: 40px;
    grid-auto-rows: 250px;
    grid-template-columns: repeat(auto-fill, 270px);
    justify-content: center;
}

.c-whitebox li
{
    width: 270px;
    height: 250px;

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

.c-whitebox a
{
    display: flex;
    flex-direction: column;

    width: 100%;
    height: 100%;

    color: #333;

    align-items: center;
    justify-content: center;
}

.c-whitebox img
{
    width: 130px;
}

.c-whitebox-ttl
{
    font-size: 2.2rem;
    font-weight: 700;

    margin-top: 12px;
}

.c-whitebox-ttl + p
{
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.86;

    margin-top: 5px;

    text-align: center;

    color: #34aa9c;
}

/* Project
  ----------------------------------------------------------------- */

.p-footer
{
    position: relative;

    padding-top: 50px;
}

.p-footer-inner
{
    display: flex;

    max-width: 1200px;

    justify-content: space-between;
    align-items: flex-start;
}

.p-footer__detail
{
    width: 50%;
    min-width: 340px;
}

.p-footer__logo
{
    display: block;

    width: 262px;
}

.p-footer__address
{
    line-height: 1.86;

    margin-top: 15px;
}

.p-footer__access
{
    font-size: 1.3rem;
    font-weight: 400;

    width: 150px;
    height: 40px;
    margin-top: 10px;
    padding-right: 20px;

    border-radius: 20px;
}

.p-footer__timetable
{
    width: 50%;
    min-width: 400px;
    max-width: 600px;

    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}

.p-footer__explain
{
    margin-top: 50px;

    text-align: center;

    color: #00a0de;
}

.p-footer__copyright
{
    font-size: 1.3rem;

    display: flex;

    width: 100%;
    height: 50px;
    margin-top: 50px;

    text-align: center;

    color: #fff;
    background-color: #00a0de;

    align-items: center;
    justify-content: center;
}

.p-header
{
    z-index: 999;

    display: flex;

    width: 100%;

    background-color: #fff;

    justify-content: center;
}

.p-header-inner
{
    display: flex;

    width: calc(100% - 80px);
    height: 110px;

    transition: .2s;

    justify-content: space-between;
    align-items: center;
}

.p-header__logo
{
    display: block;
}

.p-header__logo img
{
    width: 262px;
    height: auto;

    transition: .2s;
}

.p-header__menu-wrapper
{
    width: calc(100% - 250px);

    transition: .2s;
}

.p-header__menu
{
    display: flex;
    flex-direction: column;
}

.p-header__menu-other
{
    display: flex;

    height: 40px;

    justify-content: flex-end;
    align-items: center;
}

.p-header__menu-other-item img
{
    margin-right: 8px;
}

.p-header__menu-other-item:not(:last-child)
{
    margin-right: 30px;
}

.p-header__menu-other-item.--group img
{
    width: 16px;
}

.p-header__menu-other-item.--access img
{
    width: 11px;
    margin-right: 4px;
}

.p-header__menu-other-item.--x img
{
    width: 15px;
    margin-right: 6px;
}

.p-header__menu-other-item.--en img
{
    width: 15px;
    margin-right: 6px;
}

.p-header__menu-other-item.--tel
{
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.5;

    margin-right: 17px;
}

.p-header__menu-other-item.--tel a
{
    pointer-events: none;

    color: #00a0de;
}

.p-header__menu-other-item.--tel img
{
    width: 18px;
    margin-right: 3px;
}

.p-header__menu-other-item.--reservation
{
    font-size: 1.5rem;
}

.p-header__menu-other-item.--reservation a
{
    width: 130px;
    height: 36px;

    color: #fff;
    border-radius: 18px;
    background-color: #34aa9c;
}

.p-header__menu-other-item.--reservation img
{
    width: 14px;
    margin-right: 5px;
}

.p-header__menu-other-link
{
    display: flex;

    width: 100%;
    height: 100%;

    color: #333;

    justify-content: center;
    align-items: center;
}

.p-header__menu-list
{
    display: flex;

    height: 37px;
    margin-top: 10px;

    justify-content: flex-end;
    align-items: center;
}

.p-header__menu-item
{
    height: 100%;
}

.p-header__menu-item:not(:first-child)
{
    padding-left: 40px;

    transition: .2s;
}

.p-header__menu-link
{
    font-size: 1.6rem;

    display: block;

    width: 100%;
    height: 100%;

    text-align: center;

    color: #333;
}

.p-header__menu-item.has-child
{
    position: relative;

    margin-right: 10px;
}

.p-header__menu-item.has-child::before
{
    position: absolute;
    top: 35%;
    right: -12px;

    display: block;

    width: 6px;
    height: 6px;

    content: '';
    transform: rotate(45deg) translateY(-50%);

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

li.has-child:hover > ul,
li.has-child:active > ul
{
    visibility: visible;

    opacity: 1;
}

.p-header__menu-sublist-item
{
    position: relative;
}

.p-header__menu-sublist-link
{
    line-height: 37px;

    display: block;

    height: 37px;
    padding-left: 25px;

    transition: all .3s;

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

.p-header__menu-sublist-link:hover
{
    opacity: 1;
    color: #333;
    background-color: #edf6f9;
}

.p-header__tel,
.p-header__reservation
{
    display: none;
}

.p-header__ham
{
    display: none;
}

.p-about__facility-list
{
    display: grid;

    width: 100%;
    margin-top: 60px;

    transition: .2s;

    gap: 40px 40px;
    grid-template-columns: repeat(auto-fill, 270px);
    grid-auto-rows: 220px;
    justify-content: center;
}

.p-about__facility-list li
{
    width: 270px;
    height: 220px;
}

.p-about__facility-link
{
    display: flex;
    flex-direction: column;

    width: 100%;
    height: 100%;

    color: #333;

    align-items: center;
    justify-content: center;
}

.p-about__facility-link-ttl
{
    margin-top: 10px;
}

.pswp__hide-on-close
{
    position: absolute;
    bottom: 20px;

    width: 100%;

    text-align: center;

    color: #fafafa;
}

.p-about__feature-list
{
    margin-top: 70px;
}

.p-about__feature-box
{
    display: flex;

    justify-content: space-between;
    align-items: flex-start;
}

.p-about__feature-box:not(:first-child)
{
    margin-top: 70px;
}

.p-about__feature-box.--reverse
{
    flex-direction: row-reverse;
}

.p-about__feature-info
{
    width: 50%;
    padding-right: 50px;
}

.--reverse .p-about__feature-info
{
    padding-right: 0;
    padding-left: 50px;
}

.p-about__feature-info-ttl
{
    display: flex;

    margin-top: 10px;

    align-items: flex-start;
}

.p-about__feature-info-ttl-num
{
    font-size: 8rem;
    font-weight: 700;
    line-height: .8;

    position: relative;

    display: inline-block;

    margin-right: 18px;
    padding-right: 20px;

    color: #00a0de;
}

.p-about__feature-info-ttl-num::after
{
    position: absolute;
    top: 60%;
    right: 2px;

    width: 1px;
    height: 70px;

    content: '';
    transform: translateY(-50%);

    background-color: #00a0de;
}

.p-about__feature-info-ttl-txt
{
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.7;

    margin-top: -5px;
}

.p-about__feature-info-txt
{
    font-size: 1.7rem;
    line-height: 1.82;

    margin-top: 30px;
}

.p-about__feature-info-btn
{
    margin-top: 35px;
}

.p-about__feature-img
{
    width: 50%;
}

.p-consult__main
{
    padding-top: 60px;
}

.p-consult__navi
{
    max-width: 1000px;
    padding-bottom: 0;
}

.p-consult__navi .p-consult__tel
{
    font-size: 3rem;
    line-height: 1.5;

    display: flex;

    width: 100%;
    max-width: 540px;
    margin-top: 40px;
    margin-right: auto;
    margin-left: auto;

    align-items: center;
}

.p-consult__navi .p-consult__tel img
{
    display: inline-block;

    width: 18px;
    margin-right: 3px;
}

.p-consult__navi .p-consult__tel-link
{
    font-weight: 700;

    width: 50%;

    pointer-events: none;

    color: #00a0de;
}

.p-consult__navi p
{
    font-size: 1.5rem;

    width: 50%;
}

.p-doctors__main-ttl + p
{
    margin-top: 50px;
}

.p-doctors__other-ttl + p
{
    margin-top: 50px;
}

.p-doctors__box
{
    display: flex;

    margin-top: 80px;

    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
}

.p-doctors__img
{
    position: relative;

    width: 250px;
    height: 300px;

    background-color: #7fcfee;
}

.p-doctors__img img
{
    position: absolute;
    top: 30px;
    right: -30px;
}

.p-doctors__img.--green
{
    background-color: #a0d6cf;
}

.p-doctors__img.--white
{
    background-color: #fff;
}

.p-doctors__info
{
    width: calc(100% - 280px - 50px);
}

.p-doctors__info-name-post
{
    font-weight: 700;

    margin-top: -5px;

    color: #34aa9c;
}

.p-doctors__info-name-full
{
    font-size: 3rem;
    font-weight: 700;

    margin-top: 0;
}

.p-doctors__info-name-yomi
{
    font-size: 1.5rem;
    font-weight: normal;
}

.p-doctors__info-career
{
    display: flex;

    margin-top: 5px;

    flex-wrap: wrap;
}

.p-doctors__info-career > dt,
.p-doctors__info-career > dd
{
    margin-top: 15px;
}

.p-doctors__info-career > dt
{
    font-weight: 700;

    width: 120px;

    color: #00a0de;
}

.p-doctors__info-career > dd
{
    width: calc(100% - 120px);
}

.p-doctors__info-career-inner
{
    display: flex;

    flex-wrap: wrap;
}

.p-doctors__info-career-inner > dt
{
    width: 80px;
}

.p-doctors__info-career-inner > dd
{
    width: calc(100% - 80px);
}

.p-doctors__message
{
    position: relative;

    width: calc(100% - 280px - 50px);
    margin-top: 50px;
    margin-left: 330px;
    padding: 30px 30px 20px;

    border: 2px solid #7fcfee;
    background-color: #fff;
}

.p-doctors__message-ttl
{
    font-weight: 700;

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

    display: block;

    width: -moz-fit-content;

    width: fit-content;
    padding-right: 7px;
    padding-left: 7px;

    transform: translateY(-50%);

    color: #00a0de;
}

.p-doctors__message-ttl::before
{
    position: absolute;
    z-index: -1;
    top: 11px;
    left: 0;

    width: 100%;
    height: 5px;

    content: '';

    background-color: #fff;
}

.p-faq__main-group:not(:last-child)
{
    margin-bottom: 80px;
}

.p-faq__main-ttl
{
    margin-bottom: 30px;
}

.p-faq__list
{
    margin-top: 50px;
}

.p-faq__box
{
    overflow: hidden;

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

.p-faq__box:not(:last-child)
{
    margin-bottom: 20px;
}

.p-faq__ttl
{
    font-size: 2rem;
    font-weight: 700;

    position: relative;

    padding: 18px 25px;

    cursor: pointer;
    transition: .2s;
}

.p-faq__ttl:hover
{
    color: #00a0de;
}

.p-faq__ttl::before,
.p-faq__ttl::after
{
    position: absolute;
    position: absolute;
    top: 35px;
    right: 25px;

    display: block;

    width: 16px;
    height: 2px;

    content: '';
    transition: .8s;

    opacity: 1;
    background-color: #00a0de;
}

.p-faq__ttl::before
{
    top: 28px;
    right: 32px;

    width: 2px;
    height: 16px;
}

.open .p-faq__ttl::after
{
    transform: rotate(180deg);
}

.open .p-faq__ttl::before
{
    transform: rotate(180deg);

    opacity: 0;
}

.p-faq__q
{
    font-size: 2rem;
    font-weight: 700;

    display: inline;

    padding-right: 10px;

    color: #00a0de;
}

.p-faq__ans
{
    position: relative;

    display: none;

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

    border-top: 1px solid #ccc;
}

.p-faq__ans p
{
    display: block;

    margin-bottom: 1rem;
    padding-left: 30px;
}

.p-faq__ans img
{
    width: auto;
}

.p-faq__ans a
{
    margin-top: 2rem;
    margin-bottom: 2rem;
}

.p-floating
{
    display: none;
}

.p-consult__main.--confirm,
.p-consult__main.--complete
{
    width: 100%;
    max-width: 1000px;
    margin: auto;
}

.--confirm .c-contact__form
{
    width: 100%;
    max-width: 1000px;
    margin: auto;
}

.c-contact--confirm .select
{
    border: none;
}

.c-contact--confirm .select::after
{
    content: none;
}

.--confirm .c-contact__form-content
{
    margin-top: 60px;
}



.c-contact__form-action.--form02
{
    display: flex;
    justify-content: space-between;
}

.group__group-action.--btn02
{
    display: flex;
    justify-content: center;
}



.c-contact__complete-btn
{
    margin-top: 60px;
    margin-right: auto;
    margin-left: auto;
}

.c-contact__form-content-data.err .select,
.c-contact__form-content-data.err input
{
    position: relative;

    color: #00a0de;
    border: 1px solid #00a0de;
}

.err_message
{
    display: none;
}

.c-contact__form-content-data.err .err_message
{
    display: block;

    margin-top: 5px;

    letter-spacing: .5em;

    color: #00a0de;
}

.c-contact__form
{
    width: 100%;
    max-width: 1000px;
    margin: auto;
}

.c-contact__form option,
.c-contact__form textarea,
.c-contact__form input[type=text],
.c-contact__form input[type=email],
.c-contact__form input[type=search],
.c-contact__form input[type=url]
{
    width: 100%;
}

.c-contact__form input[type=text],
.c-contact__form input[type=email],
.c-contact__form textarea
{
    width: 100%;
    padding: 8px 15px;

    transition: .2s;

    background-color: #f2f2f2;
}

.c-contact__form input[type=text]:focus,
.c-contact__form input[type=email]:focus,
.c-contact__form textarea:focus
{
    box-shadow: 0 0 10px rgba(0, 71, 157, .2);
}

.c-contact__form input::-moz-placeholder, .c-contact__form textarea::-moz-placeholder
{
    color: rgba(51, 51, 51, .4);
}

.c-contact__form input:-ms-input-placeholder, .c-contact__form textarea:-ms-input-placeholder
{
    color: rgba(51, 51, 51, .4);
}

.c-contact__form input::placeholder,
.c-contact__form textarea::placeholder
{
    color: rgba(51, 51, 51, .4);
}

.mwform-radio-field
{
    display: block;

    width: 100%;
}

.mwform-radio-field-text
{
    position: relative;

    display: inline-block;

    margin-bottom: 5px;
    padding: 0 18px 0 24px;

    cursor: pointer;
}

.mwform-radio-field-text::before,
.mwform-radio-field-text::after
{
    position: absolute;

    display: block;

    content: '';
}

.mwform-radio-field-text::before
{
    top: 50%;
    left: 0;

    width: 16px;
    height: 16px;

    transform: translateY(-50%);

    border: 1px solid #666;
    border-radius: 9px;
    background: #fff;
}

.mwform-radio-field-text::after
{
    top: 50%;
    left: 3px;

    width: 12px;
    height: 12px;

    transform: translateY(-50%);

    opacity: 0;
    border-radius: 6px;
    background: #1ca9e3;
}

input[type=radio]:checked + .mwform-radio-field-text::after
{
    /* css擬似要素 :checked が付加されているときは表示  */
    opacity: 1;
}

input[type=text].c-contact__form-content-data-shorttxt
{
    width: auto;
    margin-right: 10px;
}

.c-contact__form-content-list
{
    border-bottom: 1px solid #bcbcbc;
}

.c-contact__form-content-item
{
    display: flex;

    border-top: 1px solid #bcbcbc;

    justify-content: space-between;
    align-items: stretch;
}

.c-contact__form-content-ttl
{
    font-weight: 700;
    line-height: 1.67;

    display: flex;

    width: 250px;
    padding: 20px 20px;

    background-color: #cce9f4;

    align-items: center;
    justify-content: left;
}

.c-contact__form-content-ttl.is-required,
.c-contact__form-content-ttl.is-optional
{
    position: relative;
}

.c-contact__form-content-ttl-note
{
    font-size: 1.6rem;
}

.c-contact__form-content-ttl.is-required::after,
.c-contact__form-content-ttl.is-optional::after
{
    font-size: 1.5rem;
    font-weight: normal;

    content: '*';
    vertical-align: top;

    color: #d31619;
}

.c-contact__form-content-data
{
    line-height: 1.8;

    position: relative;

    display: flex;

    width: calc(100% - 250px);
    height: auto;
    padding: 20px 20px 20px 20px;

    align-items: center;
    flex-wrap: wrap;
}

.c-contact__form-privacy
{
    display: block;

    margin-top: 50px;
}

.c-contact__form-privacy-note a
{
    color: #00a0de;
}

.c-contact__form-action,
.group__group-action
{
    margin-top: 35px;
}




.c-contact__form-btn,
.group__group-btn
{
    font-size: 1.5rem;
    line-height: initial;

    position: relative;

    display: flex;

    width: 260px;
    height: 60px;
    margin-right: auto;
    margin-left: auto;

    cursor: pointer;

    color: #333;
    border: 1px solid #00a0de;
    border-radius: 30px;
    background-color: #fff;

    justify-content: center;
    align-items: center;
}

.group__group-btn
{
    margin: 0 10px;
}


.c-contact__form-btn button
{
	color:#333;
    display: block;

    width: 100%;
    height: 100%;

    cursor: pointer;
}


.group__group-btn a
{
	color:#333;
}


.c-contact__form-btn:hover,
.group__group-btn:hover
{
    opacity: 1;
    color: #fff;
    background-color: #00a0de;
}

.c-contact__form-btn:hover button
{
    color: #fff;
}

.c-contact__form-btn:hover a,
.group__group-btn:hover a
{
    color: #fff;
}

.c-contact__form-btn::after,
.group__group-btn::after
{
    position: absolute;
    top: 50%;
    right: 15px;

    display: block;

    width: 15px;
    height: 12px;

    content: '';
    transition: .2s;
    transform: translateY(-50%);

    background: url(../images/common/btn_arrow_blue.svg) no-repeat center center;
}

.c-contact__form-btn:hover::after,
.group__group-btn:hover::after
{
    right: 10px;

    background: url(../images/common/btn_arrow_white.svg) no-repeat center center;
}






.mw_wp_form_input .c-contact__form-action.--form02
{
    display: none;
}

.mw_wp_form_confirm .c-contact__form-action.--form01
{
    display: none;
}

.p-news-detail__main .c-news-item
{
    display: flex;

    padding-top: 30px;
    padding-bottom: 20px;

    border-top: 1px solid #d5d5d5;
    border-bottom: 1px solid #d5d5d5;

    flex-wrap: wrap;
    align-items: center;
}

.p-news-detail__main .c-news-date
{
    margin-right: 30px;
    margin-left: 0;
    padding-left: 0;
}

.p-news-detail__main .c-news-item-ttl
{
    font-size: 2.5rem;
    font-weight: bold;

    width: 100%;
    margin-top: 10px;
    padding-left: 0;
}

.p-news-detail__entry
{
    margin-top: 20px;
}

.p-news-detail__entry img
{
    max-width: 100%;
}

.p-news__detail-btn
{
    margin-top: 50px;
    margin-right: auto;
    margin-left: auto;
}

.p-side__ttl
{
    font-size: 2rem;
    font-weight: 700;

    margin-top: -10px;
}

.p-side__news-list + .p-side__ttl
{
    margin-top: 40px;
}

.p-side__news-list
{
    display: flex;
    flex-direction: column;

    width: 100%;
    margin-top: 15px;

    transition: .2s;

    justify-content: space-between;
    align-items: flex-start;
}

.p-side__news-list.--latest
{
    padding-left: 50px;
}

.p-side__news-list li
{
    position: relative;
}

.p-side__news-list li:not(:first-child)
{
    margin-top: 5px;
}

.p-side__news-list.--latest li
{
    list-style: disc;
}

.p-side__news-list.--archive
{
    margin-top: 5px;
}

.p-side__news-list.--archive li
{
    line-height: 1.5;

    margin-top: 10px;
}

.p-side__news-list.--archive li a
{
    padding-left: 30px;

    color: #333;
}

.p-side__news-list-link
{
    display: flex;

    width: 100%;

    transition: .2s;

    color: #333;

    align-items: flex-start;
}

.p-side__news-list-ttl
{
    font-size: 1.5rem;
    line-height: 1.7;

    display: -webkit-box;
    overflow: hidden;

    width: 100%;
    padding-left: 0;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.p-ser-general__main-box
{
    margin-top: 70px;
}

.p-ser-general__main-box .c-box
{
    margin-top: 15px;
}

.p-ser-general__main-box .c-bluelist
{
    margin-top: 50px;
}

.p-ser-general__main-box .c-btn
{
    margin-top: 40px;
}

.p-ser-general__main-box-info
{
    width: calc(100% - 500px);

    transition: .2s;
}

.p-ser-general__main-box-img
{
    width: 450px;
    margin-left: 50px;

    transition: .2s;
}

.p-ser-nose__head-list
{
    display: grid;

    width: 100%;
    margin-right: auto;
    margin-left: auto;

    transition: .2s;

    gap: 20px;
    grid-template-columns: repeat(auto-fill, 260px);
    grid-auto-rows: 40px;
    justify-content: center;
}

.p-ser-nose__head-list li
{
    width: 260px;
    height: 40px;
}

.p-ser-nose__condition-box .c-numttl
{
    margin-top: 60px;
}

.p-ser-nose__condition-box p
{
    margin-top: 20px;
}

.p-ser-nose__main-img
{
    width: 450px;
    margin-top: 15px;
    margin-bottom: 30px;
    margin-left: 60px;
}

.p-ser-online__about-img
{
    width: 450px;
    margin-bottom: 30px;
    margin-left: 60px;
}

.p-ser-online__about-subttl
{
    font-size: 2.5rem;

    margin-top: 40px;
}

.p-ser-online__about-attention
{
    position: relative;

    margin-top: 30px;
    padding: 30px 0 20px 50px;

    border: 2px solid #7fcfee;
}

.p-ser-online__about-attention li
{
    font-weight: 700;
    line-height: 1.4;

    margin-bottom: 10px;

    list-style: disc;
}

.p-ser-online__flow-ttl + p
{
    margin-top: 50px;
}

.p-ser-online__flow-box
{
    margin-top: 60px;
}

.p-ser-online__flow-subttl
{
    align-items: flex-end;
}

.p-ser-online__flow-subttl + p
{
    margin-top: 10px;
}

.p-ser-online__flow-btn
{
    margin-top: 100px;
    margin-right: auto;
    margin-left: auto;
}

.p-ser-online__price-ttl + p
{
    margin-top: 50px;
}

.p-ser-online__price-box
{
    margin-top: 60px;
}

.p-ser-online__price-subttl
{
    align-items: flex-end;
}

.p-ser-online__price-subttl .c-red
{
    font-size: 2rem;

    margin-left: 30px;
}

.p-ser-online__price-subttl + p
{
    margin-top: 10px;
}

.p-ser-rehabilitation__head-ttl
{
    line-height: 1.5;
}

.p-ser-rehabilitation__head-box
{
    margin-top: 50px;
}

.p-ser-rehabilitation__head-box p + p
{
    margin-top: 15px;
}

.p-ser-rehabilitation__head-img
{
    width: 450px;
    margin-left: 60px;
}

.p-ser-rehabilitation__main-read
{
    margin-top: 50px;
}

.p-ser-rehabilitation__main-read p + p
{
    margin-top: 20px;
}

.p-ser-rehabilitation__main-box
{
    margin-top: 60px;
}

.p-ser-rehabilitation__main-box .c-circlettl
{
    margin-top: 30px;
}

.p-ser-rehabilitation__main-box p
{
    margin-top: 15px;
}

.p-ser-rehabilitation__main-box.--box1 .c-btn
{
    margin-top: 40px;
}

.p-ser-rehabilitation__main-box-ttl + p,
.p-ser-rehabilitation__main-img + p
{
    margin-top: 15px;
}

.p-ser-rehabilitation__main-img
{
    width: 450px;
    margin-top: 15px;
    margin-bottom: 30px;
    margin-left: 60px;
}

.p-ser-voice__head-box
{
    margin-top: 50px;
}

.p-ser-voice__head-box p + p
{
    margin-top: 15px;
}

.p-ser-voice__head-img
{
    width: 450px;
    margin-bottom: 50px;
    margin-left: 60px;
}

.p-ser-voice__main-read
{
    margin-top: 50px;
}

.p-ser-voice__main-read p + p
{
    margin-top: 20px;
}

.p-ser-voice__main-box
{
    margin-top: 60px;
}

.p-ser-voice__main-box .c-circlettl
{
    margin-top: 30px;
}

.p-ser-voice__main-box p
{
    margin-top: 15px;
}

.p-ser-voice__main-box.--box1 .c-btn
{
    margin-top: 40px;
}

.p-ser-voice__main-box-ttl + p,
.p-ser-voice__main-img + p
{
    margin-top: 15px;
}

.p-ser-voice__main-img
{
    width: 450px;
    margin-top: 15px;
    margin-bottom: 30px;
    margin-left: 60px;
}

.p-ser-voice-search__condition-box .c-numttl
{
    margin-top: 60px;
}

.p-ser-voice-search__condition-box p
{
    margin-top: 20px;
}

.p-ser-voice-search__head-list
{
    display: grid;

    width: 100%;
    max-width: 550px;
    margin-right: auto;
    margin-left: auto;

    transition: .2s;

    gap: 20px;
    grid-template-columns: repeat(auto-fill, 260px);
    grid-auto-rows: 40px;
    justify-content: center;
}

.p-ser-voice-search__head-list li
{
    width: 260px;
    height: 40px;
}

.p-ser-voice-search__name-ttl + p
{
    margin-top: 55px;
}

.p-ser-voice-search__name-subttl
{
    margin-top: 55px;
}

.p-ser-voice-search__name-box .c-numttl
{
    margin-top: 60px;
}

.p-ser-voice-search__name-box img
{
    width: 450px;
    margin-top: 20px;
    margin-bottom: 0;
    margin-left: 60px;
}

.p-ser-voice-search__name-box p
{
    margin-top: 20px;
}

.p-services__main
{
    background-image: url(../images/services/bg.png);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 740px;

    background-blend-mode: multiply;
}

.p-surg-archivements__main-ttl.c-numttl
{
    margin-top: 60px;
}

.p-surg-archivements__main-table
{
    width: 100%;
    margin-top: 20px;
}

.p-surg-archivements__main-table th,
.p-surg-archivements__main-table td
{
    padding: 15px 20px;

    vertical-align: middle;

    border: 1px solid #ccc;
}

.p-surg-archivements__main-table th
{
    font-weight: 700;

    background-color: #cce9f4;
}

.p-surg-archivements__main-table tr:nth-child(odd)
{
    background-color: #f7f7f7;
}

.p-surg-archivements__main-tpart
{
    width: 120px;
}

.p-surg-archivements__main-tname
{
    text-align: left;
}

.p-surg-archivements__main-tnum
{
    width: 120px;
}

.p-surg-archivements__main-tpartname
{
    text-align: center;

    background-color: #f7f7f7;
}

.p-surg-archivements__main-tnumdata
{
    text-align: right;
}

.p-surg-cost__main-ttl.c-numttl
{
    margin-top: 60px;
}

.p-surg-cost__main-table
{
    width: 100%;
    margin-top: 20px;
}

.p-surg-cost__main-table th,
.p-surg-cost__main-table td
{
    padding: 15px 20px;

    vertical-align: middle;

    border: 1px solid #ccc;
}

.p-surg-cost__main-table th
{
    font-weight: 700;

    background-color: #cce9f4;
}

.p-surg-cost__main-table tr:nth-child(odd)
{
    background-color: #f7f7f7;
}

.p-surg-cost__main-tname
{
    text-align: left;
}

.p-surg-cost__main-tcost
{
    width: 200px;
}

.p-surg-cost__main-tprice
{
    text-align: right;
}

.p-surg-flow__main
{
    display: flex;

    justify-content: space-between;
    align-items: flex-start;
}

.p-surg-flow__main-flow
{
    width: calc(100% - 360px - 80px);
}

.p-surg-flow__main-flow ul
{
    position: relative;
}

.p-surg-flow__main-flow ul::before
{
    position: absolute;
    z-index: -1;
    top: 10px;
    left: 122px;

    width: 7px;
    height: 100%;

    content: '';

    background-color: #d7d7d7;
}

.p-surg-flow__main-flow li
{
    position: relative;
}

.p-surg-flow__main-flow li:not(:first-child)
{
    margin-top: 40px;
}

.p-surg-flow__main-flow-icon
{
    position: absolute;
    top: 0;
    left: 0;

    width: 100px;
}

.p-surg-flow__main-flow-ttl
{
    font-size: 2.5rem;

    margin-left: 108px;
}

.p-surg-flow__main-flow-ttl .c-circlettl-num
{
    font-size: 2rem;

    width: 35px;
    height: 35px;
    margin-right: 20px;
}

.p-surg-flow__main-flow-info
{
    margin-top: 20px;
    margin-left: 165px;
}

.p-surg-flow__main-flow-info p + .c-midttl
{
    margin-top: 20px;
}

.p-surg-flow__main-flow-info p + p
{
    margin-top: 20px;
}

.p-surg-flow__main-image
{
    display: grid;

    width: 360px;

    transition: .2s;

    gap: 40px;
    grid-template-columns: repeat(auto-fill, 360px);
}

.p-surg-flow__main-image li
{
    width: 360px;

    transition: .2s;
}

.p-surg-flow__main-image p
{
    margin-top: 10px;
}

.p-surg-nose__head-list
{
    display: grid;

    width: 100%;
    margin-right: auto;
    margin-left: auto;

    transition: .2s;

    gap: 20px;
    grid-template-columns: repeat(auto-fill, 260px);
    grid-auto-rows: 40px;
    justify-content: center;
}

.p-surg-nose__head-list li
{
    width: 260px;
    height: 40px;
}

.p-surg-nose__ope-box .c-numttl
{
    margin-top: 55px;
}

.p-surg-nose__ope-box p
{
    margin-top: 15px;
}

.p-surg-nose__main-img
{
    width: 450px;
    margin-top: 15px;
    margin-bottom: 30px;
    margin-left: 60px;
}

.p-surg-system__head img
{
    width: 100%;
    max-width: 710px;
    margin-top: 50px;
    margin-right: auto;
    margin-left: auto;
}

.p-surg-system__head-ttl + p
{
    margin-top: 50px;
}

.c-note
{
    margin-top: 20px;
}

img + p
{
    margin-top: 50px;
}

.p-surg-system__howto-ttl + p
{
    margin-top: 50px;
}

.p-surg-system__howto-subttl.c-numttl
{
    margin-top: 60px;
}

.p-surg-system__howto-subttl + p
{
    margin-top: 15px;
}

p + p
{
    margin-top: 15px;
}

.p-surg-system__limit-ttl + p
{
    margin-top: 50px;
}

.p-surg-system__limit-subttl.c-numttl
{
    margin-top: 60px;
}

.p-surg-system__limit-table-wrap
{
    overflow-x: scroll;
}

.p-surg-system__limit-table
{
    width: 100%;
    min-width: 600px;
    margin-top: 20px;

    table-layout: fixed;

    background-color: #fff;
}

.p-surg-system__limit-table th,
.p-surg-system__limit-table td
{
    padding: 15px 20px;

    vertical-align: middle;

    border: 1px solid #ccc;
}

.p-surg-system__limit-table th
{
    font-weight: 700;

    background-color: #cce9f4;
}

.p-surg-system__limit-table td
{
    text-align: center;
}

.p-surg-system__limit-table td::first-line
{
    font-weight: 700;
}

.p-surg-system__limit-table-wrap + p
{
    margin-top: 50px;
}

.p-surg-system__limit-tsec
{
    width: 120px;
}

.p-surg-system__limit-tsecname
{
    font-weight: 700;

    text-align: center;

    background-color: #f7f7f7;
}

.--under69 th:not(:first-child)
{
    width: calc((100% - 120px) / 2);
}

.--over70 th:not(:first-child)
{
    width: calc((100% - 120px) / 3);
}

.p-surg-voice__head-list
{
    display: grid;

    width: 100%;
    margin-right: auto;
    margin-left: auto;

    transition: .2s;

    gap: 20px;
    grid-template-columns: repeat(auto-fill, 260px);
    grid-auto-rows: 40px;
    justify-content: center;
}

.p-surg-voice__head-list li
{
    width: 260px;
    height: 40px;
}

.p-surg-voice__ope-ttl + p
{
    margin-top: 50px;
}

.p-surg-voice__ope-box .c-numttl
{
    margin-top: 50px;
}

.p-surg-voice__ope-box p
{
    margin-top: 15px;
}

.p-surg-voice__ope-box .c-ovalbtn
{
    height: 40px;
    padding-right: 20px;
    padding-left: 20px;

    border-radius: 20px;
}

.p-surg-voice__main-img
{
    width: 450px;
    margin-top: 15px;
    margin-bottom: 30px;
    margin-left: 60px;
}

.p-surgery__main
{
    background-image: url(../images/surgery/bg.png);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 740px;

    background-blend-mode: multiply;
}

.p-top__access-map
{
    width: 100%;
    height: 400px;
    margin-top: 60px;
}

.p-top__access-map iframe
{
    width: 100%;
    height: 100%;
}

.p-top__access-info
{
    display: flex;

    margin-top: 30px;

    justify-content: space-between;
    align-items: flex-start;
}

.p-top__access-item img
{
    display: inline-block;

    vertical-align: middle;
}

.p-top__access-item ul
{
    margin-top: 20px;
}

.p-top__access-item li
{
    margin-bottom: 10px;
    margin-left: 30px;

    list-style: disc;
}

.p-top__access-item .c-note
{
    margin-top: 30px;
}

.p-top__access-item.--train img
{
    width: 20px;
    margin-right: 10px;
}

.p-top__access-item.--car img
{
    width: 25px;
    margin-right: 5px;
}

.p-top__access-btn
{
    margin-top: 20px;
}

.p-top__access-info-ttl
{
    font-size: 2rem;
    font-weight: 700;
}

.p-top__adjust img
{
    width: calc(100% - (50% - 50vw));
    max-width: unset;
    height: 400px;
    margin-right: 0;
    margin-left: calc(50% - 50vw);

    transition: .2s;

    -o-object-fit: cover;

       object-fit: cover;
}

.p-top__group-slider .prev,
.p-top__group-slider .next
{
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 0;

    width: 32px;
    margin: -16px 0 0;

    transition: .2s;
}

.p-top__group-slider .prev:hover,
.p-top__group-slider .next:hover
{
    opacity: .5;
}

.p-top__group-slider .next
{
    right: 0;
    left: unset;
}

.p-top__group-slider .prev b,
.p-top__group-slider .next b
{
    display: block;
    overflow: hidden;

    height: 0 !important;
    padding: 32px 0 0;

    cursor: pointer;

    background: url('../images/top/slide_prev.svg') no-repeat;
    background-size: 32px 32px;
}

.p-top__group-slider .next b
{
    background-image: url('../images/top/slide_next.svg');
}

.p-top__group-read
{
    margin-top: 60px;

    text-align: center;
}

.p-top__group-slider
{
    margin-top: 60px;
}

.p-top__group-slider-list
{
    display: flex;

    padding-left: 20px;
}

.p-top__group-slider-list li
{
    width: 260px;
    margin-right: 20px;
}

.p-top__group-slider-list li a
{
    text-align: center;
}

.p-top__group-slider-label
{
    font-size: 1.3rem;

    margin-top: 10px;

    color: #00a0de;
}

.p-top__group-slider-name
{
    font-weight: 700;
    line-height: 1.2;

    margin-top: 10px;

    color: #333;
}

.p-top__group-slider-line
{
    font-size: 1.3rem;

    margin-top: 10px;

    color: #34aa9c;
}

.p-top__access-btn
{
    margin-top: 40px;
    margin-right: auto;
    margin-left: auto;
}

.p-top__mv.c-mv
{
    position: relative;

    overflow: hidden;

    width: 100%;
    height: calc(100vh - 110px + 0px);
    min-height: 580px;
    margin-left: 0;
    padding-left: 0;

    transition: .2s;
}

.p-top__mv .c-mv-img::after
{
    content: none;
}

.p-top__mv-slide
{
    position: relative;
    z-index: 3;

    overflow: visible;

    height: 100%;

    transition: .2s;
}

.p-top__mv-slide .slide
{
    display: block;

    width: calc(100vw - (50vw - 50%));
    margin-right: calc(50% - 50vw);
}

.p-top__mv-slide .slide li
{
    display: block;
    overflow: hidden;
}

.p-top__mv-slide .slide li img
{
    width: 100%;
    height: 100%;
    min-height: calc(100vh - 110px + 0px);
}

.p-top__mv-ttl.c-mv-ttl
{
    font-size: 4.5rem;
    font-weight: 600;
    line-height: 1.77;

    position: absolute;
    z-index: 10;
    top: unset;
    bottom: 80px;
    left: 80px;

    transform: none;

    color: #fff;
    text-shadow: 0 0 10px rgba(0, 0, 0, .8);
}

.p-top__mv-timetable
{
    position: absolute;
    z-index: 99;
    right: 0;
    bottom: 0;
}

.p-top__news
{
    position: inherit;
    z-index: 2;

    display: flex;

    justify-content: space-between;
}

.p-top__news-main
{
    width: calc(100% - 500px);
}

.p-top__news-head
{
    display: flex;

    justify-content: space-between;
}

.p-top__news-btn
{
    font-size: 1.3rem;
    font-weight: 400;

    width: 150px;
    height: 40px;
    padding-right: 20px;

    border-radius: 20px;
}

.p-top__news-list
{
    margin-top: 30px;
}

.p-top__news-contact-wrap
{
    width: 450px;
    margin-left: 50px;
}

.p-top__news-contact
{
    position: relative;

    display: flex;
    flex-direction: column;

    width: 450px;
    height: 290px;

    text-align: center;

    color: #fff;
    border-radius: 10px;
    background: url(../images/top/news_bg.jpg) no-repeat center center;
    background-size: cover;

    justify-content: center;
    align-items: center;
}

.p-top__news-contact::before
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';

    border-radius: 10px;
    background-color: rgba(0, 131, 182, .8);
}

.p-top__news-contact-ttl,
.p-top__news-contact-txt,
.p-top__news-contact-btn
{
    position: relative;
    z-index: 5;
}

.p-top__news-contact-ttl
{
    font-size: 2.5rem;
    font-weight: 700;
}

.p-top__news-contact-txt
{
    margin-top: 12px;
}

.p-top__news-contact-btn
{
    font-size: 1.8rem;

    margin-top: 22px;
    margin-bottom: 20px;
}

.p-top__news-contact-btn img
{
    width: 21px;
    margin-right: 10px;
}

.p-top__news-sns
{
    display: block;

    margin-top: 20px;
}

.p-top__service
{
    background-image: url(../images/top/service_bg.png);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: 700px;

    background-blend-mode: multiply;
}

.p-top__service .inner
{
    overflow: visible;
}

.p-top__service-box
{
    margin-top: 60px;
}

.p-top__service-subttl.c-subttl
{
    margin-top: 20px;
}

.p-top__service-subttl + p,
.p-top__service-subttl + p + p
{
    margin-top: 20px;
}

.p-top__service-list
{
    margin-top: 70px;
}

.p-top__service-list-ttl.--nose
{
    font-size: 1.8rem;

    text-align: center;
}

.c-btn.p-top__service-btn
{
    margin-top: 60px;
    margin-right: auto;
    margin-left: auto;
}

.p-top__surgery .inner
{
    overflow: visible;
}

.p-top__surgery-box
{
    margin-top: 60px;
}

.p-top__surgery-subttl.c-subttl
{
    margin-top: 20px;
}

.p-top__surgery-subttl + p,
.p-top__surgery-subttl + p + p
{
    margin-top: 20px;
}

.p-top__surgery-list
{
    margin-top: 70px;
}

.c-btn.p-top__surgery-btn
{
    margin-top: 60px;
    margin-right: auto;
    margin-left: auto;
}

/* Utility
  ----------------------------------------------------------------- */

.u-cta
{
    position: inherit;
    z-index: 2;

    display: flex;

    width: 100%;
    height: 230px;

    justify-content: space-between;
    align-items: stretch;
}

.u-cta__box
{
    position: relative;

    display: flex;
    flex-direction: column;

    width: 50%;
    height: 100%;

    text-align: center;

    color: #fff;

    justify-content: flex-start;
    align-items: center;
}

.u-cta__box::before
{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;

    display: block;

    width: 100%;
    height: 100%;

    content: '';
}

.u-cta__box.--contact
{
    background: url(../images/common/cta_bg_l.jpg) no-repeat center center;
    background-size: cover;
}

.u-cta__box.--contact::before
{
    background-color: rgba(0, 131, 182, .8);
}

.u-cta__box.--reservertion
{
    background: url(../images/common/cta_bg_r.jpg) no-repeat center center;
    background-size: cover;
}

.u-cta__box.--reservertion::before
{
    background-color: rgba(56, 139, 130, .8);
}

.u-cta__box a
{
    color: #fff;
}

.u-cta__box-txt a
{
    color: #fffc82;
}

.u-cta__box-ttl,
.u-cta__box-tel,
.u-cta__box-txt,
.u-cta__box-btn
{
    position: relative;
    z-index: 5;
}

.u-cta__box-ttl
{
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;

    margin-top: 60px;
}

.u-cta__box-tel
{
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;

    display: flex;

    margin-top: 25px;

    pointer-events: none;

    color: #fff;

    justify-content: center;
}

.u-cta__box-tel img
{
    width: 23px;
    margin-right: 10px;
}

.u-cta__box-txt
{
    margin-top: 5px;
}

.u-cta__box-btn
{
    font-size: 1.8rem;
    font-weight: 400;

    width: 260px;
    height: 60px;
    margin-top: 30px;

    border-radius: 30px;
}

.u-cta__box-btn img
{
    width: 20px;
    margin-right: 8px;
}

.pt10
{
    padding-top: 10px;
}

.pt20
{
    padding-top: 20px;
}

.pt30
{
    padding-top: 30px;
}

.pt40
{
    padding-top: 40px;
}

.pt50
{
    padding-top: 50px;
}

.pt60
{
    padding-top: 60px;
}

.pt80
{
    padding-top: 80px;
}

.pt110
{
    padding-top: 110px;
}

.mb10
{
    margin-bottom: 10px;
}

.mb20
{
    margin-bottom: 20px;
}

.mb30
{
    margin-bottom: 30px;
}

.mb40
{
    margin-bottom: 40px;
}

.mb50
{
    margin-bottom: 50px;
}

.mb60
{
    margin-bottom: 60px;
}

.mb70
{
    margin-bottom: 70px;
}

.mb80
{
    margin-bottom: 80px;
}

.mb100
{
    margin-bottom: 100px;
}

.fs10
{
    font-size: 10px;
    font-size: 1rem;
}

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

.fs14
{
    font-size: 14px;
    font-size: 1.4rem;
}

.fs15
{
    font-size: 15px;
    font-size: 1.5rem;
}

.fs16
{
    font-size: 16px;
    font-size: 1.6rem;
}

.fs18
{
    font-size: 18px;
    font-size: 1.8rem;
}

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

.fs24
{
    font-size: 24px;
    font-size: 2.4rem;
}

.fs30
{
    font-size: 30px;
    font-size: 3rem;
}

.fs32
{
    font-size: 32px;
    font-size: 3.2rem;
}

.fs40
{
    font-size: 40px;
    font-size: 4rem;
}

.fs50
{
    font-size: 50px;
    font-size: 5rem;
}

.fs60
{
    font-size: 60px;
    font-size: 6rem;
}

.fw-b
{
    font-weight: bold;
}

.shadow
{
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);
}

.shadow-md
{
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);
}

.shadow-lg
{
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);
}

.shadow-xl
{
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);
}

.shadow-none
{
    box-shadow: none;
}

/* plugin
  ----------------------------------------------------------------- */

/*# sourceMappingURL=style.css.map */

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

}

@media screen and (min-width: 1024px)
{
    .p-header__menu-sublist
    {
        position: absolute;
        z-index: 4;
        top: 43px;
        left: 38px;

        display: block;
        visibility: hidden;
        overflow: hidden;

        width: 210px;
        padding-top: 12px;
        padding-bottom: 12px;

        transition: all .3s;

        opacity: 0;
        border-radius: 5px;
        box-shadow: 0 0 10px rgba(0, 0, 0, .3);
    }

    .p-header__menu-sublist::after,
    .p-header__menu-sublist::before
    {
        position: absolute;
        left: 0;

        display: block;

        width: 100%;
        height: 12px;

        content: '';

        background-color: #fff;
    }

    .p-header__menu-sublist::after
    {
        top: 0;
    }

    .p-header__menu-sublist::before
    {
        bottom: 0;
    }

    .u-hidden-onlypc
    {
        display: none;
    }

}

@media screen and (max-width: 1024px) and (min-width: 768px)
{
    .u-hidden-onlytab
    {
        display: none;
    }
}

@media screen and (min-width: 1400px)
{
    .c-mv-img img
    {
        width: 100%;
        height: auto;
        min-height: 100%;
    }


}

@media screen and (max-width: 1500px)
{
    .p-top__mv-ttl.c-mv-ttl
    {
        bottom: 80px;
    }
}

@media screen and (max-width: 1200px)
{
    .inner
    {
        padding-right: 30px;
        padding-left: 30px;
    }

    .inner.--nest
    {
        padding-right: 0;
        padding-left: 0;
    }


}

@media screen and (max-width: 1140px)
{
    .p-header__menu-other-item:not(:last-child)
    {
        margin-right: 20px;
    }

    .p-header__menu-item:not(:first-child)
    {
        padding-left: 20px;
    }

    .p-header__menu-sublist
    {
        left: 20px;
    }
}

@media screen and (max-width: 1024px)
{
    .inner.--flex
    {
        flex-direction: column;
    }

    .inner.--flex .l-content
    {
        width: 100%;
        padding-right: 0;
    }

    .inner.--flex .l-side
    {
        width: 100%;
        margin-top: 100px;
    }

    .c-bluelist li
    {
        width: 100%;
    }

    .c-btn.--navi
    {
        width: 230px;
    }

    .c-listbox
    {
        grid-template-columns: repeat(auto-fill, 355px);
        grid-auto-rows: 393px;
    }

    .c-listbox li
    {
        width: 355px;
        height: 393px;
    }

    .c-mv
    {
        width: 100%;
        margin-left: 0;
        padding-left: 0;
    }

    .c-mv-ttl
    {
        left: 30px;
    }

    .c-news-list
    {
        width: 100%;
        margin-top: 30px;
    }

    .c-timetable
    {
        box-shadow: 0 0 10px rgba(0, 0, 0, .2);
    }

    .c-topbox-left
    {
        padding-right: 0;
    }

    .c-topbox-right
    {
        width: calc(50vw - 50px);
        margin-left: 50px;
    }

    .c-whitebox
    {
        gap: 25px;
        grid-auto-rows: 250px;
        grid-template-columns: repeat(auto-fill, 230px);
    }

    .c-whitebox li
    {
        width: 230px;
        height: 250px;
    }

    .p-footer__explain
    {
        text-align: left;
    }

    .p-footer__copyright
    {
        margin-top: 0;
        margin-bottom: 60px;

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

    .p-header
    {
        padding-right: 0;

        justify-content: center;
    }

    .p-header-inner
    {
        width: calc(100% - 80px);
    }

    .p-header__menu-wrapper
    {
        position: fixed;
        z-index: 999;
        top: 110px;
        right: -100%;

        overflow: scroll;

        width: 100%;
        height: 100%;
        margin-top: 0;
        padding-top: 0;
        padding-bottom: 250px;

        transition: .5s;

        opacity: 0;
        background-color: rgba(255, 255, 255, .9);
    }

    .p-header__menu-wrapper.is-open
    {
        right: 0;

        display: block;

        min-height: 500px;

        opacity: 1;
    }

    .p-header__menu
    {
        flex-direction: column-reverse;

        padding-bottom: 100px;
    }

    .p-header__menu-other
    {
        height: auto;
        margin-top: 50px;

        flex-wrap: wrap;
        justify-content: center;
    }

    .p-header__menu-other-item:not(:last-child)
    {
        margin-right: 0;
    }

    .p-header__menu-other-item.--group
    {
        width: calc((100% - 220px) / 2);
    }

    .p-header__menu-other-item.--group .p-header__menu-other-link
    {
        justify-content: flex-end;
    }

    .p-header__menu-other-item.--access
    {
        width: 150px;
    }

    .p-header__menu-other-item.--x
    {
        width: 70px;
    }

    .p-header__menu-other-item.--x .p-header__menu-other-link
    {
        justify-content: flex-start;
    }

    .p-header__menu-other-item.--en
    {
        width: calc((100% - 220px) / 2);
    }

    .p-header__menu-other-item.--en .p-header__menu-other-link
    {
        justify-content: flex-start;
    }

    .p-header__menu-other-item.--tel
    {
        font-size: 3rem;

        width: 50%;
        margin-top: 30px;
        padding-right: 20px;
    }

    .p-header__menu-other-item.--tel a
    {
        height: 40px;

        pointer-events: initial;

        justify-content: flex-end;
    }

    .p-header__menu-other-item.--tel img
    {
        width: 18px;
    }

    .p-header__menu-other-item.--reservation
    {
        width: 50%;
        margin-top: 30px;
        padding-left: 20px;
    }

    .p-header__menu-other-item.--reservation a
    {
        width: 260px;
        height: 60px;

        border-radius: 30px;
    }

    .p-header__menu-other-item.--reservation img
    {
        width: 20px;
    }

    .p-header__menu-list
    {
        flex-direction: column;

        height: auto;
        margin-top: 0;

        border-top: solid 1px #bababa;
    }

    .p-header__menu-item
    {
        width: 100%;
    }

    .p-header__menu-item:not(:first-child)
    {
        padding-left: 0;
    }

    .p-header__menu-link
    {
        font-size: 1.5rem;
        line-height: 45px;

        position: relative;

        height: 45px;
        padding-left: 20px;

        text-align: left;

        border-bottom: solid 1px #bababa;
    }

    .p-header__menu-sublist-link:after,
    .p-header__menu-link:after
    {
        position: absolute;
        top: 50%;
        right: 23px;

        display: block;

        width: 6px;
        height: 6px;

        content: '';
        transform: rotate(45deg) translateY(-50%);

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

    .p-header__menu-item.has-child .p-header__menu-link:after
    {
        content: none;
    }

    .p-header__menu-item.has-child
    {
        margin-right: 0;
    }

    .p-header__menu-item.has-child::before
    {
        top: 0;
        right: 0;

        display: block;

        width: 45px;
        height: 45px;

        transition: all .9s;
        transform: none;

        border-right: none;
        border-bottom: none;
        background: url(../images/common/icon_plus.svg) no-repeat center;
        background-size: 12px;
    }

    .p-header__menu-item.has-child.active::before
    {
        transform: rotate(180deg);

        background: url(../images/common/icon_minus.svg) no-repeat center;
    }

    .p-header__menu-sublist
    {
        position: relative;
        top: 0;
        left: 0;

        display: block;
        display: none; /*JSのslidetoggleで表示させるため非表示に*/
        visibility: visible; /*JSで制御するため一旦表示*/

        width: 100%;
        padding-top: 0;
        padding-bottom: 0;

        transition: none; /*JSで制御するためCSSのアニメーションを切る*/

        opacity: 1; /*JSで制御するため一旦表示*/
        background: none;
    }

    .p-header__menu-sublist-link
    {
        line-height: 45px;

        position: relative;

        height: 45px;
        padding-left: 45px;

        border-bottom: solid 1px #bababa;
        background-color: inherit;
    }

    .p-header__menu-sublist-link::before
    {
        position: absolute;
        top: 50%;
        left: 20px;

        width: 15px;
        height: 1px;

        content: '';

        background-color: #bababa;
    }

    .p-header__sp
    {
        display: flex;

        width: 90px;

        justify-content: space-between;
        align-items: center;
    }

    .p-header__tel,
    .p-header__reservation
    {
        position: relative;

        display: flex;

        width: 40px;
        height: 40px;

        border-radius: 5px;

        align-items: center;
        justify-content: center;
    }

    .p-header__tel
    {
        background-color: #00a0de;
    }

    .p-header__tel img
    {
        width: 20px;
    }

    .p-header__reservation
    {
        background-color: #34aa9c;
    }

    .p-header__reservation img
    {
        width: 20px;
    }

    .p-header__ham
    {
        position: relative;
        z-index: 9999;

        display: flex;
        display: flex;
        flex-direction: column;

        width: 40px;
        height: 40px;

        border-radius: 5px;
        background-color: #00a0de;

        align-items: center;
        justify-content: center;
    }

    .p-header__ham:hover
    {
        cursor: pointer;
    }

    .p-header__ham.is-open .p-header__bar--01
    {
        top: 50%;

        width: 20px;

        transform: translateY(-50%) rotate(-45deg);
    }

    .p-header__ham.is-open .p-header__bar--02
    {
        bottom: 50%;

        width: 20px;

        transform: translateY(-50%) rotate(45deg);
    }

    .p-header__ham.is-open .p-header__bar--03
    {
        opacity: 0;
    }

    .p-header__bars
    {
        position: relative;

        width: 20px;
        height: 19px;

        transition: .2s;
    }

    .p-header__bars:hover
    {
        opacity: .6;
    }

    .p-header__ham.is-open .p-header__bars
    {
        width: 20px;
        height: 19px;
    }

    .p-header__bar
    {
        position: absolute;
        left: 0;

        width: 20px;
        height: 3px;

        transition: .3s;

        background-color: #fff;
    }

    .p-header__bar--01
    {
        top: 0;
    }

    .p-header__bar--02
    {
        top: 50%;

        transform: translateY(-1px);
    }

    .p-header__bar--03
    {
        bottom: 0;
    }

    .p-about__facility-list
    {
        transition: .2s;

        gap: 30px 30px;
        grid-template-columns: repeat(auto-fill, 226px);
        grid-auto-rows: 200px;
        justify-content: center;
    }

    .p-about__facility-list li
    {
        width: 226px;
        height: 200px;
    }

    .p-about__feature-info
    {
        padding-right: 10px;
    }

    .--reverse .p-about__feature-info
    {
        padding-right: 0;
        padding-left: 0;
    }

    .p-about__feature-info-ttl
    {
        margin-top: 0;
    }

    .p-about__feature-img
    {
        width: 43.2432432432%;
    }

    .p-doctors__img
    {
        width: 179px;
        height: 215px;
    }

    .p-doctors__img img
    {
        top: 20px;
        right: -20px;
    }

    .p-doctors__info
    {
        width: calc(100% - 200px - 50px);
    }

    .p-doctors__message
    {
        width: 100%;
        margin-left: 0;
    }

    .p-floating
    {
        position: fixed;
        z-index: 99;
        bottom: 0;
        left: 0;

        display: flex;

        width: 100%;
        height: 50px;

        transition: .5s;
        transform: translateY(100%);

        justify-content: space-between;
        align-items: stretch;
    }

    .js-floating.UpMove
    {
        bottom: 0;
        left: 0;

        transform: translateY(0);
    }

    .p-floating__box
    {
        position: relative;

        display: flex;
        flex-direction: column;

        width: 50%;
        height: 100%;

        text-align: center;

        color: #fff;

        justify-content: flex-start;
        align-items: center;
    }

    .p-floating__box a
    {
        display: flex;

        width: 100%;
        height: 100%;

        color: #fff;

        justify-content: center;
        align-items: center;
    }

    .p-floating__box.--contact a
    {
        background-color: #00a0de;
    }

    .p-floating__box.--contact img
    {
        width: 16px;
        margin-right: 5px;
    }

    .p-floating__box.--reservertion a
    {
        background-color: #34aa9c;
    }

    .p-floating__box.--reservertion img
    {
        width: 14px;
        margin-right: 8px;
    }

    .p-side__news-list-ttl
    {
        overflow: unset;

        white-space: unset;
        text-overflow: unset;
    }

    .p-side__news-list-ttl + p
    {
        -webkit-line-clamp: 4;
    }

    .p-ser-general__main-box-info
    {
        width: calc(100% - 370px);
    }

    .p-ser-general__main-box-img
    {
        width: 320px;
    }

    .p-ser-nose__head-list
    {
        grid-template-columns: repeat(auto-fill, 230px);
    }

    .p-ser-nose__head-list li
    {
        width: 230px;
    }

    .p-ser-nose__main-img
    {
        width: 320px;
    }

    .p-ser-online__about-img
    {
        width: 320px;
    }

    .p-ser-rehabilitation__head-img
    {
        width: 320px;
    }

    .p-ser-rehabilitation__main-img
    {
        width: 320px;
    }

    .p-ser-voice__head-img
    {
        width: 320px;
    }

    .p-ser-voice__main-img
    {
        width: 320px;
    }

    .p-ser-voice-search__head-list
    {
        max-width: 490px;

        grid-template-columns: repeat(auto-fill, 230px);
    }

    .p-ser-voice-search__head-list li
    {
        width: 230px;
    }

    .p-ser-voice-search__name-box img
    {
        width: 320px;
        margin-bottom: 50px;
    }

    .p-surg-flow__main
    {
        flex-direction: column;
    }

    .p-surg-flow__main-flow
    {
        width: 100%;
    }

    .p-surg-flow__main-image
    {
        width: 100%;
        margin-top: 80px;

        gap: 40px 20px;
        justify-content: center;
    }

    .p-surg-nose__head-list
    {
        grid-template-columns: repeat(auto-fill, 230px);
    }

    .p-surg-nose__head-list li
    {
        width: 230px;
    }

    .p-surg-nose__main-img
    {
        width: 320px;
    }

    .p-surg-voice__head-list
    {
        grid-template-columns: repeat(auto-fill, 230px);
    }

    .p-surg-voice__head-list li
    {
        width: 230px;
    }

    .p-surg-voice__main-img
    {
        width: 320px;
    }

    .p-top__access-info
    {
        flex-wrap: wrap;
    }

    .p-top__access-item
    {
        width: 48%;
    }

    .p-top__access-item.--car
    {
        margin-top: 40px;
    }

    .p-top__adjust img
    {
        height: 300px;
    }

    .p-top__mv.c-mv
    {
        overflow: visible;
    }

    .p-top__mv-slide
    {
        width: 100%;
        padding-right: 0;
        padding-left: 0;
    }

    .p-top__mv-ttl.c-mv-ttl
    {
        left: 80px;
    }

    .p-top__mv-timetable
    {
        right: unset;
        bottom: -200px;
        left: 50%;

        width: 100%;
        max-width: 740px;

        transform: translateX(-50%);
    }

    .p-top__news
    {
        flex-direction: column;

        margin-top: 200px;

        align-items: center;
    }

    .p-top__news-main
    {
        width: 100%;
    }

    .p-top__news-contact-wrap
    {
        margin-top: 50px;
        margin-left: 0;
    }

    .u-hidden-tabsp
    {
        display: none;
    }
}

@media screen and (max-width: 960px)
{
    .p-ser-online__about-subttl
    {
        margin-top: 70px;
    }
}

@media screen and (max-width: 768px)
{
    .inner
    {
        padding-right: 20px;
        padding-left: 20px;
    }

    .inner.--flex .l-side
    {
        margin-top: 60px;
    }

    .l-main
    {
        padding-top: 70px;
    }

    .c-bluelist
    {
        padding: 20px 20px 10px;
    }

    .c-bluelist ul
    {
        padding-left: 20px;
    }

    .c-bluelist li
    {
        width: calc((100% - 40px) / 2);
        margin-right: 20px;
    }

    .c-box
    {
        flex-direction: column;
    }

    .c-breadcrumb
    {
        font-size: 1.2rem;
        height: 32px;
        overflow-x: scroll;
        white-space: nowrap;
    }

    .c-breadcrumb__wrap a
    {
        margin-right: 25px;
    }

    .c-breadcrumb__wrap a::after
    {
        right: -13px;
    }

    .c-btn.--navi
    {
        font-size: 1.1rem;

        width: 165px;
        height: 30px;

        border-radius: 15px;
    }

    .c-btn.--navi::after
    {
        right: 10px;

        width: 10px;
        height: 7px;

        background: url(../images/common/btn_arrow_blue.svg) no-repeat center center;
        background-size: cover;
    }

    .c-btn.--navi:hover::after
    {
        right: 10px;

        width: 10px;
        height: 7px;

        background: url(../images/common/btn_arrow_white.svg) no-repeat center center;
        background-size: cover;
    }

    .c-circlettl
    {
        font-size: 1.8rem;
    }

    .c-circlettl-num
    {
        font-size: 1.5rem;

        margin-right: 5px;
    }

    .c-entry
    {
        /* 目次 */
    }

    .c-entry #toc_container
    {
        margin-top: 25px;
        margin-bottom: 30px;
        padding: 30px 25px 30px !important;
    }

    .c-entry h4
    {
        font-size: 2rem;

        margin-top: 40px;
        padding: 7px 15px;
    }

    .c-entry h5
    {
        font-size: 1.8rem;

        margin-top: 20px;
        padding-bottom: 6px;
    }

    .c-entry h6
    {
        font-size: 1.8rem;

        margin-top: 15px;
    }

    .c-entry p
    {
        margin-bottom: 15px;
    }

    .c-entry img
    {
        margin-top: 30px;
        margin-bottom: 15px;
    }

    .c-entry ul
    {
        margin-left: 25px;
    }

    .c-entry ul li
    {
        font-size: 1.5rem;
        line-height: 1.8;

        position: relative;

        list-style: disc;
    }

    .c-entry ul li:not(:first-child)
    {
        margin-top: 7px;
    }

    .c-entry ol
    {
        margin-left: 25px;
    }

    .c-entry ol li
    {
        font-size: 1.5rem;
        line-height: 1.8;

        position: relative;

        padding-left: 10px;

        list-style: decimal;
    }

    .c-entry ol li:not(:first-child)
    {
        margin-top: 12px;
    }

    .c-entry table
    {
        margin-top: 20px;
    }

    .c-entry table th,
    .c-entry table td
    {
        line-height: 1.6;

        padding: 10px 15px;
    }

    .c-float-right
    {
        float: none;
    }

    .c-float-left
    {
        float: none;
    }

    .c-greenttl
    {
        font-size: 2rem;
    }

    .c-listbox
    {
        gap: 30px;
        grid-template-columns: repeat(auto-fill, 340px);
        grid-auto-rows: auto;
    }

    .c-listbox li
    {
        width: 340px;
        height: auto;
        min-height: 365px;
    }

    .c-listbox-ttl
    {
        font-size: 2rem;

        margin-top: 16px;
        padding-right: 20px;
        padding-left: 20px;
    }

    .c-listbox-ttl + p
    {
        margin-top: 5px;
        padding-right: 20px;
        padding-bottom: 15px;
        padding-left: 20px;
    }

    .c-mv
    {
        height: 150px;
    }

    .c-mv-ttl
    {
        font-size: 2.8rem;

        top: 50%;
        left: 20px;
    }

    .c-news-item:not(:last-child)
    {
        margin-bottom: 0;
    }

    .c-news-link
    {
        padding-top: 10px;
        padding-bottom: 10px;

        flex-wrap: wrap;
    }

    .c-news-date
    {
        padding-left: 0;
    }

    .c-news-item-ttl
    {
        width: 100%;
        padding-top: 3px;
        padding-left: 0;
    }

    .c-news-pagenation .wp-pagenavi
    {
        margin-top: 30px;
    }

    .c-numttl
    {
        font-size: 2rem;
    }

    .c-numttl-num
    {
        font-size: 2rem;

        margin-right: 10px;
        padding-right: 8px;
    }

    .c-numttl-num::after
    {
        right: 0;

        height: 20px;
    }

    .c-ovalbtn-box
    {
        display: flex;

        margin-top: 15px;
    }

    .c-ovalbtn
    {
        font-size: 1.1rem;
        line-height: 1.5;

        height: 30px;
        padding-right: 13px;
        padding-left: 13px;

        border-radius: 15px;
    }

    .c-ovalbtn:not(:last-child)
    {
        margin-right: 5px;
    }

    .c-ovalbtn:hover
    {
        opacity: 1;
        color: #fff;
        background-color: #00a0de;
    }

    .c-sec-newslist
    {
        margin-bottom: 50px;
    }

    .c-sec-newslist > li > a
    {
        padding: 10px 0 15px;

        flex-wrap: wrap;
    }

    .c-sec-date
    {
        padding-left: 0;
    }

    .c-sec-newsttl
    {
        width: 100%;
        margin-top: 5px;
        padding-left: 0;
    }

    .c-sec
    {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .c-timetable
    {
        font-size: 1.4rem;

        width: 100%;
        max-width: 340px;
        padding: 5px 20px;
    }

    .c-timetable__table th
    {
        width: 90px;
        padding-left: 0;

        white-space: nowrap;
    }

    .c-timetable__txt
    {
        font-size: 1.2rem;

        margin-top: 5px;
        padding-left: 0;
    }

    .c-timetable__note
    {
        font-size: 1.2rem;

        padding-left: 0;
    }

    .c-ttl
    {
        font-size: 2.2rem;
    }

    .c-ttl.--pt35
    {
        font-size: 2.5rem;
    }

    .c-subttl-upper
    {
        font-size: 1.5rem;
    }

    .c-subttl
    {
        font-size: 2.5rem;
    }

    .c-midttl
    {
        font-size: 1.7rem;
    }

    [data-ruby]::before
    {
        font-size: 1rem;

        letter-spacing: 0;
    }

    .c-topbox
    {
        flex-direction: column;
    }

    .c-topbox-left
    {
        width: 100%;
    }

    .c-topbox-right
    {
        width: calc(100% - (50% - 50vw));
        height: 240px;
        margin-top: 30px;
        margin-left: 0;
    }

    .c-topbox-right img
    {
        height: 240px;
    }

    .c-whitebox
    {
        gap: 20px 20px;
        grid-auto-rows: 190px;
        grid-template-columns: repeat(auto-fill, 160px);
    }

    .c-whitebox li
    {
        width: 160px;
        height: 190px;
    }

    .c-whitebox img
    {
        width: 98px;
    }

    .c-whitebox-ttl
    {
        font-size: 1.8rem;
    }

    .c-whitebox-ttl + p
    {
        font-size: 1.3rem;
    }

    .p-footer
    {
        padding-top: 30px;
    }

    .p-footer-inner
    {
        flex-direction: column;

        align-items: center;
    }

    .p-footer__detail
    {
        width: 100%;
        max-width: 345px;
    }

    .p-footer__logo
    {
        margin-right: auto;
        margin-left: auto;
    }

    .p-footer__access
    {
        margin-right: auto;
        margin-left: auto;
    }

    .p-footer__timetable
    {
        min-width: unset;
        margin-top: 30px;
    }

    .p-footer__explain
    {
        font-size: 1.3rem;

        margin-top: 30px;
    }

    .p-header__logo img
    {
        width: 180px;
    }

    .p-header-inner
    {
        width: calc(100% - 30px);
        height: 70px;
    }

    .p-header__menu-wrapper
    {
        top: 70px;

        padding-top: 20px;
        padding-bottom: 50px;
    }

    .p-header__menu-other
    {
        width: 100%;
        max-width: 260px;
        height: auto;
        margin-top: 30px;
        margin-right: auto;
        margin-left: auto;
    }

    .p-header__menu-other-item:not(:last-child)
    {
        margin-right: 0;
    }

    .p-header__menu-other-item.--group
    {
        width: 50%;
        margin-bottom: 10px;
    }

    .p-header__menu-other-item.--group .p-header__menu-other-link
    {
        justify-content: flex-start;
    }

    .p-header__menu-other-item.--access
    {
        width: 50%;
        margin-bottom: 10px;
    }

    .p-header__menu-other-item.--access .p-header__menu-other-link
    {
        padding-left: 30px;

        justify-content: flex-start;
    }

    .p-header__menu-other-item.--x
    {
        width: 50%;
    }

    .p-header__menu-other-item.--x .p-header__menu-other-link
    {
        justify-content: flex-start;
    }

    .p-header__menu-other-item.--en
    {
        width: 50%;
    }

    .p-header__menu-other-item.--en .p-header__menu-other-link
    {
        padding-left: 30px;

        justify-content: flex-start;
    }

    .p-header__menu-other-item.--tel
    {
        width: 100%;
        padding-right: 0;
    }

    .p-header__menu-other-item.--tel a
    {
        justify-content: center;
    }

    .p-header__menu-other-item.--reservation
    {
        width: 100%;
        padding-left: 0;
    }

    .p-header__menu-other-item.--reservation a
    {
        margin-right: auto;
        margin-left: auto;
    }

    .p-header__sp
    {
        width: 90px;
    }

    .p-about__facility-list
    {
        margin-top: 40px;

        transition: .2s;

        gap: 20px 20px;
        grid-template-columns: repeat(auto-fill, 160px);
        grid-auto-rows: 130px;
        justify-content: center;
    }

    .p-about__facility-list li
    {
        width: 160px;
        height: 130px;
    }

    .p-about__facility-link-ttl
    {
        font-size: 1.3rem;

        margin-top: 5px;
    }

    .p-about__feature-list
    {
        margin-top: 40px;
    }

    .p-about__feature-box
    {
        flex-direction: column-reverse;
    }

    .p-about__feature-box:not(:first-child)
    {
        margin-top: 40px;
    }

    .p-about__feature-box.--reverse
    {
        flex-direction: column-reverse;
    }

    .p-about__feature-info
    {
        width: 100%;
        padding-right: 0;
    }

    .--reverse .p-about__feature-info
    {
        padding-left: 0;
    }

    .p-about__feature-info-ttl
    {
        margin-top: 30px;
    }

    .p-about__feature-info-ttl-num
    {
        font-size: 6rem;
        line-height: .8;

        margin-right: 10px;
        padding-right: 15px;
    }

    .p-about__feature-info-ttl-num::after
    {
        right: 5px;

        width: 1px;
        height: 55px;
    }

    .p-about__feature-info-ttl-txt
    {
        font-size: 2rem;
        line-height: 1.75;
    }

    .p-about__feature-info-txt
    {
        font-size: 1.5rem;
        line-height: 1.73;

        margin-top: 25px;
    }

    .p-about__feature-info-btn
    {
        margin-top: 30px;
        margin-right: auto;
        margin-left: auto;
    }

    .p-about__feature-img
    {
        width: 100%;
    }

    .p-consult__main
    {
        padding-top: 20px;
    }

    .p-consult__navi
    {
        padding-bottom: 0;
    }

    .p-consult__navi .p-consult__tel
    {
        flex-direction: column;

        margin-top: 20px;

        align-items: center;
        justify-content: center;
    }

    .p-consult__navi .p-consult__tel-link
    {
        width: 100%;

        text-align: center;
        pointer-events: unset;
    }

    .p-consult__navi p
    {
        width: 100%;

        text-align: center;
    }

    .p-doctors__main-ttl + p
    {
        margin-top: 30px;
    }

    .p-doctors__other-ttl + p
    {
        margin-top: 30px;
    }

    .p-doctors__box
    {
        flex-direction: column;

        margin-top: 50px;

        align-items: center;
    }

    .p-doctors__img
    {
        width: 175px;
        height: 210px;
        margin-right: 20px;
    }

    .p-doctors__img img
    {
        position: absolute;
        top: 20px;
        right: -20px;
    }

    .p-doctors__info
    {
        width: 100%;
        margin-top: 40px;
    }

    .p-doctors__info-name-full
    {
        font-size: 2.2rem;
    }

    .p-doctors__info-career
    {
        flex-direction: column;

        margin-top: 0;
    }

    .p-doctors__info-career > dt,
    .p-doctors__info-career > dd
    {
        width: 100%;
    }

    .p-doctors__info-career > dd
    {
        margin-top: 0;
    }

    .p-doctors__info-career-inner
    {
        font-size: 1.3rem;
    }

    .p-doctors__info-career-inner > dt
    {
        width: 60px;
    }

    .p-doctors__info-career-inner > dd
    {
        width: calc(100% - 60px);
    }

    .p-doctors__message
    {
        margin-top: 30px;
        padding: 20px 20px 10px;
    }

    .p-faq__main-group:not(:last-child)
    {
        margin-bottom: 40px;
    }

    .p-faq__main-ttl::after
    {
        right: -40px;
    }

    .p-faq__list
    {
        margin-top: 30px;
    }

    .p-faq__box:not(:last-child)
    {
        margin-bottom: 10px;
    }

    .p-faq__ttl
    {
        font-size: 1.5rem;

        display: flex;

        padding: 8px 65px 8px 15px;
    }

    .p-faq__ttl::before,
    .p-faq__ttl::after
    {
        top: 20px;
    }

    .p-faq__ttl::before
    {
        top: 13px;
    }

    .p-faq__q
    {
        font-size: 1.5rem;

        padding-right: 8px;
    }

    .p-faq__ans
    {
        margin-right: 15px;
        margin-left: 15px;
        padding: 15px 0;
    }

    .p-faq__ans::before
    {
        font-size: 1.5rem;
    }

    .p-faq__ans p
    {
        padding-left: 0;
    }

    .c-contact__form-action.--form02,
	.group__group-action.--btn02
    {
        flex-direction: column;

        height: 150px;
    }

    .c-contact__form-content-data.err .err_message
    {
        display: block;

        color: #00a0de;
    }

    .c-contact__form-content-item
    {
        flex-direction: column;
    }





	.group__group-action.--btn02
	{
    	justify-content: space-between;
	}

	.group__group-btn
	{
		margin-right: auto;
		margin-left: auto;
	}





    .c-contact__form-content-ttl,
    .c-contact__form-content-data
    {
        display: block;

        width: 100%;
    }

    .c-contact__form-content-ttl
    {
        padding: 10px 15px;

        border-bottom: 1px solid #bcbcbc;
    }

    .c-contact__form-content-data
    {
        height: auto;
        min-height: 35px;
        padding: 15px 15px;
    }

    .c-contact__form-privacy
    {
        display: block;

        margin-top: 30px;
    }

    .p-news-detail__main .c-news-item
    {
        padding-top: 20px;
        padding-bottom: 15px;
    }

    .p-news-detail__main .c-news-date
    {
        margin-right: 20px;
    }

    .p-news-detail__main .c-news-item-ttl
    {
        font-size: 2rem;

        margin-top: 0;
    }

    .p-news__detail-btn
    {
        margin-top: 30px;
    }

    .p-side__news
    {
        max-width: 345px;
        margin-right: auto;
        margin-left: auto;
    }

    .p-side__news-list + .p-side__ttl
    {
        margin-top: 30px;
    }

    .p-ser-general__main-box
    {
        margin-top: 40px;
    }

    .p-ser-general__main-box .c-box
    {
        flex-direction: column-reverse;
    }

    .p-ser-general__main-box .c-bluelist
    {
        margin-top: 30px;
    }

    .p-ser-general__main-box .c-btn
    {
        margin-top: 25px;
        margin-right: auto;
        margin-left: auto;
    }

    .p-ser-general__main-box-info
    {
        width: 100%;
        max-width: unset;
        margin-top: 20px;
    }

    .p-ser-general__main-box-img
    {
        width: 100%;
        margin-left: 0;
    }

    .p-ser-nose__head-list
    {
        grid-template-columns: repeat(auto-fill, 165px);
        grid-auto-rows: 30px;
        gap: 10px;
    }

    .p-ser-nose__head-list li
    {
        width: 165px;
        height: 30px;
    }

    .p-ser-nose__condition-box .c-numttl
    {
        margin-top: 30px;
    }

    .p-ser-nose__condition-box p
    {
        margin-top: 10px;
    }

    .p-ser-nose__main-img
    {
        width: 100%;
        margin-top: 40px;
        margin-bottom: 20px;
        margin-left: 0;
    }

    .p-ser-online__about-img
    {
        width: 100%;
        margin-top: 40px;
        margin-bottom: 20px;
        margin-left: 0;
    }

    .p-ser-online__about-subttl
    {
        font-size: 2rem;
    }

    .p-ser-online__about-attention
    {
        padding: 20px 10px 20px 35px;
    }

    .p-ser-online__flow-ttl + p
    {
        margin-top: 30px;
    }

    .p-ser-online__flow-box
    {
        margin-top: 30px;
    }

    .p-ser-online__flow-box .c-note.c-red
    {
        font-size: 1.5rem;
    }

    .p-ser-online__flow-btn
    {
        margin-top: 50px;
    }

    .p-ser-online__price-ttl + p
    {
        margin-top: 30px;
    }

    .p-ser-online__price-box
    {
        margin-top: 30px;
    }

    .p-ser-online__price-box .c-note.c-red
    {
        font-size: 1.5rem;
    }

    .p-ser-online__price-subttl
    {
        flex-wrap: wrap;
    }

    .p-ser-online__price-subttl .c-red
    {
        font-size: 1.8rem;

        display: block;

        width: 100%;
        margin-left: 45px;
    }

    .p-ser-rehabilitation__head-box
    {
        margin-top: 40px;
    }

    .p-ser-rehabilitation__head-img
    {
        width: 100%;
        margin-bottom: 30px;
        margin-left: 0;
    }

    .p-ser-rehabilitation__main-read
    {
        margin-top: 30px;
    }

    .p-ser-rehabilitation__main-box
    {
        margin-top: 30px;
    }

    .p-ser-rehabilitation__main-box .c-circlettl
    {
        margin-top: 25px;
    }

    .p-ser-rehabilitation__main-box p
    {
        margin-top: 8px;
    }

    .p-ser-rehabilitation__main-box.--box1 .c-btn
    {
        margin-top: 25px;
        margin-right: auto;
        margin-left: auto;
    }

    .p-ser-rehabilitation__main-img
    {
        width: 100%;
        margin-bottom: 20px;
        margin-left: 0;
    }

    .p-ser-voice__head-box
    {
        margin-top: 40px;
    }

    .p-ser-voice__head-img
    {
        width: 100%;
        margin-bottom: 30px;
        margin-left: 0;
    }

    .p-ser-voice__main-read
    {
        margin-top: 30px;
    }

    .p-ser-voice__main-box
    {
        margin-top: 30px;
    }

    .p-ser-voice__main-box .c-circlettl
    {
        margin-top: 25px;
    }

    .p-ser-voice__main-box p
    {
        margin-top: 8px;
    }

    .p-ser-voice__main-box.--box1 .c-btn
    {
        margin-top: 25px;
        margin-right: auto;
        margin-left: auto;
    }

    .p-ser-voice__main-img
    {
        width: 100%;
        margin-bottom: 20px;
        margin-left: 0;
    }

    .p-ser-voice-search__condition-box .c-numttl
    {
        margin-top: 30px;
    }

    .p-ser-voice-search__condition-box p
    {
        margin-top: 10px;
    }

    .p-ser-voice-search__head-list
    {
        max-width: 350px;

        grid-template-columns: repeat(auto-fill, 165px);
        grid-auto-rows: 30px;
        gap: 10px;
    }

    .p-ser-voice-search__head-list li
    {
        width: 165px;
        height: 30px;
    }

    .p-ser-voice-search__name-ttl + p
    {
        margin-top: 30px;
    }

    .p-ser-voice-search__name-subttl
    {
        margin-top: 30px;
    }

    .p-ser-voice-search__name-box
    {
        margin-top: 20px;
    }

    .p-ser-voice-search__name-box .c-numttl
    {
        margin-top: 0;
    }

    .p-ser-voice-search__name-box img
    {
        width: 100%;
        margin-top: 20px;
        margin-bottom: 20px;
        margin-left: 0;
    }

    .p-ser-voice-search__name-box p
    {
        margin-top: 10px;
    }

    .p-services__main
    {
        background-size: 370px;
    }

    .p-surg-archivements__main-ttl.c-numttl
    {
        margin-top: 30px;
    }

    .p-surg-archivements__main-table
    {
        margin-top: 10px;
    }

    .p-surg-archivements__main-table th,
    .p-surg-archivements__main-table td
    {
        font-size: 1.3rem;

        padding: 7px 10px;
    }

    .p-surg-archivements__main-tpart
    {
        width: 60px;
    }

    .p-surg-archivements__main-tnum
    {
        width: 60px;
    }

    .p-surg-cost__main-ttl.c-numttl
    {
        margin-top: 30px;
    }

    .p-surg-cost__main-table
    {
        margin-top: 10px;
    }

    .p-surg-cost__main-table th,
    .p-surg-cost__main-table td
    {
        font-size: 1.3rem;

        padding: 7px 10px;
    }

    .p-surg-cost__main-tcost
    {
        width: 100px;
    }

    .p-surg-flow__main-flow ul::before
    {
        left: 10px;
    }

    .p-surg-flow__main-flow li:not(:first-child)
    {
        margin-top: 20px;
    }

    .p-surg-flow__main-flow-icon
    {
        display: none;
    }

    .p-surg-flow__main-flow-ttl
    {
        font-size: 2rem;

        margin-left: 0;
    }

    .p-surg-flow__main-flow-ttl .c-circlettl-num
    {
        font-size: 1.5rem;

        width: 25px;
        height: 25px;
        margin-right: 10px;
    }

    .p-surg-flow__main-flow-info
    {
        margin-left: 35px;
    }

    .p-surg-flow__main-image
    {
        margin-top: 50px;

        gap: 20px 20px;
        grid-template-columns: repeat(auto-fill, 160px);
    }

    .p-surg-flow__main-image li
    {
        width: 160px;
    }

    .p-surg-flow__main-image p
    {
        font-size: 1.3rem;

        margin-top: 5px;
    }

    .p-surg-nose__head-list
    {
        grid-template-columns: repeat(auto-fill, 165px);
        grid-auto-rows: 30px;
        gap: 10px;
    }

    .p-surg-nose__head-list li
    {
        width: 165px;
        height: 30px;
    }

    .p-surg-nose__ope-box .c-numttl
    {
        margin-top: 30px;
    }

    .p-surg-nose__ope-box p
    {
        margin-top: 10px;
    }

    .p-surg-nose__main-img
    {
        width: 100%;
        margin-top: 40px;
        margin-bottom: 20px;
        margin-left: 0;
    }

    .p-surg-system__head img
    {
        margin-top: 30px;
    }

    .p-surg-system__head-ttl + p
    {
        margin-top: 30px;
    }

    img + p
    {
        margin-top: 30px;
    }

    .p-surg-system__howto-ttl
    {
        line-height: 1.3;
    }

    .p-surg-system__howto-ttl + p
    {
        margin-top: 30px;
    }

    .p-surg-system__howto-subttl.c-numttl
    {
        line-height: 1.5;

        margin-top: 30px;
    }

    .p-surg-system__limit-ttl
    {
        line-height: 1.3;
    }

    .p-surg-system__limit-ttl + p
    {
        margin-top: 30px;
    }

    .p-surg-system__limit-subttl.c-numttl
    {
        margin-top: 30px;
    }

    .p-surg-system__limit-table
    {
        margin-top: 10px;
    }

    .p-surg-system__limit-table th,
    .p-surg-system__limit-table td
    {
        font-size: 1.3rem;

        padding: 7px 10px;
    }

    .p-surg-system__limit-table-wrap + p
    {
        margin-top: 30px;
    }

    .p-surg-system__limit-tsec
    {
        width: 60px;
    }

    .p-surg-system__limit-tsecname
    {
        text-align: center;

        background-color: #f7f7f7;
    }

    .--over70
    {
        min-width: 750px;
    }

    .p-surg-voice__head-list
    {
        grid-template-columns: repeat(auto-fill, 165px);
        grid-auto-rows: 30px;
        gap: 10px;
    }

    .p-surg-voice__head-list li
    {
        width: 165px;
        height: 30px;
    }

    .p-surg-voice__ope-ttl + p
    {
        margin-top: 30px;
    }

    .p-surg-voice__ope-box .c-numttl
    {
        margin-top: 30px;
    }

    .p-surg-voice__ope-box p
    {
        margin-top: 10px;
    }

    .p-surg-voice__ope-box .c-ovalbtn
    {
        height: 30px;
        padding-right: 10px;
        padding-left: 10px;

        border-radius: 15px;
    }

    .p-surg-voice__main-img
    {
        width: 100%;
        margin-top: 20px;
        margin-bottom: 20px;
        margin-left: 0;
    }

    .p-surgery__main
    {
        background-size: 370px;
    }

    .p-top__access-map
    {
        margin-top: 40px;
    }

    .p-top__access-info
    {
        flex-direction: column;

        margin-top: 20px;
    }

    .p-top__access-item
    {
        width: 100%;
    }

    .p-top__access-item li
    {
        margin-bottom: 5px;
        margin-left: 20px;
    }

    .p-top__access-item .c-note
    {
        margin-top: 10px;
    }

    .p-top__access-item.--train,
    .p-top__access-item.--car
    {
        margin-top: 30px;
    }

    .p-top__access-btn
    {
        margin-right: auto;
        margin-left: auto;
    }

    .p-top__access-info-ttl
    {
        font-size: 1.8rem;
    }

    .p-top__adjust
    {
        padding-right: 0;
        padding-left: 0;
    }

    .p-top__adjust img
    {
        width: 100%;
        height: 200px;
        margin-left: 0;
    }

    .p-top__mv.c-mv
    {
        height: 450px;
        min-height: unset;
    }

    .p-top__mv-slide
    {
        overflow: hidden;

        width: 100%;
        height: 100%;
        min-height: unset;
        padding-right: 0;
        padding-left: 0;
    }

    .p-top__mv-slide .slide li img
    {
        min-height: 450px;
    }

    .p-top__mv-ttl.c-mv-ttl
    {
        font-size: 3rem;
        line-height: 1.33;

        bottom: 50px;
        left: 30px;

        letter-spacing: 0;
    }

    .p-top__mv-timetable
    {
        bottom: -210px;
    }

    .p-top__news
    {
        margin-top: 210px;
    }

    .p-top__news-contact-wrap
    {
        width: 100%;
        max-width: 340px;
        margin-top: 40px;
    }

    .p-top__news-contact
    {
        width: 100%;
        height: 260px;
    }

    .p-top__news-contact-ttl
    {
        font-size: 2rem;
    }

    .p-top__service
    {
        background-size: 350px;
    }

    .p-top__service-box
    {
        margin-top: 30px;
    }

    .p-top__service-subttl.c-subttl
    {
        margin-top: 15px;
    }

    .p-top__service-list
    {
        margin-top: 50px;
    }

    .p-top__service-list-ttl.--nose
    {
        font-size: 1.5rem;
        line-height: 1.53;
    }

    .p-top__service-subttl + p,
    .p-top__service-subttl + p + p
    {
        margin-top: 15px;
    }

    .p-top__surgery-box
    {
        margin-top: 30px;
    }

    .p-top__surgery-subttl.c-subttl
    {
        margin-top: 15px;
    }

    .p-top__surgery-list
    {
        margin-top: 50px;
    }

    .p-top__surgery-subttl + p,
    .p-top__surgery-subttl + p + p
    {
        margin-top: 15px;
    }

    .u-cta
    {
        flex-direction: column;

        height: 400px;
    }

    .u-cta__box
    {
        width: 100%;
        height: 50%;
    }

    .u-cta__box-ttl
    {
        font-size: 1.8rem;

        margin-top: 50px;
    }

    .u-cta__box-tel
    {
        font-size: 3.5rem;

        margin-top: 15px;

        pointer-events: initial;
    }

    .u-cta__box-txt
    {
        margin-top: 10px;
    }

    .u-cta__box-btn
    {
        margin-top: 20px;
    }

    .u-hidden-sp
    {
        display: none;
    }
}

@media screen and (max-width: 600px)
{
    .pt60
    {
        padding-top: 32px;
    }

    .pt80
    {
        padding-top: 40px;
    }

    .mb80
    {
        margin-bottom: 40px;
    }
}

@media screen and (max-width: 379px)
{
    .c-whitebox
    {
        gap: 15px;
    }
}

@keyframes fadeUpAnime
{
    from
    {
        transform: translateY(50px);

        opacity: 0;
    }

    to
    {
        transform: translateY(0);

        opacity: 1;
    }
}

@keyframes fadeInAnime
{
    from
    {
        opacity: 0;
    }

    to
    {
        opacity: 1;
    }
}
