@charset "UTF-8";
/*
theme Name: Marudai
Author:Kodachi
Description: original theme
version： 1.0.0
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

* {
  box-sizing: border-box; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/*--------------viwpoint--------*/
/*--------------color--------*/
/*--------------mixins--------*/
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%; }

body {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 1.6rem;
  color: #333; }
  body.drawer-open .header.recruit .link.recruit {
    display: none; }
  body.drawer-open .header.recruit .link.recruit.hasclass {
    display: block; }
  body.drawer-close .header.recruit .link.recruit.hasclass {
    display: none; }

a {
  color: #e70012;
  opacity: 1;
  -webkit-transition: opacity 0.3s ease-in-out;
  -moz-transition: opacity 0.3s ease-in-out;
  -ms-transition: opacity 0.3s ease-in-out;
  -o-transition: opacity 0.3s ease-in-out;
  transition: opacity 0.3s ease-in-out; }
  a:hover {
    opacity: 0.6;
    -webkit-transition: opacity 0.3s ease-in-out;
    -moz-transition: opacity 0.3s ease-in-out;
    -ms-transition: opacity 0.3s ease-in-out;
    -o-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
    cursor: pointer; }
  a:visited {
    color: #e70012; }

br.sp {
  display: block; }
  @media screen and (min-width: 768px) {
    br.sp {
      display: none; } }
br.pc {
  display: none; }
  @media screen and (min-width: 768px) {
    br.pc {
      display: block; } }

.header.sp {
  position: relative;
  width: 100%;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-justify-content: space-between;
  /* Safari */
  justify-content: space-between;
  -ms-flex-line-pack: justify;
  align-content: space-between;
  -ms-flex-line-pack: start;
  align-content: flex-start; }
  @media screen and (min-width: 1024px) {
    .header.sp {
      display: none; } }
  .header.sp .head {
    color: #999999; }
  .header.sp .primary {
    width: 100%;
    position: fixed;
    top: 0;
    background-color: #fff;
    min-height: 75px;
    z-index: 9999;
    border-bottom: 1px solid #e70012; }
    .header.sp .primary .inner {
      position: relative;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-justify-content: space-between;
      /* Safari */
      justify-content: space-between;
      flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      /*--- IE10用 ---*/
      -webkit-flex-wrap: wrap;
      /*--- safari（PC）用 ---*/ }
      .header.sp .primary .inner .head {
        width: 100%;
        font-size: 0.8rem;
        line-height: calc(24 / 10); }
      .header.sp .primary .inner .logo {
        width: 40px;
        height: 40px;
        background-image: url(assets/img/logo.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center; }
        .header.sp .primary .inner .logo img {
          display: block;
          width: 100%;
          height: auto; }
      .header.sp .primary .inner .menu.drawer-hamburger {
        position: relative;
        left: auto;
        width: 35px;
        padding: 0; }
        .header.sp .primary .inner .menu.drawer-hamburger .drawer-hamburger-icon {
          margin: 0 auto;
          margin-top: 10px;
          margin-bottom: 10px;
          height: 3px;
          width: 25px; }
          .header.sp .primary .inner .menu.drawer-hamburger .drawer-hamburger-icon:before, .header.sp .primary .inner .menu.drawer-hamburger .drawer-hamburger-icon:after {
            height: 3px; }
        .header.sp .primary .inner .menu.drawer-hamburger .text {
          font-size: 8px;
          display: block;
          width: 160%;
          padding-top: 5px;
          margin: 0 -30%; }
  .header.sp .secondary {
    padding-top: 75px;
    width: 100%; }
    .header.sp .secondary .links {
      width: 100%;
      background-color: #e70012;
      border-bottom: 1px solid #fff;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox; }
      .header.sp .secondary .links .link {
        width: calc(100% / 3);
        border-right: 1px solid #fff; }
        .header.sp .secondary .links .link a {
          display: block;
          color: #fff;
          text-decoration: none;
          font-size: 1.3rem;
          position: relative;
          padding: 12px 0;
          padding-left: 20px; }
          .header.sp .secondary .links .link a:before {
            display: block;
            content: "";
            width: 0;
            height: 0;
            border: 4px solid transparent;
            border-left: 4px solid #FFF;
            position: absolute;
            top: calc(50% - 4px);
            left: 10px; }
        .header.sp .secondary .links .link.recruit {
          border-right: none; }
          .header.sp .secondary .links .link.recruit a {
            padding-left: 25px; }
            .header.sp .secondary .links .link.recruit a:before {
              width: 10px;
              height: 10px;
              background-image: url(assets/img/window_white.png);
              background-repeat: no-repeat;
              background-size: cover;
              background-position: center center;
              border: none;
              top: calc(50% - 6px); }
.header.pc {
  border-bottom: 1px solid #e70012;
  display: none; }
  @media screen and (min-width: 1024px) {
    .header.pc {
      display: block; } }
  .header.pc .primary {
    background-color: #e70012; }
    .header.pc .primary .head {
      color: #fff;
      line-height: 20px;
      font-size: 12px; }
  .header.pc .secondary .inner {
    /*親要素に加えるプロパティ*/
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between;
    -ms-flex-line-pack: justify;
    align-content: space-between;
    -ms-flex-line-pack: start;
    align-content: flex-start; }
    .header.pc .secondary .inner .logo {
      width: 70px;
      height: 70px;
      background-image: url(assets/img/logo.png);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
      .header.pc .secondary .inner .logo img {
        display: block;
        width: 100%;
        height: auto; }
    .header.pc .secondary .inner .pc_links {
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-justify-content: space-between;
      /* Safari */
      justify-content: space-between;
      -ms-flex-line-pack: justify;
      align-content: space-between;
      -ms-flex-line-pack: start;
      align-content: flex-start;
      width: calc(100% - 70px); }
      .header.pc .secondary .inner .pc_links .link {
        display: block;
        width: 100%; }
        .header.pc .secondary .inner .pc_links .link.promise {
          min-width: 220px; }
        .header.pc .secondary .inner .pc_links .link.news, .header.pc .secondary .inner .pc_links .link.contact {
          max-width: 100px; }
          .header.pc .secondary .inner .pc_links .link.news a, .header.pc .secondary .inner .pc_links .link.contact a {
            text-align: center;
            padding: 0;
            line-height: 0;
            padding-top: 52px;
            font-weight: normal;
            font-size: 14px; }
            .header.pc .secondary .inner .pc_links .link.news a:before, .header.pc .secondary .inner .pc_links .link.contact a:before {
              border: none; }
        .header.pc .secondary .inner .pc_links .link.news a {
          background-image: url(assets/img/news.png);
          background-repeat: no-repeat;
          background-size: 26px;
          background-position: center 15px; }
        .header.pc .secondary .inner .pc_links .link.contact a {
          background-image: url(assets/img/contact.png);
          background-repeat: no-repeat;
          background-size: 26px;
          background-position: center 15px; }
        .header.pc .secondary .inner .pc_links .link.recruit a:before {
          width: 10px;
          height: 10px;
          background-image: url(assets/img/window.png);
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center center;
          border: none; }
        .header.pc .secondary .inner .pc_links .link a {
          display: block;
          padding-left: 25px;
          border-right: 1px solid #e70012;
          height: 100%;
          line-height: 70px;
          text-decoration: none;
          font-weight: bold;
          color: #333;
          position: relative;
          font-size: 16px; }
          .header.pc .secondary .inner .pc_links .link a:before {
            display: block;
            content: "";
            width: 0;
            height: 0;
            border: 4px solid transparent;
            border-left: 4px solid #f00;
            position: absolute;
            top: calc(50% - 4px);
            left: 10px; }
.header.recruit.pc {
  width: 100%;
  position: absolute;
  top: 0;
  border-bottom: none;
  z-index: 9999; }
.header.recruit .primary .inner,
.header.recruit .secondary .inner {
  padding-right: 0; }
  .header.recruit .primary .inner .logo,
  .header.recruit .secondary .inner .logo {
    width: 100%;
    max-width: 140px;
    height: 60px;
    margin-top: auto;
    margin-bottom: auto;
    background-image: url(assets/img/logo_recruit.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
    padding-top: 60px;
    overflow: hidden; }
    @media screen and (min-width: 768px) {
      .header.recruit .primary .inner .logo,
      .header.recruit .secondary .inner .logo {
        max-width: 220px; } }
    .header.recruit .primary .inner .logo img,
    .header.recruit .secondary .inner .logo img {
      display: block;
      width: 100%;
      height: auto; }
  .header.recruit .primary .inner .menu.drawer-hamburger,
  .header.recruit .secondary .inner .menu.drawer-hamburger {
    margin-left: auto;
    margin-right: 20px;
    margin-right: 10px;
    margin-top: 10px; }
  .header.recruit .primary .inner .recruit,
  .header.recruit .secondary .inner .recruit {
    display: block;
    width: 75px;
    height: 75px;
    line-height: 75px;
    color: #fff;
    text-align: center;
    background-color: #be2537;
    text-decoration: none; }
    .header.recruit .primary .inner .recruit.hasclass,
    .header.recruit .secondary .inner .recruit.hasclass {
      display: none; }
  .header.recruit .primary .inner .pc_links,
  .header.recruit .secondary .inner .pc_links {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end; }
    .header.recruit .primary .inner .pc_links .link,
    .header.recruit .secondary .inner .pc_links .link {
      width: auto;
      height: 100px;
      line-height: 100px;
      padding-right: 40px;
      padding-top: 30px; }
      .header.recruit .primary .inner .pc_links .link a,
      .header.recruit .secondary .inner .pc_links .link a {
        border: none;
        padding: 0;
        height: 40px;
        line-height: 40px; }
        .header.recruit .primary .inner .pc_links .link a:before,
        .header.recruit .secondary .inner .pc_links .link a:before {
          display: none; }
        .header.recruit .primary .inner .pc_links .link a:hover,
        .header.recruit .secondary .inner .pc_links .link a:hover {
          opacity: 1;
          color: #be2537;
          border-bottom: 2px solid #be2537; }
      .header.recruit .primary .inner .pc_links .link.recruit,
      .header.recruit .secondary .inner .pc_links .link.recruit {
        width: 100px;
        padding-top: 0; }
        .header.recruit .primary .inner .pc_links .link.recruit a,
        .header.recruit .secondary .inner .pc_links .link.recruit a {
          display: block;
          width: 100px;
          height: 100px;
          line-height: 100px;
          color: #fff;
          text-align: center;
          background-color: #be2537;
          text-decoration: none; }
          .header.recruit .primary .inner .pc_links .link.recruit a:hover,
          .header.recruit .secondary .inner .pc_links .link.recruit a:hover {
            opacity: 0.6;
            -webkit-transition: opacity 0.3s ease-in-out;
            -moz-transition: opacity 0.3s ease-in-out;
            -ms-transition: opacity 0.3s ease-in-out;
            -o-transition: opacity 0.3s ease-in-out;
            transition: opacity 0.3s ease-in-out; }

.drawer-nav {
  width: 100%;
  max-width: 100%;
  z-index: 9998;
  -webkit-transition: left 0.3s ease-in-out;
  transition: left 0.3s ease-in-out; }
  .drawer-nav .drawer-menu {
    width: 100vw;
    padding: 75px 0px 20px; }
    .drawer-nav .drawer-menu .drawer-hamburger {
      width: 45px;
      position: absolute;
      top: 0;
      right: 0;
      left: auto;
      background-color: #FFF; }
      .drawer-nav .drawer-menu .drawer-hamburger span {
        width: 80%;
        margin: 10px auto 0; }
        .drawer-nav .drawer-menu .drawer-hamburger span:after, .drawer-nav .drawer-menu .drawer-hamburger span:before {
          margin: auto;
          background-color: #fff; }
    .drawer-nav .drawer-menu .links01 {
      width: calc(100% - 40px);
      margin: 20px auto;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-justify-content: space-between;
      /* Safari */
      justify-content: space-between; }
      .drawer-nav .drawer-menu .links01 li {
        width: calc((100% / 3) - (40px / 3)); }
        .drawer-nav .drawer-menu .links01 li a {
          color: #fff;
          border-bottom: 1px solid #ccc;
          padding: 0px;
          font-size: 1.4rem;
          display: block;
          width: 100%;
          font-size: 1.4rem;
          line-height: calc(18 / 14);
          min-height: 100px;
          position: relative;
          padding-left: 20px;
          opacity: 1;
          text-decoration: none;
          background-color: #e70012;
          -webkit-transition: opacity 0s ease-in-out;
          -moz-transition: opacity 0s ease-in-out;
          -ms-transition: opacity 0s ease-in-out;
          -o-transition: opacity 0s ease-in-out;
          transition: opacity 0s ease-in-out; }
          @media screen and (min-width: 768px) {
            .drawer-nav .drawer-menu .links01 li a {
              line-height: 40px; } }
          .drawer-nav .drawer-menu .links01 li a:before {
            display: block;
            content: "";
            width: 0;
            height: 0;
            border: 4px solid transparent;
            border-left: 4px solid #FFF;
            position: absolute;
            top: calc(50% - 4px);
            left: 10px; }
          .drawer-nav .drawer-menu .links01 li a:active, .drawer-nav .drawer-menu .links01 li a:hover {
            color: #fff;
            opacity: 1;
            -webkit-transition: opacity 0s ease-in-out;
            -moz-transition: opacity 0s ease-in-out;
            -ms-transition: opacity 0s ease-in-out;
            -o-transition: opacity 0s ease-in-out;
            transition: opacity 0s ease-in-out;
            text-decoration: none; }
            .drawer-nav .drawer-menu .links01 li a:active:after, .drawer-nav .drawer-menu .links01 li a:hover:after {
              border-right: 2px solid #fff;
              border-top: 2px solid #fff; }
        .drawer-nav .drawer-menu .links01 li.ads a {
          padding-top: 32px; }
          @media screen and (min-width: 768px) {
            .drawer-nav .drawer-menu .links01 li.ads a {
              padding-top: 30px; } }
        .drawer-nav .drawer-menu .links01 li.brunches a {
          padding-top: 42px; }
          @media screen and (min-width: 768px) {
            .drawer-nav .drawer-menu .links01 li.brunches a {
              padding-top: 30px; } }
        .drawer-nav .drawer-menu .links01 li.recruit a {
          padding-left: 25px;
          padding-top: 42px; }
          @media screen and (min-width: 768px) {
            .drawer-nav .drawer-menu .links01 li.recruit a {
              padding-top: 30px; } }
          .drawer-nav .drawer-menu .links01 li.recruit a:before {
            width: 10px;
            height: 10px;
            background-image: url(assets/img/window_white.png);
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center center;
            border: none; }
    .drawer-nav .drawer-menu .links02 {
      border-top: 1px solid #ccc;
      margin-bottom: 45px; }
      .drawer-nav .drawer-menu .links02 li {
        border-bottom: 1px solid #ccc; }
        .drawer-nav .drawer-menu .links02 li a {
          display: block;
          font-size: 1.5rem;
          line-height: calc(30 / 15);
          position: relative;
          padding: 18px 0 18px 35px;
          text-decoration: none;
          color: #333;
          background-color: #fff; }
          .drawer-nav .drawer-menu .links02 li a:before {
            display: block;
            content: "";
            width: 0;
            height: 0;
            border: 4px solid transparent;
            border-left: 4px solid #f00;
            position: absolute;
            top: calc(50% - 4px);
            left: 20px; }
          .drawer-nav .drawer-menu .links02 li a:hover {
            opacity: 1;
            background-color: #f4f5f5; }
    .drawer-nav .drawer-menu .links03 {
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-justify-content: space-between;
      /* Safari */
      justify-content: space-between;
      padding: 0 20px; }
      .drawer-nav .drawer-menu .links03 .link a {
        font-size: 1.3rem;
        line-height: calc(30 / 13);
        color: #333;
        text-decoration: none;
        position: relative;
        padding-left: 10px; }
        .drawer-nav .drawer-menu .links03 .link a:before {
          display: block;
          content: "";
          width: 0;
          height: 0;
          border: 4px solid transparent;
          border-left: 4px solid #f00;
          position: absolute;
          top: calc(50% - 4px);
          left: 0; }
  .drawer-nav.recruit .drawer-menu {
    width: 100vw;
    padding: 75px 0px 20px; }
    .drawer-nav.recruit .drawer-menu .links01 {
      width: calc(100% - 40px);
      margin: 20px auto;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-justify-content: space-between;
      /* Safari */
      justify-content: space-between; }
      .drawer-nav.recruit .drawer-menu .links01 li {
        width: calc((100% / 3) - (40px / 3)); }
        .drawer-nav.recruit .drawer-menu .links01 li a {
          color: #333;
          border: 2px solid #be2537;
          padding: 0px;
          font-size: 1.4rem;
          display: block;
          width: 100%;
          font-size: 1.4rem;
          line-height: calc(18 / 14);
          min-height: 100px;
          position: relative;
          padding-left: 20px;
          opacity: 1;
          text-decoration: none;
          background-color: white;
          -webkit-transition: background-color 0.3s ease-in-out;
          -moz-transition: background-color 0.3s ease-in-out;
          -ms-transition: background-color 0.3s ease-in-out;
          -o-transition: background-color 0.3s ease-in-out;
          transition: background-color 0.3s ease-in-out; }
          @media screen and (min-width: 768px) {
            .drawer-nav.recruit .drawer-menu .links01 li a {
              line-height: 40px; } }
          .drawer-nav.recruit .drawer-menu .links01 li a:before {
            display: block;
            content: "";
            width: 0;
            height: 0;
            border: 4px solid transparent;
            border-left: 4px solid #be2537;
            position: absolute;
            top: calc(50% - 4px);
            left: 10px; }
          .drawer-nav.recruit .drawer-menu .links01 li a:active, .drawer-nav.recruit .drawer-menu .links01 li a:hover {
            color: #fff;
            opacity: 1;
            background-color: #be2537;
            -webkit-transition: background-color 0.3s ease-in-out;
            -moz-transition: background-color 0.3s ease-in-out;
            -ms-transition: background-color 0.3s ease-in-out;
            -o-transition: background-color 0.3s ease-in-out;
            transition: background-color 0.3s ease-in-out;
            text-decoration: none; }
            .drawer-nav.recruit .drawer-menu .links01 li a:active:before, .drawer-nav.recruit .drawer-menu .links01 li a:hover:before {
              border-left: 4px solid #fff; }
        .drawer-nav.recruit .drawer-menu .links01 li.new a, .drawer-nav.recruit .drawer-menu .links01 li.old a {
          padding-top: 40px; }
          @media screen and (min-width: 768px) {
            .drawer-nav.recruit .drawer-menu .links01 li.new a, .drawer-nav.recruit .drawer-menu .links01 li.old a {
              padding-top: 28px; } }
        .drawer-nav.recruit .drawer-menu .links01 li.parttime a {
          padding-top: 22px; }
          @media screen and (min-width: 768px) {
            .drawer-nav.recruit .drawer-menu .links01 li.parttime a {
              padding-top: 28px; } }
    .drawer-nav.recruit .drawer-menu .links03 {
      padding: 0 20px;
      flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      /*--- IE10用 ---*/
      -webkit-flex-wrap: wrap;
      /*--- safari（PC）用 ---*/ }
      .drawer-nav.recruit .drawer-menu .links03 .link {
        width: 100%; }
        .drawer-nav.recruit .drawer-menu .links03 .link.btn {
          margin-bottom: 30px; }
          .drawer-nav.recruit .drawer-menu .links03 .link.btn a {
            display: block;
            width: 100%;
            margin: 0 auto;
            background-color: #be2537;
            color: #fff;
            text-align: left;
            line-height: 60px;
            text-decoration: none; }
            .drawer-nav.recruit .drawer-menu .links03 .link.btn a:before {
              display: none; }
            .drawer-nav.recruit .drawer-menu .links03 .link.btn a span {
              position: relative;
              padding-left: 20px; }
              .drawer-nav.recruit .drawer-menu .links03 .link.btn a span:before {
                display: block;
                position: absolute;
                content: '';
                width: 10px;
                height: 10px;
                background-image: url(assets/img/window_white.png);
                background-repeat: no-repeat;
                background-size: cover;
                background-position: center center;
                border: none;
                top: calc(50% - 5px);
                left: 0; }
        .drawer-nav.recruit .drawer-menu .links03 .link.privacy a {
          padding-left: 20px; }
          .drawer-nav.recruit .drawer-menu .links03 .link.privacy a:before {
            display: block;
            position: absolute;
            content: '';
            width: 10px;
            height: 10px;
            background-image: url(assets/img/window.png);
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center center;
            border: none;
            top: calc(50% - 5px);
            left: 0; }

.drawer--left .drawer-nav {
  left: -100%; }

.drawer-overlay {
  background-color: #fff;
  z-index: 9997; }

.entry_content .title {
  font-size: 2.8rem;
  line-height: calc(30 / 22);
  letter-spacing: 0.1rem;
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #ccc; }
.entry_content h2 {
  font-size: 2.0rem;
  line-height: calc(30 / 20);
  color: #e70012;
  margin-bottom: 35px; }
.entry_content h3 {
  font-size: 2.0rem;
  line-height: calc(30 / 20);
  padding-bottom: 5px;
  border-bottom: 2px solid #333;
  margin-bottom: 30px; }
.entry_content h4 {
  font-size: 1.8rem;
  line-height: calc(30 / 18);
  padding-left: 10px;
  border-left: 4px solid #e70012;
  margin-bottom: 30px;
  padding-top: 2px;
  padding-bottom: 2px; }
.entry_content h5 {
  padding: 2px 12px;
  font-size: 16px;
  line-height: calc(30 / 16);
  background-color: #333333;
  color: #fff;
  margin-bottom: 30px; }
.entry_content h6 {
  font-size: 16px;
  line-height: calc(30 / 16);
  font-weight: bold;
  padding-bottom: 5px;
  border-bottom: 2px solid #333;
  margin-bottom: 30px; }
.entry_content p {
  font-size: 1.6rem;
  line-height: calc(30 / 16);
  margin-bottom: 40px; }
.entry_content a {
  text-decoration: none; }
  .entry_content a:hover {
    text-decoration: underline; }
.entry_content ul {
  list-style-type: none;
  margin-bottom: 60px; }
  .entry_content ul li {
    font-size: 16px;
    padding-left: 20px;
    line-height: 3rem;
    position: relative; }
    .entry_content ul li:before {
      position: absolute;
      top: 10px;
      left: -2px;
      display: block;
      content: '';
      width: 12px;
      height: 12px;
      background-color: #e70012;
      border-radius: 50%; }
    .entry_content ul li ul {
      margin-bottom: 0;
      padding-left: 20px; }
      .entry_content ul li ul li {
        margin-bottom: 0; }
.entry_content ol {
  margin-bottom: 60px;
  padding-left: 1.6rem; }
  .entry_content ol li {
    font-size: 16px;
    line-height: 3rem;
    position: relative;
    margin-bottom: 20px; }
    .entry_content ol li ol {
      padding-left: 15px;
      margin-bottom: 0;
      padding-left: 20px; }
      .entry_content ol li ol li {
        margin-bottom: 0; }
.entry_content img {
  max-width: 100%;
  height: auto; }
.entry_content strong {
  font-weight: bold; }
.entry_content table {
  width: 100%;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  margin-bottom: 60px; }
  .entry_content table thead tr {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between; }
    .entry_content table thead tr th {
      width: 100%;
      min-width: 30%;
      padding: 15px 0;
      border-left: 1px solid #ccc;
      border-top: 1px solid #ccc;
      background-color: #333;
      font-weight: normal;
      display: table-cell;
      text-align: center;
      vertical-align: middle;
      line-height: 2rem;
      color: #fff; }
  .entry_content table tbody tr {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox; }
    .entry_content table tbody tr th {
      min-width: 30%;
      width: 100%;
      padding: 15px;
      border-left: 1px solid #ccc;
      border-top: 1px solid #ccc;
      background-color: #eee;
      font-weight: normal;
      text-align: left;
      line-height: 2rem; }
    .entry_content table tbody tr td {
      width: 100%;
      padding: 15px;
      border-left: 1px solid #ccc;
      border-top: 1px solid #ccc;
      line-height: 2rem;
      background-color: #fff; }

.breadcrumb {
  background-color: #f7f7f7; }
  .breadcrumb ul {
    max-width: 1000px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    /*--- IE10用 ---*/
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/ }
    @media screen and (min-width: 1024px) {
      .breadcrumb ul {
        width: 100%;
        padding-left: 0px;
        padding-right: 0px; } }
    .breadcrumb ul li {
      font-size: 1.4rem;
      line-height: 3.0rem; }
      .breadcrumb ul li:after {
        content: ">";
        padding: 0 15px; }
      .breadcrumb ul li:last-child:after {
        content: ""; }
      .breadcrumb ul li a {
        color: #000;
        text-decoration: none; }

.inner {
  max-width: 1000px;
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px; }
  @media screen and (min-width: 1024px) {
    .inner {
      width: 100%;
      padding-left: 0px;
      padding-right: 0px; } }

.row {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-justify-content: space-between;
  /* Safari */
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  /*--- IE10用 ---*/
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/ }
  .row .primary,
  .row .secondary {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .row .primary,
      .row .secondary {
        width: 48%; } }

.head01 {
  text-align: center;
  font-size: 3rem;
  color: #e70012;
  line-height: calc(32 / 30); }

.head02 {
  text-align: center;
  font-size: 2.4rem;
  color: #333;
  line-height: calc(30 / 24); }

.footer {
  position: relative;
  background-color: #f4f5f5;
  border-top: 1px solid #cccccc;
  padding-top: 40px; }
  .footer.recruit {
    padding-top: 0;
    background-color: #FFF;
    border-top: none; }
    .footer.recruit > .primary {
      padding-top: 40px;
      border-top: 1px solid #cccccc; }
      .footer.recruit > .primary .links {
        display: flex;
        display: -webkit-flex;
        display: -ms-flexbox;
        flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        /*--- IE10用 ---*/
        -webkit-flex-wrap: wrap;
        /*--- safari（PC）用 ---*/
        margin-bottom: 0px;
        padding-right: 0px; }
        @media screen and (min-width: 479px) {
          .footer.recruit > .primary .links {
            margin-right: 100px; } }
        .footer.recruit > .primary .links .link {
          line-height: 2rem;
          margin-bottom: 30px;
          width: auto; }
          @media screen and (min-width: 479px) {
            .footer.recruit > .primary .links .link {
              margin-right: 30px; } }
          .footer.recruit > .primary .links .link a {
            display: block;
            padding-left: 25px;
            text-decoration: none;
            font-weight: normal;
            color: #333;
            position: relative;
            font-size: 14px; }
            .footer.recruit > .primary .links .link a:before {
              display: block;
              content: "";
              width: 0;
              height: 0;
              border: 4px solid transparent;
              border-left: 4px solid #f00;
              position: absolute;
              top: calc(50% - 4px);
              left: 10px; }
    .footer.recruit > .secondary {
      padding-top: 30px;
      background-color: #f4f5f5;
      padding-bottom: 50px; }
      @media screen and (min-width: 768px) {
        .footer.recruit > .secondary {
          padding-top: 20px; } }
      .footer.recruit > .secondary .inner .primary .logo {
        margin-bottom: 0; }
      .footer.recruit > .secondary .inner .secondary .links {
        margin-bottom: 10px; }
        @media screen and (min-width: 768px) {
          .footer.recruit > .secondary .inner .secondary .links {
            margin-bottom: 0px; } }
        .footer.recruit > .secondary .inner .secondary .links .link {
          margin-bottom: 40px; }
          @media screen and (min-width: 768px) {
            .footer.recruit > .secondary .inner .secondary .links .link {
              margin-bottom: 30px; } }
          .footer.recruit > .secondary .inner .secondary .links .link a {
            position: relative; }
            .footer.recruit > .secondary .inner .secondary .links .link a:before {
              display: block;
              position: absolute;
              content: '';
              width: 14px;
              height: 14px;
              background-image: url(assets/img/window.png);
              background-repeat: no-repeat;
              background-size: cover;
              background-position: center center;
              border: none;
              top: calc(50% - 7px);
              left: 5px; }
    .footer.recruit .page_top {
      position: absolute;
      display: block;
      width: 50px;
      height: 50px;
      background-color: #be2537;
      border-radius: 50%;
      box-shadow: 0px 4px 8px 1px rgba(0, 0, 0, 0.1);
      margin: 20px auto -20px;
      right: 20px;
      top: -100px; }
      .footer.recruit .page_top:after {
        position: absolute;
        display: block;
        content: "";
        width: 10px;
        height: 10px;
        top: calc(50% - 4px);
        left: calc(50% - 6px);
        transform: rotate(-45deg);
        border-right: 2px solid #fff;
        border-top: 2px solid #fff; }
      @media screen and (min-width: 768px) {
        .footer.recruit .page_top {
          top: 20px;
          right: 40px;
          margin: 0; } }
  .footer .inner {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    /*--- IE10用 ---*/
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start; }
    .footer .inner > .primary {
      width: 100%;
      margin-bottom: 50px; }
      @media screen and (min-width: 768px) {
        .footer .inner > .primary {
          max-width: 300px;
          margin-bottom: 0px; } }
      .footer .inner > .primary .logo {
        display: block;
        margin-bottom: 20px; }
      .footer .inner > .primary .info {
        font-size: 1.4rem;
        line-height: calc(24/ 14);
        margin-bottom: 20px; }
        .footer .inner > .primary .info a {
          color: #333;
          text-decoration: none; }
    .footer .inner > .secondary {
      width: 100%; }
      @media screen and (min-width: 768px) {
        .footer .inner > .secondary {
          padding-top: 10px;
          max-width: calc(100% - 300px); } }
      .footer .inner > .secondary .links {
        display: flex;
        display: -webkit-flex;
        display: -ms-flexbox;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        /*--- IE10用 ---*/
        -webkit-flex-wrap: wrap;
        /*--- safari（PC）用 ---*/
        margin-bottom: 40px; }
        .footer .inner > .secondary .links.primary {
          display: none; }
          @media screen and (min-width: 768px) {
            .footer .inner > .secondary .links.primary {
              display: flex;
              display: -webkit-flex;
              display: -ms-flexbox; } }
        .footer .inner > .secondary .links.secondary {
          margin-right: 0;
          display: flex;
          display: -webkit-flex;
          display: -ms-flexbox;
          -webkit-justify-content: space-between;
          /* Safari */
          justify-content: space-between;
          flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          /*--- IE10用 ---*/
          -webkit-flex-wrap: wrap;
          /*--- safari（PC）用 ---*/ }
          @media screen and (min-width: 768px) {
            .footer .inner > .secondary .links.secondary {
              -webkit-box-pack: end;
              -ms-flex-pack: end;
              justify-content: flex-end; } }
          .footer .inner > .secondary .links.secondary .link {
            width: 100%;
            text-align: left; }
            .footer .inner > .secondary .links.secondary .link:first-child {
              border-left: none; }
            @media screen and (min-width: 479px) {
              .footer .inner > .secondary .links.secondary .link {
                width: auto; } }
            @media screen and (min-width: 768px) {
              .footer .inner > .secondary .links.secondary .link {
                -webkit-box-pack: end;
                -ms-flex-pack: end;
                justify-content: flex-end; } }
            .footer .inner > .secondary .links.secondary .link a {
              padding: 0 2px;
              font-weight: normal;
              font-size: 1.3rem;
              line-height: calc(30 / 13); }
              @media screen and (min-width: 768px) {
                .footer .inner > .secondary .links.secondary .link a {
                  padding: 0 10px; } }
              .footer .inner > .secondary .links.secondary .link a i {
                margin-right: 5px;
                color: #e70012; }
              .footer .inner > .secondary .links.secondary .link a:before {
                display: none; }
        .footer .inner > .secondary .links .link {
          width: 100%;
          line-height: 2rem; }
          @media screen and (min-width: 768px) {
            .footer .inner > .secondary .links .link {
              width: auto;
              margin-left: 30px; } }
          .footer .inner > .secondary .links .link.recruit a {
            position: relative; }
            .footer .inner > .secondary .links .link.recruit a:before {
              display: block;
              position: absolute;
              content: '';
              width: 14px;
              height: 14px;
              background-image: url(assets/img/window.png);
              background-repeat: no-repeat;
              background-size: cover;
              background-position: center center;
              border: none;
              top: calc(50% - 7px);
              left: 5px; }
          .footer .inner > .secondary .links .link a {
            display: block;
            padding-left: 25px;
            text-decoration: none;
            font-weight: bold;
            color: #333;
            position: relative;
            font-size: 14px; }
            .footer .inner > .secondary .links .link a:before {
              display: block;
              content: "";
              width: 0;
              height: 0;
              border: 4px solid transparent;
              border-left: 4px solid #f00;
              position: absolute;
              top: calc(50% - 4px);
              left: 10px; }
      .footer .inner > .secondary .copy_right {
        text-align: center;
        color: #333;
        font-size: 1.1rem; }
        @media screen and (min-width: 768px) {
          .footer .inner > .secondary .copy_right {
            text-align: right; } }
  .footer .page_top {
    position: absolute;
    display: block;
    width: 50px;
    height: 50px;
    background-color: #e70012;
    border-radius: 50%;
    box-shadow: 0px 4px 8px 1px rgba(0, 0, 0, 0.1);
    margin: 20px auto -20px;
    right: 20px;
    top: -100px; }
    .footer .page_top:after {
      position: absolute;
      display: block;
      content: "";
      width: 10px;
      height: 10px;
      top: calc(50% - 4px);
      left: calc(50% - 6px);
      transform: rotate(-45deg);
      border-right: 2px solid #fff;
      border-top: 2px solid #fff; }
    @media screen and (min-width: 768px) {
      .footer .page_top {
        top: -90px;
        right: 40px;
        margin: 0; } }

body.about .main {
  padding-top: 50px; }
  body.about .main .head01 {
    text-align: center;
    font-size: 3rem;
    color: #e70012;
    line-height: calc(32 / 30);
    margin-bottom: 60px; }
  body.about .main .page_navi {
    margin-bottom: 80px; }
    @media screen and (min-width: 600px) {
      body.about .main .page_navi .links {
        display: flex;
        display: -webkit-flex;
        display: -ms-flexbox; } }
    body.about .main .page_navi .links .link {
      width: 100%;
      padding: 15px 0;
      text-align: center;
      border-bottom: 1px solid #ccc; }
      body.about .main .page_navi .links .link:first-child {
        border-top: 1px solid #ccc; }
        @media screen and (min-width: 600px) {
          body.about .main .page_navi .links .link:first-child {
            border-top: none;
            border-left: 1px solid #ccc; } }
      @media screen and (min-width: 600px) {
        body.about .main .page_navi .links .link {
          width: 33.3333333333%;
          padding: 5px 0;
          border: none;
          border-right: 1px solid #ccc; } }
      body.about .main .page_navi .links .link a {
        position: relative;
        color: #e70012;
        padding-left: 25px; }
        body.about .main .page_navi .links .link a:before {
          display: block;
          content: "";
          width: 0;
          height: 0;
          border: 4px solid transparent;
          border-top: 4px solid #f00;
          position: absolute;
          top: calc(50% - 2px);
          left: 10px; }
  body.about .main .greetings {
    margin: 0 auto 100px;
    padding-top: 60px;
    margin-top: -60px;
    max-width: 720px; }
    body.about .main .greetings .head02 {
      text-align: center;
      font-size: 2.4rem;
      color: #333;
      line-height: calc(30 / 24);
      margin-bottom: 50px; }
    body.about .main .greetings .img {
      margin-bottom: 40px;
      display: block;
      width: 100%;
      height: auto; }
    body.about .main .greetings .text {
      font-size: 1.6rem;
      line-height: calc(24 / 16);
      margin-bottom: 40px; }
    body.about .main .greetings .anme {
      text-align: right;
      line-height: calc(30 / 24);
      font-size: 2.4rem;
      font-family: YuMincho,'Yu Mincho',serif;
      font-weight: bold; }
      body.about .main .greetings .anme span {
        line-height: calc(30 / 16);
        font-size: 1.6rem;
        font-weight: normal; }
  body.about .main .about {
    max-width: 1000px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 auto;
    padding-top: 60px;
    margin-top: -60px; }
    @media screen and (min-width: 1024px) {
      body.about .main .about {
        width: 100%;
        padding-left: 0px;
        padding-right: 0px; } }
    body.about .main .about .head02 {
      text-align: center;
      font-size: 2.4rem;
      color: #333;
      line-height: calc(30 / 24);
      margin-bottom: 50px; }
    body.about .main .about table {
      width: 100%;
      border: 1px solid #ccc;
      border-collapse: collapse;
      margin-bottom: 40px; }
      body.about .main .about table tr {
        border-bottom: 1px #ccc solid; }
        body.about .main .about table tr th,
        body.about .main .about table tr td {
          padding: 15px;
          font-size: 1.6rem;
          line-height: calc(30 / 16); }
        body.about .main .about table tr th {
          width: 150px;
          text-align: left;
          padding: 15px;
          background-color: #f7f7f7;
          border-right: 1px solid #ccc; }
        body.about .main .about table tr td .window {
          color: #e70012;
          position: relative; }
          body.about .main .about table tr td .window:after {
            display: block;
            position: absolute;
            content: '';
            width: 14px;
            height: 14px;
            background-image: url(assets/img/window.png);
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center center;
            border: none;
            top: calc(50% - 7px);
            right: -25px; }
    body.about .main .about .map iframe {
      width: 100%;
      min-height: 500px;
      border: 1px solid #ccc;
      margin-bottom: 60px; }
    body.about .main .about .photo {
      margin-bottom: 100px; }
      body.about .main .about .photo img {
        display: block;
        width: 100%;
        height: auto;
        margin-bottom: 10px; }
  body.about .main .outline {
    max-width: 1000px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 60px;
    margin-top: -60px;
    margin-bottom: 160px; }
    @media screen and (min-width: 1024px) {
      body.about .main .outline {
        width: 100%;
        padding-left: 0px;
        padding-right: 0px; } }
    body.about .main .outline .head02 {
      text-align: center;
      font-size: 2.4rem;
      color: #333;
      line-height: calc(30 / 24);
      margin-bottom: 50px; }
    body.about .main .outline table {
      width: 100%;
      border-collapse: collapse; }
      body.about .main .outline table tr {
        background-color: #f6f7f7; }
        body.about .main .outline table tr:nth-child(even) {
          background-color: #fff; }
        body.about .main .outline table tr th,
        body.about .main .outline table tr td {
          padding: 20px;
          font-size: 1.6rem;
          line-height: calc(30 / 16);
          text-align: left;
          font-weight: normal; }
        body.about .main .outline table tr th {
          width: 150px; }

body.card .main {
  padding-top: 50px; }
  body.card .main .head01 {
    text-align: center;
    font-size: 3rem;
    color: #e70012;
    line-height: calc(32 / 30);
    margin-bottom: 60px; }
  body.card .main .mv {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 50px; }
  body.card .main .head02 {
    margin-bottom: 30px;
    font-size: 40px;
    line-height: calc(24 / 40); }
  body.card .main .caption {
    text-align: center;
    line-height: calc(24 / 16);
    margin-bottom: 30px; }
  body.card .main .merits {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    /*--- IE10用 ---*/
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between;
    list-style-type: none;
    margin-bottom: 40px; }
    body.card .main .merits .merit {
      width: 100%;
      border: 2px solid #029c6b;
      border-radius: 10px;
      margin-bottom: 20px;
      text-align: center; }
      @media screen and (min-width: 980px) {
        body.card .main .merits .merit {
          width: 32%; } }
      body.card .main .merits .merit .head {
        background-color: #029c6b;
        text-align: center;
        font-size: 2.4rem;
        line-height: calc(30 / 24);
        color: #fff;
        padding: 5px 0;
        letter-spacing: 0.2rem; }
        body.card .main .merits .merit .head span {
          font-size: 3.0rem;
          line-height: calc(30 / 30); }
      body.card .main .merits .merit .content {
        padding: 30px 10px;
        font-size: 2.4rem;
        line-height: calc(34 / 24); }
        body.card .main .merits .merit .content .underline {
          position: relative;
          border-bottom: 4px solid #fff799; }
        body.card .main .merits .merit .content .num {
          font-size: 3.0rem;
          line-height: calc(34 / 30); }
        body.card .main .merits .merit .content .unit {
          font-size: 1.6rem;
          line-height: calc(36 / 16); }
  body.card .main .btn {
    display: block;
    width: 100%;
    background-color: #e70012;
    color: #fff;
    text-align: center;
    line-height: 45px;
    text-decoration: none;
    max-width: 260px;
    margin: 0 auto;
    margin-bottom: 80px; }
    body.card .main .btn span {
      position: relative;
      margin-left: 30px; }
      body.card .main .btn span:before {
        position: absolute;
        display: block;
        content: "";
        width: 14px;
        height: 14px;
        background-image: url(assets/img/window_white.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        border: none;
        top: calc(50% - 6px);
        left: -20px; }
  body.card .main > .head {
    display: block;
    width: 100%;
    height: auto;
    margin-bottom: 60px; }
    body.card .main > .head.sp.sp {
      display: block; }
      @media screen and (min-width: 768px) {
        body.card .main > .head.sp.sp {
          display: none; } }
    body.card .main > .head.sp.pc {
      display: none; }
      @media screen and (min-width: 768px) {
        body.card .main > .head.sp.pc {
          display: block; } }
    body.card .main > .head.pc.sp {
      display: block; }
      @media screen and (min-width: 768px) {
        body.card .main > .head.pc.sp {
          display: none; } }
    body.card .main > .head.pc.pc {
      display: none; }
      @media screen and (min-width: 768px) {
        body.card .main > .head.pc.pc {
          display: block; } }
  body.card .main .points {
    max-width: 720px;
    margin: 0 auto 80px; }
    body.card .main .points .point {
      border-bottom: 1px solid #ccc;
      padding-bottom: 40px;
      padding-top: 20px;
      padding-left: 40px;
      position: relative;
      margin-bottom: 20px; }
      body.card .main .points .point:before {
        position: absolute;
        font-size: 4.0rem;
        line-height: calc(60 / 40);
        top: 0;
        left: 0;
        font-weight: bold; }
      body.card .main .points .point.point01:before {
        content: "1."; }
      body.card .main .points .point.point02:before {
        content: "2."; }
      body.card .main .points .point.point03:before {
        content: "3."; }
      body.card .main .points .point.point03 .text {
        margin-bottom: 60px; }
      body.card .main .points .point > .head {
        font-size: 1.8rem;
        line-height: calc(30 / 18);
        font-weight: bold; }
        body.card .main .points .point > .head span {
          font-size: 2.4rem;
          line-height: calc(30 / 24);
          color: #e70012; }
      body.card .main .points .point .text {
        margin-top: 30px;
        line-height: calc(30 / 16); }
    body.card .main .points .example {
      position: relative;
      border: 4px solid #ccc;
      padding: 50px 30px 10px;
      margin-left: -40px; }
      body.card .main .points .example .head {
        background-color: #333333;
        color: #fff;
        font-size: 1.8rem;
        padding: 10px 20px;
        display: inline;
        margin-top: -10px;
        position: absolute;
        top: -6px;
        left: 20px; }
      body.card .main .points .example ul {
        list-style-type: none; }
        body.card .main .points .example ul li {
          display: flex;
          display: -webkit-flex;
          display: -ms-flexbox;
          flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          /*--- IE10用 ---*/
          -webkit-flex-wrap: wrap;
          /*--- safari（PC）用 ---*/
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          font-size: 1.8rem;
          line-height: calc(36 / 16);
          margin-bottom: 30px; }
          body.card .main .points .example ul li .dots {
            line-height: 2.5rem;
            padding: 0 10px; }
          body.card .main .points .example ul li .num {
            font-size: 3.0rem;
            line-height: calc(36 / 34); }
          body.card .main .points .example ul li .underline {
            font-size: 2rem;
            line-height: 2.4rem;
            position: relative;
            border-bottom: 4px solid #fff799; }
  body.card .main .notice {
    margin-bottom: 50px; }
    body.card .main .notice .head {
      font-weight: bold;
      font-size: 2rem;
      line-height: calc(3 / 2);
      border-bottom: 2px solid #333;
      margin-bottom: 30px; }
    body.card .main .notice > ul {
      list-style-type: none;
      margin-bottom: 20px; }
      body.card .main .notice > ul li {
        position: relative;
        padding-left: 16px;
        margin-bottom: 5px;
        line-height: calc(30 / 16); }
        body.card .main .notice > ul li:before {
          position: absolute;
          content: '※';
          top: 0;
          left: 0; }
    body.card .main .notice .box {
      padding: 30px;
      background-color: #f5f5f5;
      margin-bottom: 20px; }
      body.card .main .notice .box ul, body.card .main .notice .box p {
        margin-bottom: 0; }
  body.card .main .terms {
    margin-bottom: 170px; }
    body.card .main .terms .head {
      border: 2px solid #ccc;
      padding: 20px 60px 20px 20px;
      font-size: 2.4rem;
      line-height: calc(30 / 24);
      position: relative;
      margin-bottom: 40px; }
      body.card .main .terms .head:hover {
        cursor: pointer; }
      body.card .main .terms .head .mark {
        width: 30px;
        height: 30px;
        position: absolute;
        display: block;
        right: 20px;
        top: 20px; }
        body.card .main .terms .head .mark:before {
          content: '';
          position: absolute;
          width: 30px;
          height: 2px;
          background-color: #e70012;
          top: calc(50% - 1px); }
        body.card .main .terms .head .mark:after {
          content: '';
          position: absolute;
          width: 2px;
          height: 30px;
          background-color: #e70012;
          left: calc(50% - 1px); }
      body.card .main .terms .head.shown .mark:after {
        content: '';
        display: none; }

body.contact .main,
body.conf .main,
body.thx .main {
  padding-top: 50px; }
  body.contact .main .head01,
  body.conf .main .head01,
  body.thx .main .head01 {
    text-align: center;
    font-size: 3rem;
    color: #e70012;
    line-height: calc(32 / 30);
    margin-bottom: 60px; }
  body.contact .main .states,
  body.conf .main .states,
  body.thx .main .states {
    max-width: calc(190px * 3);
    width: 100%;
    margin: 0 auto;
    margin-bottom: 50px; }
    body.contact .main .states .points,
    body.conf .main .states .points,
    body.thx .main .states .points {
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-justify-content: space-between;
      /* Safari */
      justify-content: space-between;
      width: 100%; }
      body.contact .main .states .points .point,
      body.conf .main .states .points .point,
      body.thx .main .states .points .point {
        position: relative;
        width: calc(100% / 3);
        text-align: center;
        padding-top: 24px;
        color: #ccc;
        font-weight: bold; }
        body.contact .main .states .points .point:before,
        body.conf .main .states .points .point:before,
        body.thx .main .states .points .point:before {
          position: absolute;
          display: block;
          width: 14px;
          height: 14px;
          content: '';
          left: calc(50% - 7px);
          top: 0;
          background-color: #ccc;
          border-radius: 50%;
          z-index: 2; }
        body.contact .main .states .points .point:after,
        body.conf .main .states .points .point:after,
        body.thx .main .states .points .point:after {
          position: absolute;
          display: block;
          width: 100%;
          height: 2px;
          content: '';
          left: 50%;
          top: 6px;
          background-color: #ccc;
          z-index: 1; }
        body.contact .main .states .points .point:last-child:after,
        body.conf .main .states .points .point:last-child:after,
        body.thx .main .states .points .point:last-child:after {
          display: none; }
        body.contact .main .states .points .point.current,
        body.conf .main .states .points .point.current,
        body.thx .main .states .points .point.current {
          color: #333; }
          body.contact .main .states .points .point.current:before,
          body.conf .main .states .points .point.current:before,
          body.thx .main .states .points .point.current:before {
            background-color: #e70012; }
  body.contact .main .form,
  body.conf .main .form,
  body.thx .main .form {
    max-width: 640px;
    width: 100%;
    margin: 0 auto; }
    body.contact .main .form .recired:after,
    body.conf .main .form .recired:after,
    body.thx .main .form .recired:after {
      content: '必須';
      color: red;
      font-size: 1.4rem;
      margin-right: 5px;
      border: 2px solid #e70012;
      padding: 0 4px;
      margin-left: 5px; }
    body.contact .main .form dl,
    body.conf .main .form dl,
    body.thx .main .form dl {
      margin-bottom: 60px; }
      body.contact .main .form dl dt,
      body.conf .main .form dl dt,
      body.thx .main .form dl dt {
        margin-bottom: 20px; }
        body.contact .main .form dl dt.recired:before,
        body.conf .main .form dl dt.recired:before,
        body.thx .main .form dl dt.recired:before {
          font-weight: normal; }
      body.contact .main .form dl dd,
      body.conf .main .form dl dd,
      body.thx .main .form dl dd {
        margin-bottom: 40px;
        line-height: 2; }
        body.contact .main .form dl dd.privacy,
        body.conf .main .form dl dd.privacy,
        body.thx .main .form dl dd.privacy {
          max-height: 350px;
          overflow-y: scroll;
          border: 1px solid #ccc;
          padding: 30px 20px 0;
          background-color: #f7f7f7; }
          body.contact .main .form dl dd.privacy .head02,
          body.conf .main .form dl dd.privacy .head02,
          body.thx .main .form dl dd.privacy .head02 {
            margin-bottom: 30px; }
    body.contact .main .form input,
    body.conf .main .form input,
    body.thx .main .form input {
      width: 100%;
      font-size: 1.4rem;
      padding: 20px 20px;
      border: 1px solid #ccc;
      background-color: #f7f7f7;
      border-radius: 4px; }
      body.contact .main .form input.primary,
      body.conf .main .form input.primary,
      body.thx .main .form input.primary {
        width: 48%; }
      body.contact .main .form input.secondary,
      body.conf .main .form input.secondary,
      body.thx .main .form input.secondary {
        width: 48%; }
      body.contact .main .form input.code,
      body.conf .main .form input.code,
      body.thx .main .form input.code {
        width: 119px;
        margin-bottom: 14px;
        margin-right: 15px; }
      body.contact .main .form input::-webkit-input-placeholder,
      body.conf .main .form input::-webkit-input-placeholder,
      body.thx .main .form input::-webkit-input-placeholder {
        color: #BBB; }
    body.contact .main .form textarea,
    body.conf .main .form textarea,
    body.thx .main .form textarea {
      width: 100%;
      height: 7em;
      padding: 10px;
      margin-bottom: 0;
      border: 1px solid #ccc;
      border-radius: 4px;
      min-height: 170px; }
    body.contact .main .form .error,
    body.conf .main .form .error,
    body.thx .main .form .error {
      margin-top: 5px; }
    body.contact .main .form input[type="submit"],
    body.contact .main .form input[type="button"],
    body.conf .main .form input[type="submit"],
    body.conf .main .form input[type="button"],
    body.thx .main .form input[type="submit"],
    body.thx .main .form input[type="button"] {
      border-radius: 0;
      -webkit-box-sizing: content-box;
      -webkit-appearance: button;
      appearance: button;
      box-sizing: border-box; }
      body.contact .main .form input[type="submit"]::-webkit-search-decoration,
      body.contact .main .form input[type="button"]::-webkit-search-decoration,
      body.conf .main .form input[type="submit"]::-webkit-search-decoration,
      body.conf .main .form input[type="button"]::-webkit-search-decoration,
      body.thx .main .form input[type="submit"]::-webkit-search-decoration,
      body.thx .main .form input[type="button"]::-webkit-search-decoration {
        display: none; }
      body.contact .main .form input[type="submit"]::focus,
      body.contact .main .form input[type="button"]::focus,
      body.conf .main .form input[type="submit"]::focus,
      body.conf .main .form input[type="button"]::focus,
      body.thx .main .form input[type="submit"]::focus,
      body.thx .main .form input[type="button"]::focus {
        outline-offset: -2px; }
    body.contact .main .form .submit_wrap,
    body.conf .main .form .submit_wrap,
    body.thx .main .form .submit_wrap {
      margin-bottom: 130px;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox; }
      body.contact .main .form .submit_wrap .submit,
      body.conf .main .form .submit_wrap .submit,
      body.thx .main .form .submit_wrap .submit {
        background-color: #e70012;
        padding: 25px 0;
        color: #fff;
        max-width: 320px;
        width: 100%;
        margin: 0 auto;
        font-size: 1.8rem; }
      body.contact .main .form .submit_wrap .back,
      body.conf .main .form .submit_wrap .back,
      body.thx .main .form .submit_wrap .back {
        margin: 0 20px 0 0;
        background-color: #555555;
        color: #fff; }

body.thx .entry_content .title {
  font-size: 2.8rem;
  line-height: calc(30 / 22);
  letter-spacing: 0.1rem;
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #ccc; }
body.thx .entry_content h2 {
  font-size: 2.0rem;
  line-height: calc(30 / 20);
  color: #e70012;
  margin-bottom: 35px; }
body.thx .entry_content h3 {
  font-size: 2.0rem;
  line-height: calc(30 / 20);
  padding-bottom: 5px;
  border-bottom: 2px solid #333;
  margin-bottom: 30px; }
body.thx .entry_content h4 {
  font-size: 1.8rem;
  line-height: calc(30 / 18);
  padding-left: 10px;
  border-left: 4px solid #e70012;
  margin-bottom: 30px;
  padding-top: 2px;
  padding-bottom: 2px; }
body.thx .entry_content h5 {
  padding: 2px 12px;
  font-size: 16px;
  line-height: calc(30 / 16);
  background-color: #333333;
  color: #fff;
  margin-bottom: 30px; }
body.thx .entry_content h6 {
  font-size: 16px;
  line-height: calc(30 / 16);
  font-weight: bold;
  padding-bottom: 5px;
  border-bottom: 2px solid #333;
  margin-bottom: 30px; }
body.thx .entry_content p {
  font-size: 1.6rem;
  line-height: calc(30 / 16);
  margin-bottom: 40px; }
body.thx .entry_content a {
  text-decoration: none; }
  body.thx .entry_content a:hover {
    text-decoration: underline; }
body.thx .entry_content ul {
  list-style-type: none;
  margin-bottom: 60px; }
  body.thx .entry_content ul li {
    font-size: 16px;
    padding-left: 20px;
    line-height: 3rem;
    position: relative; }
    body.thx .entry_content ul li:before {
      position: absolute;
      top: 10px;
      left: -2px;
      display: block;
      content: '';
      width: 12px;
      height: 12px;
      background-color: #e70012;
      border-radius: 50%; }
    body.thx .entry_content ul li ul {
      margin-bottom: 0;
      padding-left: 20px; }
      body.thx .entry_content ul li ul li {
        margin-bottom: 0; }
body.thx .entry_content ol {
  margin-bottom: 60px;
  padding-left: 1.6rem; }
  body.thx .entry_content ol li {
    font-size: 16px;
    line-height: 3rem;
    position: relative;
    margin-bottom: 20px; }
    body.thx .entry_content ol li ol {
      padding-left: 15px;
      margin-bottom: 0;
      padding-left: 20px; }
      body.thx .entry_content ol li ol li {
        margin-bottom: 0; }
body.thx .entry_content img {
  max-width: 100%;
  height: auto; }
body.thx .entry_content strong {
  font-weight: bold; }
body.thx .entry_content table {
  width: 100%;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  margin-bottom: 60px; }
  body.thx .entry_content table thead tr {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between; }
    body.thx .entry_content table thead tr th {
      width: 100%;
      min-width: 30%;
      padding: 15px 0;
      border-left: 1px solid #ccc;
      border-top: 1px solid #ccc;
      background-color: #333;
      font-weight: normal;
      display: table-cell;
      text-align: center;
      vertical-align: middle;
      line-height: 2rem;
      color: #fff; }
  body.thx .entry_content table tbody tr {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox; }
    body.thx .entry_content table tbody tr th {
      min-width: 30%;
      width: 100%;
      padding: 15px;
      border-left: 1px solid #ccc;
      border-top: 1px solid #ccc;
      background-color: #eee;
      font-weight: normal;
      text-align: left;
      line-height: 2rem; }
    body.thx .entry_content table tbody tr td {
      width: 100%;
      padding: 15px;
      border-left: 1px solid #ccc;
      border-top: 1px solid #ccc;
      line-height: 2rem;
      background-color: #fff; }
body.thx .entry_content .head02 {
  margin-bottom: 50px; }
body.thx .entry_content .phone_box {
  width: 100%;
  border: 1px solid #ccc;
  padding: 30px 20px;
  margin: 0 auto;
  margin-bottom: 60px; }
  body.thx .entry_content .phone_box .head {
    width: 100%;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.6666666667;
    margin-bottom: 20px; }
  body.thx .entry_content .phone_box .phone {
    width: 100%;
    display: block;
    text-align: center;
    font-size: 3.0rem;
    line-height: 0.9333333333;
    margin-bottom: 20px; }
    body.thx .entry_content .phone_box .phone i {
      font-size: 2.4rem; }
  body.thx .entry_content .phone_box .time {
    display: block;
    width: 100%;
    text-align: center; }
body.thx p.link {
  text-align: center;
  text-decoration: underline;
  margin-bottom: 140px; }

.home section.mv {
  position: relative;
  z-index: 9997;
  overflow: hidden; }
  .home section.mv .copy {
    position: absolute;
    margin: auto;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 9999;
    max-width: 500px;
    padding: 0 60px;
    display: block;
    width: 100%;
    height: auto; }
    @media screen and (min-width: 768px) {
      .home section.mv .copy {
        padding: 0px; } }
  .home section.mv .swiper-slide {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center; }
    .home section.mv .swiper-slide.slide01 {
      background-image: url("assets/img/bg_mv01_sp.png"); }
      @media screen and (min-width: 768px) {
        .home section.mv .swiper-slide.slide01 {
          background-image: url("assets/img/bg_mv01.png"); } }
    .home section.mv .swiper-slide.slide02 {
      background-image: url("assets/img/bg_mv02_sp.png"); }
      @media screen and (min-width: 768px) {
        .home section.mv .swiper-slide.slide02 {
          background-image: url("assets/img/bg_mv02.png"); } }
    .home section.mv .swiper-slide.slide03 {
      background-image: url("assets/img/bg_mv03_sp.png"); }
      @media screen and (min-width: 768px) {
        .home section.mv .swiper-slide.slide03 {
          background-image: url("assets/img/bg_mv03.png"); } }
    .home section.mv .swiper-slide.slide04 {
      background-image: url("assets/img/bg_mv04_sp.png"); }
      @media screen and (min-width: 768px) {
        .home section.mv .swiper-slide.slide04 {
          background-image: url("assets/img/bg_mv04.png"); } }
    .home section.mv .swiper-slide img {
      display: block;
      width: 100%;
      height: auto;
      max-width: 1000px; }
.home section.news .inner {
  padding-top: 40px;
  padding-bottom: 20px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  /*--- IE10用 ---*/
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/ }
  .home section.news .inner .primary {
    width: 100%;
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between; }
    @media screen and (min-width: 768px) {
      .home section.news .inner .primary {
        width: 150px;
        display: block; } }
    .home section.news .inner .primary .head {
      font-weight: bold;
      font-size: 2.4rem;
      margin-bottom: 30px; }
    .home section.news .inner .primary .more {
      text-decoration: none;
      color: #333; }
      .home section.news .inner .primary .more i {
        color: #e70012; }
  .home section.news .inner .secondary {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .home section.news .inner .secondary {
        width: calc(100% - 150px); } }
    .home section.news .inner .secondary .article {
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      /*--- IE10用 ---*/
      -webkit-flex-wrap: wrap;
      /*--- safari（PC）用 ---*/
      margin-bottom: 20px; }
      .home section.news .inner .secondary .article .date {
        margin-right: 20px;
        padding: 4px 0;
        font-size: 1.2rem; }
      .home section.news .inner .secondary .article .category {
        background-color: #555555;
        padding: 4px 15px;
        text-decoration: none;
        color: #fff;
        margin-right: 25px;
        font-size: 1.2rem; }
      .home section.news .inner .secondary .article .title {
        width: 100%;
        text-decoration: none;
        color: #333;
        padding: 8px 0; }
.home section.campaign {
  background-color: #f5f5f5;
  padding-top: 40px; }
  .home section.campaign .inner .head {
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 40px; }
  .home section.campaign .inner .row {
    width: 100%; }
    .home section.campaign .inner .row .col {
      width: 100%;
      margin-bottom: 40px; }
      @media screen and (min-width: 479px) {
        .home section.campaign .inner .row .col {
          width: 48%; } }
      .home section.campaign .inner .row .col img {
        display: block;
        width: 100%;
        height: auto; }
.home section.navis {
  padding-top: 40px;
  padding-bottom: 50px; }
  .home section.navis .inner .row.secondary .primary,
  .home section.navis .inner .row.secondary .secondary,
  .home section.navis .inner .row.secondary .third {
    width: 100%; }
    @media screen and (min-width: 800px) {
      .home section.navis .inner .row.secondary .primary,
      .home section.navis .inner .row.secondary .secondary,
      .home section.navis .inner .row.secondary .third {
        width: calc((100% / 3) - 3%);
        display: grid;
        margin-bottom: 30px; } }
    .home section.navis .inner .row.secondary .primary .head,
    .home section.navis .inner .row.secondary .secondary .head,
    .home section.navis .inner .row.secondary .third .head {
      font-size: 1.8rem; }
      @media screen and (min-width: 800px) {
        .home section.navis .inner .row.secondary .primary .head,
        .home section.navis .inner .row.secondary .secondary .head,
        .home section.navis .inner .row.secondary .third .head {
          font-size: 1.2rem; } }
      @media screen and (min-width: 1024px) {
        .home section.navis .inner .row.secondary .primary .head,
        .home section.navis .inner .row.secondary .secondary .head,
        .home section.navis .inner .row.secondary .third .head {
          font-size: 1.6rem; } }
      .home section.navis .inner .row.secondary .primary .head i,
      .home section.navis .inner .row.secondary .secondary .head i,
      .home section.navis .inner .row.secondary .third .head i {
        font-size: 1.4rem; }
  .home section.navis .inner .row .primary,
  .home section.navis .inner .row .secondary {
    width: 100%;
    margin-bottom: 30px; }
    @media screen and (min-width: 800px) {
      .home section.navis .inner .row .primary,
      .home section.navis .inner .row .secondary {
        width: 48%; } }
  .home section.navis .inner .row a {
    text-decoration: none; }
    .home section.navis .inner .row a .head {
      background-color: #e70012;
      padding: 0 0 0 15px;
      line-height: 60px;
      color: #fff;
      font-size: 1.8rem; }
      @media screen and (min-width: 800px) {
        .home section.navis .inner .row a .head {
          font-size: 2.0rem; } }
      .home section.navis .inner .row a .head i {
        font-size: 1.4rem; }
    .home section.navis .inner .row a img {
      display: block;
      width: 100%;
      height: auto; }
.home section.slide {
  position: relative;
  background-color: #f5f5f5;
  padding: 40px 0; }
  .home section.slide .inner {
    padding: 0 75px;
    max-width: 900px;
    position: relative; }
    .home section.slide .inner .swiper-slide {
      display: block; }
      .home section.slide .inner .swiper-slide img {
        display: block;
        width: 100%;
        height: auto; }
    .home section.slide .inner .swiper-button-prev,
    .home section.slide .inner .swiper-button-next {
      background-image: none; }
    .home section.slide .inner .swiper-button-prev:before {
      display: block;
      content: "";
      width: 12px;
      height: 12px;
      position: absolute;
      top: calc(50% - 6px);
      left: 0px;
      transform: rotate(-135deg);
      border-right: 4px solid #999999;
      border-top: 4px solid #999999; }
      @media screen and (min-width: 1024px) {
        .home section.slide .inner .swiper-button-prev:before {
          left: -50px; } }
    .home section.slide .inner .swiper-button-next:after {
      display: block;
      content: "";
      width: 12px;
      height: 12px;
      position: absolute;
      top: calc(50% - 6px);
      right: 0px;
      transform: rotate(-135deg);
      border-left: 4px solid #999999;
      border-bottom: 4px solid #999999; }
      @media screen and (min-width: 1024px) {
        .home section.slide .inner .swiper-button-next:after {
          right: -50px; } }
.home section.recruit {
  padding-top: 60px;
  padding-bottom: 130px; }
  .home section.recruit .inner .navi {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }
    .home section.recruit .inner .navi .primary,
    .home section.recruit .inner .navi .secondary {
      width: 100%; }
      @media screen and (min-width: 768px) {
        .home section.recruit .inner .navi .primary,
        .home section.recruit .inner .navi .secondary {
          width: 50%; } }
    .home section.recruit .inner .navi .primary {
      min-height: 200px;
      background-image: url(assets/img/top_recruit.png);
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
    .home section.recruit .inner .navi .secondary {
      background-color: #e70012;
      padding: 40px 30px 30px; }
      .home section.recruit .inner .navi .secondary .head {
        text-align: center;
        color: #fff;
        font-size: 2.8rem;
        margin-bottom: 40px; }
      .home section.recruit .inner .navi .secondary .text {
        text-align: center;
        color: #fff;
        margin-bottom: 30px;
        line-height: calc(24 / 14); }
      .home section.recruit .inner .navi .secondary .btn {
        display: block;
        position: relative;
        width: 100%;
        max-width: 250px;
        margin: 0 auto;
        background-color: #fff;
        color: #333;
        text-align: center;
        line-height: 45px;
        text-decoration: none; }
        .home section.recruit .inner .navi .secondary .btn:before {
          display: block;
          position: absolute;
          content: '';
          width: 14px;
          height: 14px;
          background-image: url(assets/img/window.png);
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center center;
          border: none;
          top: calc(50% - 7px);
          left: 14px; }

body.privacy .main,
body.error404 .main,
body.sitemap .main {
  padding-top: 50px;
  padding-bottom: 130px; }
  body.privacy .main .head01,
  body.error404 .main .head01,
  body.sitemap .main .head01 {
    margin-bottom: 60px; }
  body.privacy .main .head02,
  body.error404 .main .head02,
  body.sitemap .main .head02 {
    margin-bottom: 40px; }

body.error404 .main ul.links {
  text-align: center;
  width: fit-content;
  margin: 0 auto;
  list-style-type: none;
  margin-bottom: 50px; }
  body.error404 .main ul.links li {
    line-height: 2.2rem;
    margin-bottom: 10px;
    font-size: 1.4rem; }
    body.error404 .main ul.links li:before {
      content: "・"; }
body.error404 .main .link {
  text-align: center;
  width: 100%;
  display: block;
  color: #e70012; }

body.sitemap .main > ul.links {
  margin-top: -30px;
  list-style: none; }
  body.sitemap .main > ul.links > .link {
    border-bottom: 1px solid #ccc;
    padding: 30px 0;
    position: relative;
    padding-left: 1.2rem; }
    body.sitemap .main > ul.links > .link:before {
      display: block;
      content: "";
      width: 0;
      height: 0;
      border: 4px solid transparent;
      border-left: 4px solid #f00;
      position: absolute;
      top: 35px;
      left: 0px; }
    body.sitemap .main > ul.links > .link.window {
      padding-left: 2rem; }
      body.sitemap .main > ul.links > .link.window:before {
        width: 12px;
        height: 12px;
        background-image: url(assets/img/window.png);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center;
        border: none;
        top: calc(50% - 6px); }
    body.sitemap .main > ul.links > .link a {
      color: #e70012; }
    body.sitemap .main > ul.links > .link .links {
      margin-top: 10px;
      list-style: none;
      margin-left: 15px;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      /*--- IE10用 ---*/
      -webkit-flex-wrap: wrap;
      /*--- safari（PC）用 ---*/ }
      body.sitemap .main > ul.links > .link .links .link {
        width: 25%;
        margin-top: 30px; }
        body.sitemap .main > ul.links > .link .links .link i {
          color: #e70012;
          font-size: 1.2rem; }

body.promise .main {
  padding-top: 50px; }
  body.promise .main .head01 {
    text-align: center;
    font-size: 3rem;
    color: #e70012;
    line-height: calc(32 / 30);
    margin-bottom: 60px; }
  body.promise .main .primary {
    margin-bottom: 60px; }
    body.promise .main .primary .img {
      display: block;
      width: 100%;
      height: auto;
      margin-bottom: 50px; }
    body.promise .main .primary .head02 {
      margin-bottom: 50px; }
    body.promise .main .primary .text {
      line-height: calc(30 / 16);
      margin-bottom: 40px; }
  body.promise .main .secondary {
    margin-bottom: 130px; }
    body.promise .main .secondary .img {
      display: block;
      width: 100%;
      height: auto;
      margin-bottom: 50px; }
    body.promise .main .secondary .head02 {
      margin-bottom: 50px; }
    body.promise .main .secondary .head {
      font-size: 30px;
      line-height: calc(32 / 30);
      text-align: center;
      margin-bottom: 50px; }
    body.promise .main .secondary .links {
      width: 100%;
      margin: 0 auto;
      max-width: 800px;
      list-style-type: none;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      /*--- IE10用 ---*/
      -webkit-flex-wrap: wrap;
      /*--- safari（PC）用 ---*/
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
      body.promise .main .secondary .links .link {
        max-width: 270px;
        margin-bottom: 10px; }
        @media screen and (min-width: 820px) {
          body.promise .main .secondary .links .link {
            margin-bottom: 0px; } }
        body.promise .main .secondary .links .link img {
          display: block;
          width: 100%;
          height: auto;
          width: 90%; }

body.voice_full .breadcrumb,
body.voice_part .breadcrumb {
  margin-top: 75px; }
  @media screen and (min-width: 1024px) {
    body.voice_full .breadcrumb,
    body.voice_part .breadcrumb {
      margin-top: 100px; } }
body.voice_full section.page_navi .inner .links,
body.voice_part section.page_navi .inner .links {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  /*--- IE10用 ---*/
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  padding-top: 50px;
  text-align: center; }
  @media screen and (min-width: 768px) {
    body.voice_full section.page_navi .inner .links,
    body.voice_part section.page_navi .inner .links {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; } }
  body.voice_full section.page_navi .inner .links .link,
  body.voice_part section.page_navi .inner .links .link {
    width: auto;
    margin-bottom: 50px;
    border-left: 1px solid #ccc;
    text-align: left;
    padding: 0 40px;
    font-size: 1.6rem;
    line-height: calc(30 / 16); }
    @media screen and (min-width: 768px) {
      body.voice_full section.page_navi .inner .links .link,
      body.voice_part section.page_navi .inner .links .link {
        padding: 0;
        width: 100%;
        text-align: center; } }
    body.voice_full section.page_navi .inner .links .link:last-child,
    body.voice_part section.page_navi .inner .links .link:last-child {
      border-right: 1px solid #ccc; }
    body.voice_full section.page_navi .inner .links .link a,
    body.voice_part section.page_navi .inner .links .link a {
      width: 100%;
      color: #333;
      position: relative; }
      body.voice_full section.page_navi .inner .links .link a:before,
      body.voice_part section.page_navi .inner .links .link a:before {
        display: block;
        content: "";
        width: 0;
        height: 0;
        border: 4px solid transparent;
        border-top: 4px solid #f00;
        position: absolute;
        top: calc(50% - 2px);
        left: -15px; }
body.voice_full section.voice,
body.voice_part section.voice {
  padding-bottom: 40px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 60px;
  margin-right: auto;
  margin-left: auto;
  width: calc(100% - 40px);
  padding-left: 0;
  padding-right: 0; }
  body.voice_full section.voice .row,
  body.voice_part section.voice .row {
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    /*--- IE10用 ---*/
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/ }
    body.voice_full section.voice .row.primary,
    body.voice_part section.voice .row.primary {
      margin-bottom: 50px; }
    body.voice_full section.voice .row.secondary,
    body.voice_part section.voice .row.secondary {
      margin-bottom: 20px; }
      body.voice_full section.voice .row.secondary .primary .head,
      body.voice_part section.voice .row.secondary .primary .head {
        font-size: 1.8rem;
        line-height: calc(30 / 18);
        padding-left: 10px;
        border-left: 4px solid #e70012;
        margin-bottom: 20px;
        padding-top: 2px;
        padding-bottom: 2px; }
      body.voice_full section.voice .row.secondary .primary .text,
      body.voice_part section.voice .row.secondary .primary .text {
        line-height: calc(30 / 16);
        margin-bottom: 40px; }
      body.voice_full section.voice .row.secondary .secondary,
      body.voice_part section.voice .row.secondary .secondary {
        margin-bottom: 40px; }
    body.voice_full section.voice .row.withphoto .photo,
    body.voice_part section.voice .row.withphoto .photo {
      width: 100%; }
      @media screen and (min-width: 768px) {
        body.voice_full section.voice .row.withphoto .photo,
        body.voice_part section.voice .row.withphoto .photo {
          width: 64%;
          max-width: 640px; } }
      body.voice_full section.voice .row.withphoto .photo img,
      body.voice_part section.voice .row.withphoto .photo img {
        display: block;
        width: 100%;
        height: auto; }
    body.voice_full section.voice .row.withphoto .box,
    body.voice_part section.voice .row.withphoto .box {
      width: 100%;
      background-color: #be2537;
      padding: 50px 40px;
      margin-bottom: auto; }
      @media screen and (min-width: 768px) {
        body.voice_full section.voice .row.withphoto .box,
        body.voice_part section.voice .row.withphoto .box {
          width: 40%;
          max-width: 400px;
          margin-left: auto;
          margin-top: -300px; } }
      @media screen and (min-width: 1024px) {
        body.voice_full section.voice .row.withphoto .box,
        body.voice_part section.voice .row.withphoto .box {
          margin-top: -385px; } }
      body.voice_full section.voice .row.withphoto .box .head,
      body.voice_part section.voice .row.withphoto .box .head {
        font-size: 2.4rem;
        line-height: calc(36 / 24);
        color: #fff;
        margin-bottom: 30px;
        font-weight: bold;
        padding: 0;
        border-left: none; }
      body.voice_full section.voice .row.withphoto .box .text,
      body.voice_part section.voice .row.withphoto .box .text {
        color: #fff;
        line-height: calc(30 / 16);
        margin-bottom: 0; }
    body.voice_full section.voice .row > .primary.box,
    body.voice_part section.voice .row > .primary.box {
      background-color: #fef0f1;
      margin-bottom: 40px;
      padding: 40px; }
      @media screen and (min-width: 768px) {
        body.voice_full section.voice .row > .primary.box,
        body.voice_part section.voice .row > .primary.box {
          margin-bottom: auto; } }
      body.voice_full section.voice .row > .primary.box .head,
      body.voice_part section.voice .row > .primary.box .head {
        font-size: 2.4rem;
        line-height: calc(36 / 24);
        margin-bottom: 20px;
        font-weight: bold; }
      body.voice_full section.voice .row > .primary.box .text,
      body.voice_part section.voice .row > .primary.box .text {
        line-height: calc(30 / 16); }
    body.voice_full section.voice .row > .secondary img,
    body.voice_part section.voice .row > .secondary img {
      display: block;
      width: 100%;
      height: auto; }
    body.voice_full section.voice .row > .secondary .head,
    body.voice_part section.voice .row > .secondary .head {
      font-size: 1.8rem;
      line-height: calc(30 / 18);
      padding-left: 10px;
      border-left: 4px solid #e70012;
      margin-bottom: 20px;
      padding-top: 2px;
      padding-bottom: 2px; }
    body.voice_full section.voice .row > .secondary .text,
    body.voice_part section.voice .row > .secondary .text {
      margin-bottom: 40px;
      line-height: calc(30 / 16); }
  body.voice_full section.voice .schedule,
  body.voice_part section.voice .schedule {
    max-width: 720px;
    margin: 0 auto 40px;
    border: 1px solid #ccc;
    padding: 30px 20px; }
    @media screen and (min-width: 768px) {
      body.voice_full section.voice .schedule,
      body.voice_part section.voice .schedule {
        padding: 30px 40px; } }
    body.voice_full section.voice .schedule > .head,
    body.voice_part section.voice .schedule > .head {
      font-size: 2.4rem;
      line-height: calc(34 / 24);
      color: #be2537;
      margin-bottom: 30px; }
    body.voice_full section.voice .schedule .todo,
    body.voice_part section.voice .schedule .todo {
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      /*--- IE10用 ---*/
      -webkit-flex-wrap: wrap;
      /*--- safari（PC）用 ---*/ }
      body.voice_full section.voice .schedule .todo .time,
      body.voice_part section.voice .schedule .todo .time {
        position: relative;
        padding-top: 25px;
        width: 100%;
        max-width: 100px;
        font-size: 1.8rem;
        line-height: calc(30 / 18);
        text-align: right;
        padding-right: 30px; }
        body.voice_full section.voice .schedule .todo .time:after,
        body.voice_part section.voice .schedule .todo .time:after {
          position: absolute;
          display: block;
          content: '';
          width: 10px;
          height: 10px;
          border: 5px solid #be2537;
          border-radius: 50%;
          background-color: #fff;
          right: -11px;
          top: 30px; }
      body.voice_full section.voice .schedule .todo .detail,
      body.voice_part section.voice .schedule .todo .detail {
        width: calc(100% - 100px);
        padding-top: 25px;
        padding-left: 30px;
        border-left: 1px solid #333;
        font-size: 1.6rem;
        line-height: calc(30 / 16); }
        @media screen and (min-width: 768px) {
          body.voice_full section.voice .schedule .todo .detail,
          body.voice_part section.voice .schedule .todo .detail {
            padding-left: 55px; } }
  body.voice_full section.voice .message,
  body.voice_part section.voice .message {
    max-width: 720px;
    margin: 0 auto 40px;
    border: 2px solid #be2537;
    padding: 20px 20px 50px; }
    body.voice_full section.voice .message .head,
    body.voice_part section.voice .message .head {
      font-size: 2rem;
      line-height: calc(34 / 24);
      color: #be2537;
      margin-bottom: 20px; }
    body.voice_full section.voice .message .text,
    body.voice_part section.voice .message .text {
      line-height: calc(30 / 16); }
body.voice_full section .btn,
body.voice_part section .btn {
  text-align: center;
  max-width: 400px;
  margin: 0 auto;
  display: block;
  background-color: #be2537;
  line-height: 2.4rem;
  color: #fff;
  padding: 18px 0;
  text-decoration: none;
  font-size: 1.8rem;
  margin-bottom: 100px; }

body.voice_full section.title .row .primary {
  font-size: 3rem;
  color: #be2537;
  min-height: 120px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (min-width: 768px) {
    body.voice_full section.title .row .primary {
      width: calc(100% - 70%);
      min-height: 280px; } }
body.voice_full section.title .row .secondary {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  min-height: 150px; }
  @media screen and (min-width: 768px) {
    body.voice_full section.title .row .secondary {
      min-height: 280px;
      width: 70%;
      max-width: 660px; } }
body.voice_full section.title .secondary {
  background-image: url(assets/img/voice_full01.jpg); }

body.voice_part section.title .row .primary {
  font-size: 3rem;
  color: #be2537;
  min-height: 120px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (min-width: 768px) {
    body.voice_part section.title .row .primary {
      width: calc(100% - 70%);
      min-height: 280px; } }
body.voice_part section.title .row .secondary {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  min-height: 150px; }
  @media screen and (min-width: 768px) {
    body.voice_part section.title .row .secondary {
      min-height: 280px;
      width: 70%;
      max-width: 660px; } }
body.voice_part section.title .secondary {
  background-image: url(assets/img/voice_part01.jpg); }

body.recruit section.mv {
  position: relative;
  z-index: 9997;
  overflow: hidden;
  background-image: url(assets/img/mv_recruit.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  min-height: 265px;
  margin-top: 75px; }
  @media screen and (min-width: 768px) {
    body.recruit section.mv {
      margin-top: 0px;
      min-height: 700px; } }
  body.recruit section.mv .copy {
    position: absolute;
    margin: auto;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 9999;
    max-width: 233px;
    padding: 0 30px;
    display: block;
    width: 100%;
    height: auto; }
    @media screen and (min-width: 768px) {
      body.recruit section.mv .copy {
        padding: 0px;
        max-width: 500px; } }
  body.recruit section.mv img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 1000px; }
body.recruit section.message {
  padding-top: 50px; }
  body.recruit section.message .primary {
    width: 100%; }
    @media screen and (min-width: 768px) {
      body.recruit section.message .primary {
        width: 70%;
        max-width: 700px; } }
    body.recruit section.message .primary img {
      display: block;
      width: 100%;
      height: auto; }
  body.recruit section.message .secondary {
    width: 100%;
    background-color: #fef0f1;
    padding: 50px 40px; }
    @media screen and (min-width: 768px) {
      body.recruit section.message .secondary {
        width: 43%;
        max-width: 430px;
        margin-left: auto;
        margin-top: -300px; } }
    @media screen and (min-width: 1024px) {
      body.recruit section.message .secondary {
        max-width: 430px;
        margin-top: -400px; } }
    body.recruit section.message .secondary .head {
      font-size: 2.4rem;
      line-height: calc(72 / 50);
      color: #be2537;
      margin-bottom: 30px;
      font-weight: bold; }
    body.recruit section.message .secondary .head02 {
      font-size: 2.4rem;
      line-height: calc(72 / 50);
      text-align: left;
      margin-bottom: 30px; }
    body.recruit section.message .secondary .text {
      line-height: calc(30 / 16); }
body.recruit section.promise {
  padding-top: 60px; }
  body.recruit section.promise .head {
    font-size: 3rem;
    line-height: calc(3 / 3);
    text-align: center;
    margin-bottom: 40px;
    font-weight: bold; }
  body.recruit section.promise .row {
    list-style-type: none;
    max-width: 640px;
    margin: 0 auto;
    padding-bottom: 60px; }
    body.recruit section.promise .row .item {
      max-width: 300px;
      margin: 0 auto 20px; }
      body.recruit section.promise .row .item img {
        display: block;
        width: 100%;
        height: auto; }
body.recruit section.workstyle {
  background-color: #be2537;
  padding-top: 50px;
  padding-bottom: 35px; }
  body.recruit section.workstyle .head {
    color: #fff;
    text-align: center;
    font-size: 3rem;
    line-height: calc(24 / 30);
    font-weight: bold;
    margin-bottom: 40px; }
  body.recruit section.workstyle .links {
    list-style-type: none; }
    body.recruit section.workstyle .links .link {
      width: 100%;
      max-width: 48%;
      margin-bottom: 40px;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
      @media screen and (min-width: 768px) {
        body.recruit section.workstyle .links .link {
          width: 23%;
          max-width: 230px; } }
      body.recruit section.workstyle .links .link a {
        display: block;
        color: #fff;
        text-decoration: none;
        text-align: center;
        position: relative;
        width: 100%;
        min-height: 170px;
        font-size: 2rem;
        line-height: calc(22 / 20);
        padding-top: 70px;
        background-color: rgba(0, 0, 0, 0);
        -webkit-transition: background-color 0.3s ease-in-out;
        -moz-transition: background-color 0.3s ease-in-out;
        -ms-transition: background-color 0.3s ease-in-out;
        -o-transition: background-color 0.3s ease-in-out;
        transition: background-color 0.3s ease-in-out; }
        @media screen and (min-width: 768px) {
          body.recruit section.workstyle .links .link a {
            min-height: 230px;
            padding-top: 90px; } }
        body.recruit section.workstyle .links .link a:hover {
          opacity: 1;
          background-color: rgba(0, 0, 0, 0.3);
          -webkit-transition: background-color 0.3s ease-in-out;
          -moz-transition: background-color 0.3s ease-in-out;
          -ms-transition: background-color 0.3s ease-in-out;
          -o-transition: background-color 0.3s ease-in-out;
          transition: background-color 0.3s ease-in-out; }
        body.recruit section.workstyle .links .link a:before {
          display: block;
          content: "";
          width: 12px;
          height: 12px;
          background-color: #fff;
          border-radius: 50%;
          position: absolute;
          bottom: 50px;
          left: calc(50% - 6px); }
          @media screen and (min-width: 768px) {
            body.recruit section.workstyle .links .link a:before {
              bottom: 80px; } }
        body.recruit section.workstyle .links .link a:after {
          display: block;
          content: "";
          width: 0;
          height: 0;
          border: 4px solid transparent;
          border-left: 4px solid #be2537;
          position: absolute;
          bottom: 52px;
          left: calc(50% - 2px); }
          @media screen and (min-width: 768px) {
            body.recruit section.workstyle .links .link a:after {
              bottom: 82px; } }
      body.recruit section.workstyle .links .link.program {
        background-image: url(assets/img/recruit_top04.jpg); }
        body.recruit section.workstyle .links .link.program a {
          padding-top: 55px; }
          @media screen and (min-width: 768px) {
            body.recruit section.workstyle .links .link.program a {
              padding-top: 70px; } }
      body.recruit section.workstyle .links .link.atmosphere {
        background-image: url(assets/img/recruit_top05.jpg); }
      body.recruit section.workstyle .links .link.environment {
        background-image: url(assets/img/recruit_top06.jpg); }
      body.recruit section.workstyle .links .link.career {
        background-image: url(assets/img/recruit_top07.jpg); }
body.recruit section.voices {
  padding-top: 80px;
  padding-bottom: 30px; }
  body.recruit section.voices .head {
    text-align: center;
    font-size: 3rem;
    color: #e70012;
    line-height: calc(32 / 30);
    color: #333;
    font-weight: bold;
    margin-bottom: 50px; }
  body.recruit section.voices .row {
    list-style-type: none; }
    body.recruit section.voices .row .primary,
    body.recruit section.voices .row .secondary {
      margin-bottom: 50px;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
    body.recruit section.voices .row .primary {
      background-image: url(assets/img/recruit_top08.jpg); }
    body.recruit section.voices .row .secondary {
      background-image: url(assets/img/recruit_top09.jpg); }
    body.recruit section.voices .row .primary a,
    body.recruit section.voices .row .secondary a {
      display: block;
      color: #fff;
      text-decoration: none;
      text-align: center;
      position: relative;
      min-height: 190px;
      font-size: 2.4rem;
      line-height: calc(30 / 24);
      padding-top: 70px;
      background-color: rgba(0, 0, 0, 0);
      -webkit-transition: background-color 0.3s ease-in-out;
      -moz-transition: background-color 0.3s ease-in-out;
      -ms-transition: background-color 0.3s ease-in-out;
      -o-transition: background-color 0.3s ease-in-out;
      transition: background-color 0.3s ease-in-out; }
      @media screen and (min-width: 768px) {
        body.recruit section.voices .row .primary a,
        body.recruit section.voices .row .secondary a {
          min-height: 250px;
          padding-top: 90px; } }
      body.recruit section.voices .row .primary a:hover,
      body.recruit section.voices .row .secondary a:hover {
        opacity: 1;
        background-color: rgba(0, 0, 0, 0.3);
        -webkit-transition: background-color 0.3s ease-in-out;
        -moz-transition: background-color 0.3s ease-in-out;
        -ms-transition: background-color 0.3s ease-in-out;
        -o-transition: background-color 0.3s ease-in-out;
        transition: background-color 0.3s ease-in-out; }
      body.recruit section.voices .row .primary a:before,
      body.recruit section.voices .row .secondary a:before {
        display: block;
        content: "";
        width: 12px;
        height: 12px;
        background-color: #fff;
        border-radius: 50%;
        position: absolute;
        bottom: 40px;
        left: calc(50% - 6px); }
        @media screen and (min-width: 768px) {
          body.recruit section.voices .row .primary a:before,
          body.recruit section.voices .row .secondary a:before {
            bottom: 80px; } }
      body.recruit section.voices .row .primary a:after,
      body.recruit section.voices .row .secondary a:after {
        display: block;
        content: "";
        width: 0;
        height: 0;
        border: 4px solid transparent;
        border-left: 4px solid #be2537;
        position: absolute;
        bottom: 42px;
        left: calc(50% - 2px); }
        @media screen and (min-width: 768px) {
          body.recruit section.voices .row .primary a:after,
          body.recruit section.voices .row .secondary a:after {
            bottom: 82px; } }
  body.recruit section.voices .head02 {
    text-align: center;
    font-size: 2.4rem;
    color: #333;
    line-height: calc(30 / 24);
    color: #be2537;
    font-size: 3rem;
    line-height: calc(48 / 30);
    margin-bottom: 40px; }
body.recruit section.data {
  background-color: #fef0f1;
  padding-top: 60px; }
  body.recruit section.data .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    background-color: #fff; }
    body.recruit section.data .row .primary,
    body.recruit section.data .row .secondary {
      width: 100%;
      min-height: 290px; }
      @media screen and (min-width: 768px) {
        body.recruit section.data .row .primary,
        body.recruit section.data .row .secondary {
          width: 50%; } }
      body.recruit section.data .row .primary .head,
      body.recruit section.data .row .secondary .head {
        color: #fff;
        font-size: 2.4rem;
        margin-bottom: 30px;
        line-height: calc(24 / 24); }
      body.recruit section.data .row .primary .text,
      body.recruit section.data .row .secondary .text {
        color: #fff;
        margin-bottom: 30px;
        line-height: calc(30 / 16); }
      body.recruit section.data .row .primary .btn,
      body.recruit section.data .row .secondary .btn {
        display: block;
        position: relative;
        width: 100%;
        max-width: 250px;
        background-color: #fff;
        color: #333;
        text-align: center;
        line-height: 45px;
        text-decoration: none; }
    body.recruit section.data .row .primary {
      min-height: 200px;
      background-image: url(assets/img/recruit_top10.jpg);
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center center; }
      @media screen and (min-width: 479px) {
        body.recruit section.data .row .primary {
          min-height: 245px; } }
      @media screen and (min-width: 768px) {
        body.recruit section.data .row .primary {
          background-size: cover; } }
    body.recruit section.data .row .secondary {
      background-color: #be2537;
      padding: 60px 30px 30px; }
      body.recruit section.data .row .secondary .btn {
        margin-right: auto;
        color: #be2537; }
body.recruit section.faq {
  background-color: #fef0f1;
  padding-top: 60px;
  padding-bottom: 80px; }
  body.recruit section.faq .row .primary,
  body.recruit section.faq .row .secondary {
    width: 100%;
    min-height: 290px; }
    @media screen and (min-width: 768px) {
      body.recruit section.faq .row .primary,
      body.recruit section.faq .row .secondary {
        width: 50%; } }
    body.recruit section.faq .row .primary .head,
    body.recruit section.faq .row .secondary .head {
      width: 100%;
      color: #fff;
      font-size: 2.8rem;
      margin-bottom: 30px; }
    body.recruit section.faq .row .primary .text,
    body.recruit section.faq .row .secondary .text {
      width: 100%;
      color: #fff;
      margin-bottom: 30px;
      line-height: calc(24 / 14); }
    body.recruit section.faq .row .primary .btn,
    body.recruit section.faq .row .secondary .btn {
      display: block;
      position: relative;
      width: 100%;
      max-width: 250px;
      background-color: #fff;
      color: #333;
      text-align: center;
      line-height: 45px;
      text-decoration: none; }
  body.recruit section.faq .row .primary {
    min-height: 200px;
    background-image: url(assets/img/recruit_top11.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center; }
    @media screen and (min-width: 479px) {
      body.recruit section.faq .row .primary {
        min-height: 245px; } }
  body.recruit section.faq .row .secondary {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    /*--- IE10用 ---*/
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    background-color: #be2537;
    padding: 60px 30px 30px; }
    body.recruit section.faq .row .secondary .btn {
      margin-right: auto;
      color: #be2537;
      margin-top: auto; }

section#requirements {
  padding-top: 80px;
  padding-bottom: 85px; }
  @media screen and (min-width: 768px) {
    section#requirements {
      padding-bottom: 70px; } }
  section#requirements .head {
    text-align: center;
    font-size: 3rem;
    color: #e70012;
    line-height: calc(32 / 30);
    color: #333;
    font-weight: bold;
    margin-bottom: 50px; }
  section#requirements .links .link {
    width: 100%;
    margin-bottom: 30px; }
    @media screen and (min-width: 479px) {
      section#requirements .links .link {
        width: 31%; } }
    section#requirements .links .link a {
      display: block;
      background-color: #be2537;
      line-height: 2.4rem;
      color: #fff;
      padding: 33px 0 30px 0;
      padding-left: 20px;
      text-decoration: none;
      font-size: 1.8rem; }



div#requirements.recruit {
padding-top: 20px;
padding-bottom: 20px; }
@media screen and (min-width: 768px) {
div#requirements.recruit {
padding-bottom: 20px;
width: 100%;} }
div#requirements.recruit .head {
text-align: center;
font-size: 3rem;
color: #e70012;
line-height: calc(32 / 30);
color: #333;
font-weight: bold;
margin-bottom: 20px; }
div#requirements.recruit .links .link {
width: 100%;
margin-bottom: 30px; }
@media screen and (min-width: 479px) {
div#requirements.recruit .links .link {
width: 31%; } }
div#requirements.recruit .links .link a {
display: block;
background-color: #be2537;
line-height: 2.4rem;
color: #fff;
padding: 10px 0 10px 0;
padding-left: 20px;
text-decoration: none;
font-size: 1.8rem; }




body.workstyle .breadcrumb {
  margin-top: 75px; }
  @media screen and (min-width: 1024px) {
    body.workstyle .breadcrumb {
      margin-top: 100px; } }
body.workstyle section.title .row .primary {
  font-size: 3rem;
  color: #be2537;
  min-height: 120px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (min-width: 768px) {
    body.workstyle section.title .row .primary {
      width: calc(100% - 70%);
      min-height: 280px; } }
body.workstyle section.title .row .secondary {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  min-height: 150px; }
  @media screen and (min-width: 768px) {
    body.workstyle section.title .row .secondary {
      min-height: 280px;
      width: 70%;
      max-width: 660px; } }
body.workstyle section.title .secondary {
  background-image: url(assets/img/workstyle01.jpg); }
body.workstyle section.page_navi .inner .links {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  /*--- IE10用 ---*/
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  padding-top: 50px;
  text-align: center; }
  @media screen and (min-width: 768px) {
    body.workstyle section.page_navi .inner .links {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; } }
  body.workstyle section.page_navi .inner .links .link {
    width: auto;
    margin-bottom: 50px;
    border-left: 1px solid #ccc;
    text-align: left;
    padding: 0 40px;
    font-size: 1.6rem;
    line-height: calc(30 / 16); }
    @media screen and (min-width: 768px) {
      body.workstyle section.page_navi .inner .links .link {
        padding: 0;
        width: 100%;
        text-align: center; } }
    body.workstyle section.page_navi .inner .links .link:last-child {
      border-right: 1px solid #ccc; }
    body.workstyle section.page_navi .inner .links .link a {
      width: 100%;
      color: #333;
      position: relative; }
      body.workstyle section.page_navi .inner .links .link a:before {
        display: block;
        content: "";
        width: 0;
        height: 0;
        border: 4px solid transparent;
        border-top: 4px solid #f00;
        position: absolute;
        top: calc(50% - 2px);
        left: -15px; }
body.workstyle section.program {
  background-color: #fef0f1;
  padding: 60px 0; }
  body.workstyle section.program .primary {
    margin-bottom: 50px; }
    @media screen and (min-width: 1024px) {
      body.workstyle section.program .primary {
        margin-bottom: 0px; } }
    body.workstyle section.program .primary .head01 {
      color: #be2537;
      font-size: 2.4rem;
      line-height: calc(30 / 24);
      text-align: left;
      margin-bottom: 40px;
      font-weight: bold; }
    body.workstyle section.program .primary .head02 {
      text-align: left;
      font-size: 3rem;
      line-height: calc(50 / 30);
      margin-bottom: 30px; }
    body.workstyle section.program .primary .text {
      line-height: calc(30 / 16); }
  body.workstyle section.program .secondary img {
    display: block;
    display: block;
    width: 100%;
    height: auto; }
body.workstyle section.atmosphere {
  padding: 60px 0; }
  body.workstyle section.atmosphere .primary {
    margin-bottom: 50px; }
    @media screen and (min-width: 1024px) {
      body.workstyle section.atmosphere .primary {
        margin-bottom: 0px; } }
    body.workstyle section.atmosphere .primary img {
      display: block;
      display: block;
      width: 100%;
      height: auto; }
  body.workstyle section.atmosphere .secondary .head01 {
    color: #be2537;
    font-size: 2.4rem;
    line-height: calc(30 / 24);
    text-align: left;
    margin-bottom: 40px;
    font-weight: bold; }
  body.workstyle section.atmosphere .secondary .head02 {
    text-align: left;
    font-size: 3rem;
    line-height: calc(50 / 30);
    margin-bottom: 30px; }
  body.workstyle section.atmosphere .secondary .text {
    line-height: calc(30 / 16); }
body.workstyle section.environment {
  background-color: #fef0f1;
  padding: 60px 0; }
  body.workstyle section.environment .primary,
  body.workstyle section.environment .secondary {
    margin-bottom: 50px; }
    @media screen and (min-width: 1024px) {
      body.workstyle section.environment .primary,
      body.workstyle section.environment .secondary {
        margin-bottom: 0px; } }
    body.workstyle section.environment .primary .head01,
    body.workstyle section.environment .secondary .head01 {
      color: #be2537;
      font-size: 2.4rem;
      line-height: calc(30 / 24);
      text-align: left;
      margin-bottom: 40px;
      font-weight: bold; }
    body.workstyle section.environment .primary .head02,
    body.workstyle section.environment .secondary .head02 {
      text-align: left;
      font-size: 3rem;
      line-height: calc(50 / 30);
      margin-bottom: 30px; }
    body.workstyle section.environment .primary .text,
    body.workstyle section.environment .secondary .text {
      line-height: calc(30 / 16); }
    body.workstyle section.environment .primary img,
    body.workstyle section.environment .secondary img {
      display: block;
      display: block;
      width: 100%;
      height: auto; }
  body.workstyle section.environment .inner:first-child {
    margin-bottom: 30px; }
body.workstyle section.career {
  padding: 60px 0 100px; }
  body.workstyle section.career .primary {
    margin-bottom: 50px; }
    @media screen and (min-width: 1024px) {
      body.workstyle section.career .primary {
        margin-bottom: 0px; } }
    body.workstyle section.career .primary img {
      display: block;
      display: block;
      width: 100%;
      height: auto; }
  body.workstyle section.career .secondary .head01 {
    color: #be2537;
    font-size: 2.4rem;
    line-height: calc(30 / 24);
    text-align: left;
    margin-bottom: 40px;
    font-weight: bold; }
  body.workstyle section.career .secondary .head02 {
    text-align: left;
    font-size: 3rem;
    line-height: calc(50 / 30);
    margin-bottom: 30px; }
  body.workstyle section.career .secondary .text {
    line-height: calc(30 / 16); }

body.data .breadcrumb {
  margin-top: 75px; }
  @media screen and (min-width: 1024px) {
    body.data .breadcrumb {
      margin-top: 100px; } }
body.data section.title .row .primary {
  font-size: 3rem;
  color: #be2537;
  min-height: 120px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (min-width: 768px) {
    body.data section.title .row .primary {
      width: calc(100% - 70%);
      min-height: 280px; } }
body.data section.title .row .secondary {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  min-height: 150px; }
  @media screen and (min-width: 768px) {
    body.data section.title .row .secondary {
      min-height: 280px;
      width: 70%;
      max-width: 660px; } }
body.data section.title .secondary {
  background-image: url(assets/img/data01.jpg); }
body.data section.copy {
  text-align: center;
  padding-top: 50px;
  padding-bottom: 50px;
  line-height: calc(30 / 16); }
body.data section.data {
  padding-bottom: 100px; }
  body.data section.data .row {
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    /*--- IE10用 ---*/
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/ }
    body.data section.data .row .box {
      border: 1px solid #ccc;
      padding: 5% 30px 0;
      margin-bottom: 40px;
      position: relative; }
      body.data section.data .row .box.sp {
        display: block; }
        @media screen and (min-width: 768px) {
          body.data section.data .row .box.sp {
            display: none; } }
      body.data section.data .row .box.pc {
        display: none; }
        @media screen and (min-width: 768px) {
          body.data section.data .row .box.pc {
            display: block; } }
      @media screen and (min-width: 768px) {
        body.data section.data .row .box {
          padding: 0 30px; } }
      body.data section.data .row .box.third {
        width: 100%; }
      body.data section.data .row .box.lines {
        padding-top: 30px; }
        body.data section.data .row .box.lines .head {
          position: relative;
          top: 0;
          left: 0; }
        body.data section.data .row .box.lines img {
          margin-top: -30px; }
      body.data section.data .row .box.data13, body.data section.data .row .box.data16 {
        padding: 0;
        border: none; }
      body.data section.data .row .box .head {
        position: absolute;
        top: 30px;
        left: 30px;
        font-size: 2.4rem;
        line-height: calc(30 / 24);
        padding-right: 20px; }
      body.data section.data .row .box img {
        display: block;
        width: 100%;
        height: auto; }
        body.data section.data .row .box img.sp {
          display: block; }
          @media screen and (min-width: 768px) {
            body.data section.data .row .box img.sp {
              display: none; } }
        body.data section.data .row .box img.pc {
          display: none; }
          @media screen and (min-width: 768px) {
            body.data section.data .row .box img.pc {
              display: block; } }

body.voice_full .breadcrumb,
body.voice_part .breadcrumb {
  margin-top: 75px; }
  @media screen and (min-width: 1024px) {
    body.voice_full .breadcrumb,
    body.voice_part .breadcrumb {
      margin-top: 100px; } }
body.voice_full section.page_navi .inner .links,
body.voice_part section.page_navi .inner .links {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  /*--- IE10用 ---*/
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  padding-top: 50px;
  text-align: center; }
  @media screen and (min-width: 768px) {
    body.voice_full section.page_navi .inner .links,
    body.voice_part section.page_navi .inner .links {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; } }
  body.voice_full section.page_navi .inner .links .link,
  body.voice_part section.page_navi .inner .links .link {
    width: auto;
    margin-bottom: 50px;
    border-left: 1px solid #ccc;
    text-align: left;
    padding: 0 40px;
    font-size: 1.6rem;
    line-height: calc(30 / 16); }
    @media screen and (min-width: 768px) {
      body.voice_full section.page_navi .inner .links .link,
      body.voice_part section.page_navi .inner .links .link {
        padding: 0;
        width: 100%;
        text-align: center; } }
    body.voice_full section.page_navi .inner .links .link:last-child,
    body.voice_part section.page_navi .inner .links .link:last-child {
      border-right: 1px solid #ccc; }
    body.voice_full section.page_navi .inner .links .link a,
    body.voice_part section.page_navi .inner .links .link a {
      width: 100%;
      color: #333;
      position: relative; }
      body.voice_full section.page_navi .inner .links .link a:before,
      body.voice_part section.page_navi .inner .links .link a:before {
        display: block;
        content: "";
        width: 0;
        height: 0;
        border: 4px solid transparent;
        border-top: 4px solid #f00;
        position: absolute;
        top: calc(50% - 2px);
        left: -15px; }
body.voice_full section.voice,
body.voice_part section.voice {
  padding-bottom: 40px;
  border-bottom: 1px solid #ccc;
  margin-bottom: 60px;
  margin-right: auto;
  margin-left: auto;
  width: calc(100% - 40px);
  padding-left: 0;
  padding-right: 0; }
  body.voice_full section.voice .row,
  body.voice_part section.voice .row {
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    /*--- IE10用 ---*/
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/ }
    body.voice_full section.voice .row.primary,
    body.voice_part section.voice .row.primary {
      margin-bottom: 50px; }
    body.voice_full section.voice .row.secondary,
    body.voice_part section.voice .row.secondary {
      margin-bottom: 20px; }
      body.voice_full section.voice .row.secondary .primary .head,
      body.voice_part section.voice .row.secondary .primary .head {
        font-size: 1.8rem;
        line-height: calc(30 / 18);
        padding-left: 10px;
        border-left: 4px solid #e70012;
        margin-bottom: 20px;
        padding-top: 2px;
        padding-bottom: 2px; }
      body.voice_full section.voice .row.secondary .primary .text,
      body.voice_part section.voice .row.secondary .primary .text {
        line-height: calc(30 / 16);
        margin-bottom: 40px; }
      body.voice_full section.voice .row.secondary .secondary,
      body.voice_part section.voice .row.secondary .secondary {
        margin-bottom: 40px; }
    body.voice_full section.voice .row.withphoto .photo,
    body.voice_part section.voice .row.withphoto .photo {
      width: 100%; }
      @media screen and (min-width: 768px) {
        body.voice_full section.voice .row.withphoto .photo,
        body.voice_part section.voice .row.withphoto .photo {
          width: 64%;
          max-width: 640px; } }
      body.voice_full section.voice .row.withphoto .photo img,
      body.voice_part section.voice .row.withphoto .photo img {
        display: block;
        width: 100%;
        height: auto; }
    body.voice_full section.voice .row.withphoto .box,
    body.voice_part section.voice .row.withphoto .box {
      width: 100%;
      background-color: #be2537;
      padding: 50px 40px;
      margin-bottom: auto; }
      @media screen and (min-width: 768px) {
        body.voice_full section.voice .row.withphoto .box,
        body.voice_part section.voice .row.withphoto .box {
          width: 40%;
          max-width: 400px;
          margin-left: auto;
          margin-top: -300px; } }
      @media screen and (min-width: 1024px) {
        body.voice_full section.voice .row.withphoto .box,
        body.voice_part section.voice .row.withphoto .box {
          margin-top: -385px; } }
      body.voice_full section.voice .row.withphoto .box .head,
      body.voice_part section.voice .row.withphoto .box .head {
        font-size: 2.4rem;
        line-height: calc(36 / 24);
        color: #fff;
        margin-bottom: 30px;
        font-weight: bold;
        padding: 0;
        border-left: none; }
      body.voice_full section.voice .row.withphoto .box .text,
      body.voice_part section.voice .row.withphoto .box .text {
        color: #fff;
        line-height: calc(30 / 16);
        margin-bottom: 0; }
    body.voice_full section.voice .row > .primary.box,
    body.voice_part section.voice .row > .primary.box {
      background-color: #fef0f1;
      margin-bottom: 40px;
      padding: 40px; }
      @media screen and (min-width: 768px) {
        body.voice_full section.voice .row > .primary.box,
        body.voice_part section.voice .row > .primary.box {
          margin-bottom: auto; } }
      body.voice_full section.voice .row > .primary.box .head,
      body.voice_part section.voice .row > .primary.box .head {
        font-size: 2.4rem;
        line-height: calc(36 / 24);
        margin-bottom: 20px;
        font-weight: bold; }
      body.voice_full section.voice .row > .primary.box .text,
      body.voice_part section.voice .row > .primary.box .text {
        line-height: calc(30 / 16); }
    body.voice_full section.voice .row > .secondary img,
    body.voice_part section.voice .row > .secondary img {
      display: block;
      width: 100%;
      height: auto; }
    body.voice_full section.voice .row > .secondary .head,
    body.voice_part section.voice .row > .secondary .head {
      font-size: 1.8rem;
      line-height: calc(30 / 18);
      padding-left: 10px;
      border-left: 4px solid #e70012;
      margin-bottom: 20px;
      padding-top: 2px;
      padding-bottom: 2px; }
    body.voice_full section.voice .row > .secondary .text,
    body.voice_part section.voice .row > .secondary .text {
      margin-bottom: 40px;
      line-height: calc(30 / 16); }
  body.voice_full section.voice .schedule,
  body.voice_part section.voice .schedule {
    max-width: 720px;
    margin: 0 auto 40px;
    border: 1px solid #ccc;
    padding: 30px 20px; }
    @media screen and (min-width: 768px) {
      body.voice_full section.voice .schedule,
      body.voice_part section.voice .schedule {
        padding: 30px 40px; } }
    body.voice_full section.voice .schedule > .head,
    body.voice_part section.voice .schedule > .head {
      font-size: 2.4rem;
      line-height: calc(34 / 24);
      color: #be2537;
      margin-bottom: 30px; }
    body.voice_full section.voice .schedule .todo,
    body.voice_part section.voice .schedule .todo {
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      /*--- IE10用 ---*/
      -webkit-flex-wrap: wrap;
      /*--- safari（PC）用 ---*/ }
      body.voice_full section.voice .schedule .todo .time,
      body.voice_part section.voice .schedule .todo .time {
        position: relative;
        padding-top: 25px;
        width: 100%;
        max-width: 100px;
        font-size: 1.8rem;
        line-height: calc(30 / 18);
        text-align: right;
        padding-right: 30px; }
        body.voice_full section.voice .schedule .todo .time:after,
        body.voice_part section.voice .schedule .todo .time:after {
          position: absolute;
          display: block;
          content: '';
          width: 10px;
          height: 10px;
          border: 5px solid #be2537;
          border-radius: 50%;
          background-color: #fff;
          right: -11px;
          top: 30px; }
      body.voice_full section.voice .schedule .todo .detail,
      body.voice_part section.voice .schedule .todo .detail {
        width: calc(100% - 100px);
        padding-top: 25px;
        padding-left: 30px;
        border-left: 1px solid #333;
        font-size: 1.6rem;
        line-height: calc(30 / 16); }
        @media screen and (min-width: 768px) {
          body.voice_full section.voice .schedule .todo .detail,
          body.voice_part section.voice .schedule .todo .detail {
            padding-left: 55px; } }
  body.voice_full section.voice .message,
  body.voice_part section.voice .message {
    max-width: 720px;
    margin: 0 auto 40px;
    border: 2px solid #be2537;
    padding: 20px 20px 50px; }
    body.voice_full section.voice .message .head,
    body.voice_part section.voice .message .head {
      font-size: 2rem;
      line-height: calc(34 / 24);
      color: #be2537;
      margin-bottom: 20px; }
    body.voice_full section.voice .message .text,
    body.voice_part section.voice .message .text {
      line-height: calc(30 / 16); }
body.voice_full section .btn,
body.voice_part section .btn {
  text-align: center;
  max-width: 400px;
  margin: 0 auto;
  display: block;
  background-color: #be2537;
  line-height: 2.4rem;
  color: #fff;
  padding: 18px 0;
  text-decoration: none;
  font-size: 1.8rem;
  margin-bottom: 100px; }

body.voice_full section.title .row .primary {
  font-size: 3rem;
  color: #be2537;
  min-height: 120px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (min-width: 768px) {
    body.voice_full section.title .row .primary {
      width: calc(100% - 70%);
      min-height: 280px; } }
body.voice_full section.title .row .secondary {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  min-height: 150px; }
  @media screen and (min-width: 768px) {
    body.voice_full section.title .row .secondary {
      min-height: 280px;
      width: 70%;
      max-width: 660px; } }
body.voice_full section.title .secondary {
  background-image: url(assets/img/voice_full01.jpg); }

body.voice_part section.title .row .primary {
  font-size: 3rem;
  color: #be2537;
  min-height: 120px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (min-width: 768px) {
    body.voice_part section.title .row .primary {
      width: calc(100% - 70%);
      min-height: 280px; } }
body.voice_part section.title .row .secondary {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  min-height: 150px; }
  @media screen and (min-width: 768px) {
    body.voice_part section.title .row .secondary {
      min-height: 280px;
      width: 70%;
      max-width: 660px; } }
body.voice_part section.title .secondary {
  background-image: url(assets/img/voice_part01.jpg); }

body.faq .breadcrumb {
  margin-top: 75px; }
  @media screen and (min-width: 1024px) {
    body.faq .breadcrumb {
      margin-top: 100px; } }
body.faq section.title .row .primary {
  font-size: 3rem;
  color: #be2537;
  min-height: 120px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (min-width: 768px) {
    body.faq section.title .row .primary {
      width: calc(100% - 70%);
      min-height: 280px; } }
body.faq section.title .row .secondary {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  min-height: 150px; }
  @media screen and (min-width: 768px) {
    body.faq section.title .row .secondary {
      min-height: 280px;
      width: 70%;
      max-width: 660px; } }
body.faq section.title .secondary {
  background-image: url(assets/img/faq.jpg); }
body.faq section.page_navi .inner .links {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  /*--- IE10用 ---*/
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  padding-top: 50px;
  text-align: center; }
  @media screen and (min-width: 768px) {
    body.faq section.page_navi .inner .links {
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; } }
  body.faq section.page_navi .inner .links .link {
    width: auto;
    margin-bottom: 50px;
    border-left: 1px solid #ccc;
    text-align: left;
    padding: 0 40px;
    font-size: 1.6rem;
    line-height: calc(30 / 16); }
    @media screen and (min-width: 768px) {
      body.faq section.page_navi .inner .links .link {
        padding: 0;
        width: 100%;
        text-align: center; } }
    body.faq section.page_navi .inner .links .link:last-child {
      border-right: 1px solid #ccc; }
    body.faq section.page_navi .inner .links .link a {
      width: 100%;
      color: #333;
      position: relative; }
      body.faq section.page_navi .inner .links .link a:before {
        display: block;
        content: "";
        width: 0;
        height: 0;
        border: 4px solid transparent;
        border-top: 4px solid #f00;
        position: absolute;
        top: calc(50% - 2px);
        left: -15px; }
body.faq section.faq {
  padding-top: 40px;
  margin-top: -40px;
  padding-bottom: 40px; }
  body.faq section.faq .head {
    font-size: 2rem;
    line-height: calc(3 / 2);
    padding-bottom: 5px;
    border-bottom: 2px solid #333;
    margin-bottom: 40px; }
  body.faq section.faq dl dt {
    border: 1px solid #ccc;
    padding: 25px;
    position: relative;
    padding-left: 80px;
    background-color: #f7f7f7; }
    body.faq section.faq dl dt:before {
      position: absolute;
      top: calc(50% - 20px);
      left: 20px;
      display: block;
      width: 40px;
      height: 40px;
      background-color: #555555;
      content: "Q";
      border-radius: 50%;
      text-align: center;
      vertical-align: middle;
      color: #fff;
      line-height: 40px; }
  body.faq section.faq dl dd {
    padding: 25px;
    position: relative;
    padding-left: 80px;
    margin-bottom: 50px;
    line-height: calc(30 / 16); }
    body.faq section.faq dl dd:before {
      position: absolute;
      top: 20px;
      left: 20px;
      display: block;
      width: 40px;
      height: 40px;
      background-color: #be2537;
      content: "A";
      border-radius: 50%;
      text-align: center;
      vertical-align: middle;
      color: #fff;
      line-height: 40px; }

body.entry .breadcrumb,
body.recruit-conf .breadcrumb,
body.recruit-thx .breadcrumb {
  margin-top: 75px; }
  @media screen and (min-width: 1024px) {
    body.entry .breadcrumb,
    body.recruit-conf .breadcrumb,
    body.recruit-thx .breadcrumb {
      margin-top: 100px; } }
body.entry .main,
body.recruit-conf .main,
body.recruit-thx .main {
  padding-top: 50px; }
  body.entry .main .head01,
  body.recruit-conf .main .head01,
  body.recruit-thx .main .head01 {
    text-align: center;
    font-size: 3rem;
    color: #e70012;
    line-height: calc(32 / 30);
    margin-bottom: 60px; }
  body.entry .main .states,
  body.recruit-conf .main .states,
  body.recruit-thx .main .states {
    max-width: calc(190px * 3);
    width: 100%;
    margin: 0 auto;
    margin-bottom: 50px; }
    body.entry .main .states .points,
    body.recruit-conf .main .states .points,
    body.recruit-thx .main .states .points {
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-justify-content: space-between;
      /* Safari */
      justify-content: space-between;
      width: 100%; }
      body.entry .main .states .points .point,
      body.recruit-conf .main .states .points .point,
      body.recruit-thx .main .states .points .point {
        position: relative;
        width: calc(100% / 3);
        text-align: center;
        padding-top: 24px;
        color: #ccc;
        font-weight: bold; }
        body.entry .main .states .points .point:before,
        body.recruit-conf .main .states .points .point:before,
        body.recruit-thx .main .states .points .point:before {
          position: absolute;
          display: block;
          width: 14px;
          height: 14px;
          content: '';
          left: calc(50% - 7px);
          top: 0;
          background-color: #ccc;
          border-radius: 50%;
          z-index: 2; }
        body.entry .main .states .points .point:after,
        body.recruit-conf .main .states .points .point:after,
        body.recruit-thx .main .states .points .point:after {
          position: absolute;
          display: block;
          width: 100%;
          height: 2px;
          content: '';
          left: 50%;
          top: 6px;
          background-color: #ccc;
          z-index: 1; }
        body.entry .main .states .points .point:last-child:after,
        body.recruit-conf .main .states .points .point:last-child:after,
        body.recruit-thx .main .states .points .point:last-child:after {
          display: none; }
        body.entry .main .states .points .point.current,
        body.recruit-conf .main .states .points .point.current,
        body.recruit-thx .main .states .points .point.current {
          color: #333; }
          body.entry .main .states .points .point.current:before,
          body.recruit-conf .main .states .points .point.current:before,
          body.recruit-thx .main .states .points .point.current:before {
            background-color: #e70012; }
  body.entry .main .form,
  body.recruit-conf .main .form,
  body.recruit-thx .main .form {
    max-width: 640px;
    width: 100%;
    margin: 0 auto; }
    body.entry .main .form .recired:after,
    body.recruit-conf .main .form .recired:after,
    body.recruit-thx .main .form .recired:after {
      content: '必須';
      color: red;
      font-size: 1.4rem;
      margin-right: 5px;
      border: 2px solid #e70012;
      padding: 0 4px;
      margin-left: 5px; }
    body.entry .main .form dl,
    body.recruit-conf .main .form dl,
    body.recruit-thx .main .form dl {
      margin-bottom: 60px; }
      body.entry .main .form dl dt,
      body.recruit-conf .main .form dl dt,
      body.recruit-thx .main .form dl dt {
        font-weight: bold;
        margin-bottom: 20px; }
        body.entry .main .form dl dt.recired:before,
        body.recruit-conf .main .form dl dt.recired:before,
        body.recruit-thx .main .form dl dt.recired:before {
          font-weight: normal; }
      body.entry .main .form dl dd,
      body.recruit-conf .main .form dl dd,
      body.recruit-thx .main .form dl dd {
        margin-bottom: 40px;
        line-height: 2; }
        body.entry .main .form dl dd.position,
        body.recruit-conf .main .form dl dd.position,
        body.recruit-thx .main .form dl dd.position {
          border: 1px solid #ccc;
          border-radius: 5px;
          padding: 20px;
          line-height: 2.4rem; }
        body.entry .main .form dl dd.gender input,
        body.recruit-conf .main .form dl dd.gender input,
        body.recruit-thx .main .form dl dd.gender input {
          width: initial; }
        body.entry .main .form dl dd.birth_wrap,
        body.recruit-conf .main .form dl dd.birth_wrap,
        body.recruit-thx .main .form dl dd.birth_wrap {
          display: flex;
          display: -webkit-flex;
          display: -ms-flexbox;
          flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          /*--- IE10用 ---*/
          -webkit-flex-wrap: wrap;
          /*--- safari（PC）用 ---*/
          max-width: 620px;
          line-height: 57px; }
          body.entry .main .form dl dd.birth_wrap .selecter_wrap,
          body.recruit-conf .main .form dl dd.birth_wrap .selecter_wrap,
          body.recruit-thx .main .form dl dd.birth_wrap .selecter_wrap {
            display: flex;
            display: -webkit-flex;
            display: -ms-flexbox;
            max-width: calc(100% / 3);
            width: 100%; }
            body.entry .main .form dl dd.birth_wrap .selecter_wrap .box,
            body.recruit-conf .main .form dl dd.birth_wrap .selecter_wrap .box,
            body.recruit-thx .main .form dl dd.birth_wrap .selecter_wrap .box {
              padding-right: 5px;
              width: calc(100% - 20px);
              height: 57px;
              border: 1px solid #ccc;
              margin-right: 10px;
              margin-left: 10px; }
              body.entry .main .form dl dd.birth_wrap .selecter_wrap .box.birth_year,
              body.recruit-conf .main .form dl dd.birth_wrap .selecter_wrap .box.birth_year,
              body.recruit-thx .main .form dl dd.birth_wrap .selecter_wrap .box.birth_year {
                margin-left: 0px; }
        body.entry .main .form dl dd.privacy,
        body.recruit-conf .main .form dl dd.privacy,
        body.recruit-thx .main .form dl dd.privacy {
          max-height: 350px;
          overflow-y: scroll;
          border: 1px solid #ccc;
          padding: 30px 20px 0;
          background-color: #f7f7f7; }
          body.entry .main .form dl dd.privacy .head02,
          body.recruit-conf .main .form dl dd.privacy .head02,
          body.recruit-thx .main .form dl dd.privacy .head02 {
            margin-bottom: 30px; }
    body.entry .main .form input,
    body.recruit-conf .main .form input,
    body.recruit-thx .main .form input {
      width: 100%;
      font-size: 1.4rem;
      padding: 20px 20px;
      border: 1px solid #ccc;
      background-color: #f7f7f7;
      border-radius: 4px; }
      body.entry .main .form input.primary,
      body.recruit-conf .main .form input.primary,
      body.recruit-thx .main .form input.primary {
        width: 48%; }
      body.entry .main .form input.secondary,
      body.recruit-conf .main .form input.secondary,
      body.recruit-thx .main .form input.secondary {
        width: 48%; }
      body.entry .main .form input.code,
      body.recruit-conf .main .form input.code,
      body.recruit-thx .main .form input.code {
        width: 119px;
        margin-bottom: 14px;
        margin-right: 15px; }
      body.entry .main .form input::-webkit-input-placeholder,
      body.recruit-conf .main .form input::-webkit-input-placeholder,
      body.recruit-thx .main .form input::-webkit-input-placeholder {
        color: #BBB; }
    body.entry .main .form textarea,
    body.recruit-conf .main .form textarea,
    body.recruit-thx .main .form textarea {
      width: 100%;
      height: 7em;
      padding: 10px;
      margin-bottom: 0;
      border: 1px solid #ccc;
      border-radius: 4px;
      min-height: 170px; }
    body.entry .main .form .error,
    body.recruit-conf .main .form .error,
    body.recruit-thx .main .form .error {
      margin-top: 5px; }
    body.entry .main .form input[type="submit"],
    body.entry .main .form input[type="button"],
    body.recruit-conf .main .form input[type="submit"],
    body.recruit-conf .main .form input[type="button"],
    body.recruit-thx .main .form input[type="submit"],
    body.recruit-thx .main .form input[type="button"] {
      border-radius: 0;
      -webkit-box-sizing: content-box;
      -webkit-appearance: button;
      appearance: button;
      box-sizing: border-box; }
      body.entry .main .form input[type="submit"]::-webkit-search-decoration,
      body.entry .main .form input[type="button"]::-webkit-search-decoration,
      body.recruit-conf .main .form input[type="submit"]::-webkit-search-decoration,
      body.recruit-conf .main .form input[type="button"]::-webkit-search-decoration,
      body.recruit-thx .main .form input[type="submit"]::-webkit-search-decoration,
      body.recruit-thx .main .form input[type="button"]::-webkit-search-decoration {
        display: none; }
      body.entry .main .form input[type="submit"]::focus,
      body.entry .main .form input[type="button"]::focus,
      body.recruit-conf .main .form input[type="submit"]::focus,
      body.recruit-conf .main .form input[type="button"]::focus,
      body.recruit-thx .main .form input[type="submit"]::focus,
      body.recruit-thx .main .form input[type="button"]::focus {
        outline-offset: -2px; }
    body.entry .main .form .submit_wrap,
    body.recruit-conf .main .form .submit_wrap,
    body.recruit-thx .main .form .submit_wrap {
      margin-bottom: 130px;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox; }
      body.entry .main .form .submit_wrap .submit,
      body.recruit-conf .main .form .submit_wrap .submit,
      body.recruit-thx .main .form .submit_wrap .submit {
        background-color: #e70012;
        padding: 25px 0;
        color: #fff;
        max-width: 320px;
        width: 100%;
        margin: 0 auto;
        font-size: 1.8rem; }
      body.entry .main .form .submit_wrap .back,
      body.recruit-conf .main .form .submit_wrap .back,
      body.recruit-thx .main .form .submit_wrap .back {
        margin: 0 20px 0 0;
        background-color: #555555;
        color: #fff; }

body.recruit-conf .main {
  padding-top: 50px; }
  body.recruit-conf .main .form dl dt:after {
    display: none;
    content: ''; }
  body.recruit-conf .main .form dl dd.position {
    border: none;
    padding: 0; }
  body.recruit-conf .main .form dl dd.birth_wrap .selecter_wrap {
    width: auto; }

body.recruit-thx .entry_content .title {
  font-size: 2.8rem;
  line-height: calc(30 / 22);
  letter-spacing: 0.1rem;
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #ccc; }
body.recruit-thx .entry_content h2 {
  font-size: 2.0rem;
  line-height: calc(30 / 20);
  color: #e70012;
  margin-bottom: 35px; }
body.recruit-thx .entry_content h3 {
  font-size: 2.0rem;
  line-height: calc(30 / 20);
  padding-bottom: 5px;
  border-bottom: 2px solid #333;
  margin-bottom: 30px; }
body.recruit-thx .entry_content h4 {
  font-size: 1.8rem;
  line-height: calc(30 / 18);
  padding-left: 10px;
  border-left: 4px solid #e70012;
  margin-bottom: 30px;
  padding-top: 2px;
  padding-bottom: 2px; }
body.recruit-thx .entry_content h5 {
  padding: 2px 12px;
  font-size: 16px;
  line-height: calc(30 / 16);
  background-color: #333333;
  color: #fff;
  margin-bottom: 30px; }
body.recruit-thx .entry_content h6 {
  font-size: 16px;
  line-height: calc(30 / 16);
  font-weight: bold;
  padding-bottom: 5px;
  border-bottom: 2px solid #333;
  margin-bottom: 30px; }
body.recruit-thx .entry_content p {
  font-size: 1.6rem;
  line-height: calc(30 / 16);
  margin-bottom: 40px; }
body.recruit-thx .entry_content a {
  text-decoration: none; }
  body.recruit-thx .entry_content a:hover {
    text-decoration: underline; }
body.recruit-thx .entry_content ul {
  list-style-type: none;
  margin-bottom: 60px; }
  body.recruit-thx .entry_content ul li {
    font-size: 16px;
    padding-left: 20px;
    line-height: 3rem;
    position: relative; }
    body.recruit-thx .entry_content ul li:before {
      position: absolute;
      top: 10px;
      left: -2px;
      display: block;
      content: '';
      width: 12px;
      height: 12px;
      background-color: #e70012;
      border-radius: 50%; }
    body.recruit-thx .entry_content ul li ul {
      margin-bottom: 0;
      padding-left: 20px; }
      body.recruit-thx .entry_content ul li ul li {
        margin-bottom: 0; }
body.recruit-thx .entry_content ol {
  margin-bottom: 60px;
  padding-left: 1.6rem; }
  body.recruit-thx .entry_content ol li {
    font-size: 16px;
    line-height: 3rem;
    position: relative;
    margin-bottom: 20px; }
    body.recruit-thx .entry_content ol li ol {
      padding-left: 15px;
      margin-bottom: 0;
      padding-left: 20px; }
      body.recruit-thx .entry_content ol li ol li {
        margin-bottom: 0; }
body.recruit-thx .entry_content img {
  max-width: 100%;
  height: auto; }
body.recruit-thx .entry_content strong {
  font-weight: bold; }
body.recruit-thx .entry_content table {
  width: 100%;
  border-bottom: 1px solid #ccc;
  border-right: 1px solid #ccc;
  margin-bottom: 60px; }
  body.recruit-thx .entry_content table thead tr {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between; }
    body.recruit-thx .entry_content table thead tr th {
      width: 100%;
      min-width: 30%;
      padding: 15px 0;
      border-left: 1px solid #ccc;
      border-top: 1px solid #ccc;
      background-color: #333;
      font-weight: normal;
      display: table-cell;
      text-align: center;
      vertical-align: middle;
      line-height: 2rem;
      color: #fff; }
  body.recruit-thx .entry_content table tbody tr {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox; }
    body.recruit-thx .entry_content table tbody tr th {
      min-width: 30%;
      width: 100%;
      padding: 15px;
      border-left: 1px solid #ccc;
      border-top: 1px solid #ccc;
      background-color: #eee;
      font-weight: normal;
      text-align: left;
      line-height: 2rem; }
    body.recruit-thx .entry_content table tbody tr td {
      width: 100%;
      padding: 15px;
      border-left: 1px solid #ccc;
      border-top: 1px solid #ccc;
      line-height: 2rem;
      background-color: #fff; }
body.recruit-thx .entry_content .head02 {
  margin-bottom: 50px; }
body.recruit-thx .entry_content .phone_box {
  width: 100%;
  border: 1px solid #ccc;
  padding: 30px 20px;
  margin: 0 auto;
  margin-bottom: 60px; }
  body.recruit-thx .entry_content .phone_box .head {
    width: 100%;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.6666666667;
    margin-bottom: 20px; }
  body.recruit-thx .entry_content .phone_box .phone {
    width: 100%;
    display: block;
    text-align: center;
    font-size: 3.0rem;
    line-height: 0.9333333333;
    margin-bottom: 20px; }
    body.recruit-thx .entry_content .phone_box .phone i {
      font-size: 2.4rem; }
  body.recruit-thx .entry_content .phone_box .time {
    display: block;
    width: 100%;
    text-align: center; }
body.recruit-thx p.link {
  text-align: center;
  text-decoration: underline;
  margin-bottom: 140px; }

body.post-type-archive-requirements .breadcrumb,
body.tax-requirements_category .breadcrumb,
body.single-requirements .breadcrumb {
  margin-top: 75px; }
  @media screen and (min-width: 1024px) {
    body.post-type-archive-requirements .breadcrumb,
    body.tax-requirements_category .breadcrumb,
    body.single-requirements .breadcrumb {
      margin-top: 100px; } }
body.post-type-archive-requirements .contents_wrap,
body.tax-requirements_category .contents_wrap,
body.single-requirements .contents_wrap {
  padding-top: 50px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  /*--- IE10用 ---*/
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  -webkit-justify-content: space-between;
  /* Safari */
  justify-content: space-between; }
  body.post-type-archive-requirements .contents_wrap section.title,
  body.tax-requirements_category .contents_wrap section.title,
  body.single-requirements .contents_wrap section.title {
    width: 100%; }
    body.post-type-archive-requirements .contents_wrap section.title .row .primary,
    body.tax-requirements_category .contents_wrap section.title .row .primary,
    body.single-requirements .contents_wrap section.title .row .primary {
      font-size: 3rem;
      color: #be2537;
      min-height: 120px;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      @media screen and (min-width: 768px) {
        body.post-type-archive-requirements .contents_wrap section.title .row .primary,
        body.tax-requirements_category .contents_wrap section.title .row .primary,
        body.single-requirements .contents_wrap section.title .row .primary {
          width: calc(100% - 70%);
          min-height: 280px; } }
    body.post-type-archive-requirements .contents_wrap section.title .row .secondary,
    body.tax-requirements_category .contents_wrap section.title .row .secondary,
    body.single-requirements .contents_wrap section.title .row .secondary {
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center;
      min-height: 150px; }
      @media screen and (min-width: 768px) {
        body.post-type-archive-requirements .contents_wrap section.title .row .secondary,
        body.tax-requirements_category .contents_wrap section.title .row .secondary,
        body.single-requirements .contents_wrap section.title .row .secondary {
          min-height: 280px;
          width: 70%;
          max-width: 660px; } }
    body.post-type-archive-requirements .contents_wrap section.title .row .primary,
    body.tax-requirements_category .contents_wrap section.title .row .primary,
    body.single-requirements .contents_wrap section.title .row .primary {
      width: 100%;
      min-height: 0px;
      margin-bottom: 50px; }
  body.post-type-archive-requirements .contents_wrap section.page_navi .inner .links,
  body.tax-requirements_category .contents_wrap section.page_navi .inner .links,
  body.single-requirements .contents_wrap section.page_navi .inner .links {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    /*--- IE10用 ---*/
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    padding-top: 50px;
    text-align: center; }
    @media screen and (min-width: 768px) {
      body.post-type-archive-requirements .contents_wrap section.page_navi .inner .links,
      body.tax-requirements_category .contents_wrap section.page_navi .inner .links,
      body.single-requirements .contents_wrap section.page_navi .inner .links {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; } }
    body.post-type-archive-requirements .contents_wrap section.page_navi .inner .links .link,
    body.tax-requirements_category .contents_wrap section.page_navi .inner .links .link,
    body.single-requirements .contents_wrap section.page_navi .inner .links .link {
      width: auto;
      margin-bottom: 50px;
      border-left: 1px solid #ccc;
      text-align: left;
      padding: 0 40px;
      font-size: 1.6rem;
      line-height: calc(30 / 16); }
      @media screen and (min-width: 768px) {
        body.post-type-archive-requirements .contents_wrap section.page_navi .inner .links .link,
        body.tax-requirements_category .contents_wrap section.page_navi .inner .links .link,
        body.single-requirements .contents_wrap section.page_navi .inner .links .link {
          padding: 0;
          width: 100%;
          text-align: center; } }
      body.post-type-archive-requirements .contents_wrap section.page_navi .inner .links .link:last-child,
      body.tax-requirements_category .contents_wrap section.page_navi .inner .links .link:last-child,
      body.single-requirements .contents_wrap section.page_navi .inner .links .link:last-child {
        border-right: 1px solid #ccc; }
      body.post-type-archive-requirements .contents_wrap section.page_navi .inner .links .link a,
      body.tax-requirements_category .contents_wrap section.page_navi .inner .links .link a,
      body.single-requirements .contents_wrap section.page_navi .inner .links .link a {
        width: 100%;
        color: #333;
        position: relative; }
        body.post-type-archive-requirements .contents_wrap section.page_navi .inner .links .link a:before,
        body.tax-requirements_category .contents_wrap section.page_navi .inner .links .link a:before,
        body.single-requirements .contents_wrap section.page_navi .inner .links .link a:before {
          display: block;
          content: "";
          width: 0;
          height: 0;
          border: 4px solid transparent;
          border-top: 4px solid #f00;
          position: absolute;
          top: calc(50% - 2px);
          left: -15px; }
  body.post-type-archive-requirements .contents_wrap section.posts, body.post-type-archive-requirements .contents_wrap section.post, body.post-type-archive-requirements .contents_wrap section.related,
  body.tax-requirements_category .contents_wrap section.posts,
  body.tax-requirements_category .contents_wrap section.post,
  body.tax-requirements_category .contents_wrap section.related,
  body.single-requirements .contents_wrap section.posts,
  body.single-requirements .contents_wrap section.post,
  body.single-requirements .contents_wrap section.related {
    padding-bottom: 40px; }
    body.post-type-archive-requirements .contents_wrap section.posts > .head, body.post-type-archive-requirements .contents_wrap section.post > .head, body.post-type-archive-requirements .contents_wrap section.related > .head,
    body.tax-requirements_category .contents_wrap section.posts > .head,
    body.tax-requirements_category .contents_wrap section.post > .head,
    body.tax-requirements_category .contents_wrap section.related > .head,
    body.single-requirements .contents_wrap section.posts > .head,
    body.single-requirements .contents_wrap section.post > .head,
    body.single-requirements .contents_wrap section.related > .head {
      font-size: 2rem;
      line-height: calc(3 / 2);
      padding-bottom: 5px;
      border-bottom: 2px solid #333;
      margin-bottom: 30px; }
    body.post-type-archive-requirements .contents_wrap section.posts > .requirements, body.post-type-archive-requirements .contents_wrap section.post > .requirements, body.post-type-archive-requirements .contents_wrap section.related > .requirements,
    body.tax-requirements_category .contents_wrap section.posts > .requirements,
    body.tax-requirements_category .contents_wrap section.post > .requirements,
    body.tax-requirements_category .contents_wrap section.related > .requirements,
    body.single-requirements .contents_wrap section.posts > .requirements,
    body.single-requirements .contents_wrap section.post > .requirements,
    body.single-requirements .contents_wrap section.related > .requirements {
      border: 2px solid #ccc;
      padding: 30px;
      margin-bottom: 30px; }
      body.post-type-archive-requirements .contents_wrap section.posts > .requirements.row, body.post-type-archive-requirements .contents_wrap section.post > .requirements.row, body.post-type-archive-requirements .contents_wrap section.related > .requirements.row,
      body.tax-requirements_category .contents_wrap section.posts > .requirements.row,
      body.tax-requirements_category .contents_wrap section.post > .requirements.row,
      body.tax-requirements_category .contents_wrap section.related > .requirements.row,
      body.single-requirements .contents_wrap section.posts > .requirements.row,
      body.single-requirements .contents_wrap section.post > .requirements.row,
      body.single-requirements .contents_wrap section.related > .requirements.row {
        -webkit-justify-content: space-between;
        /* Safari */
        justify-content: space-between; }
      body.post-type-archive-requirements .contents_wrap section.posts > .requirements .primary, body.post-type-archive-requirements .contents_wrap section.post > .requirements .primary, body.post-type-archive-requirements .contents_wrap section.related > .requirements .primary,
      body.tax-requirements_category .contents_wrap section.posts > .requirements .primary,
      body.tax-requirements_category .contents_wrap section.post > .requirements .primary,
      body.tax-requirements_category .contents_wrap section.related > .requirements .primary,
      body.single-requirements .contents_wrap section.posts > .requirements .primary,
      body.single-requirements .contents_wrap section.post > .requirements .primary,
      body.single-requirements .contents_wrap section.related > .requirements .primary {
        width: 100%;
        margin-bottom: 30px; }
        @media screen and (min-width: 768px) {
          body.post-type-archive-requirements .contents_wrap section.posts > .requirements .primary, body.post-type-archive-requirements .contents_wrap section.post > .requirements .primary, body.post-type-archive-requirements .contents_wrap section.related > .requirements .primary,
          body.tax-requirements_category .contents_wrap section.posts > .requirements .primary,
          body.tax-requirements_category .contents_wrap section.post > .requirements .primary,
          body.tax-requirements_category .contents_wrap section.related > .requirements .primary,
          body.single-requirements .contents_wrap section.posts > .requirements .primary,
          body.single-requirements .contents_wrap section.post > .requirements .primary,
          body.single-requirements .contents_wrap section.related > .requirements .primary {
            width: calc(100% - 290px); } }
        body.post-type-archive-requirements .contents_wrap section.posts > .requirements .primary .brunch, body.post-type-archive-requirements .contents_wrap section.post > .requirements .primary .brunch, body.post-type-archive-requirements .contents_wrap section.related > .requirements .primary .brunch,
        body.tax-requirements_category .contents_wrap section.posts > .requirements .primary .brunch,
        body.tax-requirements_category .contents_wrap section.post > .requirements .primary .brunch,
        body.tax-requirements_category .contents_wrap section.related > .requirements .primary .brunch,
        body.single-requirements .contents_wrap section.posts > .requirements .primary .brunch,
        body.single-requirements .contents_wrap section.post > .requirements .primary .brunch,
        body.single-requirements .contents_wrap section.related > .requirements .primary .brunch {
          margin-bottom: 10px;
          color: #fff;
          background-color: #333;
          padding: 4px 12px; }
        body.post-type-archive-requirements .contents_wrap section.posts > .requirements .primary .title, body.post-type-archive-requirements .contents_wrap section.post > .requirements .primary .title, body.post-type-archive-requirements .contents_wrap section.related > .requirements .primary .title,
        body.tax-requirements_category .contents_wrap section.posts > .requirements .primary .title,
        body.tax-requirements_category .contents_wrap section.post > .requirements .primary .title,
        body.tax-requirements_category .contents_wrap section.related > .requirements .primary .title,
        body.single-requirements .contents_wrap section.posts > .requirements .primary .title,
        body.single-requirements .contents_wrap section.post > .requirements .primary .title,
        body.single-requirements .contents_wrap section.related > .requirements .primary .title {
          font-size: 2.4rem;
          line-height: calc(30 / 24);
          padding-bottom: 15px;
          border-bottom: 1px solid #ccc;
          margin-bottom: 20px;
          margin-top: 20px; }
        body.post-type-archive-requirements .contents_wrap section.posts > .requirements .primary .pay, body.post-type-archive-requirements .contents_wrap section.post > .requirements .primary .pay, body.post-type-archive-requirements .contents_wrap section.related > .requirements .primary .pay,
        body.tax-requirements_category .contents_wrap section.posts > .requirements .primary .pay,
        body.tax-requirements_category .contents_wrap section.post > .requirements .primary .pay,
        body.tax-requirements_category .contents_wrap section.related > .requirements .primary .pay,
        body.single-requirements .contents_wrap section.posts > .requirements .primary .pay,
        body.single-requirements .contents_wrap section.post > .requirements .primary .pay,
        body.single-requirements .contents_wrap section.related > .requirements .primary .pay {
          margin-bottom: 12px;
          background-image: url(assets/img/requirements_pay.png);
          background-repeat: no-repeat;
          background-size: 16px;
          background-position: left center;
          padding-left: 30px; }
        body.post-type-archive-requirements .contents_wrap section.posts > .requirements .primary .time, body.post-type-archive-requirements .contents_wrap section.post > .requirements .primary .time, body.post-type-archive-requirements .contents_wrap section.related > .requirements .primary .time,
        body.tax-requirements_category .contents_wrap section.posts > .requirements .primary .time,
        body.tax-requirements_category .contents_wrap section.post > .requirements .primary .time,
        body.tax-requirements_category .contents_wrap section.related > .requirements .primary .time,
        body.single-requirements .contents_wrap section.posts > .requirements .primary .time,
        body.single-requirements .contents_wrap section.post > .requirements .primary .time,
        body.single-requirements .contents_wrap section.related > .requirements .primary .time {
          background-image: url(assets/img/requirements_time.png);
          background-repeat: no-repeat;
          background-size: 16px;
          background-position: left center;
          padding-left: 30px; }
      body.post-type-archive-requirements .contents_wrap section.posts > .requirements .secondary, body.post-type-archive-requirements .contents_wrap section.post > .requirements .secondary, body.post-type-archive-requirements .contents_wrap section.related > .requirements .secondary,
      body.tax-requirements_category .contents_wrap section.posts > .requirements .secondary,
      body.tax-requirements_category .contents_wrap section.post > .requirements .secondary,
      body.tax-requirements_category .contents_wrap section.related > .requirements .secondary,
      body.single-requirements .contents_wrap section.posts > .requirements .secondary,
      body.single-requirements .contents_wrap section.post > .requirements .secondary,
      body.single-requirements .contents_wrap section.related > .requirements .secondary {
        width: 100%; }
        @media screen and (min-width: 768px) {
          body.post-type-archive-requirements .contents_wrap section.posts > .requirements .secondary, body.post-type-archive-requirements .contents_wrap section.post > .requirements .secondary, body.post-type-archive-requirements .contents_wrap section.related > .requirements .secondary,
          body.tax-requirements_category .contents_wrap section.posts > .requirements .secondary,
          body.tax-requirements_category .contents_wrap section.post > .requirements .secondary,
          body.tax-requirements_category .contents_wrap section.related > .requirements .secondary,
          body.single-requirements .contents_wrap section.posts > .requirements .secondary,
          body.single-requirements .contents_wrap section.post > .requirements .secondary,
          body.single-requirements .contents_wrap section.related > .requirements .secondary {
            max-width: 260px; } }
        body.post-type-archive-requirements .contents_wrap section.posts > .requirements .secondary .btn, body.post-type-archive-requirements .contents_wrap section.post > .requirements .secondary .btn, body.post-type-archive-requirements .contents_wrap section.related > .requirements .secondary .btn,
        body.tax-requirements_category .contents_wrap section.posts > .requirements .secondary .btn,
        body.tax-requirements_category .contents_wrap section.post > .requirements .secondary .btn,
        body.tax-requirements_category .contents_wrap section.related > .requirements .secondary .btn,
        body.single-requirements .contents_wrap section.posts > .requirements .secondary .btn,
        body.single-requirements .contents_wrap section.post > .requirements .secondary .btn,
        body.single-requirements .contents_wrap section.related > .requirements .secondary .btn {
          display: block;
          width: 100%;
          text-align: center;
          color: #fff;
          background-color: #555555;
          line-height: 50px;
          text-decoration: none; }
          body.post-type-archive-requirements .contents_wrap section.posts > .requirements .secondary .btn i, body.post-type-archive-requirements .contents_wrap section.post > .requirements .secondary .btn i, body.post-type-archive-requirements .contents_wrap section.related > .requirements .secondary .btn i,
          body.tax-requirements_category .contents_wrap section.posts > .requirements .secondary .btn i,
          body.tax-requirements_category .contents_wrap section.post > .requirements .secondary .btn i,
          body.tax-requirements_category .contents_wrap section.related > .requirements .secondary .btn i,
          body.single-requirements .contents_wrap section.posts > .requirements .secondary .btn i,
          body.single-requirements .contents_wrap section.post > .requirements .secondary .btn i,
          body.single-requirements .contents_wrap section.related > .requirements .secondary .btn i {
            font-size: 1.4rem; }
          body.post-type-archive-requirements .contents_wrap section.posts > .requirements .secondary .btn.entry, body.post-type-archive-requirements .contents_wrap section.post > .requirements .secondary .btn.entry, body.post-type-archive-requirements .contents_wrap section.related > .requirements .secondary .btn.entry,
          body.tax-requirements_category .contents_wrap section.posts > .requirements .secondary .btn.entry,
          body.tax-requirements_category .contents_wrap section.post > .requirements .secondary .btn.entry,
          body.tax-requirements_category .contents_wrap section.related > .requirements .secondary .btn.entry,
          body.single-requirements .contents_wrap section.posts > .requirements .secondary .btn.entry,
          body.single-requirements .contents_wrap section.post > .requirements .secondary .btn.entry,
          body.single-requirements .contents_wrap section.related > .requirements .secondary .btn.entry {
            background-color: #be2537;
            margin-top: 10px; }
  body.post-type-archive-requirements .contents_wrap .wp-pagenavi,
  body.tax-requirements_category .contents_wrap .wp-pagenavi,
  body.single-requirements .contents_wrap .wp-pagenavi {
    width: 100%;
    text-align: center;
    padding: 13px 0;
    margin-bottom: 60px; }
    body.post-type-archive-requirements .contents_wrap .wp-pagenavi a,
    body.post-type-archive-requirements .contents_wrap .wp-pagenavi span,
    body.tax-requirements_category .contents_wrap .wp-pagenavi a,
    body.tax-requirements_category .contents_wrap .wp-pagenavi span,
    body.single-requirements .contents_wrap .wp-pagenavi a,
    body.single-requirements .contents_wrap .wp-pagenavi span {
      border: 1px solid #333;
      margin: 0 5px;
      padding: 12px 16px;
      color: #000; }
    body.post-type-archive-requirements .contents_wrap .wp-pagenavi a,
    body.tax-requirements_category .contents_wrap .wp-pagenavi a,
    body.single-requirements .contents_wrap .wp-pagenavi a {
      position: relative; }
      body.post-type-archive-requirements .contents_wrap .wp-pagenavi a.previouspostslink,
      body.tax-requirements_category .contents_wrap .wp-pagenavi a.previouspostslink,
      body.single-requirements .contents_wrap .wp-pagenavi a.previouspostslink {
        padding-left: 25px;
        margin-right: 15px; }
        body.post-type-archive-requirements .contents_wrap .wp-pagenavi a.previouspostslink:before,
        body.tax-requirements_category .contents_wrap .wp-pagenavi a.previouspostslink:before,
        body.single-requirements .contents_wrap .wp-pagenavi a.previouspostslink:before {
          display: block;
          content: "";
          width: 4px;
          height: 4px;
          position: absolute;
          top: calc(50% - 2px);
          left: 10px;
          transform: rotate(-135deg);
          border-right: 2px solid #333;
          border-top: 2px solid #333; }
      body.post-type-archive-requirements .contents_wrap .wp-pagenavi a.nextpostslink,
      body.tax-requirements_category .contents_wrap .wp-pagenavi a.nextpostslink,
      body.single-requirements .contents_wrap .wp-pagenavi a.nextpostslink {
        padding-right: 25px;
        margin-left: 15px; }
        body.post-type-archive-requirements .contents_wrap .wp-pagenavi a.nextpostslink:after,
        body.tax-requirements_category .contents_wrap .wp-pagenavi a.nextpostslink:after,
        body.single-requirements .contents_wrap .wp-pagenavi a.nextpostslink:after {
          display: block;
          content: "";
          width: 4px;
          height: 4px;
          position: absolute;
          top: calc(50% - 2px);
          right: 10px;
          transform: rotate(45deg);
          border-right: 2px solid #333;
          border-top: 2px solid #333; }
      body.post-type-archive-requirements .contents_wrap .wp-pagenavi a.last, body.post-type-archive-requirements .contents_wrap .wp-pagenavi a.first,
      body.tax-requirements_category .contents_wrap .wp-pagenavi a.last,
      body.tax-requirements_category .contents_wrap .wp-pagenavi a.first,
      body.single-requirements .contents_wrap .wp-pagenavi a.last,
      body.single-requirements .contents_wrap .wp-pagenavi a.first {
        border: 1px solid #333;
        background-color: #333;
        color: #fff; }
    body.post-type-archive-requirements .contents_wrap .wp-pagenavi span.current,
    body.tax-requirements_category .contents_wrap .wp-pagenavi span.current,
    body.single-requirements .contents_wrap .wp-pagenavi span.current {
      border: 1px solid #333;
      background-color: #333;
      color: #fff; }
    body.post-type-archive-requirements .contents_wrap .wp-pagenavi span.extend,
    body.tax-requirements_category .contents_wrap .wp-pagenavi span.extend,
    body.single-requirements .contents_wrap .wp-pagenavi span.extend {
      border: none; }

body.tax-requirements_category .contents_wrap {
  display: block; }
  body.tax-requirements_category .contents_wrap section.search .row {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 40px;
    border: 1px solid #be2537;
    padding: 20px; }
    @media screen and (min-width: 768px) {
      body.tax-requirements_category .contents_wrap section.search .row {
        height: 100px; } }
    body.tax-requirements_category .contents_wrap section.search .row > .head {
      width: 100%;
      font-size: 1.8rem;
      line-height: calc(30 / 18);
      font-weight: bold;
      text-align: center; }
      @media screen and (min-width: 768px) {
        body.tax-requirements_category .contents_wrap section.search .row > .head {
          margin-right: 20px;
          width: initial;
          padding-top: 15px; } }
      body.tax-requirements_category .contents_wrap section.search .row > .head i {
        color: #be2537; }
    body.tax-requirements_category .contents_wrap section.search .row .select_wrap {
      position: relative; }
      body.tax-requirements_category .contents_wrap section.search .row .select_wrap .brunches {
        min-width: 300px;
        list-style-type: none;
        background-color: #f5f5f5;
        border-radius: 5px;
        border: 1px solid #ccc;
        position: relative;
        z-index: 9998; }
        body.tax-requirements_category .contents_wrap section.search .row .select_wrap .brunches .head {
          padding: 20px 30px;
          position: relative; }
          body.tax-requirements_category .contents_wrap section.search .row .select_wrap .brunches .head:hover {
            cursor: pointer; }
          body.tax-requirements_category .contents_wrap section.search .row .select_wrap .brunches .head:after {
            display: block;
            content: "";
            width: 0;
            height: 0;
            border: 4px solid transparent;
            border-top: 4px solid #333;
            position: absolute;
            top: calc(50% - 2px);
            right: 20px; }
          body.tax-requirements_category .contents_wrap section.search .row .select_wrap .brunches .head.shown:after {
            display: block;
            content: "";
            width: 0;
            height: 0;
            border: 4px solid transparent;
            border-bottom: 4px solid #333;
            position: absolute;
            top: calc(50% - 6px);
            right: 20px; }
        body.tax-requirements_category .contents_wrap section.search .row .select_wrap .brunches .brunches-content {
          padding-bottom: 20px; }
          body.tax-requirements_category .contents_wrap section.search .row .select_wrap .brunches .brunches-content li a {
            display: block;
            padding: 10px 30px;
            color: #333;
            position: relative;
            text-decoration: none; }

body.post-type-archive-requirements .contents_wrap section.post, body.post-type-archive-requirements .contents_wrap section.related,
body.single-requirements .contents_wrap section.post,
body.single-requirements .contents_wrap section.related {
  padding-bottom: 100px; }
  body.post-type-archive-requirements .contents_wrap section.post > .head, body.post-type-archive-requirements .contents_wrap section.related > .head,
  body.single-requirements .contents_wrap section.post > .head,
  body.single-requirements .contents_wrap section.related > .head {
    font-weight: bold; }
    body.post-type-archive-requirements .contents_wrap section.post > .head .brunch, body.post-type-archive-requirements .contents_wrap section.related > .head .brunch,
    body.single-requirements .contents_wrap section.post > .head .brunch,
    body.single-requirements .contents_wrap section.related > .head .brunch {
      background-color: #333;
      padding: 4px 12px;
      font-size: 1.4rem;
      line-height: calc(30 / 14);
      color: #fff;
      font-weight: normal; }
    body.post-type-archive-requirements .contents_wrap section.post > .head .title, body.post-type-archive-requirements .contents_wrap section.related > .head .title,
    body.single-requirements .contents_wrap section.post > .head .title,
    body.single-requirements .contents_wrap section.related > .head .title {
      margin-top: 10px; }
  body.post-type-archive-requirements .contents_wrap section.post .phone, body.post-type-archive-requirements .contents_wrap section.related .phone,
  body.single-requirements .contents_wrap section.post .phone,
  body.single-requirements .contents_wrap section.related .phone {
    border: 2px solid #ccc;
    padding: 30px;
    margin-bottom: 30px; }
    body.post-type-archive-requirements .contents_wrap section.post .phone > .head, body.post-type-archive-requirements .contents_wrap section.related .phone > .head,
    body.single-requirements .contents_wrap section.post .phone > .head,
    body.single-requirements .contents_wrap section.related .phone > .head {
      color: #be2537;
      font-weight: bold;
      margin-bottom: 10px;
      font-size: 1.6rem;
      line-height: calc(30 / 16); }
    body.post-type-archive-requirements .contents_wrap section.post .phone .brunch, body.post-type-archive-requirements .contents_wrap section.related .phone .brunch,
    body.single-requirements .contents_wrap section.post .phone .brunch,
    body.single-requirements .contents_wrap section.related .phone .brunch {
      font-size: 2.4rem;
      color: #333;
      line-height: calc(30 / 24); }
      body.post-type-archive-requirements .contents_wrap section.post .phone .brunch .head, body.post-type-archive-requirements .contents_wrap section.related .phone .brunch .head,
      body.single-requirements .contents_wrap section.post .phone .brunch .head,
      body.single-requirements .contents_wrap section.related .phone .brunch .head {
        font-size: 1.6rem;
        line-height: calc(30 / 16); }
  body.post-type-archive-requirements .contents_wrap section.post .detail, body.post-type-archive-requirements .contents_wrap section.related .detail,
  body.single-requirements .contents_wrap section.post .detail,
  body.single-requirements .contents_wrap section.related .detail {
    width: 100%;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
    margin-bottom: 60px; }
    body.post-type-archive-requirements .contents_wrap section.post .detail.pink th, body.post-type-archive-requirements .contents_wrap section.related .detail.pink th,
    body.single-requirements .contents_wrap section.post .detail.pink th,
    body.single-requirements .contents_wrap section.related .detail.pink th {
      background-color: #fef0f1; }
    body.post-type-archive-requirements .contents_wrap section.post .detail.pink span, body.post-type-archive-requirements .contents_wrap section.related .detail.pink span,
    body.single-requirements .contents_wrap section.post .detail.pink span,
    body.single-requirements .contents_wrap section.related .detail.pink span {
      background-repeat: no-repeat;
      background-size: 16px;
      background-position: left center;
      padding-left: 30px; }
      body.post-type-archive-requirements .contents_wrap section.post .detail.pink span.pay, body.post-type-archive-requirements .contents_wrap section.related .detail.pink span.pay,
      body.single-requirements .contents_wrap section.post .detail.pink span.pay,
      body.single-requirements .contents_wrap section.related .detail.pink span.pay {
        margin-bottom: 12px;
        background-image: url(assets/img/requirements_pay.png); }
      body.post-type-archive-requirements .contents_wrap section.post .detail.pink span.time, body.post-type-archive-requirements .contents_wrap section.related .detail.pink span.time,
      body.single-requirements .contents_wrap section.post .detail.pink span.time,
      body.single-requirements .contents_wrap section.related .detail.pink span.time {
        background-image: url(assets/img/requirements_time.png); }
      body.post-type-archive-requirements .contents_wrap section.post .detail.pink span.place, body.post-type-archive-requirements .contents_wrap section.related .detail.pink span.place,
      body.single-requirements .contents_wrap section.post .detail.pink span.place,
      body.single-requirements .contents_wrap section.related .detail.pink span.place {
        background-image: url(assets/img/requirements_place.png); }
      body.post-type-archive-requirements .contents_wrap section.post .detail.pink span.off, body.post-type-archive-requirements .contents_wrap section.related .detail.pink span.off,
      body.single-requirements .contents_wrap section.post .detail.pink span.off,
      body.single-requirements .contents_wrap section.related .detail.pink span.off {
        background-image: url(assets/img/requirements_hart.png); }
    body.post-type-archive-requirements .contents_wrap section.post .detail th, body.post-type-archive-requirements .contents_wrap section.related .detail th,
    body.single-requirements .contents_wrap section.post .detail th,
    body.single-requirements .contents_wrap section.related .detail th {
      border-left: 1px solid #ccc;
      border-top: 1px solid #ccc;
      background-color: #eff2f5;
      font-weight: bold;
      text-align: left;
      min-width: 160px;
      max-width: 260px;
      vertical-align: middle;
      padding: 15px; }
    body.post-type-archive-requirements .contents_wrap section.post .detail td, body.post-type-archive-requirements .contents_wrap section.related .detail td,
    body.single-requirements .contents_wrap section.post .detail td,
    body.single-requirements .contents_wrap section.related .detail td {
      padding: 15px;
      border-left: 1px solid #ccc;
      border-top: 1px solid #ccc;
      line-height: calc(30 / 16);
      width: 80%; }
  body.post-type-archive-requirements .contents_wrap section.post .btn, body.post-type-archive-requirements .contents_wrap section.related .btn,
  body.single-requirements .contents_wrap section.post .btn,
  body.single-requirements .contents_wrap section.related .btn {
    max-width: 415px;
    display: block;
    width: 100%;
    text-align: center;
    color: #fff;
    background-color: #555555;
    line-height: 80px;
    text-decoration: none;
    margin: 0 auto; }
    body.post-type-archive-requirements .contents_wrap section.post .btn i, body.post-type-archive-requirements .contents_wrap section.related .btn i,
    body.single-requirements .contents_wrap section.post .btn i,
    body.single-requirements .contents_wrap section.related .btn i {
      font-size: 1.4rem; }
    body.post-type-archive-requirements .contents_wrap section.post .btn.entry, body.post-type-archive-requirements .contents_wrap section.related .btn.entry,
    body.single-requirements .contents_wrap section.post .btn.entry,
    body.single-requirements .contents_wrap section.related .btn.entry {
      background-color: #be2537;
      margin-top: 10px; }
  body.post-type-archive-requirements .contents_wrap section.post > .requirements, body.post-type-archive-requirements .contents_wrap section.related > .requirements,
  body.single-requirements .contents_wrap section.post > .requirements,
  body.single-requirements .contents_wrap section.related > .requirements {
    border: 2px solid #ccc;
    padding: 30px;
    margin-bottom: 30px; }
    body.post-type-archive-requirements .contents_wrap section.post > .requirements.row, body.post-type-archive-requirements .contents_wrap section.related > .requirements.row,
    body.single-requirements .contents_wrap section.post > .requirements.row,
    body.single-requirements .contents_wrap section.related > .requirements.row {
      -webkit-justify-content: space-between;
      /* Safari */
      justify-content: space-between; }
    body.post-type-archive-requirements .contents_wrap section.post > .requirements .primary, body.post-type-archive-requirements .contents_wrap section.related > .requirements .primary,
    body.single-requirements .contents_wrap section.post > .requirements .primary,
    body.single-requirements .contents_wrap section.related > .requirements .primary {
      width: 100%;
      margin-bottom: 30px; }
      @media screen and (min-width: 768px) {
        body.post-type-archive-requirements .contents_wrap section.post > .requirements .primary, body.post-type-archive-requirements .contents_wrap section.related > .requirements .primary,
        body.single-requirements .contents_wrap section.post > .requirements .primary,
        body.single-requirements .contents_wrap section.related > .requirements .primary {
          width: calc(100% - 290px); } }
      body.post-type-archive-requirements .contents_wrap section.post > .requirements .primary .brunch, body.post-type-archive-requirements .contents_wrap section.related > .requirements .primary .brunch,
      body.single-requirements .contents_wrap section.post > .requirements .primary .brunch,
      body.single-requirements .contents_wrap section.related > .requirements .primary .brunch {
        margin-bottom: 10px;
        color: #fff;
        background-color: #333;
        padding: 4px 12px; }
      body.post-type-archive-requirements .contents_wrap section.post > .requirements .primary .title, body.post-type-archive-requirements .contents_wrap section.related > .requirements .primary .title,
      body.single-requirements .contents_wrap section.post > .requirements .primary .title,
      body.single-requirements .contents_wrap section.related > .requirements .primary .title {
        font-size: 2.4rem;
        line-height: calc(30 / 24);
        padding-bottom: 15px;
        border-bottom: 1px solid #ccc;
        margin-bottom: 20px;
        margin-top: 20px; }
      body.post-type-archive-requirements .contents_wrap section.post > .requirements .primary .pay, body.post-type-archive-requirements .contents_wrap section.related > .requirements .primary .pay,
      body.single-requirements .contents_wrap section.post > .requirements .primary .pay,
      body.single-requirements .contents_wrap section.related > .requirements .primary .pay {
        margin-bottom: 12px;
        background-image: url(assets/img/requirements_pay.png);
        background-repeat: no-repeat;
        background-size: 16px;
        background-position: left center;
        padding-left: 30px; }
      body.post-type-archive-requirements .contents_wrap section.post > .requirements .primary .time, body.post-type-archive-requirements .contents_wrap section.related > .requirements .primary .time,
      body.single-requirements .contents_wrap section.post > .requirements .primary .time,
      body.single-requirements .contents_wrap section.related > .requirements .primary .time {
        background-image: url(assets/img/requirements_time.png);
        background-repeat: no-repeat;
        background-size: 16px;
        background-position: left center;
        padding-left: 30px; }
    body.post-type-archive-requirements .contents_wrap section.post > .requirements .secondary, body.post-type-archive-requirements .contents_wrap section.related > .requirements .secondary,
    body.single-requirements .contents_wrap section.post > .requirements .secondary,
    body.single-requirements .contents_wrap section.related > .requirements .secondary {
      width: 100%; }
      @media screen and (min-width: 768px) {
        body.post-type-archive-requirements .contents_wrap section.post > .requirements .secondary, body.post-type-archive-requirements .contents_wrap section.related > .requirements .secondary,
        body.single-requirements .contents_wrap section.post > .requirements .secondary,
        body.single-requirements .contents_wrap section.related > .requirements .secondary {
          max-width: 260px; } }
      body.post-type-archive-requirements .contents_wrap section.post > .requirements .secondary .btn, body.post-type-archive-requirements .contents_wrap section.related > .requirements .secondary .btn,
      body.single-requirements .contents_wrap section.post > .requirements .secondary .btn,
      body.single-requirements .contents_wrap section.related > .requirements .secondary .btn {
        display: block;
        width: 100%;
        text-align: center;
        color: #fff;
        background-color: #555555;
        line-height: 50px;
        text-decoration: none; }
        body.post-type-archive-requirements .contents_wrap section.post > .requirements .secondary .btn i, body.post-type-archive-requirements .contents_wrap section.related > .requirements .secondary .btn i,
        body.single-requirements .contents_wrap section.post > .requirements .secondary .btn i,
        body.single-requirements .contents_wrap section.related > .requirements .secondary .btn i {
          font-size: 1.4rem; }
        body.post-type-archive-requirements .contents_wrap section.post > .requirements .secondary .btn.entry, body.post-type-archive-requirements .contents_wrap section.related > .requirements .secondary .btn.entry,
        body.single-requirements .contents_wrap section.post > .requirements .secondary .btn.entry,
        body.single-requirements .contents_wrap section.related > .requirements .secondary .btn.entry {
          background-color: #be2537;
          margin-top: 10px; }

body.post-type-archive-requirements section.title {
  margin-top: -80px;
  padding-top: 80px; }

.blog .contents_wrap,
.category .contents_wrap,
.archive .contents_wrap,
.single-post .contents_wrap {
  padding-top: 50px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  /*--- IE10用 ---*/
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  -webkit-justify-content: space-between;
  /* Safari */
  justify-content: space-between; }
  .blog .contents_wrap .head01,
  .category .contents_wrap .head01,
  .archive .contents_wrap .head01,
  .single-post .contents_wrap .head01 {
    width: 100%;
    margin-bottom: 60px; }
  .blog .contents_wrap .main,
  .category .contents_wrap .main,
  .archive .contents_wrap .main,
  .single-post .contents_wrap .main {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .blog .contents_wrap .main,
      .category .contents_wrap .main,
      .archive .contents_wrap .main,
      .single-post .contents_wrap .main {
        max-width: calc(100% - 280px); } }
    .blog .contents_wrap .main .posts,
    .category .contents_wrap .main .posts,
    .archive .contents_wrap .main .posts,
    .single-post .contents_wrap .main .posts {
      padding-bottom: 30px; }
      .blog .contents_wrap .main .posts .post,
      .category .contents_wrap .main .posts .post,
      .archive .contents_wrap .main .posts .post,
      .single-post .contents_wrap .main .posts .post {
        border-top: 2px solid #e70012;
        background-color: #f5f5f5;
        padding: 20px 30px;
        margin-bottom: 30px; }
        .blog .contents_wrap .main .posts .post .info,
        .category .contents_wrap .main .posts .post .info,
        .archive .contents_wrap .main .posts .post .info,
        .single-post .contents_wrap .main .posts .post .info {
          margin-bottom: 25px;
          line-height: 2rem;
          display: flex;
          display: -webkit-flex;
          display: -ms-flexbox;
          flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          /*--- IE10用 ---*/
          -webkit-flex-wrap: wrap;
          /*--- safari（PC）用 ---*/ }
          .blog .contents_wrap .main .posts .post .info .date,
          .category .contents_wrap .main .posts .post .info .date,
          .archive .contents_wrap .main .posts .post .info .date,
          .single-post .contents_wrap .main .posts .post .info .date {
            font-size: 1.4rem;
            margin-right: 30px;
            line-height: 2.4rem;
            width: 100%; }
            @media screen and (min-width: 768px) {
              .blog .contents_wrap .main .posts .post .info .date,
              .category .contents_wrap .main .posts .post .info .date,
              .archive .contents_wrap .main .posts .post .info .date,
              .single-post .contents_wrap .main .posts .post .info .date {
                width: auto; } }
          .blog .contents_wrap .main .posts .post .info .category,
          .category .contents_wrap .main .posts .post .info .category,
          .archive .contents_wrap .main .posts .post .info .category,
          .single-post .contents_wrap .main .posts .post .info .category {
            color: #fff;
            font-size: 1.4rem;
            text-decoration: none;
            padding: 2px 30px;
            background-color: #333;
            margin-right: 5px;
            margin-bottom: 5px; }
            @media screen and (min-width: 768px) {
              .blog .contents_wrap .main .posts .post .info .category,
              .category .contents_wrap .main .posts .post .info .category,
              .archive .contents_wrap .main .posts .post .info .category,
              .single-post .contents_wrap .main .posts .post .info .category {
                width: auto; } }
        .blog .contents_wrap .main .posts .post .title,
        .category .contents_wrap .main .posts .post .title,
        .archive .contents_wrap .main .posts .post .title,
        .single-post .contents_wrap .main .posts .post .title {
          display: block;
          padding-bottom: 10px;
          margin-bottom: 10px;
          color: #333;
          text-decoration: none;
          font-size: 2.0rem;
          line-height: calc(30 / 20);
          border-bottom: 1px solid #ccc; }
        .blog .contents_wrap .main .posts .post .excerpt,
        .category .contents_wrap .main .posts .post .excerpt,
        .archive .contents_wrap .main .posts .post .excerpt,
        .single-post .contents_wrap .main .posts .post .excerpt {
          line-height: calc(30 / 16);
          margin-bottom: 10px; }
        .blog .contents_wrap .main .posts .post .more,
        .category .contents_wrap .main .posts .post .more,
        .archive .contents_wrap .main .posts .post .more,
        .single-post .contents_wrap .main .posts .post .more {
          text-align: right; }
          .blog .contents_wrap .main .posts .post .more a,
          .category .contents_wrap .main .posts .post .more a,
          .archive .contents_wrap .main .posts .post .more a,
          .single-post .contents_wrap .main .posts .post .more a {
            color: #e70012;
            position: relative; }
            .blog .contents_wrap .main .posts .post .more a:before,
            .category .contents_wrap .main .posts .post .more a:before,
            .archive .contents_wrap .main .posts .post .more a:before,
            .single-post .contents_wrap .main .posts .post .more a:before {
              display: block;
              content: "";
              width: 0;
              height: 0;
              border: 4px solid transparent;
              border-left: 4px solid #f00;
              position: absolute;
              top: calc(50% - 2px);
              left: -10px; }
    .blog .contents_wrap .main .wp-pagenavi,
    .category .contents_wrap .main .wp-pagenavi,
    .archive .contents_wrap .main .wp-pagenavi,
    .single-post .contents_wrap .main .wp-pagenavi {
      width: 100%;
      text-align: center;
      padding: 13px 0;
      margin-bottom: 60px; }
      .blog .contents_wrap .main .wp-pagenavi a,
      .blog .contents_wrap .main .wp-pagenavi span,
      .category .contents_wrap .main .wp-pagenavi a,
      .category .contents_wrap .main .wp-pagenavi span,
      .archive .contents_wrap .main .wp-pagenavi a,
      .archive .contents_wrap .main .wp-pagenavi span,
      .single-post .contents_wrap .main .wp-pagenavi a,
      .single-post .contents_wrap .main .wp-pagenavi span {
        border: 1px solid #333;
        margin: 0 5px;
        padding: 12px 16px;
        color: #000; }
      .blog .contents_wrap .main .wp-pagenavi a,
      .category .contents_wrap .main .wp-pagenavi a,
      .archive .contents_wrap .main .wp-pagenavi a,
      .single-post .contents_wrap .main .wp-pagenavi a {
        position: relative; }
        .blog .contents_wrap .main .wp-pagenavi a.previouspostslink,
        .category .contents_wrap .main .wp-pagenavi a.previouspostslink,
        .archive .contents_wrap .main .wp-pagenavi a.previouspostslink,
        .single-post .contents_wrap .main .wp-pagenavi a.previouspostslink {
          padding-left: 25px;
          margin-right: 15px; }
          .blog .contents_wrap .main .wp-pagenavi a.previouspostslink:before,
          .category .contents_wrap .main .wp-pagenavi a.previouspostslink:before,
          .archive .contents_wrap .main .wp-pagenavi a.previouspostslink:before,
          .single-post .contents_wrap .main .wp-pagenavi a.previouspostslink:before {
            display: block;
            content: "";
            width: 4px;
            height: 4px;
            position: absolute;
            top: calc(50% - 2px);
            left: 10px;
            transform: rotate(-135deg);
            border-right: 2px solid #333;
            border-top: 2px solid #333; }
        .blog .contents_wrap .main .wp-pagenavi a.nextpostslink,
        .category .contents_wrap .main .wp-pagenavi a.nextpostslink,
        .archive .contents_wrap .main .wp-pagenavi a.nextpostslink,
        .single-post .contents_wrap .main .wp-pagenavi a.nextpostslink {
          padding-right: 25px;
          margin-left: 15px; }
          .blog .contents_wrap .main .wp-pagenavi a.nextpostslink:after,
          .category .contents_wrap .main .wp-pagenavi a.nextpostslink:after,
          .archive .contents_wrap .main .wp-pagenavi a.nextpostslink:after,
          .single-post .contents_wrap .main .wp-pagenavi a.nextpostslink:after {
            display: block;
            content: "";
            width: 4px;
            height: 4px;
            position: absolute;
            top: calc(50% - 2px);
            right: 10px;
            transform: rotate(45deg);
            border-right: 2px solid #333;
            border-top: 2px solid #333; }
        .blog .contents_wrap .main .wp-pagenavi a.last, .blog .contents_wrap .main .wp-pagenavi a.first,
        .category .contents_wrap .main .wp-pagenavi a.last,
        .category .contents_wrap .main .wp-pagenavi a.first,
        .archive .contents_wrap .main .wp-pagenavi a.last,
        .archive .contents_wrap .main .wp-pagenavi a.first,
        .single-post .contents_wrap .main .wp-pagenavi a.last,
        .single-post .contents_wrap .main .wp-pagenavi a.first {
          border: 1px solid #333;
          background-color: #333;
          color: #fff; }
      .blog .contents_wrap .main .wp-pagenavi span.current,
      .category .contents_wrap .main .wp-pagenavi span.current,
      .archive .contents_wrap .main .wp-pagenavi span.current,
      .single-post .contents_wrap .main .wp-pagenavi span.current {
        border: 1px solid #333;
        background-color: #333;
        color: #fff; }
      .blog .contents_wrap .main .wp-pagenavi span.extend,
      .category .contents_wrap .main .wp-pagenavi span.extend,
      .archive .contents_wrap .main .wp-pagenavi span.extend,
      .single-post .contents_wrap .main .wp-pagenavi span.extend {
        border: none; }
  .blog .contents_wrap .aside,
  .category .contents_wrap .aside,
  .archive .contents_wrap .aside,
  .single-post .contents_wrap .aside {
    width: 100%;
    margin-bottom: 130px; }
    @media screen and (min-width: 768px) {
      .blog .contents_wrap .aside,
      .category .contents_wrap .aside,
      .archive .contents_wrap .aside,
      .single-post .contents_wrap .aside {
        max-width: 240px; } }
    .blog .contents_wrap .aside .categories,
    .category .contents_wrap .aside .categories,
    .archive .contents_wrap .aside .categories,
    .single-post .contents_wrap .aside .categories {
      list-style-type: none;
      border-top: 2px solid #e70012;
      background-color: #f5f5f5;
      padding: 20px 30px;
      margin-bottom: 30px; }
      .blog .contents_wrap .aside .categories li,
      .category .contents_wrap .aside .categories li,
      .archive .contents_wrap .aside .categories li,
      .single-post .contents_wrap .aside .categories li {
        padding: 10px 0; }
        .blog .contents_wrap .aside .categories li a,
        .category .contents_wrap .aside .categories li a,
        .archive .contents_wrap .aside .categories li a,
        .single-post .contents_wrap .aside .categories li a {
          color: #e70012;
          position: relative; }
          .blog .contents_wrap .aside .categories li a:before,
          .category .contents_wrap .aside .categories li a:before,
          .archive .contents_wrap .aside .categories li a:before,
          .single-post .contents_wrap .aside .categories li a:before {
            display: block;
            content: "";
            width: 0;
            height: 0;
            border: 4px solid transparent;
            border-left: 4px solid #f00;
            position: absolute;
            top: calc(50% - 2px);
            left: -10px; }
    .blog .contents_wrap .aside .months,
    .category .contents_wrap .aside .months,
    .archive .contents_wrap .aside .months,
    .single-post .contents_wrap .aside .months {
      border: 1px solid #ccc;
      background-color: #f5f5f5;
      margin-bottom: 30px; }
      .blog .contents_wrap .aside .months .head,
      .category .contents_wrap .aside .months .head,
      .archive .contents_wrap .aside .months .head,
      .single-post .contents_wrap .aside .months .head {
        padding: 20px 30px;
        position: relative; }
        .blog .contents_wrap .aside .months .head:hover,
        .category .contents_wrap .aside .months .head:hover,
        .archive .contents_wrap .aside .months .head:hover,
        .single-post .contents_wrap .aside .months .head:hover {
          cursor: pointer; }
        .blog .contents_wrap .aside .months .head:after,
        .category .contents_wrap .aside .months .head:after,
        .archive .contents_wrap .aside .months .head:after,
        .single-post .contents_wrap .aside .months .head:after {
          display: block;
          content: "";
          width: 0;
          height: 0;
          border: 4px solid transparent;
          border-top: 4px solid #333;
          position: absolute;
          top: calc(50% - 2px);
          right: 20px; }
        .blog .contents_wrap .aside .months .head.shown:after,
        .category .contents_wrap .aside .months .head.shown:after,
        .archive .contents_wrap .aside .months .head.shown:after,
        .single-post .contents_wrap .aside .months .head.shown:after {
          display: block;
          content: "";
          width: 0;
          height: 0;
          border: 4px solid transparent;
          border-bottom: 4px solid #333;
          position: absolute;
          top: calc(50% - 6px);
          right: 20px; }
      .blog .contents_wrap .aside .months ul,
      .category .contents_wrap .aside .months ul,
      .archive .contents_wrap .aside .months ul,
      .single-post .contents_wrap .aside .months ul {
        list-style-type: none;
        padding: 0 30px 20px 30px; }
        .blog .contents_wrap .aside .months ul li,
        .category .contents_wrap .aside .months ul li,
        .archive .contents_wrap .aside .months ul li,
        .single-post .contents_wrap .aside .months ul li {
          padding: 10px 0; }
          .blog .contents_wrap .aside .months ul li a,
          .category .contents_wrap .aside .months ul li a,
          .archive .contents_wrap .aside .months ul li a,
          .single-post .contents_wrap .aside .months ul li a {
            color: #e70012;
            position: relative; }

.single-post .contents_wrap .main {
  padding-bottom: 30px; }
  @media screen and (min-width: 768px) {
    .single-post .contents_wrap .main {
      padding-bottom: 120px; } }
  .single-post .contents_wrap .main .entry_content {
    border-top: 2px solid #e70012;
    background-color: #f5f5f5;
    padding: 20px 30px 1px 30px;
    margin-bottom: 30px; }
    .single-post .contents_wrap .main .entry_content .title {
      font-size: 2.8rem;
      line-height: calc(30 / 22);
      letter-spacing: 0.1rem;
      padding-bottom: 25px;
      margin-bottom: 25px;
      border-bottom: 1px solid #ccc; }
    .single-post .contents_wrap .main .entry_content h2 {
      font-size: 2.0rem;
      line-height: calc(30 / 20);
      color: #e70012;
      margin-bottom: 35px; }
    .single-post .contents_wrap .main .entry_content h3 {
      font-size: 2.0rem;
      line-height: calc(30 / 20);
      padding-bottom: 5px;
      border-bottom: 2px solid #333;
      margin-bottom: 30px; }
    .single-post .contents_wrap .main .entry_content h4 {
      font-size: 1.8rem;
      line-height: calc(30 / 18);
      padding-left: 10px;
      border-left: 4px solid #e70012;
      margin-bottom: 30px;
      padding-top: 2px;
      padding-bottom: 2px; }
    .single-post .contents_wrap .main .entry_content h5 {
      padding: 2px 12px;
      font-size: 16px;
      line-height: calc(30 / 16);
      background-color: #333333;
      color: #fff;
      margin-bottom: 30px; }
    .single-post .contents_wrap .main .entry_content h6 {
      font-size: 16px;
      line-height: calc(30 / 16);
      font-weight: bold;
      padding-bottom: 5px;
      border-bottom: 2px solid #333;
      margin-bottom: 30px; }
    .single-post .contents_wrap .main .entry_content p {
      font-size: 1.6rem;
      line-height: calc(30 / 16);
      margin-bottom: 40px; }
    .single-post .contents_wrap .main .entry_content a {
      text-decoration: none; }
      .single-post .contents_wrap .main .entry_content a:hover {
        text-decoration: underline; }
    .single-post .contents_wrap .main .entry_content ul {
      list-style-type: none;
      margin-bottom: 60px; }
      .single-post .contents_wrap .main .entry_content ul li {
        font-size: 16px;
        padding-left: 20px;
        line-height: 3rem;
        position: relative; }
        .single-post .contents_wrap .main .entry_content ul li:before {
          position: absolute;
          top: 10px;
          left: -2px;
          display: block;
          content: '';
          width: 12px;
          height: 12px;
          background-color: #e70012;
          border-radius: 50%; }
        .single-post .contents_wrap .main .entry_content ul li ul {
          margin-bottom: 0;
          padding-left: 20px; }
          .single-post .contents_wrap .main .entry_content ul li ul li {
            margin-bottom: 0; }
    .single-post .contents_wrap .main .entry_content ol {
      margin-bottom: 60px;
      padding-left: 1.6rem; }
      .single-post .contents_wrap .main .entry_content ol li {
        font-size: 16px;
        line-height: 3rem;
        position: relative;
        margin-bottom: 20px; }
        .single-post .contents_wrap .main .entry_content ol li ol {
          padding-left: 15px;
          margin-bottom: 0;
          padding-left: 20px; }
          .single-post .contents_wrap .main .entry_content ol li ol li {
            margin-bottom: 0; }
    .single-post .contents_wrap .main .entry_content img {
      max-width: 100%;
      height: auto; }
    .single-post .contents_wrap .main .entry_content strong {
      font-weight: bold; }
    .single-post .contents_wrap .main .entry_content table {
      width: 100%;
      border-bottom: 1px solid #ccc;
      border-right: 1px solid #ccc;
      margin-bottom: 60px; }
      .single-post .contents_wrap .main .entry_content table thead tr {
        display: flex;
        display: -webkit-flex;
        display: -ms-flexbox;
        -webkit-justify-content: space-between;
        /* Safari */
        justify-content: space-between; }
        .single-post .contents_wrap .main .entry_content table thead tr th {
          width: 100%;
          min-width: 30%;
          padding: 15px 0;
          border-left: 1px solid #ccc;
          border-top: 1px solid #ccc;
          background-color: #333;
          font-weight: normal;
          display: table-cell;
          text-align: center;
          vertical-align: middle;
          line-height: 2rem;
          color: #fff; }
      .single-post .contents_wrap .main .entry_content table tbody tr {
        display: flex;
        display: -webkit-flex;
        display: -ms-flexbox; }
        .single-post .contents_wrap .main .entry_content table tbody tr th {
          min-width: 30%;
          width: 100%;
          padding: 15px;
          border-left: 1px solid #ccc;
          border-top: 1px solid #ccc;
          background-color: #eee;
          font-weight: normal;
          text-align: left;
          line-height: 2rem; }
        .single-post .contents_wrap .main .entry_content table tbody tr td {
          width: 100%;
          padding: 15px;
          border-left: 1px solid #ccc;
          border-top: 1px solid #ccc;
          line-height: 2rem;
          background-color: #fff; }
    .single-post .contents_wrap .main .entry_content .info {
      margin-bottom: 25px;
      line-height: 2rem;
      display: flex;
      display: -webkit-flex;
      display: -ms-flexbox;
      flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      /*--- IE10用 ---*/
      -webkit-flex-wrap: wrap;
      /*--- safari（PC）用 ---*/ }
      .single-post .contents_wrap .main .entry_content .info .date {
        font-size: 1.4rem;
        margin-right: 30px;
        line-height: 2.4rem;
        width: 100%; }
        @media screen and (min-width: 768px) {
          .single-post .contents_wrap .main .entry_content .info .date {
            width: auto; } }
      .single-post .contents_wrap .main .entry_content .info .category {
        color: #fff;
        font-size: 1.4rem;
        text-decoration: none;
        padding: 2px 30px;
        background-color: #333;
        margin-right: 5px;
        margin-bottom: 5px; }
        @media screen and (min-width: 768px) {
          .single-post .contents_wrap .main .entry_content .info .category {
            width: auto; } }
  .single-post .contents_wrap .main .pager .lists {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    -webkit-justify-content: space-between;
    /* Safari */
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    /*--- IE10用 ---*/
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    margin-bottom: 30px; }
    .single-post .contents_wrap .main .pager .lists li {
      width: 100%;
      text-align: center;
      line-height: calc(30 / 16); }
      @media screen and (min-width: 479px) {
        .single-post .contents_wrap .main .pager .lists li {
          width: auto; } }
      .single-post .contents_wrap .main .pager .lists li a {
        color: #e70012;
        position: relative; }
        .single-post .contents_wrap .main .pager .lists li a:before {
          display: block;
          content: "";
          width: 0;
          height: 0;
          border: 4px solid transparent;
          position: absolute;
          top: calc(50% - 2px); }
      .single-post .contents_wrap .main .pager .lists li.pre a {
        padding-left: 15px; }
        .single-post .contents_wrap .main .pager .lists li.pre a:before {
          border-right: 4px solid #f00;
          left: 0px; }
      .single-post .contents_wrap .main .pager .lists li.next a {
        padding-right: 15px; }
        .single-post .contents_wrap .main .pager .lists li.next a:before {
          border-left: 4px solid #f00;
          right: 0px; }
      .single-post .contents_wrap .main .pager .lists li.index a:before {
        display: none; }

.post-type-archive-ads .contents_wrap {
  padding-top: 50px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  /*--- IE10用 ---*/
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  -webkit-justify-content: space-between;
  /* Safari */
  justify-content: space-between; }
  .post-type-archive-ads .contents_wrap .head01 {
    width: 100%;
    margin-bottom: 60px; }
  .post-type-archive-ads .contents_wrap .posts {
    width: 100%;
    padding-bottom: 120px; }
    .post-type-archive-ads .contents_wrap .posts .ads {
      border-top: 2px solid #e70012;
      background-color: #f5f5f5;
      padding: 30px 20px 40px 20px;
      margin-bottom: 30px; }
      @media screen and (min-width: 768px) {
        .post-type-archive-ads .contents_wrap .posts .ads {
          padding: 20px 30px;
          display: flex;
          display: -webkit-flex;
          display: -ms-flexbox;
          -webkit-justify-content: space-between;
          /* Safari */
          justify-content: space-between;
          flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          /*--- IE10用 ---*/
          -webkit-flex-wrap: wrap;
          /*--- safari（PC）用 ---*/ } }
      .post-type-archive-ads .contents_wrap .posts .ads .primary,
      .post-type-archive-ads .contents_wrap .posts .ads .thumb {
        max-width: 200px;
        width: 100%;
        margin: 0 auto 30px; }
        @media screen and (min-width: 768px) {
          .post-type-archive-ads .contents_wrap .posts .ads .primary,
          .post-type-archive-ads .contents_wrap .posts .ads .thumb {
            max-width: 220px;
            margin: 0;
            margin-bottom: 0px; } }
        .post-type-archive-ads .contents_wrap .posts .ads .primary img,
        .post-type-archive-ads .contents_wrap .posts .ads .thumb img {
          display: block;
          width: 100%;
          height: auto; }
      .post-type-archive-ads .contents_wrap .posts .ads .secondary {
        width: 100%; }
        @media screen and (min-width: 768px) {
          .post-type-archive-ads .contents_wrap .posts .ads .secondary {
            width: calc(100% - 250px); } }
        .post-type-archive-ads .contents_wrap .posts .ads .secondary .title {
          display: block;
          padding-bottom: 10px;
          margin-bottom: 10px;
          color: #333;
          text-decoration: none;
          font-size: 2.0rem;
          line-height: calc(30 / 22);
          border-bottom: 1px solid #ccc; }
        .post-type-archive-ads .contents_wrap .posts .ads .secondary .info {
          line-height: calc(30 / 16);
          margin-bottom: 30px; }
          .post-type-archive-ads .contents_wrap .posts .ads .secondary .info .head {
            font-weight: bold; }
          .post-type-archive-ads .contents_wrap .posts .ads .secondary .info .brunche:after {
            content: "・"; }
          .post-type-archive-ads .contents_wrap .posts .ads .secondary .info .brunche:last-child:after {
            content: ""; }
        .post-type-archive-ads .contents_wrap .posts .ads .secondary .btn {
          display: block;
          width: 100%;
          background-color: #e70012;
          color: #fff;
          text-align: center;
          line-height: 60px;
          text-decoration: none;
          max-width: 100%; }
          @media screen and (min-width: 768px) {
            .post-type-archive-ads .contents_wrap .posts .ads .secondary .btn {
              max-width: 260px;
              line-height: 50px; } }
          .post-type-archive-ads .contents_wrap .posts .ads .secondary .btn span {
            position: relative; }
            .post-type-archive-ads .contents_wrap .posts .ads .secondary .btn span:before {
              position: absolute;
              display: block;
              content: "";
              width: 14px;
              height: 14px;
              background-image: url(assets/img/window_white.png);
              background-repeat: no-repeat;
              background-size: cover;
              background-position: center center;
              border: none;
              top: calc(50% - 6px);
              left: -25px; }
        .post-type-archive-ads .contents_wrap .posts .ads .secondary .caption {
          font-size: 1.4rem;
          color: #e70012;
          margin-top: 20px; }
  .post-type-archive-ads .contents_wrap .wp-pagenavi {
    width: 100%;
    text-align: center;
    padding: 13px 0;
    margin-bottom: 60px; }
    .post-type-archive-ads .contents_wrap .wp-pagenavi a,
    .post-type-archive-ads .contents_wrap .wp-pagenavi span {
      border: 1px solid #333;
      margin: 0 5px;
      padding: 12px 16px;
      color: #000; }
    .post-type-archive-ads .contents_wrap .wp-pagenavi a {
      position: relative; }
      .post-type-archive-ads .contents_wrap .wp-pagenavi a.previouspostslink {
        padding-left: 25px;
        margin-right: 15px; }
        .post-type-archive-ads .contents_wrap .wp-pagenavi a.previouspostslink:before {
          display: block;
          content: "";
          width: 4px;
          height: 4px;
          position: absolute;
          top: calc(50% - 2px);
          left: 10px;
          transform: rotate(-135deg);
          border-right: 2px solid #333;
          border-top: 2px solid #333; }
      .post-type-archive-ads .contents_wrap .wp-pagenavi a.nextpostslink {
        padding-right: 25px;
        margin-left: 15px; }
        .post-type-archive-ads .contents_wrap .wp-pagenavi a.nextpostslink:after {
          display: block;
          content: "";
          width: 4px;
          height: 4px;
          position: absolute;
          top: calc(50% - 2px);
          right: 10px;
          transform: rotate(45deg);
          border-right: 2px solid #333;
          border-top: 2px solid #333; }
      .post-type-archive-ads .contents_wrap .wp-pagenavi a.last, .post-type-archive-ads .contents_wrap .wp-pagenavi a.first {
        border: 1px solid #333;
        background-color: #333;
        color: #fff; }
    .post-type-archive-ads .contents_wrap .wp-pagenavi span.current {
      border: 1px solid #333;
      background-color: #333;
      color: #fff; }
    .post-type-archive-ads .contents_wrap .wp-pagenavi span.extend {
      border: none; }

.post-type-archive-brunches .contents_wrap {
  padding-top: 50px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  /*--- IE10用 ---*/
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  -webkit-justify-content: space-between;
  /* Safari */
  justify-content: space-between; }
  .post-type-archive-brunches .contents_wrap .head01 {
    width: 100%;
    margin-bottom: 60px; }
  .post-type-archive-brunches .contents_wrap .navi .links {
    display: flex;
    display: -webkit-flex;
    display: -ms-flexbox;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    /*--- IE10用 ---*/
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    margin-bottom: 40px; }
    .post-type-archive-brunches .contents_wrap .navi .links .link {
      list-style-type: none;
      padding: 0 15px;
      border-left: 1px solid #ccc;
      margin-bottom: 20px; }
      .post-type-archive-brunches .contents_wrap .navi .links .link:last-child {
        border-right: 1px solid #ccc; }
      .post-type-archive-brunches .contents_wrap .navi .links .link a {
        position: relative;
        padding-left: 15px; }
        .post-type-archive-brunches .contents_wrap .navi .links .link a:before {
          display: block;
          content: "";
          width: 0;
          height: 0;
          border: 4px solid transparent;
          border-top: 4px solid #f00;
          position: absolute;
          top: calc(50% - 2px);
          left: 0px; }
  .post-type-archive-brunches .contents_wrap .posts {
    width: 100%;
    padding-bottom: 120px; }
    .post-type-archive-brunches .contents_wrap .posts .brunches {
      border-top: 2px solid #e70012;
      background-color: #f5f5f5;
      padding: 30px 20px 40px 20px;
      margin-bottom: 30px; }
      @media screen and (min-width: 768px) {
        .post-type-archive-brunches .contents_wrap .posts .brunches {
          padding: 30px 30px;
          display: flex;
          display: -webkit-flex;
          display: -ms-flexbox;
          -webkit-justify-content: space-between;
          /* Safari */
          justify-content: space-between;
          flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          /*--- IE10用 ---*/
          -webkit-flex-wrap: wrap;
          /*--- safari（PC）用 ---*/ } }
      .post-type-archive-brunches .contents_wrap .posts .brunches .primary,
      .post-type-archive-brunches .contents_wrap .posts .brunches .thumb {
        width: 100%;
        margin: 0 auto 30px;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center center; }
        @media screen and (min-width: 768px) {
          .post-type-archive-brunches .contents_wrap .posts .brunches .primary,
          .post-type-archive-brunches .contents_wrap .posts .brunches .thumb {
            max-width: 300px;
            margin: 0;
            margin-bottom: auto; } }
        .post-type-archive-brunches .contents_wrap .posts .brunches .primary img,
        .post-type-archive-brunches .contents_wrap .posts .brunches .thumb img {
          display: block;
          width: 100%;
          height: auto; }
      .post-type-archive-brunches .contents_wrap .posts .brunches .secondary {
        width: 100%; }
        @media screen and (min-width: 768px) {
          .post-type-archive-brunches .contents_wrap .posts .brunches .secondary {
            width: calc(100% - 330px); } }
        .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .title {
          display: block;
          padding-bottom: 10px;
          margin-bottom: 10px;
          font-size: 2.0rem;
          line-height: calc(30 / 22);
          border-bottom: 1px solid #ccc;
          position: relative;
          padding-left: 15px; }
          .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .title:before {
            display: block;
            content: "";
            width: 0;
            height: 0;
            border: 4px solid transparent;
            border-left: 4px solid #f00;
            position: absolute;
            top: calc(50% - 8px);
            left: 0px; }
        .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .info {
          line-height: calc(30 / 16);
          margin-bottom: 30px; }
          .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .info .head {
            font-weight: bold; }
          @media screen and (min-width: 1024px) {
            .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .info .place {
              display: flex;
              display: -webkit-flex;
              display: -ms-flexbox;
              -webkit-justify-content: space-between;
              /* Safari */
              justify-content: space-between; } }
          .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .info .place .window {
            position: relative;
            padding-left: 20px;
            min-width: 160px;
            margin-bottom: auto; }
            .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .info .place .window:before {
              position: absolute;
              display: block;
              content: "";
              width: 14px;
              height: 14px;
              background-image: url(assets/img/window.png);
              background-repeat: no-repeat;
              background-size: cover;
              background-position: center center;
              border: none;
              top: calc(50% - 6px);
              left: 0; }
        @media screen and (min-width: 768px) {
          .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .buttons {
            display: flex;
            display: -webkit-flex;
            display: -ms-flexbox; } }
        .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .buttons .btn {
          display: block;
          width: 100%;
          background-color: #e70012;
          color: #fff;
          text-align: center;
          line-height: 60px;
          text-decoration: none;
          max-width: 320px;
          margin: 0 auto; }
          @media screen and (min-width: 768px) {
            .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .buttons .btn {
              max-width: 260px;
              line-height: 50px;
              font-size: 1.2rem; } }
          @media screen and (min-width: 1024px) {
            .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .buttons .btn {
              font-size: 1.6rem; } }
          .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .buttons .btn span {
            position: relative; }
            .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .buttons .btn span:before {
              position: absolute;
              display: block;
              content: "";
              width: 14px;
              height: 14px;
              background-image: url(assets/img/window_white.png);
              background-repeat: no-repeat;
              background-size: cover;
              background-position: center center;
              border: none;
              top: calc(50% - 6px);
              left: -25px; }
              @media screen and (min-width: 768px) {
                .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .buttons .btn span:before {
                  left: -15px; } }
              @media screen and (min-width: 1024px) {
                .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .buttons .btn span:before {
                  left: -25px; } }
          .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .buttons .btn.black {
            background-color: #555;
            margin-top: 30px; }
            @media screen and (min-width: 768px) {
              .post-type-archive-brunches .contents_wrap .posts .brunches .secondary .buttons .btn.black {
                margin-top: 0px;
                margin-left: 20px; } }
  .post-type-archive-brunches .contents_wrap .wp-pagenavi {
    width: 100%;
    text-align: center;
    padding: 13px 0;
    margin-bottom: 60px; }
    .post-type-archive-brunches .contents_wrap .wp-pagenavi a,
    .post-type-archive-brunches .contents_wrap .wp-pagenavi span {
      border: 1px solid #333;
      margin: 0 5px;
      padding: 12px 16px;
      color: #000; }
    .post-type-archive-brunches .contents_wrap .wp-pagenavi a {
      position: relative; }
      .post-type-archive-brunches .contents_wrap .wp-pagenavi a.previouspostslink {
        padding-left: 25px;
        margin-right: 15px; }
        .post-type-archive-brunches .contents_wrap .wp-pagenavi a.previouspostslink:before {
          display: block;
          content: "";
          width: 4px;
          height: 4px;
          position: absolute;
          top: calc(50% - 2px);
          left: 10px;
          transform: rotate(-135deg);
          border-right: 2px solid #333;
          border-top: 2px solid #333; }
      .post-type-archive-brunches .contents_wrap .wp-pagenavi a.nextpostslink {
        padding-right: 25px;
        margin-left: 15px; }
        .post-type-archive-brunches .contents_wrap .wp-pagenavi a.nextpostslink:after {
          display: block;
          content: "";
          width: 4px;
          height: 4px;
          position: absolute;
          top: calc(50% - 2px);
          right: 10px;
          transform: rotate(45deg);
          border-right: 2px solid #333;
          border-top: 2px solid #333; }
      .post-type-archive-brunches .contents_wrap .wp-pagenavi a.last, .post-type-archive-brunches .contents_wrap .wp-pagenavi a.first {
        border: 1px solid #333;
        background-color: #333;
        color: #fff; }
    .post-type-archive-brunches .contents_wrap .wp-pagenavi span.current {
      border: 1px solid #333;
      background-color: #333;
      color: #fff; }
    .post-type-archive-brunches .contents_wrap .wp-pagenavi span.extend {
      border: none; }

.single-brunches .contents_wrap {
  padding-top: 50px;
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  /*--- IE10用 ---*/
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  -webkit-justify-content: space-between;
  /* Safari */
  justify-content: space-between; }
  .single-brunches .contents_wrap .head01 {
    width: 100%;
    margin-bottom: 60px; }
  .single-brunches .contents_wrap > .main {
    width: 100%; }
    @media screen and (min-width: 768px) {
      .single-brunches .contents_wrap > .main {
        width: 48%; } }
    .single-brunches .contents_wrap > .main .sample06 .main {
      margin-bottom: 25px; }
      .single-brunches .contents_wrap > .main .sample06 .main img {
        display: block;
        width: 100%;
        height: auto; }
    .single-brunches .contents_wrap > .main .sample06 .main .swiper-slide {
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
      .single-brunches .contents_wrap > .main .sample06 .main .swiper-slide img {
        display: block;
        width: 100%;
        height: auto; }
    .single-brunches .contents_wrap > .main .sample06 .thumbnail {
      width: 85%;
      max-width: 400px;
      margin: 0 auto 0px; }
    .single-brunches .contents_wrap > .main .sample06 .thumbnail .swiper-slide {
      cursor: pointer;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center center; }
    .single-brunches .contents_wrap > .main .sample06 .thumbnail .swiper-slide-active {
      opacity: 1; }
    .single-brunches .contents_wrap > .main .sample06 .thumbnail .swiper-wrapper {
      margin-left: calc((100 / 3) - (3 / 2)); }
      .single-brunches .contents_wrap > .main .sample06 .thumbnail .swiper-wrapper img {
        display: block;
        width: 100%;
        height: auto; }
    .single-brunches .contents_wrap > .main .pager {
      width: 100%;
      max-width: 460px;
      position: relative;
      margin: 0 auto 60px;
      top: -30px; }
      @media screen and (min-width: 768px) {
        .single-brunches .contents_wrap > .main .pager {
          top: -40px; } }
      .single-brunches .contents_wrap > .main .pager .swiper-button-prev,
      .single-brunches .contents_wrap > .main .pager .swiper-button-next {
        background-image: none; }
      .single-brunches .contents_wrap > .main .pager .swiper-button-prev:before {
        display: block;
        content: "";
        width: 12px;
        height: 12px;
        position: absolute;
        top: calc(50% - 6px);
        left: 0px;
        transform: rotate(-135deg);
        border-right: 4px solid #999999;
        border-top: 4px solid #999999; }
        @media screen and (min-width: 1024px) {
          .single-brunches .contents_wrap > .main .pager .swiper-button-prev:before {
            left: 0px; } }
      .single-brunches .contents_wrap > .main .pager .swiper-button-next:after {
        display: block;
        content: "";
        width: 12px;
        height: 12px;
        position: absolute;
        top: calc(50% - 6px);
        right: 0px;
        transform: rotate(-135deg);
        border-left: 4px solid #999999;
        border-bottom: 4px solid #999999; }
        @media screen and (min-width: 1024px) {
          .single-brunches .contents_wrap > .main .pager .swiper-button-next:after {
            right: 0px; } }
    .single-brunches .contents_wrap > .main .btn {
      display: block;
      width: 100%;
      background-color: #e70012;
      color: #fff;
      text-align: center;
      line-height: 60px;
      text-decoration: none;
      margin: 0 auto 60px;
      max-width: 320px; }
      @media screen and (min-width: 768px) {
        .single-brunches .contents_wrap > .main .btn {
          max-width: 260px;
          line-height: 50px;
          font-size: 1.2rem; } }
      @media screen and (min-width: 1024px) {
        .single-brunches .contents_wrap > .main .btn {
          font-size: 1.6rem; } }
      .single-brunches .contents_wrap > .main .btn span {
        position: relative; }
        .single-brunches .contents_wrap > .main .btn span:before {
          position: absolute;
          display: block;
          content: "";
          width: 14px;
          height: 14px;
          background-image: url(assets/img/window_white.png);
          background-repeat: no-repeat;
          background-size: cover;
          background-position: center center;
          border: none;
          top: calc(50% - 6px);
          left: -25px; }
          @media screen and (min-width: 768px) {
            .single-brunches .contents_wrap > .main .btn span:before {
              left: -15px; } }
          @media screen and (min-width: 1024px) {
            .single-brunches .contents_wrap > .main .btn span:before {
              left: -25px; } }
      .single-brunches .contents_wrap > .main .btn.black {
        background-color: #555;
        margin-top: 30px; }
        @media screen and (min-width: 768px) {
          .single-brunches .contents_wrap > .main .btn.black {
            margin-top: 0px;
            margin-left: 20px; } }
  .single-brunches .contents_wrap .aside {
    width: 100%;
    border-top: 2px solid #e70012;
    background-color: #f5f5f5;
    padding: 30px 30px 20px 30px;
    margin-bottom: 100px; }
    @media screen and (min-width: 768px) {
      .single-brunches .contents_wrap .aside {
        width: 48%; } }
    .single-brunches .contents_wrap .aside .info dt {
      font-weight: bold;
      line-height: calc(30 / 16); }
    .single-brunches .contents_wrap .aside .info dd {
      border-bottom: 1px solid #ccc;
      padding-bottom: 20px;
      margin-bottom: 20px;
      line-height: calc(30 / 16); }
  .single-brunches .contents_wrap .link {
    width: 100%;
    text-align: center;
    margin-bottom: 130px; }

/*# sourceMappingURL=style.css.map */
.topsns {
	text-align: center;
	margin-top: -60px;
	padding-bottom: 100px;
}

.topsns h2 {
	font-size: 24px;
	font-weight: bold;
	padding-bottom: 25px;
}
@media screen and (max-width: 767px) {
	.topsns h2 {
		font-size: 20px;
	}
}
.recread {
	position: relative;
	padding-right: 350px;
	padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
	.recread{
		padding-right: 0;
		padding-bottom: 20px;
		   }
}
.recread h3 {
	font-size: 22px;
	color: #be2537;
	padding-bottom: 15px;
	line-height: 1.6em;
	font-weight: normal;
}
.recread p {
	font-size: 16px;
	line-height: 1.8em;
}
.recread img {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 319px;
	height: auto;
}
@media screen and (max-width: 767px) {
	.recread img{
		position: relative;
		margin: 0 auto 15px auto;
		width: 100%;
	}
}
.flbox {
	display: flex;
	justify-content:space-between;
	flex-wrap: wrap;
	padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
	.flbox {
		display: block;
	}
}
.flbox div.inbox {
	width: 484px;
	margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
	.flbox div.inbox {
		width: 100%;
		padding-bottom: 40px;
		margin-bottom: 0;
	}
}
.flbox h3 {
	font-size: 20px;
	border-bottom: #333 2px solid;
	margin-bottom: 30px;
	padding-bottom: 10px;
}
.flbox div.boxsch {
	border: #ccc 1px solid;
	padding: 20px;
}
.flbox div.boxsch h4 {
	color: #be2537;
	font-size: 20px;
	font-weight: bold;
	padding-bottom: 25px;
}
@media screen and (max-width: 767px) {
	.flbox div.boxsch h4 {
		font-size: 18px;
	}
}
.flbox div.boxsch dl.time {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flbox div.boxsch dl.time dt {
	width: 75px;
	display: block;
	box-sizing: border-box;
	padding-top: 25px;
	position: relative;
	font-size: 16px;
	font-weight: bold;
	padding-bottom: 10px;
}
.flbox div.boxsch dl.time dt::after {
	position: absolute;
    display: block;
    content: '';
    width: 10px;
    height: 10px;
    border: 5px solid #be2537;
    border-radius: 50%;
    background-color: #fff;
    right: -11px;
    top: 22px;
}
.flbox div.boxsch dl.time dd {
	width: calc(100% - 75px);
	font-size: 16px;
	display: block;
	border-left: #333 1px solid;
	padding-top: 25px;
	padding-left: 20px;
	box-sizing: border-box;
	padding-bottom: 10px;
	line-height: 1.6em;
}
.flbox div.svoice {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flbox div.svoice div.img {
	width: 100px;
}
.flbox div.svoice div.voice {
	width: calc(100% - 105px);
	background: #efefef;
	padding: 25px 20px;
	box-sizing: border-box;
	margin-bottom: 20px;
	position: relative;
}
.flbox div.svoice div.voice::before {
	position: absolute;
	top: 35px;
	left: -30px;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 20px;
	height: 20px;
	border: 20px solid transparent;
	border-right:  20px solid #efefef;
	box-sizing: border-box;
}
.flbox div.svoice div.voice h4 {
	font-size: 18px;
	font-weight: bold;
	padding-bottom: 15px;
	line-height: 1.6em;
}
.flbox div.svoice div.voice p {
	font-size: 16px;
	line-height: 1.6em;
}
.btnmg {
	margin-bottom: 60px;
	display: block;
}
body.single-requirements .contents_wrap section.related > .requirements  .img {
	width: 188px;
	margin: 0 auto 30px auto;
}

body.single-requirements .contents_wrap section.related > .requirements  .img img {
	width: 100%;
	display: block;
}

@media screen and (min-width: 768px) {
body.single-requirements .contents_wrap section.related > .requirements .primary.middle {
	width: calc(100% - 500px);
}
body.single-requirements .contents_wrap section.related > .requirements  .img {
	margin: 0;
}
}