@charset "UTF-8";
/* winter2025.css */

/* ▼ common.css ----------------------------- */

/* ===== basic ===== */
* { 
    font-family: 'Noto Sans JP';
    color: initial;
    text-decoration: none; 
    box-sizing: border-box;
    border-collapse: collapse;
}
/* fontのジラ付きを修正する処理 */
.phone_info span {
  display: none;
  visibility: hidden;
  opacity: 0;
  transition: opacity .1s;
}
html.wf-active .phone_info span {
  display: block;
  visibility: visible;
  opacity: 1;
}
.wrap {
    max-width: 1200px;
    margin-left:  auto;
    margin-right: auto;
    padding-left: 50px;
    padding-right: 50px;
}
.flex_box {
    display:flex;
    flex-wrap: nowrap;
}
.pc_blk   { display:block !important; }
.sp_blk   { display:none  !important; }

.flex_box.pc_blk   { display:flex !important; }
.flex_box.sp_blk   { display:none  !important; }

/* text */
h1,
h2,
h3,
h4 {
	font-family: 'Noto Sans JP';
    line-height: 1.3;
    letter-spacing: .1em;
}
li,
ol,
dt,
dd,
p,
a,
span {
    line-height: 1.6;
    letter-spacing: .05em;
}
a {
    text-decoration: none !important;
}
li,
p {
    font-size: 16px;
    font-size: min(1.6vw,16px);
}

/* mar & pad */
.marXXL_T { margin-top:100px !important; }
.marXL_T  { margin-top: 80px !important; }
.marL_T   { margin-top: 60px !important; }
.marM_T   { margin-top: 40px !important; }
.marS_T   { margin-top: 30px !important; }
.marXS_T  { margin-top: 20px !important; }
.marXXS_T { margin-top: 10px !important; }

.marXXL_B { margin-bottom:100px !important; }
.marXL_B  { margin-bottom: 80px !important; }
.marL_B   { margin-bottom: 60px !important; }
.marM_B   { margin-bottom: 40px !important; }
.marS_B   { margin-bottom: 30px !important; }
.marXS_B  { margin-bottom: 20px !important; }
.marXXS_B { margin-bottom: 10px !important; }

/* pad */
.padXXL_T { padding-top:100px !important; }
.padXL_T  { padding-top: 80px !important; }
.padL_T   { padding-top: 60px !important; }
.padM_T   { padding-top: 40px !important; }
.padS_T   { padding-top: 30px !important; }
.padXS_T  { padding-top: 20px !important; }
.padXXS_T { padding-top: 10px !important; }

.padXXL_B { padding-bottom:100px !important; }
.padXL_B  { padding-bottom: 80px !important; }
.padL_B   { padding-bottom: 60px !important; }
.padM_B   { padding-bottom: 40px !important; }
.padS_B   { padding-bottom: 30px !important; }
.padXS_B  { padding-bottom: 20px !important; }
.padXXS_B { padding-bottom: 10px !important; }

/* ===== end .basic ===== */





@media screen and (max-width:768px) {
    /* ===== basic ===== */
    .pc_blk { display:none !important;  }
    .sp_blk { display:block !important; }

    .flex_box.pc_blk { display:none !important;  }
    .flex_box.sp_blk { display:flex !important; }

	.align_center_sp { text-align:center; }

    /* 親 */
    .wrap,
    .innerBox {
        width: 88%;
        max-width: 550px;
        padding-left:  0;
        padding-right: 0;
    }
    .flex_box {
        flex-wrap: wrap;
    }
    /* 見出し */
    h2.h2_blue,
    h2.h2_Licon {
        font-size: 20px;
        margin-bottom: 20px;
    }
    h2.h2_Licon:before {
        margin-right: 10px;
    }
    h3.h3_blue {
        font-size: 16px;
        text-align: left;
        margin-bottom: 10px;
    }
    h1,
    h2,
    h3,
    h4 {
        line-height: 1.5;
    }

    /* 共通になりそう */
    section .card,
    .contact_info .white_box {
        padding: min(4vw, 30px); /* 15px */
    }

	/* mar */
	.marXXL_T { margin-top:50px !important; }
	.marXL_T  { margin-top:40px !important; }
	.marL_T   { margin-top:30px !important; }
	.marM_T   { margin-top:20px !important; }
	.marS_T   { margin-top:10px !important; }
	.marXS_T  { margin-top: 5px !important; }

	.marXXL_B { margin-bottom:50px !important; }
	.marXL_B  { margin-bottom:40px !important; }
	.marL_B   { margin-bottom:30px !important; }
	.marM_B   { margin-bottom:20px !important; }
	.marS_B   { margin-bottom:10px !important; }
	.marXS_B  { margin-bottom: 5px !important; }

	.marXXL_T-SP { margin-top:50px !important; }
	.marXL_T-SP  { margin-top:40px !important; }
	.marL_T-SP   { margin-top:30px !important; }
	.marM_T-SP   { margin-top:20px !important; }
	.marS_T-SP   { margin-top:10px !important; }
	.marXS_T-SP  { margin-top: 5px !important; }
	.mar0_T-SP   { margin-top: 0px !important; }

	.marXXL_B-SP { margin-bottom:50px !important; }
	.marXL_B-SP  { margin-bottom:40px !important; }
	.marL_B-SP   { margin-bottom:30px !important; }
	.marM_B-SP   { margin-bottom:20px !important; }
	.marS_B-SP   { margin-bottom:10px !important; }
	.marXS_B-SP  { margin-bottom: 5px !important; }
	.mar0_B-SP   { margin-bottom: 0px !important; }

	/* pad */
	.padXXL_T { padding-top:50px !important; }
	.padXL_T  { padding-top:40px !important; }
	.padL_T   { padding-top:30px !important; }
	.padM_T   { padding-top:20px !important; }
	.padS_T   { padding-top:10px !important; }
	.padXS_T  { padding-top: 5px !important; }

	.padXXL_B { padding-bottom:50px !important; }
	.padXL_B  { padding-bottom:40px !important; }
	.padL_B   { padding-bottom:30px !important; }
	.padM_B   { padding-bottom:20px !important; }
	.padS_B   { padding-bottom:10px !important; }
	.padXS_B  { padding-bottom: 5px !important; }

	.padXXL_T-SP { padding-top:50px !important; }
	.padXL_T-SP  { padding-top:40px !important; }
	.padL_T-SP   { padding-top:30px !important; }
	.padM_T-SP   { padding-top:20px !important; }
	.padS_T-SP   { padding-top:10px !important; }
	.padXS_T-SP  { padding-top: 5px !important; }
	.pad0_T-SP   { padding-top: 0px !important; }

	.padXXL_B-SP { padding-bottom:50px !important; }
	.padXL_B-SP  { padding-bottom:40px !important; }
	.padL_B-SP   { padding-bottom:30px !important; }
	.padM_B-SP   { padding-bottom:20px !important; }
	.padS_B-SP   { padding-bottom:10px !important; }
	.padXS_B-SP  { padding-bottom: 5px !important; }
	.pad0_B-SP   { padding-bottom: 0px !important; }

    /* ===== end basic ===== */
}


