@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700;900&display=swap');

/* ==================
   Foundation
===================== */
:root {
    /* Color
    ========================================================== */
    --color-primary: #E99700;
    --color-primary-dark: #E97500;
    --color-green: #7bb442;
    --color-green-dark: #4e8a28;
    --color-text: #222;
    --color-white: #ffffff;
    --color-bg: #C9DD6B;
    --color-bg-light: #F7EAD6;
    --color-border: #e5e5e5;
    /* Font
    ========================================================== */
    --font-base:
        "Zen Kaku Gothic New",
        "Yu Gothic",
        sans-serif;
    /* Width
    ========================================================== */
    --container-width: 1280px;
    /* Radius
    ========================================================== */
    --radius-small: 8px;
    --radius-medium: 16px;
    --radius-large: 32px;
    --radius-round: 999px;
    /* Shadow
    ========================================================== */
    --shadow-card:
        0 10px 30px rgba(0,0,0,.08);
    /* Transition
    ========================================================== */
    --transition:
        .3s ease;
}

/* ===================
   Reset
====================== */
*,
*::before,
*::after{
    box-sizing:border-box;
}
html{
    scroll-behavior:smooth;
}
body{
    position: relative;
    margin:0;
    font-family:var(--font-base);
    color:var(--color-text);
    line-height:1.8;
    background:var(--color-bg   );
    -webkit-text-size-adjust:100%;
    letter-spacing: 0.025em;
}
body::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;

    background-image: url('../img/bg.png');
    background-repeat: repeat;
    background-size: auto;
    mix-blend-mode: soft-light;
}
img{
    display:block;
    max-width:100%;
    height:auto;
}
a{
    color:inherit;
    text-decoration:none;
}
ul,
ol{
    margin:0;
    padding:0;
    list-style:none;
}
h1,
h2,
h3,
h4,
p,
figure,
dl,
dd{
    margin:0;
}
button{
    border:none;
    background:none;
    cursor:pointer;
}

/* ===================
   Typography
====================== */
body{
    font-size:16px;
    font-weight:500;
}
h1{
    font-size:1rem;
}
h2{
    font-size:3rem;
    line-height:1.3;
}
h3{
    font-size:2rem;
}
small{
    font-size:.875rem;
}

/* =================
   Layout
==================== */
.container{
    width:min(
        var(--container-width),
        calc(100% - 60px)
    );
    margin-inline:auto;
}
.section{
    padding:120px 0;
}
.section-heading{
    margin-bottom:64px;
}
.section-heading--center{
    text-align:center;
}
.section-heading__title{
    font-size:2.5rem;
    font-weight:700;
    margin-bottom:20px;
}
.section-heading__text{
    max-width:760px;
    margin-inline:auto;
}

@media (max-width:768px){
    .section{
        padding:56px 0 48px;
    }
    .support.section{
        padding-top: 48px;
    }
    .section-heading{
        margin-bottom:48px;
    }
}

/* =================
   Utility
==================== */
.pc-only{
    display:block;
}
.sp-only{
    display:none;
}
.text-center{
    text-align:center;
}
.mt-0{
    margin-top:0;
}
.mb-0{
    margin-bottom:0;
}

/* =================
   Header
==================== */
.header{
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: rgba(201, 221, 107, 0.1);
    backdrop-filter: blur(5px);
}
.header__inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:88px;
    gap:40px;
    width: 100%;
    padding: 0 3%;
}
.header__logo{
    flex-shrink:0;
    display: flex;
    align-items: end;
    gap: 48px;
}
.header__logo img.logo{
    width:312px;
    height: auto;
}
#index .header__logo img.logo{
    display: none;
}
@media (max-width:768px){
    .header{
        background-color: transparent;
        backdrop-filter: none;
    }
    .header__inner{
        min-height: 50px;
        padding: 0;
        margin-left: 20px;
    }
    .header__logo img.logo_osaka{
        height: 29px;
        width: auto;
    }
}

/* ================
   Navigation
=================== */
.global-nav__checkbox{
    display:none;
}
/* PC */
@media (min-width:1025px){
    .global-nav__toggle{
        display:none;
    }
    .global-nav{
        display:flex;
        align-items:center;
        gap:40px;
        margin-left:auto;
    }
    .global-nav__list{
        display:flex;
        gap:32px;
        margin:0;
        padding:0;
        list-style:none;
    }
    .global-nav__item a{
        display:block;
        padding:8px 0;
        font-size: 18px;
        font-weight: bold;
        color:#333;
        text-decoration:none;
        white-space:nowrap;
    }
    .global-nav__item a:hover{
        color: var(--color-primary-dark);
    }
    .header__btn{
        flex-shrink:0;
    }
}

