@media screen and (min-width: 640px), print {
  .site-main {
      margin: 0;
  }
}
.secondPageHeaderImage {
    margin-bottom: 20px;
    position: relative;
}
.secondPageHeaderImage .imageWrapper img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}
.col1Wide {
    max-width: 1240px;
    margin: 0 auto;
    padding: 5px 20px 0;

}
.btnFlex {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	max-width: 1080px;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 90px auto 0;
}
.btnFlex > * {
  margin: 0 20px 30px;
}
.btnFlex a {
  min-width: 140px;
  font-size: 2rem;
}
/* .btnFlex .mod-btn {
  margin: 0 40px;
}
.btnFlex .btn {
	background: rgb(86,69,111);
	background: -moz-linear-gradient(left, rgba(86,69,111,1) 0%, rgba(75,83,120,1) 100%);
	background: -webkit-linear-gradient(left, rgba(86,69,111,1) 0%,rgba(75,83,120,1) 100%);
	background: linear-gradient(to right, rgba(86,69,111,1) 0%,rgba(75,83,120,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#56456f', endColorstr='#4b5378',GradientType=1 );
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	width: calc(50% - 40px);
	margin: 0 20px 20px;
	border-radius: 80px;
	height: 80px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-webkit-flex-direction: column;
	flex-direction: column;
	transition-duration: 0.3s;
	position: relative;
	padding-left: 20px;
	min-width: 400px;
}
.btnFlex .btn:before {
	content: '';
	position: absolute;
	width: 35px;
	height: 35px;
	overflow: hidden;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	left: 28px;
	top: 50%;
	margin-top: -18px;
	margin-left: -5px;
	border-radius: 0.5px;
	transition-duration: .2s;
} */

/* .btnFlex .btn:hover {
	opacity: 0.7;
} */
.message-box {
	background: #DEDBE9;
	color: #2f2346;
	padding: 30px 20px;
	margin-bottom: 40px;
	text-align: center;
}
.color-primary {
	color: #2f2346 !important;
	font-size: 1.8rem;
}
/* @media screen and (max-width: 640px) {
	.btnFlex .btn {
		min-width: auto;
		min-width: inherit;
		width: 100%;
		font-size: 1.4rem;
		height: 60px;
	}
	.btnFlex .btn:before {
		content: '';
		position: absolute;
		width: 26px;
		height: 26px;
		overflow: hidden;
		border-top: solid 2px #fff;
		border-right: solid 2px #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		left: 14px;
		top: 50%;
		margin-top: -13px;
		margin-left: -5px;
		border-radius: 0.5px;
		transition-duration: .2s;
	}
} */

/* css 移行 */
#main {
  line-height: normal;
  /* font-family: 'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif; */
  /* padding-top: 50px; */
}
#main section {
    padding-top: 93px;
    margin-top: -93px;
    margin-bottom: 50px;
}
#main p , #main  form li, #main dt, #main dd {
	font-size: 1.6rem;
	line-height: 1.7;
}

#main table {
	border-collapse: separate;
	border-spacing: 0;
	empty-cells: show;
}
#main table,#main th,#main td {
	padding: 0;
	font-size: 1.5rem;
	margin: 0;
}
#main tr {
	vertical-align: top;
}
#main caption, #main th {
	text-align:left;
}


