@charset "utf-8";

/* ////////////////////////////////////////////////////////////
	File Name	index.css
*/

/*============================================================
	見出しライン
*/
.h-border {
	position: relative;
	margin-left: auto;
	margin-right: auto;
	max-width: 450px;
	text-align: center;
	font-size: 44px;
	line-height: 1.2;
}
.h-border::before {
	content: '';
	display: block;
	position: absolute;
	bottom: 24px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #212121;
}
.h-border .wrap {
	position: relative;
	display: inline-block;
	padding: 0 20px;
	background-color: #fff;
}
.h-border .small {
	font-size: 81%;
}
.h-border strong {
	color: #234e9c;
}

/* SP */
@media screen and (max-width: 768px) {
	.h-border {
		font-size: 24px;
	}
	.h-border::before {
		bottom: 16px;
	}
	.h-border .wrap {
		padding: 0 10px;
	}
}

/*============================================================
	メイン
*/
.main {
	position: relative;
	width: 100%;
	height: 570px;
	background-color: #000;
	color: #fff;
}
.main .bg {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000 url(../img/index/bg-main.jpg) 50% 50% no-repeat;
	background-size: cover;
}
.main .inner {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
.main .logo {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 290px;
}
.main .logo-t {
	z-index:999;
	width:250px;
	height:169px;
	position:absolute;
	top:24px;
	left:24px;
}
.main .logo-t img {
	width:100%;
	height:auto;
}
.main h1 {
	max-width: 950px;
	width: 100%;
}
.main .area {
	position: absolute;
	bottom: 20px;
	right: 20px;
	padding: 16px 50px 16px 25px;
	background: #212121 url(../img/index/area.png) 100% 50% no-repeat;
	background-size: contain;
	border: 2px solid #fff;
	font-size: 13px;
	line-height: 1.7;
}
.main .area h3 {
	margin: 0 0 3px 0;
	font-size: 20px;
	line-height: 1.5;
}

/* SP */
@media screen and (max-width: 768px) {
	.main {
		height: auto;
	}
	.main .bg {
		background-position: 50% 50%;
	}
	.main .logo {
		position: static;
		width: 30%;
	}
	.main .inner {
		display: block;
	}
	.main h1 {
		margin: -1% 0 0 0;
		padding: 0 0 12% 0;
	}
	.main .area {
		position: static;
		padding: 10px 40px 10px 15px;
		background-color: rgba(0,0,0,0.8);
		border: 0;
		font-size: 11px;
	}
	.main .area h3 {
		font-size: 16px;
	}
}

/*============================================================
	メイン（新）
*/
.inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 4vw;
}

.inner-sm {
  max-width: 973px;
  margin: 0 auto;
  padding: 0 0.5vw;
}

.mb30 {
  margin-bottom: 30px !important;
}

.xsSp {
  display: none;
}

.notosans {
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 700;
  font-style: normal;
}

.sp-nav .header-contact {
	display:none;
}


/* SP */
@media screen and (max-width: 768px) {
.inner-sm {
  padding: 0 4.5vw;
}

}

/*============================================================
	video
*/

.mv {
  position: relative;
  width: 100%;
  height: 100%;
  height: 540px;
}

.bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0.75;
  width: 100%;
  height: 100%;
}

.bg img {
  object-fit: cover;
}

.video {
  width: 100%;
  height: 595px;
  position: relative;
}

.video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.mv-ttl-wrapper {
	border-top:solid 3px #111;
	border-bottom:solid 3px #111;
	position: absolute;
	z-index: 2;
	left: 50%;
	top:105px;
	transform: translateX(-50%);
	width: 60%;
	padding: 30px 0 28px 0;
}

.mv-lead,
.mv-txt,
.mv-ttl,
.line,
.contact-btn {
  
}

.mv-lead {
    font-size:20px;
    font-weight:900;
    position: absolute;
    top:-50px;
    text-align:center;
    transform: translateX(-50%);
    left: 50%;
    margin: auto;
    background:url(../img/index/mv-lead-line2.png) no-repeat right center;
    padding-right:18px;
}

.mv-lead span {
	background:url(../img/index/mv-lead-line1.png) no-repeat left bottom 1px;
	padding-left:24px;
}

.mv-txt {
  font-size: 30px;
  font-weight:900;
  line-height: 1.66;
  letter-spacing: 0.025em;
  text-align: center;
  width: 100%;
  text-align:center;
}

.mv-ttl {
	text-align:center;
	padding:0 0 16px 0;
}

.mv-ttl img {
	width:auto;
	max-width:100%;
	height:auto;
}

.mv-txt-bk {
	text-shadow:2px  2px 0px #FFF,
	-2px  2px 0px #FFF,
	2px -2px 0px #FFF,
	-2px -2px 0px #FFF,
	2px  0px 0px #FFF,
	0px  2px 0px #FFF,
	-2px  0px 0px #FFF,
	0px -2px 0px #FFF,
	2px 2px 0px #FFF,
	1px 1px 0px #FFF;
	font-weight:900;
	text-align:center;
	font-size:28px;
	margin:0 0 12px 0;
}

.mv-btns {
	text-align:center;
}

a.btn-entry {
	position: relative;
	display:inline-block;
	width:45%;
	margin:0 7px;
}

a.btn-vendor {
	position: relative;
	display:inline-block;
	width:45%;
	margin:0 7px;
}

.point {
  /*position: absolute;*/
  z-index: 10;
}

.point1 {
  max-width: 200px;
  width: 15.3%;
  transform: translate(-300%, 0%);
}

