@charset "utf-8";
body {
    /*overflow: hidden;*/
    min-width: 0;
    padding-top: 100vh;
    background: #fff;
}
main {
	background: #fff;
  width: 100%;
  max-width: 100%;
}
#Header {
    background: transparent;
}
#Header.pc {
  display: block;
}
#Header.sp {
  display: none;
}
#Header .logotop a {
    background: url(../images/common/logo_home.png) no-repeat center;
  }
footer {
	/*background: #fff;*/
}
#mainimage {
  position: fixed;
	z-index: -1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    min-height: 600px;
}
#mainvideo {
	position:fixed;
	top:0;
	padding-top:15px;
	width: 100%;
	z-index:9999;
	transition: background-color 0.5s ease;
}
.home #Mainvisual {
    z-index: 0;
}
#Header.scrolled {
	background:rgba(0,0,0,0.5);
}

#mainimage video {
  position: absolute;
    top: 0;
    left: 0;
    height: inherit;
    min-height: inherit;
    width: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}
#subtitle {
	  font-family: '游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif;
      position: absolute;
      top: 50%;
      left: 0;
	  z-index:2;
      width: 100%;
      text-align: center;
      font-size: 64px;
      color: white;
      text-shadow: 1px 1px 3px black;
	  transition: opacity 1s ease;
}
#subtitle .multi_lines {
	transform: translateY(-20%)
}
#subtitle .text101{
	color: #EF6F00;
}

.fade-in {
  opacity: 0;
  animation: fadeIn 2s forwards;
}
#subtitle br.sp {
		display:none;
	}
.top-illust {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}
.top-illust img {
  width: 100%;
}
@keyframes fadeIn {
  from { opacity: 0;transform: translateX(-50%); }
  to   { opacity: 1;transform: translateX(0%); }
}
.bnrhome02  video {
    width: 100%;
}
.bnr_rotec {
  display: none;
}
.bnr_rotec.show {
  display:block;
}
.rotate, .rotate2 {
  width: 100%;
}
#company th {
    padding: 20px 0;
    width: 20%;
    font-weight: 700;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
}
#company td {
    padding: 20px 15px;
    border-bottom: 1px solid #000;
}
#company .col-sm-6 {
    float: left;
    width: 50%;
    padding-right: 15px;
    padding-left: 15px;
    margin: 0;
    border: 0;
    outline: 0;
    list-style-type: none;
    font-weight: normal;
    box-sizing: border-box;
}
#company .row {
    margin-right: -15px;
    margin-left: -15px;
}
#company table {
    width: 100%;
    font-size: 14px;
}
#company ul.link {
    text-align: center;
    margin-top: 30px;
}
#company ul.link li {
    display: inline;
}
#Footer .sns.pc {
    display: block;
}
#Footer .sns.sp {
    display: none;
}

@media (max-width: 1100px) {
  body {
  min-width: 0;
  }
   #Header.pc {
    display: none;
    }
    #Header.sp {
    display: block;
    }
  .wrapper {
  max-width: 1200px;
  width: 100%;
  }
	#mainvideo {
		padding-top:0;
	}
	
	#subtitle {
		font-size: 48px;
	}
	#subtitle br.sp {
		display:block;
	}
	#subtitle .multi_lines {
		font-size: 32px;
	}
  #Header {
    z-index: 9999;
    width: 100%;
    height: auto;
    max-height: 45px;
}
#Header img {
    max-width: 100%;
}
  #Header .logotop a {
    width: 38%;
    margin: 3.5% 2%;
    text-indent: -9999px;
    float: left;
    background-size: contain;
  }
#HeaderRight {
    width: 13%;
    float: right;
    text-align: right;
    margin: 0;
    overflow: hidden;
  }
  /* SIDEBAR */
.menu_wrap {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  position: absolute;
  top: 45px;
  left: 0;
  z-index: 9999;
  width: 100%;
}

#menu-toggle:checked + .menu-icon + .menu_wrap {
  max-height: 1000px; /* メニューの高さに合わせて調整 */
}

.menu_wrap ul {
  margin: 0;
  padding: 10px 0;
  list-style: none;
}
.menu_wrap ul .sub-menu {
  margin: 0 -20px;
}
.menu_wrap li {
  padding: 10px 20px;
  /* border-bottom: 1px solid #ccc;*/
}

.menu_wrap a {
  color: #fff;
  text-decoration: none;
  display: block;
}
.menu {
    background: rgba(0, 0, 0, 0.8);
    padding-top: 10%;
    z-index: 999;
}
#Footer .footnav {
  float: none;
  margin-bottom: 30px;
}
#howto li {
  float: none;
  margin: 0 0px 30px;
}
.f-logo img {
  width: auto;
}

.bxslider,
.bxslider li,
.bxslider li img {
  width: 100%;
  height: auto;
  display: block;
  box-sizing: border-box;
}
.home #news dt {
  float: none;
  border: none;
  margin-bottom: 5px;
}
#insta {
  width: 100%;
}
#instagram .col {
  width: calc(50% - 15px)!important;
  margin-bottom: 10px;
}
#instagram .col:first-child {
  margin-left: 10px;
}
#fcontact {
  padding: 0;
}
#fcontact .wrapper {
  padding:5%;
}
#fcontact dt {
  margin-right: 0;
}
#fcontact dt img {
  margin-bottom: 20px;
}
#fcontact img {
  width: 100%;
}
#howto .wrapper {
  padding: 5%;
  margin-bottom: 0;
}
#howto ul li img {
  width: 100%;
}
.home .bnrhome li {
  width: 94%;
  padding: 1.5% 3%;
}
.bnrhome ul li img {
  width: 100%;
}
#company .col-sm-6 {
    float: none;
    width: 100%;
}
.bnrhome02 {
    text-align: center;
    /*position: relative;
    left: -13%;*/
}
#company .photo {
    position: relative;
    left: -13%;
}
#company ul.link li {
    display: block;
    margin-top: 10px;
}
#case .box {
    width: 100%;
    margin: 0 0 28px;
}
#case img {
    width: 100%;
}
#Footer p.f-logo {
    position: static;
    text-align: center;
    margin-bottom: 20px;
}
#Footer #Copyright {
    width: auto;
    text-align: center;
    margin-bottom: 30px;
}
#Pagetop {
    float: none;
}
#Pagetop a {
    margin: 0 auto;
}
#Footer {
    padding-bottom: 114px;
}
#Footer .sns {
    float: none;
    text-align: center;
    margin: 0 0 30px 0;
}
#Footer .sns.pc {
    display: none;
}
#Footer .sns.sp {
    display: block;
}
#Footer .sns li {
    display: inline;
    float: none;
    margin:0;
}
.bnr_rotec {
    left: 0;
    top: auto;
    bottom: 0;
}
}
@media (max-width: 767px) {
   .bnrhome02 {
    position: relative;
}
#company .photo img {
    left: 50%;
    transform: translate(-50%, 0%);
}
.bnrhome02 video {
    width: auto;
    position: relative;
    left: 50%;
    transform: translate(-50%, 0%);
}
}