@charset "UTF-8";
/*! sanitize.css v3.2.0 | CC0 1.0 Public Domain | github.com/10up/sanitize.css */
/*
 * Normalization
 */
audio:not([controls]) {
  display: none; /* Chrome 44-, iOS 8+, Safari 9+ */
}

button {
  -webkit-appearance: button; /* iOS 8+ */
  overflow: visible; /* Internet Explorer 11- */
}

details {
  display: block; /* Edge 12+, Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */
}

html {
  -ms-overflow-style: -ms-autohiding-scrollbar; /* Edge 12+, Internet Explorer 11- */
  overflow-y: scroll; /* All browsers without overlaying scrollbars */
  -webkit-text-size-adjust: 100%; /* iOS 8+ */
}

input {
  -webkit-border-radius: 0;
}

input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* iOS 8+ */
}

input[type=number] {
  width: auto; /* Firefox 36+ */
}

input[type=search] {
  -webkit-appearance: textfield; /* Chrome 45+, Safari 9+ */
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none; /* Chrome 45+, Safari 9+ */
}

main {
  display: block; /* Android 4.3-, Internet Explorer 11-, Windows Phone 8.1+ */
}

pre {
  overflow: auto; /* Internet Explorer 11- */
}

progress {
  display: inline-block; /* Internet Explorer 11-, Windows Phone 8.1+ */
}

small {
  font-size: 75%; /* All browsers */
}

summary {
  display: block; /* Firefox 40+, Internet Explorer 11-, Windows Phone 8.1+ */
}

svg:not(:root) {
  overflow: hidden; /* Internet Explorer 11- */
}

template {
  display: none; /* Android 4.3-, Internet Explorer 11-, iOS 7-, Safari 7-, Windows Phone 8.1+ */
}

textarea {
  overflow: auto; /* Edge 12+, Internet Explorer 11- */
}

[hidden] {
  display: none; /* Internet Explorer 10- */
}

/*
 * Universal inheritance
 */
*,
:before,
:after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

* {
  font-size: inherit;
  line-height: inherit;
}

:before,
:after {
  text-decoration: inherit;
  vertical-align: inherit;
}

/*
 * Opinionated defaults
 */
/* specify the border style and width of all elements */
*,
:before,
:after {
  border-style: solid;
  border-width: 0;
}

/* specify the core styles of all elements */
* {
  background-repeat: no-repeat;
  margin: 0;
  padding: 0;
}

/* specify the root styles of the document */
:root {
  background-color: #ffffff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #000000;
  cursor: default;
  font: 100%/1.5 sans-serif;
}

/* specify the text decoration of anchors */
a {
  text-decoration: none;
}

/* specify the alignment of media elements */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/* specify the background color of form elements */
button,
input,
select,
textarea {
  background-color: transparent;
}

/* specify the inherited color and font of form elements */
button,
input,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
}

/* specify the minimum height of form elements */
button,
[type=button],
[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=reset],
[type=search],
[type=submit],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
select,
textarea {
  min-height: 1.5em;
}

/* specify the font family of code elements */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

/* specify the list style of nav lists */
nav ol,
nav ul {
  list-style: none;
}

/* specify the standard appearance of selects */
select {
  -moz-appearance: none; /* Firefox 40+ */
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none; /* Edge 12+, Internet Explorer 11- */
}

select::-ms-value {
  color: currentColor; /* Edge 12+, Internet Explorer 11- */
}

/* specify the border styling of tables */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* specify the resizability of textareas */
textarea {
  resize: vertical;
}

/* specify the background color, font color, and drop shadow of text selections */
::-moz-selection {
  background-color: #b3d4fc; /* required when declaring ::selection */
  color: #ffffff;
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* required when declaring ::selection */
  color: #ffffff;
  text-shadow: none;
}

/* specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* specify the style of visually hidden yet accessible elements */
[hidden][aria-hidden=false] {
  clip: rect(0 0 0 0);
  display: inherit;
  position: absolute;
}

[hidden][aria-hidden=false]:focus {
  clip: auto;
}

/* remove delay from tapping on clickable elements */
a,
area,
button,
input,
label,
select,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}


:root, html, body {
  color: #595959;
  width: 100%;
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", verdana, Sans-Serif;
  font-size: 16px;
}
@media (min-width: 376px) and (max-width: 414px) {
  :root, html, body {
    font-size: 15.85px;
  }
}
@media (min-width: 361px) and (max-width: 375px) {
  :root, html, body {
    font-size: 15.75px;
  }
}
@media (min-width: 321px) and (max-width: 360px) {
  :root, html, body {
    font-size: 15.65px;
  }
}
@media (max-width: 320px) {
  :root, html, body {
    font-size: 15.5px;
  }
}
@media (max-width: 767px) and (orientation: landscape) {
  :root, html, body {
    font-size: 16px;
  }
}
@media (min-width: 768px), print {
  :root, html, body {
    font-size: 18px;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  :root, html, body {
    font-size: 15.5px;
  }
}
@media (min-width: 768px) and (max-width: 1024px) and (orientation: landscape) {
  :root, html, body {
    font-size: 15.5px;
  }
}
@media (min-width: 768px) and (max-width: 959px) {
  :root, html, body {
    font-size: 13.5px;
  }
}
@media (min-width: 768px) and (max-width: 959px) and (orientation: landscape) {
  :root, html, body {
    font-size: 13.5px;
  }
}
@media (min-width: 768px) and (max-width: 812px) {
  :root, html, body {
    font-size: 12.5px;
  }
}
@media (min-width: 768px) and (max-width: 812px) and (orientation: landscape) {
  :root, html, body {
    font-size: 12.5px;
  }
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1rem;
}

small a {
  font-size: inherit;
}

li {
  list-style-type: none;
}

a {
  color: #003d85;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  word-break: break-all;
}
@media (hover: hover) {
  a:hover {
    text-decoration: none;
    color: #e50012;
    opacity: 0.8;
  }
}
@media (hover: hover) {
  a img:hover {
    opacity: 0.8;
  }
}

p {
  margin-bottom: 0.5555555556rem;
}
@media (min-width: 768px), print {
  p {
    margin-bottom: 1.1111111111rem;
  }
}

body:not(.index) main p, body:not(.index) main li, body:not(.index) main dt, body:not(.index) main dd {
  line-height: 1.6;
}
@media (min-width: 768px), print {
  body:not(.index) main p, body:not(.index) main li, body:not(.index) main dt, body:not(.index) main dd {
    line-height: 1.9;
  }
}

img {
  max-width: 100%;
  max-height: 100%;
}

figcaption {
  margin-top: 0.5555555556rem;
  font-size: 95%;
}

@media (min-width: 768.02px) and (hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
.l_content {
  padding: 0 0.5555555556rem;
}
@media (min-width: 768px), print {
  .l_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 1150px;
            flex: 0 1 1150px;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin: 0 auto;
    max-width: 1150px;
    padding: 0 1.1111111111rem;
  }
}

@media (min-width: 768px), print {
  .l_main {
    -webkit-box-flex: 0;
        -ms-flex: 0 2 auto;
            flex: 0 2 auto;
    margin: 0;
    width: 825px;
    max-width: 74%;
  }
}

@media (min-width: 768px), print {
  .l_sub {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 255px;
            flex: 0 0 255px;
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
    max-width: 23%;
    margin: 0 calc(100% - 74% - 23%) 0 0;
  }
}

.l_col {
  padding: 0 0.5555555556rem;
}
@media (min-width: 768px), print {
  .l_col {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 1150px;
            flex: 0 1 1150px;
    margin: 0 auto;
    padding: 0 1.1111111111rem;
    max-width: 1150px;
  }
}

.l_row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: 0 auto;
}

.l_col2 > :last-child {
  margin-bottom: 0 !important;
}
.l_col2 > * {
  margin-bottom: 1.1111111111rem;
}
@media (min-width: 768px), print {
  .l_col2 > * {
    margin-bottom: 2.7777777778rem;
  }
}
@media (min-width: 768px), print {
  .l_col2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .l_col2 > * {
    width: 48%;
    margin-right: calc(100% - 48% * 2);
  }
  .l_col2 > :nth-child(2n+2) {
    margin-right: 0;
  }
  .l_col2 > :nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}

.l_col3 > :last-child {
  margin-bottom: 0 !important;
}
.l_col3 > * {
  width: 100%;
  max-width: 350px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.5555555556rem;
}
@media (min-width: 768px), print {
  .l_col3 > * {
    margin-bottom: 1.6666666667rem;
  }
}
@media (min-width: 768px), print {
  .l_col3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .l_col3 > * {
    width: 32%;
    margin-right: calc((100% - 32% * 3) / 2);
  }
  .l_col3 > :nth-child(3n+3) {
    margin-right: 0;
  }
  .l_col3 > :nth-last-child(-n+3) {
    margin-bottom: 0;
  }
}

.l_col4 > :last-child {
  margin-bottom: 0 !important;
}
.l_col4 > * {
  width: 100%;
  max-width: 255px;
  margin-bottom: 0.5555555556rem;
}
@media (min-width: 768px), print {
  .l_col4 > * {
    margin-bottom: 1.1111111111rem;
  }
}
@media (min-width: 768px), print {
  .l_col4 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
  }
  .l_col4 > * {
    width: 23%;
  }
  .l_col4 > :nth-child(4n+4) {
    margin-right: 0;
  }
  .l_col4 > :nth-last-child(-n+4) {
    margin-bottom: 0;
  }
}

.tbl_time {
  table-layout: auto;
  width: 100%;
  text-align: center;
  margin-bottom: 1em;
  position: relative;
}
.tbl_time th, .tbl_time td {
  line-height: 1;
  padding: 0.8333333333rem 0.2777777778rem;
}
.tbl_time th {
  font-weight: normal;
}
@media (min-width: 768px), print {
  .tbl_time th {
    font-size: 1.2222222222rem;
  }
}
@media (min-width: 768px), print {
  .tbl_time td {
    font-size: 1rem;
  }
}
.tbl_time tr:first-child th {
  background: #008ac3;
  color: #fff;
  padding: 0.5555555556rem 0;
}
.tbl_time tr:first-child th:last-child {
  padding-right: 0.2777777778rem;
  padding-left: 0.1111111111rem;
  white-space: nowrap;
}
.tbl_time tr:not(:first-child) {
  border-bottom: 2px solid #595959;
}
.tbl_time caption {
  caption-side: bottom;
  text-align: left;
  line-height: 1.4;
  margin-top: 0.4444444444rem;
}
@media (min-width: 768px), print {
  .tbl_time caption {
    margin-top: 0.5555555556rem;
    font-size: 1.1111111111rem;
  }
}
@media (min-width: 768px), print {
  .tbl_time .time {
    width: 19.4444444444rem;
  }
}

