@charset "UTF-8";
/* ================================================================= 
 License : e-TRUST Inc.
 File name : common.css
 Style : common
================================================================= */
* {
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  line-height: 1.6em;
  font-weight: 400;
  letter-spacing: 0.6;
  background: #000;
  color: #fff;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-size: 13px;
  word-wrap: break-word;
  overflow-x: hidden;
}

figure {
  padding: 0;
  margin: 0;
}

.inner {
  margin: 0 auto;
  max-width: 1200px;
}

@media screen and (max-width: 640px) {
  .inner {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
.sinner {
  max-width: 620px;
}

.bornone td {
  border: none !important;
}

.pdnone td {
  padding: 0 !important;
}

.img100 img {
  width: 100%;
}

.link1 a {
  color: #000;
  font-weight: bold;
}

#contents_wrap {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

#contents {
  padding: 0;
}

@media only screen and (min-width: 835px) and (max-width: 1250px) {
  #contents2 {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media screen and (max-width: 834px) {
  #contents2 {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media screen and (max-width: 640px) {
  #contents2 {
    padding-left: 24px;
    padding-right: 24px;
  }
}

.contact_txt a {
  color: #fff;
}

.map {
  margin: 56px 20px 0;
}

.map li {
  border-left: 5px solid #CCCCCC;
  list-style: none;
  margin: 0 0 15px;
  padding: 0 0 0 10px;
  text-align: left;
}

.map li a {
  color: #fff;
}

.policy h2 {
  border-bottom: 1px solid #999;
  font-size: 18px;
  font-weight: bold;
  margin: 0 0 15px;
  padding: 0 0 5px;
}

.policy p {
  margin: 0 0 20px;
}

table td {
  margin-bottom: -1px !important;
  padding: 20px !important;
}

.tlauto table {
  table-layout: auto;
}

table td img {
  height: auto !important;
}

.pdtd10 td {
  padding: 10px !important;
}

pre {
  margin: 0;
  padding: 0;
  white-space: pre-line;
}

b, strong {
  font-weight: bold;
}

u {
  text-decoration: line-through;
}

img {
  max-width: 100%;
  height: auto !important;
}

small {
  font-size: 80%;
}

hr {
  border: none;
  height: 0;
  border-bottom: 1px dashed #B3B3B3;
}

span {
  font-weight: inherit;
}

.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

u {
  text-decoration: underline;
}

.borB {
  border-bottom: 1px dashed #333;
}

.b {
  font-weight: bold;
}

b {
  font-weight: bold;
}

.borderB {
  border-bottom: 1px dashed #333;
}

input[type=button] {
  cursor: pointer;
  padding: 5px 10px;
}

a:hover {
  opacity: 0.6;
}

#contents_wrap {
  min-width: auto;
  position: relative;
  z-index: 1;
}

#main, #col_main {
  width: 100% !important;
  max-width: 100% !important;
}

#contents {
  width: 100% !important;
  font-size: 16px;
  line-height: 1.7;
}
@media screen and (max-width: 834px) {
  #contents {
    font-size: 13px;
  }
}

.tacenter {
  text-align: center !important;
}

.ColLeft {
  float: left;
}

.ColRight {
  float: right;
}

.flexleft {
  display: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  overflow: hidden;
}

.flexcenter {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  overflow: hidden;
}

@media screen and (max-width: 640px) {
  .imgR, .imgL {
    display: block;
    float: none;
    margin: 0 auto 10px;
    max-width: 100% !important;
    text-align: center;
  }
}

.fwb {
  font-weight: bold;
}

.mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.gothic {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media screen and (max-width: 834px) {
  .fltL {
    float: none;
    width: 100% !important;
  }
  .fltR {
    float: none;
    width: 100% !important;
  }
}
@media screen and (max-width: 640px) {
  .sptal {
    text-align: left !important;
  }
  .sptar {
    text-align: right !important;
  }
  .sptac {
    text-align: center !important;
  }
}
header#global_header {
  max-width: 100%;
  min-width: auto !important;
}

#header {
  width: 100%;
  padding: 20px 0;
}
@media screen and (max-width: 834px) {
  #header {
    padding: 60px 0 20px;
  }
}

#nav_global ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}
#nav_global ul li {
  flex-grow: 1;
}
#nav_global ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  display: block;
}
#nav_global ul li a span {
  font-size: 13px;
}

#logo {
  display: none;
}
@media screen and (max-width: 834px) {
  #logo {
    display: block;
  }
}

#main_image img {
  width: 100% !important;
}

