@charset "utf-8";
/* CSS Document */


div#wrapcont .my-animation-item.my-animation-item-fadeUp {
    transform-origin: center;
    transform: translateY(100px);
    opacity: 0;
}
div#wrapcont .my-animation-item.my-animation-item-fadeUp.anime-active {
    animation-name: my_animation_fadeUp;
    animation-duration: 1.5s;
    animation-timing-function: ease;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
    animation-delay: 0s;
}
@keyframes my_animation_fadeUp {
    0% {
        opacity: 0;
        transform: translateY(100px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

div#wrapcont .my-animation-item.my-animation-item-fadeLeft {
    transform-origin: center;
    transform: translateX(100px);
    opacity: 0;
}
div#wrapcont .my-animation-item.my-animation-item-fadeLeft.anime-active {
    animation-name: my_animation_fadeLeft;
    animation-duration: 1.5s;
    animation-timing-function: ease;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
    animation-delay: 0s;
}
@keyframes my_animation_fadeLeft {
    0% {
        opacity: 0;
        transform: translateX(100px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

div#wrapcont .my-animation-item.my-animation-item-fadeRight {
    transform-origin: center;
    transform: translateX(-100px);
    opacity: 0;
}
div#wrapcont .my-animation-item.my-animation-item-fadeRight.anime-active {
    animation-name: my_animation_fadeRight;
    animation-duration: 1.5s;
    animation-timing-function: ease;
    animation-iteration-count: 1;
    animation-direction: normal;
    animation-fill-mode: both;
    animation-play-state: running;
    animation-delay: 0s;
}
@keyframes my_animation_fadeRight {
    0% {
        opacity: 0;
        transform: translateX(-100px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}


div#wrapcont {
    --site-theme-color1: #00a0e9;
    --site-txt-color1: #464646;
    --sp-fixed-header-h: 60px;
}
div#wrapcont *:not(br) {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    color: var(--site-txt-color1);
    letter-spacing: 0.05em;
}
@media screen and (max-width: 640px) {
    div#wrapcont {
        padding-top: var(--sp-fixed-header-h)!important;
    }
}


div#wrapcont .wpcf7-spinner {
    display: none!important;
}


div#wrapcont a.cmn__link_tel {
    pointer-events: none;
}
@media screen and (max-width: 640px) {
    div#wrapcont a.cmn__link_tel {
        pointer-events: auto;
    }
}


div#wrapcont br.cmn__sponly {
    display: none;
}
@media screen and (max-width: 640px) {
    div#wrapcont br.cmn__sponly {
        display: block;
    }
    div#wrapcont br.cmn__pconly {
        display: none;
    }
}


div#wrapcont .cmn__txt-notice {
    position: relative;
    padding-left: calc( 1em + 0.25em );
}
div#wrapcont .cmn__txt-notice::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    content: '\203b';
    color: inherit;
    font-weight: inherit;
    font-family: inherit;
}


div#wrapcont ruby:nth-child(n+2) {
    margin-left: 1em;
}
div#wrapcont ruby rt {
    transform: translateY(-0.5em);
    line-height: 1;
}
div#wrapcont ruby rb {
    line-height: 1;
}


@media print {
}


/* ----------------------------------------
* 共通レイアウト
---------------------------------------- */
div#wrapcont h3.cmn__type1 {
    text-align: center;
    margin-bottom: 100px;
}
div#wrapcont h3.cmn__type1.left {
    width: fit-content;
    max-width: 100%;
}
div#wrapcont h3.cmn__type1 .r-sub {
    font-weight: 500;
    color: #0097e0;
    font-size: 1.25em;
}
div#wrapcont h3.cmn__type1 .r-main {
    margin-top: 12px;
    font-size: 1.6em;
    font-weight: 500;
    line-height: 1.35;
}
@media screen and (max-width: 500px) {
    div#wrapcont h3.cmn__type1 {
        margin-bottom: 50px;
    }
    div#wrapcont h3.cmn__type1 .r-main {
        margin-top: 5px;
        font-size: 1.4em;
    }
}


div#wrapcont h4.cmn__type1 {
    width: 135px;
    margin-inline: auto;
    background-color: #00a0e9;
    border-radius: 1000px 1000px 0 0;
    text-align: center;
    margin-bottom: 50px;
    overflow: hidden;
    padding: 15px 5px 5px 5px;
}
div#wrapcont h4.cmn__type1:not(:first-of-type) {
    margin-top: 100px;
}
div#wrapcont h4.cmn__type1 .r-icon img {
    height: 75px;
}
div#wrapcont h4.cmn__type1 .r-txt {
    margin-top: 5px;
    color: #ffffff;
    font-size: 1.15em;
}
@media screen and (max-width: 500px) {
    div#wrapcont h4.cmn__type1 {
        width: 120px;
        margin-bottom: 30px;
    }
    div#wrapcont h4.cmn__type1:not(:first-child) {
        margin-top: 50px;
    }
    div#wrapcont h4.cmn__type1 .r-icon img {
        height: 50px;
    }
}


div#wrapcont h4.cmn__type2 {
    width: 300px;
    max-width: 100%;
    margin-inline: auto;
    border-radius: 15px 15px 0 0;
    text-align: center;
    overflow: hidden;
    padding: 0.5em;
    position: relative;
    font-size: 1.3em;
}
div#wrapcont h4.cmn__type2.w1 {
    width: 350px;
}
div#wrapcont h4.cmn__type2 .r-bg {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    width: 100vw;
    height: 100%;/* js調整  */
    background: linear-gradient(60deg,  rgba(0,151,224,1) 0%,rgba(140,198,109,1) 100%);
    transform: translateX(-50%);
    transform-origin: center;
    content: '';
    opacity: 0.15;
    max-width: unset;
}
div#wrapcont h4.cmn__type2 .r-txt {
    position: relative;
    z-index: 2;
    font-weight: 500;
    letter-spacing: 0.15em;
    text-indent: 0.15em;
}
@media screen and (max-width: 500px) {
    div#wrapcont h4.cmn__type2 {
        width: 250px;
        font-size: 1.2em;
    }
}


div#wrapcont h4.cmn__type3 {
    text-align: center;
    position: relative;
    padding-left: 1.5em;
    padding-right: 1.5em;
    color: #0097e0;
    font-weight: 500;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    font-size: 1.5em;
    margin-bottom: 50px;
}
div#wrapcont h4.cmn__type3::before,
div#wrapcont h4.cmn__type3::after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    content: '～';
    color: inherit;
    font-weight: inherit;
    line-height: inherit;
}
div#wrapcont h4.cmn__type3::before {
    left: 0;
}
div#wrapcont h4.cmn__type3::after {
    right: 0;
}
div#wrapcont h4.cmn__type3 br.bk1 {
    display: none;
}
@media screen and (max-width: 500px) {
    div#wrapcont h4.cmn__type3 {
        font-size: 1.35em;
    }
    div#wrapcont h4.cmn__type3 br.bk1 {
        display: block;
    }
}


div#wrapcont h5.cmn__type1 {
    font-weight: 700;
    margin-bottom: 50px;
    font-size: 1.35em;
    text-align: center;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
}
@media screen and (max-width: 500px) {
    div#wrapcont h5.cmn__type1 {
        margin-bottom: 30px;
    }
}


div#wrapcont h5.cmn__type2 {
    font-weight: 600;
    position: relative;
    width: fit-content;
    max-width: calc(100% - 50px);
    min-width: 200px;
    margin-inline: auto;
    overflow: hidden;
    font-size: 1.25em;
    text-align: center;
    padding: 0.75em 1.5em;
    border-radius: 10px 10px 0 0;
}
div#wrapcont h5.cmn__type2 .r-bg {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
    width: 1000px;/* js調整  */
    height: 1000px;/* js調整  */
    content: '';
    opacity: 0.2;
    background: linear-gradient(45deg,  rgba(0,151,224,1) 0%,rgba(255,255,255,1) 50%,rgba(140,198,109,1) 100%);
    max-width: unset;
}
div#wrapcont h5.cmn__type2 .r-txt {
    position: relative;
    z-index: 2;
    font-weight: 500;
}


