/*!
Template:rishun
Theme Name: rishun_child
Theme URI: https://rishuntrading.co.jp
Description: Rishun is a very simple & easy to customize theme which is based on the Bootstrap. It is also very friendly with custom post types and custom taxonomies. When you add a new one, the breadcrumbs will be adjusted and posts will look beautifully without editing or adding a template files.
Author: RishunTrading Limited.
Author URI: https://rishuntrading.co.jp
Version: 1.0.0
Requires at least: 1.0
Tested up to: 1.0.0
Requires PHP: 5.6.0
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Rishun WordPress theme, Copyright (C) 2022 RishunTrading Limited.
Rishun WordPress theme is licensed under the GPL.
Update Author:RishunTrading Limited
Update Author URI:https://rishuntrading.co.jp/
Version:1.0.0
*/
@charset "utf-8";
/************************************************************/
:root{
    --main-color:#132345;
    --sub-color:#3B8246;
    --font-color:#333;
    --thin-blue:#eaf0fc;
    --color-bg: #F7FAFB;
    --ptnB-sp-header-height: 80px;
    --ptnB-pc-header-height: 80px;
    --mobile-header-button-size:80px;
    --noto-sans: 'Noto Sans JP', 'Inter', 'Yu Gothic', sans-serif;
    --noto-serif: 'Noto Serif JP', '游明朝', 'Yu Mincho', serif;
}
/*==========================================================*/
/* defalt define											*/
/*==========================================================*/
body, p{
    font-size:17px;
    letter-spacing:0.1em;
    text-align:justify;
    font-family:var(--noto-sans);
}
body a{
    color:#333;
}
.nodata{
    color:#ff0000;
}
img{
    width:100%;
    height:auto;
}
.entry-body img{
    display:unset;
    width:auto;
    height: auto;
    max-width: 100%;
}
@media print {
    #mobile-menu {
        display: none !important;
    }
}
/*==========================================================*/
/* header       											*/
/*==========================================================*/
.site-header-wrap{
    width:100%;
    height:var(--ptnB-sp-header-height);
    background: var(--header-bk-color);
    position:fixed;
    top:0;
    left:0;
    z-index:1950;
}
.site-header-logo{
    width:100%;
    height:100%;
}
/*==========================================================*/
/* mobile button   											*/
/*==========================================================*/
body.no-scroll{
    height:100vh;
    overflow:hidden;
}
.mobile-navi-btn.right{
    position:fixed;
    width:var(--mobile-header-button-size);
    height:var(--mobile-header-button-size);
    background:var(--burger-bkcolor);
    top:0;
    right:0;
}
.mobile-navi-btn span{
    position: absolute;
    background:#555;
    height:2px;
    width:30px;
    left:50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    transition: all .3s;
}
.mobile-navi-btn span:nth-child(1){
    top:34%;
}
.mobile-navi-btn span:nth-child(2){
    top:50%;
}
.mobile-navi-btn span:nth-child(3){
    top:66%;
}
.mobile-navi-btn.mobile-navi-open{
    background:var(--burger-bkcolor);
    box-shadow:none;
}
.mobile-navi-btn.mobile-navi-open span:nth-child(1){
    transform-origin: top center;
    top:50%;
    left:25px;
    transform: rotate(135deg) translate(0, -50%);
}
.mobile-navi-btn.mobile-navi-open span:nth-child(2){
    opacity: 0;
}
.mobile-navi-btn.mobile-navi-open span:nth-child(3){
    transform-origin: top center;
    left:25px;
    top:50%;
    transform: rotate(45deg) translate(0, -50%);
}
.site-mobile-nav{
    height:100%;
    overflow-y: auto;
}
.site-mobile-nav>div{
    background:var(--mobile-menu-bkcolor);
    padding:0;
}
.site-mobile-nav .menu-mobilemenu-container{
    padding:10px;
    background:#fff;
    margin-bottom:40px;
    border-radius:6px;
}
.rishun_member_btn{
    display:grid;
    grid-template-columns: 1fr;
    gap:10px;
}
.mobile-menu-slide{
    padding-top:var(--ptnB-sp-header-height);
}
.site-mobile-menu>li>a, .site-mobile-menu>li>button.menu-trigger{
    letter-spacing:0.1em;
    font-weight:500;
    font-family:var(--noto-sans);
}
.site-mobile-menu ul.sub-menu>li>a{
    letter-spacing:0.1em;
    font-weight:500;
    font-family:var(--noto-sans);
}
.scrolled .ptnB .site-header-wrap{
    z-index:1950;
}
/*==========================================================*/
/* header menu     											*/
/*==========================================================*/
.site-header-menu>li>a{
    font-size:17px;
    font-weight:400;
    letter-spacing:0.1em;
    font-family:var(--noto-sans);
    margin:0 5px;
}
.site-header-menu>li.register-proc, .site-header-menu>li.mypage-proc{
    margin-left:10px;
}
.site-header-menu>li.register-proc>a, .site-header-menu>li.mypage-proc>a{
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:0;
    margin:0;
    width:100%;
    height:100%;
    padding:0 20px;
}
.site-header-menu>li.register-proc>a::before, .site-header-menu>li.mypage-proc>a::before{
    content:none;
}
/*==========================================================*/
/* before footer                                            */
/*==========================================================*/
.site-beforefooter{
    padding-bottom:20px;
}
.beforefooterwidget{
    width:100%;
    display:flex;
    flex-flow:row wrap;
    margin:0;
    padding:0;
}
.beforefooter_widget{
    display:block;
    width:100%;
}
.before-ft-logo-wrap{
    width:100%;
}
.before-ft-logo-wrap a{
    display:table;
    width:100%;
    max-width:250px;
    margin:0 auto 40px auto;
}
#menu-footerheadmenu{
    margin:0;
    padding:0;
    display:block;
    list-style:none;
}
#menu-footerheadmenu li{
    width:100%;
}
.site-beforefooter li.menu-item-type-post_type, .site-beforefooter li.menu-item-type-post_type_archive{
    padding-left:20px;
}
.site-beforefooter li.menu-item-type-post_type a, .site-beforefooter li.menu-item-type-post_type_archive a{
    line-height:2;
    letter-spacing: 0.1em;
    position:relative;
    font-size:17px;
}
.site-beforefooter li.menu-item-type-post_type a::before, .site-beforefooter li.menu-item-type-post_type_archive a::before{
    content:'';
    width:100%;
    height:1px;
    background:var(--beforefooter-font-color);
    position:absolute;
    bottom:0;
    left:0;
    transform:scaleX(0);
    transform-origin: left center;
    transition:transform 0.3s;
}
.site-beforefooter li.menu-item-type-post_type a:hover::before, .site-beforefooter li.menu-item-type-post_type_archive a:hover::before{
    transform:scaleX(1);
}
#menu-footerheadmenu li.logout-proc{
    margin-top:40px;
}
.site-beforefooter #menu-footerheadmenu li.logout-proc a{
    width:100%;
    height:100%;
    display:flex;
    justify-content: center;
    align-items: center;
}
#menu-footerheadmenu li.login-proc{
    margin-top:40px;
}
.site-beforefooter #menu-footerheadmenu li.rishun-mem_login-menu a{
    width:100%;
    height:100%;
    display:flex;
    justify-content: center;
    align-items: center;
    font-weight:400;
}
#menu-footerheadmenu li.register-proc{
    margin-top:10px;
}
.site-beforefooter #menu-footerheadmenu li.register-proc a{
    width:100%;
    height:100%;
    display:flex;
    justify-content: center;
    align-items: center;
    color:#fff;
    font-weight:400;
}
#menu-footerheadmenu li.mypage-proc{
    margin-top:10px;
}
#menu-footerheadmenu li.mypage-proc a{
    width:100%;
    height:100%;
    display:flex;
    justify-content: center;
    align-items: center;
    color:#fff;
}
@media(min-width:768px){
    #menu-footerheadmenu{
        display:flex;
        flex-flow:row wrap;
        align-items:center;
        justify-content: center;
        gap:20px;
    }
    #menu-footerheadmenu li{
        width:fit-content;
        padding:0;
    }
    #menu-footerheadmenu li.logout-proc{
        margin:0;
    }
    #menu-footerheadmenu li.mypage-proc{
        margin:0;
    }
    #menu-footerheadmenu li.rishun-mem_login-menu{
        margin:0;
    }
    #menu-footerheadmenu li.register-proc{
        margin:0;
    }
    .site-beforefooter #menu-footerheadmenu li.logout-proc a{
        width:150px;
        height:50px;
    }    
    .site-beforefooter #menu-footerheadmenu li.mypage-proc a{
        width:150px;
        height:50px;
    }    
    .site-beforefooter #menu-footerheadmenu li.rishun-mem_login-menu a{
        width:150px;
        height:50px;
    }
    .site-beforefooter #menu-footerheadmenu li.register-proc a{
        width:150px;
        height:50px;
    }
}
/*==========================================================*/
/* footer                                                   */
/*==========================================================*/
.site-footer{
    padding-top:20px;
}
/*==========================================================*/
/* common                                                   */
/*==========================================================*/
/* fade animation */
.js-ivlogic-fade{
    opacity:0;
    transform:translateY(16px);
    filter:blur(10px);
    transition:opacity 0.6s ease, transform 0.6s ease, filter 0.6s ease;
}
.js-ivlogic-fade.is-show{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
}
.page-section{
    padding:60px 0;
}
@media(min-width:768px){
    .page-section{
        padding:80px 0;
    }
}
/*==========================================================*/
/* top slide       											*/
/*==========================================================*/
.topslide-sec{
    padding:0 0 80px 0;
    position:relative;
}
.topslide-sec::before{
    content:"";
    position:absolute;
    top:-100px;
    left:-100px;
    width:400px;
    height:400px;
    border-radius:50%;
    background:var(--thin-blue);
    box-shadow:0 0 10px var(--thin-blue);
    pointer-events:none;
}
.topslide-wrap{
    width:100%;
    position:relative;
}
.mv-slider {
    position: relative;
    width: 100%;
    height: 300px;
    z-index:5;
}
.mv-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
    z-index: 1;
}
.mv-slide.is-active {
    opacity: 1;
    z-index: 2;
}
.mv-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* MV slider indicators */
.mv-slider-controls{
    position:absolute;
    bottom:-60px;
    left:0;
    z-index:20;
    display:flex;
    align-items:center;
    gap:14px;
    width:100%;
    max-width:560px;
    padding:16px 20px;
    background:transparent;
}

