@charset "UTF-8";
/* --- clearfix --- */
.clearfix::after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
}

.clearfix {
    min-height: 1px;
}

.spHide {
    display: none;
}

/* --- reset --- */
input, textarea, button {
    -webkit-appearance: none;
    outline: 0;
}

button:hover {
    cursor: pointer;
}

input::-ms-clear {
    visibility: hidden
}

[type="text"] {
    line-height: initial;
}

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px white inset;
}

/* --- base --- */
html {
    min-width: 320px;
}

body {
    margin: 0;
    padding: 0;
    background: url(../img/bg.png);
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
}

p, li, dt, dd, th, td {
    font-size: 1.4rem;
    line-height: 1.4rem;
    color: #333;
}

a {
    color: #0099dd;
}

a:hover {
    color: #ee9933;
}

img,
video {
    max-width: 100%;
    height: auto;
}

h2 {
    font-size: 2rem;
    color: #000;
    line-height: 1.3;
    margin-bottom: 2rem;
    word-break: break-all;
}

h2 span {
    color: #dd3344;
}

h5 {
    font-size: 1.3rem;
    color: #888888;
    line-height: 1.3;
    margin-bottom: 14px;
    font-weight: normal;
}


/* --- header --- */
header p {
    background: #fff;
    text-align: center;
    //padding: 7px 0;
    //height: 34px;
    padding: 4px 0;
    height: 68px;
}

/* --- アンケートタイトル --- */
.enqTtl {
    background-image: url(../img/bg_ttl.png);
    background-repeat: repeat;
    background-position: 0 0;
    background-size: 110px auto;
    margin: 0;
    padding: 4px 7px 4px 7px;
    box-sizing: border-box;
    width: 100%;
    color: #fff;
    font-size: 1.2rem;
    position: relative;
    z-index: 1;
}

/* --- step --- */
.stepBar {
    position: relative;
    list-style: none;
    margin: 0 auto 14px;
    padding: 0;
    text-align: center;
    width: 100%;
    overflow: hidden;
    *zoom: 1;
}

.stepBar li {
    position: relative;
    float: left;
    display: inline-block;
    line-height: 14px;
    background-color: #fff;
    box-sizing: border-box;
    width: 25%;
    font-size: 1rem;
    font-weight: bold;
    color: #5e98ca;
    text-align: center;
}

.stepBar li:nth-child(2),
.stepBar li:nth-child(3) {
    padding-right: 2%;
}

.stepBar li::before, .stepBar li::after {
    position: absolute;
    left: -6px;
    display: block;
    content: '';
    background-color: #fff;
    border-left: 2px solid #70add6;
    width: 9px;
    height: 7px;
}

.stepBar .current::before, .stepBar .current::after {
    background-color: #70add6;
}

.stepBar li::after {
    top: 0;
    -moz-transform: skew(40deg);
    -ms-transform: skew(40deg);
    -webkit-transform: skew(40deg);
    transform: skew(40deg);
}

.stepBar li::before {
    bottom: 0;
    -moz-transform: skew(-40deg);
    -ms-transform: skew(-40deg);
    -webkit-transform: skew(-40deg);
    transform: skew(-40deg);
}

.stepBar li:first-child::before, .stepBar li:first-child::after {
    content: none;
}

.stepBar .current {
    color: #FFF;
    background-color: #70add6;
}

/* --- #content-wrap --- */
#content-wrap {
    padding: 0 7px;
}

#content-box {
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
    padding: 19px 14px 21px;
    box-sizing: border-box;
    position: relative;
}

#content-box::after {
    content: '';
    width: 100%;
    height: 5px;
    background: url(../img/bg_border.png);
    position: absolute;
    top: 0;
    left: 0;
}

.select-wrap {
    background-color: #f7f2e1;
    padding: 7px;
    margin-top: 14px;
}

.select-wrap ul.next li a,
.select-wrap ul.nolink li {
    background-color: #fff;
    color: #0099dd;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 14px 28px 14px 7px;
    border: 1px solid #efe9d2;
    box-sizing: border-box;
    position: relative;
    margin-bottom: 7px;
    display: block;
    line-height: 1.2;
}

