@charset "UTF-8";
@media screen and (min-width: 768px),print {
  header .hh-logo { position: absolute; left: 59px; top: 37px; }
  header .h-sns-list { right: 129px; }
  .h-txt-01-top { position: absolute; left: 187px; top: 17px; }
  .btn-kyoutu a { display: block; width: 190px; border-bottom: 1px solid #1A1A1A; background-image: url(../images/index/btn-deco-01.png); background-repeat: no-repeat; background-position: right 16px top 8px; padding: 5px 5px 16px 13px; transition: 0.2s; line-height: normal; font-family: "Lato", sans-serif; font-size: 17px; letter-spacing: 0.1em; }
  .btn-kyoutu a:hover { background-position: right 8px top 8px; transition: 0.2s; }
  .mv-sra-wap { width: 1840px; margin: 0 auto; position: relative; margin-bottom: 170px; }
  .mv-sra-wap .mv-ttl { position: absolute; bottom: 60px; left: 60px; }
  .mv-sra-wap .mv-sra-dots .slick-dots { text-align: left; display: flex; gap: 14px; bottom: -30px; left: 20px; }
  .mv-sra-wap .mv-sra-dots .slick-dots li { width: auto; height: auto; margin: 0; padding: 0; }
  .mv-sra-wap .mv-sra-dots .slick-dots li button { display: block; width: 8px; height: 8px; padding: 0; border: none; border-radius: 50%; background-color: #C4B8B9; cursor: pointer; font-size: 0; line-height: 0; transition: background-color 0.3s ease; }
  .mv-sra-wap .mv-sra-dots .slick-dots li button::before { display: none; }
  .mv-sra-wap .mv-sra-dots .slick-dots li.slick-active button { background-color: #C4162A; }
  #event .inner { width: 1720px; margin: 0 auto; margin-bottom: 124px; position: relative; }
  #event .ttl-box { position: relative; margin-bottom: 18px; }
  #event .ttl-box .en { display: inline-block; font-weight: 900; font-size: 48px; letter-spacing: 0.1em; line-height: 120px; text-align: left; color: #1a1a1a; margin-right: 12px; }
  #event .ttl-box .ttl { display: inline-block; font-weight: bold; font-size: 16px; letter-spacing: 0.05em; line-height: 24px; text-align: left; color: #1a1a1a; position: relative; top: -11px; }
  #event .system-default-list { display: flex; flex-wrap: wrap; }
  #event .system-default-list .system-default-item { width: 520px; margin-right: 80px; }
  #event .system-default-list .system-default-item:hover img { opacity: 0.8; }
  #event .system-default-list .system-default-item:nth-child(3n) { margin-right: 0px; }
  #event .system-default-list .system-default-item a:hover { text-decoration: none; }
  #event .system-default-list .system-default-item a:hover .system-ttl { text-decoration: underline; }
  #event .system-default-list .system-pic { text-align: center; }
  #event .system-default-list .system-pic img { aspect-ratio: 13 / 8; max-width: 100%; height: auto; }
  #event .system-default-list .system-pic.event-off img { filter: grayscale(1); }
  #event .system-default-list .sy_radio-box > p { border: 1px solid #000; padding: 2px 5px 4px; text-align: center; font-weight: 700; font-size: 17px; }
  #event .system-default-list .sy_radio-2 { background-color: #1c1c1c; color: #fff; }
  #event .system-default-list .system-ttl { font-weight: bold; font-size: 20px; line-height: 32px; text-align: left; color: #000; margin-top: 8px; margin-bottom: 8px; }
  #event .system-default-list .system-info .system-flex { display: flex; flex-wrap: wrap; margin-bottom: 1px; }
  #event .system-default-list .system-info .system-flex:last-child { margin-bottom: 0; }
  #event .system-default-list .system-info .system-flex .system-box-l { width: 92px; text-align: center; font-weight: 500; font-size: 14px; color: #fff; margin-right: 18px; }
  #event .system-default-list .system-info .system-flex .system-box-l .system-color { background-color: #1c1c1c; display: block; }
  #event .system-default-list .system-info .system-flex .system-box-r.info1 { font-weight: bold; font-size: 20px; letter-spacing: 0.05em; line-height: 35px; text-align: left; color: #c41729; }
  #event .system-default-list .system-info .system-flex .system-box-r.info3 { font-weight: bold; font-size: 20px; letter-spacing: 0.05em; line-height: 35px; text-align: left; color: #1a1a1a; }
  #event .system-default-list .sy-itiran { border-top: 1px solid #4c4948; padding-top: 19px; margin-top: 22px; font-weight: normal; font-size: 14px; letter-spacing: 0.05em; line-height: 24px; text-align: left; color: #666; }
  #event .btn-kyoutu a { position: absolute; top: 44px; right: 0; }
  .nagare-move-u { --nagare-w: 3322px; --nagare-h: 168px; --nagare-speed: 150s; background-image: url(../images/index/nagare.png); background-repeat: repeat-x; background-position: 0 0; background-size: auto var(--nagare-h); width: 100%; height: var(--nagare-h); animation: nagare-left var(--nagare-speed) linear infinite; will-change: background-position; }
  #concept { max-width: 1920px; width: 100%; margin: 0 auto; margin-bottom: 80px; }
  #concept .inner .ttl { text-align: left; }
  #concept .inner .s-box { width: 1280px; margin: 0 auto; margin-bottom: 8px; }
  #concept .inner .s-box .flex { display: flex; flex-wrap: wrap; }
  #concept .inner .s-box .flex .box-l { width: 673px; margin-left: 90px; margin-right: 115px; padding-top: 57px; }
  #concept .inner .s-box .flex .box-l .txt-box { font-weight: 500; font-size: 18px; letter-spacing: 0.05em; line-height: 52px; text-align: left; color: #1a1a1a; }
  #concept .inner .s-box .flex .box-r { width: 400px; position: relative; top: -34px; right: -2px; }
  #concept .btn-kyoutu.ano-concept a { margin-top: 46px; width: 160px; padding: 5px 5px 19px 23px; background-position: right 25px top 8px; transition: 0.2s; }
  #concept .btn-kyoutu.ano-concept a:hover { background-position: right 17px top 8px; transition: 0.2s; }
  #reason { background-color: #EAECEE; padding-top: 128px; padding-bottom: 100px; }
  #reason .inner .ttl-box { width: 1280px; margin: 0 auto; position: relative; }
  #reason .inner .ttl-box .ttl { font-weight: 900; font-size: 48px; letter-spacing: 0.08em; line-height: 63px; text-align: center; color: #1a1a1a; margin-bottom: 99px; position: relative; left: 9px; }
  #reason .inner .ttl-box .ttl .ss1 { position: relative; }
  #reason .inner .ttl-box .ttl .ss2 { position: relative; left: -8px; }
  #reason .inner .ttl-box .ttl .ss3 { position: relative; left: -13px; top: 5px; }
  #reason .inner .ttl-box .deco { position: absolute; bottom: -99px; right: 32px; }
  #reason .inner .num-list { width: 1720px; margin: 0 auto; margin-bottom: 58px; display: flex; flex-wrap: wrap; }
  #reason .inner .num-list >li { width: 540px; background-color: #FFFFFF; margin-right: 50px; position: relative; }
  #reason .inner .num-list >li:nth-child(3n) { margin-right: 0px; }
  #reason .inner .num-list >li a { text-decoration: none; padding: 47px 30px 35px; display: block; }
  #reason .inner .num-list >li a:hover .li-pic img { opacity: 0.8; }
  #reason .inner .num-list >li a:hover .li-s-ttl { text-decoration: underline; }
  #reason .inner .num-list >li a:hover .more-btn { background-position: right 2px top 7px; transition: 0.2s; text-decoration: underline; }
  #reason .inner .num-list .num-txt { position: absolute; top: -20px; left: 20px; }
  #reason .inner .num-list .li-ttl { font-weight: 900; font-size: 28px; letter-spacing: 0.08em; line-height: 76px; text-align: center; color: #c41729; border-bottom: 1px dashed #C41729; margin-bottom: 23px; padding-bottom: 4px; }
  #reason .inner .num-list .li-pic { margin-bottom: 20px; }
  #reason .inner .num-list .li-s-ttl { text-align: center; color: #1a1a1a; margin-bottom: 12px; }
  #reason .inner .num-list .li-s-ttl.ano { padding-top: 21px; margin-bottom: 34px; }
  #reason .inner .num-list .li-s-ttl.ano2 { padding-top: 21px; margin-bottom: 34px; }
  #reason .inner .num-list .li-s-ttl .ss1 { font-weight: bold; font-size: 18px; letter-spacing: 0.08em; display: block; }
  #reason .inner .num-list .li-s-ttl .ss2 { font-weight: bold; font-size: 28px; letter-spacing: 0.08em; line-height: 40px; }
  #reason .inner .num-list .txt-box { font-weight: normal; font-size: 16px; letter-spacing: 0.1em; line-height: 26px; text-align: left; color: #1a1a1a; margin-bottom: 42px; }
  #reason .inner .num-list .more-btn { display: block; width: 124px; margin: 0 auto; position: absolute; left: 0; right: 0; bottom: 32px; border-bottom: 1px solid #1A1A1A; background-image: url(../images/index/btn-deco-04.png); background-repeat: no-repeat; background-position: right 10px top 7px; padding: 5px 5px 11px 5px; transition: 0.2s; font-weight: normal; font-size: 11px; letter-spacing: 0.1em; text-align: left; color: #1a1a1a; line-height: normal; }
  #reason .inner .btn-kyoutu.ano1 { width: 190px; margin: 0 auto; }
  #reason .inner .btn-kyoutu.ano1 a { background-position: right 4px top 8px; padding: 5px 5px 16px 20px; transition: 0.2s; }
  #reason .inner .btn-kyoutu.ano1 a:hover { background-position: right 0px top 8px; transition: 0.2s; }
  #menu { padding-top: 124px; }
  #menu .inner .ttl-box { width: 1280px; margin: 0 auto; margin-bottom: 94px; position: relative; }
  #menu .inner .ttl-box .en { text-align: center; margin-bottom: 54px; position: relative; left: 0px; }
  #menu .inner .ttl-box .ttl { font-weight: bold; font-size: 35px; letter-spacing: 0.05em; text-align: center; color: #1a1a1a; }
  #menu .inner .ttl-box .deco-l { position: absolute; left: 43px; top: 79px; }
  #menu .inner .ttl-box .deco-r { position: absolute; right: 46px; top: 79px; }
  #menu .inner .btn-kyoutu.ano2 a { width: 248px; color: #fff; border-bottom: 1px solid #fff; background-image: url(../images/index/btn-deco-03.png); font-size: 22px; padding: 5px 5px 22px 58px; background-position: right 22px top 6px; }
  #menu .inner .btn-kyoutu.ano2 a:hover { background-position: right 10px top 6px; transition: 0.2s; }
  #menu .inner .menu-01 { background-image: url(../images/index/bg-wap-01.png); background-repeat: repeat-y; background-position: center 0; padding-top: 160px; }
  #menu .inner .menu-01 .rel-box { width: 1100px; margin: 0 auto; position: relative; min-height: 739px; }
  #menu .inner .menu-01 .rel-box .cc-ttl { font-weight: bold; font-size: 67px; letter-spacing: 2px; line-height: 134px; color: #012d46; background-color: #FFFFFF; width: 644px; margin-left: auto; padding: 2px 5px 1px 40px; position: absolute; top: -60px; right: -230px; z-index: 10; }
  #menu .inner .menu-01 .rel-box .cc-ttl .ss1 { position: relative; }
  #menu .inner .menu-01 .rel-box .cc-ttl .ss2 { letter-spacing: -7px; position: relative; left: -1px; }
  #menu .inner .menu-01 .rel-box .cc-ttl-02 { width: 560px; margin-left: auto; font-weight: bold; font-size: 52px; letter-spacing: 0.05em; line-height: 78px; text-align: right; color: #fff; position: absolute; top: 102px; right: -232px; z-index: 15; }
  #menu .inner .menu-01 .rel-box .cc-pic-01 { position: absolute; top: 0; left: -310px; }
  #menu .inner .menu-01 .rel-box .cc-pic-02 { position: absolute; left: 0; top: 0; }
  #menu .inner .menu-01 .rel-box .cc-txt-box { font-weight: bold; font-size: 20px; letter-spacing: 0.05em; line-height: 30px; text-align: left; color: #fff; padding-top: 480px; }
  #menu .inner .menu-01 .rel-box .cc-txt-box .txt-01 { position: relative; margin-bottom: 31px; padding-left: 11px; }
  #menu .inner .menu-01 .deco-hito { position: absolute; right: -120px; bottom: 61px; }
  #menu .inner .menu-02 { background-image: url(../images/index/bg-wap-02.png); background-repeat: repeat-y; background-position: center 0; padding-top: 150px; margin-top: -61px; }
  #menu .inner .menu-02 .rel-box { width: 1100px; margin: 0 auto; position: relative; min-height: 749px; }
  #menu .inner .menu-02 .rel-box .cc-ttl { font-weight: bold; font-size: 67px; letter-spacing: 0.05em; line-height: 134px; text-align: left; color: #5D0504; background-color: #FFFFFF; width: 428px; margin-left: auto; padding: 2px 5px 1px 40px; position: absolute; top: -50px; left: -230px; z-index: 10; }
  #menu .inner .menu-02 .rel-box .cc-ttl .ss1 { position: relative; }
  #menu .inner .menu-02 .rel-box .cc-ttl .ss2 { position: relative; }
  #menu .inner .menu-02 .rel-box .cc-ttl-02 { width: 560px; margin-left: auto; font-weight: bold; font-size: 52px; letter-spacing: 0.05em; line-height: 80px; text-align: left; color: #fff; position: absolute; top: 103px; left: -230px; z-index: 15; }
  #menu .inner .menu-02 .rel-box .cc-pic-01 { position: absolute; top: 241px; left: 73px; }
  #menu .inner .menu-02 .rel-box .cc-pic-02 { position: absolute; left: 387px; top: 0; }
  #menu .inner .menu-02 .rel-box .cc-txt-box { font-weight: bold; font-size: 20px; letter-spacing: 0.05em; line-height: 30px; text-align: left; color: #fff; padding-top: 480px; margin-left: 385px; }
  #menu .inner .menu-02 .rel-box .cc-txt-box .txt-01 { position: relative; margin-bottom: 30px; }
  #menu .inner .menu-02 .deco-hito { position: absolute; left: -120px; bottom: 61px; }
  #menu .inner .menu-03 { background-image: url(../images/index/bg-wap-03.png); background-repeat: repeat-y; background-position: center 0; padding-top: 151px; margin-top: -61px; }
  #menu .inner .menu-03 .rel-box { width: 1100px; margin: 0 auto; position: relative; min-height: 666px; }
  #menu .inner .menu-03 .rel-box .cc-ttl { font-weight: bold; font-size: 67px; letter-spacing: 0.05em; line-height: 134px; text-align: left; color: #7D5F18; background-color: #FFFFFF; width: 786px; margin-left: auto; padding: 2px 5px 1px 39px; position: absolute; top: -51px; right: -231px; z-index: 10; }
  #menu .inner .menu-03 .rel-box .cc-ttl .ss1 { position: relative; }
  #menu .inner .menu-03 .rel-box .cc-ttl .ss2 { position: relative; letter-spacing: -7px; left: -2px; }
  #menu .inner .menu-03 .rel-box .cc-ttl-02 { width: 560px; margin-left: auto; font-weight: bold; font-size: 52px; letter-spacing: 0.05em; line-height: 80px; text-align: right; color: #fff; position: absolute; top: 117px; right: -233px; z-index: 15; }
  #menu .inner .menu-03 .rel-box .cc-pic-01 { position: absolute; top: 0; left: -310px; }
  #menu .inner .menu-03 .rel-box .cc-pic-02 { position: absolute; left: 0; top: 0; }
  #menu .inner .menu-03 .rel-box .cc-txt-box { font-weight: bold; font-size: 20px; letter-spacing: 0.05em; line-height: 30px; text-align: left; color: #fff; padding-top: 479px; }
  #menu .inner .menu-03 .rel-box .cc-txt-box .txt-01 { position: relative; padding-left: 11px; margin-bottom: 31px; }
  #menu .inner .menu-03 .deco-hito { position: absolute; right: -150px; bottom: 0; }
  #menu .inner #menu-04 { background-image: url(../images/index/bg-wap-04.png); background-repeat: repeat-y; background-position: center 0; padding-top: 89px; padding-bottom: 50px; margin-bottom: 183px; }
  #menu .inner #menu-04 .inner .en-02 { font-weight: bold; font-size: 14px; letter-spacing: 0.1em; line-height: 40px; text-align: center; color: #c41729; margin-bottom: 11px; }
  #menu .inner #menu-04 .inner .ttl-02 { font-weight: bold; font-size: 26px; letter-spacing: 0.05em; line-height: 24px; text-align: center; color: #1a1a1a; margin-bottom: 57px; }
  #menu .inner #menu-04 .inner .menu-04-list { width: 1483px; margin: 0 auto; display: flex; flex-wrap: wrap; margin-bottom: 25px; }
  #menu .inner #menu-04 .inner .menu-04-list >li { width: 340px; margin-right: 40px; }
  #menu .inner #menu-04 .inner .menu-04-list >li:hover img { opacity: 0.8; }
  #menu .inner #menu-04 .inner .menu-04-list >li:nth-child(4n) { margin-right: 0px; }
  #menu .inner #menu-04 .inner .menu-04-list .li-ttl { font-weight: 500; font-size: 20px; letter-spacing: 0.05em; line-height: 24.5px; text-align: center; color: #1a1a1a; padding-bottom: 12px; margin-bottom: 21px; border-bottom: 1px solid #4C4948; }
  #menu .inner #menu-04 .inner .btn-kyoutu.ano1 { width: 190px; margin: 0 auto; }
  #menu .inner #menu-04 .inner .btn-kyoutu.ano1 a { padding: 5px 5px 15px 20px; background-position: right 4px top 7px; }
  #menu .inner #menu-04 .inner .btn-kyoutu.ano1 a:hover { background-position: right 0px top 7px; }
  #works { margin-bottom: 78px; }
  #works .inner { width: 1720px; margin: 0 auto; position: relative; }
  #works .ttl-box { position: relative; margin-bottom: 33px; }
  #works .ttl-box .en { display: inline-block; font-weight: 900; font-size: 48px; letter-spacing: 0.1em; line-height: 120px; text-align: left; color: #1a1a1a; margin-right: 11px; }
  #works .ttl-box .ttl { display: inline-block; font-weight: bold; font-size: 16px; letter-spacing: 0.05em; line-height: 24px; text-align: left; color: #1a1a1a; position: relative; top: -12px; }
  #works .btn-kyoutu a { position: absolute; top: 45px; right: 0; padding: 5px 5px 16px 21px; background-position: right 3px top 8px; }
  #works .btn-kyoutu a:hover { background-position: right 0px top 8px; }
  #works .system-default-list { display: flex; flex-wrap: wrap; }
  #works .system-default-list .system-default-item { width: 380px; margin-right: 65px; }
  #works .system-default-list .system-default-item:nth-child(4n) { margin-right: 0px; }
  #works .system-default-list .system-default-item { background-color: #ffffff; position: relative; }
  #works .system-default-list .system-default-item:hover img { opacity: 0.8; }
  #works .system-default-list .system-cate { font-size: 14px; font-weight: 700; line-height: 1.71; z-index: 20; margin-bottom: 8px; }


  #works .system-default-list .system-cate >span {
  
border: 1px solid #1a1a1a;
  
display: inline-block;
  
padding: 5px 5px 5px;
  
min-width: 49%;
  
text-align: center;
  
margin-right: 2%;
  
margin-bottom: 2%;
  
font-size: 12px;
  
}

  #works .system-default-list .system-cate >span:nth-child(2n) { margin-right: 0px; }
  
  #works .system-default-list .system-pic {margin-bottom: 15px;}
  #works .system-default-list .system-pic img { aspect-ratio: 19 / 15; max-width: 100%; height: auto; }
  #works .system-default-list .sy-flex { font-size: 14px; font-weight: 500; line-height: 1.34; letter-spacing: 1px; text-align: left; margin-bottom: 0px; }
  #works .system-default-list .sy-flex .sy-box-l { display: inline-block; margin-right: 7px; margin-bottom: 7px; }
  #works .system-default-list .sy-flex .sy-box-l .system-sy1 .ss { color: #A67C52; }
  #works .system-default-list .sy-flex .sy-box-r { display: inline-block; }
  #works .system-default-list .sy-flex .sy-box-r .system-sy2 .ss { color: #A67C52; }
  #works .system-default-list .system-ttl { font-weight: bold; font-size: 20px; letter-spacing: 0.05em; line-height: 35px; text-align: left; color: #1a1a1a; }
  #voice { background-color: #EAECEE; padding-bottom: 140px; padding-top: 75px; }
  #voice .inner { width: 1720px; margin: 0 auto; position: relative; }
  #voice .ttl-box { position: relative; margin-bottom: 33px; }
  #voice .ttl-box .en { display: inline-block; font-weight: 900; font-size: 48px; letter-spacing: 0.1em; line-height: 120px; text-align: left; color: #1a1a1a; margin-right: 9px; }
  #voice .ttl-box .ttl { display: inline-block; font-weight: bold; font-size: 16px; letter-spacing: 0.05em; line-height: 24px; text-align: left; color: #1a1a1a; position: relative; top: -12px; }
  #voice .btn-kyoutu a { width: 221px; position: absolute; top: 45px; right: 0; background-position: right 3px top 8px; }
  #voice .btn-kyoutu a:hover { background-position: right 0px top 8px; }
  #voice .system-default-list { display: flex; flex-wrap: wrap; }
  #voice .system-default-list .system-default-item { width: 385px; margin-right: 60px; }
  #voice .system-default-list .system-default-item:hover img { opacity: 0.8; }
  #voice .system-default-list .system-default-item:nth-child(4n) { margin-right: 0px; }
  #voice .system-default-list .system-default-item { background-color: #ffffff; position: relative; }
  #voice .system-default-list .system-default-item a:hover { text-decoration: none; }
  #voice .system-default-list .system-default-item a:hover .system-ttl { text-decoration: underline; }
  #voice .system-default-list .system-pic img { aspect-ratio: 385 / 270; max-width: 100%; height: auto; }
  #voice .system-default-list .sy-flex { font-size: 14px; font-weight: 500; line-height: 1.34; letter-spacing: 1px; text-align: left; }
  #voice .system-default-list .sy-flex .sy-box-l { width: 100%; display: block; font-weight: normal; font-size: 14px; letter-spacing: 0.05em; line-height: 24.5px; text-align: left; color: #a67c52; border-bottom: 1px solid #EAECE7; padding: 12px 18px 13px; }
  #voice .system-default-list .system-ttl { font-weight: normal; font-size: 18px; letter-spacing: 0.05em; line-height: 30px; text-align: left; color: #1a1a1a; padding: 19px 19px 21px; }
  #e { margin-top: 0; }
  #message { background-image: url(../images/index/message-bg.png); background-repeat: no-repeat; background-position: center 0; min-height: 1880px; padding-top: 233px; margin-bottom: 140px; }
  #message .inner { width: 1200px; margin: 0 auto; }
  #message .inner .ttl { font-weight: 900; font-size: 32px; letter-spacing: 0.08em; line-height: 61px; text-align: left; color: #1a1a1a; margin-bottom: 65px; }
  #message .inner .ttl .ss1 { display: block; position: relative; left: -19px; margin-bottom: 9px; }
  #message .inner .ttl .ss2 { position: relative; }
  #message .inner .txt-box { font-weight: 500; font-size: 18px; letter-spacing: 0.05em; line-height: 42px; text-align: left; color: #1a1a1a; }
  #message .inner .txt-box .p-mb { margin-bottom: 42px; }
  .o-box { width: 1100px; margin: 0 auto; margin-bottom: 140px; }
  #top-info { background-color: #EAECEE; padding-top: 81px; padding-bottom: 69px; }
  #top-info .btn-kyoutu.ano-info { position: absolute; top: 12px; right: 0px; }
  #top-info .btn-kyoutu.ano-info a { width: 151px; padding: 5px 5px 12px 7px; font-size: 14px; letter-spacing: 0.1em; text-align: left; color: #1a1a1a; background-position: right 4px top 6px; }
  #top-info .btn-kyoutu.ano-info a:hover { background-position: right 0px top 6px; }
  #top-info .inner .flex { width: 1200px; margin: 0 auto; display: flex; flex-wrap: wrap; margin-bottom: 25px; }
  #top-info .inner .flex .box-l { width: 540px; position: relative; margin-right: 120px; }
  #top-info .inner .flex .box-l .ttl-box { margin-bottom: 28px; }
  #top-info .inner .flex .box-l .ttl-box .en { position: relative; }
  #top-info .inner .flex .box-l .ttl-box .txt { position: absolute; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","NotoSansCJKjp","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight: normal; font-size: 16px; text-align: left; color: #1a1a1a; position: absolute; left: 121px; top: 8px; letter-spacing: normal; }
  #top-info .inner .flex .box-l .system-list2 { margin-bottom: 50px; }
  #top-info .inner .flex .box-l .system-list-inner2 { padding: 40px 20px; background: #fff; }
  #top-info .inner .flex .box-l .system-list2 li { line-height: 1.4; overflow: hidden; margin-bottom: 39px; padding: 0 0 13px; border-bottom: 1px dotted #1A1A1A; }
  #top-info .inner .flex .box-l .system-list2 li:hover img { opacity: 0.8; }
  #top-info .inner .flex .box-l .system-list2 li:hover .system-ttl-01 { text-decoration: underline; }
  #top-info .inner .flex .box-l .system-list2 li a:hover { text-decoration: none; }
  #top-info .inner .flex .box-l .system-list2 .sy-flex-1 { display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -ms-flexbox; display: flex; -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  #top-info .inner .flex .box-l .system-list2 .sy-flex-1 .box-l { width: 20%; }
  #top-info .inner .flex .box-l .system-list2 .sy-flex-1 .box-r { width: 78%; margin-left: 2%; }
  #top-info .inner .flex .box-l .system-list2 .system-pic img { max-width: 100%; height: auto; }
  #top-info .inner .flex .box-l .system-list2 .system-date {font-size: 14px;line-height: 1.4;margin-bottom: 10px;color: #A67C52;}
  #top-info .inner .flex .box-l .system-list2 .system-ttl-01 { font-size: 16ｐｘ; line-height: 1.6; margin-bottom: 10px; }
  #top-info .inner .flex .box-l .system-list2 .system-contributor { font-size: 0.75em; text-align: right; color: #bbb; }
  #top-info .inner .flex .box-l .system-list2 li a { display: flex; flex-wrap: wrap; }
  #top-info .inner .flex .box-l .system-list2 li a .system-pic { width: 140px; margin-right: 20px; }
  #top-info .inner .flex .box-l .system-list2 li a .system-r-box { width: calc(100% - 160px); }
  #top-info .inner .flex .box-l .system-list2 li a .textbx { 
            margin-top: 8px;
   }


      #top-info .inner .flex .box-l .system-list2 li .system-category span {
        font-size: 12px;
        display: inline-block;
        margin-right: 10px;
        margin-bottom: 5px;
        padding: 7px 8px;
        text-align: center;
        color: #1a1a1a;
        border: 1px solid #1a1a1a;
        min-width: 112px;
        line-height: normal;
    }

      #top-info .inner .flex .box-l .system-list2 li .mainContents .system-list2 .system-category span {
        padding: 4px 8px 6px;
    }



  #top-info .inner .flex .box-r { width: 540px; position: relative; }
  #top-info .inner .flex .box-r .ttl-box { margin-bottom: 28px; }
  #top-info .inner .flex .box-r .ttl-box .en { position: relative; }
  #top-info .inner .flex .box-r .ttl-box .txt { position: absolute; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","NotoSansCJKjp","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight: normal; font-size: 16px; text-align: left; color: #1a1a1a; position: absolute; left: 101px; top: 8px; letter-spacing: normal; }
  #top-info .inner .flex .box-r .faq-list { width: 100%; margin: 0 auto; }
  #top-info .inner .flex .box-r .faq-list li { border-bottom: 1px dotted #1A1A1A; margin-bottom: 25px; }
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box { position: relative; font-weight: 500; font-size: 18px; line-height: 1.61; letter-spacing: normal; text-align: left; color: #2c2620; padding: 16px 69px 21px 30px; background-image: url(../images/system/faq-q.svg); background-repeat: no-repeat; background-position: 1px 21px; background-size: 9px; font-size: 16px; letter-spacing: 0.05em; line-height: 25px; }
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box:hover { cursor: pointer; cursor: hand; }
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box .faq-ch { right: 38px; top: 20px; width: 20px; height: 11px; position: absolute; }
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-ch img { transform: scaleY(-1); }
  #top-info .inner .flex .box-r .faq-list .txt-box { width: 100%; margin: 0 auto; display: none; font-weight: 500; text-align: left; color: #2c2620; padding: 0px 61px 20px 29px; background-image: url(../images/system/faq-a.svg); background-repeat: no-repeat; background-position: 0px 7px; background-size: 9px; font-size: 14px; letter-spacing: 0.05em; line-height: 25px; }
  #top-info .inner .flex .box-r .faq-list li:hover .faq-ttl { text-decoration: underline; }
  #top-info .inner .flex .box-r .faq-list li .faq-purasu { position: absolute; right: 28px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50px; background-color: #cfccc4; flex-shrink: 0; transition: background-color 0.3s ease, border 0.3s ease; }
  #top-info .inner .flex .box-r .faq-list li .faq-purasu::before, #top-info .inner .flex .box-r .faq-list li .faq-purasu::after { content: ""; position: absolute; display: block; width: 14px; height: 2px; background-color: #fff; transition: transform 0.3s ease, background-color 0.3s ease; }
  #top-info .inner .flex .box-r .faq-list li .faq-purasu2 { position: absolute; top: 21px; right: 21px; width: 12px; }
  #top-info .inner .flex .box-r .faq-list li .faq-purasu2 img { width: 100%; }
  /* #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-purasu2 img { transform: scaleY(-1); } */
    #top-info .inner .flex .box-r .faq-list .faq-ttl-box .faq-purasu2 img{
        transform: scaleY(-1);
    }
    #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-purasu2 img  {
        transform: scaleY(1);
    }




  #top-info .inner .flex .box-r .faq-list li .faq-purasu::after { transform: rotate(90deg); }
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-purasu { background-color: #ffffff; border: 1px solid #cfccc4; }
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-purasu::before, #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-purasu::after { background-color: #cfccc4; }
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-purasu::after { transform: rotate(0deg); }
  .top-info-seo { width: 1200px; margin: 0 auto; font-weight: normal; font-size: 14px; letter-spacing: 0.05em; line-height: 28px; text-align: left; color: #7c7b7b; }
  .mac { display: none !important; }
}
@media screen and (min-width: 766px) and (max-width: 1820px) {
  .mv-sra-wap { width: calc(100% - 80px); }
  .mv-sra-wap img { width: 100%; }
  .mv-sra-wap .mv-ttl { width: 43.021vw; }
  .mv-sra-wap .mv-ttl img { width: 100%; }
  .mv-sra-wap { margin-bottom: 5.854vw; }
  #event .inner { width: calc(100% - 182.8px); margin-bottom: 6.458vw; }
  #event .system-default-list { display: flex; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; -webkit-justify-content: space-between; justify-content: space-between; }
  #event .system-default-list .system-default-item { width: 27vw; margin-right: 0; }
  #concept .inner .s-box { width: 832px; position: relative; }
  #concept .inner .s-box .flex .box-l { width: 490px; margin-left: 0px; margin-right: 0px; padding-top: 57px; }
  #concept .inner .s-box .flex .box-r { position: absolute; top: -34px; right: -95px; }
  #concept .inner .ttl { width: 100%; text-align: center; }
  #concept .inner .ttl img { width: 100%; }
  #reason .inner .ttl-box { width: 1200px; margin: 0 auto; }
  #reason .inner .num-list { width: 1200px; }
  #reason .inner .num-list >li { width: 390px; margin-right: 15px; }
  #reason .inner .num-list .li-pic img { width: 100%; }
  #reason .inner .num-list .li-ttl { font-size: 24px; }
  #reason .inner .num-list >li a { padding: 47px 24px 35px; }
  #reason .inner .num-list .li-s-ttl.ano { padding-top: 0px; margin-bottom: 11px; }
  #reason .inner .num-list .li-s-ttl.ano2 { padding-top: 21px; margin-bottom: 34px; }
  .mac { display: block !important; }
  #menu .inner .menu-01 { padding-top: 112px; }
  #menu .inner .menu-01 .rel-box { width: 722px; margin: 0 auto; left: 8px; min-height: 584px; }
  #menu .inner .menu-01 .rel-box .cc-pic-02 { width: 722px; margin: 0 auto; }
  #menu .inner .menu-01 .rel-box .cc-pic-02 img { width: 100%; }
  #menu .inner .menu-01 .rel-box .cc-pic-01 { width: 209px; left: -218px; }
  #menu .inner .menu-01 .rel-box .cc-pic-01 img { width: 100%; }
  #menu .inner .menu-01 .rel-box .cc-ttl { font-size: 39px; letter-spacing: 2px; line-height: 78px; width: 419px; padding: 8px 5px 9px 40px; position: absolute; top: -42px; right: -180px; }
  #menu .inner .menu-01 .rel-box .cc-ttl .ss2 { letter-spacing: -4px; left: 9px; }
  #menu .inner .menu-01 .rel-box .cc-ttl-02 { width: 560px; margin-left: auto; font-weight: bold; text-align: right; color: #fff; position: absolute; top: 71px; right: -212px; z-index: 15; font-size: 36px; letter-spacing: 0.05em; line-height: 54px; }
  #menu .inner .menu-01 .rel-box .cc-txt-box { font-weight: bold; font-size: 18px; letter-spacing: 0.05em; line-height: 30px; text-align: left; color: #fff; padding-top: 335px; }
  #menu .inner .menu-01 .rel-box .cc-txt-box .txt-01 { position: relative; margin-bottom: 31px; padding-left: 8px; }
  #menu .inner .btn-kyoutu.ano2 a { width: 175px; color: #fff; border-bottom: 1px solid #fff; background-image: url(../images/index/btn-deco-03.png); font-size: 15px; letter-spacing: 0.1em; padding: 12px 5px 16px 40px; background-size: 15px; background-position: right 16px top 13px; }
  #menu .inner .menu-01 .deco-hito { position: absolute; right: -170px; bottom: 61px; width: 174px; }
  #menu .inner .menu-01 .deco-hito img { width: 100%; }
  #menu .inner .menu-02 { padding-top: 106px; }
  #menu .inner .menu-02 .rel-box { width: 722px; margin: 0 auto; left: 8px; min-height: 578px; }
  #menu .inner .menu-02 .rel-box .cc-pic-02 { width: 664px; margin: 0 auto; left: 264px; top: -9px; }
  #menu .inner .menu-02 .rel-box .cc-pic-02 img { width: 100%; }
  #menu .inner .menu-02 .rel-box .cc-pic-01 { width: 191px; left: 60px; top: 148px; }
  #menu .inner .menu-02 .rel-box .cc-pic-01 img { width: 100%; }
  #menu .inner .menu-02 .rel-box .cc-ttl { font-size: 34px; letter-spacing: 2px; line-height: 78px; width: 257px; padding: 8px 5px 4px 40px; position: absolute; top: -42px; left: -136px; }
  #menu .inner .menu-02 .rel-box .cc-ttl .ss2 { letter-spacing: -4px; left: 9px; }
  #menu .inner .menu-02 .rel-box .cc-ttl-02 { width: 560px; margin-left: auto; font-weight: bold; text-align: left; color: #fff; position: absolute; top: 57px; left: -136px; z-index: 15; font-size: 33px; letter-spacing: 0.05em; line-height: 52px; }
  #menu .inner .menu-02 .rel-box .cc-txt-box { font-weight: bold; text-align: left; color: #fff; padding-top: 301px; margin-left: 257px; font-size: 20px; letter-spacing: 0.05em; line-height: 30px; width: 577px; }
  #menu .inner .menu-02 .rel-box .cc-txt-box .txt-01 { position: relative; margin-bottom: 31px; padding-left: 7px; }
  #menu .inner .btn-kyoutu.ano2 a { width: 175px; color: #fff; border-bottom: 1px solid #fff; background-image: url(../images/index/btn-deco-03.png); font-size: 15px; letter-spacing: 0.1em; padding: 12px 5px 16px 40px; background-size: 15px; background-position: right 16px top 13px; }
  #menu .inner .menu-02 .deco-hito { position: absolute; bottom: 61px; left: -88px; width: 186px; }
  #menu .inner .menu-02 .deco-hito img { width: 100%; }
  #menu .inner .menu-03 { padding-top: 105px; }
  #menu .inner .menu-03 .rel-box { width: 722px; margin: 0 auto; left: 8px; min-height: 557px; }
  #menu .inner .menu-03 .rel-box .cc-pic-02 { width: 722px; margin: 0 auto; }
  #menu .inner .menu-03 .rel-box .cc-pic-02 img { width: 100%; }
  #menu .inner .menu-03 .rel-box .cc-pic-01 { width: 209px; left: -218px; }
  #menu .inner .menu-03 .rel-box .cc-pic-01 img { width: 100%; }
  #menu .inner .menu-03 .rel-box .cc-ttl { font-size: 39px; letter-spacing: 2px; line-height: 78px; width: 518px; padding: 8px 5px 9px 40px; position: absolute; top: -35px; right: -180px; }
  #menu .inner .menu-03 .rel-box .cc-ttl .ss2 { letter-spacing: -4px; left: 23px; }
  #menu .inner .menu-03 .rel-box .cc-ttl-02 { width: 560px; margin-left: auto; font-weight: bold; text-align: right; color: #fff; position: absolute; top: 84px; right: -212px; z-index: 15; font-size: 36px; letter-spacing: 0.05em; line-height: 55px; }
  #menu .inner .menu-03 .rel-box .cc-txt-box { font-weight: bold; text-align: left; color: #fff; padding-top: 337px; font-size: 20px; letter-spacing: 0.05em; line-height: 30px; width: 660px; }
  #menu .inner .menu-03 .rel-box .cc-txt-box .txt-01 { position: relative; margin-bottom: 34px; padding-left: 8px; }
  #menu .inner .btn-kyoutu.ano2 a { width: 175px; color: #fff; border-bottom: 1px solid #fff; background-image: url(../images/index/btn-deco-03.png); font-size: 15px; letter-spacing: 0.1em; padding: 12px 5px 16px 40px; background-size: 15px; background-position: right 16px top 13px; }
  #menu .inner .menu-03 .deco-hito { position: absolute; right: -170px; bottom: 0px; width: 189px; }
  #menu .inner .menu-03 .deco-hito img { width: 100%; }
  #menu .inner #menu-04 { padding-top: 72px; padding-bottom: 80px; margin-bottom: 4vw; }
  #menu .inner #menu-04 .inner .menu-04-list { width: 1200px; margin: 0 auto; margin-bottom: 53px; }
  #menu .inner #menu-04 .inner .menu-04-list >li { width: 276px; margin-right: 32px; }
  #menu .inner #menu-04 .inner .en-02 { font-size: 11px; letter-spacing: 0.1em; line-height: 31px; position: relative; left: -2px; margin-bottom: 10px; }
  #menu .inner #menu-04 .inner .menu-04-list >li img { width: 100%; }
  #menu .inner #menu-04 .inner .ttl-02 { font-size: 20px; letter-spacing: 0.05em; line-height: 18px; margin-bottom: 46px; position: relative; left: -8px; }
  #menu .inner #menu-04 .inner .menu-04-list .li-ttl { font-size: 15px; letter-spacing: 0.05em; line-height: 18px; padding-bottom: 12px; margin-bottom: 17px; border-bottom: 1px solid #4C4948; }
  #works .inner { width: 1200px; }
  #works .system-default-list .system-default-item { width: 265px; margin-right: 46px; }
  #works .system-default-list .system-ttl { font-weight: bold; font-size: 13px; letter-spacing: 0.05em; line-height: 23px; }
  #works .system-default-list .system-pic { margin-bottom: 11px; }
  #voice { background-color: #EAECEE; padding-bottom: 140px; padding-top: 70px; }
  #voice .ttl-box { position: relative; margin-bottom: 28px; margin-left: 5px; }
  #voice .inner { width: 1200px; margin: 0 auto; position: relative; }
  #voice .system-default-list .system-default-item { width: 269px; margin-right: 41px; }
}
@media screen and (min-width: 766px) and (max-width: 1480px) {
  #message { background-image: url(../images/index/message-bg.png); padding-top: 183px; background-size: 128%; min-height: 126vw; }
  #message .inner { width: 930px; margin: 0 auto; }
}

@media screen and (max-width: 767px) {
header .hh-logo { position: absolute; left: 14.251vw; top: 8.937vw; }
  header .h-sns-list { right: 31.159vw; }
  .h-txt-01-top { position: absolute; left: 45.169vw; top: 4.106vw; }
  .btn-kyoutu a { display: block; width: 100%; border-bottom: 1px solid #1A1A1A; background-image: url(../images/index/sp-btn-deco-01.png); background-repeat: no-repeat; background-position: right 3.623vw top 1.932vw; background-size: 3.865vw; padding: 1.691vw 1.208vw 4.106vw 2.657vw; transition: 0.2s; line-height: normal; font-family: "Lato", sans-serif; font-size: 4.106vw; letter-spacing: 0.1em; font-size: 3.382vw; letter-spacing: 0.1em; }

  .mv-sra-wap {width: 91.787vw;margin: 0 auto;position: relative;margin-bottom: 19.1vw;}
  .mv-sra-wap .mv-ttl { position: absolute; bottom: 11.594vw; left: 4.106vw; width: 85.507vw; }
  .mv-sra-wap .mv-sra-dots .slick-dots { text-align: left; display: flex; gap: 3.382vw; bottom: -6.522vw; left: 3.14vw; }
  .mv-sra-wap .mv-sra-dots .slick-dots li { width: auto; height: auto; margin: 0; padding: 0; }
  .mv-sra-wap .mv-sra-dots .slick-dots li button { display: block; width: 1.932vw; height: 1.932vw; padding: 0; border: none; border-radius: 50%; background-color: #C4B8B9; cursor: pointer; font-size: 0; line-height: 0; transition: background-color 0.3s ease; }
  .mv-sra-wap .mv-sra-dots .slick-dots li button::before { display: none; }
  .mv-sra-wap .mv-sra-dots .slick-dots li.slick-active button { background-color: #C4162A; }
  #event .inner { width: 100%; margin: 0 auto; margin-bottom: 16.425vw; position: relative; }
  #event .ttl-box { position: relative; margin-bottom: 6.763vw; }
  #event .ttl-box .en { display: inline-block; font-weight: 900; font-size: 9.179vw; letter-spacing: 0.1em; text-align: left; color: #1a1a1a; margin-right: 2.899vw; margin-left: 4.348vw; margin-bottom: 4.106vw; font-family: "Lato", sans-serif; }
  #event .ttl-box .ttl { display: inline-block; font-weight: bold; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 5.797vw; text-align: left; color: #1a1a1a; position: relative; top: -2.657vw; margin-left: 4.348vw; }
  #event .system-default-list { display: flex; flex-wrap: wrap; width: 83.575vw; margin: 0 auto; }
  #event .system-default-list .system-default-item { width: 100%; }
  #event .system-default-list .system-default-item:hover img { opacity: 0.8; }
  #event .system-default-list .system-default-item:nth-child(3n) { margin-right: 0; }
  #event .system-default-list .system-default-item a:hover { text-decoration: none; }
  #event .system-default-list .system-default-item a:hover .system-ttl { text-decoration: underline; }
  #event .system-default-list .system-pic { text-align: center; margin-bottom: 2.415vw; }
  #event .system-default-list .system-pic img { aspect-ratio: 13 / 8; max-width: 100%; height: auto; }
  #event .system-default-list .system-pic.event-off img { filter: grayscale(1); }
  #event .system-default-list .sy_radio-box > p { border: 1px solid #000; padding: 0.483vw 1.208vw 0.966vw; text-align: center; font-weight: 700; font-size: 4.106vw; }
  #event .system-default-list .sy_radio-2 { background-color: #1c1c1c; color: #fff; }
  #event .system-default-list .system-ttl { font-weight: bold; font-size: 4.106vw; line-height: 1.8; text-align: left; color: #000; margin-bottom: 0.966vw; }
  #event .system-default-list .system-info .system-flex { display: flex; flex-wrap: wrap; margin-bottom: -0.966vw; }
  #event .system-default-list .system-info .system-flex:last-child { margin-bottom: 0; }
  #event .system-default-list .system-info .system-flex .system-box-l { width: 100%; text-align: center; font-weight: 500; font-size: 3.382vw; color: #fff; margin-right: 4.348vw; }
  #event .system-default-list .system-info .system-flex .system-box-l .system-color { background-color: #1c1c1c; display: block; }
  #event .system-default-list .system-info .system-flex .system-box-r.info1 { font-weight: bold; font-size: 4.831vw; letter-spacing: 0.05em; line-height: 8.454vw; text-align: left; color: #c41729; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 8.454vw; }
  #event .system-default-list .system-info .system-flex .system-box-r.info3 { font-weight: bold; text-align: left; color: #1a1a1a; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 8.454vw; }
  #event .system-default-list .sy-itiran { border-top: 1px solid #4c4948; padding-top: 3.865vw; margin-top: 2.899vw; font-weight: normal; text-align: left; color: #666; font-size: 3.382vw; letter-spacing: 0.05em; line-height: 5.797vw; }
  #event .btn-kyoutu a { margin-top: 3.382vw; width: 41.787vw; margin-left: 8.454vw; top: 10.628vw; right: 0; }
  #event .sp-rel-box { position: relative; }
  #event .sp-rel-box .event-arrows { width: 100%; margin: 0 auto; position: absolute; top: 21.739vw; z-index: 10; }
  #event .sp-rel-box .event-arrows > div { width: 8.213vw; height: 8.213vw; background-image: url(../images/index/sp-event-l.png); background-repeat: no-repeat; background-position: center 0; background-size: 100%; position: absolute; background-color: #fff; }
  #event .sp-rel-box .event-arrows > div:hover { cursor: pointer; cursor: hand; opacity: 0.8; }
  #event .sp-rel-box .event-arrows .event-arrows_mae { left: 4.348vw; }
  #event .sp-rel-box .event-arrows .event-arrows_ushiro { right: 3.865vw; transform: scale(-1, 1); }
  .nagare-move-u { --nagare-w: 263.527vw; --nagare-h: 26.812vw; --nagare-speed: 40s; background-image: url(../images/index/sp-nagare.png); background-repeat: repeat-x; background-position: 0 0; background-size: auto var(--nagare-h); width: 100%; height: var(--nagare-h); animation: nagare-left var(--nagare-speed) linear infinite; will-change: background-position; }
  #concept { max-width: 100%; width: 100%; margin: 0 auto; margin-bottom: 7.246vw; }
  #concept .inner .ttl { width: 91.787vw; margin: 0 auto; }
  #concept .inner .s-box { width: 100%; margin: 0 auto; margin-bottom: 11.594vw; position: relative; }
  #concept .inner .s-box .flex { display: flex; flex-wrap: wrap; }
  #concept .inner .s-box .flex .box-l { width: 83.575vw; margin: 0 auto; padding-top: 40.097vw; }
  #concept .inner .s-box .flex .box-l .txt-box { font-weight: 500; text-align: left; color: #1a1a1a; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 8.213vw; }
  #concept .inner .s-box .flex .box-l .txt-box .sp-mb { margin-bottom: 8.213vw; }
  #concept .inner .s-box .flex .box-r { width: 38.164vw; position: absolute; top: -10.628vw; right: 7.971vw; }
  #concept .btn-kyoutu.ano-concept a { margin-top: 8.454vw; width: 35.507vw; padding: 1.208vw 1.208vw 4.589vw 5.072vw; background-position: right 5.556vw top 1.449vw; transition: 0.2s; }

  #reason { background-color: #EAECEE; padding-top: 14.734vw; padding-bottom: 14.493vw; }
  #reason .inner .ttl-box { width: 100%; margin: 0 auto; position: relative; }
  #reason .inner .ttl-box .ttl { font-weight: 900; text-align: center; color: #1a1a1a; margin-bottom: 14.734vw; position: relative; left: 0.483vw; font-size: 7.729vw; letter-spacing: 0.08em; line-height: 10.145vw; }
  #reason .inner .ttl-box .ttl .ss1 { position: relative; display: block; margin-bottom: 2.415vw; }
  #reason .inner .ttl-box .ttl .ss2 { position: relative; left: 0.966vw; top: 0.483vw; width: 7.246vw; display: inline-block; }
  #reason .inner .ttl-box .ttl .ss3 { position: relative; left: 0.242vw; top: 1.208vw; }
  #reason .inner .ttl-box .deco { position: absolute; bottom: -14.734vw; right: 0; width: 19.324vw; }
  #reason .inner .num-list { width: 91.787vw; margin: 0 auto; margin-bottom: 7.488vw; display: flex; flex-wrap: wrap; }
  #reason .inner .num-list >li { width: 100%; background-color: #FFFFFF; position: relative; margin-bottom: 8.213vw; }
  #reason .inner .num-list >li:nth-child(3n) { margin-right: 0; margin-bottom: 0; }
  #reason .inner .num-list >li a { text-decoration: none; padding: 9.662vw 7.246vw 13.285vw; display: block; }
  #reason .inner .num-list >li a:hover .li-pic img { opacity: 0.8; }
  #reason .inner .num-list >li a:hover .li-s-ttl { text-decoration: underline; }

  #reason .inner .num-list .num-txt { position: absolute; top: -2.415vw; left: 4.348vw; width: 10.628vw; }
  #reason .inner .num-list .li-ttl { font-weight: 900; font-size: 6.763vw; letter-spacing: 0.08em; line-height: 1.8; text-align: center; color: #c41729; border-bottom: 1px dashed #C41729; margin-bottom: 4.589vw; padding-bottom: 3.623vw; font-size: 5.797vw; letter-spacing: 0.08em; }
  #reason .inner .num-list .li-ttl .ss { position: relative; width: 82.126vw; display: block; left: -2.174vw; }
  #reason .inner .num-list .li-pic { margin-bottom: 3.865vw; }
  #reason .inner .num-list .li-s-ttl { text-align: center; color: #1a1a1a; margin-bottom: 2.415vw; }
  #reason .inner .num-list .li-s-ttl.ano { margin-bottom: 1.932vw; }
  #reason .inner .num-list .li-s-ttl .ss1 { font-weight: bold; font-size: 4.348vw; letter-spacing: 0.08em; display: block; font-size: 3.865vw; letter-spacing: 0.08em; margin-bottom: 1.208vw; }
  #reason .inner .num-list .li-s-ttl .ss2 { font-weight: bold; font-size: 6.763vw; letter-spacing: 0.08em; line-height: 9.662vw; font-size: 6.28vw; letter-spacing: 0.08em; line-height: 7.729vw; }
  #reason .inner .num-list .txt-box { font-weight: normal; text-align: left; color: #1a1a1a; margin-bottom: 10.386vw; font-size: 3.382vw; letter-spacing: 0.1em; line-height: 6.28vw; }
  #reason .inner .num-list .more-btn { display: block; width: 36.232vw; margin: 0 auto; position: absolute; left: 0; right: 0; bottom: 9.903vw; border-bottom: 1px solid #1A1A1A; background-image: url(../images/index/sp-btn-deco-04.png); background-repeat: no-repeat; background-position: right 4.106vw top 1.449vw; background-size: 3.14vw; padding: 1.208vw 1.208vw 3.14vw 2.657vw; transition: 0.2s; font-weight: 700; font-size: 2.899vw; letter-spacing: 0.242vw; text-align: left; color: #1a1a1a; line-height: normal; }
  #reason .inner .btn-kyoutu.ano1 { width: 43.478vw; margin: 0 auto; }
  #reason .inner .btn-kyoutu.ano1 a { background-position: right 0.725vw top 1.691vw; padding: 0.966vw 1.208vw 3.865vw 4.831vw; transition: 0.2s; font-size: 3.865vw; }

  #menu { padding-top: 17.15vw; }
  #menu .inner .ttl-box { width: 100%; margin: 0 auto; margin-bottom: 4.831vw; position: relative; }
  #menu .inner .ttl-box .en { width: 85.628vw; margin: 0 auto; text-align: center; margin-bottom: 3.382vw; position: relative; left: 0; }
  #menu .inner .ttl-box .ttl { font-weight: bold; text-align: center; color: #1a1a1a; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 5.797vw; }
  #menu .inner .ttl-box .deco-l { position: absolute; left: 4.106vw; top: 6.763vw; width: 16.667vw; }
  #menu .inner .ttl-box .deco-r { position: absolute; right: 4.348vw; top: 6.28vw; width: 16.425vw; }
  #menu .inner .btn-kyoutu.ano2 a { width: 35.507vw; color: #fff; border-bottom: 1px solid #fff; background-image: url(../images/index/sp-btn-deco-03.png); font-size: 3.382vw; padding: 1.208vw 1.208vw 4.831vw 4.831vw; background-position: right 5.314vw top 1.449vw; }

  #menu .inner .menu-01 { background-image: url(../images/index/bg-wap-01.png); background-repeat: repeat-y; background-position: center 0; padding-top: 12.077vw; padding-bottom: 14.01vw; }
  #menu .inner .menu-01 .rel-box { width: 100%; margin: 0 auto; position: relative; }
  #menu .inner .menu-01 .rel-box .cc-ttl { font-weight: bold; color: #012d46; background-color: #FFFFFF; width: 76.57vw; margin: 0 auto; padding: 1.932vw 1.208vw 2.174vw 7.729vw; font-size: 7.488vw; letter-spacing: 0.242vw; margin-bottom: 4.348vw; }
  #menu .inner .menu-01 .rel-box .cc-ttl .ss1 { position: relative; }
  #menu .inner .menu-01 .rel-box .cc-ttl .ss2 { letter-spacing: -1.691vw; position: relative; left: 0.483vw; letter-spacing: -0.725vw; }
  #menu .inner .menu-01 .rel-box .cc-ttl-02 { width: 100%; margin-left: auto; font-weight: bold; color: #fff; text-align: center; font-size: 5.314vw; letter-spacing: 0.05em; line-height: 8.696vw; margin-bottom: 6.522vw; }
  #menu .inner .menu-01 .rel-box .cc-pic-01 { width: 83.575vw; margin: 0 auto; margin-bottom: 1.932vw; top: 0; left: -74.879vw; }
  #menu .inner .menu-01 .rel-box .cc-pic-02 { width: 83.575vw; margin: 0 auto; margin-bottom: 3.865vw; left: 0; top: 0; }
  #menu .inner .menu-01 .rel-box .cc-txt-box { width: 83.575vw; margin: 0 auto; font-weight: 500; font-size: 4.831vw; letter-spacing: 0.05em; line-height: 7.246vw; text-align: left; color: #fff; }
  #menu .inner .menu-01 .rel-box .cc-txt-box .txt-01 { position: relative; margin-bottom: 5.797vw; font-size: 3.382vw; letter-spacing: 0.05em; line-height: 6.28vw; }
  #menu .inner .menu-01 .deco-hito { position: absolute; right: 4.106vw; bottom: -14.251vw; width: 27.295vw; }
  #menu .inner .menu-02 { background-image: url(../images/index/bg-wap-02.png); background-repeat: repeat-y; background-position: center 0; padding-top: 12.56vw; padding-bottom: 14.251vw; position: relative; }
  #menu .inner .menu-02 .rel-box { width: 100%; margin: 0 auto; position: relative; }
  #menu .inner .menu-02 .rel-box .cc-ttl { font-weight: bold; font-size: 16.184vw; letter-spacing: 0.05em; text-align: left; color: #5D0504; background-color: #FFFFFF; width: 53.14vw; margin: 0 auto; padding: 1.691vw 1.208vw 1.932vw 7.488vw; font-size: 7.488vw; letter-spacing: 0.05em; margin-bottom: 4.589vw; top: -12.077vw; left: -55.556vw; z-index: 10; }
  #menu .inner .menu-02 .rel-box .cc-ttl .ss1 { position: relative; }
  #menu .inner .menu-02 .rel-box .cc-ttl .ss2 { position: relative; }
  #menu .inner .menu-02 .rel-box .cc-ttl-02 { width: 100%; margin-left: auto; font-weight: bold; text-align: center; color: #fff; font-size: 5.314vw; letter-spacing: 0.05em; margin-bottom: 6.763vw; }
  #menu .inner .menu-02 .rel-box .cc-pic-01 { top: 58.213vw; left: 17.633vw; width: 83.575vw; margin: 0 auto; margin-bottom: 1.932vw; }
  #menu .inner .menu-02 .rel-box .cc-pic-02 { left: 93.478vw; top: 0; width: 83.575vw; margin: 0 auto; margin-bottom: 3.865vw; }
  #menu .inner .menu-02 .rel-box .cc-txt-box { width: 83.575vw; margin: 0 auto; font-weight: 500; text-align: left; color: #fff; font-size: 3.382vw; letter-spacing: 0.05em; line-height: 6.28vw; }
  #menu .inner .menu-02 .rel-box .cc-txt-box .txt-01 { position: relative; margin-bottom: 5.797vw; }
  #menu .inner .menu-02 .deco-hito { position: absolute; right: 4.106vw; bottom: -14.251vw; width: 27.295vw; }
  #menu .inner .menu-03 { background-image: url(../images/index/bg-wap-03.png); background-repeat: repeat-y; background-position: center 0; padding-top: 12.077vw; padding-bottom: 14.01vw; }
  #menu .inner .menu-03 .rel-box { width: 100%; margin: 0 auto; position: relative; }
  #menu .inner .menu-03 .rel-box .cc-ttl { font-weight: bold; color: #7D5F18; background-color: #FFFFFF; width: 91.546vw; margin: 0 auto; padding: 1.932vw 1.208vw 2.174vw 7.005vw; font-size: 7.488vw; letter-spacing: 0.242vw; margin-bottom: 4.348vw; }
  #menu .inner .menu-03 .rel-box .cc-ttl .ss1 { position: relative; }
  #menu .inner .menu-03 .rel-box .cc-ttl .ss2 { letter-spacing: -1.691vw; position: relative; left: 0.966vw; letter-spacing: -0.725vw; }
  #menu .inner .menu-03 .rel-box .cc-ttl-02 { width: 100%; margin-left: auto; font-weight: bold; color: #fff; text-align: center; font-size: 5.314vw; letter-spacing: 0.05em; line-height: 8.696vw; margin-bottom: 6.522vw; }
  #menu .inner .menu-03 .rel-box .cc-pic-01 { width: 83.575vw; margin: 0 auto; margin-bottom: 1.932vw; top: 0; left: -74.879vw; }
  #menu .inner .menu-03 .rel-box .cc-pic-02 { width: 83.575vw; margin: 0 auto; margin-bottom: 3.865vw; left: 0; top: 0; }
  #menu .inner .menu-03 .rel-box .cc-txt-box { width: 83.575vw; margin: 0 auto; font-weight: 500; font-size: 4.831vw; letter-spacing: 0.05em; line-height: 7.246vw; text-align: left; color: #fff; }
  #menu .inner .menu-03 .rel-box .cc-txt-box .txt-01 { position: relative; margin-bottom: 5.797vw; font-size: 3.382vw; letter-spacing: 0.05em; line-height: 6.28vw; }
  #menu .inner .menu-03 .deco-hito { position: absolute; right: 4.106vw; bottom: -14.251vw; width: 24.155vw; }
  #menu .inner #menu-04 { background-image: url(../images/index/bg-wap-04.png); background-repeat: repeat-y; background-position: center 0; padding-top: 11.594vw; padding-bottom: 19.565vw; margin-bottom: 12.802vw; }
  #menu .inner #menu-04 .inner .en-02 { font-weight: bold; font-size: 3.382vw; letter-spacing: 0.1em; line-height: 9.662vw; text-align: center; color: #c41729; margin-bottom: 3.382vw; }
  #menu .inner #menu-04 .inner .ttl-02 { font-weight: bold; font-size: 6.28vw; letter-spacing: 0.05em; line-height: 5.797vw; text-align: center; color: #1a1a1a; margin-bottom: 10.386vw; font-size: 4.831vw; letter-spacing: 0.05em; line-height: 5.797vw; }
  #menu .inner #menu-04 .inner .menu-04-list { width: 86.957vw; margin: 0 auto; display: flex; flex-wrap: wrap; margin-bottom: 4.348vw; }
  #menu .inner #menu-04 .inner .menu-04-list >li { width: 41.063vw; margin-right: 4.831vw; margin-bottom: 5.797vw; }
  #menu .inner #menu-04 .inner .menu-04-list >li:hover img { opacity: 0.8; }
  #menu .inner #menu-04 .inner .menu-04-list >li:nth-child(2n) { margin-right: 0; }
  #menu .inner #menu-04 .inner .menu-04-list .li-ttl { font-weight: 500; text-align: center; color: #1a1a1a; padding-bottom: 2.415vw; margin-bottom: 3.865vw; border-bottom: 1px solid #4C4948; font-size: 3.382vw; letter-spacing: 0.05em; line-height: 5.918vw; }
  #menu .inner #menu-04 .inner .menu-04-list .li-ttl .ss { position: relative; display: block; width: 43.478vw; left: -1.208vw; }
  #menu .inner #menu-04 .inner .btn-kyoutu.ano1 { width: 43.478vw; margin: 0 auto; }
  #menu .inner #menu-04 .inner .btn-kyoutu.ano1 a { padding: 1.208vw 1.208vw 3.623vw 4.831vw; background-position: right 0.966vw top 1.691vw; font-size: 3.865vw; letter-spacing: 0.1em; }
  #works { margin-bottom: 14.493vw; }
  #works .inner { width: 94.203vw; margin: 0 auto; position: relative; }
  #works .ttl-box { position: relative; margin-bottom: 6.763vw; }
  #works .ttl-box .en { display: inline-block; font-weight: 900; font-size: 11.594vw; letter-spacing: 0.1em; text-align: left; color: #1a1a1a; margin-right: 2.657vw; font-size: 9.179vw; letter-spacing: 0.1em; margin-left: 1.208vw; margin-bottom: 1.691vw; margin-left: 1.208vw; }
  #works .ttl-box .ttl { display: inline-block; font-weight: bold; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 5.797vw; text-align: left; color: #1a1a1a; margin-left: 1.208vw; }
  #works .btn-kyoutu a { width: 39.614vw; padding: 1.208vw 1.208vw 4.589vw 3.382vw; background-position: right 3.382vw top 1.208vw; margin-top: -1.691vw; margin-left: 0.966vw; }

  #works .system-default-list { display: flex; flex-wrap: wrap; }
  #works .system-default-list .system-default-item { width: 45.894vw; margin-right: 2.415vw; margin-bottom: 11.594vw; }
  #works .system-default-list .system-default-item:nth-child(2n) { margin-right: 0; }
  #works .system-default-list .system-default-item { background-color: #ffffff; position: relative; }
  #works .system-default-list .system-default-item:hover img { opacity: 0.8; }
  #works .system-default-list .system-cate { font-size: 3.382vw; font-weight: 700; line-height: 1.71; z-index: 20; margin-bottom: 1.932vw; }

  #works .system-default-list .system-pic { margin-bottom: 2.657vw; }
  #works .system-default-list .system-pic img { aspect-ratio: 190 / 130; max-width: 100%; height: auto; }
  #works .system-default-list .sy-flex { font-size: 3.382vw; font-weight: 500; line-height: 1.34; letter-spacing: 0.242vw; text-align: left; margin-bottom: 0; }
  #works .system-default-list .sy-flex .sy-box-l { display: inline-block; margin-right: 1.691vw; margin-bottom: 1.691vw; }
  #works .system-default-list .sy-flex .sy-box-l .system-sy1 .ss { color: #A67C52; }
  #works .system-default-list .sy-flex .sy-box-r { display: inline-block; }
  #works .system-default-list .sy-flex .sy-box-r .system-sy2 .ss { color: #A67C52; }
  #works .system-default-list .system-ttl { font-weight: bold; font-size: 4.831vw; letter-spacing: 0.05em; line-height: 8.454vw; text-align: left; color: #1a1a1a; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 6.039vw; }


    #works .system-default-list .system-cate {
        top: 3.382vw;
        left: 3.382vw;
        font-size: 3.382vw;
        font-weight: 700;
        line-height: 1.34;
        letter-spacing: 0.242vw;
        z-index: 20;
        margin-bottom: 0.966vw;
        width: 47.585vw;
    }

    #works .system-default-list .system-cate >span {
          display: inline-block;
          padding: 1.208vw 2.415vw 1.449vw;
          min-width: 19.807vw;
          text-align: center;
          margin-right: 1.208vw;
          margin-bottom: 1.5vw;
          font-size: 2.415vw;
          border: 1px solid #1a1a1a;
          margin-right: 1.208vw;
          min-width: 22.222vw;
    }


  #voice { background-color: #EAECEE; padding-bottom: 14.493vw; padding-top: 12.802vw; }
  #voice .inner { width: 100%; margin: 0 auto; position: relative; }
  #voice .ttl-box { position: relative; margin-bottom: 7.971vw; }
  #voice .ttl-box .en { display: inline-block; font-weight: 900; text-align: left; color: #1a1a1a; margin-right: 2.174vw; font-size: 9.179vw; letter-spacing: 0.1em; margin-left: 4.106vw; }
  #voice .ttl-box .ttl { display: inline-block; font-weight: bold; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 5.797vw; text-align: left; color: #1a1a1a; position: relative; top: 1.449vw; margin-left: 4.106vw; }
  #voice .btn-kyoutu a { width: 46.014vw; top: 10.87vw; right: 0; background-position: right 0.725vw top 1.932vw; margin-top: 1.691vw; margin-left: 4.348vw; padding: 1.208vw 1.208vw 4.831vw 2.899vw; }

  #voice .system-default-list { width: 94.203vw; margin: 0 auto; display: flex; flex-wrap: wrap; }
  #voice .system-default-list .system-default-item { width: 45.894vw; margin-right: 2.415vw; margin-bottom: 4.831vw; }
  #voice .system-default-list .system-default-item:hover img { opacity: 0.8; }
  #voice .system-default-list .system-default-item:nth-child(2n) { margin-right: 0; }
  #voice .system-default-list .system-default-item { background-color: #ffffff; position: relative; }
  #voice .system-default-list .system-default-item a:hover { text-decoration: none; }
  #voice .system-default-list .system-default-item a:hover .system-ttl { text-decoration: underline; }
  #voice .system-default-list .system-pic img { aspect-ratio: 385 / 270; max-width: 100%; height: auto; }
  #voice .system-default-list .sy-flex { font-size: 3.382vw; font-weight: 500; line-height: 1.34; letter-spacing: 0.242vw; text-align: left; }
  #voice .system-default-list .sy-flex .sy-box-l { width: 100%; display: block; font-weight: normal; font-size: 3.382vw; letter-spacing: 0.05em; line-height: 5.918vw; text-align: left; color: #a67c52; border-bottom: 1px solid #EAECE7; padding: 0.725vw 2.899vw 1.449vw; font-size: 2.899vw; letter-spacing: 0.05em; line-height: 5.918vw; }
  #voice .system-default-list .system-ttl { font-weight: normal; text-align: left; color: #1a1a1a; padding: 3.14vw 2.415vw 7.729vw; font-size: 3.865vw; letter-spacing: 0.05em; line-height: 5.556vw; }
  #e { margin-top: 0; }
  #message { background-image: url(../images/index/sp-message-bg.png); background-repeat: no-repeat; background-position: center 0; background-size: 100%; min-height: 340.821vw; padding-top: 14.01vw; margin-bottom: 19.324vw; }
  #message .inner { width: 100%; margin: 0 auto; }
  #message .inner .ttl { font-weight: 700; font-size: 7.729vw; letter-spacing: 0.08em; text-align: left; color: #1a1a1a; margin-bottom: 7.729vw; padding-left: 4.348vw; }
  #message .inner .ttl .ss1 { display: block; position: relative; margin-bottom: 7.729vw; font-size: 5.314vw; letter-spacing: 0.08em; line-height: 9.662vw; }
  #message .inner .ttl .ss1 .sp-ss { margin-left: 3.865vw; }
  #message .inner .ttl .ss2 { position: relative; font-size: 5.314vw; letter-spacing: 0.08em; line-height: 8.696vw; display: block; margin-left: 3.865vw; }
  #message .inner .txt-box { width: 83.575vw; margin: 0 auto; font-weight: 500; color: #1a1a1a; font-size: 3.623vw; letter-spacing: 0.05em; line-height: 8.213vw; text-align: left; }
  #message .inner .txt-box .p-mb { margin-bottom: 8.213vw; }
  #message .inner .txt-box .ss{
    display: block;
    margin-top: 8.213vw;
  }


  .o-box { width: 83.575vw; margin: 0 auto; margin-bottom: 19.324vw; }
  #top-info { background-color: #EAECEE; padding-top: 17.15vw; padding-bottom: 14.734vw; }
  #top-info .btn-kyoutu.ano-info {position: absolute;top: 0.725vw;right: 0;}
  #top-info .btn-kyoutu.ano-info a { width: 28.986vw; padding: 1.208vw 1.208vw 2.415vw 1.691vw; color: #1a1a1a; background-position: right 1.932vw top 1.691vw; font-size: 2.899vw; letter-spacing: 0.1em; text-align: left; background-image: url(../images/index/sp-btn-deco-04.png); background-size: 2.415vw; }
  #top-info .inner .flex { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; margin-bottom: 15.459vw; }
  #top-info .inner .flex .box-l { width: 91.787vw; margin: 0 auto; position: relative; }
  #top-info .inner .flex .box-l .ttl-box { margin-bottom: 7.488vw; }
  #top-info .inner .flex .box-l .ttl-box .en { position: relative; width: 17.874vw; }
  #top-info .inner .flex .box-l .ttl-box .txt { position: absolute; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","NotoSansCJKjp","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight: normal; font-size: 3.865vw; text-align: left; color: #1a1a1a; position: absolute; left: 22.464vw; top: 0.725vw; letter-spacing: normal; font-weight: 700; }
  #top-info .inner .flex .box-l .system-list2 {margin-bottom: 14.56vw;}
  #top-info .inner .flex .box-l .system-list-inner2 { padding: 9.662vw 4.831vw; background: #fff; }
  #top-info .inner .flex .box-l .system-list2 li {line-height: 1.4;overflow: hidden;margin-bottom: 5.314vw;padding: 0 0 3.797vw;border-bottom: 1px dotted #1A1A1A;}
  #top-info .inner .flex .box-l .system-list2 li:hover img { opacity: 0.8; }
  #top-info .inner .flex .box-l .system-list2 li:hover .system-ttl-01 { text-decoration: underline; }
  #top-info .inner .flex .box-l .system-list2 li a:hover { text-decoration: none; }
  #top-info .inner .flex .box-l .system-list2 .sy-flex-1 { display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -ms-flexbox; display: flex; -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  #top-info .inner .flex .box-l .system-list2 .sy-flex-1 .box-l { width: 20%; }
  #top-info .inner .flex .box-l .system-list2 .sy-flex-1 .box-r { width: 78%; margin-left: 2%; }
  #top-info .inner .flex .box-l .system-list2 .system-pic img { max-width: 100%; height: auto; }
  #top-info .inner .flex .box-l .system-list2 .system-date {font-size: 3.382vw;line-height: 1.4;margin-bottom: 1.725vw;color: #A67C52;letter-spacing: 0.05em;}
  #top-info .inner .flex .box-l .system-list2 .system-ttl-01 { margin-bottom: 2.415vw; font-size: 3.382vw; letter-spacing: 0.05em; line-height: 4.831vw; }
  #top-info .inner .flex .box-l .system-list2 .system-contributor { font-size: 0.75em; text-align: right; color: #bbb; }
  #top-info .inner .flex .box-l .system-list2 li a { display: flex; flex-wrap: wrap; }
  #top-info .inner .flex .box-l .system-list2 li a .system-pic { width: 33.816vw; margin-right: 2.899vw; }
  #top-info .inner .flex .box-l .system-list2 li a .system-r-box {width: calc(100% - 38.647vw);}
  #top-info .inner .flex .box-l .system-list2 li a .textbx {margin-top: 1.208vw;}

#top-info .inner .flex .box-l .system-list2 li .system-category{
  display: flex;
  flex-wrap: wrap;
}

  #top-info .inner .flex .box-l .system-list2 li .system-category span {
        font-size: 2.899vw;
        display: inline-block;
        margin-right: 2.415vw;
        margin-bottom: 1.208vw;
        padding: 0.966vw 1.932vw;
        text-align: center;
        color: #1a1a1a;
        border: 1px solid #1a1a1a;
        min-width: 23.879vw;
    }


  #top-info .inner .flex .box-r { width: 91.787vw; margin: 0 auto; position: relative; }
  #top-info .inner .flex .box-r .ttl-box {margin-bottom: 4.382vw;}
  #top-info .inner .flex .box-r .ttl-box .en { position: relative; width: 14.251vw; }
  #top-info .inner .flex .box-r .ttl-box .txt { position: absolute; font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","NotoSansCJKjp","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; font-weight: normal; font-size: 3.865vw; text-align: left; color: #1a1a1a; position: absolute; left: 18.841vw; top: 0.483vw; letter-spacing: normal; font-weight: 500; }
  #top-info .inner .flex .box-r .faq-list { width: 100%; margin: 0 auto; }
  #top-info .inner .flex .box-r .faq-list li {border-bottom: 1px dotted #1A1A1A;margin-bottom: 0.966vw;padding-bottom: 2.106vw;}
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box {position: relative;font-weight: 500;text-align: left;color: #2c2620;padding: 3.865vw 11.836vw 2.449vw 5.797vw;background-image: url(../images/system/faq-q.svg);background-repeat: no-repeat;background-position: 0 4.831vw;background-size: 2.174vw;font-size: 3.623vw;letter-spacing: 0.05em;line-height: 4.831vw;}
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box:hover { cursor: pointer; cursor: hand; }
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box .faq-ch { right: 9.179vw; top: 4.831vw; width: 100%; height: 2.657vw; position: absolute; }
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-ch img { transform: scaleY(-1); }
  #top-info .inner .flex .box-r .faq-list .txt-box {width: 100%;margin: 0 auto;display: none;font-weight: 500;text-align: left;color: #2c2620;padding: 0 15.459vw 1.966vw 5.556vw;background-image: url(../images/system/faq-a.svg);background-repeat: no-repeat;background-position: 0 1.208vw;background-size: 2.174vw;font-size: 3.382vw;letter-spacing: 0.05em;line-height: 4.831vw;}
  #top-info .inner .flex .box-r .faq-list li:hover .faq-ttl { text-decoration: underline; }
  #top-info .inner .flex .box-r .faq-list li .faq-purasu { position: absolute; right: 6.763vw; top: 50%; transform: translateY(-50%); display: flex; align-items: center; justify-content: center; width: 100%; height: 7.729vw; border-radius: 12.077vw; background-color: #cfccc4; flex-shrink: 0; transition: background-color 0.3s ease, border 0.3s ease; }
  #top-info .inner .flex .box-r .faq-list li .faq-purasu::before, #top-info .inner .flex .box-r .faq-list li .faq-purasu::after { content: ""; position: absolute; display: block; width: 100%; height: 0.483vw; background-color: #fff; transition: transform 0.3s ease, background-color 0.3s ease; }
  #top-info .inner .flex .box-r .faq-list li .faq-purasu2 { position: absolute; top: 5.072vw; right: 0; width: 2.899vw; }
  #top-info .inner .flex .box-r .faq-list li .faq-purasu2 img { width: 100%; }
    #top-info .inner .flex .box-r .faq-list .faq-ttl-box .faq-purasu2 img{
        transform: scaleY(-1);
    }
    #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-purasu2 img  {
        transform: scaleY(1);
    }


  #top-info .inner .flex .box-r .faq-list li .faq-purasu::after { transform: rotate(90deg); }
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-purasu { background-color: #ffffff; border: 1px solid #cfccc4; }
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-purasu::before, #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-purasu::after { background-color: #cfccc4; }
  #top-info .inner .flex .box-r .faq-list .faq-ttl-box.is-open .faq-purasu::after { transform: rotate(0deg); }
  .top-info-seo { width: 82.126vw; margin: 0 auto; font-weight: normal; text-align: left; color: #7c7b7b; font-size: 2.899vw; letter-spacing: 0.05em; line-height: 5.072vw; }
  .mac { display: none !important; }
}

@keyframes nagare-left {
  from { background-position-x: 0; }
  to { background-position-x: calc(-1 * var(--nagare-w)); }
}
@media (prefers-reduced-motion: reduce) {
  .nagare-move-u { animation: none; }
}