@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&family=Noto+Sans+JP:wght@100;300;400;700;900&display=swap');

/*
* css ver4.0
* Written by Variety Article Factory
******************************************vaf*/
/*
* 引数
**************************************/
:root {
  --inner_width: 1140px; /* padding in */
  --fontfamily_def: 'Noto Sans JP',Roboto,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  --fontfamily_mincho: "Times New Roman", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  --fontsize_def: 18px;
  --fontsize_mid: 20px;
  --fontsize_hi: 32px;
  --fontsize_title: 50px;
  --lineheight_def: 1.5;
  --lineheight_mid: 1.8;
  --lineheight_hi: 2.0;
  --fontcolor_def: #333333;
  --fontcolor_link: #FB1D1B;
  --color_def: #333333;
  --color_blue: #003876;
  --color_lightblue: #F2F9FF;
  --color_white: #FFFFFF;
  --color_yellow: #F99A00;
  --color_black: #333333;
  --color_red: #D20015;
  --header_height: 70px;
  --animate_spead: 0.3s;
  --img_maxsize: 940px;
  
  --sp_fontsize_def: 15px;
  --sp_fontsize_mid: 16px;
  --sp_fontsize_hi: 20px;
  --sp_fontsize_title: 30px;
  --sp_lineheight_def: 1.5;
  --sp_lineheight_mid: 1.7;
  --sp_lineheight_hi: 2.0;
  --sp_header_height: 50px;
}


/*
* 共通要素
**************************************/
/* tag design */
body{
  font-family: var(--fontfamily_def);
  color: var(--fontcolor_def);
  font-size: var(--fontsize_def);
  line-height: var(--lineheight_def);
  /*font-feature-settings: "palt";*/
}
.gothic{
  font-family: var(--fontfamily_def);
}
a {
  color: var(--fontcolor_link);
  text-decoration: none;
}
a:hover {
  color: var(--fontcolor_link);
  text-decoration: underline;
}
ul,ol {
  list-style: none;
}

a:hover img {
  opacity: 0.7;
  animation-name: HoverAnimation;
  animation-duration: 0.2s;
}
img {
  aspect-radio: 16 / 9;
  max-width: 100%;
}
::placeholder {
  color: #cdd6dd;
}

.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}


/* block design */
.inner {
  position: relative;
  max-width: var(--inner_width);
  margin: auto;
  padding: 0 20px;
}

/* text design */
.t_lb {
  color: var(--color_lightblue);
}
.t_blue {
  color: var(--color_blue);
}
.t_white {
  color: var(--color_white);
}
.t_yellow {
  color: var(--color_yellow);
}
.t_red {
  color: var(--color_red);
}
.t_left {
  text-align: left !important;
}
.t_center {
  text-align: center !important;
}
.t_right {
  text-align: right !important;
}

/* btn design */
.btn {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 10px 20px 11px;
  min-width: 280px;
  min-height: 50px;
  border: 2px solid transparent;
  border-radius: 6px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  font-size: 22px;
  line-height: 1.0;
  color: var(--fontcolor_def);
  text-decoration: none;
}
.btn:before {
}
.btn:after {
}
.btn:hover {
  text-decoration: none;
}

.btn.blue {
  border-color: var(--color_lightgreen);
  color: var(--color_white);
  background-color: var(--color_lightgreen);
}
.btn.blue:hover {
  background-color: var(--color_white);
  color: var(--color_lightgreen);
}
.btn.yellow {
  border-color: var(--color_yellow);
  color: var(--color_white);
  background-color: var(--color_yellow);
}
.btn.yellow:hover {
  background-color: var(--color_white);
  color: var(--color_yellow);
}
.btn.yellow.c_blue {
  color: var(--color_blue);
}
.btn.yellow.c_blue:hover {
  color: var(--color_blue);
}

.btn.white {
  border-color: var(--color_white);
  color: var(--color_green);
  background-color: var(--color_white);
}
.btn.white:hover {
  border-color: var(--color_white);
  background-color: var(--color_white);
  color: var(--color_white);
}
.btn.white.c_blue {
  color: var(--color_blue);
}
.btn.white.c_blue:hover {
  color: var(--color_blue);
}

.btn.icon:before {
  content: "";
  position: relative;
  display: inline-block;
  margin-right: 15px;
}
.btn.icon.mail:before {
  left: 0;
  bottom: 0px;
  width: 29px;
  height: 20px;
  background: url(../../image/home/icon_mail_white.png) no-repeat scroll 0 0;
  background-size: auto 100%;
}
.btn.icon.mail:hover:before {
  background: url(../../image/home/icon_mail_yellow.png) no-repeat scroll 0 0;
  background-size: auto 100%;
}
.btn.icon.mail.c_blue:before {
  background: url(../../image/home/icon_mail_blue.png) no-repeat scroll 0 0;
  background-size: auto 100%;
}
.btn.icon.doc:before {
  left: 0;
  bottom: 0px;
  width: 20px;
  height: 26px;
  background: url(../../image/home/icon_doc_white.png) no-repeat scroll 0 0;
  background-size: auto 100%;
}
.btn.icon.doc:hover:before {
  background: url(../../image/home/icon_doc_yellow.png) no-repeat scroll 0 0;
  background-size: auto 100%;
}
.btn.icon.doc.c_blue:before {
  background: url(../../image/home/icon_doc_blue.png) no-repeat scroll 0 0;
  background-size: auto 100%;
}


.grecaptcha-badge { 
  position: relative;
  bottom: 70px !important;
  z-index: 500;
}



/*
* HEADER_AREA
**************************************/
#HEADER_AREA {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  
  width: 100%;
  height: var(--header_height);
  padding: 0 50px;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  background-color: #ffffff;
}
  #HEADER_AREA .splitbox {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
  }
  #HEADER_AREA .logo {
    width: auto;
    max-height: 60px;
  }
  #HEADER_AREA .imgbox {
    width: auto;
    height: 62px;
  }
    #HEADER_AREA .imgbox img {
      max-height: 62px;
    }
  #HEADER_AREA .menubtn {
    margin-left: 15px;
  }
    #HEADER_AREA .menubtn button {
      width: 45px;
      height: 40px;
      font-size: 0;
      background-image: linear-gradient(180deg,
        var(--color_black) 0px, var(--color_black) 8px,
        var(--color_white) 8px, var(--color_white) 16px,
        var(--color_black) 16px, var(--color_black) 24px,
        var(--color_white) 24px, var(--color_white) 32px,
        var(--color_black) 32px, var(--color_black) 40px);
    }
    #HEADER_AREA .menubtn button:hover {
      
      background-image: linear-gradient(180deg,
        var(--color_black) 0px, var(--color_black) 8px,
        var(--color_white) 9px, var(--color_white) 16px,
        var(--color_black) 17px, var(--color_black) 24px,
        var(--color_white) 25px, var(--color_white) 32px,
        var(--color_black) 33px, var(--color_black) 40px);
    }
  #HEADER_AREA #GLOBALMENU_BLOCK {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 1000;
    overflow: hidden;
    width: 100%;
    height: 100%;
    background-color: transparent;
    
    transform: translateX(100%);
  }
    #GLOBALMENU_BLOCK .global_menu {
      position: fixed;
      top: 0px;
      right: 0px;
      
      overflow-y: auto;
      z-index: 1050;
      max-width: 340px;
      height: 100%;
      background-color: var(--color_white);
    
      transform: translateX(105%);
      transition: transform 0.3s ease-out;
    }
  #HEADER_AREA #GLOBALMENU_BLOCK.active {
    background-color: rgba(51,51,51,0.8);
    transform: translateX(0);
  }
    #HEADER_AREA #GLOBALMENU_BLOCK.active .global_menu {
      transform: translateX(0);
    }
    #GLOBALMENU_BLOCK .global_menu nav {}
      #GLOBALMENU_BLOCK .global_menu nav li {
        border-bottom: 1px solid #A7A7A7;
      }
        #GLOBALMENU_BLOCK .global_menu nav li a {
          position: relative;
          display: flex;
          width: 100%;
          height: 60px;
          padding: 10px 20px;
          align-items: center;
          color: #0059A7;
          font-size: 15px;
          font-weight: bold;
        }
        #GLOBALMENU_BLOCK .global_menu nav li a:hover {
          color: #0059A7;
          text-decoration: underline;
        }
    #GLOBALMENU_BLOCK .global_menu .close {
      position: absolute;
      top: 10px;
      left: 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 30px;
      height: 30px;
      border-radius: 15px;
      font-size: 0;
      color: var(--color_white);
      background-color: var(--color_def);
    }
    #GLOBALMENU_BLOCK .global_menu .close:after {
      content: "\e9c5";
      font-family: 'icon-fonts' !important;
      font-size: 15px;
      line-height: 1.0;
    }
    #GLOBALMENU_BLOCK .global_menu .close:hover {
      background-color: var(--color_lightgreen);
    }
body.fixed {
  left: 0px;
  top: 0px;
  position: fixed;
  width: 100%;
}

