.flex {
  display: block; }

.container {
  width: 100%;
  padding: 0 10px; }

header .flex {
  display: flex;
  flex-wrap: wrap;
  padding: 0;
  position: relative; }

header .logo-box {
  width: 100%;
  text-align: left; }
  header .logo-box h1 {
    width: 100%;
    text-align: left;
    font-size: 0.7rem; }
    header .logo-box h1 img {
      width: 50px; }

header .nav-box {
  width: 100%; }
  header .nav-box .info-area {
    width: 100%;
    background: #C70019;
    color: #fff;
    padding: 10px;
    text-align: center; }
    header .nav-box .info-area .time, header .nav-box .info-area .tel {
      display: inline-block;
      font-size: 16px; }
    header .nav-box .info-area .time {
      margin-right: 1rem;
      font-size: 12px; }
  header .nav-box .entry-box, header .nav-box .contact-box {
    position: absolute;
    top: 0; }
    header .nav-box .entry-box a, header .nav-box .contact-box a {
      padding: 15px 3px;
      font-size: 0.5rem; }
      header .nav-box .entry-box a span, header .nav-box .contact-box a span {
        display: none; }
  header .nav-box .contact-box {
    right: 0;
    width: 60px; }
  header .nav-box .entry-box {
    right: 60px;
    width: 60px; }

.main-img {
  padding-bottom: 0;
  padding-top: 200px;
  background: url(../img/main-img-sp@2x.png) center center no-repeat;
  background-size: cover; }
  .main-img .txtbox h2 {
    font-size: 24px; }
  .main-img .txtbox p {
    font-size: 16px; }
  .main-img nav {
    width: 100%;
    margin: 200px 0 0; }
    .main-img nav ul {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      border-bottom: 1px solid #e8e8e8; }
      .main-img nav ul li {
        width: 50%; }
        .main-img nav ul li a {
          border-bottom: 1px solid #e8e8e8; }
        .main-img nav ul li:last-child a {
          border-right: 1px solid #e8e8e8; }

.sc {
  padding: 50px 0; }
  .sc .conts-nav, .sc .conts-nav2 {
    width: 100%; }
    .sc .conts-nav li a, .sc .conts-nav2 li a {
      font-size: 12px;
      padding: 10px; }
  .sc .ttl {
    font-size: 18px; }
  .sc .table .btn {
    max-width: 100%; }
  .sc .table table tr th {
    width: 100px;
    padding: 10px; }
  .sc .table table tr td {
    padding: 10px; }

.s-engi .new-g {
  margin-top: 30px; }
  .s-engi .new-g .l-conts {
    width: 100%;
    padding: 50px 15px; }
    .s-engi .new-g .l-conts .l-wrap .sub-tl {
      font-size: 24px; }

.s-engi .middle-g {
  padding-top: 50px;
  padding-bottom: 50px; }
  .s-engi .middle-g .ttl {
    margin-bottom: 30px;
    font-size: 24px; }
  .s-engi .middle-g .l-conts {
    width: 100%;
    padding: 10px; }
    .s-engi .middle-g .l-conts .l-box {
      width: 100%;
      position: relative;
      left: 0;
      top: 0; }
      .s-engi .middle-g .l-conts .l-box table tr th {
        width: 80px;
        padding: 10px; }
      .s-engi .middle-g .l-conts .l-box table tr td {
        padding: 10px; }
  .s-engi .middle-g .r-conts {
    width: 100%; }

.s-egnt {
  padding-top: 0; }
  .s-egnt .new-g .l-conts {
    width: 100%;
    padding: 15px;
    height: 350px; }
  .s-egnt .new-g .r-conts {
    width: 100%;
    padding: 30px 15px; }
    .s-egnt .new-g .r-conts .l-wrap .sub-tl {
      font-size: 24px; }

#ele .middle-g {
  padding-top: 50px;
  padding-bottom: 50px; }
  #ele .middle-g .ttl {
    margin-bottom: 30px;
    font-size: 24px; }
  #ele .middle-g .r-conts {
    width: 100%;
    padding: 10px; }
    #ele .middle-g .r-conts .r-box {
      width: 100%;
      position: relative;
      left: 0;
      top: 0; }
      #ele .middle-g .r-conts .r-box table tr th {
        width: 80px;
        padding: 10px; }
      #ele .middle-g .r-conts .r-box table tr td {
        padding: 10px; }
  #ele .middle-g .l-conts {
    width: 100%;
    margin-top: 0;
    margin-bottom: 40px; }

#sumi .middle-g {
  padding-top: 50px;
  padding-bottom: 50px; }
  #sumi .middle-g .ttl {
    margin-bottom: 30px;
    font-size: 24px; }
  #sumi .middle-g .l-conts {
    width: 100%;
    padding: 10px; }
    #sumi .middle-g .l-conts .l-box {
      width: 100%;
      position: relative;
      left: 0;
      top: 0; }
      #sumi .middle-g .l-conts .l-box table tr th {
        width: 80px;
        padding: 10px; }
      #sumi .middle-g .l-conts .l-box table tr td {
        padding: 10px; }
  #sumi .middle-g .r-conts {
    width: 100%; }

.entry .ttl {
  font-size: 24px; }

.entry .l-conts {
  width: 100%; }
  .entry .l-conts .l-wrap {
    width: 100%;
    padding: 50px 15px; }

.entry .r-conts {
  width: 100%; }
  .entry .r-conts .r-wrap {
    width: 100%;
    padding: 50px 15px; }

.entry dl dt {
  font-size: 18px;
  margin-bottom: 0; }

footer .flex h3 {
  font-size: 16px;
  margin-bottom: 0; }

footer .flex .info {
  width: 100%;
  padding: 0;
  margin-top: 20px;
  margin-bottom: 20px; }

footer .flex .grup {
  width: 100%; }
  footer .flex .grup ul li {
    line-height: 1.3; }

footer .logo-area {
  display: flex;
  justify-content: space-between; }
