@charset "utf-8";
/* >Reset ---------------------------------------------------------------------------------------------------*/
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*,*::before,*::after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#root,#__next{isolation:isolate}
/* <Reset ---------------------------------------------------------------------------------------------------*/

/* >Common ---------------------------------------------------------------------------------------------------*/
html{font-size:62.5%;}

body {
	font-size:12px;
	font-size:1.2rem;
  font-family: 'Noto Sans JP', sans-serif, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	line-height:1.2rem;
  color:#333333;  
	background: #FFFFFF;
	position:relative;
}

img{
  vertical-align : middle;
  height: 100%;
}

ul, li, ol{
  margin: 0px; padding: 0px;
}

.tl{
  overflow: hidden;
}

.flexible{
  display: block;
}

.preload *{
    transition: none !important;
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
}

.backToTop {
  position: fixed;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 20px;
  bottom: 20px;
  width: 80px;
  height: 80px;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  background: #4648C5;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}

.backToTop:hover {
  background: #777AFF;
}

.is-active {
  opacity: 1;
  visibility: visible;
}

.pc{display: block;}
.sp{display:none;}
/* <Common ---------------------------------------------------------------------------------------------------*/

/* >Header ---------------------------------------------------------------------------------------------------*/
.header-set{
  background-color: #FFFFFF;
}

.header-wrapper{
  width: 1025px;
  margin: 0 auto;
  display: flex;
  justify-content:space-between;
  align-items: center;
  padding: 0px 0px;
  box-sizing: border-box;
}

.header-company{
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.header-logo{
  width: 136px;
  height: auto;
}

.header-profile{
  color: #111111;  
  font-weight:500;
  margin-left: 10px;
}

#profile-name{
  color: #000071;
	font-size:17px;
	font-size:1.7rem;
}

#profile-tel{
  margin-top: 10px;
	font-size:17px;
	font-size:1.7rem;
}

#profile-time{
  margin-top: 5px;  
	font-size:15px;
	font-size:1.5rem;
}

.header-info{
  color: #333333;
	font-size:20px;
	font-size:2.0rem;
  font-weight: 600;
  line-height:20px;
  box-sizing: border-box;
}

.header-info a{
  color: #131376;
  text-decoration: none;
}

.header-info a:hover{
  color: #d30000;
  text-decoration: none;
}

/* <Header ---------------------------------------------------------------------------------------------------*/

/* >Main ---------------------------------------------------------------------------------------------------*/
#introduction{
  border-top: 2px solid #101177;
  border-bottom: 2px solid #101177;
  background-color: #03236c;
  padding: 30px 0px;
  background-image: url("../img/introduction_bg.png");
  background-repeat: repeat;
  background-position: center;
  background-size: cover;
}

#introduction-wrapper{
  width: 1025px;
  margin: 0 auto;  
  display: flex;
  justify-content: space-between;  
}

#introduction h1,#introduction h2{
  text-align: left;
  color: #FFFFFF;
  text-shadow: 0 0 26px #004EFF;
  line-height: normal;
  font-weight: 500;
}

#introduction-txt-1{
  font-size: 45px;
  font-size: 4.5rem;
  margin-bottom: 10px;  
}

#introduction-txt-2{
  font-size: 26px;
  font-size: 2.6rem;
}

#introduction-txt-3{
  font-size: 26px;
  font-size: 2.6rem;
}

.introduction-color-green{
  color:#00ffc0;
}
#introduction-cost{
  margin-top: 30px;
}

.section-set-bg{
  background-color: #f2f2f2;
}

.section-set{
  text-align: center;
  max-width: 1025px;
  margin:0px auto;
  padding: 40px 0px 50px;
  box-sizing: border-box;
}

.section-set-adjust{
  text-align: center;
  max-width: 1025px;
  margin:0px auto;
  padding: 50px 0px;
  box-sizing: border-box;
}

.bottom-p0{
  padding-bottom: 0px;
}

.section-set h3,.section-set-adjust h3{
  font-size: 38px;
  font-size: 3.8rem;
  line-height: normal;
  font-weight: 700;
  margin-bottom: 15px;
}

.section-set p,.section-set-adjust p{
  font-size: 17px;
  font-size: 1.7rem;
  line-height: normal;
}

.section-set #arrow img,.section-set-adjust #arrow img{
  margin: 20px auto;
}

