@charset "UTF-8";

/* ===========================================================
   # BASE
=========================================================== */
pre {
    white-space: pre-wrap;
}

/* CLASS */
.align_c {
    text-align: center
}

.align_l {
    text-align: left
}

.align_r {
    text-align: right
}

.auto {
    margin: auto
}

.clear {
    clear: both
}

.hidden {
    overflow: hidden
}

.supTxt {
    font-size: .5em;
    position: relative;
    top: -0.5em;
}

.posRe {
    position: relative
}

.posAb {
    position: absolute
}

.trans300 {
    transition: all 300ms 0s ease
}

.flex {
    display: flex;
    flex-wrap: wrap;
}

.flex li:before {
    display: none;
}

.noSP,
.onPC {
    display: none
}


/* = @media width 768px -->
----------------------------------------------------------- */
@media (min-width: 768px) {

    .alignleft {
        float: left
    }

    .alignright {
        float: right
    }

    .onSP {
        display: none !important
    }

    .noSP {
        display: block
    }

    span.noSP {
        display: inline
    }

    .noSP.flex {
        display: flex
    }

}


/* = @media width 980px -->
----------------------------------------------------------- */
@media (min-width: 980px) {

    .onPC {
        display: block
    }

    .noPC {
        display: none !important
    }

    strong.onPC {
        display: inline
    }

}


/* ===========================================================
   # HREF
=========================================================== */

.entryBody a {
    color: #ad8a36;
    text-decoration: underline;
    margin-top: 5px;
    display: inline-block;
    font-size: 3.5vw;
}

@media (min-width: 768px) {
    .entryBody a {
        font-size: 13px;
    }
}


/* ===========================================================
   # LAYOUT
=========================================================== */

.lpIteminner {
    width: calc(100% - 2rem);
    max-width: 960px;
}



/* = CONTENT
----------------------------------------------------------- */
.main {
    width: 95%;
    margin: 0 auto 15em auto;
}

@media (min-width: 768px) {
    .main {
        max-width: 960px;
        margin: 0 auto;
    }
}

.lpItem_ttl {
    margin-top: 1.8rem;
    padding: 2.5rem 0;
    color: #fff;
    font-size: 2.2rem;
    background: #373737;
    font-weight: 500;
    line-height: 1.3;
}



/* = CALENDAR
----------------------------------------------------------- */

div#calendar {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    margin-bottom: 0;
    width: 100%;
}

div#calendar > div {
    display: flex;
    align-items: center;
    margin-right: 0.8em;
}

div#calendar > div > span {
    width: 100%;
    display: block;

}

div#calendar div input#dpicker1 {
    margin-right: 0.5em;
    border-radius: 5px;
    width: 60%;
    height: 40px;
    border: 1px solid #b3b3b3;
}

div#calendar div img {
    width: 30px;
    margin-bottom: 0.3em;
    display: inline-block;
    vertical-align: bottom;
}

div#calendar span:nth-of-type(2) {
    padding-left: 0.8em;
}

/* = @media width 768px -->
----------------------------------------------------------- */
@media (min-width: 768px) {

    div#calendar {
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        margin-bottom: 0;
        width: 100%;
    }

    div#calendar > div {
        display: flex;
        align-items: center;
        margin-right: 1.5em;
    }

    div#calendar > div > span {
        width: 100%;
        display: block;

    }

    div#calendar > div input#dpicker1 {
        margin-right: 0.5em;
        border-radius: 5px;
        width: 110px;
        height: 40px;
        border: 1px solid #b3b3b3;
    }

    div#calendar div img {
        width: 30px;
        margin-bottom: 0.3em;
    }

    div#calendar > span:last-of-type {
        padding-left: 0.8em;
    }

}



/* ===========================================================
   # CONTENT
=========================================================== */
.entryBody {
    line-height: 1.63em;
    padding: 4rem 0;
}

.entryBody h3 {
    background: #fff;
    border: 2px solid #333;
    border-radius: 6px;
    letter-spacing: 0;
    line-height: 1.5;
    margin-bottom: 3rem;
    padding: 0.58em 1em;
}

.entryBody p:last-child,
.entryBody p.pb0 {
    padding-bottom: 0;
}

.entryBody p.box01 {
    background: #fff;
    border: 3px solid #ddd;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 1.7;
    margin-bottom: 3rem;
    padding: .5rem 1rem;
    text-align: justify;
}