.point2 {
  max-width: 204px;
  width: 15.7%;
  transform: translate(-300%, 0%);
}

.point3 {
  max-width: 181px;
  width: 13.9%;
  transform: translate(-250%, 0%);
}



/* SP */
@media screen and (max-width: 768px) {
.mv {
    height: 370px;
  }

.video {
    height: 100%;
    width:100%;
  }

  .video video {
    object-position: center;
    /* object-fit: contain; */
  }

  .mv-lead {
    top: -30px;
    width: 90%;
    font-size: 14px;
    padding-right: 20px;
  }
  
  .mv-lead span {
    padding-left: 29px;
}

  .mv-txt {
    top: 114px;
    padding: 0 4vw;
    width: 92%;
    font-size: 14px;
  }
  
  .mv-ttl-wrapper {
    border-top: solid 2px #111;
    border-bottom: solid 2px #111;
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 80px;
    transform: translateX(-50%);
    width: 90%;
    padding: 16px 0 16px 0;
}

  .mv-ttl {
    padding: 0 0 12px 0;
  }
  
  .mv-ttl img {
    width: 100%;
    max-width: 100%;
    hight: auto;
}
  
  .mv-txt-bk {
    font-size: 14px;
    margin: 0 0 10px 0;
    letter-spacing:-0.7px;
}

    a.btn-entry {
    position: relative;
    display: inline-block;
    width: 92%;
    margin: 0 0 6px ;
    }
    
    a.btn-vendor {
    position: relative;
    display: inline-block;
    width: 92%;
    margin: 0;
    }

  .point1,
  .point2,
  .point3 {
    display: none;
  }

}


/*============================================================
	feature tx
*/
.feature-tx {
	background:#fffdeb;
	color:#333;
	line-height:1.8;
	font-weight:bold;
	z-index:10;
	position:relative;
	text-align:center;
}

.feature-tx img {
	width:auto;
	height:auto;
	max-width:100%;
	margin-top:-50px;
}

.feature-tx img.pc {
	display: inline !important;
}

.feature-tx p {
	padding:20px 45px 60px 45px;
}

.feature-tx p span {
	color:#ce413c;
	font-size:24px;
}

.feature-tx:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 40px 62.5px 0 62.5px;
    border-color: #fffdeb transparent transparent transparent;
    z-index: 1;
}

/* SP */
@media screen and (max-width: 768px) {
    .feature-tx {
	    
    }
    
    .feature-tx img.pc {
	display: none !important;
}

.feature-tx img.sp {
	display: inline !important;
	margin-top: -30px;
}

    .feature-tx p {
    	padding: 14px 18px 25px 18px;
	    font-size:13px;
    }
    
    .feature-tx p span {
    font-size: 18px;
    line-height: 1.0;
}


}

/*============================================================
	about
*/

.about {
  width: 100%;
  background-image: url(../img/about-bg.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center 0;
  height: 100%;
  padding: 100px 0 200px 0;
  margin-bottom:-100px;
}

.about .inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	margin-bottom:36px;
}

.about-ttl {
    font-size:36px;
    margin: 0 auto 42px auto;
    text-align:center;
}

.about dl.about-list {
	border:solid 2px #111;
	background:#FFF;
	border-radius:5px;
	width:48.7%;
	line-height:1.6;
	margin-bottom:30px;
	min-height: 230px;
}

.about dl.about-list dt {
	color:#FFF;
	font-weight:bold;
	background:#006b99;
	padding:24px 34px;
	font-size:18px;
}

.about dl.about-list dt span {
	color:#f7eb23;
}

.about dl.about-list dd {
	padding:24px 30px;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	padding-left:135px;
	font-size:15px;
}

.about dl:first-child dd {
	background:url(../img/index/ic-about01.png) no-repeat 40px 24px;
}

.about dl:nth-child(2) dd {
	background:url(../img/index/ic-about02.png) no-repeat 40px 24px;
}

.about dl:nth-child(3) dd {
	background:url(../img/index/ic-about03.png) no-repeat 40px 24px;
}

.about dl:nth-child(4) dd {
	background:url(../img/index/ic-about04.png) no-repeat 40px 24px;
	padding-bottom:44px;
}

/* SP */
@media screen and (max-width: 768px) {
.about {
    padding: 50px 0 80px 0;
    margin-bottom: -60px;
  }

  .about-ttl {
    font-size:20px;
    margin: 0 auto 20px auto;
    text-align:center;
    width: 90%;
    max-width: 100%;
    padding: 0;
  }

  .about-txt {
    text-align: left;
  }
  
  .about dl.about-list {
    border: solid 2px #111;
    background: #FFF;
    border-radius: 5px;
    width: 100%;
    line-height: 1.6;
    margin-bottom: 16px;
}

.about dl.about-list dt {
    font-size: 16px;
}

.about dl:first-child dd {
    background: url(../img/index/ic-about01.png) no-repeat 25px 24px;
}

.about dl:nth-child(2) dd {
	background:url(../img/index/ic-about02.png) no-repeat 25px 24px;
}

.about dl:nth-child(3) dd {
	background:url(../img/index/ic-about03.png) no-repeat 25px 24px;
}

.about dl:nth-child(4) dd {
	background:url(../img/index/ic-about04.png) no-repeat 25px 24px;
}

.about dl.about-list dd {
    font-size: 14px;
    padding-left: 110px;
    padding: 18px 24px 18px inherit;
}

}

/*============================================================
	flow
*/

.flow {
	display:block !important;
}