.mv-indicators{
    display:flex;
    align-items:center;
    gap:6px;
    flex:1;
}

.mv-indicator{
    flex:1;
    padding:12px 0;
    border:0;
    background:transparent;
    cursor:pointer;
}

.mv-indicator-bar{
    display:block;
    position:relative;
    width:100%;
    height:2px;
    background:#9aa1a9;
    overflow:hidden;
}

.mv-indicator-progress{
    display:block;
    position:absolute;
    top:0;
    left:0;
    width:0;
    height:100%;
    background:var(--sub-color3);
}

.mv-toggle-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    padding:0;
    border:1px solid #9aa1a9;
    border-radius:50%;
    background:#ffffff;
    cursor:pointer;
}

.mv-toggle-icon{
    display:block;
    position:relative;
    width:10px;
    height:12px;
}

.mv-toggle-icon-pause::before,
.mv-toggle-icon-pause::after{
    content:"";
    position:absolute;
    top:0;
    width:3px;
    height:12px;
    background:#6f7b8a;
}

.mv-toggle-icon-pause::before{
    left:1px;
}

.mv-toggle-icon-pause::after{
    right:1px;
}

.mv-toggle-icon-play{
    width:0;
    height:0;
    margin-left:3px;
    border-top:6px solid transparent;
    border-bottom:6px solid transparent;
    border-left:9px solid #6f7b8a;
}

.mv-toggle-btn:hover,
.mv-indicator:hover{
    opacity:0.75;
}

