@charset "utf-8";
.p-fv{
    filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, .3));
    position: relative;
    z-index: 2;
}
.p-fv::before{
    background: url(../img/index-osaka/fv_bg.png) no-repeat center center / cover;
    clip-path: ellipse(100% 50% at 50% 50%);
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 1.3rem;
    margin-top: -1.3rem;
}
.p-fv-inner{
    padding: .5rem 0 1rem;
    position: relative;
    display: grid;
    gap: .3rem;
}
.p-fv-inner::after{
    content: '';
    width: 2.7rem;
    height: 2.7rem;
    background: url(../img/index-osaka/fv_deco.png) no-repeat center center / 100% auto;
    position: absolute;
    bottom: 0;
    right: 0;
}
.p-fv-btns{
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: .2rem;
}
.p-fv-btns a{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .1rem;
    width: min(100%,300px);
    height: 45px;
    background: linear-gradient(90deg, #e73278, #ea5656);
    border: 1px solid #fff;
    -webkit-box-shadow: 0 0 8px 2px rgba(0, 0, 0, .15);
    box-shadow: 0 0 8px 2px rgba(0, 0, 0, .15);
    border-radius: 9999px;
    color: #fff;
    position: relative;
}
.p-fv-btns a::after{
    content: '';
    width: .17rem;
    height: .07rem;
    border-bottom: 2px solid #fff;
    border-right: 3px solid #fff;
    transform: skew(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    transition: all .2s;
}
.p-fv-btns a.is-hover::after{
    right: 15px;
}
.p-fv-conts{
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .5rem;
}
.p-fv-conts a:hover{
    opacity: 1;
}
.p-intro{
    filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, .3));
    position: relative;
}
.p-intro::before{
    background: url(../img/index-osaka/intro_bg.jpg) no-repeat bottom center / cover;
    clip-path: ellipse(100% 50% at 50% 50%);
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 1rem;
    margin-top: -1rem;
}
.p-intro-conts{
    position: relative;
    display: grid;
    place-items: center;
    padding: 1rem 0;
    width: min(100%,6rem);
}
.p-outline{
    padding: 1.5rem 0;
}
.p-outline-inner{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .4rem;
}
.p-outline-list{
    width: min(100%,630px);
    margin: auto;
}
.p-outline-list li{
    border-bottom: 1px dotted #979797;
    display: flex;
    align-items: center;
    gap: .1rem;
    padding: .2rem;
}
.p-outline-list li *:first-child{
    width: 15%;
    text-align: center;
}
.p-outline-list li *:last-child{
    width: 85%;
}
.p-ouline-btns{
    display: grid;
    gap: .3rem;
}
.p-outline-notes span{
    font-weight: bold;
    text-decoration: underline;
}
.p-outline-link{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .2rem;
}
.p-news{
    padding: 0 0 1.5rem;
}
.p-news-inner{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .6rem;
}
.p-news-list{
    width: min(100%,740px);
}
.p-news-list li{
    border-bottom: 1px dotted #979797;
}
.p-news-list a{
    display: flex;
    align-items: center;
    gap: .1rem;
    padding: .2rem;
}
.p-news-list a *:first-child{
    width: 20%;
    text-align: center;
}
.p-news-list a *:last-child{
    width: 80%;
}
.p-overview{
    background: url(../img/index-osaka/overview_bg.png),url(../img/index-osaka/overview_bg02.png),linear-gradient(90deg, #d36d4f, #fcdc67);
    background-repeat: no-repeat,no-repeat,repeat;
    background-position: top right,bottom left,center center;
    background-size: 4.3rem auto,7rem auto,cover;
    padding: 1.5rem 0;
    position: relative;
}
.p-overview-inner{
    display: grid;
    gap: .6rem;
    place-items: center;
    place-content: center;
}
.p-overview-ttl{
    display: grid;
    place-items: center;
    gap: .2rem;
    text-align: center;
}
.p-overview-ttl span{
    background: #000;
    padding: .1rem;
    color: #fff;
}
.p-overview-txt{
    text-align: center;
}
.p-overview-notes{
    text-align: center;
}
.p-problem{
    background: #83b180;
    padding: 1.5rem 0;
}
.p-problem-inner{
    display: grid;
    gap: .4rem;
    place-items: end;
}
.p-problem-ttl span{
    color: #fff;
    background: linear-gradient(transparent 70%, #f49600 30%);
}
.p-problem-conts{
    display: flex;
    align-items: end;
    gap: .4rem;
}
.p-problem-conts-wrap{
    display: grid;
    gap: .5rem;
}
.p-problem-conts-pic{
    flex: 0 0 3.6rem;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}
.p-problem-conts-pic figure:first-child{
    width: 2.1rem;
}
.p-problem-conts-pic figure:last-child{
    width: 2.1rem;
    place-self: end;
}
.p-problem-txtlist{
    display: grid;
    gap: .2rem;
}
.p-problem-txtlist li{
    background: #fff;
    padding: .3rem;
    display: grid;
    gap: .1rem;
}
.p-problem-txtlist-ttl{
    color: #5bbd85;
    padding-left: 1em;
    text-indent: -1em;
}
.p-solu{
    background: url(../img/index-osaka/solu_bg.jpg) no-repeat top center / cover;
    padding: 1rem 0;
}
.p-solu-inner{
    display: grid;
    gap: .3rem;
}
.p-point{
    padding: 1.5rem 0;
    background: url(../img/index-osaka/point_bg.png),url(../img/index-osaka/point_bg02.png);
    background-repeat: no-repeat,no-repeat;
    background-position: top right, bottom left;
    background-size: 50% auto,50% auto;
}
.p-point-inner{
    display: grid;
    gap: .6rem;
    place-items: center;
    place-content: center;
}
.p-point-conts{
    display: grid;
    gap: 1rem;
}
.p-point-conts li{
    display: flex;
    gap: .4rem;
    align-items: flex-start;
}
.p-point-conts li:nth-child(even){
    flex-direction: row-reverse;
}
.p-point-conts li > figure{
    flex: 0 0 5.1rem;
    position: relative;
}
.p-point-conts li > figure::after{
    content: '';
    width: 2.1rem;
    height: 1.8rem;
    background: url(../img/index-osaka/point_deco.png) no-repeat top center / 100% auto;
    position: absolute;
    bottom: -.1rem;
    right: -.1rem;
}
.p-point-conts li:nth-child(even) > figure::after{
    background: url(../img/index-osaka/point_deco02.png) no-repeat top center / 100% auto;
    right: auto;
    left: -.1rem;
}
.p-point-conts li > div{
    display: grid;
    gap: .2rem;
}
.p-lineup{
    background: url(../img/index-osaka/lineup_bg.png),linear-gradient(80deg, #d36d4f, #fcdc67);
    background-repeat: no-repeat,repeat;
    background-position: bottom left,center center;
    background-size: 7rem auto,cover;
    padding: 1.5rem 0;
    position: relative;
}
.p-lineup-inner{
    width: min(100% - 1rem, 10rem);
    background: #fff;
    padding: .8rem;
    display: grid;
    gap: .4rem;
}
.p-lineup-list li{
    padding: .2rem;
    border-bottom: 1px dotted #979797;
}
.p-lineup-list-ttl{
    color: #f49600;
    padding-left: 1em;
    text-indent: -1em;
}
.p-merit{
    padding: 1.5rem 0;
    background: #fff;
}
.p-merit-inner{
    display: grid;
    place-items: center;
    gap: 1rem;
}
.p-merit-conts{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .2rem;
}
.p-merit-conts li{
    display: flex;
    flex-direction: column;
    place-items: center;
    background: #75aa72;
    -webkit-box-shadow: 0 0 8px 2px rgba(0, 0, 0, .15);
    box-shadow: 0 0 8px 2px rgba(0, 0, 0, .15);
    position: relative;
}
.p-meri-conts-num-txtlist{
    display: grid;
    place-items: center;
    gap: .1rem;
    color: #fff;
    padding: .3rem .1rem;
}
.p-merit-conts-num{
    display: grid;
    place-items: center;
    color: #fff;
    position: absolute;
    top: -.4rem;
    background: linear-gradient(65deg, #f64c16, #f7a62b);
    width: .8rem;
    height: .8rem;
    border-radius: 50%;
}
.p-merit-conts figure{
    width: 100%;
    aspect-ratio: 3 / 2;
    overflow: hidden;
}
.p-merit-conts figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}
.p-cta{
    background: url(../img/index-osaka/cta_bg.jpg) no-repeat center center / cover;
    padding: .2rem 0;
    position: relative;
}
.p-cta::before{
    content: '';
    width: 100%;
    height: 3px;
    background: #fff;
    display: block;
}
.p-cta::after{
    content: '';
    width: 100%;
    height: 3px;
    background: #fff;
    display: block;
}
.p-cta-inner{
    padding: .5rem 0;
    display: grid;
    place-items: center;
    gap: .4rem;
}
.p-cta-btn{
    background: #fff;
    color: #e73479;
}
.p-cta-btn::after{
    border-bottom: 2px solid #e73479;
    border-right: 3px solid #e73479;
}
.p-num{
    padding: 1.5rem 0;
    background: url(../img/index-osaka/num_bg.png),url(../img/index-osaka/num_bg02.png);
    background-repeat: no-repeat,no-repeat;
    background-position: top right, bottom left;
    background-size: 50% auto,50% auto;
}
.p-num-inner{
    display: grid;
    place-items: center;
    place-content: center;
    gap: .6rem;
}
.p-num-list{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .2rem;
}
.p-num-list02{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .2rem;
}
.p-num-list li,
.p-num-list02 li{
    background: linear-gradient(to bottom, #fb7099, #fedc45);
    -webkit-box-shadow: 0 0 8px 2px rgba(0, 0, 0, .15);
    box-shadow: 0 0 8px 2px rgba(0, 0, 0, .15);
    padding: .04rem;
}
.p-num-list li figure,
.p-num-list02 li figure{
    background: #fff;
}
.p-num-list li:nth-child(1){
    border-radius: .5rem 0 0 0;
}
.p-num-list li:nth-child(3){
    border-radius: 0 .5rem 0 0;
}
.p-num-list02 li:nth-child(1){
    border-radius: 0 0 0 .5rem;
}
.p-num-list02 li:nth-child(2){
    border-radius: 0 0 .5rem 0;
}
.p-num-list li:nth-child(1) figure{
    border-radius: .5rem 0 0 0;
}
.p-num-list li:nth-child(3) figure{
    border-radius: 0 .5rem 0 0;
}
.p-num-list02 li:nth-child(1) figure{
    border-radius: 0 0 0 .5rem;
}
.p-num-list02 li:nth-child(2) figure{
    border-radius: 0 0 .5rem 0;
}
.p-target{
    padding: 1rem 0;
    background: url(../img/index-osaka/target_bg.jpg) no-repeat top center / cover;
}
.p-target-inner{
    display: grid;
    place-items: center;
    gap: .6rem;
}
.p-target-conts{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .1rem;
}
.p-target-conts > div{
    display: grid;
    place-content: center;
    place-items: center;
    gap: .1rem;
    background: #fff;
    padding: .2rem;
    min-height: 2.6rem;
}
.p-target-conts-ttl{
    color: #f49600;
    text-align: center;
}
.p-target-conts-list li{
    padding-left: 1em;
    text-indent: -1em;
}
.p-regi{
    padding: 1.5rem 0;
    position: relative;
    background: url(../img/index-osaka/regi_bg.png),url(../img/index-osaka/regi_bg02.png),#75aa72;
    background-repeat: no-repeat,no-repeat,repeat;
    background-position: top right,bottom left,center center;
    background-size: 5.1rem auto,50% auto,cover;
}
.p-regi-inner{
    display: grid;
    place-items: center;
    place-content: center;
    gap: .6rem;
}
.p-regi .c-sec_ttl span{
    border-top: 2px solid #fff;
    border-bottom: 2px solid #fff;
    color: #fff;
}
.p-regi-txt{
    text-align: center;
    color: #fff;
}
.p-regi-conts{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .6rem;
}
.p-regi-conts li{
    background: #fff;
    padding: .2rem .2rem .4rem;
    -webkit-box-shadow: 0 0 8px 2px rgba(0, 0, 0, .15);
    box-shadow: 0 0 8px 2px rgba(0, 0, 0, .15);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .2rem;
    min-height: 4rem;
    position: relative;
}
.p-regi-conts li:not(:last-child)::after{
    content: '';
    width: .25rem;
    height: .5rem;
    background: #f49600;
    clip-path: polygon(.25rem 50%, 0% 0%, 0% .5rem);
    position: absolute;
    top: 0;
    right: -.45rem;
    bottom: 0;
    margin: auto;
}
.p-regi-conts .c-conts-ttl .num{
    color: #000;
}
.p-regi-conts li figure{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 1.5rem;
}
.p-qa{
    padding: 1.5rem 0;
    background: url(../img/index-osaka/qa_bg.png),url(../img/index-osaka/qa_bg02.png),linear-gradient(80deg, #ecb0ad, #fbd7b5);
    background-repeat: no-repeat,no-repeat,repeat;
    background-position: top right,bottom left,center center;
    background-size: 50% auto,50% auto,cover;
}
.p-qa-inner{
    display: grid;
    place-items: center;
    gap: .6rem;
}
.p-qa-conts{
    width: 100%;
}
.p-qa-conts-q{
    cursor: pointer;
    padding: .2rem .4rem;
    text-indent: -1em;
    background: #fff;
    font-weight: bold;
    color: #f49600;
    position: relative;
    transition: all .3s ease;
}
.p-qa-conts-a{
    display: none;
    padding: 0 .4rem .2rem;
    text-indent: -1em;
}
.p-qa-conts-q:not(:last-child){
    margin-bottom: .2rem;
}
.p-qa-conts-a:not(:last-child){
    margin-bottom: .4rem;
}
.p-qa-conts-q::before,
.p-qa-conts-q::after{
    position:absolute;
    content:'';
    top: .01rem;
    right: .2rem;
    bottom: 0;
    width: 20px;
    height: 3px;
    margin:auto;
    background:#f49600;
}
.p-qa-conts-q::after{
    transform:rotate(-90deg);
    transition:transform .3s;
}
.p-qa-conts-q.is-active::after{
    transform:rotate(0deg);
}
.p-access{
    padding: 1.5rem 0 2.5rem;
}
.p-access-inner{
    display: grid;
    gap: 1rem;
}
.p-access-conts{
    display: flex;
    justify-content: center;
    gap: .8rem;
}
.p-access-conts-txtlist dd:not(:last-child){
    margin-bottom: .2rem;
}
.p-access-conts-map{
    flex: 0 0 5.4rem;
}
.p-access-conts-map iframe{
    aspect-ratio: 3 / 2;
    width: 100%;
}
@media only screen and (max-width: 1024px) {
    .p-fv::before{
        padding-top: 2rem;
        margin-top: -2rem;
    }
    .p-fv-inner{
        gap: .8rem;
    }
    .p-fv-btns{
        flex-direction: column;
        justify-content: center;
    }
    .p-fv-conts{
        flex-direction: column;
    }
    .p-intro::before{
        padding-top: 2.5rem;
        margin-top: -2.5rem;
    }
    .p-outline-list li{
        flex-direction: column;
        align-items: start;
        padding: .2rem 0;
    }
    .p-outline-list li *:first-child{
        width: 100%;
        text-align: left;
    }
    .p-outline-list li *:last-child{
        width: 100%;
    }
    .p-news-list a{
        flex-direction: column;
        align-items: start;
        padding: .2rem 0;
    }
    .p-news-list a *:first-child{
        width: 100%;
        text-align: left;
    }
    .p-news-list a *:last-child{
        width: 100%;
    }
    .p-overview-txt{
        text-align: left;
    }
    .p-problem{
        padding-bottom: .5rem;
    }
    .p-problem-conts{
        flex-direction: column-reverse;
    }
    .p-problem-conts-pic{
        flex-direction: row;
        flex: 1;
        gap: .2rem;
    }
    .p-problem-conts-pic figure:last-child{
        place-self: start;
    }
    .p-point-conts li{
        flex-direction: column-reverse;
        align-items: center;
    }
    .p-point-conts li:nth-child(even){
        flex-direction: column-reverse;
    }
    .p-point-conts li > figure{
        flex: 1;
    }
    .p-lineup-inner{
        padding: .6rem .2rem;
    }
    .p-merit-conts{
        grid-template-columns:repeat(1, 1fr);
        gap: 1rem;
        margin: 0 .5rem;
    }
    .p-meri-conts-num-txtlist{
        padding: .4rem;
    }
    .p-merit-conts-num{
        width: 1rem;
        height: 1rem;
    }
    .p-num-list{
        grid-template-columns: repeat(1, 1fr);
        margin: 0 .5rem;
    }
    .p-num-list02{
        grid-template-columns: repeat(1, 1fr);
        margin: -.4rem .5rem 0;
    }
    .p-num-list li:nth-child(1){
        border-radius: .5rem .5rem 0 0;
    }
    .p-num-list li:nth-child(3){
        border-radius: 0;
    }
    .p-num-list02 li:nth-child(1){
        border-radius: 0;
    }
    .p-num-list02 li:nth-child(2){
        border-radius: 0 0 .5rem .5rem;
    }
    .p-num-list li:nth-child(1) figure{
        border-radius: .5rem .5rem 0 0;
    }
    .p-num-list li:nth-child(3) figure{
        border-radius: 0;
    }
    .p-num-list02 li:nth-child(1) figure{
        border-radius: 0;
    }
    .p-num-list02 li:nth-child(2) figure{
        border-radius: 0 0 .5rem .5rem;
    }
    .p-target-conts{
        grid-template-columns: repeat(1, 1fr);
    }
    .p-target-conts > div{
        min-height: auto;
        padding: .6rem .4rem;
    }
    .p-regi-conts{
        grid-template-columns: repeat(1, 1fr);
        gap: 1rem;
    }
    .p-regi-conts li{
        min-height: auto;
        padding: .2rem .4rem .4rem;
    }
    .p-regi-conts li figure{
        width: min(100%, 4rem);
        height: auto;
    }
    .p-regi-conts li:not(:last-child)::after{
        top: auto;
        bottom: -.75rem;
        right: 0;
        left: 0;
        clip-path: polygon(50% 100%, 0 0, 100% 0);
        width: 1rem;
        height: .5rem;
    }
    .p-qa-conts-q{
        padding: .2rem .6rem;
    }
    .p-qa-conts-a{
        padding: 0 .6rem .2rem;
    }
    .p-access-conts{
        flex-direction: column;
    }
    .p-access-conts-map{
        flex: 1;
    }
}