@charset "UTF-8";

/*----------------------------------------------------------

tasucutter css

----------------------------------------------------------*/
.pageTitleBox .pageTTL{
	font-size: 21px;
}
@media print, screen and (min-width: 768px){
	.pageTitleBox .pageTTL{
		font-size: 3.2rem;
	}
}
/* -------------------------------------------------
  MV
------------------------------------------------- */
.mv{
	background-color: #F2F2F2;
	height: 450px;
}
.mv .imgPc{
	display: none;
}
.mv .mvWrap{
	position: relative;
	padding-top: 22px;
	text-align: center;
}
.mv .mvWrap::after{
	position: absolute;
	content: "";
	display: block;
	background: #45BC92;
	height: 52px;
	width: 100%;
	left: 0;
	right: 0;
	top: 139px;
	margin: auto;
}
.mv .mvWrap .mvTxt{
	width: 375px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}
.mv .mvWrap .mvBg{
	width: 294px;
	margin: -27px auto 0;
	line-height: 1;
}
.mv .mvWrap .subTxt{
	line-height: 1.4;
	font-size: 18px;
	font-weight: 700;
}

@media print, screen and (min-width: 960px){
	.mv{
		height: 491px;
	}
	.mv .imgSp{
		display: none;
	}
	.mv .imgPc{
		display: block;
	}
	.mv .mvWrap{
		width: 960px;
		margin: 0 auto;
	}
	.mv .mvWrap::after{
		display: none;
	}
	.mv .mvWrap .mvTxt{
		width: 537px;
		margin: 0;
		padding-top: 80px;
	}
	.mv .mvWrap .mvBg{
		position: absolute;
		left: 50%;
		top: 0;
		width: 579px;
		margin: 0;
		margin-left: 10px;
		line-height: 1;
	}
	.mv .mvWrap .mvBg img{
		vertical-align: top;
		width: auto;
		max-width: 100%;
	}
	.mv .mvWrap .subTxt{
		text-align: left;
		font-size: 20px;
		padding-top: 20px;
	}
	.mv .mvWrap .subTxt br{
		display: none;
	}
}

/* -------------------------------------------------
  intro
------------------------------------------------- */
.intro{
	padding: 30px 20px;
}
@media print, screen and (min-width: 768px){
	.intro{
		padding: 60px 0px 40px;
		text-align: center;
		line-height: 1.9;
	}
}

/* -------------------------------------------------

  caseStudy

------------------------------------------------- */
.caseStudy{
	padding: 20px;
}
.caseStudy h2{
	text-align: center;
	font-size:2.5rem;
	font-weight:700;
	letter-spacing:0.12em;
	margin-bottom: 25px;
	line-height: 1;
}
.caseStudy h2 img{
	display: block;
	width: 180px;
	margin: 0 auto 5px;
}
@media print, screen and (max-width: 320px){
	.caseStudy{
		padding: 20px 15px;
	}
}
@media print, screen and (min-width: 960px){
	.caseStudy h2{
		font-size:3.6rem;
		letter-spacing:0.08em;
		margin-bottom: 40px;
	}
	.caseStudy h2 img{
		width: 240px;
		margin: 0 auto 15px;
	}
}

