h2 {
  text-align: center;
  padding-bottom: 10px; }
  h2 span {
    display: block; }
  h2 .jp {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
    padding-top: 20px;
    letter-spacing: 0.05em; }

#main {
  text-align: center;
  position: relative;
  margin-bottom: 60px; }
  #main img {
    width: 1100px; }
  #main ul {
    position: absolute;
    bottom: 115px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 780px;
    margin: 0 auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    #main ul li {
      width: 240px; }
      #main ul li a {
        display: block;
        border: 2px solid #000;
        position: relative;
        text-align: center;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1;
        padding: 30px 0;
        background-color: #fff; }
        #main ul li a:before {
          content: "";
          width: 48px;
          height: 60px;
          position: absolute;
          bottom: 0;
          left: 20px; }
      #main ul li#link01 a:before {
        background: url(../images/office/flag01.svg) 0 0 no-repeat;
        background-size: 100% auto; }
      #main ul li#link02 a:before {
        background: url(../images/office/flag02.svg) 0 0 no-repeat;
        background-size: 100% auto; }
      #main ul li#link03 a:before {
        background: url(../images/office/flag03.svg) 0 0 no-repeat;
        background-size: 100% auto; }

.office_in {
  padding-bottom: 160px; }
  .office_in h3 {
    text-align: center;
    padding-bottom: 40px; }
    .office_in h3 i img {
      width: 48px; }
    .office_in h3 span {
      display: block;
      line-height: 1; }
      .office_in h3 span.main_ttl {
        font-size: 28px;
        font-size: 2.8rem;
        font-weight: bold;
        letter-spacing: 0.05em;
        padding: 12px 0 18px; }
      .office_in h3 span.sub_ttl {
        font-size: 14px;
        font-size: 1.4rem;
        font-weight: normal;
        letter-spacing: 0.05em; }
  .office_in .office_block {
    padding-bottom: 35px;
    display: flex;
    flex-wrap: wrap;
    width: 1260px; }
    .office_in .office_block .office_block_left {
      width: 50%;
      padding-left: 140px; }
      .office_in .office_block .office_block_left h4 {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: bold;
        line-height: 1;
        letter-spacing: 0.05em;
        padding-bottom: 1em; }
      .office_in .office_block .office_block_left p {
        padding-left: 50px;
        position: relative;
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.7;
        margin-bottom: 15px; }
        .office_in .office_block .office_block_left p:before {
          content: "";
          width: 1px;
          height: 100%;
          background-color: #000;
          position: absolute;
          left: 20px;
          top: 0; }
        .office_in .office_block .office_block_left p span {
          display: inline-block;
          padding-top: 10px; }
      .office_in .office_block .office_block_left .map_btn {
        padding-left: 54px; }
        .office_in .office_block .office_block_left .map_btn a {
          display: block;
          width: 175px;
          border: 1px solid #707070;
          font-size: 13px;
          font-size: 1.3rem;
          line-height: 1;
          letter-spacing: 0.05em;
          padding: 12px 0 12px 20px;
          position: relative;
          font-style: normal; }
          .office_in .office_block .office_block_left .map_btn a:before {
            content: "";
            width: 12px;
            height: 9px;
            position: absolute;
            background: url(../images/office/icon_link.svg) 0 0 no-repeat;
            background-size: 100% auto;
            right: 10px;
            top: 50%;
            -webkit-transform: translateY(-50%);
            transform: translateY(-50%); }
    .office_in .office_block .office_block_right {
      width: 50%; }
      .office_in .office_block .office_block_right ul {
        display: flex; }
        .office_in .office_block .office_block_right ul li {
          margin-right: 30px;
          width: 300px; }
          .office_in .office_block .office_block_right ul li:last-child {
            margin-right: 0px; }
          .office_in .office_block .office_block_right ul li img {
            width: 100%; }
          .office_in .office_block .office_block_right ul li a {
            display: block;
            position: relative; }
            .office_in .office_block .office_block_right ul li a:before {
              content: "";
              width: 30px;
              height: 30px;
              background: url(../images/office/icon_zoom.svg) 0 0 no-repeat;
              background-size: 100% auto;
              position: absolute;
              right: 10px;
              bottom: 20px; }

