@charset "utf-8";

/*=================================

modal

=================================*/
.modal-wrap {
 /*display:none;*/
}

.modal-wrap > input {
 display: none;
}

.modal-overlay {
 background: rgba(39, 39, 41, .50);
 display: flex;
 justify-content: center;
 overflow: auto;
 height: 100%;
 width: 100%;
 position: fixed;
 top:0;
 left:0;
 z-index: 110;
 opacity: 0;
 transition: opacity 0.5s, transform 0s 0.3s;
 transform: scale(0);
}

.modal-trigger {
 position: absolute;
 width: 100%;
 height: 100%;
 z-index:110;
}

.modal-content {
 background:var(--white);
 box-shadow: 0 0 15px rgba(0, 0, 0, .07);
 box-sizing: border-box;
 align-self: center;
 line-height: 1.4em;
 max-width:80vw;
 max-height:90vh;
 padding:5vw;
 min-width:80vw;
 /*transform: scale(1.2);*/
 transition: 0.3s;
 overflow-y:scroll;
}

.close-button {
 align-items: center;
 background-color:var(--black);
 border-radius:24px;
 color: var(--white);
 cursor: pointer;
 display:flex;
 justify-content: center;
 font-size:1.4rem;
 line-height: 1;
 height:48px;
 width:120px;
 position: absolute;
 top: 20px;
 right: 20px;
 z-index:1;
}

.close-button::before,
.close-button::after {
 background-color: rgba(255, 255, 255, .5);
 color: var(--white);
 content: "";
 height:1px;
 width:13px;
 position:absolute;
}

.close-button::before {
color: var(--white);
 transform: rotate(45deg) translateY(50%);
 top: calc(50% - 1px);
 left: 20px;
}

.close-button::after {
 transform: rotate(-45deg) translateY(50%);
 top: calc(50% - 1px);
 left:19px;
}

.close-button span {
 display: inline-block;
 padding-left:1.7em;
}

.modal-wrap input:checked + .modal-overlay {
 opacity: 1;
 transform: scale(1);
 transition: opacity 0.5s;
}

.modal-wrap input:checked + .modal-overlay .modal-content {
 /*transform: scale(1);*/
}

.modal-wrap input:checked + .modal-overlay .modal-content h2 {
align-items:center;
align-content:center;
display:flex;
font-size:2.0rem;
font-weight:600;
line-height:1.8;
}

.modal-wrap input:checked + .modal-overlay .modal-content h2 span.i_q {
align-items:center;
align-content:center;
border-radius:30px;
display:flex;
justify-content:center;
width:60px;
height:60px;
background-color:var(--green);
color:var(--white);
flex:0 0 60px;
}

.modal-wrap input:checked + .modal-overlay .modal-content h2 span:nth-child(2) {
line-height:1.6;
padding-left:15px;
}

.modal-wrap input:checked + .modal-overlay .modal-content .icon {
text-align:center;
}

.modal-wrap input:checked + .modal-overlay .modal-content .scroll_area {
overflow-y:scroll;
max-height:50vh;
}

.modal-wrap input:checked + .modal-overlay .modal-content > p {
font-size:1.6rem;
line-height:1.8;
margin-top:15px;
}

.modal-wrap#nav_menu input:checked + .modal-overlay .modal-content {
padding:0;
}

/*------------------------------------------------------------
nav_menu_cont
------------------------------------------------------------*/
#nav_menu_cont {
 display:flex;
}

#nav_menu_cont #nav_menu_left {
 display: flex;
 flex-direction: column;
 justify-content: start;
 height: 100%;
 width: 45%;
 position: relative;
 padding: 0 0 80px;
 align-items: center;
}

#nav_menu_cont #nav_menu_left .pic {
 border-radius:0 0 60px 0;
 height:100%;
 max-height:400px;
 z-index:1;
 width:100%;
}

#nav_menu_cont #nav_menu_left .pic img {
 border-radius:0 0 60px 0;
 height:100%;
 max-height:400px;
 object-fit:cover;
 width:100%;
}

#nav_menu_cont #nav_menu_left dl.address {
 display:flex;
 flex-direction:column;
 justify-content:center;
 padding:30px 50px 30px 50px;
 position:relative;
 row-gap:25px;
 z-index:2;
}

#nav_menu_cont #nav_menu_left dl.address dt {
 align-items:center;
 display:flex;
 flex-direction:column;
 justify-content:center;
 row-gap:20px;
}

#nav_menu_cont #nav_menu_left dl.address dt a {
 display:flex;
}

#nav_menu_cont #nav_menu_left dl.address dt a img {
 height:50px;
 width:auto;
}

#nav_menu_cont #nav_menu_left dl.address dt span {
 font-size:1.3rem;
}

