@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Marcellus&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Petrona:ital,wght@0,100..900;1,100..900&display=swap');
#wrapper{
  width: 100%;
  margin: 0 auto;
}
.ServiceTextBox{
  width: 50%;
}
body{
font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #313131;
}
img{
  width: 100%;
}
#padding0{
  padding: 10px !important;
}
.Flex{
  display: flex;
}
.BreadcrumbsList, .BreadcrumbsList a,  .BreadcrumbsList a:visited{
  color:#1D5AB1;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 2.1px;
  font-family: Lato;
  margin-left: 42px;
}
.TwoColums{
    padding: 120px 0;
    display: flex;
    margin: 0 auto;
    gap: 25px;
    width: 800px;
    flex-wrap: wrap;
}
#AboutusText{
  padding: 0 0 48px 0;
}
.BreadcrumbsList span::before{
    content: '\f105';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 14px;
    padding-left: 20px;
    padding-right: 24px;
    color: #000;
}
.Catchcopy {
  width: 42%;
}
.Catchcopy p{
  font-weight: 700 !important;
  font-size: 40px !important;
  line-height: 200% !important;
  letter-spacing: 4px !important;
}
.Catchcopy p::first-letter{
  color: #1D5AB1;
  font-size: 70px !important;
  letter-spacing: 7px !important;
}
Label{
 background-color:#1D5AB1;
 color: #fff;
 font-weight: 500;
 font-size: 14px;
 letter-spacing: 1.4px;
 padding: 4px 10px;
 margin: 20px 0;
}
.title{
  font-weight: 700;
  font-size: 18px;
  letter-spacing: 0px;
}
.subtitle{
  font-weight: 400;
  font-size: 18px;
  letter-spacing: 1.8px;  
  margin: 0; 
}
.container{
  margin-top: 160px;
}
.Headline{
  position: relative;
  margin-bottom: -70px;
}
#Service{
  background-image: url(../image/Background_01.png);
  background-size: cover; 
}
#Facility{
  background-image: url(../image/Background_02.png);
  background-size: cover; 
  background-position: center;
  color: #fff;
}
#Facility h2::first-letter,#Contact h2::first-letter{
  color: #fff;
}
#Facility h2::after,#Contact h2::after{
    background-color: #fff;
}
#Facility button,#Contact button{
    border: solid 1px #fff;
}
.SectionFirst{
  margin: 90px auto 40px auto !important;
  display: flex;
  background-color: #fff;
  flex-wrap: wrap;
  width:80% !important;
}
h2{
  font-weight: 700;
  font-size: 26px;
  letter-spacing: 2.6px; 
}
h2::first-letter{
  color: #1D5AB1;
}
h2::after{
    position: relative;
    content: "";
    margin-top: 20px;
    margin-bottom: 60px;
    width: 77px;
    height: 3px;
    background-color: #1D5AB1;
    display: block;
}
.Center::after{
  left: 50%;
  transform: translateX(-50%); 
}
h3{
  font-family: "Lato", sans-serif;
  font-style: normal;
  font-weight: 900;
  font-size: 60px;
  letter-spacing: 6px; 
  background: linear-gradient(270deg, #1D5AB1 0%, #5EDEE2 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: opacity(10%);
    position: absolute;
    top: -42px;
    width: 100%;
}
header{
    width: 100%;
    padding: 24px 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(20px);
    box-shadow: 8px 8px 20px 0px rgba(0, 0, 0, 0.05);
    box-shadow: 4px 4px 20px 0px rgba(255, 255, 255, 0.25) inset;
    z-index: 999;

}
#menu ul{
    display: flex;
    align-items: center;
}
#menu ul li{
  list-style: none;
  padding: 0 18px;
  font-weight: 550;
  font-size: 16px;
  letter-spacing: 1.6px; 
}
.Bold{
  font-weight: 700;
}
.TextBox{
    width: 100%;
    padding: 10px 20px;
    margin: 18px 0;
    border: solid 1px #CBCBCB;
}
.FormText{
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 3.2px;
}
.CompleteText{
  color: #1D5AB1;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 2.8px;
}
.InputText{
  margin: 8px 0px 34 0;
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 3.2px;
}
::placeholder {
  color: #CBCBCB;
}
.SectionImageBox{
  /*width: 402px;*/
  margin-top: 40px;
}
.SectionTextBox{
  width: 632px;
  gap: 40px;
  border-radius: 20px;
  padding: 80px 60px 60px 60px;
  backdrop-filter: blur(20px);
  box-shadow: 8px 8px 20px 0px rgba(0, 0, 0, 0.05);
  margin-left: -12px;
  scroll-margin-top: 82px;
}
.SectionTextBoxMini{
  width: 340px;
  gap: 40px;
  border-radius: 20px;
  padding: 40px 40px;
  backdrop-filter: blur(20px);
  box-shadow: 8px 8px 20px 0px rgba(0, 0, 0, 0.05);
  margin: 0 auto 50px auto;
}
.SectionTextBox p, .SimpleTextBox p{
  font-weight: 400;
  font-size: 16px;
  letter-spacing: 1.6px; 
  line-height:200%;
}
button{
    border: solid 1px #000;
    padding: 10px 31px;
    font-weight: 400;
    font-size: 14px;
    letter-spacing: 1.4px;
}
button span::after{
    content: '\f105';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 10px;
    padding: 0px 0 0 12px;
}
hr{
    background-color: #ffffff;
    border: none;
    height: 1px;
}
footer{
  color: #fff;
  background: linear-gradient(270deg, #1D5AB1 0%, #5EDEE2 100%);
  box-shadow: 4px 4px 20px 0px rgba(0, 0, 0, 0.05) inset;
  justify-content: space-between;
}
a, a:visited{
 text-decoration: none;
 color: #000;
}
#FooterMenu{
  display: flex;
  padding: 100px 88px;
  justify-content: space-between;
}
.FooterLink{
  display: flex;
  margin-bottom: 44px;

}
.FooterLink a{
  color: #fff;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 1.4px;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 1.6px;
  margin-left: 76px;
}
td{
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 1.4px;  
  height: 59px;
  border-bottom: solid 1px #1D5AB11A;
  padding: 20px 0px;
}
td:nth-child(1){
  color: #1D5AB1;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 1.2px;
  width: 150px;
}
.InquiryLink{
  font-weight: 600;
  font-size: 16px;
  letter-spacing: 1.6px; 
  background: linear-gradient(270deg, #1D5AB1 0%, #5EDEE2 100%);
  color: #fff !important;
  width: 172;
  height: 44;
  gap: 10px;
  padding-top: 10px;
  padding-right: 20px;
  padding-bottom: 10px;
  padding-left: 12px;
  border-radius:50px;
}
.InquiryLink::before{
    content: url(../image/icon.png);
    vertical-align: middle;
    padding-right: 2px;
    transform: scale(0.5);
    display: inline-block;
}
.GroundInquiryLink{
  background-color: #fff;
  color: #1D5AB1;
  font-weight: 600;
  font-size: 28px;
  letter-spacing: 2.8px;  
  border: none;
  padding: 28px 124px;
}
@media screen and (min-width:800px){
  .Pc{
    display: block;
  }
  .Sp{
    display: none;
  }
  .paddingbottom48{
    padding-bottom: 48px;
  }
  .FlexEnd{
        align-items: flex-end;
  }
}
  main{
        padding-top: 80px;
  }
@media screen and (max-width:799px){
  .Pc{
    display: none;
  }
  .Sp{
    display: block;
  }
  main{
        padding-top: 50px;
  }
.SpSection{
  width: 80% !important;
  margin-bottom: 92px !important;
}
.SpSectionComplete{
  width: 80% !important;
  padding: 26px 0 84px 0 !important;
}
.SpSection p, .SpSectionComplete p{
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 1.4px;
}
#AboutusText{
  padding: 62px 0 48px 0;
}
.FormText{
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 2.4px;
}
.CompleteText{
  color: #1D5AB1;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 2.4px;
}
.InputText{
  margin: 8px 0 34px 0;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 2.4px;
}
td:nth-child(1){
  border: none !important;
}
.BreadcrumbsList, .BreadcrumbsList a{
    margin-top: 6px;
    margin-left: 10px;
}
#Contact{
  padding: 60px 0 44px 0 !important;
}
  header{
    height: 50px;
  }
