@charset "utf-8";

/* -----------------------------------------------------------------
 common
----------------------------------------------------------------- */


/* -----------------------------------------------------------------
 mv
----------------------------------------------------------------- */
.mv {
	position:relative;
	overflow:hidden;
	width: 100%;
	height: 100vh;
}
.mv .movie {
}
.mv video.mp4 {
	z-index:1;
	min-width:100%;
	min-height:100vh;
}
.mv .movie_overlay {
	z-index: 2;
	width: 100%;
	height: 100vh;
	position: absolute;
	top: 0;
	left: 0;
 }
.mv .img_overlay {
	z-index: 3;
	display:flex;
	justify-content: center;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:100%;
}
.mv .img_overlay .logo {
	width:58.5%;
	max-width:550px;
}
.mv .scroll {
	z-index:3;
	position:absolute;
	bottom:34px;
	left:0;
	right:0;
	letter-spacing:.1em;
	text-align:center;
	font-weight:300;
	font-size:1.28em;
	color:#fff;
}
.mv .scroll .large {
	font-size:119%;
}
.mv .scroll::before {
	content:"";
	display:block;
	width:42px;
	height:42px;
	margin:0 auto 8px;
	background:url(../img/asset_arrow_circle_white.svg) no-repeat center center;
	background-size:100%;
}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1024px) {
}



/* -----------------------------------------------------------------
 box_intro
----------------------------------------------------------------- */
.box_intro {
	padding:4em 0;
	background:url(../../img/bg_intro_sp.png) no-repeat center top;
	background-size:100%;
}
.box_intro .inner >.ttl {
	display:flex;
	justify-content: center;
	color:#22ac38;
}
.box_intro .inner >.ttl .ico {
	float:left;
	display:block;
	width:4.5em;
	height:4.5em;
	padding-top:1.75em;
	background:#22ac38;
	border-radius:50%;
	letter-spacing: .05em;
	line-height:1;
	text-align:center;
	font-size:12px;
	color:#fff;
}
.box_intro .inner >.ttl >.txt {
	margin-left:.3em;
	letter-spacing:.09em;
	font-size:1.65em;
}
.box_intro .inner >.img {
	width:66.5%;
	margin:2.2em auto 0;
}
.box_intro .inner >.txt {
	margin:2.2em 5.3vw 0;
	line-height:1.6;
	letter-spacing: .05em;
	text-align: justify;
	text-justify: inter-ideograph;
}
@media screen and (min-width: 768px) {
.box_intro {
	padding:4em 5.3vw;
	background:url(../../img/bg_intro_pc.png) no-repeat center top;
	background-size: cover;
}
.box_intro .inner {
	overflow:hidden;
	max-width:960px;
	margin:0 auto;
}
.box_intro .inner >.ttl .ico {
	font-size:22px;
	font-size:1.46em;
}
.box_intro .inner >.ttl >.txt {
	font-size:38px;
	font-size:2.53em;
}
.box_intro .inner >.img {
	float:right;
	width:41%;
	max-width:396px;
	margin:2em 0 0;
}
.box_intro .inner >.txt {
	float:left;
	width:58%;
	margin:2em 0 0;
}
}
@media screen and (min-width: 1024px) {
.box_intro {
	padding:7.7em 0 8.6em;
}
.box_intro .inner {
	position:relative;
	overflow:visible;
}
.box_intro .inner >.ttl {
	float:none;
	justify-content: flex-start;
}
.box_intro .inner >.img {
	float:none;
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
}
.box_intro .inner >.txt {
	float: none;
	margin:3em 0 0;
}

}