.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
.noMargin {
	margin-bottom:0px !important;
}
.smallMargin {
	margin-bottom:10px !important;
}
.middleMargin {
	margin-bottom:15px !important;
}
.largeMargin {
	margin-bottom:30px !important;
}
.x-largeMargin {
	margin-bottom:40px !important;
}
.textSmall {
	font-size: 1.2rem !important;
}
.textCenter {
	text-align: center !important;
}
.textRight {
	text-align: right !important;
}
ul.commonList {
	list-style: none;
	padding-left: 0;
}
ul.commonList li {
	padding-left: 20px;
	position: relative;
}
ul.commonList li:before {
	content: '';
	position: absolute;
	left: 8px;
	top: 0.5em;
	margin-top: 1px;
	width: 4px;
	height: 4px;
	background: #2f2346;
	border-radius: 50%;
}
ol.numberList {
  list-style: decimal !important;
	padding-left: 25px;
  counter-reset: number !important;
}
ol.numberList > li {
  position: relative;
}
ol.numberList > li:before {
  counter-increment: number;
  content: counter(number)".";
  display: block;
  position: absolute;
  top: 0;
  left: -20px;
}
.colorRed { color: #76161b !important;
}
.headline2 {
	font-size: 2.3rem;
	font-weight: normal;
	padding-bottom: 5px;
	border-bottom: solid 1px #2f2346;
	margin-bottom: 25px;
  margin-top: 0;
}
.headline3 {
	font-size: 2.0rem;
	font-weight: normal;
	padding-top: 10px;
	margin-bottom: 25px;
  margin-top: 0;
}
.headline4 {
	font-size: 1.8rem;
	margin-bottom: 12px;
  margin-top: 0;
}

#main p ,
#main ul ,
#main ol {
	margin-bottom: 30px;
	color: #666;
}
#main input[type=text] ,
#main input[type=password] ,
#main textarea {
	font-size: 1.6rem;
}
@media screen and (max-width: 640px) {
#main input[type=text] ,
#main input[type=password] {
	width: 180px;
}
}
#main section > p:last-child ,
#main section > ul:last-child ,
#main section > ol:last-child {
	margin-bottom: 0;
}
#main ul ul, #main ul ol, #main ol ul, #main ol ol {
	margin-top: 0;
	margin-bottom: 0;
}
#main img {
	max-width: 100%;
	height: auto;
}
#main table {
	border-top: solid 1px #bbb;
	border-left: solid 1px #bbb;
	width: 100%;
	margin-bottom: 20px;
	color: #444;
}
#main table th ,
#main table td {
	border-bottom: solid 1px #bbb;
	border-right: solid 1px #bbb;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
	padding: 10px 15px;
}
#main table th {
	background: #efefef;
}


#main table {
	table-layout: fixed;
}
#main table.g_table01 {
	border-top: solid 1px #bbb;
	border-left: solid 1px #bbb;
}
#main table.g_table01 tbody th {
	border-bottom: solid 1px #bbb;
	border-right: none;
	padding: 25px 20px;
	background: #efefef;
}
#main table.g_table01 tbody td {
	border-bottom: solid 1px #bbb;
	border-right: solid 1px #bbb;
	padding: 25px 20px;
}
#main table.g_table01 input[type=text] ,
#main table.g_table01 input[type=password] ,
#main table.g_table01 textarea {
	border-top: solid 3px #bbb;
	border-left: solid 3px #bbb;
	border-bottom: solid 1px #bbb;
	border-right: solid 1px #bbb;
	padding: 10px 15px;
	max-width: 100%;
}
#main table.g_table01 input[type=text].size-m ,
#main table.g_table01 input[type=password].size-m {
	width: 500px;
}
#main table.g_table01 textarea {
	width: 100%;
	padding: 10px 15px;
	vertical-align: top;
}
.nameLabel {
	max-width: 100%;
	width: 500px;
}
.nameLabel label {
	float: left;
	display: block;
	width: 47%;
	padding: 0 0 0 30px;
	position: relative;
}
.nameLabel label:nth-child(odd) {
	clear: both;
}
.nameLabel label:nth-child(even) {
	float: right;
}
.nameLabel label .labelText {
	position: absolute;
	display: block;
	top: 10px;
	left: 0px;
}
.nameLabel label input[type=text] ,
.nameLabel label input[type=password] {
	width: 100%;
}
.g_req span.reqLabel {
	display: block;
	float: right;
	padding: 3px 4px;
	font-weight: bold;
	font-size: 1.3rem;
	color: #fff;
	background-color: #76161b;
	white-space: nowrap;
	line-height: 1;
}
#g_ConsentStatement {
	height:150px;
	overflow-y:scroll;
	margin:0 auto 30px;
	border:1px solid #bbb;
	background-color:#efefef;
	padding:20px 10px;
}
.submitButton {
	display: inline-block;
	background: #002b62;
	border-radius: 50px;
	position: relative;
}

