@charset "UTF-8";

:root {
--f-notosans:"Noto Sans JP",sans-serif;
--f-jp:"Noto Serif JP",serif;
--f-en:Pacifico,cursive;
--f-zenmaru:"Zen Maru Gothic",serif;
--f-comfortaa:Comfortaa,sans-serif;
--main-color:#50bcb7;
--clr1:#3f2806;
--clr2:#ccc;
--ttl_size:28px;
--wrapper:90px
}

body {
background-color:#fff;
-webkit-text-size-adjust:none;
letter-spacing:.1em;
color:var(--clr1);
font-family:var(--f-zenmaru);
position:relative
}

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%)
}

body:before {
position:absolute;
content:"";
top:0;
left:0;
background-image:url(../images/line_top.jpg);
background-position:left center;
background-repeat:repeat-x;
background-size:auto;
width:100%;
height:15px
}

@media only screen and (min-width:1921px) {
body:before {
max-width:1920px;
left:50%;
transform:translateX(-50%)
}
}

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 .3s ease
}

a:not([target*=_blank]):hover {
opacity:.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
}

.link>a {
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
display:block;
z-index:1
}

.flex {
display:flex;
flex-wrap:wrap;
justify-content:space-between
}

p {
line-height:2.25;
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:700!important
}

.fl {
float:left
}

.fr {
float:right
}

*,:after,:before {
box-sizing:border-box
}

html {
overflow-x:auto!important
}

.wrapper {
padding-top:15px;
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:10px;
padding-right:10px
}
}

.inner_max {
max-width:1480px
}

.inner_big {
max-width:1220px
}

.inner {
max-width:1210px
}

.inner_sm {
max-width:1020px
}
.is-layout-flex{
    justify-content: center;
}
.fullWidthBreak {
width:100vw;
position:relative;
left:50%;
right:50%;
margin-left:-50vw;
margin-right:-50vw
}

.alignnone {
    margin: 5px auto 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 .3s
}

.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 .3s
}

.accBtn.triangle.rotate:after {
transform:translateY(-50%) rotateX(180deg)
}

.accBtn.triangle_btt:after {
content:"";
position:relative;
top:0;
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 .3s
}

.accBtn.rotate:after {
transform:rotateX(180deg)
}

.TabContainer:not(.init) .TabContent li:not(.active) {
display:none
}

.TabContainer.init .TabContent {
position:relative;
z-index:2;
overflow:hidden
}

.TabContainer.init .TabContent>ul {
transition:all .3s;
background-color:#000
}

.TabContainer.init .TabContent>ul>li {
opacity:0;
z-index:-10;
visibility:hidden;
position:absolute;
top:0;
left:0;
right:0;
transition:all .3s;
transition-delay:.3s
}

.TabContainer.init .TabContent>ul>li.active {
opacity:1;
z-index:1;
visibility:visible;
transition-delay:0
}

.TabContainer .TabPager {
display:flex;
justify-content:space-between
}

.TabContainer .TabPager li {
background-color:#fff;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
position:relative;
margin:0;
padding:9px 20px;
box-shadow:2px 1px 10px rgba(0,0,0,0.4);
width:calc(33.33% - 1px);
transition:all .3s;
cursor:pointer;
color:#797b7d
}

.TabContainer .TabPager li p {
margin:0
}

.TabContainer .TabPager li.active {
background-color:#edf0f5;
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:-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
}

.tel_click span {
display:flex;
align-items:center;
font-weight:700;
color:#000;
letter-spacing:.1em
}

.tel_click span:before {
content:"";
display:block;
margin-right:.233333em;
margin-top:.1786em;
width:.8666666667em;
height:.8666666667em;
background-image:url(../images/ic_tel.png);
background-repeat:no-repeat;
background-size:100% auto
}

.en {
font-family:var(--f-en)
}

.btn a:after {
content:"";
display:block;
position:absolute;
transition:all .3s;
width:15px;
height:12px;
right:14px;
top:calc(50% - 6px);
background-position:center;
background-repeat:no-repeat;
background-size:100% auto;
background-image:url(../images/idx_arr.png)
}