/* -----------------------------------------------------------------
 box_problem
----------------------------------------------------------------- */
.box_problem {
	padding:3em 0 0;
	background:#6fba2c;
	color:#fff;
}
.box_problem .inner >.ttl {
	margin:0 3vw;
	text-align:center;
}
.box_problem .inner >.ttl .line01 {
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: .05em;
	font-size:.95em;
}
.box_problem .inner >.ttl .line01::before,
.box_problem .inner >.ttl .line01::after {
	content:"";
	display:inline-block;
	width:1em;
	height:1.3em;
	margin-right:0.3em;
	background:url(../img/asset_deco_slash_white.svg) no-repeat center center;
	background-size:contain;
}
.box_problem .inner >.ttl .line01::after {
	transform:scale(-1, 1);
}
.box_problem .inner >.ttl .line02 {
	display:inline-block;
	margin-top:.8em;
	letter-spacing: .1em;
	font-size:1.76em;
}
.box_problem .inner >.ttl .line02::after {
	content:"";
	display:block;
	width:100%;
	height:1px;
	margin-top:.2em;
	background:#fff;
}
.box_problem .inner >.txt {
	width:97%;
	margin:1.1em auto 0;
}
.box_problem .inner >.img {
	width:68.26%;
	max-width:512px;
	margin:-12vw auto 0;
}
@media screen and (min-width: 768px) {
.box_problem {
	padding:3em 5.3vw 0;
	background:url(../../img/bg_problem_pc.png) no-repeat center top;
	background-size: cover;
}
.box_problem .inner {
	position:relative;
	max-width:960px;
	margin:0 auto;
}
.box_problem .inner >.ttl .line01 {
	font-size:16px;
	font-size:1.06em;
}
.box_problem .inner >.ttl .line02 {
	font-size:30px;
	font-size:2em;
}
.box_problem .inner >.txt {
	position: absolute;
	right:0;
	width:57.81%;
	max-width:555px;
	margin: 0 4% 0 0;
}
.box_problem .inner >.img {
	width: 31.67%;
	margin: 0 0 0 10%;
}
}
@media screen and (min-width: 1024px) {
}


/* -----------------------------------------------------------------
 box_solution
----------------------------------------------------------------- */
.box_solution {
	padding:3.7em 5.3vw 4.5em;
	background:#f3b900 url(../../img/solution_bg_deco01_sp.png) no-repeat center top;
	background-size:13%;
	color:#fff;
}
.box_solution .inner >.ttl {
	letter-spacing: .05em;
	text-align:center;
	font-size:1.76em;
}
.box_solution .inner >.sub_ttl {
	margin-top:2.5em;
	padding:.6em 0;
	background:#fff;
	border-radius:4em;
	letter-spacing: .05em;
	line-height:1.3;
	text-align:center;
	font-weight:500;
	color:#f3b900;
}
.box_solution .inner >.txt {
	margin-top:2em;
	line-height: 1.86;
	letter-spacing: .05em;
	text-align:center;
	color:#333;
}
.box_solution .inner >.txt .underline {
	background:url(../img/asset_white.png) repeat-x center bottom .2em;
	background-size:100% .5em;
}

@media screen and (min-width: 768px) {
.box_solution {
	padding:7.8em 5.3vw 6.3em;
	background:#f3b900 url(../../img/solution_bg_deco01_pc.png) no-repeat center top;
	background-size:98px;
}
.box_solution .inner >.ttl {
	font-size:38px;
	font-size:2.53em;
}
.box_solution .inner >.sub_ttl {
	display: table;
	margin: 1em auto 0;
	padding: .4em 1em;
	font-size:22px;
	font-size:1.47em;
}
.box_solution .inner >.txt {
	margin-top:4.5em;
}
}
@media screen and (min-width: 1024px) {
}



