/*
Theme Name: テンプレート
Author: アルファージール
Version: 1
*/

/*==============================================*/
/*  PC  */
/*==============================================*/
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.mb5 {
    margin-bottom: 5px;
}
.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 120px;
}
@media (min-width: 960px){
    html {
        scroll-padding-top: 160px;
    }
}

body {
    line-height: 1.6;
    font-feature-settings: 'palt' 1;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    letter-spacing: 0.1em;
    min-height: 100vh;
    display: grid;
    align-items: flex-start;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 18px;
}

body.fixed {
    position: fixed;
    left: 0;
    width: 100%;
}

strong {
    font-weight: bold;
}
.taC {
    text-align: center;
}
@media (min-width: 960px) {
    .pc_hide {
        display: none !important;
    }

    .pc_taC {
        text-align: center;
    }
}

@media (min-width: 560px) and (max-width: 959px) {
    .tb_hide {
        display: none !important;
    }

    .tb_taC {
        text-align: center;
    }
}

@media (max-width: 559px) {
    .sp_hide {
        display: none !important;
    }

    .sp_taC {
        text-align: center;
    }
}

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

main {
    align-self: stretch;
    container-type: inline-size;
}

a:hover {
    transition: 0.3s;
    opacity: 0.7;
}

.disIB {
    display: inline-block;
}
.disB {
    display: block;
}

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

main p {
    margin-bottom: 1em;
}

main p:last-child {
    margin-bottom: 0em;
}

/*==========================================================================*/
/*==header==*/
/*==========================================================================*/
.header {
    display: grid;
    grid-template-columns: auto auto auto auto;
    background: #fcfcfc;
    padding: 0 0 0 0;
    /* justify-content: space-between; */
    position: sticky;
    top: 0 !important;
    z-index: 100;
    align-items: center;
}

.header__logo a {
  display: grid;
  grid-template-columns: 80px 1fr;
  grid-template-rows: 1fr 1fr;
  max-width: fit-content;
  text-decoration: none;
  color: #6a442e;
  gap: 0 20px;
  line-height: 1.1;
  align-items: center;
  font-size: 24px;
  font-family: source-han-sans-japanese, 'Noto Sans JP', sans-serif;
  font-weight: 500;
}
.header__logo img {
    max-height: 100%;
    width: auto;
    grid-row: 1 / 3;
    grid-column: 1 / 2;
}
.header__logo__sub {
  font-size: 70%;
}
.header__logo__main {
}
@media (max-width: 1079px) {
  .header__logo a {
    font-size: 20px;
    grid-template-columns: 70px 1fr;
  }
}
@media (max-width: 449px) {
  .header__logo a {
    font-size: 4.2vw;
    grid-template-columns: 13vw 1fr;
    gap: 0 2.5vw;
  }
}


@media (max-width: 959px) {
    .header {
        height: 90px;
        grid-template-columns: 1fr auto;
        grid-gap: 0 20px;
        padding: 0 20px;
    }

    .header__logo {
        height: 60px;
    }
}

@media (min-width: 960px) {
    .header {
        height: 120px;
        grid-template-rows: 1fr;
        align-items: center;
    }

    .header__logo {
        height: 68px;
    }

}

.header__left {
    padding-left: 155px;
    /* padding-right: 30px; */
}

.header__right {
    display: grid;
    grid-template-columns: auto auto auto;
    line-height: 1.2;
    height: 100%;
    align-items: center;
    gap: 20px;
    max-width: fit-content;
    margin-left: auto;
}


/*電話タグ*/
.header__right__tel {
    text-align: right;
}

.header__right__tel__title {
    font-size: 89%;
}

.header__right__tel a {
    font-weight: 900;
    font-size: 169%;
    text-decoration: none;
    color: rgb(0, 185, 194);
    letter-spacing: 0;
}

.header__right__tel__text {
    font-size: 80%;
    letter-spacing: 0;
}

@media (max-width: 959px) {
    .header__right__tel {
        display: none;
    }
}

.header__right__contact a {
    background: rgb(0, 185, 194);
    padding: 12px 21px;
    border-radius: 3px;
    color: #fff;
    text-decoration: none;
    display: grid;
    align-items: center;
    text-align: center;
    font-size: 20px;
    max-width: fit-content;
}

.header__right__time span {
    background: rgb(0, 138, 146);
    padding: 12px 21px;
    border-radius: 3px;
    color: #fff;
    text-decoration: none;
    display: grid;
    align-items: center;
    text-align: center;
    font-size: 20px;
    max-width: fit-content;
}

/*ヘッダーボタン*/
@media (min-width: 960px) {
    .header__right__btn {
        display: grid;
        grid-template-rows: auto auto;
        grid-gap: 5px;
        margin-right: 20px;
    }

    .header__right__btn a {
        background: #999;
        color: #fff;
        display: block;
        text-decoration: none;
        padding: 10px 40px 10px 40px;
        font-size: 14px;
        text-align: center;
        position: relative;
    }

    .header__right__btn a::before {
        content: "";
        position: absolute;
        right: 10px;
        top: 50%;
        width: 30px;
        height: 11px;
        transform: translateY(-50%);
        background: #fff;
        clip-path: polygon(0% 50%, 100% 50%, 66% 11%, 99% 40%);
    }
}

@media (max-width: 959px) {
    .header__right__btn {
        display: none;
    }
}

.header__bottom {
    /* height: 40px; */
    display: grid;
    justify-content: center;
    align-items: center;
    padding: 5px 10px;
    background: #eff6ff;
    width: 100%;
    text-align: center;
    grid-column: 1 / 5;
    align-self: end;
    height: 100%;
    letter-spacing: 0.032em;
}

/*ヘッダーメニュー*/

.header__menu {
    display: grid;
    cursor: pointer;
    height: 100%;
    align-items: center;
    padding-right: 60px;
}

.header__menu:hover {
    opacity: 0.7;
}

.header__menu__box {
    display: grid;
    align-items: center;
    justify-content: center;
    width: 100%;
    text-align: center;
}

.header__menu__border {
    height: 35px;
    width: 100%;
    width: 50px;
    display: grid;
    align-items: center;
    position: relative;
    /* justify-content: center; */
    grid-row: 2 / 3;
}

.header__menu__border__text {
    grid-row: 3 / 4;
    margin-top: 5px;
    line-height: 1;
    letter-spacing: 0;
    text-align: center;
    font-size: 80%;
}

@media (max-width: 1739px) and (min-width: 960px) {
    .header__left {
        padding-left: 3.6vw;
    }

    .header__menu {
        padding-right: 40px;
    }
}

@media (max-width: 1639px) and (min-width: 960px) {
    .header {
        grid-template-columns: 1fr auto auto;
    }

    .header__menu {
        padding-left: 30px;
    }
}

@media (max-width: 1639px) {
    .header__center {
        display: none;
    }
}

.header__menu__border span:nth-of-type(1) {
    top: 0;
}

.header__menu__border span:nth-of-type(2) {
    /*   top: 20px; */
    top: 50%;
    transform: translate(0%, -50%);
}

.header__menu__border span:nth-of-type(3) {
    bottom: -1px;
}

.header__menu__border span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: rgba(33, 33, 33, 1);
    border-radius: 4px;
    display: inline-block;
    transition: all .5s;
    box-sizing: border-box;
}

.header__menu__border_text {
    font-weight: bold;
    font-size: 15px;
    width: 100%;
    -webkit-transition-duration: .4s;
    -o-transition-duration: .4s;
    -moz-transition-duration: .4s;
    transition-duration: .4s;
    white-space: nowrap;
    display: inline-block;
    padding-top: 36px;
    letter-spacing: 0;
    color: rgba(68, 70, 133, 1);
}

#sidebar_flag:checked .header__menu {
    /*  right: calc(21.5vw + 40px);
  right: calc(24.8vw + 40px); */
    /*  margin-right: 20px;*/
    -webkit-transition-duration: .4s;
    -o-transition-duration: .4s;
    -moz-transition-duration: .4s;
    transition-duration: .4s;
    /* top: 120px; */
}

#sidebar_flag:checked .header__menu .header__menu__border span {
    background-color: #fff;
}

#sidebar_flag:checked~.header__menu .header__menu__border span:nth-of-type(1) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: calc(3vw * 0.35)
}

#sidebar_flag:checked .header__menu .header__menu__border span:nth-of-type(2) {
    opacity: 0;
}

#sidebar_flag:checked .header__menu .header__menu__border span:nth-of-type(3) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: calc(3vw * 0.35)
}

#sidebar_flag:checked .header__menu .header__menu__text {
    color: #fff;
}