.btn-group {
font-size:10px
}

.btn-group .btn {
font-size:1em
}

.btn-group .btn.style01 {
width:100%;
min-width:180px;
max-width:408px;
overflow:hidden
}

.btn-group .btn.style01 a {
display:flex;
align-items:center;
justify-content:center;
height:3.88889em;
padding:1em;
position:relative;
font-size:1.8em;
font-weight:500;
letter-spacing:.17em;
line-height:1.5;
color:#fff;
text-decoration:none;
text-align:center;
background-color:var(--main-color);
transition:all .3s;
border-radius:40px
}

.btn-group .btn.style01 a:hover {
opacity:1
}

@media only screen and (min-width:769px) {
.btn-group .btn.style01 a:hover {
background-color:var(--clr1)
}

.btn-group .btn.style01 a:hover:after {
right:5px
}
}

.btn-group .btn.style01.md a {
font-size:16px
}

.btn-group .btn.bg01 a {
background-color:transparent;
color:var(--main-color)
}

.btn-group .btn.bg02 a {
background-color:#f4bf0c
}

.yt {
max-width:800px;
margin:0 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:1170px) {
body {
font-size:87.5%
}

.totop {
right:10px
}

.totop .icon {
width:60px;
height:60px
}
}

h1 {
position:absolute;
overflow:hidden;
height:1px;
width:1px;
padding:0;
border:0
}

header {
position:fixed;
top:15px;
left:0;
width:100%;
height:var(--wrapper);
z-index:20;
background-color:#EEE;
transition:all .3s
}

@media only screen and (min-width:1921px) {
header {
max-width:1920px;
left:50%;
transform:translateX(-50%)
}
}

.ovh header,header.active {
top:0
}

.ovh header .hamburger-btn,header.active .hamburger-btn {
top:0
}

.header_top {
display:flex;
flex-wrap:wrap;
align-items:center;
width:100%;
justify-content:space-between;
margin:0 auto;
height:100%;
transition:all .3s ease-in-out;
padding-left:27px
}

.logo {
width:25%;
max-width:343px;
display:flex;
justify-content:center;
align-items:center;
position:relative;
top:4px
}

.logo a {
display:block;
width:100%;
text-align:center
}

.logo img {
width:auto
}

.right_head {
width:70%;
max-width:100%;
height:100%;
display:flex;
flex-wrap:wrap;
justify-content:flex-end
}

.pc_navi {
width:calc(100% - 240px);
display:flex;
align-items:center;
max-width:686px;
padding-right:46px
}

.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:.8;
color:var(--main-color)
}

.pc_navi>ul>li.menu-item-has-children>a:after,.pc_navi>ul>li.menu-item-has-children>p:after {
content:"";
background:url(../images/shared_pc_navi_arrow.png) center no-repeat;
background-size:100% auto;
width:9px;
height:5px;
position:absolute;
bottom:0;
left:calc(50% - 4.5px);
transition:all .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;
margin:0;
height:60px;
text-decoration:none;
text-align:center;
font-weight:500;
font-size:14px;
line-height:1.5;
letter-spacing:.17em;
transition:all .2s ease;
color:#4d4d4d
}

.pc_navi>ul>li>a span,.pc_navi>ul>li>p span {
display:block;
width:100%;
padding-top:0;
font-size:1.6428571429em;
letter-spacing:.05em;
font-weight:400
}

.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:260px;
right:50%;
bottom:-15px;
padding-top:0;
transform:translate(50%,100%);
transition:all .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:#50bcb7;
padding-bottom:10px
}

.pc_navi>ul .subInner ul li {
padding:0 10px
}

.pc_navi>ul .subInner ul li a {
position:relative;
display:block;
padding:19px 10px 19px 28px;
border-bottom:1px dashed rgba(255,255,255,0.7);
transition:all .2s ease;
font-size:14px;
font-weight:500;
color:#fff;
text-decoration:none;
text-align:left;
letter-spacing:0
}

