@charset "utf-8";
/*
---------------------------------------------
    hover　共通
*/
a:hover{
    opacity:0.4;
}
/* ---------------------------------------------
navigation02 ※TOP、下層共通
--------------------------------------------- */
.header-area-upper {
    padding: var(--s1);
    text-align: right;
    position: absolute;
    top: 0;
    right: calc(50% - 1000px / 2);
    width: 100rem;
}
.header-title {
    font-size: 1.2rem;
    display: inline-block;
    position: relative;
}
.header-title::before {
    content: "PR";
    padding: .2rem;
    color: #fff;
    background-color: #333;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: -2.4rem;
}
.header-title a {
    text-decoration: none;
}
.header-title a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 767px) {
    .header-area-upper {
        right: 0;
        left: 0;
        width: 100%;
        position: relative;
        text-align: left;
        padding-left: 3rem;
        line-height: 1.8rem;
    }
}

.gnavi-btn-close {
    display: none;
}
.toggle-content {
    display: none;
}
.gnavi-ctrl {
    transition: opacity 0.6s, visibility 0.6s;
    opacity: 0;
    visibility: hidden;
}
.gnavi-ctrl.is-show {
    opacity: 1;
    visibility: visible;
}
#low-header .gnavi-ctrl {
    opacity: 1;
    visibility: visible;
}
.gnavi-btn {
    width: var(--s7);
    height: var(--s6);
    background: #000000;
    display: block;
    position: fixed;
    top: var(--s3);
    right: 0;
    z-index: 200;
    cursor: pointer;
}
.gnavi-btn span {
    width: var(--s4);
    height: 0.2rem;
    display: inline-block;
    background: #fff;
    position: absolute;
    left: 1.2rem;
    transform: translate(0, -50%);
    transition: transform 0.4s, opacity 0.4s;
}
.gnavi-btn span:nth-of-type(1) {
    top: 1.7rem;
}
.gnavi-btn span:nth-of-type(2) {
    top: 2.4rem;
}
.gnavi-btn span:nth-of-type(3) {
    top: 3.1rem;
}
.gnavi-btn.is-active span:nth-of-type(1) {
    transform: translateY(0.7rem) rotate(-45deg);
}
.gnavi-btn.is-active span:nth-of-type(2) {
    opacity: 0;
}
.gnavi-btn.is-active span:nth-of-type(3) {
    transform: translateY(-0.7rem) rotate(45deg);
}
.gnavi-btn-close {
    width: 80%;
    margin: 0 auto;
    padding: var(--s2);
    background: #000000;
    display: block;
    text-align: center;
}
.gnavi-btn-close__inner {
    padding: 0 0 0 var(--s3);
    display: inline-block;
    color: #fff;
    font-weight: 700;
    position: relative;
}
.gnavi-btn-close__inner::before {
    content: "";
    width: 1em;
    height: 0.2rem;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%) rotate(45deg);
}
.gnavi-btn-close__inner::after {
    content: "";
    width: 1em;
    height: 0.2rem;
    background: #fff;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%) rotate(135deg);
}
.gnavi-area {
    width: 100%;
    max-width: 37.5rem;
    height: 100vh;
    padding: var(--s3) var(--s1) var(--s10);
    display: block;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100;
    transform: translateX(100%);
    transition: transform 0.8s ease, opacity 0.8s ease;
    opacity: 0;
}
.gnavi-title {
    min-height: var(--s6);
    margin: 0 var(--s8);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
}
.gnavi-pc {
    display: none;
}
.gnavi-list {
    border-bottom: 1px solid #333;
    position: relative;
    padding: 7rem 0 0;
}
.gnavi-list li {
    padding-left: 0;
}
.gnavi-list__item::before {
    display: none;
}
.gnavi-list__link {
    width: 100%;
    margin: 0 auto;
    padding: var(--s2) var(--s4) var(--s2) var(--s2);
    border-top: 1px solid #3A1FAD;
    display: block;
    font-weight: 700;
    line-height: 2;
    text-decoration: none;
    position: relative;
}
.gnavi-list__link::after {
    content: "";
    width: 1.4rem;
    height: 1.4rem;
    background: url("img/arrow-01-black-right.svg") no-repeat center/100% auto;
    position: absolute;
    top: 50%;
    right: var(--s2);
    transform: translate(0, -50%) rotate(0);
    transition: transform 0.3s;
}
.gnavi-list__link--toggle::after {
    background-image: url("img/arrow-01-black-down.svg");
}
.gnavi-list__link--toggle.is-open::after {
    transform: translate(0, -50%) rotate(180deg);
}
.gnavi-list__sub {
    width: 100%;
    background: #fff;
}
.gnavi-list__low .gnavi-list__link {
    padding: var(--s2) var(--s4) var(--s2) var(--s4);
}
.gnavi-list__low .gnavi-list__link::after {
    content: "└";
    background: none;
    transform: translateY(-50%);
    position: absolute;
    top: 40%;
    left: 1rem;
}
.is-gnavi-open .gnavi-area {
    opacity: 1;
    transform: translateX(0);
}

