* {
  box-sizing: border-box;
}

body {
  font-family: Noto Serif JP, serif;
  font-size: 16px;
  background-color:#000000;
  color:#ffffff;
  margin: 0; /* Removes all margins */
}
p {
  text-indent: 20px;
  margin: 0; /* Removes all margins */
}


a,a:visited {
  color: #ffffff;
  font-decoration: underline;
}

a,a:hover {
  color: #ff0000;
  font-decoration: underline;
}

.redacted {
  background-color: #ffffff;
  color: #ffffff;
  
  line-height: 1;
  white-space: nowrap; /* Prevent text from wrapping */
}
h1 {
font-family: Noto Sans JP, sans-serif;
font-weight:900;
font-size:34px;
line-height: 1.5;
}

h2 {
font-family: Noto Sans JP, sans-serif;
font-weight:900;
font-size:27px;
line-height: 1.5;
}



#menuImage { /* Default image styles */ } 

#menuImage:hover { 
filter: hue-rotate(#ff0000); 
transform: scale(1.0);
opacity: 0.3;

cursor: pointer; 

}



/* Style the header */
.header {
  background-color: #f1f1f1;
  padding: 30px;
  text-align: center;
  font-size: 35px;
}

/* Create three unequal columns that floats next to each other */
.column {
  float: left;
  padding: 10px;

}

/* Left and right column */
.column.side {
  width: 15%;
}

/* Middle column */
.column.middleB {
  max-width: 600px;
  width: 70%;
  word-wrap: break-word;
  white-space: normal;
  padding: 10px 10px 10px 0px;
  margin: 0 auto; /* Center the column */
}

.column.middleB h1, p {
  color: #ffffff;
}

/* Middle column */
.column.middleB1 {
  width: 20%;
  word-wrap: break-word;
  white-space: normal;
  padding: 10px 0px 10px 0px;
  margin-left: 20px;
}

/* Middle column MENU */
.column.middleT {
 padding-top: 100px;
  width: 65%;
  word-wrap: break-word;
white-space: normal;
}

/* Middle column MENU */
.column.middleTITLE {
 padding-top: 10px;
  width: 70%;
  word-wrap: break-word;
white-space: normal;
font-size:20pt; 
font-weight:900;
 text-align: center;
}


.column.middle1 img {
  max-width: 100%;
  height: auto;
  text-align: center;
}



/* Container for fixed top columns */
.fixed-top-columns {
  position: fixed;
  top: 0; /* Place it at the top of the viewport */
  left: 0; /* Align it to the left of the viewport */
  width: 100%; /* Span the entire viewport width */
  height: 85px; /* Set your desired height here */
  display: flex; /* Use flexbox for layout */
 background-color: none;  
  color: #fff; /* White text color */
}

/* Individual fixed column styles */
.fixed-top-columns .column {
  word-wrap: break-word;
  white-space: normal;
  font-family: "Noto Sans JP", sans-serif; /* Noto Sans JP font */
  align-items: center;  /* Vertically center content */
}

/* Side columns */
.fixed-top-columns .column.side {
  width: 15%; /* 15% width */
}

/* Left-aligned column */
.fixed-top-columns .column.left {
  width: 15%; /* Adjust width as needed (total should be 100%) */
  text-align: left;
}

/* Center-aligned column */
.fixed-top-columns .column.center {
  width: 40%; /* Adjust width as needed (total should be 100%) */
  text-align: center;
}


.column.center {
  text-align: center;  /* Horizontal centering */
  display: flex;       /* Enable flexbox layout */
  justify-content: center;  /* Center content horizontally within the column */
  align-items: center;  /* Center content vertically within the column */
}


.column.left {
  text-align: left;  /* Horizontal centering */
  display: flex;       /* Enable flexbox layout */
  justify-content: left;  /* Center content horizontally within the column */
  align-items: center;  /* Center content vertically within the column */
}

.column.right {
  text-align: right;  /* Horizontal centering */
  display: flex;       /* Enable flexbox layout */
  justify-content: right;  /* Center content horizontally within the column */
  align-items: center;  /* Center content vertically within the column */
}



.column.center a {
  /* Additional styles for the anchor link (optional) */
  text-decoration: none; /* Remove underline */
  color: inherit;        /* Inherit color from parent (assuming it's black) */
}