.FooterTextBox{
   margin: 0 10%;
}
  #menu{
    visibility: hidden;
    opacity: 0;
    background-color: #fff;
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    padding-top: 50px;
    transition: all 0.3s 0s ease;
    transition-behavior: allow-discrete;
  }
  #menu ul{
    display: block;
    text-align: center;
  }
  #menu ul li {
      padding: 30px 18px;
  }
  .HamburgerMenu{
    position: absolute;
    right: 38px;
  }
  .HamburgerLine{
    width: 26px;
    height: 2px;
    background-color: #1D5AB1;
    margin: 9px 0;
  }
  .is-open > .HamburgerLine:nth-child(1){
    transform:rotate(45deg);
    transform-origin:left bottom;
    translate: 0 2px;
    transition: all 0.5s 0s ease;
  }
  .is-open > .HamburgerLine:nth-child(2){
    opacity: 0;
    transition: all 0.5s 0s ease;
  }
  .is-open > .HamburgerLine:nth-child(3){
   transform:rotate(-45deg);
    transform-origin:left bottom;
    translate: 0 -2px;
    transition: all 0.5s 0s ease;
  }
  .HamburgerLine:nth-child(1){
    transform:rotate(0deg);
    transform-origin:left bottom;
    transition: all 0.5s 0s ease;
  }
  .HamburgerLine:nth-child(2){
    opacity: 1.0;
    transition: all 0.5s 0s ease;
  }
  .HamburgerLine:nth-child(3){
   transform:rotate(0deg);
    transform-origin:left bottom;
    transition: all 0.5s 0s ease;
  }
  .Menu-open{
visibility: visible !important;
    opacity: 1.0 !important;    
    transition: opacity 0.5s 0s ease;
  }
