@charset "UTF-8";
/*
Theme Name: スマホ用
Author: Catwork Co., Ltd.
*/
@media screen and (max-width: 750px) {
  .sp {
    display: block !important;
    margin: 0 auto;
  }
  .pc {
    display: none !important;
  }
  .wrapper {
    position: relative;
/*    overflow-x: hidden;*/
  }
  body.nav-open {
    position: fixed;
    width: 100%;
    overflow: hidden;
  }
  /* header ------*/
  .header {
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translateX(-50%);
    width: 89.33vw;
    height: 16vw;
    margin-top: 0;
  }
  .header-inner {
    padding: 3.33vw;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  }
  .header .logo {
    margin-top: 0;
  }
  .header .logo img {
    width: 26.666vw;
    height: 6.666vw;
  }
  .static-header-wrap {
    height: calc(48px + 16vw);
  }
  /* nav ------*/
  #nav {
    display: none;
    width: 100%;
    position: fixed;
    z-index: 100;
  }
  #nav-btn.active + #nav {
    display: block;
    top: 13vw;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    height: inherit;
    background: #fff;
    padding: 0 3.333vw;
    box-sizing: border-box;
    border-radius: 0 0 2vw 2vw;
    overflow-y: auto;
    z-index: 9999;
	          max-height: calc(100vh - 100px);
  }
  #nav-btn.active + #nav::-webkit-scrollbar {
    width: 0.8vw;
  }
  #nav-btn.active + #nav::-webkit-scrollbar-track {
    background-color: transparent;
  }
  #nav-btn.active + #nav::-webkit-scrollbar-thumb {
    background-color: #8e8e8e;
    border-radius: 0.4vw;
  }
  #nav-btn.active + #nav .gnav {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
  }
  #nav-btn.active + #nav .gnav > li {
    width: 100%;
  }
  #nav-btn.active + #nav .gnav > li > a {
    display: block;
    width: 100%;
    height: 14.666vw;
    background: url("../img/common/nav_arrow01.png")right 1.333vw center no-repeat;
    background-size: 3.2vw;
    padding: 0 0 0 1.333vw;
    box-sizing: border-box;
    font-size: 4.266vw;
    line-height: 14.666vw;
    border-bottom: 0.26vw solid #f4f0ed;
  }
  #nav-btn.active + #nav .gnav > li.mark .cate-title {
    display: block;
    width: 100%;
    height: 14.666vw;
    padding: 0 0 0 1.333vw;
    box-sizing: border-box;
    font-size: 4.266vw;
    line-height: 14.666vw;
    border-bottom: 0.26vw solid #f4f0ed;
    position: relative;
  }
  #nav-btn.active + #nav .gnav > li.mark .cate-title::after {
    position: absolute;
    top: 4.266vw;
    right: 0;
    content: "";
    background: url("../img/common/nav_icon01_2.png")no-repeat;
    background-size: 100%;
    width: 5.866vw;
    height: 5.866vw;
    transition: all .2s;
    left: inherit;
    transform: translate(0%, 0%);
  }
  #nav-btn.active + #nav .gnav > li.mark .cate-title.close::after {
    background: url("../img/common/nav_icon01.png")no-repeat;
    background-size: 100%;
    width: 5.866vw;
    height: 5.866vw;
    /*		transform: rotateX(180deg);*/
    transition: all .2s;
  }
  #nav-btn.active + #nav .gnav > li:nth-of-type(8).mark .cate-title::after {
    position: absolute;
    top: 4.266vw;
    right: 0;
    content: "";
    background: url("../img/common/nav_icon02_2.png")no-repeat;
    background-size: 100%;
    width: 5.866vw;
    height: 5.866vw;
    transition: all .2s;
  }
  #nav-btn.active + #nav .gnav > li:nth-of-type(8).mark .cate-title.close::after {
    background: url("../img/common/nav_icon02.png")no-repeat;
    background-size: 100%;
    width: 5.866vw;
    height: 5.866vw;
    transform: rotateX(180deg);
    transition: all .2s;
  }
  #nav-btn.active + #nav .gnav .nav-cate1 {
    display: none;
    transition: none;
    box-sizing: border-box;
  }
  #nav-btn.active + #nav .gnav .nav-cate1 li a {
    display: block;
    width: 100%;
    height: 14.666vw;
    background: url("../img/common/nav_arrow_r.png")right 1.333vw center no-repeat;
    background-size: 3.2vw;
    padding: 0 0 0 4.666vw;
    box-sizing: border-box;
    color: #333;
    font-size: 4.266vw;
    line-height: 14.666vw;
    border-bottom: 0.26vw solid #f4f0ed;
  }
  #nav-btn.active + #nav .gnav .nav-cate1 li a::before {
    content: "−";
    padding-right: 0.5vw;
    color: #e74921;
  }
  #nav-btn.active + #nav .gnav .nav-cate2 {
    display: none;
    transition: none;
    box-sizing: border-box;
  }
  #nav-btn.active + #nav .gnav .nav-cate2 li a {
    display: block;
    width: 100%;
    height: 14.666vw;
    background: url("../img/common/nav_arrow03.png")right 1.333vw center no-repeat;
    background-size: 3.2vw;
    padding: 0 0 0 4.666vw;
    box-sizing: border-box;
    color: #00a23f;
    font-size: 4.266vw;
    line-height: 14.666vw;
    border-bottom: 0.26vw solid #f4f0ed;
  }
  #nav-btn.active + #nav .gnav .nav-cate2 li a::before {
    content: "−";
    padding-right: 0.5vw;
  }
  #nav-btn.active + #nav .after-box {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 2.666vw 0;
    width: 100%;
    padding: 9.333vw 0 10.666vw;
  }
  #nav .after-box .button a {
    display: block;
    width: 76vw;
    height: 14.933vw;
    background: #222 url("../img/home/arrow01_sp.png")right 5.2vw center no-repeat;
    background-size: 6.4vw;
    border-radius: 7.3333vw;
    border: none;
    padding: 2vw 0 0;
    box-sizing: border-box;
    color: #fff;
    font-size: 3.733vw;
    font-weight: 400;
    line-height: 3;
    letter-spacing: 0;
    text-align: center;
  }
  #nav .after-box .button:nth-of-type(1) a {
    background: #e74921 url("../img/home/arrow02_sp.png")right 5.2vw center no-repeat;
	  background-size: 6.4vw;
  }
  #nav .after-box .button a span {
    display: inline !important;
    margin: 0;
  }
  #nav .after-box .button a .dot {
    position: relative;
  }
  #nav .after-box .button a .dot::before {
    position: absolute;
    top: -0.5vw;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    background: #fff;
    width: 0.866vw;
    height: 0.866vw;
    border-radius: 50%;
  }
  #nav-btn {
    width: 12.4vw;
    height: 12.4vw;
    background: #e74921;
    border-radius: 50%;
    position: fixed;
    top: 1.866vw;
    left: auto;
    right: 3.33vw;
    z-index: 10010;
    cursor: pointer;
    transition: all .5s;
  }
  .menu-btn {
    position: absolute;
    width: 6.133vw;
    height: 5vw;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
  }
  .menu-btn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.533vw;
    background-color: #fff;
    transition: all .5s;
  }
  .menu-btn span:nth-child(1) {
    top: 0;
  }
  .menu-btn span:nth-child(2) {
    top: 2.3vw;
  }
  .menu-btn span:nth-child(3) {
    bottom: 0;
  }
  #nav-btn.active span:nth-child(1) {
    -webkit-transform: translate(-0.1vw, 2.5vw) rotate(-315deg);
    transform: translate(-0.1vw, 2.5vw) rotate(-315deg);
  }
  #nav-btn.active span:nth-child(2) {
    opacity: 0;
  }
  #nav-btn.active span:nth-child(3) {
    -webkit-transform: translate(-0.1vw, -2vw) rotate(315deg);
    transform: translate(-0.1vw, -2vw) rotate(315deg);
  }
}
@media screen and (max-width: 375px) {
  .header {
    width: 335px;
    height: 60px;
  }
  .header-inner {
    padding: 12.45px;
  }
  .header .logo img {
    width: 100px;
    height: 25px;
  }
  #nav-btn.active + #nav {
    display: block;
    top: 46.5px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    /*			height: calc(100vh - 200px);*/
    background: #fff;
    padding: 0 12.5px;
    box-sizing: border-box;
    border-radius: 0 0 10px 10px;
    overflow-y: auto;
    z-index: 9999;
    padding-top: 15px;
  }
  #nav-btn.active + #nav .gnav > li > a {
    display: block;
    width: 100%;
    height: 54.5px;
    background: url("../img/common/nav_arrow01.png")right 2px center no-repeat;
    background-size: 12px;
    padding: 0 0 0 5px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 54.4px;
    border-bottom: 1px solid #f4f0ed;
  }
  #nav-btn.active + #nav .gnav > li.mark .cate-title {
    display: block;
    width: 100%;
    height: 54.5px;
    padding: 0 0 0 5px;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 54.5px;
    border-bottom: 1px solid #f4f0ed;
    position: relative;
  }
  #nav-btn.active + #nav .gnav > li.mark .cate-title::after {
    position: absolute;
    top: 16px;
    right: 0;
    content: "";
    background: url("../img/common/nav_icon01_2.png")no-repeat;
    background-size: 100%;
    width: 22px;
    height: 22px;
    transition: all .2s;
    left: inherit;
    transform: translate(0%, 0%);
  }
  #nav-btn.active + #nav .gnav > li.mark .cate-title.close::after {
    background: url("../img/common/nav_icon01.png")no-repeat;
    background-size: 100%;
    width: 22px;
    height: 22px;
    transition: all .2s;
  }
  #nav-btn.active + #nav .gnav > li:nth-of-type(8).mark .cate-title::after {
    position: absolute;
    top: 16px;
    right: 0;
    content: "";
    background: url("../img/common/nav_icon02_2.png")no-repeat;
    background-size: 100%;
    width: 22px;
    height: 22px;
    transition: all .2s;
  }
  #nav-btn.active + #nav .gnav > li:nth-of-type(8).mark .cate-title.close::after {
    background: url("../img/common/nav_icon02.png")no-repeat;
    background-size: 100%;
    width: 22px;
    height: 22px;
    transform: rotateX(180deg);
    transition: all .2s;
  }
  #nav-btn.active + #nav .gnav .nav-cate1 li a {
    display: block;
    width: 100%;
    height: 54.5px;
    background: url("../img/common/nav_arrow_r.png")right 2px center no-repeat;
    background-size: 12px;
    padding: 0 0 0 17.5px;
    box-sizing: border-box;
    color: #333;
    font-size: 16px;
    line-height: 54.5px;
    border-bottom: 1px solid #f4f0ed;
  }
  #nav-btn.active + #nav .gnav .nav-cate1 li a::before {
    content: "−";
    padding-right: 2px;
    color: #e74921;
  }
  #nav-btn.active + #nav .gnav .nav-cate2 li a {
    display: block;
    width: 100%;
    height: 54.5px;
    background: url("../img/common/nav_arrow03.png")right 2px center no-repeat;
    background-size: 12px;
    padding: 0 0 0 17.5px;
    box-sizing: border-box;
    color: #00a23f;
    font-size: 16px;
    line-height: 54.5px;
    border-bottom: 1px solid #f4f0ed;
  }
  #nav-btn.active + #nav .gnav .nav-cate2 li a::before {
    content: "−";
    padding-right: 2px;
  }
  #nav .after-box {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    gap: 10px 0;
    width: 100%;
    padding: 35px 0 40px;
  }
  #nav .after-box .button a {
    width: 285px;
    height: 56px;
    background-size: 25px;
    border-radius: 28px;
    padding: 7.5px 0 0;
    font-size: 14px;
    letter-spacing: 0;
  }
  #nav .after-box .button:nth-of-type(1) a {
    background: #e74921 url("../img/home/arrow02_sp.png")right 22px center no-repeat;
    background-size: 25px;
  }
  #nav .after-box .button a .dot::before {
    position: absolute;
    top: -1.875px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    background: #fff;
    width: 3.25px;
    height: 3.25px;
    border-radius: 50%;
  }
  #nav-btn {
    width: 46.5px;
    height: 46.5px;
    background: #e74921;
    border-radius: 50%;
    position: fixed;
    top: 6.2px;
    left: auto;
    right: 12px;
    z-index: 10010;
    cursor: pointer;
    transition: all .5s;
  }
  .menu-btn {
    position: absolute;
    width: 23px;
    height: 18.5px;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
  }
  .menu-btn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    transition: all .5s;
  }
  .menu-btn span:nth-child(2) {
    top: 7.5px;
  }
  #nav-btn.active span:nth-child(1) {
    -webkit-transform: translate(-0.1vw, 2.5vw) rotate(-315deg);
    transform: translate(-0.1vw, 2.5vw) rotate(-315deg);
  }
  #nav-btn.active span:nth-child(2) {
    opacity: 0;
  }
  #nav-btn.active span:nth-child(3) {
    -webkit-transform: translate(-0.1vw, -2vw) rotate(315deg);
    transform: translate(-0.1vw, -2vw) rotate(315deg);
  }
}