@charset "UTF-8";
:root {
    --f-notosans: "Noto Sans JP", sans-serif;
    --f-jp: "Noto Serif JP", serif;
    --f-en: "Cantarell", sans-serif;
    --main-color: #ff8a00;
    --clr1: #052b36;
    --clr2: #ccc;
    --ttl_size: 28px;
    --wrapper: 110px;
}
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: 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.5;
    letter-spacing: inherit;
    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 {
    padding-top: 18px;
    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;
    }
}
.accBtn:after,
.accBtn:before {
    transition: all 0.3s ease-in-out;
}
.accBtn.triangle,
.accBtn.triangle_btt {
    position: relative;
}
.accBtn.triangle:after {
    content: "";
    position: absolute;
    right: 10px;
    top: 50%;
    width: 0;
    height: 0;
    border-radius: 20px;
    border-color: inherit;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 10px solid;
    transform: translateY(-50%);
    transition: all 0.3s ease-in-out;
}
.accBtn.triangle.rotate:after {
    transform: translateY(-50%) rotateX(180deg);
}
.accBtn.triangle_btt:after {
    content: "";
    position: relative;
    top: 0px;
    width: 0;
    height: 0;
    border-radius: 20px;
    border-color: inherit;
    border-left: 12px solid transparent;
    border-right: 12px solid transparent;
    border-top: 10px solid;
    display: block;
    margin: 10px auto 0;
    transition: all 0.3s ease-in-out;
}
.accBtn.rotate:after {
    transform: rotateX(180deg);
}
.TabContainer .TabContent {
    position: relative;
    z-index: 2;
    overflow: hidden;
    border-radius: 10px;
}
.TabContainer .TabContent .content {
    transition: all 0.3s ease-in-out;
    background-color: #ffffff;
}
.TabContainer .TabContent .content > div {
    max-width: 1320px;
    padding: 79px 20px 59px;
    margin-left: auto;
    margin-right: auto;
    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: 95%;
    margin: 0px auto;
    max-width: 1284px;
}
.TabContainer .TabPager > div {
    background-color: #faefd0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    margin: 0 1px;
    width: calc(25% - 2px);
    transition: all 0.3s ease;
    max-width: 319px;
    cursor: pointer;
    color: #ffffff;
    border-radius: 6px 6px 0px 0px;
    height: 80px;
}
.TabContainer .TabPager > div:after {
    position: absolute;
    bottom: -1px;
    left: calc(50% - 7px);
    content: "";
    width: 15px;
    height: 10px;
    margin-left: auto;
    margin-right: auto;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-image: url(../images/idx06_tab_Arr.png);
    opacity: 0;
    visibility: hidden;
}
.TabContainer .TabPager > div p {
    color: var(--main-color);
    margin: 0;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.6;
    border-bottom: 1px solid transparent;
    position: relative;
}
.TabContainer .TabPager > div.active {
    background-color: #fff;
    z-index: 1;
    color: #3d9e81;
}
.TabContainer .TabPager > div.active:after {
    opacity: 1;
    visibility: visible;
}
@media only screen and (min-width: 769px) {
    .TabContainer .TabPager > div {
        height: min(80px, 8vw);
    }
    .TabContainer .TabPager > div p {
        font-size: min(24px, 2.3vw);
    }
    .TabContainer .TabPager > div:hover {
        background-color: #fff;
    }
}
@media only screen and (max-width: 992px) and (min-width: 769px) {
    .TabContainer .TabContent .content > div {
        padding: 60px 20px;
    }
}
@media only screen and (max-width: 768px) {
    .TabContainer .TabPager > div {
        height: min(80px, 11vw);
    }
    .TabContainer .TabPager > div:after {
        bottom: 0.2em;
    }
    .TabContainer .TabPager > div p {
        font-size: min(24px, 2.2vw);
    }
    .TabContainer .TabContent {
        margin-top: -1px;
    }
    .TabContainer .TabContent .content > div {
        padding: 40px 20px;
    }
}
@media only screen and (max-width: 460px) {
    .TabContainer .TabPager {
        flex-wrap: wrap;
    }
    .TabContainer .TabPager > div {
        height: 15vw;
        width: calc(50% - 2px);
        margin: 1px;
    }
    .TabContainer .TabPager > div:nth-child(3),
    .TabContainer .TabPager > div:nth-child(4) {
        margin-bottom: 0;
    }
    .TabContainer .TabPager > div:after {
        width: 12px;
        height: 7px;
    }
    .TabContainer .TabPager > div p {
        font-size: 4vw;
    }
}
.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: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.key {
    position: relative;
}
.gMap {
    width: 100%;
    height: 100%;
}
.txt_l {
    float: left;
    width: calc(100% - 385px);
}
.txt_r {
    float: right;
    width: calc(100% - 385px);
}
.image_alone {
    display: table;
    max-width: 500px;
    margin: 0 auto;
    border: 7px solid rgba(231, 231, 231, 0.5);
    border-radius: 11px;
    overflow: hidden;
}
.tel_click {
    text-decoration: none;
    font-size: 10px;
}
.tel_click .sm {
    font-size: 1.8em;
    letter-spacing: 0.111111em;
}
.tel_click .icon {
    font-weight: 500;
    color: #fff;
    letter-spacing: 0.1em;
    font-size: 3.6em;
    padding-left: 0.1111em;
    line-height: 1;
    position: relative;
    top: 0.05556em;
}
.tel_click .icon:before {
    content: "";
    display: none;
    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: #fff;
}
@media only screen and (max-width: 768px) {
    .tel_click {
        font-size: 8px;
    }
}
.en {
    font-family: var(--f-en);
}
.btn a {
    position: relative;
    color: var(--main-color);
    text-decoration: none;
}
.btn a:after {
    content: "";
    display: block;
    position: absolute;
    transition: all 0.3s;
    width: 0.38125em;
    height: 12px;
    right: 5%;
    top: calc(50% - 6px);
    mask-image: url(../images/btn-arr.png);
    mask-size: 100% auto;
    mask-repeat: no-repeat;
    mask-position: center;
    background-color: var(--main-color);
    transition: all 0.3s;
}
.btn-group {
    font-size: 0.625em;
}
.btn-group .btn {
    font-size: 1em;
}
.btn-group .btn.style01,
.btn-group .btn.style02 {
    width: 100%;
    max-width: 400px;
    overflow: hidden;
}
.btn-group .btn.style01 a,
.btn-group .btn.style02 a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 3.8888888889em;
    padding: 0.5em 1em;
    font-size: 1.8em;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    transition: all 0.3s;
    border-radius: 35px;
    background-image: -moz-linear-gradient(180deg, rgb(255, 187, 0) 0%, rgb(255, 137, 0) 100%);
    background-image: -webkit-linear-gradient(180deg, rgb(255, 187, 0) 0%, rgb(255, 137, 0) 100%);
    background-image: -ms-linear-gradient(180deg, rgb(255, 187, 0) 0%, rgb(255, 137, 0) 100%);
}
.btn-group .btn.style01 a:hover,
.btn-group .btn.style02 a:hover {
    opacity: 1;
}
.btn-group .btn.style01 a:after,
.btn-group .btn.style02 a:after {
    background-color: #fff;
}
@media only screen and (min-width: 769px) {
    .btn-group .btn.style01 a:hover,
    .btn-group .btn.style02 a:hover {
        background-color: #fff;
        background-image: unset;
        border: 1px solid var(--main-color);
        color: var(--main-color);
    }
    .btn-group .btn.style01 a:hover:after,
    .btn-group .btn.style02 a:hover:after {
        background-color: var(--main-color);
    }
}
.btn-group .btn.style02 a {
    color: var(--main-color);
    background-color: #fff;
    background-image: unset;
}
.btn-group .btn.style02 a:after {
    background-color: var(--main-color);
}
@media only screen and (min-width: 769px) {
    .btn-group .btn.style02 a:hover {
        border: 0;
        background-color: var(--main-color);
        color: #fff;
    }
    .btn-group .btn.style02 a:hover:after {
        background-color: #fff;
    }
}
.yt {
    max-width: 800px;
    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: 38px;
    height: 38px;
    transform: translateY(-50%);
    cursor: pointer;
    color: transparent;
}
.slick-arrow:focus {
    outline: 0;
}
.slick-prev {
    left: -55px;
}
.slick-next {
    right: -55px;
}
@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;
}
.key {
    margin-left: auto;
    margin-right: auto;
    width: calc(100% - 36px);
    border-radius: 12px;
}
header {
    position: fixed;
    left: 0;
    width: 100%;
    height: var(--wrapper);
    z-index: 20;
    transition: all 0.3s;
}
.ovh header,
header.active {
    background-color: #fff;
    box-shadow: 0px 2px 8px 1px #ccc;
    top: 0;
}
.ovh header .logo,
header.active .logo {
    filter: none;
    top: 2px;
}
.ovh header .pc_navi > ul > li > a,
.ovh header .pc_navi > ul > li > p,
header.active .pc_navi > ul > li > a,
header.active .pc_navi > ul > li > p {
    color: var(--main-color);
}
.ovh header .pc_navi > ul > li:hover > a,
.ovh header .pc_navi > ul > li:hover > p,
header.active .pc_navi > ul > li:hover > a,
header.active .pc_navi > ul > li:hover > p {
    color: var(--clr1);
}
.ovh header .pc_navi > ul > li:hover > a:after,
.ovh header .pc_navi > ul > li:hover > p:after,
header.active .pc_navi > ul > li:hover > a:after,
header.active .pc_navi > ul > li:hover > p:after {
    border-color: var(--clr1) transparent transparent transparent;
}
.ovh header .pc_navi > ul > li > a:after,
.ovh header .pc_navi > ul > li > p:after,
header.active .pc_navi > ul > li > a:after,
header.active .pc_navi > ul > li > p:after {
    border-color: var(--main-color) transparent transparent transparent;
}
.ovh header #nav-icon span,
header.active #nav-icon span {
    background-color: var(--main-color);
}
.ovh header .hamburger-btn,
header.active .hamburger-btn {
    top: calc(var(--wrapper) / 2 - 10px);
}
.ovh header .hamburger-btn:hover #nav-icon span,
header.active .hamburger-btn:hover #nav-icon span {
    background-color: var(--clr1);
}
.header_top {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    justify-content: space-between;
    margin: 0 auto;
    padding: 5px 20px;
    padding-left: 73px;
    height: 100%;
    transition: all 0.3s ease-in-out;
}
.logo {
    width: 25%;
    max-width: 248px;
    display: flex;
    justify-content: center;
    align-items: center;
    filter: brightness(0) invert(1);
    position: relative;
    top: 10px;
}
.logo a {
    display: block;
    width: 100%;
    text-align: center;
}
.logo img {
    width: auto;
}
.hd_ins a {
    text-decoration: none;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 20em;
    height: 5.2em;
    border-radius: 26px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    font-size: 10px;
    padding-right: 0.3em;
    padding-bottom: 0.4em;
}
@media only screen and (min-width: 769px) {
    .hd_ins a:hover:before {
        opacity: 1;
    }
}
.hd_ins a:hover {
    opacity: 1;
    color: #fff;
}
.hd_ins a:before {
    transition: all 0.3s;
    position: absolute;
    content: "";
    z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(../images/hd_ins_bg.jpg);
}
.hd_ins a span {
    font-size: 1.6em;
    letter-spacing: 0.1em;
    padding-left: 2.5625em;
    position: relative;
}
.hd_ins a span:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 1.6875em;
    height: 1.6875em;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-image: url(../images/hd_ins.png);
}
.right_head {
    width: 70%;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-right: 157px;
}
.pc_navi {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.pc_navi > ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: center;
    width: 100%;
    max-width: 900px;
    padding-right: 84px;
}
.pc_navi > ul > li {
    position: relative;
}
.pc_navi > ul > li:hover > a,
.pc_navi > ul > li:hover > p {
    opacity: 0.8;
    color: var(--main-color);
}
.pc_navi > ul > li:hover.menu-item-has-children > a:after,
.pc_navi > ul > li:hover.menu-item-has-children > p:after {
    border-color: var(--main-color) transparent transparent transparent;
}
.pc_navi > ul > li.menu-item-has-children > a:after,
.pc_navi > ul > li.menu-item-has-children > p:after {
    content: "";
    width: 9px;
    height: 5px;
    position: absolute;
    bottom: -10px;
    left: calc(50% - 4.5px);
    transition: all 0.5s ease;
    border-color: #fff transparent transparent transparent;
    border-style: solid;
    border-width: 6px 7px 0px 7px;
}
.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.2222222222em;
    text-decoration: none;
    text-align: center;
    font-weight: 500;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    transition: all 0.2s ease;
    color: #fff;
}
.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(3px);
}
.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: #936d49;
    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;
    display: flex;
    align-items: center;
    height: 100%;
}
.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%;
    }
    .pc_navi > ul > li:nth-child(4) .subInner {
        width: 580px;
    }
    .menu_toggle .inside .ft_link {
        width: 100%;
        max-width: 1320px;
        padding: 0 20px;
        margin: auto;
        min-height: 100%;
        display: flex;
        align-items: center;
        font-size: min(16px, 1.6vw);
    }
    .menu_toggle .inside .ft_link .link_list {
        width: 100%;
    }
    .menu_toggle .inside .ft_link .menu01,
    .menu_toggle .inside .ft_link .menu02,
    .menu_toggle .inside .ft_link .menu03 {
        width: calc(33.33% - 12px);
        margin: 0 6px;
    }
    .menu_toggle .inside .ft_link .menu01 ul,
    .menu_toggle .inside .ft_link .menu02 ul,
    .menu_toggle .inside .ft_link .menu03 ul {
        max-height: unset;
    }
    .menu_toggle .inside .ft_link .menu01 ul li,
    .menu_toggle .inside .ft_link .menu02 ul li,
    .menu_toggle .inside .ft_link .menu03 ul li {
        width: 100%;
    }
    .menu_toggle .inside .ft_link .menu02 {
        margin-top: 0;
    }
    .menu_toggle .inside .ft_link .menu03 {
        margin-top: 0.95em;
    }
    .menu_toggle ul li a:after {
        background-color: var(--clr1);
    }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
    .header_top {
        padding-left: 30px;
    }
    .right_head {
        margin-right: 90px;
        width: calc(72% - 70px);
    }
    .pc_navi > ul {
        padding-right: 40px;
    }
}
@media only screen and (min-width: 769px) and (max-width: 1280px) {
    .pc_navi > ul > li > a,
    .pc_navi > ul > li > p {
        font-size: min(16px, 1.3vw);
    }
    .hd_ins a {
        font-size: min(8px, 0.8vw);
    }
}
@media only screen and (min-width: 769px) and (max-width: 1200px) {
    .right_head {
        margin-right: 70px;
    }
    .pc_navi > ul {
        padding-right: 1vw;
    }
}
@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_banner {
    padding: 5px 0;
    --space: 10px;
    margin-bottom: 30px;
}
@media only screen and (min-width: 769px) {
}
.idx_banner .flex {
    justify-content: center;
}
@media only screen and (min-width: 769px) {
}
.idx_banner .banner {
    max-width: 175px;
    width: calc(25% - var(--space));
}
.idx_banner .banner:hover {
    opacity: 1;
}
.idx_banner.col2 {
    margin-top: 40px;
}

