@charset "UTF-8";
body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
}

@media (min-width: 831px) {
  .js_fixed_header {
    transition: background-color 0.4s ease, box-shadow 0.4s ease;
  }
  .js_fixed_header.is-scrolled .ly_header_inner {
    background-color: #fff !important;
    backdrop-filter: blur(6px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }
  body.home .js_fixed_header.is-scrolled .ly_header_inner .bl_header_contact,
  body.home .js_fixed_header.is-scrolled .ly_header_inner .bl_header_model {
    border: 1px solid #000;
    color: #000;
  }
  .bl_nav_menu .custom-link.el_link_btn_S {
    max-width: clamp(70px, 15vw, 200px);
  }
}
.bl_nav_menu .bl_header_contact.custom-link.el_link_btn_S:hover {
  background: #FFE200;
  border: 1px solid #FFE200;
  color: #000;
}

.bl_nav_menu .bl_header_model.custom-link.el_link_btn_S:hover {
  background: #78BF00;
  border: 1px solid #78BF00;
}

/* ▼ ドロップダウン非表示状態 */
header {
  /* ▼ ホバー時に表示 */
  /* ▼ リンクホバー */
  /* ▼ ドロップダウンリスト（画像付き） */
}
header .bl_header_dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: clamp(600px, 84vw, 1200px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s ease;
  z-index: 100;
}
header .js_header_parent:hover .bl_header_dropdown {
  opacity: 1;
  visibility: visible;
}
header .bl_header_dropdown_inner {
  /* ===== 背景ベース + ノイズ ===== */
  background-color: #0a1931;
  background-image: linear-gradient(rgba(0, 29, 85, 0.8117647059), rgba(0, 29, 85, 0.8117647059)), url(../images/new_top/noise.png);
  background-repeat: repeat;
  background-size: 100px auto;
  color: #fff;
  width: clamp(200px, 20vw, 250px);
  height: clamp(160px, 25vw, 200px);
  text-align: center;
  padding: clamp(30px, 5vw, 45px) 0 clamp(35px, 5vw, 50px);
}
header .bl_header_dropdown_inner .bl_header_dropdown_ttl {
  font-size: clamp(20px, 3vw, 36px);
  font-weight: bold;
  margin-bottom: clamp(12px, 2vw, 20px);
}
header .bl_header_dropdown_inner .bl_header_dropdown_txt {
  font-size: clamp(13px, 2vw, 16px);
  line-height: 1.5;
}
header .bl_header_dropdown ul li:hover a {
  color: #FFCC1E;
}
header .bl_header_dropdown_list_flex {
  background-color: rgba(255, 255, 255, 0.85);
  justify-content: center;
  height: clamp(160px, 25vw, 200px);
  align-items: center;
}
header .bl_header_dropdown_list_flex .bl_header_dropdown_list_item {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  height: clamp(80px, 8vw, 110px);
  width: clamp(150px, 20vw, 300px);
  margin-left: clamp(10px, 2vw, 20px);
  overflow: hidden;
  position: relative;
  background-size: 100% auto;
  background-repeat: no-repeat;
  text-align: center;
}
header .bl_header_dropdown_list_flex .bl_header_dropdown_list_item:nth-of-type(3) {
  margin-right: clamp(10px, 2vw, 20px);
}
header .bl_header_dropdown_list_flex .bl_header_dropdown_list_item.el_cost {
  background-image: url(../images/new_top/1cost.webp);
}
header .bl_header_dropdown_list_flex .bl_header_dropdown_list_item.el_taishin {
  background-image: url(../images/new_top/1taishin.webp);
}
header .bl_header_dropdown_list_flex .bl_header_dropdown_list_item.el_dannetsu {
  background-image: url(../images/new_top/1dannetsu.webp);
}
header .bl_header_dropdown_list_flex .bl_header_dropdown_list_item a {
  line-height: 1.3;
  font-weight: bold;
  font-size: clamp(16px, 2vw, 26px);
  color: #fff;
  text-decoration: none;
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}

/* header */
header {
  width: 100%;
  background-color: #fff;
  transition: 0.5s;
}
header.is_fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 50;
}
header.is_fixed.is_visible {
  opacity: 1;
}
header.is_fixed.is_hidden {
  opacity: 0;
  pointer-events: none;
}
header .site-title {
  width: clamp(100px, 16vw, 180px);
}

