/* ============================================================
   source_custom-animation.css ??????
   ============================================================ */

.btn-round-arrow svg { position: absolute; right: 18px; transition: transform .3s linear;}
.btn-round-arrow svg g.arrow { transition: transform .3s linear;}
.btn-round-arrow:hover svg g.arrow { transform: translateX(5px);}

/* ============================================================
   source_open.css ????????googlemap ??????????????????????????
   ============================================================ */

@media screen and (min-width: 1201px) and (max-width: 1380px) {
    .gm-meet-family-section h3 { font-size: 32px;}
    .gm-meet-family-section .base-btn.btn-round-arrow { font-size: 36px;}
    .gm-meet-family-section .base-btn.btn-round-arrow span { font-size: 36px; padding-top: 10px;}
}

@media screen and (min-width: 992px) and (max-width: 1200px) {
    .gm-meet-family-section h3 { font-size: 32px;}
    .gm-meet-family-section .base-btn.btn-round-arrow { font-size: 20px;}
    .gm-meet-family-section .base-btn.btn-round-arrow span { font-size: 40px;}
}

@media screen and (min-width: 767px) and (max-width: 1024px) {
    img.gm-section-four-img { display: none;}
    .gm-meet-family-section .mfs-btn-area { display: block;}
}

@media only screen and (max-width: 991px) {
    .gm-meet-family-section h3 { font-size: 28px;}
    .gm-meet-family-section .base-btn.btn-round-arrow { font-size: 18px; min-height: 100px;}
    .gm-meet-family-section .base-btn.btn-round-arrow span { font-size: 35px;}
    .gm-meet-family-section h5 { font-size: 20px;}
    .gm-meet-family-section .call-phone { height: 25px;}
    .gm-meet-family-section address small,
    .gm-meet-family-section address { font-size: 14px;}
}

@media only screen and (max-width: 767px) {
    .gm-meet-family-section .mfs-btn-area { grid-template-columns: 1fr; gap: 20px;}
    .gm-meet-family-section .base-btn.btn-round-arrow { padding: 4px 0 6px 0; min-height: 72px; display: flex; flex-direction: column; align-items: center; line-height: 1.3;}
    .gm-meet-family-section .base-btn.btn-round-arrow span { font-size: 18px; margin-top: 0;}
    .gm-meet-family-section .base-btn.btn-round-arrow svg { right: 15px; width: 18px; height: 18px;}
    .gm-meet-family-section .mfs-btn-area .left span,
    .gm-meet-family-section .mfs-btn-area .right span { font-size: 16px;}
}

@media only screen and (max-width: 640px) {
    .gm-meet-family-section .base-btn.btn-round-arrow { height: 72px; min-height: inherit; font-size: 16px;}
    .gm-meet-family-section h5 { font-size: 18px;}
    .gm-meet-family-section address small,
    .gm-meet-family-section address { font-size: 12px;}
}

/* ============================================================
   source_custom-style.css ????????costom-style02.css ???????
   ============================================================ */

.border-path { stroke-dasharray: 1500; stroke-dashoffset: 1500;}
.border-imgMob .border-path { stroke-dasharray: 320; stroke-dashoffset: 320;}
svg.border-animate .border-path { animation: dash 1s ease-out forwards; animation-delay: 1s;}

@keyframes dash {
    to { stroke-dashoffset: 0;}
}

.pointerArrow { pointer-events: none;}
.pointerArrow.tap { animation: handtap 0.3s linear;}

@keyframes handtap {
    0% { transform: rotate(0deg);}
    50% { transform: rotate(-30deg);}
    100% { transform: rotate(0deg);}
}

@keyframes jumpInfinite {
    0% { margin-top: 0;}
    80% { margin-top: 0px;}
    85% { margin-top: 10px;}
    90% { margin-top: -10px;}
    95% { margin-top: 10px;}
    100% { margin-top: 0;}
}

.jumpInfinite { display: inline-block; animation: jumpInfinite 3s infinite;}
.gm-section-three-box-one-inner .arrow-box { position: relative; height: 220px;}

@media all and (max-width: 650px) {
    .gm-section-three-box-one-inner .arrow-box { height: 110px;}
}

/* ============================================================
   LINE LP Page CSS (source_line-style.css)
   ============================================================ */

@charset 'UTF-8';
:root { --color-black: #000; --color-green: #11877a; --color-green2: #00b159;}

/* ==========================================================================
  ?????????????????????
========================================================================== */

@keyframes menuFadeIn
{
    0% { opacity: 0;}
    100% { opacity: 1;}
}
@keyframes menuFadeOut
{
    0% { opacity: 1;}
    99% { opacity: 0;}
    100% { display: none; opacity: 0;}
}
@keyframes fadeIn
{
    0% { opacity: 0;}
    100% { opacity: 1;}
}
@keyframes fadeOut
{
    0% { opacity: 1;}
    100% { opacity: 0;}
}
@keyframes moveLeftRight
{
    0% { transform: translateX(-10px);}
    90% { transform: translateX(10px);}
    100% { transform: translateX(10px);}
}
@keyframes moveLeftRightSP
{
    0% { transform: translateX(calc(-1 * calc(calc(4/393) * 100vw)));}
    85% { transform: translateX(calc(calc(4/393) * 100vw));}
    100% { transform: translateX(calc(calc(4/393) * 100vw));}
}
@keyframes poyoyon
{
    0% { transform: translateX(140px); opacity: 0;}
    50% { transform: translateX(0);}
    65% { transform: translateX(30px);}
    100% { transform: translateX(0);}
    50%,
    100% { opacity: 1;}
}
@keyframes poyoyonRevarse
{
    0% { transform: translateX(-140px); opacity: 0;}
    50% { transform: translateX(0);}
    65% { transform: translateX(-30px);}
    100% { transform: translateX(0);}
    50%,
    100% { opacity: 1;}
}
@keyframes poyoyonSP
{
    0% { transform: translateX(calc(calc(70/393) * 100vw)); opacity: 0;}
    50% { transform: translateX(0);}
    65% { transform: translateX(calc(calc(15/393) * 100vw));}
    100% { transform: translateX(0);}
    50%,
    100% { opacity: 1;}
}
@keyframes poyoyonRevarseSP
{
    0% { transform: translateX(calc(-1 * calc(calc(70/393) * 100vw))); opacity: 0;}
    50% { transform: translateX(0);}
    65% { transform: translateX(calc(-1 * calc(calc(15/393) * 100vw)));}
    100% { transform: translateX(0);}
    50%,
    100% { opacity: 1;}
}
/* FV????????????????????? */
.phoneBox.animeAction .phone { animation: fadeIn 1s 1 0s ease-in-out forwards;}
.phoneBox.animeAction .menu1 { animation: poyoyonRevarse .5s 1 1.8s cubic-bezier(.12, 0, .39, 0) forwards;}
@media (max-width: 767px)
{
    .phoneBox.animeAction .menu1 { animation-name: poyoyonRevarseSP;}
}
.phoneBox.animeAction .menu2 { animation: poyoyon .5s 1 2.6s cubic-bezier(.12, 0, .39, 0) forwards;}
@media (max-width: 767px)
{
    .phoneBox.animeAction .menu2 { animation-name: poyoyonSP;}
}
.phoneBox.animeAction .menu3 { animation: poyoyonRevarse .5s 1 3.4s cubic-bezier(.12, 0, .39, 0) forwards;}
@media (max-width: 767px)
{
    .phoneBox.animeAction .menu3 { animation-name: poyoyonRevarseSP;}
}
.phoneBox.animeAction .menu4 { animation: poyoyon .5s 1 4.2s cubic-bezier(.12, 0, .39, 0) forwards;}
@media (max-width: 767px)
{
    .phoneBox.animeAction .menu4 { animation-name: poyoyonSP;}
}
.phoneBox.animeAction .menu4 .arrow { animation: moveLeftRight 1s linear infinite alternate;}
@media (max-width:767px)
{
    .phoneBox.animeAction .menu4 .arrow { animation: moveLeftRightSP .9s linear infinite alternate;}
}
.phoneBoxInner.animeActionEnd { animation: fadeOut 1s 1 0s ease-in-out forwards;}

/* ==========================================================================
  ??????
========================================================================== */

.lineLpPage * { font-family: "noto_sans_cjk_jp_regularRg", sans-serif; font-style: normal;}
.lineLpPage .spShow { display: none;}
.lineLpPage .pcShow { display: inline-block;}
.lineLpPage img { height: auto;}
.lineLpPage a { text-decoration: none; color: #000; color: var(--color-black);}
.lineLpPage .titlePluse::before { display: block; width: 70px; height: 59px; content: ''; background-image: -webkit-image-set(
    url('../images/line/title_pluse.webp') 1x,
    url('../images/line/title_pluse@2x.webp') 2x
    ); background-image:         image-set(
    url('../images/line/title_pluse.webp') 1x,
    url('../images/line/title_pluse@2x.webp') 2x
    ); background-repeat: no-repeat; background-position: center center; background-size: contain; margin-inline: auto;}

/* ==========================================================================
  ????????????????????????
========================================================================== */

.lineLpPage .fv { min-height: 648px; padding-top: 75px; background: linear-gradient(
    90deg,
    rgba(255, 255, 255, .3) .56%,
    rgba(95, 215, 201, .3) 45.02%,
    rgba(177, 215, 132, .3) 56.97%,
    rgba(207, 243, 239, .3) 68.45%,
    rgba(255, 255, 255, .3) 98.09%
    );}
@media (max-width: 1180px)
{
    .lineLpPage .fv { padding-bottom: 30px;}
}
.lineLpPage .fv .fvInner { display: grid; width: min(100%,1400px); margin: 0 auto; padding: 0 77px; grid-template-columns: 1fr 368px; grid-template-rows: auto 1fr;}
.lineLpPage .fv .fvInner .mainCatch { z-index: 2; grid-column: 1; grid-row: 1;}
.lineLpPage .fv .fvInner .achievement { z-index: 2; grid-column: 1; grid-row: 2;}
.lineLpPage .fv .fvInner .phoneBox { z-index: 1; grid-column: 2; grid-row: 1 / 3;}
.lineLpPage .fv .mainCatch { width: -moz-fit-content; width:      fit-content; margin-top: 15px;}
.lineLpPage .fv .mainCatch > h1 span { display: block;}
.lineLpPage .fv .mainCatch > h1 span:nth-child(1) { font-size: 24px; font-weight: 500; display: grid; width: 210px; height: 49px; color: #11877a; color: var(--color-green); border: 2px solid #11877a; border: 2px solid var(--color-green); border-radius: 38px; place-content: center;}
.lineLpPage .fv .mainCatch > h1 span:nth-child(2) { font-size: 60px; font-weight: 700; line-height: 1.48;}
.lineLpPage .fv .mainCatch .text1 { font-size: 30px; font-weight: 700; line-height: 1.2; margin-top: -2px; color: #11877a; color: var(--color-green);}
.lineLpPage .fv .mainCatch .text1 .tbShow { display: none;}
@media (max-width: 1180px)
{
    .lineLpPage .fv .mainCatch .text1 .tbShow { display: block;}
}
.lineLpPage .fv .mainCatch .text2 { font-size: 24px; font-weight: 500; line-height: 1.5; margin-top: 6px;}
.lineLpPage .fv .mainCatch .btn { font-size: 22px; font-weight: 600; line-height: 1; display: flex; min-width: 360px; max-width: 402px; height: 100px; margin-top: 42px; text-decoration: none; color: #fff; border-radius: 50px; background: linear-gradient(90deg, #079 0%, #259a8d 60.2%); box-shadow: 0 4px 4px 0 rgba(0, 0, 0, .25); flex-flow: column; justify-content: center; align-items: center;}
.lineLpPage .fv .mainCatch .btn strong { font-size: 40px; margin-top: 7px;}
.lineLpPage .fv .achievement { margin-top: 16px;}
/* achievementバッジ（導入実績2,700件突破）の共通スタイル。
   line/shukan/googlemap/clinicopeningで共有。margin-top・アクセントカラー・
   モバイル時の.markサイズは4ページ(line/clinicopening/googlemap/shukan)で統一(実測216px相当)。
   切り替わるブレークポイントはページのレイアウトに応じて異なるため、上書き自体はページごとに行う */
.achievement ul { line-height: 1; display: flex;}
.achievement .mark { background: url('../images/line/achievement_bk.svg') no-repeat center center / 100% auto; flex: 0 1 260px;}
.achievement .mark1 { display: flex; padding-bottom: 6px; flex-flow: column; justify-content: flex-end; align-items: center;}
.achievement .mark1 > span { text-align: center;}
.achievement .mark1 > span:nth-child(1),
.achievement .mark1 > span:nth-child(3) { font-size: 16px; font-weight: 700;}
.achievement .mark1 > span:nth-child(2) { font-size: 60px; font-weight: 500; margin-top: -.4em; letter-spacing: -.05em;}
.achievement .mark1 > span:nth-child(2) small { font-size: 20px; font-weight: 700;}
.achievement .mark1 > span:nth-child(3) { margin-top: -1.5em;}
.achievement .gmoMark { margin-left: 9px;}
.kameron { font-family: 'Kameron', serif; font-style: normal; font-optical-sizing: auto;}
.lineLpPage .fv .achievement .mark1 > span:nth-child(2) { color: #11877a; color: var(--color-green);}
.lineLpPage .fv .achievement .mark2 { display: grid; margin-left: 8px; grid-template-columns: 100%; grid-template-rows: auto;}
.lineLpPage .fv .achievement .mark2 > span:nth-child(1) { font-size: 16px; font-weight: 700; z-index: 1; padding-top: 1em; text-align: center; grid-column: 1; grid-row: 1;}
.lineLpPage .fv .achievement .mark2 > span:nth-child(2) { font-size: 20px; font-weight: 700; z-index: 1; display: block; margin: 37px 0 0 25px; grid-column: 1; grid-row: 1;}
.lineLpPage .fv .achievement .mark2 > span:nth-child(3) { font-size: 32px; font-weight: 600; z-index: 2; display: block; margin-bottom: -.2em; margin-left: 34px; color: #11877a; color: var(--color-green); grid-column: 1; grid-row: 1; align-self: end;}
.lineLpPage .fv .achievement .mark2 > span:nth-child(3) span { font-size: 76px; margin-left: -.05em;}
.lineLpPage .fv .achievement .notice { font-size: 10px; font-weight: 300; line-height: 1.5; margin-top: 5px;}
.lineLpPage .fv .phoneBox { position: relative; z-index: 1; margin-right: 54px; justify-self: end;}
.lineLpPage .fv .phoneBox::before { position: absolute; z-index: -1; top: -51px; left: -186px; width: 339px; height: 610px; content: ''; background: url('../images/line/fv_phone_bk.svg') no-repeat center center / contain;}
.lineLpPage .fv .phoneBox .phoneBoxInner { position: relative;}
.lineLpPage .fv .phoneBox .phone { position: relative; z-index: 1; overflow: hidden; height: 577px; opacity: 0;}
.lineLpPage .fv .phoneBox .menu1 { position: absolute; z-index: 2; top: 166px; left: 203px; width: 236px; opacity: 0;}
.lineLpPage .fv .phoneBox .menu2 { position: absolute; z-index: 2; top: 308px; left: -51px; width: 204px; opacity: 0;}
.lineLpPage .fv .phoneBox .menu3 { position: absolute; z-index: 2; top: 383px; left: 191px; width: 146px; opacity: 0;}
.lineLpPage .fv .phoneBox .menu4 { position: absolute; z-index: 2; top: 0; left: -137px; width: 230px; opacity: 0;}
.lineLpPage .fv .phoneBox .menu4 .arrow { position: absolute; top: 103px; left: 51px; width: 66px;}

/* ==========================================================================
  ???????????????
========================================================================== */

.lineLpPage .pageNavi { /*margin-top: 17px;*/ padding: 34px 20px 30px; background: #f8f8f8;}
.lineLpPage .pageNavi ul { display: flex; flex-flow: row wrap; justify-content: center; gap: 8px;}
.lineLpPage .pageNavi ul a { font-size: 13px; font-weight: 700; display: flex; height: 38px; transition: opacity .2s; text-align: center; color: #00b159; color: var(--color-green2); border: 1px solid #00b159; border: 1px solid var(--color-green2); border-radius: 27px; justify-content: center; align-items: center;}
.lineLpPage .pageNavi ul a:hover { opacity: .8;}
.lineLpPage .pageNavi li:nth-child(1) { flex: 0 1 230px;}
.lineLpPage .pageNavi li:nth-child(2) { flex: 0 1 231px;}
.lineLpPage .pageNavi li:nth-child(3) { flex: 0 1 174px;}
.lineLpPage .pageNavi li:nth-child(4) { flex: 0 1 231px;}
.lineLpPage .pageNavi li:nth-child(5) { flex: 0 1 230px;}
.lineLpPage .pageNavi li:nth-child(6) { flex: 0 1 162px;}
.lineLpPage .pageNavi li:nth-child(7) { flex: 0 1 162px;}

/* ==========================================================================
  ?????????????????????????????????????????????????
========================================================================== */

.lineLpPage .concerns { padding: 89px 0 139px; background: #f3f3f3;}
.lineLpPage .toput { padding: 40px 0; text-align: center;}
.lineLpPage .toput iframe { max-width: 100%;}

@media (max-width: 767px) {
  .lineLpPage .toput iframe { width: 100%; height: auto; aspect-ratio: 16 / 9;}
}

.lineLpPage .concerns > h2 { font-size: 46px; font-weight: 700; line-height: 1.47; margin-bottom: 73px; text-align: center; color: #11877a; color: var(--color-green);}
.lineLpPage .concerns > h2 span { font-size: 30px; font-weight: 500;}
.lineLpPage .concerns ul { display: flex; width: min(calc(100% - 40px),1400px); margin: 0 auto; justify-content: space-between; gap: 30px;}
@media (max-width:1050px)
{
    .lineLpPage .concerns ul { flex-wrap: wrap; justify-content: center;}
}
@media (max-width:1050px)
{
    .lineLpPage .concerns li { flex: 0 1 calc(50% - 30px);}
}
.lineLpPage .concerns li .img { overflow: hidden; border-radius: 8px; box-shadow: 5px 5px 12.5px 0 rgba(166, 176, 191, .50);}
.lineLpPage .concerns li p { font-size: 28px; font-weight: 400; line-height: 1.28; margin-top: 19px; text-align: center;}

/* ==========================================================================
  ????????????????????????????????????
========================================================================== */

.lineLpPage .toTheClinic { padding: 142px 0 104px; background: linear-gradient(
    90deg,
    rgba(255, 255, 255, .3) .56%,
    rgba(95, 215, 201, .3) 45.02%,
    rgba(177, 215, 132, .3) 56.97%,
    rgba(207, 243, 239, .3) 68.45%,
    rgba(255, 255, 255, .3) 98.09%
    );}
.lineLpPage .toTheClinic > h2 { font-size: 40px; font-weight: 700; line-height: 1.25; position: relative; text-align: center; color: #11877a; color: var(--color-green);}
.lineLpPage .toTheClinic > h2::before { position: absolute; top: 100px; left: 50%; width: 50px; height: 50px; margin-left: -340px; content: ''; background: url('../images/line/circle_bk.svg') no-repeat center center / contain;}
.lineLpPage .toTheClinic > h2::after { display: block; width: 57px; height: 91px; margin: 14px auto 0; content: ''; background: url('../images/line/title_arrow.svg') no-repeat center center / contain;}

/* ==========================================================================
  ???LINE???????????????????????????????????
========================================================================== */

.lineLpPage .canDo { margin-top: 38px;}
.lineLpPage .canDo > header { position: relative; text-align: center;}
.lineLpPage .canDo > header::before { position: absolute; top: -76px; right: 50%; width: 140px; height: 140px; margin-right: -508px; content: ''; background-image: -webkit-image-set(
    url('../images/line/line_icon_bk.webp') 1x,
    url('../images/line/line_icon_bk@2x.webp')  2x
    ); background-image:         image-set(
    url('../images/line/line_icon_bk.webp') 1x,
    url('../images/line/line_icon_bk@2x.webp')  2x
    ); background-repeat: no-repeat; background-position: center center; background-size: contain;}
@media (max-width:1050px)
{
    .lineLpPage .canDo > header::before { right: 0; margin-right: 0;}
}
.lineLpPage .canDo > header p { font-size: 28px; font-weight: 500; line-height: 1.47;}
.lineLpPage .canDo > header h2 { font-size: 46px; font-weight: 700; line-height: 1.47; color: #11877a; color: var(--color-green);}
.lineLpPage .canDo .toptext { font-size: 28px; line-height: 1.46; position: relative; width: -moz-fit-content; width:      fit-content; margin: 30px auto 0; padding: 0 20px; text-align: center;}
@media (max-width:1050px)
{
    .lineLpPage .canDo .toptext .pcShow { display: none;}
}
.lineLpPage .canDo .toptext::before { position: absolute; top: -135px; left: 50%; width: 56px; height: 54px; margin-left: -507px; content: ''; background: url('../images/line/square_bk.svg') no-repeat center center / contain;}
.lineLpPage .canDo .toptext::after { position: absolute; top: 0; right: 50%; width: 50px; height: 50px; margin-right: -557px; content: ''; background: url('../images/line/circle_bk.svg') no-repeat center center / contain;}
.lineLpPage .canDo .row { display: grid; width: min(calc(100% - 40px),1400px); margin: 84px auto 0; grid-template-columns: calc(calc(355/1400) * 100%) 1fr calc(calc(355/1400) * 100%); grid-template-rows: auto auto 1fr; gap: 22px;}
.lineLpPage .canDo .canDoImage { grid-column: 2; grid-row: 1 / 4; justify-self: center; align-self: center;}
.lineLpPage .canDo .canDoSec1 { grid-column: 1; grid-row: 1;}
.lineLpPage .canDo .canDoSec2 { grid-column: 3; grid-row: 1;}
.lineLpPage .canDo .canDoSec3 { grid-column: 1; grid-row: 2;}
.lineLpPage .canDo .canDoSec4 { grid-column: 3; grid-row: 2;}
.lineLpPage .canDo .canDoSec5 { grid-column: 1; grid-row: 3;}
.lineLpPage .canDo .canDoSec6 { grid-column: 3; grid-row: 3;}
.lineLpPage .canDo .canDoSec { position: relative; z-index: 1; display: grid; min-height: 248px; padding: calc(calc(14/355) * 100%) calc(calc(33/355) * 100%) 0; border-radius: 8px; background: #fff; box-shadow: 5px 5px 12.5px 0 rgba(166, 176, 191, .50); grid-template-rows: auto auto 1fr;}
.lineLpPage .canDo .canDoSec::after { position: absolute; z-index: -1; right: 17px; bottom: 8px; content: ''; background-repeat: no-repeat; background-position: center center; background-size: contain;}
@media (max-width:1330px)
{
    .lineLpPage .canDo .canDoSec::after { right: 3px; bottom: 3px;}
}
.lineLpPage .canDo .canDoSec h2 { font-size: clamp( 24px, calc( 18px + .5714285714285714vw ), 26px ); font-weight: 500; line-height: 1.46; margin-bottom: 9px; color: #11877a; color: var(--color-green);}
.lineLpPage .canDo .canDoSec h2 .tbShow { display: none;}
@media (max-width: 1365px)
{
    .lineLpPage .canDo .canDoSec h2 .tbShow { display: block;}
}
.lineLpPage .canDo .canDoSec p { font-size: 16px; line-height: 1.46; max-width: 179px;}
.lineLpPage .canDo .canDoSec ul { display: flex; max-width: 120px; margin: 10px 0 33px; align-self: end; flex-flow: column;}
.lineLpPage .canDo .canDoSec ul li { font-size: 12px; font-weight: 500; display: grid; height: 20px; text-align: center; color: #11877a; color: var(--color-green); border: 1px solid #11877a; border: 1px solid var(--color-green); border-radius: 10px; place-content: center;}
.lineLpPage .canDo .canDoSec ul li + li { margin-top: 4px;}
.lineLpPage .canDo .canDoSec1::after { width: calc(calc(136/355) * 100%); padding-bottom: calc(calc(136/355) * 100%); background-image: -webkit-image-set(
    url('../images/line/can_do_img_sec_img1.webp') 1x,
    url('../images/line/can_do_img_sec_img1@2x.webp')  2x
    ); background-image:         image-set(
    url('../images/line/can_do_img_sec_img1.webp') 1x,
    url('../images/line/can_do_img_sec_img1@2x.webp')  2x
    );}
.lineLpPage .canDo .canDoSec1 ul { margin-bottom: 39px;}
.lineLpPage .canDo .canDoSec2::after { width: calc(calc(121/355) * 100%); padding-bottom: calc(calc(121/355) * 100%); background-image: -webkit-image-set(
    url('../images/line/can_do_img_sec_img2.webp') 1x,
    url('../images/line/can_do_img_sec_img2@2x.webp')  2x
    ); background-image:         image-set(
    url('../images/line/can_do_img_sec_img2.webp') 1x,
    url('../images/line/can_do_img_sec_img2@2x.webp')  2x
    );}
.lineLpPage .canDo .canDoSec2 p { max-width: 212px;}
.lineLpPage .canDo .canDoSec3::after { width: calc(calc(140/355) * 100%); padding-bottom: calc(calc(140/355) * 100%); background-image: -webkit-image-set(
    url('../images/line/can_do_img_sec_img3.webp') 1x,
    url('../images/line/can_do_img_sec_img3@2x.webp')  2x
    ); background-image:         image-set(
    url('../images/line/can_do_img_sec_img3.webp') 1x,
    url('../images/line/can_do_img_sec_img3@2x.webp')  2x
    );}
.lineLpPage .canDo .canDoSec3 ul { margin-bottom: 58px;}
.lineLpPage .canDo .canDoSec4::after { width: calc(calc(133/355) * 100%); padding-bottom: calc(calc(133/355) * 100%); background-image: -webkit-image-set(
    url('../images/line/can_do_img_sec_img4.webp') 1x,
    url('../images/line/can_do_img_sec_img4@2x.webp')  2x
    ); background-image:         image-set(
    url('../images/line/can_do_img_sec_img4.webp') 1x,
    url('../images/line/can_do_img_sec_img4@2x.webp')  2x
    );}
.lineLpPage .canDo .canDoSec5::after { width: calc(calc(150/355) * 100%); padding-bottom: calc(calc(150/355) * 100%); background-image: -webkit-image-set(
    url('../images/line/can_do_img_sec_img5.webp') 1x,
    url('../images/line/can_do_img_sec_img5@2x.webp')  2x
    ); background-image:         image-set(
    url('../images/line/can_do_img_sec_img5.webp') 1x,
    url('../images/line/can_do_img_sec_img5@2x.webp')  2x
    );}
.lineLpPage .canDo .canDoSec5 ul { margin-bottom: 11px;}
.lineLpPage .canDo .canDoSec6::after { width: calc(calc(146/355) * 100%); padding-bottom: calc(calc(146/355) * 100%); background-image: -webkit-image-set(
    url('../images/line/can_do_img_sec_img6.webp') 1x,
    url('../images/line/can_do_img_sec_img6@2x.webp')  2x
    ); background-image:         image-set(
    url('../images/line/can_do_img_sec_img6.webp') 1x,
    url('../images/line/can_do_img_sec_img6@2x.webp')  2x
    );}

/* ==========================================================================
  ?????????????????????????????????????LINE???????????
========================================================================== */

.lineLpPage .marketing { margin-top: 94px;}
.lineLpPage .marketing > header { text-align: center;}
.lineLpPage .marketing > header p { font-size: 28px; line-height: 1.46;}
.lineLpPage .marketing > header h2 { font-size: 26px; font-weight: 500; line-height: 1.46;}
.lineLpPage .marketing > header h2 span { font-size: 46px; font-weight: 700; color: #11877a; color: var(--color-green);}
.lineLpPage .marketing .toptext { font-size: 28px; line-height: 1.46; margin-top: 36px; text-align: center;}
.lineLpPage .marketing .row { position: relative; z-index: 1; display: grid; width: min(calc(100% - 40px),1278px); margin: 153px auto 0; grid-template-columns: repeat(3,1fr); gap: 0 32px; align-items: end;}
.lineLpPage .marketing .row::before { position: absolute; z-index: 2; top: -88px; left: -5px; width: calc(100% + 10px); height: 155px; content: ''; background-image: -webkit-image-set(
    url('../images/line/marketing_arrow_bk.webp') 1x,
    url('../images/line/marketing_arrow_bk@2x.webp')  2x
    ); background-image:         image-set(
    url('../images/line/marketing_arrow_bk.webp') 1x,
    url('../images/line/marketing_arrow_bk@2x.webp')  2x
    ); background-repeat: no-repeat; background-position: center center; background-size: 100% auto;}
.lineLpPage .marketing .marketingSec { position: relative; z-index: 3; display: grid; padding: 119px 24px 31px; border-radius: 8px; background: #f5f5f5; box-shadow: 5px 5px 12.5px 0 rgba(166, 176, 191, .50); grid-template-rows: subgrid; grid-row: span 2; gap: 34px 0;}
.lineLpPage .marketing .marketingSec .circleTitle { font-size: 22px; font-weight: 700; line-height: 1.36; position: absolute; z-index: 3; top: -112px; left: 50%; display: flex; width: 198px; height: 198px; padding-top: 21px; text-align: center; color: #11877a; color: var(--color-green); background-repeat: no-repeat; background-position: center center; background-size: contain; translate: -50% 0; justify-content: center;}
.lineLpPage .marketing .marketingSec .innerRow { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px;}
.lineLpPage .marketing .marketingSec .innerSec > header { display: grid; grid-template-columns: 100%; grid-template-rows: auto;}
.lineLpPage .marketing .marketingSec .innerSec h2 { font-size: 16px; font-weight: 500; line-height: 1.25; z-index: 2; text-align: center; color: #11877a; color: var(--color-green); grid-column: 1; grid-row: 1;}
.lineLpPage .marketing .marketingSec .innerSec .img { z-index: 1; overflow: hidden; margin-top: 28px; border-radius: 10px; grid-column: 1; grid-row: 1;}
.lineLpPage .marketing .marketingSec .innerSec p { font-size: 14px; line-height: 1.46; margin-top: 12px;}
@media (max-width:1100px)
{
    .lineLpPage .marketing .marketingSec .innerSec p .tbNone { display: none;}
}
.lineLpPage .marketing .marketingSec1 .circleTitle { background-image: -webkit-image-set(
    url('../images/line/marketing_circle_title1.webp') 1x,
    url('../images/line/marketing_circle_title1@2x.webp')  2x
    ); background-image:         image-set(
    url('../images/line/marketing_circle_title1.webp') 1x,
    url('../images/line/marketing_circle_title1@2x.webp')  2x
    );}
.lineLpPage .marketing .marketingSec2 .circleTitle { background-image: -webkit-image-set(
    url('../images/line/marketing_circle_title2.webp') 1x,
    url('../images/line/marketing_circle_title2@2x.webp')  2x
    ); background-image:         image-set(
    url('../images/line/marketing_circle_title2.webp') 1x,
    url('../images/line/marketing_circle_title2@2x.webp')  2x
    );}
.lineLpPage .marketing .marketingSec3 .circleTitle { background-image: -webkit-image-set(
    url('../images/line/marketing_circle_title3.webp') 1x,
    url('../images/line/marketing_circle_title3@2x.webp')  2x
    ); background-image:         image-set(
    url('../images/line/marketing_circle_title3.webp') 1x,
    url('../images/line/marketing_circle_title3@2x.webp')  2x
    );}

/* ==========================================================================
  ??????????????????????????????????????????????
========================================================================== */

.lineLpPage .no1 { position: relative; overflow: hidden; margin-top: 71px;}
.lineLpPage .no1::before { position: absolute; top: 64px; left: 50%; width: 50px; height: 50px; margin-left: -541px; content: ''; background: url('../images/line/circle_bk.svg') no-repeat center center / contain;}
.lineLpPage .no1 > header { font-size: 28px; line-height: 1.46; padding: 0 20px; text-align: center;}
.lineLpPage .no1 > header::before { margin-bottom: 45px;}
.lineLpPage .no1 > header p { font-weight: 700; color: #11877a; color: var(--color-green);}
.lineLpPage .no1 .no1text { line-height: 1.46; position: relative; margin-top: 175px; text-align: center;}
.lineLpPage .no1 .no1text::before { position: absolute; z-index: -1; top: -126px; left: 50%; width: 1833px; height: 259px; content: ''; background: url('../images/line/no1_bk.svg') no-repeat center center / contain; translate: -50% 0;}
@media (max-width: 1852px)
{
    .lineLpPage .no1 .no1text::before { left: 0; translate: 0 0;}
}
.lineLpPage .no1 .no1text::after { position: absolute; top: 90px; right: 50%; width: 56px; height: 54px; margin-right: -577px; content: ''; background: url('../images/line/square_bk.svg') no-repeat center center / contain;}
.lineLpPage .no1 .no1text span { font-size: 38px; font-weight: 500;}
.lineLpPage .no1 .no1text strong { font-size: 60px; font-weight: 700; display: block; margin-top: 14px; color: #11877a; color: var(--color-green);}

/* ==========================================================================
  ???????? ?????
========================================================================== */

.lineLpPage .compare { margin-top: 113px; padding: 62px 0 87px; background: #f3f3f3;}
.lineLpPage .compare > header { line-height: 1.46; text-align: center;}
.lineLpPage .compare > header p { font-size: 28px;}
.lineLpPage .compare > header h2 { font-size: 46px; font-weight: 700; color: #11877a; color: var(--color-green);}
.lineLpPage .compare .tableWrapper { width: min(calc(100% - 40px),1400px); margin: 60px auto 0; padding: 87px 15px 30px; border-radius: 8px; background: rgba(255, 255, 255, .9); box-shadow: 5px 5px 12.5px 0 rgba(166, 176, 191, .50);}
.lineLpPage .compare table { position: relative; width: 100%; max-width: 1052px; margin: 0 auto; border: 1px solid #ccc;}
.lineLpPage .compare table img { margin: 0 auto;}
.lineLpPage .compare table th,
.lineLpPage .compare table td { padding: 8px; text-align: center; vertical-align: middle; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc;}
.lineLpPage .compare .thead th { font-size: 18px; font-weight: 700; color: #606060;}
.lineLpPage .compare .thead th:nth-child(1) { width: 260px;}
.lineLpPage .compare .thead th:nth-child(2) { width: 252px;}
@media (max-width:1122px)
{
    .lineLpPage .compare .thead th:nth-child(2) { position: relative;}
}
.lineLpPage .compare .thead th:nth-child(2)::before { position: absolute; top: 0px; left: 273px; box-sizing: border-box; width: 230px; height: 451px; content: ''; border: 6px solid #00b159; border: 6px solid var(--color-green2);}
@media (max-width:1122px)
{
    .lineLpPage .compare .thead th:nth-child(2)::before { position: absolute; top: 0px; left: 9px; width: calc(100% - 18px); height: 451px; border: 6px solid #00b159; border: 6px solid var(--color-green2);}
}
.lineLpPage .compare .thead th:nth-child(3) { width: 270px;}
.lineLpPage .compare .thead th:nth-child(4) { width: 270px;}
.lineLpPage .compare tbody tr th:first-child { font-size: 16px; font-weight: 700; color: #11877a; color: var(--color-green);}
.lineLpPage .compare tbody tr th:first-child sup { font-size: 11px; padding-left: .2em;}
.lineLpPage .compare td { font-size: 13px; font-weight: 700; color: #606060;}
.lineLpPage .compare td img { width: 22px; display: block; margin: 0 auto;}
.lineLpPage .compare .heiyou { display: flex; align-items: center; justify-content: center;}
.lineLpPage .compare .heiyou::before { width: 6em; content: '';}
@media (max-width:920px)
{
    .lineLpPage .compare .heiyou { flex-flow: column; gap: .2em 0;}
    .lineLpPage .compare .heiyou::before { display: none;}
}
.lineLpPage .compare .notice { font-size: 11px; font-weight: 500; line-height: 1.46; width: 100%; max-width: 1052px; margin: 4px auto 0; color: #606060;}

/* ==========================================================================
  cta
========================================================================== */

.lineLpPage .ctaSection { font-size: 16px; line-height: 1.8;}
.lineLpPage .ctaSection h3 { font-family: "noto_sans_cjk_jp_regularRg", sans-serif;}
.lineLpPage .ctaSection .mfs-btn-area a { font-weight: 700; line-height: 1.2; display: flex; padding: 0; flex-flow: column; justify-content: center; align-items: center;}
.lineLpPage .ctaSection .mfs-btn-area a span { margin: 0;}
.lineLpPage .ctaSection .mfs-btn-area .left a { color: #fff;}
.lineLpPage .ctaSection .mfs-btn-area .left a:hover { color: #11877a;}
.lineLpPage .ctaSection .mfs-btn-area .right a { color: #11877a;}
.lineLpPage .ctaSection .mfs-btn-area .right a span { background: #11877a;}
.lineLpPage .ctaSection .mfs-btn-area .right a:hover { color: #fff;}

/* ==========================================================================
  ?????????LINE????????????????????????
========================================================================== */

.lineLpPage .merit { position: relative; margin-top: 57px;}
.lineLpPage .merit::before { position: absolute; top: 203px; left: 50%; width: 50px; height: 50px; margin-left: -641px; content: ''; background: url('../images/line/circle_bk.svg') no-repeat center center / contain;}
.lineLpPage .merit::after { position: absolute; top: 40px; right: 50%; width: 56px; height: 54px; margin-right: -594px; content: ''; background: url('../images/line/square_bk.svg') no-repeat center center / contain;}
.lineLpPage .merit .titlePluse { font-size: 28px; line-height: 1.48; text-align: center;}
.lineLpPage .merit .titlePluse strong { font-size: 46px; font-weight: 700; color: #11877a; color: var(--color-green);}
.lineLpPage .merit .titlePluse::before { margin-bottom: 30px;}
.lineLpPage .merit .graphList { display: grid; width: min(calc(100% - 40px),1090px); margin: 59px auto 0; grid-template-columns: 1fr 1fr; gap: 36px;}
.lineLpPage .merit .graphList li { display: grid; width: min(100%,496px); grid-template-rows: subgrid; grid-row: span 2; gap: 0;}
.lineLpPage .merit .graphList li:nth-child(odd) { justify-self: start;}
.lineLpPage .merit .graphList li:nth-child(even) { justify-self: end;}
.lineLpPage .merit .meritBox { display: flex; border-radius: 8px; background: #fff; box-shadow: 5px 5px 12.5px 0 rgba(166, 176, 191, .50); justify-content: center;}
.lineLpPage .merit .meritBox figure { display: flex; flex-flow: column; align-items: center;}
@media (max-width:1050px)
{
    .lineLpPage .merit .meritBox figure img { width: auto;}
}
.lineLpPage .merit .meritBox figcaption { font-size: 18px; font-weight: 500; line-height: 1.48; text-align: center; color: #11877a; color: var(--color-green);}
.lineLpPage .merit .meritBox figcaption small { font-size: 13px; line-height: 1; display: block;}
.lineLpPage .merit .meritBox + p { font-size: 12px; line-height: 1.46; margin: 6px 0 0 3px;}
.lineLpPage .merit .meritBox + p a { text-decoration: underline;}
.lineLpPage .merit .meritBox1 { padding: 12px;}
.lineLpPage .merit .meritBox1 figcaption { margin-top: 10px;}
.lineLpPage .merit .meritBox2 { padding: 30px 12px 12px;}
.lineLpPage .merit .meritBox2 figcaption { margin-top: 7px;}
.lineLpPage .merit .meritBox3 { padding: 55px 12px 12px;}
.lineLpPage .merit .meritBox3 figcaption { margin-top: 0;}
.lineLpPage .merit .meritBox4 { padding: 21px 12px 13px;}
.lineLpPage .merit .meritBox4 figcaption { margin-top: 25px;}

/* ==========================================================================
  LINE????????????????????????????????????????????????????????????
========================================================================== */

.lineLpPage .merit2 { margin-top: 178px;}
.lineLpPage .merit2 > .titlePluse { font-size: 46px; font-weight: 700; line-height: 1.38; position: relative; margin-bottom: 95px; text-align: center; color: #11877a; color: var(--color-green);}
.lineLpPage .merit2 > .titlePluse::after { position: absolute; top: 179px; right: 50%; width: 56px; height: 54px; margin-right: -496px; content: ''; background: url('../images/line/square_bk.svg') no-repeat center center / contain;}
.lineLpPage .merit2 .merit2Sec h2 { font-size: 28px; font-weight: 500; display: grid; width: 295px; height: 40px; margin: 0 auto 26px; padding-bottom: .1em; color: #11877a; color: var(--color-green); border: 2px solid #11877a; border: 2px solid var(--color-green); border-radius: 20px; place-content: center;}
.lineLpPage .merit2 .merit2Sec ul { display: grid; width: min(calc(100% - 40px),1060px); margin: 0 auto; grid-template-columns: repeat(4,1fr); gap: 0 20px;}
.lineLpPage .merit2 .merit2Sec li { text-align: center;}
.lineLpPage .merit2 .merit2Sec li .img { margin-bottom: 9px;}
@media (max-width:1050px)
{
    .lineLpPage .merit2 .merit2Sec li .img img { width: auto;}
}
.lineLpPage .merit2 .merit2Sec li p { font-size: 16px; line-height: 1.48;}
@media (max-width:1050px)
{
    .lineLpPage .merit2 .merit2Sec li p .tbNone { display: none;}
}
.lineLpPage .merit2 .patient { position: relative;}
.lineLpPage .merit2 .patient::before { position: absolute; top: 152px; left: 50%; width: 50px; height: 50px; margin-left: -591px; content: ''; background: url('../images/line/circle_bk.svg') no-repeat center center / contain;}
.lineLpPage .merit2 .clinic { position: relative; margin-top: 20px;}
.lineLpPage .merit2 .clinic::before { position: absolute; top: 256px; right: 50%; width: 50px; height: 50px; margin-right: -600px; content: ''; background: url('../images/line/circle_bk.svg') no-repeat center center / contain;}
.lineLpPage .merit2 .clinic .titlePluse { margin-bottom: 0;}
.lineLpPage .merit2 .clinic .titlePluse::before { width: 45px; height: 38px; content: '';}

/* ==========================================================================
  ????????????????
========================================================================== */

.lineLpPage .example { position: relative; z-index: 1; margin-top: 134px; padding: 53px 0 103px; background: #f3f3f3;}
.lineLpPage .example::before { position: absolute; z-index: -1; top: 20px; right: 50%; width: 695px; height: 676px; margin-right: -902px; content: ''; background: url('../images/line/example_bk.svg') no-repeat center center / contain;}
.lineLpPage .example .titlePluse { font-size: 46px; font-weight: 700; line-height: 1.48; text-align: center; color: #11877a; color: var(--color-green);}
.lineLpPage .example .titlePluse::before { margin-bottom: 21px;}
.lineLpPage .example .row { display: grid; width: min(calc(100% - 40px),1152px); margin: 54px auto 0; grid-template-columns: 1fr 1fr; gap: 33px;}
.lineLpPage .example .exampleSec { display: grid; width: min(100%,500px); min-height: 256px; padding: 38px 10px 38px 22px; border-radius: 8px; background-color: #fff; background-image: url('../images/line/example_bk1.svg'),url('../images/line/example_bk2.svg'); background-repeat: no-repeat; background-position: left top,right bottom; background-size: 77px auto,95px auto; box-shadow: 5px 5px 12.5px 0 rgba(166, 176, 191, .50); grid-template-columns: calc(calc(139/500) * 100%) 1fr; grid-template-rows: auto 1fr; gap: 0 17px;}
.lineLpPage .example .exampleSec h2 { font-size: 28px; font-weight: 500; line-height: 1.46; display: flex; margin-bottom: 20px; color: #11877a; color: var(--color-green); grid-column: 2; grid-row: 1; align-items: center;}
.lineLpPage .example .exampleSec h2::after { width: 75px; height: 36px; margin-left: 20px; content: ''; background-image: -webkit-image-set(
    url('../images/line/example_line.webp') 1x,
    url('../images/line/example_line@2x.webp') 2x
    ); background-image:         image-set(
    url('../images/line/example_line.webp') 1x,
    url('../images/line/example_line@2x.webp') 2x
    ); background-repeat: no-repeat; background-position: center center; background-size: contain; flex-shrink: 0;}
.lineLpPage .example .exampleSec p { font-size: 16px; font-weight: 500; line-height: 1.48; grid-column: 2; grid-row: 2;}
.lineLpPage .example .exampleSec .illu { grid-column: 1; grid-row: 1 / 3; justify-self: center; align-self: center;}
.lineLpPage .example .exampleSec:nth-child(odd) { justify-self: start;}
.lineLpPage .example .exampleSec:nth-child(even) { justify-self: end;}

/* ==========================================================================
  ??????????????????????????????
LINE?????????????????????????
========================================================================== */

.lineLpPage .function { position: relative; z-index: 1; margin-top: 50px;}
.lineLpPage .function::before { position: absolute; top: 117px; left: 50%; width: 50px; height: 50px; margin-left: -522px; content: ''; background: url('../images/line/circle_bk.svg') no-repeat center center / contain;}
.lineLpPage .function::after { position: absolute; top: 50px; right: 50%; width: 56px; height: 54px; margin-right: -546px; content: ''; background: url('../images/line/square_bk.svg') no-repeat center center / contain;}
.lineLpPage .function .titlePluse { font-size: 30px; font-weight: 500; line-height: 1.48; text-align: center;}
.lineLpPage .function .titlePluse span { font-size: 46px; font-weight: 700; color: #11877a; color: var(--color-green);}
.lineLpPage .function .row { display: grid; width: min(calc(100% - 40px),1120px); margin: 72px auto 0; grid-template-columns: 1fr 1fr; gap: 54px 30px;}
.lineLpPage .function .functionSec { display: grid; width: min(100%,500px); min-height: 256px; padding: 0 10px 10px 28px; border-radius: 8px; background: #fff; box-shadow: 5px 5px 12.5px 0 rgba(166, 176, 191, .50); grid-template-columns: calc(calc(152/500) * 100%) 1fr; grid-template-rows: auto 1fr; gap: 0 29px;}
.lineLpPage .function .functionSec h2 { font-size: 28px; font-weight: 500; line-height: 1.46; margin-bottom: 9px; color: #11877a; color: var(--color-green); grid-column: 2; grid-row: 1;}
.lineLpPage .function .functionSec p { font-size: 16px; font-weight: 500; line-height: 1.46; grid-column: 2; grid-row: 2;}
.lineLpPage .function .functionSec .img { grid-column: 1; grid-row: 1 / 3; justify-self: center;}
.lineLpPage .function .functionSec1 h2 { margin-top: 54px;}
.lineLpPage .function .functionSec1 .img { margin-top: 60px;}
.lineLpPage .function .functionSec2 h2 { margin-top: 53px;}
.lineLpPage .function .functionSec2 .img { margin-top: 39px;}
.lineLpPage .function .functionSec3 { position: relative;}
.lineLpPage .function .functionSec3::before { position: absolute; z-index: -1; top: 43px; right: -47px; width: 56px; height: 54px; content: ''; background: url('../images/line/square_bk.svg') no-repeat center center / contain;}
.lineLpPage .function .functionSec3 h2 { margin-top: 40px;}
.lineLpPage .function .functionSec3 .img { margin-top: 44px;}
.lineLpPage .function .functionSec4 { position: relative;}
.lineLpPage .function .functionSec4::before { position: absolute; z-index: -1; right: -62px; bottom: -35px; width: 50px; height: 50px; content: ''; background: url('../images/line/circle_bk.svg') no-repeat center center / contain;}
.lineLpPage .function .functionSec4 h2 { margin-top: 40px;}
.lineLpPage .function .functionSec4 .img { margin-top: 64px;}

/* ==========================================================================
  cta2
========================================================================== */

.lineLpPage .ctaSection2 { margin-top: 106px;}

/* ==========================================================================
  ????????????LINE??????????????
========================================================================== */

.lineLpPage .reservationFlow { position: relative; overflow: hidden; padding: 79px 0 46px; background: linear-gradient(
    90deg,
    rgba(255, 255, 255, .3) .56%,
    rgba(95, 215, 201, .3) 45.02%,
    rgba(177, 215, 132, .3) 56.97%,
    rgba(207, 243, 239, .3) 68.45%,
    rgba(255, 255, 255, .3) 98.09%
    );}
.lineLpPage .reservationFlow::before { position: absolute; top: 534px; left: 50%; width: 50px; height: 50px; margin-left: -405px; content: ''; background: url('../images/line/circle_bk.svg') no-repeat center center / contain;}
.lineLpPage .reservationFlow::after { position: absolute; top: 304px; right: 50%; width: 56px; height: 54px; margin-right: -456px; content: ''; background: url('../images/line/square_bk.svg') no-repeat center center / contain;}
.lineLpPage .reservationFlow .titlePluse { font-size: 28px; font-weight: 500; line-height: 1.46; margin-bottom: 61px; text-align: center;}
.lineLpPage .reservationFlow .titlePluse span { font-size: 46px; font-weight: 700; color: #11877a; color: var(--color-green);}
.lineLpPage .reservationFlow .text { font-size: 28px; font-weight: 500; line-height: 1.46; text-align: center; color: #11877a; color: var(--color-green);}
.lineLpPage .reservationFlow .text + .text { margin-top: 10px;}
.lineLpPage .reservationFlow .phone { position: relative; max-width: 235px; height: 470px; margin: 34px auto 0;}
.lineLpPage .reservationFlow .phone::before { position: absolute; top: 350px; right: -219px; width: 50px; height: 50px; content: ''; background: url('../images/line/circle_bk.svg') no-repeat center center / contain;}
.lineLpPage .reservationFlow .phone .phoneWaku { position: relative; z-index: 10; top: 0; left: 0;}
.lineLpPage .reservationFlow .phone .lineAnimationContainer { position: absolute; z-index: 1; top: 6px; left: 6px; width: 223px; height: 460px; background: #fff; clip-path: url(#phoneClip);}
.lineLpPage .reservationFlow .phone .lineAnimationContainer .screen { position: absolute; top: -3px; left: -3px; width: 230px; max-width: none; -o-object-fit: cover; object-fit: cover;}
.lineLpPage .reservationFlow .phone .lineAnimationContainer .screen0 { z-index: 2; left: 50%; width: 269px; opacity: 0; translate: -50% 0;}
.lineLpPage .reservationFlow .phone .lineAnimationContainer .screen1 { z-index: 3; translate: 100% 0;}
.lineLpPage .reservationFlow .phone .lineAnimationContainer .screen2 { z-index: 4; translate: 100% 0;}
.lineLpPage .reservationFlow .phone .lineAnimationContainer .screen3 { z-index: 5; translate: 100% 0;}
.lineLpPage .reservationFlow .phone .lineAnimationContainer .screen4 { z-index: 6; translate: 100% 0;}
.lineLpPage .reservationFlow .phone .lineAnimationContainer .pointer { position: absolute; z-index: 7; top: 0; left: 0; width: 75px; height: 82px; opacity: 0;}
.lineLpPage .reservationFlow .phone .phoneClip { width: 0; height: 0;}

/* ==========================================================================
  ????????????????????????????????????????????????????
========================================================================== */

.lineLpPage .callImage { padding: 56px 0 83px; background: rgba(243, 243, 243, .5);}
.lineLpPage .callImage .titlePluse { font-size: 28px; font-weight: 500; line-height: 1.46; text-align: center;}
.lineLpPage .callImage .titlePluse::before { margin-bottom: 10px;}
.lineLpPage .callImage .titlePluse span { font-size: 46px; font-weight: 700; color: #11877a; color: var(--color-green);}
.lineLpPage .callImage .callImageSlide { position: relative; width: min(calc(100% - 40px),1146px); margin: 103px auto 0;}
.lineLpPage .callImage .callImageSlide .swiper { padding: 0 13px;}
.lineLpPage .callImage .callImageSlide .swiper-slide { display: block; text-align: left; background: transparent;}
.lineLpPage .callImage .callImageSlide .swiper-slide .img { border-radius: 8px; background: #fff; box-shadow: 5px 5px 12.5px 0 rgba(166, 176, 191, .50);}
.lineLpPage .callImage .callImageSlide .swiper-slide .img img { border-radius: 8px; width: 100%; height: auto; object-fit: unset;}
.lineLpPage .callImage .callImageSlide .swiper-slide p { font-size: 16px; font-weight: 500; line-height: 1.46; margin-top: 13px; color: #11877a; color: var(--color-green);}
.lineLpPage .callImage .callImageSlide .swiper-slide .cap1 { margin-left: 20px;}
.lineLpPage .callImage .callImageSlide .swiper-slide .cap2 { margin-left: 7px;}
.lineLpPage .callImage .callImageSlide .swiper-slide .cap3 { margin-left: 9px;}
.lineLpPage .callImage .callImageSlide .swiper-slide + .swiper-slide .img { position: relative;}
.lineLpPage .callImage .callImageSlide .swiper-slide + .swiper-slide .img::before { position: absolute; top: 50%; left: -22px; width: 60px; height: 74px; content: ''; background: url('../images/line/slide_arrow.svg') no-repeat center center / contain; translate: 0 -50%;}

/* ==========================================================================
  ?????????????????????????
========================================================================== */

.lineLpPage .clinicVoice { display: grid; width: min(calc(100% - 40px),1375px); margin: 58px auto 0; grid-template-columns: 1fr 1fr; gap: 110px 68px;}
@media (max-width:1050px)
{
    .lineLpPage .clinicVoice { gap: 110px 30px;}
}
.lineLpPage .clinicVoice .titlePluse { font-size: 46px; font-weight: 700; line-height: 1.46; text-align: center; color: #11877a; color: var(--color-green); grid-column: 1 / 3;}
.lineLpPage .clinicVoice .voiceBox { display: flex; align-items: flex-start; gap: 0 8px; margin-bottom: 10px;}
.lineLpPage .clinicVoice .voiceBox .imgBox { width: 122px; flex-shrink: 0; order: 1;}
.lineLpPage .clinicVoice .voiceBox .textBox { margin-top: 56px; padding: 11px 5px 14px 15px; border-radius: 0 10px 10px 10px; background: #eaf0f6; order: 2;}
.lineLpPage .clinicVoice .voiceBox .textBox h2 { font-size: 15px; font-weight: 500; line-height: 1.2; color: #11877a; color: var(--color-green);}
.lineLpPage .clinicVoice .voiceBox .textBox p { font-size: 15px; line-height: 1.2;}
.lineLpPage .clinicVoice .voiceList { margin-top: 28px;}
.lineLpPage .clinicVoice .voiceList .voiceBox p { min-height: 70px; margin-top: 56px; padding: 11px 5px 14px 15px; border-radius: 0 10px 10px 10px; background: #eaf0f6; order: 2; flex-grow: 1;}
.lineLpPage .clinicVoice .voiceList .voiceBox + .voiceBox { margin-top: 28px;}

/* ==========================================================================
  ???????????????????????????
========================================================================== */

.lineLpPage .seminarSec { position: relative; z-index: 1; margin-top: 98px; padding: 58px 0 134px; background: rgba(237, 236, 236, .5);}
.lineLpPage .seminarSec::before { position: absolute; z-index: -1; top: 20px; right: 50%; width: 695px; height: 676px; margin-right: -898px; content: ''; background: url('../images/line/example_bk.svg') no-repeat center center / contain;}
.lineLpPage .seminarSec .titlePluse h2 { font-size: 46px; font-weight: 700; line-height: 1.46; text-align: center; color: #11877a; color: var(--color-green);}
.lineLpPage .seminarSec .titlePluse p { font-size: 28px; font-weight: 500; line-height: 1.46; margin-top: 6px; text-align: center;}
.lineLpPage .seminarSec .row { display: grid; width: min(calc(100% - 40px),1179px); margin: 67px auto 0; grid-template-columns: 1fr 1fr; gap: 0 30px;}
.lineLpPage .seminarSec .row .seminarBox:nth-child(1) { justify-self: start;}
.lineLpPage .seminarSec .row .seminarBox:nth-child(1) h2,
.lineLpPage .seminarSec .row .seminarBox:nth-child(1) p { margin-left: 15px;}
@media (max-width:1125px)
{
    .lineLpPage .seminarSec .row .seminarBox:nth-child(1) h2,
    .lineLpPage .seminarSec .row .seminarBox:nth-child(1) p { margin-left: 0;}
}
.lineLpPage .seminarSec .row .seminarBox:nth-child(1) p { max-width: 480px;}
.lineLpPage .seminarSec .row .seminarBox:nth-child(2) { justify-self: end;}
.lineLpPage .seminarSec .row .seminarBox:nth-child(2) p { max-width: 518px;}
.lineLpPage .seminarSec .row .seminarBox { display: grid; grid-template-rows: subgrid; grid-row: span 3; gap: 0;}
.lineLpPage .seminarSec .row .seminarBox a { display: grid; max-width: 524px; grid-template-rows: subgrid; grid-row: span 3; gap: 0;}
.lineLpPage .seminarSec .row .seminarBox .tm { overflow: hidden; border-radius: 10px; grid-row: 1;}
.lineLpPage .seminarSec .row .seminarBox h2 { font-size: 20px; font-weight: 500; line-height: 1.4; margin-top: 25px; grid-row: 2;}
.lineLpPage .seminarSec .row .seminarBox p { font-size: 14px; line-height: 1.4; margin-top: 14px; color: #333; grid-row: 3;}

/* ==========================================================================
  ?????????????
========================================================================== */

.lineLpPage .columnSec { margin-top: 55px;}
.lineLpPage .columnSec .titlePluse { margin-bottom: 30px;}
.lineLpPage .columnSec .titlePluse h2 { font-size: 46px; font-weight: 700; line-height: 1.46; text-align: center; color: #11877a; color: var(--color-green);}
.lineLpPage .columnSec .titlePluse p { font-size: 28px; font-weight: 500; line-height: 1.46; margin-top: 6px; text-align: center;}
.lineLpPage .columnSec .seminar-sliderWrap { margin-bottom: 0;}
.lineLpPage .columnSec .swiper { overflow: visible !important; width: 864px !important; width: var(--container-width) !important; margin-right: auto !important; margin-left: auto !important; --container-width: 864px;}
@media only screen and (max-width : 900px)
{
    .lineLpPage .columnSec .swiper { --container-width: 85%;}
}
@media only screen and (max-width : 600px)
{
    .lineLpPage .columnSec .swiper { --container-width: 420px;}
}

/* ==========================================================================
  endSection
========================================================================== */

.lineLpPage .endSection { margin-top: 55px; padding: 99px 0 81px; background: linear-gradient(
    90deg,
    rgba(255, 255, 255, .3) .56%,
    rgba(95, 215, 201, .3) 45.02%,
    rgba(177, 215, 132, .3) 56.97%,
    rgba(207, 243, 239, .3) 68.45%,
    rgba(255, 255, 255, .3) 98.09%
    );}
.lineLpPage .endSection .row { display: grid; width: min(calc(100% - 40px),1107px); margin: 0 auto; grid-template-columns: 1fr 1fr; gap: 0 50px;}
.lineLpPage .endSection .endSec > header { display: flex; align-items: flex-end;}
.lineLpPage .endSection .endSec > header::before { content: ''; background-repeat: no-repeat; background-position: center center; background-size: contain; flex-shrink: 0;}
.lineLpPage .endSection .endSec > header h2 { font-size: 30px; font-weight: 500; line-height: 1.21;}
.lineLpPage .endSection .endSec > header h2 .big { font-size: 46px; font-weight: 700; color: #11877a; color: var(--color-green);}
.lineLpPage .endSection .endSec > header h2 .num { font-size: 50px;}
.lineLpPage .endSection .endSec p { font-size: 20px; line-height: 1.46; margin-top: 57px;}
.lineLpPage .endSection .endSec .kome { font-size: 14px; margin-top: 0;}
.lineLpPage .endSection .endSecLeft { max-width: 494px;}
.lineLpPage .endSection .endSecLeft > header::before { width: 78px; height: 86px; margin-right: 25px; background-image: -webkit-image-set(
    url('../images/line/end_sec_mark1.webp') 1x,
    url('../images/line/end_sec_mark1@2x.webp') 2x
    ); background-image:         image-set(
    url('../images/line/end_sec_mark1.webp') 1x,
    url('../images/line/end_sec_mark1@2x.webp') 2x
    );}
.lineLpPage .endSection .endSecRight { max-width: 440px; justify-self: end;}
.lineLpPage .endSection .endSecRight > header::before { width: 99px; height: 90px; margin-right: 18px; background-image: -webkit-image-set(
    url('../images/line/end_sec_mark2.webp') 1x,
    url('../images/line/end_sec_mark2@2x.webp') 2x
    ); background-image:         image-set(
    url('../images/line/end_sec_mark2.webp') 1x,
    url('../images/line/end_sec_mark2@2x.webp') 2x
    );}

/* ==========================================================================
  ctaSection3
========================================================================== */

.lineLpPage .ctaSection3 { padding-top: 50px;}
@media (max-width: 1050px)
{

    /* ==========================================================================
  ????????????????????????
========================================================================== */

    .lineLpPage img { width: 100%; height: auto;}
    .lineLpPage .fv { min-height: 0; padding: 75px 0 20px;}
    .lineLpPage .fv .fvInner { padding: 0 calc(calc(40/1050) * 100%); grid-template-columns: 1fr calc(calc(500/1050) * 100%);}
    .lineLpPage .fv .mainCatch > h1 span:nth-child(2) { font-size: clamp( 40px, calc( -14.468085106382986px + 7.092198581560284vw ), 60px );}
    .lineLpPage .fv .mainCatch .text2 { font-size: clamp( 13px, calc( 4.829787234042554px + 1.0638297872340425vw ), 16px );}
    .lineLpPage .fv .mainCatch .btn { max-width: calc(calc(430/550) * 100%);}
    @media (max-width: 800px)
    {
        .lineLpPage .fv .achievement .mark2 > span:nth-child(2) { margin: 34px 0 0 25px;}
    }
    .lineLpPage .fv .phoneBox { margin-right: 0; justify-self: stretch;}
    .lineLpPage .fv .phoneBox::before { z-index: -1; top: 0; left: calc(-1 * calc(calc(186/426) * 100%)); width: calc(calc(339/426) * 100%); height: 0; margin-top: calc(-1 * calc(calc(51/426) * 100%)); padding-bottom: calc(calc(610/426) * 100%); background: url('../images/line/fv_phone_bk.svg') no-repeat center center / contain;}
    .lineLpPage .fv .phoneBox .phoneBoxInner { width: calc(calc(322/426) * 100%);}
    .lineLpPage .fv .phoneBox .phone { height: auto;}
    .lineLpPage .fv .phoneBox .menu1 { top: 0; left: calc(calc(220/322) * 100%); width: calc(calc(236/322) * 100%); margin-top: calc(calc(166/322) * 100%);}
    .lineLpPage .fv .phoneBox .menu2 { top: 0; left: calc(-1 * calc(calc(51/322) * 100%)); width: calc(calc(204/322) * 100%); margin-top: calc(calc(308/322) * 100%);}
    .lineLpPage .fv .phoneBox .menu3 { top: 0; left: calc(calc(191/322) * 100%); width: calc(calc(146/322) * 100%); margin-top: calc(calc(383/322) * 100%);}
    .lineLpPage .fv .phoneBox .menu4 { left: calc(-1 * calc(calc(137/322) * 100%)); width: calc(calc(230/322) * 100%);}
    .lineLpPage .fv .phoneBox .menu4 .arrow { top: 0; left: calc(calc(51/230) * 100%); width: calc(calc(66/230) * 100%); margin-top: calc(calc(103/230) * 100%);}

    /* ==========================================================================
  ???LINE???????????????????????????????????
========================================================================== */

    .lineLpPage .canDo .row { max-width: 732px; grid-template-columns: 1fr 1fr; grid-template-rows: auot auto auto 1fr; gap: 22px;}
    .lineLpPage .canDo .canDoImage { grid-column: 1 / 3; grid-row: 1; justify-self: center; align-self: center;}
    .lineLpPage .canDo .canDoSec1 { grid-column: 1; grid-row: 2;}
    .lineLpPage .canDo .canDoSec2 { grid-column: 2; grid-row: 2;}
    .lineLpPage .canDo .canDoSec3 { grid-column: 1; grid-row: 3;}
    .lineLpPage .canDo .canDoSec4 { grid-column: 2; grid-row: 3;}
    .lineLpPage .canDo .canDoSec5 { grid-column: 1; grid-row: 4;}
    .lineLpPage .canDo .canDoSec6 { grid-column: 2; grid-row: 4;}
    .lineLpPage .canDo .canDoSec { padding: 14px 33px 0;}
    .lineLpPage .canDo .canDoSec::after { right: 17px; bottom: 8px;}
    .lineLpPage .canDo .canDoSec h2 .tbShow { display: none;}

    /* ==========================================================================
  ?????????????????????????????????????LINE???????????
========================================================================== */

    .lineLpPage .marketing .row { display: grid; width: 403px; grid-template-columns: 100%; gap: 65px 0; align-items: start;}
    .lineLpPage .marketing .row::before { position: absolute; z-index: -1; top: -56px; left: -45px; width: 100%; height: calc(100% + 56px); content: ''; background-image: url('../images/line/sp_marketing_arrow_bk.webp'); background-repeat: no-repeat; background-position: left top; background-size: cover;}
    .lineLpPage .marketing .marketingSec { position: relative; display: block; padding: 87px 20px 42px;}
    .lineLpPage .marketing .marketingSec .circleTitle { font-size: 18px; line-height: 1.22; top: -56px; left: -36px; width: 142px; height: 142px; padding-top: 21px; translate: 0 0;}
    .lineLpPage .marketing .marketingSec .innerRow + .innerRow { margin-top: 22px;}

    /* ==========================================================================
  endSection
========================================================================== */

    .lineLpPage .endSection .row { grid-template-columns: 100%; gap: 100px 0;}
    .lineLpPage .endSection .endSecLeft { max-width: 494px; justify-self: center;}
    .lineLpPage .endSection .endSecRight { max-width: 494px; justify-self: center;}
    /*end*/
}
@media only screen and (max-width: 767px)
{

    /* ==========================================================================
  ??????
========================================================================== */

    .lineLpPage { overflow-x: hidden;}
    .lineLpPage img { width: 100%;}
    .lineLpPage .spShow { display: inline-block;}
    .lineLpPage .pcShow { display: none;}
    .lineLpPage .titlePluse::before { width: calc(calc(45/393) * 100vw); height: calc(calc(38/393) * 100vw); background-image: url('../images/line/sp_title_pluse.webp');}

    /* ==========================================================================
  ????????????????????????
========================================================================== */

    .lineLpPage .fv { overflow: hidden; min-height: 0; padding-top: calc(calc(8/393) * 100vw);}
    .lineLpPage .fv .fvInner { width: 100%; padding: 0; grid-template-columns: 100%; grid-template-rows: auto auto 1fr;}
    .lineLpPage .fv .fvInner .mainCatch { grid-column: 1; grid-row: 2;}
    .lineLpPage .fv .fvInner .achievement { grid-column: 1; grid-row: 3;}
    .lineLpPage .fv .fvInner .phoneBox { grid-column: 1; grid-row: 1;}
    .lineLpPage .fv .mainCatch { margin-top: calc(calc(5/393) * 100vw); padding: 0 calc(calc(23/393) * 100vw);}
    .lineLpPage .fv .mainCatch > h1 span:nth-child(1) { font-size: calc(calc(12/393) * 100vw); width: calc(calc(100/393) * 100vw); height: calc(calc(24/393) * 100vw); border: calc(calc(2/393) * 100vw) solid #11877a; border: calc(calc(2/393) * 100vw) solid var(--color-green); border-radius: calc(calc(36/393) * 100vw);}
    .lineLpPage .fv .mainCatch > h1 span:nth-child(2) { font-size: calc(calc(48/393) * 100vw); font-weight: 700; line-height: 1; margin-top: calc(calc(5/393) * 100vw);}
    .lineLpPage .fv .mainCatch .text1 { font-size: calc(calc(18/393) * 100vw); line-height: 1.33; margin-top: calc(calc(12/393) * 100vw);}
    .lineLpPage .fv .mainCatch .text1 .tbShow { display: none;}
    @media (max-width: 1180px)
    {
        .lineLpPage .fv .mainCatch .text1 .tbShow { display: none;}
    }
    .lineLpPage .fv .mainCatch .text2 { font-size: calc(calc(13/393) * 100vw); line-height: 1; margin-top: calc(calc(6/393) * 100vw);}
    .lineLpPage .fv .mainCatch .btn { font-size: calc(calc(18/393) * 100vw); min-width: 0; max-width: calc(calc(316/393) * 100vw); height: calc(calc(66/393) * 100vw); margin: calc(calc(21/393) * 100vw) auto 0; border-radius: calc(calc(50/393) * 100vw); box-shadow: 0 calc(calc(4/393) * 100vw) calc(calc(4/393) * 100vw) 0 rgba(0, 0, 0, .25);}
    .lineLpPage .fv .mainCatch .btn strong { font-size: calc(calc(24/393) * 100vw); margin-top: calc(calc(3/393) * 100vw);}
    .lineLpPage .fv .achievement { margin-top: calc(calc(24/393) * 100vw);}
    .lineLpPage .fv .achievement ul { justify-content: center;}
    .lineLpPage .fv .achievement .mark { background: url('../images/line/achievement_bk.svg') no-repeat center bottom / 100% auto; flex: 0 0 calc(calc(218/393) * 100vw);}
    .lineLpPage .fv .achievement .mark1 { padding-bottom: calc(calc(0/393) * 100vw);}
    .lineLpPage .fv .achievement .mark1 > span:nth-child(1),
    .lineLpPage .fv .achievement .mark1 > span:nth-child(3) { font-size: calc(calc(12/393) * 130vw);}
    .lineLpPage .fv .achievement .mark1 > span:nth-child(2) { font-size: calc(calc(30/393) * 190vw);}
    .lineLpPage .fv .achievement .mark1 > span:nth-child(2) small { font-size: calc(calc(14/393) * 100vw);}
    .lineLpPage .fv .achievement .mark2 { margin-left: 0;}
    .lineLpPage .fv .achievement .mark2 > span:nth-child(1) { font-size: calc(calc(12/393) * 100vw); padding-top: .7em;}
    .lineLpPage .fv .achievement .mark2 > span:nth-child(2) { font-size: calc(calc(14/393) * 100vw); margin: calc(calc(25/393) * 100vw) 0 0 calc(calc(19/393) * 100vw);}
    .lineLpPage .fv .achievement .mark2 > span:nth-child(3) { font-size: calc(calc(24/393) * 100vw); margin-left: calc(calc(24/393) * 100vw);}
    .lineLpPage .fv .achievement .mark2 > span:nth-child(3) span { font-size: calc(calc(60/393) * 100vw);}
    .lineLpPage .fv .achievement .gmoMark { margin-left: calc(calc(7/393) * 100vw); flex: 0 1 calc(calc(80/393) * 100vw);}
    .lineLpPage .fv .achievement .notice { font-size: calc(calc(7/393) * 100vw); margin-top: calc(calc(8/393) * 100vw); text-align: center;}
    .lineLpPage .fv .phoneBox { width: 100%; justify-self: center;}
    .lineLpPage .fv .phoneBox::before { top: calc(calc(25/393) * 100vw); left: calc(calc(31/393) * 100vw); width: calc(calc(298/393) * 100vw); height: calc(calc(177/393) * 100vw); margin: 0; padding: 0; background: url('../images/line/sp_fv_phone_bk.svg') no-repeat center center / contain;}
    .lineLpPage .fv .phoneBox .phoneBoxInner { width: 100%;}
    .lineLpPage .fv .phoneBox .phone { width: calc(calc(137/393) * 100vw); margin-left: calc(calc(135/393) * 100vw);}
    .lineLpPage .fv .phoneBox .menu1 { position: absolute; z-index: 2; top: calc(calc(64/393) * 100vw); right: calc(calc(28/393) * 100vw); left: auto; width: calc(calc(119/393) * 100vw); margin: 0;}
    .lineLpPage .fv .phoneBox .menu2 { top: calc(calc(153/393) * 100vw); left: calc(calc(75/393) * 100vw); width: calc(calc(106/393) * 100vw); margin: 0;}
    .lineLpPage .fv .phoneBox .menu3 { top: calc(calc(168/393) * 100vw); right: calc(calc(90/393) * 100vw); left: auto; width: calc(calc(64/393) * 100vw); margin: 0;}
    .lineLpPage .fv .phoneBox .menu4 { top: calc(calc(4/393) * 100vw); left: calc(calc(17/393) * 100vw); width: calc(calc(158/393) * 100vw); margin: 0;}
    .lineLpPage .fv .phoneBox .menu4 .arrow { position: absolute; top: calc(calc(43/393) * 100vw); left: calc(calc(83/393) * 100vw); width: calc(calc(27/393) * 100vw); margin: 0;}

    /* ==========================================================================
  ???????????????
========================================================================== */

    .lineLpPage .pageNavi { width: calc(calc(244/393) * 100vw); margin: calc(calc(6/393) * 100vw) auto 0; padding: 0; border: calc(calc(1/393) * 100vw) solid #00b159; border: calc(calc(1/393) * 100vw) solid var(--color-green2); border-radius: calc(calc(27/393) * 100vw); background: none;}
    .lineLpPage .pageNavi .toc { font-size: calc(calc(13/393) * 100vw); font-weight: 700; line-height: 1.46; display: block; padding: calc(calc(10/393) * 100vw) 0 calc(calc(10/393) * 100vw) calc(calc(48/393) * 100vw); color: #00b159; color: var(--color-green2);}
    .lineLpPage .pageNavi .toc::before { display: inline-block; margin-right: 1em; content: '▼'; transition: rotate .2s linear;}
    .lineLpPage .pageNavi .tocopen::before { rotate: 180deg;}
    .lineLpPage .pageNavi ul { display: none; padding: 0 calc(calc(10/393) * 100vw) calc(calc(10/393) * 100vw);}
    .lineLpPage .pageNavi ul a { font-size: calc(calc(13/393) * 100vw); height: calc(calc(38/393) * 100vw); text-align: center; border: calc(calc(1/393) * 100vw) solid #00b159; border: calc(calc(1/393) * 100vw) solid var(--color-green2); border-radius: calc(calc(27/393) * 100vw);}
    .lineLpPage .pageNavi ul a:hover { opacity: 1;}
    .lineLpPage .pageNavi ul li + li { margin-top: calc(calc(10/393) * 100vw);}
    .lineLpPage .pageNavi li:nth-child(1) { flex: 0 1 100%;}
    .lineLpPage .pageNavi li:nth-child(2) { flex: 0 1 100%;}
    .lineLpPage .pageNavi li:nth-child(3) { flex: 0 1 100%;}
    .lineLpPage .pageNavi li:nth-child(4) { flex: 0 1 100%;}
    .lineLpPage .pageNavi li:nth-child(5) { flex: 0 1 100%;}
    .lineLpPage .pageNavi li:nth-child(6) { flex: 0 1 100%;}
    .lineLpPage .pageNavi li:nth-child(7) { flex: 0 1 100%;}

    /* ==========================================================================
  ?????????????????????????????????????????????????
========================================================================== */

    .lineLpPage .concerns { padding: calc(calc(38/393) * 100vw) 0 calc(calc(49/393) * 100vw); background: #fff;}
    .lineLpPage .concerns > h2 { font-size: calc(calc(24/393) * 100vw); margin-bottom: calc(calc(17/393) * 100vw);}
    .lineLpPage .concerns > h2 span { font-size: calc(calc(16/393) * 100vw);}
    .lineLpPage .concerns ul { width: calc(calc(352/393) * 100vw); flex-flow: column; justify-content: flex-start; align-items: center; gap: calc(calc(35/393) * 100vw) 0;}
    .lineLpPage .concerns li { flex: 0 1 auto;}
    .lineLpPage .concerns li .img { overflow: hidden; border-radius: calc(calc(8/393) * 100vw); box-shadow: calc(calc(5/393) * 100vw) calc(calc(5/393) * 100vw) calc(calc(12.5/393) * 100vw) 0 rgba(166, 176, 191, .50);}
    .lineLpPage .concerns li p { font-size: calc(calc(20/393) * 100vw); font-weight: 500; line-height: 1.4; margin-top: calc(calc(11/393) * 100vw);}

    /* ==========================================================================
  ????????????????????????????????????
========================================================================== */

    .lineLpPage .toTheClinic { padding: calc(calc(36/393) * 100vw) 0 calc(calc(32/393) * 100vw);}
    .lineLpPage .toTheClinic > h2 { font-size: calc(calc(24/393) * 100vw); line-height: 1.16;}
    .lineLpPage .toTheClinic > h2::before { display: none;}
    .lineLpPage .toTheClinic > h2::after { width: calc(calc(34/393) * 100vw); height: calc(calc(54/393) * 100vw); margin: calc(calc(5/393) * 100vw) auto 0;}

    /* ==========================================================================
  ???LINE???????????????????????????????????
========================================================================== */

    .lineLpPage .canDo { margin-top: calc(calc(14/393) * 100vw);}
    .lineLpPage .canDo > header::before { top: calc(-1 * calc(calc(81/393) * 100vw)); right: calc(calc(39/393) * 100vw); width: calc(calc(41/393) * 100vw); height: calc(calc(41/393) * 100vw); background-image: url('../images/line/sp_line_icon_bk.webp');}
    .lineLpPage .canDo > header p { font-size: calc(calc(14/393) * 100vw);}
    .lineLpPage .canDo > header h2 { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .canDo .toptext { font-size: calc(calc(14/393) * 100vw); width: calc(calc(356/393) * 100vw); margin: calc(calc(8/393) * 100vw) auto 0; padding: 0; text-align: justify;}
    .lineLpPage .canDo .toptext::before { top: calc(-1 * calc(calc(140/393) * 100vw)); left: calc(calc(24/393) * 100vw); width: calc(calc(21/393) * 100vw); height: calc(calc(19/393) * 100vw); margin-left: 0;}
    .lineLpPage .canDo .toptext::after { top: calc(-1 * calc(calc(84/393) * 100vw)); right: calc(calc(14/393) * 100vw); width: calc(calc(20/393) * 100vw); height: calc(calc(20/393) * 100vw); margin-right: 0;}
    .lineLpPage .canDo .row { width: calc(100% - 20px); margin: calc(calc(14/393) * 100vw) auto 0; grid-template-columns: 1fr 1fr; gap: calc(calc(10/393) * 100vw) calc(calc(13/393) * 100vw);}
    .lineLpPage .canDo .canDoImage { width: calc(calc(258/393) * 100vw); margin-bottom: calc(calc(26/393) * 100vw); grid-column: 1 / -1; grid-row: 1; justify-self: center;}
    .lineLpPage .canDo .canDoSec { min-height: 0; padding: calc(calc(7/393) * 100vw) 8px 0; border-radius: calc(calc(8/393) * 100vw); background: #fff; box-shadow: calc(calc(5/393) * 100vw) calc(calc(5/393) * 100vw) calc(calc(12.5/393) * 100vw) 0 rgba(166, 176, 191, .50);}
    .lineLpPage .canDo .canDoSec h2 { font-size: calc(calc(17/393) * 100vw); margin-bottom: calc(calc(1/393) * 100vw);}
    .lineLpPage .canDo .canDoSec h2 .tbShow { display: none;}
    .lineLpPage .canDo .canDoSec p { font-size: calc(calc(12/393) * 100vw); line-height: 1.25; max-width: none;}
    .lineLpPage .canDo .canDoSec ul { max-width: calc(calc(90/393) * 100vw); margin: calc(calc(6/393) * 100vw) 0 calc(calc(13/393) * 100vw);}
    .lineLpPage .canDo .canDoSec ul li { font-size: calc(calc(11/393) * 100vw); height: calc(calc(15/393) * 100vw); border: calc(calc(1/393) * 100vw) solid #11877a; border: calc(calc(1/393) * 100vw) solid var(--color-green); border-radius: calc(calc(10/393) * 100vw);}
    .lineLpPage .canDo .canDoSec ul li + li { margin-top: calc(calc(4/393) * 100vw);}
    .lineLpPage .canDo .canDoSec1 { min-height: calc(calc(133/393) * 100vw); grid-column: 2; grid-row: 2;}
    .lineLpPage .canDo .canDoSec1::after { right: calc(calc(23/393) * 100vw); bottom: calc(calc(5/393) * 100vw); width: calc(calc(47/393) * 100vw); padding-bottom: calc(calc(47/393) * 100vw); background-image: url('../images/line/sp_can_do_img_sec_img2.webp');}
    .lineLpPage .canDo .canDoSec1 ul { margin-bottom: calc(calc(13/393) * 100vw);}
    .lineLpPage .canDo .canDoSec2 { min-height: calc(calc(156/393) * 100vw); grid-column: 2; grid-row: 3;}
    .lineLpPage .canDo .canDoSec2::after { right: calc(calc(20/393) * 100vw); bottom: calc(calc(9/393) * 100vw); width: calc(calc(48/393) * 100vw); padding-bottom: calc(calc(48/393) * 100vw); background-image: url('../images/line/sp_can_do_img_sec_img4.webp');}
    .lineLpPage .canDo .canDoSec2 ul { margin-bottom: calc(calc(17/393) * 100vw);}
    .lineLpPage .canDo .canDoSec3 { min-height: calc(calc(133/393) * 100vw); grid-column: 1; grid-row: 2;}
    .lineLpPage .canDo .canDoSec3::after { right: calc(calc(10/393) * 100vw); bottom: calc(calc(7/393) * 100vw); width: calc(calc(52/393) * 100vw); padding-bottom: calc(calc(52/393) * 100vw); background-image: url('../images/line/sp_can_do_img_sec_img1.webp');}
    .lineLpPage .canDo .canDoSec3 ul { margin-bottom: calc(calc(13/393) * 100vw);}
    .lineLpPage .canDo .canDoSec4 { min-height: calc(calc(136/393) * 100vw); grid-column: 2; grid-row: 4;}
    .lineLpPage .canDo .canDoSec4::after { right: calc(calc(10/393) * 100vw); bottom: calc(calc(10/393) * 100vw); width: calc(calc(58/393) * 100vw); padding-bottom: calc(calc(58/393) * 100vw); background-image: url('../images/line/sp_can_do_img_sec_img6.webp');}
    .lineLpPage .canDo .canDoSec4 h2 { width: -moz-max-content; width:      max-content;}
    .lineLpPage .canDo .canDoSec4 ul { margin-bottom: calc(calc(11/393) * 100vw);}
    .lineLpPage .canDo .canDoSec5 { min-height: calc(calc(156/393) * 100vw); grid-column: 1; grid-row: 3;}
    .lineLpPage .canDo .canDoSec5::after { right: calc(calc(18/393) * 100vw); bottom: calc(calc(17/393) * 100vw); width: calc(calc(47/393) * 100vw); padding-bottom: calc(calc(47/393) * 100vw); background-image: url('../images/line/sp_can_do_img_sec_img3.webp');}
    .lineLpPage .canDo .canDoSec5 h2 { width: -moz-max-content; width:      max-content;}
    .lineLpPage .canDo .canDoSec5 p { letter-spacing: -.05em;}
    .lineLpPage .canDo .canDoSec5 ul { margin-bottom: calc(calc(15/393) * 100vw);}
    .lineLpPage .canDo .canDoSec6 { min-height: calc(calc(136/393) * 100vw); grid-column: 1; grid-row: 4;}
    .lineLpPage .canDo .canDoSec6::after { right: calc(calc(11/393) * 100vw); bottom: calc(calc(25/393) * 100vw); width: calc(calc(52/393) * 100vw); padding-bottom: calc(calc(52/393) * 100vw); background-image: url('../images/line/sp_can_do_img_sec_img5.webp');}
    .lineLpPage .canDo .canDoSec6 ul { margin-bottom: calc(calc(22/393) * 100vw);}

    /* ==========================================================================
  ?????????????????????????????????????LINE???????????
========================================================================== */

    .lineLpPage .marketing { margin-top: calc(calc(66/393) * 100vw);}
    .lineLpPage .marketing > header p { font-size: calc(calc(16/393) * 100vw);}
    .lineLpPage .marketing > header h2 { font-size: calc(calc(16/393) * 100vw);}
    .lineLpPage .marketing > header h2 span { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .marketing .toptext { font-size: calc(calc(18/393) * 100vw); width: calc(calc(355/393) * 100vw); margin: calc(calc(27/393) * 100vw) auto 0; text-align: justify;}
    .lineLpPage .marketing .row { width: calc(calc(334/393) * 100vw); margin: calc(calc(55/393) * 100vw) 0 0 calc(calc(44/393) * 100vw); grid-template-columns: 100%; gap: calc(calc(65/393) * 100vw) 0;}
    .lineLpPage .marketing .row::before { top: calc(-1 * calc(calc(29/393) * 100vw)); left: calc(-1 * calc(calc(37/393) * 100vw)); width: 100%; height: calc(100% - calc(calc(39/393) * 100vw));}
    .lineLpPage .marketing .marketingSec { position: relative; padding: calc(calc(98/393) * 100vw) calc(calc(20/393) * 100vw) calc(calc(27/393) * 100vw); border-radius: calc(calc(8/393) * 100vw); background: #f5f5f5; box-shadow: calc(calc(5/393) * 100vw) calc(calc(5/393) * 100vw) calc(calc(12.5/393) * 100vw) 0 rgba(166, 176, 191, .50);}
    .lineLpPage .marketing .marketingSec::before { position: absolute; top: calc(calc(106/393) * 100vw); left: calc(-1 * calc(calc(25/393) * 100vw)); width: calc(calc(18/393) * 100vw); height: calc(calc(75/393) * 100vw); content: ''; background: url('../images/line/sp_marketing_arrow_bk_arrow.svg') no-repeat center center / contain;}
    .lineLpPage .marketing .marketingSec .circleTitle { font-size: calc(calc(18/393) * 100vw); line-height: 1.22; position: absolute; top: calc(-1 * calc(calc(56/393) * 100vw)); left: calc(-1 * calc(calc(36/393) * 100vw)); width: calc(calc(142/393) * 100vw); height: calc(calc(142/393) * 100vw); padding-top: calc(calc(21/393) * 100vw); background-repeat: no-repeat; background-position: center center; background-size: contain;}
    .lineLpPage .marketing .marketingSec .innerRow { gap: 0 calc(calc(18/393) * 100vw);}
    .lineLpPage .marketing .marketingSec .innerRow + .innerRow { margin-top: calc(calc(22/393) * 100vw);}
    .lineLpPage .marketing .marketingSec .innerSec h2 { font-size: calc(calc(14/393) * 100vw); line-height: 1.28;}
    .lineLpPage .marketing .marketingSec .innerSec .img { margin-top: calc(calc(23/393) * 100vw); border-radius: calc(calc(10/393) * 100vw);}
    .lineLpPage .marketing .marketingSec .innerSec p { font-size: calc(calc(12/393) * 100vw); margin-top: calc(calc(8/393) * 100vw);}
    .lineLpPage .marketing .marketingSec1 .circleTitle { top: calc(-1 * calc(calc(48/393) * 100vw)); padding-top: calc(calc(33/393) * 100vw); background-image: url('../images/line/sp_marketing_circle_title1.webp');}
    .lineLpPage .marketing .marketingSec2 { padding-top: calc(calc(87/393) * 100vw);}
    .lineLpPage .marketing .marketingSec2 .circleTitle { background-image: url('../images/line/sp_marketing_circle_title2.webp');}
    .lineLpPage .marketing .marketingSec3 { padding-top: calc(calc(87/393) * 100vw);}
    .lineLpPage .marketing .marketingSec3 .circleTitle { padding-top: calc(calc(15/393) * 100vw); background-image: url('../images/line/sp_marketing_circle_title3.webp');}

    /* ==========================================================================
  ??????????????????????????????????????????????
========================================================================== */

    .lineLpPage .no1 { position: relative; margin-top: calc(calc(73/393) * 100vw);}
    .lineLpPage .no1::before { top: calc(calc(340/393) * 100vw); right: calc(calc(35/393) * 100vw); left: auto; width: calc(calc(20/393) * 100vw); height: calc(calc(20/393) * 100vw); margin-left: 0;}
    .lineLpPage .no1 > header { font-size: calc(calc(16/393) * 100vw); padding: 0;}
    .lineLpPage .no1 > header::before { margin-bottom: calc(calc(16/393) * 100vw);}
    .lineLpPage .no1 > header p { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .no1 .no1text { line-height: 1.46; position: relative; margin-top: calc(calc(36/393) * 100vw); text-align: center;}
    .lineLpPage .no1 .no1text::before { position: absolute; top: calc(-1 * calc(calc(56/393) * 100vw)); left: calc(calc(11/393) * 100vw); width: calc(calc(278/393) * 100vw); height: calc(calc(87/393) * 100vw); background: url('../images/line/sp_no1_bk.svg') no-repeat center center / contain;}
    .lineLpPage .no1 .no1text::after { top: calc(calc(64/393) * 100vw); right: auto; left: calc(calc(40/393) * 100vw); width: calc(calc(21/393) * 100vw); height: calc(calc(19/393) * 100vw); margin-right: 0;}
    .lineLpPage .no1 .no1text span { font-size: calc(calc(18/393) * 100vw);}
    .lineLpPage .no1 .no1text strong { font-size: calc(calc(28/393) * 100vw); margin-top: calc(calc(17/393) * 100vw);}

    /* ==========================================================================
  ???????? ?????
========================================================================== */

    .lineLpPage .compare { margin-top: calc(calc(67/393) * 100vw); padding: 0; background: #fff;}
    .lineLpPage .compare > header::before { margin-bottom: calc(calc(21/393) * 100vw);}
    .lineLpPage .compare > header p { font-size: calc(calc(16/393) * 100vw);}
    .lineLpPage .compare > header h2 { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .compare .tableWrapper { width: calc(100% - 20px); margin: calc(calc(19/393) * 100vw) auto 0; padding: 0; border-radius: 0; background: none; box-shadow: none;}
    .lineLpPage .compare table { width: 100%; max-width: none; border: calc(calc(1/393) * 100vw) solid #ccc;}
    .lineLpPage .compare table th,
    .lineLpPage .compare table td { padding: calc(calc(3/393) * 100vw); border-right: calc(calc(1/393) * 100vw) solid #ccc; border-bottom: calc(calc(1/393) * 100vw) solid #ccc;}
    .lineLpPage .compare .thead th { font-size: calc(calc(10/393) * 100vw);}
    .lineLpPage .compare .thead th:nth-child(1) { width: auto;}
    .lineLpPage .compare .thead th:nth-child(2) { width: calc(calc(89/393) * 100vw);}
    .lineLpPage .compare .thead th:nth-child(2) img { width: calc(calc(61/393) * 100vw);}
    .lineLpPage .compare .thead th:nth-child(2)::before { top: calc(-1 * calc(calc(3/393) * 100vw)); left: 50%; width: calc(calc(82/393) * 100vw); height: calc(calc(178/393) * 100vw); border: calc(calc(3/393) * 100vw) solid #00b159; border: calc(calc(3/393) * 100vw) solid var(--color-green2); translate: -50% 0;}
    .lineLpPage .compare .thead th:nth-child(3) { width: calc(calc(95/393) * 100vw);}
    .lineLpPage .compare .thead th:nth-child(4) { width: calc(calc(95/393) * 100vw);}
    .lineLpPage .compare tbody tr th:first-child { font-size: calc(calc(9/393) * 100vw);}
    .lineLpPage .compare tbody tr th:first-child sup { font-size: calc(calc(8/393) * 100vw);}
    .lineLpPage .compare tbody tr th:first-child:has(sup) { font-size: calc(calc(8/393) * 100vw);}
    .lineLpPage .compare td { font-size: calc(calc(10/393) * 100vw);}
    .lineLpPage .compare td img { width: calc(calc(5/393) * 100vw);}
    .lineLpPage .compare .heiyou { font-size: calc(calc(6/393) * 100vw); flex-flow: row nowrap;}
    .lineLpPage .compare .heiyou::before { display: block;}
    .lineLpPage .compare .notice { font-size: calc(calc(8/393) * 100vw); width: calc(100% - 20px); max-width: none; margin: calc(calc(5/393) * 100vw) auto 0; padding-left: calc(calc(4/393) * 100vw);}

    /* ==========================================================================
  cta
========================================================================== */

    .lineLpPage .ctaSection { padding: calc(calc(80/393) * 100vw) 0 0 0; border: none;}
    .lineLpPage .ctaSection .container { padding: 0 20px;}

    /* ==========================================================================
  ?????????LINE????????????????????????
========================================================================== */

    .lineLpPage .merit { margin-top: calc(calc(47/393) * 100vw);}
    .lineLpPage .merit::before { top: calc(calc(102/393) * 100vw); right: calc(calc(30/393) * 100vw); left: auto; width: calc(calc(20/393) * 100vw); height: calc(calc(20/393) * 100vw); margin-left: 0;}
    .lineLpPage .merit::after { top: calc(calc(46/393) * 100vw); right: auto; left: calc(calc(45/393) * 100vw); width: calc(calc(21/393) * 100vw); height: calc(calc(19/393) * 100vw); margin-right: 0;}
    .lineLpPage .merit .titlePluse { font-size: calc(calc(16/393) * 100vw);}
    .lineLpPage .merit .titlePluse strong { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .merit .titlePluse::before { margin-bottom: calc(calc(10/393) * 100vw);}
    .lineLpPage .merit .graphList { width: calc(calc(370/393) * 100vw); margin: calc(calc(30/393) * 100vw) auto 0; grid-template-columns: 100%; gap: calc(calc(27/393) * 100vw) 0;}
    .lineLpPage .merit .graphList li { display: block; width: 100%;}
    .lineLpPage .merit .graphList li:nth-child(1) { grid-row: 1;}
    .lineLpPage .merit .graphList li:nth-child(2) { grid-row: 2;}
    .lineLpPage .merit .graphList li:nth-child(3) { grid-row: 4;}
    .lineLpPage .merit .graphList li:nth-child(4) { grid-row: 3;}
    .lineLpPage .merit .meritBox { min-height: calc(calc(226/393) * 100vw); border-radius: calc(calc(8/393) * 100vw); box-shadow: calc(calc(5/393) * 100vw) calc(calc(5/393) * 100vw) calc(calc(12.5/393) * 100vw) 0 rgba(166, 176, 191, .50);}
    .lineLpPage .merit .meritBox figure { display: flex; flex-flow: column; align-items: center;}
    @media (max-width:1050px)
    {
        .lineLpPage .merit .meritBox figure img { width: calc(calc(308/393) * 100vw);}
    }
    .lineLpPage .merit .meritBox figcaption { font-size: calc(calc(15/393) * 100vw);}
    .lineLpPage .merit .meritBox figcaption small { font-size: calc(calc(11/393) * 100vw);}
    .lineLpPage .merit .meritBox + p { font-size: calc(calc(11/393) * 100vw); margin: calc(calc(5/393) * 100vw) 0 0 1em; text-indent: -1em; translate: calc(calc(5/393) * 100vw) 0;}
    .lineLpPage .merit .meritBox1 { padding: calc(calc(5/393) * 100vw) 0 0;}
    .lineLpPage .merit .meritBox1 figcaption { margin-top: calc(calc(8/393) * 100vw);}
    .lineLpPage .merit .meritBox2 { padding: calc(calc(11/393) * 100vw) 0 0;}
    .lineLpPage .merit .meritBox2 figcaption { margin-top: calc(calc(5/393) * 100vw);}
    .lineLpPage .merit .meritBox3 { padding: calc(calc(15/393) * 100vw) 0 0;}
    .lineLpPage .merit .meritBox3 figcaption { margin-top: calc(calc(37/393) * 100vw);}
    .lineLpPage .merit .meritBox4 { padding: calc(calc(10/393) * 100vw) 0 0;}
    .lineLpPage .merit .meritBox4 figcaption { margin-top: calc(calc(18/393) * 100vw);}

    /* ==========================================================================
  LINE????????????????????????????????????????????????????????????
========================================================================== */

    .lineLpPage .merit2 { margin-top: calc(calc(66/393) * 100vw);}
    .lineLpPage .merit2 > .titlePluse { font-size: calc(calc(24/393) * 100vw); margin-bottom: calc(calc(51/393) * 100vw);}
    .lineLpPage .merit2 > .titlePluse::before { margin-bottom: calc(calc(11/393) * 100vw);}
    .lineLpPage .merit2 > .titlePluse::after { top: calc(calc(16/393) * 100vw); right: auto; left: calc(calc(30/393) * 100vw); width: calc(calc(21/393) * 100vw); height: calc(calc(19/393) * 100vw); margin-right: 0;}
    .lineLpPage .merit2 .merit2Sec h2 { font-size: calc(calc(18/393) * 100vw); width: calc(calc(295/393) * 100vw); height: calc(calc(28/393) * 100vw); margin: 0 auto calc(calc(26/393) * 100vw); border: calc(calc(2/393) * 100vw) solid #11877a; border: calc(calc(2/393) * 100vw) solid var(--color-green); border-radius: calc(calc(20/393) * 100vw);}
    .lineLpPage .merit2 .merit2Sec ul { width: calc(100% - 20px); grid-template-columns: repeat(2,1fr); gap: calc(calc(19/393) * 100vw) calc(calc(13/393) * 100vw);}
    .lineLpPage .merit2 .merit2Sec li { text-align: center;}
    .lineLpPage .merit2 .merit2Sec li .img { display: flex; margin-bottom: 9px; justify-content: center;}
    .lineLpPage .merit2 .merit2Sec li .img img { width: calc(calc(96/393) * 100vw);}
    .lineLpPage .merit2 .merit2Sec li p { font-size: calc(calc(14/393) * 100vw);}
    .lineLpPage .merit2 .merit2Sec li p .tbNone { display: block;}
    .lineLpPage .merit2 .patient { position: relative;}
    .lineLpPage .merit2 .patient::before { top: calc(-1 * calc(calc(46/393) * 100vw)); right: calc(calc(25/393) * 100vw); left: auto; width: calc(calc(20/393) * 100vw); height: calc(calc(20/393) * 100vw); margin-left: 0;}
    .lineLpPage .merit2 .clinic { margin-top: calc(calc(25/393) * 100vw);}
    .lineLpPage .merit2 .clinic::before { display: none;}
    .lineLpPage .merit2 .clinic .titlePluse::before { width: calc(calc(32/393) * 100vw); height: calc(calc(27/393) * 100vw); margin-bottom: calc(calc(9/393) * 100vw);}
    .lineLpPage .merit2 .clinic ul li:first-child p { width: -moz-max-content; width:      max-content;}

    /* ==========================================================================
  ????????????????
========================================================================== */

    .lineLpPage .example { overflow: hidden; margin-top: calc(calc(49/393) * 100vw); padding: calc(calc(20/393) * 100vw) 0;}
    .lineLpPage .example::before { top: calc(calc(32/393) * 100vw); right: calc(-1 * calc(calc(5/393) * 100vw)); width: calc(calc(220/393) * 100vw); height: calc(calc(214/393) * 100vw); margin-right: 0;}
    .lineLpPage .example .titlePluse { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .example .titlePluse::before { margin-bottom: 0;}
    .lineLpPage .example .row { display: grid; width: calc(calc(367/393) * 100vw); margin: calc(calc(25/393) * 100vw) auto 0; grid-template-columns: 100%; gap: calc(calc(24/393) * 100vw) 0;}
    .lineLpPage .example .exampleSec { width: 100%; min-height: calc(calc(190/393) * 100vw); padding: calc(calc(28/393) * 100vw) calc(calc(8/393) * 100vw) calc(calc(20/393) * 100vw) calc(calc(20/393) * 100vw); border-radius: calc(calc(8/393) * 100vw); background-size: calc(calc(57/393) * 100vw) auto,calc(calc(70/393) * 100vw) auto; box-shadow: calc(calc(5/393) * 100vw) calc(calc(5/393) * 100vw) calc(calc(12.5/393) * 100vw) 0 rgba(166, 176, 191, .50); grid-template-columns: calc(calc(103/393) * 100vw) 1fr; gap: 0 calc(calc(13/393) * 100vw);}
    .lineLpPage .example .exampleSec h2 { font-size: calc(calc(20/393) * 100vw); margin-bottom: calc(calc(15/393) * 100vw);}
    .lineLpPage .example .exampleSec h2::after { width: calc(calc(58/393) * 100vw); height: calc(calc(27/393) * 100vw); margin-left: calc(calc(14/393) * 100vw); background-image: url('../images/line/sp_example_line.webp');}
    .lineLpPage .example .exampleSec p { font-size: calc(calc(13/393) * 100vw);}
    .lineLpPage .example .exampleSec1 .illu img { width: calc(calc(95/393) * 100vw);}
    .lineLpPage .example .exampleSec2 .illu img { width: calc(calc(88/393) * 100vw);}
    .lineLpPage .example .exampleSec3 .illu img { width: calc(calc(87/393) * 100vw);}
    .lineLpPage .example .exampleSec4 .illu img { width: calc(calc(104/393) * 100vw);}

    /* ==========================================================================
  ??????????????????????????????
LINE?????????????????????????
========================================================================== */

    .lineLpPage .function { margin-top: calc(calc(23/393) * 100vw);}
    .lineLpPage .function::before { top: calc(calc(110/393) * 100vw); right: calc(calc(24/393) * 100vw); left: auto; width: calc(calc(20/393) * 100vw); height: calc(calc(20/393) * 100vw); margin-left: 0;}
    .lineLpPage .function::after { top: calc(calc(15/393) * 100vw); right: auto; left: calc(calc(31/393) * 100vw); width: calc(calc(21/393) * 100vw); height: calc(calc(19/393) * 100vw); margin-right: 0;}
    .lineLpPage .function .titlePluse { font-size: calc(calc(16/393) * 100vw);}
    .lineLpPage .function .titlePluse::before { margin-bottom: calc(calc(11/393) * 100vw);}
    .lineLpPage .function .titlePluse span { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .function .row { width: calc(calc(370/393) * 100vw); margin: calc(calc(30/393) * 100vw) auto 0; grid-template-columns: 100%; gap: calc(calc(18/393) * 100vw) 0;}
    .lineLpPage .function .functionSec { display: grid; width: 100%; min-height: calc(calc(190/393) * 100vw); padding: 0 calc(calc(17/393) * 100vw) calc(calc(13/393) * 100vw) calc(calc(13/393) * 100vw); border-radius: calc(calc(8/393) * 100vw); background: #fff; box-shadow: calc(calc(5/393) * 100vw) calc(calc(5/393) * 100vw) calc(calc(12.5/393) * 100vw) 0 rgba(166, 176, 191, .50); grid-template-columns: calc(calc(117/393) * 100vw) 1fr; grid-template-rows: auto 1fr; gap: 0 calc(calc(10/393) * 100vw);}
    .lineLpPage .function .functionSec h2 { font-size: calc(calc(20/393) * 100vw); margin-bottom: calc(calc(7/393) * 100vw);}
    .lineLpPage .function .functionSec p { font-size: calc(calc(13/393) * 100vw);}
    .lineLpPage .function .functionSec1 { gap: 0 calc(calc(11/393) * 100vw);}
    .lineLpPage .function .functionSec1 h2 { margin-top: calc(calc(39/393) * 100vw);}
    .lineLpPage .function .functionSec1 .img { margin-top: calc(calc(42/393) * 100vw);}
    .lineLpPage .function .functionSec2 { gap: 0 calc(calc(10/393) * 100vw);}
    .lineLpPage .function .functionSec2 h2 { margin-top: calc(calc(41/393) * 100vw);}
    .lineLpPage .function .functionSec2 .img { margin-top: calc(calc(30/393) * 100vw);}
    .lineLpPage .function .functionSec3 { gap: 0 calc(calc(13/393) * 100vw);}
    .lineLpPage .function .functionSec3::before { display: none;}
    .lineLpPage .function .functionSec3 h2 { margin-top: calc(calc(30/393) * 100vw);}
    .lineLpPage .function .functionSec3 .img { margin-top: calc(calc(32/393) * 100vw);}
    .lineLpPage .function .functionSec4 { gap: 0 calc(calc(17/393) * 100vw);}
    .lineLpPage .function .functionSec4::before { display: none;}
    .lineLpPage .function .functionSec4 h2 { margin-top: calc(calc(30/393) * 100vw);}
    .lineLpPage .function .functionSec4 .img { margin-top: calc(calc(45/393) * 100vw);}

    /* ==========================================================================
  cta2
========================================================================== */

    .lineLpPage .ctaSection2 { margin-top: calc(calc(52/393) * 100vw); padding-top: 0;}

    /* ==========================================================================
  ????????????LINE??????????????
========================================================================== */

    .lineLpPage .reservationFlow { position: relative; margin-top: calc(calc(39/393) * 100vw); padding: calc(calc(31/393) * 100vw) 0 calc(calc(37/393) * 100vw);}
    .lineLpPage .reservationFlow::before { top: calc(calc(126/393) * 100vw); right: calc(calc(37/393) * 100vw); left: auto; width: calc(calc(20/393) * 100vw); height: calc(calc(20/393) * 100vw); margin-left: 0;}
    .lineLpPage .reservationFlow::after { top: calc(calc(31/393) * 100vw); right: auto; left: calc(calc(33/393) * 100vw); width: calc(calc(21/393) * 100vw); height: calc(calc(19/393) * 100vw); margin-right: 0;}
    .lineLpPage .reservationFlow .titlePluse { font-size: calc(calc(16/393) * 100vw); margin-bottom: calc(calc(21/393) * 100vw);}
    .lineLpPage .reservationFlow .titlePluse::before { margin-bottom: calc(calc(5/393) * 100vw);}
    .lineLpPage .reservationFlow .titlePluse span { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .reservationFlow .text { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .reservationFlow .text + .text { margin-top: 0;}
    .lineLpPage .reservationFlow .phone { position: relative; max-width: calc(calc(163/393) * 100vw); height: calc(calc(326/393) * 100vw); margin: calc(calc(20/393) * 100vw) auto 0;}
    .lineLpPage .reservationFlow .phone::before { top: calc(calc(187/393) * 100vw); right: calc(-1 * calc(calc(59/393) * 100vw)); width: calc(calc(20/393) * 100vw); height: calc(calc(20/393) * 100vw);}
    .lineLpPage .reservationFlow .phone::after { position: absolute; top: calc(calc(92/393) * 100vw); left: calc(-1 * calc(calc(57/393) * 100vw)); width: calc(calc(21/393) * 100vw); height: calc(calc(19/393) * 100vw); content: ''; background: url('../images/line/square_bk.svg') no-repeat center center / contain;}
    .lineLpPage .reservationFlow .phone .phoneWaku { position: relative; z-index: 10;}
    .lineLpPage .reservationFlow .phone .lineAnimationContainer { z-index: 1; top: calc(calc(4/393) * 100vw); left: calc(calc(4/393) * 100vw); width: calc(calc(157/393) * 100vw); height: calc(calc(320/393) * 100vw); background: #fff;}
    .lineLpPage .reservationFlow .phone .lineAnimationContainer .screen { position: absolute; top: 0; left: 0; width: 100%; max-width: none; height: 100%; -o-object-fit: cover; object-fit: cover;}
    .lineLpPage .reservationFlow .phone .lineAnimationContainer .screen0 { left: 50%; width: calc(calc(183/393) * 100vw); translate: -50% 0;}
    .lineLpPage .reservationFlow .phone .lineAnimationContainer .screen1 { z-index: 3; translate: 100% 0;}
    .lineLpPage .reservationFlow .phone .lineAnimationContainer .screen2 { z-index: 4; translate: 100% 0;}
    .lineLpPage .reservationFlow .phone .lineAnimationContainer .screen3 { z-index: 5; translate: 100% 0;}
    .lineLpPage .reservationFlow .phone .lineAnimationContainer .screen4 { z-index: 6; translate: 100% 0;}
    .lineLpPage .reservationFlow .phone .lineAnimationContainer .pointer { position: absolute; z-index: 7; top: 0; left: 0; width: calc(calc(75/393) * 100vw); height: calc(calc(82/393) * 100vw); opacity: 0;}
    .lineLpPage .reservationFlow .phone .phoneClip { height: 0;}

    /* ==========================================================================
  ????????????????????????????????????????????????????
========================================================================== */

    .lineLpPage .callImage { padding: calc(calc(31/393) * 100vw) 0 calc(calc(30/393) * 100vw);}
    .lineLpPage .callImage .titlePluse { font-size: calc(calc(16/393) * 100vw);}
    .lineLpPage .callImage .titlePluse::before { margin-bottom: calc(calc(7/393) * 100vw);}
    .lineLpPage .callImage .titlePluse span { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .callImage .callImageSlide { overflow: hidden; width: 100%; margin: calc(calc(24/393) * 100vw) auto 0;}
    .lineLpPage .callImage .callImageSlide .swiper { overflow: visible; width: calc(calc(340/393) * 100vw); margin: 0 auto; padding: 0;}
    .lineLpPage .callImage .callImageSlide .swiper-slide .img { border-radius: calc(calc(8/393) * 100vw); box-shadow: calc(calc(5/393) * 100vw) calc(calc(5/393) * 100vw) calc(calc(12.5/393) * 100vw) 0 rgba(166, 176, 191, .50);}
    .lineLpPage .callImage .callImageSlide .swiper-slide .img img { border-radius: calc(calc(8/393) * 100vw);}
    .lineLpPage .callImage .callImageSlide .swiper-slide p { font-size: calc(calc(15/393) * 100vw); margin-top: calc(calc(13/393) * 100vw);}
    .lineLpPage .callImage .callImageSlide .swiper-slide .cap1 { margin-left: 0;}
    .lineLpPage .callImage .callImageSlide .swiper-slide .cap2 { margin-left: 0;}
    .lineLpPage .callImage .callImageSlide .swiper-slide .cap3 { margin-left: 0;}
    .lineLpPage .callImage .callImageSlide .swiper-slide + .swiper-slide .img { position: relative;}
    .lineLpPage .callImage .callImageSlide .swiper-slide + .swiper-slide .img::before { display: none;}
    .lineLpPage .callImage .callImageSlide .swiper-button-next { top: calc(calc(110/393) * 100vw); right: calc(-1 * calc(calc(12/393) * 100vw)); width: calc(calc(60/393) * 100vw); height: calc(calc(74/393) * 100vw); margin: 0; transition: opacity .2s; background: url('../images/line/slide_arrow.svg') no-repeat center center / contain;}
    .lineLpPage .callImage .callImageSlide .swiper-button-next::after { display: none;}
    .lineLpPage .callImage .callImageSlide .swiper-button-disabled { opacity: 0;}

    /* ==========================================================================
  ?????????????????????????
========================================================================== */

    .lineLpPage .clinicVoice { width: 100%; margin: calc(calc(13/393) * 100vw) auto 0; grid-template-columns: 100%; gap: 0;}
    .lineLpPage .clinicVoice .titlePluse { font-size: calc(calc(24/393) * 100vw); margin-bottom: calc(calc(24/393) * 100vw);}
    .lineLpPage .clinicVoice .titlePluse::before { margin-bottom: calc(calc(2/393) * 100vw);}
    .lineLpPage .clinicVoice .voiceBox { width: calc(calc(367/393) * 100vw); margin-left: calc(calc(16/393) * 100vw); gap: 0 calc(calc(3/393) * 100vw);}
    .lineLpPage .clinicVoice .voiceBox .imgBox { width: calc(calc(77/393) * 100vw);}
    .lineLpPage .clinicVoice .voiceBox .textBox { margin-top: calc(calc(47/393) * 100vw); padding: calc(calc(6/393) * 100vw) calc(calc(6/393) * 100vw) calc(calc(13/393) * 100vw) calc(calc(10/393) * 100vw); border-radius: 0 calc(calc(10/393) * 100vw) calc(calc(10/393) * 100vw) calc(calc(10/393) * 100vw); flex-grow: 0;}
    .lineLpPage .clinicVoice .voiceBox .textBox h2 { font-size: calc(calc(13/393) * 100vw); line-height: 1.38;}
    .lineLpPage .clinicVoice .voiceBox .textBox p { font-size: calc(calc(13/393) * 100vw); line-height: 1.38;}
    .lineLpPage .clinicVoice > .voiceBox + .voiceBox { margin-top: calc(calc(7/393) * 100vw);}

    /* ==========================================================================
  ???????????????????????????
========================================================================== */

    .lineLpPage .seminarSec { overflow: hidden; margin-top: calc(calc(40/393) * 100vw); padding: calc(calc(32/393) * 100vw) 0 calc(calc(58/393) * 100vw);}
    .lineLpPage .seminarSec::before { top: calc(calc(53/393) * 100vw); right: calc(calc(10/393) * 100vw); width: calc(calc(220/393) * 100vw); height: calc(calc(214/393) * 100vw); margin-right: 0;}
    .lineLpPage .seminarSec .titlePluse::before { margin-bottom: calc(calc(12/393) * 100vw);}
    .lineLpPage .seminarSec .titlePluse h2 { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .seminarSec .titlePluse p { font-size: calc(calc(16/393) * 100vw); margin-top: calc(calc(7/393) * 100vw);}
    .lineLpPage .seminarSec .row { width: calc(calc(320/393) * 100vw); margin: calc(calc(26/393) * 100vw) auto 0; grid-template-columns: 100%; gap: calc(calc(31/393) * 100vw) 0;}
    .lineLpPage .seminarSec .row .seminarBox:nth-child(1) p { max-width: none;}
    .lineLpPage .seminarSec .row .seminarBox:nth-child(2) p { max-width: none;}
    .lineLpPage .seminarSec .row .seminarBox { display: block;}
    .lineLpPage .seminarSec .row .seminarBox a { display: grid; max-width: none; grid-template-rows: auto auto 1fr;}
    .lineLpPage .seminarSec .row .seminarBox .tm { overflow: hidden; border-radius: calc(calc(10/393) * 100vw);}
    .lineLpPage .seminarSec .row .seminarBox h2 { font-size: calc(calc(18/393) * 100vw); margin-top: calc(calc(14/393) * 100vw); padding: 0 calc(calc(10/393) * 100vw);}
    .lineLpPage .seminarSec .row .seminarBox p { font-size: calc(calc(14/393) * 100vw); line-height: 1.42; margin-top: calc(calc(13/393) * 100vw); padding: 0 calc(calc(10/393) * 100vw);}

    /* ==========================================================================
  ?????????????
========================================================================== */

    .lineLpPage .columnSec { overflow: hidden; margin-top: calc(calc(40/393) * 100vw);}
    .lineLpPage .columnSec .titlePluse { margin-bottom: calc(calc(30/393) * 100vw);}
    .lineLpPage .columnSec .titlePluse h2 { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .columnSec .titlePluse p { font-size: calc(calc(16/393) * 100vw); margin-top: calc(calc(6/393) * 100vw);}
    .lineLpPage .columnSec .seminar-sliderWrap { margin: 0; padding-top: 0;}
    .lineLpPage .columnSec .seminar-sliderWrap .swiper { overflow: hidden !important; padding-top: 0; padding-right: calc(calc(22/393) * 100vw); padding-left: calc(calc(22/393) * 100vw);}
    @media only screen and (max-width : 450px)
    {
        .lineLpPage .columnSec .seminar-sliderWrap .swiper { --container-width: 75%;}
    }
    @media only screen and (max-width : 419px)
    {
        .lineLpPage .columnSec .seminar-sliderWrap .swiper { --container-width: 100%;}
    }

    /* ==========================================================================
  endSection
========================================================================== */

    .lineLpPage .endSection { margin-top: calc(calc(57/393) * 100vw); padding: calc(calc(47/393) * 100vw) 0;}
    .lineLpPage .endSection .row { width: calc(calc(337/393) * 100vw); gap: calc(calc(45/393) * 100vw) 0;}
    .lineLpPage .endSection .endSec > header h2 { font-size: calc(calc(16/393) * 100vw);}
    .lineLpPage .endSection .endSec > header h2 .big { font-size: calc(calc(24/393) * 100vw);}
    .lineLpPage .endSection .endSec > header h2 .num { font-size: calc(calc(30/393) * 100vw);}
    .lineLpPage .endSection .endSec p { font-size: calc(calc(16/393) * 100vw); margin-top: calc(calc(20/393) * 100vw);}
    .lineLpPage .endSection .endSec .kome { font-size: calc(calc(14/393) * 100vw); margin-top: 0;}
    .lineLpPage .endSection .endSecLeft { max-width: none;}
    .lineLpPage .endSection .endSecLeft > header::before { width: calc(calc(53/393) * 100vw); height: calc(calc(69.5/393) * 100vw); margin: 0 calc(calc(29/393) * 100vw) 0 calc(calc(14/393) * 100vw); background-image: url('../images/line/sp_end_sec_mark1.webp');}
    .lineLpPage .endSection .endSecLeft h2 .phantomNum::after { font-size: calc(calc(30/393) * 100vw);}
    .lineLpPage .endSection .endSecRight { max-width: none; justify-self: end;}
    .lineLpPage .endSection .endSecRight > header::before { width: calc(calc(73/393) * 100vw); height: calc(calc(66/393) * 100vw); margin: 0 calc(calc(14/393) * 100vw); background-image: url('../images/line/sp_end_sec_mark2.webp');}

    /* ==========================================================================
  ctaSection3
========================================================================== */

    .lineLpPage .ctaSection3 { padding: calc(calc(40/393) * 100vw);}
    /*end*/
}

/* ============================================
   ???????????????????????????? ???????????????????????????????????????
   ============================================ */

.seminar_thumb_placeholder { height: 300px; border-radius: 8px; background-color: #f2f4f8;}

/* ============================================
   ???????????????????????????????
   ============================================ */

.logo_slider { padding-bottom: 30px;}
.logo_slider .owl-carousel .owl-item img { max-height: 45px; width: auto;}
.logo_slider .owl-carousel .owl-stage { transition-timing-function: linear !important;}

/* ============================================================
   onlineLpPage ??? ??????????????????? LP
   ============================================================ */

/* ---------- ????????? ---------- */
.onlineLpPage { font-size: 16px; line-height: 1.7; color: #333;}
.onlineLpPage .online_inner { max-width: 1100px; margin: 0 auto; padding: 0 32px;}
.onlineLpPage .online_sub { font-size: 13px; font-weight: 700; letter-spacing: 0.1em; color: #11877a; margin-bottom: 8px;}
.onlineLpPage .online_note { font-size: 12px; color: #666; line-height: 1.6; margin-top: 12px;}
.onlineLpPage .online_pc_only { display: inline;}
/* ---------- FV ---------- */
.onlineLpPage .online_fv { background-color: #e8f4ff; background-image: url('/common/images/products/online/online_fv_sp.webp'); background-position: center bottom; background-size: 74%; background-repeat: no-repeat; padding: 0 0 30% 0;}
.onlineLpPage .online_fv .online_inner { padding: 6% 0;}
/* ?????????: ????????????????? + ????????????????????? */
.onlineLpPage .online_fv_badge { color: #25b379; font-size: 18px; padding: 0 4%;}
.onlineLpPage .online_fv_badge::before { transform: rotate(-35deg); position: relative; display: inline-block; content: ""; width: 2px; height: 20px; margin: 0 10px; margin-top: -0.2em; vertical-align: middle; background: #25b379;}
.onlineLpPage .online_fv_badge::after { transform: rotate(35deg); background: #25b379; position: relative; display: inline-block; content: ""; width: 2px; height: 20px; margin: 0 10px; margin-top: -0.2em; vertical-align: middle;}
.onlineLpPage .online_fv_badge span { font-size: 26px; color: #25b379; /* ?????? ????????????????????????????????????PC???? background-image ???????????? */ padding-top: 0.4em; background-position: top left -6px; background-repeat: repeat-x; background-size: 1.3em 0.3em; background-image: radial-gradient(0.15em 0.15em at center center, #25b379, #25b379 100%, transparent);}
/* h1: ???????????? */
.onlineLpPage .online_fv h1 { color: #333; font-size: 24px; line-height: 1.2; text-align: left; padding: 0 4%; margin-bottom: 10px;}
.onlineLpPage .online_fv h1 span { display: block; font-size: 24px; text-decoration: underline; text-decoration-color: #25b379; text-decoration-thickness: 3px;}
/* CTA ????????? */
.onlineLpPage .online_fv_cta { margin-bottom: 10%;}
.onlineLpPage .online_fv_cta { margin: 2% 0 2% 8%;}
/* ---------- ????????????????????? (source_underlayer.css: .lp_wid section) ---------- */
.onlineLpPage section h2 { color: #005bab; margin: 0; padding: 3% 0 3% 0; font-size: 28px; line-height: 1.3; text-align: center;}
/* subttl (PROBLEM / FEATURE / EXAMPLE ??) */
.onlineLpPage .online_sub { text-align: center; color: #005bab; font-size: inherit; letter-spacing: normal; margin-bottom: 0;}
/* ????????????????? inner (st-aside ?????) */
.onlineLpPage .online_inner { padding: 6% 4%; font-size: 16px;}
/* ---------- PROBLEM (source: .lp_wid .online_presen) ---------- */
.onlineLpPage .online_problem_list { list-style: none; padding: 0; margin: 0;}
.onlineLpPage .online_problem_list li { text-indent: -30px; padding-left: 30px; font-size: 22px; margin: 0 1% 4% 1%; position: relative;}
.onlineLpPage .online_problem_list li::before { content: ""; display: inline-block; width: 40px; height: 40px; color: #005bab; background-image: url('/common/images/task_alt_70dp.svg'); background-repeat: no-repeat; background-position: center; background-size: contain; padding: 0 20px 0 0; vertical-align: middle;}
/* ---------- FEATURE (source: .lp_wid .online_dekiru .back_blue) ---------- */
.onlineLpPage .online_feature { background: #e9f4ff;}
/* ???????????????????? */
.onlineLpPage .online_feature::before { content: ""; display: inline-block; border-style: solid; border-width: 30px 54px 0 54px; border-color: #fff transparent transparent transparent; left: 36%; position: relative;}
/* ????????????????????????????? (source: .online_bo) */
.onlineLpPage .online_feature_item { background-color: #fff; border-radius: 14px; padding: 3% 6% 4%; box-shadow: 0 2px 10px 0 rgba(192, 192, 192, 0.5); margin-bottom: 4%;}
.onlineLpPage .online_feature_text h3 { text-align: left; color: #333; font-size: 22px; line-height: 1.5; padding-bottom: 4%; border: none;}
.onlineLpPage .online_feature_text p { /*font-size: 16px;*/}
.onlineLpPage .online_feature_num { font-size: 30px; color: #0074ff; font-weight: bold;}
/* ????????????????????? */
.onlineLpPage .online_point_list { list-style: none; padding: 0; margin-top: 6%;}
.onlineLpPage .online_point_list li { display: flex; align-items: center; font-weight: bold; font-size: 18px; line-height: 1.4;}
.onlineLpPage .online_point_badge { color: #0074ff; font-weight: bold; white-space: nowrap;}
.onlineLpPage .online_point_circle { display: inline-flex; align-items: center; justify-content: center; height: 30px; width: 30px; min-width: 30px; border-radius: 50%; background: #0074ff; margin: 0 6px 0 2px; font-size: 12px; color: #fff; font-weight: bold;}
/* ---------- CTA (source: .meet_family_section.online_cta) ---------- */
.onlineLpPage .online_cta_sec { border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; text-align: center;}
.onlineLpPage .online_cta_lead { font-size: 22px; margin: 0 1% 4% 1%;}
/* ---------- OPTION (source: .lp_wid .online_option) ---------- */
.onlineLpPage .online_option_block { background-color: #fff; border-radius: 14px; padding: 3% 6% 4%; box-shadow: 0 2px 10px 0 rgba(192, 192, 192, 0.5); margin-bottom: 4%;}
.onlineLpPage .online_option_block h3 { border: none; text-align: center; font-weight: bold; font-size: 22px;}
.onlineLpPage .online_option_list { list-style: none; padding: 0; margin: 0;}
.onlineLpPage .online_option_list li h4 { font-size: 18px; line-height: 1.5; margin: 8% 0 4% 0;}
.onlineLpPage .online_option_intro,
.onlineLpPage .online_option_text p { font-size: 16px;}
/* LINE????? option_img */
.onlineLpPage .online_option_img { width: 70%; margin-left: 15%; display: block; height: auto;}
/* WEB????? col2 note */
.onlineLpPage .online_note { font-size: 13px; line-height: 1.6; margin-top: 4%;}
/* ---------- HOW TO USE (source: .lp_wid .online_howto back_blue) ---------- */
.onlineLpPage .online_howto { background: #e9f4ff;}
.onlineLpPage .online_howto img { width: 78%; margin-left: 11%; display: block; height: auto;}
/* ---------- PRICE (source: .lp_wid .online_price) ---------- */
/* SP: ???????????? */
.onlineLpPage .online_price_row { list-style: none; padding: 0; margin: 0; text-align: center; font-size: 24px; line-height: 2; font-weight: bold; color: #005bab;}
.onlineLpPage .online_price_item { text-align: center; font-size: 24px; line-height: 2;}
.onlineLpPage .online_price_item span { font-size: 24px; line-height: 1.5;}
.onlineLpPage .online_price_value { border-radius: 20px; padding: 6% 0;}
/* 1??????: ??????????????????? */
.onlineLpPage .online_price_item:first-child .online_price_value { border: 1px solid #005bab;}
/* 2??????: ?? */
.onlineLpPage .online_price_plus { font-size: 36px; display: block; text-align: center; margin: 0; line-height: 2; color: #005bab; font-weight: bold;}
/* 3??????: ??????????????????? */
.onlineLpPage .online_price_item:last-child { color: #ff7035;}
.onlineLpPage .online_price_item:last-child .online_price_value { border: 1px solid #ff7035; color: #ff7035; font-size: 20px; line-height: 1.5; background-color: #ffefe4;}
.onlineLpPage .online_price_label { font-size: 24px; line-height: 1.5; font-weight: bold;}
/* ---------- FLOW (source: .lp_wid .online_flow back_blue) ---------- */
.onlineLpPage .online_flow { background: #e9f4ff;}
.onlineLpPage .online_flow_list { list-style: none; padding: 0; margin: 0;}
.onlineLpPage .online_flow_item img { width: 50%; margin-left: 25%; display: block; height: auto;}
.onlineLpPage .online_flow_item h3 { color: #005bab; border: none; font-size: 17px; padding: 0 0 0 24%;}
/* STEP ???????????? */
.onlineLpPage .online_flow_step { font-size: 12px; line-height: 0.8; color: #005bab;}
.onlineLpPage .online_flow_step span { font-size: 30px; color: #005bab; display: block;}
/* 1?????????????????????????? */
.onlineLpPage .online_flow_item:first-child h3 { padding: 0;}
/* ---------- FAQ (source: .lp_wid .online_faq) ---------- */
.onlineLpPage .online_faq_item { border-top: 1px solid #005bab;}
.onlineLpPage .online_faq_item:last-child { border-bottom: 1px solid #005bab;}
.onlineLpPage .online_faq_q { position: relative; padding: 4% 12% 4% 5%; cursor: pointer; font-size: 15px; line-height: 1.4; font-weight: bold; text-align: left; color: inherit; user-select: none;}
/* Q ?????????? */
.onlineLpPage .online_faq_q > span:not(.online_faq_icon) { color: #005bab; font-size: 16px;}
/* ?????????????? */
.onlineLpPage .online_faq_icon { position: absolute; top: 48%; right: 5%; transform: translateY(-50%); display: block; width: 24px; height: 24px; text-indent: 100%; white-space: nowrap; overflow: hidden;}
.onlineLpPage .online_faq_icon::before,
.onlineLpPage .online_faq_icon::after { display: block; content: ""; background-color: #005bab; position: absolute; width: 18px; height: 4px; top: 50%; left: 50%; transform: translate(-50%, -50%);}
/* ????????????????? */
.onlineLpPage .online_faq_icon::before { width: 4px; height: 18px; transition: opacity 0.3s;}
/* is_open ??????????????? ??? ????? */
.onlineLpPage .online_faq_q.is_open .online_faq_icon::before { opacity: 0;}
.onlineLpPage .online_faq_a { display: none; background-color: #f7f9fa; margin: 0 4% 4%; padding: 4%; font-size: 16px; text-align: left; line-height: 1.7;}

/* ============================================================
   onlineLpPage ??? ???????????????????????????????????: 768px???1023px??
   ============================================================ */

@media only screen and (min-width: 768px) and (max-width: 1023px) {
  .onlineLpPage .online_inner { padding: 0 16px;}
  .onlineLpPage .online_feature_item { flex-direction: column !important; gap: 24px;}
  .onlineLpPage .online_feature_text { flex: none; width: 100%;}
  .onlineLpPage .online_option_list_col2 { grid-template-columns: 1fr 1fr;}
  .onlineLpPage .online_flow_list { flex-wrap: wrap;}
  .onlineLpPage .online_flow_item { flex: 0 0 calc(50% - 12px);}
  .onlineLpPage .online_price_row { flex-direction: column;}
  .onlineLpPage .online_price_item { width: 100%;}
  .onlineLpPage .online_option_block { padding: 24px;}
}

/* ============================================================
   onlineLpPage ??? ?????????????????????????????: max-width 767px??
   ============================================================ */

@media only screen and (max-width: 767px) {
  .onlineLpPage .online_pc_only { display: none;}
  /* FV: h1 span ????????????????????? */
  .onlineLpPage .online_fv h1 span { font-size: 24px;}
}

/* ============================================================
   onlineLpPage FV ??? PC (min-width: 768px)  ?????? source_underlayer.css ??????
   ============================================================ */

@media only screen and (min-width: 768px) {
  /* PC???????????????????????????100%?? */
  .onlineLpPage .online_fv { padding: 0; background-image: url('/common/images/products/online/online_fv_pc.webp'); background-position: 80% top; background-size: 33%; background-repeat: no-repeat;}
  .onlineLpPage .online_fv .online_inner { width: 50%; max-width: 625px; margin-left: max(0px, calc((100% - 1250px) / 2)); margin-right: 0; padding: 2% 0 0 4%;}
  /* h1 ? span ?????????? */
  .onlineLpPage .online_fv h1,
  .onlineLpPage .online_fv h1 span { font-size: 42px; margin-bottom: 10px;}
  /* ??????????????????????????? */
  .onlineLpPage .online_fv_badge { font-size: 34px;}
  .onlineLpPage .online_fv_badge span { font-size: 34px;}
  /* ?????????????????? */
  .onlineLpPage .online_fv_badge::before,
  .onlineLpPage .online_fv_badge::after { width: 3px; height: 30px;}
  /* PC???: ???????????????? ?????? ?????????????? */
  .onlineLpPage .online_fv_badge span { background-image: radial-gradient(0.15em 0.15em at center center, #25b379, #25b379 100%, transparent);}
  /* CTA ???????????? */
  .onlineLpPage .online_fv_cta { margin-bottom: 5%;}
}

/* ============================================================
   onlineLpPage FV ??? ???? PC (768px???1200px)
   ============================================================ */

@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .onlineLpPage .online_fv { background-size: 40%;}
  .onlineLpPage .online_fv h1,
  .onlineLpPage .online_fv h1 span { font-size: 30px;}
}

/* ============================================================
   onlineLpPage ????????????????? ??? PC (min-width: 768px)  source_underlayer.css ?????
   ============================================================ */

@media only screen and (min-width: 768px) {
  /* ????????????????????? */
  .onlineLpPage section h2 { margin: 0;}
  .onlineLpPage .online_inner { max-width: 1250px; margin-left: auto; margin-right: auto; padding: 4% 4%;}
  .onlineLpPage section .online_inner p,
  .onlineLpPage section .online_inner ul li { /*font-size: 22px;
    margin: 0 1% 4% 1%;*/}
  .onlineLpPage .online_sub { font-size: 24px; margin: 4% 0;}
  /* PROBLEM */
  .onlineLpPage .online_problem .online_inner { padding: 4% 0;}
  .onlineLpPage .online_problem_list { padding-left: 18%;}
  .onlineLpPage .online_problem_list li { margin: 0 0 2% 0; font-size: 24px; padding-left: 0; text-indent: -30px;}
  /* FEATURE */
  .onlineLpPage .online_feature::before { left: 47%;}
  .onlineLpPage .online_feature_item { display: flex; flex-wrap: wrap;}
  /* ???????????????: 54% */
  .onlineLpPage .online_feature_text { width: 54%;}
  /* ?????????: 40% */
  .onlineLpPage .online_feature_img { width: 40%;}
  .onlineLpPage .online_feature_img img { padding: 2% 0 0 10%; width: 100%; height: auto;}
  .onlineLpPage .online_feature_text h3 { margin: 2% 0 6% 0; padding: 0; border: none; font-size: 22px;}
  .onlineLpPage .online_feature_num { font-size: 35px; margin-bottom: 2%;}
  .onlineLpPage .online_point_list { margin-top: 3%;}
  .onlineLpPage .online_point_list li { margin: 0 0 1% 0;}
  .onlineLpPage .online_point_circle { padding: 0;}
  /* OPTION */
  .onlineLpPage .online_option_block h3 { font-size: 32px; margin: 0 0 4% 0; padding: 0; width: 100%;}
  .onlineLpPage .online_option_list li h4 { font-size: 24px; line-height: 1.5; margin: 8% 0 4% 0;}
  /* LINE????: flex ??text 50% ?img 50% */
  .onlineLpPage .online_option_list:not(.online_option_list_col2) li { display: flex; flex-wrap: wrap; align-items: flex-start;}
  .onlineLpPage .online_option_list:not(.online_option_list_col2) .online_option_text,
  .onlineLpPage .online_option_list:not(.online_option_list_col2) .online_option_img { width: 50%; margin: 0;}
  /* 2??????? li ?????? */
  .onlineLpPage .online_option_list:not(.online_option_list_col2) li:nth-child(2) { flex-direction: row-reverse;}
  /* 2??????? li ? img ???50%??padding ????? */
  .onlineLpPage .online_option_list:not(.online_option_list_col2) li:nth-child(2) img { width: 50%; margin: 0;}
  .onlineLpPage .online_option_list:not(.online_option_list_col2) .online_option_text { padding-left: 2%;}
  /* WEB???? col2: 50% 2??? */
  .onlineLpPage .online_option_list_col2 { display: flex; flex-wrap: wrap;}
  .onlineLpPage .online_option_list_col2 li { width: 50%; padding: 0 2%;}
  /* WEB????: 1?????? img */
  .onlineLpPage .online_option_list_col2 li:nth-child(1) .online_option_img { width: 80%; margin-left: 10%;}
  /* WEB????: 2?????? img */
  .onlineLpPage .online_option_list_col2 li:nth-child(2) .online_option_img { width: 100%; margin: 60px 0 0;}
  /* WEB????: 1??????????????????????? */
  .onlineLpPage .online_option_list_col2 li:nth-child(1) { position: relative; display: inline-block; vertical-align: middle;}
  .onlineLpPage .online_option_list_col2 li:first-child::after { content: ""; display: inline-block; width: 70px; height: 70px; background-image: url('/common/images/double_arrow_50dp.svg'); background-position: center; background-size: contain; position: absolute; top: 22%; right: 0; bottom: 0; margin: auto; vertical-align: middle;}
  .onlineLpPage .online_option_img { margin-left: 0; padding: 0 15%;}
  /* HOW TO */
  .onlineLpPage .online_howto img { width: 100%; margin: 0;}
  /* PRICE */
  .onlineLpPage .online_price .online_inner { padding: 4% 10%;}
  .onlineLpPage .online_price_row { display: flex; flex-wrap: wrap; align-items: center;}
  .onlineLpPage .online_price_value { padding: 6% 0;}
  .onlineLpPage .online_price_item:nth-child(odd) { width: 45%;}
  .onlineLpPage .online_price_plus { width: 10%; margin: 8% 0; font-size: 36px;}
  .onlineLpPage .online_price_item:first-child .online_price_value { padding: 40px 0;}
  .onlineLpPage .online_price_item:last-child .online_price_value { padding: 30px 0;}
  /* FLOW */
  .onlineLpPage .online_flow_list { display: flex; flex-wrap: wrap;}
  .onlineLpPage .online_flow_item { width: 25%; position: relative;}
  .onlineLpPage .online_flow_item img { margin: 0 0 2% 25%; width: 50%;}
  .onlineLpPage .online_flow_item h3 { font-size: 15px; padding: 0 0 0 20%; text-align: left;}
  /* FLOW: 1???3??????????????????????? */
  .onlineLpPage .online_flow_item:nth-child(1)::after,
  .onlineLpPage .online_flow_item:nth-child(2)::after,
  .onlineLpPage .online_flow_item:nth-child(3)::after { content: ""; display: inline-block; width: 70px; height: 70px; background-image: url('/common/images/double_arrow_50dp.svg'); background-position: center; background-size: contain; position: absolute; top: 10%; right: -20px; bottom: 0; margin: auto; vertical-align: middle;}
  /* FAQ */
  .onlineLpPage .online_faq_q { padding: 3% 12% 3% 5%;}
  .onlineLpPage .online_faq_a { padding: 3% 4%;}
}

/* ============================================================
   monsinLpPage ??? WEB????????????? (source: source_underlayer.css)
   ============================================================ */

/* ---------- ?????? inner ---------- */
.monsinLpPage .monsin_inner { padding: 6% 4%;}
/* ---------- FV (source: .lp_wid .monsin_1st) ---------- */
.monsinLpPage .monsin_fv { background-color: #e8f4ff; background-image: url('/common/images/products/monsin_fv_sp-min.webp'); background-position: left bottom; background-size: 100%; background-repeat: no-repeat; padding: 0 0 30% 0;}
.monsinLpPage .monsin_fv .monsin_inner { padding: 6% 0;}
.monsinLpPage .monsin_fv h1 { color: #333; font-size: 23px; line-height: 1.2; text-align: left; padding: 0; margin-bottom: 10%;}
.monsinLpPage .monsin_fv h1 .monsin_fv_sub { font-size: 30px; white-space: nowrap;}
.monsinLpPage .monsin_fv_cta { margin: 4% 4% 10%;}
/* ---------- H2 ?????? (source: .lp_wid section h2) ---------- */
.monsinLpPage section h2 { color: #005bab; margin: 0; padding: 3% 0 1% 0; font-size: 28px; text-align: center;}
/* ---------- PROBLEM (source: .lp_wid .monsin_presen) ---------- */
.monsinLpPage .monsin_presen h2 { padding: 6% 0;}
.monsinLpPage .monsin_presen_list { list-style: none; padding: 0; margin: 0;}
.monsinLpPage .monsin_presen_list li { text-indent: -30px; padding-left: 30px; font-size: 16px;}
.monsinLpPage .monsin_presen_list li::before { content: ""; display: inline-block; width: 40px; height: 40px; color: #005bab; background-image: url('/common/images/task_alt_70dp.svg'); background-repeat: no-repeat; background-position: center; background-size: contain; padding: 0 20px 0 0; vertical-align: middle;}
/* ---------- MERIT (source: .lp_wid .monsin_dekiru) ---------- */
.monsinLpPage .monsin_dekiru { background: #e9f4ff;}
.monsinLpPage .monsin_dekiru::before { content: ""; display: inline-block; border-style: solid; border-width: 30px 54px 0 54px; border-color: #fff transparent transparent transparent; left: 36%; position: relative;}
.monsinLpPage .monsin_headline { margin: 0; padding: 6% 0; font-size: 20px; text-align: center; line-height: 1.5; color: #005bab;}
.monsinLpPage .monsin_dekiru_num { font-size: 26px; color: #0074ff; font-weight: bold;}
.monsinLpPage .monsin_bo { background-color: #fff; border-radius: 14px; padding: 3% 6% 4%; box-shadow: 0 2px 10px 0 rgba(192, 192, 192, 0.5); margin-bottom: 4%;}
.monsinLpPage .monsin_dekiru h3 { text-align: left; color: #333; font-size: 22px; font-weight: bold; border: none; margin-bottom: 20px;}
.monsinLpPage .monsin_dekiru p:not(.monsin_headline):not(.monsin_dekiru_num) { font-size: 16px; margin-bottom: 20px;}
.monsinLpPage .monsin_dekiru_img { margin: 6% 0;}
.monsinLpPage .monsin_dekiru_img img { width: 100%; height: auto; display: block;}
/* ---------- FUNCTION (source: .lp_wid .monsin_func / .monsin_func02) ---------- */
.monsinLpPage .monsin_presen h2,
.monsinLpPage .monsin_dekiru h2,
.monsinLpPage .monsin_func h2,
.monsinLpPage .monsin_func02 h2,
.monsinLpPage .monsin_flow h2,
.monsinLpPage .monsin_support h2,
.monsinLpPage .monsin_faq h2 { margin: 0 0 40px 0; color: #333;}
.monsinLpPage .monsin_func_list { list-style: none; padding: 0; margin: 0;}
.monsinLpPage .monsin_func_list li { box-shadow: 0 0 10px rgba(0, 91, 171, 0.16); background-color: #fff; border-radius: 4px; padding: 20px; text-align: center; margin-bottom: 4%;}
.monsinLpPage .monsin_func_list li img { width: 60%; height: auto; display: block; margin: 0 auto 4%;}
.monsinLpPage .monsin_func_list li h3 { border: none; text-align: center; font-size: 26px; margin-bottom: 4%;}
.monsinLpPage .monsin_func02 .monsin_func_list li:first-child h3 { margin-top: -10%;}
.monsinLpPage .monsin_func_list li p { font-size: 16px; margin: 0; text-align: left;}
.monsinLpPage .monsin_option_note { font-size: 12px; color: #005bab;}
.monsinLpPage .monsin_func_note { font-size: 12px; margin-top: 4%;}
/* ---------- FLOW (source: .lp_wid .monsin_flow) ---------- */
.monsinLpPage .monsin_flow_list { list-style: none; padding: 0; margin: 0;}
.monsinLpPage .monsin_flow_item { text-align: center; margin-bottom: 4%;}
.monsinLpPage .monsin_flow_item img { width: 60%; height: auto; display: block; margin: 0 auto;}
/* ---------- SUPPORT (source: .lp_wid .monsin_support back_blue) ---------- */
.monsinLpPage .monsin_support { background: #e9f4ff;}
.monsinLpPage .monsin_support_list { list-style: none; padding: 0; margin: 0;}
.monsinLpPage .monsin_support_list li { text-align: center; margin-bottom: 6%;}
.monsinLpPage .monsin_support_list li img { width: 50%; height: auto; display: block; margin: 0 auto 4%;}
.monsinLpPage .monsin_support_list li h3 { font-size:18px; border: none; text-align: center; font-weight: bold; margin-bottom: 20px;}
.monsinLpPage .monsin_support_list li p { margin-bottom: 6%; font-size: 15px; text-align: left;}
/* ---------- FAQ (source: .lp_wid .online_faq) ---------- */
.monsinLpPage .monsin_faq_list { margin: 0; padding: 0;}
.monsinLpPage .monsin_faq_list dt { position: relative; padding: 4% 50px 4% 5%; font-weight: bold; font-size: 15px; border-top: 1px solid #005bab; cursor: pointer;}
.monsinLpPage .monsin_faq_list dt:last-of-type { border-bottom: 1px solid #005bab;}
.monsinLpPage .monsin_faq_q { color: #005bab; font-size: 16px; font-weight: bold; margin-right: 8px;}
/* ?????????????? */
.monsinLpPage .monsin_faq_icon { position: absolute; top: 48%; right: 5%; transform: translateY(-50%); display: block; width: 24px; height: 24px; text-indent: 100%; white-space: nowrap; overflow: hidden;}
.monsinLpPage .monsin_faq_icon::before,
.monsinLpPage .monsin_faq_icon::after { display: block; content: ""; background-color: #005bab; position: absolute; width: 18px; height: 4px; top: 50%; left: 50%; transform: translate(-50%, -50%);}
/* ????????????????? */
.monsinLpPage .monsin_faq_icon::before { width: 4px; height: 18px; transition: opacity 0.3s;}
/* is_open ??????????????? ??? ????? */
.monsinLpPage .monsin_faq_dt.is_open .monsin_faq_icon::before { opacity: 0;}
.monsinLpPage .monsin_faq_list dd { display: none; font-size: 16px;}
.monsinLpPage .monsin_faq_list dd ul { background-color: #f7f9fa; margin: 0 4% 4%; padding: 4%; list-style: none;}
.monsinLpPage .monsin_faq_list dd ul { margin: 0; padding: 0 0 0 1em;}
.monsinLpPage .monsin_faq_list dd ul li { padding: 3% 4%;}

/* ============================================================
   monsinLpPage ??? PC (min-width: 768px)
   ============================================================ */

@media only screen and (min-width: 768px) {
  .monsinLpPage .monsin_inner { max-width: 1250px; margin-left: auto; margin-right: auto; padding: 4% 4%;}
  /* FV */
  .monsinLpPage .monsin_fv { padding: 0; background-image: url('/common/images/products/monsin_fv_pc-min.webp'); background-position: right top; background-size: 55%; background-repeat: no-repeat;}
  .monsinLpPage .monsin_fv .monsin_inner { width: 55%; max-width: 688px; margin-left: max(0px, calc((100% - 1250px) / 2)); margin-right: 0; padding: 4% 4% 0 4%;}
  .monsinLpPage .monsin_fv h1,
  .monsinLpPage .monsin_fv h1 span { font-size: 40px; line-height: 1.4; margin-bottom: 6%;}
  .monsinLpPage .monsin_fv h1 .monsin_fv_sub { font-size: 30px;}
  .monsinLpPage .monsin_fv_cta { margin-bottom: 0;}
  /* PROBLEM */
  .monsinLpPage .monsin_presen h2 { padding: 60px 0;}
  .monsinLpPage .monsin_presen_list { padding-left: 26%;}
  .monsinLpPage .monsin_presen_list li { margin: 0 0 2% 0; font-size: 18px;}
  /* MERIT */
  .monsinLpPage .monsin_dekiru::before { left: 46%;}
  .monsinLpPage .monsin_headline { font-size: 36px; padding: 2% 0;}
  .monsinLpPage .monsin_presen h2,
  .monsinLpPage .monsin_dekiru h2,
  .monsinLpPage .monsin_func h2,
  .monsinLpPage .monsin_func02 h2,
  .monsinLpPage .monsin_flow h2,
  .monsinLpPage .monsin_support h2,
  .monsinLpPage .monsin_faq h2 { font-size: 34px;}
  .monsinLpPage .monsin_merit { display: flex; align-items: flex-start; gap: 2%;}
  .monsinLpPage .monsin_merit_text { width: 54%;}
  .monsinLpPage .monsin_dekiru_img { width: 40%; margin: 3% 0 0 2%;}
  /* FUNCTION */
  .monsinLpPage .monsin_func_list { display: flex; flex-wrap: wrap;}
  .monsinLpPage .monsin_func_list li { margin: 2% 1%; width: 31%;}
  .monsinLpPage .monsin_func02 .monsin_func_list li:nth-child(2) img { width: 76%;}
  .monsinLpPage .monsin_func02 .monsin_func_list li:nth-child(3) img { width: 82%;}
  .monsinLpPage .monsin_func02 .monsin_func_list li:first-child h3 { margin-top: -14%;}
  /* FLOW */
  .monsinLpPage .monsin_flow_list { display: flex; justify-content: center;}
  .monsinLpPage .monsin_flow_item { width: 31%; position: relative; margin: 0 1%;}
  .monsinLpPage .monsin_flow_item:nth-child(1)::after,
  .monsinLpPage .monsin_flow_item:nth-child(2)::after { content: ""; display: inline-block; width: 70px; height: 70px; background-image: url('/common/images/double_arrow_50dp.svg'); background-position: center; background-size: contain; position: absolute; top: 22%; right: -35px; bottom: 0; margin: auto; vertical-align: middle;}
  /* SUPPORT */
  .monsinLpPage .monsin_support_list { display: flex;}
  .monsinLpPage .monsin_support_list li { margin: 0 1%; padding: 3% 2%; width: 31%;}
  .monsinLpPage .monsin_support_list li img { width: 50%;}
  /* FLOW */
  .monsinLpPage .monsin_flow_item:nth-child(3) img { margin: 0 50px 0 0;}
  /* FAQ */
  .monsinLpPage .monsin_faq_list dt { font-size: 18px;}
}

/* ============================================================
   iryobunshoLpPage ??? ????????????DX LP
   ============================================================ */

/* ---------- ???????????????????????? ---------- */
.iryobunshoLpPage { color: #333333; line-height: 1.75;}
.iryobunshoLpPage em { font-style: normal;}
.iryobunshoLpPage .iryobunsho_color_main { color: #00546C;}
.iryobunshoLpPage .iryobunsho_color_sub { color: #007E8F;}
.iryobunshoLpPage .iryobunsho_color_green { color: #24B080;}
.iryobunshoLpPage .iryobunsho_font_en { font-family: "Manrope", sans-serif;}
/* ---------- pc_only / sp_only ---------- */
.iryobunshoLpPage .pc_only { display: none;}
.iryobunshoLpPage .br_sp { display: none;}
/* ---------- ???????????? ---------- */
.iryobunshoLpPage .iryobunsho_container { margin-left: auto; margin-right: auto; position: relative; z-index: 1; width: 90%;}
/* ---------- FV/フッターCTAボタン(Bパターン共通ボタン) ---------- */
.iryobunshoLpPage .mv_title_p > a.base-btn,
.iryobunshoLpPage .iryobunsho_cta_inner > a.base-btn { margin: 0 auto;}

@media only screen and (max-width: 767px) {
  .iryobunshoLpPage .mv_title_p > a.base-btn,
  .iryobunshoLpPage .iryobunsho_cta_inner > a.base-btn { width: 100%; max-width: 340px;}
}

/* ---------- H2 ?????? ---------- */
.iryobunshoLpPage .iryobunsho_h2 { margin-bottom: 40px;}
.iryobunshoLpPage .iryobunsho_h2_en,
.iryobunshoLpPage .iryobunsho_h2_ja { display: block; font-weight: 700;}
.iryobunshoLpPage .iryobunsho_h2_en { font-size: 35px; line-height: 1.37;}
.iryobunshoLpPage .iryobunsho_h2_ja { font-size: 14px;}
/* ---------- MV ---------- */
.iryobunshoLpPage .iryobunsho_mv { position: relative; overflow: hidden;}
.iryobunshoLpPage .iryobunsho_mv_inner { display: flex; width: 100%; flex-wrap: wrap;}
.iryobunshoLpPage .iryobunsho_mv_body,
.iryobunshoLpPage .iryobunsho_mv_img { position: relative; flex-basis: 100%;}
.iryobunshoLpPage .iryobunsho_mv_body { z-index: 2; padding-top: 8px; padding-bottom: 6px;}
.iryobunshoLpPage .iryobunsho_mv_body_bg { position: absolute; left: 0; z-index: 1; width: 100%; max-width: 400px; top: -84px;}
.iryobunshoLpPage .iryobunsho_mv_body_bg img { width: 100%;}
.iryobunshoLpPage .iryobunsho_mv_body_inner { position: relative; z-index: 1; width: 90%; margin-left: auto; margin-right: auto;}
.iryobunshoLpPage .iryobunsho_mv_title .mv_title_small,
.iryobunshoLpPage .iryobunsho_mv_title .mv_title_large,
.iryobunshoLpPage .iryobunsho_mv_title .mv_title_name { display: block; font-weight: 700; width: 100%;}
.iryobunshoLpPage .iryobunsho_mv_title { text-align: center;}
.iryobunshoLpPage .iryobunsho_mv_title .mv_title_small { font-size: 16px; line-height: 1.18; margin-bottom: 4px;}
.iryobunshoLpPage .iryobunsho_mv_title .mv_title_large { font-size: 20px; line-height: 1.2; margin-bottom: 8px;}
.iryobunshoLpPage .iryobunsho_mv_title .mv_title_name { font-size: 30px; line-height: 1.2; margin-bottom: 26px;}
.iryobunshoLpPage .mv_title_p { display: block; position: relative;}
.iryobunshoLpPage .iryobunsho_mv_note { font-size: 10px; font-weight: 500; line-height: 1.5; color: #00546C; width: 335px; margin: 17px auto 0;}
.iryobunshoLpPage .iryobunsho_mv_img { z-index: 1; height: 67vw; padding-bottom: 46px;}
.iryobunshoLpPage .iryobunsho_mv_img_bg { position: absolute; right: 0; z-index: 1; width: 100%; height: 156.8vw; max-height: 100vh; bottom: 0;}
.iryobunshoLpPage .iryobunsho_mv_img_bg img { width: 100%; height: 100%; object-fit: cover;}
.iryobunshoLpPage .iryobunsho_mv_img_main { display: block; position: relative; z-index: 1; height: 100%; width: 92.8%; margin: 0 auto;}
.iryobunshoLpPage .iryobunsho_mv_img_main .mv_img_1,
.iryobunshoLpPage .iryobunsho_mv_img_main .mv_img_2 { display: block; position: absolute; z-index: 1;}
.iryobunshoLpPage .iryobunsho_mv_img_main .mv_img_1 { width: 70%; bottom: 0; left: 15%;}
.iryobunshoLpPage .iryobunsho_mv_img_main .mv_img_2 { width: 43%; top: 50px; left: 200px;}
.iryobunshoLpPage .iryobunsho_mv_body_blur { position: absolute; left: 0; bottom: -10px; z-index: 1;}
.iryobunshoLpPage .iryobunsho_mv_body_blur img { width: 100%; height: 140px; object-fit: cover;}
.iryobunshoLpPage .iryobunsho_mv_body_blur.pc_only { display: none;}
/* ---------- ISSUE ---------- */
.iryobunshoLpPage .iryobunsho_issue { padding-top: 21px;}
.iryobunshoLpPage .iryobunsho_issue_inner { width: 90%; margin: 0 auto;}
.iryobunshoLpPage .iryobunsho_issue_title { font-size: 24px; font-weight: 700; text-align: center; margin-bottom: 1em;}
.iryobunshoLpPage .iryobunsho_issue_title .br_sp { display: block;}
.iryobunshoLpPage .iryobunsho_issue_list { justify-content: center; margin-bottom: 20px;}
.iryobunshoLpPage .iryobunsho_issue_item { padding: 2rem;}
.iryobunshoLpPage .iryobunsho_issue_item_icon { width: 200px; aspect-ratio: 1/1; margin-left: auto; margin-right: auto; margin-bottom: 16px;}
.iryobunshoLpPage .iryobunsho_issue_item_icon img { width: 100%;}
.iryobunshoLpPage .iryobunsho_issue_item_title { text-align: center; font-weight: bold; font-size: 1.375rem;}
.iryobunshoLpPage .iryobunsho_issue_item p { text-align: left; margin-top: 1rem;}
.iryobunshoLpPage .iryobunsho_issue_item_text { font-size: 14px; text-align: center;}
.iryobunshoLpPage .iryobunsho_issue_solution { position: relative; background: linear-gradient(to right, #00546C 0%, #007E8F 28%, #1C9F91 90%); color: #FFF; text-align: center; padding-top: 44px; padding-bottom: 32px;}
.iryobunshoLpPage .iryobunsho_issue_solution::before { display: block; position: absolute; top: -1px; left: 50%; transform: translateX(-50%); background-color: #FFF; clip-path: polygon(0 0, 100% 0, 50% 100%); content: ""; width: 125px; height: 36px;}
.iryobunshoLpPage .solution_txt { font-size: 20px; font-weight: 700; color: inherit; line-height: 1.5; margin: 0 15px;}
.iryobunshoLpPage .solution_txt .br_pc { display: none;}
.iryobunshoLpPage .small_caption { font-size: 11px; color: #fff; display: inline-block;}
/* ---------- FEATURE ---------- */
.iryobunshoLpPage .iryobunsho_feature { padding-top: 60px; padding-bottom: 56px;}
.iryobunshoLpPage .iryobunsho_feature_item { position: relative; margin-bottom: 40px;}
.iryobunshoLpPage .iryobunsho_feature_item_head { padding-bottom: 35px;}
.iryobunshoLpPage .iryobunsho_feature_item_num { font-size: 16px; font-weight: 700; margin-bottom: 16px;}
.iryobunshoLpPage .iryobunsho_feature_item_num em { font-size: 20px;}
.iryobunshoLpPage .iryobunsho_feature_item_title { font-size: 24px; font-weight: 700;}
.iryobunshoLpPage .iryobunsho_feature_item_figure_img { position: relative;}
.iryobunshoLpPage .iryobunsho_feature_item_figure_img img { width: 100%; position: relative; z-index: 1; box-shadow: 4px 8px 8px rgba(0, 84, 108, 0.1); border-radius: 10px; border: 1px solid #D9D9D9;}
.iryobunshoLpPage .iryobunsho_feature_item_bg { position: absolute; z-index: 1; background: linear-gradient(to right, #00546C 0%, #007E8F 28%, #1C9F91 100%); clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%); width: calc(58% + 5vw); height: 61px; top: -29px; right: -5vw;}
.iryobunshoLpPage .iryobunsho_feature_item.is_reverse .iryobunsho_feature_item_bg { background: linear-gradient(to left, #00546C 0%, #007E8F 28%, #1C9F91 100%); clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%); left: -5vw; right: unset;}
.iryobunshoLpPage .iryobunsho_feature_item_text { font-size: 14px; margin-top: 24px;}
/* ---------- CTA ---------- */
.iryobunshoLpPage .iryobunsho_cta { position: relative; background: linear-gradient(to right, #00546C 0%, #007E8F 28%, #1C9F91 90%); padding: 32px 0;}
.iryobunshoLpPage .iryobunsho_cta_bg { display: none;}
.iryobunshoLpPage .iryobunsho_cta_inner { position: relative; z-index: 1; background-color: #FFF; text-align: center; border-radius: 5px; padding: 10px 0 15px;}
.iryobunshoLpPage .iryobunsho_cta_lead { font-size: 20px; font-weight: 700; line-height: 1.5; margin-bottom: 16px;}
.iryobunshoLpPage .iryobunsho_cta_lead span { display: block;}
/* ---------- FLOW ---------- */
.iryobunshoLpPage .iryobunsho_flow { background-color: #F2F4F8; padding: 60px 0 56px;}
.iryobunshoLpPage .iryobunsho_flow_list { display: flex; width: 100%; background-color: #FFF; position: relative; z-index: 1; flex-wrap: wrap; row-gap: 20px; padding: 30px 0 30px 20px; max-width: 500px; margin: 0 auto;}
.iryobunshoLpPage .iryobunsho_flow_item { display: flex; align-items: center; position: relative; z-index: 1; flex-basis: 100%; flex-direction: row; column-gap: 20px;}
.iryobunshoLpPage .iryobunsho_flow_item::before,
.iryobunshoLpPage .iryobunsho_flow_item::after { display: block; background-color: #00546C; position: absolute; content: ""; width: 2px; height: 100%; left: 14px;}
.iryobunshoLpPage .iryobunsho_flow_item::after { top: 50%;}
.iryobunshoLpPage .iryobunsho_flow_item::before { bottom: 50%;}
.iryobunshoLpPage .iryobunsho_flow_item:last-child::after { width: 0;}
.iryobunshoLpPage .iryobunsho_flow_item:first-child::before { width: 0;}
.iryobunshoLpPage .iryobunsho_flow_item_num { width: 30px; position: relative; z-index: 1; font-size: 16px; font-weight: 700; letter-spacing: 0.1em; line-height: 30px; text-align: center; color: #FFF; background: linear-gradient(to right, #00546C 0%, #007E8F 28%, #1C9F91 90%); border-radius: 50%; flex-shrink: 0;}
.iryobunshoLpPage .iryobunsho_flow_item_icon { width: 80px;}
.iryobunshoLpPage .iryobunsho_flow_item_icon img { width: 100%;}
.iryobunshoLpPage .iryobunsho_flow_item_h3 { color: #00647E; font-weight: 700; font-size: 14px;}
/* ---------- SUPPORT ---------- */
.iryobunshoLpPage .iryobunsho_support { position: relative; padding: 60px 0 56px;}
.iryobunshoLpPage .iryobunsho_support_bg { display: flex; align-items: flex-end; position: absolute; z-index: 1; right: 0; top: 0; width: 70%;}
.iryobunshoLpPage .iryobunsho_support_bg img { width: 100%;}
.iryobunshoLpPage .iryobunsho_support_container { display: flex; justify-content: center; flex-wrap: wrap; row-gap: 30px;}
.iryobunshoLpPage .iryobunsho_support_item { flex-basis: 100%; max-width: 500px; background-color: #FFF; border: 2px solid #EEEEEE; padding: 24px 20px;}
.iryobunshoLpPage .iryobunsho_support_item_img { margin: 0 auto; margin-bottom: 35px;}
.iryobunshoLpPage .iryobunsho_support_item_img img { width: 100%;}
.iryobunshoLpPage .iryobunsho_support_item_img.img_01 { width: 40%; max-width: 170px;}
.iryobunshoLpPage .iryobunsho_support_item_img.img_02 { width: 63.3%; max-width: 230px;}
.iryobunshoLpPage .iryobunsho_support_item_h3 { visibility: hidden; height: 0;}
.iryobunshoLpPage .iryobunsho_support_item_text { font-size: 14px;}
/* ---------- FAQ ---------- */
.iryobunshoLpPage .iryobunsho_faq { background-color: #F2F4F8; padding: 60px 0;}
.iryobunshoLpPage .iryobunsho_faq_list { list-style: none; padding: 0; margin: 0;}
.iryobunshoLpPage .iryobunsho_faq_list li { border-top: 1px solid #00546C; padding: 2.2% 0 3.5%;}
.iryobunshoLpPage .iryobunsho_faq_list li:last-child { border-bottom: 1px solid #00546C;}
.iryobunshoLpPage .iryobunsho_question { font-size: 14px; font-weight: 700; margin-bottom: 1.8%; text-align: left;}
.iryobunshoLpPage .iryobunsho_q { font-size: 18px; color: #24B080; margin-right: 8px;}
.iryobunshoLpPage .iryobunsho_answer { background-color: #fff; padding: 2.6%; font-size: 14px; text-align: left;}

/* ============================================================
   iryobunshoLpPage ??? PC (min-width: 768px)
   ============================================================ */

@media only screen and (min-width: 768px) {
  .iryobunshoLpPage .pc_only { display: block;}
  .iryobunshoLpPage .br_sp { display: none;}
  .iryobunshoLpPage .br_pc { display: block;}
  /* ???????????? */
  .iryobunshoLpPage .iryobunsho_container { max-width: 1160px; min-width: 700px;}
  /* H2 */
  .iryobunshoLpPage .iryobunsho_h2 { margin-bottom: 76px;}
  .iryobunshoLpPage .iryobunsho_h2_en { font-size: 50px; line-height: 1.36; margin-bottom: 16px;}
  .iryobunshoLpPage .iryobunsho_h2_ja { font-size: 18px;}
  /* MV */
  .iryobunshoLpPage .iryobunsho_mv_inner { height: 31.25vw; min-height: 300px; flex-wrap: nowrap;}
  .iryobunshoLpPage .iryobunsho_mv_body,
  .iryobunshoLpPage .iryobunsho_mv_img { flex-shrink: 0; height: 100%; flex-basis: auto;}
  .iryobunshoLpPage .iryobunsho_mv_body { flex-basis: 53%; padding-top: 5.4%; padding-bottom: 66px;}
  .iryobunshoLpPage .iryobunsho_mv_body_bg { width: 38%; max-width: none; top: 100%; transform: translateY(-50%);}
  .iryobunshoLpPage .iryobunsho_mv_body_inner { width: max-content; margin-left: auto; margin-right: 0;}
  .iryobunshoLpPage .iryobunsho_mv_title { text-align: left;}
  .iryobunshoLpPage .iryobunsho_mv_title .mv_title_small { font-size: clamp(14px, 1.66vw, 32px); line-height: 1.18; margin-bottom: 0.56em;}
  .iryobunshoLpPage .iryobunsho_mv_title .mv_title_large { font-size: clamp(19px, 2.5vw, 48px); line-height: 1.2; margin-bottom: 0.25em;}
  .iryobunshoLpPage .iryobunsho_mv_title .mv_title_name { font-size: clamp(36px, 4.58vw, 88px); line-height: 1.2; margin-bottom: 0.44em;}
  .iryobunshoLpPage .iryobunsho_mv_note { font-size: clamp(10px, 0.833vw, 16px); margin-top: 6.4%; width: auto; margin-left: 0; margin-right: 0;}
  .iryobunshoLpPage .iryobunsho_mv_img { flex-basis: 47%; padding-left: 22px; padding-top: 7%; padding-bottom: 5.1%; height: auto;}
  .iryobunshoLpPage .iryobunsho_mv_img_bg { width: calc(100% + 20px); height: auto; max-height: none; top: 0; bottom: auto;}
  .iryobunshoLpPage .iryobunsho_mv_img_main { width: 90%; margin: 0;}
  .iryobunshoLpPage .iryobunsho_mv_img_main .mv_img_1 { width: 74%; bottom: -20px; left: 8.3%; top: auto;}
  .iryobunshoLpPage .iryobunsho_mv_img_main .mv_img_2 { width: 49.5%; top: -10px; left: 56.3%;}
  .iryobunshoLpPage .iryobunsho_mv_body_blur { width: 50vw; height: 38%;}
  .iryobunshoLpPage .iryobunsho_mv_body_blur img { width: 50%; height: 100%;}
  .iryobunshoLpPage .iryobunsho_mv_body_blur.pc_only { display: block;}
  .iryobunshoLpPage .iryobunsho_mv_body_blur.sp_only { display: none;}
  /* ISSUE */
  .iryobunshoLpPage .iryobunsho_issue { padding-top: 80px;}
  .iryobunshoLpPage .iryobunsho_issue_inner { max-width: 1250px;}
  .iryobunshoLpPage .iryobunsho_issue_title { font-size: 36px;}
  .iryobunshoLpPage .iryobunsho_issue_list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; max-width: 1250px; margin-left: auto; margin-right: auto; margin-bottom: 44px; column-gap: 7.4%;}
  .iryobunshoLpPage .iryobunsho_issue_item_icon { margin-bottom: 25px;}
  .iryobunshoLpPage .iryobunsho_issue_item_text { font-size: 16px;}
  .iryobunshoLpPage .iryobunsho_issue_solution { padding-top: 80px; padding-bottom: 64px;}
  .iryobunshoLpPage .iryobunsho_issue_solution::before { width: 250px; height: 60px;}
  .iryobunshoLpPage .solution_txt { font-size: 40px; margin: 0;}
  .iryobunshoLpPage .solution_txt .br_pc { display: block;}
  /* FEATURE */
  .iryobunshoLpPage .iryobunsho_feature { padding-top: 80px; padding-bottom: 120px;}
  .iryobunshoLpPage .iryobunsho_feature_item { margin-bottom: clamp(100px, 15.2vw, 200px);}
  .iryobunshoLpPage .iryobunsho_feature_item_inner { display: grid; grid-template-columns: 40% 60%; grid-template-rows: max-content max-content;}
  .iryobunshoLpPage .iryobunsho_feature_item_head { padding-bottom: 24px; grid-column: 1/2; grid-row: 1/2;}
  .iryobunshoLpPage .iryobunsho_feature_item_figure { grid-column: 2/3; grid-row: 1/3;}
  .iryobunshoLpPage .iryobunsho_feature_item_text { font-size: 16px; margin-top: 0; grid-column: 1/2; grid-row: 2/3; padding-right: 40px;}
  .iryobunshoLpPage .iryobunsho_feature_item.is_reverse .iryobunsho_feature_item_inner { grid-template-columns: 60% 40%;}
  .iryobunshoLpPage .iryobunsho_feature_item.is_reverse .iryobunsho_feature_item_head { grid-column: 2/3; padding-left: 40px;}
  .iryobunshoLpPage .iryobunsho_feature_item.is_reverse .iryobunsho_feature_item_figure { grid-column: 1/2;}
  .iryobunshoLpPage .iryobunsho_feature_item.is_reverse .iryobunsho_feature_item_text { grid-column: 2/3; padding-right: 0; padding-left: 40px;}
  .iryobunshoLpPage .iryobunsho_feature_item_num { font-size: 18px; margin-bottom: 48px;}
  .iryobunshoLpPage .iryobunsho_feature_item_num em { font-size: 24px;}
  .iryobunshoLpPage .iryobunsho_feature_item_title { font-size: clamp(26px, 1.667vw, 32px);}
  .iryobunshoLpPage .iryobunsho_feature_item_figure_img img { box-shadow: 16px 40px 40px rgba(0, 84, 108, 0.1);}
  .iryobunshoLpPage .iryobunsho_feature_item_bg { width: calc(100% + max(5vw, 50vw - 580px)); height: 16vw; bottom: -7.18vw; left: 0; top: auto; right: auto;}
  .iryobunshoLpPage .iryobunsho_feature_item.is_reverse .iryobunsho_feature_item_bg { left: unset; right: 0;}
  /* CTA */
  .iryobunshoLpPage .iryobunsho_cta { background: none; padding: 20px 0;}
  .iryobunshoLpPage .iryobunsho_cta_bg { display: block; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 1;}
  .iryobunshoLpPage .iryobunsho_cta_bg img { width: 100%; height: 100%; object-fit: cover;}
  .iryobunshoLpPage .iryobunsho_cta_inner { border-radius: 20px; padding: 20px 0 30px;}
  .iryobunshoLpPage .iryobunsho_cta_lead { font-size: clamp(28px, 2.8vw, 36px); line-height: 40px; margin-bottom: 40px;}
  .iryobunshoLpPage .iryobunsho_cta_lead span { display: inline;}
  /* FLOW */
  .iryobunshoLpPage .iryobunsho_flow { padding: 80px 0 120px;}
  .iryobunshoLpPage .iryobunsho_flow_list { justify-content: space-evenly; padding: 40px 0; flex-wrap: nowrap; row-gap: 0; max-width: none; margin: 0;}
  .iryobunshoLpPage .iryobunsho_flow_item { flex-basis: auto; flex-direction: column; row-gap: 35px;}
  .iryobunshoLpPage .iryobunsho_flow_item::before,
  .iryobunshoLpPage .iryobunsho_flow_item::after { width: 95%; height: 2px; top: 14px; left: auto; bottom: auto;}
  .iryobunshoLpPage .iryobunsho_flow_item::after { left: 50%;}
  .iryobunshoLpPage .iryobunsho_flow_item::before { right: 50%;}
  .iryobunshoLpPage .iryobunsho_flow_item:last-child::after { width: 0;}
  .iryobunshoLpPage .iryobunsho_flow_item:first-child::before { width: 0;}
  .iryobunshoLpPage .iryobunsho_flow_item_icon { width: 120px;}
  .iryobunshoLpPage .iryobunsho_flow_item_h3 { font-size: 16px; text-align: center;}
  /* SUPPORT */
  .iryobunshoLpPage .iryobunsho_support { padding: 80px 0;}
  .iryobunshoLpPage .iryobunsho_support_bg { width: 23.4%;}
  .iryobunshoLpPage .iryobunsho_support_container { justify-content: space-between; flex-wrap: nowrap; row-gap: 0;}
  .iryobunshoLpPage .iryobunsho_support_item { flex-basis: 46.5%; max-width: none; padding: 40px;}
  .iryobunshoLpPage .iryobunsho_support_item_img { margin-bottom: 56px;}
  .iryobunshoLpPage .iryobunsho_support_item_img.img_01 { width: 31.5%; max-width: none;}
  .iryobunshoLpPage .iryobunsho_support_item_img.img_02 { width: 42.6%; max-width: none;}
  .iryobunshoLpPage .iryobunsho_support_item_text { font-size: 16px;}
  /* FAQ */
  .iryobunshoLpPage .iryobunsho_faq { padding: 80px 0;}
  .iryobunshoLpPage .iryobunsho_question { font-size: 18px;}
  .iryobunshoLpPage .iryobunsho_q { font-size: 24px;}
  .iryobunshoLpPage .iryobunsho_answer { font-size: 16px;}
}

/* ============================================================
   page-aiboard — AI-Board LP（2026-08-19リニューアル版。旧.aiboardLpPage設計を全面置換）
   ============================================================ */

.page-aiboard .color_main { color: #00546C;}
.page-aiboard .color_sub { color: #007E8F;}
.page-aiboard .color_green { color: #24B080;}
.page-aiboard .font_en { font-family: "Manrope", sans-serif;}
.page-aiboard { color: #333333; line-height: 1.75;}
.page-aiboard i, .page-aiboard em { font-style: normal;}

@media (min-width: 768px) {
  .page-aiboard a[href^="tel:"] { pointer-events: none;}
}

.page-aiboard__button { display: flex; align-items: center; background: linear-gradient(to right, #2163F2 0%, #329CC3 50%, #32C0B1 100%); text-decoration: none; transition: opacity .2s;}
.page-aiboard__button:hover { background: linear-gradient(90deg, #00546c 0%, #007e8f 28%, #1c9f91 90%); opacity: 1;}
.page-aiboard__button .__btn__txt { color: #FFF; text-align: center; font-weight: 700; line-height: 1.2;}

@media (min-width: 768px) {
  .page-aiboard__button.__mv__btn { width: 64%; max-width: 395px; min-width: 265px; height: 75px; border-radius: 38px; padding: 0 12px;}
  .page-aiboard__button.__mv__btn .__btn__txt { font-size: clamp(16px, 1.36vw, 26px);}
  .page-aiboard__button.__cta__btn { width: 500px; height: 72px; border-radius: 38px; padding: 0 10px; margin: 0 auto;}
  .page-aiboard__button.__cta__btn .__btn__txt { font-size: 26px;}
  .page-aiboard__button.__cta__btn .__btn__txt br { display: none;}
  .page-aiboard__button .__btn__txt { flex-grow: 1;}
  .page-aiboard__button .__btn__icon { width: 50px; height: 50px;}
}

@media (max-width: 767px) {
  .page-aiboard__button { width: 280px; height: 53px; border-radius: 27px; padding: 0 12px; margin: 0 auto;}
  .page-aiboard__button .__btn__txt { flex-grow: 1; font-size: 16px;}
  .page-aiboard__button .__btn__icon { width: 40px; height: 40px;}
}

.page-aiboard__mv { position: relative; overflow: hidden;}
.page-aiboard__mv__inner { display: flex; width: 100%;}

@media (min-width: 768px) {
  /* height固定だと本文が長い時に注意書き(.page-aiboard__mv__note)が
     overflow:hiddenで見切れるため、コンテンツに応じて伸びるmin-heightにする */
  .page-aiboard__mv__inner { min-height: max(32vw, 300px);}
}

@media (max-width: 767px) {
  .page-aiboard__mv__inner { flex-wrap: wrap;}
}

.page-aiboard__mv__body, .page-aiboard__mv__img { position: relative;}

@media (min-width: 768px) {
  .page-aiboard__mv__body, .page-aiboard__mv__img { flex-shrink: 1; min-width: 0;}
}

@media (max-width: 767px) {
  .page-aiboard__mv__body, .page-aiboard__mv__img { flex-basis: 100%;}
}

.page-aiboard__mv__body { z-index: 2;}

@media (min-width: 768px) {
  .page-aiboard__mv__body { flex-basis: 53%; padding-top: 1.0%; padding-bottom: 66px;}
}

@media (max-width: 767px) {
  .page-aiboard__mv__body { padding-top: 8px; padding-bottom: 6px;}
}

.page-aiboard__mv__bodyBg { position: absolute; left: 0; z-index: 1;}
.page-aiboard__mv__bodyBg img { width: 100%;}

@media (min-width: 768px) {
  .page-aiboard__mv__bodyBg { width: 38%; top: 100%; transform: translateY(-50%);}
}

@media (max-width: 767px) {
  .page-aiboard__mv__bodyBg { width: 100%; max-width: 400px; top: -84px;}
}

.page-aiboard__mv__bodyInner { position: relative; z-index: 1;}

@media (min-width: 768px) {
  .page-aiboard__mv__bodyInner { width: 100%; max-width: -moz-max-content; max-width: max-content; margin-left: auto;}
}

@media (max-width: 767px) {
  .page-aiboard__mv__bodyInner { width: 90%; margin-left: auto; margin-right: auto;}
}

.page-aiboard__mv__title .mv__title__small, .page-aiboard__mv__title .mv__title__large, .page-aiboard__mv__title .mv__title__name { display: block; font-weight: 700; width: 100%;}

@media (min-width: 768px) {
  .page-aiboard__mv__title .mv__title__small { font-size: clamp(15px, 1.7vw, 24px); line-height: 1.5; letter-spacing:0.01em; margin-bottom: 0.56em;}
  .page-aiboard__mv__title .mv__title__large { font-size: clamp(26px, 5.4vw, 52px); line-height: 1.5; margin-bottom: 0.50em;}
  .page-aiboard__mv__title .mv__title__name { font-size: clamp(19px, 4.58vw, 48px); line-height: 1.2; margin-bottom: 0.44em;}
  .page-aiboard__mv__title .mv__title__name .__small { font-size: clamp(12px, 1.35vw, 26px);}
}

@media (max-width: 767px) {
  .page-aiboard__mv__title { text-align: center;}
  .page-aiboard__mv__title .mv__title__small { font-size: 16px; line-height: 1.18; margin-bottom: 4px;}
  .page-aiboard__mv__title .mv__title__large { font-size: 20px; line-height: 1.2; margin-bottom: 8px;}
  .page-aiboard__mv__title .mv__title__name { font-size: 40px; line-height: 1.2; margin-bottom: 26px;}
  .page-aiboard__mv__title .mv__title__name .__small { font-size: 14px;}
}

.page-aiboard__mv__title .mv__title__gray { color: #848484;}
.page-aiboard__mv__title .mv__title__primary { color: #1c9f91;}
.page-aiboard__mv__title .mv__title__highlight { position: relative; white-space: nowrap;}
.page-aiboard__mv__title .mv__title__highlight::after { content: ''; position: absolute; left: 0; right: 0; bottom: .06em; height: .34em; background: rgba(36, 177, 128, .20); z-index: -1; border-radius: 3px;}
.page-aiboard__mv__note { font-weight: 500;}

@media (min-width: 768px) {
  .page-aiboard__mv__note { font-size: clamp(10px, 0.833vw, 16px); margin-top: 1%;}
}

@media (max-width: 767px) {
  .page-aiboard__mv__note { font-size: 10px; line-height: 1.5; color: #00546C; width: 335px; margin: 17px auto 0;}
}

.page-aiboard__mv__img { z-index: 1;}

@media (min-width: 768px) {
  .page-aiboard__mv__img { flex-basis: 47%; padding-left: 22px; padding-top: 7%; padding-bottom: 5.1%;}
}

@media (max-width: 767px) {
  .page-aiboard__mv__img { height: 67vw; padding-bottom: 46px;}
}

.page-aiboard__mv__imgBg { position: absolute; right: 0; z-index: 1;}
.page-aiboard__mv__imgBg img { width: 100%; -o-object-fit: cover; object-fit: cover;}

@media (min-width: 768px) {
  .page-aiboard__mv__imgBg { width: calc(100% + 20px); -o-object-position: left; object-position: left; top: 0;}
}

@media (max-width: 767px) {
  .page-aiboard__mv__imgBg { width: 100%; height: 156.8vw; max-height: 100vh; bottom: 0;}
}

.page-aiboard__mv__imgMain { display: block; position: relative; z-index: 1; height: 100%;}
.page-aiboard__mv__imgMain .__mv_1, .page-aiboard__mv__imgMain .__mv_2, .page-aiboard__mv__imgMain .__mv_3 { display: block; position: absolute; z-index: 1;}

@media (min-width: 768px) {
  .page-aiboard__mv__imgMain { width: 90%;}
  .page-aiboard__mv__imgMain .__mv_1 { width: 74%; bottom: -20px; left: 8.3%;}
  .page-aiboard__mv__imgMain .__mv_2 { width: 49.5%; top: -100px; left: -20px;}
  .page-aiboard__mv__imgMain .__mv_3 { width: 52%; top: 30%; right: -50px;}
}

@media (max-width: 767px) {
  .page-aiboard__mv__imgMain { width: 92.8%; margin: 0 auto;}
  .page-aiboard__mv__imgMain .__mv_1 { width: 70%; bottom: 0; left: 15%;}
  .page-aiboard__mv__imgMain .__mv_2 { width: 49.7%; top: 0; left: 0;}
  .page-aiboard__mv__imgMain .__mv_3 { width: 51.7%; top: 28%; right: 0;}
}

.page-aiboard__mv__bodyBlur { position: absolute; left: 0; bottom: 0; z-index: 1;}
.page-aiboard__mv__bodyBlur img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover;}

@media (min-width: 768px) {
  .page-aiboard__mv__bodyBlur { width: 100vw; height: 38%;}
  .page-aiboard__mv__bodyBlur.__sp { display: none;}
}

@media (max-width: 767px) {
  .page-aiboard__mv__bodyBlur { width: 100%; height: 140px;}
  .page-aiboard__mv__bodyBlur.__pc { display: none;}
}

.page-aiboard__mv .__mv__title__p { display: block; position: relative;}

@media (min-width: 768px) {
  .page-aiboard__issue { padding-top: 80px;}
}

@media (max-width: 767px) {
  .page-aiboard__issue { padding-top: 21px;}
}

.page-aiboard__issue__title { font-weight: 700; text-align: center; margin-bottom: 1em;}

@media (min-width: 768px) {
  .page-aiboard__issue__title { font-size: 36px;}
}

@media (max-width: 767px) {
  .page-aiboard__issue__title { font-size: 24px;}
}

.page-aiboard__issue__list { display: flex;}

@media (min-width: 768px) {
  .page-aiboard__issue__list { justify-content: center; align-items: flex-start; -moz-column-gap: 7.4%; column-gap: 7.4%; margin-bottom: 44px;}
}

@media (max-width: 767px) {
  .page-aiboard__issue__list { flex-wrap: wrap; justify-content: center; row-gap: 40px; margin-bottom: 20px;}
}

@media (max-width: 767px) {
  .page-aiboard__issue__item { flex-basis: 100%;}
}

.page-aiboard__issue__itemIcon { width: 200px; aspect-ratio: 1/1; margin-left: auto; margin-right: auto;}
.page-aiboard__issue__itemIcon img { width: 100%;}

@media (min-width: 768px) {
  .page-aiboard__issue__itemIcon { margin-bottom: 25px;}
}

@media (max-width: 767px) {
  .page-aiboard__issue__itemIcon { margin-bottom: 16px;}
}

.page-aiboard__issue__itemText { text-align: center; font-weight: 700;}

@media (min-width: 768px) {
  .page-aiboard__issue__itemText { font-size: clamp(14px, 1.4vw, 18px);}
  .page-aiboard__issue__itemText em { font-size: clamp(16px, 1.71vw, 22px); white-space: nowrap;}
}

@media (min-width: 768px) {
  .page-aiboard__issue__itemText { font-size: 16px;}
}

.page-aiboard__issue__solution { position: relative; background: linear-gradient(150deg, #004457 0%, #005e70 40%, #1a9f91 100%); color: #FFF; text-align: center;}
.page-aiboard__issue__solution .__solution_txt { font-weight: 700; color: inherit;}
.page-aiboard__issue__solution .__solution_txt span { display: inline-block;}
.page-aiboard__issue__solution::before { display: block; position: absolute; top: -1px; left: 50%; transform: translateX(-50%); background-color: #FFF; -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%); clip-path: polygon(0 0, 100% 0, 50% 100%); content: "";}

@media (min-width: 768px) {
  .page-aiboard__issue__solution { padding-top: 80px; padding-bottom: 64px;}
  .page-aiboard__issue__solution .__solution_txt { font-size: 40px;}
  .page-aiboard__issue__solution::before { width: 250px; height: 60px;}
}

@media (max-width: 767px) {
  .page-aiboard__issue__solution { padding-top: 44px; padding-bottom: 32px;}
  .page-aiboard__issue__solution .__solution_txt { font-size: 20px;}
  .page-aiboard__issue__solution::before { width: 125px; height: 36px;}
}

.page-aiboard__container { margin-left: auto; margin-right: auto; position: relative; z-index: 1; width: 90%;}

@media (min-width: 768px) {
  .page-aiboard__container { max-width: 1160px; min-width: 700px;}
}

.page-aiboard__h2 { text-align: center;}
.page-aiboard__h2En, .page-aiboard__h2Ja { display: block;}
.page-aiboard__h2En { font-size: 12px; font-weight: 700; letter-spacing: .16em; line-height: 1; margin-bottom: 10px;}
.page-aiboard__h2Ja { font-size: clamp(24px, 3.4vw, 38px); font-weight: 700; line-height: 1.4;}

@media (min-width: 768px) {
  .page-aiboard__h2 { margin-bottom: 76px;}
}

@media (max-width: 767px) {
  .page-aiboard__h2 { margin-bottom: 40px;}
}

@media (min-width: 768px) {
  .page-aiboard__feature { padding-top: 80px; padding-bottom: 120px;}
}

@media (max-width: 767px) {
  .page-aiboard__feature { padding-top: 60px; padding-bottom: 56px;}
}

.page-aiboard__feature__item { position: relative;}

@media (min-width: 768px) {
  .page-aiboard__feature__item { margin-bottom: clamp(100px, 15.2vw, 200px);}
}

@media (max-width: 767px) {
  .page-aiboard__feature__item { margin-bottom: 40px;}
}

@media (min-width: 768px) {
  .page-aiboard__feature__itemInner { display: grid; grid-template-columns: 40% 60%; grid-template-rows: max-content max-content;}
}

.page-aiboard__feature__itemFigureImg { position: relative;}
.page-aiboard__feature__itemFigureImg img { width: 100%; position: relative; z-index: 1; box-shadow: 16px 40px 40px rgba(0, 84, 108, 0.1);}

@media (max-width: 767px) {
  .page-aiboard__feature__itemFigureImg img { box-shadow: 4px 8px 8px rgba(0, 84, 108, 0.1);}
}

@media (min-width: 768px) {
  .page-aiboard__feature__itemHead { padding-bottom: 24px;}
}

@media (max-width: 767px) {
  .page-aiboard__feature__itemHead { padding-bottom: 35px;}
}

.page-aiboard__feature__itemNum { font-weight: 700;}

@media (min-width: 768px) {
  .page-aiboard__feature__itemNum { font-size: 18px; margin-bottom: 48px;}
  .page-aiboard__feature__itemNum em { font-size: 24px;}
}

@media (max-width: 767px) {
  .page-aiboard__feature__itemNum { font-size: 16px; margin-bottom: 16px;}
  .page-aiboard__feature__itemNum em { font-size: 20px;}
}

.page-aiboard__feature__itemTitle { font-weight: 700;}

@media (min-width: 768px) {
  .page-aiboard__feature__itemTitle { font-size: clamp(26px, 1.667vw, 32px);}
}

@media (max-width: 767px) {
  .page-aiboard__feature__itemTitle { font-size: 24px;}
}

@media (min-width: 768px) {
  .page-aiboard__feature__itemText { font-size: 16px;}
}

@media (max-width: 767px) {
  .page-aiboard__feature__itemText { font-size: 14px; margin-top: 24px;}
}

@media (min-width: 768px) {
  .page-aiboard__feature__itemHead { grid-column: 1/2; grid-row: 1/2;}
  .page-aiboard__feature__itemFigure { grid-column: 2/3; grid-row: 1/3;}
  .page-aiboard__feature__itemText { grid-column: 1/2; grid-row: 2/3; padding-right: 40px;}
  .page-aiboard__feature__item.__reverse .page-aiboard__feature__itemInner { grid-template-columns: 60% 40%;}
  .page-aiboard__feature__item.__reverse .page-aiboard__feature__itemHead { grid-column: 2/3; padding-left: 40px;}
  .page-aiboard__feature__item.__reverse .page-aiboard__feature__itemFigure { grid-column: 1/2;}
  .page-aiboard__feature__item.__reverse .page-aiboard__feature__itemText { grid-column: 2/3; padding-right: 0; padding-left: 40px;}
}

.page-aiboard__feature__itemBg { position: absolute; z-index: 1; background: linear-gradient(to right, #00546C 0%, #007E8F 28%, #1C9F91 100%); -webkit-clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%); clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);}

@media (min-width: 768px) {
  .page-aiboard__feature__itemBg { width: calc(100% + max(5vw, 50vw - 580px)); height: 16vw; bottom: -7.18vw; left: 0;}
}

@media (max-width: 767px) {
  .page-aiboard__feature__itemBg { width: calc(58% + 5vw); height: 61px; top: -29px; right: -5vw;}
}

.page-aiboard__feature__item.__reverse .page-aiboard__feature__itemBg { background: linear-gradient(to left, #00546C 0%, #007E8F 28%, #1C9F91 100%); -webkit-clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%); clip-path: polygon(0 0, 90% 0, 100% 100%, 0 100%);}

@media (min-width: 768px) {
  .page-aiboard__feature__item.__reverse .page-aiboard__feature__itemBg { left: unset; right: 0;}
}

@media (max-width: 767px) {
  .page-aiboard__feature__item.__reverse .page-aiboard__feature__itemBg { left: -5vw; right: unset;}
}

.page-aiboard__pdca { background-color: #F2F4F8;}

@media (min-width: 768px) {
  .page-aiboard__pdca { padding: 80px 0 200px;}
}

@media (max-width: 767px) {
  .page-aiboard__pdca { padding: 30px 0 56px;}
}

.page-aiboard__pdca__h2 { text-align: center; font-weight: 700; line-height: 1.6;}

@media (min-width: 768px) {
  .page-aiboard__pdca__h2 { font-size: 36px; margin-bottom: 70px;}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__h2 { font-size: 24px; margin-bottom: 30px;}
}

.page-aiboard__pdca__h2 span { display: inline-block;}
.page-aiboard__pdca__container { display: flex; flex-wrap: wrap; position: relative;}

@media (min-width: 768px) {
  .page-aiboard__pdca__container { justify-content: space-between; row-gap: 27px;}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__container { justify-content: center; row-gap: 103px; -moz-column-gap: 63px; column-gap: 63px;}
}

.page-aiboard__pdca__item { position: relative; overflow: hidden; z-index: 1; flex-shrink: 0;}

@media (min-width: 768px) {
  .page-aiboard__pdca__item { border-radius: 32px; background-color: #FFF; flex-basis: 48.8%;}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__item { flex-basis: 40%;}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__container .page-aiboard__pdca__item { aspect-ratio: 1/1;}
}

.page-aiboard__pdca__itemHead { background: linear-gradient(to right, #00546C 0%, #007E8F 28%, #1C9F91 90%); color: #FFF; display: flex; flex-direction: column;}

@media (min-width: 768px) {
  .page-aiboard__pdca__itemHead { position: absolute; justify-content: center; align-items: center; width: 31%; min-width: 110px; height: 38%;}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__itemHead { width: 100%; height: 100%; padding: 16px 9px;}
}

.page-aiboard__pdca__itemNum { font-weight: 600; line-height: 1; color: inherit;}

@media (min-width: 768px) {
  .page-aiboard__pdca__itemNum { text-align: center; font-size: clamp(38px, 5vw, 64px);}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__itemNum { font-size: 24px;}
}

.page-aiboard__pdca__itemH3 { font-weight: 700; line-height: 1.4;}

@media (min-width: 768px) {
  .page-aiboard__pdca__itemH3 { text-align: center; font-size: clamp(12px, 1.4vw, 18px);}
  .page-aiboard__pdca__itemH3 br.__sp { display: none;}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__itemH3 { font-size: 16px;}
  .page-aiboard__pdca__itemH3 br.__pc { display: none;}
  .page-aiboard__pdca__itemH3 span { display: inline-block;}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__container .page-aiboard__pdca__itemBody { display: none;}
}

.page-aiboard__pdca__container .page-aiboard__pdca__itemBody .page-aiboard__pdca__itemText { font-weight: 700; line-height: 1.5;}

@media (min-width: 768px) {
  .page-aiboard__pdca__container .page-aiboard__pdca__itemBody .page-aiboard__pdca__itemText { width: -moz-max-content; width: max-content; max-width: 68%; font-size: clamp(16px, 1.56vw, 20px);}
}

.page-aiboard__pdca__item.__upper.__left { order: 1;}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__upper.__left { padding: 21px 3.8% 29px 3.8%;}
}

.page-aiboard__pdca__item.__upper.__left .page-aiboard__pdca__itemHead { border-radius: 32px 0 32px 0;}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__upper.__left .page-aiboard__pdca__itemHead { left: 0; top: 0;}
}

.page-aiboard__pdca__item.__upper.__left .page-aiboard__pdca__itemImg { width: 53.5%;}
.page-aiboard__pdca__item.__upper.__left .page-aiboard__pdca__itemText { margin-left: auto; margin-bottom: 60px;}
.page-aiboard__pdca__item.__upper.__right { order: 2;}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__upper.__right { padding: 22px 3.8% 26px 3.8%;}
}

.page-aiboard__pdca__item.__upper.__right .page-aiboard__pdca__itemHead { border-radius: 0 32px 0 32px;}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__upper.__right .page-aiboard__pdca__itemHead { right: 0; top: 0;}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__item.__upper.__right .page-aiboard__pdca__itemHead { text-align: right;}
}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__upper.__right .page-aiboard__pdca__itemImg { width: 53.5%; margin-left: auto;}
}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__upper.__right .page-aiboard__pdca__itemText { margin-left: 0; margin-bottom: 48px;}
}

.page-aiboard__pdca__item.__lower.__right { order: 4;}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__lower.__right { padding: 25px 3.8% 22px 3.8%;}
}

.page-aiboard__pdca__item.__lower.__right .page-aiboard__pdca__itemHead { border-radius: 32px 0 32px 0;}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__lower.__right .page-aiboard__pdca__itemHead { right: 0; bottom: 0;}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__item.__lower.__right .page-aiboard__pdca__itemHead { justify-content: flex-start; flex-direction: column-reverse; text-align: right;}
}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__lower.__right .page-aiboard__pdca__itemImg { width: 53.5%; margin-left: auto; margin-bottom: 51px;}
}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__lower.__right .page-aiboard__pdca__itemText { margin-left: 0;}
}

.page-aiboard__pdca__item.__lower.__left { order: 3;}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__lower.__left { padding: 26px 3.8% 22px 3.8%;}
}

.page-aiboard__pdca__item.__lower.__left .page-aiboard__pdca__itemHead { border-radius: 0 32px 0 32px;}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__lower.__left .page-aiboard__pdca__itemHead { left: 0; bottom: 0;}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__item.__lower.__left .page-aiboard__pdca__itemHead { justify-content: flex-start; flex-direction: column-reverse;}
}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__lower.__left .page-aiboard__pdca__itemImg { width: 47.3%; margin-bottom: 51px;}
}

@media (min-width: 768px) {
  .page-aiboard__pdca__item.__lower.__left .page-aiboard__pdca__itemText { margin-left: auto;}
}

.page-aiboard__pdca__circle { position: absolute; z-index: 2; inset: 0; margin: auto; border-radius: 50%; aspect-ratio: 1/1;}

@media (min-width: 768px) {
  .page-aiboard__pdca__circle { width: 45%; background-color: rgba(0, 84, 108, 0.1);}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__circle { width: 67.5%; background-color: #FFF;}
}

.page-aiboard__pdca__circleImg { display: block; position: absolute; z-index: 1; inset: 0; margin: auto;}

@media (min-width: 768px) {
  .page-aiboard__pdca__circleImg { width: 87.7%;}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__circleImg { width: 93.8%;}
}

.page-aiboard__pdca__circleCenter { display: flex; align-items: center; justify-content: center; flex-direction: column; position: absolute; z-index: 1; inset: 0; margin: auto; aspect-ratio: 1/1; background-color: #FFF; border-radius: 50%;}
.page-aiboard__pdca__circleCenter .__text { font-weight: 700; line-height: 1.33;}

@media (min-width: 768px) {
  .page-aiboard__pdca__circleCenter { width: 50.5%; padding: 0 24px;}
  .page-aiboard__pdca__circleCenter .__logo { width: 100%;}
  .page-aiboard__pdca__circleCenter .__text { font-size: clamp(24px, 3.2vw, 48px);}
}

@media (max-width: 767px) {
  .page-aiboard__pdca__circleCenter { width: 64%; padding: 0 13px;}
  .page-aiboard__pdca__circleCenter .__logo { width: 100%;}
  .page-aiboard__pdca__circleCenter .__text { font-size: clamp(24px, 6.4vw, 48px);}
}

.page-aiboard__pdca__list { margin-top: 48px; display: flex; flex-wrap: wrap; row-gap: 16px; justify-content: center;}

@media (min-width: 768px) {
  .page-aiboard__pdca__list { display: none;}
}

.page-aiboard__pdca__list .page-aiboard__pdca__item { flex-basis: 100%; max-width: 600px; background-color: #FFF; border-radius: 32px; margin-bottom: 16px; padding: 80px 10px 16px;}
.page-aiboard__pdca__list .page-aiboard__pdca__itemHead { border-radius: 32px 0 32px 0; flex-direction: row; align-items: center; -moz-column-gap: 12px; column-gap: 12px; padding-left: 16px; padding-right: 30px; width: -moz-max-content; width: max-content; height: 56px; position: absolute; left: 0; top: 0;}
.page-aiboard__pdca__list .page-aiboard__pdca__itemNum { font-size: 32px;}
.page-aiboard__pdca__list .page-aiboard__pdca__itemText { font-size: 15px; font-weight: 700;}
.page-aiboard__pdca__list .page-aiboard__pdca__itemImg { margin: 0 auto; max-width: 250px;}
.page-aiboard__pdca__list .page-aiboard__pdca__itemImg img { width: 100%;}
.page-aiboard__pdca__list .__pdca01 .page-aiboard__pdca__itemText { margin-bottom: 28px;}
.page-aiboard__pdca__list .__pdca01 .page-aiboard__pdca__itemImg { width: 71.6%;}
.page-aiboard__pdca__list .__pdca02 .page-aiboard__pdca__itemText { margin-bottom: 23px;}
.page-aiboard__pdca__list .__pdca02 .page-aiboard__pdca__itemImg { width: 68.6%;}
.page-aiboard__pdca__list .__pdca03 .page-aiboard__pdca__itemText { margin-bottom: 0;}
.page-aiboard__pdca__list .__pdca03 .page-aiboard__pdca__itemImg { width: 68.6%;}
.page-aiboard__pdca__list .__pdca04 .page-aiboard__pdca__itemText { margin-bottom: 11px;}
.page-aiboard__pdca__list .__pdca04 .page-aiboard__pdca__itemImg { width: 65.9%;}
.page-aiboard__cta { position: relative;}

@media (min-width: 768px) {
  .page-aiboard__cta { padding: 20px 0;}
}

@media (max-width: 767px) {
  .page-aiboard__cta { background: linear-gradient(to right, #2163F2 0%, #329CC3 50%, #32C0B1 90%); padding: 32px 0;}
}

.page-aiboard__cta__bg { width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 1;}

@media (max-width: 767px) {
  .page-aiboard__cta__bg { display: none;}
}

.page-aiboard__cta__bg img { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover;}
.page-aiboard__cta__inner { position: relative; z-index: 1; background-color: #FFF; text-align: center;}

@media (min-width: 768px) {
  .page-aiboard__cta__inner { border-radius: 20px; padding: 20px 0 30px;}
}

@media (max-width: 767px) {
  .page-aiboard__cta__inner { border-radius: 5px; padding: 10px 0 15px;}
}

.page-aiboard__cta__lead { font-weight: 700;}

@media (min-width: 768px) {
  .page-aiboard__cta__lead { font-size: clamp(28px, 2.8vw, 36px); line-height: 40px; margin-bottom: 40px;}
}

@media (max-width: 767px) {
  .page-aiboard__cta__lead { font-size: 20px; line-height: 1.5; margin-bottom: 16px;}
  .page-aiboard__cta__lead span { display: block;}
}

.page-aiboard__cta__icon { display: block; margin-left: auto; margin-right: auto; width: 20px;}
.page-aiboard__cta__catch { font-weight: 500;}

@media (min-width: 768px) {
  .page-aiboard__cta__catch { font-size: 18px; margin-bottom: 12px;}
}

@media (max-width: 767px) {
  .page-aiboard__cta__catch { font-size: 16px; margin-bottom: 8px;}
}

.page-aiboard__cta__tel { display: flex; justify-content: center; align-items: center; text-decoration: none; color: inherit;}
.page-aiboard__cta__tel .__btn__txt { font-weight: 600;}

@media (min-width: 768px) {
  .page-aiboard__cta__tel { margin-top: 40px; margin-bottom: 15px;}
  .page-aiboard__cta__tel .__btn__icon { width: 35px;}
  .page-aiboard__cta__tel .__btn__txt { font-size: 18px;}
}

@media (max-width: 767px) {
  .page-aiboard__cta__tel { margin-top: 20px; margin-bottom: 6px;}
  .page-aiboard__cta__tel .__btn__icon { width: 25px;}
  .page-aiboard__cta__tel .__btn__txt { font-size: 16px;}
}

.page-aiboard__cta__note { font-weight: 500;}

@media (min-width: 768px) {
  .page-aiboard__cta__note { font-size: 18px;}
}

@media (max-width: 767px) {
  .page-aiboard__cta__note { font-size: 12px;}
  .page-aiboard__cta__note span { display: block;}
}

.page-aiboard__effects { position: relative;}

@media (min-width: 768px) {
  .page-aiboard__effects { padding: 80px 0 98px;}
}

@media (max-width: 767px) {
  .page-aiboard__effects { padding: 60px 0 56px;}
}

.page-aiboard__effects__lead { font-weight: 700;}

@media (min-width: 768px) {
  .page-aiboard__effects__lead { font-size: 32px; margin-bottom: 26px;}
}

@media (max-width: 767px) {
  .page-aiboard__effects__lead { font-size: 20px; margin-bottom: 16px;}
}

.page-aiboard__effects__list { display: flex;}

@media (min-width: 768px) {
  .page-aiboard__effects__list { justify-content: space-between;}
}

@media (max-width: 767px) {
  .page-aiboard__effects__list { justify-content: center; flex-wrap: wrap; row-gap: 30px; width: 100%; max-width: 500px; margin: 0 auto;}
}

.page-aiboard__effects__item { background-color: #FFF; border: 2px solid #EEEEEE; border-radius: 8px;}

@media (min-width: 768px) {
  .page-aiboard__effects__item { flex-basis: 31.3%; padding: 13px 1.6%;}
}

@media (max-width: 767px) {
  .page-aiboard__effects__item { flex-basis: 100%; padding: 12px 5%;}
}

.page-aiboard__effects__itemImg { width: 100%; aspect-ratio: 360/171;}
.page-aiboard__effects__itemImg img { width: 100%;}

@media (min-width: 768px) {
  .page-aiboard__effects__itemImg { margin-bottom: 29px;}
}

@media (max-width: 767px) {
  .page-aiboard__effects__itemImg { margin-bottom: 26px;}
}

.page-aiboard__effects__itemH3 { font-weight: 700; text-align: center; position: relative; line-height: 1.2;}
.page-aiboard__effects__itemH3::before { display: block; width: 20px; height: 2px; position: absolute; left: calc(50% - 10px); content: ""; background-color: #24B080;}

@media (min-width: 768px) {
  .page-aiboard__effects__itemH3 { font-size: 24px; margin-bottom: 24px;}
  .page-aiboard__effects__itemH3::before { top: calc(100% + 16px);}
}

@media (max-width: 767px) {
  .page-aiboard__effects__itemH3 { font-size: 24px; margin-bottom: 22px;}
  .page-aiboard__effects__itemH3::before { top: calc(100% + 14px);}
}

@media (min-width: 768px) {
  .page-aiboard__effects__itemText { font-size: 16px;}
}

@media (max-width: 767px) {
  .page-aiboard__effects__itemText { font-size: 14px;}
}

.page-aiboard__effects__bg { display: flex; align-items: flex-end; position: absolute; z-index: 1; left: 0; bottom: 0;}
.page-aiboard__effects__bg img { width: 100%;}

@media (min-width: 768px) {
  .page-aiboard__effects__bg { width: 23.4%;}
}

@media (max-width: 767px) {
  .page-aiboard__effects__bg { width: 70%;}
}

.page-aiboard__flow { background-color: #F2F4F8;}

@media (min-width: 768px) {
  .page-aiboard__flow { padding: 80px 0 120px;}
}

@media (max-width: 767px) {
  .page-aiboard__flow { padding: 60px 0 56px;}
}

.page-aiboard__flow__list { display: flex; width: 100%; background-color: #FFF; position: relative; z-index: 1;}

@media (min-width: 768px) {
  .page-aiboard__flow__list { justify-content: space-evenly; padding: 40px 0;}
}

@media (max-width: 767px) {
  .page-aiboard__flow__list { flex-wrap: wrap; row-gap: 20px; padding: 30px 0 30px 20px; max-width: 500px; margin: 0 auto;}
}

.page-aiboard__flow__item { display: flex; align-items: center; position: relative; z-index: 1;}
.page-aiboard__flow__item::before, .page-aiboard__flow__item::after { display: block; background-color: #00546C; position: absolute; content: "";}

@media (min-width: 768px) {
  .page-aiboard__flow__item { flex-direction: column; row-gap: 35px;}
  .page-aiboard__flow__item::before, .page-aiboard__flow__item::after { width: 95%; height: 2px; top: 14px;}
  .page-aiboard__flow__item::after { left: 50%;}
  .page-aiboard__flow__item::before { right: 50%;}
  .page-aiboard__flow__item:last-child::after { width: 0;}
  .page-aiboard__flow__item:first-child::before { width: 0;}
}

@media (max-width: 767px) {
  .page-aiboard__flow__item { flex-basis: 100%; flex-direction: row; -moz-column-gap: 20px; column-gap: 20px;}
  .page-aiboard__flow__item::before, .page-aiboard__flow__item::after { width: 2px; height: 100%; left: 14px;}
  .page-aiboard__flow__item::after { top: 50%;}
  .page-aiboard__flow__item::before { bottom: 50%;}
  .page-aiboard__flow__item:last-child::after { width: 0;}
  .page-aiboard__flow__item:first-child::before { width: 0;}
}

.page-aiboard__flow__itemNum { width: 30px; position: relative; z-index: 1; font-size: 16px; font-weight: 700; letter-spacing: 0.1em; line-height: 30px; text-align: center; color: #FFF; background: linear-gradient(to right, #00546C 0%, #007E8F 28%, #1C9F91 90%); border-radius: 50%;}
.page-aiboard__flow__itemIcon img { width: 100%;}

@media (min-width: 768px) {
  .page-aiboard__flow__itemIcon { width: 120px;}
}

@media (max-width: 767px) {
  .page-aiboard__flow__itemIcon { width: 80px;}
}

.page-aiboard__flow__itemH3 { color: #00647E; font-weight: 700;}

@media (min-width: 768px) {
  .page-aiboard__flow__itemH3 { font-size: 16px; text-align: center;}
}

@media (max-width: 767px) {
  .page-aiboard__flow__itemH3 { font-size: 14px;}
}

.page-aiboard__support { position: relative;}

@media (min-width: 768px) {
  .page-aiboard__support { padding: 80px 0;}
}

@media (max-width: 767px) {
  .page-aiboard__support { padding: 60px 0 56px;}
}

.page-aiboard__support__container { display: flex;}

@media (min-width: 768px) {
  .page-aiboard__support__container { justify-content: space-between;}
}

@media (max-width: 767px) {
  .page-aiboard__support__container { justify-content: center; flex-wrap: wrap; row-gap: 30px;}
}

.page-aiboard__support__item { background-color: #FFF; border: 2px solid #EEEEEE;}

@media (min-width: 768px) {
  .page-aiboard__support__item { flex-basis: 46.5%; padding: 40px;}
}

@media (max-width: 767px) {
  .page-aiboard__support__item { flex-basis: 100%; max-width: 500px; padding: 24px 20px;}
}

.page-aiboard__support__itemImg { margin: 0 auto;}
.page-aiboard__support__itemImg img { width: 100%;}

@media (min-width: 768px) {
  .page-aiboard__support__itemImg { margin-bottom: 56px;}
  .page-aiboard__support__itemImg.__img01 { width: 31.5%;}
  .page-aiboard__support__itemImg.__img02 { width: 42.6%;}
}

@media (max-width: 767px) {
  .page-aiboard__support__itemImg { margin-bottom: 35px;}
  .page-aiboard__support__itemImg.__img01 { width: 40%; max-width: 170px;}
  .page-aiboard__support__itemImg.__img02 { width: 63.3%; max-width: 230px;}
}

.page-aiboard__support__itemH3 { visibility: hidden; height: 0;}

@media (min-width: 768px) {
  .page-aiboard__support__itemText { font-size: 16px;}
}

@media (max-width: 767px) {
  .page-aiboard__support__itemText { font-size: 14px;}
}

.page-aiboard__support__bg { display: flex; align-items: flex-end; position: absolute; z-index: 1; right: 0; top: 0;}
.page-aiboard__support__bg img { width: 100%;}

@media (min-width: 768px) {
  .page-aiboard__support__bg { width: 23.4%;}
}

@media (max-width: 767px) {
  .page-aiboard__support__bg { width: 70%;}
}

.page-aiboard__faq { background-color: #F2F4F8; padding: 80px 0;}
.page-aiboard__faq_list li { border-top: 1px solid #00546C; padding: 2.2% 0 3.5%;}
.page-aiboard__question { font-size: 18px; font-weight: 700; margin-bottom: 1.8%; text-align: left;}
.page-aiboard__q { font-size: 24px; color: #24B080;}
.page-aiboard__answer { background-color: #fff; padding: 2.6%; font-size: 16px; text-align: left;}

@media (max-width: 767px) {
  .page-aiboard__faq_list p { font-size: 14px;}
  .page-aiboard__q { font-size: 18px;}
}

/* ===== Venn Diagram (page-aiboard2) ===== */

.page-aiboard__venn { background: #fff;}
.page-aiboard__venn .page-aiboard__venn__h2 { color: #00546C !important;}
.page-aiboard__venn__diagram { position: relative; margin: 0 auto;}

@media (min-width: 768px) {
  .page-aiboard__venn__diagram { width: 600px; height: 565px;}
  .page-aiboard__venn__circle { position: absolute; width: 400px; height: 400px; border-radius: 50%; mix-blend-mode: multiply;}
  .page-aiboard .__venn-c1 { left: -10px; top: 0;}
  .page-aiboard .__venn-c2 { left: 244px; top: 0;}
  .page-aiboard .__venn-c3 { left: calc(50% - 180px); top: 213px;}
  .page-aiboard__venn__content { position: absolute; color: #141b38;}
  .__venn-c1 .page-aiboard__venn__content { top: 55px; left: 56px; width: 47%; text-align: center;}
  .__venn-c2 .page-aiboard__venn__content { top: 55px; right: 56px; width: 47%; text-align: center;}
  .__venn-c3 .page-aiboard__venn__content { bottom: 90px; left: 50%; transform: translateX(-50%); width: 76%; text-align: center;}
  .page-aiboard__venn__center { position: absolute; left: 318px; top: 266px; transform: translate(-50%, -50%); z-index: 5; text-align: center; pointer-events: none;}
  .page-aiboard__venn__centerText { font-size: 28px; font-weight: 700; color: #0a3b3f; line-height: 1.3; text-shadow: rgba(255, 255, 255, 0.7) 0px 1px 8px;}
}

@media (max-width: 767px) {
  .page-aiboard__venn__diagram { display: flex; flex-direction: column; align-items: center; gap: 16px; padding-bottom: 20px;}
  .page-aiboard__venn__circle { position: relative; width: 300px; height: 300px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, 0.6); display: flex; flex-direction: column; align-items: center; justify-content: center; mix-blend-mode: multiply;}
  .page-aiboard__venn__content { padding: 20px 24px; text-align: center; color: #141b38;}
  .page-aiboard__venn__center { display: none;}
  .page-aiboard__venn__centerText { font-size: 22px; font-weight: 700; color: #0a3b3f;}
}

.page-aiboard__venn__title { font-weight: 700; color: #00546c; line-height: 1.3;}

@media (min-width: 768px) {
  .page-aiboard__venn__title { font-size: 22px; margin-bottom: 10px;}
}

@media (max-width: 767px) {
  .page-aiboard__venn__title { font-size: 18px; margin-bottom: 6px;}
}

.page-aiboard__venn__text { color: #141b38; line-height: 1.65;}

@media (min-width: 768px) {
  .page-aiboard__venn__text { font-size: 14px;}
}

@media (max-width: 767px) {
  .page-aiboard__venn__text { font-size: 12px;}
}

/* Individual Venn circle colors — matches reference image palette */
.page-aiboard .__venn-c1 { background: radial-gradient(circle at 50% 45%, rgba(36, 177, 128, 0.42), rgba(28, 159, 145, 0.16));} /* mint teal (VISION) */
.page-aiboard .__venn-c2 { background: radial-gradient(circle at 50% 45%, rgba(50, 156, 195, 0.42), rgba(50, 178, 195, 0.16));} /* cyan teal (CULTURE) */
.page-aiboard .__venn-c3 { background: radial-gradient(circle at 50% 45%, rgba(74, 146, 213, 0.42), rgba(74, 162, 213, 0.16));} /* medium blue (IMAGE) */
/* Venn circle illustrations */

@media (min-width: 768px) {
  .page-aiboard__venn__circleImg { position: absolute; width: 64%;}
  .__venn-c1 .page-aiboard__venn__circleImg { top: 218px; left: -164px;}
  .__venn-c2 .page-aiboard__venn__circleImg { top: 218px; right: -164px;}
  .__venn-c3 .page-aiboard__venn__circleImg { bottom: -100px; left: 50%; transform: translateX(-50%); width: 64%;}
}

@media (max-width: 767px) {
  .page-aiboard__venn__circleImg { display: block; width: 50%; max-width: 120px; margin: 0 auto 0;}
}

/* ===== Data Flow Board (page-aiboard__board) ===== */

.page-aiboard__board { background-color: #f6f9f9;}

@media (min-width: 768px) {
  .page-aiboard__board { padding: 80px 0 100px;}
}

@media (max-width: 767px) {
  .page-aiboard__board { padding: 60px 0 56px;}
}

.page-aiboard__board__title { text-align: center; font-weight: 500; line-height: 1.6; color: #333;}

@media (min-width: 768px) {
  .page-aiboard__board__title { font-size: clamp(16px, 2.2vw, 24px); margin-bottom: clamp(24px, 3vw, 40px);}
}

@media (max-width: 767px) {
  .page-aiboard__board__title { font-size: 15px; margin-bottom: 24px;}
}

/* ---- flow ---- */
.page-aiboard__board__bracket { position: relative; height: 26px; margin-bottom: 4px;}
.page-aiboard__board__arm { position: absolute; left: 2px; right: 2px; bottom: 0; height: 14px; border: 2px solid #3e6e62; border-bottom: none;}
.page-aiboard__board__blabel { position: absolute; left: 50%; top: -2px; transform: translateX(-50%); background: #F2F4F8; padding: 0 14px; font-weight: 700; color: #1b3a4b; font-size: clamp(14px, 1.8vw, 18px);}
.page-aiboard__board__chevscroll { overflow-x: auto; -webkit-overflow-scrolling: touch;}
.page-aiboard__board__chevrow { display: flex; gap: 5px; min-width: 560px;}
.page-aiboard__board__step { flex: 1 1 0; min-width: 70px; height: 58px; position: relative; display: flex; align-items: center; justify-content: center; text-align: center; background: #83a99c; color: #fff; font-weight: 700; font-size: clamp(12px, 1.5vw, 16px); line-height: 1.25; padding: 0 16px 0 24px; clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%, 18px 50%);}
.page-aiboard .__step-first { padding: 0 14px; clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%);}
.page-aiboard__board__step.__box-orange { background: #f7e9d9; color: #c07a1e;}
.page-aiboard__board__step.__box-green { background: #CCE5E2; color: #0c8074;}
.page-aiboard__board__step.__box-blue { background: #CCDAF5; color: #005bac;}
/* ---- categories ---- */
.page-aiboard__board__cats { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: clamp(12px, 3vw, 32px); margin-top: 6px;}
.page-aiboard__board__cat { flex: 1 1 280px; max-width: 380px; min-width: 0; display: flex; flex-direction: column;}
.page-aiboard__board__upline.__tree-orange { width: 2px; height: 30px; background: #e8a04d; align-self: center;}
.page-aiboard__board__upline.__tree-green { width: 2px; height: 30px; background: #1c9f91; align-self: center;}
.page-aiboard__board__upline.__tree-blue { width: 2px; height: 30px; background: #005bac; align-self: center;}
.page-aiboard__board__box { border-radius: 4px; min-height: 76px; display: flex; align-items: center; justify-content: center; text-align: center; font-weight: 700; font-size: clamp(15px, 1.8vw, 20px); line-height: 1.4; padding: 12px;}
.page-aiboard__board__box.__box-orange { background: #f7e9d9; color: #8a5510;}
.page-aiboard__board__box.__box-green { background: #CCE5E2; color: #0a5f57;}
.page-aiboard__board__box.__box-blue { background: #CCDAF5; color: #0a3f74;}
/* connector trees */
.page-aiboard__board__tree { position: relative; height: 40px; width: 100%;}
.page-aiboard__board__tree i { position: absolute; background: currentColor; display: block;}
.page-aiboard__board__tree.__tree-orange { color: #e8a04d;}
.page-aiboard__board__tree.__tree-green { color: #1c9f91;}
.page-aiboard__board__tree.__tree-blue { color: #005bac;}
.page-aiboard__board__riser { left: 50%; top: 0; width: 2px; height: 20px; transform: translateX(-50%);}
.page-aiboard__board__bus { top: 20px; height: 2px;}
.page-aiboard__board__bus.__bus-2 { left: 25%; right: 25%;}
.page-aiboard__board__bus.__bus-3 { left: 16.666%; right: 16.666%;}
.page-aiboard__board__drop { top: 20px; width: 2px; height: 20px; transform: translateX(-50%);}
.page-aiboard__board__drop.__d-25 { left: 25%;}
.page-aiboard__board__drop.__d-75 { left: 75%;}
.page-aiboard__board__drop.__d-17 { left: 16.666%;}
.page-aiboard__board__drop.__d-50 { left: 50%;}
.page-aiboard__board__drop.__d-83 { left: 83.333%;}
/* circles */
.page-aiboard__board__circles { display: grid; gap: 8px; padding-top: 4px;}
.page-aiboard__board__circles.__circles-2 { grid-template-columns: repeat(2, 1fr);}
.page-aiboard__board__circles.__circles-3 { grid-template-columns: repeat(3, 1fr);}
.page-aiboard__board__circle { justify-self: center; width: clamp(66px, 13vw, 110px); aspect-ratio: 1; border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; text-align: center; font-weight: 700; font-size: clamp(11px, 1.2vw, 13px); line-height: 1.3; padding: 6px;}
.page-aiboard__board__circle.__circle-orange { background: #c37f27;}
.page-aiboard__board__circle.__circle-green { background: #0c8074;}
.page-aiboard__board__circle.__circle-blue { background: #005BAC;}
/* SP overrides */

@media (max-width: 640px) {
  .page-aiboard__board__arm { display: none;}
  .page-aiboard__board__bracket { margin-bottom: 16px;}
  .page-aiboard__board__chevscroll { overflow: visible;}
  .page-aiboard__board__chevrow { flex-direction: column; gap: 0; min-width: 0;}
  .page-aiboard__board__step { flex: none; width: 100%; height: auto; padding: 12px 10px; margin-bottom: 18px; clip-path: none; border-radius: 6px;}
  .page-aiboard__board__step:last-child { margin-bottom: 0;}
  .page-aiboard__board__step::after { content: ""; position: absolute; left: 50%; bottom: -15px; transform: translateX(-50%); border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 9px solid #83a99c;}
  .page-aiboard__board__step:last-child::after { display: none;}
  .page-aiboard__board__cats { gap: 34px;}
  .page-aiboard__board__circle { width: clamp(72px, 22vw, 96px);}
}

/* ===== Cases (page-aiboard2) ===== */

.page-aiboard__cases { padding: clamp(56px, 7vw, 100px) 0; background: #fff;}
.page-aiboard__cases__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: clamp(24px, 3vw, 40px); margin-top: clamp(32px, 4vw, 56px);}
.page-aiboard__cases__item { display: flex; flex-direction: column;}
.page-aiboard__cases__itemMedia { position: relative; margin-bottom: 20px;}
.page-aiboard__cases__itemMedia::before { content: ""; position: absolute; inset: 10px -10px -10px 10px; background: #eef4f4; clip-path: polygon(
    26px 0, 100% 0,
    100% calc(100% - 26px), calc(100% - 26px) 100%,
    0 100%, 0 26px
  );}
.page-aiboard__cases__itemImg { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #f3f5f6; box-shadow: 0 8px 20px rgba(0, 84, 108, 0.12); clip-path: polygon(
    26px 0, 100% 0,
    100% calc(100% - 26px), calc(100% - 26px) 100%,
    0 100%, 0 26px
  );}
.page-aiboard__cases__itemHeading { display: flex; flex-direction: column; gap: 4px; margin-bottom: 14px;}
.page-aiboard__cases__itemLabel { font-weight: 700; font-size: clamp(13px, 1.6vw, 15px); letter-spacing: 0.04em; color: #1c9f91;}
.page-aiboard__cases__itemH3 { margin: 0; font-weight: 700; font-size: clamp(16px, 2vw, 19px); line-height: 1.45; color: #313C55;}
.page-aiboard__cases__itemText { margin: 0; font-size: clamp(12.5px, 1.4vw, 13.5px); line-height: 1.7; color: #4a5568;}

@media (max-width: 767px) {
  .page-aiboard__cases__list { grid-template-columns: 1fr; max-width: 400px; margin-left: auto; margin-right: auto;}
}

.page-aiboard__cases__bg { display: flex; align-items: flex-end; position: absolute; z-index: 1; left: 0; bottom: 0;}
.page-aiboard__cases__bg img { width: 100%;}

@media (min-width: 768px) {
  .page-aiboard__cases__bg { width: 23.4%;}
}

@media (max-width: 767px) {
  .page-aiboard__cases__bg { width: 70%;}
}

/* ===== execution Table (page-aiboard2) ===== */

.page-aiboard__execution { padding: clamp(56px, 7vw, 100px) 0; background: #f6f9f9;}
.page-aiboard__execution__tableWrap { width: 100%; overflow-x: auto; border-radius: 8px; box-shadow: 0 4px 16px rgba(0, 84, 108, 0.10); margin-top: clamp(32px, 4vw, 56px);}
.page-aiboard__execution__table { width: 100%; min-width: 560px; border-collapse: collapse; background: #fff; text-align: left;}
.page-aiboard__execution__table thead th { text-align: left; background: #00546C; color: #fff; font-size: clamp(14px, 1.5vw, 16px); font-weight: 700; padding: 14px 24px; border: none; vertical-align: middle;}
.page-aiboard__execution__table thead th.__col-area { width: 35%;}
.page-aiboard__execution__table tbody td { padding: 18px 24px; font-size: clamp(13px, 1.4vw, 15px); line-height: 1.75; border: none; border-bottom: 1px solid #dde3e8; vertical-align: top; text-align: left;}
.page-aiboard__execution__table tbody td.__col-area { color: #313C55; font-weight: 700;}
.page-aiboard__execution__table tbody td.__col-detail { color: #4a5568;}
.page-aiboard__execution__table tbody tr:nth-child(even) { background: #F2F4F8;}

@media (max-width: 767px) {
  .page-aiboard__execution__table thead { display: none;}
  .page-aiboard__execution__table,
  .page-aiboard__execution__table tbody,
  .page-aiboard__execution__table tr,
  .page-aiboard__execution__table td { display: block; width: 100%;}
  .page-aiboard__execution__table tr { border-bottom: 1px solid #dde3e8; padding: 16px;}
  .page-aiboard__execution__table td { padding: 4px 0 !important; border: none !important;}
  .page-aiboard__execution__table td.__col-area { font-weight: 700; padding-bottom: 4px !important;}
}

/* ===== Voices (page-aiboard2) ===== */

.page-aiboard__voices { padding: clamp(56px, 7vw, 100px) 0; background: #fff;}
.page-aiboard__voices__intro { text-align: center; margin-bottom: clamp(32px, 4vw, 48px);}
.page-aiboard__voices__introTitle { font-weight: 700; font-size: clamp(16px, 1.8vw, 24px); line-height: 1.6; color: #313C55; margin: 0 0 12px;}
.page-aiboard__voices__introLead { font-weight: 500; font-size: clamp(14px, 1.4vw, 16px); line-height: 1.8; color: #4a5568; margin: 0;}
.page-aiboard__voices__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column;}
.page-aiboard__voices__item { display: flex; gap: 20px; padding: 36px 0; border-bottom: 1px solid #d3d3d3;}
.page-aiboard__voices__item:first-child { padding-top: 0;}
.page-aiboard__voices__item:last-child { border-bottom: none; padding-bottom: 0;}
.page-aiboard__voices__itemAvatar { flex: none; width: 44px; height: 44px; border-radius: 50%; overflow: hidden; border: 1px solid #d3d3d3;}
.page-aiboard__voices__itemAvatar img { width: 100%; height: 100%; object-fit: cover; display: block;}
.page-aiboard__voices__itemContent { flex: 1; min-width: 0;}
.page-aiboard__voices__itemMeta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 0 0 10px;}
.page-aiboard__voices__itemNum { font-weight: 700; font-size: 22px; line-height: 1; color: #1c9f91;}
.page-aiboard__voices__itemTag { display: inline-flex; align-items: center; padding: 4px 14px; border-radius: 9999px; font-weight: 600; font-size: 12px; line-height: 1;}
.page-aiboard__voices__itemTag.__tag-teal { background: rgba(28, 159, 145, 0.1); color: #1c9f91;}
.page-aiboard__voices__itemTitle { font-weight: 700; font-size: clamp(16px, 1.8vw, 20px); line-height: 1.6; color: #313C55; margin: 0 0 10px;}
.page-aiboard__voices__itemText { font-size: clamp(13px, 1.4vw, 15px); line-height: 1.8; color: #4a5568; margin: 0;}

@media (max-width: 767px) {
  .page-aiboard__voices__item { flex-direction: column; gap: 12px; padding: 28px 0;}
  .page-aiboard__voices__itemTitle { font-size: 16px;}
  .page-aiboard__voices__itemText { font-size: 14px;}
}

/* ===== Voices interview block ===== */

.page-aiboard__voices__interview { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 24px; align-items: center; background: #F2F4F8; border: 1px solid #dde3e8; border-radius: 22px; padding: clamp(20px, 3vw, 32px); margin-top: clamp(36px, 5vw, 56px);}
.page-aiboard__voices__interviewVideo { position: relative; border-radius: 16px; overflow: hidden; aspect-ratio: 16 / 9; background: repeating-linear-gradient(135deg, #DCE6F0 0 12px, #E7EEF6 12px 24px); display: flex; align-items: center; justify-content: center;}
.page-aiboard__voices__interviewIframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none;}
.page-aiboard__voices__interviewPlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 10px;}
.page-aiboard__voices__interviewPlayBtn { width: 62px; height: 62px; border-radius: 50%; background: rgba(0, 84, 108, 0.92); display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 24px rgba(0, 84, 108, 0.4);}
.page-aiboard__voices__interviewPlayBtn::after { content: ""; border-left: 18px solid #fff; border-top: 11px solid transparent; border-bottom: 11px solid transparent; margin-left: 5px;}
.page-aiboard__voices__interviewPlayLabel { font-size: 11px; color: #5A6E82; font-weight: 600; letter-spacing: 0.04em;}
.page-aiboard__voices__interviewTag { display: inline-block; background: #00546C; color: #fff; font-size: 11px; font-weight: 700; padding: 5px 12px; border-radius: 9999px;}
.page-aiboard__voices__interviewTitle { font-size: clamp(18px, 2.2vw, 24px); font-weight: 700; color: #313C55; margin: 14px 0 0; line-height: 1.45;}
.page-aiboard__voices__interviewText { font-size: 13.5px; color: #4a5568; margin: 12px 0 0; line-height: 1.8;}
.page-aiboard__voices__interviewNote { font-size: 12px; color: #848484; margin: 14px 0 0;}

/* ===== Results (page-aiboard2) ===== */

.page-aiboard__results { padding: clamp(64px, 9vw, 116px) 0; background: linear-gradient(165deg, rgb(8, 49, 63) 0%, rgb(4, 32, 42) 100%); color: #fff; position: relative; overflow: hidden;}
.page-aiboard__results__grid { position: absolute; inset: 0; background-image:
    linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px); background-size: 50px 50px; -webkit-mask-image: radial-gradient(75% 60% at 50% 0%, #000, transparent); mask-image: radial-gradient(75% 60% at 50% 0%, #000, transparent);}
.page-aiboard__results__head { text-align: center; max-width: 44em; margin-inline: auto;}
.page-aiboard__results__en { font-size: 12px; font-weight: 700; letter-spacing: .16em; color: #1c9f91; display: block; margin: 0;}
.page-aiboard__results__h2 { font-size: clamp(24px, 3.4vw, 38px); font-weight: 700; margin-top: 12px; line-height: 1.4;}
.page-aiboard__results__h2Ja { color: #fff;}
.page-aiboard__results__lead { font-size: 15px; color: #A9BED4; margin-top: 16px;}
.page-aiboard__results__list { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 18px; margin-top: 48px; max-width: 920px; margin-inline: auto; padding: 0;}
.page-aiboard__results__item { background: rgba(255, 255, 255, .045); border: 1px solid rgba(95, 200, 230, .22); border-radius: 22px; padding: 30px; position: relative; overflow: hidden; display: flex; align-items: center; gap: 22px;}
.page-aiboard__results__itemGlow { position: absolute; right: -40px; top: -40px; width: 150px; height: 150px; border-radius: 50%; background: radial-gradient(circle, rgba(23, 176, 138, .18), transparent 70%); pointer-events: none;}
.page-aiboard__results__itemIcon { position: relative; width: 104px; height: 104px; border-radius: 22px; background: rgba(23, 176, 138, .14); border: 1px solid rgba(23, 176, 138, .3); display: flex; align-items: center; justify-content: center; flex: none;}
.page-aiboard__results__itemBody { position: relative; min-width: 0; flex: 1;}
.page-aiboard__results__itemTag { display: inline-block; background: rgba(79, 209, 160, .14); border: 1px solid rgba(79, 209, 160, .4); color: #7EE3BF; font-size: 12px; font-weight: 700; padding: 6px 14px; border-radius: 999px;}
.page-aiboard__results__itemClinic { font-size: 19px; font-weight: 700; color: #fff; margin-top: 12px;}
.page-aiboard__results__itemNum { font-weight: 700; font-size: clamp(46px, 7vw, 64px); line-height: 1; margin-top: 4px; background: linear-gradient(160deg, #F6E3A6, #D9AE45); -webkit-background-clip: text; background-clip: text; color: transparent;}
.page-aiboard__results__itemNum.__small { font-size: clamp(42px, 6.4vw, 60px);}
.page-aiboard__results__itemNumUnit { font-size: .5em;}
.page-aiboard__results__itemNumTilde { font-size: .6em;}
.page-aiboard__results__itemNote { font-size: 12.5px; color: #9FB4CA; margin-top: 12px; border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 12px;}
.page-aiboard__results__footer { position: relative; margin-top: 28px; text-align: center;}
.page-aiboard__results__footerText { display: inline-block; font-size: clamp(14px, 1.7vw, 17px); font-weight: 700; color: #fff; margin: 0;}
.page-aiboard__results__footerEm { color: #3fe0a6;}
.page-aiboard__results__footerNote { font-size: 11px; color: #6E86A0; margin-top: 10px;}

@media (max-width: 767px) {
  .page-aiboard__results__list { grid-template-columns: 1fr;}
  .page-aiboard__results__item { gap: 16px; padding: 20px;}
  .page-aiboard__results__itemIcon { width: 72px; height: 72px; border-radius: 16px;}
  .page-aiboard__results__itemIcon svg { width: 48px; height: 48px;}
  .page-aiboard__results__itemClinic { font-size: 16px;}
  .page-aiboard__results__itemNum { font-size: clamp(38px, 11vw, 52px);}
  .page-aiboard__results__itemNum.__small { font-size: clamp(34px, 10vw, 46px);}
}

/* ===== Specialist (page-aiboard2) ===== */

.page-aiboard__specialist { padding: clamp(56px, 8vw, 100px) 0; background: #fff;}
.page-aiboard__specialist__head { text-align: center; margin-bottom: clamp(34px, 4.5vw, 56px);}
.page-aiboard__specialist__body { display: flex; flex-wrap: wrap; gap: clamp(28px, 4vw, 52px); align-items: center; justify-content: center; max-width: 940px; margin-inline: auto;}
.page-aiboard__specialist__venn { flex: 0 1 420px; min-width: 280px;}
.page-aiboard__specialist__vennImg { width: 100%; height: auto; display: block;}
.page-aiboard__specialist__vennItem { text-align: center; flex: none;}
.page-aiboard__specialist__vennItem.__teal { margin-right: -26px; position: relative; z-index: 1;}
.page-aiboard__specialist__vennItem.__gold { margin-left: -26px; position: relative; z-index: 2;}
.page-aiboard__specialist__vennCircle { width: 130px; height: 130px; border-radius: 50%; display: grid; place-items: center;}
.page-aiboard__specialist__vennItem.__teal .page-aiboard__specialist__vennCircle { background: radial-gradient(circle at 45% 40%, #e4f4f1, #c9e9e2); border: 2px solid #b6ded6;}
.page-aiboard__specialist__vennItem.__gold .page-aiboard__specialist__vennCircle { background: radial-gradient(circle at 45% 40%, #faf3e6, #eadfc7); border: 2px solid #ddceac;}
.page-aiboard__specialist__vennLabel { font-size: 13px; font-weight: 700; line-height: 1.3; margin-top: 10px;}
.page-aiboard__specialist__vennItem.__teal .page-aiboard__specialist__vennLabel { color: #007E8F;}
.page-aiboard__specialist__vennItem.__gold .page-aiboard__specialist__vennLabel { color: #9a7a2e;}
.page-aiboard__specialist__desc { flex: 1 1 360px; min-width: 300px; background: #f6f9f9; border: 1px solid #e6efec; border-radius: 18px; padding: clamp(26px, 3vw, 36px);}
.page-aiboard__specialist__descText { font-size: clamp(14.5px, 1.6vw, 16.5px); font-weight: 500; line-height: 2; color: #313C55; margin: 0;}
.page-aiboard__specialist__descText strong { color: #00546C; font-weight: 700;}

@media (max-width: 767px) {
  .page-aiboard__specialist__venn { flex: 1 1 100%;}
  .page-aiboard__specialist__vennCircle { width: 110px; height: 110px;}
  .page-aiboard__specialist__vennCircle svg { width: 46px; height: 46px;}
  .page-aiboard__specialist__vennItem.__teal { margin-right: -20px;}
  .page-aiboard__specialist__vennItem.__gold { margin-left: -20px;}
  .page-aiboard__specialist__desc { flex: 1 1 100%;}
}

/* ===== Process (page-aiboard2) ===== */

.page-aiboard__process { padding: clamp(56px, 8vw, 96px) 0; background: #f6f9f9;}
.page-aiboard__process__head { text-align: center; margin-bottom: clamp(30px, 4vw, 48px);}
.page-aiboard__process__list { list-style: none; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(16px, 2vw, 20px); padding: 0; margin: 0;}
.page-aiboard__process__item { background: #fff; border-radius: 16px; box-shadow: 0 2px 10px rgba(0, 0, 0, .05); border: 1px solid #eef2f2; overflow: hidden;}
.page-aiboard__process__itemHead { padding: 16px 20px;}
.page-aiboard__process__itemHead.__phase1 { background: linear-gradient(90deg, #00546c, #0e7480);}
.page-aiboard__process__itemHead.__phase2 { background: linear-gradient(90deg, #0e7480, #1c9f91);}
.page-aiboard__process__itemHead.__phase3 { background: linear-gradient(90deg, #1c9f91, #24b180);}
.page-aiboard__process__itemHead.__phase4 { background: linear-gradient(90deg, #24b180, #2bbf87);}
.page-aiboard__process__itemPhase { font-size: 11px; font-weight: 700; letter-spacing: .04em; color: rgba(255, 255, 255, .8); line-height: 1;}
.page-aiboard__process__itemTitle { font-size: 17px; font-weight: 700; line-height: 1.4; color: #fff; margin-top: 4px;}
.page-aiboard__process__itemList { list-style: none; margin: 0; padding: 18px 20px; display: flex; flex-direction: column; gap: 11px;}
.page-aiboard__process__itemListItem { display: flex; gap: 9px; align-items: flex-start; font-size: 13.5px; font-weight: 500; line-height: 1.6; color: #5A6B69;}
.page-aiboard__process__itemListItem::before { content: ''; flex: none; margin-top: 7px; width: 6px; height: 6px; border-radius: 50%; background: #24B080;}

@media (max-width: 767px) {
  .page-aiboard__process__list { grid-template-columns: 1fr;}
}

/* ===== Mid CTA (page-aiboard2) ===== */

.page-aiboard__midcta { background: linear-gradient(90deg, #00546c, #1c9f91); padding: clamp(40px, 5.5vw, 64px) 0; text-align: center;}
.page-aiboard__midcta__title { font-size: clamp(21px, 3.2vw, 32px); font-weight: 700; color: #fff; line-height: 1.5; margin: 0 0 14px;}
.page-aiboard__midcta__lead { font-size: clamp(13px, 1.5vw, 15px); font-weight: 500; color: rgba(255, 255, 255, .86); line-height: 1.8; max-width: 1160px; margin: 0 auto;}

/* ===== Bottom CTA (page-aiboard2) ===== */

.page-aiboard__bottomcta { position: relative; background: linear-gradient(120deg, #00546c, #007e8f 45%, #1c9f91); overflow: hidden; padding: clamp(56px, 8vw, 96px) 0; text-align: center;}
.page-aiboard__bottomcta__deco { position: absolute; border-radius: 50%; pointer-events: none;}
.page-aiboard__bottomcta__deco.__deco1 { top: -100px; left: -80px; width: 380px; height: 380px; background: radial-gradient(circle, rgba(255, 255, 255, .12), transparent 70%);}
.page-aiboard__bottomcta__deco.__deco2 { bottom: -120px; right: -60px; width: 420px; height: 420px; background: radial-gradient(circle, rgba(36, 177, 128, .30), transparent 70%);}
.page-aiboard__bottomcta .page-aiboard__container { position: relative; max-width: 900px;}
.page-aiboard__bottomcta__title { font-size: clamp(23px, 3.6vw, 36px); font-weight: 700; color: #fff; line-height: 1.5; margin: 0 0 18px;}
.page-aiboard__bottomcta__lead { font-size: clamp(14px, 1.6vw, 17px); font-weight: 500; color: rgba(255, 255, 255, .9); line-height: 1.9; max-width: 40em; margin: 0 auto 34px;}
.page-aiboard__bottomcta__action { display: inline-flex; flex-direction: column; align-items: center; gap: 14px;}
@media (max-width: 767px) {
  /* .page-aiboard__bottomcta__actionがinline-flexで中身にshrink-to-fitするため、
     .fv_new_dl_btnのwidth:100%が正しく機能せず、SPで文字とアイコンが詰まって見えていた */
  .page-aiboard__bottomcta .fv_new_dl_btn { width: 300px; max-width: 90vw;}
}
.page-aiboard__bottomcta__btn { display: inline-flex; align-items: center; gap: 10px; background: #fff; border: 1px solid #007e8f; color: #007e8f; border-radius: 999px; padding: 17px 40px; font-size: 17px; font-weight: 700; text-decoration: none; box-shadow: 0 12px 26px rgba(0, 0, 0, .22); transition: background .2s, color .2s;}
.page-aiboard__bottomcta__btn:hover { background: linear-gradient(90deg, #00546c 0%, #007e8f 28%, #1c9f91 90%); border: 1px solid #fff; color: #fff;}
.page-aiboard__bottomcta__note { font-size: 12.5px; font-weight: 500; color: rgba(255, 255, 255, .75);}

/* ===== Analysis Menu (page-aiboard2) ===== */

.page-aiboard__menu { background: #f6f9f9; padding: clamp(56px, 7vw, 100px) 0;}
.page-aiboard__menu__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 16px;}
.page-aiboard__menu__card { background: #fff; border: 1px solid #c8deda; border-radius: 18px; padding: 26px 24px;}
.page-aiboard__menu__cardHead { display: flex; align-items: center; gap: 12px;}
.page-aiboard__menu__cardIcon { width: 36px; height: 36px; border-radius: 10px; background: rgba(28, 159, 145, .14); color: #1c9f91; display: flex; align-items: center; justify-content: center; flex-shrink: 0;}
.page-aiboard__menu__cardTitle { font-size: 15.5px; font-weight: 700; color: #00546c; margin: 0; line-height: 1.4;}
.page-aiboard__menu__cardTags { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 16px;}
.page-aiboard__menu__tag { background: #f5f9f8; color: #41576b; font-size: 12px; font-weight: 600; padding: 6px 11px; border-radius: 999px; line-height: 1.3;}
.page-aiboard__menu__note { text-align: center; font-size: 12.5px; color: #41576b; margin-top: 24px;}

/* ============================================================
   renkeiLpPage ??? ?????????? LP
   ============================================================ */

/* ---------- ???????????????????????? ---------- */
.renkeiLpPage { color: #333333; line-height: 1.75;}
.renkeiLpPage em, .renkeiLpPage i { font-style: normal;}
.renkeiLpPage .renkei_color_main { color: #00546C;}
.renkeiLpPage .renkei_color_sub { color: #007E8F;}
.renkeiLpPage .renkei_color_water { color: #64B9C8;}
.renkeiLpPage .renkei_font_en { font-family: "Manrope", sans-serif;}
/* ---------- ???????????? ---------- */
.renkeiLpPage .renkei_container { max-width: 1160px; margin-left: auto; margin-right: auto;}
.renkeiLpPage .renkei_allsupport_inner,
.renkeiLpPage .renkei_points_inner,
.renkeiLpPage .renkei_introduction_inner { width: 100%; padding: 0 5%;}
.renkeiLpPage .renkei_usecase_inner { max-width: 1200px; margin: 0 auto; padding: 0 5%;}
/* ---------- ????????????????????????????????? ---------- */
.renkeiLpPage .renkei_content_title { font-size: 20px; font-weight: bold; text-align: center; line-height: 1.2; margin-bottom: 40px; color: transparent; -webkit-text-fill-color: transparent; display: block; background: linear-gradient(45deg, #76D9DF 0%, #247377 100%); -webkit-background-clip: text; background-clip: text; position: relative; padding-bottom: 15px;}
.renkeiLpPage .renkei_content_title::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 60px; height: 2px; background: #0C6B6F; transform: translateX(-50%); border-radius: 999px;}
/* ---------- ??????????????? ---------- */
.renkeiLpPage .renkei_btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; font-weight: 700; font-size: 16px; border-radius: 999px; padding: 12px 24px; cursor: pointer; line-height: 1.3; transition: opacity 0.2s;}
.renkeiLpPage .renkei_btn:hover { opacity: 0.8;}
.renkeiLpPage .renkei_btn_gradient { background: linear-gradient(to right, #0C6B6F, #1C9F91); color: #FFF;}
.renkeiLpPage .renkei_btn_outline { background: #FFF; color: #1C9F91; border: 2px solid #1C9F91;}
.renkeiLpPage .renkei_btn_ghost { background: #FFF; color: #1C9F91; border: 1px solid #CCCCCC;}
/* ---------- MV ---------- */
.renkeiLpPage .renkei_mv { position: relative; overflow: hidden; background-image: url(/common/images/products/renkei/medical-integration__mv_sp.webp); background-repeat: no-repeat; background-position: center center; background-size: 100% auto;}
.renkeiLpPage .renkei_mv_inner { width: 100%; height: 436px; padding: 0 3%;}
.renkeiLpPage .renkei_mv_ttlbox { display: flex; margin-top: 5px;}
.renkeiLpPage .renkei_mv_tokkyo { width: 84px;}
.renkeiLpPage .renkei_mv_tokkyo img { width: 100%;}
.renkeiLpPage .renkei_mv_ttl { display: block; margin-left: 10px;}
.renkeiLpPage .renkei_mv_ttl_02 { font-size: 32px; font-weight: bold; color: #1C9F91; display: block; line-height: 1;}
.renkeiLpPage .renkei_mv_text { font-size: 16px; font-weight: bold; color: #007382; margin: 10px 0 20px 20px;}
.renkeiLpPage .renkei_mv_btn { margin: 200px auto 0;}
/* ---------- ISSUE ---------- */
.renkeiLpPage .renkei_issue { max-width: 1160px; padding: 10% 1%; margin: 0 auto; position: relative;}
.renkeiLpPage .renkei_issue::after { content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); width: 100%; height: 12px; background: url("/common/images/products/renkei/medical-integration__issue__line.svg") center/contain no-repeat; pointer-events: none;}
.renkeiLpPage .renkei_issue::before { content: ""; position: absolute; left: 50%; bottom: -14px; transform: translateX(-50%); width: 30px; height: 17px; background: url("/common/images/products/renkei/medical-integration__issue__traiangle.svg") center/contain no-repeat; pointer-events: none; z-index: 1;}
.renkeiLpPage .renkei_issue_inner { width: 100%; padding: 0 5%;}
.renkeiLpPage .renkei_issue_list { display: flex; flex-direction: column; margin-bottom: 3%;}
.renkeiLpPage .renkei_issue_item { width: 100%; padding: 2% 1%;}
.renkeiLpPage .renkei_issue_item_icon { margin: 0 auto; padding: 10px; text-align: center;}
.renkeiLpPage .renkei_issue_item_icon img { width: 100%; max-width: 180px; display: block; margin: 0 auto;}
.renkeiLpPage .renkei_issue_item_title { font-size: 18px; font-weight: bold; text-align: center; margin-top: 10px; margin-bottom: 10px; line-height: 1.2;}
.renkeiLpPage .renkei_issue_item_text { font-size: 14px; line-height: 1.5;}
/* ---------- ALL SUPPORT ---------- */
.renkeiLpPage .renkei_allsupport { max-width: 1160px; padding: 10% 1%; margin: 0 auto;}
.renkeiLpPage .renkei_allsupport_img_wrap { max-width: 1160px; margin: 5% auto 0;}
.renkeiLpPage .renkei_allsupport_img_wrap img { width: 100%;}
.renkeiLpPage .renkei_allsupport_img_pc { display: none;}
.renkeiLpPage .renkei_allsupport_img_sp { display: block;}
/* ---------- FEATURE ---------- */
.renkeiLpPage .renkei_feature { width: 100%; padding: 10% 1%;}
.renkeiLpPage .renkei_feature_item { margin-bottom: 20px;}
.renkeiLpPage .renkei_feature_item_inner { display: block; padding: 3% 0;}
.renkeiLpPage .renkei_feature_item_head { width: 100%; padding: 0 2%;}
.renkeiLpPage .renkei_feature_item_num { font-size: 16px; font-weight: 700; margin-bottom: 8px;}
.renkeiLpPage .renkei_feature_item_num em { font-size: 20px;}
.renkeiLpPage .renkei_feature_item_title { font-size: 16px; font-weight: bold; margin-bottom: 12px;}
.renkeiLpPage .renkei_feature_item_text { font-size: 14px; line-height: 1.5;}
.renkeiLpPage .renkei_feature_item_figure { width: 100%; margin-top: 20px;}
.renkeiLpPage .renkei_feature_item_figure_img { position: relative;}
.renkeiLpPage .renkei_feature_item_figure_img img { width: 100%; position: relative; z-index: 1;}
.renkeiLpPage .renkei_feature_item_bg { position: absolute; z-index: 0; background: linear-gradient(to right, #00546C 0%, #1C9F91 100%); clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%); width: 60%; height: 40px; top: -20px; right: 0;}
/* ---------- POINTS ---------- */
.renkeiLpPage .renkei_points { max-width: 1160px; padding: 10% 1%; margin: 0 auto;}
.renkeiLpPage .renkei_points_list { display: flex; flex-direction: column; width: 80%; margin: 0 auto;}
.renkeiLpPage .renkei_points_item { width: 100%; margin: 10px 0; text-align: center; background: #fff; border-radius: 24px; padding: 38px 20px; box-shadow: 0px 3px 20px 0px rgba(0, 0, 0, 0.16);}
.renkeiLpPage .renkei_points_item_icon { width: 60px; height: 60px; margin: 0 auto; display: block;}
.renkeiLpPage .renkei_points_item_icon img { width: 100%; display: block;}
.renkeiLpPage .renkei_points_item_h3 { font-size: 16px; font-weight: bold; margin-top: 16px; margin-bottom: 10px; color: #007382;}
.renkeiLpPage .renkei_points_txt { font-size: 14px; line-height: 1.6; text-align: left;}
/* ---------- USECASE ---------- */
.renkeiLpPage .renkei_usecase { padding: 60px 0; background-color: #f9f9f9;}
.renkeiLpPage .renkei_usecase_list { display: flex; flex-direction: column; align-items: center; gap: 30px;}
.renkeiLpPage .renkei_usecase_item { background: #fff; border-radius: 12px; box-shadow: 0px 3px 20px 0px rgba(0, 0, 0, 0.16); overflow: hidden; width: 100%; display: flex; flex-direction: column;}
.renkeiLpPage .renkei_usecase_head { background-color: #00546C; color: #fff; padding: 16px 20px; font-size: 16px; font-weight: 700; line-height: 1.4; text-align: center;}
.renkeiLpPage .renkei_usecase_img_box { width: 100%; height: 220px; background-color: #eee;}
.renkeiLpPage .renkei_usecase_img { width: 100%; height: 100%; object-fit: cover;}
.renkeiLpPage .renkei_usecase_body { padding: 24px; flex-grow: 1;}
.renkeiLpPage .renkei_usecase_info_box { padding: 16px; border-radius: 8px; margin-bottom: 20px;}
.renkeiLpPage .renkei_usecase_info_box:last-child { margin-bottom: 0;}
.renkeiLpPage .renkei_usecase_box_title { font-weight: 700; font-size: 15px; margin-bottom: 10px; display: flex; align-items: center; gap: 8px;}
.renkeiLpPage .renkei_usecase_box_title img { width: 18px; height: 18px;}
.renkeiLpPage .renkei_usecase_box_list { list-style: none; padding: 0; margin: 0;}
.renkeiLpPage .renkei_usecase_box_list li { font-size: 14px; margin-bottom: 5px; padding-left: 1em; position: relative; line-height: 1.6; color: #444;}
.renkeiLpPage .renkei_usecase_box_list li::before { content: "???"; position: absolute; left: 0; font-weight: bold;}
.renkeiLpPage .renkei_usecase_info_problem { background-color: #F2F2F2; border-left: 5px solid #787878;}
.renkeiLpPage .renkei_usecase_info_problem .renkei_usecase_box_title,
.renkeiLpPage .renkei_usecase_info_problem .renkei_usecase_box_list li::before { color: #787878;}
.renkeiLpPage .renkei_usecase_info_result { background-color: #f0fdfc; border-left: 5px solid #13958D;}
.renkeiLpPage .renkei_usecase_info_result li { color: #13958D; font-weight: bold;}
.renkeiLpPage .renkei_usecase_info_result .renkei_usecase_box_title,
.renkeiLpPage .renkei_usecase_info_result .renkei_usecase_box_list li::before { color: #13958D;}
/* ---------- CTA ---------- */
.renkeiLpPage .renkei_cta { background-color: #F5F5F5; padding: 60px 0;}
.renkeiLpPage .renkei_cta_inner { max-width: 1160px; margin: 0 auto; padding: 0 5%; text-align: center;}
.renkeiLpPage .renkei_cta_title { font-size: 20px; font-weight: bold; margin-bottom: 24px; color: #00546C;}
.renkeiLpPage .renkei_cta_label { display: flex; align-items: center; justify-content: center; gap: 8px; font-size: 14px; font-weight: 700; color: #007382; margin-bottom: 12px;}
.renkeiLpPage .renkei_cta_label_icon { display: block; width: 24px; height: 24px;}
.renkeiLpPage .renkei_cta_label_icon img { width: 100%;}
.renkeiLpPage .renkei_cta_main_btn { margin-bottom: 32px;}
.renkeiLpPage .renkei_cta_row { display: flex; flex-direction: column; align-items: center; gap: 24px; margin-bottom: 32px;}
.renkeiLpPage .renkei_cta_col { display: flex; flex-direction: column; align-items: center; gap: 12px;}
.renkeiLpPage .renkei_cta_tel { font-size: 20px; font-weight: bold; margin-bottom: 8px;}
.renkeiLpPage .renkei_cta_tel a { color: #00546C; text-decoration: none; display: flex; align-items: center; justify-content: center; gap: 8px;}
.renkeiLpPage .renkei_cta_tel img { width: 20px;}
.renkeiLpPage .renkei_cta_note { font-size: 12px; font-style: normal; color: #555; line-height: 1.8;}
/* ---------- INTRODUCTION ---------- */
.renkeiLpPage .renkei_introduction { width: 100%; padding: 4% 0;}
.renkeiLpPage .renkei_introduction_box { background-color: #ECF9FD; max-width: 1160px; margin: 0 auto 5%; padding: 5% 4%;}
.renkeiLpPage .renkei_introduction_box_inner { display: flex; flex-direction: column-reverse; padding: 0 2%;}
.renkeiLpPage .renkei_introduction_box_content { width: 100%; padding: 0;}
.renkeiLpPage .renkei_introduction_box_ttl { color: #007382; font-size: 18px; font-weight: bold; margin-bottom: 10px; line-height: 1.2; padding-bottom: 10px; border-bottom: 4px solid #64B9C8; text-align: center;}
.renkeiLpPage .renkei_introduction_box_name { color: #1C1C1C; font-size: 16px; font-weight: bold; margin-bottom: 10px; line-height: 1.2; display: block; text-align: center;}
.renkeiLpPage .renkei_introduction_box_text { color: #1C1C1C; font-size: 16px; line-height: 1.5; display: block; margin-bottom: 10px;}
.renkeiLpPage .renkei_introduction_box_img { width: 100%; margin-top: 20px; text-align: center;}
.renkeiLpPage .renkei_introduction_box_img img { width: 80%; margin-bottom: 10px;}
.renkeiLpPage .renkei_introduction_box_caption { text-align: center; font-size: 12px; color: #555;}
.renkeiLpPage .renkei_introduction_flow { width: 100%; padding: 1% 2%;}
.renkeiLpPage .renkei_introduction_flow_inner { width: 100%; text-align: center;}
.renkeiLpPage .renkei_introduction_flow_ttl { font-size: 18px; font-weight: bold; color: #007382; margin-bottom: 16px;}
.renkeiLpPage .renkei_introduction_flow_img { max-width: 80%; margin: 0 auto;}
.renkeiLpPage .renkei_introduction_flow_img img { width: 100%;}
.renkeiLpPage .renkei_introduction_flow_img_pc { display: none;}
.renkeiLpPage .renkei_introduction_flow_img_sp { display: block; margin-bottom: 8px;}
.renkeiLpPage .renkei_introduction_flow_text { text-align: left; font-size: 14px; color: #333; max-width: 900px; margin: 16px auto 0; line-height: 1.8;}

/* ============================================================
   renkeiLpPage ??? PC (min-width: 768px)
   ============================================================ */

@media only screen and (min-width: 768px) {
  /* ??????????????????????????? */
  .renkeiLpPage .renkei_content_title { font-size: 40px;}
  .renkeiLpPage .renkei_content_title::after { height: 4px;}
  /* ????????? */
  .renkeiLpPage .renkei_btn { font-size: 18px; padding: 14px 32px;}
  /* MV */
  .renkeiLpPage .renkei_mv { background-image: url(/common/images/products/renkei/medical-integration__mv_pc.webp); background-size: cover;}
  .renkeiLpPage .renkei_mv_inner { height: 400px; min-height: 300px; width: 1200px; max-width: 100%; margin: 80px auto 0; padding: 0 5%;}
  .renkeiLpPage .renkei_mv_tokkyo { width: 154px;}
  .renkeiLpPage .renkei_mv_ttl { margin-top: 0;}
  .renkeiLpPage .renkei_mv_ttl_02 { font-size: 64px; margin-top: 20px; line-height: 1;}
  .renkeiLpPage .renkei_mv_text { font-size: 24px; margin: 0 0 20px; line-height: 1.4;}
  .renkeiLpPage .renkei_mv_btn { margin: 0;}
  /* ISSUE */
  .renkeiLpPage .renkei_issue { padding: 4% 0; margin: 5% auto;}
  .renkeiLpPage .renkei_issue_list { flex-direction: row; width: 100%; margin-bottom: 3%;}
  .renkeiLpPage .renkei_issue_item { width: 33%; padding: 2% 1.5%;}
  .renkeiLpPage .renkei_issue_item_icon { width: 180px; height: 220px; padding: 0;}
  .renkeiLpPage .renkei_issue_item_icon img { max-width: 100%;}
  .renkeiLpPage .renkei_issue_item_title { font-size: 20px; margin-top: 20px;}
  .renkeiLpPage .renkei_issue_item_text { font-size: 16px;}
  /* ALL SUPPORT */
  .renkeiLpPage .renkei_allsupport { padding: 4% 0;}
  .renkeiLpPage .renkei_allsupport_img_pc { display: block;}
  .renkeiLpPage .renkei_allsupport_img_sp { display: none;}
  /* FEATURE */
  .renkeiLpPage .renkei_feature { max-width: 1160px; padding: 4% 0; margin: 0 auto;}
  .renkeiLpPage .renkei_feature_item_inner { display: flex; padding: 3% 0;}
  .renkeiLpPage .renkei_feature_item_head { width: 60%; padding-right: 4%;}
  .renkeiLpPage .renkei_feature_item_title { font-size: 22px;}
  .renkeiLpPage .renkei_feature_item_text { font-size: 15px;}
  .renkeiLpPage .renkei_feature_item_figure { width: 40%; margin-top: 0;}
  .renkeiLpPage .renkei_feature_item_bg { height: 60px; top: -30px;}
  /* POINTS */
  .renkeiLpPage .renkei_points { padding: 4% 0;}
  .renkeiLpPage .renkei_points_list { flex-direction: row; justify-content: center; width: 100%;}
  .renkeiLpPage .renkei_points_item { width: 22%; margin: 0 1%;}
  .renkeiLpPage .renkei_points_item_h3 { font-size: 20px;}
  /* USECASE */
  .renkeiLpPage .renkei_usecase { padding: 80px 0;}
  .renkeiLpPage .renkei_usecase_list { flex-direction: row; justify-content: center; align-items: stretch; gap: 40px; flex-wrap: wrap;}
  .renkeiLpPage .renkei_usecase_item { max-width: 540px; flex: 1 1 350px;}
  .renkeiLpPage .renkei_usecase_head { font-size: 18px;}
  .renkeiLpPage .renkei_usecase_box_list li { font-size: 15px;}
  /* CTA */
  .renkeiLpPage .renkei_cta { padding: 80px 0;}
  .renkeiLpPage .renkei_cta_title { font-size: 28px;}
  .renkeiLpPage .renkei_cta_row { flex-direction: row; justify-content: center; gap: 40px;}
  .renkeiLpPage .renkei_cta_tel { font-size: 28px;}
  /* INTRODUCTION */
  .renkeiLpPage .renkei_introduction_box_inner { flex-direction: row; padding: 0;}
  .renkeiLpPage .renkei_introduction_box_content { width: 64%; padding-right: 4%;}
  .renkeiLpPage .renkei_introduction_box_ttl { font-size: 36px; text-align: left; margin-bottom: 20px; padding-bottom: 20px;}
  .renkeiLpPage .renkei_introduction_box_name { font-size: 24px; text-align: left; margin-bottom: 20px;}
  .renkeiLpPage .renkei_introduction_box_text { font-size: 20px; margin-bottom: 20px;}
  .renkeiLpPage .renkei_introduction_box_img { width: 36%; margin-top: 0;}
  .renkeiLpPage .renkei_introduction_box_img img { width: 100%;}
  .renkeiLpPage .renkei_introduction_flow_img { max-width: 1000px;}
  .renkeiLpPage .renkei_introduction_flow_img_pc { display: block;}
  .renkeiLpPage .renkei_introduction_flow_img_sp { display: none;}
  .renkeiLpPage .renkei_introduction_flow_ttl { font-size: 22px;}
}

/* =====================================================
   dxstarterLpPage
   ===================================================== */

/* ----- Base (SP) ----- */
.dxstarterLpPage { font-size: 14px; line-height: 1.5; color: #333;}
/* MV */
.dxstarterLpPage .dxs_mv { background-image: url(/common/images/products/dxstarter/bg.webp); background-position: left top; background-size: cover; background-repeat: no-repeat; padding: 32px 8px 0; overflow: hidden;}
.dxstarterLpPage .dxs_mv_brand { font-size: 20px; color: #005bab; margin-bottom: 8px;}
.dxstarterLpPage .dxs_mv_title { font-size: 20px; font-weight: bold; color: #005bab; border-bottom: 6px solid #37cb63; display: inline-block; padding-bottom: 4px; margin-bottom: 12px;}
.dxstarterLpPage .dxs_mv_lead { font-size: 14px; margin-bottom: 20px;}
.dxstarterLpPage .dxs_mv_img { text-align: center;}
.dxstarterLpPage .dxs_mv_img img { width: 100%; max-width: 480px;}
/* Contact button (MV + CTA) */
.dxstarterLpPage .dxs_contact { margin: 40px 0;}
.dxstarterLpPage .dxs_contact a:not(.fv_new_dl_btn) { display: inline-block; background: #37cb63; color: #fff; font-size: 16px; font-weight: bold; border-radius: 40px; padding: 3% 15%; text-decoration: none; box-shadow: 0px 0px 10px #999;}
.dxstarterLpPage .dxs_contact a:not(.fv_new_dl_btn):hover { box-shadow: 0px 0px 0px #999;}
/* Section common */
.dxstarterLpPage .dxs_content_inner { padding: 32px 8px; max-width: 1100px; margin: 0 auto;}
.dxstarterLpPage .dxs_section_title { font-size: 20px; font-weight: bold; color: #005bab; text-align: center; margin-bottom: 8px;}
.dxstarterLpPage .dxs_subttl { font-size: 13px; color: #005bab; text-align: center; letter-spacing: 2px; margin-bottom: 24px;}
/* CONTENT - Problem */
.dxstarterLpPage .dxs_content { background-color: #fff;}
.dxstarterLpPage .dxs_problem_list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 20px;}
.dxstarterLpPage .dxs_problem_item { text-align: center; padding: 16px;}
.dxstarterLpPage .dxs_problem_icon { border-radius: 100%; background-image: url(/common/images/products/dxstarter/img_bg.webp); background-position: center center; background-size: cover; margin: 0 auto 12px; display: inline-block; line-height: 0;}
.dxstarterLpPage .dxs_problem_icon img { display: block;}
.dxstarterLpPage .dxs_problem_title { font-size: 16px; font-weight: bold; color: #005bab; margin-bottom: 8px;}
.dxstarterLpPage .dxs_problem_text { font-size: 14px;}
/* CONTENT - Usecase table */
.dxstarterLpPage .dxs_usecase_lead { text-align: center; font-size: 15px; font-weight: bold; margin-bottom: 16px;}
.dxstarterLpPage .dxs_usecase_table_wrap { overflow-x: auto;}
.dxstarterLpPage .dxs_usecase_table { width: 100%; border-collapse: collapse; table-layout: fixed;}
.dxstarterLpPage .dxs_usecase_table td { padding: 4px 3px; text-align: center; width: 16.66%;}
.dxstarterLpPage .dxs_usecase_table td span { display: block; width: 100%; background-color: #e9f4ff; color: #005bab; font-size: 11px; padding: 5px 2px; border-radius: 4px; text-align: center; box-sizing: border-box; word-break: keep-all; overflow-wrap: break-word;}
/* FEATURE */
.dxstarterLpPage .dxs_feature { background-color: #e9f4ff;}
.dxstarterLpPage .dxs_feature_inner { padding: 32px 8px; max-width: 1100px; margin: 0 auto;}
.dxstarterLpPage .dxs_feature_box { background: #fff; border-radius: 14px; padding: 24px 16px 28px; box-shadow: 0 2px 10px 0 rgba(192, 192, 192, 0.5); margin-bottom: 24px;}
.dxstarterLpPage .dxs_feature_box_title { font-size: 22px; font-weight: bold; color: #333; border: none; text-align: center; padding: 0; margin-bottom: 12px;}
.dxstarterLpPage .dxs_feature_box_lead { font-size: 14px; margin-bottom: 16px;}
/* LINE????????????? (option01: ???????????? + ?????? ???) */
.dxstarterLpPage .dxs_line_list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 20px;}
.dxstarterLpPage .dxs_line_item { display: flex; flex-direction: column; align-items: center; gap: 12px;}
/* WEB????????????? (option02: 2????????????) */
.dxstarterLpPage .dxs_monsin_list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 20px;}
.dxstarterLpPage .dxs_monsin_item { display: flex; flex-direction: column; align-items: center; gap: 12px;}
.dxstarterLpPage .dxs_feature_item_title { font-size: 18px; font-weight: bold; color: #005bab; margin: 8% 0 4% 0; line-height: 1.5;}
.dxstarterLpPage .dxs_feature_item_text { font-size: 14px; margin-bottom: 6px;}
.dxstarterLpPage .dxs_feature_item_text a { color: #005bab; word-break: break-all;}
.dxstarterLpPage .dxs_option_img { width: 70%; margin-left: 15%; display: block;}
.dxstarterLpPage .dxs_option_note { font-size: 11px; color: #666; text-align: center;}
/* PRICE */
.dxstarterLpPage .dxs_price { background-color: #fff;}
.dxstarterLpPage .dxs_price_table { overflow-x: auto; margin-bottom: 12px;}
.dxstarterLpPage .dxs_price_table table { width: 100%; border-collapse: collapse; min-width: 320px;}
.dxstarterLpPage .dxs_price_table thead th { background-color: #005bab; color: #fff; font-size: 16px; padding: 14px; text-align: center;}
.dxstarterLpPage .dxs_price_table tbody th { background-color: #e9f4ff; color: #005bab; font-size: 14px; padding: 10px 12px; border: 1px solid #c5dcf0; white-space: nowrap; vertical-align: middle; width: 40%;}
.dxstarterLpPage .dxs_price_table tbody td { font-size: 14px; padding: 10px 12px; border: 1px solid #c5dcf0; vertical-align: middle;}
.dxstarterLpPage .dxs_price_num { font-size: 16px; font-weight: bold;}
.dxstarterLpPage .dxs_red { color: #e81010;}
.dxstarterLpPage .dxs_arr_txt { font-size: 13px; color: #555; margin-top: 4px;}
.dxstarterLpPage .dxs_imptxt { font-size: 12px; color: #666; margin-top: 8px;}
/* FLOW */
.dxstarterLpPage .dxs_flow { background-image: url(/common/images/products/dxstarter/bg2.webp); background-size: cover; background-position: center;}
.dxstarterLpPage .dxs_flow_list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 20px;}
.dxstarterLpPage .dxs_flow_item { text-align: center;}
.dxstarterLpPage .dxs_flow_title { font-size: 16px; font-weight: bold; color: #005bab; display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 12px;}
.dxstarterLpPage .dxs_flow_step { display: inline-block; font-size: 10px; font-weight: bold; color: #005bab; text-align: center; line-height: 1.2;}
.dxstarterLpPage .dxs_flow_step_num { display: block; font-size: 28px; line-height: 1;}
.dxstarterLpPage .dxs_flow_img img { width: 100%; max-width: 200px; margin: 0 auto; display: block;}
/* CTA */
.dxstarterLpPage .dxs_cta { background-color: #377ccb; padding: 40px 0; color: #fff;}
.dxstarterLpPage .dxs_cta_inner { max-width: 900px; margin: 0 auto; text-align: center;}
.dxstarterLpPage .dxs_cta_mail { width: 100%; padding-top: 20px; text-align: center;}
.dxstarterLpPage .dxs_cta_lead { display: inline-block; font-size: 16px; color: #fff; position: relative; margin-bottom: 12px;}
.dxstarterLpPage .dxs_cta_lead::before,
.dxstarterLpPage .dxs_cta_lead::after { display: block; content: ""; width: 2px; height: 48px; background-color: #fff; position: absolute; top: 0;}
.dxstarterLpPage .dxs_cta_lead::before { left: -30px; -webkit-transform: rotate(-30deg); transform: rotate(-30deg);}
.dxstarterLpPage .dxs_cta_lead::after { right: -30px; -webkit-transform: rotate(30deg); transform: rotate(30deg);}
.dxstarterLpPage .dxs_cta_lead strong { font-size: inherit;}
.dxstarterLpPage .dxs_cta .dxs_contact a.fv_new_dl_btn { margin: 0 auto;}
/* ----- PC (min-width: 768px) ----- */

@media only screen and (min-width: 768px) {
  .dxstarterLpPage { font-size: 16px;}
  /* MV */
  .dxstarterLpPage .dxs_mv { display: flex; align-items: flex-end; padding: 0 0 40px 0; max-width: none; margin: 0; gap: 0;}
  .dxstarterLpPage .dxs_mv_body { width: 60%; padding: 5% 0 0 10%;}
  .dxstarterLpPage .dxs_mv_img { width: 40%; padding-right: 10%; padding-top: 60px;}
  .dxstarterLpPage .dxs_mv_title { font-size: 46px; border-bottom-width: 10px; line-height: 60px;}
  .dxstarterLpPage .dxs_mv_lead { font-size: 20px;}
  .dxstarterLpPage .dxs_contact a:not(.fv_new_dl_btn) { font-size: 20px;}
  /* Section common */
  .dxstarterLpPage .dxs_content_inner { padding: 48px 32px;}
  .dxstarterLpPage .dxs_section_title { font-size: 28px;}
  /* Problem */
  .dxstarterLpPage .dxs_problem_list { flex-direction: row; justify-content: center; gap: 24px;}
  .dxstarterLpPage .dxs_problem_item { flex: 1; padding: 20px;}
  .dxstarterLpPage .dxs_problem_title { font-size: 18px;}
  /* Usecase table */
  .dxstarterLpPage .dxs_usecase_table td span { font-size: 14px; padding: 6px 12px;}
  /* Feature */
  .dxstarterLpPage .dxs_feature_inner { padding: 48px 32px;}
  .dxstarterLpPage .dxs_feature_box { padding: 3% 6% 4%; margin-bottom: 32px;}
  .dxstarterLpPage .dxs_feature_box_title { font-size: 32px; margin: 0 0 4% 0; padding: 0; width: 100%;}
  /* LINE???? (option01): ????????????50% + ??????50% ??? */
  .dxstarterLpPage .dxs_line_item { flex-direction: row; align-items: flex-start; gap: 0;}
  .dxstarterLpPage .dxs_line_item.is_reverse { flex-direction: row-reverse;}
  .dxstarterLpPage .dxs_line_item_content { width: 50%; padding-left: 2%;}
  .dxstarterLpPage .dxs_line_item .dxs_option_img { width: 50%; margin-left: 0; padding: 0 15%;}
  .dxstarterLpPage .dxs_line_item.is_reverse .dxs_option_img { padding: 0;}
  /* WEB???? (option02): 2???????????? */
  .dxstarterLpPage .dxs_monsin_list { display: flex; flex-direction: row; align-items: flex-start; flex-wrap: nowrap; gap: 0;}
  .dxstarterLpPage .dxs_monsin_item { display: flex; flex-direction: column; align-items: flex-start; width: 50%; padding: 0 2%; gap: 0;}
  .dxstarterLpPage .dxs_monsin_item:nth-child(1) { position: relative;}
  .dxstarterLpPage .dxs_monsin_item:first-child::after { content: ""; display: inline-block; width: 70px; height: 70px; color: #005bab; background-image: url(/common/images/double_arrow_50dp.svg); background-position: center; background-size: contain; position: absolute; top: 22%; right: 0; bottom: 0; margin: auto; vertical-align: middle;}
  .dxstarterLpPage .dxs_monsin_item:nth-child(1) .dxs_option_img { width: 80%; margin-left: 10%;}
  .dxstarterLpPage .dxs_monsin_item:nth-child(2) .dxs_option_img { width: 100%; margin: 60px 0 0; margin-left: 0;}
  .dxstarterLpPage .dxs_monsin_item_content { width: 100%;}
  .dxstarterLpPage .dxs_feature_item_title { font-size: 24px;}
  .dxstarterLpPage .dxs_feature_item_text { font-size: 15px;}
  .dxstarterLpPage .dxs_option_note { font-size: 12px;}
  /* Price */
  .dxstarterLpPage .dxs_price_table tbody th { font-size: 15px; width: 30%;}
  .dxstarterLpPage .dxs_price_table tbody td { font-size: 15px;}
  .dxstarterLpPage .dxs_price_num { font-size: 18px;}
  /* Flow */
  .dxstarterLpPage .dxs_flow_list { flex-direction: row; justify-content: center; align-items: flex-start; gap: 16px;}
  .dxstarterLpPage .dxs_flow_item { flex: 1;}
  .dxstarterLpPage .dxs_flow_title { font-size: 17px;}
  .dxstarterLpPage .dxs_flow_step_num { font-size: 30px;}
  .dxstarterLpPage .dxs_flow_img img { max-width: 160px;}
  /* CTA */
  .dxstarterLpPage .dxs_cta { min-height: 250px; display: flex; align-items: center;}
  .dxstarterLpPage .dxs_cta_mail { /*width: 50%;*/ margin: 0 auto; padding-top: 0;}
  .dxstarterLpPage .dxs_cta_lead { font-size: 16px;}
}

/* ==================================================
   LINEde?????????????????????? LP (/products/linepinpoint/)
================================================== */

/* --- ??????????????????????????????????????? --- */
.linepinpoint_page .fade_in_up { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease, transform 0.6s ease;}
.linepinpoint_page .fade_in_up.visible { opacity: 1; transform: translateY(0);}
/* --- ???????????? --- */
.linepinpoint_page .lp_delay_10 { transition-delay: 0.1s;}
.linepinpoint_page .lp_delay_15 { transition-delay: 0.15s;}
.linepinpoint_page .lp_delay_20 { transition-delay: 0.2s;}
.linepinpoint_page .lp_delay_30 { transition-delay: 0.3s;}
.linepinpoint_page .lp_delay_40 { transition-delay: 0.4s;}
/* --- ????????? --- */
.linepinpoint_page .btn { padding: 0 2rem; height: 72px; min-height: 72px; border-radius: 40px; font-weight: 700; cursor: pointer; border: none; transition: all 0.3s; font-size: 16px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none;}
.linepinpoint_page .btn_gradient { background: linear-gradient(90deg, #00546C 0%, #1C9F91 100%); color: white;}
.linepinpoint_page .btn_gradient:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(0, 84, 108, 0.3);}
.linepinpoint_page .btn_outline { background: white; border: 2px solid #00546C; color: #00546C;}
.linepinpoint_page .btn_outline:hover { background: #00546C; color: white;}
.linepinpoint_page .btn_large { padding: 0 2.5rem; font-size: 22px;}
/* --- ????????????????????? --- */
.linepinpoint_page section { padding: 3rem 0;}
.linepinpoint_page .section_title { font-size: 40px; font-weight: 700; text-align: center; margin-bottom: 4rem; color: #1f2937;}
.linepinpoint_page .bg_gray { background: #f3f3f3;}
.linepinpoint_page .lp_section_gradient { background: linear-gradient(90deg, rgba(255,255,255,.3) .56%, rgba(95,215,201,.3) 45.02%, rgba(177,215,132,.3) 56.97%, rgba(207,243,239,.3) 68.45%, rgba(255,255,255,.3) 98.09%);}
/* --- Hero --- */
.linepinpoint_page .hero { position: relative; background: linear-gradient(90deg, rgba(255,255,255,.3) .56%, rgba(95,215,201,.3) 45.02%, rgba(177,215,132,.3) 56.97%, rgba(207,243,239,.3) 68.45%, rgba(255,255,255,.3) 98.09%); overflow: hidden; padding: 0;}
.linepinpoint_page .hero_content { display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: center; padding: 5rem 1.5rem; max-width: 1400px; margin: 0 auto; position: relative; min-height: 670px;}
.linepinpoint_page .hero_right { position: absolute; right: 0; top: 0; bottom: 0; width: 50%; display: flex; justify-content: center; align-items: center;}
.linepinpoint_page .hero_text h1 { font-size: 54px; font-weight: 700; line-height: 1.2; margin-bottom: 0.5rem; color: #1f2937;}
.linepinpoint_page .hero_text .subtitle { font-size: 48px; font-weight: 700; color: #00b982; margin-bottom: 1.5rem;}
.linepinpoint_page .hero_text .tagline { font-size: 28px; font-weight: 700; color: #1f2937; margin-bottom: 1rem;}
.linepinpoint_page .hero_text .description { font-size: 20px; font-weight: 700; color: #4b5563; margin-bottom: 2rem; line-height: 1.8;}
.linepinpoint_page .hero_image { position: relative; width: 100%; height: 100%; min-height: 600px;}
.linepinpoint_page .hero_image img { position: absolute;}
.linepinpoint_page .hero_image .phone { width: 100%; height: 100%; object-fit: contain; object-position: center;}
.linepinpoint_page .hero_image .bubble { position: absolute; filter: drop-shadow(0 20px 25px rgba(0,0,0,0.15)); animation: linepp_fadeInDown 0.8s ease-out forwards; opacity: 0;}
.linepinpoint_page .hero_image .bubble_1 { width: 100%; max-width: 540px; top: calc(10% + 70px); right: -5%; z-index: 40; animation-delay: 0.5s;}
.linepinpoint_page .hero_image .bubble_2 { width: 100%; max-width: 540px; top: calc(10% + 236px); right: -5%; z-index: 30; animation-delay: 0.9s;}
.linepinpoint_page .hero_image .bubble_3 { width: 100%; max-width: 540px; bottom: 10%; left: calc(-5% - 130px); z-index: 20; animation-delay: 1.3s;}
.linepinpoint_page .hero_image .bubble_4 { width: 100%; max-width: 540px; bottom: calc(20% + 110px); left: calc(-5% - 130px); z-index: 10; animation-delay: 1.7s;}

@keyframes linepp_fadeInDown {
  from { opacity: 0; transform: translateY(-20px);}
  to { opacity: 1; transform: translateY(0);}
}

/* --- Problems --- */
.linepinpoint_page .problem_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; max-width: 1200px; margin: 0 auto;}
.linepinpoint_page .problem_card { background: white; border-radius: 1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1); transition: all 0.3s;}
.linepinpoint_page .problem_card:hover { box-shadow: 0 10px 15px rgba(0,0,0,0.15);}
.linepinpoint_page .problem_card_image { height: 16rem; display: flex; align-items: center; justify-content: center; background: white; overflow: hidden;}
.linepinpoint_page .problem_card_image img { width: 100%; height: 100%; object-fit: contain; padding: 0 2rem; max-width: 300px; max-height: 300px;}
.linepinpoint_page .problem_card_content { padding: 2rem; text-align: center;}
.linepinpoint_page .problem_card_title { font-size: 27.2px; font-weight: 700; margin-bottom: 1rem; color: #1f2937;}
.linepinpoint_page .problem_card_desc { color: #6b7280; line-height: 1.8;}
/* --- Solution --- */
.linepinpoint_page .solution_content { max-width: 900px; margin: 0 auto; text-align: center;}
.linepinpoint_page .solution_text { font-size: 27.2px; font-weight: 700; color: #1f2937; margin-bottom: 2rem; line-height: 1.8;}
.linepinpoint_page .lp_solution_mt { margin-top: 60px;}
.linepinpoint_page .lp_solution_highlight { font-size: 44px; color: #00546C; margin-bottom: 40px;}
/* --- Scenarios --- */
.linepinpoint_page .lp_scenarios_header { text-align: center; margin-top: 40px; margin-bottom: 80px;}
.linepinpoint_page .lp_scenarios_subtitle { font-size: 30px; font-weight: 700; color: #333333; margin-bottom: 40px;}
.linepinpoint_page .scenario_grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; max-width: 1200px; margin: 0 auto;}
.linepinpoint_page .scenario_card { background: white; border-radius: 1rem; overflow: hidden; box-shadow: 0 4px 6px rgba(0,0,0,0.1); transition: all 0.3s;}
.linepinpoint_page .scenario_card:hover { box-shadow: 0 10px 15px rgba(0,0,0,0.15); transform: translateY(-5px);}
.linepinpoint_page .scenario_content { padding: 2rem;}
.linepinpoint_page .scenario_title { font-size: 24px; font-weight: 700; margin-bottom: 1rem; color: #1f2937;}
.linepinpoint_page .lp_scenario_block { margin-bottom: 1.5rem;}
.linepinpoint_page .lp_scenario_title_inner { font-size: 28px; margin-bottom: 0.5rem;}
.linepinpoint_page .lp_scenario_subtitle { font-size: 20px; font-weight: 600; color: #00546C;}
.linepinpoint_page .lp_before_box { background: #f3f4f6; padding: 1rem; border-radius: 0.5rem; margin-bottom: 1.5rem;}
.linepinpoint_page .lp_before_label { font-size: 16px; font-weight: 700; color: #4b5563; margin-bottom: 0.5rem;}
.linepinpoint_page .lp_before_desc { font-size: 16px; font-weight: 700; color: #6b7280;}
.linepinpoint_page .lp_after_box { background: white; border: 2px solid rgba(0,185,130,0.3); border-radius: 0.5rem; padding: 1.5rem;}
.linepinpoint_page .lp_flex_col_center { display: flex; flex-direction: column; align-items: center;}
.linepinpoint_page .lp_scenario_after_img { width: 100%; height: auto; margin: 1rem 0 2rem 0;}
.linepinpoint_page .lp_after_desc { font-size: 20px; font-weight: 700; color: #374151; text-align: left;}
/* --- Mid CTA --- */
.linepinpoint_page .lp_mid_cta_section { padding: 6rem 0; background: white;}
.linepinpoint_page .lp_mid_cta_inner { max-width: 56rem; margin: 0 auto; text-align: center;}
.linepinpoint_page .lp_mid_cta_title { font-size: 40px; font-weight: 700; color: #1f2937; margin-bottom: 2rem; line-height: 1.2;}
.linepinpoint_page .lp_mid_cta_subtitle { font-size: 24px; font-weight: 700; color: #00546C; margin-bottom: 1.5rem;}
.linepinpoint_page .lp_mid_cta_text { font-size: 18px; font-weight: 700; color: #6b7280; margin-bottom: 3rem; line-height: 1.8;}
.linepinpoint_page .lp_cta_btn_mid { font-size: 22px; padding: 0 2.5rem;}
.linepinpoint_page .cta_buttons { display: flex; flex-direction: row; gap: 1rem; justify-content: center; align-items: center; flex-wrap: wrap;}
/* --- 3 Steps --- */
.linepinpoint_page .lp_steps_header { text-align: center; margin-bottom: 80px;}
.linepinpoint_page .lp_steps_subtitle { font-size: 30px; font-weight: 700; color: #6b7280;}
.linepinpoint_page .lp_steps_wrapper { max-width: 1200px; margin: 0 auto; display: flex; flex-direction: column; gap: 3rem;}
.linepinpoint_page .lp_step_outer { background: white; border-radius: 1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1); overflow: hidden;}
.linepinpoint_page .lp_step_card_grid_inner { display: grid; grid-template-columns: 1fr 1fr; gap: 0;}
.linepinpoint_page .lp_step_card_text_inner { padding: 2rem; display: flex; flex-direction: column; justify-content: center;}
.linepinpoint_page .lp_step_mb { margin-bottom: 1.5rem;}
.linepinpoint_page .lp_step_num { color: #BFBFBF; font-size: 60px; font-weight: 700;}
.linepinpoint_page .lp_step_title { font-size: 36px; font-weight: 700; color: #1f2937; margin-bottom: 1.5rem;}
.linepinpoint_page .lp_step_desc { font-size: 20px; line-height: 1.8;}
.linepinpoint_page .lp_step_card_image_inner { display: flex; align-items: center; justify-content: center; padding: 1rem; overflow: hidden;}
.linepinpoint_page .lp_step_img { width: 100%; height: auto; max-height: 400px; object-fit: contain; display: block;}
.linepinpoint_page .lp_steps_footer { text-align: center; margin-top: 4rem;}
.linepinpoint_page .lp_steps_footer_p { font-size: 20px; color: #374151; font-weight: 500;}
.linepinpoint_page .lp_steps_footer_span { font-size: 36px;}
/* --- Pricing --- */
.linepinpoint_page .lp_pricing_header { text-align: center; margin-bottom: 80px;}
.linepinpoint_page .lp_pricing_subtitle { font-size: 20px; color: #6b7280;}
.linepinpoint_page .pricing_grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; max-width: 1400px; margin: 0 auto;}
.linepinpoint_page .pricing_card { background: white; border-radius: 1rem; padding: 2.5rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1); transition: all 0.3s; text-align: center;}
.linepinpoint_page .pricing_card:hover { box-shadow: 0 10px 15px rgba(0,0,0,0.15); transform: translateY(-5px);}
.linepinpoint_page .pricing_name { font-size: 24px; font-weight: 700; margin-bottom: 1rem; color: #1f2937;}
.linepinpoint_page .pricing_price { font-size: 40px; font-weight: 700; color: #00546C; margin-bottom: 0.5rem;}
.linepinpoint_page .pricing_unit { font-size: 16px; color: #6b7280; margin-bottom: 2rem;}
.linepinpoint_page .lp_pricing_feature_box { background: #f3f3f3; border-radius: 0.5rem; padding: 1rem; margin-bottom: 1.5rem;}
.linepinpoint_page .lp_pricing_feature_label { font-size: 14px; color: #6b7280; margin-bottom: 0.25rem;}
.linepinpoint_page .lp_pricing_feature_value { font-size: 24px; font-weight: 700; color: #00546C;}
.linepinpoint_page .lp_pricing_desc { font-size: 16px; font-weight: 700; color: #6b7280; line-height: 1.6;}
.linepinpoint_page .lp_pricing_card_popular { border: 2px solid #00b982; box-shadow: 0 10px 15px rgba(0,0,0,0.15); transform: scale(1.05); position: relative;}
.linepinpoint_page .lp_pricing_badge { position: absolute; top: -1rem; left: 50%; transform: translateX(-50%); background: linear-gradient(90deg, #00546C 0%, #1C9F91 100%); color: white; padding: 0.5rem 1.5rem; border-radius: 50px; font-size: 14px; font-weight: 700; display: flex; align-items: center; gap: 0.5rem;}
.linepinpoint_page .lp_pricing_name_mt { margin-top: 1rem;}
.linepinpoint_page .lp_pricing_note { text-align: center; font-size: 14px; color: #6b7280; margin-top: 2rem;}
/* --- Testimonials --- */
.linepinpoint_page .testimonial_section { background: #f3f3f3;}
.linepinpoint_page .testimonial_item { display: flex; gap: 1.5rem; max-width: 896px; margin: 0 auto 2rem; align-items: flex-start;}
.linepinpoint_page .testimonial_avatar { width: 96px; height: 96px; border-radius: 50%; flex-shrink: 0; overflow: hidden; background: #e0f2f1;}
.linepinpoint_page .testimonial_avatar img { width: 100%; height: 100%; object-fit: cover;}
.linepinpoint_page .testimonial_bubble { background: white; padding: 1.5rem; border-radius: 1rem; box-shadow: 0 2px 8px rgba(0,0,0,0.1); position: relative; flex: 1;}
.linepinpoint_page .testimonial_bubble::before { content: ''; position: absolute; left: -8px; top: 2rem; width: 0; height: 0; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-right: 8px solid white;}
.linepinpoint_page .testimonial_text { color: #1f2937; line-height: 1.8; font-size: 18px;}
/* --- Seminar --- */
.linepinpoint_page .seminar_grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; max-width: 1024px; margin: 0 auto;}
.linepinpoint_page .seminar_banner { border-radius: 1rem; overflow: hidden; box-shadow: 0 4px 6px rgba(0,0,0,0.1); transition: all 0.3s; display: block;}
.linepinpoint_page .seminar_banner:hover { box-shadow: 0 10px 15px rgba(0,0,0,0.15);}
.linepinpoint_page .seminar_banner img { width: 100%; height: 100%; object-fit: cover;}
/* --- FAQ --- */
.linepinpoint_page .faq_container { max-width: 768px; margin: 0 auto;}
.linepinpoint_page .faq_item { background: white; border-radius: 1rem; margin-bottom: 1rem; box-shadow: 0 4px 6px rgba(0,0,0,0.1); overflow: hidden;}
.linepinpoint_page .faq_question { padding: 1.5rem; font-size: 18px; font-weight: 700; color: #1f2937; cursor: pointer; display: flex; justify-content: space-between; align-items: center; transition: background 0.3s;}
.linepinpoint_page .faq_question:hover { background: #f9fafb;}
.linepinpoint_page .faq_question::after { content: '+'; font-size: 24px; color: #00546C; flex-shrink: 0;}
.linepinpoint_page .faq_question.active::after { content: '−';}
.linepinpoint_page .faq_answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease;}
.linepinpoint_page .faq_answer_content { padding: 1rem 1.5rem 1.5rem; color: #4b5563; line-height: 1.8; white-space: pre-line;}
/* --- Final CTA --- */
.linepinpoint_page .cta_section { background: linear-gradient(90deg, rgba(255,255,255,.3) .56%, rgba(95,215,201,.3) 45.02%, rgba(177,215,132,.3) 56.97%, rgba(207,243,239,.3) 68.45%, rgba(255,255,255,.3) 98.09%); text-align: center;}
.linepinpoint_page .cta_content { max-width: 1000px; margin: 0 auto;}
.linepinpoint_page .cta_title { font-size: 60px; font-weight: 700; line-height: 1.2; margin-bottom: 2rem; color: #1f2937;}
.linepinpoint_page .cta_subtitle { font-size: 24px; color: #00546C; font-weight: 700; margin-bottom: 1.5rem;}
.linepinpoint_page .cta_text { font-size: 18px; color: #4b5563; margin-bottom: 3rem; line-height: 1.8;}
/* --- ??????????????????: ?????????????????? (max-width: 1024px) --- */

@media (max-width: 1024px) {
  .linepinpoint_page .hero_content { grid-template-columns: 1fr; min-height: auto;}
  .linepinpoint_page .hero_right { position: static; width: 100%;}
  .linepinpoint_page .hero_image { height: 500px; min-height: 500px;}
  .linepinpoint_page .hero_image .bubble_1 { max-width: 520px; right: 0;}
  .linepinpoint_page .hero_image .bubble_2 { max-width: 520px; right: 0;}
  .linepinpoint_page .hero_image .bubble_3 { max-width: 480px; left: -46px; top: 300px;}
  .linepinpoint_page .hero_image .bubble_4 { max-width: 480px; left: 13px; top: 170px;}
  .linepinpoint_page .problem_grid,
  .linepinpoint_page .scenario_grid,
  .linepinpoint_page .seminar_grid { grid-template-columns: 1fr;}
}

/* --- ??????????????????: ??????????????? (768px???1023px) --- */

@media (min-width: 768px) and (max-width: 1023px) {
  .linepinpoint_page .pricing_grid { grid-template-columns: repeat(2, 1fr);}
}

/* --- ??????????????????: ????????? (max-width: 767px) --- */

@media (max-width: 767px) {
  .linepinpoint_page .hero_content { padding: 2rem 1.5rem;}
  .linepinpoint_page .hero_image { height: 400px; min-height: 400px;}
  .linepinpoint_page .hero_image .bubble_1 { max-width: 320px; right: -58px; top: 12%;}
  .linepinpoint_page .hero_image .bubble_2 { max-width: 320px; right: -75px; top: 58%;}
  .linepinpoint_page .hero_image .bubble_3 { max-width: 300px; left: -30px; bottom: 10%;}
  .linepinpoint_page .hero_image .bubble_4 { max-width: 300px; left: -108px; bottom: 40%;}
  .linepinpoint_page .hero_text h1 { font-size: 38px;}
  .linepinpoint_page .hero_text .subtitle { font-size: 28.8px;}
  .linepinpoint_page .hero_text .tagline { font-size: 24px;}
  .linepinpoint_page .section_title { font-size: 32px;}
  .linepinpoint_page .lp_solution_mt { margin-top: 0;}
  .linepinpoint_page .solution_text { font-size: 24px;}
  .linepinpoint_page .lp_solution_highlight { font-size: 28px;}
  .linepinpoint_page .lp_mid_cta_subtitle { font-size: 23px;}
  .linepinpoint_page .cta_title { font-size: 40px;}
  .linepinpoint_page .cta_buttons { flex-direction: column; align-items: center;}
  .linepinpoint_page .pricing_grid { grid-template-columns: 1fr;}
  .linepinpoint_page .pricing_card { transform: none !important; box-shadow: 0 4px 6px rgba(0,0,0,0.1) !important;}
  .linepinpoint_page .step_card_grid { display: flex !important; flex-direction: column !important;}
  .linepinpoint_page .step_card_text { order: 1; padding: 2rem 1.5rem !important;}
  .linepinpoint_page .step_card_image { order: 2; padding: 1rem !important;}
  .linepinpoint_page .lp_after_box { overflow: visible;}
  .linepinpoint_page .lp_after_box img { width: 100%; transform: scale(1.4);}
  .linepinpoint_page .testimonial_item { flex-direction: column; align-items: center; text-align: center;}
  .linepinpoint_page .testimonial_bubble::before { display: none;}
  .linepinpoint_page .seminar_grid { grid-template-columns: 1fr; gap: 1.5rem; width: 100%;}
  .linepinpoint_page .seminar_banner img { width: 100%; height: auto; object-fit: contain; vertical-align: top;}
}

/* ========== clinicopening LP (migrated from WordPress) ========== */

.infinite-bounce { --animation-delay: 0s; animation: bounce 1.5s infinite alternate; -webkit-animation: bounce 1.5s infinite alternate; animation-delay: var(--animation-delay);}

@keyframes bounce {
  from { transform: translateY(0px);}
  to { transform: translateY(-15px);}
}

@-webkit-keyframes bounce {
  from { transform: translateY(0px);}
  to { transform: translateY(-15px);}
}

.track-record-section .placeholder-data.seminarSlidDetail h4 a,
.placeholder-data.seminarSlidDetail h4 a,
.track-record-section .placeholder-data.seminarSlidDetail p,
.placeholder-data.seminarSlidDetail p,
.track-record-section .placeholder-data.seminarSlidDetail .slideBtn a,
.placeholder-data.seminarSlidDetail .slideBtn a { color: #F2F4F8; background-color: #F2F4F8;}
.btn-round-arrow svg { position: absolute; right: 18px; transition: transform .3s linear;}
.btn-round-arrow svg g.arrow { transition: transform .3s linear;}
/*.btn-round-arrow:hover svg path{
  stroke: white;
}*/
.btn-round-arrow:hover svg g.arrow { transform: translateX(5px);}
.seminar-sliderWrap .swiper-button-next:after, .seminar-sliderWrap .swiper-button-prev:after { content: ''; background-image: url(../images/arrow-slide.svg); width: 100px; height: 100px; display: block; background-size: contain; background-position: center;}
.seminar-sliderWrap .swiper-button-next:hover:after, .seminar-sliderWrap .swiper-button-prev:hover:after { background-image: url(../images/svg/arrow-slide-hover.svg);}
.seminar-slider { --container-width: 864px; overflow: visible !important; width: var(--container-width) !important; margin-left: auto !important; margin-right: auto !important;}
.swiper-slider-1 { --container-width: 888px; overflow: visible !important; width: var(--container-width) !important; margin-left: auto !important; margin-right: auto !important;}
.banner_header.style2 .base-btn span { font-size: 18px;}
/*.seminar-slider .swiper-slide{
  max-width: 420px;
}*/
.gmo_modal { right: 32px;}
.newsList .newsitem:hover .newsMeta,
.newsList .newsitem:hover p a { color: #00546C;}
.newsList.column-category .newsitem:hover .newsMeta,
.newsList.column-category .newsitem:hover p a { color:#1C9F91;}
.header_contact .header_contact__tel a { font-family: "Montserrat", sans-serif !important; font-weight: 600 !important;}
[data-aos=fade-up] { transform: translate3d(0, 20px, 0);}
[data-aos=fade-right] { transform: translate3d(-20px, 0, 0);}
[data-aos=fade-left] { transform: translate3d(20px, 0, 0);}
.seminarSlidItem:hover .seminarSlidDetail.placeholder-data h4 a,
.seminarSlidItem:hover .seminarSlidDetail.placeholder-data h4 a { color: #F2F4F8;}
.seminar-sliderWrap { overflow: hidden;}
.newsList .newsitem p a { -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; text-overflow: ellipsis; overflow: hidden; text-overflow: ellipsis; min-height: 48px;}
.navigation-is-open .gmomobileNav { overflow-y: auto;}
br.mobile-only { display: none;}
.gmo_modal { /* bottom: -2px !important; */}
.parent-menu + .sub-menu-block,
.sub-parent-menu + .submenu-level-2 { height: auto; max-height: 0px; overflow: hidden; transition: max-height 1.5s ease-in-out;}
.parent-menu.active + .sub-menu-block,
.sub-parent-menu.active + .submenu-level-2 { max-height: 2000px; transition: max-height 1.5s ease-in-out;}
.introduction_section .step-wrapper.show_ms { display: none;}
.contact_fix .mr_input_form { font-size: 16px;}
.contact_fix .mr_input_form::-webkit-input-placeholder { /* Chrome/Opera/Safari */ font-size: 10px;}
.contact_fix .mr_input_form::-moz-placeholder { /* Firefox 19+ */ font-size: 10px;}
.contact_fix .mr_input_form:-ms-input-placeholder { /* IE 10+ */ font-size: 10px;}
.contact_fix .mr_input_form:-moz-placeholder { /* Firefox 18- */ font-size: 10px;}
.headerTop { position: fixed; width: 100%; top: 0; z-index: 100;}
header nav { /*margin-top: 29px;*/}
.banner_header.style1 .container { max-width: 1104px;}
.banner_header.style1 .bannerImg { max-height: 538px;}
.banner_header.style1 .bannerImg img { width: 85%;}
.banner_header.style1 .gmo_row { gap: 16px;}
.banner_header.style1 .gmo_row .gmo_col.left { padding-left: 54px;}

@media screen and (min-width:992px) and (max-width:1200px){
  .banner_header.style2 .gmo_row { grid-template-columns: 458px 558px;}
}

@media screen and (max-width:1080px){ 
  .banner_header.style2 .good-design-wrap { justify-content: center;}
  .banner_header.style2 .base-btn { margin-left: auto !important; margin-right: auto;}
}

@media only screen and (max-width: 991px) {
    .introduction_section .step-wrapper.show_ms { display: grid;}
  header nav { margin-top: 0px;}
}

@media only screen and (max-width: 1199px){
  .banner_header .breadcrum-wrapper { padding: 0 15px;}
}

@media only screen and (min-width: 769px) {
    .gmomobileNavSide .sub-menu-block { padding: 0 15px;}
}

@media only screen and (max-width : 900px){
  .seminar-slider { --container-width: 85%;}
}

@media only screen and (max-width: 767px){
  .banner_header.title-style h1 { font-size: 26px;}
  .banner_header .mobile-base-btnWrap { position: fixed !important; z-index: 99; bottom: 0px !important;}
  ul.sideNavMobile li .parent-menu.active + .sub-menu-block,
  ul.sideNavMobile li .sub-parent-menu.active + .submenu-level-2 { border-top: 1px #5AC7C0 solid;}
  ul.sideNavMobile li:last-child,
  ul.sideNavMobile li .submenu-level-2 li:last-child { border-bottom: none;}
  .meet_family_section { margin-bottom: 30px;}
  .gmoFooterLogo, .globalLogo { max-width: 234px; width: auto;}
  .seminar-slider { overflow: hidden !important;}
  .swiper-slider-1 { --container-width: 70%;}
  .seminar-sliderWrap .seminar-slider .container { min-width: auto !important; margin-left: 0px !important;}
  .banner_header.style2 .good-design-wrap { justify-content: flex-start; gap: 0; position: relative; padding-top: 24px; padding-bottom: 24px;}
  .banner_header.style2 h1 { font-size: 28px; line-height: 1.35;}
  .banner_header.style2 .good-design-wrap h3 { text-align: left; order: 2; padding-left: 93px;}
  .banner_header.style2 .good-design-img { order: 1; position: absolute; top: -30px;}
  .banner_header.style2 { background: url(../images/index2bg.jpg) no-repeat !important; background-position:center center !important; background-size: cover !important;}
  .banner_header.style1 .gmo_row .gmo_col.left { padding-left: 0px;}
}

@media only screen and (max-width : 600px){
  .seminar-slider { --container-width: 420px;}
  .swiper-slider-1 { --container-width: 70%;}
  br.mobile-only { display: block;}
}

@media only screen and (max-width : 550px){
  /* .aside-form-wrap {
    --contact-form-width: calc(100% - 60px) !important;
  } */
  .swiper-slider-1 { --container-width: 280px;}
  .aside-form-wrap .aside-form { padding: 26px 20px 36px 20px !important;}
  .aside-form-wrap .aside-form #div_contact_fix #mr_form .mr_form_inner .mr_require_checkbox.label_cb { grid-template-columns: 1fr 1fr !important;}
  header nav .navLeft { max-width: 184px;}
}

@media only screen and (max-width : 450px){
  .seminar-slider { --container-width: 75%;}
  .swiper-slider-1 { --container-width: 280px;}
  .aside-form-wrap .aside-form { padding: 26px 10px 36px 10px !important;}
}

@media only screen and (max-width : 419px){
  .seminar-slider { --container-width: 100%;}
  .swiper-slider-1 { --container-width: 280px;}
}

:root { --base: #000000; --primary1: #065b9e; --primary2: #00546C; --lightGray: #EEEEEE; --white: #ffffff;}
[data-aos=fade-up] { transform: translate3d(0, 20px, 0);}
[data-aos=fade-right] { transform: translate3d(-20px, 0, 0);}
[data-aos=fade-left] { transform: translate3d(20px, 0, 0);}
*:focus { outline: none;}
.paddingB20 { padding-bottom: 20px;}
.marginB10n { margin-bottom: -10px;}
.container-sm { max-width: 1080px;}
.btn-round-arrow svg { position: absolute; right: 18px; transition: transform .3s linear;}
  .btn-round-arrow svg g.arrow { transition: transform .3s linear;}
  .btn-round-arrow:hover svg g.arrow { transform: translateX(5px);}
  .navigation-is-open .gmomobileNav { overflow-y: auto;}
  br.mobile-only { display: none;}
  .parent-menu + .sub-menu-block,
  .sub-parent-menu + .submenu-level-2 { height: auto; max-height: 0px; overflow: hidden; transition: max-height 1.5s ease-in-out;}
  .parent-menu.active + .sub-menu-block,
  .sub-parent-menu.active + .submenu-level-2 { max-height: 2000px; transition: max-height 1.5s ease-in-out;}

  /*@media only screen and (min-width: 769px) {
      .gmomobileNavSide .sub-menu-block {
          padding: 0 15px;
      }
  }*/
/************************************************************/
body { color: #333;}
footer { padding: 0;}
.btn-select { background: linear-gradient(77deg, rgba(0, 84, 108, 1) 0%, rgba(0, 126, 143, 1) 28%, rgba(28, 159, 145, 1) 90%); border-color: #ffffff; color: white;}
.btn-select span { background: transparent; color: white; -webkit-text-fill-color: #FFFFFF;}
.btn-select { background: linear-gradient(77deg, rgba(0, 84, 108, 1) 0%, rgba(0, 126, 143, 1) 28%, rgba(28, 159, 145, 1) 90%); border-color: #ffffff; color: white;}
.btn-select svg path { stroke: white;}

@media all and (min-width: 768px){
    .base-btn:hover { background: linear-gradient(77deg, rgba(0, 84, 108, 1) 0%, rgba(0, 126, 143, 1) 28%, rgba(28, 159, 145, 1) 90%); border-color: #ffffff; color: white;}
    .base-btn:hover { background: linear-gradient(77deg, rgba(0, 84, 108, 1) 0%, rgba(0, 126, 143, 1) 28%, rgba(28, 159, 145, 1) 90%); border-color: #ffffff; color: white;}
.btn-select:hover { color: #1C9F91; border: 1px solid #1C9F91; background: linear-gradient(77deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 28%, rgb(255, 255, 255) 90%);}
.btn-select:hover svg path { stroke: #1C9F91;}
.btn-select:hover span { color: #1C9F91; -webkit-text-fill-color:#1C9F91;}
}

.sectionTitle { padding-bottom: 10px; padding-top: 20px;}
.sectionTitleIcon { padding-bottom: 20px; text-align: center;}
.sectionTitle h2 { color: #444444; font-size: 40px; font-weight: 700; text-align: center;}
.sectionTitle span { color: #259A8D;}
.sectionTitle h2 i { font-style: normal; color: #000000;}
.sectionTitle h3 { color: #444444; font-size: 26px; font-weight: 700; text-align: center; padding-bottom: 22px;}
.sectionTitle small::after { display: block; content: ''; clear: both; height: 1px; width: 50px; background-color: var(--primary1); margin-left: auto; margin-right: auto; margin-top: 30px;}
.sectionTitle .titleInfo { color: var(--base); padding-top: 55px; text-align: center; letter-spacing: .25px; line-height: 1.6; margin-bottom: -4px;}
.sectionTitle p { font-size: 26px; line-height: 1.5; /*padding-top: 66px; font-weight: 500;*/}
header .container { max-width: 1360px;}
.banner { background-color: #ffffff; overflow-x: hidden;}
.banner .container { padding:40px 34px 70px 34px; position: relative;}
.banner .container::before { display: block; content: ''; background-image: url(../images/open/plus-full.webp); background-repeat: no-repeat; background-position: right 84px; background-size: 100%; position: absolute; right: -135px; top: 0px; width: 670px; height: 100%;}
.banner .gmo_row { display: grid; grid-template-columns: 1fr 500px; align-items: flex-end; position: relative;}
.banner h1 { color: #259A8D; font-size: 50px; line-height: 1.4; padding: 13px 0; font-weight: 700;}
.banner h3 { color: #000000; font-size: 18px; line-height: 1.21; font-weight: 400; padding: 10px 0;}
.banner .base-btn { width: 440px; height: 80px; border-radius: 50px; font-size: 24px; margin-top: 42px; margin-left: -14px;}
.banner .base-btn svg { right: 8px;}
.banner .svgBanner { margin-bottom: -25px;}
.banner .achievement { margin-top: 24px; margin-left: -14px;}
.banner .achievement .mark1 { padding-bottom: 0;}
.banner .achievement .mark1 > span:nth-child(1),
.banner .achievement .mark1 > span:nth-child(3) { font-size: 20px;}
.banner .achievement .mark1 > span:nth-child(2) { margin-top: -.5em; color: #259A8D;}
.twoThousandContract { position: absolute; top: 70px; right: -184px;}
.twoThousandContract img { max-width: 68%;}
.business_launchSection { background-color: #F8F8F8; padding:66px 0 98px 0; position: relative;}
.businessLists { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; text-align: center; margin-top: -3px;}
.businessLists .businessList { background-color: #ffffff; padding: 25px 25px 5px 25px; border-radius: 8px; box-shadow: rgba(166, 176, 191, 0.5) 5px 5px 12.5px; position: relative; overflow: hidden;}
.businessLists h3 { color: #444444; font-size: 26px; font-weight: 500; text-align: center; line-height: 1.1923; padding-top: 20px;}
.supportSection { padding:72px 0 100px 0; position: relative;}
.supportSection:before { content: ''; display: block; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 0px; height: 0px; border-left: 136px solid transparent; border-right: 136px solid transparent; border-top: 72px solid #F8F8F8;}
.supportSection .sectionTitle h2 { display: flex; justify-content: center; align-items: center;}
.supptDetailSmall { min-height: 55px;}
.clinicSection { background-color: #f8f8f8; padding: 56px 0 30px 0;}
.clinicSection .sectionTitle h3 { padding-bottom: 14px;}
.problems { padding-top: 15px; padding-bottom: 110px;}
/* Style by TRP */
.chat_quote_row { display: flex; align-items: center;}
.chat_quote_row img { vertical-align: middle; height: auto;}
.trp_chat_quote:nth-child(2n+2) .chat_quote_row .chat_avtar { order: 2;}
.trp_chat_quote:nth-child(2n+2) .chat_quote_row .chat_quote { order: 1;}
/*************************open Support ********************/
.open_supportbox { display: block; background-color: #ffffff; margin: 20px 0; padding: 25px 25px 5px 25px; border-radius: 8px; box-shadow: rgba(166, 176, 191, 0.5) 5px 5px 12.5px; position: relative; overflow: hidden;}
.clinicSection .sectionTitle .open_supportbox h3 { text-align: left; color:#259A8D; font-size: 26px;}
.open_supportbox div ul { display: flex; flex-wrap: wrap; padding: 0 20%;}
.open_supportbox div h4 { font-size: 18px; font-weight: bold; text-align: center; padding: 20px 0 10px 0;}
.open_supportbox div p { font-size: 16px; padding: 0;}
.open_supportbox div ul li.mini h4 { font-size: 16px;}
.open_supportbox div ul li.mini p { font-size: 12px; color:#259A8D; text-align: center;}
.open_supportbox div ul li.mini:first-child,.open_supportbox div ul li.mini:nth-child(2) { width: 30%; margin: 0 auto;}
.open_supportbox div ul li.mini:last-child { width: 100%;}
.supporticn { text-align: center;}
.supporticn img { margin: 0 auto;}
.recommended_section .sectionTitle h3 { font-size: 18px; text-align: left; padding:0 20px;}
.recommended_section .gmo_row .full-width { padding: 10px;}
section .sectionTitle .main_txt strong { color:#259A8D; font-weight: bold;}
.recommended_section .gmo_row .full-width { text-align: center;}

@media (max-width: 767px) {
  /* SPでは横幅60%(左右20%ずつ)に絞られてMEO対策/WEBサイト制作アイコンが窮屈になるため、paddingを解除する */
  .open_supportbox div ul { padding: 0;}
}

@media all and (min-width: 768px){
  .open_supportbox { display: grid; gap: 20px 70px; grid-template-columns: 200px 200px 200px; padding: 20px 80px; width: 80%; margin: 20px auto;}
  .open_supportbox div:nth-child(1) { grid-column: 1 / 4; grid-row: 1 / 2;}
  .open_supportbox div:nth-child(2) { grid-column: 1 / 2; grid-row: 2 / 3;}
  .open_supportbox div:nth-child(3) { grid-column: 2 / 3; grid-row: 2 / 3;}
  .open_supportbox div:nth-child(4) { grid-column: 3 / 4; grid-row: 2 / 3;}
  .open_supportbox div:nth-child(5) { grid-column: 1 / 4; grid-row: 3 / 4;}
  section .sectionTitle .main_txt { padding: 40px 100px; font-size: 20px;}
  /*.open_supportbox div ul li.mini:first-child,.open_supportbox div ul li.mini:nth-child(2){ padding-top: 70px;}*/
  .recommended_section .sectionTitle h3 { padding:0;}
  .clinicSection .sectionTitle .open_supportbox h3 { padding: 30px 0 0 0; line-height: 1.3; text-align: center;}
  .recommended_section .gmo_row .full-width { text-align: left;}
}

/*************************Support operations ********************/
.support-operations { margin-left: -25px; padding-top: 48px;}
.support-operations svg { width: 100%; height: auto; position: relative; top: 0;}
.hide_ms { position: relative;}
.wrap1 { width: calc(100% - 54px); height: 400px; position: absolute; max-width: 1000px; top: 31px; left: 54px; overflow: hidden;}
.wrap1 .imgsvg { position: absolute; top: 0; left: 0; bottom: 0; right: 0;}
.wrap1 .imgwrap { position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: #f8f8f8;}
.wrap1 .aos-animate.imgwrap { animation: moveLeft 2s forwards;}

@keyframes moveLeft {
    0% { transform: translateX(0%);}
    100% { transform: translateX(100%);}
}

.hide_desktop { position: relative;}
/*************************Success Stories ********************/
/*.success_stories_section{padding: 80px 0 70px 0; background-image: url(../images/open/plus-large.webp); background-size: 590px; background-repeat: no-repeat; background-position: right bottom;}
.success_stories_section h3{font-size: 26px; font-weight: 500; text-align: right; display: table; margin-left: auto; margin-right: auto; padding: 10px 0; line-height: 1.192; padding-bottom: 36px;}
.success_stories_section p{font-size: 20px; line-height: 1.2; padding: 0 20px;}*/
.success_stories_section .gmo_row { display: block;}
.success_stories_section .gmo_row img { border-radius: 8px; margin-bottom: 25px; box-shadow: 5px 5px 12.5px rgba(166, 176, 191, 0.5);}
.success_stories_section .sectionTitle p.successcontent_tag, .recommended_section .sectionTitle p.successcontent_tag { font-size: 12px; border:1px solid #259A8D; border-radius: 20px; padding: 4px 16px; display: inline-block; margin: 0 0 8px 10px; color: #259A8D; font-weight: bold;}
.success_stories_section h3 { font-size: 16px; font-weight: bold; text-align: left; line-height: 1.5;}
.success_stories_section .sectionTitle p { font-size: 14px; margin-bottom: 20px;}
/*************************Recommended section********************/
.recommended_section { background-color: #f8f8f8; padding: 22px 0 0 0;}
.recommended_section .gmo_row { display: block;}
.recommended_section.recommended_service .gmo_row {}
.recommended_section.recommended_service .gmo_row p { font-size: 15px; line-height: 1.5;}
.recommended_section.recommended_service h3 { font-weight: bold; padding: 0 0 0 20px;}
.recommended_section .gmo_row img { box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.15); margin-bottom: 10px; border-radius: 10px;}
.recommended_section p { padding:10px 20px; font-size: 16px;}
.recommended_section .supporList_ftr {}
.mindListHead { display: flex; align-items: center; font-size: 40px; font-weight: 400; gap: 50px; margin-bottom: 45px;}
.mindListHead div { font-size: 38px;}

@media only screen and (min-width : 768px){
  .success_stories_section .gmo_row { display: flex;}
  .success_stories_section .gmo_row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 38px;}
  .recommended_section .gmo_row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 30px;}
  .recommended_section.recommended_service .gmo_row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 30px;}
  .recommended_section .supporList_ftr { grid-template-columns: 1fr 1fr 1fr 1fr 1fr; gap: 10px 10px; padding: 20px 0 0 0;}
  .recommended_section p { padding:10px 20px 10px 0;}
  .success_stories_section p.successcontent_tag, .recommended_section p.successcontent_tag { padding: 4px 10px;}
  .recommended_section.recommended_service h3 { padding: 0;}
}

/*************************Plan Section********************/
.your_planSection .Fee_structure a { text-decoration: none;}
.your_planSection { background-color: #F8F8F8; padding:16px 0 82px 0;}
.your_planSection .clinic_success { display: grid; grid-template-columns: 1fr 1fr; justify-content: center; gap: 115px; padding-top: 10px; margin: 0 auto; margin-bottom: 40px;}
.your_planSection .clinic_success .clinic_successItem { background-color: white; border-radius: 8px; padding: 0; box-shadow: 5px 5px 12px rgba(166, 176, 191, 0.5); position: relative; overflow: hidden;}
.your_planSection .Fee_structure .clinic_success .clinic_successItem { justify-content: unset; padding: 0;}
.your_planSection .clinic_successImg { text-align: center;}
.your_planSection .clinic_successImg img { max-width: 240px; width: 100%;}
.your_planSection .clinic_success h3 { text-align: center; font-size: 26px; color: #259A8D; font-weight: 700; padding-bottom: 15px;}
.your_planSection .Fee_structure { padding:0; margin:0; background: none; box-shadow: none;}
.your_planSection .Fee_structure .clinic_success { gap: 115px; grid-template-columns: 1fr 1fr;}
.your_planSection .Fee_structure h3 { padding: 0 0 20px 0;}  
.your_planSection .Fee_structure .base-btn { width: 190px; height: 55px; margin-left: auto; margin-right: auto; border-color: #1C9F91; color: #1C9F91;}
.your_planSection .Fee_structure .base-btn.font-large { font-size: 18px;}
.your_planSection .Fee_structure .base-btn svg path { stroke: #1C9F91;}
.your_planSection .Fee_structure .base-btn:hover { background: #1C9F91; border-color: #007e8f; color: #ffffff;}
.your_planSection .Fee_structure .base-btn:hover svg path { stroke: #ffffff;}
.Fee_structure p { font-size: 16px; color: #1C1C1C; line-height: 1.6; font-weight: 500; padding:0 0 17px 0;}
.fee_price { font-size: 50px; color: #259A8D; font-weight: 700; padding-bottom: 6px;}
.fee_price span { display: inline-block; line-height: 1;}
.fee_price small { display: inline-block; font-size: 18px; line-height: 1;}
.Fee_structure .gmo_row { justify-content: center; gap: 40px;}
.Fee_structure h5 { font-size: 16px; font-weight: 700; color: #444444;}
.Fee_structure h6 { font-size: 14px; line-height: 1.214; padding-bottom: 10px; font-weight: 700; color: #444444; text-align: center;}
.clinic_header { background-color: #E5EEF7; padding: 20px; padding-bottom: 10px; min-height: 170px; display: flex; justify-content: center; flex-direction: column;} 
.clinic_body { padding: 10px; background-color: #ffffff; text-align: center;}
.businessLists .businessList img { display: block; margin: 0 auto;}
.clinicSection .sectionTitle h2 img,
.success_stories_section .sectionTitle h2 img,
.recommended_section .sectionTitle h2 img { display: block; margin: 0 auto;}
.gm-meet-family-section .mfs-btn-area .left span img,
.gm-meet-family-section .mfs-btn-area .right span img { display: block; margin: 0 auto;}
.your_planSection .fee_price { font-size: 50px; color: #259A8D; font-weight: 700; padding: 0 0 6px 0;}
.your_planSection .fee_price_month { font-size: 40px; color: #259A8D; font-weight: 700; padding: 15px 0 6px 0;}
.your_planSection .Fee_structure .gmo_row { gap: 40px;}
.your_planSection .Fee_structure h5 { font-size: 16px; font-weight: 700; color: #444444;}

@media only screen and (max-width: 767px) {
  .your_planSection .Fee_structure .clinic_success .clinic_successItem { min-height: 200px;}
}

.supporList, .supporList_ftr { margin-bottom: 0; padding-bottom: 0;}
/*************************Support Systems********************/
.support_systems { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; margin-top: -2px; text-align: center;}
.support_systemsItem { background-color: #F2F4F8; padding:50px 28px 10px 28px; border-radius: 8px; box-shadow:  #a6b0bf71 5px 5px 12px; position: relative; overflow: hidden;}
.support_systemsItemBg { position: absolute; left: 0; right: 0; top: 0; bottom: 0; box-shadow:  rgba(166, 176, 191, 0.5) 5px 5px 12.5px;}
.support_systems h3 { font-size: 26px; font-weight: 600; line-height: 1.38; margin-left: -22px; margin-right: -22px; padding-bottom: 35px; position: relative; white-space: nowrap;}
.support_systems img { margin-bottom: 3px; position: relative;}
.support_systems p { line-height: 1.375; font-size: 16px; padding: 12px 0 20px 0; text-align: left; position: relative;}
.support_systems p small { font-size: 75%;}
/*************************Column Post********************/
.placeholder-data.seminarSlidDetail h4 a,
.placeholder-data.seminarSlidDetail p,
.placeholder-data.seminarSlidDetail .slideBtn a { color: #F2F4F8; background-color: #F2F4F8;}
.seminar-sliderWrap .swiper-button-next:after, .seminar-sliderWrap .swiper-button-prev:after { content: ''; background-image: url(../images/arrow-slide.svg); width: 100px; height: 100px; display: block; background-size: contain; background-position: center;}
.seminar-sliderWrap .swiper-button-next:hover:after, .seminar-sliderWrap .swiper-button-prev:hover:after { background-image: url(../images/svg/arrow-slide-hover.svg);}
.seminar-sliderWrap { position: relative; overflow: hidden; margin-bottom: 40px;}
.seminar-sliderBg { background-color: white; border-radius: 8px; position: absolute; left: calc(50% - 414px); max-width: 828px; width: 100%; top: 0; bottom: 55px;}
.seminar-sliderWrap .swiper { height: auto; padding-top: 10px;}
.seminar-sliderWrap .swiper-button-next, .seminar-sliderWrap .swiper-button-prev { width: 100px; height: 100px; position: relative; float: left; outline: none; margin-top: 20px;}
.seminar-sliderWrap .swiper-button-next:after, .seminar-sliderWrap .swiper-button-prev:after { content: ''; background-image: url('../images/arrow-slide.svg'); background-repeat: no-repeat; width: 100px; height: 100px; display: block; background-size: contain; background-position: center;}
.seminar-sliderWrap .swiper-button-next:after { transform: rotate(180deg);}
.seminar-sliderWrap .container { position: relative; margin-left: auto; margin-right: auto; width: 100%; max-width: 774px;}
.seminar-sliderWrap .container::after { display: block; content: ''; clear: both;}
.seminar-sliderWrap .seminarSlidItem { border: #C8C8C8 1px solid; padding: 10px; border-radius: 8px; height: 100%;}
.seminar-sliderWrap .swiper-slide { border-radius: 8px; height: auto;}
.seminar-slider { --container-width: 864px; overflow: visible !important; width: var(--container-width) !important; margin-left: auto !important; margin-right: auto !important;}
.header_contact .header_contact__tel a { font-family: "Montserrat", sans-serif !important; font-weight: 600 !important;}
.seminarSlidItem:hover .seminarSlidDetail.placeholder-data h4 a,
.seminarSlidItem:hover .seminarSlidDetail.placeholder-data h4 a { color: #F2F4F8;}
.seminarSlidItem { position: relative;}
.seminarSlidItem a.full-slider-link { position: absolute; width: 100%; height: 100%; display: block; cursor: pointer; left: 0; top:0;}
.seminarSlidItem:hover .seminarSlidDetail.placeholder-data h4 a { color: #F2F4F8 !important; background: #F2F4F8 !important; background-color: #F2F4F8 !important;} 
.seminarSlideMNg { padding-top: 78px;}
.seminarSlideMNg .seminarSlidItem:hover .seminarSlidDetail.placeholder-data h4 a { background: #F2F4F8 !important; -webkit-background-clip:unset !important; -webkit-text-fill-color:#F2F4F8;}
.seminarSlideMNg .seminarSlidItem .seminarSlidDetail.placeholder-data .slideBtn { opacity: 0;}
.seminarSlideMNg .seminarSlidItem { box-shadow: 0px 4px 20px hsla(0, 0%, 0%, 0.12);}
.seminarSlideMNg .seminarSlidItem:hover { box-shadow: 0px 4px 20px hsla(0, 0%, 0%, 0.12); border-color: #1C9F91;}
.seminarSlideMNg .seminarSlidItem:hover .seminarSlidDetail h4 a { background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); -webkit-background-clip: text !important; -webkit-text-fill-color: transparent;}
 .seminarSlidItemThumb { margin-bottom: 20px;}
.seminarSlidItemThumb img { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 8px; object-fit: cover;}
.seminarSlidDetail { text-align: left; padding:0 20px 17px 20px;}
.seminarSlidDetail h4 { font-size: 15px; line-height: 1.45; font-family: "noto_sans_cjk_jpbold", sans-serif;}
.seminarSlidDetail h4 a { color: #1C1C1C; text-decoration: none; min-height: 44px;}
.seminarSlidDetail h4 .clinicname { display: block; color: #000000; padding-top: 14px; font-family: "noto_sans_cjk_jpbold", sans-serif; font-size: 14px; line-height: 1.2; padding-bottom: 10px;}
.seminarSlidDetail .slideBtn a, 
.seminarSlidDetail h4 span.kamoku { display: inline-block; border: #606060 1px solid; color: black; text-decoration: none; padding:3px 8px 4px 8px; border-radius: 15px; font-family: "noto_sans_cjk_jp_regularRg", sans-serif; font-size: 12px; line-height: 1.35;}
.seminarSlidDetail .slideBtn { padding-top: 7px; display: flex; flex-wrap: wrap; gap: 8px;}
/*************************Mind Section********************/
.peace-mind_section { background-color: #f8f8f8; padding: 64px 0 80px 0;}
.peace-mindLists { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 30px;}
.peace-mindList { background-color: #f3f4f8; padding:40px 50px; box-shadow: 5px 5px 12.5px hsla(216, 16%, 70%, 0.50); border-radius: 8px;}
.peace-mindList p { line-height: 1.1975; color: #000000; padding-left: 30px;}
/*************************Flow********************/
.installationSection { padding:50px 0; background-image: url(../images/open/plus-large.webp); background-size: contain; background-size: 590px; background-position: right bottom; background-repeat: no-repeat;}
/*************************Faq********************/
.faqSection { background-color: #f8f8f8; padding: 63px 0 255px 0;}
.faqSection .container { max-width: 970px;}
.faqSection .sectionTitle { margin-bottom: 80px;}
.accordion { padding-top: 16px; padding-bottom: 16px; overflow: hidden;}
.accordion-header { padding: 0px; cursor: pointer; display: flex; justify-content: space-between; align-items: center;}
.accordion-header h4 { margin: 0; font-size: 26px; color: var(--base); font-weight: 500; line-height: 1.25; letter-spacing: .25px; padding: 0px; position: relative;}
.accordion-header h4:before { content: 'Q.'; position: absolute; left: 0; top: 0; line-height: 1;}
.accordion-header span { font-size: 36px; font-weight: 700; color: #1C9F91;}
.accordion-content { display: none; padding: 30px 35px; margin-left: 40px; margin-top: 38px; margin-bottom: 18px; background-color: #fff; border: 1px solid var(--lightGray); border-radius: 10px;}
.accordion-contentInner { position: relative; font-weight: 500; color: var(--base);}
.accordion-contentInner::before { content: 'A.'; font-size: 26px; font-weight: 500; position: absolute; left: 0; top: 0; line-height: 1;}
.accordion-contentInner p { line-height: 1.25; letter-spacing: .25px; font-size: 26px;}
.accordion-header h4,
.accordion-contentInner { padding-left: 32px;}
.accordion.open .accordion-header span svg .st1 { opacity: 0;}

@media only screen and (min-width : 768px){
    .sectionTitle h2 span { /*font-size: 125%;*/}
    .breakDesktop { display: block;}
    .show_ms { display: none;}
    }

    /******************************************************/

@media only screen and (max-width : 767px){
	.seminarSlideMNg .swiper .container { position: static;}
	.seminarSlideMNg .seminar-sliderWrap .swiper-button-next { position: absolute; top: 50%; transform: translateY(-50%); margin-top: 0; right: 0;}
	.seminarSlideMNg .seminar-sliderWrap .swiper-button-prev { position: absolute; top: 50%; transform: translateY(-50%); margin-top: 0; left: 0;}
}

@media screen and (min-width: 1450px) and (max-width: 1601px) { 
  .banner .container::before { right: -60px; width: 600px;}
  }

  @media screen and (min-width: 1381px) and (max-width: 1449px) { 
    .banner .container::before { right: -20px; width: 550px;}
  }

  @media screen and (min-width: 1201px) and (max-width: 1380px) { 
  body { font-size: 15px;}    
  header nav { padding-left: 10px; padding-right: 0;} 
  .navLeft img { width: 240px;} 
  /*.radius_btn,
  .radius_btns{font-size: 13px;}*/
  ul.main-nav > li > a { font-size: 13px;}
  .header_contact .header_contact__tel a { font-size: 20px;}
  .header_contact .header_contact__tel small { font-size: 10px;}
  .navigationWrap { gap: 12px;}
  .banner .container::before { width: 580px; right: 0px;}
  .banner h1 { font-size: 44px;}
  .support_systems h3,
  .banner h3 { font-size: 21px;}
  .by-gmo img { width: 400px;}
  .banner .base-btn { width: 480px; font-size: 21px; height: 95px;}
  .twoThousandContract { right: -50px;}
  .twoThousandContract img { width: 176px;}
  .sectionTitleIcon svg { width: 32px;}
  .sectionTitle h2 { font-size: 35px; margin-bottom: 20px;}
  .sectionTitle p { font-size: 21px;}
  /*.success_stories_section h3,*/ .businessLists h3 { font-size: 23px;}
  .business_launchSection { padding: 40px 0 80px 0;}
  .supportSection:before { border-left-width: 120px; border-right-width: 120px; border-top-width: 60px;}
  .sectionTitle p { padding-top: 45px;}
  /*.success_stories_section p{font-size: 18px;}*/
  .recommended_section p { font-size: 15px;}
  .gm-meet-family-section h3 { font-size: 32px;}
  .gm-meet-family-section .base-btn.btn-round-arrow { font-size: 36px;}
  .gm-meet-family-section .base-btn.btn-round-arrow span { font-size: 36px; padding-top: 10px;}
  .your_planSection .Fee_structure .clinic_success { gap: 70px;}
  .peace-mindList { padding: 20px 30px;}
  .mindListHead { gap: 30px; font-size: 32px; margin-bottom: 25px;}
  .mindListHead img { width: 80px;}
  .peace-mindList p { padding-left: 15px;}
  .installationSection { background-size: 490px;}
  .accordion-header h4 { font-size: 22px;}
  .accordion-header span svg { width: 32px; height: 32px;}
  .faqSection .sectionTitle { margin-bottom: 40px;}
  }

  @media screen and (min-width: 1081px) and (max-width: 1200px) { 
      .banner .container::before { width: 500px; right: 0px;}
      .banner h1 { font-size: 40px;}
      .support_systems h3,
      .banner h3 { font-size: 18px;}
      .by-gmo img { width: 360px;}
      .banner .base-btn { width: 450px; font-size: 20px; height: 85px;}
      .twoThousandContract { right: -40px;}
      .twoThousandContract img { width: 150px;}
      .banner .gmo_row { grid-template-columns: 1fr 440px;}
      .svgBanner svg { width: 100%;}
      .banner .base-btn { margin-top: 20px;}
  }

  @media screen and (min-width: 992px) and (max-width: 1080px) { 
      .banner .container::before { width: 430px; right: 10px; background-position: right 105px;}
      .banner h1 { font-size: 40px;}
      .banner h3 { font-size: 17px;}
      .by-gmo img { width: 360px;}
      .banner .base-btn { width: 450px; font-size: 20px; height: 85px;}
      .twoThousandContract { right: -65px;}
      .twoThousandContract img { width: 130px;}
      .banner .gmo_row { grid-template-columns: 1fr 400px;}
      .svgBanner svg { width: 100%;}
      .banner .base-btn { margin-top: 20px;}    
  }

  @media screen and (min-width: 992px) and (max-width: 1200px) { 
      .navigationWrap { gap: 15px;}
      header nav { padding: 18px 10px;}
      .header_contact .header_contact__tel { display: none;}
      .navLeft img { width: 220px;}
      .business_launchSection { padding: 30px 0 65px 0;}
      .sectionTitle h2 { font-size: 30px;}
      .businessList img { transform: scale(0.8);}
      .supportSection:before { border-left-width: 105px; border-right-width: 105px; border-top-width: 50px;}
      .sectionTitle { padding-bottom: 30px;}
      /*.success_stories_section h3,*/ .businessLists h3 { font-size: 20px;}
      .support_systems p { font-size: 14px;}
      .sectionTitle p,
      .support_systems h3 { font-size: 18px;}
      .sectionTitle p { padding-top: 40px;}
      .support-operations { margin-left: 0;}
      /*.success_stories_section p{font-size: 16px;}
      .success_stories_section .gmo_row{margin-top: 20px;}
      .success_stories_section .gmo_row img{margin-bottom: 15px;}
      .success_stories_section h3{padding-bottom: 22px;}*/
      .recommended_section .gmo_row { margin-top: 10px;}
      .recommended_section p { font-size: 14px; padding-right: 10px;}
      .recommended_section .gmo_row img { margin-bottom: 20px;}
      .recommended_section { padding-bottom: 30px;}
      .gm-meet-family-section h3 { font-size: 32px;}
      .gm-meet-family-section .base-btn.btn-round-arrow { font-size: 20px;}
      .gm-meet-family-section .base-btn.btn-round-arrow span { font-size: 40px;}
      .your_planSection .clinic_success { gap: 60px;}
      .your_planSection .clinic_success h3 { font-size: 20px;}
      .Fee_structure h5 { font-size: 14px;}
      .Fee_structure h6 { font-size: 12px;}
      .your_planSection .clinic_success .gmo_row img { transform: scale(.9);}
      .your_planSection { padding-bottom: 50px;}
  body { font-size: 15px;}
  .peace-mindList { padding: 18px 20px;}
  .mindListHead { gap: 30px; font-size: 32px; margin-bottom: 25px;}
  .mindListHead img { width: 80px;}
  .peace-mindList p { padding-left: 0;}
  .sectionTitleIcon { padding-bottom: 10px;}
  .accordion-header span svg,
  .sectionTitleIcon svg { width: 30px;}
  .faqSection .sectionTitle { margin-bottom: 30px;}
  .accordion-contentInner p,
  .accordion-header h4 { font-size: 20px;}
  .accordion { padding-top: 12px; padding-bottom: 12px;}
  .faqSection { padding-bottom: 105px;}
  .accordion-content { padding: 22px 25px; margin-top: 25px; margin-bottom: 10px; margin-left: 15px;}
  }

  @media only screen and (max-width : 1100px){
      .mobileMenuHead { display: flex;}
      .navigationWrap { display: none;}
  }

  @media screen and (min-width: 767px) and (max-width: 1024px) {
      br.mobile-only { display: block;}
      img.gm-section-four-img { display: none;}
      .gm-meet-family-section .mfs-btn-area { display: block;}
  }

  @media only screen and (max-width : 991px){
   header nav { padding: 15px 20px;}
  .banner .container::before { width: 500px; right: -80px;}
  .banner .gmo_row { grid-template-columns: 1fr; padding-bottom: 100px;}
  .twoThousandContract { right: 50px;}
  .svgBanner svg { width: 100%; height: auto;}
  .banner .svgBanner { margin-bottom: 50px;}
  .banner .base-btn { position: absolute; bottom: 0; width: 100%;}
  .banner h1 { font-size: 40px;}
  .by-gmo { max-width: 400px;}
  .banner h3 { font-size: 20px;}
  .twoThousandContract img { width: 175px;}
  .businessLists { grid-template-columns: 1fr;}
  .business_launchSection { padding: 30px 0 65px 0;}
  .sectionTitle h2 { font-size: 28px;}
  /*.success_stories_section h3,*/ .sectionTitle p, .support_systems h3, .businessLists h3 { font-size: 20px;}
  .businessLists .businessList { padding-bottom: 20px;}
  .supportSection:before { border-left-width: 105px; border-right-width: 105px; border-top-width: 50px;}
  .supportSection .sectionTitle h2 { flex-direction: column;}
  .supportSection .sectionTitle h2 img { max-width: 400px;}
  .supportImg { background-color: white; border-radius: 10px;}
  .supptDetailSmall { min-height: inherit; padding-top: 5px;}
  .support_systems p { font-size: 15px; padding: 6px 0;}
  .support_systems { grid-template-columns: 1fr;}
  .recommended_section p { font-size: 14px;}
  /*.success_stories_section{background-size: 500px;}
  .success_stories_section p{font-size: 16px; padding-left: 0; display: table; margin-left: auto; margin-right: auto;}
  .success_stories_section .gmo_row{grid-template-columns: 1fr; margin-top: 0; gap: 40px;}
  .success_stories_section .gmo_row img{margin-bottom: 10px;}
  .success_stories_section h3{padding-bottom: 20px;}*/
  .recommended_section .gmo_row { grid-template-columns: repeat(2, 1fr); gap: 25px; margin-top: 10px;}
  .recommended_section .gmo_row img { margin-bottom: 20px;}
  .your_planSection { padding: 15px 0 40px 0;}
  .your_planSection .clinic_success { gap: 40px; grid-template-columns: 1fr;}
  /* clinicopening: clinic_successは.Fee_structure配下にあり、
     .your_planSection .Fee_structure .clinic_success(3クラス)の方が上の1fr指定より詳細度が高く上書きしてしまうため、個別に1列指定する */
  .your_planSection .Fee_structure .clinic_success { grid-template-columns: 1fr;}
  body { font-size: 15px;}
  .peace-mindList { padding: 18px 20px;}
  .mindListHead { gap: 30px; font-size: 32px; margin-bottom: 25px; flex-direction: column-reverse;}
  .mindListHead img { width: 80px;}
  .peace-mindList p { padding-left: 0; line-height: 1.35;}
  .sectionTitle { padding-bottom: 20px;}
  .sectionTitleIcon { padding-bottom: 10px;}
  .accordion-header span svg,
  .sectionTitleIcon svg { width: 30px;}
  .faqSection .sectionTitle { margin-bottom: 30px;}
  .accordion-contentInner p,
  .accordion-header h4 { font-size: 20px;}
  .accordion { padding-top: 12px; padding-bottom: 12px;}
  .faqSection { padding-bottom: 105px;}
  .accordion-content { padding: 22px 25px; margin-top: 25px; margin-bottom: 10px; margin-left: 15px;}
  .gm-meet-family-section h3 { font-size: 28px;}
  .gm-meet-family-section .base-btn.btn-round-arrow { font-size: 18px; min-height: 100px;}
  .gm-meet-family-section .base-btn.btn-round-arrow span { font-size: 35px;}
  /*.sectionTitle p{padding-top: 40px;}*/
  .peace-mindLists { grid-template-columns: 1fr;}
  .clinic_body { padding: 15px;}
  .clinic_header { padding-bottom: 15px;}
  .clinicSection { padding: 40px 0 60px 0;}
  .clinicSection .sectionTitle h2 { line-height: 1.25; margin-bottom: 20px;}
  .support-operations { padding-top: 25px; margin-left: 0;}
  .gm-meet-family-section h5 { font-size: 20px;}
  .gm-meet-family-section .call-phone { height: 25px;}
  .gm-meet-family-section address small,
  .gm-meet-family-section address { font-size: 14px;}
  .your_planSection .clinic_success h3 { font-size: 22px; padding-bottom: 8px;}
  .fee_price { font-size: 45px;}
  }

  /**********************Responsive ********************************/

  @media screen and (min-width: 601px) and (max-width: 767px) {
  .twoThousandContract { right: 0; position: relative; float: right;}
  .twoThousandContract img { width: 150px;}
  .by-gmo { max-width: 350px;}
  .banner h1 { font-size: 30px;}
  .banner h3 { font-size: 18px;}
  .banner .svgBanner { margin-bottom: 20px;}
  .banner .base-btn { font-size: 20px; height: 90px;}
  }

  @media only screen and (min-width : 768px){
  .hide_desktop { display: none;}
  }

  @media only screen and (max-width : 767px){
  header nav { padding-left: 0; padding-right: 0;}
  .banner .container { padding: 20px 20px 50px 20px;}   
  .breakMobile { display: block;}    
  .hide_ms { display: none;}     
  .banner .base-btn { margin-left: 0;}
  .recommended_section .gmo_row { grid-template-columns: 1fr;}
  .gm-meet-family-section .mfs-btn-area { grid-template-columns: 1fr; gap: 20px;}
  .installationSection { background-size: 420px;}
  .recommended_section p { font-size: 16px;}
  ul.sideNavMobile li .parent-menu.active + .sub-menu-block,
  ul.sideNavMobile li .sub-parent-menu.active + .submenu-level-2 { border-top: 1px #5AC7C0 solid;}
  ul.sideNavMobile li:last-child,
  ul.sideNavMobile li .submenu-level-2 li:last-child { border-bottom: none;}
  .installationSection .hide_desktop img { width: calc(100% + 30px); max-width: inherit;}
  .support-operations { margin-left: 0; padding-top: 0;}
  .support-operations img { width: 100%;}
  /*.success_stories_section{background-size: 350px;}
  .success_stories_section h3{font-size: 24px; text-align: center;}*/
  .gm-meet-family-section .base-btn.btn-round-arrow { padding: 4px 0 6px 0; min-height: 72px; display: flex; flex-direction: column; align-items: center; line-height: 1.3;}
  .gm-meet-family-section .base-btn.btn-round-arrow span { font-size: 18px; margin-top: 0;}
  .gm-meet-family-section .base-btn.btn-round-arrow svg { right: 15px; width: 18px; height: 18px;}
  .gm-meet-family-section .mfs-btn-area .left span, .gm-meet-family-section .mfs-btn-area .right span { font-size: 16px;}
  .wrap1 { top: 30px; left: 32px; max-height: 230px; position: absolute;}
  .support-operations svg { position: relative;}
  .seminar-slider { overflow: hidden !important; --container-width: 100%;}
  .seminar-sliderWrap .seminar-slider .container { min-width: auto !important; margin-left: 0px !important;} 
  }

  @media screen and (min-width: 641px) {
      .twoThousandContractMob { display: none;}
      }

  @media all and (max-width:650px){
      .gm-meet-family-section h3 { font-size: 21px; margin-bottom: 20px;}
      .gm-meet-family-section { padding-top: 35px;}
      .gm-meet-family-section .mfs-btn-area .left span, .gm-meet-family-section .mfs-btn-area .right span { font-size: 16px;}
      .gm-meet-family-section .mfs-btn-area .left span img, .gm-meet-family-section .mfs-btn-area .right span img { height: 25px;}
      .gm-meet-family-section .base-btn.btn-round-arrow { margin-bottom: 20px; min-height: 75px; margin-top: 20px; font-size: 16px; padding-top: 4px;}
      .gm-meet-family-section .mfs-btn-area { margin-bottom: 5px;}
      .gm-meet-family-section .base-btn.btn-round-arrow svg { right: 18px; width: 18px; height: 18px;}
      .gm-meet-family-section .call-phone { width: 20px;}
      .gm-meet-family-section h5 { font-size: 17px;}
      .gm-meet-family-section address small,
      .gm-meet-family-section address { font-size: 10px;}
  }

  @media only screen and (max-width : 640px){
  .banner h1 { font-size: 26px; padding-top: 0; line-height: 1.2;}
  .banner h3 { font-size: 16px;}
  .banner .container { padding-left: 20px; padding-right: 20px; padding-top: 30px;}
  .brMobileOnly { display: block;}
  .banner h3 br { display: none;}
  .twoThousandContract img { width: 95px;}
  .by-gmo { max-width: 200px;}
  .twoThousandContract { display: none;}
  .twoThousandContractMob { float: inline-end; margin-top: -18px;}
  .banner .gmo_row { padding-bottom: 50px;}
  .banner .base-btn { font-size: 18px; height: 60px; margin-left: 0;}    
  .banner .container::before { max-width: 350px; width: 100%; right: 0;} 
  .supporDetail p br { display: none;}
  .gm-meet-family-section .base-btn.btn-round-arrow,
  .banner .base-btn { height: 72px; min-height: inherit; font-size: 16px;}
  .banner .achievement { margin-left: 0;}
  .banner .achievement .mark { flex: 0 1 216px;}
  .banner .achievement .mark1 > span:nth-child(1),
  .banner .achievement .mark1 > span:nth-child(3) { font-size: 13px;}
  .banner .achievement .mark1 > span:nth-child(2) { font-size: 42px;}
  .banner .achievement .mark1 > span:nth-child(2) small { font-size: 15px;}
  .banner .achievement .gmoMark { width: 60px;}
  .banner .achievement .gmoMark img { width: 100%; height: auto;}
  .installationSection .hide_desktop img { width: calc(100% + 20px);}
  .sectionTitle h2 { font-size: 26px; line-height: 1.25; margin-bottom: 20px;}
  .sectionTitle h3 { font-size: 18px;}
  .sectionTitle p { font-size: 18px;}
  .support_systems h3, .businessLists h3 { font-size: 18px;}
  .support_systems p { font-size: 14px;}
  .mindListHead { font-size: 26px; gap: 15px;}
  .peace-mindLists { margin-top: 0;}
  .problems { padding-bottom: 40px;}
  /*.success_stories_section{padding: 20px 0 50px 0;}*/
  .seminarSlideMNg { padding-top: 35px;}
  .peace-mind_section { padding: 35px 0 60px 0;}
  .faqSection { padding-top: 30px;}
  .support_systems h3 { margin-left: 0; margin-right: 0;}
  .installationSection { padding: 30px 0;}
  .installationSection .sectionTitle p { font-size: 18px;}
  .accordion-contentInner::before,
  .accordion-contentInner p, .accordion-header h4 { font-size: 16px;}
  .accordion-header span svg, .sectionTitleIcon svg { width: 25px;}
  .faqSection .sectionTitle { margin-bottom: 10px;}
  .faqSection { padding-bottom: 50px;}
  .gm-meet-family-section h5 { font-size: 18px;}
  .gm-meet-family-section address small, .gm-meet-family-section address { font-size: 12px;}
  }

  @media only screen and (max-width : 480px){
  .by-gmo { max-width: 190px;} 
  .twoThousandContractMob img { width: 80px;}
  .banner .container,
  .container { padding-left: 15px !important; padding-right: 15px !important;}
  .installationSection .hide_desktop img { width: calc(100% + 15px);}
  .supportSection .sectionTitle h2 img { max-width: 300px;}
  .supportSection { padding: 45px 0 60px 0;}
  .support_systemsItem { padding: 40px 15px 10px 15px;}
  .peace-mindList { padding: 18px 15px;}
  .installationSection { background-size: 350px;}
  }

  @media (max-width: 420px) {
  .wrap1 { width: calc(100% - 34px); top: 18px; left: 20px;}
  }

  @media (max-width: 350px) {
  .wrap1 { width: calc(100% - 34px); top: 18px; left: 20px;}
  }

    @media only screen and (max-width : 600px){
      br.mobile-only { display: block;}
    }

    @media only screen and (max-width : 550px){
      header nav .navLeft { max-width: 184px;}
    }

/* clinicopening: banner lead (h2) visual match to former .banner h3 */
.banner h2.clinicopening_banner_lead { color:#000; font-size:18px; line-height:1.21; font-weight:400; padding:10px 0;}

@media screen and (min-width:1201px){.banner h2.clinicopening_banner_lead { font-size:20px; max-width: 80%;}}

@media screen and (min-width:1081px) and (max-width:1200px){.banner h2.clinicopening_banner_lead { font-size:18px; max-width: 80%;}}

@media screen and (min-width:992px) and (max-width:1080px){.banner h2.clinicopening_banner_lead { font-size:17px; max-width: 80%;}}

@media only screen and (max-width:991px){.banner h2.clinicopening_banner_lead { font-size:20px;}}

@media screen and (min-width:601px) and (max-width:767px){.banner h2.clinicopening_banner_lead { font-size:18px;}}

@media only screen and (max-width:640px){.banner h2.clinicopening_banner_lead { font-size:16px;}.banner h2.clinicopening_banner_lead br { display:none;}}
.clinicopening_banner_relative { position:relative;}
.swiper { width:100%; height:300px;}
.swiper-slide { text-align:center; font-size:18px; background:#fff; display:flex; justify-content:center; align-items:center;}
.swiper-slide img { display:block; width:100%; height:100%; object-fit:cover;}
.meet_family_section_topborder { border-top:1px solid #ccc;}
.clinicopening_banner_cta_svg { overflow:unset;}
.wrap1 .support_operations_imgwrap { opacity:1;}

/* ========== LP共通: 旧テーマ由来スタイル（source_custom-animation / source_style / source_custom-style 等） ========== */

/* reservation_survey 専用スタイルは style.css へ移設済み */
.infinite-bounce { --animation-delay: 0s; animation: bounce 1.5s infinite alternate; -webkit-animation: bounce 1.5s infinite alternate; animation-delay: var(--animation-delay);}

@keyframes bounce {
  from { transform: translateY(0px);}
  to { transform: translateY(-15px);}
}

@-webkit-keyframes bounce {
  from { transform: translateY(0px);}
  to { transform: translateY(-15px);}
}

.track-record-section .placeholder-data.seminarSlidDetail h4 a,
.placeholder-data.seminarSlidDetail h4 a,
.track-record-section .placeholder-data.seminarSlidDetail p,
.placeholder-data.seminarSlidDetail p,
.track-record-section .placeholder-data.seminarSlidDetail .slideBtn a,
.placeholder-data.seminarSlidDetail .slideBtn a { color: #F2F4F8; background-color: #F2F4F8;}
.btn-round-arrow svg { position: absolute; right: 18px; transition: transform .3s linear;}
.btn-round-arrow svg g.arrow { transition: transform .3s linear;}
/*.btn-round-arrow:hover svg path{
  stroke: white;
}*/
.btn-round-arrow:hover svg g.arrow { transform: translateX(5px);}
.seminar-sliderWrap .swiper-button-next:after, .seminar-sliderWrap .swiper-button-prev:after { content: ''; background-image: url(../images/arrow-slide.svg); width: 100px; height: 100px; display: block; background-size: contain; background-position: center;}
.seminar-sliderWrap .swiper-button-next:hover:after, .seminar-sliderWrap .swiper-button-prev:hover:after { background-image: url(../images/svg/arrow-slide-hover.svg);}
.seminar-slider { --container-width: 864px; overflow: visible !important; width: var(--container-width) !important; margin-left: auto !important; margin-right: auto !important;}
.swiper-slider-1 { --container-width: 888px; overflow: visible !important; width: var(--container-width) !important; margin-left: auto !important; margin-right: auto !important;}
.banner_header.style2 .base-btn span { font-size: 18px;}
/*.seminar-slider .swiper-slide{
  max-width: 420px;
}*/
.gmo_modal { right: 32px;}
.newsList .newsitem:hover .newsMeta,
.newsList .newsitem:hover p a { color: #00546C;}
.newsList.column-category .newsitem:hover .newsMeta,
.newsList.column-category .newsitem:hover p a { color:#1C9F91;}
.header_contact .header_contact__tel a { font-family: "Montserrat", sans-serif !important; font-weight: 600 !important;}
[data-aos=fade-up] { transform: translate3d(0, 20px, 0);}
[data-aos=fade-right] { transform: translate3d(-20px, 0, 0);}
[data-aos=fade-left] { transform: translate3d(20px, 0, 0);}
.seminarSlidItem:hover .seminarSlidDetail.placeholder-data h4 a,
.seminarSlidItem:hover .seminarSlidDetail.placeholder-data h4 a { color: #F2F4F8;}
.seminar-sliderWrap { overflow: hidden;}
.newsList .newsitem p a { -webkit-line-clamp: 2; display: -webkit-box; -webkit-box-orient: vertical; text-overflow: ellipsis; overflow: hidden; text-overflow: ellipsis; min-height: 48px;}
.navigation-is-open .gmomobileNav { overflow-y: auto;}
br.mobile-only { display: none;}
.gmo_modal { /* bottom: -2px !important; */}
.parent-menu + .sub-menu-block,
.sub-parent-menu + .submenu-level-2 { height: auto; max-height: 0px; overflow: hidden; transition: max-height 1.5s ease-in-out;}
.parent-menu.active + .sub-menu-block,
.sub-parent-menu.active + .submenu-level-2 { max-height: 2000px; transition: max-height 1.5s ease-in-out;}
.introduction_section .step-wrapper.show_ms { display: none;}
.contact_fix .mr_input_form { font-size: 16px;}
.contact_fix .mr_input_form::-webkit-input-placeholder { /* Chrome/Opera/Safari */ font-size: 10px;}
.contact_fix .mr_input_form::-moz-placeholder { /* Firefox 19+ */ font-size: 10px;}
.contact_fix .mr_input_form:-ms-input-placeholder { /* IE 10+ */ font-size: 10px;}
.contact_fix .mr_input_form:-moz-placeholder { /* Firefox 18- */ font-size: 10px;}
.headerTop { position: fixed; width: 100%; top: 0; z-index: 100;}
header nav { /*margin-top: 29px;*/}
.banner_header.style1 .container { max-width: 1104px;}
.banner_header.style1 .bannerImg { max-height: 538px;}
.banner_header.style1 .bannerImg img { width: 85%;}
.banner_header.style1 .gmo_row { gap: 16px;}
.banner_header.style1 .gmo_row .gmo_col.left { padding-left: 54px;}

@media screen and (min-width:992px) and (max-width:1200px){
  .banner_header.style2 .gmo_row { grid-template-columns: 458px 558px;}
}

@media screen and (max-width:1080px){ 
  .banner_header.style2 .good-design-wrap { justify-content: center;}
  .banner_header.style2 .base-btn { margin-left: auto !important; margin-right: auto;}
}

@media only screen and (max-width: 991px) {
    .introduction_section .step-wrapper.show_ms { display: grid;}
  header nav { margin-top: 0px;}
}

@media only screen and (max-width: 1199px){
  .banner_header .breadcrum-wrapper { padding: 0 15px;}
}

@media only screen and (min-width: 769px) {
    .gmomobileNavSide .sub-menu-block { padding: 0 15px;}
}

@media only screen and (max-width : 900px){
  .seminar-slider { --container-width: 85%;}
}

@media only screen and (max-width: 767px){
  .banner_header.title-style h1 { font-size: 26px;}
  .banner_header .mobile-base-btnWrap { position: fixed !important; z-index: 99; bottom: 0px !important;}
  ul.sideNavMobile li .parent-menu.active + .sub-menu-block,
  ul.sideNavMobile li .sub-parent-menu.active + .submenu-level-2 { border-top: 1px #5AC7C0 solid;}
  ul.sideNavMobile li:last-child,
  ul.sideNavMobile li .submenu-level-2 li:last-child { border-bottom: none;}
  .meet_family_section { margin-bottom: 30px;}
  .gmoFooterLogo, .globalLogo { max-width: 234px; width: auto;}
  .seminar-slider { overflow: hidden !important;}
  .swiper-slider-1 { --container-width: 70%;}
  .seminar-sliderWrap .seminar-slider .container { min-width: auto !important; margin-left: 0px !important;}
  .banner_header.style2 .good-design-wrap { justify-content: flex-start; gap: 0; position: relative; padding-top: 24px; padding-bottom: 24px;}
  .banner_header.style2 h1 { font-size: 28px; line-height: 1.35;}
  .banner_header.style2 .good-design-wrap h3 { text-align: left; order: 2; padding-left: 93px;}
  .banner_header.style2 .good-design-img { order: 1; position: absolute; top: -30px;}
  .banner_header.style2 { background: url(../images/index2bg.jpg) no-repeat !important; background-position:center center !important; background-size: cover !important;}
  .banner_header.style1 .gmo_row .gmo_col.left { padding-left: 0px;}
}

@media only screen and (max-width : 600px){
  .seminar-slider { --container-width: 420px;}
  .swiper-slider-1 { --container-width: 70%;}
  br.mobile-only { display: block;}
}

@media only screen and (max-width : 550px){
  /* .aside-form-wrap {
    --contact-form-width: calc(100% - 60px) !important;
  } */
  .swiper-slider-1 { --container-width: 280px;}
  .aside-form-wrap .aside-form { padding: 26px 20px 36px 20px !important;}
  .aside-form-wrap .aside-form #div_contact_fix #mr_form .mr_form_inner .mr_require_checkbox.label_cb { grid-template-columns: 1fr 1fr !important;}
  header nav .navLeft { max-width: 184px;}
}

@media only screen and (max-width : 450px){
  .seminar-slider { --container-width: 75%;}
  .swiper-slider-1 { --container-width: 280px;}
  .aside-form-wrap .aside-form { padding: 26px 10px 36px 10px !important;}
}

@media only screen and (max-width : 419px){
  .seminar-slider { --container-width: 100%;}
  .swiper-slider-1 { --container-width: 280px;}
}

.navigationWrap { display: flex; gap: 20px; align-items: center; position: relative;}
ul.main-nav { list-style-type: none; padding: 0px; font-size: 0px; max-width: 1000px; margin: 0 auto;}
ul.main-nav > li { display: inline-block; padding: 0;}
ul.main-nav > li > a { display: block; padding: 25px 9px; position: relative; color: #333; font-size: 13px; font-weight: bold; font-family: "noto_sans_cjk_jpbold", sans-serif; box-sizing: border-box;}
ul.main-nav > li:hover { background-color: #f9f9f9;}
ul.main-nav > li:hover > a { color: #333; font-weight: 400;}
/*
ul.main-nav > li ul.sub-menu-lists {
  margin: 0px;
  padding: 0px;
  list-style-type : none;
  display:block;
}
ul.main-nav > li ul.sub-menu-lists > li {
  padding: 2px 0;
}
ul.main-nav > li ul.sub-menu-lists > li > a {
  font-size: 14px;
}
*/
.ic { position: fixed; cursor: pointer; display: inline-block; right: 25px; width: 32px; height: 24px; text-align: center; top:0px; outline: none;}
.ic.close { opacity: 0; font-size: 0px; font-weight: 300; color: #333; top:8px; height:40px; display: block; outline: none;}
/* Menu Icons for Devices*/
.ic.menu { top:25px; z-index : 20;}
.ic.menu .line { height: 4px; width: 100%; display: block; margin-bottom: 6px;}
.ic.menu .line-last-child { margin-bottom: 0px;}
.banners-area { margin-top: 20px; padding-top: 15px;}
.banners-area img { width: 150px;}

@media only screen and (max-width:768px) {
  .ic.menu { display: block;}
  header.dark .ic.menu .line { background-color: #fff;} 
  header.light .ic.menu .line { background-color: #000;}
  .ic.menu .line { -webkit-transition: all 0.4s ease 0s; -o-transition: all 0.4s ease 0s; transition: all 0.4s ease 0s; -webkit-transform: rotate(0deg); -moz-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); -webkit-transform-origin: center center; -ms-transform-origin: center center; transform-origin: center center;}
  .ic.menu:focus .line { background-color: #fff !important;}
  .ic.menu:focus .line:nth-child(1) { -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg);}
  .ic.menu:focus .line:nth-child(2) { -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); margin-top: -10px;}
  .ic.menu:focus .line:nth-child(3) { transform: translateY(15px); opacity: 0;}
  .ic.menu:focus { outline: none;}
  .ic.menu:focus ~ .ic.close { opacity: 1; z-index : 21; outline: none;}
  /*
  .ic.menu:focus ~ .ic.close { opacity: 1.0; z-index : 21;  }
  .ic.close:focus { opacity: 0; }
  */
  .ic.menu:hover, 
  .ic.menu:focus { opacity: 1;}
 /* Main Menu for Handheld Devices  */
  ul.main-nav { z-index:2; padding: 50px 0; position: fixed; right: 0px; top: 0px; width: 0px; background-color:rgba(0,0,0,1); height: 100%; overflow: auto; /*CSS animation applied : Slide from Right*/ -webkit-transition-property: background, width; -moz-transition-property: background, width; -o-transition-property: background, width; transition-property: background, width; -webkit-transition-duration: 0.6s; -moz-transition-duration: 0.6s; -o-transition-duration: 0.6s; transition-duration: 0.6s;}
  .ic.menu:focus ~ .main-nav { width: 300px; background-color:rgba(0,0,0,1);}
  ul.main-nav > * { -webkit-transition-property: opacity; -moz-transition-property: opacity; -o-transition-property: opacity; transition-property: opacity; -webkit-transition-duration: 0.4s; -moz-transition-duration: 0.4s; -o-transition-duration: 0.4s; transition-duration: 0.4s; opacity: 0;}
  .ic.menu:focus ~ .main-nav > * { opacity: 1;}
  ul.main-nav > li > a:after { display: none;}
  ul.main-nav > li:first-child { border-radius: 0px;}
  ul.main-nav > li { display: block; border-bottom: 1px solid #444;}
  ul.main-nav > li > a { font-weight: 600;}
  ul.main-nav > li ul.sub-menu-lists > li a { color: #eee; font-size: 14px;}
  ul.main-nav > li:hover { background-color: transparent;}
  ul.main-nav > li:hover > a { color: #fff; text-decoration: none; font-weight: 600;}
 .ic.menu:focus ~ ul.main-nav > li > div.sub-menu-block { border-left: 0px solid #ccc; border-right: 0px solid #ccc; border-bottom: 0px solid #ccc; position: relative; visibility: visible; opacity: 1.0;}
  .sub-menu-block { padding: 0 30px;}
  .banners-area { padding-bottom: 0px;}
  .banners-area div { margin-bottom: 15px;}
  .banners-area { border-top: 1px solid #444;}
}

/* デスクトップ版グローバルナビの旧デザイン（白背景・青文字・floatレイアウト等）は
   common.cssの現行デザインに完全に置き換わっており、common.cssの後に読み込まれる
   lp.css側にこの重複定義が残っていたことが原因で、LP系ページ（line/monsin等）でのみ
   ナビ崩れが発生していたため削除。ハンバーガーメニュー等モバイル側の記述は影響がないため維持。 */
#send_button_pre,
#send_button { /* -webkit-text-stroke: 1px black; */ font-size: 16px; font-weight: bold;}
.form_body #mr_form .label_cb a { text-decoration: underline;}
.aside-form-wrap .imp { padding: 2px 4px !important;}
.good-design-wrap { display: flex; align-items: center; justify-content: flex-end; gap: 50px; padding: 20px 0 32px 0;}
.banner_header .good-design-wrap h3 { padding: 0;}
.good-design-img { width: 75px;}
.headerBanner2.bannerImg { margin-top: 20px;}
.banner_header.title-style { background-position: top; padding: 0px;}
.banner_header.title-style .page-title-container { display: flex; justify-content: center; align-items: center; align-content: center; height: 140px;}
.banner_header.title-style .gmo_row { grid-template-columns: 1fr;}
.banner_header.title-style h1 { font-size: 34px; color: #fff;}
.banner_header .breadcrum-wrapper { min-height: 36px; background-color: rgba(255, 255, 255, 0.2);}
.banner_header .breadcrum { display: inline-flex; font-size: 12px; gap: 8px 5px; padding: 12px 0px; flex-wrap: wrap;}
.breadcrum, .breadcrum a { color: #fff; font-size: 12px;}
/*.breadcrum span{
  padding-right: 12px;
  position: relative;
}*/
/*.breadcrum span:after{
  content: '>';
  position: absolute;
  right: 0px;
}
.breadcrum span:last-child:after{
  content: none;
}*/
.main-content { min-height: 300px;}
ul.main-nav > li > a { cursor: pointer; text-decoration: none;}
.banner_header.style2 { padding-bottom: 0px;}
.banner_header.style2 .container { max-width: 1100px;}
.banner_header.style2 .gmo_row { align-items: end;}
.banner_header.style2 .gmo_row { /* grid-template-columns: 41% 1fr; */ grid-template-columns: 458px 678px;}
.banner_header.style2 .base-btnWrap { margin-bottom: 98px;}
.banner_header.style2 .bannerImg .bannerImg1 img { margin-bottom: -3px;}

@font-face { font-family: 'noto_sans_cjk_jpbold'; src: url('../fonts/NotoSansCJKjp-Bold.eot'); src: url('../fonts/NotoSansCJKjp-Bold.eot?#iefix') format('embedded-opentype'),
        /*url('../NotoSansCJKjp-Bold.woff') format('woff'),*/
        url('../fonts/NotoSansCJKjp-Bold.ttf') format('truetype'); font-weight: bold; font-style: normal; font-display: swap;}

@font-face { font-family: 'noto_sans_cjk_jpmedium'; src: url('../fonts/notosanscjkjp-medium.woff2') format('woff2'),
         url('../fonts/notosanscjkjp-medium.woff') format('woff'); font-weight: normal; font-style: normal;}

@font-face { font-family: 'noto_sans_cjk_jp_regularRg'; src: url('../fonts/notosanscjkjp-regular-webfont.woff2') format('woff2'),
         url('../fonts/notosanscjkjp-regular-webfont.woff') format('woff'); font-weight: normal; font-style: normal;}
/* .spo / .pco → common.cssに統合済み(完全に同一の定義が重複していたため削除) */

body { display: block; background-color: white; font-family: "noto_sans_cjk_jp_regularRg", sans-serif; overflow-x: hidden;}
img { max-width: 100%;}
.text-center { text-align: center;}
.display-block { display: block;}
.seaGreen-color { color: #1C9F91 !important;}
.radius_btn { width: auto; line-height: 1.25; display: flex; justify-content: flex-end; align-items: center; color: #1C9F91; border: 1px solid #1C9F91; text-decoration: none; background-color: white; border-radius: 40px; font-family: "noto_sans_cjk_jpbold", sans-serif; font-weight: bold; font-size: 14px; padding:14px 18px; height: 48px; transition: .5s all;}
.radius_btn span { color: #1C9F91; display: inline-block; transition: .5s all;}
.radius_btn.active,
.radius_btn:hover { background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%);} 
.radius_btn.active span,
.radius_btn:hover span { background: transparent; color: white; -webkit-text-fill-color: #FFFFFF;}
.radius_btn:hover svg path { stroke: white;}
header .radius_btn:hover { background: #f2f4f8; /*color: #00546c;*/}
/* header .radius_btn:hover span{color: #00546c; -webkit-text-fill-color: #00546c;} */
.radius_btn.active:hover { background: white;}
	.radius_btn.active:hover span { background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); -webkit-background-clip: text !important; -webkit-text-fill-color: transparent;}
.gmo_row { display: flex;}
.space-between { justify-content: space-between;}
.container { width: 100%; max-width: 1150px; margin-left: auto; margin-right: auto;}
.container-max1000 { max-width: 1000px;}
.headerTop { display: flex; justify-content: space-between; border-bottom: #c8c8c8 1px solid; background-color: #fafafa; padding: 0 10px;}
header nav { display: flex; justify-content: space-between; padding: 6px 40px; font-family: "noto_sans_cjk_jpbold", sans-serif; align-items: center; z-index: 0;}
.logoSlogan { font-size: 11px; line-height: 1.546; font-family: "noto_sans_cjk_jp_regularRg", sans-serif; padding-bottom: 4px;}

	@keyframes ainm_gmologo {
		0% { opacity: 1; visibility: visible; z-index: 3;}
		30% { opacity: 1; visibility: visible; z-index: 3;}
		40% { opacity: 0.5; visibility: visible; z-index: 3;}
		50% { opacity: 0; z-index: 2;}
		100% { opacity: 0; z-index: 2;}
	}

	@keyframes anim_sustainable {
		0% { opacity: 0; z-index: 2;}
		50% { opacity: 0; z-index: 2;}
		60% { opacity: 0.5; visibility: visible; z-index: 2;}
		70% { opacity: 1; visibility: visible; z-index: 3;}
		100% { opacity: 1; visibility: visible; z-index: 3;}
	}

.mobileMenuHead { display: none; gap: 15px;}
.mobile_hamburger { cursor: pointer;}
/*Mobile Side nav*/
.gmomobileNav { margin: 0; position: fixed; text-transform: uppercase; width: 375px; padding:14px 25px; height: 100%; right: -375px; opacity: 0; top: 0; z-index: 10000; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); background: #007E8F; -moz-transition: all 0.3s ease-in; -webkit-transition: all 0.3s ease-in; transition: all 0.3s ease-in;}
.navigation-is-open .gmomobileNav { right:0; opacity: 1;}
.mobnav_overlay { position: fixed; width: 100%; height: 100%; left: 0; top: 0; opacity: .6; background: black; z-index: 1001; visibility: hidden;}
.navigation-is-open .mobnav_overlay { visibility: visible;}
.gmomobileNavHeader { text-align: right; cursor: pointer;}
ul.sideNavMobile { margin-bottom: 50px;}
ul.sideNavMobile li { border-bottom: 1px #5AC7C0 solid;}
ul.sideNavMobile li a { color: white; display: block; padding: 13px 0; text-decoration: none;}
.gmomobileNav .base-btn { width: 100%; font-size: 16px;}
.gmomobileNav p.other_function { color: #ffffff; padding: 20px 0 10px 0;}
.header_contact { display: flex; gap: 8px; align-items: center;}
.header_contact .header_contact__tel { display: flex; flex-direction: column; gap: 3px;}
.header_contact .header_contact__tel a { color: #1c1c1c; text-decoration: none; font-size: 17px; font-family: "Montserrat", sans-serif; font-weight: 600; display: flex; align-items: center; line-height: 20px; padding-left: 6px;}
.header_contact .header_contact__tel span img { display: inline-block; width: 17px; margin-right: 4px;}
.header_contact .header_contact__tel strong { font-weight: 500 !important; line-height: 19px;}
.header_contact .header_contact__tel small { font-size: 10px; line-height: 1.35; font-family: "noto_sans_cjk_jp_regularRg", sans-serif;}
.banner_header { padding:40px 24px 0px 24px; color: white; background-color: #007c84; position: relative; background-size: cover; background-position: center; overflow: hidden;}  
.banner_header .gmo_row { display: grid; grid-template-columns: 48% 1fr; align-items: center;}
.banner_header h1 { font-size: 36px; padding:0 0 24px 0; line-height: 1.2; font-family: "noto_sans_cjk_jpbold", sans-serif;}
.bannerLargHeading { font-size: 60px; padding: 0; line-height: 1.4; font-family: "noto_sans_cjk_jpbold", sans-serif; color:#DEBC36; /*#D1B28B*/}
.bannerLargHeading small { font-size: 40px; color: white;}
.banner_header h3 { font-size: 22px; padding: 10px 0 20px 0; line-height: 1.5; font-family: "noto_sans_cjk_jpbold", sans-serif;}
.banner_header .good-design { position: absolute; bottom: 80px; z-index: 99; left: calc(48% - 46px); line-height: 0;}
.banner_header .fv_img01 { margin: 20px 0 10px 0; width: 100%;}
.banner_header .fv_img02 { margin: 6px 0 10px 0; width: 100%;}
.banner_header .fv_txt01 { font-size:9px;}
.bannerImg { position: relative;}
.bannerImg2, .bannerImg3, .bannerImg4 { position: absolute; top: 0; left: 0;}
.base-btn { width: 360px; height: 72px; position: relative; line-height: 1.25; display: flex; justify-content: center; align-items: center; color: #1C9F91; border: 1px solid #1C9F91; text-decoration: none; background-color: white; border-radius: 40px; font-family: "noto_sans_cjk_jpbold", sans-serif; padding-right: 15px; transition: .5s all;}
.base-btn svg { position: absolute; right: 18px;}
.base-btn span { /*background: rgb(0,84,108);*/ padding-right: 15px; background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); -webkit-background-clip: text !important; -webkit-text-fill-color: transparent; display: inline-block; padding-top: 5px; transition: .5s all;}
.base-btn:hover { background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); border-color: #ffffff; color: white;} 
.base-btn:hover span { background: transparent; color: white; -webkit-text-fill-color: #FFFFFF;}
.base-btn:hover svg path { stroke: white;}
.base-btn2 { width: 240px; height: 56px; line-height: 1.25; display: flex; justify-content: center; align-items: center; position: relative; color: #FFFFFF; border: 1px solid white; text-decoration: none; border-radius: 36px; font-family: "noto_sans_cjk_jpbold", sans-serif; font-size: 18px; padding-right: 15px; transition: .5s all;}
.base-btn2 svg { position: absolute; right: 12px;}
.base-btn2 svg path { stroke: white;}
.base-btn2:hover { background-color: white; color: #1C9F91;}
.base-btn2:hover svg path { stroke: #1C9F91;}
.base-btn2.whiteBg { border-color: #1C9F91; color: #1C9F91;}
.base-btn2.whiteBg svg path { stroke: #1C9F91;}
.base-btn2.whiteBg:hover { background-color: #1C9F91; color: #FFFFFF;}
.base-btn2.whiteBg:hover svg path { stroke: #FFFFFF;}
.base-btn2.SeaGreen { border-color: #1C9F91; background-color: #1C9F91; color: #FFFFFF;}
.base-btn2.SeaGreen svg path { stroke: white;}
.base-btn2.SeaGreen:hover { background-color: #0b9183; color: #FFFFFF;}
.base-btn2.SeaGreen:hover svg path { stroke: #FFFFFF;}
.base-btn2.Peacock { border-color: #00546c; background-color: #00546c; color: #FFFFFF;}
.base-btn2.Peacock svg path { stroke: white;}
.base-btn2.Peacock:hover { background-color: #026480; color: #FFFFFF;}
.base-btn2.Peacock:hover svg path { stroke: #FFFFFF;}
.base-btn.btn-gradient { background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); color: white !important;}
.base-btn.btn-gradient svg path { stroke: white;}
.base-btn.btn-gradient:hover { background: white; color: #1C9F91 !important;}
.base-btn.btn-gradient:hover svg path { stroke: #1C9F91;}
.achievement_sectionWrap { background-color: #FFFFFF; padding-bottom: 26px;}
.achievement_sectionWrap .container { max-width: 800px;}
.achievement_section { background-color: #FFFFFF; border-radius: 16px; box-shadow:0px 8px 24px rgb(0 0 0 / 15%); margin-top: -40px; position: relative; padding:40px 48px;}
.achievement_section p.annotation { font-size: 11px; text-align: right; color:#666; margin-top: 8px;}
.achievementList { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; text-align: center; align-items: center;}
.achievementList>.achievementListItem:first-child { grid-column: 1 / -1;}
.achievementList>.achievementListItem:first-child img { max-width: 402px; width: 100%;}
.logo-slider { padding: 14px 0;}
.logo-slider .owl-carousel .owl-item img { max-height: 64px; object-fit: contain;}
.asideFormWrap { position: fixed; right: -440px; right: 0; height: 100%; top: 0; width: 492px; z-index: 999; -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); -moz-transition: all 0.3s ease-in; -webkit-transition: all 0.3s ease-in; transition: all 0.3s ease-in;}
.side_bownload_btn { position: absolute; left: 0; top: 180px; z-index: 999; background: linear-gradient(0deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); color: white; font-size: 14px; font-family: "noto_sans_cjk_jpbold", sans-serif; padding: 16px 12px ; transform: rotate(180deg); text-align: right; height: 168px; cursor: pointer; writing-mode: vertical-rl; -webkit-border-top-right-radius: 8px; -webkit-border-bottom-right-radius: 8px; -moz-border-radius-topright: 8px; -moz-border-radius-bottomright: 8px; border-top-right-radius: 8px; border-bottom-right-radius: 8px; box-shadow: 0 0 16px rgba(255, 255, 255, 0.603);}
.side_bownload_btn svg { position: absolute; top: 10px; transform: rotate(180deg); right: 25px;}
.side_bownload_btn:hover { color: #5ac7c0;}
.side_bownload_btn:hover svg path { fill: #5ac7c0;}
.asideForm { width: 440px; margin: 0; margin-left: 52px; background-color: white; height: 100%; padding: 20px;}
.aside-form .title { font-size: 22px; line-height: 1.2; color: #00546C; text-align: center; margin-bottom: 50px;}	
.aside-form .title big { display: block; font-size: 22px;}
.aside-form .title span { font-size: 16px; font-family: 'noto_sans_cjk_jpmedium';}
.form_body { padding: 20px;}
.close_form { position: absolute; right: 15px; top: 11px; border-radius: 6px; /*background-color: #1C1B1F;*/ width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; cursor: pointer; line-height: 0;}
.close_form svg { height: 26px; width: 26px;}
.close_form svg path { stroke: #00546C; fill: #00546C;} 
.gmo_modal { border-radius: 8px; padding: 20px; color: white; position: fixed; right: 32px; margin-top: -50px; width: 340px; bottom: 32px; z-index: 99; background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%);} 	
.gmo_modal .gmo_row { display: grid; grid-template-columns: 138px 1fr; gap: 12px;}
.gmo_modal h4 { font-size: 15px; font-family: "noto_sans_cjk_jpbold", sans-serif; line-height: 1.6; padding-bottom: 10px;}
.gmo_modal p { font-size: 12px; line-height: 1.35;}
.borderLine { position: relative; height: 1px; background-color: #1C9F91; margin-top: 1px; margin-bottom: 15px;}
.close_modal { position: absolute; right: -15px; cursor: pointer; top: -15px; opacity: 1; transition: .3s all;}
.close_modal:hover { opacity: .9;}
.management_section { background:#f3f4f8; padding:130px 20px 118px 20px; overflow-x: hidden;}
.mainbox.management_section { background:#fff;}
.management_section .title { color: #00546C; margin-bottom: 45px;}
.management_section .title strong { font-size: 56px;}
.management_section.footer { padding: 4% 4%;}
.campaign_section { position: relative; overflow: hidden;}
.campaign_section .cpn_btm { position: absolute; bottom: -150px; left: -110px; width: 27%;}
.campaign_section .cpn_top { position: absolute; top: -150px; right: -110px; width: 27%;}
.campaign_section .cpn_img { margin: 0 auto; width: 1000px;}
.campaign_section .container-max1000_cpn { display: block; position: relative; z-index: 100;}
.campaign_section .cpn_imgspo { width: 100%;}
.key_success { margin-top: -24px; margin-right: -52px; padding-bottom: 92px;}
.key_success .gmo_row { align-items: center; gap: 14px;}
.key_success h4 { padding: 23px 0; color: #1C1C1C; font-family: "noto_sans_cjk_jpmedium", sans-serif; text-align: center; font-size: 16px; line-height: 1.6;}
.key_success h3 { padding: 10px 0; color: #1C9F91; font-family: "noto_sans_cjk_jpbold", sans-serif; text-align: center; font-size: 22px; line-height: 1.5;}
.supporDetail { padding-bottom: 20px;}
.supporDetail p { font-family: 'noto_sans_cjk_jpmedium', sans-serif; font-size: 16px; color: #333333; line-height: 1.6; text-align: center; margin-top: -3px;}
.supporList { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 30px 40px; padding:20px 0 100px 0;}
.supporList_ftr { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; gap: 10px 10px; padding:20px 0 80px 0;}
.supporList a , .supporList_ftr a { display: flex; width: 100%; justify-content: space-between; height: 80px; line-height: 1.6; box-shadow: 5px 5px 12.5px #a6b0bf60; align-items: center; position: relative; border: #007E8F 1px solid; border-radius: 80px; padding:10px 12px; text-align: center; text-decoration: none; font-family: 'noto_sans_cjk_jpmedium', sans-serif; font-size: 16px; color: #333333; background: linear-gradient(77deg, rgba(242,244,248,1) 0%, rgba(242,244,248,1) 28%, rgba(242,244,248,1) 90%); -moz-transition: all .4s ease-in-out; -o-transition: all .4s ease-in-out; -webkit-transition: all .4s ease-in-out; transition: all .4s ease-in-out;}
.supporList a svg , .supporList_ftr a svg { margin-left: 10px;}
.supporList a i , .supporList_ftr a i { display: inline-block; position: relative; margin-left: 10px;}
.supporList a i:before , .supporList_ftr a i:before { content: ""; display: inline-block; background-color:#000000; position: absolute; width: 12px; height: 2px; right: 0; top: calc(50% - 1px);}
.supporList a i:after , .supporList_ftr a i:after { content: ""; display: inline-block; border: solid #000000; position: absolute; right: 0; top: calc(50% - 4px); border-width: 0 2px 2px 0; padding: 3px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}
.supporList a:hover , .supporList_ftr a:hover { background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); color: white; border-color: #04838f;} 	
.supporList a:hover i:before , .supporList_ftr a:hover i:before { background-color: white;}
.supporList a:hover i:after , .supporList_ftr a:hover i:after { border-color: white;}
.supporList a:hover svg path , .supporList_ftr a:hover svg path { fill: white;}
.choose_usList { display: flex; flex-direction: column; margin-bottom: 32px;}
.choose_usList .gmo_row { align-items: center; gap: 7%; flex-wrap: wrap;}
.choose_usList .gmo_row .gmo_col.gmo_colImg img { width: 100%; margin-top: -10px; margin-bottom: -10px;}
.choose_usList h2 { font-size: 44px; font-family: "noto_sans_cjk_jpbold", sans-serif; color: #00546C; line-height: 1.5; padding-bottom: 50px;}
.choose_usList p { color: #00546C; font-family: "noto_sans_cjk_jpbold", sans-serif; line-height: 1.2; font-size: 18px;}
.choose_usListItem.choose_tItem3 .gmo_row { gap: 0;}
.choose_usListItem h2 { white-space: nowrap;}
ul.top_bnr { display: flex; flex-wrap: wrap;}
ul.top_bnr li { margin: 10px; width: 47%; margin: 10px 1% 10px 2%;} 
.choose_usList .base-btn2 { font-size: 80%; margin-top: 20px; width: 200px; height: 48px;}
.choose_1min { font-size: 60%; line-height: 1.35;}
.min_section { background-color: #f3f4f8; padding:82px 20px 80px 20px; overflow: hidden;}
.min_section_header { display: grid; grid-template-columns: 100%; justify-content: center; align-items: center; gap: 50px; padding-bottom: 50px;}
.min_section_header p { display: table; margin-left: auto; margin-right: auto; font-size: 20px; font-family: "noto_sans_cjk_jpmedium", sans-serif; padding-top: 62px; line-height: 1.6;}
.min_section_header h3 { font-size: 30px; font-weight: bold;}

@media only screen and (min-width : 768px){
  .min_section_header { display: grid; grid-template-columns: 400px 580px; justify-content: center; align-items: center; gap: 50px; padding-bottom: 50px;}
	.close_form { opacity: 0;}
	.choose_usList>.choose_usListItem:nth-child(odd) .gmo_row { flex-direction: row-reverse;}
	.choose_usList .gmo_row .gmo_col { width: 44%;}
	.choose_usList .gmo_row .gmo_col.gmo_colImg { width: 49%;}
	.choose_usListItem.choose_tItem3 .gmo_row .gmo_col { width: 47%;}
	.choose_usListItem.choose_tItem3 .gmo_row .gmo_col.gmo_colImg { width: 53%;}
	.show_ms { display: none;}
	.title_middle_border { position: relative; margin-top: 50px; margin-bottom: 20px; font-size: 18px;}
.title_middle_border .border { display:block; position: absolute; left: 0; right: 0; height: 1px; background-color: #1f6a7f; top: 50%;}
.title_middle_border:after { content: ""; display: inline-block; border: solid #00546C; position: absolute; right: 0; top: calc(50% - 3px); border-width: 0 1px 1px 0; padding: 3px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}
.title_middle_border:before { content: ""; border: solid #00546C; position: absolute; left: 0; top: calc(50% - 3px); border-width:1px 0 0 1px; padding: 3px; transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}
.title_middle_border span { background-color: #ffffff; display: inline-block; padding:0 20px; position: relative; font-family: "noto_sans_cjk_jpmedium", sans-serif; color: #00546C;}
.title_middle_border span img { display: none;}
ul.top_bnr { display: flex; justify-content:center; flex-wrap: nowrap;}
ul.top_bnr li { width: 320px; margin: 30px 11px; border: 1px solid #eee; border-radius: 20px; overflow: hidden;}
ul.top_bnr li img { border-radius:20px;}
ul.top_bnr li .value-btn { display: flex; width: 320px; height: 120px; text-decoration: none; background-color: white; transition: .5s all; align-items: center; justify-content: center;}
ul.top_bnr li .value-btn span { /*background: rgb(0,84,108);*/ padding-right: 15px; background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); -webkit-background-clip: text !important; -webkit-text-fill-color: transparent; display: inline-block; padding-top: 5px; transition: .5s all;}
ul.top_bnr li .value-btn:hover { background: linear-gradient(77deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 28%, rgb(159, 233, 225) 90%); border-color: #ffffff; color: white;} 
}

.title { font-size: 32px; font-family: "noto_sans_cjk_jpbold", sans-serif; line-height: 1.5;}
.title small { display: block; font-size: 28px;}
.title span { position: relative; display: inline-block;}
.title span::after { content: ''; display: block; margin: 0 auto; width: 86px; height: 2px; margin-top: 17px; /*background-image: linear-gradient(to right, #1C9F91 10%, rgba(255, 255, 255, 0) 0%);
    background-position: top;
    background-size: 7px 1px;*/ background-repeat: repeat-x; background-image: url('../images/doot-line.svg');}
.track-record-section { background-color: #f3f4f8; padding: 132px 20px 80px 20px;}
.seminar-sliderWrap { margin-left: -20px; margin-right: -20px;}
.track-record-section .title { margin-bottom: 50px; color: #00546C;}
.track-record-section .seminar-sliderBg { background-color: #e4ebf1;}
.track-record-section .base-btn2.Peacock { font-size: 16px; margin-left: auto; margin-right: auto; background-color: #007d8f; border-color: #007d8f;}
.track-record-section .base-btn2.Peacock:hover { background-color: #1c9f91; border-color: #1c9f91;}
.clinic_success { display: grid; /* grid-template-columns: 1fr 1fr; */ grid-template-columns: repeat(auto-fit, calc(33.333% - 40px)); justify-content: center; gap: 59px; padding-top: 10px; margin: 0 auto; margin-bottom: 40px; /*max-width: 684px;*/}
.clinic_success .clinic_successItem { background-color: white; border-radius: 4px; padding: 20px; box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.103); position: relative; overflow: hidden;}
.top_gradient { height: 8px; width: 100%; background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); position: absolute; top: 0; left: 0;}
.clinic_successImg { text-align: center;}
.clinic_successImg img { max-width: 240px; width: 100%;}
.clinic_successImg img.revolutionImg { max-width: 160px;}
.clinic_success h3 { text-align: center; font-size: 22px; color: #00546C; font-family: "noto_sans_cjk_jpbold", sans-serif; padding-bottom: 5px;}
.clinicTags { text-align: center; display: flex; gap: 12px; flex-wrap: wrap; justify-content: center; margin-top: 20px; padding-bottom: 10px; padding-left: 20px; padding-right: 20px;}
.clinicTags a { display: inline-block; padding: 10px; text-decoration: none; border: #007E8F 1px solid; color: #1C1C1C; font-size: 14px; background-color: #F2F4F8; border-radius: 18px; transition: .2s all;}
.clinicTags a:hover { background-color: #007e8f; color: white;}
/*讖溯・縲√Μ繝ｳ繧ｯ縺檎┌縺・・繧ｿ繝ｳ*/
.clinicTags span.trackrecord_nolink { display: inline-block; padding: 12px 18px; text-decoration: none; border: #007E8F 1px solid; color: #1C1C1C; font-size: 14px; background-color: #F2F4F8; border-radius: 20px; transition: .2s all;}
.Fee_structure { box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); padding:60px 50px 65px 50px; background: linear-gradient(to bottom,  rgba(233,237,240,0.02) 0%,rgba(233,237,240,1) 100%); margin-top: 162px; position: relative; border-radius: 10px; text-align: center; margin-left: -50px; margin-right: -50px;}
.Fee_structure .base-btn { width: 100%; border-color: #00546C; color: #00546C;}
.Fee_structure .base-btn.font-large { font-size: 18px;}
.Fee_structure .base-btn svg path { stroke: #00546C;}
.Fee_structure .base-btn:hover { background: #007e8f; border-color: #007e8f; color: #ffffff;}
.Fee_structure .base-btn:hover svg path { stroke: #ffffff;}
.fee_structureBg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; box-shadow:0px 0px 20px #a6b0bf41; border-radius: 10px;}
.Fee_structure h3 { padding-top: 12px; padding-bottom: 17px;}
.Fee_structure p { font-size: 16px; color: #1C1C1C; line-height: 1.6; font-family: "noto_sans_cjk_jpmedium", sans-serif; padding:0 0 17px 0;}
.fee_price { font-size: 46px; color: #1C9F91; font-family: "noto_sans_cjk_jpbold", sans-serif; padding: 10px 0 0 0;}
.fee_price_month { font-size: 40px; color: #1C9F91; font-family: "noto_sans_cjk_jpbold", sans-serif; padding: 15px 0 6px 0;}
.fee_price span, .fee_price_month span { display: inline-block; line-height: 1;}
.fee_price small, .fee_price_month small { display: inline-block; font-size: 22px; line-height: 1;}
.Fee_structure .gmo_row { justify-content: center; gap: 30px;}
.Fee_structure h5 { font-size: 14px;}
.clinic_successItemSub { background-color: #f6f6f6; border-radius: 4px; margin-bottom: 20px; padding:0 10px 15px 10px; margin-top: 5px;}
.clinic_successItemSub h5 { font-size: 15px; color: #1C9F91; font-family: "noto_sans_cjk_jpbold", sans-serif; position: relative; top: -6px; padding-bottom: 4px;}
.clinic_successItemSub p { font-size: 12px; padding-bottom: 0;}
.Fee_structure .smallBtn { height: 48px;}
.Fee_structure .clinic_success .clinic_successItem { display: flex; flex-direction: column; justify-content: center; padding-top: 42px; padding-bottom: 25px; padding-left: 36px; padding-right: 36px;}
.customer_section { background-color: #f3f4f8; padding:82px 20px 158px 20px; overflow: hidden;}
.customer_section_header { display: grid; grid-template-columns: 424px 480px; justify-content: center; align-items: center; gap: 50px; padding-bottom: 50px;}
.customer_section_header p { display: table; margin-left: auto; margin-right: auto; font-size: 16px; font-family: "noto_sans_cjk_jpmedium", sans-serif; padding-top: 62px; line-height: 1.6;}
.contracted-accountsImg { position: relative; width: 100%; height: 272px; text-align: center; display: flex; justify-content: flex-end; align-items: center; flex-direction: column;}
.contracted-accountsImg img { position: absolute; z-index: 0;}
.contracted-accountsImg .contractedPrice { font-size: 128px; line-height: 1.01; font-weight: 600; position: relative; z-index: 1; padding: 0; font-family: "Montserrat", sans-serif; background: linear-gradient(90deg, #00546C -2.01%, #1C9F91 103.87%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.contracted-accountsImg .contractedPrice small { font-size: 80px; line-height: .8;}
.contracted-accountsImg h3 { position: relative; z-index: 1; color: #00546C; font-family: "noto_sans_cjk_jpbold", sans-serif; font-size: 28px;}
.contracted-accountsImg h2.title { position: relative; z-index: 1; font-size: 44px; margin-bottom: 0; line-height: 1;}
.customer_section .title { color: #00546C; margin-bottom: 70px;}
.support_systems { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 60px; padding-top: 20px; text-align: center;}
.support_systemsItem { background-color: #f3f4f8; padding:30px 45px 15px 45px; border-radius: 8px; box-shadow:  #a6b0bf71 5px 5px 12px; position: relative;}
.support_systemsItemBg { position: absolute; left: 0; right: 0; top: 0; bottom: 0; box-shadow:  #FFFFFF -6.25px -6.25px 12px;}
.support_systems img { margin-bottom: 3px; position: relative;}
.support_systems p { line-height: 1.6; /*font-size: 15px;*/ padding: 8px 0; text-align: left; position: relative;}
.support_systems p small { font-size: 12px;}
.supportBtn { text-align: center; padding-top: 72px;}
.supportBtn .base-btn2.Peacock { margin-left: auto; margin-right: auto; font-size: 16px; background-color: #007E8F;}
.supportBtn .base-btn2.Peacock:hover { background-color: #1c9f91; border-color: #1c9f91;}
.seminar-sliderWrap { position: relative; padding-top: 20px; margin-bottom: 130px;}
.seminar-sliderBg { background-color: white; border-radius: 8px; position: absolute; left: calc(50% - 414px); max-width: 828px; width: 100%; top: 0; bottom: 55px;}
.seminar-sliderWrap .swiper { height: auto; padding-top: 20px;}
.seminar-sliderWrap .swiper-button-next, .seminar-sliderWrap .swiper-button-prev { width: 100px; height: 100px; position: relative; float: left; outline: none; margin-top: 45px;}
.seminar-sliderWrap .swiper-button-next:after, .seminar-sliderWrap .swiper-button-prev:after { content: ''; background-image: url('../images/arrow-slide.svg'); background-repeat: no-repeat; width: 100px; height: 100px; display: block; background-size: contain; background-position: center;}
.seminar-sliderWrap .swiper-button-next:after { transform: rotate(180deg);}
/* .seminar-sliderWrap .swiper-button-next:hover:after, .seminar-sliderWrap .swiper-button-prev:hover:after{opacity: .8;} */
.seminar-sliderWrap .container { position: relative; margin-left: auto; margin-right: auto; width: 100%; max-width: 774px;}
.seminar-sliderWrap .container::after { display: block; content: ''; clear: both;}
.seminar-sliderBtn { position: absolute; bottom: 27px; right: 30px;}
.seminar-sliderBtn .base-btn2.Peacock { font-size: 16px; background-color: #007d8f; border-color: #007d8f;}
.seminar-sliderBtn .base-btn2.Peacock:hover { background-color: #1c9f91; border-color: #1c9f91;}
.seminar-sliderWrap .seminarSlidItem { border: #C8C8C8 1px solid; padding: 10px; border-radius: 8px; height: 100%;}
.seminar-sliderWrap .swiper-slide { border-radius: 8px; height: auto;}
.track-record-section .seminarSlidDetail h4 a { color: #00546C;}
.track-record-section .seminarSlidDetail h4 a.max-line { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;}
.track-record-section .seminar-sliderWrap .seminarSlidItem { padding:32px 40px 12px 40px; border: none;}
.track-record-section .swiper-slide img { height: 152px; object-fit: cover; border-radius: 0;}
.track-record-section .seminarSlidDetail { padding-left: 0; padding-right: 0;}
/*2024/07/01*/
.seminarSlidItem { position: relative;}
.seminarSlidItem a.full-slider-link { position: absolute; width: 100%; height: 100%; display: block; cursor: pointer; left: 0; top: 0;}
.track-record-section .seminarSlidItem { box-shadow: 0px 4px 20px hsla(0, 0%, 0%, 0.205);}
.track-record-section .seminarSlidItem:hover { box-shadow: 0px 4px 20px rgba(28, 159, 146, 0.40);}
.track-record-section .seminarSlidItem:hover .seminarSlidDetail h4 a { color: #1C9F91;}
.seminarSlidItem:hover .seminarSlidDetail.placeholder-data h4 a { color: #F2F4F8 !important; background: #F2F4F8 !important; background-color: #F2F4F8 !important;} 
.seminarSlideMNg .seminarSlidItem:hover .seminarSlidDetail.placeholder-data h4 a { background: #F2F4F8 !important; -webkit-background-clip:unset !important; -webkit-text-fill-color:#F2F4F8;}
.seminarSlideMNg .seminarSlidItem .seminarSlidDetail.placeholder-data .slideBtn { opacity: 0;}
.seminarSlideMNg .seminarSlidItem { box-shadow: 0px 4px 20px hsla(0, 0%, 0%, 0.12);}
.seminarSlideMNg .seminarSlidItem:hover { box-shadow: 0px 4px 20px hsla(0, 0%, 0%, 0.12); border-color: #1C9F91;}
.seminarSlideMNg .seminarSlidItem:hover .seminarSlidDetail h4 a { background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); -webkit-background-clip: text !important; -webkit-text-fill-color: transparent;}
.seminarSlidItemThumb { margin-bottom: 20px;}
.seminarSlidItemThumb img { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 8px; object-fit: cover;}
.seminarSlidDetail { text-align: left; padding:0 20px 17px 20px;}
.seminarSlidDetail h4 { font-size: 15px; line-height: 1.45; font-family: "noto_sans_cjk_jpbold", sans-serif;}
.seminarSlidDetail h4 a { color: #1C1C1C; text-decoration: none; min-height: 44px;}
.seminarSlidDetail h4 .clinicname { display: block; color: #333333; padding-top: 14px; font-family: "noto_sans_cjk_jpbold", sans-serif; font-size: 14px; line-height: 1.2; padding-bottom: 10px;}
.seminarSlidDetail .slideBtn a, 
.seminarSlidDetail h4 span.kamoku { display: inline-block; border: #606060 1px solid; color: black; text-decoration: none; padding:3px 8px 4px 8px; border-radius: 15px; font-family: "noto_sans_cjk_jp_regularRg", sans-serif; font-size: 12px; line-height: 1.35;}
.seminarSlidDetail .slideBtn { padding-top: 7px;}
/* .seminarSlidDetail .slideBtn a{display: inline-block; background-color: #F2F4F8; color: black; text-decoration: none; padding: 8px 9px; border-radius: 15px; font-size: 12px;} */
/*2004/07/01*/
.seminarSlidDetail .slideBtn { padding-top: 7px; display: flex; flex-wrap: wrap; gap: 8px;}
.introduction_section { background-color: white; padding:100px 20px 64px 20px; text-align: center; position: relative;}
.introduction_section .title { color: #00546C; padding-bottom: 70px;}
.introduction_section .title span { position: relative; display: inline-block;}
.introduction_section .title span::after { content: ''; display: block; margin: 0 auto; width: 80px; height: 1px; margin-top: 10px; background-image: linear-gradient(to right, #1C9F91 10%, rgba(255, 255, 255, 0) 0%); background-position: top; background-size: 7px 2px; background-repeat: repeat-x;}
.introduction_section .step-wrapper { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 106px;}
.step-wrapper .step-item { position: relative;}
.step-wrapper .step-item p { padding-top: 32px; color: #00546C; font-family: "noto_sans_cjk_jpmedium", sans-serif; font-weight: 500;}
.step-wrapper .step-item:nth-child(even) { padding-top: 48px;}
.step-item .step-indicator { position: absolute; width: 110px; height: 10px; left: 100%; top: 40px;}
.step-item .step-indicator:after { content: ''; background-image: url('../images/step-indicator.svg'); background-repeat: no-repeat; background-size: 100%; width: 100%; height: 100%; position: relative; display: block;}
.step-wrapper .step-item:nth-child(2) .step-indicator { top: 70px; width: 137px; left: 85%;}
.step-wrapper .step-item:nth-child(2) .step-indicator:after { background-image: url('../images/step-indicator-rev.svg');}
.step-wrapper .step-item:last-child .step-indicator { display: none;}
.vision_section { background-color: #013445; background-size: cover; background-position: center; background-repeat: no-repeat; color: white; padding: 70px 20px 42px 20px; display: flex; align-items: center; overflow: hidden;}
.vision_section .container { max-width: 1252px;}
.vision_section .gmo_row { display: grid; grid-template-columns: 470px 1fr; gap: 50px; align-items: center;}
.vision_section img { width: 100%;}
.vision_section p { font-size: 16px; font-family: "Montserrat", sans-serif; font-weight: 500; padding: 37px 0 59px 0;}
.news_section { background-color: #f3f4f8; padding: 90px 20px 55px 20px;}
.news_section h3 { font-size: 18px; font-family: "Montserrat", sans-serif; font-weight: 600; color: #00546C;}
.news_section .gmo_row { display: grid; grid-template-columns: 1fr 1fr; gap: 110px;}
.newsList { display: grid; height: 100%; gap: 0px; padding:21px 0 31px 0;}
.newsList .newsitem { border-bottom: #C8C8C8 1px solid; padding-top:14px;}
.newsList .newsMeta { font-size: 12px; line-height: 1.35; display: flex; gap: 5px;}
.newsList .newsMeta span { display: inline-block; margin-right: 5px;}
.newsList .tag-item a { text-decoration: none; color: #606060; background-color: white; font-size: 10px; padding: 2px; padding: 1px 8px; border-radius: 4px; display: inline-block;}
.newsList .newsitem p { font-size: 15px; line-height: 1.6;}
.newsList .newsitem p a { color: #1C1C1C; text-decoration: none;}
.news_section .base-btn2 { font-size: 14px; width: 200px; height: 48px;} 
.meet_family_section { background-color: #FFFFFF; padding:36px 20px 16px 20px; color: #1C1C1C; text-align: center;}
.meet_family_section h3 { text-align: center; font-family: "noto_sans_cjk_jpbold", sans-serif; font-size: 22px; color: #00546C;}
.meet_family_section .gmo_row { justify-content: center; gap: 40px; margin-bottom: 20px;}
.contact_label { font-size: 16px; font-family: "noto_sans_cjk_jpmedium", sans-serif; padding-bottom: 10px; padding-top: 21px; text-align: center;}
.meet_family_section h5 { text-align: center; font-family: "Montserrat", sans-serif; font-size: 18px; color: #00546C; font-weight: 600;}
.meet_family_section h5 a { color: #333333; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 4px;}
.meet_family_section address { line-height: 1.35; font-size: 12px; text-align: center;}
.meet_family_section address small { font-size: 11px;}
.meet_family_section .base-btn2 { height: 72px; width: 300px;}
.meet_family_section .base-btn { width: 300px; border-color: #007E8F; color: #007E8F; font-size: 18px;}
.meet_family_section .base-btn:hover { color: white;}
.meet_family_section  .base-btn.btn-gradient { width: 640px; margin-left: auto; margin-right: auto;}
/* Footer基本スタイル(footer / back-toTop / footCols / footerlogo / copyright / RevolutionList /
   gmoLogo / footer_security / servicesList / footer_bottom / mobile-base-btnWrap 等)は
   common.cssと完全に重複していたため削除し、common.cssに一本化した。
   (このブロックがcommon.cssより後に読み込まれるlp.cssでdisplay:gridを再宣言していたため、
   common.css側のSP非表示ルールが上書きされてしまっていた) */

@media only screen and (min-width : 992px){
.mobileFootBottom { display: none;}
}

/*驕ｸ縺ｰ繧後ｋ逅・罰 2024/07*/
.banner_header.title-style.reason .page-title-container { height: 450px; align-items: flex-start;}
.banner_header.reason .gmo_row { position: relative;}
.banner_header.reason .gmo_row img { position: absolute; right: 10px; bottom: -213px; width: 66%;}
.banner_header.reason .gmo_col { margin: 20px 60px 0px 24px;}
.banner_header.reason .gmo_col h1 { font-size: 34px; margin-bottom: 20px;}
.banner_header.reason .gmo_col  p { font-size: 17px; font-weight: bold; color:#fff; line-height: 1.4;}
.develop_section { background-color: white; padding:100px 20px 64px 20px; text-align: center; position: relative;}
.develop_section.three_reason h2.title, .operation_section.three_reason h2.title { position: relative;}
.reason h2 span, .three_reason h2 span { font-size: 23px; font-weight: bold; color: rgba(0, 84, 108, 1); margin-bottom: 40px;}
.develop_section.three_reason h2 span.reason_nmb, .operation_section.three_reason h2 span.reason_nmb { position: absolute; top: -120px; left: 0; font-size: 150px; color:rgba(202, 226, 229, 1); font-family:"Montserrat", sans-serif;}
.operation_section.three_reason, .operation_section.reason, .other_section.reason { background-color: #f3f4f8; padding:100px 20px 50px 20px; overflow: hidden;}
.operation_section.three_reason .key_success { margin-top: 0;}
.operation_section.reason h2 span { font-size: 30px;}
.operation_section { color: rgba(0, 84, 108, 1); font-weight: bold;}
.three_reason h2 span::after { display: none;}
.develop_section.three_reason { text-align: left;}
.develop_section.three_reason .support_systemsItem { display: flex; padding: 10px 5px 10px 30px;}
.develop_section.three_reason .support_systemsItem img { width: 44%; width: auto; height: 110px; margin-right: 14px; margin: 20px 14px 0 0;}
.develop_section.three_reason .support_systemsItem .deve_txt { width: auto;}
.develop_section.three_reason .support_systems p { padding-top: 0;}
.develop_section.three_reason .support_systems p.deve01 { background:linear-gradient(90deg, #00546C -2.01%, #1C9F91 103.87%); -webkit-background-clip: text; -webkit-text-fill-color:transparent; font-size:34px; font-weight: bold; margin: 10px 0 10px 0; line-height: 1;}
.support_systems p.deve02 { font-size: 15px; padding: 0; line-height: 1.2; margin-bottom: 16px;}
.support_systems p.deve03 { font-size: 15px;}
.support_systems p.deve04 { font-size: 15px; line-height: 1.8;}
.support_systems p.deve02 span, .support_systems p.deve03 span { font-size: 34px; line-height: 1; font-weight: 700;}
.three_reason p.reason_txt { color: rgba(0, 84, 108, 1); font-weight: bold; margin-bottom: 20px;}
.other_section.reason .other_txt h3 { font-size: 30px; font-weight: 600; z-index: 1; padding: 0; font-family: "Montserrat", sans-serif; background: linear-gradient(90deg, #00546C -2.01%, #1C9F91 103.87%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; width: 100%; text-align: center; margin-bottom: 20px;}
.other_section.reason .other_txt img { width: 100%;}
p.annotation { font-size: 11px;}
.other_section.reason .other03 {}
.other_section.reason .other03 .other03_con { display: flex; flex-wrap: wrap; background-color: #fff; padding: 4%;}
.other_section.reason .other03 h3 { width: 100%; font-size: 30px;}
.other_section.reason .other03 div div { width: 30%;}
.other_section.reason .other03 div div.other03_txt { width: 64%; margin-right: 4%;}
.other_section.reason img.other_img { margin-bottom: 60px;}

@media only screen and (min-width : 768px){
	.banner_header.title-style.reason .page-title-container { align-items: center; align-content: center; height: 360px;}
	.banner_header.reason .gmo_row { margin-bottom: 3%; width: 100%;}
	.banner_header.reason .gmo_row img { right: 10px; bottom: -200px; width: 50%;}
	.banner_header.reason .gmo_col { margin: 20px 50% 0px 24px;}
	.banner_header.reason .gmo_col h1 { font-size: 40px; line-height: 1.5;}
	.banner_header.reason .gmo_col  p { font-size: 20px;}
	.develop_section.three_reason { padding: 140px 20px 90px 20px;}
	.develop_section.three_reason .container { position: relative;}
	.develop_section.three_reason .management_tools img { width: 56%; position: absolute; top: -72px; right: -30px;}
	.operation_section.reason, .other_section.reason { padding:140px 20px 10px 20px;}
  .other_section.reason img.other_img { margin-bottom: 60px;}
	.develop_section.three_reason .support_systemsItem { display: block; padding: 0 10px 10px 10px;}
	.support_systems p.deve01, .support_systems p.deve02, .support_systems p.deve03, .support_systems p.deve04 { text-align: center;}
	.develop_section.three_reason .support_systemsItem img { width: 90%; height: auto;}
	.other_section.reason .other03_img { display: flex;}
	.other_section.reason .other03 div div { width: 25%;}
	.other_section.reason .other03 div div.other03_txt { width: 70%; margin-right: 4%;}
	.other_section.reason .other03_img img { width: 44%; height: auto;}
	.other_section.reason .other03_img img.pmark { width: 100%; height: auto;}	
}

@media only screen and (min-width : 992px){
	.develop_section.three_reason .management_tools img { width: 50%;}
}

/*Footer 險ｺ逋らｧ壮ection*/
.medicalDepartment_ftr { display: flex; justify-content: center; margin: 30px 0;}
.medicalDepartment_ftr .departmentList { display: grid; max-width: 952px; margin-left: 44px; grid-template-columns: repeat(auto-fill,116px); gap: 21px 23px;}
.medicalDepartment_ftr .departmentList li { height: 116px;}
.medicalDepartment_ftr .departmentList .departmentBtn { display: grid; width: 100%; height: 100%; padding: 0; cursor: pointer; transition: background-color .2s; border: 1px solid #f2f5f7; border: none; border-radius: 10px; background: #f2f5f7; box-shadow: 0 2px 2px 0 rgba(51, 51, 51, .25); grid-template-columns: 100%; grid-template-rows: 82px 1fr;}
@media (hover:hover)
{
    .medicalDepartment_ftr .departmentList .departmentBtn:hover { border: 1px solid #66c5bb; background-color: #fff;}
}
.medicalDepartment_ftr .departmentList .departmentBtn::before { width: 64px; height: 64px; content: ''; background-repeat: no-repeat; background-position: center center; background-size: contain; grid-column: 1; grid-row: 1; justify-self: center; align-self: center;}
.medicalDepartment_ftr .departmentList .departmentBtn span { font-size: 12px; font-weight: 500; line-height: 1.08; padding-bottom: 8px; text-align: center; align-self: center;}
.medicalDepartment_ftr .departmentList .departmentBtn1::before { background-image: url('../images/products/department_icon1.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn2::before { background-image: url('../images/products/department_icon2.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn3::before { background-image: url('../images/products/department_icon3.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn4::before { background-image: url('../images/products/department_icon4.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn5::before { background-image: url('../images/products/department_icon5.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn6::before { background-image: url('../images/products/department_icon6.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn7::before { background-image: url('../images/products/department_icon7.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn8::before { background-image: url('../images/products/department_icon8.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn9::before { background-image: url('../images/products/department_icon9.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn10::before { background-image: url('../images/products/department_icon10.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn11::before { background-image: url('../images/products/department_icon11.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn12::before { width: 66px; height: 67px; background-image: url('../images/products/department_icon12.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn13::before { width: 44px; height: 51px; background-image: url('../images/products/department_icon13.svg');}
.medicalDepartment_ftr .departmentList .departmentBtn14::before { width: 41px; height: 45px; background-image: url('../images/products/department_icon14.svg');}
@media only screen and (max-width: 767px)
{
.medicalDepartment_ftr .departmentList { display: grid; max-width: calc(calc(350/393) *100vw); margin-left: calc(calc(17/393) *100vw); grid-template-columns: repeat(4,1fr); gap: calc(calc(16/393) *100vw);}
    .medicalDepartment_ftr .departmentList li { height: calc(calc(76/393) *100vw);}
    .medicalDepartment_ftr .departmentList .departmentBtn { border: calc(calc(1/393) *100vw) solid #f2f5f7; border-radius: calc(calc(10/393) *100vw); background: #f2f5f7; box-shadow: 0 calc(calc(2/393) *100vw) calc(calc(2/393) *100vw) 0 rgba(51, 51, 51, .25); grid-template-rows: calc(calc(50/393) *100vw) 1fr;}
    .medicalDepartment_ftr .departmentList .departmentBtn::before { width: calc(calc(42/393) *100vw); height: calc(calc(42/393) *100vw);}
    .medicalDepartment_ftr .departmentList .departmentBtn span { font-size: calc(calc(10/393) *100vw); line-height: 1; padding-bottom: calc(calc(2/393) *100vw);}
    .medicalDepartment_ftr .departmentList .departmentBtn12::before { width: calc(calc(43/393) *100vw); height: calc(calc(44/393) *100vw);}
    .medicalDepartment_ftr .departmentList .departmentBtn13::before { width: calc(calc(28/393) *100vw); height: calc(calc(33/393) *100vw); margin-top: calc(calc(13/393) *100vw); align-self: start;}
    .medicalDepartment_ftr .departmentList .departmentBtn13 span { font-size: calc(calc(9/393) *100vw);}
    .medicalDepartment_ftr .departmentList .departmentBtn14::before { width: calc(calc(27/393) *100vw); height: calc(calc(29/393) *100vw); margin-top: calc(calc(18/393) *100vw); align-self: start;}
    .medicalDepartment_ftr .departmentList .departmentBtn14 span { font-size: calc(calc(9/393) *100vw);}
}
/*-----*/
[data-aos][data-aos][data-aos-duration="1200"], body[data-aos-duration="1200"] [data-aos] { transition-duration: 0.8s;}
*:focus { outline: none;}
.aside-form-wrap { background-color: #ffffff;}
.aside-form-wrap .aside-form { padding: 26px 44px 36px 44px; overflow-y: auto; box-shadow: 1px 0px 10px rgba(0, 0, 0, .2);}
.aside-form-wrap .aside-form #div_contact_fix #mr_form .mr_form_inner { background-color: #f3f4f8; margin-top: 15px; margin-bottom: 34px; /*    border: 1px #000 solid;*/ border-radius: 5px;}
.aside-form-wrap .aside-form #div_contact_fix #mr_form .mr_form_inner .frow { padding: 15px 15px 8px 15px; border-bottom: 1px #c8c8c8 solid;}
.aside-form-wrap .aside-form #div_contact_fix #mr_form .mr_form_inner .frow:first-child input:not([type="submit"]):not([type=checkbox]):not([type=radio]) { margin-top: 20px;}
.aside-form-wrap .aside-form #div_contact_fix #mr_form .mr_form_inner .frow input:not([type="submit"]):not([type=checkbox]):not([type=radio]) { width: 100%; margin-top: 12px; border: none; background-color: transparent;}
.aside-form-wrap .aside-form #div_contact_fix #mr_form .mr_form_inner .frow input:focus { border: none;}
.aside-form-wrap .aside-form #div_contact_fix #mr_form .mr_form_inner .frow:last-child { border-bottom: 0px;}
.aside-form-wrap .aside-form #div_contact_fix #mr_form .mr_form_inner .mr_require_checkbox.label_cb { display: grid; grid-template-columns: 1fr 1fr 1fr; margin-top: 5px; margin-left: -4px;}
.form_body { font-size: 12px; line-height: 1.35;}
#send_button_pre { font-family: "noto_sans_cjk_jp_regularRg", sans-serif; background: linear-gradient(77deg, rgba(0, 84, 108, 1) 0%, rgba(0, 126, 143, 1) 28%, rgba(28, 159, 145, 1) 90%); color: white !important; padding: 21px 0 19px; border-radius: 40px; text-align: center; margin-top: 11px; border: 1px solid #1C9F91;}
#send_button { font-family: "noto_sans_cjk_jpbold", sans-serif; font-size: 16px; background: linear-gradient(77deg, rgba(0, 84, 108, 1) 0%, rgba(0, 126, 143, 1) 28%, rgba(28, 159, 145, 1) 90%); color: white !important; padding: 17px 0 13px; border-radius: 40px; text-align: center; margin-top: 11px; border: 1px solid #1C9F91; width: 100%;}
#send_button_pre:hover, #send_button:hover { background: white; color: #1C9F91 !important; cursor: pointer;}
.aside-form-wrap .valid_icon { display: none;}
/*.aside-form-wrap .aside-form #div_contact_fix #mr_form .mr_form_inner .imp{
    background-color: #1c9f91;
    color: #ffffff;
    font-size: 9px;
    padding: 0px 4px;
}*/
.aside-form-wrap .imp { background-color: #1c9f91; color: #ffffff; font-size: 9px; padding: 0px 4px;}
.form_body a { color: #000000; text-decoration: none;}
.aside-form-wrap .aside-form .title { margin-bottom: 22px;}
/* CSS bY TRP dated 24-06-2024 */
/* Support System */
.support_systems {}
.support_systems .rel_logo { width: 100px; margin-left: auto; margin-right: auto;}
.support_systems .rel_logo img { vertical-align: middle;}
header .radius_btn:hover span { color: #1C9F91; -webkit-text-fill-color: #1C9F91;}
/*  */
.radius_btns { width: auto; height: 100%; line-height: 1.25; display: flex; justify-content: flex-end; align-items: center; color: #1C9F91; border: 1px solid #1C9F91; text-decoration: none; background-color: white; border-radius: 40px; font-family: "noto_sans_cjk_jpbold", sans-serif; font-weight: bold; font-size: 14px; padding: 14px 18px; height: 48px; transition :all 0.5s ease 0s; position: relative;}
.radius_btns.fill::after { content: ""; background-image: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-radius: 40px; overflow: hidden; z-index: 0; transition:all 0.5s ease-out;}
.radius_btns.fill:hover::after { opacity: 0; visibility: hidden;}
.radius_btns.fill span { color: #fff; z-index: 1; position: relative; transition:all 0.5s ease-out; /* transition-delay:0.3ms; */}
.radius_btns.fill:hover span { background: linear-gradient(90deg, #00546C -2.01%, #1C9F91 103.87%); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
/******************************************************************/
.supporList a { overflow: hidden;}
.supporList a:hover { background: transparent;}
.supporList a span.sl-hover-bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; opacity: 0; background: linear-gradient(77deg, rgba(0, 84, 108, 1) 0%, rgba(0, 126, 143, 1) 28%, rgba(28, 159, 145, 1) 90%); transition: all .4s ease-in;}
.supporList a:hover span.sl-hover-bg { opacity: 1; transition: all .4s ease-out;}
/******************************************************************/
/* グローバルナビ（製品情報／診療科メガメニュー）のCSSはcommon.cssに一本化。
   ここに旧デザイン（3カラムグリッド・nth-child(3)の2カラム分割等）の重複定義があり、
   common.cssの後に読み込まれるlp.css側が上書きして「院内・受付業務」列が2カラムに
   崩れる不具合の原因になっていたため削除。 */
/******************************************************************/
/************************Index Banner2 Design**********************/
.banner_header.style2 { padding-top: 72px;}
.banner_header.style2 .base-btn { margin-left: 48px;}

@media all and (max-width:1080px){
    .banner_header.style2 .good-design-wrap h3 { font-family: 'noto_sans_cjk_jp_regularRg'; font-size: 18px;}
    .banner_header.style2 .gmo_row { grid-template-columns: 1fr;}
    .banner_header.style2 .bannerImg { margin-left: 0;}
    .banner_header.style2 .gmo_row { text-align: center;}
}

/******************************************************************/
/******************************Google Map Page CSS*******************************/

@keyframes rotateanimation1{
    0% { transform: rotate(12.94deg);}
    50% { transform: rotate(30deg);}
    100% { transform: rotate(12.94deg);}
}

@keyframes wiggle {
    0% { transform: rotate(0deg);}
   80% { transform: rotate(0deg);}
   85% { transform: rotate(10deg);}
   90% { transform: rotate(-10deg);}
   95% { transform: rotate(10deg);}
  100% { transform: rotate(0deg);}
}

.path { stroke-dasharray: 1500; stroke-dashoffset: 1500;}
svg.animate .path { animation: stretch-border 1s ease-out forwards;}

@keyframes stretch-border {
  to { stroke-dashoffset: 0;}
}

.wiggle { display: inline-block; animation: wiggle 3s infinite;}
.wiggle:hover { animation: none;}
.artboard-img, 
.artboard-img-right { /*transform: rotate(12.94deg);*/ transform: rotate(60deg); animation: 10s linear infinite rotateanimation1; transition-delay: 1s;}
.google-map-page { color:#333333;}
.google-map-page .container { max-width: 1250px;}
.google-map-page .gm-medical-badge { font-size: 24px; font-weight: 500; display: grid; width: 210px; height: 49px; color: var(--color-green); border: 2px solid var(--color-green); border-radius: 38px; place-content: center;}
.google-map-page .gm-section-one { background-image: url('../images/google-map-img/section-one-bg-img.webp'); background-repeat: no-repeat; padding: 40px 0 12px; background-size: cover;}
.google-map-page .gm-section-one .gm-section-one-inner { display: grid; font-size: 40px; grid-template-columns: 53% 47%; align-items: center; justify-content: center;}
.google-map-page .gm-section-one .gm-section-one-inner .gm-section-one-inner-left h2 { font-size: 56px; color:#333333; margin-top: 20px; margin-bottom: 27px; font-weight: 600; letter-spacing: 0.2px;}
.google-map-page .gm-section-one .gm-section-one-inner .gm-section-one-inner-left p { font-size: 36px; line-height: 1.2; font-weight: normal;}
.google-map-page .gm-section-one-inner-left > a.base-btn { margin-top: 20px;}
.google-map-page .gm-section-one .gm-section-one-inner .gm-section-one-inner-left p.gm-trademark-note { font-size: 13px; color: #555; line-height: 1.6; font-weight: normal; margin-top: 12px;}
.google-map-page .achievement { margin-top: 20px;}
.google-map-page .achievement .mark1 > span:nth-child(2) { color: #1C9F91;}
.google-map-page .gm-section-one-inner-right { text-align: center; position: relative;}
.google-map-page .gm-section-one-inner-right .banner-right-img { position: relative; max-width: 460px; margin: 0 auto;}
.google-map-page .gm-section-one-inner-right .banner-right-img .slideTopRight { position: absolute; left: 50%; top: 0; width: 342px; transform: translateX(-50%); height: 100%;}
.google-map-page .gm-section-one-inner-right .banner-right-img .slideTopRight img { position: absolute; left: 0; object-fit: cover; top: 0; z-index: 1; display: none; width: 100%; height: 100%;}
.google-map-page .gm-section-one-inner-right .banner-right-img .slideTopRight .slImage.active { display: block;}
/* .google-map-page .gm-section-one-inner-right .banner-right-img{background-image: url('../images/banner-right-imgbg.png'); background-repeat: no-repeat; background-position: center; background-size: contain;} */
.google-map-page .pointerArrow { position: absolute; right: 0; top: 0; width: 88px; right: 25%; top: calc(50% - 15px); z-index: 2;}
.google-map-page .pointerArrow img {}
.google-map-page .banner-right-img.pointer-index-2 + .pointerArrow { right: 35%;}
.google-map-page .banner-right-img.pointer-index-3 + .pointerArrow { right: 27%; top: calc(65% - 10px);}
.google-map-page .gm-section-one .gm-section-one-inner-right .reserve-with-google-img { position: absolute; bottom: -74px; left: 50%; transform: translateX(-50%);}
/* .google-map-page .gm-section-one-inner-right .banner-right-img img:nth-child(1) {object-fit: cover; height: 100%; width: 100%;} */
.google-map-page h2 { font-family: 'noto_sans_cjk_jpmedium'; font-weight: 500; font-size: 42px; line-height: 1.5; color: #259A8D;}
.google-map-page h2 span { font-size: 30px; color: #000000; display: block; /*padding-bottom: 23px;*/ padding-top: 26px;}
.google-map-page .gm-section-one-inner-left { position: relative;}
.google-map-page img.artboard-img { position: absolute; left: -60%; top: 20%; z-index: -1;}

@media only screen and (min-width: 768px) {
  .google-map-page .gm-section-one .gm-section-one-inner-right .reserve-with-google-img { bottom: -66px; max-width: 440px;}
}

/**************************Section Two CSS***********************/
.google-map-page .gm-section-two { text-align: center; padding-bottom: 40px; padding-top: 90px;}
.google-map-page .gm-section-two .faq-img { max-width: 527px; height: auto; margin-left: auto; margin-right: auto;}
.google-map-page .location-icon { margin-left: auto; margin-right: auto;}
.google-map-page .pc_only { display: block;}
.google-map-page .sp_only { display: none;}
.google-map-page .faq-list { padding: 0px; margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); margin-top: 44px; max-width:1128px; gap:30px;}
.google-map-page .faq-list li { font-size: 28px; color: #000; position: relative; /* width: 361px; */ height: 232px; display: flex; align-items: center; justify-content: center; padding-bottom: 40px;}
.google-map-page .faq-list li:before { content: ''; background-image: url('../images/google-map-img/faq-list-bg2.svg'); position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; background-repeat: no-repeat; background-position: center; background-size: contain;}
.google-map-page .faq-list li.first:before { content: ''; background-image: url('../images/google-map-img/faq-list-bg.svg');}

@media only screen and (min-width: 768px) {
    .google-map-page .faq-list li { line-height: 1.2;}
}

/********************************************************************************/
/**************************Section Three CSS***********************/
.google-map-page .gm-section-three { text-align: center;}
.google-map-page .gm-section-three .gm-section-three-box-one { background-image: url('../images/google-map-img/section-three-bg.webp'); background-repeat: repeat-y; background-size: cover; padding-top: 50px; padding-bottom: 26px;}
.google-map-page span.arrow-box { display: block; padding: 55px 0 40px;}
.google-map-page .gm-section-three h2 { line-height: 80px;}
.google-map-page .gm-section-three  h2 span { line-height: normal;}
.google-map-page .gm-section-three img.border-img { margin-top: -74px;}
.google-map-page .gm-section-three .gm-section-three-box { font-size: 30px;}
.google-map-page .gm-section-three .gm-section-three-box p { line-height: 38px;}
.google-map-page .gm-section-three .gm-section-three-box p span { font-size: 20px; display: block; padding-top: 25px;}
.google-map-page .gm-section-three .gm-section-three-box p span br { display: none;}
.google-map-page .gm-section-three .gm-section-three-box .box-left img.num-count { max-width: 176px; margin-bottom: 27px;}
.google-map-page .gm-section-three .gm-section-three-box .box-left h2 { margin-bottom: 16px;}
.google-map-page .gm-section-three .gm-section-three-box { display: grid; grid-template-columns: repeat(2, 1fr); text-align: left;}
.google-map-page .gm-section-three .gm-section-three-box .box-right { position: relative;}
.google-map-page .gm-section-three img.box-right-img { height: 100%; object-fit: contain; width: 100%;}
.google-map-page .gm-section-three .gm-section-three-box-two { padding-top: 90px; padding-bottom: 35px;}
.google-map-page .gm-section-three .gm-section-three-box-three { background-image: url('../images/google-map-img/section-three-bg.webp'); background-repeat: repeat-y; background-size: cover; padding-top: 68px; padding-bottom: 84px;}
.google-map-page .gm-section-three .gm-section-three-box-four { padding-top: 65px; padding-bottom: 208px; position: relative; overflow-x: hidden;}
.google-map-page .gm-section-three .gm-section-three-box-three .container { position: relative;}
.google-map-page .gm-section-three .gm-section-three-box-three .container img.artboard-img { left: 11.6%; top: auto; bottom: -57%; z-index: -1;}
.google-map-page .gm-section-three .gm-section-three-box-four .container img.artboard-img-right { position: absolute; right: -50%; top: auto; bottom: 11%; z-index: -1;}

@media only screen and (min-width: 768px) {
    .google-map-page .gm-section-three h2 { font-size: 40px; line-height: 54px;}
    .google-map-page .gm-section-three .gm-section-three-box p { font-size: 22px; line-height:1.4;}
}

/******************************************************************/
/**************************Section Four CSS***********************/
.google-map-page .gm-section-four { font-family: 'noto_sans_cjk_jpmedium'; font-size: 28px; background-image: url('../images/google-map-img/gm-section-four-bg.webp'); background-repeat: repeat-y; background-size: cover; text-align: center; padding-top: 117px; padding-bottom: 17px; position: relative;}
.google-map-page span.arrow-box-two { position: absolute; left: 50%; transform: translate(-50%, 0); top: -118px; padding-top: 0;}
.google-map-page .gm-section-four .gm-section-four-btn { font-family: 'noto_sans_cjk_jpmedium'; font-size: 36px; color: #269a8d; border: 4px #269a8d solid; border-radius: 100px; text-decoration: none; padding: 41px 69px; margin-top: 50px; margin-bottom: 40px; display: inline-block; background-color: #ffffff;}
.google-map-page .gm-section-four p { line-height: 41px;}
/******************************************************************/
/*************************gm-meet-family-section********************/
.gm-meet-family-section { text-align: center; font-size: 24px; padding-top: 40px; padding-bottom: 45px; border-top: 1px #c5c5c5 solid; border-bottom: 1px #c5c5c5 solid;}
.gm-meet-family-section h3 { font-weight: 500; font-size: 36px; margin-bottom: 20px;}
.gm-meet-family-section h5 { text-align: center; font-family: "Montserrat", sans-serif; font-size: 24px; color: #00546C; font-weight: 600;}
.gm-meet-family-section h5 a { color: #000000; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 4px;}
.gm-meet-family-section address { line-height: 1.35; font-size: 16px; text-align: center;}
.gm-meet-family-section address small { font-size: 16px;}
br.mobile-only { display: none;}
.gm-meet-family-section br.mobile-only { display: none;}
.gm-meet-family-section .base-btn.btn-round-arrow { font-size: 24px; display: inline-grid; min-height: 100px; width: 100%; line-height: normal; border-radius: 100px; height: auto; padding-top: 14px; padding-bottom: 6px; margin-top: 9px;}
.gm-meet-family-section .base-btn.btn-round-arrow span { font-size: 36px; padding: 0px; margin-top: -20px;}
.gm-meet-family-section .base-btn.btn-round-arrow svg { position: absolute; right: 30px; width: 30px; height: 30px; top: 50%; transform: translateY(-50%);}
.gm-meet-family-section .mfs-btn-area { display: grid; grid-template-columns: repeat(2, 1fr); align-items: center; justify-content: center; gap: 70px; margin-bottom: 35px;}
.gm-meet-family-section .mfs-btn-area .left span, .gm-meet-family-section .mfs-btn-area .right span { display: block;}
.gm-meet-family-section .mfs-btn-area .left span img, .gm-meet-family-section .mfs-btn-area .right span img { height: 33px;}
.gm-meet-family-section .call-phone { height: 33px;}
/*******************************************************************/
/**************************Section Five CSS***********************/
.google-map-page .gm-section-five { font-family: 'noto_sans_cjk_jpmedium'; font-size: 30px; text-align: center; color: #333333; padding-top: 67px; padding-bottom: 113px;}
.google-map-page .gm-section-five h2 { margin-bottom: 53px;}
.google-map-page .gm-section-five p { text-align: left; margin: 0 auto; display: table; line-height: 43px;}
.google-map-page .gm-section-five .gm-search-steps { display: grid; grid-template-columns: repeat(3, 1fr); align-items: center; justify-content: center; position: relative; /*    padding: 0 79px;*/ margin-top: 62px; gap: 60px;}
.google-map-page .gm-section-five .gm-search-steps:after { /*content: '';
    background-image: url(../images/google-map-img/gm-search-steps-right-arrow.webp);*/}
.google-map-page .gm-section-five .gm-search-steps h3 { font-weight: 500; font-size: 18px; line-height: 1.2; color: #11877A; background-color: #ffffff; box-shadow: 0px 4px 4px #B5B5B5; max-width: 245px; margin: 0 auto; border-radius: 10px; min-height: 54px; display: flex; align-items: center; justify-content: center; margin-bottom: 13px; position: relative;}
.google-map-page .gm-section-five .gm-search-steps h3:after { content: ''; background-image: url(../images/google-map-img/map-arrow.svg); width: 63px; height: 63px; position: absolute; left: 50%; transform: translateX(-50%); bottom: -47px;}
.google-map-page .gm-section-five .gm-search-steps .step-box { position: relative;}
.google-map-page .gm-section-five .gm-search-steps .step-box:after { content: ''; background-image: url(../images/google-map-img/gm-search-steps-right-arrow.webp); width: 29px; aspect-ratio: 29 / 46; /*    height: 46px;*/ background-size: cover; background-repeat: no-repeat; position: absolute; right: -12%; top: 50%; transform: translateY(-50%); z-index: 1;}
/*.google-map-page .gm-section-five .gm-search-steps .step-box:first-child:after {
    right: -50px;
}*/
.google-map-page .gm-section-five .gm-search-steps .step-box:last-child:after { display: none;}

@media only screen and (min-width: 768px) {
    .google-map-page .gm-section-four p { font-size: 26px;}
    .google-map-page .gm-section-five p { font-size: 26px;}
}

/******************************************************************/
.google-map-page .gm-section-six { text-align: center; padding-bottom: 80px;}
.google-map-page img.border-img { margin-top: -39px;}
.google-map-page .gm-section-six h2 label { display: block; margin-bottom: 22px;}
.google-map-page .gm-section-six .graph-section { display: grid; grid-template-columns: repeat(2,1fr); padding-top: 20px; align-items: baseline;}
.graph-section .left,
.graph-section .right { height: 100%; margin-top: 60px;}
.google-map-page .gm-section-six .graph-section .line-graph { display: flex; height: 253px;}
.graph { display: grid; justify-content: space-around; align-items: flex-end; width: 80%; height: 50%; min-height: 250px; background-color: #fff; margin: 0 auto; border-bottom: 8px #45a29900 solid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 20px 62px 2px; margin-bottom: 60px; position: relative;}
.graph::after { content: ''; display: block; width: 100%; height: 8px; position: absolute; bottom: -8px; border-radius: 8px; background: rgb(37,154,141); background: linear-gradient(90deg, rgba(37,154,141,1) 0%, rgba(194,194,194,1) 100%);}
.bar { max-height: 0; background-color: #d7d7d7; color: #fff; height: 100%; text-align: center; line-height: 2; transition: height 0.5s; border-radius: 10px 10px 0px 0px ; position: relative; background: linear-gradient(180deg, #F0F0F0 0%, #CFCFCF 100%); border-radius: 10px 10px 0px 0px;}
.bar span { top: -45px; position: absolute; width: 100%; left: 0; font-style: normal; font-weight: 300; font-size: 30px; line-height: 36px; text-align: center; color: #333333;}
.bar.active { background: linear-gradient(180deg, #24998D 0%, #007798 100%); border-radius: 10px 10px 0px 0px;}
.bar.active span { font-size: 50px; top: -52px;}
.graph.graph-animate .bar { max-height: var(--bar-height); transition: max-height 1s linear;}
.bar:hover { background-color: #037a98;}
.graph-section h3 { font-size: 30px; margin-bottom: 19px;}
.graph-img { position: relative; /*    height:451px;*/ margin-bottom: 67px;}
/*.graph-img img {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}*/
/*********************************************/
.google-map-page .gm-section-seven { text-align: center; background-image: url('../images/google-map-img/gm-section-seven-bg.webp'); background-repeat: repeat-y; background-size: cover; text-align: center; padding-top: 117px; padding-bottom: 17px; position: relative;}
.google-map-page .gm-section-seven h2 { padding-top:26px;}
.google-map-page .gm-section-seven .case-study-list { display: flex; flex-wrap:wrap; align-items: center; justify-content: center; gap:20px; margin-top: 40px;}
.google-map-page .gm-section-seven .case-study-list li img { position: relative; top: -80px; right: -58px; width: 175px;}
.google-map-page .gm-section-seven .case-study-list .case-study-content { font-size: 20px; color: #000; position: relative; width: 359px; height: 275px; display: flex; align-items: center; justify-content: center; padding-bottom: 40px;}
.google-map-page .gm-section-seven .case-study-list .case-study-content:before { content: ''; background-image: url(../images/google-map-img/case-study-content-bg.webp); position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; background-repeat: no-repeat;}
/************************************************************/
.google-map-page .gm-section-eight { text-align: center; background-image: url('../images/google-map-img/section-eight-bg.webp'); background-repeat: no-repeat; background-size: cover; text-align: center; padding-top: 87px; padding-bottom: 118px; position: relative; color: #25998c; margin: 77px 0;}
.google-map-page .gm-section-eight .gm-section-eight-inner { background-color: #ffffff; padding-bottom: 30px;}
.google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 90px; margin-top: 56px;}
.google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-left, .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-right { background-color: #ffffff; border: 2px #25998c solid; width: 450px; height: 252px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; border-radius: 10px; box-shadow: 0 5px 5px rgba(0, 0, 0, .2);}
.google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-right { padding-top: 46px;}
.google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box h3 { font-family: 'noto_sans_cjk_jpbold'; font-size: 42px; display: block; width: 100%;}
.google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box ul.cs-box-list { text-align: left; padding: 0; margin: -18px 0 0 27px;}
.google-map-page .gm-section-nine { font-family: 'noto_sans_cjk_jpmedium'; font-size: 30px; text-align: center; color: #25998c; padding-top: 129px; padding-bottom: 102px;}
.google-map-page .gm-section-nine .container { max-width: 1292px;}
.google-map-page .gm-section-nine h2 { padding-top: 26px;}
.google-map-page .gm-section-nine .usage-flow-list { display: flex; align-items: center; justify-content: center; gap: 50px; padding-left: 20px; padding-right: 20px; margin-top: 69px;}
.google-map-page .gm-section-nine .usage-flow-list .uf-list-box { flex: 1;}
.google-map-page .gm-section-nine .usage-flow-list .uf-list-box .uf-list-box-img { position: relative;}
.google-map-page .gm-section-nine .usage-flow-list .uf-list-box .uf-list-box-img:after { content: ''; background-image: url(../images/google-map-img/gm-search-steps-right-arrow.webp); background-size: cover; background-repeat: no-repeat; width: 29px; height: 46px; position: absolute; right: -42px; top: 46%; transform: translateY(-50%);}
.google-map-page .gm-section-nine .usage-flow-list .uf-list-box:last-child .uf-list-box-img:after { display: none;}
.google-map-page .gm-section-nine .usage-flow-list .uf-list-box h3 { margin-bottom: 20px;}
.google-map-page .gm-section-ten { text-align: center; background-image: url('../images/google-map-img/section-ten-bg-img.webp'); background-repeat: repeat-y; background-size: cover; text-align: center; padding-top: 44px; padding-bottom: 79px; position: relative; font-size: 26px;}
.google-map-page .gm-section-ten p { text-align: left;}
.google-map-page .gm-section-ten .gm-section-ten-inner { display: flex; flex-wrap: wrap; justify-content: center; gap: 205px;}
.google-map-page .gm-section-ten .gm-section-ten-inner img { margin-bottom: 73px;}
.google-map-page .gm-section-ten .gm-section-ten-inner .left img { width: 243px;}
.google-map-page .gm-section-ten .gm-section-ten-inner .right img { width: 155px;}
.google-map-page .gm-section-eleven { text-align: center; padding-top: 44px; padding-bottom: 79px; position: relative;}
.google-map-page .gm-section-eleven h2 { padding-top: 26px;}
.google-map-page .gm-section-eleven img { margin-top: 40px;}
.dropdown-menu { display: none;}
.btn-select { background: linear-gradient(77deg, rgba(0, 84, 108, 1) 0%, rgba(0, 126, 143, 1) 28%, rgba(28, 159, 145, 1) 90%); border-color: #ffffff; color: white;}
.btn-select span { background: transparent; color: white; -webkit-text-fill-color: #FFFFFF;}
.btn-select { background: linear-gradient(77deg, rgba(0, 84, 108, 1) 0%, rgba(0, 126, 143, 1) 28%, rgba(28, 159, 145, 1) 90%); border-color: #ffffff; color: white;}
.btn-select svg path { stroke: white;}

@media all and (min-width: 768px){
    .base-btn:hover { background: linear-gradient(77deg, rgba(0, 84, 108, 1) 0%, rgba(0, 126, 143, 1) 28%, rgba(28, 159, 145, 1) 90%); border-color: #ffffff; color: white;}
    .base-btn:hover { background: linear-gradient(77deg, rgba(0, 84, 108, 1) 0%, rgba(0, 126, 143, 1) 28%, rgba(28, 159, 145, 1) 90%); border-color: #ffffff; color: white;}
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-left, .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-right { color: #259A8D;}
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box ul.cs-box-list li { color: #259A8D;}
    .google-map-page .gm-section-nine .usage-flow-list .uf-list-box h3 { font-size: 30px; color: #259A8D;}
    .google-map-page .gm-section-ten p { font-size: 20px; /*font-weight: bold;*/ line-height: 1.5;}
    .btn-select:hover { color: #1C9F91; border: 1px solid #1C9F91; background: linear-gradient(77deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 28%, rgb(255, 255, 255) 90%);}
    .btn-select:hover svg path { stroke: #1C9F91;}
    .btn-select:hover span { color: #1C9F91; -webkit-text-fill-color:#1C9F91;}
}

.section-eleven-imgWrap { display: inline-block;}
.section-eleven-imgWrap a { color: #009166;}
.section-eleven-imgText { text-align: right; padding-top: 14px;}
.google-map-page .gm-section-eleven img.section-eleven-img { width: 887px; border: #B5B3B3 1px solid;}
.gm-section-four-mobile-img { display: none;}
.gm-search-steps.mobile { display: none !important;}
.uf-list-box-img.mobile { display: none;}
/*.m-img-view1{
    max-width: 305px;
}
.m-img-view2{
    max-width: 305px;
}
.m-img-view3{
    max-width: 297px;
}*/
/* .usage-flow-img1{
    width: 280px;
}
.usage-flow-img2{
    width: 280px;
}
.usage-flow-img3{
    width: 280px;
}
.usage-flow-img4{
    width: 283px;
} */

/* ============================================================
   Hero banner animations
   ============================================================ */

.google-map-page .gm-section-one-inner-right .banner-right-img > img:first-child { width: 100%; height: auto; display: block;}

@keyframes gm_slide_in {
    0% { opacity: 0; transform: translateX(70px);}
    100% { opacity: 1; transform: translateX(0);}
}

.google-map-page .slideTopRight .slImage.active { animation: gm_slide_in 0.45s ease-out;}
.google-map-page .pointerArrow { transition: right 0.35s ease, top 0.35s ease;}

@keyframes gm_tap_press {
    0% { transform: scale(1)    rotate(0deg)   translateY(0);}
    45% { transform: scale(0.78) rotate(-7deg)  translateY(7px);}
    100% { transform: scale(1)    rotate(0deg)   translateY(0);}
}

.google-map-page .pointerArrow.tap img { animation: gm_tap_press 0.48s ease-in-out;}
/**********************Responsive Google Map Page********************************/

@media screen and (min-width: 1641px) and (max-width: 1800px) {  
    .google-map-page .pointerArrow { width: 70px; right: calc(50% - 20px); top: calc(50% - 10px);}
    .google-map-page .banner-right-img.pointer-index-2 + .pointerArrow { right: calc(50% - 20px);}
    .google-map-page .banner-right-img.pointer-index-3 + .pointerArrow { right: calc(51% - 20px); top: calc(64% - 5px);}
}

@media screen and (min-width: 1441px) and (max-width: 1640px) {    
    .google-map-page .pointerArrow { width: 48px; right: calc(50% - 20px); top: calc(50% - 10px);}
    .google-map-page .banner-right-img.pointer-index-2 + .pointerArrow { right: calc(50% - 20px);}
    .google-map-page .banner-right-img.pointer-index-3 + .pointerArrow { right: calc(50% - 20px); top: calc(63% - 5px);}
    }

@media all and (max-width:1440px){
    .google-map-page .container { padding: 0 50px;}
    .container { max-width: 1150px !important;}
    .google-map-page .gm-section-one .gm-section-one-inner .gm-section-one-inner-left h2 { font-size: 50px;}
    .google-map-page .gm-section-one .gm-section-one-inner .gm-section-one-inner-left p { font-size: 20px; line-height: 1.8;}
    .google-map-page h2 { font-size: 50px;}
    .google-map-page h2 span { font-size: 25px; padding-bottom: 16px; padding-top: 20px;}
    .google-map-page .faq-list li { font-size: 26px;}
    .google-map-page .gm-section-three h2 { line-height: 50px;}
    .google-map-page .gm-section-three img.border-img { margin-top: -44px;}
    .google-map-page .gm-section-three .gm-section-three-box .box-left img.num-count { max-width: 136px;}
    .google-map-page .gm-section-three .gm-section-three-box { font-size: 26px;}
    .google-map-page .gm-section-four .gm-section-four-btn { font-size: 26px; padding: 31px 49px; margin-top: 49px;}
    .gm-meet-family-section .base-btn.btn-round-arrow span { font-size: 36px;}
    .gm-meet-family-section .base-btn.btn-round-arrow { font-size: 22px; min-height: 100px;}
    .google-map-page .gm-section-five { font-size: 26px;}
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box h3 { font-size: 40px;}
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box ul.cs-box-list { margin: -18px 0 0 85px;}
    .google-map-page .gm-section-nine .usage-flow-list { gap: 40px;}  
    /* .google-map-page .gm-section-nine .usage-flow-list .uf-list-box .uf-list-box-img {
        width: 245px;
    } */
    .google-map-page .gm-section-nine { font-size: 26px; padding-top: 79px; padding-bottom: 72px;}
    .google-map-page .gm-section-nine .usage-flow-list .uf-list-box .uf-list-box-img:after { width: 20px; height: 32px; right: -32px;}
    .google-map-page .gm-section-ten .gm-section-ten-inner { gap: 150px;}
    /*.google-map-page .gm-section-five .gm-search-steps .step-box:first-child:after {
        right: -27px;
    }*/
    .google-map-page .gm-section-ten { font-size: 22px;}
    .section-eleven-imgText { font-size: 13px;}
}

@media screen and (min-width: 1281px) and (max-width: 1440px) {    
    .google-map-page .pointerArrow { width: 40px; right: calc(50% - 20px); top: calc(50% - 10px);}
    .google-map-page .banner-right-img.pointer-index-2 + .pointerArrow { right: calc(50% - 20px);}
    .google-map-page .banner-right-img.pointer-index-3 + .pointerArrow { right: calc(50% - 20px); top: calc(63% - 5px);}
    }

@media screen and (min-width: 1281px) and (max-width: 1440px) {
    .google-map-page .gm-section-seven .case-study-list .case-study-content { width: 300px;}
    .google-map-page .gm-section-ten .gm-section-ten-inner { flex-wrap: unset;}
    .graph { padding: 20px 40px 2px; width: 90%;}
    .bar.active span { font-size: 40px; top: -48px;}
}

@media screen and (min-width: 1025px) and (max-width: 1280px) {    
    .google-map-page .pointerArrow { width: 35px; right: calc(50% - 20px); top: calc(50% - 10px);}
    .google-map-page .banner-right-img.pointer-index-2 + .pointerArrow { right: calc(50% - 20px);}
    .google-map-page .banner-right-img.pointer-index-3 + .pointerArrow { right: calc(50% - 20px); top: calc(63% - 5px);}
    .graph { padding: 20px 40px 2px; width: 84%;}
    .bar.active span { font-size: 40px; top: -48px;}
}

@media all and (max-width:1280px){
    .google-map-page .faq-list li, .google-map-page .gm-section-three .gm-section-three-box, .google-map-page .gm-section-four .gm-section-four-btn, .google-map-page .gm-section-five, .google-map-page .gm-section-nine { font-size: 24px;}
    .google-map-page .gm-section-one .gm-section-one-inner .gm-section-one-inner-left h2 { font-size: 42px;}
    .google-map-page h2 { font-size: 42px;}
    /* .google-map-page .gm-section-nine .usage-flow-list .uf-list-box .uf-list-box-img {
        width: 225px;
    } */
    .google-map-page .gm-section-ten .gm-section-ten-inner { gap: 100px;}
    .google-map-page .gm-section-ten .gm-section-ten-inner img { height: 230px;}
    .google-map-page img.border-img { margin-top: -30px;}
    .graph-img img { object-fit: contain; width: 100%; height: 100%;}
    .graph-img { height: 250px;}
    .google-map-page .gm-section-seven .case-study-list .case-study-content { width: 259px; height: 198px;}
    .google-map-page .gm-section-seven .case-study-list .case-study-content:before { background-size: cover;}
    .google-map-page .gm-section-seven .case-study-list li img { top: -60px; right: -38px; width: 130px;}
    /* .google-map-page .faq-list li {
        width: 250px;
        height: 161px;
    } */
}

@media all and (max-width:1199px){
    /* .google-map-page .faq-list {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        align-items: center;
        justify-content: center;
    } */
    .google-map-page .gm-section-three .gm-section-three-box .box-left img.num-count { max-width: 106px;}
    .google-map-page .faq-list li, .google-map-page .gm-section-three .gm-section-three-box, .google-map-page .gm-section-four .gm-section-four-btn, .google-map-page .gm-section-five, .google-map-page .gm-section-nine { font-size: 22px;}
    .google-map-page .gm-section-five .gm-search-steps { padding: 0; gap: 40px;}
}

@media screen and (min-width: 767px) and (max-width: 1024px) {
    .google-map-page .gm-section-nine .usage-flow-list { gap: 40px; flex-wrap: wrap; display: grid; grid-template-columns: 1fr 1fr;}  
    .google-map-page .gm-section-nine .usage-flow-list>.uf-list-box:nth-child(2) .uf-list-box-img:after { display: none;} 
    .google-map-page .pointerArrow { width: 25px; right: calc(50% - 20px); top: calc(50% - 10px);}
    .google-map-page .banner-right-img.pointer-index-2 + .pointerArrow { right: calc(50% - 20px);}
    .google-map-page .banner-right-img.pointer-index-3 + .pointerArrow { right: calc(50% - 20px); top: calc(63% - 5px);}
    .graph { padding: 20px 30px 2px; width: 90%;}
    .bar span { font-size: 23px; top: -40px;}
    .bar.active span { font-size: 26px; top: -42px;}
}

@media all and (max-width:1024px){
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box { gap: 30px;}
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-left, .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-right { width: 45%;}
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box ul.cs-box-list { margin: -68px 0 0 85px;}
    .google-map-page .gm-section-eight { padding-bottom: 0px;}
    /* .google-map-page .gm-section-nine .usage-flow-list .uf-list-box .uf-list-box-img {
        width: 175px;
    } */
    .google-map-page .gm-section-nine .usage-flow-list .uf-list-box .uf-list-box-img:after { width: 15px; height: 24px; right: -30px;}
    .google-map-page .gm-section-ten .gm-section-ten-inner { gap: 50px;}
}

@media all and (min-width:992px){
    .google-map-page .border-imgMob { display: none;}
}

@media all and (max-width: 991px){
    .google-map-page .border-imgMob { display: block; width: 100%; margin-top: -35px;} 
    .google-map-page img.border-img { display: none;}
    .google-map-page .gm-section-five .gm-search-steps .step-box:after { width: 25px;}
    .google-map-page .faq-list li, .google-map-page .gm-section-three .gm-section-three-box, .google-map-page .gm-section-four .gm-section-four-btn, .google-map-page .gm-section-five, .google-map-page .gm-section-nine { font-size: 20px;}
    .google-map-page .gm-section-one .gm-section-one-inner .gm-section-one-inner-left h2 { font-size: 36px;}
    .google-map-page h2 { font-size: 36px;}
    .google-map-page .gm-section-one .gm-section-one-inner .gm-section-one-inner-left p { font-size: 16px;}
    .google-map-page .gm-section-three .gm-section-three-box-three .container img.artboard-img { display: none;}
    .google-map-page .gm-section-one .gm-section-one-inner-right .reserve-with-google-img { width: 200px;}
}

@media all and (max-width:767px){
    .google-map-page .pc_only { display: none;}
    .google-map-page .sp_only { display: block;}
    .google-map-page .gm-medical-badge { font-size: 14px; width: 130px; height: 30px; border-width: 1px; border-radius: 30px;}
    .google-map-page .border-imgMob { margin-top: -20px;}
    .google-map-page .gm-section-one-inner-right { margin-top: 50px; margin-left: -50px; padding-bottom: 60px; margin-right: -50px;}
    .google-map-page .pointerArrow { width: 40px; right: calc(50% - 20px); top: calc(50% - 34px);}
    .google-map-page .banner-right-img.pointer-index-2 + .pointerArrow { right: calc(50% - 20px);}
    .google-map-page .banner-right-img.pointer-index-3 + .pointerArrow { right: calc(50% - 20px); top: calc(63% - 35px);}
    .google-map-page .gm-section-one-inner-right .banner-right-img img.banner-right-bg {}
    br.mobile-only { display: block;}
    .google-map-page .gm-section-one-inner-right .banner-right-img img:nth-child(1) { width: 100%;}
    .google-map-page img.artboard-img { display: none;}
    .google-map-page .achievement .mark { flex: 0 1 216px;}
    .google-map-page .achievement .mark1 > span:nth-child(1),
    .google-map-page .achievement .mark1 > span:nth-child(3) { font-size: 13px;}
    .google-map-page .achievement .mark1 > span:nth-child(2) { font-size: 42px;}
    .google-map-page .achievement .mark1 > span:nth-child(2) small { font-size: 15px;}
    .google-map-page .achievement .gmoMark { width: 60px;}
    .google-map-page .achievement .gmoMark img { width: 100%; height: auto;}
    .google-map-page .gm-section-three .gm-section-three-box { display: block;}
    .google-map-page .gm-section-one .gm-section-one-inner { display: block;}
    .google-map-page .gm-section-three .gm-section-three-box .box-left img.num-count { max-width: 75px;}
    .google-map-page .gm-section-one .gm-section-one-inner .gm-section-one-inner-left h2 { margin-top: 8px; margin-bottom: 8px;}
    .google-map-page .gm-section-one .gm-section-one-inner .gm-section-one-inner-left h2 { font-size: 38px;}
    .google-map-page .gm-section-one .gm-section-one-inner .gm-section-one-inner-left p { font-size: 16px; line-height: 20px;}
    .google-map-page .gm-section-one .gm-section-one-inner-right .reserve-with-google-img { bottom: 0;}
    .google-map-page .gm-section-two { padding-top: 45px;}
    .dropdown-menu { display: block; text-align: left; margin-bottom: 30px;}
    .dropdown-menu .dropdown-menu-list { display: none;}
    .dropdown-menu { background-color: #ecf5fe; width: 100%; display: block; padding: 18px 25px; border-radius: 100px; font-size: 16px; position: relative; box-shadow: 0px 2px 3px rgba(0, 0, 0, .1);}
    .dropdown-menu .main { position: relative; padding-right: 21px;}
    .dropdown-menu .main:after { content: ''; background-image: url(../images/google-map-img/down-arrow.svg); position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 12px; height: 6px;}
    .dropdown-menu .dropdown-menu-list { position: absolute; background-color: #ecf5fe; width: 95%; padding: 0; margin: 0; left: 50%; border-radius: 10px; margin-top: 18px; transform: translate(-50%); padding: 20px; top: 36px; z-index: 1;}
    .dropdown-menu .dropdown-menu-list li { padding: 5px 0;}
    .dropdown-menu.show .dropdown-menu-list { display: block;}
    .google-map-page .gm-section-three .gm-section-three-box .box-right { margin-top: 30px;}
    img.gm-section-four-mobile-img { display: block; max-width: 320px; margin: 0 auto;}
    img.gm-section-four-img { display: none;}
    .google-map-page .faq-list { grid-template-columns: 1fr; max-width: 350px;}
    /*.google-map-page .gm-section-three {
        background-image: url(../images/google-map-img/gm-section-four-bg.webp);
        background-repeat: repeat-y;
        background-size: cover;
    }*/
    .google-map-page .gm-section-three img.box-right-img { height: auto;}
    .gm-search-steps.mobile { display: block !important;}
    .google-map-page .gm-section-five .gm-search-steps.desktop { display: none;}
    .gm-meet-family-section .mfs-btn-area { display: block;}
    .google-map-page .gm-section-six .graph-section { display: block;}
    .google-map-page .gm-section-nine .usage-flow-list { flex-wrap: wrap; gap: 60px;}
    .google-map-page .gm-section-nine .usage-flow-list .uf-list-box { flex: unset;}
    .google-map-page .gm-section-nine .usage-flow-list .uf-list-box .uf-list-box-img:after { transform: rotate(90deg); bottom: -40px; top: inherit; right: calc(50% - 8px); background-position: center; background-size: contain; width: 24px; height: 40px;}
    .graph { padding: 20px 40px 2px; max-width: 400px;}
    .bar span { font-size: 24px; top: -40px;}
    .bar.active span { font-size: 28px; top: -42px;}
    .mobile.owl-carousel .owl-nav .owl-next { background-image: url(../images/google-map-img/next-arrow.svg); background-color: transparent; text-indent: -9999px; background-repeat: no-repeat; background-size: contain; width: 16px; height: 27px; position: absolute; top: 50%; margin-top: -13.5px; right: 15px;}
    .mobile.owl-carousel .owl-nav .owl-prev { background-image: url('../images/google-map-img/next-arrow.svg'); background-color: transparent; text-indent: -9999px; background-repeat: no-repeat; background-size: contain; width: 16px; height: 27px; position: absolute; top: 50%; margin-top: -13.5px; left: 15px; transform: rotate(180deg);}
    .mobile.owl-carousel .owl-nav .owl-next:hover, .mobile.owl-carousel .owl-nav .owl-prev:hover { background-color: transparent;}
    .mobile.owl-carousel .owl-item img { width: auto;}
    .gmsearchStepMob { position: relative; max-width: 70%; width: 100%; margin: 0 auto;}
    .google-map-page .gm-section-five .gm-search-steps.mobile .step-box { max-width: 100%;}
    .gm-search-steps.mobile .owl-nav { position: absolute; top: 50%; width: 90vw; left: 50%; transform: translate(-50%, -50%);}
}

@media all and (max-width:650px){
    .google-map-page .gm-section-two .faq-img { max-width: 100%;}
}

@media all and (max-width:650px){
    .google-map-page .container { padding: 0 20px;}
    /* .graph-section .graph{
        gap: 12px;
        padding: 20px 20px 2px;
        min-height: 180px;
    }
    .graph .bar span{
        font-size: 20px;
        top: -40px;
    } */
    .graph { padding: 20px 40px 2px; max-width: 400px; min-height: 180px;}
    .bar span { font-size: 24px; top: -40px;}
    .bar.active span { font-size: 28px; top: -42px;}
    .dropdown-menu { display: block; text-align: left;}
    img.gm-section-four-mobile-img { max-width: 100%;}
    .dropdown-menu .dropdown-menu-list li { font-size: 12px;}
    .dropdown-menu .dropdown-menu-list { padding: 8px;}
    .google-map-page h2 span { font-size: 16px;}
    .google-map-page h2 { font-size: 30px;}
    .google-map-page .gm-section-three .gm-section-three-box-one { padding-top: 0;}
    .google-map-page h2 span { padding-bottom: 14px;}
    .google-map-page .gm-section-six h2 label { margin-bottom: 12px;}
    img.location-icon { width: 64px;}
    .google-map-page .gm-section-one-inner-right { margin-top: 20px; margin-left: -20px; margin-right: -20px;}
    .google-map-page .gm-section-one .gm-section-one-inner .gm-section-one-inner-left h2 { font-size: 35px;}
    .google-map-page span.arrow-box { padding: 5px 0 10px;}
    .google-map-page span.arrow-box .arrow-img { width: 21px;}
    .google-map-page .gm-section-three img.border-img { margin-top: 32px;}
    .google-map-page .gm-section-three .gm-section-three-box .box-left img.num-count { max-width: 48px;}
    .google-map-page .gm-section-three .gm-section-three-box-two { padding-top: 26px;}
    .google-map-page .gm-section-three .gm-section-three-box .box-left h2 { margin-bottom: 5px;}
    .google-map-page .gm-section-three .gm-section-three-box .box-left img.num-count { margin-bottom: 10px;}
    .google-map-page .gm-section-three .gm-section-three-box p { line-height: 20px; font-size: 15px;}
    /* .google-map-page .gm-section-three .gm-section-three-box p br{display: none;} */
    .google-map-page .gm-section-three .gm-section-three-box p span { display: block; padding-top: 14px; font-size: 13px;} 
    .google-map-page .gm-section-three .gm-section-three-box p span br { display: none;}
    .google-map-page .gm-section-three .gm-section-three-box-three { padding-top: 0; background: transparent; padding-bottom: 0px;}
    .google-map-page .gm-section-three h2 { line-height: 37px;}
    .google-map-page .gm-section-three .gm-section-three-box-four { padding-top: 25px; padding-bottom: 68px;}
    img.arrow-img-two { width: 21px;}
    .google-map-page span.arrow-box-two { top: -58px;}
    .google-map-page .gm-section-four { padding-top: 67px;}
    .google-map-page .gm-section-four .gm-section-four-btn { padding: 21px 29px;}
    .google-map-page .gm-section-four { font-size: 18px;}
    .google-map-page .gm-section-four p { line-height: 26px;}
    .gm-meet-family-section h3 { font-size: 21px; margin-bottom: 20px;}
    .graph-section h3 { font-size: 24px;}
    .google-map-page .faq-list li { font-size: 18px;}
    .gm-meet-family-section { padding-top: 35px;}
    .gm-meet-family-section .mfs-btn-area .left span, .gm-meet-family-section .mfs-btn-area .right span { font-size: 16px;}
    .gm-meet-family-section .mfs-btn-area .left span img, .gm-meet-family-section .mfs-btn-area .right span img { height: 25px;}
    .gm-meet-family-section .base-btn.btn-round-arrow { margin-bottom: 20px; min-height: 75px; margin-top: 20px; font-size: 16px; padding-top: 4px;}
    .gm-meet-family-section .mfs-btn-area { margin-bottom: 5px;}
    .google-map-page .gm-section-five { padding-top: 27px;}
    .google-map-page .gm-section-five p { line-height: 28px; font-size: 16px;}
    .google-map-page .gm-section-five { padding-bottom: 40px;}
    .google-map-page img.border-img { margin-top: 10px;}
    .google-map-page h2 span { padding-top: 4px;}
    .graph-img { height: 180px; margin-top: 20px; margin-bottom: 20px;}
    .google-map-page .gm-section-six .graph-section .right { margin-top: 40px;}
    .google-map-page .gm-section-seven { padding-top: 27px;}
    .google-map-page .gm-section-six { padding-bottom: 40px;}
    .google-map-page .gm-section-seven h2 { padding-top: 6px;}
    .google-map-page .gm-section-seven .case-study-list { margin-top: 20px; gap: 0;}
    .google-map-page .gm-section-eight { margin: 20px 0;}
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box { display: block;}
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-left, .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-right { width: 100%; margin-bottom: 30px;}
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box ul.cs-box-list { margin: 0 24px;}
    .google-map-page .gm-section-nine { padding-top: 29px; padding-bottom: 32px;}
    .google-map-page .gm-section-nine .usage-flow-list { gap: 58px; margin-top: 29px;}
    /* .google-map-page .gm-section-nine .usage-flow-list .uf-list-box .uf-list-box-img:after {
        transform: rotate(90deg);
        position: absolute;
        left: 46%;
        top: 110%;
    } */
    .google-map-page .gm-section-nine .usage-flow-list .uf-list-box .uf-list-box-img { width: 100%;}
    .google-map-page .gm-section-ten .gm-section-ten-inner .left img { width: 160px; height: auto; margin-bottom: 40px;}
    .google-map-page .gm-section-ten { font-size: 15px; line-height: 21px;}
    .google-map-page .gm-section-ten .gm-section-ten-inner .right img { width: 100px; height: auto; margin-bottom: 40px;}
    .google-map-page .gm-section-ten { padding-bottom: 29px;}
    .google-map-page .gm-section-eleven { padding-top: 0; padding-bottom: 29px;}
    /*.google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box h3 br {
        display: none;
    }  */  
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box h3 { font-size: 30px;}
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-right { padding-top: 22px;}
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-left, .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-right { height: 132px;}
    .uf-list-box h3 { font-weight: 600; font-size: 24px;}
    .uf-list-box-img.mobile { display: block;}
    .uf-list-box-img.desktop { display: none;}
    .google-map-page .gm-section-nine .usage-flow-list .uf-list-box h3 { margin-bottom: 10px;}
    .gm-meet-family-section .base-btn.btn-round-arrow svg { right: 18px; width: 18px; height: 18px;}
    .mobile.owl-carousel .owl-nav .owl-next { background-image: url(../images/google-map-img/next-arrow.svg); background-color: transparent; text-indent: -9999px; background-repeat: no-repeat; background-size: contain; width: 16px; height: 27px; position: absolute; top: 50%; margin-top: -13.5px; right: 15px;}
    .mobile.owl-carousel .owl-nav .owl-prev { background-image: url('../images/google-map-img/next-arrow.svg'); background-color: transparent; text-indent: -9999px; background-repeat: no-repeat; background-size: contain; width: 16px; height: 27px; position: absolute; top: 50%; margin-top: -13.5px; left: 15px; transform: rotate(180deg);}
    .mobile.owl-carousel .owl-nav .owl-next:hover, .mobile.owl-carousel .owl-nav .owl-prev:hover { background-color: transparent;}
    .gm-section-eight .google-map-page h2 { font-size: 30px;}
    .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-left h3, .google-map-page .gm-section-eight .gm-section-eight-inner .case-study-box .cs-box-right h3 { padding: 0 50px; line-height: 38px;}
    ul.cs-box-list { font-size: 13px;}
    .gm-meet-family-section .call-phone { width: 20px;}
    .gm-meet-family-section h5 { font-size: 17px;}
    .gm-meet-family-section address small,
    .gm-meet-family-section address { font-size: 10px;}
    }

@media only screen and (min-width: 768px) {
    .google-map-page .container.inq { max-width: 1050px;}
}

@media all and (max-width:520px){
    .google-map-page .border-imgMob { margin-top: 0px;} 
    .google-map-page .gm-section-one-inner-right .banner-right-img .slideTopRight { width: 270px;}
    .google-map-page .pointerArrow { width: 30px;}
}

@media all and (max-width:480px){
    .google-map-page .border-imgMob { margin-top: 10px; max-width: inherit; margin-left: -10px; width: calc(100% + 20px);} 
    .graph { padding: 20px 18px 2px; min-height: 210px;}
    .bar span { font-size: 20px;}
    .bar.active span { font-size: 22px; top: -38px;}
}

@media all and (max-width:380px){
    .graph { gap: 15px;}
}

/********************************************************************************/
/*responsive.css*/
/* @media screen and (min-width: 1421px) and (max-width: 1600px) { 
    header nav{padding-left: 20px; padding-right: 20px;}
} */

@media screen and (min-width: 1201px) and (max-width: 1420px) { 
    /*.gmoGroupHeader_pickup a{font-size: 11px;}
    .gmoGroupHeader_pickup_ico-blue, .gmoGroupHeader_pickup_ico-red{font-size: 9px;}*/
    .navigationWrap { gap: 15px;}
    header nav { padding-left:20px; padding-right: 20px;}
    .navLeft img { width: 220px;}
    ul.main-nav > li > a { font-size: 12px;}
    .header_contact { gap: 6px;}
    .header_contact .header_contact__tel a { font-size: 19px;}
    .header_contact .header_contact__tel small { font-size: 10px;}
    /* .header_contact .radius_btn{font-size: 12px; height: 42px; padding: 12px 16px;} */
    .base-btn { width: 340px; font-size: 15px;}
    .base-btn2 { width: 220px; height: 52px;}
    .meet_family_section .base-btn,
    .meet_family_section .base-btn2 { font-size: 16px;}
    .title { font-size: 32px;}
    .achievementList { gap: 10px;}
    .achievementList img { transform: scale(0.9);}
    .choose_usList h2 { font-size: 38px; padding-bottom: 35px;}
    .choose_usList p { font-size: 16px;}
    .supporDetail p { font-size: 15px;}
    .supporList { gap: 25px 30px;}
    .supporList_ftr { gap: 10px 14px;}
    .supporList a , .supporList_ftr a { font-size: 15px; height: 70px;}
    .supporList a svg , .supporList_ftr a svg { max-height: 55px;}
    .meet_family_section h3 { font-size: 20px;}
    .contact_label { font-size: 15px;}
    .meet_family_section h5 { font-size: 17px;}
    .meet_family_section h5 img { width: 18px;}
    .meet_family_section address { font-size: 11px;}
    .meet_family_section address small { font-size: 10px;}
    .seminarSlidDetail h4 { font-size: 14px;}
    .seminarSlidDetail .slideBtn a { font-size: 11px;}
    .track-record-section .base-btn2.Peacock,
    .seminar-sliderBtn .base-btn2.Peacock { font-size: 15px;}
    .clinic_success { gap: 40px;}
    .clinic_success h3 { font-size: 20px;}
    .clinicTags a { /*font-size: 13px;*/}
    .track-record-section .title { margin-bottom: 35px;}
    .clinic_successItemSub h5 { font-size: 14px;}
    .Fee_structure { margin-left: -20px; margin-right: -20px;}
    .Fee_structure p { font-size: 15px;}
    .Fee_structure h5 { font-size: 13px;}
    .clinic_successItemSub p { font-size: 11px;}
    .fee_price { font-size: 58px;}
    .fee_price small { font-size: 20px;}
    .customer_section_header p { font-size: 15px; padding-top: 50px;}
    .customer_section_header img { transform: scale(0.95);}
    .customer_section .title { margin-bottom: 50px;}
    .customer_section { padding-top: 60px; padding-bottom:120px;}
    .support_systems { gap: 40px;}
    .support_systemsItem { padding: 30px 30px 15px 30px;}
    .support_systems p { font-size: 14px;}
    .support_systems img { transform: scale(0.95);}
    .introduction_section .title { padding-bottom: 50px;}
    .news_section { padding-top: 60px; padding-bottom: 35px;}
    .newsList .newsitem p { font-size: 14px;}
    .newsList .newsMeta { font-size: 11px;}
    .news_section .base-btn2 { font-size: 13px;}
    .key_success { margin-right: -15px;}
    footer { padding-top: 50px;}
    .back-toTop a { font-size: 16px;}
    .footCols a { font-size: 11px;}
    .RevolutionList { font-size: 13px;}
		.RevolutionList a { text-decoration: none; color: #333;}
    footer .gmoLogo img { width: 280px;}
    .certificate-logo img { width: 84px;}
    footer p { font-size: 11px;}
    .gmoFooterLogo,
    .globalLogo { max-width: 200px;}
    .servicesList { gap: 20px;}
    .servicesList img { /*width: 120px;*/}
    .gmo_modal h4 { font-size: 14px;}
    .gmo_modal p { font-size: 11px;}
    .gmp_group_title { font-size: 13px;}
    .footer_bottom img { transform: scale(0.9);}
    .footer_bottom .gmo_row>.gmo_col:first-child img { transform-origin:left;}
}

@media only screen and (max-width : 1240px){
    .Fee_structure { margin-left: 0; margin-right: 0;}
}

@media screen and (min-width: 992px) and (max-width: 1200px) { 
    /*.gmoGroupHeader_pickup a{font-size: 10px;}
    .gmoGroupHeader_pickup_ico-blue, .gmoGroupHeader_pickup_ico-red{font-size: 8px;}*/
    .navigationWrap { gap: 15px;}
    header nav { padding: 18px 20px;}
    .header_contact .header_contact__tel { display: none;}
    .navLeft img { width: 220px;}
    .meet_family_section .base-btn2,
    .base-btn { width: 330px;}
    .bannerImg { max-width: 95%; margin-left: auto;}
    .achievement_section { padding: 30px 30px;}
    .achievementList { gap: 10px;}
    .achievementList img { transform: scale(0.95);}
    .contracted-accountsImg h3 { font-size: 24px;}
    .contracted-accountsImg .contractedPrice { font-size: 115px;}
    .contracted-accountsImg h2.title { font-size: 35px;}
    .customer_section_header img { transform: scale(0.9);}
    .choose_usList h2 { font-size: 36px;}
    .choose_usList p { font-size: 15px;}
}

@media only screen and (max-width : 1200px){
 .key_success { margin-right: -10px;}
 .supporList a , .supporList_ftr a { height: 68px;}
 .supporList a svg , .supporList_ftr a svg { max-height: 52px;}
 .supporList , .supporList_ftr { gap: 25px 30px;}
 .track-record-section .title { margin-bottom: 35px;}
 .clinic_success { gap: 32px;}
 .Fee_structure .clinic_success { gap: 50px;}
 .clinicTags a { padding: 9px 10px;}
 .base-btn2 { width: 220px;}
 .track-record-section .base-btn2.Peacock { font-size: 14px;}
 .meet_family_section .base-btn,
.meet_family_section .base-btn2 { font-size: 16px;}
 .management_section { padding-top: 104px; padding-bottom: 68px;}
 .seminar-sliderWrap { margin-bottom: 70px;}
 .Fee_structure { margin-top: 144px; padding: 40px;}
 .meet_family_section .base-btn.btn-gradient { width: 580px;}
 .meet_family_section h5 { font-size: 17px;}
 .meet_family_section h5 img { width: 18px;}
 .meet_family_section address { font-size: 11px;}
 .meet_family_section address small { font-size: 10px;}
 .Fee_structure h5 { font-size: 12px;}
 .fee_price { font-size: 54px;}
 .fee_price small { font-size: 18px;}
 .Fee_structure p { font-size: 14px;}
 .gmo_modal h4 { font-size: 13px;}
 .gmo_modal p { font-size: 10px;}
 .meet_family_section .base-btn2,
 .meet_family_section .base-btn { width: 270px;}
 .seminar-sliderBg { bottom: 40px;}
 .seminar-sliderBtn { bottom: 16px;}
 .seminar-sliderWrap .swiper-button-next, .seminar-sliderWrap .swiper-button-prev { width: 80px; height: 80px; margin-top: 30px;}
 .seminar-sliderBtn .base-btn2.Peacock { font-size: 16px; height: 56px; width: 235px;}
 .customer_section { padding: 40px 20px 80px 20px;}
 .introduction_section .title { padding-bottom: 35px;}
 .customer_section .title { margin-bottom: 35px;}
 .support_systems { gap: 58px;}
 .support_systemsItem { padding: 33px 40px 16px 40px;}
 .support_systems p { font-size: 13px;}
 .supportBtn .base-btn2.Peacock { font-size: 14px;}
 .introduction_section { padding: 70px 20px 30px 20px;}
 .title_middle_border { font-size: 15px;}
 .vision_section p { font-size: 14px; padding:20px 0 40px 0 ;}
 .news_section { padding-top: 60px;}
.news_section .base-btn2 { font-size: 14px;}
.news_section .gmo_row { gap: 50px;}
.key_success h4 { font-size: 14px;}
.key_success h3 { font-size: 18px;}
footer { padding-top: 50px;}
.back-toTop a { font-size: 15px;}
.footCols a { font-size: 11px;}
.RevolutionList { font-size: 12px; gap: 25px; padding: 25px 0;}
footer .gmoLogo img { width: 250px;}
.certificate-logo img { width: 90px;}
.servicesList { gap: 10px;}
/*.servicesList img{width: 100% !important;}*/
.footer_bottom img { transform: scale(0.9); transform-origin: left;}
/*.gmoGroupFooter_submenu dl dd a{font-size: 14px;}
.gmp_group_title{font-size: 12px;}
.footer_bottom .gmo_row>.gmo_col:last-child img{ transform-origin: right;}*/
}

@media only screen and (max-width : 1100px){
    .mobileMenuHead { display: flex;}
    .navigationWrap { display: none;}
}

@media only screen and (max-width : 991px){
 header nav { padding: 15px 20px;}
.headerTop { display: none;}    
.footer_bottom { display: none;}
.mobileFootBottomRight { padding: 15px;}
/*.gmoGroupHeader_pickup{flex-direction: column; align-items: flex-start; gap: 12px;}
.mobileFootBottomLeft{padding: 10px; border-bottom: 1px solid #e6e6e6; display: flex; justify-content: space-between;}
.gmoGroupHeader_sustainable,
.gmoGroupHeader_gmologo{right: inherit; left: 0;}
.gmoGroupHeader_sustainable>a,
.gmoGroupHeader_gmologo>a{padding-left: 5px;}
.mobileFootBottom .gmoGroupHeader_logoWrap{position: relative;}
.gmoGroupHeader_pickup_ico-blue, .gmoGroupHeader_pickup_ico-red{font-size: 8px;}
.gmoGroupHeader_pickup a{font-size: 10px;}
.achievement_sectionWrap .container{padding-left: 15px; padding-right: 15px;}
.vision_section .gmo_row{grid-template-columns: 1fr;}
/* .meet_family_section .base-btn2{height: 60px;} */
.contracted-accountsImg h3 { font-size: 22px;}
.contracted-accountsImg .contractedPrice { font-size: 100px;}
.contracted-accountsImg h2.title { font-size: 34px; padding-bottom: 10px;}
/* .fee_structureBg,
.Fee_structure{box-shadow: none;} */
.Fee_structure { box-shadow: hsl(216deg 16% 70% / 50%) 0 0 20px; background-color: #F2F4F8; border-radius: 8px;}
.fee_structureBg { box-shadow: none;}
.key_success h4 { font-size: 14px;}
.key_success h3 { font-size: 18px;}
}

@media screen and (min-width: 768px) and (max-width: 991px) {
.banner_header h1 { font-size: 34px;}  
.bannerLargHeading { font-size: 55px;}
.banner_header h3 { font-size: 18px;}
.banner_header .good-design { width: 78px; left: calc(48% - 39px);}
.bannerImg { max-width: 90%; margin-left: auto;}
.base-btn { width: 260px;}
.choose_usList h2 { font-size: 32px; padding-bottom: 35px;}
.choose_usList p { font-size: 14px;}
.supporList , .supporList_ftr { grid-template-columns: 1fr 1fr 1fr;}
.customer_section_header { grid-template-columns: 48% 52%;}
.support_systemsItem { padding: 20px 15px 15px 15px;}
.support_systems { gap: 20px;}
.support_systems p { font-size: 12px;}
.support_systems img { transform: scale(0.8);}
.clinic_success { grid-template-columns: repeat(auto-fit, calc(50% - 40px));}
.introduction_section .step-wrapper.hide_ms { display: none;}
.introduction_section .step-wrapper { max-width: 450px; grid-template-columns: 1fr; gap: 24px;}
.step-item .step-indicator { display: none;}
    .step-wrapper .step-item p { position: absolute; left: 0; top: 52%; text-align: left; line-height: 1.25; padding-top: 0;}
}

@media only screen and (max-width : 868px){
    .seminar-sliderBg { left: 20px; width: auto; right: 20px;}
    .seminar-sliderWrap .container { padding-left: 20px; padding-right: 20px;}
    .seminar-sliderBtn { right: 42px;}
}

@media only screen and (max-width : 767px){
.hide_ms { display: none;}    
.banner_header { padding-top: 27px;}    
.banner_header .gmo_row { grid-template-columns: 1fr;}
.banner_header h1 { font-size: 30px;}    
.bannerLargHeading { font-size: 60px;}
.banner_header h3 { font-size: 18px; padding: 0; line-height: 1.2; font-family: "noto_sans_cjk_jpmedium", sans-serif;}
.banner_header .good-design { width: 78px; left: inherit; bottom: 150px; right: 50px;}
.bannerImg { max-width: 70%; margin-left: auto; margin-right: auto;}
.base-btn { width: 340px;}
.banner_header .base-btnWrap { display: none;}
.banner_header .mobile-base-btnWrap { position: absolute; bottom: 70px; left: 30px; right: 30px;}
.banner_header .mobile-base-btnWrap .base-btn { border-radius: 0; font-size: 18px; -webkit-border-top-left-radius: 36px; -webkit-border-top-right-radius: 36px; -moz-border-radius-topleft: 36px; -moz-border-radius-topright: 36px; border-top-left-radius: 36px; border-top-right-radius: 36px;}
.banner_header .mobile-base-btnWrap .base-btn { background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); color: white; margin: 0 auto; border: none;}
.banner_header .base-btn { max-width: 348px; width: 100%; height: 70px;}
.banner_header .base-btn svg path { stroke: #fff;}
.achievementList { grid-template-columns: repeat(2, 1fr); justify-content: center; gap: 14px;}
.achievementList>.achievementListItem:nth-child(2) { grid-column: 1 / -1;}
.achievementList>.achievementListItem:nth-child(2) img { max-width: 300px;}
.achievementList img { max-width: 250px; width: 100%;}
.clinic_success,
.support_systems { grid-template-columns: 1fr;}
.supporList , .supporList_ftr { grid-template-columns: 1fr 1fr 1fr; gap: 15px 15px; margin-bottom: 62px;}
.supporList a svg , .supporList_ftr a svg { max-height: 46px; margin-left: 0;}
.title small { font-size: 18px;}
.choose_usList h2 { font-size: 32px; padding-bottom: 35px;}
.choose_usList p { font-size: 14px;}
.choose_usList { max-width: 500px; width: 100%; margin-left: auto; margin-right: auto; gap: 50px; margin-bottom: 65px;}
.choose_usList .gmo_row { flex-direction: column; align-items: flex-start;}
.customer_section_header { grid-template-columns: 1fr; margin-left: -2px; margin-right: -2px;}
.customer_section_headerItem { max-width: 450px; margin-left: auto; margin-right: auto; width: 100%;}
.news_section .gmo_row { grid-template-columns: 1fr; gap: 100px;}
.meet_family_section { margin-bottom: 15px;}
.meet_family_section h3 { padding-bottom: 20px;}
.meet_family_section .base-btn.btn-gradient { max-width: 560px; width: 100%; margin-bottom: 15px;}
.meet_family_section .base-btn2, .meet_family_section .base-btn { width: 290px;}
.meet_family_section .gmo_row { flex-direction: column; align-items: center; gap: 10px;}
.key_success .gmo_row { flex-direction: column;}
.key_success h4 { font-size: 16px;}
.key_success h3 { font-size: 22px;}
.Fee_structure { padding:58px 25px 60px 25px; margin-left: -3px; margin-right: -3px;}
.track-record-section { padding-bottom: 48px; overflow-x: hidden;}
.introduction_section .title { font-size: 28px;}
.introduction_section .title_middle_border { position: absolute; right: 15px; width: 10px; top: 150px; bottom: 50px; display: flex; align-items: center;}
.introduction_section .title_middle_border .border { position: absolute; top: 0; bottom: 0; background-color: #00546C; width: 1px; left: 3px;}
.title_middle_border:after { content: ""; display: inline-block; border: solid #00546C; position: absolute; left: 0px; bottom: 0px; border-width: 0 1px 1px 0; display: inline-block; padding: 3px; transform: rotate(45deg); -webkit-transform: rotate(45deg);}
.title_middle_border:before { content: ""; display: inline-block; border: solid #00546C; position: absolute; left: 0; top: 0px; border-width:1px 0 0 1px; display: inline-block; padding: 3px; transform: rotate(45deg); -webkit-transform: rotate(45deg);}
.title_middle_border span { background-color: #ffffff; display: inline-block; padding:15px 5px; position: relative; font-family: "noto_sans_cjk_jpmedium", sans-serif; color: #00546C; margin-left: -10px;}
.title_middle_border span b { display: none;}
.title_middle_border span img { min-width: 18px;}
.introduction_sectionWrap { background-color: #f3f4f8; padding-left: 13px; padding-right: 13px; padding-bottom: 120px;}
.introduction_section .step-wrapper { padding-right: 40px;}
.supportBtn { padding-bottom: 50px;}
.s767_block { display: block;}
.logo-slider .owl-carousel .owl-item img { max-height: 45px; width: auto;}
.seminar-sliderWrap .container { max-width: 100%; padding-left: 0px; padding-right: 0px;}
.seminar-sliderBtn { right: 25px;}
.logo-gmo img { max-width: 293px;}
.management_section { padding-bottom: 38px;}
.contact_label { padding-top: 2px;}
.seminarSlidDetail h4 { font-size: 16px;}
.clinic_success { gap: 24px; margin-bottom: 56px;}
.Fee_structure .clinic_success { gap: 32px; margin-bottom: 47px;}
.Fee_structure .clinic_success .clinic_successItem { min-height: 500px;}
.customer_section { padding-top: 0; padding-left: 15px; padding-right: 15px;}
.customer_section .title { font-size: 28px; line-height: 1.35;}
.support_systems { padding-left: 12px; padding-right: 12px; padding-top: 14px;}
/* .aside-form-wrap{display: none !important;} */
.open-form-btn { opacity: 0; pointer-events: none;}
.aside-form-wrap.active, .aside-form-wrap.click-active { width: 100%;}
.vision_section .base-btn2 { /*display: none;*/}
.vision_section { padding: 78px 23px 57px 23px;}
.vision_section p { padding-bottom: 26px;}
.news_section .gmo_row { gap: 128px;}
.newsList { padding-bottom: 33px;}
.newsList .newsitem { padding-top: 15px;}
.newsList .newsitem p a { min-height: 40px;}
.footer_copyright { margin-top: 37px;}
footer { padding-top: 38px;}
footer .gmo_row.space-between { justify-content: center;}
/* footCols等の非表示化はcommon.cssに統合済み */
.introduction_section .step-wrapper { grid-template-columns: 1fr; gap: 28px; max-width: 450px;}
.step-wrapper .step-item .step-indicator { display: none;}
.step-wrapper .step-item:nth-child(even) { padding-top: 0;}
.step-wrapper .step-item p { position: absolute; left: 0; top: 52%; text-align: left; line-height: 1.25; padding-top: 0;}
.introduction_section .step-wrapper.hide_ms { display: none;}
}

@media screen and (min-width: 551px) and (max-width: 767px) {
    .seminar-sliderWrap .container { min-width: 94vw; margin-left: -13vw;}
}

@media screen and (min-width: 481px) and (max-width: 550px) {
    .seminar-sliderWrap .container { min-width: 90vw; margin-left: -18vw;}
}

@media only screen and (max-width : 640px){
.supporList , .supporList_ftr { grid-template-columns: 1fr 1fr;}
.key_success h4 { padding: 0;}
.supporDetail p br { display: none;}
}

@media only screen and (max-width : 480px){
    .seminar-sliderWrap .container { position: static;}
    .seminar-sliderWrap .swiper-button-next, .seminar-sliderWrap .swiper-button-prev { position: absolute; top: calc(50% - 40px); margin-top: 0; /*width: 60px; height: 60px;*/}
    .seminar-sliderWrap .swiper-button-prev { left: -5px;}
    .seminar-sliderWrap .swiper-button-next { right: -5px;}
    .banner_header .mobile-base-btnWrap { left: 20px; right: 20px;}
    .banner_header .base-btn { max-width: 100%;}
    .bannerImg { max-width: 100%;}
    .achievementList>.achievementListItem:nth-child(2) img { max-width: 206px;}
    .achievementList>.achievementListItem:first-child img { max-width: 281px;}
    .achievementList>.achievementListItem:nth-child(3) img,
    .achievementList>.achievementListItem:nth-child(4) img { max-width: 160px;}
    .achievementList>.achievementListItem:nth-child(3) { text-align: right;}
    .achievementList>.achievementListItem:nth-child(4) { text-align: left;}
    .achievement_section { padding: 22px 10px; gap: 15px 20px;}
    .gmo_modal { display: none !important;}
    .title small { font-size: 18px; line-height: 1.6; margin-bottom: 7px; font-family: "noto_sans_cjk_jpmedium", sans-serif;}
    .choose_usList h2 { font-size: 28px; padding-bottom: 10px;}
    .choose_usList p { font-size: 15px; line-height: 160%;}
    .choose_usList p br { display: none;}
    /*.management_section .title{font-size: 34px;
        line-height: 150%;
        max-width: 328px;
        margin: 45px auto;
        letter-spacing: 2px;
    }*/
    .choose_usList { margin-bottom: 124px;}
    .supporDetail p { text-align: left;}
    .supporList a svg , .supporList_ftr a svg { max-height: 40px; max-width: 40px;}
    .supporList , .supporList_ftr { gap: 8px;}
    .key_success { padding-bottom: 10px; margin-left: -8px; margin-top: -22px;}
    .track-record-section { padding-top: 120px;}
    .track-record-section .title { font-size: 28px; /*max-width: 275px; margin-left:auto; margin-right: auto;*/ margin-bottom: 49px;}
    .seminar-sliderBtn { position: static; margin-top: 66px;}
    .seminar-sliderBg { bottom: 20px;}
    .seminar-sliderBtn .base-btn2.Peacock { margin-left: auto; margin-right: auto;}
    .customer_section .seminarSlideMNg .seminar-sliderWrap .swiper { padding-left: 27px; padding-right: 27px; width: 100% !important;}
    .customer_section .seminarSlideMNg .seminar-sliderWrap .seminar-sliderBg { left: 15px; right: 15px;}
    .seminarSlideMNg .seminar-sliderWrap .swiper-button-next, .seminarSlideMNg .seminar-sliderWrap .swiper-button-prev { top: 63px;}
    .seminarSlideMNg .seminar-sliderWrap .seminar-sliderBtn { margin-top: 45px;}
    .seminarSlideMNg .seminar-sliderWrap { margin-bottom: 80px;}
.track-record-section .seminar-sliderWrap .swiper-button-prev { left: -38px;} 
.track-record-section .seminar-sliderWrap .swiper-button-next { right: -38px;}
.achievement_sectionWrap { margin-bottom: 8px;}
.logo-slider { padding-bottom: 30px;}
.management_section { padding-left: 22px; padding-right: 22px;}
.choose_usList { padding-left: 3px; padding-right: 3px;}
.supporDetail { padding-top: 18px; padding-bottom: 6px;}
.choose_usList .gmo_row .gmo_col.gmo_colImg img { margin-left: -25px; margin-right: -25px;}
.management_section .title { margin-bottom: 25px; font-size: 34px;}
.title span::after { margin-top: 14px;}
.supporList a , .supporList_ftr a { padding: 10px 10px; line-height: 1.25;}
.supporList a i , .supporList_ftr a i { transform: scale(0.8);}
.s440_block { display: block;}
.key_success .gmo_row { gap: 9px;}
.seminar-sliderWrap { margin-bottom: 116px;}
.clinic_success { padding-top: 0;}
.track-record-section { padding-left: 16px; padding-right: 16px;}
.track-record-section .Fee_structure .title { font-size: 34px;}
.customer_section_header p { padding-top: 9px;}
.customer_section_header { gap: 10px; padding-bottom: 85px;}
.support_systems p { font-size: 12px;}
.support_systems p { padding: 10px 0;}
.seminarSlideMNg .seminarSlidItem { box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.12);}
.supportBtn { padding-top: 48px;}
.introduction_section { padding-top: 50px; padding-bottom: 20px;}
.news_section { padding: 70px 32px 45px 32px;}
}

@media only screen and (max-width : 420px){
    .contracted-accountsImg h3 { font-size: 20px;}
    .contracted-accountsImg .contractedPrice { font-size: 96px;}
}

@media only screen and (max-width : 370px){
    .banner_header h1 { font-size: 30px;}
    .bannerLargHeading { font-size: 60px;}
    .banner_header h3 { font-size: 16px;}
    .contracted-accountsImg .contractedPrice { font-size: 70px;}
    .contracted-accountsImg h2.title { font-size: 26px;}
    .customer_section_header p { padding-top: 30px;}
}

  /*costom-style02.css*/
  .google-map-page .gm-section-one-inner-right .banner-right-img .slideTopRight { aspect-ratio: 223 / 445; width: auto; overflow: hidden;}
.google-map-page .gm-section-one-inner-right .banner-right-img .slideTopRight img { /*    position: relative;*/ height: 100%; margin: 0 auto; display: block;}
.google-map-page .gm-section-one-inner-right .banner-right-img.pointer-index-1 .slideTopRight .slImage:nth-child(1),
.google-map-page .gm-section-one-inner-right .banner-right-img.pointer-index-2 .slideTopRight .slImage:nth-child(2),
.google-map-page .gm-section-one-inner-right .banner-right-img.pointer-index-3 .slideTopRight .slImage:nth-child(3) { left: 0; opacity: 1; transition: all .5s linear;}
.google-map-page .gm-section-one-inner-right .banner-right-img.pointer-index-3 .slideTopRight .slImage:nth-child(1),
.google-map-page .gm-section-one-inner-right .banner-right-img.pointer-index-1 .slideTopRight .slImage:nth-child(2),
.google-map-page .gm-section-one-inner-right .banner-right-img.pointer-index-2 .slideTopRight .slImage:nth-child(3) { left: 100%; opacity: 1;}
.google-map-page .gm-section-one-inner-right .banner-right-img.pointer-index-2 .slideTopRight .slImage:nth-child(1),
.google-map-page .gm-section-one-inner-right .banner-right-img.pointer-index-3 .slideTopRight .slImage:nth-child(2),
.google-map-page .gm-section-one-inner-right .banner-right-img.pointer-index-1 .slideTopRight .slImage:nth-child(3) { left: -100%; opacity: 0; transition: all .5s linear;}
.google-map-page .slideTopRight .pointerArrow { transition: all 0.5s linear; aspect-ratio: 88/105; width: 20%;}
.google-map-page .banner-right-img.pointer-index-1 .slideTopRight .pointerArrow { top: 45%; right: 20%;}
.google-map-page .banner-right-img.pointer-index-2 .slideTopRight .pointerArrow { top: 45%; right: 25%;}
.google-map-page .banner-right-img.pointer-index-3 .slideTopRight .pointerArrow { top: 58%; right: 12%;}
.border-path { stroke-dasharray: 1500; stroke-dashoffset: 1500;}
.border-imgMob .border-path { stroke-dasharray: 320; stroke-dashoffset: 320;}
/*svg.aos-animate  .border-path{
    animation: dash 1s ease-out forwards;
    animation-delay: 1s;
}*/
svg.border-animate  .border-path { animation: dash 1s ease-out forwards; animation-delay: 1s;}
.pointerArrow { pointer-events: none;}

@keyframes dash {
  to { stroke-dashoffset: 0;}
}

.pointerArrow.tap { animation: handtap 0.3s linear;}

@keyframes handtap{
    0% { transform: rotate(0deg);}
    50% { transform: rotate(-30deg);}
    100% { transform: rotate(0deg);}
}

@keyframes jumpInfinite {
  0% { margin-top: 0;}
  80% { margin-top: 0px;}
  85% { margin-top: 10px;}
  90% { margin-top: -10px;}
  95% { margin-top: 10px;}
  100% { margin-top: 0;}
}

.jumpInfinite { display: inline-block; animation: jumpInfinite 3s infinite;}
.gm-section-three-box-one-inner .arrow-box { position: relative; height: 220px;}
.google-map-page .gm-section-one-inner-right .banner-right-img .slideTopRight .slImage.active { width: auto;}
.google-map-page .border-img { max-width: 100%;}

@media all and (max-width: 991px) {
    .google-map-page .border-imgMob { display: none;}
}

@media all and (max-width:767px){
    .google-map-page .faq-list { gap: 0px 30px;}
    .google-map-page .border-img { display: none; max-width: 100%;}
    .google-map-page .border-imgMob { display: block; width: 100%; margin-top: 0; /* margin-top: -35px; */}
    .google-map-page .faq-list li { width: 80%; max-width: 320px; height: 120px; padding-bottom: 20px;}
    .google-map-page .faq-list li:nth-child(odd) { left: 15%;}
    /* .google-map-page .faq-list li:nth-child(even){
        right: 15%;
    } */
    .google-map-page .faq-list li:before { background-image: url(../images/google-map-img/faq-list-bg2-mobile.svg); background-size: contain; background-position: center;}
    .google-map-page .faq-list li.first:before { background-image: url(../images/google-map-img/faq-list-bg-mobile.svg); background-size: contain; background-position: center;}
    .mobile.owl-carousel .owl-item img { width: auto;}
    .gmsearchStepMob { position: relative; max-width: 70%; width: 100%; margin: 0 auto;}
    .gm-search-steps.mobile.owl-carousel.owl-theme.owl-loaded.owl-text-select-on { width: 100%;}
    .google-map-page .gm-section-five .gm-search-steps.mobile .step-box { max-width: 100%;}
    .gm-search-steps.mobile .owl-controls { position: absolute; top: 50%; width: 90vw; left: 50%; transform: translate(-50%, -50%);}
}

@media all and (max-width: 650px){
    .gm-section-three-box-one-inner .arrow-box { position: relative; height: 110px;}
}

@media all and (max-width: 500px) { /* .google-map-page .faq-list li:nth-child(odd){
        left: 10%;
    }
    .google-map-page .faq-list li:nth-child(even){
        right: 10%;
    } */}

/********************************************************************************/
/* --- fv_new_dl_btn (LINEページFVボタン) --- */
.fv_new_dl_btn { display: flex; align-items: center; justify-content: center; position: relative; width: 360px; height: 72px; background-color: #fff; color: #1C9F91; border: 1px solid #1C9F91; border-radius: 40px; text-decoration: none; flex-shrink: 0; font-family: "noto_sans_cjk_jpbold", sans-serif; padding-right: 15px; line-height: 1.25; transition: .5s all; margin-top: 40px;}
.fv_new_dl_btn svg { position: absolute; right: 18px; transition: transform .3s linear;}
.fv_new_dl_btn svg g.arrow { transition: transform .3s linear;}
.fv_new_dl_btn:hover { background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); border-color: #fff; color: #fff;}
.fv_new_dl_btn:hover svg g.arrow { transform: translateX(5px);}
.fv_new_dl_btn:hover svg path { stroke: #fff;}
.fv_new_dl_btn_text { font-family: "noto_sans_cjk_jpbold", sans-serif; font-size: 18px; letter-spacing: 0.72px; padding-right: 15px; padding-top: 5px; background: linear-gradient(77deg, rgba(0,84,108,1) 0%, rgba(0,126,143,1) 28%, rgba(28,159,145,1) 90%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; transition: .5s all;}
.fv_new_dl_btn:hover .fv_new_dl_btn_text { background: transparent; -webkit-text-fill-color: #fff; color: #fff;}

@media (max-width: 767px) {
  .fv_new_dl_btn { width: 100%; max-width: 300px; height: 56px; margin-left: auto; margin-right: auto;}
  .fv_new_dl_btn_text { font-size: 15px;}
}

/******************************denshidoisyo Page CSS*******************************/
/* 電子同意書LP（/products/denshidoisyo）。PHP版denshidoisyo.cssを.denshidoisyoLpPageスコープに変換して移植 */
/* ════════════════════════════════════════════
   医療文書DX / 電子同意書 LP
   メディカル革命 byGMO デザインシステム準拠
════════════════════════════════════════════ */
.denshidoisyoLpPage { /* Brand — Flat Mint Green */ --color_primary: #00b982; --color_primary_hover: #00cf91; --color_primary_dark: #00936a; --color_primary_soft: #e0f5ec; --color_primary_softer: #f1faf5; /* Text */ --color_text_dark: #333333; --color_text_secondary: #333333; --color_text_muted: #555; /* Surfaces */ --color_bg_white: #ffffff; --color_bg_canvas: #f5f6f8; --color_bg_paper: #faf8f4; /* matte paper texture base */ --color_bg_dark: #1c1e22; --color_bg_darker: #131418; /* Borders */ --color_border_default: #e3e6ee; --color_border_subtle: #eef0f5; --color_border_strong: #cdd3e1; /* Accents */ --color_amber: #f5a623; --color_red: #d64545; /* Layout */ --content_max: 1250px; --content_max_narrow: 880px; /* Shadow — flat / matte (フラット表現のため最小限) */ --shadow_sm: 0 0 0 1px rgba(15, 32, 48, .04); --shadow_md: 0 0 0 1px rgba(15, 32, 48, .06); --shadow_lg: 0 0 0 1px rgba(15, 32, 48, .08); --shadow_teal: 0 0 0 1px rgba(0, 185, 130, .35); /* Radius */ --radius_sm: 4px; --radius_md: 8px; --radius_lg: 12px; --radius_pill: 999px; /* Matte paper noise (subtle) */ --noise_url: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.045 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");}
/* ── reset ── */
.denshidoisyoLpPage, .denshidoisyoLpPage * { box-sizing: border-box; margin: 0; padding: 0;}
.denshidoisyoLpPage { font-family: "noto_sans_cjk_jp_regularRg", sans-serif; font-size: 16px; line-height: 1.7; color: var(--color_text_dark); background: var(--color_bg_white); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;}
.denshidoisyoLpPage img { max-width: 100%; display: block;}
.denshidoisyoLpPage a:not(.base-btn):not(.fv_new_dl_btn) { color: inherit; text-decoration: none;}
.denshidoisyoLpPage ul,
.denshidoisyoLpPage ol { list-style: none;}
.denshidoisyoLpPage button { font-family: inherit; cursor: pointer; border: 0; background: none; color: inherit;}
.denshidoisyoLpPage .material-symbols-rounded { font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24; vertical-align: middle;}
/* ════════════════════════════════════════════
   タイポグラフィ（PC default）
   ※ デザインガイドの規定値（16/24/22/16）をベースに、
     LP訴求要素は1段大きく扱う（個別指定）
════════════════════════════════════════════ */
.denshidoisyoLpPage,
.denshidoisyoLpPage p,
.denshidoisyoLpPage div,
.denshidoisyoLpPage span,
.denshidoisyoLpPage a,
.denshidoisyoLpPage li,
.denshidoisyoLpPage td,
.denshidoisyoLpPage th { font-size: 17px; line-height: 1.8;}
.denshidoisyoLpPage small,
.denshidoisyoLpPage .small { font-size: 12px; line-height: 1.6;}
.denshidoisyoLpPage h1 { font-size: 36px; font-weight: 700; line-height: 1.5;}
.denshidoisyoLpPage h2 { font-size: 30px; font-weight: 700; line-height: 1.5; letter-spacing: .01em;}
.denshidoisyoLpPage h3 { font-size: 24px; font-weight: 700; line-height: 1.5;}
.denshidoisyoLpPage h4,
.denshidoisyoLpPage h5,
.denshidoisyoLpPage h6 { font-size: 18px; font-weight: 700; line-height: 1.5;}
/* ════════════════════════════════════════════
   レイアウト共通
════════════════════════════════════════════ */
.denshidoisyoLpPage { width: 100%; overflow-x: clip;}
.denshidoisyoLpPage .section_inner { max-width: var(--content_max); margin: 0 auto; padding: 0 32px;}
.denshidoisyoLpPage .section_inner_narrow { max-width: var(--content_max_narrow);}
.denshidoisyoLpPage section { padding: 96px 0;}
.denshidoisyoLpPage .section_head { text-align: center; margin-bottom: 56px;}
.denshidoisyoLpPage .section_eyebrow { display: inline-block; font-size: 14px; font-weight: 700; letter-spacing: .22em; color: var(--color_primary); margin-bottom: 14px; position: relative; padding-left: 28px;}
.denshidoisyoLpPage .section_eyebrow::before { content: ''; position: absolute; left: 0; top: 50%; width: 20px; height: 2px; background: var(--color_primary); transform: translateY(-50%);}
.denshidoisyoLpPage .section_title { color: var(--color_text_dark); font-size: 40px; font-weight: 700; line-height: 1.45; letter-spacing: .01em;}
.denshidoisyoLpPage .section_title em { font-style: normal; color: var(--color_primary); position: relative;}
.denshidoisyoLpPage .section_lead { margin-top: 16px; color: var(--color_text_secondary); font-size: 17px; line-height: 1.9;}
/* Matte paper texture utility */
.denshidoisyoLpPage .matte_paper { background-color: var(--color_bg_paper); background-image: var(--noise_url);}
/* ════════════════════════════════════════════
   ① グローバルナビ（既存ヘッダー差し替え予定 — スタイル定義は別途）
════════════════════════════════════════════ */
/* ════════════════════════════════════════════
   ② ファーストビュー
════════════════════════════════════════════ */
.denshidoisyoLpPage .hero_section { position: relative; padding: 80px 0 100px !important; background: #ffffff; overflow: hidden;}
.denshidoisyoLpPage .hero_section::before { content: none;}
.denshidoisyoLpPage .hero_inner { position: relative; max-width: var(--content_max); margin: 0 auto; padding: 0 32px; display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center;}
.denshidoisyoLpPage .hero_copy { z-index: 1;}
.denshidoisyoLpPage .hero_eyecatch { display: inline-flex; align-items: center; gap: 8px; background: var(--color_primary_soft); border: 1px solid var(--color_primary); color: var(--color_primary_dark); font-size: 14px; font-weight: 700; padding: 9px 18px; border-radius: var(--radius_pill); margin-bottom: 24px;}
.denshidoisyoLpPage .hero_eyecatch .material-symbols-rounded { font-size: 18px; color: var(--color_primary);}
.denshidoisyoLpPage .hero_eyecatch strong { color: var(--color_primary_dark);}
.denshidoisyoLpPage .hero_sub { font-size: 20px; font-weight: 700; color: var(--color_text_secondary); margin-bottom: 10px;}
.denshidoisyoLpPage .hero_title { font-size: 56px; line-height: 1.4; letter-spacing: .005em; color: var(--color_text_dark); margin-bottom: 24px;}
.denshidoisyoLpPage .hero_title em { font-style: normal; color: var(--color_primary_dark); background: linear-gradient(to top, var(--color_primary_soft) 38%, transparent 38%); padding: 0 2px;}
.denshidoisyoLpPage .hero_lead { font-size: 17px; line-height: 1.5; color: var(--color_text_secondary); margin-bottom: 24px;}
.denshidoisyoLpPage .hero_check_list { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px;}
.denshidoisyoLpPage .hero_lawyer_badge { display: inline-flex; align-items: center; gap: 10px; background: #fff; border: 1.5px solid var(--color_primary); color: var(--color_primary_dark); font-size: 14px; font-weight: 700; padding: 10px 18px; border-radius: var(--radius_md); margin-bottom: 24px;}
.denshidoisyoLpPage .hero_lawyer_badge .material-symbols-rounded { font-size: 22px; color: var(--color_primary);}
.denshidoisyoLpPage .hero_check { display: inline-flex; align-items: center; gap: 6px; background: #fff; border: 1px solid var(--color_border_default); color: var(--color_text_dark); font-size: 14px; padding: 9px 16px; border-radius: var(--radius_pill);}
.denshidoisyoLpPage .hero_check .material-symbols-rounded { font-size: 18px; color: var(--color_primary);}
.denshidoisyoLpPage .hero_check b { color: var(--color_primary_dark); font-weight: 700;}
.denshidoisyoLpPage .hero_cta_group { display: flex; flex-wrap: wrap; gap: 12px; align-items: center;}
.denshidoisyoLpPage .hero_note { font-size: 13px; color: var(--color_text_muted); margin-top: 14px;}
.denshidoisyoLpPage .hero_copy > a.base-btn { display: inline-flex; width: auto; max-width: 100%; padding: 0 28px; white-space: nowrap; margin-top: 12px;}
/* Hero visual */
.denshidoisyoLpPage .hero_visual { position: relative; z-index: 1;}
.denshidoisyoLpPage .hero_visual_card { position: relative; aspect-ratio: 1 / 1; max-width: 580px; margin-left: auto;}
.denshidoisyoLpPage .hero_visual_placeholder { position: absolute; inset: 10% 0 0 0; /*background: #e3e6ee;color: #8a94ab;
  border: 2px dashed #b9bfcc;
  border-radius: var(--radius_lg);*/ display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;}
.denshidoisyoLpPage .hero_visual_placeholder .material-symbols-rounded { font-size: 64px; color: #b9bfcc;}
.denshidoisyoLpPage .hero_visual_placeholder_label { font-size: 13px; font-weight: 700; letter-spacing: .1em; color: #8a94ab;}
/* Floating pills around tablet */
.denshidoisyoLpPage .hero_visual_pill { position: absolute; display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--color_border_default); border-radius: var(--radius_pill); padding: 10px 16px 10px 10px; font-size: 12px; z-index: 2; animation: float 5s ease-in-out infinite;}
.denshidoisyoLpPage .hero_visual_pill .material-symbols-rounded { font-size: 22px; color: #fff; background: var(--color_primary); padding: 6px; border-radius: 50%;}
.denshidoisyoLpPage .hero_visual_pill b { display: block; font-size: 13px; color: var(--color_text_dark); font-weight: 700;}
.denshidoisyoLpPage .hero_visual_pill small { display: block; font-size: 10px; color: var(--color_text_muted);}
.denshidoisyoLpPage .hero_visual_pill_1 { top: 4%; right: -2%; animation-delay: 0s;}
.denshidoisyoLpPage .hero_visual_pill_2 { bottom: 14%; left: -6%; animation-delay: 1.4s;}
.denshidoisyoLpPage .hero_visual_pill_2 .material-symbols-rounded { color: #fff; background: #d98a00;}
.denshidoisyoLpPage .hero_visual_pill_3 { bottom: -2%; right: 6%; animation-delay: 2.8s;}
.denshidoisyoLpPage .hero_visual_pill_3 .material-symbols-rounded { color: #fff; background: #2f8ded;}

@keyframes float {
  0%, 100% { transform: translateY(0);}
  50% { transform: translateY(-8px);}
}

/* ════════════════════════════════════════════
   ③ 信頼バー
════════════════════════════════════════════ */
.denshidoisyoLpPage .trust_bar { background: var(--color_bg_canvas); border-top: 1px solid var(--color_border_subtle); border-bottom: 1px solid var(--color_border_subtle); padding: 28px 0 !important;}
.denshidoisyoLpPage .trust_bar_inner { max-width: var(--content_max); margin: 0 auto; padding: 0 32px; display: flex; align-items: center; gap: 40px;}
.denshidoisyoLpPage .trust_bar_label { display: flex; flex-direction: column; gap: 2px; flex-shrink: 0;}
.denshidoisyoLpPage .trust_bar_label_main { font-size: 15px; font-weight: 700; color: var(--color_text_dark);}
.denshidoisyoLpPage .trust_bar_label_sub { font-size: 11px; color: var(--color_text_muted); letter-spacing: .2em;}
.denshidoisyoLpPage .trust_logos { display: flex; gap: 12px; flex-wrap: wrap; flex: 1;}
.denshidoisyoLpPage .trust_logo { background: #fff; border: 1px solid var(--color_border_default); border-radius: var(--radius_sm); padding: 12px 20px; font-size: 14px; font-weight: 700; color: var(--color_text_secondary); letter-spacing: .04em; min-width: 150px; text-align: center;}
/* ════════════════════════════════════════════
   ④ 悩み
════════════════════════════════════════════ */
.denshidoisyoLpPage .problem_section { background: #f3f4f8;}
.denshidoisyoLpPage .problem_grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-bottom: 80px;}
.denshidoisyoLpPage .problem_card { background: #fff; border: 1px solid var(--color_border_subtle); border-radius: var(--radius_lg); padding: 28px 24px 32px; position: relative; transition: transform .25s ease, box-shadow .25s ease; text-align: center;}
.denshidoisyoLpPage .problem_card:hover { border-color: var(--color_primary); transform: translateY(-2px);}
.denshidoisyoLpPage .problem_icon { width: 330px; /*aspect-ratio: 16 / 10;
  background: #e3e6ee;
  border-radius: var(--radius_md);
  display: flex; align-items: center; justify-content: center;*/ margin: 0 auto 24px; overflow: hidden;}
.denshidoisyoLpPage .problem_icon .material-symbols-rounded { font-size: 40px; color: #b9bfcc;}
.denshidoisyoLpPage .problem_icon img { width: 100%; height: 100%; object-fit: cover; display: block;}
.denshidoisyoLpPage .problem_card_title { font-size: 20px; color: var(--color_text_dark); margin-bottom: 10px;}
.denshidoisyoLpPage .problem_card_text { font-size: 15px; color: var(--color_text_secondary); line-height: 1.9; text-align: left;}
.denshidoisyoLpPage .problem_callout { max-width: 1000px; margin: 0 auto; background: var(--color_primary_soft); /*border: 1.5px solid var(--color_primary);*/ border-radius: var(--radius_pill); padding: 20px 36px; text-align: center; font-size: 30px; font-weight: 700; color: var(--color_text_dark); /*display: flex; align-items: center; justify-content: center; gap: 12px;*/}
.denshidoisyoLpPage .problem_callout .material-symbols-rounded { font-size: 28px; color: var(--color_primary);}
.denshidoisyoLpPage .problem_callout u { text-decoration: none; background: rgba(255,255,255,.7); color: var(--color_primary_dark); padding: 2px 8px; border-radius: var(--radius_sm);}
/* ════════════════════════════════════════════
   ⑤ ブリッジ
════════════════════════════════════════════ */
.denshidoisyoLpPage .bridge_section { background: linear-gradient(135deg, #00546C 0%, #1C9F91 100%); color: #fff; padding: 72px 0 !important; text-align: center; position: relative; overflow: hidden;}
.denshidoisyoLpPage .bridge_section::before { content: ''; position: absolute; inset: 0; background-image: var(--noise_url); opacity: .6; mix-blend-mode: overlay;}
.denshidoisyoLpPage .bridge_section::after { content: ''; position: absolute; top: -1px; left: 50%; transform: translateX(-50%); border-style: solid; border-width: 24px 24px 0 24px; border-color: #ffffff transparent transparent transparent;}
.denshidoisyoLpPage .bridge_inner { position: relative; max-width: var(--content_max); margin: 0 auto; padding: 0 32px;}
.denshidoisyoLpPage .bridge_eyebrow { display: inline-block; font-size: 14px; font-weight: 700; letter-spacing: .22em; color: rgba(255,255,255,.7); margin-bottom: 16px;}
.denshidoisyoLpPage .bridge_title { font-size: 36px; line-height: 1.55; margin-bottom: 18px; color: #fff; font-weight: 700;}
.denshidoisyoLpPage .bridge_title em { font-style: normal; display: inline-block; font-size: 42px; font-weight: 700; margin-top: 6px; position: relative;}
.denshidoisyoLpPage .bridge_lead { color: rgba(255,255,255,.92); font-size: 17px; line-height: 2;}
/* ════════════════════════════════════════════
   ⑥ メリット訴求
════════════════════════════════════════════ */
.denshidoisyoLpPage .features_section { background: #ffffff;}
.denshidoisyoLpPage .features_list { display: flex; flex-direction: column; gap: 96px;}
.denshidoisyoLpPage .feature_item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: center;}
.denshidoisyoLpPage .feature_item_rev .feature_visual { order: 2;}
.denshidoisyoLpPage .feature_visual { position: relative; aspect-ratio: 4 / 3; max-width: 100%;}
/* Feature visual common — 画像差込プレースホルダ */
.denshidoisyoLpPage .feature_mock { position: absolute; inset: 0; background: #e3e6ee; border-radius: var(--radius_lg); border: 2px dashed #b9bfcc; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; overflow: hidden;}
.denshidoisyoLpPage .feature_mock > .material-symbols-rounded { font-size: 64px; color: #b9bfcc;}
.denshidoisyoLpPage .feature_mock_label { font-size: 13px; font-weight: 700; letter-spacing: .1em; color: #8a94ab;}
/* Feature ① mock: file list */
.denshidoisyoLpPage .fm_panel_main { background: #fff; border-radius: var(--radius_md); border: 1px solid var(--color_border_default); overflow: hidden; position: relative; z-index: 1; max-width: 420px; margin: 0 auto;}
.denshidoisyoLpPage .fm_panel_head { display: flex; align-items: center; gap: 8px; padding: 14px 18px; background: var(--color_bg_canvas); border-bottom: 1px solid var(--color_border_subtle); font-size: 14px; font-weight: 700; color: var(--color_text_dark);}
.denshidoisyoLpPage .fm_panel_head .material-symbols-rounded { color: var(--color_primary); font-size: 20px;}
.denshidoisyoLpPage .fm_panel_badge { margin-left: auto; font-size: 11px; font-weight: 700; padding: 3px 10px; background: var(--color_primary_soft); color: var(--color_primary_dark); border-radius: var(--radius_pill);}
.denshidoisyoLpPage .fm_list { padding: 8px 0;}
.denshidoisyoLpPage .fm_list li { display: flex; align-items: center; gap: 10px; padding: 12px 18px; font-size: 13px; color: var(--color_text_dark); border-bottom: 1px solid var(--color_border_subtle);}
.denshidoisyoLpPage .fm_list li:last-child { border-bottom: 0;}
.denshidoisyoLpPage .fm_list_dot { width: 8px; height: 8px; border-radius: 50%; background: var(--color_primary); flex-shrink: 0;}
.denshidoisyoLpPage .fm_list_dot_wait { background: var(--color_amber);}
.denshidoisyoLpPage .fm_list_status { margin-left: auto; font-size: 11px; padding: 2px 10px; background: var(--color_primary_soft); color: var(--color_primary_dark); border-radius: var(--radius_pill); font-weight: 700;}
.denshidoisyoLpPage .fm_list_status_wait { background: #fef4de; color: #b87000;}
.denshidoisyoLpPage .fm_search { display: flex; align-items: center; gap: 8px; padding: 12px 18px; border-top: 1px solid var(--color_border_subtle); background: var(--color_bg_canvas); font-size: 12px; color: var(--color_text_muted);}
.denshidoisyoLpPage .fm_search .material-symbols-rounded { font-size: 16px; color: var(--color_text_muted);}
/* Feature ① pop */
.denshidoisyoLpPage .fm_pop { position: absolute; bottom: 24px; right: 24px; background: var(--color_primary); color: #fff; padding: 10px 18px; border-radius: var(--radius_pill); display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; z-index: 2;}
.denshidoisyoLpPage .fm_pop .material-symbols-rounded { font-size: 22px;}
/* Feature ② mock: chart */
.denshidoisyoLpPage .fm_chart { background: #fff; border-radius: var(--radius_md); border: 1px solid var(--color_border_default); padding: 24px; position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column;}
.denshidoisyoLpPage .fm_chart_head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px;}
.denshidoisyoLpPage .fm_chart_head > span:first-child { font-size: 14px; font-weight: 700; color: var(--color_text_dark);}
.denshidoisyoLpPage .fm_chart_badge { background: var(--color_red); color: #fff; font-size: 14px; font-weight: 700; padding: 4px 14px; border-radius: var(--radius_pill);}
.denshidoisyoLpPage .fm_chart_bars { flex: 1; display: flex; align-items: flex-end; justify-content: center; gap: 32px; padding: 0 16px; min-height: 160px;}
.denshidoisyoLpPage .fm_bar_wrap { display: flex; flex-direction: column; align-items: center; gap: 10px; flex: 1; max-width: 100px;}
.denshidoisyoLpPage .fm_bar { width: 100%; border-radius: 6px 6px 0 0; position: relative; display: flex; align-items: flex-start; justify-content: center; padding-top: 8px; color: #fff; font-weight: 700; font-size: 12px;}
.denshidoisyoLpPage .fm_bar_before { background: #cdd3e1; height: 100%;}
.denshidoisyoLpPage .fm_bar_after { background: var(--color_primary); height: 32%;}
.denshidoisyoLpPage .fm_bar_value { white-space: nowrap;}
.denshidoisyoLpPage .fm_bar_label { font-size: 12px; color: var(--color_text_secondary); font-weight: 700;}
.denshidoisyoLpPage .fm_chart_legend { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--color_border_subtle);}
.denshidoisyoLpPage .fm_chart_legend li { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--color_text_secondary);}
.denshidoisyoLpPage .fm_chart_legend li span { width: 10px; height: 10px; border-radius: 2px; background: var(--color_primary);}
.denshidoisyoLpPage .fm_chart_legend li:nth-child(2) span { background: var(--color_primary_hover);}
.denshidoisyoLpPage .fm_chart_legend li:nth-child(3) span { background: #8a94ab;}
.denshidoisyoLpPage .fm_pop_alt { background: var(--color_amber);}
/* Feature ③ mock: legal */
.denshidoisyoLpPage .fm_legal_card { background: #fff; border-radius: var(--radius_md); border: 1px solid var(--color_border_default); padding: 32px 28px; position: relative; z-index: 1; text-align: center; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center;}
/* グレー丸アイコン = 画像プレースホルダ */
.denshidoisyoLpPage .fm_legal_icon { width: 88px; height: 88px; border-radius: 50%; background: #e3e6ee; border: 2px dashed #b9bfcc; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; position: relative; overflow: hidden;}
.denshidoisyoLpPage .fm_legal_icon::before { content: none;}
.denshidoisyoLpPage .fm_legal_icon .material-symbols-rounded { font-size: 36px; color: #b9bfcc;}
.denshidoisyoLpPage .fm_legal_icon img { width: 100%; height: 100%; object-fit: cover; display: block;}
.denshidoisyoLpPage .fm_legal_title { font-size: 20px; font-weight: 700; color: var(--color_text_dark); margin-bottom: 8px;}
.denshidoisyoLpPage .fm_legal_desc { font-size: 13px; color: var(--color_text_secondary); line-height: 1.8; margin-bottom: 18px; max-width: 340px;}
.denshidoisyoLpPage .fm_legal_list { display: grid; gap: 6px; background: #ffffff; border: 1px solid #00546C; border-radius: var(--radius_md); padding: 12px 16px;}
.denshidoisyoLpPage .fm_legal_list li { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--color_text_dark); font-weight: 500;}
.denshidoisyoLpPage .fm_legal_list .material-symbols-rounded { font-size: 16px; color: var(--color_primary);}
.denshidoisyoLpPage .fm_pop_legal { background: #fff; color: var(--color_primary_dark); border: 1.5px solid var(--color_primary);}
.denshidoisyoLpPage .fm_pop_legal .material-symbols-rounded { color: var(--color_primary);}
/* Feature body */
.denshidoisyoLpPage .feature_body { max-width: 540px;}
.denshidoisyoLpPage .feature_num { font-size: 64px; font-weight: 700; color: var(--color_primary_soft); line-height: 1; letter-spacing: -.02em; margin-bottom: 8px;}
.denshidoisyoLpPage .feature_tag { display: inline-block; background: var(--color_primary_soft); color: var(--color_primary_dark); font-size: 14px; font-weight: 700; padding: 7px 18px; border-radius: var(--radius_pill); margin-bottom: 16px;}
.denshidoisyoLpPage .feature_title { font-size: 36px; line-height: 1.55; color: var(--color_text_dark); margin-bottom: 16px;}
.denshidoisyoLpPage .feature_title em { font-style: normal; color: var(--color_primary_dark); background: linear-gradient(to top, var(--color_primary_soft) 38%, transparent 38%); padding: 0 2px;}
.denshidoisyoLpPage .feature_text { font-size: 17px; color: var(--color_text_secondary); line-height: 2; margin-bottom: 20px;}
.denshidoisyoLpPage .feature_points { display: grid; gap: 10px; background: #ffffff; border: 1px solid #00546C; border-radius: var(--radius_md); padding: 18px 22px;}
.denshidoisyoLpPage .feature_points li { display: flex; align-items: flex-start; gap: 10px; font-size: 16px; color: var(--color_text_dark); line-height: 1.8;}
.denshidoisyoLpPage .feature_points li::before { content: 'check_circle'; font-family: 'Material Symbols Rounded'; font-variation-settings: 'FILL' 1; color: var(--color_primary); font-size: 20px; flex-shrink: 0; line-height: 1.4;}
.denshidoisyoLpPage .feature_points b { color: var(--color_primary_dark); font-weight: 700;}
.denshidoisyoLpPage .lawyer_note { margin-top: 20px; background: #fff; border: 1.5px solid var(--color_primary); border-radius: var(--radius_md); padding: 18px 20px; display: flex; gap: 14px; align-items: flex-start;}
.denshidoisyoLpPage .lawyer_note_icon { width: 44px; height: 44px; border-radius: 50%; background: var(--color_primary_soft); flex-shrink: 0; display: flex; align-items: center; justify-content: center;}
.denshidoisyoLpPage .lawyer_note_icon .material-symbols-rounded { font-size: 24px; color: var(--color_primary_dark);}
.denshidoisyoLpPage .lawyer_note_title { font-size: 20px; font-weight: 700; color: var(--color_primary_dark); margin-bottom: 4px;}
.denshidoisyoLpPage .lawyer_note_text { font-size: 14px; color: var(--color_text_secondary); line-height: 1.8;}
/* ════════════════════════════════════════════
   ⑦ 利用フロー
════════════════════════════════════════════ */
.denshidoisyoLpPage .flow_section { background: #f3f4f8;}
.denshidoisyoLpPage .flow_steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; position: relative;}
.denshidoisyoLpPage .flow_steps::before { content: ''; position: absolute; top: 56px; left: 12%; right: 12%; height: 2px; background: repeating-linear-gradient(to right, var(--color_primary) 0 8px, transparent 8px 16px); z-index: 0;}
.denshidoisyoLpPage .flow_step { background: #fff; border: 1px solid var(--color_border_subtle); border-radius: var(--radius_lg); padding: 28px 24px; position: relative; z-index: 1; height: 100%; display: flex; flex-direction: column;}
/* グレー丸 = 画像プレースホルダ */
.denshidoisyoLpPage .flow_step_icon { position: absolute; top: 10px; left: 50%; transform: translateX(-50%); width: 200px; height: 200px; /*border-radius: 50%;
  background: #e3e6ee;
  border: 2px dashed #b9bfcc;*/ display: flex; align-items: center; justify-content: center; overflow: hidden;}
.denshidoisyoLpPage .flow_step_icon .material-symbols-rounded { font-size: 30px; color: #b9bfcc;}
.denshidoisyoLpPage .flow_step_icon img { width: 100%; height: 100%; object-fit: cover; display: block;}
.denshidoisyoLpPage .flow_step_num { font-size: 13px; font-weight: 700; color: var(--color_primary); letter-spacing: .2em; text-align: center; margin: 150px 0 12px;}
.denshidoisyoLpPage .flow_step_title { font-size: 22px; color: var(--color_text_dark); text-align: center; margin-bottom: 12px;}
.denshidoisyoLpPage .flow_step_text { font-size: 15px; color: var(--color_text_secondary); line-height: 1.9; text-align: left; margin-bottom: 16px;}
.denshidoisyoLpPage .flow_step_points { margin-top: auto; background: #ffffff; border: 1px solid #00546C; border-radius: var(--radius_md); padding: 14px 16px; display: grid; gap: 6px;}
.denshidoisyoLpPage .flow_step_points li { display: flex; align-items: flex-start; gap: 6px; font-size: 14px; color: var(--color_text_dark); line-height: 1.8;}
.denshidoisyoLpPage .flow_step_points li::before { content: '✓'; color: var(--color_primary); font-weight: 700; flex-shrink: 0;}
/* ════════════════════════════════════════════
   ⑧ セキュリティ
════════════════════════════════════════════ */
.denshidoisyoLpPage .security_section { background: #ffffff;}
.denshidoisyoLpPage .security_inner { display: grid; grid-template-columns: 1.2fr 1fr; gap: 64px; align-items: center;}
.denshidoisyoLpPage .security_copy .section_eyebrow { text-align: left;}
.denshidoisyoLpPage .security_title { text-align: left; font-size: 36px;}
.denshidoisyoLpPage .security_text { font-size: 17px; color: var(--color_text_secondary); line-height: 2; margin-top: 16px;}
.denshidoisyoLpPage .security_badges { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 28px;}
.denshidoisyoLpPage .sec_badge { background: #fff; border: 1px solid var(--color_border_default); border-radius: var(--radius_md); padding: 16px 18px; display: flex; align-items: center; gap: 12px; transition: border-color .15s ease, transform .15s ease;}
.denshidoisyoLpPage .sec_badge:hover { border-color: var(--color_primary);}
/* グレー丸アイコン = 画像プレースホルダ */
.denshidoisyoLpPage .sec_badge .material-symbols-rounded { width: 44px; height: 44px; font-size: 22px; color: #b9bfcc; border: 1.5px dashed #b9bfcc; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; padding: 0; flex-shrink: 0;}
.denshidoisyoLpPage .sec_badge b { display: block; font-size: 18px; color: var(--color_text_dark); font-weight: 700;}
.denshidoisyoLpPage .sec_badge small { display: block; font-size: 12px; color: var(--color_text_muted); margin-top: 2px;}
/* Security visual (shield) */
.denshidoisyoLpPage .security_visual { display: flex; justify-content: center;}
.denshidoisyoLpPage .security_shield { position: relative; width: 380px; height: 380px;}
.denshidoisyoLpPage .security_shield_inner { position: absolute; inset: 60px; background: var(--color_primary); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #fff;}
.denshidoisyoLpPage .security_shield_inner .material-symbols-rounded { font-size: 72px;}
.denshidoisyoLpPage .security_shield_text { font-size: 12px; letter-spacing: .3em; margin-top: 4px; font-weight: 700;}
.denshidoisyoLpPage .security_orbit { position: absolute; inset: 0;}
.denshidoisyoLpPage .security_orbit li { position: absolute; width: 56px; height: 56px; border-radius: 50%; background: #fff; border: 1.5px solid var(--color_primary); display: flex; align-items: center; justify-content: center;}
.denshidoisyoLpPage .security_orbit li .material-symbols-rounded { font-size: 26px; color: var(--color_primary);}
.denshidoisyoLpPage .security_orbit li:nth-child(1) { top: 0; left: 50%; transform: translate(-50%, 0);}
.denshidoisyoLpPage .security_orbit li:nth-child(2) { top: 50%; right: 0; transform: translate(0, -50%);}
.denshidoisyoLpPage .security_orbit li:nth-child(3) { bottom: 0; left: 50%; transform: translate(-50%, 0);}
.denshidoisyoLpPage .security_orbit li:nth-child(4) { top: 50%; left: 0; transform: translate(0, -50%);}
/* ════════════════════════════════════════════
   ⑨ FAQ
════════════════════════════════════════════ */
.denshidoisyoLpPage .faq_section { background: #f3f4f8;}
.denshidoisyoLpPage .faq_list { display: grid; gap: 12px;}
.denshidoisyoLpPage .faq_item { background: #fff; border: 1px solid var(--color_border_subtle); border-radius: var(--radius_md); transition: border-color .15s ease, box-shadow .15s ease;}
.denshidoisyoLpPage .faq_item[open] { border-color: var(--color_primary);}
.denshidoisyoLpPage .faq_item summary { list-style: none; cursor: pointer; padding: 24px 32px; font-size: 18px; font-weight: 700; color: var(--color_text_dark); display: flex; align-items: center; gap: 16px; position: relative; padding-right: 56px;}
.denshidoisyoLpPage .faq_item summary::-webkit-details-marker { display: none;}
.denshidoisyoLpPage .faq_item summary::before { content: 'Q'; width: 32px; height: 32px; border-radius: 50%; background: var(--color_primary); color: #fff; font-weight: 700; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0;}
.denshidoisyoLpPage .faq_item summary::after { content: 'expand_more'; font-family: 'Material Symbols Rounded'; font-variation-settings: 'FILL' 0, 'wght' 600; position: absolute; right: 24px; color: var(--color_primary); font-size: 26px; transition: transform .25s ease;}
.denshidoisyoLpPage .faq_item[open] summary::after { transform: rotate(180deg);}
.denshidoisyoLpPage .faq_item p { padding: 0 28px 24px 80px; font-size: 15px; color: var(--color_text_secondary); line-height: 1.9;}
/* ════════════════════════════════════════════
   ⑩ 最終CTA
════════════════════════════════════════════ */
.denshidoisyoLpPage .cta_section { background: linear-gradient(135deg, #00546C 0%, #1C9F91 100%); color: #fff; position: relative; overflow: hidden;}
.denshidoisyoLpPage .cta_bg { position: absolute; inset: 0; background-image: var(--noise_url); opacity: .6; mix-blend-mode: overlay;}
.denshidoisyoLpPage .cta_inner { position: relative; text-align: center;}
.denshidoisyoLpPage .cta_eyebrow { color: rgba(255,255,255,.85);}
.denshidoisyoLpPage .cta_eyebrow::before { background: rgba(255,255,255,.85);}
.denshidoisyoLpPage .cta_title { font-size: 46px; line-height: 1.5; color: #fff; margin-bottom: 20px;}
.denshidoisyoLpPage .cta_title em { font-style: normal; color: var(--color_primary_dark); background: #fff; padding: 2px 14px; border-radius: var(--radius_sm); display: inline-block; margin: 4px 0;}
.denshidoisyoLpPage .cta_lead { color: rgba(255,255,255,.88); font-size: 24px; line-height: 2; margin-bottom: 40px;}
.denshidoisyoLpPage .cta_btn_group { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap;}
.denshidoisyoLpPage .cta_note { font-size: 14px; color: rgba(255,255,255,.65); margin-top: 24px;}
/* ════════════════════════════════════════════
   フッター（既存フッター差し替え予定 — スタイル定義は別途）
════════════════════════════════════════════ */
/* ════════════════════════════════════════════════════════════
   採用版（Option A / SmartHRテイスト）— 統合スタイル
   ベース定義の上に重ねる調整。単一アクセント / 余白拡大 /
   罫線統一 / 装飾の単純化 / タイポ階層 / 白フィル+緑2px。
   （旧 redesign/theme-base.css + theme-a.css を統合）
════════════════════════════════════════════════════════════ */
/* リズム / 余白（メリハリ） */
.denshidoisyoLpPage section { padding: 128px 0;}
.denshidoisyoLpPage .section_head { margin-bottom: 64px;}
/* タイポ階層 */
.denshidoisyoLpPage .section_title { font-size: 44px; line-height: 1.42; letter-spacing: .02em; color: var(--color_text_dark);}
.denshidoisyoLpPage .section_lead { font-size: 18px; margin-top: 20px; color: var(--color_text_secondary);}
.denshidoisyoLpPage .hero_title { font-size: 50px; line-height: 1.2;}
.denshidoisyoLpPage .hero_lead { font-size: 18px;}
/* カード罫線の統一（#00546C 系 → 中立グレー）+ 影排除 */
.denshidoisyoLpPage .feature_points,
.denshidoisyoLpPage .flow_step_points,
.denshidoisyoLpPage .fm_legal_list { border: 1px solid var(--color_border_default);}
.denshidoisyoLpPage .problem_card,
.denshidoisyoLpPage .flow_step,
.denshidoisyoLpPage .sec_badge,
.denshidoisyoLpPage .faq_item { border-color: var(--color_border_default); box-shadow: none;}
/* 装飾の単純化 */
.denshidoisyoLpPage .bridge_section::after { content: none;}
.denshidoisyoLpPage .flow_steps::before { background: var(--color_border_default); height: 2px; top: 58px;}
.denshidoisyoLpPage .security_orbit li { border-color: var(--color_border_default);}
/* ゾーニング：白 ⇄ クール極薄グレー */
.denshidoisyoLpPage .hero_section,
.denshidoisyoLpPage .features_section,
.denshidoisyoLpPage .security_section { background: #ffffff;}
.denshidoisyoLpPage .problem_section,
.denshidoisyoLpPage .flow_section,
.denshidoisyoLpPage .faq_section { background: #f7f8fa;}
/* 番号は控えめグレー */
.denshidoisyoLpPage .feature_num { color: #eef0f5;}
/* コールアウト：白地 + 緑2px、内部ハイライトも白 */
.denshidoisyoLpPage .problem_callout { background: #ffffff; /*border: 2px solid var(--color_primary);*/ color: var(--color_text_dark);}
.denshidoisyoLpPage .problem_callout u { background: #ffffff; color: var(--color_primary_dark);}
/* 白フィル + 緑2px枠ルール */
.denshidoisyoLpPage .hero_eyecatch { background: #ffffff; border: 2px solid var(--color_primary);}
.denshidoisyoLpPage .feature_tag { background: #ffffff; border: 2px solid var(--color_primary);}
.denshidoisyoLpPage .lawyer_note_icon { background: #ffffff; border: 2px solid var(--color_primary);}
.denshidoisyoLpPage .lawyer_note { border-width: 2px;}
/* キーワード強調：薄緑アンダーライン → 白（ハイライトなし・文字は緑） */
.denshidoisyoLpPage .hero_title em,
.denshidoisyoLpPage .feature_title em { background: linear-gradient(to top, #ffffff 38%, transparent 38%);}
/* FV調整：浮遊3要素を「画像差込プレースホルダ（後差し替え用・グレー）」へ */
.denshidoisyoLpPage .hero_visual_pill { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 138px; height: 84px; background: #e3e6ee; border: 2px dashed #b9bfcc; border-radius: var(--radius_md); padding: 0; color: #8a94ab;}
.denshidoisyoLpPage .hero_visual_pill .material-symbols-rounded { font-size: 30px; color: #b9bfcc; background: none; padding: 0; border-radius: 0;}
.denshidoisyoLpPage .hero_visual_pill_label { font-size: 11px; font-weight: 700; letter-spacing: .08em; color: #8a94ab;}
/* 月桂樹（右上）と干渉しないよう pill_1 を左上へ移動 */
.denshidoisyoLpPage .hero_visual_pill_1 { top: 6%; left: -6%; right: auto;}
/* ════════════════════════════════════════════════════════════
   FV：ゴールド月桂樹エンブレム（弁護士監修）— 画像右上に重ねる
════════════════════════════════════════════════════════════ */
.denshidoisyoLpPage .hero_laurel { position: absolute; top: 56px; right: 280px; width: 240px; height: 150px; z-index: 5; display: flex; align-items: center; justify-content: center; pointer-events: none;}
.denshidoisyoLpPage .hero_laurel_wreath { position: absolute; inset: 0; width: 100%; height: 100%; filter: drop-shadow(0 2px 6px rgba(120, 90, 20, .18));}
.denshidoisyoLpPage .hero_laurel_plate { position: relative; z-index: 1; /*width: 118px; height: 118px; border-radius: 50%;
  background: rgba(255,255,255,.92);*/ display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 3px; inset: 7px 0 0 -4px;}
.denshidoisyoLpPage .hero_laurel_plate strong { font-size: 24px; font-weight: 700; color: #8a6a14; letter-spacing: .02em; line-height: 1.25;}
.denshidoisyoLpPage .hero_laurel_plate span { font-size: 14px; font-weight: 500; color: #6f5712; line-height: 1.2;}
.denshidoisyoLpPage .hero_laurel_rule { width: 30px; height: 1.5px; background: #cBa23f; margin: 1px 0;}

@media (max-width: 767px) {
  .denshidoisyoLpPage .hero_visual_pill { width: 104px; height: 64px; gap: 2px;}
  .denshidoisyoLpPage .hero_visual_pill .material-symbols-rounded { font-size: 24px;}
  .denshidoisyoLpPage .hero_visual_pill_label { font-size: 10px;}
  .denshidoisyoLpPage .hero_laurel { width: 132px; height: 120px; top: -70px; right: -8px;}
  .denshidoisyoLpPage .hero_laurel_plate { width: 90px; height: 90px; inset: 42px 0 0 -4px;}
  .denshidoisyoLpPage .hero_laurel_plate strong { font-size: 11px;}
  .denshidoisyoLpPage .hero_laurel_plate span { font-size: 9px;}
}

/* ════════════════════════════════════════════════════════════
   画像差込スロット：装飾オフ
   後から実画像を差し込む前提のため、プレースホルダ装飾
   （グレー塗り #e3e6ee ／ 破線ボーダー ／ アイコン ／ ラベル）を
   すべて除去し、素の空スロットにする。レイアウト寸法は維持。
   対象: FVメイン画像 / FV浮遊3枚 / メリット3枚
════════════════════════════════════════════════════════════ */
.denshidoisyoLpPage .hero_visual_placeholder,
.denshidoisyoLpPage .hero_visual_pill,
.denshidoisyoLpPage .feature_mock { background: transparent; border: none; border-radius: 0; box-shadow: none;}
/* 浮遊スロットは装飾を外したらアニメーションも止める（ちらつき防止） */
.denshidoisyoLpPage .hero_visual_pill { animation: none;}
/* ════════════════════════════════════════════════════════════
   レスポンシブ（ファイル末尾に集約 — 全デスクトップ基本ルールの後で
   確実に上書きするため。重複・順序事故を防ぐ）
════════════════════════════════════════════════════════════ */
/* ════════════════════════════════════════════
   レスポンシブ — Tablet (768〜1023)
   ※ ベースが .denshidoisyoLpPage スコープ（特異度0,2,0）のため
      上書きには必ず .denshidoisyoLpPage を付ける。
════════════════════════════════════════════ */

@media (max-width: 1023px) {
  .denshidoisyoLpPage section { padding: 80px 0;}
  .denshidoisyoLpPage .section_inner { padding: 0 24px;}
  .denshidoisyoLpPage .section_head { margin-bottom: 44px;}
  .denshidoisyoLpPage .section_title { font-size: 34px;}
  .denshidoisyoLpPage .section_lead { font-size: 16px;}
  .denshidoisyoLpPage .hero_inner { grid-template-columns: 1fr; gap: 40px;}
  .denshidoisyoLpPage .hero_title { font-size: 40px;}
  .denshidoisyoLpPage .hero_lead { font-size: 16px;}
  .denshidoisyoLpPage .hero_visual_card { max-width: 480px; margin: 0 auto;}
  .denshidoisyoLpPage .trust_bar_inner { padding: 0 24px; flex-direction: column; gap: 16px; align-items: flex-start;}
  .denshidoisyoLpPage .problem_grid { grid-template-columns: 1fr; gap: 16px;}
  .denshidoisyoLpPage .feature_item { grid-template-columns: 1fr; gap: 32px;}
  .denshidoisyoLpPage .feature_item_rev .feature_visual { order: 0;}
  .denshidoisyoLpPage .feature_visual { aspect-ratio: 16 / 10; max-width: 60%;}
  .denshidoisyoLpPage .flow_steps { grid-template-columns: 1fr; gap: 56px;}
  .denshidoisyoLpPage .flow_steps::before { display: none;}
  .denshidoisyoLpPage .security_inner { grid-template-columns: 1fr; gap: 40px;}
  .denshidoisyoLpPage .security_title { font-size: 28px;}
  .denshidoisyoLpPage .security_badges { grid-template-columns: 1fr;}
  .denshidoisyoLpPage .security_shield { width: 240px; height: 240px;}
  .denshidoisyoLpPage .security_shield_inner { inset: 44px;}
  .denshidoisyoLpPage .security_shield_inner .material-symbols-rounded { font-size: 56px;}
  .denshidoisyoLpPage .security_orbit li { width: 44px; height: 44px;}
  .denshidoisyoLpPage .security_orbit li .material-symbols-rounded { font-size: 22px;}
  .denshidoisyoLpPage .cta_title { font-size: 32px;}
}

/* ════════════════════════════════════════════
   レスポンシブ — SP (max 767)
   全要素を縦1カラムに。横並び（grid/flex）はすべて解除。
════════════════════════════════════════════ */

@media (max-width: 767px) {
  /* 横スクロール防止（FVの装飾はみ出し対策） */
  .denshidoisyoLpPage { overflow-x: hidden;}
  .denshidoisyoLpPage { font-size: 15px;}
  .denshidoisyoLpPage small, .denshidoisyoLpPage .small { font-size: 11px;}
  .denshidoisyoLpPage section { padding: 56px 0;}
  .denshidoisyoLpPage .section_inner { padding: 0 20px;}
  .denshidoisyoLpPage .section_head { margin-bottom: 32px;}
  .denshidoisyoLpPage .section_eyebrow { font-size: 12px;}
  .denshidoisyoLpPage .section_title { font-size: 25px; line-height: 1.45;}
  .denshidoisyoLpPage .section_lead { font-size: 16px; line-height: 1.85;}
  /* ── FV ── */
  .denshidoisyoLpPage .hero_section { padding: 40px 0 56px !important;}
  .denshidoisyoLpPage .hero_inner { gap: 32px;}
  .denshidoisyoLpPage .hero_title { font-size: 28px; line-height: 1.42;}
  .denshidoisyoLpPage .hero_sub { font-size: 15px;}
  .denshidoisyoLpPage .hero_eyecatch { font-size: 12px; padding: 7px 14px;}
  .denshidoisyoLpPage .hero_lead { font-size: 14px; line-height: 1.9;}
  .denshidoisyoLpPage .hero_check_list { gap: 8px;}
  .denshidoisyoLpPage .hero_check { font-size: 18px; padding: 7px 12px;}
  .denshidoisyoLpPage .hero_cta_group { flex-direction: column; align-items: stretch;}
  .denshidoisyoLpPage .hero_copy > a.base-btn { white-space: normal; width: 100%; height: auto; padding: 14px 20px; line-height: 1.4;}
  .denshidoisyoLpPage .hero_visual_card { max-width: 300px;}
  .denshidoisyoLpPage .hero_copy { margin-bottom: 20px;}
  /* ── 信頼バー：ロゴは縦積み気味に折り返し ── */
  .denshidoisyoLpPage .trust_logos { gap: 8px;}
  .denshidoisyoLpPage .trust_logo { font-size: 12px; padding: 8px 12px; min-width: 0; flex: 1 1 40%; justify-content: center;}
  /* ── 課題：1カラム ── */
  .denshidoisyoLpPage .problem_grid { grid-template-columns: 1fr; gap: 14px;}
  .denshidoisyoLpPage .problem_card { padding: 24px 20px;}
  .denshidoisyoLpPage .problem_callout { font-size: 21px; padding: 16px 18px; flex-direction: column; gap: 0; text-align: center; line-height: 1.2;}
  .denshidoisyoLpPage .problem_icon { width: 100%; margin: 0 auto; overflow: hidden;}
  .denshidoisyoLpPage .problem_callout .material-symbols-rounded { font-size: 40px;}
  /* ── ブリッジ ── */
  .denshidoisyoLpPage .bridge_title { font-size: 23px;}
  .denshidoisyoLpPage .bridge_title em { font-size: 25px;}
  /* ── メリット：1カラム・画像→テキストの順 ── */
  .denshidoisyoLpPage .features_list { gap: 56px;}
  .denshidoisyoLpPage .feature_item { grid-template-columns: 1fr; gap: 24px;}
  .denshidoisyoLpPage .feature_visual { order: -1; max-width: 100%;}
  .denshidoisyoLpPage .feature_title { font-size: 22px;}
  .denshidoisyoLpPage .feature_num { font-size: 48px;}
  .denshidoisyoLpPage .feature_text { font-size: 15px;}
  .denshidoisyoLpPage .feature_mock { padding: 18px;}
  .denshidoisyoLpPage .lawyer_note { padding: 14px 16px; gap: 10px;}
  .denshidoisyoLpPage .feature_points li { display: block; font-size: 16px; line-height: 1.8;}
  /* ── 利用フロー：1カラム縦積み ── */
  .denshidoisyoLpPage .flow_steps { grid-template-columns: 1fr; gap: 44px;}
  /*.denshidoisyoLpPage .flow_step_icon { width: 64px; height: 64px; top: -24px; }*/
  .denshidoisyoLpPage .flow_step_icon .material-symbols-rounded { font-size: 26px;}
  .denshidoisyoLpPage .flow_step_title { font-size: 19px;}
  /* ── セキュリティ：1カラム ── */
  .denshidoisyoLpPage .security_inner { grid-template-columns: 1fr; gap: 32px;}
  .denshidoisyoLpPage .security_title { font-size: 23px;}
  .denshidoisyoLpPage .security_badges { grid-template-columns: 1fr;}
  /* ── FAQ ── */
  .denshidoisyoLpPage .faq_item summary { padding: 18px 20px; font-size: 15px; padding-right: 48px; gap: 12px;}
  .denshidoisyoLpPage .faq_item summary::before { width: 28px; height: 28px; font-size: 13px;}
  .denshidoisyoLpPage .faq_item summary::after { right: 18px; font-size: 22px;}
  .denshidoisyoLpPage .faq_item p { padding: 0 20px 20px 60px; font-size: 14px;}
  /* ── 最終CTA：ボタン縦積み ── */
  .denshidoisyoLpPage .cta_title { font-size: 25px; line-height: 1.5;}
  .denshidoisyoLpPage .cta_lead { font-size: 18px;}
  .denshidoisyoLpPage .cta_btn_group { flex-direction: column;}
  .denshidoisyoLpPage .cta_btn_group .fv_new_dl_btn { width: 100%; max-width: none;}
}

/******************************shukan Page CSS*******************************/
/* 集患LP（/shukan）。clinicopening.astroの「双子LP」として、セクション先頭アイコン(.sectionTitleIcon)・
   影付きカード・アコーディオン(.accordion)など既存の共通コンポーネントを再利用しつつ、
   ページ固有の内容は .shukanLpPage 配下にスコープして他ページへ影響しないようにしている */
.shukanLpPage { --shukan_grad: linear-gradient(135deg, #00546C 0%, #1C9F91 100%); --shukan_grad_text: linear-gradient(77deg, #00546C 0%, #007E8F 28%, #1C9F91 90%); --shukan_accent: #00936a; --shukan_accent_light: #1C9F91; --shukan_text: #333333; --shukan_text_muted: #555; --shukan_bg_canvas: #f5f6f8; --shukan_border: #eef0f5; --shukan_border_strong: #e3e6ee; --shukan_radius: 8px; --shukan_shadow: 0 12px 30px rgba(15, 32, 48, .07); --shukan_box_shadow: rgba(166, 176, 191, 0.5) 5px 5px 12.5px; --shukan_content_max: 1250px; --shukan_content_narrow: 1100px;}
.shukanLpPage, .shukanLpPage * { box-sizing: border-box;}
.shukanLpPage { font-family: "noto_sans_cjk_jp_regularRg", sans-serif; color: var(--shukan_text); line-height: 1.8; background: #fff; overflow: hidden;}
.shukanLpPage .material-symbols-rounded { font-variation-settings: 'FILL' 0, 'wght' 500, 'GRAD' 0, 'opsz' 24; vertical-align: middle; line-height: 1;}
.shukanLpPage .shukan_container { max-width: var(--shukan_content_max); margin: 0 auto; padding: 0 32px;}
.shukanLpPage .shukan_container--narrow { max-width: var(--shukan_content_narrow);}
.shukanLpPage .shukan_container--cta,
.shukanLpPage .shukan_container--faq { max-width: 880px; text-align: center;}
.shukanLpPage .shukan_section { padding: 96px 0;}
/* 「クリニックは見つからなければ選ばれない」セクションのみ下paddingを詰める */
.shukanLpPage #awareness-section { padding-bottom: 0;}
/* STEP2/STEP3セクション：上部中央に三角（背景色と反転＝直前セクションの色をのぞかせる） */
.shukanLpPage .shukan_step2,
.shukanLpPage .shukan_step3 { position: relative;}
.shukanLpPage .shukan_step2::before,
.shukanLpPage .shukan_step3::before { content: ''; display: block; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 40px solid transparent; border-right: 40px solid transparent;}
.shukanLpPage .shukan_step2::before { border-top: 22px solid #f5f6f8;}
.shukanLpPage .shukan_step3::before { border-top: 22px solid #fff;}
/* ── FV ── */
.shukanLpPage .shukan_fv { position: relative; background: #fff; color: var(--shukan_text); overflow: hidden;}
.shukanLpPage .shukan_fv__inner { padding: 0 32px; display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center;}
.shukanLpPage .shukan_fv__title { font-size: 50px; font-weight: 700; line-height: 1.4; margin: 0 0 24px;}
.shukanLpPage .shukan_fv__title em { font-style: normal; color: var(--shukan_accent); border-bottom: 4px solid var(--shukan_accent_light); padding: 0 2px;}
.shukanLpPage .shukan_fv__lead { font-size: 20px; line-height: 1.3; margin: 0 0 20px; color: var(--shukan_text);}
.shukanLpPage .shukan_fv__product { font-size: 24px; font-weight: 700; margin: 0 0 24px; line-height: 1.7; color: var(--shukan_accent);}
.shukanLpPage .shukan_fv .base-btn { max-width: 100%;}
.shukanLpPage .achievement { margin-top: 14px;}
.shukanLpPage .achievement .mark1 > span:nth-child(2) { color: var(--shukan_accent);}
.shukanLpPage .shukan_fv__visual { width: 100%;}
.shukanLpPage .shukan_fv__img { display: block; width: 146%; max-width: 160%; height: auto; margin-left: -20%;}
/* ── プレースホルダー（画像未支給箇所） ── */
.shukanLpPage .shukan_colCard__thumb { display: block; width: 100%; aspect-ratio: 7/4; object-fit: contain; object-position: top; border-radius: var(--shukan_radius) var(--shukan_radius) 0 0;}
/* ── セクション見出し（clinicopening .sectionTitle 相当） ── */
.shukanLpPage .shukan_sectionHead { text-align: center; margin-bottom: 48px;}
.shukanLpPage .shukan_sectionHead .sectionTitleIcon { padding-bottom: 16px;}
.shukanLpPage .shukan_h2 { font-size: 38px; font-weight: 700; margin: 0 0 8px; line-height: 1.4;}
.shukanLpPage .shukan_h2 span { color: var(--shukan_accent);}
.shukanLpPage .shukan_divider { width: 56px; height: 4px; background: var(--shukan_grad); border-radius: 2px; margin: 16px auto 12px;}
.shukanLpPage .shukan_lead { font-size: 16px; margin: 0; color: var(--shukan_text);}
.shukanLpPage .shukan_subhead { font-size: 20px; font-weight: 700; color: #444; margin: 8px 0 12px; text-align: center;}
.shukanLpPage #awareness-section .shukan_subhead { font-size: 32px;}
.shukanLpPage .shukan_bodyText { font-size: 20px; line-height: 1.95; margin: 0 0 40px;}
.shukanLpPage .shukan_bodyText--center { text-align: center; max-width: 880px; margin-left: auto; margin-right: auto; margin-top: 40px;}
.shukanLpPage .shukan_bodyText--lg { font-size: 30px;}
.shukanLpPage .shukan_bodyText strong, .shukanLpPage .shukan_subhead strong { color: var(--shukan_accent); font-weight: bold;}
.shukanLpPage .shukan_footnote { text-align: right; font-size: 12px; color: var(--shukan_text_muted); margin: 0;}
.shukanLpPage .shukan_badge { display: inline-block; background: #fff; border: 5px solid #ccc; color: #555; border-radius: 999px; padding: 10px 30px; font-weight: 700; font-size: 16px; margin-bottom: 14px;}
/* ── グリッド・カード ── */
.shukanLpPage .shukan_grid { display: grid; gap: 24px;}
.shukanLpPage .shukan_grid--3 { grid-template-columns: repeat(3, 1fr);}
.shukanLpPage .shukan_grid--4 { grid-template-columns: repeat(4, 1fr);}
.shukanLpPage .shukan_grid--plain { gap: 24px;}
.shukanLpPage .shukan_card { background: #fff; border-radius: var(--shukan_radius); box-shadow: var(--shukan_box_shadow); padding: 28px 24px; position: relative; overflow: hidden;}
.shukanLpPage .shukan_card--center { text-align: center; padding: 32px 26px;}
.shukanLpPage .shukan_cardIcon { margin-bottom: 16px; color: var(--shukan_accent_light);}
.shukanLpPage .shukan_cardIcon--circle { display: flex; align-items: center; justify-content: center;}
.shukanLpPage #solution-overview-section .shukan_cardIcon--circle { width: 100%; height: 130px;}
.shukanLpPage #solution-overview-section .shukan_cardIcon--circle img { display: block; max-width: 92%; max-height: 100%; width: auto; height: auto; margin: 0 auto;}
.shukanLpPage #solution-overview-section .shukan_cardIcon--circle img[src$="shukan07.webp"] { max-width: 64%; max-height: 70%;}
.shukanLpPage .shukan_card--center .shukan_cardIcon { width: 64px; height: 64px; margin: 0 auto 18px; background: var(--shukan_bg_canvas); border-radius: 50%;}
.shukanLpPage .shukan_cardIcon--lg { width: 88px; height: 88px;}
.shukanLpPage #website-actions-section .shukan_cardIcon--lg { width: 100%; height: 130px; background: none; border-radius: 0;}
.shukanLpPage #website-actions-section .shukan_cardIcon--lg img { display: block; max-width: 92%; max-height: 100%; width: auto; height: auto; margin: 0 auto;}
.shukanLpPage #conversion-actions-section .shukan_grid--3:not(.shukan_grid--plain) .shukan_cardIcon--lg { width: 100%; height: 180px; margin: 0 auto 16px; background: none; border-radius: 0; display: flex; align-items: center; justify-content: center;}
.shukanLpPage #conversion-actions-section .shukan_grid--3:not(.shukan_grid--plain) .shukan_cardIcon--lg img { display: block; width: 190px; height: 190px; object-fit: contain;}

@media (min-width: 768px) {
  .shukanLpPage #conversion-actions-section .shukan_grid--3:not(.shukan_grid--plain) .shukan_cardIcon--lg img[src$="shukan18.webp"] { width: 280px; height: auto;}
}

.shukanLpPage #security-section .shukan_cardIcon--lg { width: 100%; height: 145px; margin: 0 auto 16px; background: none; border-radius: 0; display: flex; align-items: flex-end; justify-content: center;}
.shukanLpPage #security-section .shukan_cardIcon--lg img { display: block; height: auto;}
.shukanLpPage #security-section .shukan_cardIcon--lg img[src$="shukan19.webp"] { width: 50.5%; max-width: 140px;}
.shukanLpPage #security-section .shukan_cardIcon--lg img[src$="shukan20.webp"] { width: 100%; max-width: 250px;}
.shukanLpPage #security-section .shukan_cardIcon--lg img[src$="shukan21.webp"] { width: 100%; max-width: 250px;}
.shukanLpPage .shukan_cardIcon--sm { width: 57%; max-width: 150px; height: auto; aspect-ratio: 1;}
.shukanLpPage .shukan_worryIcon { display: flex; align-items: flex-end; justify-content: center; height: 165px; margin: 0 0 18px;}
.shukanLpPage .shukan_worryIcon img { display: block; height: auto;}
.shukanLpPage .shukan_worryIcon img[src$="shukan01.webp"] { width: 73%; max-width: 240px;}
.shukanLpPage .shukan_worryIcon img[src$="shukan02.svg"] { width: 55%; max-width: 180px;}
.shukanLpPage .shukan_worryIcon img[src$="shukan03.svg"] { width: 52%; max-width: 170px;}
.shukanLpPage .shukan_card__note { font-size: 16px; color: var(--shukan_text_muted); line-height: 1.8; margin: 0 0 14px;}
.shukanLpPage .shukan_card__headline { font-size: 18px; font-weight: 700; margin: 0; color: #444;}
.shukanLpPage .shukan_card__title { font-size: 18px; font-weight: 700; margin: 0 0 12px; color: #444; display: flex; gap: 10px; align-items: baseline; justify-content: center;}
.shukanLpPage .shukan_card__num { color: var(--shukan_accent_light); font-size: 22px; font-weight: 700;}
.shukanLpPage .shukan_card__title4 { font-size: 18px; font-weight: 700; margin: 0 0 18px; color: #444; line-height: 1.5;}
.shukanLpPage .shukan_card__desc { font-size: 16px; line-height: 1.85; margin: 0;}
.shukanLpPage .shukan_card--center .shukan_card__desc, .shukanLpPage .shukan_concept .shukan_card__desc { text-align: left;}
.shukanLpPage .shukan_list { margin: 0; padding-left: 1.2em; font-size: 16px; line-height: 1.9;}
.shukanLpPage .shukan_concept { text-align: center; padding: 0 12px;}
/* ── 気づき：3ステップジャーニー（clinicopening .support_systemsItem と同じ二重シャドー構造） ── */
.shukanLpPage .shukan_journey { display: flex; align-items: stretch; justify-content: center; gap: 16px; flex-wrap: wrap; margin: 44px 0;}
.shukanLpPage .shukan_journeyStep { flex: 1; min-width: 200px; background-color: #F2F4F8; border-radius: 8px; box-shadow: #a6b0bf71 5px 5px 12px; padding: 32px 22px 28px; text-align: center; position: relative; overflow: hidden;}
.shukanLpPage .shukan_journeyStep__bg { position: absolute; left: 0; right: 0; top: 0; bottom: 0; box-shadow: var(--shukan_box_shadow);}
.shukanLpPage .shukan_journeyStep .shukan_cardIcon { position: relative; margin: 0 auto 14px; background: #fff; border-radius: 50%; overflow: hidden;}
.shukanLpPage .shukan_journeyStep .shukan_cardIcon img { display: block; width: 100%; height: 100%; object-fit: cover;}
.shukanLpPage .shukan_journeyStep__label,
.shukanLpPage .shukan_journeyStep__title,
.shukanLpPage .shukan_journeyStep__desc,
.shukanLpPage .shukan_journeyStep__sub { position: relative;}
.shukanLpPage .shukan_journeyStep__label { font-size: 13px; font-weight: 700; color: var(--shukan_accent_light); letter-spacing: 1px;}
.shukanLpPage .shukan_journeyStep__title { font-size: 22px; font-weight: 700; margin: 2px 0 8px;}
.shukanLpPage .shukan_journeyStep__desc { font-size: 16px; font-weight: 700; margin-bottom: 10px;}
.shukanLpPage .shukan_journeyStep__sub { font-size: 13px; color: var(--shukan_text_muted); margin-top: 4px;}
.shukanLpPage .shukan_journeyArrow { display: flex; align-items: center; color: var(--shukan_accent_light); font-size: 28px;}
/* ── 「だからこそ」コールアウト：横幅100%表示＋上部中央に白い三角（clinicopening .supportSection:before 相当） ── */
.shukanLpPage .shukan_calloutBox { position: relative; width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); background: var(--shukan_grad); color: #fff; padding: 70px 32px; font-size: 36px; font-weight: 700; text-align: center; line-height: 1.7;}
.shukanLpPage .shukan_calloutBox::before { content: ''; display: block; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 34px solid transparent; border-right: 34px solid transparent; border-top: 18px solid #fff;}
.shukanLpPage .shukan_calloutBox em { font-style: normal; border-bottom: 3px solid rgba(255,255,255,.6);}
.shukanLpPage .shukan_calloutBox__inner { max-width: 900px; margin: 0 auto; font-size: 32px;}
/* ── CTA（中間／最終） ── */
.shukanLpPage .shukan_cta { background: var(--shukan_grad); color: #fff; padding: 72px 0; text-align: center;}
.shukanLpPage .shukan_cta__title { font-size: 36px; font-weight: 700; margin: 0 0 18px; line-height: 1.5;}
.shukanLpPage .shukan_cta__lead { font-size: 17px; font-weight: 700; margin: 0 0 10px;}
.shukanLpPage .shukan_cta__note { font-size: 16px; opacity: .95; margin: 0 0 30px; line-height: 1.9;}
.shukanLpPage .shukan_cta__fvbtn { width: auto; min-width: 360px; padding: 0 44px 0 28px; margin-top: 0;}
.shukanLpPage .shukan_cta__phone { margin-top: 28px;}
.shukanLpPage .shukan_cta__phoneNum { font-size: 26px; font-weight: 700;}
.shukanLpPage .shukan_cta__phoneNum a { color: #fff; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px;}
.shukanLpPage .shukan_cta__phoneHour { font-size: 14px; opacity: .9; margin-top: 6px;}
.shukanLpPage .shukan_cta__phoneNote { font-size: 13px; opacity: .8; margin-top: 2px;}
/* ── データ検証 ── */
.shukanLpPage .shukan_statCard { background: var(--shukan_bg_canvas); border-radius: var(--shukan_radius); box-shadow: var(--shukan_box_shadow); padding: 28px 20px; text-align: center;}
.shukanLpPage .shukan_statCard--bar { display: flex; flex-direction: column; justify-content: center;}
.shukanLpPage .shukan_donut { position: relative; width: 140px; height: 140px; margin: 0 auto;}
.shukanLpPage .shukan_donut__num { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: 34px; font-weight: 700; color: #00546C;}
.shukanLpPage .shukan_statCard__label { font-size: 14px; margin-top: 12px; font-weight: 700;}
.shukanLpPage .shukan_barChart { display: flex; align-items: flex-end; justify-content: center; gap: 12px; height: 72px;}
.shukanLpPage .shukan_barChart__item { text-align: center;}
.shukanLpPage .shukan_barChart__bar { width: 26px; height: 0; background: #cdd3e1; border-radius: 4px 4px 0 0; margin: 0 auto 4px;}
.shukanLpPage .shukan_barChart__bar--accent { background: linear-gradient(180deg, #1C9F91, #00546C);}
.shukanLpPage .shukan_barChart__item span { font-size: 12px; color: var(--shukan_text_muted);}
.shukanLpPage .shukan_barChart__accentLabel { font-weight: 700; color: #00546C !important;}
.shukanLpPage .shukan_numCard { background: var(--shukan_bg_canvas); border-radius: var(--shukan_radius); box-shadow: var(--shukan_box_shadow); padding: 24px 20px; text-align: center;}
.shukanLpPage .shukan_numCard__num { font-size: 30px; font-weight: 700; color: var(--shukan_accent);}
.shukanLpPage .shukan_numCard__label { font-size: 13px; margin-top: 8px; font-weight: 700;}
/* ── 実績・事例カード（products/line .voiceList のアイコン+テキスト構成を踏襲） ── */
.shukanLpPage .shukan_voiceGrid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px;}
.shukanLpPage .shukan_voiceCard { background: #fff; border-radius: var(--shukan_radius); box-shadow: var(--shukan_box_shadow); padding: 28px 24px; display: flex; gap: 20px; align-items: flex-start;}
.shukanLpPage .shukan_voiceCard__icon { width: 88px; height: 88px; border-radius: 50%; overflow: hidden; flex-shrink: 0;}
.shukanLpPage .shukan_voiceCard__icon img { display: block; width: 100%; height: 100%; object-fit: cover;}
.shukanLpPage .shukan_voiceCard__headline { font-size: 18px; font-weight: 700; margin: 0 0 6px; color: #444;}
.shukanLpPage .shukan_voiceCard__dept { font-size: 13px; font-weight: 700; color: var(--shukan_accent); margin: 0 0 10px;}
.shukanLpPage .shukan_voiceCard__quote { font-size: 16px; line-height: 1.85; margin: 0;}
/* ── コラム導線カード ── */
.shukanLpPage .shukan_colCard { background: #fff; border-radius: var(--shukan_radius); box-shadow: var(--shukan_box_shadow); overflow: hidden;}
.shukanLpPage .shukan_colCard__link { display: block; color: inherit; text-decoration: none; transition: opacity .2s ease;}
.shukanLpPage .shukan_colCard__link:hover { opacity: .8;}
.shukanLpPage .shukan_colCard__body { padding: 20px;}
.shukanLpPage .shukan_colCard__title { font-size: 16px; font-weight: 700; color: #444; line-height: 1.6; display: block; margin-bottom: 10px;}
/* ── FAQ（共通 .accordion を利用。文言の折返しのみページ側で微調整） ── */
.shukanLpPage .shukan_accordion .accordion-header h4 { font-size: 18px;}
.shukanLpPage .shukan_accordion .accordion-header h4::before { content: 'Q. ';}
.shukanLpPage .shukan_accordion .accordion-content { margin-left: 0;}
.shukanLpPage .shukan_accordion .accordion-contentInner::before { content: 'A. '; position: static; font-size: inherit;}
.shukanLpPage .shukan_accordion .accordion-contentInner p { font-size: 16px; line-height: 1.85; display: inline;}
.shukanLpPage .shukan_accordion__icon .material-symbols-rounded { font-size: 26px; color: var(--shukan_accent_light); transition: transform .3s;}
.shukanLpPage .shukan_accordion.open .shukan_accordion__icon .material-symbols-rounded { transform: rotate(180deg);}
/* ── レスポンシブ ── */

@media (max-width: 1023px) {
  .shukanLpPage .shukan_fv__inner { grid-template-columns: 1fr; position: relative;}
  .shukanLpPage .shukan_fv__img { width: 100%; max-width: 100%; margin-left: 0;}
  .shukanLpPage .shukan_grid--3,
  .shukanLpPage .shukan_grid--4 { grid-template-columns: repeat(2, 1fr);}
  .shukanLpPage .shukan_voiceGrid { grid-template-columns: 1fr;}
  .shukanLpPage .shukan_section { padding: 72px 0;}
  .shukanLpPage .shukan_fv__title { font-size: 36px;}
  .shukanLpPage .shukan_h2 { font-size: 32px;}
  .shukanLpPage .shukan_calloutBox { font-size: 28px; padding: 56px 24px;}
}

@media (min-width: 768px) and (max-width: 1023px) {
  /* タブレット表示: FV画像を右端に幅60%で配置し、shukan_fv__productの下あたりまで引き上げる */
  .shukanLpPage .shukan_fv__visual { position: absolute; top: 310px; right: 0; width: 60%;}
}

@media (max-width: 767px) {
  .shukanLpPage .shukan_grid--3,
  .shukanLpPage .shukan_grid--4 { grid-template-columns: 1fr;}
  .shukanLpPage .shukan_step2::before,
  .shukanLpPage .shukan_step3::before { border-left-width: 26px; border-right-width: 26px; border-top-width: 14px;}
  .shukanLpPage .shukan_calloutBox { font-size: 22px; padding: 44px 20px;}
  .shukanLpPage .shukan_calloutBox::before { border-left-width: 24px; border-right-width: 24px; border-top-width: 13px;}
  .shukanLpPage .shukan_calloutBox__inner,
  .shukanLpPage .shukan_cta__title { font-size: 28px;}
  .shukanLpPage .shukan_fv__lead,
  .shukanLpPage .shukan_bodyText { font-size: 17px; line-height: 1.5;}
  .shukanLpPage #shukan-data-section .shukan_grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr));}
  .shukanLpPage .shukan_section { padding: 56px 0;}
  .shukanLpPage .shukan_fv__title { font-size: 26px;}
  .shukanLpPage .shukan_h2 { font-size: 24px;}
  .shukanLpPage .achievement .mark { flex: 0 1 216px;}
  .shukanLpPage .achievement .mark1 > span:nth-child(1),
  .shukanLpPage .achievement .mark1 > span:nth-child(3) { font-size: 13px;}
  .shukanLpPage .achievement .mark1 > span:nth-child(2) { font-size: 42px;}
  .shukanLpPage .achievement .mark1 > span:nth-child(2) small { font-size: 15px;}
  .shukanLpPage .achievement .gmoMark { width: 60px;}
  .shukanLpPage .achievement .gmoMark img { width: 100%; height: auto;}
  .shukanLpPage .shukan_subhead { font-size: 17px;}
  .shukanLpPage #awareness-section .shukan_subhead { font-size: 24px;}
  .shukanLpPage .shukan_journey { flex-direction: column;}
  .shukanLpPage .shukan_journeyArrow { transform: rotate(90deg);}
  .shukanLpPage .shukan_container { padding: 0 16px;}
  .shukanLpPage .shukan_fv__inner { padding: 0 16px; gap: 0;}
  .shukanLpPage .achievement ul { justify-content: center;}
  .shukanLpPage .shukan_cta__fvbtn { width: 100%; min-width: 0; max-width: none; padding: 0 20px;}
  .shukanLpPage .shukan_bodyText--lg { font-size: 22px;line-height: 1.5;}
  .shukanLpPage #solution-overview-section .shukan_cardIcon--circle { height: 100px;}
  .shukanLpPage .shukan_stepGroup { display: flex; flex-direction: column; gap: 24px;}
  .shukanLpPage .shukan_stepGroup > .shukan_grid--plain,
  .shukanLpPage .shukan_stepGroup > .shukan_grid--3:not(.shukan_grid--plain) { display: contents;}
  .shukanLpPage .shukan_stepGroup > .shukan_grid--plain > .shukan_concept:nth-child(1) { order: 1;}
  .shukanLpPage .shukan_stepGroup > .shukan_grid--3:not(.shukan_grid--plain) > .shukan_card:nth-child(1) { order: 2;}
  .shukanLpPage .shukan_stepGroup > .shukan_grid--plain > .shukan_concept:nth-child(2) { order: 3;}
  .shukanLpPage .shukan_stepGroup > .shukan_grid--3:not(.shukan_grid--plain) > .shukan_card:nth-child(2) { order: 4;}
  .shukanLpPage .shukan_stepGroup > .shukan_grid--plain > .shukan_concept:nth-child(3) { order: 5;}
  .shukanLpPage .shukan_stepGroup > .shukan_grid--3:not(.shukan_grid--plain) > .shukan_card:nth-child(3) { order: 6;}
  .shukanLpPage .shukan_worryIcon { height: auto;}
  .shukanLpPage #website-actions-section .shukan_cardIcon--lg { height: 100px;}
}

/* ============================================================
   MEO Dash! byGMO ページ（/meodash）
   ============================================================ */

/* ==============================================
   MEO Dash Landing Page Styles
   - .meo- prefix to avoid conflicts with common.css
   ============================================== */

/* Color Variables */
.meodashLpPage {
  --meo-primary: #00b4c5;
  --meo-primary-dark: #00a8b8;
  --meo-secondary: #005BAC;
  --meo-accent: #ff8c00;
  --meo-light-gray: #f5f7fa;
  --meo-dark: #333333;
  --meo-text: #444444;
  --meo-border: #e0e0e0;
  --meo-white: #ffffff;
}
/* ---- Hero / KV Section ---- */
.meodashLpPage .meo-hero {
  position: relative;
  background: #fff;
  color: var(--meo-dark);
  overflow: hidden;
  padding: 0;
}
.meodashLpPage .meo-hero-inner {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 48px;
  align-items: center;
}
.meodashLpPage .meo-hero-visual { width: 100%;}
.meodashLpPage .meo-hero-img { display: block; width: 146%; max-width: 160%; height: auto; margin-left: -20%;}
.meodashLpPage .meo-hero-logos {
  display: inline-flex;
  align-items: stretch;
  margin-bottom: 14px;
  background: rgba(255, 255, 255, 0.97);
  border-radius: 0;
  box-shadow: none;
  overflow: hidden;
}
.meodashLpPage .meo-logo-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;
}
.meodashLpPage .meo-logo {
  max-height: 58px;
  width: auto;
}
.meodashLpPage .meo-hero-title {
  font-size: 38px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 12px;
  letter-spacing: -0.5px;
  color: var(--meo-dark);
}
.meodashLpPage .meo-hero-badge {
  margin-bottom: 0;
}
.meodashLpPage .meo-hero-badge img {
  max-width: 110px;
  height: auto;
}
.meodashLpPage .meo-no1-badges {
  margin-top: 0;
}
.meodashLpPage .meo-no1-badges img {
  max-width: 340px;
  width: 100%;
  height: auto;
}
/* ---- Section Common ---- */
.meodashLpPage .meo-section {
  padding: 70px 0;
}
.meodashLpPage .meo-section--gray {
  background-color: var(--meo-light-gray);
}
.meodashLpPage .meo-section--gradient {
  background: var(--meo-white);
  color: var(--meo-dark);
}
.meodashLpPage .meo-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}
.meodashLpPage .meo-section-title {
  font-size: 34px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 16px;
  line-height: 1.4;
  color: var(--meo-dark);
}
.meodashLpPage .meo-section-title--white {
  color: var(--meo-white);
}
.meodashLpPage .meo-subtitle {
  font-size: 17px;
  text-align: center;
  color: var(--meo-text);
  margin-bottom: 40px;
}
.meodashLpPage .meo-subtitle--white {
  color: rgba(255, 255, 255, 0.9);
}
/* ---- Why MEO Section ---- */
.meodashLpPage .meo-why-content {
  display: flex;
  gap: 50px;
  align-items: center;
  margin: 40px 0;
}
.meodashLpPage .meo-why-left {
  flex: 0 0 280px;
  text-align: center;
}
.meodashLpPage .meo-why-left img {
  max-width: 100%;
  height: auto;
}
.meodashLpPage .meo-why-right {
  flex: 1;
  min-width: 0;
}
.meodashLpPage .meo-why-right p {
  margin-bottom: 18px;
  font-size: 16px;
  line-height: 1.9;
  color: var(--meo-text);
}
.meodashLpPage .meo-comparison {
  margin-top: 40px;
  text-align: center;
}
.meodashLpPage .meo-comparison img {
  max-width: 100%;
  height: auto;
}
/* ---- What is MEO Section ---- */
.meodashLpPage .meo-what-content {
  display: flex;
  gap: 50px;
  align-items: center;
  margin: 40px 0;
}
.meodashLpPage .meo-what-image {
  flex: 0 0 380px;
  text-align: center;
}
.meodashLpPage .meo-what-image img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.meodashLpPage .meo-what-text {
  flex: 1;
  min-width: 0;
}
.meodashLpPage .meo-what-text p {
  margin-bottom: 18px;
  font-size: 16px;
  line-height: 1.9;
  color: var(--meo-text);
}
/* ---- Effectiveness Section ---- */
.meodashLpPage .meo-effectiveness-content {
  display: flex;
  flex-direction: column;
  gap: 40px;
  align-items: center;
  margin-top: 40px;
}
.meodashLpPage .meo-action-rate,
.meodashLpPage .meo-user-flow {
  width: 100%;
  max-width: 800px;
  background: var(--meo-white);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.07);
  border: 1px solid var(--meo-border);
}
.meodashLpPage .meo-action-rate img,
.meodashLpPage .meo-user-flow img {
  display: block;
  width: 100%;
  height: auto;
}
.meodashLpPage .meo-key-message {
  text-align: center;
  margin-top: 30px;
}
.meodashLpPage .meo-key-message p {
  font-size: 22px;
  font-weight: 700;
  color: var(--meo-secondary);
}
.meodashLpPage .meo-key-message .meo-large-num {
  font-size: 34px;
  font-weight: 800;
}
/* ---- Features Grid ---- */
.meodashLpPage .meo-features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  margin: 40px 0;
}
.meodashLpPage .meo-feature-card {
  background: var(--meo-white);
  padding: 28px;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-align: center;
}
.meodashLpPage .meo-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}
.meodashLpPage .meo-feature-image {
  margin-bottom: 20px;
  height: 180px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 6px;
}
.meodashLpPage .meo-feature-image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.meodashLpPage .meo-feature-title {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 12px;
  color: var(--meo-dark);
}
.meodashLpPage .meo-feature-desc {
  font-size: 16px;
  line-height: 1.8;
  color: var(--meo-text);
  text-align: left;
}
/* ---- Case Studies ---- */
.meodashLpPage .meo-case-studies {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin: 40px 0;
}
.meodashLpPage .meo-case-study {
  background: var(--meo-white);
  padding: 24px;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
.meodashLpPage .meo-case-image {
  margin-bottom: 16px;
  border-radius: 6px;
  overflow: hidden;
}
.meodashLpPage .meo-case-image img {
  display: block;
  width: 100%;
  height: auto;
}
.meodashLpPage .meo-case-content {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.meodashLpPage .meo-case-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  margin-top: 3px;
}
.meodashLpPage .meo-case-text {
  font-size: 16px;
  line-height: 1.8;
  color: var(--meo-text);
}
/* ---- Trust Section ---- */
.meodashLpPage .meo-trust-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  padding: 20px 0;
}
.meodashLpPage .meo-partnership {
  max-width: 360px;
  width: 100%;
}
.meodashLpPage .meo-publishers {
  max-width: 700px;
  width: 100%;
}
.meodashLpPage .meo-partnership img,
.meodashLpPage .meo-publishers img {
  display: block;
  max-width: 100%;
  height: auto;
}
.meodashLpPage .meo-trust-text {
  text-align: center;
  font-size: 16px;
  line-height: 1.8;
  max-width: 700px;
  color: var(--meo-text);
}
/* ---- Testimonials ---- */
.meodashLpPage .meo-testimonials {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
  margin: 40px 0;
}
.meodashLpPage .meo-testimonial-card {
  background: var(--meo-white);
  padding: 24px;
  border-radius: 10px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}
.meodashLpPage .meo-testimonial-image {
  margin-bottom: 20px;
  border-radius: 6px;
  overflow: hidden;
  height: 220px;
}
.meodashLpPage .meo-testimonial-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.meodashLpPage .meo-testimonial-quote {
  font-size: 16px;
  line-height: 1.8;
  color: var(--meo-text);
  margin-bottom: 12px;
  border-left: 3px solid var(--meo-primary);
  padding-left: 16px;
}
.meodashLpPage .meo-testimonial-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--meo-primary);
  text-align: right;
}
/* ---- CTA Sections ---- */
.meodashLpPage .meo-cta-section {
  padding: 60px 20px;
  text-align: center;
}
.meodashLpPage .meo-cta-section--gradient {
  background: #e5eef4;
  color: var(--meo-dark);
}
.meodashLpPage .meo-cta-buttons {
  display: flex;
  gap: 16px;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 30px;
}
/* 中段CTAボタン：資料ダウンロード=共通Bパターン(.base-btn.btn-round-arrow.btn-select)、
   お問い合わせ=現行サイトの.base-btn2.whiteBg.btn-round-arrow（背景が明るい#e5eef4のため、
   白背景用の.whiteBg＝ティール文字・ティール枠を使用）。
   資料ダウンロードボタンとサイズだけ揃える */
.meodashLpPage .meo-cta-buttons .base-btn2.whiteBg {
  width: 360px;
  height: 72px;
  font-size: 16px;
}
/* ---- FAQ Section ---- */
.meodashLpPage .meo-faq {
  max-width: 800px;
  margin: 40px auto 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.meodashLpPage .meo-faq-item {
  background: var(--meo-white);
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--meo-border);
}
.meodashLpPage .meo-faq-item.active {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.meodashLpPage .meo-faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
  cursor: pointer;
  background: var(--meo-white);
  transition: background-color 0.2s ease;
  user-select: none;
}
.meodashLpPage .meo-faq-question:hover {
  background-color: var(--meo-light-gray);
}
.meodashLpPage .meo-faq-question h3 {
  font-size: 16px;
  font-weight: 600;
  color: var(--meo-dark);
  margin: 0;
  padding: 0;
  line-height: 1.5;
}
.meodashLpPage .meo-faq-toggle {
  font-size: 22px;
  font-weight: 300;
  color: var(--meo-primary);
  transition: transform 0.3s ease;
  flex-shrink: 0;
  margin-left: 16px;
}
.meodashLpPage .meo-faq-item.active .meo-faq-toggle {
  transform: rotate(45deg);
}
.meodashLpPage .meo-faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding 0.3s ease;
  background-color: var(--meo-light-gray);
  padding: 0 20px;
}
.meodashLpPage .meo-faq-item.active .meo-faq-answer {
  max-height: 500px;
  padding: 20px;
}
.meodashLpPage .meo-faq-answer p {
  font-size: 16px;
  line-height: 1.8;
  color: var(--meo-text);
  margin: 0;
}
/* ---- Hero Tagline: /products/line の医療機関向けバッジ（緑文字+緑ボーダー）と同系統 ---- */
.meodashLpPage .meo-hero-tagline {
  display: inline-block;
  background: #fff;
  color: #11877a;
  color: var(--color-green);
  font-size: 22px;
  font-weight: 500;
  padding: 10px 26px;
  border: 2px solid #11877a;
  border: 2px solid var(--color-green);
  border-radius: 38px;
  margin-bottom: 16px;
  letter-spacing: 1px;
}
.meodashLpPage .meo-hero-badges-row {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  margin-bottom: 14px;
}
/* ---- Hero CTA Buttons (matches header .radius_btn / .radius_btns.fill) ---- */
.meodashLpPage .meo-hero-cta {
  display: flex;
  gap: 16px;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 4px;
}
.meodashLpPage .meo-hero-cta .base-btn { max-width: 100%;}
/* 既存客向けリンク：文言が長いため固定360pxではなく可変幅・1行表示にし、高さは基本の3/4（72px→54px）にする */
.meodashLpPage .meo-hero-copy > a.base-btn {
  width: auto;
  max-width: 100%;
  height: 54px;
  padding: 0 32px;
  margin-top: 16px;
  white-space: nowrap;
}
/* ---- MEO Reasons Section ---- */
.meodashLpPage .meo-reasons {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 40px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.meodashLpPage .meo-reason-item {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  background: var(--meo-white);
  border-radius: 12px;
  padding: 28px 32px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  border-left: 5px solid var(--meo-primary);
}
.meodashLpPage .meo-reason-num {
  font-size: 42px;
  font-weight: 800;
  color: var(--meo-primary);
  line-height: 1;
  font-family: 'Montserrat', sans-serif;
  flex-shrink: 0;
  opacity: 0.85;
  min-width: 56px;
}
.meodashLpPage .meo-reason-body {
  flex: 1;
  min-width: 0;
}
.meodashLpPage .meo-reason-title {
  font-size: 19px;
  font-weight: 700;
  color: var(--meo-dark);
  margin-bottom: 10px;
}
.meodashLpPage .meo-reason-text {
  font-size: 16px;
  line-height: 1.85;
  color: var(--meo-text);
  margin: 0;
}
/* ---- Pricing Section ---- */
.meodashLpPage .meo-pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 40px 0 24px;
}
.meodashLpPage .meo-pricing-card {
  background: var(--meo-white);
  border-radius: 12px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  position: relative;
  border: 2px solid var(--meo-border);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.meodashLpPage .meo-pricing-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12);
}
.meodashLpPage .meo-pricing-card--featured {
  border-color: var(--meo-primary);
  box-shadow: 0 4px 24px rgba(0, 180, 197, 0.2);
}
.meodashLpPage .meo-pricing-popular {
  background: var(--meo-primary);
  color: var(--meo-white);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  padding: 6px 0;
  letter-spacing: 0.5px;
}
/* Invisible spacer keeps non-featured cards vertically aligned with featured */
.meodashLpPage .meo-pricing-popular--spacer {
  background: transparent !important;
  color: transparent !important;
  pointer-events: none;
  user-select: none;
}
.meodashLpPage .meo-pricing-header {
  background: var(--meo-light-gray);
  padding: 24px 24px 16px;
  text-align: center;
  border-bottom: 1px solid var(--meo-border);
}
.meodashLpPage .meo-pricing-card--featured .meo-pricing-header {
  background: rgba(0, 180, 197, 0.08);
}
.meodashLpPage .meo-pricing-plan {
  font-size: 22px;
  font-weight: 700;
  color: var(--meo-secondary);
  margin-bottom: 6px;
}
.meodashLpPage .meo-pricing-kw {
  font-size: 13px;
  color: var(--meo-text);
  font-weight: 500;
}
.meodashLpPage .meo-pricing-body {
  padding: 24px;
  text-align: center;
}
.meodashLpPage .meo-pricing-price {
  margin-bottom: 10px;
}
.meodashLpPage .meo-pricing-label {
  display: block;
  font-size: 12px;
  color: var(--meo-text);
  margin-bottom: 4px;
}
.meodashLpPage .meo-pricing-amount {
  font-size: 30px;
  font-weight: 800;
  color: var(--meo-dark);
  line-height: 1.2;
  margin: 0;
}
.meodashLpPage .meo-pricing-unit {
  font-size: 14px;
  font-weight: 500;
}
.meodashLpPage .meo-pricing-annual {
  font-size: 13px;
  color: var(--meo-text);
  background: var(--meo-light-gray);
  border-radius: 4px;
  padding: 6px 12px;
  display: inline-block;
  margin-top: 8px;
}
/* ---- Responsive: Tablet ---- */

@media (max-width: 960px) {
  .meodashLpPage .meo-hero-inner {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 30px;
  }
  .meodashLpPage .meo-hero-copy {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .meodashLpPage .meo-hero-img {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }
  .meodashLpPage .meo-hero-logos,
  .meodashLpPage .meo-hero-badges-row,
  .meodashLpPage .meo-hero-cta {
    justify-content: center;
  }
  .meodashLpPage .meo-hero-title {
    font-size: 32px;
  }
  .meodashLpPage .meo-no1-badges img {
    max-width: 360px;
  }
  .meodashLpPage .meo-section-title {
    font-size: 26px;
  }
  .meodashLpPage .meo-why-content,
  .meodashLpPage .meo-what-content {
    flex-direction: column;
    gap: 30px;
  }
  .meodashLpPage .meo-why-left,
  .meodashLpPage .meo-what-image {
    flex: none;
    max-width: 320px;
    margin: 0 auto;
  }
  .meodashLpPage .meo-features-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .meodashLpPage .meo-case-studies,
  .meodashLpPage .meo-testimonials {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .meodashLpPage .meo-cta-buttons {
    flex-direction: column;
    align-items: center;
  }
  .meodashLpPage .meo-cta-buttons .base-btn,
  .meodashLpPage .meo-cta-buttons .base-btn2 {
    width: 100%;
    max-width: 360px;
  }
  /* お問い合わせボタン(.base-btn2.whiteBg)は幅360px固定のため、
     SPで画面幅から右にはみ出す。上と同じく可変幅に上書きする */
  .meodashLpPage .meo-cta-buttons .base-btn2.whiteBg {
    width: 100%;
  }
  .meodashLpPage .meo-pricing-grid {
    grid-template-columns: 1fr;
    max-width: 440px;
    margin-left: auto;
    margin-right: auto;
  }
  .meodashLpPage .meo-reason-item {
    padding: 20px 24px;
  }
  .meodashLpPage .meo-reason-num {
    font-size: 34px;
    min-width: 44px;
  }
}

/* ---- Responsive: Mobile ---- */

@media (max-width: 600px) {
  .meodashLpPage .meo-hero {
    padding: 0;
    min-height: auto;
  }
  .meodashLpPage .meo-hero-title {
    font-size: 24px;
  }
  .meodashLpPage .meo-hero-tagline {
    font-size: 14px;
    padding: 5px 14px;
  }
  .meodashLpPage .meo-hero-logos {
    flex-direction: row;
  }
  .meodashLpPage .meo-logo-wrap {
    padding: 12px 16px;
  }
  .meodashLpPage .meo-hero-badges-row {
    flex-direction: column;
    gap: 12px;
  }
  .meodashLpPage .meo-no1-badges img {
    max-width: 280px;
  }
  .meodashLpPage .meo-hero-cta {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
  .meodashLpPage .meo-hero-copy > a.base-btn {
    white-space: normal;
    width: 100%;
    height: auto;
    padding: 14px 20px;
    line-height: 1.4;
  }
  .meodashLpPage .meo-logo {
    max-height: 44px;
  }
  .meodashLpPage .meo-section {
    padding: 50px 0;
  }
  .meodashLpPage .meo-section-title {
    font-size: 22px;
  }
  .meodashLpPage .meo-subtitle {
    font-size: 16px;
  }
  .meodashLpPage .meo-faq-question {
    padding: 14px 16px;
  }
  .meodashLpPage .meo-testimonial-image {
    height: 160px;
  }
  .meodashLpPage .meo-key-message p {
    font-size: 18px;
  }
  .meodashLpPage .meo-key-message .meo-large-num {
    font-size: 26px;
  }
  .meodashLpPage .meo-cta-section {
    padding: 40px 16px;
  }
  .meodashLpPage .meo-reason-item {
    flex-direction: column;
    gap: 12px;
  }
  .meodashLpPage .meo-reason-num {
    font-size: 30px;
  }
  .meodashLpPage .meo-pricing-amount {
    font-size: 26px;
  }
}

/* ============================================================
   自動精算機 ページ（/seisanki）
   ============================================================ */

.seisankiLpPage { color: #333333; overflow: hidden;}
.seisankiLpPage .sk-container { width: 92%; max-width: 1140px; margin: 0 auto;}
.seisankiLpPage h1, .seisankiLpPage h2, .seisankiLpPage h3, .seisankiLpPage h4 { color: #21252f; font-weight: 700; margin: 0;}
.seisankiLpPage .sk-eyebrow { font-size: clamp(20px, 3.5vw, 28px); font-weight: 700; letter-spacing: 2px; background: linear-gradient(0deg, #0A7EC6, #3BA4DB); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 8px;}
.seisankiLpPage .sk-eyebrow--white { background: none; -webkit-text-fill-color: #fff; color: #fff;}
.seisankiLpPage .sk-section-head { text-align: center; margin-bottom: 40px;}
.seisankiLpPage .sk-section-head-icon { display: block; width: 32px; margin: 0 auto 12px;}
.seisankiLpPage .sk-problem-heading { display: flex; align-items: center; justify-content: center; gap: 10px;}
.seisankiLpPage .sk-problem-heading img { display: inline-block; width: 30px; height: auto; flex-shrink: 0;}
.seisankiLpPage .sk-section-title { font-size: clamp(24px, 4vw, 34px);}
.seisankiLpPage .sk-section-title--white { color: #fff;}
.seisankiLpPage .sk-section-title--yellow { color: #FBFF2F;}
/* ---- Hero ---- */
.seisankiLpPage .sk-hero { padding: 0;}
.seisankiLpPage .sk-hero-inner { display: flex; align-items: center; gap: 30px;}
.seisankiLpPage .sk-hero-copy { flex: 0 0 66%; max-width: 66%; text-align: left;}
.seisankiLpPage .sk-hero-visual { flex: 0 0 30%; max-width: 30%;}
.seisankiLpPage .sk-hero-visual img { width: 100%; height: auto; display: block;}

@media only screen and (min-width: 768px) {
  .seisankiLpPage .sk-hero-visual img { width: 80%; margin: 0 auto;}
}

.seisankiLpPage .sk-hero-lead { font-size: clamp(16px, 2.2vw, 22px); font-weight: 700; margin-bottom: 16px;}
.seisankiLpPage .sk-hero-tagline { font-size: clamp(20px, 2.6vw, 26px); font-weight: 700; /*color: #008b35;*/ margin-bottom: 8px;}
.seisankiLpPage .sk-hero-badge--sm { display: inline-block; background: #fff; border: 1px solid #0A7EC6; border-radius: 6px; box-shadow: 0 5px 20px rgba(0,0,0,.15); padding: 8px 20px; font-size: clamp(18px, 2.4vw, 22px); font-weight: 700; margin-top: 20px;}
.seisankiLpPage .sk-hero-title-sub { display: block; font-size: clamp(20px, 2.6vw, 26px); font-weight: 700; color: #008b35; margin-bottom: 8px;}
.seisankiLpPage .sk-hero-title-main { display: block; font-size: clamp(30px, 5.5vw, 52px); font-weight: 700; line-height: 1.2; margin-bottom: 20px;background: linear-gradient(0deg, #0A7EC6, #3BA4DB); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;}
.seisankiLpPage .sk-hero-title-suffix { font-size: 0.5em;}
.seisankiLpPage .sk-hero-cta { margin-top: 24px;}
.seisankiLpPage .sk-hero-copy .base-btn { display: inline-flex; width: auto; max-width: 100%; height: 60px; padding: 0 28px; white-space: nowrap;}
.seisankiLpPage .sk-hero-copy .base-btn.btn-select svg { position: static; margin-left: 12px;}
.seisankiLpPage .sk-hero-copy > a.base-btn { margin-top: 16px;}

@media only screen and (max-width: 767px) {
  .seisankiLpPage .sk-hero-inner { flex-direction: column;}
  .seisankiLpPage .sk-hero-copy { flex-basis: 100%; max-width: 100%;}
  .seisankiLpPage .sk-hero-visual { flex-basis: 70%; max-width: 70%; width: 70%; margin: 0 auto;}
  .seisankiLpPage .sk-hero-copy .base-btn { white-space: normal; width: 100%; height: auto; padding: 14px 20px; line-height: 1.4;}
}

/* ---- CTA バー（フッター上部） ---- */
.seisankiLpPage .sk-cta-bar { padding: 40px 0; background: #fff;}
.seisankiLpPage .sk-cta-bar-inner { display: flex; flex-direction: row; justify-content: center; align-items: center; flex-wrap: wrap; gap: 16px;}
.seisankiLpPage .sk-cta-bar .base-btn { display: inline-flex; width: auto; max-width: 100%; height: 60px; padding: 0 28px; white-space: nowrap;}
.seisankiLpPage .sk-cta-bar .base-btn.btn-select { padding: 0 44px 0 28px;}
.seisankiLpPage .sk-cta-bar .base-btn.btn-select svg { position: static; margin-left: 12px;}

@media only screen and (max-width: 767px) {
  .seisankiLpPage .sk-cta-bar-inner { flex-direction: column; align-items: center;}
  .seisankiLpPage .sk-cta-bar .base-btn { white-space: normal; width: 100%; height: auto; padding: 14px 20px; line-height: 1.4;}
}

/* ---- アンカーナビ ---- */
.seisankiLpPage .sk-anchor-nav { background: #f5f7f9; padding: 4px 0; position: relative; z-index: 2;}
.seisankiLpPage .sk-anchor-nav-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 32px; list-style: none; padding: 12px 0; margin: 0 auto;}
.seisankiLpPage .sk-anchor-nav-list a { color: #21252f; font-size: 16px; font-weight: 700; text-decoration: none;}
.seisankiLpPage .sk-anchor-nav-list a:hover { color: #0A7EC6;}
/* ---- PROBLEM ---- */
.seisankiLpPage .sk-problem { padding: 70px 0;}
.seisankiLpPage .sk-problem-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 24px;}
.seisankiLpPage .sk-onayami { display: inline-block; position: relative; top: 20px; left: 50%; transform: translateX(-50%); background: #D97A35; color: #fff; font-size: 16px; font-weight: 700; border-radius: 13px; padding: 6px 20px; white-space: nowrap; z-index: 1;}
.seisankiLpPage .sk-onayami span { font-size: 20px; margin-right: 2px;}
.seisankiLpPage .sk-problem-card-body { background: #EAF7FF; border-radius: 7px; padding: 45px 20px 20px; text-align: center;}
.seisankiLpPage .sk-problem-card-body h4 { font-size: 18px; line-height: 1.5; margin-bottom: 16px;}
.seisankiLpPage .sk-problem-card-body h4 span { color: #409DD4;}
.seisankiLpPage .sk-problem-card-body img { display: block; width: 90px; height: auto; margin: 0 auto;}

@media only screen and (max-width: 767px) {
  .seisankiLpPage .sk-problem-grid { grid-template-columns: 1fr; gap: 30px 16px;}
}

/* ---- SOLUTION ---- */
.seisankiLpPage .sk-solution { padding: 70px 0; background: linear-gradient(to right, #0A7EC6, #3BA4DB);}
.seisankiLpPage .sk-solution-lead { color: #fff; font-size: clamp(18px, 3vw, 24px); margin-bottom: 4px;}
.seisankiLpPage .sk-solution-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 24px;}
.seisankiLpPage .sk-solution-item { position: relative;}
.seisankiLpPage .sk-check { width: 50px; height: 50px; background: #D97A35; border-radius: 50%; display: flex; align-items: center; justify-content: center; position: relative; top: 25px; left: 50%; transform: translateX(-50%); z-index: 1;}
.seisankiLpPage .sk-check img { width: 26px; height: auto;}
.seisankiLpPage .sk-solution-card { background: #fff; border-radius: 7px; box-shadow: 0 5px 20px rgba(0,0,0,.2); padding: 45px 20px 25px; text-align: center;}
.seisankiLpPage .sk-solution-card h4 { font-size: 18px; line-height: 1.5;}
.seisankiLpPage .sk-solution-card h4 span { color: #DA7F36;}

@media only screen and (max-width: 767px) {
  .seisankiLpPage .sk-solution-grid { grid-template-columns: 1fr; gap: 30px 16px;}
}

/* ---- FEATURE ---- */
.seisankiLpPage .sk-feature { padding: 70px 0;}
.seisankiLpPage .sk-feature-row { position: relative; width: 100vw; margin-left: calc(50% - 50vw); margin-bottom: 24px;}
.seisankiLpPage .sk-feature-img { display: block; width: 92%; height: auto;}
.seisankiLpPage .sk-feature-img--right { margin-left: auto; margin-right: 0;}
.seisankiLpPage .sk-feature-img--left { margin-right: auto; margin-left: 0;}

@media only screen and (min-width: 576px) {
  .seisankiLpPage .sk-feature-img { width: 74%; max-width: 1040px;}
}

.seisankiLpPage .sk-kessai { margin-top: 50px; text-align: center;}
.seisankiLpPage .sk-kessai-text { display: inline-block; background: linear-gradient(to right, #0A7EC6, #3BA4DB); border-radius: 35px; padding: 16px 40px; margin-bottom: 30px;}
.seisankiLpPage .sk-kessai-text h4 { color: #fff; font-size: 20px;}
.seisankiLpPage .sk-kessai-img img { display: block; width: 100%; max-width: 640px; height: auto; margin: 0 auto;}
/* ---- HOW TO USE ---- */
.seisankiLpPage .sk-howtouse { padding: 70px 0; background: #EAF7FF;}
.seisankiLpPage .sk-howtouse-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px;}
.seisankiLpPage .sk-howtouse-card { text-align: center;}
.seisankiLpPage .sk-howtouse-card img { width: 80%; height: auto; margin-bottom: 16px;}
.seisankiLpPage .sk-step { display: inline-block; background: linear-gradient(to right, #0A7EC6, #3BA4DB); color: #fff; font-size: 18px; font-weight: 700; border-radius: 40px; padding: 4px 24px; margin-bottom: 12px;}
.seisankiLpPage .sk-howtouse-card h4 { font-size: 17px; line-height: 1.5;}

@media only screen and (max-width: 767px) {
  .seisankiLpPage .sk-howtouse-grid { grid-template-columns: repeat(2, 1fr); gap: 30px 16px;}
}

/* ---- COMPARISON / FLOW（画像のみ） ---- */
.seisankiLpPage .sk-comparison, .seisankiLpPage .sk-flow { padding: 70px 0;}
.seisankiLpPage .sk-full-img { width: 100%; height: auto; display: block;}
.seisankiLpPage .sk-full-img--narrow { max-width: 720px; margin: 0 auto;}
/* ---- CASE STUDY ---- */
.seisankiLpPage .sk-casestudy { padding: 70px 0; background: linear-gradient(to right, #0A7EC6, #3BA4DB);}
.seisankiLpPage .sk-casestudy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;}
.seisankiLpPage .sk-casestudy-card img { width: 100%; height: auto; border-radius: 8px;}

@media only screen and (max-width: 767px) {
  .seisankiLpPage .sk-casestudy-grid { grid-template-columns: 1fr; gap: 16px;}
}

/* ---- FAQ ---- */
.seisankiLpPage .sk-faq { padding: 70px 0;}
.seisankiLpPage .sk-faq-list { margin: 0;}
.seisankiLpPage .sk-faq-q { display: flex; align-items: center; gap: 16px; padding: 20px 0; border-bottom: 1px solid #E3E3E3; cursor: pointer; margin: 0;}
.seisankiLpPage .sk-faq-q img { width: 32px; height: auto; flex-shrink: 0;}
.seisankiLpPage .sk-faq-q p { font-size: 18px; font-weight: 700; margin: 0;}
.seisankiLpPage .sk-faq-a { display: none; align-items: flex-start; gap: 16px; padding: 0 0 20px; border-bottom: 1px solid #E3E3E3; margin: 0;}
.seisankiLpPage .sk-faq-a img { width: 32px; height: auto; flex-shrink: 0;}
.seisankiLpPage .sk-faq-a p { font-size: 16px; line-height: 1.7; margin: 0;}
.seisankiLpPage .sk-faq-a p span { display: block; font-size: 14px; color: #888; margin-top: 6px;}
.seisankiLpPage .sk-faq-a p a { color: #0A7EC6; text-decoration: underline;}
.seisankiLpPage .toggle_title.selected { border-bottom-color: transparent;}
.seisankiLpPage .sk-cta-bar--bottom { border-top: 1px solid #eee;}