/* -----------------------------------------------------------------
 box_value
----------------------------------------------------------------- */
.box_value {
	padding:2.7em 5.3vw 4.5em;
}
.box_value .inner >.ttl {
	letter-spacing: .1em;
	text-align:center;
	font-size:1.76em;
}
.box_value .inner >.txt {
	margin-top:1.6em;
	line-height:1.65;
	letter-spacing: .1em;
	text-align:center;
	color:#333;
}
.box_value .inner >.img {
	width:100%;
	max-width:676px;
	margin:1.7em auto 0;
}
.box_value .inner .box_spec {
	margin-top:2.6em;
	border-bottom:#d2d2d2 1px solid;
}
.box_value .inner .box_spec .item {
	padding-top:2em;
	padding-bottom:2em;
	border-top:#d2d2d2 1px solid;
}
.box_value .inner .box_spec .item .item_ttl .ttl {
	display:block;
	line-height: 1.2;
	letter-spacing:0.1em;
	font-size:.14px;
	font-size:1.12em;
}
.box_value .inner .box_spec .item .item_ttl .num {
	display:block;
	margin-bottom:.2em;
	letter-spacing: .05em;
	font-weight:900;
	font-size:11px;
	font-size:.79em;
}
.box_value .inner .box_spec .item .item_txt {
	padding-top:.2em;
	letter-spacing: .05em;
	font-weight:300;
}
@media screen and (min-width: 768px) {
.box_value {
	padding:8.5em 5.3vw 9.6em;
}
.box_value .inner >.ttl {
	font-size:38px;
	font-size:2.53em;
}
.box_value .inner >.txt {
	margin-top:2.6em;
	font-size:20px;
	font-size:1.33em;
}
.box_value .inner >.img {
	margin:7.4em auto 0;
}
.box_value .inner .box_spec {
	display: flex;
	margin-top: 7em;
	border-bottom:none;
	border-left:#d2d2d2 1px solid;
}
.box_value .inner .box_spec .item {
	width: calc(100% / 3);
	padding: 1em 5% 1.5em;
	border-top:none;
	border-right:#d2d2d2 1px solid;
}
.box_value .inner .box_spec .item .item_ttl .ttl {
	margin-top: .6em;
	font-size:22px;
	font-size:1.46em;
}
.box_value .inner .box_spec .item .item_ttl .num {
	font-size:18px;
	font-size: 1.2em;
}
.box_value .inner .box_spec .item .item_txt {
	margin-top: 1em;
	line-height: 1.86;
}


}
@media screen and (min-width: 1024px) {
}


/* -----------------------------------------------------------------
 box_howto
----------------------------------------------------------------- */
.box_howto {
	padding:3.6em 0 4.5em;
	background:#342f2c url(../../img/bg_howto_sp.jpg) no-repeat center center;
    background-size: cover;
	color:#fff;
}
.box_howto .inner >.ttl {
	letter-spacing:.1em;
	text-align:center;
	font-size:1.76em;
}
.box_howto .inner .box_step {
	margin-top:2.6em;
}
.box_howto .inner .box_step .item {
	padding:0 6vw;
}
.box_howto .inner .box_step .item.odd{
	padding-top:3em;
}
.box_howto .inner .box_step .item figcaption {
	display:inline-flex;
	align-items: center;
	font-weight:300;
	font-size:17.5px;
	font-size:1.4em;
}
.box_howto .inner .box_step .item figcaption .step {
	display:inline-flex;
	align-items: center;
	opacity:.3;
	letter-spacing: .05em;
	font-size:13.3px;
	font-size:.76em;
}
.box_howto .inner .box_step .item figcaption .step .num {
	margin-left:.1em;
	margin-right:.7em;
	font-size:29.5px;
	font-size:2.2em;
}
.box_howto .inner .box_step .item figcaption + p {
	margin-top:.2em;
	line-height:1.6;
	letter-spacing: .05em;
	text-align: justify;
	text-justify: inter-ideograph;
}
@media screen and (min-width: 768px) {
.box_howto {
	padding:6em 0 9.3em;
	background:#342f2c url(../../img/bg_howto_pc.jpg) no-repeat center center;
    background-size: cover;
}
.box_howto .inner >.ttl {
	font-size:38px;
	font-size:2.53em;
}
.box_howto .inner .box_step .item figcaption {
	font-size:25px;
	font-size:1.66em;
}
.box_howto .inner .box_step .item figcaption .step {
	font-size:18px;
	font-size:.72em;
}
.box_howto .inner .box_step .item figcaption .step .num {
	font-size:40px;
	font-size: 2.22em;
}
.box_howto .inner .box_step .item {
	padding:0 2em;
}

}
@media screen and (min-width: 1024px) {
.box_howto .inner .box_step {
	display:flex;
	max-width:1900px;
	margin:4.3em auto 0;
}
.box_howto .inner .box_step .item {
	flex-basis: auto;/*IE11対策*/
	width: calc(100% / 5);/*IE11対策*/
}
.box_howto .inner .box_step .item figcaption {
	margin-top: .3em;
}
.box_howto .inner .box_step .item figcaption + p {line-height: 1.86;}
}


