@charset "utf-8";

/* ----------------------------------------- */
/* 共通設定
/* ----------------------------------------- */

html {
  height: 100%;
  font-size: 62.5%;
}
body {
  height: 100%;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  color: #4d4d4d;
  font-size: 1.55rem;
  letter-spacing: 0.05rem;
  line-height: 160%;
}
h1, h2, h3, h4 {
  font-family: 'Zen Old Mincho', serif;
  font-weight: 700;
  color: #333333;
}
.clear:after {
  height: 0;
  display: block;
  clear: both;
  content: "";
}

img {
  vertical-align: bottom;
}


/* 印刷設定 */
@media print {
  body {
    width: 1024px;
    /* Print Background */
    -webkit-print-color-adjust: exact; /* chrome */
  }
}

/* ----------------------------------------- */
/* 共通パーツ：見学・応募ボタン サイドボタン */
/* ----------------------------------------- */
:root {
  --color-primary: #3b7b3b;
  --color-primary-light: color-mix(in srgb, var(--color-primary), transparent 20%);
}
.header-action-button {
  display: inline-block;
  background-color: var(--color-primary) !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 50px !important;
  transition: background-color 0.3s ease !important;
  overflow: hidden !important;
  text-decoration: none !important;
}

/* ホバー時のスタイル */
.header-action-button:hover {
  background-color: var(--color-primary-light) !important;
}

/* 画像自体の設定 */
.header-action-button img {
  display: block !important;
  width: 129px !important;
  height: auto !important;
  margin: 0 auto !important;
}

/* ----------------------------------------- */
/* ヘッダ */
/* ----------------------------------------- */
#tag_header{
  min-width: 1000px;
  background-color: #FFF;
}
/* Smart Phone View */
@media only screen and (max-width: 649px) {
  #tag_header{
    min-width: 100%;
    height: 64px;
  }
  #header {
    display: none;
  }
  #sp_top_menu {
    width: 100%;
    height: 64px;
    display: flex;
    align-items: center; 
    position: fixed;
    z-index: 1500;
    top: 0;
    left: 0;
    background-color: #FFFFFF;
    overflow: hidden;
    border-bottom: solid 1px #aaa;
  }
  .sp_top_menu_title {
    margin-left: 5%;
    max-width: calc(100% - 110px);
    display: flex;
    align-items: center;
    height: 64px; 
  }
