@charset "utf-8";

/*
 * CSS Document
 * Name : nrpa-kentei | about.php / contact-style.css
 * Production Date : 2023.04.11
 * container width = 
 			1920 / 1600 / 1440 / 1366 / 1280 / 1080=1024 / 960 / 800-768 / 600 / 500-480 / 425-320
*/


/* ==========================================================================
   #contactSec-01 .top-image
========================================================================== */
#contactSec-01 .topImg-jpg {
	width: 100%;
	height: 0;
	padding-top: 18.75%;
	background: url(images/contact-top-LL.jpg) center top no-repeat;
	background-size: cover;
}
#contactSec-01 .topImg-svg {
	width: 100%;
	height: 0;
	padding-top: 18.75%;
	background: url(images/contact-top-LL.svg) center center no-repeat;
	background-size: cover;
}

@media screen and (max-width:1080px) {
	#contactSec-01 .topImg-jpg {
		padding-top: 21.5625%;
		background: url(images/contact-top-LL.jpg) center center no-repeat;
		background-size: 115% auto;
	}
	#contactSec-01 .topImg-svg {
		padding-top: 21.5625%;
		background: url(images/contact-top-LL.svg) center center no-repeat;
		background-size: 115% auto;
	}
}

@media screen and (max-width:960px) {
	#contactSec-01 .topImg-jpg {
		padding-top: 26.25%;
		background: url(images/contact-top-LL.jpg) center center no-repeat;
		background-size: 140% auto;
	}
	#contactSec-01 .topImg-svg {
		padding-top: 26.25%;
		background: url(images/contact-top-LL.svg) center center no-repeat;
		background-size: 140% auto;
	}
}

@media screen and (max-width:800px) {
	#contactSec-01 .topImg-jpg {
		padding-top: 31.875%;
		background: url(images/contact-top-LL.jpg) center center no-repeat;
		background-size: 170% auto;
	}
	#contactSec-01 .topImg-svg {
		padding-top: 31.875%;
		background: url(images/contact-top-LL.svg) center center no-repeat;
		background-size: 170% auto;
	}
}

@media screen and (max-width:600px) {
	#contactSec-01 .topImg-jpg {
		padding-top: 37.5%;
		background: url(images/contact-top-LL.jpg) center center no-repeat;
		background-size: 200% auto;
	}
	#contactSec-01 .topImg-svg {
		padding-top: 37.5%;
		background: url(images/contact-top-LL.svg) center center no-repeat;
		background-size: 200% auto;
	}
}

@media screen and (max-width:480px) {
	#contactSec-01 .topImg-jpg {
		padding-top: 45%;
		background: url(images/contact-top-LL.jpg) center center no-repeat;
		background-size: 250% auto;
	}
	#contactSec-01 .topImg-svg {
		padding-top: 45%;
		background: url(images/contact-top-LL.svg) center center no-repeat;
		background-size: 250% auto;
	}
}

@media screen and (max-width:425px) {
	#contactSec-01 .topImg-svg {
		padding-top: 45%;
		background: url(images/contact-top-LL.svg) center center no-repeat;
		background-size: 275% auto;
	}
}



/* =============================================================================
	main-contents メインコンテンツ
============================================================================= */
.main-inner {
	margin-left: auto;
	margin-right: auto;
	width: 960px;
	background-color: #f8f8f6;
}
.main-contents {padding: 5% 7%;}

.intro {margin-bottom: 24px;}

@media screen and (max-width:1080px) {
	.main-inner {
		margin-left: 6%;
		margin-right: 6%;
		width: auto;
	}
	.main-contents {padding: 5% 6.5%;}
}

@media screen and (max-width:800px) {
	.main-inner {
		margin-left: 5.5%;
		margin-right: 5.5%;
		width: auto;
	}
	.main-contents {padding: 4.5% 5.5%;}
} 

@media screen and (max-width:600px) {
	.main-inner {
		margin-left: 1.75rem;
		margin-right: 1.75rem;
		width: auto;
	}
	.main-contents {padding: 1.375rem 1.75rem;}
	.intro {margin-bottom: 1.25rem;}
}

@media screen and (max-width:480px) {
	.main-inner {
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}
}

@media screen and (max-width:375px) {
	.main-contents {padding: 1.125rem 1.5rem;}
}


/* main-subject, step-erea -------------------------------------------------- */
/* main-subject */
.main-subject {
	width: 100%;
	margin-bottom: 1.8em;
	line-height: 1;
}


