@charset "UTF-8";
@media screen and (min-width: 769px), print {
  a[href^=tel] {
    pointer-events: none;
    text-decoration: none;
    cursor: default !important;
  }
  .show_sp {
    display: none !important;
  }
  .container {
    overflow: hidden;
  }
  .row {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) and (min-width: 769px) {
  .row {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media screen and (min-width: 769px), print {
  .inner {
    max-width: 800px;
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (min-width: 769px) and (max-width: 1024px) and (min-width: 769px) {
  .inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}

@media screen and (min-width: 769px), print {
  img {
    max-width: 100%;
    width: auto;
    height: auto;
  }
  .hvr-pop {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    -moz-transform: perspective(1px) translateZ(0);
         transform: perspective(1px) translateZ(0);
    -moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0);
         box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  }
  .hvr-pop:hover, .hvr-pop:focus, .hvr-pop:active {
    -webkit-animation-name: hvr-pop;
    -moz-animation-name: hvr-pop;
         animation-name: hvr-pop;
    -webkit-animation-duration: 0.3s;
    -moz-animation-duration: 0.3s;
         animation-duration: 0.3s;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
         animation-timing-function: linear;
    -webkit-animation-iteration-count: 1;
    -moz-animation-iteration-count: 1;
         animation-iteration-count: 1;
  }
  .p_top .block01 {
    padding-top: 30px;
  }
  .p_top .block02 {
    margin: 30px 0 35px;
  }
  .p_top .block02_main {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p_top .block02_main .box {
    width: 35%;
    color: #fff;
    background-color: #004098;
    padding: 30px 35px 38px;
  }
  .p_top .block02_main .box dl dt {
    font-size: 34px;
    font-weight: bold;
    line-height: 1.2;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    border-bottom: 1px solid;
    margin-bottom: 10px;
  }
  .p_top .block02_main .box dl dt small {
    font-size: 80%;
  }
  .p_top .block02_main .box dl dd p {
    font-size: 14px;
    line-height: 1.85714;
    letter-spacing: 0.1em;
    margin-bottom: 6px;
  }
  .p_top .block02_main > figure {
    width: 65%;
  }
  .p_top .block02_main > figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
	  object-position: right;
  }
  .p_top .block03 {
    padding-bottom: 77px;
  }
  .p_top .block03 h2 {
    background-color: #004098;
    text-align: center;
    padding: 8px 0 12px;
    color: #fff;
    font-weight: 600;
    font-size: 35px;
    letter-spacing: 0.05em;
    position: relative;
    text-align: center;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
       -moz-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 68px;
  }
  .p_top .block03 h2 img {
    width: 341px;
  }
  .p_top .block03 h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 10px;
    width: 100%;
    height: 2px;
    background: #FFC800;
    display: block;
  }
  .p_top .block03 .item + .item {
    margin-top: 20px;
  }
  .p_top .block03 .item h3 {
    margin-bottom: 18px;
    padding-top: 24px;
    padding-right: 28px;
    padding-left: 28px;
    text-align: center;
    position: relative;
  }
  .p_top .block03 .item h3 span {
    font-weight: 600;
    font-size: 40px;
    line-height: 1.65;
    letter-spacing: 0.05em;
    color: #004098;
    border-bottom: 2px solid;
    text-align: center;
    display: block;
  }
  .p_top .block03 .item h3::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 49px solid #004098;
    border-right: 49px solid transparent;
  }
  .p_top .block03 .item .df {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .p_top .block03 .item .df.st2 .txt01 {
    width: 50%;
  }
  .p_top .block03 .item .df.st2 .listImg {
    width: 50%;
    display: block;
  }
  .p_top .block03 .item .df.st2 .listImg li {
    width: 100%;
  }
  .p_top .block03 .item .df .txt01 {
    position: relative;
    padding-left: 85px;
    padding-right: 35px;
    color: #1A1A1A;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.75;
    letter-spacing: 0.04em;
    margin-bottom: 15px;
    text-align: justify;
  }
  .p_top .block03 .item .df .txt01 span {
    color: #F39800;
  }
  .p_top .block03 .item .df .txt01::after {
    content: "";
    position: absolute;
    top: 6px;
    left: 55px;
    width: 0;
    height: 0;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 16px solid #FFC800;
  }
  .p_top .block03 .item .df .listImg {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .p_top .block03 .item .df .listImg li {
    width: 50%;
  }
  .p_top .block04 {
    background-color: #E6E6E6;
    padding-top: 43px;
    padding-bottom: 72px;
  }
  .p_top .block04 h2 {
    margin-bottom: 40px;
    text-align: center;
  }
  .p_top .block04 h2 img {
    width: 371px;
  }
  .p_top .block04 .video {
    width: 667px;
    margin: 0 auto 55px;
  }
  .p_top .block04 .video video {
    width: 100%;
    height: auto;
  }
  .p_top .block04 h3 {
    color: #4D4D4D;
    font-weight: 500;
    letter-spacing: 0.15em;
    font-size: 40px;
    line-height: 1.2;
    margin-bottom: 20px;
  }
  .p_top .block04 .df {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p_top .block04 .df_l {
    width: 61.8%;
  }
  .p_top .block04 .df_l .txt01 {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 300;
    letter-spacing: 0.1em;
    margin-bottom: 20px;
  }
  .p_top .block04 .df_l .txt02 {
    font-size: 11.8px;
    line-height: 1.66667;
    margin-top: 5px;
    font-family: "小塚ゴシック Pr6N", "Kozuka Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  }
  .p_top .block04 .df_r {
    width: 38.2%;
    padding-left: 25px;
  }
  .p_top .block04 .df_r .item + .item {
    margin-top: 55px;
  }
  .p_top .block04 .df_r .item h4 {
    font-size: 34px;
    font-weight: 300;
    line-height: 1.1;
    letter-spacing: 0.15em;
    border-bottom: 1px solid;
    margin-bottom: 7px;
  }
  .p_top .block04 .df_r .item .dlist p {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 100;
    font-size: 17px;
    line-height: 1.35294;
    font-size: -webkit-calc(min(1.8vw, 17px));
    font-size: -moz-calc(min(1.8vw, 17px));
    font-size: calc(min(1.8vw, 17px));
  }
  .p_top .block04 .df_r .item .dlist p span {
    width: 80px;
    -moz-text-align-last: justify;
         text-align-last: justify;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .p_top .block04 .df_r .item .txt01 {
    font-weight: 100;
    font-size: -webkit-calc(min(1.8vw, 17px));
    font-size: -moz-calc(min(1.8vw, 17px));
    font-size: calc(min(1.8vw, 17px));
    line-height: 1.35294;
  }
  .p_top .block05 {
    padding-top: 50px;
  }
  .p_top .block05 h2 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
       -moz-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
       -moz-box-orient: horizontal;
       -moz-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    margin-bottom: 15px;
    border-bottom: 2px solid #004098;
    padding-left: 14px;
  }
  .p_top .block05 h2 span:nth-of-type(2) {
    color: #004098;
    font-weight: 600;
    letter-spacing: 0.06em;
    font-size: 50px;
    line-height: 1.4;
    font-size: -webkit-calc(min(5vw, 50px));
    font-size: -moz-calc(min(5vw, 50px));
    font-size: calc(min(5vw, 50px));
  }
  .p_top .block05 h2 span:nth-of-type(1) {
    padding-bottom: 15px;
    width: 161px;
  }
  .p_top .block05 .txt01 {
    font-weight: 500;
    font-size: 20px;
    letter-spacing: 0.04em;
    line-height: 1.75;
    color: #1A1A1A;
    margin-bottom: 20px;
  }
  .p_top .block05 .block05_link {
    margin-bottom: 30px;
    display: -ms-grid;
    display: grid;
    gap: 10px;
    -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
  }
  .p_top .block05 .df01 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 30px;
    margin-bottom: 30px;
  }
  .p_top .block05 .df01 h3 {
    width: 53%;
    -webkit-box-ordinal-group: 2;
       -moz-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .p_top .block05 .df01 .df01_txt {
    width: 100%;
    -webkit-box-ordinal-group: 4;
       -moz-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    margin-top: 40px;
    font-size: 20px;
    line-height: 2;
    color: #1A1A1A;
    position: relative;
  }
  .p_top .block05 .df01 .df01_txt::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 18px solid #004098;
    border-right: 18px solid transparent;
  }
  .p_top .block05 .df01 .df01_txt::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 18px solid #FFC800;
    border-left: 18px solid transparent;
  }
  .p_top .block05 .df01 .df01_pic {
    width: 43.5%;
    -webkit-box-ordinal-group: 3;
       -moz-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .p_top .block05 .df02 {
    margin-bottom: 55px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #E4E4E3;
  }
  .p_top .block05 .df02 > figure {
    width: 35%;
  }
  .p_top .block05 .df02 > figure img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .p_top .block05 .df02 .txt {
    width: 65%;
    padding: 20px 25px 12px;
  }
  .p_top .block05 .df02 .txt p {
    font-size: 20px;
    line-height: 2;
    color: #1A1A1A;
    font-size: -webkit-calc(min(2vw, 20px));
    font-size: -moz-calc(min(2vw, 20px));
    font-size: calc(min(2vw, 20px));
  }
  .p_top .block05 .df02 .txt .df02_df {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
       -moz-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
  .p_top .block05 .df02 .txt .df02_df .df02_df_txt {
    padding-right: 10px;
    width: 59%;
  }
  .p_top .block05 .df02 .txt .df02_df .df02_df_txt .df02_df_txt01 {
    padding-right: 25px;
    margin-bottom: 25px;
  }
  .p_top .block05 .df02 .txt .df02_df .df02_df_txt .df02_df_txt02 {
    text-align: right;
    font-size: 15px;
    color: #1A1A1A;
    line-height: 1.33333;
  }
  .p_top .block05 .df02 .txt .df02_df > figure {
    width: 41%;
  }
  .p_top .block06 {
    padding-top: 15px;
    padding-bottom: 65px;
  }
  .p_top .block06 .item + .item {
    margin-top: 60px;
  }
  .p_top .block06 .item h2 {
    margin-bottom: 20px;
  }
  .p_top .block06 .item:nth-child(even) .df {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
       -moz-box-orient: horizontal;
       -moz-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .p_top .block06 .item:nth-child(even) .df .txt {
    padding-right: 0;
    padding-left: 15px;
  }
  .p_top .block06 .item .df {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p_top .block06 .item .df .txt {
    width: 52%;
    padding-right: 15px;
  }
  .p_top .block06 .item .df .txt h3 {
    margin-bottom: 15px;
  }
  .p_top .block06 .item .df .txt p {
    font-size: 18px;
    line-height: 1.66667;
    font-weight: 300;
    color: #1A1A1A;
  }
  .p_top .block06 .item .df .txt p span {
    font-weight: 800;
  }
  .p_top .block06 .item .df > picture {
    width: 48.5%;
    margin-top: 55px;
  }
  .p_top .block06 .item .df2 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 18px;
    -webkit-box-align: end;
       -moz-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-bottom: 30px;
  }
  .p_top .block06 .item .df2 .txt_l {
    width: 48%;
  }
  .p_top .block06 .item .df2 .txt_l p {
    font-size: 18px;
    line-height: 1.66667;
    font-weight: 300;
    color: #1A1A1A;
    letter-spacing: 0.05em;
  }
  .p_top .block06 .item .df2 .txt_r {
    width: 50%;
  }
  .p_top .block06 .item .picBot {
    margin-top: 40px;
  }
  .p_top .block07 {
    background-color: #E6E6E6;
    padding: 27px 0 87px;
  }
  .p_top .block07 h2 {
    text-align: center;
    margin-bottom: 30px;
  }
  .p_top .block07 h2 img {
    width: 382px;
  }
  .p_top .block07 .dlist dl {
    background-color: #fff;
  }
  .p_top .block07 .dlist dl + dl {
    margin-top: 40px;
  }
  .p_top .block07 .dlist dl dt {
    background-color: #000;
    color: #fff;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 5px 15px 5px 10px;
    min-height: 65px;
  }
  .p_top .block07 .dlist dl dt img {
    width: 102px;
  }
  .p_top .block07 .dlist dl dt p small {
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.04em;
    font-weight: 300;
    position: relative;
    padding-right: 12px;
    margin-right: 16px;
  }
  .p_top .block07 .dlist dl dt p small::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1px;
    height: 54px;
    background: #FFC800;
    display: block;
  }
  .p_top .block07 .dlist dl dt p span {
    letter-spacing: 0.04em;
    font-weight: 600;
    font-size: 21px;
    line-height: 1.19048;
  }
  .p_top .block07 .dlist dl dd {
    padding: 10px 20px 20px;
    font-size: 17px;
    line-height: 1.52941;
    color: #1A1A1A;
  }
  /****************************
  secUsage
****************************/
  /* tab
-------------------------- */
  .secUsage {
    margin-top: 15px;
  }
  .secUsage .tab {
    overflow: hidden;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .secUsage .tab li {
    position: relative;
    width: -webkit-calc(100%/5);
    width: -moz-calc(100%/5);
    width: calc(100%/5);
    background: #ccc;
    padding: 20px 1em;
    font-weight: bold;
    font-size: 15px;
    cursor: pointer;
    -moz-border-radius: 5px 5px 0 0;
         border-radius: 5px 5px 0 0;
    text-align: center;
  }
  .secUsage .tab li::after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    margin: auto;
    content: " ";
    display: inline-block;
    width: 13px;
    height: 7px;
    background: url(../img/ico_arrow_btm.png);
    -moz-background-size: contain;
         background-size: contain;
    vertical-align: middle;
    z-index: 2;
  }
  .secUsage .tab li:first-child {
    margin-right: 5px;
  }
  .secUsage .tab li:last-child {
    margin-left: 5px;
  }
  .secUsage .tab li:not(:first-child):not(:last-child) {
    margin: 0 5px;
  }
  .secUsage .tab li.select {
    background: #b2beda;
  }
  .secUsage .content {
    height: 820px;
    overflow: hidden;
    padding-top: 20px;
    background: #e5e9f2;
  }
  .secUsage .content > li {
    /* background:#e5e9f2; */
  }
  .secUsage .content > li.hide {
    visibility: hidden;
    height: 0;
  }
  .secUsage .content .slick-list {
    /* background: #e5e9f2; */
  }
  .secUsage .content .slider-nav {
    padding: 0 20px;
  }
  .secUsage .content .slick-track {
    /* margin-left: 0; */
  }
  .secUsage .content .sliderTxt {
    text-align: left;
    padding: 10px 20px;
  }
  .secUsage .content .sliderTxt dt {
    color: #002883;
    font-weight: bold;
    font-size: 21px;
  }
  .secUsage .content .sliderTxt dd {
    font-weight: bold;
    font-size: 18px;
  }
  .boxoverlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1900;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    background: rgba(0, 0, 0, 0.7);
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
  }
  .modal {
    position: fixed;
    top: 42%;
    left: 50%;
    width: 50%;
    width: 800px;
    height: auto;
    z-index: 2000;
    visibility: hidden;
    -webkit-transform: translateX(-50%) translateY(-50%);
       -moz-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%);
  }
  .modal.open {
    visibility: visible;
  }
  .modal.open .m_in {
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  .modal .wrap_modal {
    max-height: 80vh;
    overflow: auto;
  }
  .modal .m_in {
    background: #003f97;
    -webkit-transform: scale(2);
       -moz-transform: scale(2);
        -ms-transform: scale(2);
            transform: scale(2);
    opacity: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  .modal .m_in .bg01 {
    background-color: #fff;
  }
  .modal .m_in .bg01 video {
    width: 93.4%;
    height: auto;
    margin: 0 auto 20px;
    display: block;
  }
  .modal .m_area {
    position: relative;
  }
  .modal .btn_close {
    position: absolute;
    top: -58px;
    right: -34px;
    width: 68px;
    height: 68px;
    cursor: pointer;
  }
  .modal.modal06 .m_in .bg01 {
    padding-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  img {
    width: 100%;
    height: auto;
  }
  .container {
    overflow: hidden;
  }
  .show_pc {
    display: none !important;
  }
  .inner, .row {
    padding-left: 3.48837vw;
    padding-right: 3.48837vw;
  }
  .p_top .block01 {
    padding-top: 3.48837vw;
  }
  .p_top .block02 {
    margin: 3.48837vw 0 4.06977vw;
  }
  .p_top .block02_main {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p_top .block02_main .box {
    width: 35%;
    color: #fff;
    background-color: #004098;
    padding: 3.48837vw 4.65116vw 4.4186vw;
  }
  .p_top .block02_main .box dl dt {
    font-size: 3.95349vw;
    font-weight: bold;
    line-height: 1.2;
    font-family: "游ゴシック", YuGothic, YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    border-bottom: 1px solid;
    margin-bottom: 1.16279vw;
  }
  .p_top .block02_main .box dl dt small {
    font-size: 80%;
  }
  .p_top .block02_main .box dl dd p {
    font-size: 1.62791vw;
    line-height: 1.85714;
    letter-spacing: 0.1em;
    margin-bottom: 0.69767vw;
  }
  .p_top .block02_main > figure {
    width: 65%;
  }
  .p_top .block03 {
    padding-bottom: 5.81395vw;
    margin-top: 3.48837vw;
  }
  .p_top .block03 h2 {
    background-color: #004098;
    padding: 1.51163vw 1.51163vw 2.67442vw;
    color: #fff;
    font-weight: 600;
    font-size: 5.81395vw;
    letter-spacing: 0.05em;
    position: relative;
    min-height: 10.5814vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p_top .block03 h2 img {
    width: 56.51163vw;
  }
  .p_top .block03 h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 1.16279vw;
    width: 100%;
    height: 0.23256vw;
    background: #FFC800;
    display: block;
  }
  .p_top .block03 .item {
    border: 1px solid #004098;
  }
  .p_top .block03 .item + .item {
    margin-top: 5.23256vw;
  }
  .p_top .block03 .item h3 {
    margin-bottom: 2.90698vw;
    padding-top: 3.95349vw;
    padding-right: 2.90698vw;
    padding-left: 2.90698vw;
    position: relative;
  }
  .p_top .block03 .item h3 span {
    font-weight: 600;
    font-size: 6.74419vw;
    line-height: 1.2069;
    letter-spacing: 0.05em;
    color: #004098;
    padding-bottom: 1.16279vw;
    border-bottom: 2px solid;
    display: block;
  }
  .p_top .block03 .item h3::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 5.69767vw solid #004098;
    border-right: 5.69767vw solid transparent;
  }
  .p_top .block03 .item .df .txt01 {
    position: relative;
    padding-left: 7.55814vw;
    padding-right: 4.65116vw;
    color: #1A1A1A;
    font-weight: 500;
    font-size: 3.48837vw;
    line-height: 1.83333;
    letter-spacing: 0.04em;
    margin-bottom: 2.90698vw;
  }
  .p_top .block03 .item .df .txt01 span {
    color: #F39800;
  }
  .p_top .block03 .item .df .txt01::after {
    content: "";
    position: absolute;
    top: 1.74419vw;
    left: 2.90698vw;
    width: 0;
    height: 0;
    border-top: 1.51163vw solid transparent;
    border-bottom: 1.51163vw solid transparent;
    border-left: 2.55814vw solid #FFC800;
  }
  .p_top .block03 .item .df .listImg {
    padding: 0 2.90698vw 2.90698vw;
  }
  .p_top .block04 {
    background-color: #E6E6E6;
    padding-top: 5vw;
    padding-bottom: 3.48837vw;
  }
  .p_top .block04 .row {
    padding-left: 6.97674vw;
    padding-right: 6.97674vw;
  }
  .p_top .block04 h2 {
    margin-bottom: 4.65116vw;
    text-align: center;
  }
  .p_top .block04 h2 img {
    width: 51.74419vw;
  }
  .p_top .block04 .video {
    width: 77.55814vw;
    margin: 0 auto 6.39535vw;
  }
  .p_top .block04 .video video {
    width: 100%;
    height: auto;
  }
  .p_top .block04 h3 {
    color: #4D4D4D;
    font-weight: 500;
    letter-spacing: 0.15em;
    font-size: 5.81395vw;
    line-height: 1.2;
    margin-bottom: 2.32558vw;
  }
  .p_top .block04 .df_l .txt01 {
    font-size: 2.90698vw;
    line-height: 1.48;
    font-weight: 300;
    letter-spacing: 0.1em;
    margin-bottom: 3.48837vw;
  }
  .p_top .block04 .df_l .txt02 {
    font-size: 1.74419vw;
    line-height: 1.33333;
    margin-top: 0.5814vw;
    font-family: "小塚ゴシック Pr6N", "Kozuka Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
  }
  .p_top .block04 .df_r {
    margin-top: 2.32558vw;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .p_top .block04 .df_r .item:nth-of-type(1) {
    width: 47.67442vw;
  }
  .p_top .block04 .df_r .item:nth-of-type(2) {
    width: 32.55814vw;
  }
  .p_top .block04 .df_r .item h4 {
    font-size: 4.65116vw;
    font-weight: 300;
    line-height: 1.1;
    letter-spacing: 0.15em;
    border-bottom: 1px solid;
    margin-bottom: 0.81395vw;
  }
  .p_top .block04 .df_r .item .dlist p {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 100;
    font-size: 2.2093vw;
    line-height: 1.35;
  }
  .p_top .block04 .df_r .item .dlist p span {
    width: 9.88372vw;
    -moz-text-align-last: justify;
         text-align-last: justify;
  }
  .p_top .block04 .df_r .item .txt01 {
    font-weight: 100;
    font-size: 2.2093vw;
    line-height: 1.35;
  }
  .p_top .block05 {
    padding-top: 5.81395vw;
  }
  .p_top .block05 .block05_main {
    border: 0.93023vw solid #E6E6E6;
    padding: 1.16279vw;
    margin-bottom: 3.48837vw;
  }
  .p_top .block05 h2 {
    margin-bottom: 1.74419vw;
    border-bottom: 1px solid #004098;
    width: 80.46512vw;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 1.16279vw;
  }
  .p_top .block05 h2 span:nth-of-type(2) {
    color: #004098;
    font-weight: 600;
    font-size: 6.16279vw;
    line-height: 1.27273;
    display: block;
  }
  .p_top .block05 h2 span:nth-of-type(1) {
    padding-bottom: 1.74419vw;
    width: 27.90698vw;
    display: block;
    margin-left: -2.90698vw;
  }
  .p_top .block05 .txt01 {
    width: 80.46512vw;
    margin-left: auto;
    margin-right: auto;
    font-weight: 500;
    font-size: 3.25581vw;
    letter-spacing: 0.04em;
    line-height: 1.5;
    color: #1A1A1A;
    margin-bottom: 2.32558vw;
  }
  .p_top .block05 .block05_link {
    margin-bottom: 3.48837vw;
  }
  .p_top .block05 .block05_link li + li {
    margin-top: 1.16279vw;
  }
  .p_top .block05 .df01 {
    margin-top: 3.48837vw;
    margin-bottom: 3.48837vw;
  }
  .p_top .block05 .df01 h3 {
    width: 84.53488vw;
    margin-left: auto;
    margin-right: auto;
  }
  .p_top .block05 .df01 .df01_txt {
    margin-top: 4.65116vw;
    font-size: 3.37209vw;
    line-height: 1.5;
    color: #1A1A1A;
    position: relative;
    width: 84.53488vw;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 1.74419vw;
  }
  .p_top .block05 .df01 .df01_txt::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 3.13953vw solid #004098;
    border-right: 3.13953vw solid transparent;
  }
  .p_top .block05 .df01 .df01_txt::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 3.13953vw solid #FFC800;
    border-left: 3.13953vw solid transparent;
  }
  .p_top .block05 .df01 .df01_pic {
    width: 84.53488vw;
    margin-left: auto;
    margin-right: auto;
  }
  .p_top .block05 .df02_sp {
    width: 84.53488vw;
    margin-left: auto;
    margin-right: auto;
  }
  .p_top .block05 .df02_sp .df02_sp_txt01 {
    font-size: 3.48837vw;
    line-height: 1.5;
    font-weight: 400;
    color: #1A1A1A;
    position: relative;
  }
  .p_top .block05 .df02_sp .df02_sp_txt01::before {
    content: "";
    position: absolute;
    top: 0.93023vw;
    left: 0;
    width: 0;
    height: 0;
    border-top: 3.13953vw solid #004098;
    border-right: 3.13953vw solid transparent;
  }
  .p_top .block05 .df02_sp .df02_sp_block {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
       -moz-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-top: -3.48837vw;
  }
  .p_top .block05 .df02_sp .df02_sp_block p {
    font-size: 3.25581vw;
    line-height: 1.5;
    font-weight: 400;
    color: #1A1A1A;
    width: 49%;
    position: relative;
    padding-top: 4.06977vw;
  }
  .p_top .block05 .df02_sp .df02_sp_block p::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 3.13953vw solid #FFC800;
    border-left: 3.13953vw solid transparent;
  }
  .p_top .block05 .df02_sp .df02_sp_block figure {
    width: 48.3%;
  }
  .p_top .block05 .df02_sp .df02_sp_block2 {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 2.09302vw;
    margin-bottom: 3.48837vw;
  }
  .p_top .block05 .df02_sp .df02_sp_block2 .txt {
    width: 49%;
  }
  .p_top .block05 .df02_sp .df02_sp_block2 .txt .df02_sp_block2_txt01 {
    font-size: 3.25581vw;
    line-height: 1.5;
    font-weight: 400;
    color: #1A1A1A;
    position: relative;
    margin-bottom: 6.97674vw;
  }
  .p_top .block05 .df02_sp .df02_sp_block2 .txt .df02_sp_block2_txt01::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 3.13953vw solid #004098;
    border-right: 3.13953vw solid transparent;
  }
  .p_top .block05 .df02_sp .df02_sp_block2 .txt .df02_sp_block2_txt01::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 3.13953vw solid #FFC800;
    border-left: 3.13953vw solid transparent;
  }
  .p_top .block05 .df02_sp .df02_sp_block2 .txt .df02_sp_block2_txt02 {
    font-size: 2.7907vw;
    line-height: 1.2;
    color: #1A1A1A;
  }
  .p_top .block05 .df02_sp .df02_sp_block2 figure {
    width: 48.3%;
  }
  .p_top .df_sp_rv {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
       -moz-box-orient: vertical;
       -moz-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .p_top .block06 {
    padding-top: 5.23256vw;
    padding-bottom: 7.55814vw;
  }
  .p_top .block06 .item + .item {
    margin-top: 4.06977vw;
  }
  .p_top .block06 .item h2 {
    margin-bottom: 2.32558vw;
  }
  .p_top .block06 .item .df .txt {
    padding-left: 2.32558vw;
    padding-right: 2.32558vw;
  }
  .p_top .block06 .item .df .txt h3 {
    margin-bottom: 1.74419vw;
  }
  .p_top .block06 .item .df .txt p {
    font-size: 3.60465vw;
    line-height: 1.51613;
    font-weight: 300;
    color: #1A1A1A;
  }
  .p_top .block06 .item .df .txt p span {
    font-weight: 800;
  }
  .p_top .block06 .item .df > picture {
    margin-top: 1.74419vw;
    padding-left: 2.32558vw;
    padding-right: 2.32558vw;
  }
  .p_top .block06 .item .df2 {
    padding-left: 2.32558vw;
    padding-right: 2.32558vw;
    margin-top: 2.09302vw;
    margin-bottom: 3.48837vw;
  }
  .p_top .block06 .item .df2 .txt_l p {
    font-size: 3.60465vw;
    line-height: 1.51613;
    font-weight: 300;
    color: #1A1A1A;
    letter-spacing: 0.02em;
  }
  .p_top .block06 .item .picBot {
    margin-top: 1.74419vw;
    margin-bottom: 2.90698vw;
  }
  .p_top .block06 .item .ctBot dl dd {
    padding-left: 2.32558vw;
    padding-right: 2.32558vw;
  }
  .p_top .block06 .item .ctBot .txt01 {
    font-size: 3.60465vw;
    line-height: 1.6129;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin: 2.90698vw 0;
  }
  .p_top .block06 .item .ctBot .btn_watch {
    display: block;
    margin: 0 auto;
    width: 68.48837vw;
  }
  .p_top .block07 {
    background-color: #E6E6E6;
    padding: 3.13953vw 0 6.74419vw;
  }
  .p_top .block07 .row {
    padding-left: 5.23256vw;
    padding-right: 5.23256vw;
  }
  .p_top .block07 h2 {
    text-align: center;
    margin-bottom: 3.48837vw;
  }
  .p_top .block07 h2 img {
    width: 55.5814vw;
  }
  .p_top .block07 .dlist dl {
    background-color: #fff;
  }
  .p_top .block07 .dlist dl + dl {
    margin-top: 4.65116vw;
  }
  .p_top .block07 .dlist dl dt {
    background-color: #000;
    color: #fff;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
       -moz-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1.16279vw 2.32558vw;
    min-height: 11.74419vw;
  }
  .p_top .block07 .dlist dl dt img {
    width: 18.25581vw;
  }
  .p_top .block07 .dlist dl dt p {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p_top .block07 .dlist dl dt p small {
    font-size: 2.90698vw;
    line-height: 2;
    letter-spacing: 0.04em;
    font-weight: 300;
    position: relative;
    padding-right: 1.97674vw;
    margin-right: 2.55814vw;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .p_top .block07 .dlist dl dt p small::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
       -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    width: 1px;
    height: 6.27907vw;
    background: #FFC800;
    display: block;
  }
  .p_top .block07 .dlist dl dt p span {
    letter-spacing: 0.04em;
    font-weight: 600;
    font-size: 3.72093vw;
    line-height: 1.19048;
    padding-right: 1.74419vw;
  }
  .p_top .block07 .dlist dl dd {
    padding: 2.90698vw 4.06977vw 4.06977vw;
    font-size: 3.48837vw;
    line-height: 1.33333;
    color: #1A1A1A;
  }
  .boxoverlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1900;
    width: 100%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    background: rgba(0, 0, 0, 0.7);
    -webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    transition: all 0.5s;
  }
  .modal {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 50%;
    width: 93.02326vw;
    height: auto;
    z-index: 2000;
    visibility: hidden;
    -webkit-transform: translateX(-50%) translateY(-50%);
       -moz-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
            transform: translateX(-50%) translateY(-50%);
  }
  .modal.open {
    visibility: visible;
  }
  .modal.open .m_in {
    -webkit-transform: scale(1);
       -moz-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
  .modal .wrap_modal {
    max-height: 80vh;
    overflow: auto;
  }
  .modal .m_in {
    background: #003f97;
    -webkit-transform: scale(2);
       -moz-transform: scale(2);
        -ms-transform: scale(2);
            transform: scale(2);
    opacity: 0;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
  }
  .modal .m_in .bg01 {
    background-color: #fff;
  }
  .modal .m_in .bg01 video {
    width: 93.4%;
    height: auto;
    margin: 0vw auto 2.32558vw;
    display: block;
  }
  .modal .m_area {
    position: relative;
  }
  .modal .btn_close {
    position: absolute;
    top: -8.13953vw;
    right: 0vw;
    width: 7.90698vw;
    height: 7.90698vw;
    cursor: pointer;
  }
  .modal.modal06 .m_in .bg01 {
    padding-top: 2.32558vw;
  }
}

  /* 製品紹介バナー 202402追加
-------------------------- */

.block08 {
    padding: 20px 0;
}

.block08 .flex {
	display: flex;
	justify-content: space-between;
}

.block08 .flex a {
    width: 32%;
    margin: 15px 0;
}