.entryBody .small {
    display: inline-block;
    font-size: .8em;
    line-height: 1.4em;
    opacity: .8;
}


/* = HR
----------------------------------------------------------- */
.entryBody hr {
    border-top: 1px solid #ccc;
    clear: both;
    margin-bottom: 50px;
}

.entryBody hr.clear {
    border: none;
    margin: 0;
}


/* = IMG
----------------------------------------------------------- */
.entryBody img {
    display: block;
    margin: 0 auto 1rem;
}


/* = LIST
----------------------------------------------------------- */
.entryBody ul {
    margin: 0 0 3em 1em;
}

.entryBody ol {
    list-style-type: decimal;
    margin: 0 0 3em 1.5em;
}

.entryBody ul:last-child,
.entryBody ol:last-child {
    margin-bottom: 0;
}

.entryBody li {
    line-height: 1.6;
    padding: 0 0 1em;
    position: relative;
}

.entryBody ul li:before {
    background: #333;
    border-radius: 100%;
    content: '';
    display: inline-block;
    width: 4px;
    height: 4px;
    position: absolute;
    left: -.85em;
    top: .65em;
}

.entryBody ul.noStyle {
    margin-left: 0;
}

.entryBody ul.noStyle li:before {
    display: none;
}


/* = FLEX
----------------------------------------------------------- */
.entryBody .flex {
    margin: 0;
}

.entryBody .flex li {
    line-height: inherit;
    padding: 0;
}

.entryBody .flex li:before {
    display: none;
}

.flex.clm3 > li {
    width: 33.33%;
}


/* = @media width 768px -->
----------------------------------------------------------- */
@media (min-width: 768px) {

    .entryBody {
        padding: 0;
    }

    .entryBody p.box01 {
        border-width: 5px;
        padding: 2rem 3rem;
        font-size: 13px;
    }

    /* IMG */
    .entryBody img {
        display: inline;
    }

    img.aligncenter {
        display: block;
        margin: 0 auto 1rem;
    }

    .entryBody img.alignleft {
        margin: 0 2rem 1rem 0;
    }

    .entryBody img.alignright {
        margin: 0 0 1rem 2rem;
    }

}




/* ===========================================================
   # INQ
=========================================================== */

.inqTbl_ttl,
.inqTbl_body {}

.inqTbl_ttl {
    font-weight: 500;
    font-size: 4.2vw;
    line-height: 1.4em;
    width: 100%;
    margin-bottom: 0.8em;
}

.inqTbl_body {
    border-top: 1px solid #ccc;
    padding: 20px 0 60px;
    width: 100%;
}

.inqTbl_body p {
    padding: 0;
}

.inqTbl_body p.bdrTop {
    border-top: 1px dashed #ccc;
    margin-top: 1em;
    padding: .5rem 0;
}

.inqTbl_body p.bdrBtm {
    border-bottom: 1px dashed #ccc;
    padding: 0 0 1.8rem;
}

span.inqTbl_required,
span.inqTbl_any {
    border-radius: 5px;
    padding: 0.1em 0.5em;
    margin-right: 0.7em;
    font-size: 1rem;
    color: #fff;
}

span.inqTbl_required {
    background: #bf1a20;
    font-size: 3.2vw;
}

@media (min-width: 768px) {
    span.inqTbl_required {
        font-size: 15px;
    }
}

span.inqTbl_any {
    background: #c1bfbf;
    font-size: 3.2vw;
}

@media (min-width: 768px) {
    span.inqTbl_any {
        font-size: 15px;
    }
}

.inqPolicy {
    background: #fff;
    border: 1px dashed #ccc;
    height: 200px;
    font-size: 1.2rem;
    line-height: 1.6;
    margin-bottom: 3rem;
    padding: 1em;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.inqPolicy p {
    padding-bottom: 1em;
}

.item-name {
    margin-top: 1em;
    font-size: 3.5vw;
    color: #555;
}

@media (min-width: 768px) {
    .item-name {
        font-size: 15px;
    }
}

/*----- 建物名・部屋番号エラーはずし用 -----*/
dd#add-dd {
    padding-bottom: 1em;
}

dt#add03-dt {
    border-top: none;
    padding: 0;
    height: 0;
    margin: 0;
}

dd#add03-dd {
    border-top: none;
    padding-top: 0;
}