/* Right-aligned column */
.fixed-top-columns .column.right {
  width: 15%; /* Adjust width as needed (total should be 100%) */
  text-align: right;
}

/* Style anchor links within the fixed columns (white color) */
.fixed-top-columns a {
  color: #fff;
  text-decoration: none; /* Remove underline */
}


/* Clear floats after the columns */
.row:after {
  content: "";
  display: table;
  clear: both;
}

.row0:after {
  content: "";
  display: table;
  clear: both;
  /* background-color: #000; */
}



.footer {
width:100%;
  background-color: #000000; /* Black background */
  color: #fff; /* White text color */
  text-align: left; /* Center text horizontally */
  vertical-align: middle; /* Vertically align content in the middle */
  padding: 10px; /* Add some padding for spacing */
}

.footer a {
  color: inherit; /* Inherit the white color from the footer */
  text-decoration: none; /* Remove underline from links */
}

.footer a:hover {
  color: red; /* Change link color to red on hover */
}



.row1 {
  display: flex;
  justify-content: center;
}

/* Media query for mobile devices (adjust the breakpoint as needed) */
@media (max-width: 768px) {
  .row1 {
    flex-direction: column; /* Stack columns on mobile */
    align-items: center;   /* Center content vertically on mobile */
  }
  
  .column.side {
    /* Optional: Adjust styles for side columns on mobile */
  }
}


/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */
@media (max-width: 768px) {
  .column.side, .column.middle, .column.middle1, .column.middle0, .column.middle00, .column.middleT, middleT, .column.middleB {
    width: 100%;
    flex-direction: column; /* Stack columns on mobile */
  }

  .column.side {
    width: 1%; /* Ensure the side column remains visible */
  }

  .column.middle1, .column.middleT, middleT {
    padding: 0 5%; /* Set padding as a percentage of the width */
  }
}

/* Media query for mobile */
@media (max-width: 768px) {
  .my-middle-column.column.middleT, .column.middleB, .my-middle-column.middleT {
    width: 100%;
    flex-direction: column; /* Stack columns on mobile */
  }

  .my-middle-column.column.middle1, .my-middle-column.middleT, .my-middle-column middleT, .column.middleB {
    padding: 70px 5%; /* Set padding as a percentage of the width */
  }
}

@media (max-width: 768px) {
  .column.middleB {
    margin: 0; /* Remove left and right margins */
  }
}





.centered-section {
  display: flex;
  flex-direction: column; /* Stack elements vertically */
  align-items: center; /* Center elements horizontally */
  margin: 0 auto; /* Add margins for auto-centering */
  width: fit-content; /* Optional: Set width to content */
  padding: 20px;
  border: 0px solid #ddd; /* Optional: Add a border */
}

.case-studies {
  list-style-type: none; /* Remove default list bullets */
  padding: 0; /* Remove default list padding */
  margin: 0; /* Remove default list margins */
  font-size: 18px;
}

.case-studies li {
  margin-bottom: 15px; /* Add spacing between list items */
}

.case-studies a {
  text-decoration: none; /* Remove default link underlines */
  color: #333; /* Set link text color */
  font-weight: none; /* Make link text bold */
}

.case-studies a:visited {
  text-decoration: none; /* Remove default link underlines */
  color: #333; /* Set link text color */
  font-weight: none; /* Make link text bold */
}

.case-studies a:hover {
  text-decoration: none; /* Remove default link underlines */
  color: #336655; /* Set link text color */
  font-weight: none; /* Make link text bold */
}

.case-studies li::before {
  content: "▶"; /* Arrow point character */
  font-size: 12px; /* Adjust arrow point size */
  margin-right: 10px; /* Add spacing between arrow point and link text */
}



.link-list {
  text-align: center; /* Center the content within the div */
}

.link-list ul li a { /* Apply styles to anchor links within the div */
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  text-decoration: none;
  color: black;
}

.link-list ul li a:hover { /* Styles applied on hover */
  color: red;
}


hr {
  border: 0; /* Remove default border styles */
  height: 1px; /* Set desired height for the line */
  background-color: #cccccc; /* Set the color to #cccccc */
}




 /* The Overlay (background) */