/* step-erea */
.step-erea {
	list-style-type: none;
	display: table;
	width: 100%;
	padding: 0;
	margin: 0;
	overflow: hidden;
}
.step-erea li {
	display: table-cell;
	position: relative;
	background: #e4e9e5;
	padding: 1em .5em 1em 2em;
	color: #404040;
}
.step-erea li.step-box span {padding-right: .6em;}
.step-erea li.pc-hidden {display: none;}
.step-erea li:last-child {padding-right: 1em;}
.step-erea li:last-child:before,
.step-erea li:last-child:after {display: none;}
.step-erea li:before, .step-erea li:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	margin: auto;
}
.step-erea li:before {
	top: -15px;
	right: -1em;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	border-width: 40px 0 40px 1em;
	z-index: 10;
}
.step-erea li:after {
	top: -15px;
	right: -.8em;
	border-style: solid;
	border-color: transparent transparent transparent #e4e9e5;
	border-width: 40px 0 40px 1em;
	z-index: 10;
}
.step-erea li.is-current{
  background: #00b325;
  color: #fff;
  font-weight: bold;
}
.step-erea li.is-current:after {border-color:transparent transparent transparent #00b325;}

@media screen and (max-width:1080px) {
	.step-erea li.step-box {
		padding: 1em 0em 1em 1.75em;
	}
	.step-erea li.step-box span
}

@media screen and (max-width:800px) {
	.step-erea li.step-box {
		font-size: .9375em;
		line-height: 1.4;
		padding: .35em .5em .35em 2em;
	}
	.step-erea li span {display: block;}
}

@media screen and (max-width:600px) {
	.step-erea, .step-erea li {
		display: block;
		position: static;
		text-align: center;
	}
	.step-erea li {padding: .75em 0;}
	.step-erea li:last-child {padding-right: 0;}
	.step-erea li:before, .step-erea li:after {
		content: none;
		position: static;
		top: 0;
		right: 0;
		border-style:none;
		border-width: 0;;
		z-index: 10;
	}
	.step-erea li span {display: inline;}
	.step-erea li.pc-hidden {
		display: block;
		margin: 3px auto -20px;
		background: none;		
		width: 0;
	  height: 0;
	  border-left: 30px solid transparent;
	  border-right: 30px solid transparent;
	  border-top: 20px solid  #c0bfbf;
	}
}



/* error_display ----------------------------------------------------------- */
.error_display {}
.error_display .error_list {
	margin: 0 auto 1.125em;
	width: 90%;
	padding: .35em 1em;
	border: 3px solid #fd6a21;
	font-size: 1em;
	color: #fc2020;
	font-weight: bold;
}
.error_display .error_list li {
	padding-left: 1em;
	text-indent: -1em;
}
.error_display .error_list li::before {
	content: "・";
}


@media screen and (max-width:600px) {
	.error_display .error_list {
		width: 100%;
		font-size: .9375em
	}
}

@media screen and (max-width:600px) {
	.error_display .error_list {font-size: .875em;}
}



/* form area --------------------------------------------------------------- */
.main-contents form {}

/* title */
.item-ttl {
	font-size: 1.25em;
	color: #555;
	margin-bottom: .25em;
}
.item-ttl:before {
	content: "■";
	color: #0071bc;
}
.item-ttl.your-info {margin-top: .75em;}


@media screen and (max-width:800px) {
	.item-ttl {font-size: 1.125em;}
}

@media screen and (max-width:600px) {
	.item-ttl {font-size: 1.0625em;}
}



/* form item */
/* .element-wrap {font-size: .9375em;} */
form .element {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
form .element p.elm-l, form .element p.elm-r {
	padding: 1.25em 1.5em;
	line-height: 1;
}
form .element p.elm-l {
	width: 33%;
	font-size: .9375em;
	background-color: #ebebb9;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
}
form .element p.elm-r {
	width: 67%;
	background-color: #e6ecf1;
	border-bottom: 3px solid #fff;
	position: relative;
}


@media screen and (max-width:800px) {
	form .element p.elm-l, form .element p.elm-r {
		padding: 1em  .875em;
	}
	form .element p.elm-l {width: 31%;}
	form .element p.elm-r {width: 69%;}
}

@media screen and (max-width:600px) {
	form .element {display: block;}
	form .element p.elm-l, form .element p.elm-r {
		width: 100%;
		padding: 0;
		background: none;
	}
	form .element p.elm-r {
		position: static;
		padding-left: 1em;
	}
}

@media screen and (max-width:375px) {
	form .element p.elm-r {padding-left: 0;}
}


/* form parts --------------------------------------------------------------- */
form .element p.elm-l label span {
	display: block;
	margin: .4em 0 0 auto;
	padding: .2em 0;
	border-radius: 4px;
	color: #fff;
	font-size: 1em;
	width: 3.5em;
	text-align: center;
}
form .element p.elm-l label span.required {background-color: #ed1c24;}
form .element p.elm-l label span.free {background-color: #009245;}


@media screen and (max-width:600px) {
	form .element p.elm-l label {
		padding: 0;
		margin: 0;
	}
	form .element p.elm-l {margin-bottom: .45em;}
	.elm-l label::before {
		content: "●";
		color: #777;
	}
	form .element p.elm-l label span {
		display: inline-block;
		margin-left: .75em;
		font-size: .875em;
		padding-bottom: .3em;
		padding-top: .35em;
	}
	form .element p.elm-r {
		padding-bottom: .75em;
	}
}


/* select */
select[name="theme"], select[name="areas"] {
	appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-webkit-appearance: none;
	background: #fff;
	border: 1px solid #aaa;
	font-size: .9375em;
	color: #333;
	border-radius: 3px;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	cursor: pointer;
	padding: .5em .666em;
	line-height: 1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	/* arrows */
	background-image: linear-gradient(45deg, transparent 50%, gray 50%), linear-gradient(135deg, gray 50%, transparent 50%), linear-gradient(to right, #aaa, #aaa);
		background-position: calc(100% - 20px) calc(1em - 1px), calc(100% - 15px) calc(1em - 1px), calc(100% - 2.5em) 0.25em;
	background-size: 5px 5px, 5px 5px, 1px 1.5em;
  background-repeat: no-repeat;
}
select[name="theme"] option {font-size: .9375em;}

select[name="areas"] {
	padding-right: 4em;
}


@media screen and (max-width:600px) {
	select[name="theme"], select[name="areas"] {
		position: static;
		top: 0;
		transform: translateY(0%);
		width: 80%;
		padding: .5em .666em .6em;
	}
	select[name="areas"] {
		padding-right: 4.25em;
		background-size: 5px 5px, 5px 5px, 1px 1.5em;
	}
}

@media screen and (max-width:480px) {
	select[name="theme"], select[name="areas"] {width: 100%;}
}


/* textarea */
textarea::placeholder {color: #8a8a8a;}
textarea.q_contents {
	border: 1px solid #aaa;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	font-size: .9375em;
	line-height: 1.6;
	color: #212121;
	padding: .25em .5em;
  height: auto;
  width: 100%;
  background-color: #fff;
}



@media screen and (max-width:600px) {
	textarea[name="q_contents"] {width: 100%;}
}


/* input radio */
.element-3 {position: relative;}
.lowCenter {
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
input[type=radio] {
	display: none;
	margin: 0;
}
input[type=radio] + label {
	cursor: pointer;
	display: inline-block;
	font-size: .9375em;
	margin-right: 12px;
	padding: 0 0 0px 24px;
	position: relative;
}
input[type=radio] + label::before {
	border: 1px solid #aaa;
  border-radius: 50%;
  box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	content: "";
	display: block;
	margin-top: -9px;
	position: absolute;
	left: 0;
	top: 50%;
	height: 16px;
	width: 16px;
	background: #fff;
}
input[type=radio]:checked + label::after {
	background: #777;
	border-radius: 50%;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  content: "";
  display: block;
  margin-top: 2px;
  position: absolute;
  left: 4px;
  top: 1px;
  height: 8px;
  width: 8px;
}

input[type="text"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="tel"]::-webkit-input-placeholder {
	position: relative;
	top: 0.1em;
	color: #8a8a8a;
}


@media screen and (max-width:600px) {
	.element-3 {position: static;}
	.lowCenter {
		display: block;
		position: static;
		top: 0%;
		transform: translateY(0%);
	}
}


/* input[type="text"], input[type="email"], input[type="tel"] */
input[type="text"], input[type="email"], input[type="tel"] {
	background: #fff;
	border: 1px solid #999999;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	font-size: .9375em;
	line-height: 1.0;
	padding: .25em .5em;
}
input[type="text"], input[type="email"] {width: 20em;}
input[type="tel"] {width: 15em;}
input[type="text"]::-webkit-input-placeholder,
input[type="email"]::-webkit-input-placeholder,
input[type="tel"]::-webkit-input-placeholder {
	line-height: 1.58;
}


@media screen and (max-width:600px) {
	input[name="your_name"], input[type="email"] {width: 80%;}
	input[name="orgName"] {width: 100%;}
}

@media screen and (max-width:480px) {
	input[type="text"], input[type="email"] {width: 100%;}
}


.label-add {
	display: block;
	font-size: .86667em;
	padding-top: .5em;
}

.privacy {
	margin-top: 24px;
	padding: .75em 1.5em;
	border: 1px solid #ccc;
	line-height: 1.8;
	background-color: #fff;
}
.privacy .privacy-ttl {
	color: #666;
	font-weight: bold;
	font-size: 1rem;
	margin-bottom: .25rem
}
.privacy .privacy-txt {
	font-size: .875em;
}
.privacy .privacy-txt a {
	text-decoration: underline;
	color: #008acf;
	font-weight: bold;
}
.privacy .privacy-txt a:hover {
	color: #0071bc;
	font-weight: bold;
}


@media screen and (max-width:480px) {
	.privacy {
		margin-top: 18px;
		padding: .5em 1em;
	}
	.privacy .privacy-ttl {
		font-size: .9375rem;
		line-height: 1.5;
		margin-bottom: .2rem
		}
	.privacy .privacy-txt {letter-spacing: -.05em;}
}



/* privacy-check */
.privacy-check {
	margin: .8rem 0px;
	padding-bottom: .8rem;
	text-align: center;
	border-bottom: 1px solid #ccc;
}
input[type="checkbox"] {
	display: none;
	margin: 0;
}
input[type="checkbox"] + label {
	cursor: pointer;
	display: inline-block;
	font-size: .9375em;
	padding: 0 0 0 1.5em;
	position: relative;
}
input[type="checkbox"] + label::before {
	border: 1px solid #aaa;
	background-color: #fff;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	content: "";
	display: block;
	margin-top: -8px;
	position: absolute;
	left: 0;
	top: 50%;
	height: 1rem;
	width: 1rem;
}
input[type="checkbox"]:checked + label::before {
	background: #fcf38f;
}
input[type="checkbox"]:checked + label::after {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  content: "";
  display: block;
  position: absolute;
  top: 50%;
}
input[type="checkbox"]:checked + label::after {
  border-bottom: 3px solid #f00025;
  border-left: 3px solid #f00025;
  left: 2px;
  margin-top: -6px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  height: 7px;
  width: 12px;
}

.privacy-check label span.required {
	font-size: .93333em;
	color: #fff;
	padding: .25em .5em;
	background-color: #ed1c24;
	border-radius: 4px;
	margin-left: .75em;
}


.submit-btn {text-align: center;}
input[name=btn_confirm] {
	width: 50%;
	margin-top: 1.25rem;
	padding: 1rem 0;
	font-size: 1.125rem;
	color: #fff;
	text-align: center;
	cursor: pointer;
	border: none;
	border-radius: 6px;
	background: #0063ae;
}
input[name=btn_confirm]:hover {
	opacity: .85;
	text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.8);
	font-weight: bold;
}


@media screen and (max-width:600px) {
	input[name=btn_confirm] {
		width: 70%;
		padding: .75rem 0;
	}
}
@media screen and (max-width:480px) {
	input[name=btn_confirm] {width: 100%;}
}



/* 確認画面 =================================================================== */
.element-9.consent {
	display: flex;
	margin-top: 5px;
}
.element-9.consent .elm-l {
	margin-right: 2em;
}
.element-9.consent .elm-r {
	background-color: #eee;
	padding: .3em 1em;
	line-height: 1;
}

.consent-btn {
	display: flex;
	justify-content: center;
}
.consent-btn input {
	display: block;
	width: 25%;
	margin-top: 1em;
	padding: 5px 0;
	font-size: 100%;
	color: #fff;
	text-align: center;
	cursor: pointer;
	border: none;
	border-radius: 4px;
}
input[name="btn_back"] {
	background: #eb3c00;
	margin-right: 2em;
}
input[name="btn_submit"] {background: #0060b0;}


@media screen and (max-width:600px) {
	.consent-btn input {width: 33%;}
}
@media screen and (max-width:480px) {
	.element-9.consent, .consent-btn {display: block;}
	.element-9.consent .elm-r {
		padding-left: 1em;
		padding-bottom: .75em;
		background: none;
	}
	.consent-btn {
		margin-top: .5em;
		display: flex;
		flex-direction: column-reverse;
	}
	.consent-btn input {
		width: 100%;
		margin-top: .75em;
	}
}


/* =============================================================================
	privacy.php プライバシーポリシー
============================================================================= */
.pageTitle {
	padding: .4em 0 .3em;
	border-bottom: 2px dotted #bbb;
	border-top: 2px dotted #ccc;
	margin-bottom: 1.125em;
}
.pageTitle h2 {
	line-height: 1.4;
	font-size: 1.25em;
	color: #777;
}

.privacyText {margin-bottom: 1em;}
.priv-ttl {
	font-size: 1.0625em;
	color: #444;
	line-height: 1.4;
	margin-bottom: .5em;
}
.priv-dscp {
	line-height: 1.6;
	font-size: .9375em;
}

.back-link {margin-bottom: .25em;}
.back-link a {
	text-decoration: underline;
	color: #be0d0d;
}
.back-link a:hover {color: #8f0202;}

.privacyText:last-child {
	margin: 2em auto;
	padding: .25em .75em;
	border: 1px solid #ccc;
}


@media screen and (max-width:767px) {
	.pageTitle h2 {font-size: 1.1875em;}
	.priv-ttl {font-size: 1em;}
	.priv-dscp {
		line-height: 1.5;
		font-size: .875em;
	}
	.back-link {font-size: .9375em;}
}

@media screen and (max-width:480px) {
	.pageTitle {margin-bottom: .875em;}
	.pageTitle h2 {font-size: 1.0625em;}
	.privacyText {margin-bottom: .875em;}
	.priv-ttl {font-size: .9375em;}
	.priv-dscp {line-height: 1.4;}
}


/* ==========================================================================
   #mainSec .under-inner
========================================================================== */
.under-inner {
	margin-left: auto;
	margin-right: auto;
	width: 960px;
	background-color: #fff9e6;
}
.under-contents {padding: 5% 7%;}

@media screen and (max-width:1080px) {
	.under-inner {
		margin-left: 6%;
		margin-right: 6%;
		width: 88%;
	}
	.under-contents {padding: 5% 6.5%;}
}

@media screen and (max-width:800px) {
	.under-inner {
		margin-left: 5.5%;
		margin-right: 5.5%;
		width: auto;
	}
	.under-contents {padding: 4.5% 5.5%;}
}

@media screen and (max-width:600px) {
	.under-inner {
		margin-left: 1.75rem;
		margin-right: 1.75rem;
		width: auto;
	}
	.under-contents {padding: 1.375rem 1.75rem;}
}

@media screen and (max-width:480px) {
	.under-inner {
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}
}

.under-contents .pbody-title,
.under-contents .body-text  {text-align: center;}
.means-flex {
	display: flex;
	justify-content: space-between;
}
.means-part {width: 30%;}
.divid-line {
	width: 0;
	border-left: 3px dotted #aaa;
}
.means-title {
	font-size: 1rem;
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	margin-bottom: .25rem;
}
.means-txt {
	text-align: left;
	font-size: .9375rem;
}
.means-txt span {display: block;}

@media screen and (max-width:800px) {
	.means-flex {flex-direction: column;}
	.means-part {
		width: 100%;
		margin: .75rem 0;
	}
	.divid-line {
		width: 100%;
		height: 0;
		border-left: none;
		border-bottom: 3px dotted #aaa;
	}
	.means-title {margin-bottom: .25em;}
	.pbody-txt .body-text span {display: block;}
	.means-txt {text-align: center;}
	.means-txt span {display: inline;}
}

@media screen and (max-width:480px) {
	.under-contents .pbody-title {
		font-size: 1.0625rem;
		letter-spacing: -.05em;
	}
	.means-title span {display: block;}
	.pbody-txt .body-text span {display: inline;}
}

@media screen and (max-width:375px) {
	.under-contents {padding: 1.125rem 1.5rem;}
	.means-txt {letter-spacing: -.05em;}
}



/* =========================================================================
	page top button
========================================================================= */
#p-top_btn {
	display: block;
	position: fixed;
	right: 1px;
	bottom: 1px;
	width: 62px;
	height: 62px;
	background-color: rgba(153,153,153,0.9);
/* 	opacity: 0; */
	border-radius: 50%;
	-moz-border-radius: 6px;
	border: 1px solid #fff;
	z-index: 20;
}
#p-top_btn span {
	display: block;
	position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 10px;
}
#p-top_btn:hover {
	opacity: .8;
}

@media screen and (max-width:767px) {
	#p-top_btn {
		width: 42px;
		height: 42px;
	}
	#p-top_btn span {
		width: 28px;
		height: auto;
		margin: -2px 6px;
	}
}