/* ===== 料金表 昨年度のCSS ===== */
table {
    overflow-x: scroll;
}
.uk-table {
	margin-bottom: 0;
}
.uk-table th {
    font-size: min(1.4vw,16px);
}
table th,
table td {
    font-size: min(1.4vw,16px);
    vertical-align: middle !important;
}
.uk-table td,
.uk-table td {
    padding: 16px min(1.2vw,12px);
}
#price_schedulle p,
#price_schedulle li {
    line-height: 2;
}
.fw_b { font-weight:bold; }
.va_m { vertical-align:middle !important; }

.comments {
	font-size: 14px;
}
.bg_b {
    font-weight: bold;
    background-color: #EFF9FF;
}
.bg_f {
    background-color: #fff !important;
    vertical-align: middle !important;
}
/*////// 個別指導 START //////*/
.innerBox {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 50px;
}
.innerBox > h2 {
    font-size: 40px;
    font-size: min(4vw,40px);
	font-weight: bold;
    text-align: center;
    margin-bottom: 60px;
}
/* 個別指導 タイトル */
.Individual_header {
    display: flex;
    margin-bottom: 50px;
}
.Individual_header > h3 {
    min-width: 150px;
    font-size: 30px;
    font-size: min(3vw,30px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    padding: min(3vw,30px);
    border-radius: 10px;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin-right: 30px;
}
.Individual_header > ul > li {
    list-style-type: none;
}
.Individual_header > ul > li + li {
	margin-top: .35em;
}


/* 個別指導 受講料 */
.Individual_price > h4 , .Individual_schedulle > h4 {
    text-align: center;
    font-weight: bold;
    font-size: 20px;
    font-size: min(2vw,20px);
    margin-bottom: 20px;
}
.Individual_price > h4 > span ,
.Individual_schedulle > h4 > span {
    font-size: 16px;
    font-size: min(1.6vw,16px);
}
.Individual_price > .price_table {
    margin-bottom: 50px;
}
.Individual_price > .price_table > table {
    text-align: center;
    font-size: 16px;
    font-size: min(1.6vw,16px);
}
.Individual_price > .price_table > table > thead > tr > th {
    text-align: center;
    font-size: 16px;
    font-size: min(1.6vw,16px);
    font-weight: bold;
}
/* ////// 個別指導 END ////// */


/* ////// 集団指導 START ////// */
/*　集団指導 タイトル */
.Group_guidance_header {
    display: flex;
    margin-bottom: 50px;
}
.Group_guidance_header > h3,
.Individual_header > h3 {
	min-width: fit-content;
}

.Group_guidance_header > h3 {
    font-size: 30px;
    font-size: min(3vw,30px);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
    border-radius: 10px;
    letter-spacing: 0.1em;
    font-weight: bold;
    margin-right: 30px;
}
.Group_guidance_header > ul {
    display: flex;
    align-items: center;
    justify-content: center;
}
/* 集団指導 受講料　*/
.Group_guidance_price > h4 {
    font-size: 20px;
    font-size: min(2vw,20px);
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
	color: #000;
}
.Group_guidance_price > .price_table > table > thead > tr > th {
	letter-spacing: .1em;
    text-align: center;
    font-weight: bold;
}
.Group_guidance_price > .price_table > table > tbody > tr > td {
    text-align: center;
    line-height: 1.5;
}


@media screen and (max-width:768px) {
	/* ===== 料金表 ===== */

	/* ----- ▼ 昨年度のCSS ----- */
    /* headerのflex */
    .Individual_header,
    .Group_guidance_header {
        flex-wrap: wrap;
        justify-content: center;
        margin-bottom: 30px;
    }
    .Individual_header h3,
    .Group_guidance_header h3 {
        min-width: inherit;
        font-size: 20px;
        margin-right:   0;
        margin-bottom: .75em;
        padding: .35em .75em;
        border-radius: 5px;
    }
    /* 文字 */
    #sec_price h4 {
        font-size: 18px;
    }
    #sec_price h4 span {
        font-size: 14px;
    }
    #sec_price .comments {
        font-size: 12px;
    }
    #sec_price h4 span {
        padding-left: 0;
    }
    table th,
    table td {
        font-size: 14px !important;
        padding-left:  10px !important;
        padding-right: 10px !important;
    }
	.price_table {
		width: 100%;
		overflow-x: scroll;
	}
    #sec_price table {
        min-width: 700px;
    }


    /* 一番左の縦一列 */
    .schedulle tr > *:first-of-type {
        min-width: 130px;
    }
}
/* ===== ▲ 料金表 昨年度のCSS ===== */