.sidebar__contents__contacts {
	display: grid;
	grid-template-columns: auto auto;
	grid-gap: 20px;
	font-size: 28px;
    line-height: 1;
    justify-content: center;
    margin-bottom: 40px;
}
.sidebar__contents__tel {
	display: grid;
	align-items: center;
}
.sidebar__contents__tel a {
	display: inline-block;
	color: #fff;
	text-decoration: none;
	padding-left: 1.7em;
	position: relative;
}
.sidebar__contents__tel a::before {
	content: "";
	position: absolute;
	width: 1.4em;
	left: 0;
	top: 0;
	bottom: 0;
	background: #fff;
	mask: url(img/common/ico_phone.svg) 0 50% / contain no-repeat;
}
.sidebar__contents__tel__text {
  font-size: 55%;
  display: block;
}
.sidebar__contents__mail a,
.sidebar__contents__mail > span {
	display: inline-block;
	color: #fff;
	text-decoration: none;
	padding-left: 2.4em;
	position: relative;
	height: 100%;
	display: grid;
	align-items: center;
	background: #fff;
	color: rgb(0, 185, 194);
	border-radius: 4px;
	padding-top: 16px;
	padding-bottom: 18px;
	padding-right: 15px;
  font-size: 20px;
}
.sidebar__contents__mail a::before,
.sidebar__contents__mail > span::before {
	content: "";
	position: absolute;
	width: 1.5em;
	left: 0.4em;
	top: 0;
	bottom: 0;
  background: rgb(0, 185, 194);
	mask: url(img/common/ico_calender.svg) 0 50% / contain no-repeat;
}


.sidebar__contents__time {
  max-width: 500px;
  margin: 0 auto 40px;
  letter-spacing: 0;
}
.sidebar__contents__time table {
	width: 100%;
	margin-bottom: 10px;
}
.sidebar__contents__time th,
.sidebar__contents__time td {
	padding: 10px;
	text-align: center;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
  line-height: 1.2;
  vertical-align: middle;
}
@media (max-width: 559px){
  .sidebar__contents__contacts {
    grid-template-columns: auto;
  }
  .sidebar__contents__time th, .sidebar__contents__time td {
    padding-left: 5px;
    padding-right: 5px;
  }
  .sidebar__contents__mail {
    max-width: fit-content;
    margin: auto;
  }
}
@media (min-width: 960px){
  .sidebar__contents__bottom {
    display: grid;
    grid-template-columns: auto auto;
    align-items: start;
    max-width: fit-content;
    margin: auto;
    gap: 0 60px;
    direction: rtl;
    margin-top: 40px;
  }
  .sidebar__contents__contacts {
    grid-template-columns: unset;
    grid-template-rows: auto auto;
    direction: ltr;
    margin-bottom: 0;
    margin-left: auto;
  }
  .sidebar__contents__time {
    direction: ltr;
  }
  .sidebar__contents__time__notice {
    font-size: 16px;
  }
}

@supports (display: contents) {
  @media (min-width: 960px){
    .sidebar__contents__bottom {
      justify-content: space-between;
    }
    .sidebar__contents__time {
      display: contents;
    }
    .sidebar__contents__time > * {
      direction: ltr;
    }
    .sidebar__contents__time__notice {
      grid-column: 1 / 3;
      grid-row: 2 / 3;
    }
  }
}
@media (max-width: 959px) {
    .header__left {
        padding-left: 0;
    }

    .header__center {
        display: none;
    }

    .header__right {
        display: none;
    }

    .header__menu {
        padding-right: 0;
    }

    .header__bottom {
        display: none;
    }
    .sidebar__contents__bottom {
        margin-top: 40px;
    }
}



.sidebar_nav .sidebar_nav_list>ul>li>a {
    color: #fff;
    font-weight: 500;
    font-size: 18px;
    padding: 3px 0 7px 20px;
    position: relative;
    display: block;
    border-bottom: 1px dashed #fff;
    text-decoration: none;
}

.sidebar_nav .sidebar_nav_list>ul>li>a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: translateY(-50%) rotate(135deg);
}

.sidebar_nav_list_contents {
    max-width: fit-content;
    margin: 0 auto;
}
.sidebar_nav_list {
}