/* -------------------------------------------------
  ankerNav
------------------------------------------------- */
.ankerNav{
	overflow: hidden;
	text-align: center;
}
.ankerNav li{
	float: left;
	margin-right: 10px;
	margin-bottom: 10px;
	width: calc((100% - 10px) / 2);
}
.ankerNav li:nth-child(2n){
	margin-right: 0;
}
.ankerNav li a{
	display: block;
	height: 100%;
	overflow: hidden;
	border-radius: 10px;
	border: 1px solid #D3D3D3;
	text-decoration: none;
}
.ankerNav li a .boxImg{
	position: relative;
}
.ankerNav li a .boxImg .obi{
	position: absolute;
	width: 74%;
	top: 20px;
	right: 0;
}
.ankerNav li a .ico{
	position: relative;
	z-index: 1;
	margin: -30px auto 0;
	display: block;
	width: 60px;
}
.ankerNav li a strong{
	font-weight: 700;
	color: #0A0E1F;
	display: block;
	position: relative;
	z-index: 2;
	margin-top: -10px;
}
.ankerNav li a p{
	font-size: 12px;
	color: #0A0E1F;
	padding-top: 10px;
	padding-bottom: 30px;
	line-height: 1;
	font-weight: bold;
	position: relative;
}
.ankerNav li a p span{
	display: block;
	font-size: 14px;
	padding-bottom: 4px;
	font-weight: bold;
	color: #45BC90;
}
.ankerNav li a p::after{
	position: absolute;
	content:"";
	bottom: 15px;
	right: 0px;
	left: 0;
	margin: auto;
	width: 6px;
	height: 6px;
	border-top: 2px solid #45BC90;
	border-right: 2px solid #45BC90;
	transform:rotate(135deg);
}
.ankerNavNotes{
	font-size: 12px;
	padding-bottom:100px;
}
.ankerNavNotes .notes2year{
	font-size: 12px;
}
@media print, screen and (max-width: 320px){
	.ankerNav li a strong{
		font-size: 14px;
	}
}
@media print, screen and (min-width: 768px){
	.ankerNav li{
		width: calc((100% - 30px) / 4);
	}
	.ankerNav li:nth-child(2n){
		margin-right: 10px;
	}
	.ankerNav li:last-child{
		margin-right: 0px;
	}
	.ankerNavNotes{
		display: block;
		text-align: center;
		font-size: 13px;
		letter-spacing: 0.1em;
		padding: 20px 0 60px;
	}
	.ankerNavNotes .notes2year{
		font-size: 13px;
	}
}
@media print, screen and (min-width: 960px){
	.ankerNav{
		width: 960px;
		margin: 0 auto;
	}
	.ankerNav li{
		width: calc((100% - 45px) / 4);
		margin-right: 15px;
	}
	.ankerNav li:nth-child(2n){
		margin-right: 15px;
	}
	.ankerNav li:last-child{
		margin-right: 0px;
	}
	.ankerNav li a:hover{
		opacity: 0.6;
	}
	.ankerNav li a .boxImg .obi{
		width: 70%;
		top: 30px;
	}
	.ankerNav li a .ico{
		margin: -30px auto 0;
		width: 65px;
	}
	.ankerNav li a strong{
		font-size: 18px;
		margin-top: -5px;
	}
	.ankerNav li a p{
		padding-top: 18px;
	}
	.ankerNav li a p span{
		font-size: 20px;
	}
	.ankerNav li a p::after{
		width: 8px;
		height: 8px;
		transition: all .4s;
	}
	.ankerNav li a:hover p::after{
		bottom: 10px;
	}
}

/* -------------------------------------------------
  各事例詳細
------------------------------------------------- */
.secOuter{
	/* margin-top: -145px; */
	padding-bottom: 60px;
}
.areaCase{
	background: #F0FAF7;
	border-radius: 10px;
	overflow: hidden;
}
.areaCase .head{
	position: relative;
	padding: 20px 0 ;
}
.areaCase .head::before,
.areaCase .head::after{
	content: "";
	position: absolute;
	display: block;
	background: #45BC90;
	left: 0;
}
.areaCase .head::before{
	height: 5px;
	width: 70%;
	bottom: 0;
}
.areaCase .head::after{
	height: 1px;
	width: 100%;
	bottom: 2px;
}
.areaCase .head h3{
	text-align: center;
	line-height: 1;
	margin-bottom: 15px;
}
.areaCase .head h3 img{
	vertical-align: top;
	width: 50px;
}
.areaCase .head h3 span{
	display: inline-block;
	font-weight: 700;
	font-size: 28px;
	vertical-align: top;
	padding-top: 11px;
	padding-left: 10px;
}
.areaCase .head .icoBox{
	text-align: right;
}
.areaCase .head .icoBox p{
	display: inline-block;
	font-weight: bold;
	line-height: 1.3;
	padding-right: 6px;
}
.areaCase .head .icoBox p span{
	padding-top: 3px;
	display: inline-block;
	color: #45BC90;
}
.areaCase .head .icoBox img{
	vertical-align: top;
	width: 234px;
}
.areaCase .innerContents{
	padding: 20px 20px 0;
}
.areaCase .subTtl{
	padding-bottom: 15px;
}
.areaCase .subTtl .img{
	width: 120px;
	height: 120px;
	margin: 0 auto 10px;
	border-radius: 100%;
	overflow: hidden;
	position: relative;
}
.areaCase .subTtl .img img{
	position: absolute;
	top: 50%;
	left: 50%;
	margin: auto;
	transform: translate(-50%,-50%);
	max-width: 180px;
	width: auto;
}
.areaCase .subTtl .txtBox h4{
	font-weight: 700;
	font-size: 21px;
	line-height: 1.5;
	margin-bottom: 15px;
}
.areaCase .subTtl .txtBox p{
	font-size: 14px;
	line-height: 1.8;
}
.areaCase .tableBox{
	border-radius: 10px 10px 0 0;
	background: #fff;
	position: relative;
}
.areaCase .tableBox::after{
	position: absolute;
	content: "";
	display: block;
	background: #fff;
	right: 0;
	left: 0;
	bottom: -8px;
	margin: auto;
	transform: rotate(45deg);
	width: 16px;
	height: 16px;
}
.areaCase .tableBox h5{
	text-align: center;
	font-size: 17px;
	font-weight: 700;
	padding-top: 15px;
	padding-bottom: 10px;
}
.areaCase .tableBox h5 span{
	display: block;
	font-size: 14px;
}
.areaCase .tableBox table{
	width: 100%;
}
.areaCase .tableBox table tr{
	border-top: 1px solid #D3D3D3;
}
.areaCase .tableBox table th{
	font-weight: 700;
	text-align: left;
	padding: 12px 0 12px 20px;
	width: 45%;
	font-size: 14px;
}
.areaCase .tableBox table td{
	width: 55%;
	font-size: 14px;
}
.areaCase .tableBox table .total th{
	font-size: 17px;
}
.areaCase .tableBox table .total td{
	font-size: 21px;
}

