@charset "utf-8";

@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	vertical-align:baseline;
	background:transparent;
	list-style-type:none;
	font-size: 18px;
	color: #333;
	font-family:'Noto Sans JP',"源ノ角ゴシック","ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", 游ゴシック体, "Yu Gothic", YuGothic, "Open Sans", "Helvetica Neue", "sans-serif", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/* line-height: 3.0; */
	outline:none;
	letter-spacing:0.1em;
}

img {
	width: 100%;
	vertical-align: middle;
	
}

.img-box {
	width: 80%;
	vertical-align: middle;
	text-align:center;
 }

.sp {display: none;}

h2 {
	text-align: center;
	font-size: 2.2vw;
	line-height: 150%;
}

p {font-size: 1.3vw;}

.box {
	max-width: 1000px;
	margin: 0 auto;
	padding: 5% 2%;
}

/* span系のcss */
.orange {
	color: #f77706;
	font-size: 100%;
	line-height: 130%;
	font-weight: bold;
}

.orange_back {
	color: #fff;
	background: #f77706;
	font-size: 100%;
	line-height: 130%;
}

.yellow {
	color: #f7d65f;
	font-size: 100%;
	line-height: 130%;
}

.yellow_back {
	text-decoration: underline; /* 下線 */
	text-decoration-thickness: 0.5em; /* 線の太さ */
	text-decoration-color: #f7d65f; /* 線の色 */
	text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
	text-decoration-skip-ink: none;
	font-size: 100%;
	line-height: 130%;
}

.red {
	color: #a22929;
	font-size: 130%;
	font-weight: bold;
}

/* header css */
.all img {
	width: 100%;
}

.header_top {
	max-width: 1000px;
	display: flex;
	margin: 0 auto;
	padding: 2%;
	justify-content: space-between;
	align-items: center;
}

.logo {
	display: block;
	width: 30%;
}

.header_btn {
	display: flex;
	justify-content: space-between;
}

.header_btn img {
	width: 100%;
}

.header_btn a:first-child {
	display: block;
	margin-right: 2%;
	border-radius: 0!important;
}

/* cta css */
.cta1 {
	background: #faf4e9;
}

.cta1_box {
	text-align: center;
}

.cta1_btn {
	display: flex;
	justify-content: space-between;
	margin-top: 3%;
}

.cta1_btn a:first-child {
	margin-right: 3%;
}

/* -----btnアニメーション -----*/
.btn {
    display: block;
    position: relative;
    font-weight: bold;
    overflow: hidden;
	transition: 300ms;
	border-radius: 15px;
}

.btn::before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    transition: 300ms;
    animation: shinyshiny 2.5s ease-in-out infinite;
}

.header_btn a:hover,.cta1_box a:hover,.cta2_box a:hover,.cta3 a:hover {
	opacity: 0.8;
}