.sidebar_nav_list > ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media(min-width: 560px) {
    .sidebar_nav_list > ul {
        grid-template-columns: 1fr 1fr;
    }
}
@media(min-width: 960px) {
    .sidebar_nav_list > ul {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

.sidebar_nav_list_menu_title {
  text-align: center;
  margin: 40px;
  font-size: 24px;
}
.sidebar_nav_list_menu >ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media(min-width: 560px) {
    .sidebar_nav_list_menu >ul {
        grid-template-columns: 1fr 1fr;
    }
}
@media(min-width: 960px) {
    .sidebar_nav_list_menu >ul {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}

.sidebar_nav_list_menu >ul>li>a {
    color: #fff;
    font-weight: 500;
    font-size: 18px;
    padding: 3px 0 7px 20px;
    position: relative;
    display: block;
    border-bottom: 1px dashed #fff;
    text-decoration: none;
}

.sidebar_nav_list_menu >ul>li>a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: translateY(-50%) rotate(135deg);
}
/*
.sidebar_nav_list_menu >ul>li>a {
  display: inline-block;
  width: 100%;
  padding-left: 40px;
  border-radius: 5px;
  text-decoration: none;
  background: rgba(0,0,0,0.2);
  color: #fff;
  padding: 20px 15px 20px 55px;
  position: relative;
  text-box-trim: trim-both;
}
.sidebar_nav_list_menu >ul>li>a::before {
  font-family: 'remixicon';
  position: absolute;
  left: 10px;
  top: 50%;
  translate: 0 -50%;
  color: #fff;
  font-size: 170%;
  text-box-trim: trim-both;
}
.sidebar_nav_list_menu >ul>li.general>a::before {
  content: "\f51a";
}
.sidebar_nav_list_menu >ul>li.pediatric>a::before {
  content: "\f274";
}
.sidebar_nav_list_menu >ul>li.ortho>a::before {
  content: "\ebd4";
}
.sidebar_nav_list_menu >ul>li.surgery>a::before {
  content: "\f1c3";
}
.sidebar_nav_list_menu >ul>li.preventive>a::before {
  content: "\f100";
}
.sidebar_nav_list_menu >ul>li.esthetic>a::before {
  content: "\f18f";
}
.sidebar_nav_list_menu >ul>li.whitening>a::before {
  content: "\ebda";
}
.sidebar_nav_list_menu >ul>li.implant>a::before {
  content: "\f0e2";
}
*/
/*==========================================================================*/
/*==header   ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==header nav==*/
/*==========================================================================*/

.header__center__nav {
  display: flex;
  gap: 0 40px;
  align-items: center;
  justify-content: center
}

.header__center__nav a {
  text-decoration: none;
  color: #000;
  color: #6a442e;
  font-size: 20px;
  text-align: center;
  font-weight: 500;
  font-family: source-han-sans-japanese, 'Noto Sans JP', sans-serif;
}

/*==========================================================================*/
/*==header nav    ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==footer loop==*/
/*==========================================================================*/

.footerloop {
    display: flex;
    padding: 50px 0;
    overflow: hidden;
    max-width: 100vw;
}

.footerloop_box {
    display: flex;
    animation: footerloop_anime 95s infinite linear 0.5s both;
    align-items: center;
}

.footerloop .slide {
    width: calc(100vw / 1.5);
}

@keyframes footerloop_anime {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

@media (min-width: 560px) and (max-width: 959px) {
    .footerloop .slide {
        width: calc(100vw / 2.5);
    }
}

@media (min-width: 960px) {
    .footerloop .slide {
        width: calc(100vw / 4.5);
    }
}

/*==========================================================================*/
/*==footer loop   ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==footer info==*/
/*==========================================================================*/

.footer {
/*
    background: rgb(17, 24, 39);
    color: rgb(156, 163, 175);
*/
  background: rgb(0, 185, 194);
  color: #fff;
}

.footer_inner {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 32px;
    padding: 40px;
    max-width: 1280px;
    margin: auto;
}


.footer h3 {
    color: #fff;
    font-size: 18px;
    margin-bottom: 15px;
    ;
}

.footer a {
    text-decoration: none;
    color: inherit;
}

.footer_tel a {
    color: rgb(0, 185, 194);
    text-decoration: none;
    font-size: 130%;
}

.footer_logo {
  margin-bottom: 10px;
}
.footer_logo a {
  display: grid;
  grid-template-columns: 70px auto;
  grid-template-rows: 1fr auto auto 1fr;
  max-width: fit-content;
  text-decoration: none;
  color: #6a442e;
  gap: 0 10px;
  line-height: 1.1;
  align-items: center;
  font-size: 14px;
  font-family: source-han-sans-japanese, 'Noto Sans JP', sans-serif;
  font-weight: 500;
  background: #fff;
  padding: 10px;
  max-width: unset;
  justify-content: center;
  margin-bottom: 10px;
}
.footer_logo a img {
  width: auto;
  grid-row: 1 / 5;
  grid-column: 1 / 2;
}
.footer__logo__sub {
  font-size: 70%;
  grid-row: 2 / 3;
  padding-bottom: 0.2em;
}
.footer__logo__main {
  grid-row: 3 / 4;
}
@media (min-width: 1240px){
    .footer__creditcard__wrap {
        grid-column: 1 / 3;
        grid-row: 2 / 3;
    }
    .footer_nav_contents_wrap {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }
    .footer_nav_menu_wrap {
        grid-column: 3 / 4;
        grid-row: 1 / 3;
    }
    .footer_nav_equipment_wrap {
        grid-column: 4 / 5;
        grid-row: 1 / 3;
    }
}
@media (min-width: 960px) and (max-width: 1239px){
    .footer_inner {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .footer_clinicname {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }
    .footer_clinicinfo {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }
    .footer__creditcard__wrap {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }
    .footer_nav_contents_wrap {
        grid-column: 2 / 3;
        grid-row: 1 / 4;
    }
    .footer_nav_menu_wrap {
        grid-column: 3 / 4;
        grid-row: 1 / 4;
    }
	.footer_nav_equipment_wrap {
       grid-column: 2/3;
       grid-row: 2/3;
}
}
@media (max-width: 959px) {
    .footer_inner {
        display: block;
        padding: 40px 0;
    }

    .footer_inner>div {
        margin-bottom: 20px;
    }

    .footer_nav a,
    .footer_nav_contents a,
    .footer_nav_equipment a  {
        /* display: inline-block; */
        /* padding-left: 1.2em; */
        /* margin-bottom: 10px; */
        position: relative;
        display: grid;
        align-items: center;
        height: 100%;
        width: 100%;
        text-align: center;
        padding: 15px 10px;
        border-bottom: 1px solid #fff;
        line-height: 1.4;
    }
    .footer_nav li:nth-child(2n+1) a,
    .footer_nav_contents li:nth-child(2n+1) a,
    .footer_nav_equipment li:nth-child(2n+1) a {
        border-right: 1px solid #fff;
    }
    .footer_nav li:first-child a,
    .footer_nav_contents li:first-child a,
    .footer_nav_equipment li:first-child a,
    .footer_nav li:nth-child(2) a,
    .footer_nav_contents li:nth-child(2) a,
    .footer_nav_equipment li:nth-child(2) a  {
        border-top: 1px solid #fff;
    }
/* 
    .footer_nav a::before,
    .footer_nav_contents a::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        border-top: 1px solid;
        border-right: 1px solid;
        width: 0.6em;
        height: 0.6em;
        rotate: 45deg;
        translate: 0 -50%;
    } */

    .footer_clinicname,
    .footer_clinicinfo,
    .footer__creditcard__wrap {
        max-width: 90%;
        margin: 0 auto;
    }
    .footer_nav_contents,
    .footer_nav,
    .footer_nav_equipment {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
    .footer_nav_contents_wrap h3,
    .footer_nav_menu_wrap h3,
    .footer_nav_equipment_wrap h3 {
        padding: 15px 3.75%;
        margin: 0;
        text-align: center;
    }
}


.page__top {
    right: 15px;
    bottom: 75px;
    position: fixed;
    z-index: 1000;
    background: #008a92;
    width: 60px;
    height: 60px;
    border-radius: 100%;
}

.page__top a {
    text-decoration: none;
    display: grid;
    width: 100%;
    height: 100%;
    justify-content: center;
    border-radius: 100%;
    background: #008a92;
    color: #fff;
    letter-spacing: 0;
    font-size: 11px;
    line-height: 1.2;
    padding: 10px 0 0;
    text-align: center;
}

.page__top .page__top__inner {
    position: relative;
}

.page__top .page__top__inner::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    background: #fff;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
}

@media (min-width: 960px) {
    .page__top {
        width: 100px;
        height: 100px;
        right: 2%;
        bottom: 3%;
    }

    .page__top a {
        font-size: 18px;
        padding-top: 20px;
    }

    .page__top .page__top__inner::after {
        width: 20px;
        height: 17px;
        bottom: 15px;
    }
}

/*==========================================================================*/
/*==footer info   ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==footer==*/
/*==========================================================================*/

.copyright {
    padding: 32px;
    text-align: center;
    display: block;
    border-top: 1px solid rgb(31, 41, 55);
    max-width: 1280px;
    margin: auto;
    color: #fff;
    border-top-color: #fff;
}
@media (max-width: 959px){
    .copyright {
        border-top: 0;
    }
}

/*==========================================================================*/
/*==footer   ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==sp footer fixed==*/
/*==========================================================================*/

.sp__footer__fixed {
    position: sticky;
    bottom: -1px;
    left: 0;
    width: 100%;
    background: #fff;
    z-index: 100;
    height: 60px;
    font-size: 16px;
}

.sp__footer__fixed01 {
    display: grid;
    /* grid-template-columns: 1fr 1fr 1fr; */
    grid-template-columns: 1fr 1fr;
    height: 100%;
}

.sp__footer__fixed01 a,
.sp__footer__fixed01>div>span {
    padding: 31px 10px 5px;
    display: block;
    color: #fff;
    text-decoration: none;
    text-align: center;
    line-height: 1.4;
    height: 100%;
    position: relative;
}

.sp__footer__fixed01 a .inner {}

.sp__footer__fixed01 a .title {
    display: block;
}

.sp__footer__fixed01 a .contents {
    display: block;
    font-size: 140%;
}

.sp__footer__fixed01 a::before,
.sp__footer__fixed01>div>span::before {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center;
    top: 0;
    bottom: 22px;
    display: grid;
    align-items: center;
    font-family: remixicon;
    font-size: 24px;
    color: #fff;
    pointer-events: none;
}

.sp__footer__fixed01__tel a {
    background: rgb(0,166,174);
}

.sp__footer__fixed01__tel a::before {
    content: "\efec";
}

.sp__footer__fixed01__mail a {
    background: #68d0d5;
}

.sp__footer__fixed01__mail a::before {
    content: "\eb27";
}

.sp__footer__fixed01__time>span {
    background: #008a92;
}

.sp__footer__fixed01__time>span::before {
    content: "\F20F";
}


.sp__footer__fixed02 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.sp__footer__fixed02 a {
    padding: 5px 10px;
    text-align: center;
    display: block;
    color: #fff;
    background: #333;
    font-size: 12px;
    letter-spacing: 0;
    text-decoration: none;
}

.sp__footer__fixed02 .inner {
    display: inline-block;
    padding-top: 20px;
    position: relative;
}

.sp__footer__fixed02 div:nth-child(2n) a {
    background: #444;
}

.sp__footer__fixed02 .inner::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 20px;
    height: 18px;
    top: 0;
    transform: translate(-50%, 0);
    background: 50% 50% / contain no-repeat;
}

.sp__footer__fixed02 .time .inner::after {
    background-image: url("img/common/ico_clock.png");
}

.sp__footer__fixed02 .access .inner::after {
    background-image: url("img/common/ico_access.png");
}

.sp__footer__fixed02 .map .inner::after {
    background-image: url("img/common/ico_map.png");
}

.sp__footer__fixed02 .train .inner::after {
    background-image: url("img/common/ico_train.png");
}

.grecaptcha-badge {
    bottom: 144px !important;
}
/*==========================================================================*/
/*==sp footer fixed    ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==サイドバー　ハンバーガー ==*/
/*==========================================================================*/

#sidebar__flag~.sidebar_contents .sidebar_contents_box {
    -webkit-transform: translateX(101vw);
    -ms-transform: translateX(101vw);
    -moz-transform: translateX(101vw);
    -o-transform: translateX(101vw);
    transform: translateX(101vw);
    -webkit-transition-duration: .4s;
    -o-transition-duration: .4s;
    -moz-transition-duration: .4s;
    transition-duration: .4s;
}

#sidebar__flag:checked~.sidebar_contents .sidebar_contents_box {
    -webkit-transform: translateX(0vw);
    -ms-transform: translateX(0vw);
    -moz-transform: translateX(0vw);
    -o-transform: translateX(0vw);
    transform: translateX(0vw);
}

.sidebar_contents {
    position: fixed;
    left: 0;
    top: 0;
    height: 0;
    width: 100%;
    z-index: 110;
}

.sidebar_contents_box {
    position: relative;
}

.sidebar_contents_box_inner {
    height: 100vh;
    width: 100%;
    z-index: 10;
    background: rgba(0, 185, 194, 0.95);
    padding: 120px 20px 20px;
    overflow-y: auto;
    gap: 0 2vw;
    color: #fff;
}

.sidebar_menu_close {
    position: absolute;
    width: 60px;
    height: 60px;
    top: 60px;
    right: 20px;
    cursor: pointer;
    z-index: 100;
}

@media (max-width: 559px) {
    .sidebar_menu_close {
        top: 20px;
    }
}

.sidebar_menu_close:hover {
    opacity: 0.7;
}

.sidebar_menu_close>span {
    border-top: 3px solid #fff;
    width: 100%;
    height: 0;
    position: absolute;
    top: 50%;
    left: 50%;
}

.sidebar_menu_close>span:nth-child(1) {
    transform: translate(-50%, -50%) rotate(45deg);
}

.sidebar_menu_close>span:nth-child(2) {
    transform: translate(-50%, -50%) rotate(-45deg);
}
@media (max-width: 959px){
  .sidebar_nav_list_menu >ul {
    display: flex;
    flex-wrap: wrap;
  }
  .sidebar_nav_list_menu >ul>li {
    flex-basis: calc(50% - 20px);
  }
}
@media (max-width: 559px){
  .sidebar_contents_box_inner {
    padding-bottom: 100px;
  }
  .sidebar_nav_list_menu >ul>li {
    flex-basis: 100%;
  }
}

/*==========================================================================*/
/*==サイドバー　ハンバーガー   ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==サイドバー ==*/
/*==========================================================================*/

.sidebar__content {}

.sidebar__content__menu+.sidebar__content__menu {
    margin-top: 40px;
}

.sidebar__content__menu__title {
    background: #3a4247;
    color: #fff;
    padding-top: 11px;
    padding-bottom: 12px;
    text-align: center;
}

.sidebar__content ul>li a {
    position: relative;
    text-decoration: none;
    display: block;
    padding: 10px .5em 8px 40px;
    border-bottom: 1px solid rgba(0, 0, 0, .05);
    color: #464646;
}

.sidebar__content ul>li a::before {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 18px;
    color: #d1d1d1;
    transform: translateY(-50%);
    text-align: center;
    font-size: 14px;
    line-height: 1;
    font-family: "メイリオ", Meiryo, sans-serif;
    content: "+";
}

.sidebar__logo {
  margin-bottom: 10px;
}
.sidebar__logo a {
  display: grid;
  grid-template-columns: 70px auto;
  grid-template-rows: 1fr auto auto 1fr;
  max-width: fit-content;
  text-decoration: none;
  color: #6a442e;
  gap: 0 10px;
  line-height: 1.1;
  align-items: center;
  font-size: 18px;
  font-family: source-han-sans-japanese, 'Noto Sans JP', sans-serif;
  font-weight: 500;
  background: #fff;
  padding: 10px;
  justify-content: center;
  margin: 0 auto 20px;
}
.sidebar__logo a img {
  width: auto;
  grid-row: 1 / 5;
  grid-column: 1 / 2;
}
.sidebar__logo__sub {
  font-size: 70%;
  grid-row: 2 / 3;
  padding-bottom: 0.2em;
}
.sidebar__logo__main {
  grid-row: 3 / 4;
}

/*==========================================================================*/
/*==サイドバー   ここまで==*/
/*==========================================================================*/

/*==========================================================================*/
/*==固定ページ　1カラム設定==*/
/*==========================================================================*/

.post_box_bg>.inner {
    max-width: 1320px;
    margin: auto;
    padding: 0 40px;
}

@media (max-width: 959px) {
    .post_box_bg>.inner {
        padding-left: 3.75%;
        padding-right: 3.75%;
    }
}

/*==========================================================================*/
/*==固定ページ  1カラム設定 ここまで==*/
/*==========================================================================*/

/*==========================================================================*/
/*==固定ページ　2カラム設定==*/
/*==========================================================================*/


.page>.inner,
.single__page>.inner,
.category>.inner {
    max-width: 1320px;
    margin: auto;
    padding: 0 40px;
}

.page__2column .main__content .post_box_bg>.inner {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 959px) {
    .page__2column {
        margin-bottom: 40px;
    }

    .sidebar__content {
        margin-top: 50px;
    }

    .page>.inner,
    .single__page>.inner,
    .category>.inner {
        padding-left: 3.75%;
        padding-right: 3.75%;
    }
}

@media (min-width: 960px) {
    .page__2column {
        max-width: 1320px;
        padding: 0 40px;
        margin: 0 auto 60px;
        display: grid;
        grid-template-columns: 67.19% 23.86%;
        justify-content: space-between;
    }

}

/*==========================================================================*/
/*==固定ページ  2カラム設定 ここまで==*/
/*==========================================================================*/

/*==========================================================================*/
/*==固定ページ　hタグ==*/
/*==========================================================================*/

.page h2,
.single__page h2,
.category h2 {
    padding: 0.6em 1em 0.7em;
    border: none;
    font-size: 27px;
    outline-offset: 0px;
    text-shadow: none;
    text-align: center;
    filter: none;
    margin: 0 0 1.2em;
    font-weight: bold;
}

.page h3,
.single__page h3,
.category h3 {
    border-top: 0px solid #999;
    border-bottom: 0px solid #999;
    border-left: 7px solid rgb(0, 185, 194);
    padding: .8em .9em;
    font-weight: bold;
    color: #333;
    font-size: 21px;
    background: #f7f7f7;
    margin: 0 0 1.2em;
}

.page h3.nostyle,
.single__page h3.nostyle,
.category h3.nostyle {
    border: 0;
    text-align: center;
    background: 0;
    padding: 0;
    font-size: 24px;
}

.page h4,
.single__page h4,
.category h4 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}

