@media screen and (max-width: 768px) {
  .aboutPage, .servicePage, .contactPage {
    background-size: 130% auto !important; } }

.aboutPage {
  background: #3a8c65 url("../cmn_img/about/bg.png") no-repeat top right/auto; }
  .aboutPage .pcHd .navList > li.about a::before {
    content: ""; }
  .aboutPage .sec01 .stateList > li {
    font-size: 0;
    margin-bottom: 50px; }
    @media screen and (max-width: 768px) {
      .aboutPage .sec01 .stateList > li {
        margin-bottom: 35px; } }
    .aboutPage .sec01 .stateList > li .num {
      font-family: "Sorts Mill Goudy", serif;
      font-size: 6.0rem;
      width: 110px;
      display: inline-block;
      vertical-align: top;
      line-height: 1;
      margin-top: -5px; }
      @media screen and (max-width: 768px) {
        .aboutPage .sec01 .stateList > li .num {
          font-size: 4.2rem;
          width: 65px;
          margin-top: 0; } }
    .aboutPage .sec01 .stateList > li .wrap {
      font-size: 1.8rem;
      width: calc(100% - 110px);
      display: inline-block;
      vertical-align: top; }
      @media screen and (max-width: 768px) {
        .aboutPage .sec01 .stateList > li .wrap {
          width: calc(100% - 65px);
          font-size: 1.2rem; } }
      .aboutPage .sec01 .stateList > li .wrap .ttl {
        font-size: 1.2rem;
        margin-top: 5px; }
        @media screen and (max-width: 768px) {
          .aboutPage .sec01 .stateList > li .wrap .ttl {
            font-size: 1.0rem; } }
        .aboutPage .sec01 .stateList > li .wrap .ttl span {
          display: inline-block;
          margin-right: 7px;
          font-size: 2.4rem;
          font-family: "Sorts Mill Goudy", serif; }
          @media screen and (max-width: 768px) {
            .aboutPage .sec01 .stateList > li .wrap .ttl span {
              font-size: 1.7rem; } }
    .aboutPage .sec01 .stateList > li.last {
      margin-bottom: 0 !important; }
  .aboutPage .sec02 .tbl {
    text-align: left; }
    .aboutPage .sec02 .tbl tr th, .aboutPage .sec02 .tbl tr td {
      padding: 10px 0; }
      @media screen and (max-width: 768px) {
        .aboutPage .sec02 .tbl tr th, .aboutPage .sec02 .tbl tr td {
          font-size: 1.3rem; } }
    .aboutPage .sec02 .tbl tr th {
      width: 25%; }
      @media screen and (max-width: 768px) {
        .aboutPage .sec02 .tbl tr th {
          width: 100px; } }

.conceptPage {
  background: #4a8398 url("../cmn_img/contact/bg.png") no-repeat top right/auto; }
  .conceptPage .pcHd .navList > li.concept a::before {
    content: ""; }
  .conceptPage .sec01 .ctArea {
    font-size: 0; }
  .conceptPage .sec01 .boxL {
    text-align: center;
    width: 250px;
    margin-right: 60px;
    display: inline-block;
    vertical-align: middle;
    font-size: 8.0rem;
    line-height: 1.3; }
    @media screen and (max-width: 768px) {
      .conceptPage .sec01 .boxL {
        width: auto;
        margin: 0;
        font-size: 4.2rem; } }
    .conceptPage .sec01 .boxL span {
      font-size: 1.8rem;
      display: block;
      color: #3a8c65;
      background: #fff;
      margin-top: 5px;
      text-align: center;
      padding: 7px 0 1px 0;
      font-family: "Sorts Mill Goudy", serif;
      line-height: 1; }
      @media screen and (max-width: 768px) {
        .conceptPage .sec01 .boxL span {
          font-size: 1.3rem; } }
  .conceptPage .sec01 .boxR {
    width: calc(100% - 310px);
    display: inline-block;
    vertical-align: middle;
    margin-top: 10px; }
    @media screen and (max-width: 768px) {
      .conceptPage .sec01 .boxR {
        width: 100%;
        display: block; } }
    .conceptPage .sec01 .boxR .tx01 {
      font-size: 2.4rem; }
      @media screen and (max-width: 768px) {
        .conceptPage .sec01 .boxR .tx01 {
          font-size: 1.7rem; } }
    .conceptPage .sec01 .boxR .tx02 {
      font-size: 1.3rem;
      margin-top: 10px; }
      @media screen and (max-width: 768px) {
        .conceptPage .sec01 .boxR .tx02 {
          font-size: 1.2rem; } }
  .conceptPage .sec02 .copy {
    font-size: 3.0rem; }
    @media screen and (max-width: 768px) {
      .conceptPage .sec02 .copy {
        font-size: 1.7rem; } }
  .conceptPage .sec02 .tx {
    font-size: 1.6rem;
    margin-top: 30px; }
    @media screen and (max-width: 768px) {
      .conceptPage .sec02 .tx {
        font-size: 1.2rem;
        margin-top: 20px; } }

.servicePage {
  background: #c2674e url("../cmn_img/service/bg.png") no-repeat top right/auto; }
  .servicePage .pcHd .navList > li.service a::before {
    content: ""; }
  .servicePage .sec01 .tx {
    font-size: 1.7rem; }
    @media screen and (max-width: 768px) {
      .servicePage .sec01 .tx {
        font-size: 1.3rem; } }
  .servicePage .sec01 .cateList {
    font-size: 0;
    margin: 25px 0; }
    @media screen and (max-width: 768px) {
      .servicePage .sec01 .cateList {
        margin: 12px 0; } }
    .servicePage .sec01 .cateList > li {
      display: inline-block;
      vertical-align: middle;
      font-size: 1.7rem;
      border: 1px solid #eba390;
      padding: 3px 17px;
      margin: 3px; }
      @media screen and (max-width: 768px) {
        .servicePage .sec01 .cateList > li {
          font-size: 1.2rem;
          padding: 2px 12px;
          margin: 2px; } }
  .servicePage .sec02 .copy, .servicePage .sec03 .copy {
    font-size: 3.0rem; }
    @media screen and (max-width: 768px) {
      .servicePage .sec02 .copy, .servicePage .sec03 .copy {
        font-size: 1.7rem; } }
  .servicePage .sec02 .tx, .servicePage .sec03 .tx {
    margin-top: 20px; }
    @media screen and (max-width: 768px) {
      .servicePage .sec02 .tx, .servicePage .sec03 .tx {
        margin-top: 10px; } }

.contactPage .pcHd .navList > li.contact a::before {
  content: ""; }
.contactPage .sec01 .copy {
  font-size: 3.0rem; }
  @media screen and (max-width: 768px) {
    .contactPage .sec01 .copy {
      font-size: 1.8rem; } }
.contactPage .sec01 .tx {
  margin-top: 20px;
  font-size: 1.6rem; }
  @media screen and (max-width: 768px) {
    .contactPage .sec01 .tx {
      font-size: 1.3rem; } }
.contactPage .sec01 .tbl {
  border: none;
  font-size: 1.6rem;
  margin-top: 60px; }
  @media screen and (max-width: 768px) {
    .contactPage .sec01 .tbl {
      font-size: 1.3rem; } }
  .contactPage .sec01 .tbl tr {
    border: none; }
    .contactPage .sec01 .tbl tr th, .contactPage .sec01 .tbl tr td {
      text-align: left;
      padding: 15px 0;
      background-color: transparent;
      border: none; }
      @media screen and (max-width: 768px) {
        .contactPage .sec01 .tbl tr th, .contactPage .sec01 .tbl tr td {
          display: block;
          width: 100%; } }
    .contactPage .sec01 .tbl tr th {
      width: 220px; }
      @media screen and (max-width: 768px) {
        .contactPage .sec01 .tbl tr th {
          width: 100%;
          padding-bottom: 0; } }
    @media screen and (max-width: 768px) {
      .contactPage .sec01 .tbl tr td {
        padding-top: 10px; } }
.contactPage .sec01 .privacyTx {
  text-align: center;
  margin-top: 25px;
  font-size: 1.6rem; }

.topPage .pcHd .navList > li.home a::before {
  content: ""; }
.topPage .sec01 {
  margin-top: 120px;
  font-size: 0; }
  @media screen and (max-width: 768px) {
    .topPage .sec01 {
      margin-top: 60px; } }
  .topPage .sec01 .boxL {
    width: 60%;
    display: inline-block;
    vertical-align: middle; }
    @media screen and (max-width: 768px) {
      .topPage .sec01 .boxL {
        width: 100%; } }
    .topPage .sec01 .boxL video {
      width: 100%; }
  .topPage .sec01 .boxR {
    width: 40%;
    display: inline-block;
    vertical-align: middle;
    text-align: right; }
    @media screen and (max-width: 768px) {
      .topPage .sec01 .boxR {
        width: 100%;
        margin-top: 30px; } }
    .topPage .sec01 .boxR .tx {
      font-family: "Inter", sans-serif;
      font-size: 1.1rem; }
      @media screen and (max-width: 768px) {
        .topPage .sec01 .boxR .tx {
          font-size: 1.0rem; } }
.topPage .sec02 .secTtl {
  font-family: "Sorts Mill Goudy", serif;
  font-size: 3.0rem;
  margin-bottom: 35px; }
  @media screen and (max-width: 768px) {
    .topPage .sec02 .secTtl {
      font-size: 1.8rem;
      margin-bottom: 15px; } }
.topPage .sec02 .worksList {
  width: 60%; }
  @media screen and (max-width: 768px) {
    .topPage .sec02 .worksList {
      width: 100%; } }
  .topPage .sec02 .worksList > li {
    position: relative; }
    .topPage .sec02 .worksList > li a {
      display: block;
      border-top: 1px solid #ddd;
      padding: 40px 10px; }
      @media screen and (max-width: 768px) {
        .topPage .sec02 .worksList > li a {
          display: block;
          padding: 25px 5px; } }
      .topPage .sec02 .worksList > li a .txArea {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px; }
        @media screen and (max-width: 768px) {
          .topPage .sec02 .worksList > li a .txArea {
            display: block;
            width: 65%;
            display: inline-block;
            vertical-align: middle;
            margin-right: 5%; } }
      .topPage .sec02 .worksList > li a .ttl {
        font-size: 1.6rem;
        flex: 1; }
        @media screen and (max-width: 768px) {
          .topPage .sec02 .worksList > li a .ttl {
            font-size: 1.3rem;
            display: block; } }
      .topPage .sec02 .worksList > li a .meta {
        display: flex;
        align-items: center;
        gap: 20px;
        white-space: nowrap;
        font-size: 1.1rem;
        font-family: "Inter", sans-serif; }
        @media screen and (max-width: 768px) {
          .topPage .sec02 .worksList > li a .meta {
            font-size: 1.0rem;
            display: block;
            margin-top: 3px; } }
        @media screen and (max-width: 768px) {
          .topPage .sec02 .worksList > li a .meta .cateList {
            display: inline-block;
            vertical-align: middle; } }
        .topPage .sec02 .worksList > li a .meta .cateList > li {
          display: inline-block;
          vertical-align: middle;
          margin: 0 3px;
          font-size: 1.1rem; }
          @media screen and (max-width: 768px) {
            .topPage .sec02 .worksList > li a .meta .cateList > li {
              font-size: 1.0rem; } }
        @media screen and (max-width: 768px) {
          .topPage .sec02 .worksList > li a .meta .year {
            display: inline-block;
            vertical-align: middle; } }
    .topPage .sec02 .worksList > li .img {
      opacity: 0;
      position: fixed;
      top: 50%;
      right: 3%;
      transform: translateY(-50%);
      width: 34%;
      transition: all .3s ease-in-out;
      pointer-events: none;
      z-index: -1; }
      @media screen and (max-width: 768px) {
        .topPage .sec02 .worksList > li .img {
          position: relative;
          transform: translateY(0);
          right: auto;
          display: inline-block;
          vertical-align: middle;
          width: 30%;
          z-index: 1;
          opacity: 1 !important; } }
    .topPage .sec02 .worksList > li.last a {
      border-bottom: 1px solid #ddd; }

.worksPage_detail .breadcrumb ol li {
  font-size: 1.0rem; }
.worksPage_detail .pcHd .navList > li.works a::before {
  content: ""; }
.worksPage_detail .sec01 {
  font-size: 1.4rem; }
  @media screen and (max-width: 768px) {
    .worksPage_detail .sec01 {
      font-size: 1.3rem; } }
  .worksPage_detail .sec01 .kijiTtl {
    margin-bottom: 60px; }
    @media screen and (max-width: 768px) {
      .worksPage_detail .sec01 .kijiTtl {
        margin-bottom: 40px; } }
    .worksPage_detail .sec01 .kijiTtl .cateList {
      display: inline-block;
      vertical-align: middle; }
      .worksPage_detail .sec01 .kijiTtl .cateList > li {
        display: inline-block;
        vertical-align: middle;
        margin-right: 10px;
        font-family: "Inter", sans-serif;
        font-size: 1.1rem; }
        @media screen and (max-width: 768px) {
          .worksPage_detail .sec01 .kijiTtl .cateList > li {
            font-size: 1.0rem;
            margin-right: 8px; } }
    .worksPage_detail .sec01 .kijiTtl .year {
      display: inline-block;
      vertical-align: middle;
      font-family: "Inter", sans-serif;
      margin-left: 15px;
      font-size: 1.1rem; }
      @media screen and (max-width: 768px) {
        .worksPage_detail .sec01 .kijiTtl .year {
          font-size: 1.0rem;
          margin-left: 10px; } }
    .worksPage_detail .sec01 .kijiTtl .ttl {
      font-family: "Shippori Mincho", serif;
      font-size: 2.8rem;
      display: block;
      margin-top: 10px; }
      @media screen and (max-width: 768px) {
        .worksPage_detail .sec01 .kijiTtl .ttl {
          font-size: 2.0rem;
          margin-top: 6px; } }

.privacyPage {
  font-size: 1.3rem; }
  @media screen and (max-width: 768px) {
    .privacyPage {
      font-size: 1.2rem; } }

.sitemapPage .sec01 .linkList > li a {
  display: block;
  background: #fff;
  padding: 20px 20px 15px 25px;
  font-size: 1.5rem;
  font-family: "Sorts Mill Goudy", serif;
  position: relative; }
  @media screen and (max-width: 768px) {
    .sitemapPage .sec01 .linkList > li a {
      font-size: 1.2rem;
      padding: 13px 15px 11px 15px; } }
  .sitemapPage .sec01 .linkList > li a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 3px 0px 3px 7px;
    border-color: transparent transparent transparent #ccc;
    transition: all .3s ease-in-out; }
    @media screen and (max-width: 768px) {
      .sitemapPage .sec01 .linkList > li a::before {
        right: 10px; } }
  @media (hover: hover) and (pointer: fine) {
    .sitemapPage .sec01 .linkList > li a:hover {
      padding-left: 30px; }
      .sitemapPage .sec01 .linkList > li a:hover::before {
        right: 10px; } }
  @media (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .sitemapPage .sec01 .linkList > li a:hover {
      padding-left: 30px; }
      .sitemapPage .sec01 .linkList > li a:hover::before {
        right: 10px; } }
