@charset "UTF-8";
/* common
---------------------------------------------------------------- */
html {
  min-width: 0;
  min-height: 100vh; }

body, dd, dt, li, p {
  font-family: "Noto Sans Japanese", 'Noto Sans JP', "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Sans-Serif;
  font-weight: 400; }

body {
  font-size: 1em;
  line-height: 1.8;
  min-width: 1026px;
  min-height: 100vh;
  color: #333; }
  @media only screen and (max-width: 768px) {
    body {
      padding-top: 14.8vw;
      min-width: 0; } }

main * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

* {
  font-size: inherit; }

footer {
  line-height: 180%;
  font-size: 12px; }

footer * {
  font-weight: unset; }

img,
video {
  height: auto;
  max-width: 100%; }

b {
  font-weight: bold; }

@media only screen and (max-width: 768px) {
  .only-pc, .only_pc {
    display: none !important; } }
@media only screen and (min-width: 769px) {
  .only-sp, .only_sp {
    display: none !important; } }
#contents-container {
  overflow-x: hidden;
  max-width: 100%;
  font-size: 1em; }
  @media only screen and (max-width: 768px) {
    #contents-container {
      max-width: 100vw; } }
  #contents-container ::before, #contents-container ::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  #contents-container a:hover img {
    opacity: unset; }

/* font_base
---------------------------------------------------------------- */
.fl_L {
  float: left; }

.fl_R {
  float: right; }

.crumb {
  font-size: 75%; }

.fc_red {
  color: #AC0E11; }

.fc_blue {
  color: #0B619F; }

@media only screen and (min-width: 769px) {
  .overflow-ellipsis {
    display: block;
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: auto; } }

.va-top {
  vertical-align: top; }

.va-btm {
  vertical-align: bottom; }

.va-mdl {
  vertical-align: middle; }

@media only screen and (max-width: 768px) {
  .va-top-sp {
    vertical-align: top; }

  .va-btm-sp {
    vertical-align: bottom; }

  .va-mdl-sp {
    vertical-align: middle; } }
.ftw01 {
  font-weight: 100; }

.ftw02 {
  font-weight: 200; }

.ftw03 {
  font-weight: 300; }

.ftw04 {
  font-weight: 400; }

.ftw05 {
  font-weight: 500; }

.ftw06 {
  font-weight: 600; }

.ftw07 {
  font-weight: 700; }

.ftw08 {
  font-weight: 800; }

.ftw09 {
  font-weight: 900; }

.fts01 {
  font-size: 75%; }

.fts02 {
  font-size: 88%; }

.fts03 {
  font-size: 113%; }

.fts04 {
  font-size: 125%; }

.fts05 {
  font-size: 138%; }

.fts06 {
  font-size: 150%; }

.fts07 {
  font-size: 213%;
  line-height: 1.2; }

.fts08 {
  font-size: 226%;
  line-height: 1.2; }

.fts09 {
  font-size: 314%;
  line-height: 1.2; }

.fts10 {
  font-size: 440%;
  line-height: 1.2; }

.wd100 {
  width: 100%; }

.wd95 {
  width: 95%; }

.wd90 {
  width: 90%; }

.wd85 {
  width: 85%; }

.wd80 {
  width: 80%; }

.wd75 {
  width: 75%; }

.wd70 {
  width: 70%; }

.wd65 {
  width: 65%; }

.wd60 {
  width: 60%; }

.wd55 {
  width: 55%; }

.wd50 {
  width: 50%; }

.wd45 {
  width: 45%; }

.wd40 {
  width: 40%; }

.wd35 {
  width: 35%; }

.wd30 {
  width: 30%; }

.wd25 {
  width: 25%; }

.wd20 {
  width: 20%; }

.wd15 {
  width: 15%; }

.wd10 {
  width: 10%; }

@media only screen and (max-width: 768px) {
  .wd100sp {
    width: 100%; }

  .wd95sp {
    width: 95%; }

  .wd90sp {
    width: 90%; }

  .wd85sp {
    width: 85%; }

  .wd80sp {
    width: 80%; }

  .wd75sp {
    width: 75%; }

  .wd70sp {
    width: 70%; }

  .wd65sp {
    width: 65%; }

  .wd60sp {
    width: 60%; }

  .wd55sp {
    width: 55%; }

  .wd50sp {
    width: 50%; }

  .wd45sp {
    width: 45%; }

  .wd40sp {
    width: 40%; }

  .wd35sp {
    width: 35%; }

  .wd30sp {
    width: 30%; }

  .wd25sp {
    width: 25%; }

  .wd20sp {
    width: 20%; }

  .wd15sp {
    width: 15%; }

  .wd10sp {
    width: 10%; } }
.mr0 {
  margin-right: 0; }

.mr5 {
  margin-right: 5px; }

.mr10 {
  margin-right: 10px; }

.mr15 {
  margin-right: 15px; }

.mr20 {
  margin-right: 20px; }

.mr25 {
  margin-right: 25px; }

.mr30 {
  margin-right: 30px; }

.mr35 {
  margin-right: 35px; }

.mr40 {
  margin-right: 40px; }

.mr45 {
  margin-right: 45px; }

.mr50 {
  margin-right: 50px; }

.mr55 {
  margin-right: 55px; }

.mr60 {
  margin-right: 60px; }

.ml0 {
  margin-right: 0; }

.ml5 {
  margin-right: 5px; }

.ml10 {
  margin-right: 10px; }

.ml15 {
  margin-right: 15px; }

.ml20 {
  margin-right: 20px; }

.ml25 {
  margin-right: 25px; }

.ml30 {
  margin-right: 30px; }

.ml35 {
  margin-right: 35px; }

.ml40 {
  margin-right: 40px; }

.ml45 {
  margin-right: 45px; }

.ml50 {
  margin-right: 50px; }

.ml55 {
  margin-right: 55px; }

.ml60 {
  margin-right: 60px; }

.mt0 {
  margin-top: 0; }

.mt5 {
  margin-top: 5px; }

.mt10 {
  margin-top: 10px; }

.mt15 {
  margin-top: 15px; }

.mt20 {
  margin-top: 20px; }

.mt25 {
  margin-top: 25px; }

.mt30 {
  margin-top: 30px; }

.mt35 {
  margin-top: 35px; }

.mt40 {
  margin-top: 40px; }

.mt45 {
  margin-top: 45px; }

.mt50 {
  margin-top: 50px; }

.mt55 {
  margin-top: 55px; }

.mt60 {
  margin-top: 60px; }

.mt70 {
  margin-top: 70px; }

.mt80 {
  margin-top: 80px; }

.mt90 {
  margin-top: 90px; }

.mt100 {
  margin-top: 100px; }

.mb0 {
  margin-bottom: 0; }

.mb5 {
  margin-bottom: 5px; }

.mb10 {
  margin-bottom: 10px; }

.mb15 {
  margin-bottom: 15px; }

.mb20 {
  margin-bottom: 20px; }

.mb25 {
  margin-bottom: 25px; }

.mb30 {
  margin-bottom: 30px; }

.mb35 {
  margin-bottom: 35px; }

.mb40 {
  margin-bottom: 40px; }

.mb45 {
  margin-bottom: 45px; }

.mb50 {
  margin-bottom: 50px; }

.mb55 {
  margin-bottom: 55px; }

.mb60 {
  margin-bottom: 60px; }

.mb70 {
  margin-bottom: 70px; }

.mb80 {
  margin-bottom: 80px; }

.mb90 {
  margin-bottom: 90px; }

.mb100 {
  margin-bottom: 100px; }

.pd0 {
  padding: 0; }

.pd10 {
  padding: 10px; }

.pd20 {
  padding: 20px; }

.pd30 {
  padding: 30px; }

.pd40 {
  padding: 40px; }

.pd50 {
  padding: 50px; }

@media only screen and (max-width: 768px) {
  .mr0sp {
    margin-right: 0; }

  .mr5sp {
    margin-right: 5px; }

  .mr10sp {
    margin-right: 10px; }

  .mr15sp {
    margin-right: 15px; }

  .mr20sp {
    margin-right: 20px; }

  .mr25sp {
    margin-right: 25px; }

  .mr30sp {
    margin-right: 30px; }

  .mr35sp {
    margin-right: 35px; }

  .mr40sp {
    margin-right: 40px; }

  .mr45sp {
    margin-right: 45px; }

  .mr50sp {
    margin-right: 50px; }

  .mr55sp {
    margin-right: 55px; }

  .mr60sp {
    margin-right: 60px; }

  .ml0sp {
    margin-right: 0; }

  .ml5sp {
    margin-right: 5px; }

  .ml10sp {
    margin-right: 10px; }

  .ml15sp {
    margin-right: 15px; }

  .ml20sp {
    margin-right: 20px; }

  .ml25sp {
    margin-right: 25px; }

  .ml30sp {
    margin-right: 30px; }

  .ml35sp {
    margin-right: 35px; }

  .ml40sp {
    margin-right: 40px; }

  .ml45sp {
    margin-right: 45px; }

  .ml50sp {
    margin-right: 50px; }

  .ml55sp {
    margin-right: 55px; }

  .ml60sp {
    margin-right: 60px; }

  .mt0sp {
    margin-top: 0; }

  .mt5sp {
    margin-top: 5px; }

  .mt10sp {
    margin-top: 10px; }

  .mt15sp {
    margin-top: 15px; }

  .mt20sp {
    margin-top: 20px; }

  .mt25sp {
    margin-top: 25px; }

  .mt30sp {
    margin-top: 30px; }

  .mt35sp {
    margin-top: 35px; }

  .mt40sp {
    margin-top: 40px; }

  .mt45sp {
    margin-top: 45px; }

  .mt50sp {
    margin-top: 50px; }

  .mt55sp {
    margin-top: 55px; }

  .mt60sp {
    margin-top: 60px; }

  .mt70sp {
    margin-top: 70px; }

  .mt80sp {
    margin-top: 80px; }

  .mt90sp {
    margin-top: 90px; }

  .mt100sp {
    margin-top: 100px; }

  .mb0sp {
    margin-bottom: 0; }

  .mb5sp {
    margin-bottom: 5px; }

  .mb10sp {
    margin-bottom: 10px; }

  .mb15sp {
    margin-bottom: 15px; }

  .mb20sp {
    margin-bottom: 20px; }

  .mb25sp {
    margin-bottom: 25px; }

  .mb30sp {
    margin-bottom: 30px; }

  .mb35sp {
    margin-bottom: 35px; }

  .mb40sp {
    margin-bottom: 40px; }

  .mb45sp {
    margin-bottom: 45px; }

  .mb50sp {
    margin-bottom: 50px; }

  .mb55sp {
    margin-bottom: 55px; }

  .mb60sp {
    margin-bottom: 60px; }

  .mb70sp {
    margin-bottom: 70px; }

  .mb80sp {
    margin-bottom: 80px; }

  .mb90sp {
    margin-bottom: 90px; }

  .mb100sp {
    margin-bottom: 100px; }

  .pd0sp {
    padding: 0; }

  .pd10sp {
    padding: 10px; }

  .pd20sp {
    padding: 20px; }

  .pd30sp {
    padding: 30px; }

  .pd40sp {
    padding: 40px; }

  .pd50sp {
    padding: 50px; } }
.caption_small {
  font-size: 0.75em; }

.sus_bold {
  font-weight: bold;
  color: #1CC18D; }

.bold {
  font-weight: bold; }

.display-block {
  display: block; }

.bd-circle {
  border-radius: 500px; }

.bd-rd20 {
  border-radius: 20px; }

.bd-rd10 {
  border-radius: 10px; }

.bd-rd12 {
  border-radius: 12px; }

/*説明枠*/
.box {
  border: 1px  #0B619F solid;
  display: block;
  padding: 2%; }

/* 共通ヘッダーのスマホ用調整追加  */
/* sp common menu 調整 */
@media only screen and (max-width: 768px) {
  .clearfix {
    clear: both; }

  .clearfix:before {
    content: " ";
    display: table; }

  #name-ga-cookie-accept-bar.module-ga-cookie-accept-bar {
    min-width: auto; }

  #name-ga-cookie-accept-bar.module-ga-cookie-accept-bar p,
  #name-ga-cookie-accept-bar.module-ga-cookie-accept-bar p a {
    font-size: 14px !important; }

  #name-ga-cookie-accept-bar.module-ga-cookie-accept-bar .btn_box .module-ga-cookie-accept-btn,
  #name-ga-cookie-accept-bar.module-ga-cookie-accept-bar .btn_box #popup {
    font-size: 14px !important; }

  .head {
    z-index: 16000; }

  .head .sp-nav {
    top: 15vw; }

  .head-inner .head-btn .btn-sp-menu.is-open {
    background-size: contain; }

  .head-btn > p:nth-child(1) {
    height: 0; }

  .head-btn > p:nth-child(1) a {
    display: none; }

  #srchBox {
    height: auto; }

  #srchBox #srchForm > a:first-child {
    display: block; }

  #srchBox #srch #srchInput {
    float: none;
    font-size: 14px !important;
    width: 80%;
    display: inline-block;
    margin-right: 0;
    height: 24px; }

  #srchBox #srch #srchBtn {
    display: inline-block;
    background-size: contain;
    float: none;
    width: 32px;
    height: 32px;
    vertical-align: middle !important;
    top: -5px; }

  #srchBox li {
    font-size: 15px !important; }

  .sp-nav-list li a,
  .sp-nav-sub > ul > li > a {
    font-size: 15px !important;
    padding: 2% 2% 2% 22px;
    width: auto; }

  .sp-nav-sub > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }

  .sp-nav-list li,
  .sp-nav-sub > ul > li {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 49%;
    flex: 0 1 49%; }

  .sp-nav-list li a::before,
  .sp-nav-sub > ul > li > a::before {
    width: 5px;
    height: 5px;
    left: 5px; }

  .sp-nav .sp-nav-search {
    width: auto; }

  .foot-top-list > li a {
    font-size: 12px !important; }

  .foot-btm p small {
    font-size: 12px !important; } }
/* /共通ヘッダーのスマホ用調整追加  */
.font-size-small {
  font-size: small;
  line-height: 1.4; }

.font-size-xsmall {
  font-size: x-small;
  line-height: 1.4; }

.font-size-xxsmall {
  font-size: xx-small;
  line-height: 1.4; }

.font-size-large {
  font-size: large; }

.font-size-xlarge {
  font-size: x-large; }

.font-size-xxlarge {
  font-size: xx-large; }

.font-size-s {
  font-size: 85.7%;
  line-height: 1.4; }

.font-size-ss {
  font-size: 78.5%;
  line-height: 1.4; }

.font-size-l {
  font-size: 115%; }

.font-size-ll {
  font-size: 130%; }

.line-height-s {
  line-height: 1.2; }

.line-height-m {
  line-height: 1.4; }

.line-height-l {
  line-height: 1.8; }

.left {
  text-align: left !important; }

.center {
  text-align: center !important; }

.right {
  text-align: right !important; }

.indent-left1em {
  text-indent: 1em; }

.indent-left2em {
  text-indent: 2em; }

.indent-left3em {
  text-indent: 3em; }

.margin-left1em {
  margin-left: 1em; }

.margin-left2em {
  margin-left: 2em; }

.margin-left3em {
  margin-left: 3em; }

.margin-left4em {
  margin-left: 4em; }

.margin-left5em {
  margin-left: 5em; }

.margin-top1px {
  margin-top: 1px; }

.margin-top2px {
  margin-top: 2px; }

.margin-top4px {
  margin-top: 4px; }

.margin-top8px {
  margin-top: 8px; }

.margin-top16px {
  margin-top: 16px; }

.margin-top32px {
  margin-top: 32px; }

.margin-top48px {
  margin-top: 48px; }

.list-style {
  text-indent: -2em;
  margin-left: 2em; }

.list-style02 {
  text-indent: -2.5em;
  margin-left: 2.5em; }

.list-style03 {
  text-indent: -1em;
  margin-left: 1em; }

.list-style04 {
  text-indent: -3.5em;
  margin-left: 3.5em; }

.nowrap {
  white-space: nowrap; }

