.about .hero {
  background: url(/about/img/bg_about.jpg) no-repeat center;
  background-size: cover; }
.about #message .detail p {
  text-indent: 1em;
  margin-bottom: 0; }
.about .contents01 .sp-only {
  display: none; }
.about .contents01 h3 {
  text-indent: 1em; }
.about .contents02 h2 {
  color: #fff; }
.about .contents02 .inner .conts .icon img {
  width: 100px; }
.about .contents02 .inner .conts h3 {
  color: #08BBF2;
  margin-top: 5px; }
.about .contents02 .inner .conts h4 {
  margin-top: 0;
  font-size: 20px; }
.about .contents02 .inner .conts p {
  text-align: left; }
.about .contents03 {
  background: #f3f3f3 url(/common/img/bg_saya.png);
  position: relative; }
  .about .contents03 .ttl {
    text-align: center; }
    .about .contents03 .ttl h2 {
      margin: 0 auto 25px;
      display: flex;
      justify-content: center;
      align-items: center; }
.about .contents04 {
  width: 94%;
  max-width: 900px;
  margin: 50px auto; }
  .about .contents04 table {
    margin: 0 auto;
    border-collapse: collapse; }
    .about .contents04 table td, .about .contents04 table th {
      padding: 0.5em 1em; }
    .about .contents04 table tr {
      border: 1px solid #1f83bd; }
    .about .contents04 table th {
      width: 9em;
      border-right: 1px solid #1f83bd;
      text-align: left;
      background: #fff; }

@media screen and (max-width: 750px) {
  .pc-only {
    display: none; }

  .about .contents01 {
    margin: 0 auto;
    padding: 50px 0 45%;
    width: 100%;
    background: url(/about/img/img_ceo_sp.jpg) no-repeat right 40% bottom;
    background-size: 700px; }
    .about .contents01 h2 {
      margin-bottom: 10px;
      text-align: center; }

  .contents04 h2 {
    margin-bottom: 10px;
    text-align: center;
    letter-spacing: 0; }

  .about .contents01 h2 span, .contents04 h2 span {
    display: block;
    font-size: 18px; }

  .about .contents01 h3 {
    font-size: 18px;
    text-align: center;
    margin: 0 auto 15px;
    letter-spacing: normal;
    text-indent: 0; }
  .about .contents01 .detail {
    margin: 0 auto 20px;
    width: 90%;
    font-size: 14px; }
    .about .contents01 .detail p {
      margin-bottom: 20px; }
      .about .contents01 .detail p:last-child {
        margin-bottom: 0; }
  .about .contents01 .sign {
    margin: 0 auto;
    width: 90%; }
    .about .contents01 .sign img.sp-only {
      display: block;
      width: 130px; }
  .about .contents02 {
    margin-bottom: 30px; }
    .about .contents02 .point-header {
      background: url(/about/img/bg_point.jpg) no-repeat;
      background-size: cover;
      padding: 40px 20px 50px;
      text-align: center;
      color: #fff; }
      .about .contents02 .point-header p {
        font-size: 14px; }
    .about .contents02 h2 {
      text-align: center;
      line-height: 1.2;
      color: #08BBF2;
      margin-bottom: 15px; }
      .about .contents02 h2 span {
        font-size: inherit;
        color: inherit; }
    .about .contents02 .wrapper {
      margin: -30px auto 0; }
      .about .contents02 .wrapper .inner {
        margin: 0 auto 8px;
        padding: 20px;
        width: 90%;
        background: #fff;
        border: 1px solid #f3f3f3;
        box-sizing: border-box;
        display: table; }
  .about .contents03 .inner figure img {
    width: 100%;
    height: auto; }
  .about .contents02 .wrapper .inner .conts {
    display: table-cell;
    vertical-align: middle;
    box-sizing: border-box; }
    .about .contents02 .wrapper .inner .conts .icon {
      float: left;
      width: 120px; }
    .about .contents02 .wrapper .inner .conts .ttl {
      float: left; }
    .about .contents02 .wrapper .inner .conts h3 {
      margin: 0 0 10px;
      line-height: 1; }
    .about .contents02 .wrapper .inner .conts h4 {
      font-size: 16px; }
    .about .contents02 .wrapper .inner .conts p {
      font-size: 13px; }
  .about .contents03 {
    margin: 0 auto;
    padding: 25px 0 0;
    width: 100%; }
    .about .contents03 h2 {
      font-size: 22px; }
    .about .contents03 .readtxt {
      margin-bottom: 25px;
      text-align: center;
      color: #fff;
      font-size: 18px;
      padding: 0 15px; }
    .about .contents03 .inner {
      background: #fff;
      width: 100%; }
      .about .contents03 .inner .wrap {
        padding: 30px 15px 0;
        text-align: center; }
        .about .contents03 .inner .wrap .ttl {
          font-size: 16px;
          margin-bottom: 5px; }
        .about .contents03 .inner .wrap h3 {
          margin: 0 0 20px; }
        .about .contents03 .inner .wrap p {
          margin-bottom: 20px;
          font-size: 13px;
          text-align: left; }
      .about .contents03 .inner figure {
        width: 100%;
        height: auto;
        font-size: 0;
        line-height: 0;
        margin: 0; } }
@media screen and (min-width: 751px) and (max-width: 1199px) {
  .pc-only {
    display: none; }

  .about .contents01 {
    margin: 0 auto;
    padding: 20px 0 45%;
    width: 100%;
    background: url(/about/img/img_ceo_sp.jpg) no-repeat center bottom; }
    .about .contents01 h2 {
      margin: 30px 0 10px;
      text-align: center; }
      .about .contents01 h2 span {
        display: block; }
    .about .contents01 h3 {
      margin-bottom: 15px;
      font-size: 24px;
      text-align: center; }
    .about .contents01 .detail {
      margin: 0 auto 20px;
      width: 90%;
      font-size: 18px; }
      .about .contents01 .detail p {
        margin-bottom: 20px; }
        .about .contents01 .detail p:last-child {
          margin-bottom: 0; }
    .about .contents01 .sign {
      float: left;
      margin-left: 5%; }
      .about .contents01 .sign img.sp-only {
        display: block;
        width: 150px; }
  .about .contents02, .about .contents03 {
    margin: 0 auto;
    width: 100%; }
  .about .contents02 .point-header {
    background: url(/about/img/bg_point.jpg) no-repeat;
    background-size: cover;
    padding: 40px 20px 70px;
    text-align: center;
    color: #fff; }
    .about .contents02 .point-header p {
      font-size: 16px;
      display: block !important; }
  .about .contents02 h2 {
    margin-bottom: 20px;
    text-align: center;
    color: #08BBF2; }
  .about .contents02 .wrapper {
    margin: -40px auto 50px; }
    .about .contents02 .wrapper .inner {
      margin: 0 auto 20px;
      padding: 40px;
      width: 90%;
      background: #fff;
      border: 1px solid #f3f3f3;
      box-sizing: border-box;
      display: table; }
  .about .contents03 .inner figure img {
    width: 100%;
    height: auto; }
  .about .contents02 .wrapper .inner .conts {
    display: table-cell;
    vertical-align: middle;
    box-sizing: border-box;
    padding-left: 5%; }
    .about .contents02 .wrapper .inner .conts .icon {
      float: left;
      width: 120px; }
    .about .contents02 .wrapper .inner .conts .ttl {
      float: left; }
    .about .contents02 .wrapper .inner .conts h3 {
      margin: 0 0 10px;
      line-height: 1; }
    .about .contents02 .wrapper .inner .conts p {
      font-size: 18px; }
  .about .contents03 {
    padding: 25px 0 0; }
    .about .contents03 .ttl h2 {
      margin-bottom: 25px; }
    .about .contents03 .readtxt {
      margin-bottom: 25px;
      text-align: center;
      color: #fff;
      font-size: 24px; }
    .about .contents03 .inner {
      background: #fff;
      width: 100%; }
      .about .contents03 .inner .wrap {
        padding: 30px 0 0; }
        .about .contents03 .inner .wrap .ttl {
          font-size: 20px;
          display: block !important;
          margin-bottom: 10px; }
        .about .contents03 .inner .wrap h3 {
          margin: 0 0 20px;
          text-align: center; }
        .about .contents03 .inner .wrap p {
          margin: 0 auto 20px;
          width: 90%;
          font-size: 18px; }
          .about .contents03 .inner .wrap p .ttl {
            text-align: center; }

  .contents04 h2 {
    text-align: center; }

  .about .contents03 .inner figure {
    margin: 0;
    font-size: 0;
    line-height: 0; }

  .contents04 h2 {
    margin-bottom: 10px; }
  .contents04 table {
    width: 640px; } }
@media screen and (min-width: 751px) and (max-width: 900px) {
  .about .contents01 {
    background-size: 850px; } }
@media screen and (min-width: 901px) and (max-width: 980px) {
  .about .contents01 {
    background-size: 1000px; } }
@media screen and (min-width: 981px) and (max-width: 1199px) {
  .about .contents01 {
    background-size: 1100px; } }
@media screen and (min-width: 1200px) {
  .about .contents01 {
    margin: 0 auto;
    padding: 40px 0 20px;
    max-width: 1160px;
    width: 100%;
    background: url(/about/img/img_ceo.jpg) no-repeat right bottom; }
    .about .contents01 h2 {
      margin-bottom: 25px;
      text-align: center; }
    .about .contents01 h3 {
      font-size: 24px; }
    .about .contents01 .detail {
      margin-bottom: 20px;
      width: 595px; }
      .about .contents01 .detail p {
        margin-bottom: 20px; }
        .about .contents01 .detail p:last-child {
          margin-bottom: 0; }
    .about .contents01 .sign {
      width: 595px;
      text-align: right; }
  .about .contents02 {
    margin: 0 auto;
    padding: 70px 0 60px;
    width: 100%;
    background: url(/about/img/bg_point.jpg) no-repeat center center;
    background-size: cover; }
    .about .contents02 h2 {
      margin-bottom: 25px;
      text-align: center;
      color: #08BBF2; }
    .about .contents02 .wrapper {
      margin: 0 auto;
      width: 1160px;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between; }
      .about .contents02 .wrapper .inner {
        padding: 20px 0 45px;
        width: 380px;
        background: #fff;
        text-align: center; }
        .about .contents02 .wrapper .inner figure {
          margin: 0 auto 30px; }
        .about .contents02 .wrapper .inner h3 {
          margin-bottom: 10px; }
        .about .contents02 .wrapper .inner p {
          padding: 0 15px; }
  .about .contents03 {
    margin: 0 auto;
    padding: 70px 0 0;
    width: 100%; }
    .about .contents03 .ttl h2 {
      margin-bottom: 70px; }
    .about .contents03 .readtxt {
      margin-bottom: 70px;
      text-align: center;
      color: #fff;
      font-size: 20px; }
    .about .contents03 .inner {
      background: #fff;
      width: 100%;
      overflow: hidden;
      display: table; }
      .about .contents03 .inner .wrap {
        display: table-cell;
        vertical-align: middle;
        width: 50%;
        padding: 30px;
        direction: ltr;
        position: relative; }
        .about .contents03 .inner .wrap .ttl {
          position: absolute;
          top: 45px;
          font-size: 20px;
          display: block !important;
          margin-bottom: 0;
          transform: rotate(90deg);
          -webkit-transform: rotate(90deg);
          -moz-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
          -o-transform: rotate(90deg); }
        .about .contents03 .inner .wrap h3 {
          margin: 0 0 50px;
          text-align: center; }
        .about .contents03 .inner .wrap .text {
          font-size: 15px;
          width: 85%;
          margin: 0 auto; }
      .about .contents03 .inner figure {
        display: table-cell;
        vertical-align: middle;
        width: 50%;
        height: auto;
        font-size: 0;
        line-height: 0; }
        .about .contents03 .inner figure img {
          width: 100%;
          height: 100%;
          display: block;
          object-fit: cover; }
    .about .contents03 .merit02 {
      direction: rtl; }
      .about .contents03 .merit02 .ttl {
        left: -25px; }
    .about .contents03 .merit01 .ttl, .about .contents03 .merit03 .ttl {
      right: -25px; }

  .contents04 h2 {
    margin-bottom: 25px;
    text-align: center; }
  .contents04 table {
    min-width: 750px; } }
@media screen and (min-width: 1800px) {
  .about .contents03 .inner .wrap p {
    font-size: 16px; } }
@media screen and (max-width: 480px) {
  .about .hero {
    background: url(/about/img/bg_about_sp.jpg) no-repeat;
    background-size: cover; }
  .about .contents01 {
    background-size: 540px; }
  .about .contents02 .wrapper .inner .conts .icon {
    width: 80px; }
    .about .contents02 .wrapper .inner .conts .icon img {
      width: 60px; }
  .about .contents02 .wrapper .inner .conts h4 {
    font-size: 13px;
    letter-spacing: 0; }
  .about .contents04 table {
    font-size: 14px; }
    .about .contents04 table th {
      width: 7em; } }