/*
* FOOTER_AREA
**************************************/
#FOOTER_AREA {}
  #FOOTER_AREA a {
    color: var(--color_def);
  }
  #FOOTER_AREA #COMPANY_BLOCK {
    padding: 85px 0 110px;
  }
    #FOOTER_AREA #COMPANY_BLOCK .inner {
      max-width: 1040px;
    }
    #FOOTER_AREA #COMPANY_BLOCK .title {
      margin-bottom: 95px;
      font-size: 42px;
      font-weight: 900;
      text-align: center;
    }
      #FOOTER_AREA #COMPANY_BLOCK .title strong {
        font-weight: 900;
      }
    #FOOTER_AREA #COMPANY_BLOCK .splitbox {
      display: flex;
      gap: 0 50px;
      justify-content: space-between;
    }
      #FOOTER_AREA #COMPANY_BLOCK .splitbox .left {
        padding-top: 55px;
        width: 330px;
        flex-shrink: 0;
      }
        #FOOTER_AREA #COMPANY_BLOCK .splitbox .left > * {
          margin-bottom: 50px;
          text-align: center;
        }
        #FOOTER_AREA #COMPANY_BLOCK .splitbox .left .imgbox {}
          #FOOTER_AREA #COMPANY_BLOCK .splitbox .left .imgbox img {
            width: 295px;
          }
        #FOOTER_AREA #COMPANY_BLOCK .splitbox .left .official_site {
          padding: 11px 15px 13px;
          border-radius: 10px;
          border: 2px solid #959595;
          font-size: 18px;
        }
        #FOOTER_AREA #COMPANY_BLOCK .splitbox .left .tel {}
          #FOOTER_AREA #COMPANY_BLOCK .splitbox .left .tel img {
            max-width: 295px;
          }
      #FOOTER_AREA #COMPANY_BLOCK .splitbox .right {
        width: 100%;
      }
    #FOOTER_AREA #COMPANY_BLOCK .splitbox table {
      width: 100%;
      border: 1px solid #88A1B8;
      border-collapse: separate;
    }
      #FOOTER_AREA #COMPANY_BLOCK .splitbox table th,
      #FOOTER_AREA #COMPANY_BLOCK .splitbox table td {
        padding: 15px 20px;
        font-size: 16px;
        line-height: 1.4;
      }
      #FOOTER_AREA #COMPANY_BLOCK .splitbox table th {
        width: 120px;
        font-weight: normal;
        background-color: #C2DFF9;
      }
      #FOOTER_AREA #COMPANY_BLOCK .splitbox table tr + tr th {
        border-top: 2px solid var(--color_white);
      }
      #FOOTER_AREA #COMPANY_BLOCK .splitbox table tr + tr td {
        border-top: 2px solid #C2DFF9;
      }
      #FOOTER_AREA #COMPANY_BLOCK .splitbox table td {}
      #FOOTER_AREA #COMPANY_BLOCK .splitbox table dl {}
        #FOOTER_AREA #COMPANY_BLOCK .splitbox table dl dt {
          font-size: 18px;
          font-weight: bold;
        }
        #FOOTER_AREA #COMPANY_BLOCK .splitbox table dl dd + dt {
          margin-top: 1em;
        }
      
  #FOOTER_AREA .bottomblock {
    padding: 20px;
    background-color: var(--color_blue);
  }
    #FOOTER_AREA .bottomblock #COPYRIGHT {
      text-align: center;
      font-size: 18px;
      font-weight: bold;
      color: var(--color_white);
    }
  #FOOTER_AREA #PAGE_TOP {
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 100;
  }


/*
* CONTENTS_AREA
**************************************/
#CONTENTS_AREA {
  padding-top: var(--header_height);
}
  /* parts design */
  #CONTENTS_AREA .splitbox {
    display: flex;
    justify-content: center;
  }
  #CONTENTS_AREA .splitbox.wrap {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  #CONTENTS_AREA .splitbox.between {
    justify-content: space-between;
  }
  #CONTENTS_AREA .splitbox.aic {
    align-items: center
  }
    #CONTENTS_AREA .splitbox .left {
      order: 1;
    }
    #CONTENTS_AREA .splitbox .right {
      order: 2;
    }
  #CONTENTS_AREA .listbox {
    display: flex;
  }
  #CONTENTS_AREA .listbox.wrap {
    flex-wrap: wrap;
  }
  #CONTENTS_AREA .listbox.between {
    justify-content: space-between;
  }
  #CONTENTS_AREA .listbox.aic {
    align-items: center
  }
  #CONTENTS_AREA .imgbox {
    width: 100%;
    max-width: 100%;
  }
    #CONTENTS_AREA .imgbox img {
      width: 100%;
    }
    
  #CONTENTS_AREA .section_block {
    padding: 115px 0 150px;
  }
  #CONTENTS_AREA .section_block.blue {
    background-color: var(--color_blue);
  }
  #CONTENTS_AREA .section_block.lb {
    background-color: var(--color_lightblue);
  }
    #CONTENTS_AREA .section_block .section_title {
      position: relative;
      margin-bottom: 95px;
      text-align: center;
      font-size: 32px;
      font-weight: 900;
    }
    #CONTENTS_AREA .section_block .section_title:before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: -15px;
      width: 500px;
      max-width: 100%;
      height: 2px;
      margin: auto;
      background-color: var(--color_blue);
    }
    #CONTENTS_AREA .section_block .section_title:after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -25px;
      width: 300px;
      height: 2px;
      margin: auto;
      background-color: var(--color_blue);
    }
      #CONTENTS_AREA .section_block .section_title b {
        font-size: 42px;
        color: var(--color_blue);
        font-weight: 900;
      }
      #CONTENTS_AREA .section_block .section_title big {
        position: relative;
        top: 2px;
        font-size: 80px;
        line-height: 1.0;
      }
    #CONTENTS_AREA .section_block .section_title .imgtext {
      position: relative;
      margin: 10px 0;
    }
    
  #CONTENTS_AREA .colorbox.origin {}
  #CONTENTS_AREA .colorbox.blue {
    background-color: var(--color_blue);
  }
  #CONTENTS_AREA .colorbox.white {
    border: 10px solid var(--color_blue);
    background-color: var(--color_white);
  }
  #CONTENTS_AREA .modaal-close {
    top: 120px;
  }
  
  #CONTENTS_AREA .scroll-hint-icon-white {
    background-color: #fff79d;
  }
  #CONTENTS_AREA .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
    z-index: 50;
    opacity: 1;
  }
    
