@charset "UTF-8";
/* ==================================
レスポンシブ設計
===================================*/
.pc {
  display: block; }
  @media screen and (max-width: 897px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 897px) {
    .sp {
      display: block; } }

/* ================================
BASE
================================ */
.wrapper {
  max-width: 1140px;
  margin: auto;
  font-size: 1.7rem;
  line-height: 1.7; }
  @media screen and (max-width: 897px) {
    .wrapper {
      font-size: 1.5rem;
      line-height: 1.6; } }
  .wrapper img {
    border: 0;
    padding: 0;
    margin: 0;
    vertical-align: bottom;
    width: 100%; }
  .wrapper a:hover {
    opacity: 0.6; }

/* ================================
mainview
================================ */
.mainview {
  text-align: center;
  max-width: 1600px;
  margin: auto; }
  @media screen and (max-width: 897px) {
    .mainview {
      padding: 30px 0 0 0;
      margin: 0 20px; } }
  .mainview__box .img img {
    width: 100%; }

/* ================================
mainview
================================ */
.photo {
  padding: 90px 0 30px 0; }
  @media screen and (max-width: 897px) {
    .photo {
      padding: 40px 20px 10px 20px; } }
  .photo__box {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 897px) {
      .photo__box {
        display: block; } }
    .photo__box .img {
      width: 32%;
      padding: 2%;
      border: 1px solid #f4f4f4; }
      @media screen and (max-width: 897px) {
        .photo__box .img {
          width: 100%;
          border-bottom: none;
          padding: 2% 2% 0 2%; } }
    .photo__box .txt {
      width: 63%; }
      @media screen and (max-width: 897px) {
        .photo__box .txt {
          padding: 0;
          width: 100%; } }
      .photo__box .txt h3 {
        padding: 0 0 15px 0;
        margin: 0 0 40px 0;
        font-size: 1.8rem;
        font-weight: 500;
        border-bottom: 2px solid #f4f4f4; }
        @media screen and (max-width: 897px) {
          .photo__box .txt h3 {
            text-align: center;
            border-bottom: none;
            padding: 4% 0;
            margin: 0 0 20px 0;
            border: 1px solid #f4f4f4;
            border-top: none; } }
        .photo__box .txt h3 a {
          font-size: 2.1rem;
          font-weight: 700; }
          @media screen and (max-width: 897px) {
            .photo__box .txt h3 a {
              font-size: 1.8rem; } }
      .photo__box .txt h4 {
        font-size: 1.7rem;
        font-weight: 700;
        display: inline-block;
        background: #eee;
        color: #222;
        padding: 10px 15px;
        margin: 0; }
      .photo__box .txt p {
        display: block;
        background: #f7f7f7;
        padding: 15px;
        border: 1px solid #eee; }
    .photo__box:not(:first-of-type) {
      padding: 60px 0 0 0; }
      @media screen and (max-width: 897px) {
        .photo__box:not(:first-of-type) {
          padding: 20px 0 0 0; } }
  .photo__copy {
    padding: 60px 0 0 0; }
    @media screen and (max-width: 897px) {
      .photo__copy {
        padding: 20px 0 0 0; } }
    .photo__copy p {
      font-size: 2.0rem;
      text-align: center; }
      @media screen and (max-width: 897px) {
        .photo__copy p {
          text-align: left;
          font-size: 1.5rem; } }
      .photo__copy p:first-of-type {
        font-weight: 700;
        padding: 0 0 15px 0; }
        @media screen and (max-width: 897px) {
          .photo__copy p:first-of-type {
            padding: 0 0 8px 0;
            font-size: 1.5rem; } }
      .photo__copy p:last-of-type {
        padding: 15px 0 0 0; }
        @media screen and (max-width: 897px) {
          .photo__copy p:last-of-type {
            padding: 8px 0 0 0; } }
