#message .message_container {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  width: 90%; }
  #message .message_container .message_title {
    margin-left: auto;
    width: fit-content; }
    #message .message_container .message_title h2 {
      line-height: 1;
      font-family: "arial", sans-serif; }
    #message .message_container .message_title span {
      display: block;
      font-size: clamp(0.875rem, 0.511rem + 1.82vw, 1.875rem);
      text-align: center; }

@media (max-width: 990px) {
  #message {
    padding-top: 120px;
    padding-bottom: 90px; }
    #message .message_container .message_title {
      margin-bottom: 40px; }
      #message .message_container .message_title h2 {
        text-align: right; } }
@media (min-width: 991px) {
  #message {
    padding-top: 240px;
    padding-bottom: 180px; }
    #message .message_container .message_title {
      margin-bottom: 80px; }
    #message .message_container p {
      padding-left: 2em;
      padding-right: 2em; } }
@media (max-width: 990px) {
  #works {
    padding-bottom: 110px; } }
@media (min-width: 991px) {
  #works {
    padding-bottom: 220px; } }
.works_title {
  position: relative; }
  .works_title .works_title_cap {
    letter-spacing: 0.1em;
    font-weight: 700;
    opacity: 0; }
  .works_title .works_title_bg {
    width: 200px;
    max-width: 1220px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden; }
    .works_title .works_title_bg figure {
      height: 100%;
      width: 100%;
      opacity: 0; }
      .works_title .works_title_bg figure img {
        width: 100%;
        height: 100%;
        object-fit: contain; }
    .works_title .works_title_bg h2 {
      display: block;
      text-align: center;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: max-content;
      font-family: "Bebas Neue", sans-serif;
      color: white;
      font-size: 9.4vw; }
  .works_title span {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max-content;
    font-family: "Bebas Neue", sans-serif;
    font-size: 9.4vw; }

.workslist .workslist_item {
  display: flex;
  align-items: center;
  position: relative; }
  .workslist .workslist_item::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    display: block;
    width: 100vw;
    height: 1px;
    background-color: #DDDDDD; }
  .workslist .workslist_item .workslist_item_img {
    display: flex;
    align-items: center;
    overflow: hidden; }
    .workslist .workslist_item .workslist_item_img figure {
      position: relative; }
      .workslist .workslist_item .workslist_item_img figure img {
        width: 100%;
        height: 100%;
        object-fit: cover; }
      .workslist .workslist_item .workslist_item_img figure::after {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.36);
        position: absolute;
        top: 0;
        left: 0; }
  .workslist .workslist_item .workslist_item_text .workslist_item_text_head {
    width: fit-content;
    margin-bottom: nquote("min(4vw , 60px)"); }
    .workslist .workslist_item .workslist_item_text .workslist_item_text_head span {
      font-family: "arial", sans-serif;
      font-size: clamp(2.5rem, 2.218rem + 1.29vw, 3.75rem);
      letter-spacing: .1em;
      font-weight: 600;
      line-height: 1;
      display: block;
      margin-bottom: .2em; }
    .workslist .workslist_item .workslist_item_text .workslist_item_text_head h3 {
      font-family: "arial", sans-serif;
      font-size: clamp(1rem, 0.859rem + 0.65vw, 1.625rem);
      text-align: right;
      transform: translateX(2em); }

@media (max-width: 767px) {
  .workslist {
    margin-top: 90px; }
    .workslist .workslist_item {
      flex-direction: column;
      gap: 25px;
      padding-bottom: 25px; }
      .workslist .workslist_item .workslist_item_img figure {
        aspect-ratio: 4 / 3; }
      .workslist .workslist_item .workslist_item_text {
        padding-left: 25px;
        padding-right: 25px; }
      .workslist .workslist_item + .workslist_item {
        margin-top: 45px; } }
@media (min-width: 768px) {
  .workslist {
    margin-top: 190px; }
    .workslist .workslist_item .workslist_item_img {
      width: 50%; }
      .workslist .workslist_item .workslist_item_img figure {
        aspect-ratio: 15 / 16; }
    .workslist .workslist_item .workslist_item_text {
      padding-top: 25px;
      padding-bottom: 25px;
      width: 50%; }
      .workslist .workslist_item .workslist_item_text > p {
        padding-left: 6em; }
    .workslist .workslist_item:nth-of-type(odd) .workslist_item_img {
      margin-right: min(8% , 70px); }
    .workslist .workslist_item:nth-of-type(even) {
      flex-direction: row-reverse; }
      .workslist .workslist_item:nth-of-type(even) .workslist_item_img {
        margin-left: min(8% , 70px); } }