div#wrapcont h5.cmn__type3 {
    width: min(100%, 1010px);
    margin-inline: auto;
    background-color: #FCE0B7;
    font-size: 1.5em;
    font-weight: 500;
    padding: 10px 30px;
    border-top: 3px solid #f9c270;
    margin-bottom: 50px;
}
@media screen and (max-width: 500px) {
    div#wrapcont h5.cmn__type3 {
        margin-bottom: 30px;
    }
}


div#wrapcont .cmn__mainclm1 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 30px 0;
}
div#wrapcont .cmn__mainclm1 > * {
    max-width: 100%;
}
div#wrapcont .cmn__mainclm1 .row_item1 {
    width: calc(100% - 15px - 300px);
}
div#wrapcont .cmn__mainclm1 .row_item1 .r-head {
    background-image: url('../images/common/border_dash_orange.png');
    background-size: 6px auto;
    background-repeat: repeat-x;
    background-position: left bottom;
    font-weight: 700;
    font-size: 1.2em;
    margin-bottom: 0.5em;
    padding: 0 0.5em 0.5em 0.5em;
}
div#wrapcont .cmn__mainclm1 .row_item1 .r-body {
    padding-right: calc(50px - 15px);
}
div#wrapcont .cmn__mainclm1 .row_item1 .r-body > p {
    line-height: 1.75;
}
div#wrapcont .cmn__mainclm1 .row_item1 .r-body > p:nth-child(n+2) {
    margin-top: 1em;
}
div#wrapcont .cmn__mainclm1 .row_item2 {
    width: 300px;
}
div#wrapcont .cmn__mainclm1 .row_item2 img {
    border-radius: 15px;
}
@media screen and (max-width: 750px) {
    div#wrapcont .cmn__mainclm1 {
        width: 550px;
        max-width: 100%;
        margin-inline: auto;
        flex-direction: column;
        align-items: center;
    }
    div#wrapcont .cmn__mainclm1 .row_item1 {
        width: fit-content;
    }
    div#wrapcont .cmn__mainclm1 .row_item1 .r-body {
        padding-right: 0;
    }
}
@media screen and (max-width: 500px) {
    div#wrapcont .cmn__mainclm1 .row_item1 .r-head {
        font-size: 1.15em;
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 1em;
    }
    div#wrapcont .cmn__mainclm1 .row_item2 {
        width: 230px;
    }
}


div#wrapcont .cmn__mainclm2 {
    position: relative;
}
div#wrapcont .cmn__mainclm2 .row_item1 img {
    width: 560px;
    max-width: 100%;
}
div#wrapcont .cmn__mainclm2 table.row_item2 {
    width: 550px;
    max-width: 100%;
    margin-top: 15px;
}
div#wrapcont .cmn__mainclm2 table.row_item2 *:not(br) {
    font-weight: 500;
    line-height: 1.35;
}
div#wrapcont .cmn__mainclm2 table.row_item2 :is(th,td) {
    vertical-align: middle;
    text-align: center;
    padding: 0.6em 0;
    border-bottom: 2px solid #c9c9c9;
}
div#wrapcont .cmn__mainclm2 table.row_item2 th {
    width: 8em;
}
div#wrapcont .cmn__mainclm2 table.row_item2 td.space {
    width: 1em;
}
div#wrapcont .cmn__mainclm2 table.row_item2 tbody tr:nth-child(odd) {
    --table-item-color: #0097e0;
}
div#wrapcont .cmn__mainclm2 table.row_item2 tbody tr:nth-child(even) {
    --table-item-color: #8cc66d;
}
div#wrapcont .cmn__mainclm2 table.row_item2 tbody th,
div#wrapcont .cmn__mainclm2 table.row_item2 tbody th * {
    color: var(--table-item-color);
}
div#wrapcont .cmn__mainclm2 table.row_item2 tbody td {
    position: relative;
}
div#wrapcont .cmn__mainclm2 table.row_item2 tbody td i {
    background-color: var(--table-item-color);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
    content: '';
    transform: translate(-50%,-50%);
    transform-origin: center;
    display: block;
}
div#wrapcont .cmn__mainclm2 table.row_item2 tbody td i.circle {
    width: 1em;
    aspect-ratio: 1;
    border-radius: 50%;
}
div#wrapcont .cmn__mainclm2 table.row_item2 tbody td i.triangle {
    width: 1.15em;
    aspect-ratio: 17.661 / 15.3848;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}
div#wrapcont .cmn__mainclm2 table.row_item2 tbody td i.dash {
    width: 1em;
    height: 2px;
}
div#wrapcont .cmn__mainclm2 ul.row_item3 {
    margin-top: 10px;
}
div#wrapcont .cmn__mainclm2 ul.row_item3 > li {
    position: relative;
    padding-left: 1em;
}
div#wrapcont .cmn__mainclm2 ul.row_item3 > li::before {
    position: absolute;
    top: 0.4em;
    left: 0;
    z-index: 1;
    width: 0.7em;
    aspect-ratio: 1;
    transform: rotate(45deg);
    transform-origin: center;
    background-color: var(--site-txt-color1);
    content: '';
}
div#wrapcont .cmn__mainclm2 ul.row_item4 {
    margin-top: 30px;
}
div#wrapcont .cmn__mainclm2 ul.row_item4 > li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0 15px;
}
div#wrapcont .cmn__mainclm2 ul.row_item4 > li:nth-child(n+2) {
    margin-top: 15px;
}
div#wrapcont .cmn__mainclm2 ul.row_item4 > li > * {
    min-height: 50px;
}
div#wrapcont .cmn__mainclm2 ul.row_item4 > li .r-head {
    border-radius: 1000px;
    line-height: 1;
    width: 120px;
    color: #ffffff;
    letter-spacing: 0.15em;
    text-indent: 0.15em;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 0.1em;
    background-color: #89cff1;
    font-weight: 500;
}
div#wrapcont .cmn__mainclm2 ul.row_item4 > li .r-body {
    width: calc(100% - 15px - 120px);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
}
div#wrapcont .cmn__mainclm2 ul.row_item4 > li .r-body > p {
    line-height: 1.4;
}
div#wrapcont .cmn__mainclm2 ul.row_item4 > li .r-body .emp {
    font-size: 1.25em;
}
div#wrapcont .cmn__mainclm2 ul.row_item4 > li .r-body a.tel {
    font-size: 1.75em;
    color: #0097e0;
    text-decoration: none;
    font-weight: 500;
}
div#wrapcont .cmn__mainclm2 .row_item5 {
    width: 480px;
    max-width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
}
div#wrapcont .cmn__mainclm2 .row_item5 .r-img {
    padding: 15px;
    border-radius: 5px;
    border: 8px solid #89cff1;
}
div#wrapcont .cmn__mainclm2 .row_item5 .r-btn {
    margin-top: 20px;
    text-align: center;
}
@media screen and (max-width: 1200px) {
    div#wrapcont .cmn__mainclm2 {
        width: fit-content;
        margin-inline: auto;
    }
    div#wrapcont .cmn__mainclm2 > * {
        width: fit-content;
        max-width: 100%;
        margin-inline: auto;
    }
    div#wrapcont .cmn__mainclm2 ul.row_item3 > li br.bk1 {
        display: none;
    }
    div#wrapcont .cmn__mainclm2 .row_item5 {
        position: static;
        margin-top: 50px;
    }
}
@media screen and (max-width: 500px) {
    div#wrapcont .cmn__mainclm2 .row_item1 img {
        width: 280px;
    }
    div#wrapcont .cmn__mainclm2 table.row_item2 {
        margin-top: 30px;
        font-size: 0.9em;
        width: 100%;
    }
    div#wrapcont .cmn__mainclm2 table.row_item2 td.space {
        display: none;
    }
    div#wrapcont .cmn__mainclm2 ul.row_item4 > li > * {
        min-height: 30px;
    }
    div#wrapcont .cmn__mainclm2 ul.row_item4 > li .r-head {
        width: 80px;
    }
    div#wrapcont .cmn__mainclm2 ul.row_item4 > li .r-body {
        width: calc(100% - 15px - 80px);
    }
    div#wrapcont .cmn__mainclm2 ul.row_item4 > li .r-body .emp {
        font-size: 1em;
    }
    div#wrapcont .cmn__mainclm2 ul.row_item4 > li .r-body a.tel {
        font-size: 1.5em;
    }
    div#wrapcont .cmn__mainclm2 .row_item5 {
        margin-top: 30px;
    }
    div#wrapcont .cmn__mainclm2 .row_item5 .r-img {
        padding: 0;
        border: 4px solid #89cff1;
        overflow: hidden;
    }
    div#wrapcont .cmn__mainclm2 .row_item5 .r-btn {
        margin-top: 15px;
    }
}