/* SP */
@media (max-width:1024px){
    .global-nav__toggle{
        position:fixed;
        top:8px;
        right:10px;
        z-index:1001;
        display:flex;
        align-items:center;
        justify-content:center;
        gap:6px;
        width:100px;
        height:30px;
        border-radius:6px;
        background:#fff;
        box-shadow:0 4px 12px rgba(0,0,0,.15);
        cursor:pointer;
    }
    .global-nav__hamburger{
        display:flex;
        flex-direction:column;
        justify-content:space-between;
        width:16px;
        height:12px;
    }
    .global-nav__hamburger span{
        display:block;
        height:2px;
        background:var(--color-primary);
        transition:.3s;
    }
    .global-nav__label{
        font-size:14px;
        font-weight:900;
        color:var(--color-primary);
    }
    .global-nav{
        position:fixed;
        top:48px;
        right:10px;
        z-index:1000;
        width:230px;
        padding:24px 36px;
        background:#fff;
        border-radius:8px;
        box-shadow:0 10px 30px rgba(0,0,0,.15);

        opacity:0;
        visibility:hidden;
        pointer-events:none;
        transform:translateY(-10px);

        transition:
            opacity .3s,
            transform .3s,
            visibility .3s;
    }
    .global-nav__list{
        margin:0;
        padding:0;
        list-style:none;
    }
    .global-nav__item{
    }
    .global-nav__item a{
        display:block;
        padding:6px 0;
        color:#222;
        font-size: 18px;
        text-decoration:none;
    }
    .header__btn{
        display:flex;
        justify-content:center;
        width:100%;
        margin-top:20px;
    }
    .global-nav__checkbox:checked~.global-nav{
        opacity:1;
        visibility:visible;
        pointer-events:auto;
        transform:translateY(0);
    }
    .global-nav__checkbox:checked+.global-nav__toggle .global-nav__hamburger span:nth-child(1){
        transform:translateY(5px) rotate(45deg);
    }
    .global-nav__checkbox:checked+.global-nav__toggle .global-nav__hamburger span:nth-child(2){
        opacity:0;
    }
    .global-nav__checkbox:checked+.global-nav__toggle .global-nav__hamburger span:nth-child(3){
        transform:translateY(-5px) rotate(-45deg);
    }
}
/* =================
   Button
==================== */
.button{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    text-align:center;
    border-radius:8px;
    transition:var(--transition);
    font-size: 18px;
    font-weight:700;
    cursor:pointer;
    position: relative;
}
.button::after {
    content: "";
    display: inline-block;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
}
.button--primary{
    min-width:158px;
    height:44px;
    background:var(--color-primary);
    color:#fff;
    box-shadow:0 8px 18px rgba(242,140,40,.25);
    padding: 0 25px 3px 0;
}
.button--primary:hover{
    background:var(--color-primary-dark);
    transform:translateY(-2px);
}
.button--primary::after {
    width: 19px;
    height: 17px;
    background-image: url("../img/ico_out_wht.png");
    right: 24px;
}

.button--outline{
    width:100%;
    height:48px;
    color:#222;
    font-weight: 500;
    background:#fff;
}
.button--outline:hover{
    background:var(--color-primary);
    color:#fff;
}
.button--outline::after {
    width: 16px;
    height: 14px;
    background-image: url("../img/ico_out_blk.png");
}
.button--outline.end{
    color: #d93751;
    background-color: #e3e3e3;
}
.button--outline.end::after {
    background-image: none;
}