.select-wrap ul.next li:last-child a {
    margin-bottom: 0;
}

.select-wrap ul.next li a::after {
    font-family: my-icon-font;
    content: "\e900";
    color: #0099dd;
    position: absolute;
    font-size: 1.5rem;
    top: 50%;
    margin-top: -0.8rem;
    right: 7px;
}

.select-wrap ul.next li a span,
.select-wrap ul.nolink li span {
    color: #7d7d7d;
    font-size: 1.1rem;
    display: block;
    font-weight: normal;
    margin-top: 2px;
}

.select-wrap ul.nolink li a {
    font-size: 1.1rem;
    text-decoration: underline;
    font-weight: normal;
}

.select-wrap ul.accordion li i {
    color: #0099dd;
    position: absolute;
    font-size: 1.5rem;
    top: 50%;
    margin-top: -8px;
    right: 10px;
    transform: rotate(90deg);
    transition: all 300ms 0s ease;
}

/* --- .input-area --- */
input, textarea:-ms-input-placeholder {
    color: #929292;
}


.input-area li {
    margin-bottom: 16px;
    position: relative;
}


.input-area p {
    margin: 0 0 1rem;
    font-size: 1.3rem;
    color: #333;
    font-weight: bold;
}

.input-area li.required p::after {
    content: '必須';
    color: #fff;
    background-color: #ff3333;
    padding: 1px 4px;
    font-size: 1.1rem;
    margin-left: 5px;
}

.input-area li.either p::after {
    content: 'いずれか必須';
    color: #fff;
    background-color: #11bbaa;
    padding: 1px 4px;
    font-size: 1.1rem;
    margin-left: 5px;
}

.input-area input {
    border: 2px solid #0099dd;
    background-color: #fff;
    display: block;
    width: 100%;
    border-radius: 3px;
    height: 57px;
    padding-left: 12px;
    margin: 5px 0;
    font-size: 1.4rem;
}

.input-area .valid input,
.valid .customSelect {
    border-color: #ff0000;
    background-color: #fff2f2;
}

.valid .customSelect::after {
    border-color: #ff0000 transparent transparent transparent;
}

.input-block {
    margin: 0 0 4rem;
}


/*ラジオボタン*/
.sex p {
    margin-bottom: 15px;
}

.input-area .radio01-input {
    display: none;
}

.input-area .radio01-parts {
    padding-left: 25px;
    position: relative;
    margin-right: 20px;
    font-size: 1.4rem;
}

.input-area .radio01-parts:hover {
    cursor: pointer;
}

.input-area .radio01-parts::before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    margin-top: -10px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 2px solid #0099dd;
    border-radius: 50%;
    background-color: #fff;
}

.valid .radio01-parts::before {
    border-color: #ff0000;
}

.input-area .radio01-input:checked + .radio01-parts {
    color: #0099dd;
}

.input-area .radio01-input:checked + .radio01-parts::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    margin-top: -5px;
    left: 5px;
    width: 10px;
    height: 10px;
    background: #0099dd;
    border-radius: 50%;
}

p.notes {
    font-size: 1.2rem;
    color: #7d7d7d;
    font-weight: normal;
}

/*入力エラー*/
.valid-txt {
    border: 2px solid #ff0000;
    color: #ff0000;
    padding: 7px;
    background-color: #fff2f2;
    border-radius: 3px;
    margin-bottom: 14px;
}

.valid-txt p,
.valid-txt ul li {
    color: #ff0000;
    font-size: 1.2rem;
}

.valid-txt ul li {
    text-indent: -2rem;
    padding-left: 2rem;
}

.valid-txt p {
    font-weight: bold;
    font-size: 1.3rem;
    padding-left: 15px;
    position: relative;
    margin-bottom: 5px;
}

.valid-txt p::before {
    content: "";
    width: 13px;
    height: 13px;
    background: url(../img/ico_alart.svg) no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
}

/* 入力エラー新形式 */
.valid-form{
     border: 3px solid #ff0000 !important;
     background-color: #fff2f2 !important;
}

