
/* --------------------------------------------------------------------------------
【 共通スタイル 】
　 個別スタイルは画面幅が 0px ～ 480px, 481px ～ 768px, 769px ～ 1024px, 1025px ～ 
#FFFFFF  白(しろ)
#F3F3F3  乳白色(にゅうはくしょく)
#0D0015  漆黒(しっこく)
#0F2350  濃藍(こいあい)
#4169E1  ロイヤル・ブルー(royalblue)
#89C3EB  勿忘草色(わすれなぐさいろ)
#f08300  蜜柑色(みかんいろ)
-------------------------------------------------------------------------------- */

@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");

html {
  background-color: #FFFFFF;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium","Yu Gothic",YuGothic,"Yu Gothic Medium",YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
}

/* サイト */
body {
  margin-right: auto;
  margin-left: auto;
}

/* サイトコンテナ */
#site_container {
  display: block;
  vertical-align: middle;
}

/* ヘッダー */
#header_container {
  background-color: rgba(255, 255, 255, 1); /* a値でヘッダを半透明にできる */
  position: fixed;
  top: 0;
  z-index: 120;
}
  
/* 言語メニュー */
#lang_menu {
  text-align: right;
}

#lang_menu li {
  padding: 0rem 0.2rem 0rem 0.2rem;
  display: inline-block;
  color: #0D0015;
}

#lang_menu a {
  text-decoration: none;
  color: #0D0015;
}

#lang_menu a:link, menu a:visited, menu a:hover, menu a:active {
  color: #0D0015;
}

/* メニュー */
menu {
  background-color: #0F2350;
  padding: 0.4rem 0.2rem 0.4rem 0.2rem;
  vertical-align: middle;
  color: #F3F3F3;
}

menu li {
  padding: 0rem 0.4rem 0rem 0.4rem;
  display: inline-block;
  text-align: center;
  color: #F3F3F3;
}

menu a {
  text-decoration: none;
  color: #F3F3F3;
}

menu a:link, menu a:visited, menu a:hover, menu a:active {
  color: #F3F3F3;
}