.flow-ttl {
    font-size:36px;
    margin: 0 auto;
    text-align:center;
    margin: 0 auto 24px auto;
}

.flow-list {
    background:#FFF;
    background-color: #fff;
    box-sizing: border-box;
    border-radius: 10px;
    box-shadow: 3px 5px 0 #006b99;
    padding:40px 50px;
    margin-bottom:60px;
    position:relative;
}

.flow-list:after {
	background:url(../img/index/arrow.png) no-repeat;
	width:36px;
	height:37px;
	text-align:center;
	content: '';
	display: inline-block;
	background-size: contain;
	vertical-align: middle;
	position:absolute;
	bottom:-48px;
	left: 50%;
	transform: translateX(-50%);
	margin: auto;
}

.flow-list#last:after {
	background:none;
}

.flow-list#last h3 {
	border-bottom:none;
	margin-bottom:0px;
	padding: 0 0 6px 0;
}


.flow-list p {
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	padding:0 4px;
}

.flow-list h3 {
	border-bottom:solid 3px #111;
	font-size:24px;
	display:block;
	margin-bottom:30px;
	line-height:1;
	padding: 0 0 6px 0;
}

.flow-list h3::first-letter {
	font-size:48px;
	vertical-align: -8px;
	margin-right:6px;
}

.flow-list ul {
	margin-top:30px;
}

.flow-list ul li {
	background:#f0f0f0;
	padding:16px 26px;
	font-weight:bold;
	margin-bottom:12px;
	border-radius:10px;
	overflow:hidden;
}

.flow-list ul li.li-tekkyoman {
    background:url(../img/index/ic-man.png) #f0f0f0 no-repeat left 24px center;
    min-height:116px;
    padding-left:110px;
    vertical-align:middle;
    display:block;
    padding-top:30px;
    }

.flow-list ul li div {
	height:100%;
	vertical-align:middle;
}

.flow-list ul li img {
	margin-right:12px;
	width:auto;
	height:auto;
	display:block;
	float:left;
}

.flow-list ul li span {
	color:#009ee2;
}

.flow-list ul li p {
	color:#333;
	font-size:14px;
	font-weight:normal;
}


.review {
	border-radius:10px;
	padding-right:100px;
	background:url(../img/index/img-amazon.png) no-repeat right 30px top 30px #006b99;
	color:#FFF;
	font-weight:bold;
	font-size:18px;
	line-height:1.8;
	height:190px;
	padding:40px 60px;
}

.review span {
	font-size:30px;
}


.review p {
	
}

/* SP */
@media screen and (max-width: 768px) {
    .flow-ttl {
	font-size: 20px;
	margin: 0 auto;
	text-align: center;
	margin: 0 auto 18px auto;
    }
    
    .flow-list {
	padding: 20px 20px;
	margin-bottom: 60px;
    }
    
    .flow-list h3::first-letter {
    font-size: 24px;
    vertical-align: -3px;
    margin-right: 3px;
}

.flow-list h3 {
    border-bottom: solid 2px #111;
    font-size: 16px;
    display: block;
    margin-bottom: 20px;
    line-height: 1.2;
    padding: 0 0 10px 0;
}


.flow-list ul {
    margin-top: 18px;
}

.flow-list ul li {
    padding: 16px 16px;
    }

.flow-list ul li.li-tekkyoman {
    background: url(../img/index/ic-man.png) #f0f0f0 no-repeat left 14px center;
    background-size:48px;
    min-height: 86px;
    padding-left: 70px;
    vertical-align: middle;
    display: block;
    padding-top: 15px;
    line-height:1.6;
}

.flow-list ul li p {
    font-size: 13px;
    margin-top:8px;
}

.review {
    border-radius: 10px;
    padding-right: 100px;
    background: url(../img/index/img-amazon.png) no-repeat center top 30px #006b99;
    color: #FFF;
    font-weight: bold;
    font-size:14px;
    line-height: 1.8;
    height: auto;
    padding: 170px 20px 20px 20px;
}

.review span {
    font-size: 20px;
}


}

/*============================================================
	feature（共通）
*/
.feature {
  width: 100%;
  height: 100%;
  position: relative;
  background:url(../img/index/dot-yellow.png);
  -webkit-transform: skew(0deg, -6deg);
  padding:120px 0;
}

.feature .inner {
  position: relative;
  z-index: 1;
  -webkit-transform: skew(0deg, 6deg);
}

.feature-head {
  display: flex;
  justify-content: center;
  align-items: center;
}