.section-set #point,.section-set-adjust #point{
  font-size: 24px;
  font-size: 2.4rem;
  line-height: normal;
  font-weight: 600;
}

.section-set .point-color-blue,.section-set-adjust .point-color-blue{
  color: #072D88;  
  font-weight: 600;
}

.section-set .point-color-red,.section-set-adjust .point-color-red{
  color: #D30000;
}

.section-title{
  background-color: #000072;
  color: #FFFFFF;
  font-size: 38px;
  font-size: 3.8rem;
  line-height: normal;
  font-weight: 600;
  padding: 10px 0 14px;
}

.section-box{
  background-color: #e9e9e9;
  padding: 10px;
  box-sizing: border-box;
}

.section-box-in{
  background-color: #fffbfb;
  padding: 20px;
  box-sizing: border-box;
}

#software-link{
  margin: 20px 0 0;
}

#software-link a{
  color:#ff0000;
}

#software-link a:hover{
  text-decoration: none;
}

.section-box-img{
  margin-top: 20px;
}

.section-box-img-in{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.section-box-img img{
  max-width: 100%;
  margin: 0 auto;
  height: auto;
}

.arrow-margin{
  margin: 5px;
}

.section-table-tl{
  font-size: 38px;
  font-size: 3.8rem;
  line-height: normal;
  font-weight: 600;
  color: #5757DD;
  border-top: 2px solid #5757DD;
  border-bottom: 2px solid #5757DD;
  margin: 40px 0 10px;
}

#section-table{
  border-collapse: collapse;
  border: 0px;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: normal;
  text-align:left;
  margin-top: 10px;
}

#section-table th{
  background-color: #CBD8FF;
  box-sizing: border-box;
  border: 1px solid #C0C0FF;  
}

#section-table td{
  background-color: #F4F4F4;
  box-sizing: border-box;
  border: 1px solid #D9D9D9;  
}

#section-table tr:nth-child(odd) td{
  background-color: #FFFFFF;
}

#section-table tr th:first-child{
  width: 232px;
  border: 1px solid #C0C0FF;
}

#section-table tr td:first-child{
  font-weight: 600;
  width: 232px;
  border: 1px solid #D9D9D9;  
}

#section-table th,#section-table td{
  padding: 10px;
}

#wse{
  border-bottom: 2px solid #b9b9b9;
  padding-bottom: 30px;
}

#wse-title{
  font-size: 38px;
  font-size: 3.8rem;
  line-height: normal;
  font-weight: 600;
  color: #000072;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

#wse-title::before,#wse-title::after{
  content: '';
  display: block;
  width: 200px;
  height: 2px;
  background: #b9b9b9;
}

#wse-title::before{
  margin-right: 20px;
}

#wse-title::after{
  margin-left: 20px;
}

.wse-img{
  margin: 20px 0;
}

.wse-img img{
  margin: 0 auto;
}

#wse-list{
  width: 820px;
  margin: 0 auto;
}

.wse-list-title{
  font-size: 24px;
  font-size: 2.4rem;
  line-height: normal;
  font-weight: 600;
  color: #000072;
  text-align: left;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.wse-list-title::before{
  content: '';
  display: block;
  width: 6px;
  height: 34px;
  background: #000072;
  margin-right: 10px;
}

.wse-list-box{
  border: 2px solid #525BB6;
  box-sizing: border-box;
  margin-bottom: 20px;
}

.wse-list-box-in{
  border-bottom: 2px solid #525BB6; 
  padding: 10px;
}

.wse-list-box-in:last-child{
  border-bottom:none;
}

.wse-list-box-head{
  font-size: 17px;
  font-size: 1.7rem;
  line-height: normal;
  color: #333399;
  font-weight: 700;
  text-align: left;
  margin-bottom: 2px;
}

.wse-list-box-body{
  display: flex;
  align-items: center;
}

.wse-list-box-icon{
  width: 45px;
  padding: 3px;
  margin-right: 8px;
}

.wse-list-box-txt{
  text-align: left;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: normal;
}

#wse-inquiry{
  width: 450px;
  margin: 0 auto;
}

#wse-inquiry a{
  display: block;
  text-decoration: none;
  background-color: #D30000;
  color: #FFFFFF;
  border: 4px solid #D30000;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: normal;
  font-weight: 600;
  padding: 15px;
  box-sizing: border-box;
  border-radius: 40px;
  transition: all .4s;
}