/*==========================================================================*/
/*==固定ページ  hタグ ここまで==*/
/*==========================================================================*/

/*==========================================================================*/
/*==固定ページ　キービジュアル==*/
/*==========================================================================*/

.keyvisual {
    position: relative;
    margin-bottom: 40px;
    height: 300px;
}

.keyvisual_title {
    position: absolute;
    mix-blend-mode: difference;
    color: #fff;
    font-size: 40px;
    top: 50%;
    left: 50%;
    margin-left: -480px;
    transform: translateY(-50%);
}

.keyvisual_img {
    height: 100%;
    width: 100%;
}

.keyvisual img {
    object-fit: cover;
    height: 100%;
    width: 100%;
}

/*==========================================================================*/
/*==固定ページ  キービジュアル ここまで==*/
/*==========================================================================*/
/*==========================================================================*/
/*==カテゴリー==*/
/*==========================================================================*/

.category {
    padding-bottom: 60px
}

.category__list li {
    padding: 5px 0;
    border-bottom: 1px solid #000;
}

.category__list li a {
    display: block;
    text-decoration: none;
    color: #000;
}

.category__list li a .post_date {
    padding-right: 0.5em;
    display: inline-block;
}

.pagination {
    margin-top: 20px;
    display: flex;
    gap: 0 20px;
    justify-content: center;
}

.pagination>a {
    display: inline-block;
    background: #000;
    color: #fff;
    padding: 15px;
    border: 1px solid #000;
    text-decoration: none;
}

.pagination>span {
    background: #fff;
    color: #000;
    padding: 15px;
    border: 1px solid #000;
}

@media (max-width: 959px) {
    .pagination {
        position: relative;
        padding-bottom: 70px;
    }

    .pagination .prev,
    .pagination .next {
        position: absolute;
        bottom: 0;
    }

    .pagination .prev {
        left: 0;
    }

    .pagination .next {
        right: 0;
    }
}

/*==========================================================================*/
/*==カテゴリー  ここまで==*/
/*==========================================================================*/

/*==========================================================================*/
/*==アクセスマップ==*/
/*==========================================================================*/

.access_changemap_wrap {
    background: #333;

}

.access_changemap_contents {
    padding: 15px;
}

.access_changemap_labels {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.access_changemap_labels>label {
    background: #EFEFEF;
    padding: 10px;
    text-align: center;
}

.access_changemap_labels>label>span {
    display: inline-block;
    position: relative;
    padding: 0 22px 0 0;
}

.access_changemap_labels>label>span::after {
    content: "";
    position: absolute;
    right: 0;
    width: 15px;
    height: 11px;
    clip-path: polygon(0% 0%, 100% 0, 50% 100%);
    background: #333;
    transform: translateY(-50%);
    top: 50%;
}

.access_changemap_contents .access_changemap_content {
    display: none;
}

#change_googlemap:checked~.access_changemap_labels label[for="change_googlemap"],
#change_illustmap:checked~.access_changemap_labels label[for="change_illustmap"] {
    background: #333;
    color: #fff;
}

#change_googlemap:checked~.access_changemap_labels label[for="change_googlemap"]>span::after,
#change_illustmap:checked~.access_changemap_labels label[for="change_illustmap"]>span::after {
    background: #fff;
}

#change_googlemap:checked~.access_changemap_contents .access_changemap_content:nth-child(1),
#change_illustmap:checked~.access_changemap_contents .access_changemap_content:nth-child(2) {
    display: block;
}

.access_changemap_content {
    position: relative;
    height: 500px;
    width: 100%;
}

.access_changemap_content iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.route__slide__wrap {
    margin-top: -60px;
    padding: 60px;
    position: relative;
}

.route__slide {}

/* ページネーション共通のスタイル */
.route__slide__wrap .swiper-pagination-bullet {
    background-color: #333;
    color: #fff;
    font-size: 16px;
    height: 30px;
    line-height: 28px;
    transition: transform .2s linear;
    width: 30px;
    letter-spacing: 0;
    border-radius: 0;
}

/* 現在のページネーションのスタイル */
.route__slide__wrap .swiper-pagination-bullet-active {
    background-color: #333;
    color: #fff;
}

/* ページネーションの余白(位置) */
.route__slide__wrap .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.route__slide__wrap .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0px 10px 0;
    position: relative;
}

/* 画像のサイズ調整 */
.route__slide .swiper-slide img {
    height: auto;
    width: 100%;
}

.route__slide__wrap .swiper-button-next,
.route__slide__wrap .swiper-button-prev {
    width: 20px;
    height: 20px;
    color: #000;
}

/*==========================================================================*/
/*==アクセスマップ ここまで==*/
/*==========================================================================*/

/*===================================================
ポップアップ
===================================================*/