menu a:hover {
  background: linear-gradient(to bottom, #0F2350, #4169E1 50%, #0F2350);
  color: #F3F3F3;
}

.menu_focus {
  background: linear-gradient(to bottom, #0F2350, #4169E1 50%, #0F2350);
}

/* コンテンツコンテナ */
#contents_container {
  display: flex;
  background-color: #FFFFFF;
  letter-spacing: -1em; /* 文字間を詰める */
  white-space: nowrap; /* 自動で折り返ししない */
}

/* ナビ */
nav {
  background-color: #89C3EB;
  display: inline-block;
  padding: 0.4rem 0rem 0.4rem 0rem;
  vertical-align: top;
  color: #0D0015;
  letter-spacing: normal; /* 文字間を元に戻す */
  white-space: normal; /* 自動で折り返し(元に戻す) */
}

nav ul {
  list-style: none;
  list-style-position: inside;
  padding-left: 0.4em;
}

nav li {
  padding: 0.4rem  0rem  0.4rem  0rem;
}

nav a {
  text-decoration: none;
  color: #0D0015;
}

nav a:link, nav a:visited, nav a:hover, nav a:active {
  color: #0D0015;
}

nav a:hover {
  background: linear-gradient(to bottom, #89C3EB, #89C3EB 10%, #f08300 60%, #f08300 90%, #89C3EB);
  color: #0D0015;
}

.nav_focus {
  background: linear-gradient(to bottom, #89C3EB, #89C3EB 20%, #f08300 80%, #89C3EB);
}


/* メイン */
main {
  display: inline-block;
  padding: 0.5rem 0.5rem 0.5rem 0.5rem;
  vertical-align: top;
  color: #0D0015;
  letter-spacing: normal; /* 文字間を元に戻す */
  white-space: normal; /* 自動で折り返し(元に戻す) */
  line-height: 1.5; /* 行の高さ */
}

main h3 {
  margin: 0.2rem 0rem 0.2rem 0rem;
  padding: 0.2rem 0rem 0.2rem 0.4rem;
  border-left: 8px solid #0F2350;
  border-bottom: 1px solid #0F2350;
  font-size: 1.2rem;
}

main ul {
  list-style: none;
  list-style-position: inside;
  padding-left: 1em;
}

main li {
  padding: 1.0rem 0rem 0.2rem 0rem;
}

main li:before {
  content: '■ ';
  color: #f08300;
}

.li_item {
  padding: 0.4rem 0rem 0rem 0rem;
}

.li_item:before {
  content: '● ';
  color: #f08300;
}

.li_item_ {
  padding: 0rem 0rem 0rem 0rem;
}

.li_item_:before {
  content: '・';
  color: #f08300;
}

main a {
  text-decoration: none;
  color: #0D0015;
}

main a:link, main a:visited, main a:hover, main a:active {
  color: #0D0015;
}

main td {
  vertical-align: middle
}

.flex_tile {
  list-style: none;
  list-style-position: inside;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  /* -webkit-justify-content: space-between; */
  /* justify-content: space-between; */
  align-content: stretch;
}

.flex_tile li:before {
  content: '';
}

.flex_tile li {
  margin: 0rem 0.3rem 1.0rem 0.3rem;
  padding: 0rem 0rem 0rem 0rem;
}

.flex_tile img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border: 1px solid #C0C0C0;
}

/* お問合せフォーム */
.contact_form {
}

.contact_form dt:before {
  content: '■ ';
  color: #f08300;
}


/* フッター */
footer{
  background-color: #0F2350;
  padding: 0.4rem 0.4rem 0.4rem 0.4rem;
  text-align: center;
  font-size: 0.7rem;
  color: #F3F3F3;
  clear: both;
}

footer a:link, footer a:visited, footer a:hover, footer a:active {
  color: #F3F3F3;
}

footer a:hover {
  background: linear-gradient(to bottom, #0F2350, #4169E1 50%, #0F2350);
  color: #F3F3F3;
}
  
.float_none {
  clear: both;
}

.float_left
{
  float: left;
}

/* バナー */
.banner {
  position: relative;
  float: left;
}
  
.banner img {
  padding: 0rem 0rem 0rem 0.1rem;
}
  
.banner_txt {
  position: absolute;
  font-weight: 900;
  letter-spacing: -0.05em;
  color: #ff0000; /*確認用に赤文字にしています。画像を差し替えたら#ffffffに変更*/
  top: 0;
  display: flex;
  width: 100%;
  height: 100%;
  margin: 0;
  align-items: center;
  justify-content: center;
}

.img_bnr {
  max-width: 49%;
}

.img_w0 {
  max-width: 100%;
}

.form_item_tile {
  list-style: none;
  list-style-position: inside;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.topix_tile {
  list-style: none;
  list-style-position: inside;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.none_border {
  border: none;
  outline: none;
}

.products_img_area {
  fill: orange; /* 塗り潰し */
  fill-opacity: 0.0; /* 不透明度 */
}
.products_img_area:hover {
  fill: orange;
  fill-opacity: 0.1;
}

/* --------------------------------------------------------------------------------
【 画面幅が 0px ～ 480px のときに適用するスタイル 】
-------------------------------------------------------------------------------- */
@media screen and (min-width:0px) and (max-width:480px) {
  /* サイト */
  body {
    width: 325px;
    margin-top: 69px;
  }

  /* ヘッダー */
  #header_container {
    width: 325px;
  }

  /* 言語メニュー */
  #lang_menu {
    font-size: 0.5rem;
  }

  /* メニュー */
  menu {
    font-size: 0.5rem;
  }

  menu li {
    width: 44px;
  }

  /* ナビ */
  nav {
    width: 80px;
    font-size: 0.5rem;
  }
  
  nav ul {
    position: sticky;
    top: 76px;
  }

  /* メイン */
  main {
    top: 76px;
    width: 245px;
    font-size: 0.6rem;
  }

  div.topix_block_1 {
  }

  div.topix_block_2 {
  }

  div.topix_block_0 {
  }
  
  .banner_txt {
    font-size: 0.8rem;
  }

  .img_w1 {
    width: 75px;
  }
  .img_w2 {
    width: 80px;
  }
  
  .form_item_tile dd {
    width: 100%;
  }

  .form_input {
    width: 215px;
  }

  .form_textarea {
     width: 215px;
     height: 300px;
  }

  .topix_tile a {
    width: 100%;
  }

  .products_img {
    width: 240px;
    height: 120px;
  }

}


/* --------------------------------------------------------------------------------
【 画面幅が 481px ～ 768px のときに適用するスタイル 】
-------------------------------------------------------------------------------- */
@media screen and (min-width:481px) and (max-width:768px) {
  /* サイト */
  body {
    width: 480px;
    margin-top: 73px;
  }

  /* ヘッダー */
  #header_container {
    width: 480px;
  }

  /* 言語メニュー */
  #lang_menu {
    font-size: 0.6rem;
  }

  /* メニュー */
  menu {
    font-size: 0.8rem;
  }

  menu li {
    width: 72px;
  }

  /* ナビ */
  nav {
    width: 100px;
    font-size: 0.6rem;
  }
  
  nav ul {
    position: sticky;
    top: 80px;
  }

  /* メイン */
  main {
    top: 80px;
    width: 380px;
    font-size: 0.7rem;
  }

  div.topix_block_1 {
  }

  div.topix_block_2 {
  }

  div.topix_block_0 {
  }

  .banner_txt {
    font-size: 1.2rem;
  }

  .img_w1 {
    width: 112px;
  }
  .img_w2 {
    width: 122px;
  }
  
  .form_item_tile dd {
    width: 50%;
  }

  .form_input {
    width: 350px;
  }

  .form_textarea {
     width: 350px;
     height: 280px;
  }

  .topix_tile a {
    width: 100%;
  }

  .products_img {
    width: 360px;
    height: 180px;
  }

}


/* --------------------------------------------------------------------------------
【 画面幅が 769px ～ 1024px のときに適用するスタイル 】
-------------------------------------------------------------------------------- */
@media screen and (min-width:769px) and (max-width:1024px) {
  /* サイト */
  body {
    width: 720px;
    margin-top: 73px;
  }

  /* ヘッダー */
  #header_container {
    width: 720px;
  }

  /* 言語メニュー */
  #lang_menu {
    font-size: 0.6rem;
  }

  div.topix_block_1 {
    float: left;
    width: 50%;
  }

  div.topix_block_2 {
    
  }

  div.topix_block_0 {
    clear: both;
  }

  /* メニュー */
  menu {
    font-size: 0.9rem;
  }

  menu li {
    width: 114px;
  }

  /* ナビ */
  nav {
    width: 120px;
    font-size: 0.7rem;
  }
  
  nav ul {
    position: sticky;
    top: 80px;
  }

  /* メイン */
  main {
    top: 80px;
    width: 600px;
    font-size: 0.9rem;
  }

  .banner_txt {
    font-size: 1.4rem;
  }

  .img_w1 {
    width: 150px;
  }
  .img_w2 {
    width: 162px;
  }
  
  .form_item_tile dd {
    width: 33%;
  }

  .form_input {
    width: 350px;
  }

  .form_textarea {
     width: 565px;
     height: 280px;
  }

  .topix_tile a {
    width: 50%;
  }

  .products_img {
    width: 560px;
    height: 280px;
  }

}