/* home page */
.home #CONTENTS_AREA {}
  .home #CONTENTS_AREA #KV_BLOCK {
    position: relative;
    z-index: 5;
    min-height: 530px;
    color: var(--color_white);
    background: var(--color_blue) url(../../image/home/kv_bg.png) no-repeat scroll bottom 0 left 0;
    background-size: cover;
  }
    .home #KV_BLOCK .textbox {
      position: absolute;
      /*left: calc(40px + calc(calc(100% - 600px) * 0.002));*/
      left: 55px;;
      top: 80px;
      margin: auto;
    }
      .home #KV_BLOCK .textbox .catch {
        margin-bottom: 20px;
        font-size: 22px;
        font-weight: bold;
        text-align: center;
      }
        .home #KV_BLOCK .textbox .catch img {
          width: 153px;
          margin-left: 10px;
        }
      .home #KV_BLOCK .textbox h1 {
        margin-bottom: 45px;
        font-size: 55px;
        line-height: 1.35;
        font-weight: 900;
        text-align: center;
      }
      .home #KV_BLOCK .textbox .listbox {
        gap: 0 20px;
        justify-content: center;
        margin: auto;
        margin-bottom: 70px;
      }
        .home #KV_BLOCK .textbox .listbox li {
          position: relative;
          padding-left: 20px;
          font-size: 14px;
          letter-spacing: 1.4px;
        }
        .home #KV_BLOCK .textbox .listbox li:before {
          content: "";
          position: absolute;
          left: 0;
          top: 0;
          width: 15px;
          height: 15px;
          clip-path: polygon(0% 0, 100% 0%, 0 100%);
          background-color: #3891AA;
        }
      .home #KV_BLOCK .textbox .btnbox {
        display: flex;
        justify-content: center;
        gap: 30px;
      }
  .home #CONTENTS_AREA #MAKER_BLOCK {
    padding-bottom: 50px;
  }
    .home #MAKER_BLOCK .inner {
      max-width: 1040px;
    }
    .home #MAKER_BLOCK dl {}
    .home #MAKER_BLOCK dt {
      margin-bottom: 25px;
      font-size: 26px;
      font-weight: bold;
      text-align: center;
    }
    .home #MAKER_BLOCK .listbox {
      gap: 20px;
      justify-content: center;
      align-items: center;
      margin-bottom: 25px;
    }
      .home #MAKER_BLOCK .listbox li {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 212px;
        text-align: center;
      }
      .home #MAKER_BLOCK .listbox li img {
        max-width: 100%;
      }
    .home #MAKER_BLOCK .subtext {
      text-align: right;
    }
      .home #MAKER_BLOCK .subtext small {
        font-size: 12px;
      }
  .home #CONTENTS_AREA #WHATS_BLOCK {}
    .home #WHATS_BLOCK.inner {}
    .home #WHATS_BLOCK .colorbox {
      padding: 80px 50px 50px;
    }
    .home #WHATS_BLOCK .section_title {
      position: relative;
      margin-bottom: 90px;
      text-align: center;
      color: var(--color_white);
      font-size: 42px;
      font-weight: 900;
    }
    .home #WHATS_BLOCK .section_title:after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -18px;
      height: 2px;
      width: 300px;
      margin: auto;
      background-color: var(--color_white);
    }
    .home #WHATS_BLOCK .splitbox {
      gap: 0 50px;
    }
    .home #WHATS_BLOCK .box {
      position: relative;
      padding: 50px;
      background-color: var(--color_white);
    }
    .home #WHATS_BLOCK .box:before {
      content: "";
      position: absolute;
      right: 0;
      bottom: 0;
      z-index: 4;
      width: 350px;
      height: 100%;
      clip-path: polygon(100% 100%, 100% 0%, 0 100%);
      background-color: #F9F9F9;
    }
    
    .home #WHATS_BLOCK .box + .box, 
    .home #WHATS_BLOCK .box + .subbox {
      margin-top: 50px;
    }
      .home #WHATS_BLOCK .box .left {
        position: relative;
        z-index: 5;
        width: 42%;
        max-width: 250px;
        min-width: 150px;
      }
      .home #WHATS_BLOCK .box .right {
        position: relative;
        z-index: 5;
        width: 100%;
      }
      .home #WHATS_BLOCK .box .box_title {
        padding-top: 5px;
        font-size: 30px;
        font-weight: bold;
        color: var(--color_blue);
      }
      .home #WHATS_BLOCK .box .maintext {
        display: flex;
        align-items: center;
        min-height: 100px;
        padding: 5px 5px 5px 30px;
        margin-bottom: 40px;
        border-left: 5px solid #333333;
        font-size: 20px;
        font-weight: bold;
      }
      .home #WHATS_BLOCK .box .subtext {
        font-size: 18px;
        line-height: 2.0;
      }
        .home #WHATS_BLOCK .box .subtext small {
          font-size: 12px;
        }
    .home #WHATS_BLOCK .box1 {}
      .home #WHATS_BLOCK .box1 .box_title {}
        .home #WHATS_BLOCK .box1 .box_title .imgbox {
          max-width: 200px;
          margin: auto;
          margin-top: 50px;
        }
    .home #WHATS_BLOCK .box2 {}
      .home #WHATS_BLOCK .box2 .box_title {}
        .home #WHATS_BLOCK .box2 .box_title .imgbox {
          max-width: 180px;
          margin: auto;
          margin-top: 50px;
        }
    .home #WHATS_BLOCK .subbox {
      gap: 0 50px;
    }
      .home #WHATS_BLOCK .subbox dl {
        width: 50%;
        border: 1px solid var(--color_white);
      }
      .home #WHATS_BLOCK .subbox dt {
        padding: 15px;
        text-align: center;
        background-color: var(--color_white);
      }
        .home #WHATS_BLOCK .subbox dt img {
          height: 30px;
          width: auto;
        }
      .home #WHATS_BLOCK .subbox dd {
        padding: 20px;
        font-size: 14px;
        color: var(--color_white);
      }
  .home #CONTENTS_AREA #TASK_BLOCK {
    padding-top: 150px;
    padding-bottom: 125px;
    overflow: hidden;
  }
    .home #TASK_BLOCK .section_title {
      margin-bottom: 120px;
    }
    .home #TASK_BLOCK .checklist {
      position: relative;
      z-index: 5;
      max-width: 700px;
      margin: auto;
      margin-bottom: 50px;
    }
      .home #TASK_BLOCK .checklist li {
        position: relative;
        padding-left: 40px;
        font-size: 26px;
        font-weight: bold;
      }
      .home #TASK_BLOCK .checklist li:before {
        content: "";
        position: absolute;
        top: 6px;
        left: 0;
        display: inline-block;
        width: 30px;
        height: 30px;
        background: transparent url(../../image/home/icon_check_yellow.png);
        background-size: cover;
      }
      .home #TASK_BLOCK .checklist li + li {
        margin-top: 20px;
      }
        .home #TASK_BLOCK .checklist li b {
          color: var(--color_yellow);
        }
    .home #TASK_BLOCK .boxwrap {
      position: relative;
      z-index: 4;
    }
    .home #TASK_BLOCK .boxwrap:before {
      content: "";
      position: absolute;
      top: -270px;
      left: 50%;
      width: 100vw;
      height: 1505px;
      margin: auto;
      transform: translateX(-50%);
      
      border-bottom-left-radius: 50% 125px;
      border-bottom-right-radius: 50% 125px;
      
      background: transparent url(../../image/home/task_bg.png) no-repeat scroll top 0 left 50%;
      background-size: cover;
    }
    .home #TASK_BLOCK .box {
      position: relative;
      padding: 50px 50px 90px;
      box-shadow: 0px 10px 6px rgba(0, 0, 0, 0.16);
      background-color: rgba(255, 255, 255, 0.9);
    }
    .home #TASK_BLOCK .box:before,
    .home #TASK_BLOCK .box:after {
      content: "";
      position: absolute;
      width: 50px;
      height: 40px;
      background-color: var(--color_blue);
    }
    .home #TASK_BLOCK .box:before {
      left: 50px;
      top: 50px;
      clip-path: polygon(0% 0, 100% 0%, 0 100%);
    }
    .home #TASK_BLOCK .box:after {
      right: 50px;
      bottom: 50px;
      clip-path: polygon(100% 0, 100% 100%, 0 100%);
    }
      .home #TASK_BLOCK .box dl {
        padding: 50px 40px;
        font-size: 18px;
        line-height: 2.0;
      }
      .home #TASK_BLOCK .box dt {
        font-weight: bold;
        color: var(--color_blue);
      }
      .home #TASK_BLOCK .box dd {}
        .home #TASK_BLOCK .box dd b {
          font-weight: bold;
        }
      .home #TASK_BLOCK .box dd + dt {
        margin-top: 30px;
      }
    .home #TASK_BLOCK .splitbox {
      gap: 0 20px;
    }
      .home #TASK_BLOCK .splitbox a {
        color: var(--color_def);
        font-size: 12px;
      }
      .home #TASK_BLOCK .splitbox .imgbox {
        max-width: 490px;
      }
    .home #TASK_BLOCK .bottomtext {
      position: relative;
      z-index: 5;
      padding: 0;
      max-width: 630px;
      margin: auto;
      margin-top: 150px;
      background-color: transparent;
    }
    .home #TASK_BLOCK .bottomtext:before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: -100px;
      height: 65px;
      width: 150px;
      margin: auto;
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      background-color: var(--color_blue);
    }
  .home #CONTENTS_AREA #ABILITY_BLOCK {
    position: relative;
    overflow: hidden;
  }

  .home #CONTENTS_AREA #ABILITY_BLOCK:after {
    content: "";
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    z-index: 4;
    width: 100%;
    height: 42%; /* design-height */
    margin: auto;
    background: linear-gradient(90deg, #bbd5ea 0%, #bbd5ea 50%, #99bcdd 50%, #99bcdd 100%);
  }
    .home #ABILITY_BLOCK .section_title {}
      .home #ABILITY_BLOCK .section_title .imgtext {
        top: 8px;
        margin-right: 10px;
      }
    .home #ABILITY_BLOCK .inner {
      margin-bottom: -700px; /* a */
    }
    .home #ABILITY_BLOCK .imgbox {
      position: relative;
      z-index: 4;
      width: 1920px; /* design-height */
      max-width: none;
      margin: auto;
      transform: translateX(-50%);
      left: 50%;
    }
    .home #ABILITY_BLOCK .block {
      position: relative;
      z-index: 5;
      top: -700px;/* a */
      max-width: 1000px;
      margin: auto;
    }
    .home #ABILITY_BLOCK .block + .block {
      margin-top: 100px;
    }
      .home #ABILITY_BLOCK .block .block_title {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 50px;
        width: 100%;
        padding: 5px 20px;
        margin-bottom: 30px;
        color: var(--color_white);
        font-size: 26px;
        line-height: 1.0;
        font-weight: bold;
        background-color: var(--color_blue);
      }
      .home #ABILITY_BLOCK .block .block_contents {
        position: relative;
        padding: 30px 0;
        background-color: var(--color_white);
      }
      .home #ABILITY_BLOCK .block .block_contents:before {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        z-index: 4;
        width: 350px;
        height: 100%;
        clip-path: polygon(100% 100%, 100% 0%, 0 100%);
        background-color: #F9F9F9;
      }
        .home #ABILITY_BLOCK .block .block_contents dl {
          position: relative;
          z-index: 5;
          width: 50%;
          padding: 0 30px;
        }
        .home #ABILITY_BLOCK .block .block_contents dl + dl {
          border-left: 2px solid var(--color_blue);
        }
        .home #ABILITY_BLOCK .block .block_contents dt {
          padding-bottom: 15px;
          margin-bottom: 30px;
          border-bottom: 2px solid var(--color_blue);
          color: var(--color_blue);
          font-size: 28px;
          line-height: 1.95;
          font-weight: bold;
          text-align: center;
        }
          .home #ABILITY_BLOCK .block .block_contents dt figure > img {
            height: 125px;
          }
        .home #ABILITY_BLOCK .block .block_contents dd {}
          .home #ABILITY_BLOCK .block .block_contents dd li {
            position: relative;
            padding-left: 45px;
            margin-bottom: 10px;
            font-size: 18px;
          }
          .home #ABILITY_BLOCK .block .block_contents dd li:before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            display: inline-block;
            width: 30px;
            height: 30px;
            margin-right: 10px;
            background: transparent url(../../image/home/icon_check_transparent.png);
            background-size: cover;
          }
      .home #ABILITY_BLOCK .block table {
        width: 100%;
        border: 1px solid #959595;
        border-collapse: separate;
        background-color: var(--color_white);
      }
        .home #ABILITY_BLOCK .block table th ,
        .home #ABILITY_BLOCK .block table td {
          padding: 15px 20px;
          font-size: 18px;
          vertical-align: top;
          text-align: left;
        }
        .home #ABILITY_BLOCK .block table th {
          width: 250px;
          font-weight: bold;
          background-color: #E6E5E5;
        }
        .home #ABILITY_BLOCK .block table tr + tr th {
          border-top: 2px solid var(--color_white);
        }
        .home #ABILITY_BLOCK .block table tr + tr td {
          border-top: 2px solid #E6E5E5;
        }
        .home #ABILITY_BLOCK .block table dl + dl {
          margin-top: 40px;
        }
        .home #ABILITY_BLOCK .block table dt {
          padding: 10px;
          margin-bottom: 15px;
          line-height: 1.0;
          font-weight: bold;
          background-color: #E6E5E5;
        }
  .home #CONTENTS_AREA #REASON_BLOCK {}
    .home #REASON_BLOCK .section_title {}
      .home #REASON_BLOCK .section_title .imgtext {
        top: 8px;
        margin-right: 10px;
      }
    .home #REASON_BLOCK .reasonbox {}
      .home #REASON_BLOCK .reasonbox li + li {
        margin-top: 50px;
      }
      .home #REASON_BLOCK .reasonbox li dt {
        display: flex;
        align-items: center;
        position: relative;
        margin-bottom: 30px;
        min-height: 140px;
        padding-left: 170px;
        font-size: 32px;
        font-weight: bold;
        color: var(--color_blue);
      }
        .home #REASON_BLOCK .reasonbox li dt span {
          position: absolute;
          left: 0;
          top: 0;
          display: inline-flex;
          justify-content: center;
          align-items: center;
          flex-direction: column;
          width: 140px;
          height: 140px;
          border-radius: 70px;
          font-size: 26px;
          color: var(--color_white);
          background: linear-gradient(135deg, #00457C 0%, #00457C 50%, #003876 50%, #003876 100%);
        }
          .home #REASON_BLOCK .reasonbox li dt span em {
            position: relative;
            top: -15px;
            font-style: normal;
          }
          .home #REASON_BLOCK .reasonbox li dt span i .imgtext {
            position: relative;
            top: -5px;
            height: 40px;
          }
        .home #REASON_BLOCK .reasonbox li dt p {}
          .home #REASON_BLOCK .reasonbox li dt p small {
            font-size: 24px;
          }
      .home #REASON_BLOCK .reasonbox li dd {
        font-size: 20px;
        line-height: 1.7;
        background: #F2F9FF;
      }
        .home #REASON_BLOCK .reasonbox li dd figcaption {
          padding: 30px;
        }
        .home #REASON_BLOCK .reasonbox li dd .imgbox {
          flex-shrink: 0;
          width: 250px;
          order: 2;
        }
  .home #CONTENTS_AREA #FEATURE_BLOCK {}
    .home #FEATURE_BLOCK .text {
      max-width: 1000px;
      margin: auto;
      margin-bottom: 30px;
      font-size: 20px;
    }
    .home #FEATURE_BLOCK .imgbox {
      padding: 50px;
      margin-bottom: 100px;
      background-color: var(--color_white);
    }
    .home #FEATURE_BLOCK .block {
      max-width: 1000px;
      margin: auto;
    }
    
      .home #FEATURE_BLOCK .block .block_title {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 50px;
        width: 100%;
        padding: 5px 20px;
        margin-bottom: 30px;
        color: var(--color_white);
        font-size: 26px;
        line-height: 1.95;
        font-weight: bold;
        background-color: var(--color_blue);
      }
      .home #FEATURE_BLOCK .block .block_contents {
        position: relative;
        padding: 30px 0;
        background-color: var(--color_white);
      }
      .home #FEATURE_BLOCK .block .block_contents:before {
        content: "";
        position: absolute;
        right: 0;
        bottom: 0;
        z-index: 4;
        width: 350px;
        height: 100%;
        clip-path: polygon(100% 100%, 100% 0%, 0 100%);
        background-color: #F9F9F9;
      }
        .home #FEATURE_BLOCK .block .block_contents dl {
          position: relative;
          z-index: 5;
          width: 50%;
          padding: 0 30px;
        }
        .home #FEATURE_BLOCK .block .block_contents dl + dl {
          border-left: 2px solid var(--color_blue);
        }
        .home #FEATURE_BLOCK .block .block_contents dt {
          padding-bottom: 15px;
          margin-bottom: 30px;
          border-bottom: 2px solid var(--color_blue);
          color: var(--color_blue);
          font-size: 32px;
          line-height: 1.7;
          font-weight: bold;
          text-align: center;
        }
        .home #FEATURE_BLOCK .block .block_contents dd {}
          .home #FEATURE_BLOCK .block .block_contents dd li {
            position: relative;
            padding-left: 45px;
            margin-bottom: 10px;
            font-size: 18px;
          }
          .home #FEATURE_BLOCK .block .block_contents dd li:before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            display: inline-block;
            width: 30px;
            height: 30px;
            margin-right: 10px;
            background: transparent url(../../image/home/icon_check_transparent.png);
            background-size: cover;
          }
    .home #FEATURE_BLOCK .bottomtext {
      position: relative;
      padding: 0;
      max-width: 670px;
      margin: auto;
      margin-top: 150px;
      background-color: transparent;
    }
    .home #FEATURE_BLOCK .bottomtext:before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: -100px;
      height: 65px;
      width: 150px;
      margin: auto;
      clip-path: polygon(0 0, 100% 0, 50% 100%);
      background-color: var(--color_blue);
    }
  .home #CONTENTS_AREA #MAP_BLOCK {}
    .home #MAP_BLOCK .text {
      margin-bottom: 40px;
      font-size: 32px;
      line-height: 1.7;
      font-weight: bold;
      text-align: center;
    }
    .home #MAP_BLOCK .imgbox {
      position: relative;
      max-width: 1000px;
      margin: auto;
    }
      .home #MAP_BLOCK .imgbox .hover {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
      }
    .home #MAP_BLOCK .option {
      max-width: 1000px;
      margin: auto;
      text-align: right;
    }
      .home #MAP_BLOCK .option small {
        font-size: 12px;
      }
  .home #CONTENTS_AREA #ITEMS_BLOCK {}
    .home #ITEMS_BLOCK .text {
      margin-bottom: 40px;
      font-size: 32px;
      line-height: 1.7;
      font-weight: bold;
      text-align: center;
    }
    .home #ITEMS_BLOCK .graphwrap {
      width: 1100px;
      padding: 50px;
      background-color: var(--color_white);
    }
    .home #ITEMS_BLOCK .graphtable {
      width: 100%;
      table-layout: fixed;
    }
      .home #ITEMS_BLOCK .graphtable thead {}
        .home #ITEMS_BLOCK .graphtable thead th {
          padding: 5px 10px;
          border-bottom: 20px solid var(--color_white);
          font-size: 18px;
          line-height: 1.0;
          font-weight: bold;
          text-align: center;
          color: var(--color_white);
          background-color: var(--color_blue);
        }
        .home #ITEMS_BLOCK .graphtable thead th + th {
          border-left: 1px solid var(--color_white);
        }
      .home #ITEMS_BLOCK .graphtable tbody {}
        .home #ITEMS_BLOCK .graphtable tbody td {
          height: calc(100px + 10px); /* height:100 + border:10 */
          padding: 0 5px;
          font-size: 18px;
          font-weight: bold;
          vertical-align: top;
        }
        .home #ITEMS_BLOCK .graphtable tbody td + td {
          border-left: 1px solid var(--color_white);
        }
        .home #ITEMS_BLOCK .graphtable tbody tr td {
          border-bottom: 10px solid var(--color_white);
        }
      .home #ITEMS_BLOCK .graphtable .box {
        display: flex;
        align-items: center;
        height: 100%;
      }
      .home #ITEMS_BLOCK .graphtable .box.center {
        justify-content: center;
      }
      .home #ITEMS_BLOCK .graphtable .box.yellow {
        background-color: var(--color_yellow);
      }
      .home #ITEMS_BLOCK .graphtable .box.lb {
        background-color: #C2DFF9;
      }
      .home #ITEMS_BLOCK .graphtable .box.gray {
        color: var(--color_white);
        border-color: #E6E5E5;
        background-color: #E6E5E5;
      }
      .home #ITEMS_BLOCK .graphtable .border {
        border: 2px solid var(--color_blue);
        background-color: var(--color_white);
      }
    .home #ITEMS_BLOCK .graphtable .num1 {
      width: 200px;
    }
      .home #ITEMS_BLOCK .graphtable .num1 .imgbox {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 180px;
        max-height: 70px;
        padding: 10px;
      }
        .home #ITEMS_BLOCK .graphtable .num1 .imgbox img {
          height: 100%;
          width: auto;
        }
    .home #ITEMS_BLOCK .graphtable .num2 {
      width: 380px;
    }
    .home #ITEMS_BLOCK .graphtable tbody .num2 {
      color: var(--color_blue);
    }
      .home #ITEMS_BLOCK .graphtable .num2 .imgbox {
        display: flex;
        justify-content: center;
        align-items: center;
        max-height: 70px;
        padding: 10px;
      }
        .home #ITEMS_BLOCK .graphtable .num2 .imgbox img {
          height: 100%;
          width: auto;
          max-width: 90%;
        }
      .home #ITEMS_BLOCK .graphtable .num2 .splitbox {
        gap: 0 30px;
      }
      .home #ITEMS_BLOCK .graphtable .num2 .left {
        flex-shrink: 0;
        width: 160px;
        padding-left: 10px;
        font-size: 26px;
      }
      .home #ITEMS_BLOCK .graphtable .num2 .right {
        width: 100%;
        padding-left: calc(20px - 5px + 12px);
      }
      .home #ITEMS_BLOCK .graphtable .num2 .border {
        display: inline-flex;
        min-width: 145px;
        min-height: 70px;
        justify-content: center;
        align-items: center;
        padding: 5px;
      }
      
    .home #ITEMS_BLOCK .graphtable .num3 {
      width: 200px;
    }
      .home #ITEMS_BLOCK .graphtable .num3 .box {
        padding: 20px;
      }
    .home #ITEMS_BLOCK .graphtable .num4 {
      width: 220px;
    }
      .home #ITEMS_BLOCK .graphtable .num4 .box:not(.gray) {
        padding: 15px;
        border: 2px solid #707070;
      }
      .home #ITEMS_BLOCK .graphtable .num4 .splitbox {}
        .home #ITEMS_BLOCK .graphtable .num4 .imgbox {
          flex-shrink: 0;
          width: 60px;
          margin-right: 10px;
        }
        .home #ITEMS_BLOCK .graphtable .num4 figcaption {
          text-align: center;
          font-size: 16px;
        }
      /* graph-border */
      .home #ITEMS_BLOCK .graphtable {}
        .home #ITEMS_BLOCK .graphtable .borderline {
          position: relative;
        }
          .home #ITEMS_BLOCK .graphtable .borderline > * {
            position: relative;
            z-index: 2;
          }
        .home #ITEMS_BLOCK .graphtable .borderline:after ,
        .home #ITEMS_BLOCK .graphtable .borderline:before {
          content: "";
          position: absolute;
          z-index: 1;
          margin: auto;
          background-color: var(--color_blue);
        }
        .home #ITEMS_BLOCK .graphtable .borderline.bX:before {
          left: -5px;
          top: 0;
          bottom: 0;
          height: 2px;
          width: 20px;
        }
        .home #ITEMS_BLOCK .graphtable .borderline.bX-long:before {
          left: -30px;
          top: 0px;
          bottom: 0;
          height: 2px;
          width: 45px;
        }
        .home #ITEMS_BLOCK .graphtable .borderline.bX-all:before {
          left: -5px;
          top: 0;
          bottom: 0;
          height: 2px;
          width: 100%;
        }
        .home #ITEMS_BLOCK .graphtable .borderline.bY:after {
          left: -5px;
          top: 0;
          bottom: 0;
          height: calc(100px + 10px); /* height:100 + border:10 */
          width: 2px;
          transform: translateY(-50%);
        }
        .home #ITEMS_BLOCK .graphtable tbody tr:first-child {}
        .home #ITEMS_BLOCK .graphtable tbody tr:first-child td {
          height: 115px; /* tr:first height */
        }
        .home #ITEMS_BLOCK .graphtable .num2 .left.borderline.bX-all:before {
          width: calc(100% + calc(20px - 5px + 12px) + 4px);
        }
        .home #ITEMS_BLOCK .graphtable .num2 .left.borderline.bX-long:before {
          left: calc(-16px - 8px);
          width: calc(32px + 8px);
        }
        .home #ITEMS_BLOCK .graphtable .num2 .left.borderline.bY:after {
          left: -6px;
        }
        .home #ITEMS_BLOCK .graphtable .num2 .right.borderline.bY:after {
          
        }
  .home #CONTENTS_AREA #PATENT_BLOCK {}
    .home #PATENT_BLOCK table {
      width: 100%;
      max-width: 1000px;
      margin :auto;
    }
    .home #PATENT_BLOCK table caption {
      margin-bottom: 45px;
      font-size: 26px;
      font-weight: bold;
    }
      .home #PATENT_BLOCK table caption small {
        font-size: 16px;
      }
    .home #PATENT_BLOCK table tfoot {}
      .home #PATENT_BLOCK table tfoot td {
        padding-top: 20px;
      }
      .home #PATENT_BLOCK table tfoot td small {
        font-size: 12px;
      }
    .home #PATENT_BLOCK table tbody {
      outline: 1px solid #88A1B8;
    }
      .home #PATENT_BLOCK table tbody th ,
      .home #PATENT_BLOCK table tbody td {
        padding: 15px;
        font-size: 18px;
      }
      .home #PATENT_BLOCK table tbody th {
        width: 250px;
        font-weight: bold;
        background-color: #C2DFF9;
      }
      .home #PATENT_BLOCK table tbody tr + tr th {
        border-top: 1px solid var(--color_white);
      }
      .home #PATENT_BLOCK table tbody tr + tr td {
        border-top: 1px solid #C2DFF9;
      }
    
  .home #CONTENTS_AREA #MOVIE_BLOCK {}
    .home #MOVIE_BLOCK .inner {
      max-width: 1040px;
    }
    .home #MOVIE_BLOCK .box {
      display: grid;
      grid-template-rows: 110px 1fr;
      grid-template-columns: 320px 1fr;
      gap: 0 50px;
    }
    .home #MOVIE_BLOCK .box + .box {
      margin-top: 50px;
    }
    .home #MOVIE_BLOCK .box dt {
      grid-row: 1 / 2;
      grid-column: 2 / 3;
    }
    .home #MOVIE_BLOCK .box dd.moviebox {
      grid-row: 1 / 3;
      grid-column: 1 / 2;
      text-align: center;
    }
      .home #MOVIE_BLOCK .box dd.moviebox a {
        display: inline-block;
      }
    .home #MOVIE_BLOCK .box dd.text {
      grid-row: 2 / 3;
      grid-column: 2 / 3;
    }
    .home #MOVIE_BLOCK .box .imgbox {}
    .home #MOVIE_BLOCK .box .thum {
      position: relative;
      display: flex;
      align-items: center;
      height: 255px;
      max-width: 320px;
      text-align: center;
      background-color: var(--color_blue);
    }
    .home #MOVIE_BLOCK .box .thum:before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      z-index: 4;
      width: 70px;
      height: 70px;
      margin: auto;
      border-radius: 35px;
      background-color: var(--color_black);
    }
    .home #MOVIE_BLOCK .box .thum:after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      z-index: 5;
      width: 13px;
      height: 16px;
      margin: auto;
      clip-path: polygon(0 0, 0% 100%, 100% 50%);
      background-color: var(--color_white);
    }
    .home #MOVIE_BLOCK .box dl {}
    .home #MOVIE_BLOCK .box dt {
      display: flex;
      align-items: center;
      height: 60px;
      padding-left: 20px;
      margin-bottom: 45px;
      border-left: 10px solid var(--color_blue);
      font-size: 20px;
      font-weight: bold;
      color: var(--color_blue);
    }
    .home #MOVIE_BLOCK .box dd {
      font-size: 18px;
      line-height: 2.0;
    }
    
  .home #CONTENTS_AREA #DOCUMENT_BLOCK {}
    .home #DOCUMENT_BLOCK .inner {
      max-width: 1040px;
    }
    .home #DOCUMENT_BLOCK .box {
      display: grid;
      grid-template-rows: 110px 1fr 70px;
      grid-template-columns: 320px 1fr;
      gap: 0 50px;
    }
    .home #DOCUMENT_BLOCK .box + .box {
      margin-top: 50px;
    }
    .home #DOCUMENT_BLOCK .box dt {
      grid-row: 1 / 2;
      grid-column: 2 / 3;
    }
    .home #DOCUMENT_BLOCK .box dd.moviebox {
      grid-row: 1 / 4;
      grid-column: 1 / 2;
    }
      .home #DOCUMENT_BLOCK .box dd.moviebox a {
        display: inline-block;
      }
    .home #DOCUMENT_BLOCK .box dd.text {
      grid-row: 2 / 3;
      grid-column: 2 / 3;
    }
    .home #DOCUMENT_BLOCK .box dd.btnbox {
      grid-row: 3 / 4;
      grid-column: 2 / 3;
    }

    .home #DOCUMENT_BLOCK .box dt {
      display: flex;
      align-items: center;
      height: 60px;
      padding-left: 20px;
      margin-bottom: 45px;
      border-left: 10px solid var(--color_blue);
      font-size: 20px;
      font-weight: bold;
      color: var(--color_blue);
    }
    .home #DOCUMENT_BLOCK .box dd {
      font-size: 18px;
      line-height: 2.0;
    }
    .home #DOCUMENT_BLOCK .box .btnbox {
      margin-top: 20px;
      text-align: right;
    }
    
  .home #CONTENTS_AREA .pagelink_block {
    padding: 50px;
  }
    .home #CONTENTS_AREA .pagelink_block .btnbox {
      display: flex;
      justify-content: center;
      gap: 20px 30px;
    }
    
  .home #CONTENTS_AREA #CONTACT_BLOCK {}
    .home #CONTACT_BLOCK .inner {
      max-width: 1040px;
    }
    .home #CONTACT_BLOCK .section_title b {
      color: var(--color_white);
    }
    .home #CONTACT_BLOCK .section_title:before,
    .home #CONTACT_BLOCK .section_title:after {
      background-color: var(--color_white);
    }
    .home #CONTACT_BLOCK .btnbox {
      display: flex;
      justify-content: center;
      gap: 0 30px;
    }
      .home #CONTACT_BLOCK .btnbox .btn,
      .home #CONTACT_BLOCK .btnbox .btnwrap {
        max-width: 340px;
        width: 100%;
        min-width: auto;
      }
    .home #CONTACT_BLOCK #FORM_BLOCK {
      position: relative;
      z-index: 7;
      padding: 95px 60px;
      margin-top: 40px;
      border-radius: 20px;
      color: var(--color_def);
      background-color: var(--color_white);
    }
      .home #CONTACT_BLOCK #FORM_BLOCK .text {
        margin-bottom: 40px;
        font-weight: bold;
        font-size: 20px;
      }
      .home #CONTACT_BLOCK #FORM_BLOCK .form_area {
        max-width: 800px;
        margin: auto;
      }
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area .option {
          margin-bottom: 15px;
        }
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area .option small {
          font-size: 14px;
        }
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area .splitbox {
          gap: 10px 20px;
          margin-bottom: 40px;
        }
          .home #CONTACT_BLOCK #FORM_BLOCK .form_area .splitbox dt {
            display: flex;
            align-items: center;
            max-width: 250px;
            width: 35%;
          }
            .home #CONTACT_BLOCK #FORM_BLOCK .form_area .splitbox dt em {
              color: var(--color_red);
              font-style: normal;
            }
          .home #CONTACT_BLOCK #FORM_BLOCK .form_area .splitbox dd {
            max-width: 520px;
            width: 60%;
          }
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area .splitbox dd .wrap.sp {
          display: flex;
          gap: 0 20px;
        }
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area .splitbox dd .wrap.sp label {
          display: inline-flex;
          align-items: center;
          width: 45%;
          line-height: 1.0;
        }
          .home #CONTACT_BLOCK #FORM_BLOCK .form_area .splitbox dd .wrap.sp label input {
            margin-left: 5px;
            width: calc(100% - 2em);
          }
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area input[type="text"],
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area input[type="email"],
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area input[type="tel"],
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area textarea {
          padding: 10px;
          width: 100%;
          border: 1px solid #707070;
          border-radius: 6px;
          font-size: 16px;
          background-color: var(--color_white);
        }
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area textarea {
          height: 200px;
        }
      .home #CONTACT_BLOCK #FORM_BLOCK .formError{}
        .home #CONTACT_BLOCK #FORM_BLOCK .formError .formErrorContent {
          box-shadow: 0 0 6px #B7B7B7;
          background-color: #E4473B;
        }
        .home #CONTACT_BLOCK #FORM_BLOCK .formError .formErrorArrow div {
          background-color: #E4473B;
        }
        .home #CONTACT_BLOCK #FORM_BLOCK .formError .formErrorArrow div.line1,
        .home #CONTACT_BLOCK #FORM_BLOCK .formError .formErrorArrow div.line2 {
          background-color: transparent;
        }
        
      .home #CONTACT_BLOCK #FORM_BLOCK .privacybox {
        overflow: auto;
        height: 160px;
        width: 100%;
        padding: 20px;
        margin-bottom: 30px;
        border: 2px solid #707070;
        font-size: 14px;
      }
      .home #CONTACT_BLOCK #FORM_BLOCK .privacybox a {
        color: var(--color_def);
      }
        .home #CONTACT_BLOCK #FORM_BLOCK .privacybox .title {
          margin-bottom: 20px;
          font-size: 20px;
          font-weight: bold;
          text-align: center;
        }
        .home #CONTACT_BLOCK #FORM_BLOCK .privacybox .sec,
        .home #CONTACT_BLOCK #FORM_BLOCK .privacybox p:not(.bt) + p,
        .home #CONTACT_BLOCK #FORM_BLOCK .privacybox p + p.bt {
          margin-top: 15px;
        }
      .home #CONTACT_BLOCK #FORM_BLOCK table {
        width: 100%;
        margin-bottom: 20px;
        border-left: 1px solid #333333;
        border-top: 1px solid #333333;
      }
      .home #CONTACT_BLOCK #FORM_BLOCK th,
      .home #CONTACT_BLOCK #FORM_BLOCK td {
        padding: 5px;
        border-right: 1px solid #333333;
        border-bottom: 1px solid #333333;
      }
      .home #CONTACT_BLOCK #FORM_BLOCK th {
        width: 20%;
        text-align: center;
        vertical-align: middle;
        font-weight: 700;
      }
      
      .home #CONTACT_BLOCK #FORM_BLOCK .btnbox {
        margin-top: 50px;
      }
        .home #CONTACT_BLOCK #FORM_BLOCK .btnbox .btn {
          min-width: 280px;
          width: auto;
          max-width: none;
          font-size: 24px;
          font-weight: bold;
        }
        
        
        
  /* modal design */
  .home .modaal-container {
    border-radius: 10px;
  }
  .home .modaal-overlay {
    z-index: 9998;
  }
  
  /* modal-img design */
  .home .modaal-image .modaal-container {
    max-width: 80%;
  }
  /* modal-normal design */
  .home .modaal-content-container {}
    .home .modaal-content-container .modal_pmb {
      margin-bottom: 20px;
    }
      .home .modaal-content-container .modal_pmb a {
        color: #00519e;
        text-decoration: underline;
      }
      .home .modaal-content-container .modal_pmb a:hover {
        color: #ee3024;
        text-decoration: none;
      }
    .home .modaal-content-container .modal_img {
      width: 80%;
      max-width: 400px;
      margin: 0 auto;
      box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    }
    .home .modaal-content-container .modal_dl {
      text-align:center;
    }
      .home .modaal-content-container .modal_pmb a div:hover {
        opacity: 0.5;
      }
      .home .modaal-content-container .modal_mimg .imgwrap {
        display: inline-block;
      }
    .home .modaal-content-container .modal_mimg {}
      .home .modaal-content-container .modal_mimg .imgbox {
        position: relative;
        width: max-content;
        margin: auto;
      }
      .home .modaal-content-container .modal_mimg .imgbox:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 4;
        width: 70px;
        height: 70px;
        margin: auto;
        border-radius: 35px;
        background-color: var(--color_black);
      }
      .home .modaal-content-container .modal_mimg .imgbox:after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 5;
        width: 13px;
        height: 16px;
        margin: auto;
        clip-path: polygon(0 0, 0% 100%, 100% 50%);
        background-color: var(--color_white);
      }
      .home .modaal-content-container .modal_mimg .imgbox img {
        width: auto;
        height: 400px;
      }
      .home .modaal-content-container .modal_mimg iframe {
        width: 100%;
        height: 400px;
      }
      .home .modaal-content-container .modal_mimg video {
        width: 100%;
        height: 400px;
      }
    .home .modaal-content-container .modal_title {
      padding: 10px 20px;
      margin-bottom: 40px;
      font-size: 26px;
      font-weight: bold;
      color: var(--color_white);
      text-align: center;
      background-color: #0059A7;
    }
    .home .modaal-content-container .btnbox {
      margin-top: 35px;
      text-align: center;
    }
      .home .modaal-content-container .btnbox .btn {
        width: 80%;
        max-width: 280px;
      }
    .home .modaal-content-container .form_area {}
      .home .modaal-content-container .form_area .splitbox {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 10px 20px;
        margin-bottom: 40px;
      }
        .home .modaal-content-container .form_area .splitbox dt {
          display: flex;
          align-items: center;
          width: 20%;
        }
          .home .modaal-content-container .form_area .splitbox dt em {
            color: var(--color_red);
            font-style: normal;
          }
        .home .modaal-content-container .form_area .splitbox dd {
          width: 75%;;
        }
      .home .modaal-content-container .form_area .splitbox dd .wrap.sp {
        display: flex;
        gap: 0 20px;
      }
      .home .modaal-content-container .form_area .splitbox dd .wrap.sp label {
        display: inline-flex;
        align-items: center;
        width: 45%;
        line-height: 1.0;
      }
        .home .modaal-content-container .form_area .splitbox dd .wrap.sp label input {
          margin-left: 5px;
          width: calc(100% - 2em);
        }
      .home .modaal-content-container .form_area input[type="text"] ,
      .home .modaal-content-container .form_area input[type="email"] {
        padding: 10px;
        width: 100%;
        border: 1px solid #707070;
        border-radius: 6px;
        font-size: 16px;
        background-color: var(--color_white);
      }
      .home .modaal-content-container .form_area .formError{}
      .home .modaal-content-container .form_area .formError .formErrorContent {
        box-shadow: 0 0 6px #B7B7B7;
        background-color: #E4473B;
      }
      .home .modaal-content-container .form_area .formError .formErrorArrow div {
        background-color: #E4473B;
      }
  