.home.ly_header_inner {
  background: none;
}

.ly_header_inner {
  max-width: 100%;
  max-height: clamp(60px, 8vw, 100px);
  margin: 0 auto;
  position: fixed;
  text-align: center;
  left: 0;
  right: 0;
  top: 0;
  padding: clamp(14px, 1.6vw, 20px) clamp(7px, 3.5vw, 50px) clamp(14px, 1.6vw, 20px);
  z-index: 999;
}

body:not(.home) .bl_nav_menu .bl_header_contact.custom-link.el_link_btn_S {
  color: #030303;
  background: #FFE600;
}

body:not(.home) .bl_nav_menu .bl_header_model.custom-link.el_link_btn_S {
  background: #5BC600;
}

.bl_nav_menu .custom-link.el_link_btn_S {
  color: #fff;
  padding: clamp(8px, 1vw, 10px) clamp(15px, 1.2vw, 25px);
  border-radius: clamp(25px, 4vw, 40px);
  border: 1px solid #fff;
  font-size: clamp(8px, 1.2vw, 15px);
  width: clamp(80px, 11vw, 140px);
  height: clamp(35px, 4vw, 55px);
  display: flex;
  align-items: center;
  justify-content: center;
}

header .site-title {
  margin-right: clamp(10px, 2vw, 15px);
  width: clamp(120px, 13vw, 200px);
}

.bl_nav_list {
  width: clamp(600px, 82vw, 1060px);
}

.bl_header_txt {
  color: #030303;
  font-size: clamp(10px, 1vw, 11px);
  margin-bottom: clamp(6px, 1vw, 9px);
  text-align: center;
  color: #030303;
}

.bl_nav_menu .custom-link {
  font-size: clamp(8px, 0.95vw, 13px);
  color: #030303;
  text-decoration: none;
  font-weight: bold;
  position: relative;
}

.bl_nav_menu .el_hover_border {
  padding-bottom: clamp(3px, 0.8vw, 5px);
}
.bl_nav_menu .el_hover_border::after {
  height: clamp(0.5px, 0.2vw, 1px);
}

.el_hover_border {
  display: inline-block;
  position: relative;
  padding-bottom: 0.1875rem;
}
.el_hover_border::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #000;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease-out;
}
.el_hover_border:hover {
  cursor: pointer;
}
.el_hover_border:hover::after {
  transform: scaleX(1);
}

.el_hover_border.custom-link::after {
  height: 15%;
  background-color: #FFE200;
  bottom: -2px;
}

.bl_nav_menu li {
  margin-left: clamp(7px, 2vw, 30px);
}
.bl_nav_menu li:nth-of-type(2) {
  margin-left: clamp(8px, 1vw, 20px);
}

.bl_reason_link > a {
  padding-bottom: clamp(30px, 6vw, 44px);
  position: relative;
}
.bl_reason_link > a::before {
  content: "＞";
  display: block;
  font-weight: bold;
  position: absolute;
  top: clamp(15px, 3vw, 25px);
  right: 45%;
  transform: rotate(90deg);
}

.bl_reason_link .custom-link {
  display: inline;
}

/* fixed menu */
.bl_menu_toggle {
  display: flex;
  cursor: pointer;
  background: none;
  border: none;
  flex-direction: column;
  justify-content: space-around;
  align-items: center;
  position: fixed;
  top: clamp(15px, 1.4vw, 20px);
  right: clamp(23px, 2.4vw, 30px);
  z-index: 1000;
  padding: clamp(8px, 1vw, 10px);
}
.bl_menu_toggle .bar {
  width: clamp(22px, 3vw, 28px);
  height: clamp(1px, 0.3vw, 2px);
  background-color: #030303;
  margin: clamp(3px, 0.4vw, 5px) 0;
  transition: 0.4s;
  position: relative;
}
.bl_menu_toggle.toggled .bar {
  margin: 3px 0;
}

