/* =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:1.2rem;
  text-align: center;
  margin-bottom: 20px;
  line-height:2;
}
/*-------------------------------------------
mission
-------------------------------------------*/
.mission{
  padding: 15px;
  margin-bottom: 15px;
  text-align: center;
	}
.mission-img {
  margin-bottom: 15px;
  text-align: center;
	}
.mission-p {
   margin-bottom: 30px;
   font-size:14px;
   line-height:2;
   text-align: center;
	}
#mission p.pc-image {
	text-align: center;
}
#mission p.pc-words {
	margin-top: 1em;
	text-align: center;
	font-size: 1em;
	line-height:2.5;

}
#mission p.sp-words {
	visibility: hidden;
	margin: 2em;
	text-align: center;
	font-size: 0.9em;
    margin-bottom:20px;

}
 
@media only screen and (max-width : 640px){
.mission{
  padding: 15px;
  margin-bottom: 15px;
  text-align: center;
	}
.mission-img {
	max-width: 300px;
  text-align: center;
	}
#mission p.pc-image {
	text-align: center;
}
#mission p.pc-words {
	margin-top: 1em;
	text-align: center;
	font-size: 1em;
	display: none;
}
#mission p.sp-words {
	margin: 1em;
	font-size: 0.8em;
	visibility: visible; 
	text-align:justify;
	line-height: 2em
}
}
/*-------------------------------------------
our Works
-------------------------------------------*/
.works{
  padding: 15px;
  margin-bottom: 15px;
  text-align: center;
	}
.works-img {
  text-align: center;
	}
.works-h3 {
  margin-bottom: 10px;
  font-size: 19px;
  line-height:1.6;
  text-align: center;
	}
.works-text p{
 text-align: center;
 font-size: 14px;
 line-height: 2em
	}

.works p {
    font-size: 13px;
	text-align: justify;
	line-height:1.8;
	}
.box{
  position: relative;
 margin-bottom: 20px;
}
.box span{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
	  margin-bottom: 20px;
}
.works-column {
  padding: 60px;
  color: #5a5c5f;
　width: 70%;
text-align: center;
}
.works-column-card {
  width: 33%;
}	
.works-column-inner {
  padding: 25px 10px;
  border-radius: 20px;
  text-align: center;
  margin: 0 20px;
}
.works-column-image {
  width: 100%;
  margin-bottom: 20px;
	
}
.works-column-inner-title {
  margin-bottom: 8px;
}
.works-column-inner-text {
  font-size: 12px;
}
.works-column-text{
  font-size: 12px;
} 

.works-column-wrapper {
  display: flex;
  flex-wrap: wrap;
	　width: 100vw;
    max-width: 920px;
    margin: 0 auto;/*左右中央に配置*/
}
#works-column-title h3  {
	margin-bottom:40px;
	font-size: 20px;
}

.works-column-card-un {
  width: 33%;
max-width: 920px;
}
.works-column-under {
 width: 500px;
 text-align: center;
 margin-bottom: 8px;
}
.works-column-inner-un {
  padding: 25px 1px;	
  text-align: center;
}
.works-column-wrapper-un {
  display: flex;
　width: 100vw;
    max-width: 1200px;
    margin: 0 auto;/*左右中央に配置*/
}
@media only screen and (max-width : 640px){
.works{
  padding: 15px;
  margin-bottom: 15px;
  text-align: center;
	}
.works-img {
  max-width: 300px;
  text-align: center;
	}
.works-h3 {
  margin-bottom: 10px;
  font-size: 14px;
  line-height:1.6;
  text-align: center;
	}
.works-text p{
 text-align: center;
	}
.works-text {
 margin: 20px;
	}

.works p {
    font-size:14px;
	text-align: justify;
	line-height:1.8;
	}
.box{
  position: relative;
 margin-bottom: 20px;
}
.box span{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
	  margin-bottom: 20px;
}
.works-column {
  padding: 80px;
  color: #5a5c5f;
　width: 80%;
text-align: center;
}
.works-column-card {
  width: 100%;
}	
.works-column-inner {
  padding: 25px 10px;
  border-radius: 20px;
  text-align: center;
  margin: 0 20px;
}
.works-column-image {
  width: 80%;
  margin-bottom: 20px;
	
}
.works-column-inner-title {
  margin-bottom: 8px;
}
.works-column-inner-text {
  font-size: 14px;
}
.works-column-wrapper {
  display: flex;
  flex-wrap: wrap;
	　width: 100vw;
    max-width: 920px;
    margin: 0 auto;/*左右中央に配置*/
}
#works-column-title h3  {
	margin-bottom:30px;
	font-size: 18px;
}

