@charset "utf-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
html{
    background: url(img/background.jpg);
    background-size: cover;
    /* background-color: rgba(255,255,255,0.8); */
}
body{
    background-color:rgba(255,255,255,0.8); 
    background-blend-mode:lighten;
    margin: 0;
    /* background:url(/img/background.jpg);*/
}

header{
    display: flex;
    align-items: center;
    width: 100%;
    height: 100px;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #000;
}
header > .container{
    width: 1140px;
    display: flex;
    align-items: center;
}
main{
    /* background-color:rgba(255,255,255,0.8); */
    margin-top: 100px;
    height: auto;
    
}
/* ロゴ */
.logo img{
    max-height: 40px;
    vertical-align: bottom;
}

/* ナビゲーションバー */
nav.header_nav{
    margin: 0 0 0 auto;
}
.header_nav_list{
    margin-bottom: 0px;
    padding-left: 0px;
}
li{
    list-style: none;
    padding: auto;
}
.header_nav li{
    list-style: none;
    display: inline-block;
    padding: 10px;
}
.header_nav li a{
    text-decoration: none;
    padding-bottom: 10px;
	color: #fff;
	display: block;
	position: relative;
}
.header_nav li a:before {
	content: '';
	width: 0;
	left: 50%;
	bottom: 0;
	transition: all 0.2s ease;
	border-bottom: 1px solid #0000ee;
	position: absolute;
	display: block;
}
.header_nav li a:hover:before {
	width: 50%;
	border-bottom: 1px solid #0000ee;
}
.header_nav li a:after {
	content: '';
	width: 0;
	right: 50%;
	bottom: 0;
	transition: all 0.2s ease;
	border-bottom: 1px solid #0000ee;
	position: absolute;
	display: block;
}
.header_nav li a:hover:after {
	width: 50%;
	border-bottom: 1px solid #0000ee;
}
.insta_logo{
    width: 25px;
    height: 25px;
}

#sample1 input[type="radio"]{
    display: none;
  }
   
   /* === 各ラジオボタンのラベルをボタンに変更 == */
  #sample1 label{
    display    : inline-block;
    border     : 1px solid #ccc;
    box-shadow : 2px 2px #999;
    padding    : 2px 6px;
  }
   
   /* === 選択されている言語のラベル色を変更 ==== */
  #sample1 input[type="radio"]:checked + label {
    background : #ffa64d;
  }

/*  */
.container{
    max-width: 83%;
    /* padding: 0 60px; */
    margin: 0 auto;
}
.bx-wrapper{
    margin-top: 60px;
    border: none;
}