.companybase {
  position: relative; }
  .companybase figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
    overflow: hidden; }
    .companybase figure img {
      width: 120%;
      height: 120%;
      object-fit: cover;
      object-position: center; }
  .companybase::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: -1; }
  .companybase .company .company_head .company_head_title {
    width: fit-content; }
    .companybase .company .company_head .company_head_title span {
      font-family: "arial", sans-serif;
      letter-spacing: .1em;
      font-weight: 600;
      line-height: 1;
      display: block;
      color: #FFFFFF; }
    .companybase .company .company_head .company_head_title h2 {
      text-align: right;
      transform: translateX(2em);
      color: #FFFFFF; }
  .companybase .company .company_info .company_info_item h3, .companybase .company .company_info .company_info_item p {
    font-size: clamp(0.875rem, 0.847rem + 0.13vw, 1rem);
    font-weight: 400;
    color: #FFFFFF; }
  .companybase .company .company_info .company_info_item + .company_info_item {
    margin-top: 30px; }

@media (max-width: 990px) {
  .companybase .company {
    padding-top: 180px;
    padding-bottom: 180px; }
    .companybase .company .company_head {
      margin-bottom: 80px; }
      .companybase .company .company_head .company_head_title span {
        font-size: clamp(2.5rem, 1.816rem + 3.13vw, 3.75rem); }
      .companybase .company .company_head .company_head_title h2 {
        font-size: clamp(1rem, 0.692rem + 1.41vw, 1.563rem); } }
@media (max-width: 767px) {
  .companybase .company {
    padding-top: 180px;
    padding-bottom: 180px;
    display: flex;
    align-items: center;
    flex-direction: column; }
    .companybase .company .company_head .company_head_title span {
      font-size: clamp(2.5rem, 1.816rem + 3.13vw, 3.75rem); }
    .companybase .company .company_head .company_head_title h2 {
      font-size: clamp(1rem, 0.692rem + 1.41vw, 1.563rem); } }
@media (min-width: 768px) {
  .companybase .company {
    padding-top: 200px;
    padding-bottom: 200px;
    display: flex;
    align-items: center; }
    .companybase .company .company_head {
      width: 50%; }
    .companybase .company .company_info {
      width: 50%; }
      .companybase .company .company_info .company_info_item {
        display: flex; }
        .companybase .company .company_info .company_info_item h3 {
          width: 190px; }
        .companybase .company .company_info .company_info_item p {
          width: calc(100% - 190px); } }
@media (min-width: 991px) {
  .companybase .company {
    padding-top: 360px;
    padding-bottom: 360px; }
    .companybase .company .company_head .company_head_title span {
      font-size: clamp(3.75rem, -0.338rem + 6.6vw, 7.5rem); }
    .companybase .company .company_head .company_head_title h2 {
      font-size: clamp(1.563rem, 1.222rem + 0.55vw, 1.875rem); }
    .companybase .company .company_info {
      padding-left: max(5vw , 70px); } }
.map iframe {
  width: 100%;
  filter: grayscale(100%); }

@media (max-width: 990px) {
  iframe {
    height: 500px; } }
@media (min-width: 991px) {
  iframe {
    height: 600px; } }
#access {
  position: relative;
  overflow: hidden; }
  #access figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    #access figure img {
      object-fit: cover; }
  #access .access_info {
    margin-left: auto;
    width: fit-content; }
    #access .access_info .access_info_title {
      width: fit-content; }
      #access .access_info .access_info_title span {
        font-family: "arial", sans-serif;
        letter-spacing: .1em;
        font-weight: 600;
        line-height: 1;
        display: block;
        font-size: clamp(2.5rem, 1.385rem + 5.1vw, 7.5rem); }
      #access .access_info .access_info_title h2 {
        text-align: right;
        transform: translateX(2em);
        font-size: clamp(1rem, 0.805rem + 0.89vw, 1.875rem); }
    #access .access_info .access_info_list .access_info_list_item h3, #access .access_info .access_info_list .access_info_list_item p {
      font-size: clamp(0.875rem, 0.847rem + 0.13vw, 1rem); }
    #access .access_info .access_info_list .access_info_list_item + .access_info_list_item {
      margin-top: 40px; }
    #access .access_info .access_info_list .access_info_list_item:not(.access_info_list_option) p {
      padding-left: 1.8em; }

