@charset "UTF-8";

/* 基本 */
root {
  -v-space: clamp(90px, 9vw, 120px);
}
body {
  margin: 0;
  background-color: #eeeeee;
  color: #222222;
  font-family: sans-serif;
}
section .w-container{
  height:100vh;
  background-image: url("img/photo01.jpg");
  background-repeat: no-repeat;
  background-position: top;
  background-size: cover;
  background-attachment: inherit;
}
.content {
  background-color: rgba(0, 0, 0, 0.2); /* ここでオーバーレイの色と透明度を設定 */
}
.form{
  width: 92%;
}
h1, h2, h3, h4, h5, h6, p, figure, ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
p {
  line-height: 1.8;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover {
  filter: brightness(90%) contrast(120%);
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* 横幅と左右の余白 */
.w-container1{
  width: min(96%,1166px);
  margin: auto;
}
.w-container {
  width: min(90%, 1166px);
  margin: auto ;
}

/* ヘッダー */
.header {
  position: sticky;
  top:0;
  z-index: 10;
  height: 72px;
  background-color: #ffffff;
}
.header-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
.header-container h3{
  font-size: clamp(14px,3vw,24px);
}

/* ナビゲーションボタン */
.navbtn {
  padding: 0;
  outline: none;
  border: none;
  background: transparent;
  cursor: pointer;
  color: #aaaaaa;
  font-size: 30px;
}
.open .navbtn {
  z-index: 110;
  color: #ffffff;
}
.navbtn .fa-bars {
  display: revert;
}
.open .navbtn .fa-bars {
  display: none;
}
.navbtn .fa-times {
  display: none;
}
.open .navbtn .fa-times {
  display: revert;
}

@media (min-width: 768px) {
  .navbtn {
    display: none;
  }
}

/* ナビゲーションメニュー：モバイル */
@media (max-width: 768px) {
  .nav {
    position: fixed;
    inset: 0 -100% 0 100%;
    z-index: 100;
    background-color: #4e483ae6;
    transition: transform 0.3s;
  }
  .open .nav {
    transform: translate(-100%, 0);
  }
  .open body {
    position: fixed;
    overflow: hidden;
  }
  .nav ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 100%;
    gap: 40px;
    color: #ffffff;
  }
}

/* ナビゲーションメニュー：PC */
@media (min-width: 768px) {
  .nav ul {
    display: flex;
    gap: 30px;
    color: #707070;
  }
}

/* top */
.top {
  height: 100vh;
/*	background-image: url("img/photo01.jpg");*/
  background-position: center;
  background-size: cover;
}
.top-container {
  width: 95%;
  color: #ffffff;
  display: grid;
  justify-items: center;
  align-content: center;
  height: 100%;
  font-weight: 400;
}
.content-form{
  display: grid;
}

.table{
  color: #ffffff;
  width: 0.92vw,150px;
  font-size:clamp(10px,3vw,14px);
  background-color: #ffffff;
  padding-left: 20px;
}
.content-form{
  font-size:clamp(13px,2vw,15px); 
  color: #FFFFFF;
}
tr{
  align-items: center;
}
@media(max-width: 768px){
  th{
    width: 115px;
    font-size: 11px;
  }
  td{
    font-size: 11px;
  }
  .content h2 {
    margin-left: 40px !important;
  }
}
@media(min-width: 768px){
  th{
    width: 150px;
    font-size: 14px;
  }
  td{
    font-size: 14px;
  }
}
th{
  text-align: left;
  text-decoration: none;
  text-shadow: 1px 1px 1px #000000;
}
td{
  text-shadow: 1px 1px 1px #000000;
}
.top h1 {
  margin-bottom: 0px;
  margin-left: 30px;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(24px, 5vw, 48px);
  min-height: 0vw;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  padding-bottom: 20px;
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.7);
}
.content h2 {
  margin-left: 0px;
  margin-bottom: 0px;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(18px, 3vw, 24px);
  min-height: 0vw;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
}
h2 {
  margin-left:0px;
  margin-bottom: 0px;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(18px, 3vw, 24px);
  min-height: 0vw;
  font-weight: 400;
  line-height: 1.3;
  text-align: left;
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.7);
}
.top h3 {
  margin-bottom: 0px;
  font-family: "Montserrat", sans-serif;
  font-size: clamp(12px, 3vw, 24px);
  min-height: 0vw;
  font-weight: 400;
  text-shadow:1px 1px 2px #ffffff;
  line-height: 1.3;
  text-align: center;
  padding-bottom : 20px;
}
.top .red{
  color: rgba(252,1,21,1.00)
}
.top .blue{
  color:#0802F9;
}
.top .black{
  color: #000000;
}
.top .glay{
  color: #515151;
  font-size: clump(6px, 2vw, 14px);
}
.top h3{
  margin-bottom: 40px;
}
.top-sub {
  margin-top: 20px;
  padding-right: 10px;
  padding-left: 10px;
}
.top-sub li{
  text-shadow:1px 1px 2px #222;
  font-weight: 500;
  text-align: left;
  margin-bottom: 10px;
  font-size: clump(6px, 0.1vw, 18px);
  list-style-type: none;
  padding: 0 10px 0 10px;
  margin: 0;
  line-height: 2em;
  background-color: rgba(0, 0, 0, 0.2);
}

/* ボタン */
.btn {
  display: block;
  width: 260px;
  padding: 10px;
  font-size: 18px;
  text-align: center;
}

@media (min-width: 768px) {
  .imgtext-container {
    flex-direction: row;
    align-items: center;
  }

  .imgtext-container.reverse {
    flex-direction: row-reverse;
  }

  .imgtext-container > .text {
    flex: 1;
    min-width: 17em;
    }

  .imgtext-container > .img {
    flex: 2;
  }
}

@supports not (aspect-ratio: 3 / 2) {
  .post img {
    height: 180px;
  }
}

/* フッター */
footer{
  position: fixed;
  bottom: 0px;
  width: 100%;
  z-index: 20;
}
.footer {
  padding:  0;
  background-color: #ffffff;
  color: #707070;
  font-size: 13px;
}

.footer-container {
  display: flex;
  justify-content: space-between;
  align-items: center
  }
.footer-container a {
  font-size: 12px;
  padding-top:0px;
}
.footer-name h3{
  padding-top: 0px;
  font-size: 15px;
}
section{
  height: 100vh;
  z-index: 9;
}
.achieve{
  align-content: center;
}
.content-form{
  align-content: center;
}

li a {
  font-size: 15px;
}
.container-inquiry{
  align-content: center;
}
.content-form{
  margin-left: 0px;
}
form{
  width: 300px
}
.form p{
  color: #FFFFFF;
  font-size:clamp(14px,1.6vw,16px);
}
#contact_form {
  margin-left: 20px;
}