@-webkit-keyframes shinyshiny {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

/* -----btnアニメーションここまで----- */


/* 時効 css */
.jikou_box {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	margin-top: 5%;
}

.jikou_box p {
	font-weight: bold;
	line-height: 200%;
}

.jikou_box img {
	display: block;
	width: 30%;
}

/* list css */
.list {
	background: url(../img/02_back.jpg) no-repeat center / cover;
}

.list_box {
	max-width: 1000px;
	padding: 5% 2%;
	margin: 0 auto;
}

.triangle0 {
	width: 0;
	height: 0;
	margin: 0 auto;
	border-left: 120px solid transparent;
	border-right: 120px solid transparent;
	border-top: 60px solid #e3edf6;
}


/* 請求しましょう */
.seikyu {
	text-align: center;
}

.seikyu p {
	margin: 3% auto;
	font-weight: bold;
	line-height: 200%;
}

.seikyu img {
	width: 20%;
}

/* どんな職種でも */
.work {
	background: #e7f4ff;
	padding-bottom: 3%;
}

.work_box h2 {
	color: #fff;
	background: #3f96dd;
	padding: 1%;
}

.work_list {
	display: flex;
	justify-content: space-between;
	margin: 3% auto 0 auto;
	width: 80%;
	text-align: center;
}

.work_list img {
	width: 90%;
}

/* 未払いは違法 */
.ihou {
	background: url(../img/04_back.jpg) no-repeat center / cover;
	padding-bottom: 5%;
}

.ihou h2 {
	color: #fff;
	background: #a22929;
	padding: 1%;
}

.ihou_box {
	max-width: 1000px;
	width: 50%;
	height: auto;
	margin: 5% auto 0 auto;
	text-align: center;
	padding: 3%;
	background: #fff;
	border: 3px solid #a22929;
	border-radius: 15px;
}

.ihou_box p {
	line-height: 200%;
}

/* reason css */
.reason {
	background: #faf4e9;
	padding: 5% 2%;
}

.reason img {
	display: block;
	max-width: 1000px;
	margin: 0 auto;
}

.reason_box {
	max-width: 1000px;
	width: 90%;
	margin: 5% auto 0 auto;
}

.reason_box p {
	background: #fff;
	line-height: 200%;
	padding: 3%;
}

.triangle1 {
	width: 0;
	height: 0;
	margin: 0 auto;
	border-left: 120px solid transparent;
	border-right: 120px solid transparent;
	border-top: 60px solid #faf4e9;
}

/* cta2 css */
.cta2_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.cta2_box img:first-child {
	margin-right: 3%;
	width: 23%;
}

.cta2_btn {
	display: flex;
	justify-content: space-between;
}

.cta2_btn a:first-child {
	margin-right: 3%;
}

/* case css */
.case {
	background: #e7f4ff;
	padding: 5% 2%;
}

.case_box {
	background: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1000px;
	width: 90%;
	margin: 3% auto 0 auto;
}

.case_box img {
	display: block;
	width: 40%;
}

.case_box p {
	padding: 3%;
	line-height: 200%;
}

.case_box .orange {
	font-size: 130%;
}


/* 流れ */
.flow {
	background: url(../img/07_back.jpg) no-repeat center / cover;
	background-color:rgba(255,255,255,0.5);
	background-blend-mode:lighten;
	padding: 5% 2%;
}

.flow h2 {
	color: #f77706;
}

.flow_back {
	background: #faf4e9;
    max-width: 1000px;
    margin: 3% auto;
    padding: 3% 0;
}

.flow_box h2 {
	color: #fff;
	background: #f77706;
	padding: 1%;
	text-align: left;
}

.flow_box {
	width: 94%;
	margin: 3% auto 0 auto;
}

.flow_box:first-child {
	margin: 0 auto;
}

.flow_box p {
	padding: 3% 3% 3% 18%;
	line-height: 200%;
}

.flow_p1 {
	background: #fff url(../img/07_1.png) no-repeat 3% / 12%;
}

.flow_p2 {
	background: #fff url(../img/07_2.png) no-repeat 4% / 11%;
}

.flow_p3 {
	background: #fff url(../img/07_3.png) no-repeat 4% / 11%;
}

.flow_p4 {
	background: #fff url(../img/07_4.png) no-repeat 5% / 9.5%;
}

.flow_p5 {
	background: #fff url(../img/07_5.png) no-repeat 5% / 9%;
}

.triangle2 {
	width: 0;
	height: 0;
	margin: 0 auto;
	border-left: 80px solid transparent;
	border-right: 80px solid transparent;
	border-top: 40px solid #fff;
}

.flow_illust {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 60%;
	margin: 0 auto;
}

.flow_illust img {
	width: 35%;
}

/* FAQ アコーディオン */
.faq{
    background: #e2f4de;
	padding: 5% 2%;
}

.faq h2 {
	color: #259f04;
}

.faq_box{
	max-width: 1000px;
	margin: 3% auto 0 auto;
}

.faq_q {
    cursor: pointer;
    background: #fff url(../img/faq_q.png) no-repeat 2% / 5%;
    padding: 2% 6% 2% 10%;
	border-radius: 10px;
	line-height: 200%;
}

.faq_q > p{
    padding: 3% 7% 3% 13%;
    font-size: var(--font-bs);
}

.faq_a {
    display: none;
    background: #eeeeee url(../img/faq_a.png) no-repeat 2% / 5%;
    padding: 5% 6% 2% 10%;
	margin-top: -3%;
	border-radius: 10px;
	line-height: 200%;
}

.accordionlist:not(:first-child) {
    margin-top: 10px;
  }
  
.accordion-title {
    position: relative;
}
  
.accordion-title:before {
    position: absolute;
    content: '';
    top: 50%;
    right: 3%;
    height: 4px;
    width: 15px;
    background: #259f04;
    transform: rotate(90deg);
    transition: all .3s ease-in-out;
}

.accordion-title:after {
    position: absolute;
    content: '';
    top: 50%;
    right: 3%;
    height: 4px;
    width: 15px;
    background: #259f04;
    transition: all .3s ease-in-out;
}
  
.accordion-title.open:before {
    transform: rotate(180deg);
}

.accordion-title.open:after {
    opacity: 0;
}

/* 料金 */
.price {
	background: #e7f4ff;
    padding: 5% 2%;
}

.price_box {
	max-width: 800px;
	margin: 0 auto;
	border: 1px solid #2685d2;
}

.price_box h2 {
	color: #fff;
}

.price_box td {
	border: 1px solid #2685d2;
	padding: 1%;
	line-height: 200%;
}

/* 事務所情報 */
.office {
	background: #faf4e9;
	padding: 5% 2%;
}

.office h2 {
	position: relative;
	text-align: center;
}

.office h2::before {
	position: absolute;
	top: calc(50% - 1px);
	left: 0;
	width: 100%;
	height: 2px;
	content: '';
	background: #f77706;
}

.office_span {
	font-size: 2.2rem;
	color: #f77706;
	position: relative;
	padding: 0 3%;
	background: #faf4e9;
}

.office_box {
	max-width: 1000px;
	margin: 0 auto;
	border-spacing: 5px;
}

.office_box td {
	border-bottom: 2px dotted #f77706;
	background: #fff;
	padding: 1%;
	line-height: 200%;
}

footer p {
	background: #f77706;
	color: #fff;
	margin: 0 auto;
	text-align: center;
	padding: 1%;
}

/* thanks.php css */
.thanks-text {
	text-align: center;
	background: #faf4e9;
	line-height: 200%;
    padding-top: 5%;
}


/* ============jikohasan============= */


/* ======================

common

===================== */

.inner{
	max-width: 1000px;
	width: 80%;
	margin: 0 auto;
}


h2{
	font-weight: bold;
}

/* ======================

cta

===================== */

.contents{
	padding: 64px 0;
}

.contents img{
	width: 70%;
	height: auto;
	display: block;
	margin: 0 auto;
}




.cta1_btn a{
	width: 100%;
}

.cta1_btn a{
	width: 100%;
}

.cta1_box>img{
	width: 70%;
}





/* 
======================

header

======================
 */

 .header-top{
    background-color: var(--accent-color);
    color: #fff;
}


/* 
======================

nav

======================
 */


.sp-nav-box {
    display: flex;
    background: #fff;
    height: 50px;
	position: fixed;
	z-index: 10000;
	width: 100%;
}

.headerwrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
	width: 90%;
    margin: 0 auto;
}