@media (max-width: 990px) {
  #access {
    padding-top: 120px;
    padding-bottom: 150px; }
    #access .access_info_list {
      margin-top: 50px; } }
@media (min-width: 991px) {
  #access {
    padding-top: 240px;
    padding-bottom: 300px; }
    #access .access_info {
      width: 50%; }
    #access .access_info_list {
      margin-top: 100px; } }
#contact {
  background-color: #333333; }
  #contact .contactbase .contactbase_info .contactbase_info_head {
    display: flex;
    align-items: center; }
    #contact .contactbase .contactbase_info .contactbase_info_head span {
      font-family: "Bebas Neue", sans-serif;
      display: block;
      line-height: 1;
      letter-spacing: .1em;
      color: #FFFFFF;
      font-size: clamp(2.5rem, 0.828rem + 7.64vw, 10rem); }
    #contact .contactbase .contactbase_info .contactbase_info_head h2 {
      color: #FFFFFF;
      font-size: clamp(1.125rem, 1.027rem + 0.45vw, 1.563rem);
      margin-left: .8em; }
  #contact .contactbase .contactbase_info .contactbase_info_link {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s ease-out;
    background-color: #FFFFFF;
    border-radius: 10px; }
    #contact .contactbase .contactbase_info .contactbase_info_link > span {
      display: flex;
      align-items: center;
      font-family: "roboto", sans-serif;
      font-weight: 700;
      color: #333333; }
      #contact .contactbase .contactbase_info .contactbase_info_link > span::before {
        content: "";
        display: block;
        aspect-ratio: 31.88 / 53.34;
        width: 31.88px;
        background: url("../img/icon_tel.svg") no-repeat center/contain;
        margin-right: min(3vw , 18px); }
    #contact .contactbase .contactbase_info .contactbase_info_link .contactbase_info_link_option p {
      display: flex;
      align-items: center; }
      #contact .contactbase .contactbase_info .contactbase_info_link .contactbase_info_link_option p span {
        width: 5em;
        display: block; }
    #contact .contactbase .contactbase_info .contactbase_info_link:hover {
      opacity: .8; }
  #contact .contactbase .contactbase_info .contactbase_info_form form dl {
    color: #FFFFFF; }
    #contact .contactbase .contactbase_info .contactbase_info_form form dl dd > span {
      width: 100%;
      display: flex;
      flex-wrap: wrap;
      gap: min(5vw , 20px); }
      #contact .contactbase .contactbase_info .contactbase_info_form form dl dd > span input[type="text"], #contact .contactbase .contactbase_info .contactbase_info_form form dl dd > span input[type="tel"], #contact .contactbase .contactbase_info .contactbase_info_form form dl dd > span input[type="email"] {
        width: 100%;
        background-color: #494949;
        outline: none;
        border: none;
        padding: .8em;
        color: #FFFFFF;
        font-size: clamp(0.875rem, 0.847rem + 0.13vw, 1rem); }
      #contact .contactbase .contactbase_info .contactbase_info_form form dl dd > span textarea {
        width: 100%;
        background-color: #494949;
        outline: none;
        border: none;
        padding: .8em;
        color: #FFFFFF;
        height: 15em;
        font-size: clamp(0.875rem, 0.847rem + 0.13vw, 1rem); }
      #contact .contactbase .contactbase_info .contactbase_info_form form dl dd > span input[type="radio"] {
        display: none; }
        #contact .contactbase .contactbase_info .contactbase_info_form form dl dd > span input[type="radio"] + span {
          position: relative;
          padding-left: 35px; }
          #contact .contactbase .contactbase_info .contactbase_info_form form dl dd > span input[type="radio"] + span::before {
            content: "";
            display: block;
            position: absolute;
            width: 23px;
            height: 23px;
            border-radius: 50%;
            background-color: #494949;
            top: 50%;
            left: 0;
            transform: translateY(-50%); }
          #contact .contactbase .contactbase_info .contactbase_info_form form dl dd > span input[type="radio"] + span::after {
            content: "";
            display: block;
            position: absolute;
            width: 11px;
            height: 11px;
            border-radius: 50%;
            top: 50%;
            transform: translateY(-50%);
            left: 6px;
            transition: .3s ease-out; }
        #contact .contactbase .contactbase_info .contactbase_info_form form dl dd > span input[type="radio"]:checked + span::after {
          background-color: #FFFFFF; }
  #contact .contactbase .contactbase_info .contactbase_info_form form .contactbase_info_form_submit {
    width: 100%;
    max-width: 280px; }
    #contact .contactbase .contactbase_info .contactbase_info_form form .contactbase_info_form_submit input[type="submit"] {
      transition: .3s ease-out;
      outline: none;
      border: none;
      padding: 1em;
      background-color: #FFFFFF;
      text-align: center;
      border-radius: 25px;
      width: 100%;
      letter-spacing: .1em;
      font-size: clamp(0.875rem, 0.847rem + 0.13vw, 1rem);
      color: #000000; }
      #contact .contactbase .contactbase_info .contactbase_info_form form .contactbase_info_form_submit input[type="submit"]:hover {
        opacity: .8; }
  #contact .contactbase .contactbase_option .contactbase_option_img figure {
    height: 100%;
    position: relative; }
    #contact .contactbase .contactbase_option .contactbase_option_img figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
    #contact .contactbase .contactbase_option .contactbase_option_img figure::after {
      position: absolute;
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background-color: rgba(0, 0, 0, 0.36); }
  #contact .contactbase .contactbase_option .contactbase_option_img span {
    display: block;
    text-align: right;
    line-height: 1em;
    font-family: "Bebas Neue", sans-serif;
    font-size: clamp(1.25rem, 0.86rem + 1.78vw, 3rem);
    color: #FFFFFF;
    transform: translateY(-50%); }
  #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl {
    padding-right: 30px;
    overflow-y: scroll; }
    #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl h3, #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl h4, #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl p, #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl ol {
      font-size: clamp(0.875rem, 0.833rem + 0.19vw, 1rem);
      color: #FFFFFF; }
    #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl h3, #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl h4 {
      margin-bottom: .8em; }
    #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl .privacy_item {
      margin-top: 35px; }
      #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl .privacy_item ol {
        counter-reset: number 0;
        margin-top: .8em; }
        #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl .privacy_item ol li {
          display: flex;
          flex-wrap: wrap; }
          #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl .privacy_item ol li + li {
            margin-top: .5em; }
          #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl .privacy_item ol li::before {
            counter-increment: number 1;
            content: counter(number) ".";
            width: 1.5em;
            display: block; }
          #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl .privacy_item ol li p {
            width: calc(100% - 1.5em); }
          #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl .privacy_item ol li ol {
            padding-left: 1.5em;
            width: 100%; }
      #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl .privacy_item .privacy_profile {
        margin-top: 30px; }
    #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl::-webkit-scrollbar {
      width: 12px; }
    #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl::-webkit-scrollbar-track {
      background-color: #DBDBDB;
      margin-top: 4px;
      margin-bottom: 4px;
      border-radius: 2px; }
    #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl::-webkit-scrollbar-thumb {
      background-color: #737373;
      border-radius: 2px; }