div#wrapcont .cmn__mainclm3 {
    position: relative;
    width: min(100%, 1000px);
    margin-inline: auto;
    padding: 80px 30px;
    background-color: #ffffff;
    overflow: hidden;
}
div#wrapcont .cmn__mainclm3:not(.bg-expand)::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    content: '';
    width: 100%;
    height: 100%;
    opacity: 0.2;
    background: linear-gradient(45deg,  rgba(0,151,224,1) 0%,rgba(255,255,255,1) 50%,rgba(140,198,109,1) 100%);
}
div#wrapcont .cmn__mainclm3.bg-expand .r-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;/* js調整  */
    opacity: 0.2;
    background: linear-gradient(45deg,  rgba(0,151,224,1) 0%,rgba(255,255,255,1) 50%,rgba(140,198,109,1) 100%);
}
div#wrapcont .cmn__mainclm3 > .inner {
    width: min(100%, 850px);
    margin-inline: auto;
    position: relative;
    z-index: 2;
}
div#wrapcont .cmn__mainclm3 .row_item1 {
    width: min(100%, 800px);
    margin-inline: auto;
}
div#wrapcont .cmn__mainclm3 .row_item1 > p {
    line-height: 2;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 {
    margin-top: 80px;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dt {
    font-size: 1.35em;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    padding-bottom: 0.25em;
    font-weight: 500;
    border-bottom: 2px solid #00a0e9;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dt:nth-of-type(n+2) {
    margin-top: 80px;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd {
    margin-top: 50px;
    text-align: center;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1 {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0.75em 2em;
    flex-wrap: wrap;
    margin-inline: auto;
    max-width: 100%;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type1 {
    width: calc(9em + 2em + 8em + 2em + 8em + 2em + 9em);
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1 > li {
    text-align: left;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1 > li.txt-etc {
    width: 100%!important;
    text-align: right;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type1 > li:nth-child(4n-3) {
    width: 9em;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type1 > li:nth-child(4n-2) {
    width: 8em;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type1 > li:nth-child(4n-1) {
    width: 8em;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type1 > li:nth-child(4n) {
    width: 9em;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type2 {
    width: calc(18em + 2em + 16em + 2em + 7em);
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type2 > li:nth-child(3n-2) {
    width: 18em;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type2 > li:nth-child(3n-1) {
    width: 16em;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type2 > li:nth-child(3n) {
    width: 7em;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type3 {
    width: calc(20em + 2em + 7em);
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type3 > li:nth-child(2n-1) {
    width: 20em;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type3 > li:nth-child(2n) {
    width: 7em;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type4 {
    width: calc(7em + 2em + 6em + 2em + 7em);
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type4 > li:nth-child(3n-2) {
    width: 7em;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type4 > li:nth-child(3n-1) {
    width: 6em;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type4 > li:nth-child(3n) {
    width: 7em;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1 > li:not(.txt-etc) {
    padding-left: calc(1.5em + 0.75em);
    background-image: url('../images/common/pict_check_blue.svg');
    background-size: 1.5em auto;
    background-repeat: no-repeat;
    background-position: left top;
    text-align: left;
    font-weight: 500;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list2 {
    width: min(100%, 800px);
    margin-inline: auto;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    border-left: 1px solid #464646;
    border-top: 1px solid #464646;
}
div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list2 > li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    padding: 0.5em 1.5em;
    background-color: #ffffff;
    border-right: 1px solid #464646;
    border-bottom: 1px solid #464646;
    width: 50%;
    font-weight: 500;
    text-align: left;
}
@media screen and (max-width: 900px) {
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type1 {
        width: calc(9em + 2em + 9em + 2em + 9em);
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type1 > li:nth-child(3n-2) {
        width: 9em;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type1 > li:nth-child(3n-1) {
        width: 9em;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type1 > li:nth-child(3n) {
        width: 9em;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type2 {
        width: calc(18em + 2em + 16em);
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type2 > li:nth-of-type(2n-1) {
        width: 18em;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type2 > li:nth-of-type(2n) {
        width: 16em;
    }
}
@media screen and (max-width: 750px) {
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type2 {
        width: 18em;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type2 > li {
        width: 18em!important;
    }
}
@media screen and (max-width: 640px) {
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type1 {
        width: calc(9em + 2em + 9em);
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type1 > li:nth-child(2n-1) {
        width: 9em;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type1 > li:nth-child(2n) {
        width: 9em;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type3 {
        width: 20em;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type3 > li {
        width: 20em!important;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type4 {
        width: calc(7em + 2em + 7em);
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type4 > li:nth-child(2n-1) {
        width: 7em;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list1.type4 > li:nth-child(2n) {
        width: 7em;
    }
}
@media screen and (max-width: 500px) {
    div#wrapcont .cmn__mainclm3 {
        padding: 50px 30px;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 {
        margin-top: 50px;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dt {
        font-size: 1.25em;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dt:nth-of-type(n+2) {
        margin-top: 50px;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd {
        margin-top: 30px;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list2 {
        flex-direction: column;
    }
    div#wrapcont .cmn__mainclm3 dl.row_item2 > dd ul.r-list2 > li {
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}


div#wrapcont .cmn__mainclm4 {
    position: relative;
    padding-top: 50px;
    padding-bottom: 50px;
}
div#wrapcont .cmn__mainclm4::before {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;
    content: '';
    background: linear-gradient(65deg,  rgba(0,151,224,1) 0%,rgba(255,255,255,1) 50%,rgba(249,214,95,1) 100%);
    opacity: 0.4;
}
div#wrapcont .cmn__mainclm4.mt1 {
    margin-top: 80px;
}
div#wrapcont .cmn__mainclm4 > * {
    position: relative;
    z-index: 2;
    width: min(100%,1000px);
    margin-inline: auto;
}
div#wrapcont .cmn__mainclm4 .row_item1 {
    text-align: center;
    line-height: 1.75;
}
div#wrapcont .cmn__mainclm4 ul.row_item2 {
    margin-top: 50px;
}
div#wrapcont .cmn__mainclm4 ul.row_item2 > li {
    background-color: #ffffff;
    padding: 50px 30px;
}
div#wrapcont .cmn__mainclm4 ul.row_item2 > li:nth-child(n+2) {
    margin-top: 50px;
}
div#wrapcont .cmn__mainclm4 ul.row_item2 > li .r-title {
    font-size: 1.5em;
    font-weight: 500;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    text-decoration: underline;
    text-decoration-color: #00a0e9;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.3em;
    margin-bottom: 30px;
    line-height: 1.75;
}
div#wrapcont .cmn__mainclm4 ul.row_item2 > li .r-item1 {
    text-align: center;
    line-height: 2;
}
div#wrapcont .cmn__mainclm4 ul.row_item2 > li .r-item1 a {
    text-decoration: underline;
}
div#wrapcont .cmn__mainclm4 ul.row_item2 > li .r-item2 {
    text-align: center;
    margin-top: 30px;
}
div#wrapcont .cmn__mainclm4 ul.row_item2 > li .r-item2 img {
    width: 330px;
    max-width: 100%;
}
div#wrapcont .cmn__mainclm4 ul.row_item2 > li .r-item2_btm {
    text-align: center;
    margin-top: 5px;
}
div#wrapcont .cmn__mainclm4 .row_item3 {
    padding: 80px 30px;
    background-color: #ffffff;
}
div#wrapcont .cmn__mainclm4 .row_item3 > .inner {
    width: min(100%, 800px);
    margin-inline: auto;
}
div#wrapcont .cmn__mainclm4 .row_item3 .r-item1 {
    line-height: 2;
}
div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 {
    margin-top: 80px;
}
div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 .marker {
    white-space: nowrap;
    font-size: 1.15em;
    font-weight: 500;
}
div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 .marker.c1 {
    background: linear-gradient(transparent 50%, rgba(137, 207, 241, 0.5) 50%);
}
div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 .marker.c2 {
    background: linear-gradient(transparent 50%, rgba(255, 220, 70, 0.5) 50%);
}
div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 .marker.c3 {
    background: linear-gradient(transparent 50%, rgba(140, 198, 109, 0.5) 50%);
}
div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 > dt {
    font-size: 1.35em;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    padding-bottom: 0.25em;
    font-weight: 500;
    border-bottom: 2px solid #00a0e9;
}
div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 > dt:nth-of-type(n+2) {
    margin-top: 80px;
}
div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 > dd {
    margin-top: 30px;
    text-align: center;
}
div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 > dd p.mt1 {
    margin-top: 50px;
}
div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 > dd .r-item2-txtlist {
    margin-top: 20px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5em 1em;
}
div#wrapcont .cmn__mainclm4 .row_item3 .r-item3 {
    margin-top: 80px;
    text-align: center;
    font-weight: 500;
    font-size: 1.1em;
}
div#wrapcont .cmn__mainclm4 .row_item3 ul.r-item4 {
    margin-top: 50px;
}
div#wrapcont .cmn__mainclm4 .row_item3 ul.r-item4 > li {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0 20px;
}
div#wrapcont .cmn__mainclm4 .row_item3 ul.r-item4 > li:nth-child(n+2) {
    margin-top: 30px;
}
div#wrapcont .cmn__mainclm4 .row_item3 ul.r-item4 > li .r-head {
    width: 60px;
    aspect-ratio: 1;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    line-height: 1;
    font-weight: 900;
    color: #ffffff;
    background-color: #ffec9b;
    border-radius: 50%;
}
div#wrapcont .cmn__mainclm4 .row_item3 ul.r-item4 > li .r-body {
    align-self: center;
    width: calc(100% - 60px - 20px);
}
@media screen and (max-width: 500px) {
    div#wrapcont .cmn__mainclm4 ul.row_item2 > li {
        padding: 30px;
    }
    div#wrapcont .cmn__mainclm4 ul.row_item2 > li:nth-child(n+2) {
        margin-top: 30px;
    }
    div#wrapcont .cmn__mainclm4 ul.row_item2 > li .r-title {
        font-size: 1.25em;
    }
    div#wrapcont .cmn__mainclm4 ul.row_item2 > li .r-item2 img {
        width: 200px;
    }
    div#wrapcont .cmn__mainclm4 .row_item3 {
        padding: 30px 30px;
    }
    div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 {
        margin-top: 50px;
    }
    div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 > dt {
        font-size: 1.25em;
    }
    div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 > dt:nth-of-type(n+2) {
        margin-top: 50px;
    }
    div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 > dd {
        margin-top: 20px;
    }
    div#wrapcont .cmn__mainclm4 .row_item3 dl.r-item2 > dd p.mt1 {
        margin-top: 30px;
    }
    div#wrapcont .cmn__mainclm4 .row_item3 .r-item3 {
        margin-top: 50px;
    }
    div#wrapcont .cmn__mainclm4 .row_item3 ul.r-item4 {
        margin-top: 30px;
    }
    div#wrapcont .cmn__mainclm4 .row_item3 ul.r-item4 > li {
        gap: 0 15px;
    }
    div#wrapcont .cmn__mainclm4 .row_item3 ul.r-item4 > li:nth-child(n+2) {
        margin-top: 20px;
    }
    div#wrapcont .cmn__mainclm4 .row_item3 ul.r-item4 > li .r-head {
        width: 60px;
    }
}


div#wrapcont .cmn__row_item1 {
    position: relative;
    width: 100vw;
    margin-left: 50%;
    transform: translateX(-50%);
    max-width: unset;
    padding: 50px 15px;
    overflow: hidden;
}
div#wrapcont .cmn__row_item1 .r-bg {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;/* js調整  */
    background: linear-gradient(60deg,  rgba(0,151,224,1) 0%,rgba(140,198,109,1) 100%);
    opacity: 0.15;
    z-index: 1;
}
div#wrapcont .cmn__row_item1 .r-bg ~ * {
    position: relative;
    z-index: 2;
}
@media screen and (max-width: 500px) {
    div#wrapcont .cmn__row_item1 {
        padding: 30px 15px;
    }
}


div#wrapcont .cmn__row_item2 {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: stretch;
    gap: 80px 50px;
}
div#wrapcont .cmn__row_item2 > li {
    border-radius: 20px 20px 0 0;
    overflow: hidden;
    width: calc( ( 100% / 3 ) - ( ( 50px * 2 ) / 3 ) );
    background-color: #89cff1;
}
div#wrapcont .cmn__row_item2 > li .r-img {
    height: 250px;
    overflow: hidden;
}
div#wrapcont .cmn__row_item2 > li .r-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
div#wrapcont .cmn__row_item2 > li .r-dtl {
    position: relative;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    height: calc(100% - 250px);
}
div#wrapcont .cmn__row_item2 > li .r-dtl .r-dtl-num {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    height: 64px;
    transform: translate(0,calc(-100% + 10px));
}
div#wrapcont .cmn__row_item2 > li .r-dtl .r-dtl-num img {
    height: 100%;
    filter: drop-shadow(0 0 4px rgba(0,0,0,0.5));
}
div#wrapcont .cmn__row_item2 > li .r-dtl .r-dtl-txt {
    font-size: 1.3em;
    font-weight: 500;
    line-height: 1.4;
}
div#wrapcont .cmn__row_item2 > li .r-dtl .r-dtl-txt2 {
    margin-top: 10px;
    line-height: 1.65;
    font-size: 0.925em;
}
div#wrapcont .cmn__row_item2 > li .r-dtl .r-dtl-btn {
    margin-top: auto;
    padding-top: 20px;
    text-align: center;
    width: 100%;
}
@media screen and (max-width: 1200px) {
    div#wrapcont .cmn__row_item2 {
        gap: 40px 40px;
    }
    div#wrapcont .cmn__row_item2 > li {
        width: calc( ( 100% / 3 ) - ( ( 40px * 2 ) / 3 ) );
    }
}
@media screen and (max-width: 1000px) {
    div#wrapcont .cmn__row_item2 {
        width: min(100%, 750px);
        margin-inline: auto;
    }
    div#wrapcont .cmn__row_item2 > li {
        width: calc( ( 100% / 2 ) - ( ( 40px * 1 ) / 2 ) );
    }
}
@media screen and (max-width: 750px) {
    div#wrapcont .cmn__row_item2 {
        gap: 30px 20px;
    }
    div#wrapcont .cmn__row_item2 > li {
        width: calc( ( 100% / 2 ) - ( ( 20px * 1 ) / 2 ) );
    }
}
@media screen and (max-width: 640px) {
    div#wrapcont .cmn__row_item2 {
        width: min(100%, 500px);
        gap: 30px 0;
    }
    div#wrapcont .cmn__row_item2 > li {
        width: 100%;
    }
}
@media screen and (max-width: 500px) {
    div#wrapcont .cmn__row_item2 {
        gap: 20px 0;
    }
    div#wrapcont .cmn__row_item2 > li .r-dtl .r-dtl-txt2 {
        font-size: 1em;
    }
}