.mean-container .mean-bar {
  background: #000 !important;
  position: fixed !important;
}

.mean-container .mean-nav {
  background: #000 !important;
}
.mean-container .mean-nav ul li:nth-of-type(4) {
  display: none !important;
}

.breadcrumb {
  position: relative;
  z-index: 2;
  margin: 10px auto 50px;
  font-size: 12px;
  display: flex;
  justify-content: flex-start;
  color: #ffffff;
  flex-wrap: wrap;
}
.breadcrumb a {
  color: #ffffff !important;
  text-decoration: underline;
}
@media screen and (max-width: 640px) {
  .breadcrumb {
    margin-top: 0;
  }
}
.breadcrumb .breadcrumb__li {
  margin-right: 10px;
}
.breadcrumb .breadcrumb__divide {
  margin-right: 10px;
}

.breadcrumb pan .breadcrumb {
  margin-bottom: 0;
  margin-top: 0;
}

footer#global_footer {
  min-width: auto !important;
}

#footer {
  border-top: 1px solid #bb6821;
  padding: 20px 0;
}
#footer .inner p a {
  color: #fff;
  text-decoration: none;
}
#footer .flex_wrap {
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  margin-top: 20px;
}
@media screen and (max-width: 640px) {
  #footer .flex_wrap {
    display: block;
  }
}
#footer .flex_wrap dl {
  text-align: left;
}
@media screen and (max-width: 640px) {
  #footer .flex_wrap dl {
    text-align: center;
    margin-top: 20px;
  }
}
#footer .copy {
  margin-top: 20px;
}

.bg100 {
  margin-right: calc((100vw - 100%) / 2 * -1) !important;
  margin-left: calc((100vw - 100%) / 2 * -1) !important;
}

.inner {
  max-width: 1200px;
}
@media only screen and (min-width: 835px) and (max-width: 1250px) {
  .inner {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media screen and (max-width: 834px) {
  .inner {
    padding-left: 24px;
    padding-right: 24px;
  }
}
@media screen and (max-width: 640px) {
  .inner {
    padding-left: 24px;
    padding-right: 24px;
  }
}

#contents_wrap {
  padding: 0 0 100px;
}
@media screen and (max-width: 834px) {
  #contents_wrap {
    padding: 0 0 80px;
  }
}
@media screen and (max-width: 640px) {
  #contents_wrap {
    padding: 0 0 50px;
  }
}

.mail.title {
  display: none;
}

.c-dl__company dt {
  padding: 20px !important;
  align-items: center !important;
}
@media screen and (max-width: 640px) {
  .c-dl__company dt {
    width: 100% !important;
    padding-bottom: 0 !important;
  }
}
.c-dl__company dd {
  padding: 20px !important;
}
@media screen and (max-width: 640px) {
  .c-dl__company dd {
    width: 100% !important;
  }
}
@media screen and (max-width: 640px) {
  .c-dl__company dl {
    display: block !important;
  }
}

.news {
  gap: 30px;
  overflow-x: auto;
  flex-wrap: inherit !important;
  scrollbar-color: #181818 transparent;
}
.news .box {
  text-align: center;
  background-color: #181818;
  padding: 15px;
  width: var(--flex3);
  flex-grow: 0;
  flex-shrink: 0;
}
.news .box::before {
  content: "";
  background: url(../images/contents/topicon1.jpg);
  width: 100%;
  max-height: 68px;
  aspect-ratio: 145/34;
  background-size: cover;
  display: block;
}
.news .box::after {
  content: "";
  background: url(../images/contents/topicon2.jpg);
  width: 100%;
  max-height: 68px;
  aspect-ratio: 145/34;
  background-size: cover;
  display: block;
}
.news .box > div {
  padding: 15px 0;
}

.c-box__gallery .box {
  text-align: center;
}

.c-btn__cards {
  gap: 20px;
}
.c-btn__cards .box {
  flex: 1;
}
@media screen and (max-width: 640px) {
  .c-btn__cards .box {
    width: 100%;
    flex: auto;
  }
}

/* TOP */
.top1 {
  background: url(../images/contents/topbg1.jpg) center top no-repeat #181818;
  padding: 80px 0;
}

.top2 {
  background: #181818;
  padding: 80px 0;
}

.btn_wrap1 {
  max-width: 820px;
  margin: 40px auto 0;
}

