/*
Theme Name: YOSHIMORI
Theme URL: 
Description: 株式会社YOSHIMORI様専用テーマです。
Author: 制作者
*/

body.no-scroll {
    overflow: hidden !important;
}

#orientation-warning { /* 初期状態では非表示 */
    position: fixed; /* 画面に固定 */
    top: 0;
    left: 0;
    width: 100vw; /* 画面幅いっぱいに広げる */
    height: 100dvh; /* 画面高さいっぱいに広げる */
    background-color: rgba(255, 255, 255, 1); /* 半透明の黒い背景 */
    color: #000;
    z-index: 9999; /* 他のどの要素よりも手前に表示 */
    /* 中の文字を上下左右中央に配置 */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
	display: none;
}

.return-to-top-button {
  position: fixed; /* 画面に固定 */
  bottom: 30px;
  right: 30px;
  z-index: 1000;
  padding: 15px 30px;
  background-color: #078C4A; /* デザインに合わせて調整 */
  color: white;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  font-weight: bold;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
  /* 最初は非表示にしておく */
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: all 0.3s ease-in-out;
}

/* 表示されたときのスタイル */
.return-to-top-button.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.front_main iframe {
	width: 100%;
	height: 100dvh;
}

.animation-container {
    /* スティッキー配置で画面上部に固定 */
    position: sticky;
    top: 0;
    width: 100%;
    height: 100dvh;
    z-index: 1; /* 重なりの順番を1に */
}

/* 次のセクション */
.top_our_service {
    position: relative; /* 重なり順の基準となるように */
    z-index: 2; /* animation-containerより手前に表示 */
    /*opacity: 0;
    visibility: hidden;*/
}

body{
	appearance: none!important;
}

.maintenance .main-container {
	background-color: #fff !important;
}



/* header */

header {
	width: 100%;
	height: 80px;
	position: fixed;
	top: 0;
	background-color: #fff;
	z-index: 100;
}

body.home .header {
    opacity: 0;
	transform: translateY(-100%);
    transition: transform 0.4s ease-out, 
                opacity 0.4s ease-out, 
                visibility 0s linear 0.4s;
	pointer-events: none;
}

body.home .header.is-active {
    transform: translateY(0);
    opacity: 1;
	pointer-events: auto;
}

header .flex_box {
	width: 100%;
	height: 100%;
	padding-left: 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

header .flex_box .logo_link {
	width: 200px;
	height: auto;
	display: block;
	flex-shrink: 0;
}

header .flex_box .logo_link img {
	width: 100%;
	height: auto;
}

header .flex_box .nav_box {
	width: auto;
	height: 100%;
	display: flex;
	gap: 25px;
	align-items: center;
}

header .flex_box .nav_box .nav_item {
	color: #1C1C1C;
    font-size: 15px;
    font-weight: 600;
	transition: .3s;
	position: relative;
}
header .flex_box .nav_box .nav_item:hover {
	color: #078C4A;
}
header .flex_box .nav_box .nav_item::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #078C4A;
	bottom: -10px;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform 0.3s;
}
header .flex_box .nav_box .nav_item:hover::after {
	transform: scale(1, 1);
}

header .flex_box .nav_box .button_flex {
	display: flex;
	height: 100%;
}

header .flex_box .nav_box .nav_tel_item {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background-color: #078C4A;
	height: 100%;
	gap: 15px;
	padding: 0 25px;
}

header .flex_box .nav_box .nav_tel_item i {
	font-size: 25px;
}

header .flex_box .nav_box .nav_tel_item span {
	font-size: 12px;
	font-weight: 600;
}

header .flex_box .nav_box .nav_tel_item p {
	font-size: 20px;
	font-weight: 600;
	margin-top: 0px;
}

header .flex_box .nav_box .nav_contact_item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	color: #fff;
	background-color: #EA2C0A;
	height: 100%;
	gap: 5px;
	padding: 0 15px;
	font-size: 11px;
    font-weight: 600;
	letter-spacing: 1px;
}

header .flex_box .nav_box .nav_contact_item i {
	font-size: 30px;
}

header .flex_box .hamburger_box {
	display: none;
}





/* main */

main {
	width: 100%;
	margin-top: 80px;
}
main.front_main {
	margin-top: 0px;
}

.white_back {
	/*background-color: #fff;*/
	z-index: 50;
	position: relative;
}

.animation_box {
    width: 100%;
    height: 500vh;
    position: relative;
	padding-left: 0;
    padding-right: 0;
	overflow-y: scroll;
	overflow-x: hidden;
}

.animation_box .fixed-header {
    position: absolute;
    top: 0;
    left: 0;
    padding: 35px 95px 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    z-index: 10; /* パーティクルより前面に表示 */
    /*pointer-events: none;*/ /* 下の要素へのインタラクションを許可 */
}

.animation_box .fixed-header .header-nav ul {
    display: flex;
	flex-direction: column;
	gap: 5px 0;
}

.animation_box .fixed-header .header-nav ul li a {
	color: #1C1C1C;
    font-size: 13px;
	font-weight: bold;
	cursor: default;
}

.animation_box .fixed-header .header-logo {
    
}

.animation_box .fixed-header .header-logo a {
	color: #131313;
    font-size: 30px;
	font-family: itc-avant-garde-gothic-pro, sans-serif;
	font-weight: 700;
	font-style: normal;
}




/* --- 基本設定 --- */
body {
    transition: background-color 0.3s ease-in-out; /* オーバーレイ表示のための準備 */
}

body.drawer-open {
    overflow: hidden !important; /* ドロワー表示時に背景スクロールを禁止 */
}

/* 背景オーバーレイ */
body.drawer-open::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒 */
    z-index: 1000; /* ドロワーメニュー(1001)より下、ヘッダー(デフォルトはautoなのでこれより下になる) */
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}

/* オーバーレイの初期状態（JSでbodyにクラスがないとき） */
body::before { /* このセレクタは重複を避けるため、実際には不要か、JSで制御しないなら初期状態としてクラスなしで定義 */
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.0); /* 初期は透明 */
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    pointer-events: none; /* クリックイベントを透過させる */
    /* transition: opacity 0.3s ease-in-out 0s, visibility 0s ease-in-out 0.3s;  閉じるときに即座に隠れるように */
    /* opacityとvisibilityのtransitionは .drawer-open::before 側に集約 */
    transition: opacity 0.3s ease-in-out, visibility 0s linear 0.3s; /* 閉じる際に即座に非表示にし、opacityでフェードアウト */

}


/* --- Hamburger Button --- */
.hamburger-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    display: flex;
    align-items: center;
    color: #1C1C1C;
}

.hamburger-button__text {
    font-size: 14px;
    margin-right: 8px;
    font-weight: bold;
}

.hamburger-button__icon {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 24px;
    height: 18px;
}

.hamburger-button__icon-bar {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #1C1C1C;
    border-radius: 1px;
}

/* --- Drawer Menu --- */
.drawer-menu {
    position: fixed;
    top: 0;
    right: 0;
    width: 345px;
    height: 100dvh;
    background-color: #078C4A;
    color: #fff;
    box-shadow: -2px 0 5px rgba(0,0,0,0.1);
    z-index: 1001; /* オーバーレイ(1000)より手前、ヘッダー(1002)より奥 */
    display: flex;
    flex-direction: column;
    padding: 35px 0 0;
    box-sizing: border-box;
    overflow-y: auto;
    transform: translateX(100%); /* 初期状態は画面右外 */
    transition: transform 0.3s ease-in-out;
	border-radius: 25px 0 0 0;
}

.drawer-menu.is-open {
    transform: translateX(0); /* 画面内にスライドイン */
}

.drawer-menu__header {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 25px;
	padding: 0 40px;
}

.drawer-menu__close-button {
    background: none;
    border: none;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.drawer-menu__close-icon {
    font-size: 24px;
    margin-left: 5px;
    line-height: 1;
}

.drawer-menu__nav {
    padding: 0 40px;
}

.drawer-menu__nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
	display: flex;
	flex-direction: column;
	gap: 35px 0;
}

.drawer-menu__nav li a {
    text-decoration: none;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
	position: relative;
	display: inline-block;
	padding-bottom: 10px;
}

.drawer-menu__nav li a::after {
  content: '';
  position: absolute;
  bottom: 0; /* padding-bottomで設けた余白の下端、またはテキストの直下に配置 */
  left: 0;
  width: 0; /* 初期状態では幅0（見えない状態） */
  height: 2px; /* 下線の太さ（例: 1px or 2px） */
  background-color: #fff; /* 下線の色（ドロワーメニューの文字色に合わせています） */
  transition: width 0.3s ease-out; /* 幅の変化を0.3秒でアニメーション（ease-outで滑らかに） */
}

/* ホバー時のスタイル */
.drawer-menu__nav li a:hover::after {
  width: 100%; /* ホバー時に幅を100%にして下線を表示 */
}

.drawer-menu__footer {
    margin-top: auto;
    padding-top: 30px;
}

.drawer-menu__footer .contact_box {
	width: 100%;
	display: flex;
	flex-direction: column;
}

.drawer-menu__footer .contact_box .flex_box {
    width: 100%;
	display: flex;
}

.drawer-menu__footer .contact_box .flex_box .nav_tel_item {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: #51AC4F;
    gap: 15px;
    padding: 20px 15px;
	width: 100%;
}

.drawer-menu__footer .contact_box .flex_box .nav_tel_item i {
    font-size: 25px;
}

.drawer-menu__footer .contact_box .flex_box .nav_tel_item span {
    font-size: 12px;
    font-weight: 600;
	color: #E7F2EC;
}

.drawer-menu__footer .contact_box .flex_box .nav_tel_item p {
    font-size: 20px;
    font-weight: 600;
    margin-top: 0px;
	line-height: 1.4;
}

.drawer-menu__footer .contact_box .flex_box .nav_contact_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: #EA2C0A;
    gap: 5px;
    padding: 20px 15px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
	flex-shrink: 0;
}

.drawer-menu__footer .contact_box .flex_box .nav_contact_item i {
    font-size: 30px;
}

.drawer-menu__footer .contact_box .nav_permit_item {
    width: 100%;
	display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: #073586;
    gap: 15px;
    padding: 20px 15px;
}

.drawer-menu__footer .contact_box .nav_permit_item i {
    font-size: 25px;
}

.drawer-menu__footer .contact_box .nav_permit_item div {
    display: flex;
	flex-direction: column;
}

.drawer-menu__footer .contact_box .nav_permit_item div span {
    font-size: 12px;
	font-weight: 500;
	color: #DAE1ED;
}

.drawer-menu__footer .contact_box .nav_permit_item div p {
    font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
}







.animation_box .hero-overlay {
    position: absolute; /* body を基準に絶対配置 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100dvh;
    z-index: 9; /* パーティクルより前面、ヘッダーより背面 */
}

.animation_box .hero-overlay .logo-container {
    position: absolute; /* body を基準に絶対配置 */
    top: 30%;
    right: -12.5vw;
    width: 41.5vw;
}

.animation_box .hero-overlay .logo-container img {
    width: 100%;
    height: auto;
}

.animation_box .hero-overlay h2 {
    position: absolute; /* body を基準に絶対配置 */
    top: 50%;
    right: 50px;
    font-size: 10.416667vw;
	font-family: itc-avant-garde-gothic-pro, sans-serif;
	font-weight: 700;
	font-style: normal;
}

.animation_box .hero-overlay .subtitle {
    position: absolute; /* body を基準に絶対配置 */
    top: 25%;
    left: 95px;
    font-size: 3.472222vw;
    font-weight: 800;
	font-family: "Poppins", sans-serif;
	font-style: normal;
	line-height: 1.2;
}

.animation_box .hero-overlay .subtitle span {
    font-size: 3.888889vw;
    color: #078C4A;
	font-weight: 800;
}

.animation_box .hero-overlay .contact_box {
    position: absolute;
    bottom: 0;
    right: 0;
	display: flex;
	flex-direction: column;
	z-index: 500;
}

.animation_box .hero-overlay .contact_box .flex_box {
    width: 100%;
	display: flex;
}

.animation_box .hero-overlay .contact_box .flex_box .nav_tel_item {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: #078C4A;
    gap: 15px;
    padding: 20px 25px;
}

.animation_box .hero-overlay .contact_box .flex_box .nav_tel_item i {
    font-size: 25px;
}

.animation_box .hero-overlay .contact_box .flex_box .nav_tel_item span {
    font-size: 12px;
    font-weight: 600;
	color: #E7F2EC;
}

.animation_box .hero-overlay .contact_box .flex_box .nav_tel_item p {
    font-size: 20px;
    font-weight: 600;
    margin-top: 0px;
	line-height: 1.4;
}

.animation_box .hero-overlay .contact_box .flex_box .nav_contact_item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: #EA2C0A;
    gap: 5px;
    padding: 20px 15px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
}

.animation_box .hero-overlay .contact_box .flex_box .nav_contact_item i {
    font-size: 30px;
}

.animation_box .hero-overlay .contact_box .nav_permit_item {
    width: 100%;
	display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: #073586;
    gap: 15px;
    padding: 15px 25px;
}

.animation_box .hero-overlay .contact_box .nav_permit_item i {
    font-size: 25px;
}

.animation_box .hero-overlay .contact_box .nav_permit_item div {
    display: flex;
	flex-direction: column;
}

.animation_box .hero-overlay .contact_box .nav_permit_item div span {
    font-size: 12px;
	font-weight: 500;
	color: #DAE1ED;
}

.animation_box .hero-overlay .contact_box .nav_permit_item div p {
    font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
}

/* animation_boxの親要素のセレクタに合わせて調整してください */
.animation_box .center-text {
    position: fixed;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	transition: opacity 0.2s ease-in-out;
    text-align: center;
    
    z-index: 10;
    pointer-events: none;
	width: 90vw;
    max-width: 1200px; /* PCでの最大幅 */
    margin: 0 auto;
}

.animation_box .center-text span {
    color: #078C4A;
}

.animation_box #centerText1 {
	opacity: 0;
    font-size: 3.472222vw;
    font-weight: bold;
	line-height: 1.6;
}

.animation_box #centerText2 {
	opacity: 0;
    font-size: 1.25vw;
    font-weight: bold;
}

/* スライディングテキスト用のスタイル */
.animation_box .sliding-texts-container {
    position: fixed;
    top: 0; /* 画面上端から */
    left: 0; /* 画面左端から */
    width: 100vw; /* 画面全体の幅 */
    height: 100vh; /* 画面全体の高さ */
    /* transform: translate(-50%, -50%); は不要になりました */
    z-index: -15;  /* パーティクルより手前、主要UIより奥 */
    pointer-events: none; /* 操作を透過させる */
    display: flex;
    flex-direction: column; /* テキストを縦に並べる */
    justify-content: space-around; /* 均等に配置 (上下の余白も含む) */
    align-items: center; /* 水平方向中央揃え */
    padding: 0vh 2vw; /* 上下のパディングを画面高さの5%、左右のパディングを画面幅の2%に */
    box-sizing: border-box; /* パディングとボーダーを要素の幅・高さに含める */
  }
  
.animation_box .sliding-text {
    /*
      フォントサイズをビューポート単位で指定し、clamp()で調整します。
      推奨値として画面高さの約18%、最小2rem、最大は画面幅の15%とします。
      3つのテキストが space-around で配置されるため、これで画面の大部分を占める印象になります。
    */
    font-size: clamp(2rem, 27vh, 27vh);
    color: #efefef;
    font-weight: bold;
    padding: 0vh 0vw; /* パディングもビューポート単位で調整 */
    /* margin-bottom は justify-content: space-around により不要 */
    opacity: 0; /* 初期状態は非表示 */
    white-space: nowrap; /* テキストが折り返さないように */
    text-align: center;
    width: auto; /* テキストの内容に幅を合わせる */
    min-width: 50vw; /* 最小幅を設定して、細長い画面でも見栄えを保つ */
    max-width: 90vw; /* 横に広がりすぎないように最大幅も設定 */
    box-sizing: border-box;
    font-family: 'Times New Roman', Times, serif;
  }
  
  /* 初期位置を画面外に設定 */
  /* コンテナが画面全体になったため、translateXの値を調整 */