div#wrapcont ol.cmn__row_item3 {
    width: min(100%, 1010px);
    margin-inline: auto;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    gap: 50px 50px;
    flex-wrap: wrap;
    counter-reset: number 0;
}
div#wrapcont ol.cmn__row_item3 > li {
    position: relative;
    background-color: #FCE0B7;
    border-radius: 10px;
    padding: 20px;
    width: calc( ( 100% / 3 ) - ( ( 50px * 2 ) / 3 ) );
}
div#wrapcont ol.cmn__row_item3 > li::before {
    position: absolute;
    top: 0;
    right: 100%;
    z-index: 1;
    content: '';
    width: 50px;
    height: 100%;
    background-image: url('../images/endoscopy_i_flow_border_h.svg');
    background-size: calc(100% - 10px - 10px) auto;
    background-repeat: no-repeat;
    background-position: center;
}
div#wrapcont ol.cmn__row_item3 > li:first-child::before,
div#wrapcont ol.cmn__row_item3 > li:nth-child(3n+1)::before {
    display: none;
}
div#wrapcont ol.cmn__row_item3 > li::after {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;
    content: '';
    width: 100%;
    height: 50px;
    background-image: url('../images/endoscopy_i_flow_border_v.svg');
    background-size: auto calc(100% - 10px - 10px);
    background-repeat: no-repeat;
    background-position: center;
    display: none;
}
div#wrapcont ol.cmn__row_item3 > li dl.r-list {
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
}
div#wrapcont ol.cmn__row_item3 > li dl.r-list > dt {
    position: relative;
    padding-left: calc((1.5em * 1.5) + 0.5em);
    font-weight: 600;
    font-size: 1.1em;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    min-height: calc(1.5em * 1.5);
}
div#wrapcont ol.cmn__row_item3 > li dl.r-list > dt::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    counter-increment: number 1;
    content: counter(number);
    color: #ffffff;
    font-size: 1.5em;
    text-align: center;
    width: 1.5em;
    border-radius: 50%;
    aspect-ratio: 1;
    background-color: #00a0e9;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    line-height: 1;
}
div#wrapcont ol.cmn__row_item3 > li dl.r-list > dd {
    align-self: center;
    margin-top: 5px;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    flex-wrap: nowrap;
}
div#wrapcont ol.cmn__row_item3 > li dl.r-list > dd ul.r-list-list {
    font-size: 0.95em;
}
div#wrapcont ol.cmn__row_item3 > li dl.r-list > dd ul.r-list-list > li {
    position: relative;
    padding-left: calc(0.75em + 0.5em);
    min-height: 1.5em;
}
div#wrapcont ol.cmn__row_item3 > li dl.r-list > dd ul.r-list-list > li::before {
    position: absolute;
    top: 0.35em;
    left: 0;
    z-index: 1;
    width: 0.75em;
    aspect-ratio: 1;
    content: '';
    background-color: #f9c270;
    border-radius: 50%;
}
div#wrapcont ol.cmn__row_item3 > li dl.r-list > dd .r-list-img {
    margin-top: auto;
    padding-top: 15px;
    text-align: center;
    width: 100%;
}
@media screen and (max-width: 900px) {
    div#wrapcont ol.cmn__row_item3 {
        width: min(100%, 700px);
    }
    div#wrapcont ol.cmn__row_item3 > li {
        width: calc( ( 100% / 2 ) - ( ( 50px * 1 ) / 2 ) );
    }
    div#wrapcont ol.cmn__row_item3 > li:nth-child(3n+1)::before {
        display: block;
    }
    div#wrapcont ol.cmn__row_item3 > li:nth-child(2n+1)::before {
        display: none;
    }
}
@media screen and (max-width: 640px) {
    div#wrapcont ol.cmn__row_item3 > li {
        width: 100%;
    }
    div#wrapcont ol.cmn__row_item3 > li::before {
        display: none;
    }
    div#wrapcont ol.cmn__row_item3 > li:not(:last-child)::after {
        display: block;
    }
}
@media screen and (max-width: 500px) {
    div#wrapcont ol.cmn__row_item3 > li dl.r-list > dd ul.r-list-list {
        font-size: 1em;
    }
}