/* ---------------------------------------------
index01(目次)
--------------------------------------------- */
.onb-index01-frame {
    width: 100%;
    background-color: var(--site-color09);
    margin-bottom: var(--s6);
}
@media screen and (max-width: 767px) {
.onb-index01-frame {	
    margin-bottom: 3rem;
    }
}
.onb-index01-wrap {
    margin: 0 auto 2rem;
    padding: var(--s1) var(--s3) var(--s1);
    background-color: transparent;
    position: relative;
}
.onb-index01-title {
    padding: var(--s2) var(--s2) var(--s2) var(--s6);
    color: #333;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
    background: url("/img/dummy-icon.png") no-repeat left center;
    background-size: 4rem auto;
    position: relative;
    cursor: pointer;
}
.onb-index01-title::before {
    content: "";
    width: 2rem;
    height: 0.3rem;
    background: #333;
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translate(0, -50%);
}
.onb-index01-title::after {
    content: "";
    width: 0.3rem;
    height: 2rem;
    background: #333;
    position: absolute;
    top: 50%;
    right: 2.9rem;
    transform: translate(0, -50%);
    transition: transform 0.3s;
}
.onb-index01-title.is-open::after {
    transform: translate(0, -50%) rotate(270deg);
}
.onb-index01-chapter {
    padding: var(--s2) var(--s2) var(--s2) var(--s4);
    font-weight: 700;
}
.onb-index01-chapter-h {
    margin: 0 0 0 var(--s2);
    font-size: 100%;
    line-height: 1.7;
    position: relative;
}
.onb-index01-chapter-h a {
    display: block;
    text-decoration: none;
}
.onb-index01-chapter-h a:hover {
    opacity: .6;
}
.onb-index01-chapter-h-two {
    margin-left: var(--s2);
    position: relative;
}
.onb-index01-chapter-h-three {
    margin-left: var(--s4);
    position: relative;
}
.onb-index01-chapter-h-two::before,
.onb-index01-chapter-h-three::before {
    position: absolute;
    top: 0;
    left: -1.5em;
}
.onb-index01-chapter-h-two::before {
    content: "";
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 2rem;
    background-color: var(--site-color02);
    transform: translateY(-50%);
    top: .8em;
}
.onb-index01-chapter-h-three::before {
    content: "└";
}
.more-content {
    display: none;
}
.onb-index01-content {
    background-color: #fff;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
.onb-index01-title {
    padding: var(--s1) var(--s1) 1rem var(--s1);
    font-size: 1.8rem;
    text-align: center;
}
}
/* ---------------------------------------------
index02(目次)
--------------------------------------------- */
.onb-index02-frame {
    width: 100%;
}
.onb-index02-wrap {
    margin: var(--s6) auto;
    padding: var(--s1) var(--s3) var(--s1) var(--s3);
    background-color: #fff;
    border: #222222 1px solid;
    position: relative;
}
.onb-index02-title {
    padding: var(--s2) var(--s2) var(--s2) var(--s2);
    color: var(--site-color03);
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
    position: relative;
}
.chapter {
    padding: var(--s2) var(--s2) var(--s2) var(--s5);
    font-weight: 700;
    counter-reset: number 0;
}
#toc ul.-chapter li {
    position: relative;
}
#toc ul.chapter li:not(.chapter-h-three)::before {
    counter-increment: number 1;
    content: counter(number, decimal-leading-zero);
    color: var(--site-color03);
    position: absolute;
    font-weight: bold;
    top: 0.5rem;
    left: -1.8em;
}
#toc ul li.chapter-h {
    margin: 0 0 0 var(--s2);
    font-size: 1.4rem;
    line-height: 1.7;
    position: relative;
    padding: 0.5rem 0;
}
#toc ul li.chapter-h a {
    display: block;
    text-decoration: none;
}
#toc ul li.chapter-h {
    margin-left: var(--s2);
    position: relative;
}
#toc ul li.chapter-h-three {
    margin-left: var(--s4);
    position: relative;
}
#toc ul li.chapter-h::before,
#toc ul li.chapter-h-three::before {
    position: absolute;
    top: 0;
    left: -1.8em;
}
#toc ul li.chapter-h-three::before {
    content: "└";
}
/*----------------------------------------------
    more content settings
*/
#toc.onb-index02-gradation {
    margin-top: 1.4rem;
    height: auto;
    max-height: 12rem;
    overflow: hidden;
    transition: max-height 1s;
    border-top: 1px solid #222222;
    position: relative;
}
#toc.onb-index02-gradation::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    transition: 0.3s;
    background: linear-gradient(to bottom, transparent 0%, #fff 100%);
}
#toc.onb-index02-gradation.is-open::after {
    display: none;
}
.onb-index02-btn {
    max-width: 32rem;
    margin: 2rem auto 0 auto;
    position: relative;
    z-index: 5;
}
.onb-index02-btn span {
    width: 100%;
    margin: var(--s5) auto;
    padding: 2rem 6rem 2rem 3rem;
    border-radius: 4rem;
    background: url('./img/acc-off.svg') no-repeat 95% center #fff;
    display: block;
    text-align: center;
    font-weight: bold;
    transform: translate(0, 0);
    transition: transform 0.3s;
    cursor: pointer;
    border: 1px solid var(--site-color03);
    color: var(--site-color03);
    z-index: 1;
}
.onb-index02-btn::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #B5B5B5;
    border-width: 0 1px 1px 0;
    transform: translate(.8rem, .8rem);
    border-radius: 4rem;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
}
.onb-index02-btn:hover span {
    transform: translate(.8rem, .8rem);
}
.onb-index02-btn.is-open span {
    background: url('./img/acc-on.svg') no-repeat 95% center #fff;
    background-size: 12px auto;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    #toc .onb-index02-chapter {
        padding-left: var(--s4);
    }    
    .onb-index02-btn:hover span {
        transform: none;
    }
}

