@charset "utf-8";

@media print, screen and (min-width: 828px){
/**************************
PC用スタイル
**************************/
/* ヘッダ */
.Hed_bg{
    position: fixed;
    right: 0px;
    top: 0px;
    margin-bottom: 20px;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #FFFFFF;
    z-index: 100;
}
.Hed_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
}
.Hed_logo{}
.Hed_logo img{
    width: 240px;
}
.Hed_contact{
    width: 250px;
    margin-top: 5px;
}
.Hed_contact a{
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    width: 100%;
    line-height: 2.0em;
    padding-top: 0px;
    padding-bottom: 0px;
    display: block;
    border-radius: 30px;
    transition: all 0.2s;
}
.Hed_contact a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}
/*　ヘッダメニュー 開閉CSSは最下部に有り　*/
.Hed_menu_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #FFFFFF;
    display: flex;
    justify-content: flex-end;
}

/*　ヘッダメニュー 開閉CSSは最下部に有り　*/

.Hed_menu {
    text-align: center;
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
section{
    margin-top: 140px;
}
/* TOPページ共通 ヘッダ部分 */
.Top_hed_txt_box{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.Top_hed_txt_box p{
    font-size: 64px;
    font-weight: 700;
    line-height: 1.5em;
}
.Top_slide_box{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 150px;
}
.swiper--wrapper {
    /* wrapperのサイズを調整 */
    width: 100%;
}

.swiper-slide {
  /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
  color: #ffffff;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 500px;
  text-align: center;
}
.swiper-slide {
    width: 100%;
    height: auto;
    display: block;
}
/* TOPページ共通 挨拶 */
.Top_greeting_bg{
    background-image: url(../img/top/bg_01.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 50% auto;
    height: 780px;/* 要素自体の高さの限界 */
    max-height: 780px;
    margin-bottom: 150px;
}
.Top_greeting_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    lex-direction: row-reverse;
    justify-content: space-between;
    padding-bottom: 10px;
}
.Top_greeting_txt_bloc{
    width: 50%;
    text-align: left;
}
.Top_greeting_txt_box{
    margin-bottom: 100px;
}
.Top_greeting_txt_box_title{
    font-size: 36px;
    font-weight: 700;
    line-height: 1.3em;
    margin-bottom: 20px;
}
.Top_greeting_txt_box_title_sub{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.3em;
    margin-bottom: 20px;
}
.Top_greeting_txt_box_coment{
    margin-bottom: 20px;
}
.Top_greeting_txt_box_coment p{
    font-size: 16px;
    font-weight: 400;
    line-height: 2.0em;
    text-align: justify;
}
.Top_greeting_txt_box_coment_red{
    font-size: 16px;
    font-weight: 400;
    color: #FF0004;
}
.Top_greeting_btm{
    width: 200px;
    margin-top: -50px;
}
.Top_greeting_btm a{
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    width: 100%;
    line-height: 2.0em;
    padding-top: 0px;
    padding-bottom: 0px;
    display: block;
    border-radius: 30px;
    transition: all 0.2s;
    text-align: center;
}
.Top_greeting_btm a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}
/* TOPページ共通 お知らせ */
.Top_news_bg{
    margin-bottom: 180px;
}
.Top_news_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.Top_news_title_box{
    width: 20%;
    min-height: 350px;
    background-image: url(../img/top/news_title_bg.png);
    background-repeat: repeat-y;
    text-align: left;
    padding-left: 30px;
    padding-top: 30px;
    color: #FFFFFF;
}
.Top_news_title_box_title{
    font-size: 36px;
    font-weight: 700;
    line-height: 1.4em;
}
.Top_news_title_box_title_en{
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2em;
}
.Top_news_list{
    width: 70%;
    text-align: left;
}
.Top_news_item{
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #B1B1B1;
    margin-bottom: 30px;
    padding-bottom: 30px;
}
.Top_news_item:last-of-type{
    border-bottom: 0px solid #B1B1B1;
}
.Top_news_item_data{
    width: 16%;
    font-size: 16px;
    font-weight: 700;
}
.Top_news_item_data p{
    font-size: 16px;
    font-weight: 700;
}
.Top_news_item_cal{
    width: 16%;
}
.news_cal1 p{
    font-size: 16px;
    font-weight: 400;
    background-color: #095CA8;
    color: #FFFFFF;
    text-align: center;
    line-height: 2.0em;
    border-radius: 30px;
}
.news_cal2 p{
    font-size: 16px;
    font-weight: 400;
    background-color: #095CA8;
    color: #FFFFFF;
    text-align: center;
    line-height: 2.0em;
    border-radius: 30px;
}
.Top_news_item_coment{
    width: 65%;
}
.Top_news_item_coment a{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}
.Top_news_btm{
    width: 200px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 80px;
}
.Top_news_btm a{
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    width: 100%;
    line-height: 2.0em;
    padding-top: 0px;
    padding-bottom: 0px;
    display: block;
    border-radius: 30px;
    transition: all 0.2s;
    text-align: center;
}
.Top_news_btm a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}
/* TOPページ共通 業種案内 */
.Top_industry_bg{
    margin-bottom: 150px;
}
.Top_industry_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Top_industry_title{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    margin-bottom: 40px;
}
.Top_industry_title p{
    font-size: 64px;
    font-weight: 700;
    line-height: 1.5em;
}
.Top_industry_container {
    width: 100%;
    overflow: hidden; /* はみ出た分を隠す */
    display: flex;
    margin-bottom: 80px;
}

.Top_industry_content {
  display: flex;
  width: fit-content;
  /* infiniteで永久に、linearで一定速度に設定 */
  animation: loop-scroll 20s linear infinite;
}

.Top_industry_content img {
  width: auto;
  height: 300px; /* ここで高さを調整してください */
  display: block;
}

@keyframes loop-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    /* 画像1枚分（50%）左に移動したら0%の位置に戻る */
    transform: translateX(-50%);
  }
}
.Top_industry_list{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
}
.Top_industry_btm{
    width: 23%;
}
.Top_industry_btm a{
    display: block;
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    transition: all 0.2s;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
}
.Top_industry_btm a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}