.sp_top_menu_title img {
    width: 100%;
    height: auto;
    max-height: 44px; 
    object-fit: contain;
    object-position: left center;
    position: relative;
    top: -5px; 
  }
}
@media print, screen and (min-width:650px) {
  #tag_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 81px;
    z-index: 1000;
    background-color: #ffffff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    min-width: 1000px;
  }
  #header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 950px; 
    height: 81px;
    margin: 0 auto;
    padding: 0; 
    box-sizing: border-box;
  }
  #header::after {
    display: none;
  }
  #header .header_left {
    display: flex;
    align-items: center;
    float: none !important;
  }
  #header h1, #header h2, #header p {
    margin: 0; padding: 0;
  }
  #page > nav,
  .gnavi05 #recruit_top_navi {
    position: fixed !important;
    top: 0 !important;
    left: max(0px, calc(50% - 475px)) !important; 
    width: 950px !important;
    height: 81px !important;
    pointer-events: none !important; 
    display: block !important;
  }
  #page > nav            { z-index: 1010 !important; }
  #recruit_lp_navi       { z-index: 1015 !important; }
  .gnavi05 #recruit_top_navi { z-index: 1020 !important; }
  #recruit_top_navi {
    display: none !important; 
  }
  .gnavi05 #recruit_top_navi {
    display: block !important; 
  }
  .gnavi05 #recruit_top_navi .header_right_img {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: auto !important;
    display: block !important;
  }
  #page > nav .globalnavi {
    display: block !important;
    position: relative !important; 
    height: 81px !important;
    width: 390px !important; 
    margin-left: 355px !important; 
    pointer-events: auto !important; 
  }
  #page > nav .globalnavi ul {
    display: flex !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    justify-content: space-between !important; 
    align-items: center !important;
  }
  #page > nav .globalnavi li.gnavi {
    width: auto !important; 
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #page > nav .globalnavi li.gnavi a {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 100 !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 1.7rem !important;
    letter-spacing: -0.5px !important; 
    white-space: nowrap !important;
    color: #333333 !important;
    transition: color 0.2s ease !important;
  }
  #recruit_lp_navi {
    position: fixed !important;
    top: 0 !important;
    left: calc(max(0px, calc(50% - 475px)) + 375px) !important;
    width: 575px !important; 
    height: 81px !important;
    display: block !important;
    pointer-events: auto !important; 
  }
  #recruit_lp_navi .globalnavi {
    display: block !important;
    position: relative !important; 
    height: 81px !important;
    width: 100% !important;
  }
  #recruit_lp_navi .globalnavi ul {
    display: flex !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    align-items: center !important;
    position: relative !important; 
    width: 100% !important; 
    box-sizing: border-box !important;
    padding-left: 20px !important;
    padding-right: 150px !important; 
    justify-content: space-between !important;
  }
  #recruit_lp_navi .globalnavi li.gnavi:not(.gnavi06) {
    width: auto !important; 
    flex: none !important; 
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #recruit_lp_navi .globalnavi li.gnavi:not(.gnavi06) a {
    font-family: 'Zen Kaku Gothic New', sans-serif;
    font-weight: 100 !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 1.7rem !important;
    letter-spacing: -0.5px !important; 
    white-space: nowrap !important;
    color: #333333 !important;
    transition: color 0.2s ease !important;
  }
  #page > nav .globalnavi .gnavi a:hover,
  #recruit_lp_navi .globalnavi li.gnavi:not(.gnavi06) a:hover {
    color: var(--color-primary) !important; 
  }
  #page > nav .globalnavi li.gnavi a::after,
  #recruit_lp_navi .globalnavi li.gnavi:not(.gnavi06) a::after {
    content: '' !important;
    position: absolute !important;
    bottom: 18px !important;
    left: 0 !important;
    width: 100% !important;
    height: 2px !important;
    background-color: var(--color-primary) !important;
    opacity: 0 !important;
    transition: opacity 0.3s ease !important;
  }
  #page > nav .globalnavi li.gnavi a:hover::after,
  #recruit_lp_navi .globalnavi li.gnavi:not(.gnavi06) a:hover::after {
    opacity: 1 !important;
  }
  #page > nav .globalnavi li.gnavi01 a,
  #recruit_lp_navi .globalnavi li.gnavi01 a {
    color: #18384C !important;
  }
  #page > nav .globalnavi li.gnavi01 a::after,
  #recruit_lp_navi .globalnavi li.gnavi01 a::after {
    opacity: 1 !important;
  }
  #recruit_lp_navi .globalnavi li.gnavi06 {
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 129px !important; 
    flex: none !important;
    height: 43px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #recruit_lp_navi .globalnavi li.gnavi06 a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 !important;
  }
  #recruit_lp_navi .globalnavi li.gnavi06 a::after {
    display: none !important; 
  }