.headerlogo {
    height: auto;
    align-self: center;
    width: 100%;
    display: flex;
    align-items: center;
}

.headerlogo img {
    max-width: 100%;
    width: 70%;
    height: auto;
    display: block;
}

.navwrap__sp {
    display: none;
}


.navlist {
    display: flex;
}

.navlist>li {
    margin-right: 3rem;
    line-height: 90px;
    text-align: center;
    transition: .2s;
}

.navlist>li>a {
    font-size: 1.4rem;
    display: block;
}

.cta-btn-box {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.cta-btn-box img {
    width: 100%;
}

.cta-btn-box > li{
    border-bottom: none!important;
}


.cta-btn-box > li:first-child{
    margin-bottom: 2%;
}



/* ====================spnav===================== */


.hamburger {
    position: absolute;
    right: 20px;
    top: 5px;
	width: 2rem;
    height: 2rem;
    cursor: pointer;
    z-index: 1001;
}

.ham_line {
    position: absolute;
    width: 2rem;
    height: 3px;
    right: 0;
    background-color: #f77706;
    transition: all 0.5s;
}

.ham_line-1 {
    top: 5px;
}

.ham_line-2 {
    top: 18px;
}

.ham_line-3 {
    top: 31px;
}


.open .ham_line-1 {
    transform: rotate(-45deg);
    top: 20px;
}

.open .ham_line-2 {
    opacity: 0;
}

.open .ham_line-3 {
    transform: rotate(45deg);
    top: 20px;
}


/* 
  spnav(ナビ)
  =================================== */
.spnav {
    position: fixed;
    right: -100%;
    top: 0;
    width: 100%;
    height: 100vh;
    background-color: #fbf6e3;
    transition: all 0.5s;
    z-index: 1000;
    overflow-y: auto;
}


.open .spnav {
    right: 0;
}



.black-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 5;
    background-color: var(--color);
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
    cursor: pointer;
    z-index: 100;
}

