@charset "utf-8";

/* ---------------------------------------------
navigation02 ※TOP、下層共通
--------------------------------------------- */
.header-area-upper {
    padding: var(--s1) var(--s2);
}

.header-title {
    font-size: 1.2rem;
    position: relative;
    text-align: right;
}

.header-area--top .header-title {
    text-align: left;
}

.header-title::before {
    display: inline-block;
    width: 2.8rem;
    height: 1.8rem;
    margin: 0 0.5rem 0 0;
    background: #333;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.7rem;
    text-align: center;
    content: "PR";
}

.header-title a {
    text-decoration: none;
}

.header-title a:hover {
    text-decoration: underline;
}

.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: #fda62f;
    border-radius: 1rem 0 0 1rem;
    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.3rem;
}

.gnavi-btn span:nth-of-type(2) {
    top: 2.4rem;
}

.gnavi-btn span:nth-of-type(3) {
    top: 3.5rem;
}

.gnavi-btn.is-active span:nth-of-type(1) {
    transform: translateY(0.9rem) rotate(-45deg);
}

.gnavi-btn.is-active span:nth-of-type(2) {
    opacity: 0;
}

.gnavi-btn.is-active span:nth-of-type(3) {
    transform: translateY(-1.2rem) rotate(45deg);
}

.gnavi-btn-close {
    width: 80%;
    margin: 0 auto;
    padding: var(--s2);
    background: #fff;
    border-radius: 6rem;
    display: block;
    text-align: center;
}

.gnavi-btn-close__inner {
    padding: 0 0 0 var(--s3);
    display: inline-block;
    color: #333;
    font-weight: 700;
    position: relative;
}

.gnavi-btn-close__inner::before {
    content: "";
    width: 1em;
    height: 0.2rem;
    background: var(--site-color01);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%) rotate(45deg);
}

.gnavi-btn-close__inner::after {
    content: "";
    width: 1em;
    height: 0.2rem;
    background: var(--site-color01);
    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: #fffcf1;
    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 {
    padding: 5.5rem 0 0 0;
    border-bottom: 1px dotted #a7a7a7;
    position: relative;
}

.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 dotted #a7a7a7;
    display: block;
    font-weight: 700;
    line-height: 2;
    text-decoration: none;
    position: relative;
}

.gnavi-list__link::after {
    content: "";
    width: 0.9rem;
    height: 1.4rem;
    background: url("img/arrow-orange.png") no-repeat center / contain;
    position: absolute;
    top: 50%;
    right: var(--s2);
    transform: translate(0, -50%) rotate(0);
    transition: transform 0.3s;
}

.gnavi-list__link--toggle::after {
    width: 1.4rem;
    height: 0.9rem;
    background-image: url("img/arrow-orange-down.png");
}

.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);
}


/* ---------------------------------------------
related-article02(関連記事)
--------------------------------------------- */
.related-article02-frame {
    width: 100%;
    margin: var(--s6) auto;
    padding: var(--s2) var(--s4) var(--s4) var(--s4);
    border: 5px solid #DBDBDB;
    border-radius: 15px;
    background: #fff;
    position: relative;
}

.related-article02-title {
    padding: var(--s2) var(--s2) var(--s2) 0;
    color: #333;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
    position: relative;
    border-bottom: 2px dotted #707070;
}

.related-article02-list {
    padding: var(--s2) 0 var(--s2) var(--s2);
    font-weight: 700;
}

.related-article02-list li {
    margin: 0;
    padding-left: 3rem;
    font-size: 100%;
    line-height: 1.7;
    position: relative;
}

.related-article02-list li+li {
    margin-top: 10px;
}

.related-article02-list li::before {
    content: "";
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background-color: var(--site-color01);
    position: absolute;
    top: .6rem;
    left: 0;
}

.related-article02-list a {
    display: block;
    text-decoration: none;
}

.related-article02-list a:hover {
    opacity: 0.6;
}

/*----------------------------------------------
  more content settings
*/
.more-content-gradation {
    position: relative;
    height: auto;
    max-height: 12rem;
    overflow: hidden;
    transition: max-height 0.5s ease-out !important;
}

.more-content-gradation::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
    width: 100%;
    height: 6rem;
    transition: 0.3s;
    background: linear-gradient(to bottom, transparent 0%, #fff 100%);
    pointer-events: none;
}

.more-content-gradation.is-open::after {
    display: none;
}

.onb-related02-btn {
    max-width: 32rem;
    margin: var(--s5) auto;
    position: relative;
    transform: translate3d(0, 0, 0);
    /* 描画対策のGPU処理 */
}

.onb-related02-btn span {
    width: 100%;
    margin: var(--s5) auto;
    padding: 2rem 6rem 2rem 3rem;
    border: .1rem solid #707070;
    border-radius: 4rem;
    background: #FFEDAB url('./img/accordion-plus.svg') no-repeat 95% center;
    display: block;
    text-align: center;
    font-weight: 700;
    transform: translate(0, 0);
    transition: transform 0.3s;
    cursor: pointer;
    z-index: 1;
}

.onb-related02-btn::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #D6D6D6;
    border-width: 0 1px 1px 0;
    transform: translate(.6rem, .6rem);
    border-radius: 4rem;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
}

.onb-related02-btn:hover span {
    transform: translate(.6rem, .6rem);
}

.onb-related02-btn.is-open span {
    background: #FFEDAB url('./img/accordion-minus.svg') no-repeat 95% center;
}

.relations-box.relations-box--column {
    display: flex;
    gap: 10px;
}

.relations-box__pic {
    flex: 0 0 150px;
}

/* ---------------------------------------------
固定バナー
--------------------------------------------- */
.hide-banner {
  display: none !important;
}

.pc-fix-banner01 {
    width: 29rem;
    background: #FBA3A1 url(img/banner-bg-01.jpg) no-repeat right center;
    background-size: auto 100%;
    border-radius: 2rem 0 0 0;
    position: fixed;
    right: 0;
    bottom: 0;
    z-index: 50;
}

.pc-fix-banner01 a {
    color: #fff;
    padding: 2rem 5rem 2rem 3rem;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: none;
    display: block;
}

.pc-fix-banner01 a:hover {
    opacity: .7;
}

/* 2.3.3 section-title03 */
.section-title03 {
    padding-top: 10rem;
    font-size: 3.6rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    line-height: 1.5;
    z-index: 2;
}

.section-title03::before {
    position: absolute;
    left: 50%;
    top: 6.5rem;
    transform: translateX(-50%);
    width: 3.5rem;
    height: 3rem;
    background: url(img/title-bg-02.png) no-repeat left top;
    background-size: contain;
    content: "";
}

.section-title03::after {
    position: absolute;
    left: 50%;
    top: -10rem;
    transform: translateX(-50%);
    width: 54rem;
    height: 54rem;
    background: url(img/title-bg-03.png) no-repeat left top;
    background-size: contain;
    content: "";
    pointer-events: none;
    z-index: -1;
}


p.lead {
    position: relative;
    width: 90%;
    margin: 1em auto;
    line-height: 2;
    z-index: 2;
}

p.lead span {
    color: var(--site-color10-pink);
    font-weight: 700;
}

/* 3.0.2 m-title02 */
.m-title02 {
    margin: -3rem 0.5rem 0 0.5rem;
    padding: 1.6rem 0.5rem;
    font-size: 2.3rem;
    font-weight: 700;
    line-height: 1.5;
    background: #f39c26;
    background: -webkit-linear-gradient(90deg, rgba(249, 204, 89, 1) 0%, rgba(243, 156, 38, 1) 50%);
    background: linear-gradient(90deg, rgba(249, 204, 89, 1) 0%, rgba(243, 156, 38, 1) 50%);
    border-radius: 2.4rem 2.4rem 2.4rem 0;
    color: #fff;
    text-align: center;
}

/* 3.0.6 title-catch */
.title-catch {
    margin: 0 0 1.5rem 0;
    padding: 0 0 1.2rem 0;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    border-bottom: 2px dotted #cfcfcf;
}

.title-catch span span,
.title-catch a span {
    color: #f98580;
}

.title-catch a {
    display: block;
    width: 100%;
    padding: 0 3.2rem 0 0;
    background: url(img/arrow-link.svg) no-repeat right center;
    background-size: 2.8rem auto;
    color: inherit;
    text-decoration: none;
}

.title-catch a:hover {
    text-decoration: none;
    opacity: 0.7;
}

/* 4.31 l-grid-three (3カラム) 主要部のみ */
.column-small {
    width: 32%;
    min-width: 260px;
    margin: 0 1%;
    display: flex;
    flex-direction: column;
    padding: var(--s2);
    background: #fffcf1;
    border-radius: 1rem;
}

.l-grid-three {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    position: relative;
    z-index: 3;
}

/* 3.1 スライダー（主要クラスのみ） */
.slider-container {
    position: relative;
    margin: 2rem 0;
}

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-wrapper {
    display: flex;
}

