@charset "UTF-8";
/*-------------▼▼▼▼▼▼ SP ▼▼▼▼▼▼-------------*/
@media only screen and (max-width: 768px) {
  /*--------------------- #header---------------------*/
  .header{ padding: 10px; }
  .headLogo img{ width: 12%; }
  .gnav{ display: none; }
  .hambur { display: block; }
  .drawer-hamburger {
    padding: 18px 1.2rem 30px !important;
    width: 3rem !important;
  }
  .drawer-toggle.drawer-hamburger { top: 1px!important; }
  .drawer-open .drawer-hamburger-icon { background-color: transparent !important; }
  .drawer-hamburger-icon, .drawer-hamburger-icon::after, .drawer-hamburger-icon::before { background-color: #222 !important; }
  li.drawerList {
    border: 3px solid transparent;
    font-size: 16px;
    position: relative;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    transition: all 0.3s linear;
  }
  li.drawerList a {
    display: block;
    padding: 10px;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    transition: all 0.3s linear;
  }
  li.drawerList a::after {
    content: "\f107";
    font-family: FontAwesome;
    font-size: 2.4rem;
    position: absolute;
    top: 50%;
    right: 5%;
    margin-top: -22px;
  }
  li.drawerList:hover { border-color: #a2110e; }
  li.drawerList a:hover { color: #a2110e; }
  li.drawerList.c_btn { display: block; }
  
  li.drawerList.blank a::after{
    content: "\f08e";
    font-family: FontAwesome;
    position: absolute;
    top: 16px;
    right: 10px;
    bottom: 0;
    left: auto;
  }
  li.drawerList a { display: block; }
  
  
  /*--------------------- .mv ---------------------*/
  .mv {
    background: url("../img/mv_sp.jpg") 0 60px / 100% auto no-repeat;
    padding-bottom: 135%;
  }
  
  
  /*--------------------- .head ---------------------*/
  .head01 img {
    max-width: 270px;
    width: 100%;
  }
  .head02 {
    font-size: 2.6rem;
    margin-bottom: 40px;
  }
  .head02::before {
    bottom: -10px;
    height: 3px;
  }
  
  .head03 span { font-size: 1.8rem; }
  
  .head04 { font-size: 1.4rem; }
  .head04 span {
    display: block;
    font-size: 2.6rem;
    margin-left: 0;
  }
  
  .head05 {
    font-size: 2.0rem;
    margin-bottom: 10px;
  }
  .head05 span { font-size: 1.6rem; }
  
  .head_l.head02 { text-align: center; }
  .head_l.head02::before, .about_box .head_l.head02::before { left: 50%; }
  
  
  /*--------------------- .section ---------------------*/
  .section01::before, .section04::before, .section06::before { display: none; }
  .section01 { margin-top: -70px; }
  .section02 {
    background: none;
  }
  .section02 .greeting_txt {
    padding-right: 0;
    padding-bottom: 60px;
  }
  .section02 .greeting_txt:after {
    content: "";
    display: block;
    margin: 0 auto;
    background: url(../img/img_greeting_bg_sp.jpg) center center no-repeat;
    background-size: cover;
    height: 50vh;
    width: 100%;
    margin-top: 20px;
  }
  .section03 { margin-top: -50px; }
  .section05 { background: none, url("../img/bg_pattern_img_01.jpg") top left repeat; }
  
  
  /*--------------------- .inr ---------------------*/
  .inr, .inr.inr_g {
    margin: 0;
    padding: 70px 15px;
    width: 100%;
  }
  
  .section01 .inr { padding: 60px 15px; }
  
  
  /*--------------------- .philosophy_box ---------------------*/
  .philosophy_box {
    border: 2px solid #fff;
    padding: 25px;
    width: 90%;
  }
  .philosophy_txt { font-size: 1.4rem; }
  .philosophy_txt strong {
    font-size: 2.4rem;
    letter-spacing: 0;
  }
  
  
  /*--------------------- .flt ---------------------*/
  .flt_l {
    float: none;
    width: 100%;
  }
  .flt_r {
    float: none;
    width: 100%;
  }
  .flt_l img, .flt_r img { width: 100%; }
  
  .greeting_txt { margin: 0; }
  .greeting_txt p { line-height: 1.6; }
  .greeting_name b {
    display: block;
    margin-left: 0;
  }
  img.greeting_img { display: none; }

  /*--------------------- .shop ---------------------*/
  .shop_box { margin: -25px 0; }
  .shop_list { padding: 25px 0; }
  
  .shop_list .shop_address, .shop_list p { font-size: 1.4rem; }
  .shop_img {
    margin-top: 20px;
    text-align: center;
  }
  
  /*--------------------- .btn ---------------------*/
  .btn { width: 100%; }
  
  
	/*--------------------- .tel_txt ---------------------*/
	.sp_tel {
    font-size: 1.8rem;
    pointer-events: auto;
  }
  
  
  /*--------------------- .recruit_txt ---------------------*/
  .recruit_txt { margin-top: 0; }
  
  
  /*--------------------- .tbl ---------------------*/
  .basic_tbl { margin-top: 30px; }
  
  
  /*--------------------- .about_box ---------------------*/
  .about_box {
    padding-right: 0;
    width: 100%;
  }
  .about_box::after {
    background-size: cover;
    position: static;
    height: 300px;
    margin-top: 50px;
    width: 100%;
  }
  
	
  /*--------------------- .about_list ---------------------*/
  .about_list dt { width: 30%; }
  .about_list dd {
    padding: 10px 0 10px 20px;
    width: 65%; 
  }
  
	/*--------------------- .other ---------------------*/
	.pc_br { display: none; }
	.sp_br { display: block; }
  .center { text-align: left; }
	
  /*--------------------- .back_btn ---------------------*/
  .back_btn { width: 100%; }
  
  
  
  /*--------------------- .footer ---------------------*/
  .copy_txt {
    padding: 10px 30px 10px 10px;
    text-align: left;
  }
}

@media only screen and (max-width: 768px) and (min-width: 500px) {
  .philosophy_box { width: 50%; }
  .about_box::after { height: 50vh; }
}

@media only screen and (max-width: 1000px) and (min-width: 768px) {
  .recruit_txt { margin-top: 0; }
  
  .header{ padding: 10px; }
  .headLogo img{ width: 5%; }
  .gnav{ display: none; }
  .hambur { display: block; }
  .drawer-hamburger {
    padding: 18px 1.2rem 30px !important;
    width: 3rem !important;
  }
  .drawer-toggle.drawer-hamburger { top: 1px!important; }
  .drawer-open .drawer-hamburger-icon { background-color: transparent !important; }
  .drawer-hamburger-icon, .drawer-hamburger-icon::after, .drawer-hamburger-icon::before { background-color: #222 !important; }
  li.drawerList {
    border: 3px solid transparent;
    font-size: 16px;
    position: relative;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    transition: all 0.3s linear;
  }
  li.drawerList a {
    display: block;
    padding: 10px;
    -webkit-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -ms-transition: all 0.3s linear;
    transition: all 0.3s linear;
  }
  li.drawerList a::after {
    content: "\f107";
    font-family: FontAwesome;
    font-size: 2.4rem;
    position: absolute;
    top: 50%;
    right: 5%;
    margin-top: -22px;
  }
  li.drawerList:hover { border-color: #a2110e; }
  li.drawerList a:hover { color: #a2110e; }
  li.drawerList.c_btn { display: block; }
  
  li.drawerList.blank a::after{
    content: "\f08e";
    font-family: FontAwesome;
    position: absolute;
    top: 16px;
    right: 10px;
    bottom: 0;
    left: auto;
  }
  li.drawerList a { display: block; }
  
}

@media only screen and (max-width: 1470px) and (min-width: 768px) {
  .section06::before { top: -8%; }
}

@media only screen and (max-width: 860px) and (min-width: 768px) {
  .section02 { background-position: -60px; }
  .greeting_name { text-align: right; }
  .greeting_name b { margin: 0; }
  .sp_br { display: block; }
}