/* sec page */
.sec #CONTENTS_AREA {}

/* contact_end page */
.contact_end #CONTENTS_AREA {}
  .contact_end #CONTENTS_AREA #END_BLOCK {}
    .contact_end #END_BLOCK .inner {
      max-width: 840px;
    }
    .contact_end #END_BLOCK .section_title b {
      color: var(--color_white);
    }
    .contact_end #END_BLOCK .section_title:after {
      background-color: var(--color_white);
    }
    .contact_end #END_BLOCK .section_title:before {
      background-color: var(--color_white);
    }
    .contact_end #END_BLOCK .block {
      padding: 50px;
      border-radius: 10px;
      background-color: var(--color_white);
    }
      .contact_end #END_BLOCK .block .block_title {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 50px;
        width: 100%;
        padding: 5px 20px;
        margin-bottom: 30px;
        color: var(--color_white);
        font-size: 26px;
        line-height: 1.0;
        font-weight: bold;
        background-color: var(--color_blue);
      }
      .contact_end #END_BLOCK .block p {
        font-weight: bold;
      }
      .contact_end #END_BLOCK .block p + p {
        margin-top: 2em;
      }
      .contact_end #END_BLOCK .block .text {
        font-size: 16px;
        line-height: 1.9;
      }
    .contact_end #END_BLOCK .btnbox {
      display: flex;
      justify-content: center;
      gap: 20px 30px;
      margin-top: 80px;
    }
      .contact_end #END_BLOCK .btnbox .btn {
        min-width: 365px;
        height: 66px;
        font-size: 26px;
        font-weight: bold;
      }
      .contact_end #END_BLOCK .btnbox .btn:hover {
        opacity: 0.9;
      }
    






