@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@700;900&display=swap");
.mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.tukusi {
  font-family: "FOT-筑紫オールド明朝 Pro R", "TsukuOldMinPro-R", serif;
}

.hlv {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.century {
  font-family: "Questrial", sans-serif;
}

.minimunWidth {
  width: 720px;
  margin-right: auto;
  margin-left: auto;
}

.inrWidth {
  width: 1000px;
  margin-right: auto;
  margin-left: auto;
}

.outerWidth {
  width: 1200px;
  margin-right: auto;
  margin-left: auto;
}

.fullWidth {
  margin-right: auto;
  margin-left: auto;
}

@media print, screen and (min-width: 1400px) {
  .fullWidth {
    width: 1400px;
  }
  .inrWidth {
    width: 1000px;
  }
  .minimumWidth {
    width: 720px;
  }
}

@media print, screen and (min-width: 1200px) and (max-width: 1400px) {
  .fullWidth {
    width: 100%;
  }
  .outerWidth {
    width: 1200px;
  }
  .inrWidth {
    width: 1000px;
  }
  .minimumWidth {
    width: 720px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1400px) {
  .fullWidth {
    width: 90% !important;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1200px) {
  .outerWidth {
    width: 95% !important;
  }
  .minimumWidth {
    width: 720px;
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1000px) {
  .inrWidth {
    width: 95% !important;
  }
}

@media screen and (max-width: 768px) {
  .minimumWidth {
    width: 90%;
  }
  .inrWidth {
    width: 90%;
  }
  .outerWidth {
    width: 90% !important;
  }
  .fullWidth {
    width: 90% !important;
  }
}

/*----------------------------------------
HEADER
-----------------------------------------*/
/*----------------------------------------
FOOTER
-----------------------------------------*/
/*----------------------------------------
MAIN
-----------------------------------------*/
input[type="text"],
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
}

.TBanime {
  animation: TBanime 8s forwards;
  -webkit-animation: TBanime 8s forwards;
}

.TBanime_sp {
  animation: TBanime 7s forwards;
  -webkit-animation: TBanime 7s forwards;
}

.LINEBanime {
  animation: LINEBanime 3s forwards;
}

.LINEBanime_sp {
  animation: LINEBanime 3s forwards;
}

.TBanime02 {
  animation: TBanime 2s forwards;
  transform-origin: right top;
}

.RLBanime {
  animation: RLBanime 6s forwards;
  transform-origin: right top;
}

.RLBanime_sp {
  animation: RLBanime 12s forwards;
  transform-origin: right top;
}

.RLBanime01 {
  animation: RLBanime01 6s forwards;
  transform-origin: right top;
}

.LRBanime {
  animation: LRBanime 6s forwards;
  transform-origin: left top;
}

.LRBanime02 {
  animation: LRBanime02 6s forwards;
  transform-origin: left top;
}

@keyframes TBanime {
  0% {
    transform: scaleY(0);
  }
  100% {
    transform: scaleY(1);
  }
}

@keyframes LINEBanime {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes RLBanime {
  0% {
    transform: translate(-100%, calc(-100% + 72px));
  }
  30% {
    transform: translate(0, calc(-100% + 72px));
  }
  100% {
    transform: translate(0, 0);
  }
}

@keyframes RLBanime01 {
  0% {
    transform: translate(-100%, calc(-100% + 103px));
  }
  30% {
    transform: translate(0, calc(-100% + 103px));
  }
  100% {
    transform: translate(0, 0);
  }
}

@keyframes anime_slider_fade {
  0% {
    visibility: visible;
    opacity: 0;
  }
  7% {
    opacity: 1;
  }
  28% {
    opacity: 1;
  }
  35% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

@media screen and (min-width: 769px) {
  #TOP {
    width: 100%;
    overflow: hidden;
  }
  #TOP .mv {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top !important;
    min-height: 100vh;
    background-attachment: fixed;
    position: relative;
    padding-top: 130px;
  }
  #TOP .mv .slider_fade {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
  }
  #TOP .mv .slider-item01 {
    background: url(../img/top/bg01_pc.jpg);
  }
  #TOP .mv .slider-item02 {
    background: url(../img/top/bg02_pc.jpg);
  }
  #TOP .mv .slider-item03 {
    background: url(../img/top/bg03_pc.jpg);
  }
  #TOP .mv .slider-item04 {
    background: url(../img/top/bg04_pc.jpg);
  }
  #TOP .mv .slider-item05 {
    background: url(../img/top/bg05_pc.jpg);
  }
  #TOP .mv .slider-item {
    width: 100%;
    /*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height: 100vh;
    /*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;
    /*背景画像をリピートしない*/
    background-position: center bottom;
    /*背景画像の位置を中央に*/
    background-size: cover;
    /*背景画像が.slider-item全体を覆い表示*/
  }
  #TOP .mv .slider_fade > li {
    position: absolute;
    list-style: none;
    visibility: hidden;
    animation: anime_slider_fade 20s  infinite;
  }
  #TOP .mv .slider_fade > li:nth-of-type(1) {
    animation-delay: 0s;
  }
  #TOP .mv .slider_fade > li:nth-of-type(2) {
    animation-delay: 4s;
    background-position: center center;
  }
  #TOP .mv .slider_fade > li:nth-of-type(3) {
    animation-delay: 8s;
  }
  #TOP .mv .slider_fade > li:nth-of-type(4) {
    animation-delay: 12s;
  }
  #TOP .mv .slider_fade > li:nth-of-type(5) {
    animation-delay: 16s;
  }
  #TOP .mv__bg_cover {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    opacity: 0;
    transition: all 0.5s 0s ease;
  }
  #TOP .mv__top {
    width: 100%;
    height: 80vh;
    position: relative;
  }
  #TOP .mv__top__ttl {
    position: absolute;
    top: 40%;
    left: 0;
    transform: translate(0, -50%);
  }
  #TOP .mv__top__ttl h1,
		#TOP .mv__top__ttl .h1 {
    position: relative;
  }
  #TOP .mv__top__ttl h1 svg,
		#TOP .mv__top__ttl .h1 svg{
    position: absolute;
    top: 92px;
    left: 16.5px;
  }
  #TOP .mv__top__ttl h1 svg .cls-3,
		#TOP .mv__top__ttl .h1 svg .cls-3{
    stroke: #fff !important;
  }
  #TOP .mv__top__ttl h1 img,
		#TOP .mv__top__ttl .h1 img{
    margin-left: 16px;
    margin-top: 30px;
    filter: drop-shadow(3px 3px 3px rgba(0, 0, 0, 0.3));
  }
  #TOP .mv__top__ttl .txt {
    margin-top: 25px;
    margin-left: auto;
    color: #fff;
    width: 370px;
    text-align: justify;
    line-height: 2.5;
    letter-spacing: 0;
  }
  #TOP .mv__top__ttl .txt p {
    font-size: 1.6rem;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
  }
  #TOP .mv__top .scroll {
    position: absolute;
    bottom: 80px;
    left: 50%;
    transform: translate(-50%, 0);
    font-weight: 600;
    font-size: 1.4rem;
    color: #fff;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  }
  #TOP .mv__top .scroll span {
    position: absolute;
    top: -55px;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: sdb 2s infinite;
    animation: sdb 2s infinite;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  @-webkit-keyframes sdb {
    0% {
      -webkit-transform: rotate(-45deg) translate(0, 0);
    }
    20% {
      -webkit-transform: rotate(-45deg) translate(-10px, 10px);
    }
    40% {
      -webkit-transform: rotate(-45deg) translate(0, 0);
    }
  }
  @keyframes sdb {
    0% {
      transform: rotate(-45deg) translate(0, 0);
    }
    20% {
      transform: rotate(-45deg) translate(-10px, 10px);
    }
    40% {
      transform: rotate(-45deg) translate(0, 0);
    }
  }
  #TOP .mv__btm {
    width: 100%;
    height: 100vh;
    position: relative;
  }

		
  #TOP .mv__btm__search {
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 100%;
  }
  #TOP .mv__btm_m {
    height: 40vh;
  }
  #TOP .mv__btm_m .mv__btm__search {
    top: 20%;
    transform: translate(0, 0%);
  }
		
  #TOP .mv__btm__search .LFT {
    width: 47%;
  }
  #TOP .mv__btm__search .LFT p {
    font-size: 1.6rem;
    font-weight: bold;
    color: #fff;
  }
  #TOP .mv__btm__search .LFT__input {
    position: relative;
    margin-top: 8px;
  }
  #TOP .mv__btm__search .LFT__input img {
    position: absolute;
    top: 50%;
    left: 14px;
    transform: translate(0, -50%);
    width: 26px;
    height: auto;
  }
  #TOP .mv__btm__search .LFT__input input {
    width: 100%;
    background: #fff;
    padding: 18px 15px 18px 50px;
    border: none;
    border-radius: 8px;
    font-size: 1.5rem;
    cursor: pointer;
  }
  #TOP .mv__btm__search .LFT__btn {
    margin-top: 10px;
  }
  #TOP .mv__btm__search .LFT__btn input {
    display: none;
  }
  #TOP .mv__btm__search .LFT__btn a {
    width: 100%;
    background: #fff;
    padding: 15px;
    border: none;
    border-radius: 8px;
    text-align: center;
    font-size: 1.7rem;
    font-weight: bold;
    cursor: pointer;
    display: block;
  }
  #TOP .mv__btm__search .RGT {
    width: 50%;
  }
  #TOP .mv__btm__search .RGT img {
    width: 101%;
    max-width: none;
  }
  #TOP section .more_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: #999;
    padding: 27px 0;
    margin-top: 40px;
    text-align: center;
    position: relative;
    max-width: 298px;
  }
  #TOP section .more_btn .more_txt {
    width: 70px;
    height: auto;
  }
  #TOP section .more_btn .arw {
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translate(0, -50%);
    width: 5px;
    height: auto;
  }
  #TOP section .more_btn:hover {
    background: #000000;
  }
  #TOP .strong, #TOP .process {
    background: #fff;
    height: 901px;
    margin-top: -1px;
  }
  #TOP .strong .outerWidth, #TOP .process .outerWidth {
    position: relative;
    height: 901px;
  }
  #TOP .strong svg, #TOP .process svg {
    z-index: 1;
  }
  #TOP .strong svg .cls-3, #TOP .process svg .cls-3 {
    stroke: #0d69b0 !important;
  }
  #TOP .strong svg .cls-2, #TOP .process svg .cls-2 {
    fill: #0d69b0 !important;
    clip-path: none;
  }
  #TOP .strong svg .cls-5, #TOP .process svg .cls-5 {
    fill: #fff !important;
  }
  #TOP .strong__blk, #TOP .process__blk {
    position: absolute;
    top: 227px;
    right: 9.5%;
    width: 50%;
  }
  #TOP .strong__blk h2,#TOP .strong__blk .h2, #TOP .process__blk h2 {
    text-align: right;
  }
  #TOP .strong__blk .h2_under, #TOP .process__blk .h2_under {
    text-align: right;
    font-size: 1.6rem;
    font-weight: bold;
    margin-top: 10px;
    letter-spacing: 0.15em;
  }
  #TOP .strong__blk__txt, #TOP .process__blk__txt {
    margin-top: 52px;
    width: 298px;
    margin-left: auto;
    text-align: justify;
  }
  #TOP .strong__blk__txt p, #TOP .process__blk__txt p {
    letter-spacing: 0;
    line-height: 1.8;
  }
  #TOP .strong .img01 {
    position: absolute;
    top: 0;
    right: 47.5%;
    height: 901px;
    width: 52.5vw;
    max-width: none;
    object-fit: cover;
  }
  #TOP .strong #bg_stg01 {
    position: absolute;
    top: 0;
    left: 3px;
    pointer-events: none;
  }
  #TOP .strong #bg_stg01 .cls-2 {
    clip-path: url(#clip-path01) !important;
  }
  #TOP .strong #bg_stg01 .cls-4 {
    fill: #0d69b0 !important;
    stroke: none !important;
  }
  #TOP .strong #bg_stg01 .cls-5 {
    stroke: #B7D2E7 !important;
  }
  #TOP .strong #bg_stg02 {
    position: absolute;
    bottom: 35px;
    left: 3px;
  }
  #TOP .strong #bg_stg02 .cls-2 {
    clip-path: url(#clip-path02) !important;
  }
  #TOP .strong #bg_stg02 .cls-4 {
    fill: #0d69b0 !important;
  }
  #TOP .process {
    height: 1062px;
  }
  #TOP .process .img02 {
    position: absolute;
    top: 0;
    left: 42.5%;
    width: 57.5vw;
    height: 901px;
    max-width: none;
    object-fit: cover;
  }
  #TOP .process svg {
    position: absolute;
    top: -35px;
    left: 16px;
  }
  #TOP .process svg .cls-2 {
    clip-path: url(#clip-path03);
  }
  #TOP .process__blk {
    position: absolute;
    top: 288px;
    left: 8%;
    right: auto;
    width: 50%;
  }
  #TOP .process__blk h2 {
    text-align: left;
  }
  #TOP .process__blk .h2_under {
    text-align: left;
    margin-top: 0;
  }
  #TOP .process__blk__txt {
    margin-top: 40px;
    margin-left: 0;
  }
  #TOP .process__blk__txt .more_btn {
    margin-top: 50px;
  }
  #TOP .link_area {
    background: url(../img/top/img03@2x.png) no-repeat;
    background-position: center;
    background-size: cover;
    height: 459px;
  }
  #TOP .link_area .outerWidth {
    padding-top: 150px;
    height: 459px;
    position: relative;
  }
  #TOP .link_area .outerWidth svg {
    position: absolute;
  }
  #TOP .link_area .outerWidth svg .cls-1 {
    stroke: #fff !important;
  }
  #TOP .link_area .outerWidth svg .cls-2 {
    fill: #fff !important;
  }
  #TOP .link_area .outerWidth svg .cls-3 {
    stroke: #fff !important;
    stroke-miterlimit: 10;
  }
  #TOP .link_area .outerWidth svg .cls-4 {
    fill: #fff !important;
    stroke: #fff !important;
  }
  #TOP .link_area .outerWidth svg#bg_link01 {
    top: 0;
    left: 3px;
  }
  #TOP .link_area .outerWidth svg#bg_link01 .cls-2 {
    clip-path: url(#clip-path04);
  }
  #TOP .link_area .outerWidth svg#bg_link02 {
    bottom: -1px;
    left: 3px;
  }
  #TOP .link_area .outerWidth svg#bg_link02 .cls-2 {
    clip-path: url(#clip-path05);
  }
  #TOP .link_area ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 980px;
    margin: 0 auto;
  }
  #TOP .link_area ul li {
    width: 32%;
    margin-bottom: 20px;
  }
  #TOP .link_area ul li a {
    display: block;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    height: 70px;
    padding-left: 12%;
    font-size: 1.5rem;
    font-weight: bold;
    position: relative;
  }
  #TOP .link_area ul li a:hover {
    background: #444;
    color: #fff;
  }
  #TOP .link_area ul li a .icon {
    margin-right: 25px;
    width: 30px;
  }
  #TOP .link_area ul li a .icon--bill {
    width: 20px;
    margin-right: 30px;
    margin-left: 5px;
  }
  #TOP .link_area ul li a .arw {
    position: absolute;
    top: 50%;
    right: 12%;
    transform: translate(0, -50%);
  }
  #TOP .news {
    background: #fff;
  }
  #TOP .news .outerWidth {
    position: relative;
    padding: 145px 0 105px;
  }
  #TOP .news .outerWidth svg {
    position: absolute;
    top: 0;
    left: 16px;
  }
  #TOP .news svg .cls-2 {
    clip-path: url(#clip-path06);
  }
  #TOP .news h2 {
    font-size: 4.8rem;
    font-weight: bold;
    color: #0D69B0;
    float: left;
    padding-left: 95px;
    line-height: 1;
    margin-top: -5px;
    letter-spacing: 0.1em;
  }
  #TOP .news__blks {
    padding-left: 260px;
  }
  #TOP .news__blks li {
    position: relative;
  }
  #TOP .news__blks li:first-of-type a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100vw;
    height: 1px;
    background: #1A1A1A;
  }
  #TOP .news__blks li a {
    display: block;
    padding: 38px 0 38px 35px;
  }
  #TOP .news__blks li a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100vw;
    height: 1px;
    background: #1A1A1A;
  }
  #TOP .news__blks li a .ctg span:first-of-type {
    font-size: 1.5rem;
    font-weight: bold;
    padding: 4px 10px;
    line-height: 1;
    color: #fff;
    border-radius: 3px;
    margin-right: 7px;
  }
  #TOP .news__blks li a .ctg span:last-of-type {
    vertical-align: bottom;
    line-height: 1;
  }
  #TOP .news__blks li a .ctg--news {
    display: flex;
    align-items: flex-end;
  }
  #TOP .news__blks li a .ctg--news span:first-of-type {
    background: #666;
  }
  #TOP .news__blks li a .ctg--product span:first-of-type {
    background: #0D69B0;
    padding: 4px 15px;
  }
  #TOP .news__blks li a .delete_txt {
    margin-top: 18px;
    width: 65%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  #TOP .news__blks li a .arw {
    position: absolute;
    top: 50%;
    right: -1%;
    transform: translate(0, -50%);
  }
  #TOP .news .more_btn {
    margin-left: auto;
    margin-right: -1%;
    margin-top: 25px;
    max-width: 280px;
  }
  @-moz-document url-prefix() {}  _:lang(x) + _:-webkit-full-screen-document, #TOP .mv__top__ttl h1 svg, #TOP .mv__top__ttl .h1 svg {
    left: 19.5px;
  }
		#TOP .mv__top__ttl .h1 svg {
		}
}

