/*
Theme Name: haruka_dogohotel
Theme URI: https://haruka.dogohotel.com/
Author: haruka
Description: haruka_dogohotel's theme
Version: 1.0
*/

#wpadminbar{
    z-index: 999999999999999999 !important;
}


.flex_container{
  display:flex;
  flex-wrap:wrap;
}


body{
  width:100%;
  height:100%;
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "YuGothic", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
font-size:0.9em;
font-feature-settings: "palt";
letter-spacing:0.2em;
line-height:1.6;
}

a:link , a:visited{
  color:#000;
  text-decoration:none;
}

#wrapper{
  position:relative;
}

.main-top{
height: 100%;
width: 100%;

}
.swiper-container{
height: 100%;
width: 100%;
overflow: hidden;
}
.swiper-wrapper,
.swiper-slide>div{
height: 100%;
width: 100%;
}




header{
  width: 300px;
    height: 100dvh;
    z-index: 999;
}


#main_contents{
  background:#fff;
  margin-left:auto;
  min-height:600px;
  width:calc(100% - 300px);
}




.flex_container{
  display:flex;
  flex-wrap:wrap;
}

.main_container{
  position:relative;
  overflow:hidden;

}





img{
  width:100%;
  vertical-align:top;
  transition:0.5s /* 追加 */
}


section{
overflow:hidden;
position:relative;
}


a:hover{
  opacity:0.7;
}



#menu-btn-check {
    display: none;
}


header{
  width:100%;
height:100%;
overflow-y:scroll;


}

#left_menu{
background:#fffffc;
position:fixed;
left:10px;
top: 10px;
height:calc(100dvh - 20px);
max-width:300px;
width:30%;
    z-index:999999998;
cursor:default;

border-radius:12px;
filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.5));
}


header , #left_menu {

 /* IE, Edge 対応 */
 -ms-overflow-style: none;
 /* Firefox 対応 */
 scrollbar-width: none;
}
/* Chrome, Safari 対応 */
header::-webkit-scrollbar , #left_menu::-webkit-scrollbar {
 display:none;
}





.fixed{
  position:fixed;
}


.left_logo{
  padding:1em;
}

h1{
    font-family: "Hina Mincho", serif;
  font-weight:400;
  letter-spacing:0.2em;
  font-size:2.5em;
}
h2{
    font-family: "Hina Mincho", serif;
    text-align:center;
    font-size:clamp(1rem, calc(0.75rem + 1vw), 1.5rem);
    font-size:1.75em;
    color:#005CAF;
  font-weight:400;
  letter-spacing:0.5em;
  margin:2em 0 ;
  text-indent:0.5em;
}

h3{
/*  font-weight:900;*/
margin:2em 0 1em 0;
  font-size:1.55em;
  font-weight:bold;
  text-align:center;
}



h4{
/*  font-weight:700;*/
  font-size:1.35em;
  font-weight:normal;
    position: relative;
    text-align: center;
    margin: 2em 0;
}
h4::before {
    background-color: #0052a4;
    border-radius: 5px;
    bottom: -10px;
    content: "";
    height: 3px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 80px;
}


h5{
/*  font-weight:700;*/
  font-size:1.1em;
    position: relative;
    margin:0.5em 0;
}


table.default{
width:100%;
margin:1em 0;
}

table.default th{
  border:1px solid #ccc;
  padding:0.5em 2em;
  text-align:left;
  width:200px;
  background:#fffafa;
}
table.default td{
  border:1px solid #ccc;
  padding:0.5em 2em;
  background:#fff;
}




.bottom_logo {
  width:60px;
  margin:1em auto;
}

footer{
background: #ccc;
position:relative;

  & .infom{
    text-align:center;
    color:#fff;
  }

}

#copyright{
    color:#fff;
    text-align:center;
    padding:1.5em 0;
    font-size:0.85em;
    margin:0;
    background:#000;
    width:100%;
}


.youtube {
width: 100%;
aspect-ratio: 16 / 9;
}
.youtube iframe {
width: 100%;
height: 100%;
}


.btn{
background:#fff;padding:0.5em;width:200px;text-align:center;margin:1em 0;display:block;
}