#nav_menu_cont #nav_menu_left dl.address dd {
 font-size:1.3rem;
 line-height:1.6;
}

#nav_menu_cont #nav_menu_left .conversion_area {
 display:flex;
 flex-direction:column;
 justify-content:center;
 width:100%;
}

#nav_menu_cont #nav_menu_left .conversion_area > ul {
 display:flex;
 flex-direction:column;
 justify-content:center;
 position:relative;
 row-gap:20px;
 z-index:2;
 width:100%;
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li {
 display:flex;
 justify-content:center;
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li a {
 background-color:var(--white);
 border:2px solid var(--gray_dd);
 border-radius:30px;
 display:flex;
 font-size:1.6rem;
 font-weight:600;
 justify-content:center;
 min-width:300px;
 padding:20px 50px;
 position:relative;
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li a:after {
content:"\f054";
color:var(--gray_cc);
font-family:var(--icon);
font-weight:600;
right:20px;
top:50%;
margin-top:-7px;
position:absolute;
font-size:1.1rem;
z-index:3; 
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li a:before {

}

#nav_menu_cont #nav_menu_left .conversion_area > ul li.entry a {
background-color: var(--orange);
border: 2px solid var(--orange);
color:var(--white);
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li.entry a:after {
color:var(--white);
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li.entry a:hover {
opacity:0.7;
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li.tel a {
border:2px solid var(--blue);
color:var(--blue);
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li.tel a:before {
content:"\f095";
color:var(--blue);
font-family:var(--icon);
font-weight:600;
left:30px;
top:50%;
margin-top:-7px;
position:absolute;
font-size:1.6rem;
z-index:3; 
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li.tel a:after {
content:none;
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li.tel a:hover {
 background-color: var(--white);
 border:2px solid var(--blue);
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li.request a {
 background-color: var(--blue);
 border: 2px solid var(--blue);
 color:var(--white);
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li.request a:hover {
 opacity:0.7;
}

#nav_menu_cont #nav_menu_left .conversion_area > ul li.request a:after {
 color:var(--white);
}

#nav_menu_cont #nav_menu_left .tel {
 display:flex;
 flex-direction:column;
 row-gap:10px;
 padding:30px 30px 0;
 /*max-width: 360px;*/
 width:100%;
}

#nav_menu_cont #nav_menu_left .tel > dl {
 align-items:center;
 display:flex;
 flex-direction:column;
 justify-content:center;
 row-gap:10px;
}

#nav_menu_cont #nav_menu_left .tel > dl > dt {
 align-items:center;
 background-color: #fce4cc;
 border-radius:20px;
 display:flex;
 justify-content:center;
 font-size:1.3rem;
 font-weight:600;
 line-height:1.6;
 padding:5px 10px;
 text-align:center;
}

#nav_menu_cont #nav_menu_left .tel > dl > dd a {
 align-items:center;
 column-gap:5px;
 display:flex;
 justify-content:center;
}

#nav_menu_cont #nav_menu_left .tel > dl > dd a img {
 width: 100%;
 height: 100%;
 aspect-ratio: 7 / 4;
 max-height:20px;
 width:auto;
}

#nav_menu_cont #nav_menu_left .tel > dl > dd a span {
 color: var(--orange);
 font-size: 2.6rem;
 font-weight: 600;
 white-space: nowrap;
 line-height: 1;
}

#nav_menu_cont #nav_menu_left .tel > dl > dd a:hover img {
 opacity:0.7;
}

#nav_menu_cont #nav_menu_left .tel .open_hour {
 display:flex;
 justify-content:center;
}

#nav_menu_cont #nav_menu_left .tel .open_hour ul {
 column-gap:10px;
 display:flex;
 row-gap:10px;
}

#nav_menu_cont #nav_menu_left .tel .open_hour ul li dl {
 align-items:center;
 column-gap:5px;
 display:flex;
 justify-content:start;
}

#nav_menu_cont #nav_menu_left .tel .open_hour ul li dl dt {
 font-size: 1.3rem;
 flex: 0 0 55px;
 padding:3px;
 text-align:center;
 white-space: nowrap;
 width:55px;
}

#nav_menu_cont #nav_menu_left .tel .open_hour ul li.weekdays dl dt {
 background-color: #e9f2fb;
}

#nav_menu_cont #nav_menu_left .tel .open_hour ul li.sat_sun_hol dl dt {
 background-color: #ffefef;
}

#nav_menu_cont #nav_menu_left .tel .open_hour ul li dl dd {
 letter-spacing:-0.03em;
 white-space: nowrap;
}

#nav_menu_cont #nav_menu_left .tel .open_hour ul li dl dd span:first-child {
 font-size: 1.6rem;
 font-family: Arial;
 font-weight:600;
 letter-spacing:-0.01em;
}