.submitButton:before {
	content: '';
	position: absolute;
	width: 21px;
	height: 20px;
	overflow: hidden;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	left: 0;
	top: 50%;
	margin-top: -12px;
	margin-left: 20px;
	border-radius: 0.5px;
}

.submitButton button,
.submitButton input {
	border: none;
	background: transparent;
	border-radius: 0;
	padding: 14px 75px 12px;
	position: relative;
	font-size: 2.0rem;
	line-height: 1;
	color: #fff;
	text-decoration: none;
	letter-spacing: 5px;
	cursor: pointer;
}
.submitButton button br {
  display: none;
}

/*アンケート
------------------------------------------------------*/

ol.NFG-contactStepBtn {
	padding: 0;
	background:url(/nf_global/wisdom/common/img/bg_step.gif) no-repeat center top;
    list-style: none;
    text-align: center;
}

ol.NFG-contactStepBtn li {
	display: inline-block;
    overflow: hidden;
	margin:0 50px;
    padding: 0 20px;
    min-height: 25px;
	text-align:center;
	font-size: 1.8rem!important;
	color:#2F2346;
}

ol.NFG-contactStepBtn li:first-child{
	margin-left:0;
	padding-left:0;
}

ol.NFG-contactStepBtn li:last-child{
	margin-right:0;
	padding-right:0;
}

ol.NFG-contactStepBtn li span{
	width:100px;
    height: 30px;
	margin:0 auto 12px auto;
	padding-top:5px;
	border-radius:30px;
    background:#DEDBE9;
	font-size: 1.2rem!important;
	font-weight:bold;
	display:block;
}

ol.NFG-contactStepBtn li.active span{
    color: #fff;
    background:#2F2346;
}

.reqTxt{
	padding-right: 40px;
    display: block;
}

.check-questionnaire{
	margin-bottom:0 !important;
	line-height:1.2 !important;
	font-size: 1.4rem !important;
}

.check-questionnaire li input{
	margin-right:0.8rem;
	vertical-align:middle;
}


