@charset "UTF-8";
/* CSS Document */




.margin_top_05 {
  margin-top: 5px;
}
.margin_top_10 {
  margin-top: 10px;
}
.margin_top_15 {
  margin-top: 15px;
}
.margin_top_20 {
  margin-top: 20px;
}
.margin_top_25 {
  margin-top: 25px;
}
.margin_top_30 {
  margin-top: 30px;
}
.margin_top_35 {
  margin-top: 35px;
}
.margin_top_40 {
  margin-top: 40px;
}
.margin_top_45 {
  margin-top: 45px;
}
.margin_top_50 {
  margin-top: 50px;
}
.margin_top_55 {
  margin-top: 55px;
}
.margin_top_60 {
  margin-top: 60px;
}
.margin_top_65 {
  margin-top: 65px;
}
.margin_top_70 {
  margin-top: 70px;
}
.margin_top_75 {
  margin-top: 75px;
}
.margin_top_80 {
  margin-top: 80px;
}
.margin_top_85 {
  margin-top: 85px;
}
.margin_top_90 {
  margin-top: 90px;
}
.margin_top_95 {
  margin-top: 95px;
}
.margin_top_100 {
  margin-top: 100px;
}

.margin_bottom_05 {
  margin-bottom: 5px;
}
.margin_bottom_10 {
  margin-bottom: 10px;
}
.margin_bottom_15 {
  margin-bottom: 15px;
}
.margin_bottom_20 {
  margin-bottom: 20px;
}
.margin_bottom_25 {
  margin-bottom: 25px;
}
.margin_bottom_30 {
  margin-bottom: 30px;
}
.margin_bottom_35 {
  margin-bottom: 35px;
}
.margin_bottom_40 {
  margin-bottom: 40px;
}
.margin_bottom_45 {
  margin-bottom: 45px;
}
.margin_bottom_50 {
  margin-bottom: 50px;
}
.margin_bottom_55 {
  margin-bottom: 55px;
}
.margin_bottom_60 {
  margin-bottom: 60px;
}
.margin_bottom_65 {
  margin-bottom: 65px;
}
.margin_bottom_70 {
  margin-bottom: 70px;
}
.margin_bottom_75 {
  margin-bottom: 75px;
}
.margin_bottom_80 {
  margin-bottom: 80px;
}
.margin_bottom_85 {
  margin-bottom: 85px;
}
.margin_bottom_90 {
  margin-bottom: 90px;
}
.margin_bottom_95 {
  margin-bottom: 95px;
}
.margin_bottom_100 {
  margin-bottom: 100px;
}

.margin_left_05 {
  margin-left: 5px;
}
.margin_left_10 {
  margin-left: 10px;
}
.margin_left_15 {
  margin-left: 15px;
}
.margin_left_20 {
  margin-left: 20px;
}
.margin_left_25 {
  margin-left: 25px;
}
.margin_left_30 {
  margin-left: 30px;
}
.margin_left_35 {
  margin-left: 35px;
}
.margin_left_40 {
  margin-left: 40px;
}
.margin_left_45 {
  margin-left: 45px;
}
.margin_left_50 {
  margin-left: 50px;
}
.margin_left_55 {
  margin-left: 55px;
}
.margin_left_60 {
  margin-left: 60px;
}
.margin_left_65 {
  margin-left: 65px;
}
.margin_left_70 {
  margin-left: 70px;
}
.margin_left_75 {
  margin-left: 75px;
}
.margin_left_80 {
  margin-left: 80px;
}
.margin_left_85 {
  margin-left: 85px;
}
.margin_left_90 {
  margin-left: 90px;
}
.margin_left_95 {
  margin-left: 95px;
}
.margin_left_100 {
  margin-left: 100px;
}

.margin_right_05 {
  margin-right: 5px;
}
.margin_right_10 {
  margin-right: 10px;
}
.margin_right_15 {
  margin-right: 15px;
}
.margin_right_20 {
  margin-right: 20px;
}
.margin_right_25 {
  margin-right: 25px;
}
.margin_right_30 {
  margin-right: 30px;
}
.margin_right_35 {
  margin-right: 35px;
}
.margin_right_40 {
  margin-right: 40px;
}
.margin_right_45 {
  margin-right: 45px;
}
.margin_right_50 {
  margin-right: 50px;
}
.margin_right_55 {
  margin-right: 55px;
}
.margin_right_60 {
  margin-right: 60px;
}
.margin_right_65 {
  margin-right: 65px;
}
.margin_right_70 {
  margin-right: 70px;
}
.margin_right_75 {
  margin-right: 75px;
}
.margin_right_80 {
  margin-right: 80px;
}
.margin_right_85 {
  margin-right: 85px;
}
.margin_right_90 {
  margin-right: 90px;
}
.margin_right_95 {
  margin-right: 95px;
}
.margin_right_100 {
  margin-right: 100px;
}



