/*

*/

html {
	scroll-behavior: smooth;
}

body {
  font-family:"Zen Old Mincho", serif;
  font-size: 14px;
  color: #626262;
  overflow-x: hidden;
}

textarea {
  font-family: "Zen Old Mincho", serif;
}

a:hover {
  text-decoration: none;
}

.tm-footer-link {
  color: #626262;
}

button {
  border: none;
}

a,
button {
  cursor: pointer;
}

h2 {
  font-size: 20px;
}

h3 {
  font-size: 18px;
}

p {
  line-height: 1.5;
  margin-bottom: 35px;
}

p:last-child {
  margin-bottom: 0;
}

.tm-page-header {
  color: #444444;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 45px;
}

.tm-nav-section {
  position: absolute;
  top: 158px;
  left: 0;
  width: 100%;
  border-top: 1px solid #909090;
  border-bottom: 1px solid #909090;
  background-color: white;
  z-index: 3000;
}

.tm-nav-section.sticky {
  position: fixed;
  top: 0;
  border-top: none;
  background: white;
}

.navbar-expand-md .navbar-nav .nav-link {
  padding: 10px 35px;
}

.navbar-light .navbar-nav .nav-link {
  color: #313131;
}

#tmMainNav .nav-link.current,
#tmMainNav .nav-link:hover {
  color: #0a396c;
  background: #eaeaea;
}

.navbar-light .navbar-toggler {
  background-color: white;
}

.navbar {
  padding-top: 3px;
  padding-bottom: 3px;
}

.tm-navbar-nav {
  font-size: 12px;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  max-width: 930px;
}

.tm-banner-section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  overflow: hidden;
  margin-top: 66px;
}

.tm-banner-section video {
  position: absolute;
  left: 50%;
  top: 60%;
  transform: translate(-50%, -60%);
  min-width: 100%;
  min-height: 100%;
}

.tm-banner-text-container {
  position: relative;
  z-index: 1000;
  color: white;
  text-align: center;
  max-width: 520px;
}

.tm-banner-title {
  font-size: 90px;
  font-weight: 600;
  margin-bottom: 40px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.tm-banner-subtitle {
  font-size: 18px;
  font-weight: 300;
  max-width: 500px;
  text-shadow: 2px 2px 2px #333;
}

.tm-features-section {
  padding-top: 50px;
  padding-bottom: 85px;
  margin-top: 50px;
}

.tm-features-row {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.tm-feature-block {
  margin-bottom: 40px;
}

.tm-feature-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #5f5f5f;
  margin-bottom: 55px;
}

.tm-feature-h {
  font-size: 18px;
}

.tm-feature-icon {
  margin-right: 30px;
}

#activities {
  padding-top: 50px;
}

.tm-parallax {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 240px;
  background-image: url(../img/img-activities.jpg);
  margin-bottom: 68px;
  position: relative;
}

.tm-parallax-header {
  background: rgba(0, 0, 0, 0.7);
  width: 100%;
  height: 100%;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tm-text-blue {
  color: #0a396c;
}

.tm-activity-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 1px solid #c7c7c7;
  padding: 30px 20px;
  margin-bottom: 38px;
}

.tm-activity-block-text {
  padding-left: 24px;
  padding-right: 24px;
}

.tm-activity-block-text h3 {
  margin-bottom: 20px;
}

.tm-activity-img-container {
  width: 100%;
  height: 180px;
}

.tm-company-section {
  padding-top: 53px;
}

.tm-company-about {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.tm-company-about-text {
  padding: 35px;
}

.tm-company-about-header {
  margin-bottom: 28px;
}

.tm-company-img-container img {
  width: 100%;
  height: auto;
}

.tm-btn {
  border: 1px solid #c6c6c6;
  border-radius: 0;
  background-color: transparent;
  color: #6c6c6c;
  padding: 10px 30px;
}

.tm-btn-big {
  font-size: 12px;
  padding: 12px 40px;
}

.tm-btn:hover {
  color: #5e5e5e;
  background-color: #eaeaea;
}

.tm-float-right {
  float: right;
}

.tm-company-right-inner {
  border: 1px solid #c7c7c7;
}

.nav-tabs .nav-link {
  border-radius: 0;
  border: none;
  padding-top: 20px;
  padding-bottom: 20px;
  font-size: 15px;
  color: #5e5e5e;
  background-color: #eaeaea;
}

.nav-tabs .nav-link.tm-no-border-right {
  border-right: none;
}

#tmCompanyTab .nav-item {
  width: 50%;
  text-align: center;
}