.modalArea {
    display: none;
    position: fixed;
    z-index: 5000;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.modalBg {
    width: 100%;
    height: 100%;
    background-color: rgba(30, 30, 30, 0.9);
}

.modalWrapper {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
    /* max-width: 500px; */
    padding: 10px 30px;
    background-color: #fff;
    max-height: 100vh;
}

.modalWrapper.large {
    max-width: unset;
}

.modalWrapper h1 {
    font-size: 120%;
    font-weight: bold;
}

.closeModal {
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    cursor: pointer;
}

@media (max-width: 959px) {
    .modalWrapper {
        overflow: scroll;
    }
}
@media (max-width: 559px) {
    .modalWrapper {
        width: 90%;
        max-width: unset !important;
    }
}

.contactForm_box {
    max-width: fit-content;
    margin: auto;
}

.input-box {
    margin-bottom: 30px;
}

.input-box .error-message {


    display: none;
    color: #f00;
    font-size: 90%;
}

.input-box .wpcf7-not-valid-tip {
    display: none;
}

.input-box:has(.wpcf7-not-valid-tip) .error-message {
    display: block;
}

.input-wrappr {
    position: relative;
    width: 100%;
    max-width: 400px;
    border: 1px solid #c8ccd4;
}

.input-wrappr input {
    -webkit-appearance: none;
    width: 100%;
    border: 0;
    font-family: inherit;
    padding: 0.5em;
    height: 2.5em;
    font-size: 16px;
    font-weight: 500;
    background: none;
    border-radius: 0;
    transition: all 0.15s ease;
}


.input-wrappr .input-name {
    position: absolute;
    inset: 0.3em auto auto 1em;
    transform-origin: 0 0;
    transition: all 0.2s ease;
}

.input-wrappr:has(textarea) .input-name,
.input-wrappr:has(select) .input-name,
.input-wrappr:has(input:focus) .input-name,
.input-wrappr:has(input:hover) .input-name,
.input-wrappr:has(input:not(:placeholder-shown)) .input-name {
    font-size: .8em;
    /*    inset -1em; auto auto 1em;*/
    inset: -1em auto auto 1em;
    background: #fff;
    padding: 0 .5em;
}

.input-wrappr select {
    border: 0;
    padding: 15px 0.2em 10px 0.2em;
    width: 100%;
}

.input-wrappr textarea {
    border: 0;
    padding: 15px 0.2em 10px 0.5em;
    width: 100%;
    height: 200px;
}

/*
.input-wrappr:has(input:focus) .input-name {
  color: #07f;
  transform: translateY(-26px) scale(0.75);
}
*/

.contactForm_box_btn {
    text-align: center;
}

.contactForm_box_btn input {
    -webkit-appearance: none;
    padding: 15px 20px;
    background: #008a92;
    border: 0;
    color: #fff;
    min-width: 200px;
    border-radius: 30px;
    font-size: 18px;
    cursor: pointer;
}

.contactForm_box_btn input:hover {
    opacity: 0.7;
}

.contactForm_box_btn .remove_btn {
    border: 1px solid #008a92;
    background: #fff;
    color: #008a92;
    margin-top: 40px;
}

.contactForm_box table {
    margin-bottom: 30px;
}

.contactForm_box table th,
.contactForm_box table td {
    padding: 0.8em 1em;
    text-align: left;
}

.contactForm_box table tr:nth-child(2n+1) th,
.contactForm_box table tr:nth-child(2n+1) td {
    background: #eee;
}

.contactForm_box .wpcf7-spinner {
    position: absolute;
}
@media (min-width: 960px){
  .contactForm_box table th {
    min-width: 12em;
  }
}
@media (max-width: 959px){
  .contactForm_box table th,
  .contactForm_box table td {
    display: block;
  }
}



/*===================================================
お問い合わせバナー
===================================================*/

.bnr_contact {
    background-image: linear-gradient(to right, #00b9c2, #009ba3);
    color: #fff;
    padding: 80px 5%;
    text-align: center;
}

.bnr_contact h2 {
    font-size: 36px;
    margin-bottom: 24px;
}

.bnr_contact .text {
    margin-bottom: 48px;
    color: rgb(219, 234, 254);

}

.bnr_contact_btn {
    display: grid;
    /* grid-template-columns: 1fr 1fr; */
    gap: 20px;
    margin: auto;
    max-width: fit-content;
    font-size: 18px;
}

.bnr_contact_btn a {
    border-radius: 8px;
    position: relative;
    padding-left: 37px;
    padding: 20px 40px 20px 77px;
    display: block;
    text-decoration: none;
}

.bnr_contact_btn .tel a {
    background: #fff;
    color: rgba(0, 185, 194, 1);
}

.bnr_contact_btn .web a {
    background: rgb(0, 138, 146);
    color: #fff;
}

.bnr_contact_btn a::before {
    content: "";
    position: absolute;
    left: 34px;
    width: 25px;
    top: 0;
    bottom: 0;
    display: grid;
    align-items: center;
    font-family: remixicon;
    font-size: 24px;
}

.bnr_contact_btn .tel a::before {
    content: "\efec";
}

.bnr_contact_btn .web a::before {
    content: "\eb27";
}

@media (max-width: 959px) {
    .bnr_contact h2 {
        font-size: 26px;
    }

    .bnr_contact_btn {
        display: block;
    }

    .bnr_contact_btn .tel {
        margin-bottom: 20px;
    }
}


/* ポップアップ調整
---------------------------------------*/

.openModalBox {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
}

.openModalBox:hover {
    opacity: 0.7;
}

/*ポップアップ*/
.popup {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: .6s;
}

.popup.is-show {
    opacity: 1;
    visibility: visible;
}

.popup.close {
    display: none !important;
}

.popup_inner {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 700px;
    box-sizing: border-box;
    z-index: 2;
    padding: 30px;
    /*  border: 1px solid rgba(90,57,50,0.30);*/
    background: #fff;
    font-family: "noto sans jp", sans-serif;
}

.popup_inner img {
    max-width: 100%;
    height: auto;
    width: auto\9;
    /* ie8 */
    border-top-style: none;
    border-right-style: none;
    border-bottom-style: none;
    border-left-style: none;
    vertical-align: top;
}

.close_btn {
    position: absolute;
    right: 0;
    bottom: 100%;
    margin-bottom: 15px;
    width: 3%;
    padding-top: 3%;
    background: url(../img/common/close.png) center bottom no-repeat;
    background-size: contain;
    cursor: pointer;
    display: block;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.close_btn:hover {
    opacity: 0.5;
}

.popup_background {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, .8);
    z-index: 1;
    cursor: pointer;
}

.popup_background_black {
    background-color: rgba(0, 0, 0, .5);
}

.popup_time .time_table {
    width: 100%;
}

.popup_content {
    max-height: 30vw;
    overflow: auto;
}

.popup_content h2 {
    line-height: 1.4;
    margin-bottom: 20px;
}

.popup_content p {
    margin-bottom: 20px;
}

.list_text>li {
    line-height: 1.5em;
    margin-bottom: 0.5em;
    padding-left: 1.5em;
    position: relative;
}

.list_text>li:last-child {
    margin-bottom: 0;
}

.list_text li .num {
    margin-left: -1.2em;
}

.list_text_title {
    font-size: 105%;
    margin-bottom: 0.5em;
    font-weight: bold;
}

.popup_box_flex {
    display: flex;
    justify-content: space-between;
}

.popup_box_flex>div {
    flex-basis: 48%;
}

.popup_box_btn {
    display: block;
    padding: 20px;
    border: 1px solid #ff9201;
    background: #ff9201;
    color: #fff;
    position: relative;
    font-family: "Times New Roman", Times, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    line-height: 1.4;
}

.popup_box_btn_title {
    display: block;
    font-size: 130%;
    font-weight: bold;
}

.popup_box_btn_contents {
    display: block;
    font-size: 130%;
}

.popup_box_btn::before {
    content: "";
    position: absolute;
    right: 5px;
    bottom: 5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 20px 20px;
    border-color: transparent transparent #fff transparent;
}

.popup_box_btn:hover {
    opacity: 0.7;
}


/* タブレット
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
    .popup_content {
        height: 50vw;
    }
}

/* モバイル
------------------------------------------*/
@media only screen and (max-width: 767px) {

    .popup_content {
        /*	height: 350px; */
        max-height: 90vh;
    }

    .popup_content h2 {
        font-size: 20px;
    }

    .popup_box_flex {
        display: block;
    }

    .popup_box_flex>div {
        flex-basis: 100%;
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 450px) {
    .popup_content h2 {
        font-size: 4.5vw;
    }
}

@media only screen and (max-width: 450px) {
    .popup_box_btn {
        padding: 2vw;
    }
}



.timetable {
    width: 100%;
    text-align: center;
    max-width: 700px;
    margin: auto;
}

.timetable th,
.timetable td {
    padding: 20px 15px;
    color: rgb(55, 65, 81);
}

.timetable thead :is(th, td) {
    border-bottom: rgba(0, 185, 194, 0.1) 3px solid;
    font-weight: bold;
}

.timetable tbody tr:first-child :is(th, td) {
    border-bottom: rgba(0, 185, 194, 0.1) 1px solid;
}

.timetable tbody th {
    font-weight: bold;
}

.timetable tbody td {
    color: rgb(0, 185, 194);
}

@container (max-width: 500px) {

    .timetable th,
    .timetable td {
        padding: 15px 5px;
        vertical-align: middle;
    }
}
@media (max-width: 559px) {
    .modalContents .timetable {
        display: grid;
        grid-template-columns: 3em auto auto;
    }
    .modalContents .timetable thead,
    .modalContents .timetable tbody {
		display: contents;
	}
	
	.modalContents .timetable tr{
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 8;
	}
	.modalContents .timetable th,
	.modalContents .timetable td{
		padding: 5px;
	}
    .timetable thead :is(th, td){
		border-bottom-width: 1px;
	}
    .modalContents .timetable tr {
        /* display: contents; */
    }
	.timetable tbody th,
	.timetable tbody td {
	    border-bottom: rgba(0, 185, 194, 0.1) 1px solid;
		vertical-align: middle;
		line-height: 1.4;
	}
}

.lower main {
    padding: 60px 0 0;
}

.highlighter {
    background: linear-gradient(180deg, rgba(255, 255, 0, 0) 60%, rgb(255, 255, 0) 60%);
}

.googlemap_container {
    position: relative;
    padding-top: 40%;
    min-height: 300px;
}

.googlemap_container iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
@media (min-width: 960px){
    .google_mymap .googlemap_container {
        padding-top: 70%;
    }
}

.bg_blue_gradation {
    background: linear-gradient(rgb(239, 246, 255), rgb(255, 255, 255));
    padding: 60px 0;
}


.feature_box {
    background: #fff;
    padding: 20px;
    border-radius: 20px;
    margin-bottom: 50px;
}
.feature_box_whitening {
  margin-bottom: 20px;
}
.feature_box_item {
    position: relative;
    padding-left: 90px;
}

.feature_box_item dt {
    /* font-size: 130%; */
    font-size: 120%;
    font-weight: bold;
    margin-bottom: 10px;
}

.feature_box_item::before,
.feature_box_item::after {
    content: "";
    position: absolute;
    width: 64px;
    height: 64px;
    left: 0;
    top: 0;
}

.feature_box_item::before {
    z-index: 2;
    display: grid;
    align-items: center;
    justify-self: center;
    line-height: 1;
    color: rgba(0, 185, 194, 1);
    font-family: remixicon;
    text-align: center;
    font-size: 150%;
}

.feature_box_item::after {
    content: "";
    z-index: 1;
    border-radius: 50%;
    background: rgba(0, 185, 194, 0.1);
}

@media (max-width: 559px){
    .feature_box_item_sp dd {
        margin-left: -90px;
    }
}

.feature_box_vertical {
    background: #fff;
    padding: 20px;
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px;
}
.feature_box_vertical_item {
    position: relative;
    padding-top: 90px;
}
.feature_box_vertical_item dt {
    font-weight: bold;
    margin-bottom: 10px;
  text-align: center;
}

.feature_box_vertical_item::before,
.feature_box_vertical_item::after {
    content: "";
    position: absolute;
    width: 64px;
    height: 64px;
    left: 50%;
    top: 0;
    translate: -50% 0;
}

.feature_box_vertical_item::before {
    z-index: 2;
    display: grid;
    align-items: center;
    justify-self: center;
    line-height: 1;
    color: #fff;
    font-family: remixicon;
    text-align: center;
    font-size: 150%;
}

.feature_box_vertical_item::after {
    content: "";
    z-index: 1;
    border-radius: 50%;
    background: rgba(0, 185, 194, 1);
}

.icon_tooth::before {
    content: "\f51a";
}

.icon_heart::before {
    content: "\ee11";
}

.icon_heart2::before {
    content: "\ee0f";
}

.icon_syringe::before {
    content: "\f1d1";
}

.icon_circle::before {
    content: "\ebd4";
}

.icon_time::before {
    content: "\f20f";
}

.icon_shield::before {
    content: "\f100";
}

.icon_family::before {
    content: "\efca";
}

.icon_bite::before {
    content: "\ea2a";
}

.icon_face::before {
    content: "\00EC8D";
}

.icon_home::before {
    content: "\ee2f";
}

.icon_office::before {
    content: "\ee37";
}

.icon_star::before {
    content: "\f18f";
}
.icon_search::before {
  content: "\f0cf";
}
.icon_maintenance::before {
  content: "\f21b";
}
.icon_bright::before {
  content: "\f36d";
}
.icon_care::before {
  content: "\f263";
}
.icon_nosound::before {
    content: "\F29E";
}
.icon_eye::before {
    content: "\ECB5";
}
.icon_virus::before {
    content: "\F293";
}
.icon_mist::before {
    content: "\EF5D";
}
.icon_leaf::before {
    content: "\EEA3";
}
.icon_brain::before  {
    content: "\F2F7";
}
.icon_ruler::before  {
    content: "\F0A3";
}
.icon_stethoscope::before {
    content: "\F197";
}
.icon_scissors::before {
    content: "\F0C1";
}

.icon_number::before {
	content: attr(data-num);
	font-weight: bold;
}

.ico_underbite::before,
.ico_overbite::before,
.ico_irregularteeth::before,
.ico_gapteeth::before,
.ico_closedbite::before {
    content: "";
    background-size: contain;
    scale: 75% 75%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

.ico_underbite::before {
    background-image: url(../../uploads/2025/12/ico_underbite.svg);
}

.ico_overbite::before {
    background-image: url(../../uploads/2025/12/ico_overbite.svg);
}

.ico_irregularteeth::before {
    background-image: url(../../uploads/2025/12/ico_irregularteeth.svg);
}

.ico_gapteeth::before {
    background-image: url(../../uploads/2025/12/ico_gapteeth.svg);
}

.ico_closedbite::before {
    background-image: url(../../uploads/2025/12/ico_closedbite.svg);
}



.feature_box_list {
    margin-top: 20px;
    padding: 15px;
    background: rgba(0, 185, 194, 0.1);
    border-radius: 15px;

}

.feature_box_list_title {
    display: block;
    line-height: 1.1;
    font-weight: bold;
}

.checkbox_list>li {
    padding-left: 20px;
    position: relative;
    font-size: 16px;
}

.checkbox_list>li::before {
    content: "\eb80";
    position: absolute;
    left: 0;
    top: 0.1em;
    color: rgba(0, 185, 194, 1);
    font-family: remixicon;
}


.checkbox_list_simple>li {
    padding-left: 20px;
    position: relative;
    margin-bottom: 10px;
}

.checkbox_list_simple>li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.5em;
    border-left: 2px solid rgba(0, 185, 194, 1);
    border-bottom: 2px solid rgba(0, 185, 194, 1);
    width: 10px;
    height: 5px;
    rotate: -45deg;
}


@media (min-width: 960px) {
    .feature_box_wrap {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 50px;
    }

    .feature_box_wrap_3 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: 20px;
    }

    .feature_box {
        margin-bottom: 0;
    }
}

.list_number {
    counter-reset: num;
}

.list_number>li {
    position: relative;
    padding: 0px 0px 0px 50px;
    counter-increment: num;
    margin-bottom: 20px;
}

.list_number>li::before {
    content: counter(num);
    position: absolute;
    background: rgb(0, 185, 194);
    color: #fff;
    display: grid;
    align-items: center;
    justify-content: center;
    text-align: center;
    left: 0;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    text-align: center;
    top: 50%;
    translate: 0 -50%;
}

.list_number_box {
    counter-reset: num;
}

.list_number_box>li {
    position: relative;
    padding: 20px 20px 20px 70px;
    border-radius: 5px;
    background: #fff;
    counter-increment: num;
    margin-bottom: 20px;
}

.list_number_box>li::before {
    content: counter(num);
    position: absolute;
    background: rgb(0, 185, 194);
    color: #fff;
    display: grid;
    align-items: center;
    justify-content: center;
    text-align: center;
    left: 20px;
    width: 2em;
    height: 2em;
    border-radius: 50%;
    text-align: center;
    top: 50%;
    translate: 0 -50%;
}

.box_w {
    background: #fff;
    padding: 20px;
    border-radius: 15px;
}

.box_b {
    background: rgba(0, 185, 194, 0.1);
    padding: 20px;
    border-radius: 15px;
}

.box_b2 {
    background: rgba(0, 185, 194, 0.2);
    padding: 20px;
    border-radius: 15px;
}

.box_b2 .feature_box_item::before {
    color: #fff;
}

.box_b2 .feature_box_item::after {
    background: rgba(0, 185, 194, 1);
}

.ico_attention {
    font-size: 130%;
    font-weight: bold;
    text-align: left;
    padding-left: 1.5em;
    position: relative;
    margin-bottom: 20px;
    ;
}

.ico_attention::before {
    position: absolute;
    content: "\ea21";
    color: rgba(0, 185, 194);
    left: 0;
    top: 50%;
    translate: 0 -50%;
    font-family: remixicon;
}

@media (min-width: 960px) {
    .grid2 {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 2em;
    }

    .grid3 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: 2em;
    }
}

@media (max-width: 959px) {

    .grid2>div,
    .grid3>div {
        margin-bottom: 32px;
    }
}

.checkbox_style {
    background: rgba(0, 185, 194, 0.1);
    padding: 15px 15px 15px 35px;
    position: relative;
    border-radius: 10px;
}

.checkbox_style::before {
    content: "\eb80";
    font-family: remixicon;
    color: rgb(0, 185, 194);
    left: 10px;
    position: absolute;
}

.frame01 {
    background: rgb(0, 185, 194);
    color: #fff;
    padding: 20px;
    border-radius: 15px;
}

img.aligncenter {
    display: block;
    max-width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.icon_img {
    width: 150px;
    height: 150px;
    margin: 0 auto 20px;
}

.icon_img img.aligncenter {
    max-width: 100%;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.box_attention {
    border-left: 4px solid rgb(251 146 60);
    padding: 32px;
    border-radius: 8px 0 0 8px;
    background: rgba(255, 247, 237, 1);
}

.box_attention dt {
    padding-left: 40px;
    margin-bottom: 20px;
    font-weight: bold;
    font-size: 120%;
    position: relative;
}

.box_attention dt::before {
    content: "\ea21";
    font-family: remixicon;
    position: absolute;
    left: 0;
    color: rgb(234, 88, 12);
    font-size: 160%;
    font-weight: normal;
    line-height: 1;
}

.box_attention dd {
    padding-left: 30px;
    position: relative;
    margin-bottom: 15px;
}

.box_attention dd:last-child {
    margin-bottom: 0;
}

.box_attention dd::before {
    content: "\eb97";
    font-family: remixicon;
    position: absolute;
    left: 0;
    color: rgb(234, 88, 12);
    font-weight: normal;
}


/* インプラントなど
-------------------------------------*/
.flowstyle01>dl {
    padding-bottom: 90px;
    position: relative;
}

.flowstyle01>dl>dt {
    margin-bottom: 10px;
    color: rgb(0, 185, 194);
    font-weight: bold;
}

.flowstyle01>dl>dd {
    padding: 20px;
    background: rgba(0, 185, 194, 0.2);
}

.flowstyle01>dl::after {
    content: "";
    position: absolute;
    width: 100px;
    height: 40px;
    background: rgb(0, 185, 194);
    left: 50%;
    margin: 0 0 20px -50px;
    bottom: 0;
    clip-path: polygon(0 0, 100% 0%, 50% 100%);
}

.flowstyle01>dl:last-child {
    padding-bottom: 0;
}

.flowstyle01>dl:last-child::after {
    content: none;
}

.price_table {
    margin: 0 auto 20px;
}

.price_table thead th,
.price_table thead td {
    padding: 15px 30px;
    vertical-align: middle;
    border-right: 1px solid #fff;
    background: rgba(0, 185, 194, 0.1);
    text-align: center;
}

.price_table tbody th,
.price_table tbody td {
    padding: 15px 30px;
    border-bottom: 1px solid #00acb4
}

.price_table tbody th {
    text-align: left;
}

@media (min-width: 720px) {
    .price_table {
        width: 700px;
    }
}
@media (max-width: 559px) {
  .price_table {
    width: 100%;
  }
  .price_table thead {
    display: none;
  }
  .price_table tr {
  }
  .price_table tbody th,
  .price_table tbody td {
    display: block;
    background: #e5f8f9;
        border-bottom: 0;
  }
  .price_table td {
    text-align: right;
  }
  .price_table tbody th {
    border-radius: 20px 20px 0 0;
        padding-bottom: 0;
  }
  .price_table tbody td {
    margin-bottom: 30px;
    border-radius: 0 0 20px 20px;
        text-decoration: underline;
        text-underline-offset: 2px;
        text-decoration-thickness: 6px;
        text-decoration-color: #008a92;
        text-underline-position: auto;
  }
}

.price_text {
    max-width: fit-content;
    margin-left: auto;
    position: relative;
    background: linear-gradient(180deg, #fff 80%, rgb(0, 138, 146) 80%);
    padding: 0 1px 0;
    margin-top: -15px;
}

.left_img {
    padding-left: 140px;
    position: relative;
    min-height: 120px;
    margin-bottom: 40px;
}

.left_img_box {
    position: absolute;
    width: 120px;
    height: 120px;
    left: 0;
}

.left_img_box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}



@media (max-width: 559px) {
    /* .left_img {
        padding: 150px 0 0 0;
    }

    .left_img_box {
        top: 0;
        left: 50%;
        translate: -50% 0;
    } */
	.left_img {
		padding: 0;
	}
	.left_img strong {
	    padding-left: 120px;
		min-height: 100px;
		display: grid;
		margin-bottom: 20px;
		align-items: center;
	}
	.left_img strong + br {
		display: none;
	}
	
	.left_img_box {
		width: 100px;
		height: 100px;
	}
}
.list_attention>li {
    position: relative;
    padding-left: 1.6em;
    margin-bottom: 5px;
}

.list_attention>li::before {
    content: "\ea21";
    position: absolute;
    left: 0;
    font-family: remixicon;
    color: rgb(220, 38, 38);
    font-size: 120%;
    top: 50%;
    translate: 0 -50%;
}

@media (min-width: 960px) {
    .greeting_page .post_custom_box {
        display: grid;
        align-items: center;
        margin: 0 -40px 0;
    }

    .greeting_page .post_custom_box .post_custom_content {
        float: none;
        width: 60%;
        grid-area: 1/ -1;
        padding: 40px;
        position: relative;
        z-index: 5;
    }

    .greeting_page .post_custom_box .post_custom_img {
        float: none;
        width: 60%;
        grid-area: 1/ -1;
        margin-left: auto;
        position: relative;
        overflow: hidden;
        z-index: 1;
    }

    .greeting_page .post_custom_box .post_custom_img img {
        scale: 1.3;
        transform-origin: 20%;
    }

    .greeting_page .post_custom_box .post_custom_img::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 20%;
        background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, .8) 50%, rgba(255, 255, 255, 0) 100%);
        z-index: 2;
    }
}

