/* =layout
-------------------------------------------------------------- */
/*reset*/
h1,h2,h3,p {
  margin: 0;
}

/*common*/
.content-width {
  width: 1024px;
  padding: 0 12px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.sp {
  display: none;
}
.sp-br {
  display: none;
}
#home::before {
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background: url('../images/home/bg_home.png') no-repeat center/cover;
}
@media screen and (max-width: 640px) {
  body,
  input,
  textarea {
    font-size: 1.8rem;
  }
  .content-width {
    width: 640px;
    padding: 0 30px;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .sp-br {
    display: inline-block;
  }
  #home::before {
    background: url('../images/home/bg_home_sp.png') no-repeat center/cover;
  }
}
/* =header
-------------------------------------------------------------- */
#header {
  position: fixed;
  top: 0;
  width: 100%;
  padding: 25px 0;
  z-index: 10;
}
#header #logo-box {
  width: 160px;
}
#header #nav {
  width: 840px;
  text-align: right;
}
#header #nav li {
  padding:0 1em;
}
#header #nav li:last-child {
  padding-right: 0;
}
#header #nav li a {
  color: #555;
}
@media screen and (max-width: 640px) {
  #header {
    background: #fff;
    padding: 20px 0;
    box-shadow:0px 4px 4px 0px #b9c2ca;
    -moz-box-shadow:0px 4px 4px 0px #b9c2ca;
    -webkit-box-shadow:0px 4px 4px 0px #b9c2ca;
  }
  #header #sp-menu {
    width: 50px;
  }
  #header #sp-menu span {
    content: '';
    display: block;
    height: 5px;
    width: 50px;
    background: #000;
  }
  #header #sp-menu span:nth-child(2) {
    margin: 12px 0;
    background: #e94d37;
  }
  #header #logo-box {
    width: 100%;
    text-align: center;
    padding-right: 50px;
  }
  #header #logo-box .sp {
    display: inline-block;
  }
  #header #nav {
    position: fixed;
    top: 80px;
    left: 0;
    width: 100%;
    background: rgba(255,255,255,.9);
  }
  #header #nav li {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 2.0rem;
    border-bottom: 1px solid #ccc;
    padding: 0;
  }
  #header #nav li a {
    display: block;
    padding: 30px 0;
    background: #e94d37;
    color: white;
  }
}


/* =home common
-------------------------------------------------------------- */
.home-sec {
  padding: 55px 0;
}
.common-sec-ttl {
  text-align: center;
}
.common-sec-ttl span {
  display: block;
}
.common-sec-ttl span:last-child {
  font-size: 1.6rem;
  font-weight: normal;
  margin-top: 2px;
}
.common-home-bg {
  color: #fff;
}
.common-white-bg {
  background: #fff;
}
.common-home-list .item-container {
  width: 80%;
  margin: 55px auto 0;
}
.common-home-list .item-box {
  display: table;
  width: 100%;
  padding: 18px 0;
  margin: 0;
}
.common-home-list .item-box dt ,
.common-home-list .item-box dd {
  display: table-cell;
  margin: 0;
  padding: 0 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.common-home-list .item-box dt {
  width: 15%;
}
.common-home-list .item-box dd {
  width: 85%;
}
@media screen and (max-width: 640px) {
  .home-sec {
    padding: 70px 0;
  }
  .common-sec-ttl span:last-child {
    font-size: 2.0rem;
  }
  .common-sec-ttl span img.sp {
    display: inline-block;
  }
  .common-home-list .item-box dt ,
  .common-home-list .item-box dd {
    font-size: 2.0rem;
  }
}
/* =home mainvisual
-------------------------------------------------------------- */

#mainvisual {
  margin-top: 100px;
  margin-bottom: 80px;
}
/*-------------------------------------------
title
-------------------------------------------*/
.title-img {
  margin-top: 100px;
  text-align: center;
}
/*-------------------------------------------
Mainvisual
-------------------------------------------*/
#mainvisual {
  margin-bottom: 80px;
}
#mainvisual img {
  width: 100%;
  max-width: 1920px;
}
/*-------------------------------------------
Maintext
-------------------------------------------*/
#maintext {
  margin-bottom: 80px;
}
#maintext h2 {
  width: 100%;
  text-align: center;
  margin-bottom: 20px;
}
#maintext p {
  width: 100%;
  font-size: 0.8rem;
  text-align: center;
  margin-bottom: 20px;
}
/* =footer
-------------------------------------------------------------- */
#footer {
  background: #fff;
  padding: 5px 0;
}
#footer small {
  display: block;
  font-size: 1.2rem;
  color: #000;
}
@media screen and (max-width: 640px) {
  #footer {
    padding: 0;
    margin-top: -3px;
  }
  #footer small {
    font-size: 1.8rem;
  }
}
/* =home common
-------------------------------------------------------------- */
.home-sec {
  padding: 55px 0;
}
.common-sec-ttl {
  text-align: center;
}
.common-sec-ttl span {
  display: block;
}
.common-sec-ttl span:last-child {
  font-size: 1.6rem;
  font-weight: normal;
  margin-top: 2px;
}
.common-home-bg {
  color: #fff;
}
.common-white-bg {
  background: #fff;
}
.common-home-list .item-container {
  width: 80%;
  margin: 55px auto 0;
}
.common-home-list .item-box {
  display: table;
  width: 100%;
  padding: 18px 0;
  margin: 0;
}
.common-home-list .item-box dt ,
.common-home-list .item-box dd {
  display: table-cell;
  margin: 0;
  padding: 0 20px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.common-home-list .item-box dt {
  width: 15%;
}
.common-home-list .item-box dd {
  width: 85%;
}
@media screen and (max-width: 640px) {
  .home-sec {
    padding: 70px 0;
  }
  .common-sec-ttl span:last-child {
    font-size: 2.0rem;
  }
  .common-sec-ttl span img.sp {
    display: inline-block;
  }
  .common-home-list .item-box dt ,
  .common-home-list .item-box dd {
    font-size: 2.0rem;
  }
}
/* =home mainvisual
-------------------------------------------------------------- */
#mainvisual {
  background: url('../images/home/bg_mv_20211115.jpg') no-repeat scroll center/cover;
}
#mainvisual .mv-ttl {
  padding: 300px 0 330px;
}
@media screen and (max-width: 640px) {
  #mainvisual {
    background: url('../images/home/bg_mv_sp_20211115.jpg') no-repeat scroll center/cover;
  }
  #mainvisual .mv-ttl {
    /*padding: 420px 0 470px;*/
  }
  .mv-ttl img {
    width: 100%;
  }
}


