.lp-header {
  background: url("../images/top.jpg") top center no-repeat;
  background-size: cover; }
  .lp-header.loading {
    background: url("../images/plan.svg") center center no-repeat;
    background-size: cover; }
  .lp-header .lp-header-wrapper {
    max-width: 1000px;
    margin: auto;
    padding: 20px; }
    .lp-header .lp-header-wrapper #lp-top {
      background-color: rgba(174, 4, 20, 0.8);
      padding: 35px;
      margin-left: 58%;
      color: #fff; }
      .lp-header .lp-header-wrapper #lp-top h1 {
        text-align: center;
        margin: 0 auto 15px; }
        .lp-header .lp-header-wrapper #lp-top h1 span {
          display: block;
          line-height: 160%;
          font-size: 32px; }
          .lp-header .lp-header-wrapper #lp-top h1 span.title {
            font-size: 38px;
            font-weight: bold;
            line-height: 130%; }
      .lp-header .lp-header-wrapper #lp-top p {
        font-size: 18px;
        font-weight: bold;
        margin-bottom: 20px; }
      .lp-header .lp-header-wrapper #lp-top .lp-entry li {
        text-align: center; }
        .lp-header .lp-header-wrapper #lp-top .lp-entry li a {
          display: block;
          background: #fff;
          color: #AE0414;
          font-size: 24px;
          line-height: 1em;
          padding: 25px 10px;
          border: 2px #fff solid;
          box-sizing: border-box;
          -webkit-transition: background .5s ease-in-out 0s, color .5s ease-in-out 0s;
          transition: background .5s ease-in-out 0s, color .5s ease-in-out 0s; }
          .lp-header .lp-header-wrapper #lp-top .lp-entry li a:hover {
            background: #AE0414;
            color: #fff; }

.section:nth-child(odd) {
  background: #f1f1ef; }
.section .inner {
  max-width: 1000px;
  margin: auto;
  padding: 60px 20px;
  box-sizing: border-box;
  text-align: center; }
.section h2 {
  font-size: 36px;
  font-weight: bold;
  color: #333;
  margin-bottom: 50px; }
.section p.copy {
  font-size: 18px;
  margin: 50px auto; }
  .section p.copy span {
    display: block; }
.section .lp-entry {
  margin: 50px auto; }
  .section .lp-entry ul {
    display: flex;
    justify-content: space-around; }
    .section .lp-entry ul li {
      width: 48%; }
      .section .lp-entry ul li a {
        display: block;
        background-color: #AE0414;
        border: 2px #AE0414 solid;
        padding: 25px;
        color: #fff;
        font-size: 30px;
        line-height: 1em;
        border: 2px #AE0414 solid;
        box-sizing: border-box;
        -webkit-transition: background .5s ease-in-out 0s, color .5s ease-in-out 0s;
        transition: background .5s ease-in-out 0s, color .5s ease-in-out 0s; }
        .section .lp-entry ul li a:hover {
          background: #fff;
          color: #AE0414; }
      .section .lp-entry ul li.white a {
        background-color: #fff;
        border: 2px #AE0414 solid;
        color: #AE0414; }
        .section .lp-entry ul li.white a:hover {
          background: #AE0414;
          color: #fff; }

#person p.copy_big span {
  display: inline-block;
  border-bottom: 6px #ff9900 solid;
  font-size: 36px;
  margin-bottom: 30px;
  padding: 0px;
  line-height: 80%; }
#person dl.person_dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-radius: 10px;
  border: 1px #AE0414 solid;
  background-color: #AE0414;
  text-align: left;
  margin: 20px auto; }
  #person dl.person_dl dt {
    width: 265px;
    white-space: nowrap;
    border-radius: 9px;
    background: url("../images/person_check.svg") 25px center no-repeat;
    background-size: 27px auto;
    padding: 0px 20px 0 65px;
    font-size: 24px;
    font-weight: bold;
    color: #fff; }
  #person dl.person_dl dd {
    width: calc( 100% - 265px );
    border-radius: 0 9px 9px 0;
    padding: 10px 20px;
    font-size: 20px;
    background-color: #fff; }

#careerplan dl.plan_dl dt {
  background-color: #AE0414;
  color: #fff;
  padding: 10px;
  font-size: 22px;
  font-weight: bold; }
#careerplan dl.plan_dl dd {
  border: 2px #AE0414 solid;
  border-width: 0 2px 2px 2px;
  padding: 25px 50px;
  font-size: 18px;
  text-align: left;
  position: relative;
  margin-bottom: 50px; }
  #careerplan dl.plan_dl dd:not(:last-of-type)::after {
    content: '';
    width: 100%;
    height: 50px;
    background: #f00;
    position: absolute;
    background: url("../images/plan.svg") center center no-repeat;
    background-size: contain;
    bottom: -50px;
    left: 0; }
  #careerplan dl.plan_dl dd p.note {
    font-size: 14px;
    margin-top: 0.5em; }

