@charset "UTF-8";
/**
	* clamp関数の文字列を返す
	*
	* @param {Number} $size-at-min-width - 最小画面幅での要素のサイズ (px|rem|emなど)
	* @param {Number} $size-at-max-width - 最大画面幅での要素のサイズ (px|rem|emなど)
	* @param {Number} $min-width [optional] - 最小画面幅 (デフォルト: $min-width-default)
	* @param {Number} $max-width [optional] - 最大画面幅 (デフォルト: $max-width-default)
	* @return {String} CSS clamp関数を含む計算式
	*
	* @description
	* 画面幅に応じて値が滑らかに変化するレスポンシブな値を生成します。
	* 例えば、フォントサイズやマージン、パディングなどの値を画面幅に応じて
	* 自動的に調整することができます。
	*
	* @example
	*   // フォントサイズを16pxから24pxまで可変させる
	*   font-size: clamp-calc(16px, 24px);
	*
	*   // マージンを2remから4remまで可変させる（画面幅768px～1200px）
	*   margin: clamp-calc(2rem, 4rem, 768px, 1200px);
	*
	* @note
	* - 引数の単位は一貫している必要はありません（px, rem等が混在可能）
	* - 内部で全ての値をpxに変換して計算を行います
	* - 返り値は入力された$size-at-min-widthと同じ単位で返されます
	* - 負の値（マイナスマージンなど）にも対応しています
	*
	* @implementation
	* 1. 入力値を全てpxに変換
	* 2. 線形の傾きを計算
	* 3. y軸との交点を計算
	* 4. 必要に応じて最小値と最大値を入れ替え
	* 5. 元の単位に変換して最終的なclamp関数を構築
*/
/**
	* 与えられた値をピクセル(px)単位に変換する関数
	*
	* @param {Number} $value - 変換したい値（rem または px）
	* @return {Number} 変換後のピクセル値
	*
	* @example
	*   convert-to-px(1.5rem)  // 24px ($base-font-size が 16px の場合)
	*   convert-to-px(20px)    // 20px (そのまま返される)
	*   convert-to-px(2em)     // 2em (非対応の単位はそのまま返される)
	*
	* @description
	* - rem単位の場合: $base-font-sizeを基準にしてpxに変換
	* - px単位の場合: 値をそのまま返す
	* - その他の単位: 変換せずそのまま返す
	*
	* @throws {Error} $base-font-size が定義されていない場合にエラー
 */
/**
	* ピクセル(px)単位の値をrem単位に変換する関数
	*
	* @param {Number} $px-value - 変換したい値（px または rem）
	* @return {Number} 変換後のrem値
	*
	* @example
	*   convert-to-rem(16px)   // 1rem ($base-font-size が 16px の場合)
	*   convert-to-rem(24px)   // 1.5rem ($base-font-size が 16px の場合)
	*   convert-to-rem(1.5rem) // 1.5rem (そのまま返される)
	*   convert-to-rem(2em)    // 2em (非対応の単位はそのまま返される)
	*
	* @description
	* - px単位の場合: $base-font-sizeを基準にしてremに変換
	* - rem単位の場合: 値をそのまま返す
	* - その他の単位: 変換せずそのまま返す
	*
	* @note
	* - レスポンシブデザインに適したrem単位への変換に使用
	* - $base-font-size はグローバルで定義されている必要がある
	*
	* @throws {Error} $base-font-size が定義されていない場合にエラー
 */
/*
	* 補助関数：小数点以下の指定した桁数で四捨五入する関数
*/
/*
	* 補助関数：累乗を計算する関数
	* 引数：$number 底となる数
	*      $exponent 指数（正の整数のみ対応）
 */
@media (max-width: 768px) {
  .sp_none {
    display: none;
  }
}

@media (min-width: 768px) {
  .pc_none {
    display: none;
  }
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 145%;
  letter-spacing: 0.05em;
  font-weight: 500;
  color: #000;
}
@media (max-width: 768px) {
  body {
    font-size: 14px;
  }
}

:target {
  scroll-margin-top: 100px;
}
@media (max-width: 1300px) {
  :target {
    scroll-margin-top: 70px;
  }
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

img {
  display: block;
  width: 100%;
}

a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}
@media (max-width: 768px) {
  a[href*="tel:"] {
    pointer-events: auto;
    cursor: pointer;
  }
}

@media (max-width: 768px) {
  a.fax[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

.wrapper {
  position: relative;
  width: 100%;
  max-width: 1300px;
  padding: 0 25px;
  margin: auto;
}
@media (max-width: 768px) {
  .wrapper {
    max-width: 600px;
    padding: 0 5%;
  }
}

.btn {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 270px;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 145%;
  text-align: left;
  background-color: #005FA3;
  padding: 25px 44px 25px 30px;
}
@media (max-width: 768px) {
  .btn {
    font-size: 14px;
    padding: 20px 30px 20px 20px;
  }
}

.btn span {
  position: relative;
  z-index: 1;
}

.btn_center {
  text-align: center;
}

.btn_center .btn {
  text-align: left;
}

.btn::after {
  content: "";
  position: absolute;
  width: 30px;
  height: 2px;
  right: 0;
  top: 50%;
  -webkit-transition: 0.35s;
  transition: 0.35s;
  background-color: #2AB5B0;
}
@media (max-width: 768px) {
  .btn::after {
    right: 15px;
  }
}

@media (min-width: 768px) {
  .btn:hover::after {
    width: 100%;
    height: 100%;
    top: 0;
  }
}

.link_white .btn {
  color: #005FA3;
  background-color: #fff;
}

@media (min-width: 768px) {
  .link_white .btn:hover {
    color: #fff;
  }
}

.text_link {
  display: inline-block;
}

.text_link::after {
  content: "";
  display: block;
  width: 0;
  -webkit-transition: width 0.3s;
  transition: width 0.3s;
  border-bottom: 1px solid #000;
  margin: auto;
}

@media (min-width: 768px) {
  .text_link:hover::after {
    width: 100%;
  }
}

.fw_bold {
  font-weight: 700;
}

.section_title_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 clamp(20px, 15.932px + 1.271vw, 35px);
}

.section_title_en {
  font-size: clamp(50px, 36.441px + 4.237vw, 100px);
  font-weight: 600;
  font-family: Arial, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  line-height: 120%;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .section_title_en {
    font-size: 35px;
  }
}

.section_title_ja {
  font-size: clamp(14px, 12.915px + 0.339vw, 18px);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 100%;
}

.anim-box.fadein {
  opacity: 0;
}

.anim-box.fadein.is-animated {
  -webkit-animation: fadeIn 1.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
          animation: fadeIn 1.7s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.body.is_open {
  overflow: hidden;
}

/* Header
------------------------------ */
.header {
  position: fixed;
  width: 100%;
  height: 120px;
  top: 0;
  left: 0;
  z-index: 100;
  background-color: transparent;
}
@media (max-width: 1300px) {
  .header {
    height: 100px;
  }
}
@media (max-width: 768px) {
  .header {
    height: 60px;
    padding: 0;
  }
}

.header.header_fixed {
  height: 100px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
          box-shadow: 0 0 5px rgba(0, 0, 0, 0.7);
}
@media (max-width: 768px) {
  .header.header_fixed {
    height: 60px;
    padding: 0;
  }
}

.customize-support .header {
  top: 32px;
}
@media (max-width: 768px) {
  .customize-support .header {
    top: 46px;
  }
}

@media (max-width: 768px) {
  .customize-support .header.header_fixed {
    top: 0;
  }
}

.header_fixed {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.header_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
}
@media (max-width: 1300px) {
  .header_inner {
    padding: 0 100px 0 25px;
  }
}
@media (max-width: 768px) {
  .header_inner {
    height: inherit;
    padding: 0 60px 0 0;
  }
}

.header_logo {
  position: relative;
  max-width: clamp(225px, 203.305px + 6.78vw, 305px);
  width: 100%;
  line-height: 1;
  padding-left: clamp(20px, 14.576px + 1.695vw, 40px);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  left: 0;
  z-index: 1;
}
@media (max-width: 1300px) {
  .header_logo {
    max-width: 420px;
    top: 32px;
  }
}
@media (max-width: 768px) {
  .header_logo {
    width: calc(100% - 80px);
    max-width: 230px;
    margin-inline: 0;
    height: inherit;
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 0;
  }
}

.header_logo a {
  display: inline-block;
}

@media (min-width: 768px) {
  .header_logo a:hover {
    opacity: 0.7;
  }
}

@media (max-width: 1300px) {
  .header_fixed .header_logo {
    top: 16px;
  }
}
@media (max-width: 768px) {
  .header_fixed .header_logo {
    top: auto;
  }
}

.link_contact {
  background-color: #005FA3;
}

@media (min-width: 768px) {
  .link_contact:hover {
    color: #005FA3;
    background-color: #fff;
  }
}

.link_contact a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: unset;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 19px;
}

.link_contact a::before {
  content: "";
  position: relative;
  display: block;
  width: 32px;
  height: 22px;
  background: url(../images/common/icon_contactBlue.svg) no-repeat center center/contain;
  -webkit-transition: 0.35s;
  transition: 0.35s;
}

.link_contact a:hover::before {
  background-image: url(../images/common/icon_contactWhite.svg);
}

.header_fixed .header_subnavlist_link {
  padding: 10px 0;
}

.header_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 clamp(15px, 10.932px + 1.271vw, 30px);
}
@media (max-width: 1300px) {
  .header_nav {
    display: none;
  }
}
@media (max-width: 768px) {
  .header_nav {
    display: none;
  }
}

.header_lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 clamp(15px, 12.288px + 0.847vw, 25px);
}

.header_fixed .header_lists {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.header_list_link {
  display: inline-block;
  position: relative;
  font-size: clamp(13px, 12.458px + 0.169vw, 15px);
  font-weight: 700;
  letter-spacing: 0.05em;
  white-space: nowrap;
  padding-bottom: 5px;
}

@media (min-width: 768px) {
  .header_list_link:hover {
    color: #005FA3;
  }
}

.header_list_link::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  left: 50%;
  background-color: #000;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media (min-width: 768px) {
  .header_list_link:hover::after {
    width: 0;
  }
}

.header_list_recruit .header_list_link {
  position: relative;
  display: block;
  color: #fff;
  font-size: clamp(13px, 12.458px + 0.169vw, 15px);
  font-weight: 700;
  text-align: center;
  background-color: #2AB5B0;
  padding: 18px 30px 19px;
  border: 1px solid #2AB5B0;
}

.header_list_contact .header_list_link {
  position: relative;
  display: block;
  color: #fff;
  font-size: clamp(13px, 12.458px + 0.169vw, 15px);
  font-weight: 700;
  text-align: center;
  background-color: #005FA3;
  border: 1px solid #005FA3;
  padding: 18px 30px 19px;
}

.header_list_recruit .header_list_link::after,
.header_list_contact .header_list_link::after {
  display: none;
}

.header.header_fixed .header_list_recruit .header_list_link,
.header.header_fixed .header_list_contact .header_list_link {
  padding: 13px 30px 14px;
}

@media (min-width: 768px) {
  .header_list_recruit .header_list_link:hover {
    color: #2AB5B0;
    background-color: #fff;
  }
}

@media (min-width: 768px) {
  .header_list_contact .header_list_link:hover {
    color: #005FA3;
    background-color: #fff;
  }
}

/* header_list_modal */
.header_list_modal_wrap {
  position: relative;
}

.header_list_modal_main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: inherit;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  font-weight: bold;
  line-height: 1.2;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  padding: 0 15px;
}

.header_list_modal {
  position: absolute;
  top: 40px;
  left: 50%;
  width: 250px;
  background-color: rgba(0, 95, 163, 0.8);
  -webkit-transform: scaleY(0) translateX(-50%);
          transform: scaleY(0) translateX(-50%);
  -webkit-transform-origin: center top;
          transform-origin: center top;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
  padding: 10px 20px;
}

.header_list_modal_item a {
  position: relative;
  display: block;
  font-weight: bold;
  line-height: 1.2;
  color: #fff;
  text-align: center;
  padding: 10px 10px;
}

.header_list_modal_item + .header_list_modal_item a {
  border-top: 1px solid #fff;
}

@media (min-width: 768px) {
  .header_list_modal_wrap:hover > .header_list_modal {
    -webkit-transform: scaleY(1) translateX(-50%);
            transform: scaleY(1) translateX(-50%);
  }
}

@media (min-width: 768px) {
  .header_list_modal_item a:hover {
    color: #005FA3;
    background-color: #fff;
  }
}

/* //header_list_modal */
.header_hamburger {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 999;
  width: 100px;
  height: 100px;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background: #005FA3;
  background: linear-gradient(315deg, rgb(0, 95, 163) 0%, rgb(0, 162, 202) 100%);
}
@media (max-width: 1300px) {
  .header_hamburger {
    display: block;
  }
}
@media (max-width: 768px) {
  .header_hamburger {
    display: block;
    width: 60px;
    height: 60px;
  }
}

.header_hamburger.is_open {
  background-color: transparent;
}

.header_hamburger_bar {
  position: relative;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  display: block;
  width: 30px;
  height: 2px;
  background-color: #fff;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.header_hamburger_bar:nth-of-type(1) {
  top: -20px;
}
@media (max-width: 768px) {
  .header_hamburger_bar:nth-of-type(1) {
    top: -15px;
  }
}

.header_hamburger_bar:nth-of-type(2) {
  top: -10px;
}
@media (max-width: 768px) {
  .header_hamburger_bar:nth-of-type(2) {
    top: -8px;
  }
}

.header_hamburger_bar:nth-of-type(3) {
  top: 0;
}
@media (max-width: 768px) {
  .header_hamburger_bar:nth-of-type(3) {
    top: -1px;
  }
}

.header_hamburger.is_open .header_hamburger_bar:nth-of-type(1) {
  top: 0;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
}

.header_hamburger.is_open .header_hamburger_bar:nth-of-type(2) {
  opacity: 0;
}

.header_hamburger.is_open .header_hamburger_bar:nth-of-type(3) {
  top: -4px;
  -webkit-transform: translateX(-50%) rotate(-45deg);
          transform: translateX(-50%) rotate(-45deg);
}

.header_hamburger_name {
  position: absolute;
  width: 100%;
  color: #fff;
  font-size: 14px;
  text-align: center;
  left: 0;
  right: 0;
  bottom: 15px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .header_hamburger_name {
    bottom: 5px;
  }
}

.header_drawer {
  padding: 70px 0;
  display: none;
  position: absolute;
  z-index: 900;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow-y: scroll;
  scrollbar-width: none;
  background-color: #F3F3F3;
}

.header_drawer::-webkit-scrollbar {
  display: none;
}

.header_drawer_nav {
  padding: 0 5%;
  height: 100%;
  overflow-y: scroll;
}

.header_drawer_list {
  border-bottom: 1px solid #000;
}

.header_drawer_list_link {
  padding: 15px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 15px;
  font-size: clamp(18px, 1.33vw, 20px);
  font-weight: 700;
  line-height: 1;
  color: #000;
}