.container{
  margin: 0;
}
#About_us{
  padding-top: 28px !important;
  padding-bottom: 60px !important;
  display: block !important;
  width: 80%;
}
#Facility{
  padding: 90px 0 !important;
}
#Company{
      flex-direction: column-reverse !important;
      padding-bottom: 38px !important;
      width:80% auto !important;
      margin-top: 30px !important;
}
  .SectionImageBox{
        width: 84%;
        margin: 40px auto 40px auto !important;
        scroll-margin-top: 0px;
  }
  .SectionTextBox{
        width: 100%;
        padding: 2px 22px 28px 22px;
        margin-left: 0;
        margin-top: 0px;
        scroll-margin-top: 40px;
  }
  h2 {

    font-size: 22px;
    letter-spacing: 2.2px;
}
h2::after {
            margin-top: 20px;
        margin-bottom: -20px;
}
h3 {
    font-size: 37px;
    letter-spacing: 3.7px;
            top: -26px;
        position: absolute;
}
td{
  display: block;
        display: block;
        padding-bottom: 10px !important;
        height: auto;
        padding-top: 8px;
}
.Reset{
  left: 0 !important;
}
.SpMidashi{
  text-align: center;
}
.SectionTextBox{
  display: block !important;
  width: 80%;
  margin-left:auto;
  margin-right:auto;
}
.SectionTextBox p, .SimpleTextBox p {
    font-size: 12px;
    letter-spacing: 1.2px;
    line-height: 200%;
}
.Headline {
    margin-bottom: -40px;
}
button{
  display: block;
  margin: 0 auto;
}
.FontSize12{
  font-size: 14px !important;
  letter-spacing: 1.4px !important;
  line-height: 200% !important;
}
.SimpleTextBox{
  margin: 0 62px;
}
.SimpleTextBox p{
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1.4px !important;
}
.BottomImage{
  margin-top: -14px !important;
}
.GroundInquiryLink{
  padding: 24px 44px;
  font-weight: 600;  
  font-size: 19px !important;
  letter-spacing: 1.9px !important;
}
#FooterMenu{
  display: block;
  text-align: center;
  padding: 40px 70px;
}
.FooterLink{
  display: none;
}
.FooterTitle{
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing: 1.6px !important;
}
.FooterAddress{
  margin: 24px 0 !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  line-height: 150% !important;
  letter-spacing: 2.8px !important;
}
.FooterCopyright{
  margin-top: 20px;
  text-align: center !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: 2.4px !important;
}
#Service{
    padding: 80px 0 30px 0 !important;

}
.SectionFirst{
  margin-top: 30px !important;
}
.Flex{
  display: block;
}
.Catchcopy{
  width: 100%;
}
.Catchcopy p {
    font-size: 24px !important;
    letter-spacing: 2.4px !important;
}
.Catchcopy p::first-letter{
  font-size: 40px !important;
  letter-spacing: 4px !important;
}
.PSp{
  padding-top: 10px !important;
}
.TopMargin{
  padding: 10px 0 56px 0 !important;
}
.TopPadding{
    padding-top: 60px !important;
}
.SectionTextBoxSp{
  padding-top: 40px !important;
}
.ServiceTextBox{
  width: 100%;
}
.TwoColums{
  display: block;
}
.SectionTextBoxMini {
    width: 80%;
}
.TwoColums{
  width: 100%;
}
.padding60{
  padding-top: 60px !important;
}
.paddingbottom20{
  padding-bottom: 20px !important;
}
.HrAdjust{
    position: relative;
    top: -22px;
    width: 80%;
    margin: 0 auto;
}
#padding0{
  padding: 1px !important;
}
.MB0{
  margin-bottom: 0 !important;
}
}