.feature-lead {
  line-height: 2.0;
  text-align: center;
  padding:36px 0 6px 0;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.feature-lead span {
	color:#009ee2;
}

.feature-box-ttl {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  padding-bottom: 12px;
  border-bottom: 3px solid #211815;
  margin: 48px 60px 0 60px;
}

.feature-box-ttl:nth-of-type(n+2) {
  margin: 12px 60px 0 60px;
}

.feature-box-ttl span {
	font-size: 36px;
	line-height: 1.2;
}

.feature-box {
  background-color: #fff;
  box-sizing: border-box;
  border: 2px solid #212121;
  border-radius: 10px;
  box-shadow: 3px 5px 0 #009ee2;
  height: 100%;
  padding:0 !important;
}

.feature-box p {
  line-height: 1.87;
}

.feature-box h3 {
	background:#ff9600;
	color:#FFF;
	font-weight:900;
	font-size:24px;
	border-radius: 8px 8px 0 0;
	padding:16px 53px;
}

.feature-box h3::first-letter {
	font-size:48px;
	font-weight:normal;
	vertical-align: -8px;
	margin-right:6px;
	line-height:1;
}

.feature-box h3 span {
	font-size:36px;
}

.feature-box h3.h3br {
	line-height:1.4;
	padding:30px 60px;
}

.feature-box h3.h3br span.h3-s {
	font-size:16px !important;
	font-weight:normal;
	line-height:0.9;
}

/* SP */
@media screen and (max-width: 768px) {
.feature {
    padding: 60px 0;
}

.feature-head-number {
    width: 40px;
    height: 40px;
    line-height: 35px;
    margin-right: 2.3%;
    font-size: 24px;
  }

  .feature1-bg img {
    object-fit: cover;
  }
  
  .feature-box-ttl {
    font-size: 20px;
    line-height: 1.6;
    }
    
    .feature-lead {
    font-size: 14px;
    }
    
    .feature3-box1 .feature-box-ttl, .feature3-box2 .feature-box-ttl {
	margin-bottom: 30px;
	margin-top:8px;
	padding-bottom: 8px;
    }

}


/*============================================================
	feature1
*/

.feature1-head {
  padding: 54px 0 32px;
}

.feature1-ttl {
    font-size:30px;
    font-weight:900;
    text-align:center;
    line-height:1.4;
}

.feature1-ttl span {
    font-size:48px;
}

.feature1-box-wrapper {
  position: relative;
  margin: 45px 0 68px 0;
}

.feature1-box1 {
  margin-bottom: 43px;
  margin-left: auto;
  padding: 49px 55px 43px 74px;
}

.feature1-box1-img {
  max-width: 270px;
  height: 100%;
  float: right;
  padding: 0 0 33px 30px;
}

.feature1-box1-img2 {
  max-width: 300px;
  height: 100%;
  float: left;
  padding: 0 30px 33px 0;
}

.feature1-box1-cont {
  padding: 38px 60px 42px 60px;
  position: relative;
  z-index: 2;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  overflow:hidden;
}

.feature1-box1-cont p {
  margin-bottom: 36px;
}

.feature1-box1-cont p:last-of-type {
  margin-bottom: 0px;
}

.feature3-box2-child {
    max-width: 1100px;
    margin-top: 30px;
    background-color: #f0f0f0;
    border-radius: 10px;
    padding: 46px 51px 32px;
    line-height: 1.87;
}

/* SP */
@media screen and (max-width: 768px) {
    .feature1-bg {
	top: -90px;
	height: 140%;
    }
    
    .feature1-head {
	padding: 34px 0 18px;
    }
    
    .feature1-ttl {
	max-width: auto;
	font-size: 18px;
	line-height: 1.4;
    }
    .feature1-ttl span {
	font-size: 28px;
  }
  
  .feature-lead {
    line-height: 1.8;
    text-align: center;
    padding: 24px 18px 6px 18px;
    font-size: 15px;
}

.feature1-box-wrapper {
    margin: 45px 0 28px 0;
    }
    
.feature-box-ttl {
    font-size: 16px;
    line-height: 1.5;
    padding-bottom: 10px;
    border-bottom: 2px solid #211815;
    margin: 18px 18px 0 18px;
}

.feature-box-ttl span {
    font-size: 24px;
    line-height: 1.2;
}

.feature-box-ttl:nth-of-type(n+2) {
    margin: 12px 18px 0 18px;
}

.feature-box h3::first-letter {
    font-size: 30px;
    font-weight: normal;
    vertical-align: -3px;
    margin-right: 6px;
    line-height: 1;
}

.feature-box h3.h3br {
    line-height: 1.4;
    padding: 18px 18px;
}

.feature-box h3 span {
    font-size: 18px;
}

.feature-box h3.h3br span.h3-s {
    font-size: 14px !important;
    }

  .feature1-box1 {
    margin: 0 auto 43px;
    padding: 6vw 8vw;
  }
  
  .feature-box h3 {
    padding: 16px 23px;
    line-height:1.5;
    font-size:18px;
}

.feature-box h3 span {
    font-size: 24px;
}

  .feature1-box1-cont {
    display: flex;
    flex-direction: column;
    padding: 18px 20px 24px 20px;
  }

  .feature1-box1-img {
    order: 1;
    max-width: 100%;
    float: none;
    width: 100%;
    padding: 0;
    margin-top: 25px;
  }

  .feature1-box1-cont p:first-of-type {
    margin-bottom: 0px;
  }
  
  .feature1-box-wrapper {
  margin-top: 25px;
  }

  .feature1-box2 {
    margin: 0 auto 41px;
    padding: 6vw 8vw;
  }

  .feature1-box2 .feature-box-ttl,
  .feature1-box3 .feature-box-ttl {
    margin-bottom: 30px;
  }

  .feature1-box3 {
    margin: 0 auto;
    padding: 6vw 8vw;
  }
  
  .feature3-box2-child {
    max-width: 100%;
    margin-top: 30px;
    border-radius: 10px;
    padding: 18px 18px 18px 18px;
    line-height: 1.87;
}

  .feature3-box2-child h4 {
  	margin-bottom:18px;
  }

}



/*============================================================
	area
*/

.area {
  padding: 120px 0;
  background-color: #fff;
  display:none;
}

.sec-ttl {
  font-size: 18px;
  font-weight: bold;
  font-family: noto-sans-cjk-jp, sans-serif;
  padding: 21px 4vw 20px 67px;
  background-image: url(../img/ttl-bg.png);
  background-repeat: no-repeat;
  background-size: contain;
  position: relative;
}

.sec-ttl:before {
  content: "";
  position: absolute;
  top: 46%;
  transform: translateY(-50%);
  left: 20px;
  background-image: url(../img/ttl-icon.png);
  width: 34px;
  height: 34px;
  background-size: contain;
}

.area p {
  line-height: 1.87;
  margin-top: 28px;
  margin-bottom: 10px;
  max-width: 60.6%;
}

.area-cont {
  margin: -95px 0 39px;
  display: flex;
}

.area-cont-detail {
  flex: 0 1 60.6%;
  align-self: flex-end;
}

.area-list {
  display: flex;
  margin-bottom: 6px;
}

.area-list li a {
  font-weight: bold;
  color: #111;
  position: relative;
}

.area-list li a:before {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 0;
  width: 100%;
  border-bottom: 2px solid #aaa;
}

.area-list li:first-child {
  color: #fff;
  width: 56px;
  height: 32px;
  line-height: 32px;
  text-align: center;
  background-color: #000;
}

.area-list li:not(:first-child) {
  padding: 4px 10px 0;
  position: relative;
}

.area-list li:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 14px;
  background-color: #111;
}