.text_left {
  text-align: left;
}
.text_right {
  text-align: right;
}
.text_center {
  text-align: center;
}

.text_bold {
  font-weight: 600;
}



.visible_sp {
  display: inline-block;
}
.visible_pc {
  display: none;
}





@media print {

}



html {
  color: #333333;
  font-family: "Noto Sans JP", "Hiragino Sans", "Meiryo", "Helvetica Neue", sans-serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.03em;
  line-height: 1.5;
  scroll-behavior: smooth; /* スムーズスクロールを有効化 */
}



section {
  opacity: 0; /* 初期状態で透明 */
  transition: opacity 1.0s ease-in-out; /* フェードイン時のスムーズな遷移 */
}

.fadeIn {
  opacity: 1; /* 表示時にフェードイン */
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}


/* body内のすべての要素にフェードインアニメーションを適用 */
/*
body {
    animation: fadeIn 1.2s ease-in-out;
    opacity: 1; 
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    100% {
        opacity: 1;
    }
}
*/



header {
  font-weight: 400;
  display: flex;
  justify-content: space-between;
  background-color:rgba(255, 255, 255, 1.0);
  border-bottom: solid 1px #333333;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  height: 40px;
/*
  position: fixed;
  top: 0;
  left: 0;
*/
  position: relative;
  z-index: 300;
}
header.show{
  z-index: 30;
}

header h1 {
  margin: 12px 0 0;
  width: 100px;
}  
header h1 a {
  cursor: pointer;
}
header h1 a img {
  width: 100px;
  height: auto;
}

header nav > ul {
  display: none;
}
header nav img.modalnav_button_open {
  cursor: pointer;
  margin: 9px 10px 0 0;
  width: 25px;
  height: 21px;
}


.modalnav {
  display: flex;
  align-content: flex-start;
  flex-wrap: wrap;
  background: rgba(0, 0, 0, 0.90);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 500;
  opacity: 1;
  transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
  transform: translateY(-100%);
}
.modalnav.show {
  opacity: 1;
  transform: translateY(0);
}
.modalnav.hide {
  opacity: 1;
  transform: translateY(-100%);
}
.modalnav.hide .modalnav_list {
  display: flex;
}


.modalnav_button_close {
  cursor: pointer;
  width: 21px;
  height: 21px;
  position: fixed;
  top: 8px;
  right: 32px
}

.modalnav_list {
  display: flex;
  align-content: flex-start;
  flex-wrap: wrap;
  color: #ffffff;
  letter-spacing: 0.05em;
  padding: 60px calc((100% - 100px) / 2) 0 calc((100% - 100px) / 2);
  width: 100%;
  height: 100%;
  overflow-y: auto;
  position: relative;
}

.modalnav_list .modalnav_list_link {
  width: 100%;
}
.modalnav_list .modalnav_list_link > li {
  padding: 12px 0;
}

.modalnav_list .modalnav_list_link > li > a {
  color: #ffffff;
  font-family: "neue-haas-grotesk-display", Helvetica, "sans-serif";
  font-weight: 400;
  font-size: 2.0rem;
  line-height: 1.0;
  
  position: relative;
  text-decoration: none;
  color: inherit;
}
.modalnav_list .modalnav_list_link > li > a::after {
  content: '';
  position: absolute;
  left: -2px;
  bottom: -3px; /* 下線をテキストの下に配置 */
  height: 1.5px;
  width: 0;
  background-color: #cccccc;
  transition: width 0.25s ease-in-out;
}
.modalnav_list .modalnav_list_link > li > a:hover::after {
  width: calc(100% + 4px);
}

.modalnav_overlay {
  display: none;
}



#top .modalnav_list .modalnav_list_link > li:nth-of-type(1) > a { /* ハンバーガーメニュー 閲覧中ページ フォント */
  font-weight: 600;
}
#top .modalnav_list .modalnav_list_link > li:nth-of-type(1) > a::after { /* ハンバーガーメニュー 閲覧中ページ 下線 */
  width: 0;
}