.open .black-bg {
    opacity: 0.3;
    visibility: visible;
}



.spwrap {
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: start;
    flex-direction: column;
    padding: 0 4rem;
}

.spnav ul {
    width: 100%;
}


.sp-menu-line  {
    display: flex;
    margin-bottom: 40px;
    border-bottom: 1px dashed rgb(220, 220, 220);
    transition: .2s;
}



.sp-menu-link{
    display: flex;
    padding: 0 0 16px 0;
    width: 100%;
}



.sp-menu-arrow{
    display: block; 
    margin-left: auto;
    font-weight: bold;
}

.sp-menu-line:hover {
    color: #f77706;
    border-bottom: 1px solid #f77706;
}

.sp-menu-line:hover .sp-menu-arrow{
    color: #f77706;
}


/* ======================

huan

===================== */


.huan{
	background: url(../img/huan_back.jpg) no-repeat center / cover;
}


/* ======================

answer

===================== */


.answer-title{
	background: rgb(251,170,127);
background: linear-gradient(180deg, rgba(251,170,127,1) 0%, rgba(251,170,127,1) 27%, rgba(247,199,110,1) 100%);
	position: relative;
    z-index: 2;
}



.answer-title:after {
    content: "";
    background: url(../img/answer_parts2.png) no-repeat center / contain;
    position: absolute;
    width: 100%;
    height: 30%;
    bottom: -50px;
    left: 0;
}

.answer-title p{
	font-size: 24px;
    font-weight: bold;
    text-align: center;
}

.answer{
	background: url(../img/answer_back.png) no-repeat center / cover;
	padding-top: 104px;
}


.answer img:first-child{
	padding-bottom: 36px;
}



/* ======================

soudan

===================== */


.soudan{
	background: #ffeabd;
}



/* ======================

voice

===================== */


.voice{
	background: #e2f4de;
}

.extra{
	background: #f7d65f;
}



/* ======================

reason

===================== */

.reason{
	background-size: auto auto;
	background-color: rgba(255, 255, 255, 1);
	background-image: repeating-linear-gradient(90deg, transparent, transparent 15px, rgba(255, 252, 247, 1) 15px, rgba(255, 252, 247, 1) 20px )
}



/* ======================

hiyou

===================== */



.hiyou{
	background:#f9f9f9 ;
}



/* ======================

form

===================== */



/* 
======================

form

====================== 
*/


.form{
    background: url(../img/form_back.png) no-repeat center / cover;
}

.title-under{
    background: url(../img/title_under.png) no-repeat center / contain;
    height: 8px;
	margin: 10px 0 30px;
    width: 100%;
}

.form-box{
    background-color: #d4ebf2;
    border-radius: 10px;
	width: 80%;
	margin: 0 auto;
	max-width: 1000px;
}

#form-wrap{
    padding: 8% 0;
    width: 80%;
    margin: 0 auto;
}

input[type="text"],
textarea{
    width: 100%;
    background-color: #fff;
    padding: 4%;
}

.form-table{
    width: 100%;
    margin-bottom: 2%;
}

.form-tr{
    width: 100%;
    display: flex;
    margin-bottom: 3%;
	line-height: 32px;
}

.form-tr > th,
.form-tr > td{
    width: 100%;
    display: block;
}

.required{
    background: #e5b909;
    padding: 6px 16px;
    margin-right: 6%;
}

.optional{
    background: rgb(220, 220, 220);
    padding: 6px 16px;
    margin-right: 6%;
}


.privacy{
    width: 100%;
    height: 150px;
    overflow-y:scroll;
    background-color: #fff;
    margin-bottom: 8%;
    padding: 2% 6%;
}

.red-accent{
    color: var(--accent-extra-color);
}


.submit-btn{
    text-align: center;
    padding: 3%;
    width: 50%;
    margin: 0 auto;
    display: block;
    background-color: #f77706;
    border-radius: 10px;
    font-weight: bold;
    color: #fff;
    font-size: 1.3rem;
    letter-spacing: .1rem;
}