.list_dot > li {
  position: relative;
  padding-left: 14px;
}
.list_dot > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.8em;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #000;
}

.list_dot02 {
    margin-bottom: 1em;
}
.list_dot02 > li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 0.5em;
}
.list_dot02 > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 0.5em;
  height: 0.5em;
  border-radius: 50%;
  background: #000;
}

.checkbox_list_box {
	display: grid;
	grid-template-columns:  1fr;
	gap: 40px;
}
.checkbox_list_box > li {
	padding: 25px;
	background: rgba(0,138,146,0.2);
	border-radius: 20px;
    line-height: 1.8;
}
.checkbox_list_box_title {
	padding-left: 2em;
	position: relative;
	margin-bottom: 1em;
	color: rgba(0,138,146,1);;
	font-weight: bold;
	
}
.checkbox_list_box_title::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 20px;
	height: 15px;
	border-left: 5px solid rgba(0,138,146,1);
	border-bottom: 5px solid rgba(0,138,146,1);
	rotate: -45deg;
}

.btn01 {
	text-align: right;
}
.btn01 a {
	display: inline-block;
	padding: 0px 0 2px 20px;
	text-decoration: none;
	border-bottom: 1px solid rgba(0,138,146,1);
	color: rgba(0,138,146,1);
	position: relative;
}
.btn01 a::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 3px solid rgba(0,138,146,1);
	border-bottom: 3px solid rgba(0,138,146,1);
	rotate: -45deg;
	translate: 0 -50%;
}