/*
* keyframes
**************************************/
@keyframes HoverAnimation {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0.7;
  }
}





/*
* SCREEN
**************************************/
/*
* 限定
**************************************/
@media screen and (max-width: 1365px) {

/*
* CONTENTS_AREA
**************************************/
/* home page */
.home #CONTENTS_AREA {}
  .home #CONTENTS_AREA #KV_BLOCK {
    background-size: auto 100%;
  }
}


/*
* SCREEN
**************************************/
/*
* 限定
**************************************/
@media screen and (max-width: 1140px) {

/*
* CONTENTS_AREA
**************************************/
.home #CONTENTS_AREA {}
  .home #CONTENTS_AREA #ITEMS_BLOCK {}
    .home #ITEMS_BLOCK .scrollwrap {
      /*width: 100%;
      overflow: scroll;*/
    }

}




/*
* SCREEN
**************************************/
/*
* 限定
**************************************/
@media screen and (max-width: 1040px) {

/*
* CONTENTS_AREA
**************************************/
.home #CONTENTS_AREA {}
  .home #CONTENTS_AREA #ABILITY_BLOCK {}
  .home #CONTENTS_AREA #ABILITY_BLOCK:after {
    height: 55%;
  }
    .home #ABILITY_BLOCK .inner {
      margin-bottom: -450px; /* a */
    }
    .home #ABILITY_BLOCK .imgbox {
      width: 160%;
    }
    .home #ABILITY_BLOCK .block {
      top: -450px;
    }
  .home #CONTENTS_AREA #MAP_BLOCK {}
    .home #MAP_BLOCK .scrollwrap {
      /*width: 100%;
      overflow: scroll;*/
    }
    .home #MAP_BLOCK .imgbox {
      width: 1020px;
    }

}



