@charset "UTF-8";
/* Vendor prefix
--------------------------------- */
.jpca2022 { margin-top: 30px; padding: 0 14px; }
.jpca2022 img { height: auto; max-width: 100%; vertical-align: top; image-rendering: -webkit-optimize-contrast; }
@media only screen and (max-width: 640px) {
.jpca2022 { padding: 0; width: auto; }
}

/* jpca2022-announcement
--------------------------------- */
.jpca2022-announcement__heading { border: 1px solid #bebcbc; }
.jpca2022-announcement__block { background-color: #fafafa; border: 1px solid #bebcbc; margin-top: 40px; padding: 29px; }
.jpca2022-announcement__block-heading { font-size: 1.3494em; font-weight: 700; }
.jpca2022-announcement__block-lead { font-size: 1.1363em; margin-top: 20px; }
.jpca2022-announcement__block-lead sub {	font-size: 50%; vertical-align: baseline; }
.jpca2022-announcement__block-list { margin-top: 20px; }
.jpca2022-announcement__block-list li { position: relative; padding-left: 8em; }
.jpca2022-announcement__block-list li::before { content: "："; position: absolute; top: 0; left: 7em; }
.jpca2022-announcement__block-list li + li { margin-top: 6px; }
.jpca2022-announcement__block-list li > span { font-weight: 700; position: absolute; top: 0; left: 0; }
.jpca2022-announcement__block-link { margin-top: 25px; }
.jpca2022-announcement__block-link a { background-color: #fff; border: 1px solid #d9d9d9; display: block; font-weight: bold; text-align: center; margin: 0 auto; padding: 8px 9px; width: 350px; }
.jpca2022-announcement__block-link a img { vertical-align: middle; }
.jpca2022-announcement__block-link a span { position: relative; padding-left: 12px; }
.jpca2022-announcement__block-link a span::before { content: ""; width: 0; height: 0; border-style: solid; border-width: 4px 0 4px 7px; border-color: transparent transparent transparent #cc0000; position: absolute; top: calc(50% - 4px); left: 0; }
@media only screen and (max-width: 640px) {
.jpca2022-announcement__block { margin-top: 24px; padding: 30px 15px; }
.jpca2022-announcement__block-lead { font-size: 1em; }
.jpca2022-announcement__block-list li { word-break: break-all; }
.jpca2022-announcement__block-link a { font-size: 0.8571em; width: 80%; }
}

/* jpca2022-product
--------------------------------- */
.jpca2022-product { background-color: #fafafa; border-top: 5px solid #004e97; margin-top: 60px; padding: 65px 50px 50px 50px; }
.jpca2022-product__heading { position: relative; }
.jpca2022-product__heading::before { background-color: #004e97; content: ""; position: absolute; top: 18px; left: -50px; width: 38px; height: 3px; }
.jpca2022-product__heading span { display: block; font-size: 1.2073em; font-weight: 700; margin-top: 15px; }
.jpca2022-product__lineup { margin-top: 50px; }
.jpca2022-product__lineup > li { background-color: #fff; display: flex; padding: 40px 0; }
.jpca2022-product__lineup > li + li { margin-top: 30px; }
.jpca2022-product__lineup-img { box-sizing: border-box; align-self: center; padding: 0 calc(55% / 852 * 100) 0 calc(35% / 852 * 100); max-width: 362px; }
.jpca2022-product__lineup-block { flex: 1 auto; display: flex; flex-direction: column; padding-right: calc(35% / 852 * 100); }
.jpca2022-product__lineup-heading { font-size: 1.4204em; font-weight: 700; position: relative; padding: 8px 0 8px 20px; }
.jpca2022-product__lineup-heading::before { background-color: #004e97; content: ""; position: absolute; top: 0; left: 0; width: 2px; height: 50%; }
.jpca2022-product__lineup-heading::after { background-color: #bfbfbf; content: ""; position: absolute; bottom: 0; left: 0; width: 2px; height: 50%; }
.jpca2022-product__lineup-text { padding: 20px 0; }
.jpca2022-product__lineup-btns { display: flex; justify-content: space-between; margin-top: auto; }
.jpca2022-product__lineup-btns a { background-color: #f3f3f3; color: #333; display: block; margin-top: 10px; padding: 10px 15px 10px 20px; }
.jpca2022-product__lineup-btns a:hover { text-decoration: none; }
.jpca2022-product__lineup-btns a span { position: relative; display: block; padding-right: 25px; }
.jpca2022-product__lineup-btns a span:before, .jpca2022-product__lineup-btns a span:after { background-color: #004e97; content: ""; position: absolute; top: 50%; display: block; height: 1px; right: 0px; }
.jpca2022-product__lineup-btns a span:before { width: 14px; }
.jpca2022-product__lineup-btns a span:after { transform: rotate(45deg); transform-origin: 100% 50%; width: 7px; }
.jpca2022-product__block-link { margin-top: 30px !important; }
.jpca2022-product__block-link a { background-color: #fff; border: 1px solid #d9d9d9; display: block; font-weight: bold; text-align: center; margin: 0 auto; padding: 8px 9px; width: 350px; }
.jpca2022-product__block-link a img { vertical-align: middle; }
.jpca2022-product__block-link a span { position: relative; padding-left: 12px; }
.jpca2022-product__block-link a span::before { content: ""; width: 0; height: 0; border-style: solid; border-width: 4px 0 4px 7px; border-color: transparent transparent transparent #cc0000; position: absolute; top: calc(50% - 4px); left: 0; }
@media only screen and (min-width: 641px) {
.jpca2022-product__lineup-btns a { transition: opacity 0.3s ease; }
.jpca2022-product__lineup-btns a:hover { opacity: 0.7; }
}
@media only screen and (max-width: 640px) {
.jpca2022-product { margin-top: 28px; padding: 42px 30px 25px; }
.jpca2022-product__heading img { width: 140px; }
.jpca2022-product__heading::before { top: 9px; left: -30px; width: 19px; height: 3px; }
.jpca2022-product__heading span { font-size: 1em; margin-top: 10px; }
.jpca2022-product__lineup { margin-top: 23px; }
.jpca2022-product__lineup > li { display: block; padding: 34px 29px 37px; }
.jpca2022-product__lineup-img { text-align: center; margin-top: 0 !important; padding: 0; max-width: none; }
.jpca2022-product__lineup-block { flex: initial; display: block; margin-top: 7px; padding-right: 0; }
.jpca2022-product__lineup-heading { font-size: 1.1428em; }
.jpca2022-product__lineup-text { margin-top: 14px; padding: 0; }
.jpca2022-product__lineup-btns { display: block; margin-top: 20px; }
.jpca2022-product__lineup-btns a { display: block; font-size: 0.9285em; margin-top: 10px; padding: 10px 12px; }
.jpca2022-product__lineup-btns a span { display: inline-block; vertical-align: top; padding-right: 19px; }
.jpca2022-product__lineup-btns a span:before { width: 13px; }
.jpca2022-product__lineup-btns a span:after { width: 5px; }
.jpca2022-product__block-link { margin-top: 25px !important; }
.jpca2022-product__block-link a { box-sizing: border-box; font-size: 0.8571em; width: 100%; max-width: 350px; }
}

/* jpca2022-mecha
--------------------------------- */
.jpca2022-mecha { margin-top: 45px; }
@media only screen and (min-width: 641px) {
.jpca2022-mecha a { transition: opacity 0.3s ease; }
.jpca2022-mecha a:hover { opacity: 0.7; }
}
@media only screen and (max-width: 640px) {
.jpca2022-mecha { margin-top: 25px; }
}

.jpca2022 .ex_button { display: inline-block; padding: 0.75em 50px; background-color: #fff; border: 1px solid #b3b3b3; font-weight: bold; text-align: center; }
.jpca2022 .icon_blank { margin-left: 5px; vertical-align: middle; }
.jpca2022 .arw { background: url("../img/arw.png") no-repeat scroll left 0.35em transparent; padding-left: 12px; }
@media only screen and (max-width: 640px) {
.jpca2022 .pc_icon { display: inline!important; padding-left: 3px; vertical-align: baseline !important; }
#solution .ex_button { font-size: 100%; width: 93% }
}

#catalog { margin-top: 43px; padding: 35px 50px 36px; background: #f7eaea; text-align: center; }
#catalog .head { font-size: 171.4%; font-weight: bold; text-align: center; line-height: 1.3; }
#catalog .head:before { content: ""; display: block; margin-top: 0.6em; margin-bottom: -0.6em; border-top: 1px solid #d9d9d9; }
#catalog .head span { display: inline-block; min-height: 27px; background: url(../img/bg_catalog.png) #f7eaea no-repeat 10px top; padding: 0 10px 0 40px; }
#catalog .bold { margin-top: 12px; }
#catalog .ex_button { width: 618px; margin: 22px auto 0; padding: 15px 10px 13px; border: 1px solid #B2B2B2; font-size: 114.3%; }
#catalog .ex_button .arw { padding-left: 12px; background: url(../img/arw.png) no-repeat left 0.45em; }
#catalog .ex_button:hover .arw { text-decoration: underline; }
@media only screen and (max-width: 640px) {
#catalog { padding: 40px 20px; margin-top: 20px; }
#catalog .head span { background-image: url(../img/bg_catalog_2x.png); background-size: 27px auto; }
#catalog .ex_button,
#solution .ex_button { font-size: 100%; width: 93% }
#catalog .ex_button .arw { background-image: url(../img/arw_2x.png); background-size: 8px auto; }
}

#mailnews { background: #f5f5f5; padding: 32px 50px 37px; border-top: 1px solid #e0e0e0; }
#mailnews .head { font-size: 171.4%; font-weight: bold; text-align: center; line-height: 1.3; }
#mailnews .head:before { content: ""; display: block; margin-top: 0.6em; margin-bottom: -0.6em; border-top: 1px solid #d9d9d9; }
#mailnews .head span { display: inline-block; min-height: 27px; padding: 0 10px 0 45px; background: url(../img/bg_mailnews.png) #f5f5f5 no-repeat 10px top; }
#mailnews .head + p { margin: 15px 0 30px; text-align: center; }
#mailnews #member { float: left; width: 405px; }
#mailnews #member .label { margin-bottom: 15px; font-size: 142.9%; font-weight: bold; text-align: center; color:#e58a2e; }
#mailnews #member .ex_button { background-color: #f29130; color: #FFF; border: 0; }
#mailnews #regist { float: right; width: 405px; }
#mailnews #regist .label { font-size: 142.9%; font-weight: bold; text-align: center; color:#0d4b9e; margin-bottom: 15px; }
#mailnews #regist .ex_button { background-color: #0d4b9e; color: #FFF; border: 0; }
#mailnews #regist .link { margin-top: 10px; text-align: center; font-weight: bold; }
#mailnews .text { margin-bottom: 18px; }
#mailnews .ex_button { font-size: 128.6%; display: table-cell; vertical-align: middle; width: 415px; line-height: 1; padding: 13px 10px 12px; }
#mailnews .ex_button:hover { opacity: 0.8; filter: alpha(opacity=80); }
#mailnews .ex_button small {font-size: 66.7%; }
#mailnews .ex_button .arw { display: inline-block; padding-left: 12px; background: url(../img/arw_white.png) no-repeat 0 0.35em; }
#mailnews .link .arw { display: inline-block; padding-left: 12px; background: url(../img/arw.png) no-repeat 0 0.45em; }
@media only screen and (min-width: 641px) {
#mailnews .ex_button { transition: opacity 0.3s ease; }
}
@media only screen and (max-width: 640px) {
#mailnews { padding: 40px 20px; }
#mailnews .head span { background-image: url(../img/bg_mailnews_2x.png); background-size: 27px auto; }
#mailnews .head + p { text-align: center; margin-bottom: 25px; }
#mailnews #member { float: none; width:auto; margin-bottom: 30px; }
#mailnews #member .label { font-size: 128.6%; margin-bottom: 15px; }
#mailnews #regist { float: none; width:auto; }
#mailnews #regist .label { font-size: 128.6%; margin-bottom: 15px; }
#mailnews .text { margin-bottom: 10px; }
#mailnews .ex_button { display: block; font-size: 100%; width: 93%; height:auto; }
#mailnews .ex_button small {font-size: 78.6%; }
#mailnews .ex_button .arw { background-image: url(../img/arw_white_2x.png); background-size: 8px auto; }
}

#facompass_info { margin:30px 0;padding:2.57em 60px 2.5em;text-align:center;background-color:#fff;border:1px solid #fad4d4 }
#facompass_info .facompass_info_txt { font-weight:bold;font-size:128.57%;color:#cc0001; margin-top: 0 }
#facompass_info .extbutton { background-color: #595959; color: #fff;display: inline-block;font-size: 114.28%;font-weight: bold;margin: 20px auto 0;max-width: 476px;padding: 16px 10px 19px;width: 100% }
@media screen and (max-width: 640px) {
  #facompass_info {padding:1.27em 20px 1.2em;text-align:center}
  #facompass_info .extbutton:hover { opacity:1 }
  #facompass_info .facompass_info_txt { text-align:left;font-size: 100% }
}