/* = INPUT, TEXTAREA
----------------------------------------------------------- */
.inqTbl input[type=text],
.inqTbl input[type=email],
.inqTbl input[type=tel],
.inqTbl input[type=number],
.inqTbl textarea {
    background: #fff;
    border: 1px solid #b3b3b3;
    margin-top: 5px;
    padding: 8px;
    -webkit-appearance: none;
    width: 100%;
    max-width: 100%;
    font-size: 4.5vw;
}

@media (min-width: 768px) {

    .inqTbl input[type=text],
    .inqTbl input[type=email],
    .inqTbl input[type=tel],
    .inqTbl input[type=number],
    .inqTbl textarea {
        font-size: 15px;
        padding: 10px;
    }
}

.inqTbl input.sizeSs {
    width: 60px;
}

.inqTbl input.sizeS {
    width: 140px;
vertical-align: middle;
}

.inqTbl textarea {
    height: 200px;
}

.inqTbl ::placeholder {
    color: #999;
}


/* = RADIO
----------------------------------------------------------- */
.inqTbl_listItem {
    line-height: 1;
    margin-right: 1em;
    font-size: 4.5vw;
    font-weight: 400;
}

@media (min-width: 768px) {
    .inqTbl_listItem {
        font-size: 18px;
    }
}

input[type="radio"] {
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 14px;
    box-shadow: inset 4px 4px 10px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    width: 14px;
    height: 14px;
    position: relative;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
}

input[type="radio"]:checked:after {
    background: #4d679d;
    border-radius: 50%;
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    left: 2px;
    top: 2px;
}

input[type="radio"]:checked {
    background-image: radial-gradient(circle at 50% 50%, black 40%, transparent 50%);
}

.inqTbl_subInput {
    display: inline-block;
    margin: 0 0 -6px;
}


/* = SELECT
----------------------------------------------------------- */
span.select {
    background-color: #fff;
    border: 1px solid #d2d2d2;
    border-radius: 0;
    cursor: pointer;
    display: inline-block;
    margin-top: 5px;
    padding-right: 2rem;
    position: relative;
}

span.select:after {
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    pointer-events: none;
    position: absolute;
    right: 8px;
    top: 15px;
    transform: rotate(45deg);
    z-index: 1;
}

.inqTbl select {
    border-radius: 0;
    cursor: pointer;
    margin: -1px;
    padding: 10px;
    width: calc(100% + 2.2rem);
    font-size: 4.5vw;
    color:#000;
vertical-align: middle;
}

@media (min-width: 768px) {
    .inqTbl select {
        font-size: 15px;
    }
}

select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #333;
}


/* = SEND
----------------------------------------------------------- */
p.inqChk #chk_ok {
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    appearance: checkbox;
}

p.inqSend input[type=button] {
    background: #3073bb;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    font-size: 5vw;
    font-weight: 700;
    line-height: 90px;
    width: 100%;
    position: relative;
}

/*
p.inqSend input[type=button][disabled] {
    background: #ccc;
    color: #969696;
font-size: 5vw;
    }
*/
@media (min-width: 768px) {
    p.inqSend input[type=button] {
        line-height: 60px;
    }

    /*
p.inqSend input[type=button][disabled] {
font-size: 25px;
    }
    */
}


/* = TXT
----------------------------------------------------------- */
.inqTxt {
    display: inline-block;
    font-size: 4vw;
    color: #555;
}

.inqTxt_sub {
    color: #555;
    display: block;
    margin-top: 8px;
    font-size: 3.2vw;
    line-height: 1.5;
    text-align: justify;
}

.inqTxt_sub.strong {
    display: block;
    color: #bf1a20;
    font-weight: 700;
    font-size: 4vw;
}

p.inqChk {
    background: rgba(255, 179, 179, 0.5);
    margin-bottom: 28px;
}

p.inqChk label {
    display: inline-block;
    padding: 1em 0;
    width: 100%;
}

@media (min-width: 768px) {
    .inqTxt {
        font-size: 15px;
    }

    .inqTxt_sub {
        font-size: 13px;
    }

    .inqTxt_sub.strong {
        font-size: 15px;
    }
}


