@charset "utf-8";

/*
 * CSS Document
 * Name : シニア福祉アドバイザー / お問い合わせ / contact.css
 * Production Date : 2020.3.5
 * Update : 
 * Lust Updated : 
 * Author : 一般社団法人シニア福祉相談士検定協会 / ds Jam - a.koga
 * Version : v 1.0
 * Bootstrap 3 = none
 * container width = - 1024 / 1023 - 768 / 767 - 500 / 499 - 320
*/

/*
@media screen and (max-width:px) {}
*/


/* =============================================================================
	Reset
============================================================================= */
html, body, h1, h2, h3, h4, h5, h6, a, p, span, em, small, strong, sub, sup,
mark, del, ins, strike, abbr, dfn, blockquote, q, cite, code, pre,
ol, ul, li, dl, dt, dd, div, section, article, main, aside, nav,
header, hgroup, footer, img, figure, figcaption, address, time, audio, video,
canvas, iframe, details, summary, fieldset, form, label, legend, table, caption,
tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
}
* {font-family: inherit; font-size: inherit; line-height: inherit;}
a, a:visited, a:hover {
	color: inherit;
	text-decoration: none;
}

article, aside, footer, header, nav, section, main {display: block;}
* {box-sizing: border-box;}
*:before, *:after {box-sizing: inherit;}

table {border-collapse: collapse; border-spacing: 0;}

ol, ul {list-style: none;}
img, video {max-width: 100%;}
img {border-style: none; vertical-align: bottom;}
blockquote, q {quotes: none;}
blockquote:after, blockquote:before, q:after, q:before {content: ""; content:none;}

[hidden] {display: none !important;}
[disabled] {cursor: not-allowed;}
:focus:not(:focus-visible) {outline: none;}

/*スクリーンリーダー専用のユーティリティ*/
.sr-only {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    left: -9999px;
    top: -9999px;
}


/* =============================================================================
	 Basic
============================================================================= */
body, button, input, select, textarea {
	font-family: 'Roboto','Noto Sans JP', "游ゴシック体", "Yu Gothic", 'ヒラギノ角ゴ Pro', "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
	font-size: 100%;
	font-weight: 400;
	text-align: justify;
	line-height: 1.8;
	-webkit-text-size-adjust: 100%;
	color: #333;
}