.valid-form:before{
    border-top: 6px solid #ff0000 !important;
}

/*セレクトボックス*/
.styledSelectBox {
    width: 100%;
    font-size: 1.3rem;
}

.customSelect {
    background: #fff;
    border: 2px solid #0099dd;
    padding: 20px 0 20px 12px;
    color: #333;
    border-radius: 3px;
    width: 100%;
    height: 57px;
    margin: 5px 0;
    font-size: 1.3rem;
}

.customSelect::after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    right: 14px;
    top: 44px;
    border-width: 8px 8px 0 8px;
    border-color: #0099dd transparent transparent transparent;
    border-style: solid;
}

/*戻るボタン*/
.returnbtn {
    width: 16rem;
    height: 5.6rem;
    background-color: #1177bb;
    box-sizing: border-box;
    border-radius: 3px;
    margin: 14px auto 0;
    box-shadow: 0 4px 0 0 #013889;
    position: relative;
    display: block;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    padding-left: 2rem;
    text-align: center;
}

.returnbtn:hover {
    color: #fff;
}

.returnbtn-margin {
    margin-bottom: 40px;
}

/*CVボタン*/
.cvbtn,
.nextbtn a {
    width: 100%;
    height: 56px;
    background-color: #ee9933;
    text-align: center;
    box-sizing: border-box;
    border-radius: 3px;
    margin: 14px auto 0;
    box-shadow: 0 4px 0 0 #de5c0a;
    position: relative;
    display: block;
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
}

.cvbtn {
    width: 62%;
}

.cvbtn > span{
    font-size:70%;
    font-weight: normal;
}

.nextbtn a {
    padding-top: 22px;
}

.cvbtn[disabled] {
    background-color: #bfbfbf;
    box-shadow: 0 4px 0 0 #8f8f8f;
}

.cvbtn[disabled]:hover {
    background-color: #bfbfbf;
    cursor: default;
}

.cvbtn::after,
.nextbtn a::after {
    content: "\e900";
    font-family: my-icon-font;
    color: #fff;
    position: absolute;
    font-size: 1.4rem;
    top: 50%;
    margin-top: -0.7rem;
    right: 14px;
}

.returnbtn::after {
    content: "\e901";
    font-family: my-icon-font;
    color: #fff;
    position: absolute;
    font-size: 1.4rem;
    top: 50%;
    margin-top: -0.7rem;
    left: 14px;
}

footer {
    text-align: center;
    padding: 40px 0;
}

.fixed-area {
    width: 100%;
    background-color: rgba(0, 0, 0, 0.7);
    text-align: center;
    position: fixed;
    bottom: 0;
    padding: 0 14px 14px;
    z-index: 1000;
    overflow: hidden;
}

.fixed-area .txt {
    text-align: center;
    background-color: #fff;
    padding: 5px 0;
    border-top: 1px solid #b4b4b4;
    font-size: 1.2rem;
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0 -999px;
}

.fixed-area .txt p {
    font-size: 1.2rem;
    color: #888;
    line-height: 17px;
}

.fixed-area .txt p span {
    color: #dd3344;
    font-weight: bold;
}

.txt p.count {
    font-weight: bold;
    line-height: 1.5;
    color: #dd3344;
}

.txt p.count span {
    color: #fff;
    font-weight: bold;
    position: relative;
    padding: 0 7px;
    z-index: 999;
}

.txt p.count span::after {
    content: "";
    background-color: #dd3344;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    margin: 2px 2px 0;
    position: absolute;
    left: 0;
    bottom: -3px;
    z-index: -1;
}

.reselect {
    margin-top: 21px;
}

.reselect i {
    color: #0099dd;
    padding: 2px 8px 0 5px;
    line-height: 1.5;
}

.reselect a:hover i {
    color: #ee9933;
}

.reselect a {
    font-size: 1.2rem;
    vertical-align: middle;
}

form .done .txt {
    display: none;
}

/* --- footer -- */
footer {
    text-align: center;
    padding: 14px 0;
    color: #888888;
    font-size: 1rem;
}

