@charset "UTF-8";

@media only screen and (max-width:768px) {
.blurFixSP {
image-rendering:optimizeSpeed;
image-rendering:-moz-crisp-edges;
image-rendering:-o-crisp-edges;
image-rendering:-webkit-optimize-contrast;
image-rendering:pixelated;
image-rendering:optimize-contrast;
-ms-interpolation-mode:nearest-neighbor
}

:root {
--ttl_size:24px;
--wrapper:60px
}
}

body:not(.ovh) .menu_toggle .inside {
pointer-events:none
}

.menu_toggle {
background-color:#fff;
position:fixed;
top:var(--wrapper);
left:0;
width:100%;
height:calc(100vh - var(--wrapper));
padding:0;
overflow:hidden;
opacity:0;
visibility:hidden;
transition:all .3s linear
}

.menu_toggle.active {
opacity:1;
visibility:visible
}

.menu_toggle ul li {
text-align:left;
position:relative;
overflow:hidden;
width:100%
}

.menu_toggle ul li a {
font-size:18px;
display:block;
width:100%
}

.menu_toggle p {
margin-bottom:0
}

.menu_toggle .inside {
-webkit-overflow-scrolling:touch;
transition:all .5s ease;
height:100%;
overflow:auto
}

.menu_toggle .inside .ft_link {
padding:20px 10px
}

#nav-icon {
width:32px;
height:27px;
position:relative;
margin:0 auto;
cursor:pointer;
transition:.5s ease-in-out
}

#nav-icon span {
background-color:#fff;
display:block;
position:absolute;
height:2px;
width:100%;
opacity:1;
left:0;
transform:rotate(0deg);
transition:.25s ease-in-out
}

#nav-icon span:first-child {
top:3px
}

#nav-icon span:nth-child(2),#nav-icon span:nth-child(3) {
top:11px
}

#nav-icon span:nth-child(4) {
top:19px
}

#nav-icon.open span:first-child {
top:11px;
width:0;
left:50%
}

#nav-icon.open span:nth-child(2) {
transform:rotate(45deg)
}

#nav-icon.open span:nth-child(3) {
transform:rotate(-45deg)
}

#nav-icon.open span:nth-child(4) {
top:11px;
width:0;
left:50%
}

.hamburger-btn {
background-color:var(--main-color);
width:var(--wrapper);
height:var(--wrapper);
position:fixed;
top:10px;
right:0;
z-index:10;
cursor:pointer;
transition:all .3s
}

@media only screen and (min-width:769px) {
.hamburger-btn:hover {
background-color:var(--clr1)
}
}

.hamburger-btn .button-toggle {
position:relative;
width:100%;
padding-top:calc(var(--wrapper) / 2 - 12px);
height:100%;
margin:0 auto;
text-align:center;
color:inherit
}

.hamburger-btn .button-toggle #menu_btn {
color:#fff;
font-size:13px;
text-align:center;
line-height:1;
letter-spacing:0
}

@media only screen and (max-width:768px) {
.menu_toggle .lv2 ul {
background-color:rgba(107,158,178,0.8)
}

.menu_toggle .lv2 li {
padding:0 10px
}

.menu_toggle .lv2 li a,.menu_toggle .lv2 li p.title {
display:block;
position:relative;
color:#fff;
font-size:13px;
padding:10px 10px 10px 25px;
border-bottom:1px dotted rgba(255,255,255,0.7)
}

.menu_toggle .lv2 li a:after {
content:"›";
display:block;
position:absolute;
top:47%;
left:10px;
transform:translateY(-50%);
font-size:12px;
font-weight:400
}

.menu_toggle li.title {
margin-bottom:0
}

.menu_toggle li.title ul li {
margin-left:10px
}

.menu_toggle li.title ul li a {
font-size:14px;
font-weight:500;
padding-left:10px;
pointer-events:all;
font-family:var(--f-zenmaru)
}

.menu_toggle li.title ul li a:before {
position:absolute;
content:"›";
font-size:14px;
top:-1px;
left:0;
color:#333
}

.menu_toggle li.title ul li:last-child {
border-bottom:0
}

.ft_link .ttl {
font-size:calc(var(--ttl_size) + 0px)
}

.ft_link li {
padding:8px 0;
margin-bottom:0;
border-bottom:1px dashed #ccc
}

.ft_link .menu01 {
margin-bottom:30px
}
}

