@charset "UTF-8";
html{
  scroll-behavior: smooth;
}
.slide-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 40px; /* 下部リンク分を除く */
  z-index: 2;
  cursor: grab;
}

.carousel_track {
  cursor: grab;
}
.carousel_track:active {
  cursor: grabbing;
}
.carousel_track{
  user-select:none;
  touch-action: pan-y;
}


.fnt_zen {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.font-mincho {
  font-family: "Zen Old Mincho", serif;
}
.obi_top{
    background: #5B7DB0;
    color: #fff;
    text-align: center;
    padding: 15px 0;
     font-family: "Zen Kaku Gothic New", sans-serif;
}

.obi_top {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: #fff;
  padding: 5px;
}

.obi_text {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.obi_nav {
  background: none;
  border: none;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
}
.obi_link{
   color: #fff;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
.obi_nav:hover {
  opacity: 0.7;
}

.top_main_tit {

  letter-spacing: .1em;
  font-size: 16px;
  margin: 70px 0px 70px 0;
  padding-top: 6px;
  line-height: 1.5;
    font-family: "Zen Old Mincho", serif;
}


.header_h1_02 {
  font-family: "Zen Kaku Gothic New",sans-serif !important;
}
.contact_menu .rightmanu_li003 a {
  background-image:none !important;
}
#header.fix-nav.renewal .h_right_bx .contact_menu .rightmanu_li002 a {
  background-image: none !important;
}
#header.fix-nav.renewal .h_right_bx .contact_menu li a {
  padding: 8px 0 8px 0;
  text-align: center;
}

.renewal.fix-nav ol.flex {
  border-bottom: none;
    margin-top: -4px;
}

.renewal .new_h_box #mddNav {

  padding-top: 0px;
}
  #header.fix-nav.renewal #mddNav .mddWrap {
    top: 32px;
  }

.renewal .mainMENU > li:first-child,
.renewal .mainMENU > li.h_right_bx {
  flex: 0 0 auto;
}
.renewal #mddNav .mddWrap_thin .mddWrap .flex {
  padding-top: 9px;
  padding-bottom: 10px;
  border-top:none;
  background: #fff;
  border-bottom: none;
}
.renewal #mddNav .mddWrap {
  background: #fff;
  border-bottom: none;
  box-shadow: unset;
  border-top: 1px solid #5b7db0;
  border-bottom: 1px solid #5b7db0;
  padding-top: 0px;
}
.renewal .mainMENU {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}

.renewal .mainMENU > li {
  flex: 1;
}

.renewal .mainMENU > li.h_logo {
  text-align: center;
  flex: 0 0 auto;
}

.renewal .mainMENU > li:first-child,
.renewal .mainMENU > li.h_right_bx {
  flex: 1;
}


/* 通常（スクロール後） */
.renewal .mainMENU {
  top: 3px;

  position: relative;
}

.renewal .mainMENU.is-scrolled {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

/* 
.renewal .mainMENU.is-top {
  top: 50px;
}*/

.renewal .new_h_box #mddNav {
  top: 0px;
} 
.shopinfo{
  font-size: 9px;
  margin-top: 5px;
   font-family: "Zen Kaku Gothic New", sans-serif;
}

.flex_tel {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  justify-content: right;
  flex-direction: column;
  text-align: right;
  width: 190px;
  margin-right: 15px;
}

  #header.fix-nav.renewal .h_right_bx {
    width: 28%;
    display: flex;
    justify-content: end;
  }
  #header.fix-nav.renewal  .h_right_bx .contact_menu ul {
  display: flex;
  align-items: center;
  justify-content: right;
  width: 200px;
}


.renewal .bx-wrapper {
  margin-top: 18px !important;
}

.topics-slider {
  position: relative;
  overflow: hidden;
  width:  905px;
  margin: 70px auto;
}

.topics-list {
  display: flex;              
  width: 100%;
  transition: transform 0.4s ease;
  padding: 0 15px;
}

.topics-item {
  width: 50%;                 
  flex-shrink: 0;
}


.topics-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
    font-weight: 100;
}

.topics-nav.prev {
  left: 0;
}

.topics-nav.next {
  right: 0;
}
/* サムネイル枠 */
.topThum {
  width: 440px;
  height: 150px;
  overflow: hidden;
padding: 0 15px;
  background: #fff !important;
}

/* 中の画像 */
.topThum img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* ← 超重要 */
  display: block;
}