.btn2{
background:#4b749b;padding:0.5em;width:200px;text-align:center;margin:2em 0 0 0;display:block;color:#fff !important;
}


.link_btn {
text-align:center;
margin:2em 0;
}

.link_btn a{
  text-align:center;
  display:inline-block;
  padding:1em 1.5em;
  border-radius: 8px;
  color: #ffffff;
  background: #000000;
  transition: color 0.3s ease, background 0.3s ease;
  border:1px solid #000;
}

.link_btn a:hover {
  color: #000000;
  background: #ddd;

}


.link_btn2 {
text-align:center;
margin:1em 0;
}

.link_btn2 a{
  text-align:center;
  display:inline-block;
  font-size:0.85em;
  padding:0.5em 1em;
  border-radius: 8px;
  color: #ffffff;
  background: #000000;
  transition: color 0.3s ease, background 0.3s ease;
}

.link_btn2 a:hover {
  color: #000000;
  background: #efefef;
}




.menu-btn:hover{
  cursor:pointer;
}


.go{
  font-family: "Noto Sans JP", "游ゴシック", "Yu Gothic", "YuGothic", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.min{
font-family: "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "HG明朝E", Meiryo, serif;
}


.hina-min {
  font-family: "Hina Mincho", serif;
  font-weight: 400;
  font-style: normal;
}


address {
  font-style:normal;
}



#banner{
  max-width:900px;
  margin:0 auto;
}

#banner .col_banner{
  width:50%;
}

#totop{
  position:fixed;
  right:0;
  bottom:0;
  z-index:999;
}


.fadein {
  opacity : 0;
  transform : translate(0, 100px);
  transition : all 1s;
}
 
.fadein.active{
  opacity : 1;
  transform : translate(0, 0);
}

.contact_txt{
  border:1px solid #000;padding:0.25em 1em;font-size:0.85em;
}

.contact_tel{
margin-left:1em;
}
.contact_tel span{
font-size:1.5em;vertical-align:middle;font-weight:bold;
}


.single-post main h1{
  margin:1em 0;
}

.single-post main img{
    margin: 1em 0;
    max-width: 600px;
    margin: 1em auto;
    text-align: center;
}


/*.inner{
max-width:980px;
margin:0 auto;
}*/
.inner{
max-width:initial;
margin:0 1.5em;
width:calc(100% - 3em);
}

@media screen and (min-width:1300px) {
.inner{
max-width:980px;
margin:0 auto;
width:auto;
}

}

.pccol2{
  width:46%;
  margin:0 2% 1em 2%;
}

.pccol4{
  width:21%;
  margin:0 2% 1em 2%;
}


 a:hover img {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }



.sp{
  display:none;
}



header{
  position:relative;
}


#left_menu {
    width: 100%;
}

section{
  padding:2em 0;
}



.tri_right {
  display:inline-block;
  margin-right:0.5em;
  background: #000;
  height: calc(tan(60deg) * 15px / 2);
  width: 12px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}





.inner{
  position:relative;
  z-index:1;
}

/*.col_target:last-child{
  margin-left:30px;
}*/



ul.breadcrumb {
  list-style:none;
  padding:0;
}

ul.breadcrumb li{
  display:inline-block;
  margin-right:0.5em;
  color:#808080;
}

ul.breadcrumb li a{
  color:#808080;
  display:inline;
}

/*----------------------
区切り文字
---------------------- */
.breadcrumb li::after {
  content: ">";
  margin-left:0.5em;
}

.breadcrumb li:last-child::after {
  content: "";
  margin-right:0;
}


ul.sitemap{
    list-style:none;
}

ul.sitemap ul{
    list-style:none;
}

ul.sitemap li a{
  color: #000;

}


ul.sitemap li a{
  border-bottom:1px solid #000;
  padding:0.5em;
  display:block;
}


ul.sitemap li ul{
  margin-left:10em;
}



.footer_nav{
    width:calc(100% - 220px);
  margin-left:auto;
}

.footer_nav div{
  margin:0 1.5em;
}

.footer_nav h4{
color:#fff;
text-align:left;
font-size:1.15em;
margin-top:1em;
border-bottom:1px solid #fff;
}
.footer_nav ul{
  list-style:none;
  padding-left:0;
line-height:2;
}