/* = @media width 768px -->
----------------------------------------------------------- */
@media (min-width: 768px) {

    .inqTbl {
        font-size: .9em;
        flex-wrap: wrap;
        margin-bottom: 50px;
    }

    .inqTbl_ttl,
    .inqTbl_body {
        border-top: 1px solid #ddd;
        font-weight: 400;
        padding: 1.5rem 0 2rem;
        width: 30%;
    }

    .inqTbl_ttl.family_error,
    .inqTbl_body.family_error {
        border-top: none;
    }

    dt.inqTbl_ttl {
        padding: 2.2rem 1em 2rem 0;
        margin-bottom: 0;
        font-size: 18px;
    }

    dd.inqTbl_body {
        padding-left: 2em;
        width: 70%;
        position: relative;
    }

    .inqTbl_body p.bdrBtm {
        margin-bottom: .5rem;
    }

    .inqTbl input.sizeM {
        width: 260px;
    }

    .inqTbl input.sizeL {
        width: 500px;
    }

    p.inqSend input[type=button] {
        font-size: 1.3em;
        line-height: 6rem;
        width: 60%;
    }

    .inqTxt_sub {
        display: inline;
        font-size: 13px;
    }
}

/*----- 建物名・部屋番号エラーはずし用 -----*/
dt#add-dd {
    padding-bottom: 1em;
}

dt#add03-dt {
    border-top: none;
}

dd#add03-dd {
    border-top: none;
    padding-top: 0;
}


/* = ERROR
----------------------------------------------------------- */
.hidden {
    display: none;
}

.form_input .error {
    /*font-size: 16px;*/
    color: #e00000;
}

.inqTbl_body.error .inqTxt_sub,
.inqTbl_body.error .item-name,
.inqTbl_body.error .inqTxt {
    color: #e00000;
}


.inqTbl_body.error span.select:after {
    border-right: 2px solid #e00000;
    border-bottom: 2px solid #e00000;
}


.form_input .error input,
.form_input .error textarea,
.form_input .error select {
    /*background-color: #fecdc5;*/
    background: rgba(255, 246, 246, 1) !important;
    border: 1px solid #db8f8f !important;
    display: inline-block;
}

.form_input .error input[type="radio"]:checked {
    background-image: radial-gradient(circle at 50% 50%, black 40%, transparent 50%) !important;
}

.form_input .error ul.message {
    display: block;
    margin: 0.5em 0 0 0;
    padding: 0;
    list-style-type: none;
}

.form_input .error ul.message li {
    margin: 0;
    padding: 0;
    font-size: 3.5vw;
    color: #e00000;
}

.form_confirm .form_value {
    color: #0000e0;
    font-size: 4vw;
}

.form_confirm p.inqSend input[type=button] {
    /*background: #ba151d;*/
}

.form_confirm p.inqSend input[type=button]:last-child {
    background: #929292;
    margin-top: 10px;
    line-height: 50px;
}

h3.form_title {
    color: #ba151d;
    background: transparent;
    border: 0px;
    font-size: 5vw;
    text-align: center;
    text-decoration: underline;
}

@media (min-width: 768px) {
    h3.form_title {
        font-size: 20px;
    }

  .form_input .error ul.message li {
    font-size: 14px;
  }

    .form_confirm .form_value {
        font-size: 18px;
    }
}

h3.form_confirm,
h3.form_thanks {
    color: inherit;
}

/* ===========================================================
   # 各フォーム固有パーツ
=========================================================== */
/* = 入居者様ご相談
----------------------------------------------------------- */
.blockCom {
    width: 100%;
    background: #f4f3f2;
    margin-top: 3em;
    padding: 2em;
    text-align: center;
}

.blockCom_mds {
    padding-bottom: 1.5em;
    font-weight: 500;
    font-size: 4.2vw;
}

.blockCom_det {
    background: #fff;
    padding: 1em;
    font-size: 3.2vw;
    font-weight: 400;
    line-height: 1.5;
}

.blockCom_det_em {
    font-weight: 700;
    color: #3073bb;
    font-size: 4.2vw;
    margin-bottom: 0.5em;
}

.blockCom_det_link {
    color: #bf1a20;
    font-weight: 700;
    font-size: 6.5vw;
    line-height: 1.2;
    display: block;
}

.blockCom_det_link span {
    font-weight: 700;
    font-size: 5vw;
    display: block;
}

@media (min-width: 768px) {
    .blockCom_mds {
        font-size: 18px;
    }

    .blockCom_det {
        font-size: 13px;
    }

    .blockCom_det_em {
        font-size: 18px;
        margin-bottom: 0;
    }

    .blockCom_det_link {
        font-size: 25px;
        line-height: 1.5;
        display: inline;
    }

    .blockCom_det_link span {
        font-size: 20px;
        display: inline;
    }

    a[href^="tel:"] {
        pointer-events: none;
        cursor: default;
    }
}

