@media screen and (max-width: 1109px) {
  .spNone {
    display: none !important
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 14px
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
    overflow-x: hidden;
    padding-top: 0;
  }
  img {
    display: block;
    max-width: 100%;
    width: auto
  }
  .header {
    padding-top: 4em
  }
  .header .h1 {
    top: 1rem;
    left: 1rem
  }
  .header .h1 img {
    height: 2rem
  }
  .header .headerContents {
    width: 100%;
    height: 4rem;
    background: #FFF;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9
  }
  .header .nav li {
    border-bottom: 1px dashed #DB643A
  }
  .header .nav li:last-child {
    border: none
  }
  .header .nav li.on a::after {
    display: none
  }
  .header .nav li a {
    padding: 1em 0;
    color: #DB643A;
    font-size: 1.25rem;
    text-align: center
  }
  .header .headNav {
    display: block;
    position: static
  }
  .header .headNav li {
    margin: 2.5em 0 0
  }
  .header .headNav li a {
    width: 100%;
    font-size: 1.25rem;
    padding: 1.75rem 0;
    border-radius: 2.5rem
  }
  .header .headNav li:last-child {
    margin: 1em 0 0
  }
  .header .sp-tel {
    position: absolute;
    top: 1rem;
    right: 4rem
  }
  .header .sp-tel img {
    height: 2rem
  }
  .header .telBox {
    display: block;
    margin: 2rem 0 0;
    position: static
  }
  .header .telBox p {
    padding: 0.5rem 0 0
  }
  .header .telBox p img {
    height: 1.75rem;
    margin: 0 auto
  }
  .header .telBox .tel img {
    height: 2rem
  }
  .header nav {
    display: none;
    width: calc(100% - 1.5em);
    height: 100vh;
    padding: 4em 1.5em 1.5em;
    background: #EA8A5D;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 98;
    overflow: scroll
  }
  .header nav.show {
    display: block;
    transition: .5s
  }
  .header nav .body {
    padding: 3em 2em;
    background: #FFF
  }
  .header .mainImage {
    width: 100%;
    height: calc((261 / 352) * 100vw)
  }
  .header .mainImage .slide {
    width: 100%;
    height: 100%
  }
  .header .mainImage .catch {
    width: calc((305 / 352) * 100vw);
    max-width: 568px;
    height: 8.5rem;
    right: 0;
    top: calc((174 / 352) * 100vw);
    transform: none
  }
  .header .mainImage .catch::after {
    width: 16vw
  }
  .header .mainImage .catch::before {
    width: 18vw;
    right: 3vw
  }
  .header .mainImage .catch p {
    width: 17.5rem;
    font-size: calc((26 / 14) * 1rem)
  }
  .header .ancestor {
    width: 100%;
    min-width: 100%;
    padding: 2em 1.5em;
    position: static;
    border-radius: 0
  }
  .header .ancestor h1 {
    font-size: 1.75rem
  }
  .header .breadcrumb {
    width: calc(100% - 3rem);
    margin-top: 1.25rem
  }
  .header .breadcrumb li {
    line-height: 2
  }
  .header .news {
    display: block
  }
  .header .news .inner {
    width: calc(100% - 3em);
    display: block;
    position: relative
  }
  .header .news ul {
    width: 100%
  }
  .header .news ul li {
    display: block;
    font-size: 1rem
  }
  .header .news ul li .date {
    position: absolute;
    top: .5rem;
    left: 8rem
  }
  .header .news ul li a {
    display: block;
    line-height: 1.75;
    padding: 0.25rem 0 0
  }
  .footer .body {
    display: block;
    max-width: 358px
  }
  .footer .right {
    margin: 2.5em 0 0
  }
  .footer .right p {
    text-align: center;
    margin: 1.5rem 0 0
  }
  .footer .sns {
    top: -9rem
  }
  .foot-box {
    padding: 4em 0
  }
  .foot-box .bnr {
    display: block;
    margin: 4em 0 0
  }
  .foot-box .bnr li {
    margin: 2em 0 0
  }
  .foot-box .bnr li img {
    height: auto;
    margin: 0 auto
  }
  .contactBox ul li a {
    background-image: none
  }
  .col2 .contents {
    margin-top: 2.25em
  }
  .categoryList {
    display: block;
    margin-top: 4em
  }
  .categoryList p {
    font-size: 1.125rem;
    text-align: center;
    padding: 0
  }
  .categoryList ul {
    text-align: center
  }
  .categoryList ul li {
    width: auto;
    min-width: 5rem;
    margin: 1rem 0.125rem 0 0.125rem
  }
  .topicsList {
    display: block
  }
  .topicsList li {
    width: 100%;
    margin: 3em 0 0
  }
  .topicsList li a .category {
    width: 5.25rem
  }
  .productsList {
    padding: 0;
    background: none
  }
  .productsList li {
    width: calc((100% - 1.25em) / 2);
    margin: 2em 0 0
  }
  .productsList li a {
    padding: 0
  }
  .productsList li a .price {
    margin: 1.5rem 0 0
  }
  .faqList {
    display: block
  }
  .faqList li {
    width: 100%;
    margin: 2.5em 0 0
  }
  .faqList li a .img {
    width: 8rem;
    height: 8rem
  }
  .faqList li a .dl {
    width: calc(100% - 8em)
  }
  .faqList li a .dt {
    font-size: 1rem
  }
  .faqList li a .dd {
    font-size: 1rem
  }
  .faqList li a .more {
    width: 8rem;
    left: 0;
    text-align: center
  }
  .voiceList {
    display: block
  }
  .voiceList li {
    width: 100%;
    margin: 2.5em 0 0
  }
  .voiceList li a .img {
    width: 8rem;
    height: 8rem
  }
  .voiceList li a .dl {
    width: calc(100% - 8em)
  }
  .voiceList li a .dt {
    font-size: 1rem
  }
  .voiceList li a .dd {
    font-size: 1rem
  }
  .pager {
    margin: 5em 0 0
  }
  .subPage .header .mainImage {
    height: 50vw
  }
  .subPage .topicsList {
    display: flex;
    justify-content: space-between
  }
  .subPage .topicsList li {
    width: calc((100% - 1.25em) / 2);
    margin: 2em 0 0
  }
  .subPage .contents {
    width: calc(100% - 3rem)
  }
  .subPage .contents .writer {
    margin-bottom: 3rem
  }
  .subPage .sideBox .categoryList {
    border: none;
    padding: 0;
    margin: 1rem 0 0
  }
  .subPage .sideBox .categoryList ul li {
    margin: 1rem 0.25rem 0
  }
  #index {
    overflow: hidden
  }
  #index .header .mainImage::after {
    display: none
  }
  #index #index01 {
    margin: 4em 0 0
  }
  #index #index01 .img {
    height: 44vw;
    margin: 0 0 3em
  }
  #index #index01 .img span {
    background-position: top center
  }
  #index #index01 .box {
    padding: 0 1.5em
  }
  #index #index01 .box p {
    line-height: 2;
    margin: calc(2.5rem + -0.5em) 0 -0.5em
  }
  #index #index01 .box .read {
    line-height: 1.375
  }
  #index #index01 .box2 {
    padding: 3.5em 1.5em;
    margin: 3.5em 0 0
  }
  #index #index01 .box2::before {
    width: 20vw;
    left: 3vw;
    top: -10vw
  }
  #index #index01 .box2 .link {
    margin: 1.5em auto 0
  }
  #index #index02 {
    width: 100%;
    margin: 0
  }
  #index #index02 .img {
    height: 60vw
  }
  #index #index02 .img::before {
    width: 24vw;
    bottom: -15vw;
    right: 3vw
  }
  #index #index02 .box {
    padding: 4em 1.5em
  }
  #index #index02 .box ul {
    margin-top: 2rem
  }
  #index #index02 .box ul li {
    font-size: 1rem;
    text-align: center;
    padding: 0.5em 0 0.5em 0
  }
  #index #index02 .box2 .txt {
    font-size: 1.25rem;
    margin: calc(4rem + -0.25em) 0 -0.25em
  }
  #index #index04 {
    padding: 4em 1.5em 4em
  }
  #index #index04 h3 {
    font-size: 1.75rem;
    margin: 0 0 1rem
  }
  #index #index04 .list {
    text-align: center
  }
  #index #index04 .list li {
    font-size: 1rem;
    padding: 0.75rem
  }
  #index #index04 dl {
    margin-top: 3rem
  }
  #index #index04 dl dd {
    font-size: 1rem
  }
  #index #flow {
    padding: 0 1.5em 4em
  }
  #index #flow h2 {
    margin: 0 0 1rem
  }
  #index #flow .body {
    width: 100%;
    padding: 2.5em 1.5em
  }
  #index #flow .flowList li {
    display: block;
    width: 100%;
    padding: 1.5em 0;
    border: none
  }
  #index #flow .flowList li:last-child::after {
    display: none
  }
  #index #flow .flowList li .num {
    width: 100%;
    margin: 0 0 1rem
  }
  #index #flow .flowList li .num img {
    margin: 0 auto
  }
  #index #flow .flowList li .txt {
    width: 100%;
    line-height: 1.75
  }
  #index #flow .flowList li .img {
    width: 100%
  }
  #index #flow .flowList li .img img {
    height: auto;
    margin: 1em 0 0
  }
  #index #flow .flowList li::after {
    width: 1.5rem;
    height: 1rem;
    content: "";
    background: url(../img/_arw.svg) center/100% no-repeat;
    position: absolute;
    top: calc(100% + -0.25rem);
    right: 0;
    left: 0;
    margin: 0 auto;
    z-index: 2
  }
  #index #flow .box {
    margin: 1.5em 0 0
  }
  #index #flow .box ul li {
    font-size: 0.875rem
  }
  #index #topics {
    padding: 4em 1.5em
  }
  #index #topics::after {
    width: 24vw;
    top: -10vw;
    right: 3vw
  }
  #index #topics::before {
    width: 28vw;
    bottom: -13vw;
    left: 3vw
  }
  #index #topics h2 {
    margin-bottom: 2rem
  }
  #index #topics .body {
    width: 100%
  }
  #index #about {
    width: calc(100% - 3em);
    margin: 4em auto 0
  }
  #index #about h2 {
    margin: 0 0 0
  }
  #index #about .detail {
    margin: 2em 0 1em
  }
  #index #about .detail li {
    width: calc(50% - 0.5em)
  }
  #index #about .detail li:last-child {
    width: calc(50% - 0.5em)
  }
  #index #about .right {
    width: 100%;
    max-width: 3454px;
    margin: 2em auto 2em
  }
  #index #about .list li {
    padding: 0.5rem
  }
  #index #about .map {
    height: auto;
    padding-top: 100%;
    margin: 3em 0 0
  }
  #index #index03 {
    padding: 1em 1.5em 4em;
    margin: 4em 0 0
  }
  #index #index03 h2 {
    margin: 3rem 0 1rem
  }
  #index #index03 .body {
    width: 100%;
    max-width: 450px
  }
  #index #index03 iframe {
    width: 100% !important
  }
  #blog .header .mainImage {
    height: 66vw;
    background-size: 175%
  }
  #blog .header .mainImage h1 {
    width: calc(100% - 3rem);
    max-width: 290px;
    font-size: 2.5rem;
    left: 0;
    right: 0;
    margin: 0 auto
  }
  #blog .header .mainImage h1 span {
    font-size: 0.875rem
  }
  #blog .contents {
    margin-top: 0
  }
}