#header.fix-nav.renewal #mddNav > ul > li > a {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.fix-nav.renewal #open_nav {
  color: #000;
  background-color: #EDEDED;
    font-family: "Zen Kaku Gothic New", sans-serif;
  position: fixed;
  top: 0px;
  left: 0;
  width: 100vw;
  z-index: 9999;
}
body.home .fix-nav.renewal #open_nav {
  top: 50px;
}

.fix-nav.renewal #open_nav.scrolled {
  top: 0;
}
.parent02 > * {
  width: calc((100% - 30px) / 2);
}

.parent05{
 gap: 10px;
}
.parent05 > * {
  width: calc((100% - 40px) / 5);
}

#open_nav .parent02{
  justify-content: flex-start;
}
.opennav_logo{
width: 140px;
}
.opennav_menu{
  width: 35px;
}

.com_list li.box_txt{
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
color: #000;
font-size: 15px;
}
.com_list li:nth-child(2){
  margin-top: 9px;
}
.com_list li a {

  color: #000;
  font-size: 14px;
  line-height: 2em;
  font-weight: 400;
  letter-spacing: 0.05em;
}
.renewal #open_nav {

  padding: 6px 25px;
}

.renewal .box_bnr{
  margin: 6px 0;
}
.renewal.fix-nav #open_nav .closebtn {
  color: #000;
  font-family: "Zen Kaku Gothic New";
}
.renewal #open_nav .closebtn{
color: #000;
    background-color: unset;
  position: absolute;
  right: 10px;
  top: 9px;
  font-size: 30px;
  font-weight: 100;
  
}
.renewal .opennav_menu {
  width: 30px;
  margin-top: 4px;
}

#header.fix-nav.renewal .fix-nav-01 {
  margin-left: 15px;
  width: 35px;
}
#header.fix-nav.renewal .h_right_bx{
  width: 40%;
  margin-right: 10px;
}

.tel-text{
  font-size: 14px;
}
.flex_tel .pc{
  display: inline-block;
}


.hel{font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.inline_b {
  display: inline-block;
}
.mgr10{
  margin-right: 10px;
}
.mgr5{
  margin-right: 5px;
}

.gap20{
  gap: 20px;
}


.renewal .header_h1_02 {
  letter-spacing: 0.1em;
}

.cate_flex .ring{
  display: flex;
  justify-content: space-between;
align-items: center;
  gap: 80px;
}

.ring img {
  width: 50%;
  height: auto;
  display: block;
}
.ring-text {
  width: 50%;
  height: 300px;
  text-align: center;
}
.flex_rever{
flex-direction: row-reverse;
}

.ring-text .en {
  font-size: 39px;
margin-bottom: 30px;
  font-family: sd;
  font-weight: 100;
}

.ring-text .ja {
  font-size: 22px;
  font-weight: 500;
  margin-bottom: 20px;
  letter-spacing: 0.2em;
}

.ring-text .lead {
  font-size: 18px;
  line-height: 2;
  margin-bottom: 30px;
  letter-spacing: 0.2em;
}

/* 枠ボタン */
.btn-outline {
  display: inline-block;
  padding: 7px 32px;
  border: 1px solid #000;
  text-decoration: none;
  font-size: 16px;
  letter-spacing: 0.08em;
  transition: all 0.3s ease;
  min-width: 280px;
}

a.btn-outline:hover {
  background: #5B7DB0;
  color: #fff;
  border: none;
}

.has_t_mg {
  margin-top: -130px;
}

.has_t_mg .ring-text{
  margin-top: 160px;
}


.flex_col4 {
  display: flex;
}

.flex_col4 > * {
  width: calc((100% - 60px) / 4);
  margin-right: 20px;
}
.flex_col4 li:last-child{
   margin-right: 0px;
}
.flex_col4 li img{
  width: 100%;

}


.sd{
 font-family: sd;
}
.grid_tit002.sd span{
  display: inline-block;
  margin-left: 12px;
  font-family: "Zen Old Mincho", serif;
}

.bg_brand {
  background-image: url(../images/index/brand_bg.png);
  background-repeat: no-repeat;
 background-size: contain;
}

.bland_logo{
  width: 235px;
  margin: 0 auto;
  padding: 100px 0 60px;
}


.top_grid_img .grid_tit.c_fff{
  color: #fff;
  top: 10%;
  font-size: 14px;
  bottom: auto;
  line-height: 1.35em;
  letter-spacing: 0.05em;
  width: 100%;
}

/* 横並びトラック */
.carousel_slider {
  overflow: hidden;
}

.carousel_track {
  display: flex;
  transition: transform .6s ease;
  gap: 25px;
  margin: 0 50px;
}

.carousel_track li {
  flex: 0 0 auto;
  width: 19%;
  min-width: 320px;
}
.carousel_track li img{
  width: 100%;
}
.commore {
  width: 7px;
  display: inline-block;
  vertical-align: baseline;
  margin-left: 8px;
}
.flex_col4 li img.commore {
  width: 7px;
}

.slider_long_dots {
  display: flex;
  justify-content: center;
  gap: 10px;
 margin-top: 0px;
  padding-bottom: 30px;
}
.carousel_track li img.commore {
  width: 7px;
}
.slider_long_dots button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid #cfcfcf; 
  background: #fff; 
  cursor: pointer;
  padding: 0;
  box-sizing: border-box;
}