@media screen and (max-width: 750px) {


	/* ======================

	common

	===================== */

	.inner{
		max-width: 1000px;
		width: 90%;
		margin: 0 auto;
	}


	.contents{
		padding: 32px 0;
	}

	.contents img{
		width: 100%;
		height: auto;
		display: block;
		margin: 0 auto;
	}


	/* ======================

	cta

	===================== */


	.cta1_box>img {
		width: 90%;
	}

	.sp-head{
		padding-top: 50px;
	}


	/* ======================

	answer

	===================== */

	.answer{
		
		margin-top: -40px;
	}

	.answer img:first-child {
		padding: 28px 0;
	}


	/* ======================

	form

	===================== */

	.form-box,#form-wrap{
		width: 90%;
	}

	
	.form-tr {
		flex-direction: column;
		margin-bottom: 8%;
		line-height: 2;
	}

	.form-tr > th {
	margin-bottom: 10px;
	font-size: 3.8vw;
	}

	.required,.optional{
		font-size: 3.8vw;
	}

	.submit-btn {
		padding: 6% 3%;
		width: 100%;
		font-size: 1.2rem;
	}

	.privacy{
		font-size: .8rem;
		line-height: 1.2rem;
	}

}





@media screen and (max-width: 750px) {

	.pc {display: none;}

	.sp {display: block;}

	p {font-size: 3.8vw;}
	dt,dd,td {font-size: 3.8vw;}

	h2 {font-size: 4.8vw;}
	.office_span {font-size: 4.8vw;}


	.logo {width: 50%;}

	.cta1_btn {
		display: flex;
		flex-direction: column;
	}

	.cta1_btn a:first-child {
		margin-bottom: 2%;
		margin-right: 0;
	}

	.work_list {
		display: flex;
		flex-direction: column;
		margin: 2% auto;
	}

	.work_list li {
		margin: 3% auto;
	}

	.ihou_box {
		width: 85%;
	}

	.cta2_box {
		flex-direction: column;
	}

	.cta2_btn {
		display: flex;
		flex-direction: column;
		margin-top: 2%;
	}

	.cta2_btn a:first-child {
		margin-bottom: 2%;
		margin-right: 0;
	}

	.case_box {
		flex-direction: column;
		margin: 5% auto 0 auto;
	}

	.case_box img {
		width: 100%;
	}

	.faq_q {
		padding: 2% 10%;
		border-radius: 5px;
	}

	.flow_illust {
		max-width: 85%;
	}

	.triangle0 {
		max-width: 100vw;
		border-left: 30px solid transparent;
		border-right: 30px solid transparent;
		border-top: 20px solid #e3edf6;
	}

	.triangle1 {
		max-width: 100vw;
		border-left: 30px solid transparent;
		border-right: 30px solid transparent;
		border-top: 20px solid #faf4e9;
	}

	.triangle2 {
		max-width: 100vw;
		border-left: 30px solid transparent;
		border-right: 30px solid transparent;
		border-top: 20px solid #fff;
	}


	/* sp固定ボタン */
	.cta3 {
		display: flex;
		justify-content: center;
		align-items: center;
		position: fixed;
		bottom: 0;
		padding: 1%;
		background: rgba(246,214,95,0.8);
		width: 100%;
	}

	.cta3 a:first-child {
		margin-right: 3%;
	}

	footer {
		background: #f77706;
		padding-bottom: 22%;
	}
}


.cta1_btn .btn,
.cta-btn-box .btn,
header .btn{
	position:relative;
}

header .textBtn{
	position:absolute;
	font-size:23px;
	right:15px;
	bottom:5px;
	font-weight:bold;
	letter-spacing:0;
	color:#fff;
}

.cta1_btn .textBtn{
	position:absolute;
	font-size:min(5vw , 50px);
	right:8%;
	bottom:8%;
	font-weight:bold;
	letter-spacing:0;
	color:#fff;
}

@media screen and (max-width: 750px) {
	header .textBtn{
		font-size:clamp(30px , 8vw , 73px);
		right:8%;
		bottom:12%;
		letter-spacing:2px;
	}

	.cta1_btn .textBtn{
		font-size:min(10.2vw , 75px);
	}
}

@media screen and (max-width: 600px) {
	header .textBtn{
		font-size:7vw;
	}
}

@media screen and (max-width: 500px) {
	header .textBtn{
		font-size:6vw;
	}
}

@media screen and (max-width: 400px) {
	header .textBtn{
		font-size:5vw;
	}
}

@media screen and (max-width: 300px) {
	header .textBtn{
		font-size:min(5vw , 18px);
	}
}