.button--large{
    min-width:500px;
    height:80px;
    font-size:26px;
}
/* =================
   Hero
==================== */
.hero{
    position:relative;
    /*overflow:hidden;*/
    padding:80px 0 120px;
}
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:url("../img/bg-hero.webp") center/cover no-repeat;
    opacity:.08;
}
.hero__inner{
    position:relative;
    display:grid;
    grid-template-columns:772px 1fr;
    align-items:start;
    gap:60px;
}
.hero__content{
    position:relative;
    z-index:2;
}
.hero__sub-title{
    display:inline-block;
    margin-bottom:18px;
    padding:8px 18px;
    border-radius:999px;
    background:#edf8dd;
    color:var(--color-green-dark);
    font-weight:700;
}
.hero__title{
    margin-bottom:72px;
    font-size:64px;
    font-weight:900;
    line-height:1.18;
}
.hero__catch{
    margin-bottom:24px;
    font-size:28px;
}
.hero__text{
    max-width:830px;
    margin-bottom:48px;
    font-size:17px;
    line-height:2;
}
.hero__image{
    position:relative;
    margin-right: -12px;
}
.hero__image img{
    width:100%;
    margin-top: -74px;
}


@media (max-width:1280px){
    .hero__inner{
        grid-template-columns: 65% 1fr;
        gap:48px;
    }
    .hero__image{
        position: absolute;
        top: -38px;
        right: -30px;
        margin-right: 0;
    }
    .hero__image img{
        width:30vw;
        margin-top: 0;
    }
}
@media (max-width:768px){
    .hero{
        padding: 24px 0 32px;
    }
    .hero__inner{
        grid-template-columns: 1fr;
        gap:48px;
    }
    .hero__title{
        width: 178px;
        margin-bottom: 32px;
    }
    .hero__catch{
        width: 231px;
        margin-bottom:20px;
    }
    .hero__text{
        margin-bottom:32px;
        font-size:16px;
        line-height:1.8;
    }
    .hero__image img{
        width:180px;
        margin-top: 0;
    }
}



/* =================
   Hero Problems
==================== */
.hero-problem{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px 32px;
}
.hero-problem__item{
    display:flex;
    align-items:center;
    gap:20px;
    padding:0;
}
.hero-problem__item img{
    width:112px;
    height:96px;
    object-fit:contain;
}
.hero-problem__item span{
    font-size:21px;
    font-weight:700;
    line-height:1.54;
}
@media (max-width:768px){
    .hero-problem{
        gap:16px;
    }
    .hero-problem__item img{
        width:88px;
        height:auto;
    }
    .hero-problem__item span{
        font-size:18px;
        line-height:1.5;
    }
}

/* =================
   Lead Cta
==================== */
.lead-cta{
    margin-top:-40px;
    position:relative;
    z-index:5;
}
.lead-cta__text{
    width: 100%;
    padding:32px 48px;
    background-color: var(--color-bg-light);
}
.lead-cta__text img{
    max-width: ;
    margin: 0 auto;
}
@media (max-width:768px){
    .lead-cta{
        margin-top: 0;
    }
    .lead-cta__text{
        padding:22px 24px;
    }
}
/* =================
   Support
==================== */
.support{
    position:relative;
    overflow:hidden;
}
.support::before{
    content:"";
    position:absolute;
    inset:0;
    background:url("../img/bg-support.webp") center top/cover no-repeat;
    opacity:.08;
    pointer-events:none;
}
.support header{
    position: relative;;
    margin-bottom: 48px;
}
.support__visual{
    position: absolute;
    top: -17px;
    right: 0;
    text-align:center;
}
.support__visual img{
    margin-inline:auto;
    max-width:1000px;
}
.support__cards{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:60px;
}
.support-card{
    display:flex;
    flex-direction:column;
    background:#fff;
    border-radius:8px;
    overflow:hidden;
    box-shadow:var(--shadow-card);
}
.support-card__image img{
    width:100%;
    aspect-ratio:16 / 9;
    object-fit:cover;
}
.support-card__body{
    padding:44px 50px;
}
.support-card__title{
    margin-bottom:20px;
    font-size:36px;
    color:var(--color-green-dark);
}
.support-card__text{
    font-size:18px;
    line-height:1.8;
}
.support-card__text span{
    color:var(--color-primary-dark);
}


@media (max-width:1280px){
    .support__visual{
        display: none;
    }
}
@media (max-width:768px){

    .support header{
        margin-bottom: 28px;
    }
    .support__cards{
        grid-template-columns:1fr;
        gap: 20px;

    }
    .support-card__body{
        padding: 28px 30px;
    }
    .support-card__title{
        margin-bottom: 12px;
    }
    .support-card__title img{
        width: auto;
        height: 28px;
    }
    .support-card__text{
        font-size: 16px;
    }

}