.mv-copy{
    width:100%;
    padding:40px 20px;
}
.mv-copy .ivlogic-fv-ttl{
    font-weight:900;
    font-family:var(--noto-serif);
    color:var(--main-color);
    line-height:1.4;
    letter-spacing:0.1em;
    font-size:32px;
    margin:0 0 20px 0;
    text-shadow:
        1px 1px 5px #ffffff,
        -1px 1px 5px #ffffff,
        1px -1px 5px #ffffff,
        -1px -1px 5px #ffffff,
        1px 0 5px #ffffff,
        -1px 0 5px #ffffff,
        0 1px 5px #ffffff,
        0 -1px 5px #ffffff;
}
.ivlogic-fv-lead{
    letter-spacing:0.1em;
    line-height:2;
    text-align:justify;
    color:var(--font-color);
    text-shadow:
        1px 1px 2px #ffffff,
        -1px 1px 2px #ffffff,
        1px -1px 2px #ffffff,
        -1px -1px 2px #ffffff,
        1px 0 2px #ffffff,
        -1px 0 2px #ffffff,
        0 1px 2px #ffffff,
        0 -1px 2px #ffffff;
}
.ivlogic-fv-lead br{
    display:none;
}
@media(min-width:768px){
    .mv-copy{
        padding:40px;
    }
    .ivlogic-fv-lead{
        white-space:nowrap;
    }
    .ivlogic-fv-lead br{
        display:block;
    }
    .mv-frame{
        display:flex;
        position:relative;
    }
    .mv-copy{
        display:flex;
        width:40%;
        position:relative;
        z-index:10;
        align-items:center;
        padding-left:calc((100vw - 720px) / 2);
        padding-right:0;
    }
    .mv-slider {
        width:60%;
        height:540px;
    }
    .mv-slider-controls{
        position:absolute;
        left:40%;
        bottom:-65px;
        width:520px;
        padding:18px 22px;
        background:rgba(255,255,255,0.8);
        box-shadow:0 0 5px rgba(0,0,0,0.1);
    }
}
@media(min-width:992px){
    .topslide-sec::before{
        width:500px;
        height:500px;
        left:-60px;
        right:auto;
    }
    .mv-frame{
        display:flex;
        position:relative;
    }
    .mv-copy{
        display:flex;
        width:35%;
        position:relative;
        z-index:10;
        align-items:center;
        padding-left:calc((100vw - 920px) / 2);
        padding-right:0;
    }
    .mv-slider {
        width:65%;
        height:600px;
    }
    .mv-slider-controls{
        position:absolute;
        left:35%;
        bottom:-65px;
        width:520px;
        padding:18px 22px;
        background:rgba(255,255,255,0.8);
        box-shadow:0 0 5px rgba(0,0,0,0.1);
    }
    .mv-copy .ivlogic-fv-ttl{
        font-size:50px;
        white-space:nowrap;
    }
    .ivlogic-fv-lead{
        font-size:18px;
    }
}
@media(min-width:1200px){
    .topslide-sec::before{
        width:600px;
        height:600px;
        left:-150px;
        right:auto;
    }
    .mv-copy{
        padding-left:calc((100vw - 1100px) / 2);
    }
    .ivlogic-fv-lead{
        font-size:20px;
    }
}
@media(min-width:1400px){
    .mv-copy{
        padding-left:calc((100vw - 1280px) / 2);
    }
}

@media (prefers-reduced-motion: reduce){
    .mv-slide{
        transition:none;
    }
}
/*==========================================================*/
/* top common                                               */
/*==========================================================*/
.top-sec-heading{
    margin:0 0 40px;
    text-align:center;
}
.top-sec-en{
    margin:0 0 10px;
    font-size:14px;
    font-weight:900;
    letter-spacing:0.2em;
    line-height:1.6;
    color:var(--sub-color);
    text-align:center;
    font-family:var(--noto-sans);
}
.top-sec-ttl{
    margin:0;
    font-size:24px;
    font-weight:700;
    letter-spacing:0.1em;
    line-height:1.5;
    color:var(--main-color);
    text-align:center;
    font-family:var(--noto-serif);
}
.top-btn{
    display:flex;
    min-width:250px;
    height:60px;
    justify-content: center;
    align-items:center;
    border:1px solid var(--main-color);
    border-radius:4px;
    font-size:17px;
    font-weight:500;
    letter-spacing:0.1em;
    line-height:1.5;
    text-align:center;
    text-decoration:none;
    transition:background-color .3s ease,color .3s ease,border-color .3s ease;
    position:relative;
    padding-right:20px;
}
.top-btn i{
    position:absolute;
    top:50%;
    right:20px;
    translate:0 -50%;
    transition:right 0.3s;
}
.top-btn:hover i{
    right:10px;
}
.top-btn-primary{
    background:var(--main-color);
    color:#fff;
}
.top-btn-primary:hover,
.top-btn-primary:focus{
    background:var(--sub-color);
    border-color:var(--sub-color);
    color:#fff;
    text-decoration:none;
}
.top-btn-secondary{
    background:#fff;
    color:var(--main-color);
}
.top-btn-secondary:hover,
.top-btn-secondary:focus{
    background:var(--thin-blue);
    color:var(--main-color);
    text-decoration:none;
}
.top-flow-actions,
.top-course-info-actions,
.top-cta-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px;
    margin-top:40px;
}
@media (min-width:768px){
    .top-sec-ttl{
        font-size:32px;
    }
    .top-sec-ttl .br_sp{
        display:none;
    }
    .top-sec-heading{
        margin-bottom:60px;
    }
}
@media (min-width:992px){
    .top-flow-actions,
    .top-course-info-actions,
    .top-cta-actions{
        gap:40px;
    }
}
/*==========================================================*/
/* top about                                                */
/*==========================================================*/
.top-about-sec{
    background:#fff;
}
.top-about-text p{
    margin:0 0 20px;
    letter-spacing:0.1em;
    line-height:2;
    color:var(--font-color);
    text-align:justify;
}
.top-about-text p:last-child{
    margin-bottom:0;
}
.top-about-visual{
    margin-top:30px;
}
.ul-top-about-visual-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
    list-style:none;
    margin:0;
    padding:0;
}
.top-about-visual-item{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:120px;
    padding:20px;
    background:var(--thin-blue);
    border:1px solid #d7e0f2;
    border-radius:4px;
    text-align:center;
}
.top-about-visual-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:80px;
    height:80px;
    border-radius:50%;
    background:#fff;
    color:var(--sub-color);
    font-size:32px;
}
.top-about-visual-label{
    font-size:16px;
    font-weight:500;
    letter-spacing:0.1em;
    line-height:1.6;
    color:var(--main-color);
}
@media (min-width:992px){
    .top-about-visual{
        margin-top:0;
    }
}
@media (min-width:1200px){
    .top-about-text{
        padding-right:30px;
    }
    .top-about-visual{
        padding-left:30px;
    }
}
/*==========================================================*/
/* top problem                                              */
/*==========================================================*/
.top-problem-sec{
    background:var(--thin-blue);
}
.ul-top-problem-list{
    list-style:none;
    margin:0 0 30px;
    padding:0;
}
.top-problem-item{
    margin-bottom:20px;
}
.top-problem-card{
    display:flex;
    width:100%;
    height:auto;
    padding:0 20px;
    min-height:150px;
    justify-content:flex-start;
    align-items: center;
    background:#fff;
    border:1px solid #d7e0f2;
    border-left:4px solid var(--sub-color);
    border-radius:4px;
}
.top-problem-text{
    margin:0;
    letter-spacing:0.1em;
    line-height:2;
    color:var(--font-color);
    text-align:justify;
}
.top-problem-lead{
    margin:0;
    padding:30px;
    background:#fff;
    border:1px solid #d7e0f2;
    border-radius:4px;
    letter-spacing:0.1em;
    line-height:2;
    color:var(--main-color);
    font-weight:500;
    text-align:justify;
}