.pc_navi>ul .subInner ul li a:before {
content:"›";
display:block;
position:absolute;
top:50%;
left:10px;
transform:translateY(-54%);
font-size:14px
}

.hd_group {
display:flex;
font-size:10px;
width:24em
}

.hd_group .hd_icon {
text-align:center;
width:12em
}

.hd_group .hd_icon:hover {
background-color:#4d4d4d;
transition:all .3s
}

.hd_group .hd_icon.mail a {
padding-top:1em
}

.hd_group .hd_icon.mail a:before {
background-image:url(../images/hd_mail.png);
width:2.9285714286em;
height:2.3571428571em;
margin-bottom:.285714em
}

.hd_group .hd_icon.web a {
padding-top:.5em
}

.hd_group .hd_icon.web a:before {
background-image:url(../images/hd_web.png);
width:2.8571428571em;
height:3.1428571429em;
margin-bottom:0
}

.hd_group .btn_ic {
height:100%
}

.hd_group a {
width:100%;
height:100%;
text-decoration:none;
color:#fff;
font-size:1.4em;
letter-spacing:.1em;
font-weight:500;
text-align:center;
position:relative;
display:flex;
flex-direction:column;
justify-content:center
}

.hd_group a:before {
display:block;
content:"";
background-position:center;
background-repeat:no-repeat;
background-size:100% auto;
margin-left:auto;
margin-right:auto
}

.hd_group a:hover {
color:#fff;
opacity:1
}

.hd_group .mail {
background-color:#79CDC9
}

.hd_group .web {
background-color:#91DEDA
}

@media only screen and (min-width:769px) {
.pc_navi>ul .col2 .subInner {
width:440px
}

.pc_navi>ul .col2 .subInner ul {
display:flex;
flex-wrap:wrap
}

.pc_navi>ul .col2 .subInner ul li {
width:50%
}

.menu_toggle .inside .ft_link {
width:100%;
max-width:900px;
margin:auto;
min-height:100%;
display:flex;
align-items:center
}

.menu_toggle .inside .ft_link .link_list {
width:100%
}
}

@media only screen and (min-width:769px) and (max-width:1280px) {
:root {
--wrapper:100px
}

.header_top {
padding-left:10px
}

.hd_group {
font-size:.75vw
}

.right_head {
width:73%
}

.pc_navi {
padding-right:2vw;
width:calc(100% - 18vw)
}

.pc_navi>ul>li p,.pc_navi>ul>li>a {
font-size:1.2vw
}

.pc_navi>ul .subInner ul li a {
font-size:12px
}
}

@keyframes animeCT {
0% {
background-position:0 center
}

to {
background-position:-1920px center
}
}

.idx_gallery {
position:relative;
z-index:1;
padding-top:27px;
padding-bottom:267px
}

.idx_gallery .gallery_slider {
background-image:url(../images/idx_gallery.png);
height:346px;
background-size:auto 100%;
background-position:0 center;
background-repeat:repeat-x;
animation:animeCT 50s linear infinite
}

@media only screen and (max-width:1200px) and (min-width:769px) {
.idx_gallery {
padding-bottom:14vw
}
}

.time_sheet {
margin:0 auto;
max-width:464px
}

.time_sheet .note {
margin-top:15px;
margin-left:-2px;
line-height:2;
font-size:14px;
letter-spacing:.1em
}

.time_sheet .note span {
display:inline-block
}

.time_sheet table {
font-feature-settings:palt
}

.time_sheet table td,.time_sheet table th {
border-top:none;
border-right:none;
border-left:none;
text-align:center;
font-weight:500;
letter-spacing:.1em;
width:9.9%;
border-bottom:1px solid var(--clr1)
}

.time_sheet table td:first-child,.time_sheet table th:first-child {
width:auto;
padding-left:1.9%
}