.fixed-area + footer {
    padding-bottom: 100px;
}

/*--------------------------------------------------
個別ページ
-------------------------------------------------- */
/*#lp & #error*/
#lp #content-wrap,
#error #content-wrap {
    padding-top: 109px;
}

#lp #title,
#error #title {
    background-image: url(../img/img_male.svg), url(../img/bg_ttl.png);
    background-repeat: no-repeat, repeat;
    background-position: right 7px bottom 0, 0 0;
    background-size: 78px auto, 160px auto;
    margin: 29px -7px 0;
    min-height: 109px;
    padding: 0 21px 20px;
    box-sizing: border-box;
    box-shadow: 0 5px 6px -5px #050505;
    position: absolute;
    top: 29px;
    z-index: 999;
    width: 100%;
}

#error #title {
    min-height: 0;
    background-image: url(../img/img_female.svg), url(../img/bg_ttl.png);
    background-repeat: no-repeat, repeat;
    background-position: right 7px bottom 0, 0 0;
    background-size: 47px auto, 160px auto;
}

#lp #title::before,
#error #title::before {
    position: absolute;
    content: '';
    top: 100%;
    left: 0;
    border: none;
    border-bottom: solid 5px transparent;
    border-right: solid 7px rgb(0, 68, 136); /*折り返し部分*/
}

#lp #title::after,
#error #title::after {
    position: absolute;
    content: '';
    top: 100%;
    right: 0;
    border: none;
    border-bottom: solid 5px transparent;
    border-left: solid 7px rgb(0, 68, 136); /*折り返し部分*/
}

#lp #title h1,
#error #title h1 {
    color: #fff;
    padding: 20px 78px 12px 0;
    box-sizing: border-box;
    font-size: 2rem;
    line-height: 1.4;
}

#error #title h1 {
    padding: 20px 38px 0 0;
}

@media only screen and (max-width: 320px) {
    #lp #title h1 {
        font-size: 1.8rem;
    }
}

#lp #title p {
    color: #fff;
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1;
}

#lp #title #subttl {
    text-align: center;
    position: absolute;
    top: -21px;
    left: 0;
    right: 0;
}

#lp #title #subttl p {
    color: #dd3344;
    font-size: 1.3rem;
    font-weight: bold;
    background-color: #fff;
    padding: 4px 7px;
    line-height: 1.6;
    display: inline-block;
    box-shadow: 0 5px 6px -5px #050505;
}

#lp #title #subttl p::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 4px 0 4px;
    border-color: #fff transparent transparent transparent;
    position: absolute;
    bottom: -7px;
    left: 50%;
    margin-left: -4px;
}

#lp #content-box {
    padding-top: 50px;
}

#error #content-box {
    padding-top: 30px;
}


#lp #content-box::after {
    content: none;

}

#lp .present {
    background-color: #f5f5f5;
    padding: 46px 7px 7px;
    margin: 38px 0 14px;
}

#profile .present {
    margin: 0 0 14px;
}

#lp .present .ribbon,
#profile .present .ribbon {
    text-align: center;
    margin: -67px 0 10px;
}

#lp .present ul {
    width: 100%;
    text-align: center;
    font-size: 15px;
}

#profile .present ul {
    text-align: center;
    font-size: 15px;
}

#lp .present ul li {
    width: 100%;
    margin-bottom: 7px;
    display: inline-block;
}

#profile .present ul li {
    width: 100%;
    margin-bottom: 7px;
    display: inline-block;
    background-color: #f5f5f5;
}

#lp .present ul li:nth-last-child(1),
#lp .present ul li:nth-last-child(2),
#profile .present ul li:nth-last-child(1),
#profile .present ul li:nth-last-child(2) {
    width: 48.5%;
}


#lp .present ul li figure,
#profile .present ul li figure {
    background-color: #fff;
    height: 109px;
    border: 1px solid #eeeeee;
    width: 100%;
    text-align: center;
    padding-top: 2px;
    box-sizing: border-box;
    position: relative;
}