/* ---------------------------------------------
目次アコーデイオン
--------------------------------------------- */
#toc.onb-index02-gradation {
    padding-top: 1.4rem;
    height: auto;
    max-height: 12rem;
    overflow: hidden;
    transition: max-height 1s;
    border-top: 2px solid  var(--site-color03);
    position: relative;
    margin-top: 0;
}
#toc.onb-index02-gradation::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    transition: 0.3s;
    background: linear-gradient(to bottom, transparent 0%, #fff 100%);
}
#toc.onb-index02-gradation.is-open::after {
    display: none;
}
.acc-list-frame {
    border: 1px solid var(--site-color09);
}
.acc-list-title {
    padding: var(--s2);
    background-color: var(--site-color09);
    font-weight: 700;
}
.acc-list-content {
    padding: var(--s2);
}
.acc-list div {
    padding-bottom: var(--s2);
    display: flex;
    border-bottom: 1px solid var(--site-color09);
}
.acc-list div:last-child {
    border: none;
}
.acc-list div dt,
.acc-list div dd {
    width: 50%;
    line-height: 1.2;
}
.acc-list div dd span {
    font-size: 1.4rem;
}
/*----------------------------------------------
    more content settings
*/
.more-content-gradation {
    position: relative;
    height: auto;
    max-height: 12rem;
    overflow: hidden;
    transition: max-height 1s;
}
.more-content-gradation::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    transition: 0.3s;
    background: linear-gradient(to bottom, transparent 0%, #ffffff 100%);
}
.more-content-gradation.is-open::after {
    display: none;
}
.acc-list-more-btn {
    max-width: 32rem;
    margin: 2rem auto 0 auto;
    padding: 2rem 6rem 2rem 3rem;
    border: .2rem solid var(--site-color05);
    text-align: center;
    position: relative;
    transition: opacity 0.3s;
    cursor: pointer;
}
.acc-list-more-btn::before {
    content: "";
    width: 2rem;
    height: .2rem;
    background: #000;
    position: absolute;
    top: 50%;
    right: 3rem;
    transform: translate(0, -50%);
}
.acc-list-more-btn::after {
    content: "";
    width: .2rem;
    height: 2rem;
    background: #000;
    position: absolute;
    top: 50%;
    right: 3.9rem;
    transform: translate(0, -50%);
    transition: transform 0.3s;
}
.acc-list-more-btn:hover {
    opacity: 0.6;
}
.acc-list-more-btn.is-open::after {
    transform: translate(0, -50%) rotate(270deg);
}
/* ---------------------------------------------
related-article01(関連記事)
--------------------------------------------- */
.related-article01-frame {
    border: 1px solid #D0D3E0;
    margin: var(--s6) auto;
    padding: var(--s1)  var(--s3)  var(--s3) var(--s3);
    background: #fff;
    position: relative;
}
.related-article01-title {
    padding: var(--s3) var(--s2) var(--s3) var(--s8);
    color: #333;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
    position: relative;
    border-bottom: 1px solid #D0D3E0;
}
.related-article01-list {
    padding: var(--s2) 0 var(--s2) var(--s2);
    font-weight: 700;
}
.related-article01-list li {
    margin: 0 0 0 var(--s2);
    padding-left: 1.5em;
    font-size: 100%;
    line-height: 1.7;
    position: relative;
}
.related-article01-list li + li {
    margin-top: 10px;
}
.related-article01-list li::before {
    content: "";
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background-color: #9B9B9B;
    position: absolute;
    top: .6rem;
    left: 0;
}
.related-article01-list a {
    display: block;
    text-decoration: none;
}
.related-article01-list a:hover {
    opacity: 0.6;
}
.relations-box.relations-box--column {
    display: flex;
    gap: 10px;
}
.relations-box__pic {
    flex: 0 0 150px;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .related-article01-list {
        padding: 1.5rem 0 0;
    }
    .related-article01-list li {
        margin-left: 0;
    }
    .related-article01-title {
    padding: var(--s2) var(--s2) var(--s2) var(--s2);
}
    .relations-box__pic {
        flex: 0 0 100px;
    }
}
/*------------------------------------------------------------
    section-title07
*/
.section-title07-frame {
    margin-top: 12rem;
    position: relative;
}

.section01 .section-title07-frame::before {
    content: "SELECTION"; 
    color: #DFDAF1;
}

.section-title07-frame::before {
    content: "LIST OF VENDORS";
    width: 100%;
    font-size: 10rem;
    font-weight: 700;
    color: #fff;
    opacity: 0.6;
    text-align: center;
    position: absolute;
    top: -10rem;
    left: 0;
}
.section-title07 {
  width: 100%;
  padding: var(--s4) var(--s12) var(--s2);
  font-size: 3.8rem;
  font-weight: 700;
  color: var(--site-color03);
  text-align: center;
  position: relative;
  line-height: 1.5;
}
.section-title07 a {
    text-decoration: none;
    background: url(./img/arrow-01-blue-right.svg) no-repeat center right / auto 0.7em;
    display: block;
    color: var(--site-color03);
}
.section02 .section-title07-frame {
    margin-top: 19rem;
    position: relative;
    color: #fff;
}

.section02 .section-title07-frame span{
     color: #fff;   
}

.section02 .section-title07-frame::before {
    content: "DETAIL";
    width: 100%;
    font-size: 10rem;
    font-weight: 700;
    color: rgb(255 255 255);
    text-align: center;
    position: absolute;
    top: -10rem;
    left: 0;
}
.section03 .section-title07-frame {
    margin-top: 14rem;
    position: relative;
}
.section02 .section-title07-frame::before {
    content: "DETAIL";
    width: 100%;
    font-size: 10rem;
    font-weight: 700;
    color: #D7CFFB;
    text-align: center;
    position: absolute;
    top: -10rem;
    left: 0;
    opacity: 0.4;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .section-title07-frame {
        background-color: transparent;
        margin-top: 10rem;
    }
    .section-title07-frame::before {
        width: 100%;
        padding: var(--s1) 0;
        font-size: 5rem;
        top: -6rem;
    }
    .section-title07 {
        padding: var(--s2) var(--s2) 0 var(--s2);
        font-size: 2.4rem;
    }
}
/*------------------------------------------
    3box column settings
*/
.section01 .column-small {
    padding: 0 var(--s2);
    background: var(--site-color05);
}

.section01 .column-small .m-title01 {
    padding: var(--s3) 0 var(--s3) 0;
}
.section01 .column-small .com-box-frame {
    margin: 2rem 0 0 0;
}
.section03 .column-small {
    padding: 0 var(--s2) var(--s3);
    background: #fff;
}
.section03 .column-small.l-stack-small {
	gap: var(--s1);
}
.section04 .column-small {
    padding: 0 var(--s2) var(--s3);
    background: var(--site-color05);
    /* box-shadow: 0 0 1.5rem 0 rgba(0, 0, 0, 0.1); */
}
.section04 .column-small.l-stack-small {
    gap: var(--s2);
}
.column-small {
    padding: var(--s2) var(--s2) var(--s3);
    background: var(--site-color09);
    /* box-shadow: 0 0 1.5rem 0 rgba(0, 0, 0, 0.1); */
}

.section01 .thb-box-full {
    width: calc(100% + var(--s4));
    margin-left: calc(var(--s2) * -1);
}

.thb-box-full {
    /* margin-left: calc(var(--s2) * -1); */
}

