@charset "utf-8";

html {
	scroll-behavior: smooth;
}

/* =========================================================
   印刷用CSS（真っ白1ページ対策・動画を静止画に置換）
   ========================================================= */
@media print {

  /* ▼印刷領域全体を少し縮小して右端カット防止 */
  html {
    zoom: 0.90;
  }

  /* ▼本文の基本設定 */
  html, body {
    width: 1200px !important;
    margin: 0 auto !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    background: #fff !important;
  }

  /* ▼固定ヘッダー／ナビを印刷時に解除 */
  header, nav, .fixed, .sticky {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
  }

  /* ▼トップ動画エリア */
  .top_main_movie {
    position: relative !important;
    width: 95% !important;
    margin: 20mm auto 10mm auto !important; /* ページ上部に少し余白 */
    aspect-ratio: 16 / 9;
    background-color: #000;
    overflow: hidden !important;
    break-inside: avoid;
    page-break-before: auto !important;
    page-break-after: avoid !important;
    page-break-inside: avoid !important;
    height: auto !important;                /* ← ここが重要（vhを無効化） */
  }

  /* ▼動画は印刷で非表示 */
  .top_main_movie > video {
    display: none !important;
  }


  /* ▼画像・動画などの印刷安定化 */
  img, video {
    max-width: 100% !important;
    height: auto !important;
  }

  /* ▼背景や色を忠実に出す */
  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* ▼不要な空白ページを防ぐ */
  body::before, body::after {
    display: none !important;
    content: none !important;
  }
}

/* =========================================================
   印刷時のヘッダー補正（背景色を出す・位置固定を解除）
   ========================================================= */
@media print {

  /* ▼ ヘッダー全体の固定を解除し、背景色を明示 */
  #header {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    background: #0058A2 !important; /* ← PC時の青色を強制表示 */
    transform: none !important;
    -webkit-transform: none !important;
    box-shadow: none !important;
    z-index: auto !important;
  }

  /* ▼ 内側レイアウト */
  #header .inner {
    margin: 0 auto !important;
    width: 95% !important;
  }

  /* ▼ ロゴとナビゲーションも通常位置に */
  #header .header_logo,
  #header .global_nav,
  #header .main_nav,
  #header .header_contact {
    position: static !important;
    transform: none !important;
    -webkit-transform: none !important;
  }

  /* ▼ ナビ内のリンク色（白文字を確実に印刷） */
  #header .main_nav a,
  #header .header_contact {
    color: #fff !important;
    text-decoration: none !important;
  }

  /* ▼ 背景や色が落ちないように */
  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* =========================================================
   印刷時：フェード未表示要素を強制で表示させる
   ========================================================= */
@media print {

  /* ▼アニメーション要素を強制表示 */
  .js-scroll-fade:not(.top_about_ph):not(.hd_anime) {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    transition: none !important;
  }

  /* ▼アニメーション全般を停止（印刷時不要） */
  * {
    animation: none !important;
    transition: none !important;
  }
}

/* =========================================================
   印刷時：絶対配置のテキスト（.top_recruit_txt）を正常表示
   ========================================================= */
@media print {

/* ▼ recruitセクションの背景が印刷されない場合に強制 */
  .top_recruit,
  .top_recruit::before,
  .top_recruit::after {
    background: linear-gradient(140.61deg, #9FE2FE 0%, #A6DFFC 99.62%); !important; /* 必要に応じて背景色指定 */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* ▼ テキストを元の位置に重ねる（デザイン優先） */
  .top_recruit_txt {
    position: absolute !important;
    left: 12.11% !important;
    bottom: 105px !important;
    width: auto !important;
    z-index: 10 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  /* ▼ テキスト自体を印刷で見やすくする */
  .top_recruit_txt .copy {
    font-size: 3.6rem !important;
    font-weight: bold !important;
    color: #fff !important; /* 背景が暗めの場合 */
    line-height: 1.6 !important;
    text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5) !important; /* 印刷でも浮き出るように */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}



/*common*/
.pc-only { display: block!important; }
.sp-only { display: none!important; }

section, main { position: relative; display: block; }
body { width: 100%; }
body#home { overflow-x: hidden; }

img { max-width: 100%; height:auto; }

@media screen and (max-width: 767px) {
	.pc-only { display: none!important; }
	.sp-only { display: block!important; }
    
    html, body { width: 100%; overflow-x: hidden; }
}

/*no-js*/
.no-js .js-scroll-fade,
.no-js .top_main_txt,
.no-js .top_main_txt .catch,
.no-js .top_main_txt .read,
.no-js .top_main_scroll { opacity: 1!important; }
.no-js body.home #loading { display: none; }
.no-js body#home #header {-webkit-transform: translateY(0);transform: translateY(0);}
.no-js body:not(.home) #loading { display: none; }

/*loading*/
body#home #loading {
    background: #0000;
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100010;
    pointer-events: none;
}
body#home #loading:before {
    top: 0
}

body#home #loading:after,body#home #loading:before {
    background-color: #171616;
    content: "";
    display: block;
    height: 51%;
    left: 0;
    position: absolute;
    transition: height 2s cubic-bezier(1,0,0,1);
    width: 100%;
    z-index: 1
}

body#home #loading:after {
    bottom: 0;
    top: auto
}

body#home #loading.is-animation:after, body#home #loading.is-animation:before {
    height: 0
}

body:not(#home) #loading {
    background: #fff;
    display: block;
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100010;
    pointer-events: none;
    -webkit-transition: opacity 1.5s cubic-bezier(.16,1,.3,1) 0.5s; transition: opacity 1.5s cubic-bezier(.16,1,.3,1) 0.5s;
}

body:not(#home) #loading.is-animation {
    opacity: 0;
}


/*fade*/
.js-scroll-fade:not(.top_about_ph):not(.hd_anime) { opacity: 0; }
.isActive:not(.top_about_ph):not(.hd_anime) {
    -webkit-animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-animation-duration: 1.8s;
    animation-duration: 1.8s;
    -webkit-animation-name: fadeUp;
    animation-name: fadeUp;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}
@-webkit-keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(50px);transform:translateY(50px)}
    10%{opacity:0; }
	to{opacity:1;-webkit-transform:none;trfooter_logo_setansform:none}
}
@keyframes fadeUp{
	0%{opacity:0;-webkit-transform:translateY(50px);transform:translateY(50px)}
    10%{opacity:0; }
	to{opacity:1;-webkit-transform:none;transform:none}
}

/*navi*/
header { position: absolute; top: 0; width: 100%; }
header > .inner { display: flex; align-items: center; width: 100%; padding: 0; justify-content: space-between; box-sizing: border-box; }

.header_logo { width: 300px; padding: 14px 0; line-height: 1; z-index: 4; text-align: center; }
.header_logo img { width: 236px; line-height: 0; }

