@media screen {
  /* Safari Bug */
  body                              { font-feature-settings:                                      "pkna"; }
  body                              { word-wrap:                                              break-word; }
  body,
  nav,
  main,
  footer,
  picture,
  .ih,
  .in,
  .il,
  .la > a,
  .fn,
  .fs,
  .fl,
  .fl > dt,
  .ai-da                            { display:                                                      flex; }
  .is .tv                           { display:                                              inline-block; }
  .grammar                          { display:                                                      none; }
  body,
  main,
  footer,
  .ih,
  .in                               { flex-direction:                                             column; }
  body,
  main,
  nav,
  footer,
  .ih,
  .in,
  .la > a                           { align-items:                                                center; }
  .la > a                           { justify-content:                                     space-between; }
  .in                               { position:                                                 relative; }
  img                               { object-fit:                                                  cover; }
  .tv                               { vertical-align:                                             middle; }
  main,
  footer,
  img,
  .ih,
  .in                               { width:                                                        100%; }
  img                               { height:                                                       100%; }
  html                              { font-size:                                                    100%; }
  p                                 { line-height:                                         calc(36 / 18); }
  .is h1,
  .la h3                            { line-height:                                         calc(24 / 18); }
  h3 em,
  h3 b                              { line-height:                                         calc(18 / 18); }
  body                              { letter-spacing:                                   calc( -1em / 72); }
  a,
  .wn.ai-va                         { opacity:                                                       1.0; }
  a:hover                           { opacity:                                                       0.4; }
  body                              { color:                                                     #424242; }
  .in h2                            { color:                                                     #EE7623; }
  .la .bc,
  .la .gc,
  .la .lc                           { color:                                                     #FFFFFF; }
  .in                               { background-color:                                          #F2F1FB; }
  .la .bc                           { background-color:                                          #E1557B; }
  .la .gc                           { background-color:                                          #8179D3; }
  .la .lc                           { background-color:                                          #7aa50a; }
  .la .index                        { background-color:                                          #D9D9D9; }
  .in                               { background-color:                                          #EAE8EC; }
  nav                               { background-color:                                          #FFFFFF; }
  body                              { font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif; }
  em                                { text-decoration:                                         underline; }
  body                              { scroll-behavior:                                            smooth; }
  .bc,
  .gc,
  .lc                               { cursor:                                                     pointer; }
  [role="button"]                   { position: relative; color: #E1557B; 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; }
  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); }
  .wn                               { transition:                                        opacity 1s ease; }
}
@media screen and (min-width:1320px) {
  .bc h3 em,
  .gc h3 em,
  .lc h3 em,
  .pc                               { display:                                                     block; }
  [role="button"],
  .vh,
  .sp                               { display:                                                      none; }
  .fl > dt                          { align-items:                                              flex-end; }
  .il                               { flex-wrap:                                                    wrap; }
  .il > li:not(:last-child)         { flex-grow:                                                       0; }
  .il > li:last-child               { flex-grow:                                                       1; }
  .il > li                          { margin:                                                       30px; }
  .il                               { margin:                                                      -30px; }
  .ih,
  .in,
  .is                               { margin-top:                                                   90px; }
  .is p,
  .in ul                            { margin-top:                                                   60px; }
  .fn dt + dd,
  .fs,
  .fs + .fl                         { margin-top:                                                   30px; }
  .fl > dt                          { margin-right:                                                 auto; }
  .la h3 em                         { margin-bottom:                                                30px; }
  .fs span                          { margin-left:                                                  90px; }
  .fh .hc,
  .fl > dd + dd                     { margin-left:                                                  30px; }
  .fl > dt a + small                { margin-left:                                                  15px; }
  .la > a                           { padding:                                                      30px; }
  footer,
  .in                               { padding:                                                    90px 0; }
  .fh,
  .fs                               { padding:                                                    30px 0; }
  .fs                               { padding-top:                                                  30px; }
  .il                               { width:                                                       840px; }
  .fn,
  .fs,
  .fl                               { width:                                                      1200px; }
  .is,
  .in h2                            { width:                                                       780px; }
  .ih .lv                           { width:                                                       440px; }
  .il > li:not(:last-child)         { width:                                                       360px; }
  .fn > div                         { width:                                                       200px; }
  .is .tv                           { width:                                                       168px; }
  .gv                               { width:                                                       160px; }
  .iv                               { width:                                                        30px; }
  .iv                               { height:                                                       30px; }
  h1                                { font-size:                                                    36px; }
  .la h3 em,
  .la h3 b                          { font-size:                                                    24px; }
  .il .la h3                        { font-size:                                                    18px; }
  .if                               { font-size:                                                    12px; }
  .la > a                           { border-radius:                                                15px; }
}
@media screen and (min-width:769px) and (max-width:1319px) {
  .bc h3 em,
  .gc h3 em,
  .lc h3 em,
  .pc                               { display:                                                     block; }
  [role="button"],
  .vh,
  .sp                               { display:                                                      none; }
  .fl > dt                          { align-items:                                              flex-end; }
  .il                               { flex-wrap:                                                    wrap; }
  .il > li:not(:last-child)         { flex-grow:                                                       0; }
  .il > li:last-child               { flex-grow:                                                       1; }
  .il > li                          { margin:                                 calc(100vw *   30 /  1320); }
  .il                               { margin:                                 calc(100vw *  -30 /  1320); }
  .ih,
  .in,
  .is                               { margin-top:                             calc(100vw *   90 /  1320); }
  .is p,
  .in ul                            { margin-top:                             calc(100vw *   60 /  1320); }
  .fn dt + dd,
  .fs,
  .fs + .fl                         { margin-top:                             calc(100vw *   30 /  1320); }
  .fl > dt                          { margin-right:                                                 auto; }
  .la h3 em                         { margin-bottom:                          calc(100vw *   30 /  1320); }
  .fs span                          { margin-left:                            calc(100vw *   90 /  1320); }
  .fh .hc,
  .fl > dd + dd                     { margin-left:                            calc(100vw *   30 /  1320); }
  .fl > dt a + small                { margin-left:                            calc(100vw *   15 /  1320); }
  .la > a                           { padding:                                calc(100vw *   30 /  1320); }
  footer,
  .in                               { padding:                              calc(100vw *   90 /  1320) 0; }
  .fh,
  .fs                               { padding:                              calc(100vw *   30 /  1320) 0; }
  .fs                               { padding-top:                            calc(100vw *   30 /  1320); }
  .il                               { width:                                  calc(100vw *  840 /  1320); }
  .fn,
  .fs,
  .fl                               { width:                                  calc(100vw * 1200 /  1320); }
  .is,
  .in h2                            { width:                                  calc(100vw *  780 /  1320); }
  .ih .lv                           { width:                                  calc(100vw *  440 /  1320); }
  .il > li:not(:last-child)         { width:                                  calc(100vw *  360 /  1320); }
  .fn > div                         { width:                                  calc(100vw *  200 /  1320); }
  .is .tv                           { width:                                  calc(100vw *  168 /  1320); }
  .gv                               { width:                                  calc(100vw *  160 /  1320); }
  .iv                               { width:                                  calc(100vw *   30 /  1320); }
  .iv                               { height:                                 calc(100vw *   30 /  1320); }
  h1                                { font-size:                              calc(100vw *   36 /  1320); }
  .la h3 em,
  .la h3 b                          { font-size:                              calc(100vw *   24 /  1320); }
  .il .la h3                        { font-size:                              calc(100vw *   18 /  1320); }
  .if                               { font-size:                              calc(100vw *   12 /  1320); }
  .la > a                           { border-radius:                          calc(100vw *   15 /  1320); }
}
@media screen and (max-width:768px) {
  .bc h3 em,
  .gc h3 em,
  .lc h3 em,
  .index h3 b,
  .sp                               { display:                                                     block; }
  .ai-vi,
  .pc,
  .fn dd                            { display:                                                      none; }
  nav,
  .fn,
  .fs,
  .fl,
  .fl > dt                          { flex-direction:                                             column; }
  .il                               { flex-wrap:                                                    wrap; }
  .ai-di                            { position:                                                    fixed; }
  .ai-da                            { position:                                                 relative; }
  .wn                               { position:                                                    fixed; }
  .wn                               { z-index:                                                         1; }
  .wn                               { top:                                                             0; }
  .wn                               { right:                                                           0; }
  .wn                               { left:                                                            0; }
  .wn                               { bottom:                                                          0; }
  .wn                               { overflow-y:                                                   auto; }
  .il > li                          { margin:                                  calc(100vw *   20 /  320); }
  .il                               { margin:                                  calc(100vw *  -20 /  320); }
  .ih,
  .is,
  .in                               { margin-top:                              calc(100vw *   90 /  320); }
  .is p,
  .in ul,
  .fn,
  .fs,
  .fs + .fl                         { margin-top:                              calc(100vw *   60 /  320); }
  .fn > div + div,
  .fs > a + a,
  .fl > dt + dd                     { margin-top:                              calc(100vw *   30 /  320); }
  .fl > dt a + small,
  .fl dd                            { margin-top:                              calc(100vw *   10 /  320); }
  .la h3 em,
  .la h3 b                          { margin-bottom:                           calc(100vw *   15 /  320); }
  .in                               { padding:                               calc(100vw *   90 /  320) 0; }
  footer                            { padding:                               calc(100vw *   60 /  320) 0; }
  .fh                               { padding:                               calc(100vw *   15 /  320) 0; }
  .la > a                           { padding:                                 calc(100vw *   30 /  320); }
  .ji-nav,
  .il                               { width:                                   calc(100vw *  320 /  320); }
  .if .fl,
  .is,
  .in h2,
  .il > li,
  .fs,
  .fn,
  .fl                               { width:                                   calc(100vw *  280 /  320); }
  .la h3                            { width:                                   calc(100vw *  175 /  320); }
  .ih .lv                           { width:                                   calc(100vw *  165 /  320); }
  .gv                               { width:                                   calc(100vw *  160 /  320); }
  .tv                               { width:                                   calc(100vw *  112 /  320); }
  .fs .lv                           { width:                                   calc(100vw *  110 /  320); }
  [role="button"],
  .iv                               { width:                                   calc(100vw *   30 /  320); }
  .iv                               { height:                                  calc(100vw *   30 /  320); }
  [role="button"]                   { height:                                  calc(100vw *   15 /  320); }
  h1,
  .la h3 em,
  .la h3 b                          { font-size:                               calc(100vw *   24 /  320); }
  body,
  small,
  .la h3                            { font-size:                               calc(100vw *   15 /  320); }
  .fl,
  .fl small                         { font-size:                               calc(100vw *   12 /  320); }
  .wn                               { opacity:                                                         0; }
  .la > a                           { border-radius:                           calc(100vw *   15 /  320); }
}