.img-title-area {
    display: flex;
    background-color: #2e2c33;
    align-items: end;
}
.img-title-image {
    /* width: 36%; */
    /* padding-left: var(--s1); */
}
.img-title-image img {
    margin-top: -4rem;
    width: 100%;
    display: none;
}
.img-title {
    width: 132%;
    padding: var(--s2) 0 var(--s2) 0;
    color: #fff;
    line-height: 1.5;
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
}
.img-title-sub {
    /* margin-bottom: .8rem; */
    padding: var(--s1);
    /* background-color: #fff; */
    color: #5BE251;
    font-size: 3.2rem;
    line-height: 1.38;
    /* display: inline-block; */
    /* border-bottom: 3px solid #59e7d9; */
}
.section01 .column-small .img-title-small {padding: 0 var(--s1);font-size: 2rem;}
.section01 .column-small:nth-child(1) .img-title-sub {
  font-size: 2.9rem;
  /* letter-spacing: -0.7px; */
  line-height: 1.2;
}
.img-title-small {
    font-size: 1.4rem;
}

/*------------------------------------------
    com-box-frame
*/
.com-box-frame {
    background: #ffffff;
    margin: 1rem 0 0 0;
}
.com-box-title {
    padding: var(--s1);
    margin-top: 0;
    background-color: var(--site-color07);
    font-size: 1.5rem;
    font-weight: 700;
    text-align: center;
    color: #ffffff;
}
.com-box-area {
    padding: var(--s2);
    display: flow-root;
}
.com-box-img {
    width: 8.2rem;
    margin-right: var(--s2);
    margin-bottom: var(--s2);
    float: left;
}
.com-box-img span {
    margin-top: var(--s1);
    display: block;
    font-size: 1.2rem;
    text-align: center;
}
.com-box-catch {
    margin-bottom: 1rem;
    font-size: 1.8rem;
    padding: 0 0 1rem;
    font-weight: 700;
    color: var(--site-color1);
    line-height: 1.5;
    border-bottom: 1px solid var(--site-color01);
    text-align: center;
}
/*------------------------------------------------------------
   thb-listbox
*/
.thb-listbox-bg-colored {
    padding-top: 5rem;
}
.thb-listbox-area {
    padding: var(--s4) var(--s2) var(--s2) var(--s2);
    background-color: #ffffff;
    position: relative;
}
.thb-listbox-area.l-stack-small {
    gap: var(--s1);
}
.thb-listbox-title {
    margin-top: -5.5rem;
    margin-bottom: 0.8rem;
    padding: var(--s1);
    font-weight: 700;
    color: #fff;
    background-color: var(--site-color07);
    text-align: center;
}
.thb-listbox-subtitle {
    text-align: center;
    font-weight: 700;
}
.thb-listbox-list {
    width: 100%;
    padding-left: 2rem;
}
.thb-listbox-list.l-stack-small {
    gap: var(--s1);
}
.thb-listbox-list li {
    padding: 0 var(--s1);
    line-height: 1.5;
    font-weight: 700;
    position: relative;
}
.thb-listbox-list li::before {
    content: "";
    width: 2rem;
    height: 2rem;
    background: url("./img/icon-check.svg") no-repeat left top;
    background-size: contain;
    position: absolute;
    top: .3rem;
    left: -2rem;
}
.thb-listbox-list li span {
    margin-right: var(--s1);
    display: block;
    text-align: center;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .thb-listbox-area {
        padding: var(--s5) var(--s2) var(--s2) var(--s2);
    }
    .thb-listbox-bg-colored {
    padding-top: 3rem;
    }
    .thb-listbox-list li {
        font-size: 1.4rem;
    }
    .thb-listbox-list--three li {
        width: calc((100% - var(--s2)) / 2);
    }
    .thb-listbox-title {
        width: 80%;
        margin: -5rem auto 0 auto;
        padding: var(--s1);
        font-size: 1.4rem;
        text-align: center;
    }
}
/*------------------------------------------------------------
    bg-01
*/
.bg-01 {
  background: url(img/bg_section01.jpg) no-repeat top center;
}
/*------------------------------------------------------------
    bg-02
*/
.bg-02 {
  background: url(img/bg_section02.jpg) no-repeat top center;
  background-attachment: fixed;
}
/*------------------------------------------------------------
    bg-03
*/
.bg-03 {
  background-color: #e3dcff;
}
/*------------------------------------------------------------
    .section-title01
*/
.section-title01-frame {
    padding-top: 24rem;
    position: relative;
}
.section-title01-frame::before {
    content: "";
    width: 100%;
    min-height: 38.8rem;
    background: url("/img/dummy.jpg") no-repeat center center;
    background-size: cover;
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    left: 50%;
    z-index: -1;
}
.section-title01-frame p {
    color: #fff;
}
.section-title01-bg {
    padding: 10rem 7.2rem 3.2rem 7.2rem;
    background-color: #aa96ff33;
    position: relative;
    z-index: 2;
}
.section-title01 {
    margin-bottom: 5rem;
    font-size: 3.2rem;
    font-weight: 700;
    color: #2e2c33;
    line-height: 1.5;
    text-align: center;
    position: relative;
}
.section-title01::before {
    content: "INDEX";
    padding: 0 var(--s2);
    font-size: 2.6rem;
    transform: translateX(-50%);
    color: #ffffff;
    position: absolute;
    top: -4.8rem;
    left: 50%;
    z-index: 3;
}
.section-title01::after {
    content: "";
    height: 1px;
    transform: translateX(-50%);
    background-color: #ccc;
    position: absolute;
    top: -2rem;
    left: 50%;
    z-index: 2;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .section-title01-bg {
        padding: var(--s7) var(--s2) var(--s1) var(--s2);
    }
    .section-title01 {
        margin-bottom: var(--s3);
        font-size: 2.4rem;
    }
    .section-title01::before {
        font-size: 1.8rem;
        top: -3.2rem;
    }    
}
/*------------------------------------------
    1box column settings
*/
.column-medium {
    padding: 0 var(--s4) 6rem;
    /* border: 1px solid #ccc; */
    background: #fff;
}
.onb-box-full {
    width: calc(100% + var(--s8));
    margin-left: calc(var(--s4) * -1);
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .column-medium {
        padding: 0 var(--s2) 4.4rem;
    }
    .onb-box-full {
        width: calc(100% + var(--s4));
        margin-left: calc(var(--s2) * -1);
    }
}
/*------------------------------------------------------------
   onb-item-title
*/
.onb-item-title-frame {
    padding: var(--s2);
    background-color: #2e2c33;
    position: relative;
}
.onb-item-title-icon {
    width: 8.5rem;
    height: 8.5rem;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    top: -4rem;
    left: -2rem;
}
.onb-item-title-icon img {
    width: 100%;
}
.l-onb-item-title {
    color: #fff;
    display: flex;
    align-items: center;
    gap: var(--s2);
}
.l-onb-item-title__side,
.l-onb-item-title__main {
    padding: var(--s2) var(--s2) var(--s2) var(--s9);
    text-align: center;
    line-height: 1.2;
}
.l-onb-item-title__side span {
    font-size: 1.4rem;
}
.l-onb-item-title__side {
    width: calc((100% - var(--s2))*1.1);
    font-size: 3.2rem;
    font-weight: 700;
    background-color: #ffffff;
    color: var(--site-color01);
}
.l-onb-item-title__main {
    width: calc((100% - var(--s2))*.7);
}
.onb-item-title-catch {
    margin-bottom: var(--s1);
    font-size: 1.4rem;
    font-weight: 700;
    display: block;
}
.onb-item-title-catch--underline {
    padding-bottom: var(--s1);
    border-bottom: 5px solid var(--site-color15);
    display: inline-block;
}
.onb-item-title-title {
    font-size: 3.2rem;
    font-weight: 700;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .onb-item-title-frame {
        padding: var(--s2);
    }
    .onb-item-title-icon {
        width: 6rem;
        height: 6rem;
        position: absolute;
        top: -2rem;
        left: -1rem;
    }
    .l-onb-item-title {
        flex-direction: column;
    }
    .l-onb-item-title__side,
    .l-onb-item-title__main {
        width: 100%;
        font-size: 2.4rem;
    }
    .l-onb-item-title__side span,
    .l-onb-item-title__main span {
        font-size: 1.2rem;
    }
}