a:hover, a:active, a:focus {outline: 0;}
a:hover, a:active {color: #13904d;}



/* =============================================================================
	Common 共通項目
============================================================================= */
/* additional font 追加フォントなど ------------------------------------------ */
.font-serif {font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;}

.bold {
	font-weight: bold;
	color: #777;
}


.sec-dscp {
	font-size: .9375em;
	line-height: 1.7;
	margin-bottom: .5em;
}

@media screen and (max-width:479px) {
	.sec-dscp {font-size: .875em;}
}


/* layout レイアウト関連 ------------------------------------------ */
/* 全体 */
.inner {
	margin: 0 auto;
	max-width: 960px;
	width: calc(100% - 32px);
}

.inner.main-flx {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
}


@media screen and (max-width:959px) {
	.inner.main-flx {display: block;}
}

/* main-contents, sidebar */
.main-contents {width: 69%;}
.sidebar {width: 28%;}

@media screen and (max-width:959px) {
	.main-contents, .sidebar {width: 100%;}
}




/* space　setting */
.sec-marrinBtm {margin-bottom: 42px;}



/* =============================================================================
	header ヘッダー
============================================================================= */
.top-head {
	border-top: 6px solid #b6dba1;
	padding: 10px 0;
	margin-bottom: 2em;
}

@media screen and (max-width:959px) {
	.top-head {margin-bottom: .5em;}
}
@media screen and (max-width:479px) {
	.top-head {
		padding: 7px 0;
		margin-bottom: 8px;
	}
}


.head-flx {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1em;
}

.test-name {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	width: 50%;
}
.test-mark {
	width: 17.36111%;
	max-width: 90px;
	margin-right: 10px;
}
.test-logo {
	width: 75%;
	max-width: 462px;
}
.kyokai-name {line-height: 1.3;}
.kyokai-name span {display: block;}


.titlebar {
	width: 100%;
	height: auto;
	background: #efefef;
}
.titlebar h1 {
	font-weight: normal;
	color: #555;
	text-align: center;
	font-size: 1.75em;
	line-height: 2.5;
}


@media screen and (max-width:959px) {
	.test-name {width: 60%;}
	.kyokai-name {font-size: .9375em;}
	.titlebar h1 {font-size: 1.625em;}
}
@media screen and (max-width:768px) {
	.titlebar h1 {font-size: 1.5em;}
}
@media screen and (max-width:479px) {
	.head-flx {
		display: block;
		margin-bottom: 14px;
	}
	.test-name {
		margin-left: auto;
		margin-right: auto;
		width: calc(100% + (12vw * -1));
		min-width: 288px;
		margin-bottom: 3px;
	}
	.kyokai-name {
		text-align: center;
		font-size: calc(12px + .75vw);
	}
	.kyokai-name span {display:inline;}
	.titlebar h1 {font-size: 1.3125em;}
}



/* =============================================================================
	main-contents メインコンテンツ
============================================================================= */
.intro {margin-bottom: 24px;}

@media screen and (max-width:599px) {
	.intro {margin-bottom: 12px;}
}


/* 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: #eaeaea;
	padding: 1em .5em 1em 2em;
	color: #555;
}
.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 #eaeaea;
	border-width: 40px 0 40px 1em;
	z-index: 10;
}
.step-erea li.is-current{
  background: #36a5a3;
  color: #fff;
}
.step-erea li.is-current:after {border-color:transparent transparent transparent #36a5a3;}


@media screen and (max-width:599px) {
	.step-erea li {
		font-size: .9375em;
		line-height: 1.3;
		padding: .4em .5em .475em 2em;
	}
	.step-erea li span {display: block;}
}

@media screen and (max-width:479px) {
	.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:599px) {
	.error_display .error_list {
		width: 100%;
		font-size: .9375em
	}
}

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



/* form area --------------------------------------------------------------- */
.main-contents form {margin-bottom: 42px;}

/* 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:768px) {
	.item-ttl {font-size: 1.125em;}
}

@media screen and (max-width:479px) {
	.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: #f0f0d5;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
}
form .element p.elm-r {
	width: 67%;
	background-color: #f3f3f3;
	border-bottom: 3px solid #fff;
	position: relative;
}


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

@media screen and (max-width:479px) {
	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;
	}
}


/* 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:479px) {
	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: #777;
	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:599px) {
	select[name="theme"], select[name="areas"] {
		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:479px) {
	select[name="theme"], select[name="areas"] {
		position: static;
		margin: 0;
		top: 0%;
		transform: translateY(0);
	}
}


/* textarea */
textarea[name="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.5;
	padding: .25em .5em;
  height: auto;
  width: 25em;
}


@media screen and (max-width:599px) {
	textarea[name="q_contents"] {width: 19em;}
}
@media screen and (max-width:479px) {
	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: 0;
  height: 8px;
  width: 8px;
}


@media screen and (max-width:479px) {
	.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:479px) {
	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;
	font-size: .875em;
	line-height: 1.6;
}
.privacy .privacy-ttl {
	color: #666;
	font-weight: bold;
	margin-bottom: .25em
}
.privacy .privacy-txt {
	font-size: .92857em;
}
.privacy .privacy-txt a {
	text-decoration: underline;
}
.privacy .privacy-txt a:hover {color: #0071bc;font-weight: bold;}


@media screen and (max-width:479px) {
	.privacy {
		margin-top: 18px;
		padding: .5em 1em;
		background-color: #dcf4ff;
	}
}



/* privacy-check */
.privacy-check {
	margin: .6em 0px;
	padding-bottom: .6em;
	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;
	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: 1em;
	width: 1em;
}
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;
	margin-bottom: 32px;
}
input[name=btn_confirm] {
	width: 50%;
	margin-top: 10px;
	padding: 5px 0;
	font-size: 100%;
	color: #fff;
	text-align: center;
	cursor: pointer;
	border: none;
	border-radius: 4px;
	background: #0060b0;
}
input[name=btn_confirm]:hover {opacity: .9;}


@media screen and (max-width:599px) {
	input[name=btn_confirm] {width: 70%;}
}
@media screen and (max-width:479px) {
	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:599px) {
	.consent-btn input {width: 33%;}
}
@media screen and (max-width:479px) {
	.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;
	}
}





