/*
ARCHITECTURE
------------------------------------------------------------------
display / display relative / pages / page relative
*/
/* IE Bug */
_:-ms-lang(x)::-ms-backdrop, *,
_:-ms-lang(x)::-ms-backdrop, html,
_:-ms-lang(x)::-ms-backdrop, body,
_:-ms-lang(x)::-ms-backdrop, p,
_:-ms-lang(x)::-ms-backdrop, dl     { line-height:                                                   2.0;  }
@media screen {
  /* Safari Bug */
  body                              { font-feature-settings:                                      "pkna"; }
  body                              { word-wrap:                                              break-word; }
  body,
  nav,
  main,
  footer,
  picture,
  figure,
  figcaption,
  .ac,
  .ih,
  .sh,
  .wh,
  .fh,
  .eh,
  .hs,
  .vs,
  .bs,
  .ns,
  .in,
  .il,
  .cl,
  .cl > li,
  .cl .la,
  .la > a,
  .js .la > a,
  .vl,
  .va > a,
  .bl,
  .bl > li,
  .ba,
  .ba > a,
  .nl > div,
  .pl a,
  .sl,
  .sl dd > a,
  .tl,
  .tl > div,
  .el > div,
  .fn,
  .fs,
  .fl,
  .fl > dt,
  .ul,
  .ea,
  .ea .hl,
  .ea .rl,
  .js,
  .on,
  .ol,
  .ol > li,
  .ol > li > a,
  .ai-da                            { display:                                                      flex; }
  .is .tv,
  .wh .tv                           { display:                                              inline-block; }
  .ai-mi,
  .grammar                          { display:                                                      none; }
  .bl,
  .ul, .sl                          { flex-wrap:                                                    wrap; }
  body,
  main,
  footer,
  figcaption,
  .ih,
  .sh,
  .fh,
  .in,
  .eh,
  .bs,
  .ba > a,
  .tl,
  .fn > div,
  .ea,
  .ea .rl,
  .js                               { flex-direction:                                             column; }
  .pl a, .sl                        { align-items:                                            flex-start; }
  body,
  main,
  nav,
  footer,
  .ac,
  .ih,
  .sh,
  .fh,
  .wh,
  .in,
  .hs,
  .bs,
  .ba > a,
  .la > a,
  .sl dd > a,
  .wf,
  .js,
  .on,
  .ol > li > a                      { align-items:                                                center; }
  .on                               { justify-content:                                            center; }
  .ac,
  .wh .hs,
  .la > a,
  .sl dd > a,
  .pl a,
  .ol > li > a                      { justify-content:                                     space-between; }
  .sh,
  .in                               { position:                                                 relative; }
  .on                               { position:                                                    fixed; }
  .ai-da                            { overflow:                                                     auto; }
  .ai-di                            { overflow:                                                   hidden; }
  .on                               { overflow-y:                                                   auto; }
  img                               { object-fit:                                                  cover; }
  .tv                               { vertical-align:                                             middle; }
  .ai-di                            { z-index:                                                        -1; }
  .on                               { top:                                                             0; }
  .on                               { right:                                                           0; }
  .on                               { bottom:                                                          0; }
  .on                               { left:                                                            0; }
  .pl > li                          { margin-top:                                        calc(18em / 18); }
  .pl .iv                           { margin-top:                                        calc( 9em / 18); }
  .ac .iv,
  .ea figure .ur,
  .ea .ur figcaption p:first-of-type,
  .ea .sl h3,
  .ea .sl .iv,
  .ea .kl h3,
  .ea .ul .ur,
  .ea .ul .cv,
  .ea .el p,
  .ea .el .cv,
  .ea .el .ur,
  .ea .ur h3,
  .ea .ur .cv,
  .ea .la .iv,
  .js + .wf                         { margin-top:                                                      0; }
  .lod                              { padding-left:                                      calc(24em / 18); }
  main,
  footer,
  img,
  .ih,
  .fh,
  .in,
  .bs,
  .js                               { width:                                                        100%; }
  img                               { height:                                                       100%; }
  body,
  main,
  .kl,
  .yl,
  .wf,
  .fn,
  .fs,
  .ea                               { min-height:                                                     0%; }
  *,
  html,
  body                              { font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; }
  html                              { font-size:                                                    100%; }
  .js .js-h4                        { font-size:                                                    0.83em; } /* 基本的なブラウザのH5の標準フォントサイズ */
  :not(.il) .la .la-h5              { font-size:                                                    0.83em; } /* 基本的なブラウザのH5の標準フォントサイズ */
  .va > a b,
  .ba h4,
  .tac                              { text-align:                                                 center; }
  .el dt,
  .fn,
  .ea .ur dt,
  .bos dt,
  .bod dt                           { font-weight:                                                   600; }
  .wc-font-normal                   { font-weight:                                                   normal; }
  .wc-font-normal strong            { font-weight:                                                   600; }
  p,
  .ea,
  .ea p                             { line-height:                                         calc(36 / 18); }
  .ac strong,
  .cl .la h3                        { line-height:                                         calc(27 / 18); }
  .is h1,
  .la h3,
  .os h4,
  .os p                             { line-height:                                         calc(24 / 18); }
  h3 b                              { line-height:                                         calc(18 / 18); }
  body                              { letter-spacing:                                   calc( -1em / 72); }
  a,
  .wn.ai-va,
  .on.ai-ma                         { opacity:                                                       1.0; }
  a:hover                           { opacity:                                                       0.4; }
  .on                               { opacity:                                                         0; }
  body,
  .ea h2.tcd                        { color:                                                     #424242; }
  .eh .kc                           { color:                                                     #7B7B7B; }
  .on h4                            { color:                                                     #EE7623; }
  .sh .hc h1,
  .hc-remark,
  .tl dt,
  .el dl dt,
  .ea h2,
  .ea .kl h3,
  .ea .ul dt,
  .current,
  .rt,
  .bos dt,
  .bod dt                           { color:                                                     #bb5811; }
  .wc,
  .ea .wc,
  .la .bc,
  .la .gc,
  .la .lc,
  .la .st,
  .bf,
  .ol > li .yes                     { color:                                                     #FFFFFF; }
  .ol > li .yes                     { background-color:                                          #EE7623; }
  .wc,
  .la .bc,
  .bf                               { background-color:                                          #E1557B; }
  .la .gc                           { background-color:                                          #8179D3; }
  .la .lc                           { background-color:                                          #7aa50a; }
  .la .st                           { background-color:                                          #bb5811; }
  .la .index,
  .ol .no                           { background-color:                                          #D9D9D9; }
  .in                               { background-color:                                          #EAE8EC; }
  .js,
  .fh,
  .bs,
  .ea .ur                           { background-color:                                          #F5F4F6; }
  nav,
  .ba > a,
  .js .la > a,
  .ol > li                          { background-color:                                          #FFFFFF; }
  .on                               { background-color:                            rgba(255,255,255,0.9); }
  .ol > li > a,
  #ji-mgo,
  #ji-mpo,
  #ji-mco,
  #ji-mho                           { cursor:                                                    pointer; }
  .lod                              { list-style-type:                                              disc; }
  em,
  .rt                               { text-decoration:                                         underline; }
  .wf.legal                         { border-top:                                                   none; }
  .vs,
  .wn,
  .vl > li + li,
  .cl .la > a,
  .nl,
  .nl > div + div,
  .ba > a,
  .sl > div + div,
  .sl dd > a,
  .tl,
  .tl > div,
  .js .la > a,
  .kl,
  .kl li + li,
  .ul,
  .el dl,
  .ya .el,
  .wf,
  .wf .fs,
  .wf .fl,
  .ea .la > a,
  .bos                              { border-style:                                                solid; }
  .bod                              { border-style:                                               dashed; }
  .vs,
  .kl,
  .kl li + li,
  .ul,
  .el dl,
  .wf,
  .bos,
  .bod                              { border-color:                                              #f9c8a4; }
  .cl .la > a,
  .sl dd > a,
  .wn,
  .vl > li + li,
  .tl,
  .tl > div                         { border-color:                                              #D9D9D9; }
  .nl,
  .nl > div + div,
  .ba > a,
  .sl > div + div,
  .js .la > a,
  .wf .fs,
  .wf .fl,
  .ea .la > a                       { border-color:                                              #E5E5E5; }
  .ea .kl li                        { background-image:                     url(/images/iv.lc.check.png); }
  .ea .kl li                        { background-repeat:                                       no-repeat; }
  body                              { scroll-behavior:                                            smooth; }
  [role="button"]                   { position: relative; color: #7aa50a; background: transparent; font-size: 0; }
  [role="button"]::before,
  [role="button"]::after            { display: block; content: ''; height: 1px; position: absolute; top: 50%; left: 50%; width: 100%; background: currentColor; }
  .ai-hi                            { border-top: 1px solid; border-bottom: 1px solid; }
  .ot-sdk-show-settings {
    border: none !important;
    padding: 0 !important;
    line-height: normal !important;
    background: transparent !important;
    cursor: pointer !important;
    color: #424242 !important;
    font-size: 12px !important;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  }

  .ot-sdk-show-settings:hover {
    opacity: 0.4 !important;
  }
  .hc h1 small sup                  { font-size:                                                    75%; }
}
@media screen and (min-width:1320px) {
  .bc h3 b,
  .gc h3 b,
  .lc h3 b,
  .st h3 b,
  .pc                               { display:                                                     block; }
  [role="button"],
  .vh,
  .sp                               { display:                                                      none; }
  .sl > div                         { flex-direction:                                        row-reverse; }
  .va > a                           { flex-direction:                                             column; }
  .va > a                           { align-items:                                                center; }
  .fl > dt                          { align-items:                                              flex-end; }
  .wh,
  .sl,
  .tl > div,
  .hl,
  .el > div,
  .ul,
  .ur figure                        { justify-content:                                     space-between; }
  .il,
  .cl,
  .el > div                         { flex-wrap:                                                    wrap; }
  .il > li:not(:last-child)         { flex-grow:                                                       0; }
  .il > li:last-child               { flex-grow:                                                       1; }
  .il > li,
  .cl > li,
  .bl > li,
  .ol > li                          { margin:                                                       30px; }
  .il,
  .cl,
  .bl,
  .ol                               { margin:                                                      -30px; }
  .ih,
  .in,
  .is,
  .ns,
  .bs,
  .cs,
  .sh .hc,
  .tl,
  .wf,
  .ea h2,
  .ea .kl,
  .js                               { margin-top:                                                   90px; }
  .is p,
  .in ul,
  .fn,
  .ea,
  .ea .sl,
  .sl dd a,
  .sl > div,
  .ul dd,
  .el,
  .el > div + div,
  .fl,
  .ea h2 + ul,
  .ea h3,
  .ea p,
  .ea .la,
  .ea .ur,
  .ea .ul,
  .ea small,
  .os h4,
  .fc                               { margin-top:                                                   60px; }
  .sl dd p, .sl dd a {margin-top:30px;}
  figure cite,
  .ba h4,
  .hc p,
  .tl > div + div,
  .el dd,
  .el dl,
  .fn dt + dd,
  .fs,
  .fs + .fl,
  .ea .cv,
  .ea .full,
  .ea .bnr,
  .ea .cv + .tac,
  .ea .bv,
  .ea .ur dd,
  .ea .ur figcaption p,
  .ea .ur p + h3,
  .ea .kl p,
  .js .la,
  .os p,
  .ol,
  .bos,
  .bod                              { margin-top:                                                   30px; }
  .hc-remark                        { margin-top:                                                   15px; }
  .hc-remark                        { padding-bottom:                                               15px; }
  .va b,
  .fn dd + dd                       { margin-top:                                                   10px; }
  .fl > dt                          { margin-right:                                                 auto; }
  .la h3 b                          { margin-bottom:                                                30px; }
  .fs span                          { margin-left:                                                  90px; }
  .cl .la .iv,
  .fh .hc,
  .fl > dd + dd                     { margin-left:                                                  30px; }
  .fl > dt a + small                { margin-left:                                                  15px; }
  .ea .ur,
  .ea .ul,
  .kl div,
  .bff                              { padding:                                                      60px; }
  .wc,
  .la > a,
  .ba > a,
  .sl dd > a,
  .el dl,
  .ol > li > a,
  .bos,
  .bod                              { padding:                                                      30px; }
  footer,
  .in,
  .bs                               { padding:                                                    90px 0; }
  .js                               { padding:                                               60px 0 90px; }
  .fh,
  .nl > div,
  .tl > div,
  .fs                               { padding:                                                    30px 0; }
  .fs                               { padding-top:                                                  30px; }
  .ea .kl li                        { padding-left:                                                 60px; }
  .bl,
  .cl                               { width:                                                      1260px; }
  .wh,
  .sh,
  .fh .hs,
  .kv,
  .wf h5,
  .fn,
  .fs,
  .fl                               { width:                                                      1200px; }
  .nl,
  .ol                               { width:                                                       840px; }
  .il,
  .ea .cl                           { width:                                                       840px; }
  .is,
  .in h2,
  .ea,
  .ea .cv,
  .ea .cv.half,
  .ea .full,
  .js h4,
  .js .js-h4,
  .js .la,
  .js .la > a,
  .os                               { width:                                                       780px; }
  .pl b                             { width:                                                       750px; }
  .ac strong                        { width:                                                       690px; }
  .ul dt                            { width:                                                       660px; }
  .kl .cv                           { width:                                                       600px; }
  .hl dd                            { width:                                                       560px; }
  .tl dd,
  .ur figcaption,
  .ea .ur .bv                       { width:                                                       480px; }
  .ih .lv                           { width:                                                       440px; }
  .il > li:not(:last-child),
  .cl > li,
  .cl .la,
  .cl .la > a,
  .bl > li,
  .ba > a,
  .sl dt,
  .sl dd > a,
  .sl dd,
  .sv,
  .el dd,
  .el .cv,
  .ns h3,
  .ol > li,
  .ol > li > a                      { width:                                                       360px; }
  .ul dd,
  .el dl dt,
  .el dl dd                         { width:                                                       300px; }
  .sl h3,
  .tl dt,
  .ul .cv,
  .cl .la h3                        { width:                                                       240px; }
  .fn > div                         { width:                                                       200px; }
  .hl dt,
  .hl .cv                           { width:                                                       180px; }
  .va > a                           { width:                                                       170px; }
  .is .tv                           { width:                                                       168px; }
  .gv,
  .va > a b                         { width:                                                       160px; }
  .ur .cv                           { width:                                                       150px; }
  .nl dt,
  .ur .cv                           { width:                                                       120px; }
  .wf .lv                           { width:                                                       110px; }
  .wh .tv                           { width:                                                        84px; }
  .hs .iv,
  .ba .iv,
  .ac .iv                           { width:                                                        60px; }
  .iv                               { width:                                                        30px; }
  .pl .iv                           { width:                                                        18px; }
  .el > div > dt                    { width:                                                        100%; }
  .cl .la h3                        { width:                                           calc(100% - 60px); }
/*  .sv                               { height:                                                      540px; }*/
  .kv                               { height:                                                      480px; }
  .ea .cv                           { height:                                                      390px; }
  .ea .full                         { height:                                                      auto; }
  .el .cv                           { height:                                                      360px; }
  .kl .cv                           { height:                                                      300px; }
  .ul .cv                           { height:                                                      240px; }
  .cl .la > a,
  .hl .cv,
  .ea .cv.half                      { height:                                                      180px; }
  .wh,
  .ur .cv,
  .ea .ur .bv                       { height:                                                      120px; }
  .hs .iv,
  .ba .iv,
  .ac .iv                           { height:                                                       60px; }
  .iv                               { height:                                                       30px; }
  .pl .iv                           { height:                                                       18px; }
  h1                                { font-size:                                                    36px; }
  .ba h4,
  :not(.il) .la h3,
  :not(.il) .la h4,
  :not(.il) .la h5,
  :not(.il) .la .la-h5,
  .cl .la h3,
  .ea .sl h3,
  .js h5,
  .on h3                            { font-size:                                                    30px; }
  h2,
  .la h3 b,
  .js h4,
  .js .js-h4,
  .ea .kl h3,
  .on h4,
  .on h5                            { font-size:                                                    24px; }
  .wh .hs b,
  .il .la h3,
  .wf h5,
  .ea,
  .ea h3,
  .ea h3 small,
  .ea .ur dt                        { font-size:                                                    18px; }
  .os p,
  .va b                             { font-size:                                                    15px; }
  .if,
  .wf                               { font-size:                                                    12px; }
  .hc h1 small sup                  { font-size:                                                    60%; }
  .va b                             { line-height:                                       calc(20em / 15); }
  .la > a,
  .ba > a,
  .sl dd > a,
  .ea .ur,
  .ol > li > a                      { border-radius:                                                15px; }
  .ba > a,
  .cl .la > a,
  .sl dd > a,
  .kl,
  .ul,
  .el dl,
  .js .la > a,
  .ea .la > a,
  .bos,
  .bod                              { border-width:                                                  1px; }
  .nl,
  .nl > div + div,
  .tl,
  .tl > div + div,
  .kl li + li,
  .wf,
  .wf .fs                           { border-top-width:                                              1px; }
  .wn                               { border-right-width:                                            1px; }
  .nl,
  .tl,
  .wf .fs                           { border-bottom-width:                                           1px; }
  .wn,
  .vl > li + li                     { border-left-width:                                             1px; }
  .ea .kl li                        { background-position:                                     60px 72px; }
  .ea .kl li                        { background-size:                                         24px 24px; }
  .ot-sdk-show-settings {
    border: none !important;
    padding: 0 !important;
    line-height: normal !important;
    background: transparent !important;
    cursor: pointer !important;
    color: #424242 !important;
    font-size: 12px !important;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  }

  .ot-sdk-show-settings:hover {
    opacity: 0.4 !important;
  }
}
@media screen and (min-width:769px) and (max-width:1319px) {
  .bc h3 b,
  .gc h3 b,
  .lc h3 b,
  .st h3 b,
  .pc                               { display:                                                     block; }
  [role="button"],
  .vh,
  .sp                               { display:                                                      none; }
  .sl > div                         { flex-direction:                                        row-reverse; }
  .va > a                           { flex-direction:                                             column; }
  .va > a                           { align-items:                                                center; }
  .fl > dt                          { align-items:                                              flex-end; }
  .wh,
  .sl,
  .tl > div,
  .hl,
  .el > div,
  .ul,
  .ur figure                        { justify-content:                                     space-between; }
  .il,
  .cl,
  .el > div                         { flex-wrap:                                                    wrap; }
  .il > li:not(:last-child)         { flex-grow:                                                       0; }
  .il > li:last-child               { flex-grow:                                                       1; }
  .il > li,
  .cl > li,
  .bl > li,
  .ol > li                          { margin:                                  calc(100vw *   30 / 1320); }
  .il,
  .cl,
  .bl,
  .ol                               { margin:                                  calc(100vw *  -30 / 1320); }
  .ih,
  .in,
  .is,
  .ns,
  .bs,
  .cs,
  .sh .hc,
  .tl,
  .wf,
  .ea h2,
  .ea .kl,
  .js                               { margin-top:                              calc(100vw *   90 / 1320); }
  .is p,
  .in ul,
  .fn,
  .ea,
  .ea .sl,
  
  .sl > div,
  .ul dd,
  .el,
  .el > div + div,
  .fl,
  .ea h2 + ul,
  .ea h3,
  .ea p,
  .ea .la,
  .ea .ur,
  .ea .ul,
  .ea small,
  .os h4,
  .fc                               { margin-top:                              calc(100vw *   60 / 1320); }
  .sl dd > p, .sl dd > a            { margin-top:                              calc(100vw *   30 / 1320); }
  figure cite,
  .ba h4,
  .hc p,
  .tl > div + div,
  .el dd,
  .el dl,
  .fn dt + dd,
  .fs,
  .fs + .fl,
  .ea .cv,
  .ea .full,
  .ea .bnr,
  .ea .cv + .tac,
  .ea .bv,
  .ea .ur dd,
  .ea .ur figcaption p,
  .ea .ur p + h3,
  .ea .kl p,
  .js .la,
  .os p,
  .ol,
  .bos,
  .bod                              { margin-top:                              calc(100vw *   30 / 1320); }
  .hc-remark                        { margin-top:                              calc(100vw *   15 / 1320); }
  .hc-remark                        { padding-bottom:                          calc(100vw *   15 / 1320); }
  .va b,
  .fn dd + dd                       { margin-top:                              calc(100vw *   10 / 1320); }
  .fl > dt                          { margin-right:                                                 auto; }
  .la h3 b                          { margin-bottom:                           calc(100vw *   30 / 1320); }
  .fs span                          { margin-left:                             calc(100vw *   90 / 1320); }
  .cl .la .iv,
  .fh .hc,
  .fl > dd + dd                     { margin-left:                             calc(100vw *   30 / 1320); }
  .fl > dt a + small                { margin-left:                             calc(100vw *   15 / 1320); }
  .ea .ur,
  .ea .ul,
  .kl div,
  .bff                              { padding:                                 calc(100vw *   60 / 1320); }
  .wc,
  .la > a,
  .ba > a,
  .sl dd > a,
  .el dl,
  .ol > li > a,
  .bos,
  .bod                              { padding:                                 calc(100vw *   30 / 1320); }
  footer,
  .in,
  .bs                               { padding:                               calc(100vw *   90 / 1320) 0; }
  .js                               { padding:     calc(100vw *   60 / 1320) 0 calc(100vw *   90 / 1320); }
  .fh,
  .nl > div,
  .tl > div,
  .fs                               { padding:                               calc(100vw *   30 / 1320) 0; }
  .fs                               { padding-top:                             calc(100vw *   30 / 1320); }
  .ea .kl li                        { padding-left:                            calc(100vw *   30 / 1320); }
  .bl,
  .cl                               { width:                                   calc(100vw * 1260 / 1320); }
  .wh,
  .sh,
  .fh .hs,
  .kv,
  .wf h5,
  .fn,
  .fs,
  .fl                               { width:                                   calc(100vw * 1200 / 1320); }
  .il,
  .ea .cl,
  .nl,
  .ol                               { width:                                   calc(100vw *  840 / 1320); }
  .is,
  .in h2,
  .ea,
  .ea .cv,
  .ea .cv.half,
  .ea .full,
  .js h4,
  .js .js-h4,
  .js .la,
  .js .la > a,
  .os                               { width:                                   calc(100vw *  780 / 1320); }
  .pl b                             { width:                                   calc(100vw *  750 / 1320); }
  .ac strong                        { width:                                   calc(100vw *  690 / 1320); }
  .ul dt                            { width:                                   calc(100vw *  660 / 1320); }
  .kl .cv                           { width:                                   calc(100vw *  600 / 1320); }
  .hl dd                            { width:                                   calc(100vw *  560 / 1320); }
  .tl dd,
  .ur figcaption,
  .ea .ur .bv                       { width:                                   calc(100vw *  480 / 1320); }
  .ih .lv                           { width:                                   calc(100vw *  440 / 1320); }
  .il > li:not(:last-child),
  .cl > li,
  .cl .la,
  .cl .la > a,
  .bl > li,
  .ba > a,
  .sl dt,
  .sl dd > a,
  .sl dd,
  .sv,
  .el dd,
  .el .cv,
  .ns h3,
  .ol > li,
  .ol > li > a                      { width:                                   calc(100vw *  360 / 1320); }
  .ul dd,
  .el dl dt,
  .el dl dd                         { width:                                   calc(100vw *  300 / 1320); }
  .sl h3,
  .tl dt,
  .ul .cv,
  .cl .la h3                        { width:                                   calc(100vw *  240 / 1320); }
  .sl h3,
  .fn > div                         { width:                                   calc(100vw *  200 / 1320); }
  .hl dt,
  .hl .cv                           { width:                                   calc(100vw *  180 / 1320); }
  .va > a                           { width:                                   calc(100vw *  170 / 1320); }
  .is .tv                           { width:                                   calc(100vw *  168 / 1320); }
  .gv,
  .va > a b                         { width:                                   calc(100vw *  160 / 1320); }
  .ur .cv                           { width:                                   calc(100vw *  150 / 1320); }
  .nl dt,
  .ur .cv                           { width:                                   calc(100vw *  120 / 1320); }
  .wf .lv                           { width:                                   calc(100vw *  110 / 1320); }
  .wh .tv                           { width:                                   calc(100vw *   84 / 1320); }
  .hs .iv,
  .ba .iv,
  .ac .iv                           { width:                                   calc(100vw *   60 / 1320); }
  .iv                               { width:                                   calc(100vw *   30 / 1320); }
  .pl .iv                           { width:                                   calc(100vw *   18 / 1320); }
  .el > div > dt                    { width:                                                        100%; }
  .cl .la h3                        { width:                      calc(100% - calc(100vw *   60 / 1320)); }
  .sv                               { height:                                  calc(100vw *  120 / 1320); }
  .kv                               { height:                                  calc(100vw *  480 / 1320); }
  .ea .cv                           { height:                                  calc(100vw *  390 / 1320); }
  .el .cv                           { height:                                  calc(100vw *  360 / 1320); }
  .kl .cv                           { height:                                  calc(100vw *  300 / 1320); }
  .ul .cv                           { height:                                  calc(100vw *  240 / 1320); }
  .cl .la > a,
  .hl .cv,
  .ea .cv.half                      { height:                                  calc(100vw *  180 / 1320); }
  .wh,
  .ur .cv,
  .ea .ur .bv                       { height:                                  calc(100vw *  120 / 1320); }
  .hs .iv,
  .ba .iv,
  .ac .iv                           { height:                                  calc(100vw *   60 / 1320); }
  .iv                               { height:                                  calc(100vw *   30 / 1320); }
  .pl .iv                           { height:                                  calc(100vw *   18 / 1320); }
  h1                                { font-size:                               calc(100vw *   36 / 1320); }
  .ba h4,
  :not(.il) .la h3,
  :not(.il) .la h4,
  :not(.il) .la h5,
  :not(.il) .la .la-h5,
  .cl .la h3,
  .ea .sl h3,
  .js h5,
  .on h3                            { font-size:                               calc(100vw *   30 / 1320); }
  h2,
  .la h3 b,
  .js h4,
  .js .js-h4,
  .ea .kl h3,
  .on h4,
  .on h5                            { font-size:                               calc(100vw *   24 / 1320); }
  .wh .hs b,
  .il .la h3,
  .wf h5,
  .ea,
  .ea h3,
  .ea h3 small,
  .ea .ur dt                        { font-size:                               calc(100vw *   18 / 1320); }
  .va b                             { font-size:                               calc(100vw *   15 / 1320); }
  .if,
  .wf                               { font-size:                               calc(100vw *   12 / 1320); }
  .hc h1 small sup                  { font-size:                                                    60%; }
  .va b                             { line-height:                                       calc(20em / 15); }
  .la > a,
  .ba > a,
  .sl dd > a,
  .ea .ur,
  .ol > li > a                      { border-radius:                           calc(100vw *   15 / 1320); }
  .ba > a,
  .cl .la > a,
  .sl dd > a,
  .kl,
  .ul,
  .el dl,
  .js .la > a,
  .ea .la > a,
  .bos,
  .bod                              { border-width:                            calc(100vw *    1 / 1320); }
  .nl,
  .nl > div + div,
  .tl,
  .tl > div + div,
  .kl li + li,
  .wf,
  .wf .fs                           { border-top-width:                        calc(100vw *    1 / 1320); }
  .wn                               { border-right-width:                      calc(100vw *    1 / 1320); }
  .nl,
  .tl,
  .wf .fs                           { border-bottom-width:                     calc(100vw *    1 / 1320); }
  .wn,
  .vl > li + li                     { border-left-width:                       calc(100vw *    1 / 1320); }
  .ea .kl li                        { background-position: calc(100vw * 60 / 1320) calc(100vw * 72 / 1320); }
  .ea .kl li                        { background-size:     calc(100vw * 24 / 1320) calc(100vw * 24 / 1320); }
  .ot-sdk-show-settings {
    border: none !important;
    padding: 0 !important;
    line-height: normal !important;
    background: transparent !important;
    cursor: pointer !important;
    color: #424242 !important;
    font-size: calc(100vw * 12 / 1320) !important;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  }

  .ot-sdk-show-settings:hover {
    opacity: 0.4 !important;
  }
}
@media screen and (min-width:451px) and (max-width:768px) {
  .ol                               { flex-direction:                                             column; }
  .os .ol,
  .os .ol > li + li,
  .os h4,
  .os p                             { margin-top:                              calc(100vw *   10 /  320); }
  .os .ol p                         { margin-top:                              calc(100vw *   10 /  320); }
  .cn .la h3 b                      { margin-bottom:                           calc(100vw *    5 /  320); }
  .on .yes,
  .on .no,
  .ol > li > a                      { padding:                                 calc(100vw *   10 /  320); }
  .os,
  .ol > li > a                      { width:                                   calc(100vw *  280 /  320); }
  .ol .iv                           { width:                                   calc(100vw *   15 /  320); }
  .ol .iv                           { height:                                  calc(100vw *   15 /  320); }
  .os h3                            { font-size:                               calc(100vw *   12 /  320); }
  .os h3,
  .os p,
  .os h4,
  .on .yes,
  .on .no                           { font-size:                               calc(100vw *   10   /  320); }
  .ol > li > a                      { border-radius:                           calc(100vw *   15 /  320); }
}
@media screen and (max-width:450px) {
  .ol                               { flex-direction:                                             column; }
  .os p                             { margin-top:                              calc(100vw *   60 /  320); }
  .os .ol                           { margin-top:                              calc(100vw *   30 /  320); }
  .os .ol > li + li,
  .os h4                            { margin-top:                              calc(100vw *   15 /  320); }
  .os .ol p                         { margin-top:                              calc(100vw *   15 /  320); }
  .on .yes,
  .on .no,
  .cn .la h3 b                      { margin-bottom:                           calc(100vw *   10 /  320); }
  .ol > li > a                      { padding:                                 calc(100vw *   15 /  320); }
  .os,
  .ol > li > a                      { width:                                   calc(100vw *  280 /  320); }
  .ol .iv                           { width:                                   calc(100vw *   30 /  320); }
  .ol .iv                           { height:                                  calc(100vw *   30 /  320); }
  .os h3                            { font-size:                               calc(100vw *   15 /  320); }
  .os h4                            { font-size:                               calc(100vw *   12 /  320); }
  .os p,
  .on .yes,
  .on .no                           { font-size:                               calc(100vw *   10 /  320); }
  .ol > li > a                      { border-radius:                           calc(100vw *   15 /  320); }
}
@media screen and (max-width:768px) {
  .la h3 b,
  .sp                               { display:                                                     block; }
  .pc,
  .fn dd,
  .ai-vi                            { display:                                                      none; }
  nav,
  figure,
  .fn,
  .ns,
  .vl,
  .nl > div,
  .sl,
  .tl,
  .tl > div,
  .el,
  .el > div,
  .fs,
  .fl,
  .fl > dt                          { flex-direction:                                             column; }
  .sl > div                         { flex-direction:                                     column-reverse; }
  nav,
  .ac,
  .wf .hs,
  .vs                               { align-items:                                                center; }
  .wh                               { justify-content:                                            center; }
  .wf .hs,
  .vs,
  .hl                               { justify-content:                                     space-between; }
  .il,
  .cl                               { flex-wrap:                                                    wrap; }
  .ai-da                            { position:                                                 relative; }
  .wn,
  .ai-di                            { position:                                                    fixed; }
  .wn                               { z-index:                                                         3; }
  .wn                               { top:                                                             0; }
  .wn                               { right:                                                           0; }
  .wn                               { left:                                                            0; }
  .wn                               { bottom:                                                          0; }
  .wn                               { overflow-y:                                                   auto; }
  .il > li                          { margin:                                  calc(100vw *   20 /  320); }
  .bl > li,
  .cl > li                          { margin:                                  calc(100vw *   10 /  320); }
  .il                               { margin:                                  calc(100vw *  -20 /  320); }
  .bl,
  .cl                               { margin:                                  calc(100vw *  -10 /  320); }
  .vl > li:last-child,
  .ih,
  .is,
  .in,
  .wf,
  .ea h2,
  .ea .eh + p,
  .js                               { margin-top:                              calc(100vw *   90 /  320); }
  .bs,
  .ns h3,
  .vl,
  .is p,
  .in ul,
  .sh .hc,
  .cs,
  .sl > div,
  .tl,
  .ul,
  .fn,
  .fs,
  .fs + .fl,
  .ea h2 + ul,
  .ea h3,
  .ea .ac,
  .ea .wc,
  .ea .ur,
  .ea small,
  .ea .kl,
  .ea .fc                           { margin-top:                              calc(100vw *   60 /  320); }
  .hc p,
  .vl > li + li,
  .nl,
  .nl > div + div,
  .sl dt, .sl dd,
  .sl dd > a,
  .fn > div + div,
  .fs > a + a,
  .fl > dt + dd,
  .ul dd,
  .hl,
  .el,
  .el > div + div,
  .el dd,
  .js .la,
  .ea,
  .ea h2 + ul,
  .ea p,
  .ea picture,
  .ea .sl,
  .ea .ur p + h3,
  .ea .ur dd,
  .ea .ur figure .cv,
  .ea .ur figcaption cite,
  .ea .la,
  .bos,
  .bod                              { margin-top:                              calc(100vw *   30 /  320); }
  .hc-remark                        { margin-top:                              calc(100vw *   15 /  320); }
  .hc-remark                        { padding-bottom:                          calc(100vw *   15 /  320); }
  .ba h4,
  .tl dd,
  .tl > div + div                   { margin-top:                              calc(100vw *   15 /  320); }
  .fl > dt a + small,
  .fl dd                            { margin-top:                              calc(100vw *   10 /  320); }
  .hl .cv                           { margin-top:                                                      0; }
  .la h3 b                          { margin-bottom:                           calc(100vw *   30 /  320); }
  .fh .hs .hc                       { margin-left:                             calc(100vw *   10 /  320); }
  .ea .ur,
  .ea .wc,
  .kl div,
  .ul                               { padding:                                 calc(100vw *   30 /  320); }
  .ba > a,
  .la > a,
  .sl dd > a,
  .bos,
  .bod                              { padding:                                 calc(100vw *   15 /  320); }
  .in                               { padding:                               calc(100vw *   90 /  320) 0; }
  .js                               { padding:     calc(100vw *   30 /  320) 0 calc(100vw *   60 /  320); }
  footer,
  .bl                               { padding:                               calc(100vw *   60 /  320) 0; }
  .nl,
  .wf .fs                           { padding:                               calc(100vw *   30 /  320) 0; }
  .fh                               { padding:                               calc(100vw *   15 /  320) 0; }
  .vs                               { padding:                               0 calc(100vw *   20 /  320); }
/*  .sl > div                   { padding-top:                             calc(100vw *   60 /  320); }*/
  .nl > div + div                   { padding-top:                             calc(100vw *   30 /  320); }
  .tl > div                         { padding-top:                             calc(100vw *   15 /  320); }
  .tl                               { padding-bottom:                          calc(100vw *   15 /  320); }
  .ea .kl li                        { padding-left:                            calc(100vw *   30 /  320); }
  .wh,
  .vs,
  .ji-nav,
  .il                               { width:                                   calc(100vw *  320 /  320); }
  .bl,
  .cl                               { width:                                   calc(100vw *  300 /  320); }
  .wf .hs,
  .if .fl,
  .is,
  .in h2,
  .vl,
  .il > li,
  .cl > li,
  .cl .la,
  .cl .la > a,
  .sl dd > a,
  .sv,
  .ul,
  .hs,
  .hc,
  .ns,
  .nl,
  .wf h5,
  .fs,
  .fn,
  .fl,
  .ea,
  .ea .cv,
  .ea .cv.half,
  .js h4,
  .js .js-h4,
  .js .la                           { width:                                   calc(100vw *  280 /  320); }
  .pl b                             { width:                                   calc(100vw *  255 /  320); }
  .kl div                           { width:                                   calc(100vw *  250 /  320); }
  .ul dt,
  .ul dd,
  .ul .cv,
  .ea .ur .cv                       { width:                                   calc(100vw *  220 /  320); }
  .ac strong,
  .kl .cv                           { width:                                   calc(100vw *  190 /  320); }
  .ih .lv                           { width:                                   calc(100vw *  165 /  320); }
  .gv                               { width:                                   calc(100vw *  160 /  320); }
  .ba,
  .ba > a,
  .hl dd                            { width:                                   calc(100vw *  130 /  320); }
  .hl dt,
  .hl .cv                           { width:                                   calc(100vw *  120 /  320); }
  .tv                               { width:                                   calc(100vw *  112 /  320); }
  .fs .lv                           { width:                                   calc(100vw *  110 /  320); }
  .hs .tv,
  .vs .tv                           { width:                                   calc(100vw *   70 /  320); }
  .ac .iv                           { width:                                   calc(100vw *   60 /  320); }
  [role="button"],
  .iv                               { width:                                   calc(100vw *   30 /  320); }
  .pl .iv                           { width:                                   calc(100vw *   15 /  320); }
  .cl .la h3                        { width:                      calc(100% - calc(100vw *   60 /  320)); }
  .sv                               { height:                                  calc(100vw *  90 /  320); }
  .ea .el .cv                       { height:                                  calc(100vw *  280 /  320); }
  .ul .cv,
  .ea .ur .cv                       { height:                                  calc(100vw *  220 /  320); }
  .ea .cv                           { height:                                  calc(100vw *  140 /  320); }
  .hl dt,
  .hl .cv                           { height:                                  calc(100vw *  120 /  320); }
  .kl .cv                           { height:                                  calc(100vw *   95 /  320); }
  .ea .cv.half                      { height:                                  calc(100vw *   70 /  320); }
  .wh,
  .vs,
  .ac .iv                           { height:                                  calc(100vw *   60 /  320); }
  .iv                               { height:                                  calc(100vw *   30 /  320); }
  .pl .iv                           { height:                                  calc(100vw *   15 /  320); }
  [role="button"]                   { height:                                  calc(100vw *   15 /  320); }
  h1,
  .la h3 b                          { font-size:                               calc(100vw *   24 /  320); }
  .fh h1,
  h2,
  .ea .kl h3,
  .wf h5                            { font-size:                               calc(100vw *   18 /  320); }
  body,
  .la h3,
  .ns h3,
  .sl dd h3,
  .os h3,
  .js .js-h4,
  .wf                               { font-size:                               calc(100vw *   15 /  320); }
  small,
  .fl,
  .fl small                         { font-size:                               calc(100vw *   12 /  320); }
  .ba span                          { font-size:                               calc(100vw *   10 /  320); }
  .wn                               { opacity:                                                         0; }
  .ba > a,
  .cl .la > a,
  .sl dd > a,
  .js .la > a,
  .kl,
  .ul,
  .ea .la > a,
  .bos,
  .bod                              { border-width:                            calc(100vw *    1 /  320); }
  .nl,
  .nl > div + div,
  .sl > div,
  .tl > div,
  .kl li + li,
  .wf,
  .wf .fs                           { border-top-width:                        calc(100vw *    1 /  320); }
  .vs,
  .nl,
  .tl,
  .wf .fs                           { border-bottom-width:                     calc(100vw *    1 /  320); }
  .la > a,
  .ba > a,
  .sl dd > a,
  .ea .ur                           { border-radius:                           calc(100vw *   15 /  320); }
  .ea .kl li                        { background-position: calc(100vw * 30 / 320) calc(100vw * 39 / 320); }
  .ea .kl li                        { background-size:     calc(100vw * 18 / 320) calc(100vw * 18 / 320); }
  .ot-sdk-show-settings {
    border: none !important;
    padding: 0 !important;
    line-height: normal !important;
    background: transparent !important;
    cursor: pointer !important;
    color: #424242 !important;
    font-size: calc(100vw * 12 / 320) !important;
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif !important;
  }

  .ot-sdk-show-settings:hover {
    opacity: 0.4 !important;
  }
}

/*
INTERFACE
------------------------------------------------------------------
interaction / transition / animation
*/
body                                { scroll-behavior:                                            smooth; }
a,
a img,
[role="button"],
[role="button"]::before,
[role="button"]::after              { transition:                                       all 0.20s linear; }
.ai-hd::before,
.ai-hi::after                       { transition:                            transform 0.25s ease-in-out; }
.ai-hi::before,
.ai-hi::after                       { will-change:                                             transform; }
.ai-hi::before,
.ai-hi::after                       { transform:                                   translate(-50%, -50%); }
#ji-vb::before,
.ai-ha::before                      { transform:                    translate(-50%, -50%) rotate( 45deg); }
#ji-vb::after,
.ai-ha::after                       { transform:                    translate(-50%, -50%) rotate(-45deg); }
.c2,
.c3,
.cc,
.wn,
.on                                 { transition:                                        opacity 1s ease; }


/* add 20220823 */
/* title */
.title-check {
    background: url(/images/iv.st.check.png) no-repeat left top;
    background-size: 1.5em 1.5em;
    padding-left: 2em;
    line-height: 1.7;
}
/* box */
.box-orange {
    background-color: #ED6D34;
    color: #fff;
    font-size: 1.17em;
    line-height: 1.5;
    padding: 1em;
}
.box-pink-bdr {
    border: 2px solid #E1557B;
    padding: 1em;
}
@media (min-width: 1024px) {
    .box-pink-bdr {
        padding: 2em;
    }
}

/* strong */
.strong-orange {
    color: #ED6D34;
    font-size: 1.17em;
}
.strong-orange2 {
    color: #f58025;
    font-weight: bold;
}
/* list */
.list-pale-orange {
    border: 10px solid #FEF1DE;
    margin: 30px 5% 0;
    padding: 1em;
}
.list-pale-orange li {
    color: #ED6D34;
    font-size: 1.17em;
    font-weight: bold;
    margin-left: 1.17em;
    text-indent: -1.17em;
}
@media (min-width: 1024px) {
    .list-pale-orange {
        padding: 1em 3em;
    }
    .list-pale-orange li {
        font-size: 1.25em;
        margin-left: 1.25em;
        text-indent: -1.25em;
    }
}
.list-orange {
    border: 2px solid #ED6D34;
    margin-top: 30px;
    padding: 1em;
}
.list-orange li {
    font-size: 1.17em;
    font-weight: bold;
    margin-left: 1.17em;
    text-indent: -1.17em;
}
.list-orange li span {
    color: #ED6D34;
}
@media (min-width: 1024px) {
    .list-orange {
        padding: 1em 3em;
    }
    .list-orange li {
        font-size: 1.25em;
        margin-left: 1.25em;
        text-indent: -1.25em;
    }
}

/*
symptoms
*/
.symptoms-list-title img,
.symptoms-list img {
    height: auto;
    max-width: 100%;
    width: auto;
}
/* title */
.symptoms-list-title {
    color: #ED6D34;
    font-size: 1.17em;
    font-weight: bold;
    line-height: 2.5em;  
    margin-bottom: 1em;
}
.symptoms-list-title strong {
    font-size: 1.17em;
}
.symptoms-list-title img {
    height: 2.5em;
    margin-right: .5em;
    position: relative;
    top: -4px;
    vertical-align: middle;
}
/* each */
.symptoms-each + .symptoms-each {
    margin-top: 1em;
}
.symptoms-each {
    align-items: flex-start;
    border: 2px solid #ED6D34;
    display: flex;
    flex-wrap: wrap;
    padding: 1em;
    justify-content: flex-start;
}
.symptoms-list-name {
    width: 50%;
}
.symptoms-each-pulse .symptoms-list-name {
    width: 70%;
}
.symptoms-list-img {
    padding-left: 1em;
    padding-top: 1em;
    width: 50%;
}
.symptoms-each-pulse .symptoms-list-img {
    width: 30%;
}
.symptoms-list-text {
    width: 100%;
}
/* name */
.symptoms-list-name {
    background: #ED6D34;
    min-height: 200px;
    padding: 3em 1em;
    position: relative;
}
.symptoms-list-name p {
    color: #fff;
    font-size: 1.17em;
    font-weight: bold;
    line-height: 1.3;
    margin-top: 0;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    text-align: center;
    width: 100%;
}

/* img */
.symptoms-list-img {
}
/* text */
.symptoms-list-text {
    padding-top: 1em;
    text-align: center;
}
.symptoms-list-text img {
    height: 2.75em;
}
.symptoms-list-text li {
    margin-left: 1em;
    margin-bottom: .5em;
    line-height: 1.7;
    text-align: left;
    text-indent: -1em;
}
.symptoms-list-text li span {
    color: #ED6D34;
}
/* remark */
.symptoms-list-remark p {
    font-size: .875em;
    line-height: 1.7;
}

.symptoms-remark {
    font-size: .75em;
}

@media (min-width: 768px) {
    .symptoms-list-name {
        min-height: 300px;
    }
}
@media (min-width: 1024px) {
    /* each */
    .symptoms-each {
        padding: 2em;
    }
    .symptoms-list-name {
        width: 25%;
    }
    .symptoms-each-pulse .symptoms-list-name {
        width: 35%;
    }
    .symptoms-list-img {
        padding-left: 2em;
        padding-right: 2em;
        width: 40%;
    }
    .symptoms-each-pulse .symptoms-list-img {
        align-self: flex-end;
        width: 25%;
    }
    .symptoms-list-text {
        align-self: flex-end;
        width: 35%;
    }
    .symptoms-each-cough .symptoms-list-text {
        align-self: center;
    }
    /* name */
    .symptoms-list-name {
        min-height: 200px;
    }
    .symptoms-list-name p {
        font-size: 1.35em;
    }
    
    /* img */
    .symptoms-list-img {
    }
    /* text */
    .symptoms-list-text {
        padding-top: 0;
    }
    /* remark */
    .symptoms-list-remark p {
        font-size: 1em;
    }
    .symptoms-remark {
        font-size: .875em;
    }
}

/* movie */
@media screen and (max-width: 768px) {
  .ea.movie-banner-wrap + .ea {
    margin-top: calc(100vw *   90 /  320);
  }
}
@media screen and (min-width: 769px) and (max-width: 1319px) {
  .ea.movie-banner-wrap + .ea {
    margin-top: calc(100vw *   90 /  1320);
  }
}

@media screen and (min-width: 1320px) {
  .ea.movie-banner-wrap + .ea {
    margin-top: 90px;
  }
}

.movie-banner-wrap .sl dd a,
.movie-banner-wrap .sl dd p:first-child {
  margin-top: 0;
}

.movie-banner a {
  display: inline-block;
  margin: 0 auto;
  max-width: 420px;
  padding: 0;
  width: 100%;
}
.movie-banner picture {
  height: auto;
  width: 100%;
}
.ea .movie-banner picture {
  margin-top: 0;
}
.movie-banner picture img {
  width: 100%;
}

/* la h5 */
.la-h5 {
  font-weight: bold;
}