.footer__creditcard__wrap {
    /* margin-top: 24px; */ 
    text-align: center;
    background: rgba(0, 100, 139, 0.2);
    padding: 10px;
    line-height: 1.4;
}
.footer__creditcard {
    display: grid;
    grid-template-columns: repeat(5, auto);
    gap: 0 10px;
    max-width: fit-content;
    margin: 0 auto;
    padding: 10px 0;
}
.footer__creditcard > div {
	height: 100%;
	display: grid;
	align-items: center;
	background: #fff;
}
.footer__creditcard > div img {
	max-height: 100%;
	width: auto;
  height: 55px;
	object-fit: contain;
}

.footer__creditcard > .visa img {
    height: 30px;
}
.footer__creditcard > .diners {
    background: none;

}
@media (min-width: 960px){
    .footer__creditcard__wrap {
        max-width: fit-content;
    }
}
@media (max-width: 959px){
  .footer__creditcard__wrap {
    margin-bottom: 20px;
  }
  .footer__creditcard {
    justify-content: center;
  }
}
@media (max-width: 459px){
    .footer__creditcard {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px 10px;
        justify-content: center;
    }
    .footer__creditcard > .visa {
        padding: 5px;
    }
}




.dot_box_wrap {
	display: grid;
	padding: 40px;
	background: rgba(0,185,194,0.1);
}
.dot_box {
	display: grid;
	grid-template-columns: 20em 1fr;
    margin-bottom: 40px;
}
.dot_box:last-child {
    margin-bottom: 0;
}
.dot_box dt {
    display: grid;
    grid-template-columns: auto 1fr;
}
.dot_box dt .dot {
    position: relative;
}
.dot_box dt .dot::before {
  content: "";
  position: absolute;
  border-bottom: 4px dotted #bdbdbd;
  height: 5px;
  left: 20px;
  right: 20px;
  top: 0.6em;
  transform: translate(0, -50%);
}
@media (max-width: 959px){
    .dot_box {
        display: block;
    }
    .dot_box dt {
        display: block;
    }
    .dot_box dt .dot::before { 
        display: none;
    }
    .dot_box dd {
        padding-left: 4em;
        position: relative;
    }
    .dot_box dd::before {
        content: "";
        position: absolute;
        border-bottom: 4px dotted #bdbdbd;
        height: 5px;
        left: 0;
        width: 3.5em;
        top: 0.7em;
        transform: translate(0, -50%);
    }
}
@media (max-width: 559px){
    .dot_box dt {
        font-weight: bold;
    }
    .dot_box dd {
        padding-left:0;
    }
    .dot_box dd::before {
        content: none;
    }
}