.areaCase .bottom{
	background: #45BC90;
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 16px;
	padding: 20px 0;
}
@media print, screen and (max-width: 320px){
	.areaCase .head h3 span{
		font-size: 24px;
		padding-top: 11px;
	}
	.areaCase .head .icoBox p{
		line-height: 1.3;
		padding-right: 6px;
	}
	.areaCase .head .icoBox p span{
		padding-top: 3px;
	}
	.areaCase .head .icoBox p span .br375{
		display: none;
	}
	.areaCase .head .icoBox img{
		width: 180px;
	}
	.areaCase .innerContents{
		padding: 20px 15px 0;
	}
	.areaCase .tableBox table th{
		padding: 12px 0 12px 15px;
	}
	.areaCase .bottom{
		font-size: 15px;
	}
	.areaCase .bottom .br375{
		display: none;
	}
}
@media print, screen and (min-width: 768px){
	.areaCase .head{
		padding: 25px 0 2px;
		overflow: hidden;
	}
	.areaCase .head::before{
		width: 30%;
	}
	.areaCase .head h3{
		float: left;
		padding-left: 30px;
	}
	.areaCase .head .icoBox{
		float: right;
	}
	.areaCase .head .icoBox p{
		display: block;
		padding-right: 30px;
		padding-bottom: 10px;
	}
	.areaCase .head .icoBox p span{
		padding-top: 0px;
		font-size: 20px;
	}
	.areaCase .innerContents {
    padding: 40px 40px 0;
}
	.areaCase .subTtl{
		padding-bottom: 30px;
		overflow: hidden;
	}
	.areaCase .subTtl .img{
		width: 180px;
		height: 180px;
		margin: 0;
		float: left;
	}
	.areaCase .subTtl .img img{
		max-width: 280px;
	}
	.areaCase .subTtl .txtBox{
		float: left;
		width: calc(100% - 180px);
		padding-left: 40px;
	}
}
@media print, screen and (min-width: 960px){
	.areaCase{
		margin: 0 auto 0;
		width: 800px;
		margin-top: 40px;
	}
	.areaCase .subTtl .txtBox h4{
		font-size: 28px;
		line-height: 1.3;
	}
	.areaCase .tableBox{
		padding: 0 100px 15px;
	}
	.areaCase .tableBox h5{
		font-size: 21px;
		padding-top: 25px;
	}
	.areaCase .tableBox h5 span{
		font-size: 15px;
	}
	.areaCase .tableBox table th,
	.areaCase .tableBox table td{
		font-size: 16px;
	}
	.areaCase .tableBox table th{
		padding: 12px 0 12px 25px;
		width: 48%;
	}
	.areaCase .tableBox table td{
		width: 52%;
		font-weight: 700;
	}
	.areaCase .tableBox table .total th{
		font-size: 18px;
	}
	.areaCase .tableBox table .total td{
		font-size: 24px;
	}

	.areaCase .bottom{
		font-size: 21px;
		padding: 25px 0;
		letter-spacing: 2px;
		line-height: 1.7;
	}
}

/* -------------------------------------------------
  ページ下注釈
------------------------------------------------- */
.notesBottom p{
	line-height: 1.5;
	margin-bottom: 10px;
	font-size: 14px;
}
@media print, screen and (min-width: 960px){
	.notesBottom {
		width:800px;
		margin: 0 auto 50px;
	}
	.notesBottom p{
		font-size: 12px;
		margin-bottom: 5px;
	}
}