.txt_wrap {
  max-width: 1500px;
  margin: 100px auto 150px;
  position: relative;
}
@media screen and (max-width: 834px) {
  .txt_wrap {
    margin: 0;
  }
}
.txt_wrap img {
  max-width: 100% !important;
  margin-bottom: 0 !important;
}
@media screen and (max-width: 834px) {
  .txt_wrap img {
    height: 200px !important;
    width: 100% !important;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: "object-fit: cover; object-position: center;";
  }
}
.txt_wrap h2 {
  font-size: 25px;
}
.txt_wrap h2 a {
  color: #fff !important;
}
@media screen and (max-width: 834px) {
  .txt_wrap h2 {
    font-size: 11px;
    font-size: 3.4375vw;
  }
}
@media screen and (max-width: 640px) {
  .txt_wrap h2 {
    font-size: 15px;
    font-size: 4.6875vw;
  }
}
.txt_wrap .lefttxt {
  position: absolute;
  text-align: center;
  left: 10%;
  bottom: -40px;
  display: table;
  background: url(../images/contents/topbg2.jpg) right bottom no-repeat #181818;
  max-width: 800px;
  min-height: 600px;
  width: 70%;
  padding: 40px;
}
@media screen and (max-width: 834px) {
  .txt_wrap .lefttxt {
    position: static;
    width: 100%;
    min-height: 100%;
  }
}
.txt_wrap .lefttxt .txtinner {
  display: table-cell;
  vertical-align: middle;
}
.txt_wrap .righttxt {
  position: absolute;
  text-align: center;
  right: 10%;
  bottom: -40px;
  display: table;
  background: url(../images/contents/topbg3.jpg) left bottom no-repeat #181818;
  max-width: 800px;
  min-height: 600px;
  width: 70%;
  padding: 40px;
}
@media screen and (max-width: 834px) {
  .txt_wrap .righttxt {
    position: static;
    width: 100%;
    min-height: 100%;
  }
}
.txt_wrap .righttxt .txtinner {
  display: table-cell;
  vertical-align: middle;
}
@media all and (-ms-high-contrast: none) {
  .txt_wrap .righttxt {
    right: 15%;
  }
}

.table_wrap2 {
  max-width: 1100px;
  margin: 30px auto 0;
}
.table_wrap2 img {
  width: 100% !important;
}
.table_wrap2 .box1 {
  background: #181818;
  padding: 20px !important;
}
.table_wrap2 .box1 b {
  display: inline-block;
  margin: 10px 0;
}
.table_wrap2 .box1 p {
  display: inline-block;
}

.img_wrap {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 834px) {
  .img_wrap {
    margin: 50px 0 0;
  }
}

/* 3列 */
.wrap1 {
  margin-left: -3.0303030303% !important;
}
@media screen and (max-width: 640px) {
  .wrap1 {
    margin-left: 0% !important;
  }
}
.wrap1 .box1 {
  float: left !important;
  width: 30.303030303% !important;
  margin-left: 3.0303030303% !important;
}
@media screen and (max-width: 640px) {
  .wrap1 .box1 {
    margin-left: 0 !important;
  }
}

#disnone {
  display: none;
}

/* title */
.h1wrap h1 {
  background: #181818;
  line-height: 100px;
  font-size: 30px;
}
@media screen and (max-width: 834px) {
  .h1wrap h1 {
    font-size: 11px;
    font-size: 3.4375vw;
  }
}
@media screen and (max-width: 640px) {
  .h1wrap h1 {
    font-size: 15px;
    font-size: 4.6875vw;
  }
}

h1.h1title {
  font-size: 30px;
}
@media screen and (max-width: 834px) {
  h1.h1title {
    font-size: 11px;
    font-size: 3.4375vw;
  }
}
@media screen and (max-width: 640px) {
  h1.h1title {
    font-size: 15px;
    font-size: 4.6875vw;
  }
}

h2.h2title {
  font-size: 25px;
}
@media screen and (max-width: 834px) {
  h2.h2title {
    font-size: 11px;
    font-size: 3.4375vw;
  }
}
@media screen and (max-width: 640px) {
  h2.h2title {
    font-size: 15px;
    font-size: 4.6875vw;
  }
}

/* common */
.pankuzu {
  margin: 5px 0;
  font-size: 13px;
}
.pankuzu ul li {
  float: left;
  margin-right: 10px;
}
.pankuzu ul li a {
  text-decoration: none;
  color: #fff;
}
.pankuzu ul li a .pantitle {
  color: #fff;
}

.imgborder img {
  border: 1px solid #222 !important;
}

.txt_border {
  border: 1px solid #fff;
  padding: 30px;
}/*# sourceMappingURL=common.css.map */