.l-grid-three .swiper-wrapper {
  align-items: center;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.swiper-pagination {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
    text-align: center;
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: 3rem;
    height: 3rem;
    margin-top: -22px;
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-button-next {
    right: 0;
}

.swiper-button-prev {
    left: 0;
}

.thb-slider {
    width: 100%;
}

.thb-slider .swiper-button-next,
.thb-slider .swiper-button-prev {
    width: 3rem;
    height: 3rem;
    top: 40%;
}

.thb-slider .swiper-button-next:hover,
.thb-slider .swiper-button-prev:hover {
    opacity: .6;
}

.thb-slider .swiper-button-next::after,
.thb-slider .swiper-rtl .swiper-button-prev::after {
    content: "";
    width: 3rem;
    height: 3rem;
    background: url("./img/slider-arrow-right.svg") no-repeat center center;
    background-size: contain;
}

.thb-slider .swiper-button-prev::after,
.thb-slider .swiper-rtl .swiper-button-next::after {
    content: "";
    width: 3rem;
    height: 3rem;
    background: url("./img/slider-arrow-left.svg") no-repeat center center;
    background-size: contain;
}

/* 4.1.1 onb-icon-title (1カラムbox専用見出し/小アイコン左上) */
.onb-icon-title-frame {
    width: 70%;
    margin: -6rem auto 0 auto;
    padding: 4rem 3rem;
    background: #f39c26;
    background: -webkit-linear-gradient(90deg, rgba(249, 204, 89, 1) 0%, rgba(243, 156, 38, 1) 50%);
    background: linear-gradient(90deg, rgba(249, 204, 89, 1) 0%, rgba(243, 156, 38, 1) 50%);
    border-radius: 3.5rem 3.5rem 3.5rem 0;
    position: relative;
}

.onb-icon-title-icon {
    width: 12rem;
    height: 12rem;
    overflow: hidden;
    position: absolute;
    top: -4rem;
    left: 0;
    border: 3px solid #fff;
    border-radius: 100px;
    box-shadow: -10px 0 0 0 #EEEEEE;
}

.onb-icon-title {
    text-align: center;
    color: #fff;
    font-size: 3.2rem;
    font-weight: 700;
}

.onb-icon-title small {
    font-size: 2.1rem;
}

.onb-icon-title-catch {
    margin-bottom: .8rem;
    font-size: 1.6rem;
    display: block;
    line-height: 1.5;
}


/* 4.8 1box_5-slider (1カラムbox専用/スライダー/サムネイル5) */
.onb-five-slider-container {
    position: relative;
}

.onb-five-slider.swiper-thumbs .swiper-slide {
    width: 20%;
}

.onb-five-slider .swiper-slide-thumb-active {
    outline: 2px solid #0867FF;
    outline-offset: -2px;
}

.onb-five-slider2 {
    margin-bottom: var(--s3);
}

.onb-five-slider-container .swiper-button-next,
.onb-five-slider-container .swiper-button-prev {
    top: calc(50% - 100px);
    width: 5rem;
    height: 5rem;
}

.onb-five-slider-container .swiper-button-next {
    right: -24px;
}

.onb-five-slider-container .swiper-button-prev {
    left: -24px;
}

.onb-five-slider-container .swiper-button-next:hover,
.onb-five-slider-container .swiper-button-prev:hover {
    opacity: .6;
}

.onb-five-slider-container .swiper-button-next:after,
.onb-five-slider-container .swiper-rtl .swiper-button-prev:after {
    content: "";
    width: 5rem;
    height: 5rem;
    background: url("./img/slider-arrow-right.svg") no-repeat center center;
    background-size: contain;
}

.onb-five-slider-container .swiper-button-prev:after,
.onb-five-slider-container .swiper-rtl .swiper-button-next:after {
    content: "";
    width: 5rem;
    height: 5rem;
    background: url("./img/slider-arrow-left.svg") no-repeat center center;
    background-size: contain;
}


/* 4.8.3 1box-txtSlider-area (1カラムbox専用/スライダー/画像+キャッチ+本文) */
/*------------------------------------------
    Slider settings
*/
.onb-txtSlider-area {
    position: relative
}

.swiper.onb-txtSlider {
    width: calc(100% + 6.4rem);
    height: auto;
    margin-left: -3.2rem;

}

.slide-text-img img {
    width: 100%;
}

.slide-text-box {
    padding: 1.6rem;
}

.slide-text-box p {
    line-height: 1.5;
}

.box-title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
}

.onb-txtSlider .swiper-pagination-fraction {
    width: 4em;
    padding: var(--s1);
    background-color: #fff;
    display: inline-block;
    bottom: inherit;
    top: 0;
    left: inherit;
    right: 18%;
    z-index: 5;
}

.onb-txtSlider-area .swiper-button-next,
.onb-txtSlider-area .swiper-button-prev {
    width: 5rem;
    height: 5rem;
    top: 38%;
}

.onb-txtSlider-area .swiper-button-prev {
    left: 12%;
}

.onb-txtSlider-area .swiper-button-next {
    right: 12%;
}

.onb-txtSlider-area .swiper-button-next:hover,
.onb-txtSlider-area .swiper-button-prev:hover {
    opacity: .6;
}

.onb-txtSlider-area .swiper-button-next:after,
.onb-txtSlider .swiper-rtl .swiper-button-prev:after {
    content: "";
    width: 5rem;
    height: 5rem;
    background: url("./img/slider-arrow-right.svg") no-repeat center center;
    background-size: contain;
}

.onb-txtSlider-area .swiper-button-prev:after,
.onb-txtSlider .swiper-rtl .swiper-button-next:after {
    content: "";
    width: 5rem;
    height: 5rem;
    background: url("./img/slider-arrow-left.svg") no-repeat center center;
    background-size: contain;
}

.onb-txtSlider .swiper-slide-prev .slide-text-img,
.onb-txtSlider .swiper-slide-next .slide-text-img {
    background-color: #fff;
}

.onb-txtSlider .swiper-slide-prev .slide-text-img img,
.onb-txtSlider .swiper-slide-next .slide-text-img img {
    opacity: .7;
}

.onb-txtSlider .swiper-slide-prev .slide-text-img .caption,
.onb-txtSlider .swiper-slide-next .slide-text-img .caption,
.onb-txtSlider .swiper-slide-prev .slide-text-box,
.onb-txtSlider .swiper-slide-next .slide-text-box {
    display: none;
}

.onb-txtSlider .swiper-slide-active .slide-text-box {
    display: flex;
}

/* 4.13 1box-2column_tag-list (1カラムbox専用/2つ並びタグリスト) */
.onb-2c-taglist-title {
    text-align: center;
    font-size: 2.1rem;
    font-weight: 700;
}

.tag-list-3c {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s1);
}

.tag-list-3c li {
    width: calc((100% - var(--s2))/ 3);
    padding: .8rem;
    text-align: center;
    font-weight: 700;
    line-height: 1.5;
}

.tag-list-3c li::before {
    display: none;
}

.twb-tag-colored {
    background-color: #2EAD70;
    color: #fff;
}

.twb-tag-white {
    border: 1px solid #C2E1D2;
    background-color: #fff;
    color: #C2C2C2;
}

.twb-tag-colored .tag-name,
.twb-tag-white .tag-name {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 4.14 1box-2column_listbox (1カラムbox専用/2つ並びリストBOX) */
.twb-bg-colored {
    padding-top: 4rem;
}

.twb-listbox-area {
    padding: var(--s5) var(--s2) var(--s2) var(--s2);
    background-color: #F5F5F5;
    border-radius: 20px;
    position: relative;
}

.twb-listbox-title {
    margin-top: -5rem;
    text-align: center;
    font-weight: 700;
}

.twb-listbox-title span {
    padding: .8rem;
    background-color: #FFD22D;
    border-radius: 50vh;
    display: inline-block;
}

.twb-listbox-subtitle {
    text-align: center;
    font-weight: 700;
}

.twb-listbox-list {
    width: 100%;
}

.twb-listbox-list li {
    font-weight: 700;
    padding-left: var(--s4);
    line-height: 1.5;
    background: url('./img/icon-check.png') no-repeat top left;
    background-size: 2.4rem 2.4rem;
}

.twb-listbox-list li span {
    margin-right: var(--s1);
    display: block;
    text-align: center;
}


/* 4.15 1box-2column_icon-table */
.icon-table table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #B0A8A7;
}

.icon-table table th,
.icon-table table td {
    padding: var(--s1) var(--s3);
    border: 1px solid #B0A8A7;
    line-height: 1.5;
}

.icon-table table th {
    padding-left: 5rem;
    text-align-last: left;
    background: url("./img/dummy.png") no-repeat var(--s1) var(--s1);
    background-color: #FFEAD6;
    background-size: 3.2rem;
    vertical-align: baseline;
}

.icon-table table ul li span {
    font-weight: bold;
    background: linear-gradient(transparent 60%, #FFD595 60%);
}


/* 4.15.1 1box_sp-scroll-table */
.onb-sp-scroll-table table {
    width: 100%;
    border-collapse: collapse;
}

.onb-sp-scroll-table table th,
.onb-sp-scroll-table table td {
    min-width: 15rem;
    padding: var(--s2);
    border: 1px solid #B0A8A7;
}

.onb-sp-scroll-table table th {
    background-color: #fffcf1;
    text-align: center;
}

.onb-sp-scroll-table-cpt {
    display: none;
}


/* 4.15.2 1box_scroll-table */
.onb-scroll-table table {
    width: inherit;
    border-collapse: collapse;
}

.onb-scroll-table table th,
.onb-scroll-table table td {
    min-width: 15rem;
    padding: var(--s2);
    border: 1px solid #B0A8A7;
}

.onb-scroll-table table th {
    background-color: #FFEAD6;
    text-align: center;
}

.onb-scroll-table-cpt {
    margin-bottom: 1rem;
    display: block;
    padding: var(--s1);
    border: 1px solid var(--line);
    text-align: center;
    font-size: 1.4rem;
    border-radius: 2rem;
}


/* 4.15.3 1box-flex-table */
.l-onb-flex-table {
    display: flex;
}

.onb-flex-table {
    border: none;
    border-top: 1px solid #B0A8A7;
}

.onb-flex-table:first-child {
    border-left: 1px solid #B0A8A7;
}

.onb-flex-table th,
.onb-flex-table td {
    padding: var(--s2);

}

.onb-flex-table th {
    width: 35%;
    background-color: #FFEAD6;
    vertical-align: middle;
    text-align: center;
    font-weight: bold;
}


/* 4.16 1box_accordion-list */
.onb-acc-list-frame {
    border: 4px solid #C2E1D2;
    border-radius: 20px;
}

.onb-acc-list-title {
    padding: var(--s2);
    background-color: #C2E1D2;
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    border-radius: 12px 12px 0 0;
}

.onb-acc-list-content {
    padding: var(--s2);
}

.onb-acc-list div {
    padding-bottom: var(--s2);
    display: flex;
    border-bottom: 1px solid var(--line);
}

.onb-acc-list div:last-child {
    border: none;
}

.onb-acc-list div dt,
.onb-acc-list div dd {
    width: 50%;
    line-height: 1.2;
}

.onb-acc-list div dd span {
    font-size: 1.4rem;
}

.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;
}