#nav_menu_cont #nav_menu_left .tel .open_hour ul li dl dd span:nth-child(2) {
 font-size: 1.3rem;
 letter-spacing:-0.03em;
}

#nav_menu_cont #nav_menu_left .tel .open_hour .extended {
 background-color:var(--pale_orange);
 border-radius:3px;
 margin-top:15px;
 padding:10px;
}

#nav_menu_cont #nav_menu_left .tel .open_hour .extended dl {
 align-items:center;
 column-gap:5px;
 display:flex;
 justify-content:start;
}

#nav_menu_cont #nav_menu_left .tel .open_hour .extended dl dt {
align-items:center;
column-gap:5px;
display:flex;
justify-content:start;
}

#nav_menu_cont #nav_menu_left .tel .open_hour .extended dl dt span {
background-color:var(--white);
border-radius:3px;
font-size: calc(1.2rem + ((1vw - 0.48rem) * 0.6944));
font-weight:600;
padding:3px;
}

#nav_menu_cont #nav_menu_left .tel .open_hour .extended dl dd {
font-size: calc(1.2rem + ((1vw - 0.48rem) * 0.6944));
}

/*--- sns_menu ---*/

#nav_menu_cont #nav_menu_left .sns_menu {
display:flex;
flex-direction:column;
justify-content:center;
padding:50px 80px 20px 80px;
width:100%;
}

#nav_menu_cont #nav_menu_left .sns_menu ul {
column-gap:30px;
display:flex;
justify-content:center;
}

#nav_menu_cont #nav_menu_left .sns_menu ul li {}

#nav_menu_cont #nav_menu_left .sns_menu ul li img {
 /*opacity:0;*/
 -webkit-transition:opacity 3s;
 transition: opacity 3s;
 height:20px;
 width:auto;
}

#nav_menu_cont #nav_menu_left .sns_menu ul li img.lazyloaded {
 opacity:1;
}

/*--- nav_menu_right ---*/

#nav_menu_cont #nav_menu_right {
column-gap:30px;
display:flex;
flex-wrap:wrap;
height:100%;
width:55%;
padding:50px 50px;
}

#nav_menu_cont #nav_menu_right h4 {
 flex:0 0 100%;
 margin-bottom:40px;
 position:relative;
}

#nav_menu_cont #nav_menu_right h4 a {
 font-size:1.5rem;
 font-weight:600;
 padding:10px 10px 10px 35px;
 position:relative;
 z-index:2;
}

#nav_menu_cont #nav_menu_right h4 a:before {
 background-color:var(--blue);
 border-radius:10px;
 content:" ";
 left:10px;
 top:50%;
 margin-top:-9px;
 position:absolute;
 height:19px;
 width:19px;
}

#nav_menu_cont #nav_menu_right h4 a:after {
 color:var(--white);
 content:"\f054";
 font-family:var(--icon);
 font-weight:600;
 left:17px;
 top:50%;
 margin-top:-3px;
 position:absolute;
 font-size:0.8rem;
 z-index:3; 
}

#nav_menu_cont #nav_menu_right h4 a:hover {
 background-color:var(--light_yellow);
 border-radius:10px;
 color:var(--blue);
 content:" ";
 height:48px;
 z-index:1;
}

#nav_menu_cont #nav_menu_right h4 a:hover:before {
 background-color:var(--white);
}

#nav_menu_cont #nav_menu_right h4 a:hover:after {
 color:var(--blue);
}

#nav_menu_cont #nav_menu_right h5 {
 flex:0 1;
 margin-bottom:20px;
 width: 100%;
}

#nav_menu_cont #nav_menu_right h5 a {
 display:block;
 font-size:1.5rem;
 font-weight:600;
 overflow: hidden;
 padding:10px 10px 10px 40px;
 position:relative;
 text-overflow: ellipsis;
 -webkit-box-orient: vertical;
 -webkit-line-clamp:1;
 white-space: nowrap;
 z-index:2;
}

#nav_menu_cont #nav_menu_right h5 a:before {
 background-color:var(--blue);
 border-radius:10px;
 content:" ";
 left:10px;
 top:50%;
 margin-top:-10px;
 position:absolute;
 height:19px;
 width:19px;
}

#nav_menu_cont #nav_menu_right h5 a:after {
 color:var(--white);
 content:"\f054";
 font-family:var(--icon);
 font-weight:600;
 left:17px;
 top:50%;
 margin-top:-7px;
 position:absolute;
 font-size:0.8rem;
 z-index:3; 
}

#nav_menu_cont #nav_menu_right h5 a:hover {
 background-color:var(--light-yellow);
 border-radius:10px;
 color:var(--blue);
}

#nav_menu_cont #nav_menu_right h5 a span span {
 display:inline-block;
}