/* ===== よくあるご質問 ===== */
.h2_faq:before {
	width:  3em;
	height: 1.5em;
	background-image: url(../../../img/lp/winter2025/common/icon_faq.svg);
}
#sec_faq .cont_wrap {
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
#sec_faq .cont_wrap p {
	width: fit-content;
	line-height: 1.8;
	letter-spacing: .15em;
}
#sec_faq li {
    position: relative;
    color: #092466;
    background-color: #e0eaf3;
}
.uk-accordion>:nth-child(n+2) {
	margin-top: 30px;
}
/* + - */
#sec_faq li:before {
    display: block;
    content: "";
    position: absolute;
    top:   40px; 
    right: 40px;
    margin:auto;
    width: 30px;
    height: 2px;
    background-color: #092466;
    transition: .2s;
    transform: rotate(90deg);
}
#sec_faq li:after {
    display: block;
    content: "";
    position: absolute;
    top:   40px; 
    right: 40px;
    margin: auto;
    width: 30px;
    height: 2px; 
    background-color: #092466;
    transition: .3s;
}
#sec_faq li.uk-open:before {
    transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
}
#sec_faq li.uk-open:after {
    background-color: transparent;
}
#sec_faq .uk-accordion-title {
    font-size: min(2vw,20px);
    font-weight: bold;
    padding: 30px;
    color: #092466 !important;
}
#sec_faq .uk-accordion-content {
	text-align: justify;
	line-height: 1.7;
	letter-spacing: .1em;
    margin-top: 0;
    padding: 0px 30px 30px;
}
/* Q */
#sec_faq .uk-accordion-title:before {
    content: "Q";
    font-size: min(3.2vw,32px);
    line-height: 0;
    float: inherit;
    margin-left: 0;
    margin-right: 15px;
    color: #092466;
    background-image: inherit;
}
.p_big_sch {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    color: #333;
    margin-top: 60px;
}


@media screen and (max-width:768px) {
	h2.h2_faq:before {
		min-width:  3em;
        min-height: 2em;
	}
	#sec_faq .cont_wrap p {
		font-size: 14px;
	}

	/* ----- ▼ 昨年度のCSS ----- */
    #sec_faq .h2_Licon:before {
        width:  50px;
        height: 40px;
    }
    /* li uk-accordion */
    #sec_faq .uk-accordion-title {
        font-size: 16px;
        display: flex;
        align-items: center;
        flex-wrap: nowrap;
        justify-content: flex-start;
        padding: 15px;
    }
    /* Q */
    #sec_faq .uk-accordion-title:before {
		width:  inherit;
		height: inherit;
        font-size: 24px;
        margin-right: 10px;
		transform: translateY(-.1em);
    }
    /* + */
    #sec_faq li:before,
    #sec_faq li:after  {
        width: 15px;
        top:   25px;
        right: 15px;
    }
    #sec_faq li:nth-of-type(n+2):before,
    #sec_faq li:nth-of-type(n+2):after  {
        top: 32px;
    }
    /* accordion-cont */
    .uk-accordion-content {
        font-size:  14px;
        text-align: justify;
        margin-top: 10px;
    }
	/* ----- ▲ 昨年度のCSS ----- */
    .Group_guidance_price tr > *:first-of-type {
        width: 14%;
    }
    .Group_guidance_price tr > *:nth-of-type(3) {
        width: 23%;
    }
	.uk-accordion > :nth-child(n+2) {
		margin-top: 20px;
	}
    .p_big_sch {
        font-size: 16px;
        margin-top: 30px;
    }
}