.global_nav { display: flex; align-items: center; }
.main_nav { display: flex; }
.main_nav li { font-size: 1.6rem; color: #0058A2; font-weight: bold; line-height: 1.35; margin-left: calc(37 / 1568 * 100vw); }
#home .main_nav li { color: #fff; }
.set .main_nav li,
#home .set .main_nav li { color: #0058A2; }
.main_nav li .arrow { width: 8px; height: 4px; margin-left: 5px; display: inline-block; line-height: 8px; }
.main_nav li .hd { position: relative; cursor: pointer; z-index: 4; }
.main_nav li .btn_dd { display: block; width: 100%; height: 55px; position: absolute; top: 0; left: 0; }
.main_nav li:not(.menu_item) { position: relative; z-index: 4; }
.global_nav .serviceNav li:not(.menu_item) { position: 0; }

.header_contact { display: block; width: 160px; margin-left: calc(43 / 1568 * 100vw); background: #FF8E00; position: relative; z-index: 2; padding: 28px 0; text-align: center; }
.header_contact span { color: #fff; display: block; }
.header_contact .font_en { font-size: 1.6rem; }
.header_contact .ja { font-size: 1.0rem; }

.op_global_nav { display: none; }
.btn_humberger_box { display: none; }

@media screen and (max-width: 1250px) {
    .header_logo { width: 160px; padding: 14px 0; line-height: 1; z-index: 4; text-align: center; }
    .header_logo img { width: 100px; line-height: 0; }
    
    .main_nav li { font-size: 1.4rem; color: #fff; color: #0058A2; line-height: 1.35; margin-left: calc(37 / 1568 * 100vw); }
    
    .header_contact { display: block; width: 120px; margin-left: calc(43 / 1568 * 100vw); background: #A29069; position: relative; z-index: 2; padding: 20px 0; text-align: center; }
    .header_contact .font_en { font-size: 1.4rem; }
}

@media screen and (max-width: 1024px) {
    header { position: absolute; width: 100%; border-bottom: none; z-index: 9980; }
    .header_logo { width: 210px; padding: 6px 0; line-height: 1; text-align: center; position: relative; left: 0; top: 0; z-index: 9980; }
    .header_logo img { width: 191px; line-height: 0; }
    
    .global_nav { display: none; }
    
    .btn_humberger_box { display: block; width: 60px; height: 60px; background: #0058A2; position: fixed; right: 0; top: 0; box-sizing: border-box; z-index: 10001; }
    .btn_humberger { width: 26px; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); z-index: 2; }
    .btn_humberger .line { display: block; position: relative; width: 26px; height: 8px; -webkit-transition: height 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: height 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    .btn_humberger .line span {content: ""; width: 26px; height: 1px; display: block; -webkit-transition: all 0.2s cubic-bezier(0.36, 0.14, 0, 1); transition: all 0.2s cubic-bezier(0.36, 0.14, 0, 1); background:#fff; position: absolute; }
    .btn_humberger .line span:nth-child(2){ left: 0; bottom: 0; }
    .btn_humberger .line span:nth-child(1){ left: 0; top: 0; }
    body.open .btn_humberger .line span:nth-child(2){ width: 26px; transform: rotate(45deg); top: 50%; }
    body.open .btn_humberger .line span:nth-child(1){ width: 26px; transform: rotate(-45deg); top: 50%; }
    body.open .op_global_nav { opacity: 1; pointer-events: visible; -webkit-transform: translateX(0); transform: translateX(0); } 
    
    .op_global_nav { display: block; width: 302px; height: 100vh; padding: 60px 0; position: fixed; right: 0; top: 0; background: #fff; overflow-y: scroll; box-sizing: border-box; -webkit-transform: translateX(100%); transform: translateX(100%); -webkit-transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1); transition: all 0.8s cubic-bezier(0.36, 0.14, 0, 1); z-index: 9990; }
    .nav_main_link > li { font-size: 1.6rem; font-weight: 700; border-bottom: 1px solid #D9D9D9; padding: 16px 22px 16px 27px; position: relative; }
    .nav_cat_list  { display: none; margin: 0 0 10px 23px; padding-top: 5px; }
    .nav_cat_list a { display: block; font-size: 1.5rem; font-weight: 500; margin-top: 5px; }
    .nav_sub_list a { display: block; font-size: 1.3rem; font-weight: 500; margin: 5px 0 0 12px; }
    .nav_privacy { font-size: 1.1rem; margin: 22px 27px; }
    .nav_footer { margin: 6px 27px;}
    .nav_footer .name { font-size: 1.6rem; }
    .nav_footer address,
    .nav_footer .tel { font-size: 1.2rem; line-height: 1.5; }
    
    .op_bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(34, 34, 34, 0.45); z-index: 9989; opacity: 0; pointer-events: none; -webkit-transition: opacity 0.8s cubic-bezier(0.36, 0.14, 0, 1); transition: opacity 0.8s cubic-bezier(0.36, 0.14, 0, 1); }
    body.open .op_bg { pointer-events: visible; opacity: 1; }
    
    .nav_open { width: 16px; height: 16px; background: #666; border-radius: 3px; position: absolute; right: 22px; top: 24px; }
    .nav_open:before { content: ""; display: block; width: 6px; height: 1px; background: #fff; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
    .nav_open:after { content: ""; display: block; width: 1px; height: 6px; background: #fff; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); transform-origin: center center; }
    .nav_open.active:after { opacity: 0; }
}


@media screen and (min-width: 1025px) {
    #header { position: absolute; width: 100%; top: 0; left: 0; z-index: 9999; background: #0058A2; background-image: linear-gradient(0deg, rgba(164, 224, 253, 1), rgba(234, 243, 255, 1)); }
    body#home #header { background: none; -webkit-transition: transform 0.8s cubic-bezier(.16,1,.3,1); transition: transform 0.8s cubic-bezier(.16,1,.3,1); -webkit-transform: translateY(-100%); transform: translateY(-100%); }
    body#home #header.set { background: none; background: #0058A2; background-image: linear-gradient(0deg, rgba(164, 224, 253, 1), rgba(234, 243, 255, 1)); }
    body#home #header.is-animation { -webkit-transform: translateY(0); transform: translateY(0); }
    #header.set,
    body#home #header.set { position: fixed; -webkit-transform: translateY(calc(-100% - 1px)); transform: translateY(calc(-100% - 1px)); -webkit-transition: transform 0.0s cubic-bezier(.16,1,.3,1); transition: transform 0.0s cubic-bezier(.16,1,.3,1); }
    #header.fixed,
    body#home #header.fixed { -webkit-transform: translateY(0); transform: translateY(0); -webkit-transition: transform 0.8s cubic-bezier(.16,1,.3,1); transition: transform 0.8s cubic-bezier(.16,1,.3,1); }
}

@media screen and (max-width: 1024px) {
    #header { position: absolute; -webkit-transition: transform 0.8s cubic-bezier(.16,1,.3,1); transition: transform 0.8s cubic-bezier(.16,1,.3,1); -webkit-transform: translateY(-100%); transform: translateY(-100%); }
    #header.is-animation { -webkit-transform: translateY(0); transform: translateY(0); }
}

/*top*/
.top_main { position: relative; }
.top_main_slide { height: 100vh; overflow: hidden;}
.top_main_slide .swiper-slide img { width: 100%; height: 100vh; object-fit: cover; object-position: center; }

.top_main_movie { width: 100vw; height: 100vh; position: relative; overflow: hidden;}
/*
.top_main_movie > video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
}
*/
.top_main_movie > video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
}


@keyframes zoomUp {
  0% {
    transform: scale(1.12);
  }
  100% {
    transform: scale(1);
  }
}
.top_main_slide .swiper-slide-active-prev img,
.top_main_slide .swiper-slide-active img {
  -webkit-transform: scale(1.12);
  transform: scale(1.12);
  -webkit-animation: zoomUp 9s linear 0s normal both;
  animation: zoomUp 9s linear 0s normal both;
}
.top_main_slide .swiper-pagination { display: none; }

.top_main_txt { margin-left: 50%; position: absolute; bottom: 140px; z-index: 2; }
.top_main_txt._v2 { margin-left: 12.5%; }
.top_main_txt p { color: #fff; font-weight: 700; margin-top: 2em; font-size: 2rem; }
.top_main_txt .catch { width: 120%; opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); -webkit-transition: all 0.9s cubic-bezier(0.36, 0.14, 0, 1); transition: all 0.9s cubic-bezier(0.36, 0.14, 0, 1); }
.top_main_txt.is-animation .catch { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
.top_main_txt.is-animation .catch img { width: 100%; max-width: 483px; max-width: 363px; }
.top_main_txt .read { opacity: 0; -webkit-transform: translateY(20px); transform: translateY(20px); -webkit-transition: all 0.9s cubic-bezier(0.36, 0.14, 0, 1) 0.15s; transition: all 0.9s cubic-bezier(0.36, 0.14, 0, 1) 0.15s; }
.top_main_txt.is-animation .read { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0); }
.top_main_scroll { display: flex; align-items: center; position: absolute; right: 4.59%; bottom: -37px; z-index: 2; color: #fff; -webkit-transform: rotate(90deg) translateX(-100%); transform: rotate(90deg) translateX(-100%); -webkit-transform-origin: bottom left; transform-origin: bottom left; }
.top_main_scroll .txt { font-size: 1.6rem; line-height: 1; margin-right: 9px; }
.top_main_scroll .line { width: 75px; height: 1px; background: #fff; }

.top_bg_box { background: #0058A2; background: linear-gradient(140.61deg, #9FE2FE 0%, #A6DFFC 99.62%); }
.top_mission { position: relative; }
.top_mission > .inner { display: flex; }
.top_mission_hd { font-size: 7.0rem; color: #FFFFFF; position: absolute; right: 8.6%; top: 40px; z-index: 2; line-height: 1; }
.top_mission_txt { width: 37.43%; margin-left: 12.57%; padding-top: 9.58vw; padding-right: 12.57%;}
.top_mission_txt .read { max-width: 411px; margin-bottom: 35px; }
.top_mission_txt .read h2 { font-size: 3.5rem; color: #FFF; font-weight: 700; line-height:1.4; }
.top_mission_txt p { position: relative; z-index: 2; }
.top_mission_txt .map { width: 213.86%; margin-top: -590px; -webkit-transform: translateX(-20%); transform: translateX(-20%); position: relative; z-index: -1; }
.top_mission_txt  p { color: #fff; font-weight: 700; font-size: 1.8rem; }
.top_mission_ph { width: 50%; width:32%; position: relative; z-index: 2;}
.top_mission_ph > div { padding-bottom: 109.70%; position: relative; }
.top_mission_ph > div img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
.top_mission_txt .link { margin-top: 55px; font-size: 1.6rem; color: #fff; text-align: left; }

.top_factory { margin-top: -30px; padding: 80px 0 60px; }
.top_factory > .inner { display: flex; }
.top_factory_ph { width: 37.05%; width: 47.05%; margin: -115px 0 -96px 5.86%; }
.top_factory_ph > img { box-shadow: 0 5px 30px #0000000d; }
.top_factory_hd { font-size: 28.0rem; color: rgba(255,255,255,0.1); position: absolute; right: 4.59%; top: 1%; z-index: 0; line-height: 1;   letter-spacing: -0.01em;}
.top_factory_txt { width: 48.53%; width: 38.53%; padding-bottom: 4.78vw; }
.top_factory_txt .read { margin-bottom: 38px; text-align: right; }
.top_factory_txt .read img { max-width: 574px; }
.top_factory_txt p { color: #fff; font-weight: 700; text-align: right; font-size: 1.8rem; padding-top: 60px; }
.top_factory_txt .link { margin-top: 55px; font-size: 1.6rem; color: #fff; text-align: right; }

.top_common_head { position: relative; }
.top_common_hd {
  font-size: 2.5rem;
  color: #0058a2;
  position: absolute;
  left: 10.4%;
  top: 113%;
  z-index: 2;
  line-height: 1;
}
.top_recruit .top_common_hd,
.top_recruit .top_common_ttl { color: #0058A2; }
.top_common_ttl { font-size: 4.5rem; font-weight: 700; line-height: 1.5; margin: 0 4.59%; padding: 0 0 0 5.73vw; }

.top_service { margin-top: 80px; }
.top_service_list { display: flex; width: 100%; }
.top_common_head + .top_service_list { margin-top: 80px; margin-bottom: 60px;  }
.top_service_list { display: flex; justify-content: center; }
.top_service_list a { width: 33.33%; width:40%; margin: 0 0 1px 1px; }

.top_service_list a:nth-child(3n + 1) { margin-left: 0;}
.top_service_list a > div { padding-bottom: 66.66%; position: relative; overflow: hidden; }
.top_service_list .ph img { position: absolute; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.top_service_list .ph:after { content: ""; display: block; width: 100%; height: 100%; position: absolute; z-index: 2; background: rgba(0,0,0,0.3); -webkit-transition: background 1.0s cubic-bezier(.16,1,.3,1); transition: background 1.0s cubic-bezier(.16,1,.3,1); }
.top_service_list .txt { width: 100%; padding: 0 20px; box-sizing: border-box; text-align: center; position: absolute; top: 30%; z-index: 4; }
.top_service_list .txt .ttl { font-size: 3.0rem; color: #fff; font-weight: 700; line-height: 1.5; margin-bottom: 20px; font-size: 3.5rem; }
.top_service_list .txt p { font-size: 1.4rem; color: #fff; font-size: 1.8rem; }
.top_service_list .num { display: block; position: absolute; right: 46px; top: 23px; z-index: 3; }
.top_service_list .num img { width: 20px; height: auto; max-width: none; }

#about .top_service_list .txt { position: absolute; top: 50%; z-index: 4; transform: translateY(-50%); }
#about .top_service_list a { width: 25%; margin: 0 0 1px 1px; }
#about .top_service_list a:nth-child(4n + 1) { margin-left: 0;}


.top_global { margin-top: 110px; }
.top_global_list { display: flex; justify-content: space-between; margin: 28px 4.01% 0 14.28%; }
.top_global_list a { width: 48.32%; }
.top_global_list a .ph { overflow: hidden; }
.top_global_list .ttl { font-size: 3.0rem; font-weight: 700; margin: 20px 0 10px; }

.top_works { margin-top: 145px; }
.top_works_body { display: flex; }
.top_works_cat { width: 16.32%; margin: 37px 2.04% 0 14.28%; }
.top_works_cat a,
.archive_works_cat a { font-size: 1.4rem; border: 1px solid #000; border-radius: 30px; display: inline-block; padding: 5px 18px; margin-bottom: 10px; line-height: 1.5; }
.archive_works_cat .here a { background: #000; color: #fff; }
.top_works_listbox { width: 67.34%; overflow: hidden; }
.top_works_list { width: 36.36%; display: flex; }
.top_works_list a,
.archive_works_list a { display: block; }
.top_works_list a > div { padding-right: 9.09%; }
.top_works_list .ph { padding-bottom: 66.66%; overflow: hidden; position: relative; }
.top_works_list .ph > img { width: 100%; height: 100%; position: absolute; object-fit: cover; }
.top_works_list .ph._more { background: #A29069; }
.top_works_list .ph._more .box { position: absolute; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; }
.top_works_list .ph._more .box .txt { font-size: 1.6rem; color: #fff; }
.top_works_list .ph._more .box .ico { width: 28px; margin-left: 8px; }
.top_works_list .ttl,
.archive_works_list .ttl { font-size: 1.6rem; font-weight: 700; margin-top: 10px; }
.top_works_list .meta,
.archive_works_list .meta,
.works_single_ttl .meta { display: flex; flex-wrap: wrap; align-items: center; margin-top: 5px; }
.top_works_list .cat,
.archive_works_list .cat,
.works_single_ttl .cat { font-size: 0.9rem; line-height: 2; border: 1px solid #000; margin: 0 8px 8px 0; padding: 1px 11px; border-radius: 30px; }
.top_works_list .area,
.archive_works_list .area,
.works_single_ttl .area { font-size: 1.2rem; margin-bottom: 8px; }
.top_works_list .weight,
.archive_works_list .weight,
.works_single_ttl .weight { font-size: 1.2rem; margin-left: 12px; margin-bottom: 8px; }


.top_works_list .swiper-button-prev,
.top_works_list .swiper-button-next { width: 28px; height: 36px; margin-top: 0!important; background: url("../img/arrow_slide.svg") no-repeat center / contain; }
.top_works_list .swiper-button-prev { transform: scale(-1, 1); }
.top_works_list .swiper-button { width: 98px; height: 36px; position: absolute; right: 3.00%; top: -78px; }
.top_works_list .swiper-button-prev:after, 
.top_works_list .swiper-rtl .swiper-button-next:after,
.top_works_list .swiper-button-next:after,
.top_works_list .swiper-rtl .swiper-button-prev:after { display: none; }

.top_point { margin-top: 76px;}
.top_point > .inner { display: flex; justify-content: center; width: 95.91%; margin: 0 auto; padding: 62px 0; border-radius: 30px; background: #8BCE8F; }
.top_point_txt { margin-left: 4.65%; width: 39.36%; max-width: 594px; }
.top_point_img { margin-left: 0.84%; width: 54.12%; max-width: 814px; margin-top: 30px; text-align: center; }
.top_point .hd { margin: 0 0 80px -27px; }
.top_point .hd img { width: 100%; }
.top_point_txt p + p { margin-top: 40px; }
.top_point_txt .link_btn { width: 208px; padding: 10px 0; border-radius: 30px; display: inline-block; background: #fff; text-align: center; font-weight: 400; }
.top_point_txt .link_btn span { text-decoration: underline; }

.top_recruit { width: 100%; background: linear-gradient(140.61deg, #9FE2FE 0%, #A6DFFC 99.62%); margin-top: 0px; padding-top: 71px; position: relative; }
.top_recruit .top_recruit_body { width: 66.13%; margin-left: 33.87%; position: relative; top: 39px; display: flex; }
.top_recruit .top_recruit_slide .swiper-slide img { height: 41.19vw; object-fit: cover; }
.top_recruit_txt { position: absolute; left: 12.11%; bottom: 105px;  }
.top_recruit_txt .link_txt { display: inline-block; font-size: 1.6rem;color: #fff; margin-top: 30px; }
.top_recruit_txt .copy { font-size: 3.6rem; font-weight: bold; color: #fff; margin-top: 30px; line-height: 1.6; }

.top_recruit_slide01 { min-width: 30.10vw; }
.top_recruit_slide02 { min-width: 22.70vw; margin-left: 16px; }
.top_recruit_slide03 { min-width: 22.70vw; margin-left: 16px; }
.top_recruit_slideitem { height: 646px; overflow: hidden; }
.top_recruit_slideitem .slide_img img { position: absolute; height: 100%; object-fit: cover; }

.top_news { margin-top: 85px; position: relative; margin-bottom: 120px; padding-bottom: 120px; }
.top_news .top_common_head { position: absolute; top: 0; width: 100%; }
.top_news_head { position: relative; }
.top_news_catlist { font-size: 1.6rem; margin: 40px 4.59% 0; padding: 0 0 0 6.36vw; }
.top_news_catlist li { margin-top: 16px; }

.top_news_list { width: 60.77%; margin-left: 25.51%; position: relative; z-index: 2;}
.news_item { display: flex; padding: 40px 0; border-bottom: 1px solid #D9D9D9; }
.news_item:first-child { border-top: 1px solid #D9D9D9; }
.news_item .meta { display: flex; font-size: 1.4rem; line-height: 2; }
.news_item .meta .date { width: 7.5em; }
.news_item .meta .cat { width: 9.5em; }
.news_item .ttl { font-size: 1.8rem; line-height: 1.66; }

.link_more { text-align: right; font-size: 1.6rem; line-height: 1.5; }
.top_news_list .link_more { margin-top: 40px; }
.top_global .link_more { margin: 26px 8.6% 0; }
.top_works .link_more { margin: 70px 8.6% 0; }

.footer_link { display: flex; margin-top: 150px; overflow: hidden; }
body.page-id-94 .footer_link { margin-top: 0; }
.footer_link_about { width: 50%; position: relative; }
.footer_link_contact .inner { padding-bottom: 25.69%; }
.footer_link_contact .inner:after { content: ""; display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; background: #000; opacity: 0.3; }
.footer_link_contact { width: 100%; position: relative; background: url(../img/ft_contact_bg.jpg) no-repeat center center/ cover; }
.footer_link_contact::before { content: ""; width: 100%; height: 100%; display: block; position:absolute; top: 0; left: 0; background: rgba(0, 88, 162, 0.6); }

.footer_link_about .ph { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); object-fit: cover; }
.footer_link_about .hd,
.footer_link_contact .hd { font-size: 4.0rem; color: #fff; position: relative; left: 0; top: 94px; z-index: 2; display: block; text-align: center; }
.footer_link_about .copy { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); z-index: 2; }
.footer_link_contact .txt { width: 100%; text-align: center; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); z-index: 2; }
.footer_link_contact * { color: #fff; }
.footer_link_contact .ttl { font-size: 3.0rem; font-weight: 700; }
.footer_link_contact .ttl span { border-bottom: 1px solid #fff; }
.footer_link_contact .tel { font-size: 5.0rem; margin-top: 30px; font-weight: 400; }
.footer_link_contact .time { font-size: 1.2rem; margin-top: 5px; text-align: center; }

.footer_function { background: #0058A2; background-image: linear-gradient(0deg, rgba(164, 224, 253, 1), rgba(234, 243, 255, 1)); display: flex; flex-wrap: wrap; padding: 156px 0 97px; }
.footer_company { width: 32.71%; margin-left: 5.03%; }
.footer_nav { width: 57.23%; margin-right: 5.03%; display: flex; justify-content: flex-end; }
.footer_company * { color: #fff; color:#0058A2; }
.footer_company .name { font-size: 2.0rem; font-weight: 700; }
.footer_company .name img { max-width: 250px; }
.footer_company address { font-size: 1.6rem; font-weight: 400; margin-top: 10px; }
.footer_company .tel { font-size: 1.6rem; font-weight: 400; }

.footer_nav_list { display: flex; flex-grow: 2; }
.footer_nav_item { margin-left: 9.75%; flex-grow: 2; }
.footer_nav_item .main > li { font-size: 2.0rem; color: #fff; color: #0058A2; font-weight: 700; line-height: 1.5; }
.footer_nav_item .main > li.link_privacy { font-size: 1.2rem; font-weight: 400; margin-top: 25px; }
.footer_nav_item .main > li + li { margin-top: 25px; }
.footer_nav_item .main > li ul { margin-top: 10px; }
.footer_nav_item .main > li li { font-size: 1.5rem; font-weight: 400; color: #AFAFAF; color:#0058A2; margin-top: 10px; }
.footer_nav_item .main > li li li { font-size: 1.3rem; font-weight: 500; margin-left: 13px; }
.footer_nav_item .main > li li + li { margin-top: 10px; }

.footer_copyrights { width: 100%; padding: 0 5.03%; margin-top: 235px; box-sizing: border-box; text-align: right; }
.footer_copyrights p { font-size: 1.4rem; color: #0058A2; font-weight: 300; }

@media screen and (max-width: 1450px) {
    .footer_company .name { font-size: 1.6rem; font-weight: 700; }
    .footer_company address { font-size: 1.4rem; font-weight: 400; margin-top: 10px; }
    .footer_company .tel { font-size: 1.4rem; font-weight: 400; }

    .footer_nav_item + .footer_nav_item { margin-left: 6.75%; }
    .footer_nav_item .main > li { font-size: 1.5rem; color: #fff; color: #0058A2; font-weight: 700; }
    .footer_nav_item .main > li.link_privacy { font-size: 0.9rem; font-weight: 400; margin-top: 15px; }
    .footer_nav_item .main > li li { font-size: 1.2rem; font-weight: 400; color: #AFAFAF; color: #0058A2; }
    .footer_nav_item .main > li li li { font-size: 1.1rem; font-weight: 500; margin-left: 13px; }
    
}

@media screen and (max-width: 1250px) {
    .top_mission_txt .read { max-width: calc(411px * 0.75); margin-bottom: 35px; }
    
    .top_factory_txt .read img { max-width: calc(574px * 0.75);}
    
    .top_service_list .txt .ttl { font-size: 2.0rem; color: #fff; line-height: 1.5; margin-bottom: 20px; }
    .top_service_list .num { display: block; position: absolute; right: 40px; top: 20px; }
    .top_service_list .num img { width: 16px; height: auto; max-width: none; }
    
    .top_point .ttl { font-size: 5.0rem; font-weight: 700; line-height: 1; margin-bottom: 40px; }
    
    .top_news_list { width: 50.77%; margin-left: 35.51%; position: relative; z-index: 2;}
    
    .footer_link_about .hd,
    .footer_link_contact .hd { font-size: 2.0rem; }
    .footer_link_contact .ttl { font-size: 2.0rem; font-weight: 700; }
    .footer_link_contact .tel { font-size: 3.5rem; margin-top: 30px; font-weight: 400; }
    .footer_link_contact .time { font-size: 1.2rem; margin-top: 5px; text-align: center; }
}

/*
@media screen and (max-width: 1024px) {
.top_main { position: relative; }
.top_main_slide .swiper-slide img { width: 100%; height: 100vh; object-fit: cover; }
    .top_main_txt { margin-left: 37.10%; width: 52.34%; position: absolute; bottom: 90px; z-index: 2; }
    .top_main_txt p { font-size: 1.3rem; color: #fff; margin-top: 2em; }
.top_main_txt .catch { width: 120%; }
    .top_main_txt.is-animation .catch img { width: 100%; max-width: 320px; }
    .top_main_scroll { display: flex; align-items: center; position: absolute; left: 4.16%; bottom: -37px; z-index: 2; color: #fff; -webkit-transform: rotate(90deg) translateX(-100%); transform: rotate(90deg) translateX(-100%); -webkit-transform-origin: bottom left; transform-origin: bottom left; }
    .top_main_scroll .txt { font-size: 1.2rem; line-height: 1; margin-right: 9px; }
.top_main_scroll .line { width: 75px; height: 1px; background: #fff; }

.top_bg_box { background: #000; }
.top_mission { position: relative; }
    .top_mission > .inner { display: flex; justify-content: space-between; }
    .top_mission_hd { font-size: 2.0rem; color: #A29069; position: absolute; left: calc(4.16% + 5px); top: 50px; z-index: 2; -webkit-transform: rotate(90deg) translateY(-50%); transform: rotate(90deg) translateY(-50%); -webkit-transform-origin: top left; transform-origin: top left; line-height: 1; }
.top_mission_txt { width: 37.43%; margin-left: 12.57%; padding-top: 13.58vw; }
    .top_mission_txt .read { max-width: 270px; margin-bottom: 35px; }
.top_mission_txt .map { width: 181.86%; margin-top: -200px; -webkit-transform: translateX(-20%); transform: translateX(-20%); }
    .top_mission_txt  p { font-size: 1.3rem; color: #fff; }
    .top_mission_ph { width: 45.96%; margin-top: -37px; position: relative; z-index: 2;}
.top_mission_ph > div { padding-bottom: 109.70%; position: relative; }
.top_mission_ph > div img { position: absolute; width: 100%; height: 100%; object-fit: cover; }

    .top_factory { margin-top: 60px; }
.top_factory > .inner { display: flex; justify-content: space-between; }
    .top_factory_ph { width: 31.38%; margin: 0 0 -28px 4.42%; }
    .top_factory_hd { font-size: 2.0rem; color: #A29069; position: absolute; right: 4.59%; top: 50px; z-index: 2; -webkit-transform: rotate(90deg) translateY(-50%); transform: rotate(90deg) translateY(-50%); -webkit-transform-origin: top right; transform-origin: top right; line-height: 1; }
    .top_factory_txt { width: 48.53%; padding-top: 0; margin-right: 8.07%; }
    .top_factory_txt .read { margin-bottom: 20px; text-align: right; }
.top_factory_txt .read img { max-width: 358px; }
    .top_factory_txt p { font-size: 1.3rem; color: #fff; text-align: right; }
    .top_factory_txt .link { margin-top: 25px; font-size: 1.1rem; color: #fff; text-align: right; }

.top_common_head { position: relative; }
    .top_common_hd { font-size: 2.0rem; color: #A29069; position: absolute; left: 3.90%; top: -15px; z-index: 2; -webkit-transform: rotate(90deg) translateY(-50%); transform: rotate(90deg) translateY(-50%); -webkit-transform-origin: top left; transform-origin: top left; line-height: 1; }
.top_recruit .top_common_hd,
.top_recruit .top_common_ttl { color: #fff; }
    .top_common_ttl { font-size: 2.5rem; font-weight: 700; line-height: 1.5; margin: 0 4.59%; padding: 0 0 0 5.73vw; }

    .top_service { margin-top: 91px; }
.top_service_list { display: flex; width: 100%; }
    .top_common_head + .top_service_list { margin-top: 50px; }
.top_service_list a { width: 33.33%; margin: 0 0 1px 1px; }
.top_service_list a:nth-child(3n + 1) { margin-left: 0;}
.top_service_list a > div { padding-bottom: 66.66%; position: relative; }
.top_service_list .ph img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
    .top_service_list .txt { width: 100%; padding: 0 20px; box-sizing: border-box; text-align: center; position: absolute; top: 40%; }
    .top_service_list .txt .ttl { font-size: 1.3rem; color: #fff; line-height: 1.5; margin-bottom: 10px; }
    .top_service_list .txt p { font-size: 0.8rem; color: #fff; }
    .top_service_list .num { display: block; position: absolute; right: 28px; top: 18px; }
    .top_service_list .num img { width: 12px; height: auto; max-width: none; }

    .top_global { margin-top: 100px; }
    .top_global_list { display: flex; justify-content: space-between; margin: 40px 4.01% 0 10.28%; }
    .top_global_list p { font-size: 1.1rem; }
.top_global_list a { width: 48.32%; }
    .top_global_list .ttl { font-size: 1.5rem; font-weight: 700; margin: 10px 0 5px; }

    .top_works { margin-top: 68px; }
    .top_works_body { display: flex; justify-content: space-between; margin-top: 48px; }
    .top_works_cat { width: 16.32%; margin: 0 2.04% 0 10.28%; }
    .service_works .top_works_cat { width: 0; }
    .top_works_cat a,
    .archive_works_cat a { font-size: 0.8rem; border: 1px solid #000; border-radius: 30px; display: inline-block; padding: 1px 10px; margin-bottom: 6px; }
    .top_works_listbox { width: 71.74%; overflow: hidden; }
    .top_works_list { width: 48.45%; display: flex; }
.top_works_list a { width: 100%; }
    .top_works_list .ttl,
    .archive_works_list .ttl { font-size: 1.3rem; font-weight: 700; margin-top: 6px; }
.top_works_list .meta { display: flex; flex-wrap: wrap; align-items: center; margin-top: 5px; }
    .top_works_list .cat,
    .archive_works_list .cat{ font-size: 0.8rem; line-height: 2; border: 1px solid #000; padding: 1px 11px; border-radius: 30px; }
    .top_works_list .area,
    .top_works_list .weight { font-size: 0.9rem; margin-left: 12px; }
    .top_works_list .swiper-button-prev,
    .top_works_list .swiper-button-next { width: 21px; height: 26px; margin-top: 0!important; background: url("../img/arrow_slide.svg") no-repeat center / contain; }
.top_works_list .swiper-button-prev { transform: scale(-1, 1); }
    .top_works_list .swiper-button { width: 71px; height:26px; position: absolute; right: 4.16%; top: -58px; }

.top_point { margin-top: 76px;}
    .top_point > .inner { display: flex; justify-content: center; width: 95.91%; margin: 0 auto; padding-top: 28px; border-radius: 14px; background: #8BCE8F; }
    .top_point_txt { margin-left: 4.65%; width: 39.36%; max-width: 594px; }
    .top_point_txt .link_btn { font-size: 1.2rem; width: 160px; padding: 7px 0; border-radius: 30px; display: inline-block; background: #fff; text-align: center; font-weight: 400; }
    .top_point_img { margin-left: 0.84%; width: 54.12%; max-width: 814px; margin-top: 30px; text-align: center; }
    .top_point .hd { margin: 0 0 40px -17px; }
    .top_point .ttl { font-size: 3.0rem; font-weight: 700; line-height: 1; margin-bottom: 20px; }
    .top_point .illust { width: 58.74%; margin-bottom: -6px; margin-left: 24.75%; }
    .top_point_txt p  { font-size: 1.0rem; }
    .top_point_txt p + p { margin-top: 40px; }

    .top_recruit { background: linear-gradient(140.61deg, #A29069 0%, #282828 99.62%); margin-top: 155px; padding-top: 71px; }
.top_recruit .top_recruit_slide { width: 66.13%; margin-left: 33.87%; position: relative; top: 39px; }
.top_recruit .top_recruit_slide .swiper-slide img { height: 41.19vw; object-fit: cover; }
    .top_recruit_txt { width: 37.19%; position: absolute; left: 5.98%; bottom: 75px;  }
    .top_recruit_txt .link_txt { display: inline-block; font-size: 1.1rem;color: #fff; margin-top: 20px; }
    
    .top_recruit_slideitem { height: 340px; overflow: hidden; }

.top_news { margin-top: 185px; position: relative; }
.top_news .top_common_head { position: absolute; top: 0; width: 100%; }
.top_news_head { position: relative; }
    .top_news_catlist { font-size: 0.9rem; margin: 30px 4.59% 0; padding: 0 0 0 6.36vw; }
    .top_news_catlist li { margin-top: 12px; }

    .top_news_list { width: 66.79%; margin-left: 28.90%; position: relative; z-index: 2;}
    .news_item { display: flex; padding: 20px 0; border-bottom: 1px solid #D9D9D9; }
.news_item:first-child { border-top: 1px solid #D9D9D9; }
    .news_item .meta { display: flex; font-size: 0.8rem; line-height: 2; }
.news_item .meta .date { width: 7.5em; }
.news_item .meta .cat { width: 9.5em; }
    .news_item .ttl { font-size: 1.1rem; line-height: 1.66; }

    .link_more { text-align: right; font-size: 1.1rem; }
    .top_news_list .link_more { margin-top: 20px; }
.top_global .link_more { margin: 26px 8.6% 0; }
    .top_works .link_more { margin: 40px 8.6% 0; }

.footer_link { display: flex; margin-top: 100px; }
.footer_link_about { width: 50%; position: relative; }
.footer_link_about .inner { padding-bottom: 57.39%; }
.footer_link_contact { width: 50%; position: relative; background: #A29069; }
.footer_link_about .ph { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); object-fit: cover; }
    .footer_link_about .hd,
    .footer_link_contact .hd { font-size: 2.0rem; color: #fff; position: absolute; left: 4.59vw; top: 54px; }
.footer_link_about .copy { width: 184px; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
.footer_link_contact .txt { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
.footer_link_contact * { color: #fff; }
    .footer_link_contact .ttl { font-size: 1.4rem; font-weight: 700; }
.footer_link_contact .ttl span { border-bottom: 1px solid #fff; }
    .footer_link_contact .tel { font-size: 2.4rem; margin-top: 20px; font-weight: 400; }
.footer_link_contact .time { font-size: 0.6rem; margin-top: 5px; text-align: center; }

    .footer_function { background: #000; display: flex; flex-wrap: wrap; flex-direction: column; padding: 58px 0 97px; }
    .footer_company { width: 100%; margin: 0 5.98%; }
    .footer_nav { width: 100%; margin: 65px 5.98% 0; display: flex; justify-content: flex-start; }
.footer_company * { color: #fff; }
.footer_company .name { font-size: 2.0rem; font-weight: 700; }
    .footer_company address { font-size: 1.6rem; font-weight: 400; margin-top: 20px; }
.footer_company .tel { font-size: 1.6rem; font-weight: 400; }
    
    .footer_nav_item { margin-left: 0; }
    .footer_nav_item + .footer_nav_item { margin-left: 9.75%; }
    .footer_nav_item .main > li { font-size: 1.5rem; color: #fff; font-weight: 700; }
    .footer_nav_item .main > li.link_privacy { font-size: 0.9rem; font-weight: 400; margin-top: 15px; }
.footer_nav_item .main > li + li { margin-top: 7px; }
.footer_nav_item .main > li ul { margin-top: 3px; }
    .footer_nav_item .main > li li { font-size: 1.2rem; font-weight: 400; color: #AFAFAF; }
    .footer_nav_item .main > li li li { font-size: 1.1rem; font-weight: 500; margin-left: 13px; }
.footer_nav_item .main > li li + li { margin-top: 5px; }

    .footer_copyrights { width: 100%; padding: 0 4.29%; margin-top: 181px; box-sizing: border-box; text-align: right; }
    .footer_copyrights p { font-size: 1.1rem; color: #fff; font-weight: 300; }
}
*/

@media screen and (max-width: 767px) {
    .top_main { position: relative; /*background: #0058A2; */padding-bottom: 60px; }
    .top_main_slide { height: auto; overflow: hidden;}
    .top_main_slide .swiper-slide img { width: 100%; height: 106vw; object-fit: cover; }
    
    .top_main_movie { width: 100vw; height: 106vw; height: 146vw; position: relative; overflow: hidden;}
    
    .top_main_txt { margin-left: 13.33%; margin-top: -300px; width: 76.53%; position: relative; bottom: 0; z-index: 2; }
    .top_main_txt p { font-size: 1.4rem; color: #fff; margin-top: 2em; }
    .top_main_txt p + p { margin-top: 2em; }
    .top_main_txt .catch { width: 215px; }
    .top_main_txt .catch img { width: 100%; }
    .top_main_scroll { display: none; }
.top_main_scroll .txt { font-size: 1.2rem; line-height: 1; margin-right: 9px; }
.top_main_scroll .line { width: 75px; height: 1px; background: #fff; }

    .top_bg_box { background: #0058A2; background: linear-gradient(140.61deg, #9FE2FE 0%, #A6DFFC 99.62%); padding: 30px 0 55px; }
.top_mission { position: relative; }
    .top_mission > .inner { display: flex; justify-content: space-between; flex-direction: column; }
    .top_mission_hd { font-size: 3.4rem; color: #FFFFFF; position: relative; left: 0; top: 0; z-index: 2; -webkit-transform: rotate(0) translateY(0); transform: rotate(0) translateY(0); line-height: 1; margin: 49px 0 0 6.66%; order: 2; }
    .top_mission_txt { width: 80%; margin-left: 13.33%; padding-top: 20px; order: 3; }
    .top_mission_txt .read { max-width: 255px; margin-bottom: 20px; }
    .top_mission_txt .map { width: 181.86%; margin-top: -180px; -webkit-transform: translateX(-20%); transform: translateX(-20%); }
    .top_mission_txt  p { font-size: 1.4rem; color: #fff; }
    .top_mission_ph { width: 70.66%; margin: 0; margin-left: 29.34%; position: relative; z-index: 2; order: 1; }
.top_mission_ph > div { padding-bottom: 109.70%; position: relative; }
.top_mission_ph > div img { position: absolute; width: 100%; height: 100%; object-fit: cover; }

.top_factory { margin-top: 60px; }
    .top_factory > .inner { display: flex; flex-direction: column; }
    .top_factory_ph { width: 70.66%; margin: -110px 0 0 0; }
    .top_factory_hd { font-size: 14.4rem; color: rgba(255,255,255,0.1); position: absolute; left: 0; top: 0; z-index: 0; -webkit-transform: rotate(0) translateY(0); transform: rotate(0) translateY(0); -webkit-transform-origin: top right; transform-origin: top right; line-height: 1; margin: 125px 0 0 3.66%; order: 2; }
    .top_factory_txt { width: 80%; margin-left: 13.33%; margin-right: 0; padding-top: 0; order: 3; }
    .top_factory_txt .read { margin: 20px 0; text-align: left; }
    .top_factory_txt .read img { max-width: 283px; }
    .top_factory_txt p { font-size: 1.4rem; color: #fff; text-align: left; }
    .top_factory_txt .link { margin-top: 15px; font-size: 1.4rem; color: #fff; text-align: left; }

.top_common_head { position: relative; }
    .top_common_hd { margin: 0 6.66%; font-size: 1.4rem; color: #0058a2; position: relative; left: 0; top: 0; z-index: 2; -webkit-transform: rotate(0) translateY(0); transform: rotate(0) translateY(0); line-height: 1; }
.top_recruit .top_common_hd,
.top_recruit .top_common_ttl { color: #0058A2; }
    .top_common_ttl { font-size: 2.5rem; font-weight: 700; line-height: 1.5; margin: 5px 6.66% 0; padding: 0; }

.top_service { margin-top: 91px; }
    .top_service_list { display: flex; flex-wrap: wrap; width: 86.66%; margin: 0 auto; }
    .top_common_head + .top_service_list { margin-top: 0; }
    .top_service_list a { width: 100% !important; margin: 40px 0 0!important; }
.top_service_list a:nth-child(3n + 1) { margin-left: 0;}
    .top_service_list a > div { padding-bottom: 0; position: relative; }
    .top_service_list .ph { padding-bottom: 66.66%; position: relative; }
.top_service_list .ph img { position: absolute; width: 100%; height: 100%; object-fit: cover; }
    .top_service_list .txt { width: 100%; padding: 0; box-sizing: border-box; text-align: left; position: relative; top: 40%; }
    .top_service_list .txt .ttl { font-size: 1.8rem; color: #000; font-weight: 700; line-height: 1.5; margin: 15px 0 5px; }
    .top_service_list .txt p { font-size: 1.2rem; color: #000; line-height: 1.5; }
    .top_service_list .num { display: block; position: absolute; right: 28px; top: 18px; }
    .top_service_list .num img { width: 12px; height: auto; max-width: none; }

    #about .top_service_list .txt { position: relative; top: 40% !important; transform: none;  }

    .top_global { border-top: 1px solid #D9D9D9; margin-top: 40px; padding-top: 50px; }
    .top_global_list { display: flex; flex-wrap: wrap; width: 86.66%; margin: 40px auto 0 }
    .top_global_list p { font-size: 1.2rem; line-height: 1.5; }
    .top_global_list a { width: 100%; }
    .top_global_list a + a { margin-top: 35px; }
    .top_global_list .ttl { font-size: 1.6rem; font-weight: 700; margin: 10px 0 5px; }

    .top_works { border-top: 1px solid #D9D9D9; margin-top: 40px; padding-top: 50px; }
.top_works_body { display: flex; justify-content: space-between; margin-top: 48px; }
    .top_works .top_works_body { margin-left: 6.66%; }
    .top_works_cat { display: none; }
.top_works_cat a,
.archive_works_cat a { font-size: 0.8rem; border: 1px solid #000; border-radius: 30px; display: inline-block; padding: 1px 10px; margin-bottom: 6px; }
    .archive_works_cat a { font-size: 1.3rem; }
    .top_works_listbox { width: 68%; margin-left: 0; overflow: visible; }
    .top_works_list { width: 100%; display: flex; }
.top_works_list a { width: 100%; }
    .top_works_list .ttl,
    .archive_works_list .ttl { font-size: 1.4rem; font-weight: 700; margin-top: 6px; }
.top_works_list .meta { display: flex; flex-wrap: wrap; align-items: center; margin-top: 5px; }
    .top_works_list .cat,
    .archive_works_list .cat { font-size: 1.0rem; line-height: 2; border: 1px solid #000; padding: 1px 11px; border-radius: 30px; }
    .top_works_list .area,
    .top_works_list .weight { font-size: 1.2rem; margin-left: 12px; }
    .top_works_list .swiper-button { display: none; }

.top_point { margin-top: 76px;}
    .top_point > .inner { display: block; justify-content: space-between; width: 86.66%; margin: 0 auto; padding: 6.67%; border-radius: 10px; background: #8BCE8F; box-sizing: border-box; }
    .top_point_txt { margin-left: 0; width: auto; }
    .top_point_txt .link_btn { font-size: 1.4rem; width: 208px; margin: 0 auto; padding: 10px 0; border-radius: 30px; display: block; background: #fff; text-align: center; font-weight: 400; }
    .top_point_img { margin: 30px auto 0; width: auto; max-width: 450px; }
    .top_point .hd { max-width: 278px; margin: 0 auto 25px; }
    .top_point_txt p  { font-size: 1.4rem; }
    .top_point_txt p + p { margin-top: 20px; }

    .top_recruit { background: linear-gradient(140.61deg, #9FE2FE 0%, #A6DFFC 99.62%); margin-top: 80px; padding: 31px 0 67px; }
    .top_recruit .top_recruit_body { width: auto; margin: 50px 0 0 10.13%; position: relative; top: 0; display: flex; }
    .top_recruit .top_recruit_slide .swiper-slide img { height: 58.66vw; object-fit: cover; }
    .top_recruit_txt { width: auto; max-width: 280px; margin-top: 40px; position: relative; left: 10.13%; top: 0; -webkit-transform: translateY(0); transform: translateY(0); }
	.top_recruit_txt .link_txt { display: inline-block; font-size: 1.1rem;color: #fff; margin-top: 20px; }
	.top_recruit_txt .copy { font-size: 2.0rem;}
    
.top_recruit_slide01 { min-width: 42.66vw; }
.top_recruit_slide02 { min-width: 32.26vw; margin-left: 16px; }
.top_recruit_slide03 { min-width: 32.26vw; margin-left: 16px; }
.top_recruit_slideitem { height: 58.66vw; overflow: hidden; }
.top_recruit_slideitem .slide_img img { position: absolute; height: 100%; object-fit: cover; }

    .top_news { margin-top: 74px; position: relative; }
    .top_news .top_common_head { position: relative; top: 0; width: 100%; }
.top_news_head { position: relative; }
    .top_news_catlist { font-size: 1.2rem; margin: 25px 0 0; padding: 0 0 0 6.66%; display: flex; flex-wrap: wrap; }
    .top_news_catlist li { margin-top: 0; margin-right: 10px; }

    .top_news_list { width: 86.66%; margin: 50px auto 0; position: relative; z-index: 2;}
    .news_item { display: flex; flex-wrap: wrap; padding: 18px 0; border-bottom: 1px solid #D9D9D9; }
.news_item:first-child { border-top: 1px solid #D9D9D9; }
    .news_item .meta { display: flex; font-size: 1.3rem; line-height: 2; }
.news_item .meta .date { width: 6.5em; }
.news_item .meta .cat { width: 9.5em; }
    .news_item .ttl { font-size: 1.6rem; line-height: 1.66; width: 100%; }

    .link_more { text-align: right; font-size: 1.4rem; }
.top_news_list .link_more { margin-top: 20px; }
.top_global .link_more { margin: 26px 8.6% 0; }
    .top_works .link_more { margin: 20px 8.6% 0; }

    .footer_link { display: flex; flex-wrap: wrap;margin-top: 100px; }
    .footer_link_about { width: 100%; position: relative; }
    .footer_link_about .inner { padding-bottom: 57.39%; }
    .footer_link_contact { width: 100%; position: relative; background: url(../img/ft_contact_bg.jpg) no-repeat center center / cover; padding-bottom: 57.39%; }
.footer_link_about .ph { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); object-fit: cover; }
    .footer_link_about .hd,
    .footer_link_contact .hd { font-size: 2.4rem; color: #fff; position: absolute; left: 50%; top: 50px; transform: translateX(-50%); }
.footer_link_about .copy { width: 184px; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%);}
    .footer_link_contact .txt { width: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); text-align: center; }
.footer_link_contact * { color: #fff; }
    .footer_link_contact .ttl { font-size: 1.6rem; font-weight: 700; }
.footer_link_contact .ttl span { border-bottom: 1px solid #fff; }
    .footer_link_contact .tel { font-size: 3.0rem; margin-top: 10px; font-weight: 400; }
    .footer_link_contact .time { font-size: 1.1rem; margin-top: 0; }
    
    .footer_function { background: #0058A2; background-image: linear-gradient(0deg, rgba(164, 224, 253, 1), rgba(234, 243, 255, 1)); display: flex; flex-wrap: wrap; flex-direction: column; padding: 100px 12% 35px; position: relative; }
    .footer_company { width: auto; margin: 76px 0 0; order: 2; }
    .footer_nav { width: auto; margin: 0; display: flex; justify-content: flex-start; order: 1; }
.footer_company * { color: #fff; color: #0058A2; }
    .footer_company .name { font-size: 1.6rem; font-weight: 700; }
    .footer_company address { font-size: 1.3rem; font-weight: 400; margin-top: 6px; }
    .footer_company .tel { font-size: 1.3rem; font-weight: 400; }
    
    .footer_nav_list { display: block; flex-grow: 2; }
    .footer_nav_item { margin-left: 0; }
	.footer_nav_item + .footer_nav_item { margin-left: 0; }
	.footer_nav_item .main > li { font-size: 1.5rem; color: #fff; color: #0058A2; font-weight: 700; margin-bottom: 20px; }
    .footer_nav_item .main > li.link_privacy { font-size: 1.1rem; font-weight: 400; margin-top: 15px; }
    .footer_nav_item .main > li + li { margin-top: 0; }
    .footer_nav_item .main > li ul { margin-top: 3px; }
    .footer_nav_item .main > li > ul { margin-top: 8px; }
    .footer_nav_item .main > li li { font-size: 1.05rem; font-weight: 400; color: #AFAFAF; color: #0058A2; }
    .footer_nav_item .main > li li li { font-size: 0.95rem; font-weight: 500; margin-left: 13px; }
    .footer_nav_item .main > li li + li { margin-top: 8px; }

    .footer_copyrights { width: 100%; padding: 0 ; margin-top: 80px; box-sizing: border-box; text-align: left; order: 3; }
.footer_copyrights p { font-size: 1.1rem; color: #fff; color: #0058A2; font-weight: 300; }
    
    .footer_nav_top { position: absolute; top: 50px; }
}

/*common*/
.page_ttl { position: relative; }
.page_ttl_ph { position: relative; padding-top: 90px; }
.page_ttl_ph img { width: 100%; /*height: 35.07vw;*/ height: 550px; object-fit: cover; }
.page_ttl_txt { position: absolute; left: 8.41%; top: calc(50% + 40px); -webkit-transform: translateY(-50%); transform: translateY(-50%); z-index: 2; }
.page_ttl_txt .font_en { font-size: 10.0rem; color: #fff; line-height: 1.0; font-weight: 400; }
body.error404 .page_ttl_txt .font_en { font-size: 5.0rem; }
.page_ttl_txt .ja { font-size: 2.0rem; color: #fff; }

.page_ttl_ph:before { content: "";  display: block; position: absolute; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.2); z-index: 1; }
.page_ttl_ph img { position: relative; z-index: 0; }

.page_ttl._noph { height: 390px; position: relative; }
.page_ttl._noph .font_en,
.page_ttl._noph .ja { color: #000; }

.page_common_head { width: 83.67%; margin: 100px auto 0; }
.page_common_ttl { font-size: 4.5rem; font-weight: 700; line-height: 1.0; }
.service_top .page_common_ttl { margin-top: 130px; }
.page_common_head + .top_service_list { margin-top: 100px; }

@media screen and (max-width: 1250px) {
    .page_ttl_ph { padding-top: 75px; }
}

@media screen and (max-width: 1024px) {
.page_ttl { position: relative; }
    .page_ttl_ph { padding-top: 0; }
    .page_ttl_ph img { width: 100%; height: 66.66vw; min-height: auto; max-height: 500px; object-fit: cover; }
    .page_ttl_txt { position: absolute; left: 6.67%; top: auto; bottom: 22px; -webkit-transform: translateY(0%); transform: translateY(0%); }
    .page_ttl_txt .font_en { font-size: 4.0rem; color: #fff; line-height: 1.2; }
    body.error404 .page_ttl_txt .font_en { font-size: 3.0rem; }
    .page_ttl_txt .ja { font-size: 1.0rem; color: #fff; }

    .page_ttl._noph { height: 200px; min-height: auto; position: relative; }
    .page_ttl._noph .font_en,
    .page_ttl._noph .ja { color: #000; }

    .page_common_head { width: 83.67%; margin: 50px auto 0; }
    .page_common_ttl { font-size: 2.2rem; font-weight: 700; line-height: 1.0; }
    .page_common_head + .top_service_list { margin-top: 50px; }
}

@media screen and (max-width: 767px) {
    .page_common_head { width: 86.66%; margin: 50px auto 0; }
    .page_common_head + .top_service_list { margin-top: 0; }
    
    .service_top .page_common_ttl { margin-top: 50px; }
}

/*about*/
.about_body,
.global_body { display: flex; justify-content: space-between; flex-direction: row-reverse; margin-left: 8.16%; position: relative; }
.about_main,
.global_main { width: 77.77%; margin-top: 150px; }

.local_nav { width: 20%; min-width: 250px; background: #fff; margin-top: -30px;  position: relative; z-index: 2; box-sizing: border-box; }
.local_nav ul { position: sticky; top: 100px; padding: 35px 0 0 15.27%; }
.local_nav ul ul { margin: 15px 0; padding: 0 0 0 9.18%; }
.local_nav a { font-size: 1.8rem; color: #888; }
.local_nav .current > a { color: #000; }
.local_nav ul ul a { font-size: 1.4rem; }
.local_nav ul li { margin: 0 0 7px;}
.local_nav ul ul li { margin: 5px 0;}

.about_main .page_common_ttl { margin: 70px 0;}
.about_item + .about_item { margin-top: 100px; }
.about_tb { width: 100%; }
.about_tb th, .about_tb td { padding: 50px 0 20px 0; font-size: 1.8rem; line-height: 1.66; border-bottom: 1px solid #D9D9D9; }
.about_tb th { width: 224px; font-weight: 500; }
.about_tb td .ico_map { line-height: 1; margin-right: 5px; display: inline-block; }
.about_tb td .link_txt { line-height: 1.2; }

.about_item._philosophy { width: 111.42%; margin: 100px 0 0 -11.42%; padding: 10px 0 100px 11.42%; /*background: linear-gradient(140.61deg, #A29069 0%, #282828 99.62%); */background-image: linear-gradient(90deg, rgba(65, 164, 253, 1), rgba(14, 244, 255, 1)); }
.about_item._philosophy .page_common_ttl,
.about_item._philosophy p { color: #fff; }
.about_philosophy { margin: 0 19.23%; margin: 40px 0 0 0; display: flex; flex-wrap: wrap;}
.about_philosophy * { color: #fff; }
.about_philosophy dt { font-size: 3.0rem; font-weight: 400; width: 15.18%; text-align: center; }
.about_philosophy dd { width: 70.00%; margin-bottom: 95px; }
.about_philosophy .philosophy_copy_l { font-size: 4.0rem; line-height: 1.37; }
.about_philosophy .philosophy_copy_s { font-size: 3.0rem; line-height: 1.37; margin-bottom: 15px; }
.about_philosophy p + .philosophy_copy_s { margin-top: 50px; }

.about_licence { display: flex; flex-wrap: wrap; margin-top: 65px; }
.about_licence .item { width: 19.51%; margin-right: 2.36%; text-align: center; }
.about_licence .img { display: inline-block; border: 1px solid #B2B2B2; }
.about_licence .caption { font-size: 1.6rem; }

.about_footer { margin-top: 200px; }

@media screen and (max-width: 1024px) {
    .local_nav { width: 20%; min-width: 170px; background: #fff; margin-top: -30px;  position: relative; z-index: 2; box-sizing: border-box; }
.local_nav ul { position: sticky; top: 100px; padding: 35px 0 0 15.27%; }
    .local_nav ul ul { margin: 10px 0; padding: 0 0 0 9.18%; }
    .local_nav a { font-size: 1.3rem; }
    .local_nav ul ul a { font-size: 1.1rem; }
    
    .about_main .page_common_ttl { margin: 70px 0 45px;}
    .about_tb th, .about_tb td { padding: 50px 0 20px 0; font-size: 1.4rem; line-height: 1.66; border-bottom: 1px solid #D9D9D9; }
    
    .about_philosophy dt { font-size: 1.8rem; width: 15.18%; }
    .about_philosophy .philosophy_copy_l { font-size: 2.6rem; line-height: 1.37; }
    .about_philosophy .philosophy_copy_s { font-size: 2.0rem; line-height: 1.37; margin-bottom: 15px; }
    
    .about_licence { display: flex; flex-wrap: wrap; margin-top: 35px; }
    .about_licence .caption { font-size: 1.1rem; }
    
}

@media screen and (max-width: 767px) {
    .about_body,
    .global_body { display: block; margin-left: 0; position: relative; }
    .about_main,
    .global_main { width: 86.66%; margin: 50px auto 0; }

    .local_nav { display: none; }

    .about_main .page_common_ttl { margin: 55px 0 24px;}
    .about_tb { border-top: 1px solid #D9D9D9; }
    .about_tb th, .about_tb td { padding: 20px 0; font-size: 1.3rem; line-height: 1.66; border-bottom: 1px solid #D9D9D9; }
    .about_tb th { width: 100px; }

    .about_item._philosophy { width: 115.39%; margin: 100px 0 0 -7.69%; padding: 1px 0 50px; /*background: linear-gradient(140.61deg, #A29069 0%, #282828 99.62%); */background-image: linear-gradient(90deg, rgba(65, 164, 253, 1), rgba(14, 244, 255, 1)); }
    .about_item._philosophy > .inner { width: 86.66%; margin: 0 auto; }
	.about_item._philosophy .page_common_ttl { color: #fff; }
    .about_philosophy { margin: 45px 0 0; display: flex; justify-content: space-between; flex-wrap: wrap;}
.about_philosophy * { color: #fff; }
    .about_philosophy dt { font-size: 1.4rem; width: 85px; }
    .about_philosophy dd { width: calc(100% - 85px); margin-bottom: 32px; }
    .about_philosophy .philosophy_copy_l { font-size: 2.0rem; line-height: 1.37; }
    .about_philosophy .philosophy_copy_s { font-size: 1.8rem; line-height: 1.37; margin-bottom: 15px; }
    .about_philosophy p + .philosophy_copy_s { margin-top: 24px; }

    .about_licence { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 0; }
    .about_licence .item { width: 47.69%; margin: 30px 0 0; text-align: center; }
.about_licence .img { display: inline-block; border: 1px solid #B2B2B2; }
    .about_licence .caption { display: block; font-size: 1.3rem; margin-top: 5px; }

.about_footer { margin-top: 200px; }
    
}



/*facilities*/
.facilities_body { /*margin-bottom: -150px; padding-bottom: 600px; */position:relative;}
/*.facilities_body::before { content: ""; position: absolute; left: 0; bottom: -10px; height: 1024px; width: 100%; margin: 0 auto; display:block; background: url(../img/servioce_fbg.png) no-repeat, center bottom; background-size: cover;}*/

.facilities_item { width: 83.67%; margin: 100px auto 0; }
#facilities .facilities_item { margin-top: 150px; }
.facilities_feature { display: flex; border-bottom: 1px solid #D9D9D9; padding: 50px 0; }
.facilities_feature:first-child { border-top: 1px solid #D9D9D9; margin-top: 65px; }
.facilities_feature .num { min-width: 64px; width: 64px; color: #A29069; font-size: 3.0rem; line-height: 1.7; }
.facilities_feature .txt { width: 39.02%; }
.facilities_feature .slide { width: 48.78%; margin-left: 7.31%; overflow: hidden; position: relative; }
.facilities_feature .ttl { font-size: 3.0rem; font-weight: 700; line-height: 1.5; margin-bottom: 20px; }

.facilities_list { display: flex; flex-wrap: wrap; }
.facilities_list_item { width: 21.95%; margin-left: 4.06%; margin-top: 65px; }
.facilities_list_item:nth-child(4n + 1) { margin-left: 0; }
.facilities_list_item .name { font-size: 1.6rem; font-weight: 700; line-height: 1.6; margin: 10px 0 5px; }
.facilities_list_item p { line-height: 1.7; }

.facilities_feature .slide .swiper-pagination { bottom: 18px; text-align: right; padding: 0 20px; box-sizing: border-box; }
.facilities_feature .slide .swiper-pagination-bullet { border: 1px solid #A29069; background: #fff; opacity: 1; }
.facilities_feature .slide .swiper-pagination-bullet-active { background: #A29069; }

.normal_tb { margin-top: 60px; width: 100%; }
.normal_tb th, .normal_tb td { font-size: 1.8rem; line-height: 1.66; padding: 10px 25px; border: 1px solid #D9D9D9; line-height: 1.6; background-color:#FFFFFF; }
.normal_tb th { background: #F5F5F5; }
/*.normal_tb th:last-child, .normal_tb td:last-child { text-align: center; }*/

.facilities_item .normal_tb td { width: 25%; }

@media screen and (max-width: 1024px) {
    .facilities_item { width: 86.66%; margin: 50px auto 0; }
    .facilities_feature:first-child { border-top: 1px solid #D9D9D9; margin-top: 40px; }
    .facilities_feature .num { min-width: 48px; width: 48px; color: #A29069; font-size: 2.0rem; line-height: 1.4; }
    .facilities_feature .ttl { font-size: 1.8rem; }
    
    .facilities_list_item { width: 21.95%; margin-left: 4.06%; margin-top: 35px; }
    .facilities_list_item .name { font-size: 1.1rem; }
    
    .normal_tb { margin-top: 30px; }
    .normal_tb th, .normal_tb td { font-size: 1.1rem; padding: 7px 18px; }
}

@media screen and (max-width: 767px) {
	.facilities_body {margin-bottom: 0px; /*padding-bottom: 200px;*/ }
	.facilities_body::before { height: 274px; bottom: -110px; }
    .facilities_item { width: 86.66%; margin: 95px auto 0; }
    .facilities_item:first-child { margin-top: 70px; }
#facilities .facilities_item { margin-top: 150px; }
    .facilities_feature { display: block; border-bottom: 1px solid #D9D9D9; padding: 20px 0 30px 36px; }
    .facilities_feature:first-child { border-top: 1px solid #D9D9D9; margin-top: 25px; }
    .facilities_feature .num { min-width: auto; width: 36px; color: #A29069; font-size: 1.2rem; line-height: 1.7; position: absolute; left: 0; }
    .facilities_feature .txt { width: 100%; }
    .facilities_feature .slide { width: 100%; margin-left: 0; margin-top: 20px; overflow: hidden; }
    .facilities_feature .ttl { font-size: 1.6rem; line-height: 1.5; margin-bottom: 20px; }

    .facilities_list { display: block; }
    .facilities_list_item { display: flex; justify-content: space-between; width: auto; margin-left: 0; margin-top: 35px; }
    .facilities_list_item .ph { width: 38.46%; }
    .facilities_list_item .txt { width: 57.23%; }
.facilities_list_item:nth-child(4n + 1) { margin-left: 0; }
    .facilities_list_item .name { font-size: 1.6rem; font-weight: 700; line-height: 1.6; margin: 0 0 5px; }
.facilities_list_item p { line-height: 1.7; }
    
    .facilities_feature .slide .swiper-pagination { bottom: 10px; text-align: right; padding: 0 12px; box-sizing: border-box; }

    .normal_tb { margin-top: 35px; }
    .normal_tb tr { display: flex; flex-direction: column; }
    .normal_tb th, .normal_tb td { font-size: 1.3rem; line-height: 1.66; padding: 10px 8px; border: 1px solid #D9D9D9; border-left: none; border-right: none; line-height: 1.6; background: rgba(255, 255, 255, 0.7); }
	.normal_tb th { background: #F5F5F5; }
	.normal_tb th:last-child, .normal_tb td:last-child { text-align: center; }
	.facilities_item .normal_tb td { width: 100%; text-align: left; }
}

/*works*/
.archive_page_works { margin: 200px 5.10% 0 8.16%; }
.archive_works_list { display: flex; flex-wrap: wrap; }

.archive_works_main { width: 82.35%; }
.archive_works_main .page_ttl { height: auto; }
.archive_works_main .page_ttl_txt { position: relative; -webkit-transform: translateY(0%); transform: translateY(0%); }
.archive_works_cat { width: 11.91%; min-width: 230px; position: absolute; right: 2.48%; top: 0; }

.archive_works_list a { width: 31.42%; margin-left: 2.87%; margin-top: 100px; }
.archive_works_listbox a { margin: 0; }
.archive_works_list a:nth-child(3n + 1) { margin-left: 0; }
.archive_works_list a .ph { padding-bottom: 66.66%; position: relative; }
.archive_works_list a .ph img { position: absolute; width: 100%; height: 100%; object-fit: cover; }

.archive_works_main .page_ttl_txt { left: 0; }
.archive_works_main .page_ttl_txt * { color: #000; } 

@media screen and (max-width: 1024px) {
    .archive_works_list a { width: 31.42%; margin-left: 2.87%; margin-top: 60px; }
    
    .archive_works_cat { width: 11.91%; min-width: 140px; position: absolute; right: 2.48%; top: 0; }
    
    .archive_works_listbox a { margin-top: 0; }
    
}

@media screen and (max-width: 767px) {
    .archive_page_works { display: block; justify-content: space-between; flex-direction: row-reverse; margin: 124px 6.66% 0; }
    .archive_works_list { display: block; flex-wrap: wrap; justify-content: space-between; }

    .archive_works_main { width: auto; }
    .archive_works_cat { width: auto; min-width: 160px; margin-left: 0; position: relative; right: 0; top: 0; }
    .archive_works_cat ul { display: flex; flex-wrap: wrap; }
    .archive_works_cat ul li { margin-right: 10px; }

    .archive_works_list a { display: block; width: auto; margin-left: 0; margin-top: 60px; }
    .archive_works_listbox a { margin-top: 0; }
.archive_works_list a:nth-child(3n + 1) { margin-left: 0; }

.archive_works_main .page_ttl_txt { left: 0; }
.archive_works_main .page_ttl_txt * { color: #000; } 
    
}

/*works single*/
.works_single_ttl { position: relative; }
.works_single_ttl .font_en { font-size: 2.0rem; }
.works_single_ttl .ttl { font-size: 4.0rem; line-height: 1.5; }

.works_single_body { display: flex; flex-direction: row-reverse; justify-content: space-between; margin-top: 70px; }
.works_single_body .txt { width: 43.03%; }
.works_single_body .slide { width: 48.57%; }
.works_single_body .slide_main { overflow: hidden; }
.works_single_body .slide_main .swiper-slide { padding-bottom: 66.66%; }
.works_single_body .slide_main img { width: 100%; height: 100%; position: absolute; top: 0; left: 0; object-fit: contain; }
.works_single_body .slide_nav { margin-top: 25px; }
.works_single_body .slide_nav .swiper-wrapper { flex-wrap: wrap; }
.works_single_body .slide_nav .swiper-slide { width: calc(20% - 1px)!important; margin-bottom: 1px; }
.works_single_body .slide_nav .swiper-slide > div { padding-bottom: 100%; position: relative; }
.works_single_body .slide_nav .swiper-slide > div img { width: 100%; height: 100%; position: absolute; object-fit: cover; }

.works_single_body .data { display: flex; flex-wrap: wrap; margin-bottom: 50px; border-top: 1px solid #D9D9D9; }
.works_single_body .data dt, .works_single_body .data dd { font-size: 1.8rem; line-height: 1.5; border-bottom: 1px solid #D9D9D9; padding: 20px 0; }
.works_single_body .data dt { width: 8em; }
.works_single_body .data dd { width: calc(100% - 8em); }

.single_works_recommend > .ttl { font-size: 1.8rem; text-align: center; margin: 160px 0 40px; }
.single_works_recommend .archive_works_list .ph { padding-bottom: 66.66%; position: relative; }
.single_works_recommend .archive_works_list .ph img { width: 100%; height: 100%; position: absolute; object-fit: cover; }

@media screen and (max-width: 1024px) {
    .works_single_ttl .font_en { font-size: 1.2rem; }
    .works_single_ttl .ttl { font-size: 2.6rem; line-height: 1.5; }
    
    .works_single_body .data dt, .works_single_body .data dd { font-size: 1.1rem; line-height: 1.5; border-bottom: 1px solid #D9D9D9; padding: 12px 0; }
 
}

@media screen and (max-width: 767px) {
.works_single_ttl { position: relative; }
    .works_single_ttl .font_en { font-size: 1.4rem; }
    .works_single_ttl .ttl { font-size: 2.2rem; line-height: 1.5; }
    
    .aingle_works_cat { display: none; }

    .works_single_body { display: block; flex-direction: row-reverse; justify-content: space-between; margin-top: 45px; }
    .works_single_body .txt { width: auto; margin-top: 30px; }
    .works_single_body .slide { width: auto; }
.works_single_body .slide_main { overflow: hidden; }
    .works_single_body .slide_nav { margin-top: 6px; }
    
    .works_single_body .data { display: flex; flex-wrap: wrap; margin-bottom: 15px; border-top: 1px solid #D9D9D9; }
    .works_single_body .data dt, .works_single_body .data dd { font-size: 1.3rem; line-height: 1.5; border-bottom: 1px solid #D9D9D9; padding: 15px 0; }

    .single_works_recommend > .ttl { font-size: 1.6rem; text-align: left; margin: 90px 0 25px; }
    
    .archive_works_listbox { width: 71.74%; }
    
}

/*global*/
.global_item + .global_item { margin-top: 150px; }
.global_map { margin-left: 7.76%; width: 92.24%; }
.global_map { width: 100%; }

.global_business { display: flex; justify-content: space-between; flex-wrap: wrap; margin-top: 40px; }
.global_business_item { width: 48.57%; margin-bottom: 50px; } 
.global_business .name { font-size: 2.5rem; font-weight: 700; margin: 10px 0 2px; }

.global_branch_item { margin: 60px 0 120px; }
.global_branch .ttl { margin-bottom: 30px; }
.global_branch_item .ttl .font_en { font-size: 6.0rem; color: #A29069; }
.global_branch_item .ttl .ja { font-size: 1.6rem; padding-left: 11px; }
.global_branch .body .ph,
.global_branch .body .txt {/* display: flex; justify-content: space-between;*/ }
.global_branch .main { width: 60%; display: block; float: left; }
.global_branch .sub { width: 38.83%; float: right; }
.global_branch .wide { padding-bottom: 40%; position: relative; border: 1px solid #d9d9d9; box-sizing: border-box; }
.global_branch .wide img { max-width: 60%; max-height: 80%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
.global_branch .ph { margin-bottom: 40px; }
.global_branch .ph .sub._logo { position: relative; border: 1px solid #D9D9D9; box-sizing: border-box; }
.global_branch .ph .sub._logo img { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
.global_branch .ph .sub._logo._kagoshima img { width: 52.87%; }
.global_branch .ph .sub._logo._nagano img { width: 58.39%; }
.global_branch .main .name { font-size: 2.4rem; font-weight: 700; }
.global_branch .main .meta { font-size: 1.6rem; line-height: 1.6; margin-top: 20px; padding-left: 31px; }
.global_branch .main .meta .ico { display: inline-block; width: 16px; position: absolute; left: 0; text-align: center; }
.global_branch .main .meta .ico img { vertical-align: middle; }

.global_client { margin-top: 80px; display: flex; flex-wrap: wrap; justify-content: space-between; }
.global_client_item { width: 31.42%; margin-bottom: 55px; text-align: center; }
.global_client_item .logo { border: 1px solid #D9D9D9; position: relative; }
.global_client_item .name { font-size: 1.6rem; margin-top: 12px; line-height: 1.5; }

@media screen and (max-width: 1024px) {
    .global_item + .global_item { margin-top: 100px; }
    
    .global_business .name { font-size: 1.6rem; margin: 10px 0 2px; }
    
    .global_branch_item { margin: 30px 0 60px; }
    .global_branch .ttl { margin-bottom: 15px; }
    .global_branch_item .ttl .font_en { font-size: 3.7rem; color: #A29069; }
    .global_branch_item .ttl .ja { font-size: 1.0rem; padding-left: 11px; }
    .global_branch .ph { margin-bottom: 20px; }
    .global_branch .main .name { font-size: 1.6rem; }
    .global_branch .main .meta { font-size: 1.1rem; margin-top: 12px; }
    
    .global_client { margin-top: 40px; display: flex; flex-wrap: wrap; justify-content: space-between; }
    .global_client_item { width: 31.42%; margin-bottom: 35px; text-align: center; }
    .global_client_item .name { font-size: 1.1rem; margin-top: 6px; line-height: 1.5; }
}

@media screen and (max-width: 767px) {
    .global_item + .global_item { margin-top: 100px; }
    .global_map { width: 115.39%; margin-left: -7.69%; }
    .global_map img { width: 100%;}

    .global_business { display: block; margin-top: 0; }
    .global_business_item { width: auto; margin-top: 40px; } 
    .global_business .name { font-size: 1.8rem; margin: 10px 0 2px; }

    .global_branch_item { margin: 40px 0 50px; }
    .global_branch .ttl { margin-bottom: 12px; }
    .global_branch_item .ttl .font_en { font-size: 3.0rem; color: #A29069; }
.global_branch_item .ttl .ja { font-size: 1.6rem; padding-left: 11px; }
    .global_branch .body .txt { display: block; justify-content: space-between; }
    .global_branch .txt .main { width: auto; }
    .global_branch .txt .sub { width: 100%; margin-top: 20px; }
    .global_branch .ph { margin-bottom: 10px; }
.global_branch .ph .sub._logo { position: relative; border: 1px solid #D9D9D9; box-sizing: border-box; }
.global_branch .ph .sub._logo img { position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }
.global_branch .ph .sub._logo._kagoshima img { width: 52.87%; }
.global_branch .ph .sub._logo._nagano img { width: 58.39%; }
    .global_branch .main .name { font-size: 1.8rem; font-weight: 700; }
    .global_branch .main .meta { font-size: 1.3rem; line-height: 1.6; margin-top: 12px; padding-left: 31px; }
.global_branch .main .meta .ico { display: inline-block; width: 16px; position: absolute; left: 0; text-align: center; }
.global_branch .main .meta .ico img { vertical-align: middle; }

    .global_client { margin-top: 60px; display: block; }
    .global_client_item { width: auto; margin-bottom: 35px; text-align: center; }
.global_client_item .logo { border: 1px solid #D9D9D9; position: relative; }
    .global_client_item .name { font-size: 1.3rem; margin-top: 12px; line-height: 1.5; }
    
}


/*service*/
.service_ttl { width: 83.67%; margin: 0 auto; padding-top: 228px; display: flex; justify-content: space-between; }
.service_ttl_txt { width: 43.75%; }
.service_ttl_ph { width: 48.62%; }

.service_ttl_txt .font_en { font-size: 2.0rem; color: #A29069; }
.service_ttl_txt .ja { font-size: 5.0rem; font-weight: 700; line-height: 1.5; margin: 15px 0 30px; }

.service_common { width: 83.67%; margin: 130px auto 0; }
.service_works { margin: 120px 0 0 8.16%; }
.service_common_ttl { font-size: 4.5rem; font-weight: 700; line-height: 1.5; }

.service_feature { margin-top: 60px; }
.service_feature_item { display: flex; padding: 42px 0; border-bottom: 1px solid #D9D9D9; }
.service_feature_item:first-child { border-top: 1px solid #D9D9D9; }
.service_feature_item .num { width: 4.87%; font-size: 3.0rem; color: #A29069; }
.service_feature_item .ttl { width: 46.49%; font-size: 3.0rem; font-weight: 700; line-height: 1.5; }
.service_feature_item .read { width: 48.64%; }
.service_works .link_more { margin: 70px 8.60% 0 0; }

@media screen and (max-width: 1024px) {
    .service_ttl { width: 91.66%; margin: 0 auto; padding-top: 120px; display: flex; justify-content: space-between; }

    .service_ttl_txt .font_en { font-size: 1.2rem; color: #A29069; }
    .service_ttl_txt .ja { font-size: 2.6rem; font-weight: 700; line-height: 1.5; margin: 0px 0 10px; }
    .service_ttl_txt .read { font-size: 1.1rem; }
    
    .service_common { width: 91.66%; margin: 50px auto 0; }
    .service_works { margin:50px 0 0 4.17%; }
    .service_common_ttl { font-size: 2.5rem; font-weight: 700; line-height: 1.5; }

    .service_feature { margin-top: 15px; }
    .service_feature_item { display: flex; padding: 22px 0; border-bottom: 1px solid #D9D9D9; }
.service_feature_item:first-child { border-top: 1px solid #D9D9D9; }
    .service_feature_item .num { width: 4.87%; font-size: 2.0rem; color: #A29069; }
    .service_feature_item .ttl { width: 46.49%; font-size: 1.8rem; font-weight: 700; line-height: 1.5; }
    .service_feature_item .read { width: 48.64%; }
    .service_feature_item .read p { font-size: 1.1rem; }
.service_works .link_more { margin: 70px 8.60% 0 0; }
}

@media screen and (max-width: 767px) {
    .service_ttl { width: 86.66%; margin: 0 auto; padding-top: 120px; display: block; justify-content: space-between; }
    .service_ttl_txt { width: auto; }
    .service_ttl_ph { width: 115.40%; margin: 25px 0 0 -7.7%; }

    .service_ttl_txt .font_en { font-size: 1.4rem; color: #A29069; }
    .service_ttl_txt .ja { font-size: 3.0rem; font-weight: 700; line-height: 1.5; margin: 0px 0 10px; }
    .service_ttl_txt .read { font-size: 1.4rem; }

    .service_common { width: 86.66%; margin: 50px auto 0; }
    .service_works { margin:50px 0 0 6.66%; }
    .service_common_ttl { font-size: 2.2rem; font-weight: 700; line-height: 1.5; }

    .service_feature { margin-top: 25px; }
    .service_feature_item { display: block; padding: 22px 0; border-bottom: 1px solid #D9D9D9; }
.service_feature_item:first-child { border-top: 1px solid #D9D9D9; }
    .service_feature_item .num { width: auto; position: absolute; left: 0; font-size: 1.2rem; color: #A29069; line-height: 26px; }
    .service_feature_item .ttl { width: auto; margin-left: 36px; font-size: 1.6rem; font-weight: 700; line-height: 1.5; }
    .service_feature_item .read { width: auto; margin: 10px 0 0 36px; }
    .service_feature_item .read p { font-size: 1.3rem; }
    .service_works .link_more { margin: 30px 8.60% 0 0; }
    
}

/* Google Mapを囲う要素 */
.googlemap {
  position: relative;
  width: 100%;
  height: 0;
  margin-top: 16px;
  padding-top: 52.08%; /* 比率を4:3に固定 */
    border-radius: 5px;
    overflow: hidden; 
}
 
/* Google Mapのiframe */
.googlemap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*news*/
.archive_news { min-width: 550px; width: 59.18%; margin: 0 auto 0; }
.archive_news_catlist { display: flex; justify-content: flex-end; margin-bottom: 45px; }
.archive_news_catlist li { font-size: 1.2rem; margin-left: 30px; }

.page_nav { font-size: 1.6rem; display: flex; align-items: center; justify-content: space-between; margin-top: 100px; }
.page_nav .prev { width: 150px; }
.page_nav .prev a { width: 150px; display: flex; align-items: center; justify-content: flex-start; }
.page_nav .prev a .ico { margin-right: 10px; transform: scale(-1, 1);  }
.page_nav .index { text-align: center; flex-grow: 2;}
.page_nav .next { width: 150px; }
.page_nav .next a { width: 150px; display: flex; align-items: center; justify-content: flex-end; }
.page_nav .next a .ico { margin-left: 10px; }

@media screen and (max-width: 1024px) {
    .page_nav { font-size: 1.1rem; display: flex; align-items: center; justify-content: space-between; margin-top: 100px; }

    .page_nav .prev a .ico { width: 19px; margin-right: 7px; transform: scale(-1, 1);  }
    .page_nav .next a .ico { width: 19px; margin-left: 7px; }
}

@media screen and (max-width: 767px) {
    .archive_news { min-width: auto; width: 86.66%; margin: 0 auto 0; }
    .archive_news_catlist { display: flex; justify-content: flex-start; margin-bottom: 55px; }
    .archive_news_catlist li { font-size: 1.2rem; margin: 0 20px 0 0; }

    .page_nav { font-size: 1.3rem; display: flex; align-items: center; justify-content: space-between; margin-top: 55px; }
    .page_nav .prev { width: 28px; }
    .page_nav .prev a { width: 28px; display: flex; align-items: center; justify-content: flex-start; }
    .page_nav .prev a .ico { width: 28px; margin-right: 0; transform: scale(-1, 1);  }
.page_nav .index { text-align: center; flex-grow: 2;}
    .page_nav .next { width: 28px; }
    .page_nav .next a { width: 28px; display: flex; align-items: center; justify-content: flex-end; }
    .page_nav .next a .ico { width: 28px; margin-left: 0; }
    .page_nav .prev .link_txt,
    .page_nav .next .link_txt { display: none; }
}

/*news single*/
.single_news { min-width: 550px; width: 59.18%; margin: 200px auto 0; }
.single_news_hd { font-size: 2.0rem; line-height: 1.5; }
.single_news_meta { display: flex; align-items: center; }
.single_news_meta .date { font-size: 1.4rem; margin-right: 16px; font-weight: 700; }
.single_news_meta .cat { font-size: 1.4rem; margin-right: 16px; }
.single_news_ttl { font-size: 4.0rem; font-weight: 700; line-height: 1.5; margin: 15px 0 20px;  }
.single_news .edit { padding:  75px 0 50px; margin: 65px 0 100px; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; }
.single_news .edit h1,
.single_news .edit h2,
.single_news .edit h3,
.single_news .edit h4,
.single_news .edit h5,
.single_news .edit h6 { font-size: 2.0rem; margin-top: 56px; }
.single_news .edit h1 + *,
.single_news .edit h2 + *,
.single_news .edit h3 + *,
.single_news .edit h4 + *,
.single_news .edit h5 + *,
.single_news .edit h6 + * { margin-top: 25px; }
.single_news .edit > * + * { margin-top: 2em; }

.single_news .edit ul li { font-size: 1.6rem; list-style-type: disc; }
.single_news .edit ol li { font-size: 1.6rem; list-style-type: decimal; }
.single_news .edit ul,
.single_news .edit ol { padding-left: 2em; }

@media screen and (max-width: 1024px) {
    .single_news_hd { font-size: 1.4rem; line-height: 1.5; }
    .single_news_meta .date { font-size: 1.2rem; margin-right: 16px; font-weight: 700; }
    .single_news_meta .cat { font-size: 1.2rem; margin-right: 16px; }
    .single_news_ttl { font-size: 2.8rem; font-weight: 700; line-height: 1.5; margin: 8px 0 12px;  }
}

@media screen and (max-width: 767px) {
    .single_news { min-width: auto; width: 86.66%; margin: 124px auto 0; }
    .single_news_hd { font-size: 1.4rem; }
.single_news_meta { display: flex; align-items: center; }
.single_news_meta .date { font-size: 1.4rem; margin-right: 16px; font-weight: 700; }
.single_news_meta .cat { font-size: 1.4rem; margin-right: 16px; }
    .single_news_ttl { font-size: 2.2rem; font-weight: 700; line-height: 1.5; margin: 2px 0 10px;  }
.single_news .edit { padding: 0; margin: 25px 0 35px; border: none; }
.single_news .edit h1,
.single_news .edit h2,
.single_news .edit h3,
.single_news .edit h4,
.single_news .edit h5,
.single_news .edit h6 { font-size: 2.0rem; margin-top: 56px; }
.single_news .edit h1 + *,
.single_news .edit h2 + *,
.single_news .edit h3 + *,
.single_news .edit h4 + *,
.single_news .edit h5 + *,
.single_news .edit h6 + * { margin-top: 25px; }
.single_news .edit * + * { margin-top: 2em; }
}
/*250610_エル栗原追記*/
.single_news .youtube-responsive{
  position: relative;
  width: 100%;
    aspect-ratio: 16 / 9;
}
.single_news .youtube-responsive iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*case*/
.archive_case { min-width: 816px; width: 69.38%; margin: 162px 0 0 18.43%; }
.archive_case_list { display: flex; flex-wrap: wrap; justify-content: space-between; }
.archive_case_list .case_item { width: 29.41%; margin-bottom: 100px; }

@media screen and (max-width: 1024px) {
    .archive_case { min-width: auto; width: auto; margin: 162px 6.66% 0; }
    .archive_case_list .case_item { width: 47.05%; margin-bottom: 100px; }
}

@media screen and (max-width: 767px) {
    .archive_case { min-width: auto; width: auto; margin: 92px 6.66% 0; }
    .archive_case_list .case_item { width: 100%; margin-bottom: 50px; }
}


/*case single*/
.single_case { min-width: 767px; width: 69.38%; margin: 118px 0 0 18.43%; padding-top: 47px; border-top: 1px solid 
#626172; }
.single_case_meta .cat { font-size: 1.2rem; padding: 10px 12px; background: #B7282E;  margin-right: 16px; line-height: 1.2; border-radius: 5px; }
.single_case_ttl { font-size: 4.5rem; font-weight: 500; line-height: 1.44; margin: 23px 0 63px;  }
.single_case_body { display: flex; justify-content: space-between; }
.single_case_client { width: 20.40%; }
.single_case_edit { width: 66.91%; }
.single_case_client .ph { display: block; padding-bottom: 66.25%; margin-bottom: 13px; border-radius: 10px; overflow: hidden; position: relative; }
.single_case_client .ph img { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); object-fit: cover; }
.single_case_client .name span { font-size: 1.3rem; display: block; }
.single_case_edit h1,
.single_case_edit h2,
.single_case_edit h3,
.single_case_edit h4,
.single_case_edit h5,
.single_case_edit h6 { font-size: 2.0rem; }
.single_case_edit h1 + *,
.single_case_edit h2 + *,
.single_case_edit h3 + *,
.single_case_edit h4 + *,
.single_case_edit h5 + *,
.single_case_edit h6 + * { margin-top: 25px; }
.single_case_edit * + h1,
.single_case_edit * + h2,
.single_case_edit * + h3,
.single_case_edit * + h4,
.single_case_edit * + h5,
.single_case_edit * + h6 { margin-top: 25px; }
.single_case_edit * + * { margin-top: 2em; }

.single_case_recommend_ttl { font-size: 2.0rem; padding-top: 81px; margin: 69px 0 50px; border-top: 1px solid 
#626172; }
.single_case_recommend .case_item  { min-width: 35.29%; padding-right: 5.88%; box-sizing: border-box; }

@media screen and (max-width: 1024px) {
    .single_case { min-width: auto; width: 86.66%; margin: 118px auto 0; padding-top: 47px; border-top: 1px solid 
#626172; }
}

@media screen and (max-width: 767px) {
    .single_case { min-width: auto; width: auto; margin: 90px auto 0; padding: 21px 6.66% 0; border-top: 1px solid 
#626172; }
    .single_case_meta .cat { font-size: 1.0rem; padding: 8px 10px; background: #B7282E;  margin-right: 10px; line-height: 1.2; border-radius: 5px; }
    .single_case_ttl { font-size: 2.0rem; font-weight: 500; line-height: 1.44; margin: 13px 0 21px;  }
    .single_case_body { display: block; justify-content: space-between; }
    .single_case_client { width: auto; }
    .single_case_client .name { display: flex; flex-wrap: wrap; }
    .single_case_client .name span { font-size: 1.1rem; display: block; line-height: 1.2; }
    .single_case_client .name span + span { border-left: 1px solid #fff; padding-left: 20px; margin-left: 20px; }
    .single_case_edit { width: auto; margin-top: 38px; }
    .single_case_client .ph { display: block; padding-bottom: 66.25%; margin-bottom: 21px; border-radius: 10px; overflow: hidden; position: relative; }
.single_case_client .ph img { width: 100%; height: 100%; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); object-fit: cover; }
    .single_case_edit h1,
    .single_case_edit h2,
    .single_case_edit h3,
    .single_case_edit h4,
    .single_case_edit h5,
    .single_case_edit h6 { font-size: 1.6rem; }
    .single_case_edit h1 + *,
    .single_case_edit h2 + *,
    .single_case_edit h3 + *,
    .single_case_edit h4 + *,
    .single_case_edit h5 + *,
    .single_case_edit h6 + * { margin-top: 19px; }
    .single_case_edit * + h1,
    .single_case_edit * + h2,
    .single_case_edit * + h3,
    .single_case_edit * + h4,
    .single_case_edit * + h5,
    .single_case_edit * + h6 { margin-top: 19px; }
    .single_case_edit * + * { margin-top: 2em; }
}

/*know*/
body.page-id-92 { background: #8BCE8F; }
.know_head > .inner { width: 86.22%; margin-left: 4.4%; display: flex; padding-top: 140px; }
.know_head_ttl { width: 39.79%; margin-top: 7%; }
.know_head_img { width: 60.21%; }

.know_nav { width: 290px; position: sticky; left: 0; top: 100vh; z-index: 10; -webkit-transform: translateY(calc(-100% - 45px)); transform: translateY(calc(-100% - 45px)); }
.know_nav > .inner { padding: 24px 48px 48px 30px; padding: 12px 24px 24px 15px; border: 2px solid #000; box-sizing: border-box; border-left: none; background: #fff; border-radius: 0 30px 30px 0; }
.know_nav .hd { color: #A29069; font-size: 1.2rem; font-weight: 700; }
.know_local_nav li { font-size: 1.2rem; font-weight: 700; line-height: 1.5; margin-top: 10px; }
.know_local_nav .num { font-size: 1.2rem; color: #888; display: inline-block; margin-right: 5px;}
.know_local_nav .current { color: #8BCE8F; }

.know_body { margin-top: -264px; }
.know_item { margin-left: 24.49%; margin-bottom: 134px; }
.know_item_head .fukidashi,
.know_item05_head .fukidashi { width: 230px; height: 73px; font-size: 1.3rem; font-weight: 700; text-align: left; padding-top: 20px; box-sizing: border-box; }
.know_item05_head .fukidashi { margin: 0 auto; }
.know_item_ttl { display: flex; flex-wrap: wrap; }
.know_item_ttl .num { width: 27px; font-size: 2.0rem; color: #888; }
.know_item_ttl .ttl { font-size: 5.0rem; font-weight: 700; line-height: 1; margin-bottom: 20px; -webkit-text-stroke: 5px #ffffff; text-stroke: 5px #ffffff; paint-order: stroke; }
.know_item_ttl .read { font-size: 1.4rem; font-size: 1.6rem; font-weight: 500; line-height: 2; text-align: right; flex-grow: 2; margin-right: 7.68%; margin-bottom: 20px; }
.know_slide .swiper-slide img { border-radius: 30px 0 0 30px; }

.know_slide,
.know_movie { margin-top: 0; position: relative; }
.know_slide_movie { border-radius: 30px 0 0 30px; overflow: hidden; line-height: 0; }
.know_slide_caption { position: absolute; bottom: -34px; z-index: 2; display: flex; align-items: flex-end; }
.know_slide_caption .face { position: relative; z-index: 2; }
.know_slide_caption._caption01 { right: 8.69%; }
.know_slide_caption._caption02 { flex-direction: row-reverse; left: 2.7%; }
.know_slide_caption._caption03 { right: 8.69%; }
.know_slide_caption._caption04 { flex-direction: row-reverse; left: 2.7%; }
.know_slide_caption._caption01 .fukidashi { font-size: 1.6rem; line-height: 1.75; width: 382px; height: 120px; box-sizing: border-box; padding: 30px 0 0 36px; background: url("../img/know_item01_fukidashi.svg") no-repeat center / contain; }
.know_slide_caption._caption02 .fukidashi { font-size: 1.6rem; line-height: 1.75; width: 593px; height: 167px; box-sizing: border-box; padding: 30px 0 0 78px; background: url("../img/know_item02_fukidashi.svg") no-repeat center / contain; }
.know_slide_caption._caption03 .fukidashi { font-size: 1.6rem; line-height: 1.75; width: 650px; height: 169px; box-sizing: border-box; padding: 30px 67px 0 36px; background: url("../img/know_item03_fukidashi.svg") no-repeat center / contain; }
.know_slide_caption._caption04 .fukidashi { font-size: 1.6rem; line-height: 1.75; width: 593px; height: 167px; box-sizing: border-box; padding: 30px 0 0 78px; margin-left: -50px; background: url("../img/know_item02_fukidashi.svg") no-repeat center / contain; }

.know_slide .swiper-pagination { position: absolute; bottom: 20px; padding-right: 18px; text-align: right; box-sizing: border-box; }
.know_slide .swiper-pagination-bullet { opacity: 1!important; border: 1px solid #A29069; background: #fff; }
.know_slide .swiper-pagination-bullet-active { background: #A29069; }

.know_servicelist_box { width: 132.43%; margin: 95px 0 0 -32.43%; overflow: hidden; }
.know_servicelist { width: 148.97%; margin-left: -24.48%; }
.know_servicelist .swiper-slide { width: 30.67vw; padding: 0 2.04vw; box-sizing: border-box; }
.know_servicelist_ph { position: relative; }
.know_servicelist_ph .thumb { position: relative; border-radius: 15px; overflow: hidden; }
.know_servicelist_ph .thumb:after { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; z-index: 2; background: rgba(0,0,0,0.3); -webkit-transition: background 1.0s cubic-bezier(.16,1,.3,1); transition: background 1.0s cubic-bezier(.16,1,.3,1); }

.know_servicelist .num { line-height: 0; display: block; position: absolute; right: 18px; top: 18px; z-index: 3; }
.know_servicelist .ttl { width: 100%; padding: 0 20px; box-sizing: border-box; text-align: center; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); z-index: 4; font-size:1.6rem; color: #fff; font-weight: 700; line-height: 1.5; }
.know_servicelist_caption { display: flex; align-items: center; margin-top: 22px; }
.know_servicelist_caption .face { min-width: 50px; margin: 0 7.45% 0 9.13%; }
.know_servicelist_caption .copy { font-size: 1.4rem; line-height: 1.5;}

.know_item05_head { position: relative; /*padding-bottom: 90px;*/ }
/*.know_item05_head .know_item_ttl { flex-wrap: wrap; justify-content: center; }*/
.know_item05_head .read { font-size: 1.6rem; font-weight: 700; /*width: 100%;*/ text-align: left; margin: 59px 0 0; line-height: 2; margin-right: 7.68%; }
.know_item05_ph { position: relative; }
.know_body video { width: 100%; }
.know_item05_ph .copy { width: 638px; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }

.know_item05_img01 { width: 183px; position: absolute; left: calc(50% - 270px); top: 0; -webkit-transform: translateX(-100%); transform: translateX(-100%); }
.know_item05_img02 { width: 300px; position: absolute; left: calc(50% + 270px); bottom: -50px; z-index: 2; }

.know_footer { width: 75.51%; margin: 79px auto; display: flex; justify-content: space-between; }
.know_footer_item { width: 45.94%; position: relative; }
.know_footer_item .txt { position: absolute; top: 50%; width: 100%; text-align: center; -webkit-transform: translateY(-50%); transform: translateY(-50%); z-index: 2; }
.know_footer_item .ph img { border-radius: 15px; }
.know_footer_item .ja { font-size: 3.0rem; color: #fff; }
.know_footer_item .en { font-size: 2.0rem; color: #fff; }
/*.know_footer_item .en span { border-bottom: 1px solid #fff; line-height: 1; }*/

@media screen and (max-width: 1200px) {
    .know_nav { width: 240px; position: sticky; left: 0; top: 100vh; z-index: 10; -webkit-transform: translateY(calc(-100% - 45px)); transform: translateY(calc(-100% - 45px)); }
    .know_nav > .inner { padding: 18px 36px 36px 18px; border: 2px solid #000; box-sizing: border-box; border-left: none; background: #fff; border-radius: 0 24px 24px 0; }
    .know_local_nav li { font-size: 1.4rem; font-weight: 700; line-height: 1.5; margin-top: 10px; }
}

@media screen and (max-width: 1024px) {
.know_head > .inner { width: auto; margin-left: 4.4%; display: flex; padding-top: 140px; }
.know_head_ttl { width: 39.79%; margin-top: 7%; }
.know_head_img { width: 60.21%; }
    
    .know_nav { width: 290px; margin-top: -20vw; position: relative; left: 0; top: auto; z-index: 10; -webkit-transform: translateY(0); transform: translateY(0); }
.know_nav > .inner { padding: 24px 48px 48px 30px; border: 2px solid #000; box-sizing: border-box; border-left: none; background: #fff; border-radius: 0 30px 30px 0; }
.know_nav .hd { color: #A29069; font-size: 1.2rem; }
.know_local_nav li { font-size: 1.6rem; font-weight: 700; line-height: 1.5; margin-top: 10px; }
.know_local_nav .num { font-size: 1.2rem; color: #888; display: inline-block; margin-right: 5px;}
.know_local_nav .current { color: #8BCE8F; }

    .know_body { margin-top: 0; }
    .know_item { margin: 30px 0 0; }
    .know_item_head { width: 86.66%; margin: 0 auto; }
.know_item_head .fukidashi,
    .know_item05_head .fukidashi { width: 157px; height: 38px; font-size: 1.0rem; font-weight: 700; text-align: left; margin-bottom: 7px; padding-top: 14px; box-sizing: border-box; }
    .know_item05_head .fukidashi { margin: 0; }
    .know_item_ttl { display: flex; }
.know_item_ttl .num { font-size: 2.0rem; color: #fff; }
.know_item_ttl .ttl { font-size: 5.0rem; line-height: 1; margin-bottom: 20px; }
    .know_item_ttl .read { width: 100%; font-size: 1.6rem; font-weight: 700; line-height: 1.625; text-align: left; flex-grow: 2; margin-right: 7.68%; margin: 0 0 35px 27px; }
    .know_slide .swiper-slide img { border-radius: 0; }

.know_slide,
.know_movie { margin-top: 0; position: relative; }
    .know_slide_movie { border-radius: 0; overflow: hidden; line-height: 0; }
    .know_slide_caption { position: relative; bottom: 0; z-index: 2; display: flex; flex-direction: column!important; }
.know_slide_caption .face { position: relative; z-index: 2; }
    .know_slide_caption._caption01,
    .know_slide_caption._caption02,
    .know_slide_caption._caption03,
    .know_slide_caption._caption04 { max-width: 424px; width: 86.66%; margin: -20px auto 0; right: auto; }
    .know_slide_caption._caption02 { left: auto; align-items: flex-start; }
    .know_slide_caption._caption03 { right: auto; }
    .know_slide_caption._caption04 { left: auto; align-items: flex-start; }
    .know_slide_caption._caption01 .face { width: 104px; margin-top: -25px; }
    .know_slide_caption._caption02 .face { width: 98px; margin-top: -15px; }
    .know_slide_caption._caption03 .face { width: 98px; margin-top: -25px; }
    .know_slide_caption._caption04 .face { width: 114px; margin-top: -15px; }
    .know_slide_caption._caption01 .fukidashi,
    .know_slide_caption._caption02 .fukidashi,
    .know_slide_caption._caption03 .fukidashi,
    .know_slide_caption._caption04 .fukidashi { font-size: 1.2rem; line-height: 1.75; height: auto; box-sizing: border-box; width: 100%; padding: 19px 21px; background: #fff!important; border: 2px solid #000; border-radius: 10px; position: relative; }
    .know_slide_caption._caption04 .fukidashi { margin-left: 0; }
    .know_slide_caption .fukidashi:after { content: ""; display: block; width: 34px; height: 18px; position: absolute; bottom: 0; left: 50%; -webkit-transform: translateY(100%); transform: translateY(100%); }
    .know_item:nth-child(2n + 1) .know_slide_caption .fukidashi:after { background: url("../img/know_fukidashi%40sp.png") no-repeat center / contain; }
    .know_item:nth-child(2n) .know_slide_caption .fukidashi:after { background: url("../img/know_fukidashi02%40sp.png") no-repeat center / contain; }
    
    .know_slide .swiper-pagination { position: absolute; bottom: auto; top: 55vw!important; padding-right: 0; text-align: center; box-sizing: border-box; }
.know_slide .swiper-pagination-bullet { opacity: 1!important; border: 1px solid #A29069; background: #fff; }
.know_slide .swiper-pagination-bullet-active { background: #A29069; }

    .know_servicelist_box { width: 100%; margin: 20px 0 0 0; overflow: hidden; }
.know_servicelist { width: 148.97%; margin-left: -24.48%; }
    .know_servicelist .swiper-slide { width: 30.67vw; padding: 0 3.06vw; box-sizing: border-box; }
.know_servicelist_ph .thumb { position: relative; }
    .know_servicelist .num { width: 12px; line-height: 0; display: block; position: absolute; right: 18px; top: 18px; z-index: 3; }
    .know_servicelist .ttl { width: 100%; padding: 0 20px; box-sizing: border-box; text-align: center; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); z-index: 4; font-size: 1.4rem; color: #fff; font-weight: 700; line-height: 1.5; }
    .know_servicelist_caption { display: flex; align-items: flex-start; margin-top: 17px; }
    .know_servicelist_caption .face { min-width: 35px; width: 35px; margin: 0 13px 0 0; }
    .know_servicelist_caption .copy { font-size: 1.2rem; line-height: 1.5;}

    .know_item05_head { width: 86.66%; margin: 0 auto; position: relative; margin-top: 50px; padding-bottom: 170px; }
.know_item05_head .know_item_ttl { flex-wrap: wrap; justify-content: flex-start; }
    .know_item05_head .read { font-size: 1.6rem; font-weight: 700; width: 100%; text-align: left; margin: 8px 0 0; line-height: 2; }
.know_item05_ph { position: relative; }
.know_body video { width: 100%; }
    .know_item05_ph .copy { width: 41.06%; position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%,-50%); transform: translate(-50%,-50%); }

    .know_item05_img01 { width: 172px; position: absolute; left: 50%; top: auto; bottom: 50px; -webkit-transform: translateX(-100%); transform: translateX(-100%); }
    .know_item05_img02 { width: 300px; position: absolute; left: 65%; bottom: -20px; z-index: 2; }

.know_footer_item .txt { position: absolute; top: 50%; width: 100%; text-align: center; -webkit-transform: translateY(-50%); transform: translateY(-50%); z-index: 2; }
.know_footer_item .ph img { border-radius: 15px; }
    .know_footer_item .ja { font-size: 1.8rem; color: #fff; }
    .know_footer_item .en { font-size: 1.2rem; color: #fff; }
}

@media screen and (max-width: 767px) {
    .know_head > .inner { width: 86.66%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: center; padding-top: 85px; }
    .know_head_ttl { width: auto; margin-top: 0; }
    .know_head_img { width: 104.92%; margin: 22px 0 0 -2.46%; }

    .know_nav { width: 86.40%; max-width: 360px; margin: 20px auto; position: relative; left: 0; top: auto; z-index: 10; -webkit-transform: translateY(0); transform: translateY(0); }
    .know_nav > .inner { padding: 30px 34px 35px; border: 2px solid #000; box-sizing: border-box; background: #fff; border-radius: 30px; }
    
    .know_item { margin: 52px 0 0; }
    .know_item_ttl .num { width: 23px; font-size: 1.4rem; color: #888; }
    .know_item_ttl .ttl { font-size: 2.6rem; line-height: 1; margin-bottom: 20px; }
    .know_item_ttl .read { width: 100%; font-size: 1.3rem; font-weight: 700; line-height: 1.625; text-align: left; flex-grow: 2; margin-right: 7.68%; margin: 0 0 35px 23px; }
    
    .know_slide_caption._caption01,
    .know_slide_caption._caption02,
    .know_slide_caption._caption03,
    .know_slide_caption._caption04 { max-width: 324px; width: 86.66%; margin: -20px auto 0; right: auto; }
    
    .know_servicelist { width: 231.73%; margin-left: -65.86%; }
    
    .know_item05_head { width: 86.66%; margin: 0 auto; position: relative; margin-top: 142px; padding-bottom: 170px; }
    .know_item05_img01 { width: 114px; position: absolute; left: calc(50% - 48px); top: auto; bottom: 80px; -webkit-transform: translateX(-100%); transform: translateX(-100%); }
    .know_item05_img02 { width: 200px; position: absolute; left: calc(50% - 50px); bottom: -20px; z-index: 2; }
    
    .know_footer { width: 86.66%; margin: 60px auto 70px; display: flex; flex-direction: column; }
    .know_footer_item { width: auto; position: relative; }
    .know_footer_item + .know_footer_item { margin-top: 25px; }
	.know_body .swiper-wrapper { height: auto; }
}

/*recruit*/
.recruit_ttl { padding-top: 80px; }
.recruit_ttl > .inner { position: relative; background-color: #009999; background: linear-gradient(140.61deg, #9FE2FE 0%, #A6DFFC 99.62%); padding: 100px 0 150px; }
.recruit_top_ph { width: 66%; position: absolute; bottom: -95px; right: 0; z-index: 2; }
.recruit_top_ph img { width: 100%; }
.recruit_top_txt { max-width: 557px; min-width: 400px; width: 35.52%; margin-left: 8.41%; position: relative; z-index: 3;}
.recruit_top_txt .font_en { font-size: 10.0rem; color: #fff; line-height: 1.0; font-weight: 400; }
.recruit_top_txt .ja { font-size: 2.0rem; color: #fff; }
.recruit_top_txt .catch { margin-top: 140px; }
.recruit_top_txt .read { margin-top: 38px; color: #fff; }

.recruit_top_nav { width: 161px; position: absolute; right: 2.61%; bottom: 50px; z-index: 4; }
.recruit_top_nav a { display: block; background: #A29069; padding: 6px; font-size: 1.8rem; color: #fff; text-align: center; border-radius: 30px; box-shadow: 0px 4px 4px 0px #00000040; }
.recruit_top_nav a + a { margin-top: 9px; }

.rectop_feature { background: #000; padding: 260px 0 132px; }
.rectop_feature_item { width: 77.86%; display: flex; justify-content: space-between; align-items: center; }
.rectop_feature_item:nth-child(2n + 1) { margin-left: 8.16%; }
.rectop_feature_item:nth-child(2n) { margin-left: 16.70%; flex-direction: row-reverse; }
.rectop_feature_item + .rectop_feature_item { margin-top: 112px; }
.rectop_feature_item .ph { width: 44.55%; }
.rectop_feature_item .txt { width: 43.89%; }
.rectop_feature_item p { color: #fff; }
.rectop_feature_item h3 { position: relative; margin-bottom: 40px; }
.rectop_feature_item h3 span { font-size: 2.2rem; color: #A29069; line-height: 0; position: absolute; left: -30px; -webkit-transform: rotate(90deg); transform: rotate(90deg); transform-origin: left bottom; }

.rectop_item { width: 83.68%; margin: 180px auto 0; }
.rectop_detail { display: flex; flex-wrap: wrap; justify-content: space-between; }
.rectop_detail_item { width: 48.78%; padding: 32px; margin-top: 2.44%; border: 1px solid #A29069; box-sizing: border-box; border-radius: 5px; }
.rectop_detail_item .ttl { font-size: 2.5rem; font-weight: 700; }
.rectop_detail_item .body { display: flex; justify-content: space-between; margin-top: 40px; }
.rectop_detail_item .body .txt { width: 42.48%; }
.rectop_detail_item .body .ph { width: 52.08%; }

.rectop_staff .rectop_hd { width: 83.68%; margin: 180px auto 0; display: flex; justify-content: space-between; align-items: flex-end; }
.rectop_staff_list { display: flex; margin-top: 79px; }
.rectop_staff_item { width: 25%; }
.rectop_staff_item .sp { display: none; }
.rectop_staff_item .phbox { background: #EDEDED; position: relative; overflow: hidden; }
.rectop_staff_item .phbox .ph { padding-top: 82px; position: relative; z-index: 2;}
.rectop_staff_item .phbox .txt_box { position: absolute; top: 28px; left: 8.67%; }
.rectop_staff_item .phbox .name_en { font-size: 3.18vw; font-weight: 400; line-height: 1; color: #A29069; opacity: 0.3; }
.rectop_staff_item .txt { margin: 40px 0 0 8.67%; }
.rectop_staff_item .num { font-size: 2.0rem; color: #A29069; }
.rectop_staff_item .voice { font-size: 2.2rem; line-height: 1.36; font-weight: 700; margin-top: 10px; }
.rectop_staff_item .name { font-size: 2.0rem; margin-top: 15px; }
.rectop_staff_item .type { font-size: 1.4rem; margin-top: 10px; line-height: 1.7; }
.rectop_staff_item .type .small_font { font-size: 1.0rem; }

.rectop_faq > .inner { width: 83.68%; margin: 180px auto 0; display: flex; justify-content: space-between; }
.rectop_faq .rectop_faq_hd { width: 16.95%; }
.rectop_faq .rectop_faq_body { width: 78.04%; }
.rectop_faq_body dl { border-bottom: 1px solid #d9d9d9; }
.rectop_faq_body dt { font-size: 2.0rem; position: relative; padding: 28px 0 0 64px; border-top: 1px solid #d9d9d9; }
.rectop_faq_body dd { font-size: 1.6rem; position: relative; padding: 30px 0 48px 64px; }
.rectop_faq_body .q { font-size: 3.0rem; color: #A29069; position: absolute; left: 0; } 
.rectop_faq_body .a { font-size: 2.0rem; position: absolute; left: 5px; } 

.rectop_ontline { background: #ECE9E1;  margin-top: 129px; padding: 96px 0 147px; }
.rectop_ontline > .inner { width: 83.68%; margin: 0 auto; }
.company_item_main { display: flex; justify-content: space-between; margin-top: 80px; }
.recruit_nav { width: 22.63%; }
.recruit_nav li { font-size: 1.4rem; line-height: 1.5; }
.recruit_nav li .arrow { display: inline-block; line-height: 0.5; margin-right: 8px; }
.recruit_nav li + li { margin-top: 12px; }
.recruit_list { width: 75.60%; }
.recruit_list_item + .recruit_list_item { margin-top: 80px; }
.recruit_list_item .name { font-size: 3.0rem; font-weight: 700; line-height: 1.5; }
.recruit_list_item .name .type { display: inline-block; font-size: 1.4rem; border: 1px solid #A29069; padding: 5px 25px; margin-left: 25px; line-height: 1.5; border-radius: 20px; vertical-align: middle; }

.recruit_data { font-size: 1.6rem; border-top: 1px solid #A29069; margin-top: 35px; }
.recruit_data th, .recruit_data td { font-size: 1.6rem; border-bottom: 1px solid #A29069; padding: 30px 0; }
.recruit_data th { width: 220px; font-weight: 400; }

.btn_entry a { display: block; margin-top: 98px; padding: 20px 0; border-radius: 50px; font-size: 2.2rem; text-align: center; background: #A29069; color: #fff; }

@media screen and (max-width: 1024px) {
    .recruit_ttl { padding-top: 0; }
    
    .rectop_staff_list { display: flex; flex-wrap: wrap; margin-top: 0; }
    .rectop_staff_item { width: 50%; margin-top: 40px; }
    .rectop_staff_item .sp { display: block; }
    .rectop_staff_item .pc { display: none; }
    .rectop_staff_item .phbox .ph { padding-top: 15px; }
    .rectop_staff_item .phbox .ph img { margin-left: 32.53%; }
    .rectop_staff_item .phbox .txt_box { position: absolute; top: 28px; left: 6.67%; }
    .rectop_staff_item .phbox .name_en { font-size: 5.2vw; line-height: 1; color: #A29069; opacity: 0.3; }
    .rectop_staff_item .txt { width: 83.68%; margin: 20px auto 0; }
    .rectop_staff_item .hd { font-size: 1.2rem; font-weight: 700; margin-top: 19px; }
    .rectop_staff_item .num { font-size: 1.4rem; color: #A29069; }
    .rectop_staff_item .voice { font-size: 1.8rem; line-height: 1.36; font-weight: 700; margin-top: 10px; }
    .rectop_staff_item .name { font-size: 1.4rem; margin-top: 15px; }
    .rectop_staff_item .type { font-size: 1.0rem; margin-top: 10px; line-height: 1.7; }
    
    .rectop_detail_item .ttl { font-size: 1.6rem; font-weight: 700; }
    .rectop_detail_item .body { display: block; justify-content: space-between; margin-top: 15px; }
    .rectop_detail_item .body .txt { width: auto; }
    .rectop_detail_item .body .ph { width: auto; margin-top: 35px; }
    .recruit_list_item { margin-top: 50px; }
    .recruit_list_item .name { font-size: 1.8rem; font-weight: 700; line-height: 1.5; }
    .recruit_list_item .name .type { display: inline-block; font-size: 0.9rem; border: 1px solid #A29069; padding: 3px 16px; margin-left: 12px; line-height: 1.5; border-radius: 20px; vertical-align: middle; }
    
.rectop_ontline > .inner { width: 83.68%; margin: 0 auto; }
    .company_item_main { display: block; justify-content: space-between; margin-top: 25px; }
    .recruit_nav { width: auto; }
    .recruit_list { width: auto; }
    
    .recruit_data { border-top: 1px solid #A29069; margin-top: 15px; }
    .recruit_data th, .recruit_data td { font-size: 1.3rem; border-bottom: 1px solid #A29069; padding: 30px 0; }
    
    .btn_entry a { display: block; margin-top: 59px; padding: 10px 0; border-radius: 50px; font-size: 1.6rem; text-align: center; background: #A29069; color: #fff; }
}

@media screen and (max-width: 767px) {
    .recruit_ttl { padding-top: 0; }
    .recruit_ttl > .inner { position: relative; background-color: #009999; padding: 100px 0 50px; }
.recruit_top_ph { width: 66%; position: absolute; bottom: -95px; right: 0; z-index: 2; }
.recruit_top_ph img { width: 100%; }
    .recruit_top_txt { max-width: none; min-width: auto; width: auto; margin-left: 10.13%; position: relative; z-index: 3;}
    .recruit_top_txt .font_en { font-size: 4.0rem; color: #fff; line-height: 1.0; font-weight: 400; }
    .recruit_top_txt .ja { font-size: 1.0rem; color: #fff; }
    .recruit_top_txt .ph { margin-top: 20px; }
    .recruit_top_txt .catch { margin-top: 35px; width: 251px; }
    .recruit_top_txt .read { width: 91.67%; margin-top: 24px; color: #fff; }

    .recruit_top_nav { width: 86.66%; margin: 40px auto 0; display: flex; justify-content: space-between; position: relative; right: auto; bottom: auto; z-index: 4; }
    .recruit_top_nav a { width: 47.69%; background: #A29069; padding: 6px; box-sizing: border-box; font-size: 1.6rem; color: #fff; text-align: center; border-radius: 30px; box-shadow: 0px 4px 4px 0px #00000040; }
    .recruit_top_nav a + a { margin-top: 0; }

    .rectop_feature { background: #000; padding: 70px 0 75px; }
    .rectop_feature_item { width: 86.66%; margin: 0 auto; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; }
    .rectop_feature_item:nth-child(2n + 1) { margin-left: auto; }
    .rectop_feature_item:nth-child(2n) { margin-left: auto; flex-direction: column; }
    .rectop_feature_item + .rectop_feature_item { margin-top: 94px; }
    .rectop_feature_item:nth-child(1) .ph { width: 54.15%; }
    .rectop_feature_item:nth-child(2) .ph { width: 71.38%; margin-left: 30.76%; }
    .rectop_feature_item:nth-child(3) .ph { width: 54.15%; }
    .rectop_feature_item .txt { width: auto; margin: 23px 0 0 13.84%; }
.rectop_feature_item p { color: #fff; }
    .rectop_feature_item h3 { position: relative; margin-bottom: 17px; }
    .rectop_feature_item h3 img { height: 80px; }
    .rectop_feature_item h3 span { font-size: 1.4rem; color: #A29069; line-height: 0; position: absolute; left: -30px; -webkit-transform: rotate(90deg); transform: rotate(90deg); transform-origin: left bottom; }

    .rectop_item { width: 86.66%; margin: 58px auto 0; }
    .rectop_detail { display: block; margin-top: 50px; flex-wrap: wrap; justify-content: space-between; }
    .rectop_detail_item { width: auto; padding: 24px 22px; margin-top: 25px; border: 1px solid #A29069; box-sizing: border-box; }
    .rectop_detail_item .ttl { font-size: 1.6rem; font-weight: 700; }
    .rectop_detail_item .body { display: block; justify-content: space-between; margin-top: 15px; }
    .rectop_detail_item .body .txt { width: auto; }
    .rectop_detail_item .body .ph { width: auto; margin-top: 35px; }
    .rectop_detail_item .body .ph img { width: 100%;}

    .rectop_staff .rectop_hd { width: 86.66%; margin: 90px auto 0; display: block; justify-content: space-between; align-items: flex-end; }
    .rectop_staff .rectop_hd .notes { margin-top: 15px; }
    .rectop_staff_list { display: flex; flex-wrap: wrap; margin-top: 0; }
    .rectop_staff_item { width: 100%; margin-top: 35px; }
    .rectop_staff_item + .rectop_staff_item { margin-top: 60px; }
.rectop_staff_item .phbox { background: #EDEDED; position: relative; }
.rectop_staff_item .phbox .ph { padding-top: 15px; }
    .rectop_staff_item .phbox .name_en { font-size: 10.4vw; line-height: 1; color: #A29069; opacity: 0.3; }
    .rectop_staff_item .txt { width: 86.66%; margin: 20px auto 0; }
.rectop_staff_item .num { font-size: 2.0rem; color: #A29069; }
    .rectop_staff_item .voice { font-size: 2.0rem; line-height: 1.36; font-weight: 700; margin-top: 10px; }
    .rectop_staff_item .name { font-size: 1.8rem; margin-top: 15px; }
    .rectop_staff_item .type { font-size: 1.3rem; margin-top: 10px; line-height: 1.7; }
.rectop_staff_item .type .small_font { font-size: 1.0rem; }

    .rectop_faq > .inner { width: 86.66%; margin: 90px auto 0; display: block; justify-content: space-between; }
    .rectop_faq .rectop_faq_hd { width: auto; }
    .rectop_faq .rectop_faq_body { width: auto; margin-top: 25px; }
    .rectop_faq_body dt { font-size: 1.6rem; position: relative; padding: 28px 0 0 32px; border-top: 1px solid #d9d9d9; }
    .rectop_faq_body dd { font-size: 1.4rem; position: relative; padding: 15px 0 32px 32px; }
    .rectop_faq_body .q { font-size: 2.0rem; color: #A29069; position: absolute; left: 0; } 
    .rectop_faq_body .a { font-size: 1.6rem; position: absolute; left: 5px; } 

.rectop_ontline { background: #ECE9E1; padding: 96px 0 147px; }
    .rectop_ontline > .inner { width: 86.66%; margin: 0 auto; }
    .company_item_main { display: block; justify-content: space-between; margin-top: 25px; }
    .recruit_nav { width: auto; }
.recruit_nav li { font-size: 1.4rem; line-height: 1.5; }
.recruit_nav li .arrow { display: inline-block; line-height: 0.5; margin-right: 8px; }
.recruit_nav li + li { margin-top: 12px; }
    .recruit_list { width: auto; }
    .recruit_list_item .name { font-size: 1.8rem; font-weight: 700; line-height: 1.5; }
.recruit_list_item .name .type { display: inline-block; font-size: 0.9rem; border: 1px solid #A29069; padding: 3px 16px; margin-left: 12px; line-height: 1.5; border-radius: 20px; vertical-align: middle; }
    
    .rectop_ontline { background: #ECE9E1; margin-top: 70px; padding: 37px 0 53px; }
    .recruit_data { border-top: 1px solid #A29069; margin-top: 15px; }
    .recruit_data th, .recruit_data td { font-size: 1.3rem; border-bottom: 1px solid #A29069; padding: 16px 0; }
    .recruit_data th { width: 90px; padding-right: 15px; font-weight: 400; }
    
}

/*staff*/
.staff_ttl { padding-top: 80px; }
.staff_ttl > .inner { position: relative; background: #EDEDED; padding: 50px 0 0; }
.staff_ttl_txt { margin-left: 12.88%; padding-bottom: 70px; position: relative; z-index: 2; }
.staff_ttl_ph { width: 638px; position: absolute; right: 2.04%; bottom: 0; z-index: 2; }
.staff_ttl_txt .en { font-size: 7.0rem; color: #A29069; opacity: 0.3; line-height: 1.5; }
.staff_ttl_txt .ja { font-size: 1.8rem; font-weight: 700; }
.staff_ttl_txt .num { display: inline-block; font-size: 2.0rem; color: #A29069; margin-left: 14px; }
.staff_ttl_txt .catch { font-size: 4.5rem; font-weight: 700; line-height: 1.33; margin-top: 70px; }
.staff_ttl_txt .name { font-size: 2.5rem; margin-top: 45px; }
.staff_ttl_txt .type { font-size: 1.6rem; margin-top: 15px; }

.staff_item { padding: 96px 0 65px; border-top: 1px solid #d9d9d9; }
.staff_ttl + .staff_item { border-top: none; }
.staff_item > .inner { width: 83.67%; margin: 0 auto; display: flex; justify-content: space-between; }
.staff_item_ttl { width: 45.04%; position: relative; }
.staff_item_body { width: 48.78%; }
.staff_item_ttl .ttl { font-size: 3.0rem; font-weight: 700; padding-left: 64px; line-height: 1.5; }
.staff_item_ttl .num { display: block; margin-right: 28px; color: #A29069; position: absolute; left: 0; }
.staff_item_body * + * { margin-top: 33px; }
.staff_item_ph { margin-bottom: 100px; height: 53.19vw; max-height: 800px; position: relative; }
.staff_item_ph img { width: 100%; height: 100%; object-fit: cover; }

.rectop_staff + .btn_entry { border-top: 1px solid #d9d9d9; margin-top: 86px; padding: 98px 0 0; }
.rectop_staff + .btn_entry a { display: block; width: 70.91%; margin: 0 auto; padding: 25px 0; text-align: center; font-size: 2.2rem; }

@media screen and (max-width: 1280px) {
    .staff_ttl_ph { width: 638px; position: absolute; right: -15.40%; bottom: 0; }
}

@media screen and (max-width: 1024px) {
    .staff_ttl { padding-top: 0; }
    .staff_ttl > .inner { position: relative; background: #EDEDED; padding-top: 100px; }
    .staff_ttl_txt .en { font-size: 4.0rem; color: #A29069; opacity: 0.3; line-height: 1.5; }
    .staff_ttl_txt .ja { font-size: 1.0rem; font-weight: 700; }
    .staff_ttl_txt .num { display: inline-block; font-size: 1.2rem; color: #A29069; margin-left: 14px; }
    .staff_ttl_txt .catch { font-size: 2.5rem; font-weight: 700; line-height: 1.33; margin-top: 70px; }
    .staff_ttl_txt .name { font-size: 1.5rem; margin-top: 45px; }
    .staff_ttl_txt .type { font-size: 1.0rem; margin-top: 15px; }
    
    .staff_item_ttl .ttl { font-size: 1.8rem; font-weight: 700; padding-left: 44px; line-height: 1.5; }
}

@media screen and (max-width: 767px) {
    .staff_ttl { padding-top: 0; }
    .staff_ttl > .inner { position: relative; background: #EDEDED; padding: 0 0 111.46%; }
    .staff_ttl_txt { margin-left: 6.93%; padding-bottom: 70px; position: absolute; top: 104px; z-index: 2; }
    .staff_ttl_txt .en { font-size: 10.4vw; color: #A29069; opacity: 0.3; line-height: 1.0; }
    .staff_ttl_txt .ja { font-size: 1.2rem; font-weight: 700; margin-top: 18px; }
    .staff_ttl_txt .num { display: block; font-size: 1.4rem; color: #A29069; margin-left: 0; }
    .staff_ttl_data .catch { font-size: 2.0rem; font-weight: 700; line-height: 1.5; margin-top: 25px; }
    .staff_ttl_data { width: 86.66%; margin: 0 auto 45px; }
    .staff_ttl_data .name { font-size: 1.8rem; margin-top: 11px; }
    .staff_ttl_data .type { font-size: 1.3rem; margin-top: 15px; }
    .staff_ttl_ph { width: 95.73%; position: absolute; right: -26.40%; bottom: 0; }

    .staff_item { padding: 17px 0 39px; border-top: 1px solid #d9d9d9; }
    .staff_ttl + .staff_item { border-top: 1px solid #d9d9d9; }
    .staff_item > .inner { width: 86.66%; margin: 0 auto; display: block; }
    .staff_item_ttl { width: auto; position: relative; }
    .staff_item_body { width: auto; padding-left: 36px; }
    .staff_item_ttl .ttl { font-size: 1.6rem; font-weight: 700; margin-bottom: 10px; padding-left: 36px; line-height: 1.875; }
    .staff_item_ttl .num { font-size: 1.2rem; display: block; margin: 0; color: #A29069; position: absolute; left: 0; top: 7px; }
.staff_item_body * + * { margin-top: 33px; }
    .staff_item_ph { margin-bottom: 40px; }

    .rectop_staff + .btn_entry { border-top: 1px solid #d9d9d9; margin-top: 50px; padding: 50px 0 0; }
    .rectop_staff + .btn_entry a { display: block; width: 86.66%; margin: 0 auto; padding: 15px 0; text-align: center; font-size: 1.8rem; }
    
}



/*privacy*/
.privacy_body { width: 51.02%; margin: 0 0 200px 42.85%; }
.privacy_body section + section { margin-top: 60px; }
.privacy_body h2 { font-size: 2.5rem; font-weight: 700; margin-bottom: 12px; line-height: 1.5; }    
.privacy_body p + p { margin-top: 2em; }

@media screen and (max-width: 1024px) {
    .privacy_body { width: 86.66%; margin: 20px auto 100px; }
    .privacy_body section + section { margin-top: 32px; }
    .privacy_body h2 { font-size: 1.5rem; font-weight: 700; margin-bottom: 8px; line-height: 1.5; }    
.privacy_body p + p { margin-top: 2em; }
}

@media screen and (max-width: 767px) {
}

/*contact*/
.contact_body { margin-bottom: 190px;}
.contact_body > .inner { margin-bottom: 55px; display: flex; justify-content: space-between; width: 71.42%; margin: 0 auto; }
.contact_body._thanks > .inner { display: block; }
.contact_form_head { width: 34.28%; margin-left: 5.89%; }
.contact_form_body { width: 51.33%; margin-left: 5.89%; }

.contact_body .ttl { font-size: 2.5rem; }
.contact_item { width: 100%; font-size: 1.6rem; border-collapse: separate; }
.contact_item th, .contact_item td { padding: 15px 0; }
.contact_item th { width: 170px; font-weight: 700; }
.contact_item th.v_top { vertical-align: top; }
.contact_item th .notes { font-size: 1.4rem; font-weight: 500; }
.privacy_notes { font-size: 1.2rem; margin-top: 15px; }

.required:after { content: "*"; color: #B7282E; }
.contact_item .required { margin-left: 10px; }
.input_txt { width: 100%; padding: 12px 20px; background: #F2F2F2; box-sizing: border-box; border: none; font-size: 1.6rem; }
.input_zip,
.input_age { width: 200px; padding: 12px 20px; background: #F2F2F2; box-sizing: border-box; border: none; font-size: 1.6rem; }
textarea.message { width: 100%; height: 212px; padding: 15px 20px; background: #F2F2F2; box-sizing: border-box; border: none; font-size: 1.6rem; }
textarea.message-rec { width: 100%; height: 122px; padding: 15px 20px; background: #F2F2F2; box-sizing: border-box; border: none; font-size: 1.6rem; }
.input_txt::placeholder, textarea.message::placeholder { color: #A3A3A3; }
.label_type .inq-type { display: flex; flex-wrap: wrap; }
.label_type .wpcf7-list-item { width: 100%; margin: 0 0 5px; }
.radio-sex input { vertical-align: baseline; }
.check_privacy { margin-top: 10px; padding-left: 170px; }
.check_privacy a { line-height: 1; }
.check_privacy .wpcf7-list-item-label { display: none; }
.btn_submit { padding-left: 170px;}
.btn_submit input { background: #A29069; color: #fff; font-size: 1.6rem; font-weight: 700; text-align: center; width: 100%; padding: 30px 0; margin-top: 45px; }
.btn_submit input:disabled { background: #ccc; }
.wpcf7-radio input { vertical-align: baseline; }

.contact_tel { border: 1px solid #999999; border-radius: 10px; text-align: center; margin-top: 50px; padding: 30px 0; }
.contact_tel.sp { display: none; }
.contact_tel .hd { font-size: 1.6rem; font-weight: 700; }
.contact_tel .num { font-size: 3.0rem; font-weight: 400; line-height: 1.8; }
.contact_tel .notes { font-size: 1.2rem; }

.contact_privacy .formErrorContent { display: none!important; }
.grecaptcha-badge { visibility: hidden; }
.notes_privacy { font-size: 1.2rem; color: #999; text-align: center; margin-top: 20px; }
.wpcf7-spinner { display: none!important; }

.contact_body .read { font-size: 3.0rem; font-weight: 500; margin-bottom: 50px; }

@media screen and (max-width: 1024px) {
    .contact_body > .inner { margin-bottom: 55px; display: block; justify-content: space-between; width: 71.42%; margin: 0 auto; }
    .contact_form_head { width: auto; margin-left: 0; }
    .contact_form_body { width: auto; margin-left: 0; margin-top: 50px; }
    
    .contact_tel.pc { display: none; }
    .contact_tel.sp { display: block; }
    
    .contact_body .read { font-size: 1.8rem; font-weight: 500; margin-bottom: 20px; }
}

@media screen and (max-width: 767px) {
    .contact_body { margin-bottom: 90px;}
    .contact_body > .inner { margin-bottom: 55px; display: block; justify-content: space-between; width: 86.66%; margin: 0 auto; }
    .contact_form_head { width: auto; margin-left: 0; }
    .contact_form_body { width: auto; margin-left: 0; margin-top: 50px; }

.contact_body .ttl { font-size: 2.5rem; }
.contact_item { width: 100%; font-size: 1.6rem; border-collapse: separate; }
    .contact_item th, .contact_item td, .contact_item tr, .contact_item tbody, .contact_item { display: block; }
    .contact_item th, .contact_item td { display: block; }
    .contact_item th { width: 100%; font-weight: 700; padding: 0 0 5px; }
.contact_item th.v_top { vertical-align: top; }
    .contact_item th .notes { font-size: 1.0rem; font-weight: 500; }
    .contact_item td { width: 100%; padding: 0 0 20px; }
.privacy_notes { font-size: 1.2rem; margin-top: 15px; }

.required:after { content: "*"; color: #B7282E; }
.contact_item .required { margin-left: 10px; }
    .input_txt { width: 100%; padding: 15px 20px; background: #F2F2F2; box-sizing: border-box; border: none; font-size: 1.3rem; }
    textarea.message { width: 100%; height: 212px; padding: 15px 20px; background: #F2F2F2; box-sizing: border-box; border: none; font-size: 1.3rem; }
.input_txt::placeholder, textarea.message::placeholder { color: #A3A3A3; }
.label_type .inq-type { display: flex; flex-wrap: wrap; }
.label_type .wpcf7-list-item { width: 100%; margin: 0 0 5px; }
    .check_privacy { text-align: left; margin-top: 5px; padding-left: 0; }
.check_privacy .wpcf7-list-item-label { display: none; }
    .btn_submit { padding-left: 0;}
.btn_submit input { background: #A29069; color: #fff; font-size: 1.6rem; font-weight: 700; text-align: center; width: 100%; padding: 30px 0; margin-top: 45px; }
.btn_submit input:disabled { background: #ccc; }

.contact_tel { border: 1px solid #999999; border-radius: 10px; text-align: center; margin-top: 50px; padding: 30px 0; }
.contact_tel .hd { font-size: 1.6rem; }
.contact_tel .num { font-size: 3.0rem; line-height: 1.8; }
    .contact_tel .num span { text-decoration: underline; }
.contact_tel .notes { font-size: 1.2rem; }

.contact_privacy .formErrorContent { display: none!important; }
.grecaptcha-badge { visibility: hidden; }
.notes_privacy { font-size: 1.2rem; color: #999; text-align: center; margin-top: 20px; }
.wpcf7-spinner { display: none!important; }
}

/*thanks*/
.thanks_body { width: 63.01%; margin: 0 auto 150px; }
.thanks_body .ttl { font-size: 3.0rem; margin-bottom: 50px;  }

@media screen and (max-width: 1024px) {
    .thanks_body .ttl { font-size: 1.8rem; margin-bottom: 20px;  }
}

@media screen and (max-width: 767px) {
    .thanks_body { width: 86.66%; margin: 0 auto 90px; }
}

/*form*/
.wpcf7-not-valid-tip { display: none!important; }
/*.formError .formErrorContent { font-size: 1.4rem!important; color: #B51C1F!important; margin-top: 5px; background: none!important; }*/
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output { display: none!important; }

/*.formError:not(.inline) { top: 32px!important; }*/

.label_type .inq_type { display: flex; flex-wrap: wrap; }
.label_type .inq_type .wpcf7-list-item { width: 100%; margin-bottom: 5px; }

.error-message .undefinedformError { display: none!important; }
.error-message .parentFormcontact-form .formErrorContent { border-radius: 5px!important; }


/*link*/
/**.link_txt { text-decoration: underline!important; }
*.link_txt { display: inline-block; overflow: hidden; position: relative; line-height: 1.5; }
*.link_txt:after { content: ""; display: block; width: 100%; height: 1px; background: #000; position: absolute; bottom: 0; }*/
.top_recruit_txt .link_txt:after,
.top_factory_txt .link_txt:after { background: #fff; }

@-webkit-keyframes linkLine{
	0%{ left: 100%; }
    50%{ left: -100%; }
	to{ left: 0; }
}
@keyframes linkLine{
	0%{-webkit-transform:translateX(0);transform:translateX(0)}
    50%{-webkit-transform:translateX(100%);transform:translateX(100%) }
    51%{-webkit-transform:translateX(-100%);transform:translateX(-100%) }
	to{-webkit-transform:translateX(0);transform:translateX(0)}
}

.link_txt {
    display: inline; /* インラインでないとう1行ずつにならないので注意　*/
    background: linear-gradient(175deg, currentColor 50%, transparent 50%) repeat-x 100% 100%/200% 1px;
    animation: hide-bg-line 0.18s ease-out forwards;/*線が消えるアニメーション*/
    width: fit-content;
}
.footer_nav_list a {
    display: inline; /* インラインでないとう1行ずつにならないので注意　*/
    background: linear-gradient(-175deg, currentColor 50%, transparent 50%) repeat-x 100% 100%/220% 1px;
    animation: hide-bg-line 0.18s ease-out forwards;/*線が消えるアニメーション*/
    width: fit-content;
}
@media (hover: hover) and (pointer: fine) {
  .link_txt:hover,
  .know_footer_item:hover .link_txt{
      animation: show-bg-line 0.15s ease-out forwards;
  }
  .footer_nav_list a:hover{
      animation: show-bg-line 0.15s ease-out forwards;
  }
}

/*線が消えるアニメーション*/
@keyframes hide-bg-line {
    to {
        background-position: 0% 100%;
    }
}

/*線を表示するアニメーション*/
@keyframes show-bg-line {
    from {
        background-position: 220% 100%;
    }
}

@media screen and (min-width: 900px) {   
    /**.link_txt:hover { text-decoration: none!important; }
    *.link_txt:hover:after { -webkit-animation: linkLine 0.8s cubic-bezier(0.36, 0.14, 0, 1) 0s normal both; animation: linkLine 0.8s cubic-bezier(0.36, 0.14, 0, 1) 0s normal both; }*/
    
    .top_point_txt .link_btn:hover span { text-decoration: none; }

    .main_nav a,
    /*.footer_nav_item a,*/
    .top_global_list a .ttl span,
    .top_works_list a .ttl span,
    .top_news_list a .ttl span,
    .top_news_catlist a { position: relative; }
    .main_nav a:after,
    /*.footer_nav_item a:after,*/
    .top_global_list a .ttl span:after,
    .top_works_list a .ttl span:after,
    .top_news_list a .ttl span:after,
    .top_news_catlist a:after { content: ""; display: block; width: 100%; height: 1px; position: absolute; bottom: 0;left: 0;transform: scale(0, 1); transform-origin: right top; -webkit-transition: transform 0.5s cubic-bezier(.16,1,.3,1); transition: transform 0.5s cubic-bezier(.16,1,.3,1);}
    .main_nav a:hover:after,
    /*.footer_nav_item a:hover:after,*/
    .top_global_list a:hover .ttl span:after,
    .top_works_list a:hover .ttl span:after,
    .top_news_list a:hover .ttl span:after,
    .top_news_catlist a:hover:after { transform: scale(1, 1); transform-origin: left top; }
    .main_nav a:after/*,
    .footer_nav_item a:after*/ { background: #fff; }
    /*.footer_nav_item li li a:after { background: #afafaf; }*/
    .top_global_list a .ttl span:after,
    .top_works_list a .ttl span:after,
    .top_news_list a .ttl span:after,
    .top_news_catlist a:after { background: #000; }
    
    .header_contact { -webkit-transition: background 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: background 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    .header_contact:hover { background: #847045; }
    
    .top_service_list a .ph > img,
    .top_global_list a .ph img,
    .top_works_list a .ph img { -webkit-transition: transform 1.0s cubic-bezier(.16,1,.3,1); transition: transform 1.0s cubic-bezier(.16,1,.3,1); -webkit-transform-origin: center; transform-origin: center; }
    .top_service_list a:hover .ph > img,
    .top_global_list a:hover .ph img,
    .top_works_list a:hover .ph img  { -webkit-transform: scale(1.07); transform: scale(1.07); }
    
    /*.top_service_list a .ph:after { content: ""; display: block; opacity: 0; width: 100%; height: 100%; position: absolute; background: rgba(0,0,0,0.3); -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1); }*/
    .top_service_list a:hover .ph:after { opacity: 1; }
    
    .top_works_cat a { -webkit-transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); transition: all 0.5s cubic-bezier(0.36, 0.14, 0, 1); }
    .top_works_cat a:hover { background: #000; color: #fff; }
    
    .footer_link_about .inner:after { -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1); }
    .footer_link_about:hover .inner:after { opacity: 0.5; }
    
    .footer_link_contact:after { content: ""; display: block; width: 100%; height: 100%; background: #000; position: absolute; opacity: 0; -webkit-transition: opacity 1.0s cubic-bezier(.16,1,.3,1); transition: opacity 1.0s cubic-bezier(.16,1,.3,1); }
    .footer_link_contact:hover:after { opacity: 0.2; }
    
}

.flexbox { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; }
.torihiki + .torihiki { margin-left: 20px; }

@media (max-width: 767px) {
  .flexbox.tori { flex-direction: column; }
  .torihiki { width: 100%; }
  .torihiki + .torihiki { margin-left: 0; }
}

iframe[src*="www.google.com/maps/embed"] {
	aspect-ratio: 4 / 3;
	width: 100%;
	max-width: 600px;
	height: auto;
}


/* ============================
   Pagination
============================ */
.pagination {
  margin: 50px auto 0;
  text-align: center;
}

.pagination .nav-links {
  display: inline-flex;
  gap: 10px;
  align-items: center;
}

.pagination .page-numbers {
  display: inline-block;
  padding: 8px 14px;
  min-width: 38px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  text-decoration: none;
  color: #333;
  background-color: #fff;
  transition: all .2s ease;
}

/* 現在のページ */
.pagination .page-numbers.current {
  background-color: #007acc;
  border-color: #007acc;
  color: #fff;
  font-weight: bold;
}

/* ホバー */
.pagination .page-numbers:not(.current):hover {
  background-color: #f0f8ff;
  border-color: #007acc;
  color: #007acc;
}

/* 前へ / 次へ */
.pagination .page-numbers.prev,
.pagination .page-numbers.next {
  font-size: 13px;
  padding: 8px 12px;
}

.min { font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}
.text_title { font-size: 2.8rem; font-weight: bold; } 
@media screen and (max-width: 767px) {
	.text_title { font-size: 1.8rem;}
}


/* ボタンのスタイル */
.buttonOutlineGradient {
  position: relative;
  display: block;
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
  height: 64px;
  padding: 2px;
  font-family: sans-serif;
  font-size: 16px;
  text-align: center;
  overflow-wrap: anywhere;
  border-radius: 32px; /* (buttonの高さ / 2) の値 */
}

.buttonOutlineGradient::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: "";
  /*background: linear-gradient(135deg, #6fa24a, #15a1cc);*/
  border-radius: 32px; /* (buttonの高さ / 2) の値 */
  opacity: 0;
  filter: blur(8px);
}

.buttonOutlineGradient_item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
  background-color: #222;
  background-image: linear-gradient(90deg, rgba(65, 164, 253, 1), rgba(14, 244, 255, 1));
  border-radius: 32px; /* (buttonの高さ / 2) の値 */
}

@media (any-hover: hover) {
  .buttonOutlineGradient::before {
    transition: opacity 0.2s;
  }

  .buttonOutlineGradient:hover::before {
    opacity: 1;
  }
}