.onb-acc-list-more-btn {
    max-width: 32rem;
    margin: var(--s5) auto;
    position: relative;
    transform: translate3d(0, 0, 0);
    /* 描画対策のGPU処理 */
}

.onb-acc-list-more-btn span {
    width: 100%;
    margin: var(--s5) auto;
    padding: 2rem 6rem 2rem 3rem;
    border: .1rem solid #707070;
    border-radius: 4rem;
    background: #FFEDAB url('./img/accordion-plus.svg') no-repeat 95% center;
    display: block;
    text-align: center;
    font-weight: 700;
    transform: translate(0, 0);
    transition: transform 0.3s;
    cursor: pointer;
    z-index: 1;
}

.onb-acc-list-more-btn::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: #D6D6D6;
    border-width: 0 1px 1px 0;
    transform: translate(.6rem, .6rem);
    border-radius: 4rem;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: -1;
}

.onb-acc-list-more-btn:hover span {
    transform: translate(.6rem, .6rem);
}

.onb-acc-list-more-btn.is-open span {
    background: #FFEDAB url('./img/accordion-minus.svg') no-repeat 95% center;
}


/* 4.17 1box_access-table */
.l-onb-access-table {
    display: flex;
    gap: var(--s2);
}

.l-onb-access-table__side {
    width: calc((100% - var(--s2))*.4);
}

.l-onb-access-table__main {
    width: calc((100% - var(--s2))*.6);
}

/* 4.18 1box_icon-head01 */
.onb-icon-head01 {
    position: relative;
    padding: 2.5rem;
    background: #fdf9ed;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.4;
}

.onb-icon-head01::before {
    position: absolute;
    left: 0;
    bottom: 100%;
    padding: 0.8rem 2rem;
    background: #f98580;
    border-radius: 1.2rem 1.2rem 0 0;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    content: "POINT";
}


/* 4.18.1 1box_icon-txt-head */
.onb-icon-container {
    counter-reset: onb-icon-counter;
}

.onb-icon-txt-head {
    margin-left: var(--s4);
    margin-top: var(--s4);
    margin-bottom: var(--s4);
    padding: var(--s2) var(--s2) var(--s2) var(--s12);
    line-height: 1.5;
    font-size: 2.8rem;
    font-weight: 700;
    background-color: #EEF8F3;
    border-radius: 15px;
    position: relative;
    counter-increment: onb-icon-counter;
}

.onb-icon-txt-head::before {
    content: counter(onb-icon-counter);
    width: 12rem;
    height: 10rem;
    padding-bottom: 2rem;
    background: url("./img/icon-dummy.png") no-repeat center center;
    background-size: contain;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    font-size: 4.8rem;
    color: #fff;
    transform: translateY(-50%);
    position: absolute;
    top: 3.5rem;
    left: -4rem;
    box-shadow: -10px 0 0 0 #ECECEC;
    border-radius: 100px;
}

.onb-icon-txt-head::after {
    content: "POINT";
    font-size: 1.8rem;
    text-align: center;
    color: #fff;
    position: absolute;
    top: -.6rem;
    left: -1rem;
}


/* 4.19 twb-text-list (dl説明リスト/項目ラベル+内容) */
.twb-text-list {
    padding: var(--s2);
    border: 1px solid #707070;
    border-radius: 20px;
    line-height: 1.5;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: var(--s2);
}

.twb-text-list__left {
    min-width: 4em;
}

.twb-text-list__right {
    width: calc(100% - (4em + var(--s2)));
    font-size: 1.8rem;
}

.twb-text-list__right em {
    font-size: 2.4rem;
    font-style: normal;
    font-weight: 700;
    color: var(--pri-dark);
}

/* 4.20 onb-casebox-01-frame (1カラムbox専用/事例パーツ/画像+テーブル+キャッチ+本文) */
.onb-casebox-01-frame {
    margin-top: 2rem;
    padding: var(--s4);
    background: #F5F5F5;
    border-radius: 20px;
    position: relative;
}

.onb-casebox-01-sub {
    padding: var(--s1) var(--s3);
    background-color: #FFD22D;
    color: var(--txt-main);
    font-size: 2rem;
    font-weight: bold;
    border-radius: 5rem;
    transform: translateX(-50%);
    position: absolute;
    top: -2rem;
    left: 50%;
}

.l-onb-casebox-01 {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s3);
}

.l-onb-casebox-01__side {
    width: calc((100% - var(--s3))*.2);
}

.l-onb-casebox-01__main {
    width: calc((100% - var(--s3))*.8);
}

.onb-casebox-01-table {
    width: 100%;
    border: 1px solid #707070;
    border-collapse: collapse;
}

.onb-casebox-01-table th,
.onb-casebox-01-table td {
    border: 1px solid #707070;
    background: #fff;
    padding: var(--s1) var(--s2);
}

.onb-casebox-01-table th {
    text-align: center;
    background-color: #FFEAD6;
}

.onb-casebox-01-catch {
    color: var(--pri-dark);
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.5;
}

.onb-casebox-01-caption {
    text-align: right;
}


/* 4.23 l-onb-com-box01-r (1カラムbox専用/事例パーツ/アイコン左側+属性+キャッチ+本文) */
.onb-com-box03-arrow-l {
    padding: var(--s4);
    border: 4px solid #C2E1D2;
    border-radius: 2rem;
    position: relative;
}

.onb-com-box03-arrow-l::before {
    content: "";
    width: 0;
    height: 0;
    border-top: 1.5rem solid transparent;
    border-left: 1.5rem solid transparent;
    border-right: 1.5rem solid #C2E1D2;
    border-bottom: 1.5rem solid #C2E1D2;
    transform: translateX(-50%) rotate(135deg);
    position: absolute;
    top: 5rem;
    left: 0;
}

.onb-com-box03-arrow-l::after {
    content: "";
    width: 0;
    height: 0;
    border-top: 1.5rem solid #fff;
    border-left: 1.5rem solid #fff;
    border-right: 1.5rem solid transparent;
    border-bottom: 1.5rem solid transparent;
    transform: translateX(-50%) rotate(-45deg);
    position: absolute;
    top: 5rem;
    left: 0.5rem;
}

.l-onb-com-box03-r {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s5);
}

.l-onb-com-box03-r__side {
    width: calc((100% - var(--s5))*.2);
}

.l-onb-com-box03-r__side img {
    max-width: 100%;
}

.l-onb-com-box03-r__main {
    width: calc((100% - var(--s5))*.8);
}

.onb-com-box03-r-imgcap {
    margin-top: var(--s1);
    text-align: center;
    font-size: 1.2rem;
}

.onb-com-box03-r-catch {
    margin-bottom: var(--s2);
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.5;
    color: var(--pri-dark);
}

.onb-com-box03-r-caption {
    text-align: left;
}


/* 4.23.1 l-onb-com-box01-l (1カラムbox専用/事例パーツ/アイコン右側+属性+キャッチ+本文) */
.l-onb-com-box03-l {
    position: relative;
}

.l-onb-com-box03-l {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s5);
}

.l-onb-com-box03-l__side {
    width: calc((100% - var(--s5))*.2);
}

.l-onb-com-box03-l__side img {
    max-width: 100%;
}

.l-onb-com-box03-l__main {
    padding: var(--s4);
    border: 4px solid #C2E1D2;
    border-radius: 2rem;
    width: calc((100% - var(--s5))*.8);
    position: relative;
}

.l-onb-com-box03-l__main::before {
    content: "";
    width: 0;
    height: 0;
    border-top: 1.5rem solid transparent;
    border-left: 1.5rem solid transparent;
    border-right: 1.5rem solid #C2E1D2;
    border-bottom: 1.5rem solid #C2E1D2;
    transform: translateX(-50%) rotate(-45deg);
    position: absolute;
    top: 5rem;
    right: -3rem;
}

.l-onb-com-box03-l__main::after {
    content: "";
    width: 0;
    height: 0;
    border-top: 1.5rem solid transparent;
    border-left: 1.5rem solid transparent;
    border-right: 1.5rem solid #fff;
    border-bottom: 1.5rem solid #fff;
    transform: translateX(-50%) rotate(-45deg);
    position: absolute;
    top: 5rem;
    right: -2.5rem;
}

.onb-com-box03-l-imgcap {
    margin-top: var(--s1);
    text-align: center;
    font-size: 1.2rem;
}