#staffvoice ul.voice li {
  background: #fff;
  border-radius: 10px;
  margin: 20px auto 20px 90px;
  padding: 25px 35px;
  font-size: 18px;
  text-align: left;
  position: relative; }
  #staffvoice ul.voice li::before {
    content: '';
    border: 15px solid transparent;
    border-top-color: #fff;
    position: absolute;
    -ms-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    left: -30px;
    top: 50%;
    margin-top: -15px; }
  #staffvoice ul.voice li::after {
    content: '';
    width: 65px;
    height: 65px;
    position: absolute;
    top: 0;
    left: -90px;
    background: url("../images/voice.svg") center center no-repeat;
    background-size: contain;
    top: 50%;
    margin-top: -32px; }

#seminarinfo .guideline {
  margin: auto;
  border-collapse: collapse; }
  #seminarinfo .guideline th, #seminarinfo .guideline td {
    border: 1px #aaa solid;
    border-width: 1px 0 1px 0;
    padding: 25px;
    font-size: 18px;
    text-align: left; }
  #seminarinfo .guideline th {
    color: #7a7a7a;
    font-weight: bold;
    white-space: nowrap;
    border-color: #000; }
  #seminarinfo .guideline .dlist dt:not(:first-child) {
    margin: 5px 0 0; }
  #seminarinfo .guideline .dlist dd {
    margin: 0 0 0 1em; }
  #seminarinfo .guideline a {
    color: #AE0414;
    text-decoration: underline; }

@media screen and (max-width: 768px) {
  body {
    padding-bottom: 0; }

  .lp-header {
    background: url("../images/top-sp.jpg") top center no-repeat;
    background-size: contain; }
    .lp-header .lp-header-wrapper {
      padding: 0;
      padding-top: calc(( 240 / 375 ) * 100% ); }
      .lp-header .lp-header-wrapper #lp-top {
        background-color: #AE0414;
        margin: auto;
        padding: 30px 20px; }
        .lp-header .lp-header-wrapper #lp-top h1 span {
          font-size: 30px; }
          .lp-header .lp-header-wrapper #lp-top h1 span.title {
            font-size: 30px; }
        .lp-header .lp-header-wrapper #lp-top p {
          font-size: 14px;
          margin-bottom: 15px; }

  .section .inner {
    padding: 40px 20px; }
  .section h2 {
    font-size: 22px;
    margin-bottom: 30px; }
  .section p.copy {
    font-size: 14px;
    margin: 30px auto;
    text-align: left; }
    .section p.copy span {
      display: inline; }
      .section p.copy span.br:before {
        content: '\A';
        white-space: pre; }
  .section .lp-entry ul {
    flex-wrap: wrap; }
    .section .lp-entry ul li {
      width: 100%;
      margin: 5px auto; }
      .section .lp-entry ul li a {
        padding: 20px;
        font-size: 20px; }

  #person p.copy_big span {
    font-size: 24px;
    margin-bottom: 24px; }
  #person dl.person_dl {
    display: block;
    margin: 15px auto; }
    #person dl.person_dl dt {
      width: auto;
      padding: 10px;
      font-size: 16px;
      text-align: center; }
    #person dl.person_dl dd {
      width: auto;
      border-radius: 0 0 9px 9px;
      font-size: 14px; }

  #careerplan dl.plan_dl dt {
    font-size: 16px; }
  #careerplan dl.plan_dl dd {
    padding: 10px 15px;
    margin-bottom: 32px;
    font-size: 14px; }
    #careerplan dl.plan_dl dd:not(:last-of-type)::after {
      background: url("../images/plan.svg") center bottom no-repeat;
      background-size: 38px auto;
      bottom: -32px;
      height: 32px; }

  #staffvoice ul.voice li {
    margin: 15px auto 15px 60px;
    padding: 15px 20px;
    font-size: 14px; }
    #staffvoice ul.voice li::before {
      left: -25px;
      top: 30px; }
    #staffvoice ul.voice li::after {
      left: -65px;
      background-size: 28px auto;
      top: 0px;
      margin-top: 0; }

  #seminarinfo .guideline {
    border-bottom: 1px #aaa solid; }
    #seminarinfo .guideline th, #seminarinfo .guideline td {
      border: none;
      font-size: 14px;
      display: block;
      padding: 25px 25px; }
    #seminarinfo .guideline th {
      color: #7a7a7a;
      font-weight: bold;
      white-space: nowrap;
      border-color: #aaa;
      border-top: 1px #aaa solid;
      padding-bottom: 0px; }
    #seminarinfo .guideline td {
      padding-top: 10px; } }