/*------------------------------------------------------------
    onb-icon-title-frame
*/
.onb-icon-title-frame {
    padding: var(--s3);
    background-color: #000000;
    position: relative;
}
.onb-icon-title-icon {
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    top: -4rem;
    left: 0;
}
.onb-icon-title-icon img {
    width: 100%;
}
.onb-icon-title {
    text-align: center;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
}
.onb-icon-title .underline {
    /* border-bottom: 5px solid var(--site-color01); */
    color: #5BE251;
    font-size: 3.6rem;
}
.onb-icon-title small {
    font-size: 2.8rem;
    border: none;
    padding-left: 1rem;
}
.onb-icon-title-catch {
    margin-bottom: .8rem;
    font-size: 1.8rem;
    display: block;
    line-height: 1.5;
    border: none;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .onb-icon-title-frame {
        padding: var(--s2);
    }
    .onb-icon-title {
        font-size: 2.4rem;
    }
    .onb-icon-title small {
        font-size: 1.6rem;
    }
    .onb-icon-title-catch {
        padding-left: var(--s4);
        font-size: 1.4rem;
    }
    .onb-icon-title-icon {
        width: 6rem;
        height: 6rem;
        position: absolute;
        top: -2rem;
        left: -.5rem;
    }
}
/*------------------------------------------------------------
   onb-center-img
*/
.onb-center-img {
    max-width: 54%;
    margin: 0 auto;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .onb-center-img {
        max-width: 100%;
    }   
}
/*------------------------------------------------------------
   onb-m-title6
*/
.onb-m-title6 {
    padding: .5rem 1rem .8rem 1rem;
    margin-top: 2rem;
    line-height: 1.5;
    font-size: 2.4rem;
    color: #2e2c33;
    font-weight: 700;
    border-left: 5px solid var(--site-color03);
    border-bottom: 1px dotted var(--site-color03);
}
/*------------------------------------------------------------
   onb-iconbox04
*/
.onb-iconbox04-frame {
    padding: var(--s3);
    background-color: var(--site-color08);
}
.onb-iconbox04-frame.l-stack-small {
    gap: var(--s1);
}
.onb-iconbox04-catch {
    min-height: 3.5rem;
    padding: 0 0 var(--s1) var(--s8);
    font-size: 1.9rem;
    font-weight: 700;
    color: var(--site-color03);
    line-height: 1.5;
    background: url('img/dialog.svg') no-repeat center left;
    background-size: 5rem auto;
}
.onb-iconbox04-caption {
    text-align-last: left;
}
/*------------------------------------------------------------
   onb-casebox02
*/
.onb-casebox02-frame {
    margin-top: 2rem;
    padding: var(--s4);
    background: var(--site-color05) url(img/bg_onb-casebox02-frame.png) no-repeat bottom center;
    background-size: 100%;
    position: relative;
    /* border-radius: 2rem; */
}
.onb-casebox02-frame.l-stack-small {
    gap: var(--s1);
}
.onb-casebox02-sub {
    padding: var(--s1) var(--s3);
    background-color: var(--site-color03);
    color: #fff;
    font-size: 2rem;
    transform: translateX(-50%);
    position: absolute;
    top: -2rem;
    font-weight: 700;
    left: 50%;
}
.l-onb-casebox02 {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s3);
}
.l-onb-casebox02__side {
    width: calc((100% - var(--s3))*.3);
}
.l-onb-casebox02__main {
    /* width: calc((100% - var(--s3))*.7); */
}
.onb-casebox02-imgcap {
    margin-top: 1rem;
    text-align: center;
    font-size: 1.2rem;
}
.onb-casebox02-catch {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--site-color03);
    margin-bottom: 1rem;
    line-height: 1.5;
}
.onb-casebox02-caption {
    text-align: left;
}
/*------------------------------------------------------------
    icon-table table
*/
.icon-table table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #B0A8A7;
}
.icon-table table th,
.icon-table table td {
    padding: var(--s1);
    border: 1px solid #B0A8A7;
    line-height: 1.5;
}
.icon-table table th {
    padding-left: 4.8rem;
    text-align-last: left;
    background: url("/img/dummy.png") no-repeat var(--s1) var(--s1);
    background-color: #d4d2ea;
    background-size: 3.2rem;
    color: #2e2c33;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .icon-table table {
        border: none;
        border-top: 1px solid #B0A8A7;
        border-left: 1px solid #B0A8A7;
    }
    .icon-table table th,
    .icon-table table td {
        width: 100%;
        display: block;
        border: none;
        border-right: 1px solid #B0A8A7;
        border-bottom: 1px solid #B0A8A7;
    }
    .icon-table table th {
        background-size: 2.4rem;
    }
}
/*------------------------------------------------------------
    onb-iconbox02-frame
*/
.onb-iconbox02-frame {
    padding: var(--s4);
    background-color: var(--site-color09);
}
.onb-iconbox02-frame.l-stack-small {
    gap: var(--s1);
}
.onb-iconbox02-catch {
    padding: 0 var(--s1) var(--s3) 0;);
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    color: #2e2c33;
    border-bottom: 1px solid var(--site-color10);
    background-size: 3rem auto;
}
.onb-iconbox02-caption {
    text-align-last: left;
}
/*------------------------------------------------------------
    l-onb-flex-table
*/
.l-onb-flex-table {
    display: flex;
}
.onb-flex-table {
    border-collapse: collapse;
}
.onb-flex-table th,
.onb-flex-table td {
    padding: var(--s2);
    border: 1px solid #DDDDDD;
}
.onb-flex-table th {
    width: 34%;
    background-color: var(--site-color08);
    vertical-align: middle;
    font-weight: 700;
    color: #2e2c33;
}
.onb-flex-table td {
    background-color: var(--site-color09);
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .l-onb-flex-table {
        flex-direction: column;
    }
    .onb-flex-table + table {
        margin-top: -1px;
    }
}
/*------------------------------------------------------------
    section-title04 
*/
.section-title04 {
    font-size: 3.2rem;
    font-weight: 700;
    color: #2e2c33;
    text-align: center;
    position: relative;
}
.section-title04::after {
    content: "";
    width: 10rem;
    height: 6px;
    background-color: var(--site-color05);
    transform: translateX(-50%);
    position: absolute;
    bottom: -3.2rem;
    left: 50%;
    display: none;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .section-title04 {
        font-size: 2.5rem;
        line-height: 1.5;
    }
}
/*------------------------------------------------------------
    section-title05
*/
.section-title05 {
    width: 100%;
    margin-top: 5rem;
    padding: var(--s4);
    font-size: 3.6rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.5;
    text-align: center;
    background: var(--site-color01) url(img/bg_h1.png) no-repeat bottom right;
    background-size: 404px auto;
    position: relative;
}
.section-title05::before,
.section-title05::after {
    content: "";
    width: 7rem;
    height: 7rem;
    position: absolute;
    z-index: -1;
}
.section-title05::before {
    bottom: -0.5rem;
    left: -0.5rem;
    background: url(img/bg_h1_left.png) no-repeat center bottom;
    background-size: 70px auto;
}
.section-title05::after {
    top: -0.5rem;
    right: -0.5rem;
    background: url(img/bg_h1_right.png) no-repeat center top;
    background-size: 70px auto;
}
.section-title05 a {
    text-decoration: none;
    background: url(./img/arrow-01-wht-right.svg) no-repeat center right / auto 0.7em;
    display: block;
    color: #fff;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .section-title05 {
        padding: var(--s2);
        font-size: 2.4rem;
    }
}
/*------------------------------------------------------------
   m-title02
*/
.m-title02 {
    padding: var(--s4) 0 3rem 0;
    font-size: 2.2rem;
    font-weight: 700;
    color: #000000;
    text-align: center;
    line-height: 1.5;
}