.onb-com-box03-l-catch {
    margin-bottom: var(--s2);
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.5;
    color: var(--pri-dark);
}

.onb-com-box03-l-caption {
    text-align: left;
}

/* 4.24 casebox02 (1カラムbox専用/2つ並び事例パーツ/アイコン+属性+キャッチ+本文) */
.onb-casebox02-frame {
    margin-top: 2rem;
    padding: var(--s4);
    background: #F5F5F5;
    border-radius: 20px;
    position: relative;
}

.onb-casebox02-sub {
    padding: var(--s1) var(--s3);
    background-color: #FFD22D;
    color: var(--txt-main);
    font-size: 2rem;
    font-weight: bold;
    border-radius: 5rem;
    transform: translateX(-50%);
    position: absolute;
    top: -2rem;
    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 {
    color: var(--pri-dark);
    font-size: 2.1rem;
    line-height: 1.5;
    font-weight: 700;
}

.onb-casebox02-caption {
    text-align: left;
}

/* profile */
.profile-area {
    margin-top: var(--s4);
    padding: var(--s4);
    display: grid;
    grid-template-columns: 30% 1fr;
    grid-template-areas: "img catch" "img text" "btn text";
    gap: var(--s4);
    position: relative;
    border-top: 2px solid #cfcfcf;
}

.profile-area::before {
    position: absolute;
    left: 0;
    bottom: calc(100% + 0.2rem);
    padding: 0.8rem 2rem;
    background: #f98580;
    border-radius: 1.2rem 1.2rem 0 0;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
    content: "Docter";
}

.profile-img-area {
    grid-area: img;
}

.profile-text-area {
    grid-area: text;
}

.profile-btn-area {
    grid-area: btn;
    position: relative;
    z-index: 5;
}

.profile-caption {
    margin-top: var(--s2);
    text-align: center;
    font-weight: bold;
}

.profile-catch {
    position: relative;
    padding-bottom: var(--s2);
    border-bottom: 2px dotted #cfcfcf;
    font-size: 3.2rem;
    font-weight: 700;
  line-height:.7;
    grid-area: catch;

}

.profile-catch::before {
    position: absolute;
    left: -7rem;
    top: -7rem;
    width: 20rem;
    height: 20rem;
    background: url(img/title-bg-01.png) no-repeat left top;
    background-size: contain;
    content: "";
    pointer-events: none;
    z-index: -1;
}

.profile-catch span {
    color: initial;
    font-size: 1.9rem;
    display: block;
}


.profile-catch span:last-child {
    display: contents;
}


.profile-detail {
    padding: var(--s2);
    font-size: 1.8rem;
    font-weight: bold;
    background-color: #C2E1D2;
    border-radius: 15px;
}

.profile-box .acc-more-btn span,
.profile-box .acc-more-btn.is-open span {
    background-color: #fbf7ec;
}

.profile-box-ttl {
    margin-bottom: var(--s2);
    color: var(--site-color01);
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.6;
}

.profile-area .btn-internal,
.profile-area .btn-web {
    margin: var(--s3) auto;
}


/* 1box_tag-list */
.onb-taglist-bg {
    padding: var(--s4);
    background-color: #F5F5F5;
    border-radius: 15px;
}

.onb-taglist-title {
    text-align: center;
    font-size: 2.1rem;
    font-weight: 700;
}

.tag-list-6c {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s2);
}

.tag-list-6c li {
    width: calc((100% - var(--s10))/ 6);
    padding: .8rem;
    text-align: center;
    font-weight: 700;
    line-height: 1.5;
}

.tag-list-6c li::before {
    display: none;
}

.onb-tag-colored {
    background-color: #2EAD70;
    color: #fff;
}

.onb-tag-white {
    border: 1px solid #C2E1D2;
    background-color: #fff;
    color: #C2C2C2;
}