/*==========================================================*/
/* top feature                                              */
/*==========================================================*/
.top-feature-sec{
    background:#fff;
}
.top-feature-col{
    margin-bottom:20px;
}
.top-feature-card{
    height:100%;
    padding:30px 20px;
    background:#fff;
    border:1px solid #d7e0f2;
    border-radius:4px;
    text-align:center;
}
.top-feature-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:80px;
    height:80px;
    margin:0 auto 20px;
    border-radius:50%;
    background:var(--thin-blue);
    color:var(--sub-color);
    font-size:32px;
}
.top-feature-num{
    margin:0 0 10px;
    font-size:20px;
    font-weight:700;
    letter-spacing:0.2em;
    line-height:1.4;
    color:var(--sub-color);
    text-align:center;
}
.top-feature-ttl{
    margin:0 0 20px;
    font-size:20px;
    font-weight:900;
    letter-spacing:0.08em;
    line-height:1.5;
    color:var(--main-color);
    text-align:center;
    font-family:var(--noto-serif);
    white-space:nowrap;
}
.top-feature-text{
    margin:0;
    letter-spacing:0.1em;
    line-height:2;
    color:var(--font-color);
    text-align:justify;
}
.top-feature-ttl .br_xl{
    display:none;
}
@media (min-width:1200px){
    .top-feature-col{
        margin-bottom:0;
    }
    .top-feature-ttl .br_xl{
        display:block;
    }
}