.area-list li:last-child:after {
  content: "";
  width: 0;
}

.area-cont-img {
  flex: 0 1 32.1%;
  height: 209px;
  margin: 40px 40px 0 30px;
}

.area-cont-img img {
  object-fit: cover;
  object-position: center;
  border-radius: 9px;
  margin-top:-40px;
}

.area-btn-wrapper {
  display: flex;
  justify-content: center;
}

.area-btn {
  background-size: cover;
  background-position: center;
  color: #fff;
  font-size: 17.5px;
  font-weight: bold;
  letter-spacing: 0.05em;
  width: 306px;
  height: 52px;
  line-height: 52px;
  text-align: center;
  text-decoration: none;
}

.area-btn1 {
  background-image: url(../img/btn-red2.png);
  margin-right: 22px;
}

.area-btn2 {
  background-image: url(../img/btn-blue.png);
  margin-right: 22px;
}

.area-btn3 {
  background-image: url(../img/btn-orange.png);

}


/* SP */
@media screen and (max-width: 768px) {
.area {
    padding: 63px 0 73px;
  }

  .sec-ttl {
    padding: 2.5vw 4vw 20px 50px;
    background-image: url(../img/ttl-bg_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: relative;
  }
  
  .sec-ttl:before {
  top: 44%;
}

  .area p {
    margin: 18px auto 0;
    max-width: 95%;
  }
  
  .area-list {
  font-size:80%;	
  }
  
  .area-list li:first-child {
    width: 46px;
    height: 30px;
    line-height: 28px;
    }
    
    .area-list li:not(:first-child) {
      padding: 4px 8px 0;
    }

  .area-cont {
    margin: 0px 0 39px;
    flex-direction: column-reverse;
  }

  .area-cont-detail {
    flex: 0 1 100%;
    align-self: center;
  }

  .area-cont-img {
    flex: 0 1 100%;
    height: 100%;
    margin: 40px auto 38px;
  }
  
  .area-cont-img img {
  	margin-top:0
  }

  .area-btn-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;

  }

  .area-btn {
    margin: 0 auto;
    width: 100%;
    max-width: 306px;
  }

  .area-btn1 {
    margin-right: auto;
    margin-bottom: 16px;
  }
  
  .area-btn2 {
    margin-right: auto;
    margin-bottom: 16px;
  }
  
  .sec-ttl::before {
    width: 5vw;
    height: 5vw;
}

}


/*============================================================
	実績
*/
.result {
	padding: 120px 0 100px 0;
	background-color: #f2f2f2;
	color: #333;
	-webkit-transform: skew(0deg, -6deg);
}
.result .container {
	max-width: 1060px;
	-webkit-transform: skew(0deg, 6deg);
}

.result h2 br {
	display: none;
}
.result h2 strong {
	color: #fbf700;
}
.result h2 .num {
	font-size: 136%;
}
.result .lead {
	margin: 30px 0 0 0;
	text-align: center;
}
.result .list {
	margin: 40px 0 100px 0;
	padding: 30px;
	background-color: #fff;
	color: #111;
}
.result .list h3 {
	padding: 10px;
	background-color: #333;
	text-align: center;
	line-height: 1.2;
	color: #fff;
}
.result .list .scroll {
	position: relative;
	height: 600px;
}
.result .list .scroll.ps--active-y {
	padding-right: 20px;
}
.result .list ul {
	display: table;
	width: 100%;
}
.result .list ul li {
	display: table-row;
}
.result .list ul li div {
	display: table-cell;
	vertical-align: top;
	padding: 10px 10px;
	border-bottom: 1px dashed #999;
}
.result .list ul li div:first-child {
	width: 300px;
	font-weight: 700;
}

/* TB */
@media screen and (max-width: 980px) {
	.result h2 br {
		display: block;
	}
}

/* SP */
@media screen and (max-width: 768px) {
	.result {
		padding: 40px 0 40px 0;
	}
	.result .lead {
		margin: 20px 0 0 0;
		text-align: left;
	}
	.result .list {
		margin: 20px 0 54px 0;
		padding: 15px;
	}
	.result .list .scroll {
		height: 300px;
	}
	.result .list ul {
		display: block;
	}
	.result .list ul li {
		display: block;
		padding: 10px 0;
		border-bottom: 1px dashed #999;
		line-height: 1.7;
	}
	.result .list ul li div {
		display: block;
		padding: 0;
		border: 0;
	}
	.result .list ul li div:first-child {
		width: 100%;
	}
}

