html { height:100%; width:100%; scroll-behavior:smooth; }
body { height:100%; width:100%; min-width:960px; color:#333; background:#fff; position:relative; font-size:1em; line-height:1.8; letter-spacing:0.05em; overflow-x:clip; -webkit-overflow-scrolling:touch; }

/*校正用*/
div.test, a.test, li.test, .hm ul li.test 
br.test, body.test .test_no { display:none !important; }
body.test div.test { display:block !important; }
body.test li.test, body.test .hm ul li.test { display: inline-block !important; }


/*校正用 追記20250722 ここから*/
body.test .initiatives_box { padding-bottom:clamp(3rem,10vw,6rem);}


body.test .recruit_box .index_area { display:flex; flex-flow:row wrap; justify-content:space-between; margin-bottom:0; }
body.test .recruit_box .index_area .index_box { width:25%; padding:0 1.5% 1.5rem 1.5% !important; box-sizing:border-box; }
body.test .recruit_box .index_area .index_box a .title { padding:0.5rem 0 0.5rem 2rem; }
body.test .recruit_box .index_area .index_box a .title::before { top: calc(50% - 0.5rem);}


.b_recruit { position:fixed; bottom:0.25rem; right:4rem; width:calc(100% - 4.25rem); max-width:30rem; z-index:1000; }

@media screen and (max-width:1080px) {
body.test .footer { padding-bottom:clamp(6rem,30vw,12rem);}
}
@media screen and (max-width:960px) {
body.test .instagram_box .index_area .index_box { width:100%; padding:0 0 1.5rem 0; box-sizing:border-box; }
body.test .instagram_box .index_area .index_box a { align-items:flex-start; }
body.test .recruit_box .index_area .index_box { width:50%; }
}
/*校正用 追記20250722 ここまで*/



a:link { color:#333; outline-style:none; }
a:visited { color:#333; text-decoration:underline; }
a:hover { color:#032; text-decoration:underline; transition:.15s; }

.red { color:#f77; }
.green { color:#043; }
.orange { color:#f90; }
.blue { color:#006; }

.tr { text-align:right; }
.tc { text-align:center; }
.tl { text-align:left; }

.pc_no { display:none; }
.sp_no { display:block; }
span.sp_no { display:inline; }
br.sp_no { display:inline; }

.f_s { font-size:0.8em; }

.rad50{ border-radius:50%; }

#loader-bg { height:100%; width:100%; position:fixed; top:50%; left:50%; background:#fff; transition:.15s; z-index:200; transform:translate(-50%,-50%); }
.spinner { position:absolute; top:calc(50% - 0.5em); left:calc(50% - 35px); width:70px; text-align: center; opacity:0.3; }
.spinner > div { width:1em; height:1em; margin:0 0.1em; background-color:#043; border-radius:100%; display:inline-block; animation: sk-bouncedelay 1.4s infinite ease-in-out both;}
.spinner div:nth-of-type(1) { animation-delay: -0.32s;}
.spinner div:nth-of-type(2) { animation-delay: -0.16s;}
@keyframes sk-bouncedelay { 0%, 80%, 100% { transform: scale(0);} 40% { transform: scale(1.0);}}

.main { position:relative; display:block; }
.logo { position:absolute; z-index:10; left:50%; top:10%; text-align:center; color:#032; color:#fff !important; transition:0.25s; text-decoration:none; line-height:1.25; transform:translate(-50%,0); text-shadow:0 0 5px rgba(0,0,0,0.3); /*text-shadow:1px 1px 4px (0,0,0,0.8); text-shadow: 1px 0 0 rgba(255,255,255,0.3), -1px 0 0 rgba(255,255,255,0.3), 0 1px 0 rgba(255,255,255,0.3), 0 -1px 0 rgba(255,255,255,0.3), 1px 1px rgba(255,255,255,0.3), -1px -1px 0 rgba(255,255,255,0.3), 1px -1px 0 rgba(255,255,255,0.3), -1px 1px 0 rgba(255,255,255,0.3);*/ }
.logo img { width:12vw; height:7vw; display:block; margin:0 auto 1.5vw auto; }
.logo .smc { font-size:2vw; letter-spacing:0.1vw; font-weight:bold; }
.logo .name { font-size:6vw; letter-spacing:0.2vw; }

.logo.newlogo { top:15%; }
.logo.newlogo img { width:36vw; height:auto; }

.logo.newlogo2 { top:8%; left:3%; transform:translate(0,0); }
.logo.newlogo2 img { width:36vw; height:auto; }

.logo.newlogo3 { top:11%; left:3%; transform:translate(0,0); text-align:left; padding-left:13vw; }
.logo.newlogo3 img { position:absolute; width:12vw; height:9vw; display:inline-block; margin:0 auto; left:0; }
.logo.newlogo3 .name { font-size:5vw; letter-spacing:0.2vw; }

.logo.newlogo4 { top:8%; left:auto; right:3%; transform:translate(0,0); }
.logo.newlogo4 img { width:36vw; height:auto; }


.slideshow { position:relative; width:100vw; height:56vw; overflow:hidden; background:#111; }
.slideshow .item { width:100vw; height:56vw; position:absolute; top:0; display:none; background-size:cover; background-position: center center;}
.in { transform:scale(1); z-index:1; }
.out { transform:scale(1); transition:4s; z-index:0;}
.slideshow .item img::after { content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:rgba(0,0,0,0.2); z-index:1000; }

/*20210928校正用*/
/*#main_slider02 { display:none;}
body.test #main_slider { display:none;}
body.test #main_slider02 { display:block;}
.slideshow02 { position:relative; width:100vw; height:56vw; overflow:hidden; background:#111; }
.slideshow02 .item { width:100vw; height:56vw; position:absolute; top:0; display:none; background-size:cover; background-position: center center;}
.slideshow02 .item img::after { content:""; display:block; position:absolute; top:0; right:0; bottom:0; left:0; background:rgba(0,0,0,0.2); z-index:1000; }
.slideshow02 .logo.newlogo4 { top:8%; left:3%; right:auto; transform:translate(0,0); }
.slideshow02 .logo.newlogo4 img { width:36vw; height:auto; }
*/

.hm { position:relative; margin:-3rem 0 3rem 0; left:50%; transform:translate(-50%,0); max-width:1500px; background:#032; padding:0.2em; z-index:1; }
.hm ul { list-style:none; display:block; text-align:center; border:1px solid #db8; margin:0; padding:1em; }
.hm ul li { display:inline-block; }
.hm ul li a { display:block; line-height:1.5; padding:0.8em 1.5em; color:#fff; font-size:1.125em; text-decoration:none; }
.hm ul li a:hover, .hm ul li a.active { /*opacity:0.8;*/ color:#db8; }
.hm ul li > a[target='_blank']::after { display:none !important;}

.en { font-family: 'Cormorant', serif; font-weight:600; }

.anchor { height:5rem; margin-top:-5rem; position:absolute; z-index:-10; width:1px; }


.group_box { text-align:center; padding-top:0; padding-bottom:16em; }
.group_box ul { margin:0; padding:0; list-style:none; letter-spacing:-.4em; transition:0.5s; box-sizing:border-box; text-align:center; }
.group_box ul li { display:inline-block; vertical-align:top; width:33.3%; max-width:300px; margin:0; padding:0; letter-spacing:0.1em; position:relative; box-sizing:border-box; }
.group_box ul li a { display:block; width:100%; transition:0.5s; text-decoration:none; padding:1.15em; line-height:1.25; box-sizing:border-box; }
.group_box ul li a::after { display:none !important;}
.group_box ul li a img { width:100%;  }
.group_box ul li a strong { display:block; border-bottom:1px solid #db8; font-size:1.25em; padding:0.5em 1rem; position:relative; }
.group_box ul li a strong::after { content:""; position:absolute; display:block; right:0.25rem; top:calc(50% - 0.25rem); width:0.5rem; height:0.5rem; margin:0; border-top:1px solid #777; border-right:1px solid #777; transform:rotate(45deg); box-sizing:border-box; }

.group_box ul li a span { display:block; font-size:0.75em; letter-spacing:0.1em; padding:1.25em; }
.group_box ul li a:hover { background:#f4f2f0; }


.copy_box { position:relative; }
.copy_box span { position:relative; display:block; width:100%; text-align:center; line-height:1.25em; font-size:3em; margin:-3.1em auto; padding:2.5em 0.5em; color:#fff; background:url(../img/bg_copy.jpg) center center /cover no-repeat; z-index:100; text-shadow:0 0 5px rgba(0,0,0,0.3); box-sizing:border-box; }
.copy_box span::after { content:""; width:calc(100% + 8px); position:absolute; border:1px solid #db8; top:-5px; left:-5px; bottom:-5px; right:-5px; z-index:50; }

.philo_box { margin-bottom:6em; }
.policy_box { margin-bottom:6em; margin:0 auto 6rem auto; }
.policy_box ol { display:inline-block; width:auto; margin:auto; text-align:left; padding-left:1.5rem; }

.greeting_box { text-align:center; padding-top:18em; padding-bottom:16em; background:#f6f3f0; text-decoration:none; position:relative; }
.greeting_box .full_bg { padding-left:calc(50vw - 50% + 50px); padding-right:calc(50vw - 50% + 50px); }
.greeting_box h4 strong { background:#f6f3f0; }
.greeting_box ul h5 { font-size:2.4em; }
.greeting_box ul { margin:0; padding:0; list-style:none; text-align:center; }
.greeting_box ul li { display:inline-block; width:49.5%; min-width:300px; margin:0 0 40px 0; padding:60px 2em 0 2em; list-style:none; box-sizing:border-box; }
.greeting_box ul li a { display:block; text-decoration:none; border:1px solid #db8; padding:0 3vw 1.5em 3vw; }
.greeting_box ul li a img { border-radius:50%; width:8em; margin:-4em 0 0.5em 0; border:10px solid #f6f3f0; box-sizing:border-box; }
.greeting_box ul li a:hover { background:#fff; }
.greeting_box ul li a:hover img { border:10px solid #fff; }
.greeting_box ul li strong { display:block; font-size:1.5em; line-height:1.5; letter-spacing:1px; padding:1.5vw 0; margin:0 0 1em 0; color:#032; border-top:1px solid #db8; border-bottom:1px solid #db8; }
.greeting_box ul li span { display:inline-block; font-size:1.125em; }
body.temp .greeting_box { padding-top:5em; padding-bottom:5em; }


/*20210701変更予定*/
/*body.test .greeting_box ul li:first-of-type, body.temp.test .greeting_box { display:none; }
.staffonly_box { display:none; }
body.test .staffonly_box { display:block; }
*/


/*-- バナー表示/ --*/
.b_area { display:block; margin:5rem 0 0 0; }
.b_box { display:flex; flex-flow:row wrap; justify-content:center;  } 
.b_box .banner { width:48%; max-width:600px;  padding:1.5%; box-sizing:border-box; text-decoration:none; text-align:left; }
.b_box .banner img { margin-bottom:0.5rem; width:100%; }
.b_box .banner img.hosp { margin-bottom:0.75rem;}

@media screen and (max-width:960px) {
.b_box .banner { width:100%; margin:0 auto 1rem auto; }
}

.slogan_box { position:relative; margin-bottom:8rem; }
.slogan_box span { position:relative; display:block; width:100%; text-align:center; line-height:1.25em; font-size:3em; margin:-3.1em auto; padding:2.5em 0.5em; color:#fff; background:url(../img/bg_slogan.jpg) center center /cover no-repeat; z-index:100; text-shadow:0 0 5px rgba(0,0,0,0.3); box-sizing:border-box; }
.slogan_box span::after { content:""; width:calc(100% + 8px); position:absolute; border:1px solid #db8; top:-5px; left:-5px; bottom:-5px; right:-5px; z-index:50; }


.initiatives_box { display:block; padding-top:8em; }
.initiatives_box .poster { width:100%; max-width:750px; }




/*--SNS--*/
.instagram_box { padding-bottom:clamp(3rem,10vw,6rem);}
.instagram_box .index_area { display:flex; flex-flow:row wrap; justify-content:space-between; margin-bottom:0; }
.instagram_box .index_area .index_box { width:50%; padding:0.75rem 1.5% !important; box-sizing:border-box; }
.instagram_box .index_area .index_box a { display:flex; flex-flow:row nowrap; align-items:center; }
.instagram_box .index_area .index_box .icon { width:clamp(4rem,12vw,8rem); min-width:clamp(4rem,12vw,8rem); height:clamp(4rem,12vw,8rem); border-radius:50%; overflow:hidden; margin-right:clamp(0.5rem,1.6vw,1rem); border:1px solid rgba(0,0,0,0.1); box-sizing:border-box; }
.instagram_box .index_area .index_box .icon img { width:100%; height:100%; object-fit:cover; }
.instagram_box .index_area .index_box a .title { padding:0.25rem 0;}
.instagram_box .index_area .index_box a .title::before { display:none; }
.instagram_box .index_area .index_box .txt { flex-grow:2; }
.instagram_box .index_area .index_box .txt span.f_s { display:block; opacity:0.7; padding-bottom:0.5rem; }
.instagram_box .index_area .index_box .txt span.desc { display:block; }






.info_box { text-align:center; padding-top:8em; padding-bottom:8em; background:#fff; text-decoration:none; position:relative; }
.more { background:#db8; text-decoration:none; display:inline-block; min-width:280px; padding:0.8em; }
.more:hover { background:#bd9a54; text-decoration:none; }

body.temp .info_box { border-top:1px solid #db8; padding-top:4em; }


/*--RECRUIT--*/
.recruit_box { text-align:center; padding-top:8em; padding-bottom:8em; background:#f6f3f0;  }
.recruit_box h4 strong { background:#f6f3f0; }

.recruit_box .index_area { display:flex; flex-flow:row wrap; justify-content:space-between; margin-bottom:0; }
.recruit_box .index_area .index_box { width:25%; padding:0 1.5% 1.5rem 1.5% !important; box-sizing:border-box; }
.recruit_box .index_area .index_box a .title { padding:0.5rem 0 0.5rem 2rem; }
.recruit_box .index_area .index_box a .title::before { top: calc(50% - 0.5rem);}


.b_recruit { position:fixed; bottom:0.25rem; right:4rem; width:calc(100% - 4.25rem); max-width:30rem; z-index:1000; }



.staffonly_box { text-align:center; padding-top:8em; padding-bottom:8em; background:#fff;  }


/*-- FOOT/ --*/
.footer { padding:5em 1.5em; position:relative; z-index:0; text-align:center; font-size:0.8em; background:#032; color:rgba(255,255,255,0.7); }
.f_logo { display:inline-block; margin:0 auto 40px auto; padding:0 0 0 64px; background:url(../img/logo_group2.svg) left center /64px no-repeat; text-align:left; color:#032; color:#fff; transition:0.25s; text-decoration:none; line-height:1.25; text-shadow:1px 1px 4px rgba(0,0,0,0.8); }
.f_logo img { width:8vw; height:6vw; display:block; margin:0 auto 0 auto; }
.f_logo .smc { font-size:1em; letter-spacing:0.1vw; font-weight:bold; }
.f_logo .name { font-size:2em; letter-spacing:0.2vw; }
.footer ul { margin:0 auto; padding:0; list-style:none; letter-spacing:-.4em; transition:0.5s; box-sizing:border-box; max-width:1800px; display:flex; flex-flow:row wrap; justify-content:center; }
.footer ul li {display:inline-block; vertical-align:top; width:25%; min-width:220px;  margin:0 0 40px 0; padding:0 1.5em; text-align:left; letter-spacing:0.1em; position:relative; box-sizing:border-box; }
.footer ul li a { display:block; color:rgba(255,255,255,0.7); text-decoration:none; }
.footer ul li a:hover { color:rgba(255,255,255,1.0); }
.footer ul li .name { display:block; border-top:1px solid #db8; font-size:1.4em; padding:0 0 0.5em 0; padding:1.5em 0 0 0; margin:0 0 0.5em 0;}
.footer ul li .tel { font-size:1.4em; }

@media screen and (max-width:1280px) { .footer ul li { width:33.3%;  width:50%; } }
@media screen and (max-width:960px) { .footer ul li { width:50%; } }
@media screen and (max-width:640px) { .footer ul li { width:100%; margin:0 auto 40px auto; } }

.f_logo.newlogo { padding:0; background:none; text-align:center; line-height:1.25; }
.f_logo.newlogo img { width:12em; height:auto; display:block; margin:0 auto 0 auto; }



.pagetop { display:block; position:fixed; bottom:0; right:0; width:60px; height:60px; background:rgba(0,51,34,0.9); z-index:10000; }
.pagetop::after { content:""; position:absolute; display:block; left:24px; top:26px; width:10px; height:10px; border-top:2px solid #fff; border-right:2px solid #fff; transform:rotate(-45deg); box-sizing:border-box; }
.pagetop:hover { background:#bd9a54; cursor:pointer; }


.close { background:#00985b; color:#fff; padding:0.5em; }
.close:hover { background:#00653c; }



/*--  TEMPLARE CONTENTS  --*/


/*-- ARTICLE/ --*/
.article { width:100%; max-width:1200px; margin:0 auto; padding:0 1em; box-sizing:border-box; position:relative; z-index:1; }
body.temp .contents { max-width:50rem; margin:0 auto; line-height:2em; }
.full { margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.full_bg { padding-left:calc(50vw - 50%); padding-right:calc(50vw - 50%); }

img { max-width:100%; height:auto; }
img.full { width:calc(100% + 50vw); max-width:100vw; }
img.full + h3 { margin-top:-1em; } 

img.right, img[align=right] { float:right; margin:0 0 10px 20px; }
img.left, img[align=left] { float:left; margin:0 20px 10px 0; }

.header { width:100vw; height:30vw; position:relative; background:#eee url(../img/h_greeting.jpg) center center /cover no-repeat; }
.header:before { content:""; background:rgba(0,0,0,0.2); position:absolute; top:0; bottom:0; left:0; right:0; }
.header .logo { top:50%; transform:translate(-50%,-65%); text-decoration:none !important; }

body.info .header { background-image:url(../img/h_info.jpg); }
body.greeting .header { background-image:url(../img/h_greeting.jpg); }


.navibar { background:rgba(255,255,255,0.8); max-width:1200px; margin:-3rem auto 1rem auto; z-index:0; }
.navibar ul { text-align:right; width:100%; margin:0; padding:0.25rem 0.5rem; font-size:0.75rem; line-height:25px; box-sizing:border-box; }
.navibar ul li { list-style-type:none; display:inline; padding:0; }
.navibar ul li em { font-weight:bold; font-style:normal; }
.navibar ul li.arrow { display:none; }
.navibar ul li::before { content:"/"; margin:0 10px; }
.navibar ul li:first-child::before { display:none; }
.navibar a { border:none !important; }
.navibar br { display:none; }

/*-- INDEX --*/
.index_area { margin-bottom:3rem; display:flex; flex-flow:row wrap; justify-content:flex-start;}

.index_box { display:inline-block; position:relative; width:32.5%; padding:2% !important; margin-bottom:2%; vertical-align:top; letter-spacing:normal; box-sizing:border-box; text-align:left; text-decoration:none !important; }
.index_box a { text-decoration:none; display:block; }
.index_box::after { content:"."; display:block; clear:both; height:0; visibility:hidden; border:none !important; }
.index_box .icon { display:block; width:100%; height:18vw; max-height:222px; margin:0; /*background:#f6f3f0 url(../img/p_no.png) center center /cover no-repeat;*/ overflow:hidden; }
.index_box .icon img { width:100%; object-fit:cover; object-position:center; font-family:'object-fit:cover;';  }
.index_box .txt { width:100%; position:relative; margin:0; padding:0; line-height:1.5; box-sizing:border-box; }
.index_box .date { display:block; padding:0.5em 0; border-bottom:1px solid #db8; text-align:right; font-size:0.8em; }
.index_box .title { display:block; width:auto; padding:0.4em 0; padding:0.5rem 0 0.5rem 2.5rem; margin:0; font-size:1.125em; position:relative; }
.index_box a .title::before { content:""; width:1.6rem; height:1rem; background: url("../img/arrow_r.svg") center right /72px no-repeat; position:absolute; top:0.9rem; left:0; }

.index_box:hover { text-decoration:none; opacity:1; background:#f6f4f2; }
.index_box:hover .title { opacity:1;  }
.index_box p { margin:0; }

.index_box a[target='_blank'] .title::after,
.LCR_box a[target='_blank']::after,
body.link .article li a[target='_blank']::after,
body.link .article a:link[target='_blank']::after,
.article a:link[target='_blank']::after
 { content:""; position:relative; display:inline-block; vertical-align:middle; width:1.2rem; height:1.2rem; margin:0 0.25rem; background:url(../img/i_blank.svg) center bottom /100% no-repeat; }
.index_box a[target='_blank']::after { display:none !important; }
a[target='_blank'].banner::after { display:none !important; }

body.wide_list .index_box { width:49%; }
body.recruit .index_box { width:50%; margin-bottom:0; }
body.recruit .index_box a { /*padding-top:1rem; border-top:1px solid #db8;*/}
body.recruit .index_box .date { display:none;}


h1 { font-size:3.0rem; margin:0 auto 1em auto; line-height:1.5; font-weight:normal; overflow:hidden; box-sizing:border-box; }
h2 { font-size:2.6rem; margin-bottom:1em; line-height:1.5; font-weight:normal; position:relative; }
h3 { font-size:2.2rem; margin-bottom:1em; line-height:1.5; font-weight:normal; position:relative; }

h4 { width:auto; margin:0 auto 1em auto; line-height:1.5; font-weight:normal; text-align:center; /*white-space:nowrap; */font-size:2.0rem;  position:relative; z-index:1; }
h4 strong {  display:inline-block; background:#fff; padding:0 0.5em; letter-spacing:0.1em; text-align:center; margin:auto;}
h4 strong::before { position:absolute; left:0; right:0; top:1.5rem; content:""; display:block; border-top:1px solid #db8; z-index:-1; /*margin:0 auto -0.9em auto; max-width:900px;*/ }

h5 { font-size:1.8em; margin-bottom:0.5em; line-height:1.5; font-weight:normal; position:relative; color:#043; z-index:1; }
h6 { font-size:1.4em; margin-bottom:0.5em; position:relative; font-weight:normal; z-index:1; }

h2 .comment { display:block; font-size:0.4em; margin:0; letter-spacing:2px; color:#db8; }
h3 .comment { display:block; font-size:0.4em; }
h4 .comment { display:block; font-size:0.45em;  color:#db8; }
h5 .comment { display:block; font-size:0.625em; }


.col2 { column-count:2; column-gap:2em; }
.col3 { column-count:3; column-gap:2em; }
.break { -webkit-column-break-before:always; break-before:column; }


/*-- 画像回り込みセット/ --*/
.box_l { width:104%; padding:0; margin:0 -2%; position:relative; box-sizing:border-box; }
.box_l .photo { float:left; width:100%; max-width:50%; margin:0; padding:0 2% 4vw 2%; display:inline; position:relative; z-index:2; }
.box_l .photo img { margin:0; padding:0; width:100%; max-width:100%; height:auto; }
.box_l .txt { float:none; overflow:hidden; padding:0 0 4vw 0; position:relative; box-sizing:border-box; }

.box_r { width:104%; padding:0; margin:0 -2%; position:relative; box-sizing:border-box; }
.box_r .photo { float:right; width:100%; max-width:50%; margin:0; padding:0 2% 4vw 2%; display:inline; position:relative; z-index:2; }
.box_r .photo img { margin:0; padding:0; width:100%; max-width:100%; height:auto; }
.box_r .txt { float:none; overflow:hidden; padding:0 2% 4vw 2%; position:relative; box-sizing:border-box; }

.box_l::after, .box_r::after { content:"."; display:block; clear:both; height:0; visibility:hidden; }

.box_l.full .photo { margin-left:calc(-50vw + 50%); width:50vw; max-width:50vw; position:relative; padding-left:0; }
.box_r.full .photo  { margin-right:calc(-50vw + 50%); width:50vw; max-width:50vw; position:relative; padding-right:0; }
.box_l + hr { opacity:0; display:none; }


body.greeting .box_r .photo { max-width:35%; }

/*WP管理バー 検索ボタン*/
#wpadminbar .adminbar-button { display:none !important; }


.health_mana_box { display:flex; flex-flow:row wrap; justify-content:center; align-items:center; }
.health_mana_box a { border: 1px solid #db8; display:block; width:160px; height:auto; text-align:center; line-height:80px; margin:0.5rem; box-sizing:border-box; }

/*-- 2列ボックス/ --*/
.LR_box { display:inline-block; vertical-align:top; width:49%; margin:0; padding:0 2% 1em 2%; box-sizing:border-box; }
.LR_box .LR_box { width:45% !important; }
.LR_box .LCR_box { width:31% !important; }

/*-- 3列ボックス/ --*/
.LCR_box { display:inline-block; vertical-align:top; width:31%; margin:0; padding:0 2% 1em 2%; box-sizing:border-box; letter-spacing:0.1em; }
.LCR_box2 { display:inline-block; vertical-align:top; width:62%; margin:0; padding:0 2% 1em 2%; box-sizing:border-box; letter-spacing:0.1em; }
.LR_box img, .LCR_box img { width:100%; object-fit:cover; font-family:'object-fit:cover;'; margin-bottom:1em; }
.LR_box h3, .LR_box h4, .LR_box h5, .LCR_box h3,.LCR_box h4, .LCR_box h5, .LCR_box2 h3,.LCR_box2 h4, .LCR_box2 h5 { white-space:normal; word-break:break-all; }

.youtube { height:0; overflow:hidden; padding-top:56.25%; position:relative; }
.youtube iframe { width:100%; max-width:100vw !important; position:absolute; top: 0; left:0; height:100%; }



/*-- FORM/ --*/
form { margin:0; padding:0; border:0; font-size:100%; vertical-align:middle; background:transparent; }
form label { vertical-align:middle; } 

select, input, textarea, button { width:100%; max-width:100%; vertical-align:middle; -webkit-appearance:none; position:relative; font-size:1.2em; margin:5px; padding:0.5rem 0.5rem; border:1px solid #035; border-radius:0; box-shadow:none; z-index:0; box-sizing:border-box; }
input.long { width:100%; margin:5px 0; position:relative; }
button, .button, input[type="button"], input[type="submit"] { display:inline-block !important;  -webkit-appearance:none; overflow:visible; width:auto; min-width:100px; letter-spacing:0.1em; background:#db8; position:relative; text-decoration:none; text-align:center; transition:all .2s; box-sizing:border-box; cursor:pointer; padding:0.5rem 1rem; border:1px solid #db8; }
input::placeholder, textarea::placeholder { color:#777; }

label { display:flex; align-items:center; justify-content:center;}

.b_back { display:inline-block; -webkit-appearance:none; overflow:visible; width:auto; background:#f7f5f3; position:relative; padding:10px 20px 10px 40px; height:50px; line-height:30px; font-size:1.2em; letter-spacing:0; margin:10px; border:none; color:#035 !important; border-radius:3px; box-sizing:border-box; }
.b_back::after { content:""; position:absolute; display:inline-block; left:10px; top:18px; width:10px; height:10px; border-top:2px solid #032; border-right:2px solid #035; transform:rotate(45deg); box-sizing:border-box; }

button:hover, .button:hover, input[type="button"]:hover, input[type="submit"]:hover { text-decoration:none; background:#bd9a54 !important; }
option { padding:5px; font-size:1.2em; line-height:1.5; }

button[disabled], a.button[disabled], .button[disabled], input[type="button"][disabled], input[type="submit"][disabled],
button[disabled]:hover, a.button[disabled]:hover, .button[disabled]:hover, input[type="button"][disabled]:hover, input[type="submit"][disabled]:hover { background:#eee; border:none; color:#fff; opacity:1.0; cursor:default; position:relative; }

button.mini, .button.mini { min-width:0; }


.button.en { font-family:'Roboto Condensed', sans-serif; }



/*-- Radio and Checkbox/ --*/
input[type="radio"], input[type="checkbox"] { margin:0 3px 0 0; width:1.25em; height:1.25em; display:none; }
input[type="radio"] + span, input[type="checkbox"] + span { padding-left:1.5em; position:relative; margin-right:1em; display:inline-block; }
input[type="radio"] + span::before{ content:""; display:block; position:absolute; top:0.25em; left:0; width:1.2em; height:1.2em; border:1px solid #035; border-radius:50%; z-index:5; margin-right:3px; box-sizing:border-box; }
input[type="radio"]:checked + span, input[type="checkbox"]:checked + span { color:#00a1e5; }
input[type="radio"]:checked + span::after{ content:""; display:block; position:absolute; top:0.45em; left:calc(0.25em - 1px); width:0.8em; height:0.8em; background:#00a1e5; border-radius:50%; z-index:10; }
input[type="checkbox"] + span::before { content:""; display:block; position:absolute; top:calc(50% - 8px); top:0.25em; left:0; width:1.2em; height:1.2em; border:1px solid #ccc; border-radius:4px; margin-right:3px; box-sizing:border-box; }
input[type="checkbox"]:checked + span::after { content:""; display:block; position:absolute; top:calc(50% - 12px); top:0.2em; left:5px; width:7px; height:14px; transform:rotate(40deg); border-bottom:3px solid #00a1e5; border-right:3px solid #00a1e5; box-sizing:border-box; }

button.i_delete { min-width:0 !important; }
button.i_delete::before { display:none; }

/*-- SELECT/ --*/
select { -webkit-appearance:none; -moz-appearance:none; position:relative; z-index:auto !important; border-radius:0; font-size:inherit; text-align:left; background:#fff url(../img/i_pulldown.png) right center /24px no-repeat; border:1px solid #ccc; height:30px; padding:3px 5px; margin:0 2px 0 0; box-sizing:border-box; display:none; display:block; }
select:disabled, select.disabled { border:1px solid #ccc; color:#ccc; color:silver; background:none; z-index:auto; }

#pwbox-340 { max-width:12rem; }
.pwform p { text-align:center; }


table { border-collapse:collapse; width:100%; margin:0 auto 1.5rem auto; }
table th, table td { padding:0.75rem; vertical-align:top; letter-spacing:0.05rem; line-height:1.5; }


.tbl01 { border-bottom:1px dashed #ccc; }
.tbl01 th, .tbl01 td { border-top:1px dashed #ccc; }
.tbl01 th { padding-right:0.75rem;  }
.tbl01 thead th {  }
.tbl01 th { font-weight:bold; text-align:left; }
.tbl01 td {  }

.tbl02 { border-bottom:1px solid #ddd; }
.tbl02 th, .tbl02 td { border-top:1px solid #ddd; }
.tbl02 th {  font-weight:bold; text-align:left; }
.tbl02 td { }
.tbl02 thead th { background:#f6f6f6; }

.tbl03 {  }
.tbl03 th, .tbl03 td { border:1px solid #ddd; }
.tbl03 th { background:rgba(0,0,0,0.05); font-weight:bold; text-align:left; }
.tbl03 td { }
.tbl03 thead th { background:rgba(0,0,0,0.05); color:#fff; }


body.page .text_area br.clear:last-of-type { display:none;}

@media print { 
html { background:none; height:auto; min-height:0; }
body { background:none; margin:0; padding:0; }

.covervid-wrapper, .covervid-video, .header, .booking_box { display:none; }

.contents { width:100%; max-width:100%; background:none; padding:0; margin:0; line-height:1.8; }

.article { width:100%; padding:0; }
.full { margin-left:0; margin-right:0; /*padding:20px 0;*/ width:100%; }
body.top .full { /*padding:20px 0;*/ }
body.top .full_bg { padding-left:0; padding-right:0; }
.box_l.full .photo { margin-left:0; width:50vw; max-width:50vw; }
.box_r.full .photo  { margin-right:0; width:50vw; max-width:50vw; }

.head { background:none; height:0; padding:0; margin:0; display:none; }
.side { background:none; height:0; padding:0; margin:0; display:none; }
.hm  { left:0; transform:translate(0,0); margin:0; display:none; }
.pagetop { display:none; }
	
h4::before { margin:0; border-top:none;}
	

.main { width:100% !important; margin:0 !important; overflow:auto;  }
.slideshow, .slideshow .item { width:100% !important;  }

.navibar { width:100%; padding:0; }
.navibar ul { padding:0; margin:0; }

h1 { background:none; color:#333; border-bottom:5px solid #ccc; font-weight:normal; }
h2 { font-weight:normal; }
h3, h4, h5, h6 { font-weight:normal; }
.text_box { padding:0; box-shadow:none; }

.index_title { padding:5px 0 5px 0; background:none; }

body.top .foot, .foot { margin:0; border-top:1px solid #ccc; }
.f_sub, .foot .booking, span { display:none; }

.table01 { border:2px solid #ccc; border-collapse:collapse; margin-bottom:20px; }
.table01 th, .table01 td { font-weight:normal; border:2px solid #ccc; }
.table02 th, .table02 td { font-weight:normal; }
.table03 th, .table03 td { font-weight:normal; }

.sns { display:none; }

.b_box, .fm { display:none; }

}