.footer_nav ul li ul{
  padding-left:1em;
}

.footer_nav ul li a{
  color:#fff;
}

.footer_nav .tri_right {
  display:inline-block;
  margin-right:0.5em;
  background: #fff;
  height: calc(tan(60deg) * 15px / 2);
  width: 12px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}


@media screen and (max-width:768px) {
.spcol1{
  width:96%;
  margin:0 2% 1em 2%;
}

.spcol2{
  width:41%;
  margin:0 2% 1em 2%;
}


h2{
letter-spacing:0.2em;
}

/*#target .flex_container{
  justify-content:space-around;
}*/

#target h4{
  font-size:1.15em;
}

#link .col_banner{
  margin-bottom:1em;
}
.training{
  background:#eaeaee;padding:0.5em;font-size:1em;margin:0;
}

#information .title_box{
  width:120px;
}
#information .content_box{
  width:calc(100% - 150px);
}

.content_box{
  width:calc(100% - 120px);
}

.residence h1 {
letter-spacing:0;
font-size:1.65em;
}
.footer_nav{
    width:100%;
}

.footer_nav div{
  margin:0 1.5em;
}
.content_box dt{
  text-align:left;
}

}




.news_thumb{
  width:100px;
  aspect-ratio:1 / 1;
  object-fit:cover;
  overflow:hidden;
  margin-right:0.5em;
  border:1px solid #ccc;
}

#information dd{
  display:flex;

}

#information dd a{
  width:calc(100% - 120px);

}



.page_main_img{
  width:100%;
  overflow:hidden;
}

.page_main_img img{
object-fit:cover; object-position: 50% 50%;height:600px;
}


@media screen and (max-width:768px) {
#information .title_box{
width:100%;
}
#information .content_box{
width:100%;
}

#information dd{
  display:flex;
  margin-top:0.5em;

}


.title_back{
  font-size:45px;
}


.pc{
  display:none;
}
.sp{
  display:block;
}
.left_logo{
  max-width:200px;
  margin:0 auto;
}

#left_menu{
opacity:0;
position:absolute;
width:94%;
max-width:initial;
transition: all 0.5s 0s ease;/*transitionの記述を追加*/
z-index:-1;
}

#main_contents{
  width:100%;
}


.cp_offcm04 .cp_menu {
width:275px;
}

.cp_offcm04 #cp_toggle04:checked ~ label{
  -webkit-transform: translateX(275px);
          transform: translateX(275px);

}

.menu_child{
  position:relative;
  width:100%;
  display:block;
  left:0;
}

.left_menu ul li ul li a {
padding-left:2em;
}


main , footer{
  width:100%;
  margin:0;
}

.col_banner{
  width:100%;
}
#banner .col_banner{
  width:100%;
  max-width:350px;
  margin:0.5em auto;
}
#contact{
position:relative;
justify-content:flex-end;
font-size:0.85em;
padding:1.5em 1em;
width:100%;
padding-left:100px;
}

.openbtn1{
  display:block;
}
.btn{
  margin-top:1.5em;
}

table.default th{
  width:45%;
  padding:0.5em;
}
table.default td{
  padding:0.5em;
}

.page_main_img img {
    object-fit: cover;
    object-position: 50% 50%;
    height: 50dvh;
}

h1{
  font-size:1.75em;
}

}




.page-numbers{
  list-style:none;
display:flex;
}



.page-numbers li .current{
  border-radius:6px;
  display:block;
  background:#000;
  color:#fff;
  padding:0.5em 1em;
  margin:0.25em;
}


.page-numbers li a{
  border-radius:6px;
  display:block;
  background:#eee;
  padding:0.5em 1em;
  margin:0.25em;
}


.sub_swiper .swiper-slide{
overflow:hidden;
}

.sub_swiper .swiper-slide a{
overflow:hidden;
}


.main_swiper .swiper-slide{
overflow:hidden;
}

#colorbox, #cboxOverlay, #cboxWrapper {
z-index:99999999999;
}

.single-post p:has(img){
text-align:center;
}


main a:has(img){
  overflow:hidden;
  display:block;
}