/* ----------------------------------------- */
/* メガメニュー (PC View) */
/* ----------------------------------------- */
@media print, screen and (min-width:650px) {
  .mega_menu {
    position: absolute;
    top: 62px; 
    width: 200px;
    background: rgba(255, 255, 255, 0.95); 
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
    border-radius: 0 0 5px 5px;
    display: none;
    z-index: 510;
    margin: 0 !important;
  }
  .mega_menu.mega_menu01 { left: -25px; }
  .mega_menu.mega_menu02 { left: calc(75px - 25px); }
  .mega_menu.mega_menu03 { left: calc(150px - 25px); }
  .mega_menu.mega_menu04 { left: calc(225px - 25px); }
  .mega_menu_inner { width: 100%; }
  .mega_menu ol {
    width: 100%;
    padding: 10px 0;
    margin: 0;
    list-style: none;
  }
  .mega_menu ol li {
    width: 100%;
    height: auto !important;
    padding: 0;
    border: none !important;
  }
  .mega_menu ol li a {
    width: 100%;
    height: auto !important;
    padding: 15px 25px 15px 30px !important;
    display: flex !important;
    align-items: center;
    justify-content: flex-start !important; 
    color: #333333;
    font-size: 1.4rem;
    border-bottom: 1px dashed #e0e0e0 !important;
    box-sizing: border-box;
    position: relative;
    transition: all 0.3s;
  }
  .mega_menu ol li:last-child a {
    border-bottom: none !important;
  }
  .mega_menu ol li a::before {
    content: "";
    width: 5px;
    height: 9px;
    background-color: #18384C;
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .mega_menu ol li a:hover::before {
    opacity: 1;
  }
  
  .mega_menu ol li a:hover {
    background: rgba(50, 110, 57, 0.05);
    color: #18384C;
  }
  .mega_btn01:hover + .mega_menu01, .mega_menu01:hover,
  .mega_btn02:hover + .mega_menu02, .mega_menu02:hover,
  .mega_btn03:hover + .mega_menu03, .mega_menu03:hover,
  .mega_btn04:hover + .mega_menu04, .mega_menu04:hover {
    display: block;
  }
}

/* ----------------------------------------- */
/* パンくずリスト */
/* ----------------------------------------- */
.topics-path {
  overflow: hidden;
  clear: both;
  width: 100%;
  max-width: 950px;
  margin-bottom: 10px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
}
.topics-path_non {
  overflow: hidden;
  margin-bottom: 15px;
}

.topics-path ul {
  overflow: hidden;
  clear: both;
  width: 100%;
  margin: 15px 0 10px;
  padding-top: 3px;
  padding-right: 0;
  padding-bottom: 0;
  padding-left: 0;
}
.topics-path li:before {
  font-family: 'gud_basic';
  content: "\e874";
  padding-right: 3px;
}
.topics-path li:first-child:before {
  font-family: 'gud_basic';
  content: "\e801";
  padding-right: 3px;
}
.topics-path li {
  list-style-type: none;
  float: left;
  min-height: 20px;
  padding-right: 8px;
  color: #454545;
  line-height: 110%;
}

.topics-path li a {
  padding-right: 0;
  padding-left: 0;
  color: #454545;
  text-decoration: none;
}

.topics-path li a:last-child {
  padding-right: 13px;
  padding-left: 0;
  color: #454545;
  text-decoration: none;
}

.topics-path li a:hover {
  color: #f63;
}
/* Smart Phone View */
@media only screen and (max-width: 649px) {
  .topics-path {
    width: 90%;
    margin: 0 auto;
  }
}

/* ----------------------------------------- */
/* ローカルナビ */
/* ----------------------------------------- */

.localnavi{
  font-style: normal;
  font-weight: bold;
  color: #000000;
  font-size: 1.2rem;
  line-height: 120%;
  text-shadow: none;
  width: 100%;
  background: none;
  position: relative;
}
/* PC View */
@media print, screen and (min-width:650px) {
  .localnavi{
    width: 950px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 25px;
    background: none;
  }
  .localnavi .toggle{
    display: none;
  }
  .localnavi ul{
    width: 950px;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    text-align: center;
    display: table;
    table-layout: fixed;
  }
  .localnavi li{
    display: table-cell;
    vertical-align: middle;
    padding-left: 5px;
    padding-right: 5px;
  }
 nav .localnavi li a:visited {
    color: #555555;
  }

  nav .localnavi li a {
    width: 100%;
    display: block;
    box-sizing: border-box;
    font-size: 1.5rem;
    font-weight: 700;
    color: #666666;
    text-decoration: none;
    background-color: #f2f2f2;
    border: 1px solid #b3b3b3;
    border-radius: 5px;
    padding: 14px 17px;
    position: relative;
    transition: all 0.3s ease;
  }

  nav .localnavi li a::before {
    content: "\25BC";
    font-size: 1.0rem;
    color: #b3b3b3;
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
  }

  .localnavi li a:hover,
  .snavi00 .localnavi li.snavi00 a,
  .snavi01 .localnavi li.snavi01 a,
  .snavi02 .localnavi li.snavi02 a,
  .snavi03 .localnavi li.snavi03 a,
  .snavi04 .localnavi li.snavi04 a,
  .snavi05 .localnavi li.snavi05 a,
  .snavi06 .localnavi li.snavi06 a,
  .snavi07 .localnavi li.snavi07 a,
  .snavi08 .localnavi li.snavi08 a,
  .snavi09 .localnavi li.snavi09 a,
  .snavi00 .localnavi li.snavi00 a,
  .snavi11 .localnavi li.snavi11 a,
  .snavi12 .localnavi li.snavi12 a,
  .snavi13 .localnavi li.snavi13 a,
  .snavi14 .localnavi li.snavi14 a,
  .snavi15 .localnavi li.snavi15 a,
  .snavi16 .localnavi li.snavi16 a,
  .snavi17 .localnavi li.snavi17 a,
  .snavi18 .localnavi li.snavi18 a,
  .snavi19 .localnavi li.snavi19 a,
  .snavi20 .localnavi li.snavi20 a {
    color: #555555;
    text-decoration: none;
    
    /* ホバー・カレント時のスタイル */
    background-color: #ffffff; /* 白背景 */
    border: solid 1px #aaaaaa; /* 枠線を少し濃くして際立たせる */
  }
}

/* Smart Phone View */
@media only screen and (max-width: 649px) {
  .localnavi{
    width: 100%;
    height:40px;
    margin-bottom: 25px;
  }
  .localnavi a {
    display: block;
  }
  .localnavi .toggle{
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 14px 7%;
    position: relative;
    border-top: solid 1px #EEEEEE;
    border-bottom: solid 1px #EEEEEE;
    text-align: center;
  }
  .localnavi .toggle::after {
    font-size: 1.5rem;
    font-family: 'gud_basic';
    font-weight: normal;
    content: "\e877";
    color: #666666;
    position: absolute;
    right: 5%;
    top: 0;
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .localnavi .toggle.active::after {
    font-family: 'gud_basic';
    font-weight: normal;
    content: "\e873";
  }
  .toggle .snavi00,
  .toggle .snavi01,
  .toggle .snavi02,
  .toggle .snavi03,
  .toggle .snavi04,
  .toggle .snavi05,
  .toggle .snavi06,
  .toggle .snavi07,
  .toggle .snavi08,
  .toggle .snavi09,
  .toggle .snavi00,
  .toggle .snavi11,
  .toggle .snavi12,
  .toggle .snavi13,
  .toggle .snavi14,
  .toggle .snavi15,
  .toggle .snavi16,
  .toggle .snavi17,
  .toggle .snavi18,
  .toggle .snavi19,
  .toggle .snavi20{
    display: none;
  }
  .snavi00 .toggle .snavi00,
  .snavi01 .toggle .snavi01,
  .snavi02 .toggle .snavi02,
  .snavi03 .toggle .snavi03,
  .snavi04 .toggle .snavi04,
  .snavi05 .toggle .snavi05,
  .snavi06 .toggle .snavi06,
  .snavi07 .toggle .snavi07,
  .snavi08 .toggle .snavi08,
  .snavi09 .toggle .snavi09,
  .snavi00 .toggle .snavi00,
  .snavi11 .toggle .snavi11,
  .snavi12 .toggle .snavi12,
  .snavi13 .toggle .snavi13,
  .snavi14 .toggle .snavi14,
  .snavi15 .toggle .snavi15,
  .snavi16 .toggle .snavi16,
  .snavi17 .toggle .snavi17,
  .snavi18 .toggle .snavi18,
  .snavi19 .toggle .snavi19,
  .snavi20 .toggle .snavi20{
    display: block;
  }
  
  .localnavi li{
    width: 86%;
    margin-left: auto;
    margin-right: auto;
    padding: 14px 0;

    font-size: 1.2rem;
    text-align: center;
    background-color: #FFFFFF;
    position: relative;
    z-index: 2;
    border-bottom: dashed 1px #cccccc;
  }
  .localnavi li:last-child {
    margin-bottom: 25px;
  }
  nav .localnavi li a,
  nav .localnavi li a:visited{
    color: #777777;
    text-decoration: none;
  }
  .snavi00 .localnavi li.snavi00 a,
  .snavi01 .localnavi li.snavi01 a,
  .snavi02 .localnavi li.snavi02 a,
  .snavi03 .localnavi li.snavi03 a,
  .snavi04 .localnavi li.snavi04 a,
  .snavi05 .localnavi li.snavi05 a,
  .snavi06 .localnavi li.snavi06 a,
  .snavi07 .localnavi li.snavi07 a,
  .snavi08 .localnavi li.snavi08 a,
  .snavi09 .localnavi li.snavi09 a,
  .snavi00 .localnavi li.snavi00 a,
  .snavi11 .localnavi li.snavi11 a,
  .snavi12 .localnavi li.snavi12 a,
  .snavi13 .localnavi li.snavi13 a,
  .snavi14 .localnavi li.snavi14 a,
  .snavi15 .localnavi li.snavi15 a,
  .snavi16 .localnavi li.snavi16 a,
  .snavi17 .localnavi li.snavi17 a,
  .snavi18 .localnavi li.snavi18 a,
  .snavi19 .localnavi li.snavi19 a,
  .snavi20 .localnavi li.snavi20 a{
    color: #0589DA;
  }
  .localnavi ul.inner{
    width: 100%;
    display: none;
    position: relative;
    margin-bottom: 0px;
  }
  .localnavi ul.inner::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 50px;
    bottom: -0;
    background: rgba(0,0,0,0.1);
    background: -moz-radial-gradient(center, ellipse cover, rgba(0,0,0,0.15) 0%, rgba(255,255,255,0) 70%);
    background: -webkit-gradient(radial, center center, 0px, center center, 70%, color-stop(0%, rgba(0,0,0,0.1)), color-stop(70%, rgba(255,255,255,0)));
    background: -webkit-radial-gradient(center, ellipse cover, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0) 70%);
    background: -o-radial-gradient(center, ellipse cover, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0) 70%);
    background: -ms-radial-gradient(center, ellipse cover, rgba(0,0,0,0.15) 0%, rgba(255,255,255,0) 70%);
    background: radial-gradient(ellipse at center, rgba(0,0,0,0.1) 0%, rgba(255,255,255,0) 70%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#000000', endColorstr='#ffffff', GradientType=1 );
    z-index: 1;
  }
}