sub,
sup {
  font-size: 65.625%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

img {
  vertical-align: middle; }

.clearfix-ofh {
  overflow: hidden; }

.float-clear {
  clear: both; }

.cf:before,
.cf:after {
  content: "";
  display: table; }

.cf:after {
  clear: both; }

.cf {
  zoom: 1; }

.clearfix:before,
.clearfix:after {
  content: "";
  display: table; }

.clearfix:after {
  clear: both; }

.clearfix {
  zoom: 1; }

.bg-gray {
  background-color: #F0F0F0; }

.text-small {
  font-size: 0.8em; }

.slag_caption {
  width: 100%;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin: 4em auto .5em; }

.slag_subpage_table_wrap {
  overflow: auto; }

.slag_subpage_table {
  width: 100%; }
  .slag_subpage_table th {
    background: #00336E;
    color: #fff;
    text-align: center;
    font-weight: bold;
    border: 1px solid #d2d2d2;
    padding: .5em;
    line-height: 1.5;
    white-space: nowrap;
    font-size: 14px; }
    @media only screen and (max-width: 768px) {
      .slag_subpage_table th {
        padding: .4em .4em; } }
  .slag_subpage_table td {
    border: 1px solid #d2d2d2;
    background: #fff;
    padding: .5em;
    font-size: 14px;
    line-height: 1.5; }
    @media only screen and (max-width: 768px) {
      .slag_subpage_table td {
        min-width: 8em;
        padding: .6em;
        line-height: 1.6; } }
  .slag_subpage_table tbody tr:nth-child(2n) td {
    background: #f7f7f7; }
  .slag_subpage_table .sub_th {
    background: #EDF0F4;
    color: #333; }
    @media only screen and (max-width: 768px) {
      .slag_subpage_table .sub_th {
        font-weight: 600; } }
  .slag_subpage_table tbody tr:nth-child(2n) .sub_th {
    background: #E5E8EC; }
  .slag_subpage_table .tani_row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: center;
    align-content: center; }
    .slag_subpage_table .tani_row .tani_col:last-child {
      text-align: right; }

/* footer
---------------------------------------------------------------- */
#backtopbtn {
  position: static;
  overflow: visible;
  z-index: 10000;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  #backtopbtn .common-inner {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  #backtopbtn .js-pagetop {
    -webkit-transition: .2s;
    transition: .2s;
    z-index: 100000;
    -webkit-transition: opacity .2s;
    transition: opacity .2s;
    position: absolute;
    display: block;
    width: 58px;
    height: 58px;
    padding-top: 56px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow: hidden;
    margin: auto;
    background: #fff;
    color: #28ADE8;
    border: 1px solid #000;
    border-radius: 70px;
    -webkit-box-shadow: 0px 16px 32px rgba(0, 0, 0, 0.26);
    box-shadow: 0px 16px 32px rgba(0, 0, 0, 0.26);
    aspect-ratio: 1/1; }
    @media only screen and (max-width: 768px) {
      #backtopbtn .js-pagetop {
        width: 30px;
        height: 30px;
        padding-top: 28px; } }
    #backtopbtn .js-pagetop::after {
      display: block;
      content: "";
      width: .6rem;
      height: .6rem;
      background: url(../images/common/ison_link_r_k.svg) center center no-repeat;
      background-size: contain;
      -webkit-transform: rotate(-90deg);
      transform: rotate(-90deg);
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto; }
  #backtopbtn.js-absolute .js-pagetop {
    position: absolute;
    right: 2rem;
    margin-top: -50px; }
    @media only screen and (max-width: 768px) {
      #backtopbtn.js-absolute .js-pagetop {
        right: 10px;
        margin-top: 0; } }
  #backtopbtn.js-fixed .js-pagetop {
    position: fixed;
    bottom: 50px;
    right: 2rem;
    margin: auto; }
    @media only screen and (max-width: 768px) {
      #backtopbtn.js-fixed .js-pagetop {
        right: 10px;
        bottom: 10px; } }

.slag_foot_breadcrumb {
  padding: 2rem 0; }

.slag_foot_breadcrumb_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  list-style: none;
  text-indent: 0;
  padding: 0;
  line-height: 1.5;
  font-size: .875rem;
  font-weight: 500; }
  .slag_foot_breadcrumb_list .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-right: 22px;
    position: relative; }
    .slag_foot_breadcrumb_list .item::after {
      content: ">";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      width: 22px;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      left: auto;
      margin: auto; }
    .slag_foot_breadcrumb_list .item:last-child {
      padding-right: 0; }
      .slag_foot_breadcrumb_list .item:last-child::after {
        content: none; }
    .slag_foot_breadcrumb_list .item a, .slag_foot_breadcrumb_list .item span {
      display: inline-block;
      text-decoration: none;
      color: #000; }

/* pc-header_slag_nav
---------------------------------------------------------------- */
.header_slag_nav {
  width: 100%;
  z-index: 100;
  position: relative;
  z-index: 999; }
  @media only screen and (min-width: 769px) {
    .header_slag_nav {
      top: 0;
      margin: auto;
      padding: 28px 0 0; } }
  @media only screen and (max-width: 768px) {
    .header_slag_nav {
      padding: 5vw 0; } }

.pc-header_slag_nav {
  position: relative;
  z-index: 1;
  overflow: visible;
  font-weight: 400; }
  @media only screen and (max-width: 768px) {
    .pc-header_slag_nav {
      display: none; } }

.pc-slag_nav {
  width: 100%; }
  .pc-slag_nav a {
    text-decoration: none;
    color: #333;
    line-height: 1; }
    .pc-slag_nav a:hover, .pc-slag_nav a.js-active {
      color: #28ADE8; }

.slag_nav_inner {
  width: 1026px;
  max-width: 100%;
  padding: 0 1em;
  margin: auto; }

.slag_nav_list {
  width: 100%;
  height: 64px;
  padding: 0 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  background: #fff;
  border: 1.5px solid #28ADE8;
  border-radius: 100px;
  font-size: 14px;
  position: relative;
  -webkit-box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.1);
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -ms-flex-line-pack: stretch;
  align-content: stretch; }
  .slag_nav_list.js-active {
    border-top-left-radius: 26px;
    border-top-right-radius: 26px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0; }

.slag_nav_item {
  margin: 0 .25rem; }
  .slag_nav_item > a {
    font-weight: 600;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: stretch;
    -ms-flex-pack: stretch;
    justify-content: stretch;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-line-pack: stretch;
    align-content: stretch;
    padding: .5em 0;
    position: relative;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent; }
    .slag_nav_item > a::before {
      content: "";
      display: none;
      width: 6px;
      height: 6px;
      border-radius: 6px;
      background-color: #28ADE8;
      position: absolute;
      bottom: 5px;
      left: 0;
      right: 0;
      top: auto;
      margin: auto; }
    .slag_nav_item > a.active {
      color: #28ADE8; }
    .slag_nav_item > a:hover::before, .slag_nav_item > a.active::before, .slag_nav_item > a.js-active::before {
      display: block; }
    .slag_nav_item > a[href^="#"]::after {
      content: "";
      display: block;
      height: .8em;
      width: .8em;
      margin-left: 0.4em;
      background: url(../images/common/ison_link_r_b.svg) center center no-repeat;
      background-size: contain;
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg); }
    .slag_nav_item > a[href^="#"].js-active::after {
      -webkit-transform: rotate(-90deg);
      transform: rotate(-90deg); }
  .slag_nav_item .catalog {
    padding-right: 1.8em; }

.slag_nav_mega_drop {
  position: absolute;
  width: calc( 100% + 2px );
  border: 1.5px solid #000;
  border-top: 1px solid #d2d2d2;
  border-bottom-left-radius: 26px;
  border-bottom-right-radius: 26px;
  background: #fff;
  -webkit-box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.1);
  margin: auto 0;
  left: -1px;
  overflow: hidden;
  opacity: 0;
  padding: 1rem 2.5rem;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  -webkit-transform-origin: top left;
  transform-origin: top left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }
  .slag_nav_mega_drop.js-active {
    opacity: 1;
    -webkit-transform: scaleY(1);
    transform: scaleY(1); }

.slag_nav_mega_drop_list {
  width: 75%;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0 2rem; }
  .slag_nav_mega_drop_list.sus {
    width: 50%;
    grid-template-columns: 1fr 1fr;
    margin-left: 0; }

.slag_nav_mega_drop_item {
  display: block;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: .5em 0; }
  .slag_nav_mega_drop_item::before {
    content: "-";
    display: block;
    margin-right: .5em; }
  .slag_nav_mega_drop_item a {
    display: block;
    width: 100%;
    position: relative;
    padding: .2em 1em .2em 0;
    line-height: 1.4; }
    .slag_nav_mega_drop_item a::after {
      content: "";
      display: block;
      width: 8px;
      height: 8px;
      border-top: 2px solid #28ADE8;
      border-right: 2px solid #28ADE8;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      left: auto;
      margin: auto;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }
    .slag_nav_mega_drop_item a::before {
      content: "";
      display: block;
      width: 14px;
      height: 2px;
      background: #28ADE8;
      position: absolute;
      right: 0;
      top: 0;
      bottom: 0;
      left: auto;
      margin: auto; }
  .slag_nav_mega_drop_item.top {
    width: 20%;
    font-weight: 700;
    height: auto;
    -ms-flex-item-align: self-start;
    align-self: self-start; }
    .slag_nav_mega_drop_item.top::before {
      content: none; }
    .slag_nav_mega_drop_item.top a {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      width: auto;
      padding-right: 1.5em; }
    .sus .slag_nav_mega_drop_item.top {
      width: 30%; }

/* sp-header_slag_nav
---------------------------------------------------------------- */
.sp-header_slag_nav {
  width: 100%;
  position: relative;
  line-height: 1.2; }
  @media only screen and (min-width: 769px) {
    .sp-header_slag_nav {
      display: none; } }

.sp-slag_nav {
  position: relative;
  width: 80vw;
  margin: auto; }
  .sp-slag_nav a {
    text-decoration: none;
    color: #333;
    display: block;
    padding: .4em 1em; }
  .sp-slag_nav .sp-slag_nav_title {
    font-weight: 600;
    font-size: .875rem;
    padding: 1em 2em 1em 1em;
    position: relative;
    background: #fff;
    border: 2px solid #28ADE8;
    border-radius: 1.5em;
    line-height: 1;
    font-weight: bold; }
    .sp-slag_nav .sp-slag_nav_title.js-active {
      border-bottom-left-radius: 0;
      border-bottom-right-radius: 0;
      border-bottom: none; }
    .sp-slag_nav .sp-slag_nav_title::after {
      content: "";
      display: block;
      position: absolute;
      width: 1em;
      height: 1em;
      background: url(../images/common/ison_link_r_b.svg) center center no-repeat;
      background-size: contain;
      right: 1em;
      top: 0;
      bottom: 0;
      left: auto;
      margin: auto;
      -webkit-transform: rotate(90deg);
      transform: rotate(90deg); }
    .sp-slag_nav .sp-slag_nav_title.js-active::after {
      -webkit-transform: rotate(-90deg);
      transform: rotate(-90deg); }

.sp-slag_nav_list {
  position: absolute;
  background: #fff;
  width: 100%;
  -webkit-transform: scaleY(0);
  transform: scaleY(0);
  height: 0;
  border-bottom-left-radius: 1.5em;
  border-bottom-right-radius: 1.5em;
  border: 2px solid #000;
  border-top: none;
  padding-bottom: 0.5em; }
  .js-active + .sp-slag_nav_list {
    -webkit-transform: scaleY(1);
    transform: scaleY(1);
    height: auto; }
  .sp-slag_nav_list li {
    padding: 0 0 0 1em; }
  .sp-slag_nav_list a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
    align-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-weight: 600; }
    .sp-slag_nav_list a::after {
      content: "";
      width: .7em;
      height: .7em;
      background: url(../images/common/ison_link_r_b.svg) center center no-repeat;
      background-size: contain; }

/* contents-container
---------------------------------------------------------------- */
#contents-container {
  display: block;
  position: relative;
  /* ↑後で削除 */ }

#top_contents {
  position: relative; }

.common-inner {
  width: calc( 993px + 2em );
  max-width: 100%;
  margin: auto;
  padding: 0 1em; }

.sus-common-inner {
  width: 987px;
  padding: 0 1em;
  max-width: 100%;
  margin: auto; }

.link_right_icon {
  display: inline-block;
  border-radius: 100px;
  position: absolute;
  height: 30px;
  width: auto;
  aspect-ratio: 1/1;
  right: 0;
  left: auto;
  top: auto;
  bottom: 0;
  margin: auto;
  background: url(../images/common/ison_link_r_w.svg) no-repeat;
  background-size: auto 40%;
  background-color: #28ADE8;
  background-position: 56.5% center; }

.link_left_icon {
  display: inline-block;
  border-radius: 100px;
  position: absolute;
  height: 2rem;
  width: auto;
  aspect-ratio: 1/1;
  right: auto;
  left: 0;
  top: auto;
  bottom: 0;
  margin: auto;
  background: url(../images/common/ison_link_r_w.svg) no-repeat;
  background-size: auto 45%;
  background-color: #28ADE8;
  background-position: 56.5% center;
  -webkit-transform: scale(-1, 1);
  transform: scale(-1, 1); }

.slag_link_target {
  display: inline-block;
  text-decoration: none;
  color: #333;
  padding-right: 2em;
  position: relative;
  font-weight: bold; }
  @media only screen and (max-width: 768px) {
    .slag_link_target {
      font-size: .875rem; } }
  .slag_link_target::after {
    position: absolute;
    left: 0;
    bottom: 0;
    margin: auto;
    content: "";
    display: block;
    height: 1px;
    width: calc( 100% - 2em );
    background-color: #333;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: .2s;
    transition: .2s;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom; }
  .slag_link_target:hover::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); }