.bl_nav_menuBox {
  position: fixed;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100dvh;
  background-color: #030319;
  transition: left 0.3s ease-in-out;
  z-index: 999;
  overflow-x: scroll;
}

.bl_menu_listBox {
  display: flex;
  justify-content: space-between;
  align-items: start;
  max-width: clamp(900px, 80vw, 1130px);
  margin: 0 auto;
  position: relative;
}

.bl_menu_topBox {
  display: flex;
  justify-content: start;
  margin: 0 0 clamp(80px, 10vw, 140px) clamp(35px, 5vw, 65px);
}
.bl_menu_topBox .bl_menu_top_logo {
  max-width: clamp(100px, 13vw, 180px);
}

.bl_menu_top_txt {
  color: #9a9cab;
  font-size: clamp(11px, 1.4vw, 13px);
  margin: clamp(5px, 1vw, 7px) 0 0 clamp(25px, 6vw, 50px);
}

.nav-menu > li {
  min-width: clamp(200px, 25vw, 270px);
  max-width: clamp(250px, 30vw, 300px);
  border-bottom: solid 2px #787890;
  padding: clamp(18px, 3vw, 25px) 0 clamp(18px, 3vw, 25px) clamp(15px, 3vw, 30px);
}
.nav-menu > li:last-child {
  border: none;
}
.nav-menu > li a,
.nav-menu > li .el_reason_btn {
  color: #fff;
  font-size: clamp(15px, 1.6vw, 17px);
  font-weight: bold;
  text-decoration: none;
}
.nav-menu > li a:hover,
.nav-menu > li .el_reason_btn:hover {
  color: #FFCC1E;
}
.nav-menu .children {
  margin-top: clamp(25px, 4vw, 37px);
}
.nav-menu .children li {
  margin-top: clamp(10px, 2vw, 20px);
}
.nav-menu .children li a {
  font-size: clamp(13px, 1.5vw, 16px);
  color: #e7e7ef;
  font-weight: normal;
}
.nav-menu .children li a::before {
  content: "-";
}
.nav-menu .children li a:hover {
  color: #FFCC1E;
}

.bl_btn_list li {
  border: none;
  padding: 0;
  margin-bottom: clamp(12px, 3vw, 20px);
  border-radius: 3.125rem;
}
.bl_btn_list li a {
  height: clamp(60px, 10vw, 90px);
  border-radius: clamp(30px, 6vw, 50px);
  padding: 0 0 0 clamp(45px, 6vw, 85px);
  display: flex;
  align-items: center;
}
.bl_btn_list li.el_White_btn {
  background: #E4E6E6;
  position: relative;
}
.bl_btn_list li.el_White_btn::before {
  position: absolute;
  content: "";
  background: url(../images/new_top/24top_.svg);
  height: clamp(1.875rem, 4vw, 3.125rem);
  width: clamp(1.875rem, 4vw, 3.125rem);
  bottom: clamp(0.625rem, 2.5vw, 1.5625rem);
  left: clamp(0.9375rem, 3vw, 2.5rem);
  background-repeat: no-repeat;
}
.bl_btn_list li.el_White_btn a {
  color: #030303;
}
.bl_btn_list li.el_blue_btn {
  background: #0076CC;
  color: #fff;
  position: relative;
}
.bl_btn_list li.el_blue_btn::before {
  position: absolute;
  content: "";
  background: url(../images/new_top/25top_.svg);
  height: clamp(1.875rem, 3.4vw, 2.5rem);
  width: clamp(1.875rem, 3.4vw, 2.5rem);
  bottom: clamp(0.625rem, 2.5vw, 1.5625rem);
  left: clamp(0.9375rem, 2.3vw, 1.875rem);
  background-repeat: no-repeat;
}
.bl_btn_list li.el_yellow_btn {
  background: #FFCC1E;
  position: relative;
}
.bl_btn_list li.el_yellow_btn::before {
  position: absolute;
  content: "";
  background: url(../images/new_top/27top_.svg);
  height: clamp(1.875rem, 3.4vw, 2.5rem);
  width: clamp(1.875rem, 3.4vw, 2.5rem);
  bottom: clamp(0.625rem, 2.5vw, 1.5625rem);
  left: clamp(0.9375rem, 2.3vw, 1.875rem);
  background-repeat: no-repeat;
}
.bl_btn_list li.el_yellow_btn a {
  color: #030303;
}
.bl_btn_list li.el_green_btn {
  background: #9FB80F;
  color: #fff;
  position: relative;
}
.bl_btn_list li.el_green_btn::before {
  position: absolute;
  content: "";
  background: url(../images/new_top/26top_.svg);
  height: clamp(0.9375rem, 2vw, 1.25rem);
  width: clamp(1.875rem, 3.4vw, 2.5rem);
  bottom: clamp(0.625rem, 3.5vw, 1.875rem);
  left: clamp(0.9375rem, 2vw, 1.875rem);
  background-repeat: no-repeat;
}