/* Map の場合 */
#map .modalnav_list .modalnav_list_link > li:nth-of-type(2) a {
  font-weight: 600;
}
#map .modalnav_list .modalnav_list_link > li:nth-of-type(2) a::after {
  width: 0;
}

/* List の場合 */
#list .modalnav_list .modalnav_list_link > li:nth-of-type(3) a {
  font-weight: 600;
}
#list .modalnav_list .modalnav_list_link > li:nth-of-type(3) a::after {
  width: 0;
}

#developer .modalnav_list .modalnav_list_link > li:nth-of-type(4) > a {
  font-weight: 600;
}
#developer .modalnav_list .modalnav_list_link > li:nth-of-type(4) > a::after {
  width: 0;
}

#contact .modalnav_list .modalnav_list_link > li:nth-of-type(5) > a {
  font-weight: 600;
}
#contact .modalnav_list .modalnav_list_link > li:nth-of-type(5) > a::after {
  width: 0;
}









main {
  font-size: 1.4rem;
  margin: 30px auto 0;
  width: 100%;
}




section {
  margin: 0 auto;
  width: calc(100% - 30px - 30px);
}



.breadcrumb {
  font-family: "neue-haas-grotesk-display", "Helvetica", "Noto Sans JP", "Hiragino Sans", "Meiryo", "Helvetica Neue", sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  margin: -15px 30px 30px 25px;
}
.breadcrumb ul {
  display: flex;
}
.breadcrumb ul li::before {
  content: "\f105";                /* Font Awesome のアイコンコード */
  font-family: "Font Awesome 7 Pro"; /* 使用する Font Awesome のフォント */
  font-size: 0.9rem;
  font-weight:3900;                /* Lightは 300 */
  display: inline-block;
  margin: 0 0.5em;  
}
.breadcrumb ul li:first-of-type::before {
  display: none;
}
.breadcrumb ul li:nth-of-type(3){
  font-family: "Noto Sans JP", "Hiragino Sans", "Meiryo", "neue-haas-grotesk-display", "Helvetica", "Helvetica Neue", sans-serif;
  font-size: 1.0rem;
}
.breadcrumb ul li a {
  transition: opacity 0.3s;
}
.breadcrumb ul li a:hover {
  opacity: 0.5;
}
/*
.breadcrumb {
  font-family: "neue-haas-grotesk-display", "Helvetica", "Noto Sans JP", "Hiragino Sans", "Meiryo", "Helvetica Neue", sans-serif;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  margin: -15px 30px 30px 25px;
}
.breadcrumb a {
  transition: opacity 0.3s;
}
.breadcrumb a:hover {
  opacity: 0.5;
}
.breadcrumb .fa-angle-right {
  font-size: 0.9rem;
  margin: 0 0.5em;
}
*/


.page_title {
  font-family: "neue-haas-grotesk-display", Helvetica, "sans-serif";
  font-size: 4.0rem;
  font-weight: 200;
  letter-spacing: 0.03em;
  line-height: 1.0;
  text-align: center;
}





footer {
  border-top: solid 1px #333333;
  padding: 40px 0 60px;
  margin: 100px auto 0;
  width: 100%;
}

.footernav {
  
}
.footernav_list_01,
.footernav_list_02,
.footernav_list_03 {
  display: flex;
  justify-content: space-between;
  margin: 0 auto 15px;
}
.footernav_list_01 {
  font-family: "neue-haas-grotesk-display", Helvetica, "sans-serif";
  font-weight: 400;
  font-size: 1.5rem;
  width: 300px;
}
.footernav_list_02 {
  font-size: 1.2rem;
  width: 230px;
}
.footernav_list_02 i {
  font-size: 1.0rem;
  vertical-align: 0px;
  margin-left: 3px;
}
.footernav_list_03 {
  font-size: 0.9rem;
  width: 155px;
}
.footernav_list_03 .grande img,
.footernav_list_03 .landix img {
  height: 14px;
}
.footernav_list_03 li {
  text-align: center;
}

.footer_copyright {
  font-family: "neue-haas-grotesk-display", Helvetica, "sans-serif";
  font-weight: 400;
  font-size: 1.2rem;
  text-align: center;
  margin-top: 10px;
  margin-right: 1.5em;
}
.footer_copyright > i {
  font-size: 1.1rem;
  vertical-align: 0px;
}




  
  
  
  