/* =================
   Seminar
==================== */
.seminar{
    background-color: #B8D142;
    position: relative;
}
.seminar::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;

    background-image: url('../img/bg.png');
    background-repeat: repeat;
    background-size: auto;
    mix-blend-mode: soft-light;
}
.seminar > *{
    position: relative;
    z-index: 1;
}

.seminar header{
    margin-bottom: 56px;
    position: relative;
}
.seminar__visual{
    position: absolute;
    top: -34px;
    left: 104px;
    text-align:center;
}
.seminar__list{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:55px;
}
.seminar__footer{
    margin-top:60px;
    text-align:center;
}
.seminar__archive{
    display:flex;
    align-items:center;
    justify-content:end;
    transition:var(--transition);
    position: relative;
    padding-right: 16px;
    font-size: 18px;
    text-decoration: underline;
}
.seminar__archive:hover{
    opacity: 0.8;
}
.seminar__archive::after{
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-38%) rotate(45deg);

    width: 9px;
    height: 9px;
    border-top: 2px solid #222;
    border-right: 2px solid #222;
}

.seminar__controls {
    display: none;
}
.seminar-card{
    height:100%;
    overflow:hidden;
    transition:.3s;
}
.seminar-card:hover{
    transform:translateY(-8px);
}
.seminar-card__link{
    display:flex;
    flex-direction:column;
    height:100%;
}
.seminar-card__image{
    position:relative;
    overflow:hidden;
    border-radius: 6px;
    margin-bottom: 24px;
}
.seminar-card__image img{
    width:100%;
    aspect-ratio:3 / 2;
    object-fit:cover;
    transition:.4s;
}
.seminar-card:hover .seminar-card__image img{
    transform:scale(1.01);
}
.seminar-card__body{
    display:flex;
    flex-direction:column;
    flex:1;
}
.seminar-card__title{
    margin-bottom:24px;
    font-size: 20px;
    font-weight: 500;
    line-height: 32px;
    text-align: center;
    /*margin-left: -16px;
    margin-right: -16px;*/
}
.seminar-card__date{
    margin-bottom:24px;
    background-color: #f7ead6;
    font-size: 19px;
    text-align: center;
    padding: 8px;
}

.seminar-card__info{
    margin-bottom:8px;
}
.seminar-card__info>div{
    display:grid;
    grid-template-columns:60px 1fr;
    gap:16px;
    margin-bottom: 12px;
}
.seminar-card__info dt{
    align-self: start;
    line-height: 1.5;
    width: 100%;
    min-height: 28px;
    border-radius: 4px;
    background-color: #8dc8ce;
    text-align: center;
}
.seminar-card__info dd{
    line-height: 1.5;
    margin:0;
}
.seminar-card .button{
    margin:auto auto 0;
    width: 276px;
    height: 52px;
}

@media (max-width:1280px){
    .seminar__visual{
        display: none;
    }
}

@media (max-width:768px){
    .seminar header{
        margin-bottom: 40px;
    }
    .seminar__list{
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 32px;
        padding-bottom: 16px;
        padding-left: calc(50vw - 155px);
        padding-right: calc(50vw - 155px);
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none; /* Firefox */
        margin-left:-30px;
        margin-right:-30px;
    }
    .seminar__list::after {
        content: "";
        padding-right: 1px;
    }
    .seminar__list::-webkit-scrollbar {
        display: none; /* Chrome, Safari */
    }
    
    .seminar-card {
        width: 310px;
        min-width: 310px;
        flex-shrink: 0;
        scroll-snap-align: center;
    }
    .seminar-card__image{
        margin-bottom: 16px;
    }
    .seminar-card__title{
        margin-left: 0;
        margin-right: 0;
        margin-bottom: 16px;
        font-size: 18px;
    }
    .seminar-card__date{
        font-size: 18px;
        margin-bottom: 16px;
        padding: 5px;
    }
    .seminar-card__info>div{
        margin-bottom: 8px;
    }
    .seminar-card__info dt,
    .seminar-card__info dd{
        font-size: 15px;
    }
    .seminar-card__info dt{
        padding-top: 2px;
    }
    
    .seminar__controls {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 48px;
        margin-top: 12px;
    }    
    .seminar__dots {
        display: flex;
        gap: 18px;
        align-items: center;
    }    
    .seminar__dot {
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background-color: #fff;
        cursor: pointer;
        transition: background-color 0.3s, transform 0.3s;
    }    
    .seminar__dot.is-active {
        background-color: var(--color-primary);
        transform: scale(1.1);
    }    
    .seminar__btn {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background-color: #222;
        position: relative;
        cursor: pointer;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 6px rgba(0,0,0,0.05);
        transition: opacity 0.2s;
    }    
    .seminar__btn.is-disabled{
        opacity: 0.3;
        pointer-events: none;
        cursor: default;
    }
    .seminar__btn:active {
        opacity: 0.7;
    }    
    .seminar__btn::after {
        content: "";
        width: 10px;
        height: 10px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        display: block;
    }    
    .seminar__btn--prev::after {
        transform: rotate(-135deg);
        margin-left: 3px;
    }    
    .seminar__btn--next::after {
        transform: rotate(45deg);
        margin-right: 3px;
    }

    .seminar-card .button{
        font-size: 17px;
        width: 210px;
        height: 48px;
    }
    .seminar__footer{
        margin-top: 30px;
        width: 200px;
        margin-left: auto;
        margin-right: auto;
    }
    .seminar__archive{
        justify-content: center;
    }


}