.box_questionnaire select {
    border: none;
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    -moz-border-top-right-radius: 5px;
    -webkit-border-top-right-radius: 5px;
    -khtml-border-top-left-radius: 5px;
    behavior: url(/share/css/PIE.htc);
    min-width: 210px;
    -webkit-appearance: button;
    cursor: pointer;
    background: -moz-linear-gradient(top, #ffffff 0%, #f1f1f1 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#f1f1f1));
    background: -webkit-linear-gradient(top, #ffffff 0%,#f1f1f1 100%);
    background: -o-linear-gradient(top, #ffffff 0%,#f1f1f1 100%);
    background: -ms-linear-gradient(top, #ffffff 0%,#f1f1f1 100%);
    background: linear-gradient(to bottom, #ffffff 0%,#f1f1f1 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f1f1f1',GradientType=0 );
}

@media screen and (max-width: 750px){

ol.NFG-contactStepBtn{
	background-position:center 10px;
	background-size:250px auto;
}

ol.NFG-contactStepBtn li {
	margin:0 10px;
    padding: 0;
    min-height: 25px;
	font-size: 1.4rem!important;
}

ol.NFG-contactStepBtn li:first-child{
	margin:0;
	padding:0;
}

ol.NFG-contactStepBtn li:last-child{
	margin:0;
	padding:0;
}

ol.NFG-contactStepBtn li span{
	width:70px;
	margin:0 auto 12px auto;
	font-size: 1.2rem!important;
}

}

/* sp */
@media screen and (max-width: 640px){
  .col1Wide {
    padding-left: 10px;
    padding-right: 10px;
  }
  #main section {
    padding-top: 56px;
    margin-top: -56px;
    margin-bottom: 30px;
  }
  .reqTxt{
    float:none;
    width:auto;
  }

  #main table, #main th, #main td {
    font-size: 1.2rem;
  }
  #main table p, #main table li, #main table dt, #main table dd {
    font-size: 1.2rem;
  }

  .pcOnly {
    display: none;
  }
  .x-largeMargin {
    margin-bottom:30px !important;
  }
  .headline2 {
    font-size: 2.2rem;
  }

  .headline3 {
    font-size: 2.0rem;
  }
  .headline4 {
    font-size: 1.8rem;
  }
  #main table, #main table tbody,#main table tr{
    display:block;
  }
  #main table th ,
  #main table td {
    padding: 7px 10px;
  }
  #main table.g_table01 tbody th {
    display: block;
    width: auto;
    border-bottom: none;
    border-right: solid 1px #bbb;
    padding: 15px 10px;
  }
  #main table.g_table01 tbody td {
    display: block;
    width: auto;
    padding: 15px 10px;
  }
  .nameLabel {
    width: auto;
  }
  .nameLabel label {
    float: none;
    display: block;
    width: auto;
  }
  .nameLabel label:nth-child(odd) {
    margin-bottom: 10px;
  }
  .nameLabel label:nth-child(even) {
    float: none;
  }
  #main table.g_table01 input[type=text].size-s {
    width: 100%;
  }
  #main table.g_table01 input[type=text].size-m {
    width: 100%;
  }
  .submitButton button,
  .submitButton input {
    padding: 14px 60px 12px;
    position: relative;
    font-size: 1.4rem;
    letter-spacing: 3px;
  }
  .submitButton button br {
    display: block;
  }

}

/* form parts */

@media screen and (max-width: 640px){
.g_table01 colgroup {
display: none;
}
}
.dlist-in-table {
display: -webkit-flex;
display: flex;
}
.dlist-in-table .heding {
-webkit-align-items: center;
align-items: center;
display: -webkit-flex;
display: flex;
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
padding-right: 20px;
width: 80px;
}
.dlist-in-table .body {
-webkit-flex: 1 1 auto;
flex: 1 1 auto;
width: 100px;
}
.check-questionnaire.inline {
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
margin-left: -10px;
margin-right: -10px;
}
.check-questionnaire.inline li {
padding: 0 10px;
}
.value-scale-wrapper {
display: inline-block;
max-width: 100%;
}
.value-scale {
-webkit-align-items: center;
align-items: center;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
margin: 5px -15px 0;
max-width: 100%;
}
.value-scale .label {
-webkit-flex: 0 0 auto;
flex: 0 0 auto;
margin: 0 5px;
}
.value-scale .arrow {
background: #000;
-webkit-flex: 1 1 auto;
flex: 1 1 auto;
height: 1px;
margin: 0 5px;
position: relative;
}
.value-scale .arrow:before ,
.value-scale .arrow:after {
border-bottom: solid 3px transparent;
border-top: solid 3px transparent;
content: "";
position: absolute;
margin-top: -2px;
top: 0;
}
.value-scale .arrow:before {
border-left: none;
border-right: solid 7px #000;
left: -1px;
}
.value-scale .arrow:after {
border-left: solid 7px #000;
border-right: none;
right: -1px;
}
.error-cell {
background-color: #FFE3E4 !important;
}
table.g_table01 th .ui_serverError {
margin-top: 1em;
}
.zone-column {
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-between;
justify-content: space-between;
margin: 5px -15px 0;
}
.zone-column .column {
padding: 0 15px;
width: 50%;
}
@media screen and (max-width: 640px){
.zone-column {
-webkit-flex-direction: column;
flex-direction: column;
}
.zone-column .column {
width: auto;
}
}
.message-box {
background: #DEDBE9;
color: #2f2346;
padding: 30px 20px;
margin-bottom: 40px;
text-align: center;
}
.color-primary {
color: #2f2346 !important;
}