.bl_menu_snsLink {
  width: clamp(60px, 8vw, 100px);
  margin: clamp(40px, 6vw, 60px) auto 0;
}
.bl_menu_snsLink .bl_snsLink_btn {
  width: clamp(15px, 3vw, 23px);
}
.bl_menu_snsLink .bl_snsLink_btn:hover {
  opacity: 0.7;
}

.bl_menu_copyright {
  text-align: center;
  display: block;
  width: 100%;
  margin: clamp(80px, 12vw, 140px) 0 clamp(20px, 4vw, 30px);
  color: #fff;
}

.ly_main_navigation.toggled .bl_nav_menuBox {
  left: 0;
  padding: clamp(10px, 3vw, 18px) 0 clamp(25px, 6vw, 40px);
}
.ly_main_navigation.toggled .bl_menu_toggle {
  background: none;
}
.ly_main_navigation.toggled .bar {
  background-color: #fff !important;
}
.ly_main_navigation.toggled .bar:nth-child(1) {
  transform: rotate(-45deg) translate(clamp(-4px, 1vw, -7px), clamp(6px, 1vw, 10px));
}
.ly_main_navigation.toggled .bar:nth-child(2) {
  opacity: 0;
}
.ly_main_navigation.toggled .bar:nth-child(3) {
  transform: rotate(45deg) translate(clamp(-2px, 1vw, -8px), clamp(-6px, 1vw, -10px));
}