.slider_long_dots button.active {
  background: #76A5D7;
}



.carousel_slider{
  position: relative;
}

.carousel_arrow{
  position: absolute;
  top: 45%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  z-index: 10;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:.3s;
}

.carousel_arrow:hover{
  background:#f5f5f5;
}

.carousel_prev{
  left:10px;
}

.carousel_next{
  right:10px;
}

.carousel_arrow::before{
  content:"";
  width:10px;
  height:10px;
  border-top:2px solid #76A5D7;
  border-right:2px solid #76A5D7;
}

.carousel_prev::before{
  transform:rotate(-135deg);
}

.carousel_next::before{
  transform:rotate(45deg);
}

.commomn_cal{
  padding: 25px 0;
}
.bg_sev{
    background-image: url(../images/index/bg_serv.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.bg_sev .carousel_track{
  padding-top: 100px;
}
.top_grid_img img.serv_logo{
width: 70px !important;
  display: block;
  margin: 15px auto 0;
  position: absolute;
  top: 18%;
  left: 39%;
}
.bg_sev .top_grid_img .grid_tit.c_fff {
  top: 10%;
  font-size: 20px;}


.bg_shop{
    background-image: url(../images/index/shop_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
}

.shop_logo{
  width:175px ;
  display: inline-block;
  vertical-align: baseline;
  margin-right: 5px;
}
.top_shop{
  margin-right: 30px;
}
.top_shhop_flex .text_box{
  width: 43%;
}
.top_shhop_flex .img_box{
  width: 45%;
  max-width: 532px;
  margin-right: 120px;
}
.shop_info dl {
  margin: 0;
}
.bg_shop .sns .ytb{
  width: 44px;
}
.bg_shop .sns .ytb img{
  width: 100%;
}
.bg_shop .sns .flex{
gap: 15px;
  align-items: end;
}
.shop_row {
  display: flex;
 padding: 0px 0 0;
}

.shop_row dt {
  width: 120px;
  font-size: 14px; 
   font-family: "Zen Kaku Gothic New", sans-serif;
   margin-top: 9px;
}

.shop_row dd {
  margin: 0;
  flex: 1;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 14px;
  margin-top: 9px;
}

.width985{
  width:985px;
  margin: 0 auto;
}

/* スライダー枠 */
.three_slider{
  position:relative;
  overflow:hidden;
}


.three__track{
  display:flex;
  transition:transform .5s ease;
  will-change: transform;
  gap: 15px;
    padding: 0 40px;
}


.three__track li{
  flex:0 0 calc((100% - 30px) / 3);

}


.three_prev,
.three_next{
  position:absolute;
  top:45%;
  transform:translateY(-50%);
  z-index:10;
  width:44px;
  height:44px;
border: none;
  background: unset;
  color: #000;
  cursor:pointer;
  font-size: 39px;
  font-weight: 100;
}

.three_prev{ left: -5px;}
.three_next{ right:0; }
.top_grid_img {
  width: 100%;
}
.top_grid_img .grid_tit.c_fff.fnt20{
  font-size: 20px;
}

.top_grid_img .grid_tit.c_fff span.fnt10{
    font-size: 10px;
}
.three_slider .three_com_cal .grid_tit002 span{
  font-size: 19px;
  padding-bottom: 0px;
  display: inline-block;
  padding-left: 11px;
  margin-bottom: ;
  font-family: "Zen Kaku Gothic New", sans-serif;
  vertical-align: top;
  line-height: 1em;
}
.h2_tit{
font-size: 20px;
  font-family: sd;
  margin-bottom: 15px;
}
.h2_tit span{
  display: block;
  font-size: 10px;
  letter-spacing: 0.1em;
}
.news_flex{
  gap: 30px;
  margin-top: 30px;
}
.news_flex li img{
  width: 100%;
}

.news_flex li{
 flex:0 0 calc((100% - 60px) / 3);

}
.news_flex li ol li{
width: 100%;
}

.news_inner.flex{  justify-content: flex-start;}
.news_inner .flex_chi:nth-child(1) {
  width: 84px;
  height: 69px;
  margin-bottom: 5%;
}
.news_inner .infotxt{

  max-width:calc(100% - 110px) ;
}
.news_inner .infotxt .tmd{font-size: 12px;  font-family: "Zen Kaku Gothic New", sans-serif;}
.news_inner .infotxt .newtit{font-size: 14px;line-height: 1.2em;
  font-family: "Zen Kaku Gothic New", sans-serif;
}


.sns_top_eara ol.sns_list{
  width: 448px;
  margin: 64px auto 50px;
  gap: 26px;
  align-items: baseline;
}

.gap15{
  gap: 15px;
}
.gap30{
  gap: 30px;
}
.page_svg{
  display: inline-block;
  width: 11px;
  margin-right: 5px;
  vertical-align: baseline;
}
.sns_top_grid_img{
  position: relative;
}

 .sns_images.flex li{
  width: 20%;
  max-width: 250px;
}

.small_a{
  position: absolute;
  bottom: 30px;
  font-size: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
}
.footer_bg{
 background-image: url(../images/index/footer_bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 100px;
  padding-bottom: 30px;
}
.footer_flex02{

}
.logo_sns{
  width: 20%;
  margin-right: 5%;
}
.f_menu{
  width: 75%;
}
.f_sns img{
  width: 25px;
}
.f_com{
  margin: 25px auto;
}

.btn_company{
  display: inline-block;
  padding: 9px 28px;
  background: #fff;
  border: 1px solid #333;
  border-radius: 999px; /* 完全な丸ボタン */
  color: #000000;
  text-decoration: none;
  font-size: 12px;
  transition: .25s;
}

.btn_company:hover{
  background:#333;
  color:#fff;
}

.logo_sns .footer_logo{
width: 180px;
margin-bottom: 17px;
}
.logo_sns .flex{
  align-items: center;
  gap: 10px;
  justify-content: flex-start;
}

.box_txt {
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  color: #000;
  font-size: 15px;
}
.f_btn{
  justify-content: flex-start;
  align-items: center;
  gap: 15px;
}
.f_btn img{
  width: 100%;
}
.f_menu .box_bnr{
  width: 23%;
}
footer .com_list li:nth-child(2) {
  margin-top: 0px;
}
footer .com_list li.box_txt {
  margin-bottom: 15px;
}
footer .f_btn{
  justify-content: flex-start;
}
footer .f_menu_paet{
  justify-content: flex-start;
  gap: 35px;

}
footer .f_menu_paet a{
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 14px;
}

.copy{
  background:#5B7DB0 ;
  text-align: center;
  color: #fff;
  padding: 15px 0; 
  font-size: 12px;
}
 footer{
  padding-bottom: 0 !important;
  padding-top: 0 !important;
 }


.contact_btns {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}

.contact_btns li {
  flex: 1;
  width: calc((100% - 60px) / 4);
    font-family: "Zen Kaku Gothic New", sans-serif;
 
}

.contact_btns a {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 78px;
  text-decoration: none;
  font-weight: 500;
  font-size: 16px;
  border-radius: 8px;
  transition: all 0.3s ease;
    font-family: "Zen Kaku Gothic New", sans-serif;
       letter-spacing: 0.1em;
}
.contact_btns a:hover {
  text-decoration: none;
}
.contact_btns{
  gap: 15px;
}
.contact_btns li{
  width: calc((100% - 45px)/4 );
}
.contact_btns li img{
  width: 100%;
}
/* 1. 左（予約）- グラデ背景 + 白文字 */
.btn_4 .btn-reservation  {
  background: linear-gradient(90deg, #315A9C 0%, #76A5D7 100%);

}
.btn_4 .btn-reservation a, .btn-shop a{
  color: white;
}

.btn_4 .btn-tel ,
.btn_4 .btn-contact  {
  border: 1px solid #000;
  color: #000;
}
.btn_4 .btn-tel img{
  width: 15px;
  display: inline-block;
 margin: 0 3px 1px 9px;
vertical-align: middle;
}
.btn_4 .btn-shop  {
  background: #000;
  color: white;
}
.width27 {
  width: 27%;
}

.width32 {
  width: 32%;
}
.width45 {
  width: 45%;
}
.width50 {
  width: 50%;
}
.width80{
    width: 80%;
}


.top_read{
  width: 900px;
  margin: 30px auto;
  line-height: 2em;
}

.fnt16.font-mincho{
  font-size: 16px
}


@media screen and (max-width: 1350px) {
.com_list li a {
  font-size: 12px;}
.grid_tit002.sd span {
  display: block;
  margin-left: 0;
}
.logo_sns {
  width: 25%;
  margin-right: 0%;
}

footer .f_btn {
  justify-content: center;
}

.f_menu {
  width: 75%;
}
.com_list li.box_txt {
  font-size: 13px;
}
.sns_images.flex li {
  max-width: 200px;
  width: 18%;
}
footer .f_menu_paet a {
  font-size: 12px;
}
  .top_shhop_flex .img_box {
    width: 43%;
    max-width: 500px;
    margin-right: 90px;
  }
  .link_com_cal{
  width: 30%;
}
  #mddNav .mddWrap li {
  font-size: 12px;
}
}

@media screen and (max-width: 1150px) {
  #header.fix-nav.renewal .h_logo {
  width: 210px;
}
.parent05 {
  gap: 15px;
}
.parent05 > * {
  width: calc((100% - 70px)/5);
}
}
@media screen and (max-width: 1100px) {
  #header.fix-nav.renewal .h_logo {
  width: 200px;
}
#header.fix-nav.renewal .h_right_bx{
  width: 45%;
}
#header.fix-nav.renewal .h_right_bx .contact_menu li a {
  font-size: 12px;
}

    #header.fix-nav.renewal #mddNav > ul > li > a {
    font-size: 12px;
  }