div#wrapcont ul.cmn__row_item4 {
    counter-reset: number 0;
}
div#wrapcont ul.cmn__row_item4 > li {
    background-color: #FDF4E6;
    padding: 30px 40px;
    border-radius: 10px;
}
div#wrapcont ul.cmn__row_item4 > li:nth-child(n+2) {
    margin-top: 30px;
}
div#wrapcont ul.cmn__row_item4 > li *:not(br) {
    line-height: 1.75;
}
div#wrapcont ul.cmn__row_item4 > li > *:nth-child(n+2) {
    margin-top: 30px;
}
div#wrapcont ul.cmn__row_item4 > li .r-head {
    position: relative;
    padding-left: 1.5em;
    /*color: #00A0E9;*/
    font-size: 1.25em;
    margin-bottom: 30px;
    padding-bottom: 5px;
    border-bottom: 2px solid currentColor;
    font-weight: 500;
}
div#wrapcont ul.cmn__row_item4 > li .r-head::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    counter-increment: number 1;
    content: counter(number) '.';
    color: inherit;
    font-weight: inherit;
    line-height: inherit;
}
div#wrapcont ul.cmn__row_item4 > li .r-txtwrap > p:nth-child(n+2) {
    margin-top: 0.75em;
}
div#wrapcont ul.cmn__row_item4 > li .r-txtwrap .bold {
    font-weight: 600;
}
div#wrapcont ul.cmn__row_item4 > li .r-txtwrap .mt1 {
    margin-top: 0.5em;
}
div#wrapcont ul.cmn__row_item4 > li .r-txtwrap .mb1 {
    margin-bottom: 0.5em;
}
div#wrapcont ul.cmn__row_item4 > li .r-txtwrap .w-head1 {
    display: inline-block;
    width: 8.5em;
    text-align: right;
    padding-right: 1em;
    position: relative;
    margin-right: 2em;
    color: inherit;
    line-height: inherit;
    font-weight: inherit;
}
div#wrapcont ul.cmn__row_item4 > li .r-txtwrap .w-head1::after {
    position: absolute;
    top: 0;
    left: 100%;
    content: '…';
    z-index: 1;
}
div#wrapcont ul.cmn__row_item4 > li .r-img1 {
    text-align: center;
    margin-top: 2em!important;
}
div#wrapcont ul.cmn__row_item4 > li .r-img1 img {
    width: 350px;
    max-width: 100%;
}
div#wrapcont ul.cmn__row_item4 > li figure.r-img2 {
    text-align: center;
    margin-top: 2em!important;
}
div#wrapcont ul.cmn__row_item4 > li figure.r-img2 img {
    width: 200px;
    max-width: 100%;
}
div#wrapcont ul.cmn__row_item4 > li figure.r-img2 figcaption {
    margin-top: 0.25em;
}
div#wrapcont ul.cmn__row_item4 > li .r-img3 {
    text-align: center;
    margin-top: 2em!important;
}
div#wrapcont ul.cmn__row_item4 > li .r-img3 img {
    width: 250px;
    max-width: 100%;
}
div#wrapcont ul.cmn__row_item4 > li .r-itemwrap {
    background-color: #ffffff;
    padding: 20px;
}
div#wrapcont ul.cmn__row_item4 > li .r-itemwrap > *:nth-child(n+2) {
    margin-top: 15px;
}
div#wrapcont ul.cmn__row_item4 > li .r-itemwrap .r-itemwrap-txt {
    display: block;
    width: fit-content;
    max-width: 100%;
    background-color: #FCE0B7;
    padding: 0.25em 1.25em;
    font-weight: 500;
    border-left: 5px solid #F7B353;
    border-right: 5px solid #F7B353;
}
div#wrapcont ul.cmn__row_item4 > li .r-itemwrap .r-itemwrap-txtwrap > p {
}
div#wrapcont ul.cmn__row_item4 > li .r-itemwrap .r-itemwrap-img {
    text-align: center;
    margin-top: 2em!important;
}
div#wrapcont ul.cmn__row_item4 > li .r-itemwrap .r-itemwrap-img img {
    width: 450px;
    max-width: 100%;
}
div#wrapcont ul.cmn__row_item4 > li .r-itemwrap dl.r-itemwrap-list > dt {
    font-weight: 500;
    padding-left: calc(1em + 0.25em);
    position: relative;
}
div#wrapcont ul.cmn__row_item4 > li .r-itemwrap dl.r-itemwrap-list > dt::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    content: '●';
    color: inherit;
    font-weight: inherit;
    line-height: inherit;
}
div#wrapcont ul.cmn__row_item4 > li .r-itemwrap dl.r-itemwrap-list > dt:nth-of-type(n+2) {
    margin-top: 15px;
}
div#wrapcont ul.cmn__row_item4 > li .r-itemwrap dl.r-itemwrap-list > dd > p {
}
div#wrapcont ul.cmn__row_item4 > li .r-btn {
    text-align: center;
}
div#wrapcont ul.cmn__row_item4 > li .r-btn a {
    box-shadow: 2px 2px 0 rgba(0,0,0,0.25);
}
@media screen and (max-width: 500px) {
    div#wrapcont ul.cmn__row_item4 > li {
        padding: 20px 20px;
    }
    div#wrapcont ul.cmn__row_item4 > li:nth-child(n+2) {
        margin-top: 20px;
    }
    div#wrapcont ul.cmn__row_item4 > li > *:nth-child(n+2) {
        margin-top: 20px;
    }
    div#wrapcont ul.cmn__row_item4 > li .r-head {
        font-size: 1.1em;
        margin-bottom: 20px;
    }
    div#wrapcont ul.cmn__row_item4 > li .r-itemwrap {
        padding: 20px;
    }
    div#wrapcont ul.cmn__row_item4 > li .r-itemwrap .r-itemwrap-txt {
        padding: 0.25em 1em;
    }
}