@media screen and (max-width: 768px) {
  #TOP {
    width: 100%;
    overflow: hidden;
    position: relative;
  }
  #TOP .mv {
    position: relative;
    height: 180vh;
  }
  #TOP .mv .slider_fade {
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100vh;
  }
  #TOP .mv .slider-item01 {
    background: url(../img/top/bg01_sp.jpg);
  }
  #TOP .mv .slider-item02 {
    background: url(../img/top/bg02_sp.jpg);
  }
  #TOP .mv .slider-item03 {
    background: url(../img/top/bg03_sp.jpg);
  }
  #TOP .mv .slider-item04 {
    background: url(../img/top/bg04_sp.jpg);
  }
  #TOP .mv .slider-item05 {
    background: url(../img/top/bg05_sp.jpg);
  }
  #TOP .mv .slider-item {
    width: 100%;
    /*各スライダー全体の横幅を画面の高さいっぱい（100%）にする*/
    height: 100vh;
    /*各スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
    background-repeat: no-repeat;
    /*背景画像をリピートしない*/
    background-position: center;
    /*背景画像の位置を中央に*/
    background-size: cover;
    /*背景画像が.slider-item全体を覆い表示*/
  }
  #TOP .mv .slider_fade > li {
    position: absolute;
    list-style: none;
    visibility: hidden;
    animation: anime_slider_fade 20s 0s infinite;
  }
  #TOP .mv .slider_fade > li:nth-of-type(2) {
    animation-delay: 4s;
  }
  #TOP .mv .slider_fade > li:nth-of-type(3) {
    animation-delay: 8s;
  }
  #TOP .mv .slider_fade > li:nth-of-type(4) {
    animation-delay: 12s;
  }
  #TOP .mv .slider_fade > li:nth-of-type(5) {
    animation-delay: 16s;
  }
  #TOP .mv__bg_cover {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background: #000;
    opacity: 0;
    transition: all 0.5s 0s ease;
  }
  #TOP .mv__top {
    width: 100%;
    height: 80vh;
    position: relative;
  }
  #TOP .mv__top__ttl {
    position: absolute;
    top: 49%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 280px;
  }
  #TOP .mv__top__ttl h1,
		#TOP .mv__top__ttl .h1{
    position: relative;
    width: 295px;
  }
  #TOP .mv__top__ttl h1 img,
		#TOP .mv__top__ttl .h1 img{
    margin-left: 9px;
    filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.3));
  }
  #TOP .mv__top__ttl h1 svg,
		#TOP .mv__top__ttl .h1 svg{
    position: absolute;
    top: -20px;
    left: 8px;
    width: 11px;
  }
  #TOP .mv__top__ttl h1 svg .cls-3,
		#TOP .mv__top__ttl .h1 svg .cls-3{
    stroke: #fff !important;
  }
  #TOP .mv__top__ttl h1 .tab_svg,
		#TOP .mv__top__ttl .h1 .tab_svg{
    display: none;
  }
  #TOP .mv__top__ttl h1 .sp_svg .cls-2,
		#TOP .mv__top__ttl .h1 .sp_svg .cls-2{
    clip-path: url(#clip-path10-02) !important;
  }
}