.onb-tag-colored .tag-name,
.onb-tag-white .tag-name {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* 1box_access-table */
.l-onb-access-table {
    display: flex;
    gap: var(--s2);
}

.l-onb-access-table__side {
    width: calc((100% - var(--s2))*.4);
}

.l-onb-access-table__main {
    width: calc((100% - var(--s2))*.6);
}


/*------------------------------------------
    2box column settings
*/
.column-medium {
    padding: var(--s4);
}

.twb-box-full {
    width: calc(100% + var(--s8));
    margin-left: calc(var(--s4) * -1);
    padding: var(--s1) var(--s2);
}

.twb-m-title02 {
    position: relative;
    margin: 0 0 2rem 0;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

.twb-m-title02::before {
    position: absolute;
    left: -8rem;
    top: -8rem;
    width: 20rem;
    height: 20rem;
    background: url(img/title-bg-01.png) no-repeat left top;
    background-size: contain;
    content: "";
    pointer-events: none;
    z-index: -1;
}


/* 4.4 */
.onb-iconbox04-frame {
    padding: var(--s2);
    background-color: #fffcf1;
    border-radius: 1rem;
}

.onb-iconbox04-catch {
    display: flex;
    align-items: center;
    min-height: 7rem;
    margin: 0 0 2rem 0;
    padding: 0 0 0 8rem;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.4;
    background: url('./img/dialog.png') no-repeat left center;
    background-size: 7rem auto;
}

.onb-iconbox04-caption {
    display: block;
    max-width: 100%;
    padding: 0 0 0.3rem 0;
    text-align: left;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-width: thin;

}

/* 4.1.3 */
.onb-m-title5 {
    line-height: 1.4;
    font-size: 2.4rem;
    font-weight: 700;
    text-align: center;
}

.onb-m-title5 span {
    display: flex;
    align-items: center;
}

.onb-m-title5 span::before,
.onb-m-title5 span::after {
    content: "";
    min-width: 5%;
    height: 1px;
    background-color: #cfcfcf;
    flex-grow: 1;
}

.onb-m-title5 span::before {
    margin-right: var(--s2);
}

.onb-m-title5 span::after {
    margin-left: var(--s2);
}

.onb-iconlist-title {
    font-weight: 700;
    text-align: center;
    font-size: 2rem;
}

/* レイアウト指定 */
.icon-list-8c {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s2);
    justify-content: center;
}

.icon-list-8c li {
    width: calc((100% - var(--s6)) / 4);
    /* 8列 → 4列に変更 */
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
}


.icon-list-8c li::before {
    display: none;
}

.icon-list-8c li span {
    display: block;
    position: relative;
    margin: 0 auto .8rem;
    /* 中央寄せ＆下マージン */
    width: 50%;
    /* li 幅の 1/3 に設定 */
}
.off_icon_text{
  color:var(--site-color06);
}

.acc-more-btn {
    width: 36rem;
    margin: 4rem auto;
    position: relative;
}

.acc-more-btn span {
    display: block;
    width: 36rem;
    margin: 0 auto;
    padding: 2.5rem 5.5rem;
    border-radius: 100px;
    text-align: center;
    position: relative;
    transition: opacity 0.3s;
    cursor: pointer;
    background: #fdefcc url('./img/accordion-plus.svg') no-repeat right 1.8rem center;
    background-size: 2.7rem auto;
    box-shadow: 0 3px 6px 0 rgba(128, 128, 128, 0.1);
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.4;
}

.acc-more-btn:hover span {
    opacity: 0.7;
}

.acc-more-btn.is-open span {
    background: #fdefcc url('./img/accordion-minus.svg') no-repeat right 1.8rem center;
    background-size: 2.7rem auto;
}

.more-content {
    display: none;
}

/* 2.3.6 */
.section-title06-frame {
    margin-top: 5rem;
    position: relative;
}

.section-title06 {
    position: relative;
    width: calc(100% - 16rem);
    padding: var(--s4) var(--s4) var(--s4) 0;
    color: #fff;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: right;
    z-index: 2;
}

.section-title06::after {
    position: absolute;
    right: 0;
    top: 0;
    width: 100vw;
    height: 100%;
    background-color: var(--site-color01);
    border-radius: 0 3.6rem 0 0;
    content: "";
    z-index: -1;
}

.section-title06 a {
    display: block;
    padding: 0 4rem 0 0;
    background: url(img/arrow-02-wht-right.svg) no-repeat right center;
    background-size: 24px auto;
    color: inherit;
    text-decoration: none;
}

.section-title06 a:hover {
    opacity: 0.7;
}

/* 4box column settings */
.column-xsmall {
    padding: .8rem;
}


/* index02 */
.onb-index02-frame {
    width: 100%;
    background: #fff;
    border: 3px solid #f6f5f4;
    border-radius: 20px;
    counter-reset: number 0;
    margin-top: var(--s5);
}

.onb-index02-wrap {
    margin: 0 auto;
    padding: var(--s1) var(--s3) var(--s4) var(--s3);
    position: relative;
}

.onb-index02-title {
    padding: var(--s2) var(--s2) var(--s2) var(--s3);
    color: #333;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
    position: relative;
}

.onb-index02-title::before {
    content: "";
    position: absolute;
    display: block;
    background: var(--site-color01);
    border-radius: 15px;
    width: 7px;
    height: 28px;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

.onb-index02-chapter {
    padding: var(--s2) var(--s2) var(--s2) var(--s4);
    font-weight: 700;
    border-top: 2px dotted #cfcfcf;
}

.onb-index02-chapter-h {
    margin: 0 0 0 var(--s2);
    font-size: 100%;
    line-height: 1.7;
    position: relative;
}

.onb-index02-chapter-h a {
    display: block;
    text-decoration: none;
}

.onb-index02-chapter-h a:hover {
    opacity: .6;
}

.onb-index02-chapter-h-two {
    margin-left: var(--s2);
    position: relative;
}

.onb-index02-chapter-h-three {
    margin-left: var(--s4);
    position: relative;
}

.onb-index02-chapter-h-two::before,
.onb-index02-chapter-h-three::before {
    position: absolute;
    top: 0;
    left: -1.5em;
}

.onb-index02-chapter-h-two::before {
    color: #fda62f;
    content: counter(number, decimal-leading-zero);
    counter-increment: number 1;
}

.onb-index02-chapter-h-three::before {
    content: "└";
}

/*----------------------------------------------
  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;
}

.onb-index02-btn {
    max-width: 32rem;
    margin: 2rem auto 0 auto;
    padding: 2rem 6rem 2rem 3rem;
    border-radius: 100px;
    text-align: center;
    position: relative;
    transition: opacity 0.3s;
    cursor: pointer;
    background: #fdefcc;
    box-shadow: 0 3px 6px 0 rgba(128, 128, 128, 0.1);
    font-size: 1.6rem;
    font-weight: bold;
}

.onb-index02-btn::before {
    content: "";
    width: 2.7rem;
    height: 2.7rem;
    background: url('./img/accordion-plus.svg') no-repeat 0 0 /100% auto;
    position: absolute;
    top: 50%;
    right: 1.8rem;
    transform: translate(0, -50%);
}

.onb-index02-btn:hover {
    opacity: 0.6;
}

.onb-index02-btn.is-open::before {
    background-image: url('./img/accordion-minus.svg');
}


/* conclusion-box */
.conclusion-box-frame {
    position: relative;
    margin: 6rem 0;
    padding: var(--s2) var(--s4) var(--s4);
    background: #fffcf1 url(img/title-bg-01.png) no-repeat left top;
    border: 3px solid #fdeec4;
    border-radius: 20px;
}

.conclusion-box-frame .btn-internal a {
    background-color: #f98580;
}

.conclusion-box-ttl__icon {
    width: 10rem;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    background: #fda62f;
    background: -webkit-linear-gradient(90deg, rgba(253, 228, 167, 1) 0%, rgba(249, 204, 89, 1) 40%, rgba(253, 166, 47, 1) 100%);
    background: linear-gradient(90deg, rgba(253, 228, 167, 1) 0%, rgba(249, 204, 89, 1) 40%, rgba(253, 166, 47, 1) 100%);
    border-radius: 30px 30px 30px 0px;
    position: absolute;
    left: 4.4rem;
    top: -2.8rem;
}

.conclusion-box-ttl__icon span {
    color: #fff;
}

.conclusion-box-ttl__text {
    position: relative;
    padding: var(--s2) 0;
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

.conclusion-box-ttl__text::before {
    position: absolute;
    left: 50%;
    top: calc(100% + 0.8rem);
    transform: translateX(-50%);
    width: 7rem;
    height: 0.8rem;
    background: var(--site-color01);
    border-radius: 0.4rem;
    content: "";
}

.conclusion-box-text {
    padding: var(--s4) var(--s4) 0;
}


.sp-fix-banner01 {
    display: none;
}


/* bg  */

.bg-03 {
    background: url('./img/bg-03.jpg') no-repeat right top;
    background-size: 100% auto;
}

.btn-link02 {
    margin: 3rem 0;
    text-align: right;
}

.btn-link02 a {
    margin: 0;
    padding: 0.3rem 2.8rem 0.3rem 0;
    background: url(img/arrow-link.svg) no-repeat right center;
    background-size: 2rem auto;
    display: inline-block;
    font-weight: 700;
    line-height: 1.6;
    text-decoration: underline;
}

.btn-link02 a:hover {
    text-decoration: none;
    opacity: 0.6;
}

.tel_number {
    text-align: center;
}

/*------------------------------------------------------------
    SP settings
*/
@media screen and (max-width: 767px) {

    .header-area--top .header-area-upper {
        background: #fffcf1;
    }

    .header-title {
        text-align: left;
    }

    .onb-icon-title {
        font-size: 2.4rem;
    }

    .onb-icon-title small {
        font-size: 1.6rem;
    }

    .onb-icon-title-catch {
        padding-left: var(--s3);
        font-size: 1.4rem;
    }

    .onb-icon-title-icon {
        width: 6rem;
        height: 6rem;
        position: absolute;
        top: -2rem;
        left: -2rem;
        border-width: 2px;
    }

    .onb-five-slider-container .swiper-button-prev {
        left: var(--swiper-navigation-sides-offset, -1.5rem);
    }

    .onb-five-slider-container .swiper-button-next {
        right: var(--swiper-navigation-sides-offset, -1.5rem);
    }

    .onb-five-slider-container .swiper-button-next,
    .onb-five-slider-container .swiper-button-prev {
        width: 3rem;
        height: 3rem;
        top: 35%;
    }

    .swiper.onb-txtSlider {
        width: calc(100% + var(--s4));
        height: auto;
        margin-left: calc(var(--s2) * -1);
    }

    .onb-txtSlider .swiper-slide {
        width: 100% !important;
    }

    .onb-txtSlider .swiper-pagination-fraction {
        width: 5.5em;
        font-size: 1rem;
        right: 0;
    }

    .onb-txtSlider-area .swiper-button-next,
    .onb-txtSlider-area .swiper-button-prev {
        width: 3rem;
        height: 3rem;
        top: 30%;
    }

    .onb-txtSlider-area .swiper-button-prev {
        left: -1rem;
    }

    .onb-txtSlider-area .swiper-button-next {
        right: -1rem;
    }

    .twb-listbox-area {
        padding: var(--s2) var(--s2) var(--s2) var(--s2);
    }

    .twb-listbox-list li {
        font-size: 1.4rem;
    }

    .twb-listbox-list--three li {
        width: calc((100% - var(--s2)) / 2);
    }

    .twb-listbox-title {
        width: 80%;
        margin: -5rem auto 0 auto;
        padding: var(--s2);
        font-size: 1.8rem;
        text-align: center;
    }

    .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-sp-scroll-table {
        padding-right: .5rem;
    }

    .onb-sp-scroll-table table {
        width: inherit;
        position: relative;
    }

    .onb-sp-scroll-table table::after {
        content: "";
        width: .5rem;
        height: 1px;
        position: absolute;
        top: 0;
        right: -.5rem;
    }

    .onb-sp-scroll-table table th,
    .onb-sp-scroll-table table td {
        min-width: 15rem;
    }

    .onb-sp-scroll-table-cpt {
        margin-bottom: 1rem;
        display: block;
        padding: var(--s1);
        border: 1px solid var(--line);
        text-align: center;
        font-size: 1.2rem;
        border-radius: 2rem;
    }

    .onb-scroll-table table {
        width: inherit;
    }

    .onb-scroll-table-cpt {
        font-size: 1.2rem;
    }

    .l-onb-flex-table {
        flex-direction: column;
    }

    .onb-flex-table {
        border-left: 1px solid #B0A8A7;
    }

    .onb-flex-table+table {
        margin-top: -1px;
    }

    .onb-acc-list-more-btn span {
        transition: none;
        transform: none;
    }

    .onb-acc-list-more-btn:hover span {
        transform: none;
    }

    .l-onb-access-table {
        flex-direction: column;
    }

    .l-onb-access-table__side,
    .l-onb-access-table__main {
        width: 100%;
    }

    .onb-icon-txt-head {
        margin-left: var(--s2);
        padding: var(--s1) var(--s1) var(--s1) var(--s8);
        font-size: 1.8rem;
    }

    .onb-icon-txt-head::before {
        width: 8rem;
        height: 8rem;
        font-size: 3.2rem;
        left: -2.5rem;
        padding: 0;
        line-height: 70px;
    }

    .onb-icon-txt-head::after {
        font-size: 1.2rem;
        top: 1rem;
        left: -.5rem;
    }

    .onb-casebox-01-frame {
        padding: var(--s4) var(--s2);
    }

    .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;
        padding: 0 7rem;
    }

    .onb-casebox-01-table th,
    .onb-casebox-01-table td {
        padding: var(--s1);
    }

    .onb-com-box03-arrow-l::before,
    .onb-com-box03-arrow-l::after {
        top: 2rem;
    }

    .onb-com-box03-r-frame {
        padding: var(--s2);
    }

    .l-onb-com-box03-l__main::before,
    .l-onb-com-box03-l__main::after {
        top: 2rem;
    }

    .onb-com-box03-l-frame {
        padding: var(--s2);
    }

    .onb-icon-title-frame {
        width: 90%;
        margin: -3rem auto 0 auto;
        padding: 2rem 1rem;
        border-radius: 2.4rem 2.4rem 2.4rem 0;
    }

    .onb-icon-title {
        font-size: 2rem;
    }

    .onb-icon-title small {
        font-size: 1.6rem;
    }

    .onb-icon-title-catch {
        padding-left: var(--s3);
        font-size: 1.4rem;
    }

    .onb-icon-title-icon {
        width: 6rem;
        height: 6rem;
        position: absolute;
        top: -2rem;
        left: -2rem;
        border-width: 2px;
    }

    .onb-five-slider-container .swiper-button-prev {
        left: var(--swiper-navigation-sides-offset, -1.5rem);
    }

    .onb-five-slider-container .swiper-button-next {
        right: var(--swiper-navigation-sides-offset, -1.5rem);
    }

    .onb-five-slider-container .swiper-button-next,
    .onb-five-slider-container .swiper-button-prev {
        width: 3rem;
        height: 3rem;
        top: 35%;
    }

    .swiper.onb-txtSlider {
        width: calc(100% + var(--s4));
        height: auto;
        margin-left: calc(var(--s2) * -1);
    }

    .onb-txtSlider .swiper-slide {
        width: 100% !important;
    }

    .onb-txtSlider .swiper-pagination-fraction {
        width: 5.5em;
        font-size: 1rem;
        right: 0;
    }

    .onb-txtSlider-area .swiper-button-next,
    .onb-txtSlider-area .swiper-button-prev {
        width: 3rem;
        height: 3rem;
        top: 23%;
    }

    .onb-txtSlider-area .swiper-button-prev {
        left: -1rem;
    }

    .onb-txtSlider-area .swiper-button-next {
        right: -1rem;
    }

    .twb-listbox-area {
        padding: var(--s2) var(--s2) var(--s2) var(--s2);
    }

    .twb-listbox-list li {
        font-size: 1.4rem;
    }

    .twb-listbox-list--three li {
        width: calc((100% - var(--s2)) / 2);
    }

    .twb-listbox-title {
        width: 80%;
        margin: -5rem auto 0 auto;
        padding: var(--s2);
        font-size: 1.8rem;
        text-align: center;
    }

    .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-sp-scroll-table {
        padding-right: .5rem;
    }


    #low-page .onb-sp-scroll-table table{
        margin-block: 0;
    }

    .onb-sp-scroll-table table {
        width: inherit;
        position: relative;
    }

    .onb-sp-scroll-table table::after {
        content: "";
        width: .5rem;
        height: 1px;
        position: absolute;
        top: 0;
        right: -.5rem;
    }

    .onb-sp-scroll-table table th,
    .onb-sp-scroll-table table td {
        min-width: 15rem;
    }

    .onb-sp-scroll-table-cpt {
        margin-bottom: 1rem;
        display: block;
        padding: var(--s1);
        border: 1px solid var(--line);
        text-align: center;
        font-size: 1.2rem;
        border-radius: 2rem;
    }

    .onb-scroll-table table {
        width: inherit;
    }

    .onb-scroll-table-cpt {
        font-size: 1.2rem;
    }

    .l-onb-flex-table {
        flex-direction: column;
    }

    .onb-flex-table {
        border-left: 1px solid #B0A8A7;
    }

    .onb-flex-table+table {
        margin-top: -1px;
    }

    .onb-acc-list-more-btn span {
        transition: none;
        transform: none;
    }

    .onb-acc-list-more-btn:hover span {
        transform: none;
    }

    .l-onb-access-table {
        flex-direction: column;
    }

    .l-onb-access-table__side,
    .l-onb-access-table__main {
        width: 100%;
    }

    .onb-icon-head01 {
        margin-left: 0;
        padding: var(--s2);
        font-size: 2rem;

    }

    .onb-icon-head01::before {
        padding: 0.8rem 1.5rem;
        border-radius: 1rem 1rem 0 0;
        font-size: 1.6rem;
    }

    .onb-icon-txt-head {
        margin-left: var(--s2);
        padding: var(--s1) var(--s1) var(--s1) var(--s8);
        font-size: 1.8rem;
    }

    .onb-icon-txt-head::before {
        width: 8rem;
        height: 8rem;
        font-size: 3.2rem;
        left: -2.5rem;
        padding: 0;
        line-height: 70px;
    }

    .onb-icon-txt-head::after {
        font-size: 1.2rem;
        top: 1rem;
        left: -.5rem;
    }

    .onb-casebox-01-frame {
        padding: var(--s4) var(--s2);
    }

    .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;
        padding: 0 7rem;
    }

    .onb-casebox-01-table th,
    .onb-casebox-01-table td {
        padding: var(--s1);
    }

    .onb-com-box03-arrow-l::before,
    .onb-com-box03-arrow-l::after {
        top: 2rem;
    }

    .onb-com-box03-r-frame {
        padding: var(--s2);
    }

    .l-onb-com-box03-l__main::before,
    .l-onb-com-box03-l__main::after {
        top: 2rem;
    }

    .onb-com-box03-l-frame {
        padding: var(--s2);
    }

    /* related-article02 */
    .related-article02-frame {
        padding: var(--s3);
    }

    .related-article02-title {
        padding: 0 0 var(--s2);
        margin-bottom: var(--s3);
    }

    .related-article02-list {
        padding: 0;
    }

    .related-article02-list li {
        margin-left: 0;
    }

    .onb-related02-btn:hover {
        opacity: initial;
    }

    .relations-box__pic {
        flex: 0 0 100px;
    }

    .pc-fix-banner01 {
        display: none;
    }

    .section-title03 {
        font-size: 2.4rem;
        line-height: 1.5;
    }

    .l-grid-three {
        flex-direction: column;
        gap: 1.2rem;
    }

    .column-small {
        width: 100%;
        min-width: 0;
    }

    .column-medium {
        padding: var(--s2);
    }

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

    .onb-m-title5 span::before,
    .onb-m-title5 span::after {
        width: 4rem;
    }

    .onb-m-title5 span::before {
        margin-right: var(--s1);
    }

    .onb-m-title5 span::after {
        margin-left: var(--s1);
    }

    .profile-area {
        margin-top: var(--s6);
        padding: var(--s2) 0;
        grid-template-columns: none;
        grid-template-areas: inherit;
        gap: var(--s2);
    }

    .profile-area::before {
        padding: 0.8rem 1.5rem;
        border-radius: 1rem 1rem 0 0;
        font-size: 1.6rem;
    }
    .profile-catch span {
    font-size: 1.6rem;
}

.profile-catch {
    font-size: 2.1rem;
}

    .profile-img-area,
    .profile-text-area,
    .profile-btn-area,
    .profile-catch {
        grid-area: inherit;
    }

    .profile-img-area {
        display: block;
        gap: var(--s2)
    }

    .profile-img {
        width: 100%;
    }

    .profile-img img {
        max-width: 100%;
    }

    .onb-taglist-bg {
        padding: var(--s2);
    }

    .tag-list-6c {
        gap: var(--s1);
    }

    .tag-list-6c li {
        width: calc((100% - var(--s1))/ 2);
    }

    .l-onb-access-table {
        flex-direction: column;
    }

    .l-onb-access-table__side,
    .l-onb-access-table__main {
        width: 100%;
    }

    .onb-iconlist-bg {
        padding: var(--s2) var(--s1);
    }

    .l-onb-iconlist-line {
        flex-direction: column;
    }

    .l-onb-iconlist-line__side,
    .l-onb-iconlist-line__main {
        width: 100%;
    }

    .l-onb-iconlist-line__side img {
        width: 100%;
    }

    .icon-list-8c {
        gap: var(--s2);
    }

    .icon-list-8c li {
        width: calc((100% - var(--s4))/ 3);
        font-size: 1.2rem;
    }


    .icon-list-8c li span {
        width: 70%;
    }

    .acc-more-btn {
        width: 90%;
    }

    .acc-more-btn span {
        width: 100%;
        transition: inherit;
        transform: none;
    }

    .acc-more-btn:hover span {
        transform: none;
    }

    /* 2.3.6 */
    .section-title06 {
        width: 100%;
        font-size: 2.4rem;
    }

    .section-title06::after {
        border-radius: 0 3rem 0 0;
    }

    /* conclusion-box */
    .conclusion-box-frame {
        margin: 5rem 0;
        padding: var(--s2);
    }

    .conclusion-box-ttl__icon {
        width: 8rem;
        height: 4rem;
        font-size: 1.6rem;
        left: 2rem;
        top: -2rem;
    }

    .conclusion-box-ttl__text {
        font-size: 2.1rem;
    }

    .conclusion-box-text {
        padding: var(--s2) 0;
    }

    /* sp-fix-banner01 */

    .sp-fix-banner01 {
        display: block;
        width: 23rem;
        height: 6rem;
        background: #FBA3A1 url(img/banner-bg-01.jpg) no-repeat right center;
        background-size: auto 8rem;
        border-radius: 2rem 0 0 0;
        position: fixed;
        right: 0;
        bottom: 0;
        z-index: 50;
    }

    .sp-fix-banner01 a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 24rem;
        height: 6rem;
        color: #fff;
        padding: 1rem 4rem 1rem 2rem;
        font-size: 1.5rem;
        font-weight: 700;
        line-height: 1.4;
        text-decoration: none;
    }

    .sp-fix-banner01 a:hover {
        opacity: .7;
    }


    .sec01 .tel_number {
        margin-top: var(--s2);
    }

    .onb-m-title5 {
        margin: 1rem 0 0 0;
        font-size: 2rem;
    }

    .twb-m-title02 {
        font-size: 1.8rem;
    }

    .btn-link02 a {
        margin: 0;
        padding: 0.3rem 2.8rem 0.3rem 0;
        background: url(img/arrow-link.svg) no-repeat right center;
        background-size: 2rem auto;
        display: inline-block;
        font-weight: 700;
        line-height: 1.6;
        text-decoration: underline;
    }

    .sec08 .btn-link02 {
        margin: 0;
    }

    .section-title03::after {
        top: -4rem;
        width: 28rem;
        height: 28rem;
    }

    .onb-iconbox04-catch {
        font-size: 1.8rem;
    }

}