.time_sheet table td:last-child,.time_sheet table th:last-child {
width:16.05%;
padding-left:.8em;
text-align:left
}

.time_sheet table th {
padding:.6em .2em
}

.time_sheet table td {
padding:1.35em .2em 1.65em;
color:var(--main-color)
}

.time_sheet table td:first-child {
color:#333
}

.time_sheet table tr:nth-child(3) td {
padding-bottom:1.6em
}

@media only screen and (max-width:992px) and (min-width:769px) {
:root {
--ttl_size:22px;
--wrapper:80px
}

footer .box:first-child .ft_dress {
padding-bottom:2vw
}
}

.totop {
transition:all .3s ease;
opacity:0;
visibility:hidden;
cursor:pointer;
position:fixed;
z-index:19;
bottom:22px;
right:21px
}

.totop.active {
opacity:1;
visibility:visible
}

.totop .icon {
background-image:url(../images/totop.png);
background-repeat:no-repeat;
background-size:100% auto;
border:0;
width:78px;
height:67px;
margin:0;
transition:all .3s
}

@media only screen and (min-width:769px) {
.totop:hover .icon {
background-image:url(../images/totop_hover.png)
}
}

.bounce {
animation-name:bounces
}

.animateds {
animation-duration:.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:.7
}
}

.fixed_banner {
position:fixed;
top:200px;
right:0;
z-index:15;
transition:right .3s ease-in-out
}

.fixed_banner:hover {
right:0
}

.fixed_banner>div {
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:-o-flex;
display:flex;
flex-wrap:wrap;
justify-content:center;
align-items:center;
position:relative;
transition:all .3s ease
}

.fixed_banner a {
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
display:block;
z-index:1
}

.fixed_banner p {
margin-bottom:0;
color:#fff;
letter-spacing:.12em;
line-height:1.2222222222;
text-align:center;
font-weight:500
}

.fixed_banner p:before {
content:"";
background-repeat:no-repeat;
background-position:center center;
background-size:auto 100%;
display:block;
width:100%;
margin-bottom:8px
}

.fixed_banner .tel {
background-color:#b3b3b3
}

.fixed_banner .tel p:before {
background-image:url(../images/shared_fixed_bnr_icon01.png)
}

.fixed_banner .tel p i {
font-style:normal
}

.fixed_banner .tel p span {
writing-mode:tb-rl
}

.fixed_banner .web {
background-color:#91DEDA
}

.fixed_banner .web p:before {
background-image:url(../images/shared_fixed_bnr_icon02.png)
}

.fixed_banner .mail {
background-color:#79CDC9
}

.fixed_banner .mail p:before {
background-image:url(../images/shared_fixed_bnr_icon03.png)
}

@media only screen and (min-width:769px) {
.fixed_banner {
font-size:10px
}

.fixed_banner>div {
width:9em;
height:9em
}

.fixed_banner p {
font-size:1.5em;
letter-spacing:.05em
}

.fixed_banner .tel {
height:12em
}

.fixed_banner .web p:before {
height:1.9333em
}

.fixed_banner .mail p:before {
height:1.9333em
}
}

@media (min-width:769px) and (max-height:780px),only screen and (min-width:769px) and (max-width:1366px) {
.fixed_banner {
font-size:8.75px
}
}

footer {
padding:33px 0 40px;
position:relative;
background-size:cover;
background-repeat:no-repeat;
background-position:center;
background-color:#F0F5F5
}

footer:before {
position:absolute;
content:"";
width:100%;
height:117px;
top:-117px;
left:0;
background-position:top center;
background-repeat:repeat-x;
background-size:auto 100%;
background-image:url(../images/footer_bg.png)
}

@media only screen and (min-width:1201px) {
footer:before {
background-position:left -34px center
}
}

footer p {
margin-bottom:0
}

footer a,footer p {
color:#fff;
text-decoration:none
}

footer .ft_top {
width:100%;
display:flex;
flex-wrap:wrap;
align-items:flex-start;
margin-bottom:69px
}