.works-column-card-un {
  width: 33%;
max-width: 920px;
}
.works-column-under {
 width: 700px;
 text-align: center;
 margin-bottom: 8px;
}
.works-column-inner-un {
  padding: 25px 1px;	
  text-align: center;
}
.works-column-wrapper-un {
  display: flex;
　width: 100vw;
    max-width: 1200px;
    margin: 0 auto;/*左右中央に配置*/
}
}

/*-------------------------------------------
package plan
-------------------------------------------*/
/* パッケージプラン 全体 */
.package-plan{
	padding: 40px 0	 80px ;
	color: #5a5c5f;
	text-align:center;
	background-color: #EEEEEE;
	height: 1350px;
   margin-bottom: 40px;

}
/* パッケージプラン タイトル */
.package-plan-title{
	color: #5a5c5f;
	text-align:center;
}
/* パッケージプラン タイトル下　コメント */
.span{
  　position: absolute;
  　top: 50%;
  　left: 50%;
  　transform: translate(-50%,-50%);
}
/* パッケージプラン 3項目 */
.package-plan-card{
	width: 33%;
	margin-top: 35px;

}
/* パッケージプラン 3項目　各欄 */
.package-plan-card-inner{
	text-align:center;
	margin:20px 0px 10px 20px;
    padding:20px;
    background-color: #FFFFFF;
	border-top: solid 10px #E84D37;
	border-left: solid 2px #E84D37;
	border-bottom: solid 2px #E84D37;
	border-right: solid 2px #E84D37;
	height: 1000px;
}
/* パッケージプラン 各欄 タイトル*/
.package-plan-title{
	margin-bottom:8px;
	text-align:center;
}
#package-plan-title.pc-words {
	margin-top: 1em;
	text-align: center;
	font-size: 3em;
}
#package-plan-title.sp-words {
	visibility: hidden;
	margin: 1em;
	text-align: center;
	font-size: 0.9em;
}
/* パッケージプラン 各欄 タイトル上*/
.package-plan-title-a{
	font-size: 14px;
	text-align: center;
	margin-bottom: 20px;
}
/* パッケージプラン 各欄 タイトル下コメント*/
.package-plan-title-b{
	margin:20px 0px 10px 20px;
	font-size: 14px;
	text-align: left;
}
/* パッケージプラン 各欄 リスト*/
.card{
	display: flex;
}
.plan-img{
	margin:40px;
	max-height: 100px;
	max-width: 80px;
}
.package-plan-wrapper{
	display: flex;
	flex-wrap: wrap;
	    max-width: 1200px;
    margin: 0 auto;/*左右中央に配置*/
}
.check-list {
	list-style: none;
	padding: 0;
	height: 400px;
}
.check-list li{
	position: relative;
	padding-left: 3em;
}
/* パッケージプラン 各欄 リスト*/
.check-list li::before{
	content:'';
	width: 1em;
	height: 0.6em;
	border-top-width: 0;
	border-right-width: 0;
	border-left: 3px solid #888888;
	border-bottom: 3px solid #888888;
	position: absolute;
	top: 50%;
	left: 0.8em;
	-webkit-transform: translateY(-80%) rotate(-45deg);
	transform: translateY(-80%) rotate(-45deg);
	line-height: 40px;
}
ul.check-list li {
margin-bottom: 40px;
	
}
.check-list ul{
 height: 800px;
}

/* plan buttan */
.button-plan{	
	text-align:center;
	margin-bottom: 44px;
	height: 100px;
}
.button-plan a {
    position: relative;
    display: flex;
    justify-content: space-around;
    margin: 30px;
    max-width: 240px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background: #eee;
    filter: drop-shadow(0px 2px 4px #ccc);
    border-radius: 3px;
}
.button-plan a:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px -5px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 10%);
}
.button-plan a:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #313131;
    border-right: 3px solid #313131;
    transform: rotate(45deg) translateY(-48%);
    position: absolute;
    top: 48%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
	text-align:center;
}
/* plan plice */
.price {
　align-items: center;
}
#price p {
 font-size: 14px;
  text-align: center;
}
#price span {
 width: 100%;
 font-size: 20px;
 text-align: center;
}

