@charset "UTF-8";
@media screen and (max-width: 1000px) {
  .header_inner,
.mv {
    padding-right: 16px;
    padding-left: 16px;
  }

  #topBusiness .business_clm,
#topBusiness:before,
#topContent .company_bg {
    width: 100%;
  }

  #topBusiness:before {
    left: 0;
    border-radius: 0;
  }

  .header_logo a {
    left: 16px;
  }
}
@media screen and (min-width: 769px) {
  .sp-only {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  /*==========================
  　　　　　  Common
  ==========================*/
  .w10, .w20, .w30, .w40, .w50, .w60, .w70, .w80, .w90 {
    width: 100%;
  }

  .left_clm {
    float: left;
  }

  .right_clm {
    float: right;
  }

  .pc-only {
    display: none;
  }

  /*==========================
  　　　　　　Header
  ==========================*/
  .header_inner {
    padding: 0;
    height: 56px;
  }
  .header_logo a {
    width: 80px;
    height: 80px;
    padding: 8px;
  }
  #header.fixed .header_logo a {
    height: 56px;
  }
  /* gnav */
  #gnav {
    position: fixed;
    top: 57px;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #fff;
    visibility: hidden;
    opacity: 0;
    transition: 0.2s;
  }
  #gnav ul {
    display: block;
    padding: 80px 16px;
  }
  #gnav ul li {
    width: 100%;
  }
  #gnav ul li:first-child {
    border-top: 1px solid #f2f2f2;
  }
  #gnav ul li:not(.contact) {
    border-bottom: 1px solid #f2f2f2;
  }
  #gnav ul li:not(.contact) a {
    padding: 24px 0;
    position: relative;
  }
  #gnav ul li:not(.contact) a:before, #gnav ul li:not(.contact) a:after {
    content: "";
    position: absolute;
    top: 50%;
  }
  #gnav ul li:not(.contact) a:before {
    width: 14px;
    height: 14px;
    background: #EA3E0A;
    border-radius: 50%;
    right: 0;
    transform: translateY(-50%);
  }
  #gnav ul li:not(.contact) a:after {
    background: none;
    bottom: auto;
    left: auto;
    width: 3px;
    height: 3px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translateY(-50%) rotate(45deg);
    right: 6px;
  }
  #gnav ul li.contact {
    margin-top: 32px;
  }
  #gnav ul li.contact a {
    padding: 24px;
    text-align: center;
  }
  #gnav ul li a {
    display: block;
  }
  #gnav ul li + li {
    margin: 0;
  }

  #gnav.open {
    visibility: visible;
    opacity: 1;
    transition: 0.2s;
  }

  /* burger button */
  #burger {
    display: block;
    width: 18px;
    height: 18px;
    text-align: center;
    position: fixed;
    top: 15px;
    right: 15px;
    z-index: 999999;
  }

  #burger span {
    display: block;
    height: 2px;
    width: 18px;
    background-color: #000;
    margin: 4px auto;
    transition: 0.3s;
  }

  #burger.open span:first-child {
    transform: translateY(6px) rotate(45deg);
    transition: 0.3s;
  }

  #burger.open span:nth-child(2n) {
    opacity: 0;
    transition: 0.3s;
  }

  #burger.open span:last-child {
    transform: translateY(-6px) rotate(-45deg);
    transition: 0.3s;
  }

  /*==========================
  　　　　　　Main
  ==========================*/
  /*　Common
  ￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
  #wrapper {
    margin-top: 56px;
  }

  .txt {
    font-size: 1.4rem;
  }

  .c-btn01 {
    margin-top: 24px;
    max-width: none;
  }
  .c-btn01 .btn {
    padding-top: 16px;
  }

  .c-title01 {
    margin-bottom: 32px;
  }
  .c-title01 .main {
    font-size: 4rem;
  }
  .c-title01 .sub {
    font-size: 1.3rem;
  }

  .c-title02 {
    font-size: 2.2rem;
  }

  .c-table01 tbody tr th,
.c-table01 tbody tr td {
    padding: 16px 0;
    font-size: 1.4rem;
  }
  .c-table01 tbody tr th {
    padding-right: 32px;
  }

  .c-list01 li a {
    padding: 16px 0;
    font-size: 1.5rem;
  }
  .c-list01 li a:before {
    right: 8px;
  }
  .c-list01 li a:after {
    right: 14px;
  }

  /*　TopPage
  ￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
  .mv {
    height: 300px;
  }
  .mv_catch {
    font-size: 4.4rem;
    margin-bottom: 144px;
  }

  .topsc {
    padding: 56px 16px;
  }

  #topBusiness:before {
    height: calc(100% - 56px);
  }
  #topBusiness .business_clm_box .title {
    font-size: 1.8rem;
    margin-top: 16px;
  }
  #topBusiness .business_clm_box .txt {
    margin-top: 16px;
    font-size: 1.3rem;
    min-height: 58px;
  }

  #topContent .company {
    padding-bottom: 112px;
  }
  #topContent .company_bg {
    height: 160px;
  }
  #topContent .company .inner {
    width: calc(100% - 32px);
    padding: 32px 0 0;
    margin-top: -40px;
  }
  #topContent .company .c-title01 {
    margin-bottom: 32px;
  }
  #topContent .company .txt {
    text-align: left;
  }

  .news_list li {
    padding: 24px 0;
    padding-right: 24px;
    display: block;
  }
  .news_list li .title {
    padding-left: 0;
    border: none;
    margin-top: 8px;
  }

  /*　LowerPage -- 共通
  ￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
  #lwContent {
    padding-bottom: 104px;
  }
  .lwmv_image {
    background-attachment: scroll;
  }
  .lwmv_title {
    padding: 64px 0 32px;
  }
  .lwmv_title .main {
    font-size: 3.6rem;
  }
  .lwmv_title .sub {
    font-size: 2rem;
    margin-bottom: 8px;
  }
  .lwmv_image {
    height: 160px;
  }

  .lwsc {
    padding: 64px 16px 0;
  }
  .lwsc:first-child {
    padding-top: 32px;
  }

  .bread {
    padding-top: 16px;
  }
  .bread li {
    font-size: 1.2rem;
  }

  .lrclm {
    display: block;
  }
  .lrclm_left, .lrclm_right {
    width: 100%;
  }
  .lrclm_right {
    margin-top: 32px;
  }

  /*　LowerPage -- 各ページ
  ￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣￣*/
  #lwNews.lwsc {
    padding-top: 24px;
  }
  #lwNews .news_list li {
    padding: 24px 0;
  }

  .service_clm {
    display: block;
  }
  .service_clm_box {
    width: 100%;
  }
  .service_clm_box + .service_clm_box {
    margin-top: 56px;
  }

  .tsukan_catch_main {
    font-size: 2rem;
  }
  .tsukan_catch_main .highlight {
    font-size: 3.4rem;
  }
  .tsukan_catch_sub {
    font-size: 1.8rem;
    margin-top: 16px;
  }
  .tsukan_txt.center {
    text-align: left;
  }
  .tsukan_list {
    margin-top: 48px;
  }
  .tsukan_list li {
    display: block;
    padding-top: 48px;
  }
  .tsukan_list li .image,