/*==========================================================*/
/* top curriculum                                           */
/*==========================================================*/
.top-curriculum-sec{
    background:var(--thin-blue);
}
.top-curriculum-lead{
    margin:0 0 30px;
    letter-spacing:0.1em;
    line-height:2;
    color:var(--font-color);
    text-align:justify;
}
.ol-top-curriculum-list{
    list-style:none;
    margin:0 0 30px;
    padding:0;
    counter-reset:none;
}
.top-curriculum-item{
    margin-bottom:20px;
}
.top-curriculum-card{
    height:100%;
    padding:30px 20px;
    background:#fff;
    border:1px solid #d7e0f2;
    border-radius:4px;
}
.top-curriculum-num{
    margin:0 0 10px;
    font-size:16px;
    font-weight:700;
    letter-spacing:0.15em;
    line-height:1.4;
    color:var(--sub-color);
}
.top-curriculum-ttl{
    margin:0 0 20px;
    font-size:20px;
    font-weight:700;
    letter-spacing:0.1em;
    line-height:1.5;
    color:var(--main-color);
    font-family:var(--noto-serif);
}
.top-curriculum-text{
    margin:0;
    letter-spacing:0.1em;
    line-height:2;
    color:var(--font-color);
    text-align:justify;
}
.top-curriculum-note{
    margin:0;
    padding:20px;
    background:#fff;
    border:1px solid #d7e0f2;
    border-radius:4px;
    font-size:16px;
    letter-spacing:0.1em;
    line-height:2;
    color:var(--font-color);
    text-align:justify;
}
@media(min-width:768px){
    .top-curriculum-lead{
        text-align:center;
    }
}
/*==========================================================*/
/* top learning                                             */
/*==========================================================*/
.top-learning-sec{
    background:#fff;
}
.top-learning-col{
    margin-bottom:20px;
}
.top-learning-card{
    height:100%;
    padding:30px;
    background:var(--thin-blue);
    border:1px solid #d7e0f2;
    border-radius:4px;
    text-align:center;
}
.top-learning-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    width:80px;
    height:80px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#fff;
    color:var(--sub-color);
    font-size:32px;
}
.top-learning-ttl{
    margin:0 0 20px;
    font-size:20px;
    font-weight:700;
    letter-spacing:0.1em;
    line-height:1.5;
    color:var(--main-color);
    font-family:var(--noto-serif);
}
.top-learning-text{
    margin:0;
    letter-spacing:0.1em;
    line-height:2;
    color:var(--font-color);
    text-align:justify;
}
.ol-top-learning-flow{
    list-style:none;
    margin:20px 0 0;
    padding:0;
}
.top-learning-flow-item{
    margin-bottom:20px;
}
.top-learning-flow-card{
    height:100%;
    min-height:180px;
    padding:30px 20px;
    background:#fff;
    border:1px solid #d7e0f2;
    border-top:4px solid var(--main-color);
    border-radius:4px;
    text-align:center;
}
.top-learning-flow-num{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    margin:0 0 20px;
    border-radius:50%;
    background:var(--main-color);
    color:#fff;
    font-size:14px;
    font-weight:700;
    letter-spacing:0.05em;
    line-height:1;
}
.top-learning-flow-text{
    margin:0;
    font-size:16px;
    letter-spacing:0.1em;
    line-height:1.8;
    color:var(--font-color);
    text-align:center;
}
.top-learning-flow-text .br_tb{
    display:none;
}
@media (min-width:768px){
    .top-learning-pair{
        display:grid;
        grid-template-columns: repeat(2,1fr);
        gap:40px;
    }
    .top-learning-col{
        margin-bottom:0;
    }
    .ol-top-learning-flow{
        display:grid;
        grid-template-columns:repeat(3, 1fr);
        gap:10px;
        margin-top:40px;
    }
    .top-learning-flow-item{
        margin-bottom:0;
    }
    .top-learning-flow-text .br_tb{
        display:block;
    }
}
@media (min-width:992px){
    .ol-top-learning-flow{
        gap:20px;
        grid-template-columns: repeat(4, 1fr);
    }
}
/*==========================================================*/
/* top instructor                                           */
/*==========================================================*/
.top-instructor-sec{
    background:var(--thin-blue);
}
.top-instructor-name{
    margin:0 0 10px;
    font-size:24px;
    font-weight:700;
    letter-spacing:0.1em;
    line-height:1.5;
    color:var(--main-color);
    font-family:var(--noto-serif);
    text-align:center;
}
.top-instructor-role{
    margin:0 0 30px;
    font-size:17px;
    font-weight:500;
    letter-spacing:0.1em;
    line-height:1.6;
    color:var(--sub-color);
    text-align:center;
}
.top-instructor-txt p{
    margin:0 0 20px;
    letter-spacing:0.1em;
    line-height:2;
    color:var(--font-color);
    text-align:justify;
}
.top-instructor-img .pict{
    width:80%;
    border-radius:6px;
    overflow:hidden;
    box-shadow:0 0 5px rgba(0, 0, 0, 0.1);
    margin:0 auto 10px auto;
}
.top-instructor-img .pict>img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
}
.ul-top-instructor-qualification-list{
    list-style:none;
    margin:30px 0 0;
    padding:0;
}
.ul-top-instructor-qualification-list li{
    display:flex;
    align-items:center;
    width:100%;
    min-height:80px;
    position:relative;
    margin:0 0 10px;
    padding:0 20px 0 30px;
    background:#fff;
    border:1px solid #d7e0f2;
    border-radius:4px;
    letter-spacing:0.1em;
    line-height:1.4;
    color:var(--font-color);
}
.ul-top-instructor-qualification-list li::before{
    content:"";
    position:absolute;
    top:50%;
    left:12px;
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--sub-color);
    transform:translateY(-50%);
}
.top-instructor-aside{
    margin-top:30px;
}
.top-instructor-score{
    padding:40px 30px;
    background:var(--main-color);
    border-radius:4px;
    text-align:center;
}
.top-instructor-score-label{
    margin:0 0 10px;
    font-size:17px;
    font-weight:500;
    letter-spacing:0.15em;
    line-height:1.5;
    color:#fff;
    text-align:center;
}
.top-instructor-score-value{
    margin:0 0 10px;
    font-size:48px;
    font-weight:700;
    letter-spacing:0.05em;
    line-height:1.2;
    color:#fff;
    text-align:center;
    font-family:var(--noto-serif);
}
.top-instructor-score-note{
    margin:0;
    font-size:14px;
    letter-spacing:0.1em;
    line-height:1.6;
    color:#fff;
    text-align:center;
}
.top-instructor-photo-slot{
    min-height:40px;
    margin-top:20px;
}
.ul-top-instructor-qualification-list li .br_pc{
    display:block;
}
.ul-top-instructor-qualification-list li .br_tb{
    display:none;
}
@media (min-width:768px){
    .top-instructor-main{
        display:grid;
        grid-template-columns:1.2fr 0.8fr;
        gap:40px;
    }
    .top-instructor-img{
        order:2;
    }
    .top-instructor-txt{
        order:1;
    }
    .top-instructor-img .pict{
        width:100%;
    }
    .top-instructor-img .pict>img{
        aspect-ratio:3/4;
    }
}
@media (min-width:992px){
    .top-instructor-aside{
        margin-top:0;
    }
    .ul-top-instructor-qualification-list{
        margin-top:40px;
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap:10px;
    }
    .ul-top-instructor-qualification-list li{
        margin:0;
    }
    .top-instructor-main{
        grid-template-columns:1.3fr 0.7fr;
        gap:60px;
    }
    .top-instructor-img .pict>img{
        aspect-ratio:9/10;
    }
}
@media (min-width:1200px){
    .top-instructor-main{
        grid-template-columns:1.4fr 0.6fr;
        gap:60px;
    }
    .top-instructor-img .pict>img{
        aspect-ratio:1/1;
    }
}
/*==========================================================*/
/* top recommend                                            */
/*==========================================================*/
.top-recommend-sec{
    background:#fff;
}
.ul-top-recommend-list{
    list-style:none;
    margin:0;
    padding:0;
}
.ul-top-recommend-list li{
    display:flex;
    width:100%;
    min-height:120px;
    align-items:center;
    margin:0 0 20px;
    padding:0 20px;
    background:var(--thin-blue);
    border:1px solid #d7e0f2;
    border-radius:4px;
}
.ul-top-recommend-list li:last-child{
    margin-bottom:0;
}
.ul-top-recommend-list li .box{
    display:flex;
    gap:15px;
    align-items: center;
}
.top-recommend-mark{
    display:flex;
    flex-shrink:0;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    margin-top:2px;
    border-radius:50%;
    background:var(--sub-color);
    color:#fff;
    font-size:14px;
}
.top-recommend-text{
    letter-spacing:0.1em;
    line-height:1.4;
    color:var(--font-color);
    text-align:justify;
}
@media(min-width:992px){
    .ul-top-recommend-list{
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap:10px;
    }
    .ul-top-recommend-list li{
        margin:0;
    }
}
/*==========================================================*/
/* top flow                                                 */
/*==========================================================*/
.top-flow-sec{
    background:var(--thin-blue);
}
.ol-top-start-flow{
    list-style:none;
    margin:0;
    padding:0;
}
.ol-top-start-flow li{
    display:flex;
    width:100%;
    align-items:center;
}
.top-flow-item{
    margin-bottom:40px;
}
.top-flow-card{
    width:100%;
    height:100%;
    min-height:250px;
    padding:20px;
    background:#fff;
    border:1px solid #d7e0f2;
    border-radius:4px;
    text-align:center;
    position:relative;
}
.top-flow-card::before{
    content:"\f107";
    font-family:"Font Awesome 7 Free";
    font-feature-settings: normal;
    font-style: normal;
    font-synthesis: none;
    font-variant: normal;
    font-weight:900;
    line-height:1;
    text-rendering: auto;
    display: inline-block;
    color: var(--sub-color);
    font-size: 24px;
    position:absolute;
    bottom:-30px;
    left:50%;
    translate:-50% 0;
}
.ol-top-start-flow li:last-of-type .top-flow-card::before{
    content:none;
}
.top-flow-step{
    margin:0 0 10px;
    font-size:14px;
    font-weight:700;
    letter-spacing:0.2em;
    line-height:1.4;
    color:var(--sub-color);
    text-align:center;
}
.top-flow-ttl{
    margin:0 0 20px;
    font-size:20px;
    font-weight:700;
    letter-spacing:0.1em;
    line-height:1.5;
    color:var(--main-color);
    text-align:center;
    font-family:var(--noto-serif);
}
.top-flow-text{
    margin:0;
    letter-spacing:0.1em;
    line-height:2;
    color:var(--font-color);
    text-align:justify;
}
@media (min-width:768px){
    .top-flow-card{
        min-height:200px;
    }
}
@media(min-width:992px){
    .ol-top-start-flow{
        display:grid;
        grid-template-columns: repeat(3, 1fr);
        gap:40px;
    }
    .ol-top-start-flow li{
        margin:0;
    }
    .top-flow-card::before{
        transform: rotate(-90deg);
        top:50%;
        bottom:auto;
        left:auto;
        right:-30px;
        translate:0 -50%;
    }
    .ol-top-start-flow li:last-of-type .top-flow-card::before{
        content:none;
    }
}
/*==========================================================*/
/* top course info                                          */
/*==========================================================*/
.top-course-info-sec{
    background:#fff;
}
.top-course-info-main > p{
    margin:0 0 20px;
    letter-spacing:0.1em;
    line-height:2;
    color:var(--font-color);
    text-align:justify;
}
.dl-top-course-meta{
    margin:40px 0 0;
    padding:0;
}
.top-course-meta-item{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    width:100%;
    height:50px;
    gap:5px;
    margin:0 0 20px;
    background:var(--thin-blue);
    border:1px solid #d7e0f2;
    border-radius:4px;
    padding-left:1em;
}
.top-course-meta-item dt{
    min-width:80px;
    margin:0;
    font-weight:700;
    letter-spacing:0.1em;
    line-height:1.8;
    color:var(--main-color);
}
.top-course-meta-item dd{
    margin:0;
    letter-spacing:0.1em;
    line-height:1.8;
    color:var(--font-color);
}
.top-course-info-side{
    margin-top:30px;
    padding:30px 20px;
    background:var(--thin-blue);
    border:1px solid #d7e0f2;
    border-radius:4px;
}
.top-course-content-ttl{
    margin:0 0 20px;
    font-size:20px;
    font-weight:700;
    letter-spacing:0.1em;
    line-height:1.5;
    color:var(--main-color);
    font-family:var(--noto-serif);
}
.ul-top-course-content-list{
    list-style:none;
    margin:0;
    padding:0;
}
.ul-top-course-content-list li{
    position:relative;
    margin:0 0 10px;
    padding:0 0 0 20px;
    letter-spacing:0.1em;
    line-height:2;
    color:var(--font-color);
}
.ul-top-course-content-list li:last-child{
    margin-bottom:0;
}
.ul-top-course-content-list li::before{
    content:"";
    position:absolute;
    top:0.85em;
    left:0;
    width:8px;
    height:8px;
    border-radius:50%;
    background:var(--sub-color);
}
@media (min-width:992px){
    .top-course-info-side{
        margin-top:0;
        padding:30px;
    }
    .dl-top-course-meta{
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap:20px;
        margin-bottom:20px;
    }
    .top-course-meta-item{
        margin:0;
        padding-left:30px;
    }
    .ul-top-course-content-list{
        display:grid;
        grid-template-columns: repeat(2, 1fr);
        gap:10px;
        margin-bottom:0;
    }
    .ul-top-course-content-list li{
        margin:0;
    }
}