/* -----------------------------------------------------------------
 box_case
----------------------------------------------------------------- */
.box_case {
	padding:6.68em 5.3vw 4.5em;
	background: #fff url(../../img/bg_case_sp.png) no-repeat center center;
	background-size: cover;
}
.box_case .inner .modelcase:nth-child(n + 2) {
	margin-top:7.3em;
}
.box_case .inner .modelcase .head >.ttl {
	width:46.8vw;
	max-width:351px;
	margin:0 auto;
}
.box_case .inner .modelcase .head >.item .photo {
	margin-top:2em;
}
.box_case .inner .modelcase .head >.item .photo img {
	width:48vw;
	max-width:360px;
	margin:0 auto;
	border-radius:50%;
}
.box_case .inner .modelcase .head >.item figcaption {
	display: flex;
	justify-content: center;
	margin-top:2em;
	letter-spacing: .05em;
	font-size:11px;
	font-size:.88em;
}
.box_case .inner .modelcase >.cont >.item {
	display: flex;
	margin-top:2.6em;
}
.box_case .inner .modelcase >.cont >.item >.img {
	width:41%;
}
.box_case .inner .modelcase >.cont >.item >.txt {
	width:54%;
	margin-left:5%;
	letter-spacing: .05em;
	line-height:1.6;
	font-weight:300;
}
@media screen and (min-width: 768px) {
.box_case {
	padding:11em 5.3vw 11em;
	background: #fff url(../../img/bg_case_pc.png) no-repeat center center;
	background-size: cover;
}
.box_case .inner {
	max-width:960px;
	margin:0 auto;
}
.box_case .inner .modelcase {
	display: flex;
}
.box_case .inner .modelcase:nth-child(n + 2) {
	margin-top:11em;
}
.box_case .inner .modelcase .head {
	width:31%;
}
.box_case .inner .modelcase .head >.ttl {
	width:71%;
	max-width:215px;
	margin:1em auto 0;
}
.box_case .inner .modelcase .head >.item {
	margin-top:5.3em;
}
.box_case .inner .modelcase .head >.item .photo img {
	width: 100%;
	max-width: none;
	margin: 0;
}

.box_case .inner .modelcase >.cont {
	width:60%;
	margin-left: 9%;
}
.box_case .inner .modelcase >.cont >.item {
	margin-top:1.6em;
}
.box_case .inner .modelcase >.cont >.item:nth-child(1) {
	margin-top:0;
}
.box_case .inner .modelcase >.cont >.item >.img {
	width:49%;
}
.box_case .inner .modelcase >.cont >.item >.txt {
	width:46%;
}
}
@media screen and (min-width: 1024px) {
}