footer .ft_logo {
padding:0 0 21px;
max-width:212px
}

footer .ft_info {
width:49%;
max-width:250px
}

footer .ft_info .des {
margin-bottom:26px;
font-size:14px;
letter-spacing:.1em
}

footer .btn-group {
display:flex;
justify-content:center;
margin-top:20px
}

footer .btn-group .btn.style01 {
width:90%;
margin:0 auto!important
}

footer .link_list {
justify-content:space-between
}

footer .ft_link {
width:100%;
position:relative;
padding-top:19px;
padding-bottom:18px
}

footer .ft_link:after,footer .ft_link:before {
position:absolute;
content:"";
top:0;
left:calc(50% - 50vw);
width:100vw;
height:100%;
background-repeat:repeat-x;
background-size:100% auto
}

footer .ft_link:before {
background-position:top center;
background-image:url(../images/ft_menu_bg1.png)
}

@media only screen and (min-width:1201px) {
footer .ft_link:before {
background-position:0 top
}
}

footer .ft_link:after {
background-position:bottom center;
background-image:url(../images/ft_menu_bg1.png)
}

@media only screen and (min-width:1201px) {
footer .ft_link:after {
background-position:-10px bottom
}
}

footer .ft_link a {
color:#4d4d4d;
font-family:var(--f-en);
font-weight:400
}

footer .ft_link li.title {
margin-bottom:0;
pointer-events:all
}

footer .ft_link li.title ul {
display:none;
margin-bottom:0
}

footer .ft_gr {
font-size:10px
}

footer .ft_gr .box {
width:21em;
height:5em;
background-color:#70BFBB;
color:#fff;
border-radius:10px;
display:flex;
justify-content:center;
align-items:center;
position:relative;
overflow:hidden;
transition:all .3s
}

@media only screen and (min-width:769px) {
footer .ft_gr .box:hover {
background-color:#50BCB7!important;
box-shadow:rgba(100,100,111,0.2) 0 7px 29px 0
}
}

footer .ft_gr .box:after,footer .ft_gr .box:before {
position:absolute;
content:"";
background-position:center;
background-repeat:no-repeat;
background-size:100% auto
}

footer .ft_gr .box:before {
width:5em;
height:100%;
background-color:#59ADAA;
top:0;
left:0
}

footer .ft_gr .box:first-child {
margin-bottom:1.5em
}

footer .ft_gr .box p {
font-size:1.7em;
letter-spacing:.1em;
font-weight:500
}

footer .ft_gr .box.mail {
padding-left:2.2em
}

footer .ft_gr .box.mail:after {
background-image:url(../images/ft_ic_mail.png);
width:2.7em;
height:2.1em;
top:1.5em;
left:1.2em
}

footer .ft_gr .box.web {
padding-left:4.2em;
background-color:#86CDC9
}

footer .ft_gr .box.web:after {
background-image:url(../images/ft_ic_web.png);
width:2.6em;
height:2.9em;
top:1.1em;
left:1.2em
}

footer .ft_contact {
max-width:950px;
width:calc(100% - 250px);
display:flex;
flex-wrap:wrap;
justify-content:space-between
}

footer .ft_contact .box {
background-color:#fff;
max-width:460px;
width:49%;
overflow:hidden;
border-radius:10px;
margin-bottom:30px;
padding-bottom:20px;
position:relative;
display: flex;
flex-direction: column;
}

footer .ft_contact .box .img {
width:min(150px,10vw)
}

footer .ft_contact .box .img img {
border-radius:5px
}

footer .ft_contact .ft_dress {
display:flex;
padding-top:20px;
padding-left:20px;
padding-right:10px
}

footer .ft_contact .txt {
width:calc(100% - min(150px,10vw));
padding-left:20px
}

footer .ft_contact .txt h4 {
font-weight:700;
font-size:min(22px,1.6vw);
letter-spacing:.05em;
line-height:1.27273;
margin-bottom:8px;
color:#000;
background-color:unset;
padding:0
}