/*==========================================================*/
/* top cta                                                  */
/*==========================================================*/
.top-cta-sec{
    background:var(--main-color);
}
.top-cta-sec .top-sec-ttl{
    color:#fff;
    text-align:justify;
}
.top-cta-sec .top-sec-ttl .br_tb{
    display:none;
}
.top-cta-sec p{
    margin:0 0 20px;
    letter-spacing:0.1em;
    line-height:2;
    color:#fff;
    text-align:justify;
}
.top-cta-sec p:last-of-type{
    margin-bottom:0;
}
.top-cta-sec .top-btn-secondary{
    background:transparent;
    border-color:#fff;
    color:#fff;
}
.top-cta-sec .top-btn-secondary:hover,
.top-cta-sec .top-btn-secondary:focus{
    background:#fff;
    color:var(--main-color);
}
.top-cta-sec .top-btn-primary{
    background:var(--sub-color);
    border-color:var(--sub-color);
    color:#fff;
}
.top-cta-sec .top-btn-primary:hover,
.top-cta-sec .top-btn-primary:focus{
    background:#fff;
    border-color:#fff;
    color:var(--main-color);
}
.top-cta-sec p .br_tb{
    display:none;
}
@media (min-width:768px){
    .top-cta-sec p{
        text-align:center;
    }
    .top-cta-sec .top-sec-ttl{
        text-align:center;
    }
    .top-cta-sec .top-sec-ttl .br_tb{
        display:block;
    }
    .top-cta-sec p .br_tb{
        display:block;
    }
}
/*==========================================================*/
/* course archive                                           */
/*==========================================================*/
.ivlogic_course-sec{
    padding-top:40px;
}
.study-guide-wrap{
    margin-bottom:40px;
}
.ivlogic-course-archive{
    width:100%;
}
.ivlogic-course-chapter{
    margin:0 0 48px;
}
.ivlogic-course-chapter:last-child{
    margin-bottom:0;
}
.ivlogic-course-chapter + .ivlogic-course-chapter{
    margin-top:48px;
    padding-top:48px;
    border-top:1px solid rgba(19,35,69,0.12);
}
.ivlogic-course-chapter-title{
    margin:0 0 28px;
    padding:0 0 0 16px;
    color:var(--main-color);
    font-family:var(--noto-serif);
    font-size:24px;
    font-weight:700;
    line-height:1.5;
    letter-spacing:0.06em;
    border-left:4px solid var(--sub-color);
}
.ivlogic-course-category{
    margin:0 0 36px;
}
.ivlogic-course-category:last-child{
    margin-bottom:0;
}
.ivlogic-course-category-title{
    margin:0 0 20px;
    padding:12px 16px;
    color:var(--main-color);
    font-size:20px;
    font-weight:700;
    line-height:1.5;
    letter-spacing:0.04em;
    background:var(--thin-blue);
    border-left:4px solid var(--sub-color);
}
.ul-ivlogic-course-list{
    list-style:none;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:20px;
}
.ivlogic-course-parent-list{
    margin-bottom:36px;
}
.ivlogic-course-item{
    margin:0;
    min-width:0;
}
.ivlogic-course-link{
    display:block;
    height:100%;
    background:#fff;
    border:1px solid rgba(19,35,69,0.12);
    border-radius:8px;
    overflow:hidden;
    text-decoration:none;
    color:inherit;
    box-shadow:0 2px 8px rgba(19,35,69,0.06);
    transition:transform 0.25s ease, box-shadow 0.25s ease;
}
.ivlogic-course-link:hover,
.ivlogic-course-link:focus{
    text-decoration:none;
}
.ivlogic-course-link:hover,
.ivlogic-course-link:focus-visible{
    transform:translateY(-4px);
    box-shadow:0 10px 24px rgba(19,35,69,0.14);
}
.ivlogic-course-link:focus-visible{
    outline:2px solid var(--sub-color);
    outline-offset:3px;
}
.ivlogic-course-link:hover .ivlogic-course-title,
.ivlogic-course-link:focus-visible .ivlogic-course-title{
    color:var(--sub-color);
}
.ivlogic-course-link:hover .ivlogic-course-thumbnail img,
.ivlogic-course-link:focus-visible .ivlogic-course-thumbnail img{
    transform:scale(1.04);
}
.ivlogic-course-thumbnail{
    position:relative;
    aspect-ratio:16 / 9;
    overflow:hidden;
    background:var(--thin-blue);
}
.ivlogic-course-thumbnail img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform 0.35s ease;
}
.ivlogic-course-new{
    position:absolute;
    top:10px;
    right:10px;
    z-index:1;
    display:inline-block;
    padding:4px 9px;
    border-radius:4px;
    background:var(--sub-color);
    color:#fff;
    font-size:12px;
    font-weight:700;
    letter-spacing:0.08em;
    line-height:1.3;
    box-shadow:0 2px 6px rgba(0,0,0,0.18);
}
.ivlogic-course-body{
    padding:16px 18px 20px;
}
.ivlogic-course-title{
    margin:0;
    font-size:16px;
    font-weight:700;
    line-height:1.7;
    color:var(--main-color);
    transition:color 0.25s ease;
}
.ivlogic-course-nodata{
    margin:0;
    padding:40px 24px;
    text-align:center;
    background:var(--thin-blue);
    border:1px solid rgba(19,35,69,0.12);
    border-radius:8px;
}
.ivlogic-course-nodata p{
    margin:0;
    color:var(--font-color);
    line-height:1.8;
    letter-spacing:0.06em;
}
@media (min-width:768px){
    .ivlogic-course-chapter-title{
        font-size:30px;
    }
    .ivlogic-course-category-title{
        font-size:22px;
    }
    .ul-ivlogic-course-list{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }
    .ivlogic-course-title{
        font-size:17px;
    }
}
@media (min-width:992px){
    .ul-ivlogic-course-list{
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }
}
@media (min-width:1200px){
    .ul-ivlogic-course-list{
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:30px;
    }
    .ivlogic-course-title{
        font-size:18px;
    }
}
@media (prefers-reduced-motion: reduce){
    .ivlogic-course-link,
    .ivlogic-course-thumbnail img,
    .ivlogic-course-title{
        transition:none;
    }
    .ivlogic-course-link:hover,
    .ivlogic-course-link:focus-visible{
        transform:none;
    }
    .ivlogic-course-link:hover .ivlogic-course-thumbnail img,
    .ivlogic-course-link:focus-visible .ivlogic-course-thumbnail img{
        transform:none;
    }
}
/*==========================================================*/
/* contact                                                  */
/*==========================================================*/
.contact-sec{
    max-width:680px;
    margin-left:auto;
    margin-right:auto;
}
.h2contact{
    font-size:24px;
    text-align:center;
    margin-bottom:40px;
    font-weight:900;
    color:var(--main-color);
    padding-bottom:30px;
    position:relative;
}
.h2contact::before{
    content:'';
    width:60px;
    height:3px;
    background:var(--main-color);
    position:absolute;
    bottom:0;
    left:50%;
    translate:-50% 0;
}
.required{
    background:#eb0101;
    color:#fff;
    border-radius:5px;
    font-size:12px;
    padding:5px 10px;
    line-height:1;
    margin-left:10px;
}
.privacylink{
    margin-bottom:20px;
}
.rch-form button[type="submit"], .rch-form input[type="submit"], .rch-form .rch-submit {
    width:100%;
    height:60px;
    font-size:17px;
    max-width:400px;
}
.rch-submit-wrap{
    width:100%;
    display:flex;
    justify-content: center;
}
@media(min-width:768px){
    .privacylink a{
        display:table;
        margin-left:auto;
        margin-right:auto;
    }
    .h2contact{
        font-size:32px;
    }

}
/*==========================================================*/
/* Privacy Policy                                           */
/*==========================================================*/
/* 全体のラップ（白背景と柔らかな影で独立した文書感を出す） */
.p-privacy {
    background:var(--color-bg);
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03);
}
@media (min-width: 768px) {
    .p-privacy {
        padding: 80px 8%;
    }
}
.p-privacy__container {
    max-width: 840px;
    margin: 0 auto;
}