@media (max-width: 1239px) {
  #contact {
    padding-bottom: 250px; }
    #contact .contactbase {
      position: relative; }
      #contact .contactbase .contactbase_info {
        padding-top: 180px; }
        #contact .contactbase .contactbase_info .contactbase_info_head {
          margin-bottom: 35px; }
        #contact .contactbase .contactbase_info .contactbase_info_link {
          max-width: 100%;
          width: 780px;
          padding: 20px 5px;
          gap: min(5% , 45px); }
          #contact .contactbase .contactbase_info .contactbase_info_link > span {
            font-size: clamp(2.5rem, 2.396rem + 0.48vw, 2.813rem); }
          #contact .contactbase .contactbase_info .contactbase_info_link .contactbase_info_link_option p {
            font-size: clamp(1rem, 0.813rem + 0.86vw, 1.563rem); }
        #contact .contactbase .contactbase_info .contactbase_info_form {
          margin-top: 80px; }
          #contact .contactbase .contactbase_info .contactbase_info_form dl + dl {
            margin-top: 25px; }
        #contact .contactbase .contactbase_info .contactbase_info_form_submit {
          position: absolute;
          left: 50%;
          bottom: -60px;
          transform: translate(-50%, 100%); }
      #contact .contactbase .contactbase_option {
        margin-top: 80px; }
        #contact .contactbase .contactbase_option .contactbase_option_img {
          height: 300px; }
          #contact .contactbase .contactbase_option .contactbase_option_img figure {
            overflow: hidden; }
            #contact .contactbase .contactbase_option .contactbase_option_img figure img {
              height: 120%; }
        #contact .contactbase .contactbase_option .contactbase_option_privacy {
          padding: 25px;
          margin-top: 50px;
          border: double 5px #FFFFFF;
          height: 200px; }
          #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl {
            height: 150px;
            overflow-y: scroll; } }
