/* /css/header.css */


.header_sp_wrapper{
 display: none;
}

.header_spacer{
 width: 100%;
 height: 110px;
}

.header_fixed{
 position: fixed;
 z-index: 10;
 top: 0px;
 width: 100%;
 height: 110px;
}

.header_pc_wrapper{
 position: relative;
 background-color: rgba(255, 255, 255, 0.0);
 min-width: 1020px;
 height: 110px;
 display: -webkit-box;
 display: -ms-flexbox;
 display: -webkit-flex;
 display: flex;
 -ms-flex-wrap: wrap;
 -webkit-flex-wrap: wrap;
 flex-wrap: wrap;
 -webkit-box-align: center;
 -ms-flex-align: center;
 align-items: center;
 border-bottom: 1px solid #BDBAB9;
}

.header_pc_wrapper .contents_wrapper{
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.header_pc_logo{
 position: absolute;
 top: 38px;
 left: 30px;
}

.header_pc_logo img{
  width: 242px;
}

.header_pc_list{
 position: absolute;
 top: 52px;
 right: 30px;
}

.header_pc_list li{
  padding: 10px 0px;
  position: relative;
  display: inline-block;
  margin-right: 30px;
  font-size: 13px;
}

.header_pc_list li a{
   padding: 13px 0px 5px 0px;
}

.header_pc_list li:last-child{
  margin-right: 0px;
}

.header_pc_list .act{
  border-bottom: 2px solid #000000;
}

.header_pc_list .header_pc_sub_list{
  position: absolute;
  top: 42px;
  left: -20px;
  z-index: 999;
}

.header_pc_list .header_pc_sub_list li{
   padding: 0px;
   display: block;
   margin-bottom: 2px;
   margin-right: 0px;
}

.header_pc_list .header_pc_sub_list li a{
    white-space: nowrap;
    display: block;
    padding: 8px 20px;
    background-color: #EAEAEA;
}

.header_pc_list .header_pc_sub_list li a:hover{
    opacity: 0.95;
}

.header_pc_list .header_pc_contact_cell{
}

.header_pc_list .header_pc_contact_cell .header_pc_sub_list{
   position: absolute;
   top: 38px;
   left: -174px;
}

.pc_menu_copy{
 position: absolute;
 top: 16px;
 right: 30px;
 font-size: 14px;
}

.header_local_menu{
 position: relative;
 width: 100%;
 height: 50px;
 margin-top: 10px;
}

.header_local_menu .header_local_menu_list{
  position: absolute;
  right: 30px;
}

.header_local_menu .header_local_menu_list li{
   padding: 10px 0px;
   position: relative;
   display: inline-block;
   margin-right: 30px;
   font-size: 13px;
}

.header_local_menu .header_local_menu_list li a{
    padding-bottom: 5px;
}

.header_local_menu .header_local_menu_list li:last-child{
   margin-right: 0px;
}

.header_local_menu .header_local_menu_list .act{
   border-bottom: 2px solid #000000;
}


/* /css/header.rsv1.css */
@media screen and ( max-width:768px ) {

.header_pc_wrapper{
 display: none;
}

.header_spacer{
 width: 100%;
 height: 50px;
}

.header_fixed{
 position: fixed;
 z-index: 10;
 top: 0px;
 width: 100%;
 height: 50px;
}

.header_sp_wrapper{
 background-color: rgba(255, 255, 255, 0.0);
 display: block;
 position: relative;
 width: 100%;
 height: 50px;
 border-bottom: 1px solid #BDBAB9;
}

.header_sp_logo{
 position: absolute;
 top: 8px;
 left: 10px;
}

.header_sp_logo img{
  width: 80px;
}

.menu_btn_area{
 position: absolute;
 top: 12px;
 right: 10px;
}

.menu_btn{
 position: relative;
 display: inline-block;
 line-height: 20px;
 color: #000000;
 font-weight: bold;
}

.menu_btn .btn_hamburger{
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 28px;
  height: 20px;
  -webkit-transition: all .4s;
  transition: all .4s;
  box-sizing: border-box;
  padding-bottom: 2px;
}

.menu_btn .btn_hamburger span{
  position: absolute;
  display: inline-block;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #000000;
  border-radius: 2px;
  -webkit-transition: all .4s;
  transition: all .4s;
  box-sizing: border-box;
}

.menu_btn .btn_hamburger span:nth-of-type(1){
  top: -1px;
}

.menu_btn .btn_hamburger span:nth-of-type(2){
  top: 8px;
}

.menu_btn .btn_hamburger span:nth-of-type(3){
  bottom: 0;
}

.menu_btn .btn_hamburger span:nth-of-type(2)::after{
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background-color: #000000;
  border-radius: 2px;
  -webkit-transition: all .4s;
  transition: all .4s;
}

.menu_btn .btn_hamburger.active span:nth-of-type(2){
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.menu_btn .btn_hamburger.active span:nth-of-type(2)::after{
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.menu_btn .btn_hamburger.active span:nth-of-type(1){
  -webkit-transform: translateY(14px) scale(0);
  -ms-transform: translateY(14px) scale(0);
  transform: translateY(14px) scale(0);
}

.menu_btn .btn_hamburger.active span:nth-of-type(3){
  -webkit-transform: translateY(-14px) scale(0);
  -ms-transform: translateY(-14px) scale(0);
  transform: translateY(-14px) scale(0);
}

.header_sp_list_wrapper{
 width: 100%;
 position: absolute;
 top: 50px;
 overflow-y: auto !important;
 height: calc(100vh - 50px);
 background-color: rgba(255, 255, 255, 1);
}

.header_sp_list{
 margin-top: 50px;
 border-top: 1px solid #CCCCCC;
}

.header_sp_list li{
}

.header_sp_list li a{
   position: relative;
   display: block;
   width: 100%;
   padding: 16px 20px;
   color: #000000;
   font-size: 13px;
   border-bottom: 1px solid #CCCCCC;
}

.header_sp_list li span{
   float: right;
   font-weight: bold;
   font-size: 18px;
}

.header_sp_list li .pull_link::after{
   content: '';
   position: absolute;
   top: 20px;
   right: 20px;
   display: inline-block;
   width: 14px;
   height: 14px;
   background: url("/img/arrow_down.png") no-repeat center center;
   background-size: 100%;
}

.header_sp_list li .pull_link_close::after{
   content: '';
   position: absolute;
   top: 20px;
   right: 20px;
   display: inline-block;
   width: 14px;
   height: 14px;
   background: url("/img/arrow_up.png") no-repeat center center;
   background-size: 100%;
}

.header_sp_list .header_sp_sub_list{
}

.header_sp_list .header_sp_sub_list a{
   text-indent: 1em;
}

.menu_open{
 display: block;
}

.menu_close{
 display: none;
}

.sp_menu_copy{
 font-size: 15px;
 text-align: center;
 margin-top: 30px;
 margin-bottom: 140px;
}

.header_local_menu{
 position: relative;
 width: 100%;
 height: auto;
 margin-top: 5px;
}

.header_local_menu .header_local_menu_list{
  position: static;
  width: 100%;
  text-align: center;
  right: auto;
  left: auto;
  padding-bottom: 20px;
}

.header_local_menu .header_local_menu_list li{
   padding: 14px 0px 0px 0px;
   position: relative;
   display: inline-block;
   margin-right: 16px;
   font-size: 13px;
}

.header_local_menu .header_local_menu_list li a{
    padding-bottom: 5px;
}

.header_local_menu .header_local_menu_list li:last-child{
   margin-right: 0px;
}

.header_local_menu .header_local_menu_list .act{
   border-bottom: 1px solid #000000;
}

}
/* /css/footer.css */


.footer_wrapper{
 margin-top: 100px;
}

.footer_office_wrapper{
 position: relative;
 background-color: #EAEAEA;
 padding: 45px 0px;
}

#page_scroll{
 position: absolute;
 bottom: 10px;
 right: 30px;
}

.footer_office_box{
 width: 50%;
}

.footer_office_box .footer_office_name{
  margin-right: 40px;
}

.footer_office_box .footer_office_name .footer_office_ename{
   font-size: 18px;
}

.footer_office_box .footer_office_name .footer_office_jname{
   font-size: 12px;
}

.footer_office_box .footer_office_det{
}

.footer_office_box .footer_office_det .footer_office_tel{
   font-size: 19px;
   letter-spacing: 1px;
}

.footer_office_box .footer_office_det .footer_office_tel::before{
   content: '';
   display: inline-block;
   width: 16px;
   height: 16px;
   margin-right: 5px;
   background: url("/img/footer/icon_tel.png") no-repeat center center;
   background-size: 100%;
}

.footer_office_box .footer_office_det .footer_office_access{
   margin-top: 10px;
   font-size: 12px;
}

.footer_office_box .footer_office_det .footer_office_access .footer_office_map{
    text-align: right;
    margin-right: 20px;
    font-size: 15px;
}

.footer_office_box:first-child{
 border-right: 2px solid #BBBABA;
}

.footer_office_box:last-child{
 padding-left: 45px;
}

.footer_link_wrapper{
 background-color: #666666;
 padding: 45px 0px;
 color: #FFFFFF;
}

.footer_link_wrapper .contents_wrapper{
  position: relative;
}

.footer_link_wrapper .footer_link_left{
  margin-left: 450px;
}

.footer_link_wrapper .footer_link_right{
  margin-left: 80px;
}

.footer_link_wrapper .footer_link_list{
  font-size: 13px;
}

.footer_link_wrapper .footer_link_list li{
   margin-bottom: 10px;
}

.footer_link_wrapper .footer_link_list li:last-child{
   margin-bottom: 0px;
}

.footer_link_wrapper .footer_link_list a{
   color: #FFFFFF;
}

.footer_link_wrapper .footer_link_list .contact_link{
   margin-left: 5em;
}

.footer_link_wrapper .footer_logo{
  position: absolute;
  left: 20px;
  bottom: 0px;
}

.footer_link_wrapper .footer_logo img{
   width: 136px;
}

.footer_link_wrapper .fb_link{
  position: absolute;
  right: 60px;
  bottom: 0px;
}

.footer_link_wrapper .fb_link img{
   width: 10px;
}

.footer_link_wrapper .ig_link{
  position: absolute;
  right: 20px;
  bottom: 0px;
}

.footer_link_wrapper .ig_link img{
   width: 20px;
}

.footer_btm_wrapper{
 background-color: #404040;
 padding: 16px 0px;
 color: #FFFFFF;
 font-size: 11px;
}

.footer_btm_wrapper .footer_btm_link_list{
  margin-left: auto;
}

.footer_btm_wrapper .footer_btm_link_list li{
   display: inline-block;
   border-right: 1px solid #FFFFFF;
   float: left;
   margin-right: 10px;
   padding-right: 10px;
}

.footer_btm_wrapper .footer_btm_link_list li a{
    color: #FFFFFF;
}

.footer_btm_wrapper .footer_btm_link_list li:last-child{
   border-right: none;
   margin-right: 0px;
   padding-right: 0px;
}


/* /css/footer.rsv1.css */
@media screen and ( max-width:768px ) {

.footer_wrapper{
 margin-top: 70px;
}

.footer_office_wrapper{
 position: relative;
 background-color: #EAEAEA;
 padding: 30px 0px 90px 0px;
}

#page_scroll{
 position: absolute;
 bottom: 10px;
 right: 10px;
}

.footer_office_box{
 width: 100%;
}

.footer_office_box .footer_office_name{
  margin-right: 0px;
  width: 100%;
}

.footer_office_box .footer_office_name .footer_office_ename{
   font-size: 18px;
}

.footer_office_box .footer_office_name .footer_office_jname{
   font-size: 12px;
}

.footer_office_box .footer_office_det{
  width: 100%;
}

.footer_office_box .footer_office_det .footer_office_tel{
   margin-top: 10px;
   font-size: 19px;
   letter-spacing: 1px;
}

.footer_office_box .footer_office_det .footer_office_tel::before{
   content: '';
   display: inline-block;
   width: 16px;
   height: 16px;
   margin-right: 5px;
   background: url("/img/footer/icon_tel.png") no-repeat center center;
   background-size: 100%;
}

.footer_office_box .footer_office_det .footer_office_access{
   margin-top: 10px;
   font-size: 12px;
}

.footer_office_box .footer_office_det .footer_office_access .footer_office_map{
    text-align: right;
    margin-top: -24px;
    margin-right: 20px;
    font-size: 15px;
}

.footer_office_box:first-child{
 border-right: none;
 border-bottom: 1px solid #BBBABA;
 padding-bottom: 20px;
}

.footer_office_box:last-child{
 padding-top: 20px;
 padding-left: 0px;
}

.footer_link_wrapper{
 background-color: #666666;
 padding: 30px 0px;
 color: #FFFFFF;
}

.footer_link_wrapper .contents_wrapper{
  position: relative;
  padding-bottom: 120px;
}

.footer_link_wrapper .footer_link_left{
  margin-left: 0px;
  width: 50%;
}

.footer_link_wrapper .footer_link_right{
  margin-left: 0px;
  width: 50%;
}

.footer_link_wrapper .footer_link_btm{
  margin-top: 30px;
}

.footer_link_wrapper .footer_link_list{
  font-size: 13px;
}

.footer_link_wrapper .footer_link_list li{
   margin-bottom: 10px;
}

.footer_link_wrapper .footer_link_list li:last-child{
   margin-bottom: 0px;
}

.footer_link_wrapper .footer_link_list a{
   color: #FFFFFF;
}

.footer_link_wrapper .footer_link_list .contact_link{
   margin-left: 5em;
}

.footer_link_wrapper .footer_logo{
  position: absolute;
  left: 10px;
  bottom: 0px;
}

.footer_link_wrapper .footer_logo img{
   width: 136px;
}

.footer_link_wrapper .fb_link{
  position: absolute;
  right: 60px;
  bottom: 0px;
}

.footer_link_wrapper .fb_link img{
   width: 10px;
}

.footer_link_wrapper .ig_link{
  position: absolute;
  right: 20px;
  bottom: 0px;
}

.footer_link_wrapper .ig_link img{
   width: 20px;
}

.footer_btm_wrapper{
 background-color: #404040;
 padding: 30px 0px;
 color: #FFFFFF;
 font-size: 12px;
}

.footer_btm_wrapper .footer_btm_link_list{
  order: 1;
  margin-left: 0px;
  width: 100%;
}

.footer_btm_wrapper .footer_btm_link_list li{
   display: block;
   border-right: none;
   float: none;
   margin-right: 0px;
   padding-right: 0px;
   text-align: center;
   margin-bottom: 10px;
}

.footer_btm_wrapper .footer_btm_link_list li a{
    color: #FFFFFF;
}

.footer_btm_wrapper .footer_btm_link_list li:last-child{
   border-right: none;
   margin-right: 0px;
   padding-right: 0px;
}

.footer_btm_wrapper .footer_copyright{
  order: 2;
  width: 100%;
  margin-top: 10px;
  text-align: center;
}

}
/* /css/site-enhancements.css */
/* 復元元のCSSは保存し、SEO・読み込み・操作性の追加だけを置く。 */
img { height: auto; }
/* 元のwidth属性と同じく、既存の作者CSSやインライン指定を優先する。 */
@layer kpg-image-hints {
  :where(img[data-kpg-width]) { width: var(--kpg-image-width); }
}
.kpg-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.kpg-skip-link {
  position: fixed;
  top: -100px;
  left: 10px;
  z-index: 10000;
  padding: 12px 18px;
  background: #fff;
  color: #000;
}
.kpg-skip-link:focus { top: 10px; }
.slide_wrapper picture { display: block; }
.slide_wrapper:not(.slick-initialized) > .slide_img_wrapper:not(:first-child) { display: none; }
.store_img .zoom_img { position: relative; }
.store_img .zoom_img > a.target_link {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.store_img .kpg-facility-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
}