/* リード文 */
.p-privacy__lead {
    font-size: 16px;
    line-height: 2.0;
    color: #2D3748;
    margin-bottom: 56px;
    padding-bottom: 40px;
    border-bottom: 2px solid #E2E8F0;
}

/* 各セクション（グループ）の区切り */
.p-privacy__section {
    margin-bottom: 56px;
}
.p-privacy__section:last-child {
    margin-bottom: 0;
}

/* 見出し */
.p-privacy__heading {
    font-size: 20px;
    font-weight: 700;
    color: #1A365D; /* 少し濃い紺色 */
    margin-bottom: 24px;
    padding-left: 16px;
    border-left: 4px solid #0A4B8F; /* ブランドカラーのアクセント */
    line-height: 1.4;
}
@media (min-width: 768px) {
    .p-privacy__heading {
        font-size: 22px;
    }
}

/* 本文（小さくしすぎない、読みやすいサイズと行間） */
.p-privacy__text {
    font-size: 16px;
    line-height: 1.9;
    color: #4A5568;
    margin-bottom: 16px;
}
.p-privacy__text:last-child {
    margin-bottom: 0;
}

/* リスト（liタグ） */
.p-privacy__list {
    margin: 16px 0 0 24px;
    padding: 0;
    list-style-type: disc;
}
.p-privacy__list-item {
    font-size: 16px;
    line-height: 1.8;
    color: #4A5568;
    margin-bottom: 12px;
}
.p-privacy__list-item:last-child {
    margin-bottom: 0;
}

/* リンク（aタグ） */
.p-privacy__link {
    color: var(--sub-color);
    text-decoration: underline;
    transition: all 0.3s ease;
}
.p-privacy__link:hover {
    color: var(--main-color);
    text-decoration: none;
}