.tbl01 {
  table-layout: auto;
  width: 100%;
  text-align: left;
  margin-bottom: 1em;
  position: relative;
  border-top: 1px solid #595959;
  border-left: 1px solid #595959;
}
.tbl01 th, .tbl01 td {
  line-height: 1;
  padding: 0.8333333333rem 0.2777777778rem;
  border-bottom: 1px solid #595959;
  border-right: 1px solid #595959;
}
.tbl01 th {
  font-weight: normal;
}
@media (min-width: 768px), print {
  .tbl01 th {
    font-size: 1.2222222222rem;
  }
}
@media (min-width: 768px), print {
  .tbl01 td {
    font-size: 1rem;
  }
}

body.index main .tbl_time th, body.index main .tbl_time td {
  padding: 1.6666666667rem 0.2777777778rem;
}
body.index main .tbl_time th, body.index main .tbl_time td, body.index main .tbl_time caption {
  color: #0055a2;
}
body.index main .tbl_time tr:first-child th {
  background: transparent;
  color: #0055a2;
  padding: 0.5555555556rem 0;
}
body.index main .tbl_time tr {
  border-top: 1px solid #93cafc;
}
body.index main .tbl_time tr:not(:first-child) {
  border-bottom: 1px solid #93cafc;
}
@media (min-width: 768px), print {
  body.index main .tbl_time .time {
    width: 10.5555555556rem;
    text-align: left;
  }
}

.tbl_time_pink {
  table-layout: auto;
  width: 100%;
  text-align: center;
  margin-bottom: 2em;
  position: relative;
}
@media (min-width: 768px), print {
  .tbl_time_pink {
    margin-bottom: 3em;
  }
}
.tbl_time_pink th, .tbl_time_pink td {
  line-height: 1;
  padding: 0.8333333333rem 0.2777777778rem;
}
.tbl_time_pink th {
  font-weight: normal;
}
@media (min-width: 768px), print {
  .tbl_time_pink th {
    font-size: 1.2222222222rem;
  }
}
@media (min-width: 768px), print {
  .tbl_time_pink td {
    font-size: 1rem;
    color: #e46895;
  }
}
.tbl_time_pink tr:first-child th {
  background: #e46895;
  color: #fff;
  padding: 0.5555555556rem 0;
}
.tbl_time_pink tr:first-child th:last-child {
  padding-right: 0.2777777778rem;
  padding-left: 0.1111111111rem;
  white-space: nowrap;
}
.tbl_time_pink tr:not(:first-child) {
  border-bottom: 2px solid #595959;
}
.tbl_time_pink caption {
  position: absolute;
  top: 100%;
  text-align: left;
  line-height: 1.4;
  margin-top: 0.4444444444rem;
}
@media (min-width: 768px), print {
  .tbl_time_pink caption {
    margin-top: 0.5555555556rem;
    font-size: 1.1111111111rem;
  }
}
.tbl_time_pink caption span {
  color: #e46895;
}
.tbl_time_pink .time {
  color: #e46895;
}
@media (min-width: 768px), print {
  .tbl_time_pink .time {
    width: 19.4444444444rem;
  }
}

body.index main .tbl_time_pink th, body.index main .tbl_time_pink td {
  padding: 1.6666666667rem 0.2777777778rem;
}
body.index main .tbl_time_pink th, body.index main .tbl_time_pink td, body.index main .tbl_time_pink caption {
  color: #e46895;
}
body.index main .tbl_time_pink tr:first-child th {
  background: transparent;
  color: #e46895;
  padding: 0.5555555556rem 0;
}
body.index main .tbl_time_pink tr {
  border-top: 1px solid #fbace2;
}
body.index main .tbl_time_pink tr:not(:first-child) {
  border-bottom: 1px solid #fbace2;
}
@media (min-width: 768px), print {
  body.index main .tbl_time_pink .time {
    width: 10.5555555556rem;
    text-align: left;
  }
}