/*--------------------------------------
mainvisual
---------------------------------------*/
.mainvisual {
    position: relative;
}

.mainvisual::before {
    position: absolute;
    left: 0;
    top: -3.5rem;
    width: 100%;
    height: 100%;
    background: url(img/mv-bg-01.jpg) no-repeat center top;
    background-size: 100% auto;
    content: "";
    pointer-events: none;
    z-index: -1;
}

.mv-inner {
    width: 100%;
    margin: 0 auto;
    padding: 9rem 0;
}

.mv-txt {
    width: 58rem;

}

.mv-title {
    display: inline;
    border-bottom: 2px dotted #cfcfcf;
    font-size: 3rem;
    font-weight: 700;
    line-height: 1.6;
}

.mv-title span {
    color: var(--site-color10-pink);
    font-size: 4rem;
}

.mv-txt .mv-logo {
    margin: 0 0 6rem 0;
}

.mv-txt .mv-logo img {
    width: 25rem;
}

.mv-catch {
    width: 50%;
    margin: 0 0 1rem 0;
}

.mv-txt p:not([class]) {
    margin: 3rem 2rem 0 0;
    text-align: left;
}

.mv-txt p:not([class])>span:not([class]) {
    color: var(--site-color10-pink);
    font-weight: 700;
}