/* ----------------------------------------- */
/* メイン */
/* ----------------------------------------- */

/* PC View */
@media print, screen and (min-width:650px) {
  /* ----------------------------------------- */
  /* メイン-PC
  /* ----------------------------------------- */

  .main_wrapper{
    min-width: 1000px;
    background-color: #FFF;
    padding-top: 81px;
  }


  #main {
    width: 950px;
    margin: 0 auto;
  }

  .mainImg {
    margin-bottom: 15px;
    overflow: hidden;
  }

  #main-content {
    width: 690px;
    float: left;
    overflow: hidden;
  }
  #main-column1w {
    /*
    width: 950px;
    margin-left: auto;
    margin-right: auto;
    */
    float: none;
    overflow: hidden;
  }
  #main-column1s {
    /*
    width: 820px;
    margin-left: auto;
    margin-right: auto;
    */
    float: none;
    overflow: hidden;
  }

}



/* Smart Phone View */
@media only screen and (max-width: 649px) {

  .main_wrapper{
    width: 100%;
    background-color: #FFF;
  }

  #main {
    width: 100%;
  }
  .main_wrapper{
    padding-bottom: 30px;
  }



  /* ----------------------------------------- */
  /* コンテンツ-SP
    /* ----------------------------------------- */
  #main-content,
  #main-column1w,
  #main-column1s{
    width: 100%;
    margin: 0 auto;
    float: none;
  }
  .mainImg {
    margin-bottom: 15px;
    overflow: hidden;
  }
}