.gmap {
  width: 100%;
  overflow: hidden;
  position: relative;
  padding-top: 65.1890482399%;
}
@media (min-width: 768px), print {
  .gmap {
    padding-top: 27.7777777778rem;
  }
}
.gmap > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.jq_icon_vt {
  cursor: pointer;
  position: relative;
}
.jq_icon_vt::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 93%;
  margin: auto 0;
}
@media (min-width: 768px), print {
  .jq_icon_vt::before {
    left: 83%;
  }
}
.jq_icon_vt::before {
  width: 12px;
  height: 12px;
  background: transparent;
  border-right: 3px solid #fff;
  border-top: 3px solid #fff;
  -webkit-transform: rotate(315deg);
  transform: rotate(315deg);
}
@media (min-width: 768px), print {
  .jq_icon_vt::before {
    border-top-color: #fff;
    border-right-color: #fff;
  }
}
.jq_icon_vt.open {
  color: #fff;
}
@media (min-width: 768px), print {
  .jq_icon_vt.open {
    color: #fff;
    background-color: #fff;
  }
}
.jq_icon_vt.open::before {
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
@media (min-width: 768px), print {
  .jq_icon_vt.open::before {
    border-top-color: #fff;
    border-bottom-color: #fff;
  }
}

.cf::before, .cf::after {
  content: "";
  display: block;
  clear: both;
}

.fl_l {
  float: left;
}

.fl_r {
  float: right;
}

.txt_c {
  text-align: center;
}

.txt_l {
  text-align: left;
}

.txt_r {
  text-align: right;
}

@media (min-width: 768px), print {
  .txt_pc_c {
    text-align: center;
  }
}

.img_c, .ban_img {
  display: block;
  max-width: 75%;
  margin: 1.1111111111rem auto 0;
  text-align: center;
  padding-bottom: 1.1111111111rem;
}
@media (min-width: 768px), print {
  .img_c, .ban_img {
    max-width: 35.3888888889rem;
    margin-top: 2.7777777778rem;
    padding-bottom: 2.2222222222rem;
  }
}

.ban_img {
  max-width: 100%;
  text-align: center;
}

.img_l, .img_r,
.photo_l, .photo_r {
  display: block;
  height: auto;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 1.1111111111rem;
}
@media (min-width: 768px), print {
  .img_l, .img_r,
  .photo_l, .photo_r {
    margin-bottom: 2.7777777778rem;
  }
}
@media (min-width: 768px), print {
  .img_l, .img_r,
  .photo_l, .photo_r {
    margin-top: 0.5555555556rem;
    margin-bottom: 0.8333333333rem;
  }
}

.img_l, .img_r {
  max-width: 75%;
}

@media (min-width: 768px), print {
  .img_l {
    float: left;
    margin-right: 4%;
  }
  .img_r {
    float: right;
    margin-left: 4%;
  }
  .img_l, .img_r {
    max-width: 40%;
  }
  .img_l_txt {
    margin-left: 44%;
  }
  .img_r_txt {
    width: 56%;
  }
}
.photo_l, .photo_r {
  max-width: 55%;
}

@media (min-width: 768px), print {
  .photo_l {
    float: left;
    margin-right: 3%;
  }
  .photo_r {
    float: right;
    margin-left: 3%;
  }
  .photo_l, .photo_r {
    width: 23%;
  }
}
.sp_n {
  display: none;
}

@media (min-width: 768px), print {
  .sp_n {
    display: block;
  }
  .pc_n {
    display: none;
  }
}
.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

@media (min-width: 768px), print {
  .arrow_bd_last .arrow_bd_item .arrow_bd_last .arrow_bd_item {
    border-left: none;
    padding-left: 102px;
  }
  .tbl_auto, .tbl_fixed, .tbl_price, .tbl_checkup {
    width: 100%;
  }
  .tbl_auto th, .tbl_fixed th, .tbl_price th, .tbl_checkup th, .tbl_auto td, .tbl_fixed td, .tbl_price td, .tbl_checkup td {
    padding: 0.5555555556rem 0.2777777778rem;
    padding-left: 36px;
    border: 1px solid #737373;
  }
}
@media (min-width: 768px), print {
  .tbl_auto th, .tbl_fixed th, .tbl_price th, .tbl_checkup th, .tbl_auto td, .tbl_fixed td, .tbl_price td, .tbl_checkup td {
    padding: 1.1111111111rem 0.8333333333rem;
  }
}
.tbl_auto th, .tbl_auto td {
  padding: 0.5rem 0.5rem;
  border: 1px solid #737373;
}

.tbl_auto th {
  width: 20%;
  text-align: center !important;
}

.tbl_auto th .dot li, .tbl_fixed th .dot li, .tbl_price th .dot li, .tbl_checkup th .dot li, .tbl_auto th .dot_txt, .tbl_fixed th .dot_txt, .tbl_price th .dot_txt, .tbl_checkup th .dot_txt, .tbl_auto td .dot li, .tbl_fixed td .dot li, .tbl_price td .dot li, .tbl_checkup td .dot li, .tbl_auto td .dot_txt, .tbl_fixed td .dot_txt, .tbl_price td .dot_txt, .tbl_checkup td .dot_txt {
  line-height: 1.3;
  margin-left: 0.8888888889rem;
  margin-bottom: 0;
}

.tbl_auto th .dot li::before, .tbl_fixed th .dot li::before, .tbl_price th .dot li::before, .tbl_checkup th .dot li::before, .tbl_auto th .dot_txt::before, .tbl_fixed th .dot_txt::before, .tbl_price th .dot_txt::before, .tbl_checkup th .dot_txt::before, .tbl_auto td .dot li::before, .tbl_fixed td .dot li::before, .tbl_price td .dot li::before, .tbl_checkup td .dot li::before, .tbl_auto td .dot_txt::before, .tbl_fixed td .dot_txt::before, .tbl_price td .dot_txt::before, .tbl_checkup td .dot_txt::before {
  width: 0.4444444444rem;
  height: 0.4444444444rem;
  top: 0.4444444444rem;
  left: -0.8333333333rem;
}

.tbl_auto th, .tbl_fixed th, .tbl_price th, .tbl_checkup th {
  font-weight: normal;
  text-align: left;
}

.tbl_auto {
  table-layout: auto;
}

.tbl_fixed, .tbl_price, .tbl_checkup {
  table-layout: fixed;
}

.tbl_price {
  width: 100%;
}
@media (min-width: 768px), print {
  .tbl_price {
    table-layout: auto;
  }
}
@media (min-width: 768px), print {
  .tbl_price .arrow_bd_last .arrow_bd_item .tbl_price {
    table-layout: fixed;
  }
  .tbl_price .tbl_price td {
    word-break: break-all;
  }
  .tbl_price .tbl_checkup {
    width: 100%;
    table-layout: auto;
    display: block;
    overflow-x: scroll;
  }
}
@media (min-width: 768px) and (min-width: 768px), print and (min-width: 768px), print and (min-width: 768px), print {
  .tbl_price .tbl_checkup {
    display: table;
  }
}
@media (min-width: 768px), print {
  .tbl_price .tbl_checkup td {
    padding-left: 102px;
  }
}
.tbl_price {
  text-align: center;
}

.tbl_checkup th, .tbl_checkup td {
  font-size: 80%;
}

@media (min-width: 768px), print {
  .tbl_checkup th, .tbl_checkup td {
    font-size: 90%;
  }
}
tr.txt_c > * {
  text-align: center;
}

.tit_01 {
  color: #333;
  font-size: 1.4444444444rem;
}
@media (min-width: 768px), print {
  .tit_01 {
    font-size: 2.5555555556rem;
  }
}
.tit_01 {
  font-weight: 500;
  line-height: 1.2;
}
@media (min-width: 768px), print {
  .tit_01 {
    line-height: 1;
  }
}

body.index .tit_02 {
  font-size: 1.3333333333rem;
}
@media (min-width: 768px), print {
  body.index .tit_02 {
    font-size: 2.2222222222rem;
  }
}
body.index .tit_02 {
  margin-bottom: 1.1111111111rem;
}
@media (min-width: 768px), print {
  body.index .tit_02 {
    margin-bottom: 1.6666666667rem;
  }
}
body.index .tit_02 {
  font-weight: 500;
  line-height: 1;
  text-align: center;
  color: #003d85;
}
body.index .tit_02 span {
  display: block;
  color: #87c5fb;
  margin-top: 0.3888888889rem;
}
@media (min-width: 768px), print {
  body.index .tit_02 span {
    margin-top: 0.8333333333rem;
  }
}

body:not(.index) .tit_02 {
  text-align: center;
  margin-bottom: 1.1111111111rem;
}
@media (min-width: 768px), print {
  body:not(.index) .tit_02 {
    margin-bottom: 1.6666666667rem;
  }
}
body:not(.index) .tit_02 {
  font-weight: 500;
}
body:not(.index) .tit_02 span {
  display: inline-block;
  vertical-align: middle;
  color: #003d85;
  font-size: 1.3333333333rem;
}
@media (min-width: 768px), print {
  body:not(.index) .tit_02 span {
    font-size: 2.2222222222rem;
  }
}
body:not(.index) .tit_02 span {
  line-height: 1.2;
  background: url("../img/tit_02_bg.png"), url("../img/tit_02_bg.png");
  background-position: left center, right center;
  background-size: 4.4135802469rem 1.6358024691rem, 4.4135802469rem 1.6358024691rem;
  background-repeat: no-repeat, no-repeat;
  padding-right: 5.0308641975rem;
  padding-left: 5.0308641975rem;
}
@media (min-width: 768px), print {
  body:not(.index) .tit_02 span {
    background-size: 7.9444444444rem 2.9444444444rem, 7.9444444444rem 2.9444444444rem;
    padding-right: 9.0555555556rem;
    padding-left: 9.0555555556rem;
  }
}

.tit_03 {
  font-size: 1.1111111111rem;
}
@media (min-width: 768px), print {
  .tit_03 {
    font-size: 1.7777777778rem;
  }
}
.tit_03 {
  margin-bottom: 1.1111111111rem;
  font-weight: 500;
  color: #008ac3;
  line-height: 1.2;
  padding-left: 0.1111111111rem;
  padding-bottom: 0.5555555556rem;
  border-bottom: 5px solid #008ac3;
  position: relative;
}
@media (min-width: 768px), print {
  .tit_03 {
    line-height: 1;
    padding-left: 0.2777777778rem;
    margin-bottom: 1.1111111111rem;
  }
}
@media (min-width: 768px) and (min-width: 768px), print and (min-width: 768px), print and (min-width: 768px), print {
  .tit_03 {
    margin-bottom: 1.6666666667rem;
  }
}
.tit_03::after {
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  width: 100%;
  height: 4px;
  background: #87c5fb;
  content: "";
}

.tit_04 {
  font-size: 1.0555555556rem;
}
@media (min-width: 768px), print {
  .tit_04 {
    font-size: 1.6666666667rem;
  }
}
.tit_04 {
  font-weight: 500;
  margin-bottom: 0.5555555556rem;
  color: #e50012;
  border-bottom: 4px solid #e50012;
  line-height: 1;
  padding-bottom: 0.5555555556rem;
}
@media (min-width: 768px), print {
  .tit_04 {
    margin-bottom: 1.1111111111rem;
  }
}

.tit_05 {
  font-size: 1rem;
}
@media (min-width: 768px), print {
  .tit_05 {
    font-size: 1.5555555556rem;
  }
}
.tit_05 {
  font-weight: 500;
  margin-bottom: 0.5555555556rem;
  color: #003d85;
  border-bottom: 4px dotted #003d85;
  line-height: 1;
  padding-bottom: 0.5555555556rem;
}
@media (min-width: 768px), print {
  .tit_05 {
    margin-bottom: 1.1111111111rem;
  }
}

.tit_pink {
  font-size: 1.1111111111rem;
}
@media (min-width: 768px), print {
  .tit_pink {
    font-size: 1.7777777778rem;
  }
}
.tit_pink {
  margin-bottom: 1.1111111111rem;
  font-weight: 500;
  color: #e46895;
  line-height: 1.2;
  padding-left: 0.1111111111rem;
  padding-bottom: 0.5555555556rem;
  border-bottom: 5px solid #e46895;
  position: relative;
}
@media (min-width: 768px), print {
  .tit_pink {
    line-height: 1;
    padding-left: 0.2777777778rem;
    margin-bottom: 1.1111111111rem;
  }
}
@media (min-width: 768px) and (min-width: 768px), print and (min-width: 768px), print and (min-width: 768px), print {
  .tit_pink {
    margin-bottom: 1.6666666667rem;
  }
}
.tit_pink::after {
  position: absolute;
  top: calc(100% + 5px);
  left: 0;
  width: 100%;
  height: 4px;
  background: #fbace2;
  content: "";
}

.kkm_i, .kkm {
  padding: 1.1111111111rem 0.8333333333rem;
  background: #e6e6e6;
  margin-bottom: 2.2222222222rem;
}
@media (min-width: 768px), print {
  .kkm_i, .kkm {
    margin-bottom: 4.4444444444rem;
  }
}
.kkm_i > :last-child, .kkm > :last-child {
  margin-bottom: 0;
}
@media (min-width: 768px), print {
  .kkm_i, .kkm {
    padding: 1.9444444444rem 2.5rem;
  }
}
.kkm_i .img_l, .kkm_i .img_r, .kkm .img_l, .kkm .img_r {
  border: 1px solid #ebebeb;
}

.kkm_i {
  background: #c8e3fa;
}

.inline_mr > * {
  display: inline-block;
  margin-right: 0.8333333333rem;
}

.disc li, .disc_txt {
  margin-left: 1rem;
  margin-bottom: 0.5555555556rem;
  position: relative;
}
.disc li::before, .disc_txt::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.6111111111rem;
  left: -0.7rem;
  width: 0.3333333333rem;
  height: 0.3333333333rem;
  background-color: currentColor;
  border-radius: 50%;
}
@media (min-width: 768px), print {
  .disc li::before, .disc_txt::before {
    top: 0.8333333333rem;
  }
}

.disc > :last-child {
  margin-bottom: 0 !important;
}

.disc_txt {
  display: block;
}

li.disc_n {
  margin-left: 0;
}
li.disc_n::before {
  content: none;
}

.suj {
  counter-reset: number;
  margin-left: 2.5px;
}
.suj li {
  position: relative;
  line-height: 1.4em;
  margin-top: 5px;
  padding-left: 25px;
}
@media (min-width: 768px), print {
  .suj li {
    padding-left: 35px;
  }
}
.suj li:first-child {
  margin-top: 0;
}
.suj li::before {
  position: absolute;
  left: 0.2rem;
  counter-increment: number;
  content: counter(number) ".";
  font-weight: 500;
}
@media (min-width: 768px), print {
  .suj li::before {
    left: 0.3rem;
  }
}
.suj li:nth-child(n+10)::before {
  left: 0;
}

.dot li, .dot_txt {
  line-height: 1.5 !important;
  margin-left: 1.6666666667rem;
  position: relative;
}
.dot li::before, .dot_txt::before {
  display: block;
  content: "";
  position: absolute;
  top: 0.1111111111rem;
  left: -1.6666666667rem;
  width: 1.0555555556rem;
  height: 1.0555555556rem;
  background-color: #87c5fb;
  border-radius: 50%;
}

.dot_txt {
  display: block;
}

.dot > :last-child {
  margin-bottom: 0 !important;
}

.dot li, .dot_txt {
  margin-bottom: 0.4444444444rem;
}
@media (min-width: 768px), print {
  .dot li, .dot_txt {
    margin-bottom: 0.5555555556rem;
  }
}

li.dot_n {
  margin-left: 0;
}
li.dot_n::before {
  content: none;
}