@media screen and (min-width: 768px) and (max-width: 1480px) {

    .mainvisual {
        min-height: 58.6rem;
    }

}

@media screen and (min-width: 1481px) and (max-width: 1780px) {

    .mainvisual {
        min-height: 70.5rem;
    }

    .mv-inner {
        width: 140rem;
        padding: 10rem 0;
    }

    .mv-txt {
        width: 68rem;
    }

    .mv-title {
        font-size: 3.4rem;
    }

    .mv-title span {
        font-size: 4.2rem;
    }

}

@media screen and (min-width: 1781px) {

    .mainvisual {
        min-height: 76rem;
    }

    .mv-inner {
        width: 168rem;
        padding: 10rem 0;
    }

    .mv-txt {
        width: 78rem;
    }

    .mv-title {
        font-size: 4rem;
    }

    .mv-title span {
        font-size: 4.5rem;
    }

}

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

    .mainvisual {
        position: relative;
        margin: 0 0 3rem 0;
        background: url(img/mv-bg-04.jpg) no-repeat center top;
        background-size: 100% auto;
    }

    .mainvisual::before {
        display: none;
        content: none;
    }

    .mv-inner {
        width: 100%;
        padding: 0;
    }

    .mv-txt {
        width: 100%;
        padding: 0 1.5rem;
        text-align: left;
    }

    .mv-title {
        font-size: 1.8rem;
    }

    .mv-title span {
        font-size: 2.4rem;
    }

    .mv-txt .mv-logo {
        margin: 0;
        padding: 6rem 0 8rem;
    }

    .mv-txt .mv-logo img {
        width: 32%;
    }

    .mv-catch {
        width: 50%;
        max-width: 50%;
        margin: 0 0 1rem 0;
    }

    .mv-txt p:not([class]) {
        margin: 2rem 0 0 0;
    }

}


/*--------------------------------------
mainvisual-lower
---------------------------------------*/
.mainvisual-lower {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 22rem;
    background: url(img/mv-bg-02.jpg) no-repeat right center;
    background-size: auto 100%;
    text-align: center;
}

.mainvisual-lower::before {
    position: absolute;
    left: -8rem;
    top: -12rem;
    width: 52rem;
    height: 55.5rem;
    background: url(img/mv-bg-03.png) no-repeat left top;
    background-size: contain;
    content: "";
    pointer-events: none;
}

.mainvisual-lower .mv-logo {
    width: 25rem;
    margin: 0 auto;
}

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

    .mainvisual-lower {
        height: 8rem;
        background: url(img/mv-bg-02_sp.jpg) no-repeat right center;
        background-size: auto 100%;
    }

    .mainvisual-lower::before {
        left: -10rem;
        top: -6rem;
        width: 20rem;
        height: 21.4rem;
    }

    .mainvisual-lower .mv-logo {
        width: 20rem;
    }

}


/*--------------------------------------
common
---------------------------------------*/
#contents {
    padding: 0 0 8rem 0;
}

#index h2:not([class]) {
    position: relative;
    margin: 6rem 0;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
}

#index h2:not([class])::before {
    position: absolute;
    left: 50%;
    top: calc(100% + 3rem);
    transform: translateX(-50%);
    width: 7rem;
    height: 0.8rem;
    background: var(--site-color01);
    border-radius: 0.4rem;
    content: "";
}

#index h2:not([class]) a,
.section-title03 a {
    display: inline-block;
    padding: 0 5rem;
    background: url(img/arrow-link.svg) no-repeat right center;
    background-size: 3rem auto;
    color: inherit;
    text-decoration: none;
}

#index h2:not([class]) a:hover,
.section-title03 a:hover {
    text-decoration: none;
    opacity: 0.7;
}

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

    #contents {
        padding: 0 0 4rem 0;
    }

    #index h2:not([class]) {
        margin: 4rem 0;
        font-size: 2.4rem;
    }

    #index h2:not([class]) a,
    .section-title03 a {
        display: block;
        padding: 0 3.2rem 0 0;
        background-size: 2.8rem auto;
    }

}


/*--------------------------------------
sec01
---------------------------------------*/
.sec01 {
    padding-bottom: var(--s7);
    background: #fffcf1;
    background: -webkit-linear-gradient(0deg, rgba(255, 252, 241, 1) 0%, rgba(255, 255, 255, 1) 90%);
    background: linear-gradient(0deg, rgba(255, 252, 241, 1) 0%, rgba(255, 255, 255, 1) 90%);
}

.sec01.lower {
    padding: 10rem 0;
}

.sec01 p.note {
    margin: 2rem 0 0 0;
    color: #414141;
    font-size: 1.3rem;
    line-height: 1.8;
}

.sec01 .l-stack-large {
    display: block;
}

.sec01 .l-grid-three {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 6rem 0 0 0;
}

.sec01 .l-grid-three::after {
    display: block;
    width: calc((100% - 5.6rem) / 3);
    content: "";
}

.sec01 .l-grid-three .column-small {
    display: block;
    width: calc((100% - 5.6rem) / 3);
    min-width: auto;
    margin: 0;
    padding: 0 1.5rem 3rem 1.5rem;
    background: #fff;
    border: 3px solid #fdf0cd;
    border-radius: 2.4rem;
}

.sec01 .column-small:nth-child(2) .m-title02 {
    background: #f39c26;
    background: -webkit-linear-gradient(90deg, rgba(246, 195, 65, 1) 0%, rgba(243, 156, 38, 1) 70%);
    background: linear-gradient(90deg, rgba(246, 195, 65, 1) 0%, rgba(243, 156, 38, 1) 70%);
}

.sec01 .column-small:nth-child(3) .m-title02 {
    background: #f39c26;
    background: -webkit-linear-gradient(90deg, rgba(246, 195, 65, 1) 20%, rgba(243, 156, 38, 1) 100%);
    background: linear-gradient(90deg, rgba(246, 195, 65, 1) 20%, rgba(243, 156, 38, 1) 100%);
}

.sec01 .column-small .title-catch {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 3rem 0;
    padding: 0;
    border: none;
    text-align: center;
}

.sec01 .column-small .txt {
    margin: 0 0 2rem 0;
}

.sec01 .column-small table th {
    width: 11rem;
    padding: 0.5rem;
    background: #f6f5f4;
    text-align: center;
}

.sec01 .column-small table td {
    padding: 0.8rem;
    font-size: 1.5rem;
}

.sec01 .column-small .btn-web {
    margin: 2.5rem auto 1.5rem auto;
}

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

    .sec01.lower {
        padding: 5rem 0;
    }

    .sec01 .l-grid-three {
        display: block;
    }

    .sec01 .l-grid-three::after {
        display: none;
        content: none;
    }

    .sec01 .l-grid-three .column-small {
        width: 100%;
        margin: 0 0 5rem 0;
    }

    .sec01 .l-grid-three .column-small:last-child {
        margin: 0;
    }

    .sec01 .column-small .btn-tel {
        margin: 2rem auto 0 auto;
    }

}


/*--------------------------------------
sec02
---------------------------------------*/
.sec02 {
    padding: 10rem 0;
    background: #fff7ec;
    background: -webkit-linear-gradient(0deg, rgba(255, 247, 236, 1) 0%, rgba(255, 255, 255, 1) 80%);
    background: linear-gradient(0deg, rgba(255, 247, 236, 1) 0%, rgba(255, 255, 255, 1) 80%);
}

.sec02 .inner {
    position: relative;
    margin: 10rem 0 0 0;
    padding: 0 5rem 5rem 5rem;
    background: #fff;
    border: 3px solid #fdf0cd;
    border-radius: 5rem;
    z-index: 3;
}

.sec02 .name {
    font-size: 2.8rem;
    font-weight: 700;
    text-align: center;
}

.sec02 .btn-web {
    width: 46rem;
}

.sec02 .profile-box .ttl {
    margin: 2rem 0 1rem 0;
    font-weight: 700;
    line-height: 1.4;
}

.sec02 .profile-box .ttl:nth-of-type(1) {
    margin: 0 0 1rem 0;
}

.sec02 .block-cost table th {
    background: #fffcf1;
    text-align: center;
}

.sec02 .l-onb-access-table iframe {
    width: 100%;
    height: 25rem;
    border: none;
}

.sec02 .l-onb-access-table table th {
    text-align: center;
}

.sec02 .twb-box-full .caption,
.sec02 .profile-box .caption,
.sec02 .sp-table-vertical .caption,
.sec02 .l-onb-access-table .caption {
    text-align: left;
}