@media screen and (max-width: 1300px) {
  h2 {
    padding-bottom: calc(10 / 1300 * 100vw); }
    h2 .jp {
      font-size: calc(14 / 1300 * 100vw);
      padding-top: calc(20 / 1300 * 100vw); }

  #main {
    margin-bottom: calc(60 / 1300 * 100vw); }
    #main ul {
      bottom: calc(115 / 1300 * 100vw);
      width: calc(780 / 1300 * 100vw); }
      #main ul li {
        width: calc(240 / 1300 * 100vw); }
        #main ul li a {
          font-size: calc(16 / 1300 * 100vw);
          padding: calc(30 / 1300 * 100vw) 0; }
          #main ul li a:before {
            width: calc(48 / 1300 * 100vw);
            height: calc(60 / 1300 * 100vw);
            left: calc(20 / 1300 * 100vw); }

  .office_in {
    padding-bottom: calc(160 / 1300 * 100vw); }
    .office_in h3 {
      padding-bottom: calc(40 / 1300 * 100vw); }
      .office_in h3 i img {
        width: calc(48 / 1300 * 100vw); }
      .office_in h3 span.main_ttl {
        font-size: calc(28 / 1300 * 100vw);
        padding: calc(12 / 1300 * 100vw) 0 calc(18 / 1300 * 100vw); }
      .office_in h3 span.sub_ttl {
        font-size: calc(14 / 1300 * 100vw); }
    .office_in .office_block {
      padding-bottom: calc(35 / 1300 * 100vw);
      width: calc(1260 / 1300 * 100vw); }
      .office_in .office_block .office_block_left {
        padding-left: calc(140 / 1300 * 100vw); }
        .office_in .office_block .office_block_left h4 {
          font-size: calc(18 / 1300 * 100vw); }
        .office_in .office_block .office_block_left p {
          padding-left: calc(50 / 1300 * 100vw);
          font-size: calc(14 / 1300 * 100vw);
          margin-bottom: calc(15 / 1300 * 100vw); }
          .office_in .office_block .office_block_left p:before {
            left: calc(20 / 1300 * 100vw); }
          .office_in .office_block .office_block_left p span {
            padding-top: calc(10 / 1300 * 100vw); }
        .office_in .office_block .office_block_left .map_btn {
          padding-left: calc(54 / 1300 * 100vw); }
          .office_in .office_block .office_block_left .map_btn a {
            width: calc(165 / 1300 * 100vw);
            font-size: calc(12 / 1300 * 100vw);
            padding: calc(12 / 1300 * 100vw) 0 calc(12 / 1300 * 100vw) calc(20 / 1300 * 100vw); }
            .office_in .office_block .office_block_left .map_btn a:before {
              width: calc(12 / 1300 * 100vw);
              height: calc(9 / 1300 * 100vw);
              right: calc(10 / 1300 * 100vw); }
      .office_in .office_block .office_block_right ul li {
        margin-right: calc(30 / 1300 * 100vw);
        width: calc(300 / 1300 * 100vw); }
        .office_in .office_block .office_block_right ul li a:before {
          width: calc(30 / 1300 * 100vw);
          height: calc(30 / 1300 * 100vw);
          right: calc(10 / 1300 * 100vw);
          bottom: calc(20 / 1300 * 100vw); } }
@media screen and (max-width: 768px) {
  h2 {
    padding-bottom: 0; }
    h2 .en {
      width: calc(406 / 750 * 100vw);
      margin: 0 auto; }
    h2 .jp {
      font-size: calc(24 / 750 * 100vw);
      padding-top: calc(25 / 750 * 100vw); }

  #main {
    margin-bottom: calc(135 / 750 * 100vw);
    padding-bottom: calc(360 / 750 * 100vw); }
    #main img {
      width: 100%; }
    #main ul {
      bottom: 0;
      left: calc(140 / 750 * 100vw);
      -webkit-transform: translateX(0%);
      transform: translateX(0%);
      width: calc(470 / 750 * 100vw);
      display: block; }
      #main ul li {
        width: 100%; }
        #main ul li+li {
        margin-top: calc(40 / 750 * 100vw); }
        #main ul li a {
          font-size: calc(32 / 750 * 100vw);
          padding: calc(40 / 750 * 100vw) 0 calc(40 / 750 * 100vw) calc(180 / 750 * 100vw);
          text-align: left; }
          #main ul li a:before {
            width: calc(84 / 750 * 100vw);
            height: calc(102 / 750 * 100vw);
            left: calc(60 / 750 * 100vw); }

  .office_in {
	padding-top: 80px;
	margin-top: -80px;
    padding-bottom: calc(110 / 750 * 100vw); }
    .office_in h3 {
      padding-bottom: calc(90 / 750 * 100vw); }
      .office_in h3 i img {
        width: calc(96 / 750 * 100vw); }
      .office_in h3 span.main_ttl {
        font-size: calc(56 / 750 * 100vw);
        padding: calc(30 / 750 * 100vw) 0 calc(36 / 750 * 100vw); }
      .office_in h3 span.sub_ttl {
        font-size: calc(28 / 750 * 100vw); }
    .office_in .office_block {
      padding: 0 calc(70 / 750 * 100vw) calc(90 / 750 * 100vw);
      width: 100%; }
      .office_in .office_block .office_block_left {
        width: 100%;
        padding-left: 0px;
        padding-bottom: calc(40 / 750 * 100vw); }
        .office_in .office_block .office_block_left h4 {
          font-size: calc(36 / 750 * 100vw); }
        .office_in .office_block .office_block_left p {
          padding-left: calc(90 / 750 * 100vw);
          font-size: calc(28 / 750 * 100vw);
          margin-bottom: calc(20 / 750 * 100vw); }
          .office_in .office_block .office_block_left p:before {
            left: calc(50 / 750 * 100vw); }
          .office_in .office_block .office_block_left p span {
            padding-top: calc(10 / 750 * 100vw); }
        .office_in .office_block .office_block_left .map_btn {
          padding-left: calc(90 / 750 * 100vw); }
          .office_in .office_block .office_block_left .map_btn a {
            width: calc(414 / 750 * 100vw);
            font-size: calc(28 / 750 * 100vw);
            padding: calc(34 / 750 * 100vw) 0 calc(34 / 750 * 100vw) calc(65 / 750 * 100vw); }
            .office_in .office_block .office_block_left .map_btn a:before {
              width: calc(30 / 750 * 100vw);
              height: calc(24 / 750 * 100vw);
              right: 10px; }
      .office_in .office_block .office_block_right {
        width: 100%; }
        .office_in .office_block .office_block_right ul {
          display: block; }
          .office_in .office_block .office_block_right ul li {
            margin-right: 0px;
            margin-bottom: calc(40 / 750 * 100vw);
            width: 100%; }
            .office_in .office_block .office_block_right ul li:last-child {
              margin-bottom: 0; }
            .office_in .office_block .office_block_right ul li img {
              width: 100%; }
            .office_in .office_block .office_block_right ul li a:before {
              width: calc(60 / 750 * 100vw);
              height: calc(60 / 750 * 100vw);
              right: calc(20 / 750 * 100vw);
              bottom: calc(40 / 750 * 100vw); } }