.com-top > .inqTxt_sub {
    font-size: 3.8vw;
    color: #3073bb;
}

@media (min-width: 768px) {
    .com-top > .inqTxt_sub {
        font-size: 15px;
    }
}

/* = ボタン風ラジオボタン（エラー時含む）
----------------------------------------------------------- */
.radioBtn {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
}

.radioBtn_blue {
    display: inline-block;
    padding: 0.7em;
    margin-bottom: 0.5em;
    border-radius: 5px;
    transition: all .2s;
    border: 1px solid #b3b3b3;
    width: 100%;
    color: #555;
    font-size: 4.2vw;
    line-height: 1.5;
}

.radioBtn:checked + .radioBtn_blue {
    background: #3073bb;
    border: 1px solid #3073bb;
    color: #fff;
}

@media (min-width: 768px) {
    .radioBtn_blue {
        font-size: 16px;
        padding: 0.5em 1em;
    }
}

.form_input .error .radioBtn_blue {
    color: #e00000;
    background: rgba(255, 246, 246, .5);
    border: 1px solid #c99;
    display: inline-block;
}

.form_input .error .radioBtn:checked + .radioBtn_blue {
    background: #3073bb;
    border: 1px solid #3073bb;
    color: #fff;
}

/* = イベント・キャンペーン＋工場見学選択済項目名
----------------------------------------------------------- */
.entered {
    font-size: 4.2vw;
    color: #3073bb;
    font-weight: 700;
}

@media (min-width: 768px) {
    .entered {
        font-size: 22px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        /* Safari用 */
        transform: translateY(-50%);
    }
}

/* = タイトル2行対応
----------------------------------------------------------- */
.title_2lines .contents-block > .contents-block-head > .page-title {
    line-height: 1.3;
    padding: 1em 0;
}

@media (min-width: 768px) {
    .title_2lines .contents-block > .contents-block-head > .page-title {
        line-height: 5.333333333;
        line-height: 1.5;
        padding: 1.5em 0;
    }
}

/* = PR画像
----------------------------------------------------------- */
.prBox {
    width: 100%;
}

.prBox img {
    width: 100%;
}

/* = 見出し
----------------------------------------------------------- */
.blockTitle-main,
.blockTitle-other {
    font-size: 4.8vw;
    padding: 1em;
    font-weight: 500;
    margin-bottom: 0.5em;
    text-align: center;
}

.blockTitle-main {
    background: #f2f2f2;
}

.blockTitle-other {
    background: #dae9f9;
}

@media (min-width: 768px) {

    .blockTitle-main,
    .blockTitle-other {
        font-size: 20px;
        padding: 1em;
        font-weight: 500;
        margin-top: 4em;
    }
}


/* = 同意のご確認
----------------------------------------------------------- */

.consent {
    border: 1px solid #666;
    padding: 2em;
    margin-bottom: 30px;
    line-height: 1.5;
}

.consent_ttl {
    font-size: 4.2vw;
    margin-bottom: 8px;
}

.consent_body {
    font-size: 3.8vw;
    font-weight: 400;
    text-align: justify;
    margin-bottom: 15px;
    color:#555;
}

.consent_body a {
    color: #3073bb;
    margin-top: 0;
    display: inline;
}

.consent_body:last-of-type {
    margin-bottom: 0;
}

@media (min-width: 768px) {
    .consent {
        padding: 30px;
    }

    .consent_ttl {
        font-size: 16px;
    }

    .consent_body {
        font-size: 13px;
    }
}


/* ===========================================================
   # THANKS
=========================================================== */

/* = TXT
----------------------------------------------------------- */

.thanks-midashi {
    margin-bottom: 2em;
}

/* = @media width 768px -->
----------------------------------------------------------- */
@media (min-width: 768px) {

    .thanks-midashi {
        text-align: center;
        margin-bottom: 2em;
        line-height: 2;
        font-size: 2rem;
    }


}

/* ===========================================================
   # 中部エリア専用記述追加
=========================================================== */

.arealim {
    display: block;
    font-size: 5vw;
    margin-top: 0.5em;
}

.arealim small {
    display: block;
    font-size: 3.2vw;
    font-weight: normal;
    margin-top: 0.5em;
}

@media (min-width: 768px) {
.arealim {
font-size: 20px;
    margin-top: 0.2em;
}
.arealim small {
font-size: 12px;
    margin-top: 0.2em;
}
}

