
/* ===========================================================
   # 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;}

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

.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: 3rem 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;
    }
.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;
    }
@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: #ba151d;
    border-radius: 6px;
    color: #fff;
    display: inline-block;
    font-size: 5vw;
    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%;
    }
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.4em;
    line-height: 8rem;
    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;
}
.form_input .error input,
.form_input .error textarea,
.form_input .error select {
	/*background-color: #fecdc5;*/
	background: rgba(255, 246, 246, .5)!important;
    border: 1px solid #c99!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;
}
}


/* ===========================================================
   # 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;
}


}