li.list_star {
  margin-left: 0;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
li.list_star::before {
  content: none;
}

.red {
  color: red;
}

.white {
  color: #fff;
}

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

.bg_blue {
  background: #32acff;
  padding: 5px 0 2px;
}

.bg-blue {
  background: #32acff !important;
}

.bg-darkblue {
  background: #4773BF !important;
}

.bg-green {
  background: #33C092 !important;
}

.km, .km_lst li {
  font-size: 85%;
  text-indent: -1rem;
  padding-left: 1rem;
}
.km::before, .km_lst li::before {
  content: "※";
  margin-right: 5px;
}
.km {
  display: block;
}

.star_lst li {
  text-indent: -1.5em;
  padding-left: 1.5em;
}
.star_lst li::before {
  content: "★";
  margin-right: 0.5em;
  color: #e46895;
}

.bold {
  font-weight: bold !important;
}

.font-l {
  font-size: 120%;
}

.mb20 {
  margin-bottom: 20px;
}

.t_dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  line-height: 1.7;
}
.t_dl dt {
  width: 6.5em;
}
.t_dl dt.txt_r {
  padding-right: 0.2777777778rem;
}
.t_dl dd {
  width: calc(100% - 6.5em);
  padding-left: 0.5555555556rem;
}
.arrow_bd {
  margin-bottom: 2.2222222222rem;
}
@media (min-width: 768px), print {
  .arrow_bd {
    margin-bottom: 4.4444444444rem;
  }
}
.arrow_bd {
  position: relative;
}
.arrow_bd::after {
  position: absolute;
  content: "";
  left: 20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 8px 0 8px;
  border-color: #b3b3b3 transparent transparent transparent;
}
@media (min-width: 768px), print {
  .arrow_bd::after {
    left: 50px;
    border-width: 10px 16px 0 16px;
  }
}
.arrow_bd_tit {
  border-radius: 0.1666666667rem;
  background: #008ac3;
  color: #fff;
  font-size: 1.0555555556rem;
}
@media (min-width: 768px), print {
  .arrow_bd_tit {
    font-size: 1.6666666667rem;
  }
}
.arrow_bd_tit {
  font-weight: normal;
  line-height: 1;
  padding: 7px 0 7px 56px;
}
@media (min-width: 768px), print {
  .arrow_bd_tit {
    padding: 12px 0 10px 152px;
  }
}
.arrow_bd_item {
  margin-left: 20px;
  border-left: 16px solid #b3b3b3;
  padding-left: 20px;
  padding-right: 0.5555555556rem;
  margin-top: 15px;
  margin-bottom: 0;
}
@media (min-width: 768px), print {
  .arrow_bd_item {
    margin-left: 50px;
    border-left-width: 32px;
    padding-left: 70px;
    padding-right: 70px;
  }
}
.arrow_bd_last::after {
  content: none;
}
.arrow_bd_last .arrow_bd_item {
  border-left: none;
  padding-left: 36px;
}
@media (min-width: 768px), print {
  .arrow_bd_last .arrow_bd_item {
    padding-left: 102px;
  }
}

.ban_col3 {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 20px;
}
.ban_col3 > :last-child {
  margin-bottom: 0 !important;
}
.ban_col3 > * {
  width: 100%;
  max-width: 350px;
  margin-inline: auto;
  margin-bottom: 0.5555555556rem;
}
@media (min-width: 768px), print {
  .ban_col3 > * {
    margin-bottom: 1.1111111111rem;
  }
}
@media (min-width: 768px), print {
  .ban_col3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
  .ban_col3 > * {
    width: 32%;
    margin-inline: initial;
  }
  .ban_col3 > :nth-child(3n+3) {
    margin-right: 0;
  }
  .ban_col3 > :nth-last-child(-n+3) {
    margin-bottom: 0;
  }
}

.arrow_rw {
  position: relative;
}
.arrow_rw::before {
  position: absolute;
  bottom: 0.5555555556rem;
  right: -1.9444444444rem;
  content: "";
  width: 0.5rem;
  height: 0.0555555556rem;
  background: #003d85;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.arrow_rw::after {
  position: absolute;
  bottom: 0.3888888889rem;
  right: -1.8888888889rem;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 1.7222222222rem;
  border-bottom: 0.0555555556rem solid #003d85;
}

.arrowRR_b {
  display: inline-block;
  line-height: 1;
  padding-right: 0.6666666667rem;
  position: relative;
}
.arrowRR_b::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  width: 5px;
  height: 5px;
  border-top: 1px solid #595959;
  border-right: 1px solid #595959;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.arrowRR_b::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 4px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #595959;
  border-right: 1px solid #595959;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media (min-width: 768px), print {
  .arrowRR_b::after {
    width: 8px;
    height: 8px;
  }
  .arrowRR_b::before {
    width: 8px;
    height: 8px;
  }
}
@media (hover: hover) {
  .arrowRR_b:hover::after {
    border-top: 1px solid rgb(127, 0, 9.9825327511);
    border-right: 1px solid rgb(127, 0, 9.9825327511);
  }
  .arrowRR_b:hover::before {
    border-top: 1px solid rgb(127, 0, 9.9825327511);
    border-right: 1px solid rgb(127, 0, 9.9825327511);
  }
}
.arrowRR_b {
  border-bottom: 1px solid #595959;
}
@media (hover: hover) {
  .arrowRR_b:hover {
    color: rgb(127, 0, 9.9825327511);
  }
}

.arrowRR {
  display: inline-block;
  line-height: 1;
  padding-right: 0.6666666667rem;
  position: relative;
}
.arrowRR::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  width: 5px;
  height: 5px;
  border-top: 1px solid #595959;
  border-right: 1px solid #595959;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.arrowRR::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 4px;
  width: 5px;
  height: 5px;
  border-top: 1px solid #595959;
  border-right: 1px solid #595959;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media (min-width: 768px), print {
  .arrowRR::after {
    width: 8px;
    height: 8px;
  }
  .arrowRR::before {
    width: 8px;
    height: 8px;
  }
}
@media (hover: hover) {
  .arrowRR:hover::after {
    border-top: 1px solid rgb(127, 0, 9.9825327511);
    border-right: 1px solid rgb(127, 0, 9.9825327511);
  }
  .arrowRR:hover::before {
    border-top: 1px solid rgb(127, 0, 9.9825327511);
    border-right: 1px solid rgb(127, 0, 9.9825327511);
  }
}
@media (hover: hover) {
  .arrowRR:hover {
    color: rgb(127, 0, 9.9825327511);
  }
}

.arrowLL {
  display: inline-block;
  line-height: 1.2;
  padding-left: 15px;
  position: relative;
}
.arrowLL::after, .arrowLL::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  width: 6px;
  height: 6px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.arrowLL::after {
  left: 0;
}
.arrowLL::before {
  left: 4px;
}
@media (hover: hover) {
  .arrowLL:hover {
    text-decoration: underline;
  }
}

.link_anchor_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 15px 0 10px 5px;
  background: #cbddf1;
  margin-bottom: 30px;
}
.link_anchor_menu li a {
  display: inline-block;
  line-height: 1;
  padding: 5px 11px 5px 20px;
  background: #003894;
  color: #fff;
  border-radius: 3px;
  margin: 0 5px 5px 0;
  position: relative;
}
.link_anchor_menu li a::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 8px;
  width: 6px;
  height: 6px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.link_anchor_menu li a::after {
  content: "";
  position: absolute;
  top: 25%;
  left: 8px;
  width: 6px;
  height: 6px;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media (hover: hover) {
  .link_anchor_menu li a:hover {
    background: #e50012;
  }
}
@media (min-width: 768px), print {
  .link_anchor_menu {
    padding: 15px 40px 10px;
  }
}

@font-face {
  font-family: "fontello";
  src: url("fontello/font/fontello.woff2") format("woff2");
  font-display: fallback;
}
@media (min-width: 768px), print {
  .header_box {
    -webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2);
            box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.2);
    border-bottom: 0.0555555556rem solid #ccc;
    padding-bottom: 3.8888888889rem;
  }
}

.logo {
  max-width: 20rem;
  margin: 0.2rem;
}
@media (min-width: 768px), print {
  .logo {
    width: 100%;
    margin: 0;
  }
}
.logo a {
  display: block;
  background: url("../img/logo.png") 50% 50%/contain no-repeat border-box;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  .logo a {
    background: url("../img/logo@2x.png") 30% 30%/contain no-repeat border-box;
  }
}
@media (-webkit-min-device-pixel-ratio: 3), (min-resolution: 3dppx) {
  .logo a {
    background: url("../img/logo@3x.png") 30% 30%/contain no-repeat border-box;
  }
}
.logo a {
  height: 0;
  padding-top: 20.0892857143%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

ul.department {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: -0.5rem 0 0.5rem;
  width: 100%;
}
ul.department li {
  width: 20%;
  border-right: 1px solid #fff;
}
ul.department li a {
  display: table-cell;
  width: 120px;
  height: 35px;
  padding: 0;
  background: #168ac4;
  color: #fff;
  font-size: 0.8rem;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
}
ul.department li:last-child a {
  background: #e46895;
}
ul.department li a span {
  font-size: 0.6rem;
}

@media (min-width: 768px), print {
  ul.department {
    margin: 0;
    width: 630px;
  }
  ul.department li {
    border-right: none;
  }
}
@media (min-width: 480px) and (max-width: 1024px), print {
  ul.department {
    width: 440px;
  }
  ul.department li a {
    width: 80px;
    height: 35px;
  }
}
div.logo {
  font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", verdana, Sans-Serif;
  font-weight: bold;
  font-size: 1rem;
}

.header {
  margin-bottom: 0.8333333333rem;
}
@media (min-width: 768px), print {
  .header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 0;
  }
}

.header_main {
  width: 100%;
}
@media (min-width: 768px), print {
  .header_main {
    width: auto;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40.3603603604%;
            flex: 0 0 40.3603603604%;
  }
}

.header_sub {
  text-align: center;
}
@media (min-width: 768px), print {
  .header_sub {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 44.4444444444rem;
            flex: 1 1 44.4444444444rem;
    text-align: right;
  }
}

.header_sub_item li {
  line-height: 1.3;
}
.header_sub_item .tel {
  margin-bottom: 0.1666666667rem;
}

.sp_header_item {
  margin-left: 10%;
  line-height: 1.4;
  margin-bottom: 0.5555555556rem;
}
.sp_header_item > :first-child, .sp_header_item .address {
  font-size: 0.8333333333rem;
}
.sp_header_item .address {
  margin-left: 0.5555555556rem;
}
.sp_header_item > :first-child {
  margin-bottom: 0.1111111111rem;
}

.tel {
  font-weight: bold;
  line-height: 1;
  font-size: 1.6666666667rem;
  color: #e50012;
  display: inline-block;
  background: url("../img/icon_tel.png") left center/1.1574074074rem 1.5740740741rem no-repeat border-box;
  padding: 0.2777777778rem 0;
  padding-left: 1.7777777778rem;
}
@media (min-width: 768px), print {
  .tel {
    font-size: 2.5555555556rem;
    background-size: 1.3888888889rem 1.8888888889rem;
  }
}

