@charset "UTF-8";
:root {
    --f-gothic: "游ゴシック体", "Yu Gothic", YuGothic, "Noto Sans JP", sans-serif;
    --f-notosans: "Noto Sans JP", sans-serif;
    --f-jp: "Noto Serif JP", serif;
    --f-en: "Lato", sans-serif;
    --main-color: #2dafb9;
    --clr1: #4c5858;
    --clr2: #ccc;
    --ttl_size: 28px;
    --wrapper: 112px;
}
body {
    background-color: #ffffff;
    -webkit-text-size-adjust: none;
    letter-spacing: 0.1em;
    color: var(--clr1);
    font-family: var(--f-gothic);
}
body::-webkit-scrollbar {
    display: block;
    width: 10px;
    height: 10px;
}
body::-webkit-scrollbar-track {
    border-radius: 10px;
    background: #fff;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
}
body::-webkit-scrollbar-thumb {
    border-radius: 10px;
    background: linear-gradient(to bottom, var(--clr2) 0%, var(--main-color) 50%, var(--clr2) 100%);
    box-shadow: inset 0 0 6px #fff;
}
body::-webkit-scrollbar-thumb:window-inactive {
    background: linear-gradient(to bottom, var(--clr2) 0%, var(--main-color) 50%, var(--clr2) 100%);
}
address,
blockquote,
button,
dd,
dt,
h1,
h2,
h3,
h4,
h5,
h6,
input,
li,
p,
pre,
select,
td,
textarea,
th {
    font-size: 100%;
    -webkit-text-size-adjust: none;
}
article,
aside,
figure,
footer,
header,
main,
nav,
picture,
section {
    display: block;
    padding: 0;
    margin: 0;
}
img {
    display: table;
    vertical-align: bottom;
    max-width: 100%;
    height: auto;
}
a:not(.tel_click) {
    color: inherit;
    font-family: inherit;
    font-weight: inherit;
    color: #64b5f7;
}
a.tel_click {
    text-decoration: none;
    color: inherit;
}
@media only screen and (min-width: 769px) {
    a:not([target*="_blank"]) {
        transition: opacity 0.3s ease;
    }
    a:not([target*="_blank"]):hover {
        opacity: 0.7;
    }
    a.tel_click {
        pointer-events: none;
    }
    a:not(.tel_click):active,
    a:not(.tel_click):hover {
        color: #64b5f7;
    }
}
.ft_logo a:hover,
.logo a:hover,
a.ft_logo:hover,
a.logo:hover,
a.tel_click:hover {
    opacity: 1 !important;
}
table {
    width: 100%;
}
iframe {
    width: 100%;
    height: 100%;
}
.captcha_box iframe {
    height: auto;
}
.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
p {
    line-height: 2.25;
    letter-spacing: 0.1em;
    word-wrap: break-word;
    word-break: break-word;
    margin-bottom: 15px;
}
p:empty {
    display: none !important;
}
p:last-child {
    margin-bottom: 0;
}
.red {
    color: #ca0a0a !important;
}
.bold {
    font-weight: bold !important;
}
.fl {
    float: left;
}
.fr {
    float: right;
}
*,
:after,
:before {
    box-sizing: border-box;
}
html {
    overflow-x: auto !important;
}
.wrapper {
    overflow: hidden;
}
.inner,
.inner_big,
.inner_max,
.inner_sm {
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}
.inner_max {
    max-width: 1480px;
}
.inner_big {
    max-width: 1320px;
}
.inner {
    max-width: 1210px;
}
.inner_sm {
    max-width: 1020px;
}
.fullWidthBreak {
    width: 100vw;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}
.txt_ver {
    writing-mode: vertical-rl;
}
@media only screen and (min-width: 769px) {
    .txt_ver_pc {
        writing-mode: vertical-rl;
    }
}
.alignnone {
    margin: 5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 35px;
}
.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}
.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}
a img.alignnone {
    margin: 5px 20px 20px 0;
}
a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}
a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}
.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}
.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}
.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}
.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}
.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}
.screen-reader-text:focus {
    background-color: #eee;
    clip: auto !important;
    clip-path: none;
    color: #444;
    display: block;
    font-size: 1em;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}