.em_star_box {
    background:  rgba(0,185,194,0.1);
    padding: 20px;
    border-radius: 8px;
}
.em_star {
    position: relative;
    padding-left: 1.5em;
    margin-bottom: 0.2em;
    font-weight: bold;
}
.em_star::before {
    content: "\F18B";
    left: 0;
    position: absolute;
    font-family: remixicon;
    color: rgb(0,185,194);
}

.privacy_btn {
    text-align: center;
}
.privacy_btn a {
    text-decoration: none;
    display: inline-block;
    padding: 0 25px 0 0;
    position: relative;
    color: #000;
    border-bottom: 1px solid #000;
    margin-bottom: 10px;
}
.privacy_btn a::before {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    width: 10px;
    height: 10px;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    rotate: 135deg;
    margin-top: -5px;
}


.notice_list > li {
    padding-left: 1em;
    position: relative;
}
.notice_list > li::before {
    content: "\00203b";
    position: absolute;
    left: 0;
}


.ico_car {
	padding-left: 52px;
	position: relative;
	line-height: 1.6;
	display: grid;
	align-items: center;
	min-height: 40px;
	margin-bottom: 10px;
    font-weight: bold;
    font-size: 110%;
}
.ico_car::before,
.ico_car::after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 40px;
	height: 40px;
}
.ico_car::before {
	mask: url('data:image/svg+xml;base64,PCEtLT94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPy0tPgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTUuMS4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+Cgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9Il94MzJfIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9IndpZHRoOiAyNTZweDsgaGVpZ2h0OiAyNTZweDsgb3BhY2l0eTogMTsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoKCS5zdDB7ZmlsbDojNEI0QjRCO30KCjwvc3R5bGU+CjxnPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTM0LjMxMywyMDMuNWMyLjI5Ny01LjAzMSw2LjcwMy0xMy4yOTcsMTQuNDIyLTI3LjgxM2MzLjU0Ny02LjY4OCw3LjUxNi0xNC4wNjMsMTEuNTc4LTIxLjYyNUgyNC43MTkKCQlDMTEuMDc4LDE1NC4wNjMsMCwxNjUuMTA5LDAsMTc4Ljc4MUMwLDE5Mi40MzgsMTEuMDc4LDIwMy41LDI0LjcxOSwyMDMuNUgzNC4zMTN6IiBzdHlsZT0iZmlsbDogcmdiKDc1LCA3NSwgNzUpOyI+PC9wYXRoPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTQ4Ny4yODEsMTU0LjA2M2gtMzUuNTk0YzQuMDc4LDcuNTYzLDguMDMxLDE0LjkzOCwxMS41NzgsMjEuNjI1YzcuNzE5LDE0LjUxNiwxMi4xMDksMjIuNzgxLDE0LjQyMiwyNy44MTMKCQloOS41OTRjMTMuNjQxLDAsMjQuNzE5LTExLjA2MywyNC43MTktMjQuNzE5QzUxMiwxNjUuMTA5LDUwMC45MjIsMTU0LjA2Myw0ODcuMjgxLDE1NC4wNjN6IiBzdHlsZT0iZmlsbDogcmdiKDc1LCA3NSwgNzUpOyI+PC9wYXRoPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTM5LjM5MSw0MTcuNzgxYzAsMTguNDA2LDE0LjkzOCwzMy4zMjgsMzMuMzI4LDMzLjMyOGMxOC40MDYsMCwzMy4zMTMtMTQuOTIyLDMzLjMxMy0zMy4zMjh2LTMxLjUxNkgzOS4zOTEKCQlWNDE3Ljc4MXoiIHN0eWxlPSJmaWxsOiByZ2IoNzUsIDc1LCA3NSk7Ij48L3BhdGg+Cgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNNDA1LjkzOCw0MTcuNzgxYzAsMTguNDA2LDE0LjkzOCwzMy4zMjgsMzMuMzQ0LDMzLjMyOHMzMy4zMjgtMTQuOTIyLDMzLjMyOC0zMy4zMjh2LTMxLjUxNmgtNjYuNjcyVjQxNy43ODF6CgkJIiBzdHlsZT0iZmlsbDogcmdiKDc1LCA3NSwgNzUpOyI+PC9wYXRoPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTQ2Ny44NzUsMjA5LjY4OGMxLjY4OCwwLjUtNjEuNjg4LTExNS44MTMtNjQuNzE5LTEyMi4wOTRjLTgtMTYuNjU2LTI3Ljc4MS0yNi43MDMtNDcuMDYzLTI2LjcwMwoJCWMtMjIuMjgxLDAtODQuMzQ0LDAtODQuMzQ0LDBzLTkzLjU2MywwLTExNS44NTksMGMtMTkuMjk3LDAtMzkuMDMxLDEwLjA0Ny00Ny4wNjMsMjYuNzAzCgkJYy0zLjAzMSw2LjI4MS02Ni4zNzUsMTIyLjU5NC02NC43MDMsMTIyLjA5NGMwLDAtMjAuNSwyMC40NTMtMjIuMDYzLDIyLjA5NGMtOC42MjUsOS4yNjYtOCwxNy4yODEtOCwyNS4zMTNjMCwwLDAsNzUuMjgxLDAsOTIuNTYzCgkJYzAsMTcuMjY2LDMuMDc4LDI2LjcxOSwyMy40MzgsMjYuNzE5aDQzN2MyMC4zNTksMCwyMy40NTMtOS40NTMsMjMuNDUzLTI2LjcxOWMwLTE3LjI4MSwwLTkyLjU2MywwLTkyLjU2MwoJCWMwLTguMDMxLDAuNjA5LTE2LjA0Ny04LjA0Ny0yNS4zMTNDNDg4LjQwNiwyMzAuMTQxLDQ2Ny44NzUsMjA5LjY4OCw0NjcuODc1LDIwOS42ODh6IE05Ni41NjMsMTc0LjAxNgoJCWMwLDAsNDAuNzAzLTczLjMxMyw0My4xMDktNzguMTA5YzQuMTA5LTguMTg4LDE1LjgyOC0xNC4xMjUsMjcuODEzLTE0LjEyNWgxNzcuMDMxYzEyLDAsMjMuNzAzLDUuOTM4LDI3LjgxMywxNC4xMjUKCQljMi40MjIsNC43OTcsNDMuMTI1LDc4LjEwOSw0My4xMjUsNzguMTA5YzMuNzUsNi43NSwwLjQzOCwxOS4zMTMtMTAuNjcyLDE5LjMxM0gxMDcuMjE5CgkJQzk2LjEwOSwxOTMuMzI4LDkyLjgxMywxODAuNzY2LDk2LjU2MywxNzQuMDE2eiBNOTEuMTI1LDMzNy4wNjNjLTIwLjY1NiwwLTM3LjQwNi0xNi43MzQtMzcuNDA2LTM3LjM5MQoJCWMwLTIwLjY3MiwxNi43NS0zNy40MDYsMzcuNDA2LTM3LjQwNnMzNy4zOTEsMTYuNzM0LDM3LjM5MSwzNy40MDZDMTI4LjUxNiwzMjAuMzI4LDExMS43ODEsMzM3LjA2Myw5MS4xMjUsMzM3LjA2M3oKCQkgTTMxMi43ODEsMzQ3LjE3MmMwLDIuNzM0LTIuMjE5LDQuOTUzLTQuOTM4LDQuOTUzSDIwNC4xNzJjLTIuNzM0LDAtNC45NTMtMi4yMTktNC45NTMtNC45NTNWMzAxLjUKCQljMC0yLjcwMywyLjIxOS00LjkwNiw0Ljk1My00LjkwNmgxMDMuNjcyYzIuNzE5LDAsNC45MzgsMi4yMDMsNC45MzgsNC45MDZWMzQ3LjE3MnogTTQyMC44NzUsMzM3LjA2MwoJCWMtMjAuNjU2LDAtMzcuNDIyLTE2LjczNC0zNy40MjItMzcuMzkxYzAtMjAuNjcyLDE2Ljc2Ni0zNy40MDYsMzcuNDIyLTM3LjQwNnMzNy40MDYsMTYuNzUsMzcuNDA2LDM3LjQwNgoJCVM0NDEuNTMxLDMzNy4wNjMsNDIwLjg3NSwzMzcuMDYzeiIgc3R5bGU9ImZpbGw6IHJnYig3NSwgNzUsIDc1KTsiPjwvcGF0aD4KPC9nPgo8L3N2Zz4=') 50% 50% / 60% auto no-repeat;
	background: #ffffff;
	z-index: 2;
}
.ico_car::after {
	background: rgb(0, 185, 194);
	z-index: 1;
	border-radius: 50%;
}