.has_t_mg {
  margin-top: -60px;
}
}
@media screen and (max-width: 950px) {
  #header.fix-nav.renewal .h_logo {
  width: 180px;
}
  #header.fix-nav.renewal .h_right_bx .contact_menu ul {
  width: 160px;
}
  #header.fix-nav.renewal .h_right_bx .contact_menu li a {
    font-size: 11px;
  }
    #header.fix-nav.renewal #mddNav > ul > li > a {
    font-size: 10px;
  }
.topics-slider {
  width: auto;
  margin: 50px auto;
}
.topics-item {
  width: 100%;
  flex-shrink: 0;
}
.topThum {
  width: 75%;
  height: 260px;
  padding: 0 15px;
  margin: 0 auto;
}

  .com_list li a {
  font-size: 10px;
}
.top_read{
  width: 90%;
}
  .logo_sns {
    width: 100%;
    margin-right: 0;
    text-align: center;
  }
  .logo_sns .flex.f_sns {
  justify-content: center;
}
.shop_row {
  display: flex;
  padding: 0;
  justify-content: center;
}
  .shop_row dd {
    width: 200px;
    flex: unset;
  }
    .f_menu {
    width: 100%;
  }
    .width985 {
    width: 95%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 850px) {
    #header.fix-nav.renewal .h_logo {
    width: 165px;
  }