/*============================================================
	家賃交渉
*/

.work-box {
  background-color: #fff;
  box-sizing: border-box;
  border: 2px solid #212121;
  border-radius: 10px;
  box-shadow: 3px 5px 0 #009ee2;
  height: 100%;
  margin:0 auto 60px auto;
  position: relative;
}

.work-box h3 {
	background:#484848;
	color:#FFF;
	font-weight:900;
	font-size:24px;
	border-radius: 8px 8px 0 0;
	padding:16px 53px;
	text-align:center;
}

.work-box h3 span {
	font-size:36px;
}

.work-box h3.h3br {
	line-height:1.6;
	padding:36px 60px;
}

.work-box-wrapper {
  display: flex;
  position: relative;
  padding:60px 60px 0 60px;
}

.work-box-img {
  width: 200px;
  height: 100%;
  z-index:11;
}

.work-box-cont {
    margin: 0 0 0 40px;
}

.work-box-ttl {
  font-size: 30px;
  font-weight: bold;
  line-height: 1;
  border-bottom: 3px solid #211815;
  font-family: noto-sans-cjk-jp, sans-serif;
  padding-bottom: 19px;
  margin-bottom: 43px;
}

.txtRed {
  color: #d42c25;
}

.work-box-cont p {
  max-width: 730px;
  line-height: 1.87;
}

.work-box-label {
  font-size: 24px;
  font-weight: bold;
  font-family: noto-sans-cjk-jp, sans-serif;
  background-color: #ff9600;
  height: 85px;
  line-height: 85px;
  width: 100%;
  margin-top: -60px;
  margin-bottom: 69px;
  text-align: center;
  transform: rotate(-5.5deg);
  transform: skewY(-5.5deg);
  color:#FFF;
  z-index:10;
}

.work-box-label .number {
  font-size: 36px;
}

.work-box-label .txt-sm {
  font-size: 18px;
}