#wse-inquiry a:hover{
  background-color: #FFFFFF;
  border: 4px solid #D30000;  
  color: #D30000;
}

#luminen{
  background-color: #48C9FF;
  padding: 20px 35px 35px;
  color: #042052;
  border-radius: 20px;
}

#luminen-arrow{
  margin: 10px 0px;
}

#luminen-txt{
  color: #FFFFFF;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: normal;
  margin-top: 30px;
  padding: 8px;
  font-weight: 600;
  background-color: #1F48C1;
  border-radius: 20px;  
}

.blue-title{
  color: #000072;
}

#mv-box{
  margin-top: 20px;
  margin-bottom: 5px;
}

.section-set h3.s-txt{
  font-size: 33px;
  font-size: 3.3rem;  
}

#case{
  display: flex;
  justify-content: space-between;
  padding-top: 20px;
  flex-wrap: wrap;
}

#plan{
  width: 650px;
  background-color: #D30000;
  border: 4px solid #FFFFFF;
  outline: 4px solid #D30000;
  padding: 8px;
  margin: 20px auto 10px;
}

#plan p{
  font-size: 26px;
  font-size: 2.6rem;
  font-weight: 600;
  line-height: normal;
  color: #FFFFFF;
}

#edr-txt{
  letter-spacing: -1px;
}

#seminar a{
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 600;
  margin-top: 50px;
  display: inline-block;
  text-decoration: none;
  position:relative;
  color: #1C1C1C;
  transition: all 0.5s;   
}

#seminar a:hover{
  color: #D30000;
}


#seminar a::after{
  content: ''; 
  position: absolute;
  left: 0; 
  bottom: -2px;
  width: 0%; 
  height: 3px; 
  background: #D30000; 
  z-index: -1; 
  transition: all 0.5s; 
}

#seminar a:hover::after{
  width: 100%; 
}

.material-symbols-outlined {
  font-size: 34px;
  display: inline-flex;
  vertical-align: bottom;
}
/* <Main ---------------------------------------------------------------------------------------------------*/

/* >Footer ---------------------------------------------------------------------------------------------------*/
.footer-set{
  background-color: #101177;
}

.company-profile{
  display: flex;
  justify-content: center;
  margin: 0 auto;
  width: 1025px;
  padding: 30px 0px;
}

.company-profile .footer-logo{
  padding-right: 30px;
  box-sizing: border-box;
}

.company-profile .footer-logo img{
  width: 180px;
  height: auto;
}

.company-profile .footer-info{
  color: #FFFFFF;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 24px;  
}

.service-info{
  text-align: center;
  color: #FFFFFF;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: normal;
  margin-bottom: 30px;
}

.service-info a{
  color: #1cf7fa;
  text-decoration: none;
  margin: 5px 0px;
  display: inline-block;
}

.service-info a:hover{
  color: #fde94b;
  text-decoration:underline;
}

.security-info{
  text-align: center;
  margin: 0 auto;
  width: 1025px;  
}

.security-info .security-info-txt{
  color: #FFFFFF;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;   
}

.security-info .security-info-logo{
}

.security-info-logo img{
  margin: 15px auto 10px;
  background-color: #FFFFFF;
}

.security-info-logo p{
  color: #FFFFFF;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 12px;    
}

.copyright{
  color: #B2B3FF;
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 16px;
  padding: 10px 0px 30px;
}
/* <Footer ---------------------------------------------------------------------------------------------------*/