.overlay {
  /* Height & width depends on how you want to reveal the overlay (see JS below) */   
  height: 100%;
  width: 0;
  position: fixed; /* Stay in place */
  z-index: 1; /* Sit on top */
  left: 0;
  top: 0;
  background-color: rgb(0,0,0); /* Black fallback color */
  background-color: rgba(0,0,0, 0.9); /* Black w/opacity */
  overflow-x: hidden; /* Disable horizontal scroll */
  transition: .3s; /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
}

/* Position the content inside the overlay */
.overlay-content {
  position: relative;
  top: 25%; /* 25% from the top */
  width: 100%; /* 100% width */
  text-align: center; /* Centered text/links */
  margin-top: 20px; /* 30px top margin to avoid conflict with the close button on smaller screens */
}

/* The navigation links inside the overlay */
.overlay a {
  padding: 8px;
  text-decoration: none;
  font-size: 16px;
  color: #818181;
  display: block; /* Display block instead of inline */
  transition: 0.8s; /* Transition effects on hover (color) */
}

/* When you mouse over the navigation links, change their color */
.overlay a:hover, .overlay a:focus {
  color: #ccff00;
}

/* Position the close button (top right corner) */
.overlay .closebtn {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 60px;
}

/* When the height of the screen is less than 450 pixels, change the font-size of the links and position the close button again, so they don't overlap */
@media screen and (max-height: 450px) {
  .overlay a {font-size: 20px}
  .overlay .closebtn {
    font-size: 40px;
    top: 15px;
    right: 35px;
  }
} 




/* Center the loader */
#loader {
  position: absolute;
  background-color:#722f37; 
color: #fff; 

  flex-direction: column; 
  z-index: 1;
  width: 100%;
  height: 100%;
    

  /* OR */
  display: flex; /* For more control */
   align-items: center;  /* Vertical centering */
  justify-content: center; /* Horizontal centering */
  
}


#loader p { /* Styles for the text content within #loader */
  color: #fff; /* White color */
  font-family: Arial, sans-serif; /* Or your preferred font */
  font-size: 30px;
  text-align: center; /* Optional: Center text horizontally (redundant with justify-content) */
   margin-top: 10px; /* Add space between image and text */
}


#loader {
  /* Existing styles... */
  opacity: 1; /* Initially visible */
  transition: opacity 0.5s ease-in-out;
}

#loader.hidden {
  opacity: 0; /* Hidden state */
}





@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* Add animation to "page content" */
.animate-bottom {
  position: relative;
  -webkit-animation-name: animatebottom;
  -webkit-animation-duration: 1s;
  animation-name: animatebottom;
  animation-duration: 1s
}

@-webkit-keyframes animatebottom {
  from { bottom:-100px; opacity:0 } 
  to { bottom:0px; opacity:1 }
}

@keyframes animatebottom { 
  from{ bottom:-100px; opacity:0 } 
  to{ bottom:0; opacity:1 }
}



#myDiv {
  /* padding: 10px; /* Example for padding demonstration */
  margin: 0px 5%; /* margin-top: 10px; margin-right: 5%; margin-bottom: 10px; margin-left: 5%; */
}



#myBtn {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  font-size: 18px;
  border: none;
  outline: none;
  background-color: #000000;
  color: white;
  cursor: pointer;
  padding: 15px;
  border-radius: 4px;
}

#myBtn:hover {
  background-color: #555;
}


.hero {
  position: relative; /* Ensures h1 stays on top of video */
  top: 0;
  height: 80px;
  width: 100%;
}

.hero video {
  position: absolute;
   filter: grayscale(100%);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* Ensures video fills the section */
opacity: 1; 
}

.hero h1 {
  color: #cccccc; /* Example text color, adjust as needed */
  text-align: center; /* Centers text horizontally */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);  /* Centers text vertically */
  font-size: 2em; /* Example font size, adjust as needed */
  font-family: Noto Sans JP, sans-serif;
  margin: 0; /* Removes default margin */
}

.hero h2 {
  color: #cccccc; /* Example text color, adjust as needed */
  text-align: center; /* Centers text horizontally */
  position: absolute;
  top: 65%;
  left: 50%;
  transform: translate(-50%, -50%);  /* Centers text vertically */
  font-size: 1em; /* Example font size, adjust as needed */
  font-family: Noto Sans JP, sans-serif;
  margin: 0; /* Removes default margin */
}

.hero p {
  color: #cccccc; /* Example text color, adjust as needed */
  text-align: center; /* Centers text horizontally */
  
}