footer .ft_contact .txt>p {
color:#000;
font-size:15px;
line-height:1.5333333333;
letter-spacing:.1em;
margin-bottom:4px
}

footer .ft_tel {
font-size:min(30px,2.8vw);
line-height:1
}

footer .map {
margin-top:22px;
width:100%;
height:290px
}

footer .open_times{
    padding: 20px 20px 0px;
    flex: 1 0 auto;
}
footer .open_times p{
    color: var(--clr1);
}
footer .open_times .title{
    font-size: 18px;
    font-weight: 600;
}
@media only screen and (min-width:1201px) {
footer .ft_contact .box:first-child .txt {
padding-top:13px
}

footer .ft_contact .box:nth-child(2) .txt {
margin-top:-2px
}

footer .ft_contact .box:nth-child(3) .ft_dress,footer .ft_contact .box:nth-child(4) .ft_dress {
align-items:center
}

footer .ft_contact .box:nth-child(3) .txt,footer .ft_contact .box:nth-child(4) .txt {
padding-bottom:10px
}
}

.ft_link {
width:100%
}

.ft_link a {
text-decoration:none
}

.ft_link .menu01 {
width:100%;
max-width:924px;
margin-left:auto;
margin-right:auto
}

.ft_link .ttl {
margin-bottom:28px;
padding-left:0;
font-size:calc(var(--ttl_size) + 4px);
font-weight:400;
letter-spacing:.2em;
line-height:1;
pointer-events:none;
font-family:var(--f-en)
}

.ft_link .ttl:before {
display:none
}

.ft_link ul {
display:flex;
justify-content:space-between;
flex-wrap:wrap;
align-items:center
}

.ft_link ul:last-child {
margin-bottom:0
}

.ft_link li {
letter-spacing:.1em;
line-height:1.6
}

.ft_link li.last {
margin-bottom:29px
}

.ft_link li:last-child {
margin-bottom:0
}

.ft_link a {
position:relative;
z-index:1;
padding-left:0;
color:inherit;
font-size:min(21px,3vw);
letter-spacing:.04em;
transition:all .3s;
font-family:var(--f-en);
color:#4d4d4d
}

@media only screen and (min-width:769px) {
.ft_link a:hover {
color:#79CDC9
}
}

.ft_link a:hover {
opacity:1
}

.copyright {
margin:0 auto;
color:#fff;
padding:5px 0 50px;
position:relative;
z-index:1
}

.copyright .flex {
align-items:center;
justify-content:center
}

.copyright .inner_big {
max-width:1135px
}

.copyright:before {
position:absolute;
content:"";
display:block;
z-index:-1;
left:calc(50% - 50vw);
top:0;
height:100%;
width:100vw;
background-color:#F0F5F5
}

.copyright .textwidget p {
color:#000;
margin-bottom:0;
font-size:14px;
font-weight:700;
line-height:inherit;
letter-spacing:.12em
}

.copyright .grits {
margin-bottom:0;
line-height:2.501
}

.copyright .grits a {
display:block
}

.copyright .grits img {
max-width:159px
}

@media only screen and (min-width:769px) and (max-width:1200px) {
footer .ft_info {
width:220px
}

footer .ft_contact {
width:calc(100% - 220px)
}

footer .ft_contact .txt {
padding-left:10px
}
footer .open_times p {
    letter-spacing: 0.05em;
}
}

@media only screen and (min-width:769px) and (max-width:1200px) and (min-width:993px) {
footer .ft_contact .box:first-child .txt {
padding-top:2vw
}
}

@media only screen and (min-width:769px) and (max-width:1200px) {
footer .btn-group {
font-size:9px
}
}

@media only screen and (max-width:992px) {
footer:before {
top:-90px
}

footer .ft_top {
margin-bottom:30px
}

footer .ft_top>div {
width:100%
}

footer .ft_logo {
padding-bottom:0
}

footer .ft_info {
max-width:212px;
margin-left:auto;
margin-right:auto;
margin-bottom:20px
}
}