@media only screen and (max-width:1024px) {
  
  .flexible{
    display: none;
  }  
  
  .header-wrapper{
    width: 94vw;
  }  
  
  #introduction{
    padding: 20px 0px;
  }

  #introduction-wrapper{
    width: 94vw;
    justify-content: space-around;
    align-items: center;
  }

  #introduction-txt-1{
    font-size: 32px;
    font-size: 3.2rem;
    margin-bottom: 10px;  
  }

  #introduction-txt-2{
    font-size: 18px;
    font-size: 1.8rem;
  }

  #introduction-txt-3{
    font-size: 18px;
    font-size: 1.8rem;
  }
  
  #introduction-img{
    width: 28vw;
    height: 100%;
  }
  
  #introduction-cost{
    width: 45vw;
    margin-top: 30px;
  }
  
  .company-profile{
    width: 90vw;
  }

  .security-info{
    width: 90vw;  
  }

  .section-set{
    max-width: 94vw;
    padding: 30px 0px 40px;
  }

  .section-set-adjust{
    max-width: 94vw;
    padding: 40px 0px;
  }
  
  .bottom-p0{
    padding-bottom: 0px;
  }
  
  .section-set h3,.section-set-adjust h3{
    font-size: 27px;
    font-size: 2.7rem;
    margin-bottom: 15px;
  }

  .section-set p,.section-set-adjust p{
    font-size: 16px;
    font-size: 1.6rem;
    text-align: left;
  }

  .section-set #point,.section-set-adjust #point{
    font-size: 19px;
    font-size: 1.9rem;
    text-align: center;
  }

  .section-title{
    font-size: 27px;
    font-size: 2.7rem;
    padding: 10px 0 14px;
  }

  .section-box{
    background-color: #e9e9e9;
    padding: 10px;
    box-sizing: border-box;
  }

  .section-box-in{
    background-color: #fffbfb;
    padding: 20px;
    box-sizing: border-box;
  }  

  #arrow img{
    width: 15vw;
  }
  
  .section-table-tl{
    font-size: 27px;
    font-size: 2.7rem;
  }    
  
  #wse-title{
    font-size: 27px;
    font-size: 2.7rem;
    margin-bottom: 20px;
  }

  #wse-title::before,#wse-title::after{
    content: '';
    display: block;
    width: 120px;
    height: 2px;
    background: #b9b9b9;
  }

  #wse-list{
    width: 94vw;
    margin: 0 auto;
  }

  #luminen{
    padding: 20px 25px 35px;
  }

  #luminen-txt{
    color: #FFFFFF;
    font-size: 15px;
    font-size: 1.5rem;
    margin-top: 30px;
    padding: 15px;
  }

  #mv-box{
    width: 94vw;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    padding-top: 56.25%; 
  }   
  
  #mv-box iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }    
  
  .section-set h3.s-txt{
    font-size: 23px;
    font-size: 2.3rem;  
  }

  #case{
    justify-content:space-around;
    padding-top: 10px;
  }

  #plan{
    width: 94vw;
  }

  #plan p{
    font-size: 22px;
    font-size: 2.2rem;
    text-align: center;
  }

  #plan_info{
    text-align: center;
  }  

  #edr-txt{
    letter-spacing: 0px;
  }  
  
  #seminar{
    text-align: center;
  }
    
  #seminar a{
    font-size: 22px;
    font-size: 2.2rem;
    margin-top: 40px;
  }

  .material-symbols-outlined {
    font-size: 28px;
  }  
  
  .txt-c{
    text-align: center !important;
  }    
}