/* ================
   Section Heading
=================== */
.section-heading{
    margin-bottom:32px;
}
.section-heading__title{
    position:relative;
    display:inline-block;
}
.section-heading__text{
    font-size:18px;
}

@media (max-width:768px){
    .support .section-heading__title{
        margin-bottom: 10px;
    }
    .support .section-heading__title img{
        width: 236px;
        height: auto;
    }
    .section-heading__title{
        margin-bottom: 20px;
    }
    .section-heading__title img{
        width: auto;
        height: 30px;
    }
    .section-heading__text{
        font-size: 16px;
        text-align: left;
    }

}

/* ================
   Flow
=================== */
.flow {
  position: relative;
  overflow: hidden;
  padding-bottom: 60px;
}

.flow__content {
  position: relative;
  width: 1280px;
  height: 700px;
  margin: 0 auto;
  padding: 40px 0;
  background-image: url('../img/banso_bg.png');
  background-position: center;
  background-repeat: no-repeat;
}

.flow-card {
  position: absolute;
}

.flow-card__heading {
  height: 55px;
  margin: 0;
}

.flow-card__heading img {
  height: 55px;
  width: auto;
  display: block;
}

.flow-card__text {
  font-size: 16px;
  line-height: 1.6;
  margin-top: 20px;
  width: 214px;
}


@media (max-width: 1280px) {
    .flow-card__text .sp-only{
        display: block;
    }
}

.flow-card--step5 .flow-card__text {
  width: 264px;
}

.flow-card--step1 { top: 83px; left: 440px; }
.flow-card--step2 { top: 83px; left: 820px; }
.flow-card--step3 { top: 464px; left: 58px; }
.flow-card--step4 { top: 464px; left: 414px; }
.flow-card--step5 { top: 464px; left: 780px; }

@media (max-width: 1279px) {
    .flow .section-heading__title{
        margin-bottom: 0;
    }

    .flow .container{
        width:100%;
    }
    .flow__content {
        width: 100%;
        height: auto;
        max-width: 100%;
        padding: 242px 20px 188px;
        background-image: url('../img/sp_banso_bg.png');
        background-size: 352px;
        background-position: top center;
    }

    .flow-card {
        position: static;
        margin-bottom: 102px;
        display: block;
        width: 264px;
        margin-left: auto;
        margin-right: auto;
    }
    .flow-card:last-child {
        margin-bottom: 0;
    }
    .flow-card__heading {
        height: auto;
    }

    .flow-card__heading img {
        height: 45px;
        max-width: 100%;
    }

    .flow-card__text,
    .flow-card--step5 .flow-card__text {
        width: 100%;
        max-width: 450px;
        margin-top: 14px;
    }
}

/* ================
   CTA
=================== */
.cta .container{
    display: flex;
    flex-direction: column;
    align-items: center;
}
.cta-info {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 96px;
  width: 100%;
  margin: 0 0 64px;
  padding: 0;
}
.cta-info__item {
  display: flex;
  align-items: center;
  gap: 24px;
}
.cta-info dt {
  width: 102px;
  height: 68px;
  margin: 0;
  flex-shrink: 0;
}
.cta-info dt img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.cta-info dd {
  margin: 0;
  font-size: 28px;
  line-height: 1.4;
  white-space: nowrap;
}
.cta .button {
    margin: 0 auto 16px;
}