#lp .present ul li figure img,
#profile .present ul li figure img {
    max-height: 90%;
    max-width: 90%;
    height: auto;
    width: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

#lp .present ul li figure::before,
#profile .present ul li figure::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 38px 46px 0 0;
    border-color: #dd3344 transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
}

#lp .present ul li figure .num {
    position: absolute;
    color: #fff;
    top: 5px;
    left: 5px;
    font-size: 1rem;
    transform: rotate(-40deg);
    -moz-transform: rotate(-40deg);
    -webkit-transform: rotate(-40deg);
    z-index: 1000;
}

#profile .present ul li figure .num {
    position: absolute;
    color: #fff;
    top: 2px;
    left: 2px;
    font-size: 1rem;
    transform: rotate(-40deg);
    -moz-transform: rotate(-40deg);
    -webkit-transform: rotate(-40deg);
    z-index: 1000;
}

#lp .present ul li figure .num span,
#profile .present ul li figure .num span {
    font-size: 1.3rem;
    font-weight: bold;
}

#lp .present ul li p {
    color: #000;
    font-size: 1.2rem;
    line-height: 1.2;
    text-align: center;
}

#profile .present ul li p {
    color: #000;
    font-size: 1.2rem;
    line-height: 1.2;
    text-align: center;
    padding: 3px;
}

#error .notes {
    margin-top: 21px;
}

#lp .notes p,
#error .notes p {
    font-size: 1.2rem;
    margin-bottom: 3px;
    color: #888;
}

#lp .notes li,
#error .notes li {
    font-size: 1rem;
    text-indent: -1rem;
    padding-left: 1rem;
    color: #888;
}

#lp .cvbtn {
    margin-top: 4px;
}

#lp .fixed-area {
    padding-top: 5px;
}

#lp .fixed-area .check-parts {
    color: #fff;
}

#lp .fixed-area .check-parts a {
    font-size: 1.2rem;
}

#lp .fixed-area .agree {
    color: #fff;
    font-size: 1rem;
    letter-spacing: 1px;
}

#lp .fixed-area .agree a {
    text-decoration: underline;
    padding-right: 3px;
    color: #53daef;
}

#error .select-wrap,
#complete .select-wrap,
#accordion .select-wrap {
    position: relative;
}

#error .select-wrap::before,
#accordion .select-wrap::before,
#complete .select-wrap::before {
    content: '';
    width: 75px;
    height: 75px;
    background-size: contain;
    position: absolute;
    top: -50px;
    left: 0;
    z-index: 999;
}

#error .select-wrap ul.next li {
    position: relative;
}

.otherEnq {
    text-align: center;
    margin-top: 20px;
}

.otherEnq p::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 10px 0 10px;
    border-color: #e4f2ff transparent transparent transparent;
    position: absolute;
    bottom: -15px;
    left: 50%;
    margin-left: -10px;
}

.otherEnq p {
    font-size: 1.1rem;
    display: inline-block;
    border: 5px solid #e4f2ff;
    padding: 7px 5px 4px;
    line-height: 1.5;
    border-radius: 6px;
    position: relative;
}

.otherEnq a {
    text-decoration: underline;
}

.otherEnq span {
    color: #dd3344;
    font-weight: bold;
    font-size: 1.3rem;
    letter-spacing: -0.5px;
}

/*#accordion*/

#accordion .select-wrap .select-title {
    background-color: #95c2e1;
    color: #fff;
    font-size: 1.5rem;
    padding: 10px;
    font-weight: bold;
    position: relative;
    margin: -7px -7px 0;
}

#accordion .select-wrap .select-title::after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: #95c2e1 transparent transparent transparent;
    position: absolute;
    bottom: -6px;
    left: 50%;
    margin-left: -3px;
}

#accordion h5 + p {
    text-align: right;
    margin-bottom: -10px;
    font-size: 1.3rem;
}

#accordion h5 + p span {
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0 3px;
    color: #dd3344;
}

.select-wrap ul.next li a {
    background-color: #fff;
    color: #0099dd;
    font-size: 1.5rem;
    font-weight: bold;
    padding: 14px 28px 14px 7px;
    border: 1px solid #efe9d2;
    box-sizing: border-box;
    position: relative;
    display: block;
    line-height: 1.2;
    cursor: pointer;
}