@media (max-width: 767px) {
  #contact .contactbase .contactbase_info .contactbase_info_link {
    flex-direction: column; }
  #contact .contactbase .contactbase_option .contactbase_option_privacy {
    padding: 25px;
    margin-top: 50px;
    border: double 5px #FFFFFF;
    height: 200px; }
    #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl {
      height: 150px;
      overflow-y: scroll; }
      #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl .privacy_item .privacy_profile .privacy_profile_item + .privacy_profile_item {
        margin-top: .7em; } }
@media (max-width: 990px) {
  #contact .contactbase .contactbase_info .contactbase_info_form form dl dt {
    margin-bottom: 10px; } }
@media (min-width: 768px) {
  #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl .privacy_item .privacy_profile .privacy_profile_item {
    display: flex; }
    #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl .privacy_item .privacy_profile .privacy_profile_item p:first-of-type {
      width: 8em; }
    #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl .privacy_item .privacy_profile .privacy_profile_item p:last-of-type {
      width: calc(100% - 8em); } }
@media (min-width: 991px) {
  #contact .contactbase .contactbase_info .contactbase_info_form form dl {
    display: flex; }
    #contact .contactbase .contactbase_info .contactbase_info_form form dl dt {
      width: 158px; }
    #contact .contactbase .contactbase_info .contactbase_info_form form dl dd {
      width: calc(100% - 158px); }
    #contact .contactbase .contactbase_info .contactbase_info_form form dl + dl {
      margin-top: 30px; }
    #contact .contactbase .contactbase_info .contactbase_info_form form dl:not(.form_message) {
      align-items: center; }
    #contact .contactbase .contactbase_info .contactbase_info_form form dl.form_message dt {
      padding-top: .8em; } }
@media (min-width: 1240px) {
  #contact {
    padding-bottom: 395px; }
    #contact .contactbase {
      display: flex;
      position: relative; }
      #contact .contactbase .contactbase_info {
        padding-top: 250px;
        width: 50%; }
        #contact .contactbase .contactbase_info .contactbase_info_head {
          margin-bottom: 65px; }
        #contact .contactbase .contactbase_info .contactbase_info_link {
          width: calc(100% - 40px);
          margin-left: auto;
          padding: 20px 5px;
          gap: min(10% , 55px); }
          #contact .contactbase .contactbase_info .contactbase_info_link > span {
            font-size: clamp(1.875rem, -1.49rem + 3.85vw, 3.125rem); }
          #contact .contactbase .contactbase_info .contactbase_info_link .contactbase_info_link_option p {
            font-size: clamp(1rem, 0.663rem + 0.38vw, 1.125rem); }
        #contact .contactbase .contactbase_info .contactbase_info_form {
          margin-top: 140px;
          padding-left: 60px; }
        #contact .contactbase .contactbase_info .contactbase_info_form_submit {
          position: absolute;
          left: 50%;
          bottom: -90px;
          transform: translate(-50%, 100%); }
      #contact .contactbase .contactbase_option {
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: calc(50% - max(9% , 130px));
        display: flex;
        justify-content: space-between;
        flex-direction: column; }
        #contact .contactbase .contactbase_option .contactbase_option_img {
          transform: translateY(-75px);
          height: calc(100% - 195px); }
          #contact .contactbase .contactbase_option .contactbase_option_img figure {
            overflow: hidden; }
        #contact .contactbase .contactbase_option .contactbase_option_privacy {
          padding: 34px;
          border: double 5px #FFFFFF;
          height: 195px; }
          #contact .contactbase .contactbase_option .contactbase_option_privacy .contactbase_option_privacy_scl {
            height: 127px;
            overflow-y: scroll;
            padding-right: 25px; } }
#nonepage .none {
  text-align: center; }

@media (max-width: 990px) {
  #nonepage {
    padding-top: 200px;
    padding-bottom: 200px; } }
@media (min-width: 991px) {
  #nonepage {
    padding-top: 250px;
    padding-bottom: 250px; } }
