@charset "utf-8";
body {
	font-family:'Noto Sans JP',sans-serif;
	font-size: 18px;
	line-height: 1.8;
	color: #333333;
}
a{
	pointer-events: inherit;
	cursor: pointer;
	color: #004faa;
}
a:hover{
	opacity: 0.9;
}
@media (min-width: 751px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	color: initial;
	}
}
img {
    max-width: 100%;
    height: auto;
}
img.logo {
    width: 160px;
    vertical-align: bottom;
    margin: 0px 2px 3px 5px;
}
em{
	color: #dd1c1a;
}

h2{
	font-size: 3.4em;
	font-weight: 900;
	text-align: center;
	padding:10px 10px 40px;
    line-height: 1.4;
}
div.flow h2{
	padding-bottom: 20px;
}
h3{
	font-weight: 700;
	font-size: 1.4em;
	text-align: center;
    line-height: 1.4;
}
h2 img,
h3 img{
	display: block;
	margin: 0 auto;
}
.sp{
	display: none;
}
.inner{
	width:calc(100% - 20px);
	max-width: 1000px;
	margin: 0 auto;
}
div:not(main):not(.cv):not(.not_included):not(.contact_form) .inner{
	padding:40px 0 0;
}
.flex{
	display:-webkit-box;
	display:-ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.flex.reverse {
  	-webkit-box-orient: horizontal;
  	-webkit-box-direction: reverse;
  	-ms-flex-direction: row-reverse;
  	flex-direction: row-reverse;
 }

/* Background Color */
.bg_white{
    background-color: #ffffff;
}
.bg_gray{
	background-color: #e9f0f3;
}
.bg_blue{
    color: #ffffff;
	background-color: #003e85;
}
.bg_stripe{
	background:url(../images/bg_stripe.png);
}
.bg_polygon{
	background-image: url(../images/bg_polygon.png);
    background-size: 100%;
}

/* Font Weight */
.bold{
	font-weight: 700;
}
.heavy{
	font-weight: 900;
}
/* Font Color */
.f_blue{
	color:#003e85;
}
.f_gold{
	color: #dcc77b;
}
.f_yellow{
	color: #fcf300;
}
/* Font Size */
.f_large{
	font-size:1.2em;
}
.f_x-large{
	font-size:1.5em;
}
.f_xx-large{
	font-size: 2em;
}
/* Text Marker */
.y_marker{
	background: linear-gradient(transparent 60%, #fcff00 60%);
}
/* Text Align */
.txt_center{
	text-align: center;
}
.txt_right{
	text-align: right;
}
/* List Icon */
.icon_rel{
	position: relative;
	padding-left: 40px;
	box-sizing: border-box;
}
.icon_rel:before{
    content: '';
    position: absolute;
    left: 0;
}
.icon_check:before{
    background: url(../images/icon_check.png) no-repeat left top 5px;
    background-size: contain;
    width: 26px;
    height: 30px;
}
.icon_q:before,
.icon_a:before{
	width:35px;
	height: 35px;
	display: inline-block;
	border-radius: 100px;
	text-align: center;
	font-weight: 700;
	font-size: 20px;
}
.icon_q:before{
	content: 'Q';
	color:#ffffff;
	background-color: #003e85;
}
.icon_a:before{
	content: 'A';
	color: #003e85;
	background-color: #ffffff;
}

/* Button Style */
.btn_style{
	background-color: #dd1c1a;
	max-width: 620px;
	width: 100%;
	border-radius: 100px;
	border-bottom: #ab1715 8px solid;
	padding:40px;
	display: block;
	text-align: center;
	color: #ffffff;
	box-sizing: border-box;
	margin-top: 25px;
	color: #ffffff;
    margin: 0 auto;
}
.flat_btn{
	border-radius: 100px;
	border:#0067df solid 1px;
	max-width: 200px;
	width: 100%;
	padding:8px;
	font-size: 15px;
	display: inline-block;
	text-align: center;
}

/* Arrow */
.arrow{
	position: relative;
}
.arrow:after{
	content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 18px 0 18px;
    line-height: 0px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: 0 auto;
}
.arrow_w:after{
    border-color: #ffffff transparent transparent transparent;
}
.arrow_b:after{
    border-color: #003e85 transparent transparent transparent;
}
.arrow_sky:after{
    border-color: #005AA9 transparent transparent transparent;
}
.arrow_g:after{
    border-color: #e9f0f3 transparent transparent transparent;
}
.arrow_b:after{
    border-color: #003e85 transparent transparent transparent;
}


/*________________________ Header ________________________*/
header{
	font-size: 12px;
    padding: 10px 2%;
    border-top: 8px solid #003e85;
}
header .flex{
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
header .flex .logo{
	padding-top: 5px;
}
/*________________________ Main ________________________*/
main,
main .inner{
	line-height: 0;
}
main img{
	margin: 0 auto;
	display:block;
	padding:10px 10px 0;
    box-sizing: border-box;
}
/*________________________ CV ________________________*/
.cv{
	padding:50px 0;
}
.cv_bg{
	background:url(../images/cv_bg.jpg) no-repeat top left;
	background-size: cover;
}
.cv .inner{
	max-width: 700px;
}
.cv .flex{
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.cv .flex > div:nth-child(1){
	flex: 1;
	padding-right: 20px;
}
.cv .flex > div:nth-child(2){
	flex: 3;
}
.cv .inner > div{
	margin-bottom: 15px;
}
.cv p{
    padding: 0 0 20px;
    font-size: 0.9em;
}

/*________________________ 3つの魅力 ________________________*/
.feature{
	background: url(../images/feature_bg.jpg) no-repeat bottom left;
    background-size: contain;
}
.feature ul{
	padding-bottom: 70px;
}
.feature li{
	padding: 30px 20px;
	box-sizing: border-box;
}
.feature li h3{
	margin-bottom: 10px;
}
.feature li h3 img{
	margin-bottom: 15px;
}
.feature li p{
	font-size: 0.9em;
	text-align: center;
}

/*________________________ 買取実績 ________________________*/
.jirei{
	padding-bottom: 80px;
}
.itemlist {
    border-spacing: 0;
    width: 100%;
}
.itemlist th {
	margin-bottom: 9px;
	padding: 9px 15px;
}
.itemlist tbody {
	vertical-align: top;
}
.itemlist tbody td:last-child span{
	font-size: 0.6em;
}

/*________________________ ニーズ ________________________*/
.needs .inner{
	line-height: 0;
}
.needs h2,
.needs ol{
	line-height: initial;
}
.needs ol{
	max-width: 760px;
	margin: 0 auto;
}
.needs ol li{
	padding-bottom: 45px;
}
.needs ol + img{
	margin: 0 auto;
	display: block;
}

/*________________________ 流れ ________________________*/
.flow li{
	padding: 30px 20px;
	box-sizing: border-box;
}
.flow h2 + p{
	padding-bottom: 40px;
}
.flow h3 img{
	margin-bottom: 30px;
}
.flow h3 p{
	font-size: 0.8em;
}
.flow ol{
	padding-bottom: 120px;
}
.flow ol li:nth-child(2){
	position: relative;
}
.flow ol li:nth-child(2):before{
	content: '';
    border: 2px solid #003e85;
    border-top: none;
    display: inline-block;
    width: 99%;
    height: 15px;
    position: absolute;
    bottom: -24px;
    margin: 0 auto;
    right: 0;
    left: 0;
}
.flow ol li:nth-child(2):after{
    content: '最短７営業日';
    position: absolute;
    bottom: -55px;
    left: 0;
    right: 0;
    text-align: center;
}
/*________________________ 対象外 ________________________*/
.not_included{
	padding:30px 0 30px;
}
.not_included .inner{
	border: 10px solid #e5e5e5;
    padding: 20px;
    box-sizing: border-box;
}
.not_included h3{
	border-bottom: 2px solid #cfcfcf;
	margin-bottom: 20px;
	padding-bottom: 10px;
}
.not_included p{
	margin-bottom: 10px;
}
.not_included li{
	padding-right: 10px;
}
.not_included li,
.not_included small{
	font-size: 0.9em;
}
/*________________________ Q&A ________________________*/
.qa dl{
	padding:25px 0 25px;
	border-bottom:1px solid #cfcfcf;
}
.qa dl:last-child{
	padding-bottom: 100px;
}
.qa dt{
    padding: 0px 0px 15px 55px;
}
.qa dd{
	padding-left:55px;
}

/*________________________ Footer ________________________*/
footer{
	font-size: 0.7em;
}
footer > .flex{
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 15px 2%;
}
footer .flex > div{
	width: 150px;
	padding-right: 10px;
}
footer .flex p{
	flex:3 1 0%;
}
footer ul{
	width: 240px;
	padding-left: 10px;
}
footer p.copy{
	text-align: center;
	border-top: 1px solid #cfcfcf;
	padding:10px 0 20px 0;
}

/*________________________ thanks.html ________________________*/
.column{
  display:flex;
  flex-flow: column;
  justify-content:space-between;
  height: 100vh;
}
.flex.column #thanks{
    height: 100vh;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.flex.column #thanks .thanks_msg{
    box-shadow: 0 0 7px rgb(0 0 0 / 6%);
}
.flex.column #thanks .thanks_msg small{
	font-size: 0.8em;
}

@media (min-width: 769px) { /* Tablet以上 */
	.pc_inline{
		display: inline;
	}
	.pc_inline-block{
		width: 49%;
		display: inline-block;
	}
	 .pc_flex_col3{
		width: calc(100% / 3 - 20px);
	}
	/* Header */
	header .flex .logo{
		padding-right: 10px;
	}
	/* 買取実績　Table */
	.itemlist th,
	.itemlist td {
		display: table-cell;
		vertical-align: top;
	}
	.itemlist td{
		position: relative;
	}
	.itemlist td:not(:first-child):after {
	    content: '';
	    position: absolute;
	    left: 0;
	    top: 15px;
	    width: 1px;
	    background-color: #ccd3d6;
	    height: 25px;
	}
	.itemlist td {
		padding: 15px 20px;
	}
	.itemlist td:last-child {
	    line-height: 1.2;
	    min-width: 120px;
	}
	.itemlist .date {
		width: 6em;
	}
.itemlist tr:nth-child(3) td:not(:first-child):before {
	content: '２サイト合計';
	display: block;
	font-size: 12px;
	line-height: 1;
}
.itemlist tr:nth-child(3) td:last-child:before{
	color: #dd1c1a;
}
	/* 流れ */
	.flow ol li:nth-child(1).arrow:after{
	    transform: translateY(50%) translateX(50%);
	    top: 50%;
	    bottom: 50%;
	    transform: rotate(-90deg);
	    left: inherit;
	    right: -25px;
	}
	.flow ol li:nth-child(3).arrow:after{
	    transform: translateY(50%) translateX(50%);
	    top: 50%;
	    bottom: 50%;
	    transform: rotate(-90deg);
	    left: -41px;
	    right: initial;
	}
}

@media (max-width: 768px) { /* Tablet以下 */
	div:not(main):not(.cv):not(.not_included):not(.contact_form) .inner{
		padding:30px 0 0;
	}
	h2{
		font-size: 2.3rem;
		padding-bottom: 20px;
	}
	h3 img{
	    max-width: 100px;
	    width: 16vw;
	    min-width: 70px;
	}

	.sp_block{
		display: block;
		width: 100%;
	}
	.cv{
		padding:40px 0 40px;
		font-size: 0.9em;
	}
	.cv br{
		display: none;
	}
	.cv .flex{
		display: block;
	}
	.cv .flex > div:nth-child(1){
		text-align:center;
	}
	a.btn_style{
	    font-size: 1.4em;
	    padding:30px 10px 30px;
	}
	/* Header */
	header {
		padding:4px 2% 3px 2%;
	}
	header .flex.reverse {
	    display: block;
	    width: 100%;
	    text-align: center;
	}
	header a.flat_btn{
		display: none;
	}
	/* 魅力 */
	.feature li{
		margin-bottom: 20px;
	}
	/* 買取実績　*/
	.jirei{
		padding-bottom: 30px;
	}
	.itemlist {
		width: 100%;
	}
	.itemlist tbody tr {
		display: block;
	}
	.itemlist tbody td {
		display: block;
		padding: 0 10px 0 10px;
	}
	.itemlist tbody td:nth-child(2){
		padding-top: 10px;
	}
	.itemlist tbody td:nth-child(4){
		padding-bottom: 10px;
	}
	.itemlist tbody td:not(.th_title){
	    text-align: left;
	    font-weight: bold;
	    font-size: 1rem;
	}
	.itemlist tbody td:not(.th_title):last-child em{
	    font-size: 1.6rem;
	    line-height: 1.4;
	}
	.itemlist tbody td:before {
		display: inline-block;
		font-weight: normal;
	}
	.itemlist tbody td:nth-of-type(2):before {
		content: "案件名：";
	}
	.itemlist tbody td:nth-of-type(3):before {
		content: "月間サイト収益：";
	}
	.itemlist tbody td:nth-of-type(4):before {
		content: "月間PV数：";
	}
	.itemlist tbody td:nth-of-type(5):before {
		content: "買取金額：";
	}
	.itemlist tr:nth-child(3) td:not(:first-child):after {
	    content: '（２サイト合計）';
	    display: inline;
	    font-size: 12px;
	    line-height: 1;
	}
	.itemlist tbody .th_title {
		background-color: #003e85;
		color: #fff;
		text-align: center;
		padding:10px 5px;
	}
	.itemlist thead {
	    display: none;
	}
	/* ニーズ */
	.needs h2{
		padding:30px 0 30px 0;
	}
	.needs h2 img{
	    max-width: 120px;
	    width: 36vw;
	    min-width: 120px;
	    padding-bottom: 5px;
	}
	.needs ol{
		max-width: 400px;
		margin: 0 auto;
	}
	.needs ol li{
		padding-bottom: 30px;
	}
	/* 流れ */
	div.flow h2{
    	padding-bottom: 10px;
	}
	.flow h2 + p{
		padding-bottom: 30px;
	}
	.flow h2 img{
	    max-width: 160px;
	    width: 30vw;
	    min-width: 140px;
	}
	.flow .flex{
	    display: block;
	    width: 88%;
	}
	.flow ol{
    	padding-bottom: 20px;
	}
	.flow ol li:nth-child(1).arrow:after{
	    bottom: -15px;
	    top: inherit;
	}
	.flow ol li:nth-child(3).arrow:after{
		top: -20px;
	}
	.flow ol li:nth-child(2):before{
		border: 1px solid #003e85;
		border-left: none;
		width: 10px;
		height: 100%;
		bottom: 0;
		right: -15px;
		left: inherit;
	}
	.flow ol li:nth-child(2):after{
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		bottom: 0;
		top: 0;
		right: -45px;
	}
	.flow ol li{
		margin-bottom: 20px;
		padding: 20px 10px;
	}
	.flow h3 img{
    	margin-bottom: 10px;
	}
	/* Q&A */
	.qa dl:last-child{
		padding-bottom: 50px;
	}
	/* Footer */
	footer .flex{
		display: block;
		text-align: center;
		margin: 0 auto;
		font-size: 14px;
	}
	footer .flex > div{
		margin: 0 auto;
		width: initial;
		padding-top: 30px;
	}
	footer .flex p{
		padding-bottom: 30px;
	}
	footer .flex ul li{
		padding-bottom: 20px;
	}
}


@media (max-width: 500px) {
	body{
		font-size: 4vw;
	}
	.sp{
		display: initial;
	}
	.pc{
		display: none;
	}
	header .flex.reverse{
		display: block;
	}
	.sp_flex_col1{
		width: 100%;
	}
	/* Main */
	main img{
		padding:5px 0 0;
	}
}
@media (max-width: 320px) {

}