.m-title02 a {
    text-decoration: none;
    background: url(./img/arrow-01-bk-right.svg) no-repeat center right / auto 0.7em;
    display: block;
}
/*------------------------------------------------------------
  thb-table
*/
.thb-table {
    line-height: 1.5;
    border-collapse: collapse;
    border: 1px solid #D3D3D3;
    margin-top: 1rem;
}
.thb-table th,
.thb-table td {
    padding: var(--s1);
    border: 1px solid #DDDDDD;
    line-break: anywhere;
}
.thb-table th {
    width: 35%;
    background-color: var(--site-color08);
    text-align: left;
}
/*------------------------------------------------------------
  onb-more-btn
*/
.onb-more-btn {
    max-width: 46rem;
  width: 100%;
    margin: var(--s5) auto;
    position: relative;
}
.onb-more-btn span {
    width: 100%;
    color: var(--site-color07);
    padding: 2rem 6rem 2rem 3rem;
    border: .2rem solid var(--site-color07);
    border-radius: 4rem;
    background: url('./img/acc-off-outline.svg') no-repeat 95% center #fff;
	background-size: 18px auto;
    display: block;
    text-align: center;
    transform: translate(0, 0);
    transition: transform 0.3s;
    cursor: pointer;
    font-weight: 700;
    z-index: 1;
    position: relative;
}

.onb-more-btn::after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: #B5B5B5;
    border-width: 0 1px 1px 0;
    transform: translate(.8rem, .8rem);
    border-radius: 4rem;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 0;
}

.onb-more-btn:hover span {
    transform: translate(.8rem, .8rem);
}
.onb-more-btn.is-open span {
    background: url('./img/acc-on-outline.svg') no-repeat 95% center #fff;
	background-size: 18px auto;
}
.more-content {
    display: none;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .onb-more-btn {
        margin-right: var(--s1);
    }
    .onb-more-btn span {
        transition: inherit;
        transform: none;
    }
    .onb-more-btn:hover span {
        transform: none;
    }
}
/*------------------------------------------------------------
    m-title01
*/
.m-title01 {
    padding: var(--s4) 0 var(--s2) 0;
    font-size: 2rem;
    font-weight: 700;
    color: #000000;
    text-align: center;
    line-height: 1.5;
}

.m-title01 a {
    text-decoration: none;
    background: url(./img/arrow-01-bk-right.svg) no-repeat center right / auto 0.7em;
    display: block;
}
/*------------------------------------------------------------
   thb-iconbox01
*/
.thb-iconbox01-bg-colored {
    padding-top: 0rem;
}
.thb-iconbox01-area {
    /* padding: var(--s2); */
    position: relative;
}
.thb-iconbox01-area.l-stack-small {
    gap: var(--s1);
}
.thb-iconbox01-image {
    width: 5.8rem;
    height: 5.8rem;
    position: absolute;
    top: calc(15% - 2.7rem);
}
.thb-iconbox01-title {
    padding: var(--s1) 0 var(--s3) var(--s4);
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--site-color03);
    text-align: center;
    border-bottom: 1px solid var(--site-color03);
    display: grid;
    align-items: center;
    min-height: 88px;
}

