@charset "UTF-8";
:root {
    --f-mincho: "遊明朝 Yumincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro",
        "MS P明朝", "MS PMincho", serif;
    --f-notosans: "Noto Sans JP", sans-serif;
    --f-jp: "Noto Serif JP", serif;
    --f-en: "Lato", sans-serif;
    --f-zenkaku: "Zen Kaku Gothic Antique", sans-serif;
    --main-color: #719f51;
    --clr1: #68706d;
    --clr2: #ccc;
    --ttl_size: 28px;
    --wrapper: 100px;
    --f-gothic: "游ゴシック体", "Yu Gothic", YuGothic, Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN,
        "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
body {
    background-color: #ffffff;
    -webkit-text-size-adjust: none;
    letter-spacing: 0.1em;
    color: var(--clr1);
    font-family: var(--f-notosans);
}
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: all 0.3s;
    }
    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;
}
@media only screen and (min-width: 769px) {
    .inner,
    .inner_big,
    .inner_max,
    .inner_sm {
        padding-left: var(--wrapper);
        padding-right: var(--wrapper);
    }
}
.inner_max {
    max-width: 1480px;
}
.inner_big {
    max-width: 1480px;
}
.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;
    overflow: hidden;
    border-radius: 5px;
}
.TabContainer .TabContent .content {
    transition: all 0.3s ease-in-out;
    background-color: #ffffff;
}
.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 .TabContent .content .tab04 {
    background-image: url(../images/idx03_bg_tab4.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
.TabContainer .TabContent .content .tab04 .content {
    background-color: unset;
}
.TabContainer .TabContent .content .tab04 .TabContainer.st2 .TabPager.st2 > div {
    background-color: #dbab6d;
}
.TabContainer .TabContent .content .tab04 .TabContainer.st2 .TabPager.st2 > div.active {
    background-color: #d38725;
}
.TabContainer .TabContent .content .tab04 .TabContainer.st2 .TabPager.st2 > div.active:hover {
    background-color: #fff;
    border: 0;
}
.TabContainer .TabContent .content .tab04 .TabContainer.st2 .TabPager.st2 > div.active:hover .tt {
    color: #d38725;
}
@media only screen and (min-width: 769px) {
    .TabContainer .TabContent .content .tab04 .TabContainer.st2 .TabPager.st2 > div:hover {
        background-color: #fff;
    }
    .TabContainer .TabContent .content .tab04 .TabContainer.st2 .TabPager.st2 > div:hover .tt {
        color: #d38725;
    }
}
.TabContainer .TabContent .content .tab04 .btn-group.st2 .btn.style01 a,
.TabContainer .TabContent .content .tab04 .btn-group.st2 .btn.style02 a {
    background-color: #fffae0;
    border: 1px solid #f1c621;
}
@media only screen and (min-width: 769px) {
    .TabContainer .TabContent .content .tab04 .btn-group.st2 .btn.style01 a:hover,
    .TabContainer .TabContent .content .tab04 .btn-group.st2 .btn.style02 a:hover {
        background-color: #fff;
    }
}
.TabContainer .TabPager {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0px auto;
    max-width: 1280px;
    position: relative;
    z-index: 2;
}
.TabContainer .TabPager > div {
    background-color: #cbc5b2;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    margin: 0;
    padding: 30px 10px 14px;
    width: calc(50% - 0px);
    transition: all 0.3s ease;
    cursor: pointer;
    color: #ffffff;
}
.TabContainer .TabPager > div:after,
.TabContainer .TabPager > div:before {
    position: absolute;
    content: "";
    transition: all 0.3s ease;
}
.TabContainer .TabPager > div:before {
    top: calc(50% - 40px);
    right: -1px;
    z-index: 2;
    width: 2px;
    height: 80px;
    background-color: #fff;
}
.TabContainer .TabPager > div:after {
    /* mask-image: url(../images/idx03_tab_arr.png);
    mask-position: bottom center;
    mask-repeat: no-repeat;
    mask-size: auto 100%; */
    background-color: #585041;
    clip-path: polygon(0 0, 100% 0, 100% 1px, 50% 100%, 0 1px);
    bottom: -19px;
    left: 0;
    width: 100%;
    height: 20px;
    opacity: 0;
    visibility: hidden;
}
.TabContainer .TabPager > div:first-child {
    border-radius: 5px 0 0 0;
}
.TabContainer .TabPager > div:last-child {
    border-radius: 0 5px 0 0;
}
.TabContainer .TabPager > div:last-child:before {
    display: none;
}
.TabContainer .TabPager > div:hover {
    background-color: #958f7c;
}
.TabContainer .TabPager > div p {
    margin: 0;
    line-height: 2;
    font-size: min(10px, 1vw);
    font-family: var(--f-jp);
    position: relative;
    padding-bottom: 2.1em;
}
.TabContainer .TabPager > div p:before {
    position: absolute;
    content: "";
    z-index: 1;
    bottom: 0;
    left: calc(50% - 0.4em);
    border-radius: 50%;
    width: 0.8em;
    height: 0.8em;
    background-color: #89b869;
    opacity: 0;
    visibility: hidden;
}
.TabContainer .TabPager > div p span {
    display: block;
    line-height: 1;
    letter-spacing: 0.12em;
}
.TabContainer .TabPager > div p .jp {
    font-size: 2.2em;
    padding-bottom: 0.5em;
}
.TabContainer .TabPager > div p .sm {
    font-size: 1.2em;
    text-transform: uppercase;
}
.TabContainer .TabPager > div.active {
    background-color: #585041;
    z-index: 1;
}
.TabContainer .TabPager > div.active p:before {
    opacity: 1;
    visibility: visible;
}
.TabContainer .TabPager > div.active:after {
    opacity: 1;
    visibility: visible;
}
.TabContainer .TabPager > div:last-child.active {
    background-color: #f2941b;
}
.TabContainer .TabPager > div:last-child.active p:before {
    background-color: #fff;
}
.TabContainer .TabPager > div:last-child.active:after {
    background-color: #f2941b;
}
.TabContainer.st2 .TabPager.st2 > div {
    background-color: #cbc5b2;
    color: #fff;
    font-family: var(--f-jp);
    width: calc(33.33% - 20px);
    max-width: 305px;
    height: 60px;
    float: left;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 14px 16px;
    transition: 0.3s;
    margin: 0 10px;
    border-radius: 5px;
}
.TabContainer.st2 .TabPager.st2 > div p {
    padding-bottom: 0;
    letter-spacing: 0.12em;
    font-size: 20px;
    line-height: 1.3;
}
.TabContainer.st2 .TabPager.st2 > div p:after,
.TabContainer.st2 .TabPager.st2 > div p:before {
    display: none;
}
.TabContainer.st2 .TabPager.st2 > div:after,
.TabContainer.st2 .TabPager.st2 > div:before {
    display: none;
}
.TabContainer.st2 .TabPager.st2 > div.active {
    background-color: #585041;
}
.TabContainer.st2 .TabPager.st2 > div.active:hover {
    background-color: #585041;
}
.TabContainer.st2 .TabPager.st2 > div:hover {
    background-color: var(--main-color);
}
@media only screen and (max-width: 992px) and (min-width: 769px) {
    .TabContainer.st2 .TabPager.st2 > div {
        height: 50px;
    }
    .TabContainer.st2 .TabPager.st2 > div p {
        font-size: 18px;
    }
}
.TabContainer.st2 .TabContent.st2 {
    margin-top: 40px;
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
    .TabContainer .TabContainer.st2 .TabPager.st2 > div p {
        font-size: min(20px, 1.7vw);
    }
    .TabContainer .TabContent .content {
        padding-bottom: 20px;
    }
}
@media only screen and (max-width: 992px) and (min-width: 769px) {
    .TabContainer .TabPager > div:after {
        bottom: -10px;
    }
}
@media only screen and (max-width: 768px) {
    .TabContainer .TabPager > div {
        padding: min(15px, 3vw) 10px;
    }
    .TabContainer .TabPager > div:after {
        height: 15px;
        bottom: -14px;
        display: none;
        transition: all 0.3s;
    }
    .TabContainer .TabPager > div.active:after {
        display: block;
    }
    .TabContainer .TabPager > div p {
        font-size: min(8px, 1vw);
        padding-bottom: 0;
    }
    .TabContainer .TabPager > div p .jp {
        letter-spacing: 0;
    }
    .TabContainer .TabPager > div p:before {
        bottom: -1.5em;
        z-index: 1;
    }
    .TabContainer .TabPager > div:before {
        top: 50%;
        transform: translateY(-50%);
        height: 70%;
    }
    .TabContainer.st2 .TabPager.st2 > div {
        height: 50px;
        margin: 4px;
        width: calc(50% - 8px);
        padding: 10px 5px;
    }
    .TabContainer.st2 .TabPager.st2 > div p {
        font-size: min(18px, 3.2vw);
        letter-spacing: 0;
        line-height: 1.4;
    }
    .TabContainer.st2 .TabContent.st2 {
        margin-top: 20px;
    }
}
@media only screen and (max-width: 450px) {
    .TabContainer .TabPager {
        background: #cac5b1;
        flex-wrap: wrap;
        border-radius: 5px 5px 0 0;
        position: relative;
    }
    .TabContainer .TabPager.st2 {
        background-color: transparent;
    }
    .TabContainer .TabPager.st2:before {
        display: none;
    }
    .TabContainer .TabPager > div {
        margin-top: 1em;
    }
    .TabContainer .TabPager > div:first-child,
    .TabContainer .TabPager > div:nth-child(2) {
        margin-top: 0;
    }
    .TabContainer .TabPager > div:nth-child(2) {
        border-radius: 0 5px 0 0;
    }
    .TabContainer .TabPager > div:nth-child(2):before {
        display: none;
    }
    .TabContainer .TabPager > div:last-child {
        border-radius: 0;
    }
    .TabContainer .TabPager > div p {
        font-size: min(8px, 2.4vw);
    }
    .TabContainer .TabPager > div p:before {
        z-index: 1;
    }
}
.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);
}
.br_auto {
    display: inline-block;
}
.link > a {
    position: absolute;
    inset: 0;
    z-index: 1;
}
.tel_click {
    display: table;
    text-decoration: none;
    font-size: 1em;
}
.tel_click .icon {
    display: flex;
    align-items: center;
    font-family: var(--f-zenkaku);
    font-weight: 500;
    color: #3f4a46;
    letter-spacing: 0.05em;
    font-size: 1em;
    line-height: 1;
}
.tel_click .icon:before {
    content: "";
    display: block;
    margin-right: 0.53125em;
    margin-top: 0.21875em;
    width: 0.84375em;
    height: 0.875em;
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='55px' height='54px'%3E%3Cpath fill-rule='evenodd' fill='rgb(84, 130, 53)' d='M54.171,34.406 C54.161,34.263 54.134,34.121 54.085,33.959 C54.045,33.829 54.000,33.707 53.930,33.572 C53.865,33.450 53.792,33.345 53.704,33.236 C53.616,33.128 53.530,33.031 53.421,32.937 C53.318,32.848 53.206,32.775 53.093,32.713 C52.961,32.636 52.827,32.576 52.740,32.549 L38.749,29.349 C38.017,29.186 37.263,29.401 36.737,29.935 L31.029,35.618 C30.617,36.027 30.387,36.576 30.384,37.160 C30.382,37.745 30.607,38.297 31.019,38.714 C31.839,39.542 33.281,39.542 34.096,38.726 L38.958,33.885 L49.844,36.342 L49.844,49.104 C49.594,49.165 49.304,49.213 49.090,49.214 C25.055,47.797 6.656,29.367 5.340,5.366 C5.303,5.001 5.319,4.710 5.341,4.513 L18.149,4.513 L20.602,15.464 L15.779,20.494 C15.630,20.657 15.513,20.840 15.348,21.202 C15.264,21.420 15.222,21.654 15.221,21.866 L15.864,21.955 L15.211,22.029 C15.219,22.233 15.261,22.441 15.345,22.682 C15.361,22.744 15.381,22.804 15.385,22.804 L15.385,22.804 L15.474,23.038 C18.317,28.086 22.125,32.437 26.790,35.965 C27.666,36.625 28.913,36.510 29.711,35.664 C30.122,35.226 30.322,34.654 30.271,34.046 C30.219,33.420 29.899,32.841 29.393,32.456 C25.721,29.676 22.606,26.247 20.130,22.258 L24.555,17.654 C25.062,17.123 25.271,16.377 25.112,15.655 L22.020,1.842 L21.949,1.668 C21.906,1.531 21.849,1.396 21.774,1.265 C21.703,1.141 21.629,1.024 21.528,0.904 C21.445,0.809 21.359,0.731 21.257,0.649 C21.167,0.575 21.042,0.478 20.882,0.393 C20.781,0.341 20.678,0.306 20.536,0.257 C20.380,0.209 20.198,0.228 20.155,0.180 L4.594,0.138 C4.496,0.138 4.418,0.156 4.432,0.162 C4.375,0.158 4.285,0.153 4.191,0.175 L4.007,0.248 C3.817,0.300 3.649,0.373 3.608,0.412 C1.707,1.109 0.732,3.098 0.997,5.703 C2.431,31.897 22.589,52.034 48.964,53.588 C51.487,53.588 54.202,52.450 54.202,49.955 L54.202,34.591 L54.171,34.406 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 a {
    position: relative;
    color: var(--main-color);
    text-decoration: none;
}
.btn a:after {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    width: 1.15em;
    height: 0.25em;
    right: 1.3em;
    top: calc(50% - 0.1em);
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='46px' height='10px'%3E%3Cpath fill-rule='evenodd' fill='rgb(88, 80, 65)' d='M46.000,5.000 L36.000,10.000 L36.000,6.000 L-0.000,6.000 L-0.000,3.1000 L36.000,3.1000 L36.000,-0.000 L46.000,5.000 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: #585041;
}
.btn-group {
    font-size: 0.625em;
}
.btn-group .btn {
    font-size: 1em;
}
.btn-group .btn.style01,
.btn-group .btn.style02 {
    width: 100%;
    max-width: 408px;
}
.btn-group .btn.style01 a,
.btn-group .btn.style02 a {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    min-height: 4em;
    padding: 0.5em 1em;
    font-size: 2em;
    letter-spacing: 0.1em;
    line-height: 1.5;
    color: #3f4a46;
    background-color: #f7f6f2;
    text-align: center;
    border: 1px solid #cbc5b2;
    transition: all 0.3s;
    border-radius: 40px;
    font-family: var(--f-jp);
    font-weight: 500;
}
.btn-group .btn.style01 a span,
.btn-group .btn.style02 a span {
    display: block;
    font-size: 0.8em;
    padding-top: 0.3125em;
}
.btn-group .btn.style01 a:hover,
.btn-group .btn.style02 a:hover {
    opacity: 1;
}
@media only screen and (min-width: 769px) {
    .btn-group .btn.style01 a:hover,
    .btn-group .btn.style02 a:hover {
        background-color: #fff;
        border-color: #548235;
        filter: drop-shadow(0px 10px 26.7px rgba(88, 80, 65, 0.1));
    }
}
.btn-group .btn.style01 a[target="_blank"]:hover,
.btn-group .btn.style02 a[target="_blank"]:hover {
    color: #3f4a46;
    background-color: #f7f6f2;
    border: 1px solid #cbc5b2;
    filter: none;
}
.btn-group .btn.style02 a {
    border-radius: 0;
    border: 0;
    background-color: #d38725;
    color: #fff;
    align-items: flex-start;
}
.btn-group .btn.style02 a:after {
    background-color: #fff;
}
@media only screen and (min-width: 769px) {
    .btn-group .btn.style02 a:hover {
        background-color: var(--main-color);
    }
}
.btn-group .btn.bg01 a {
    background-color: #fff;
    color: var(--main-color);
}
.btn-group .btn.bg01 a:after {
    background-color: var(--main-color);
}
.btn-group .btn.style03 a {
    letter-spacing: 0.1em;
    color: #3f4a46;
    text-decoration: none;
    position: relative;
    font-size: 16px;
    height: 3.875em;
    display: flex;
    align-items: center;
    padding-left: 5em;
    transition: all 0.3s;
    font-weight: 500;
    font-family: var(--f-notosans);
}
.btn-group .btn.style03 a:hover {
    opacity: 1;
}
.btn-group .btn.style03 a:after,
.btn-group .btn.style03 a:before {
    position: absolute;
    content: "";
    transition: all 0.3s;
    mask-image: unset;
    background-color: unset;
}
.btn-group .btn.style03 a:before {
    width: 3.8125em;
    height: 3.8125em;
    border: 1px solid #548235;
    opacity: 40%;
    border-radius: 50%;
    top: 0;
    left: 0;
}
.btn-group .btn.style03 a:after {
    mask-image: url(../images/idx01_arr.png);
    mask-position: center;
    mask-repeat: no-repeat;
    mask-size: 100% auto;
    width: 1em;
    height: 0.8125em;
    top: 1.5625em;
    left: 1.375em;
    background-color: var(--main-color);
}
@media only screen and (min-width: 769px) {
    .btn-group .btn.style03 a:hover {
        color: var(--main-color);
    }
    .btn-group .btn.style03 a:hover:before {
        background-color: var(--main-color);
    }
    .btn-group .btn.style03 a:hover:after {
        background-color: #fff;
    }
}
.btn-group .btn.white a {
    color: #fff;
}
.btn-group .btn.white a:before {
    border-color: #fff;
}
.btn-group .btn.white a:after {
    background-color: #fff;
}
.btn-group .btn.white a:hover {
    color: #cbc5b2;
}
.btn-group .btn.white a:hover:before {
    border-color: #cbc5b2;
    background-color: #cbc5b2;
}
.yt {
    max-width: 550px;
    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;
}
.ft_banner {
    margin-top: 2em;
}
.ft_banner a {
    padding-left: 0 !important;
}
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: var(--wrapper);
    z-index: 20;
}
.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: 1561px) {
    .header_top {
        padding-left: 88px;
    }
}
.logo {
    width: 25%;
    max-width: 450px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.logo a {
    display: block;
    width: 100%;
    text-align: center;
}
.logo img {
    width: auto;
}
.right_head {
    width: 70%;
    max-width: 100%;
    padding-right: 136px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.ft_banner img {
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
.pc_navi {
    width: 100%;
}
.pc_navi > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: center;
    width: 100%;
}
.pc_navi > ul > li {
    position: relative;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
    opacity: 1;
    color: #fff;
}
.pc_navi > ul > li:hover > a:before,
.pc_navi > ul > li:hover > p:before {
    width: calc(100% - 1.25em);
}
.pc_navi > ul > li:nth-child(4) .subInner {
    width: 20em;
}
.pc_navi > ul > li:last-child .subInner {
    right: calc(50% + 10em);
}
@media only screen and (max-width: 992px) and (min-width: 769px) {
    .pc_navi > ul > li:last-child .subInner {
        right: calc(50% + 17em);
    }
}
.pc_navi > ul > li.menu-item-has-children > a:after,
.pc_navi > ul > li.menu-item-has-children > p:after {
    top: calc(50% - 1px);
    right: 0;
    content: "";
    background: url(../images/shared_pc_navi_arrow.png) center no-repeat;
    background-size: 100% auto;
    width: 0.5625em;
    height: 0.3125em;
    position: absolute;
    transition: all 0.5s ease;
}
.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: 200;
    line-height: 1.5;
    letter-spacing: 0.12em;
    transition: all 0.2s ease;
    color: #fff;
    padding-right: 1.1875em;
    font-size: min(16px, 1vw);
    font-family: var(--f-mincho);
}
.pc_navi > ul > li > a:before,
.pc_navi > ul > li > p:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: #fff;
    transition: all 0.3s;
}
.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: 11;
}
.pc_navi > ul .subInner.active {
    opacity: 1;
    visibility: visible;
}
.pc_navi > ul .subInner ul {
    background-color: #76a546;
    padding-bottom: 10px;
}
.pc_navi > ul .subInner ul li {
    padding: 0 10px;
}
.pc_navi > ul .subInner ul li.st1 {
    background-color: #fff;
    width: 100% !important;
    margin-top: 10px;
}
.pc_navi > ul .subInner ul li.st1:first-of-type {
    margin-top: 0;
}
.pc_navi > ul .subInner ul li.st1 a {
    text-align: center;
    padding: 1em 1em;
    pointer-events: none;
    border: 0;
    justify-content: center;
    color: #333;
}
.pc_navi > ul .subInner ul li.st1 a:before {
    display: none;
}
.pc_navi > ul .subInner ul li a {
    position: relative;
    display: block;
    padding: 1em 0.6em 1em 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;
    display: flex;
    align-items: center;
    height: 100%;
}
@media only screen and (max-width: 1366px) and (min-width: 769px) {
    .pc_navi > ul .subInner ul li a {
        font-size: 0.75em !important;
    }
}
.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: 1281px) {
    .logo {
        position: relative;
        top: 5px;
    }
}
@media only screen and (min-width: 769px) {
    .pc_navi > ul .col2 .subInner {
        width: 440px;
    }
    .pc_navi > ul .col2.width02 .subInner {
        width: 480px;
    }
    .pc_navi > ul .col2 .subInner ul {
        display: flex;
        flex-wrap: wrap;
    }
    .pc_navi > ul .col2 .subInner ul li {
        width: 50%;
    }
    .pc_navi > ul > li:first-child .subInner {
        width: 33em;
    }
    .pc_navi > ul > li:nth-child(2) .subInner {
        width: 40em;
    }
    .pc_navi > ul > li:nth-child(2) .subInner ul li a {
        padding-top: 1em;
        padding-bottom: 1em;
    }
    .pc_navi > ul > li:nth-child(5) .subInner {
        width: 430px;
        transform: translate(29%, 100%);
    }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .pc_navi > ul > li:nth-child(5) .subInner {
        transform: translate(calc(var(--wrapper)), 100%);
    }
    .pc_navi > ul .col2.width02 .subInner {
        width: 32em;
    }
}
@media only screen and (min-width: 769px) {
    .pc_navi > ul > li:nth-child(5) .subInner ul li a {
        padding-top: 1em;
        padding-bottom: 1em;
    }
    .pc_navi > ul .col3 ul {
        display: flex;
        flex-wrap: wrap;
    }
    .pc_navi > ul .col3 ul li {
        width: 33%;
    }
    .menu_toggle .inside .ft_link {
        width: 100%;
        max-width: 1550px;
        margin: auto;
        min-height: 100%;
        display: flex;
        align-items: center;
        font-size: min(16px, 1vw);
        padding: 20px var(--wrapper) !important;
    }
    .menu_toggle .inside .ft_link .link_list {
        width: 100%;
    }
    .menu_toggle .inside .ft_link .menu01 {
        width: 18em;
    }
    .menu_toggle .inside .ft_link .menu-gr {
        width: calc(100% - 22em);
    }
}
@media only screen and (min-width: 769px) and (max-width: 1560px) {
    .right_head {
        padding-right: 100px;
    }
}
@media only screen and (min-width: 769px) and (max-width: 1366px) {
    .right_head {
        padding-right: 75px;
    }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
    .right_head {
        padding-right: min(75px, 7vw);
    }
}
@media only screen and (min-width: 769px) and (max-width: 1024px) {
    .pc_navi > ul {
        font-size: 1.4vw;
    }
    .pc_navi > ul .subInner ul li a {
        font-size: 12px;
    }
}
.idx_gallery .list {
    display: flex;
}
@media only screen and (max-width: 1400px) and (min-width: 769px) {
    .idx_gallery .img {
        width: 400px;
    }
}
.time_sheet {
    margin: 0px auto;
    max-width: 500px;
    font-size: min(16px, 1.1vw);
}
.time_sheet td,
.time_sheet th {
    border: 0;
    padding: 0;
    text-align: center;
    font-weight: 500;
    position: relative;
    letter-spacing: 0.1em;
    color: #3f4a46;
}
.time_sheet td:after,
.time_sheet th:after {
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #aaaaaa;
}
@media only screen and (min-width: 769px) {
    .time_sheet td:first-child,
    .time_sheet th:first-child {
        padding-right: 0.5em;
    }
    .time_sheet td:last-child,
    .time_sheet th:last-child {
        padding-right: 1.25em;
    }
}
.time_sheet .dot {
    position: relative;
    padding: 0 0.5em;
}
.time_sheet .dot:before {
    position: absolute;
    content: "";
    top: calc(50% + 0.125em);
    left: 0.25em;
    width: 4px;
    height: 1px;
    background-color: var(--clr1);
}
.time_sheet tr:first-child th {
    padding-top: 0;
    padding-bottom: 0.625em;
    width: 9.1%;
}
.time_sheet tr:first-child th:first-child {
    width: 29.2%;
}
.time_sheet tr:first-child th:last-child {
    width: 16%;
    letter-spacing: -0.09375em;
}
.time_sheet tr:nth-child(2) td {
    padding-top: 1.4375em;
    padding-bottom: 1.625em;
}
.time_sheet tr:nth-child(3) td {
    padding-top: 1.375em;
    padding-bottom: 1.625em;
}
.time_sheet tr:nth-child(2) td:not(:first-child),
.time_sheet tr:nth-child(3) td:not(:first-child) {
    color: #689947;
}
.time_sheet .note {
    font-size: 14px;
    margin-top: 1em;
    font-weight: 500;
    color: #3f4a46;
}
@media only screen and (max-width: 1440px) and (min-width: 769px) {
    :root {
        --wrapper: 80px;
    }
}
@media only screen and (max-width: 1200px) and (min-width: 769px) {
    :root {
        --ttl_size: 22px;
        --wrapper: 60px;
    }
}
.totop {
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
    position: fixed;
    z-index: 19;
    bottom: 0;
    right: 0;
    width: var(--wrapper);
    height: var(--wrapper);
    background-color: #548235;
}
.totop.active {
    opacity: 1;
    visibility: visible;
}
.totop .icon {
    background-image: url(../images/totop.png);
    background-repeat: no-repeat;
    background-size: 21px auto;
    background-position: center;
    border: 0px;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}
