@charset "UTF-8";

body{
  margin:0;
  padding: 0;
  box-sizing: border-box;
  letter-spacing: 0.1em;
  font-family: 'Times New Roman', Times, serif;
}

a{
  text-decoration: none;
}


p{
  font-size: 16px;
  line-height: 2;
}

.box{
    max-width: 900px;
    margin: 0 auto;
    padding: 0;
}

img{
    width: 100%;
}

.photo{
  max-width: 250px;
  margin: 0 auto 30px;
  display: block;
}

.main-image{
    max-width: 1400px;
    width: 100%;
    display: block;
    margin: 0px auto;
}

h2{
  color:#fff;
  text-align: center;
}

.catalog{
  display: block;
  margin: 30px auto 120px;
  font-family: 'Times New Roman', Times, serif;
  color: #4e4e4e;
  font-size: 25px;
  padding: 0;
  width: 500px;
  line-height: 80px;
  text-align: center;
  border: 1px solid #4e4e4e;
  cursor: pointer;
  transition: 0.2s;
}
.catalog:hover{
  border: 1px solid #2389d2;
  color:#2389d2;
  background-color: #eff9ff;
}



@media screen and (max-width: 900px){
  .box{
    padding:0 5%;
  }

  p{
    font-size: 16px;
    line-height: 1.8;
  }
}

@media screen and (max-width: 767px){
  p{
    font-size: 12px;
    line-height: 1.6;
  }
    
.catalog{
  margin: 10px auto 80px;
  font-size: 20px;
  padding: 0;
  max-width: 300px;
  line-height: 50px;
}
}


@media screen and (max-width: 450px){
  p{
    font-size: 10px;
    line-height: 1.6;
  }
}


  

 /*------背景-----*/

.back{
   background-color: #d0e4fb;
   padding: 80px 0;
  }

  
  .back_blue{
    background-color: #57a5ea;
    padding: 80px 0 50px;
    margin: 0;
   }

  @media screen and (max-width: 767px){
    .back{
      padding: 40px 0;
     }

     .back_blue{
      padding: 30px 5%;
     }
   
  }


   /*------ヘッダー-----*/
header{
  max-width: 1400px;
  margin: 0 auto;
  padding: 15px;  
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header img{
  width: 150px;
  height: 100%;
}

.contact-btn{
  font-family: 'Times New Roman', Times, serif;
  color: #4e4e4e;
  font-size: 20px;
  margin: 0;
  padding: 0;
  width: 300px;
  line-height: 50px;
  text-align: center;
  border: 1px solid #4e4e4e;
  cursor: pointer;
  transition: 0.2s;
}
.contact-btn:hover{
  border: 1px solid #2389d2;
  color:#2389d2;
  background-color: #eff9ff;
}

@media screen and (max-width: 767px){
  .contact-btn{
    font-size: 15px;
    width: 200px;
  }
}
@media screen and (max-width: 450px){
  header img{width: 100px;}
  .contact-btn{width: 150px;}
}




   /*------動画-----*/

 video{
  max-width: 100%;
  height: auto;
  border: 1px solid #a8a8a8;
}






/*------お問い合わせ-----*/

table {
	width: 100%;
  text-align: left;
	font-size: 16px;
	line-height: 1.5;
	border-left: 1px solid #57a5ea;
	border-bottom: 1px solid #57a5ea;	
}

tr {
	width: 100%;
}

th, td {
	border-top: 1px solid #57a5ea;
	border-right: 1px solid #57a5ea;
  background-color: #fff;
	padding: 1.5em;
  box-sizing: border-box;
  font-weight: normal;
}

th {
	width: 25%;
	vertical-align: middle;
}


td p{
  line-height: 1.5;
  margin: 10px 0 0;
}


input[type='text'], textarea {
	min-width: 95%;
	padding: 0.5em;
	font-size: 16px;
	background-color: #fff;
	border: 1px solid #a5a5a5;
	border-radius: 5px;
}

input.short {
  min-width: initial;
}


textarea {
  min-width: 95%;
	min-height: 120px;
	line-height: 1.5;
}

.submit-btn {
	font-size: 16px;
  font-weight: bold;
	background-color: rgb(68, 68, 68);
	text-align: center;
	color: rgb(255, 255, 255);
	line-height: 60px;
	display: block;
	width: 230px;
	margin: 40px auto;
	border: none;
	cursor: pointer;
  transition: 0.2s;
}

.submit-btn:hover {
	background-color: #ffffff;
  color:#2389d2;
}

span{
  font-size: 12px;
  font-weight: bold;
  padding:3px 3px 4px 4px;
  background-color: red;
  color:rgb(255, 255, 255);
}

@media screen and (max-width: 767px){

  .back_blue .box{
    margin: 0;
    padding: 0;
    width: 100%;
  }

  table{
		margin: 30px 0;
    border-left: none;
	}

  th, td {
		display: block;
		width: 100%;
    border-right: none;
		font-size: 13px;
		padding: 1em 0.8em;
	}

  th{
    background-color: #e9f3ff;
  }

	.submit-btn {
		font-size: 18px;
		height: 60px;
		line-height: 40px;
		width: 50%;
	}

  span{font-size: 8px;}


  .rollover {
    margin-top: 70px;
  }

  .rollover img {
    width: 80%;
  }

  #page_top{
    width: 80px;
    height: 80px;
    position: fixed;
    right: 0;
    bottom: 0;
    opacity: 0.6;
  }
  #page_top a{
    width: 80px;
    height: 80px;
    text-decoration: none;
  }
  #page_top a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f139';
    font-size: 60px;
    color: #4e4e4e;
  }
}



.company{
  text-align: center;
  color:#fff;
  line-height: 0.5;
  margin: 100px auto 0;
}






.main-box{text-align: center;}

.main-box p{margin: 80px 0 70px;}


.back_top{
  display: block;
  width: 250px;
  line-height: 70px;
  background-color: #4363AC;
  margin: 50px auto 0;
  font-weight: bold;
  font-size: 20px;
  color: #fff;
  transition: .4s;
}

.back_top:hover{
  background-color: #1c2a66;
}