@charset "UTF-8";
/* --------------------------------------------------------------------
 reset
-------------------------------------------------------------------- */
@import url("https://fonts.googleapis.com/css2?family=BIZ+UDPGothic:wght@400;700&display=swap");
html {
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
}

*,
::before,
::after {
  box-sizing: inherit;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, a, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
}

h1, h2, h3, h4, h5, h6, table {
  font-size: 100%;
}

article, aside, details, figcaption, figure,
footer, header, main, hgroup, menu, nav, section {
  display: block;
}

select, input, button, textarea {
  font-size: 99%;
}

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: normal;
}

ul, ol {
  list-style: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

sub,
sup {
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  background-color: transparent;
  border: none;
  outline: none;
  cursor: pointer;
}

/* --------------------------------------------------------------------
 helpers
-------------------------------------------------------------------- */
/* margin
-------------------------------------------------------------------- */
._mt0 {
  margin-top: 0px !important;
}

._mr0 {
  margin-right: 0px !important;
}

._mb0 {
  margin-bottom: 0px !important;
}

._ml0 {
  margin-left: 0px !important;
}

._mt-0 {
  margin-top: -0px !important;
}

._mr-0 {
  margin-right: -0px !important;
}

._mb-0 {
  margin-bottom: -0px !important;
}

._ml-0 {
  margin-left: -0px !important;
}

._mt5 {
  margin-top: 5px !important;
}

._mr5 {
  margin-right: 5px !important;
}

._mb5 {
  margin-bottom: 5px !important;
}

._ml5 {
  margin-left: 5px !important;
}

._mt-5 {
  margin-top: -5px !important;
}

._mr-5 {
  margin-right: -5px !important;
}

._mb-5 {
  margin-bottom: -5px !important;
}

._ml-5 {
  margin-left: -5px !important;
}

._mt10 {
  margin-top: 10px !important;
}

._mr10 {
  margin-right: 10px !important;
}

._mb10 {
  margin-bottom: 10px !important;
}

._ml10 {
  margin-left: 10px !important;
}

._mt-10 {
  margin-top: -10px !important;
}

._mr-10 {
  margin-right: -10px !important;
}

._mb-10 {
  margin-bottom: -10px !important;
}

._ml-10 {
  margin-left: -10px !important;
}

._mt15 {
  margin-top: 15px !important;
}

._mr15 {
  margin-right: 15px !important;
}

._mb15 {
  margin-bottom: 15px !important;
}

._ml15 {
  margin-left: 15px !important;
}

._mt-15 {
  margin-top: -15px !important;
}

._mr-15 {
  margin-right: -15px !important;
}

._mb-15 {
  margin-bottom: -15px !important;
}

._ml-15 {
  margin-left: -15px !important;
}

._mt20 {
  margin-top: 20px !important;
}

._mr20 {
  margin-right: 20px !important;
}

._mb20 {
  margin-bottom: 20px !important;
}

._ml20 {
  margin-left: 20px !important;
}

._mt-20 {
  margin-top: -20px !important;
}

._mr-20 {
  margin-right: -20px !important;
}

._mb-20 {
  margin-bottom: -20px !important;
}

._ml-20 {
  margin-left: -20px !important;
}

._mt25 {
  margin-top: 25px !important;
}

._mr25 {
  margin-right: 25px !important;
}

._mb25 {
  margin-bottom: 25px !important;
}

._ml25 {
  margin-left: 25px !important;
}

._mt-25 {
  margin-top: -25px !important;
}

._mr-25 {
  margin-right: -25px !important;
}

._mb-25 {
  margin-bottom: -25px !important;
}

._ml-25 {
  margin-left: -25px !important;
}

._mt30 {
  margin-top: 30px !important;
}

._mr30 {
  margin-right: 30px !important;
}

._mb30 {
  margin-bottom: 30px !important;
}

._ml30 {
  margin-left: 30px !important;
}

._mt-30 {
  margin-top: -30px !important;
}

._mr-30 {
  margin-right: -30px !important;
}

._mb-30 {
  margin-bottom: -30px !important;
}

._ml-30 {
  margin-left: -30px !important;
}

._mt35 {
  margin-top: 35px !important;
}

._mr35 {
  margin-right: 35px !important;
}

._mb35 {
  margin-bottom: 35px !important;
}

._ml35 {
  margin-left: 35px !important;
}

._mt-35 {
  margin-top: -35px !important;
}

._mr-35 {
  margin-right: -35px !important;
}

._mb-35 {
  margin-bottom: -35px !important;
}

._ml-35 {
  margin-left: -35px !important;
}

._mt40 {
  margin-top: 40px !important;
}

._mr40 {
  margin-right: 40px !important;
}

._mb40 {
  margin-bottom: 40px !important;
}

._ml40 {
  margin-left: 40px !important;
}

._mt-40 {
  margin-top: -40px !important;
}

._mr-40 {
  margin-right: -40px !important;
}

._mb-40 {
  margin-bottom: -40px !important;
}

._ml-40 {
  margin-left: -40px !important;
}

._mt45 {
  margin-top: 45px !important;
}

._mr45 {
  margin-right: 45px !important;
}

._mb45 {
  margin-bottom: 45px !important;
}

._ml45 {
  margin-left: 45px !important;
}

._mt-45 {
  margin-top: -45px !important;
}

._mr-45 {
  margin-right: -45px !important;
}

._mb-45 {
  margin-bottom: -45px !important;
}

._ml-45 {
  margin-left: -45px !important;
}

._mt50 {
  margin-top: 50px !important;
}

._mr50 {
  margin-right: 50px !important;
}

._mb50 {
  margin-bottom: 50px !important;
}

._ml50 {
  margin-left: 50px !important;
}

._mt-50 {
  margin-top: -50px !important;
}

._mr-50 {
  margin-right: -50px !important;
}

._mb-50 {
  margin-bottom: -50px !important;
}

._ml-50 {
  margin-left: -50px !important;
}

._mt55 {
  margin-top: 55px !important;
}

._mr55 {
  margin-right: 55px !important;
}

._mb55 {
  margin-bottom: 55px !important;
}

._ml55 {
  margin-left: 55px !important;
}

._mt-55 {
  margin-top: -55px !important;
}

._mr-55 {
  margin-right: -55px !important;
}

._mb-55 {
  margin-bottom: -55px !important;
}

._ml-55 {
  margin-left: -55px !important;
}

._mt60 {
  margin-top: 60px !important;
}

._mr60 {
  margin-right: 60px !important;
}

._mb60 {
  margin-bottom: 60px !important;
}

._ml60 {
  margin-left: 60px !important;
}

._mt-60 {
  margin-top: -60px !important;
}

._mr-60 {
  margin-right: -60px !important;
}

._mb-60 {
  margin-bottom: -60px !important;
}

._ml-60 {
  margin-left: -60px !important;
}

._mt65 {
  margin-top: 65px !important;
}

._mr65 {
  margin-right: 65px !important;
}

._mb65 {
  margin-bottom: 65px !important;
}

._ml65 {
  margin-left: 65px !important;
}

._mt-65 {
  margin-top: -65px !important;
}

._mr-65 {
  margin-right: -65px !important;
}

._mb-65 {
  margin-bottom: -65px !important;
}

._ml-65 {
  margin-left: -65px !important;
}

._mt70 {
  margin-top: 70px !important;
}

._mr70 {
  margin-right: 70px !important;
}

._mb70 {
  margin-bottom: 70px !important;
}

._ml70 {
  margin-left: 70px !important;
}

._mt-70 {
  margin-top: -70px !important;
}

._mr-70 {
  margin-right: -70px !important;
}

._mb-70 {
  margin-bottom: -70px !important;
}

._ml-70 {
  margin-left: -70px !important;
}

._mt75 {
  margin-top: 75px !important;
}

._mr75 {
  margin-right: 75px !important;
}

._mb75 {
  margin-bottom: 75px !important;
}

._ml75 {
  margin-left: 75px !important;
}

._mt-75 {
  margin-top: -75px !important;
}

._mr-75 {
  margin-right: -75px !important;
}

._mb-75 {
  margin-bottom: -75px !important;
}

._ml-75 {
  margin-left: -75px !important;
}

._mt80 {
  margin-top: 80px !important;
}

._mr80 {
  margin-right: 80px !important;
}

._mb80 {
  margin-bottom: 80px !important;
}

._ml80 {
  margin-left: 80px !important;
}

._mt-80 {
  margin-top: -80px !important;
}

._mr-80 {
  margin-right: -80px !important;
}

._mb-80 {
  margin-bottom: -80px !important;
}

._ml-80 {
  margin-left: -80px !important;
}

._mt85 {
  margin-top: 85px !important;
}

._mr85 {
  margin-right: 85px !important;
}

._mb85 {
  margin-bottom: 85px !important;
}

._ml85 {
  margin-left: 85px !important;
}

._mt-85 {
  margin-top: -85px !important;
}

._mr-85 {
  margin-right: -85px !important;
}

._mb-85 {
  margin-bottom: -85px !important;
}

._ml-85 {
  margin-left: -85px !important;
}

._mt90 {
  margin-top: 90px !important;
}

._mr90 {
  margin-right: 90px !important;
}

._mb90 {
  margin-bottom: 90px !important;
}

._ml90 {
  margin-left: 90px !important;
}

._mt-90 {
  margin-top: -90px !important;
}

._mr-90 {
  margin-right: -90px !important;
}

._mb-90 {
  margin-bottom: -90px !important;
}

._ml-90 {
  margin-left: -90px !important;
}

._mt95 {
  margin-top: 95px !important;
}

._mr95 {
  margin-right: 95px !important;
}

._mb95 {
  margin-bottom: 95px !important;
}

._ml95 {
  margin-left: 95px !important;
}

._mt-95 {
  margin-top: -95px !important;
}

._mr-95 {
  margin-right: -95px !important;
}

._mb-95 {
  margin-bottom: -95px !important;
}

._ml-95 {
  margin-left: -95px !important;
}

._mt100 {
  margin-top: 100px !important;
}

._mr100 {
  margin-right: 100px !important;
}

._mb100 {
  margin-bottom: 100px !important;
}

._ml100 {
  margin-left: 100px !important;
}

._mt-100 {
  margin-top: -100px !important;
}

._mr-100 {
  margin-right: -100px !important;
}

._mb-100 {
  margin-bottom: -100px !important;
}

._ml-100 {
  margin-left: -100px !important;
}

._ma {
  margin: auto;
}
._mlra {
  margin-left: auto !important;
  margin-right: auto !important;
}

@media all and (min-width: 500px) {
  ._pc-mt0 {
    margin-top: 0px !important;
  }
  ._pc-mr0 {
    margin-right: 0px !important;
  }
  ._pc-mb0 {
    margin-bottom: 0px !important;
  }
  ._pc-ml0 {
    margin-left: 0px !important;
  }
  ._pc-mt-0 {
    margin-top: -0px !important;
  }
  ._pc-mr-0 {
    margin-right: -0px !important;
  }
  ._pc-mb-0 {
    margin-bottom: -0px !important;
  }
  ._pc-ml-0 {
    margin-left: -0px !important;
  }
  ._pc-mt5 {
    margin-top: 5px !important;
  }
  ._pc-mr5 {
    margin-right: 5px !important;
  }
  ._pc-mb5 {
    margin-bottom: 5px !important;
  }
  ._pc-ml5 {
    margin-left: 5px !important;
  }
  ._pc-mt-5 {
    margin-top: -5px !important;
  }
  ._pc-mr-5 {
    margin-right: -5px !important;
  }
  ._pc-mb-5 {
    margin-bottom: -5px !important;
  }
  ._pc-ml-5 {
    margin-left: -5px !important;
  }
  ._pc-mt10 {
    margin-top: 10px !important;
  }
  ._pc-mr10 {
    margin-right: 10px !important;
  }
  ._pc-mb10 {
    margin-bottom: 10px !important;
  }
  ._pc-ml10 {
    margin-left: 10px !important;
  }
  ._pc-mt-10 {
    margin-top: -10px !important;
  }
  ._pc-mr-10 {
    margin-right: -10px !important;
  }
  ._pc-mb-10 {
    margin-bottom: -10px !important;
  }
  ._pc-ml-10 {
    margin-left: -10px !important;
  }
  ._pc-mt15 {
    margin-top: 15px !important;
  }
  ._pc-mr15 {
    margin-right: 15px !important;
  }
  ._pc-mb15 {
    margin-bottom: 15px !important;
  }
  ._pc-ml15 {
    margin-left: 15px !important;
  }
  ._pc-mt-15 {
    margin-top: -15px !important;
  }
  ._pc-mr-15 {
    margin-right: -15px !important;
  }
  ._pc-mb-15 {
    margin-bottom: -15px !important;
  }
  ._pc-ml-15 {
    margin-left: -15px !important;
  }
  ._pc-mt20 {
    margin-top: 20px !important;
  }
  ._pc-mr20 {
    margin-right: 20px !important;
  }
  ._pc-mb20 {
    margin-bottom: 20px !important;
  }
  ._pc-ml20 {
    margin-left: 20px !important;
  }
  ._pc-mt-20 {
    margin-top: -20px !important;
  }
  ._pc-mr-20 {
    margin-right: -20px !important;
  }
  ._pc-mb-20 {
    margin-bottom: -20px !important;
  }
  ._pc-ml-20 {
    margin-left: -20px !important;
  }
  ._pc-mt25 {
    margin-top: 25px !important;
  }
  ._pc-mr25 {
    margin-right: 25px !important;
  }
  ._pc-mb25 {
    margin-bottom: 25px !important;
  }
  ._pc-ml25 {
    margin-left: 25px !important;
  }
  ._pc-mt-25 {
    margin-top: -25px !important;
  }
  ._pc-mr-25 {
    margin-right: -25px !important;
  }
  ._pc-mb-25 {
    margin-bottom: -25px !important;
  }
  ._pc-ml-25 {
    margin-left: -25px !important;
  }
  ._pc-mt30 {
    margin-top: 30px !important;
  }
  ._pc-mr30 {
    margin-right: 30px !important;
  }
  ._pc-mb30 {
    margin-bottom: 30px !important;
  }
  ._pc-ml30 {
    margin-left: 30px !important;
  }
  ._pc-mt-30 {
    margin-top: -30px !important;
  }
  ._pc-mr-30 {
    margin-right: -30px !important;
  }
  ._pc-mb-30 {
    margin-bottom: -30px !important;
  }
  ._pc-ml-30 {
    margin-left: -30px !important;
  }
  ._pc-mt35 {
    margin-top: 35px !important;
  }
  ._pc-mr35 {
    margin-right: 35px !important;
  }
  ._pc-mb35 {
    margin-bottom: 35px !important;
  }
  ._pc-ml35 {
    margin-left: 35px !important;
  }
  ._pc-mt-35 {
    margin-top: -35px !important;
  }
  ._pc-mr-35 {
    margin-right: -35px !important;
  }
  ._pc-mb-35 {
    margin-bottom: -35px !important;
  }
  ._pc-ml-35 {
    margin-left: -35px !important;
  }
  ._pc-mt40 {
    margin-top: 40px !important;
  }
  ._pc-mr40 {
    margin-right: 40px !important;
  }
  ._pc-mb40 {
    margin-bottom: 40px !important;
  }
  ._pc-ml40 {
    margin-left: 40px !important;
  }
  ._pc-mt-40 {
    margin-top: -40px !important;
  }
  ._pc-mr-40 {
    margin-right: -40px !important;
  }
  ._pc-mb-40 {
    margin-bottom: -40px !important;
  }
  ._pc-ml-40 {
    margin-left: -40px !important;
  }
  ._pc-mt45 {
    margin-top: 45px !important;
  }
  ._pc-mr45 {
    margin-right: 45px !important;
  }
  ._pc-mb45 {
    margin-bottom: 45px !important;
  }
  ._pc-ml45 {
    margin-left: 45px !important;
  }
  ._pc-mt-45 {
    margin-top: -45px !important;
  }
  ._pc-mr-45 {
    margin-right: -45px !important;
  }
  ._pc-mb-45 {
    margin-bottom: -45px !important;
  }
  ._pc-ml-45 {
    margin-left: -45px !important;
  }
  ._pc-mt50 {
    margin-top: 50px !important;
  }
  ._pc-mr50 {
    margin-right: 50px !important;
  }
  ._pc-mb50 {
    margin-bottom: 50px !important;
  }
  ._pc-ml50 {
    margin-left: 50px !important;
  }
  ._pc-mt-50 {
    margin-top: -50px !important;
  }
  ._pc-mr-50 {
    margin-right: -50px !important;
  }
  ._pc-mb-50 {
    margin-bottom: -50px !important;
  }
  ._pc-ml-50 {
    margin-left: -50px !important;
  }
  ._pc-mt55 {
    margin-top: 55px !important;
  }
  ._pc-mr55 {
    margin-right: 55px !important;
  }
  ._pc-mb55 {
    margin-bottom: 55px !important;
  }
  ._pc-ml55 {
    margin-left: 55px !important;
  }
  ._pc-mt-55 {
    margin-top: -55px !important;
  }
  ._pc-mr-55 {
    margin-right: -55px !important;
  }
  ._pc-mb-55 {
    margin-bottom: -55px !important;
  }
  ._pc-ml-55 {
    margin-left: -55px !important;
  }
  ._pc-mt60 {
    margin-top: 60px !important;
  }
  ._pc-mr60 {
    margin-right: 60px !important;
  }
  ._pc-mb60 {
    margin-bottom: 60px !important;
  }
  ._pc-ml60 {
    margin-left: 60px !important;
  }
  ._pc-mt-60 {
    margin-top: -60px !important;
  }
  ._pc-mr-60 {
    margin-right: -60px !important;
  }
  ._pc-mb-60 {
    margin-bottom: -60px !important;
  }
  ._pc-ml-60 {
    margin-left: -60px !important;
  }
  ._pc-mt65 {
    margin-top: 65px !important;
  }
  ._pc-mr65 {
    margin-right: 65px !important;
  }
  ._pc-mb65 {
    margin-bottom: 65px !important;
  }
  ._pc-ml65 {
    margin-left: 65px !important;
  }
  ._pc-mt-65 {
    margin-top: -65px !important;
  }
  ._pc-mr-65 {
    margin-right: -65px !important;
  }
  ._pc-mb-65 {
    margin-bottom: -65px !important;
  }
  ._pc-ml-65 {
    margin-left: -65px !important;
  }
  ._pc-mt70 {
    margin-top: 70px !important;
  }
  ._pc-mr70 {
    margin-right: 70px !important;
  }
  ._pc-mb70 {
    margin-bottom: 70px !important;
  }
  ._pc-ml70 {
    margin-left: 70px !important;
  }
  ._pc-mt-70 {
    margin-top: -70px !important;
  }
  ._pc-mr-70 {
    margin-right: -70px !important;
  }
  ._pc-mb-70 {
    margin-bottom: -70px !important;
  }
  ._pc-ml-70 {
    margin-left: -70px !important;
  }
  ._pc-mt75 {
    margin-top: 75px !important;
  }
  ._pc-mr75 {
    margin-right: 75px !important;
  }
  ._pc-mb75 {
    margin-bottom: 75px !important;
  }
  ._pc-ml75 {
    margin-left: 75px !important;
  }
  ._pc-mt-75 {
    margin-top: -75px !important;
  }
  ._pc-mr-75 {
    margin-right: -75px !important;
  }
  ._pc-mb-75 {
    margin-bottom: -75px !important;
  }
  ._pc-ml-75 {
    margin-left: -75px !important;
  }
  ._pc-mt80 {
    margin-top: 80px !important;
  }
  ._pc-mr80 {
    margin-right: 80px !important;
  }
  ._pc-mb80 {
    margin-bottom: 80px !important;
  }
  ._pc-ml80 {
    margin-left: 80px !important;
  }
  ._pc-mt-80 {
    margin-top: -80px !important;
  }
  ._pc-mr-80 {
    margin-right: -80px !important;
  }
  ._pc-mb-80 {
    margin-bottom: -80px !important;
  }
  ._pc-ml-80 {
    margin-left: -80px !important;
  }
  ._pc-mt85 {
    margin-top: 85px !important;
  }
  ._pc-mr85 {
    margin-right: 85px !important;
  }
  ._pc-mb85 {
    margin-bottom: 85px !important;
  }
  ._pc-ml85 {
    margin-left: 85px !important;
  }
  ._pc-mt-85 {
    margin-top: -85px !important;
  }
  ._pc-mr-85 {
    margin-right: -85px !important;
  }
  ._pc-mb-85 {
    margin-bottom: -85px !important;
  }
  ._pc-ml-85 {
    margin-left: -85px !important;
  }
  ._pc-mt90 {
    margin-top: 90px !important;
  }
  ._pc-mr90 {
    margin-right: 90px !important;
  }
  ._pc-mb90 {
    margin-bottom: 90px !important;
  }
  ._pc-ml90 {
    margin-left: 90px !important;
  }
  ._pc-mt-90 {
    margin-top: -90px !important;
  }
  ._pc-mr-90 {
    margin-right: -90px !important;
  }
  ._pc-mb-90 {
    margin-bottom: -90px !important;
  }
  ._pc-ml-90 {
    margin-left: -90px !important;
  }
  ._pc-mt95 {
    margin-top: 95px !important;
  }
  ._pc-mr95 {
    margin-right: 95px !important;
  }
  ._pc-mb95 {
    margin-bottom: 95px !important;
  }
  ._pc-ml95 {
    margin-left: 95px !important;
  }
  ._pc-mt-95 {
    margin-top: -95px !important;
  }
  ._pc-mr-95 {
    margin-right: -95px !important;
  }
  ._pc-mb-95 {
    margin-bottom: -95px !important;
  }
  ._pc-ml-95 {
    margin-left: -95px !important;
  }
  ._pc-mt100 {
    margin-top: 100px !important;
  }
  ._pc-mr100 {
    margin-right: 100px !important;
  }
  ._pc-mb100 {
    margin-bottom: 100px !important;
  }
  ._pc-ml100 {
    margin-left: 100px !important;
  }
  ._pc-mt-100 {
    margin-top: -100px !important;
  }
  ._pc-mr-100 {
    margin-right: -100px !important;
  }
  ._pc-mb-100 {
    margin-bottom: -100px !important;
  }
  ._pc-ml-100 {
    margin-left: -100px !important;
  }
  ._pc-ma {
    margin: auto;
  }
}

@media screen and (max-width: 499.9px) {
  ._sp-mt0 {
    margin-top: 0px !important;
  }
  ._sp-mr0 {
    margin-right: 0px !important;
  }
  ._sp-mb0 {
    margin-bottom: 0px !important;
  }
  ._sp-ml0 {
    margin-left: 0px !important;
  }
  ._sp-mt-0 {
    margin-top: -0px !important;
  }
  ._sp-mr-0 {
    margin-right: -0px !important;
  }
  ._sp-mb-0 {
    margin-bottom: -0px !important;
  }
  ._sp-ml-0 {
    margin-left: -0px !important;
  }
  ._sp-mt5 {
    margin-top: 5px !important;
  }
  ._sp-mr5 {
    margin-right: 5px !important;
  }
  ._sp-mb5 {
    margin-bottom: 5px !important;
  }
  ._sp-ml5 {
    margin-left: 5px !important;
  }
  ._sp-mt-5 {
    margin-top: -5px !important;
  }
  ._sp-mr-5 {
    margin-right: -5px !important;
  }
  ._sp-mb-5 {
    margin-bottom: -5px !important;
  }
  ._sp-ml-5 {
    margin-left: -5px !important;
  }
  ._sp-mt10 {
    margin-top: 10px !important;
  }
  ._sp-mr10 {
    margin-right: 10px !important;
  }
  ._sp-mb10 {
    margin-bottom: 10px !important;
  }
  ._sp-ml10 {
    margin-left: 10px !important;
  }
  ._sp-mt-10 {
    margin-top: -10px !important;
  }
  ._sp-mr-10 {
    margin-right: -10px !important;
  }
  ._sp-mb-10 {
    margin-bottom: -10px !important;
  }
  ._sp-ml-10 {
    margin-left: -10px !important;
  }
  ._sp-mt15 {
    margin-top: 15px !important;
  }
  ._sp-mr15 {
    margin-right: 15px !important;
  }
  ._sp-mb15 {
    margin-bottom: 15px !important;
  }
  ._sp-ml15 {
    margin-left: 15px !important;
  }
  ._sp-mt-15 {
    margin-top: -15px !important;
  }
  ._sp-mr-15 {
    margin-right: -15px !important;
  }
  ._sp-mb-15 {
    margin-bottom: -15px !important;
  }
  ._sp-ml-15 {
    margin-left: -15px !important;
  }
  ._sp-mt20 {
    margin-top: 20px !important;
  }
  ._sp-mr20 {
    margin-right: 20px !important;
  }
  ._sp-mb20 {
    margin-bottom: 20px !important;
  }
  ._sp-ml20 {
    margin-left: 20px !important;
  }
  ._sp-mt-20 {
    margin-top: -20px !important;
  }
  ._sp-mr-20 {
    margin-right: -20px !important;
  }
  ._sp-mb-20 {
    margin-bottom: -20px !important;
  }
  ._sp-ml-20 {
    margin-left: -20px !important;
  }
  ._sp-mt25 {
    margin-top: 25px !important;
  }
  ._sp-mr25 {
    margin-right: 25px !important;
  }
  ._sp-mb25 {
    margin-bottom: 25px !important;
  }
  ._sp-ml25 {
    margin-left: 25px !important;
  }
  ._sp-mt-25 {
    margin-top: -25px !important;
  }
  ._sp-mr-25 {
    margin-right: -25px !important;
  }
  ._sp-mb-25 {
    margin-bottom: -25px !important;
  }
  ._sp-ml-25 {
    margin-left: -25px !important;
  }
  ._sp-mt30 {
    margin-top: 30px !important;
  }
  ._sp-mr30 {
    margin-right: 30px !important;
  }
  ._sp-mb30 {
    margin-bottom: 30px !important;
  }
  ._sp-ml30 {
    margin-left: 30px !important;
  }
  ._sp-mt-30 {
    margin-top: -30px !important;
  }
  ._sp-mr-30 {
    margin-right: -30px !important;
  }
  ._sp-mb-30 {
    margin-bottom: -30px !important;
  }
  ._sp-ml-30 {
    margin-left: -30px !important;
  }
  ._sp-mt35 {
    margin-top: 35px !important;
  }
  ._sp-mr35 {
    margin-right: 35px !important;
  }
  ._sp-mb35 {
    margin-bottom: 35px !important;
  }
  ._sp-ml35 {
    margin-left: 35px !important;
  }
  ._sp-mt-35 {
    margin-top: -35px !important;
  }
  ._sp-mr-35 {
    margin-right: -35px !important;
  }
  ._sp-mb-35 {
    margin-bottom: -35px !important;
  }
  ._sp-ml-35 {
    margin-left: -35px !important;
  }
  ._sp-mt40 {
    margin-top: 40px !important;
  }
  ._sp-mr40 {
    margin-right: 40px !important;
  }
  ._sp-mb40 {
    margin-bottom: 40px !important;
  }
  ._sp-ml40 {
    margin-left: 40px !important;
  }
  ._sp-mt-40 {
    margin-top: -40px !important;
  }
  ._sp-mr-40 {
    margin-right: -40px !important;
  }
  ._sp-mb-40 {
    margin-bottom: -40px !important;
  }
  ._sp-ml-40 {
    margin-left: -40px !important;
  }
  ._sp-mt45 {
    margin-top: 45px !important;
  }
  ._sp-mr45 {
    margin-right: 45px !important;
  }
  ._sp-mb45 {
    margin-bottom: 45px !important;
  }
  ._sp-ml45 {
    margin-left: 45px !important;
  }
  ._sp-mt-45 {
    margin-top: -45px !important;
  }
  ._sp-mr-45 {
    margin-right: -45px !important;
  }
  ._sp-mb-45 {
    margin-bottom: -45px !important;
  }
  ._sp-ml-45 {
    margin-left: -45px !important;
  }
  ._sp-mt50 {
    margin-top: 50px !important;
  }
  ._sp-mr50 {
    margin-right: 50px !important;
  }
  ._sp-mb50 {
    margin-bottom: 50px !important;
  }
  ._sp-ml50 {
    margin-left: 50px !important;
  }
  ._sp-mt-50 {
    margin-top: -50px !important;
  }
  ._sp-mr-50 {
    margin-right: -50px !important;
  }
  ._sp-mb-50 {
    margin-bottom: -50px !important;
  }
  ._sp-ml-50 {
    margin-left: -50px !important;
  }
  ._sp-mt55 {
    margin-top: 55px !important;
  }
  ._sp-mr55 {
    margin-right: 55px !important;
  }
  ._sp-mb55 {
    margin-bottom: 55px !important;
  }
  ._sp-ml55 {
    margin-left: 55px !important;
  }
  ._sp-mt-55 {
    margin-top: -55px !important;
  }
  ._sp-mr-55 {
    margin-right: -55px !important;
  }
  ._sp-mb-55 {
    margin-bottom: -55px !important;
  }
  ._sp-ml-55 {
    margin-left: -55px !important;
  }
  ._sp-mt60 {
    margin-top: 60px !important;
  }
  ._sp-mr60 {
    margin-right: 60px !important;
  }
  ._sp-mb60 {
    margin-bottom: 60px !important;
  }
  ._sp-ml60 {
    margin-left: 60px !important;
  }
  ._sp-mt-60 {
    margin-top: -60px !important;
  }
  ._sp-mr-60 {
    margin-right: -60px !important;
  }
  ._sp-mb-60 {
    margin-bottom: -60px !important;
  }
  ._sp-ml-60 {
    margin-left: -60px !important;
  }
  ._sp-mt65 {
    margin-top: 65px !important;
  }
  ._sp-mr65 {
    margin-right: 65px !important;
  }
  ._sp-mb65 {
    margin-bottom: 65px !important;
  }
  ._sp-ml65 {
    margin-left: 65px !important;
  }
  ._sp-mt-65 {
    margin-top: -65px !important;
  }
  ._sp-mr-65 {
    margin-right: -65px !important;
  }
  ._sp-mb-65 {
    margin-bottom: -65px !important;
  }
  ._sp-ml-65 {
    margin-left: -65px !important;
  }
  ._sp-mt70 {
    margin-top: 70px !important;
  }
  ._sp-mr70 {
    margin-right: 70px !important;
  }
  ._sp-mb70 {
    margin-bottom: 70px !important;
  }
  ._sp-ml70 {
    margin-left: 70px !important;
  }
  ._sp-mt-70 {
    margin-top: -70px !important;
  }
  ._sp-mr-70 {
    margin-right: -70px !important;
  }
  ._sp-mb-70 {
    margin-bottom: -70px !important;
  }
  ._sp-ml-70 {
    margin-left: -70px !important;
  }
  ._sp-mt75 {
    margin-top: 75px !important;
  }
  ._sp-mr75 {
    margin-right: 75px !important;
  }
  ._sp-mb75 {
    margin-bottom: 75px !important;
  }
  ._sp-ml75 {
    margin-left: 75px !important;
  }
  ._sp-mt-75 {
    margin-top: -75px !important;
  }
  ._sp-mr-75 {
    margin-right: -75px !important;
  }
  ._sp-mb-75 {
    margin-bottom: -75px !important;
  }
  ._sp-ml-75 {
    margin-left: -75px !important;
  }
  ._sp-mt80 {
    margin-top: 80px !important;
  }
  ._sp-mr80 {
    margin-right: 80px !important;
  }
  ._sp-mb80 {
    margin-bottom: 80px !important;
  }
  ._sp-ml80 {
    margin-left: 80px !important;
  }
  ._sp-mt-80 {
    margin-top: -80px !important;
  }
  ._sp-mr-80 {
    margin-right: -80px !important;
  }
  ._sp-mb-80 {
    margin-bottom: -80px !important;
  }
  ._sp-ml-80 {
    margin-left: -80px !important;
  }
  ._sp-mt85 {
    margin-top: 85px !important;
  }
  ._sp-mr85 {
    margin-right: 85px !important;
  }
  ._sp-mb85 {
    margin-bottom: 85px !important;
  }
  ._sp-ml85 {
    margin-left: 85px !important;
  }
  ._sp-mt-85 {
    margin-top: -85px !important;
  }
  ._sp-mr-85 {
    margin-right: -85px !important;
  }
  ._sp-mb-85 {
    margin-bottom: -85px !important;
  }
  ._sp-ml-85 {
    margin-left: -85px !important;
  }
  ._sp-mt90 {
    margin-top: 90px !important;
  }
  ._sp-mr90 {
    margin-right: 90px !important;
  }
  ._sp-mb90 {
    margin-bottom: 90px !important;
  }
  ._sp-ml90 {
    margin-left: 90px !important;
  }
  ._sp-mt-90 {
    margin-top: -90px !important;
  }
  ._sp-mr-90 {
    margin-right: -90px !important;
  }
  ._sp-mb-90 {
    margin-bottom: -90px !important;
  }
  ._sp-ml-90 {
    margin-left: -90px !important;
  }
  ._sp-mt95 {
    margin-top: 95px !important;
  }
  ._sp-mr95 {
    margin-right: 95px !important;
  }
  ._sp-mb95 {
    margin-bottom: 95px !important;
  }
  ._sp-ml95 {
    margin-left: 95px !important;
  }
  ._sp-mt-95 {
    margin-top: -95px !important;
  }
  ._sp-mr-95 {
    margin-right: -95px !important;
  }
  ._sp-mb-95 {
    margin-bottom: -95px !important;
  }
  ._sp-ml-95 {
    margin-left: -95px !important;
  }
  ._sp-mt100 {
    margin-top: 100px !important;
  }
  ._sp-mr100 {
    margin-right: 100px !important;
  }
  ._sp-mb100 {
    margin-bottom: 100px !important;
  }
  ._sp-ml100 {
    margin-left: 100px !important;
  }
  ._sp-mt-100 {
    margin-top: -100px !important;
  }
  ._sp-mr-100 {
    margin-right: -100px !important;
  }
  ._sp-mb-100 {
    margin-bottom: -100px !important;
  }
  ._sp-ml-100 {
    margin-left: -100px !important;
  }
  ._sp-ma {
    margin: auto;
  }
}



/*-------------------------------------------------------------------- */
/* padding
-------------------------------------------------------------------- */
._pt0 {
  padding-top: 0px !important;
}

._pr0 {
  padding-right: 0px !important;
}

._pb0 {
  padding-bottom: 0px !important;
}

._pl0 {
  padding-left: 0px !important;
}

._pt5 {
  padding-top: 5px !important;
}

._pr5 {
  padding-right: 5px !important;
}

._pb5 {
  padding-bottom: 5px !important;
}

._pl5 {
  padding-left: 5px !important;
}

._pt10 {
  padding-top: 10px !important;
}

._pr10 {
  padding-right: 10px !important;
}

._pb10 {
  padding-bottom: 10px !important;
}

._pl10 {
  padding-left: 10px !important;
}

._pt15 {
  padding-top: 15px !important;
}

._pr15 {
  padding-right: 15px !important;
}

._pb15 {
  padding-bottom: 15px !important;
}

._pl15 {
  padding-left: 15px !important;
}

._pt20 {
  padding-top: 20px !important;
}

._pr20 {
  padding-right: 20px !important;
}

._pb20 {
  padding-bottom: 20px !important;
}

._pl20 {
  padding-left: 20px !important;
}

._pt25 {
  padding-top: 25px !important;
}

._pr25 {
  padding-right: 25px !important;
}

._pb25 {
  padding-bottom: 25px !important;
}

._pl25 {
  padding-left: 25px !important;
}

._pt30 {
  padding-top: 30px !important;
}

._pr30 {
  padding-right: 30px !important;
}

._pb30 {
  padding-bottom: 30px !important;
}

._pl30 {
  padding-left: 30px !important;
}

._pt35 {
  padding-top: 35px !important;
}

._pr35 {
  padding-right: 35px !important;
}

._pb35 {
  padding-bottom: 35px !important;
}

._pl35 {
  padding-left: 35px !important;
}

._pt40 {
  padding-top: 40px !important;
}

._pr40 {
  padding-right: 40px !important;
}

._pb40 {
  padding-bottom: 40px !important;
}

._pl40 {
  padding-left: 40px !important;
}

._pt45 {
  padding-top: 45px !important;
}

._pr45 {
  padding-right: 45px !important;
}

._pb45 {
  padding-bottom: 45px !important;
}

._pl45 {
  padding-left: 45px !important;
}

._pt50 {
  padding-top: 50px !important;
}

._pr50 {
  padding-right: 50px !important;
}

._pb50 {
  padding-bottom: 50px !important;
}

._pl50 {
  padding-left: 50px !important;
}

._pt55 {
  padding-top: 55px !important;
}

._pr55 {
  padding-right: 55px !important;
}

._pb55 {
  padding-bottom: 55px !important;
}

._pl55 {
  padding-left: 55px !important;
}

._pt60 {
  padding-top: 60px !important;
}

._pr60 {
  padding-right: 60px !important;
}

._pb60 {
  padding-bottom: 60px !important;
}

._pl60 {
  padding-left: 60px !important;
}


._pt65 {
  padding-top: 65px !important;
}

._pr65 {
  padding-right: 65px !important;
}

._pb65 {
  padding-bottom: 65px !important;
}

._pl65 {
  padding-left: 65px !important;
}


._pt70 {
  padding-top: 70px !important;
}

._pr70 {
  padding-right: 70px !important;
}

._pb70 {
  padding-bottom: 70px !important;
}

._pl70 {
  padding-left: 70px !important;
}


._pt75 {
  padding-top: 75px !important;
}

._pr75 {
  padding-right: 75px !important;
}

._pb75 {
  padding-bottom: 75px !important;
}

._pl75 {
  padding-left: 75px !important;
}

._pt80 {
  padding-top: 80px !important;
}

._pr80 {
  padding-right: 80px !important;
}

._pb80 {
  padding-bottom: 80px !important;
}

._pl80 {
  padding-left: 80px !important;
}

._pt85 {
  padding-top: 85px !important;
}

._pr85 {
  padding-right: 85px !important;
}

._pb85 {
  padding-bottom: 85px !important;
}

._pl85 {
  padding-left: 85px !important;
}

._pt90 {
  padding-top: 90px !important;
}

._pr90 {
  padding-right: 90px !important;
}

._pb90 {
  padding-bottom: 90px !important;
}

._pl90 {
  padding-left: 90px !important;
}


._pt95 {
  padding-top: 95px !important;
}

._pr95 {
  padding-right: 95px !important;
}

._pb95 {
  padding-bottom: 95px !important;
}

._pl95 {
  padding-left: 95px !important;
}

._pt100 {
  padding-top: 100px !important;
}

._pr100 {
  padding-right: 100px !important;
}

._pb100 {
  padding-bottom: 100px !important;
}

._pl100 {
  padding-left: 100px !important;
}



/* width
 -------------------------------------------------------------------- */
._w1 {
  width: 1% !important;
}

._w2 {
  width: 2% !important;
}

._w3 {
  width: 3% !important;
}

._w4 {
  width: 4% !important;
}

._w5 {
  width: 5% !important;
}

._w6 {
  width: 6% !important;
}

._w7 {
  width: 7% !important;
}

._w8 {
  width: 8% !important;
}

._w9 {
  width: 9% !important;
}

._w10 {
  width: 10% !important;
}

._w11 {
  width: 11% !important;
}

._w12 {
  width: 12% !important;
}

._w13 {
  width: 13% !important;
}

._w14 {
  width: 14% !important;
}

._w15 {
  width: 15% !important;
}

._w16 {
  width: 16% !important;
}

._w17 {
  width: 17% !important;
}

._w18 {
  width: 18% !important;
}

._w19 {
  width: 19% !important;
}

._w20 {
  width: 20% !important;
}

._w21 {
  width: 21% !important;
}

._w22 {
  width: 22% !important;
}

._w23 {
  width: 23% !important;
}

._w24 {
  width: 24% !important;
}

._w25 {
  width: 25% !important;
}

._w26 {
  width: 26% !important;
}

._w27 {
  width: 27% !important;
}

._w28 {
  width: 28% !important;
}

._w29 {
  width: 29% !important;
}

._w30 {
  width: 30% !important;
}

._w31 {
  width: 31% !important;
}

._w32 {
  width: 32% !important;
}

._w33 {
  width: 33% !important;
}

._w34 {
  width: 34% !important;
}

._w35 {
  width: 35% !important;
}

._w36 {
  width: 36% !important;
}

._w37 {
  width: 37% !important;
}

._w38 {
  width: 38% !important;
}

._w39 {
  width: 39% !important;
}

._w40 {
  width: 40% !important;
}

._w41 {
  width: 41% !important;
}

._w42 {
  width: 42% !important;
}

._w43 {
  width: 43% !important;
}

._w44 {
  width: 44% !important;
}

._w45 {
  width: 45% !important;
}

._w46 {
  width: 46% !important;
}

._w47 {
  width: 47% !important;
}

._w48 {
  width: 48% !important;
}

._w49 {
  width: 49% !important;
}

._w50 {
  width: 50% !important;
}

._w51 {
  width: 51% !important;
}

._w52 {
  width: 52% !important;
}

._w53 {
  width: 53% !important;
}

._w54 {
  width: 54% !important;
}

._w55 {
  width: 55% !important;
}

._w56 {
  width: 56% !important;
}

._w57 {
  width: 57% !important;
}

._w58 {
  width: 58% !important;
}

._w59 {
  width: 59% !important;
}

._w60 {
  width: 60% !important;
}

._w61 {
  width: 61% !important;
}

._w62 {
  width: 62% !important;
}

._w63 {
  width: 63% !important;
}

._w64 {
  width: 64% !important;
}

._w65 {
  width: 65% !important;
}

._w66 {
  width: 66% !important;
}

._w67 {
  width: 67% !important;
}

._w68 {
  width: 68% !important;
}

._w69 {
  width: 69% !important;
}

._w70 {
  width: 70% !important;
}

._w71 {
  width: 71% !important;
}

._w72 {
  width: 72% !important;
}

._w73 {
  width: 73% !important;
}

._w74 {
  width: 74% !important;
}

._w75 {
  width: 75% !important;
}

._w76 {
  width: 76% !important;
}

._w77 {
  width: 77% !important;
}

._w78 {
  width: 78% !important;
}

._w79 {
  width: 79% !important;
}

._w80 {
  width: 80% !important;
}

._w81 {
  width: 81% !important;
}

._w82 {
  width: 82% !important;
}

._w83 {
  width: 83% !important;
}

._w84 {
  width: 84% !important;
}

._w85 {
  width: 85% !important;
}

._w86 {
  width: 86% !important;
}

._w87 {
  width: 87% !important;
}

._w88 {
  width: 88% !important;
}

._w89 {
  width: 89% !important;
}

._w90 {
  width: 90% !important;
}

._w91 {
  width: 91% !important;
}

._w92 {
  width: 92% !important;
}

._w93 {
  width: 93% !important;
}

._w94 {
  width: 94% !important;
}

._w95 {
  width: 95% !important;
}

._w96 {
  width: 96% !important;
}

._w97 {
  width: 97% !important;
}

._w98 {
  width: 98% !important;
}

._w99 {
  width: 99% !important;
}

._w100 {
  width: 100% !important;
}

@media all and (min-width: 500px) {
  ._pc-w1 {
    width: 1% !important;
  }
  ._pc-w2 {
    width: 2% !important;
  }
  ._pc-w3 {
    width: 3% !important;
  }
  ._pc-w4 {
    width: 4% !important;
  }
  ._pc-w5 {
    width: 5% !important;
  }
  ._pc-w6 {
    width: 6% !important;
  }
  ._pc-w7 {
    width: 7% !important;
  }
  ._pc-w8 {
    width: 8% !important;
  }
  ._pc-w9 {
    width: 9% !important;
  }
  ._pc-w10 {
    width: 10% !important;
  }
  ._pc-w11 {
    width: 11% !important;
  }
  ._pc-w12 {
    width: 12% !important;
  }
  ._pc-w13 {
    width: 13% !important;
  }
  ._pc-w14 {
    width: 14% !important;
  }
  ._pc-w15 {
    width: 15% !important;
  }
  ._pc-w16 {
    width: 16% !important;
  }
  ._pc-w17 {
    width: 17% !important;
  }
  ._pc-w18 {
    width: 18% !important;
  }
  ._pc-w19 {
    width: 19% !important;
  }
  ._pc-w20 {
    width: 20% !important;
  }
  ._pc-w21 {
    width: 21% !important;
  }
  ._pc-w22 {
    width: 22% !important;
  }
  ._pc-w23 {
    width: 23% !important;
  }
  ._pc-w24 {
    width: 24% !important;
  }
  ._pc-w25 {
    width: 25% !important;
  }
  ._pc-w26 {
    width: 26% !important;
  }
  ._pc-w27 {
    width: 27% !important;
  }
  ._pc-w28 {
    width: 28% !important;
  }
  ._pc-w29 {
    width: 29% !important;
  }
  ._pc-w30 {
    width: 30% !important;
  }
  ._pc-w31 {
    width: 31% !important;
  }
  ._pc-w32 {
    width: 32% !important;
  }
  ._pc-w33 {
    width: 33% !important;
  }
  ._pc-w34 {
    width: 34% !important;
  }
  ._pc-w35 {
    width: 35% !important;
  }
  ._pc-w36 {
    width: 36% !important;
  }
  ._pc-w37 {
    width: 37% !important;
  }
  ._pc-w38 {
    width: 38% !important;
  }
  ._pc-w39 {
    width: 39% !important;
  }
  ._pc-w40 {
    width: 40% !important;
  }
  ._pc-w41 {
    width: 41% !important;
  }
  ._pc-w42 {
    width: 42% !important;
  }
  ._pc-w43 {
    width: 43% !important;
  }
  ._pc-w44 {
    width: 44% !important;
  }
  ._pc-w45 {
    width: 45% !important;
  }
  ._pc-w46 {
    width: 46% !important;
  }
  ._pc-w47 {
    width: 47% !important;
  }
  ._pc-w48 {
    width: 48% !important;
  }
  ._pc-w49 {
    width: 49% !important;
  }
  ._pc-w50 {
    width: 50% !important;
  }
  ._pc-w51 {
    width: 51% !important;
  }
  ._pc-w52 {
    width: 52% !important;
  }
  ._pc-w53 {
    width: 53% !important;
  }
  ._pc-w54 {
    width: 54% !important;
  }
  ._pc-w55 {
    width: 55% !important;
  }
  ._pc-w56 {
    width: 56% !important;
  }
  ._pc-w57 {
    width: 57% !important;
  }
  ._pc-w58 {
    width: 58% !important;
  }
  ._pc-w59 {
    width: 59% !important;
  }
  ._pc-w60 {
    width: 60% !important;
  }
  ._pc-w61 {
    width: 61% !important;
  }
  ._pc-w62 {
    width: 62% !important;
  }
  ._pc-w63 {
    width: 63% !important;
  }
  ._pc-w64 {
    width: 64% !important;
  }
  ._pc-w65 {
    width: 65% !important;
  }
  ._pc-w66 {
    width: 66% !important;
  }
  ._pc-w67 {
    width: 67% !important;
  }
  ._pc-w68 {
    width: 68% !important;
  }
  ._pc-w69 {
    width: 69% !important;
  }
  ._pc-w70 {
    width: 70% !important;
  }
  ._pc-w71 {
    width: 71% !important;
  }
  ._pc-w72 {
    width: 72% !important;
  }
  ._pc-w73 {
    width: 73% !important;
  }
  ._pc-w74 {
    width: 74% !important;
  }
  ._pc-w75 {
    width: 75% !important;
  }
  ._pc-w76 {
    width: 76% !important;
  }
  ._pc-w77 {
    width: 77% !important;
  }
  ._pc-w78 {
    width: 78% !important;
  }
  ._pc-w79 {
    width: 79% !important;
  }
  ._pc-w80 {
    width: 80% !important;
  }
  ._pc-w81 {
    width: 81% !important;
  }
  ._pc-w82 {
    width: 82% !important;
  }
  ._pc-w83 {
    width: 83% !important;
  }
  ._pc-w84 {
    width: 84% !important;
  }
  ._pc-w85 {
    width: 85% !important;
  }
  ._pc-w86 {
    width: 86% !important;
  }
  ._pc-w87 {
    width: 87% !important;
  }
  ._pc-w88 {
    width: 88% !important;
  }
  ._pc-w89 {
    width: 89% !important;
  }
  ._pc-w90 {
    width: 90% !important;
  }
  ._pc-w91 {
    width: 91% !important;
  }
  ._pc-w92 {
    width: 92% !important;
  }
  ._pc-w93 {
    width: 93% !important;
  }
  ._pc-w94 {
    width: 94% !important;
  }
  ._pc-w95 {
    width: 95% !important;
  }
  ._pc-w96 {
    width: 96% !important;
  }
  ._pc-w97 {
    width: 97% !important;
  }
  ._pc-w98 {
    width: 98% !important;
  }
  ._pc-w99 {
    width: 99% !important;
  }
  ._pc-w100 {
    width: 100% !important;
  }
}

@media screen and (max-width: 499.9px) {
  ._sp-w1 {
    width: 1% !important;
  }
  ._sp-w2 {
    width: 2% !important;
  }
  ._sp-w3 {
    width: 3% !important;
  }
  ._sp-w4 {
    width: 4% !important;
  }
  ._sp-w5 {
    width: 5% !important;
  }
  ._sp-w6 {
    width: 6% !important;
  }
  ._sp-w7 {
    width: 7% !important;
  }
  ._sp-w8 {
    width: 8% !important;
  }
  ._sp-w9 {
    width: 9% !important;
  }
  ._sp-w10 {
    width: 10% !important;
  }
  ._sp-w11 {
    width: 11% !important;
  }
  ._sp-w12 {
    width: 12% !important;
  }
  ._sp-w13 {
    width: 13% !important;
  }
  ._sp-w14 {
    width: 14% !important;
  }
  ._sp-w15 {
    width: 15% !important;
  }
  ._sp-w16 {
    width: 16% !important;
  }
  ._sp-w17 {
    width: 17% !important;
  }
  ._sp-w18 {
    width: 18% !important;
  }
  ._sp-w19 {
    width: 19% !important;
  }
  ._sp-w20 {
    width: 20% !important;
  }
  ._sp-w21 {
    width: 21% !important;
  }
  ._sp-w22 {
    width: 22% !important;
  }
  ._sp-w23 {
    width: 23% !important;
  }
  ._sp-w24 {
    width: 24% !important;
  }
  ._sp-w25 {
    width: 25% !important;
  }
  ._sp-w26 {
    width: 26% !important;
  }
  ._sp-w27 {
    width: 27% !important;
  }
  ._sp-w28 {
    width: 28% !important;
  }
  ._sp-w29 {
    width: 29% !important;
  }
  ._sp-w30 {
    width: 30% !important;
  }
  ._sp-w31 {
    width: 31% !important;
  }
  ._sp-w32 {
    width: 32% !important;
  }
  ._sp-w33 {
    width: 33% !important;
  }
  ._sp-w34 {
    width: 34% !important;
  }
  ._sp-w35 {
    width: 35% !important;
  }
  ._sp-w36 {
    width: 36% !important;
  }
  ._sp-w37 {
    width: 37% !important;
  }
  ._sp-w38 {
    width: 38% !important;
  }
  ._sp-w39 {
    width: 39% !important;
  }
  ._sp-w40 {
    width: 40% !important;
  }
  ._sp-w41 {
    width: 41% !important;
  }
  ._sp-w42 {
    width: 42% !important;
  }
  ._sp-w43 {
    width: 43% !important;
  }
  ._sp-w44 {
    width: 44% !important;
  }
  ._sp-w45 {
    width: 45% !important;
  }
  ._sp-w46 {
    width: 46% !important;
  }
  ._sp-w47 {
    width: 47% !important;
  }
  ._sp-w48 {
    width: 48% !important;
  }
  ._sp-w49 {
    width: 49% !important;
  }
  ._sp-w50 {
    width: 50% !important;
  }
  ._sp-w51 {
    width: 51% !important;
  }
  ._sp-w52 {
    width: 52% !important;
  }
  ._sp-w53 {
    width: 53% !important;
  }
  ._sp-w54 {
    width: 54% !important;
  }
  ._sp-w55 {
    width: 55% !important;
  }
  ._sp-w56 {
    width: 56% !important;
  }
  ._sp-w57 {
    width: 57% !important;
  }
  ._sp-w58 {
    width: 58% !important;
  }
  ._sp-w59 {
    width: 59% !important;
  }
  ._sp-w60 {
    width: 60% !important;
  }
  ._sp-w61 {
    width: 61% !important;
  }
  ._sp-w62 {
    width: 62% !important;
  }
  ._sp-w63 {
    width: 63% !important;
  }
  ._sp-w64 {
    width: 64% !important;
  }
  ._sp-w65 {
    width: 65% !important;
  }
  ._sp-w66 {
    width: 66% !important;
  }
  ._sp-w67 {
    width: 67% !important;
  }
  ._sp-w68 {
    width: 68% !important;
  }
  ._sp-w69 {
    width: 69% !important;
  }
  ._sp-w70 {
    width: 70% !important;
  }
  ._sp-w71 {
    width: 71% !important;
  }
  ._sp-w72 {
    width: 72% !important;
  }
  ._sp-w73 {
    width: 73% !important;
  }
  ._sp-w74 {
    width: 74% !important;
  }
  ._sp-w75 {
    width: 75% !important;
  }
  ._sp-w76 {
    width: 76% !important;
  }
  ._sp-w77 {
    width: 77% !important;
  }
  ._sp-w78 {
    width: 78% !important;
  }
  ._sp-w79 {
    width: 79% !important;
  }
  ._sp-w80 {
    width: 80% !important;
  }
  ._sp-w81 {
    width: 81% !important;
  }
  ._sp-w82 {
    width: 82% !important;
  }
  ._sp-w83 {
    width: 83% !important;
  }
  ._sp-w84 {
    width: 84% !important;
  }
  ._sp-w85 {
    width: 85% !important;
  }
  ._sp-w86 {
    width: 86% !important;
  }
  ._sp-w87 {
    width: 87% !important;
  }
  ._sp-w88 {
    width: 88% !important;
  }
  ._sp-w89 {
    width: 89% !important;
  }
  ._sp-w90 {
    width: 90% !important;
  }
  ._sp-w91 {
    width: 91% !important;
  }
  ._sp-w92 {
    width: 92% !important;
  }
  ._sp-w93 {
    width: 93% !important;
  }
  ._sp-w94 {
    width: 94% !important;
  }
  ._sp-w95 {
    width: 95% !important;
  }
  ._sp-w96 {
    width: 96% !important;
  }
  ._sp-w97 {
    width: 97% !important;
  }
  ._sp-w98 {
    width: 98% !important;
  }
  ._sp-w99 {
    width: 99% !important;
  }
  ._sp-w100 {
    width: 100% !important;
  }
}

/* display
-------------------------------------------------------------------- */
@media screen and (max-width: 499.9px) {
  ._pc {
    display: none !important;
  }
}

@media all and (min-width: 500px) {
  ._sp {
    display: none !important;
  }
}
@media all and (min-width: 1000px) {
  ._tablet-sp{
    display: none !important;
  }
}


._block {
  display: block !important;
}

._inline {
  display: inline !important;
}

._inline-block {
  display: inline-block !important;
}

._flex {
  display: flex !important;
}

._none {
  display: none !important;
}

@media all and (min-width: 500px) {
  ._pc-block {
    display: block !important;
  }
  ._pc-inline {
    display: inline !important;
  }
  ._pc-inline-block {
    display: inline-block !important;
  }
  ._pc-flex {
    display: flex !important;
  }
  ._pc-none {
    display: none !important;
  }
}

@media screen and (max-width: 499.9px) {
  ._sp-block {
    display: block !important;
  }
  ._sp-inline {
    display: inline !important;
  }
  ._sp-inline-block {
    display: inline-block !important;
  }
  ._sp-flex {
    display: flex !important;
  }
  ._sp-none {
    display: none !important;
  }
}

/* text-align
-------------------------------------------------------------------- */
._center {
  text-align: center !important;
}

._left {
  text-align: left !important;
}

._right {
  text-align: right !important;
}

@media all and (min-width: 500px) {
  ._pc-center {
    text-align: center !important;
  }
  ._pc-left {
    text-align: left !important;
  }
  ._pc-right {
    text-align: right !important;
  }
}

@media screen and (max-width: 499.9px) {
  ._sp-center {
    text-align: center !important;
  }
  ._sp-left {
    text-align: left !important;
  }
  ._sp-right {
    text-align: right !important;
  }
}

/* vertical-align
-------------------------------------------------------------------- */
._top {
  vertical-align: top !important;
}

._middle {
  vertical-align: middle !important;
}

._bottom {
  vertical-align: bottom !important;
}

@media all and (min-width: 500px) {
  ._pc-top {
    vertical-align: top !important;
  }
  ._pc-middle {
    vertical-align: middle !important;
  }
  ._pc-bottom {
    vertical-align: bottom !important;
  }
}

@media screen and (max-width: 499.9px) {
  ._sp-top {
    vertical-align: top !important;
  }
  ._sp-middle {
    vertical-align: middle !important;
  }
  ._sp-bottom {
    vertical-align: bottom !important;
  }
}

/* font-size
-------------------------------------------------------------------- */
._fs10 {
  font-size: 1rem !important;
}

._fs11 {
  font-size: 1.1rem !important;
}

._fs12 {
  font-size: 1.2rem !important;
}

._fs13, .fsS {
  font-size: 1.3rem !important;
}

._fs14 {
  font-size: 1.4rem !important;
}

._fs15 {
  font-size: 1.5rem !important;
}

._fs16, .fsM {
  font-size: 1.6rem !important;
}

._fs17 {
  font-size: 1.7rem !important;
}

._fs18 {
  font-size: 1.8rem !important;
}

._fs19, .fsL {
  font-size: 1.9rem !important;
}

._fs20 {
  font-size: 2rem !important;
}

._fs21 {
  font-size: 2.1rem !important;
}

._fs22 {
  font-size: 2.2rem !important;
}

._fs23 {
  font-size: 2.3rem !important;
}

._fs24 {
  font-size: 2.4rem !important;
}

._fs25 {
  font-size: 2.5rem !important;
}

._fs26 {
  font-size: 2.6rem !important;
}

._fs27 {
  font-size: 2.7rem !important;
}

._fs28 {
  font-size: 2.8rem !important;
}

._fs29 {
  font-size: 2.9rem !important;
}

._fs30 {
  font-size: 3rem !important;
}

._fs31 {
  font-size: 3.1rem !important;
}

._fs32 {
  font-size: 3.2rem !important;
}

._fs33 {
  font-size: 3.3rem !important;
}

._fs34 {
  font-size: 3.4rem !important;
}

._fs35 {
  font-size: 3.5rem !important;
}

._fs36 {
  font-size: 3.6rem !important;
}

._fs37 {
  font-size: 3.7rem !important;
}

._fs38 {
  font-size: 3.8rem !important;
}

._fs39 {
  font-size: 3.9rem !important;
}

._fs40 {
  font-size: 4rem !important;
}

._fs41 {
  font-size: 4.1rem !important;
}

._fs42 {
  font-size: 4.2rem !important;
}

._fs43 {
  font-size: 4.3rem !important;
}

._fs44 {
  font-size: 4.4rem !important;
}

._fs45 {
  font-size: 4.5rem !important;
}

._fs46 {
  font-size: 4.6rem !important;
}

._fs47 {
  font-size: 4.7rem !important;
}

._fs48 {
  font-size: 4.8rem !important;
}

._fs49 {
  font-size: 4.9rem !important;
}

._fs50 {
  font-size: 5rem !important;
}

._fs80 {
  font-size: 8rem !important;
}

@media all and (min-width: 500px) {
  ._pc-fs10 {
    font-size: 1rem !important;
  }
  ._pc-fs11 {
    font-size: 1.1rem !important;
  }
  ._pc-fs12 {
    font-size: 1.2rem !important;
  }
  ._pc-fs13 {
    font-size: 1.3rem !important;
  }
  ._pc-fs14 {
    font-size: 1.4rem !important;
  }
  ._pc-fs15 {
    font-size: 1.5rem !important;
  }
  ._pc-fs16 {
    font-size: 1.6rem !important;
  }
  ._pc-fs17 {
    font-size: 1.7rem !important;
  }
  ._pc-fs18 {
    font-size: 1.8rem !important;
  }
  ._pc-fs19 {
    font-size: 1.9rem !important;
  }
  ._pc-fs20 {
    font-size: 2rem !important;
  }
  ._pc-fs21 {
    font-size: 2.1rem !important;
  }
  ._pc-fs22 {
    font-size: 2.2rem !important;
  }
  ._pc-fs23 {
    font-size: 2.3rem !important;
  }
  ._pc-fs24 {
    font-size: 2.4rem !important;
  }
  ._pc-fs25 {
    font-size: 2.5rem !important;
  }
  ._pc-fs26 {
    font-size: 2.6rem !important;
  }
  ._pc-fs27 {
    font-size: 2.7rem !important;
  }
  ._pc-fs28 {
    font-size: 2.8rem !important;
  }
  ._pc-fs29 {
    font-size: 2.9rem !important;
  }
  ._pc-fs30 {
    font-size: 3rem !important;
  }
  ._pc-fs31 {
    font-size: 3.1rem !important;
  }
  ._pc-fs32 {
    font-size: 3.2rem !important;
  }
  ._pc-fs33 {
    font-size: 3.3rem !important;
  }
  ._pc-fs34 {
    font-size: 3.4rem !important;
  }
  ._pc-fs35 {
    font-size: 3.5rem !important;
  }
  ._pc-fs36 {
    font-size: 3.6rem !important;
  }
  ._pc-fs37 {
    font-size: 3.7rem !important;
  }
  ._pc-fs38 {
    font-size: 3.8rem !important;
  }
  ._pc-fs39 {
    font-size: 3.9rem !important;
  }
  ._pc-fs40 {
    font-size: 4rem !important;
  }
  ._pc-fs41 {
    font-size: 4.1rem !important;
  }
  ._pc-fs42 {
    font-size: 4.2rem !important;
  }
  ._pc-fs43 {
    font-size: 4.3rem !important;
  }
  ._pc-fs44 {
    font-size: 4.4rem !important;
  }
  ._pc-fs45 {
    font-size: 4.5rem !important;
  }
  ._pc-fs46 {
    font-size: 4.6rem !important;
  }
  ._pc-fs47 {
    font-size: 4.7rem !important;
  }
  ._pc-fs48 {
    font-size: 4.8rem !important;
  }
  ._pc-fs49 {
    font-size: 4.9rem !important;
  }
  ._pc-fs50 {
    font-size: 5rem !important;
  }
  ._pc-fs70 {
    font-size: 7rem !important;
  }
}

@media screen and (max-width: 499.9px) {
  ._sp-fs10 {
    font-size: 1rem !important;
  }
  ._sp-fs11 {
    font-size: 1.1rem !important;
  }
  ._sp-fs12 {
    font-size: 1.2rem !important;
  }
  ._sp-fs13 {
    font-size: 1.3rem !important;
  }
  ._sp-fs14 {
    font-size: 1.4rem !important;
  }
  ._sp-fs15 {
    font-size: 1.5rem !important;
  }
  ._sp-fs16 {
    font-size: 1.6rem !important;
  }
  ._sp-fs17 {
    font-size: 1.7rem !important;
  }
  ._sp-fs18 {
    font-size: 1.8rem !important;
  }
  ._sp-fs19 {
    font-size: 1.9rem !important;
  }
  ._sp-fs20 {
    font-size: 2rem !important;
  }
  ._sp-fs21 {
    font-size: 2.1rem !important;
  }
  ._sp-fs22 {
    font-size: 2.2rem !important;
  }
  ._sp-fs23 {
    font-size: 2.3rem !important;
  }
  ._sp-fs24 {
    font-size: 2.4rem !important;
  }
  ._sp-fs25 {
    font-size: 2.5rem !important;
  }
  ._sp-fs26 {
    font-size: 2.6rem !important;
  }
  ._sp-fs27 {
    font-size: 2.7rem !important;
  }
  ._sp-fs28 {
    font-size: 2.8rem !important;
  }
  ._sp-fs29 {
    font-size: 2.9rem !important;
  }
  ._sp-fs30 {
    font-size: 3rem !important;
  }
  ._sp-fs31 {
    font-size: 3.1rem !important;
  }
  ._sp-fs32 {
    font-size: 3.2rem !important;
  }
  ._sp-fs33 {
    font-size: 3.3rem !important;
  }
  ._sp-fs34 {
    font-size: 3.4rem !important;
  }
  ._sp-fs35 {
    font-size: 3.5rem !important;
  }
  ._sp-fs36 {
    font-size: 3.6rem !important;
  }
  ._sp-fs37 {
    font-size: 3.7rem !important;
  }
  ._sp-fs38 {
    font-size: 3.8rem !important;
  }
  ._sp-fs39 {
    font-size: 3.9rem !important;
  }
  ._sp-fs40 {
    font-size: 4rem !important;
  }
  ._sp-fs41 {
    font-size: 4.1rem !important;
  }
  ._sp-fs42 {
    font-size: 4.2rem !important;
  }
  ._sp-fs43 {
    font-size: 4.3rem !important;
  }
  ._sp-fs44 {
    font-size: 4.4rem !important;
  }
  ._sp-fs45 {
    font-size: 4.5rem !important;
  }
  ._sp-fs46 {
    font-size: 4.6rem !important;
  }
  ._sp-fs47 {
    font-size: 4.7rem !important;
  }
  ._sp-fs48 {
    font-size: 4.8rem !important;
  }
  ._sp-fs49 {
    font-size: 4.9rem !important;
  }
  ._sp-fs50 {
    font-size: 5rem !important;
  }
}

/* font-weight
-------------------------------------------------------------------- */
._normal {
  font-weight: 400 !important;
}

._bold {
  font-weight: 700 !important;
}

@media all and (min-width: 500px) {
  ._pc-normal {
    font-weight: 400 !important;
  }
  ._pc-bold {
    font-weight: 700 !important;
  }
}

@media screen and (max-width: 499.9px) {
  ._sp-normal {
    font-weight: 400 !important;
  }
  ._sp-bold {
    font-weight: 700 !important;
  }
}

/* float
-------------------------------------------------------------------- */
._fl-left {
  float: left;
}

._fl-right {
  float: right;
}

@media all and (min-width: 500px) {
  ._pc-fl-left {
    float: left;
  }
  ._pc-fl-right {
    float: right;
  }
}

@media screen and (max-width: 499.9px) {
  ._sp-fl-left {
    float: left;
  }
  ._sp-fl-right {
    float: right;
  }
}

/* color
-------------------------------------------------------------------- */
._color-black {
  color: #333 !important;
}

._color-white {
  color: #FFF !important;
}

._color-red {
  color: #E60000 !important;
}

._color-gray01 {
  color: #6D6D6D !important;
}

._color-gray02 {
  color: #C6C6C6 !important;
}

._color-gray03 {
  color: #EEE !important;
}

._color-main {
  color: #10218b !important;
}

._color-danger {
  color: #D10909 !important;
}

._color-light-blue {
  color: #ebeff7 !important;
}

._color-blue {
  color: #0070c0 !important;
}

._bgcolor-black {
  background-color: #333 !important;
}

._bgcolor-white {
  background-color: #FFF !important;
}

._bgcolor-gray01 {
  background-color: #6D6D6D !important;
}

._bgcolor-gray02 {
  background-color: #C6C6C6 !important;
}

._bgcolor-gray03 {
  background-color: #EEE !important;
}

._bgcolor-gray04 {
  background-color: #f3f3f3 !important;
}

._bgcolor-main {
  background-color: #10218b !important;
}

._bgcolor-danger {
  background-color: #D10909 !important;
}

._bgcolor-light-blue {
  background-color: #ebeff7 !important;
}

._bgcolor-orange {
  background-color: #ed7d31 !important;
}

._bgcolor-brown {
  background-color: #663300 !important;
}

._bgcolor-brown {
  background-color: #663300 !important;
}

._bgcolor-pale-green {
  background-color: #e5f2e0 !important;
}

._bgcolor-rose-pink {
  background-color: #e5d5d9 !important;
}

/* etc.
-------------------------------------------------------------------- */
._word-wrap {
  word-wrap: break-word;
  word-break: break-all;
}

._word-nowrap {
  white-space: nowrap;
}

._word-breaknormal {
  word-break: normal !important;
}


._underline {
  text-decoration: underline;
}

._strike-through {
  text-decoration: line-through;
}

/* --------------------------------------------------------------------
 vendor
-------------------------------------------------------------------- */
/* slick.js
-------------------------------------------------------------------- */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list img {
  opacity: 0.3;
}

.slick-center img {
  opacity: 1 !important;
}

.slick-center picture {
  margin: 0 auto;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: '';
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
  margin: 0 auto;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  position: absolute;
  top: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(min(6.07vw, 83px));
  height: 100%;
  padding: 0;
  transform: translate(0, -50%);
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  background: #FFF;
  z-index: 2;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: .25;
}

.slick-prev:before,
.slick-next:before {
  content: '';
  display: block;
  width: 22px;
  height: 22px;
  border-left: 2px solid #707070;
  border-bottom: 2px solid #707070;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: calc(-1 * calc(min(6.07vw, 83px)));
}

[dir='rtl'] .slick-prev {
  right: calc(-1 * calc(min(6.07vw, 83px)));
}

.slick-prev:before {
  transform: rotate(45deg);
}

[dir='rtl'] .slick-prev:before {
  transform: rotate(-135deg);
}

.slick-next {
  right: calc(-1 * calc(min(6.07vw, 83px)));
}

[dir='rtl'] .slick-next {
  left: calc(-1 * calc(min(6.07vw, 83px)));
}

.slick-next:before {
  transform: rotate(-135deg);
}

[dir='rtl'] .slick-next:before {
  transform: rotate(45deg);
}

.slick-dotted.slick-slider {
  margin-bottom: 45px;
}

.slick-dots {
  position: absolute;
  bottom: -45px;
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: center;
}

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 32px;
  height: 32px;
  padding: 0;
  cursor: pointer;
}