.sec02 .l-grid-three {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: initial;
}

.sec02 .l-grid-three::after {
    display: block;
    width: calc((100% - 3.6rem) / 3);
    content: "";
}

.sec02 .l-grid-three .onb-iconbox04-frame {
    display: block;
    width: calc((100% - 3.6rem) / 3);
}

.sec02 .block-cost table th {
    width: 18rem;
}


#low-page iframe {
    width: 100%;
    height: 30rem;
    border: none;
}


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

    .sec02 {
        padding: 5rem 0;
    }

    .sec02 .l-stack-large {
        gap: var(--s4);
    }

    .sec02 .inner {
        margin: 5rem 0 0 0;
        padding: 0 1.5rem 3rem 1.5rem;
        border-radius: 3rem;
    }

    .sec02 .name {
        font-size: 2.1rem;
    }

    .sec02 .l-grid-three {
        display: block;
    }

    .sec02 .l-grid-three::after {
        display: none;
        content: none;
    }

    .sec02 .l-grid-three .onb-iconbox04-frame {
        width: 100%;
        margin: 0 0 3rem 0;
    }

    .sec02 .btn-web,
    .sec02 .btn-tel {
        width: 90%;
        margin: 0 auto;
    }

    .sec02 .block-cost table th {
        width: 100%;
    }

}


/*--------------------------------------
sec03
---------------------------------------*/
.sec03 {
    padding: 10rem 0 0 0;
}

.simplified-chart-spfix-cpt {
    display: none;
}

.simplified-chart-spfix {
    table-layout: fixed;
    width: 100rem;
}

.simplified-chart-spfix th,
.simplified-chart-spfix td {
    padding: 1.2rem 0.8rem;
    line-height: 1.4;
    text-align: center;
}

.simplified-chart-spfix th{
    padding-bottom: 0;
}

.simplified-chart-spfix th[scope="row"] {
    width: 16rem;
    background: #fff2d0;
}

.simplified-chart-spfix td.head {
    width: 21rem;
    background: #fda62f;
    font-weight: 700;
}

.simplified-chart-spfix td {
    vertical-align: top;
}

.simplified-chart-spfix td.m {
    vertical-align: middle;
}

.simplified-chart-spfix .btn-web a {
    min-height: auto;
    padding: 1.5rem 3.5rem 1.5rem 2rem;
    background-position: right 1rem center;
}

.simplified-chart-spfix td.head .btn-web {
    display: none;
}

.simplified-chart-spfix td .btn-web {
    margin: 0.5rem auto;
}

.simplified-chart-spfix td .btn-tel {
    margin: 1.5rem auto 0 auto;
}

.simplified-chart-spfix td .btn-tel a {
    min-height: auto;
    padding: 1.5rem 2rem 1.5rem 3.5rem;
    background-position: left 1rem center;
}

.simplified-chart-spfix .caption {
    display: block;
    max-width: 100%;
    padding: 0 0 0.3rem 0;
    text-align: left;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    scrollbar-width: thin;
}

.simplified-chart-spfix .caption::-webkit-scrollbar {
    height: 0.5rem;
}

.simplified-chart-spfix .caption::-webkit-scrollbar-track {
    background: #fff;
    border-radius: 1rem;
}

.simplified-chart-spfix .caption::-webkit-scrollbar-thumb {
    background: #cfcfcf;
    border-radius: 1rem;
}

.simplified-chart-spfix .name {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
}

.simplified-chart-spfix .name a {
    display: block;
    width: 100%;
    padding: 0 2rem;
    background: url(img/arrow-white.png) no-repeat right 0.5rem center;
    background-size: 8px auto;
    color: inherit;
    text-decoration: none;
}

.simplified-chart-spfix .name a:hover {
    opacity: 0.7;
}

.simplified-chart-spfix .txt-1 {
    font-size: 2rem;
    font-weight: 700;
}

.simplified-chart-spfix .txt-1 span {
    font-size: 3rem;
}

.simplified-chart-spfix .txt-2 {
    font-size: 1.4rem;
    font-weight: 700;
}

.simplified-chart-spfix .txt-3 {
    font-size: 2rem;
}

.simplified-chart-spfix .txt-4 {
    color: #f98580;
    font-size: 1.4rem;
    font-weight: 700;
}

.simplified-chart-spfix .txt-4 span {
    font-size: 2.6rem;
}

.simplified-chart-spfix .txt-5 {
    display: block;
    margin: 0.5rem 0 0 0;
    color: #414141;
    font-size: 1.4rem;
    text-align: left;
}

.simplified-chart-spfix .ico-1 {
    width: 4.4rem;
}

.l-scroll-x-sp+.caption {
    text-align: left;
}

.open_time {
    margin: 0 auto 1.5rem;
    font-size: 1.3rem;
    color: #414141;
    line-height: 1.5;
    text-align: center;
}

.sec01 .open_time {
    margin: 1.5rem auto;
}


.sec03 .caption {
    text-align: left;
}

.sec03 .open_time {
    margin-top: 1rem;
}



@media screen and (max-width: 767px) {
    p:not([class]) {
        line-height: 1.8;
    }

    .box-title {
        font-size: 1.8rem;
    }

    .sec03 {
        padding: 5rem 0 0 0;
    }

    .simplified-chart-spfix-cpt {
        display: block;
        padding: var(--s1);
        border: 1px solid var(--site-color09);
        border-radius: 2rem;
        font-size: 1.2rem;
        text-align: center;
    }

    .simplified-chart-spfix table {
        border-top: 1px solid #cfcfcf;
    }

    .simplified-chart-spfix td.head .btn-web {
        display: block;
        margin: 1.5rem auto 0 auto;
    }

    .simplified-chart-spfix th[scope="row"] {
        position: -webkit-sticky;
        position: sticky;
        left: 0;
        top: 0;
        z-index: 2;
        width: 13rem;
    }

    .simplified-chart-spfix th[scope="row"]::before {
        position: absolute;
        left: -0.1rem;
        top: -0.1rem;
        width: 100%;
        height: 100%;
        border: 1px solid #cfcfcf;
        content: "";
    }

}


/*--------------------------------------
sec04
---------------------------------------*/
.sec04 {
    padding: 10rem 0 0 0;
}

.sec04 .l-grid-three {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.sec04 .l-grid-three::after {
    display: block;
    width: calc((100% - 4rem) / 3);
    content: "";
}

.sec04 .column-small {
    display: block;
    width: calc((100% - 4rem) / 3);
    margin: 0 0 2rem 0;
    background: #fff;
    border: 3px solid #fdf0cd;
    border-radius: 2.4rem;
}

.sec04 .m-title02 {
    display: flex;
    align-items: center;
    margin: 0 0 2rem 0;
    padding: 1.5rem;
    background: #f39c26;
    border-radius: 2.4rem 2.4rem 2.4rem 0;
    color: #fff;
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
}

.sec04 .m-title02 a {
    display: block;
    width: 100%;
    padding: 0 2.4rem 0 0;
    background: url(img/arrow-01-wht-right.svg) no-repeat right center;
    background-size: 18px auto;
    color: inherit;
    text-decoration: none;
}

.sec04 .column-small table {
    margin: 2rem 0 0 0;
}

.sec04 .column-small table th {
    width: 10rem;
    padding: 0.8rem;
    background: #f6f5f4;
    text-align: center;
}

.sec04 .column-small table td {
    padding: 0.8rem;
    font-size: 1.5rem;
}

.sec04 .column-small .btn-link {
    margin: 2rem 0 0.5rem 0;
}

.sec04 .acc-more-btn {
    margin: 0 auto;
}

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

    .sec04 {
        padding: 5rem 0 0 0;
    }

    .sec04 .l-grid-three {
        display: block;
    }

    .sec04 .l-grid-three::after {
        display: none;
        content: none;
    }

    .sec04 .column-small {
        width: 100%;
        margin: 0 0 3rem 0;
    }

    .sec04 .m-title02 {
        font-size: 2rem;
    }

    .sec04 .column-small .btn-link {
        margin: 2rem auto 0.5rem auto;
    }

}


/*--------------------------------------
sec05
---------------------------------------*/
.sec05 {
    padding: 5rem 0;
    background: url(img/sec05-bg-01.png) no-repeat left top, url(img/sec05-bg-02.png) no-repeat right bottom;
}

.sec05 .column-medium .fig {
    text-align: center;
}

.sec05 .column-medium p:not([class]) {
    margin: 1em 0 0 0;
}

.sec05 .title-catch {
    display: flex;
    align-items: center;
}

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

    .sec05 {
        padding: 5rem 0 0 0;
        background-size: 100% auto, 50% auto;
    }

}


/*--------------------------------------
sec06
---------------------------------------*/
.sec06 {
    position: relative;
    padding: 5rem 0;
}

.sec06::before {
  position: absolute;
    left: 0;
    top: 36%;
    width: 100%;
  height: 100%;
    background: url(img/sec06-bg-01.jpg) no-repeat left top;
    background-size: contain;
    content: "";
    pointer-events: none;
    z-index: -2;
}

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

    .sec06 {
        padding: 0 0 5rem 0;
    }

    .sec06::before {
        top: 20%;
    }

    .sec06 .l-stack-large {
        gap: var(--s4);
    }

    .sec06 .acc-more-btn {
        margin: 0 auto;
    }

}


/*--------------------------------------
sec07
---------------------------------------*/
.sec07 {
    padding: 5rem 0;
    background: url(img/sec07-bg-01.jpg) no-repeat left top;
    background-size: 35%;
}