@media only screen and (max-width:599px) {

  .pc{display: none;}
  .sp{display:block;}  
  
  .header-wrapper{
    width: 100vw;
    display: block;
}

  .header-company{
    display: flex;
    justify-content: space-between;
    padding: 10px;
  }

  .header-logo{
    width: 100px;
    height: auto;
  }

  .header-profile{
    color: #111111;  
    font-weight:500;
    margin-left: 10px;
  }

  #profile-name{
    color: #000071;
    font-size:14px;
    font-size:1.4rem;
  }

  #profile-tel{
    margin-top: 5px;
    font-size:14px;
    font-size:1.4rem;
  }

  #profile-time{
    margin-top: 3px;  
    font-size:12px;
    font-size:1.2rem;
  }

  .header-info{
    color: #FFFFFF;
    font-size:20px;
    font-size:2.0rem;
    font-weight: 600;
    line-height:20px;
    text-align: center;
    background-color: #0093AB;
  }

  .header-info a{
    color: #FFFFFF;
    display: block;
    padding: 12px;
  }

  .header-info a:hover{
    color: #FFFFFF;
  }

  #introduction-txt{
    width: 60vw;
  } 
  
  #introduction-txt-1{
    font-size: 15px;
    font-size: 1.5rem;
    margin-bottom: 10px;  
  }

  #introduction-txt-2{
    font-size: 14px;
    font-size: 1.4rem;
  }

  #introduction-txt-3{
    font-size: 14px;
    font-size: 1.4rem;
  }

  #introduction-img{
    width: 28vw;
    height: 100%;
  }

  #introduction-cost{
    width: 60vw;
    margin-top: 15px;
  }

  .section-set{
    max-width: 94vw;
    padding: 25px 0px 25px;
  }

  .section-set-adjust{
    max-width: 94vw;
    padding: 25px 0px;
  }  
  
  .bottom-p0{
    padding-bottom: 0px;
  }  
  
  .section-set h3,.section-set-adjust h3{
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 22px;
    margin-bottom: 20px;
  }

  .section-set p,.section-set-adjust p{
    font-size: 14px;
    font-size: 1.4rem;
  }

  .section-set #point,.section-set-adjust #point{
    font-size: 16px;
    font-size: 1.6rem;
  }

  .section-title{
    font-size: 18px;
    font-size: 1.8rem;
    padding: 7px 0 9px;
  }

  .section-box{
    padding: 5px;
  }

  .section-box-in{
    padding: 10px;
  }    
  
  .section-table-tl{
    font-size: 20px;
    font-size: 2.0rem;
    margin: 20px 0 10px;
  }   

  #section-table{
    font-size: 14px;
    font-size: 1.4rem;
  }  

  #table-wrapper{
    width: 100%;
    overflow: auto;
  }
  
  #section-table{
    min-width: 599px;
  }

  #section-table th,#section-table td{
    padding: 5px;
  }  
  
  #wse-title{
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 26px;
  }

  #wse-title::before,#wse-title::after{
    width: 90px;
  }  

  .wse-list-title{
    font-size: 19px;
    font-size: 1.9rem;
  }

  .wse-list-title::before{
    content: '';
    display: block;
    width: 6px;
    height: 28px;
    background: #000072;
    margin-right: 10px;
  }

  .wse-list-box{
    border: 2px solid #525BB6;
    box-sizing: border-box;
    margin-bottom: 20px;
  }

  .wse-list-box-in{
    border-bottom: 2px solid #525BB6; 
    padding: 10px;
  }

  .wse-list-box-in:last-child{
    border-bottom:none;
  }

  .wse-list-box-head{
    font-size: 17px;
    font-size: 1.7rem;
    line-height: normal;
    color: #333399;
    font-weight: 700;
    text-align: left;
    margin-bottom: 2px;
  }

  .wse-list-box-body{
    display: flex;
    align-items: center;
  }

  .wse-list-box-icon{
    width: 16%;
    padding: 3px;
    margin-right: 12px;
  } 
  
  .wse-list-box-txt{
    width: 84%;
    text-align: left;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: normal;
  }

  #wse-inquiry{
    width: 90vw;
  }

  #wse-inquiry a{
    border: 4px solid #D30000;
    font-size: 18px;
    font-size: 1.8rem;
    padding: 10px;
    border-radius: 40px;
  }

  #wse-inquiry a:hover{
    background-color: #FFFFFF;
    border: 4px solid #D30000;  
    color: #D30000;
  }  

  #luminen{
    padding: 20px 10px 10px;
  }  
  
  #luminen-txt{
    font-size: 14px;
    font-size: 1.4rem;
  }  

  #mv-box{
    width: 94vw;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    padding-top: 56.25%; 
  }   
  
  #mv-box iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }  

  .section-set h3.s-txt{
    font-size: 20px;
    font-size: 2.0rem;
    margin-bottom: 0px;
  }  

  #case img{
    width: 46vw;
  }  
  
  #plan{
    border: 3px solid #FFFFFF;
    outline: 3px solid #D30000;
  }  
  
  #plan p{
    font-size: 15px;
    font-size: 1.5rem;
  }

  #seminar a{
    font-size: 17px;
    font-size: 1.7rem;
    line-height: 20px;
    margin-top: 24px;
  }

  .material-symbols-outlined {
    font-size: 22px;
  }    
  
  .company-profile{
    display: block;
  }  
 
  .company-profile .footer-logo{
    text-align: center;
    padding-right: 0px
  }

  .company-profile .footer-logo img{
    margin: 0 auto;
    width: 160px;
  }  
  
  .company-profile .footer-info{
    color: #FFFFFF;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 20px;
    text-align: center;
    margin-top: 10px;
  }  

  .service-info{
    font-size: 12px;
    font-size: 1.2rem;
    margin-bottom: 30px;
  }  
  
  .security-info .security-info-txt{
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 16px;   
  }

  .security-info .security-info-logo{
  }

  .security-info-logo img{
    margin: 10px auto 10px;
  }

  .security-info-logo p{
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 12px;    
  }

  .copyright{
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 16px;
    padding: 10px 0px 30px;
  }

  .backToTop {
    right: 10px;
    bottom: 10px;
    width: 60px;
    height: 60px;
    font-size: 16px;
  }
}