@charset "UTF-8";

#content .content-right { container:contentBody / inline-size;}

@media only screen and (max-width:980px){

    img { max-width:100%;}
	.pc { display:none;}
	.sm { display:block;}

	a[href^="tel:"] { pointer-events:auto;}
}



/*====================================================================================================
	HEADER / FOOTER / CONTENTS
====================================================================================================*/
@media only screen and (max-width:980px){
    #base { width:100%;}

    /* ----- header ----- */
    header { width:100%; float:none;}
    header h1 { display:none;}
    header .logo img {
        width:100%;
        height:55px;
        object-fit:cover;
        object-position:center left;
    }


    /* ----- footer ----- */
    footer {
        width:100%;
        float:none;
        box-sizing:border-box;
    }

    /* ----- contents ----- */
    #content { width:100%; min-height:calc(100dvh - 55px - 60px); position:relative;}
    #contents { width:100%; float:none; padding:0 1rem;}

    /* ----- Navimenu -----  */
    #Navimenu {
        float:none;
        position:fixed;
        bottom:0;
        left:100%;
        height:100%;
        z-index:9999;
    }
    #Navimenu .sm_btn {
        position:fixed;
        top:7.5px;
        right:7.5px;
        display:block;
        width:40px;
        height:40px;
        padding:5px 0;
        background-color:var(--main-color-deep);
        border:solid 1px #fff;
        border-radius:5px;
        z-index:10;
    }
    #Navimenu .sm_btn span {
        position:absolute;
        left:50%;
        translate:-50% 0;
        display:block;
        width:25px;
        height:2px;
        background-color:#fff;
        transition:all 0.5s ease;
    }
    #Navimenu .sm_btn span:nth-of-type(1) { top:10px;}
    #Navimenu .sm_btn span:nth-of-type(2) { top:50%; translate:-50% -50%;}
    #Navimenu .sm_btn span:nth-of-type(3) { bottom:10px;}
    #Navimenu ul.menu {
        height:100%;
        padding-top:55px;
        background-color:var(--main-color);
        translate:0% 0%;
        transition:all 0.5s ease;
    }
    #Navimenu ul.menu li.add {
        background-color:#fff;
        width:100%;
        height:100%;
    }
    
    /* .active */
    #Navimenu.active .sm_btn span:nth-of-type(1) { rotate:45deg; top:50%;}
    #Navimenu.active .sm_btn span:nth-of-type(2) { opacity:0;}
    #Navimenu.active .sm_btn span:nth-of-type(3) { rotate:-45deg; bottom:50%; translate:-50% 50%;}
    #Navimenu.active .sm_btn + ul.menu { translate:-100% 0%;}

}


/*====================================================================================================
  TOPPATE
====================================================================================================*/
@media only screen and (max-width:980px){

    #toppage p img { width:100%;}
    #information { width:100%;}
    #information ul.info { width:100%;}
    #information ul.info li { display:flex; flex-direction:column;}
    #information ul.info li .photo { order:3; margin:1rem auto 0;}
    #information ul.info li .midashi { order:1;}
    #information ul.info li .come { order:2; margin-top:1rem;}
}


/*====================================================================================================
  SUB PAGE
====================================================================================================*/
@media only screen and (max-width:980px){

    .page { position:absolute; inset:auto 0 0 auto; padding:0 5%;}

    #subpage { 
        margin:0 auto !important;
        width:100%;
        box-sizing:border-box;
    }
    #subpage #contents { padding:0;}
}