@media (max-width: 830px) {
  .js_fixed_header {
    transition: background-color 0.4s ease, box-shadow 0.4s ease;
  }
  .js_fixed_header.is-scrolled .ly_header_inner {
    background-color: #fff !important;
    backdrop-filter: blur(6px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }
  .js_fixed_header.is-scrolled .bl_nav_menu {
    display: none !important;
  }
  .js_fixed_header.is-scrolled ~ .ly_main_navigation .bl_menu_toggle .bar {
    background-color: #030303;
  }
  .home .ly_header_inner {
    background: none;
  }
  .ly_header_inner {
    width: 100%;
    padding: 3.6144578313vw;
    background: #fff;
  }
  header .site-title {
    width: 24.0963855422vw;
    max-width: 100%;
    margin: 0 0 0 2.4096385542vw;
  }
  .bl_nav_list {
    width: 75vw;
  }
  #custom-links .bl_nav_menu.hp_sp_only {
    display: flex;
    width: 70vw;
    margin-left: 7.2289156627vw;
  }
  #custom-links .bl_nav_menu.hp_sp_only li {
    margin-left: 2.4096385542vw;
  }
  .bl_menu_toggle {
    position: fixed;
    top: 0;
    right: 0;
    padding: 4.0963855422vw;
    border-radius: 0 0 0 3.0120481928vw;
  }
  .ly_main_navigation.toggled .bar {
    background-color: #030303;
  }
  .ly_main_navigation.toggled .bl_nav_menuBox {
    left: 0;
    padding: 2.1686746988vw 0 4.8192771084vw;
  }
  .ly_main_navigation.toggled .bl_menu_toggle {
    background: none;
  }
  .ly_main_navigation.toggled .bar {
    background-color: #fff !important;
  }
  .ly_main_navigation.toggled .bar:nth-child(1) {
    transform: rotate(-45deg) translate(-1.2048192771vw, 1.2048192771vw);
  }
  .ly_main_navigation.toggled .bar:nth-child(2) {
    opacity: 0;
  }
  .ly_main_navigation.toggled .bar:nth-child(3) {
    transform: rotate(45deg) translate(-1.4457831325vw, -1.2048192771vw);
  }
  .bl_menu_listBox,
  .bl_menu_topBox {
    display: block;
    margin: 0;
  }
  .bl_menu_topBox {
    margin: 0 0 6.5060240964vw 4.8192771084vw;
  }
  .bl_nav_menu .custom-link.el_link_btn_S {
    text-align: center;
    width: 22vw;
    font-size: 3vw;
    line-height: 1.2;
    padding: 2.5vw 0;
    border: 1px solid #fff;
    border-radius: 4.8192771084vw;
  }
  .bl_menu_listBox,
  .nav-menu > li {
    width: 90.3614457831vw;
    margin: 0 auto;
    padding-left: 0;
  }
  .nav-menu > li {
    max-width: 100%;
    min-width: auto;
    padding-left: 4.8192771084vw;
  }
  .nav-menu > li.page_item a {
    font-size: 3.3734939759vw;
  }
  .nav-menu > lili:last-child {
    border-bottom: solid 2px #787890;
    margin-bottom: 7vw;
  }
  .nav-menu > li .children {
    display: none;
  }
  .nav-menu > li .children.children.active {
    display: block;
  }
  .dl_reason_list {
    border-top: solid 2px #787890;
  }
  .dl_reason_list .el_reason_btn {
    font-size: 3.8554216867vw;
    position: relative;
    width: 100%;
    display: block;
  }
  .dl_reason_list .el_reason_btn::before {
    content: "＋";
    font-size: 3.9759036145vw;
    color: #fff;
    display: block;
    position: absolute;
    top: 0;
    right: 7.2289156627vw;
  }
  .dl_reason_list .el_reason_btn.open::before {
    content: "ー";
    font-size: 3.6144578313vw;
  }
  .nav-menu > li .el_reason_btn {
    font-size: 3.3734939759vw;
  }
  .bl_btn_list {
    display: flex;
    justify-content: space-between;
    align-items: start;
    flex-wrap: wrap;
    margin-top: 6.3855421687vw;
  }
  .bl_btn_list li {
    width: 43.3734939759vw;
    margin: 0 auto 5vw;
    border-bottom: none;
  }
  .bl_btn_list li a {
    width: 40.9638554217vw;
    height: 10.843373494vw;
  }
  .bl_nav_menuBox .bl_btn_list li {
    padding: 0;
    border-radius: 4.8192771084vw;
  }
  .bl_nav_menuBox .bl_btn_list li a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.8915662651vw;
    background-image: none;
    padding-left: 6.6265060241vw;
  }
  .bl_nav_menuBox .bl_btn_list li.el_White_btn {
    background: #E4E6E6;
  }
  .bl_nav_menuBox .bl_btn_list li.el_White_btn a {
    color: #030303;
  }
  .bl_nav_menuBox .bl_btn_list li.el_blue_btn {
    background: #0076CC;
    color: #fff;
  }
  .bl_nav_menuBox .bl_btn_list li.el_yellow_btn {
    background: #FFCC1E;
  }
  .bl_nav_menuBox .bl_btn_list li.el_yellow_btn a {
    color: #030303;
  }
  .bl_nav_menuBox .bl_btn_list li.el_green_btn {
    background: #9FB80F;
    color: #fff;
  }
  .bl_menu_snsLink {
    width: 24.0963855422vw;
  }
  .bl_menu_snsLink .bl_snsLink_btn {
    width: 6.0240963855vw;
  }
  .bl_menu_copyright {
    font-size: 2.6506024096vw;
    margin-top: 7.2289156627vw;
  }
}