.tsukan_list li .content {
    width: 100%;
  }

  .chikusan_list li {
    display: block;
    padding-top: 48px;
  }
  .chikusan_list li:nth-child(odd) .content, .chikusan_list li:nth-child(even) .content {
    padding: 0;
    margin-top: 16px;
  }
  .chikusan_list li:nth-child(odd) .content .title, .chikusan_list li:nth-child(even) .content .title {
    margin-bottom: 8px;
    font-size: 1.8rem;
  }
  .chikusan_list li .image,
.chikusan_list li .content {
    width: 100%;
  }

  .single_title {
    font-size: 2.2rem;
  }
  .single_content {
    margin-top: 40px;
  }
  .single .pager {
    margin-top: 56px;
    padding-top: 24px;
    font-size: 1.4rem;
  }
  .single .pager_arrow a.prev {
    padding-left: 24px;
  }
  .single .pager_arrow a.next {
    padding-right: 24px;
  }

  .contact_txt {
    margin-bottom: 32px;
    text-align: left;
  }
  .contact_tb tbody tr th,
.contact_tb tbody tr td {
    padding: 16px 0;
    display: block;
    width: 100%;
  }

  .policy {
    height: 140px;
  }
  .policy_inner {
    padding: 24px;
    font-size: 1.2rem;
  }

  /*==========================
  　　　　　　Footer
  ==========================*/
  .footer {
    padding-top: 96px;
  }
  .footer_logo {
    width: 120px;
    height: 120px;
    padding: 16px;
  }
  .footer_nav {
    padding: 0 16px;
    display: block;
  }
  .footer_nav li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.24);
    width: 100%;
    margin: 0;
  }
  .footer_nav li:first-child {
    border-top: 1px solid rgba(255, 255, 255, 0.24);
  }
  .footer_nav li a {
    display: block;
    padding: 24px 0;
    position: relative;
  }
  .footer_nav li a:before, .footer_nav li a:after {
    content: "";
    position: absolute;
    top: 50%;
  }
  .footer_nav li a:before {
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    right: 16px;
    transform: translateY(-50%);
  }
  .footer_nav li a:after {
    width: 3px;
    height: 3px;
    border-top: 1px solid #EA3E0A;
    border-right: 1px solid #EA3E0A;
    transform: translateY(-50%) rotate(45deg);
    right: 22px;
  }
  .footer_copy {
    font-size: 1.2rem;
    padding: 16px 0;
    margin-top: 40px;
  }
}

@media screen and (max-width: 340px) {
  .mv {
    height: 280px;
  }
  .mv_catch {
    font-size: 4rem;
  }
  .catlist {
    justify-content: flex-start;
  }
  .lwmv_title .main {
    font-size: 3.2rem;
  }
}