/* 調整 */

.check-questionnaire li input[type="radio"] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}
.check-questionnaire li input[type="checkbox"] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

.ui-datepicker-trigger {
  vertical-align: middle;
  margin-left: 10px;
}

/* back */
.backButton button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  padding: 14px 20px 12px 45px;
  position: relative;
  font-size: 1.6rem;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  background: #fff;
  border: 1px solid #666;
  border-radius: 50px;
  position: relative;
}
.backButton button::before {
  content: '';
  position: absolute;
  width: 21px;
  height: 20px;
  overflow: hidden;
  border-bottom: solid 2px #666;
  border-left: solid 2px #666;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  left: 0;
  top: 50%;
  margin-top: -10px;
  margin-left: 20px;
  border-radius: 0.5px;
}

.str-stepList {
  position: relative;
}

.str-stepList::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -50vw;
  background: #e6e7e9;
  width: 150vw;
}
.str-stepList ol {
  margin-bottom: 0 !important;
}

.site-wrapper {
  overflow: hidden;
}

.mod-btn .buttonWrapper {
  font-size: 1.8rem;
  line-height: 1.3;
  text-decoration: none;
  text-align: center;
  word-wrap: break-word;
  color: #76161b;
  background: transparent;
  position: relative;
  display: inline-block;
  max-width: 100%;
  transition: .2s ease;
  border: 2px solid;
  padding: 0;
  position: relative;
}
.mod-btn .buttonWrapper::after {
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: 10px;
  display: block;
  width: 20px;
  height: 20px;
  margin: auto;
  content: "";
  transition: .2s ease;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border: 1px solid;
  border-color: #76161b #76161b transparent transparent;
}
.mod-btn .buttonWrapper:hover {
  opacity: 0.7;
}
.mod-btn .buttonWrapper:hover::after {
  left: 15px;
}

.mod-btn .buttonWrapper input {
  display: inline-block;
  color: #76161b;
  margin: 0;
  padding: 1px 34px 1px 50px;
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.ui_serverErrorCautionBox {
  border: 1px solid #76161b;
  padding: 21px 24px 19px 56px;
  color: #76161b;
  position: relative;
  font-size: 1.4rem;
  max-width: 1000px;
  margin: 0 auto 50px;
}

.ui_serverErrorCautionBox::before {
  background-image: url(/nf_global/v3/common/img/sprite.png);
  background-position: -202px -79px;
  background-size: auto;
  position: absolute;
  top: 22px;
  left: 24px;
  display: block;
  width: 19px;
  height: 17px;
  content: "";
}

.imageWrapper {
  position: relative;
}

.imageWrapper .sp-only {
  display: none;
}

.imageWrapper .button-wrapper {
  display: -webkit-flex;
  display: flex;
  padding-right: 42px;
  padding-top: 18px;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

.imageWrapper .button-wrapper a {
  border: none !important;
  box-shadow: 0 3px 6px rgba(72,70,103,0.2);
  font-size: 1.8rem;
  font-weight: normal;
  min-width: 126px;
  padding: 6px 20px;
  text-decoration: underline;
}

@media screen and (max-width: 639px) {
  .imageWrapper .button-wrapper {
    padding-right: 7px;
    padding-top: 9px;
  }
  .imageWrapper .button-wrapper a {
    font-size: 1.2rem;
    min-width: 96px;
  }

  .imageWrapper .pc-only {
    display: none;
  }

  .imageWrapper .sp-only {
    display: block;
  }
}

.imageWrapper .button-wrapper a::before {
  display: none !important;
}