#nav {
  position: fixed;
  z-index: 1030;
  top: 4rem;
  right: 0;
}
@media (min-width: 768px), print {
  #nav {
    position: static;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 1150px;
            flex: 0 1 1150px;
    padding: 0 1.1111111111rem;
    max-width: 1150px;
    margin-right: auto;
    margin-left: auto;
    margin-top: -1.9444444444rem;
  }
}

.gnav {
  display: none;
  background: #003d85;
  padding: 0.5555555556rem 0 0.2777777778rem;
  padding-left: 0.5555555556rem;
  padding-right: 0.2777777778rem;
  text-align: left;
}
.gnav::before, .gnav::after {
  content: "";
  display: block;
  clear: both;
}
@media (min-width: 768px), print {
  .gnav {
    padding: 0;
    background: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    border: 0.1111111111rem solid #70b0fa;
    background-image: -webkit-gradient(linear, left bottom, left top, from(rgb(0, 61, 133)), to(rgb(36, 105, 186)));
    background-image: linear-gradient(0deg, rgb(0, 61, 133) 0%, rgb(36, 105, 186) 100%);
  }
  .gnav::before, .gnav::after {
    content: none;
  }
}

.gnav .treatment_sp {
  width: calc(100% - 0.2777777778rem);
  border-top: 1px solid #595959;
  font-size: 130%;
  line-height: 1;
  letter-spacing: 0.2777777778rem;
  margin-top: 0.2222222222rem;
  margin-bottom: 0.2222222222rem;
  padding-top: 0.4444444444rem;
  padding-bottom: 0.3333333333rem;
  text-align: center;
  background-color: #e50012;
  color: #fff;
}

.gnav > * {
  display: inline-block;
  background-color: #fff;
  width: calc(50% - 0.2777777778rem);
  margin-right: 0.2777777778rem;
  margin-bottom: 0.2777777778rem;
  float: left;
}
@media (min-width: 768px), print {
  .gnav > * {
    display: block;
    background-color: transparent;
    float: none;
    margin-right: 0;
    margin-bottom: 0;
    width: 16.6666666667%;
    border-left: 1px solid #527db0;
  }
}

@media (min-width: 768px), print {
  .gnav > :first-child {
    border-left: none;
  }
}

.gnav > * a {
  display: block;
  text-align: center;
  line-height: 1;
  padding: 0.8333333333rem 0;
}
@media (min-width: 768px), print {
  .gnav > * a {
    padding-bottom: 1.3888888889rem;
    padding-top: 1.3888888889rem;
    color: #fff;
  }
}
@media (min-width: 768px) and (hover: hover), print and (hover: hover) {
  .gnav > * a:hover {
    opacity: 1;
  }
}

/*.gnav >:nth-child(19) {
	background-color: #f2b2c9;
  @include pc {
    display: none;
  }
}*/
.gnav > :nth-child(n+8) span, .gnav > :nth-child(n+8) i {
  display: none;
}

@media (min-width: 768px), print {
  .gnav > :nth-child(n+7) {
    display: none;
  }
}
@media (min-width: 768px) and (hover: hover), print and (hover: hover) {
  body.index .gnav > :first-child a,
  body.doctor .gnav > :nth-child(2) a,
  body.clinic .gnav > :nth-child(3) a,
  body.first .gnav > :nth-child(5) a,
  body.access .gnav > :nth-child(6) a,
  a.sub.close,
  .gnav > * a:hover {
    position: relative;
  }
  body.index .gnav > :first-child a::before,
  body.doctor .gnav > :nth-child(2) a::before,
  body.clinic .gnav > :nth-child(3) a::before,
  body.first .gnav > :nth-child(5) a::before,
  body.access .gnav > :nth-child(6) a::before,
  a.sub.close::before,
  .gnav > * a:hover::before {
    position: absolute;
    top: calc(100% - 3px);
    left: 0;
    width: 100%;
    height: 3px;
    content: "";
    background: #e40113;
  }
  body.index .gnav > :first-child a::after,
  body.doctor .gnav > :nth-child(2) a::after,
  body.clinic .gnav > :nth-child(3) a::after,
  body.first .gnav > :nth-child(5) a::after,
  body.access .gnav > :nth-child(6) a::after,
  a.sub.close::after,
  .gnav > * a:hover::after {
    position: absolute;
    top: calc(100% - 11px);
    left: 0;
    right: 0;
    margin: auto;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 8px 8px 8px;
    border-color: transparent transparent #e40113 transparent;
  }
}
.gnav > .treatment {
  display: none;
}
.gnav > .treatment .subnav {
  display: none;
}
@media (min-width: 768px), print {
  .gnav > .treatment {
    display: block;
    position: relative;
  }
  .gnav > .treatment .subnav_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    position: absolute;
    top: 100%;
    width: 37.5rem;
    left: -13.6111111111rem;
    border-radius: 0 0 0.1666666667rem 0.1666666667rem;
    background: rgba(255, 255, 255, 0.85) border-box;
    overflow: hidden;
    -webkit-box-shadow: 0 0 0 0.0555555556rem hsla(0, 0%, 100%, 0.15) inset, 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
            box-shadow: 0 0 0 0.0555555556rem hsla(0, 0%, 100%, 0.15) inset, 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
    text-shadow: 0 0.0555555556rem 0.0555555556rem hsla(0, 0%, 100%, 0.15);
    padding: 0.5555555556rem;
  }
  .gnav > .treatment .subnav_item > * {
    margin-bottom: 0.4444444444rem;
  }
  .gnav > .treatment .subnav_item > :nth-child(2n+2) {
    margin-right: calc((100% - 32% * 3) / 2);
  }
  .gnav > .treatment .subnav_item > :nth-child(3n+3) {
    margin-right: 0;
  }
  .gnav > .treatment .subnav_item > :nth-last-child(-n+3) {
    margin-bottom: 0;
  }
  .gnav > .treatment .subnav_item > ul {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.5555555556rem;
  }
  .gnav > .treatment .subnav_item a {
    text-align: left;
    font-size: 1.1111111111rem;
    height: 3.3333333333rem;
    padding-left: 0.6111111111rem;
  }
  .gnav > .treatment .subnav_item a span {
    font-size: 2.6666666667rem;
    top: 0.3333333333rem;
    right: 0.3333333333rem;
  }
  .gnav > .treatment .subnav_item a::before, .gnav > .treatment .subnav_item a::after {
    content: none;
  }
  .gnav > .treatment .subnav_item .index_treatment_g > *, .gnav > .treatment .subnav_item .index_treatment_b > *, .gnav > .treatment .subnav_item .index_treatment_p > * {
    margin-bottom: 0.2777777778rem;
  }
}

.sp_btn {
  height: 30px;
  display: block;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "sans-serif";
  position: relative;
}
.sp_btn > * {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 1.6666666667rem;
  height: 0.2222222222rem;
  background-color: #595959;
  display: block;
  -webkit-transition: background-color 0.1s linear;
  transition: background-color 0.1s linear;
}
.sp_btn > :nth-of-type(1) {
  top: 10px;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}