.work-box-txt {
  line-height: 1.87;
  margin: 0 auto;
  padding: 30px 60px 60px 60px;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

.btn-optimization {
	height:auto;
	text-align:center;
	margin:0 60px 60px 60px;
}

.btn-optimization img {
	width:auto;
	height:auto;
}


/* SP */
@media screen and (max-width: 768px) {
.work {
    margin-bottom: 60px;
    padding: 94px 0 86px;
  }

.work-box-wrapper {
    padding: 10px 18px 0 18px;
}

.work-box {
  margin-bottom:30px;
}

.work-box h3 {
    font-size: 14px;
}

.work-box h3.h3br {
    line-height: 1.6;
    padding: 18px 14px;
}

.work-box h3 span {
    font-size: 20px;
}

  .work-box-cont {
    margin: 0 7vw 20px;
  }

  .work-box-img {
    width: 22%;
    height: 88%;
    margin-left: 0px;
    margin-top: 0px;
    position: absolute;
    top: -190px;
    left: -11px;
  }

  .work-box-img img {
    object-fit: contain;
  }

  .work-box-ttl {
    font-size: 18px;
    line-height:1.4;
    padding-left: 9vw;
    padding-bottom: 10px;
    margin-bottom: 30px;
}

  .work-box-label {
    font-size: 3.4vw;
    height: 111px;
    line-height: 32px;
    padding: 24px 0;
    margin: 6px 0 40px 0;
  }
  
  .work-box-label .number {
    font-size: 24px;
}

.work-box-txt {
    padding: 0px 18px 24px 18px;
}

.btn-optimization {
    margin: 0 18px 18px 18px;
    }
    
.btn-optimization img {
    width:100%;
    height:auto;
    }

}


/*============================================================
	media
*/
.media {
	
}

.media-list {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 30px;
}

.media-list li {
  margin-bottom: 25px;
}

.media1 {
  flex: 0 1 16.3%;
  margin-right: 5%;
  padding-top: 7px;
}

.media2 {
  flex: 0 1 14.3%;
  margin-right: 5%;
}

.media3 {
  flex: 0 1 17.3%;
  margin-right: 5%;
}

.media4 {
  flex: 0 1 6.5%;
  margin-right: 5%;
}

.media5 {
  flex: 0 1 23.4%;
  margin-right: 2.8%;
}

.media6 {
  flex: 0 1 16%;
  margin-right: 4%;
}

.media7 {
  flex: 0 1 11.7%;
  margin-right: 4%;
}

.media8 {
  flex: 0 1 17.9%;
  margin-right: 3%;
}

.media9 {
  flex: 0 1 13.5%;
  margin-right: 4.6%;
}

.media10 {
  flex: 0 1 16.8%;
  margin-right: 4.5%;
}

.media11 {
  flex: 0 1 10.1%;
}


/* SP */
@media screen and (max-width: 768px) {
.media-list {
    justify-content: flex-start;
     margin-top: 10px;
  }
  
  .media1 {
  flex: 0 1 40%;
  margin-right: 10%;
  padding-top: 7px;
}

.media2 {
  flex: 0 1 40%;
  margin-right: 10%;
}

.media3 {
  flex: 0 1 40%;
  margin-right: 10%;
}

.media4 {
  flex: 0 1 40%;
  margin-right: 10%;
}

.media5 {
  flex: 0 1 40%;
  margin-right: 5.6%;
}

.media6 {
  flex: 0 1 40%;
  margin-right: 8%;
}

.media7 {
  flex: 0 1 40%;
  margin-right: 8%;
}

.media8 {
  flex: 0 1 40%;
  margin-right: 6%;
}

.media9 {
  flex: 0 1 40%;
  margin-right: 9.6%;
}

.media10 {
  flex: 0 1 45%;
  margin-right: 4.5%;
}

.media11 {
  flex: 0 1 30%;
}
	
}


/*============================================================
	よくあるご質問
*/
.faq {
	padding: 100px 0 120px 0;
}
.faq .container {
	max-width: 1060px;
}
.faq .list {
	padding: 20px 0 0 0;
}
.faq .list .block {
	margin: 30px 0 0 0;
	border: 2px solid #f3f3f3;
}
.faq .list .block .q {
	background-color: #f3f3f3;
	font-size: 18px;
	line-height: 1.7;
	cursor: pointer;
	-moz-user-select: none;
	-webkit-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
.faq .list .block .q .in {
	position: relative;
	padding: 25px 80px;
}
.faq .list .block .q .icon {
	position: absolute;
	top: 20px;
	left: 25px;
	width: 40px;
	height: 40px;
	background: transparent url(../img/index/faq-q.png) 50% 50% no-repeat;
	background-size: cover;
}
.faq .list .block .q .icon span {
	display: block;
	width: 100%;
	height: 100%;
	background: transparent url(../img/index/faq-q-w.png) 50% 50% no-repeat;
	background-size: cover;
	opacity: 0;
}
.faq .list .block .q i {
	position: absolute;
	top: 50%;
	right: 25px;
	display: block;
	margin-top: -10px;
	width: 20px;
	height: 20px;
}
.faq .list .block .q i::before,
.faq .list .block .q i::after {
	content: '';
	display: block;
	position: absolute;
	background-color: #234e9c;
}
.faq .list .block .q i::before {
	top: 8px;
	left: 0;
	width: 100%;
	height: 4px;
}
.faq .list .block .q i::after {
	top: 0;
	left: 8px;
	width: 4px;
	height: 100%;
}
.faq .list .block .a {
	overflow: hidden;
	height: 0;
}
.faq .list .block .a .in {
	position: relative;
	padding: 25px 25px 25px 80px;
	border-top: 2px solid #f3f3f3;
}
.faq .list .block .a .icon {
	position: absolute;
	top: 23px;
	left: 25px;
	width: 40px;
	height: 40px;
	background: transparent url(../img/index/faq-a.png) 50% 50% no-repeat;
	background-size: cover;
}

.faq .list .block {
	transition: border-color 0.3s ease;
}
.faq .list .block.opened {
	border-color: #234e9c;
}
.faq .list .block .q {
	transition: color 0.3s ease, background-color 0.3s ease;
}
.faq .list .block.opened .q {
	background-color: #234e9c;
	color: #fff;
}
.faq .list .block .q {
	transition: opacity 0.3s ease;
}
.faq .list .block.opened .q .icon span {
	opacity: 1;
}
.faq .list .block .q {
	transition: background-color 0.3s ease;
}
.faq .list .block.opened .q i::before,
.faq .list .block.opened .q i::after {
	background-color: #fff;
}
.faq .list .block.opened .q i::after {
	display: none;
}

/* SP */
@media screen and (max-width: 768px) {
	.faq {
		padding: 60px 0;
	}
	.faq .list {
		padding: 10px 0 0 0;
	}
	.faq .list .block {
		margin: 15px 0 0 0;
		border: 2px solid #f3f3f3;
	}
	.faq .list .block .q {
		font-size: 14px;
	}
	.faq .list .block .q .in {
		padding: 15px 38px 15px 50px;
	}
	.faq .list .block .q .icon {
		top: 12px;
		left: 10px;
		width: 30px;
		height: 30px;
	}
	.faq .list .block .q i {
		right: 10px;
		margin-top: -9px;
		width: 18px;
		height: 18px;
	}
	.faq .list .block .q i::before {
		top: 8px;
		height: 2px;
	}
	.faq .list .block .q i::after {
		left: 8px;
		width: 2px;
	}
	.faq .list .block .a .in {
		padding: 15px 15px 15px 50px;
		border-top: 2px solid #f3f3f3;
		font-size: 13px;
		line-height: 1.7;
	}
	.faq .list .block .a .icon {
		top: 12px;
		left: 10px;
		width: 30px;
		height: 30px;
	}
}

/*============================================================
	お問い合わせフォーム
*/
.form {
	padding: 60px 0 0 0;
	background: #fff url(../img/index/bg-form.jpg) 50% 0% no-repeat;
	background-size: contain;
}
.form input.input,
.form textarea.input,
.form select {
	display: block;
	padding: 0.3em 0.6em;
	width: 100%;
	background-color: #fff;
	border: 1px solid #ccc;
	font-size: 14px;
}
label, input[type='checkbox'], form input[type='radio'] {
    cursor: pointer;
}
form input[type=checkbox], form input[type='radio'] {
	padding: 0.6em;
	width: auto;
	background-color: #fff;
	border: 1px solid #ccc;
	font-size: 14px;
	margin-right:10px;
	top: 4px;
	 position: relative;
}
form input[type=checkbox]:checked, form input[type='radio']:checked {
	background-color: #009ee2;
	}
form input[type='radio'] {
	border-radius:30px;
}
	
form input[type=file] {
	background:#FFF;
	padding:4px 8px;
	margin-bottom:10px;
	font-size:80%;
}
.form input.input-mid {
	width: 60%;
}
.form input.input-sm {
	width: 160px;
}
.form input.input-ss {
	width: 50px;
	/*margin: 0 auto;*/
	display:inline;
}

.form input.inline, .form select.inline {
	display:inline-block !important;
	margin-bottom:8px;
}

.form select {
	padding-right: 50px;
	width: auto;
	background: #fff url(../img/common/form-select.png) 100% 50% no-repeat;
	background-size: 35px 60px;
}
.form textarea.input {
	height: 140px;
}
.form .head {
	text-align: center;
	color: #fff;
}
.form .head h2 {
	font-style: italic;
	font-size: 44px;
	line-height: 1.2;
}
.form .head h2 br {
	display: none;
}
.form .head p {
	margin: 20px 0 0 0;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.5;
}
.form .frame {
	margin: 40px 0 0 0;
	padding: 20px;
	background-color: #fff;
}
.form .form-input table {
	width: 100%;
	text-align: left;
	font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
.form .form-input table th,
.form .form-input table td {
	padding: 25px;
	border: 1px solid #fff;
	line-height: 1.7;
}
.form .form-input table th {
	width: 24%;
	background-color: #009ee2;
	color: #fff;
	font-weight:bold;
}
.form .form-input table th p {
	display: flex;
	align-items: center;
}
.form .form-input table th .must {
	display: block;
	margin-left: 10px;
	padding: 0 0.6em 1px 0.6em;
	background-color: #fff;
	font-size: 12px;
	line-height: 1.5;
	color: #c5302b;
	white-space:nowrap;
}
.form .form-input table td {
	background-color: #f0f0f0;
}
.form .form-input table td li {
	margin:2px 0;
}
.form .form-input table td li span {
	width:29%;
	display:inline-block;
	vertical-align:top;
}
.form .form-input .btn {
	display: flex;
	justify-content: center;
	margin: 70px 0 0 0;
}
.form .form-input .btn button {
	display: block;
	padding: 15px 0;
	width: 100%;
	max-width: 520px;
	background-color: #000;
	text-align: center;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.5;
	color: #fff;
	box-shadow: 3px 3px 0px #460904;
}

.form .form-input .btn-default {
	display: block;
	justify-content: center;
	margin: 12px 0 36px 0;
}
.form .form-input button.btn-default {
	display: block;
	padding: 5px 12px;
	width: auto;
	background-color: #AAA;
	text-align: center;
	font-weight: 700;
	font-size: 14px;
	line-height: 1.5;
	color: #fff;
	box-shadow: 3px 3px 0px #666;
}

.form .form-input th.q-title {
	background-color:#0070a0;
	text-align:center;
	font-weight:bold;
}

.form .form-input table table.item th,
.form .form-input table table.item td {
	padding: 8px 4px;
	border: 1px solid #EEE;
	line-height: 1.7;
	font-size:85%;
}
.form .form-input table table.item th {
	width: 14%;
	background-color: #333;
	color: #fff;
	text-align:center;
}

.form .form-input table table.item td {
	background-color: #FFF;
	text-align:center;
}
.form .form-input table table.item tr {
		margin-top:18px;
	}
.form .form-input .btn-default {
	background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
	}

.form .form-input table td .tx-input {
	display:inline-block;
	white-space:nowrap;
	vertical-align:middle;
	padding-right:24px;
	font-weight:bold;
}

.form .form-input table td .tx-sub {
	display:inline-block;
	font-size:90%;
	vertical-align:middle;
	color:#444;
}

.form ul.item-group {
	padding:0 0 1.2em 0;
}

.form ul.item-group li:first-child {
	padding:0.4em 0.6em;
	margin-bottom:0.6em;
	background:#333;
	color:#FFF;
}

.form ul.item-group li:nth-child(5) {
	margin-bottom:1.2em;
}

.form ul.item-group li {
	padding:0.3em;
}
	
/* switch
-------------------------------------- */
.form #switch-order-other,
.form #switch-const-other {
	display:none;
}
/*
.form #chk_order01:checked ~ #switch-tekkyo {
	display:block;
}

.form #chk_order08:checked ~ #switch-order-other {
	display:block;
}*/
	

/* TB */
@media screen and (max-width: 1280px) {
	.form .frame {
		padding: 20px;
	}
}
@media screen and (max-width: 980px) {
	.form .head h2 br {
		display: block;
	}
}

/* SP */
@media screen and (max-width: 768px) {
	.form {
		padding: 40px 0 0 0;
		background-size: 980px 378px;
	}
	.form input.input-mid {
		width: 100%;
	}
	.form input.input-sm {
		width: 160px;
	}
	.form input.input-aa {
		margin:0 0 0 0;
	}
	.form .head h2 {
		font-size: 32px;
	}
	.form .head p {
		margin: 10px 0 0 0;
	}
	.form .frame {
		margin: 30px 0 0 0;
		padding: 10px;
	}
	.form .form-input table,
	.form .form-input table tbody,
	.form .form-input table tr,
	.form .form-input table th,
	.form .form-input table td {
		display: block;
		width: 100% !important;
		border: 0;
	}
	.form .form-input table th,
	.form .form-input table td {
		padding: 10px;
	}
	.form .form-input table thead {
		display:none;
	}	
	.form .form-input table td li span {
		width:40%;
	}
	.form .form-input .btn {
		margin: 20px 0 0 0;
	}
	.form .form-input .btn button {
		font-size: 16px;
	}
	.td-head-sp {
		background:#333;
		padding: 8px 4px;
		color:#FFF;
		margin-bottom:8px;
	}
}