@media screen and (max-width: 768px) and (min-width: 600px) {
  #TOP .mv__top__ttl h1 .tab_svg,
		#TOP .mv__top__ttl .h1 .tab_svg{
    display: block;
  }
  #TOP .mv__top__ttl h1 .tab_svg .cls-2,
		#TOP .mv__top__ttl .h1 .tab_svg .cls-2{
    clip-path: url(#clip-path10-01) !important;
  }
  #TOP .mv__top__ttl h1 .sp_svg,
		#TOP .mv__top__ttl .h1 .sp_svg{
    display: none;
  }
}

@media screen and (max-width: 768px) {
  #TOP .mv__top__ttl .txt {
    margin: 40px auto 0;
    color: #fff;
    width: 224px;
    text-align: justify;
    line-height: 2.2;
    letter-spacing: 0;
    font-size: 1.25rem;
  }
  #TOP .mv__top__ttl .txt p {
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
  }
  #TOP .mv__top .scroll {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    font-weight: 600;
    font-size: 1.4rem;
    color: #fff;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
  }
  #TOP .mv__top .scroll span {
    position: absolute;
    top: -50px;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-left: -12px;
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-animation: sdb 2s infinite;
    animation: sdb 2s infinite;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  @-webkit-keyframes sdb {
    0% {
      -webkit-transform: rotate(-45deg) translate(0, 0);
    }
    20% {
      -webkit-transform: rotate(-45deg) translate(-10px, 10px);
    }
    40% {
      -webkit-transform: rotate(-45deg) translate(0, 0);
    }
  }
  @keyframes sdb {
    0% {
      transform: rotate(-45deg) translate(0, 0);
    }
    20% {
      transform: rotate(-45deg) translate(-10px, 10px);
    }
    40% {
      transform: rotate(-45deg) translate(0, 0);
    }
  }
  #TOP .mv__btm {
    width: 100%;
    height: 100vh;
    position: relative;
  }
  #TOP .mv__btm__search {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 280px;
  }
  #TOP .mv__btm_m {
    width: 100%;
    height: 50vh;
    position: relative;
  }
  #TOP .mv__btm_m .mv__btm__search {
    top: 10%;
				 transform: translate(-50%, -0%);
  }
		
  #TOP .mv__btm__search .LFT p {
    font-size: 1rem;
    font-weight: bold;
    color: #fff;
  }
  #TOP .mv__btm__search .LFT__input {
    position: relative;
    margin-top: 5px;
  }
  #TOP .mv__btm__search .LFT__input img {
    position: absolute;
    top: 50%;
    left: 6px;
    transform: translate(0, -50%);
    width: 20px;
    height: auto;
  }
  #TOP .mv__btm__search .LFT__input input {
    width: 100%;
    background: #fff;
    padding: 10px 10px 10px 40px;
    border: none;
    border-radius: 4px;
    font-size: 1.6rem;
  }
  #TOP .mv__btm__search .LFT__btn {
    margin-top: 10px;
  }
  #TOP .mv__btm__search .LFT__btn input {
    display: none;
  }
  #TOP .mv__btm__search .LFT__btn a {
    display: block;
    width: 100%;
    background: #fff;
    padding: 7px;
    border: none;
    border-radius: 4px;
    text-align: center;
    font-size: 1.3rem;
    font-weight: bold;
  }
  #TOP .mv__btm__search .RGT {
    margin-top: 25px;
  }
  #TOP section .more_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: #999;
    padding: 20px 0;
    margin: 20px auto 0;
    text-align: center;
    position: relative;
    max-width: 300px;
  }
  #TOP section .more_btn .more_txt {
    width: 70px;
    height: auto;
  }
  #TOP section .more_btn .arw {
    position: absolute;
    top: 50%;
    right: 25px;
    transform: translate(0, -50%);
    width: 5px;
    height: auto;
  }
  #TOP .strong, #TOP .process {
    background: #fff;
    margin-top: -1px;
  }
  #TOP .strong .outerWidth, #TOP .process .outerWidth {
    position: relative;
    padding-top: 60px;
  }
  #TOP .strong__img, #TOP .process__img {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    display: block;
  }
  #TOP .strong__img img, #TOP .process__img img {
    width: 100%;
    height: auto;
  }
  #TOP .strong svg, #TOP .process svg {
    z-index: 1;
  }
  #TOP .strong svg .cls-3, #TOP .process svg .cls-3 {
    stroke: #0d69b0 !important;
  }
  #TOP .strong svg .cls-2, #TOP .process svg .cls-2 {
    fill: #0d69b0 !important;
    clip-path: none;
  }
  #TOP .strong svg .cls-4, #TOP .process svg .cls-4 {
    stroke: #B7D2E7 !important;
  }
  #TOP .strong svg .cls-5, #TOP .process svg .cls-5 {
    stroke: none !important;
  }
  #TOP .strong__blk, #TOP .process__blk {
    width: 90%;
    margin: 0 auto;
  }
  #TOP .strong__blk h2,#TOP .strong__blk .h2, #TOP .process__blk h2 {
    text-align: right;
    max-width: 196px;
    margin-left: auto;
    margin-top: -10px;
  }
  #TOP .strong__blk .h2_under, #TOP .process__blk .h2_under {
    text-align: right;
    font-size: 1.3rem;
    font-weight: bold;
    margin-top: 20px;
    letter-spacing: 0.15em;
  }
  #TOP .strong__blk__txt, #TOP .process__blk__txt {
    margin-top: 40px;
    margin-left: auto;
    text-align: justify;
  }
  #TOP .strong__blk__txt p, #TOP .process__blk__txt p {
    letter-spacing: 0;
    line-height: 1.8;
  }
  #TOP .strong__decotop {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 280px;
  }
  #TOP .strong #bg_stg_sp01 {
    position: absolute;
    top: 0;
    left: -306px;
    height: 38px;
  }
  #TOP .strong #bg_stg_sp01 .cls-2 {
    clip-path: url(#clip-path11) !important;
  }
  #TOP .strong #bg_stg02 {
    position: absolute;
    bottom: 35px;
    left: 3px;
  }
  #TOP .strong #bg_stg02 .cls-2 {
    clip-path: url(#clip-path02) !important;
  }
  #TOP .strong #bg_stg02 .cls-4 {
    fill: #0d69b0 !important;
  }
  #TOP .process {
    padding-top: 20px;
    padding-bottom: 60px;
  }
  #TOP .process .outerWidth {
    padding-top: 37px;
  }
  #TOP .process__decotop {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 280px;
  }
  #TOP .process svg {
    position: absolute;
    top: 0;
    left: -322px;
    height: 40px;
  }
  #TOP .process svg .cls-2 {
    clip-path: url(#clip-path12);
  }
  #TOP .process__blk h2 {
    text-align: left;
    margin-left: initial;
    max-width: 220px;
  }
  #TOP .process__blk .h2_under {
    text-align: left;
  }
  #TOP .process__blk__txt {
    margin-left: 0;
  }
  #TOP .link_area {
    background: url(../img/top/img03_sp@2x.png) no-repeat;
    background-position: center;
    background-size: cover;
    position: relative;
  }
  #TOP .link_area__decotop {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 280px;
  }
  #TOP .link_area__decobtm {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 280px;
  }
  #TOP .link_area .outerWidth {
    padding: 55px 0 40px;
    position: relative;
  }
  #TOP .link_area .outerWidth svg {
    position: absolute;
  }
  #TOP .link_area .outerWidth svg .cls-1 {
    stroke: #0d69b0 !important;
  }
  #TOP .link_area .outerWidth svg .cls-2 {
    fill: #0d69b0 !important;
  }
  #TOP .link_area .outerWidth svg .cls-3 {
    stroke: #0d69b0 !important;
    stroke-miterlimit: 10;
  }
  #TOP .link_area .outerWidth svg .cls-4 {
    stroke: #B7D2E7 !important;
  }
  #TOP .link_area .outerWidth svg .cls-5 {
    stroke: none !important;
  }
  #TOP .link_area .outerWidth svg#bg_link01_sp {
    position: absolute;
    top: -38px;
    left: -345px;
    height: 38px;
  }
  #TOP .link_area .outerWidth svg#bg_link01_sp .cls-2 {
    clip-path: url(#clip-path13);
  }
  #TOP .link_area .outerWidth svg#bg_link02_sp {
    bottom: -38px;
    left: -305px;
    height: 38px;
  }
  #TOP .link_area .outerWidth svg#bg_link02_sp .cls-2 {
    clip-path: url(#clip-path14);
  }
  #TOP .link_area ul {
    width: 90%;
    margin: 0 auto;
  }
  #TOP .link_area ul li {
    margin-bottom: 15px;
  }
  #TOP .link_area ul li a {
    display: block;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    height: 55px;
    padding-left: 7%;
    font-size: 1.3rem;
    font-weight: bold;
    position: relative;
    border-radius: 4px;
  }
  #TOP .link_area ul li a .icon {
    margin-right: 11px;
    width: 24px;
  }
  #TOP .link_area ul li a .icon--bill {
    width: 16px;
    margin-right: 16px;
    margin-left: 4px;
  }
  #TOP .link_area ul li a .arw {
    position: absolute;
    top: 50%;
    right: 8%;
    transform: translate(0, -50%);
    width: 5px;
  }
  #TOP .news {
    background: #fff;
  }
  #TOP .news .outerWidth {
    position: relative;
    padding: 65px 0 70px;
  }
  #TOP .news__decobtm {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 0);
    width: 280px;
  }
  #TOP .news__decobtm svg {
    bottom: 0;
    left: -345px;
    height: 38px;
    position: absolute;
  }
  #TOP .news__decobtm svg .cls-2 {
    clip-path: url(#clip-path15);
  }
  #TOP .news__decobtm svg .cls-4 {
    stroke: #B7D2E7 !important;
  }
  #TOP .news__decobtm svg .cls-5 {
    stroke: none !important;
  }
  #TOP .news h2 {
    width: 90%;
    margin: 0 auto 30px;
    font-size: 2.4rem;
    font-weight: bold;
    color: #0D69B0;
    line-height: 1;
    letter-spacing: 0.1em;
  }
  #TOP .news h2 img {
    width: 70px;
    height: auto;
  }
  #TOP .news__blks {
    width: 90%;
    margin: 0 auto;
  }
  #TOP .news__blks li {
    position: relative;
  }
  #TOP .news__blks li:first-of-type a {
    border-top: 1px solid #1A1A1A;
  }
  #TOP .news__blks li a {
    display: block;
    padding: 20px;
    border-bottom: 1px solid #1A1A1A;
  }
  #TOP .news__blks li a .ctg span:first-of-type {
    font-size: 1rem;
    font-weight: bold;
    padding: 4px 5px;
    line-height: 1;
    color: #fff;
    border-radius: 3px;
    margin-right: 7px;
  }
  #TOP .news__blks li a .ctg span:last-of-type {
    vertical-align: bottom;
    line-height: 1;
  }
  #TOP .news__blks li a .ctg--news {
    display: flex;
    align-items: flex-end;
  }
  #TOP .news__blks li a .ctg--news span:first-of-type {
    background: #666;
  }
  #TOP .news__blks li a .ctg--product span:first-of-type {
    background: #0D69B0;
    padding: 4px 5px;
  }
  #TOP .news__blks li a .delete_txt {
    margin-top: 15px;
    line-height: 1.6;
    letter-spacing: 0;
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-align: left;
  }
  #TOP .news__blks li a .arw {
    display: none;
  }
  #TOP .news .more_btn {
    margin-left: auto;
    margin-top: 35px;
  }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  svg .cls-2, #TOP .strong #bg_stg01 .cls-2, #TOP .strong #bg_stg02 .cls-2 {
    clip-path: none !important;
  }
}