/* =contact
-------------------------------------------------------------- */

#contact {
  margin-bottom: 60px;
  margin-left: 300px;
}
#contact-title{
  margin-top: 100px;
}
imgbox
.contact-ttl h1 {
  font-size: 48px;
  margin-bottom: 10px;
}
.title-text-contact{
  margin-top: 100px;
}
.contact-ttl h3 {
  font-size: 24px;
  margin-bottom: 30px;
}
.contact-ttl p {
  font-size: 14px;
  margin-bottom: 30px;
}


.form {
  display: inline-block;
  text-align: left;
}
.form-box{
 margin-left: 200px;
}
.form label span {
  display: block;
}
input {
  width: 500px;
  height: 30px;
}
.form-input {
  margin-bottom: 20px
}
textarea {
  height: 90px;
  width: 500px;
}
button {
  width: 160px;
  height: 60px;
  background: #666;
  color: white;
}
button :hover {
  opacity: 0.7;
}
.error {
  display: block;
  padding: 4px 0;
  padding-left: 1.2em;
  color: red;
}
.inp {
  color: #555;
}

@media screen and (max-width: 640px) {
  #contact {
  margin-bottom: 60px;
  margin-left: 50px;
}
#contact-title{
  margin-top: 100px;
}
imgbox
.contact-ttl h1 {
  font-size: 14px;
  margin-bottom: 10px;
}
.title-text-contact{
  margin-top: 100px;
}
.contact-ttl h3 {
  font-size: 16px;
  margin-bottom: 30px;
}
.contact-ttl p {
  max-width: 470px;
  font-size: 14px;
  margin-bottom: 30px;
}


.form {
  display: inline-block;
  text-align: left;
}
.form-box{
 margin-left: 20px;
}
.form label span {
  display: block;
}
input {
  width: 450px;
  height: 30px;
}
.form-input {
  margin-bottom: 20px
}
textarea {
  height: 90px;
  width:  450px;
}
button {
  width: 160px;
  height: 60px;
  background: #666;
  color: white;
}
button :hover {
  opacity: 0.7;
}
.error {
  display: block;
  padding: 4px 0;
  padding-left: 1.2em;
  color: red;
}
.inp {
  color: #555;
}
}

/* =contact
-------------------------------------------------------------- */

#thx {
  margin-top: 180px;
  text-align: center;
}
.thx h1 {
  margin-bottom: 80px;
}
.top-btn a p {
  background: #e94d37;
  color: white;
}
/*-------------------------------------------
フッター
-------------------------------------------*/
  /* =footer
-------------------------------------------------------------- */
#footer {
  padding: 5px 0;
  margin-top: 80px;
  margin-bottom: 10px;
  text-align: center;
 font-size: 1.2rem;
}
#footer small {
  display: block;
  font-size: 1.2rem;
  color: #000;
  text-align: center;
   margin-top: 20px;


}
@media screen and (max-width: 640px) {
  #footer {
    padding: 0;
    margin-top: -3px;
	margin-bottom: 10px;	
    text-align: center;
  }
#footer small {
    font-size: 1.4rem;
  }}