div#wrapcont .cmn__btn1 {
    display: inline-block;
    color: #ffffff;
    text-align: center;
    padding: 0.75em calc(1em + 1.5em + 1.5em) 0.75em 1.5em;
    background-color: #f9c270;
    text-decoration: none;
    border-radius: 1000px;
    font-weight: 500;
    background-image: url('../images/common/arrow_white.svg');
    background-size: 1.5em auto;
    background-repeat: no-repeat;
    background-position: right 1.5em top calc(50% - 0.1em);
    min-width: 200px;
}


div#wrapcont .cmn__btn2 {
    display: inline-block;
    color: #0097e0;
    text-align: center;
    padding: 0.75em calc(1em + 1.5em + 1.5em) 0.75em 1.5em;
    background-color: #ffffff;
    text-decoration: none;
    border-radius: 1000px;
    font-weight: 500;
    background-image: url('../images/common/arrow_blue.svg');
    background-size: 1.5em auto;
    background-repeat: no-repeat;
    background-position: right 1.5em top calc(50% - 0.1em);
    min-width: 200px;
}


div#wrapcont ul#fixedItem2 {
    position: fixed;
    right: 200px;
    bottom: 70px;
    z-index: 10001;
    width: fit-content;
    max-width: 100%;
    box-shadow: 3px 3px 3px rgba(0,0,0,0.6);
    display: flex;
    flex-direction: row;
    align-items: stretch;
    flex-wrap: nowrap;
    justify-content: flex-end;
    height: 50px;
    background-color: #ffffff;
    font-size: 1.4em;
    border: 2px solid #ffffff;
    background: linear-gradient(45deg,  rgba(0,151,224,1) 0%,rgba(140,198,109,1) 100%);
}
div#wrapcont ul#fixedItem2 > li {
    height: 100%;
}
div#wrapcont ul#fixedItem2 > li:nth-child(n+2) {
    border-left: 2px solid #ffffff;
}
div#wrapcont ul#fixedItem2 > li.w1 {
    width: 240px;
}
div#wrapcont ul#fixedItem2 > li.w2 {
    width: 200px;
}
div#wrapcont ul#fixedItem2 > li a {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    color: #ffffff;
    text-align: center;
    height: 100%;
    width: 100%;
    text-decoration: none;
}
div#wrapcont ul#fixedItem2 > li a .txt {
    color: inherit;
    line-height: inherit;
    font-weight: inherit;
}
div#wrapcont ul#fixedItem2 > li a .txt.sp {
    display: none;
}
div#wrapcont ul#fixedItem2 > li a *:not(br) {
    color: #ffffff;
}
div#wrapcont ul#fixedItem2 > li a p {
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
}
div#wrapcont ul#fixedItem2 > li a .head-icon {
    background-repeat: no-repeat;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
}
div#wrapcont ul#fixedItem2 > li a .head-icon img {
    margin-right: 0.5em;
}
div#wrapcont ul#fixedItem2 > li a .head-icon.type1 img {
    height: 1.35em;
}
div#wrapcont ul#fixedItem2 > li a .head-icon.type2 img {
    height: 1.25em;
}
div#wrapcont ul#fixedItem2 > li a .head-icon.type3 img {
    height: 1.25em;
}
@media screen and (max-width: 1000px) {
    div#wrapcont ul#fixedItem2 {
        height: 50px;
        font-size: 1.25em;
    }
    div#wrapcont ul#fixedItem2 > li.w1 {
        width: 200px;
    }
    div#wrapcont ul#fixedItem2 > li.w2 {
        width: 160px;
    }
}
@media screen and (max-width: 800px) {
    div#wrapcont ul#fixedItem2 > li.w1 {
        width: 60px;
    }
    div#wrapcont ul#fixedItem2 > li.w1 a .head-icon img {
        margin-right: 0;
    }
    div#wrapcont ul#fixedItem2 > li.w1 a .head-icon .txt {
        display: none;
    }
}
@media screen and (max-width: 750px) {
    div#wrapcont ul#fixedItem2 {
        bottom: 0;
        border-bottom: none;
    }
}
@media screen and (max-width: 640px) {
    div#wrapcont ul#fixedItem2 > li a .txt.pc {
        display: none;
    }
    div#wrapcont ul#fixedItem2 > li a .txt.sp {
        display: inline;
    }
    div#wrapcont ul#fixedItem2 > li.w2 {
        width: 120px;
    }
}
@media screen and (max-width: 550px) {
    div#wrapcont ul#fixedItem2 {
        font-size: 1em;
        right: auto;
        left: 5px;
    }
    div#wrapcont ul#fixedItem2 > li.w1 {
        width: 50px;
    }
    div#wrapcont ul#fixedItem2 > li.w2 {
        width: 80px;
    }
}
@media screen and (max-width: 500px) {
}


div#wrapcont #open-chatbot {
    position: fixed;
    right: 15px;
    bottom: 15px;
    width: 150px;
    z-index: 20000;
    cursor: pointer;
}
div#wrapcont #open-chatbot img {
    width: 100%;
}
@media screen and (max-width: 500px) {
    div#wrapcont #open-chatbot {
        width: 100px;
    }
}