/* --------------------------------------------------------------------------------
【 画面幅が 1025px ～ のときに適用するスタイル 】
-------------------------------------------------------------------------------- */
@media screen and (min-width:1025px) {
  /* サイト */
  body {
    width: 1000px;
    margin-top: 83px;
  }

  /* ヘッダー */
  #header_container {
    width: 1000px;
  }

  /* 言語メニュー */
  #lang_menu {
    font-size: 0.7rem;
  }

  /* メニュー */
  menu {
    font-size: 1.0rem;
  }

  menu li {
    width: 160px;
  }

  /* ナビ */
  nav {
    width: 140px;
    font-size: 0.9rem;
  }
  
  nav ul {
    position: sticky;
    top: 90px;
  }

  /* メイン */
  main {
    top: 90px;
    width: 860px;
    font-size: 1.0rem;
  }

  div.topix_block_1 {
    float: left;
    width: 50%;
  }

  div.topix_block_2 {
    
  }

  div.topix_block_0 {
    clear: both;
  }

  .banner_txt {
    font-size: 1.8rem;
  }

  .img_w1 {
    width: 188px;
  }
  .img_w2 {
    width: 202px;
  }

  .form_item_tile dd {
    width: 25%;
  }

  .form_input {
    width: 350px;
  }

  .form_textarea {
     width: 825px;
     height: 300px;
  }

  .topix_tile a {
    width: 50%;
  }

  .products_img {
    width: 800px;
    height: 400px;
  }

}
/* --------------------------------------------------------------------------------

-------------------------------------------------------------------------------- */
