/*============================
==============================
= Parts
==============================
============================*/
.c-personalInfo .p-ttl,
.c-sendForm-questionnaire .p-ttl {
    padding-left: 0.12em;
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: 0.12em;
    color: #026bb7;
    font-weight: bold;
    text-align: center;
}


/*============================
==============================
= Contents, Modules
==============================
============================*/

/*****************************
* personalInfo
*****************************/
.c-personalInfo {
    padding-top: 25px;
}

.c-personalInfo .m-notes {
    margin-top: 11px;
    padding-bottom: 16px;
    text-align: left;
}

.c-personalInfo .m-notes-item {
    font-size: 1.1rem;
    letter-spacing: 0.06em;
    color: #666666;
    line-height: 1.55;
}

.c-personalInfo .m-notes-item a {
    color: #026bb7;
    border-bottom: 1px solid #026bb7;
}

/*****************************
* aboutCampaign
*****************************/
.m-aboutCampaign {
    padding: 15px 0;
    border-top: 1px dashed #cccccc;
}

.m-aboutCampaign-content {
    font-size: 1.3rem;
    font-weight: bold;
    line-height: 1.409;
    letter-spacing: 0.04em;
    color: #005bab;
}

.m-aboutCampaign-detail {
    font-size: 1.4rem;
    line-height: 1.55;
    letter-spacing: 0.02em;
    color: #000000;
    margin: 1px 0 11px;
    font-weight: bold;
}

.m-aboutCampaign-detail:last-of-type {
    margin-bottom: 0;
}

.m-aboutCampaign .m-aboutCampaign-detail span.reg {
    display: inline-block;
    line-height: 0.8;
    vertical-align: bottom;
}

.m-aboutCampaign dd span.reg {
    display: inline-block;
    line-height: 0.8;
    vertical-align: bottom;
}

/*****************************
* sendForm
*****************************/
.c-sendForm-register {
    padding: 22px 0 30px 0;
    border-top: 1px dashed #cccccc;
}

.m-register-item ~ .m-register-item,
.m-register-item ~ .m-questionnaireList-item,
.m-questionnaireList-item ~ .m-register-item,
.m-questionnaireList-item ~ .m-questionnaireList-item {
    margin-top: 15px;
}

.m-register-item .p-ttl,
.m-questionnaireList-item .p-ttl{
  font-size: 1.3rem;
  color: #000000;
  font-weight: bold;
  line-height: 1.409;
  letter-spacing: 0.02em;
}

.m-register-item .p-subTxt {
  font-size: 1.4rem;
  color: #000000;
  /* font-weight: normal; */
  line-height: 1.55;
  letter-spacing: 0.02em;
}

.m-register-item .p-subTxt span.reg{
    display: inline-block;
    line-height: 0.8;
    vertical-align: bottom;
}

.m-sendForm dt .error {
   color: #e60012;
}

.m-sendForm dt .validationError {
   color: #e60012;
   font-size: 1.2rem;
   font-weight: bold;
}

.m-sendForm dd {
  margin-top: 5px;
  font-size: 1.2rem;
  font-weight: normal;
  color: #000000;
  line-height: 1.55;
}

.m-sendForm dd#age,
.m-sendForm dd#sex,
.m-sendForm dd#marry,
.m-sendForm dd#child,
.m-sendForm dd#sns {
    margin-top: 8px;
}
.m-sendForm dd#sns-other {
    margin-top: 0;
}

.m-sendForm dd .hyphen {
    font-size: 1.5rem;
    color: #026bb7;
}

.m-sendForm dd .storesuf {
    text-align: left;
    padding-top:5px;
    padding-left:-5px;
    font-size: 1.7rem;
    color: #026bb7;
}

/*.m-sendForm .error input[type="text"],
.m-sendForm .error input[type="email"],
.m-sendForm .error input[type="number"],
.m-sendForm select.error {
    background-color: #ffedef;
} */

.m-sendForm input[type="number"],
.m-sendForm input[type="number"]::-webkit-outer-spin-button,
.m-sendForm input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
    -moz-appearance:textfield;
}

.m-sendForm input[type="text"],
.m-sendForm input[type="email"],
.m-sendForm input[type="number"] {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 0;
	-webkit-box-shadow: none;
	        box-shadow: none;
	border: 2px solid #006bbb;
	padding: 0 5px;
	height: 40px;
	color: #1d1d1d;
}

.m-sendForm #anniversary input {
    width: 60px;
}

.m-sendForm #twac input,
.m-sendForm #snsid input,
.m-sendForm #mail input,
.m-sendForm #mail-cfm input {
    width: 100%;
}

.m-sendForm #store {
    width: 80%;
}

.m-sendForm #store input {
    width: 62%;
}