@media (max-width: 767px) {
  .cta-info {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 16px;
    margin-bottom: 40px;
  }
  .cta-info__item {
    gap: 16px;
  }
  .cta-info dt {
    width: 72px;
    height: 48px;
  }
  .cta-info dd {
    font-size: 24px;
  }
}

/* ================
   Contact
=================== */
.contact{
    padding:96px 0 0;
}
.contact-box{
    margin:0 auto;
    padding:32px 48px 40px;
    text-align:center;
    border-radius:8px;
    background:#fff;
}
.contact-box__organization{
    margin-bottom:8px;
    font-size:24px;
    font-weight:700;
    letter-spacing: 0.05em;
}
.contact-box__tel{
    display:inline-block;
    margin-bottom:6px;
    font-size:56px;
    font-weight:700;
    line-height: 1;
    color:var(--color-primary-dark);
    letter-spacing: 0.05em;
    position: relative;
    padding-left: 41px;
}
.contact-box__tel::before{
    content: '';
    display: inline-block;
    width: 30px;
    height: 45px;
    background: url(../img/ico_tel.png);
    background-size: 30px 45px;
    position: absolute;
    top: 10px;
    left: 0;
}
.contact-box__time{
    font-size: 18px;
}
@media (max-width:768px){
    .contact{
        padding:48px 0 0;
    }
    .contact-box{
        padding:24px 20px 28px;
    }
    .contact-box__organization{
        margin-bottom:4px;
        font-size:18px;
    }
    .contact-box__tel{
        margin-bottom:6px;
        font-size:38px;
        padding-left: 32px;
    }
    .contact-box__tel::before{
        width: 21px;
        height: 31px;
        background-size: 21px 31px;
        top: 10px;
    }
    .contact-box__time{
        font-size: 14px;
    }
}

/* ================
   Footer
=================== */
.footer{
    padding:48px 0;
    background:#B8D142;
    margin-top: -80px;
    padding-top: 80px;
    position: relative;
    z-index: -1;
}
.footer__inner{
    text-align:center;
    padding-top: 80px;
}
.footer__host{
    font-size:16px;
}
.footer__office{
    margin:0 auto 40px;
    font-size:15px;
}
.footer__copyright{
    display:block;
    font-size:14px;
}
@media (max-width:768px){
    .footer__inner{
        padding-top: 40px;
    }

}

/* ==========================================================================
   Responsive
========================================================================== */
@media (max-width:1280px){
    .seminar__list{
        grid-template-columns:repeat(2,1fr);
    }
}
@media (max-width:992px){
    .hero-problem{
        grid-template-columns:1fr;
    }
    .cta-info{
        flex-direction:column;
    }
}
@media (max-width:768px){
    .container{
        width:min(
            100%,
            calc(100% - 60px)
        );
    }
    .button--large{
        width:100%;
        min-width:auto;
        font-size: 20px;
        line-height: 1.5;
        height: 88px;
        padding: 0;
    }
}
@media (max-width:480px){
    body{
        font-size:16px;
    }
    .hero__title{
        font-size:30px;
    }
    .contact-box__tel{
        font-size:32px;
        padding-left: 28px;
    }
    .contact-box__tel::before{
        width: 20px;
        height: 30px;
        background-size: 20px 30px;
        top: 3px;
    }    
    .pc-only{
        display:none;
    }
    .sp-only{
        display:block;
    }
}




/* ==========================================================================
   セミナー一覧ページ
========================================================================== */

#seminar-page .seminar{
    background-color: transparent;
}

#seminar-page .seminar header{
    margin-bottom: 80px;

}

@media (max-width: 768px) {
    #seminar-page .seminar header{
        margin-bottom: 40px;
    }
    #seminar-page .seminar__list {
        display: grid;
        grid-template-columns: 1fr;
        overflow-x: visible;
        scroll-snap-type: none;
        padding-left: 0;
        padding-right: 0;
        margin-left: auto;
        margin-right: auto;
        gap: 56px;
        max-width: 400px;
    }
    #seminar-page .seminar__list::after {
        display: none;
    }
    #seminar-page .seminar-card {
        width: 100%;
        min-width: auto;
    }
}