/* -----------------------------------------------------------------
 box_offer
----------------------------------------------------------------- */
.box_offer {
	padding:3em 5.3vw 3.5em;
	background:#6fba2c;
}
.box_offer .inner >.ttl {
	letter-spacing:.1em;
	text-align:center;
	font-size:1.76em;
	color:#fff;
}
.box_offer .inner >.news {
	margin-top:2em;
	padding:1.6em 1.6em 2em;
	background:#fff;
}
.box_offer .inner >.news >.ttl {
	letter-spacing:.1em;
	text-align:center;
	font-size:15px;
	font-size:1.2em;
	color:#22ac38;
}
.box_offer .inner >.news ul.list_news {
	margin-top:1em;
	border-top:#bfbfbf 1px solid;
}
.box_offer .inner >.news ul.list_news li.txt {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding:1em 0;
	border-bottom:#bfbfbf 1px solid;
	letter-spacing: .05em;
	width: 100%;
}
.box_offer .inner >.news ul.list_news li.txt .date {
	flex-basis:7em;
}
.box_offer .inner >.news ul.list_news li.txt .body {
	flex-basis:calc(100% - 7em - 4em);
}
.box_offer .inner >.news ul.list_news li.txt .btn {
	flex-basis:4em;
	margin-left:.5em;
	padding:.1em 0;
	border-radius:3px;
	background:#f39800;
	letter-spacing:.1em;
	text-align:center;
	color:#fff;
}
.box_offer .inner >.callme {
	margin-top:1.8em;
	padding:1.6em .6em 2em;
	background:#fff;
}
.box_offer .inner >.callme >.ttl {
	letter-spacing:.1em;
	text-align:center;
	color:#22ac38;
}
.box_offer .inner >.callme >.company_name {
	margin-top:1em;
	letter-spacing: .05em;
	text-align:center;
}
.box_offer .inner >.callme >.phone {
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: .05em;
	font-weight:700;
	font-size:30px;
	font-size:2.4em;
}
.box_offer .inner >.callme >.phone,
.box_offer .inner >.callme >.phone * {
	color:#22ac38;
}
.box_offer .inner >.callme >.phone::before {
	display:block;
	content:"";
	width:1.1em;
	height:1.1em;
	margin-right:.2em;
	background:url(../img/asset_ico_phone.png) no-repeat center center;
	background-size:contain;
}
.box_offer .inner >.callme >.time {
	letter-spacing: .05em;
	text-align:center;
	font-size:10px;
	font-size:.8em;
}

/*お問い合わせフォームリンクボタン*/
.block_button{
  margin-top: 25px;
  display:flex;
  justify-content: center;
}

.btn-link{
  padding: 19px 75px 19px 65px;
  background-color: #fff;
  border: #23ac38 solid 1px;
  border-radius: 6px;
  color: #23ac38;
  font-size: 15px;
}

.block_button a.btn-link span{
  position:relative;
  display: inline-block;
}

.block_button a.btn-link:hover span::after{
  content: "";
  position: absolute;
  margin-left: 1em;
  top: 50%;
  width: 10px;
  height: 10px;
  border-top: 2px solid #23ac38;
  border-right: 2px solid #23ac38;
  transform: rotate(45deg);
  margin-top: -5px;
}


@media　screen and (max-width: 767px){
  .block_bttun a.btn-link{
  width: 50%;
  min-width: 7em;
  max-width: 500px;
  height: 50px;
  padding: 1em 0 ;
} 
  .block_button a.btn-link span{
  padding: 1.2em 1.0em;
  font-size: 20px;
  font-size: 1.33em;
  position: center;
}	
}