@media only screen and (max-width: 768px) {
    .pc_only {
        display: none !important;
    }
}
@media only screen and (min-width: 769px) {
    .sp_only {
        display: none !important;
    }
}
.TabContainer .TabContent {
    position: relative;
    z-index: 2;
    overflow: hidden;
}
.TabContainer .TabContent .content {
    transition: all 0.3s ease-in-out;
    background-color: #ccc;
}
.TabContainer .TabContent .content > div {
    opacity: 0;
    z-index: -10;
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    transition: all 0.5s ease-in-out;
}
.TabContainer .TabContent .content > div.active {
    opacity: 1;
    z-index: 1;
    visibility: visible;
}
.TabContainer .TabPager {
    display: flex;
    justify-content: center;
    width: 90%;
    margin: 0px auto;
    max-width: 1118px;
}
.TabContainer .TabPager > div {
    background-color: #a4c7ce;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    margin: 0;
    padding: 20px 20px;
    width: calc(50% - 0px);
    transition: all 0.3s ease;
    cursor: pointer;
    color: #ffffff;
    border-radius: 10px 10px 0px 0px;
}
.TabContainer .TabPager > div p {
    margin: 0;
    font-size: 1.5em;
    line-height: 2;
    border-bottom: 1px solid transparent;
}
.TabContainer .TabPager > div.active {
    background-color: #fff;
    z-index: 1;
    color: #3d9e81;
}
.TabContainer .TabPager > div.active p {
    border-bottom: 1px solid;
}
.rel {
    position: relative;
}
.ovh {
    overflow: hidden !important;
}
.ovs {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}
.lt0 {
    letter-spacing: 0 !important;
}
figure,
picture {
    text-align: center;
    line-height: 1;
}
.fblock {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.key {
    position: relative;
}
.txt_l {
    float: left;
    width: calc(100% - 385px);
}
.txt_r {
    float: right;
    width: calc(100% - 385px);
}
.link > a {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
}
.tel_click {
    display: table;
    text-decoration: none;
}
.tel_click .icon {
    display: flex;
    align-items: center;
    font-family: var(--f-en);
    font-weight: 700;
    color: var(--main-color);
    letter-spacing: 0.05em;
    font-size: 1.5em;
}
.tel_click .icon:before {
    content: "";
    display: block;
    margin-right: 0.3214em;
    margin-top: 0.1786em;
    width: 0.893em;
    height: 0.893em;
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 101' %3E%3Cpath d='M97.829,82.824 C98.198,91.823 96.073,94.826 87.308,97.205 C74.144,100.791 61.788,98.752 50.561,91.066 C33.671,79.497 19.384,65.207 7.912,48.225 C-0.287,36.096 -1.826,22.855 2.769,8.952 C4.752,2.953 8.059,0.771 14.407,0.925 C23.639,1.157 23.633,1.157 26.561,10.079 C27.869,14.063 29.100,18.078 30.561,22.007 C32.367,26.859 31.432,30.918 27.914,34.711 C22.303,40.765 22.378,40.854 26.680,47.891 C33.854,59.628 43.600,68.580 55.717,75.040 C57.758,76.123 59.178,76.250 60.774,74.416 C62.051,72.951 63.620,71.738 65.076,70.429 C68.123,67.696 71.576,66.743 75.537,68.072 C82.013,70.255 88.532,72.319 94.923,74.723 C96.087,75.162 97.048,76.900 97.511,78.240 C97.992,79.641 97.756,81.285 97.829,82.824 Z'/%3E%3C/svg%3E");
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% auto;
    -webkit-mask-size: 100% auto;
    mask-position: center;
    -webkit-mask-position: center;
    background-color: var(--main-color);
}
.en {
    font-family: var(--f-en);
}
.btn a {
    position: relative;
    color: var(--main-color);
    text-decoration: none;
    font-family: var(--f-jp);
}
.btn a:after {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    width: 0.625em;
    height: 0.875em;
    right: 1.8125em;
    top: calc(50% - 0.4375em);
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='19px' height='28px'%3E%3Cpath fill-rule='evenodd' fill='rgb(0, 0, 0)' d='M0.000,25.504 L12.842,14.133 L18.343,14.133 L3.669,27.777 L0.000,25.504 ZM13.185,14.120 L0.000,2.758 L3.669,0.485 L18.343,14.133 L13.185,14.120 Z'/%3E%3C/svg%3E");
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% auto;
    -webkit-mask-size: 100% auto;
    mask-position: center;
    -webkit-mask-position: center;
    background-color: var(--main-color);
}
.btn-group {
    font-size: 0.625em;
}
.btn-group .btn {
    font-size: 1em;
}
.btn-group .btn.style01,
.btn-group .btn.style03 {
    width: 100%;
    min-width: 180px;
    max-width: 408px;
    overflow: hidden;
}
.btn-group .btn.style01 a,
.btn-group .btn.style03 a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 70px;
    padding: 0.5em 1em;
    font-size: 1.6em;
    letter-spacing: 0.1em;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    background-color: #334ca0;
    transition: all 0.3s;
    border-radius: 35px;
    font-weight: 500;
    font-family: var(--f-notosans);
}
.btn-group .btn.style01 a:after,
.btn-group .btn.style03 a:after {
    background-color: #fff;
}
.btn-group .btn.style01 a:hover,
.btn-group .btn.style03 a:hover {
    opacity: 1;
    background-color: var(--main-color);
}
.btn-group .btn.style02 a {
    font-family: var(--f-gothic);
    color: var(--clr1);
    font-size: 1.8em;
    letter-spacing: 0.1em;
    font-weight: 500;
    padding-right: 4.444444em;
}
.btn-group .btn.style02 a:before {
    position: absolute;
    content: "";
    width: 3.3333333333em;
    height: 3.3333333333em;
    border-radius: 50%;
    background-color: #334ca0;
    top: calc(50% - 1.6666666667em);
    right: 0;
    transition: all 0.3s;
}
.btn-group .btn.style02 a:after {
    background-color: #fff;
    width: 0.5555555556em;
    height: 0.7777777778em;
    right: 1.33333em;
    transition: all 0.3s;
}
.btn-group .btn.style02 a:hover {
    opacity: 1;
}
@media only screen and (min-width: 769px) {
    .btn-group .btn.style02 a:hover {
        color: var(--main-color);
    }
    .btn-group .btn.style02 a:hover:before {
        background-color: var(--main-color);
        transform: scale(1.2);
    }
}
.btn-group .btn.style03 a {
    background-color: unset;
    border: 1px solid #fff;
}
.btn-group .btn.bg01 a {
    background-color: #fff;
    color: var(--main-color);
}
.btn-group .btn.bg01 a:after {
    background-color: var(--main-color);
}
.yt {
    max-width: 960px;
    margin: 0px auto;
}
.video-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.slick-arrow {
    display: block;
    border: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-color: transparent;
    position: absolute;
    top: 37%;
    width: 2em;
    height: 2em;
    transform: translateY(-50%);
    cursor: pointer;
    color: transparent;
}
.slick-arrow:focus {
    outline: 0;
}
.slick-prev {
    left: -1em;
}
.slick-next {
    right: -1em;
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
    body {
        font-size: 87.5%;
    }
}
h1 {
    position: absolute;
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0;
}
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--wrapper);
    z-index: 20;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}