#nav_menu_cont #nav_menu_right h5 a img {
 display:none;
}

#nav_menu_cont #nav_menu_right .menu {
 align-content:start;
 align-items:start;
 display:flex;
 flex-direction:column;
 flex-grow:0;
 justify-content:start;
 margin-bottom:20px;
 min-width: calc(100% / 2 - 15px);
 max-width: 100%;
 flex: 0 1 45%;
}

#nav_menu_cont #nav_menu_right .menu.guide {
 border:none;
}

#nav_menu_cont #nav_menu_right .menu ul {
 align-items:start;
 display:flex;
 flex-direction:column;
 justify-content:start;
 row-gap:15px;
 overflow: hidden;
 width: 100%;
}

#nav_menu_cont #nav_menu_right .menu ul li {
 display:flex;
 width:100%;
}

#nav_menu_cont #nav_menu_right .menu ul li a {
 display:block;
 font-size:1.4rem;
 line-height:1;
 overflow: hidden;
 padding:5px 10px 5px 30px;
 position:relative;
 text-overflow: ellipsis;
 -webkit-box-orient: vertical;
 -webkit-line-clamp:1;
 white-space: nowrap;
 width:100%;
}

#nav_menu_cont #nav_menu_right .menu ul li a:after {
 content:"\f054";
 font-family:var(--icon);
 font-weight:600;
 left:17px;
 top:50%;
 margin-top:-5px;
 position:absolute;
 font-size:0.8rem;
 z-index:3; 
}

#nav_menu_cont #nav_menu_right .menu ul li a:hover {
 background-color:var(--light-yellow);
 border-radius:15px;
 color:var(--blue);
}

#nav_menu_cont #nav_menu_right .other_menu {
 align-content:start;
 align-items:start;
 border-top:1px solid var(--gray_dd);
 display:flex;
 flex-wrap:wrap;
 flex-grow:0;
 justify-content:start;
 padding:30px 0 0;
 width:100%;
}

#nav_menu_cont #nav_menu_right .other_menu h6 {
 margin-bottom:20px;
 width:calc(100% / 2);
}

#nav_menu_cont #nav_menu_right .other_menu h6 a {
 font-size:1.4rem;
 padding:5px 10px 5px 30px;
 position:relative;
 display: block;
 overflow: hidden;
 text-overflow: ellipsis;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 1;
 white-space: nowrap;
 width: 100%;
}

#nav_menu_cont #nav_menu_right .other_menu h6 a:hover {
 background-color:var(--light-yellow);
 border-radius:10px;
 color:var(--blue);
}

#nav_menu_cont #nav_menu_right .other_menu h6 a:after {
 content:"\f054";
 font-family:var(--icon);
 font-weight:600;
 left:17px;
 top:50%;
 margin-top:-8px;
 position:absolute;
 font-size:0.8rem;
 z-index:3; 
}

#nav_menu_cont #nav_menu_right .other_link {
 display:flex;
 column-gap:30px;
 flex-wrap:wrap;
 justify-content:start;
 padding:20px 0 0;
 row-gap:20px;
 width:100%;
}

#nav_menu_cont #nav_menu_right .other_link li a {
 font-size:1.2rem;
 padding:5px 10px 5px 30px;
 position:relative;
}

#nav_menu_cont #nav_menu_right .other_link li a:hover {
 background-color:var(--light-yellow);
 border-radius:13px;
 color:var(--blue);
}

#nav_menu_cont #nav_menu_right .other_link li a:after {
 content:"\f054";
 font-family:var(--icon);
 font-weight:600;
 left:17px;
 top:50%;
 margin-top:-7px;
 position:absolute;
 font-size:0.8rem;
 z-index:3; 
}

#nav_menu_cont #nav_menu_right .simulator {
 display:flex;
 justify-content:center;
 margin-bottom:20px;
}

#nav_menu_cont #nav_menu_right .simulator a {
 align-items:center;
 background-color:var(--white);
 border-radius:25px;
 column-gap:10px;
 display:flex;
 justify-content:start;
 padding: 13px 30px 13px 15px;
 position:relative;
 
}

#nav_menu_cont #nav_menu_right .simulator a:after {
 content: "\f054";
 color:var(--gray_99);
 font-family: var(--icon);
 font-weight: 600;
 right: 15px;
 top: 50%;
 margin-top: -6px;
 position: absolute;
 font-size: .8rem;
 z-index: 3;
}

#nav_menu_cont #nav_menu_right .simulator a span {
 font-size: 1.3rem;
}

/*--- copyright ---*/

.modal-content .copyright {
 background-color:var(--blue01);
 display:flex;
 justify-content:center;
 padding:15px;
 order:3;
}

.modal-content .copyright span {
font-size:0.9rem;
}