@media screen and (min-width: 768px) {
.box_offer {
	padding:5.2em 5.3vw 6.6em;
}
.box_offer .inner {
	max-width:960px;
	margin:0 auto;
}
.box_offer .inner >.ttl {
	font-size:38px;
	font-size:2.53em;
}
.box_offer .inner >.news {
	margin-top:4.3em;
	padding:2.6em 4.5em;
}
.box_offer .inner >.news >.ttl {
	font-size:25px;
	font-size:1.6em;
}
.box_offer .inner >.news ul.list_news li.txt {
	font-size:17px;
	font-size:1.13em;
}
.box_offer .inner >.callme {
	margin-top:2.6em;
	padding:3.3em .6em 2.8em;
}
.box_offer .inner >.callme >.ttl {
	font-size:25px;
	font-size:1.6em;
}
.box_offer .inner >.callme >.company_name {
	font-size:20px;
	font-size:1.3em;
}
.box_offer .inner >.callme >.phone {
	line-height:1;
	font-size:49px;
	font-size:3.26em;
}
.box_offer .inner >.callme >.time {
	margin-top:1em;
	font-size:14px;
	font-size:.93em;
}
.box_offer .inner >.callme >.block_button a.btn-link:hover{
  background-color: #23ac38;
  color: #fff; 
}

.block_button a.btn-link:hover span::after{
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
}
@media screen and (min-width: 1024px) {
}


/* -----------------------------------------------------------------
 box_media
----------------------------------------------------------------- */
.box_media {
	padding:4em 0 3.5em;
	background:#f0f0f0;
}
.box_media .inner >.ttl {
	letter-spacing:.1em;
	text-align:center;
	font-size:1.76em;
}
.box_media .inner >.box_cont {
	margin-top:4em;
}
.box_media .inner >.box_cont .item {
	margin:0 13.5vw;
}
.box_media .inner >.box_cont .item figcaption {
	margin-top:1em;
	letter-spacing: .1em;
	text-align: justify;
	text-justify: inter-ideograph;
	font-size:14px;
	font-size:1.12em;
}
.box_media .inner >.box_cont .item figcaption + p {
	margin-top:1em;
	letter-spacing: .05em;
	text-align: justify;
	text-justify: inter-ideograph;
}
.box_media .inner >.box_cont .arrow_prev,
.box_media .inner >.box_cont .arrow_next {
	position:absolute;
	top:22.7vw;
	width:6.53vw;
	height:6.53vw;
	background:url(../img/asset_arrow_standard_black.svg) no-repeat center center;
	background-size:3.4vw auto;
	z-index:2;
}
.box_media .inner >.box_cont .arrow_prev {
	left:3vw;
	transform:scale(-1,1);
}
.box_media .inner >.box_cont .arrow_next {
	right:3vw;
}
@media screen and (min-width: 768px) {
.box_media {
	padding:7.5em 5.3vw 8.4em;
}
.box_media .inner {
	max-width: 960px;
	margin:0 auto;
}
.box_media .inner >.ttl {
	font-size:38px;
	font-size:2.53em;
}
.box_media .inner >.box_cont {
	display:flex;
  flex-wrap: wrap;
}
.box_media .inner >.box_cont .item {
	width: 30%;
	margin: 0 0 0 5%;
}
.box_media .inner >.box_cont .item:nth-child(3n+1){
  margin-left: 0;
}
.box_media .inner >.box_cont .item:nth-child(n+4){
  margin-top: 50px;
}
.box_media .inner >.box_cont .item figcaption {
	margin-top: 1.2em;
	font-size:17px;
	font-size:1.13em;
}
.box_media .inner >.box_cont .item figcaption + p {
	margin-top: 1.3em;
	font-size:14px;
	font-size:.93em;
}


}
@media screen and (min-width: 1024px) {
}


/* -----------------------------------------------------------------
 box_msg
----------------------------------------------------------------- */
.box_msg {
	padding:3.5em 5.3vw 3.5em;
}
.box_msg .inner >.ttl {
	letter-spacing:.1em;
	text-align:center;
	font-size:1.76em;
}
.box_msg .inner >.box_cont >.item {
	margin-top:3.5em;
}
.box_msg .inner >.box_cont >.item + .item {
	margin-top:6em;
}
.box_msg .inner >.box_cont >.item figcaption {
	margin-top:1.5em;
	letter-spacing:.1em;
	font-size:15px;
	font-size:1.2em;
}
.box_msg .inner >.box_cont >.item .txt {
	margin-top:1em;
	letter-spacing:.05em;
	line-height:1.6;
	text-align: justify;
	text-justify: inter-ideograph;
	font-weight:300;
}
.box_msg .inner >.box_cont >.item .name {
	margin-top:1em;
}
@media screen and (min-width: 768px) {
.box_msg {
	padding:8.6em 5.3vw 8em;
}
.box_msg .inner {
	max-width: 960px;
	margin:0 auto;
}
.box_msg .inner >.ttl {
	font-size:38px;
	font-size:2.53em;
}
.box_msg .inner >.box_cont >.item {
	overflow:hidden;
	margin-top: 7.6em;
}
.box_msg .inner >.box_cont >.item + .item {
	margin-top:8.6em;
}
.box_msg .inner >.box_cont >.item >img {
	float:left;
	width:48%;
}
.box_msg .inner >.box_cont >.item figcaption,
.box_msg .inner >.box_cont >.item .txt,
.box_msg .inner >.box_cont >.item .name {
	float:right;
	width:48%;
	clear:right;
}
.box_msg .inner >.box_cont >.item figcaption {
	margin-top: 0;
	font-size: 25px;
	font-size: 1.66em;
}
.box_msg .inner >.box_cont >.item .txt {
	font-size: 14px;
	font-size: .93em;
}
.box_msg .inner >.box_cont >.item .name {
	font-size: 15px;
	font-size: 1em;
}

}
@media screen and (min-width: 1024px) {
}


/* -----------------------------------------------------------------
 box_detail
----------------------------------------------------------------- */
.box_detail {
	padding:3.5em 5.3vw 3.5em;
	background:#f0f0f0;
}
.box_detail .inner >.ttl {
	letter-spacing:.1em;
	text-align:center;
	font-size:1.76em;
}
.box_detail .inner .area_spec{
  margin-top: 2em;
}
.box_detail .inner .area_spec:nth-child(n+2){
  margin-top: 50px;
}
.box_detail .inner .area_spec figure{
  width: 100%;
  max-width: 300px;
  margin: 20px auto 0;
}
.box_detail .inner .tbl_spec {
  
}
.box_detail .inner .tbl_spec tr {
	border-top:#bfbfbf 1px solid;
	border-bottom:#bfbfbf 1px solid;
}
.box_detail .inner .tbl_spec th,
.box_detail .inner .tbl_spec td {
	padding-top:.8em;
	padding-bottom:.8em;
	letter-spacing:.05em;
	font-size:11px;
	font-size:.88em;
}
.box_detail .inner .tbl_spec th {
	padding-right:1.6em;
	white-space:nowrap;
	text-align:left;
	font-weight:400;
}
@media screen and (min-width: 768px) {
.box_detail {
	padding:5.4em 5.3vw 5.8em;
}
.box_detail .inner {
	max-width: 960px;
	margin:0 auto;
}
.box_detail .inner >.ttl {
	font-size:38px;
	font-size:2.53em;
}
.box_detail .inner .area_spec{
	margin-top:3.5em;
  display: -webkit-box;
  display: -ms-flex;  
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}
.box_detail .inner .area_spec:nth-child(n+2){
  margin-top: 70px;
}  
.box_detail .inner .area_spec figure{
  width: 25.8%;
  margin-left: 3%;
  margin-top: 0;
}
.box_detail .inner .tbl_spec {
  -webkit-box-flex: 1;
  flex: 1;  
}
.box_detail .inner .tbl_spec th,
.box_detail .inner .tbl_spec td {
	padding-top:.6em;
	padding-bottom:.6em;
	line-height:2;
}
.box_detail .inner .tbl_spec th {
	width:10em;
}

}
@media screen and (min-width: 1024px) {
}


/* -----------------------------------------------------------------
 box_contact
----------------------------------------------------------------- */
.box_contact {
	padding:3.5em 5.3vw 3.5em;
	background:#fff url(../../img/bg_contact_sp.png) no-repeat center center;
    background-size: cover;
}
.box_contact .inner >.ttl {
	letter-spacing: .05em;
	text-align:center;
	font-size:15px;
	font-size:1.2em;
}
.box_contact .inner >.company {
	width:35.8vw;
	max-width:269px;
	margin:3em auto 0;
}
.box_contact .inner >.author {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-top:3em;
	letter-spacing:.05em;
	line-height:1.8;
	font-style:normal;
	font-size:11px;
	font-size:.88em;
}
@media screen and (min-width: 768px) {
.box_contact {
	padding:5em 5.3vw 5em;
}
.box_contact .inner {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
	max-width: 960px;
	margin:0 auto;
}
.box_contact .inner >.ttl {
	width:100%;
	font-size:20px;
	font-size:1.33em;
}
.box_contact .inner >.company {
	width:32%;
	max-width:178px;
	margin:3.7em 2em 0 0;
}
.box_contact .inner >.author {
	margin-top:3.7em;
	font-size:13px;
	font-size:.86em;
}

}
@media screen and (min-width: 1024px) {
}