#tmCompanyTab .nav-link {
  border-bottom: 1px solid #c7c7c7;
}

#tmCompanyTab .tm-nav-link-border-right {
  border-right: 1px solid #c7c7c7;
}

#tmCompanyTab .nav-item.show .nav-link,
#tmCompanyTab .nav-link.active {
  border-bottom: none;
}

#tmTabContent {
  padding: 45px 45px 60px;
}

.nav-tabs {
  border-bottom: none;
}

.tm-contact-section {
  padding-top: 50px;
  margin-top: 40px;
  padding-bottom: 90px;
}

.tm-contact-left {
  margin-bottom: 30px;
}

.tm-contact-figure-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}

figure {
  max-width: 100%;
}

.tm-contact-figcaption {
  margin-top: 27px;
  max-width: 600px;
}

.tm-contact-form-container {
  max-width: 362px;
  text-align: right;
}

.tm-contact-header {
  margin-bottom: 40px;
}

.form-control {
  border-radius: 0;
  padding: 14px;
  height: auto;
}

.tm-footer {
  margin-bottom: 40px;
}

.tm-footer-row {
  align-items: center;
}

.scroll {
  background: rgba(222, 226, 230, 0.39);
  padding: 18px 20px 10px;
  text-align: center;
  margin: 0 0 0 auto;
  cursor: pointer;
  transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  width: 65px;
  height: 60px;
}

.scroll:hover {
  background: rgba(178, 178, 178, 1);
  transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
}

.scroll:hover .fa {
  padding-top: -10px;
}

.scroll .fa {
  font-size: 30px;
  margin-top: -5px;
  margin-left: 1px;
  transition: 0.5s;
  -moz-transition: 0.5s;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
}

.tab-pane.fade {
  transition: opacity 0s linear;
}

@media (min-width: 768px) {
  .tm-feature-block {
    margin-bottom: 0;
  }
}

@media (min-width: 992px) {
  .tm-activity-block {
    max-width: 582px;
  }

  .tm-company-about {
    flex-direction: column;
    align-items: center;
  }

  .tm-contact-left {
    margin-bottom: 0;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1233px;
  }

  .tm-company-about {
    flex-direction: row;
    align-items: flex-start;
  }

  .tm-company-about-text {
    padding: 0 35px 35px;
  }

  .tm-company-left {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 68%;
    flex: 0 0 68%;
    max-width: 870px;
  }

  .tm-company-right {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 32%;
    flex: 0 0 32%;
    max-width: 380px;
  }

  .tm-contact-left {
    padding-right: 0;
  }

  .tm-contact-right {
    padding-left: 0;
  }
}

@media (max-width: 767px) {
  .navbar-toggler {
    margin-left: auto;
    margin-right: 0;
  }

  .navbar {
    text-align: center;
    padding: 3px 0;
    margin-right: 0;
    margin-left: auto;
  }

  #tmMainNav {
    background: white;
    border: 1px solid #c6c6c6;
  }

  .navbar-light .navbar-toggler {
    border-radius: 0;
  }

  .scroll {
    margin: 20px auto 0;
  }

  .tm-banner-section video {
    top: 50%;
    transform: translate(-50%, -50%);
  }
}

@media (max-width: 540px) {
  .tm-activity-block {
    flex-direction: column;
  }

  .tm-activity-block-text {
    margin-top: 20px;
  }
}