/* ----------------------------------------- */
/* サイドバー */
/* ----------------------------------------- */

/* Smart Phone View */
@media only screen and (max-width: 649px) {
  #side {
    width: 100%;
    margin-top: 40px;
  }
}

/* PC View */
@media print, screen and (min-width:650px) {
  #side {
    float: left;
    width: 220px;
    margin-top: 0;
    margin-left: 40px;
  }

  .snavi00 .sidenavi .snavi00 p,
  .snavi01 .sidenavi .snavi01 p,
  .snavi02 .sidenavi .snavi02 p,
  .snavi03 .sidenavi .snavi03 p,
  .snavi04 .sidenavi .snavi04 p,
  .snavi05 .sidenavi .snavi05 p,
  .snavi06 .sidenavi .snavi06 p,
  .snavi07 .sidenavi .snavi07 p,
  .snavi08 .sidenavi .snavi08 p,
  .snavi09 .sidenavi .snavi09 p,
  .snavi10 .sidenavi .snavi10 p,
  .snavi11 .sidenavi .snavi11 p,
  .snavi12 .sidenavi .snavi12 p,
  .snavi13 .sidenavi .snavi13 p,
  .snavi14 .sidenavi .snavi14 p,
  .snavi15 .sidenavi .snavi15 p,
  .snavi16 .sidenavi .snavi16 p,
  .snavi17 .sidenavi .snavi17 p,
  .snavi18 .sidenavi .snavi18 p,
  .snavi19 .sidenavi .snavi19 p,
  .snavi20 .sidenavi .snavi20 p,
  .snavi21 .sidenavi .snavi21 p,
  .snavi22 .sidenavi .snavi22 p,
  .snavi23 .sidenavi .snavi23 p,
  .snavi24 .sidenavi .snavi24 p,
  .snavi25 .sidenavi .snavi25 p,
  .snavi26 .sidenavi .snavi26 p,
  .snavi27 .sidenavi .snavi27 p,
  .snavi28 .sidenavi .snavi28 p,
  .snavi29 .sidenavi .snavi29 p,
  .snavi30 .sidenavi .snavi30 p,
  .snavi31 .sidenavi .snavi31 p,
  .snavi32 .sidenavi .snavi32 p,
  .snavi33 .sidenavi .snavi33 p,
  .snavi34 .sidenavi .snavi34 p,
  .snavi35 .sidenavi .snavi35 p,
  .snavi36 .sidenavi .snavi36 p,
  .snavi37 .sidenavi .snavi37 p,
  .snavi38 .sidenavi .snavi38 p,
  .snavi39 .sidenavi .snavi39 p,
  .snavi40 .sidenavi .snavi40 p{
    background-color: #EAE3E1;
    font-weight: bold;
    color: #F15A24;
  }


}