.animation_box .sliding-text.text1, .sliding-text.text3 {
    transform: translateX(100vw); /* 右画面外 (画面幅分) */
  }
.animation_box .sliding-text.text2 {
    transform: translateX(-100vw); /* 左画面外 (画面幅分) */
  }


/* 全体を白くするオーバーレイ */
#whiteOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100dvh; /* 100vh または 100dvh */
    height: calc(var(--vh, 1vh) * 100); /* CSS変数対応 */
    background-color: white;
    opacity: 0; /* 最初は透明 */
    visibility: hidden; /* 最初は非表示 */
    z-index: 99; /* Three.jsキャンバス(z-index:-1)より手前、ただし既存のfixed要素よりは奥か、適切に設定 */
                  /* centerText2などより奥にしたいので、それらのzIndexよりは低い値に */
                  /* 例: centerTextがz-index: 10 なら、これはz-index: 9 など */
                  /* 今回は全部消したいので、three.jsよりは手前、消したいコンテンツよりは奥に配置して、
                     コンテンツはwhiteOverlayと同じタイミングで消すのが良いでしょう */
}


.section {
	width: 100%;
}

.section .section_space {
	width: 86%;
	max-width: 1250px;
	margin: 0 auto;
}

.section .section_space .container {
	width: 100%;
}