#accordion .select-wrap ul.next li a {
    padding: 21px 28px 21px 28px;
}

.select-wrap ul.next li.done {
    position: relative;
}

.select-wrap ul.next li.done::after {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.6);
    border: 1px solid #efe9d2;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 999;
}

.select-wrap ul.next li.done:hover::after {
    width: 0;
    height: 0;
}

#accordion .select-wrap ul.next li a::before {
    content: '';
    width: 18px;
    height: 18px;
    background-size: contain;
    background-position: center;
    position: absolute;
    top: 50%;
    left: 7px;
    z-index: 999;
    margin-top: -9px;
}

.select-wrap ul.next li a.money::before {
    background: url(../img/ico_money.svg) no-repeat center;
    background-size: contain;
}

.select-wrap ul.next li a.time::before {
    background: url(../img/ico_time.svg) no-repeat center;
    background-size: contain;
}

.select-wrap ul.next li a.business::before {
    background: url(../img/ico_business.svg) no-repeat center;
    background-size: contain;
}

.select-wrap ul.next li a.culture::before {
    background: url(../img/ico_culture.svg) no-repeat center;
    background-size: contain;
}

.select-wrap ul.next li a.female::before {
    background: url(../img/ico_female.svg) no-repeat center;
    background-size: contain;
}

.select-wrap ul.next li a.manager::before {
    background: url(../img/ico_manager.svg) no-repeat center;
    background-size: contain;
}

.select-wrap ul.next li a.reason::before {
    background: url(../img/ico_reason.svg) no-repeat center;
    background-size: contain;
}

.select-wrap ul.next li a.strength::before {
    background: url(../img/ico_strength.svg) no-repeat center;
    background-size: contain;
}

.select-wrap ul.next li a.system::before {
    background: url(../img/ico_system.svg) no-repeat center;
    background-size: contain;
}

.select-wrap ul.next li a.walfare::before {
    background: url(../img/ico_walfare.svg) no-repeat;
    background-size: contain;
}

.select-wrap ul.next li a.work::before {
    background: url(../img/ico_work.svg) no-repeat;
    background-size: contain;
}

.answer > p {
    font-size: 1.3rem;
    color: #000;
    line-height: 1.3;
    margin-bottom: 14px;
}

.example {
    font-size: 1.2rem;
    color: #888;
    margin-bottom: 14px;
    text-indent: 1.5rem;
    position: relative;
}

.example::before {
    content: '';
    width: 13px;
    height: 13px;
    background: url(../img/ico_question.svg) no-repeat;
    background-size: cover;
    position: absolute;
    top: -1px;
    left: 0;
}

.answer div {
    margin-bottom: 30px;
}

.answer > div h5 {
    font-size: 1.3rem;
    color: #fff;
    background: url(../img/ico_pencil.png) 4px 3px no-repeat;
    background-size: 13px auto;
    display: inline-block;
    padding: 3px 8px 3px 20px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    margin-bottom: 0;
}

.answer textarea {
    display: block;
    width: 100%;
    height: 125px;
    margin-top: -2px;
    border-radius: 0 3px 3px 3px;
    box-sizing: border-box;
    padding: 5px;
    font-size: 1.3rem;
    -webkit-appearance: none;
}

.count-wrap {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.cnt {
    font-size: 1.2rem;
    margin-top: 2px;
}

.cnt span {
    color: #ff3333;
    font-weight: bold;
}

.cnt span.all {
    color: #48a7ff;
    font-weight: bold;
}

.cntValid {
    font-size: 1.2rem;
    margin-top: 2px;
    color: #ff3333;
    display: none;
}

.cntValid span {
    font-weight: bold;
}

.answer > div.good h5 {
    background-color: #f56b6b;
}

.answer .good textarea {
    border: 2px solid #f56b6b;
}

.answer > div.bad h5 {
    background-color: #48a7ff;
}

.answer .bad textarea {
    border: 2px solid #48a7ff;
}

.answer > div.neither h5 {
    background-color: #ddbb66;
}

.answer .neither textarea {
    border: 2px solid #ddbb66;
}

#accordion footer,
#kuchikomi footer {
    padding-bottom: 140px;
}