/* ----------------------------------------- */
/* サイドナビ */
/* ----------------------------------------- */
/* PC,SP共通*/

.sidenavi a ,
.sidenavi2 a {
  color: #333;
}



/* Smart Phone View */
@media only screen and (max-width: 649px) {

  .sidenavi .sp {
    width: 90%;
    margin: 0 auto;
  }
  .sidr ul li.pc{
    display: none;
  }
 
 
  #side .snavi_1box{
    margin-top: 5px;
    background-color: #EAE3E1;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: 8px;
    padding-right: 8px;
  }
  #side .snavi_1box p{
    padding-top: 8px;
    font-size: 1.2rem;
    line-height: 140%;
    margin-bottom: 0;
  }
  #side .snavi_1box p img{
    width: 100%;
    height: auto;
  }
  #side .snavi_1box p:nth-last-child(1){
    padding-bottom: 5px;
  }

}

/* Smart Phone View */
@media only screen and (max-width: 649px) {
  .sidenavi2{
    overflow: hidden;
  }

  .sidenavi2{
    background-color: #F1EDE9;
  }
  .sidenavi2 h2:before {
    font-family: 'gud_basic';
    font-size: 0.85em;
    content: "\e861";
    padding-right: 3px;
    padding-left: 3px;
  }
  .sidenavi2 h2{
    display: block;
    width: 100%;
    border-top: 1px solid #886027;
    border-bottom: 1px solid #FFF;
    padding: 5px 12px 3px 0;
    font-size: 1.4rem;
    line-height: 1.2em;
    overflow: hidden;
  }

  .sidenavi2 ul {
    width: 100%;
    list-style-type: none;
    margin: 0px;
    padding: 0px;
    border-bottom: 1px solid #886027;
    overflow: hidden;
  }

  .sidenavi2 li a:before {
    font-family: 'gud_basic';
    content: "\e86d";
    padding-right: 3px;
    padding-left: 3px;
    color: #F90;
  }
  .sidenavi2 li a{
    display: block;
    width: 50%;
    float: left;
    padding: 5px 0 3px 0;
    font-size: 1.2rem;
    line-height: 1.2em;
    border-top: 1px solid #886027;
    border-bottom: 1px solid #FFF;
    text-decoration: none;
  }
  .sidenavi2 li:nth-child(odd) a{
    border-right: 1px solid #FFF;
  }
  .sidenavi2 li:nth-child(even) a{
    border-left: 1px solid #886027;
  }

  .snavi00 .sidenavi2 li.snavi00 a,
  .snavi01 .sidenavi2 li.snavi01 a,
  .snavi02 .sidenavi2 li.snavi02 a,
  .snavi03 .sidenavi2 li.snavi03 a,
  .snavi04 .sidenavi2 li.snavi04 a,
  .snavi05 .sidenavi2 li.snavi05 a,
  .snavi06 .sidenavi2 li.snavi06 a,
  .snavi07 .sidenavi2 li.snavi07 a,
  .snavi08 .sidenavi2 li.snavi08 a,
  .snavi09 .sidenavi2 li.snavi09 a,
  .snavi10 .sidenavi2 li.snavi10 a,
  .snavi11 .sidenavi2 li.snavi11 a,
  .snavi12 .sidenavi2 li.snavi12 a,
  .snavi13 .sidenavi2 li.snavi13 a,
  .snavi14 .sidenavi2 li.snavi14 a,
  .snavi15 .sidenavi2 li.snavi15 a,
  .snavi16 .sidenavi2 li.snavi16 a,
  .snavi17 .sidenavi2 li.snavi17 a,
  .snavi18 .sidenavi2 li.snavi18 a,
  .snavi19 .sidenavi2 li.snavi19 a,
  .snavi20 .sidenavi2 li.snavi20 a,
  .snavi21 .sidenavi2 li.snavi21 a,
  .snavi22 .sidenavi2 li.snavi22 a,
  .snavi23 .sidenavi2 li.snavi23 a,
  .snavi24 .sidenavi2 li.snavi24 a,
  .snavi25 .sidenavi2 li.snavi25 a,
  .snavi26 .sidenavi2 li.snavi26 a,
  .snavi27 .sidenavi2 li.snavi27 a,
  .snavi28 .sidenavi2 li.snavi28 a,
  .snavi29 .sidenavi2 li.snavi29 a,
  .snavi30 .sidenavi2 li.snavi30 a,
  .snavi31 .sidenavi2 li.snavi31 a,
  .snavi32 .sidenavi2 li.snavi32 a,
  .snavi33 .sidenavi2 li.snavi33 a,
  .snavi34 .sidenavi2 li.snavi34 a,
  .snavi35 .sidenavi2 li.snavi35 a,
  .snavi36 .sidenavi2 li.snavi36 a,
  .snavi37 .sidenavi2 li.snavi37 a,
  .snavi38 .sidenavi2 li.snavi38 a,
  .snavi39 .sidenavi2 li.snavi39 a,
  .snavi40 .sidenavi2 li.snavi40 a{
    background-color: #C1BEBA;
    color: #3E1217;
    font-weight: bold;
  }


}


