/*==============================================================================
Media
============================================================================= */
/*==============================================================================
fv
============================================================================= */
@media screen and (min-width: 769px) { .fv .fv-bg { padding: 76px 0 185px; background: #fff url(../../images/jp/function/fv_bg01_pc.jpg) no-repeat 50% 0; }
  .fv .fv-ttl { position: relative; padding: 0 0 32px; font-size: 48px; line-height: 1.17; letter-spacing: .06em; }
  .fv .fv-ttl::after { position: absolute; bottom: 0; left: -30px; width: 155px; height: 1px; border-bottom: solid 1px #000; content: ''; }
  .fv .fv-ttl02 { margin: 34px 0 0; font-size: 26px; letter-spacing: .14em; }
  .fv .fv-txt { margin: 18px 0 0; font-size: 16px; line-height: 1.56; letter-spacing: .14em; }
  .fv .fv-item { margin: 112px 0 0; }
  .fv .fv-item .txt-box { position: absolute; width: 540px; height: 468px; margin: 39px 0 0; padding: 88px 54px 70px; background: #282828; }
  .fv .fv-item .txt-box .num { position: absolute; top: 21px; left: -31px; width: 179px; }
  .fv .fv-item .txt-box .ttl { width: 460px; font-size: 32px; letter-spacing: .02em; line-height: 1.53; }
  .fv .fv-item .txt-box .ttl.size01 { font-size: 30px; }
  .fv .fv-item .txt-box .txt { width: 428px; margin: 26px 0 0; font-size: 14px; letter-spacing: .06em; line-height: 2; }
  .fv .fv-item .img-box { position: relative; margin: 0 0 0 433px; }
  .fv .fv-item .img-box .pic { width: 1105px; }
  .fv .fv-item .img-box .movie { position: absolute; top: 28px; left: 140px; width: 836px; }
  .fv .fv-item:nth-child(even) .txt-box { right: 0; background: #ebebeb; }
  .fv .fv-item:nth-child(even) .txt-box .num { left: 388px; }
  .fv .fv-item:nth-child(even) .img-box { margin: 0 0 0 -460px; }
  .fv .fv-item:nth-child(1) { margin: 97px 0 0; }
  .fv .fv-item:nth-child(4) .txt-box { padding: 68px 54px 43px; } }

@media screen and (max-width: 768px) { .fv .fv-bg { padding: .8rem 0 1.3rem; background: url(../../images/jp/function/fv_bg01_sp.jpg) no-repeat 50% -2%; background-size: contain; }
  .fv .fv-inner { position: relative; }
  .fv .fv-ttl { position: relative; padding: 0 0 .3rem; font-size: .6rem; letter-spacing: .08em; }
  .fv .fv-ttl::after { position: absolute; bottom: 0; left: -.6rem; width: 1.55rem; height: .01rem; border-bottom: solid 1px #000; content: ''; }
  .fv .fv-txt-box { margin-left: .25rem; }
  .fv .fv-ttl02 { margin: 0.4rem 0 0; font-size: .3rem; letter-spacing: .14em; }
  .fv .fv-txt { margin: .3rem -.15rem 0 0; font-size: .26rem; letter-spacing: .16em; }
  .fv .fv-item { margin: 1.74rem 0 0; }
  .fv .fv-item .txt-box { position: relative; padding: 1.15rem .65rem 6.33rem; background: #282828; }
  .fv .fv-item .txt-box .num { position: absolute; top: .3rem; left: -.2rem; width: 2.28rem; }
  .fv .fv-item .txt-box .ttl { width: 5.8rem; font-size: .4rem; letter-spacing: .02em; line-height: 1.55; }
  .fv .fv-item .txt-box .ttl.size01 { font-size: .36rem; }
  .fv .fv-item .txt-box .txt { margin: .35rem 0 0; font-size: .22rem; letter-spacing: .06em; line-height: 1.81; }
  .fv .fv-item .img-box { position: absolute; margin: -5.5rem 0 0 -0.75rem; }
  .fv .fv-item .img-box .pic { width: 11.05rem; }
  .fv .fv-item .img-box .movie { position: absolute; top: .28rem; left: 1.4rem; width: 8.36rem; }
  .fv .fv-item:nth-child(1) { margin: 2.9rem 0 0; }
  .fv .fv-item:nth-child(even) .txt-box { background: #ebebeb; }
  .fv .fv-item:nth-child(even) .txt-box .num { left: 4.8rem; }
  .fv .fv-item:nth-child(even) .img-box { margin: -5.5rem 0 0 -3.5rem; } }

/*==============================================================================
other
============================================================================= */
@media screen and (min-width: 769px) { .other .other-bg { padding: 130px 0 100px; background: #f5f5f5; }
  .other .other-ttl { font-size: 32px; text-align: center; letter-spacing: .02em; }
  .other .other-subttl { margin: 24px 0 0; font-size: 16px; text-align: center; line-height: 2; letter-spacing: .08em; }
  .other .other-list { display: flex; flex-wrap: wrap; width: 994px; margin: 65px auto 0; }
  .other .other-item { display: flex; flex-direction: column; justify-content: space-between; width: calc(100%/3); padding: 50px 20px 0; }
  .other .other-item .txt01 { font-size: 22px; letter-spacing: .08em; text-align: center; }
  .other .other-item .txt02 { width: 227px; margin: 11px auto 0; font-size: 14px; letter-spacing: .06em; line-height: 2; }
  .other .other-item .ico { display: flex; justify-content: center; align-items: center; width: 84px; height: 84px; margin: 13px auto 0; background: #191919; }
  .other .other-item .ico img { margin: 0 auto; }
  .other .other-item.item01 { color: #fff; background: #505050; }
  .other .other-item.item01 .ico img { width: 43px; }
  .other .other-item.item02 { background: #ebebeb; }
  .other .other-item.item02 .ico img { width: 37px; }
  .other .other-item.item03 { color: #fff; background: #282828; }
  .other .other-item.item03 .ico img { width: 45px; }
  .other .other-item.item04 { color: #fff; background: #282828; }
  .other .other-item.item04 .ico img { width: 45px; }
  .other .other-item.item05 { background: #fff; }
  .other .other-item.item05 .ico img { width: 37px; }
  .other .other-item.item06 { color: #fff; background: #505050; }
  .other .other-item.item06 .ico img { width: 42px; } }

@media screen and (max-width: 768px) { .other .other-bg { padding: 1.03rem 0 1rem; background: #f5f5f5; }
  .other .other-ttl { font-size: .4rem; letter-spacing: .02em; text-align: center; }
  .other .other-subttl { margin: .55rem 0 0; font-size: .26rem; font-weight: 400; letter-spacing: .08em; line-height: 1.88; text-align: center; }
  .other .other-list { width: 6.64rem; margin: .6rem auto 0; display: flex; flex-wrap: wrap; }
  .other .other-item { display: flex; flex-direction: column; justify-content: space-between; width: calc(100%/2); height: 4.36rem; padding: 0.6rem 0.45rem 0; }
  .other .other-item.item01 { color: #fff; background: #282828; }
  .other .other-item.item01 .ico img { width: .43rem; }
  .other .other-item.item02 { padding: 0.4rem 0.45rem 0; color: #fff; background: #505050; }
  .other .other-item.item02 .ico img { width: .37rem; }
  .other .other-item.item02 .txt02 { margin: -0.5rem 0 0; }
  .other .other-item.item03 { background: #fff; }
  .other .other-item.item03 .ico img { width: .45rem; }
  .other .other-item.item03 .txt02 { margin: -0.35rem 0 0; }
  .other .other-item.item04 { background: #ebebeb; }
  .other .other-item.item04 .ico img { width: .45rem; }
  .other .other-item.item05 { color: #fff; background: #505050; }
  .other .other-item.item05 .ico img { width: .37rem; }
  .other .other-item.item05 .txt01 { width: 2.6rem; }
  .other .other-item.item06 { padding: 0.5rem 0.45rem 0; color: #fff; background: #282828; }
  .other .other-item.item06 .ico img { width: .42rem; }
  .other .other-item.item06 .txt02 { margin: -.9rem 0 0; }
  .other .other-item .ico { display: flex; justify-content: center; align-items: center; width: .85rem; height: .85rem; margin: 0 auto; background: #191919; }
  .other .other-item .ico img { margin: 0 auto; }
  .other .other-item .txt01 { position: relative; font-size: .3rem; letter-spacing: .08em; text-align: center; line-height: 1.26; }
  .other .other-item .txt02 { position: relative; font-size: .22rem; letter-spacing: .06em; line-height: 1.54; } }

/*==============================================================================
industory
============================================================================= */
@media screen and (min-width: 769px) { .industory .industory-bg { background: #f5f5f5; padding: 135px 0 80px; }
  .industory .industory-data .ttl { font-size: 32px; letter-spacing: .02em; text-align: center; }
  .industory .industory-data .sub { font-size: 16px; letter-spacing: .08em; line-height: 2.4; text-align: center; }
  .industory .industory-data .txt-box { color: #E5E5E5; margin-top: 30px; }
  .industory .industory-data .vertical { -ms-writing-mode: tb-rl; writing-mode: vertical-rl; -webkit-text-orientation: upright; text-orientation: upright; font-feature-settings: normal; align-items: center; display: inline; letter-spacing: 0.2em; vertical-align: middle; white-space: nowrap; }
  .industory .industory-data .data-table { width: 100%; display: table; }
  .industory .industory-data .data-table.sp-only { display: none; }
  .industory .industory-data .data-table th, .industory .industory-data .data-table td { border: 1px solid #D5D5D5; border-right: none; padding: 20px; vertical-align: middle; }
  .industory .industory-data .data-table tr:last-child th, .industory .industory-data .data-table tr:last-child td { border-bottom: none; }
  .industory .industory-data .data-table th .small, .industory .industory-data .data-table td .small { font-size: 1.2rem; }
  .industory .industory-data .data-table thead th { background: #191919; font-size: 18px; font-weight: 500; border-top: none; }
  .industory .industory-data .data-table thead th:nth-child(1) { width: 15%; }
  .industory .industory-data .data-table thead th:nth-child(2) { width: 28%; }
  .industory .industory-data .data-table thead th:nth-child(3) { width: 57%; }
  .industory .industory-data .data-table tbody { line-height: 1.8; }
  .industory .industory-data .data-table tbody .th01 { background: #505050; font-size: 18px; padding: 0; }
  .industory .industory-data .data-table tbody .th02 { background: #363636; font-size: 16px; padding: 0; }
  .industory .industory-data .data-table tbody .th03 { background: #282828; font-size: 14px; font-weight: 500; }
  .industory .industory-data .data-table tbody .th03 .num { font-size: 40px; font-weight: 500; display: inline-block; margin-left: 2px; margin-right: 2px; }
  .industory .industory-data .data-table tbody .th03 .num.s { font-size: 30px; }
  .industory .industory-data .data-table tbody .th03 .unit { font-size: 15px; }
  .industory .industory-data .data-table tbody td { background: #fff; color: #363636; text-align: left; font-size: 16px; font-weight: 500; }
  .industory .industory-data .data-table tbody td .list { display: flex; justify-content: space-between; font-size: 16px; }
  .industory .industory-data .data-table tbody td .list .col { display: flex; flex-direction: column; justify-content: flex-end; }
  .industory .industory-data .data-table tbody td .list .col div { text-align: left; padding: 0 5px; line-height: 2; font-weight: 500; }
  .industory .industory-data .data-table tbody .small { font-size: 14px; }
  .industory .industory-data .note { color: #282828; font-size: 12px; text-align: right; margin-top: 30px; } }

@media screen and (max-width: 768px) { .industory-bg { padding: 1rem 0 1.1rem; background: #f5f5f5; }
  .industory-data { color: #fff; text-align: left; }
  .industory-data .ttl { color: #282828; font-size: .4rem; text-align: center; }
  .industory-data .sub { width: 5.3rem; margin: .4rem auto 0; color: #282828; font-size: .26rem; letter-spacing: .08em; line-height: 1.88; }
  .industory-data .txt-box { width: 7.5rem; margin: .5rem 0 0 -0.3rem; color: #E5E5E5; }
  .industory-data .tablet { display: none; }
  .industory-data .vertical { -ms-writing-mode: tb-rl; writing-mode: vertical-rl; -webkit-text-orientation: upright; text-orientation: upright; font-feature-settings: normal; align-items: center; display: inline; letter-spacing: 0.2em; vertical-align: middle; white-space: nowrap; }
  .industory-data .data-table { text-align: center; }
  .industory-data .data-table tbody { display: table; width: 100%; }
  .industory-data .data-table th, .industory-data .data-table td { border: 1px solid #D5D5D5; padding: .4rem; }
  .industory-data .data-table th .small, .industory-data .data-table td .small { font-size: 1.2rem; }
  .industory-data .data-table th { background: #191919; font-size: .36rem; font-weight: 500; border-top: none; }
  .industory-data .data-table th:nth-child(1) { width: 15%; }
  .industory-data .data-table th:nth-child(2) { width: 15%; }
  .industory-data .data-table th:nth-child(3) { width: 57%; }
  .industory-data .data-table tbody .th01 { background: #505050; font-size: .28rem; padding: 0; vertical-align: middle; }
  .industory-data .data-table tbody .th02 { background: #363636; font-size: .3rem; padding: 0; vertical-align: middle; }
  .industory-data .data-table tbody .th03 { background: #282828; font-size: .22rem; font-weight: 500; vertical-align: middle; }
  .industory-data .data-table tbody .th03 .num { font-size: .64rem; font-weight: 500; display: inline-block; margin-left: .02rem; margin-right: .02rem; line-height: 2; }
  .industory-data .data-table tbody .th03 .num.s { font-size: .48rem; }
  .industory-data .data-table tbody .th03 .unit { font-size: .3rem; }
  .industory-data .data-table tbody td { background: #fff; color: #363636; text-align: left; font-size: .24rem; font-weight: 500; }
  .industory-data .data-table tbody td .list { display: flex; justify-content: space-between; font-size: .24rem; }
  .industory-data .data-table tbody td .list .col { display: flex; flex-direction: column; justify-content: flex-end; }
  .industory-data .data-table tbody td .list .col div { text-align: left; padding: 0 .05rem; line-height: 2; font-weight: 500; }
  .industory-data .data-table tbody td .title { font-size: .28rem; }
  .industory-data .data-table tbody .small { font-size: .22rem; }
  .industory-data .block.sp-only .ttl { color: #E5E5E5; background: #191919; font-size: .36rem; border-bottom: 1px solid #E5E5E5; text-align: center; padding: .2rem; }
  .industory-data .block.sp-only .t2 { background: #282828; font-size: .26rem; color: #E5E5E5; text-align: center; padding: .2rem; line-height: 2; }
  .industory-data .block.sp-only .t2 .num { font-size: .72rem; font-weight: 500; display: inline-block; margin-left: .04rem; margin-right: .04rem; }
  .industory-data .block.sp-only .t2 .num.s { font-size: .6rem; }
  .industory-data .block.sp-only .body { padding: .4rem .6rem; background: #fff; color: #282828; text-align: left; font-size: .24rem; line-height: 2; }
  .industory-data .block.sp-only .body .list { display: flex; justify-content: space-between; }
  .industory-data .block.sp-only .body .col { display: flex; flex-direction: column; }
  .industory-data .block.sp-only .body div { text-align: left; line-height: 2; }
  .industory-data .block.sp-only .body .t { font-size: .32rem; margin-bottom: .1rem; }
  .industory-data .note { margin: .3rem .3rem 0 0; color: #282828; font-size: .2rem; letter-spacing: .02em; text-align: right; } }

/*==============================================================================
cta
============================================================================= */
@media screen and (min-width: 769px) { .cta .cta-bg { padding: 100px 0 80px; background: url(../../images/jp/common/cta_bg01_pc.jpg) no-repeat center/cover; }
  .cta .cta-ttl { font-size: 24px; letter-spacing: .06em; line-height: 1.68; text-align: center; }
  .cta .cta-block { display: flex; flex-wrap: wrap; justify-content: center; margin: 71px 0 0; }
  .cta .cta-block .btn { display: flex; justify-content: center; align-self: center; background: #fff; width: 505px; height: 120px; position: relative; border-radius: 10px; color: #282828; font-size: 24px; letter-spacing: .06em; line-height: 1; }
  .cta .cta-block .btn .txt { display: flex; align-self: center; text-align: center; }
  .cta .cta-block .btn.btn01 .icon { width: 120px; position: absolute; top: -46px; left: -19px; }
  .cta .cta-block .btn.btn02 { margin: 0 0 0 30px; background-image: linear-gradient(-50deg, #902e2b 0%, #b02c3c 64%, #be2b4b 100%); }
  .cta .cta-block .btn.btn03 { margin: 40px 0 0; font-size: 20px; line-height: 1.65; }
  .cta01 .cta-bg { padding: 80px 0 75px; background: url(../../images/jp/common/cta_bg02.jpg) no-repeat center/cover; }
  .cta01 .cta-block { margin: 50px 0 0; }
  .cta01 .cta-block .note { margin: 45px 0 0; font-size: 12px; letter-spacing: .02em; } }

@media screen and (max-width: 768px) { .cta .cta-bg { padding: 1rem 0 1.4rem; background: url(../../images/jp/common/cta_bg01_sp.jpg) no-repeat center/cover; }
  .cta .cta-ttl { font-size: .3rem; letter-spacing: .06em; line-height: 1.7; text-align: center; }
  .cta .cta-block { margin: .71rem 0 0; }
  .cta .cta-block .btn { display: flex; justify-content: center; align-self: center; background: #fff; width: 6rem; height: 1.4rem; margin: auto; position: relative; border-radius: .1rem; color: #282828; font-size: .32rem; letter-spacing: .06em; line-height: 1; }
  .cta .cta-block .btn .txt { display: flex; align-self: center; text-align: center; }
  .cta .cta-block .btn.btn01 .icon { width: 1.2rem; position: absolute; top: -.45rem; left: -.28rem; }
  .cta .cta-block .btn.btn02 { margin: .4rem auto 0; background-image: linear-gradient(-50deg, #902e2b 0%, #b02c3c 64%, #be2b4b 100%); }
  .cta .cta-block .btn.btn03 { margin: .4rem auto 0; font-size: .28rem; line-height: 1.65; }
  .cta01 .cta-bg { padding: .7rem 0 .8rem; background: url(../../images/jp/common/cta_bg02_sp.jpg) no-repeat center/cover; }
  .cta01 .cta-block .note { width: 6rem; margin: .4rem auto 0; font-size: .16rem; line-height: 1.66; letter-spacing: .02em; } }