/* ----------------------------------------
* ヘッダー
---------------------------------------- */
div#wrapcont header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    width: 100%;
    background-color: #ffffff;
    box-shadow: 0 5px 5px rgba(0,0,0,0.25);
}
div#wrapcont header > .inner {
    width: min(calc(100% - 30px),1500px);
    margin-inline: auto;
    padding-top: 15px;
    padding-bottom: 10px;
}
div#wrapcont header .line1 {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    margin-bottom: 30px;
}
div#wrapcont header .line1 h1.sitelogo {
    width: 580px;
    max-width: 100%;
}
div#wrapcont header .line1 .line1-item1 {
    width: calc(100% - 580px);
    padding-left: 50px;
}
div#wrapcont header .line1 .line1-item1 .line1-item1-txt {
    text-align: right;
}
div#wrapcont header .line1 .line1-item1 .line1-item1-txt .emp {
    display: inline-block;
    background-color: rgba(140,198,109,0.15);
    line-height: 1;
    padding: 0.35em 0.5em;
}
div#wrapcont header .line1 .line1-item1 .line1-item1-tel {
    margin-top: 15px;
    text-align: right;
}
div#wrapcont header .line1 .line1-item1 .line1-item1-tel a {
    display: inline-block;
    background-color: #0097e0;
    color: #ffffff;
    font-weight: 400;
    text-decoration: none;
    line-height: 1;
    padding: 0.25em 0.5em;
    font-size: 1.5em;
}
div#wrapcont header .line1 .line1-item1 .line1-item1-tel img {
    width: 240px;
    max-width: 100%;
}
div#wrapcont header .line2 nav.gnavi {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px 0;
}
div#wrapcont header .line2 nav.gnavi > .gnavi-item {
    display: inline-block;
    position: relative;
}
div#wrapcont header .line2 nav.gnavi > .gnavi-item > a {
    display: inline-block;
    padding-right: 30px;
    padding-left: 30px;
}
div#wrapcont header .line2 nav.gnavi > .gnavi-item > a .icon {
    width: 30px;
    height: 30px;
    text-align: center;
    margin-inline: auto;
}
div#wrapcont header .line2 nav.gnavi > .gnavi-item > a .icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
div#wrapcont header .line2 nav.gnavi > .gnavi-item > a .txt {
    margin-top: 5px;
}
div#wrapcont header .line2 nav.gnavi > .gnavi-item > ul.lev2 {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
    background-color: rgba(255,255,255,0.75);
    width: fit-content;
    max-width: none;
    display: none;
    padding-top: 15px;
}
div#wrapcont header .line2 nav.gnavi > .gnavi-item > ul.lev2.w1 {
    width: 310px;
}
div#wrapcont header .line2 nav.gnavi > .gnavi-item > ul.lev2.w2 {
    width: 180px;
}
div#wrapcont header .line2 nav.gnavi > .gnavi-item > ul.lev2.w3 {
    width: 310px;
}
div#wrapcont header .line2 nav.gnavi > .gnavi-item > ul.lev2.w4 {
    width: 240px;
}
div#wrapcont header .line2 nav.gnavi > .gnavi-item > ul.lev2 > li:not(:first-child) {
    border-top: 1px solid #ffffff;
}
div#wrapcont header .line2 nav.gnavi > .gnavi-item > ul.lev2 > li a {
    display: block;
    padding: 0.75em calc(0.75em + 1.25em + 0.75em) 0.75em 1em;
    background-image: url('../images/common/arrow_blue.svg');
    background-size: 1.25em auto;
    background-repeat: no-repeat;
    background-position: right 0.75em top calc(50% - 0.1em);
}
@media screen and (max-width: 1200px) {
    div#wrapcont header .line1 h1.sitelogo {
        width: 400px;
    }
    div#wrapcont header .line1 .line1-item1 {
        width: calc(100% - 400px);
    }
    div#wrapcont header .line2 nav.gnavi > .gnavi-item > ul.lev2 {
        background-color: rgba(255,255,255,0.9);
    }
}
@media screen and (max-width: 900px) {
    div#wrapcont header .line1 h1.sitelogo {
        width: 300px;
    }
    div#wrapcont header .line1 .line1-item1 {
        width: calc(100% - 300px);
    }
    div#wrapcont header .line1 .line1-item1 .line1-item1-txt {
        display: none;
    }
    div#wrapcont header .line1 .line1-item1 .line1-item1-tel {
        margin-top: 0;
        font-size: 1.25em;
    }
    div#wrapcont header .line2 nav.gnavi > .gnavi-item > a {
        padding-right: 15px;
        padding-left: 15px;
    }
}
@media screen and (max-width: 640px) {
    div#wrapcont header {
        display: none!important;
    }
}


div#wrapcont header.scrolled .line1 {
    display: none;
}


/* ----------------------------------------
* SPヘッダー、SPナビ
---------------------------------------- */
div#wrapcont #spHeader {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
    background-color: #ffffff;
    border-bottom: 2px solid var(--site-theme-color1);
    box-shadow: 0 5px 5px rgba(0,0,0,0.25);
    height: var(--sp-fixed-header-h);
}
div#wrapcont #spHeader .clm1 {
    height: var(--sp-fixed-header-h);
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: nowrap;
}
div#wrapcont #spHeader .clm1 > .child.logo {
    width: calc(100% - var(--sp-fixed-header-h));
}
div#wrapcont #spHeader .clm1,
div#wrapcont #spHeader .clm1 > .child.logo,
div#wrapcont #spHeader .clm1 > .child.logo h1,
div#wrapcont #spHeader .clm1 > .child.logo h1 a {
    height: 100%;
}
div#wrapcont #spHeader .clm1 > .child.logo h1,
div#wrapcont #spHeader .clm1 > .child.logo h1 a {
    width: 100%;
}
div#wrapcont #spHeader .clm1 > .child.logo h1 a {
    padding: 15px;
    display: block;
}
div#wrapcont #spHeader .clm1 > .child.logo h1 a img {
    object-fit: contain;
    object-position: center;
    width: 100%;
    height: 100%;
}
div#wrapcont #spHeader .clm1 > .child.spbtn {
    width: var(--sp-fixed-header-h);
    background-color: var(--site-theme-color1);
}
div#wrapcont #spHeader .clm1 > .child.spbtn a.btn_open_spnavi {
    background-image: url('../images/common/head_btn_navi__sp.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    width: 100%;
    height: 100%;
}
div#wrapcont #spHeader .clm1 > .child.spbtn a.btn_open_spnavi:hover,
div#wrapcont #spHeader .clm1 > .child.spbtn a.btn_open_spnavi:hover * {
    opacity: 1;
}
@media screen and (max-width: 640px) {
    div#wrapcont #spHeader {
        display: block!important;
    }
}

div#wrapcont #spNavi {
    display: none;
    width: 100%;
    background-color: #ffffff;
    position: fixed;
    top: var(--sp-fixed-header-h);
    left: 0;
    z-index: 9999;
    border-bottom: 2px solid var(--site-theme-color1);
    box-shadow: 0 5px 5px rgba(0,0,0,0.25);
    max-height: calc(100% - var(--sp-fixed-header-h) + 2px);
    overflow-y: auto;
}
div#wrapcont #spNavi::before {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    background-color: var(--site-theme-color1);
    opacity: 0.1;
    z-index: 1;
    pointer-events: none;
}