/* PC View */
@media print, screen and (min-width:650px) {
  #side a {
    color: #000;
  }

  #sidenavi {
  }

  #sidenavi ul {
    list-style-type: none;
  }

  .sidenavi li {
    display: block;
    overflow: hidden;
    margin-bottom: 5px;
  }

  #side a {
    text-decoration: none;
  }

  #side .sidenavi a:hover img{
    opacity: 0.6;
  }

  #sidenavi {
    margin-bottom: 12px;
  }

  #side .side_link{
    font-size: 1.2rem;
  }

  #side .snavi_1box{
    margin-top: 5px;
    background-color: #EAE3E1;
    width: 220px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 8px;
    padding-right: 8px;
  }
  #side .snavi_1box p{
    padding-top: 8px;
    font-size: 1.4rem;
  }
  #side .snavi_1box p:nth-last-child(1){
    padding-bottom: 5px;
  }
}

/* PC View */
@media print, screen and (min-width:650px) {

  .sidenavi a ,
  .sidenavi2 a {
    text-decoration: none;
  }

  .sidenavi2{
    overflow: hidden;
  }

  .sidenavi2{
    padding-bottom: 20px;
    margin-bottom: 20px;
    background-color: #F1EDE9;
    border-radius: 5px;
  }

  .sidenavi2 h2:before {
    font-family: 'gud_basic';
    font-size: 0.85em;
    content: "\e861";
    padding-right: 3px;
    padding-left: 3px;
  }
  .sidenavi2 h2{
    display: block;
    width: 200px;
    padding: 0 0 0 0;
    margin: 12px 10px 4px 10px;
    font-size: 1.6rem;
    line-height: 1.8em;
    border-bottom: 1px solid #3E1217;
    overflow: hidden;
  }

  .sidenavi2 ul {
    width: 220px;
    list-style-type: none;
    margin: 0 0 20px 0;
    padding: 0px;
    overflow: hidden;
    position: relative;
  }

  .sidenavi2 li:before {
    font-family: 'gud_basic';
    content: "\e86d";
    padding-right: 3px;
    padding-left: 3px;
    left: 14px;
    color: #F60;
    position: absolute;
  }
  .sidenavi2 li {
    display: block;
    width: 180px;
    float: left;
    margin-bottom: 4px;
    padding: 10px 0 10px 1em;
    margin-left: 20px;
    margin-right: 20px;
    font-size: 1.3rem;
    border-bottom: 1px dashed #666;
    text-decoration: none;
  }
  .sidenavi2 li.list2:before {
    content: "\e875";
    left: 22px;
  }
  .sidenavi2 li.list2 {
    padding: 10px 0 10px 1.6em;
  }

  .snavi00 .sidenavi2 li.snavi00 a,
  .snavi01 .sidenavi2 li.snavi01 a,
  .snavi02 .sidenavi2 li.snavi02 a,
  .snavi03 .sidenavi2 li.snavi03 a,
  .snavi04 .sidenavi2 li.snavi04 a,
  .snavi05 .sidenavi2 li.snavi05 a,
  .snavi06 .sidenavi2 li.snavi06 a,
  .snavi07 .sidenavi2 li.snavi07 a,
  .snavi08 .sidenavi2 li.snavi08 a,
  .snavi09 .sidenavi2 li.snavi09 a,
  .snavi10 .sidenavi2 li.snavi10 a,
  .snavi11 .sidenavi2 li.snavi11 a,
  .snavi12 .sidenavi2 li.snavi12 a,
  .snavi13 .sidenavi2 li.snavi13 a,
  .snavi14 .sidenavi2 li.snavi14 a,
  .snavi15 .sidenavi2 li.snavi15 a,
  .snavi16 .sidenavi2 li.snavi16 a,
  .snavi17 .sidenavi2 li.snavi17 a,
  .snavi18 .sidenavi2 li.snavi18 a,
  .snavi19 .sidenavi2 li.snavi19 a,
  .snavi20 .sidenavi2 li.snavi20 a,
  .snavi21 .sidenavi2 li.snavi21 a,
  .snavi22 .sidenavi2 li.snavi22 a,
  .snavi23 .sidenavi2 li.snavi23 a,
  .snavi24 .sidenavi2 li.snavi24 a,
  .snavi25 .sidenavi2 li.snavi25 a,
  .snavi26 .sidenavi2 li.snavi26 a,
  .snavi27 .sidenavi2 li.snavi27 a,
  .snavi28 .sidenavi2 li.snavi28 a,
  .snavi29 .sidenavi2 li.snavi29 a,
  .snavi30 .sidenavi2 li.snavi30 a,
  .snavi31 .sidenavi2 li.snavi31 a,
  .snavi32 .sidenavi2 li.snavi32 a,
  .snavi33 .sidenavi2 li.snavi33 a,
  .snavi34 .sidenavi2 li.snavi34 a,
  .snavi35 .sidenavi2 li.snavi35 a,
  .snavi36 .sidenavi2 li.snavi36 a,
  .snavi37 .sidenavi2 li.snavi37 a,
  .snavi38 .sidenavi2 li.snavi38 a,
  .snavi39 .sidenavi2 li.snavi39 a,
  .snavi40 .sidenavi2 li.snavi40 a{
    color: #FF7F00;
    font-weight: bold;
    text-shadow: 1px 1px 0 rgba(247,229,206,1);
  }
  .sidenavi2 li a:hover{
    color: #FF7F00;
  }
}

