@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Outfit:wght@100..900&display=swap');

body{
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  color:#231815;
  font-size:16px;
}

img{
  max-width:100%;
}

header{
  background:#231815;
}

header .navbar-collapse{
  background:#FFF;
}

header .navbar-collapse li{
  padding:5px;
  border-bottom:1px dotted #aaa;
  font-size:20px;
}
.navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
#logo{
  height:60px;
}

footer{
  background:#231815;
  color:#FFF;
  padding:50px 0px 30px 0px;
}

footer ul{
  display:flex;
  padding:0;
  list-style:none;
}

footer ul li{
  border-right:1px solid #fff;
  padding:0px 8px;
  line-height:1;
}

footer ul li:last-child{
  border-right:none;
}

footer ul li a{
  color:#FFF;
  text-decoration:none;
}

#logo_footer{
  height:100px;
}

#copyright{
  font-size:14px;
  text-align:center;
}


#page-top {
  position: fixed;
  bottom: 20px;
  right: 20px;
  font-size: 14px;
  line-height: 1;
  z-index: 99;
}
#page-top a {
  background: #0064bf;
  text-decoration: none;
  color: #fff;
  width: 60px;
  padding: 20px 3px;
  text-align: center;
  display: block;
  border-radius: 90px;
  opacity: 0.9;
  transition: all .3s ease;
  font-size: 20px;
}
#page-top a:hover {
  text-decoration: none;
  opacity: .5;
}

.lh2{
  line-height:2;
}

#main{
  position:relative;
}

#main #main_btn{
  display:block;
  position:absolute;
  right:0;
  top:0;
  width:11.35%;
}

#mainmenu{
  background:#231815;
  color:#FFF;
  padding:30px 0px 30px 0px;
}

#mainmenu ul{
  display:flex;
  justify-content:center;
  padding:0;
  list-style:none;
}

#mainmenu ul li{
  border-right:1px solid #fff;
  padding:0px 15px;
}

#mainmenu ul li:last-child{
  border-right:none;
}

#mainmenu ul li a{
  color:#FFF;
  text-decoration:none;
  font-size:24px;
}

#about{
  background:#e0e1e1;
  padding:170px 0px 170px 0px;
  position:relative;
}

#about h2{
  text-align:center;
  line-height:2;
}

#about #about_top{
  position:absolute;
  right:0;
  top:0;
  width:55vw;
}

#about #about_bottom{
  position:absolute;
  left:0;
  bottom:0;
  width:55vw;
}

.aboutbox{
  background-image:url("/img/about_line.png");
  background-repeat:no-repeat;
  background-position:0 0;
  background-size:auto 100%;
  height:100%;
  padding-left:34px;
}

.aboutbox h3{
  min-height:70px;
  display:flex;
  align-items:center;
}

.aboutbox_outer{
  margin-top:100px;
  margin-bottom:100px;
}

#message{
  background-image:url("/img/president@2x.webp");
  background-repeat:no-repeat;
  background-position:100% 0;
  background-size:55% auto;
  padding:0px 0px 100px 0px;;
}

.rl{
  writing-mode: vertical-rl;
}

.message_title{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size:45px;
    display: inline-block;
  text-align:center;
}

.message_txt{
  font-size:20px;
  line-height:2;
}

.pointbox_outer{
  margin-top:100px;
}


.pointbox{
  padding:20px;
  border:0.5px solid #231815;
  background:#FFF;
  font-size:29px;
  text-align:center;
}

.pointbox span{
  color:#f49c00;
}

#company{
  background:#231815;
  color:#FFF;
  padding:50px 0px;
}
.company_title{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size:45px;
  writing-mode: vertical-rl;
    display: inline-block;
  text-align:center;
  color:#f49c00;
}

table#company_table{
  border-top:1px solid #e6e6e6;
}

table#company_table tr th,
table#company_table tr td{
  padding:10px;
  font-size:23px;
  border-bottom:1px solid #e6e6e6;
  line-height:2;
}

table#company_table tr th{
  padding:10px;
  border-right:1px solid #e6e6e6;
}

table#company_table tr td{
  
}

#guideline{
  background:#e0e1e1;
  padding:60px 0px;
  background-image:url("/img/guideline_back.webp");
  background-repeat:no-repeat;
  background-position:0% 0%;
  background-size:30% auto;
}

.guideline_title{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size:33px;
  text-align:center;
  border-bottom:1px solid #231815;
  padding-bottom:20px;
}

.guideline_body{
  font-size:24px;
  line-height:2;
}

.guideline_btn{
  padding:30px 20px;
  display:inline-block;
  color:#FFF;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size:36px;
  background:#231815;
  text-decoration:none;
}

.guideline_under{
  padding-top:160px;
  border-bottom:1px solid #231815;
}

#contact{
  background:#e0e1e1;
  padding:60px 0px;
  background-image:url("/img/contact_back.webp");
  background-repeat:no-repeat;
  background-position:100% 100%;
  background-size:55% auto;
}

.contact_title{
  font-size:20px;
  font-weight:700;
  text-align:center;
  border-bottom:1px solid #231815;
  margin-bottom:50px;
  padding-bottom:20px;
}

.privacy_title{
  font-size:33px;
  font-weight:700;
  margin-bottom:30px;
}

.privacy_txt{
  font-size:20px;
}

#privacy{
  position:relative;
  padding:100px 0px 100px 0px;
}

#float_btn{
  display:block;
  position:absolute;
  right:0;
  top:0;
  width:11.35%;
}

@media (min-width: 768px) {
  .navbar-expand-md .navbar-collapse {
    display:none !important;
  }
}

/* Large ≥992px */
@media screen and (max-width: 1199px) {
}

/* md ≥768px */
@media screen and (max-width: 992px) {
}

/* sm ≥576px */
@media screen and (max-width: 767px) {
  .navbar-brand{
    max-width:70%;
  }

}

/* xs <576px */
@media screen and (max-width: 576px) {
  .navbar-brand{
    max-width:70%;
  }
  #mainmenu{
    display:none;
  }
  #main #main_btn{
    top:auto;
    bottom:10%;
  }
  #about{
    padding-bottom:20px;
  }
  .aboutbox_outer{
    margin-bottom:20px;
  }
  #message{
    background:none;
    padding-bottom:10px;
  }
  .message_title{
    font-size:25px;
  }
  .message_txt{
    font-size:16px;
  }
  .company_title{
    font-size:25px;
  }
  table#company_table tr th, table#company_table tr td{
    font-size:12px;
  } 
  #guideline{
    padding-bottom:20px;
  }
  .guideline_title{
    font-size:23px;
  }
  .guideline_body{
    font-size:16px;
  }
  .guideline_btn{
    font-size:20px;
  }
  .guideline_under{
    padding-top:20px;
  }
  #contact{
    padding-top:20px;
  }
  #footermenu{
    display:none !important;
  }
}