.thb-iconbox01-title a {
    text-decoration: none;
    background: url(./img/arrow-01-bk-right.svg) no-repeat center right 0rem / auto 0.7em;
    display: block;
    line-height: 1.5;
}

.thb-iconbox01-title span {
    margin-bottom: var(--s1);
    font-size: 1.4rem;
    line-height: 1.5;
    display: block;
}

/* case box */
.onb-casebox-01-frame {
    margin-top: 2rem;
    padding: var(--s5);
    background-color: #fff;
    border: 1px solid #DDDDDD;
    position: relative;
}
.onb-casebox-01-sub {
    padding: var(--s1) var(--s3);
    background-color: var(--site-color03);
    color: #fff;
    font-size: 2.1rem;
    font-weight: bold;
    margin: -6rem 0 0 -1.7rem;
    position: absolute;
}
.l-onb-casebox-01 {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s3);
}
.l-onb-casebox-01__side {
    width: calc((100% - var(--s3))*.4);
}
.l-onb-casebox-01__main {
    width: calc((100% - var(--s3))*.6);
}
.onb-casebox-01-table {
    width: 100%;
    border: 1px solid #ddd;
    border-collapse: collapse;
    background-color: #fff;
}
.onb-casebox-01-table th {
    font-weight: normal;
    text-align-last: left;
}
.onb-casebox-01-table th,
.onb-casebox-01-table td {
    padding: var(--s1) var(--s2);
    border: 1px solid #ddd;
}
.onb-casebox-01-table th {
    font-weight: bold;
    color: #023156;
}
.onb-casebox-01-catch {
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.5;
    color: #003B68;
    border-bottom: 2px dotted var(--site-color17);
    padding-bottom: 1rem;
    margin-bottom: 1rem;
}
.onb-casebox-01-caption {
    text-align: left;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .l-onb-casebox-01 {
        flex-direction: column;
    }
    .l-onb-casebox-01__side,
    .l-onb-casebox-01__main {
        width: 100%;
    }
    .l-onb-casebox-01__side {
        text-align: center;
    }
.onb-casebox-01-sub {
        font-size: 1.6rem;
        left: 7%;
        top: 45px;
        text-align: left;
        padding: 1rem;
    }
    .onb-casebox-01-frame {
    padding: var(--s5) var(--s2);
}
    .onb-casebox-01-catch {
    font-size: 1.8rem;
}
}

/* ---------------------------------------------
section余白
--------------------------------------------- */

.section01 {
    padding-top: 6rem;
    padding-bottom: 8rem;
}
.section02 {
    padding: 0 0 8rem;
}

.section02 .section-title07 {
    color: #fff;
}
.section03{background: url(img/bg_section03.jpg) repeat-y top center;}

.section03, .section04 {
    padding: 5rem 0;
}
.section05 {
    padding: 5rem 0 10rem;
}

@media screen and (max-width: 767px) {
    .section01 {
        padding-top: 0;
    }
}
/* ---------------------------------------------
1box_text-list
--------------------------------------------- */
.twb-text-list {
    padding: var(--s2);
    /* border: 1px solid #999; */
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: var(--s2);
    background: var(--site-color05);
}
.twb-text-list__left {
    min-width: 18em;
    color: var(--site-color03);
    font-weight: 700;
}
.twb-text-list__right {
    width: calc(100% - (4em + var(--s2)));
    font-size: 1.4rem;
}
.twb-text-list__right ul li:last-child {
    margin-bottom: 0;
}
.twb-text-list__right em {
    font-size: 2.1rem;
    font-style: normal;
    font-weight: 700;
}
/* ---------------------------------------------
conclusion-box-frame
--------------------------------------------- */
.conclusion-box-frame {
    margin-block: 10rem;
    padding: var(--s2) var(--s4) var(--s1) var(--s4);
    background: url('./img/conclusion-bg.jpg') repeat-y top right / cover;
}
.conclusion-box-ttl {
    position: relative;
}
.conclusion-box-ttl__icon-frame {
    position: absolute;
    left: -4.8rem;
    bottom: 1rem;
    z-index: 10;
}
.conclusion-box-ttl__icon {
    width: 10rem;
    height: 10rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--site-color03);
}
.conclusion-box-ttl__icon::after {
    content: "";
    width: 100%;
    height: 100%;
    background-color: #707070;
    position: absolute;
    right: -1rem;
    bottom: -1rem;
    z-index: -1;
}
.conclusion-box-ttl__icon span {
    color: #fff;
    font-weight: 700;
    font-size: 2.2rem;
}
.conclusion-box-ttl__text {
    padding-top: var(--s2);
    padding-bottom: var(--s3);
    margin-left: 10rem;
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.5;
    border-bottom: 1px solid var(--site-color03);
    color: var(--site-color03);
}
.conclusion-box-content {
    z-index: 5;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .conclusion-box-frame {
    margin-block: 5rem;
    }
    .conclusion-box-ttl__icon-frame {
        top: -3.2rem;
        left: -3.6rem;
        bottom: inherit;
    }
    .conclusion-box-ttl__icon {
        width: 6rem;
        height: 6rem;
    }

    .conclusion-box-ttl__icon span{
        font-size: 1.2rem;
    }
    
    .conclusion-box-ttl__text {
        margin-left: 0;
        padding-left: 5rem;
        padding-top: var(--s1);
        padding-bottom: var(--s2);
        font-size: 1.8rem;
    }
    .l-onb-conclusion-img {
        width: 36%;
    }
    
    .section01 .column-small:nth-child(1) .img-title-sub {
        font-size: 2.4rem;
    }

    .m-title02 {
        font-size: 1.8rem;
    }
    
    .m-title01 {
        font-size: 2rem;
    }    
        
}
/*------------------------------------------------------------
   pc-fix-banner01
*/
.pc-fix-banner01 {
    width: 18rem;
    position: fixed;
    right: 0;
    bottom: 17rem;
    z-index: 50;
}
.pc-fix-banner01 a {
    color: #fff;
    text-decoration: none;
    display: block;
}
.pc-fix-banner01 a:hover {
    opacity: .7;
}
.pc-fix-banner01-img {
    position: relative;
}