.flex_tel .inline_b{
  display: block;
  margin-right: 0;
}
.flex_tel img {
  width: 12px;
}
  #header.fix-nav.renewal #mddNav > ul > li > a {
    padding: 10px 11px 13px;
  }
  li .fnt18 {
  font-size: 16px;
}
.contact_btns li {
  width: 60%;
  flex: unset;
}
.news_flex li {
  flex: auto;
  width: 100%;
}
    .ring-text .en {
    font-size: 25px;
  }
  
  .ring-text .ja {
    font-size: 16px;
    margin-bottom: 10px;
  }
  .ring-text .lead {
  font-size: 14px;
  margin-bottom: 15px;
}
  .bg_shop .sns {
  margin-left: 0px;
  margin-top: 15px;
}
  .shop_row dt {
    width: 90px;
    font-size: 14px;
  }
  .shop_row dd {
    font-size: 14px;
  }
  .f_com {
  margin: 28px auto;
}
.small_a {
  bottom: 5px;
}
.flex_col4 li img.commore {
  width: 5px;
}
}

@media screen and (max-width: 768px) {
  #mddNav .mddWrap li {
  font-size: 10px;
}
  .new_h_box {
  display: none;
}
.relist_01{
  width: 100%;
}
  .fix-nav .flex {
    justify-content: center;
  }
.btn-outline {
  font-size: 14px;
}
 .flex .sp_100{
    width: 100%;
  }
    header.renewal {
    margin-top: 0px;
  }

 .contact_menu ul {
    width: auto;
  }

#header.fix-nav.renewal .flex_tel {
  width: auto;
  margin-right: 0px;
}
  .flex_tel img {
    width: 23px;
    margin-right: 10px;
    vertical-align: middle;
  }