@media (max-width: 440px) {
  .tm-features-section {
    padding-top: 60px;
    padding-bottom: 55px;
	  margin-top: 0px;
  }

  .tm-contact-section {
    padding-top: 70px;
    padding-bottom: 60px;
  }
}

@media (min-width: 767px) and (max-width: 992px) {
  .navbar-expand-md .navbar-nav .nav-link {
    padding: 10px 15px;
  }
}


/* table01 */

#table01 {
  border-collapse: collapse !important;
  margin: 0 auto;
	width: 100%;
}

#table01 tr {
  border-bottom: 1px solid #333333 !important;
}

#table01 th,
#table01 td {
  padding: 15px 0;
  border: none;
  text-align: left !important;
}

#table01 th {
  width: 30%;
  text-align: left !important;
	font-weight: 500;
}


#table01 li {
	list-style: decimal-leading-zero !important;
	text-align: left !important;
}
#table01 ul {
	padding-inline-start: 30px  !important;
}

@media handheld, only screen and (max-width: 991.98px) {
	.br-sp {
		display: none;
	}
	
	  #table01 th,
	  #table01 td {
		width: 100%;
		display: block;
		padding: 20px 0;
	  }

	  #table01 th {
		width: 100%;
	  }

	  #table01 td {
		padding-top: 0;
	  }
	
	.title-sp h1{
		text-align: center !important;
		line-height: 3rem !important;
	}
	
	.top-li {
		width: 100% !important;
		margin: 0 auto !important;
	}
	
	.tm-banner-title {
	  font-size: 40px;
	  font-weight: 600;
	  margin-bottom: 40px;
	  font-family: "Zen Kaku Gothic New", sans-serif;
	}
	
	.mt-sp-50 {
		margin-top: 120px !important;
	}
	
}

@media screen and (min-width:1024px) {
	.br-pc {
		display: none;
	}
	
	.mt-50-pc {
		margin-top: 50px !important;
	}
	
	.top-li {
		width: 500px;
		margin: 0 auto !important;
	}
	
	.img-01 img {
		height: 400px !important;
		width: 500px !important;
		object-fit: cover;
	}
	
	.img-02 img {
		height: 600px !important;
		width: 500px !important;
		object-fit: cover;
	}
}

.mt-ex {
	margin-top: -100px !important;
	padding-top: 100px !important;
}

.orange {
	color: #f6bb51 !important;
}

.cyan {
	color: #94d2db !important;
}

.mt-50 {
	margin-top: 50px !important;
}

.mt-100 {
	margin-top: 100px !important;
}

.logo img {
	height: 50px !important;
	width: auto !important;
}

.logo2 img {
	height: 40px !important;
	width: auto !important;
	display: none;
	
}


.logo2-ex img {
	display: initial !important;
}

.logo2 {
	margin-top: 10px;
	margin-bottom: 10px;
}

.center h3 {
	margin: 0 auto !important;
	padding: 0 auto !important;
	line-height: 1.5em !important;
	font-size: 20px;
	
}

.center h2 {
	margin: 0 auto !important;
	padding: 0 auto !important;
	line-height: 1.5em !important;
	font-size: 30px;
	display: inline-block;
    position: relative;
}

.center h2:before {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -10px; /*下線の上下位置調整*/
	display: inline-block;
	width: 50px; /*下線の幅*/
	height: 2px; /*下線の太さ*/
	-moz-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translate(-50%); /*位置調整*/
	background-color: #666666; /*下線の色*/
}

.top-li li {
	font-size: 15px;
	list-style-type: square;
	margin-bottom: 15px;
}

.p-ex p {
	margin-bottom: 10px;
}

a {
    color: #0a396c !important;
}

.form-control {
    font-size: 12px !important;
}

.tm-activity-img-container img {
	height: 180px !important;
	width: 100% !important;
	object-fit: cover;
	object-position: 50% 15% !important;
}

.d-inline-block img {
	height: 400px !important;
	width: 600px !important;
	object-fit: cover;
}

.c-ex {
	text-align: center !important;
	margin-bottom: 50px !important;
}

.nav-item a {
    font-size: 15px !important;
}