@media screen and (max-width: 999.98px) {
  .slick-list img {
    opacity: 1;
  }
  .keyvisual-area .keyvisual .slick-prev {
    left: 0vw;
  }
  .keyvisual-area .keyvisual .slick-next {
    right: 0vw;
  }
}



@media screen and (max-width: 499.9px) {
  .slick-list img {
    opacity: 1;
  }
  .slick-dots li {
    width: 36px;
    height: 36px;
  }
}

.slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 32px;
  height: 32px;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}

@media screen and (max-width: 499.9px) {
  .slick-dots li button {
    width: 36px;
    height: 36px;
  }
}

.slick-dots li button:hover,
.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
  opacity: 1;
}

.slick-dots li button:before {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 12px;
  height: 12px;
  content: '';
  text-align: center;
  border-radius: 50%;
  background-color: #C6C6C6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media screen and (max-width: 499.9px) {
  .slick-dots li button:before {
    top: 10px;
    left: 10px;
    width: 16px;
    height: 16px;
  }
}

.slick-dots li.slick-active button:before {
  background-color: #10218b;
}

/* --------------------------------------------------------------------
 layouts
-------------------------------------------------------------------- */
/* html, body
-------------------------------------------------------------------- */
html {
  font-size: 62.5%;
}

body:lang(ja){
  font-size: 1.6rem;
  font-family: "BIZ UDPGothic", sans-serif;
  line-height: 1.75;
  color: #333;
    
}
body:lang(en){
  font-size: 1.6rem;
  font-family: Helvetica,Arial,'Roboto',sans-serif;
  line-height: 1.75;
  color: #333;
}