.sp_btn > :nth-of-type(2) {
  top: 20px;
  position: relative;
}
.sp_btn > :nth-of-type(2)::after {
  content: "MENU";
  font-weight: bold;
  font-size: 0.6111111111rem;
  display: block;
  margin-top: 0.3333333333rem;
  color: #595959;
  width: 2.7777777778rem;
  position: absolute;
  left: -0.5555555556rem;
}
.sp_btn > :nth-of-type(3) {
  top: 0;
  -webkit-transition: -webkit-transform 0.2s linear;
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}
.sp_btn.active :nth-of-type(1) {
  top: 40%;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.sp_btn.active :nth-of-type(2) {
  background-color: transparent;
}
.sp_btn.active :nth-of-type(2)::after {
  content: "close";
  font-weight: bold;
  font-size: 0.6111111111rem;
  color: #595959;
}
.sp_btn.active :nth-of-type(3) {
  top: 40%;
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
@media (min-width: 768px), print {
  .sp_btn {
    display: none;
  }
}

.mu {
  width: 2.7777777778rem;
  text-align: center;
  position: fixed;
  z-index: 1030;
  top: 0.4444444444rem;
  right: 0.1666666667rem;
  padding-top: 0.4444444444rem;
  padding-bottom: 0.8888888889rem;
  background: hsla(0, 0%, 100%, 0.55) border-box;
  overflow: hidden;
  -webkit-box-shadow: 0 0 0 0.0555555556rem hsla(0, 0%, 100%, 0.15) inset, 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 0 0.0555555556rem hsla(0, 0%, 100%, 0.15) inset, 0 0.5rem 1rem rgba(0, 0, 0, 0.3);
  text-shadow: 0 0.0555555556rem 0.0555555556rem hsla(0, 0%, 100%, 0.15);
}
.mu::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: -10px -20px;
  z-index: -1;
  -webkit-filter: blur(20px);
  filter: blur(20px);
}
@media (min-width: 768px), print {
  .mu {
    display: none;
  }
}

.section {
  margin-bottom: 2.2222222222rem;
}
@media (min-width: 768px), print {
  .section {
    margin-bottom: 4.4444444444rem;
  }
}
.section {
  padding-bottom: 0.0555555556rem;
}
.section_item {
  margin-bottom: 2.2222222222rem;
}
@media (min-width: 768px), print {
  .section_item {
    margin-bottom: 4.4444444444rem;
  }
}
.section_item:last-child {
  margin-bottom: 0;
}

.box_b {
  margin-bottom: 1.1111111111rem;
}
@media (min-width: 768px), print {
  .box_b {
    margin-bottom: 2.7777777778rem;
  }
}

.tit_b {
  margin-bottom: 1.1111111111rem;
}
@media (min-width: 768px), print {
  .tit_b {
    margin-bottom: 1.6666666667rem;
  }
}

.txt_b, .txt_ls li {
  margin-bottom: 0.5555555556rem;
}
@media (min-width: 768px), print {
  .txt_b, .txt_ls li {
    margin-bottom: 1.1111111111rem;
  }
}

.last_b > :last-child {
  margin-bottom: 0 !important;
}

.overview {
  background: url("../img/overview_bg.jpg") center top/cover no-repeat;
  padding-top: 1.6666666667rem;
  padding-bottom: 2.7777777778rem;
}
@media (min-width: 768px), print {
  .overview {
    padding-top: 5rem;
    padding-bottom: 1.6666666667rem;
  }
}

.map {
  padding-top: 85.1851851852%;
  background: url("../img/map.png") no-repeat;
  background-position: center center;
  background-size: 96% 90%;
  background-color: #e2e8e3;
  border: 2px solid #b4b4b4;
  height: 0;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  margin-bottom: 0.6111111111rem;
}
@media (min-width: 768px), print {
  .map {
    margin-bottom: 1.1111111111rem;
  }
}

.overview_inner .overviewL {
  width: 100%;
}
@media (min-width: 768px), print {
  .overview_inner .overviewL {
    width: 49%;
  }
}
.overview_inner .overviewR {
  width: 100%;
}
@media (min-width: 768px), print {
  .overview_inner .overviewR {
    width: 49%;
  }
}

.overview_tit {
  font-size: 1.4444444444rem;
  color: #003d85;
  line-height: 1;
}

.clinic_name .logo {
  width: 100%;
  max-width: 20rem;
  margin: 0 auto 1.1111111111rem;
}
@media (min-width: 768px), print {
  .clinic_name .logo {
    width: 100%;
    max-width: 20rem;
    margin-bottom: 2.7777777778rem;
  }
}
.clinic_name .logo a {
  padding-top: 20.0892857143%;
}
.clinic_name ul.department {
  margin: -1.25rem auto 2rem;
}
@media (min-width: 768px), print {
  .clinic_name ul.department {
    margin: -3rem auto 2rem;
  }
}

.tbl_gaiyo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media (min-width: 768px), print {
  .tbl_gaiyo {
    margin-bottom: 1.6666666667rem;
  }
}
.tbl_gaiyo dt, .tbl_gaiyo dd {
  width: 100%;
  line-height: 1;
}
@media (min-width: 768px), print {
  .tbl_gaiyo dt, .tbl_gaiyo dd {
    border-bottom: 2px solid #b4b4b4;
  }
}
@media (min-width: 768px), print {
  .tbl_gaiyo dt:first-of-type, .tbl_gaiyo dd:first-of-type {
    border-top: 2px solid #b4b4b4;
  }
}
.tbl_gaiyo dt {
  color: #fff;
  background-color: #003d85;
  padding-top: 0.4444444444rem;
  padding-bottom: 0.4444444444rem;
  text-align: center;
}
@media (min-width: 768px), print {
  .tbl_gaiyo dt {
    width: 22%;
    padding: 0;
    background-color: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.4444444444rem;
    font-weight: bold;
    color: #003d85;
    text-align: left;
  }
}
.tbl_gaiyo dd {
  padding: 0.6666666667rem 0 1.1111111111rem 1.1111111111rem;
  line-height: 1.3;
}
@media (min-width: 768px), print {
  .tbl_gaiyo dd {
    width: calc(100% - 22%);
    padding: 1.6666666667rem 0 1.7777777778rem 1.1111111111rem;
    font-size: 1.1111111111rem;
  }
}
.tbl_gaiyo dd .tel {
  background-image: none;
  padding-left: 0;
  font-size: 1.6666666667rem;
}
.footer {
  background: #003d85;
  padding-top: 0.8333333333rem;
}
@media (min-width: 768px), print {
  .footer {
    padding-top: 1.6666666667rem;
  }
}

.footer_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  line-height: 1;
  margin-bottom: 0.5555555556rem;
}
@media (min-width: 768px), print {
  .footer_nav {
    margin-bottom: 0.2777777778rem;
  }
}
.footer_nav > * {
  position: relative;
}
.footer_nav > *::before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 1px;
  height: 0.6666666667rem;
  background: #fff;
}
.footer_nav > *:first-child::before {
  content: none;
}
.footer_nav > * a {
  display: inline-block;
  line-height: 1;
  padding: 0.2777777778rem 0.3333333333rem;
  font-size: 0.7777777778rem;
  color: #fff;
  background-color: transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  word-break: break-all;
}
@media (hover: hover) {
  .footer_nav > * a:hover {
    text-decoration: none;
    color: #e50012;
    background-color: transparent;
    opacity: 0.8;
  }
}
@media (min-width: 768px), print {
  .footer_nav > * a {
    font-size: 0.8888888889rem;
    padding: 0.8333333333rem 0.5555555556rem;
  }
}
.footer_nav > * a span {
  font-size: inherit;
}
.footer_nav > :first-child a {
  padding-left: 0;
}

.footer .footer_nav:last-child {
  margin-bottom: 1.1111111111rem;
}
@media (min-width: 768px), print {
  .footer .footer_nav:last-child {
    margin-bottom: 2.7777777778rem;
  }
}

.global_nav .treatment,
.global_nav > :nth-child(n+7) {
  display: none;
}

.footer_copy {
  padding-bottom: 50px;
}
@media (min-width: 768px), print {
  .footer_copy {
    padding-bottom: 0;
  }
}

.copy {
  display: block;
  padding: 0.4444444444rem;
  color: #fff;
}
.copy a {
  color: inherit;
}

.pageup {
  display: inline-block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
  background: url("../img/pagetop.png") center center/2.8240740741rem 2.7777777778rem no-repeat;
  width: 3.3888888889rem;
  height: 3.3333333333rem;
}
@media (min-width: 768px), print {
  .pageup {
    display: block;
    background-size: 3.3888888889rem 3.3333333333rem;
  }
}

.floating_bnr {
  display: none;
}
@media (min-width: 768px), print {
  .floating_bnr {
    display: block;
    position: fixed;
    right: 0.5rem;
    top: 30%;
  }
  .floating_bnr li {
    text-align: center;
    border-radius: 0.5rem;
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: nowrap;
    text-orientation: upright;
    margin-bottom: 1rem;
  }
  .floating_bnr li.rsv {
    border: 2px solid #F5A9BC;
    background: #fa5882;
  }
  .floating_bnr li.rsv_line {
    border: 2px solid #7fdb7f;
    background: #00b900;
  }
  .floating_bnr li a {
    display: block;
    padding: 1.5rem 1rem;
    color: #fff;
    font-weight: 600;
  }
}

#pageup {
  display: none;
}
@media (min-width: 768px), print {
  #pageup {
    position: fixed;
    z-index: 1030;
    margin: 0;
    width: auto;
    right: 1.6666666667rem;
    bottom: 4.1666666667rem;
  }
}

.pageup_sp {
  display: block;
  position: absolute;
  top: -55px;
  right: 6px;
}

.tel_up {
  position: fixed;
  bottom: 0;
  z-index: 1030;
}
@media (min-width: 768px), print {
  .tel_up {
    display: none;
  }
}