.header_drawer_list_menus {
  padding-bottom: 10px;
}

.header_drawer_list_menu a {
  display: inline-block;
  font-weight: 700;
  line-height: 1;
  color: #000;
  padding: 12px 10px;
}

@media (max-width: 1300px) {
  main {
    margin-top: 100px;
  }
}
@media (max-width: 768px) {
  main {
    margin-top: 60px;
  }
}

/* top - top_mw
------------------------------ */
.top_mw_inner {
  position: relative;
  background: #F3F3F3;
  background: linear-gradient(125deg, rgb(243, 243, 243) 0%, rgb(225, 225, 225) 100%);
  z-index: 1;
}

.top_mw_slick {
  position: absolute;
  max-width: 40%;
  width: 100%;
  max-height: 827px;
  top: 0;
  right: 0;
  overflow: hidden;
}
@media (max-width: 1300px) {
  .top_mw_slick {
    max-width: clamp(350px, 309.322px + 12.712vw, 500px);
    max-height: 700px;
  }
}
@media (max-width: 768px) {
  .top_mw_slick {
    max-width: unset;
    height: 100%;
  }
}

@media (max-width: 768px) {
  .top_mw_slick .slick-list {
    height: 100% !important;
  }
}

.top_mw_slick::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 185px;
  background: #FFFFFF;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(42%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(180deg, rgb(255, 255, 255) 42%, rgba(255, 255, 255, 0) 100%);
  opacity: 0.8;
  top: 0;
  right: 0;
  z-index: 1;
}
@media (max-width: 768px) {
  .top_mw_slick::before {
    display: none;
  }
}

.top_mw_slick::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: #005FA3;
  background: linear-gradient(315deg, rgb(0, 95, 163) 0%, rgb(0, 162, 202) 100%);
  top: 0;
  right: 0;
  opacity: 0.25;
}

.top_mw_content_wrapper {
  position: relative;
  padding: 120px 0 50px;
  z-index: 1;
}
@media (max-width: 768px) {
  .top_mw_content_wrapper {
    height: 72.2vw;
    padding: 0;
  }
}

.top_mw_slick_message_en {
  position: relative;
  color: #fff;
  font-size: clamp(100px, 78.305px + 6.78vw, 180px);
  font-weight: 700;
  font-family: Arial, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  line-height: 100%;
  letter-spacing: 0;
  opacity: 0.85;
}
@media (max-width: 1300px) {
  .top_mw_slick_message_en {
    font-size: clamp(80px, 63.729px + 5.085vw, 140px);
  }
}
@media (max-width: 768px) {
  .top_mw_slick_message_en {
    position: absolute;
    font-size: 13vw;
    top: 16px;
    left: 8px;
  }
}

.top_mw_slick_message_en:nth-of-type(2) {
  margin-top: 25px;
}
@media (max-width: 768px) {
  .top_mw_slick_message_en:nth-of-type(2) {
    top: auto;
    bottom: 16px;
  }
}

.smooth {
  clip-path: inset(0 100% 0 0);
  display: inline-block;
  -webkit-transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
  transition: 1.4s cubic-bezier(0.37, 0, 0.63, 1);
  -webkit-transition-property: clip-path;
  transition-property: clip-path;
}

.smooth.is-animated {
  clip-path: inset(0);
}

.slick-slide > div {
  font-size: 0;
  line-height: 0;
}

@media (max-width: 768px) {
  .top_mw_slick_message .wrapper {
    display: none;
  }
}