/* ページ共通 */
.Page_hed_title{}
.Page_hed_title p{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5em;
    margin-bottom: 65px;
}
/* ページ共通 あいさつ */
.Page_greeting_bg{
    background-image: url(../img/greeting/page_bg.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 70% auto;
    padding-top: 60px;
    margin-bottom: 180px;
}
.Page_greeting_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Page_greeting_box{
    max-width: 820px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 80px;
    padding-right: 80px;
    padding-bottom: 80px;
    padding-left: 80px;
    background-color: #FFFFFF;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); /* 下方向に少し落とし、薄く広くぼかす */
    border-radius: 0px; /* ほんの少し角を丸めると、より画像に近い柔らかさになります */
    border: 1px solid #f0f0f0; /* 影だけでなく薄い枠線を入れると、白背景でも輪郭がハッキリします */
}
.Page_greeting_box_title{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5em;
    text-align: left;
    margin-bottom: 30px;
}
.Page_greeting_box_coment{
    font-size: 20px;
    font-weight: 400;
    line-height: 2.25em;
    text-align: left;
    margin-bottom: 20px;
}
.Page_greeting_box_img{
    text-align: right;
}
.Page_greeting_box_img img{
    width: 380px;
}
/* ページ共通 経営理念 */
.Page_philosophy_bg{
    background-image: url(../img/philosophy/page_bg.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 70% auto;
    padding-top: 60px;
    margin-bottom: 180px;
}
.Page_philosophy_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Page_philosophy_box{
    max-width: 1060px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 80px;
    padding-right: 80px;
    padding-bottom: 80px;
    padding-left: 80px;
    background-color: #F7F7F7;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); /* 下方向に少し落とし、薄く広くぼかす */
    border-radius: 30px; /* ほんの少し角を丸めると、より画像に近い柔らかさになります */
    border: 1px solid #f0f0f0; /* 影だけでなく薄い枠線を入れると、白背景でも輪郭がハッキリします */
}
.Page_philosophy_title{
    margin-bottom: 50px;
}
.Page_philosophy_title img{}
.Page_philosophy_list{}
.Page_philosophy_list_item{
    display: flex;
    align-items: center;
    margin-bottom: 45px;
}
.Page_philosophy_list_item:last-of-type{
    margin-bottom: 0px;
}
.Page_philosophy_list_item_no{
    font-family: "Noto Serif JP", serif;
    font-size: 60px;
    font-weight: 700;
    line-height: 1.5em;
    color: #095CA7;
    margin-right: 20px;
}
.Page_philosophy_list_item_txt{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.25em;
    color: #095CA7;
    text-align: left;
}
/* ページ共通 登録・許可・認定等 */
.Page_certification_bg{
    background-size: 70% auto;
    padding-top: 60px;
    margin-bottom: 150px;
}
.Page_certification_bloc{
    max-width: 1050px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Page_certification_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.Page_certification_item{
    width: 48%;
    padding-top: 30px;
    padding-right: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
    background-color: #095CA7;
    border-radius: 20px;
    margin-bottom: 50px;
}
.Page_certification_item_txt{
    margin-bottom: 20px;
}
.Page_certification_item_txt p{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.75em;
    color: #FFFFFF;
}
.Page_certification_item_img{
    width: 100%;
    background-color: #E7E7E7;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
    border-radius: 20px;
}
.Page_certification_item_img img{
    height: 310px;
}
/* ページ共通 会社概要 */
.Page_Company_Profile_bg{
    padding-top: 60px;
    margin-bottom: 150px;
}
.Page_Company_Profile_bloc1{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 110px;
    padding-bottom: 110px;
}
.Page_Company_Profile_bloc2{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 110px;
}
.Page_Company_Profile_box1{
    text-align: left;
    max-width: 1050px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Page_Company_Profile_box1 dl{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.Page_Company_Profile_box1 dl dt{
    color: #095CA7;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75em;
    border-bottom: 1px solid #095CA7;
    width: 250px;
    margin-bottom: 35px;
}
.Page_Company_Profile_box1 dl dd{
    font-size: 20px;
    font-weight: 400;
    line-height: 1.75em;
    border-bottom: 1px solid #000000;
    width: 770px;
    padding-bottom: 20px;
    margin-bottom: 35px;
}
.Page_Company_Profile_box2{
    text-align: left;
    max-width: 1050px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Page_Company_Profile_box2 dl{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.Page_Company_Profile_box2 dl dt{
    color: #095CA7;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75em;
    border-bottom: 1px solid #095CA7;
    width: 250px;
    margin-bottom: 35px;
}
.Page_Company_Profile_box2 dl dd{
    font-size: 20px;
    font-weight: 400;
    line-height: 1.75em;
    border-bottom: 1px solid #000000;
    width: 770px;
    padding-bottom: 5px;
    margin-bottom: 35px;
}
/* ページ共通 お取引先 */
.Page_Business_partner_bg{
    padding-top: 60px;
    margin-bottom: 0px;
}
.Page_Business_partner_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 110px;
    padding-bottom: 110px;
}
.Page_Business_partner_box{
    text-align: left;
    max-width: 1050px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Page_Business_partner_box dl{}
.Page_Business_partner_box dl dt{
    color: #095CA7;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75em;
    border-bottom: 1px solid #000000;
    width: 100%;
    margin-bottom: 5px;
}
.Page_Business_partner_box dl dd{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 35px;
}
/* ページ共通 セキュリティ事業 */
.Page_Security_business_bg{
    padding-top: 60px;
    margin-bottom: 0px;
}
.Page_Security_business_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 110px;
    padding-bottom: 210px;
}
.Page_Security_business_list{
    max-width: 1100px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Page_Security_business_item{
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #FFFFFF;
    padding-top: 40px;
    padding-right: 40px;
    padding-bottom: 20px;
    padding-left: 40px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); /* 下方向に少し落とし、薄く広くぼかす */
    border-radius: 30px; /* ほんの少し角を丸めると、より画像に近い柔らかさになります */
    border: 1px solid #f0f0f0; /* 影だけでなく薄い枠線を入れると、白背景でも輪郭がハッキリします */
    margin-bottom: 40px;
}
.Page_Security_business_item:last-of-type{
    margin-bottom: 0px;
}
.Page_Security_business_item_txt_box{
    width: 48%;
    text-align: left;
}
.Page_Security_business_item_title{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25em;
    color: #095CA7;
}
.Page_Security_business_item_sub_title{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.50em;
}
.Page_Security_business_item_coment{
    margin-top: 30px;
    margin-bottom: 50px;
}
.Page_Security_business_item_coment:last-of-type{
    margin-bottom: 0px;
}
.Page_Security_business_item_coment p{
    font-size: 20px;
    font-weight: 400;
    line-height: 1.75em;
}
.Page_Security_business_item_txt_red{
    color: #FF0004;
    font-weight: 700;
}
.Page_Security_business_item_img_box{
    width: 48%;
}
.Page_Security_business_item_img_box p{
    margin-bottom: 20px;
}
.Page_Security_business_item_img_box img{
    width: 100%;
}
/* ページ共通 探偵事業 */
.Page_detective_business_bg{
    padding-top: 60px;
    margin-bottom: 0px;
}
.Page_detective_business_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 110px;
    padding-bottom: 210px;
}
.Page_detective_business_list{
    max-width: 1100px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Page_detective_business_item{
    display: flex;
    justify-content: space-between;
    background-color: #FFFFFF;
    padding-top: 40px;
    padding-right: 40px;
    padding-bottom: 20px;
    padding-left: 40px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); /* 下方向に少し落とし、薄く広くぼかす */
    border-radius: 30px; /* ほんの少し角を丸めると、より画像に近い柔らかさになります */
    border: 1px solid #f0f0f0; /* 影だけでなく薄い枠線を入れると、白背景でも輪郭がハッキリします */
    margin-bottom: 40px;
}
.Page_detective_business_item:last-of-type{
    margin-bottom: 0px;
}
.Page_detective_business_item_txt_box{
    width: 60%;
    text-align: left;
}
.Page_detective_business_item_title{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25em;
    color: #095CA7;
}
.Page_detective_business_item_coment{
    margin-top: 30px;
    margin-bottom: 50px;
}
.Page_detective_business_item_coment:last-of-type{
    margin-bottom: 0px;
}
.Page_detective_business_item_coment p{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
}
.Page_detective_business_item_txt_red{
    color: #FF0004;
    font-weight: 700;
}
.Page_detective_business_item_img_box{
    width: 30%;
}
.Page_detective_business_item_img_box p{
    margin-bottom: 20px;
}
.Page_detective_business_item_img_box img{
    width: 100%;
}
/* ページ共通 ドローン */
.Page_drone_business_bg{
    padding-top: 60px;
    margin-bottom: 0px;
}
.Page_drone_business_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 110px;
    padding-bottom: 210px;
}
.Page_drone_business_list{
    max-width: 1100px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 70px;
}
.Page_drone_business_item{
    display: flex;
    justify-content: space-between;
    background-color: #FFFFFF;
    padding-top: 40px;
    padding-right: 40px;
    padding-bottom: 20px;
    padding-left: 40px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); /* 下方向に少し落とし、薄く広くぼかす */
    border-radius: 30px; /* ほんの少し角を丸めると、より画像に近い柔らかさになります */
    border: 1px solid #f0f0f0; /* 影だけでなく薄い枠線を入れると、白背景でも輪郭がハッキリします */
    margin-bottom: 40px;
}
.Page_drone_business_item:last-of-type{
    margin-bottom: 0px;
}
.Page_drone_business_item_txt_box{
    width: 60%;
    text-align: left;
}
.Page_drone_business_item_title{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25em;
    color: #095CA7;
}
.Page_drone_business_item_coment{
    margin-top: 30px;
    margin-bottom: 50px;
}
.Page_drone_business_item_coment:last-of-type{
    margin-bottom: 0px;
}
.Page_drone_business_item_coment p{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
}
.Page_drone_business_item_txt_red{
    color: #FF0004;
    font-weight: 700;
}
.Page_drone_business_item_img_box{
    width: 30%;
}
.Page_drone_business_item_img_box p{
    margin-bottom: 20px;
}
.Page_drone_business_item_img_box img{
    width: 100%;
}
.Page_drone_business_pay_box{}
.Page_drone_business_pay_title {
    margin-bottom: 80px;
}
.Page_drone_business_pay_title p{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5em;
}
.Page_drone_business_pay_tabel{
    text-align: center;
    max-width: 1100px;
    width: 950px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}
.Page_drone_business_pay_tabel table{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    border-top: 1px solid #DDDDDD;
    border-left: 1px solid #DDDDDD;
}
.Page_drone_business_pay_tabel th{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5em;
    background-color: #DBEBF2;
    border-bottom: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD;
    padding-top: 15px;
    padding-bottom: 15px;
}
.Page_drone_business_pay_tabel td{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5em;
    border-bottom: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD;
    background-color: #FFFFFF;
    padding-top: 15px;
    padding-bottom: 15px;
}
.Page_drone_business_pay_txt_box{
    max-width: 1100px;
    width: 950px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.Page_drone_business_pay_coment1{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5em;
    margin-bottom: 20px;
}
.Page_drone_business_pay_coment2 p{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    margin-bottom: 20px;
}
.Page_drone_business_pay_coment3 dl{
    display: flex;
    align-items: flex-start;
}
.Page_drone_business_pay_coment3 dl dt{
    color: #FFFFFF;
    background-color: #1E1F3B;
    display: inline-block;
    margin-right: 20px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 2px;
    padding-bottom: 4px;
}
.Page_drone_business_pay_coment3 dl dd{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}
/* ページ共通 有害駆除事業 */
.Page_extermination_business_bg{
    padding-top: 60px;
    margin-bottom: 0px;
}
.Page_extermination_business_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 110px;
    padding-bottom: 210px;
}
.Page_extermination_business_list{
    max-width: 1100px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Page_extermination_business_item{
    display: flex;
    justify-content: space-between;
    background-color: #FFFFFF;
    padding-top: 40px;
    padding-right: 40px;
    padding-bottom: 20px;
    padding-left: 40px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); /* 下方向に少し落とし、薄く広くぼかす */
    border-radius: 30px; /* ほんの少し角を丸めると、より画像に近い柔らかさになります */
    border: 1px solid #f0f0f0; /* 影だけでなく薄い枠線を入れると、白背景でも輪郭がハッキリします */
    margin-bottom: 40px;
}
.Page_extermination_business_item:last-of-type{
    margin-bottom: 0px;
}
.Page_extermination_business_item_txt_box{
    width: 60%;
    text-align: left;
}
.Page_extermination_business_item_title{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25em;
    color: #095CA7;
}
.Page_extermination_business_item_coment{
    margin-top: 30px;
    margin-bottom: 50px;
}
.Page_extermination_business_item_coment:last-of-type{
    margin-bottom: 0px;
}
.Page_extermination_business_item_coment p{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
}
.Page_extermination_business_item_img_box{
    width: 30%;
}
.Page_extermination_business_item_img_box p{
    margin-bottom: 20px;
}
.Page_extermination_business_item_img_box img{
    width: 100%;
}
/* ページ共通 採用情報 */
.Page_recruitment_bg{
    padding-top: 60px;
    margin-bottom: 0px;
}
.Page_recruitment_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 110px;
    padding-bottom: 110px;
}
.Page_recruitment_box{
    text-align: left;
    max-width: 1050px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Page_recruitment_box_kome{
    margin-left: 20px;
}
.Page_recruitment_box dl{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.Page_recruitment_box dl dt{
    color: #095CA7;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75em;
    border-bottom: 1px solid #095CA7;
    width: 250px;
    margin-bottom: 35px;
}
.Page_recruitment_box dl dd{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
    border-bottom: 1px solid #000000;
    width: 770px;
    padding-bottom: 20px;
    margin-bottom: 35px;
}
/* ページ共通 プライバシーポリシー */
.Page_privacy_policy_bg{
    padding-top: 0px;
    margin-bottom: 180px;
}
.Page_privacy_policy_bloc{
    max-width: 1100px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.Page_privacy_policy_title{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.75em;
    margin-bottom: 80px;
}
.Page_privacy_policy_coment{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75em;
    margin-bottom: 80px;
    text-align: justify;
}
.Page_privacy_policy_txt_box{}
.Page_privacy_policy_txt_box ol{
    list-style-position: outside;
    padding-left: 25px;
    list-style-type: decimal;
}
.Page_privacy_policy_txt_box ol li{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
    margin-bottom: 40px;
}
.Page_privacy_policy_txt_box ol li:last-of-type{
    margin-bottom: 0px;
}
/* ページ共通 お知らせ */
.Page_news_bg{
    margin-bottom: 180px;
}
.Page_news_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.Page_news_list{
    width: 100%;
    text-align: left;
}
.Page_news_list_item{
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #B1B1B1;
    margin-bottom: 30px;
    padding-bottom: 30px;
}
.Page_news_list_item:last-of-type{
    border-bottom: 0px solid #B1B1B1;
}
.Page_news_list_item_data{
    width: 16%;
    font-size: 16px;
    font-weight: 700;
}
.Page_news_list_item_data p{
    font-size: 16px;
    font-weight: 700;
}
.Page_news_list_item_cal{
    width: 16%;
}
.Page_news_list_item_cal p{
    font-size: 16px;
    font-weight: 400;
    background-color: #095CA8;
    color: #FFFFFF;
    text-align: center;
    line-height: 2.0em;
    border-radius: 30px;
}
.Page_news_list_item_coment{
    width: 65%;
}
.Page_news_list_item_coment a{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}
.Page_news_pager_box{
    margin-left: auto;
    margin-right: auto;
}
.Page_news_pager_box img{
    width: 400px;
}
.Page_news_item_box{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 30px;
}
.Page_news_item_box_data{
    width: 13%;
    text-align: left;
}
.Page_news_item_box_data p{
    font-size: 16px;
    font-weight: 700;
}
.Page_news_item_box_cal{
    width: 16%;
}
.Page_news_item_box_title{
    width: 100%;
    text-align: left;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5em;
    margin-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #B7B7B7;
}
.Page_news_item_box_title p{
}
.Page_news_item_box_coment{
    width: 100%;
    text-align: left;
}
.Page_news_item_box_coment p{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}
.Page_news_btm_box{
    width: 50%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-around;
}
.Page_news_btm_previous{
    width: 30%;
}
.Page_news_btm_previous a{
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    width: 100%;
    line-height: 2.0em;
    padding-top: 0px;
    padding-bottom: 0px;
    display: block;
    border-radius: 30px;
    transition: all 0.2s;
    text-align: center;
}
.Page_news_btm_previous a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}
.Page_news_btm_next{
    width: 30%;
}
.Page_news_btm_next a{
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    width: 100%;
    line-height: 2.0em;
    padding-top: 0px;
    padding-bottom: 0px;
    display: block;
    border-radius: 30px;
    transition: all 0.2s;
    text-align: center;
}
.Page_news_btm_next a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}
/* ページ共通 お問い合わせ */
.Page_contact_bg{
    margin-bottom: 180px;
}
.Page_contact_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.Page_contact_bg_box{
    width: 100%;
    background-image: url(../img/contact/bg.jpg);
    background-repeat: no-repeat;
    padding-top: 100px;
    padding-bottom: 100px;
    background-position: 0% 100%;
    margin-bottom: 130px;
}
.Page_contact_coment1{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75em;
    color: #FFFFFF;
    margin-bottom: 20px;
}
.Page_contact_coment2{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
    color: #FFFFFF;
    margin-bottom: 70px;
}
.Page_contact_box1{
    max-width: 1000px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 10px;
    background-color: #FFFFFF;
    padding-top: 60px;
    padding-bottom: 60px;
    margin-bottom: 60px;
}
.Page_contact_box1_title{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.75em;
    color: #095CA8;
}
.Page_contact_box1_item{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
.Page_contact_box1_item_tel{
    display: inline-block;
    background-image: url(../img/contact/tel.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 35px;
}
p.Page_contact_box1_item_tel{
    font-size: 42px;
    font-weight: 700;
    color: #095CA8;
    padding-left: 30px;
    padding-bottom: 7px;
}
.Page_contact_box1_item_fax{
    background-image: url(../img/contact/fax.png);
    background-repeat: no-repeat;
    background-position: left 12px;
    background-size: auto 25px;
    padding-left: 30px;
    padding-bottom: 0px;
    line-height: 1.75em;
}
p.Page_contact_box1_item_fax{
    font-size: 28px;
    font-weight: 700;
    color: #095CA8;
}
.Page_contact_box1_item_mail{
    background-image: url(../img/contact/mail.png);
    background-repeat: no-repeat;
    background-position: left 10px;
    background-size: auto 25px;
    padding-left: 30px;
    padding-bottom: 8px;
}
p.Page_contact_box1_item_mail{
    font-size: 28px;
    font-weight: 700;
    color: #095CA8;
}
.Page_contact_box2{
    max-width: 1020px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
}
.Page_contact_box2_title{
    font-size: 20px;
    font-weight: 700;
    color: #095CA8;
    margin-bottom: 10px;
}
.Page_contact_box2_tel{
    font-size: 24px;
    font-weight: 700;
    color: #095CA8;
    margin-bottom: 10px;
}
.Page_contact_box2_fax{
    font-size: 24px;
    font-weight: 700;
    color: #095CA8;
}
.Page_contact_box2_txt1{
    font-size: 16px;
    font-weight: 700;
}
.Page_contact_box2_1{
    width: 48%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 10px;
    background-color: #FFFFFF;
    padding-top: 30px;
    padding-bottom: 20px;
}
.Page_contact_box2_2{
    width: 48%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 10px;
    background-color: #FFFFFF;
    padding-top: 30px;
    padding-bottom: 20px;
}
.Page_contact_form_box{
    width: 1000px;
    margin-left: auto;
    margin-right: auto;
}
.Page_contact_form_end_box{
    padding-top: 50px;
}
.Page_contact_form_end_box h3{
    font-size: 20px;
    font-weight: 700;
    line-height: 2.0em;
    margin-bottom: 30px;
}
.Page_contact_form_end_box p{
    font-size: 16px;
    font-weight: 700;
    line-height: 2.0em;
    margin-bottom: 30px;
}
.Page_contact_form_item {
    width: 100%;
    display: flex;             /* 横並びにする */
    align-items: center;    /* 上揃えにする */
    padding: 20px 0;           /* 上下の余白 */
    text-align: left;
}
.Page_contact_form_item_ue {
    align-items: flex-start;    /* 上揃えにする */
}
/* 左側のラベル（企業名、お名前など） */
.Page_contact_form_label {
  width: 200px;              /* ラベルの横幅を固定 */
  font-weight: bold;
  padding-top: 10px;         /* 入力欄との高さを合わせる微調整 */
}

/* 右側の入力エリア */
.Page_contact_form_group {
  flex: 1;                   /* 残りの幅をすべて使う */
    text-align: left;
}
/* 注釈テキスト（ご所属がある場合は〜） */
.Page_contact_form_note {
    font-size: 12px;
    margin-bottom: 8px;
    color: #333;
    text-align: left;
}

/* 入力欄のデザイン */
.Page_contact_form_control {
  width: 100%;               /* 幅いっぱい */
  background-color: #f7f7f7; /* 薄いグレーの背景 */
  border: none;              /* 枠線を消す */
  padding: 15px;             /* 内側の余白 */
  border-radius: 4px;        /* 角を少し丸める */
}
.Page_contact_form_select {
    width: 50%;               /* 幅いっぱい */
    background-color: #f7f7f7; /* 薄いグレーの背景 */
    border: none;              /* 枠線を消す */
    padding: 15px;             /* 内側の余白 */
    border-radius: 4px;        /* 角を少し丸める */
}

.mt-20 { margin-top: 20px; }
.Page_contact_form_radio_group {
  display: flex;
  gap: 20px; /* 項目間の間隔 */
  align-items: center;
  height: 45px; /* 入力欄と高さを合わせる */
}

.Page_contact_form_radio_label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;

    gap: 28px;            /* ラジオボタンと文字の間の距離（お好みで） */
    margin-top: 10px;
}
.Page_contact_form_radio_label label {
    margin-right: 20px;
}
/* ラジオボタン自体の色を少し変える場合（ブラウザによります） */
.Page_contact_form_radio_label input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: #1d65a6; /* 選択時の色をボタンの青に合わせる */
    flex-shrink: 0;      /* ボタンが潰れないように固定 */
    vertical-align: middle; /* お守り代わり */
    margin-top: -5px;
    margin-right: 5px;
}
.Page_contact_form_policy_area {
  text-align: center;
  margin: 40px 0 20px;
}

.Page_contact_form_checkbox_label {
  display: inline-flex;
  align-items: center;
  font-weight: bold;
  cursor: pointer;
}

.Page_contact_form_checkbox_label input[type="checkbox"] {
  margin-right: 10px;
  width: 20px;
  height: 20px;
  accent-color: #1d65a6;
}
.Page_contact_form_contact{
    width: 250px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 55px;
}
.Page_contact_form_contact input[type="submit"] {
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    width: 100%;
    line-height: 2.0em;
    padding-top: 0px;
    padding-bottom: 0px;
    display: block;
    border-radius: 30px;
    transition: all 0.2s;
    
    /* ボタン特有のスタイルをリセット */
    border: none;           /* 枠線を消す */
    cursor: pointer;        /* マウスを指マークにする */
    text-align: center;     /* 文字を中央寄せ */
    appearance: none;       /* iOS等のデフォルトスタイルを解除 */
    -webkit-appearance: none;
}

/* ホバー時の挙動 */
.Page_contact_form_contact input[type="submit"]:hover {
    background-color: #BDCDDB;
    transition: all 0.2s;
}
  /* 左3つ並びの場合(space-between指定時)
.Page-panel1::after{
      content:"";
      display: block;
      width:30%;
}
  */
  /* 左4つ並びの場合(space-between指定時)
.Page-panel1::before{
      content:"";
      display: block;
      width:23%;
      order:1;
}
.Page-panel1::after{
      content:"";
      display: block;
      width:23%;
}
  */

/* ページ共通 ボタン */
.button01 {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    line-height: 24px;
    outline: none;
    font-size: 14px;
    padding-top: 12px;
    padding-right: 15px;
    padding-bottom: 12px;
    padding-left: 15px;
}
.button01::before,
.button01::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.button01,
.button01::before,
.button01::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
.button01 {
    background-color: #449F6B;
    border: 2px solid #449F6B;
    color: #fff;
}
.button01:link {
    color: #fff;
}
.button01:hover {
    background-color: #fff;
    border-color: #449F6B;
    color: #449F6B;
}
/* フッター 共通 */
.Foot_contact_bg{
    padding-top: 80px;
    padding-bottom: 80px;
    background-image: url(../img/foot/tel_contact_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}
.Foot_contact_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
}
.Foot_contact_title_box{
    text-align: left;
    color: #FFFFFF;
}
.Foot_contact_title_box_title{
    font-size: 36px;
    font-weight: 700;
    line-height: 1.5em;
}
.Foot_contact_title_box_title_en{
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5em;
    margin-bottom: 20px;
}
.Foot_contact_title_box_coment{
    font-size: 16px;
    font-weight: 700;
    line-height: 2.0em;
}
.Foot_contact_tel_box{
    color: #FFFFFF;
}
.Foot_contact_tel_box_number{}
.Foot_contact_tel_box_number p{
    font-size: 42px;
    font-weight: 700;
    line-height: 2.0em;
    letter-spacing: 2px;
    background-image: url(../img/foot/tel_icon.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 25px auto;
    padding-left: 30px;
}
.Foot_contact_tel_box_time{
    font-size: 18px;
    font-weight: 700;
}
.Foot_contact_tel_box_contact{}
.Foot_contact_tel_box_contact a{
    background-color: #FFFFFF;
    color: #095CA8;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    line-height: 2.0em;
    display: inline-block;
    border-radius: 30px;
    transition: all 0.2s;
    padding-top: 5px;
    padding-bottom: 5px;
    padding-left: 30px;
    padding-right: 30px;
}
.Foot_contact_tel_box_contact a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}
.Foot_bg{
    padding-top: 100px;
    padding-bottom: 10px;
}
.Foot_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.Foot_logo_box{
    width: 50%;
    text-align: left;
}
.Foot_logo_box_img{
    width: 320px;
    margin-bottom: 30px;
}
.Foot_logo_box dl{
    margin-bottom: 30px;
}
.Foot_logo_box dl dt{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5em;
}
.Foot_logo_box dl dd{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}
.Foot_menu_box{
    width: 50%;
    display: flex;
    justify-content: space-between;
}
.Foot_menu_item{
    text-align: left;
}
.Foot_menu_item_title{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5em;
    margin-bottom: 20px;
}
.Foot_menu_item ul{}
.Foot_menu_item ul li{}
.Foot_menu_item ul li a{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5em;
    display: block;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 3px;
    padding-bottom: 3px;
}
.Foot_menu_item ul li a:hover{
    color: #FFFFFF;
    background-color: #095CA8;
}
.Foot_cp_box{
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.Foot_cp_txt p{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5em;
}
.Foot_cp_menu{
    display: flex;
}
.Foot_cp_menu p{
    margin-left: 10px;
    margin-right: 10px;
}
.Foot_cp_menu a{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5em;
}
.Foot_cp_menu a:hover{}
/*　リストアイコン軍　*/

/* 非表示 */
.pc-hide{
    /*<br / class="pc-hide">*/
    display: none !important;
}
/*　アンカーマージン　*/
.anchor {
    padding-top: 60px;
    margin-top: -60px;
    display:inline-block;
}


}
@media screen and (max-width: 828px){
/**************************
スマホ用スタイル
**************************/
/* ヘッダ */
.Hed_bg{
    position: fixed;
    right: 0px;
    top: 0px;
    margin-bottom: 20px;
    width: 100%;
    padding-top: 15px;
    padding-bottom: 15px;
    padding-left: 30px;
    background-color: #FFFFFF;
    z-index: 100;
}
.Hed_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-between;
}
.Hed_logo{}
.Hed_logo img{
    width: 240px;
}
.Hed_contact{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 55px;
}
.Hed_contact a{
    background-color: #FFFFFF;
    color: #095CA8;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    line-height: 2.0em;
    display: inline-block;
    border-radius: 30px;
    transition: all 0.2s;
    padding-top: 5px;
    padding-bottom: 5px;
    width: 90%;
}
.Hed_contact a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}

/*　ヘッダメニュー 開閉CSSは最下部に有り　*/
.Hed_menu_bloc{
    text-align: center;
    color: #fff;
    max-width: 1180px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-image: url(../img/hed/menu_bg_sp.png);
    background-repeat: repeat-y;
    background-position: center center;
    background-size: cover;
}
section{
    margin-top: 83px;
}

/* バーガーメニューCSS */
/* 
hamburger(ハンバーガーアイコン)
=================================== */
.hamburger {
  position: fixed;
  right: 17px;
  top: 30px;
  width: 50px;
  height: 40px;
  cursor: pointer;
  z-index: 1300;
}

.hamburger__line {
    position: absolute;
    width: 35px;
    height: 1px;
    right: 0;
    background-color: #737070;
    transition: all 0.5s;
}

.hamburger__line--1 {
  top: 1px;
}

.hamburger__line--2 {
  top: 13px;
}

.hamburger__line--3 {
  top: 25px;
}

/*ハンバーガーがクリックされたら*/
.open .hamburger__line--1 {
  transform: rotate(-45deg);
  top: 11px;
}

.open .hamburger__line--2 {
  opacity: 0;
}

.open .hamburger__line--3 {
  transform: rotate(45deg);
  top: 11px;
}

/* 
sp-nav(ナビ)
=================================== */
.sp-nav {
  position: fixed;
  top: -200%; /*ハンバーガーがクリックされる前はWindow上部に隠す*/
  left: 0;
  width: 100%; /* 出てくるスライドメニューの幅 */
  height: calc(100vh - 55px); /* 高さをビューポートの高さから55px引いた値に変更 */
  background-color: #fff;
  transition: all 0.5s;
  z-index: 200;
  overflow-y: auto;
}

/*ハンバーガーがクリックされたら上からスライド*/
.open .sp-nav {
  top: 82px;
}
.sp-nav h3{
    padding-top: 30px;
    margin-bottom: 100px;
}
.sp-nav h3 img{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
    
/* 
black-bg(ハンバーガーメニュー解除用bg)
=================================== */
.black-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 5;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
    cursor: pointer;
    z-index: 100;
}

/*ハンバーガーメニューが開いたら表示*/
.open .black-bg {
  opacity: 0.0;
  visibility: visible;
}
.open body {
  height: 100%;
  overflow: hidden;
}

/* TOPページ共通 ヘッダ部分 */
.Top_hed_txt_box{
    max-width: 1200px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.Top_hed_txt_box p{
    font-size: 64px;
    font-weight: 700;
    line-height: 1.5em;
}
.Top_slide_box{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 150px;
}
.swiper--wrapper {}
.swiper-slide {
  /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
  color: #ffffff;
  text-align: center;
}
.swiper-slide {
    display: block;
}
.swiper-slide img {
    width: 100%;    /* 親要素（50%になった箱）の幅いっぱいに広げる */
    height: auto;   /* 縦横比を維持する */
    display: block;
}
/* TOPページ共通 挨拶 */
.Top_greeting_bg{
    margin-bottom: 100px;
}
.Top_greeting_bloc{
    max-width: 1200px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 10px;
}
.Top_greeting_txt_bloc{
    width: 100%;
    text-align: left;
}
.Top_greeting_txt_box{
    margin-bottom: 100px;
}
.Top_greeting_txt_box img{
    width: 100%;
}
.Top_greeting_txt_box_title{
    font-size: 36px;
    font-weight: 700;
    line-height: 1.3em;
    margin-bottom: 20px;
}
.Top_greeting_txt_box_title_sub{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5em;
    margin-bottom: 20px;
}
.Top_greeting_txt_box_coment{
    margin-bottom: 20px;
}
.Top_greeting_txt_box_coment p{
    font-size: 16px;
    font-weight: 400;
    line-height: 2.0em;
    text-align: justify;
}
.Top_greeting_txt_box_coment_red{
    font-size: 16px;
    font-weight: 400;
    color: #FF0004;
}
.Top_greeting_btm{
    width: 200px;
    margin-left: auto;
    margin-right: auto;
    margin-top: -70px;
}
.Top_greeting_btm a{
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    width: 100%;
    line-height: 2.0em;
    padding-top: 0px;
    padding-bottom: 0px;
    display: block;
    border-radius: 30px;
    transition: all 0.2s;
    text-align: center;
}
.Top_greeting_btm a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}
/* TOPページ共通 お知らせ */
.Top_news_bg{
    margin-bottom: 180px;
}
.Top_news_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Top_news_title_box{
    width: 100%;
    background-image: url(../img/top/news_title_bg.png);
    background-repeat: repeat-y;
    text-align: left;
    color: #FFFFFF;
    padding-left: 30px;
    padding-top: 30px;
    padding-right: 30px;
    padding-bottom: 30px;
    margin-bottom: 50px;
}
.Top_news_title_box_title{
    font-size: 36px;
    font-weight: 700;
    line-height: 1.4em;
}
.Top_news_title_box_title_en{
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2em;
}
.Top_news_list{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.Top_news_item{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #B1B1B1;
    margin-bottom: 30px;
    padding-bottom: 30px;
}
.Top_news_item:last-of-type{
    border-bottom: 0px solid #B1B1B1;
}
.Top_news_item_data{
    width: 50%;
    font-size: 16px;
    font-weight: 700;
}
.Top_news_item_data p{
    font-size: 16px;
    font-weight: 700;
}
.Top_news_item_cal{
    width: 50%;
}
.news_cal1 p{
    font-size: 16px;
    font-weight: 400;
    background-color: #095CA8;
    color: #FFFFFF;
    text-align: center;
    line-height: 2.0em;
    border-radius: 30px;
}
.news_cal2 p{
    font-size: 16px;
    font-weight: 400;
    background-color: #095CA8;
    color: #FFFFFF;
    text-align: center;
    line-height: 2.0em;
    border-radius: 30px;
}
.Top_news_item_coment{
    width: 100%;
    margin-top: 10px;
}
.Top_news_item_coment a{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}
.Top_news_btm{
    width: 200px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
}
.Top_news_btm a{
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    width: 100%;
    line-height: 2.0em;
    padding-top: 0px;
    padding-bottom: 0px;
    display: block;
    border-radius: 30px;
    transition: all 0.2s;
    text-align: center;
}
.Top_news_btm a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}
/* TOPページ共通 業種案内 */
.Top_industry_bg{
    margin-bottom: 150px;
}
.Top_industry_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
.Top_industry_title{
    max-width: 1200px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    margin-bottom: 40px;
}
.Top_industry_title p{
    font-size: 52px;
    font-weight: 700;
    line-height: 1.5em;
}
.Top_industry_container {
    width: 100%;
    overflow: hidden; /* はみ出た分を隠す */
    display: flex;
    margin-bottom: 80px;
}

.Top_industry_content {
  display: flex;
  width: fit-content;
  /* infiniteで永久に、linearで一定速度に設定 */
  animation: loop-scroll 20s linear infinite;
}

.Top_industry_content img {
    width: auto;
    height: 300px; /* ここで高さを調整してください */
    display: block;
    z-index: 1;
}

@keyframes loop-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    /* 画像1枚分（50%）左に移動したら0%の位置に戻る */
    transform: translateX(-50%);
  }
}
.Top_industry_list{
    max-width: 1200px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Top_industry_btm{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}
.Top_industry_btm a{
    display: block;
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    transition: all 0.2s;
    text-align: center;
    padding-top: 30px;
    padding-bottom: 30px;
}
.Top_industry_btm a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}
/* ページ共通 */
.Page_hed_title{}
.Page_hed_title p{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5em;
    margin-bottom: 65px;
    padding-top: 20px;
}
/* ページ共通 あいさつ */
.Page_greeting_bg{
    background-image: url(../img/greeting/page_bg.png);
    background-repeat: no-repeat;
    background-position: -30px top;
    background-size: 120% auto;
    padding-top: 30px;
    margin-bottom: 80px;
}
.Page_greeting_bloc{
    max-width: 1200px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Page_greeting_box{
    max-width: 820px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 25px;
    padding-right: 25px;
    padding-bottom: 25px;
    padding-left: 25px;
    background-color: #FFFFFF;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); /* 下方向に少し落とし、薄く広くぼかす */
    border-radius: 0px; /* ほんの少し角を丸めると、より画像に近い柔らかさになります */
    border: 1px solid #f0f0f0; /* 影だけでなく薄い枠線を入れると、白背景でも輪郭がハッキリします */
}
.Page_greeting_box_title{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5em;
    text-align: left;
    margin-bottom: 30px;
}
.Page_greeting_box_coment{
    font-size: 20px;
    font-weight: 400;
    line-height: 2.25em;
    text-align: left;
    margin-bottom: 20px;
}
.Page_greeting_box_img{
    text-align: center;
}
.Page_greeting_box_img img{
    width: 90%;
}
/* ページ共通 経営理念 */
.Page_philosophy_bg{
    background-image: url(../img/greeting/page_bg.png);
    background-repeat: no-repeat;
    background-position: -30px top;
    background-size: 120% auto;
    padding-top: 30px;
    margin-bottom: 80px;
}
.Page_philosophy_bloc{
    max-width: 1200px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Page_philosophy_box{
    max-width: 1060px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 40px;
    padding-right: 20px;
    padding-bottom: 40px;
    padding-left: 20px;
    background-color: #F7F7F7;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); /* 下方向に少し落とし、薄く広くぼかす */
    border-radius: 30px; /* ほんの少し角を丸めると、より画像に近い柔らかさになります */
    border: 1px solid #f0f0f0; /* 影だけでなく薄い枠線を入れると、白背景でも輪郭がハッキリします */
}
.Page_philosophy_title{
    margin-bottom: 50px;
}
.Page_philosophy_title img{
    width: 90%;
}
.Page_philosophy_list{}
.Page_philosophy_list_item{
    display: flex;
    margin-bottom: 45px;
}
.Page_philosophy_list_item:last-of-type{
    margin-bottom: 0px;
}
.Page_philosophy_list_item_no{
    font-family: "Noto Serif JP", serif;
    font-size: 60px;
    font-weight: 700;
    line-height: 1.0em;
    color: #095CA7;
    margin-right: 10px;
}
.Page_philosophy_list_item_txt{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25em;
    color: #095CA7;
    text-align: left;
    text-align: justify;
}
/* ページ共通 登録・許可・認定等 */
.Page_certification_bg{
    background-size: 70% auto;
    padding-top: 60px;
    margin-bottom: 80px;
}
.Page_certification_bloc{
    max-width: 1050px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Page_certification_list{
}
.Page_certification_item{
    width: 100%;
    padding-top: 30px;
    padding-right: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
    background-color: #095CA7;
    border-radius: 20px;
    margin-bottom: 50px;
}
.Page_certification_item_txt{
    margin-bottom: 20px;
}
.Page_certification_item_txt p{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.75em;
    color: #FFFFFF;
}
.Page_certification_item_img{
    width: 100%;
    background-color: #E7E7E7;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
    border-radius: 20px;
}
.Page_certification_item_img img{
    width: 100%;
}
/* ページ共通 会社概要 */
.Page_Company_Profile_bg{
    padding-top: 0px;
    margin-bottom: 150px;
}
.Page_Company_Profile_bloc1{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 110px;
    padding-bottom: 110px;
}
.Page_Company_Profile_bloc2{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 110px;
}
.Page_Company_Profile_box1{
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    max-width: 1050px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Page_Company_Profile_box1 dl{
}
.Page_Company_Profile_box1 dl dt{
    color: #095CA7;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75em;
    border-bottom: 1px solid #095CA7;
    width: 100%;
    margin-bottom: 5px;
}
.Page_Company_Profile_box1 dl dd{
    font-size: 20px;
    font-weight: 400;
    line-height: 1.75em;
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 35px;
}
.Page_Company_Profile_box2{
    text-align: left;
    max-width: 1050px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Page_Company_Profile_box2 dl{
}
.Page_Company_Profile_box2 dl dt{
    color: #095CA7;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75em;
    border-bottom: 1px solid #095CA7;
    width: 100%;
    margin-bottom: 5px;
}
.Page_Company_Profile_box2 dl dd{
    font-size: 20px;
    font-weight: 400;
    line-height: 1.75em;
    width: 100%;
    padding-bottom: 5px;
    margin-bottom: 35px;
}
/* ページ共通 お取引先 */
.Page_Business_partner_bg{
    padding-top: 0px;
    margin-bottom: 0px;
}
.Page_Business_partner_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 110px;
    padding-bottom: 110px;
}
.Page_Business_partner_box{
    text-align: left;
    max-width: 1050px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Page_Business_partner_box dl{}
.Page_Business_partner_box dl dt{
    color: #095CA7;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75em;
    border-bottom: 1px solid #000000;
    width: 100%;
    margin-bottom: 5px;
}
.Page_Business_partner_box dl dd{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 35px;
}
/* ページ共通 セキュリティ事業 */
.Page_Security_business_bg{
    padding-top: 0px;
    margin-bottom: 0px;
}
.Page_Security_business_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 60px;
    padding-bottom: 60px;
}
.Page_Security_business_list{
    max-width: 1100px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Page_Security_business_item{
    background-color: #FFFFFF;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); /* 下方向に少し落とし、薄く広くぼかす */
    border-radius: 30px; /* ほんの少し角を丸めると、より画像に近い柔らかさになります */
    border: 1px solid #f0f0f0; /* 影だけでなく薄い枠線を入れると、白背景でも輪郭がハッキリします */
    margin-bottom: 40px;
}
.Page_Security_business_item:last-of-type{
    margin-bottom: 0px;
}
.Page_Security_business_item_txt_box{
    width: 100%;
    text-align: left;
}
.Page_Security_business_item_title{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25em;
    color: #095CA7;
    text-align: center;
}
.Page_Security_business_item_sub_title{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.50em;
    text-align: center;
}
.Page_Security_business_item_coment{
    margin-top: 30px;
    margin-bottom: 50px;
}

.Page_Security_business_item_coment p{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
}
.Page_Security_business_item_txt_red{
    color: #FF0004;
    font-weight: 700;
}
.Page_Security_business_item_img_box{
    width: 100%;
}
.Page_Security_business_item_img_box p{
    margin-bottom: 20px;
}
.Page_Security_business_item_img_box img{
    width: 100%;
}
/* ページ共通 探偵事業 */
.Page_detective_business_bg{
    padding-top: 0px;
    margin-bottom: 0px;
}
.Page_detective_business_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 60px;
    padding-bottom: 60px;
}
.Page_detective_business_list{
    max-width: 1100px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Page_detective_business_item{
    background-color: #FFFFFF;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); /* 下方向に少し落とし、薄く広くぼかす */
    border-radius: 30px; /* ほんの少し角を丸めると、より画像に近い柔らかさになります */
    border: 1px solid #f0f0f0; /* 影だけでなく薄い枠線を入れると、白背景でも輪郭がハッキリします */
    margin-bottom: 40px;
}
.Page_detective_business_item:last-of-type{
    margin-bottom: 0px;
}
.Page_detective_business_item_txt_box{
    width: 100%;
    text-align: left;
}
.Page_detective_business_item_title{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25em;
    color: #095CA7;
}
.Page_detective_business_item_coment{
    margin-top: 30px;
    margin-bottom: 50px;
}
.Page_detective_business_item_coment p{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
}
.Page_detective_business_item_txt_red{
    color: #FF0004;
    font-weight: 700;
}
.Page_detective_business_item_img_box{
    width: 100%;
}
.Page_detective_business_item_img_box p{
    margin-bottom: 20px;
}
.Page_detective_business_item_img_box img{
    width: 100%;
}
/* ページ共通 ドローン */
.Page_drone_business_bg{
    padding-top: 0px;
    margin-bottom: 0px;
}
.Page_drone_business_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 60px;
    padding-bottom: 60px;
}
.Page_drone_business_list{
    max-width: 1100px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 70px;
}
.Page_drone_business_item{
    background-color: #FFFFFF;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); /* 下方向に少し落とし、薄く広くぼかす */
    border-radius: 30px; /* ほんの少し角を丸めると、より画像に近い柔らかさになります */
    border: 1px solid #f0f0f0; /* 影だけでなく薄い枠線を入れると、白背景でも輪郭がハッキリします */
    margin-bottom: 40px;
}
.Page_drone_business_item:last-of-type{
    margin-bottom: 0px;
}
.Page_drone_business_item_txt_box{
    width: 100%;
    text-align: left;
}
.Page_drone_business_item_title{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25em;
    color: #095CA7;
}
.Page_drone_business_item_coment{
    margin-top: 30px;
    margin-bottom: 50px;
}
.Page_drone_business_item_coment p{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
}
.Page_drone_business_item_txt_red{
    color: #FF0004;
    font-weight: 700;
}
.Page_drone_business_item_img_box{
    width: 100%;
}
.Page_drone_business_item_img_box p{
    margin-bottom: 20px;
}
.Page_drone_business_item_img_box img{
    width: 100%;
}
.Page_drone_business_pay_box{}
.Page_drone_business_pay_title {
    margin-bottom: 20px;
}
.Page_drone_business_pay_title p{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.5em;
}
.table_container{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
}
.Page_drone_business_pay_tabel{
    text-align: center;
    max-width: 1100px;
    width: 950px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}
.Page_drone_business_pay_tabel table{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    border-top: 1px solid #DDDDDD;
    border-left: 1px solid #DDDDDD;
}
.Page_drone_business_pay_tabel th{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5em;
    background-color: #DBEBF2;
    border-bottom: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD;
    padding-top: 15px;
    padding-bottom: 15px;
}
.Page_drone_business_pay_tabel td{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5em;
    border-bottom: 1px solid #DDDDDD;
    border-right: 1px solid #DDDDDD;
    background-color: #FFFFFF;
    padding-top: 15px;
    padding-bottom: 15px;
}
.Page_drone_business_pay_txt_box{
    max-width: 1100px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.Page_drone_business_pay_coment1{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5em;
    margin-bottom: 20px;
}
.Page_drone_business_pay_coment2 p{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    margin-bottom: 20px;
}
.Page_drone_business_pay_coment3 dl{}
.Page_drone_business_pay_coment3 dl dt{
    color: #FFFFFF;
    background-color: #1E1F3B;
    display: inline-block;
    margin-right: 20px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 2px;
    padding-bottom: 4px;
    margin-bottom: 20px;
}
.Page_drone_business_pay_coment3 dl dd{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}
/* ページ共通 有害駆除事業 */
.Page_extermination_business_bg{
    padding-top: 0px;
    margin-bottom: 0px;
}
.Page_extermination_business_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 60px;
    padding-bottom: 60px;
}
.Page_extermination_business_list{
    max-width: 1100px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Page_extermination_business_item{
    background-color: #FFFFFF;
    padding-top: 20px;
    padding-right: 20px;
    padding-bottom: 10px;
    padding-left: 20px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3); /* 下方向に少し落とし、薄く広くぼかす */
    border-radius: 30px; /* ほんの少し角を丸めると、より画像に近い柔らかさになります */
    border: 1px solid #f0f0f0; /* 影だけでなく薄い枠線を入れると、白背景でも輪郭がハッキリします */
    margin-bottom: 40px;
}
.Page_extermination_business_item:last-of-type{
    margin-bottom: 0px;
}
.Page_extermination_business_item_txt_box{
    width: 100%;
    text-align: left;
}
.Page_extermination_business_item_title{
    font-size: 30px;
    font-weight: 700;
    line-height: 1.25em;
    color: #095CA7;
}
.Page_extermination_business_item_coment{
    margin-top: 30px;
    margin-bottom: 50px;
}
.Page_extermination_business_item_coment p{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
}
.Page_extermination_business_item_img_box{
    width: 100%;
}
.Page_extermination_business_item_img_box p{
    margin-bottom: 20px;
}
.Page_extermination_business_item_img_box img{
    width: 100%;
}
/* ページ共通 採用情報 */
.Page_recruitment_bg{
    padding-top: 0px;
    margin-bottom: 0px;
}
.Page_recruitment_bloc{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background-color: #F7F7F7;
    padding-top: 110px;
    padding-bottom: 110px;
}
.Page_recruitment_box{
    text-align: left;
    max-width: 1050px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Page_recruitment_box dl{}
.Page_recruitment_box dl dt{
    color: #095CA7;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75em;
    border-bottom: 1px solid #095CA7;
    width: 100%;
    margin-bottom: 5px;
}
.Page_recruitment_box dl dd{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
    width: 100%;
    padding-bottom: 20px;
    margin-bottom: 35px;
}
/* ページ共通 プライバシーポリシー */
.Page_privacy_policy_bg{
    padding-top: 0px;
    margin-bottom: 180px;
}
.Page_privacy_policy_bloc{
    max-width: 1100px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.Page_privacy_policy_title{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.75em;
    margin-bottom: 80px;
}
.Page_privacy_policy_coment{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75em;
    margin-bottom: 80px;
    text-align: justify;
}
.Page_privacy_policy_txt_box{}
.Page_privacy_policy_txt_box ol{
    list-style-position: outside;
    padding-left: 25px;
    list-style-type: decimal;
}
.Page_privacy_policy_txt_box ol li{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
    margin-bottom: 40px;
}
.Page_privacy_policy_txt_box ol li:last-of-type{
    margin-bottom: 0px;
}
/* ページ共通 お知らせ */
.Page_news_bg{
    margin-bottom: 180px;
}
.Page_news_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.Page_news_list{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.Page_news_list_item{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #B1B1B1;
    margin-bottom: 30px;
    padding-bottom: 30px;
}
.Page_news_list_item:last-of-type{
    border-bottom: 0px solid #B1B1B1;
}
.Page_news_list_item_data{
    width: 50%;
}
.Page_news_list_item_data p{
    font-size: 16px;
    font-weight: 700;
}
.Page_news_list_item_cal{
    width: 50%;
}
.Page_news_list_item_cal p{
    font-size: 16px;
    font-weight: 400;
    background-color: #095CA8;
    color: #FFFFFF;
    text-align: center;
    line-height: 2.0em;
    border-radius: 30px;
}
.Page_news_list_item_coment{
    width: 100%;
    margin-top: 10px;
}
.Page_news_list_item_coment a{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}
.Page_news_pager_box{
    margin-left: auto;
    margin-right: auto;
}
.Page_news_pager_box img{
    width: 90%;
}
.Page_news_item_box{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 30px;
    padding-bottom: 30px;
}
.Page_news_item_box_data{
    width: 40%;
    text-align: left;
}
.Page_news_item_box_data p{
    font-size: 16px;
    font-weight: 700;
}
.Page_news_item_box_cal{
    width: 50%;
}
.Page_news_item_box_title{
    width: 100%;
    text-align: left;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5em;
    margin-top: 20px;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #B7B7B7;
}
.Page_news_item_box_title p{
}
.Page_news_item_box_coment{
    width: 100%;
    text-align: left;
}
.Page_news_item_box_coment p{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
}
.Page_news_btm_box{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: space-around;
}
.Page_news_btm_previous{
    width: 40%;
}
.Page_news_btm_previous a{
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    width: 100%;
    line-height: 2.0em;
    padding-top: 0px;
    padding-bottom: 0px;
    display: block;
    border-radius: 30px;
    transition: all 0.2s;
    text-align: center;
}
.Page_news_btm_previous a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}
.Page_news_btm_next{
    width: 40%;
}
.Page_news_btm_next a{
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    width: 100%;
    line-height: 2.0em;
    padding-top: 0px;
    padding-bottom: 0px;
    display: block;
    border-radius: 30px;
    transition: all 0.2s;
    text-align: center;
}
.Page_news_btm_next a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}
/* ページ共通 お問い合わせ */
.Page_contact_bg{
    margin-bottom: 180px;
}
.Page_contact_bloc{
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.Page_contact_bg_box{
    width: 100%;
    background-image: url(../img/contact/bg.jpg);
    background-repeat: no-repeat;
    padding-top: 100px;
    padding-bottom: 100px;
    background-position: 0% 100%;
    margin-bottom: 130px;
}
.Page_contact_coment1{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.75em;
    color: #FFFFFF;
    margin-bottom: 20px;
    text-align: left;
}
.Page_contact_coment2{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75em;
    color: #FFFFFF;
    margin-bottom: 70px;
    text-align: left;
}
.Page_contact_box1{
    max-width: 1000px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 10px;
    background-color: #FFFFFF;
    padding-top: 30px;
    padding-bottom: 30px;
    margin-bottom: 60px;
}
.Page_contact_box1_title{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.75em;
    color: #095CA8;
    margin-bottom: 10px;
}
.Page_contact_box1_item{
    width: 80%;
    margin-left: auto;
    margin-right: auto;
}
.Page_contact_box1_item_tel{
    display: inline-block;
    background-image: url(../img/contact/tel.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 35px;
    margin-bottom: 10px;
}
p.Page_contact_box1_item_tel{
    font-size: 42px;
    font-weight: 700;
    color: #095CA8;
    padding-left: 30px;
    padding-bottom: 7px;
}
.Page_contact_box1_item_fax{
    background-image: url(../img/contact/fax.png);
    background-repeat: no-repeat;
    background-position: left 12px;
    background-size: auto 25px;
    padding-left: 30px;
    padding-bottom: 0px;
    line-height: 1.75em;
    display: inline-block;
    margin-bottom: 10px;
}
p.Page_contact_box1_item_fax{
    font-size: 28px;
    font-weight: 700;
    color: #095CA8;
}
.Page_contact_box1_item_mail{
    background-image: url(../img/contact/mail.png);
    background-repeat: no-repeat;
    background-position: left 10px;
    background-size: auto 25px;
    padding-left: 30px;
    padding-bottom: 8px;
    display: inline-block;
}
p.Page_contact_box1_item_mail{
    font-size: 28px;
    font-weight: 700;
    color: #095CA8;
}
.Page_contact_box2{
    max-width: 1020px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Page_contact_box2_title{
    font-size: 20px;
    font-weight: 700;
    color: #095CA8;
    margin-bottom: 10px;
}
.Page_contact_box2_tel{
    font-size: 24px;
    font-weight: 700;
    color: #095CA8;
    margin-bottom: 10px;
}
.Page_contact_box2_fax{
    font-size: 24px;
    font-weight: 700;
    color: #095CA8;
}
.Page_contact_box2_txt1{
    font-size: 16px;
    font-weight: 700;
}
.Page_contact_box2_1{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 10px;
    background-color: #FFFFFF;
    padding-top: 30px;
    padding-bottom: 20px;
    margin-bottom: 60px;
}
.Page_contact_box2_2{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    border-radius: 10px;
    background-color: #FFFFFF;
    padding-top: 30px;
    padding-bottom: 20px;
}
.Page_contact_form_box{
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Page_contact_form_end_box{
    padding-top: 100px;
}
.Page_contact_form_end_box h3{
    font-size: 20px;
    font-weight: 700;
    line-height: 2.0em;
    margin-bottom: 30px;
}
.Page_contact_form_end_box p{
    font-size: 16px;
    font-weight: 700;
    line-height: 2.0em;
    margin-bottom: 30px;
}
.Page_conta
.Page_contact_form_item {
    width: 100%;
    padding: 20px 0;           /* 上下の余白 */
    text-align: left;
}
.Page_contact_form_item_ue {}
/* 左側のラベル（企業名、お名前など） */
.Page_contact_form_label {
    width: 100%;              /* ラベルの横幅を固定 */
    font-weight: bold;
    padding-top: 10px;         /* 入力欄との高さを合わせる微調整 */
    margin-bottom: 10px;
    display: block;
}

/* 右側の入力エリア */
.Page_contact_form_group {
  flex: 1;                   /* 残りの幅をすべて使う */
    text-align: left;
}
/* 注釈テキスト（ご所属がある場合は〜） */
.Page_contact_form_note {
    font-size: 12px;
    margin-bottom: 8px;
    color: #333;
    text-align: left;
}

/* 入力欄のデザイン */
.Page_contact_form_control {
  width: 100%;               /* 幅いっぱい */
  background-color: #f7f7f7; /* 薄いグレーの背景 */
  border: none;              /* 枠線を消す */
  padding: 15px;             /* 内側の余白 */
  border-radius: 4px;        /* 角を少し丸める */
}
.Page_contact_form_select {
    width: 70%;               /* 幅いっぱい */
    background-color: #f7f7f7; /* 薄いグレーの背景 */
    border: none;              /* 枠線を消す */
    padding: 15px;             /* 内側の余白 */
    border-radius: 4px;        /* 角を少し丸める */
}

.mt-20 { margin-top: 20px; }
.Page_contact_form_radio_group {
  display: flex;
  gap: 20px; /* 項目間の間隔 */
  align-items: center;
  height: 45px; /* 入力欄と高さを合わせる */
}

.Page_contact_form_radio_label {
    display: flex;
    align-items: center;
    cursor: pointer;
    font-size: 16px;
    font-weight: 700;
    gap: 8px;            /* ラジオボタンと文字の間の距離（お好みで） */
}
.Page_contact_form_radio_label label {
    margin-right: 20px;
}
/* ラジオボタン自体の色を少し変える場合（ブラウザによります） */
.Page_contact_form_radio_label input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: #1d65a6; /* 選択時の色をボタンの青に合わせる */
    flex-shrink: 0;      /* ボタンが潰れないように固定 */
    vertical-align: middle; /* お守り代わり */
    margin-top: -5px;
    margin-right: 5px;
}
.Page_contact_form_policy_area {
  text-align: center;
  margin: 40px 0 20px;
}

.Page_contact_form_checkbox_label {
  display: inline-flex;
  align-items: center;
  font-weight: bold;
  cursor: pointer;
}

.Page_contact_form_checkbox_label input[type="checkbox"] {
  margin-right: 10px;
  width: 20px;
  height: 20px;
  accent-color: #1d65a6;
}
.Page_contact_form_contact{
    width: 250px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 55px;
}
.Page_contact_form_contact input[type="submit"] {
    background-color: #095CA8;
    color: #FFFFFF;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    width: 100%;
    line-height: 2.0em;
    padding-top: 0px;
    padding-bottom: 0px;
    display: block;
    border-radius: 30px;
    transition: all 0.2s;
    
    /* ボタン特有のスタイルをリセット */
    border: none;           /* 枠線を消す */
    cursor: pointer;        /* マウスを指マークにする */
    text-align: center;     /* 文字を中央寄せ */
    appearance: none;       /* iOS等のデフォルトスタイルを解除 */
    -webkit-appearance: none;
}

/* ホバー時の挙動 */
.Page_contact_form_contact input[type="submit"]:hover {
    background-color: #BDCDDB;
    transition: all 0.2s;
}
  /* 左3つ並びの場合(space-between指定時)
.Page-panel1::after{
      content:"";
      display: block;
      width:30%;
}
  */
  /* 左4つ並びの場合(space-between指定時)
.Page-panel1::before{
      content:"";
      display: block;
      width:23%;
      order:1;
}
.Page-panel1::after{
      content:"";
      display: block;
      width:23%;
}
  */

/* ページ共通 ボタン */
.button01 {
    display: inline-block;
    text-align: center;
    text-decoration: none;
    line-height: 24px;
    outline: none;
    font-size: 14px;
    padding-top: 12px;
    padding-right: 15px;
    padding-bottom: 12px;
    padding-left: 15px;
}
.button01::before,
.button01::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.button01,
.button01::before,
.button01::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
.button01 {
    background-color: #449F6B;
    border: 2px solid #449F6B;
    color: #fff;
}
.button01:link {
    color: #fff;
}
.button01:hover {
    background-color: #fff;
    border-color: #449F6B;
    color: #449F6B;
}
/* フッター 共通 */
.Foot_contact_bg{
    padding-top: 80px;
    padding-bottom: 80px;
    background-image: url(../img/foot/tel_contact_bg_sp.png);
    background-repeat: no-repeat;
    background-size: cover;
}
.Foot_contact_bloc{
    max-width: 1200px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Foot_contact_title_box{
    text-align: left;
    color: #FFFFFF;
}
.Foot_contact_title_box_title{
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5em;
}
.Foot_contact_title_box_title_en{
    font-size: 20px;
    font-weight: 400;
    line-height: 1.5em;
    margin-bottom: 20px;
}
.Foot_contact_title_box_coment{
    font-size: 18px;
    font-weight: 700;
    line-height: 2.0em;
    margin-bottom: 30px;
}
.Foot_contact_tel_box{
    color: #FFFFFF;
}
.Foot_contact_tel_box_number{}
.Foot_contact_tel_box_number p{
    font-size: 42px;
    font-weight: 700;
    letter-spacing: 2px;
    background-image: url(../img/foot/tel_icon.png);
    background-repeat: no-repeat;
    background-position: left 8px;
    background-size: 30px auto;
    padding-left: 35px;
    display: inline-block;
}
.Foot_contact_tel_box_number a{
    color: #FFFFFF;
    text-decoration: none;
}
.Foot_contact_tel_box_number a:hover{
    color: #FFFFFF;
    text-decoration: none;
}
/* 電話番号リンクの自動スタイルを打ち消す */
.Foot_contact_tel_box_number a[href^="tel"] {
    color: #FFFFFF;        /* 親要素の文字色を継承（黒なら黒に） */
    text-decoration: none;   /* 下線を消す */
    border-bottom: none !important;    /* borderで線が出ている場合を考慮 */
    box-shadow: none !important;      /* 影で線に見える場合を考慮 */
}

/* 特定の場所だけ色を変えたい場合 */
.Foot_contact_tel_box_number a[href^="tel"] {
    color: #ffffff; 
}
.Foot_contact_tel_box_time{
    font-size: 18px;
    font-weight: 700;
    display: block;
    margin-top: 10px;
    margin-left: -20px;
    margin-bottom: 30px;
}
.Foot_contact_tel_box_contact{}
.Foot_contact_tel_box_contact a{
    background-color: #FFFFFF;
    color: #095CA8;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    line-height: 2.0em;
    display: inline-block;
    border-radius: 30px;
    transition: all 0.2s;
    padding-top: 5px;
    padding-bottom: 5px;
    width: 90%;
}
.Foot_contact_tel_box_contact a:hover{
    background-color: #BDCDDB;
    transition: all 0.2s;
}
.Foot_bg{
    padding-top: 100px;
    padding-bottom: 10px;
}
.Foot_bloc{
    max-width: 1200px;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
.Foot_logo_box{
    width: 100%;
    text-align: left;
}
.Foot_logo_box_img img{
    width: 320px;
    margin-bottom: 30px;
}
.Foot_logo_box dl{
    
}
.Foot_logo_box dl dt{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5em;
}
.Foot_logo_box dl dd{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    margin-bottom: 30px;
}
.Foot_menu_box{
    width: 100%;
}
.Foot_menu_item{
    text-align: left;
    margin-bottom: 50px;
}
.Foot_menu_item_title{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5em;
    margin-bottom: 20px;
}
.Foot_menu_item ul{}
.Foot_menu_item ul li{}
.Foot_menu_item ul li a{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5em;
    display: block;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 3px;
    padding-bottom: 3px;
}
.Foot_menu_item ul li a:hover{
    color: #FFFFFF;
    background-color: #095CA8;
}
.Foot_cp_box{
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
    margin-top: -20px;
}
.Foot_cp_txt p{
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5em;
}
.Foot_cp_menu{
    display: flex;
    flex-wrap: wrap;
    text-align: left;
}
.Foot_cp_menu p{
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 10px;
}
.Foot_cp_menu p:first-of-type{
    width: 100%;
}
.Foot_cp_menu a{
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5em;
}
.Foot_cp_menu a:hover{}
/*　リストアイコン軍　*/

/* 非表示 */
.sp-hide{
    /*<br / class="sp-hide">*/
    display: none !important;
}
/*　アンカーマージン　*/
.anchor {
    padding-top: 60px;
    margin-top: -60px;
    display:inline-block;
}



}
/**************************
PC・スマホ共に同じスタイル
**************************/

/*　フロートリセット　*/
.cl{
    /*<div class="cl"></div>*/
	line-height: 0px;
	clear: both;
	height: 0px;
}
/**************************
PCのメニュースタイル
**************************/

@media print, screen and (min-width: 828px){
nav {
    color: #fff;
    text-align: center;
    margin-top: 10px;
}
/* メニューを横並びにする */
nav ul {
    display: flex;
  /*justify-content: space-between;*/
    justify-content: center;
    list-style: none; /* 点を消す */
    padding: 0;
}

/* ２階層目 以降のメニューは縦並びにする */
nav ul ul {
    display: block;
}

/* liを下層メニューのulや矢印の基点にする */
nav ul li {
    position: relative;
    width: auto; 
    min-width: 100px; /* 必要であれば最小幅だけ残す */
    margin: 0;
}

/* ２階層目を持つliに矢印を設定する */
nav ul li.parent {
    color: #000000;
}
nav ul li.parent::before {
    content: "▼";
    position: absolute;
    right: 10px;   /* ★ 0% から 5px に変更（少し内側に入れる） */
    top: 27%;
    transform: rotate(-90deg);
    transition: all 0.3s;
    color: #000000;
    pointer-events: none;
    z-index: 10; /* 他の要素に隠れないように */
}
nav ul li.parent:hover::before {
    transform: rotate(0deg);
    color: #000000; /* 基本は黒に戻す（下層メニューを触っている時用） */
}
nav ul li.parent:has(> a:hover)::before {
    color: #FFFFFF !important;
}
/* ３階層目を持つliに矢印を設定する */

nav ul ul li.parent::before {
  content: "";
  position: absolute;
  right: 15px;
  top: 15px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
nav ul ul li:hover.parent::before {
  transform: rotate(135deg);
}
/* ２・３階層目 共通設定 */
nav li.parent ul {
    /* 位置指定 */
    position: absolute;
    top: 35px;
    z-index: 4;
    /* デザイン指定 */
    background-color: #FFF;
    width: auto;          /* 固定幅（230pxなど）を解除 */
    min-width: 100%;      /* 最低でも親メニューと同じ幅は確保する */

/* センター配置の設定（先ほどお伝えした分） */
    left: 50%;
    transform: translateX(-50%);
    
    /* 最初は非表示にする */
    visibility: hidden;
    opacity: 0;
    /* アニメーション */
    transition: all 0.3s;
}
.ichi1{
    left: -40%;
}
.ichi2{
    left: -45%;
}
.ichi3{
    left: -40%;
}
.ichi4{
    left: -52%;
}
/* メニューリンクの設定 */

nav ul > li {
    position: relative;
/* flex: 1; ←これを削除またはコメントアウト */
    margin-top: 0px;
    width: auto; /* 文字の幅に合わせる */
}
nav ul li a {
    padding-left: 15px;  /* ★左側に10pxの余白を追加 */
    padding-right: 30px; /* ★右側（矢印がある方）に少し多めの余白を追加 */
    display: block;
    color: #3D3D3D;
    padding-top: 10px;
    padding-bottom: 10px;
    transition: all 0.3s;
    text-decoration: none;
    font-family: "Zen Kaku Gothic New", serif;
    font-weight: 700;
}
nav ul li a:hover {
    background-color: #095CA8;
}
nav ul li li {
    width: auto;      /* ★ 120px固定を解除 */
    min-width: 100%;  /* 横幅いっぱいに広がるようにする */
}
nav ul li li a {
    color: #000000!important;
    width: auto;         /* ★ 200px固定を解除して、文字の長さに合わせる */
    padding-left: 25px;  /* ★ 左右の余白を同じ数値にする */
    padding-right: 15px; /* ★ 左右を揃えることでセンターになります */
    text-align: center;  /* 文字を中央寄せに */
    margin: 0 auto;      /* 中央配置の補助 */
}
nav ul li li a:hover {
    color: #FFFFFF!important;
}

nav ul li a:hover {
    color: #FFFFFF!important;
}
/* hoverしたら表示する */
nav li.parent:hover > ul,
nav li.parent ul li:hover > ul,
nav li.parent:active > ul,
nav li.parent ul li:active > ul {
  visibility: visible;
  opacity: 1;
}
/* 下層メニューのaタグのデザイン */
nav li.parent ul li a {
    color: #fff;
    border-bottom: solid 1px rgba(255, 255, 255, 0.6);
    line-height: 20px;
    font-size: 16px;
    white-space: nowrap;  /* 文字を絶対に改行させない */
    width: auto;          /* 幅を固定せず、文字の長さに合わせる */
    padding: 10px 20px;   /* 上下10px、左右20pxの余白で文字をセンターにする */
    display: block;
}

nav li.parent ul li:last-child > a {
  border-bottom: none;
}

nav li.parent ul li a:hover,
nav li.parent ul li a:active {
    background-color: #095CA8;
}

/* ３階層目の位置 */
nav li.parent ul ul {
  top: 0;
  left: 182px;
  background-color: #66adf5;
}

nav li.parent ul ul li a:hover,
nav li.parent ul ul li a:active {
  background-color: #448ed3;
}
nav ul > li:not(.parent) a {
    padding-left: 22px;  /* 左側の余白を増やしてバランスを取る */
    padding-right: 22px; /* 右側も合わせて調整 */
}
}
/**************************
SPのメニュースタイル
**************************/
@media screen and (max-width: 828px){

nav {
    color: #fff;
    text-align: left;
    margin-top: 0px;
}

/* メニューを横並びにする */
nav ul {
    display: flex;
    justify-content: center;
    list-style: none; /* 点を消す */
    padding: 0;
}

/* ２階層目 以降のメニューは縦並びにする */
nav ul ul {
    display: block;
    margin-top: -20px;
}
/* liを下層メニューのulや矢印の基点にする */
nav ul li {
    position: relative;
    width: auto;
    min-width: 100px; /* 必要であれば最小幅だけ残す */
    margin: 0;
}

/* ２階層目を持つliに矢印を設定する */
nav ul li.parent {
    color: #000000;
}
nav ul li.parent:hover::before {
    transform: rotate(0deg);
    color: #000000; /* 基本は黒に戻す（下層メニューを触っている時用） */
}
nav ul li.parent:has(> a:hover)::before {
    color: #FFFFFF !important;
}
/* ３階層目を持つliに矢印を設定する */

nav ul ul li.parent::before {
  content: "";
  position: absolute;
  right: 15px;
  top: 15px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
nav ul ul li:hover.parent::before {
  transform: rotate(135deg);
}
/* ２・３階層目 共通設定 */
nav li.parent ul {
    position: relative;    /* absolute から relative に変更（縦に並べるため） */
    left: 0;               /* センター配置をリセット */
    top: 0;                /* 位置をリセット */
    transform: none;       /* translateX をリセット */
    width: 100%;
    /* 表示・非表示の制御をシンプルにする */
    visibility: visible;   /* visibility は常に visible でOK */
    opacity: 1;            /* opacity も常に 1 でOK */
    display: none;         /* ★JSで制御するために、最初は非表示にする */
    background-color: transparent !important;
    transition: none;      /* スライド動作はJSが行うので transition は不要 */
  }
.ichi1{
    left: -40%;
}
.ichi2{
    left: -45%;
}
.ichi3{
    left: -40%;
}
.ichi4{
    left: -52%;
}
/* メニューリンクの設定 */
nav ul > li {
    position: relative;
/* flex: 1; ←これを削除またはコメントアウト */
    margin-top: 0px;
    width: auto; /* 文字の幅に合わせる */
}
nav ul li a {
    padding-left: 15px;  /* ★左側に10pxの余白を追加 */
    padding-right: 30px; /* ★右側（矢印がある方）に少し多めの余白を追加 */
    display: block;
    color: #FFFFFF;
    padding-top: 25px;
    padding-bottom: 25px;
    transition: all 0.3s;
    text-decoration: none;
    font-family: "Zen Kaku Gothic New", serif;
    font-weight: 700;

}
nav ul li a:hover,
nav ul li.parent.active > a, /* メニュー展開中の親メニュー */
nav ul li li a:hover {
    background-color: transparent !important; /* 背景色を透明（変えない）に */
    color: #FFFFFF !important;              /* テキストを青色に */
}
nav ul li li {
    width: auto;      /* ★ 120px固定を解除 */
    min-width: 100%;  /* 横幅いっぱいに広がるようにする */
}
nav ul li li a {
    color: #000000!important;
    width: auto;         /* ★ 200px固定を解除して、文字の長さに合わせる */
    padding-left: 25px;  /* ★ 左右の余白を同じ数値にする */
    padding-right: 15px; /* ★ 左右を揃えることでセンターになります */
    text-align: left !important;
    margin-left: 10px;
}


/* hoverしたら表示する */
nav li.parent:hover > ul,
nav li.parent ul li:hover > ul,
nav li.parent:active > ul,
nav li.parent ul li:active > ul {
  visibility: visible;
  opacity: 1;
}
/* 下層メニューのaタグのデザイン */
nav li.parent ul li a {
    color: #fff;
    border-bottom: solid 0px rgba(255, 255, 255, 0.6);
    line-height: 20px;
    font-size: 16px;
    white-space: nowrap;  /* 文字を絶対に改行させない */
    width: auto;          /* 幅を固定せず、文字の長さに合わせる */
    padding: 10px 20px;   /* 上下10px、左右20pxの余白で文字をセンターにする */
    display: block;
}

nav li.parent ul li:last-child > a {
  border-bottom: none;
}

nav li.parent ul li a:hover,
nav li.parent ul li a:active {
    background-color: #095CA8;
}

/* ３階層目の位置 */
nav li.parent ul ul {
  top: 0;
  left: 182px;
  background-color: #66adf5;
}

nav li.parent ul ul li a:hover,
nav li.parent ul ul li a:active {
  background-color: #448ed3;
}
nav li.parent ul li a {
    color: #fff !important;
    white-space: nowrap;  /* 文字を絶対に改行させない */
    width: auto;          /* 幅を固定せず、文字の長さに合わせる */
    padding: 10px 20px;   /* 上下10px、左右20pxの余白で文字をセンターにする */
    display: block;
}
/* ２階層目を持つliに矢印を設定する */
/* 矢印の基本形（右向き ＞） */
nav ul li.parent::before {
    content: ""; /* 文字の▼ではなく、枠線で＞を作ります */
    position: absolute;
    right: 20px;
    top: 30px !important; /* 位置が低ければ数値を小さくして調整 */
    width: 8px;
    height: 8px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    transform: rotate(45deg) !important; /* ここで右向きに固定 */
    transition: transform 0.3s ease;
    pointer-events: none;
    z-index: 10;
}
/* メニュー展開時（下向き ∨） */
nav ul li:hover.parent::before {
    transform: rotate(45deg) !important;
}
  /* ホバーで回す場合 */

nav ul li.parent.active::before {
    transform: rotate(135deg) !important; /* 下向き(∨) */
    top: 30px !important;
}
/* ３階層目を持つliに矢印を設定する */

nav ul ul li.parent::before {
    border-color: #fff;
    top: 25px;             /* 3階層目のaタグの高さに合わせて調整 */
  }
nav ul ul li:hover.parent::before {
  transform: rotate(135deg) !important;
}
  nav {
    padding: 0;
  }
  nav ul {
    display: block;
  }

  nav li.parent ul,
  nav li.parent ul ul {
    position: relative;
    left: 0;
    top: 0;
    width: 100%;
    visibility: visible;
    opacity: 1;
    display: none;
    transition: none;
  }

  nav ul li a {
    border-bottom: solid 0px #ccc;
  }

  nav ul li li a {
    padding: 20px 35px;
  }

}