#header.fix-nav.renewal .h_right_bx .contact_menu .rightmanu_li002,
#header.fix-nav.renewal .h_right_bx .contact_menu .rightmanu_li003 {
     margin: 0px 0 0;
  width: auto;
  background-color: unset;
}
#header.fix-nav.renewal .h_right_bx .contact_menu .rightmanu_li002{
width: 31px;

}

#header.fix-nav.renewal .h_right_bx .contact_menu .rightmanu_li003{
width: 29px;
    margin-right: 10px;
}


  #header.fix-nav.renewal .h_right_bx .contact_menu ul {
    width: auto;
  }
#header.fix-nav.renewal .h_right_bx .contact_menu li a {
    padding: 0;
    width: auto;
    font-size: unset;
  }

  #header.fix-nav.renewal .h_right_bx .contact_menu .rightmanu_li003 img ,
#header.fix-nav.renewal .h_right_bx .contact_menu .rightmanu_li002 img {
  width: 100%;
  vertical-align: middle;
}

#header.fix-nav.renewal .h_right_bx {
  width: auto;
  align-items: baseline;
}

.jw_list.flex_col4{
display: flex;
  flex-wrap: wrap;
}
.flex_col4 > * {
  width: 46%;
  margin-right: 20px;
}
.cate_flex .ring {
  gap: 40px;
  flex-direction: column;
}
 .has_t_mg {
    margin-top: 0px;
  }
.has_t_mg .ring-text {
  margin-top: 0px;
}
.com_list li.box_txt {
  font-size: 13px;
}

  .parent05 > * {
    width: calc((100% - 30px)/3);
  }
    .com_list li a {
    font-size: 12px;
  }
.relist_04 ,.relist_05 {
  margin-top: 20px;
}


.top_shhop_flex .text_box {
  width: 100%;margin-top: 30px;
}
  .top_shhop_flex .img_box {
    width: 100%;
    margin-right: 0;
  }

  .shop_row dt {
    width: 90px;
    font-size: 14px;
  }
  .shop_row dd {
    font-size: 14px;
  }
  .shop_logo {
  width: 145px;
}

.h2_tit {
  font-size: 16px;
}
li .fnt18 {
  font-size: 14px;
}
.sns_images.flex li {
  width: 30%;
  max-width: 250px;
}
.three__track li{
    flex: 0 0 66.666%; 
  }
      .link_com_cal {
    width: 97%;
  }
  footer {
    background-color: none !important;
    background-image: unset !important;
    padding: 0 !important;
  }
  .f_menu .box_bnr {
  width: 48%;
  max-width: 220px;
}
footer .f_menu_paet {
  align-items: first baseline;
}
.sp_center{
  text-align: center;
}
}
@media screen and (max-width: 498px) {
  #header.fix-nav.renewal .h_logo {
    width: 130px;
    padding: 0;
  }



#header.fix-nav.renewal #open_nav{
  padding: 0 20px 15px;
}
  #header.fix-nav.renewal .h_right_bx .contact_menu {
    margin: unset;
    padding: 0;
  }
    #header.fix-nav.renewal  .h_right_bx .contact_menu .rightmanu_li003 img {
    margin: 0px 0px 0 0;
}
  .pan-Box {
    padding: 0;
  }
 .topThum {
    width: 100%;
    height: 150px;
  }
  .parent05{
    flex-direction: column;
  }
.ring img {
  width: 100%;
}
.ring-text {
  width: 100%;
  height: auto;
  text-align: center;
  margin-bottom: 30px;
}
  .h2_tit {
    font-size: 18px;
  }
  .grid_tit002.fnt23 {
    font-size: 23px;
  }
  .grid_tit002 span.fnt18 {
    font-size: 16px;
  }
    .parent05 > * {
    width: 100% ;
  }
 .flex_col4 > * {
    width: 95%;
    margin-right: 0px;
    margin: 0 auto 30px;
}
  .sns_top_eara ol.sns_list {
  width: 100%;
  margin: 40px auto 30px;
  gap: 18px;
}
.aline_c.fnt25 {
  font-size: 18px;
}

.carousel_track li {
  min-width: 250px;
}
  .carousel_track .grid_tit002 {
    font-size: 16px;
  }

.contact_btns a {
  height: 57px;
  font-size: 13px;
}

  .top_main_tit {
  font-size: 16px;
  margin: 30px 0;
}
}