.m-sendForm #storename,
.m-sendForm #kanji,
.m-sendForm #kana {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}


.m-sendForm #kanji input,
.m-sendForm #kana input {
    width: calc(50% - 2px);
}

.m-sendForm #postno input:first-child {
	width: 60px;
}

.m-sendForm #postno input:last-of-type {
	width: 75px;
    margin-right: 16px;
}

.m-sendForm #postno button {
	display: inline-block;
	padding: 0 33px;
	height: 40px;
    width: 110px;
	background-color: #006bbb;
	color: #fff;
    font-size: 1rem;
	text-align: center;
	vertical-align: top;
}

.m-sendForm select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 0;
	border: 2px solid #006bbb;
	padding: 5px 43px 5px 5px;
	width: 100%;
	height: 40px;
	background-image: url(../img/default/btn-select.png);
	background-position: right top;
	background-repeat: no-repeat;
	background-size: 40px 40px;
	color: #1d1d1d;
	border-radius: 0;
}

.m-sendForm #pref select {
	width: 188px;
}

.m-sendForm #address1,
.m-sendForm #address2 {
	width: 100%;
}

.m-sendForm #tel input {
	width: 60px;
}

.m-sendForm input[type="radio"] {
	position: absolute;
	left: -9999em;
}

.m-sendForm input[type="radio"] + label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: left;
        -ms-flex-pack: left;
            justify-content: left;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: left;
}

.m-sendForm input[type="radio"] + label:before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
    margin-right: 6px;
	background-image: url(../img/default/icon-radio.png);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
}

.m-sendForm input[type="radio"]:checked + label:before {
	background-image: url(../img/default/icon-radio-checked.png) !important;
}

.m-sendForm input[type="radio"].myError + label:before {
    background-image: url(../img/default/icon-radio-error.png);
}

.m-sendForm #age .m-itemList {
    width: 100%;
}

.m-sendForm #age .m-itemList-item {
    display: inline-block;
    width: 90px;
    margin-bottom: 7px;
}

.m-sendForm #sex .m-itemList,
.m-sendForm #marry .m-itemList,
.m-sendForm #child .m-itemList {
    margin-bottom: -7px;
}

.m-sendForm #sex .m-itemList-item,
.m-sendForm #marry .m-itemList-item,
.m-sendForm #child .m-itemList-item {
    display: inline-block; 
    margin: 0 30px 7px 0px;
}

/*****************************
* questionnaire
*****************************/

.m-sendForm .c-sendForm-questionnaire {
    margin-bottom: 30px;
    padding-top: 35px;
    border-top: 1px dashed #cccccc;
}

.m-sendForm .m-questionnaireList {
    margin-top: 20px;
}

.m-sendForm input[type="checkbox"] {
	position: absolute;
	left: -9999em;
}

.m-sendForm input[type="checkbox"] + label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; 
    text-align: left;
    width: 100%;
}

.m-sendForm input[type="checkbox"] + label:before {
	content: " ";
	display: inline-block;
	width: 20px;
	height: 20px;
    margin-right: 6px;
	background-image: url(../img/default/icon-checkbox.png);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: contain;
}

.m-sendForm input[type="checkbox"]:checked + label:before {
	background-image: url(../img/default/icon-checkbox-checked.png) !important;
}
.m-sendForm input[type="checkbox"].myError + label:before {
	background-image: url(../img/default/icon-checkbox-error.png) !important;
}

.m-sendForm input[type="checkbox"] + label > span {
    display: inline-block;
    padding-top: calc((20px - 16px) / 2);
}

.m-sendForm #sns .m-itemList-item {
    display: inline-block; 
    width: 49%;
    height: 35px;
}
.m-sendForm #sns .m-itemList-item span {
    width: calc(100% - 27px);
}

.m-sendForm #sns-other input {
	width: 100%;
}

.m-sendForm #purpose {
    line-height: 0;
}

.m-sendForm #purpose textarea {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 0;
    border: 2px solid #006bbb;
    padding: 5px 4px;
    max-width: 100%;
    min-width: 100%;
    height: 139px;
    color: #1d1d1d;
    line-height: 1.5;
}

/*
.m-sendForm #purpose  textarea.error {
    background-color: #ffedef;
}
*/

.required::after {
    content: '必須';
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: inline-block;
    width: 24px;
    height: 14px;
    margin-left: 4px;
    vertical-align: middle;
    background-image: url(../img/default/txt_required.png);
    background-position: center;
    background-size: 24px auto;
    background-repeat: no-repeat;
    text-indent: 110%;
    white-space: nowrap;
    overflow: hidden;
}

.c-btn-to-confirm {
    margin-bottom: 20px;
    line-height: 0;
    text-align: center;
}

.c-btn-to-confirm .p-link img {
    width: 87.5vw;
    max-width: 280px;
}