/*#company-data*/
#company-data .styledSelectBox {
    width: 50%;
}

#company-data .customSelect {
    width: 60%;
    height: 45px;
    margin-bottom: 0;
    padding-top: 14px;
    box-sizing: border-box;
}

#company-data .customSelect::after {
    left: 50%;
    top: 50px;
}

#company-data .input-area li:nth-child(2) {
    margin-bottom: 7px;
}

/*#company-name*/
#company-name .input-area li input {
    padding-left: 26px;
}

#company-name .input-area li::after {
    content: '';
    width: 14px;
    height: 14px;
    background-size: cover;
    position: absolute;
    left: 10px;
    top: 21px;
}

#company-name .refine {
    margin-top: -7px;
}

#company-name .refine p {
    font-size: 1.3rem;
    line-height: 1.3;
    color: #888;
}

#company-name .refine p span {
    font-weight: bold;
}

#company-name .refine p:last-child {
    color: #dd3344;
    font-weight: bold;
}

#company-name .empty {
    color: #dd3344;
    font-size: 1.3rem;
    font-weight: bold;
    text-align: center;
    padding: 25px 0;
}

#company-name p.notfound {
    text-align: center;
}

#company-name p.notfound a {
    color: #000;
    border: 2px solid #b4b4b4;
    display: inline-block;
    padding: 7px 30px;
    border-radius: 3px;
    font-size: 1.1rem;
    font-weight: bold;
    margin-top: 14px;
    position: relative
}

#company-name p.notfound a::after {
    font-family: my-icon-font;
    content: "\e900";
    position: absolute;
    right: 7px;
    top: 7px;
    color: #b4b4b4;
}

/*#retire-year*/
#retire-year h2 {
    margin-bottom: 14px;
}

#retire-year .customSelect::after {
    top: 31px;
}

/*#profile*/
#profile .input-area {
    margin-top: 25px;
}

.input-area li.sex {
    margin-bottom: 22px;
}

/* --- defaultEdit --- */
#profile .input-area {
    margin: 0;
}

#profile .enqTtl {
    font-size: 1.7rem;
    background-position: 0 bottom;
    text-align: center;
    padding: 15px 10px 0;
}

/* --- campaignArea --- */
#profile .campaignArea {
    background: url('../img/bg_ttl.png') repeat 0 top;
    padding: 7px;
    text-align: center;
}

#profile .campaignSchedule {
    border: solid 1px #fff;
    font-size: 1.2rem;
    color: #fff;
    border-radius: 50px;
    display: inline-block;
    padding: 5px 15px;
    margin-bottom: 15px;
}

#profile .campaignArea img {
    margin: 15px auto 10px;
    display: block;
}

#profile .campaignArea dl {
    text-align: left;
    border: solid 1px #fff;
    border-radius: 4px;
}

#profile .campaignArea dt {
    color: #fff;
    padding: 13px 10px;
    background: url('../img/ico_kiyaku_open.svg') no-repeat right 10px center;
    cursor: pointer;
}

#profile .campaignArea dt.notifyOpen {
    background-image: url('../img/ico_kiyaku_close.svg');
}

#profile .campaignArea dd {
    display: none;
}

#profile .campaignArea dd p,
#profile .campaignArea dd li {
    color: #fff;
    padding: 0 10px 10px;
    font-size: 1.2rem;
    line-height: 150%;
}

/* --- agreement --- */
#profile .agreement {
    text-align: center;
    font-size: 1.3rem;
    margin: 20px 0;
}

#profile .agreement a {
    text-decoration: underline;
}

/*#complete*/
#complete #content-wrap {
    margin-top: 16px;
}

#complete h5 + p {
    text-align: center;
    margin-bottom: 14px;
}

#complete .reselect {
    text-align: left;
}

#complete .otherEnq {
    margin-top: 50px;
}