.section .section_space .container .title_box {
	width: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.section .section_space .container .title_box .left_box h2 {
	font-size: 50px;
}

.section .section_space .container .title_box .left_box p {
	font-size: 20px;
    font-weight: bold;
}

.section .section_space .container .title_box .more_button a {
    width: 180px;
}



.section.top_our_service {
	padding: 20% 0 50px;
}

.section.top_our_service .gray_back {
	width: 87%;
	background-color: #f7f7f8;
	padding: 0 0 60px;
	position: relative;
}
.section.top_our_service .gray_back .truck_icon {
	width: 15vw;
	height: auto;
	position: absolute;
	right: 0;
	bottom: 0;
}

.section.top_our_service .gray_back .service_top_flex {
	width: 100%;
	display: flex;
	align-items: flex-end;
	gap: 0 4.5%;
	transform: translateY(-40%);
}

.section.top_our_service .gray_back .service_top_flex .img_box {
	width: 60%;
}

.section.top_our_service .gray_back .service_top_flex .img_box img {
	width: 100%;
	height: auto;
	border-radius: 0 25px 25px 0;
}

.section.top_our_service .gray_back .service_top_flex .text_box {
	padding-right: 50px;
}

.section.top_our_service .gray_back .service_top_flex .text_box h2 {
	font-size: 50px;
}

.section.top_our_service .gray_back .service_top_flex .text_box .subtitle {
	font-size: 20px;
    font-weight: bold;
}

.section.top_our_service .gray_back .service_top_flex .text_box .text {
	font-size: 13px;
	font-weight: 500;
	margin-top: 70px;
}

.section.top_our_service .gray_back .service_top_flex .text_box .more_button {
	
}

.section.top_our_service .gray_back .service_bottom_box {
	width: 100%;
	padding: 0 120px;
	margin-top: -50px;
}

.section.top_our_service .gray_back .service_bottom_box .flex_box {
	width: 100%;
	margin: 0px auto 0;
	display: flex;
	justify-content: space-between;
}

.section.top_our_service .gray_back .service_bottom_box .flex_box .box_item {
	width: 47%;
	display: flex;
	gap: 0 6%;
}

.section.top_our_service .gray_back .service_bottom_box .flex_box .box_item .image_box {
	width: 28%;
	flex-shrink: 0;
}

.section.top_our_service .gray_back .service_bottom_box .flex_box .box_item .image_box img {
	width: 100%;
	height: auto;
}

.section.top_our_service .gray_back .service_bottom_box .flex_box .box_item .contents_box {
	width: 66%;
	padding-top: 10px;
}

.section.top_our_service .gray_back .service_bottom_box .flex_box .box_item .contents_box h3 {
	font-size: 25px;
	font-weight: 600;
}

.section.top_our_service .gray_back .service_bottom_box .flex_box .box_item .contents_box p {
	font-size: 13px;
	font-weight: 500;
	margin-top: 25px;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 0 3%;
	margin-top: 85px;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .img_box {
	width: 57%;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .img_box img {
	width: 100%;
	height: auto;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box {
	width: 40%;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box h3 {
	font-size: 25px;
	font-weight: 600;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .text1 {
	font-size: 13px;
	font-weight: 500;
	margin-top: 15px;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .available_areas {
	margin-top: 20px;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .available_areas h4 {
	font-size: 18px;
	font-weight: 600;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .available_areas p {
	font-size: 13px;
	font-weight: 500;
	margin-top: 5px;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .items_handled {
	margin-top: 25px;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .items_handled h4 {
	font-size: 18px;
	font-weight: 600;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .items_handled .item_box {
	margin-top: 15px;
	padding-left: 25px;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .items_handled .item_box p {
	font-size: 13px;
	font-weight: 600;
	position: relative;
}
.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .items_handled .item_box p::before {
	content: '';
	position: absolute;
	left: -20px;
	top: 50%;
	transform: translatey(-50%);
	width: 11px;
	height: 11px;
	border-radius: 50%;
}
.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .items_handled .item_box p.circle1::before {
	background-color: #01A89E;
}
.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .items_handled .item_box p.circle2::before {
	background-color: #9ACC35;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .items_handled .item_box span {
	font-size: 13px;
	font-weight: 500;
	margin-top: 5px;
	line-height: 1.5;
	display: block;
}

.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .more_button a {
	max-width: 260px;
}

.section.top_our_service .gray_back .service_bottom_box .precautions {
	width: 100%;
	display: flex;
	align-items: center;
	margin-top: 45px;
	gap: 0 30px;
}

.section.top_our_service .gray_back .service_bottom_box .precautions h3 {
	font-size: 25px;
	font-weight: bold;
}

.section.top_our_service .gray_back .service_bottom_box .precautions p {
	font-size: 13px;
	font-weight: 500;
}



.section.top_license {
	padding: 60px 0;
}

.section.top_license .license_grid {
	width: 100%;
	display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 0 2.5%;
	margin-top: 40px;
}
/*.section.top_license .license_grid {
	width: 100%;
	margin-top: 40px;
	overflow: hidden;
    position: relative;
}*/
.section.top_license .grid_item.swiper-slide {
    /* スライドの高さが内容に応じて変わるようにする */
    height: auto;
	padding: 0 0 40px;
}

/* --- 以下はオプション（矢印や点）のスタイル調整例 --- */

/* ページネーション（点）の色を変える */
.section.top_license .swiper-pagination-bullet-active {
    background: #078C4A; /* アクティブな点の色をサイトのテーマカラーなどに合わせる */
}

.section.top_license .license_grid .grid_item {
	width: 100%;
}

.section.top_license .license_grid .grid_item .img_box {
	width: 100%;
	position: relative;
}

.section.top_license .license_grid .grid_item .img_box img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 0.589;
	object-fit: cover;
	border-radius: 35px;
}

.section.top_license .license_grid .grid_item .img_box .more_box {
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: #fff;
	border-radius: 35px 0 35px 0;
	z-index: 1;
	padding: 12px 0 0 12px;
}

.section.top_license .license_grid .grid_item .img_box .more_box a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 500;
	color: #fff;
	background-color: #282A2E;
	border: solid 2px #282A2E;
	border-radius: 90px;
	width: 180px;
	height: 53px;
	transition: .3s all;
	z-index: 1;
    position: relative;
}
.section.top_license .license_grid .grid_item .img_box .more_box a:hover {
	color: #282A2E;
	background-color: #fff;
}

.section.top_license .license_grid .grid_item .img_box .more_box .corner {
	display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    left: 0px;
    bottom: 0px;
    transform: translateX(-100%);
}
.section.top_license .license_grid .grid_item .img_box .more_box .corner::before {
	display: block;
    width: 200%;
    height: 200%;
    position: absolute;
    top: 0px;
    left: 0px;
    content: '';
    background: transparent;
    border-radius: 50%;
    box-shadow: 20px 20px 0 0 #fff;
    transform: translate(-50%, -50%);
}

.section.top_license .license_grid .grid_item .img_box .more_box .corner2 {
	display: block;
    width: 30px;
    height: 30px;
    position: absolute;
    right: 0px;
    top: 0px;
    transform: translateY(-100%);
}
.section.top_license .license_grid .grid_item .img_box .more_box .corner2::before {
	display: block;
    width: 200%;
    height: 200%;
    position: absolute;
    top: 0px;
    left: 0px;
    content: '';
    background: transparent;
    border-radius: 50%;
    box-shadow: 20px 20px 0 0 #fff;
    transform: translate(-50%, -50%);
}

.section.top_license .license_grid .grid_item .text_box {
	width: 100%;
	margin-top: 25px;
}

.section.top_license .license_grid .grid_item .text_box h3 {
	font-size: 17px;
    font-weight: bold;
}

.section.top_license .license_grid .grid_item .text_box p {
	font-size: 13px;
    font-weight: 500;
	line-height: 1.6;
    margin-top: 15px;
}

.section.top_license .center_box {
	width: 100%;
	text-align: center;
	margin-top: 50px;
	display: flex;
	justify-content: center;
}

.section.top_license .center_box p {
	font-size: 13px;
    font-weight: bold;
	border-bottom: solid 1px #000;
	padding: 5px 0;
}

.green_bar {
	width: 100%;
	background-color: #078C4A;
	padding: 30px 0;
	text-align: center;
	z-index: 50;
	position: relative;
}

.green_bar p {
	color: #fff;
	font-size: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
    gap: 0 20px;
}

.green_bar p img {
	width: 30px;
	height: auto;
	margin-top: -10px;
}

.recruit_img_box {
	width: 100%;
	padding: 30px 20px 100px;
    margin: 0 auto;
}

.recruit_img_box a {
	width: 100%;
}

.recruit_img_box a img {
	width: 100%;
	height: auto;
}


.section.top_recruit {
	padding: 105px 0;
	background-color: #FAFAFA;
	display: none;
}

.section.top_recruit .section_space {
	width: 82%;
	max-width: 1200px;
	margin: 0 auto;
}

.section.top_recruit .section_space .container {
	width: 100%;
}

.section.top_recruit .section_space .container .recruit_title {
	width: 100%;
	text-align: center;
}

.section.top_recruit .section_space .container .recruit_title h2 {
	font-size: 20px;
	font-weight: 500;
}

.section.top_recruit .section_space .container .recruit_title p {
	font-size: 55px;
	font-family: "Poppins", sans-serif;
	font-weight: 300;
	font-style: normal;
	text-transform: uppercase;
	line-height: 1.4;
	margin-top: 25px;
}

.section.top_recruit .section_space .container .recruit_title p span {
	font-size: 65px;
	font-weight: 700;
}

.section.top_recruit .section_space .container .img_box {
	width: 100%;
	padding: 80px 0 0;
	position: relative;
	text-align: center;
}

@keyframes arrowFloat {
  0% { transform: translateY(0); }
  50% { transform: translateY(-15px); }
  100% { transform: translateY(0); }
}
.section.top_recruit .section_space .container .img_box .arrow {
	width: 110px;
	height: auto;
	animation: arrowFloat 2s infinite ease-in-out;
}

.section.top_recruit .section_space .container .img_box .animation-img {
	position: absolute;
	border-radius: 35px;
	will-change: transform;
	transition: transform 3s linear;
}
.section.top_recruit .section_space .container .img_box .animation-img.ani1 {
	width: 15%;
	height: auto;
	left: 4%;
	top: 0;
	box-shadow: 16px -16px 64px rgba(49,49,49,0.5);
}
.section.top_recruit .section_space .container .img_box .animation-img.ani2 {
	width: 15%;
	height: auto;
	left: 25%;
	top: 140px;
	box-shadow: -16px 16px 64px rgba(49,49,49,0.5);
}
.section.top_recruit .section_space .container .img_box .animation-img.ani3 {
	width: 18%;
	height: auto;
	right: 10%;
	top: -20px;
	box-shadow: -16px 16px 64px rgba(49,49,49,0.5);
}

.section.top_recruit .section_space .container .recruit_message {
	width: 100%;
	display: flex;
	gap: 0 4%;
	margin-top: 80px;
}

.section.top_recruit .section_space .container .recruit_message .left_box {
	width: 68%;
	display: flex;
	gap: 0 6%;
	position: relative;
}

.section.top_recruit .section_space .container .recruit_message .left_box .img1_box {
	width: 51.5%;
	position: relative;
}

.section.top_recruit .section_space .container .recruit_message .left_box .img1_box .img1 {
	width: 100%;
	height: 36vw;
	border-radius: 35px;
}

.section.top_recruit .section_space .container .recruit_message .left_box .img1_box .svg1 {
	display: block;
    width: 2.6vw;
    height: auto;
    position: absolute;
    bottom: 0px;
    left: 11.8vw;
    transform: rotate(-180deg);
}

.section.top_recruit .section_space .container .recruit_message .left_box .img1_box .svg2 {
	display: block;
    width: 2.6vw;
    height: auto;
    position: absolute;
    bottom: 16vw;
    right: 0;
    transform: rotate(-180deg);
}

.section.top_recruit .section_space .container .recruit_message .left_box .img2_box {
	width: 42.5%;
	position: relative;
}

.section.top_recruit .section_space .container .recruit_message .left_box .img2_box .img2 {
	width: 100%;
	height: 20vw;
	border-radius: 35px;
}

.section.top_recruit .section_space .container .recruit_message .left_box .message_box {
	position: absolute;
	bottom: 0;
	left: 25.7%;
	background-color: #FAFAFA;
	padding: 40px 20px 15px;
	border-radius: 35px 0 0 0;
	height: 16vw;
}

.section.top_recruit .section_space .container .recruit_message .left_box .message_box h3 {
	font-size: 1.736111vw;
	font-weight: bold;
}

.section.top_recruit .section_space .container .recruit_message .left_box .message_box p {
	font-size: 0.902778vw;
	font-weight: bold;
	margin-top: 20px;
	line-height: 2.3;
}

.section.top_recruit .section_space .container .recruit_message .right_box {
	width: 28%;
	position: relative;
}

.section.top_recruit .section_space .container .recruit_message .right_box .img3 {
	width: 100%;
	height: 36vw;
	border-radius: 35px;
}

.section.top_recruit .section_space .container .recruit_message .right_box .svg1 {
	display: block;
    width: 2.6vw;
    height: auto;
    position: absolute;
    top: 0px;
    left: 4.6vw;
    transform: rotate(90deg);
}

.section.top_recruit .section_space .container .recruit_message .right_box .svg2 {
	display: block;
    width: 2.6vw;
    height: auto;
    position: absolute;
    top: 5.4vw;
    right: 0;
    transform: rotate(90deg);
}

.section.top_recruit .section_space .container .recruit_message .right_box .more_button {
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FAFAFA;
	margin: 0;
	padding: 1.5vw 0 1.5vw 1.4vw;
	border-radius: 0 0 0 35px;
}

.section.top_recruit .section_space .container .recruit_message .right_box .more_button a {
	position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: none;
    padding: 0px 1.2vw 0px 3.5vw;
    line-height: 1.8;
    text-decoration: none;
    color: #282A2E;
    transition: 0.3s ease-in-out;
    font-weight: 900;
    font-size: 1.38vw;
}

.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:before, 
.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:after {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
}
.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:before {
	width: 0.5rem;
	height: 0.5rem;
	left: 10px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
}
.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:after {
	left: 0;
	background: #282A2E;
	z-index: 1;
	width: 34px;
	height: 34px;
	border-radius: 50px;
	transform: translateY(-50%);
	transition: all 0.5s;
}
.section.top_recruit .section_space .container .recruit_message .right_box .more_button a span {
	position: relative;
	transition: all 0.3s;
	z-index: 3;
}

.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:hover span {
	color: #fff;
}
.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:hover:before {
	left: 25px;
}
.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:hover:after {
	right: 0;
	width: 100%;
	background: #282A2E;
}






.section.top_news {
	padding: 80px 0 150px;
}
.section.page_news {
	padding: 0px 0 150px !important;
}

.section.top_news .news_list {
	width: 70%;
	max-width: 885px;
	margin: 45px auto 0;
}

.section.top_news .news_list .list_item {
	width: 100%;
	padding: 30px 25px;
	border-bottom: solid 1px #D7D7D7;
}

.section.top_news .news_list .list_item .news_link {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 0;
	position: relative;
}
.section.top_news .news_list .list_item .news_link:hover .text {
	color: #078C4A;
}

.section.top_news .news_list .list_item .news_link .select_icon {
	position: absolute;
	left: -30px;
	top: 50%;
	transform: translatey(-50%);
	width: 20px;
	height: auto;
}

.section.top_news .news_list .list_item .news_link .select_icon {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s;
}
.section.top_news .news_list .list_item .news_link:hover .select_icon {
	opacity: 1;
	visibility: visible;
}

.section.top_news .news_list .list_item .news_link .new_icon {
	position: absolute;
	left: -30px;
	top: 50%;
	transform: translatey(-50%);
	width: 20px;
	height: auto;
}
.section.top_news .news_list .list_item .news_link.newslist_ver .new_icon {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s;
}
.section.top_news .news_list .list_item .news_link.newslist_ver:hover .new_icon {
	opacity: 1;
	visibility: visible;
}

.section.top_news .news_list .list_item .news_link .date {
	margin: 0;
	min-width: 100px;
	font-size: 13px;
	padding: 0 20px 0 0;
	color: #1C1C1C;
}

.section.top_news .news_list .list_item .news_link .cat-label {
	font-size: 13px;
	font-weight: bold;
	padding: 3px 10px;
	border-radius: 5px;
	margin-right: 15px;
	line-height: 1.2;
	color: #078C4A;
	border: solid 1px #078C4A;
}
.section.top_news .news_list .list_item .news_link .cat-label.important {
	color: #FB3640 !important;
	border: solid 1px #FB3640 !important;
}

.section.top_news .news_list .list_item .news_link .text {
	font-size: 14px;
	color: #282A2E;
	font-weight: bold;
	transition: .3s all;
	justify-content: space-between;
}




/* page-title共通 */

.page-title {
	width: 100%;
	padding: 75px 0 35px;
}

.page-title.lp-page-ver {
	padding: 10px 0 20px;
}

.page-title .title_space {
	width: 86.8%;
	max-width: 1250px;
	margin: 0 auto;
}

.page-title .title_space .title_flex {
	width: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.page-title .title_space .title_flex .title_box {
	flex-shrink: 0;
}

.page-title .title_space .title_flex .title_box h2 {
	font-size: 50px;
}

.page-title .title_space .title_flex .title_box p {
	font-size: 20px;
	font-weight: bold;
}

.page-title .title_space .title_flex .breadcrumb-area {
	font-size: 15px;
	font-weight: bold;
	display: flex;
	align-items: center;
	gap: 0 15px;
}

.page-title .title_space .title_flex .breadcrumb-area a {
	color: #555555;
	transition: .3s all;
}
.page-title .title_space .title_flex .breadcrumb-area a:hover {
	color: #078C4A;
}

.page-title .title_space .title_flex .breadcrumb-area > span:last-child {
	color: #078C4A;
}




/* page-company */

.company_top {
	width: 100%;
	padding: 165px 0 65px;
}

.company_top .section_space {
	width: 92%;
	margin: 0 0 0 auto;
}

.company_top .section_space .container {
	width: 100%;
	background-color: #FBFBFB;
	padding: 0 0 70px 0;
}

.company_top .section_space .container .flex_box {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 0 4%;
	transform: translateY(-110px);
}

.company_top .section_space .container .flex_box .left_box {
	width: 41%;
	padding-left: 25px;
}

.company_top .section_space .container .flex_box .left_box h3 {
	font-size: 2.77vw;
	font-weight: bold;
	line-height: 1.4;
}

.company_top .section_space .container .flex_box .left_box p {
	font-size: 0.97vw;
	font-weight: bold;
	margin-top: 40px;
	line-height: 2;
}

.company_top .section_space .container .flex_box .left_box p span {
	display: block;
	text-align: right;
	font-size: 0.97vw;
	font-weight: bold;
	margin-top: 20px;
}

.company_top .section_space .container .flex_box .right_box {
	width: 55%;
}

.company_top .section_space .container .flex_box .right_box img {
	width: 100%;
	height: auto;
	border-radius: 25px 0 0 25px;
}

.company_top .section_space .container .company_link_box {
	width: 76.7%;
	margin: 0px auto;
	max-width: 1020px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.company_top .section_space .container .company_link_box .link {
	display: flex;
	align-items: center;
	gap: 0 20px;
}

.company_top .section_space .container .company_link_box .link .circle {
	width: 56px;
	height: 56px;
	border-radius: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.company_top .section_space .container .company_link_box .link .circle.red {
	background-color: #EA2C0A;
}
.company_top .section_space .container .company_link_box .link .circle.green {
	background-color: #078C4A;
}
.company_top .section_space .container .company_link_box .link .circle.yellow {
	background-color: #F4B320;
}
.company_top .section_space .container .company_link_box .link .circle.blue {
	background-color: #073586;
}

.company_top .section_space .container .company_link_box .link .circle i {
	font-size: 26px;
    color: #fff;
}

.company_top .section_space .container .company_link_box .link p {
	font-size: 25px;
	font-weight: bold;
    color: #282A2E;
	line-height: 1.3;
    letter-spacing: 1.5px;
}

.company_top .section_space .container .company_link_box .link p span {
	font-size: 18px;
	font-weight: bold;
    color: #48494D;
}

.company_section {
	width: 100%;
	padding-top: 65px;
}

.company_section .section_space {
	width: 86%;
	max-width: 1250px;
	margin: 0 auto;
}

.company_section .section_space .container {
	width: 100%;
}

.company_section .title_box h3 {
	font-size: 50px;
}

.company_section .title_box p {
	font-size: 20px;
    font-weight: bold;
}



.timeline-container {
	position: relative;
	margin-left: 12%;
	margin-right: 0;
	margin-top: 70px;
	padding-top: 50px;
	overflow: hidden;
}

.swiper-container {
	overflow: visible;
	min-height: 135px;
}

.swiper-wrapper {
	display: flex;
	align-items: flex-start;
	position: relative;
	width: max-content;
}

/* タイムラインの線 */
.timeline-line {
	position: absolute;
	top: 24px;
	left: 10px;
	width: 100%;
	height: 3px;
	background: #078C4A;
	z-index: -1;
}

/* スライド */
.swiper-slide {
	width: 250px;
	flex-shrink: 0;
	margin-right: 0;
	scroll-snap-align: start;
	position: relative;
	padding: 0px 20px 20px;
	transition: .3s all;
}
.swiper-slide.active {
	padding: 0px 20px 20px 40px;
}

/* 上部の点 */
.swiper-slide .dot {
  position: absolute;
  top: -30px;
  left: 15px;
  width: 12px;
  height: 12px;
  background: #078C4A;
  border-radius: 50%;
  z-index: 2;
  transition: transform 1.3s;
}

.swiper-slide.active .dot {
  transform: scale(3);
}

.swiper-slide .content h4 {
	font-size: 15px;
	font-weight: bold;
	transition: .8s all;
}

.swiper-slide .content p {
	font-size: 13px;
	font-weight: bold;
	transition: .8s all;
	margin-top: 10px;
}

.swiper-slide.active .content h4 {
  font-size: 18px;
}

.swiper-slide.active .content p {
  font-size: 16px;
}

/* ナビボタン */
.timeline-nav {
	display: flex;
	justify-content: flex-end;
	gap: 20px;
	margin-top: 0px;
	margin-right: 7%;
}

.timeline-nav p {
	font-size: 13px;
	font-weight: bold;
}

.timeline-nav button {
	width: 30px;
	height: 30px;
	background-color: #078C4A;
	border-radius: 65px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.timeline-nav button i {
	font-size: 16px;
	color: #fff;
}










.company_section .info_box {
	width: 70%;
	max-width: 900px;
	margin: 0px auto 0;
	padding-top: 75px;
	display: flex;
	flex-direction: column;
	gap: 50px 0;
}

.company_section .info_box .info_flex {
	width: 100%;
	display: flex;
}

.company_section .info_box .info_flex .info_title {
    min-width: 180px;
	flex-shrink: 0;
}

.company_section .info_box .info_flex .info_title h4,
.company_section .info_box .info_flex .info_title .h5-border{
	font-size: 15px;
    font-weight: bold;
    position: relative;
    padding-left: 15px;
	line-height: 1.6;
}
.company_section .info_box .info_flex h4:before,
.company_section .info_box .info_flex .h5-border:before{
    background-color: #078C4A;
    border-radius: 5px;
    top: 50%;
    content: "";
    height: 30px;
    left: 0;
    position: absolute;
    transform: translateY(-50%);
    width: 5px;
}

.company_section .info_box .info_flex .details_box {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.company_section .info_box .info_flex .details_box p {
	font-size: 13px;
    font-weight: bold;
	line-height: 1.6;
}

.company_section .info_box .info_flex .details_box .number {
	font-size: 13px;
    font-weight: bold;
	line-height: 1.6;
	color: #1C1C1C;
	pointer-events: none;
    text-decoration: none;
}

.company_section .info_box .info_flex .details_box .box_item.half {
	width: calc(50% - 10px);
}

.company_section .info_box .info_flex .details_box .box_item.column {
	display: flex;
	flex-direction: column;
	gap: 5px 0;
}

.company_section .info_box .info_flex .details_box .box_item h5 {
	font-size: 15px;
    font-weight: 900;
	line-height: 1.6;
}

.company_section .info_box .info_flex .details_box .download_button {
	border: solid 1px #078C4A;
	border-radius: 5px;
	padding: 5px 15px;
	display: flex;
	align-items: center;
	gap: 0 15px;
}

.company_section .info_box .info_flex .details_box .download_button img {
	width: 24px;
	height: auto;
}

.company_section .info_box .info_flex .details_box .download_button p {
	color: #1C1C1C;
}

.company_section .info_box .info_flex .details_box .tmb {
	width: 100%;
}
.company_section .info_box .info_flex .details_box .tmb_img {
	width: 100%;
	height: auto;
}
.company_section .info_box .info_flex .details_box .tmb_img:hover {
	cursor: pointer;
}
.company_section .info_box .info_flex .details_box .popup {
	z-index: 101;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: scale(0);
	background-color: rgba(0, 0, 0, 0.8);
	opacity: 0;
	transition: opacity 0.3s, transform 0s 0.3s;
}
.company_section .info_box .info_flex .details_box .popup__btn {
	display: block;
	z-index: 13;
	position: absolute;
	top: 1vh;
	right: 1vh;
	width: 5vh;
	height: 5vh;
	cursor: pointer;
}
.company_section .info_box .info_flex .details_box .popup__btn::before,
.company_section .info_box .info_flex .details_box .popup__btn::after {
	position: absolute;
	top: 50%;
	width: 100%;
	height: 2px;
	margin-top: -1px;
	background-color: #fff;
	content: '';
}
.company_section .info_box .info_flex .details_box .popup__btn::before {
	transform: rotate(45deg);
}
.company_section .info_box .info_flex .details_box .popup__btn::after {
	transform: rotate(-45deg);
}
.company_section .info_box .info_flex .details_box .popup__btnarea {
	z-index: 12;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.company_section .info_box .info_flex .details_box .popup__img {
	z-index: 11;
	position: absolute;
	top: 5%;
	left: 5%;
	width: 90%;
	height: 90%;
}
.company_section .info_box .info_flex .details_box .popup__img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.company_section .info_box .info_flex .details_box input[type="checkbox"] {
	display: none;
}
.company_section .info_box .info_flex .details_box input[type="checkbox"]:checked ~ .popup {
	transform: scale(1);
	opacity: 1;
	transition: opacity 0.3s;
}

.company_section .info_box .info_flex .details_box .right {
	text-align: right;
	width: 100%;
}

.company_section .info_box .info_flex .details_box table.table01 {
	width:100%;
	border-collapse: collapse;
	table-layout: fixed;
}
.company_section .info_box .info_flex .details_box table.table01 thead th {
	background: #51AC4F;
	color: #FFF;
	padding: 18px 0;
	border-radius: 1px;
	margin: 0 2.5px;
	font-size: 14px;
	font-weight: bold;
}
.company_section .info_box .info_flex .details_box table.table01 thead th:first-child {
	background: transparent;
}
.company_section .info_box .info_flex .details_box table.table01 thead th:last-child {
	background: #078C4A;
}
.company_section .info_box .info_flex .details_box table.table01 tbody tr:nth-child(odd) {
	background: #FAFAFA;
}
.company_section .info_box .info_flex .details_box table.table01 tbody th {
	padding: 18px 0;
	font-size: 14px;
	font-weight: bold;
}
.company_section .info_box .info_flex .details_box table.table01 tbody tr:last-child td {
	color: #078C4A;
}
.company_section .info_box .info_flex .details_box table.table01 tbody td {
	padding: 18px 0;
	text-align: center;
	font-size: 13px;
	font-weight: bold;
}
.company_section .info_box .info_flex .details_box table.table01 tbody td:last-child {
	color: #078C4A;
}

.company_section .info_box .info_flex .details_box table.table02 {
	display: none;
}


.company_section.license .section_space {
	width: 86%;
	max-width: 1250px;
	margin: 0 auto;
}

.company_section .section_space .container {
	width: 100%;
}

.company_section .info_box.license_ver {
	gap: 40px 0;
}

.company_section .info_box.license_ver .info_flex .info_title {
    min-width: 100px;
    flex-shrink: 0;
}

.company_section .info_box .border_title {
	font-size: 20px;
    font-weight: 600;
    text-align: center;
    position: relative;
}
.company_section .info_box .border_title:before {
    background-color: #078C4A;
    border-radius: 5px;
    bottom: -20px;
    content: "";
    height: 5px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 55px;
}

.company_section .info_box .text_flex {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 5px;
	margin-bottom: 25px;
}

.company_section .info_box .text_flex img {
	width: 24px;
	height: auto;
}

.company_section .info_box .text_flex p {
	font-size: 13px;
	font-weight: 500;
}

.company_section .info_box.mt-ot {
	margin: 100px auto 0;
}

.company_section .info_box .tokyo23 {
	width: 650px;
	margin: 0 auto;
	text-align: center;
}

.company_section .info_box .tokyo23 svg {
	width: 550px;
	height: 500px;
}

.company_section .info_box .tokyo23 svg a path {
	transition: .3s all;
}

.company_section .info_box .tokyo23 svg a path:hover {
	fill: #078C4A !important;
}


.company_section.access {
	padding-top: 90px;
    padding-bottom: 80px;
}

.company_section.access .section_space .container .access_list_box {
    width: 95%;
	max-width: 1180px;
	margin: 70px auto 0;
	display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 45px 6%;
}

.company_section.access .section_space .container .access_list_box .list_item {
    width: 100%;
	display: flex;
	align-items: center;
	gap: 0 5%;
}

.company_section.access .section_space .container .access_list_box .list_item .text_box {
    width: 45%;
}

.company_section.access .section_space .container .access_list_box .list_item .text_box h4 {
    font-size: 25px;
	font-weight: bold;
	line-height: 1.2;
}

.company_section.access .section_space .container .access_list_box .list_item .text_box p {
    font-size: 13px;
	font-weight: 500;
	margin-top: 25px;
}

.company_section.access .section_space .container .access_list_box .list_item .text_box a {
    font-size: 12px;
	font-weight: 500;
	margin-top: 25px;
	display: inline-block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    padding: 10px 10px;
    color: #fff;
    background: #000;
    position: relative;
    transition: 0.3s ease-in-out;
}
.company_section.access .section_space .container .access_list_box .list_item .text_box a:hover {
    background: #fff;
    color: #000;
}
.company_section.access .section_space .container .access_list_box .list_item .text_box a:before, 
.company_section.access .section_space .container .access_list_box .list_item .text_box a:after {
	box-sizing: inherit;
	content: "";
	position: absolute;
	border: 2px solid transparent;
	width: 0;
	height: 0;
}
.company_section.access .section_space .container .access_list_box .list_item .text_box a:before {
	top: 0;
	left: 0;
}
.company_section.access .section_space .container .access_list_box .list_item .text_box a:after {
	bottom: 0;
	right: 0;
}
.company_section.access .section_space .container .access_list_box .list_item .text_box a:hover:before, 
.company_section.access .section_space .container .access_list_box .list_item .text_box a:hover:after {
	width: 100%;
	height: 100%;
}
.company_section.access .section_space .container .access_list_box .list_item .text_box a:hover:before {
	border-top-color: #000;
	border-right-color: #000;
	transition: width 0.15s ease-out, height 0.15s ease-out 0.15s;
}
.company_section.access .section_space .container .access_list_box .list_item .text_box a:hover:after {
	border-bottom-color: #000;
	border-left-color: #000;
	transition: border-color 0s ease-out 0.2s, width 0.15s ease-out 0.2s, height 0.15s ease-out 0.3s;
}

.company_section.access .section_space .container .access_list_box .list_item .map_box {
    width: 50%;
}

.company_section.access .section_space .container .access_list_box .list_item .map_box .map_link {
    width: 100%;
	height: auto;
}

.company_section.access .section_space .container .access_list_box .list_item .map_box .map_link img {
    width: 100%;
	height: auto;
    border-radius: 15px;
}








/* page-service */

.service_top {
	width: 100%;
}

.service_top .first_box {
	width: 100%;
}

.service_top .first_box .title_box {
	width: 100%;
	text-align: center;
	padding: 60px 0;
}

.service_top .first_box .title_box h3 {
	font-size: 40px;
	font-weight: 900;
}

.service_top .first_box .title_box p {
	font-size: 13px;
	font-weight: 600;
	margin-top: 45px;
}

.service_top .first_box .service_content {
	width: 100%;
	background-color: #FBFBFB;
	padding: 50px 0;
}

.service_top .first_box .service_content h3 {
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	position: relative;
}
.service_top .first_box .service_content h3::before {
	background-color: #078C4A;
	border-radius: 5px;
	bottom: -20px;
	content: "";
	height: 5px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 55px;
}

.service_top .first_box .service_content .flex_box {
	width: 75%;
	max-width: 1100px;
	margin: 50px auto 0;
	display: flex;
	justify-content: space-between;
}

.service_top .first_box .service_content .flex_box .box_item {
	width: 45%;
	display: flex;
	gap: 0 6%;
}

.service_top .first_box .service_content .flex_box .box_item .image_box {
	width: 28%;
	flex-shrink: 0;
}

.service_top .first_box .service_content .flex_box .box_item .image_box img {
	width: 100%;
	height: auto;
}

.service_top .first_box .service_content .flex_box .box_item .contents_box {
	width: 66%;
	padding-top: 10px;
}

.service_top .first_box .service_content .flex_box .box_item .contents_box h4 {
	font-size: 25px;
	font-weight: 600;
}

.service_top .first_box .service_content .flex_box .box_item .contents_box p {
	font-size: 13px;
	font-weight: 500;
	margin-top: 25px;
}

.more_button {
	margin-top: 25px;
}
.more_button.not_found {
	margin-top: 0px;
}

.more_button a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 200px;
    padding: 10px 0px 10px 25px;
    line-height: 1.8;
    text-decoration: none;
    color: #282A2E;
    transition: 0.3s ease-in-out;
    font-weight: 900;
	font-size: 13px;
}

.more_button a:before, .more_button a:after {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
}
.more_button a:before {
	width: 0.5rem;
	height: 0.5rem;
	left: 16px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
}
.more_button a:after {
	left: 0;
	background: #078C4A;
	z-index: 1;
	width: 45px;
	height: 45px;
	border-radius: 50px;
	transform: translateY(-50%);
	transition: all 0.5s;
}
.more_button a span {
	position: relative;
	transition: all 0.3s;
	z-index: 3;
}

.more_button a:hover span {
	color: #fff;
}
.more_button a:hover:before {
	left: 25px;
}
.more_button a:hover:after {
	right: 0;
	width: 100%;
	background: #078C4A;
}

.service_top .first_box .manifest_system {
	width: 100%;
	padding: 35px 0;
}

.service_top .first_box .manifest_system .flex_box {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 60px;
}

.service_top .first_box .manifest_system .flex_box .image_box {
	width: 180px;
	flex-shrink: 0;
}

.service_top .first_box .manifest_system .flex_box .image_box img {
	width: 100%;
	height: auto;
}

.service_top .first_box .manifest_system .flex_box .text_box h3 {
	font-size: 20px;
	font-weight: 900;
}

.service_top .first_box .manifest_system .flex_box .text_box p {
	font-size: 13px;
	font-weight: 500;
	margin-top: 20px;
}

.more_button2 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 320px;
	margin: 25px 0 0;
	padding: 20px 0;
	color: #fff;
	font-size: 17px;
	font-weight: 600;
	background: #078C4A;
	position: relative;
	transition: 0.3s ease-in-out;
}
.more_button2:hover {
    background: #fff;
    color: #078C4A;
}
.more_button2:before, .more_button2:after {
	box-sizing: inherit;
	content: "";
	position: absolute;
	border: 2px solid transparent;
	width: 0;
	height: 0;
}
.more_button2:before {
	top: 0;
	left: 0;
}
.more_button2:after {
	bottom: 0;
	right: 0;
}
.more_button2:hover:before, .more_button2:hover:after {
	width: 100%;
	height: 100%;
}
.more_button2:hover:before {
	border-top-color: #078C4A;
	border-right-color: #078C4A;
	transition: width 0.15s ease-out, height 0.15s ease-out 0.15s;
}
.more_button2:hover:after {
	border-bottom-color: #078C4A;
	border-left-color: #078C4A;
	transition: border-color 0s ease-out 0.2s, width 0.15s ease-out 0.2s, height 0.15s ease-out 0.3s;
}

.service_list {
	width: 100%;
	padding: 65px 0 150px;
}

.service_list .section_space {
	width: 88%;
	max-width: 1250px;
	margin: 0 auto;
}

.service_list .section_space .container {
	width: 100%;
}

.service_list .section_space .container .service_list_item {
	width: 100%;
}
.service_list .section_space .container .service_list_item:last-child {
	margin-top: 100px;
}

.service_list .section_space .container .service_list_item .service_title h3 {
	font-size: 50px;
}

.service_list .section_space .container .service_list_item .service_title p {
	font-size: 20px;
	font-weight: 900;
}

.service_list .section_space .container .service_list_item .contents_box {
	width: 100%;
	margin-top: 60px;
	display: flex;
	gap: 0 5%;
}

.service_list .section_space .container .service_list_item .contents_box .left_box {
	width: 67.5%;
	padding-left: 100px;
}

.service_list .section_space .container .service_list_item .contents_box .left_box .each_item {
	width: 100%;
}
.service_list .section_space .container .service_list_item .contents_box .left_box .each_item:not(:first-child) {
	margin-top: 75px;
}

.service_list .section_space .container .service_list_item .contents_box .left_box .each_item h4 {
	font-size: 25px;
	font-weight: 900;
}

.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .text1 {
	font-size: 13px;
	font-weight: 600;
	margin-top: 30px;
}

.service_list .section_space .container .service_list_item .contents_box .left_box .each_item ul {
	width: 100%;
	margin-top: 50px;
	padding-left: 45px;
}

.service_list .section_space .container .service_list_item .contents_box .left_box .each_item ul li {
	width: 100%;
	font-size: 13px;
	font-weight: 600;
	color: #191919;
	position: relative;
	padding-left: 40px;
}
.service_list .section_space .container .service_list_item .contents_box .left_box .each_item ul li:not(:last-child) {
	margin-bottom: 30px;
}
.service_list .section_space .container .service_list_item .contents_box .left_box .each_item ul li:before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.service_list .section_space .container .service_list_item .contents_box .left_box .each_item ul li:nth-child(1)::before {
	background-image: url('./assets/img/list-icon1.svg');
	background-size: contain;
	background-repeat: no-repeat;
}
.service_list .section_space .container .service_list_item .contents_box .left_box .each_item ul li:nth-child(2)::before {
	background-image: url('./assets/img/list-icon2.svg');
	background-size: contain;
	background-repeat: no-repeat;
}
.service_list .section_space .container .service_list_item .contents_box .left_box .each_item ul li:nth-child(3)::before {
	background-image: url('./assets/img/list-icon3.svg');
	background-size: contain;
	background-repeat: no-repeat;
}

.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .about_box {
	width: 100%;
	margin-top: 50px;
	display: flex;
	flex-direction: column;
	gap: 50px 0;
}

.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .about_box .about_flex {
	width: 100%;
	display: flex;
	align-items: center;
}

.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .about_box .about_flex h5 {
	font-size: 15px;
	font-weight: 900;
	position: relative;
	padding-left: 15px;
	min-width: 230px;
}
.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .about_box .about_flex h5:before {
	background-color: #078C4A;
    border-radius: 5px;
    top: 50%;
    content: "";
    height: 30px;
    left: 0;
    position: absolute;
    transform: translateY(-50%);
    width: 5px;
}

.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .about_box .about_flex .about_text {
	font-size: 13px;
	font-weight: 600;
}

.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .flow_image {
	width: 100%;
	height: auto;
	margin-top: 35px;
}

.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .text2 {
	font-size: 12px;
	font-weight: 500;
	color: #5D5D5D;
	margin-top: 35px;
	display: flex;
}
.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .text2.mt {
	margin-top: 10px;
}

.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .text2 .note {
	flex-shrink: 0;
}

.service_list .section_space .container .service_list_item .contents_box .right_box {
	width: 27.5%;
}

.service_list .section_space .container .service_list_item .contents_box .right_box .sticky-box {
	width: 100%;
	position: sticky;
    top: 110px;
}

.service_list .section_space .container .service_list_item .contents_box .right_box .sticky-box .table_of_contents {
	width: 100%;
	border-bottom: solid 2px #191919;
	font-size: 15px;
	font-weight: 900;
	padding-bottom: 5px;
}

.service_list .section_space .container .service_list_item .contents_box .right_box .sticky-box ul {
	width: 100%;
	margin-top: 20px;
	padding-left: 15px;
}

.service_list .section_space .container .service_list_item .contents_box .right_box .sticky-box .menu-link {
	font-size: 15px;
	font-weight: 500;
	color: #191919;
	transition: .2s all;
	margin-bottom: 20px;
	display: block;
	position: relative;
}
.service_list .section_space .container .service_list_item .contents_box .right_box .sticky-box .menu-link.active {
	font-weight: 600;
	color: #078C4A;
}
.service_list .section_space .container .service_list_item .contents_box .right_box .sticky-box .menu-link.active:before {
	content: "";
    width: 5px;
    height: 5px;
    display: inline-block;
    background-color: #078C4A;
    border-radius: 50%;
	position: absolute;
	top: 53%;
	transform: translatey(-50%);
	left: -10px;
}






/* security_enviroment */

#webgl-simple {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.security_enviroment {
	width: 100%;
	padding: 70px 0 100px;
}

.security_enviroment .section_space {
	width: 100%;
}

.security_enviroment .section_space .container {
	width: 100%;
}

.security_enviroment .section_space .container .title_box {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.security_enviroment .section_space .container .title_box.mt {
	margin-top: 100px;
}

.security_enviroment .section_space .container .title_box h3 {
	font-size: 50px;
}

.security_enviroment .section_space .container .title_box .subtitle {
	font-size: 20px;
	font-weight: bold;
}

.security_enviroment .section_space .container .title_box .text {
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	margin-top: 60px;
	line-height: 2;
}

.security_enviroment .section_space .container .flex_box {
	width: 64%;
	max-width: 920px;
	display: flex;
	align-items: center;
	gap: 0 4%;
	margin: 105px auto 0;
}
.security_enviroment .section_space .container .flex_box.mt {
	margin: 70px auto 0;
}

.security_enviroment .section_space .container .flex_box .left_box {
	width: 64%;
}

.security_enviroment .section_space .container .flex_box .left_box h4 {
	font-size: 25px;
	font-weight: 600;
}

.security_enviroment .section_space .container .flex_box .left_box h4 .annotation-mark {
	font-size: 15px;
	position: relative;
	top: -5px;
	margin-left: 5px;
}

.security_enviroment .section_space .container .flex_box .left_box p {
	font-size: 13px;
	font-weight: 500;
	margin-top: 25px;
}

.security_enviroment .section_space .container .flex_box .right_box {
	width: 32%;
}

.security_enviroment .section_space .container .flex_box .right_box img {
	width: 66%;
	height: auto;
}

.security_enviroment .section_space .container .basic_policy {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 60px;
}
.security_enviroment .section_space .container .basic_policy.mt {
	margin-top: 90px;
}

.security_enviroment .section_space .container .basic_policy h4 {
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	position: relative;
}
.security_enviroment .section_space .container .basic_policy h4::before {
	background-color: #078C4A;
	border-radius: 5px;
	bottom: -20px;
	content: "";
	height: 5px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 55px;
}

.security_enviroment .section_space .container .basic_policy p {
	font-size: 13px;
	font-weight: 500;
	margin-top: 55px;
}

.security_enviroment .section_space .container .basic_policy p span {
	margin-left: 20px;
}

.security_enviroment .section_space .container .annotation {
	width: 68%;
	margin: 100px auto 0;
}

.security_enviroment .section_space .container .annotation .text {
	font-size: 13px;
	font-weight: 500;
	color: #808080;
	display: flex;
}
.security_enviroment .section_space .container .annotation .text.mt {
	margin-top: 25px;
}

.security_enviroment .section_space .container .annotation .text .note {
	flex-shrink: 0;
	margin-right: 20px;
}





/* facilities_vehicledepots */

.facilities_vehicledepots {
	width: 100%;
	padding: 70px 0 80px;
}

.facilities_vehicledepots .section_space {
	width: 85%;
	max-width: 1220px;
	margin: 0 auto;
}

.facilities_vehicledepots .section_space .container {
	width: 100%;
}

.facilities_vehicledepots .section_space .container .facilities {
	width: 100%;
}
.facilities_vehicledepots .section_space .container .facilities.mt {
	margin-top: 100px;
}

.facilities_vehicledepots .section_space .container .facilities .title_box {
	text-align: center;
}

.facilities_vehicledepots .section_space .container .facilities .title_box h3 {
	font-size: 50px;
}

.facilities_vehicledepots .section_space .container .facilities .title_box p {
	font-size: 20px;
    font-weight: bold;
}

.facilities_vehicledepots .section_space .container .facilities .facilities_list {
	width: 100%;
	margin-top: 70px;
}

.facilities_vehicledepots .section_space .container .facilities .facilities_list h4 {
	font-size: 20px;
    font-weight: 600;
    text-align: center;
    position: relative;
}
.facilities_vehicledepots .section_space .container .facilities .facilities_list h4:before {
	background-color: #078C4A;
    border-radius: 5px;
    bottom: -20px;
    content: "";
    height: 5px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 55px;
}

.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box {
	width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 40px 70px;
    margin-top: 60px;
}

.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box .grid_item {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 0 4%;
}

.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box .grid_item .img_box {
	width: 50%;
}

.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box .grid_item .img_box img {
	width: 100%;
	height: auto;
	border-radius: 15px;
	object-fit: cover;
	aspect-ratio: 1 / 0.717;
}

.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box .grid_item .facility_introduction {
	width: 46%;
}

.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box .grid_item .facility_introduction h5 {
	font-size: 25px;
    font-weight: 600;
	line-height: 1.2;
}

.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box .grid_item .facility_introduction p {
	font-size: 13px;
    font-weight: 500;
	margin-top: 25px;
}

.facilities_vehicledepots .section_space .container .facilities .depots_grid {
	width: 88%;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 0px 55px;
    margin: 60px auto 0;
}

.facilities_vehicledepots .section_space .container .facilities .depots_grid .grid_item {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 35px;
}

.facilities_vehicledepots .section_space .container .facilities .depots_grid .grid_item .img_box {
	width: 100%;
}

.facilities_vehicledepots .section_space .container .facilities .depots_grid .grid_item .img_box img {
	width: 100%;
	height: auto;
	border-radius: 15px;
	object-fit: cover;
	aspect-ratio: 1 / 0.717;
}

.facilities_vehicledepots .section_space .container .facilities .depots_grid .grid_item .facility_introduction {
	width: 100%;
	padding: 0 10px;
}

.facilities_vehicledepots .section_space .container .facilities .depots_grid .grid_item .facility_introduction h4 {
	font-size: 25px;
    font-weight: 600;
}

.facilities_vehicledepots .section_space .container .facilities .depots_grid .grid_item .facility_introduction p {
	font-size: 13px;
    font-weight: 500;
	margin-top: 15px;
}

.facilities_vehicledepots .section_space .container .facilities .itemized_list {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 70px;
}

.facilities_vehicledepots .section_space .container .facilities .itemized_list h4 {
	font-size: 20px;
    font-weight: 600;
}

.facilities_vehicledepots .section_space .container .facilities .itemized_list .date {
	font-size: 13px;
    font-weight: 600;
	margin-top: 15px;
}

.facilities_vehicledepots .section_space .container .facilities .itemized_list .list_box {
	display: flex;
	flex-direction: column;
	gap: 45px;
	margin-top: 40px;
}

.facilities_vehicledepots .section_space .container .facilities .itemized_list .list_box {
	display: flex;
	flex-direction: column;
	gap: 45px;
	margin-top: 40px;
}

.facilities_vehicledepots .section_space .container .facilities .itemized_list .list_box .list_flex {
	display: flex;
	align-items: center;
}

.facilities_vehicledepots .section_space .container .facilities .itemized_list .list_box .list_flex h5 {
	font-size: 15px;
    font-weight: 900;
    position: relative;
    padding-left: 15px;
    min-width: 200px;
}
.facilities_vehicledepots .section_space .container .facilities .itemized_list .list_box .list_flex h5:before {
	background-color: #078C4A;
    border-radius: 5px;
    top: 50%;
    content: "";
    height: 30px;
    left: 0;
    position: absolute;
    transform: translateY(-50%);
    width: 5px;
}

.facilities_vehicledepots .section_space .container .facilities .itemized_list .list_box .list_flex .list_text {
	font-size: 13px;
    font-weight: 600;
}



.facilities_vehicledepots .section_space .container .facilities .info_box {
	width: 100%;
	max-width: 900px;
	margin: 75px auto 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.facilities_vehicledepots .section_space .container .facilities .info_box .border_title {
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    position: relative;
}

.facilities_vehicledepots .section_space .container .facilities .info_box .border_title:before {
    background-color: #078C4A;
    border-radius: 5px;
    bottom: -20px;
    content: "";
    height: 5px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 55px;
}

.facilities_vehicledepots .section_space .container .facilities .info_box .text_flex {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 5px;
	margin-top: 40px;
}

.facilities_vehicledepots .section_space .container .facilities .info_box .text_flex img {
    width: 24px;
    height: auto;
}

.facilities_vehicledepots .section_space .container .facilities .info_box .text_flex p {
    font-size: 13px;
    font-weight: 500;
}

.facilities_vehicledepots .section_space .container .facilities .info_box .info_flex {
	width: 100%;
	margin-top: 20px;
}

.facilities_vehicledepots .section_space .container .facilities .info_box .info_flex .details_box {
	width: 100%;
	display: flex;
    justify-content: center;
}

.facilities_vehicledepots .section_space .container .facilities .info_box .info_flex .details_box .download_button {
	border: solid 1px #078C4A;
	border-radius: 5px;
	padding: 5px 15px;
	display: flex;
	align-items: center;
	gap: 0 15px;
}

.facilities_vehicledepots .section_space .container .facilities .info_box .info_flex .details_box .download_button img {
	width: 24px;
	height: auto;
}

.facilities_vehicledepots .section_space .container .facilities .info_box .info_flex .details_box .download_button p {
	color: #1C1C1C;
	font-size: 13px;
    font-weight: bold;
    line-height: 1.6;
}









/* contact */

.contact {
	width: 100%;
	padding: 70px 0 100px;
}

.contact .section_space {
	width: 60%;
	max-width: 850px;
	margin: 0 auto;
}

.contact .section_space .container {
	width: 100%;
}

.contact .section_space .container .tel_contact {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 50px;
}

.contact .section_space .container h3 {
	font-size: 25px;
    font-weight: 600;
}

.contact .section_space .container .tel_contact .tel_link {
	display: flex;
	align-items: center;
	gap: 0 25px;
}

.contact .section_space .container .tel_contact .tel_link .icon_box {
	width: 90px;
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #078C4A;
	border-radius: 50px;
}

.contact .section_space .container .tel_contact .tel_link .icon_box i {
	color: #fff;
	font-size: 45px;
}

.contact .section_space .container .tel_contact .tel_link .text_box {
	color: #1C1C1C;
}

.contact .section_space .container .tel_contact .tel_link .text_box .text {
	font-size: 20px;
    font-weight: 600;
}

.contact .section_space .container .tel_contact .tel_link .text_box .number {
	font-size: 32px;
    font-weight: 600;
	line-height: 1;
    letter-spacing: 0.5px;
    margin-top: 8px;
}

.contact .section_space .container .tel_contact .tel_link .text_box span {
	font-size: 14px;
    font-weight: 600;
}

.contact .section_space .container .form_contact {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 80px;
}

.contact .section_space .container .form_contact .text {
	font-size: 14px;
    font-weight: 600;
	text-align: center;
	margin-top: 25px;
	line-height: 2;
}

.contact .section_space .container .form_contact .form_box {
	width: 100%;
	margin-top: 50px;
}

.contact .section_space .container .form_contact .form_box .inquiry_item {
	width: 100%;
}

.contact .section_space .container .form_contact .form_box .inquiry_item h4 {
	font-size: 20px;
    font-weight: 600;
	text-align: center;
}

.contact .section_space .container .form_contact .form_box .inquiry_item .button_box {
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
}

.contact .section_space .container .form_contact .form_box .inquiry_item .button_box .switch_button {
	width: 49.4%;
	text-align: center;
	font-size: 16px;
    font-weight: 600;
	padding: 20px 0;
	background-color: #D7D7D7;
	color: #1C1C1C;
	transition: .3s all;
}
.contact .section_space .container .form_contact .form_box .inquiry_item .button_box .switch_button:hover {
	background-color: #078C4A;
	color: #fff;
}
.contact .section_space .container .form_contact .form_box .inquiry_item .button_box .switch_button.active {
	color: #fff;
	background-color: #078C4A;
}
.contact .section_space .container .form_contact .form_box .inquiry_item .button_box .switch_button:nth-of-type(1) {
	border-radius: 15px 0 0 15px;
}
.contact .section_space .container .form_contact .form_box .inquiry_item .button_box .switch_button:nth-of-type(2) {
	border-radius: 0 15px 15px 0;
}

/* フォームデザイン */

.form_box form {
	width: 100%;
	margin-top: 25px;
}

.form_box form .form_back {
	width: 100%;
	background-color: #F9F8F8;
	border-radius: 15px;
	padding: 60px 55px;
}

.form_box form .item {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 0 3%;
}
.form_box form .item:not(:last-child) {
	margin-bottom: 35px;
}

.form_box form .item.notcenter {
	align-items: flex-start;
}

.form_box form .item .label {
	width: 32%;
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.7;
}

.form_box form .item .label span {
	font-size: 14px;
	font-weight: 600;
	color: #EA2C0A;
}

.form_box form .item .wpcf7-form-control-wrap {
	width: 65%;
	line-height: 1.7;
}

.form_box form .item .input {
	width: 100%;
	background-color: #fff;
	border-radius: 5px;
	padding: 15px 25px;
	border: none;
	font-size: 17px;
}

.form_box form .item textarea {
	width: 100%;
	background-color: #fff;
	border-radius: 5px;
	padding: 15px 25px;
	border: none;
	font-size: 17px;
	line-height: 1.5;
}

.form_box form .form_button_box {
	cursor: pointer;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 320px;
    margin: 50px auto;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
}
.form_box form .form_button_box.confirmation {
    width: 200px;
}

.form_box form .form_button_box .confirm-button {
	font-size: 18px;
    font-weight: 600;
	color: #282A2E;
    width: 100%;
    letter-spacing: 1px;
    text-decoration: none;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 10px 0px 10px 35px;
    display: block;
    z-index: 3;
	transition: 0.3s ease-in-out;
}
.form_box form .form_button_box.confirmation .confirm-button {
    padding: 10px 0px 10px 15px;
}

.form_box form .form_button_box .wpcf7-spinner {
	display: none !important;
}

.form_box form .form_button_box:before, .form_box form .form_button_box:after {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
}
.form_box form .form_button_box:before {
	width: 0.5rem;
	height: 0.5rem;
	left: 16px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
}
.form_box form .form_button_box:after {
	left: 0;
	background: #078C4A;
	z-index: 1;
	width: 45px;
	height: 45px;
	border-radius: 50px;
	transform: translateY(-50%);
	transition: all 0.5s;
}

.form_box form .form_button_box:hover .confirm-button {
	color: #fff;
}
.form_box form .form_button_box:hover:before {
	left: 35px;
}
.form_box form .form_button_box:hover:after {
	right: 0;
	width: 100%;
	background: #078C4A;
}

/* フォームデザインここまで */

/* thanks */

.contact .section_space .container .thanks_top {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 70px;
}

.contact .section_space .container .thanks_top img {
	width: 170px;
	height: auto;
}

.contact .section_space .container .thanks_top h3 {
	font-size: 25px;
    font-weight: 600;
	margin-top: 40px;
}

.contact .section_space .container .thanks_top p {
	font-size: 14px;
    font-weight: 600;
	text-align: center;
	margin-top: 25px;
	line-height: 2;
}

.more_button.top_ver a {
	font-weight: 600;
    font-size: 18px;
    letter-spacing: 3px;
    width: 230px;
	max-width: 230px;
}




/* single.php */

.news_details {
	width: 100%;
	padding: 30px 0 150px;
}

.news_details .section_space {
	width: 80%;
	max-width: 800px;
	margin: 0 auto;
}

.news_details .section_space .container {
	width: 100%;
}

.news_details .section_space .container .post_contents {
	width: 100%;
}

.news_details .section_space .container .post_contents .title_box {
	width: 100%;
	display: flex;
	flex-direction: column;
}

.news_details .section_space .container .post_contents .title_box h3 {
	font-size: 26px;
    font-weight: 600;
	line-height: 1.5;
}

.news_details .section_space .container .post_contents .title_box .flex_box {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
}

.news_details .section_space .container .post_contents .title_box .flex_box .post-categories {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 10px;
}

.news_details .section_space .container .post_contents .title_box .flex_box .post-categories .cat-label {
	font-size: 13px;
    font-weight: bold;
    padding: 3px 10px;
    border-radius: 5px;
    line-height: 1.2;
    color: #078C4A;
    border: solid 1px #078C4A;
}
.news_details .section_space .container .post_contents .title_box .flex_box .post-categories .cat-label.important {
	color: #FB3640 !important;
    border: solid 1px #FB3640 !important;
}

.news_details .section_space .container .post_contents .title_box .flex_box .data {
	font-size: 14px;
    font-weight: 400;
	text-align: right;
	display: block;
}

.news_details .section_space .container .post_contents .thumbnail {
	width: 100%;
	height: auto;
	margin-top: 40px;
}

.news_details .section_space .container .post_contents .content_box {
	width: 100%;
	margin-top: 40px;
}

.news_details .section_space .container .post_contents .content_box p {
	margin-bottom: 1.5em;
}

.news_details .section_space .container .post_contents .content_box .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}












/* footer */

footer {
	width: 100%;
	padding: 0 20px;
}

footer .sitemap {
	width: 100%;
	background-color: #078C4A;
	padding: 35px 75px;
	border-radius: 15px;
}

footer .sitemap .flex_box {
	width: 100%;
	display: flex;
	justify-content: space-between;
}

footer .sitemap .flex_box .left_box {
	display: flex;
	gap: 0 65px;
	color: #fff;
}

footer .sitemap .flex_box .left_box .title_box {
	padding: 10px 0 0;
}

footer .sitemap .flex_box .left_box .title_box h2 {
	font-size: 50px;
}

footer .sitemap .flex_box .left_box .title_box p {
	font-size: 20px;
	font-weight: bold;
}

footer .sitemap .flex_box .left_box .menu_box {
	display: flex;
	gap: 0 45px;
	padding: 30px 0 0;
}

footer .sitemap .flex_box .left_box .menu_box ul {
	display: flex;
	flex-direction: column;
	gap: 20px 0;
}

footer .sitemap .flex_box .left_box .menu_box ul li a {
	font-weight: 500;
	font-size: 13px;
	color: #fff;
	position: relative;
	transition: .3s all;
}
footer .sitemap .flex_box .left_box .menu_box ul li a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #fff;
	bottom: -5px;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform 0.3s;
}
footer .sitemap .flex_box .left_box .menu_box ul li a:hover::after {
	transform: scale(1, 1);
}

footer .sitemap .flex_box .left_box .menu_box ul li.title a {
	font-weight: bold;
	font-size: 15px;
	color: #fff;
}

footer .sitemap .flex_box .right_box {
	width: 258px;
}

footer .sitemap .flex_box .right_box .top_box {
	display: flex;
	justify-content: space-between;
	gap: 0 15px;
}

footer .sitemap .flex_box .right_box .top_box a {
	width: 50%;
	display: block;
	border-radius: 10px;
	overflow: hidden;
}

footer .sitemap .flex_box .right_box .top_box a img {
	width: 100%;
	height: auto
}

footer .sitemap .flex_box .right_box .bottom_box {
	width: 100%;
	margin-top: 15px;
}

footer .sitemap .flex_box .right_box .bottom_box img {
	width: 100%;
	height: auto;
	border-radius: 14px;
}





footer .copyright {
	width: 90%;
	margin: 0 auto;
	max-width: 1250px;
	padding: 30px 0 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

footer .copyright .left_box {
	display: flex;
	align-items: center;
	gap: 0 10px;
}

footer .copyright .left_box p {
	font-family: itc-avant-garde-gothic-pro, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 20px;
}

footer .copyright .left_box {
	font-weight: bold;
	font-size: 13px;
}

footer .copyright .right_box p {
	font-weight: bold;
	font-size: 12px;
}





@media (max-width: 768px) {
	
	body.loftloader-loaded {
		overflow: auto !important;
	}
	
	.return-to-top-button {
		bottom: auto;
		top: 80px;
		right: auto;
		left: 50%;
		padding: 11px 45px;
		transform: translate(-50%, 20px);
		font-size: 16px;
	}
	.return-to-top-button.is-visible {
    opacity: 1;
    visibility: visible;
		transform: translate(-50%, 0);
	}
	
	/* header */

	header {
		height: 64px;
		padding: 0 15px;
	}

	header .flex_box {
		padding-left: 0px;
		justify-content: space-between;
	}

	header .flex_box .logo_link {
		width: 150px;
	}

	header .flex_box .nav_box {
		display: none;
	}


	header .flex_box .hamburger_box {
		display: block;
	}





	/* main */

	main {
		margin-top: 64px;
	}
main.front_main {
	margin-top: 0px;
}

.white_back {
	z-index: 50;
	position: relative;
}

.animation_box {
    width: 100%;
    position: relative;
}

	.animation_box .fixed-header {
    position: absolute;
    top: 0;
    left: 0;
		padding: 15px 20px 0;
    justify-content: space-between;
		align-items: center;
	}

	.animation_box .fixed-header .header-nav {
		display: none;
	}

.animation_box .fixed-header .header-logo {
    
}

	.animation_box .fixed-header .header-logo a {
		font-size: 24px;
	}

	.animation_box .hero-overlay {
		overflow-x: hidden;
	}

	.animation_box .hero-overlay .logo-container {
		top: 30%;
		right: -15%;
		width: 50%;
	}

	.animation_box .hero-overlay h2 {
		top: 40%;
		right: 20px;
		font-size: 12vw;
	}

	.animation_box .hero-overlay .subtitle {
		top: 20%;
		left: 35px;
		font-size: 6vw;
	}

	.animation_box .hero-overlay .subtitle span {
		font-size: 7vw;
	}

	.animation_box .hero-overlay .contact_box {
		width: 85%;
		bottom: 10%;
		right: 50%;
		transform: translatex(50%);
	}

	.animation_box .hero-overlay .contact_box .flex_box .nav_tel_item {
		gap: 10px;
		padding: 15px 15px;
		width: 100%;
	}

.animation_box .hero-overlay .contact_box .flex_box .nav_tel_item i {
    font-size: 25px;
}

.animation_box .hero-overlay .contact_box .flex_box .nav_tel_item span {
    font-size: 12px;
    font-weight: 600;
	color: #E7F2EC;
}

.animation_box .hero-overlay .contact_box .flex_box .nav_tel_item p {
    font-size: 20px;
    font-weight: 600;
    margin-top: 0px;
	line-height: 1.4;
}

	.animation_box .hero-overlay .contact_box .flex_box .nav_contact_item {
		flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: #EA2C0A;
    gap: 5px;
    padding: 20px 15px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 1px;
}

.animation_box .hero-overlay .contact_box .flex_box .nav_contact_item i {
    font-size: 30px;
}

.animation_box .hero-overlay .contact_box .nav_permit_item {
    width: 100%;
	display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: #073586;
    gap: 15px;
    padding: 15px 25px;
}

.animation_box .hero-overlay .contact_box .nav_permit_item i {
    font-size: 25px;
}

.animation_box .hero-overlay .contact_box .nav_permit_item div {
    display: flex;
	flex-direction: column;
}

.animation_box .hero-overlay .contact_box .nav_permit_item div span {
    font-size: 12px;
	font-weight: 500;
	color: #DAE1ED;
}

.animation_box .hero-overlay .contact_box .nav_permit_item div p {
    font-size: 18px;
	font-weight: bold;
	line-height: 1.5;
}

.animation_box .center-text {
    /* ★追加: アニメーション時に新しい合成レイヤーを強制的に作成させる */
    will-change: opacity, transform;
}

.animation_box .center-text span {
    color: #078C4A;
}

	.animation_box #centerText1 {
		width: 90%;
		font-size: 6.5vw;
	}

.animation_box #centerText1.visible {
    opacity: 1;
    transform: translate(-50%, -50%);
}

.animation_box #centerText1.hidden {
    opacity: 0;
    transform: translate(-50%, -40%);
}

	.animation_box #centerText2 {
		width: 90%;
		font-size: 3vw;
	}

.animation_box #centerText2.visible {
    opacity: 1;
    transform: translate(-50%, -50%);
}

.animation_box #centerText2.hidden {
    opacity: 0;
    transform: translate(-50%, -40%);
}

.animation_box .spacer {
}

/* スライディングテキスト用のスタイル */
.animation_box .sliding-texts-container {
    position: fixed;
    top: 0; /* 画面上端から */
    left: 0; /* 画面左端から */
    width: 100vw; /* 画面全体の幅 */
    height: 100vh; /* 画面全体の高さ */
    /* transform: translate(-50%, -50%); は不要になりました */
    z-index: 0;  /* パーティクルより手前、主要UIより奥 */
    pointer-events: none; /* 操作を透過させる */
    display: flex;
    flex-direction: column; /* テキストを縦に並べる */
    justify-content: space-around; /* 均等に配置 (上下の余白も含む) */
    align-items: center; /* 水平方向中央揃え */
    padding: 0vh 2vw; /* 上下のパディングを画面高さの5%、左右のパディングを画面幅の2%に */
    box-sizing: border-box; /* パディングとボーダーを要素の幅・高さに含める */
  }
  
.animation_box .sliding-text {
    /*
      フォントサイズをビューポート単位で指定し、clamp()で調整します。
      推奨値として画面高さの約18%、最小2rem、最大は画面幅の15%とします。
      3つのテキストが space-around で配置されるため、これで画面の大部分を占める印象になります。
    */
    font-size: clamp(2rem, 12vh, 27vh);
    color: #efefef;
    font-weight: bold;
    padding: 0vh 0vw; /* パディングもビューポート単位で調整 */
    /* margin-bottom は justify-content: space-around により不要 */
    opacity: 0; /* 初期状態は非表示 */
    white-space: nowrap; /* テキストが折り返さないように */
    text-align: center;
    width: auto; /* テキストの内容に幅を合わせる */
    min-width: 50vw; /* 最小幅を設定して、細長い画面でも見栄えを保つ */
    max-width: 90vw; /* 横に広がりすぎないように最大幅も設定 */
    box-sizing: border-box;
    font-family: 'Times New Roman', Times, serif;
  }
  
  /* 初期位置を画面外に設定 */
  /* コンテナが画面全体になったため、translateXの値を調整 */
.animation_box .sliding-text.text1, .sliding-text.text3 {
    transform: translateX(100vw); /* 右画面外 (画面幅分) */
  }
.animation_box .sliding-text.text2 {
    transform: translateX(-100vw); /* 左画面外 (画面幅分) */
  }

.section {
	width: 100%;
}

	.section .section_space {
		width: 87%;
		max-width: 100%;
	}

.section .section_space .container {
	width: 100%;
}

	.section .section_space .container .title_box {
	width: 100%;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

	.section .section_space .container .title_box .left_box h2 {
		font-size: 26px;
	}

	.section .section_space .container .title_box .left_box p {
		font-size: 14px;
	}

	.section .section_space .container .title_box .more_button a {
		width: 140px;
	}


	body.drawer-open {
    overflow: hidden !important;
}

	.section.top_our_service {
		padding: 0;
		overflow-x: hidden;
	}

	.section.top_our_service .gray_back {
		width: 100%;
		padding: 50px 0 0px;
	}
	.section.top_our_service .gray_back .truck_icon {
		width: 38vw;
        right: 0;
        bottom: 0px;
        margin-left: auto;
        display: block;
        position: relative;
		margin-top: 20px;
	}

	.section.top_our_service .gray_back .service_top_flex {
		gap: 0;
		transform: translateY(0);
	}

	.section.top_our_service .gray_back .service_top_flex .img_box {
		display: none;
	}

	.section.top_our_service .gray_back .service_top_flex .text_box {
		padding-right: 0px;
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	
	.section.top_our_service .gray_back .service_top_flex .text_box .sp_flex {
		width: 100%;
		display: flex;
		align-items: flex-end;
		gap: 0 10px;
	}
	
	.section.top_our_service .gray_back .service_top_flex .text_box .sp_flex img {
		width: 50%;
		height: 230px;
		object-fit: cover;
		object-position: right;
		border-radius: 0 25px 25px 0;
	}
	
	.section.top_our_service .gray_back .service_top_flex .text_box .sp_flex .txt {
		margin-bottom: 25px;
	}
	
	.section.top_our_service .gray_back .service_top_flex .text_box .sp_flex .txt .more_button {
		margin-top: 40px;
	}

	.section.top_our_service .gray_back .service_top_flex .text_box h2 {
		font-size: 6.5vw
	}

	.section.top_our_service .gray_back .service_top_flex .text_box .subtitle {
		font-size: 3.5vw;
	}

	.section.top_our_service .gray_back .service_top_flex .text_box .text {
		font-size: 12px;
		margin-top: 35px;
		padding: 0 25px;
	}

.section.top_our_service .gray_back .service_top_flex .text_box .more_button {
	
}

	.section.top_our_service .gray_back .service_bottom_box {
		width: 100%;
		padding: 0 25px;
		margin-top: 55px;
	}

	.section.top_our_service .gray_back .service_bottom_box .flex_box {
		flex-direction: column;
		align-items: center;
		gap: 55px 0;
	}

	.section.top_our_service .gray_back .service_bottom_box .flex_box .box_item {
		width: 100%;
		flex-direction: column;
		align-items: center;
		gap: 0;
	}

	.section.top_our_service .gray_back .service_bottom_box .flex_box .box_item .image_box {
		width: 35%;
	}

	.section.top_our_service .gray_back .service_bottom_box .flex_box .box_item .contents_box {
		width: 100%;
		padding-top: 0px;
		margin-top: 15px;
		text-align: center;
	}

	.section.top_our_service .gray_back .service_bottom_box .flex_box .box_item .contents_box h3 {
		font-size: 20px;
	}

	.section.top_our_service .gray_back .service_bottom_box .flex_box .box_item .contents_box p {
		font-size: 12px;
		margin-top: 20px;
		line-height: 2;
	}

	.section.top_our_service .gray_back .service_bottom_box .available_areas_box {
		gap: 0;
		margin-top: 90px;
	}

	.section.top_our_service .gray_back .service_bottom_box .available_areas_box .img_box {
		display: none;
	}

	.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box {
		width: 100%;
	}

	.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box h3 {
		font-size: 24px;
		text-align: center;
	}

	.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .text1 {
		font-size: 12px;
		text-align: center;
		line-height: 2;
	}
	
	.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .areas_sp {
		width: 100%;
		height: auto;
		margin-top: 15px;
	}

	.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .available_areas {
		padding: 0 20px;
	}

	.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .available_areas p {
		font-size: 12px;
		margin-top: 15px;
	}

	.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .items_handled {
		margin-top: 25px;
		padding: 0 20px;
	}

	.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .items_handled .item_box p {
		font-size: 12px;
	}

	.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .items_handled .item_box span {
		font-size: 12px;
	}
	
	.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .more_button {
		margin-top: 35px;
		padding: 0 20px;
	}

	.section.top_our_service .gray_back .service_bottom_box .available_areas_box .text_box .more_button a {
		max-width: 260px;
		width: 230px;
	}

	.section.top_our_service .gray_back .service_bottom_box .precautions {
		flex-direction: column;
		gap: 15px 0;
	}

	.section.top_our_service .gray_back .service_bottom_box .precautions h3 {
		font-size: 24px;
	}

	.section.top_our_service .gray_back .service_bottom_box .precautions p {
		font-size: 12px;
		text-align: center;
		line-height: 2;
	}



	.section.top_license {
		padding: 60px 0 30px;
	}

	.section.top_license .license_grid {
		grid-template-columns: repeat(1, 1fr);
		gap: 25px 0;
	}

.section.top_license .license_grid .grid_item .img_box .more_box {
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: #fff;
	border-radius: 35px 0 35px 0;
	z-index: 1;
	padding: 12px 0 0 12px;
}

	.section.top_license .license_grid .grid_item .img_box .more_box a {
		font-size: 14px;
		width: 160px;
		height: 45px;
	}

.section.top_license .license_grid .grid_item .text_box {
	width: 100%;
	margin-top: 25px;
}

	.section.top_license .license_grid .grid_item .text_box h3 {
		font-size: 16px;
	}

	.section.top_license .license_grid .grid_item .text_box p {
		font-size: 12px;
		line-height: 1.8;
	}

	.section.top_license .center_box {
		margin-top: 40px;
	}

	.section.top_license .center_box p {
		font-size: 12px;
	padding: 5px 0;
	}

	.green_bar {
		padding: 15px 0;
	}

	.green_bar p {
		font-size: 4vw;
		gap: 0 5px;
	}
	
	.green_bar p img {
		width: 4vw;
		margin-top: -5px;
	}
	
	.recruit_img_box {
		width: 100%;
		padding: 50px 10px 40px;
		max-width: 100%;
	}
	
	

.section.top_recruit {
	padding: 105px 0;
	background-color: #FAFAFA;
}

.section.top_recruit .section_space {
	width: 82%;
	max-width: 1200px;
	margin: 0 auto;
}

.section.top_recruit .section_space .container {
	width: 100%;
}

.section.top_recruit .section_space .container .recruit_title {
	width: 100%;
	text-align: center;
}

.section.top_recruit .section_space .container .recruit_title h2 {
	font-size: 20px;
	font-weight: 500;
}

.section.top_recruit .section_space .container .recruit_title p {
	font-size: 55px;
	font-family: "Poppins", sans-serif;
	font-weight: 300;
	font-style: normal;
	text-transform: uppercase;
	line-height: 1.4;
	margin-top: 25px;
}

.section.top_recruit .section_space .container .recruit_title p span {
	font-size: 65px;
	font-weight: 700;
}

.section.top_recruit .section_space .container .img_box {
	width: 100%;
	padding: 80px 0 0;
	position: relative;
	text-align: center;
}

@keyframes arrowFloat {
  0% { transform: translateY(0); }
  50% { transform: translateY(-15px); }
  100% { transform: translateY(0); }
}
.section.top_recruit .section_space .container .img_box .arrow {
	width: 110px;
	height: auto;
	animation: arrowFloat 2s infinite ease-in-out;
}

.section.top_recruit .section_space .container .img_box .animation-img {
	position: absolute;
	border-radius: 35px;
	will-change: transform;
	transition: transform 3s linear;
}
.section.top_recruit .section_space .container .img_box .animation-img.ani1 {
	width: 15%;
	height: auto;
	left: 4%;
	top: 0;
	box-shadow: 16px -16px 64px rgba(49,49,49,0.5);
}
.section.top_recruit .section_space .container .img_box .animation-img.ani2 {
	width: 15%;
	height: auto;
	left: 25%;
	top: 140px;
	box-shadow: -16px 16px 64px rgba(49,49,49,0.5);
}
.section.top_recruit .section_space .container .img_box .animation-img.ani3 {
	width: 18%;
	height: auto;
	right: 10%;
	top: -20px;
	box-shadow: -16px 16px 64px rgba(49,49,49,0.5);
}

.section.top_recruit .section_space .container .recruit_message {
	width: 100%;
	display: flex;
	gap: 0 4%;
	margin-top: 80px;
}

.section.top_recruit .section_space .container .recruit_message .left_box {
	width: 68%;
	display: flex;
	gap: 0 6%;
	position: relative;
}

.section.top_recruit .section_space .container .recruit_message .left_box .img1_box {
	width: 51.5%;
	position: relative;
}

.section.top_recruit .section_space .container .recruit_message .left_box .img1_box .img1 {
	width: 100%;
	height: 36vw;
	border-radius: 35px;
}

.section.top_recruit .section_space .container .recruit_message .left_box .img1_box .svg1 {
	display: block;
    width: 2.6vw;
    height: auto;
    position: absolute;
    bottom: 0px;
    left: 11.8vw;
    transform: rotate(-180deg);
}

.section.top_recruit .section_space .container .recruit_message .left_box .img1_box .svg2 {
	display: block;
    width: 2.6vw;
    height: auto;
    position: absolute;
    bottom: 16vw;
    right: 0;
    transform: rotate(-180deg);
}

.section.top_recruit .section_space .container .recruit_message .left_box .img2_box {
	width: 42.5%;
	position: relative;
}

.section.top_recruit .section_space .container .recruit_message .left_box .img2_box .img2 {
	width: 100%;
	height: 20vw;
	border-radius: 35px;
}

.section.top_recruit .section_space .container .recruit_message .left_box .message_box {
	position: absolute;
	bottom: 0;
	left: 25.7%;
	background-color: #FAFAFA;
	padding: 40px 20px 15px;
	border-radius: 35px 0 0 0;
	height: 16vw;
}

.section.top_recruit .section_space .container .recruit_message .left_box .message_box h3 {
	font-size: 1.736111vw;
	font-weight: bold;
}

.section.top_recruit .section_space .container .recruit_message .left_box .message_box p {
	font-size: 0.902778vw;
	font-weight: bold;
	margin-top: 20px;
	line-height: 2.3;
}

.section.top_recruit .section_space .container .recruit_message .right_box {
	width: 28%;
	position: relative;
}

.section.top_recruit .section_space .container .recruit_message .right_box .img3 {
	width: 100%;
	height: 36vw;
	border-radius: 35px;
}

.section.top_recruit .section_space .container .recruit_message .right_box .svg1 {
	display: block;
    width: 2.6vw;
    height: auto;
    position: absolute;
    top: 0px;
    left: 4.6vw;
    transform: rotate(90deg);
}

.section.top_recruit .section_space .container .recruit_message .right_box .svg2 {
	display: block;
    width: 2.6vw;
    height: auto;
    position: absolute;
    top: 5.4vw;
    right: 0;
    transform: rotate(90deg);
}

.section.top_recruit .section_space .container .recruit_message .right_box .more_button {
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FAFAFA;
	margin: 0;
	padding: 1.5vw 0 1.5vw 1.4vw;
	border-radius: 0 0 0 35px;
}

.section.top_recruit .section_space .container .recruit_message .right_box .more_button a {
	position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: none;
    padding: 0px 1.2vw 0px 3.5vw;
    line-height: 1.8;
    text-decoration: none;
    color: #282A2E;
    transition: 0.3s ease-in-out;
    font-weight: 900;
    font-size: 1.38vw;
}

.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:before, 
.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:after {
	content: "";
	position: absolute;
	display: block;
	top: 50%;
}
.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:before {
	width: 0.5rem;
	height: 0.5rem;
	left: 10px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	z-index: 2;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s;
}
.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:after {
	left: 0;
	background: #282A2E;
	z-index: 1;
	width: 34px;
	height: 34px;
	border-radius: 50px;
	transform: translateY(-50%);
	transition: all 0.5s;
}
.section.top_recruit .section_space .container .recruit_message .right_box .more_button a span {
	position: relative;
	transition: all 0.3s;
	z-index: 3;
}

.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:hover span {
	color: #fff;
}
.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:hover:before {
	left: 25px;
}
.section.top_recruit .section_space .container .recruit_message .right_box .more_button a:hover:after {
	right: 0;
	width: 100%;
	background: #282A2E;
}






	.section.top_news {
		padding: 60px 0 60px;
	}

	.section.top_news .news_list {
		width: 100%;
		max-width: 100%;
		margin: 10px auto 0;
	}

	.section.top_news .news_list .list_item {
		padding: 25px 8px;
	}

	.section.top_news .news_list .list_item .news_link {
		gap: 15px 0;
	}
	
	.section.top_news .news_list .list_item .news_link .new_icon {
		left: -25px;
		top: 2px;
		transform: translatey(0);
	}

	.section.top_news .news_list .list_item .news_link .date {
		min-width: 0;
		font-size: 12px;
		padding: 0 10px 0 0;
	}

	.section.top_news .news_list .list_item .news_link span {
		font-size: 12px;
		margin-right: 0px;
	}

	.section.top_news .news_list .list_item .news_link .text {
		font-size: 12px;
		flex-basis: 100%;
	}




	/* page-title共通 */

	.page-title {
		padding: 20px 25px 10px;
	}
	
	.page-title.lp-page-ver {
		padding: 10px 10px 20px;
	}

	.page-title .title_space {
		width: 100%;
		max-width: 100%;
	}
	
	.page-title .title_space .title_flex {
		gap: 0 20px;
	}

	.page-title .title_space .title_flex .title_box h2 {
		font-size: 24px;
	}

	.page-title .title_space .title_flex .title_box p {
		font-size: 12px;
	}

	.page-title .title_space .title_flex .breadcrumb-area {
		font-size: 11px;
		gap: 0 8px;
		flex-wrap: wrap;
		line-height: 1.4;
	}




	/* page-company */

	.company_top {
		padding: 130px 0 0px;
	}

	.company_top .section_space {
		width: 100%;
		margin: 0;
	}

	.company_top .section_space .container {
		padding: 0 0 35px 0;
	}

	.company_top .section_space .container .flex_box {
		flex-direction: column-reverse;
		align-items: inherit;
		gap: 25px 0;
	}

	.company_top .section_space .container .flex_box .left_box {
		width: 90%;
		padding-left: 0px;
		margin: 0 auto;
	}

	.company_top .section_space .container .flex_box .left_box h3 {
		font-size: 24px;
		line-height: 1.5;
	}

	.company_top .section_space .container .flex_box .left_box p {
		font-size: 11px;
		margin-top: 25px;
		line-height: 2.4;
	}

	.company_top .section_space .container .flex_box .left_box p span {
		font-size: 11px;
		margin-top: 10px;
	}

	.company_top .section_space .container .flex_box .right_box {
		width: 87%;
		margin-left: auto;
	}

	.company_top .section_space .container .company_link_box {
		width: 85%;
		max-width: 100%;
		flex-wrap: wrap;
		gap: 25px 0;
		margin: -70px auto 0;
	}

	.company_top .section_space .container .company_link_box .link {
		width: 45%;
		gap: 0 15px;
	}

	.company_top .section_space .container .company_link_box .link .circle {
		width: 33px;
		height: 33px;
	}

	.company_top .section_space .container .company_link_box .link .circle i {
		font-size: 18px;
	}

	.company_top .section_space .container .company_link_box .link p {
		font-size: 15px;
	line-height: 1.3;
	}

	.company_top .section_space .container .company_link_box .link p span {
		font-size: 11px;
	}

	.company_section {
		padding-top: 50px;
	}

	.company_section .section_space {
		width: 88%;
		max-width: 100%;
	}

	.company_section .title_box h3 {
		font-size: 24px;
	}

	.company_section .title_box p {
		font-size: 14px;
	}



	.timeline-container {
		margin-left: 8%;
		margin-top: 40px;
	padding-top: 50px;
	overflow: hidden;
	}

	.swiper-container {
		min-height: 110px;
	}

.swiper-wrapper {
	display: flex;
	align-items: flex-start;
	position: relative;
	width: max-content;
}

/* タイムラインの線 */
.timeline-line {
	position: absolute;
	top: 24px;
	left: 10px;
	width: 100%;
	height: 3px;
	background: #078C4A;
	z-index: -1;
}

/* スライド */
.swiper-slide {
	width: 250px;
	flex-shrink: 0;
	margin-right: 0;
	scroll-snap-align: start;
	position: relative;
	padding: 0px 20px 20px;
	transition: .3s all;
	-webkit-backface-visibility: hidden; /* Safari向けのチラつき防止 */
	backface-visibility: hidden;         /* チラつき防止 */
	-webkit-transform: translateZ(0);    /* SafariにGPUレンダリングを促す */
	transform: translateZ(0); 
}
.swiper-slide.active {
	padding: 0px 20px 20px 40px;
}

/* 上部の点 */
.swiper-slide .dot {
  position: absolute;
  top: -30px;
  left: 15px;
  width: 12px;
  height: 12px;
  background: #078C4A;
  border-radius: 50%;
  z-index: 2;
  transition: transform 1.3s;
	-webkit-backface-visibility: hidden; /* Safari向けのチラつき防止 */
	backface-visibility: hidden;         /* チラつき防止 */
	-webkit-transform: translateZ(0);    /* SafariにGPUレンダリングを促す */
	transform: translateZ(0);
}

.swiper-slide.active .dot {
  transform: scale(3);
}

	.swiper-slide .content h4 {
		font-size: 14px;
	}

	.swiper-slide .content p {
		font-size: 11px;
	margin-top: 10px;
	}

	.swiper-slide.active .content h4 {
		font-size: 14px;
	}

	.swiper-slide.active .content p {
		font-size: 11px;
	}

/* ナビボタン */
.timeline-nav {
	display: flex;
	justify-content: flex-end;
	gap: 20px;
	margin-top: 0px;
	margin-right: 7%;
}

.timeline-nav p {
	font-size: 13px;
	font-weight: bold;
}

.timeline-nav button {
	width: 30px;
	height: 30px;
	background-color: #078C4A;
	border-radius: 65px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.timeline-nav button i {
	font-size: 16px;
	color: #fff;
}










	.company_section .info_box {
		width: 100%;
		max-width: 100%;
		margin: 0px auto 0;
		padding-top: 65px;
		gap: 40px 0;
	}

	.company_section .info_box .info_flex .info_title {
		min-width: 120px;
	}

	.company_section .info_box .info_flex .info_title h4,
	.company_section .info_box .info_flex .info_title .h5-border{
		font-size: 13px;
	line-height: 1.6;
	}

	.company_section .info_box .info_flex .details_box {
		flex-direction: column;
		gap: 15px 0;
	}

	.company_section .info_box .info_flex .details_box p {
		font-size: 12px;
	line-height: 1.6;
	}
	
	.company_section .info_box .info_flex .details_box .number {
		font-size: 12px;
	}

	.company_section .info_box .info_flex .details_box .box_item.half {
		width: 100%;
	}

	.company_section .info_box .info_flex .details_box .box_item.column {
		gap: 10px 0;
	}

	.company_section .info_box .info_flex .details_box .box_item h5 {
		font-size: 12px;
	line-height: 1.6;
	}

	.company_section .info_box .info_flex .details_box .download_button img {
		width: 24px;
	}

	.company_section .info_box .info_flex .details_box .right {
		font-size: 10px;
	}
	
	.company_section .info_box .info_flex .details_box table.table01 {
		display: none;
	}
	
	.company_section .info_box .info_flex .details_box table.table02 {
		display: table;
		width:100%;
		border-collapse: collapse;
		table-layout: fixed;
	}
	.company_section .info_box .info_flex .details_box table.table02 tbody th {
		background: #51AC4F;
		color: #FFF;
		padding: 12px 0;
		border-radius: 0px;
		margin: 1.5px 0;
		font-size: 12px;
		font-weight: bold;
	}
	.company_section .info_box .info_flex .details_box table.table02 tbody tr {
		border-top: solid 1.5px #fff;
		border-bottom: solid 1.5px #fff;
	}
	.company_section .info_box .info_flex .details_box table.table02 thead th:first-child {
		background: transparent;
	}
	.company_section .info_box .info_flex .details_box table.table02 tbody tr:last-child th {
		background: #078C4A;
	}
	.company_section .info_box .info_flex .details_box table.table02 tbody tr:nth-child(odd) {
		background: #FAFAFA;
	}
	.company_section .info_box .info_flex .details_box table.table02 thead th {
		padding: 10px 0;
		font-size: 12px;
		font-weight: bold;
	}
	.company_section .info_box .info_flex .details_box table.table02 tbody tr:last-child td {
		color: #078C4A;
	}
	.company_section .info_box .info_flex .details_box table.table02 tbody td {
		padding: 12px 0;
		text-align: center;
		font-size: 11px;
		font-weight: bold;
	}
	.company_section .info_box .info_flex .details_box table.table02 tbody td:last-child {
		color: #078C4A;
	}

	.company_section.license .section_space {
		width: 88%;
		max-width: 100%;
	}

	.company_section .info_box.license_ver {
		gap: 20px 0;
	}

.company_section .info_box.license_ver .info_flex .info_title {
    min-width: 100px;
    flex-shrink: 0;
}

	.company_section .info_box .border_title {
		font-size: 14px;
	}
	.company_section .info_box .border_title:before {
		bottom: -15px;
		width: 40px;
	}

	.company_section .info_box .text_flex {
		margin-top: 10px;
		margin-bottom: 25px;
	}

	.company_section .info_box .text_flex img {
		width: 24px;
	}

	.company_section .info_box .text_flex p {
		font-size: 11px;
	}

	.company_section .info_box.mt-ot {
		margin: 0px auto 0;
	}

	.company_section .info_box .tokyo23 {
		width: 100%;
	margin: 0 auto;
	text-align: center;
}

	.company_section .info_box .tokyo23 svg {
		width: 100%;
		height: auto;
	}

.company_section .info_box .tokyo23 svg a path {
	transition: .3s all;
}

.company_section .info_box .tokyo23 svg a path:hover {
	fill: #078C4A !important;
}


	.company_section.access {
		padding-top: 60px;
		padding-bottom: 50px;
	}

	.company_section.access .section_space .container .access_list_box {
		width: 100%;
		max-width: 100%;
		margin: 30px auto 0;
		grid-template-columns: repeat(1, 1fr);
		gap: 35px 0;
	}

	.company_section.access .section_space .container .access_list_box .list_item {
		justify-content: space-between;
		gap: 0;
	}

	.company_section.access .section_space .container .access_list_box .list_item .text_box {
		width: 67%;
	}

	.company_section.access .section_space .container .access_list_box .list_item .text_box h4 {
		font-size: 14px;
	line-height: 1.2;
	}

	.company_section.access .section_space .container .access_list_box .list_item .text_box p {
		font-size: 12px;
		margin-top: 10px;
	}

.company_section.access .section_space .container .access_list_box .list_item .maplink_button {
    font-size: 10px;
	font-weight: 500;
	margin-top: 5px;
	display: inline-block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    padding: 10px 10px;
    color: #fff;
    background: #000;
    position: relative;
    transition: 0.3s ease-in-out;
	width: 100%;
}
.company_section.access .section_space .container .access_list_box .list_item .maplink_button:hover {
    background: #fff;
    color: #000;
}
.company_section.access .section_space .container .access_list_box .list_item .maplink_button:before, 
.company_section.access .section_space .container .access_list_box .list_item .maplink_button:after {
	box-sizing: inherit;
	content: "";
	position: absolute;
	border: 2px solid transparent;
	width: 0;
	height: 0;
}
.company_section.access .section_space .container .access_list_box .list_item .maplink_button:before {
	top: 0;
	left: 0;
}
.company_section.access .section_space .container .access_list_box .list_item .maplink_button:after {
	bottom: 0;
	right: 0;
}
.company_section.access .section_space .container .access_list_box .list_item .maplink_button:hover:before, 
.company_section.access .section_space .container .access_list_box .list_item .maplink_button:hover:after {
	width: 100%;
	height: 100%;
}
.company_section.access .section_space .container .access_list_box .list_item .maplink_button:hover:before {
	border-top-color: #000;
	border-right-color: #000;
	transition: width 0.15s ease-out, height 0.15s ease-out 0.15s;
}
.company_section.access .section_space .container .access_list_box .list_item .maplink_button:hover:after {
	border-bottom-color: #000;
	border-left-color: #000;
	transition: border-color 0s ease-out 0.2s, width 0.15s ease-out 0.2s, height 0.15s ease-out 0.3s;
}

	.company_section.access .section_space .container .access_list_box .list_item .map_box {
		width: 33%;
	}








	/* page-service */

	.service_top .first_box .title_box {
		padding: 50px 0 35px;
	}

	.service_top .first_box .title_box h3 {
		font-size: 24px;
	}

	.service_top .first_box .title_box p {
		font-size: 12px;
		margin-top: 25px;
		line-height: 2;
	}

	.service_top .first_box .service_content {
		padding: 30px 0;
	}

	.service_top .first_box .service_content h3 {
		font-size: 14px;
	}
	.service_top .first_box .service_content h3::before {
		bottom: -15px;
		width: 40px;
	}

	.service_top .first_box .service_content .flex_box {
		width: 100%;
		max-width: 100%;
		margin: 45px auto 0;
		flex-direction: column;
		align-items: center;
		gap: 45px 0;
	}

	.service_top .first_box .service_content .flex_box .box_item {
		width: 100%;
		flex-direction: column;
		align-items: center;
		gap: 0;
	}

	.service_top .first_box .service_content .flex_box .box_item .image_box {
		width: 140px;
	}

	.service_top .first_box .service_content .flex_box .box_item .contents_box {
		width: 100%;
		padding-top: 0px;
		margin-top: 20px;
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.service_top .first_box .service_content .flex_box .box_item .contents_box h4 {
		font-size: 20px;
	}

	.service_top .first_box .service_content .flex_box .box_item .contents_box p {
		font-size: 12px;
		margin-top: 20px;
		line-height: 2;
	}

	.more_button {
		margin-top: 20px;
	}

	.more_button a {
		width: 150px;
		max-width: 170px;
	}

	.more_button a:before {
		left: 8px;
	}
	.more_button a:after {
		width: 30px;
		height: 30px;
	}
	
	.more_button a:hover:before {
		left: 20px;
	}

	.service_top .first_box .manifest_system {
		padding: 25px 0 0;
	}

	.service_top .first_box .manifest_system .flex_box {
		flex-direction: column;
		gap: 0;
	}

	.service_top .first_box .manifest_system .flex_box .image_box {
		width: 110px;
	}
	
	.service_top .first_box .manifest_system .flex_box .text_box {
		text-align: center;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-top: 15px;
	}

	.service_top .first_box .manifest_system .flex_box .text_box h3 {
		font-size: 13px;
	}

	.service_top .first_box .manifest_system .flex_box .text_box p {
		font-size: 11px;
		margin-top: 10px;
	}

	.more_button2 {
		width: 180px;
		margin: 15px 0 0;
		padding: 15px 0;
		font-size: 12px;
	}

	.service_list {
		padding: 50px 0;
	}

	.service_list .section_space {
		max-width: 100%;
	}
	.service_list .section_space .container .service_list_item:last-child {
		margin-top: 50px;
	}

	.service_list .section_space .container .service_list_item .service_title h3 {
		font-size: 24px;
	}

	.service_list .section_space .container .service_list_item .service_title p {
		font-size: 14px;
	}

	.service_list .section_space .container .service_list_item .contents_box {
		margin-top: 40px;
		gap: 0;
	}

	.service_list .section_space .container .service_list_item .contents_box .left_box {
		width: 100%;
		padding: 0 20px;
	}
	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item:not(:first-child) {
		margin-top: 50px;
	}

	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item h4 {
		font-size: 20px;
		line-height: 1.4;
	}

	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .text1 {
		font-size: 12px;
		margin-top: 15px;
	}

	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item ul {
		margin-top: 25px;
		padding-left: 25px;
	}

	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item ul li {
		font-size: 12px;
		line-height: 1.7;
		padding-left: 30px;
	}
	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item ul li:not(:last-child) {
		margin-bottom: 20px;
	}
	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item ul li:before {
		width: 22px;
		height: 22px;
	}

	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .about_box {
		margin-top: 30px;
		gap: 40px 0;
	}

	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .about_box .about_flex {
		flex-direction: column;
		align-items: flex-start;
		gap: 15px 0;
	}

	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .about_box .about_flex h5 {
		font-size: 13px;
		min-width: auto;
	}

	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .about_box .about_flex .about_text {
		font-size: 11px;
		padding-left: 15px;
	}

	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .flow_image {
		margin-top: 30px;
	}

	.service_list .section_space .container .service_list_item .contents_box .left_box .each_item .text2 {
		font-size: 10px;
		margin-top: 10px;
	}

	.service_list .section_space .container .service_list_item .contents_box .right_box {
		display: none;
	}







	/* security_enviroment */

	.security_enviroment {
		padding: 40px 0 50px;
	}

	.security_enviroment .section_space {
		width: 88%;
		margin: 0 auto;
	}
	
	.security_enviroment .section_space .container .title_box.mt {
		margin-top: 50px;
	}

	.security_enviroment .section_space .container .title_box h3 {
		font-size: 24px;
	}

	.security_enviroment .section_space .container .title_box .subtitle {
		font-size: 14px;
	}

	.security_enviroment .section_space .container .title_box .text {
		font-size: 10px;
		margin-top: 25px;
		line-height: 2.4;
	}

	.security_enviroment .section_space .container .flex_box {
		width: 100%;
		max-width: 100%;
		gap: 0;
		margin: 45px auto 0;
	}
	.security_enviroment .section_space .container .flex_box.mt {
		margin: 45px auto 0;
	}

	.security_enviroment .section_space .container .flex_box .left_box {
		width: 100%;
	}

	.security_enviroment .section_space .container .flex_box .left_box h4 {
		font-size: 20px;
	}
	
	.security_enviroment .section_space .container .flex_box .left_box h4 .annotation-mark {
		font-size: 11px;
	}
	
	.security_enviroment .section_space .container .flex_box .left_box img {
		width: 110px;
		height: auto;
		display: block;
		margin: 15px auto 0;
	}

	.security_enviroment .section_space .container .flex_box .left_box p {
		font-size: 10px;
		margin-top: 10px;
		line-height: 2;
	}

	.security_enviroment .section_space .container .flex_box .right_box {
		display: none;
	}

	.security_enviroment .section_space .container .basic_policy {
		margin-top: 35px;
	}
	.security_enviroment .section_space .container .basic_policy.mt {
		margin-top: 35px;
	}

	.security_enviroment .section_space .container .basic_policy h4 {
		font-size: 14px;
	}
	.security_enviroment .section_space .container .basic_policy h4::before {
		bottom: -15px;
		width: 40px;
	}

	.security_enviroment .section_space .container .basic_policy p {
		font-size: 10px;
		margin-top: 30px;
		line-height: 2;
	}

	.security_enviroment .section_space .container .basic_policy p span {
		margin-left: 15px;
	}

	.security_enviroment .section_space .container .annotation {
		width: 100%;
		margin: 65px auto 0;
	}

	.security_enviroment .section_space .container .annotation .text {
		font-size: 10px;
	}
	.security_enviroment .section_space .container .annotation .text.mt {
		margin-top: 30px;
	}

	.security_enviroment .section_space .container .annotation .text .note {
		margin-right: 5px;
	}





	/* facilities_vehicledepots */

	.facilities_vehicledepots {
		padding: 40px 0 50px;
	}

	.facilities_vehicledepots .section_space {
		width: 87%;
		max-width: 100%;
	}
	.facilities_vehicledepots .section_space .container .facilities.mt {
		margin-top: 50px;
	}

	.facilities_vehicledepots .section_space .container .facilities .title_box h3 {
		font-size: 24px;
	}

	.facilities_vehicledepots .section_space .container .facilities .title_box p {
		font-size: 14px;
	}

	.facilities_vehicledepots .section_space .container .facilities .facilities_list {
		margin-top: 35px;
	}

	.facilities_vehicledepots .section_space .container .facilities .facilities_list h4 {
		font-size: 14px;
	}
	.facilities_vehicledepots .section_space .container .facilities .facilities_list h4:before {
		bottom: -15px;
		width: 40px;
	}

	.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box {
		grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(1, 1fr);
		gap: 25px 0px;
		margin-top: 45px;
	}

	.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box .grid_item {
		gap: 0 2%;
	}

	.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box .grid_item .img_box {
		width: 48%;
	}

	.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box .grid_item .facility_introduction {
		width: 50%;
	}

	.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box .grid_item .facility_introduction h5 {
		font-size: 14px;
	}

	.facilities_vehicledepots .section_space .container .facilities .facilities_list .grid_box .grid_item .facility_introduction p {
		font-size: 10px;
		margin-top: 10px;
	}

	.facilities_vehicledepots .section_space .container .facilities .depots_grid {
		width: 100%;
		grid-template-columns: repeat(1, 1fr);
		gap: 25px 0px;
		margin: 35px auto 0;
	}

	.facilities_vehicledepots .section_space .container .facilities .depots_grid .grid_item {
		flex-direction: row;
		gap: 0 2%;
		align-items: center;
	}

	.facilities_vehicledepots .section_space .container .facilities .depots_grid .grid_item .img_box {
		width: 48%;
	}

	.facilities_vehicledepots .section_space .container .facilities .depots_grid .grid_item .facility_introduction {
		width: 50%;
		padding: 0;
	}

	.facilities_vehicledepots .section_space .container .facilities .depots_grid .grid_item .facility_introduction h4 {
		font-size: 14px;
	}

	.facilities_vehicledepots .section_space .container .facilities .depots_grid .grid_item .facility_introduction p {
		font-size: 10px;
		margin-top: 10px;
	}

	.facilities_vehicledepots .section_space .container .facilities .itemized_list {
		margin-top: 40px;
	}

	.facilities_vehicledepots .section_space .container .facilities .itemized_list h4 {
		font-size: 14px;
	}

	.facilities_vehicledepots .section_space .container .facilities .itemized_list .date {
		font-size: 11px;
		margin-top: 10px;
	}

	.facilities_vehicledepots .section_space .container .facilities .itemized_list .list_box {
		gap: 45px 0;
		margin-top: 25px;
	}

	.facilities_vehicledepots .section_space .container .facilities .itemized_list .list_box .list_flex h5 {
		font-size: 12px;
		min-width: 160px;
	}

	.facilities_vehicledepots .section_space .container .facilities .itemized_list .list_box .list_flex .list_text {
		font-size: 11px;
	}

	.facilities_vehicledepots .section_space .container .facilities .info_box .border_title {
		font-size: 14px;
	}

	.facilities_vehicledepots .section_space .container .facilities .info_box .border_title:before {
		bottom: -15px;
        width: 40px;
	}

	.facilities_vehicledepots .section_space .container .facilities .info_box .text_flex {
		margin-top: 30px;
	}

	.facilities_vehicledepots .section_space .container .facilities .info_box .text_flex p {
		font-size: 11px;
	}

	.facilities_vehicledepots .section_space .container .facilities .info_box .info_flex .details_box .download_button p {
		font-size: 12px;
	}





	/* contact */

	.contact {
		padding: 50px 0;
	}

	.contact .section_space {
		width: 88%;
		max-width: 100%;
	}

	.contact .section_space .container .tel_contact {
		gap: 30px 0;
	}

	.contact .section_space .container h3 {
		font-size: 20px;
	}

	.contact .section_space .container .tel_contact .tel_link {
		gap: 0 15px;
	}

	.contact .section_space .container .tel_contact .tel_link .icon_box {
		width: 60px;
		height: 60px;
	}

	.contact .section_space .container .tel_contact .tel_link .icon_box i {
		font-size: 32px;
	}

	.contact .section_space .container .tel_contact .tel_link .text_box .text {
		font-size: 14px;
	}

	.contact .section_space .container .tel_contact .tel_link .text_box .number {
		font-size: 24px;
		margin-top: 10px;
		line-height: 0.6;
	}

	.contact .section_space .container .tel_contact .tel_link .text_box span {
		font-size: 10px;
	}

	.contact .section_space .container .form_contact {
		margin-top: 50px;
	}

	.contact .section_space .container .form_contact .text {
		font-size: 11px;
		margin-top: 20px;
		line-height: 2.4;
	}

	.contact .section_space .container .form_contact .form_box .inquiry_item h4 {
		font-size: 18px;
	}

	.contact .section_space .container .form_contact .form_box .inquiry_item .button_box .switch_button {
		font-size: 12px;
		padding: 10px 0;
		line-height: 1.4;
	}

	/* フォームデザイン */

	.form_box form {
		margin-top: 35px;
	}

	.form_box form .form_back {
		padding: 25px 10px;
	}

	.form_box form .item {
		flex-direction: column;
		align-items: flex-start;
		gap: 15px 0;
	}
	.form_box form .item:not(:last-child) {
		margin-bottom: 25px;
	}

	.form_box form .item .label {
		width: 100%;
		gap: 0 5px;
		font-size: 14px;
		line-height: 1;
	}

	.form_box form .item .label span {
		font-size: 10px;
	}

	.form_box form .item .wpcf7-form-control-wrap {
		width: 100%;
	line-height: 1.7;
	}

	.form_box form .item .input {
		padding: 15px 10px;
		font-size: 12px;
	}

	.form_box form .item textarea {
		padding: 10px 10px;
		font-size: 12px;
	}

	.form_box form .form_button_box {
		width: 250px;
		margin: 30px auto 0;
	}
	.form_box form .form_button_box.confirmation {
		width: 140px;
	}

	.form_box form .form_button_box .confirm-button {
		font-size: 14px;
    width: 100%;
    padding: 10px 0px 10px 35px;
}
.form_box form .form_button_box.confirmation .confirm-button {
    padding: 10px 0px 10px 15px;
}

	.form_box form .form_button_box:before {
		left: 11px;
	}
	.form_box form .form_button_box:after {
		width: 35px;
		height: 35px;
	}

.form_box form .form_button_box:hover .confirm-button {
	color: #fff;
}
.form_box form .form_button_box:hover:before {
	left: 35px;
}
.form_box form .form_button_box:hover:after {
	right: 0;
	width: 100%;
	background: #078C4A;
}

/* フォームデザインここまで */

	/* thanks */

	.contact .section_space .container .thanks_top {
		margin-bottom: 80px;
	}
	
	.contact .section_space .container .thanks_top.not_found {
		margin-bottom: 50px !important;
	}

	.contact .section_space .container .thanks_top h3 {
		font-size: 20px;
		text-align: center;
		margin-top: 35px;
		line-height: 1.7;
	}

	.contact .section_space .container .thanks_top p {
		font-size: 11px;
		margin-top: 20px;
		line-height: 2.4;
	}
	
	.more_button.top_ver {
		margin-top: 50px;
	}
	
	.more_button.not_found {
		margin-top: 0px !important;
	}

	.more_button.top_ver a {
		font-size: 14px;
		letter-spacing: 2px;
		width: 170px;
		max-width: 170px;
	}




	
	/* single.php */

	.news_details {
		padding: 30px 0 80px;
	}

	.news_details .section_space {
		width: 85%;
		max-width: 100%;
	}

	.news_details .section_space .container .post_contents .title_box h3 {
		font-size: 20px;
	}
	
	.news_details .section_space .container .post_contents .title_box .flex_box {
		margin-top: 15px;
	}

	.news_details .section_space .container .post_contents .title_box .flex_box .data {
		font-size: 14px;
	}

	.news_details .section_space .container .post_contents .thumbnail {
		margin-top: 20px;
	}

	.news_details .section_space .container .post_contents .content_box {
		font-size: 13px;
		margin-top: 30px;
	}








	/* footer */

	footer {
		padding: 0 10px;
	}

	footer .sitemap {
		padding: 35px 20px;
	border-radius: 15px;
	}

	footer .sitemap .flex_box {
		flex-direction: column;
		gap: 50px 0;
	}

	footer .sitemap .flex_box .left_box {
		flex-direction: column;
		gap: 25px 0px;
	}

	footer .sitemap .flex_box .left_box .title_box {
		padding: 0;
	}

	footer .sitemap .flex_box .left_box .title_box h2 {
		font-size: 30px;
	}

	footer .sitemap .flex_box .left_box .title_box p {
		font-size: 16px;
	}

	footer .sitemap .flex_box .left_box .menu_box {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 40px 35px;
		padding: 0;
	}

	footer .sitemap .flex_box .left_box .menu_box ul {
	display: flex;
	flex-direction: column;
	gap: 20px 0;
}

footer .sitemap .flex_box .left_box .menu_box ul li a {
	font-weight: 500;
	font-size: 13px;
	color: #fff;
	position: relative;
	transition: .3s all;
}
footer .sitemap .flex_box .left_box .menu_box ul li a::after {
	position: absolute;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: #fff;
	bottom: -5px;
	transform: scale(0, 1);
	transform-origin: center top;
	transition: transform 0.3s;
}
footer .sitemap .flex_box .left_box .menu_box ul li a:hover::after {
	transform: scale(1, 1);
}

footer .sitemap .flex_box .left_box .menu_box ul li a.title {
	font-weight: bold;
	font-size: 15px;
	color: #fff;
}

	footer .sitemap .flex_box .right_box {
		width: 55%;
		min-width: 200px;
		margin: 0 auto;
	}

	footer .sitemap .flex_box .right_box .top_box {
		gap: 0 5px;
	}

	footer .sitemap .flex_box .right_box .bottom_box {
		margin-top: 5px;
	}

	footer .copyright {
		width: 85%;
		max-width: 100%;
		padding: 15px 0 20px;
		flex-direction: column;
		align-items: flex-start;
	}

	footer .copyright .left_box {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	footer .copyright .left_box {
		font-size: 2.9vw;
	}
	
	footer .copyright .right_box {
		display: flex;
		width: 100%;
		justify-content: center;
		margin-top: 30px;
	}

	footer .copyright .right_box p {
		font-size: 10px;
	}
}