.pc-fix-banner01-text {
    padding: var(--s2);
    color: #fff;
    position: relative;
    background: #000;
}
.pc-fix-banner01-text::after {
    content: "";
    width: 0.1rem;
    height: 0.1rem;
    border-top: .5rem solid transparent;
    border-left: .5rem solid transparent;
    border-right: .5rem solid #fff;
    border-bottom: .5rem solid #fff;
    position: absolute;
    right: .5rem;
    bottom: .5rem;
}
.pc-fix-banner01-text p {
    margin: 0;
    font-size: 1.4rem;
    text-align: center;
}
.pc-fix-banner01-text p.text-small {
    font-size: 1.6rem;
    line-height: 1.5;
    font-weight:700;
}

.pc-fix-banner01-text p.text-small span{
    font-size: 2.2rem;
    color:#5BE251;
}

/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .pc-fix-banner01 {
        display: none;
    }
}
/*------------------------------------------------------------
    sp-fix-banner01
*/
.sp-fix-banner01 {
    display: none;
}
/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {
    .sp-fix-banner01 {
        display: block;
        width: 60%;
        background-color: #000;
        position: fixed;
        right: 0;
        bottom: 0;
        z-index: 50;
    }
    .sp-fix-banner01-text {
        padding: var(--s2) var(--s2) var(--s1);
        color: #fff;
        position: relative;
        font-weight: bold;
    }
    .sp-fix-banner01-text::before {
        content: "";
        width: 11.1rem;
        height: 2.3rem;
        background: url("./img/pickup.png") no-repeat center center;
        background-size: 100%;
        position: absolute;
        top: -1.2rem;
        left: 1rem;
        z-index: 5;
    }
    .sp-fix-banner01-text p {
        margin: 0;
        font-size: 1.8rem;
        line-height: 2.5rem;
    }

    .sp-fix-banner01-text p span{
        color:#5BE251;
    }
    
    .sp-fix-banner01-text a {
        padding-right: 1.6rem;
        color: #fff;
        text-decoration: none;
        background: url("./img/arrow-01-wht-right.svg") no-repeat right center / 0.7rem auto;
        display: block;
    }
    .sp-fix-banner01-text a:hover {
        opacity: .7;
    }

    .img-title-sub {
        font-size: 2.5rem;
    }
    
    .section02 .section-title07-frame::before {
        font-size: 4rem;
        top: -5rem;
    }
    
    .onb-icon-title .underline {
        font-size: 2.5rem;
    }
    
    .onb-m-title6 {
        font-size: 1.8rem;
    }
    
    .onb-iconbox04-catch {
        font-size: 1.6rem;
    }
    
    .onb-casebox02-sub {
        font-size: 1.6rem;
        width: auto;
		padding: var(--s1) var(--s2);
    }
    
    .onb-casebox02-frame {
        padding: var(--s2);
    }
    
    .section02 .btn-web {
        margin-bottom: 0;
    }
    
    .twb-text-list__left {
    word-break: break-all;
    min-width: auto;
		margin: 0 0 1rem 0;
    }

    .section02 .section-title07-frame {
        margin-top: 10rem;
    }
    
    .section02 .section-title07 {
        padding: 0 0 var(--s2);
    }
    
    .onb-casebox02-catch {
        font-size: 1.6rem;
        margin: 1rem 0 0;
    }
    
    .twb-text-list__right {
        width: 100%;
    }
    
    .onb-flex-table th {
        width: 90px;
        padding: 1rem;
    }
    
    .section03 .section-title07-frame {
        /* margin-top: 10rem; */
    }
    
    .section03 .section-title07-frame::before {
        top: -12rem;
    }
    
    .onb-iconbox02-catch {
        font-size: 1.6rem;
        padding: 0 1rem 1rem;
    }
    
    .onb-iconbox02-frame {
        padding: var(--s2);
    }
    .section02 .l-stack {
        padding: 0;
    }    

    .section02.bg-02 {
        background: #6d6f84 url(img/bg_section02_sp.jpg)  repeat-y top center;
        background-attachment: fixed;
        background-position: top;
        background-size: 100%;
        background-repeat: no-repeat;
    }    
        
}

/*------------------------------------------------------------
    MV
*/

.mainvisual.top {
    background: url(img/bg_mv.jpg) no-repeat top center;
    background-size: cover;
    height: 631px;
    padding-top: var(--s9);
}

.mv-inner-sp {
    max-width: 100rem;
    margin: 0 auto;
    position: relative;
}

.mainvisual.top h2 {
    background: var(--site-color01);
    color: #fff;
    font-size: 2.2rem;
    margin: var(--s4) 0px var(--s2);
    display: inline-block;
    font-weight: 700;
    line-height: 5rem;
    padding: var(--s1) var(--s2);
    letter-spacing: .3rem;
}

.mainvisual.top h2 span.big {
    font-size: 3.3rem;
}

.mainvisual.top h2 span.color {
    font-size: 3.8rem;
    color: #5BE251;
}

.mainvisual.top p.mv-txt {
    font-weight: normal;
    font-size: 1.6rem;
    line-height: 3rem;
    color: #222222;
}

.mainvisual.lower_mv {
    background: url(img/bg_mv_lower.jpg) no-repeat top center;
    background-size: cover;
    height: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.mv-inner-sp .sp {
    display: none;
}

@media screen and (max-width: 767px) {

    .mv-inner-sp .sp {
        display: block;
    }
    .mainvisual.top {
        padding: var(--s1) 0 0;);
        background: none;
        height: 548px;
    }
    
    .mainvisual.top h2 {
        font-size: 1.5rem;
        line-height: 3rem;
        padding: var(--s1);
        margin: 0 2rem 1rem;
        display: block;
    }
    
    .mainvisual.top h2 span.big {
        font-size: 2rem;
    }
    
    .mainvisual.top h2 span.color {
        font-size: 2.1rem;
    }

    .mv-logo {
        padding-left: 2rem;
        position: absolute;
    }
    
    .mainvisual.top p.mv-txt {
        padding: 0 2rem;
    }


    .mainvisual.lower_mv {
        background: url(img/bg_mv_lower.jpg) no-repeat top center;
        background-size: cover;
        height: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    
    .mainvisual.lower_mv img {
        width: 150px;
    }    
    
}