/*
* PCのみ
**************************************/
@media screen and (min-width: 768.1px) {
.pc_display{
}
.sp_display{
  display: none !important;
}
.sp_br {
  display: none;
}

/*
* HEADER_AREA
**************************************/

}


/*
* SPのみ
**************************************/
@media screen and (max-width: 768px) {
.pc_display{
  display: none !important;
}
.sp_display{
}
.sp_br {}



/*
* 共通要素
**************************************/
body {
  font-size: var(--sp_fontsize_def);
  line-height: var(--sp_lineheight_def);
}
.inner {
  padding: 0 20px;
}

.btn {
  max-width: 280px;
  min-width: 250px;
  min-height: 50px;
  font-size: var(--sp_fontsize_mid);
}
.btn:before {
}



/*
* HEADER_AREA
**************************************/
#HEADER_AREA {
  height: var(--sp_header_height);
  padding: 0 10px;
}
  #HEADER_AREA .logo {
    width: auto;
    max-height: 40px;
  }
  #HEADER_AREA .menubtn {}
    #HEADER_AREA .menubtn button {
      width: 30px;
      height: 28px;
      background-image: linear-gradient(180deg,
        var(--color_black) 0px, var(--color_black) 6px,
        var(--color_white) 6px, var(--color_white) 11px,
        var(--color_black) 11px, var(--color_black) 17px,
        var(--color_white) 17px, var(--color_white) 22px,
        var(--color_black) 22px, var(--color_black) 28px);
    }
    #HEADER_AREA .menubtn button:hover {
      width: 30px;
      height: 28px;
      background-image: linear-gradient(180deg,
        var(--color_black) 0px, var(--color_black) 6px,
        var(--color_white) 6px, var(--color_white) 11px,
        var(--color_black) 11px, var(--color_black) 17px,
        var(--color_white) 17px, var(--color_white) 22px,
        var(--color_black) 22px, var(--color_black) 28px);
    }


/*
* FOOTER_AREA
**************************************/
#FOOTER_AREA {}
  #FOOTER_AREA #COMPANY_BLOCK {
    padding-top: 50px;
  }
    #FOOTER_AREA #COMPANY_BLOCK .inner {}
    #FOOTER_AREA #COMPANY_BLOCK .title {
      margin-bottom: 50px;
      font-size: 26px;
    }
    #FOOTER_AREA #COMPANY_BLOCK .splitbox {
      display: block;
    }
      #FOOTER_AREA #COMPANY_BLOCK .splitbox .left {
        width: 100%;
        padding-top: 0px;
      }
        #FOOTER_AREA #COMPANY_BLOCK .splitbox .left .imgbox {
          margin-bottom: 20px;
        }
          #FOOTER_AREA #COMPANY_BLOCK .splitbox .left .imgbox img {
            width: 150px;
          }
        #FOOTER_AREA #COMPANY_BLOCK .splitbox .left .official_site {
          max-width: 350px;
          margin: auto;
          margin-bottom: 30px;
          font-size: 15px;
        }
        #FOOTER_AREA #COMPANY_BLOCK .splitbox .left .tel {
          margin-bottom: 30px;
        }
          #FOOTER_AREA #COMPANY_BLOCK .splitbox .left .tel img {
            max-width: 350px;
            width: 100%;
          }
    #FOOTER_AREA #COMPANY_BLOCK .splitbox table {}
      #FOOTER_AREA #COMPANY_BLOCK .splitbox table th,
      #FOOTER_AREA #COMPANY_BLOCK .splitbox table td {
        padding: 5px 10px;
        font-size: 14px;
      }
      #FOOTER_AREA #COMPANY_BLOCK .splitbox table th {
        width: 105px;
      }
      #FOOTER_AREA #COMPANY_BLOCK .splitbox table dl dt {
        font-size: 14px;
      }
  #FOOTER_AREA .bottomblock {
    padding: 20px 5px;
  }
    #FOOTER_AREA .bottomblock #COPYRIGHT {
      font-size: 14px;
    }
  