@media only screen and (min-width: 769px) {
    .totop:hover {
        background-color: #689947;
    }
}
.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;
    top: var(--wrapper);
    right: 0px;
    z-index: 20;
    transition: right 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 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 100%;
    flex-direction: column;
}
.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 p {
    background-color: #37758c;
}
.fixed_banner .tel p .tt:before {
    margin-bottom: 0.5em;
    width: 27px;
    height: 28px;
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='55px' height='54px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M54.171,34.407 C54.162,34.263 54.134,34.121 54.085,33.959 C54.046,33.828 54.000,33.708 53.930,33.571 C53.865,33.452 53.792,33.345 53.704,33.234 C53.616,33.128 53.530,33.030 53.421,32.936 C53.318,32.849 53.206,32.774 53.093,32.713 C52.961,32.635 52.827,32.575 52.740,32.550 L38.749,29.350 C38.017,29.186 37.263,29.401 36.737,29.933 L31.029,35.616 C30.617,36.027 30.387,36.577 30.384,37.159 C30.383,37.745 30.607,38.298 31.019,38.713 C31.839,39.542 33.281,39.542 34.096,38.725 L38.958,33.885 L49.844,36.341 L49.844,49.103 C49.594,49.164 49.304,49.214 49.090,49.216 C25.055,47.797 6.656,29.368 5.340,5.365 C5.303,5.000 5.319,4.710 5.341,4.514 L18.149,4.514 L20.602,15.465 L15.779,20.494 C15.630,20.657 15.513,20.840 15.348,21.203 C15.264,21.421 15.222,21.653 15.221,21.864 L15.864,21.956 L15.211,22.030 C15.219,22.234 15.261,22.441 15.345,22.683 C15.361,22.744 15.381,22.805 15.386,22.805 L15.386,22.805 L15.474,23.038 C18.317,28.087 22.125,32.436 26.790,35.965 C27.666,36.626 28.913,36.511 29.711,35.665 C30.123,35.228 30.322,34.654 30.271,34.048 C30.219,33.421 29.899,32.840 29.393,32.456 C25.721,29.677 22.606,26.248 20.130,22.257 L24.555,17.653 C25.062,17.124 25.271,16.375 25.112,15.654 L22.020,1.842 L21.949,1.669 C21.906,1.531 21.849,1.397 21.774,1.266 C21.703,1.142 21.629,1.024 21.528,0.905 C21.445,0.809 21.359,0.730 21.258,0.649 C21.167,0.575 21.042,0.478 20.882,0.395 C20.781,0.343 20.678,0.305 20.537,0.258 C20.380,0.209 20.198,0.228 20.155,0.181 L4.594,0.138 C4.496,0.138 4.418,0.157 4.432,0.162 C4.375,0.158 4.285,0.153 4.191,0.176 L4.007,0.246 C3.817,0.300 3.649,0.373 3.608,0.413 C1.707,1.108 0.733,3.098 0.997,5.703 C2.432,31.897 22.589,52.034 48.964,53.586 C51.488,53.586 54.202,52.449 54.202,49.954 L54.202,34.593 L54.171,34.407 Z'/%3E%3C/svg%3E");
}
.fixed_banner .web p {
    background-color: #4393a5;
}
.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' xmlns:xlink='http://www.w3.org/1999/xlink' width='56px' height='54px'%3E%3Cpath fill-rule='evenodd' fill='rgb(248, 248, 248)' d='M55.986,48.180 C55.651,50.828 53.738,53.053 51.131,53.555 C35.709,53.787 20.192,53.826 4.774,53.533 C2.159,52.975 0.225,50.668 -0.005,47.965 L0.031,8.909 C0.358,6.668 1.755,4.789 3.840,3.976 C5.796,3.213 7.771,3.843 9.737,3.607 C9.851,3.592 10.129,3.554 10.129,3.427 L10.129,1.453 C10.129,0.996 11.080,0.309 11.517,0.200 C12.450,-0.034 13.772,0.848 13.772,1.805 L13.772,3.604 L26.179,3.604 L26.179,1.572 C26.179,1.471 26.664,0.702 26.802,0.587 C27.464,0.020 28.535,0.020 29.196,0.587 C29.337,0.702 29.820,1.471 29.820,1.572 L29.820,3.604 L42.227,3.604 L42.227,1.805 C42.227,0.831 43.544,-0.034 44.481,0.200 C44.918,0.309 45.870,0.996 45.870,1.453 L45.870,3.427 C45.870,3.554 46.147,3.592 46.261,3.607 C48.228,3.843 50.203,3.213 52.159,3.976 C54.320,4.819 55.717,6.786 55.999,9.112 L55.986,48.180 ZM52.358,9.226 C52.358,8.652 51.175,7.313 50.592,7.313 L45.870,7.313 L45.870,9.339 C45.870,9.528 45.260,10.253 45.068,10.382 C44.156,10.982 42.873,10.587 42.434,9.594 C42.397,9.507 42.227,9.028 42.227,8.994 L42.227,7.313 L29.820,7.313 L29.820,9.226 C29.820,9.924 28.607,10.704 27.946,10.681 C27.321,10.658 26.179,9.882 26.179,9.226 L26.179,7.313 L13.772,7.313 L13.772,8.994 C13.772,9.028 13.604,9.507 13.565,9.594 C13.125,10.587 11.843,10.982 10.931,10.382 C10.738,10.253 10.129,9.528 10.129,9.339 L10.129,7.313 C8.573,7.541 5.529,6.755 4.366,7.934 C4.190,8.111 3.640,9.028 3.640,9.226 L3.640,15.894 L52.358,15.894 L52.358,9.226 ZM52.358,19.605 L3.640,19.605 L3.640,47.961 C3.640,48.000 3.887,48.606 3.937,48.704 C4.370,49.548 5.301,49.940 6.198,49.994 L49.687,49.997 C50.628,49.948 51.537,49.651 52.020,48.776 C52.078,48.672 52.358,48.005 52.358,47.961 L52.358,19.605 ZM44.662,28.060 C43.457,28.207 40.784,28.185 39.549,28.076 C36.816,27.837 36.781,24.606 39.356,24.278 C40.424,24.141 44.386,24.112 45.302,24.418 C47.009,24.986 46.883,27.782 44.662,28.060 ZM30.549,28.060 C29.312,28.203 26.693,28.185 25.435,28.076 C22.784,27.844 22.635,24.592 25.358,24.278 C26.430,24.154 30.290,24.102 31.186,24.419 C33.048,25.082 32.750,27.803 30.549,28.060 ZM16.547,28.060 C15.430,28.194 11.990,28.211 10.921,28.018 C8.751,27.627 8.734,24.536 11.339,24.259 C12.431,24.141 16.352,24.112 17.251,24.467 C17.384,24.518 17.732,24.760 17.830,24.867 C18.963,26.095 18.091,27.869 16.547,28.060 ZM16.547,36.871 C15.587,36.991 11.331,37.007 10.558,36.738 C8.834,36.138 9.064,33.499 10.668,33.203 C12.481,32.868 15.177,33.353 17.079,33.225 C18.976,34.039 18.638,36.615 16.547,36.871 ZM10.668,42.016 C11.364,41.872 16.294,41.872 16.990,42.016 C18.768,42.383 18.876,45.400 16.547,45.686 C15.587,45.804 11.331,45.822 10.558,45.554 C8.825,44.953 9.055,42.347 10.668,42.016 ZM30.661,36.871 C29.662,36.993 25.706,37.029 24.834,36.806 C22.996,36.342 22.962,33.817 24.668,33.201 L31.190,33.228 C33.061,34.041 32.677,36.627 30.661,36.871 ZM24.782,42.016 L31.190,42.044 C33.042,42.853 32.684,45.442 30.661,45.686 C29.644,45.809 25.731,45.840 24.834,45.618 C22.967,45.161 22.950,42.509 24.782,42.016 ZM38.782,33.201 L45.219,33.201 C47.067,33.934 46.804,36.595 44.778,36.875 C43.603,37.041 40.662,36.997 39.435,36.888 C37.189,36.691 36.727,34.089 38.782,33.201 ZM38.782,42.016 C39.474,41.872 44.525,41.881 45.194,42.039 C46.968,42.454 46.912,45.392 44.778,45.689 C43.603,45.851 40.662,45.809 39.435,45.705 C36.901,45.484 37.021,42.382 38.782,42.016 Z'/%3E%3C/svg%3E");
}
.fixed_banner .web2 p {
    background-image: url(../images/fixed_web2_bg.jpg);
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: cover;
    color: #3f4a46;
}
.fixed_banner .web2 p .tt:before {
    width: 46px;
    height: 37px;
    background: url(../images/shared_fixed_bnr_web2.png) center/100% auto no-repeat;
    margin-bottom: 4px;
}
.fixed_banner .location p {
    background-color: #76b5bf;
}
.fixed_banner .location p .tt:before {
    width: 27px;
    height: 34px;
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='54px' height='68px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M26.977,67.381 C25.859,67.381 24.827,66.767 24.270,65.768 C23.785,64.796 21.453,60.078 20.004,57.327 C18.255,54.047 17.415,53.337 11.635,49.281 C9.315,47.699 7.224,45.714 5.451,43.391 C3.765,41.179 2.437,38.696 1.500,36.012 C-0.376,30.666 -0.463,24.738 1.256,19.323 C2.136,16.546 3.433,13.975 5.109,11.680 C6.789,9.380 8.779,7.387 11.023,5.758 C13.328,4.089 15.839,2.805 18.487,1.939 C21.236,1.036 24.088,0.577 26.961,0.577 C26.974,0.578 26.985,0.578 26.998,0.577 C29.880,0.577 32.728,1.032 35.477,1.932 C38.128,2.802 40.640,4.087 42.945,5.758 C45.191,7.381 47.185,9.374 48.868,11.680 C50.546,13.978 51.843,16.549 52.723,19.323 C54.440,24.744 54.347,30.677 52.461,36.029 C51.519,38.717 50.186,41.198 48.499,43.400 C46.722,45.726 44.626,47.711 42.272,49.308 C40.266,50.627 38.348,52.087 36.544,53.658 C35.547,54.618 34.656,55.855 33.978,57.257 C32.355,60.319 29.812,65.565 29.791,65.613 C29.175,66.743 28.138,67.372 27.014,67.381 C27.003,67.381 26.990,67.381 26.977,67.381 ZM26.980,5.376 C24.592,5.376 22.237,5.756 19.963,6.501 C17.780,7.218 15.710,8.277 13.806,9.652 C11.969,10.987 10.333,12.626 8.949,14.523 C7.579,16.398 6.518,18.504 5.796,20.784 C4.391,25.208 4.462,30.049 5.995,34.416 C6.765,36.627 7.854,38.662 9.231,40.470 C10.690,42.381 12.408,44.016 14.332,45.324 C20.267,49.489 21.907,50.750 24.209,55.070 C25.022,56.613 26.107,58.761 26.980,60.506 C27.840,58.763 28.924,56.601 29.734,55.077 C30.621,53.237 31.847,51.539 33.340,50.108 C35.390,48.317 37.481,46.728 39.638,45.310 C41.539,44.019 43.260,42.388 44.725,40.472 C46.103,38.672 47.194,36.639 47.969,34.429 C49.509,30.055 49.585,25.209 48.183,20.780 C47.460,18.505 46.399,16.399 45.029,14.523 C43.642,12.624 42.005,10.985 40.163,9.655 C38.257,8.275 36.185,7.211 34.003,6.495 C31.732,5.753 29.378,5.376 27.010,5.376 C26.998,5.375 26.990,5.374 26.980,5.376 ZM27.141,39.920 C25.437,39.920 23.732,39.583 22.109,38.912 C20.584,38.281 19.193,37.358 17.980,36.162 C16.803,35.009 15.863,33.633 15.190,32.069 C13.812,28.863 13.812,25.193 15.187,21.990 C15.868,20.426 16.809,19.054 17.988,17.906 C19.190,16.719 20.581,15.793 22.111,15.158 C23.654,14.515 25.283,14.176 26.949,14.156 C27.030,14.150 27.114,14.145 27.198,14.148 C28.906,14.148 30.579,14.482 32.173,15.143 C33.701,15.774 35.090,16.701 36.303,17.894 C37.477,19.045 38.419,20.423 39.095,21.985 C40.471,25.195 40.471,28.862 39.097,32.066 C38.419,33.634 37.477,35.012 36.297,36.168 C35.088,37.358 33.697,38.281 32.171,38.913 C30.550,39.583 28.846,39.920 27.141,39.920 ZM27.115,18.953 C26.022,18.953 24.950,19.171 23.929,19.596 C22.961,19.996 22.085,20.582 21.313,21.343 C20.572,22.063 19.984,22.925 19.557,23.905 C18.706,25.886 18.706,28.171 19.562,30.162 C19.986,31.144 20.574,32.009 21.307,32.726 C22.084,33.491 22.961,34.075 23.919,34.473 C25.996,35.332 28.283,35.333 30.360,34.475 C31.320,34.079 32.198,33.491 32.971,32.730 C33.709,32.009 34.298,31.144 34.725,30.156 C35.578,28.171 35.578,25.886 34.722,23.895 C34.298,22.913 33.709,22.048 32.976,21.331 C32.198,20.564 31.320,19.977 30.360,19.581 C29.381,19.176 28.357,18.962 27.314,18.947 C27.255,18.952 27.195,18.976 27.137,18.953 C27.129,18.953 27.122,18.953 27.115,18.953 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;
        --size: var(--wrapper);
        width: var(--wrapper);
    }
    .fixed_banner:before {
        position: absolute;
        content: "";
        top: calc(var(--wrapper) * 3);
        left: 0;
        width: 1px;
        height: 100vh;
        background-color: #d8d8d8;
    }
    .fixed_banner > div {
        width: var(--wrapper);
        height: var(--wrapper);
    }
    .fixed_banner > div .ov {
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: #79b3c7;
        position: absolute;
        left: var(--wrapper);
        height: 100%;
        top: 0;
        width: var(--w_tel);
    }
    .fixed_banner > div .ov .text {
        font-size: 1.8em;
    }
    .fixed_banner p {
        width: var(--size);
        height: var(--size);
    }
    .fixed_banner p .tt {
        font-size: 0;
        letter-spacing: 0.05em;
    }
    .fixed_banner .tel {
        --w_tel: 20em;
        transform: translateX(calc(-var(--size) - var(--w_tel)));
        transition: all 0.3s ease;
    }
    .fixed_banner .tel .tt:before {
        margin-bottom: 0.45em;
    }
    .fixed_banner .tel:hover {
        transform: translateX(calc(0em - var(--w_tel)));
    }
    .fixed_banner .tel:hover a {
        width: calc(var(--size) + var(--w_tel));
    }
    .fixed_banner .tel .ov .text {
        font-family: var(--f-zenkaku);
        font-size: 2.5em;
    }
    .fixed_banner .web {
        --w_tel: 20em;
        transform: translateX(calc(-var(--size) - var(--w_tel)));
        transition: all 0.3s ease;
    }
    .fixed_banner .web p .tt:before {
        width: 28px;
        height: 28px;
    }
    .fixed_banner .web:hover {
        transform: translateX(calc(0em - var(--w_tel)));
    }
    .fixed_banner .web:hover a {
        width: calc(var(--size) + var(--w_tel));
    }
    .fixed_banner .location {
        --w_tel: 20em;
        transform: translateX(calc(-var(--size) - var(--w_tel)));
        transition: all 0.3s ease;
    }
    .fixed_banner .location:hover {
        transform: translateX(calc(0em - var(--w_tel)));
    }
    .fixed_banner .location:hover a {
        width: calc(var(--size) + var(--w_tel));
    }
    .fixed_banner .web2 {
        height: 100%;
    }
    .fixed_banner .web2 p {
        height: 13em;
    }
    .fixed_banner .web2 p .tt {
        font-size: 14px;
        margin-bottom: 0.28571em;
        line-height: 1.42857;
        letter-spacing: 0.12em;
        font-weight: 500;
    }
}
@media only screen and (max-width: 1200px) and (min-width: 769px) {
    .fixed_banner p .tt:before {
        mask-size: 80% auto;
    }
}
.idx05 {
    background-color: #f7f7f7;
    padding-top: 80px;
}
.idx05 .content {
    background-color: #fff;
    max-width: 1280px;
    padding-top: 75px;
    padding-bottom: 68px;
    position: relative;
    z-index: 2;
    border-radius: 10px;
}
.idx05 .flex {
    padding: 0 15px;
    max-width: 1148px;
    margin-left: auto;
    margin-right: auto;
}
.idx05 .flex > div {
    width: 50%;
}
.idx05_left {
    max-width: 500px;
}
.idx05_right {
    max-width: 550px;
}
.idx05_logo {
    display: table;
    margin-left: 0;
    margin-right: auto;
}
.idx05_logo a:hover {
    opacity: 1;
}
.idx05 .des {
    letter-spacing: 0.12em;
    line-height: 1.4;
    font-weight: 500;
}
.idx05 .des span {
    padding-left: 1em;
}
.idx05_block {
    display: table;
    margin-right: 0;
    margin-left: auto;
    padding-top: 11px;
    padding-right: 34px;
}
.idx05_tel {
    font-size: 32px;
}
.idx05 .time_sheet {
    margin-top: 37px;
}
.idx05_info {
    display: flex;
    font-size: min(10px, 0.89vw);
}
.idx05_info .btn {
    position: relative;
    font-size: 1.6em;
    letter-spacing: 0.05em;
    line-height: 1.875;
    font-weight: 500;
    padding-left: 4.875em;
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #3f4a46;
}
.idx05_info .btn span {
    display: block;
    color: #548235;
}
.idx05_info .btn:before {
    position: absolute;
    content: "";
    top: 2px;
    left: 0;
    border-radius: 50%;
    width: 3.75em;
    height: 3.75em;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 1.5625em auto;
}
.idx05_info .btn.train {
    margin-right: 1.6875em;
}
.idx05_info .btn.train:before {
    background-color: #548235;
    background-image: url(../images/idx05_train.png);
}
.idx05_info .btn.bus:before {
    background-color: #e1ece2;
    background-image: url(../images/idx05_car.png);
}
.idx05_map {
    height: 400px;
    margin-top: 39px;
}
.idx05_map iframe {
    border-radius: 5px;
}
@media only screen and (min-width: 769px) {
    .idx05 .des {
        font-size: min(16px, 1.45vw);
    }
}
@media only screen and (min-width: 1281px) {
    .idx05_tel {
        margin-top: -2px;
        margin-left: 3px;
    }
    .idx05_left {
        padding-top: 2px;
    }
}
@media only screen and (max-width: 1280px) and (min-width: 769px) {
    .idx05 .flex > div {
        width: 48.5%;
    }
    .idx05_map {
        margin-top: 30px;
    }
}
@media only screen and (max-width: 1200px) and (min-width: 769px) {
    .idx05 {
        padding-top: 60px;
    }
    .idx05 .content {
        padding-top: 60px;
        padding-bottom: 50px;
    }
}
@media only screen and (max-width: 992px) and (min-width: 769px) {
    .idx05 .flex > div {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    .idx05 .des {
        font-size: 14px;
    }
    .idx05 .time_sheet {
        font-size: 14px;
    }
    .idx05_right {
        padding-top: 30px;
    }
    .idx05_info {
        font-size: 8px;
    }
}
footer {
    padding: 63px 0 100px;
    position: relative;
    z-index: 1;
}
footer:before {
    position: absolute;
    content: "";
    z-index: -1;
    top: -89px;
    left: 0;
    width: 100%;
    height: calc(100% + 89px);
    background: url(../images/ft_bg.jpg) center/cover no-repeat;
}
footer p {
    margin-bottom: 0;
}
footer a,
footer p {
    color: #fff;
    text-decoration: none;
}
footer .ft_logo {
    padding: 0px 0 30px;
    max-width: 406px;
}
footer .ft_link {
    font-size: min(16px, 1vw);
}
footer .ft_bn {
    max-width: 446px;
    width: 50%;
}
footer .ft_bn img {
    border-radius: 5px;
}
.ft_link a {
    text-decoration: none;
}
.ft_link .title {
    width: 100%;
    margin-bottom: 0.52em;
    padding-left: 0;
    font-size: 3.125em;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    pointer-events: none;
    color: #89b869;
    font-family: var(--f-jp);
    text-transform: uppercase;
}
.ft_link .title:before {
    display: none;
}
.ft_link .ttl {
    font-family: var(--f-jp);
    letter-spacing: 0.05em;
    font-size: 1.375em;
    line-height: 1;
    margin-bottom: 0.409091em;
}
.ft_link ul:last-child {
    margin-bottom: 0;
}
.ft_link li {
    margin-bottom: 0;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
.ft_link a {
    display: table;
    position: relative;
    padding-left: 0em;
    color: inherit;
    font-size: 0.875em;
    letter-spacing: 0.1em;
    color: #fff;
    line-height: 2.71428;
    z-index: 2;
    padding-left: 1em;
    text-underline-offset: 0.4em;
    transition: all 0.3s ease;
}
.ft_link a:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "・";
    border-radius: 100%;
    width: auto;
    height: auto;
}
.ft_link a:after {
    position: absolute;
    content: "";
    left: 0.714285em;
    bottom: 0;
    width: 0;
    height: 1px;
    background-color: #fff;
    transition: all 0.3s ease-in-out;
}
.ft_link a:hover {
    opacity: 1;
    color: #fff;
}
@media only screen and (min-width: 769px) {
    .ft_link a:hover {
        text-decoration: underline;
    }
}
.ft_link .menu_col:last-child {
    margin-right: 0;
}
.ft_link .menu-gr .title {
    margin-bottom: 0.76em;
}
@media only screen and (min-width: 769px) {
    .ft_link .menu04 .ttl,
    .ft_link .menu04_2 .ttl {
        margin-bottom: 0.727273em;
    }
    .ft_link .menu02_3.mt {
        margin-top: 1.875em;
    }
    .ft_link .mt {
        margin-top: 38px;
    }
    .ft_link .menu_col {
        margin-right: 1.25em;
        margin-right: 0;
    }
    .ft_link .menu01 {
        width: 17em;
    }
    .ft_link .menu-gr {
        width: calc(100% - 17em);
        justify-content: flex-start;
    }
      .ft_link .menu-gr  .menu_col:nth-of-type(1) {
        width: 24%;
      }
      .ft_link .menu-gr  .menu_col:nth-of-type(2) {
        width: 21%;
      }
      .ft_link .menu-gr  .menu_col:nth-of-type(3) {
        width: 30%;
      }
      .ft_link .menu-gr  .menu_col:nth-of-type(4) {
        width: 25%;
      }
     
}
@media only screen and (min-width: 1281px) {
    footer .ft_link .menu03 {
        position: relative;
        left: -9px;
    }
    footer .ft_link .menu04 {
        position: relative;
        left: 4px;
    }
    footer .ft_link .menu05 {
        position: relative;
        left: 18px;
    }
    footer .ft_link .menu05 .ttl {
        margin-bottom: 15px;
    }
    footer .ft_link .menu05_2 {
        position: relative;
        left: 18px;
        margin-top: 37px;
    }
    footer .ft_link .menu05_2 .ttl {
        margin-bottom: 16px;
    }
}
.copyright {
    margin: 30px auto 0;
    color: #fff;
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.copyright .flex {
    align-items: center;
    justify-content: flex-end;
    min-height: 40px;
    width: 50%;
}
.copyright .inner_big {
    max-width: 1135px;
}
.copyright .textwidget {
    display: block;
    line-height: 20px;
    padding-left: 20px;
    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;
    letter-spacing: 0.1em;
}
.copyright .grits {
    margin-bottom: 0;
    line-height: 2.501;
}
.copyright .grits a {
    display: block;
}
.copyright .grits img {
    max-width: 158px;
}
@media only screen and (min-width: 1281px) {
    .copyright .textwidget {
        min-height: 23px;
        margin-top: 11px;
    }
    .copyright .textwidget p {
        position: relative;
        top: 4px;
    }
    .copyright .flex {
        position: relative;
        top: 3px;
        left: 3px;
    }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
    footer .ft_bn {
        width: 40%;
    }
    .copyright .flex {
        width: 60%;
    }
    .copyright .textwidget {
        padding-left: 15px;
        margin-left: 15px;
    }
    .copyright .textwidget p {
        font-size: 13px;
        letter-spacing: 0em;
		padding-right: 10px;
    }
}
@media only screen and (max-width: 992px) {
    footer {
        padding-bottom: var(--wrapper);
    }
    footer .ft_bn {
        padding-bottom: 20px;
    }
    .copyright {
        flex-direction: column;
        align-items: center;
    }
    .copyright > div {
        width: 100%;
        margin-left: auto;
        margin-right: auto;
    }
    .copyright .flex {
        width: 100%;
        justify-content: center;
    }
}

/* custom break point */

.br_1560,
.br_1280,
.br_1170,
.br_769,

.ft_br_769 {
    display: none;
}

@media only screen and (max-width: 768px) {
.br_750,
.br_640,
.br_520,
.br_480,
.br_430,
.br_390,
.br_375,
.br_360,
.br_320 {
    display: none;
}
}

@media only screen and (min-width: 769px) and (max-width: 1560px) {
    .br_1560 {
        display: block;
    }
}

@media only screen and (min-width: 769px) and (max-width: 1280px) {

    .br_1280,
    footer .ft_br_1280 {
        display: block;
    }

    .dis_1280 {
        display: none;
    }
}

@media only screen and (min-width: 769px) and (max-width: 1170px) {
    .br_1170 {
        display: block;
    }

    .dis_1170 {
        display: none;
    }
}

@media only screen and (min-width:769px) and (max-width:1024px) {

    footer .ft_br_769,
    .br_769 {
        display: block;
    }

    .dis_769 {
        display: none;
    }
}

@media only screen and (max-width:768px) {
    .br_750 {
        display: block;
    }

    .dis_750 {
        display: none;
    }
}


@media only screen and (max-width:640px) {
    .br_640 {
        display: block;
    }

    .dis_640 {
        display: none;
    }
}

@media only screen and (max-width:520px) {
    .br_520 {
        display: block;
    }

    .dis_520 {
        display: none;
    }
}

@media only screen and (max-width:480px) {
    .br_480 {
        display: block;
    }

    .in_480 {
        display: inline;
    }

    .dis_480 {
        display: none;
    }
}

@media only screen and (max-width:430px) {
    .br_430 {
        display: block;
    }

    .in_430 {
        display: inline;
    }

    .dis_430 {
        display: none;
    }
}

@media only screen and (max-width: 390px) {
    .br_390 {
        display: block;
    }

    .in_390 {
        display: inline;
    }

    .dis_390 {
        display: none;
    }
}

@media only screen and (max-width:375px) {
    .br_375 {
        display: block;
    }

    .in_375 {
        display: inline;
    }

    .dis_375 {
        display: none;
    }
}

@media only screen and (max-width: 360px) {
    .br_360 {
        display: block;
    }

    .dis_360 {
        display: none;
    }

    .in_360 {
        display: inline;
    }
}

@media only screen and (max-width:350px) {
    .in_320 {
        display: inline;
    }

    .br_320 {
        display: block;
    }

    .dis_320 {
        display: none;
    }

    .inside .inside_br_320 {
        display: block;
    }
}

@media only screen and (max-width:319px) {

    .br_769,
    .br_640,
    .br_520,
    .br_480,
    .br_430,
    .br_375 {
        display: none;
    }
}

/* custom break point */
/*# sourceMappingURL=style.css.map */


/* modal */
.modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	background-color: rgba(0, 0, 0, 0.5);
	padding: 20px;
	z-index: 999999;
	overflow-y: auto;
	opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    pointer-events: none;
}

.modal.active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.modal_inner {	
    width: 100%;
    border-radius: 20px;
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

h3.modal_title {
	padding: 0;
	margin: 0;
	color: var(--main-color) !important;
	font-size: 22px !important;
	font-family: inherit;
	border-bottom: none;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
h3.modal_title::after,h3.modal_title::before {
	display: none !important;
}
.modal_box {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: calc(100% - 20px);
    padding: 20px 10px;
    border-radius: 10px;
    background-color: #ffffff;
    margin: auto;
    text-align: center;
    overflow-y: auto;
    background: #fff;
    border: solid 3px var(--main-color);
    max-width: 450px;
}

.modal_text {
	font-size: 14px;
	line-height: 1.7;
}
.modal_text:last-of-type {
margin-top: 11px;
    padding-top: 10px;
    border-top: 1px solid var(--main-color);
}

.modal_text table th,
.modal_text table td {
	padding: 5px;
	font-size: 15px;
}

.modal_text table th {
	width: 45%;
}

.modal_notice {
	color: var(--clr2);
	margin: 10px 0;
	font-size: 14px;
}

.modal_btn > a {
position: relative;
    display: flex;
        align-items: center;
    padding: 6px 30px 6px 10px;
    background: var(--main-color);
    border: 1px solid var(--main-color);
    font-size: 16px;
    font-family: inherit;
    font-weight: 400;
    font-style: normal;
        letter-spacing: 1px;
    text-align: center;
    transition: background .2s, color .2s;
    text-decoration: none;
    color: #fff !important;
	border-radius: 10px;
}


.modal_btn {
    display: table;
    margin: 0 auto 15px;
}

.modal_btn > a:hover {
	opacity: 1;
  background: var(--main-color);
  color: #fff;
  border: 1px solid var(--main-color);
}

.modal_btn > a::after {
    content: "";
    position: absolute;
    top: calc(50% - 4px);
    right: 7px;
    display: block;
    width: 15px;
    height: 9px;
  background: #ffffff;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='16px' height='9px'%3E%3Cpath fill-rule='evenodd' fill='rgb(184, 24, 64)' d='M14.837,4.479 L14.837,4.484 L15.1000,4.479 L11.349,8.966 L10.186,8.219 L13.534,5.228 L0.304,5.228 L0.304,3.735 L13.445,3.735 L10.186,0.744 L11.349,-0.003 L15.1000,4.479 L14.837,4.479 Z'/%3E%3C/svg%3E") no-repeat center / contain;
  transition: right 0.2s , background 0.2s;
}
.modal_btn > a::before {
	--mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='56px' height='54px'%3E%3Cpath fill-rule='evenodd' fill='rgb(248, 248, 248)' d='M55.986,48.180 C55.651,50.828 53.738,53.053 51.131,53.555 C35.709,53.787 20.192,53.826 4.774,53.533 C2.159,52.975 0.225,50.668 -0.005,47.965 L0.031,8.909 C0.358,6.668 1.755,4.789 3.840,3.976 C5.796,3.213 7.771,3.843 9.737,3.607 C9.851,3.592 10.129,3.554 10.129,3.427 L10.129,1.453 C10.129,0.996 11.080,0.309 11.517,0.200 C12.450,-0.034 13.772,0.848 13.772,1.805 L13.772,3.604 L26.179,3.604 L26.179,1.572 C26.179,1.471 26.664,0.702 26.802,0.587 C27.464,0.020 28.535,0.020 29.196,0.587 C29.337,0.702 29.820,1.471 29.820,1.572 L29.820,3.604 L42.227,3.604 L42.227,1.805 C42.227,0.831 43.544,-0.034 44.481,0.200 C44.918,0.309 45.870,0.996 45.870,1.453 L45.870,3.427 C45.870,3.554 46.147,3.592 46.261,3.607 C48.228,3.843 50.203,3.213 52.159,3.976 C54.320,4.819 55.717,6.786 55.999,9.112 L55.986,48.180 ZM52.358,9.226 C52.358,8.652 51.175,7.313 50.592,7.313 L45.870,7.313 L45.870,9.339 C45.870,9.528 45.260,10.253 45.068,10.382 C44.156,10.982 42.873,10.587 42.434,9.594 C42.397,9.507 42.227,9.028 42.227,8.994 L42.227,7.313 L29.820,7.313 L29.820,9.226 C29.820,9.924 28.607,10.704 27.946,10.681 C27.321,10.658 26.179,9.882 26.179,9.226 L26.179,7.313 L13.772,7.313 L13.772,8.994 C13.772,9.028 13.604,9.507 13.565,9.594 C13.125,10.587 11.843,10.982 10.931,10.382 C10.738,10.253 10.129,9.528 10.129,9.339 L10.129,7.313 C8.573,7.541 5.529,6.755 4.366,7.934 C4.190,8.111 3.640,9.028 3.640,9.226 L3.640,15.894 L52.358,15.894 L52.358,9.226 ZM52.358,19.605 L3.640,19.605 L3.640,47.961 C3.640,48.000 3.887,48.606 3.937,48.704 C4.370,49.548 5.301,49.940 6.198,49.994 L49.687,49.997 C50.628,49.948 51.537,49.651 52.020,48.776 C52.078,48.672 52.358,48.005 52.358,47.961 L52.358,19.605 ZM44.662,28.060 C43.457,28.207 40.784,28.185 39.549,28.076 C36.816,27.837 36.781,24.606 39.356,24.278 C40.424,24.141 44.386,24.112 45.302,24.418 C47.009,24.986 46.883,27.782 44.662,28.060 ZM30.549,28.060 C29.312,28.203 26.693,28.185 25.435,28.076 C22.784,27.844 22.635,24.592 25.358,24.278 C26.430,24.154 30.290,24.102 31.186,24.419 C33.048,25.082 32.750,27.803 30.549,28.060 ZM16.547,28.060 C15.430,28.194 11.990,28.211 10.921,28.018 C8.751,27.627 8.734,24.536 11.339,24.259 C12.431,24.141 16.352,24.112 17.251,24.467 C17.384,24.518 17.732,24.760 17.830,24.867 C18.963,26.095 18.091,27.869 16.547,28.060 ZM16.547,36.871 C15.587,36.991 11.331,37.007 10.558,36.738 C8.834,36.138 9.064,33.499 10.668,33.203 C12.481,32.868 15.177,33.353 17.079,33.225 C18.976,34.039 18.638,36.615 16.547,36.871 ZM10.668,42.016 C11.364,41.872 16.294,41.872 16.990,42.016 C18.768,42.383 18.876,45.400 16.547,45.686 C15.587,45.804 11.331,45.822 10.558,45.554 C8.825,44.953 9.055,42.347 10.668,42.016 ZM30.661,36.871 C29.662,36.993 25.706,37.029 24.834,36.806 C22.996,36.342 22.962,33.817 24.668,33.201 L31.190,33.228 C33.061,34.041 32.677,36.627 30.661,36.871 ZM24.782,42.016 L31.190,42.044 C33.042,42.853 32.684,45.442 30.661,45.686 C29.644,45.809 25.731,45.840 24.834,45.618 C22.967,45.161 22.950,42.509 24.782,42.016 ZM38.782,33.201 L45.219,33.201 C47.067,33.934 46.804,36.595 44.778,36.875 C43.603,37.041 40.662,36.997 39.435,36.888 C37.189,36.691 36.727,34.089 38.782,33.201 ZM38.782,42.016 C39.474,41.872 44.525,41.881 45.194,42.039 C46.968,42.454 46.912,45.392 44.778,45.689 C43.603,45.851 40.662,45.809 39.435,45.705 C36.901,45.484 37.021,42.382 38.782,42.016 Z'/%3E%3C/svg%3E");
	content: "";
	display: lock;
    mask-image: var(--mask);
    mask-repeat: no-repeat;
    mask-size: 100% auto;
        width: 21px;
    height: 20px;
    background: #fff;
        margin-right: 7px;
  
}

.modal_btn-tel > a {
	--clr2: #37758c;
	background: var(--clr2);
	border-color: var(--clr2);
}
.modal_btn-tel > a::before {
	--mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='55px' height='54px'%3E%3Cpath fill-rule='evenodd' fill='rgb(255, 255, 255)' d='M54.171,34.407 C54.162,34.263 54.134,34.121 54.085,33.959 C54.046,33.828 54.000,33.708 53.930,33.571 C53.865,33.452 53.792,33.345 53.704,33.234 C53.616,33.128 53.530,33.030 53.421,32.936 C53.318,32.849 53.206,32.774 53.093,32.713 C52.961,32.635 52.827,32.575 52.740,32.550 L38.749,29.350 C38.017,29.186 37.263,29.401 36.737,29.933 L31.029,35.616 C30.617,36.027 30.387,36.577 30.384,37.159 C30.383,37.745 30.607,38.298 31.019,38.713 C31.839,39.542 33.281,39.542 34.096,38.725 L38.958,33.885 L49.844,36.341 L49.844,49.103 C49.594,49.164 49.304,49.214 49.090,49.216 C25.055,47.797 6.656,29.368 5.340,5.365 C5.303,5.000 5.319,4.710 5.341,4.514 L18.149,4.514 L20.602,15.465 L15.779,20.494 C15.630,20.657 15.513,20.840 15.348,21.203 C15.264,21.421 15.222,21.653 15.221,21.864 L15.864,21.956 L15.211,22.030 C15.219,22.234 15.261,22.441 15.345,22.683 C15.361,22.744 15.381,22.805 15.386,22.805 L15.386,22.805 L15.474,23.038 C18.317,28.087 22.125,32.436 26.790,35.965 C27.666,36.626 28.913,36.511 29.711,35.665 C30.123,35.228 30.322,34.654 30.271,34.048 C30.219,33.421 29.899,32.840 29.393,32.456 C25.721,29.677 22.606,26.248 20.130,22.257 L24.555,17.653 C25.062,17.124 25.271,16.375 25.112,15.654 L22.020,1.842 L21.949,1.669 C21.906,1.531 21.849,1.397 21.774,1.266 C21.703,1.142 21.629,1.024 21.528,0.905 C21.445,0.809 21.359,0.730 21.258,0.649 C21.167,0.575 21.042,0.478 20.882,0.395 C20.781,0.343 20.678,0.305 20.537,0.258 C20.380,0.209 20.198,0.228 20.155,0.181 L4.594,0.138 C4.496,0.138 4.418,0.157 4.432,0.162 C4.375,0.158 4.285,0.153 4.191,0.176 L4.007,0.246 C3.817,0.300 3.649,0.373 3.608,0.413 C1.707,1.108 0.733,3.098 0.997,5.703 C2.432,31.897 22.589,52.034 48.964,53.586 C51.488,53.586 54.202,52.449 54.202,49.954 L54.202,34.593 L54.171,34.407 Z'/%3E%3C/svg%3E");
}
.modal_btn.modal_btn-tel > a:hover {
	background: var(--clr2);
	border-color: var(--clr2);
}

.modal_close {
    position: absolute;
    right: 0;
    top: 0;
    width: 45px;
    height: 45px;
    cursor: pointer;
}

button.modal_close {
	border-radius: 0;
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    text-transform: none;
    -webkit-appearance: button;
    background-color: transparent;
    box-shadow: none;
    border: none;
    padding: 0;
}

.modal_close::before, .modal_close::after {
  position: absolute;
  top: 10px;
  right: 20px;
  display: block;
  width: 2px;
  height: 24px;
  content: '';
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  background-color: var(--main-color);
	   z-index: 999999999;

}
.modal_close::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.modalContents {
	margin-bottom: 20px;
}