.ovh header,
header.active {
    background-color: var(--main-color);
}
.header_top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    justify-content: space-between;
    margin: 0 auto;
    padding: 5px 20px;
    height: 100%;
    transition: all 0.3s ease-in-out;
}
@media only screen and (min-width: 1559px) {
    .header_top {
        padding-left: 70px;
    }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
    .header_top {
        padding-left: 30px;
    }
}
.logo {
    width: 25%;
    max-width: 190px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.logo a {
    display: block;
    width: 100%;
    text-align: center;
}
.logo img {
    width: auto;
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
    .logo {
        max-width: 160px;
    }
}
@media only screen and (max-width: 992px) and (min-width: 769px) {
    .logo {
        max-width: 130px;
    }
}
.right_head {
    width: 70%;
    max-width: 100%;
    padding-right: 90px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.pc_navi {
    width: 100%;
}
.pc_navi > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    text-align: center;
    width: 100%;
}
.pc_navi > ul > li {
    position: relative;
}
.pc_navi > ul > li:first-child > a,
.pc_navi > ul > li:first-child > p {
    padding-left: 0;
}
.pc_navi > ul > li:first-child > a:before,
.pc_navi > ul > li:first-child > p:before {
    display: none;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
    opacity: 1;
    color: #334ca0;
}
.pc_navi > ul > li.menu-item-has-children > a:after,
.pc_navi > ul > li.menu-item-has-children > p:after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: calc(50% - 4.5px);
    transition: all 0.5s ease;
    border-color: #fff transparent transparent transparent;
    border-style: solid;
    border-width: 6px 6px 0px 6px;
    width: 0;
    height: 0;
}
@media only screen and (max-width: 1200px) and (min-width: 769px) {
    .pc_navi > ul > li.menu-item-has-children > a:after,
    .pc_navi > ul > li.menu-item-has-children > p:after {
        border-width: 5px 5px 0px 5px;
    }
}
.pc_navi > ul > li.menu-item-has-children > a:hover:after,
.pc_navi > ul > li.menu-item-has-children > p:hover:after {
    transform: translateY(5px);
}
.pc_navi > ul > li > a,
.pc_navi > ul > li > p {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0;
    height: 2.5em;
    text-decoration: none;
    text-align: center;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
    transition: all 0.2s ease;
    color: #fff;
    padding: 0 1.8125em;
    font-size: min(16px, 1.1vw);
}
.pc_navi > ul > li > a:before,
.pc_navi > ul > li > p:before {
    position: absolute;
    content: "";
    top: 0.375em;
    left: 0;
    background-color: #fff;
    width: 1px;
    height: 1.625em;
    transform: rotate(32deg);
}
.pc_navi > ul > li > a span,
.pc_navi > ul > li > p span {
    display: block;
    width: 100%;
    padding-top: 0px;
    font-size: 66.6666666667%;
    font-weight: 600;
}
.pc_navi > ul > li:hover a.title:after,
.pc_navi > ul > li:hover p.title:after {
    transform: translateY(5px);
}
.pc_navi > ul .subInner {
    position: absolute;
    width: 18em;
    right: 50%;
    bottom: -15px;
    padding-top: 0px;
    transform: translate(50%, 100%);
    transition: all 0.2s ease-in-out;
    opacity: 0;
    visibility: hidden;
    z-index: 1;
}
.pc_navi > ul .subInner.active {
    opacity: 1;
    visibility: visible;
}
.pc_navi > ul .subInner ul {
    background-color: #334ca0;
    padding-bottom: 10px;
}
.pc_navi > ul .subInner ul li {
    padding: 0 10px;
}
.pc_navi > ul .subInner ul li a {
    position: relative;
    display: block;
    padding: 1.2em 0.6em 1.2em 1.6em;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.7);
    transition: all 0.2s ease;
    font-size: 0.875em;
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    text-align: left;
    letter-spacing: 0.05em;
}
.pc_navi > ul .subInner ul li a:before {
    content: "›";
    display: block;
    position: absolute;
    top: 50%;
    left: 0.6em;
    transform: translateY(-54%);
}
@media only screen and (min-width: 769px) {
    .pc_navi > ul .col2 .subInner {
        width: 440px;
    }
    .pc_navi > ul .col2 .subInner ul {
        display: flex;
        flex-wrap: wrap;
    }
    .pc_navi > ul .col2 .subInner ul li {
        width: 50%;
    }
    .menu_toggle .inside .ft_link {
        width: 100%;
        max-width: 1200px;
        margin: auto;
        min-height: 100%;
        display: flex;
        align-items: center;
    }
    .menu_toggle .inside .ft_link .link_list {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
    }
    .menu_toggle .inside .ft_link li.tl_mn > a {
        margin-top: -9px;
    }
    .menu_toggle .inside .ft_link .menu01,
    .menu_toggle .inside .ft_link .menu02 {
        width: 48%;
    }
    .menu_toggle .inside .ft_link .menu02 {
        margin-top: 0;
    }
}
@media only screen and (min-width: 1281px) and (max-width: 1440px) {
    .header_top {
        padding-left: 30px;
    }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
    :root {
        --wrapper: 100px;
    }
    .menu_toggle .inside .ft_link li {
        margin-bottom: 15px;
    }
    .menu_toggle .inside .ft_link li.tl_mn > a {
        margin-bottom: 15px;
    }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
    .right_head {
        padding-right: 60px;
    }
    .header_top {
        padding-left: 25px;
    }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .right_head {
        padding-right: 80px;
    }
    .pc_navi > ul {
        font-size: 1.4vw;
    }
    .pc_navi > ul .subInner ul li a {
        font-size: 12px;
    }
}
@media only screen and (min-width: 769px) and (max-width: 1000px) {
    .menu_toggle .inside .ft_link .menu01 {
        width: 63%;
    }
    .menu_toggle .inside .ft_link .menu02 {
        width: 36%;
    }
    .menu_toggle .inside .ft_link .ft_mn03 > li {
        width: 40%;
    }
    .menu_toggle .inside .ft_link .ft_mn03 > li:nth-child(2n + 2) {
        width: 51%;
    }
    .right_head {
        padding-right: 60px;
    }
}
@media only screen and (min-width: 769px) {
    .home_page .idx_gallery {
        margin-top: -29px;
    }
}
.idx_gallery {
    position: relative;
    z-index: 2;
}
.idx_gallery .list {
    display: flex;
}
.idx_gallery .list .item {
    margin: 3px 1.5px;
}
.idx_gallery .list .item .img {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 500px;
    height: 380px;
    overflow: hidden;
    border-radius: 5px;
}
.idx_gallery .list .item.slick-slide .img01 {
    background-image: url(../images/idx_gallery01.jpg);
}
.idx_gallery .list .item.slick-slide .img02 {
    background-image: url(../images/idx_gallery02.jpg);
}
.idx_gallery .list .item.slick-slide .img03 {
    background-image: url(../images/idx_gallery03.jpg);
}
.idx_gallery .list .item.slick-slide .img04 {
    background-image: url(../images/idx_gallery04.jpg);
}
.idx_gallery .list .item.slick-slide .img05 {
    background-image: url(../images/idx_gallery05.jpg);
}
.idx_gallery .list .item.slick-slide .img06 {
    background-image: url(../images/idx_gallery06.jpg);
}
.idx_time {
    max-width: 600px;
    width: 49%;
}
.idx_time .ttl {
    font-size: min(20px, 2vw);
    letter-spacing: 0.1em;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    margin-bottom: 1em;
    padding-left: 1.9em;
    position: relative;
    line-height: 1.4;
}
.idx_time .ttl:before {
    position: absolute;
    content: "";
    top: 0.1em;
    left: 0;
    border-radius: 50%;
    width: 1em;
    height: 1em;
    background-color: #91d7e8;
}
.idx_time .ttl span {
    display: inline-block;
}
.idx_time .block_time {
    margin-bottom: 21px;
}
.idx_time .note {
    margin-top: 12px;
    line-height: 2;
    font-size: 12px;
    letter-spacing: 0.1em;
    color: #fff;
}
.idx_time .note span {
    display: inline-block;
}
.idx_time .block_note {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 477px;
}
@media only screen and (min-width: 1281px) {
    .idx_time .block_time:nth-child(2) {
        margin-bottom: 28px;
    }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
    .idx_time .note {
        letter-spacing: 0;
        font-size: 11px;
    }
    .idx_time .block_note {
        flex-direction: column;
    }
    .idx_time .block_note .note_right .note:first-child {
        margin-top: 0;
    }
}
@media only screen and (min-width: 769px) {
    .time_sheet {
        font-size: min(16px, 1.6vw);
    }
}
.time_sheet tr:first-child {
    background-color: #fff;
    overflow: hidden;
}
.time_sheet tr:first-child th {
    color: #2b3d3f;
    padding-top: 1.1875em;
    padding-bottom: 1.0625em;
}
.time_sheet tr:first-child th:before {
    display: none;
}
.time_sheet tr:first-child th:first-child {
    border-radius: 6px 0 0 6px;
}
.time_sheet tr:first-child th:last-child {
    border-radius: 0 6px 6px 0;
}
.time_sheet table {
    font-feature-settings: "palt";
}
.time_sheet table .dot {
    position: relative;
    padding: 0 0.625em;
}
.time_sheet table .dot:before {
    position: absolute;
    content: "";
    top: 0.6875em;
    left: 0.4375em;
    background-color: #fff;
    width: 5px;
    height: 1px;
}
.time_sheet table td,
.time_sheet table th {
    border-top: none;
    border-right: none;
    border-left: none;
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.1em;
    border: 0;
    padding: 1.15625em 0;
    color: #fff;
    position: relative;
    width: 8.9%;
}
.time_sheet table td:before,
.time_sheet table th:before {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #b9dede;
}
.time_sheet table td:first-child,
.time_sheet table th:first-child {
    width: 34%;
    padding-left: 0.6875em;
}
.time_sheet table td:last-child,
.time_sheet table th:last-child {
    width: 15.7%;
    padding-right: 2.5em;
}
@media only screen and (max-width: 992px) and (min-width: 769px) {
    :root {
        --ttl_size: 22px;
        --wrapper: 80px;
    }
}
.totop {
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
    position: fixed;
    z-index: 19;
    bottom: 25px;
    right: 25px;
    background-color: rgba(192, 233, 236, 0.2);
    width: 76px;
    height: 76px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
}
.totop.active {
    opacity: 1;
    visibility: visible;
}
.totop .icon {
    background-image: url(../images/totop.png);
    background-repeat: no-repeat;
    background-size: 14px auto;
    background-position: center;
    background-color: #ffffff;
    border: 0px;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 50%;
    box-shadow: -10px -10px 31px 0px rgba(76, 92, 93, 0.12);
    transition: all 0.3s ease;
}
@media only screen and (min-width: 769px) {
    .totop:hover {
        opacity: 0.9;
    }
    .totop:hover .icon {
        background-color: #e8f5f7;
    }
}
.bounce {
    animation-name: bounces;
}
.animateds {
    animation-duration: 0.5s;
    animation-fill-mode: both;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}