/*==========================================================*/
/* Terms of Use                                             */
/*==========================================================*/
.p-terms{
    padding:40px 20px;
    background:var(--color-bg);
    border-radius:12px;
    box-shadow:0 4px 20px rgba(0,0,0,0.03);
}
.p-terms__container{
    max-width:840px;
    margin:0 auto;
}
.p-terms__lead{
    margin:0 0 56px;
    padding:0 0 40px;
    border-bottom:2px solid #e2e8f0;
}
.p-terms__lead p{
    margin:0 0 16px;
    color:#2d3748;
    font-size:16px;
    line-height:2;
}
.p-terms__lead p:last-child{
    margin-bottom:0;
}
.p-terms__section{
    margin:0 0 56px;
}
.p-terms__section:last-of-type{
    margin-bottom:0;
}
.p-terms__heading{
    margin:0 0 24px;
    padding:0 0 0 16px;
    border-left:4px solid var(--sub-color);
    color:var(--main-color);
    font-size:20px;
    font-weight:700;
    line-height:1.5;
    letter-spacing:0.04em;
}
.p-terms__text{
    margin:0 0 16px;
    color:#4a5568;
    font-size:16px;
    line-height:1.9;
}
.p-terms__text:last-child{
    margin-bottom:0;
}
.p-terms__ordered-list{
    margin:0;
    padding:0 0 0 1.5em;
}
.p-terms__ordered-item{
    margin:0 0 16px;
    padding:0 0 0 0.25em;
    color:#4a5568;
    font-size:16px;
    line-height:1.9;
}
.p-terms__ordered-item:last-child{
    margin-bottom:0;
}
.p-terms__list{
    margin:16px 0 0;
    padding:0 0 0 1.5em;
    list-style-type:disc;
}
.p-terms__list-item{
    margin:0 0 12px;
    padding:0 0 0 0.15em;
    color:#4a5568;
    font-size:16px;
    line-height:1.8;
}
.p-terms__list-item:last-child{
    margin-bottom:0;
}
.p-terms__definition-list{
    margin:0;
    padding:0;
}
.p-terms__definition-item{
    display:grid;
    grid-template-columns:minmax(0, 1fr);
    gap:8px;
    margin:0 0 20px;
    padding:20px;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:6px;
}
.p-terms__definition-item:last-child{
    margin-bottom:0;
}
.p-terms__definition-term{
    margin:0;
    color:var(--main-color);
    font-size:16px;
    font-weight:700;
    line-height:1.7;
}
.p-terms__definition-description{
    margin:0;
    color:#4a5568;
    font-size:16px;
    line-height:1.8;
}
.p-terms__link{
    color:var(--sub-color);
    text-decoration:underline;
    text-underline-offset:0.2em;
    transition:color 0.3s ease, text-decoration-color 0.3s ease;
}
.p-terms__link:hover{
    color:var(--main-color);
    text-decoration:none;
}
.p-terms__link:focus-visible{
    outline:2px solid var(--sub-color);
    outline-offset:3px;
    border-radius:2px;
}
.p-terms__closing{
    margin:56px 0 0;
    padding:32px 0 0;
    border-top:2px solid #e2e8f0;
    text-align:right;
}
.p-terms__closing p{
    margin:0;
    color:#4a5568;
    font-size:16px;
    line-height:1.8;
}
@media (min-width:768px){
    .p-terms{
        padding:80px 8%;
    }
    .p-terms__heading{
        font-size:22px;
    }
    .p-terms__definition-item{
        grid-template-columns:140px minmax(0, 1fr);
        gap:24px;
        padding:24px;
    }
}
@media (prefers-reduced-motion:reduce){
    .p-terms__link{
        transition:none;
    }
}
/*==========================================================*/
/* Specified Commercial Transactions                        */
/*==========================================================*/
.p-sct{
    padding:40px 20px;
    background:var(--color-bg);
    border-radius:12px;
    box-shadow:0 4px 20px rgba(0,0,0,0.03);
}
.p-sct__container{
    max-width:960px;
    margin:0 auto;
}
.p-sct__lead{
    margin:0 0 40px;
    padding:0 0 32px;
    border-bottom:2px solid #e2e8f0;
}
.p-sct__lead p{
    margin:0;
    color:#2d3748;
    font-size:16px;
    line-height:2;
}
.p-sct__list{
    margin:0;
    padding:0;
}
.p-sct__item{
    margin:0 0 20px;
    padding:20px;
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:6px;
}
.p-sct__item:last-child{
    margin-bottom:0;
}
.p-sct__term{
    margin:0 0 12px;
    color:var(--main-color);
    font-size:16px;
    font-weight:700;
    line-height:1.7;
    letter-spacing:0.05em;
}
.p-sct__description{
    min-width:0;
    margin:0;
    color:#4a5568;
    font-size:16px;
    line-height:1.9;
    overflow-wrap:anywhere;
}
.p-sct__address{
    display:inline-block;
}
.p-sct__fee-list{
    margin:0;
    padding:0 0 0 1.5em;
    list-style-type:disc;
}
.p-sct__fee-item{
    margin:0 0 8px;
    color:#4a5568;
    font-size:16px;
    line-height:1.8;
}
.p-sct__fee-item:last-child{
    margin-bottom:0;
}
.p-sct__link{
    color:var(--sub-color);
    text-decoration:underline;
    text-underline-offset:0.2em;
    transition:color 0.3s ease, text-decoration-color 0.3s ease;
}
.p-sct__link:hover{
    color:var(--main-color);
    text-decoration:none;
}
.p-sct__link:focus-visible{
    outline:2px solid var(--sub-color);
    outline-offset:3px;
    border-radius:2px;
}
@media (min-width:768px){
    .p-sct{
        padding:80px 8%;
    }
    .p-sct__lead{
        margin-bottom:48px;
    }
    .p-sct__item{
        display:grid;
        grid-template-columns:220px minmax(0, 1fr);
        gap:32px;
        align-items:start;
        margin-bottom:0;
        padding:24px 20px;
        background:transparent;
        border:0;
        border-bottom:1px solid #e2e8f0;
        border-radius:0;
    }
    .p-sct__item:first-child{
        border-top:1px solid #e2e8f0;
    }
    .p-sct__term{
        margin:0;
    }
}
@media (prefers-reduced-motion:reduce){
    .p-sct__link{
        transition:none;
    }
}