body:lang(zh){
  font-size: 1.6rem;
  font-family: sans-serif;
  line-height: 1.75;
  color: #333;
}


body:lang(ja) p,
body:lang(ja) a,
body:lang(ja) figcaption{
	word-wrap: break-word;
	word-break:break-all;
}




/*body {
  font-size: 1.5rem;
}*/

:target {
  scroll-margin-top: 110px;
}

select, input, button, textarea {
  line-height: 1.75;
}

/* header
-------------------------------------------------------------------- */
#header {
  position: -webkit-sticky;
  position: sticky;
  top: -40px;
  width: 100%;
  background-color: #FFF;
  z-index: 900;
}

#header .header-menu-pc :lang(ja) {
  font-family: "BIZ UDPGothic", sans-serif;
}

#header .header-menu-pc :lang(en) {
  font-family: Helvetica,Arial,'Roboto',sans-serif;
}

@media screen and (max-width: 999.98px) {
  #header {
    position: fixed;
    top: 0;
  }
}

#header > .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 1366px;
  margin: auto;
  padding: 0 calc(min(6.07vw, 83px));
}

@media screen and (max-width: 999.98px) {
  #header > .inner {
    padding: 0;
  }
}

#header .logo {
  width: 350px; /* 適宜調整 */
  padding: 10px 0;
  transition: all 0.1s linear;
  margin-right: 20px;
}

@media screen and (max-width: 999.98px) {
  #header .logo {
    /* width: 113px; */
    width: 240px; /*250317 hama*/
    margin-left: 10px;
  }
  #header .logo a img {
    display:flex;
    align-items:center;
  }
}


#header .menu-btns-sp {
  display: flex;
  margin-left: auto;
}

@media all and (min-width: 1000px) {
  #header .menu-btns-sp {
    display: none;
  }
}

#header .menu-btns-sp .searchBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  text-decoration: none;
}

#header .menu-btns-sp .searchBtn::before {
  content: "\e903";
  display: inline-block;
  font-size: 20px;
  font-family: 'iconfont';
  line-height: 1;
  color: #333;
}

#header .menu-btns-sp .menuBtn {
  position: relative;
  width: 60px;
  height: 60px;
  background-color: #10218b;
  text-decoration: none;
}

#header .menu-btns-sp .menuBtn > span, #header .menu-btns-sp .menuBtn::before, #header .menu-btns-sp .menuBtn::after {
  content: "";
  display: block;
  position: absolute;
  left: 15px;
  width: 30px;
  height: 2px;
  background-color: #FFF;
  border-radius: 2px;
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#header .menu-btns-sp .menuBtn > span {
  top: 19px;
}

#header .menu-btns-sp .menuBtn::before {
  top: 29px;
}

#header .menu-btns-sp .menuBtn::after {
  bottom: 19px;
}

#header .header-menu-pc {
  flex: 1 0 0%;
}

@media screen and (max-width: 999.98px) {
  #header .header-menu-pc {
    display: none;
  }
}

#header .header-menu-pc .assist-nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 20px;
  line-height: 1;
}

#header .header-menu-pc .assist-nav::before {
  content: "";
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
}

#header .header-menu-pc .assist-nav > ul {
  display: flex;
}

#header .header-menu-pc .assist-nav > ul li {
  position: relative;
}

#header .header-menu-pc .assist-nav > ul li + li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 10px;
  background-color: #333;
}

#header .header-menu-pc .assist-nav > ul li a {
  display: inline-block;
  padding: 0 15px;
  font-size: 1.2rem;
  line-height: calc(20 / 12);
  color: #333;
}

#header .header-menu-pc .assist-nav > ul li a:hover {
  color: #10218b;
}

#header .header-menu-pc .assist-nav .searchBtn {
  margin-left: 20px;
  text-decoration: none;
  transition: opacity .2s linear;
}

#header .header-menu-pc .assist-nav .searchBtn:hover {
  opacity: 0.7;
}

#header .header-menu-pc .assist-nav .searchBtn::before {
  content: "\e903";
  display: inline-block;
  font-size: 20px;
  font-family: 'iconfont';
  line-height: 1;
  color: #6D6D6D;
}

#header .header-menu-pc .assist-nav #search-dialog {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  background-color: #FFF;
  z-index: 1000;
}

#header .header-menu-pc .assist-nav #search-dialog > .inner {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: auto;
  padding: 0 calc(min(6.07vw, 83px));
  padding-top: 50px;
  padding-bottom: 50px;
}

#header .header-menu-pc .assist-nav #search-dialog .closeBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: calc(min(6.07vw, 83px));
  top: 15px;
  width: 30px;
  height: 30px;
  text-decoration: none;
  transition: opacity .2s linear;
}

#header .header-menu-pc .assist-nav #search-dialog .closeBtn:hover {
  opacity: 0.7;
}

#header .header-menu-pc .assist-nav #search-dialog .closeBtn::before,
#header .header-menu-pc .assist-nav #search-dialog .closeBtn::after {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  background-color: #6D6D6D;
  border-radius: 2px;
}

#header .header-menu-pc .assist-nav #search-dialog .closeBtn::before {
  top: 14px;
  transform: rotate(-45deg);
}

#header .header-menu-pc .assist-nav #search-dialog .closeBtn::after {
  bottom: 14px;
  transform: rotate(45deg);
}

#header .header-menu-pc .assist-nav #search-dialog fieldset{
  display: flex;
  position: relative;
  width: 65%;
  margin: auto;
  padding-left: 75px;
}
.search-area fieldset {
  display: flex;
  position: relative;
  width: 95%;
  margin: auto;
  padding-left: 120px;
}

#header .header-menu-pc .assist-nav #search-dialog fieldset legend {
  position: absolute;
  left: 0;
  top: 50%;
  color: #6D6D6D;
  transform: translateY(-50%);
}

.search-area legend {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

#header .header-menu-pc .assist-nav #search-dialog input[type="text"],
.search-area input[type="text"]
{
  flex: 1 0 0%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 44px;
  padding: 0 15px;
  font-size: 1.4rem;
  background-color: #EFEFEF;
  border: 1px solid #C1C1C1;
  border-radius: 5px;
  outline: 0;
}

#header .header-menu-pc .assist-nav #search-dialog input[type="text"]::-webkit-input-placeholder,
.search-area input[type="text"]::placeholder
{
  color: #C6C6C6;
}

#header .header-menu-pc .assist-nav #search-dialog input[type="text"]::-ms-input-placeholder {
  color: #C6C6C6;
}

#header .header-menu-pc .assist-nav #search-dialog input[type="text"]::placeholder {
  color: #C6C6C6;
}

#header .header-menu-pc .assist-nav #search-dialog input[type="text"]:focus,
.search-area input[type="text"]:focus
 {
  border-color: #9f9f9f;
  border-width: 1px;
}

#header .header-menu-pc .assist-nav #search-dialog input[type="text"]:disabled, #header .header-menu-pc .assist-nav #search-dialog input[type="text"]:-moz-read-only,
.search-area input[type="text"]:disabled
 {
  background-color: #f4f4f4;
}

#header .header-menu-pc .assist-nav #search-dialog input[type="text"]:disabled, #header .header-menu-pc .assist-nav #search-dialog input[type="text"]:read-only {
  background-color: #f4f4f4;
}

#header .header-menu-pc .assist-nav #search-dialog button[type="submit"],
.search-area button[type="submit"]
 {
  width: 44px;
  height: 44px;
  margin-left: 20px;
  background-color: #6D6D6D;
  border-radius: 50%;
  text-decoration: none;
  transition: opacity .2s linear;
}

#header .header-menu-pc .assist-nav #search-dialog button[type="submit"]:hover,
.search-area button[type="submit"]:hover
 {
  opacity: 0.7;
}

#header .header-menu-pc .assist-nav #search-dialog button[type="submit"]::before,
.search-area button[type="submit"]::before
 {
  content: "\e903";
  display: inline-block;
  font-size: 20px;
  font-family: 'iconfont';
  line-height: 44px;
  vertical-align: middle;
  color: #FFF;
}

/************ purpose link modal */
#header .header-menu-pc .assist-nav #purpose-link_m {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  padding-top: 50px;
  width: 100%;
  background-color: #fff;
  z-index: 1;
}

#header .header-menu-pc .assist-nav #purpose-link_m h2 ,
#header .header-menu-pc .assist-nav #purpose-link_m .head2 {
  font-family: "biz udpgothic";
  font-size: 20px;
  text-align: center;
  font-weight: bold;
}

#header .header-menu-pc .assist-nav #purpose-link_m > .inner {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: auto;
  padding: 0 calc(min(6.07vw, 83px));
  padding-top: 1px;
  padding-bottom: 0;
}
#header .header-menu-pc .assist-nav #purpose-link_m .contents-area .inner .target-btns {
  overflow: visible;
}
#header .header-menu-pc .assist-nav #purpose-link_m .contents-area .inner .target-btns ul li {
  margin-top: 0;
  margin-left: 0;
  padding-bottom: 15px;
  border: none;
}
#header .header-menu-pc .assist-nav #purpose-link_m .contents-area .inner .target-btns ul li a {
  justify-content: flex-start;
  top: 1rem;
}
#header .header-menu-pc .assist-nav #purpose-link_m .contents-area .inner .target-btns ul li a i.if-male,
#header .header-menu-pc .assist-nav #purpose-link_m .contents-area .inner .target-btns ul li a i.if-building,
#header .header-menu-pc .assist-nav #purpose-link_m .contents-area .inner .target-btns ul li a i.if-town {
  font-size: 5.5rem;
  height: 54px;
}
#header .header-menu-pc .assist-nav #purpose-link_m .contents-area .inner .target-btns ul li a span.lower {
  font-family: "biz udpgothic";
  text-align: center;
  margin-top: 10px;
  font-size: 16px;
  line-height: 1.6;
}
#header .header-menu-pc .assist-nav #purpose-link_m .closeBtn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: calc(min(6.07vw, 83px));
  top: -35px;
  width: 30px;
  height: 30px;
  text-decoration: none;
  transition: opacity .2s linear;
}
#header .header-menu-pc .assist-nav #purpose-link_m .closeBtn:hover {
  opacity: 0.7;
}
#header .header-menu-pc .assist-nav #purpose-link_m .closeBtn::before,
#header .header-menu-pc .assist-nav #purpose-link_m .closeBtn::after {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  background-color: #6D6D6D;
  border-radius: 2px;
}
#header .header-menu-pc .assist-nav #purpose-link_m .closeBtn::before {
  top: 14px;
  transform: rotate(-45deg);
}
#header .header-menu-pc .assist-nav #purpose-link_m .closeBtn::after {
  bottom: 14px;
  transform: rotate(45deg);
}

#header .header-menu-pc .global-nav > ul {
  display: flex;
  justify-content: flex-end;
  height: 100%;
  /* margin: 0 -20px; */     /* 250519濵修正 ナビゲーション右側がページないコンテンツと縦ラインが揃っていなかったため */
  align-items: center;
}

@media screen and (max-width: 1140px) {
  #header .header-menu-pc .global-nav > ul {
    margin-left: -10px;
    margin-right: -10px;
  }
}

#header .header-menu-pc .global-nav > ul > li:not(.nav-btn) > a,
#header .header-menu-pc .global-nav > ul > li > .btn {
  display: block;
  position: relative;
  padding: 18px;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  color: #333;
  cursor: pointer;
}

@media screen and (max-width: 1140px) {
  #header .header-menu-pc .global-nav > ul > li:not(.nav-btn) > a,
  #header .header-menu-pc .global-nav > ul > li > .btn {
    padding-left: 7px;
    padding-right: 7px;
  }
}

#header .header-menu-pc .global-nav > ul > li > span {
  cursor: default;
}

#header .header-menu-pc .global-nav > ul > li:not(.nav-btn) > a::after,
#header .header-menu-pc .global-nav > ul > li > .btn::after {
  content: "";
  position: absolute;
  bottom: 20px;
  left: 20px;
  right: 20px;
  height: 2px;
  background-color: transparent;
  transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media screen and (max-width: 1140px) {
  #header .header-menu-pc .global-nav > ul > li:not(.nav-btn) > a::after,
  #header .header-menu-pc .global-nav > ul > li > .btn::after {
    left: 10px;
    right: 10px;
  }
}

#header .header-menu-pc .global-nav > ul > li:not(.nav-btn) > a:hover,
#header .header-menu-pc .global-nav > ul > li > .btn:hover {
  color: #10218b;
}

#header .header-menu-pc .global-nav > ul > li:not(.nav-btn) > a:hover::after,
#header .header-menu-pc .global-nav > ul > li > .btn:hover::after {
  background-color: #10218b;
}

#header .header-menu-pc .global-nav > .childwrap {
  overflow: hidden;
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 0;
  background-color: #FFF;
  box-shadow: 0px 5px 5px 0 rgba(51, 51, 51, 0.2);
  transition: height 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

#header .header-menu-pc .global-nav > .childwrap > .inner {
  position: relative;
  max-width: 1366px;
  width: 100%;
  height: 100%;
  margin: auto;
}

#header .header-menu-pc .global-nav > .childwrap .closeBtn {
  position: absolute;
  right: calc(min(6.07vw, 83px));
  top: 5px;
  z-index: 2;
  width: 30px;
  height: 30px;
  text-decoration: none;
  transition: opacity .2s linear;
  cursor: pointer;
}

#header .header-menu-pc .global-nav > .childwrap .closeBtn:hover {
  opacity: 0.7;
}

#header .header-menu-pc .global-nav > .childwrap .closeBtn::before,
#header .header-menu-pc .global-nav > .childwrap .closeBtn::after {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 2px;
  background-color: #6D6D6D;
  border-radius: 2px;
}

#header .header-menu-pc .global-nav > .childwrap .closeBtn::before {
  top: 14px;
  transform: rotate(-45deg);
}

#header .header-menu-pc .global-nav > .childwrap .closeBtn::after {
  bottom: 14px;
  transform: rotate(45deg);
}

#header .header-menu-pc .global-nav .child {
  display: flex;
  visibility: hidden;
  position: absolute;
  width: 100%;
  padding: 20px calc(min(6.07vw, 83px)) 40px;
}

#header .header-menu-pc .global-nav .child a {
  text-decoration: none;
  color: #333;
}

#header .header-menu-pc .global-nav .child[aria-hidden="false"] {
  visibility: visible;
}

#header .header-menu-pc .global-nav .child > .headCol {
  width: 25%;
  max-width: 180px;
  line-height: 1.3;
}





#header .header-menu-pc .global-nav .child > .headCol > .link > .text,
#header .header-menu-pc .global-nav .child > .linkCol a {
  display: block;
  position: relative;
  padding: 12px 5% 12px 12%;
  font-size: 1.8rem;
  font-weight: 700;
  transition: background-color .2s linear;
}

#header .header-menu-pc .global-nav .child > .headCol .text{
  display: block;
  position: relative;
  padding: 12px 5% 12px 12%;
  font-size: 1.8rem;
  font-weight: 700;
}

/* #header .header-menu-pc .global-nav .child > .headCol > .link > .text::before, */
#header .header-menu-pc .global-nav .child > .linkCol a::after {
  content: "\e907";
  display: inline-block;
  position: absolute;
  left: 100%;
  /* top: 2.8em; */
  font-size: 12px;
  font-family: 'iconfont';
  line-height: 1;
  vertical-align: middle;
  color: #10218b;
  transition: transform .2s linear;
}

#header .header-menu-pc .global-nav .child > .linkCol {
  flex: 1 0 0%;
  display: flex;
  justify-content: space-between;
  margin-top: 12px;
  /* margin-top: 58px; */
}





#header .header-menu-pc .global-nav .child > .linkCol > .links {
  flex: 1 0 0%;
}

#header .header-menu-pc .global-nav .child > .linkCol > .links > ul {
  display: flex;
  flex-wrap: wrap;
  margin-top: -30px;
}

#header .header-menu-pc .global-nav .child > .linkCol > .links > ul > li {
  width: 20%;
  max-width: 250px;
  min-width: 200px;
  margin-top: 20px;
  display:flex;
  align-items:center;
}

#header .header-menu-pc .global-nav .child > .linkCol > .links > ul > li img {
  margin-right: 10px;
}

#header .header-menu-pc .global-nav .child > .linkCol > .links > ul > li span {
  line-height: 1.3;
}

/************ purpose link PC block */
#header .header-menu-pc .global-nav .child > .linkCol > .links > ul > li.purpLink {
  margin: 60px auto 0;
  border: 1px solid #003399;
  width: 100%;
  max-width: 775px;
  text-align: center;
}

#header .header-menu-pc .global-nav .child > .linkCol > .links > ul > li.purpLink a::before {
    left: 5%;
}

#header .header-menu-pc .global-nav .child > .linkCol > .links > ul > li.purpLink a{
  padding-left:30px;
}

#header .header-menu-pc .global-nav .child > .headCol > .link > .text {
  margin-bottom: 10px;
}

#header .header-menu-pc .global-nav .child > .headCol > .link > .image {
  transition: opacity .2s linear;
}

#header .header-menu-pc .global-nav .child > .headCol > .link:hover > .text {
  background-color: #F2F6F6;
}

#header .header-menu-pc .global-nav .child > .headCol > .link:hover > .image {
  opacity: 0.7;
}


#header .header-menu-pc .global-nav .child > .linkCol > .links a {
  padding: 12px 50% 12px 10%;
  /* display: block; */
  font-size: 1.3rem;
  display: flex;
  align-items: center;
}

#header .header-menu-pc .global-nav .child > .linkCol > .links a::after {
  left: 5%;
  /* top: 2.5em; */
}


#header .header-menu-pc .global-nav .child > .linkCol > .links a:hover {
  background-color: #F2F6F6;
}

/*バナー用-----------------*/

#header .header-menu-pc .global-nav .child > .linkCol > .links > .banners{
  margin-top: 32px;
  justify-content: space-evenly;
}

#header .header-menu-pc .global-nav .child > .linkCol > .links > .banners a::after{
  display: none;
}

#header .header-menu-pc .global-nav .child > .linkCol > .links > .banners a:hover {
  background-color: #fff;
}

#header .header-menu-pc .global-nav .child > .linkCol > .links > .banners > li {
  width: 50%;
  max-width: 400px;
  margin-top: 0;
}

#header .header-menu-pc .global-nav .child > .linkCol > .links > .banners a {
  width: 100%;
  padding: 0;
}



/*メガドロABテスト用-----------------*/

#header .header-menu-pc .global-nav .child > .ab-test {
  display: flex;
}
#header .header-menu-pc .global-nav .child > .ab-test .headCol {
  margin-bottom: 25px;
}

#header .header-menu-pc .global-nav .child > .ab-test .headCol > .link > .text,
#header .header-menu-pc .global-nav .child > .ab-test > .linkCol a  {
  display: block;
  position: relative;
  /*padding: 12px 5% 12px 12%;*/
  padding: 12px 5% 12px 3%;
  font-size: 1.8rem;
  font-weight: 700;
  transition: background-color .2s linear;
}
#header .header-menu-pc .global-nav .child > .ab-test .headCol > .link > .text::before {
  content: "\e907";
  display: inline-block;
  position: absolute;
  left: 0%;
  top: 2.8em;
  font-size: 8px;
  font-family: 'iconfont';
  line-height: 1;
  vertical-align: middle;
  color: #10218b;
  transition: transform .2s linear;
}


#header .header-menu-pc .global-nav .child > .ab-test .headCol > .link:hover > .text {
  background-color: #F2F6F6;
}

#header .header-menu-pc .global-nav .child > .ab-test > .linkCol > .links .headCol a {
  /*padding: 0px 5% 0px 0%;*/
  padding: 0px 5% 0px 3%;
}



#header .header-menu-pc .global-nav .child > .ab-test > .linkCol .links ul a::before  {
  content: "\e907";
  display: inline-block;
  position: absolute;
  left: 7%;
  top: 2.4em;
  font-size: 8px;
  font-family: 'iconfont';
  line-height: 1;
  vertical-align: middle;
  color: #10218b;
  transition: transform .2s linear;
}


#header .header-menu-pc .global-nav .child > .ab-test > .linkCol {
  flex: 1 0 0%;
  display: flex;
  justify-content: space-between;
  margin-top: 0px;
}



#header .header-menu-pc .global-nav .child > .ab-test > .linkCol > .links  {
  flex: 1 0 0%;
}

#header .header-menu-pc .global-nav .child > .ab-test > .linkCol > .links > ul  {
  display: flex;
  flex-wrap: wrap;
  margin-top: -30px;
}

#header .header-menu-pc .global-nav .child > .ab-test > .linkCol > .links > ul > li  {
  width: 50%;
  max-width: 275px;
  /*margin-top: 20px;*/
  margin-top: 10px;
	
	padding-left: 20px;
}


#header .header-menu-pc .global-nav .child > .ab-test > .linkCol > .links a {
  /*padding: 12px 5% 12px 22%;*/
  padding: 8px 5% 8px 13%;
  display: block;
  font-size: 1.6rem;
}

#header .header-menu-pc .global-nav .child > .ab-test > .linkCol > .links a::after  {
  left: 15%;
  top: 2.5em;
}

#header .header-menu-pc .global-nav .child > .ab-test > .linkCol > .links a:hover  {
  background-color: #F2F6F6;
}





#header .header-menu-pc .global-nav .child > .ab-test > .linkCol >  .links > .heading {
  display: inline-block;
  position: relative;
	padding: 12px 5% 12px 3%;
  margin-bottom: 25px;
  font-size: 1.8rem;
  font-weight: 300;
}



/*-----------------メガドロABテスト用*/


#header .header-menu-pc .global-nav .child > .bnrCol {
  width: 23.5%;   /*23.4%*/
  margin-left: 6.68%;
  margin-top: 25px;
}

#header .header-menu-pc .global-nav .child > .bnrCol > .heading {
  display: inline-block;
  position: relative;
  margin-bottom: 15px;
  font-size: 1.2rem;
  font-weight: 700;
}

#header .header-menu-pc .global-nav .child > .bnrCol > .heading::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -88px;
  width: 68px;
  height: 1px;
  background-color: #707070;
  transform: translateY(-50%);
}

#header .header-menu-pc .global-nav .child > .bnrCol > ul > li + li {
  margin-top: 20px;
}

#header .header-menu-pc .global-nav .child > .bnrCol > ul a {
  text-decoration: none;
  transition: opacity .2s linear;
}

#header .header-menu-pc .global-nav .child > .bnrCol > ul a:hover {
  opacity: 0.7;
}

@media all and (min-width: 1000px) {
  .header-menu-sp {
    display: none !important;
  }
  #header .header-menu-sp :lang(ja) {
    font-family: "BIZ UDPGothic", sans-serif;
  }
  #header .header-menu-sp :lang(en) {
    font-family: Helvetica,Arial,'Roboto',sans-serif;
  }
}

.header-menu-sp #drawer-menu {
  padding: 30px 0;
  background-color: #FFF;
}

.header-menu-sp #drawer-menu .global-nav > ul > li > button {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 10px 45px;
  font-size: 1.6rem;
  text-align: left;
  color: #333;
  text-decoration: none;
}

.header-menu-sp #drawer-menu .global-nav > ul > li > button::before, .header-menu-sp #drawer-menu .global-nav > ul > li > button::after {
  content: "";
  display: block;
  position: absolute;
  right: 45px;
  top: 50%;
  width: 15px;
  height: 2px;
  background-color: #333;
  border-radius: 1px;
}

.header-menu-sp #drawer-menu .global-nav > ul > li > button::after {
  transform: rotate(-90deg);
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.header-menu-sp #drawer-menu .global-nav > ul > li > button[aria-expanded="true"]::after {
  transform: rotate(0deg);
}

.header-menu-sp #drawer-menu .global-nav > ul > li > button span {
  display: inline-block;
  position: relative;
}

.header-menu-sp #drawer-menu .global-nav > ul > li > button span::after {
  content: none;
  display: block;
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 100%;
  height: 2px;
  background-color: #10218b;
  border-radius: 2px;
}

.header-menu-sp #drawer-menu .global-nav > ul > li > button[aria-expanded="true"] span {
  font-weight: 700;
  color: #10218b;
}

.header-menu-sp #drawer-menu .global-nav > ul > li > button[aria-expanded="true"] span::after {
  content: "";
}

.header-menu-sp #drawer-menu .global-nav > ul > li div[aria-hidden] {
  display: none;
  padding: 5px 0 15px;
}

.header-menu-sp #drawer-menu .global-nav > ul > li > div > ul > li{
  display: flex;
}

.header-menu-sp #drawer-menu .global-nav > ul > li > div > ul > li > a {
  display: block;
  position: relative;
  padding: 10px 45px 10px 61px;
  font-size: 1.6rem;
  text-decoration: none;
  color: #333;
  gap: 18px;
}

.header-menu-sp #drawer-menu .global-nav > ul > li > div > ul > li > a::before {
  content: "\e907";
  display: inline-block;
  position: absolute;
  left: 45px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 8px;
  font-family: 'iconfont';
  line-height: 1;
  vertical-align: middle;
  color: #10218b;
}

/************ drawer purpose link menu SP */
.header-menu-sp #drawer-purpose-link-menu {
  background: #fff;
}
.header-menu-sp #drawer-purpose-link-menu .inner h2 {
  color: #333;
  font-size: 20px;
}

.header-menu-sp #drawer-menu .global-nav > ul > li > div > .bnr {
  margin: 10px 45px 0;
}

.header-menu-sp #drawer-menu .global-nav > ul > li > div > .bnr > .heading {
  display: inline-block;
  position: relative;
  margin-bottom: 15px;
  font-size: 1.2rem;
  font-weight: 700;
}

.header-menu-sp #drawer-menu .global-nav > ul > li > div > .bnr > .heading::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -88px;
  width: 68px;
  height: 1px;
  background-color: #707070;
  transform: translateY(-50%);
}

.header-menu-sp #drawer-menu .global-nav > ul > li > div > .bnr > ul > li + li {
  margin-top: 20px;
}

.header-menu-sp #drawer-menu .assist-nav {
        /*追加*/
    font-size: 1.5rem;
  margin: 30px 30px 0;
  padding-top: 15px;
  border-top: 1px solid #C6C6C6;
}

.header-menu-sp #drawer-menu .assist-nav > ul {
  display: flex;
  flex-wrap: wrap;
}