@media only screen and (max-width : 640px){
	/*-------------------------------------------
package plan
-------------------------------------------*/
/* パッケージプラン 全体 */
.package-plan{
	padding: 20px ;
	color: #5a5c5f;
	text-align:center;
	background-color: #EEEEEE;
    margin-bottom: 40px;
	height: 3750px;
}
/* パッケージプラン タイトル */
.package-plan-title{
    padding: 20px 0 20px;
	color: #5a5c5f;
	text-align:center;
}
/* パッケージプラン タイトル下　コメント */
.span{
  　position: absolute;
  　top: 50%;
  　left: 50%;
  　transform: translate(-50%,-50%);
}
.package-plan-title p.pc-words {
	margin-top: 1em;
	text-align: center;
	font-size: 1em;
	display: none;
}
.package-plan-title p.sp-words {
	margin: 1em;
	font-size: 0.8em;
	visibility: visible; 
	text-align:justify;
	line-height: 2em
}
/* パッケージプラン 3項目 */
.package-plan-card{
	width: 100%;
	margin: 20px;
}
/* パッケージプラン 3項目　各欄 */
.package-plan-card-inner{
	text-align:center;
	margin:20px;
    padding:20px;
    background-color: #FFFFFF;
	border-top: solid 10px #E84D37;
	border-left: solid 1px #E84D37;
	border-bottom: solid 1px #E84D37;
	border-right: solid 1px #E84D37;
	height: 1000px;

}
/* パッケージプラン 各欄 タイトル*/
.package-plan-title{
	margin-bottom:8px;
	text-align:center;
	}
.button-plan{
	margin-top:20px;
	text-align:center;
	}

/* パッケージプラン 各欄 タイトル上*/
.package-plan-title-a{
	font-size: 14px;
	text-align: center;
	margin-bottom: 20px;
}
/* パッケージプラン 各欄 タイトル下コメント*/
.package-plan-title-b{
	margin:20px 0px 10px 20px;
	font-size: 14px;
	text-align: left;
}
/* パッケージプラン 各欄 リスト*/
.card{
	display: flex;
}
.package-plan-wrapper{
	display: flex;
	flex-wrap: wrap;
	    max-width: 1200px;
    margin: 0 auto;/*左右中央に配置*/
}
.check-list {
	list-style: none;
	padding: 0;
}
.check-list li{
	position: relative;
	padding-left: 7em;
}
/* パッケージプラン 各欄 リスト*/
.check-list li::before{
	content:'';
	width: 1em;
	height: 0.6em;
	border-top-width: 0;
	border-right-width: 0;
	border-left: 3px solid #888888;
	border-bottom: 3px solid #888888;
	position: absolute;
	top: 50%;
	left: 5em;
	-webkit-transform: translateY(-80%) rotate(-45deg);
	transform: translateY(-80%) rotate(-45deg);
	line-height: 40px;
}
ul.check-list li {
margin-bottom: 40px;
	
}
.check-list ul{
}

/* plan buttan */
.button-plan{	
	text-align:center;
	margin-bottom: 40px;
}
.button-plan a {
    position: relative;
    display: flex;
    justify-content: space-around;
    margin: 30px 0px 30px 60px;
    max-width: 240px;
    padding: 10px 25px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 700;
    background: #eee;
    filter: drop-shadow(0px 2px 4px #ccc);
    border-radius: 3px;
	text-align:center;
}
.button-plan a:hover {
    transform: translateY(-2px);
    box-shadow: 0 15px 30px -5px rgb(0 0 0 / 15%), 0 0 5px rgb(0 0 0 / 10%);
}
.button-plan a:after {
    content: '';
    width: 10px;
    height: 10px;
    border-top: 3px solid #313131;
    border-right: 3px solid #313131;
    transform: rotate(45deg) translateY(-48%);
    position: absolute;
    top: 48%;
    right: 20px;
    border-radius: 1px;
    transition: 0.3s ease-in-out;
	text-align:center;
}
/* plan plice */
.price {
　align-items: center;
}
#price p {
 font-size: 14px;
  text-align: center;
}
#price span {
 width: 100%;
 font-size: 20px;
 text-align: center;
}
}
/*-------------------------------------------
ACHIEVEMENT-b
-------------------------------------------*/
.achievement-b{
	padding: 40px 0 30px;
	color: #5a5c5f;
	text-align:center;
　　display:block;
　　margin-top: 25px ;
	position:static;
}
.achievement-b-card{
	width: 50%;
	margin-top: 25px ;
}
.achievement-b-card-inner{
	padding: 15px 2px;
	border-radius: 5px;
	text-align:center;
	margin:0 5px
}
.achievement-b-image{
	width: 100%;
	margin-bottom: 10px;
}
.achievement-b-title{
	margin-bottom:8px;	
}
.achievement-b-text{
	font-size: 14px;
}
.card{
	display:block;
}
.achievement-b-card-wrapper{
	display: flex;
	flex-wrap: wrap;
	    max-width: 500px;
    margin: 0 auto;
}
.achievement-b-card-inner{
  position: relative;

}
.achievement-b-card-inner p{
  font-size: 16px;
  position: absolute; 
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

/*-------------------------------------------
フッター
-------------------------------------------*/
  /* =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;
  }
}