/*
* CONTENTS_AREA
**************************************/
#CONTENTS_AREA {
  padding-top: var(--sp_header_height);
}

  /* parts design */
  #CONTENTS_AREA .splitbox {
    display: block;
  }
  #CONTENTS_AREA .splitbox.spflex {
    display: flex;
  }
  #CONTENTS_AREA .splitbox.spflex.spclumn {
    flex-direction: column;
  }
  
  #CONTENTS_AREA .listbox {
    display: block;
  }
  #CONTENTS_AREA .listbox.spflex {
    display: flex;
  }
  
  #CONTENTS_AREA .section_block {
    padding: 90px 0 50px;
  }
    #CONTENTS_AREA .section_block .section_title {
      margin-bottom: 60px;
      font-size: 16px;
    }
    #CONTENTS_AREA .section_block .section_title:before {
      width: 320px;
    }
    #CONTENTS_AREA .section_block .section_title:after {
      width: 190px;
      bottom: -15px;
    }
      #CONTENTS_AREA .section_block .section_title .imgtext {
        width: 300px;
      }
      #CONTENTS_AREA .section_block .section_title b {
        font-size: 26px;
      }
      #CONTENTS_AREA .section_block .section_title big {
        font-size: 44px;
      }
    #CONTENTS_AREA .section_block .catch {
      font-size: var(--sp_fontsize_hi);
      line-height: 1.5;
    }
    #CONTENTS_AREA .section_block .text {
      font-size: var(--sp_fontsize_def);
      line-height: var(--sp_lineheight_mid);
    }
  #CONTENTS_AREA .modaal-close {
    top: 100px;
  }