.top_view {
    padding-top: 30px;
    /* background-color: #000; */
}
img.top_img{
    width: 1140px;
    height: 570px;
    vertical-align: bottom;
    position: relative;
}
.setumei{
    color: white;
    position: absolute;
}
/* topviewの中に書く説明 */
.top_view > .container{
    width: 1140px;
    height: 570px;
    /* padding: 10px; */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.head_home{
    text-align: center;
    margin-top: 100px;
    margin-bottom: 50px;
}
.table-wrap{
    max-width: 1400px;
    margin: 0 auto;
}
.mod-table{
    width: 100%;
    table-layout: fixed;
    text-align: left;
}
.mod-table tbody{
    vertical-align: middle;
}
table.mod-table{
    border-spacing: 0;
}

/* law */
.head_home-law{
    margin-top: 100px;
    text-align: center;
}
.table-wrap-law{
margin-top: 5%;
margin-left: 10%;
margin-right: 10%;
}

.recode{
    border-bottom: 1px solid black;
}
.recode th{
    width: 230px;
    padding-right: 15px;
    text-align: left;
    border-bottom: 1px solid #bbbbbb;
    color: #656563;
}
.recode td{
    position: relative;
    padding: 33px 0;
    border-bottom: 1px solid #bbbbbb;
    color: #656563;
}
p{
    display: block;
    font-family: "SST W55 Regular", sans-serif;
    color: #656563;
}
.Description {
    width: 100%;
    text-align: left;
    line-height: 2.4;
}

.Description p {
    margin-left:25%;
    display: block;
    font-size: 1.3rem;
    font-family: "SST W55 Regular", sans-serif;
    text-align: left; /* テキストを中央に配置 */
}

.ttl{
    font-size: 1.7rem;
    font-family: "SST W55 Bold", Arial, sans-serif;
}

/* color: #656563 */
.osirase  > .head_home{
    margin-bottom: 20px;
}
.osirase{
    margin-top: 50px;
    margin-bottom: 50px;
}
.osirase_body{
    width: 60%;
    margin: 0 auto;
}
iframe.osirase_space{
    width: 100%;
    height: 150px;
    margin: auto 0;
    border: 1px solid #656563;
    border-radius: 20px;
}
h3{
    text-align: center;
}
.exhibition{
    overflow: hidden;
    margin-bottom: 50px;
}


table.exhibition_table{
    min-width: 100%;
    margin: 0 auto;
    border-spacing: 6em 0px;
    border-collapse: separate;
    display: inline-block;

}
table.exhibition_table thead{
    justify-content: space-between;
}
table.exhibition_table tbody{
    text-align: center;
}
.tenzikai_img{
    width: 230px;
}
/* .tenzikai_img:hover{
    transform: scale(1.2) rotate(9deg);
    transition-duration: 0.5s;
} */
.exhibition a{
    color: #000;
    text-decoration: none;
}
.exhibition td{
    padding: 50px 0px;
}
#page_top{
    width: 90px;
    height: 90px;
    position: fixed;
    right: 0;
    bottom: 0;
    opacity: 0.6;
  }
  #page_top a{
    position: relative;
    display: block;
    width: 90px;
    height: 90px;
    text-decoration: none;
  }
  #page_top a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f102';
    font-size: 25px;
    color: #3f98ef;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -40px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
  }
  #page_top a::after{
    content: 'PAGE TOP';
    font-size: 13px;
    color: #fff;
    position: absolute;
    top: 45px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    color: #3f98ef;
  }
  
  form.contact {
    width: 50%;
  }
    
  input {
    width: 100%;
    max-width: 100%;
    border: none;
    margin: 0.5rem 0;
    padding: 0.5rem 1rem;
    border-radius: 0.3rem;
    background: darken(#f9f9f9, 10%);
    color: darken(#f9f9f9, 50%);
  }
  .fileter{
      /* width: 50%; */
      margin-bottom: 30px;
  }
  .contact{
    margin: 0 auto;
  }
  textarea{
    float: left;
    width: 100%;
    height: 100px;
    max-width: 100%;
    border: none;
    margin: 0.5rem 0;
    padding: 0.5rem 1rem;
    border-radius: 0.3rem;
    background: darken(#f9f9f9, 10%);
    color: darken(#f9f9f9, 50%);
  }
  .submit{
      padding-top: 10px;
      padding-bottom: 10px;
      margin-bottom: 100px;
      background-color: #333;
      color: #fff;
  }
  .submit:hover {
    letter-spacing: 5px;
  }
.check{
    text-align: left;
}
.g-recaptcha{
    margin:20 0;
}
.faild_message{
    color: red;
}
.img_card{
    display: inline-block;
    margin-left: 5%;
    margin-right: 5%;
}
.no_table_exhibition{
    overflow: hidden;
    text-align: center;

}
.form_body1{
    margin-bottom: 50px;
}
.g-recaptcha{
    margin-top: 100px;
    margin-bottom: 100px;
}

/* product */
#column {
    margin: 50px auto 0 auto;
    padding: 0 20px;
}

#column ul {
    width: 100%;
    padding-left: 5%;
    padding-right: 5%;
    display: flex;
    flex-wrap: wrap;
}

#column li {
    padding: 0 10px 20px;
    width: calc(25% - 20px);
    max-width: calc(25% - 20px);
}

#column li a,
#column li a:visited {
    text-decoration: none;
    color: #111;
    display: block;
}

#column li p {
    font-size: 90%;
    margin-bottom: 3px;
}

#column li span {
    font-size: 80%;
    display: block;
}

.product_list li img {
    width: 70%;
    height: auto;
    object-fit: cover; 
}

@media only screen and (max-width: 768px) {
    #column li {
        width: calc(50% - 20px);
        max-width: calc(50% - 20px);
    }
}