.tel_up_item {
  display: table;
  table-layout: fixed;
  width: 100%;
  height: 50px;
  padding: 0;
  background: hsla(0, 0%, 100%, 0.75) border-box;
  overflow: hidden;
  -webkit-box-shadow: 0 0 0 0.0555555556rem hsla(0, 0%, 100%, 0.15) inset, 0.5rem 0.5rem 1rem rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 0 0.0555555556rem hsla(0, 0%, 100%, 0.15) inset, 0.5rem 0.5rem 1rem rgba(0, 0, 0, 0.3);
}
.tel_up_item::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: -10px -20px;
  z-index: -1;
  -webkit-filter: blur(20px);
  filter: blur(20px);
}
.tel_up_item > * {
  display: table-cell;
  vertical-align: middle;
}
.tel_up_item li {
  width: 33%;
}
.tel_up_item li a, .tel_up_item li span {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  height: 100%;
  text-align: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.tel_up_item li.footer_tel a, .tel_up_item li.footer_tel span {
  background: #33C092;
  color: #FFF;
}
.tel_up_item li.footer_rsv_line a, .tel_up_item li.footer_rsv_line span {
  background: #00b900;
  color: #FFF;
}
.tel_up_item li.footer_rsv a, .tel_up_item li.footer_rsv span {
  background: #F5A9BC;
  color: #FFF;
}
.tel_up_item li.footer_access a {
  background: #e46895;
  color: #FFF;
}
.tel_up_item li.footer_time a {
  background: #008ac3;
  color: #FFF;
}

.news_item {
  padding-right: 0.8333333333rem;
}
@media (min-width: 768px), print {
  .news_item {
    padding-right: 1.3888888889rem;
    margin-bottom: 0;
  }
}
.news_title {
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.2;
  color: #003d85;
  margin-top: 1.1111111111rem;
  cursor: pointer;
}
@media (min-width: 768px), print {
  .news_title {
    font-size: 1.2222222222rem;
    margin-top: 1.1111111111rem;
  }
}
.news_title:first-child {
  margin-top: 0;
}
.news_title:before {
  content: "▼ ";
}
.news_title.active:before {
  content: "▲ ";
}
.news_body {
  line-height: 1.7;
  margin-bottom: 0.8333333333rem;
  padding-bottom: 0.6666666667rem;
  margin-bottom: 1.1111111111rem;
  font-size: 0.8888888889rem;
}
.news_body:not(:nth-of-type(-n+4)) {
  display: none;
}
@media (min-width: 768px), print {
  .news_body {
    margin-bottom: 0rem;
    padding-bottom: 1.1111111111rem;
    font-size: 1rem;
  }
}
.news_body p {
  margin-bottom: 5px;
  color: #595959;
}
@media (min-width: 768px), print {
  .news_body p {
    font-size: 1.1111111111rem;
  }
}

.index_treatment_bg {
  background: url("../img/index_treatment_bg.jpg") center center/cover no-repeat;
  padding-top: 1.6666666667rem;
  padding-bottom: 1.6666666667rem;
}
@media (min-width: 768px), print {
  .index_treatment_bg {
    padding-top: 5.2777777778rem;
    padding-bottom: 5.5555555556rem;
  }
}

.subnav_item .index_treatment > *,
.subnav_item .index_treatment_g > *,
.subnav_item .index_treatment_b > *,
.subnav_item .index_treatment_p > * {
  position: relative;
}
.subnav_item .index_treatment a,
.subnav_item .index_treatment_g a,
.subnav_item .index_treatment_b a,
.subnav_item .index_treatment_p a {
  color: #fff;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  word-break: break-all;
}
@media (hover: hover) {
  .subnav_item .index_treatment a:hover,
  .subnav_item .index_treatment_g a:hover,
  .subnav_item .index_treatment_b a:hover,
  .subnav_item .index_treatment_p a:hover {
    text-decoration: none;
    color: #ed0017;
    background-color: #000fa0;
    opacity: 0.8;
  }
}
.subnav_item .index_treatment a,
.subnav_item .index_treatment_g a,
.subnav_item .index_treatment_b a,
.subnav_item .index_treatment_p a {
  padding: 0.8333333333rem 0.5555555556rem;
}
.subnav_item .index_treatment a span,
.subnav_item .index_treatment_g a span,
.subnav_item .index_treatment_b a span,
.subnav_item .index_treatment_p a span {
  position: absolute;
  top: 0.7222222222rem !important;
}
.subnav_item .index_treatment .g a,
.subnav_item .index_treatment_g .g a,
.subnav_item .index_treatment_b .g a,
.subnav_item .index_treatment_p .g a {
  background-color: #64cdb3;
}
.subnav_item .index_treatment .b a,
.subnav_item .index_treatment_g .b a,
.subnav_item .index_treatment_b .b a,
.subnav_item .index_treatment_p .b a {
  background-color: #61bee5;
}
.subnav_item .index_treatment .p a,
.subnav_item .index_treatment_g .p a,
.subnav_item .index_treatment_b .p a,
.subnav_item .index_treatment_p .p a {
  background-color: #7b9fe7;
}
.subnav_item .index_treatment .breast a,
.subnav_item .index_treatment_g .breast a,
.subnav_item .index_treatment_b .breast a,
.subnav_item .index_treatment_p .breast a {
  background-color: #f291b4;
}
.subnav_item .index_treatment .visit a,
.subnav_item .index_treatment_g .visit a,
.subnav_item .index_treatment_b .visit a,
.subnav_item .index_treatment_p .visit a {
  background-color: #ffae00;
}

.index_treatment {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5555555556rem;
}
@media (min-width: 768px), print {
  .index_treatment {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.index_treatment > * {
  margin-bottom: 0.5555555556rem;
}
@media (min-width: 768px), print {
  .index_treatment > * {
    margin-bottom: 1.6666666667rem;
  }
}
.index_treatment > * a {
  display: block;
  font-size: 1.2222222222rem;
  color: #fff;
  background-color: transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  word-break: break-all;
}
@media (hover: hover) {
  .index_treatment > * a:hover {
    text-decoration: none;
    color: #ed0017;
    background-color: #000fa0;
    opacity: 0.8;
  }
}
.index_treatment > * a {
  border-radius: 0.1666666667rem;
  line-height: 1.2;
  height: 3.3333333333rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 0.8333333333rem;
  position: relative;
}
@media (min-width: 768px), print {
  .index_treatment > * a {
    font-size: 1.3333333333rem;
    height: 5.5555555556rem;
    padding-left: 1.6666666667rem;
  }
}
.index_treatment > * a span {
  display: inline-block;
  font-size: 2.2222222222rem;
  position: absolute;
  top: 0.3333333333rem;
  right: 0.3333333333rem;
}
@media (min-width: 768px), print {
  .index_treatment > * a span {
    font-size: 3.8888888889rem;
    top: 0.5555555556rem;
    right: 0.5555555556rem;
  }
}
.index_treatment > *.g a {
  background-color: #64cdb3;
}
.index_treatment > *.b a {
  background-color: #61bee5;
}
.index_treatment > *.b a.visit {
  background-color: #ffae00;
}
.index_treatment > *.p a {
  background-color: #7b9fe7;
}
.index_treatment > *.breast a {
  background-color: #f291b4;
  /*pointer-events: none;*/
}
.index_treatment > *.visit a {
  background-color: #ffae00;
  /*pointer-events: none;*/
}
.index_treatment > :last-child {
  margin-bottom: 0;
}

.point_bg {
  background: url("../img/point_bg.jpg") no-repeat;
  background-position: center top;
  padding-top: 1.6666666667rem;
  padding-bottom: 2.2222222222rem;
}
@media (min-width: 768px), print {
  .point_bg {
    padding-top: 5.2777777778rem;
    padding-bottom: 5.5555555556rem;
  }
}

.point_i {
  background: url("../img/point_01.jpg");
}

.point_j {
  background: url("../img/point_02.jpg");
}

.point_k {
  background: url("../img/point_03.jpg");
}

.point_l {
  background: url("../img/point_04.jpg");
}

.point_m {
  background: url("../img/point_05.jpg");
}

.point_n {
  background: url("../img/point_06.jpg");
}

.point > * {
  background-position: center top;
  background-repeat: no-repeat;
  height: 360px;
  height: 330px;
  padding: 0 0.8333333333rem;
  padding-top: 218px;
  font-size: 1.1111111111rem;
  line-height: 1.4;
  margin-inline: auto;
}
@media (min-width: 768px), print {
  .point > * {
    background-size: contain;
    height: 20rem;
    padding-top: 12.1111111111rem;
    margin-inline: initial;
  }
}

body.index .keyvsl {
  background: url("../img/index_keyvsl01.jpg") center top/cover no-repeat border-box;
  padding-top: 1.9444444444rem;
  padding-bottom: 1.1111111111rem;
  margin-bottom: 1.1111111111rem;
}
@media (min-width: 768px), print {
  body.index .keyvsl {
    padding-top: 4.1666666667rem;
    padding-bottom: 1.3888888889rem;
    margin-top: -1.9444444444rem;
    margin-bottom: 5.5555555556rem;
    position: relative;
    z-index: -1;
  }
}

body:not(.index) .keyvsl {
  background: url("../img/keyvsl.jpg") center top/cover no-repeat border-box;
  padding-top: 1.9444444444rem;
  padding-bottom: 1.8333333333rem;
  margin-bottom: 1.6666666667rem;
}
@media (min-width: 768px), print {
  body:not(.index) .keyvsl {
    padding-top: 13.6111111111rem;
    padding-bottom: 3.7222222222rem;
    margin-top: -1.9444444444rem;
    margin-bottom: 5.5555555556rem;
    position: relative;
    z-index: -1;
  }
}

.index_keyvsl {
  text-align: right;
}
.index_keyvsl_info {
  display: inline-block;
  text-align: center;
}
.index_keyvsl_info > * {
  margin-bottom: 0.5555555556rem;
  padding: 0.4444444444rem 0.2777777778rem;
  border: 1px solid #87c5fb;
  -webkit-box-shadow: 1px 1px 2px -1px rgba(0, 0, 0, 0.3);
          box-shadow: 1px 1px 2px -1px rgba(0, 0, 0, 0.3);
  background-color: rgba(255, 255, 255, 0.8);
  font-size: 0.7777777778rem;
  color: #003d85;
}
@media (min-width: 768px), print {
  .index_keyvsl_info > * {
    width: 19.4444444444rem;
    padding: 0;
    margin-bottom: 1.1111111111rem;
    padding-top: 2.1666666667rem;
    padding-bottom: 2.2222222222rem;
    -webkit-box-shadow: 1px 2px 2px 1px rgba(0, 0, 0, 0.3);
            box-shadow: 1px 2px 2px 1px rgba(0, 0, 0, 0.3);
    background: url("../img/index_keyvsl_info.jpg") no-repeat;
    background-position: center center;
    background-size: 8.2222222222rem 5.2777777778rem;
    font-size: 1.2222222222rem;
    background-color: #fff;
  }
}

body.index .ban_col3 {
  margin-bottom: 2.2222222222rem;
}
@media (min-width: 768px), print {
  body.index .ban_col3 {
    margin-bottom: 2.5rem;
  }
}

.index_ho, .index_br, .index_ct, .index_co, .index_en {
  display: block;
  height: 8.3333333333rem;
  border: 0.2222222222rem solid #65ccb2;
  line-height: 1;
  font-size: 1.4444444444rem;
  padding-top: 2.5rem;
  padding-left: 1.3888888889rem;
}
.index_ho span, .index_br span, .index_ct span, .index_co span, .index_en span {
  display: block;
  margin-top: 0.2777777778rem;
  font-size: 1.1111111111rem;
}
@media (hover: hover) {
  .index_ho:hover, .index_br:hover, .index_ct:hover, .index_co:hover, .index_en:hover {
    text-decoration: underline;
    color: #e50012;
  }
}

.index_en {
  background: url("../img/index_en.jpg") no-repeat;
  color: #0e6c54;
}

.index_co {
  background: url("../img/index_co.jpg") no-repeat;
  border-color: #4eb8e5;
  color: #0e6f9a;
}

.index_ct {
  background: url("../img/index_ct.jpg") no-repeat;
  border-color: #6e91d8;
  color: #2347a4;
  padding-top: 3.3333333333rem;
}

.index_br {
  background: url("../img/index_br.jpg") no-repeat;
  border-color: #e46895;
  color: #e46895;
  padding-top: 3.3333333333rem;
}

.index_ho {
  background: url("../img/index_ho.jpg") no-repeat;
  border-color: #91722f;
  color: #91722f;
  padding-top: 3.3333333333rem;
}

.info_tit {
  width: 50%;
  margin: 0 auto;
}
@media (min-width: 768px), print {
  .info_tit {
    background: #fff;
    width: 23%;
    margin-right: calc(100% - 23% - 74%);
    margin-bottom: 0;
    padding: 5rem 0 4.7222222222rem;
    border: 2px solid #87c5fb;
    -webkit-box-shadow: 0px 0px 5px 1px #e7f3fe;
            box-shadow: 0px 0px 5px 1px #e7f3fe;
  }
}
@media (min-width: 768px), print {
  .info_tit.tit_02 {
    margin-bottom: 0 !important;
  }
}

.info {
  width: 100%;
}
@media (min-width: 768px), print {
  .info {
    width: 74%;
  }
}

.info_bg {
  background: url("../img/info_bg.jpg") no-repeat;
  background-position: center bottom;
  padding-bottom: 1.6666666667rem;
}

#clinicslide, #clinicslide01 {
  margin-bottom: 8rem;
}
#clinicslide img, #clinicslide p, #clinicslide01 img, #clinicslide01 p {
  display: none;
}

.sp-layer.sp-black.sp-padding {
  text-align: center;
  font-size: 1.5555555556rem;
}
@media (min-width: 768px), print {
  .sp-layer.sp-black.sp-padding {
    font-size: 1.6666666667rem;
  }
}

.sp-selected-thumbnail {
  border: 4px solid #000;
}

body.access .map_box {
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
}

.corona_box_01 {
  width: 96%;
  margin: 0 auto;
}
@media (min-width: 768px), print {
  .corona_box_01 {
    width: 100%;
    margin: 0 auto 4rem;
    background: #cfe3f4 url("../img/bg_corona_01.png") no-repeat bottom left;
  }
}
.corona_box_01 {
  background: #cfe3f4;
  border: 5px solid #3c98e6;
  z-index: 99;
  margin-bottom: 2rem;
}
@media (min-width: 768px), print {
  .corona_box_01 .corona_box_02 {
    background: url("../img/bg_corona_02.png") no-repeat bottom right;
  }
}
.corona_box_01 dl dt {
  background: #3c98e6;
  text-align: center;
  padding: 20px 0;
  color: #FFF;
}
@media (min-width: 768px), print {
  .corona_box_01 dl dt {
    font-size: 24pt;
  }
}
.corona_box_01 dl dt {
  font-size: 16pt;
  font-weight: bold;
}
.corona_box_01 dl dd {
  text-align: center;
  padding: 20px 10px;
  font-size: 20px;
}
.corona_box_01 dl dd div.caption {
  background: #e50012;
  padding: 20px 20px 10px;
  color: #FFF;
  margin: 10px;
  font-weight: bold;
}
@media (min-width: 768px), print {
  .corona_box_01 dl dd div.caption {
    width: 586px;
  }
}
.corona_box_01 dl dd div.caption {
  width: 90%;
  margin: 0 auto;
}

.bnr_lst {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.bnr_lst .bnr_box {
  width: 100%;
}
.bnr_lst .bnr_box:nth-child(1) {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.bnr_lst .bnr_box:nth-child(2) {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.bnr_txt {
  width: 96%;
  margin: 0 auto 40px;
  background: #cfe3f4;
  border: 5px solid #3c98e6;
}
.bnr_txt dt {
  background: #3c98e6;
  text-align: center;
  padding: 10px 0 20px;
  color: #FFF;
  font-size: 15pt;
  font-weight: bold;
}
.bnr_txt dt::before {
  inset: 0 0 auto;
  margin: 0 auto 10px;
  display: block;
  content: "";
  background: url("../img/bnr_img.svg") no-repeat center/contain;
  width: 160px;
  height: 70px;
}
.bnr_txt dd {
  padding: 20px;
  font-size: 18px;
}
.bnr_txt dd .more {
  display: inline-block;
}
.bnr_txt dd .more.pdf::before {
  font-family: "fontello";
  content: "\f1c1";
  margin-right: 0.2rem;
}
.bnr_txt.-color2 {
  border-color: #fbace2;
  background: #fff6ff;
}
.bnr_txt.-color2 dt {
  background: #fbace2;
}
.bnr_txt.-color2 dt::before {
  background: url("../img/bnr_img02.svg") no-repeat center/contain;
}
.bnr_txt a {
  text-decoration: underline;
}
.bnr_txt a:before {
  content: "≫ ";
}

@media (min-width: 768px), print {
  .bnr_lst {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .bnr_lst .bnr_box {
    width: 49%;
  }
  .bnr_lst .bnr_box:nth-child(1) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .bnr_lst .bnr_box:nth-child(2) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .bnr_lst .bnr_txt {
    width: 100%;
    margin-bottom: 4rem;
  }
}
.top_info {
  width: 96%;
  margin: 0 auto 20px;
  padding: 20px;
  border: 2px solid #87c5fb;
  background: #f4fbfa;
}
.top_info .tit {
  font-size: 120%;
  color: #003d85;
  letter-spacing: 0.05rem;
}
.top_info a {
  text-decoration: underline !important;
}
.top_info.-color2 {
  background: #65ccb2;
  -webkit-box-shadow: none;
          box-shadow: none;
  border: none;
}
.top_info.-color2 .tit {
  color: #fff;
}
@media (min-width: 768px), print {
  .top_info {
    width: 100%;
    margin-bottom: 2rem;
    padding: 40px;
  }
  .top_info .tit {
    font-size: 140%;
  }
  .top_info p {
    font-size: 20px;
  }
}

.bnr_instagram {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.3888888889rem;
  border: 2px solid;
  -o-border-image: linear-gradient(to right, #524398, #d43d8d, #dd5535) 1;
     border-image: -webkit-gradient(linear, left top, right top, from(#524398), color-stop(#d43d8d), to(#dd5535)) 1;
     border-image: linear-gradient(to right, #524398, #d43d8d, #dd5535) 1;
  background: #fff;
  color: #595959;
  margin: 0 0 2rem;
  padding: 0.8rem;
  text-align: center;
}
.bnr_instagram span {
  font-weight: bold;
  font-size: 1.3888888889rem;
  line-height: 1;
}
.bnr_instagram::before {
  display: block;
  content: "";
  width: 1.9444444444rem;
  height: 1.9444444444rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 4rem;
          flex: 0 0 4rem;
  background: url("../img/icon_instagram.png") no-repeat center/contain;
}
@media (min-width: 768px), print {
  .bnr_instagram {
    font-size: 80%;
  }
  .bnr_instagram span {
    font-size: 1.1111111111rem;
  }
  .bnr_instagram:hover {
    color: #595959 !important;
  }
}

.bnr_line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.3888888889rem;
  border: 2px solid #32CC71;
  background: #fff;
  color: #595959;
  margin: 0 0 2rem;
  padding: 0.8rem;
  text-align: center;
}
.bnr_line span {
  font-weight: bold;
  font-size: 1.3888888889rem;
  line-height: 1;
}
.bnr_line::before {
  display: block;
  content: "";
  width: 1.9444444444rem;
  height: 1.9444444444rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 4rem;
          flex: 0 0 4rem;
  background: url("../img/icon_line.png") no-repeat center/contain;
}
@media (min-width: 768px), print {
  .bnr_line {
    font-size: 80%;
  }
  .bnr_line span {
    font-size: 1.1111111111rem;
  }
  .bnr_line:hover {
    color: #595959 !important;
  }
}

.bnr_seki {
  /*display: block;*/
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5555555556rem;
  border: 2px solid #043192;
  background: #fff;
  color: #595959;
  margin: 0 0 2rem;
  padding: 0.8rem;
  text-align: center;
}
.bnr_seki .txt {
  margin: 0;
}
.bnr_seki .txt span {
  color: #07ade1;
  font-weight: bold;
  font-size: 1.3888888889rem;
}
.bnr_seki::before {
  display: block;
  content: "";
  width: 1.9444444444rem;
  height: 1.9444444444rem;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 4rem;
          flex: 0 0 4rem;
  background: url("../img/logo_seki.jpg") no-repeat center/contain;
}
@media (min-width: 768px), print {
  .bnr_seki {
    font-size: 80%;
  }
  .bnr_seki span {
    font-size: 1.1111111111rem;
  }
  .bnr_seki:hover {
    color: #595959 !important;
  }
}

.breast_info {
  background-color: #fbace2;
  color: #ffffff;
  padding: 3px;
  text-align: center;
  font-weight: bold;
  font-size: 120%;
}

.line_pink {
  border-bottom: 2px solid #fbace2;
}

.star {
  color: #fbace2;
}

.link_pink {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #e46895;
  border-radius: 25px;
  padding: 10px 40px 10px 20px;
  color: #ffffff;
  display: inline-block;
  position: relative;
  margin-bottom: 10px;
  /*padding-left: 30px;*/
}
@media (min-width: 768px), print {
  .link_pink {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.5rem 2.5rem 0.5rem 1rem;
  }
}
.link_pink a {
  color: #ffffff;
  display: block;
}
.link_pink::before { /* 背景の表示設定 */
  content: "";
  position: absolute;
  margin: auto;
  top: -3px;
  right: 14px;
  bottom: 0;
  width: 20px; /* 横幅 */
  height: 20px; /* 高さ */
  border-radius: 50%; /* 角の丸み */
  background: #ffffff;
}
@media (min-width: 768px), print {
  .link_pink::before {
    top: -3px;
    right: 15px;
  }
}
.link_pink::after { /* くの字の表示設定 */
  content: "";
  position: absolute;
  margin: auto;
  top: -3px;
  right: 21px;
  bottom: 0;
  width: 10px;
  height: 10px;
  border-top: 3px solid #aaa;
  border-right: 3px solid #aaa;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (min-width: 768px), print {
  .link_pink::after {
    top: -3px;
    right: 22px;
  }
}

.rsv_btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  background: #fa5882;
  border: 2px solid #F5A9BC;
  border-radius: 25px;
  padding: 5px 40px 5px 20px;
  color: #ffffff;
  display: inline-block;
  position: relative;
  margin-bottom: 25px;
}
@media (min-width: 768px), print {
  .rsv_btn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 0.5rem 2.5rem 0.3rem 1rem;
    margin-bottom: 50px;
  }
}
.rsv_btn::before { /* 背景の表示設定 */
  content: "";
  position: absolute;
  margin: auto;
  top: -3px;
  right: 14px;
  bottom: 0;
  width: 20px; /* 横幅 */
  height: 20px; /* 高さ */
  border-radius: 50%; /* 角の丸み */
  background: #ffffff;
}
@media (min-width: 768px), print {
  .rsv_btn::before {
    top: -2px;
    right: 12px;
  }
}
.rsv_btn::after { /* くの字の表示設定 */
  content: "";
  position: absolute;
  margin: auto;
  top: -3px;
  right: 21px;
  bottom: 0;
  width: 10px;
  height: 10px;
  border-top: 3px solid #aaa;
  border-right: 3px solid #aaa;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (min-width: 768px), print {
  .rsv_btn::after {
    top: -2px;
    right: 19px;
  }
}

.listbox {
  border: 1px solid #737373;
}
.listbox p {
  border-bottom: 1px solid #737373;
  padding: 0.5rem 1rem;
  margin: 0 !important;
}
.listbox p:last-child {
  border-bottom: none;
}

.vaccination .box_b ul.aco {
  display: none;
}

.vaccination .box_b h4 {
  cursor: pointer;
  position: relative;
  padding-left: 1rem;
}

.vaccination .box_b h4::before {
  content: "▼";
  font-size: 0.9em;
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
  color: #e46895;
}

.vaccination .box_b h4.active::before {
  content: "▲";
}/*# sourceMappingURL=style.css.map */