.link_target_icon {
  display: inline-block;
  border-radius: 100px;
  position: absolute;
  height: 1.5em;
  width: auto;
  aspect-ratio: 1/1;
  right: 0;
  left: auto;
  top: 0;
  bottom: 0;
  margin: auto;
  background: url(../images/common/icon_target_w.svg) no-repeat;
  background-size: auto 45%;
  background-color: #1CC18D;
  background-position: 56.5% center; }
  .link_target_icon.sus {
    background-color: #1CC18D; }
  .link_target_icon.blue {
    background-color: #28ADE8; }
  .link_target_icon.nav {
    background-image: url(../images/common/icon_target_bl.svg);
    background-color: transparent;
    background-size: auto 60%;
    background-position: center left;
    border-radius: 0; }

/* section
---------------------------------------------------------------- */
section {
  position: relative;
  padding: 100px 0; }
  @media only screen and (max-width: 768px) {
    section {
      padding: 15vw 0; } }

.slag_top_mv {
  padding: 0; }

.slag_page_mv {
  padding: 0;
  overflow: visible; }

.slag_sus_mv {
  padding: 0; }

.section-top-black,
.section-top-gray,
.section-top-lightgray,
.section-top-white {
  position: relative; }
  .section-top-black::before,
  .section-top-gray::before,
  .section-top-lightgray::before,
  .section-top-white::before {
    content: "";
    display: block;
    position: absolute;
    top: -6vw;
    height: 6vw;
    width: 100%;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    pointer-events: none;
    z-index: 1; }

.section-top-black {
  background: #000;
  color: #fff; }

.section-top-gray {
  background: #E3E3E3; }

.section-top-lightgray {
  background: #F7F7F7; }

.section-top-white {
  background: #fff; }

.section-top-black::before {
  background-image: url(../images/common/section_bg_k.svg); }

.section-top-white::before {
  background-image: url(../images/common/section_bg_w.svg); }

.section-top-gray::before {
  background-image: url(../images/common/section_bg_g.svg); }

.section-top-lightgray::before {
  background-image: url(../images/common/section_bg_lg.svg); }

.slag_sc_gray {
  background: #f7f7f7;
  border-radius: 60px; }
  @media only screen and (max-width: 768px) {
    .slag_sc_gray {
      border-radius: 10vw; } }

.slag_sc_gray + .slag_sc_gray {
  margin-top: 50px; }

.slag_section_head .slag_section_title {
  margin-bottom: 2em;
  line-height: 1; }
  .slag_section_head .slag_section_title .main {
    display: block;
    font-family: "Oswald", sans-serif;
    color: #28ADE8;
    font-weight: 400;
    font-size: 2rem; }
    @media only screen and (max-width: 768px) {
      .slag_section_head .slag_section_title .main {
        font-size: 28px; } }
  .slag_section_head .slag_section_title .sub {
    display: block;
    font-size: 2.5rem;
    font-weight: bold;
    margin-top: 2rem; }
    @media only screen and (max-width: 768px) {
      .slag_section_head .slag_section_title .sub {
        font-size: 2rem; } }
.slag_section_head .slag_section_lead {
  line-height: 1.875;
  font-weight: 400; }
  @media only screen and (max-width: 768px) {
    .slag_section_head .slag_section_lead {
      font-size: 16px;
      margin-bottom: 4vw; } }

.ttl_sustainable {
  display: inline-block;
  font-weight: bold;
  line-height: 1;
  color: #54DEB3;
  text-shadow: 0px 0px 1.5px #000, 0px 0px 1.5px #000, 0px 0px 1.5px #000, 0px 0px 1.5px #000, 0px 0px 1.5px #000, 0px 0px 1.5px #000, 1px 1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000; }
  @media only screen and (max-width: 768px) {
    .ttl_sustainable {
      font-size: 9vw; } }
  .ttl_sustainable .small {
    font-size: .76em;
    color: #fff; }

/* slag_top_mv
---------------------------------------------------------------- */
.slag_top_mv {
  width: 100%;
  min-height: 760px;
  position: relative;
  background-image: url(../images/home/slag_top_head_bg.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto; }
  @media only screen and (max-width: 768px) {
    .slag_top_mv {
      min-height: 0;
      min-width: 0;
      background-size: auto 100vw;
      background-position: top center;
      background-image: url(../images/home/slag_top_head_bg_sp.png); } }
  .slag_top_mv::before {
    position: absolute;
    display: block;
    content: "";
    right: calc( ( 100% - 993px ) / 2 + 993px );
    left: auto;
    top: 62px;
    margin: auto;
    width: 148px;
    height: 98px;
    background: url(../images/home/slag_top_head_bg2.png) center center no-repeat;
    background-size: contain; }
    @media only screen and (max-width: 768px) {
      .slag_top_mv::before {
        content: none; } }
  .slag_top_mv .common-inner {
    position: relative; }
  .slag_top_mv_title_wrap {
    max-width: 100%;
    width: 1026px;
    position: relative;
    margin: 5rem auto 2rem; }
    @media only screen and (max-width: 768px) {
      .slag_top_mv_title_wrap {
        position: relative;
        margin: 75vw auto auto;
        padding: 0 0;
        text-align: center; } }
  .slag_top_mv .slag_top_mv_title {
    display: inline-block;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt"; }
    @media only screen and (max-width: 768px) {
      .slag_top_mv .slag_top_mv_title {
        text-align: center; } }
    .slag_top_mv .slag_top_mv_title_main {
      display: block;
      font-weight: bold;
      line-height: 1;
      color: #000;
      letter-spacing: .1em;
      margin-bottom: 2rem;
      font-size: 45px;
      width: 533px; }
      .slag_top_mv .slag_top_mv_title_main img {
        width: 100%; }
      @media only screen and (max-width: 768px) {
        .slag_top_mv .slag_top_mv_title_main {
          font-size: 7vw;
          margin-bottom: 1rem;
          width: 100%; } }
      .slag_top_mv .slag_top_mv_title_main b {
        font-size: 64px;
        font-weight: bold;
        display: inline-block;
        position: relative; }
        @media only screen and (max-width: 768px) {
          .slag_top_mv .slag_top_mv_title_main b {
            font-size: 11.5vw; } }
    .slag_top_mv .slag_top_mv_title_sub {
      display: block;
      font-size: 1.125rem;
      line-height: 1.4;
      font-weight: bold;
      vertical-align: baseline; }
      .slag_top_mv .slag_top_mv_title_sub .jf-logo {
        height: auto;
        width: 143px; }
      @media only screen and (max-width: 768px) {
        .slag_top_mv .slag_top_mv_title_sub {
          font-size: 3.5vw;
          margin-top: .8em;
          text-align: center; }
          .slag_top_mv .slag_top_mv_title_sub .jf-logo {
            height: 4vw;
            width: auto;
            margin-left: .1em; } }

.toc_mv_bg,
.top_top_bg,
.top_mv_bg {
  position: absolute;
  top: 60px;
  width: 58%;
  height: auto;
  right: -10%;
  margin: auto; }
  @media only screen and (max-width: 768px) {
    .toc_mv_bg,
    .top_top_bg,
    .top_mv_bg {
      top: 13.6vw;
      left: 0;
      right: 0;
      margin: auto;
      width: 90vw; } }

@media only screen and (max-width: 768px) {
  .top_top_bg {
    z-index: -5; } }

.top_mv_bg {
  aspect-ratio: 1/1;
  border-radius: 100%; }
  .top_mv_bg .top_mv_bg_clip {
    width: 100%;
    height: 100%;
    aspect-ratio: 1/1;
    border-radius: 100%;
    overflow: hidden;
    background-image: url(../images/home/top_bg_001.png);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: 100% auto; }
  .top_mv_bg img {
    vertical-align: middle; }
  .top_mv_bg .slagood {
    position: absolute;
    left: 6%;
    bottom: 0%;
    width: 16%; }
    @media only screen and (max-width: 768px) {
      .top_mv_bg .slagood {
        left: auto;
        right: -8px;
        bottom: 13%; } }

@media only screen and (max-width: 768px) {
  .toc_mv_bg {
    position: static; } }

.slag_top_mv_lead {
  width: auto;
  font-weight: 600;
  line-height: 2.2;
  font-size: 0.875rem; }
  @media only screen and (max-width: 768px) {
    .slag_top_mv_lead {
      font-size: 4vw;
      padding: 0;
      text-align: center; } }
  .slag_top_mv_lead_wrap {
    position: relative;
    max-width: 100%;
    width: auto;
    margin: 2rem auto; }
    @media only screen and (max-width: 768px) {
      .slag_top_mv_lead_wrap {
        margin-top: 1.5rem; } }
  @media only screen and (max-width: 768px) {
    .slag_top_mv_lead p {
      display: inline-block;
      text-align: left; } }

.slag_top_mv_btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  background: #fff;
  color: #1CC18D;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.125rem;
  line-height: 1;
  height: 80px;
  padding: 1em 4em 1em 2em;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
  border-radius: 100px;
  position: relative;
  -ms-flex-pack: distribute;
  -webkit-box-pack: center;
  justify-content: center; }
  .slag_top_mv_btn::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    margin: auto;
    border: 1px solid #333;
    border-radius: 100px; }
  .slag_top_mv_btn:hover::before {
    border: 3px solid #1CC18D; }
  .slag_top_mv_btn_wrap {
    display: block; }
    @media only screen and (max-width: 768px) {
      .slag_top_mv_btn_wrap {
        text-align: center; } }
  .slag_top_mv_btn span {
    display: block; }
  .slag_top_mv_btn .link_right_icon {
    background-color: #1CC18D;
    bottom: 0;
    top: 0;
    right: 1rem; }
    @media only screen and (max-width: 768px) {
      .slag_top_mv_btn .link_right_icon {
        height: 1.5em; } }
  .slag_top_mv_btn:hover {
    background: #fff; }
  @media only screen and (max-width: 768px) {
    .slag_top_mv_btn {
      margin: auto;
      font-size: 4vw;
      height: 13.3vw; } }

.slag_top_mv_block {
  display: block;
  margin: 1em auto; }
  .slag_top_mv_block_box {
    position: relative;
    display: inline-block;
    width: 15em;
    background: #fff;
    padding: 1em;
    border: 1px solid #000;
    border-radius: 1.25rem;
    -webkit-box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.16);
    box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.16);
    text-decoration: none;
    color: #333;
    font-weight: 600; }
    .slag_top_mv_block_box:hover {
      border-color: #28ADE8;
      text-decoration: underline; }
    @media only screen and (max-width: 768px) {
      .slag_top_mv_block_box {
        width: 100%; } }
  .slag_top_mv_block .txt1 {
    display: block;
    font-size: 1.25rem;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 0.5em; }
  .slag_top_mv_block .txt2 {
    display: block;
    text-align: center;
    font-size: 1rem; }
  .slag_top_mv_block.block1, .slag_top_mv_block.block2, .slag_top_mv_block.block3 {
    position: absolute;
    margin: auto;
    right: auto;
    bottom: auto; }
    @media only screen and (max-width: 768px) {
      .slag_top_mv_block.block1, .slag_top_mv_block.block2, .slag_top_mv_block.block3 {
        position: static;
        width: 100%;
        margin: 5vw auto; } }
  .slag_top_mv_block.block1 {
    top: 50vw;
    left: 57vw; }
  .slag_top_mv_block.block2 {
    top: 85vw;
    left: 21vw; }
  .slag_top_mv_block.block3 {
    top: 92vw;
    right: 10vw; }
  .slag_top_mv_block .link_right_icon {
    height: 1.625rem;
    bottom: 1em;
    right: 1em; }

.slag_btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  background: #28ADE8;
  color: #fff;
  border: 2px solid #28ADE8;
  text-decoration: none;
  line-height: 1;
  padding: .8em 2.5em .8em 2em;
  height: 4em;
  width: 20em;
  font-weight: bold;
  border-radius: 100px;
  position: relative;
  text-align: center;
  -webkit-box-shadow: 0px 20px 40px rgba(117, 136, 136, 0.4);
  box-shadow: 0px 20px 40px rgba(117, 136, 136, 0.4); }
  .slag_btn_wrap {
    display: block;
    text-align: center;
    margin: 1em auto; }
  .slag_btn .link_right_icon {
    top: 0;
    right: 1rem;
    background-color: transparent; }
  .slag_btn:hover {
    background: #fff;
    color: #28ADE8;
    border-color: #28ADE8; }
    .slag_btn:hover .link_right_icon {
      background-image: url(../images/common/ison_link_r_b.svg); }

.slag_contact_btn_wrap {
  margin-top: 2em; }
  .slag_contact_btn_wrap .slag_btn_mail {
    height: 60px; }
    .slag_contact_btn_wrap .slag_btn_mail::after {
      content: none; }
    .slag_contact_btn_wrap .slag_btn_mail .icon {
      display: block;
      position: absolute;
      fill: #fff;
      width: 16px;
      height: 16px;
      right: 1em;
      left: auto;
      top: 0;
      bottom: 0;
      margin: auto; }
      .slag_contact_btn_wrap .slag_btn_mail .icon svg {
        width: 100%;
        height: auto;
        margin: auto; }
    .slag_contact_btn_wrap .slag_btn_mail:hover .icon {
      fill: #00336E; }

@media only screen and (max-width: 768px) {
  .slag_top_sustainable {
    padding-bottom: 36vw; } }
.slag_top_sustainable .common-inner {
  position: relative; }
.slag_top_sustainable .sus-common-inner {
  position: relative; }
.slag_top_sustainable .title {
  position: relative;
  text-align: center;
  font-size: 3.25rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 1em; }
  @media only screen and (max-width: 768px) {
    .slag_top_sustainable .title {
      font-size: 8.7vw;
      margin-top: 49vw; } }
  .slag_top_sustainable .title .ttl_sub {
    display: block;
    font-family: "Oswald", sans-serif;
    font-size: 2rem;
    font-weight: 500;
    color: #54DEB3; }
    @media only screen and (max-width: 768px) {
      .slag_top_sustainable .title .ttl_sub {
        font-size: 1.125rem; } }
  .slag_top_sustainable .title .ttl_sustainable {
    font-size: 4.24rem; }
    @media only screen and (max-width: 768px) {
      .slag_top_sustainable .title .ttl_sustainable {
        font-size: 9vw; } }

.slag_sustainable_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px 18px; }
  @media only screen and (max-width: 768px) {
    .slag_sustainable_list {
      display: block; } }
  .slag_sustainable_list .item {
    -webkit-box-shadow: 0px 40px 60px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 40px 60px rgba(0, 0, 0, 0.1);
    border-radius: 20px; }
    @media only screen and (max-width: 768px) {
      .slag_sustainable_list .item {
        margin: 5vw 0; } }
    .slag_sustainable_list .item a {
      background: #fff;
      height: 100%;
      position: relative;
      z-index: 1;
      overflow: hidden;
      border-radius: 20px;
      padding: 2em 2em 4em 2em;
      display: block;
      text-decoration: none;
      color: #333;
      position: relative; }
      @media only screen and (max-width: 768px) {
        .slag_sustainable_list .item a {
          border-radius: 14px; } }
      .slag_sustainable_list .item a::before {
        content: "";
        display: block;
        border-radius: 20px;
        border: 1px solid #333;
        width: 100%;
        height: 100%;
        position: absolute;
        left: 0;
        top: 0;
        -webkit-transition: .1s;
        transition: .1s; }
        @media only screen and (max-width: 768px) {
          .slag_sustainable_list .item a::before {
            border-radius: 14px; } }
      .slag_sustainable_list .item a.active::before, .slag_sustainable_list .item a:hover::before {
        border-color: #1CC18D;
        border-width: 4px; }
      .slag_sustainable_list .item a .link_right_icon {
        bottom: 20px;
        right: 2em;
        background-color: #1CC18D;
        height: 1.876rem; }
      .slag_sustainable_list .item a.h01, .slag_sustainable_list .item a.h02, .slag_sustainable_list .item a.h03, .slag_sustainable_list .item a.h04 {
        background-position: left bottom;
        background-repeat: no-repeat;
        background-size: 60% auto; }
      .slag_sustainable_list .item a.h01 {
        background-image: url(../images/concept/btn_h01_bg.png);
        background-size: 61% auto; }
      .slag_sustainable_list .item a.h02 {
        background-image: url(../images/concept/btn_h02_bg.png);
        background-size: 67% auto; }
      .slag_sustainable_list .item a.h03 {
        background-image: url(../images/concept/btn_h03_bg.png);
        background-size: 60% auto; }
      .slag_sustainable_list .item a.h04 {
        background-image: url(../images/concept/btn_h04_bg.png);
        background-size: 64% auto; }
    .slag_sustainable_list .item .ttl1 {
      font-weight: 600;
      font-size: 2.125rem;
      font-weight: bold;
      line-height: 1.2;
      position: relative;
      text-align: right;
      margin-bottom: 1rem; }
      @media only screen and (max-width: 768px) {
        .slag_sustainable_list .item .ttl1 {
          font-size: 5vw; } }
      @media only screen and (max-width: 768px) {
        .slag_sustainable_list .item .ttl1 .ttl_sustainable {
          font-size: 7.1vw; } }
    .slag_sustainable_list .item .ttl2 {
      font-weight: normal;
      color: #1CC18D;
      font-family: "Oswald", sans-serif; }
      @media only screen and (max-width: 768px) {
        .slag_sustainable_list .item .ttl2 {
          font-size: 4vw; } }
    .slag_sustainable_list .item .ttl3 {
      font-weight: bold; }
      @media only screen and (max-width: 768px) {
        .slag_sustainable_list .item .ttl3 {
          font-size: 3.4vw;
          margin-top: .2em; } }

.slag_top_products {
  background: #EFF6F7;
  border-radius: 60px;
  overflow: visible; }
  @media only screen and (max-width: 768px) {
    .slag_top_products {
      padding-top: 18vw;
      border-radius: 40px; } }
  .slag_top_products .slag_btn_wrap {
    margin-top: 4em;
    border-radius: 10vw; }
    @media only screen and (max-width: 768px) {
      .slag_top_products .slag_btn_wrap {
        margin-top: 2em; } }
  .slag_top_products .common-inner {
    position: relative; }

.slag_top_usecase {
  padding-top: 10vw; }
  @media only screen and (max-width: 768px) {
    .slag_top_usecase {
      padding-top: 26vw;
      padding-bottom: 16vw; } }
  .slag_top_usecase .slag_btn_wrap {
    margin-top: 3em; }

.slag_usecase_swiper_link .imgwrap {
  position: relative; }
  .slag_usecase_swiper_link .imgwrap .link_right_icon {
    right: 1.5rem;
    bottom: 1.5rem; }
    @media only screen and (max-width: 768px) {
      .slag_usecase_swiper_link .imgwrap .link_right_icon {
        width: 30px;
        right: 14px;
        bottom: 14px; } }

.slag_top_news {
  padding-top: 2vw; }
  @media only screen and (max-width: 768px) {
    .slag_top_news {
      padding-bottom: 20vw; } }
  .slag_top_news .slag_btn_wrap {
    margin-top: 5em;
    text-align: right; }
    @media only screen and (max-width: 768px) {
      .slag_top_news .slag_btn_wrap {
        margin-top: 3em; } }
    .slag_top_news .slag_btn_wrap .slag_btn {
      text-align: center;
      margin-left: auto;
      margin-right: 0;
      margin-top: 3vw; }

.slag_foot_download_contact {
  background: #D8F0FB url(../images/common/slag_footer_bg.png) center bottom no-repeat;
  background-size: contain;
  color: #fff;
  border-top-left-radius: 60px;
  border-top-right-radius: 60px;
  position: relative;
  padding-bottom: 180px; }
  @media only screen and (max-width: 768px) {
    .slag_foot_download_contact {
      border-top-left-radius: 10vw;
      border-top-right-radius: 10vw;
      padding: 12vw 0 70vw;
      background-image: url(../images/common/slag_footer_bg_sp.png); } }
  .slag_foot_download_contact_ttl {
    text-align: center;
    font-weight: bold;
    font-size: 1.375rem;
    color: #0074BA; }
    @media only screen and (max-width: 768px) {
      .slag_foot_download_contact_ttl {
        font-size: 1.125rem; } }

.download_contact_btn_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin: 70px auto auto;
  width: 920px;
  max-width: 100%; }
  @media only screen and (max-width: 768px) {
    .download_contact_btn_wrap {
      width: 100%;
      max-width: 600px;
      display: grid;
      grid-template-columns: 1fr;
      gap: 24px 0;
      margin-top: 2rem; } }
  .download_contact_btn_wrap .btn {
    text-align: center;
    border-radius: 20px;
    -webkit-transition: .2s;
    transition: .2s;
    display: block;
    background: #fff;
    color: #000;
    padding: 2rem 2rem 3rem;
    text-decoration: none;
    -webkit-box-shadow: 0px 40px 40px rgba(0, 0, 0, 0.06);
    box-shadow: 0px 40px 40px rgba(0, 0, 0, 0.06);
    position: relative; }
    @media only screen and (max-width: 768px) {
      .download_contact_btn_wrap .btn {
        border-radius: 14px;
        padding: 1.5rem 1rem 2rem; } }
    .download_contact_btn_wrap .btn::before {
      content: "";
      display: block;
      border-radius: 20px;
      position: absolute;
      margin: auto;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      border: 1px solid #333; }
      @media only screen and (max-width: 768px) {
        .download_contact_btn_wrap .btn::before {
          border-radius: 14px; } }
    .download_contact_btn_wrap .btn:hover {
      margin-top: -3px;
      margin-bottom: 3px;
      -webkit-box-shadow: 0px 30px 30px rgba(0, 0, 0, 0.2);
      box-shadow: 0px 30px 30px rgba(0, 0, 0, 0.2); }
      .download_contact_btn_wrap .btn:hover::before {
        border: 4px solid #28ADE8; }
    .download_contact_btn_wrap .btn .icon {
      display: block; }
      .download_contact_btn_wrap .btn .icon img {
        width: 44px;
        height: 44px; }
        @media only screen and (max-width: 768px) {
          .download_contact_btn_wrap .btn .icon img {
            width: 34px;
            height: 34px; } }
    .download_contact_btn_wrap .btn dt {
      font-weight: bold;
      font-size: 1.5rem;
      color: #28ADE8; }
      @media only screen and (max-width: 768px) {
        .download_contact_btn_wrap .btn dt {
          font-size: 1.125rem;
          margin-top: 0.2rem; } }
    .download_contact_btn_wrap .btn dd {
      margin-top: 0.4em; }
      @media only screen and (max-width: 768px) {
        .download_contact_btn_wrap .btn dd {
          font-size: 0.75rem;
          margin-top: 0.5rem; } }
  .download_contact_btn_wrap .link_right_icon {
    right: 1rem;
    bottom: 1rem; }
    @media only screen and (max-width: 768px) {
      .download_contact_btn_wrap .link_right_icon {
        height: 1.5rem; } }

/* slider */
[class*=swiper]:focus {
  outline: none; }

.slide-media,
.thumb-media {
  position: relative;
  overflow: hidden; }

.slide-media img,
.thumb-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover; }

/* 前へ / 次へボタン */
.swiper-button-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-bottom: 30px; }

.swiper-button-prev,
.swiper-button-next {
  display: block;
  background: #fff;
  width: 3.625rem;
  height: 3.625rem;
  border: 1.5px solid #000;
  border-radius: 100px;
  position: relative;
  z-index: 1;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  -webkit-box-shadow: 0px 16px 30px rgba(0, 0, 0, 0.26);
  box-shadow: 0px 16px 30px rgba(0, 0, 0, 0.26); }
  @media only screen and (max-width: 768px) {
    .swiper-button-prev,
    .swiper-button-next {
      width: 2.875rem;
      height: 2.875rem; } }
  .swiper-button-prev::before, .swiper-button-prev::after,
  .swiper-button-next::before,
  .swiper-button-next::after {
    content: "";
    position: absolute; }

.swiper-button-prev {
  margin-right: .75rem; }

@media only screen and (min-width: 769px) {
  .swiper-button-prev:hover,
  .swiper-button-next:hover {
    opacity: .7; } }
.swiper-button-prev::after,
.swiper-button-next::after {
  content: "";
  background-image: url(../images/common/ison_link_r_k.svg);
  background-position: 55% center;
  background-size: auto 18%;
  background-repeat: no-repeat;
  display: inline-block;
  width: auto;
  height: 100%;
  border-radius: 100px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto; }

.swiper-button-prev::after {
  -webkit-transform: rotate(-180deg);
  transform: rotate(-180deg); }

.swiper-button-disabled {
  pointer-events: none;
  opacity: 0; }

.card03 {
  /* コンテナ */
  overflow: hidden;
  /* 前へ / 次へボタン */
  /* スライド */
  /* スライド アクティブ時 */
  width: 100%; }

.swiper {
  overflow: visible;
  max-width: 100%; }

.slide {
  overflow: hidden; }

.slide-media {
  display: block; }

.slide-content .slide-txt {
  line-height: 1.4;
  font-size: 14px;
  min-height: 5em; }

.swiper-slide {
  height: auto; }

.slag_products_swiper_wrap {
  overflow: visible;
  width: 100%; }

.slide-media img {
  position: relative;
  opacity: 1; }

.slag_usecase_swiper_wrap {
  width: 100%; }
  .slag_usecase_swiper_wrap a {
    text-decoration: none;
    color: #333;
    text-align: center; }
    .slag_usecase_swiper_wrap a:hover p {
      text-decoration: underline; }
  .slag_usecase_swiper_wrap a img {
    border-radius: 20px; }
    @media only screen and (max-width: 768px) {
      .slag_usecase_swiper_wrap a img {
        border-radius: 10px; } }
  .slag_usecase_swiper_wrap .ttl {
    margin-bottom: 1rem; }
  .slag_usecase_swiper_wrap .txt1 {
    font-size: 1rem;
    font-weight: 500;
    margin-right: 1em; }
    @media only screen and (max-width: 768px) {
      .slag_usecase_swiper_wrap .txt1 {
        font-size: 0.75rem; } }
  .slag_usecase_swiper_wrap .txt2 {
    color: #28ADE8;
    font-size: 1.625rem;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .slag_usecase_swiper_wrap .txt2 {
        font-size: 1rem; } }

.slag_news_item a {
  display: inline-block;
  text-decoration: none;
  color: #333; }
  .slag_news_item a:hover picture::after {
    content: "";
    border-radius: 20px;
    display: block;
    border: 3px solid #28ADE8;
    position: absolute;
    left: 0;
    top: 0;
    margin: auto;
    width: 100%;
    height: 100%; }
.slag_news_item picture {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 300/230;
  display: block;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 1rem; }
  .slag_news_item picture img {
    width: 100%;
    aspect-ratio: 300/230;
    -o-object-fit: cover;
    object-fit: cover; }
.slag_news_item time {
  display: block;
  color: #666; }
.slag_news_item .ttl {
  font-weight: 600; }
.slag_news_item .more {
  font-size: 14px;
  position: relative;
  text-align: right;
  padding-right: 18px;
  margin-top: .5em; }
  .slag_news_item .more span {
    display: inline-block; }
  .slag_news_item .more::after {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #28ADE8;
    border-right: 2px solid #28ADE8;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    left: auto;
    margin: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg); }
  .slag_news_item .more::before {
    content: "";
    display: block;
    width: 14px;
    height: 2px;
    background: #28ADE8;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    left: auto;
    margin: auto; }

/* slag_toc ( Table of contents ) 目次頁共通
---------------------------------------------------------------- */
.slag_toc_mv {
  width: 100%;
  position: relative;
  min-height: 760px; }
  @media only screen and (max-width: 768px) {
    .slag_toc_mv {
      min-height: 0;
      min-width: 0;
      background-size: auto 100vw;
      background-position: top center; } }
  .slag_toc_mv .common-inner {
    position: relative; }

.slag_toc_mv_title {
  margin-bottom: 1em;
  display: inline-block;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt"; }
  @media only screen and (max-width: 768px) {
    .slag_toc_mv_title {
      text-align: left; } }

.slag_toc_mv_title_wrap {
  max-width: 100%;
  width: 1026px;
  position: relative;
  margin: 5rem auto 2rem;
  padding: 0 1em; }
  @media only screen and (max-width: 768px) {
    .slag_toc_mv_title_wrap {
      position: relative;
      margin: auto auto;
      padding: 0 0;
      text-align: left; } }
  .slag_toc_mv_title_wrap .slag_section_lead {
    margin-top: 2em; }
  .slag_toc_mv_title_wrap.g00 {
    min-height: 400px; }
    @media only screen and (max-width: 768px) {
      .slag_toc_mv_title_wrap.g00 {
        min-height: 0; } }

.slag_toc_mv_title_inner {
  display: inline-block; }
  @media only screen and (max-width: 768px) {
    .slag_toc_mv_title_inner {
      background: transparent;
      padding: 0; } }

.slag_toc_mv_title_main {
  display: block;
  color: #28ADE8;
  font-family: "Oswald", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .1em;
  margin-bottom: 0.5em;
  width: 533px; }
  .slag_toc_mv_title_main img {
    width: 100%; }
  @media only screen and (max-width: 768px) {
    .slag_toc_mv_title_main {
      font-size: 5vw;
      text-align: left;
      margin-bottom: 1rem;
      width: 100%; } }
  .slag_toc_mv_title_main b {
    font-size: 64px;
    font-weight: bold;
    display: inline-block;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .slag_toc_mv_title_main b {
        font-size: 11.5vw; } }

.slag_toc_mv_title_sub {
  display: block;
  font-size: 2.75rem;
  line-height: 1;
  font-weight: bold;
  vertical-align: baseline; }
  .slag_toc_mv_title_sub .jf-logo {
    height: auto;
    width: 143px; }
  @media only screen and (max-width: 768px) {
    .slag_toc_mv_title_sub {
      font-size: 8.7vw;
      margin-top: .8em;
      text-align: left; }
      .slag_toc_mv_title_sub .jf-logo {
        height: 4vw;
        width: auto;
        margin-left: .1em; } }

.slag_c00_mv {
  min-height: 0; }

/* slag_top_imgs
---------------------------------------------------------------- */
.slag_top_imgs {
  position: absolute;
  margin: auto;
  right: auto;
  left: auto;
  top: auto;
  bottom: auto; }

.slag_top_img-01 {
  width: 394px;
  left: -37px;
  top: -100px;
  z-index: -5; }
  @media only screen and (max-width: 768px) {
    .slag_top_img-01 {
      width: 70vw;
      left: -11vw;
      top: 0; } }

.slag_top_img-02 {
  width: 390px;
  right: -105px; }
  @media only screen and (max-width: 768px) {
    .slag_top_img-02 {
      width: 48vw;
      right: -22vw;
      top: 70vw; } }

.slag_top_img-03 {
  width: 449px;
  right: -65px;
  top: -199px; }
  @media only screen and (max-width: 768px) {
    .slag_top_img-03 {
      width: 65vw;
      right: -15vw;
      top: -45vw; } }

.slag_top_img-04 {
  width: 462px;
  left: -75px;
  bottom: -68px; }
  @media only screen and (max-width: 768px) {
    .slag_top_img-04 {
      width: 85vw;
      left: -37vw;
      bottom: -24vw; } }

.slag_top_img-05 {
  width: 340px;
  right: -53px; }
  @media only screen and (max-width: 768px) {
    .slag_top_img-05 {
      width: 70vw;
      right: -26vw;
      bottom: -26vw; } }

.slag_top_img-06 {
  width: 680px;
  left: -185px;
  bottom: -300px; }
  @media only screen and (max-width: 768px) {
    .slag_top_img-06 {
      width: 160vw;
      left: -30vw;
      bottom: -40vw; } }

/* slag_products_list
---------------------------------------------------------------- */
.slag_products_foot_section {
  padding: 100px 0; }
  @media only screen and (max-width: 768px) {
    .slag_products_foot_section {
      padding: 14vw 0; } }

.slag_products_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px;
  max-width: 100%;
  margin: auto; }
  .slag_products_list.swiper-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: auto;
    overflow: visible;
    gap: 0; }
  @media only screen and (max-width: 768px) {
    .slag_products_list {
      grid-template-columns: 1fr 1fr;
      gap: .875rem; } }
  .slag_products_list .item {
    text-decoration: none;
    color: #333;
    -webkit-box-shadow: 0px 10px 20px rgba(24, 134, 154, 0.14);
    box-shadow: 0px 10px 20px rgba(24, 134, 154, 0.14);
    border-radius: 18px;
    overflow: hidden;
    position: relative;
    padding: 0; }
  .slag_products_list .item_link {
    text-decoration: none;
    color: #333;
    border-radius: 18px;
    height: 100%;
    background-color: #fff;
    padding: 10px 10px 3rem 10px;
    margin: 0;
    display: block;
    position: relative; }
    .slag_products_list .item_link::after {
      content: "";
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      margin: auto;
      width: 100%;
      height: 100%;
      border-radius: 18px;
      border: #000 1px solid; }
    .slag_products_list .item_link.active::after, .slag_products_list .item_link:hover::after {
      border: #28ADE8 3px solid; }
  .slag_products_list .link_right_icon {
    height: 1.626rem;
    bottom: 1rem;
    right: 1rem; }
    @media only screen and (max-width: 768px) {
      .slag_products_list .link_right_icon {
        height: 1.375rem;
        right: .875rem;
        bottom: .875rem; } }
  .slag_products_list .item_body {
    text-align: center;
    padding-top: .875rem; }
  .slag_products_list .item_body_ttl {
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 0.4em; }
    @media only screen and (max-width: 768px) {
      .slag_products_list .item_body_ttl {
        font-size: 4vw; } }
    .slag_products_list .item_body_ttl .sub {
      display: block;
      font-size: 0.7em;
      margin-bottom: 0.5em; }
    .slag_products_list .item_body_ttl .main {
      display: block; }
  .slag_products_list .item_body_txt {
    font-size: 12px;
    line-height: 1.4;
    min-height: 4em; }

.slag_products_foot_list_title {
  text-align: center;
  color: #00336E;
  margin-bottom: 2rem; }
  .slag_products_foot_list_title .ttl_en {
    font-family: "Oswald", sans-serif;
    color: #28ADE8;
    display: block;
    font-size: 2rem; }
  .slag_products_foot_list_title .ttl_ja {
    font-weight: bold;
    display: block;
    color: #000;
    font-size: 1.25rem; }

/* slag_products
---------------------------------------------------------------- */
.slag_products_mv {
  min-height: 0; }

.slag_products {
  padding: 7vw 0 14vw; }
  .slag_products .slag_products_list {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px; }
    @media only screen and (max-width: 768px) {
      .slag_products .slag_products_list {
        grid-template-columns: 1fr 1fr; } }

/* slag_subpage 頁共通
---------------------------------------------------------------- */
.slag_subpage_mv {
  position: relative; }

.slag_subpage_mv_title_wrap {
  padding: 1em 1em 1em 1em;
  position: relative;
  min-height: 420px;
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media only screen and (max-width: 768px) {
    .slag_subpage_mv_title_wrap {
      padding-top: 0;
      min-height: 0; } }
  .slag_subpage_mv_title_wrap::before {
    background-position: right top;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    width: 560px;
    height: 386px;
    display: block;
    position: absolute;
    right: 0;
    left: auto;
    top: 34px;
    margin: auto;
    z-index: 1;
    opacity: .8; }
    @media only screen and (max-width: 768px) {
      .slag_subpage_mv_title_wrap::before {
        content: none; } }

.slag_subpage_mv_title {
  font-size: 36px;
  font-weight: bold;
  line-height: 1.4; }
  @media only screen and (max-width: 768px) {
    .slag_subpage_mv_title {
      font-size: 6vw;
      padding-bottom: 60vw;
      background-position: center bottom;
      background-repeat: no-repeat;
      background-size: contain; } }
  .slag_subpage_mv_title .b06 {
    font-size: .6em; }
  .slag_subpage_mv_title .b07 {
    font-size: .6em; }
  .slag_subpage_mv_title .b11 {
    font-size: .6em; }

.slag_subpage_mv_title_main {
  display: block; }

.slag_subpage_mv_title_sub {
  display: block; }

.slag_subpage_mv_lead {
  width: 401px;
  max-width: 100%;
  font-weight: 500;
  line-height: 1.875;
  margin-top: .5em; }
  @media only screen and (max-width: 768px) {
    .slag_subpage_mv_lead {
      width: 100%; } }

.slag_subpage_mv_use {
  margin-top: 3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1;
  font-size: 14px;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start; }
  @media only screen and (max-width: 768px) {
    .slag_subpage_mv_use {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-top: 1em; } }
  .slag_subpage_mv_use .item_ttl {
    display: block;
    padding: .5em 0;
    margin: .2em .4em auto 0; }
    @media only screen and (max-width: 768px) {
      .slag_subpage_mv_use .item_ttl {
        width: 100%; } }
  .slag_subpage_mv_use .item_body {
    width: 380px; }
    @media only screen and (max-width: 768px) {
      .slag_subpage_mv_use .item_body {
        width: 100%; } }
  .slag_subpage_mv_use .item {
    display: inline-block;
    padding: .5em .8em;
    background: #28ADE8;
    color: #fff;
    border-radius: 20px;
    margin: .2em .4em; }

/* slag_subpage
---------------------------------------------------------------- */
.slag_subpage_mv + section {
  padding-top: 14vw; }

.common-subpage-inner {
  width: calc(740px + 2em);
  padding: 0 1em;
  max-width: 100%;
  margin: auto; }

.common-subpage-contact-inner {
  width: calc(920px + 2em);
  padding: 0 1em;
  max-width: 100%;
  margin: auto; }

.slag_subpage_section_head {
  margin-bottom: 2rem; }

.slag_subpage_section_title {
  color: #00336E; }
  .slag_subpage_section_title_main {
    color: #666;
    font-family: "Oswald", sans-serif;
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1;
    display: block; }
  .slag_subpage_section_title_sub {
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    letter-spacing: .1em;
    display: block;
    margin-top: 0.5em; }

.slag_subpage_list1 {
  display: grid;
  gap: 60px;
  width: 860px;
  max-width: 100%;
  margin: auto;
  text-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  grid-template-columns: repeat(auto-fit, 340px); }
  @media only screen and (max-width: 768px) {
    .slag_subpage_list1 {
      grid-template-columns: 1fr;
      gap: 20px 0;
      width: 85%;
      margin: auto; } }
  .slag_subpage_list1 img {
    border-radius: 20px; }
  .slag_subpage_list1.b05 {
    grid-template-columns: 80%; }
    @media only screen and (max-width: 768px) {
      .slag_subpage_list1.b05 {
        grid-template-columns: 100%; } }

.slag_point_list {
  list-style: none; }

.slag_point_list_item {
  position: relative;
  background-color: #fff;
  border-radius: 1rem;
  margin: 40px auto;
  padding: 1em 3em 1em 2em; }
  @media only screen and (max-width: 768px) {
    .slag_point_list_item {
      padding: 1em; } }
  .slag_point_list_item::after {
    border-radius: 1rem;
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    border: 1px solid #000; }
  .slag_point_list_item:hover::after {
    border: 3px solid #00336E; }
  .slag_point_list_item.sus:hover::after {
    border: 3px solid #1CC18D; }
  .slag_point_list_item .icon_sus {
    display: inline-block;
    width: 2.375rem;
    height: 2.375rem;
    aspect-ratio: 1/1;
    background: #EAF8F4 url(../images/common/icon_eco_g.svg) center 60% no-repeat;
    background-size: 60% auto;
    border-radius: 100px;
    line-height: 1;
    margin-right: .5rem; }
  .slag_point_list_item.js-accordion_btn:hover {
    cursor: pointer; }

.slag_point_list_item_dt {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding-right: 50px;
  color: #00336E; }
  @media only screen and (max-width: 768px) {
    .slag_point_list_item_dt {
      padding-right: 2rem; } }
  .slag_point_list_item_dt i {
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 40px;
    background: #00336E url(../images/common/icon_close_w.svg) center center no-repeat;
    background-size: 33% 33%;
    left: auto;
    right: -15px;
    top: 10px;
    bottom: auto;
    margin: auto;
    display: none;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transition: .2s;
    transition: .2s; }
    .sus .slag_point_list_item_dt i {
      background-color: #1CC18D; }
    @media only screen and (max-width: 768px) {
      .slag_point_list_item_dt i {
        right: 0;
        top: 0;
        width: 28px;
        height: 28px; } }
    .js-accordion_btn .slag_point_list_item_dt i {
      display: block; }
    .js-active .slag_point_list_item_dt i {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg); }
  .slag_point_list_item_dt .num {
    display: inline;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    position: relative;
    color: #00336E;
    margin-right: .4em; }
    @media only screen and (max-width: 768px) {
      .slag_point_list_item_dt .num {
        font-size: 1.375rem; } }
    .sus .slag_point_list_item_dt .num {
      color: #1CC18D; }
  .slag_point_list_item_dt .ttl {
    display: inline;
    font-size: 1.5rem;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .slag_point_list_item_dt .ttl {
        font-size: 1rem;
        line-height: 1.4; } }
    .sus .slag_point_list_item_dt .ttl {
      color: #1CC18D; }

.slag_point_list_item_dd {
  margin-top: 1rem;
  overflow: hidden;
  -webkit-transition: .2s;
  transition: .2s; }
  @media only screen and (max-width: 768px) {
    .slag_point_list_item_dd {
      font-size: 0.875rem; } }
  .js-accordion_btn .slag_point_list_item_dd {
    height: 2em; }
  .js-active .slag_point_list_item_dd {
    height: auto; }

.slag_dot_list {
  list-style: none; }
  .slag_dot_list > li {
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.5;
    margin: .5em auto 1em; }
    .slag_dot_list > li::before {
      display: inline-block;
      width: 8px;
      height: 8px;
      border-radius: 8px;
      margin-left: calc( ( 1em - 8px ) / 2  );
      margin-right: calc( ( 1em - 8px ) / 2 );
      content: "";
      text-align: center;
      vertical-align: middle;
      background: #28ADE8; }

.slag_circle_list {
  list-style: none; }
  .slag_circle_list > li {
    text-indent: -1em;
    padding-left: 1em; }
    .slag_circle_list > li::before {
      display: inline-block;
      width: 10px;
      height: 10px;
      border-radius: 20px;
      margin-right: calc( 1em - 10px );
      content: "";
      text-align: center;
      vertical-align: middle;
      background: #000; }

.slag_dot_list_b {
  list-style: none; }
  .slag_dot_list_b > li {
    text-indent: -1em;
    padding-left: 1em; }
    .slag_dot_list_b > li::before {
      display: inline-block;
      width: 5px;
      height: 5px;
      border-radius: 20px;
      margin-right: calc( 1em - 5px );
      content: "";
      text-align: center;
      vertical-align: middle;
      background: #333; }

.btn_slag_pdf {
  position: relative;
  display: inline-block;
  -webkit-box-shadow: 0px 40px 40px rgba(0, 0, 0, 0.06);
  box-shadow: 0px 40px 40px rgba(0, 0, 0, 0.06);
  text-decoration: none;
  border-radius: 20px;
  padding: 40px 20px;
  background: #fff; }
  .btn_slag_pdf::after {
    content: "";
    border-radius: 20px;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    border: 1px solid #000; }
  .btn_slag_pdf:hover::after {
    border: 3px solid #004189; }
  @media only screen and (max-width: 768px) {
    .btn_slag_pdf {
      padding: 5vw; } }
  .btn_slag_pdf_wrap {
    text-align: center;
    margin-top: 3em; }
  .btn_slag_pdf .icon {
    fill: #28ADE8;
    text-align: center; }
  .btn_slag_pdf dl {
    display: block;
    text-align: center; }
    .btn_slag_pdf dl dt {
      color: #004189;
      font-weight: bold;
      font-size: 26px; }
      @media only screen and (max-width: 768px) {
        .btn_slag_pdf dl dt {
          font-size: 1.125rem; } }
    .btn_slag_pdf dl dd {
      color: #333;
      margin-top: 0.5em; }
      @media only screen and (max-width: 768px) {
        .btn_slag_pdf dl dd {
          font-size: 0.75rem; } }
  .btn_slag_pdf .link_right_icon {
    right: 1rem;
    bottom: 1rem;
    height: 1.875rem; }

.slag_sdgs_list {
  display: grid;
  gap: 25px;
  margin: 20px auto;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  grid-template-columns: repeat(auto-fit, 166px); }
  @media only screen and (max-width: 768px) {
    .slag_sdgs_list {
      grid-template-columns: 1fr 1fr;
      width: 80%;
      gap: 5%; } }
  .slag_sdgs_list_item {
    justify-self: center;
    background: #999;
    color: #fff;
    text-align: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto; }
    .slag_sdgs_list_item .num {
      display: block;
      font-family: "Oswald", sans-serif;
      font-weight: bold;
      font-size: 44px;
      line-height: 1; }
      @media only screen and (max-width: 768px) {
        .slag_sdgs_list_item .num {
          font-size: 40px; } }
    .slag_sdgs_list_item .txt {
      display: block;
      font-size: 14px;
      font-weight: 600;
      line-height: 1.5;
      margin-top: 0.5em; }
      @media only screen and (max-width: 768px) {
        .slag_sdgs_list_item .txt {
          font-weight: 400;
          font-size: 12px; } }
    .slag_sdgs_list_item.sdgs02 {
      background: #D6A602; }
    .slag_sdgs_list_item.sdgs07 {
      background: #FABD02; }
    .slag_sdgs_list_item.sdgs08 {
      background: #970A31; }
    .slag_sdgs_list_item.sdgs09 {
      background: #EC6A06; }
    .slag_sdgs_list_item.sdgs11 {
      background: #F5A20B; }
    .slag_sdgs_list_item.sdgs12 {
      background: #D39206; }
    .slag_sdgs_list_item.sdgs13 {
      background: #417936; }
    .slag_sdgs_list_item.sdgs14 {
      background: #0075BA; }
    .slag_sdgs_list_item.sdgs15 {
      background: #27A838; }

.slag_sdgs_list.b05 {
  max-width: 560px; }

.slag_subpage_section.e00 {
  padding: 50px 0 100px; }
  .slag_subpage_section.e00 .common-inner {
    width: calc(1026px - 2rem);
    max-width: 100%;
    padding: 0 1rem; }

.slag_subpage_mv_title,
.slag_subpage_mv_lead,
.slag_subpage_mv_use {
  z-index: 1;
  position: relative; }

.slag_subpage_flex_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (max-width: 768px) {
    .slag_subpage_flex_wrap.sp_block {
      display: block; } }

.slag_subpage_grid_wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 100%; }
  @media only screen and (min-width: 769px) {
    .slag_subpage_grid_wrap.col3 {
      grid-template-columns: 1fr 1fr 1fr; } }
  @media only screen and (min-width: 769px) {
    .slag_subpage_grid_wrap.col4 {
      grid-template-columns: 1fr 1fr 1fr 1fr; } }
  .slag_subpage_grid_wrap.-b07_detail {
    grid-template-columns: 1.8fr 1fr;
    gap: 23px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 14px; }
    @media only screen and (max-width: 768px) {
      .slag_subpage_grid_wrap.-b07_detail {
        grid-template-columns: 1fr; } }
  @media only screen and (max-width: 768px) {
    .slag_subpage_grid_wrap {
      grid-template-columns: 1fr; } }
  .slag_subpage_grid_wrap.-sus4 {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 64px;
    font-size: 14px; }
    @media only screen and (max-width: 768px) {
      .slag_subpage_grid_wrap.-sus4 {
        width: 80%;
        margin: auto;
        grid-template-columns: 1fr;
        gap: 20px; } }
    .slag_subpage_grid_wrap.-sus4 .ttl {
      font-weight: bold;
      text-align: center;
      font-size: 18px; }
  .slag_subpage_grid_wrap.h03-4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 60px; }
  .slag_subpage_grid_wrap.h04-4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 60px; }
  .slag_subpage_grid_wrap.h02-5 {
    grid-template-columns: repeat(5, 1fr);
    gap: 30px; }
  @media only screen and (max-width: 768px) {
    .slag_subpage_grid_wrap.h04-4, .slag_subpage_grid_wrap.h03-4, .slag_subpage_grid_wrap.h02-5 {
      margin: auto;
      grid-template-columns: 1fr 1fr;
      gap: 22px; } }
  .slag_subpage_grid_wrap.h04-4 picture, .slag_subpage_grid_wrap.h03-4 picture, .slag_subpage_grid_wrap.h02-5 picture {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
    display: block;
    border-radius: 200px;
    overflow: hidden; }
    .slag_subpage_grid_wrap.h04-4 picture img, .slag_subpage_grid_wrap.h03-4 picture img, .slag_subpage_grid_wrap.h02-5 picture img {
      aspect-ratio: 1/1;
      -o-object-fit: cover;
      object-fit: cover; }
  .slag_subpage_grid_wrap.h04-4 .ttl, .slag_subpage_grid_wrap.h03-4 .ttl, .slag_subpage_grid_wrap.h02-5 .ttl {
    font-weight: bold;
    text-align: center;
    color: #1CC18D;
    font-weight: bold;
    line-height: 1;
    margin: 1em auto;
    line-height: 1.5; }
  .slag_subpage_grid_wrap.h04-4 .link, .slag_subpage_grid_wrap.h03-4 .link, .slag_subpage_grid_wrap.h02-5 .link {
    color: #333;
    text-decoration: none;
    display: block;
    position: relative;
    font-size: .875rem;
    font-weight: 500;
    line-height: 1.4;
    padding-right: 1.8em;
    margin: 1em 0; }
    @media only screen and (max-width: 768px) {
      .slag_subpage_grid_wrap.h04-4 .link, .slag_subpage_grid_wrap.h03-4 .link, .slag_subpage_grid_wrap.h02-5 .link {
        font-size: .8125rem; } }
    .slag_subpage_grid_wrap.h04-4 .link::after, .slag_subpage_grid_wrap.h03-4 .link::after, .slag_subpage_grid_wrap.h02-5 .link::after {
      content: "";
      display: block;
      width: 100%;
      height: 1px;
      background: #000;
      left: 0;
      bottom: 0;
      margin: auto;
      position: absolute;
      -webkit-transform: scaleX(0);
      transform: scaleX(0);
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transition: .2s;
      transition: .2s; }
    .slag_subpage_grid_wrap.h04-4 .link:hover::after, .slag_subpage_grid_wrap.h03-4 .link:hover::after, .slag_subpage_grid_wrap.h02-5 .link:hover::after {
      -webkit-transform: scaleX(1);
      transform: scaleX(1); }
    .slag_subpage_grid_wrap.h04-4 .link .link_right_icon, .slag_subpage_grid_wrap.h03-4 .link .link_right_icon, .slag_subpage_grid_wrap.h02-5 .link .link_right_icon {
      background-color: #1CC18D;
      height: 1.3em;
      top: 0; }
  .slag_subpage_grid_wrap.h04-3 {
    margin-top: 100px;
    gap: 30px; }

/* slag_b01
---------------------------------------------------------------- */
.slag_b01_mv .slag_subpage_mv_title_wrap::before {
  background-image: url(../images/products/slag_products_b01.png); }
  @media only screen and (max-width: 768px) {
    .slag_b01_mv .slag_subpage_mv_title_wrap::before {
      content: none; } }
@media only screen and (max-width: 768px) {
  .slag_b01_mv .slag_subpage_mv_title_wrap .slag_subpage_mv_title {
    background-image: url(../images/products/slag_products_b01.png); } }

/* slag_b02
---------------------------------------------------------------- */
.slag_b02_mv .slag_subpage_mv_title_wrap::before {
  background-image: url(../images/products/slag_products_b02.png); }
  @media only screen and (max-width: 768px) {
    .slag_b02_mv .slag_subpage_mv_title_wrap::before {
      content: none; } }
@media only screen and (max-width: 768px) {
  .slag_b02_mv .slag_subpage_mv_title_wrap .slag_subpage_mv_title {
    background-image: url(../images/products/slag_products_b02.png); } }

/* slag_b03
---------------------------------------------------------------- */
.slag_b03_mv .slag_subpage_mv_title_wrap::before {
  background-image: url(../images/products/slag_products_b03.png); }
  @media only screen and (max-width: 768px) {
    .slag_b03_mv .slag_subpage_mv_title_wrap::before {
      content: none; } }
@media only screen and (max-width: 768px) {
  .slag_b03_mv .slag_subpage_mv_title_wrap .slag_subpage_mv_title {
    background-image: url(../images/products/slag_products_b03.png); } }

/* slag_b04
---------------------------------------------------------------- */
.slag_b04_mv .slag_subpage_mv_title_wrap::before {
  background-image: url(../images/products/slag_products_b04.png); }
  @media only screen and (max-width: 768px) {
    .slag_b04_mv .slag_subpage_mv_title_wrap::before {
      content: none; } }
@media only screen and (max-width: 768px) {
  .slag_b04_mv .slag_subpage_mv_title_wrap .slag_subpage_mv_title {
    background-image: url(../images/products/slag_products_b04.png); } }

/* slag_b05
---------------------------------------------------------------- */
.slag_b05_mv .slag_subpage_mv_title_wrap::before {
  background-image: url(../images/products/slag_products_b05.png); }
  @media only screen and (max-width: 768px) {
    .slag_b05_mv .slag_subpage_mv_title_wrap::before {
      content: none; } }
@media only screen and (max-width: 768px) {
  .slag_b05_mv .slag_subpage_mv_title_wrap .slag_subpage_mv_title {
    background-image: url(../images/products/slag_products_b05.png); } }

/* slag_b06
---------------------------------------------------------------- */
.slag_b06_mv .slag_subpage_mv_title_wrap::before {
  background-image: url(../images/products/slag_products_b06.png); }
  @media only screen and (max-width: 768px) {
    .slag_b06_mv .slag_subpage_mv_title_wrap::before {
      content: none; } }
@media only screen and (max-width: 768px) {
  .slag_b06_mv .slag_subpage_mv_title_wrap .slag_subpage_mv_title {
    background-image: url(../images/products/slag_products_b06.png); } }

/* slag_b07
---------------------------------------------------------------- */
.slag_b07_mv .slag_subpage_mv_title_wrap::before {
  background-image: url(../images/products/slag_products_b07.png); }
  @media only screen and (max-width: 768px) {
    .slag_b07_mv .slag_subpage_mv_title_wrap::before {
      content: none; } }
@media only screen and (max-width: 768px) {
  .slag_b07_mv .slag_subpage_mv_title_wrap .slag_subpage_mv_title {
    background-image: url(../images/products/slag_products_b07.png); } }

/* slag_b08
---------------------------------------------------------------- */
.slag_b08_mv .slag_subpage_mv_title_wrap::before {
  background-image: url(../images/products/slag_products_b08.png); }
  @media only screen and (max-width: 768px) {
    .slag_b08_mv .slag_subpage_mv_title_wrap::before {
      content: none; } }
@media only screen and (max-width: 768px) {
  .slag_b08_mv .slag_subpage_mv_title_wrap .slag_subpage_mv_title {
    background-image: url(../images/products/slag_products_b08.png); } }

/* slag_b09
---------------------------------------------------------------- */
.slag_b09_mv .slag_subpage_mv_title_wrap::before {
  background-image: url(../images/products/slag_products_b09.png); }
  @media only screen and (max-width: 768px) {
    .slag_b09_mv .slag_subpage_mv_title_wrap::before {
      content: none; } }
@media only screen and (max-width: 768px) {
  .slag_b09_mv .slag_subpage_mv_title_wrap .slag_subpage_mv_title {
    background-image: url(../images/products/slag_products_b09.png); } }

/* slag_b10
---------------------------------------------------------------- */
.slag_b10_mv .slag_subpage_mv_title_wrap::before {
  background-image: url(../images/products/slag_products_b10.png); }
  @media only screen and (max-width: 768px) {
    .slag_b10_mv .slag_subpage_mv_title_wrap::before {
      content: none; } }
@media only screen and (max-width: 768px) {
  .slag_b10_mv .slag_subpage_mv_title_wrap .slag_subpage_mv_title {
    background-image: url(../images/products/slag_products_b10.png); } }

/* slag_b11
---------------------------------------------------------------- */
.slag_b11_mv .slag_subpage_mv_title_wrap::before {
  background-image: url(../images/products/slag_products_b11.png); }
  @media only screen and (max-width: 768px) {
    .slag_b11_mv .slag_subpage_mv_title_wrap::before {
      content: none; } }
@media only screen and (max-width: 768px) {
  .slag_b11_mv .slag_subpage_mv_title_wrap .slag_subpage_mv_title {
    background-image: url(../images/products/slag_products_b11.png); } }

/* slag_usecase
---------------------------------------------------------------- */
.slag_usecase {
  padding-top: 0; }

.slag_usecase_mv {
  min-height: 0; }

.slag_usecase_nav {
  padding-bottom: 2vw; }

.slag_title_type2 {
  text-align: center;
  color: #00336E;
  margin: 1em auto; }
  .slag_title_type2 .sub {
    display: block;
    font-size: 18px;
    font-weight: bold; }
  .slag_title_type2 .main {
    display: block;
    font-size: 28px;
    font-weight: bold; }

.slag_title_type3 {
  color: #00336E;
  margin: 1em auto; }
  .slag_title_type3 .sub {
    display: block;
    font-size: 18px;
    font-weight: bold; }
  .slag_title_type3 .main {
    display: block;
    font-size: 26px;
    font-weight: bold; }

.slag_title_g00 {
  text-align: center;
  margin-bottom: 1rem; }
  .slag_title_g00 .sub {
    color: #666;
    font-weight: 600; }
    @media only screen and (max-width: 768px) {
      .slag_title_g00 .sub {
        display: block; } }
  .slag_title_g00 .main {
    color: #28ADE8;
    font-weight: bold;
    font-size: 1.625rem; }
    @media only screen and (max-width: 768px) {
      .slag_title_g00 .main {
        display: block; } }

.slag_usecase_link_block {
  padding: 60px 0; }
  @media only screen and (max-width: 768px) {
    .slag_usecase_link_block {
      padding: 7vw 0; } }
  .slag_usecase_link_block .slag_usecase_image {
    border-radius: 20px;
    overflow: hidden;
    margin-bottom: 1rem; }

.slag_usecase_link_dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin: auto;
  padding: 1rem 0;
  border-bottom: 1px solid #BBBBBB; }
  @media only screen and (max-width: 768px) {
    .slag_usecase_link_dl {
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
.slag_usecase_link_dt {
  width: 22%;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.2;
  padding-right: .5em;
  color: #28ADE8; }
  @media only screen and (max-width: 768px) {
    .slag_usecase_link_dt {
      width: 100%; } }
.slag_usecase_link_dd {
  width: 78%;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2; }
  @media only screen and (max-width: 768px) {
    .slag_usecase_link_dd {
      width: 100%;
      margin-top: 1em;
      font-size: 3.5vw; } }

.slag_usecase_link_list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem 10%; }
  @media only screen and (max-width: 768px) {
    .slag_usecase_link_list {
      grid-template-columns: 1fr 1fr;
      gap: 1.2em 1.4em; } }
  .slag_usecase_link_list a {
    padding: 2px 1.2em 2px 0;
    display: block;
    text-decoration: none;
    color: #333;
    display: block;
    position: relative; }
    .slag_usecase_link_list a::after {
      content: "";
      display: block;
      height: 1px;
      width: calc( 100% - 2em);
      position: absolute;
      left: 0;
      bottom: 0;
      margin: auto;
      background: #000;
      -webkit-transform: scaleX(0);
      transform: scaleX(0);
      -webkit-transform-origin: left bottom;
      transform-origin: left bottom;
      -webkit-transition: .2s;
      transition: .2s; }
    .slag_usecase_link_list a:hover::after {
      -webkit-transform: scaleX(1);
      transform: scaleX(1); }
    .slag_usecase_link_list a .link_right_icon {
      background-color: #28ADE8;
      height: 1.8em;
      top: 0; }
      @media only screen and (max-width: 768px) {
        .slag_usecase_link_list a .link_right_icon {
          height: 1.3em; } }

/* slag_certification
---------------------------------------------------------------- */
.slag_certification_mv {
  background: url(../images/certification/slag_certification_mv.png) top center no-repeat;
  background-size: cover;
  min-height: 32vw; }
  @media only screen and (max-width: 768px) {
    .slag_certification_mv {
      background-image: url(../images/certification/slag_certification_mv_sp.png); } }

.slag_c00_section {
  padding-top: 7vw;
  padding-bottom: 14vw; }

section.-bg_gray_top {
  padding-top: 0;
  background-color: #f7f7f7;
  position: relative; }
  section.-bg_gray_top::before {
    content: "";
    display: block;
    background: url(../images/certification/c00_bg.svg) top center no-repeat;
    background-size: cover;
    width: 100%;
    height: 12vw;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
    bottom: auto;
    top: -12vw; }
section.-bg_gray_bottom {
  background-color: #f7f7f7;
  position: relative;
  padding-bottom: 0; }
  section.-bg_gray_bottom::after {
    content: "";
    display: block;
    background: url(../images/certification/c00_bg.svg) top center no-repeat;
    background-size: cover;
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
    width: 100%;
    height: 12vw;
    position: absolute;
    left: 0;
    right: 0;
    z-index: 1;
    top: auto;
    bottom: -12vw; }
  section.-bg_gray_bottom + section {
    padding-top: 14vw; }

/* slag_contact
---------------------------------------------------------------- */
.slag_contact_mv {
  min-height: 0; }

.slag_contact_title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  color: #28ADE8;
  font-weight: bold;
  font-size: 1.5rem; }
  .slag_contact_title::before {
    content: "";
    display: inline-block;
    background-position: left center;
    background-repeat: no-repeat;
    background-size: contain;
    height: 1.2em;
    width: 1.2em;
    margin-right: .2em; }
  .slag_contact_title.mail::before {
    background-image: url(../images/common/icon_mail_bl.svg); }
  .slag_contact_title.tel::before {
    background-image: url(../images/common/icon_tel_contact_bl.svg); }

.slag_tel_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  line-height: 1.2;
  margin: 30px auto; }
  @media only screen and (max-width: 768px) {
    .slag_tel_list {
      display: block;
      margin: 4vw auto; } }
  .slag_tel_list > dt {
    display: block;
    color: #28ADE8;
    font-size: 1rem;
    font-weight: bold;
    padding: 1.5rem 1rem .5rem 0;
    white-space: nowrap; }
  .slag_tel_list > dd {
    display: block;
    font-size: 14px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 25px 45px;
    width: calc( 100% - 4rem);
    padding: .5rem;
    margin-left: auto; }
    @media only screen and (max-width: 768px) {
      .slag_tel_list > dd {
        display: block;
        width: 100%; } }
  .slag_tel_list a {
    text-decoration: none;
    color: #333; }

.slag_tel_list_item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  background-color: #fff;
  border-radius: 16px;
  padding: 1rem;
  font-weight: 600;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media only screen and (max-width: 768px) {
    .slag_tel_list_item {
      margin: 2vw auto; } }
  .slag_tel_list_item > dt {
    display: block;
    padding-right: .5em; }
  .slag_tel_list_item > dd {
    display: block;
    font-size: 1.125rem;
    position: relative;
    padding-right: 20px; }
    .slag_tel_list_item > dd::after {
      position: absolute;
      content: '';
      display: block;
      width: 16px;
      height: 16px;
      background: url(../images/common/icon_coll_k.svg) center center no-repeat;
      background-size: contain;
      right: 0;
      left: auto;
      top: 0;
      bottom: 0;
      margin: auto; }

/* slag_news
---------------------------------------------------------------- */
.slag_news_mv {
  min-height: 0; }

.slag_news_list_section {
  padding: 3vw 0; }

.slag_news_list_title {
  font-weight: bold;
  color: #333;
  font-size: 40px;
  font-weight: bold;
  font-family: "Oswald", sans-serif;
  margin-bottom: 0.4em; }
  @media only screen and (max-width: 768px) {
    .slag_news_list_title.js-accordion_btn {
      position: relative; }
      .slag_news_list_title.js-accordion_btn::after {
        content: "";
        display: inline-block;
        margin: auto auto auto .5em;
        width: .8em;
        height: .8em;
        aspect-ratio: 1/1;
        background: #28ADE8 url(../images/common/icon_close_w.svg) center center no-repeat;
        background-size: 40%;
        border-radius: 100px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        -webkit-transform-origin: center center;
        transform-origin: center center;
        -webkit-transition: .2s;
        transition: .2s; }
    .slag_news_list_title.js-accordion_btn + .slag_news_list {
      -webkit-transform: scaleY(0);
      transform: scaleY(0);
      -webkit-transform-origin: left top;
      transform-origin: left top;
      height: 0;
      opacity: 0;
      -webkit-transition: .2s;
      transition: .2s; }
    .slag_news_list_title.js-accordion_btn.js-active::after {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg); }
    .slag_news_list_title.js-accordion_btn.js-active + .slag_news_list {
      -webkit-transform: scaleY(1);
      transform: scaleY(1);
      height: auto;
      opacity: 1; } }

.slag_news_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 46px; }
  @media only screen and (max-width: 768px) {
    .slag_news_list {
      grid-template-columns: 1fr;
      gap: 15vw;
      padding: 5vw; } }
  @media only screen and (max-width: 768px) {
    .slag_news_list .slag_news_item {
      max-width: 500px;
      margin: auto; } }

/* slag_sus
---------------------------------------------------------------- */
/* .slag_sus_foot_links
---------------------------------------------------------------- */
.slag_sus_foot_links_list {
  padding: 5vw 0;
  margin: auto; }
  @media only screen and (max-width: 768px) {
    .slag_sus_foot_links_list {
      max-width: 600px; } }
  .slag_sus_foot_links_list .links_list_item {
    text-align: center; }
  .slag_sus_foot_links_list .links_list_link {
    text-decoration: none;
    color: #333;
    background: #fff;
    display: block;
    position: relative;
    height: 263px;
    border-radius: 20px;
    overflow: hidden;
    -webkit-box-shadow: 0px 30px 50px rgba(0, 0, 0, 0.08);
    box-shadow: 0px 30px 50px rgba(0, 0, 0, 0.08); }
    @media only screen and (max-width: 768px) {
      .slag_sus_foot_links_list .links_list_link {
        height: auto;
        border-radius: 14px;
        padding: 0 0 1.5em 0; } }
    .slag_sus_foot_links_list .links_list_link::after {
      content: "";
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      margin: 0;
      border: 1px solid #000;
      border-radius: 20px; }
      @media only screen and (max-width: 768px) {
        .slag_sus_foot_links_list .links_list_link::after {
          border-radius: 14px; } }
    .slag_sus_foot_links_list .links_list_link:hover::after {
      border: 3px solid #28ADE8; }
    .slag_sus_foot_links_list .links_list_link.b00::before, .slag_sus_foot_links_list .links_list_link.g00::before {
      content: "";
      display: block;
      position: static;
      margin: 0 0 auto 0;
      width: 100%;
      height: 177px;
      background-size: cover;
      background-position: center top;
      background-repeat: no-repeat; }
      @media only screen and (max-width: 768px) {
        .slag_sus_foot_links_list .links_list_link.b00::before, .slag_sus_foot_links_list .links_list_link.g00::before {
          height: 33vw; } }
    .slag_sus_foot_links_list .links_list_link.b00::before {
      background-image: url(../images/concept/bnr_bg_products.png); }
    .slag_sus_foot_links_list .links_list_link.g00::before {
      background-image: url(../images/concept/bnr_bg_usecases.png); }
  .slag_sus_foot_links_list .link_right_icon {
    background-color: #28ADE8;
    right: 1rem;
    bottom: 1rem; }
    @media only screen and (max-width: 768px) {
      .slag_sus_foot_links_list .link_right_icon {
        height: 1.625rem; } }
  .slag_sus_foot_links_list .links_lits_ttl_en {
    font-family: "Oswald", sans-serif;
    font-size: 1.75rem;
    position: relative;
    line-height: 1;
    margin: .4em auto auto 2.125rem;
    text-align: left; }
    @media only screen and (max-width: 768px) {
      .slag_sus_foot_links_list .links_lits_ttl_en {
        font-size: 1.25rem; } }
  .slag_sus_foot_links_list .links_list_ttl_ja {
    text-align: left;
    color: #28ADE8;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1;
    margin: .5em auto auto 2.125rem; }
    @media only screen and (max-width: 768px) {
      .slag_sus_foot_links_list .links_list_ttl_ja {
        font-size: 0.875rem; } }

/* .slag_sus_foot_otherlink
---------------------------------------------------------------- */
.slag_sus_foot_otherlink .ttl {
  font-size: 20px;
  font-weight: bold; }
.slag_sus_foot_otherlink .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
  border: 1px solid #707070;
  border-radius: 20px;
  height: 295px; }
  @media only screen and (max-width: 768px) {
    .slag_sus_foot_otherlink .link {
      height: auto;
      padding: 10vw 0;
      border-radius: 10px; } }
  .slag_sus_foot_otherlink .link img {
    width: 334px;
    max-width: 80%; }

@media only screen and (max-width: 768px) {
  .slag_sus_top_sec02 {
    padding-top: 10vw; } }
.slag_sus_top_sec02 .sec02_header_ttl1 {
  font-size: 32px;
  font-weight: bold;
  text-align: center;
  margin: 1em auto; }
  @media only screen and (max-width: 768px) {
    .slag_sus_top_sec02 .sec02_header_ttl1 {
      font-size: 5.5vw; } }
  .slag_sus_top_sec02 .sec02_header_ttl1 b {
    font-size: 40px;
    color: #1CC18D; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec02 .sec02_header_ttl1 b {
        font-size: 6.5vw; } }
.slag_sus_top_sec02 .sec02_header_ttl1_lead {
  text-align: center;
  margin: 1em auto 5em; }
  @media only screen and (max-width: 768px) {
    .slag_sus_top_sec02 .sec02_header_ttl1_lead {
      margin-bottom: 2em; } }
  .slag_sus_top_sec02 .sec02_header_ttl1_lead p {
    display: inline-block;
    text-align: left; }
.slag_sus_top_sec02 .qa {
  background: #fff;
  border-radius: 1rem;
  padding: 1rem 2rem;
  -webkit-box-shadow: 0px 40px 60px rgba(0, 0, 0, 0.1);
  box-shadow: 0px 40px 60px rgba(0, 0, 0, 0.1);
  margin: 20px auto;
  position: relative;
  cursor: pointer; }
  @media only screen and (max-width: 768px) {
    .slag_sus_top_sec02 .qa {
      padding: 0.5rem 1rem;
      border-radius: 12px; } }
  .slag_sus_top_sec02 .qa::before {
    border-radius: 1rem;
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #000; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec02 .qa::before {
        border-radius: 12px; } }
  .slag_sus_top_sec02 .qa:hover::before {
    border: 3px solid #1CC18D; }
  .slag_sus_top_sec02 .qa::after {
    content: "";
    display: block;
    width: 34px;
    height: auto;
    border-radius: 100px;
    aspect-ratio: 1/1;
    background: #1CC18D url(../images/common/icon_close_w.svg) center center no-repeat;
    background-size: 30% auto;
    position: absolute;
    right: 28px;
    top: 28px;
    margin: auto;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transition: .2s;
    transition: .2s; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec02 .qa::after {
        right: 20px;
        top: 20px;
        width: 28px; } }
  .slag_sus_top_sec02 .qa.js-active::after {
    -webkit-transform: rotate(0);
    transform: rotate(0); }
  .slag_sus_top_sec02 .qa .qa_q {
    font-size: 18px;
    font-weight: bold;
    display: block;
    padding: 1rem 2rem 1rem 1rem;
    color: #1CC18D; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec02 .qa .qa_q {
        font-size: 1rem;
        padding: .5rem 2.5rem .5rem .5rem; } }
  .slag_sus_top_sec02 .qa .qa_a {
    font-weight: 500;
    padding: 0;
    height: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: .2s;
    transition: .2s;
    overflow: hidden;
    opacity: 0;
    padding: 0 3rem 0 1rem; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec02 .qa .qa_a {
        padding: 0 .5rem;
        font-size: 0.875rem; } }
  .slag_sus_top_sec02 .qa.js-active .qa_a {
    height: auto;
    opacity: 1;
    padding: .5rem 3rem 1rem 1rem; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec02 .qa.js-active .qa_a {
        padding: .5rem .5rem 1rem .5rem; } }

/* .slag_sus_nav
---------------------------------------------------------------- */
.slag_sus_nav {
  display: block;
  padding: 5vw 0; }

.slag_sus_nav_ttl {
  text-align: center;
  font-weight: bold;
  margin-bottom: 4rem; }
  @media only screen and (max-width: 768px) {
    .slag_sus_nav_ttl {
      font-size: 5vw; } }
  .slag_sus_nav_ttl .ttl_sub {
    display: block;
    color: #1CC18D;
    font-weight: 500;
    font-family: "Oswald", sans-serif;
    font-size: 2rem; }
  .slag_sus_nav_ttl .ttl_main {
    display: block;
    font-size: 1.25rem; }

.slag_sus_nav_list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px; }
  @media only screen and (max-width: 768px) {
    .slag_sus_nav_list {
      grid-template-columns: 1fr;
      gap: 5vw; } }
  .slag_sus_nav_list .link {
    position: relative;
    background-color: #fff;
    color: #333;
    border: 6px solid transparent;
    border-radius: 10px;
    padding: 7.5%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    text-decoration: none;
    -webkit-box-shadow: 0px 40px 60px rgba(0, 0, 0, 0.1);
    box-shadow: 0px 40px 60px rgba(0, 0, 0, 0.1);
    background-size: contain;
    background-position: top center;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 769px) {
      .slag_sus_nav_list .link {
        aspect-ratio: 1/1; } }
    @media only screen and (max-width: 768px) {
      .slag_sus_nav_list .link {
        padding: 3vw;
        background-size: 60% auto; } }
    .slag_sus_nav_list .link.h01 {
      background-image: url(../images/concept/story_list_bg_h01.png); }
    .slag_sus_nav_list .link.h02 {
      background-image: url(../images/concept/story_list_bg_h02.png); }
    .slag_sus_nav_list .link.h03 {
      background-image: url(../images/concept/story_list_bg_h03.png); }
    .slag_sus_nav_list .link.h04 {
      background-image: url(../images/concept/story_list_bg_h04.png); }
    .slag_sus_nav_list .link:hover, .slag_sus_nav_list .link.active {
      border-color: #1CC18D; }
  .slag_sus_nav_list .txt1 {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 5em;
    border-radius: 88px;
    line-height: 1.2;
    text-align: center;
    aspect-ratio: 1/1;
    left: 3%;
    top: 3%;
    margin: auto;
    background: #1CC18D;
    color: #fff;
    font-size: 18px;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .slag_sus_nav_list .txt1 {
        font-size: 3vw; } }
  .slag_sus_nav_list .txt2 {
    font-family: "Oswald", sans-serif;
    font-size: 20px;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .slag_sus_nav_list .txt2 {
        font-size: 4vw;
        margin-top: 20vw; } }
  .slag_sus_nav_list .txt3 {
    font-size: 22px;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .slag_sus_nav_list .txt3 {
        font-size: 4.5vw; } }
  .slag_sus_nav_list .txt4 {
    font-weight: bold;
    text-align: right;
    line-height: 1;
    margin-top: 2.5em; }
    @media only screen and (max-width: 768px) {
      .slag_sus_nav_list .txt4 {
        font-size: 3.5vw;
        margin-top: 1em; } }
    .slag_sus_nav_list .txt4 span {
      display: inline-block; }
    .slag_sus_nav_list .txt4::after {
      display: inline-block;
      content: "";
      width: .5em;
      height: .5em;
      margin-left: 1em;
      border-top: 2px solid #000;
      border-right: 2px solid #000;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }

.slag_sus_nav_foot {
  margin: 50px auto;
  text-align: center; }

/* slag_sus_top
---------------------------------------------------------------- */
.slag_sus_top_mv {
  padding-top: 0;
  position: relative; }
  .slag_sus_top_mv .slag_top_mv_bg {
    position: absolute;
    content: "";
    background: url(../images/home/top_bg_001.png) top center no-repeat;
    background-size: 100% auto;
    width: 100%;
    height: 100%; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_mv .slag_top_mv_bg {
        background-size: 190% auto;
        background-position: 52% 0; } }
  .slag_sus_top_mv .slag_sus_top_mv_title {
    text-align: center;
    line-height: 1; }
    .slag_sus_top_mv .slag_sus_top_mv_title_wrap {
      padding: 0 0;
      position: absolute;
      top: 19vw;
      left: 0;
      right: 0;
      margin: auto;
      line-height: 1; }
      @media only screen and (max-width: 768px) {
        .slag_sus_top_mv .slag_sus_top_mv_title_wrap {
          top: 43vw; } }
    .slag_sus_top_mv .slag_sus_top_mv_title .ttl_sub {
      font-size: 4.25em;
      font-weight: bold;
      line-height: 1;
      margin-bottom: 0.2em; }
      @media only screen and (max-width: 768px) {
        .slag_sus_top_mv .slag_sus_top_mv_title .ttl_sub {
          font-size: 8vw;
          margin-bottom: 0.3em; } }
      .slag_sus_top_mv .slag_sus_top_mv_title .ttl_sub > span {
        display: inline-block;
        background: #fff;
        padding: .4rem;
        border-radius: 8px; }
    .slag_sus_top_mv .slag_sus_top_mv_title .ttl_main {
      line-height: 1; }
      .slag_sus_top_mv .slag_sus_top_mv_title .ttl_main > span {
        font-size: 4.75rem;
        background: #fff;
        border-radius: 8px;
        padding: .2rem .5rem .6rem; }
        @media only screen and (max-width: 768px) {
          .slag_sus_top_mv .slag_sus_top_mv_title .ttl_main > span {
            padding: .4rem;
            font-size: 9vw; } }
  .slag_sus_top_mv .mv_main_text {
    margin-top: 65vw;
    text-align: center;
    font-size: 1.125rem;
    line-height: 2;
    font-weight: 600; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_mv .mv_main_text {
        font-size: 4.5vw;
        margin-top: 160vw; } }
    .slag_sus_top_mv .mv_main_text p {
      margin: 2em auto; }

.slag_sus_top_sec01 {
  padding: 0; }
  .slag_sus_top_sec01 .ttl2 {
    font-size: 70px;
    font-weight: bold;
    text-shadow: 0px 0px 1.5px #000, 0px 0px 1.5px #000, 0px 0px 1.5px #000, 0px 0px 1.5px #000, 0px 0px 1.5px #000, 0px 0px 1.5px #000, 1px 1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, -1px -1px 0 #000; }
    .slag_sus_top_sec01 .ttl2 .small {
      font-size: .7em; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01 .ttl2 {
        font-size: 11vw; } }
  .slag_sus_top_sec01 .ttl2_lead {
    line-height: 2;
    font-weight: 600;
    margin-bottom: 2em; }
  .slag_sus_top_sec01 .ttl3 {
    font-size: 24px;
    font-weight: bold; }
  .slag_sus_top_sec01 .ttl3_lead {
    font-weight: 500;
    line-height: 2;
    margin-top: 1em; }

.slag_sus_top_sec01-0 {
  padding: 150px 0; }
  @media only screen and (max-width: 768px) {
    .slag_sus_top_sec01-0 {
      padding: 30vw 0 0; } }
  .slag_sus_top_sec01-0 .slag_subpage_grid_wrap {
    gap: 10px;
    grid-template-columns: auto 422px; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-0 .slag_subpage_grid_wrap {
        grid-template-columns: 1fr;
        gap: 0; } }
  @media only screen and (max-width: 768px) {
    .slag_sus_top_sec01-0 .ttl1 {
      margin-bottom: 1.2rem; } }
  .slag_sus_top_sec01-0 .ttl1 .ttl_sub {
    display: block;
    font-family: "Oswald", sans-serif;
    font-size: 2.125rem;
    font-weight: 500;
    color: #54DEB3;
    margin-bottom: 2.4rem;
    line-height: 1; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-0 .ttl1 .ttl_sub {
        font-size: 1.5rem;
        margin-bottom: 1.2rem; } }
  .slag_sus_top_sec01-0 .ttl1 .ttl_main {
    display: block;
    font-size: 51px;
    font-weight: bold;
    line-height: 1.8; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-0 .ttl1 .ttl_main {
        font-size: 9vw; } }
  .slag_sus_top_sec01-0 .ttl_lead {
    margin-top: 5em;
    line-height: 2.4;
    font-weight: 600;
    margin-left: auto;
    text-align: justify; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-0 .ttl_lead {
        margin-top: auto; } }

.slag_sus_top_sec01-1,
.slag_sus_top_sec01-2,
.slag_sus_top_sec01-3,
.slag_sus_top_sec01-4 {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-color: #1CC18D;
  color: #fff; }
  .slag_sus_top_sec01-1::before,
  .slag_sus_top_sec01-2::before,
  .slag_sus_top_sec01-3::before,
  .slag_sus_top_sec01-4::before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .slag_sus_top_sec01-1 .sus-common-inner,
  .slag_sus_top_sec01-2 .sus-common-inner,
  .slag_sus_top_sec01-3 .sus-common-inner,
  .slag_sus_top_sec01-4 .sus-common-inner {
    position: relative;
    padding: 70px 0 70px; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-1 .sus-common-inner,
      .slag_sus_top_sec01-2 .sus-common-inner,
      .slag_sus_top_sec01-3 .sus-common-inner,
      .slag_sus_top_sec01-4 .sus-common-inner {
        padding: 15vw 5vw 15vw 5vw; } }
  @media only screen and (max-width: 768px) {
    .slag_sus_top_sec01-1 .ttl2,
    .slag_sus_top_sec01-2 .ttl2,
    .slag_sus_top_sec01-3 .ttl2,
    .slag_sus_top_sec01-4 .ttl2 {
      margin-bottom: 0.5rem; } }
  @media only screen and (max-width: 768px) {
    .slag_sus_top_sec01-1 .ttl3,
    .slag_sus_top_sec01-2 .ttl3,
    .slag_sus_top_sec01-3 .ttl3,
    .slag_sus_top_sec01-4 .ttl3 {
      font-size: 5.5vw; } }
  .slag_sus_top_sec01-1 .slag_subpage_grid_wrap,
  .slag_sus_top_sec01-2 .slag_subpage_grid_wrap,
  .slag_sus_top_sec01-3 .slag_subpage_grid_wrap,
  .slag_sus_top_sec01-4 .slag_subpage_grid_wrap {
    width: 814px;
    grid-template-columns: 385px 316px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: auto; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-1 .slag_subpage_grid_wrap,
      .slag_sus_top_sec01-2 .slag_subpage_grid_wrap,
      .slag_sus_top_sec01-3 .slag_subpage_grid_wrap,
      .slag_sus_top_sec01-4 .slag_subpage_grid_wrap {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 15vw;
        margin: 10vw auto 0; } }
  .slag_sus_top_sec01-1 .texts,
  .slag_sus_top_sec01-2 .texts,
  .slag_sus_top_sec01-3 .texts,
  .slag_sus_top_sec01-4 .texts {
    -ms-flex-item-align: center;
    align-self: center;
    font-size: 0.865rem; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-1 .texts,
      .slag_sus_top_sec01-2 .texts,
      .slag_sus_top_sec01-3 .texts,
      .slag_sus_top_sec01-4 .texts {
        width: 100%;
        margin: auto;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2; } }
  .slag_sus_top_sec01-1 picture,
  .slag_sus_top_sec01-2 picture,
  .slag_sus_top_sec01-3 picture,
  .slag_sus_top_sec01-4 picture {
    display: block; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-1 picture,
      .slag_sus_top_sec01-2 picture,
      .slag_sus_top_sec01-3 picture,
      .slag_sus_top_sec01-4 picture {
        width: 80%;
        margin: auto;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1; } }

.slag_sus_top_sec01-1 {
  background-image: url(../images/concept/h00/bg1.jpg);
  background-position: top center; }
  @media only screen and (max-width: 768px) {
    .slag_sus_top_sec01-1 {
      background-image: url(../images/concept/h00/bg1_sp.jpg); } }
  .slag_sus_top_sec01-1 .sus-common-inner {
    padding-top: 25vw; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-1 .sus-common-inner {
        padding-top: 54vw; } }
  .slag_sus_top_sec01-1 picture {
    margin: auto; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-1 picture {
        width: 70%; } }

.slag_sus_top_sec01-2 {
  background-image: url(../images/concept/h00/bg2.jpg); }
  .slag_sus_top_sec01-2::before {
    background-image: url(../images/concept/h00/bg2.jpg);
    -webkit-filter: blur(10px);
    filter: blur(10px); }
  .slag_sus_top_sec01-2 .slag_subpage_grid_wrap {
    width: 832px;
    grid-template-columns: 383px 360px; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-2 .slag_subpage_grid_wrap {
        width: 100%;
        grid-template-columns: 1fr; } }
  @media only screen and (max-width: 768px) {
    .slag_sus_top_sec01-2 picture {
      width: 80%; } }
  @media only screen and (min-width: 769px) {
    .slag_sus_top_sec01-2 .ttl2, .slag_sus_top_sec01-2 .ttl2_lead {
      text-align: right; } }

.slag_sus_top_sec01-3 {
  background-image: url(../images/concept/h00/bg3.jpg); }
  .slag_sus_top_sec01-3 .slag_subpage_grid_wrap {
    grid-template-columns: 387px 380px; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-3 .slag_subpage_grid_wrap {
        width: 100%;
        grid-template-columns: 1fr; } }
  .slag_sus_top_sec01-3 picture {
    width: 508px; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-3 picture {
        width: 100%; } }

.slag_sus_top_sec01-4 {
  background-image: url(../images/concept/h00/bg4.jpg);
  background-position: center bottom; }
  .slag_sus_top_sec01-4::before {
    background-position: center bottom; }
  @media only screen and (max-width: 768px) {
    .slag_sus_top_sec01-4 .slag_subpage_grid_wrap {
      width: 100%;
      grid-template-columns: 1fr; } }
  .slag_sus_top_sec01-4 picture {
    width: 347pxpx; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-4 picture {
        width: 80%; } }
  @media only screen and (min-width: 769px) {
    .slag_sus_top_sec01-4 .ttl2, .slag_sus_top_sec01-4 .ttl2_lead {
      text-align: right; } }

.slag_sus_top_bnr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 97%;
  margin: auto;
  background: #fff;
  color: #333;
  text-decoration: none;
  border-radius: 20px;
  position: relative;
  padding: 3.5rem 0 2rem;
  background-repeat: no-repeat;
  background-size: contain; }
  @media only screen and (max-width: 768px) {
    .slag_sus_top_bnr {
      min-height: 0;
      padding: 2rem 0 55vw;
      border-radius: 14px; } }
  .slag_sus_top_bnr::after {
    border-radius: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    border: 1px solid #000; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_bnr::after {
        border-radius: 14px; } }
  .slag_sus_top_bnr:hover::after {
    border: 3px solid #1CC18D; }
  .slag_sus_top_bnr_wrap {
    margin-top: 60px; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_bnr_wrap {
        margin-top: 9vw; } }
  .slag_sus_top_bnr .bnr_body {
    display: block;
    width: 370px; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_bnr .bnr_body {
        margin: auto;
        padding: 0 1.5rem;
        width: 100%; } }
  .slag_sus_top_bnr .ttl_sub {
    display: block;
    font-family: "Oswald", sans-serif;
    color: #1CC18D;
    font-size: 20px;
    line-height: 1;
    margin-bottom: 1rem; }
  .slag_sus_top_bnr .ttl_main {
    font-size: 28px;
    font-weight: bold; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_bnr .ttl_main {
        font-size: 5.8vw; } }
  .slag_sus_top_bnr .more {
    font-weight: bold;
    text-align: right;
    margin-right: 30px;
    margin-top: 3rem;
    position: relative;
    padding-right: 2.8rem; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_bnr .more {
        margin-right: 0;
        margin-top: 1em; } }
    .slag_sus_top_bnr .more span {
      display: inline-block; }
    .slag_sus_top_bnr .more .link_right_icon {
      background-color: #1CC18D;
      height: 1.875rem; }
  .slag_sus_top_sec01-1 .slag_sus_top_bnr {
    background-image: url(../images/concept/h01_top_bg.png);
    background-position: 12% 12%;
    background-size: 52% auto; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-1 .slag_sus_top_bnr {
        background-size: contain;
        background-position: bottom center;
        background-position: center bottom -33vw; } }
  .slag_sus_top_sec01-2 .slag_sus_top_bnr {
    background-image: url(../images/concept/btn_h02_bg.png);
    background-position: 13% center;
    background-size: auto 86%; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-2 .slag_sus_top_bnr {
        background-size: 95% auto;
        background-position: center bottom 3vw; } }
  .slag_sus_top_sec01-3 .slag_sus_top_bnr {
    background-image: url(../images/concept/btn_h03_bg.png);
    background-position: 59px bottom;
    background-size: auto 300px; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-3 .slag_sus_top_bnr {
        background-size: contain;
        background-position: bottom center; } }
  .slag_sus_top_sec01-4 .slag_sus_top_bnr {
    background-image: url(../images/concept/btn_h04_bg.png);
    background-position: 84px bottom;
    background-size: 464px auto; }
    @media only screen and (max-width: 768px) {
      .slag_sus_top_sec01-4 .slag_sus_top_bnr {
        background-size: 90% auto;
        background-position: bottom center; } }

.slag_sus_mv {
  min-height: 700px;
  overflow-x: hidden; }
  @media only screen and (max-width: 768px) {
    .slag_sus_mv {
      min-height: 120vw;
      padding: 0 0 0; } }
  .slag_sus_mv .common-inner {
    min-height: 700px;
    position: relative; }
    @media only screen and (max-width: 768px) {
      .slag_sus_mv .common-inner {
        min-height: 120vw; } }
  .slag_sus_mv .common-inner::after {
    z-index: -1;
    content: "";
    display: block;
    position: absolute;
    right: 0;
    left: auto;
    top: 0;
    bottom: auto;
    margin: auto;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom right; }
    @media only screen and (max-width: 768px) {
      .slag_sus_mv .common-inner::after {
        background-position: center center;
        width: 100%;
        height: auto;
        aspect-ratio: 1/1;
        right: 0;
        position: static; } }
  .h01 .slag_sus_mv .common-inner::after {
    background-image: url(../images/concept/h01_top_bg.png);
    width: 648px;
    height: 664px;
    right: -150px; }
    @media only screen and (max-width: 768px) {
      .h01 .slag_sus_mv .common-inner::after {
        background-position: top center;
        position: static;
        margin-top: -5vw;
        width: 100%;
        height: auto; } }
  .h02 .slag_sus_mv .common-inner::after {
    background-image: url(../images/concept/h02_top_bg.png);
    width: 680px;
    height: 664px;
    right: -150px;
    top: 0; }
    @media only screen and (max-width: 768px) {
      .h02 .slag_sus_mv .common-inner::after {
        background-position: top center;
        position: static;
        margin-top: -10vw;
        width: 100%;
        height: auto; } }
  .h03 .slag_sus_mv .common-inner::after {
    background-image: url(../images/concept/h03_top_bg.png);
    width: 670px;
    height: 640px;
    right: -150px;
    top: 0; }
    @media only screen and (max-width: 768px) {
      .h03 .slag_sus_mv .common-inner::after {
        background-position: top center;
        position: static;
        margin-top: -10vw;
        width: 100%;
        height: auto; } }
  .h04 .slag_sus_mv .common-inner::after {
    background-image: url(../images/concept/h04_top_bg.png);
    width: 634px;
    height: 630px;
    right: -150px; }
    @media only screen and (max-width: 768px) {
      .h04 .slag_sus_mv .common-inner::after {
        background-position: top center;
        background-size: contain;
        position: static;
        margin-top: -5vw;
        width: 100%;
        height: auto; } }

.slag_sus_top_mv .common-inner::after {
  content: none; }

.slag_sus_mv_title {
  position: relative;
  margin-top: 124px; }
  @media only screen and (max-width: 768px) {
    .slag_sus_mv_title {
      margin-top: auto; } }
  .slag_sus_mv_title .ttl_sub_ja {
    display: block;
    font-size: 2.125rem;
    font-weight: bold;
    line-height: 1.2; }
    @media only screen and (max-width: 768px) {
      .slag_sus_mv_title .ttl_sub_ja {
        font-size: 1.625rem; } }
    .slag_sus_mv_title .ttl_sub_ja .small {
      font-size: 0.8em; }
  .slag_sus_mv_title .ttl_sub_en {
    display: block;
    font-family: "Oswald", sans-serif;
    font-size: 1.625rem;
    font-weight: 500;
    line-height: 1.2;
    margin-top: 3rem; }
    @media only screen and (max-width: 768px) {
      .slag_sus_mv_title .ttl_sub_en {
        font-size: 1.25rem;
        margin-top: 2rem; } }
  .slag_sus_mv_title .ttl_main {
    display: block;
    font-size: 3rem;
    color: #1CC18D;
    font-weight: bold;
    line-height: 1.8;
    margin-top: .5rem; }
    @media only screen and (max-width: 768px) {
      .slag_sus_mv_title .ttl_main {
        font-size: 6vw; } }

.slag_sus_ttl_type1 {
  font-size: 28px;
  margin-bottom: 1em;
  font-weight: bold; }
  @media only screen and (max-width: 768px) {
    .slag_sus_ttl_type1 {
      font-size: 5.5vw; } }

.slag_sus_ttl_type2 {
  text-align: center;
  font-weight: bold; }
  .slag_sus_ttl_type2 .ttl_sub_ja {
    display: block;
    font-size: 2.75rem; }
    @media only screen and (max-width: 768px) {
      .slag_sus_ttl_type2 .ttl_sub_ja {
        font-size: 4.5vw; } }
  .slag_sus_ttl_type2 .ttl_sub_en {
    display: block;
    font-weight: 500;
    font-size: 1.75rem;
    font-family: "Oswald", sans-serif; }
    @media only screen and (max-width: 768px) {
      .slag_sus_ttl_type2 .ttl_sub_en {
        font-size: 5vw; } }
  .slag_sus_ttl_type2 .ttl_main {
    display: block;
    font-size: 40px;
    color: #1CC18D;
    margin: .5em auto .2em; }
    @media only screen and (max-width: 768px) {
      .slag_sus_ttl_type2 .ttl_main {
        font-size: 6vw; } }
  .slag_sus_ttl_type2 .ttl_add {
    display: block;
    font-size: 1.25rem;
    color: #666; }
    @media only screen and (max-width: 768px) {
      .slag_sus_ttl_type2 .ttl_add {
        font-size: 5vw; } }

.slag_sus_ttl_type3 {
  position: relative;
  margin: auto auto 80px; }
  .slag_sus_ttl_type3 .ttl_main {
    line-height: 1;
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    left: 0;
    right: auto;
    top: 0;
    bottom: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 2.25rem;
    font-weight: bold;
    top: 0;
    bottom: 0;
    margin: auto; }
    .slag_sus_ttl_type3 .ttl_main > span {
      -ms-flex-item-align: start;
      align-self: flex-start;
      background-color: #fff;
      margin: .5rem 0;
      width: auto;
      display: inline-block;
      padding: .1em;
      border-radius: 8px; }
    @media only screen and (max-width: 768px) {
      .slag_sus_ttl_type3 .ttl_main {
        position: static;
        font-size: 6vw; } }
  .slag_sus_ttl_type3 .ttl_img {
    width: 66%;
    margin-left: auto;
    border-radius: 20px;
    overflow: hidden; }
    @media only screen and (max-width: 768px) {
      .slag_sus_ttl_type3 .ttl_img {
        width: 100%;
        margin: 5vw auto auto; } }

.slag_sus_subttl_type1 {
  font-weight: bold;
  color: #1CC18D;
  font-size: 24px;
  margin: 1em auto; }
  @media only screen and (max-width: 768px) {
    .slag_sus_subttl_type1 {
      font-size: 5vw; } }
  .slag_subpage_grid_wrap .slag_sus_subttl_type1 {
    margin-top: 0; }
    @media only screen and (max-width: 768px) {
      .slag_subpage_grid_wrap .slag_sus_subttl_type1 {
        margin: 1em auto; } }

.slag_sus_subttl_type2 {
  font-weight: bold;
  text-align: center;
  font-size: 1.25rem;
  margin: 1em auto 2em; }
  .slag_sus_subttl_type2 b {
    font-weight: bold;
    color: #1CC18D; }

.slag_sus_project_matome {
  background-color: #1CC18D;
  color: #fff;
  border-radius: 24px;
  padding: 3em;
  margin: 50px auto auto; }
  @media only screen and (max-width: 768px) {
    .slag_sus_project_matome {
      padding: 1rem; } }
  .slag_sus_project_matome .ttl {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 1em; }
    @media only screen and (max-width: 768px) {
      .slag_sus_project_matome .ttl {
        font-size: 1.375rem; } }

.slag_sus_project_matome_list {
  font-size: 1.125rem;
  font-weight: bold;
  counter-reset: listnum;
  list-style: none; }
  @media only screen and (max-width: 768px) {
    .slag_sus_project_matome_list {
      font-size: 1rem; } }
  .slag_sus_project_matome_list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin-bottom: 1em; }
    .slag_sus_project_matome_list li p {
      width: calc(100% - 2.5rem);
      letter-spacing: .1em;
      margin: auto; }
    .slag_sus_project_matome_list li::before {
      counter-increment: listnum;
      /* counter-resetと同じ文字列 */
      content: counter(listnum,decimal-leading-zero);
      /* カウントした数に応じて番号を表示 */
      display: block;
      width: 2.5rem;
      font-size: 28px;
      font-weight: bold;
      line-height: 1.2; }

.slag_sus_mv + section {
  padding-top: 2vw; }

.slag_sus_sec01-1 {
  gap: 177px; }

@media only screen and (max-width: 768px) {
  .slag_sus_sec01-h01 div:first-child {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2; }
  .slag_sus_sec01-h01 div:last-child {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1; } }

@media only screen and (min-width: 769px) {
  .slag_sus_sec01-h03 {
    grid-template-columns: 1.2fr 1fr;
    gap: 73px; } }
@media only screen and (max-width: 768px) {
  .slag_sus_sec01-h03 div:first-child {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2; }
  .slag_sus_sec01-h03 div:last-child {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1; } }

@media only screen and (max-width: 768px) {
  .slag_sus_sec01-h04 div:first-child {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2; }
  .slag_sus_sec01-h04 div:last-child {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1; } }

.slag_sus_sec02 {
  padding: 3vw 0 2vw; }
  @media only screen and (max-width: 768px) {
    .slag_sus_sec02 {
      padding: 8vw 0 2vw; } }
  .slag_sus_sec02 .body1 {
    margin: 40px auto;
    max-width: 817px;
    font-weight: 600;
    line-height: 2; }
    @media only screen and (max-width: 768px) {
      .slag_sus_sec02 .body1 {
        text-align: left; } }

.slag_sus_anc_links {
  width: 60%;
  margin: 50px auto; }
  @media only screen and (max-width: 768px) {
    .slag_sus_anc_links {
      width: 100%;
      max-width: 600px; } }
  @media only screen and (min-width: 769px) {
    .slag_sus_anc_links.col3 {
      grid-template-columns: 1fr 1fr 1fr;
      width: 100%; } }
  .slag_sus_anc_links .links_item {
    position: relative;
    background-color: #fff;
    min-height: 130px;
    border-radius: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-decoration: none;
    color: #333;
    -webkit-box-shadow: 0px 20px 32px rgba(0, 0, 0, 0.08);
    box-shadow: 0px 20px 32px rgba(0, 0, 0, 0.08);
    position: relative;
    padding: 1em 1em 3em;
    font-weight: 600;
    text-align: center; }
    .slag_sus_anc_links .links_item .sub {
      display: block;
      font-size: .8em; }
    .slag_sus_anc_links .links_item .main {
      display: block; }
    .slag_sus_anc_links .links_item::after {
      border: 1px solid #000;
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      border-radius: 20px;
      left: 0;
      top: 0; }
    .slag_sus_anc_links .links_item:hover::after {
      border: 3px solid #1CC18D; }
  .slag_sus_anc_links .link_right_icon {
    left: 0;
    bottom: .5rem;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    height: 30px;
    background-color: #1CC18D; }

.slag_sus_anc_links.blue .link_right_icon {
  background-color: #28ADE8; }
.slag_sus_anc_links.blue .links_item:hover::after {
  border: 3px solid #28ADE8; }

.slag_sus_sec02-1 {
  gap: 177px; }

.slag_sus_project.bg {
  background-color: #EDFCF7;
  border-radius: 60px; }
.slag_sus_project.bg2 {
  background-color: #FAF8F4;
  border-radius: 60px; }
.slag_sus_project picture {
  overflow: hidden; }
.slag_sus_project p {
  margin: auto auto 1em; }
.slag_sus_project_inner {
  width: calc( 1088px + 2rem);
  max-width: 100%;
  margin: auto;
  padding: 0 1rem; }

.slag_subpage_grid_wrap.h02-5 {
  gap: 5.6%; }
  @media only screen and (max-width: 768px) {
    .slag_subpage_grid_wrap.h02-5 {
      gap: 5.6vw;
      max-width: 600px; } }

.h02 .slag_sus_project .slag_sus_ttl_type3 .ttl_img {
  width: 42%; }
  @media only screen and (max-width: 768px) {
    .h02 .slag_sus_project .slag_sus_ttl_type3 .ttl_img {
      width: 80%; } }

.slag_l_btn {
  overflow: hidden;
  margin: auto;
  position: relative;
  line-height: 1;
  background: #fff;
  color: #333;
  border-radius: 100px;
  text-decoration: none;
  padding: 1em 3em;
  min-height: 80px;
  width: 400px;
  font-weight: bold;
  -webkit-box-shadow: 0px 20px 30px rgba(0, 0, 0, 0.08);
  box-shadow: 0px 20px 30px rgba(0, 0, 0, 0.08);
  color: #28ADE8;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: center;
  align-content: center; }
  @media only screen and (max-width: 768px) {
    .slag_l_btn {
      width: 100%;
      min-height: 70px;
      padding: 1em 2em 1em 1em; } }
  .slag_l_btn > span {
    z-index: 3; }
  .slag_l_btn::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    margin: auto;
    border: 1px solid #000;
    border-radius: 100px;
    z-index: 3; }
  .slag_l_btn:hover::after {
    border: 3px solid #28ADE8; }
  .slag_l_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: #EEF6F7;
    width: 100%;
    height: 100%;
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top; }
  .slag_l_btn:hover::before {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); }
  .slag_l_btn .link_right_icon,
  .slag_l_btn .link_left_icon {
    z-index: 3;
    height: 1.875em;
    top: 0;
    margin: auto;
    background-color: #28ADE8;
    right: 1rem; }
  .slag_l_btn.sus {
    color: #1CC18D; }
    .slag_l_btn.sus .link_right_icon,
    .slag_l_btn.sus .link_left_icon {
      background-color: #1CC18D; }
    .slag_l_btn.sus:hover::after {
      border: 3px solid #1CC18D; }
    .slag_l_btn.sus::before {
      background: #F2F8F6; }
  .slag_l_btn.left {
    padding: 1em 3em 1em 4em; }
    .slag_l_btn.left .link_right_icon,
    .slag_l_btn.left .link_left_icon {
      left: 1rem;
      right: auto; }
  .slag_l_btn.right {
    padding: 1em 4em 1em 3em; }
    .slag_l_btn.right .link_right_icon,
    .slag_l_btn.right .link_left_icon {
      right: 1rem;
      left: auto; }

.slag_m_btn {
  margin: auto;
  overflow: hidden;
  position: relative;
  line-height: 1.2;
  background: #fff;
  color: #333;
  border-radius: 100px;
  text-decoration: none;
  padding: 1em 3em;
  font-weight: bold;
  -webkit-box-shadow: 0px 20px 30px rgba(0, 0, 0, 0.08);
  box-shadow: 0px 20px 30px rgba(0, 0, 0, 0.08);
  color: #28ADE8;
  min-height: 64px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media only screen and (max-width: 768px) {
    .slag_m_btn {
      min-height: 54px; } }
  .slag_m_btn > span {
    z-index: 3;
    position: relative; }
  .slag_m_btn::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    margin: auto;
    border: 1px solid #000;
    border-radius: 100px;
    z-index: 3; }
  .slag_m_btn:hover::after {
    border: 3px solid #28ADE8; }
  .slag_m_btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: #EEF6F7;
    width: 100%;
    height: 100%;
    -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    transition: transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s, -webkit-transform 0.6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top; }
  .slag_m_btn:hover::before {
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1); }
  .slag_m_btn .link_right_icon,
  .slag_m_btn .link_left_icon {
    height: 1.875em;
    top: 0;
    margin: auto;
    background-color: #28ADE8;
    z-index: 3; }
  .slag_m_btn.sus {
    color: #1CC18D; }
    .slag_m_btn.sus .link_right_icon,
    .slag_m_btn.sus .link_left_icon {
      background-color: #1CC18D; }
    .slag_m_btn.sus:hover::after {
      border: 3px solid #1CC18D; }
    .slag_m_btn.sus::before {
      background: #F2F8F6; }
  .slag_m_btn.left {
    padding: 1em 3em 1em 4em; }
    .slag_m_btn.left .link_right_icon,
    .slag_m_btn.left .link_left_icon {
      left: 1rem;
      right: auto; }
  .slag_m_btn.right {
    padding: 1em 4em 1em 3em; }
    .slag_m_btn.right .link_right_icon,
    .slag_m_btn.right .link_left_icon {
      right: 1rem;
      left: auto; }

.slag_txt_link {
  display: inline-block;
  position: relative;
  padding-right: 2.5em;
  text-decoration: none;
  color: #333;
  font-weight: 600; }
  .slag_txt_link .link_left_icon,
  .slag_txt_link .link_right_icon {
    height: 1.875em; }
  .slag_txt_link.sus .link_left_icon,
  .slag_txt_link.sus .link_right_icon {
    background-color: #1CC18D; }
  .slag_txt_link::after {
    content: "";
    position: absolute;
    width: calc( 100% - 2em);
    height: 1px;
    background: #000;
    bottom: 0;
    left: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transition: .2s;
    transition: .2s; }
  .slag_txt_link:hover::after {
    -webkit-transform: scaleX(1);
    transform: scaleX(1); }

.slag_scroll_btn {
  border: 1px solid #333;
  background: #fff;
  width: 58px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 100px;
  position: absolute;
  right: 2rem;
  right: 2rem;
  bottom: 0;
  margin: auto;
  -webkit-animation: .6s slag_scroll_anime ease-out infinite alternate;
  animation: .6s slag_scroll_anime ease-out infinite  alternate; }
  @media only screen and (max-width: 768px) {
    .slag_scroll_btn {
      display: none; } }
  .slag_scroll_btn::after {
    display: block;
    content: "";
    width: .6rem;
    height: .6rem;
    background: url(../images/common/ison_link_r_k.svg) center center no-repeat;
    background-size: contain;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto; }

@-webkit-keyframes slag_scroll_anime {
  0% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px); }
  100% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px); } }
@keyframes slag_scroll_anime {
  0% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px); }
  100% {
    -webkit-transform: translateY(-5px);
    transform: translateY(-5px); } }
/* 追記 2024/03/22
---------------------------------------------------------------- */
.add_sus_link_btn {
  text-align: center; }

@media only screen and (max-width: 768px) {
  .add_sus_link_btn {
    margin-top: 5em; } }
@media only screen and (min-width: 769px) {
  .add_sus_link_btn {
    margin-top: 3em; } }
.add_dl_link_btn {
  grid-template-columns: 1fr 1fr; }

.add_dl_link_btn dd {
  text-align: left; }

@media only screen and (max-width: 768px) {
  .add_dl_link_btn {
    grid-template-columns: 1fr;
    padding: 0 0; } }
@media only screen and (min-width: 769px) {
  .add_dl_link_btn {
    grid-template-columns: 1fr 1fr;
    margin-top: 0; } }
.download_contact_btn_wrap a.slag_txt_link {
  margin-top: 1em; }

.download_contact_btn_wrap a.slag_txt_link .link_right_icon {
  right: 0;
  bottom: 0; }

/* Added 2024/06/28
---------------------------------------------------------------- */
.slag_sdgs_list_item .num {
  font-size: 34px; }

@media only screen and (max-width: 768px) {
  .slag_sdgs_list_item .num {
    font-size: 40px; } }
.download_contact_btn_wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 28px;
  margin: 70px auto auto;
  width: 920px;
  max-width: 100%; }

h1.slag_subpage_mv_title,
h2.slag_subpage_section_title {
  color: #007fb7; }

.slag_point_list_item.sus {
  background-color: #fffee8; }

.download_contact_btn_wrap .btn dt {
  font-weight: normal;
  font-size: 1.5rem;
  color: #000; }

.slag_sc_green {
  padding: 3em;
  background-color: #fffee8;
  border-radius: 1rem; }

.mt-1em {
  margin-top: -1em; }

.mt4em {
  margin-top: 4em; }

span.add_icon_eco_g img {
  width: 28px; }

.slag_top_img-02 {
  width: 430px;
  right: -143px;
  top: -17em; }

.slag_top_img-01 {
  width: 384px;
  right: unset;
  left: -5em;
  top: -11em;
  z-index: 0; }

.slag_top_img-04 {
  width: 442px;
  left: unset;
  right: -2em;
  top: -30em; }

.slag_top_img-05 {
  width: 340px;
  right: 0em;
  left: unset;
  bottom: 59em;
  z-index: -1; }

.slag_top_img-03 {
  width: 449px;
  right: -95px;
  top: -15em; }

.slag_top_img-06 {
  width: 540px;
  left: -125px;
  bottom: -170px; }

.slag_sc_ill_A {
  background: #f7f7f7;
  border-radius: 60px;
  background-image: url(../images/concept/h00/bg1.jpg);
  background-position: top center;
  background-size: cover;
  background-color: rgba(255, 255, 255, 0.2);
  background-blend-mode: lighten; }

.slag_sc_ill_B {
  background: #f7f7f7;
  border-radius: 60px;
  background-image: url(../images/concept/h00/bg1.jpg);
  background-position: top center;
  background-size: cover;
  background-color: rgba(255, 255, 255, 0.6);
  background-blend-mode: lighten; }

.crumb {
  background: url(/en/products/slag/images/crumb_bg.png);
  margin: 0 auto 2em; }

/* 202607
---------------------------------------------------------------- */
.slag_subpage > .crumb {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0; }

.slag_video_bg_wrap {
  margin-top: 0; }
  @media only screen and (max-width: 768px) {
    .slag_video_bg_wrap {
      margin-top: 0; } }
  .slag_video_bg_wrap .video_bg {
    position: relative; }
  .slag_video_bg_wrap .video_bg_image {
    display: block;
    width: 100%; }
    .slag_video_bg_wrap .video_bg_image img {
      width: 100%;
      height: auto;
      display: block; }
  .slag_video_bg_wrap .video_bg_movie {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain; }
  .slag_video_bg_wrap .btn_skip {
    position: absolute;
    z-index: 2;
    margin: auto;
    right: 10%;
    top: 10%;
    background: #009DF4;
    color: #fff;
    padding: 8px;
    width: auto;
    line-height: 1;
    border-radius: 30px;
    text-decoration: none;
    text-align: center;
    border: none;
    cursor: pointer; }
    @media only screen and (max-width: 768px) {
      .slag_video_bg_wrap .btn_skip {
        font-size: 12px;
        right: 10px;
        top: 5px; } }
    .slag_video_bg_wrap .btn_skip:hover {
      background: #F58100; }
  .slag_video_bg_wrap.is-video-closed .video_bg_movie, .slag_video_bg_wrap.is-video-closed .btn_skip {
    display: none; }

.slag_video_link_btn_wrap {
  margin-block: 50px; }
  @media only screen and (max-width: 768px) {
    .slag_video_link_btn_wrap {
      margin-block: 20px 50px; } }

.slag_video_link_btn {
  display: block;
  margin-inline: auto;
  width: 340px;
  text-align: center;
  text-decoration: none;
  color: #000; }
  @media only screen and (max-width: 768px) {
    .slag_video_link_btn {
      width: 48vw; } }
  .slag_video_link_btn:hover {
    opacity: .75; }
  .slag_video_link_btn img {
    display: block; }
  .slag_video_link_btn .caption {
    display: block;
    text-decoration: none;
    color: inherit; }
    @media only screen and (max-width: 768px) {
      .slag_video_link_btn .caption {
        font-size: 12; } }