@media print, screen and (min-width:1000px) {
  
  .visible_sp {
    display: none;
  }
  .visible_pc {
    display: inline-block;
  }
  
  
  
  html {
    color: #333333;
  }
  
  
  
  header {
    justify-content: center;
    padding: 0;
    height: 70px;
  }
  
  header h1 {
    height: 70px;
    width: 160px;
  }
  header h1 a img {
    margin-top: 20px;
    width: 160px;
  }
  
  header nav {
    display: flex;
    margin-left: 400px;
  }
  header nav > ul {
    display: flex;
    justify-content: space-between;
    margin-top: 35px;
    width: 440px;
  }
  header nav > ul > li {
    display: block;
    text-align: center;
    white-space: nowrap;
  }
  header nav > ul > li:nth-of-type(1) {
    width: 34px;
  }
  header nav > ul > li:nth-of-type(2) {
    width: 39px;
  }
  header nav > ul > li:nth-of-type(3) {
    width: 33px;
  }
  header nav > ul > li:nth-of-type(4) {
    width: 55px; /* 「Brand」用 */
    margin-right: 0; /* 「Brand」用 */
    /* 「Developer」用
    width: 93px;
    margin-right: -8px;
    */
  }
  header nav > ul > li:nth-of-type(5) {
    width: 73px;
  }
  header nav > ul > li::after {
    content: '|';
    font-size: 0.9rem;
    margin-left: 25px;
    vertical-align: 4px;
  }
  header nav > ul > li:nth-of-type(5)::after {
    content: '';
  }
  header nav > ul > li > a {
    color: inherit;
    font-family: "neue-haas-grotesk-display", Helvetica, "sans-serif";
    font-size: 2.0rem;
    font-weight: 400;
    line-height: 1.0;
    text-decoration: none;
    cursor: pointer !important;
    display: inline-block; /* 必要に応じて */
    pointer-events: auto; /* 明示的に有効化 */
    position: relative;
  }
  header nav > ul > li > a::after {
    content: '';
    position: absolute;
    left: -2px;
    bottom: -3px; /* 下線をテキストの下に配置 */
    height: 1.5px;
    width: 0;
    background-color: #cccccc;
  }
  header nav a:hover::after {
    width: calc(100% + 4px);
    transition: width 0.25s ease-in-out;
  }
  header nav > img {
    display: none;
  }
  
  
  
  #top header nav li:nth-of-type(1) a { /* Gナビ 閲覧中ページ フォント */
    font-weight: 600;
  }
  #top header nav li:nth-of-type(1) a::after { /* Gナビ 閲覧中ページ 下線表示 */
    width: 0;
  }
  
  /* Map の場合 */
  #map header nav li:nth-of-type(2) a {
    font-weight: 600;
  }
  #map header nav li:nth-of-type(2) a::after {
    width: 0;
  }

  /* List の場合 */
  #list header nav li:nth-of-type(3) a {
    font-weight: 600;
  }
  #list header nav li:nth-of-type(3) a::after {
    width: 0;
  }
  
  #developer header nav li:nth-of-type(4) a {
    font-weight: 600;
  }
  #developer header nav li:nth-of-type(4) a::after {
    width: 0;
  }
  
  #contact header nav li:nth-of-type(5) a {
    font-weight: 600;
  }
  #contact header nav li:nth-of-type(5) a::after {
    width: 0;
  }


  

  main {
    margin-top: 80px;
    width: 100%;
  }
  
  
  
  section {
    margin: 0 auto;
    width: 1000px;
  }
  
  
    
  .breadcrumb {
    font-size: 1.3rem;
    margin: -65px auto 50px;
  }
  .breadcrumb ul li::before {
    font-size: 1.1rem;
    margin: 0 0.7em;
  }
  .breadcrumb ul li:last-of-type{
  font-size: 1.2rem;
}

  
    
  .page_title {
    font-size: 6.5rem;
  }

  
  




  
  footer {
    margin: 150px auto 0;
  }

  .footernav_list_01,
  .footernav_list_02,
  .footernav_list_03 {
    margin: 0 auto 15px;
  }
  .footernav_list_01 {
    font-size: 1.7rem;
    width: 380px;
  }
  .footernav_list_02 {
    font-size: 1.2rem;
    width: 280px;
  }
  .footernav_list_03 {
    font-size: 1.0rem;
    width: 180px;
  }
  .footernav_list_03 .grande,
  .footernav_list_03 .landix {
    height: 15px;
  }
  
  .footer_copyright {
    font-size: 1.3rem;
    margin-top: 25px;
  }
  .footer_copyright > i {
    font-size: 1.2rem;
  }




}





@media print {

}