/*div#wrapcont #spNavi::-webkit-scrollbar {
    width: 8px;
}
div#wrapcont #spNavi::-webkit-scrollbar-track {
    border-radius: 5px;
    background-color: #cccccc;
}
div#wrapcont #spNavi::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background-color: #00873a;
}*/
div#wrapcont #spNavi ul.lev1 {
    position: relative;
    z-index: 2;
}
div#wrapcont #spNavi ul.lev1 > li {
    position: relative;
}
div#wrapcont #spNavi ul.lev1 > li:first-child {
    padding-top: 1em;
}
div#wrapcont #spNavi ul.lev1 > li:not(:first-child) {
    border-top: 1px solid var(--site-theme-color1);
}
div#wrapcont #spNavi ul.lev1 > li > a {
    display: block;
    padding: 1em 1em 1em 2em;
    text-decoration: none;
    color: #000000;
    font-size: 16px;
    position: relative;
    opacity: 1;
}
div#wrapcont #spNavi ul.lev1 > li.cur > a,
div#wrapcont #spNavi ul.lev1 > li:hover > a {
    background-color: var(--site-theme-color1);
    color: #ffffff;
    opacity: 1;
}
div#wrapcont #spNavi ul.lev1 > li.cur > a::before,
div#wrapcont #spNavi ul.lev1 > li:hover > a::before {
    position: absolute;
    top: 1em;
    left: 5px;
    z-index: 1;
    content: '\25b6';
}
div#wrapcont #spNavi ul.lev1 > li > ul.lev2 {
    margin-left: 50px;
}
div#wrapcont #spNavi ul.lev1 > li > ul.lev2 > li > a {
    display: block;
    padding: 10px 10px;
    position: relative;
    opacity: 1;
}
div#wrapcont #spNavi ul.lev1 > li > ul.lev2 > li.cur > a,
div#wrapcont #spNavi ul.lev1 > li > ul.lev2 > li:hover > a {
    background-color: var(--site-theme-color1);
    color: #ffffff;
}


/* ----------------------------------------
* メインビジュアル
---------------------------------------- */
div#wrapcont #mainVisArea {
    position: relative;
    padding: 15px;
    overflow: hidden;
}
div#wrapcont #mainVisArea .img-main {
    display: none;
}
div#wrapcont #mainVisArea h2.pagetitle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    min-width: 350px;
    max-width: 100%;
    padding: 20px 30px;
    text-align: center;
    margin-inline: auto;
    z-index: 10;
    font-size: 2.5em;
}
div#wrapcont #mainVisArea h2.pagetitle::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    content: '';
    opacity: 0.4;
    background: linear-gradient(45deg,  rgba(0,151,224,1) 0%,rgba(255,255,255,1) 25%,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 75%,rgba(140,198,109,1) 100%);
}
div#wrapcont #mainVisArea h2.pagetitle > .inner {
    position: relative;
    z-index: 2;
    color: #ffffff;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
    line-height: 1.35;
    text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.8);
    font-weight: 500;
}
div#wrapcont #mainVisArea h2.pagetitle .small {
    font-size: 0.75em;
    color: inherit;
    line-height: inherit;
    text-indent: 0;
}
div#wrapcont #mainVisArea h2.pagetitle.narrow1 > .inner {
    letter-spacing: 0.05em;
    text-indent: 0.05em;
}
@media screen and (max-width: 640px) {
    div#wrapcont #mainVisArea h2.pagetitle {
        font-size: 1.75em;
    }
}
@media screen and (max-width: 500px) {
    div#wrapcont #mainVisArea h2.pagetitle {
        min-width: unset;
        width: calc(100% - 30px);
        padding: 15px;
    }
    div#wrapcont #mainVisArea h2.pagetitle.narrow1 > .inner {
        letter-spacing: 0.02em;
        text-indent: 0.02em;
    }
}


body.sub-page div#wrapcont #mainVisArea {
    height: 360px;
}
body.sub-page div#wrapcont #mainVisArea::before,
body.sub-page div#wrapcont #mainVisArea::after,
body.sub-page div#wrapcont #mainVisArea .img-main {
    background-image: url('../images/common/page_mainvis_img1.jpg');
}
body.sub-page div#wrapcont #mainVisArea::before,
body.sub-page div#wrapcont #mainVisArea::after {
    position: absolute;
    top: 0;
    width: 1500px;
    height: 100%;
    content: '';
    z-index: 1;
    filter: blur(5px);
    opacity: 0.5;
    max-width: unset;
    background-size: cover;
    background-repeat: no-repeat;
}
body.sub-page div#wrapcont #mainVisArea::before {
    left: 0;
    background-position: left center;
}
body.sub-page div#wrapcont #mainVisArea::after {
    right: 0;
    background-position: right center;
}
body.sub-page div#wrapcont #mainVisArea .img-main {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    z-index: 2;
    content: '';
    width: min(100%,1500px);
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
@media screen and (max-width: 500px) {
    body.sub-page div#wrapcont #mainVisArea {
        height: 150px;
    }
    div#wrapcont #mainVisArea h2.pagetitle {
        width: calc(100% - 30px);
        padding: 15px 30px;
        font-size: 1.5em;
    }
}


/* ----------------------------------------
* メインコンテンツ
---------------------------------------- */
div#wrapcont #mainArea section.mainsec > .inner {
    width: min( calc(100% - 30px), 1000px );
    margin-inline: auto;
}
div#wrapcont #mainArea section.mainsec.wide > .inner {
    width: 100%;
}


div#wrapcont #mainArea section.mainsec.cmn__sec1 {
    position: relative;
}
div#wrapcont #mainArea section.mainsec.cmn__sec1::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(249, 194, 112, 0.1);
}
div#wrapcont #mainArea section.mainsec.cmn__sec1 > .inner {
    width: min( calc(100% - 30px), 1150px );
    position: relative;
    z-index: 2;
    padding-top: 50px;
    padding-bottom: 50px;
}


/* ----------------------------------------
* フッター
---------------------------------------- */
div#wrapcont footer {
    background-color: #0097e0;
    padding-top: 30px;
    padding-bottom: 30px;
}
div#wrapcont footer > .inner {
    width: min( calc(100% - 30px), 1500px );
    margin-inline: auto;
}
div#wrapcont footer .line1 .line1-item1 {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 100px;
}
div#wrapcont footer .line1 .line1-item1 dl.line1-item1-list *:not(br) {
    color: #ffffff;
}
div#wrapcont footer .line1 .line1-item1 dl.line1-item1-list > dt {
    position: relative;
    padding-left: 1em;
}
div#wrapcont footer .line1 .line1-item1 dl.line1-item1-list > dt:nth-of-type(n+2) {
    margin-top: 30px;
}
div#wrapcont footer .line1 .line1-item1 dl.line1-item1-list > dt::before {
    position: absolute;
    top: 0.5em;
    left: 0;
    z-index: 1;
    content: '';
    width: 0.5em;
    aspect-ratio: 1;
    border-radius: 50%;
    background-color: #f9c270;
}
div#wrapcont footer .line1 .line1-item1 dl.line1-item1-list > dd {
    margin-top: 15px;
    margin-left: 1em;
    position: relative;
    padding-left: 1em;
}
div#wrapcont footer .line1 .line1-item1 dl.line1-item1-list > dd::before {
    position: absolute;
    top: 0.75em;
    left: 0;
    z-index: 1;
    content: '';
    width: 0.5em;
    height: 1px;
    background-color: #ffffff;
}
div#wrapcont footer .line2 {
    margin-top: 100px;
}
div#wrapcont footer .line2 .line2-txt {
    text-align: center;
    color: #ffffff;
    font-size: 14px;
}
div#wrapcont footer .line-space {
    display: none;
    width: 100%;
    height: calc(150px + 15px);
}
@media screen and (max-width: 1200px) {
    div#wrapcont footer .line1 .line1-item1 {
        gap: 30px 50px;
    }
}
@media screen and (max-width: 750px) {
    div#wrapcont footer .line-space {
        display: block;
    }
}
@media screen and (max-width: 640px) {
    div#wrapcont footer .line1 .line1-item1 {
        flex-direction: column;
    }
}
@media screen and (max-width: 500px) {
    div#wrapcont footer .line2 {
        margin-top: 50px;
    }
    div#wrapcont footer .line2 .line2-txt {
        font-size: 12px;
    }
    div#wrapcont footer .line-space {
        height: calc(100px + 15px);
    }
}
