/*! Writen  by SCSS */
/*.sec_ttl{
	font-size:clamp_gm(20,1220,28);
	line-height: 1.4;
	font-weight: 700;
	letter-spacing: 0.05em;
	.en {
		display: block;
		font-size: 54%;
	}
	.ja {
	}
}

.sec_read{
	font-size:clamp_gm(12,1220,16);
}*/
.sec01 {
  margin-bottom: 80px; }
  @media screen and (max-width: 768px) {
    .sec01 {
      margin-bottom: 40px; } }
  .sec01 .inner {
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media screen and (max-width: 480px) {
      .sec01 .inner {
        display: block; } }
    .sec01 .inner .txt {
      width: calc(660% / 11.8); }
      @media screen and (max-width: 480px) {
        .sec01 .inner .txt {
          margin-bottom: 40px;
          width: 100%; } }
      .sec01 .inner .txt .sec_ttl {
        margin-bottom: 1em; }
      .sec01 .inner .txt .sec_read {
        line-height: 2.7;
        color: #333; }
        @media screen and (max-width: 480px) {
          .sec01 .inner .txt .sec_read {
            line-height: 2; } }
    .sec01 .inner .img {
      width: calc(510% / 11.8);
      margin-right: calc(-60% / 11.8); }
      @media screen and (max-width: 480px) {
        .sec01 .inner .img {
          max-width: 510px;
          width: 85%;
          margin-right: auto;
          margin-left: -20px; } }

.sec02 {
  margin-bottom: 80px; }
  @media screen and (max-width: 768px) {
    .sec02 {
      margin-bottom: 40px; } }
  .sec02 .inner {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 480px) {
      .sec02 .inner {
        display: block; } }
    .sec02 .inner .ttl {
      width: calc(230% / 11.8); }
      @media screen and (max-width: 480px) {
        .sec02 .inner .ttl {
          width: 100%;
          margin-bottom: 20px; } }
    .sec02 .inner .cont {
      width: calc(980% / 11.8);
      margin-right: calc(-60% / 11.8); }
      @media screen and (max-width: 1320px) {
        .sec02 .inner .cont {
          width: calc(920% / 11.8);
          margin-right: 0; } }
      @media screen and (max-width: 480px) {
        .sec02 .inner .cont {
          width: 100%; } }

.sec03 .inner {
  display: grid;
  grid-auto-flow: dense;
  align-items: start;
  align-content: start;
  justify-content: space-between;
  grid-template-columns: 28.82% 67.8%; }
  @media screen and (max-width: 480px) {
    .sec03 .inner {
      grid-template-columns: 1fr; } }
  @media screen and (max-width: 480px) {
    .sec03 .inner .txt {
      margin-bottom: 20px;
      width: 100%; } }
  .sec03 .inner .txt .sec_ttl {
    margin-bottom: 1em; }
  .sec03 .inner .txt .sec_read {
    line-height: 1.8;
    color: #333; }
  .sec03 .inner .txt .route {
    position: relative;
    padding-left: 0.7em; }
    .sec03 .inner .txt .route::before {
      content: "";
      position: absolute;
      top: calc(0.9em - 2px);
      left: 0;
      width: 4px;
      height: 4px;
      border: 1px solid #111;
      border-radius: 3px; }
  .sec03 .inner .img {
    align-self: stretch;
    grid-row: span 2;
    width: 107.5%;
    margin-right: calc(-60% / 11.8); }
    @media screen and (max-width: 1320px) {
      .sec03 .inner .img {
        width: 100%;
        margin-right: 0; } }
    @media screen and (max-width: 480px) {
      .sec03 .inner .img {
        grid-row: auto;
        width: calc(100% + 40px);
        margin: 0 -20px; } }
    .sec03 .inner .img .map {
      height: 100%; }
      @media screen and (max-width: 480px) {
        .sec03 .inner .img .map {
          height: 75vw; } }
      .sec03 .inner .img .map iframe {
        display: block;
        width: 100%;
        height: 100%; }
  @media screen and (max-width: 480px) {
    .sec03 .inner .image_box {
      width: 70%;
      margin: 30px auto 0; } }

.list {
  border-top: solid 1px #d0d0d0; }
  .list dl {
    display: flex;
    border-bottom: solid 1px #d0d0d0;
    font-size: clamp(12px, 1.23vw, 15px);
    padding: 2.5em 0;
    gap: 0 4em;
    color: #333; }
    @media screen and (max-width: 768px) {
      .list dl {
        display: block;
        padding: 1.5em 0; } }
    .list dl dt {
      width: 260px;
      flex-shrink: 0; }
      @media screen and (max-width: 768px) {
        .list dl dt {
          font-size: clamp(13px, 1.312vw, 16px);
          width: 100%;
          margin-bottom: 0.3em;
          font-weight: 700;
          color: #555; } }
    .list dl dd {
      width: 100%; }
      @media screen and (max-width: 768px) {
        .list dl dd {
          width: 100%; } }
      .list dl dd .ex {
        margin-top: 10px;
        font-size: 0.8em;
        display: block;
        text-align: right;
        font-weight: 400;
        color: #555;
        -webkit-font-smoothing: antialiased; }
        @media screen and (max-width: 768px) {
          .list dl dd .ex {
            color: #333; } }

/*# sourceMappingURL=company.css.map */