@media only screen and (max-width:650px){
    /* CATCH COPY */
    #subpage .catch { margin:0 2% 20px; font-size: 120%;}

    /* HYOU */
    #subpage table.def :is(th, td) {
        padding:2% 4%;
        font-size:1rem;
    }

    #subpage table.hyou { margin:0 auto; width:85%; table-layout:auto;}
    #subpage table.hyou th,
    #subpage table.hyou td{
        table-layout:auto !important;
        display:block !important;
        padding:2% 5%!important;
        width:100% !important;
        height:auto !important;
        /* font-size:1rem; */
    }
    #subpage table.pc_tit { display:none;}
    #subpage table.hyou .sm_mid { display:block;}

    /* 2RETU */
    #subpage table.hyou2 td table {}
    #subpage table.hyou2 td table th,
    #subpage table.hyou2 td table td {
        display:table-cell !important;
        padding:5% !important;
        width:auto !important;
        height:auto !important;
    }

    /* 3RETU */
    #subpage table.hyou3.pc_tit + table.hyou3 { border-top:var(--border);}

    /* 4RETU */
    #subpage table.hyou4.pc_tit + table.hyou4 { border-top:var(--border);}

    /* 5RETU */
    #subpage table.hyou5.pc_tit + table.hyou5 { border-top:var(--border);}

    #subpage table:is(.hyou3, .hyou4, .hyou5) td { padding:0!important;}
    #subpage table:is(.hyou3, .hyou4, .hyou5) td .sm_mid { padding:2% 5%; text-align:center; background-color:var(--th-bg); border-bottom:var(--border);}
    #subpage table:is(.hyou3, .hyou4, .hyou5) td .sm_mid + div { padding:2% 5%;}
    #subpage table:is(.hyou3, .hyou4, .hyou5) td:not(:has(.sm_mid + *)) { display:none!important;}

    /* FREE */
    #subpage .pc_table { display:none;}
    #subpage .sm_table { display:block;}
    #subpage .sm_table table td { padding:5% !important;}
        
    /* FREE2 */
    #subpage table.free { margin:20px 2% 0; border-top:1px solid #DDD !important; border-bottom:1px solid #DDD !important;}
    #subpage table.free td {
        table-layout:auto !important;
        display:block !important;
        padding:5% !important;
        width:90% !important;
        height:auto !important;
        border-bottom:none;
    }
    #subpage table.free td:last-child {border-bottom:none;}
    #subpage table.free td div.sm {display:block !important; text-align:center; border-bottom:none !important /*1px solid #1F266C*/;}
    #subpage table.free tr:nth-child(1) td:nth-child(1),
    #subpage table.free tr:nth-child(1) td:nth-child(3) {border-bottom:1px dotted #DDD !important;}

    /* FIX */
    #subpage .fix_table { width:100vw; overflow-x:auto;}
    #subpage .fix_table .fix_wrap { width:600px;}
    #subpage .fix_table table { padding: 0;}
    #subpage .fix_table table th,
    #subpage .fix_table table td { padding:2%;}

    /* LIST */
    #subpage ul.list-ul { margin:0 2%;}

    /* LINK */
    #subpage .link2,
    #subpage .link3,
    #subpage .link4 {width:auto; float:none; clear:both;}
    #subpage .file2,
    #subpage .file3,
    #subpage .file4 {width:auto; float:none; clear:both;}
    #subpage .pdf { margin-inline:2%;}

    /* EMBEDDED */
    #subpage .embedded { margin: 0 auto; width: 90%; }
    #subpage .embedded iframe { width: 100%; height: 300px;}

    /* PHOTO BOX */
    #subpage ul.photo_box { clear:none !important; float:none !important; margin:5% 2%; width:96% !important;}
    #subpage ul.g1 li,
    #subpage ul.g2 li,
    #subpage ul.g3 li,
    #subpage ul.g4 li,
    #subpage ul.g5 li{ margin:15px 0; width:100%;}
    #subpage ul.g1 li.photo img,
    #subpage ul.g2 li.photo img,
    #subpage ul.g3 li.photo img,
    #subpage ul.g4 li.photo img,
    #subpage ul.g5 li.photo img { max-width:100% !important; height:auto !important;}
        

    /* YOUTUBE */
    #subpage .youtube {position: relative; width: 100%;}
    #subpage .youtube iframe { width: 100% !important;  height: 100% !important;}

    /* BOX */
    #subpage .temple-box { margin:0 2%; width:96%;}
    #subpage .temple-box:after { display:none;}
    #subpage .box1,
    #subpage .box2 { float:none;margin: 0 2% 20px; width:96%;}
    #subpage .box1:after,
    #subpage .box2:after { display:none;}
    #subpage .box1 .catch { margin:0 0 20px !important;}
    #subpage .box1 h4,
    #subpage .box2 h4 { margin:10px 0; }
    #subpage .photo-c { float:none; padding:0; width:100%;}
    #subpage .photo-c img { max-width:100%!important; height:auto !important; margin:0;}
    #subpage .photo-l,
    #subpage .photo-r { float:none; padding:0; width:100%; text-align:center;}
    #subpage .photo-l img,
    #subpage .photo-r img { max-width:100%!important; height:auto !important; margin:0;}

    /* LINE */
    #subpage .line {
        margin:0 2% 20px;
        height:50px;
        background-size:100% auto;
    }

    /* BUTTON */
    #subpage .btn { float:none; margin:1% 5%;}
    #subpage .b1,
    #subpage .b2,
    #subpage .b3 { width:fit-content; margin-inline:auto;}

    /* COLUMNBOX */
    #subpage .column {}
    #subpage .column:after { display:none;}
    #subpage .column .col2 { float:none; margin: 2%; width: 96%;}
    #subpage .column .col3 { float:none; margin: 2%; width: 96%;}
    #subpage .column .col4 { float:none; margin: 2%; width: 96%;}
    #subpage .column .col5 { float:none; margin: 2%; width: 96%;}

    /* FLOW */
    #subpage ul.flow_box {}
    #subpage ul.flow_box:after { display:none;}
    #subpage ul.flow_box li { float:none; width:96% !important;}
    #subpage ul.flow_box li a:hover {}
    #subpage .flow1+.flow1 { margin-top:30px;}
    #subpage .flow1+.flow1:before { top:-30px;}
    #subpage ul.flow_box li+li { margin-top:30px;}
    #subpage ul.flow_box li+li:before {
        position:absolute;
        top:-30px;
        left:0;
        display:block;
        clear:both;
        content:"";
        width:100%;
        height:30px;
        background:url(../image/flow_bg_sm.png) no-repeat center center;
    }
    #subpage .flow1a+.flow1a {margin-top:30px;}
    #subpage .flow1a+.flow1a:before { top:-30px; width:100%;}
    #subpage .flow1a li+li { margin-top:5px !important; padding: 0 !important;}


    /* ricruite */
    #ricruite {

        & .intro {
            grid-template:
                "img" auto
                "catch" auto
                "text" 1fr / 1fr;

            & img:nth-of-type(1) { justify-self:center; width:135px;}
        }
        & .rDetail {
            grid-template:
                "h3" auto
                "img" auto
                "dl" 1fr / 1fr;
            & >  img { justify-self:center; width:135px;}
        }
    }
}