@media screen and (max-width: 768px) {
  html, body {
    overflow-x: hidden;
  }
  html {
    font-size: 22vw;
  }
  /* Common
  -------------------------------------------------- */
  .sp-only {
    display: block !important;
  }
  .sp-only-inline {
    display: inline !important;
  }
  .pc-only {
    display: none !important;
  }
  .pc-only-inline {
    display: none !important;
  }
  /* Header
  -------------------------------------------------- */
	.header_wrapper {
		position: fixed;
		top: 0;
		z-index: 10;
		width: 100%;
	}
  #header {
    padding: 0 0 0 1em;
  }
  #header .left {
    padding-right: 2em;
  }
  #header .left .logo p img {
    max-width: 100%;
  }
  #header .right .menu {
    display: none;
  }
  #header .right .contact {
    display: none;
  }
  #header .right .menu-sp {
    display: block;
  }
  #header .right .menu-sp p img {
    width: 4.5em;
    vertical-align: bottom;
  }
  /* Page Index
  -------------------------------------------------- */
	.page-index {
		margin-top: 70px;
	}
  .page-index .mv .content .txt {
    font-size: .35rem;
    letter-spacing: 4px;
    line-height: 110%;
  }
  .page-index .mv .content .txt small {
    font-size: .28rem;
  }
  .page-index .mv .content .txt02 {
    text-align: center;
  }
  .page-index .mv .content .txt02 span {
    display: inline-block;
    font-size: .14rem;
    padding: .8em 2em;
  }
  .page-index .main .box01 {
    padding-left: 1em;
    padding-right: 1em;
    margin-bottom: 3em;
  }
  .page-index .main .box01 .inner {
    margin-top: 0;
    padding-top: 1em;
  }
  .page-index .main .box01 .inner ul {
    flex-wrap: wrap;
  }
  .page-index .main .box01 .inner ul li {
    width: 50%;
    margin-bottom: 1em;
  }
  .page-index .main .box02 {
    margin-bottom: 3.5em;
  }
  .page-index .main .box02 .inner {
    padding-left: 1em;
    padding-right: 1em;
  }
  .page-index .main .box02 .inner .ttl figure img {
    max-width: 14vw;
  }
  .page-index .main .box03 {
    padding-left: 2em;
    padding-right: .3em;
    margin-bottom: 2.5em;
  }
  .page-index .main .box03 ul {
    flex-direction: column;
  }
  .page-index .main .box03 ul li {
    width: 100%;
  }
  .page-index .main .box03 ul li:first-child {
    padding-left: 0;
  }
  .page-index .main .box03 ul li:first-child figure {
    right: 0;
  }
  .page-index .main .box03 ul li:last-child {
    margin-top: 3em;
    padding-right: 0;
  }
  .page-index .main .box03 ul li:last-child figure {
    left: 0;
  }
  .page-index .main .box04 {
    padding: 0 1em 3em;
  }
  .page-index .main .box04 .in {
    padding: 3em 1.5em 0;
    flex-direction: column;
  }
  .page-index .main .box04 .in .content {
    width: 100%;
    padding: 0;
    margin-bottom: 4em;
    min-width: auto;
  }
  .page-index .main .box04 .in .content .ttl {
    margin-bottom: 1.7em;
  }
  .page-index .main .box04 .in .content .ttl figure img {
    max-width: 14vw;
  }
  .page-index .main .box04 .in .content .txt {
    display: none;
  }
  .page-index .main .box04 .in .content .txt02 p {
    line-height: 140%;
  }
  .page-index .main .box04 .in .content .link p .btn01 {
    min-width: 100%;
  }
  .page-index .main .box04 .in .image figure {
    margin-left: 1em;
    margin-bottom: -5em;
  }
  .page-index .main .box04 .in .image figure img {
    max-width: 100%;
  }
  .page-index .main .box05 ul {
    display: block;
  }
  .page-index .main .box05 ul li {
    width: 100%;
  }
  .page-index .main .box05 ul li .content .ttl h2 {
    font-size: .32rem;
    margin-bottom: .5em;
  }
  .page-index .main .box05 ul li .content .ttl p {
    font-size: .16rem;
  }
  .page-index .main .box05 ul li .content .link p .btn01 {
    min-width: 60%;
    font-size: .24rem;
    border-width: 2px;
    background-size: .5em auto;
  }
  /* Page Company
  -------------------------------------------------- */
  .page-company {
    padding-bottom: 40px;
  }
  .page-company .top {
    padding: 60px 0 0;
  }
  .page-company .top .ttl h2 {
    font-size: 18px;
    font-size: 5.625vw;
  }
  .page-company .top .ttl p {
    font-size: 44px;
    font-size: 13.75vw;
    margin-bottom: 5px;
  }
  .page-company .top .txt {
    padding: 0 10px;
    margin-bottom: 45px;
  }
  .page-company .top .txt p {
    line-height: 160%;
  }
  .page-company .detail {
    padding: 0 10px;
    margin-bottom: 60px;
  }
  .page-company .detail h3 {
    font-size: 18px;
    font-size: 5.625vw;
    padding-left: 10px;
    margin-bottom: 20px;
  }
  .page-company .detail table {
    display: block;
    padding: 0 10px;
  }
  .page-company .detail table tbody {
    display: block;
  }
  .page-company .detail table tbody tr {
    display: block;
  }
  .page-company .detail table tbody tr th {
    display: block;
    padding: 5px 10px;
    border: 0;
    border-bottom: 1px solid #bfbfbf;
  }
  .page-company .detail table tbody tr td {
    display: block;
    padding: 10px 10px 30px;
  }
  .page-company .map iframe {
    max-height: 50vh;
  }
  /* Page Store
  -------------------------------------------------- */
  .page-store .titles {
    padding-left: 10px;
    padding-right: 10px;
    text-align: center;
  }
  .page-store .titles h2 {
    font-size: 18px;
    font-size: 5.625vw;
  }
  .page-store .titles p {
    font-size: 45px;
    font-size: 11.0625vw;
  }
  .page-store .titles:first-child {
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 60px;
  }
  .page-store .stores {
    padding: 0 10px;
    margin-bottom: 70px;
  }
  .page-store .stores .item .logo {
    margin-bottom: 20px;
  }
  .page-store .stores .item .logo img {
    max-width: 60%;
  }
  .page-store .stores .item .images {
    margin-bottom: 0;
  }
  .page-store .stores .item .images ul {
    flex-direction: column;
  }
  .page-store .stores .item .images ul li {
    margin-bottom: 20px;
    width: 100%;
  }
  .page-store .stores .item .images ul li figure {
    margin: 0 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .page-store .stores .item .images ul li figure img {
    width: 100%;
    height: auto;
    margin-top: -10px;
    margin-left: -10px;
  }
  .page-store .stores .item .detail h4 {
    font-size: 18px;
    font-size: 5.625vw;
  }
  .page-store .stores .item .detail p {
    line-height: 160%;
  }
  .page-store .business {
    padding: 0 10px;
  }
  .page-store .business .item .main {
    flex-direction: column;
  }
  .page-store .business .item .main .image {
    margin-bottom: 30px;
    padding: 0 10px;
  }
  .page-store .business .item .main .image figure {
    padding-right: 10px;
    padding-bottom: 10px;
  }
  .page-store .business .item .main .image figure img {
    width: 100%;
    height: auto;
    margin-top: -10px;
    margin-left: -10px;
  }
  .page-store .business .item .main .detail {
    padding-left: 0;
  }
  .page-store .business .item .main .detail h2 {
    font-size: 18px;
    font-size: 5.625vw;
  }
  .page-store .business .item .sub {
    flex-direction: column;
    margin-bottom: 50px;
  }
  .page-store .business .item .sub .item {
    width: 100%;
    margin-bottom: 50px;
  }
  .page-store .business .item .sub .item h3 {
    font-size: 18px;
    font-size: 5.625vw;
  }
  .page-store .business .item .sub .item p {
    line-height: 160%;
  }
  .page-store .business .item .sub .item figure {
    margin: 0 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .page-store .business .item .sub .item figure img {
    width: 100%;
    height: auto;
    margin-top: -10px;
    margin-left: -10px;
  }
  /* Page Recruit
  -------------------------------------------------- */
  .page-recruit > .main {
    padding-top: 3em;
  }
  .page-recruit .top {
    padding: 50px 10px 30px;
  }
  .page-recruit .top h2 {
    font-size: 21px;
    font-size: 6.5625vw;
  }
  .page-recruit .top p {
    line-height: 160%;
  }
  .page-recruit .list {
    padding: 0 10px;
  }
  .page-recruit .list .item .ttl {
    margin-bottom: 30px;
  }
  .page-recruit .list .item .ttl h3 a {
    font-size: 18px;
    font-size: 5.625vw;
  }
  .page-recruit .list .item .ttl h3 a small {
    font-size: 15px;
    font-size: 4.6875vw;
  }
  .page-recruit .list .item .content {
    flex-direction: column-reverse;
  }
  .page-recruit .list .item .content .image {
    margin-bottom: 20px;
    padding: 0 10px;
  }
  .page-recruit .list .item .content .image figure {
    padding-right: 10px;
    padding-bottom: 10px;
  }
  .page-recruit .list .item .content .image figure img {
    width: 100%;
    height: auto;
    margin-top: -10px;
    margin-left: -10px;
  }
  .page-recruit .list .item .content .detail {
    padding-right: 0;
  }
  .page-recruit .list .item .content .detail table {
    display: block;
  }
  .page-recruit .list .item .content .detail table tbody {
    display: block;
  }
  .page-recruit .list .item .content .detail table tbody tr {
    display: block;
  }
  .page-recruit .list .item .content .detail table tbody tr th {
    display: block;
    width: 100%;
  }
  .page-recruit .list .item .content .detail table tbody tr td {
    display: block;
  }
  .page-recruit .list .item .link p a {
    font-size: 14px;
    font-size: 4.375vw;
  }
  .page-recruit .contents {
    padding: 0 10px 40px;
  }
  .page-recruit .contents .ttl {
    margin-bottom: 30px;
  }
  .page-recruit .contents .ttl h1 a {
    font-size: 18px;
    font-size: 5.625vw;
  }
  .page-recruit .contents .ttl h1 a small {
    font-size: 15px;
    font-size: 4.6875vw;
  }
  .page-recruit .contents .main {
    flex-direction: column;
  }
  .page-recruit .contents .main .image {
    margin-bottom: 30px;
    padding: 0 10px;
  }
  .page-recruit .contents .main .image figure {
    padding-right: 10px;
    padding-bottom: 10px;
  }
  .page-recruit .contents .main .image figure img {
    width: 100%;
    height: auto;
    margin-top: -10px;
    margin-left: -10px;
  }
  .page-recruit .contents .main .detail {
    padding-left: 0;
  }
  .page-recruit .contents .main .detail h2 {
    font-size: 18px;
    font-size: 5.625vw;
  }
  .page-recruit .contents .sub {
    flex-direction: column;
    margin-bottom: 50px;
  }
  .page-recruit .contents .sub .item {
    width: 100%;
    margin-bottom: 50px;
  }
  .page-recruit .contents .sub .item h3 {
    font-size: 18px;
    font-size: 5.625vw;
  }
  .page-recruit .contents .sub .item p {
    line-height: 160%;
  }
  .page-recruit .contents .sub .item figure {
    margin: 0 10px;
    padding-right: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
  .page-recruit .contents .sub .item figure img {
    width: 100%;
    height: auto;
    margin-top: -10px;
    margin-left: -10px;
  }
  .page-recruit .contents .requirements h3 {
    font-size: 18px;
    font-size: 5.625vw;
    padding-left: 10px;
    margin-bottom: 20px;
  }
  .page-recruit .contents .requirements table {
    display: block;
    padding: 0 10px;
  }
  .page-recruit .contents .requirements table tbody {
    display: block;
  }
  .page-recruit .contents .requirements table tbody tr {
    display: block;
    border-bottom: 0;
  }
  .page-recruit .contents .requirements table tbody tr th {
    display: block;
    padding: 5px 10px;
    border: 0;
    border-bottom: 1px solid #bfbfbf;
  }
  .page-recruit .contents .requirements table tbody tr td {
    display: block;
    padding: 10px 10px 30px;
  }
  .page-recruit .contents .requirements table tbody tr:last-child th {
    padding-bottom: inherit;
  }
  .page-recruit .contents .links ul {
    flex-direction: column;
  }
  .page-recruit .contents .links ul li {
    margin: 0 0 20px;
  }
  .page-recruit .contents .links ul li a img {
    max-width: 100%;
  }
  /* Footer
  -------------------------------------------------- */
	#footer {
		margin-bottom: 16vw;
	}
  #footer .main {
    padding-top: 3.5em;
  }
  #footer .main .inner {
    padding-left: 1.5em;
    padding-right: 1.5em;
  }
  #footer .main .inner .logo p img {
    max-width: 100%;
  }
  #footer .main .inner .info {
    margin-bottom: 2em;
  }
  #footer .main .inner .info p.tel {
    font-size: .32rem;
  }
  #footer .main .inner .info p.tel small {
    font-size: .32rem;
  }
  #footer .main .inner .menu {
    display: none;
  }
  #footer .copyright {
    padding: 1.2em 0;
  }
  #footer .copyright p {
    font-weight: 500;
  }
  .totop {
    display: block;
  }
  .fixed-contact {
    display: block;
  }
	#footer .fixed-banner {
		display: none;
	}
}