@media screen and (max-width: 398px) {
  #header.fix-nav.renewal .h_right_bx .contact_menu .rightmanu_li003 {
    width: 25px;
    margin-right: 7px;
  }
    #header.fix-nav.renewal .h_right_bx .contact_menu .rightmanu_li002 {
    width: 27px;
  }
    .flex_tel img {
    width: 21px;
    margin-right: 7px;
    vertical-align: middle;
  }
  .btn_4 .btn-tel img {
  width: 13px;
}
.three__track {
  padding: 0 30px;
}
  .sns_top_eara ol.sns_list {
    gap: 9px;
  }
}




/*＿＿＿＿default＿＿＿*/
.c_fff{
  color: #fff;
}
.c_000{
  color: #000;
}
.deco_line{
  text-decoration: underline;
}

.mgauto0{ margin: 0px auto;}
.mgauto15{ margin: 15px auto;}
.mgauto30{ margin: 30px auto;}
.mgauto50{ margin: 50px auto;}
.mgauto70{ margin: 70px auto;}
.mgauto80{ margin: 80px auto;}


.mgt140 {
  margin-top: 140px;
}
 .mgt120 {
    margin-top: 120px;
  }
.mgt100 {
  margin-top: 100px;
}

.mgb140 {
  margin-bottom: 140px;
}

.mgt80 {
  margin-top: 80px;
}
.mgt70 {
  margin-top: 70px;
}
.mgt60 {
  margin-top: 60px;
}

.mgt50 {
  margin-top: 50px;
}
.mgt30 {
  margin-top: 30px;
}
.mgt40 {
  margin-top: 40px;
}
.mgt20 {
  margin-top: 20px;
}

.mgt15 {
  margin-top: 15px;
}
.mgt10 {
  margin-top: 10px;
}
.mgt5 {
  margin-top: 5px;
}

.mgb40 {
  margin-bottom: 40px;
}
.mgb50 {
  margin-bottom: 50px;
}

.mgb30{
    margin-bottom: 30px;
}
.mgb80 {
  margin-bottom: 80px;
}

.pdt140 {
  padding-top: 140px;
}
.pdt120 {
    padding-top: 120px;
}
.pdt100 {
    padding-top: 100px;
}
.pdt80 {
  padding-top: 80px;
}
.pdt50 {
  padding-top: 50px;
}
.pdt30 {
  padding-top: 30px;
}

.pdb140 {
  padding-bottom: 140px;
}
.pdb120 {
  padding-bottom: 120px;
}
.pdb100 {
  padding-bottom: 100px;
}

.pdb50 {
  padding-bottom: 50px;
}

.pdb35 {
  padding-bottom: 35px;
}

.pdb30 {
  padding-bottom: 30px;
}
.pdb20 {
  padding-bottom: 20px;
}
.mgb25 {
  margin-bottom: 25px;
}
.mgb100 {
  margin-bottom: 100px;
}
.pdb15 {
  padding-bottom: 15px;
}

.mgb15 {
  margin-bottom: 15px;
}

.mgr15{
  margin-right: 15px;
}
.aline_c {
  text-align: center;
}

.aline_l {
  text-align: left;
}

.aline_r {
  text-align: right;
}

.inline_b {
  display: inline-block;
}

.block {
  display: block;
}

.under_line{
  text-decoration: underline;
}

.font_b {
  font-weight: bold;
}

.fw_100 {
  font-weight: 100;
}

.right_auto {
  margin-left: auto;
}
.letter_0 {
  letter-spacing: 0;
}
.letter_25 {
 letter-spacing: 0.25em;
}
.letter_15 {
 letter-spacing: 0.15em;
}
.line_h1 {
  line-height: 1em !important;
}
.line_h15 {
  line-height: 1.5em !important;
}

.line_h2 {
  line-height: 2em !important;
}

.fnt_w100{
  font-weight: 100;
}

.fnt-w400{
  font-weight: 400;
}

.fnt-w800{
  font-weight: 800;
}


.letter_s0{
  letter-spacing: 0em;
}
.letter_s01{
  letter-spacing: 0.1em;
}
.letter_s02{
  letter-spacing: 0.2em;
}






.italic {
  font-style: italic !important;
}

.deco {
  text-decoration: underline;
}

.fnt70 {
  font-size: 70px;

}

.fnt60 {
  font-size: 60px;

}

.fnt50 {
  font-size: 50px;

}

.fnt45 {
  font-size: 45px;

}

.fnt40 {
  font-size: 40px;

}

.fnt30 {
  font-size: 30px;

}
.fnt28{
  font-size: 28px;
}
.fnt25 {
  font-size: 25px;

}

.fnt23 {
  font-size: 23px;

}
.fnt22{
  font-size: 22px;
}

.fnt20 {
  font-size: 20px;

}
.fnt18 {
  font-size: 18px;

}
.fnt16 {
  font-size: 16px;

}