/* ----------------------------------------- */
/* ページ上部へ移動 */
/* ----------------------------------------- */
/* PC View */
@media print, screen and (min-width:650px) {
  #page-top {
    bottom: 85px;
    z-index: 9989;
  }
  #page-top a:hover {
    text-decoration: none;
  }
}
/* Smart Phone View */
@media only screen and (max-width: 649px) {
  #page-top{
    display: none;
    width: 0;
    height: 0;
  }
}
.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}
/* ----------------------------------------- */
/* ページ上部へ移動 */
/* ----------------------------------------- */
/* PC View */
@media print, screen and (min-width:650px) {
  #page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
  }
  #page-top a {
    text-decoration: none;
    width: 64px;
    height: 65px;
    display: block;
  }
  #page-top a:hover {
    text-decoration: none;
  }
}
/* Smart Phone View */
@media only screen and (max-width: 649px) {
  #page-top{
    display: none;
    width: 0;
    height: 0;
  }
}
.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}
/* 右端追従バナー */
#clinging_insect_3 {
  position: fixed;
  bottom: 162px;
  right: 0;
  z-index: 9999;
}
#clinging_insect_3 a {
  display: block;
  width: 49px;
  height: 176px;
}
#clinging_insect_3 img {
  display: block;
  width: 100%;
  height: auto;
  transition: opacity 0.3s ease; 
}
#clinging_insect_3 a:hover img {
  opacity: 0.8; 
}