.top_mw_slick_title {
  position: relative;
  font-size: clamp(30px, 26.203px + 1.186vw, 44px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
  margin-top: 12px;
  background: #005FA3;
  background: linear-gradient(315deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.mask-bg {
  position: relative;
  display: inline-block;
  overflow: hidden;
  -webkit-transition: color 0ms 450ms;
  transition: color 0ms 450ms;
  opacity: 0;
}

.mask-bg::after {
  content: "";
  position: absolute;
  display: block;
  background: -webkit-gradient(linear, left top, right top, from(#005FA3), to(#00BACA));
  background: linear-gradient(to right, #005FA3 0%, #00BACA 100%);
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-transform: translate(0, 100%);
          transform: translate(0, 100%);
}

.top_feature_title .mask-bg::after {
  background: #fff;
}

.mask-bg.is-animated {
  opacity: 1;
}

.mask-bg.is-animated::after {
  -webkit-animation: mask-bg 1.2s cubic-bezier(0.8, 0, 0.17, 1);
          animation: mask-bg 1.2s cubic-bezier(0.8, 0, 0.17, 1);
}

@-webkit-keyframes mask-bg {
  0% {
    -webkit-transform: translate(0, 101%);
            transform: translate(0, 101%);
  }
  40%, 60% {
    -webkit-transform: translate(0, 0%);
            transform: translate(0, 0%);
  }
  100% {
    -webkit-transform: translate(0, -100%);
            transform: translate(0, -100%);
  }
}

@keyframes mask-bg {
  0% {
    -webkit-transform: translate(0, 101%);
            transform: translate(0, 101%);
  }
  40%, 60% {
    -webkit-transform: translate(0, 0%);
            transform: translate(0, 0%);
  }
  100% {
    -webkit-transform: translate(0, -100%);
            transform: translate(0, -100%);
  }
}
.top_mw_slick_text {
  position: relative;
  font-size: clamp(14px, 12.915px + 0.339vw, 18px);
  font-weight: 700;
  line-height: 220%;
  letter-spacing: 0.05em;
  margin-top: 25px;
}

.matrix .bg-wrap,
.matrix .bg-wrap .inn {
  display: block;
}

.matrix .bg-wrap {
  overflow: hidden;
  opacity: 0;
}

.matrix .bg-wrap .inn {
  opacity: 0;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 100);
          transform: matrix(1, 0, 0, 1, 0, 100);
  -webkit-transition: 1.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition: 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.matrix.is-animated .bg-wrap {
  opacity: 1;
}

.matrix.is-animated .bg-wrap .inn {
  opacity: 1;
  -webkit-transform: matrix(1, 0, 0, 1, 0, 0);
          transform: matrix(1, 0, 0, 1, 0, 0);
}

/* top - top_topics
------------------------------ */
.top_topics {
  position: relative;
  padding: 120px 0 80px;
  background: #005FA3;
  background: linear-gradient(45deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 80%);
}
@media (max-width: 768px) {
  .top_topics {
    padding-top: 60px;
    padding-bottom: 50px;
  }
}

.top_topics::after {
  content: "";
  position: absolute;
  display: block;
  width: 25%;
  height: 100%;
  background-color: #fff;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 25% 100%);
  top: 0;
  right: 0;
}
@media (max-width: 768px) {
  .top_topics::after {
    width: 15%;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 100% 100%);
  }
}

.top_topics_title .section_title_wrapper {
  gap: 0 clamp(15px, 12.288px + 0.847vw, 25px);
}

.top_topics_title .section_title_en {
  color: #fff;
  font-size: clamp(30px, 21.864px + 2.542vw, 60px);
  letter-spacing: 0.05em;
}

.top_topics_title .section_title_ja {
  color: #fff;
}

.top_news_lists {
  position: relative;
  display: grid;
  gap: 0 30px;
  margin-top: 50px;
  z-index: 1;
}
@media (min-width: 768px) {
  .top_news_lists {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media (max-width: 768px) {
  .top_news_lists {
    margin-top: 30px;
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

.top_news_list a {
  position: relative;
  display: block;
  background-color: #fff;
  -webkit-box-shadow: 0 0 10px rgba(49, 49, 49, 0.4);
          box-shadow: 0 0 10px rgba(49, 49, 49, 0.4);
  top: 0;
}

@media (min-width: 768px) {
  .top_news_list a:hover {
    top: -10px;
    -webkit-box-shadow: 0 0 15px rgba(49, 49, 49, 0.8);
            box-shadow: 0 0 15px rgba(49, 49, 49, 0.8);
  }
}

.top_news_list_pict {
  position: relative;
  max-width: 290px;
}
@media (min-width: 768px) {
  .top_news_list_pict {
    height: 175px;
    overflow: hidden;
  }
}
@media (max-width: 768px) {
  .top_news_list_pict {
    max-width: unset;
    width: 100%;
    height: 200px;
    overflow: hidden;
  }
}

.top_news_list_pict img {
  -o-object-fit: cover;
     object-fit: cover;
  height: auto;
  aspect-ratio: 290/175;
}
@media (max-width: 768px) {
  .top_news_list_pict img {
    aspect-ratio: unset;
  }
}

.top_news_list_unit {
  position: relative;
  padding: 16px 20px 0;
}

.top_news_list_time {
  position: relative;
  color: #005FA3;
  font-size: 14px;
  font-family: Arial, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0;
}

.top_news_list_title {
  position: relative;
  min-height: 90px;
  font-weight: 700;
  line-height: 155%;
  letter-spacing: 0;
  margin-top: 7px;
  padding: 0 20px 20px;
}
@media (max-width: 768px) {
  .top_news_list_title {
    min-height: unset;
  }
}

.top_news_link {
  margin-top: 50px;
}
@media (max-width: 768px) {
  .top_news_link {
    margin-top: 30px;
  }
}

/* top - top_message
------------------------------ */
.top_message {
  padding: 120px 0 346px;
  background: #E9E9E9;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(63%, rgba(233, 233, 233, 0.85)), to(rgba(255, 255, 255, 0.85)));
  background: linear-gradient(0deg, rgba(233, 233, 233, 0.85) 63%, rgba(255, 255, 255, 0.85) 100%);
}
@media (max-width: 768px) {
  .top_message {
    padding-top: 0;
    padding-bottom: 120px;
  }
}

.top_message_inner {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
}
@media (max-width: 768px) {
  .top_message_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 40px;
  }
}

.top_message_images {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 22%;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (max-width: 768px) {
  .top_message_images {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: unset;
    gap: 10px 2%;
  }
}

.top_message_images:first-of-type {
  top: 0;
  left: 0;
}

.top_message_images:nth-of-type(3) {
  position: absolute;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  right: 0;
  bottom: -191px;
}
@media (max-width: 768px) {
  .top_message_images:nth-of-type(3) {
    position: relative;
    bottom: auto;
  }
}

@media (max-width: 768px) {
  .top_message_image {
    width: 49%;
  }
}

.top_message_contents {
  position: relative;
  width: 100%;
  margin: 0 0 0 auto;
  background-image: url(../images/common/illust_infrastructure_townscape.svg), url(../images/common/illust_infrastructure_buildings.svg);
  background-repeat: no-repeat, no-repeat;
  background-position: top 27px right, center right;
  background-size: clamp(220px, 200.203px + 6.186vw, 293px) auto, clamp(226px, 206.203px + 6.186vw, 299px) auto;
}
@media (max-width: 1300px) {
  .top_message_contents {
    background-size: clamp(120px, 98.305px + 6.78vw, 200px) auto, clamp(126px, 98.881px + 8.475vw, 226px) auto;
  }
}
@media (max-width: 768px) {
  .top_message_contents {
    background-position: top -20px right, bottom right;
  }
}

.top_message_title .section_title_wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: clamp(25px, 18.22px + 2.119vw, 50px);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 768px) {
  .top_message_title .section_title_wrapper {
    gap: 10px;
  }
}

.top_message_title .section_title_en {
  background: #005FA3;
  background: linear-gradient(-45deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.top_message_title .section_title_ja {
  font-size: clamp(20px, 14.576px + 1.695vw, 40px);
  line-height: 175%;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .top_message_title .section_title_ja {
    line-height: 150%;
  }
}

.top_message_contents_inner {
  position: relative;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .top_message_contents_inner {
    margin-top: 20px;
  }
}

.top_message_contents_text {
  position: relative;
  font-weight: 500;
  line-height: 250%;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .top_message_contents_text {
    line-height: 200%;
  }
}

.top_message_contents_text + .top_message_contents_text {
  margin-top: 1.5em;
}

.top_message_link {
  position: relative;
  margin-top: 70px;
  padding-bottom: 85px;
}
@media (max-width: 768px) {
  .top_message_link {
    margin-top: 30px;
    text-align: center;
  }
}

.top_message_link::after {
  content: "";
  position: absolute;
  display: block;
  max-width: clamp(202px, 180.305px + 6.78vw, 282px);
  width: 100%;
  height: 180px;
  background: url(../images/common/illust_infrastructure_nature.svg) no-repeat center center/contain;
  bottom: 0;
  right: clamp(226px, 206.203px + 6.186vw, 299px);
}
@media (max-width: 1300px) {
  .top_message_link::after {
    max-width: clamp(122px, 100.305px + 6.78vw, 202px);
    right: 36%;
  }
}
@media (max-width: 768px) {
  .top_message_link::after {
    width: 122px;
    height: 100px;
    left: 0;
    right: auto;
    bottom: -40px;
  }
}

/* top - top_service
------------------------------ */
.top_service {
  padding: 100px 0 120px;
  background: #005FA3;
  background: linear-gradient(205deg, rgb(0, 95, 163) 0%, rgba(0, 186, 202, 0.96) 100%);
}
@media (max-width: 768px) {
  .top_service {
    padding: 60px 0 50px;
  }
}

.top_service_inner {
  position: relative;
}

.top_service_title {
  position: absolute;
  width: 100%;
  top: -296px;
}
@media (max-width: 768px) {
  .top_service_title {
    top: -130px;
  }
}

.top_service_title::after {
  content: "";
  position: absolute;
  display: block;
  width: 55%;
  height: 196px;
  clip-path: polygon(0 0, 95% 0, 100% 100%, 0% 100%);
  background: #005FA3;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(0, 95, 163)), to(rgba(0, 186, 202, 0.96)));
  background: linear-gradient(180deg, rgb(0, 95, 163) 0%, rgba(0, 186, 202, 0.96) 100%);
  top: 0;
  left: 0;
}
@media (max-width: 768px) {
  .top_service_title::after {
    width: 95%;
    height: 70px;
  }
}

.top_service_title .section_title_wrapper {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
  padding: 44px 25px 0;
}
@media (max-width: 768px) {
  .top_service_title .section_title_wrapper {
    padding-top: 18px;
  }
}

.top_service_title .section_title_en {
  color: #fff;
  z-index: 1;
}

.top_service_title .section_title_ja {
  color: #fff;
  z-index: 1;
}

.top_service_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 0 20px;
}
@media (max-width: 768px) {
  .top_service_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.top_service_wrapper_pict {
  position: relative;
  width: 100vw;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-right: calc(50% - 50vw);
}
@media (max-width: 768px) {
  .top_service_wrapper_pict {
    width: 100%;
    margin: 0 auto;
  }
}

.top_service_wrapper_title {
  position: relative;
  color: #fff;
  font-size: clamp(28px, 24.746px + 1.017vw, 40px);
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .top_service_wrapper_title {
    font-size: 20px;
    line-height: 160%;
  }
}

.top_service_wrapper_text {
  position: relative;
  color: #fff;
  font-weight: 500;
  line-height: 250%;
  letter-spacing: 0.05em;
  margin-top: 45px;
}
@media (max-width: 768px) {
  .top_service_wrapper_text {
    margin-top: 20px;
    line-height: 200%;
  }
}

.top_service_images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 20px;
  margin-top: 100px;
}
@media (max-width: 768px) {
  .top_service_images {
    gap: 10px 2%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 30px;
  }
}

.top_service_image {
  position: relative;
  max-width: 22%;
  width: 100%;
}
@media (max-width: 768px) {
  .top_service_image {
    max-width: 49%;
  }
}

.top_service_items {
  display: grid;
  margin-top: 130px;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 clamp(25px, 16.864px + 2.542vw, 55px);
}
@media (max-width: 768px) {
  .top_service_items {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 50px;
  }
}

.top_service_item {
  opacity: 0;
}

.top_service_item a {
  position: relative;
  display: block;
  max-width: 380px;
  width: 100%;
  top: 0;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .top_service_item a:hover {
    top: -5px;
  }
}

.top_service_item_inner {
  position: relative;
  -webkit-box-shadow: 0 0 10px rgba(49, 49, 49, 0.4);
          box-shadow: 0 0 10px rgba(49, 49, 49, 0.4);
  -webkit-transition: 0.35s;
  transition: 0.35s;
}

@media (min-width: 768px) {
  .top_service_item a:hover .top_service_item_inner {
    -webkit-box-shadow: 0 0 15px rgba(49, 49, 49, 0.8);
            box-shadow: 0 0 15px rgba(49, 49, 49, 0.8);
  }
}

.top_service_item_title {
  position: relative;
}

.top_service_item_title::after {
  content: "";
  position: absolute;
  display: block;
  width: 88%;
  height: 100%;
  clip-path: polygon(0 0, 95% 0, 100% 100%, 0% 100%);
  background-color: #005FA3;
  top: 0;
  left: 0;
}

.top_service_item_title_ja {
  position: relative;
  color: #fff;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 100%;
  padding: 25px 30px 26px;
  z-index: 1;
}
@media (max-width: 768px) {
  .top_service_item_title_ja {
    font-size: 20px;
    letter-spacing: 0.05em;
    padding: 15px 20px 16px;
  }
}

.top_service_item_content {
  position: relative;
  padding: 25px 25px 34px;
  background-color: #fff;
}
@media (max-width: 768px) {
  .top_service_item_content {
    padding: 20px 5% 25px;
  }
}

.top_service_item_num {
  position: absolute;
  color: #fff;
  font-size: clamp(40px, 29.153px + 3.39vw, 80px);
  font-weight: 700;
  font-family: Arial, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  line-height: 100%;
  top: -67px;
  left: 17px;
}
@media (max-width: 768px) {
  .top_service_item_num {
    font-size: 60px;
    top: -50px;
  }
}

.top_service_item_text {
  position: relative;
  font-weight: 500;
  line-height: 220%;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .top_service_item_text {
    line-height: 180%;
    letter-spacing: 0.05em;
  }
}

.top_service_link {
  margin-top: 70px;
}
@media (max-width: 768px) {
  .top_service_link {
    margin-top: 30px;
  }
}

.anim-box.slidein.is-animated {
  -webkit-animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
          animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

@-webkit-keyframes slideIn {
  0% {
    -webkit-transform: translateY(180px);
            transform: translateY(180px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40%, 100% {
    opacity: 1;
  }
}

@keyframes slideIn {
  0% {
    -webkit-transform: translateY(180px);
            transform: translateY(180px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  40%, 100% {
    opacity: 1;
  }
}
/* top - top_territory
------------------------------ */
.top_territory {
  padding: 120px 0;
}
@media (max-width: 768px) {
  .top_territory {
    padding: 60px 0;
  }
}

@media (max-width: 768px) {
  .top_territory_title .section_title_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.top_territory_title .section_title_en {
  background: #005FA3;
  background: linear-gradient(-45deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.top_territory_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 0 20px;
}
@media (max-width: 768px) {
  .top_territory_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 20px;
    margin-top: 30px;
  }
}

.top_territory_wrapper_pict {
  position: relative;
  max-width: clamp(280px, 260.475px + 6.102vw, 352px);
  width: 100%;
}
@media (max-width: 768px) {
  .top_territory_wrapper_pict {
    max-width: 150px;
    margin: 0 auto;
  }
}

.top_territory_wrapper_title {
  position: relative;
  font-size: clamp(32px, 29.831px + 0.678vw, 40px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .top_territory_wrapper_title {
    font-size: 18px;
    letter-spacing: 0.03em;
  }
}

.top_territory_outline {
  position: relative;
  font-weight: 500;
  line-height: 250%;
  letter-spacing: 0.05em;
  margin-top: 50px;
}
@media (max-width: 768px) {
  .top_territory_outline {
    line-height: 200%;
    margin-top: 20px;
  }
}

.top_territory_items {
  display: grid;
  gap: clamp(15px, 10.932px + 1.271vw, 30px);
  margin-top: 70px;
}
@media (min-width: 768px) {
  .top_territory_items {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
}
@media (max-width: 768px) {
  .top_territory_items {
    margin-top: 30px;
    grid-template-columns: 1fr 1fr;
  }
}

.top_territory_item a {
  position: relative;
  display: block;
  background-color: #fff;
  -webkit-box-shadow: 0 0 10px rgba(49, 49, 49, 0.4);
          box-shadow: 0 0 10px rgba(49, 49, 49, 0.4);
  top: 0;
}

@media (min-width: 768px) {
  .top_territory_item a:hover {
    -webkit-box-shadow: 0 0 15px rgba(49, 49, 49, 0.8);
            box-shadow: 0 0 15px rgba(49, 49, 49, 0.8);
    top: -5px;
  }
}

.top_territory_item_contents {
  position: relative;
  padding: 22px clamp(10px, 7.288px + 0.847vw, 20px);
}
@media (max-width: 768px) {
  .top_territory_item_contents {
    padding: 10px;
  }
}

.top_territory_item_name {
  color: #005FA3;
  font-size: clamp(14px, 12.915px + 0.339vw, 18px);
  font-weight: 700;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .top_territory_item_name {
    font-size: 14px;
    line-height: 120%;
  }
}

/* section_works
------------------------------ */
.section_works {
  padding: 120px 0;
  background: #F3F3F3;
  background: linear-gradient(35deg, rgb(243, 243, 243) 0%, rgba(225, 225, 225, 0.96) 100%);
}
@media (max-width: 768px) {
  .section_works {
    padding: 60px 0 50px;
  }
}

.section_works_title .section_title_en {
  background: #005FA3;
  background: linear-gradient(-45deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.foot_works .section_title_wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.foot_works .section_works_title::after {
  content: "";
  position: relative;
  display: block;
  width: 50px;
  height: 4px;
  background-color: #2AB5B0;
  margin: 82px auto 0;
}
@media (max-width: 768px) {
  .foot_works .section_works_title::after {
    margin-top: 50px;
  }
}

.foot_works .section_works_title .section_title_en {
  position: absolute;
  font-size: clamp(70px, 51.017px + 5.932vw, 140px);
  background: #fff;
  -webkit-background-clip: text;
          background-clip: text;
  top: -48%;
}
@media (max-width: 768px) {
  .foot_works .section_works_title .section_title_en {
    top: -38%;
  }
}

.foot_works .section_works_title .section_title_ja {
  font-size: clamp(20px, 14.576px + 1.695vw, 40px);
}

.section_works_lists {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .section_works_lists {
    margin-top: 40px;
  }
}

.section_works_list {
  position: relative;
  max-width: 343px;
  -webkit-box-sizing: unset;
          box-sizing: unset;
}

.section_works_list a {
  position: relative;
  display: block;
  width: 100%;
  background-color: #fff;
  -webkit-box-shadow: 0 0 10px rgba(49, 49, 49, 0.4);
          box-shadow: 0 0 10px rgba(49, 49, 49, 0.4);
}

.section_works_list_content {
  position: relative;
  display: block;
  padding: 20px clamp(10px, 7.288px + 0.847vw, 20px) 25px;
}

.section_works_list_title {
  position: relative;
  color: #005FA3;
  font-size: clamp(14px, 12.915px + 0.339vw, 18px);
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
}

.section_works_list_area {
  position: relative;
  font-size: clamp(12px, 10.915px + 0.339vw, 16px);
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0;
  margin-top: 10px;
}

.section_works_list_tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
  margin-top: 16px;
}

.section_works_list_tag {
  position: relative;
  max-width: 196px;
  width: 100%;
  font-size: 14px;
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  padding: 7px 0 9px;
}
@media (max-width: 768px) {
  .section_works_list_tag {
    max-width: unset;
  }
}

.tag_facility {
  background-color: #CCEDEC;
}

.tag_business {
  background-color: #C2E6F2;
}

.section_works_link {
  margin-top: 80px;
}
@media (max-width: 768px) {
  .section_works_link {
    margin-top: 30px;
  }
}

/* top - top_feature
------------------------------ */
.top_feature {
  position: relative;
  padding-bottom: 120px;
  background: url(../images/top/top_feature_bg.jpg) no-repeat center center/cover;
}
@media (max-width: 768px) {
  .top_feature {
    background-position: center right 20%;
    padding-bottom: 50px;
  }
}

.top_feature::before {
  content: "";
  position: absolute;
  display: block;
  width: 60%;
  height: 196px;
  background-color: #fff;
  clip-path: polygon(0 0, 94% 0, 100% 100%, 0% 100%);
  top: 0;
  left: 0;
}
@media (max-width: 768px) {
  .top_feature::before {
    width: 100%;
    height: 90px;
  }
}

.top_feature_title {
  padding-top: 45px;
}
@media (max-width: 768px) {
  .top_feature_title {
    padding-top: 26px;
  }
}

.top_feature_title .section_title_en {
  background: #005FA3;
  background: linear-gradient(-45deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.top_feature_contents {
  position: relative;
  margin-top: 160px;
}
@media (max-width: 768px) {
  .top_feature_contents {
    margin-top: 40px;
  }
}

.top_feature_contents_title {
  position: relative;
  color: #fff;
  font-size: clamp(26px, 22.203px + 1.186vw, 40px);
  font-weight: 700;
  line-height: 175%;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .top_feature_contents_title {
    font-size: 22px;
  }
}

.top_feature_desc {
  position: relative;
  color: #fff;
  line-height: 250%;
  letter-spacing: 0.05em;
  margin-top: 53px;
}
@media (max-width: 768px) {
  .top_feature_desc {
    margin-top: 20px;
    line-height: 200%;
  }
}

.top_feature_desc p + p {
  margin-top: 1.5em;
}

.top_feature_link {
  margin-top: 55px;
}
@media (max-width: 768px) {
  .top_feature_link {
    margin-top: 30px;
    text-align: center;
  }
}

.top_feature_images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 100px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 21px;
}
@media (max-width: 768px) {
  .top_feature_images {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px 2%;
    margin-top: 30px;
  }
}

.top_feature_image {
  position: relative;
  max-width: 22%;
  width: 100%;
}
@media (max-width: 768px) {
  .top_feature_image {
    max-width: 49%;
  }
}

/* section_recruit
------------------------------ */
.section_recruit {
  margin-top: 120px;
  padding: 0 0 186px;
  background-color: #005FA3;
  background-image: url(../images/top/top_recruit_pictR01.jpg);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 37% auto;
}
@media (max-width: 768px) {
  .section_recruit {
    margin-top: 60px;
    padding: 0;
    background-image: none;
  }
}

@media (max-width: 768px) {
  .section_recruit::after {
    content: "";
    position: relative;
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 60%;
    background: url(../images/top/top_recruit_pictR01.jpg) no-repeat top center/cover;
    margin-top: 30px;
  }
}

.section_recruit_mainpic {
  position: relative;
  width: 100%;
  max-height: 100vh;
  overflow: hidden;
}

.section_recruit_mainpic img {
  -o-object-fit: cover;
     object-fit: cover;
}

.section_recruit_mainpic video {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 3/1;
}
@media (max-width: 768px) {
  .section_recruit_mainpic video {
    aspect-ratio: 3/2;
  }
}

.section_recruit_inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  padding-top: 120px;
}
@media (max-width: 768px) {
  .section_recruit_inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    padding-top: 60px;
  }
}

.section_recruit_images {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 24%;
  width: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
@media (max-width: 768px) {
  .section_recruit_images {
    max-width: unset;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 2%;
  }
}

.section_recruit_inner .wrapper {
  margin: 0 auto;
}

.section_recruit_title .section_title_en {
  color: #fff;
  line-height: 100%;
}

.section_recruit_contents {
  position: relative;
  color: #fff;
  font-size: clamp(16px, 14.915px + 0.339vw, 20px);
  line-height: 200%;
  letter-spacing: 0.05em;
  margin-top: 50px;
}
@media (max-width: 768px) {
  .section_recruit_contents {
    font-size: 15px;
    margin-top: 20px;
  }
}

.section_recruit_link {
  margin-top: 77px;
}
@media (max-width: 768px) {
  .section_recruit_link {
    margin-top: 30px;
    text-align: center;
  }
}

/* sub
------------------------------ */
.section_main_title {
  position: relative;
  background: #F3F3F3;
  background: linear-gradient(130deg, rgb(243, 243, 243) 0%, rgba(225, 225, 225, 0.96) 50%);
}

.section_maintitle_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .section_maintitle_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.section_maintitle_img {
  position: relative;
  width: 100vw;
  max-height: 500px;
  margin-right: calc(50% - 50vw);
  overflow: hidden;
}
@media (max-width: 768px) {
  .section_maintitle_img {
    width: 112%;
    max-height: 180px;
    margin-left: -6%;
  }
}

.section_maintitle_img::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 185px;
  background: #FFFFFF;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(42%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(180deg, rgb(255, 255, 255) 42%, rgba(255, 255, 255, 0) 100%);
  opacity: 0.8;
  top: 0;
  right: 0;
  z-index: 1;
}
@media (max-width: 768px) {
  .section_maintitle_img::before {
    display: none;
  }
}

.section_maintitle_img img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 820/500;
}

.section_maintitle_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 55%;
  width: 100%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 768px) {
  .section_maintitle_box {
    position: absolute;
    max-width: unset;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
}

.section_maintitle_inner_ja {
  position: relative;
  font-size: clamp(28px, 24.746px + 1.017vw, 40px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
  padding-top: 35px;
  background: #005FA3;
  background: linear-gradient(315deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  z-index: 2;
}
@media (min-width: 768px) {
  .section_maintitle_inner_ja {
    white-space: nowrap;
  }
}
@media (max-width: 768px) {
  .section_maintitle_inner_ja {
    font-size: clamp(18px, 15.831px + 0.678vw, 26px);
    padding-top: 8px;
    padding: 0 16px;
  }
}

.section_maintitle_inner_en {
  position: relative;
  color: #fff;
  font-size: clamp(80px, 58.305px + 6.78vw, 160px);
  font-family: Arial, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0;
  opacity: 0.85;
  margin-left: -16%;
  z-index: 1;
}
@media (max-width: 768px) {
  .section_maintitle_inner_en {
    font-size: clamp(35px, 28.22px + 2.119vw, 60px);
    margin: 0;
  }
}

.subsection_title {
  position: relative;
  text-align: center;
  padding-top: clamp(20px, 13.22px + 2.119vw, 45px);
}

.multiline_title {
  padding-top: 0;
}

.subsection_title::after {
  content: "";
  position: relative;
  display: block;
  width: 50px;
  height: 4px;
  background-color: #2AB5B0;
  margin: 35px auto 0;
}
@media (max-width: 768px) {
  .subsection_title::after {
    margin-top: 25px;
  }
}

.subsection_title_ja {
  position: relative;
  font-size: clamp(26px, 22.203px + 1.186vw, 40px);
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0.1em;
  z-index: 1;
}
@media (max-width: 768px) {
  .subsection_title_ja {
    font-size: clamp(20px, 17.831px + 0.678vw, 28px);
  }
}

.subsection_title_en {
  position: relative;
  color: #F4F4F4;
  font-size: clamp(70px, 51.017px + 5.932vw, 140px);
  font-family: Arial, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0;
  margin-top: clamp(-95px, -25.085px + -4.661vw, -40px);
}
@media (max-width: 768px) {
  .subsection_title_en {
    font-size: clamp(45px, 35.508px + 2.966vw, 80px);
  }
}

.multiline_title .subsection_title_en {
  margin-top: clamp(-125px, -42.373px + -5.508vw, -60px);
}

/* bread crumb
------------------------------ */
.bread_crumb {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
}
@media (max-width: 768px) {
  .bread_crumb {
    bottom: -32%;
  }
}

.bread_crumb::after {
  content: "";
  position: absolute;
  display: block;
  width: 80%;
  height: 117px;
  background: #00BACA;
  background: linear-gradient(215deg, rgb(0, 186, 202) 0%, rgba(0, 95, 163, 0.96) 45%);
  clip-path: polygon(0 0, 98.5% 0, 100% 100%, 0% 100%);
  top: 0;
  left: 0;
}
@media (max-width: 768px) {
  .bread_crumb::after {
    width: 98%;
    height: 100%;
    clip-path: polygon(0 0, 95% 0, 100% 100%, 0% 100%);
  }
}

.breadcrumb_inner {
  position: relative;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  line-height: 145%;
  letter-spacing: 0.05em;
  padding: 66px 0 34px;
  z-index: 1;
}
@media (max-width: 768px) {
  .breadcrumb_inner {
    padding: 36px 5% 14px;
  }
}

.breadcrumb_inner br {
  display: none;
}

.breadcrumb_inner a {
  color: #2AB5B0;
}

@media (min-width: 768px) {
  .breadcrumb_inner a:hover {
    color: #fff;
  }
}

/* service
------------------------------ */
.service_about {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .service_about {
    margin-top: 80px;
  }
}

.service_about_outline {
  position: relative;
  font-weight: 500;
  line-height: 250%;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 60px;
}
@media (max-width: 768px) {
  .service_about_outline {
    margin-top: 30px;
  }
}

.service_about_items {
  position: relative;
  margin-top: 120px;
}
@media (max-width: 768px) {
  .service_about_items {
    margin-top: 30px;
  }
}

.service_about_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
}
@media (max-width: 768px) {
  .service_about_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.service_about_item:nth-child(2) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .service_about_item:nth-child(2) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.service_about_item + .service_about_item {
  margin-top: 116px;
}
@media (max-width: 768px) {
  .service_about_item + .service_about_item {
    margin-top: 70px;
  }
}

.service_about_item_img {
  position: relative;
  max-width: clamp(400px, 338.983px + 19.068vw, 625px);
  width: 100%;
}
@media (max-width: 768px) {
  .service_about_item_img {
    margin: 0 auto;
  }
}

.service_about_item_content {
  position: relative;
  max-width: clamp(450px, 414.746px + 11.017vw, 580px);
  width: 100%;
}
@media (max-width: 768px) {
  .service_about_item_content {
    max-width: unset;
  }
}

.service_about_item_title_ja {
  position: relative;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
  background: #005FA3;
  background: linear-gradient(315deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-top: 40px;
}
@media (max-width: 768px) {
  .service_about_item_title_ja {
    font-size: clamp(18px, 15.831px + 0.678vw, 26px);
    line-height: 145%;
    padding-top: 20px;
  }
}

.service_about_item_title_num {
  position: absolute;
  display: block;
  width: auto;
  max-height: clamp(60px, 46.712px + 4.153vw, 109px);
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

@media (max-width: 768px) {
  .service_about_item_title_num img {
    width: auto;
    height: 100%;
  }
}

.service_about_item_content p {
  position: relative;
  line-height: 210%;
  letter-spacing: 0.05em;
  border-top: 1px solid #2AB5B0;
  margin-top: 40px;
  padding-top: 35px;
}
@media (max-width: 768px) {
  .service_about_item_content p {
    margin-top: 10%;
    padding-top: 5%;
  }
}

.service_about_item_btn {
  position: relative;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .service_about_item_btn {
    text-align: center;
    margin-top: 20px;
  }
}

.service_business {
  margin-top: 120px;
  padding: 120px 0 200px;
  background: #005FA3;
  background: linear-gradient(200deg, rgba(0, 95, 163, 0.1) 0%, rgba(0, 186, 202, 0.1) 100%);
}
@media (max-width: 768px) {
  .service_business {
    margin-top: 70px;
    padding: 60px 0 80px;
  }
}

.service_business_title .subsection_title_en {
  color: #fff;
}

.service_business_menus {
  position: relative;
  margin-top: 80px;
}
@media (max-width: 768px) {
  .service_business_menus {
    margin-top: 40px;
  }
}

.service_business_menu {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media (max-width: 768px) {
  .service_business_menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.service_business_menu:nth-child(2) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .service_business_menu:nth-child(2) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.service_business_menu + .service_business_menu {
  margin-top: 215px;
}
@media (max-width: 768px) {
  .service_business_menu + .service_business_menu {
    margin-top: 50px;
  }
}

.service_business_menu_img {
  position: relative;
  max-width: clamp(500px, 432.203px + 21.186vw, 750px);
  width: 100%;
}
@media (max-width: 768px) {
  .service_business_menu_img {
    max-width: unset;
    margin: 0 auto;
  }
}

.service_business_item_content {
  position: absolute;
  max-width: clamp(460px, 398.983px + 19.068vw, 685px);
  width: 100%;
  padding: clamp(32px, 23.864px + 2.542vw, 62px) clamp(20px, 9.153px + 3.39vw, 60px);
  background-color: rgba(255, 255, 255, 0.8);
  top: clamp(40px, 29.153px + 3.39vw, 80px);
  right: 0;
}
@media (max-width: 768px) {
  .service_business_item_content {
    position: relative;
    max-width: unset;
    padding: 8% 5%;
    top: auto;
    right: auto;
  }
}

.service_business_menu:nth-child(2) .service_business_item_content {
  left: 0;
  right: auto;
}
@media (max-width: 768px) {
  .service_business_menu:nth-child(2) .service_business_item_content {
    left: auto;
  }
}

.service_business_item_title {
  position: relative;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #2AB5B0;
  padding-bottom: 28px;
}
@media (max-width: 768px) {
  .service_business_item_title {
    font-size: clamp(18px, 15.831px + 0.678vw, 26px);
    padding-bottom: 15px;
  }
}

.service_business_item_text {
  position: relative;
  font-weight: 500;
  line-height: 210%;
  letter-spacing: 0.05em;
  margin-top: 20px;
}

.service_business_item_btn {
  position: relative;
  margin-top: 25px;
}

/* service - wiring
------------------------------ */
.wiring_main_title .section_maintitle_inner_en {
  margin-left: -43%;
}
@media (max-width: 768px) {
  .wiring_main_title .section_maintitle_inner_en {
    margin: 0;
  }
}

.wiring_about {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .wiring_about {
    margin-top: 80px;
  }
}

.wiring_service_outline {
  position: relative;
  line-height: 210%;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 50px;
}
@media (max-width: 768px) {
  .wiring_service_outline {
    margin-top: 25px;
  }
}

.wiring_about_outline {
  margin-top: 60px;
}
@media (max-width: 768px) {
  .wiring_about_outline {
    margin-top: 30px;
  }
}

.wiring_about_btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 clamp(20px, 17.288px + 0.847vw, 30px);
  margin-top: 60px;
}
@media (max-width: 768px) {
  .wiring_about_btns {
    margin-top: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.wiring_about_btn {
  position: relative;
  max-width: 270px;
  width: 100%;
}

.wiring_service {
  position: relative;
  margin-top: 120px;
}
@media (max-width: 768px) {
  .wiring_service {
    margin-top: 60px;
  }
}

.wiring_service_mainpic {
  position: relative;
  width: 100%;
  max-height: 400px;
  overflow: hidden;
}

.wiring_service_mainpic img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1500/400;
}

.wiring_service_title {
  margin-top: 60px;
  padding-top: 0;
}
@media (max-width: 768px) {
  .wiring_service_title {
    margin-top: 30px;
  }
}

.wiring_service_menus {
  position: relative;
  margin-top: 60px;
}

.wiring_service_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  padding: 40px clamp(20px, 15.932px + 1.271vw, 35px);
  background-color: #F0F0F0;
}
@media (max-width: 768px) {
  .wiring_service_menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 8% 5%;
    gap: 20px;
  }
}

.wiring_service_menu + .wiring_service_menu {
  margin-top: 60px;
}
@media (max-width: 768px) {
  .wiring_service_menu + .wiring_service_menu {
    margin-top: 30px;
  }
}

.wiring_service_menu_img {
  position: relative;
  max-width: clamp(350px, 296.305px + 16.78vw, 548px);
  width: 100%;
}
@media (max-width: 768px) {
  .wiring_service_menu_img {
    max-width: unset;
  }
}

.wiring_service_menu_content {
  position: relative;
  max-width: clamp(420px, 373.898px + 14.407vw, 590px);
  width: 100%;
}
@media (max-width: 768px) {
  .wiring_service_menu_content {
    max-width: unset;
  }
}

.wiring_service_menu_title {
  position: relative;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .wiring_service_menu_title {
    font-size: clamp(18px, 15.831px + 0.678vw, 26px);
    text-align: center;
  }
}

.wiring_service_menu_title::after {
  content: "";
  position: relative;
  display: block;
  width: 50px;
  height: 4px;
  background-color: #2AB5B0;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .wiring_service_menu_title::after {
    margin: 15px auto 0;
  }
}

.wiring_service_menu_text {
  position: relative;
  line-height: 180%;
  letter-spacing: 0.05em;
  margin-top: 15px;
}

.wiring_service_menu_tags {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 8px;
  margin-top: 16px;
}
@media (max-width: 768px) {
  .wiring_service_menu_tags {
    grid-template-columns: 1fr;
  }
}

.wiring_service_menu_tag {
  position: relative;
  color: #2AB5B0;
  font-size: 15px;
  font-weight: 600;
  line-height: 100%;
  letter-spacing: 0.047em;
  border: 1px solid #2AB5B0;
  padding: 4px 10px 5px;
}
@media (max-width: 768px) {
  .wiring_service_menu_tag {
    font-size: 14px;
  }
}

.wiring_service_maker {
  position: relative;
  margin-top: 24px;
}

.wiring_service_maker_title {
  position: relative;
  color: #005FA3;
  font-size: clamp(14px, 12.915px + 0.339vw, 18px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0;
}

.wiring_service_maker_title::before {
  content: "−";
  color: #2AB5B0;
}

.wiring_service_maker_text {
  position: relative;
  line-height: 180%;
  letter-spacing: 0.05em;
  margin-top: 10px;
}

.wiring_service_small_menus {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 60px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 clamp(20px, 17.017px + 0.932vw, 31px);
}
@media (max-width: 768px) {
  .wiring_service_small_menus {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-top: 30px;
  }
}

.wiring_service_small_menu {
  position: relative;
  max-width: clamp(300px, 273.966px + 8.136vw, 396px);
  width: 100%;
  padding: clamp(20px, 15.932px + 1.271vw, 35px);
  background-color: #F0F0F0;
}
@media (max-width: 768px) {
  .wiring_service_small_menu {
    max-width: unset;
    padding: 8% 5%;
  }
}

.wiring_service_small_menu_img {
  position: relative;
  max-width: clamp(260px, 242.102px + 5.593vw, 326px);
  width: 100%;
}
@media (max-width: 768px) {
  .wiring_service_small_menu_img {
    max-width: unset;
  }
}

.wiring_service_small_menu .wiring_service_menu_content {
  margin-top: 34px;
}

.wiring_service_small_menu .wiring_service_menu_title {
  font-size: clamp(20px, 17.831px + 0.678vw, 28px);
  text-align: center;
}

.wiring_service_small_menu .wiring_service_menu_title::after {
  margin: 20px auto 0;
}

.wiring_service_small_menu .wiring_service_menu_tags {
  min-height: 98px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-line-pack: start;
      align-content: start;
  grid-template-columns: 1fr;
}
@media (max-width: 768px) {
  .wiring_service_small_menu .wiring_service_menu_tags {
    min-height: unset;
  }
}

.wiring_service_supplier {
  position: relative;
  margin-top: 60px;
}

.wiring_service_supplier_title {
  position: relative;
  color: #005FA3;
  font-size: clamp(22px, 18.475px + 1.102vw, 35px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .wiring_service_supplier_title {
    font-size: clamp(20px, 17.831px + 0.678vw, 28px);
  }
}

.wiring_service_supplier_lists {
  width: 100%;
  margin-top: 30px;
}
@media (max-width: 768px) {
  .wiring_service_supplier_lists {
    margin-top: 15px;
  }
}

.wiring_service_supplier_lists th {
  color: #fff;
  font-weight: 700;
  line-height: 210%;
  letter-spacing: 0.05em;
  padding: 15px clamp(20px, 14.305px + 1.78vw, 41px);
  background-color: #005FA3;
  border-bottom: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .wiring_service_supplier_lists th {
    padding: 10px 15px;
  }
}

.wiring_service_supplier_lists td {
  line-height: 210%;
  letter-spacing: 0.05em;
  padding: 15px clamp(20px, 14.305px + 1.78vw, 41px);
  border-bottom: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .wiring_service_supplier_lists td {
    padding: 10px 15px;
  }
}

.wiring_service_supplier_lists th:first-child,
.wiring_service_supplier_lists td:first-child {
  border-right: 1px solid #2AB5B0;
}

.wiring_service_btn {
  text-align: center;
  margin-top: 60px;
}
@media (max-width: 768px) {
  .wiring_service_btn {
    margin-top: 30px;
  }
}

.wiring_foot_works01 {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .wiring_foot_works01 {
    margin-top: 60px;
  }
}

/* service - support
------------------------------ */
.support_main_title .section_maintitle_inner_en {
  margin-left: -36%;
}
@media (max-width: 768px) {
  .support_main_title .section_maintitle_inner_en {
    margin-left: 0;
  }
}

.support_service_title {
  padding-top: 0;
}

.support_about {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .support_about {
    margin-top: 60px;
  }
}

.support_service_outline {
  position: relative;
  text-align: center;
  line-height: 210%;
  letter-spacing: 0.05em;
  margin-top: 60px;
}
@media (max-width: 768px) {
  .support_service_outline {
    margin-top: 30px;
  }
}

.support_intro {
  position: relative;
  margin-top: 120px;
  padding: 120px 0;
  background: #005FA3;
  background: linear-gradient(200deg, rgba(0, 95, 163, 0.1) 0%, rgba(0, 186, 202, 0.1) 100%);
}
@media (max-width: 768px) {
  .support_intro {
    margin-top: 60px;
    padding: 60px 0;
  }
}

.support_intro_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 clamp(20px, 11.864px + 2.542vw, 50px);
  margin-top: 60px;
  padding: 40px clamp(20px, 15.932px + 1.271vw, 35px);
  background-color: #fff;
}
@media (max-width: 768px) {
  .support_intro_item {
    margin-top: 30px;
    padding: 8% 5%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.support_intro_item:nth-child(2) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .support_intro_item:nth-child(2) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.support_intro_item_img {
  position: relative;
  max-width: clamp(400px, 355.254px + 13.983vw, 565px);
  width: 100%;
}

.support_intro_menu_content {
  position: relative;
  max-width: clamp(400px, 355.254px + 13.983vw, 565px);
  width: 100%;
}

.support_intro_menu_title {
  position: relative;
  border-bottom: 4px solid #2AB5B0;
  padding-bottom: 23px;
}
@media (max-width: 768px) {
  .support_intro_menu_title {
    padding-bottom: 15px;
  }
}

.support_intro_menu_title_en {
  position: relative;
  font-size: clamp(15px, 13.373px + 0.508vw, 21px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
  background: #005FA3;
  background: linear-gradient(286deg, rgb(0, 95, 163) 60%, rgb(0, 186, 202) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .support_intro_menu_title_en {
    font-size: 14px;
  }
}

.support_intro_menu_title_ja {
  position: relative;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 100%;
  margin-top: 23px;
}
@media (max-width: 768px) {
  .support_intro_menu_title_ja {
    font-size: clamp(18px, 15.831px + 0.678vw, 26px);
    margin-top: 10px;
  }
}

.support_intro_menu_text {
  position: relative;
  line-height: 210%;
  letter-spacing: 0.05em;
  margin-top: 23px;
}
@media (max-width: 768px) {
  .support_intro_menu_text {
    margin-top: 15px;
  }
}

.support_necessity {
  position: relative;
  margin-top: 120px;
}
@media (max-width: 768px) {
  .support_necessity {
    margin-top: 60px;
  }
}

.support_necessity_items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  margin-top: 80px;
}
@media (max-width: 768px) {
  .support_necessity_items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-top: 50px;
  }
}

.support_necessity_item {
  position: relative;
  max-width: clamp(450px, 409.322px + 12.712vw, 600px);
  width: 100%;
  padding: 35px clamp(25px, 22.017px + 0.932vw, 36px);
  background-color: #F1F1F1;
}
@media (max-width: 768px) {
  .support_necessity_item {
    margin: 0 auto;
    padding: 8% 5%;
  }
}

.support_necessity_item_img {
  position: relative;
  max-width: clamp(400px, 365.559px + 10.763vw, 527px);
  width: 100%;
}
@media (max-width: 768px) {
  .support_necessity_item_img {
    max-width: unset;
  }
}

.support_necessity_item_content {
  position: relative;
  max-width: clamp(400px, 365.559px + 10.763vw, 527px);
  margin-top: 82px;
}
@media (max-width: 768px) {
  .support_necessity_item_content {
    max-width: unset;
    margin-top: 40px;
  }
}

.support_necessity_item_num {
  position: absolute;
  max-width: clamp(80px, 72.136px + 2.458vw, 109px);
  width: 100%;
  color: #fff;
  font-size: clamp(30px, 27.288px + 0.847vw, 40px);
  font-weight: 700;
  text-align: center;
  line-height: 100%;
  letter-spacing: 0.1em;
  padding: clamp(25px, 22.288px + 0.847vw, 35px) 0;
  background-color: #2AB5B0;
  border-radius: 50%;
  top: -50%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .support_necessity_item_num {
    max-width: 65px;
    height: 65px;
    font-size: clamp(22px, 19.831px + 0.678vw, 30px);
    top: -75px;
    padding-top: 21px;
  }
}

.support_necessity_item_title {
  position: relative;
  color: #005FA3;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  line-height: 180%;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (max-width: 768px) {
  .support_necessity_item_title {
    font-size: clamp(18px, 15.831px + 0.678vw, 26px);
  }
}

.support_necessity_item_text {
  position: relative;
  line-height: 210%;
  letter-spacing: 0.05em;
  margin-top: 30px;
}
@media (max-width: 768px) {
  .support_necessity_item_text {
    margin-top: 15px;
  }
}

.support_after {
  position: relative;
  margin-top: 120px;
  padding: 120px 0;
  background: #005FA3;
  background: linear-gradient(200deg, rgba(0, 95, 163, 0.1) 0%, rgba(0, 186, 202, 0.1) 100%);
}
@media (max-width: 768px) {
  .support_after {
    margin-top: 60px;
    padding: 60px 0;
  }
}

.support_after_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .support_after_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.support_after_pict {
  position: relative;
  max-width: clamp(400px, 345.763px + 16.949vw, 600px);
  width: 100%;
}
@media (max-width: 768px) {
  .support_after_pict {
    margin: 0 auto;
  }
}

.support_after_content {
  position: relative;
  max-width: clamp(400px, 345.763px + 16.949vw, 600px);
  width: 100%;
}
@media (max-width: 768px) {
  .support_after_content {
    max-width: unset;
  }
}

.support_after_title {
  position: relative;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  line-height: 180%;
  letter-spacing: 0.1em;
  background: #005FA3;
  background: linear-gradient(286deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .support_after_title {
    font-size: clamp(20px, 17.831px + 0.678vw, 28px);
  }
}

.support_after_text {
  position: relative;
  margin-top: 30px;
}
@media (max-width: 768px) {
  .support_after_text {
    margin-top: 10px;
  }
}

.support_after_text p {
  line-height: 210%;
  letter-spacing: 0.05em;
}

.support_after_text p + p {
  margin-top: 1.5em;
}

/* service - ict
------------------------------ */
.ict_main_title .section_maintitle_inner_en {
  white-space: nowrap;
  margin-left: -23%;
}
@media (max-width: 768px) {
  .ict_main_title .section_maintitle_inner_en {
    margin-left: 0;
  }
}

.ict_about {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .ict_about {
    margin-top: 80px;
  }
}

.ict_about_outline {
  position: relative;
  line-height: 210%;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 60px;
}
@media (max-width: 768px) {
  .ict_about_outline {
    margin-top: 30px;
  }
}

.ict_about_items {
  display: grid;
  margin-top: 176px;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 27px;
}
@media (max-width: 768px) {
  .ict_about_items {
    grid-template-columns: 1fr;
    gap: 50px;
    margin-top: 60px;
  }
}

.ict_about_item {
  position: relative;
  max-width: clamp(280px, 248px + 10vw, 398px);
  width: 100%;
  padding: clamp(43px, 32.695px + 3.22vw, 81px) 22px 43px;
  background: #005FA3;
  background: linear-gradient(200deg, rgba(0, 95, 163, 0.1) 0%, rgba(0, 186, 202, 0.1) 100%);
}
@media (max-width: 768px) {
  .ict_about_item {
    margin: 0 auto;
    padding: 40px 5% 8%;
  }
}

.ict_about_item_num {
  position: absolute;
  max-width: clamp(80px, 72.136px + 2.458vw, 109px);
  width: 100%;
  color: #fff;
  font-size: clamp(30px, 27.288px + 0.847vw, 40px);
  font-weight: 700;
  text-align: center;
  line-height: 100%;
  letter-spacing: 0.1em;
  padding: clamp(25px, 22.288px + 0.847vw, 35px) 0;
  background-color: #2AB5B0;
  border-radius: 50%;
  top: -15%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .ict_about_item_num {
    max-width: 70px;
    font-size: 20px;
  }
}

.ict_about_item_title {
  position: relative;
  color: #005FA3;
  font-size: clamp(24px, 21.831px + 0.678vw, 32px);
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0.1em;
  text-align: center;
}
@media (max-width: 768px) {
  .ict_about_item_title {
    font-size: clamp(20px, 17.831px + 0.678vw, 28px);
  }
}

.ict_about_item_text {
  position: relative;
  line-height: 180%;
  letter-spacing: 0.05em;
  border-top: 4px solid #2AB5B0;
  margin-top: 30px;
  padding-top: 20px;
}
@media (max-width: 768px) {
  .ict_about_item_text {
    margin-top: 15px;
    padding-top: 20px;
  }
}

.ict_menu {
  position: relative;
  margin-top: 120px;
  padding: 120px 0;
  background: #005FA3;
  background: linear-gradient(200deg, rgba(0, 95, 163, 0.1) 0%, rgba(0, 186, 202, 0.1) 100%);
}
@media (max-width: 768px) {
  .ict_menu {
    margin-top: 60px;
    padding: 60px 0;
  }
}

.ict_service_title {
  padding-top: 0;
}

.ict_menu_item {
  position: relative;
  margin-top: 60px;
  padding: clamp(33px, 24.051px + 2.797vw, 66px) clamp(23px, 16.763px + 1.949vw, 46px);
  background-color: #fff;
}
@media (max-width: 768px) {
  .ict_menu_item {
    padding: 8% 5%;
    margin-top: 30px;
  }
}

.ict_menu_item_title {
  position: relative;
  padding-bottom: 25px;
  border-bottom: 2px solid #2AB5B0;
}
@media (max-width: 768px) {
  .ict_menu_item_title {
    padding-bottom: 15px;
  }
}

.ict_menu_item_title_en {
  position: relative;
  font-size: clamp(18px, 16.102px + 0.593vw, 25px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
  text-align: center;
  background: #005FA3;
  background: linear-gradient(315deg, rgb(0, 95, 163) 5%, rgb(0, 186, 202) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .ict_menu_item_title_en {
    font-size: clamp(14px, 12.373px + 0.508vw, 20px);
  }
}

.ict_menu_item_title_ja {
  position: relative;
  font-size: clamp(24px, 21.017px + 0.932vw, 35px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 18px;
}
@media (max-width: 768px) {
  .ict_menu_item_title_ja {
    font-size: clamp(20px, 17.831px + 0.678vw, 28px);
    line-height: 145%;
    letter-spacing: 0.02em;
    margin-top: 10px;
  }
}

.ict_menu_item_outline {
  position: relative;
  line-height: 210%;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 25px;
}
@media (max-width: 768px) {
  .ict_menu_item_outline {
    margin-top: 15px;
  }
}

.ict_menu_lists {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 clamp(20px, 15.932px + 1.271vw, 35px);
  margin-top: 35px;
}
@media (max-width: 768px) {
  .ict_menu_lists {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 20px;
  }
}

.ict_menu_list {
  position: relative;
  max-width: clamp(270px, 244.78px + 7.881vw, 363px);
  width: 100%;
  background-color: #F1F1F1;
}
@media (max-width: 768px) {
  .ict_menu_list {
    margin: 0 auto;
  }
}

.ict_menu_list_content {
  position: relative;
  padding: clamp(10px, 5.39px + 1.441vw, 27px) clamp(20px, 17.288px + 0.847vw, 30px);
}
@media (max-width: 768px) {
  .ict_menu_list_content {
    padding: 8%;
  }
}

.ict_menu_list_title {
  position: relative;
  color: #005FA3;
  font-size: clamp(18px, 16.102px + 0.593vw, 25px);
  font-weight: 700;
  line-height: 140%;
  letter-spacing: 0;
  padding-bottom: 16px;
  border-bottom: 2px solid #2AB5B0;
}
@media (max-width: 768px) {
  .ict_menu_list_title {
    font-size: clamp(16px, 14.373px + 0.508vw, 22px);
    text-align: center;
    padding-bottom: 12px;
  }
}

.ict_menu_list_text {
  position: relative;
  line-height: 180%;
  letter-spacing: 0;
  margin-top: 15px;
}
@media (max-width: 768px) {
  .ict_menu_list_text {
    margin-top: 10px;
  }
}

.ict_confidence {
  margin-top: 120px;
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .ict_confidence {
    margin-top: 60px;
    padding-bottom: 60px;
  }
}

.ict_confidence_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .ict_confidence_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.ict_confidence_pict {
  position: relative;
  max-width: clamp(450px, 402.542px + 14.831vw, 625px);
  width: 100%;
}
@media (max-width: 768px) {
  .ict_confidence_pict {
    margin: 0 auto;
  }
}

.ict_confidence_content {
  position: relative;
  max-width: clamp(420px, 375.254px + 13.983vw, 585px);
  width: 100%;
}
@media (max-width: 768px) {
  .ict_confidence_content {
    max-width: unset;
  }
}

.ict_confidence_title {
  position: relative;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  line-height: 180%;
  letter-spacing: 0.1em;
  background: #005FA3;
  background: linear-gradient(286deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .ict_confidence_title {
    font-size: clamp(18px, 15.831px + 0.678vw, 26px);
    letter-spacing: 0.06em;
  }
}

.ict_confidence_text {
  position: relative;
  line-height: 210%;
  letter-spacing: 0.05em;
  margin-top: 24px;
}
@media (max-width: 768px) {
  .ict_confidence_text {
    margin-top: 5px;
  }
}

/* company
------------------------------ */
.company_greeting {
  position: relative;
  margin-top: 120px;
}
@media (max-width: 768px) {
  .company_greeting {
    margin-top: 60px;
  }
}

.company_greeting_subtitle {
  position: relative;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  line-height: 168%;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 60px;
}
@media (max-width: 768px) {
  .company_greeting_subtitle {
    font-size: clamp(18px, 15.831px + 0.678vw, 26px);
  }
}

.company_greeting_message {
  position: relative;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .company_greeting_message {
    margin-top: 20px;
  }
}

.company_greeting_message_text {
  position: relative;
  line-height: 250%;
  letter-spacing: 0.05em;
  text-align: center;
}

.company_greeting_message_text + .company_greeting_message_text {
  margin-top: 1.5em;
}

.company_greeting_signature {
  position: relative;
  text-align: center;
  margin-top: 45px;
}
@media (max-width: 768px) {
  .company_greeting_signature {
    margin-top: 25px;
  }
}

.company_greeting_title {
  font-size: 14px;
  font-weight: 700;
  line-height: 145%;
  letter-spacing: 0.05em;
}

.company_greeting_name {
  position: relative;
  font-size: clamp(18px, 15.831px + 0.678vw, 26px);
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  line-height: 145%;
  letter-spacing: 0.05em;
  margin-top: 10px;
}

.company_greeting_btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 clamp(15px, 10.932px + 1.271vw, 30px);
  margin-top: 70px;
}
@media (max-width: 768px) {
  .company_greeting_btns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.company_greeting_btn {
  position: relative;
  max-width: 270px;
  width: 100%;
}

.company_logomark {
  position: relative;
  margin-top: 120px;
  padding-top: 120px;
  background: #005FA3;
  background: linear-gradient(200deg, rgba(0, 95, 163, 0.1) 0%, rgba(0, 186, 202, 0.1) 100%);
}
@media (max-width: 768px) {
  .company_logomark {
    margin-top: 60px;
    padding-top: 60px;
  }
}

.company_logomark .subsection_title_en {
  color: #fff;
}
@media (max-width: 768px) {
  .company_logomark .subsection_title_en {
    letter-spacing: -0.02em;
  }
}

.company_logomark_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  margin-top: 60px;
  padding-bottom: 120px;
}
@media (max-width: 768px) {
  .company_logomark_wrapper {
    margin-top: 30px;
    padding-bottom: 60px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.company_logomark_img {
  position: relative;
  max-width: clamp(400px, 362.576px + 11.695vw, 538px);
  width: 100%;
}
@media (max-width: 768px) {
  .company_logomark_img {
    margin: 0 auto;
  }
}

.company_logomark_content {
  position: relative;
  max-width: clamp(500px, 463.39px + 11.441vw, 635px);
  width: 100%;
}
@media (max-width: 768px) {
  .company_logomark_content {
    max-width: unset;
  }
}

.company_logomark_subtitle {
  position: relative;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  line-height: 145%;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .company_logomark_subtitle {
    font-size: clamp(18px, 15.831px + 0.678vw, 26px);
  }
}

.company_logomark_text {
  position: relative;
  line-height: 250%;
  letter-spacing: 0.05em;
  margin-top: 30px;
}
@media (max-width: 768px) {
  .company_logomark_text {
    margin-top: 10px;
  }
}

.company_logomark_catchphrase_title {
  position: relative;
  font-size: clamp(26px, 22.203px + 1.186vw, 40px);
  font-weight: 700;
  line-height: 145%;
  letter-spacing: 0.05em;
  margin-top: 50px;
  background: #005FA3;
  background: linear-gradient(315deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 768px) {
  .company_logomark_catchphrase_title {
    font-size: clamp(22px, 19.831px + 0.678vw, 30px);
    text-align: center;
    margin-top: 20px;
  }
}

.company_logomark_catchphrase_title + .company_logomark_catchphrase_title {
  position: relative;
  display: block;
  font-size: clamp(16px, 13.831px + 0.678vw, 24px);
  letter-spacing: 0.1em;
  margin-top: 5px;
}
@media (max-width: 768px) {
  .company_logomark_catchphrase_title + .company_logomark_catchphrase_title {
    font-size: clamp(14px, 11.831px + 0.678vw, 22px);
  }
}

.company_philosophy {
  position: relative;
  margin-top: 120px;
}
@media (max-width: 768px) {
  .company_philosophy {
    margin-top: 60px;
  }
}

.company_philosophy_lists {
  position: relative;
  margin-top: 60px;
}
@media (max-width: 768px) {
  .company_philosophy_lists {
    margin-top: 30px;
  }
}

.company_philosophy_list {
  position: relative;
  font-size: clamp(16px, 13.831px + 0.678vw, 24px);
  font-weight: 700;
  text-align: center;
  line-height: 250%;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .company_philosophy_list {
    text-align: left;
    line-height: 200%;
    padding-left: 2.3em;
    text-indent: -2.3em;
  }
}

@media (max-width: 768px) {
  .company_philosophy_list + .company_philosophy_list {
    margin-top: 1em;
  }
}

.company_activities {
  position: relative;
  margin-top: 120px;
  padding: 120px 0;
  background: #005FA3;
  background: linear-gradient(200deg, rgba(0, 95, 163, 0.1) 0%, rgba(0, 186, 202, 0.1) 100%);
}
@media (max-width: 768px) {
  .company_activities {
    margin-top: 60px;
    padding: 60px 0;
  }
}

.company_activities_title .subsection_title_en {
  color: #fff;
}

.company_activities_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  gap: 0 20px;
  margin-top: 17px;
}
@media (max-width: 768px) {
  .company_activities_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.company_activities_mark {
  position: relative;
  max-width: clamp(120px, 96.407px + 7.373vw, 207px);
  width: 100%;
}

.company_activities_content {
  position: relative;
  max-width: clamp(700px, 618.644px + 25.424vw, 1000px);
  width: 100%;
}

.company_activities_subtitle {
  position: relative;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  line-height: 145%;
  letter-spacing: 0.1em;
  padding: 0 0 16px 40px;
  border-bottom: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .company_activities_subtitle {
    font-size: clamp(18px, 15.831px + 0.678vw, 26px);
    padding: 0 0 10px 25px;
  }
}

.company_activities_subtitle::before {
  content: "";
  position: absolute;
  display: block;
  width: 15px;
  height: 100%;
  background: #005FA3;
  background: linear-gradient(335deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 100%);
  top: 0;
  left: 0;
}

.company_activities_text {
  position: relative;
  line-height: 220%;
  letter-spacing: 0.05em;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .company_activities_text {
    margin-top: 20px;
  }
}

.company_activities_items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: clamp(25px, 18.22px + 2.119vw, 50px);
  margin-top: 30px;
}
@media (max-width: 768px) {
  .company_activities_items {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.company_activities_item {
  position: relative;
  max-width: clamp(450px, 409.322px + 12.712vw, 600px);
  width: 100%;
}
@media (max-width: 768px) {
  .company_activities_item {
    margin: 0 auto;
  }
}

.company_activities_item_title {
  position: relative;
  color: #fff;
  font-size: clamp(18px, 15.831px + 0.678vw, 26px);
  font-weight: 700;
  letter-spacing: 0;
  line-height: 100%;
  padding: 25px clamp(20px, 17.288px + 0.847vw, 30px) 26px;
}
@media (max-width: 768px) {
  .company_activities_item_title {
    font-size: clamp(16px, 13.831px + 0.678vw, 24px);
    padding: 20px 15px 22px;
  }
}

.company_activities_item_title::after {
  content: "";
  position: absolute;
  display: block;
  width: 90%;
  height: 100%;
  clip-path: polygon(0 0, 97% 0, 100% 100%, 0% 100%);
  background-color: #005FA3;
  top: 0;
  left: 0;
  z-index: -1;
}

.company_activities_item_inner {
  position: relative;
  padding: 22px clamp(20px, 17.831px + 0.678vw, 28px);
  background-color: #fff;
}
@media (max-width: 768px) {
  .company_activities_item_inner {
    padding: 8% 5%;
  }
}

.company_activities_item:nth-child(2) .company_activities_item_inner {
  min-height: 458px;
}

.company_activities_item_sdgs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0 20px;
}
@media (max-width: 768px) {
  .company_activities_item_sdgs {
    gap: 10px;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.company_activities_item_sdg {
  position: relative;
  max-width: clamp(60px, 49.153px + 3.39vw, 100px);
  width: 100%;
}
@media (max-width: 768px) {
  .company_activities_item_sdg {
    max-width: 100px;
  }
}

.company_activities_item_text {
  position: relative;
  line-height: 190%;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .company_activities_item_text {
    letter-spacing: 0.05em;
  }
}

.company_activities_item_text:first-of-type {
  margin-top: 20px;
}

.company_activities_item_subtitle {
  position: relative;
  color: #005FA3;
  font-weight: 700;
  line-height: 220%;
  margin-top: 1em;
}

.company_activities_item_subtitle::before {
  content: "− ";
  color: #2AB5B0;
}

.company_activities_welfare {
  position: relative;
  margin-top: 100px;
}
@media (max-width: 768px) {
  .company_activities_welfare {
    margin-top: 50px;
  }
}

.company_activities_welfare_outline {
  position: relative;
  line-height: 220%;
  letter-spacing: 0.05em;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .company_activities_welfare_outline {
    margin-top: 20px;
  }
}

.company_activities_welfare_lists {
  display: grid;
  gap: clamp(20px, 14.576px + 1.695vw, 40px) clamp(25px, 18.22px + 2.119vw, 50px);
  margin-top: 60px;
  padding: clamp(25px, 18.22px + 2.119vw, 50px) clamp(20px, 14.576px + 1.695vw, 40px);
  grid-template-columns: 1fr 1fr;
  background-color: #fff;
}
@media (max-width: 768px) {
  .company_activities_welfare_lists {
    gap: 20px;
    grid-template-columns: 1fr;
    margin-top: 30px;
  }
}

.company_activities_welfare_list {
  position: relative;
  max-width: clamp(420px, 382.034px + 11.864vw, 560px);
  width: 100%;
  color: #005FA3;
  font-size: clamp(16px, 14.915px + 0.339vw, 20px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.05em;
  padding-bottom: 18px;
  border-bottom: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .company_activities_welfare_list {
    max-width: unset;
    font-size: clamp(14px, 12.915px + 0.339vw, 18px);
    padding-bottom: 12px;
  }
}

.company_activities_welfare_list::before {
  content: "●";
  color: #2AB5B0;
}

.company_activities_educate {
  position: relative;
  margin-top: 100px;
}
@media (max-width: 768px) {
  .company_activities_educate {
    margin-top: 50px;
  }
}

.company_activities_educate_text {
  position: relative;
  line-height: 220%;
  letter-spacing: 0.05em;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .company_activities_educate_text {
    margin-top: 20px;
  }
}

.company_activities_educate_text + .company_activities_educate_text {
  margin-top: 1.5em;
}
@media (max-width: 768px) {
  .company_activities_educate_text + .company_activities_educate_text {
    margin-top: 1em;
  }
}

.company_activities_educate_items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 clamp(25px, 18.22px + 2.119vw, 50px);
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .company_activities_educate_items {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px;
    margin-top: 20px;
  }
}

.company_activities_educate_item {
  position: relative;
  max-width: clamp(180px, 171.864px + 2.542vw, 210px);
  width: 100%;
}
@media (max-width: 768px) {
  .company_activities_educate_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: unset;
    margin: 0 auto;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0 20px;
  }
}

.company_activities_educate_item_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 208px;
  color: #fff;
  font-weight: 700;
  font-size: clamp(18px, 16.373px + 0.508vw, 24px);
  line-height: 168%;
  letter-spacing: 0.1em;
  text-align: center;
  background-color: #2AB5B0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 50%;
}
@media (max-width: 768px) {
  .company_activities_educate_item_title {
    width: 120px;
    height: 120px;
    font-size: clamp(16px, 14.373px + 0.508vw, 22px);
    margin: 0 auto;
  }
}

.company_activities_educate_item_text {
  position: relative;
  line-height: 220%;
  letter-spacing: 0;
  margin-top: 20px;
}
@media (max-width: 768px) {
  .company_activities_educate_item_text {
    max-width: 55%;
    line-height: 180%;
    margin-top: 0;
  }
}

.company_activities_educate_btn {
  text-align: center;
  margin-top: 70px;
}
@media (max-width: 768px) {
  .company_activities_educate_btn {
    margin-top: 30px;
  }
}

/* company - about
------------------------------ */
.about_main_title .section_maintitle_inner_en {
  white-space: nowrap;
}

.about_outline {
  position: relative;
  margin-top: 120px;
}
@media (max-width: 768px) {
  .about_outline {
    margin-top: 60px;
  }
}

.about_outline_inner dl {
  display: grid;
  grid-template-columns: clamp(220px, 193.695px + 8.22vw, 317px) 1fr;
  border-top: 1px solid #2AB5B0;
  margin-top: 60px;
}
@media (max-width: 768px) {
  .about_outline_inner dl {
    grid-template-columns: 1fr;
    margin-top: 30px;
  }
}

.about_outline_inner dl dt {
  color: #fff;
  font-weight: 700;
  line-height: 210%;
  letter-spacing: 0.05em;
  padding: 15px clamp(20px, 14.305px + 1.78vw, 41px);
  background-color: #005FA3;
  border-bottom: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .about_outline_inner dl dt {
    line-height: 180%;
    padding: 10px 20px;
  }
}

.about_outline_inner dl dd {
  line-height: 210%;
  letter-spacing: 0.05em;
  padding: 15px clamp(30px, 21.051px + 2.797vw, 63px);
  border-bottom: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .about_outline_inner dl dd {
    line-height: 180%;
    padding: 10px 20px;
  }
}

.about_outline_eligible {
  position: relative;
  margin-top: 100px;
}
@media (max-width: 768px) {
  .about_outline_eligible {
    margin-top: 50px;
  }
}

.about_outline_eligible table {
  width: 100%;
  table-layout: fixed;
  margin-top: 40px;
}
@media (max-width: 768px) {
  .about_outline_eligible table {
    margin-top: 20px;
  }
}

.about_outline_eligible table tr th {
  color: #fff;
  font-weight: 700;
  line-height: 210%;
  letter-spacing: 0.05em;
  padding: 15px clamp(20px, 14.576px + 1.695vw, 40px);
  background-color: #005FA3;
}
@media (max-width: 768px) {
  .about_outline_eligible table tr th {
    line-height: 180%;
    padding: 10px 20px;
  }
}

.about_outline_eligible table tr th:first-child,
.about_outline_eligible table tr td:first-child {
  border-right: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .about_outline_eligible table tr th:first-child,
  .about_outline_eligible table tr td:first-child {
    width: 220px;
  }
}

.about_outline_eligible table tr td {
  padding: 15px clamp(20px, 14.576px + 1.695vw, 40px);
  line-height: 210%;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .about_outline_eligible table tr td {
    line-height: 180%;
    padding: 10px 20px;
  }
}

.about_outline_client {
  position: relative;
  margin-top: 100px;
}
@media (max-width: 768px) {
  .about_outline_client {
    margin-top: 50px;
  }
}

.about_outline_cliant_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: clamp(950px, 907.153px + 13.39vw, 1108px);
  width: 100%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  margin-top: 30px;
  padding-left: 41px;
}
@media (max-width: 768px) {
  .about_outline_cliant_wrapper {
    max-width: unset;
    margin-top: 20px;
    padding-left: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}

.about_outline_cliant_list {
  position: relative;
  max-width: clamp(360px, 326.644px + 10.424vw, 483px);
  width: 100%;
  line-height: 210%;
  letter-spacing: 0.05em;
}
@media (max-width: 768px) {
  .about_outline_cliant_list {
    line-height: 180%;
    padding-left: 1em;
    text-indent: -1em;
  }
}

.about_outline_cliant_list::before {
  content: "●";
  color: #2AB5B0;
  font-weight: 700;
}

.about_office {
  position: relative;
  margin-top: 120px;
  padding: 120px 0;
  background: #005FA3;
  background: linear-gradient(200deg, rgba(0, 95, 163, 0.1) 0%, rgba(0, 186, 202, 0.1) 100%);
}
@media (max-width: 768px) {
  .about_office {
    margin-top: 60px;
    padding: 60px 0;
  }
}

.about_office_title .subsection_title_en {
  color: #fff;
}

.about_office_items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: clamp(30px, 21.864px + 2.542vw, 60px) clamp(20px, 3.729px + 5.085vw, 80px);
  margin-top: 60px;
}
@media (max-width: 768px) {
  .about_office_items {
    margin-top: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
}

.about_office_item {
  position: relative;
  max-width: clamp(450px, 413.39px + 11.441vw, 585px);
  width: 100%;
}
@media (max-width: 768px) {
  .about_office_item {
    max-width: unset;
  }
}

.about_office_item_content {
  position: relative;
  margin-top: 20px;
}

.about_office_item_subtitle {
  position: relative;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  line-height: 200%;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .about_office_item_subtitle {
    font-size: clamp(18px, 16.373px + 0.508vw, 24px);
  }
}

.about_office_item_text {
  position: relative;
  line-height: 210%;
  letter-spacing: 0.05em;
  margin-top: 15px;
}
@media (max-width: 768px) {
  .about_office_item_text {
    margin-top: 10px;
    line-height: 180%;
  }
}

.about_office_item_caution {
  position: relative;
  line-height: 210%;
  letter-spacing: 0.05em;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 1.5em;
}

.about_history {
  position: relative;
  margin-top: 120px;
}
@media (max-width: 768px) {
  .about_history {
    margin-top: 60px;
  }
}

.about_history_inner dl {
  display: grid;
  grid-template-columns: clamp(220px, 193.695px + 8.22vw, 317px) 1fr;
  border-top: 1px solid #2AB5B0;
  margin-top: 60px;
}
@media (max-width: 768px) {
  .about_history_inner dl {
    grid-template-columns: 1fr;
    margin-top: 30px;
  }
}

.about_history_inner dl dt {
  color: #fff;
  font-weight: 700;
  line-height: 210%;
  letter-spacing: 0.05em;
  padding: 15px clamp(20px, 14.305px + 1.78vw, 41px);
  background-color: #005FA3;
  border-bottom: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .about_history_inner dl dt {
    padding: 10px 20px;
    line-height: 180%;
  }
}

.about_history_inner dl dd {
  line-height: 210%;
  letter-spacing: 0.05em;
  padding: 15px clamp(30px, 21.051px + 2.797vw, 63px);
  border-bottom: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .about_history_inner dl dd {
    line-height: 180%;
    padding: 10px 20px;
  }
}

.about_sitemap {
  position: relative;
  margin-top: 120px;
  padding: 120px 0;
  background: #005FA3;
  background: linear-gradient(200deg, rgba(0, 95, 163, 0.1) 0%, rgba(0, 186, 202, 0.1) 100%);
}
@media (max-width: 768px) {
  .about_sitemap {
    margin-top: 60px;
    padding: 60px 0;
  }
}

.about_sitemap_title .subsection_title_en {
  color: #fff;
}

.about_sitemap_lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: clamp(420px, 400.746px + 6.017vw, 491px);
  width: 100%;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  margin: 80px auto 0;
}
@media (max-width: 768px) {
  .about_sitemap_lists {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 40px;
  }
}

.about_sitemap_list_parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
  font-size: clamp(16px, 14.915px + 0.339vw, 20px);
  line-height: 210%;
  letter-spacing: 0.05em;
}

.about_sitemap_list_parent::before {
  content: "";
  position: relative;
  width: 20px;
  height: 2px;
  background-color: #2AB5B0;
}

@media (min-width: 768px) {
  .about_sitemap_list_parent a:hover {
    color: #2AB5B0;
  }
}

.about_sitemap_list_child_item {
  font-size: clamp(16px, 14.915px + 0.339vw, 20px);
  line-height: 210%;
  letter-spacing: 0.05em;
  padding-left: 34px;
}

@media (min-width: 768px) {
  .about_sitemap_list_child_item a:hover {
    color: #2AB5B0;
  }
}

/* news - archive
------------------------------ */
.news_archive {
  position: relative;
  margin-top: 114px;
}
@media (max-width: 768px) {
  .news_archive {
    margin-top: 70px;
  }
}

.news_archive_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
}
@media (max-width: 768px) {
  .news_archive_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
}

.news_archive_group {
  position: relative;
  max-width: clamp(750px, 701.729px + 15.085vw, 928px);
  width: 100%;
}
@media (max-width: 768px) {
  .news_archive_group {
    max-width: unset;
  }
}

.news_archive_item + .news_archive_item {
  margin-top: 60px;
}
@media (max-width: 768px) {
  .news_archive_item + .news_archive_item {
    margin-top: 30px;
  }
}

.news_archive_item a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 30px;
  padding: 45px clamp(20px, 14.305px + 1.78vw, 41px);
  background-color: #fff;
  -webkit-box-shadow: 0 0 10px rgba(73, 73, 73, 0.4);
          box-shadow: 0 0 10px rgba(73, 73, 73, 0.4);
  top: 0;
}
@media (max-width: 768px) {
  .news_archive_item a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    padding: 8% 5%;
  }
}

@media (min-width: 768px) {
  .news_archive_item a:hover {
    top: -5px;
    -webkit-box-shadow: 0 0 15px rgba(73, 73, 73, 0.7);
            box-shadow: 0 0 15px rgba(73, 73, 73, 0.7);
  }
}

.news_archive_item_img {
  position: relative;
  max-width: clamp(250px, 236.712px + 4.153vw, 299px);
  width: 100%;
  max-height: 181px;
  overflow: hidden;
}
@media (max-width: 768px) {
  .news_archive_item_img {
    margin: 0 auto;
  }
}

.news_archive_item_img img {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 299/181;
}

.news_article_unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 30px;
}
@media (max-width: 768px) {
  .news_article_unit {
    gap: 0 15px;
  }
}

.news_article_date {
  color: #005FA3;
  font-size: clamp(14px, 12.915px + 0.339vw, 18px);
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
}

.news_article_cat {
  position: relative;
  min-width: 196px;
  width: auto;
  font-size: 14px;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0;
  text-align: center;
  padding: 8px 0;
  background-color: #CCEDEC;
}
@media (max-width: 768px) {
  .news_article_cat {
    min-width: 120px;
  }
}

.news_archive_item_title {
  position: relative;
  color: #005FA3;
  font-size: clamp(18px, 16.373px + 0.508vw, 24px);
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
  margin-top: 33px;
}
@media (max-width: 768px) {
  .news_archive_item_title {
    margin-top: 10px;
  }
}

.news_archive_page_navigation {
  margin-top: 100px;
}
@media (max-width: 768px) {
  .news_archive_page_navigation {
    margin-top: 50px;
  }
}

.news_article_content {
  position: relative;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 0;
  margin-top: 33px;
}
@media (max-width: 768px) {
  .news_article_content {
    margin-top: 15px;
  }
}

.news_recruit01 {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .news_recruit01 {
    margin-top: 60px;
  }
}

/* news - single
------------------------------ */
.news_single {
  position: relative;
  margin-top: 114px;
}
@media (max-width: 768px) {
  .news_single {
    margin-top: 80px;
  }
}

.news_single_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 clamp(20px, 11.864px + 2.542vw, 50px);
}
@media (max-width: 768px) {
  .news_single_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
}

.news_single_main {
  position: relative;
  max-width: clamp(750px, 701.729px + 15.085vw, 928px);
  width: 100%;
}
@media (max-width: 768px) {
  .news_single_main {
    max-width: unset;
  }
}

.news_article_title {
  position: relative;
  color: #005FA3;
  font-size: clamp(18px, 16.373px + 0.508vw, 24px);
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
  border-bottom: 1px solid #000;
  margin-top: 33px;
  padding-bottom: 21px;
}
@media (max-width: 768px) {
  .news_article_title {
    letter-spacing: 0.05em;
    margin-top: 20px;
  }
}

.news_article_content {
  position: relative;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 0;
  margin-top: 30px;
}
@media (max-width: 768px) {
  .news_article_content {
    margin-top: 15px;
    letter-spacing: 0.05em;
  }
}

.news_article_buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 60px;
  gap: clamp(30px, 21.864px + 2.542vw, 60px);
}
@media (max-width: 768px) {
  .news_article_buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin-top: 30px;
  }
}

.news_article_button {
  position: relative;
  max-width: 270px;
  width: 100%;
}

.news_article_button a {
  position: relative;
  display: block;
  width: 100%;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.05em;
  padding: 26px clamp(20px, 17.288px + 0.847vw, 30px) 27px;
  background-color: #005FA3;
}

.news_article_button_previous a {
  text-align: right;
}

.news_article_button_all a {
  text-align: center;
}

.news_article_button a:hover {
  background-color: #2AB5B0;
}

.news_article_button a::after {
  content: "";
  position: absolute;
  display: block;
  width: 28px;
  height: 5px;
  background: url(../images/common/arrow_rightLightGreen.svg) no-repeat center center/contain;
  top: 0;
  right: 30px;
  bottom: 0;
  margin: auto 0;
  -webkit-transition: 0.35s;
  transition: 0.35s;
}

.news_article_button_previous a::after {
  -webkit-transform: scale(-1, 1);
          transform: scale(-1, 1);
  left: 30px;
  right: auto;
}

.news_article_button_all a::after {
  display: none;
}

@media (min-width: 768px) {
  .news_article_button a:hover::after {
    background-image: url(../images/common/arrow_rightWhite.svg);
    right: 25px;
  }
}

@media (min-width: 768px) {
  .news_article_button_previous a:hover::after {
    left: 25px;
    right: auto;
  }
}

/* aside
------------------------------ */
.section_side {
  position: relative;
  max-width: clamp(220px, 205.898px + 4.407vw, 272px);
  width: 100%;
}
@media (max-width: 768px) {
  .section_side {
    margin: 0 auto;
    max-width: 272px;
  }
}

.section_side_title {
  position: relative;
  color: #fff;
  font-size: clamp(16px, 14.915px + 0.339vw, 20px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0;
  background-color: #005FA3;
  padding: 23px clamp(10px, 7.288px + 0.847vw, 20px);
}

.section_side_list {
  position: relative;
  border-bottom: 1px solid #000;
}

.section_side_list_link {
  position: relative;
  display: block;
  width: 100%;
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.05em;
  padding: 25px clamp(10px, 7.288px + 0.847vw, 20px);
}

.section_side_list_link::after {
  content: "";
  position: absolute;
  display: block;
  width: 30px;
  height: 2px;
  background-color: #2AB5B0;
  top: 0;
  right: 20px;
  bottom: 0;
  margin: auto 0;
  -webkit-transition: 0.35s;
  transition: 0.35s;
  z-index: -1;
}

@media (min-width: 768px) {
  .section_side_list_link:hover {
    color: #fff;
  }
}

@media (min-width: 768px) {
  .section_side_list_link:hover::after {
    width: 100%;
    height: 100%;
    right: 0;
  }
}

/* works - archive
------------------------------ */
@media (max-width: 768px) {
  .works_main_title .section_maintitle_box {
    background-color: rgba(255, 255, 255, 0.5);
  }
}

.works_archive_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  margin-top: 120px;
}
@media (max-width: 768px) {
  .works_archive_wrapper {
    margin-top: 80px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
}

.works_archive_items {
  display: grid;
  gap: 60px 29px;
  grid-template-columns: 1fr 1fr 1fr;
}
@media (max-width: 768px) {
  .works_archive_items {
    gap: 30px;
    grid-template-columns: 1fr;
  }
}

.works_archive_item {
  position: relative;
  max-width: 290px;
  width: 100%;
}

.works_archive_item a {
  position: relative;
  display: block;
  -webkit-box-shadow: 0 0 10px rgba(73, 73, 73, 0.4);
          box-shadow: 0 0 10px rgba(73, 73, 73, 0.4);
  background-color: #FFF;
}

.works_archive_item_img {
  position: relative;
  max-height: 217px;
  overflow: hidden;
}

.works_archive_item_img img {
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 290/217;
}

.works_archive_item_content {
  position: relative;
  padding: 20px 20px 25px;
}

.works_archive_item_title {
  position: relative;
  color: #005FA3;
  font-size: 18px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
}

.works_recruit {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .works_recruit {
    margin-top: 60px;
  }
}

.works_archive_page_navigation {
  margin-top: 100px;
}
@media (max-width: 768px) {
  .works_archive_page_navigation {
    margin-top: 30px;
  }
}

.page_navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 11px;
}

.page-numbers {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  font-family: 700;
  color: #005FA3;
  background-color: rgba(0, 95, 163, 0.25);
  width: 30px;
  height: 30px;
}

@media (min-width: 768px) {
  .page-numbers:hover {
    color: #fff;
    background-color: #005FA3;
  }
}

.page-numbers.dots {
  pointer-events: none;
}

.page-numbers.current {
  color: #fff;
  background-color: #005FA3;
}

/* works - single
------------------------------ */
.works_single_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  margin-top: 115px;
}
@media (max-width: 768px) {
  .works_single_wrapper {
    margin-top: 80px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 50px;
  }
}

.works_single_main {
  position: relative;
  max-width: 926px;
  width: 100%;
  padding: 41px 45px;
  -webkit-box-shadow: 0 0 10px rgba(73, 73, 73, 0.4);
          box-shadow: 0 0 10px rgba(73, 73, 73, 0.4);
}
@media (max-width: 768px) {
  .works_single_main {
    max-width: unset;
    padding: 8%;
  }
}

.works_article_date {
  position: relative;
  color: #005FA3;
  font-size: 18px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .works_article_date {
    font-size: 14px;
  }
}

.works_article_title {
  position: relative;
  color: #005FA3;
  font-size: 24px;
  font-weight: 700;
  line-height: 150%;
  letter-spacing: 0;
  margin-top: 10px;
}
@media (max-width: 768px) {
  .works_article_title {
    font-size: clamp(16px, 14.373px + 0.508vw, 22px);
    letter-spacing: 0.05em;
  }
}

.works_article_title br {
  display: none;
}

.works_article_slick_main {
  line-height: 1;
  margin-top: 20px;
}

.works_article_slick_main .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

.works_article_slick_main_img img {
  width: 100%;
  aspect-ratio: 263/197;
  -o-object-fit: cover;
     object-fit: cover;
}

.works_article_slick_thumbnail {
  line-height: 1;
  margin-top: 25px;
}

.works_article_slick_thumbnail .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
}

.works_article_slick_thumbnail_img {
  position: relative;
  cursor: pointer;
}

.works_article_slick_thumbnail_img img {
  width: 100%;
  aspect-ratio: 263/197;
  -o-object-fit: cover;
     object-fit: cover;
}

.works_article_figure {
  position: relative;
  margin-top: 25px;
}

.works_article_figure > p {
  line-height: 210%;
  letter-spacing: 0;
  margin-top: 30px;
}
@media (max-width: 768px) {
  .works_article_figure > p {
    margin-top: 1em;
  }
}

.works_article_figure .section_works_list_area {
  margin-top: 0;
}

.works_article_figure .section_works_list_tags {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 20px;
}

.works_archive_table {
  margin-top: 50px;
}

.works_archive_table table tr td {
  padding: 15px clamp(20px, 14.576px + 1.695vw, 40px);
  line-height: 210%;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .works_archive_table table tr td {
    line-height: 180%;
    padding: 5px 10px;
  }
}

.works_archive_table table tr td:first-of-type {
  border-right: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .works_archive_table table tr td:first-of-type {
    width: 70%;
  }
}

@media (max-width: 768px) {
  .works_archive_table table tr td:nth-of-type(2) {
    white-space: nowrap;
    width: 30%;
  }
}

/* contact
------------------------------ */
.contact_main_title .section_maintitle_inner_en {
  margin-left: -30%;
}
@media (max-width: 768px) {
  .contact_main_title .section_maintitle_inner_en {
    margin-left: 0;
  }
}

.contact_tel {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .contact_tel {
    margin-top: 80px;
  }
}

.contact_tel_outline {
  position: relative;
  font-weight: 500;
  text-align: center;
  line-height: 210%;
  letter-spacing: 0.05em;
  margin-top: 60px;
}
@media (max-width: 768px) {
  .contact_tel_outline {
    margin-top: 30px;
  }
}

.contact_tel_unit {
  position: relative;
  max-width: clamp(500px, 457.695px + 13.22vw, 656px);
  width: 100%;
  margin: 0 auto;
  padding: clamp(20px, 12.949px + 2.203vw, 46px) clamp(50px, 35.356px + 4.576vw, 104px);
  background-color: #005FA3;
}
@media (max-width: 768px) {
  .contact_tel_unit {
    padding: 30px 20px;
  }
}

.contact_tel_unit01 {
  margin-top: 60px;
}
@media (max-width: 768px) {
  .contact_tel_unit01 {
    margin-top: 30px;
  }
}

.contact_tel_link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
  font-size: clamp(25px, 18.22px + 2.119vw, 50px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
  text-align: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 16px;
}
@media (max-width: 768px) {
  .contact_tel_link {
    gap: 0 10px;
  }
}

.contact_tel_link::before {
  content: "";
  position: relative;
  display: block;
  width: clamp(20px, 14.576px + 1.695vw, 40px);
  height: clamp(20px, 14.576px + 1.695vw, 40px);
  background: url(../images/common/icon_telWhite.svg) no-repeat center center/contain;
}

.contact_tel_holiday {
  position: relative;
  color: #fff;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.1em;
  text-align: center;
  margin-top: 27px;
  padding-top: 27px;
  border-top: 2px solid #fff;
}
@media (max-width: 768px) {
  .contact_tel_holiday {
    line-height: 160%;
    margin-top: 20px;
    padding-top: 15px;
  }
}

.contact_mail {
  position: relative;
  margin-top: 100px;
}
@media (max-width: 768px) {
  .contact_mail {
    margin-top: 50px;
    padding-bottom: 50px;
  }
}

.contact_mail_text {
  position: relative;
  font-weight: 500;
  line-height: 210%;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 60px;
}
@media (max-width: 768px) {
  .contact_mail_text {
    margin-top: 30px;
  }
}

.contact_mail_form {
  position: relative;
  margin-top: 70px;
}
@media (max-width: 768px) {
  .contact_mail_form {
    margin-top: 30px;
  }
}

.contact_mail_form_subtitle {
  position: relative;
  font-size: clamp(22px, 19.831px + 0.678vw, 30px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .contact_mail_form_subtitle {
    font-size: clamp(18px, 15.831px + 0.678vw, 26px);
  }
}

.form_row {
  display: grid;
  grid-template-columns: 317px 1fr;
  margin-top: 15px;
  border-bottom: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .form_row {
    grid-template-columns: 1fr;
  }
}

.contact_form_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #fff;
  line-height: 100%;
  letter-spacing: 0.05em;
  padding: 25px clamp(20px, 14.305px + 1.78vw, 41px);
  background-color: #005FA3;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  border-top: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .contact_form_title {
    padding: 15px 20px;
  }
}

.contact_form_title_start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 17px clamp(20px, 14.305px + 1.78vw, 41px);
}
@media (max-width: 768px) {
  .contact_form_title_start {
    padding: 15px 20px;
  }
}

.contact_form_title_must {
  position: relative;
  color: #fff;
  line-height: 100%;
  letter-spacing: 0.05em;
  border-radius: 10px;
  background-color: #2AB5B0;
  padding: 2px 10px 3px;
}

.contact_form_input {
  padding: 15px clamp(20px, 14.305px + 1.78vw, 41px);
  border-top: 1px solid #2AB5B0;
}
@media (max-width: 768px) {
  .contact_form_input {
    padding: 10px 20px;
  }
}

.contact_form_input input {
  min-width: clamp(550px, 468.373px + 25.508vw, 851px);
  width: 100%;
  height: 40px;
  background-color: #E1E1E1;
}
@media (max-width: 768px) {
  .contact_form_input input {
    min-width: unset;
  }
}

.contact_form_input textarea {
  min-width: clamp(550px, 468.373px + 25.508vw, 851px);
  width: 100%;
  min-height: 233px;
  background-color: #E1E1E1;
}
@media (max-width: 768px) {
  .contact_form_input textarea {
    min-width: 100%;
  }
}

.form_guest {
  margin-top: 60px;
}
@media (max-width: 768px) {
  .form_guest {
    margin-top: 30px;
  }
}

.form_privacy {
  position: relative;
  width: 100%;
  max-height: 275px;
  overflow: scroll;
  margin-top: 60px;
  padding: 30px clamp(20px, 14.305px + 1.78vw, 41px);
  background-color: #E1E1E1;
}
@media (max-width: 768px) {
  .form_privacy {
    margin-top: 30px;
    padding: 8%;
  }
}

.form_privacy_title {
  position: relative;
  font-size: clamp(20px, 17.288px + 0.847vw, 30px);
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0;
}
@media (max-width: 768px) {
  .form_privacy_title {
    font-size: 18px;
  }
}

.form_privacy_text {
  position: relative;
  line-height: 210%;
  letter-spacing: 0.05em;
  margin-top: 15px;
}

.form_checkbox_label.none {
  display: none;
}

.form_checkbox {
  font-weight: 500;
  line-height: 100%;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 70px;
}
@media (max-width: 768px) {
  .form_checkbox {
    line-height: 145%;
    text-align: left;
    margin-top: 30px;
  }
}

.form_checkbox_parts {
  position: relative;
  display: inline-block;
  padding: 8px 0 0 46px;
}
@media (max-width: 768px) {
  .form_checkbox_parts {
    padding: 0 0 0 36px;
  }
}

.form_checkbox_parts::before {
  content: "";
  position: absolute;
  display: block;
  width: 36px;
  height: 36px;
  top: 0;
  left: 0;
  border: none;
  background-color: #D9D9D9;
}
@media (max-width: 768px) {
  .form_checkbox_parts::before {
    width: 26px;
    height: 26px;
  }
}

.form_checkbox_input:checked + .form_checkbox_parts::after {
  content: "";
  position: absolute;
  display: block;
  width: 14px;
  height: 22px;
  top: 4px;
  left: 11px;
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
  border-right: 5px solid #005FA3;
  border-bottom: 5px solid #005FA3;
}
@media (max-width: 768px) {
  .form_checkbox_input:checked + .form_checkbox_parts::after {
    width: 11px;
    height: 17px;
    top: 2px;
    left: 8px;
    border-right-width: 4px;
    border-bottom-width: 4px;
  }
}

.form_btn {
  position: relative;
  text-align: center;
  margin-top: 63px;
}
@media (max-width: 768px) {
  .form_btn {
    margin-top: 30px;
  }
}

.form_btn button {
  position: relative;
  display: inline-block;
  max-width: 270px;
  width: 100%;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: 0.05em;
  text-align: left;
  padding: 27px clamp(24px, 18.576px + 1.695vw, 44px) 27px clamp(15px, 10.932px + 1.271vw, 30px);
  background-color: #005FA3;
  -webkit-transition: 0.35s;
  transition: 0.35s;
  cursor: pointer;
}

.form_btn button::after {
  content: "";
  position: absolute;
  display: block;
  width: 30px;
  height: 2px;
  background-color: #2AB5B0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto 0;
  -webkit-transition: 0.35s;
  transition: 0.35s;
}

@media (min-width: 768px) {
  .form_btn button:hover::after {
    width: 100%;
    height: 100%;
  }
}

.form_btn button span {
  position: relative;
  z-index: 1;
}

.contact_recruit01 {
  margin-top: 120px;
}
@media (max-width: 768px) {
  .contact_recruit01 {
    margin-top: 60px;
  }
}

/* foot_service
------------------------------ */
.foot_service {
  position: relative;
  padding: 120px 0 160px;
  background: url(../images/common/foot_service_bg.jpg) no-repeat center top/cover;
}
@media (max-width: 768px) {
  .foot_service {
    padding: 60px 0 80px;
  }
}

.foot_service_title .section_title_ja {
  position: relative;
  color: #fff;
  font-size: clamp(20px, 14.576px + 1.695vw, 40px);
  font-weight: 700;
  line-height: 180%;
  letter-spacing: 0.05em;
  text-align: center;
}
@media (max-width: 768px) {
  .foot_service_title .section_title_ja {
    font-size: clamp(18px, 15.831px + 0.678vw, 26px);
  }
}

.foot_service_btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 clamp(20px, 17.288px + 0.847vw, 30px);
  margin-top: 60px;
}
@media (max-width: 768px) {
  .foot_service_btns {
    margin-top: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.foot_service_btn {
  position: relative;
  max-width: 270px;
  width: 100%;
}

/* 404
------------------------------ */
.not_found {
  margin-top: 100px;
  padding-bottom: 100px;
}
@media (max-width: 768px) {
  .not_found {
    padding-bottom: 50px;
  }
}

.not_found_text {
  text-align: center;
}

.not_found_btn {
  text-align: center;
  margin-top: 50px;
}
@media (max-width: 768px) {
  .not_found_btn {
    margin-top: 30px;
  }
}

.other-page_cta01 {
  margin-top: 100px;
}
@media (max-width: 768px) {
  .other-page_cta01 {
    margin-top: 50px;
  }
}

/* footer
------------------------------ */
.footer {
  margin-top: 120px;
  padding-bottom: 95px;
  background: url(../images/common/footer_right_bg.jpg) no-repeat right bottom/57% auto;
}
@media (max-width: 1300px) {
  .footer {
    margin-top: 0;
    padding: 50px 0;
    background-size: 150% auto;
    background-position: center center;
  }
}
@media (max-width: 768px) {
  .footer {
    padding: 50px 0 150px;
    background-size: auto 100%;
    background-position: right 35% center;
  }
}

.footer_menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
}
@media (max-width: 1300px) {
  .footer_menu {
    color: #fff;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media (max-width: 768px) {
  .footer_menu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.footer_logo {
  position: relative;
  max-width: 305px;
  width: 100%;
}
@media (max-width: 768px) {
  .footer_logo {
    margin: 0 auto;
  }
}

.footer_info {
  position: relative;
  font-size: 14px;
  font-weight: 500;
  line-height: 180%;
  letter-spacing: 0.05em;
  margin-top: 14px;
}
@media (max-width: 768px) {
  .footer_info {
    text-align: center;
  }
}

.footer_locations {
  margin-top: 40px;
}

.footer_location + .footer_location {
  margin-top: 1em;
}

.footer_location_title {
  color: #005FA3;
  font-weight: 700;
  line-height: 110%;
}
@media (max-width: 1300px) {
  .footer_location_title {
    color: #fff;
  }
}

.footer_nav {
  max-width: 592px;
  width: 100%;
  grid-template-columns: 1fr 200px;
}
@media (min-width: 768px) {
  .footer_nav {
    padding-top: 63px;
  }
}
@media (max-width: 1300px) {
  .footer_nav {
    padding-top: 40px;
  }
}

.footer_lists {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: clamp(24px, 17.492px + 2.034vw, 48px);
}
@media (max-width: 1300px) {
  .footer_lists {
    display: none;
  }
}

.footer_list a {
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.05em;
}

.footer_list_parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 10px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.footer_list_parent::before {
  content: "";
  position: relative;
  display: block;
  width: 20px;
  height: 2px;
  background-color: #2AB5B0;
}

.footer_list_parent a {
  font-weight: 700;
  line-height: 215%;
}

@media (min-width: 768px) {
  .footer_list a:hover {
    color: #2AB5B0;
  }
}

.footer_nav_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  margin-top: 58px;
}
@media (max-width: 1300px) {
  .footer_nav_wrapper {
    margin-top: 0;
  }
}
@media (max-width: 768px) {
  .footer_nav_wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}

.footer_nav_link {
  position: relative;
  max-width: 270px;
  width: 100%;
}

.footer_nav_sns_lists {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 25px;
}

.footer_nav_sns_list a {
  position: relative;
  display: block;
  width: auto;
  height: 26px;
}

@media (min-width: 768px) {
  .footer_nav_sns_list a:hover {
    opacity: 0.7;
  }
}

.footer_copyright {
  position: relative;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 100%;
  margin-top: 50px;
}
@media (max-width: 1300px) {
  .footer_copyright {
    text-align: center;
  }
}
@media (max-width: 768px) {
  .footer_copyright {
    margin-top: 30px;
  }
}

/* foot_menu
------------------------------ */
.foot_menu {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-box-shadow: -5px 0 8px rgba(0, 0, 0, 0.5);
          box-shadow: -5px 0 8px rgba(0, 0, 0, 0.5);
  margin: 0 auto;
  z-index: 10;
}
@media (min-width: 768px) {
  .foot_menu {
    display: none;
  }
}
@media (max-width: 768px) {
  .foot_menu {
    display: block;
  }
}

.foot_menu_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.foot_menu_tel {
  width: 50%;
}

.foot_menu_tel a {
  position: relative;
  display: block;
  color: #005FA3;
  font-size: 14px;
  text-align: center;
  line-height: 145%;
  font-weight: 700;
  background-color: #F3F3F3;
  padding: 10px 0 20px;
}

.foot_menu_mail {
  width: 50%;
}

.foot_menu_mail a {
  position: relative;
  display: block;
  color: #fff;
  text-align: center;
  font-weight: 700;
  background: #005FA3;
  background: linear-gradient(-45deg, rgb(0, 95, 163) 0%, rgb(0, 186, 202) 100%);
  padding: 10px 0 20px;
}

/* page_top
------------------------------ */
.page_top {
  position: fixed;
  right: 30px;
  bottom: 30px;
  width: 50px;
  height: 50px;
  color: #005FA3;
  background-color: #fff;
  border: 1px solid #005FA3;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 10;
}
@media (max-width: 768px) {
  .page_top {
    right: 5%;
    bottom: 105px;
  }
}
@media (max-width: 768px) {
  .page_top {
    bottom: 80px;
  }
}

@media (min-width: 768px) {
  .page_top:hover {
    background-color: #005FA3;
  }
}

.page_top::before {
  content: "";
  position: absolute;
  top: 42%;
  left: 50%;
  width: 16px;
  height: 16px;
  border-top: 1px solid #005FA3;
  border-right: 1px solid #005FA3;
  -webkit-transform: translate(-50%) rotate(-45deg);
          transform: translate(-50%) rotate(-45deg);
}

@media (min-width: 768px) {
  .page_top:hover::before {
    border-color: #fff;
  }
}

/* foot_menu
------------------------------ */
.foot_menu_wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.foot_menu_tel a {
  position: relative;
}