/* =============================================================================
	sidebar サイドバー
============================================================================= */
.connect {
	padding: .6em;
	border-top: 1px solid #ccc;
	text-align: center;
}
.connect:last-child {border-bottom: 1px solid #ccc;}
.connect .connect-ttl {
	line-height: 1.4;
	margin-bottom: .4em;
	color: #006837;
	font-weight: bold;
}

.cnct-email .connect-txt,
.cnct-tel .connect-txt {
	font-size: 1em;
	line-height: 1.3;
}
.cnct-tel .connect-txt {line-height: 1.2}
.cnct-tel .caution {
	font-size: .8125em;
}
.cnct-postal .connect-txt {
	font-size: .875em;
	line-height: 1.4;
}
.connect-txt.address {margin-bottom: .3em;}


@media screen and (max-width:959px) {
	.sidebar.side-flex {
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		margin-bottom: 42px;
	}
	.sidebar.side-flex div.connect {
		width: 32%;
		border: 1px solid #ccc;
	}
}

@media screen and (max-width:767px) {
	.sidebar.side-flex {display: block;}
	.sidebar.side-flex div.connect {
		width: 100%;
		border: none;
		border-bottom: 1px solid #ccc;
	}
	.sidebar.side-flex div.connect:first-child {border-top: 1px solid #ccc;}
}

@media screen and (max-width:479px) {
	.sidebar.side-flex div.connect {
		padding-left: 0;
		padding-right: 0;
	}
}


/* =============================================================================
	footer フッター
============================================================================= */
/* org-memo ----------------------------------------------------------------- */
.org-memo {
	width: 100%;
	height: auto;
	padding: 10px 0px 12px;
	background-color: #333;
}
.org-memo p {
	text-align: center;
	color: #fff;
	line-height: 1.5
}

.site-name {
	font-size: 1.25em;
	line-height: 1;
	margin-bottom: .3em;
}
.org-memo .org-frame-line {
	margin: 0 auto 6px;
	width: 70%;
	max-width: 960px;
	height: 1px;
	background: linear-gradient(to right, #666666, #ffffff, #666666);
	background: -webkit-linear-gradient(left, #666666, #ffffff, #666666);
}
.org-memo .org-name {
	font-size: 1em;
	margin-bottom: 4px;
}
.org-memo .org-address,
.org-memo .tel-fax,
.org-memo .email {font-size: .875em;}
.org-memo .email {margin-bottom: .5em;}
.org-memo .email a:hover {
	color: #fff;
	text-decoration: underline;
}
.org-memo .copyright {font-size: calc(.5625em + .25vw);}


@media screen and (max-width:599px) {
	.org-memo {padding: 6px 0px 10px;}
	.site-name {
		font-size: 1.125em;
		margin-bottom: .2em;
	}
	.org-memo .org-frame-line {
		width: 100%;
	}
	.org-memo .org-name {
		font-size: .9375em;
		margin-bottom: 2px;
	}
	.org-memo .org-address,
	.org-memo .tel-fax,
	.org-memo .email {font-size: .8125em;}
	.org-memo .email {margin-bottom: .4em;}
	.org-memo .copyright {font-size: .6875em;}
}

@media screen and (max-width:479px) {
	.site-name {font-size: 1em;}
	.org-memo .org-name {font-size: .875em;}
	.org-memo .org-address,
	.org-memo .tel-fax,
	.org-memo .email {
		font-size: .75em;
		padding: 0 1em;
	}
	.org-memo .copyright {
		font-size: .625em;
		padding: 0 1em;
	}
}




/* =============================================================================
	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:479px) {
	.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;}
}