.header-menu-sp #drawer-menu .assist-nav > ul > li {
  width: 50%;
}

.header-menu-sp #drawer-menu .assist-nav > ul > li {
  width: 50%;
}

.header-menu-sp #drawer-menu .assist-nav > ul > li > a {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  color: #333;
}

.header-menu-sp #drawer-search {
  padding: 15px;
  background-color: #F2F6F6;
}

.header-menu-sp #drawer-search fieldset {
  display: flex;
}

.header-menu-sp #drawer-search legend {
  display: none;
}

.header-menu-sp #drawer-search input[type="text"] {
  flex: 1 0 0%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  height: 44px;
  padding: 0 10px;
  font-size: 1.6rem;
  background-color: #FFF;
  border: 1px solid #C6C6C6;
  border-radius: 0;
  outline: 0;
}

.header-menu-sp #drawer-search input[type="text"]::-webkit-input-placeholder {
  color: #C6C6C6;
}

.header-menu-sp #drawer-search input[type="text"]::-ms-input-placeholder {
  color: #C6C6C6;
}

.header-menu-sp #drawer-search input[type="text"]::placeholder {
  color: #C6C6C6;
}

.header-menu-sp #drawer-search input[type="text"]:focus {
  border-color: #9f9f9f;
  border-width: 1px;
}

.header-menu-sp #drawer-search input[type="text"]:disabled, .header-menu-sp #drawer-search input[type="text"]:-moz-read-only {
  background-color: #f4f4f4;
}

.header-menu-sp #drawer-search input[type="text"]:disabled, .header-menu-sp #drawer-search input[type="text"]:read-only {
  background-color: #f4f4f4;
}

.header-menu-sp #drawer-search button[type="submit"] {
  width: 44px;
  height: 44px;
  margin-left: 15px;
  background-color: #6D6D6D;
  border-radius: 50%;
}

.header-menu-sp #drawer-search button[type="submit"]::before {
  content: "\e903";
  display: inline-block;
  font-size: 20px;
  font-family: 'iconfont';
  line-height: 44px;
  vertical-align: middle;
  color: #FFF;
}

[data-target="drawer"] {
  position: fixed;
  top: 60px;
  bottom: 0;
  width: 100%;
  z-index: 800;
  transform: translateY(-100%);
}

[data-target="drawer"] > .overlay {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  transform: translateY(0);
  background-color: rgba(0, 0, 0, 0.4);
}

[data-target="drawer"] > div {
  position: fixed;
  top: 0;
  width: 100%;
  max-height: 100%;
  overflow-y: auto;
  transform: translateY(0);
  transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-overflow-scrolling: touch;
}

/*  エプソンロゴ小さく  */
@media all and (min-width: 1000px) {
  html.-is-scroll #header .logo {
    transform: translateY(20px);
    width: 300px;
  }
}

@media all and (min-width: 1000px) {
  html.-fixed-header #header {
    border-bottom: 1px solid #DEDEDE;
  }
  html.-fixed-header #header .assist-nav {
    opacity: 0;
  }
}

@media all and (min-width: 1000px) {
  html.-header-search body {
    position: fixed;
    left: 0;
    top: 0;
    overflow: hidden;
    width: 100%;
  }
  html.-header-search #header .assist-nav::before {
    display: block;
  }
}

@media screen and (max-width: 999.98px) {
  html.-drawer-open body {
    position: fixed;
    left: 0;
    top: 0;
    overflow: hidden;
    width: 100%;
  }
  html.-drawer-open [data-target="drawer"] > .overlay {
    transform: translateY(100%);
  }
  html.-drawer-open #header .menu-btns-sp .searchBtn[aria-expanded="true"]::before,
  html.-drawer-open #header .menu-btns-sp .searchBtn[aria-expanded="true"]::after {
    content: "";
    display: block;
    position: absolute;
    width: 30px;
    height: 2px;
    background-color: #333;
    border-radius: 2px;
  }
  html.-drawer-open #header .menu-btns-sp .searchBtn[aria-expanded="true"]::before {
    top: 29px;
    transform: rotate(-45deg);
  }
  html.-drawer-open #header .menu-btns-sp .searchBtn[aria-expanded="true"]::after {
    bottom: 29px;
    transform: rotate(45deg);
  }
  html.-drawer-open #header .menu-btns-sp .menuBtn[aria-expanded="true"] > span {
    transform: translateY(10px) rotate(-45deg);
  }
  html.-drawer-open #header .menu-btns-sp .menuBtn[aria-expanded="true"]::before {
    opacity: 0;
  }
  html.-drawer-open #header .menu-btns-sp .menuBtn[aria-expanded="true"]::after {
    transform: translateY(-10px) rotate(45deg);
  }

  /************ purplinkBtns SP block */
  html.-drawer-open #header .menu-btns-sp .plBtn {
    position: absolute;
    top: 60px;
    right: -60px;
    width: 60px;
    height: 60px;
  }
  html.-drawer-open #header .menu-btns-sp .plBtn[aria-expanded="true"]::before,
  html.-drawer-open #header .menu-btns-sp .plBtn[aria-expanded="true"]::after {
    content: "";
    display: block;
    position: absolute;
    width: 30px;
    height: 2px;
    background-color: #333;
    border-radius: 2px;
  }
  html.-drawer-open #header .menu-btns-sp .plBtn[aria-expanded="true"]::before {
    top: 29px;
    right: 15px;
    transform: rotate(-45deg);
  }
  html.-drawer-open #header .menu-btns-sp .plBtn[aria-expanded="true"]::after {
    bottom: 29px;
    right: 15px;
    transform: rotate(45deg);
  }
  html.-drawer-open #header .menu-btns-sp .plBtn[aria-expanded="true"]::before {
    top: 30px;
    right: 15px;
    transform: rotate(-45deg);
  }
  html.-drawer-open #header .menu-btns-sp .plBtn[aria-expanded="true"]::after {
    bottom: 28px;
    right: 15px;
    transform: rotate(45deg);
  }
}

/* footer
-------------------------------------------------------------------- */
#footer {
  position: relative;
  color: #FFF;
  background-color: #10218b;
}

#footer :lang(ja) {
  font-family: "BIZ UDPGothic", sans-serif;
}

#footer :lang(en) {
  font-family: Helvetica,Arial,'Roboto',sans-serif;
}

/* 250321 hama追加 ここから*/
#footer > #pagetop {
  opacity: 0;
  transform: translateY(100%);
  transition: opacity 0.5s ease, transform 0.5s ease;
  display: block;
  position: absolute;
  right: 0;
  bottom: 100%;
  z-index: 899;
}

/* 表示時 */
#footer > #pagetop.show {
  opacity: 1;
  transform: translateY(0);
}

/* 非表示時 */
#footer > #pagetop.hide {
  opacity: 0;
  transform: translateY(20%);
}
/* 250321 hama追加 ここまで*/


#footer > #pagetop > a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 50px;
  height: 50px;
  font-size: 1.6rem;
  text-decoration: none;
  color: #FFF;
  background-color: #10218b;
}

@media all and (min-width: 500px) {
  #footer > #pagetop > a {
    text-decoration: none;
    transition: opacity .2s linear;
  }
  #footer > #pagetop > a:hover {
    opacity: 0.7;
  }
}

#footer > #pagetop > a::before {
  content: "";
  display: block;
  width: 18px;
  height: 2px;
  margin-bottom: 10px;
  background-color: #FFF;
}

#footer > #pagetop > a::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  margin-bottom: -8px;
  border-top: 2px solid #FFF;
  border-left: 2px solid #FFF;
  transform: rotate(45deg);
}

@media all and (min-width: 500px) {
  #footer .footer-sitemap {
    background-color: #EEE;
  }
  #footer .footer-sitemap a {
    color: #333;
    text-decoration: none;
  }
  #footer .footer-sitemap a:hover {
    color: #10218b;
  }
  #footer .footer-sitemap > .inner {
    width: 100%;
    max-width: 1366px;
    margin: auto;
    padding: 0 calc(min(6.07vw, 83px));
    padding-top: 70px;
    padding-bottom: 70px;
  }
  #footer .footer-sitemap > .inner nav {
    display: flex;
    justify-content: center;
    /* justify-content: space-between;                                    */
    flex-wrap: wrap;
  }
  #footer .footer-sitemap .col {
    width: 23%;
  }




  #footer .footer-sitemap .heading {
    margin: 40px 30px 20px 0;
    font-size: 1.6rem;
    font-weight: 700;
      display: block;
      border-bottom: 1.5px solid #222;
      padding-bottom: 8px;
      margin-bottom: 16px;
      cursor: normal;
  }
  #footer .footer-sitemap .heading:first-child {
    margin-top: 0;
  }
  #footer .footer-sitemap .linkList li {
    font-size: 1.3rem;
  }
  #footer .footer-sitemap .linkList li + li {
    margin-top: 14px;
  }
}

@media screen and (max-width: 799.9px) {
  #footer .footer-sitemap .col {
    width: 30%;
  }
  #footer .footer-sitemap .col:nth-child(n+4) {
    margin-top: 40px;
  }
}

@media screen and (max-width: 499.9px) {
  #footer .footer-sitemap {
    background-color: #EFEFEF;
  }
  #footer .footer-sitemap a {
    color: #333;
  }
  #footer .footer-sitemap .heading {
    position: relative;
    font-weight: 700;
  }
  #footer .footer-sitemap .heading::before {
    content: "";
    display: block;
    position: absolute;
    left: 15px;
    right: 15px;
    top: 0;
    height: 1px;
    background-color: #C6C6C6;
  }
  #footer .footer-sitemap .heading a {
    display: block;
    padding: 16px 15px;
    font-size: 1.3rem;
    pointer-events: none;
  }
  #footer .footer-sitemap .heading a::before,
  #footer .footer-sitemap .heading a::after {
    content: "";
    display: block;
    position: absolute;
    right: 15px;
    top: 50%;
    width: 15px;
    height: 2px;
    background-color: #333;
    border-radius: 1px;
  }
  #footer .footer-sitemap .heading a::after {
    transform: rotate(90deg);
    transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  #footer .footer-sitemap .heading[aria-expanded="true"] a::after {
    transform: rotate(0deg);
  }
  #footer .footer-sitemap .col {
    width: 100%;
  }
  #footer .footer-sitemap .col:nth-child(n+4) {
    margin-top: 0;
  }
  #footer .footer-sitemap .col:first-child .heading:first-child::before {
    content: none;
  }
  #footer .footer-sitemap .linkList {
    display: none;
    padding: 0 0 10px 15px;
  }
  #footer .footer-sitemap .linkList li a {
    display: block;
    padding: 8px 15px;
    font-size: 1.2rem;
  }
}

#footer > .inner {
  width: 100%;
  max-width: 1366px;
  margin: auto;
  padding: 0 calc(min(6.07vw, 83px));
  padding-top: 50px;
  padding-bottom: 50px;
}

@media screen and (max-width: 499.9px) {
  #footer > .inner {
    padding: 25px 15px;
  }
}

#footer > .inner > .nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

#footer > .inner > .nav li {
  position: relative;
  padding: 0 25px;
}

@media screen and (max-width: 499.9px) {
  #footer > .inner > .nav li {
    padding: 0 12px;
    line-height: 1.9;
  }
}

#footer > .inner > .nav li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background-color: #FFF;
}

@media screen and (max-width: 499.9px) {
  #footer > .inner > .nav li::before {
    top: 8px;
    bottom: 8px;
  }
}

@media all and (min-width: 500px) {
  #footer > .inner > .nav li:first-child::before {
    content: none;
  }
}

@media screen and (max-width: 499.9px) {
  #footer > .inner > .nav li::after {
    content: "";
    display: block;
    position: absolute;
    right: -1px;
    top: 6px;
    bottom: 6px;
    width: 1px;
    background-color: #FFF;
  }
}

@media screen and (max-width: 499.9px) and (max-width: 499.9px) {
  #footer > .inner > .nav li::after {
    top: 8px;
    bottom: 8px;
  }
}

#footer > .inner > .nav li a {
  font-size: 1.4rem;
  color: #FFF;
}

@media screen and (max-width: 499.9px) {
  #footer > .inner > .nav li a {
    font-size: 1.2rem;
  }
}

#footer > .inner > .copyright {
  margin-top: 35px;
  display: block;
  font-size: 1.3rem;
  text-align: center;
}

@media screen and (max-width: 499.9px) {
  #footer > .inner > .copyright {
    margin-top: 25px;
    font-size: 1rem;
  }
}

/* main
-------------------------------------------------------------------- */
@media screen and (max-width: 999.98px) {
  #main {
    padding-top: 60px;
  }
}

.contents-area {
  margin: 70px 0;
}

.contents-area > .inner {
  width: 100%;
  max-width: 1100px;
  margin: auto;
  padding: 0 calc(min(6.07vw, 83px));
}

/* .contents-area > .inner-test {
  width: 100%;
  max-width: 1366px;
  margin: auto;
  padding: 0 calc(min(6.07vw, 83px));
} */

@media screen and (max-width: 499.9px) {
  .contents-area > .inner {
    padding: 0 15px;
  }
}

.contents-area > .inner > *:first-child {
  margin-top: 0;
}

.contents-area > .inner > *:last-child {
  margin-bottom: 0;
}

.contents-area:last-of-type {
  margin-bottom: 70px;
}

.contents-bgcolor {
  margin: 120px 0;
  padding: 45px 0;
  background-color: #EEE;
}

@media screen and (max-width: 499.9px) {
  .contents-bgcolor {
    margin: 80px 0;
  }
}

.content-block-l {
  margin: 60px 0;
}

.content-block-m {
  margin: 45px 0;
}

/* --------------------------------------------------------------------
 parts
-------------------------------------------------------------------- */
/* link
-------------------------------------------------------------------- */
a, button {
  text-decoration: none;
  color: #10218b;
  transition: color .3s linear;
}

@media all and (min-width: 500px) {
  a:hover, a:active,
  button:hover, button:active {
    text-decoration: underline;
  }
}

.-hover {
  text-decoration: none;
  transition: opacity .2s linear;
}

.-hover:hover {
  opacity: 0.7;
}

.-color-hover {
  transition: color 0.2s linear;
}

.-color-hover:hover {
  color: #10218b !important;
}

/* .-map-hover {
  fill: #10218b;
}

.-map-hover:hover {
  fill: #c4c10b;
} */

/*
.link01 {
  display: inline-block;
  position: relative;
  padding-right: 1.4em;
  text-align: left;
  text-decoration: none;
  color: #333;
  transition: color 0.2s linear;
}

.link01::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: 0;
  top: 0.4em;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media all and (min-width: 500px) {
  .link01:hover {
    text-decoration: none;
    color: #10218b;
  }
  .link01:hover::after {
    transform: translateX(5px);
  }
}
*/

/*.blank-link*/
.blank-link-block{
  display: block;
  text-align: left;
}

/*.blank-link::after */
.blank-link-block::after {
  display: inline-block;
  content: "\e905";
  margin-left: .6em;
  font-size: 0.7em;
  font-family: 'iconfont';
  vertical-align: 0.1em;
  color: #10218b;
}

/*.blank-link-block-pdf */
.blank-link-block-pdf {
  display: block;
  text-align: left;
}

/*.blank-link-block-pdf:after */
.blank-link-block-pdf:after {
  display: inline-block;
  content: "\f1c1";
  margin-left: .2em;
  font-size: 1.2em;
  font-family: 'Font Awesome 6 Free';
  color: #FF0000;
}

/*.blank-link.-pdf */
/* .blank-link-block.-pdf {
  text-decoration: underline;
} */

/*.blank-link.-pdf:hover */
/* .blank-link-block.-pdf:hover {
  text-decoration: none;
} */


.image-link {
  display: block;
  position: relative;
  overflow: hidden;
}

.image-link .image {
  display: block;
}

.image-link .image img {
  width: 100%;
}

.image-link .text {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
  right: 20px;
  font-size: 2.6rem;
  font-size: calc(min(2.6rem, 1.9vw));
  font-weight: 700;
  text-align: center;
  color: #FFF;
  text-shadow: 0 0 10px #333;
}

@media screen and (max-width: 499.9px) {
  .image-link .text {
    font-size: 2.4rem;
  }
}

.image-link .text::after {
  content: "\e901";
  display: block;
  margin-left: 3%;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #FFF;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.image-link._blank .text::after {
  content: "\e905";
  font-size: 0.9em;
}


.image-link.-wide {
  margin-left: calc(-1 * calc(min(6.07vw, 83px)));
  margin-right: calc(-1 * calc(min(6.07vw, 83px)));
}

@media screen and (max-width: 499.9px) {
  .image-link.-wide {
    margin-left: -15px;
    margin-right: -15px;
  }
}

.image-link.-wide .image {
  position: relative;
  overflow: hidden;
  height: 180px;
}

@media screen and (max-width: 499.9px) {
  .image-link.-wide .image {
    height: 146px;
  }
}

.image-link.-wide .image img {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 499.9px) {
  .image-link.-wide .image img {
    transform: translateY(-50%) scale(1.5);
  }
}

.image-link.-wide .text {
  font-size: 4rem;
  font-size: calc(min(4rem, 2.93vw));
  text-shadow: 0 0 10px #333;
}

@media screen and (max-width: 499.9px) {
  .image-link.-wide .text {
    font-size: 2.4rem;
  }
}

.image-link.-wide .text::after {
  margin-left: 1.5%;
}

@media screen and (max-width: 499.9px) {
  .image-link.-wide .text::after {
    margin-left: 3%;
  }
}

.image-link.-tall .image {
  height: 300px;
}

@media screen and (max-width: 499.9px) {
  .image-link.-tall .image {
    height: 330px;
  }
}

.image-link.-tall .text {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 20px;
  right: 20px;
  text-align: center;
  color: #FFF;
  text-shadow: 0 0 10px #333;
}

.image-link.-tall .text::after {
  content: none;
}

.image-link.-tall .text dt {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: calc(min(4rem, 2.93vw));
  font-weight: 700;
}

@media screen and (max-width: 499.9px) {
  .image-link.-tall .text dt {
    font-size: 2.4rem;
  }
}

.image-link.-tall .text dt::after {
  content: "\e901";
  display: block;
  margin-left: 1.5%;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #FFF;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media screen and (max-width: 499.9px) {
  .image-link.-tall .text dt::after {
    margin-left: 3%;
  }
}

.image-link.-tall .text dd {
  max-width: 885px;
  margin-top: 20px;
  font-size: calc(min(2rem, 2.93vw));
  text-align: left;
}

@media screen and (max-width: 499.9px) {
  .image-link.-tall .text dd {
    font-size: 1.6rem;
  }
}

@media all and (min-width: 500px) {
  .image-link .image img {
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .image-link:hover .image img {
    transform: scale(1.1);
  }
  .image-link:hover .text::after,
  .image-link:hover .text dt::after {
    transform: translateX(5px);
  }
  .image-link.-wide:hover .image img {
    transform: translateY(-50%) scale(1.06);
  }
}

.image-slide-link a {
  display: block;
  position: relative;
  overflow: hidden;
  color: #FFF;
}

.image-slide-link a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(51, 51, 51, 0.5);
}

@media screen and (max-width: 999.98px) {
  .image-slide-link a::before {
    content: none;
  }
}

.image-slide-link .image img {
  width: 100%;
}