.fnt14 {
  font-size: 14px;
}
.fnt12{
  font-size: 12px;
}


.item_c {
  align-items: center;
}

.reverse {
  flex-flow: row-reverse;
}
@media (max-width:498px) {
  .reverse {
  flex-flow: column;
}
}
.just_sb{
  justify-content: space-between;
}
.just_fe{
  justify-content: flex-end;
}
.just_fs{
  justify-content: flex-start;
}
.gap20{ gap: 20px;}
.gap25{ gap: 25px;}
.gap30{ gap: 30px;}
.gap35{ gap: 35px;}
.gap40{ gap: 40px;}
.gap45{ gap: 45px;}
.gap50{ gap: 50px;}
.gap55{ gap: 55px;}
.gap60{ gap: 60px;}



.flex1 {
  flex: 1;
}

@media screen and (max-width: 1100px) {


  .mgt140 {
    margin-top: 100px;
  }

  .mgt100 {
    margin-top: 70px;
  }

  .mgb140 {
    margin-bottom: 100px;
  }

  .pdt140 {
    padding-top: 100px;
  }

  .pdt140 {
    padding-top: 100px;
  }
  .pdt120 {
    padding-top: 100px;
  }

  .pdb140 {
    padding-bottom: 100px;
  }
 .mgt120 {
    margin-top: 80px;
  }
  .mgt80 {
 
  }

  .mgt60 {
    margin-top: 40px;
  }

  .mgb80 {
    margin-bottom: 60px;
  }
.pdb120 {
  padding-bottom: 80px;
}
  .pdt80 {
    padding-top: 60px;
  }

  .fnt70 {
    font-size: 60px;

  }

  .fnt60 {
    font-size: 50px;

  }

  .fnt50 {
    font-size: 40px;

  }

  .fnt45 {
    font-size: 38px;

  }

  .fnt40 {
    font-size: 32px;
  }

  .fnt23 {
    font-size: 20px;

  }
}

@media (max-width: 950px) {
  .fnt70 {
    font-size: 50px;

  }

  .fnt60 {
    font-size: 40px;

  }

  .fnt50 {
    font-size: 35px;

  }

  .fnt40 {
    font-size: 30px;

  }


  .fnt23 {
    font-size: 18px;

  }
  .pdt120 {
    padding-top: 80px;
  }

  .mgt50 {
    margin-top: 30px;
  }

  .mgt40 {
    margin-top: 20px;
  }

  .pdt80 {
    padding-top: 40px;
  }


}



@media (max-width: 768px) {


  .mgt140 {
    margin-top: 100px;
  }

  .mgt100 {
    margin-top: 40px;
  }

  .mgb140 {
    margin-bottom: 50px;
  }

  .pdt140 {
    padding-top: 50px;
  }

  .pdb140 {
    padding-bottom: 50px;
  }

  .mgb140 {
    margin-bottom: 50px;
  }



  .mgb80 {
    margin-bottom: 30px;
  }
 .pdt120 {
    padding-top: 60px;
  }
.pdb120 {
  padding-bottom: 60px;
}
  .pdt80 {
    padding-top: 30px;
  }

  .fnt60 {
    font-size: 35px;
  }

  .fnt40 {
    font-size: 22px;
  }

  .fnt25 {
    font-size: 20px;
  }

  .mgt30 {
    margin-top: 20px;
  }
.fnt22 {
  font-size: 20px;
}
  .fnt20 {
    font-size: 18px;
  }
}


@media (max-width: 480px) {


  .mgt150 {
    margin-top: 35px;
  }
 .mgt120 {
    margin-top: 45px;
  }
  .mgt100 {
    margin-top: 20px;
  }

  .mgt40 {
    margin-top: 20px;
  }

  .pdt80 {
    padding-top: 25px;
  }
  .pdt100 {
  padding-top: 50px;
}
.pdb100 {
  padding-bottom: 50px;
}
  /* .mgt60 {
    margin-top: 20px;
  } */

  .fnt70 {
    font-size: 40px;

  }

  .fnt60 {
    font-size: 30px;
  }

  .fnt50 {
    font-size: 30px;

  }

  .fnt45 {
    font-size: 30px;

  }

  .fnt40 {
    font-size: 25px;

  }

  .fnt30 {
    font-size: 24px;
  }

  .fnt25 {
    font-size: 19px;
  }

  .fnt23 {
    font-size: 18px;

  }

  .fnt20 {
    font-size: 16px;
  }

  .fnt16 {
    font-size: 14px;
  }

}