@media only screen and (min-width: 769px) {
    .idx_banner {
        --space: 10px;
    }
    .idx_banner .flex {
        gap: var(--space);
    }
    .idx_banner.col2 .banner {
        max-width: 360px;
        width: calc(50% - var(--space));
    }
}
.idx_gallery {
    margin-bottom: 20px;
}
.idx_gallery ul {
    display: flex;
}
.idx_gallery .item {
    margin: 0 10px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px;
    width: 292px;
    height: 292px;
}
.idx_gallery .item.bg1 {
    background-image: url(../images/idx_gallery01.jpg);
}
.idx_gallery .item.bg2 {
    background-image: url(../images/idx_gallery02.jpg);
}
.idx_gallery .item.bg3 {
    background-image: url(../images/idx_gallery03.jpg);
}
.idx_gallery .item.bg4 {
    background-image: url(../images/idx_gallery04.jpg);
}
.idx_gallery .item.bg5 {
    background-image: url(../images/idx_gallery05.jpg);
}
.idx_gallery .item.bg6 {
    background-image: url(../images/idx_gallery06.jpg);
}
.idx_gallery .item.bg7 {
    background-image: url(../images/idx_gallery07.jpg);
}
.idx_gallery .item.bg8 {
    background-image: url(../images/idx_gallery08.jpg);
}
.time_sheet td,
.time_sheet th {
    color: #fff;
    border: 0;
    padding: 0;
    text-align: center;
    font-weight: 500;
    border-bottom: 1px solid #fff;
    letter-spacing: 0.1em;
}
.time_sheet td:first-child,
.time_sheet th:first-child {
    padding-left: 0.8125em;
}
.time_sheet td:last-child,
.time_sheet th:last-child {
    padding-right: 1.5625em;
}
.time_sheet tr:first-child td,
.time_sheet tr:first-child th {
    background-color: #fff;
    color: var(--main-color);
    border-bottom: 0;
    padding-top: 1.0625em;
    padding-bottom: 1.1875em;
}
.time_sheet tr:first-child th {
    width: 9.15%;
}
.time_sheet tr:first-child th:first-child {
    width: 29%;
}
.time_sheet tr:first-child th:last-child {
    width: auto;
    letter-spacing: 0.029em;
}
.time_sheet tr:nth-child(2) td,
.time_sheet tr:nth-child(2) th {
    padding-top: 1.3125em;
    padding-bottom: 1.5625em;
}
.time_sheet tr:nth-child(3) td,
.time_sheet tr:nth-child(3) th {
    padding-top: 1.25em;
    padding-bottom: 1.4375em;
}
.time_sheet .note {
    margin-top: 21px;
    color: #fff;
    letter-spacing: 0.1em;
    font-weight: 400;
    line-height: 1.875;
}
@media only screen and (min-width: 1281px) {
    .time_sheet .note {
        padding-left: 4px;
    }
}
@media only screen and (max-width: 1400px) and (min-width: 769px) {
    :root {
        --ttl_size: 22px;
        --wrapper: 90px;
    }
    .logo img {
        width: 85%;
    }
}
@media only screen and (max-width: 1024px) and (min-width: 769px) {
    :root {
        --wrapper: 80px;
    }
    .logo img {
        width: 75%;
    }
}
.totop {
    transition: all 0.3s ease;
    opacity: 0;
    visibility: hidden;
    cursor: pointer;
    position: fixed;
    z-index: 19;
    bottom: 37px;
    right: 16px;
    border-radius: 50%;
}
.totop.active {
    opacity: 1;
    visibility: visible;
}
.totop .icon {
    background-image: url(../images/totop.png);
    background-repeat: no-repeat;
    background-size: 12px auto;
    background-position: center;
    background-color: #65543f;
    border: 0px;
    width: 60px;
    height: 60px;
    margin: 0;
    transition: all 0.3s;
    border-radius: 50%;
}
@media only screen and (min-width: 769px) {
    .totop:hover .icon {
        background-color: var(--main-color);
    }
}
.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: 372px;
    right: 0;
    z-index: 15;
    transition: right 0.3s ease-in-out;
    width: 9em;
}
.fixed_banner > div {
    position: relative;
    transition: all 0.3s ease;
}
.fixed_banner a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    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 a:hover {
    color: #fff;
}
.fixed_banner a:before {
    content: "";
    display: block;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
}
.fixed_banner .tel a {
    background-color: #ff8900;
}
.fixed_banner .tel a:before {
    background-image: url(../images/shared_fixed_bnr_icon01.png);
}
.fixed_banner .web a {
    background-color: #81a742;
}
.fixed_banner .web a:before {
    background-image: url(../images/shared_fixed_bnr_icon02.png);
}
.fixed_banner .web2 a {
    background-color: #d3708b;
}
.fixed_banner .web2 a:before {
    width: 2.375em;
    height: 2.4375em;
    background-image: url(../images/shared_fixed_bnr_icon04.png);
}
.fixed_banner .mail a {
    background-image: -moz-linear-gradient(-90deg, rgb(124, 180, 190) 0%, rgb(61, 153, 180) 100%);
    background-image: -webkit-linear-gradient(-90deg, rgb(124, 180, 190) 0%, rgb(61, 153, 180) 100%);
    background-image: -ms-linear-gradient(-90deg, rgb(124, 180, 190) 0%, rgb(61, 153, 180) 100%);
}
.fixed_banner .mail a:before {
    width: 1.5em;
    height: 1.2142em;
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 210 170' %3E%3Cpath d='M182.371,169.996 L27.681,169.996 C12.450,169.996 0.057,157.704 0.057,142.577 L0.057,38.412 C0.057,38.412 0.057,38.412 0.057,38.412 L0.057,27.419 C0.057,12.301 12.450,-0.000 27.681,-0.000 L182.371,-0.000 C197.601,-0.000 209.994,12.301 209.994,27.419 L209.994,38.394 C209.994,38.406 209.995,38.417 209.994,38.428 L209.994,142.577 C209.994,157.704 197.601,169.996 182.371,169.996 ZM198.945,27.419 C198.945,18.345 191.511,10.964 182.371,10.964 L27.681,10.964 C18.540,10.964 11.106,18.345 11.106,27.419 L11.106,35.456 L105.025,97.598 L198.945,35.456 L198.945,27.419 ZM198.945,48.632 L108.090,108.758 C107.162,109.382 106.094,109.676 105.025,109.676 C103.957,109.676 102.889,109.382 101.961,108.758 L11.106,48.631 L11.106,142.577 C11.106,147.543 13.342,151.991 16.856,155.011 C16.343,153.169 16.791,151.118 18.250,149.673 L56.922,111.290 C59.080,109.141 62.576,109.141 64.735,111.290 C66.892,113.429 66.892,116.896 64.735,119.045 L26.062,157.428 C25.504,157.981 24.855,158.385 24.165,158.652 C25.299,158.896 26.474,159.032 27.681,159.032 L182.371,159.032 C183.578,159.032 184.752,158.896 185.886,158.652 C185.196,158.385 184.547,157.981 183.989,157.428 L145.317,119.045 C143.159,116.896 143.159,113.429 145.317,111.290 C147.475,109.141 150.971,109.141 153.129,111.290 L191.802,149.673 C193.260,151.118 193.709,153.168 193.197,155.010 C196.710,151.990 198.945,147.542 198.945,142.577 L198.945,48.632 Z'/%3E%3C/svg%3E");
}
@media only screen and (min-width: 769px) {
    .fixed_banner {
        font-size: 10px;
        right: 18px;
        transition: all 0.3s;
    }
    .fixed_banner.active {
        right: 0;
    }
    .fixed_banner > div {
        width: 9em;
        height: 9em;
        margin-bottom: 0.1em;
        border-radius: 6px 0px 0px 6px;
    }
    .fixed_banner a {
        font-size: 1.6em;
        letter-spacing: 0.05em;
        position: relative;
    }
    .fixed_banner a:before {
        margin-left: auto;
        margin-right: auto;
    }
    .fixed_banner .tel a {
        align-items: flex-start;
        padding-left: 0.7em;
    }
    .fixed_banner .tel a:before {
        width: 1.8125em;
        height: 1.8125em;
        margin-bottom: 0.25em;
        margin-left: 1.25em;
    }
    .fixed_banner .tel .num {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: -11em;
        color: #fff;
        font-size: 2em;
        line-height: 2;
        height: 3em;
        width: 10em;
        background-color: var(--main-color);
        display: flex;
        justify-content: center;
        align-items: center;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s;
        border-radius: 6px;
    }
    .fixed_banner .tel .num:before {
        position: absolute;
        content: "";
        top: 50%;
        transform: translateY(-50%);
        right: -0.75em;
        clip-path: polygon(100% 50%, 0 0, 0 100%);
        background-color: var(--main-color);
        width: 0.75em;
        height: 0.75em;
    }
    .fixed_banner .tel:hover .num {
        opacity: 1;
        visibility: visible;
    }
    .fixed_banner .web a:before {
        width: 26px;
        height: 27px;
        margin-bottom: 0.25em;
    }
    .fixed_banner .web2 a:before {
        margin-bottom: 0.1875em;
    }
}
@media only screen and (max-width: 1560px) and (min-width: 769px) {
    .fixed_banner {
        font-size: 8px;
        top: 280px;
    }
}
@media (min-width: 769px) and (max-height: 700px), only screen and (min-width: 769px) and (max-width: 1366px) {
    .fixed_banner {
        font-size: 6.5px;
        top: calc(50% - 100px);
    }
}
footer {
    padding: 69px 0 65px;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url(../images/footer_bg.jpg);
}
footer p {
    margin-bottom: 0;
}
footer a,
footer p {
    color: #fff;
    text-decoration: none;
}
footer .ft_logo {
    padding: 0px 0 0;
    max-width: 331px;
}
footer .ft_width {
    margin-right: 0;
    margin-left: auto;
    max-width: 468px;
}
footer .ft_info {
    width: 46%;
    max-width: 585px;
}
footer .ft_info .des {
    margin-bottom: 23px;
    letter-spacing: 0.1em;
}
footer .ft_info .des span {
    display: inline-block;
}
footer .ft_map {
    height: 299px;
    border-radius: 10px;
    overflow: hidden;
    margin-top: 33px;
    margin-bottom: 0;
}
footer .note {
    margin: 15px 0;
    line-height: 1.875;
}
footer .ft_link {
    width: 52%;
    max-width: 640px;
    font-size: min(16px, 1.25vw);
}
.ft_link a {
    text-decoration: none;
}
@media only screen and (min-width: 769px) {
    .ft_link .link_list > div > ul {
        display: flex;
        flex-flow: column wrap;
        align-content: flex-start;
        --li-width: 20.9em;
    }
    .ft_link .menu01 > ul {
        max-height: 22em;
    }
    .ft_link .menu01 li:nth-child(n-6) {
        width: var(--li-width);
    }
    .ft_link .menu02 {
        margin-top: 1.4375em;
    }
    .ft_link .menu02 > ul {
        max-height: 17em;
    }
    .ft_link .menu02 > ul > li:nth-child(n-6) {
        width: var(--li-width);
    }
    .ft_link .menu03 > ul {
        max-height: 15em;
    }
    .ft_link .menu03 > ul > li:nth-child(n-4) {
        width: var(--li-width);
    }
    .ft_link .menu03 .ttl {
        margin-top: 0.6818em;
    }
}
.ft_link .menu02 .title {
    margin-bottom: 0;
}
.ft_link .ttl {
    font-weight: 500;
    font-size: 1.375em;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-top: 0.818182em;
    padding-bottom: 0.636364em;
    border-bottom: 1px solid #a08668;
    padding-left: 0.227273em;
    margin-bottom: 0.9091em;
}
.ft_link .title {
    margin-bottom: 28px;
    padding-left: 0;
    font-size: 2.25em;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1;
    pointer-events: none;
    font-family: var(--f-en);
    text-transform: uppercase;
}
.ft_link .title:before {
    display: none;
}
.ft_link ul:last-child {
    margin-bottom: 0;
}
.ft_link li {
    margin-bottom: 1.03125em;
    letter-spacing: 0.1em;
    line-height: 1.6;
}
.ft_link li.last {
    margin-bottom: 29px;
}
.ft_link li:last-child {
    margin-bottom: 0;
}
.ft_link a {
    display: inline-flex;
    position: relative;
    padding-left: 0em;
    color: inherit;
    letter-spacing: 0.1em;
    font-weight: 400;
    color: #fff;
    line-height: 1.5;
}
.ft_link a:before {
    content: "・";
    margin-left: -0.35em;
    border-radius: 100%;
    width: auto;
    height: auto;
}
.ft_link a:after {
    position: absolute;
    content: "";
    left: 0.625em;
    bottom: -0.3125em;
    width: 0;
    height: 1px;
    background-color: #fff;
    transition: all 0.3s;
}
.ft_link a:hover {
    opacity: 1;
    color: #fff;
}
.copyright {
    margin: 0 auto 0;
    color: #fff;
    padding: 21px 0px 19px;
    position: relative;
    z-index: 1;
    background-color: #ffa517;
}
.copyright .flex {
    align-items: center;
    justify-content: flex-start;
    min-height: 40px;
}
.copyright:before {
    position: absolute;
    content: "";
    display: block;
    z-index: -1;
    left: calc(50% - 50vw);
    top: 0;
    height: 100%;
    width: 100vw;
    opacity: 50%;
    background-image: -moz-linear-gradient(180deg, rgb(255, 187, 0) 0%, rgb(255, 137, 0) 100%);
    background-image: -webkit-linear-gradient(180deg, rgb(255, 187, 0) 0%, rgb(255, 137, 0) 100%);
    background-image: -ms-linear-gradient(180deg, rgb(255, 187, 0) 0%, rgb(255, 137, 0) 100%);
}
.copyright .textwidget {
    display: block;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 20px;
    padding-left: 19px;
    padding-top: 0px;
    padding-bottom: 3px;
    margin-left: 22px;
    border-left: 1px solid rgba(255, 255, 255, 0.5);
}
.copyright .textwidget p {
    margin-bottom: 0;
    font-size: 12px;
    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: 140px;
}
@media only screen and (min-width: 769px) {
    .ft_link a:hover:after {
        width: calc(100% - 0.625em);
    }
    footer .time_sheet {
        font-size: min(16px, 1.45vw);
    }
}
@media only screen and (min-width: 1281px) {
    footer .ft_info {
        padding-top: 20px;
    }
    footer ul {
        position: relative;
        left: 5px;
    }
}
@media only screen and (max-width: 1366px) and (min-width: 769px) and (max-height: 780px) {
    .menu_toggle ul li {
        margin-bottom: 8px;
    }
    .menu_toggle .ttl {
        font-size: 1.2em;
        margin-bottom: 0.8em;
        padding-bottom: 0.5em;
    }
    .menu_toggle .title {
        font-size: 2em;
    }
    .menu_toggle .menu03 {
        margin-top: 2.2em;
    }
}
/*# sourceMappingURL=style.css.map */