@media only screen and (max-width:768px) {
body {
font-size:87.5%
}

.under .ud_map iframe {
height:100%
}

.fblock {
display:block
}

.fblock.true {
display:-webkit-flex;
display:-moz-flex;
display:-ms-flex;
display:-o-flex;
display:flex
}

.under .topic_path {
padding-bottom:10px
}

.txt_l,.txt_r {
float:none;
width:auto
}

.image_l,.image_r {
float:none;
width:auto;
margin:0 0 20px;
text-align:center;
max-width:none
}

.btn-group {
font-size:8.75px
}

.btn-group .btn.style01,.btn-group .btn.style02 {
max-width:280px
}

.btn-group .btn.style01.md,.btn-group .btn.style02.md {
min-width:100px
}

.btn-group .btn.style01.md a,.btn-group .btn.style02.md a {
min-height:45px;
font-size:14px
}

p {
margin-bottom:13px;
line-height:2
}

a .tel_click:hover {
opacity:1;
color:inherit
}

.slick-prev {
left:0
}

.slick-next {
right:0
}

.slick-arrow {
z-index:1;
top:15vw
}
}

@media only screen and (max-width:768px) {
.wrapper {
min-width:inherit;
padding-top:10px
}

header {
top:10px
}

.hd_group {
font-size:min(7px,1.5vw)
}

.right_head {
width:min(168px,10vw)
}

.header_top {
width:100%;
align-items:center;
height:60px;
padding:0
}

.header_top p {
margin-bottom:0
}

.header_top .logo {
width:70%;
margin-left:10px;
transform:none
}

.header_top .logo img {
width:auto;
max-height:40px
}

.idx_gallery {
padding-top:10vw;
padding-bottom:80px
}

footer {
padding:40px 0
}

footer .btn-group .btn.style01 a {
letter-spacing:0
}
}

@media only screen and (max-width:768px) and (max-width:374px) {
footer .btn-group .btn.style01 a {
font-size:1.6em
}
}

@media only screen and (max-width:768px) {
footer .btn-group .btn.style01 a:after {
right:10px
}

footer:before {
background-size:768px auto;
top:-44px
}

footer .ft_top {
margin-bottom:0
}

footer .ft_info {
width:auto;
margin:0 auto
}

footer .ft_map iframe {
height:100%
}

footer .ft_link {
width:auto
}

footer .ft_contact {
margin-top:20px
}

footer .ft_contact .ft_dress {
padding:20px 10px 0;
flex-direction:column;
align-items:center
}

footer .ft_contact .box {
width:100%;
margin-left:auto;
margin-right:auto;
margin-bottom:15px
}

footer .ft_contact .box:last-child {
margin-bottom:0
}

footer .ft_contact .box .img {
width:150px
}

footer .ft_contact .box .txt {
padding-left:0;
margin-top:15px;
width:100%
}

footer .ft_contact .box .txt h4 {
font-size:18px;
text-align:center
}
footer .open_times{text-align: center;}
footer .open_times .title {
    font-size: 16px;
}
footer .open_times{
    padding: 15px 15px 0px;
}
footer .ft_contact .box .txt>p {
text-align:center
}
footer .open_times p{letter-spacing: 0.02em;}
footer .tel_click span {
justify-content:center;
font-size:26px
}

.totop {
bottom:55px;
right:5px
}

.totop .icon {
width:58px;
height:60px
}

.fixed_banner {
display:flex;
flex-wrap:wrap;
top:auto;
bottom:0;
left:0;
right:auto;
width:100%;
height:50px;
transform:translateY(100%)
}

.fixed_banner.active {
transform:translateY(0%)
}

.fixed_banner p:before {
margin-bottom:5px
}

.fixed_banner .mail p,.fixed_banner .tel p,.fixed_banner .web p {
font-size:min(14px,4vw);
line-height:1;
position:relative;
padding-left:3em
}

.fixed_banner .mail p:before,.fixed_banner .tel p:before,.fixed_banner .web p:before {
position:absolute;
margin-bottom:0;
top:0;
left:0
}

.fixed_banner .tel {
width:40%
}

.fixed_banner .tel p span {
writing-mode:lr-tb
}

.fixed_banner .web {
width:50%
}

.fixed_banner .web p:before {
width:2.1428571429em;
height:2.4285714286em;
top:-.7em
}

.fixed_banner .mail {
width:50%
}

.fixed_banner .mail p:before {
width:2.2142857143em;
height:1.6428571429em;
top:-.2em
}

.copyright {
display:block;
padding-top:20px;
padding-bottom:70px
}

.copyright .flex {
justify-content:center
}

.idx_gallery .gallery_slider {
height:200px
}
}

@media only screen and (max-width:640px) {
.copyright .flex {
max-width:400px;
margin:auto
}

.copyright .grits {
text-align:center;
margin-left:auto;
margin-right:auto
}

.copyright .grits img {
margin:auto;
border-bottom:1px solid rgba(255,255,255,0.5);
padding-bottom:10px;
max-width:140px
}

.copyright .textwidget {
margin-top:10px;
border:none;
margin-left:auto;
margin-right:auto;
padding:0 10px;
text-align:center
}

.copyright .textwidget span {
display:inline-block
}
}
@media only screen and (max-width:360px) {
footer .open_times p {
    letter-spacing: 0;
}
}