@keyframes bounces {
    0%,
    to {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-5px);
    }
}
@keyframes fixed_banner {
    0% {
        left: 0;
        opacity: 1;
    }
    to {
        left: -3px;
        opacity: 0.7;
    }
}
.fixed_banner {
    position: fixed;
    right: 0px;
    z-index: 15;
    transition: 0.3s ease-in-out;
}
.fixed_banner > div {
    position: relative;
    transition: all 0.3s ease;
}
.fixed_banner a {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    z-index: 2;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}
.fixed_banner p {
    display: block;
    width: 100%;
    height: 100%;
    margin-bottom: 0;
    color: #fff;
    letter-spacing: 0.1em;
    line-height: 1.2222222222;
    text-align: center;
    text-decoration: none;
}
.fixed_banner p:hover {
    color: #fff;
}
.fixed_banner p .tt:before {
    content: "";
    display: block;
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% auto;
    -webkit-mask-size: 100% auto;
    mask-position: center;
    -webkit-mask-position: center;
    background-color: #fff;
}
.fixed_banner .tel {
    background-color: #334ca0;
}
.fixed_banner .tel p .tt:before {
    margin-bottom: 0.5em;
    width: 1.7142857143em;
    height: 1.7142857143em;
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24px' height='24px'%3E%3Cpath fill-rule='evenodd' fill='rgb(0, 0, 0)' d='M23.918,22.491 C23.918,23.425 22.826,23.853 21.811,23.853 C9.859,23.153 0.741,14.062 0.090,2.234 C-0.020,1.151 0.374,0.370 1.099,0.107 C1.147,0.079 1.196,0.059 1.250,0.043 C1.275,0.037 1.292,0.019 1.318,0.014 C1.342,0.009 1.365,0.017 1.389,0.015 C1.408,0.013 1.425,0.004 1.444,0.004 L8.467,0.004 C8.486,0.004 8.502,0.013 8.520,0.014 C8.576,0.019 8.627,0.030 8.680,0.047 C8.716,0.058 8.749,0.070 8.783,0.087 C8.828,0.110 8.867,0.138 8.906,0.170 C8.938,0.196 8.968,0.223 8.995,0.254 C9.024,0.289 9.047,0.325 9.070,0.365 C9.093,0.407 9.113,0.449 9.127,0.495 C9.134,0.515 9.148,0.531 9.153,0.552 L10.572,6.868 C10.624,7.099 10.556,7.341 10.392,7.511 L8.206,9.776 C9.689,12.222 11.739,14.269 14.192,15.744 L16.408,13.545 C16.578,13.376 16.822,13.304 17.057,13.356 L23.370,14.778 C23.390,14.782 23.404,14.795 23.422,14.801 C23.472,14.817 23.517,14.837 23.562,14.863 C23.598,14.884 23.631,14.905 23.662,14.931 C23.699,14.962 23.729,14.995 23.758,15.033 C23.785,15.067 23.810,15.101 23.830,15.140 C23.851,15.179 23.865,15.219 23.878,15.263 C23.892,15.308 23.902,15.353 23.906,15.401 C23.908,15.423 23.918,15.441 23.918,15.463 L23.918,22.491 ZM14.777,17.142 C14.747,17.172 14.709,17.186 14.676,17.209 C14.648,17.228 14.624,17.248 14.594,17.263 C14.495,17.312 14.391,17.345 14.283,17.345 C14.283,17.345 14.283,17.345 14.282,17.345 C14.282,17.345 14.282,17.345 14.282,17.345 C14.281,17.345 14.281,17.344 14.280,17.344 C14.175,17.344 14.073,17.313 13.976,17.266 C13.964,17.260 13.950,17.263 13.938,17.256 C10.910,15.553 8.406,13.055 6.698,10.032 C6.688,10.014 6.688,9.994 6.679,9.975 C6.671,9.956 6.667,9.937 6.661,9.918 C6.636,9.848 6.618,9.779 6.616,9.707 C6.615,9.695 6.618,9.683 6.619,9.670 C6.621,9.593 6.632,9.518 6.658,9.445 C6.664,9.431 6.673,9.418 6.679,9.404 C6.709,9.336 6.747,9.273 6.798,9.217 C6.803,9.211 6.805,9.204 6.810,9.198 L9.118,6.807 L7.905,1.408 L1.562,1.408 C1.525,1.467 1.451,1.732 1.490,2.127 C2.103,13.258 10.666,21.791 21.853,22.448 C22.073,22.447 22.363,22.382 22.514,22.316 L22.514,16.025 L17.124,14.812 L14.777,17.142 Z'/%3E%3C/svg%3E");
}
.fixed_banner .web p {
    background-color: #2e9de9;
}
.fixed_banner .web p .tt:before {
    margin-bottom: 0.5em;
    width: 2em;
    height: 2em;
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 232 232 ' %3E%3Cpath d='M218.959,232.004 L13.039,232.004 C5.931,232.004 0.169,226.540 0.169,219.806 L0.169,49.115 C0.169,42.374 5.931,36.917 13.039,36.917 L51.648,36.917 L51.648,12.533 C51.648,5.799 57.410,0.348 64.518,0.348 C71.626,0.348 77.388,5.799 77.388,12.533 L77.388,36.917 L154.608,36.917 L154.608,12.533 C154.608,5.799 160.370,0.348 167.478,0.348 C174.586,0.348 180.348,5.799 180.348,12.533 L180.348,36.917 L206.089,36.917 L218.959,36.917 C226.069,36.917 231.829,42.374 231.829,49.115 L231.829,219.806 C231.829,226.540 226.069,232.004 218.959,232.004 ZM106.345,141.603 L83.269,119.752 C78.243,114.984 70.098,114.984 65.071,119.752 C60.043,124.508 60.043,132.228 65.071,136.983 L97.246,167.469 C99.659,169.750 102.934,171.045 106.345,171.045 C109.758,171.045 113.032,169.750 115.445,167.469 L166.925,118.702 C171.953,113.940 171.953,106.214 166.925,101.452 C161.898,96.690 153.753,96.690 148.726,101.452 L106.345,141.603 Z'/%3E%3C/svg%3E");
}
.fixed_banner .mail p {
    background-color: #5ac6d2;
}
.fixed_banner .mail p .tt:before {
    margin-bottom: 0.5em;
    width: 2.333em;
    height: 1.6667em;
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 272 196' %3E%3Cpath d='M233.995,0.755 L38.001,0.755 C17.197,0.755 0.331,17.258 0.331,37.614 L0.331,158.907 C0.331,179.250 17.197,195.759 38.001,195.759 L233.995,195.759 C254.798,195.759 271.666,179.250 271.666,158.907 L271.666,37.614 C271.666,17.258 254.798,0.755 233.995,0.755 ZM94.749,132.313 L41.999,176.344 C38.278,179.430 32.683,179.025 29.509,175.377 C26.333,171.737 26.775,166.259 30.500,163.160 L83.252,119.122 C86.970,116.029 92.565,116.474 95.739,120.108 C98.917,123.762 98.475,129.220 94.749,132.313 ZM135.998,115.591 C128.943,115.565 122.103,113.265 116.755,108.767 L116.759,108.767 L116.743,108.754 C116.747,108.754 116.751,108.754 116.755,108.767 L35.815,40.037 C32.118,36.892 31.724,31.428 34.930,27.807 C38.140,24.204 43.732,23.811 47.428,26.937 L128.388,95.673 C130.118,97.194 132.970,98.257 135.998,98.251 C139.022,98.251 141.824,97.200 143.650,95.628 L143.691,95.589 L224.568,26.943 C228.263,23.811 233.857,24.204 237.067,27.807 C240.272,31.428 239.878,36.892 236.180,40.037 L155.218,108.774 C149.889,113.259 143.058,115.585 135.998,115.591 ZM242.492,175.377 C239.316,179.025 233.721,179.430 230.003,176.344 L177.251,132.313 C173.526,129.220 173.084,123.762 176.261,120.108 C179.435,116.474 185.029,116.029 188.748,119.122 L241.501,163.160 C245.226,166.259 245.666,171.737 242.492,175.377 Z'/%3E%3C/svg%3E");
}
@media only screen and (min-width: 769px) {
    .fixed_banner {
        font-size: 10px;
        top: 314px;
        --size: 8em;
        width: 8em;
    }
    .fixed_banner > div {
        width: var(--size);
        height: var(--size);
        margin-bottom: 0.5em;
    }
    .fixed_banner p .tt {
        font-size: 1.4em;
        letter-spacing: 0.05em;
        border-right: 1px solid #fff;
        margin-right: 1.4285714em;
        width: 3.8571428571em;
    }
    .fixed_banner p .text {
        font-size: 2.5em;
        font-weight: 500;
    }
    .fixed_banner .tel {
        transition: all 0.3s ease;
        height: 8em;
        width: 30em;
    }
    .fixed_banner .tel:hover:hover {
        transform: translateX(-22.1em);
    }
    .fixed_banner .tel p {
        box-shadow: -10px -10px 31px 0px rgba(76, 92, 93, 0.12);
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        border-top-left-radius: 16px;
        border-bottom-left-radius: 16px;
    }
    .fixed_banner .tel p .tt:before {
        position: relative;
        margin-bottom: 0;
    }
    .fixed_banner .tel .ov {
        writing-mode: vertical-rl;
    }
    .fixed_banner .tel .ov .text {
        font-size: 20px;
        letter-spacing: 0.1em;
        font-weight: 500;
    }
    .fixed_banner .web p .tt:before {
        margin-bottom: 0.5em;
    }
    .fixed_banner .mail p {
        border-bottom-left-radius: 0.833em;
    }
}
@media (min-width: 769px) and (max-height: 650px), only screen and (min-width: 769px) and (max-width: 1366px) {
    .fixed_banner {
        font-size: 6.5px;
        top: calc(50% - 16em);
    }
    .totop {
        width: 60px;
        height: 60px;
    }
}
.ft_banner {
    background-color: #e8f5f7;
    padding: 80px 0;
}
.ft_banner .flex-center {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.ft_banner .flex-center .bnr_it {
    max-width: 412px;
}
@media only screen and (min-width: 769px) {
    .ft_banner .flex-center .bnr_it {
        width: calc((100% - 44px) / 3);
        margin-right: 22px;
    }
    .ft_banner .flex-center .bnr_it:last-child,
    .ft_banner .flex-center .bnr_it:nth-child(3n + 3) {
        margin-right: 0;
    }
}
.p_tel {
    line-height: 1;
}
.p_tel a {
    font-size: 24px;
    line-height: 1;
    letter-spacing: 0.1em;
    color: var(--clr1);
    text-decoration: none;
    font-weight: bold;
    position: relative;
    padding-left: 1.875em;
}
.p_tel a:before {
    content: "";
    position: absolute;
    top: -0.125em;
    left: 0.0416666667em;
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='28px' height='30px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M27.987,21.973 L27.987,27.763 C27.987,28.622 27.356,29.335 26.541,29.398 C25.861,29.446 25.306,29.471 24.877,29.471 C11.137,29.471 -0.001,17.743 -0.001,3.274 C-0.001,2.819 0.023,2.237 0.071,1.523 C0.128,0.663 0.806,-0.002 1.623,-0.002 L7.121,-0.002 C7.520,-0.002 7.855,0.317 7.895,0.737 C7.931,1.111 7.963,1.411 7.995,1.638 C8.304,3.910 8.937,6.120 9.873,8.191 C10.021,8.516 9.924,8.907 9.644,9.120 L6.289,11.643 C8.340,16.677 12.150,20.689 16.930,22.852 L19.325,19.323 C19.527,19.027 19.902,18.923 20.216,19.081 C22.183,20.063 24.279,20.729 26.435,21.054 C26.651,21.086 26.936,21.120 27.290,21.159 C27.687,21.197 27.989,21.553 27.988,21.973 L27.987,21.973 Z'/%3E%3C/svg%3E");
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% auto;
    -webkit-mask-size: 100% auto;
    mask-position: center;
    -webkit-mask-position: center;
    background-color: var(--main-color);
    width: 1.1666666667em;
    height: 1.25em;
}
.p_tel a:hover {
    opacity: 1;
    color: #ffffff;
}
footer {
    padding: 76px 0 48px;
    position: relative;
    background: url(../images/ft_bg.jpg) no-repeat center/cover;
}
footer p {
    margin-bottom: 0;
}
footer a,
footer p {
    color: #fff;
    text-decoration: none;
}
footer .ft_logo {
    max-width: 279px;
    width: 49%;
}
footer .p_tel a {
    color: #ffffff;
}
footer .p_tel a:before {
    background-color: #ffffff;
}
footer .box_address {
    width: 49%;
    position: relative;
    padding-left: 15px;
    padding-top: 1px;
}
footer .box_address:before {
    content: "";
    position: absolute;
    top: 10px;
    left: -8px;
    width: 1px;
    height: 92px;
    background-color: #e8f5f7;
    opacity: 0.4;
}
footer .ft_info {
    margin-bottom: 58px;
}
footer .col_left {
    width: 47.5%;
    max-width: 610px;
}
footer .col_left .des {
    font-weight: 500;
    line-height: 2.14;
    font-size: 14px;
    letter-spacing: 0.1em;
    margin-bottom: 16px;
}
footer .idx_time {
    width: 100%;
}
footer .col_right {
    width: 44.7%;
    padding-top: 36px;
}
footer .ft_link .title {
    color: #ffffff;
}
footer .ft_link a {
    color: #ffffff;
}
footer .ft_link a:before {
    background-color: #ffffff;
}
footer .ft_link a:hover {
    color: #ffffff;
    text-decoration: underline;
    text-underline-offset: 5px;
}
.ft_link a {
    text-decoration: none;
}
.ft_link .title {
    margin-bottom: 44px;
    padding-left: 0;
    font-size: 36px;
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1;
    pointer-events: none;
    display: flex;
    align-items: center;
    color: var(--main-color);
}
.ft_link .title:after {
    content: "";
    position: relative;
    display: block;
    height: 1px;
    width: 100%;
    background-color: rgba(232, 245, 247, 0.4);
}
.ft_link .title span {
    flex: 1 0 auto;
    padding-right: 15px;
}
.ft_link .title:before {
    display: none;
}
.ft_link ul:last-child {
    margin-bottom: 0;
}
.ft_link li {
    margin-bottom: 19px;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
.ft_link li.tl_mn {
    border-bottom: 0;
}
.ft_link li.tl_mn > a {
    font-size: 22px;
    font-weight: bold;
    padding-left: 0;
    pointer-events: none;
    margin-top: -2px;
    margin-bottom: 21px;
}
.ft_link li.tl_mn > a:before {
    display: none;
}
@media only screen and (max-width: 768px) {
    .ft_link li.tl_mn > a {
        margin-bottom: 0;
    }
}
.ft_link .sub-menu {
    padding-left: 5px;
}
.ft_link a {
    display: table;
    position: relative;
    padding-left: 13px;
    color: inherit;
    letter-spacing: 0.1em;
    color: var(--clr1);
    line-height: 1.8;
    display: inline-block;
}
.ft_link a:before {
    content: "";
    position: absolute;
    top: 11px;
    left: 1px;
    border-radius: 50%;
    width: 3px;
    height: 3px;
    background-color: var(--main-color);
}
.ft_link a:hover {
    opacity: 1;
    color: var(--clr1);
}
@media only screen and (min-width: 769px) {
    .ft_link a:hover {
        color: var(--main-color);
    }
    .ft_link .menu01 {
        width: 100%;
    }
    .ft_link .menu01 .title:after {
        margin-top: -4px;
    }
    .ft_link .menu02 {
        margin-top: 46px;
        width: 100%;
    }
    .ft_link .menu02 .title:after {
        margin-top: -8px;
    }
    .ft_link .menu02 .title span {
        padding-right: 38px;
    }
    .ft_link .ft_mn01 {
        width: 58%;
    }
    .ft_link .ft_mn02 {
        width: 37%;
    }
    .ft_link .ft_mn03 {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
    }
    .ft_link .ft_mn03 > li {
        width: 58%;
    }
    .ft_link .ft_mn03 > li:nth-child(2n + 2) {
        width: 37%;
    }
}
.copyright {
    margin: 4px auto 0;
    color: #fff;
    position: relative;
    z-index: 1;
}
.copyright.flex {
    align-items: center;
    justify-content: flex-start;
    min-height: 40px;
}
.copyright .textwidget {
    display: block;
    margin-top: 2px;
    line-height: 20px;
    padding-left: 19px;
    padding-bottom: 3px;
    margin-left: 23px;
    border-left: 1px solid #cecece;
    font-weight: 400;
    letter-spacing: 0.1em;
}
.copyright .textwidget p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: inherit;
    font-weight: 500;
    letter-spacing: 0.1em;
}
.copyright .grits {
    margin-bottom: 0;
    line-height: 2.501;
}
.copyright .grits a {
    display: block;
}
.copyright .grits img {
    max-width: 158px;
}
.br_auto {
    display: inline-block;
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
    .ft_link .title {
        margin-bottom: 30px;
    }
}
@media only screen and (min-width: 769px) and (max-width: 1440px) {
    .idx_gallery .list .item .img {
        width: 300px;
        height: 250px;
    }
    .ft_banner {
        padding: 50px;
    }
    footer .box_address {
        padding-left: 10px;
    }
    footer .col_left {
        width: 51%;
    }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
    footer .ft_logo {
        width: 37%;
    }
    footer .col_right {
        width: 46%;
    }
    footer .box_address {
        width: 59%;
    }
    .ft_link .title {
        font-size: 28px;
    }
    .ft_link a {
        letter-spacing: 0.04em;
        padding-left: 10px;
    }
    .ft_link li.tl_mn > a {
        font-size: 18px;
    }
}
@media only screen and (min-width: 769px) and (max-width: 1000px) {
    footer .col_left,
    footer .col_right {
        width: 100%;
        max-width: 610px;
        max-width: 485px;
        margin-left: auto;
        margin-right: auto;
    }
    footer .ft_info {
        align-items: center;
    }
    .copyright.flex {
        justify-content: center;
    }
}
/*# sourceMappingURL=style.css.map */