.image-slide-link dl {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.image-slide-link dl dt {
  font-size: 2.19vw;
  font-size: calc(min(3rem, 2.19vw));
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 499.9px) {
  .image-slide-link dl dt {
    font-size: 2.4rem;
  }
}

.image-slide-link dl dd {
  width: 100%;
  padding: 0 13%;
  font-size: 1.46vw;
  font-size: calc(min(2rem, 1.46vw));
  margin-top: 1em;
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 499.9px) {
  .image-slide-link dl dd {
    padding: 0 30px;
    font-size: 1.6rem;
  }
}

@media all and (min-width: 1000px) {
  .image-slide-link a::before {
    z-index: 1;
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .image-slide-link .image img {
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .image-slide-link dl {
    z-index: 1;
  }
  .image-slide-link dl {
    transform: translateY(calc(min(2vw, 27px)));
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .image-slide-link dl.line2 {
    transform: translateY(calc(min(3.2vw, 40px)));
  }
  .image-slide-link dl.line3 {
    transform: translateY(calc(min(4.5vw, 61px)));
  }
  .image-slide-link dl dd {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .image-slide-link a:hover::before {
    opacity: 1;
  }
  .image-slide-link a:hover .image img {
    transform: scale(1.1);
  }
  .image-slide-link a:hover dl {
    transform: translateY(0);
  }
  .image-slide-link a:hover dl dd {
    opacity: 1;
  }
}

/* button
-------------------------------------------------------------------- */
.button01 {
  display: flex;
  align-items: center;
  text-decoration: none;
  min-height: 60px;
  padding: 6px 5%;
  line-height: 1.4;
  color: #333;
  border: 1px solid #1357C4;
  transition: all 0.2s linear;
    height: 100%;
}

.button01::after {
  content: "\e901";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
}

.button01.-center {
  justify-content: center;
}

@media all and (min-width: 500px) {
  .button01::after {
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .button01:hover {
    text-decoration: none;
    color: #10218b;
    background-color: #F2F6F6;
  }
  .button01:hover::after {
    transform: translateX(5px);
  }
}

.button01.-large {
  min-height: 84px;
  padding: 10px 7.5%;
  font-size: 2.2rem;
  font-weight: 700;
}

@media screen and (max-width: 499.9px) {
  .button01.-large {
    padding-left: 15px;
    padding-right: 15px;
    min-height: 60px;
    font-size: 2rem;
  }
}

.button01.-large::after {
  font-size: 1em;
}

.button01.-current {
  background-color: #F2F6F6;
}

.anchor-button {
  display: flex;
  align-items: center;
  text-decoration: none;
  min-height: 60px;
  padding: 6px 5%;
  line-height: 1.4;
  color: #333;
  border: 1px solid #1357C4;
  transition: all 0.2s linear;
    height: 100%;
}

.anchor-button::after {
  content: "\e901";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
}

.anchor-button.-center {
  justify-content: center;
}

@media all and (min-width: 500px) {
  .anchor-button::after {
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .anchor-button:hover {
    text-decoration: none;
    color: #10218b;
    background-color: #F2F6F6;
  }
  .anchor-button:hover::after {
    transform: translateX(5px);
  }
}

.anchor-button.-large {
  min-height: 84px;
  padding: 10px 7.5%;
  font-size: 2.2rem;
  font-weight: 700;
}

@media screen and (max-width: 499.9px) {
  .anchor-button.-large {
    padding-left: 15px;
    padding-right: 15px;
    min-height: 60px;
    font-size: 2rem;
  }
}

.anchor-button.-large::after {
  font-size: 1em;
}

.anchor-button.-current {
  background-color: #F2F6F6;
}

.anchor-button::after {
  content: "\e907";
  display: block;
  margin-left: .8em;
  font-size: .7em;
  transform: rotate(90deg);
}

@media all and (min-width: 500px) {
  .anchor-button:hover::after {
    transform: rotate(90deg);
  }
}

/* 外部リンクアイコン */
.blank-button {
  display: flex;
  align-items: center;
  text-decoration: none;
  min-height: 60px;
  padding: 6px 5%;
  line-height: 1.4;
  color: #333;
  border: 1px solid #1357C4;
  transition: all 0.2s linear;
    height: 100%;
}

.blank-button::after {
  content: "\e905";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
}

.blank-button.-center {
  justify-content: center;
}

@media all and (min-width: 500px) {
  .blank-button::after {
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .blank-button:hover {
    text-decoration: none;
    color: #10218b;
    background-color: #F2F6F6;
  }
}

.blank-button.-large {
  min-height: 84px;
  padding: 10px 7.5%;
  font-size: 2.2rem;
  font-weight: 700;
}

@media screen and (max-width: 499.9px) {
  .blank-button.-large {
    padding-left: 15px;
    padding-right: 15px;
    min-height: 60px;
    font-size: 2rem;
  }
}

.blank-button.-large::after {
  font-size: 1em;
}

.blank-button.-current {
  background-color: #F2F6F6;
}

.blank-button::after {
  content: "\e905";
  display: block;
  margin-left: .8em;
  font-size: .7em;
}


/*PDF/Excel/Word リンク*/
.pdf-button ,
.excel-button ,
.word-button {
  display: flex;
  align-items: center;
  text-decoration: none;
  min-height: 60px;
  padding: 6px 5%;
  line-height: 1.4;
  color: #333;
  border: 1px solid #1357C4;
  transition: all 0.2s linear;
    height: 100%;
}

.pdf-button::after {
  content: "\f1c1";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'Font Awesome 6 Free';
  line-height: 1;
  color: #FF0000;
}
.excel-button::after {
  content: "\f1c3";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'Font Awesome 6 Free';
  line-height: 1;
  color: #008080;
}
.word-button::after {
  content: "\f1c2";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'Font Awesome 6 Free';
  line-height: 1;
  color: #000080;
}

.pdf-button.-center ,
.excel-button.-center ,
.word-button.-center {
  justify-content: center;
}

@media all and (min-width: 500px) {
  .pdf-button:hover ,
  .excel-button:hover ,
  .word-button:hover {
    text-decoration: none;
    color: #10218b;
    background-color: #F2F6F6;
  }
}
/* 灰ボタン 追加 ------------------------------------------------------------------------------------------------------2212miyazawa------- */
.button01-gray {
  display: flex;
  align-items: center;
  text-decoration: none;
  min-height: 60px;
  padding: 6px 5%;
  line-height: 1.4;
  transition: all 0.2s linear;
    background-color:#c2c2c2;
    color:#666666;
    height: 100%;
}
.button01-gray.-center {
  justify-content: center;
}


/* 青ボタン 追加 ------------------------------------------------------------------------ */
.button01-blue {
  display: flex;
  align-items: center;
  text-decoration: none;
  min-height: 60px;
  padding: 6px 5%;
  line-height: 1.4;
  transition: all 0.2s linear;
    background-color:#10218b;
    color:#ffffff;
    height: 100%;
}

.button01-blue::after {
  content: "\e901";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'iconfont';
  line-height: 1;
  /*color: #10218b;*/
  color: #ffffff;
}

.button01-blue.-center {
  justify-content: center;
}

@media all and (min-width: 500px) {
  .button01-blue::after {
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .button01-blue:hover {
    text-decoration: none;
    opacity: 0.7;
  }
  .button01-blue:hover::after {
    transform: translateX(5px);
  }
}

.button01-blue.-large {
  min-height: 84px;
  padding: 10px 7.5%;
  font-size: 2.2rem;
  font-weight: 700;
}

@media screen and (max-width: 499.9px) {
  .button01-blue.-large {
    padding-left: 15px;
    padding-right: 15px;
    min-height: 60px;
    font-size: 2rem;
  }
}

.button01-blue.-large::after {
  font-size: 1em;
}

.button01-blue.-current {
  background-color: #F2F6F6;
}

.anchor-button-blue {
  display: flex;
  align-items: center;
  text-decoration: none;
  min-height: 60px;
  padding: 6px 5%;
  line-height: 1.4;
  transition: all 0.2s linear;
    background-color:#10218b;
    color:#ffffff;
    height: 100%;
    
}

.anchor-button-blue::after {
  content: "\e901";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'iconfont';
  line-height: 1;
  color: #ffffff;
}

.anchor-button-blue.-center {
  justify-content: center;
}

@media all and (min-width: 500px) {
  .anchor-button-blue::after {
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .anchor-button-blue:hover {
    text-decoration: none;
    opacity: 0.7;
  }
  .anchor-button-blue:hover::after {
    transform: translateX(5px);
  }
}

.anchor-button-blue.-large {
  min-height: 84px;
  padding: 10px 7.5%;
  font-size: 2.2rem;
  font-weight: 700;
}

@media screen and (max-width: 499.9px) {
  .anchor-button-blue.-large {
    padding-left: 15px;
    padding-right: 15px;
    min-height: 60px;
    font-size: 2rem;
  }
}

.anchor-button-blue.-large::after {
  font-size: 1em;
}

.anchor-button-blue.-current {
  background-color: #F2F6F6;
}

.anchor-button-blue::after {
  content: "\e907";
  display: block;
  margin-left: .8em;
  font-size: .7em;
  transform: rotate(90deg);
}

@media all and (min-width: 500px) {
  .anchor-button-blue:hover::after {
    transform: rotate(90deg);
  }
}

/* 外部リンクアイコン */
.blank-button-blue {
  display: flex;
  align-items: center;
  text-decoration: none;
  min-height: 60px;
  padding: 6px 5%;
  line-height: 1.4;
  transition: all 0.2s linear;
    background-color:#10218b;
    color:#ffffff;
    height: 100%;
    
}

.blank-button-blue::after {
  content: "\e905";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'iconfont';
  line-height: 1;
  color: #ffffff;
}

.blank-button-blue.-center {
  justify-content: center;
}

@media all and (min-width: 500px) {
  .blank-button-blue::after {
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .blank-button-blue:hover {
    text-decoration: none;
    opacity: 0.7;
  }
}
.blank-button-blue.-large {
  min-height: 84px;
  padding: 10px 7.5%;
  font-size: 2.2rem;
  font-weight: 700;
}
@media screen and (max-width: 499.9px) {
  .blank-button-blue.-large {
    padding-left: 15px;
    padding-right: 15px;
    min-height: 60px;
    font-size: 2rem;
  }
}
.blank-button-blue.-large::after {
  font-size: 1em;
}
.blank-button-blue.-current {
  background-color: #F2F6F6;
}
.blank-button-blue::after {
  content: "\e905";
  display: block;
  margin-left: .8em;
  font-size: .7em;
}


/* PDF/excel/word アイコン */
.pdf-button-blue ,
.excel-button-blue ,
.word-button-blue {
  display: flex;
  align-items: center;
  text-decoration: none;
  min-height: 60px;
  padding: 6px 5%;
  line-height: 1.4;
  transition: all 0.2s linear;
    background-color:#10218b;
    color:#ffffff;
    height: 100%;
}

.pdf-button-blue::after {
  content: "\f1c1";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'Font Awesome 6 Free';
  line-height: 1;
  color: #ffffff;
}
.excel-button-blue::after {
  content: "\f1c3";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'Font Awesome 6 Free';
  line-height: 1;
  color: #ffffff;
}
.word-button-blue::after {
  content: "\f1c2";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'Font Awesome 6 Free';
  line-height: 1;
  color: #ffffff;
}

.pdf-button-blue.-center ,
.excel-button-blue.-center ,
.word-button-blue.-center {
  justify-content: center;
}

@media all and (min-width: 500px) {
  .pdf-button-blue:hover ,
  .excel-button-blue:hover ,
  .word-button-blue:hover {
    text-decoration: none;
    opacity: 0.7;
  }
}


/* 青ボタン ここまで ------------------------------------------------------------------------ */





/* text
-------------------------------------------------------------------- */
.text-m {
  margin-bottom: 15px;
  font-size: 1.6rem;
  max-width: 885px;
}

.text-l {
  margin-bottom: 15px;
  font-size: 1.8rem;
  max-width: 885px;
}

.lead-text {
  margin-bottom: 15px;
  font-size: 1.8rem;
  max-width: 885px;
}

/* image
-------------------------------------------------------------------- */
.image-list {
  margin: 40px 0;
}

.video-wrap {
  display: block;
  position: relative;
}

.video-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(/assets/img/ico-play.png) no-repeat 50% 50%;
  background-size: calc(min(16%, 86px)) auto;
  transition: opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.video-wrap img {
  width: 100%;
}

.video-wrap .time {
  display: block;
  position: absolute;
  left: 5px;
  bottom: 5px;
  padding: 3px 10px;
  font-size: 1.4rem;
  color: #FFF;
  background-color: rgba(51, 51, 51, 0.7);
  border-radius: 6px;
}

a:hover .video-wrap::after,
button:hover .video-wrap::after {
  opacity: 0.7;
}

.image-text-column {
  display: flex;
  justify-content: space-between;
  margin: 60px 0;
}
/*----------------------------グロナビ用アイコン追加　230602miyazawa---------------------------------------- */
.newwin-wrap {
  display: block;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 999px){
    .newwin-wrap {
      width: 281px;
    }
}
@media screen and (max-width: 370px){
	.newwin-wrap{
		width: 100%;
	}	
}

.newwin-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(/assets/img/ico-newwindow.png) no-repeat 98% 90%;
  background-size: calc(min(8%, 60px)) auto;
  transition: opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.newwin-wrap img {
  width: 100%;
}


.newwin-wrap-w {
  display: block;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 999px){
	.newwin-wrap-w{
      width: 281px;
    }
}
@media screen and (max-width: 370px){
	.newwin-wrap-w{
		width: 100%;
	}	
}

.newwin-wrap-w::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(/assets/img/ico-newwindow-w.png) no-repeat 98% 90%;
  background-size: calc(min(8%, 60px)) auto;
  transition: opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.newwin-wrap-w img {
  width: 100%;
}
/*----------------------------グロナビ用アイコン追加　230602miyazawa----------------------------------------------------------------------------------------- */
/*----------------------------ページ内イメージ用アイコン追加　230704miyazawa----------------------------------------------------------------------------------------- */
.newwin-wrap-p {
  display: block;
  position: relative;
  width: 100%;
}
/*@media screen and (max-width: 999px){
    .newwin-wrap {
      width: 281px;
    }
}
@media screen and (max-width: 370px){
	.newwin-wrap{
		width: 100%;
	}	
}*/

.newwin-wrap-p::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: url(/assets/img/ico-newwindow.png) no-repeat 98% 90%;
  background-size: calc(min(8%, 60px)) auto;
  transition: opacity 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.newwin-wrap-p img {
  width: 100%;
}


/*----------------------------グロナビ用アイコン追加　230602miyazawa----------------------------------------------------------------------------------------- */


@media screen and (max-width: 499.9px) {
  .image-text-column {
    display: block;
  }
}

.image-text-column > .image {
  width: 30%;
}

@media screen and (max-width: 499.9px) {
  .image-text-column > .image {
    width: 100%;
  }
}

.image-text-column > .image img {
  width: 100%;
}

.image-text-column > .text {
  width: 65%;
}

@media screen and (max-width: 499.9px) {
  .image-text-column > .text {
    width: 100%;
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 499.9px) {
  .image-text-column > *:first-child {
    margin-bottom: 30px;
  }
}

.image-text-column.-reverse {
  flex-direction: row-reverse;
}

/* heading
-------------------------------------------------------------------- */
.heading01 {
  margin: 120px 0 30px;
}

.heading01 h1, .heading01 h2, .heading01 h3, .heading01 h4, .heading01 h5, .heading01 h6, .heading01 p {
  font-size: 4rem;
  font-weight: 700;
}

@media screen and (max-width: 499.9px) {
  .heading01 h1, .heading01 h2, .heading01 h3, .heading01 h4, .heading01 h5, .heading01 h6, .heading01 p {
    font-size: 2.8rem;
  }
}

.heading01 + div {
  margin-top: 0;
}

.heading01.-image {
  padding: 35px 3.75%;
  color: #FFF;
  text-shadow: 0 0 10px #333;
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

.heading01.-image h1, .heading01.-image h2, .heading01.-image h3, .heading01.-image h4, .heading01.-image h5, .heading01.-image h6 {
  font-size: 4.4rem;
}

@media screen and (max-width: 499.9px) {
  .heading01.-image h1, .heading01.-image h2, .heading01.-image h3, .heading01.-image h4, .heading01.-image h5, .heading01.-image h6 {
    font-size: 3.2rem;
  }
}

.heading01.-image .lead {
  font-size: 1.8rem;
}

.heading01.-keyvisual {
  min-height: 476px;
  margin-top: 0;
  padding: 80px 3.75%;
  text-align: center;
  color: #FFF;
  text-shadow: 0 0 10px #333;
  background-position: 0 50%;
  background-repeat: no-repeat;
  background-size: cover;
  display:grid;
  align-items:center;
}


@media screen and (max-width: 499.9px) {
  .heading01.-keyvisual {
    padding-left: 30px;
    padding-right: 30px;
  }
/*採用トップスマホ画像縮小用-------------------------------20230525miyazawa------*/	
  .heading01.-keyvisual.careers {
    min-height: 300px;
    margin-top: 0;
    padding: 30px 3.75%;
  }
/*採用トップスマホ画像縮小用-------------------------------20230525miyazawa-------*/	
}

.heading01.-keyvisual h1, .heading01.-keyvisual h2, .heading01.-keyvisual h3, .heading01.-keyvisual h4, .heading01.-keyvisual h5, .heading01.-keyvisual h6 {
  font-size: 5rem;
}

@media screen and (max-width: 499.9px) {
  .heading01.-keyvisual h1, .heading01.-keyvisual h2, .heading01.-keyvisual h3, .heading01.-keyvisual h4, .heading01.-keyvisual h5, .heading01.-keyvisual h6 {
    font-size: 4rem;
  }
}

.heading01.-keyvisual .lead {
  max-width: 885px;
  margin: 20px auto 0;
  font-size: 1.8rem;
}

@media screen and (max-width: 499.9px) {
  .heading01 {
    margin-top: 50px;
  }
}

.heading01:first-child {
  margin-top: 70px;
}

.heading01.-image {
  margin: 50px 0 60px;
}

@media screen and (max-width: 499.9px) {
  .heading01.-image {
    margin-top: 30px;
  }
}

.heading02 {
  position: relative;
  padding-bottom: 15px;
  margin: 70px 0 40px;
}

.heading02 h1, .heading02 h2, .heading02 h3, .heading02 h4, .heading02 h5, .heading02 h6 {
  font-size: 2.4rem;
  font-weight: 700;
}

.heading02::before, .heading02::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #E4E4E4;
}

.heading02::after {
  width: 30%;
  background-color: #10218b;
}

.heading02 + div {
  margin-top: 0;
}

.heading03 {
  position: relative;
  padding-left: 25px;
  margin: 70px 0 30px;
}

.heading03 h1, .heading03 h2, .heading03 h3, .heading03 h4, .heading03 h5, .heading03 h6 {
  font-size: 2rem;
  font-weight: 700;
}

.heading03::before {
  content: "";
  display: block;
  position: absolute;
  top: 0.3em;
  bottom: 0.3em;
  left: 0;
  width: 4px;
  background-color: #10218b;
}

.heading03 + div {
  margin-top: 0;
}

.heading04 ,
.heading04s {
  margin: 50px 0 30px;
}

.heading04 h1, .heading04 h2, .heading04 h3, .heading04 h4, .heading04 h5, .heading04 h6 {
  font-size: 2.8rem;
  font-weight: 700;
}
.heading04s h1, .heading04s h2, .heading04s h3, .heading04s h4, .heading04s h5, .heading04s h6 {
  font-size: 1.9rem;
  font-weight: 700;
}

@media screen and (max-width: 499.9px) {
  .heading04 h1, .heading04 h2, .heading04 h3, .heading04 h4, .heading04 h5, .heading04 h6 {
    font-size: 2rem;
  }
  .heading04s h1, .heading04s h2, .heading04s h3, .heading04s h4, .heading04s h5, .heading04s h6 {
    font-size: 1.8rem;
  }
}

.heading04 + div ,
.heading04s + div {
  margin-top: 0;
}

.center-heading {
  margin: 80px 0 35px;
}

.center-heading h1, .center-heading h2, .center-heading h3, .center-heading h4, .center-heading h5, .center-heading h6 {
  font-size: 2.8rem;
  font-weight: 700;
  text-align: center;
}

@media screen and (max-width: 499.9px) {
  .center-heading h1, .center-heading h2, .center-heading h3, .center-heading h4, .center-heading h5, .center-heading h6 {
    font-size: 2.4rem;
  }
}

.center-heading:first-child {
  margin-top: 0;
}

@media screen and (max-width: 499.9px) {
  .center-heading {
    margin: 70px 0 30px;
  }
}

/****** 0726 リリースタイトル・heading02疑似要素関連クラス打消し hama追加 **/
.heading-underline {
  position: relative;
  padding-bottom: 15px;
}

.heading-underline::before, .heading-underline::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background-color: #E4E4E4;
}

.heading-underline::after {
  width: 30%;
  background-color: #10218b;
}

.heading-underline .heading01 {
  margin: 0;
}

.heading-underline .heading02 {
  padding-bottom: 0;
  margin: 0;
}

.heading-underline .heading02::before, .heading-underline .heading02::after {
  content: none;
}

.heading-underline + p {
  margin-top:20px;
}

/****** ここまで **/

/* list
-------------------------------------------------------------------- */
/*
.list01 {
  max-width: 885px;
  margin-bottom: 15px;
}

.list01 li {
  position: relative;
  padding-left: 20px;
}

.list01 li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: .6em;
  width: 8px;
  height: 8px;
  background-color: #10218b;
  border-radius: 50%;
}

.list01 li li::before {
  background-color: #FFF;
  border: 1px solid #10218b;
}

.list01 li li li::before {
  width: 6px;
  height: 6px;
  border-radius: 0;
  background-color: #10218b;
  border: none;
}

.list01 li > ul {
  margin-top: 5px;
}

.list01 li + li {
  margin-top: 5px;
}*/

.note-list {
  margin-bottom: 15px;
}

.note-list > li {
  position: relative;
  padding-left: 2em;
}

.note-list > li::before {
  content: "\203B";
  position: absolute;
  left: 0;
  top: 0;
}

.note-list-s {
  margin-bottom: 15px;
}

.note-list-s > li {
  position: relative;
  padding-left: 2em;
}

.note-list-s > li::before {
  content: "\203B";
  position: absolute;
  left: 0;
  top: 0;
}

.note-list-s > li {
  font-size: 1.2rem;
}

/*
.decimal-list {
  max-width: 885px;
  counter-reset: my-counter;
  margin-bottom: 15px;
}

.decimal-list > li {
  position: relative;
  padding-left: 2em;
  counter-increment: my-counter;
}

.decimal-list > li::before {
  content: counter(my-counter);
  position: absolute;
  left: 0;
  top: 0;
}

.decimal-list > li + li {
  margin-top: 5px;
}

.decimal-list-s {
  max-width: 885px;
  counter-reset: my-counter;
  margin-bottom: 15px;
}

.decimal-list-s > li {
  position: relative;
  padding-left: 2em;
  counter-increment: my-counter;
}

.decimal-list-s > li::before {
  content: counter(my-counter);
  position: absolute;
  left: 0;
  top: 0;
}

.decimal-list-s > li + li {
  margin-top: 5px;
}

.decimal-list-s > li {
  font-size: 1.2rem;
}
*/

.note-decimal-list {
  max-width: 885px;
  counter-reset: my-counter;
  margin-bottom: 15px;
}

.note-decimal-list > li {
  position: relative;
  padding-left: 2em;
  counter-increment: my-counter;
}

.note-decimal-list > li::before {
  content: counter(my-counter);
  position: absolute;
  left: 0;
  top: 0;
}

.note-decimal-list > li + li {
  margin-top: 5px;
}

.note-decimal-list > li {
  padding-left: 3em;
}

.note-decimal-list > li::before {
  content: "※" counter(my-counter);
}

.note-decimal-list-s {
  max-width: 885px;
  counter-reset: my-counter;
  margin-bottom: 15px;
}

.note-decimal-list-s > li {
  position: relative;
  padding-left: 2em;
  counter-increment: my-counter;
}

.note-decimal-list-s > li::before {
  content: counter(my-counter);
  position: absolute;
  left: 0;
  top: 0;
}

.note-decimal-list-s > li + li {
  margin-top: 5px;
}

.note-decimal-list-s > li {
  padding-left: 3em;
}

.note-decimal-list-s > li::before {
  content: "※" counter(my-counter);
}

.note-decimal-list-s > li {
  font-size: 1.2rem;
}

/* リストアイコン 追加 ------------------------------------------------------------------------ */

/*.list-decimal li,*/
.list-disc > li,
.list-circle > li,
.list-square > li {
    /*list-style:disc; margin-left:20px;*/
    position: relative; padding-left: 20px;
}
.list-none > li{
    list-style: none;
    padding-left:0px;
}


.list-disc > li::before 
{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: .6em;
  width: 8px;
  height: 8px;
  background-color: #10218b;
  border-radius: 50%;
}
.list-circle > li::before 
{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: .6em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #FFF;
  border: 1px solid #10218b;
}

.list-square > li::before
{
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: .6em;
  width: 6px;
  height: 6px;
  border-radius: 0;
  background-color: #10218b;
  border: none;
}

.list-decimal > li{
  list-style:decimal; margin-left:20px;
}
.list-upper-alpha > li{
  list-style:upper-alpha; margin-left:20px;
}
.list-lower-alpha > li{
  list-style:lower-alpha; margin-left:20px;
}
.list-upper-roman > li{
  list-style:upper-roman; margin-left:20px;
}

/* リストアイコン ここまで ------------------------------------------------------------------------ */



/* table
-------------------------------------------------------------------- */
.table01 {
  /*margin: 60px 0;*/
}

.table01, .table02{
  width: 100%;
  border-top:1px solid #C6C6C6;
  border-left:1px solid #C6C6C6;
  border-collapse:collapse;
}

.table01 th, .table01 td {
  padding: 10px 15px;
  border-right:1px solid #C6C6C6;
  border-bottom:1px solid #C6C6C6;
}

.table02 th, .table02 td {
  padding: 5px;
  border-right:1px solid #C6C6C6;
  border-bottom:1px solid #C6C6C6;
}

@media screen and (max-width: 499.9px) {
  .table01 th, .table01 td {
    padding: 10px;
    font-size: 1.4rem;
  }
  .table02 th, .table02 td {
    font-size: 1.4rem;
  }
}

.table01 th,
.table02 th{
  font-weight: 700;
  text-align: left;
  background-color: #EEE;
}

/*
.table01.-scroll ,
.table02.-scroll {
  overflow-x: auto;
}
*/

@media screen and (max-width: 799.9px) {
  .table01.-scroll th, .table01.-scroll td 
  .table02.-scroll th, .table02.-scroll td {
    white-space: nowrap;
  }
}

/*レスポンシブ用*/
.table-responsive {
  min-height: .01%;
  overflow-x: auto;
}
@media screen and (max-width: 799px) {
  .table-responsive {
    width: 100%;
    padding: 0 0px 5px;
    margin-bottom: 15px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    -webkit-overflow-scrolling: touch;
    border: 2px solid #eee;
    border-radius: 3px;
  }
}
@media screen and (max-width: 799px) {
    /*旧和文の指定継承*/
    .table-responsive > table{
        min-width:799px !important;
        max-width:initial !important;
    }
}

/*線無し*/
.table01 ._noborder-bottom, /* th,tdにクラス指定 */
.table02 ._noborder-bottom{
	border-bottom: 0px none;
}
.table01 ._noborder-right, /* th,tdにクラス指定 */
.table02 ._noborder-right{
	border-right: 0px none;
}
.table01._noborder-top, /* tableクラスと併記 */
.table02._noborder-top{
	border-top: 0px none;
}
.table01._noborder-left, /* tableクラスと併記 */
.table02._noborder-left{
	border-left: 0px none;
}




/* grid
-------------------------------------------------------------------- */
.grid-layout.-col2 {
  display: flex;
  flex-wrap: wrap;
  /*gap: 45px 5%;*/
  gap: 25px 5%;
}

@media screen and (max-width: 499.9px) {
  .grid-layout.-col2 {
    gap: 50px 0;
  }
}

.grid-layout.-col2.-center {
  justify-content: center;
}

.grid-layout.-col2 > * {
  width: calc((100% - (5% * (2 - 1))) / 2);
}

@media screen and (max-width: 499.9px) {
  .grid-layout.-col2 > * {
    width: 100%;
  }
}

/*
.grid-layout.-col3 {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 5%;
}

@media screen and (max-width: 499.9px) {
  .grid-layout.-col3 {
    gap: 50px 0;
  }
}

.grid-layout.-col3.-center {
  justify-content: center;
}

.grid-layout.-col3 > * {
  width: calc((100% - (5% * (3 - 1))) / 3);
}

@media screen and (max-width: 499.9px) {
  .grid-layout.-col3 > * {
    width: 100%;
  }
}

.grid-layout.-col4 {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 5%;
}

@media screen and (max-width: 499.9px) {
  .grid-layout.-col4 {
    gap: 50px 0;
  }
}

.grid-layout.-col4.-center {
  justify-content: center;
}

.grid-layout.-col4 > * {
  width: calc((100% - (5% * (4 - 1))) / 4);
}

@media screen and (max-width: 499.9px) {
  .grid-layout.-col4 > * {
    width: 100%;
  }
}

@media screen and (max-width: 499.9px) {
  .grid-layout.-gap-s {
    gap: 20px 0;
  }
}
*/

/* card
-------------------------------------------------------------------- */
.card-list {
  display: flex;
  flex-wrap: wrap;
  gap: 45px 5%;
  margin: 60px 0;
}

@media screen and (max-width: 499.9px) {
  .card-list {
    gap: 50px 0;
  }
}

.card-list.-center {
  justify-content: center;
}

.card-list > * {
  width: calc((100% - (5% * (2 - 1))) / 2);
}

@media screen and (max-width: 499.9px) {
  .card-list > * {
    width: 100%;
  }
}

@media screen and (max-width: 499.9px) {
  .card-list {
    margin: 80px 0;
  }
}

.card-list .item a ,
.card-list02 .item a {
  display: block;
  text-decoration: none;
  color: #333;
}

.card-list .item a .image ,
.card-list02 .item a .image {
  margin-bottom: 20px;
}

.card-list .item a .image img ,
.card-list02 .item a .image img {
  width: 100%;
}

.card-list .item a .title ,
.card-list02 .item a .title,
.card-list02 .item a .arrow {
  display: inline-block;
  position: relative;
  padding-right: 1.4em;
  text-align: left;
  text-decoration: none;
  color: #333;
  transition: color 0.2s linear;
  font-size: 2rem;
}

.card-list .item a .title::after ,
.card-list02 .item a .title::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: 0;
  top: 0.4em;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.card-list .item a .title._blank::after ,
.card-list02 .item a .title._blank::after {
  content: "\e905";
    top:0.6em;
  margin-left: 0.6em;
  font-size: 0.8em;
}
.card-list .item a .title._anchor::after ,
.card-list02 .item a .title._anchor::after {
    content: "\e907";
    transform: rotate(90deg);
    top:0.6em;
    margin-left: 0.6em;
    font-size: 0.8em;
}




@media all and (min-width: 500px) {
    .card-list .item a .title:hover ,
    .card-list02 .item a .title:hover {
        text-decoration: none;
        color: #10218b;
    }
    .card-list .item a .title:hover::after ,
    .card-list02 .item a .title:hover::after {
        transform: translateX(5px);
    }
    .card-list .item a:hover .title._anchor::after ,
    .card-list02 .item a:hover .title._anchor::after {
        transform: translateY(3px) rotate(90deg);
    }
    
}

.card-list .item a .date ,
.card-list02 .item a .date {
  margin-top: 15px;
  font-weight: 700;
}

.card-list .item a .blank-title ,
.card-list02 .item a .blank-title {
  display: block;
  text-align: left;
  font-size: 2rem;
  color: #10218b;
}

.card-list .item a .blank-title::after ,
.card-list02 .item a .blank-title::after {
  display: inline-block;
  content: "\e905";
  margin-left: .6em;
  font-size: 0.7em;
  font-family: 'iconfont';
  vertical-align: 0.1em;
  color: #10218b;
}

.card-list .item a .blank-title.-pdf ,
.card-list02 .item a .blank-title.-pdf {
  text-decoration: underline;
}

.card-list .item a .blank-title.-pdf:hover ,
.card-list02 .item a .blank-title.-pdf:hover {
  text-decoration: none;
}

.card-list .item a .text ,
.card-list02 .item a .text {
  margin-top: 15px;
}

@media screen and (max-width: 499.9px) {
  .card-list .item a .text ,
  .card-list02 .item a .text {
    margin-top: 10px;
  }
}

@media all and (min-width: 500px) {
  .card-list .item a .image ,
  .card-list02 .item a .image {
    overflow: hidden;
  }
  .card-list .item a .image img ,
  .card-list02 .item a .image img {
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .card-list .item a:hover .image img ,
  .card-list02 .item a:hover .image img {
    transform: scale(1.1);
  }
  .card-list .item a:hover .title ,
  .card-list02 .item a:hover .title,
  .card-list02 .item a:hover .arrow {
    color: #10218b;
  }
  .card-list .item a:hover .title::after ,
  .card-list02 .item a:hover .title::after,
  .card-list02 .item a:hover .arrow::after
    {
    transform: translateX(5px);
  }
  .card-list .item a:hover .blank-title ,
  .card-list02 .item a:hover .blank-title {
    text-decoration: underline;
  }
}

.card-list.-col2 {
  display: flex;
  flex-wrap: wrap;
  gap: 45px 5%;
}

@media screen and (max-width: 499.9px) {
  .card-list.-col2 {
    gap: 50px 0;
  }
}

.card-list.-col2.-center {
  justify-content: center;
}

.card-list.-col2 > * {
  width: calc((100% - (5% * (2 - 1))) / 2);
}

@media screen and (max-width: 499.9px) {
  .card-list.-col2 > * {
    width: 100%;
  }
}

.card-list.-col3 {
  display: flex;
  flex-wrap: wrap;
  gap: 45px 5%;
}

@media screen and (max-width: 499.9px) {
  .card-list.-col3 {
    gap: 50px 0;
  }
}

.card-list.-col3.-center {
  justify-content: center;
}

.card-list.-col3 > * {
  width: calc((100% - (5% * (3 - 1))) / 3);
}

@media screen and (max-width: 499.9px) {
  .card-list.-col3 > * {
    width: 100%;
  }
}

.card-list.-col4 {
  display: flex;
  flex-wrap: wrap;
  gap: 45px 5%;
}

@media screen and (max-width: 499.9px) {
  .card-list.-col4 {
    gap: 50px 0;
  }
}

.card-list.-col4.-center {
  justify-content: center;
}

.card-list.-col4 > * {
  width: calc((100% - (5% * (4 - 1))) / 4);
}

@media screen and (max-width: 499.9px) {
  .card-list.-col4 > * {
    width: 100%;
  }
}

.carousel-card-list .item a,
.carousel-card-list .item button {
  display: block;
  text-decoration: none;
  color: #333;
  white-space: normal;
}

.carousel-card-list .item a .image,
.carousel-card-list .item button .image {
  margin-bottom: 20px;
}

.carousel-card-list .item a .image img,
.carousel-card-list .item button .image img {
  width: 100%;
}

.carousel-card-list .item a .title,
.carousel-card-list .item button .title,
.carousel-card-list .item a .arrow{
  display: inline-block;
  position: relative;
  /*padding-right: 1.4em;*/
  padding-right: 1.7em;
  text-align: left;
  text-decoration: none;
  /*color: #333;*/
  color: #10218b;
  transition: color 0.2s linear;
  font-size: 2rem;
}
.carousel-card-list .item a .arrow{ /* 文字数がぴったりだと矢印が右にくっついてしまうので調整 */
    padding-right: 3px;
}

.carousel-card-list .item a .title::after,
.carousel-card-list .item button .title::after{
  content: "\e901";
  display: block;
  position: absolute;
  /*right: 0;*/
  right: 0.3em;
  top: 0.4em;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media all and (min-width: 500px) {
  .carousel-card-list .item a .title:hover,
  .carousel-card-list .item button .title:hover {
    /*text-decoration: none;*/
    color: #10218b;
  }
  .carousel-card-list .item a .title:hover::after,
  .carousel-card-list .item button .title:hover::after,
    .carousel-card-list .item a .arrow:hover::after{
    transform: translateX(5px);
  }
}

.carousel-card-list .item a .date,
.carousel-card-list .item button .date {
  margin-top: 15px;
  font-weight: 700;
}

.carousel-card-list .item a .blank-title,
.carousel-card-list .item button .blank-title {
  display: block;
  text-align: left;
  font-size: 2rem;
  color: #10218b;
}

.carousel-card-list .item a .blank-title::after,
.carousel-card-list .item button .blank-title::after {
  display: inline-block;
  content: "\e905";
  margin-left: .6em;
  font-size: 0.7em;
  font-family: 'iconfont';
  vertical-align: 0.1em;
  color: #10218b;
}

.carousel-card-list .item a .blank-title.-pdf,
.carousel-card-list .item button .blank-title.-pdf {
  text-decoration: underline;
}

.carousel-card-list .item a .blank-title.-pdf:hover,
.carousel-card-list .item button .blank-title.-pdf:hover {
  text-decoration: none;
}

.carousel-card-list .item a .text,
.carousel-card-list .item button .text {
  margin-top: 15px;
}

@media screen and (max-width: 499.9px) {
  .carousel-card-list .item a .text,
  .carousel-card-list .item button .text {
    margin-top: 10px;
  }
}

@media all and (min-width: 500px) {
  .carousel-card-list .item a .image,
  .carousel-card-list .item button .image {
    overflow: hidden;
  }
  .carousel-card-list .item a .image img,
  .carousel-card-list .item button .image img {
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .carousel-card-list .item a:hover .image img,
  .carousel-card-list .item button:hover .image img {
    transform: scale(1.1);
  }
  .carousel-card-list .item a:hover .title,
  .carousel-card-list .item button:hover .title {
    color: #10218b;
  }
  .carousel-card-list .item a:hover .title::after,
  .carousel-card-list .item button:hover .title::after,
    .carousel-card-list .item a:hover .arrow::after{
    transform: translateX(5px);
  }
  .carousel-card-list .item a:hover .blank-title,
  .carousel-card-list .item button:hover .blank-title {
    text-decoration: underline;
  }
    
  .carousel-card-list .item a:hover .title,
  .carousel-card-list .item button:hover .title,
    .carousel-card-list .item a:hover .arrow{
    text-decoration: underline;
  }
}

.carousel-card-list .item .text {
  display: -webkit-box;
  /* autoprefixer: off */
  -webkit-box-orient: vertical;
  /* autoprefixer: on */
  -webkit-line-clamp: 3;
  overflow: hidden;
  margin-top: 5px;
  white-space: normal;
}

@media all and (min-width: 1000px) {
  .carousel-card-list {
    display: none;
  }
  .carousel-card-list.slick-initialized {
    display: block;
  }
  .carousel-card-list .slick-list {
    margin: 0 -30px;
  }
  .carousel-card-list .item {
    margin: 0 30px;
  }
}

@media screen and (max-width: 999.98px) {
  .carousel-card-list {
    overflow-x: auto;
    white-space: nowrap;
    margin: 0 calc(-1 * calc(min(6.07vw, 83px)));
    padding-bottom: 20px;
    -webkit-overflow-scrolling: touch;
  }
}

@media screen and (max-width: 999.98px) and (max-width: 499.9px) {
  .carousel-card-list {
    margin: 0 -15px;
  }
}

@media screen and (max-width: 999.98px) {
  .carousel-card-list:before, .carousel-card-list::after {
    content: "";
    display: inline-block;
    width: calc(min(6.07vw, 83px));
  }
}

@media screen and (max-width: 999.98px) and (max-width: 499.9px) {
  .carousel-card-list:before, .carousel-card-list::after {
    width: 15px;
  }
}

@media screen and (max-width: 999.98px) {
  .carousel-card-list .item {
    display: inline-block;
    width: 360px;
    max-width: 70%;
    vertical-align: top;
  }
  .carousel-card-list .item + .item {
    margin-left: 5%;
  }
}

@media screen and (max-width: 999.98px) and (max-width: 499.9px) {
  .carousel-card-list .item + .item {
    margin-left: 8%;
  }
}

.contents-bgcolor._bgcolor-gray03 .slick-prev, .contents-bgcolor._bgcolor-gray03 .slick-next {
  background-color: #EEE;
}

.contents-bgcolor._bgcolor-light-blue .slick-prev, .contents-bgcolor._bgcolor-light-blue .slick-next {
  background-color: #ebeff7;
}

/* unique parts
-------------------------------------------------------------------- */
/* パンくずリスト */
.breadcrumbs-list {
  padding: 20px 0;
}

.breadcrumbs-list:empty {
  height:68px;
}

.breadcrumbs-list > .inner {
  width: 100%;
  max-width: 1366px;
  margin: auto;
  padding: 0 calc(min(6.07vw, 83px));
  display: flex;
  flex-direction: row-reverse;
}

@media screen and (max-width: 999.98px) {
  .breadcrumbs-list > .inner {
    display: block;
  }
}

.breadcrumbs-list ol {
  flex: 1 0 0%;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.breadcrumbs-list ol > li {
  font-size: 1.2rem;
  line-height: 1.75;
  color: #C6C6C6;
}

.breadcrumbs-list ol > li > a {
  display: block;
  color: #333;
}

.breadcrumbs-list ol > li > a::after {
  content: "\3E";
  display: inline-block;
  margin: 0 6px;
  line-height: 1;
}

@media screen and (max-width: 499.9px) {
  .breadcrumbs-list:last-of-type {
    display: none;
  }
}

.breadcrumbs-list .link {
  margin-left: 15px;
}

@media screen and (max-width: 999.98px) {
  .breadcrumbs-list .link {
    margin-left: 0;
    margin-bottom: 8px;
  }
}

.breadcrumbs-list .link a {
  display: inline-block;
  position: relative;
  padding-right: 1.4em;
  text-align: left;
  text-decoration: none;
  color: #333;
  transition: color 0.2s linear;
  font-size: 1.2rem;
  font-weight: 700;
}

.breadcrumbs-list .link a::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: 0;
  top: 0.4em;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media all and (min-width: 500px) {
  .breadcrumbs-list .link a:hover {
    text-decoration: none;
    color: #10218b;
  }
  .breadcrumbs-list .link a:hover::after {
    transform: translateX(5px);
  }
}

/* ローカルナビ */
@media screen and (min-width: 1000px) {
  .local-nav-area {
      
      /*追加*/
    font-size: 1.5rem;
      
    position: -webkit-sticky;
    position: sticky;
    top: -100%;
    z-index: calc(900 - 1);
    transition: top .3s linear;
  }
  .local-nav-area > .inner {
    width: 100%;
    max-width: 1366px;
    margin: auto;
    padding: 0 calc(min(6.07vw, 83px));
  }
  .local-nav-area .local-nav {
    overflow: hidden;
    background-color: #F2F6F6;
    transition: height 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .local-nav-area .local-nav > .heading {
    display: none;
  }
  .local-nav-area .local-nav ul {
    display: flex !important;
    position: relative;
  }
  .local-nav-area .local-nav ul li {
    flex-grow: 1;
    /*min-height: 56px;*/
    min-height: 48px;
}
  
  .local-nav-area .local-nav ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 0 10px;
    line-height: 1.4;
    color: #FFF;
    background-color: #10218b;
    text-decoration: none;
    transition: opacity .2s linear;
  }
  .local-nav-area .local-nav ul li a:hover {
    opacity: 0.7;
  }
  .local-nav-area .local-nav ul li a[aria-expanded="true"] {
    text-decoration: underline;
    color: #10218b;
    background-color: #F2F6F6;
  }
  .local-nav-area .local-nav ul li a[aria-expanded="true"]:hover {
    opacity: 1;
  }
  #localnav-list>li{
    text-align:center;
  }
  .local-nav-area .local-nav ul li div{
    text-align:left;
  }

  .local-nav-area .local-nav .child {
    display: block !important;
    visibility: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
  }
  .local-nav-area .local-nav .child[aria-hidden="false"] {
    visibility: visible;
  }
  .local-nav-area .local-nav .child ul {
    display: inline-flex !important;
  }
  .local-nav-area .local-nav .child ul li {
    flex-grow: 0;
  }
  .local-nav-area .local-nav .child ul li a {
    padding: 0 20px;
    color: #333;
    background-color: #F2F6F6;
  }
  .local-nav-area .local-nav .child ul li a:hover, .local-nav-area .local-nav .child ul li a.-current {
    opacity: 1;
    color: #10218b;
    text-decoration: underline;
  }
  .local-nav-area .local-nav .child.-multi {
    /* すべて見る 表示スペース分
      padding-right: 130px; */
  }
  .local-nav-area .local-nav .child.-multi > ul {
    flex-wrap: wrap;
  }
  .local-nav-area .local-nav .showmore {
    position: absolute;
    display: flex;
    justify-content: center;
    align-items: center;
    right: 0;
    top: 0;
    z-index: 1;
    height: 56px;
    padding: 0 20px;
    line-height: 1.4;
    color: #333;
  }
}

@media screen and (min-width: 1000px) and (max-width: 499.9px) {
  .local-nav-area .local-nav .showmore {
    display: none;
  }
}

@media screen and (min-width: 1000px) {
  .local-nav-area .local-nav .showmore:hover {
    color: #10218b;
    text-decoration: none;
  }
  .local-nav-area .local-nav .showmore::after {
    content: "\e906";
    display: block;
    margin-left: 5px;
    font-size: 1em;
    font-family: 'iconfont';
    line-height: 1;
    color: #10218b;
  }
  .local-nav-area .local-nav .child.-open .showmore::after {
    content: "\e908";
  }
}

@media screen and (max-width: 999.98px) {
  .local-nav-area > .inner {
    width: 100%;
    max-width: 1366px;
    margin: auto;
    padding: 0 calc(min(6.07vw, 83px));
  }
}

@media screen and (max-width: 999.98px) and (max-width: 499.9px) {
  .local-nav-area > .inner {
    padding: 0 15px;
  }
}

@media screen and (max-width: 999.98px) {
    
    /*追加*/
  .local-nav-area  {
      font-size: 1.5rem;
  }
    
  .local-nav-area .local-nav {
    overflow: hidden;
    color: #FFF;
    background-color: #10218b;
    border-radius: 6px;
  }
  .local-nav-area .local-nav > .heading {
    position: relative;
    padding: 12px 15px;
    font-weight: 700;
    cursor: pointer;
  }
  .local-nav-area .local-nav > .heading::before,
  .local-nav-area .local-nav > .heading::after {
    content: "";
    display: block;
    position: absolute;
    right: 15px;
    top: 50%;
    width: 15px;
    height: 2px;
    background-color: #FFF;
    border-radius: 1px;
  }
  .local-nav-area .local-nav > .heading::after {
    transform: rotate(90deg);
    transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .local-nav-area .local-nav > .heading[aria-expanded="true"]::after {
    transform: rotate(0deg);
  }
  .local-nav-area .local-nav .showmore {
    display: none;
  }
  .local-nav-area .local-nav > ul {
    display: none;
    border-top: 1px solid #FFF;
  }
  .local-nav-area .local-nav ul li a {
    display: block;
    padding: 12px 15px;
    text-decoration: none;
    color: #FFF;
    background-color: #10218b;
  }
  .local-nav-area .local-nav .child {
    display: none;
  }
  .local-nav-area .local-nav .child a {
    padding-left: 30px;
    padding-right: 30px;
    color: #10218b;
    background-color: #F2F6F6;
  }
  .local-nav-area .local-nav .child ul li a:hover, .local-nav-area .local-nav .child ul li a.-current {
    opacity: 1;
    color: #10218b;
    text-decoration: underline;
  }
  .local-nav-area .local-nav #localnav-list  li  a.-current+.child{
    display:block;
  }
}

/* シェア */
.share-area {
  margin: 50px 0;
}

@media screen and (max-width: 499.9px) {
  .share-area {
    margin-bottom: 70px;
  }
}

.share-area .heading {
  margin-bottom: 25px;
  font-weight: 700;
  text-align: center;
}

.share-area .btns {
  display: flex;
  justify-content: center;
  gap: 0 50px;
}

@media screen and (max-width: 499.9px) {
  .share-area .btns {
    column-gap: 40px;
  }
}

.share-area .btns > li {
  height: 36px;
}

@media screen and (max-width: 499.9px) {
  .share-area .btns > li {
    height: 30px;
  }
}

.share-area .btns > li img {
  width: auto;
  max-height: 100%;
}

.share-area .link {
  margin-top: 30px;
  text-align: center;
}

.share-area .link > a {
  display: inline-block;
  position: relative;
  padding-right: 1.4em;
  text-align: left;
  text-decoration: none;
  color: #333;
  transition: color 0.2s linear;
  font-size: 2rem;
}

.share-area .link > a::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: 0;
  top: 0.4em;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media all and (min-width: 500px) {
  .share-area .link > a:hover {
    text-decoration: none;
    color: #10218b;
  }
  .share-area .link > a:hover::after {
    transform: translateX(5px);
  }
}

/* アコーディオン */
.accordion-box {
  margin: 45px 0;
  border: 1px solid #1357C4;
}

.accordion-box > .head {
  position: relative;
  /*padding: 15px 3.75%;*/
  padding: 15px 4em 15px 3.75%;
  font-weight: 700;
  color: #10218b;
  cursor: pointer;
}
@media screen and (max-width: 499.9px) {
    .accordion-box > .head {
      padding: 15px 2em 15px 3.75%;
    }
}

.accordion-box > .head::before, .accordion-box > .head::after {
  content: "";
  display: block;
  position: absolute;
  right: 3.75%;
  top: 50%;
  width: 15px;
  height: 2px;
  background-color: #1357C4;
  border-radius: 1px;
}

.accordion-box > .head::after {
  transform: rotate(90deg);
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.accordion-box > .head[aria-expanded="true"]::after {
  transform: rotate(0deg);
}

.accordion-box > .body {
  display: none;
  position: relative;
  padding: 15px 3.75% 30px;
}

.accordion-box > .body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 3.75%;
  right: 3.75%;
  height: 1px;
  background-color: #1357C4;
}

.accordion-box + .accordion-box {
  margin-top: -25px;
}

/************ accordion with icon span */
main .outer {
  background: #fff;
}

.accordion-box2 .immHead img {
  height:50px;
  width:50px;
  margin-left:30px;
}

.accordion-box2 .immHead:hover {
  background-color: #f2f6f6;
  transition: 0.5s;
}
.accordion-box2 {
  margin: 45px 0;
  border: 1px solid #c6c6c6;
}
.accordion-box2 > .head {
  position: relative;
  padding: 15px 0;
  font-family: "biz udpgothic";
  font-size: 24px;
  font-weight: 700;
  color: #f2f6f6;
  cursor: pointer;
}
.accordion-box2 > .head::before, .accordion-box2 > .head::after {
  content: "";
  display: block;
  position: absolute;
  right: 3.75%;
  top: 50%;
  width: 15px;
  height: 2px;
  background-color: #1357C4;
  border-radius: 1px;
}
.accordion-box2 > .head::after {
  transform: rotate(90deg);
  transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.accordion-box2 > .head[aria-expanded="true"]::after {
  transform: rotate(0deg);
}
.accordion-box2 > .body {
  display: none;
  position: relative;
  padding: 0;
}
.accordion-box2 > .body > p {
  margin: 0 3.75%;
  padding: 15px 0;
}
.accordion-box2 > .body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 3.75%;
  right: 3.75%;
  height: 1px;
  background-color: #c6c6c6;
}
.accordion-box2 + .accordion-box2 {
  margin-top: -25px;
}
.accordion-box2 > .head span {
  position: relative;
  bottom: 4;
  padding: 15px 3.75%;
  font-weight: 500;
  color: #333;
  cursor: pointer;
}
/************ accordion box 2 level 2 */
.accordion-box2 .accdn-box-lvl2 {
  margin: 0;
  padding: 0;
  border: none;
}
.accordion-box2 .accdn-box-lvl2 > .body p {
  margin: 0;
  padding: 10px 0 15px;
}
.accordion-box2 .accdn-box-lvl2 > .head {
  position: relative;
  padding: 15px 40px;
  font-size: 20px;
  font-family: "biz udpgothic";
  font-weight: 700;
  color: #333;
  cursor: pointer;
}
.accordion-box2 .accdn-box-lvl2 >p:hover{
  background: #f2f6f6;
  /* transition: 0.5s; */
}
.accordion-box2 .accdn-box-lvl2 > .head::before,
.accordion-box2 .accdn-box-lvl2 > .head::after {
  right: 40px;
}
.accordion-box2 .accdn-box-lvl2 > .body {
  padding: 25px 3.65%;
  background: #f2f6f6;
  font-size: 16px;
}
.accordion-box2 .accdn-box-lvl2 > .body::before {
  background: none;
}
.header-menu-sp .accdn-box3 {
  margin: 0;
  border: none;
}
/************ accordion box 2 level 2 SP specific */
@media all and (max-width: 999px) {
  .accordion-box2 > .head span{
    font-size: 20px;
    font-weight:700;
    vertical-align: text-top;
  }
  .accordion-box2 .accdn-box-lvl2 > .head {
  font-size: 16px;
  padding: 15px 30px 15px 28px;
  }
  .accordion-box2 .accdn-box-lvl2 > .head::before,
.accordion-box2 .accdn-box-lvl2 > .head::after {
  right: 30px;
}
}
/************ accordion box 3 SP */
.header-menu-sp .accdn-box3 > a {
  display: block;
}
.header-menu-sp .accdn-box3 > a.head::before,
.header-menu-sp .accdn-box3 > a.head::after {
  content: "";
  background: none;
}
.header-menu-sp .accdn-box3 > a span {
  font-size: 18px;
}
/* 目的別リンクはSVGに変更
.header-menu-sp .accdn-box3 .if-maleAcc:before,
.header-menu-sp .accdn-box3 .if-townAcc:before,
.header-menu-sp .accdn-box3 .if-bldgAcc:before{
  top: -2px;
}
*/

/* モーダル */
.modal-box {
  visibility: hidden;
  opacity: 0;
  display: flex;
  flex-flow: column;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  overflow: auto;
  padding: 30px;
  background-color: rgba(0, 0, 0, 0.7);
  animation: modal-fadein 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: opacity 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-overflow-scrolling: touch;
}

@media screen and (max-width: 499.9px) {
  .modal-box {
    padding: 0;
  }
}

.modal-box .modal-content {
  position: relative;
  width: 100%;
  margin: auto;
  pointer-events: auto;
  background-color: #fff;
}

.modal-box .modal-body {
  padding: 60px 100px;
}

@media screen and (max-width: 499.9px) {
  .modal-box .modal-body {
    padding: 45px 20px 40px;
  }
}

.modal-box .modal-body > *:first-child {
  margin-top: 0;
}

.modal-box .modal-body > *:last-child {
  margin-bottom: 0;
}

.modal-box .modal-btm-close {
  display: block;
  width: 100%;
  padding: 22px;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  color: #fff;
  background-color: #585858;
  border: 2px solid #fff;
}

@media screen and (max-width: 499.9px) {
  .modal-box .modal-btm-close {
    font-size: 1.3rem;
    padding: 12px;
    border-width: 1px;
  }
}

.modal-box .modal-top-close {
  position: absolute;
  right: 0;
  top: -40px;
  text-decoration: none;
  transform: rotate(45deg);
}

@media screen and (max-width: 499.9px) {
  .modal-box .modal-top-close {
    right: 10px;
  }
}

.modal-box .modal-top-close:focus-visible {
  outline: none;
}

.modal-box .modal-top-close::after {
  content: "\e906";
  font-size: 30px;
  font-family: 'iconfont' !important;
  line-height: 1;
  vertical-align: middle;
  color: #FFF;
}

.modal-box.-video .modal-content {
  max-width: 1000px;
}

.modal-box.-video .modal-body {
  padding: 0;
}

.modal-box.-video .player-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.modal-box.-video .player-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.-modal-show {
  overflow: hidden;
}

.-modal-show body {
  overflow: hidden;
  width: 100%;
}

.-modal-show .modal-box {
  opacity: 1;
}

.-modal-active .modal-box {
  visibility: visible;
}

@keyframes modal-fadein {
  from {
    opacity: 0;
  }
  top {
    opacity: 1;
  }
}

/* 続きを見る */
.readmore-box {
  position: relative;
  margin: 45px 0;
}

.readmore-box > .body {
  height: 160px;
  overflow: hidden;
  padding-bottom: 30px;
  transition: height 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.readmore-box > .body::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 160px;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 75%, white 100%);
}

.readmore-box > .body[aria-hidden="false"]::before {
  content: none;
}

.readmore-box > .link {
  position: absolute;
  bottom: 0;
  padding-right: 1.5em;
  text-decoration: none;
  color: #333;
}

.readmore-box > .link::after {
  content: "\e906";
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  font-size: 1em;
  font-family: 'iconfont';
  color: #10218b;
}

.readmore-box > .link:hover {
  color: #10218b;
}

.readmore-box > .link[aria-expanded="true"]::after {
  content: "\e908";
}

/* 関連するコンテンツ */
.related-contents {
  margin: 120px 0;
}

@media screen and (max-width: 499.9px) {
  .related-contents {
    margin: 80px 0;
  }
}

.related-contents > .heading {
  margin-bottom: 35px;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}

.related-contents > .cards {
  display: flex;
  flex-wrap: wrap;
  gap: 45px 5%;
}

@media screen and (max-width: 499.9px) {
  .related-contents > .cards {
    gap: 50px 0;
  }
}

/* .related-contents > .cards.-center {
  justify-content: center;
} */

.related-contents > .cards > * {
  width: calc((100% - (5% * (2 - 1))) / 2);
}

@media screen and (max-width: 499.9px) {
  .related-contents > .cards > * {
    width: 100%;
  }
}

@media screen and (max-width: 499.9px) {
  .related-contents > .cards {
    row-gap: 20px;
  }
}

.related-contents > .cards .item > a {
  display: block;
  height: 100%;
  padding: 7.89%;
  border: 1px solid #C6C6C6;
  display: block;
  text-decoration: none;
  color: #333;
}
/* --------0805追加-----hama */
.related-contents > .cards.button .item > a {
  border: 1px solid #1357C4;
}

@media screen and (max-width: 499.9px) {
  .related-contents > .cards .item > a {
    padding: 30px 15px;
  }
}

@media all and (min-width: 500px) {
  .related-contents > .cards .item > a {
    transition: background-color 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .related-contents > .cards .item > a:hover {
    background-color: #F2F6F6;
  }
}

.related-contents > .cards .item > a .image {
  margin-bottom: 20px;
}

.related-contents > .cards .item > a .image img {
  width: 100%;
}

.related-contents > .cards .item > a .title {
  display: inline-block;
  position: relative;
  padding-right: 1.4em;
  text-align: left;
  text-decoration: none;
  color: #333;
  transition: color 0.2s linear;
  font-size: 2rem;
}

/* --------0805追加-----hama */
.related-contents > .cards.button .item > a .title {
  font-size: 2.2rem;
  font-weight: 700;
}

.related-contents > .cards .item > a .title::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: 0;
  top: 0.4em;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media all and (min-width: 500px) {
  .related-contents > .cards .item > a .title:hover {
    text-decoration: none;
    color: #10218b;
  }
  .related-contents > .cards .item > a .title:hover::after {
    transform: translateX(5px);
  }
}

.related-contents > .cards .item > a .date {
  margin-top: 15px;
  font-weight: 700;
}

.related-contents > .cards .item > a .blank-title {
  display: block;
  text-align: left;
  font-size: 2rem;
  color: #10218b;
}

.related-contents > .cards .item > a .blank-title::after {
  display: inline-block;
  content: "\e905";
  margin-left: .6em;
  font-size: 0.7em;
  font-family: 'iconfont';
  vertical-align: 0.1em;
  color: #10218b;
}

.related-contents > .cards .item > a .blank-title.-pdf {
  text-decoration: underline;
}

.related-contents > .cards .item > a .blank-title.-pdf:hover {
  text-decoration: none;
}

.related-contents > .cards .item > a .text {
  margin-top: 15px;
}

@media screen and (max-width: 499.9px) {
  .related-contents > .cards .item > a .text {
    margin-top: 10px;
  }
}

@media all and (min-width: 500px) {
  .related-contents > .cards .item > a .image {
    overflow: hidden;
  }
  .related-contents > .cards .item > a .image img {
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .related-contents > .cards .item > a:hover .image img {
    transform: scale(1.1);
  }
  .related-contents > .cards .item > a:hover .title {
    color: #10218b;
  }
  .related-contents > .cards .item > a:hover .title::after {
    transform: translateX(5px);
  }
  .related-contents > .cards .item > a:hover .blank-title {
    text-decoration: underline;
  }
}

.related-contents > .link {
  margin-top: 40px;
}

@media all and (min-width: 500px) {
  .related-contents > .link {
    text-align: center;
  }
}

.related-contents > .link > a {
  display: inline-block;
  position: relative;
  padding-right: 1.4em;
  text-align: left;
  text-decoration: none;
  color: #333;
  transition: color 0.2s linear;
  font-size: 2rem;
}

.related-contents > .link > a::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: 0;
  top: 0.4em;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media all and (min-width: 500px) {
  .related-contents > .link > a:hover {
    text-decoration: none;
    color: #10218b;
  }
  .related-contents > .link > a:hover::after {
    transform: translateX(5px);
  }
}

/* お客様の元での環境貢献 */
.users-csr {
  margin: 70px 0;
}

.users-csr > .cards {
  display: flex;
  flex-wrap: wrap;
  gap: 45px 5%;
}

@media screen and (max-width: 499.9px) {
  .users-csr > .cards {
    gap: 50px 0;
  }
}

.users-csr > .cards.-center {
  justify-content: center;
}

.users-csr > .cards > * {
  width: calc((100% - (5% * (2 - 1))) / 2);
}

@media screen and (max-width: 499.9px) {
  .users-csr > .cards > * {
    width: 100%;
  }
}

@media screen and (max-width: 499.9px) {
  .users-csr > .cards {
    row-gap: 20px;
  }
}

.users-csr > .cards .item > a {
  display: block;
  height: 100%;
  padding: 7.89%;
  border: 1px solid #C6C6C6;
  display: flex;
  flex-direction: column;
  position: relative;
  text-decoration: none;
  color: #333;
}

@media screen and (max-width: 499.9px) {
  .users-csr > .cards .item > a {
    padding: 30px 15px;
  }
}

@media all and (min-width: 500px) {
  .users-csr > .cards .item > a {
    transition: background-color 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .users-csr > .cards .item > a:hover {
    background-color: #F2F6F6;
  }
}

@media screen and (max-width: 499.9px) {
  .users-csr > .cards .item > a {
    padding: 35px 15px 40px;
  }
}

.users-csr > .cards .item > a::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  margin: 7.89%;
  font-size: 24px;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media screen and (max-width: 499.9px) {
  .users-csr > .cards .item > a::after {
    margin: 40px 15px;
  }
}

.users-csr > .cards .item .title {
  font-size: 2.4rem;
  line-height: 1.5;
}

.users-csr > .cards .item .tag {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 15px;
}

.users-csr > .cards .item .tag li {
  padding: 0 20px;
  font-size: 1.4rem;
  background-color: #EFEFEF;
  border-radius: 100px;
}

.users-csr > .cards .item .text {
  margin-top: 15px;
}

.users-csr > .cards .item .sdgs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
  padding-top: 15px;
}

.users-csr > .cards .item .sdgs li {
  width: 40px;
}

.users-csr > .cards .item .notes {
  margin-top: 5px;
  max-width: 885px;
  counter-reset: my-counter;
}

.users-csr > .cards .item .notes > li {
  position: relative;
  padding-left: 2em;
  counter-increment: my-counter;
}

.users-csr > .cards .item .notes > li::before {
  content: counter(my-counter);
  position: absolute;
  left: 0;
  top: 0;
}

.users-csr > .cards .item .notes > li + li {
  margin-top: 5px;
}

.users-csr > .cards .item .notes > li {
  padding-left: 3em;
}

.users-csr > .cards .item .notes > li::before {
  content: "※" counter(my-counter);
}

.users-csr > .cards .item .notes > li {
  font-size: 1.2rem;
}

@media all and (min-width: 500px) {
  .users-csr > .cards .image-contain {
    width: 100%;
  }
  .users-csr > .cards .image-contain > a {
    align-items: flex-start;
    flex-direction: row;
    padding: 3.75%;
  }
  .users-csr > .cards .image-contain > a::after {
    margin: 3.75%;
  }
  .users-csr > .cards .image-contain .image {
    width: 34.2%;
    max-width: 375px;
    margin-right: 4.17%;
  }
  .users-csr > .cards .image-contain .desc {
    flex: 1 0 0%;
  }
}

@media screen and (max-width: 499.9px) {
  .users-csr > .cards .image-contain .image {
    margin-bottom: 15px;
  }
}

@media all and (min-width: 500px) {
  .users-csr > .cards .item a .image {
    overflow: hidden;
  }
  .users-csr > .cards .item a .image img {
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .users-csr > .cards .item a:hover::after {
    transform: translateX(5px);
  }
  .users-csr > .cards .item a:hover .image img {
    transform: scale(1.1);
  }
}

/* お客様を大切に、地球を友に */
.photo-massege {
  margin: 60px 0;
}

@media screen and (max-width: 499.9px) {
  .photo-massege {
    margin: 40px 0 80px;
  }
}

.photo-massege .text-wrap {
  background-color: #f3f3f3;
}

@media all and (min-width: 500px) {
  .photo-massege .text-wrap {
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 73.75%;
    min-height: 380px;
    min-height: calc(min(29.23vw, 380px));
    padding: 3.75% 25% 3.75% 3.75%;
  }
}

@media screen and (max-width: 499.9px) {
  .photo-massege .text-wrap {
    position: relative;
    left: -15px;
    padding: 40px 30px 180px;
  }
}

.photo-massege .text-wrap .copy {
  font-size: 3rem;
  /* letter-spacing: 0.2em; */
  letter-spacing: 0.1em;
}

@media screen and (max-width: 499.9px) {
  .photo-massege .text-wrap .copy {
    font-size: 2.6rem;
  }
}

.photo-massege .text-wrap .text {
  margin-top: 25px;
}

@media all and (min-width: 500px) {
  .photo-massege .image {
    width: 47.5%;
    margin-top: -23.75%;
    margin-left: auto;
    text-align: right;
  }
}

@media screen and (max-width: 499.9px) {
  .photo-massege .image {
    position: relative;
    right: -15px;
    margin-top: -140px;
  }
}

/* エプソンが掲げるSDGsの目標 */
.sdgs-icons {
  margin: 60px 0;
  padding: 3.75%;
  border: 1px solid #C6C6C6;
}

@media screen and (max-width: 499.9px) {
  .sdgs-icons {
    margin: 50px 0;
  }
}

@media screen and (max-width: 499.9px) {
  .sdgs-icons {
    padding: 30px 15px;
  }
}

.sdgs-icons > .heading {
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}

.sdgs-icons > .list {
  margin-top: 35px;
}

.sdgs-icons > .list ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}

@media screen and (max-width: 499.9px) {
  .sdgs-icons > .list ul {
    gap: 15px 4%;
  }
}

.sdgs-icons > .list ul li {
  width: 100px;
  text-align: center;
}

@media screen and (max-width: 499.9px) {
  .sdgs-icons > .list ul li {
    width: 30.3%;
  }
}

/* 関連するSDGs */
.related-sdgs {
  margin: 45px 0;
}

.related-sdgs > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

@media screen and (max-width: 499.9px) {
  .related-sdgs > ul {
    gap: 15px 4%;
  }
}

@media screen and (max-width: 499.9px) {
  .related-sdgs > ul > li {
    width: 30.3%;
  }
}

/* 役員メッセージ */
.greeting-box {
  margin: 60px 0;
  padding: 45px 3.75% 60px;
  background-color: #f3f3f3;
}

@media all and (min-width: 500px) {
  .greeting-box {
    display: flex;
    justify-content: space-between;
    padding: 45px 3.75% 60px;
  }
}

@media screen and (max-width: 499.9px) {
  .greeting-box {
    padding: 25px 15px;
  }
}

@media all and (min-width: 500px) {
  .greeting-box > .linktext-col,
  .greeting-box > .text-col {
    width: 61%;
  }
}

.greeting-box > .linktext-col h2,
.greeting-box > .text-col h2 {
  font-size: 2.4rem;
  font-weight: 700;
}

@media screen and (max-width: 499.9px) {
  .greeting-box > .linktext-col h2,
  .greeting-box > .text-col h2 {
    font-size: 2rem;
  }
}

.greeting-box > .linktext-col {
  display:flex;
  flex-direction: column;
}

.greeting-box > .linktext-col .body {
  margin-top:20px;
}

.greeting-box > .linktext-col .link {
  margin-top:auto;
}



@media all and (min-width: 500px) {
  .greeting-box > .picture-col {
    width: 28.4%;
  }
}

@media screen and (max-width: 499.9px) {
  .greeting-box > .picture-col {
    margin-top: 20px;
  }
}

.greeting-box > .picture-col > .image {
  margin-bottom: 25px;
}

@media screen and (max-width: 499.9px) {
  .greeting-box > .picture-col > .image {
    margin-bottom: 10px;
  }
}

.greeting-box > .picture-col > .position {
  margin-bottom: 3px;
  padding-right: 20px;
  text-align: right;
}

@media screen and (max-width: 499.9px) {
  .greeting-box > .picture-col > .position {
    margin-bottom: 0;
  }
}

.greeting-box > .picture-col > .name {
  padding-right: 20px;
  text-align: right;
}

.greeting-box .readmore-box > .body::before {
  background: linear-gradient(to bottom, rgba(247, 247, 247, 0) 0px, #f3f3f3 75%, #f3f3f3 100%);
}

@media screen and (max-width: 499.9px) {
  .greeting-box .readmore-box {
    margin: 15px 0;
  }
}

/* 下層への導線 */
.inline-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  /* margin-left: -15px; */
}

.inline-links > li {
  position: relative;
  padding: 0 15px;
  font-size: 1.8rem;
}

@media screen and (max-width: 499.9px) {
  .inline-links > li {
    padding: 0 12px;
    line-height: 1.9;
  }
}

.inline-links > li::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background-color: #333;
}

@media screen and (max-width: 499.9px) {
  .inline-links > li::after {
    top: 8px;
    bottom: 8px;
  }
}

.inline-links > li:last-child::after {
  content: none;
}

.category-links .head .button01 {
  min-height: 114px;
}

.category-links .sub {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-top: 20px;
}

.category-links .sub > li {
  position: relative;
  padding: 0 15px;
  font-size: 1.8rem;
}

@media screen and (max-width: 499.9px) {
  .category-links .sub > li {
    padding: 0 12px;
    line-height: 1.9;
  }
}

.category-links .sub > li::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background-color: #333;
}

@media screen and (max-width: 499.9px) {
  .category-links .sub > li::after {
    top: 8px;
    bottom: 8px;
  }
}

.category-links .sub > li:last-child::after {
  content: none;
}

.category-links-box {
  margin: 60px 0;
}

@media screen and (max-width: 499.9px) {
  .category-links-box {
    margin: 45px 0;
  }
}

.category-links-box .sub {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  justify-content: center;
  gap: 15px 0;
  margin: 40px auto 0;
  max-width: 810px;
}

.category-links-box .sub > li {
  position: relative;
  padding: 0 15px;
  font-size: 1.8rem;
}

@media screen and (max-width: 499.9px) {
  .category-links-box .sub > li {
    padding: 0 12px;
    line-height: 1.9;
  }
}

.category-links-box .sub > li::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 6px;
  bottom: 6px;
  width: 1px;
  background-color: #333;
}

@media screen and (max-width: 499.9px) {
  .category-links-box .sub > li::after {
    top: 8px;
    bottom: 8px;
  }
}

.category-links-box .sub > li:last-child::after {
  content: none;
}

@media screen and (max-width: 499.9px) {
  .category-links-box .sub {
    margin-left: -15px;
    justify-content: flex-start;
    margin-top: 35px;
  }
}

.category-links-box .sub > li {
  font-size: 1.6rem;
}

@media screen and (max-width: 499.9px) {
  .category-links-box .sub > li {
    line-height: 1.75;
  }
}

/* 新着情報 */
.news-box {
  padding: 45px;
  border: 1px solid #C1C1C1;
}

.news-box .cards {
  display: flex;
  justify-content: space-between;
}

.news-box .cards .item {
  width: 100%;
}

.news-box .cards .item + .item {
  margin-left: 5.4%;
}

@media screen and (max-width: 799.9px) {
  .news-box {
    padding: 30px;
  }
  .news-box .cards {
    flex-wrap: wrap;
  }
  .news-box .cards .item {
    width: 47%;
  }
  .news-box .cards .item + .item {
    margin-left: 0;
  }
  .news-box .cards .item:nth-child(n+3) {
    margin-top: 6%;
  }
}

@media screen and (max-width: 499.9px) {
  .news-box {
    margin: 0 -15px;
    padding: 0;
    border: none;
  }
  .news-box .cards {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 20px;
    -webkit-overflow-scrolling: touch;
  }
  .news-box .cards:before, .news-box .cards::after {
    content: "";
    display: inline-block;
    width: 15px;
  }
  .news-box .cards .item {
    display: inline-block;
    /*width: 360px;
    max-width: 70%;*/
    vertical-align: top;
  }
  .news-box .cards .item + .item {
    margin-left: 8%;
  }
  .news-box .cards .item:nth-child(n+3) {
    margin-top: 0;
  }
  .news-box .cards .image img {
    width: 100%;
  }
}

.news-box .cards .item > a {
  display: block;
  text-decoration: none;
  color: #333;
}

.news-box .cards .item .image {
  text-align: center;
}
.news-box .cards .item .image img {
  /*width: 100%;*/
  max-width: 100%;
}

.news-box .cards .item .date {
  margin-top: 10px;
  font-weight: 700;
  transition: color .3s linear;
}

.news-box .cards .item .text {
  display: -webkit-box;
  /* autoprefixer: off */
  -webkit-box-orient: vertical;
  /* autoprefixer: on */
  /*-webkit-line-clamp: 3;*/
  overflow: hidden;
  margin-top: 5px;
  white-space: normal;
}

@media all and (min-width: 500px) {
  .news-box .cards .item .image {
    overflow: hidden;
  }
  .news-box .cards .item .image img {
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .news-box .cards .item a:hover,
  .news-box .cards .item a:hover .date {
    color: #10218b;
  }
  .news-box .cards .item a:hover .image img {
    transform: scale(1.1);
  }
}

.news-box .link {
  margin-top: 30px;
  text-align: center;
}

.news-box .link > a {
  display: inline-block;
  position: relative;
  padding-right: 1.4em;
  text-align: left;
  text-decoration: none;
  color: #333;
  transition: color 0.2s linear;
  font-size: 2rem;
}

.news-box .link > a::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: 0;
  top: 0.4em;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media all and (min-width: 500px) {
  .news-box .link > a:hover {
    text-decoration: none;
    color: #10218b;
  }
  .news-box .link > a:hover::after {
    transform: translateX(5px);
  }
}

@media screen and (max-width: 499.9px) {
  .news-box .link > a {
    font-size: 1.8rem;
  }
}

/* 新着情報 テキストのみ */

.news-section .date {
    float: left;
	/*width: 150px;*/
	/*margin-right: 30px;*/
	color: #333333;
	font-size: 92.8478%;
	text-align: right;
    margin-top: 12px;
    font-weight: bold;
}
.news-section .category {
    float: left;
	width: 130px;
	background: #10218b;
	border-radius: 0;
	font-size: 92.8505%;
    margin-top: 9px;
    padding: 2px 0;
    text-align: center;
    color: #ffffff;
}
.news-section .title {
	padding: 8px 0;
	font-size: 114.2742%;
  margin-right:20px;
}


/* hama追加 230720 */
.note .category{
  margin-right:15px;
}
.note .publisher{
  float: left;
  font-size: 92.8505%;
  margin-top: 9px;
  margin-right:15px;
  padding: 2px 10px;
  text-align: center;
  background-color: #3399ff;
  border-radius: 5px;
  color: #fff;
}

.publisher.sompo{
  background: #e74c3c;
} 

.note{
  margin-left:140px;
  margin-bottom: 53px;
}

.news-section .list .img ~ .note {
  margin-right: 255px;
}
/* ここまで */


.news-section .date:lang(ja){
	/*width: 100px;*/
	width: 140px;
    padding-right: 30px;
}
.news-section .title:lang(ja) {
	margin-left: 140px;
}
.news-section .img + .date + .title:lang(ja) {
	margin-left: 140px;
    padding-right:  100px;
}

.news-section .category + .title:lang(ja) {
	/*margin-left: 280px;*/
	margin-left: 290px;
}
.news-section .category + .img + .title:lang(en) {
	margin-left: 280px;
}

.news-section .date:lang(en){
	width: 120px;
    margin-right: 30px;
}
.news-section .title:lang(en) {
	margin-left: 150px;
}
.news-section .category + .title:lang(en) {
	margin-left: 320px;
}
.news-section .category + .img + .title:lang(en) {
	margin-left: 320px;
}


.news-section .link{
    margin-top: 30px;
    text-align: center;
}
.news-section .link > a{
    display: inline-block;
    position: relative;
    padding-right: 1.4em;
    text-align: left;
    text-decoration: none;
    color: #333;
    transition: color 0.2s linear;
    font-size: 2rem;
}
.news-section .link > a::after {
    content: "\e901";
    display: block;
    position: absolute;
    right: 0;
    top: 0.4em;
    font-size: 1em;
    font-family: 'iconfont';
    line-height: 1;
    color: #10218b;
    transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.news-section .list:after {
	content: '';
	display: block;
	clear: both;
}

.news-section.list-border .list{
  padding: 10px 0;
  border-bottom: 1px dashed #ccc;
  overflow: hidden;
}

.news-section .img {
 float:right;
    padding-left: 5px;
}

.news-section .title a{
  display:inline;
}

@media all and (min-width: 500px) {
  .news-section .link > a:hover {
    text-decoration: none;
    color: #10218b;
  }
  .news-section .link > a:hover::after {
    transform: translateX(5px);
  }
}

@media screen and (max-width: 499.9px) {
  .news-section .link > a {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 799px){
    .news-section .category {
        width: 130px;        
        /*background: #004692;
        border-radius: 0;
        font-size: 92.8505%;*/
    }
    .news-section .date {
        text-align: left;
        margin-right: 5px;
        /*color: #4d4d4d;*/
    }
    
    /* enのみ調整202405 */
    .news-section .category:lang(en){
        order: -1;
    }
    .news-section .date:lang(en){
        width: 120px;
        margin-right:10px;
    }
    .news-section .list .img:lang(en){
        margin-top:15px;
        text-align: left;
    }
    
    
    .news-section .title {
        /*padding: 8px 0;*/
        font-size: 100%;
        clear:both;
        margin-bottom: 5px;
    }
    .news-section .category + .title {
        margin-left: auto;
        padding: 8px 0;
    }
    .news-section .title:lang(ja) ,
    .news-section .category + .title:lang(ja),
    .news-section .title:lang(en) ,
    .news-section .category + .title:lang(en){
        margin-left: 0px;
    }
    .news-section .img + .date + .title:lang(ja){
        margin-left: 0px;
        padding-right:  0px;
    }


    /* hama 追加 230720 */
    .news-section.list-border .list{
      padding: 12px 0;
    }
    .news-section .list {
      display: flex;
      flex-wrap: wrap;
    }
    .news-section .list .date {
      order: -1;
    }
    .news-section .list .img{
      text-align: center;
      width: 100%;
    }
    .news-section .list .title{
      width: 100%;
    }
    .note{
      margin-left: initial;
      margin-bottom: 20px;
		}
    .news-section .list .img ~ .note {
      margin-right: initial;
    }
    /* ここまで */
}


/* hama 追加分 ------------------------ */
.faq-section .icon {
  float: left;
  width: 150px;
  background: #10218b;
  margin-right: 30px;
  font-size: 92.8478%;
  text-align: center;
  margin-top: 10px;
  padding: 2px 0;
  font-weight: bold;
  color: #ffffff;
}

.icon._answer{
  background:#ffffff;
  border: solid 1px #10218b;
  color: #10218b;
}

.faq-section .faq-content {
  padding: 9px 0;
  font-size: 114.2742%;
}

.faq-section .faq-content a{
  text-decoration: underline;
}

.faq-section .faq-content:lang(ja) {
margin-left: 85px;
}
.faq-section .icon + .faq-content:lang(ja) {
margin-left: 180px;
}

.faq-section .faq-content:lang(en) {
margin-left: 85px;
}
.faq-section .icon + .faq-content:lang(en) {
margin-left: 180px;
}


/*
.faq-section .link{
  margin-top: 30px;
  text-align: center;
}
.faq-section .link > a{
  display: inline-block;
  position: relative;
  padding-right: 1.4em;
  text-align: left;
  text-decoration: none;
  color: #333;
  transition: color 0.2s linear;
  font-size: 2rem;
}
.faq-section .link > a::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: 0;
  top: 0.4em;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}


.faq-section .list:after {
content: '';
display: block;
clear: both;
}
@media all and (min-width: 500px) {
.faq-section .link > a:hover {
  text-decoration: none;
  color: #10218b;
}
.faq-section .link > a:hover::after {
  transform: translateX(5px);
}
}

@media screen and (max-width: 499.9px) {
.faq-section .link > a {
  font-size: 1.8rem;
}
} */

@media screen and (max-width: 799px){
  .faq-section .icon {
      width: 130px;

  }
  .faq-section .faq-content {
      font-size: 100%;
      clear:both;
      margin-bottom: 5px;
  }
  .faq-section .icon + .faq-content {
      margin-left: auto;
      padding: 8px 0;
  }
  .faq-section .faq-content:lang(ja) ,
  .faq-section .icon + .faq-content:lang(ja),
  .faq-section .faq-content:lang(en) ,
  .faq-section .icon + .faq-content:lang(en){
      margin-left: 0px;
  }
}



/* 役員メッセージ */
@media screen and (max-width: 499.9px) {
  .message-box01 {
    padding: 0 15px;
  }
}

.message-box01 > a {
  display: block;
  color: #333;
  transition: color .3s linear;
}

.message-box01 > a > .image {
  margin-bottom: 35px;
}

.message-box01 > a > .message {
  position: relative;
}

.message-box01 > a > .message .heading {
  margin-bottom: 15px;
  font-size: 2.4rem;
  font-weight: 700;
}

.message-box01 > a > .message .text {
  font-size: 1.8rem;
}

.message-box01 > a > .message .name {
  margin-top: 15px;
  font-size: 1.6rem;
}

.message-box01 > a > .message .text + .name {
  margin-top: 30px;
}

.message-box01 > a > .message .link {
  display: inline-block;
  position: relative;
  padding-right: 1.4em;
  text-align: left;
  text-decoration: none;
  color: #333;
  transition: color 0.2s linear;
  margin-top: 20px;
  font-size: 2rem;
}

.message-box01 > a > .message .link::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: 0;
  top: 0.4em;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media all and (min-width: 500px) {
  .message-box01 > a > .message .link:hover {
    text-decoration: none;
    color: #10218b;
  }
  .message-box01 > a > .message .link:hover::after {
    transform: translateX(5px);
  }
}

@media screen and (max-width: 499.9px) {
  .message-box01 > a > .message .link {
    font-size: 1.7rem;
  }
}

@media screen and (min-width: 500px) {
  .message-box01 > a .image {
    overflow: hidden;
  }
  .message-box01 > a .image img {
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .message-box01 > a:hover {
    text-decoration: none;
  }
  .message-box01 > a:hover .image img {
    transform: scale(1.1);
  }
  .message-box01 > a:hover > .message .link {
    color: #10218b;
  }
  .message-box01 > a:hover > .message .link::after {
    transform: translateX(5px);
  }
}

.message-box02 {
  padding: 35px 3.75%;
}

@media screen and (max-width: 499.9px) {
  .message-box02 {
    padding: 0 15px;
  }
}

.message-box02 > a {
  display: block;
  color: #333;
  transition: color .3s linear;
}

.message-box02 > a > .image {
  margin-bottom: 35px;
}

.message-box02 > a > .message {
  position: relative;
}

.message-box02 > a > .message .heading {
  margin-bottom: 15px;
  font-size: 2.4rem;
  font-weight: 700;
}

.message-box02 > a > .message .text {
  font-size: 1.8rem;
}

.message-box02 > a > .message .name {
  margin-top: 15px;
  font-size: 1.6rem;
}

.message-box02 > a > .message .text + .name {
  margin-top: 30px;
}

.message-box02 > a > .message .link {
  display: inline-block;
  position: relative;
  padding-right: 1.4em;
  text-align: left;
  text-decoration: none;
  color: #333;
  transition: color 0.2s linear;
  margin-top: 20px;
  font-size: 2rem;
}

.message-box02 > a > .message .link::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: 0;
  top: 0.4em;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media all and (min-width: 500px) {
  .message-box02 > a > .message .link:hover {
    text-decoration: none;
    color: #10218b;
  }
  .message-box02 > a > .message .link:hover::after {
    transform: translateX(5px);
  }
}

@media screen and (max-width: 499.9px) {
  .message-box02 > a > .message .link {
    font-size: 1.7rem;
  }
}

@media screen and (min-width: 500px) {
  .message-box02 > a .image {
    overflow: hidden;
  }
  .message-box02 > a .image img {
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .message-box02 > a:hover {
    text-decoration: none;
  }
  .message-box02 > a:hover .image img {
    transform: scale(1.1);
  }
  .message-box02 > a:hover > .message .link {
    color: #10218b;
  }
  .message-box02 > a:hover > .message .link::after {
    transform: translateX(5px);
  }
}

@media screen and (max-width: 499.9px) {
  .message-box02 {
    padding: 0 15px;
  }
}

@media screen and (min-width: 500px) {
  .message-box02 > a {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .message-box02 > a > .image {
    width: 51.3%;
    margin: -35px 5.4% -35px -4.06%;
  }
  .message-box02 > a > .message {
    flex: 1 0 0%;
  }
  .message-box02 > a > .message .link {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}

.contents-area > .inner > .keyvisual-after-box {
  margin-top: -170px;
}

@media screen and (max-width: 499.9px) {
  .contents-area > .inner > .keyvisual-after-box {
    margin-top: -110px;
    padding: 0;
  }
}

.keyvisual-after-box {
  padding: 35px 3.75%;
  background-color: #FFF;
}

@media screen and (max-width: 499.9px) {
  .keyvisual-after-box {
    margin-left: 15px;
    margin-right: 15px;
    padding: 0;
  }
}

.keyvisual-after-box .message-box02 {
  padding: 0;
}

@media screen and (min-width: 500px) {
  .keyvisual-after-box .message-box02 > a {
    display: flex;
    justify-content: space-between;
  }
  .keyvisual-after-box .message-box02 > a > .image {
    width: 51.3%;
    margin: -35px 5.4% -35px -4.06%;
  }
  .keyvisual-after-box .message-box02 > a > .message {
    flex: 1 0 0%;
  }
  .keyvisual-after-box .message-box02 > a > .message .link {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}

@media screen and (max-width: 999.98px) {
  .keyvisual-after-box .message-box02 > a > .message .link {
    position: relative;
  }
}

@media screen and (max-width: 499.9px) {
  .keyvisual-after-box .message-box02 {
    margin-top: -15px;
  }
}


/* 保険センターでは使わない（一旦2025.02.13） */
/* ファクトデータ factdata-links クラスに並べて _col4 を足すと4並び  */
.factdata-links {
  margin: 45px 0;
}

@media screen and (max-width: 499.9px) {
  .factdata-links {
    margin: 30px 0;
  }
}

.factdata-links > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 45px 5%;
}

@media screen and (max-width: 499.9px) {
  .factdata-links > ul {
    gap: 50px 0;
  }
}

.factdata-links > ul.-center {
  justify-content: center;
}

.factdata-links > ul > * {
  width: calc((100% - (5% * (3 - 1))) / 3);
}
.factdata-links._col4 > ul > * {
  width: calc((100% - (5% * (4 - 1))) / 4);
}


@media screen and (max-width: 799px) {
    .factdata-links._col4 > ul > * {
      width: calc((100% - (5% * (2 - 1))) / 2);
    }
}

@media screen and (max-width: 499.9px) {
  .factdata-links > ul > *,
  .factdata-links._col4 > ul > *{
    width: 100%;
  }
}


/* 4つ並びだけ早めにスマホスタイルで2列 テスト あとで消す */
@media screen and (max-width: 799px) {
    .factdata-links._col4 > ul  {
        row-gap: 20px;
    }
    .factdata-links._col4 > ul > li > a > img {
        /*max-width: 40%;*/
        max-width: 35%;
        padding-right: 5px;
    }
    .factdata-links._col4 > ul > li > a {
        display: flex;
        height: 100%;
        padding: 25px;
        text-align: center;
        text-decoration: none;
        background-color: #FFF;
        
        padding-right: 10px;
        width: 100%;
    }

    .factdata-links._col4 > ul > li > a > i {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 70px;
        height: 70px;
        margin: 0 25px 0 0;
        font-size: 70px;
    }

    .factdata-links._col4 > ul > li > a > span {
        /*display: inline-block;*/
        display: flex;
        margin-top: 0;
        /*font-size: 2rem;
        padding-right: 0;*/
        text-align: left;
        
        
        padding-right: 20px;
        font-size: 1.5rem;
        align-items: center;
        height: 100%;
        width: 100%;
    }

    .factdata-links._col4 > ul > li > a > span::after {
        display: inline-block;
        /*position: static;*/
        margin-left: 8px;
        
        position: absolute;
        right: 5px;

    }


}
/* ここまで  あとで消す */


@media screen and (max-width: 499.9px) {
  .factdata-links > ul {
    row-gap: 20px;
  }
}
/*miyazawa tameshituika 9/13*/
@media screen and (max-width: 499.9px) {
  .factdata-links > ul > li > a > img {
    /*max-width: 40%;*/
      
        max-width: 35%;
        padding-right: 5px;
  }
}
/*miyazawa tameshituika 9/13*/

.factdata-links > ul > li > a {
  display: block;
  height: 100%;
  padding: 30px 20px;
  text-align: center;
  text-decoration: none;
  background-color: #FFF;
}

@media screen and (max-width: 499.9px) {
  .factdata-links > ul > li > a ,
  .factdata-links._col4 > ul > li > a {
    display: flex;
    align-items: center;
    /*padding: 25px;*/

      padding: 25px 15px;
      width: 100%;
  }
}

.factdata-links > ul > li > a > i {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70px;
  height: 70px;
  margin: auto;
  font-size: 70px;
}

@media screen and (max-width: 499.9px) {
  .factdata-links > ul > li > a > i {
    margin: 0 25px 0 0;
  }
}

.factdata-links > ul > li > a > span {
  display: inline-block;
  margin-top: 15px;
}

@media screen and (max-width: 499.9px) {
  .factdata-links > ul > li > a > span {
    margin-top: 0;
    font-size: 2rem;
    text-align: left;
    /*padding-right: 0;*/
      
        /*_col4に合わせる*/
        display: flex;
        padding-right: 30px;
        align-items: center;
        height: 100%;
        width: 100%;      

  }

  .factdata-links._col4 > ul > li > a > span {
        font-size: 2rem;
        text-align: left;
        padding-right: 30px;
      
  }
}

.factdata-links > ul > li > a > span::after {
  display: inline-block;
  position: static;
  margin-left: 8px;
}

@media screen and (max-width: 499.9px) {
    /*_col4に合わせて従来の方も調整*/
    
    
    .factdata-links > ul > li > a > span::after {
        display: inline-block;
        margin-left: 8px;
        position: absolute;
        right: 5px;
    }
}



@media all and (min-width: 500px) {
  .factdata-links .image {
    overflow: hidden;
  }
  .factdata-links > ul > li > a > i {
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .factdata-links > ul > li > a:hover > i {
    transform: scale(1.1);
  }
  .factdata-links > ul > li > a:hover > span {
    color: #10218b;
  }
  .factdata-links > ul > li > a:hover > span::after {
    transform: translateX(5px);
  }
}

/* リポート */
.report-boxes {
  margin: 45px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 45px 5%;
}

@media screen and (max-width: 499.9px) {
  .report-boxes {
    gap: 50px 0;
  }
}

.report-boxes.-center {
  justify-content: center;
}

.report-boxes > * {
  width: calc((100% - (5% * (2 - 1))) / 2);
}

@media screen and (max-width: 499.9px) {
  .report-boxes > * {
    width: 100%;
  }
}

@media screen and (max-width: 499.9px) {
  .report-boxes {
    margin: 30px 0;
    row-gap: 20px;
  }
}

.report-boxes > .item {
  padding: 35px 15px;
  text-decoration: none;
  background-color: #FFF;
}

.report-boxes > .item .heading {
  display: flex;
  align-items: flex-start;
}

.report-boxes > .item .heading .image {
  width: 33.3%;
  margin-right: 9.37%;
}

.report-boxes > .item .heading .text {
  flex: 1 0 0%;
  font-size: 2.4rem;
  font-weight: 700;
}

.report-boxes > .item .links {
  margin-top: 35px;
  font-size: 2rem;
}

.report-boxes > .item .links > li + li {
  margin-top: 10px;
}

/* --------------------------------------------------------------------
 pages
-------------------------------------------------------------------- */
/* h1背景画像
-------------------------------------------------------------------- */
/* 第2階層
.heading01.-keyvisual {
  background-image: url(https://placehold.jp/32/aaa/333/2732x952.jpg?text=%E7%94%BB%E5%83%8F);
}

.heading01.-SR {
  background-image: url(/ja/sustainability/img/index_h1_01.jpg);
}
 */
/* 第3階層 
.heading01.-image {
  background-image: url(https://placehold.jp/32/aaa/333/2400x1600.jpg?text=%E7%94%BB%E5%83%8F);
}

.heading01.-environment {
  background-image: url(/ja/sustainability/environment/img/index_h1_01.jpg);
}
*/
/* /index.html
-------------------------------------------------------------------- */
.top-contents-area {
  margin: 8.3% 0;
  margin: calc(min(8%, 100px)) 0;
}

@media screen and (max-width: 499.9px) {
  .top-contents-area {
    margin: 10% 0;
  }
}

.top-contents-area > .inner {
  width: 100%;
  max-width: 1100px;
  margin: auto;
  padding: 0 calc(min(6.07vw, 83px));
  padding-bottom: 0;
}

@media screen and (max-width: 499.9px) {
  .top-contents-area > .inner {
    padding: 0 30px;
  }
}

.top-heading {
  margin-bottom: 4%;
  text-align: center;
}

@media screen and (max-width: 499.9px) {
  .top-heading {
    margin-bottom: 8%;
  }
}

.top-heading h2 {
  font-size: 3.6rem;
  font-weight: 700;
  color: #10218b;
}

.top-heading h2 span{
  font-size: 2.6rem;
}

.top-heading h2 span{
  display: block;
}

@media screen and (min-width: 999.9px) {
  .top-heading.ywt{
    margin-bottom: 2%;
  } 
  .top-heading h2 span{
    font-size: 24px;
  }
}

@media screen and (max-width: 499.9px) {
  .top-heading h2 {
    font-size: 3rem;
  }
  .top-heading h2 span{
    font-size: 1.6rem;
  }
  .top-heading h2 span br{
    display: none;
  }
}

@media screen and (max-width: 999.98px) and (max-width: 499.9px) {
  .carousel-card-list.-top {
    margin: 0 -30px;
  }
}

@media screen and (max-width: 999.98px) and (max-width: 499.9px) {
  .carousel-card-list.-top:before, .carousel-card-list.-top::after {
    width: 30px;
  }
}

.keyvisual-area {
  margin: 0 0 3.33%;
}

@media screen and (max-width: 499.9px) {
  .keyvisual-area {
    margin-bottom: 5.83%;
  }
}

.keyvisual-area > .inner {
  position: relative;
  width: 100%;
  margin: 0 auto;
}

.keyvisual-area .keyvisual {
  display: none;
  width: 100%;
}

.keyvisual-area .keyvisual.slick-initialized {
  display: block;
}

.keyvisual-area .keyvisual .slick-arrow {
  height: 55px;
  width: 40px;
  background-color: transparent;
  opacity: 0.7;
  transition: opacity 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  background-color: #9f9f9f;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
}

.keyvisual-area .keyvisual .slick-prev {
  left: 13vw;
  /* right: 50%; */
  padding-left: 10px;
}

.keyvisual-area .keyvisual .slick-next {
  right: 13vw;
  /* left: 50%; */
  padding-right: 10px;
}

@media screen and (max-width: 999.98px) {
  .slick-list img {
    opacity: 1;
  }
  .keyvisual-area .keyvisual .slick-prev {
    left: 0vw !important;
    margin-left: 0 !important;
  }
  .keyvisual-area .keyvisual .slick-next {
    right: 0vw !important;
    margin-right: 0 !important;
  }
}

.keyvisual-area .keyvisual .slick-arrow:before {
  position: absolute;
  border-color: #000000;
  border-width: 4px;

}

.keyvisual-area .item {
  position: relative;
}

/* .keyvisual-area .item a::before {
  content: "くわしく見る";
  position: absolute;
  right: calc(min(6.07vw, 83px));
  bottom: 20px;
  padding: 6px 22px 6px 20px;
  color: #FFF;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7);
} */
/* MVくわしく見る言語対応 追加 ------------------------------------------------------------------------ */
/* .keyvisual-area:lang(en) .item a::before {content: "View More";} */
/* MVくわしく見る言語対応 ここまで ------------------------------------------------------------------------ */

/* @media screen and (min-width: 1300px) {
  .keyvisual-area .item a::before {
    right: 89px;
  }
} */

@media screen and (max-width: 499.9px) {
  .keyvisual-area .item a::before {
      content: ""; /*スマホ時くわしく見る文字削除20231225------------------------------------------------------------------------------------------*/
      top:20px;
      bottom: auto;
    padding-left: 10px;
    padding-right: 20px;
  }
}

/* .keyvisual-area .item a::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: calc(min(6.07vw, 83px));
  bottom: calc(20px + 13px);
  font-size: 14px;
  font-family: 'iconfont';
  line-height: 1;
  color: #FFF;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.45);
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.keyvisual-area .item a[target="_blank"]::after {
  content: "\e905";
}



@media screen and (min-width: 1300px) {
  .keyvisual-area .item a::after {
    right: 89px;
  }
}

@media screen and (max-width: 499.9px) {
  .keyvisual-area .item a::after {
        top: calc(20px + 13px);
        bottom: auto;
        right: calc(min(6.07vw, 83px));
  }
}
*/

@media screen and (min-width: 500px) {
  .keyvisual-area .keyvisual .slick-arrow:hover {
    background-color: #c2c2c2;
  }
  .keyvisual-area .keyvisual .slick-arrow:before {
    transition: border-color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .keyvisual-area .keyvisual .slick-arrow:hover:before {
    border-color: #000;
  }
  .keyvisual-area .item a:hover::after {
    transform: translateX(5px);
  }
}

@media screen and (max-width: 499.9px) {
  .keyvisual-area .keyvisual .slick-arrow {
    display: none !important;
  }
}

/* TOP KV SVGおよびテキストキャプション対応 ------------------------------*/

._pos-relative{
  position: relative;
}

.pickup-links .image .title{
  color: #fff;
  text-shadow: 0 0 10px #333;
}

.keyvisual-area .keyvisual .item .caption .titleS{
  font-size: min(2vw, 24px);
  line-height: 1.5;
  color: #fff;
}

.keyvisual-area .keyvisual .item .caption .lead{
  font-size: max(2vw, 16px);
  line-height: 1.5;
  color: #fff;
}

._block-center{
  position: absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}

._top10p {
  top:10%;
}
._top20p {
  top:20%;
}
._top30p {
  top:30%;
}
._top40p {
  top:40%;
}
._top50p {
  top:50%;
}
._top60p {
  top:60%;
}
._top70p {
  top:70%;
}
._top75p {
  top:75%;
}

@media (max-width: 499px){
  .keyvisual-area .keyvisual .item .caption .titleS{
    font-size: 24px;
    line-height: 1.5;
    margin-top: 10px;
  }
  .keyvisual-area .keyvisual .item .caption .lead{
    font-size: 22px;
    margin-top: 30px;
    line-height: 1;
  }  
}

.pickup-area .pickup-links a[target="_blank"] .caption::after
{
  content: "\e905";
  right: -5px;  
}

._no-shadow {
  text-shadow:none !important;
}
/* TOP KV SVGおよびテキストキャプション対応 ここまで------------------------------*/

.info-area {
  margin: 0;
}

@media screen and (max-width: 499.9px) {
  .info-area > .inner {
    padding: 0 15px;
  }
}

.info-area .info-box {
  padding: 11px 20px;
  border: 1px solid #DEDEDE;
  font-size: 1.4rem;
}

@media all and (min-width: 500px) {
  .info-area .info-box {
    display: flex;
  }
}

.info-area .info-box .title {
  position: relative;
  padding-right: 40px;
 /* color: #D10909;*//*-------------------------0915miyazawa ------------------------------------*/
}

/*.info-area .info-box .title::before {
  content: "\e902";
  display: inline-block;
  margin-right: 10px;
  font-size: 15px;
  font-family: 'iconfont';
  line-height: 1;
  vertical-align: middle;
}*//*-------------------------0915miyazawa ------------------------------------*/

.info-area .info-box .title::after {
  content: "";
  display: block;
  position: absolute;
  right: 20px;
  top: 3px;
  bottom: 3px;
  width: 1px;
  background-color: #DEDEDE;
}

@media screen and (max-width: 499.9px) {
  .info-area .info-box .title {
    display: inline-block;
    margin-bottom: 3px;
  }
  .info-area .info-box .title::after {
    right: 25px;
  }
}

@media all and (min-width: 500px) {
  .info-area .info-box .list {
    flex: 1 0 0%;
  }
}

.info-area .info-box .list li + li {
  margin-top: 3px;
}

/*.info-area .info-box .list li a {
  color: #D10909;
}*/

.topics-area {
  margin-top: 3.5%;
}

@media screen and (max-width: 499.9px) {
  .topics-area {
    margin-top: 8%;
  }
}

.topics-area .carousel-card-list .item .date {
  margin-top: 15px;
  font-weight: 700;
  transition: color .3s linear;
}

@media all and (min-width: 500px) {
  .topics-area .carousel-card-list .item a:hover {
    color: #10218b;
  }
}

@media screen and (max-width: 999.98px) and (max-width: 499.9px) {
  .topics-area .carousel-card-list {
    margin: 0 -30px;
  }
}

@media screen and (max-width: 999.98px) and (max-width: 499.9px) {
  .topics-area .carousel-card-list:before, .topics-area .carousel-card-list::after {
    width: 30px;
  }
}

.pickup-area {
  padding: 1% 0;
  background-color: #EEE;
}

.pickup-area .pickup-links ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: -3%;
}

@media screen and (max-width: 499.9px) {
  .pickup-area .pickup-links ul {
    display: block;
    margin-top: 0;
  }
}

.pickup-area .pickup-links li {
  width: 47.5%;
  margin-top: 3%;
}

@media screen and (max-width: 499.9px) {
  .pickup-area .pickup-links li {
    width: 100%;
    margin-top: 20px;
  }
}

.pickup-area .pickup-links li.full {
  width: 100%;
}

.pickup-area .pickup-links a {
  display: block;
  text-decoration: none;
  color: #333;
}

/* .pickup-area .pickup-links .image {
  display: block;
} */

.pickup-area .pickup-links .caption {
  margin-top: 10px;
  display: inline-block;
  position: relative;
  padding-right: 1.4em;
  text-align: left;
  text-decoration: none;
  color: #333;
  transition: color 0.2s linear;
  font-size: 2rem;
}

.pickup-area .pickup-links .caption::after {
  content: "\e901";
  display: block;
  position: absolute;
  right: 0;
  top: 0.4em;
  font-size: 1em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
  transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media all and (min-width: 500px) {
  .pickup-area .pickup-links .caption:hover {
    text-decoration: none;
    color: #10218b;
  }
  .pickup-area .pickup-links .caption:hover::after {
    transform: translateX(5px);
  }
}

@media screen and (max-width: 499.9px) {
  .pickup-area .pickup-links .caption {
    font-size: 1.8rem;
  }
}

@media all and (min-width: 500px) {
  .pickup-area .pickup-links .image {
    overflow: hidden;
  }
  .pickup-area .pickup-links .image img {
    transition: transform 0.7s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .pickup-area .pickup-links a:hover .image img {
    transform: scale(1.1);
  }
  .pickup-area .pickup-links a:hover .caption {
    color: #10218b;
  }
  .pickup-area .pickup-links a:hover .caption::after {
    transform: translateX(5px);
  }
}

@media screen and (max-width: 499.9px) {
  .news-area .news-box {
    margin: 0 -30px;
  }
  .news-area .news-box .cards:before, .news-area .news-box .cards::after {
    width: 30px;
  }
}

.news-area .news-bottom-btns {
  margin-top: 45px;
}

.news-area .news-bottom-btns ul {
  display: flex;
  flex-wrap: wrap;
  gap: 45px 5%;
}

@media screen and (max-width: 499.9px) {
  .news-area .news-bottom-btns ul {
    gap: 50px 0;
  }
}

.news-area .news-bottom-btns ul.-center {
  justify-content: center;
}

.news-area .news-bottom-btns ul > * {
  width: calc((100% - (5% * (2 - 1))) / 2);
}

@media screen and (max-width: 499.9px) {
  .news-area .news-bottom-btns ul > * {
    width: 100%;
  }
}

@media screen and (max-width: 499.9px) {
  .news-area .news-bottom-btns ul {
    gap: 20px 0;
  }
}

.news-area .news-bottom-btns ul li a {
  display: flex;
  align-items: center;
  text-decoration: none;
  min-height: 60px;
  padding: 6px 5%;
  line-height: 1.4;
  color: #333;
  border: 1px solid #1357C4;
  transition: all 0.2s linear;
  width: 100%;
}

.news-area .news-bottom-btns ul li a::after {
  content: "\e901";
  display: block;
  margin-left: .4em;
  font-size: 1.333em;
  font-family: 'iconfont';
  line-height: 1;
  color: #10218b;
}

.news-area .news-bottom-btns ul li a.-center {
  justify-content: center;
}

@media all and (min-width: 500px) {
  .news-area .news-bottom-btns ul li a::after {
    transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .news-area .news-bottom-btns ul li a:hover {
    text-decoration: none;
    color: #10218b;
    background-color: #F2F6F6;
  }
  .news-area .news-bottom-btns ul li a:hover::after {
    transform: translateX(5px);
  }
}

.news-area .news-bottom-btns ul li a.-large {
  min-height: 84px;
  padding: 10px 7.5%;
  font-size: 2.2rem;
  font-weight: 700;
}

@media screen and (max-width: 499.9px) {
  .news-area .news-bottom-btns ul li a.-large {
    padding-left: 15px;
    padding-right: 15px;
    min-height: 60px;
    font-size: 2rem;
  }
}

.news-area .news-bottom-btns ul li a.-large::after {
  font-size: 1em;
}

.news-area .news-bottom-btns ul li a.-current {
  background-color: #F2F6F6;
}

.photolink-area > .inner {
  padding: 0;
}

@media all and (min-width: 500px) {
  .photolink-area .photolink-grid > .inner {
    display: flex;
    flex-wrap: wrap;
  }
  .photolink-area .photolink-grid .item {
    width: 50%;
  }
}

.photolink-area .photolink-grid .item {
  position: relative;
  overflow: hidden;
}

.photolink-area .photolink-grid .item a {
  display: block;
  color: #FFF;
}

.photolink-area .photolink-grid .item a::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(51, 51, 51, 0.5);
}

@media screen and (max-width: 999.98px) {
  .photolink-area .photolink-grid .item a::before {
    content: none;
  }
}

.photolink-area .photolink-grid .image {
  overflow: hidden;
}

.photolink-area .photolink-grid dl {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.photolink-area .photolink-grid dl dt {
  font-size: 2.19vw;
  font-size: calc(min(3rem, 2.19vw));
  font-weight: 700;
  text-align: center;
  text-shadow: 0 0 10px #333;
}


@media screen and (max-width: 999.98px) {
    .photolink-area .photolink-grid dl dt {
        text-shadow: 0 0 8px #333, 0 0 10px #333, 0 0 12px #333;
    }
}

@media screen and (max-width: 499.9px) {
  .photolink-area .photolink-grid dl dt {
    font-size: 2.4rem;
  }
}

.photolink-area .photolink-grid dl dd {
  width: 100%;
  padding: 0 10%;/* padding: 0 13%; */
  font-size: 1.46vw;
  font-size: calc(min(2rem, 1.46vw));
  margin-top: 1em;
  font-weight: 700;
  text-align: center;
  text-shadow: 0 0 10px #333;/* add SEC */
}

@media screen and (max-width: 999.98px) {
    .photolink-area .photolink-grid dl dd {
        text-shadow: 0 0 8px #333, 0 0 10px #333, 0 0 12px #333;
    }
}

@media screen and (max-width: 499.9px) {
  .photolink-area .photolink-grid dl dd {
    padding: 0 30px;
    font-size: 1.6rem;
  }
}

@media all and (min-width: 1000px) and (hover) {
  .photolink-area .photolink-grid .item a::before {
    z-index: 1;
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .photolink-area .photolink-grid .image img {
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .photolink-area .photolink-grid dl {
    z-index: 1;
  }
  .photolink-area .photolink-grid dl {
    transform: translateY(calc(min(2vw, 27px)));
    transition: transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .photolink-area .photolink-grid dl.line2 {
    transform: translateY(calc(min(3.2vw, 40px)));
  }
  .photolink-area .photolink-grid dl.line3 {
    transform: translateY(calc(min(4.5vw, 61px)));
  }
  .photolink-area .photolink-grid dl dd {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .photolink-area .photolink-grid .item a:hover::before {
    opacity: 1;
  }
  .photolink-area .photolink-grid .item a:hover .image img {
    transform: scale(1.1);
  }
  .photolink-area .photolink-grid .item a:hover dl {
    transform: translateY(0);
  }
  .photolink-area .photolink-grid .item a:hover dl dd {
    opacity: 1;
  }
}

.banner-area .item + .item {
  margin-top: 40px;
}

@media screen and (max-width: 499.9px) {
  .banner-area .item + .item {
    margin-top: 30px;
  }
}

.banner-area .item a {
  display: block;
  overflow: hidden;
  position: relative;
  background-color: #333;
  transition: background-color 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.banner-area .image {
  width: 67%;
  margin-left: auto;
}

@media screen and (max-width: 499.9px) {
  .banner-area .image {
    position: relative;
    right: -40%;
    width: 210%;
  }
}

.banner-area .heading {
  position: absolute;
  top: 50%;
  width: 40%;
  font-size: 2.04vw;
  font-size: calc(min(2.8rem, 2.04vw));
  font-weight: 700;
  text-align: center;
  color: #FFF;
  transform: translateY(-50%);
}

@media screen and (max-width: 499.9px) {
  .banner-area .heading {
    width: auto;
    padding-left: 5%;
    text-align: left;
    font-size: 1.8rem;
  }
}

@media all and (min-width: 1000px) {
  .banner-area .image img {
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .banner-area .item a:hover {
    background-color: #10218b;
  }
  .banner-area .item a:hover::before {
    opacity: 1;
  }
  .banner-area .item a:hover .image img {
    transform: scale(1.1);
  }
}

.target-area .target-btns {
  overflow: hidden;
}

.target-area .target-btns ul {
  display: flex;
  flex-wrap: wrap;
}

@media all and (min-width: 500px) {
  .target-area .target-btns ul {
    justify-content: center;
    margin: -4% 0 0 -4%;
  }
}

@media screen and (max-width: 499.9px) {
  .target-area .target-btns ul {
    justify-content: space-between;
  }
}

.target-area .target-btns ul li {
  position: relative;
  border: 1px solid #EDEDED;
}

@media all and (min-width: 500px) {
  .target-area .target-btns ul li {
    width: 16%;
    min-width: 135px;
    margin: 4% 0 0 4%;
  }
}

@media screen and (max-width: 499.9px) {
  .target-area .target-btns ul li {
    width: 46%;
  }
  .target-area .target-btns ul li:nth-child(n+3) {
    margin-top: 6%;
  }
}

.target-area .target-btns ul li::before {
  content: "";
  display: block;
  padding-bottom: 100%;
}

.target-area .target-btns ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  padding: 10px;
  font-size: 1.17vw;
  font-size: calc(min(1.6rem, 1.17vw));
  text-decoration: none;
  color: #10218b;
}

@media screen and (max-width: 499.9px) {
  .target-area .target-btns ul li a {
    font-size: 1.6rem;
  }
}

.target-area .target-btns ul li a i[class^="if-"] {
  content: "";
  display: block;
  margin: 5% 0;
  font-size: 5.85vw;
  font-size: calc(min(8rem, 5.85vw));
  font-family: 'iconfont';
  line-height: 1;
}

.target-area .target-btns ul li a img,
.target-area img.target-icon {
  width: calc(max(6vw,50px));
  height: calc(max(6vw,50px));
}


@media screen and (max-width: 499.9px) {
  .target-area .target-btns ul li a i[class^="if-"] {
    font-size: 5rem;
  }
  .target-area.ywt .target-btns ul li a br{
    display: none
  }
}

.target-area .target-btns ul li a .lower {
  font-weight: 700;
  font-size: 15px;
}

@media all and (min-width: 1000px) {
  .target-area .target-btns ul li a {
    transition: background-color 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .target-area .target-btns ul li a .lower {
    font-weight: 700;
    text-align: center;
  }
  .target-area .target-btns ul li a i[class^="if-"] {
    transition: transform 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .target-area.ywt .target-btns ul li a i[class^="if-"]{
    position: absolute;
    top: 0;
  }
  .target-area .target-btns ul li a:hover {
    background-color: #F2F6F6;
  }
  .target-area .target-btns ul li a:hover i[class^="if-"] {
    transform: scale(1.1);
  }
}

/* --------------------------------------------------------------------
 icon
-------------------------------------------------------------------- */
@font-face {
  font-family: 'iconfont';
  src: url("../font/iconfont.ttf") format("truetype"), url("../font/iconfont.woff") format("woff"), url("../font/iconfont.svg#iconfont") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="if-"], [class*=" if-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'iconfont' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: middle;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.if-arrow:before {
  content: "\e900";
}

.if-arrorw-angle:before {
  content: "\e907";
}

.if-arrow-circle:before {
  content: "\e901";
}

.if-plus-circle:before {
  content: "\e906";
}

.if-minus-circle:before {
  content: "\e908";
}

.if-caution:before {
  content: "\e902";
}

.if-search:before {
  content: "\e903";
}

.if-global:before {
  content: "\e904";
}

.if-new-window:before {
  content: "\e905";
}

.if-leaf:before {
  content: "\e909";
}

.if-binder:before {
  content: "\e90a";
}

.if-medal:before {
  content: "\e90b";
}

.if-male:before {
  content: "\e90c";
}

.if-building:before {
  content: "\e90d";
}

.if-town:before {
  content: "\e90e";
}

/************ accordion with icon block */
/* 目的別リンクはSVGに変更
.if-maleAcc:before {
  content: "\e90c";
  position: relative;
  margin: 0 20px 0 7px;
  font-size: 4rem;
  font-weight: 700;
  color: #003399;
  vertical-align: middle;
}
.if-townAcc:before {
  content: "\e90e";
  position: relative;
  margin-right: 15px;
  font-size: 4rem;
  font-weight: 700;
  color: #003399;
  vertical-align: middle;
}
.if-bldgAcc:before {
  content: "\e90d";
  position: relative;
  margin-right: 15px;
  font-size: 4rem;
  font-weight: 700;
  color: #003399;
  vertical-align: middle;
}
.accdn-box3 .if-maleAcc:before {
  top: 9px;
}
.accdn-box3 .if-townAcc:before {
  top: 9px;
}
.accdn-box3 .if-bldgAcc:before {
  top: 9px;
}
*/

/* Grid 追加 ------------------------------------------------------------------------ */

.clearfix { /*position:relative;*/ display:inline-block; }
.clearfix:after { display:block; clear:both; height:0; visibility:hidden; content:" "; }

.row {
	position: relative;
	/*margin: 0 -10px;*/
    margin: 0 -30px;
	*zoom: 1;
}
.row:after {
	content: '';
	display: block;
	clear: both;
}
.df {
	display:flex;
	flex-wrap: wrap;
}
.df-nav {
	display:flex !important;
}
.aiC {
  align-items: center;
}
.jcC {
  justify-content: center;
}
.grid2, .grid3, .grid4, .grid6, .grid8, .grid9, .grid12, .five_parts,
.sp-grid3, .sp-grid4, .sp-grid6, .sp-grid8, .sp-grid9, .sp-grid12, .sp-five_parts {
	float: left;
	padding: 0 30px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.grid12, .sp-grid12 { width: 100%;  }
.grid9, .sp-grid9  { width: 74.99997%;}
.grid8, .sp-grid8  { width: 66.66664%; }
.grid6, .sp-grid6  { width: 50%;}
.grid4, .sp-grid4  { width: 33.33333%; }
.grid3, .sp-grid3  { width: 25%; }
.grid2 { width: 16.66%; } /* grid2は基本のレイアウトでは使用しない */

.five_parts, .sp-five_parts { width: 20%; }

@media screen and (max-width: 999px){
        .row {
            margin: 0 -20px;
        }
		.grid2, .grid3, .grid4, .grid6, .grid8, .grid9, .grid12, .five_parts,
		.sp-grid3, .sp-grid4, .sp-grid6, .sp-grid8, .sp-grid9, .sp-grid12, .sp-five_parts {
			padding: 0 20px;
		}

    /*gridの割合変更*/
    .five_parts { width:33.33333%; }

}


@media screen and (max-width: 799px){
        .row {
            margin: 0 -15px;
        }
		.grid2, .grid3, .grid4, .grid6, .grid8, .grid9, .grid12, .five_parts,
		.sp-grid3, .sp-grid4, .sp-grid6, .sp-grid8, .sp-grid9, .sp-grid12, .sp-five_parts {
			padding: 0 15px;
		}
    
    
		/*gridの割合変更*/
		/*.grid6,*/ 
		.grid7, /*.grid8, .grid9, */.grid10, .grid11 { width: 100%; }
		.grid4 .grid6 { width: 100%; }
		.grid8 .grid3, .five_parts /*,.grid3*/ { width: 50%; }
		.grid2 { width: 33.33333%; }
		.grid1 { width: 16.66666%; }
		.tb-100{width: 100% !important;}
		.tb-50{width: 50% !important;}
}
@media screen and (max-width: 499px){
        .row {
            margin: 0 -10px;
        }
		.grid2, .grid3, .grid4, .grid6, .grid8, .grid9, .grid12, .five_parts,
		.sp-grid3, .sp-grid4, .sp-grid6, .sp-grid8, .sp-grid9, .sp-grid12, .sp-five_parts {
			padding: 0 10px;
		}
    
    
		/*gridの割合変更*/
		.grid12 { width: 100%; }
		.grid9  { width: 100%; }
		.grid8  { width: 100%; }
		.grid6  { width: 100%; }
		.grid4  { width: 100%; }
		.grid3, .five_parts  { width: 50%; }
		.grid2  { width: 33.33333%; } /* grid2は基本のレイアウトでは使用しない */
		.tb-50{width: 100% !important;}
		.sp-50{width: 50% !important;}
		.sp-100{width: 100% !important;}

}


/* Grid ここまで ------------------------------------------------------------------------ */

/* ボックス 追加 ------------------------------------------------------------------------ */
.box-contents {
    margin: 60px 0;
    padding: 45px 3.75% 60px;
}
@media screen and (max-width: 499px) {
    .box-contents {
        padding: 25px 15px;
    }
}
/* ボックス ここまで ------------------------------------------------------------------------ */

/* リンクアイコン 追加 ------------------------------------------------------------------------ */
/*サイト内*/
.arrow,
.arrow-white{
    /*display: inline-block; */
    display: inline;
    position: relative;
    /*padding-right: 0.4em;*/
    text-align: left;
    text-decoration: none;
    color: #10218b;
    transition: color 0.2s linear;
    /*margin-right: 0.5em;*/
}

p > a.arrow,
p > a.arrow-white{
    /*padding-right: 1.4em;*/
    margin-right: 0.4em;
}


.arrow::after ,
.arrow-white::after {
    content: "\e901";
    /*display: block;*/
    position: absolute;
    /*right: 0;*/
    /*top: 0.4em;*/
    padding-top: 0.4em;
    padding-left: 0.4em;
    font-size: 1em;
    font-family: 'iconfont';
    line-height: 1;
    color: #10218b;
    transition: transform 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.arrow-white,
.arrow-white::after {
    color: #ffffff;
}

@media all and (min-width: 500px) {
  .arrow:hover {
    text-decoration: none;
    color: #10218b;
  }
  .arrow-white:hover {
    text-decoration: none;
    color: #ffffff;
  }
  .arrow:hover::after,
  .arrow-white:hover::after {
    transform: translateX(5px);
  }
    
}

/*サイト外*/
.arrow-blank ,
.arrow-blank-white {
    display: inline-block;
    position: relative;
    padding-right: 0.5em;
    text-align: left;
    text-decoration: none;
    color: #10218b;
    transition: color 0.2s linear;
}
.arrow-blank::after ,
.arrow-blank-white::after {
    display: inline-block;
    content: "\e905";
    margin-left: .6em;
    font-size: 0.7em;
    font-family: 'iconfont';
    vertical-align: 0.1em;
    color: #10218b;
}
.arrow-blank-white,
.arrow-blank-white::after {
    color: #ffffff;
}

/*ページ内*/
.arrow-anchor,
.arrow-anchor-white{
    display: inline-block;
    position: relative;
    padding-right: 0.5em;
    text-align: left;
    text-decoration: none;
    color: #10218b;
    transition: color 0.2s linear;
}
.arrow-anchor::after ,
.arrow-anchor-white::after {
    display: inline-block;
    font-family: 'iconfont';
    vertical-align: 0.1em;
    color: #10218b;
    content: "\e907";
    margin-left: 0.8em;
    font-size: 0.7em;
    transform: rotate(90deg);
}

.arrow-anchor-white,
.arrow-anchor-white::after {
    color: #ffffff;
}


/*PDF/Excel/Word リンク*/
.arrow-pdf ,
.arrow-pdf-white ,
.arrow-excel ,
.arrow-excel-white ,
.arrow-word ,
.arrow-word-white {
    display: inline-block;
    position: relative;
    padding-right: 0.5em;
    text-align: left;
    text-decoration: none;
    color: #10218b;
    transition: color 0.2s linear;
}
.arrow-pdf::after ,
.arrow-pdf-white::after {
    display: inline-block;
    content: "\f1c1";
    margin-left: .2em;
    font-size: 1.2em;
    font-family: 'Font Awesome 6 Free';
    color: #FF0000;
}
.arrow-excel::after ,
.arrow-excel-white::after {
    display: inline-block;
    content: "\f1c3";
    margin-left: .2em;
    font-size: 1.2em;
    font-family: 'Font Awesome 6 Free';
    color: #008080;
}
.arrow-word::after ,
.arrow-word-white::after {
    display: inline-block;
    content: "\f1c2";
    margin-left: .2em;
    font-size: 1.2em;
    font-family: 'Font Awesome 6 Free';
    color: #000080;
}

.arrow-pdf-white,
.arrow-pdf-white::after ,
.arrow-excel-white,
.arrow-excel-white::after ,
.arrow-word-white,
.arrow-word-white::after {
    color: #ffffff;
}



/* リンクアイコン ここまで ------------------------------------------------------------------------ */

/* ページ目次用、テキストのみリンク用 追加------------------------------------------------------------------------*/
.anchorNav li,
.textLinklist li{
    display: block;
}
.anchorNav + .heading02{
    margin-top: 35px;
}


/* ページ目次用 ここまで------------------------------------------------------------------------*/

/*ボーダー 追加 ------------------------------------------------------------------------*/
/* 全て */    .bdG {border:solid 1px #C6C6C6;}
/* 上 */        .bdGT{border-top:solid 1px #C6C6C6;}
/* 右 */        .bdGR{border-right:solid 1px #C6C6C6;}
/* 下 */        .bdGB{border-bottom:solid 1px #C6C6C6;}
/* 左 */        .bdGL{border-left:solid 1px #C6C6C6;}
/* 上下 */    .bdGTB{border-top:solid 1px #C6C6C6;border-bottom:solid 1px #C6C6C6;}
/* 左右 */    .bdGRL{border-right:solid 1px #C6C6C6;border-left:solid 1px #C6C6C6;}
/*ボーダー ここまで ------------------------------------------------------------------------*/

/*ボーダー 追加（赤） ------------------------------------------------------------------------*/
/* 全て */    .bdR {border:solid 1px #D10909;}
/* 上 */        .bdRT{border-top:solid 1px #D10909;}
/* 右 */        .bdRR{border-right:solid 1px #D10909;}
/* 下 */        .bdRB{border-bottom:solid 1px #D10909;}
/* 左 */        .bdRL{border-left:solid 1px #D10909;}
/* 上下 */    .bdRTB{border-top:solid 1px #D10909;border-bottom:solid 1px #D10909;}
/* 左右 */    .bdRRL{border-right:solid 1px #D10909;border-left:solid 1px #D10909;}
/*ボーダー ここまで ------------------------------------------------------------------------*/

/*ボーダー 追加（青） ------------------------------------------------------------------------*/
/* 全て */    .bdB {border:solid 1px #10218b;}
/* 上 */        .bdBT{border-top:solid 1px #10218b;}
/* 右 */        .bdBR{border-right:solid 1px #10218b;}
/* 下 */        .bdBB{border-bottom:solid 1px #10218b;}
/* 左 */        .bdBL{border-left:solid 1px #10218b;}
/* 上下 */    .bdBTB{border-top:solid 1px #10218b;border-bottom:solid 1px #10218b;}
/* 左右 */    .bdBRL{border-right:solid 1px #10218b;border-left:solid 1px #10218b;}
/*ボーダー ここまで ------------------------------------------------------------------------*/

/*画像つき関連情報リンク追加 ------------------------------------------------------------------------*/
.thumbnail-arrow-button,
.thumbnail-blank-button,
.thumbnail-anchor-button{
	display: block;
	padding: 10px;
	border: 1px solid #e9e9e9;
}
.thumbnail-arrow-button:after,
.thumbnail-blank-button:after,
.thumbnail-anchor-button:after {
	content: '';
	display: block;
	clear: both;
}
.thumbnail-arrow-button:link,
.thumbnail-arrow-button:visited,
.thumbnail-blank-button:link,
.thumbnail-blank-button:visited,
.thumbnail-anchor-button:link,
.thumbnail-anchor-button:visited {
	color: #333;
}
.thumbnail-arrow-button:hover,
.thumbnail-blank-button:hover,
.thumbnail-anchor-button:hover {
	color: #f30;
}

.thumbnail-arrow-button span ,
.thumbnail-blank-button span,
.thumbnail-anchor-button span {
    display: inline-block;
    position: relative;
    padding-right: 1.4em;
    text-decoration: none;
    color: #10218b;
    transition: color 0.2s linear;
    float: right;
    width: 52%;
    text-align: left;
}
.thumbnail-arrow-button span::after {
    content: "\e901";
    display: block;
    position: absolute;
    right: 0;
    top: 0.4em;
    font-size: 1em;
    font-family: 'iconfont';
    line-height: 1;
    color: #10218b;
    margin-right: 0.4em;
}
.thumbnail-blank-button span::after {
    content: "\e905";
    display: block;
    position: absolute;
    right: 0;
    top: 0.8em;
    font-size: 0.7em;
    font-family: 'iconfont';
    line-height: 1;
    color: #10218b;
    margin-right: 0.4em;
}
.thumbnail-anchor-button span::after {
    content: "\e907";
    display: block;
    position: absolute;
    right: 0;
    top: 0.8em;
    font-size: 0.7em;
    font-family: 'iconfont';
    line-height: 1;
    color: #10218b;
    transform: rotate(90deg);
    margin-right: 0.4em;
}




.thumbnail-arrow-button:hover span,
.thumbnail-blank-button:hover span,
.thumbnail-anchor-button:hover span {
	text-decoration: underline;
}
.thumbnail-arrow-button img,
.thumbnail-blank-button img,
.thumbnail-anchor-button img {
	float: left;
	transition: opacity 0.2s;
}
.thumbnail-arrow-button:hover img,
.thumbnail-blank-button:hover img,
.thumbnail-anchor-button:hover img {
	opacity: 0.8;
}

@media screen and (max-width: 999px){
		.thumbnail-arrow-button img,
		.thumbnail-blank-button img,
		.thumbnail-anchor-button img{
			max-width: 45%;
		}	
		.thumbnail-arrow-button span,
		.thumbnail-blank-button span,
		.thumbnail-anchor-button span{
			width: 40%;
		}
		/*回り込み解除でいいかも*/
		.thumbnail-arrow-button,
		.thumbnail-blank-button,
		.thumbnail-anchor-button{
			text-align: center;
		}

		.thumbnail-arrow-button img,
		.thumbnail-blank-button img,
		.thumbnail-anchor-button img{
			float:none;
			clear: both;
			max-width: 90%;
		}	
		.thumbnail-arrow-button span,
		.thumbnail-blank-button span,
		.thumbnail-anchor-button span{
			clear: both;
			width: 90%;
			padding-top: 3px;
			text-align: left;
		}	
        .thumbnail-arrow-button span::after {
            top: 0.6em;
            margin-right: 0.3em;
        }
        .thumbnail-blank-button span::after {
            top: 1em;
            margin-right: 0.3em;
        }
        .thumbnail-anchor-button span::after {
            top: 1em;
            margin-right: 0.3em;

        }
}
/*画像つき関連情報リンク ここまで ------------------------------------------------------------------------*/
/*pcsp画像切り替え用20230110宮澤追加 ------------------------------------------------------------------------------------------------*/
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}
/*pcsp画像切り替え用20230110宮澤追加 --------------------------------------------------------------------------------------------------*/
/* vertical-align 追加 ------------------------------------------------------------------------ */
.vaT { vertical-align:top !important; }
.vaM { vertical-align:middle !important; }
.vaB { vertical-align:bottom !important; }
/* vertical-align ここまで ------------------------------------------------------------------------ */

/*インデント 追加 ------------------------------------------------------------------------ */
.tIndent:lang(ja){ text-indent: 1em; }
.tIndent:lang(ja) .arrow::after{ margin-left: -1em; }
.tIndent:lang(ja) .arrow-blank,
.tIndent:lang(ja) .arrow-blank::after{ margin-left: -0.8em; }
.tIndent:lang(ja) .arrow-anchor{ margin-left: -0.8em; padding-right:0em; }
.tIndent:lang(ja) .arrow-anchor::after{ margin-left: -0.5em; padding-right:1.5em; }
.tIndent:lang(ja) .arrow-pdf,
.tIndent:lang(ja) .arrow-excel,
.tIndent:lang(ja) .arrow-word{ margin-left: -0.8em; }
.tIndent:lang(ja) .arrow-pdf::after,
.tIndent:lang(ja) .arrow-excel::after,
.tIndent:lang(ja) .arrow-word::after{ margin-left: -0.6em; }

.indent1 { padding-left:1em; text-indent:-1em; }
.indent2 { padding-left:0.5em; text-indent:-0.5em; }
.indent3 { padding-left:2.2em; text-indent:-2.2em; }
/*インデント ここまで ------------------------------------------------------------------------ */


/*サイトマップ 追加 ------------------------------------------------------------------------ */
ul.sitemap{
	display:flex;
	flex-wrap: wrap;
	justify-content: flex-start;
  font-size:18px;
}
ul.sitemap li{
	width:50%;
	/* text-indent: -1em;
	padding-left: 1em; */
	margin-bottom: 15px;
  font-weight:normal;
}
ul.sitemap > li{
  font-weight:bold;
}
@media screen and (max-width: 499.9px) {
	ul.sitemap li{
		width:100%;
	}
}

ul.sitemap li.heading-sitemap{
  width:100%;
}
ul.sitemap li.heading-sitemap>a{
  margin-bottom:15px;
  display: inline-block;
}

ul.sitemap li.heading-sitemap ul{
  margin-left: 50px;
  display:flex;
  flex-wrap: wrap;
	justify-content: flex-start;
}

ul.sitemap li:before{
	content: "";
	display: inline-block;
	left: 25px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #10218b;
	border-right: 2px solid #10218b;
	transform: rotate(45deg);
	vertical-align: middle;
	margin-right: 10px;
	margin-bottom:2px;
}

ul.sitemap li a.arrow-blank {
  display:inline;
}
ul.sitemap li a.arrow-blank::after {
  margin-left:1.8em;
}
/*サイトマップ ここまで ------------------------------------------------------------------------ */


/* --------------------------------------------------------------------
 marsfinder用
-------------------------------------------------------------------- */
#mf_marsfinder {
  box-sizing: content-box !important;
  margin-bottom: 70px !important;
}

#mf_marsfinder :lang(ja), #mf_marsfinder :lang(en) {
  line-height: normal !important;
}

@media screen and (max-width: 999.98px) {
  #mf_marsfinder {
    padding-top: 60px !important;
  }
}


/* --------------------------------------------------------------------
 print
-------------------------------------------------------------------- */
@media print {
  body {
    zoom: 0.5;
  }

#header {
    position: static;
  }

  .header-menu-sp,
  .menu-btns-sp,
  .sitemap-link .link {
    display: none !important;
  }
  .contents-area {
    margin: 30px 0;
  }
  .page-break-before {
    page-break-before: always;
  }
  .page-break-after {
    page-break-after: always;
  }
/* 
  .header-menu-pc,
  .header-menu-sp,
  .menu-btns-sp,
  .local-nav-area {
    display: none !important;
  } */
}
/*# sourceMappingURL=common.css.map */




/* hama 追記分ここから */

/* #header .header-menu-pc .global-nav > ul > .nav-btn >{

  text-align: center;
  font-weight: 600;
  letter-spacing: 0.08em;
  position: relative;
  padding: 18px;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  color: #333;
}



#header .header-menu-pc .global-nav > ul > .nav-btn > a {
  border-radius: 8rem;
  height:40px;
  width: 14.85rem;
} */

#header .header-menu-pc .global-nav > ul > li.nav-btn {
  display: inline-block;
  margin-left: 18px;
}

#header .header-menu-pc .global-nav > ul > li.nav-btn > a {
  display: inline-block;
  padding: 0.5rem 2rem;
  background-color: #10218b;
  color: #fff;
  text-align: center;
  font-weight: bold;
  text-decoration: none;
  border-radius: 6px;
  transition: 0.4s;
}

#header .header-menu-pc .global-nav > ul > li.nav-btn > a:hover {
  background-color: #ffffff; /* ホバー時の背景色 */
  color: #10218b; /* ホバー時のテキスト色 */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* ホバー時の影 */
}


/* --- PC用 (デフォルト) --- */
aside {
  position: fixed;
  right: 0;
  top: 20%;
  opacity: 0;
  transition: opacity 0.5s, transform 0.5s;
  z-index: 999;
}

aside.show {
  opacity: 1;
  transform: translateY(0);
}

aside.hide {
  opacity: 0;
  transform: translateY(20px);
}

aside .float-bnr {
  width: 60px;
  height: 190px;
  border-radius: 4px 0 0 4px;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15);
  position: fixed;
  right: 0;
}

aside .float-bnr:first-child {
  background: #ff7355;
}

aside .float-bnr:nth-child(2) {
  margin-top: 210px;
  background: #79b5be;
}

aside .float-bnr a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #000;
  font-weight: 700;
  writing-mode: vertical-rl;
  letter-spacing: 2px;
}

aside .float-bnr:hover {
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.3);
}

aside .float-bnr a:hover {
  opacity: 0.7;
  text-decoration: none;
}

/* --- スマホ表示時 (横並びで表示) --- */
@media (max-width: 768px) {
  aside {
    width: 100%;
    bottom: 0;
    top: auto;
    display: flex;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.5s, transform 0.5s;
  }

  aside.show {
    opacity: 1;
    transform: translateY(0px);
    background: #cefcff;
    padding-top: 20px;
    padding-bottom: 20px;
  }

  aside.hide {
    opacity: 0;
    transform: translateY(100%);
  }

  aside .float-bnr {
    position: relative;
    width: auto;
    height: 50px;
    margin: 0 10px;
    border-radius: 4px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
  }

  aside .float-bnr a {
    writing-mode: horizontal-tb;
    padding: 0 20px;
  }

  aside .float-bnr:nth-child(2) {
    margin-top: 0;
    background: #79b5be;
  }
}


/* hama 追記分ここまで */


/* sugi 追記分ここから */

/* リポート3つ */
/* PC時：2段組グリッド（上3つ・下2つ） */
.report-boxes-three {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  /* grid-template-rows: 1fr 1fr; */
  gap: 45px 5%;
  margin: 45px 0;
  position: relative;
}

.report-boxes-three > .item:nth-child(1) {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}

.report-boxes-three > .item:nth-child(2) {
  grid-column: 3 / 5;
  grid-row: 1 / 2;
}
.report-boxes-three > .item:nth-child(3) {
  grid-column: 5 / 7;
  grid-row: 1 / 2;
}

/* 4番目・5番目を2段目に配置 */
.report-boxes-three > .item:nth-child(4) {
  grid-column: 2 / 4;
  grid-row: 2 / 3;
}
.report-boxes-three > .item:nth-child(5) {
  grid-column: 4 / 6;
  grid-row: 2 / 3;
}

.report-boxes-three > .item:nth-child(5) {
  grid-column: 4 / 6;
  grid-row: 2 / 3;
}


/* 各itemの高さを揃え、中身を中央寄せ */
.report-boxes-three > .item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  background: #fff;
  padding: 48px 18px 8px 18px;
  box-sizing: border-box;
  /* height: 100%; */
  text-align: center;
  position: relative;
  margin-bottom: 35px;
  box-shadow: 5px 5px 0px 0 rgb(191, 191, 191);
}

/* タイトル（h3）の高さを固定 */
.report-boxes-three > .item .heading04 {
  height: 7.0em; /* 必要に応じて調整 */
  display: flex;
  /* align-items: center; */
  align-items: flex-start;
  justify-content: center;
  width: 100%;
  text-align: center;
  overflow: hidden;
  line-height: 1.4;
}


.report-boxes-three > .item .heading04 h3 {
  font-size: 24px;
}

/* 画像上端 */
.report-boxes-three > .item figure {
  margin: 0 0 10px 0;
  width: 100%;
  display: flex;
  justify-content: center;
}

/* 画像下文章の上端 */
.report-boxes-three > .item p {
  margin-top: 0;
  width: 100%;
  /* flex: 1 1 auto; */
  display: flex;
  align-items: flex-start;
  /* text-align: center; */
  flex-direction: column;
  line-height:1.5;
}

/* スマホ時は縦並び */
@media (max-width: 767px) {
  .report-boxes-three {
    display: flex;
    flex-direction: column;
    gap: 20px 0;
  }
  .report-boxes-three > .item {
    width: 100%;
    min-height: unset;
  }
  .report-boxes-three::after {
    display: none;
  }
  .report-boxes-three > .item .heading04 {
    height: auto;
    padding-bottom: 30px;
  }
}

.force-right {
  margin-left:auto;
  margin-right:0;
}

/* hama追記ここまで 2025/05/23 */





/* リポート1つ */
.report-boxes-one {
  margin: 45px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 45px 5%;
}

@media screen and (max-width: 499.9px) {
  .report-boxes-one {
    gap: 50px 0;
  }
}

.report-boxes-one.-center {
  justify-content: center;
}

.report-boxes-one > * {
  width: 100%;
}

@media screen and (max-width: 499.9px) {
  .report-boxes-one > * {
    width: 100%;
  }
}

@media screen and (max-width: 499.9px) {
  .report-boxes-one {
    margin: 30px 0;
    row-gap: 20px;
  }
}

.report-boxes-one > .item {
  padding: 30px;
  text-decoration: none;
  background-color: #FFF;
}

.report-boxes-one > .item .heading {
  display: flex;
  align-items: flex-start;
}

.report-boxes-one > .item .heading .image {
  width: 33.3%;
  margin-right: 9.37%;
}

.report-boxes-one > .item .heading .text {
  flex: 1 0 0%;
  font-size: 2.4rem;
  font-weight: 700;
}

.report-boxes-one > .item .links {
  margin-top: 35px;
  font-size: 2rem;
}

.report-boxes-one > .item .links > li + li {
  margin-top: 10px;
}

.comparison {
  margin: 70px 0;
  border: 1px solid #C6C6C6;
  padding: 45px;
}

/* .title {
  margin-bottom: 30px;
  font-size: 2.4rem;
  font-weight: 700;
} */

.left-heading h2 {
  font-size: 2.8rem;
  font-weight: 700;
  text-align: left;
}

@media screen and (max-width: 499.9px) {
  .left-heading h2{
    font-size: 2.4rem;
  }
}
.insurance-links{
  margin: 30px 0;
}
.insurance-links ul{
  margin: 0;
}
.insurance-links li{
  background: #fff;
  border: 1px solid #C6C6C6;
  font-size: 2.8rem;
  margin-bottom: 20px;
}
.insurance-links li a{
  display: block;
  padding: 15px 25px;
}
.insurance-links li a:hover{
  text-decoration: none;
}

.insurance-links a:hover > span.arrow::after{
  transform: translateX(5px);
}

/* 上にはみ出す数字 */
.merit-number {
  position: absolute;
  top: -35px;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'Agency FB', 'Arial Narrow', Arial, sans-serif;
  font-size: 80px;
  color: #8b4c22;
  font-weight: bold;
  text-align: center;
  margin-bottom: 0;
  letter-spacing: 0.05em;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}


.office-title {
  min-width: 145px;
}

.insurances {
  display: flex;
  align-items: center;
  gap: 4px;
  /* margin-right: 16px; */
  min-width: 255px;
}
.insurance-company {
  display: inline-block;
  min-width: 110px;
  max-width: 110px;
  text-align: center;
  white-space: nowrap;
  padding: 2px 8px;
  border-radius: 4px;
  color: #fff;
  font-size: 0.95em;
  margin-right: 4px;
  box-sizing: border-box;
  /* padding: 2px 8px;
  border-radius: 4px;
  color: #fff;
  font-size: 0.95em;
  margin-right: 4px;
  text-align: center;
  white-space: nowrap; */
}
.insurance-company.tokio {
  background: #3399ff;
}
.insurance-company.sompo {
  background: #e74c3c;
}
.accordion-header {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 8px 16px;
  background: #fff;
  cursor: pointer;
  flex-wrap: wrap;
  gap: 50px;
}
.accordion-header + .accordion-body {
  border: 1px solid #2362c1;
  border-top: none;
  padding: 16px;
  display: none;
  background: #fafafa;
}
.accordion-header[aria-expanded="true"] + .accordion-body {
  display: block;
}

.office-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  font-size: 0.95em;
  gap: 4px;
  flex-wrap: wrap;
}
.office-list li,
.office-list .office {
  margin: 0;
  padding: 0;
  line-height: 1.3;
}
.office {
  font-size: 0.95em;
}
@media (max-width: 999.98px) {
  .accordion-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    padding: 6px 8px;
  }
  .insurances {
    margin-bottom: 2px;
    font-size: 0.95em;
  }
  .insurance-company {
    min-width: 110px;
  }
  .office-list {
    gap: 2px;
  }
  .office {
    font-size: 0.85em;
  }
}