/* home page */
.home #CONTENTS_AREA {}
  .home #CONTENTS_AREA #KV_BLOCK {
    min-height: 600px;
    background-position: right -500px bottom 0;
  }
    .home #KV_BLOCK .textbox {
      top: 50px;
      left: 0;
      width: 100%;
      max-width: none;
      padding: 0 20px;
    }
      .home #KV_BLOCK .textbox .catch {
        margin-bottom: 30px;
        font-size: 16px;
      }
        .home #KV_BLOCK .textbox .catch img {
          width: 106px;
        }
      .home #KV_BLOCK .textbox h1 {
        width: 285px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 30px;
      }
      .home #KV_BLOCK .textbox .listbox {
        width: max-content;
        margin: auto;
        margin-bottom: 45px;
      }
        .home #KV_BLOCK .textbox .listbox li {
          margin-bottom: 5px;
        }
      .home #KV_BLOCK .textbox .btnbox {
        flex-direction: column;
        max-width: 260px;
        margin: auto;
      }
        .home #KV_BLOCK .textbox .btnbox .btn {
          min-height: 40px;
        }
  .home #CONTENTS_AREA #MAKER_BLOCK.section_block {
    padding-top: 45px;
    padding-bottom: 25px;
  }
    .home #MAKER_BLOCK dl {}
    .home #MAKER_BLOCK dt {
      margin-bottom: 15px;
      font-size: 16px;
    }
    .home #MAKER_BLOCK .listbox {
      gap: 5px;
      margin-bottom: 5px;
    }
    .home #MAKER_BLOCK .subtext {}
      .home #MAKER_BLOCK .subtext small {
        font-size: 10px;
      }
  .home #CONTENTS_AREA #WHATS_BLOCK {}
    .home #WHATS_BLOCK .colorbox {
      padding: 50px 10px 20px;
    }
    .home #WHATS_BLOCK .section_title {
      margin-bottom: 70px;
      font-size: 26px;
    }
    .home #WHATS_BLOCK .section_title:after {
      width: 150px;
    }
    .home #WHATS_BLOCK .box {
      padding: 40px 10px;
    }
    .home #WHATS_BLOCK .box:before {
      width: 100%;
    }
    .home #WHATS_BLOCK .box + .box, 
    .home #WHATS_BLOCK .box + .subbox {
      margin-top: 20px;
    }
      .home #WHATS_BLOCK .box .left {
        width: 100%;
        margin: auto;
        margin-bottom: 20px;
        text-align: center;
      }
      .home #WHATS_BLOCK .box .box_title {
        padding-top: 0px;
        font-size: 26px;
      }
      .home #WHATS_BLOCK .box .maintext {
        min-height: auto;
        margin-bottom: 20px;
        padding-left: 15px;
        font-size: 16px;
      }
      .home #WHATS_BLOCK .box .subtext {
        font-size: 14px;
        line-height: 1.6;
      }
    .home #WHATS_BLOCK .box1 {}
      .home #WHATS_BLOCK .box1 .box_title {}
        .home #WHATS_BLOCK .box1 .box_title .imgbox {
          max-width: 120px;
          margin-top: 20px;
        }
    .home #WHATS_BLOCK .box2 {}
      .home #WHATS_BLOCK .box2 .box_title {}
        .home #WHATS_BLOCK .box2 .box_title .imgbox {
          max-width: 115px;
          margin-top: 25px;
        }
    .home #WHATS_BLOCK .subbox {}
      .home #WHATS_BLOCK .subbox dl {
        width: 100%;
      }
      .home #WHATS_BLOCK .subbox dd {
        font-size: 12px;
      }
  .home #CONTENTS_AREA #TASK_BLOCK {
    padding-top: 120px;
    padding-bottom: 40px;
  }
    .home #TASK_BLOCK .checklist {
      margin-bottom: 30px;
      max-width: 500px;
    }
      .home #TASK_BLOCK .checklist li {
        padding-left: 25px;
        font-size: 16px;
      }
      .home #TASK_BLOCK .checklist li:before {
        top: 2px;
        width: 20px;
        height: 20px;
      }
    .home #TASK_BLOCK .boxwrap {
      padding: 10px 10px 70px 10px;
    }
    .home #TASK_BLOCK .boxwrap:before {
      top: 0px;
      height: 100%;
      border-bottom-left-radius: 50% 20px;
      border-bottom-right-radius: 50% 20px;
    }
    .home #TASK_BLOCK .box {
      padding: 30px 30px 60px;
    }
    .home #TASK_BLOCK .box:before,
    .home #TASK_BLOCK .box:after {
      width: 25px;
      height: 20px;
    }
    .home #TASK_BLOCK .box:before {
      left: 10px;
      top: 10px;
      clip-path: polygon(0% 0, 100% 0%, 0 100%);
    }
    .home #TASK_BLOCK .box:after {
      right: 10px;
      bottom: 10px;
      clip-path: polygon(100% 0, 100% 100%, 0 100%);
    }
      .home #TASK_BLOCK .box dl {
        padding: 0px;
        margin-bottom: 50px;
        font-size: 16px;
        line-height: 1.5;
      }
      .home #TASK_BLOCK .box dt {
        margin-bottom: 20px;
      }
      .home #TASK_BLOCK .box dd {
        font-size: 14px;
      }
    .home #TASK_BLOCK .splitbox {}
      .home #TASK_BLOCK .splitbox .imgbox {
        margin: auto;
      }
      .home #TASK_BLOCK .splitbox .imgbox + .imgbox {
        margin-top: 30px;
      }
    .home #TASK_BLOCK .bottomtext {
      width: 80%;
      max-width: 500px;
      margin-top: 60px;
    }
    .home #TASK_BLOCK .bottomtext:before {
      top: -80px;
      height: 32.5px;
      width: 75px;
    }
  .home #CONTENTS_AREA #ABILITY_BLOCK {
    padding-bottom: 0;
  }
  .home #CONTENTS_AREA #ABILITY_BLOCK:after {
    display: none;
  }
    .home #ABILITY_BLOCK .section_title {}
      .home #ABILITY_BLOCK .section_title .imgtext {
        top: 9px;
      }
    .home #ABILITY_BLOCK .inner {
      margin-bottom: 0;
      padding: 0;
    }
    .home #ABILITY_BLOCK .imgbox {
      position: relative;
      top: 2px;
      width: 100%;
    }
    .home #ABILITY_BLOCK .blockwrap {
      padding: 20px 20px 100px;
      width: 100%;
      margin: auto;
      background: linear-gradient(90deg, #bbd5ea 0%, #bbd5ea 50%, #99bcdd 50%, #99bcdd 100%);
    }
    .home #ABILITY_BLOCK .block {
      top: 0;
    }
    .home #ABILITY_BLOCK .block + .block {
      margin-top: 50px;
    }
      .home #ABILITY_BLOCK .block .block_title {
        margin-bottom: 20px;
        font-size: 20px;
      }
      .home #ABILITY_BLOCK .block .block_contents {
        padding: 0;
        background-color: transparent;
      }
      .home #ABILITY_BLOCK .block .block_contents:before {
        display: none;
      }
        .home #ABILITY_BLOCK .block .block_contents dl {
          padding: 30px 20px;
          width: 100%;
          background-color: var(--color_white);
        }
        .home #ABILITY_BLOCK .block .block_contents dl:before {
          content: "";
          position: absolute;
          right: 0;
          bottom: 0;
          z-index: 4;
          width: 235px;
          height: 100%;
          clip-path: polygon(100% 100%, 100% 0%, 0 100%);
          background-color: #F9F9F9;
        }
        .home #ABILITY_BLOCK .block .block_contents dl + dl {
          margin-top: 20px;
          border-left: 0;
        }
        .home #ABILITY_BLOCK .block .block_contents dt {
          position: relative;
          z-index: 5;
          max-width: 500px;
          margin: auto;
          margin-bottom: 15px;
          font-size: 20px;
        }
          .home #ABILITY_BLOCK .block .block_contents dt figure > img {
            height: 80px;
          }
          .home #ABILITY_BLOCK .block .block_contents dt figcaption {
            margin-top: 10px;
          }
          .home #ABILITY_BLOCK .block .block_contents dt .imgtext {
            height: 26px;
          }
        .home #ABILITY_BLOCK .block .block_contents dd {
          position: relative;
          z-index: 5;
          max-width: 500px;
          margin: auto;
        }
          .home #ABILITY_BLOCK .block .block_contents dd li {
            padding-left: 25px;
            font-size: 16px;
          }
          .home #ABILITY_BLOCK .block .block_contents dd li:before {
            top: 2px;
            width: 20px;
            height: 20px;
          }
      .home #ABILITY_BLOCK .block table {}
        .home #ABILITY_BLOCK .block table th ,
        .home #ABILITY_BLOCK .block table td {
          padding: 15px 10px;
          font-size: 14px;
        }
        .home #ABILITY_BLOCK .block table th {
          width: 105px;
        }
  .home #CONTENTS_AREA #REASON_BLOCK {}
    .home #REASON_BLOCK .section_title {}
      .home #REASON_BLOCK .section_title .imgtext {
        top: 9px;
      }
    .home #REASON_BLOCK .reasonbox {}
    .home #REASON_BLOCK .reasonbox li {
      max-width: 550px;
      margin: auto;
    }
      .home #REASON_BLOCK .reasonbox li dt {
        flex-direction: column;
        padding-left: 0;
        font-size: 24px;
        text-align: center;
      }
        .home #REASON_BLOCK .reasonbox li dt span {
          position: relative;
          width: 80px;
          height: 80px;
          margin-bottom: 10px;
          font-size: 16px;
        }
          .home #REASON_BLOCK .reasonbox li dt span em {
            top: -10px;
          }
          .home #REASON_BLOCK .reasonbox li dt span i .imgtext {
            height: 26px;
          }
        .home #REASON_BLOCK .reasonbox li dt p {}
          .home #REASON_BLOCK .reasonbox li dt p small {
            font-size: 16px;
          }
      .home #REASON_BLOCK .reasonbox li dd {
        font-size: 14px;
        line-height: 1.5;
      }
        .home #REASON_BLOCK .reasonbox li dd figcaption {
          padding: 15px 10px;
        }
        .home #REASON_BLOCK .reasonbox li dd .imgbox {
          width: 100%;
        }
  .home #CONTENTS_AREA #FEATURE_BLOCK {}
    .home #FEATURE_BLOCK .text {
      font-size: 14px;
    }
    .home #FEATURE_BLOCK .imgbox {
      padding: 10px;
    }
    .home #FEATURE_BLOCK .block {}
    .home #FEATURE_BLOCK .block + .block {
      margin-top: 50px;
    }
      .home #FEATURE_BLOCK .block .block_title {
        margin-bottom: 20px;
        font-size: 20px;
      }
      .home #FEATURE_BLOCK .block .block_contents {
        padding: 0;
        background-color: transparent;
      }
      .home #FEATURE_BLOCK .block .block_contents:before {
        display: none;
      }
        .home #FEATURE_BLOCK .block .block_contents dl {
          padding: 30px 20px;
          width: 100%;
          background-color: var(--color_white);
        }
        .home #FEATURE_BLOCK .block .block_contents dl:before {
          content: "";
          position: absolute;
          right: 0;
          bottom: 0;
          z-index: 4;
          width: 235px;
          height: 100%;
          clip-path: polygon(100% 100%, 100% 0%, 0 100%);
          background-color: #F9F9F9;
        }
        .home #FEATURE_BLOCK .block .block_contents dl + dl {
          margin-top: 20px;
          border-left: 0;
        }
        .home #FEATURE_BLOCK .block .block_contents dt {
          position: relative;
          z-index: 5;
          max-width: 500px;
          margin: auto;
          margin-bottom: 15px;
          font-size: 20px;
        }
          .home #FEATURE_BLOCK .block .block_contents dt figure > img {
            height: 80px;
          }
          .home #FEATURE_BLOCK .block .block_contents dt figcaption {
            margin-top: 10px;
          }
          .home #FEATURE_BLOCK .block .block_contents dt .imgtext {
            height: 26px;
          }
        .home #FEATURE_BLOCK .block .block_contents dd {
          position: relative;
          z-index: 5;
          max-width: 500px;
          margin: auto;
        }
          .home #FEATURE_BLOCK .block .block_contents dd li {
            padding-left: 25px;
            font-size: 16px;
          }
          .home #FEATURE_BLOCK .block .block_contents dd li:before {
            top: 2px;
            width: 20px;
            height: 20px;
          }
    .home #FEATURE_BLOCK .bottomtext {
      width: 80%;
      max-width: 500px;
      margin-top: 65px;
    }
    .home #FEATURE_BLOCK .bottomtext:before {
      top: -40px;
      height: 32.5px;
      width: 75px;
    }
  .home #CONTENTS_AREA #MAP_BLOCK {}
    .home #MAP_BLOCK .scrollwrap {
      /*width: 100%;
      overflow: scroll;*/
    }
    .home #MAP_BLOCK .imgbox {
      width: 1020px;
      padding: 10px;
      border: 1px solid #cccccc;
    }
      .home #MAP_BLOCK .imgbox .hover {
        padding: 10px;
      }
    .home #MAP_BLOCK .option {
      text-align: left;
    }
  .home #CONTENTS_AREA #ITEMS_BLOCK {}
    .home #ITEMS_BLOCK .scalewrap {
      /*max-height: 540px;*/ /* halfsize */
    }
    .home #ITEMS_BLOCK .scrollwrap {
      /*width: 100%;
      overflow: scroll;*/
      
      /*transform: translate(-25%, -25%) scale(0.5); 
      width: 200%;*//* halfsize */
    }
    .home #ITEMS_BLOCK .graphwrap {
      width: 1040px;
      padding: 20px;
      margin: auto;
    }
  .home #CONTENTS_AREA #PATENT_BLOCK {}
    .home #PATENT_BLOCK table {}
    .home #PATENT_BLOCK table caption {
      margin-bottom: 20px;
      font-size: 16px;
    }
      .home #PATENT_BLOCK table caption small {
        font-size: 14px;
      }
    .home #PATENT_BLOCK table tfoot {}
      .home #PATENT_BLOCK table tfoot td {
        padding-top: 15px;
      }
    .home #PATENT_BLOCK table tbody {}
      .home #PATENT_BLOCK table tbody th ,
      .home #PATENT_BLOCK table tbody td {
        padding: 10px;
        font-size: 14px;
      }
      .home #PATENT_BLOCK table tbody th {
        width: 150px;
      }
  .home #CONTENTS_AREA #MOVIE_BLOCK {}
    .home #MOVIE_BLOCK .box {
      display: block;
    }
    .home #MOVIE_BLOCK .box dt {
      height: 35px;
      margin-bottom: 20px;
      font-size: 16px;
    }
    .home #MOVIE_BLOCK .box dd {
      font-size: 14px;
      line-height: 1.5;
    }
    .home #MOVIE_BLOCK .box .imgbox {
      height: auto;
      max-width: 500px;
      padding: 40px 0;
      margin: auto;
      margin-bottom: 20px;
    }
  .home #CONTENTS_AREA #DOCUMENT_BLOCK {
    padding-bottom: 100px;
  }
    .home #DOCUMENT_BLOCK .box {
      display: block;
    }
    .home #DOCUMENT_BLOCK .box dt {
      height: 35px;
      margin-bottom: 20px;
      font-size: 16px;
    }
    .home #DOCUMENT_BLOCK .box dd {
      font-size: 14px;
      line-height: 1.5;
    }
    .home #DOCUMENT_BLOCK .box .imgbox {
      height: auto;
      max-width: 500px;
      margin: auto;
      margin-bottom: 20px;
    }
    .home #DOCUMENT_BLOCK .box .btnbox {
      text-align: center;
    }






  .home #CONTENTS_AREA .pagelink_block {
    padding: 30px;
  }
    .home #CONTENTS_AREA .pagelink_block .btnbox {
      flex-direction: column;
      align-items: center;
    }

  .home #CONTENTS_AREA #CONTACT_BLOCK {}
  .home #CONTACT_BLOCK .inner {
    padding: 0 10px;
  }
    .home #CONTACT_BLOCK .block_title {
      margin-bottom: 55px;
    }
    .home #CONTACT_BLOCK .btnbox {
      flex-direction: column;
      align-items: center;
    }
      .home #CONTACT_BLOCK .btnbox .btn + .btnwrap {
        margin-top: 50px;
      }
      .home #CONTACT_BLOCK .btnbox .btn,
      .home #CONTACT_BLOCK .btnbox .btnwrap {
        max-width: 250px;
      }
    .home #CONTACT_BLOCK .btnbox.show {}
      .home #CONTACT_BLOCK .btnbox.show .btnwrap {}
      .home #CONTACT_BLOCK .btnbox.show .btnwrap:after {
        bottom: -25px;
        height: 30px;
      }
    .home #CONTACT_BLOCK #FORM_BLOCK {
      padding: 50px 20px;
      margin-top: 25px;
    }
      .home #CONTACT_BLOCK #FORM_BLOCK .text {
        margin-bottom: 25px;
        font-size: var(--sp_fontsize_mid);
      }
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area .option {
          margin-bottom: 30px;
        }
          .home #CONTACT_BLOCK #FORM_BLOCK .form_area .splitbox dt {
            width: 100%;
            max-width: 100%;
            margin-bottom: 10px;
          }
          .home #CONTACT_BLOCK #FORM_BLOCK .form_area .splitbox dd {
            width: 100%;
            max-width: 100%;
            margin-bottom: 20px;
          }
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area .splitbox dd .wrap.sp {
          display: block;
        }
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area .splitbox dd .wrap.sp label {
          width: 100%;
        }
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area .splitbox dd .wrap.sp label + label {
          margin-top: 20px;
        }
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area input[type="text"],
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area input[type="email"],
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area input[type="tel"],
        .home #CONTACT_BLOCK #FORM_BLOCK .form_area textarea {
          font-size: var(--sp_fontsize_def);
        }
      .home #CONTACT_BLOCK #FORM_BLOCK .btnbox {
        margin-top: 30px;
      }
        .home #CONTACT_BLOCK #FORM_BLOCK .btnbox .btn {
          font-size: 20px;
        }


/* sec page */
.sec #CONTENTS_AREA {}

/* contact_end page */
.contact_end #CONTENTS_AREA {}
  .contact_end #CONTENTS_AREA #END_BLOCK {}
    .contact_end #END_BLOCK .section_title b {
      font-size: 24px;
    }
    .contact_end #END_BLOCK .block {
      padding: 20px;
    }
      .contact_end #END_BLOCK .block .block_title {
        padding: 5px 10px;
        margin-bottom: 20px;
        font-size: 16px;
      }
      .contact_end #END_BLOCK .block .text {
        font-size: 14px;
      }
      .contact_end #END_BLOCK .btnbox .btn {
        min-width: 280px;
        height: 50px;
        font-size: 20px;
      }
      
      
      
  /* modal design */
  .home .modaal-container {}
  /* modal-img design */
  .home .modaal-image .modaal-container {
    max-width: 100%;
  }


}