@charset "UTF-8";
@import url("grid.css");

:root { /* 色変更される場合は、#以降のカラーコードを変更してください IE非対応 */
    --base-color: #1f303c;
    --link-color: #666;
    --linkhover-color: #999;
    --back-color: #f7f7f7;
    --border-color: #ccc;
    --white-color: #fff;
}

img {
	max-width:100%;
	height: auto;/*高さ自動*/
    display: block;
}
a {
    display:block;
    color: var(--link-color);
    text-decoration-line: none;
}
a:hover { 
    color: var(--linkhover-color);
}

/*ヘッダー
-------------------------------------*/
.header {
	display: flex;
    flex-direction: column;
    padding: 2rem 0 0 0;
    margin-bottom: 10px;
}
.header-box {
	display: none !important;
}
.header #open,#close  {
    position: absolute;
    top: 20px;
    right: 12px;
}
nav ul {
	flex-direction: column;
}
.header li {
	padding-top: 0;
}
#open {
    display: block;
    background: url(../img/button.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    border: none;
    position: absolute;
    top: 20px;
    right: 12px;
}
#close  {
    display: block;
    background: url(../img/button2.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    border: none;
    position: absolute;
    top: 20px;
    right: 12px;
}
#navi {
    display: none;
}
nav ul {
	display: flex;
    flex-direction: column;
    justify-content: space-around;
    list-style: none;
	margin: 1rem 0 0 0;
}
nav li {
	flex: 1 0 auto;
}
nav li a {
    text-decoration: none;
    text-align: center;
    width: 100%;
}
nav a:hover {
    background-color: var(--back-color);   
}
nav a {
    padding: 0.5rem;
}

@media screen and (min-width: 768px){
.header {
    flex-direction: row;
    margin-bottom: 0;
}
.header-box {
    display: block !important;
	margin-left: auto;
	margin-top: 8px;
}
.contact-button {
	padding: 1rem;
	border: 2px solid var(--base-color);
}
/* PC時はMENUボタンを非表示 */
#open,#close {
    display: none !important;
}
#navi {
    display: block !important;
}
nav ul {
	flex-direction: row;
}
}


    
/*メイン画像
-------------------------------------*/
.mainimg img {
    width: 100vw;
}

/*メインコンテンツ
-------------------------------------*/
.section-wrap{
    padding: 12.08vw 0;
}
.gray-back {
	background-color: var(--back-color);
}

@media screen and (min-width: 768px){
    .section-wrap{
        padding: 80px 0;
    }
}

@media screen and (min-width: 1080px){
    .section-wrap{
        padding: 100px 0;
    }
}

/*キャッチコピー
-------------------------------------*/
.catch {
    text-align: center;
}
.catch h2 {
    padding-bottom: 1rem;
}
.under {
    border-bottom: 0.4rem solid var(--base-color);
    padding:0 1rem 1rem 1rem;
}
.center {
	text-align: center;
	margin-bottom: 4rem;
}

/*申し込みの流れ
-------------------------------------*/
.flow.row {
	margin-bottom: 3rem;
}

/*フッター
-------------------------------------*/
footer {
    background-color: #000; 
    padding: 3rem 0;
}
footer h4 {
    border-bottom: 3px solid var(--border-color);
}

/*お問い合わせ
-------------------------------------*/
.contact-box {
	border: 1px solid var(--border-color);
	text-align: center;
	padding: 2rem 0;
}
.table {
	margin: 4rem 0;
}
.table th {
	width: 100%;
	display: block;
}	
.table td {
	display: block;
}

@media screen and (min-width: 768px){
    .table th {
        width: 250px;
        display: table-cell;
    }
    .table td {
        display: table-cell;
    }
}

/*コピーライト
-------------------------------------*/
.copyright {
    color: #fff;
    text-align: center;
    padding: 1rem 0;
}
.copyright a {
    color: #fff;
    text-decoration: none;
	display: inline;
}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
    line-height: 1.1;
    z-index: 20;
}
#pagetop a {
    width: 60px;
    height: 60px;
    display: block;
    background-color: #b59046;
    border-radius: 50%;
    opacity: 0.9;
    transition: 0.3s;
}
#pagetop a:hover,
#pagetop a:active,
#pagetop a:focus{
    opacity: 0.6;
}
#pagetop a::before {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    width: 25px;
    height: 25px;
    margin: auto;
    color: #fff;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f062';
    font-size: 25px;
    text-align: center;
}





/*
# =================================================================
# カスタマイズ
# =================================================================
*/

body{
    color: #333;
}

.sp{
    display: block!important;
}

.tab{
    display: none !important;
}

.pc{
    display: none!important;
}

.flex-box {
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
    
.flex-box.align-fs {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.flex-box.align-c {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.flex-box.align-fe {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }

.flex-box.row-r {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
     -ms-flex-direction: row-reverse;
         flex-direction: row-reverse;
}

.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.5s;
  &.fadein-left{
      transform: translate(-30px,0);
  }
  &.fadein-right{
      transform: translate(30px,0);
  }
  &.fadein-up{
      transform: translate(0,-30px);
  }
  &.fadein-bottom{
      transform: translate(0,30px);
  }
  &.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
}

picture{
    display: block;
    line-height: 1;
}

.b{
    font-weight: 700;
}

.color01{
    color: #e84566;
}

.color02{
    color: #234394;
}

.u-line{
    text-decoration: underline;
}

header{
    display: block;
    padding: 0;
    margin: 0;
    position: relative;
    z-index: 0;
}

header .fv-conts{
    overflow: hidden;
    position: relative;
    z-index: 5;
}

header .fv-conts-in{
    background: url(../images/fv_back_sp.webp) center top no-repeat;
    background-size: cover;
    border-bottom-left-radius: 500px 150px;
    border-bottom-right-radius: 500px 150px;
    margin-left: -50px;
    margin-right: -50px;
    padding-left: 50px;
    padding-right: 50px;
}

header .fv-conts .container{
    height: 0;
    padding: 0;
    background: url(../images/fv_img_sp.webp) center 70.05vw no-repeat;
    background-size: contain;
    padding-bottom: calc(100%*748/414);
    position: relative;

}

header .fv-conts .fv-catch01{
    position: absolute;
    top: 9.66vw;
    left: 0;
    right: 0;
    width: 69.08vw;
    line-height: 1;
    margin: auto;
}

header .fv-conts .fv-catch02{
    position: absolute;
    bottom: 12.08vw;
    left: 0;
    right: 0;
    width: 85.99vw;
    line-height: 1;
    margin: auto;
}

header .mv-conts{
    margin-top: -8.45vw;
    background: url(../images/mv_back_sp.webp) center bottom no-repeat;
    background-size: cover;
    position: relative;
    z-index: 0;
}

header .mv-conts .container{
    height: 0;
    padding: 0;
    background: url(../images/mv_img_sp.webp) center bottom no-repeat;
    background-size: contain;
    padding-bottom: calc(100%*600/414);
    position: relative;
}

header .mv-conts .main-title{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100vw;
    line-height: 1;
    margin: auto;
}

.line{
    height: 3.62vw;
	background: linear-gradient(-65deg,transparent 35%,#234394 45%, #234394 55%,transparent 65%);
	background-size: 2.42vw 3.62vw;
	border: none;
    margin: 0;
    position: relative;
    z-index: 5;
}

.section-wrap.text-conts{
    padding: 0;
    background-color: #fff;
    background-image: url(../images/lined-paper-2.png);
    background-position: center top;
    background-repeat: repeat;
    background-size: 412px 300px;
}

.section-wrap.text-conts .container{
    padding: 0;
}

.section-wrap.section01.text-conts{
    margin-top: -3.62vw;
    padding-top: 7.25vw;
}

.text-conts h2.text-title{
    background: url(../images/title_back_sp.webp) center no-repeat;
    background-size: cover;
    padding: 6.04vw 3.62vw;
    line-height: 1;
    text-align: center;
    margin: 0;
}

.text-conts h2.text-title img{
    margin: 0 auto;
}

.section01 h2.text-title img{
    width: 88.41vw;
}

.section02 h2.text-title img{
    width: 69.57vw;
}

.section03 h2.text-title img{
    width: 56.76vw;
}

.section04 h2.text-title img{
    width: 72.95vw;
}

.text-conts .text-conts-in{
    padding: 9.66vw 3.62vw 12.08vw;
}

.text-conts .text-conts-in p{
    font-size: 3.86vw;
    font-weight: 500;
    line-height: 1.8;
    margin: 0;
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
}

.text-conts .text-conts-in p:nth-of-type(n+2){
    margin-top: 6.04vw;
}

.text-conts .text-conts-in ul{
    margin: 7.45vw 0 7.45vw 4.83vw;
    list-style: disc;
}

.text-conts .text-conts-in ul li{
    font-size: 3.86vw;
    font-weight: 700;
    line-height: 1.4;
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
    margin: 0;
}

.text-conts .text-conts-in ul li:nth-child(n+2){
    margin-top: 1.92vw;
}

.text-conts .text-conts-in .img-photo{
    margin: 8.45vw auto 0;
}

.text-conts .text-conts-in .feaure-list li{
    font-size: 4.83vw;
}

.section04 .flex-box.genre-flex{
    margin: 14.49vw auto 10.87vw;
}

.section04 .flex-box.genre-flex > .flex-col{
    width: 100%;
    margin: 0;
    position: relative;
}

.section04 .flex-box.genre-flex > .flex-col:nth-child(n+2){
    margin-top: 12.08vw;
}

.section04 .flex-box.genre-flex > .flex-col .genre-text{
    position: absolute;
    top: -6.04vw;
    left: 0;
    right: 0;
    margin: auto;
    transform: rotate(-5deg);
    filter: drop-shadow(0.24vw 0.24vw 0.96vw rgba(0,0,0,0.4));
}

.section04 .flex-box.genre-flex > .genre01 .genre-text{
    width: 36.96vw;
}

.section04 .flex-box.genre-flex > .genre02 .genre-text{
    width: 49.28vw;
}

.section04 .flex-box.genre-flex > .genre03 .genre-text{
    width: 69.57vw;
}

.section04 .flex-box.genre-flex > .genre04 .genre-text{
    width: 69.57vw;
}

.section-wrap.section05{
    background-color: #f5f2e9;
    background-image: url(../images/textured-stripes.png);
    background-position: center top;
    background-repeat: repeat;
    background-size: 256px 256px;
    position: relative;
}

.section-wrap.section05::after{
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: url(../images/sec05_back_sp.webp) center top no-repeat;
    background-size: contain;
    z-index: 0;
}

.section-wrap.section05 .container{
    position: relative;
    z-index: 5;
}

h2.sec-title{
    line-height: 1;
    margin: 0 auto 8.45vw;
}

.section05 h2.sec-title{
    width: 80.19vw;
}

.section05 .conts-genre-img{
    width: 86.96vw;
    margin: 0 auto 8.45vw;
}

.section05 .flex-box.conts-list{
    list-style: none;
    margin: 0 0 12.08vw;
}

.section05 .flex-box.conts-list li{
    width: 100%;
    background: #fff;
    padding: 2.42vw;
    border-radius: 1.21vw;
    margin: 0;
    box-shadow: 0.24vw 0.24vw 0.96vw rgba(0,0,0,0.4);
}

.section05 .flex-box.conts-list li:nth-child(n+2){
    margin-top: 3.62vw;
}

.section05 .flex-box.conts-list li .conts-list-in{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

.section05 .flex-box.conts-list li p{
    font-size: 4.35vw;
    font-weight: 700;
    line-height: 1.3;
    color: #234394;
    margin: 0 2.42vw 0 0;
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
}

.section05 .flex-box.conts-list li .num{
    width: 9.18vw;
    line-height: 1;
    margin: 0 2.42vw 0 0;
}

.section05 .flex-box.conts-list li .genre-icon{
    width: 7.97vw;
    margin: 0 0 0 auto;
}

.section05 .kantei-img{
    margin: 0 auto;
}

.section-wrap.section06{
    padding-top: 0;
    background: #1f286f;
    position: relative;
}

.section-wrap.section06::after{
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    margin: auto;
    background: url(../images/sec06_back_sp.webp) center top no-repeat;
    background-size: contain;
    z-index: 0;
}

.section-wrap.section06 .container{
    padding-top: 24.15vw;
    position: relative;
    z-index: 5;
}

.section06 .subtitle{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 51.93vw;
    margin: auto;
    line-height: 1;
}

.section06 h2.sec-title{
    width: 91.79vw;
}

.section06 .advice-box{
    background: #fff;
    padding: 7.25vw 3.62vw 6.04vw;
    border-radius: 1.44vw;
    counter-reset: h4;
}

.section06 .advice-box:last-of-type{
    margin-top: 8.45vw;
}

.section06 .advice-box h3{
    line-height: 1;
    margin: 0 auto 7.25vw;
}

.section06 .advice01 h3{
    width: 54.59vw;
}

.section06 .advice02 h3{
    width: 68.60vw;
}

.section06 .advice-box .advice-text{
    width: 100%;
    margin: 0 0 6.04vw;
}

.section06 .advice-box p{
    font-size: 3.86vw;
    font-weight: 500;
    line-height: 1.6;
    margin: 0;
}

.section06 .advice-box p:nth-of-type(n+2){
    margin-top: 3.62vw;
}

.section06 .advice-box .advice-img{
    width: 100%;
    max-width: 48.31vw;
    margin: 0 auto 7.25vw;
}

.section06 .advice-box h4{
    font-size: 4.83vw;
    font-weight: 700;
    line-height: 1.3;
    color: #234394;
    padding: 2.42vw 2.42vw 2.42vw 8.45vw;
    border: 0.48vw solid #234394;
    border-radius: 2.42vw;
    margin: 0 0 3.62vw;
}

.section06 .advice01 h4{
    background: #bce2e8;
}

.section06 .advice02 h4{
    background: #f9d2d4;
}

.section06 .advice-box h4:nth-of-type(n+2){
    margin-top: 7.25vw;
}

.section06 .advice-box h4::before{
    counter-increment: h4;
    content: counter(h4) ". ";
    margin-right: 0.48vw;
	margin-left: -4.83vw;
}

.section06 .advice-box ul{
    list-style: none;
    margin: 3.62vw 0;
}

.section06 .advice-box ul li{
    font-size: 3.86vw;
    font-weight: 500;
    line-height: 1.5;
    margin: 0;
    padding-left: 4.35vw;
    position: relative;
}

.section06 .advice-box ul li::before{
    position: absolute;
    content: '';
    left: 0;
    top: 1.21vw;
    width: 3.38vw;
    height: 3.38vw;
    background: #234394;
    border-radius: 50%;
}

.section06 .advice-box ul li:nth-child(n+2){
    margin-top: 2.42vw;
}

.section06 .advice-box .matome{
    padding-left: 4.35vw;
    position: relative;
}

.section06 .advice-box .matome::before{
    content: "★";
    position: absolute;
    color: #234394;
    font-size: 3.86vw;
    left: 0;
}

.section-wrap.section07{
    background: linear-gradient(0deg, #e4e5ff 0%, #fbe8eb 100%);
    position: relative;
}

.section-wrap.section07::after{
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    margin: auto;
    background: url(../images/sec07_back_sp.webp) center top no-repeat;
    background-size: contain;
    z-index: 0;
}

.section07 h2.sec-title{
    width: 77.29vw;
    margin-bottom: 12.08vw;
}

.section07 .solution-block:nth-of-type(n+2){
    margin-top: 12.08vw;
}

.section07 .solution-block h3{
    line-height: 1;
    margin: 0 auto 4.83vw;
}

.section07 .solution01 h3{
    width: 56.28vw;
}

.section07 .solution02 h3{
    width: 46.38vw;
}

.section07 .solution03 h3{
    width: 67.87vw;
}

.section07 .solution04 h3{
    width: 48.07vw;
}

.section07 .solution-block .flex-box{
    margin: 0 0 16.91vw;
    position: relative;
}

.section07 .solution-block .flex-box::after{
    position: absolute;
    content: url(../images/icon/arrow.svg);
    bottom: -13.29vw;
    left: 0;
    right: 0;
    width: 10.39vw;
    margin: auto;
    line-height: 1;
}

.section07 .solution-block .solution-img{
    width: 100%;
    max-width: 48.31vw;
    margin: 0 auto 4.83vw;
}

.section07 .solution-block ul{
    width: 100%;
    list-style: none;
    margin: 0;
}

.section07 .solution-block ul li{
    font-size: 3.86vw;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
    border-bottom: 0.48vw dotted #234394;
    padding: 1.92vw 0 1.68vw 5.31vw;
    background: url(../images/icon/check.svg) left 1.92vw no-repeat;
    background-size: 5.31vw 5.31vw;
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
}

.section07 .solution-block ul li:first-child{
    border-top: 0.48vw dotted #234394;
}

.section07 .solution-block .solution-catch{
    line-height: 1;
    margin: 0 auto;
}

.section-wrap.section08{
    position: relative;
    width: 100vw;
    height: 543.72vw;
}

.section08 .container{
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    padding: 0;
}

.section08 .sec-bg{
    position: relative;
    left: 0;
    clip-path: inset(0 0 0 0);
    height: 100%;
}

.section08 .sec-bg img{
    position: fixed;
    width: 100%;
    height: auto;
    min-height: 100vh;
    left: 0;
    top: 0;
    pointer-events: none;
}

.section08 .sec-conts{
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.section08 .sec-conts .sec-conts-in{
    padding: 12.08vw 3.62vw;
}

.section08 h2.sec-title{
    width: 82.13vw;
}

.section08 .kantei-box{
    background: #fff;
    border-radius: 1.44vw;
}

.section08 .kantei-box:nth-of-type(n+2){
    margin-top: 8.45vw;
}

.section08 .kantei-box h3{
    padding: 6.04vw;
    line-height: 1;
    margin: 0;
}

.section08 .kantei-box h3 img{
    width: 68.12vw;
}

.section08 .kantei-box .kantei-text{
    padding: 4.83vw 3.62vw;
}

.section08 .kantei-box .kantei-text ul{
    list-style: none;
    margin: 0;
}

.section08 .kantei-box .kantei-text ul li{
    font-size: 3.86vw;
    font-weight: 500;
    line-height: 1.5;
    margin: 0;
    padding: 0 0 0 7.25vw;
    background: url(../images/icon/star.svg) left 0 no-repeat;
    background-size: 6.04vw 6.04vw;
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
}

.section08 .kantei-box .kantei-text ul li:nth-child(n+2){
    margin-top: 2.42vw;
}

.section08 .course-conts{
    margin: 12.08vw 0 0;
}

.section08 .course-conts h3{
    font-size: 5.31vw;
    font-weight: 700;
    line-height: 1.3;
    color: #234394;
    text-align: center;
    margin: 0 0 0.96vw;
    padding: 1.92vw 3.62vw 1.44vw;
    border-radius: 1.44vw 1.44vw 0 0;
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
}

.section08 .course-conts h3 span{
    font-size: 4.35vw;
}

.section08 .course-conts h3:nth-of-type(n+2){
    margin-top: 3.62vw;
}

.section08 .course-conts h3.basic{
    background: #fcd7a1;
}

.section08 .course-conts h3.advance{
    background: #f8c5ac;
}

.section08 .course-conts h3.premium{
    background: #f5b2b2;
}

.section08 .course-conts p{
    font-size: 4.35vw;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    padding: 3.62vw;
    margin: 0;
    background: #fff;
    border-radius: 0 0 1.44vw 1.44vw;
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
}

.section08 .session-conts{
    margin: 8.45vw auto 0;
}

.section08 .session-conts h3{
    font-size: 4.83vw;
    font-weight: 700;
    line-height: 1.3;
    color: #234394;
    background: #fff799;
    text-align: center;
    padding: 1.44vw 6.04vw 1.21vw;
    width: fit-content;
    border-radius: 7.25vw;
    margin: 0 auto 3.62vw;
}

.section08 .session-conts ul{
    list-style: none;
    width: fit-content;
    margin: 0 auto;
}

.section08 .session-conts ul li{
    font-size: 3.86vw;
    font-weight: 500;
    line-height: 1.4;
    color: #fff;
    margin: 0;
    padding-left: 4.35vw;
    position: relative;
}

.section08 .session-conts ul li::before{
    position: absolute;
    content: '';
    left: 0;
    top: 1.21vw;
    width: 3.38vw;
    height: 3.38vw;
    background: #fff799;
    border-radius: 50%;
}

.section08 .session-conts ul li:nth-child(n+2){
    margin-top: 1.44vw;
}

.section-wrap.section09{
    padding-bottom: 7.25vw;
}

.section09 h2.sec-title{
    width: 75.36vw;
}

.section09 .accordion-conts{
    width: 100%;
    padding: 0;
    margin: 0 auto;
}

.section09 .accordion-conts .accordion-title{
    font-size: 4.83vw;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    background: #234394;
    padding: 2.42vw 6.04vw 2.42vw 15.70vw;
    min-height: 18.84vw;
    border-radius: 1.92vw;
    margin: 0 0 4.83vw;
    position: relative;
    cursor: pointer;
    font-feature-settings: "palt";
    letter-spacing: 0.03em;
}

.section09 .accordion-conts .accordion-title span{
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 0;
    right: 0;
    padding: 2.42vw 6.04vw 2.42vw 15.70vw;
}

.section09 .accordion-conts .accordion-title::before{
    position: absolute;
    content: url(../images/icon/question.svg);
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 3.62vw;
    width: 9.66vw;
    height: 9.66vw;
    margin: auto;
}

.section09 .accordion-conts .accordion-title::after{
    position: absolute;
    display: block;
    content: '';
    top: 40%;
    right: 3.62vw;
    width: 1.92vw;
    height: 1.92vw;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(135deg);
    transition: all .3s ease-in-out;
    margin: auto;
}

.section09 .accordion-conts .accordion-title.open::after{
    transform: rotate(-45deg);
    top: 50%;
}

.section09 .accordion-conts .accordion-text{
    display: none;
    font-size: 3.86vw;
    line-height: 1.6;
    padding: 0 0 0 15.70vw;
    margin: 0 0 6.04vw;
    position: relative;
}

.section09 .accordion-conts .accordion-text::before{
    position: absolute;
    content: url(../images/icon/answer.svg);
    top: 1.21vw;
    left: 3.62vw;
    width: 9.66vw;
    height: 9.66vw;
    margin: auto;
}

.section-wrap.section10{
    background-color: #f5f2e9;
    background-image: url(../images/textured-stripes.png);
    background-position: center top;
    background-repeat: repeat;
    background-size: 256px 256px;
}

.section10 .flex-box:last-of-type{
    margin-top: 9.66vw;
}

.section10 .text-conts{
    width: 100%;
}

.section10 .text-conts p{
    font-size: 4.35vw;
    font-weight: 500;
    line-height: 1.8;
    text-align: center;
    margin: 0;
}

.section10 .text-conts p:nth-of-type(n+2){
    margin-top: 4.83vw;
}

.section10 .img-conts{
    width: 100%;
    max-width: 67.63vw;
    margin: 8.45vw auto 0;
}

.section10 .text-conts ul{
    list-style: none;
    width: fit-content;
    margin: 6.04vw auto;
}

.section10 .text-conts ul li{
    font-size: 4.35vw;
    font-weight: 700;
    line-height: 1.4;
    margin: 0;
    padding-left: 4.83vw;
    position: relative;
}

.section10 .text-conts ul li::before{
    position: absolute;
    content: '';
    left: 0;
    top: 1.21vw;
    width: 3.86vw;
    height: 3.86vw;
    background: #234394;
    border-radius: 50%;
}

.section10 .text-conts ul li:nth-child(n+2){
    margin-top: 1.44vw;
}

.section-wrap.section11{
    padding-top: 8.45vw;
    background: #1f286f;
    position: relative;
}

.section-wrap.section11::after{
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    margin: auto;
    background: url(../images/sec06_back_sp.webp) center top no-repeat;
    background-size: contain;
    z-index: 0;
}

.section-wrap.section11 .container{
    position: relative;
    z-index: 5;
}

.section11 h2.sec-title{
    width: 80.19vw;
    margin-bottom: 0;
}

.section11 .content_form{
    font-size: 4.35vw;
}

.section11 .content_form label{
    color: #fff;
}

.section11 .content_form .input_unit{
    width: 100% !important;
}

.section11 .content_form .input_unit .my_left.my_column{
    width: 100% !important;
    padding-bottom: 0 !important;
}

.section11 .content_form .input_unit .my_left.my_column .form_input_label{
    font-weight: 700;
}

.section11 .content_form .input_unit .my_right.my_column{
    width: 100% !important;
}

.section11 form.myForm input[type="text"]{
    font-size: 4.35vw;
    width: 100% !important;
    margin: 0;
}

.section11 .required_color{
    background-color: #fff !important;
}

.section11 input[type="submit"]{
    font-size: 4.83vw;
    font-weight: 700;
    color: #fff;
    background: #b59046;
    border: none;
    border-radius: 1.44vw;
    padding: 1.21vw 3.62vw;
    width: 200px;
}

.section11 .tyuui{
    font-size: 3.38vw;
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    margin: 4.83vw 0 0;
}

.section-wrap.section12{
    padding: 6.04vw 0;
}

.section12 p{
    font-size: 3.38vw;
    font-weight: 500;
    line-height: 1.5;
    margin: 0;
}

.section12 .tyuui-title{
    font-size: 4.35vw;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    margin: 0 0 2.42vw;
}

.section12 ul{
    list-style: disc;
    margin: 2.42vw 0 0 4.83vw;
}

.section12 ul li{
    font-size: 3.38vw;
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
}

.section12 ul li:nth-child(n+2){
    margin-top: 1.21vw;
}

footer {
    padding: 6.04vw 0 0;
    background: url(../images/footer_back_sp.webp) center no-repeat;
    background-size: cover;
}

.footer-menu{
    margin: 0 0 2.42vw;
    text-align: center;
}

.footer-menu li{
    list-style: none;
    font-size: 3.38vw;
    margin: 0;
    padding: 0;
    line-height: 1.3;
}

.footer-menu li:nth-child(n+2){
    margin-top: 2.42vw;
}

.footer-menu li a{
    text-decoration: none;
    color: #fff;
}

.footer-menu li a:hover,
.footer-menu li a:active,
.footer-menu li a:focus{
    text-decoration: underline;
}

.copyright{
    padding: 2.42vw 0;
}

.copyright small{
    font-size: 3.38vw;
}






@media (min-width : 768px){

    .sp{
		display: none!important;
	}

    .tab{
        display: block !important;
    }

	.pc{
		display: block!important;
	}

    header .fv-conts-in{
        background: url(../images/fv_back_pc.webp) center top no-repeat;
        background-size: cover;
        border-bottom-left-radius: 1500px 300px;
        border-bottom-right-radius: 1500px 300px;
        margin-left: -150px;
        margin-right: -150px;
        padding-left: 150px;
        padding-right: 150px;
    }
    
    header .fv-conts .container{
        background: url(../images/fv_img_pc.webp) center 28.70vw no-repeat;
        background-size: 111.11vw 55.56vw;
        padding-bottom: calc(100%*1050/1080);
        max-width: none;    
    }
    
    header .fv-conts .fv-catch01{
        top: 6.02vw;
        width: 86.85vw;
    }
    
    header .fv-conts .fv-catch02{
        bottom: 7.41vw;
        width: 54.91vw;
    }
    
    header .mv-conts{
        margin-top: -14.81vw;
        background: url(../images/mv_back_pc.webp) center no-repeat;
        background-size: cover;
    }
    
    header .mv-conts .container{
        background: url(../images/mv_img_pc.webp) center bottom no-repeat;
        background-size: 92.59vw 25.00vw;
        padding-bottom: calc(100%*1156/1080);
    }
    
    header .mv-conts .main-title{
        width: 79.63vw;
    }
    
    .line{
        height: 20px;
        background: linear-gradient(-65deg,transparent 35%,#234394 45%, #234394 55%,transparent 65%);
        background-size: 13px 20px;
    }
    
    .section-wrap.section01.text-conts{
        margin-top: -20px;
        padding-top: 40px;
    }

    .section-wrap.text-conts .container{
        max-width: none;
    }
    
    .text-conts h2.text-title{
        background: url(../images/title_back_pc.webp) center no-repeat;
        background-size: cover;
        padding: 40px;
    }
    
    .section01 h2.text-title img{
        width: 73.5%;
        max-width: 606px;
    }
    
    .section02 h2.text-title img{
        width: 57.8%;
        max-width: 477px;
    }
    
    .section03 h2.text-title img{
        width: 47.0%;
        max-width: 388px;
    }
    
    .section04 h2.text-title img{
        width: 80.0%;
        max-width: 660px;
    }
    
    .text-conts .text-conts-in{
        max-width: 1080px;
        margin: 0 auto;
        padding: 50px 40px 80px;
    }
    
    .text-conts .text-conts-in p{
        font-size: 1.8rem;
        line-height: 2.0;
        text-align: center;
    }
    
    .text-conts .text-conts-in p:nth-of-type(n+2){
        margin-top: 40px;
    }
    
    .text-conts .text-conts-in ul{
        width: fit-content;
        margin: 45px auto;
    }
    
    .text-conts .text-conts-in ul li{
        font-size: 1.8rem;
    }
    
    .text-conts .text-conts-in ul li:nth-child(n+2){
        margin-top: 10px;
    }
    
    .text-conts .text-conts-in .img-photo{
        width: 85%;
        max-width: 700px;
        margin: 50px auto 0;
    }
    
    .text-conts .text-conts-in .feaure-list li{
        font-size: 2.6rem;
    }
    
    .section04 .flex-box.genre-flex{
        margin: 80px auto 60px;
    }
    
    .section04 .flex-box.genre-flex > .flex-col{
        width: 47.5%;
        margin: 0 !important;
    }
    
    .section04 .flex-box.genre-flex > .flex-col:nth-child(n+3){
        margin-top: 8% !important;
    }
    
    .section04 .flex-box.genre-flex > .flex-col .genre-text{
        top: -10%;
        filter: drop-shadow(1px 1px 4px rgba(0,0,0,0.4));
    }
    
    .section04 .flex-box.genre-flex > .genre01 .genre-text{
        width: 37.9%;
    }
    
    .section04 .flex-box.genre-flex > .genre02 .genre-text{
        width: 50.5%;
    }
    
    .section04 .flex-box.genre-flex > .genre03 .genre-text{
        width: 71.6%;
    }
    
    .section04 .flex-box.genre-flex > .genre04 .genre-text{
        width: 71.6%;
    }
    
    .section-wrap.section05::after{
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background: url(../images/sec05_back_pc.webp) center top no-repeat;
        background-size: contain;
    }
    
    h2.sec-title{
        margin: 0 auto 50px;
    }
    
    .section05 h2.sec-title{
        width: 65.0%;
        max-width: 536px;
    }
    
    .section05 .conts-genre-img{
        width: 90%;
        max-width: 740px;
        margin: 0 auto 50px;
    }
    
    .section05 .flex-box.conts-list{
        margin: 0 0 80px;
    }
    
    .section05 .flex-box.conts-list li{
        width: 49%;
        height: 80px;
        border-radius: 6px;
        padding: 0;
        margin: 0 !important;
        box-shadow: 1px 1px 4px rgba(0,0,0,0.3);
        position: relative;
    }
    
    .section05 .flex-box.conts-list li:nth-child(n+3){
        margin-top: 2% !important;
    }

    .section05 .flex-box.conts-list li .conts-list-in{
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        left: 0;
        right: 0;
        width: 100%;
        margin: auto;
        padding: 15px
    }
    
    .section05 .flex-box.conts-list li p{
        font-size: 2.0rem;
        margin: 0 10px 0 0;
    }
    
    .section05 .flex-box.conts-list li .num{
        width: 40px;
        margin: 0 12px 0 0;
    }
    
    .section05 .flex-box.conts-list li .genre-icon{
        width: 35px;
    }
    
    .section-wrap.section06::after{
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        margin: auto;
        background: url(../images/sec06_back_pc.webp) center top no-repeat;
        background-size: contain;
        z-index: 0;
    }
    
    .section-wrap.section06 .container{
        padding-top: 120px;
    }
    
    .section06 .subtitle{
        width: 256px;
    }
    
    .section06 h2.sec-title{
        width: 73.9%;
        max-width: 610px;
    }
    
    .section06 .advice-box{
        padding: 50px 40px 40px;
        border-radius: 10px;
    }
    
    .section06 .advice-box:last-of-type{
        margin-top: 50px;
    }
    
    .section06 .advice-box h3{
        margin: 0 auto 50px;
    }
    
    .section06 .advice01 h3{
        width: 43.5%;
        max-width: 323px;
    }
    
    .section06 .advice02 h3{
        width: 54.7%;
        max-width: 406px;
    }

    .section06 .advice-box .flex-box{
        margin: 0 0 40px;
    }
    
    .section06 .advice-box .advice-text{
        width: 62.2%;
        margin: 0;
    }
    
    .section06 .advice-box p{
        font-size: 1.8rem;
        line-height: 1.8;
    }
    
    .section06 .advice-box p:nth-of-type(n+2){
        margin-top: 30px;
    }

    .section06 .advice02 p:nth-of-type(n+2){
        margin-top: 0 !important;
    }
    
    .section06 .advice-box .advice-img{
        width: 33.3%;
        max-width: 300px;
        margin: 0;
    }
    
    .section06 .advice-box h4{
        font-size: 2.4rem;
        padding: 10px 20px 10px 50px;
        border: 3px solid #234394;
        border-radius: 50px;
        margin: 0 0 20px;
    }
    
    .section06 .advice-box h4:nth-of-type(n+2){
        margin-top: 40px;
    }
    
    .section06 .advice-box h4::before{
        counter-increment: h4;
        content: counter(h4) ". ";
        margin-right: 5px;
        margin-left: -25px;
    }
    
    .section06 .advice-box ul{
        list-style: none;
        margin: 15px 0;
    }
    
    .section06 .advice-box ul li{
        font-size: 1.8rem;
        padding-left: 20px;
        position: relative;
    }
    
    .section06 .advice-box ul li::before{
        position: absolute;
        content: '';
        left: 0;
        top: 7px;
        width: 15px;
        height: 15px;
    }
    
    .section06 .advice-box ul li:nth-child(n+2){
        margin-top: 10px;
    }
    
    .section06 .advice-box .matome{
        padding-left: 20px;
        position: relative;
    }
    
    .section06 .advice-box .matome::before{
        content: "★";
        position: absolute;
        color: #234394;
        font-size: 1.8rem;
        left: 0;
    }
    
    .section-wrap.section07::after{
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        margin: auto;
        background: url(../images/sec07_back_pc.webp) center top no-repeat;
        background-size: contain;
        z-index: 0;
    }
    
    .section07 h2.sec-title{
        width: 62.8%;
        max-width: 518px;
        margin-bottom: 80px;
    }
    
    .section07 .solution-block:nth-of-type(n+2){
        margin-top: 100px;
    }
    
    .section07 .solution-block h3{
        margin: 0 auto 40px;
    }
    
    .section07 .solution01 h3{
        width: 41.2%;
        max-width: 340px;
    }
    
    .section07 .solution02 h3{
        width: 33.9%;
        max-width: 280px;
    }
    
    .section07 .solution03 h3{
        width: 49.7%;
        max-width: 410px;
    }
    
    .section07 .solution04 h3{
        width: 35.2%;
        max-width: 290px;
    }
    
    .section07 .solution-block .flex-box{
        margin: 0 0 80px;
    }
    
    .section07 .solution-block .flex-box::after{
        bottom: -60px;
        width: 44px;
    }
    
    .section07 .solution-block .solution-img{
        width: 30%;
        max-width: 300px;
        margin: 0;
    }
    
    .section07 .solution-block ul{
        width: 65%;
    }
    
    .section07 .solution-block ul li{
        font-size: 2.0rem;
        border-bottom: 3px dotted #234394;
        padding: 10px 0 10px 32px;
        background-position: left 10px;
        background-size: 30px 30px;
    }
    
    .section07 .solution-block ul li:first-child{
        border-top: 3px dotted #234394;
    }

    .section07 .solution-block ul li .pc{
        display: none !important;
    }
    
    .section07 .solution01 .solution-catch,
    .section07 .solution02 .solution-catch{
        width: 90%;
        max-width: 740px;
    }

    .section07 .solution03 .solution-catch,
    .section07 .solution04 .solution-catch{
        width: 80%;
        max-width: 660px;
    }
    
    .section-wrap.section08{
        padding: 80px 0;
        background: url(../images/sec08_back_pc.webp) center no-repeat;
        background-size: cover;
        background-attachment: fixed;
        height: auto;
        width: 100%;
    }
    
    .section08 .container{
        position: static;
        left: auto;
        top: auto;
        height: auto;
        padding: 0;
        clip: auto;
    }
    
    .section08 .sec-conts{
        position: static;
        top: auto;
        left: auto;
        height: auto;
        padding: 0;
    }
    
    .section08 .sec-conts .sec-conts-in{
        max-width: 1080px;
        margin: 0 auto;
        padding: 0 40px;
    }
    
    .section08 h2.sec-title{
        width: 66.67%;
        max-width: 550px;
    }
    
    .section08 .kantei-box{
        border-radius: 8px;
    }
    
    .section08 .kantei-box:nth-of-type(n+2){
        margin-top: 50px;
    }
    
    .section08 .kantei-box h3{
        padding: 25px 40px;
    }
    
    .section08 .kantei-box h3 img{
        width: 87.5%;
        max-width: 650px;
    }
    
    .section08 .kantei-box .kantei-text{
        padding: 35px 40px;
    }
    
    .section08 .kantei-box .kantei-text ul li{
        font-size: 2.0rem;
        padding: 0 0 0 40px;
        background-size: 32px 32px;
    }
    
    .section08 .kantei-box .kantei-text ul li:nth-child(n+2){
        margin-top: 10px;
    }
    
    .section08 .course-table{
        display: table !important;
        width: 100%;
        margin: 80px auto 0;
        border-collapse: separate;
        border-spacing: 6px;
    }

    .section08 .course-table thead th{
        font-size: 2.0rem;
        font-weight: 700;
        line-height: 1.3;
        color: #234394;
        text-align: center;
        background: #fff799;
        padding: 5px 20px;
    }

    .section08 .course-table thead th:first-of-type{
        border-radius: 8px 0 0 0;
    }

    .section08 .course-table thead th:last-of-type{
        border-radius: 0 8px 0 0;
    }

    .section08 .course-table tbody th,
    .section08 .course-table tbody td{
        padding: 20px;
    }

    .section08 .course-table tbody th{
        width: 27%;
        min-width: 180px;
        font-size: 2.6rem;
        font-weight: 700;
        line-height: 1.0;
        color: #234394;
        text-align: center;
    }

    .section08 .course-table tbody tr:first-of-type th{
        background: #fcd7a1;
    }

    .section08 .course-table tbody tr:nth-of-type(2) th{
        background: #f8c5ac;
    }

    .section08 .course-table tbody tr:last-of-type th{
        background: #f5b2b2;
        border-radius: 0 0 0 8px;
    }

    .section08 .course-table tbody th .price{
        font-size: 2.0rem;
    }

    .section08 .course-table tbody td{
        width: 72.4%;
        font-size: 2.2rem;
        font-weight: 500;
        line-height: 1.5;
        background: #fff;
    }
    
    .section08 .course-table tbody tr:last-of-type td{
        border-radius: 0 0 8px 0;
    }
    
    .section08 .session-conts{
        margin: 50px auto 0;
    }
    
    .section08 .session-conts h3{
        font-size: 2.6rem;
        padding: 8px 40px;
        border-radius: 30px;
        margin: 0 auto 20px;
    }
    
    .section08 .session-conts ul{
        width: 100%;
        max-width: 830px;
        text-align: center;
    }
    
    .section08 .session-conts ul li{
        display: inline-block;
        font-size: 2.0rem;
        padding: 6px 10px 6px 30px;
        margin: 0 !important;
    }
    
    .section08 .session-conts ul li::before{
        position: absolute;
        content: '';
        left: 10px;
        top: 13px;
        width: 16px;
        height: 16px;
    }
    
    .section-wrap.section09{
        padding-bottom: 50px;
    }
    
    .section09 h2.sec-title{
        width: 61.6%;
        max-width: 508px;
    }

    .section09 .accordion-conts .accordion-title{        
        font-size: 2.2rem;
        border-radius: 10px;
        margin-bottom: 25px;
        min-height: 80px;
        padding: 0;
    }
    
    .section09 .accordion-conts .accordion-title span{
        padding: 20px 50px 20px 90px;
    }
    
    .section09 .accordion-conts .accordion-title::before{
        left: 20px;
        width: 50px;
        height: 50px;
    }
    
    .section09 .accordion-conts .accordion-title::after{
        right: 20px;
        width: 12px;
        height: 12px;
    }
    
    .section09 .accordion-conts .accordion-text{
        font-size: 1.8rem;
        line-height: 1.8;
        margin-bottom: 50px;
        padding: 0 0 0 90px;
    }
    
    .section09 .accordion-conts .accordion-text::before{
        top: 4px;
        left: 20px;
        width: 50px;
        height: 50px;
    }
    
    .section10 .flex-box:last-of-type{
        margin-top: 100px;
    }
    
    .section10 .text-conts{
        width: 52%;
    }
    
    .section10 .text-conts p{
        font-size: 2.0rem;
        text-align: left;
    }

    .section10 .text-conts p br{
        display: none !important;
    }
    
    .section10 .text-conts p:nth-of-type(n+2){
        margin-top: 35px;
    }
    
    .section10 .img-conts{
        width: 46%;
        max-width: 460px;
        margin: 0;
    }
    
    .section10 .text-conts ul{
        margin: 40px 0;
    }
    
    .section10 .text-conts ul li{
        font-size: 2.0rem;
        padding-left: 22px;
    }
    
    .section10 .text-conts ul li::before{
        top: 6px;
        width: 18px;
        height: 18px;
    }
    
    .section10 .text-conts ul li:nth-child(n+2){
        margin-top: 5px;
    }
    
    .section-wrap.section11{
        padding-top: 65px;
    }
    
    .section-wrap.section11::after{
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        margin: auto;
        background: url(../images/sec06_back_pc.webp) center top no-repeat;
        background-size: contain;
        z-index: 0;
    }
    
    .section11 h2.sec-title{
        width: 83.6%;
        max-width: 690px;
        margin-bottom: 30px;
    }
    
    .section11 .content_form{
        font-size: 2.0rem;
    }
    
    .section11 form.myForm input[type="text"]{
        font-size: 2.0rem;
    }
    
    .section11 input[type="submit"]{
        font-size: 2.4rem;
        border-radius: 8px;
        padding: 15px 25px;
        width: 300px;
    }
    
    .section11 .tyuui{
        font-size: 1.6rem;
        margin: 40px 0 0;
    }
    
    .section-wrap.section12{
        padding: 40px 0;
    }

    .section-wrap.section12 .container{
        max-width: 660px;
    }
    
    .section12 p{
        font-size: 1.4rem;
    }
    
    .section12 .tyuui-title{
        font-size: 1.8rem;
        margin: 0 0 10px;
    }
    
    .section12 ul{
        margin: 10px 0 0 20px;
    }
    
    .section12 ul li{
        font-size: 1.4rem;
    }
    
    .section12 ul li:nth-child(n+2){
        margin-top: 5px;
    }
    
    footer {
        background: url(../images/footer_back_pc.webp) center no-repeat;
        background-size: cover;
        padding: 40px 0 0;
    }

    .footer-menu{
        margin-bottom: 10px;
    }
    
    .footer-menu li{
        font-size: 1.4rem;
        display: inline-block;
        margin: 0 0 0 40px !important;
    }
    
    .footer-menu li:first-child{
        margin-left: 0 !important;
    }
    
    .copyright{
        padding: 15px 0;
    }
    
    .copyright small{
        font-size: 1.4rem;
    }
    
    




}



@media (min-width : 801px){

    .section11 .content_form{
        max-width: 700px;
        margin: 0 auto;
    }
    
    .section11 .content_form .input_unit .my_left.my_column{
        width: 30% !important;
        padding-top: 25px !important;
        padding-bottom: 25px !important;
    }
    
    .section11 .content_form .input_unit .my_right.my_column{
        width: 70% !important;
        padding-top: 25px !important;
        padding-bottom: 25px !important;
    }
    

}



@media (min-width : 1080px){

    .tab{
        display: none !important;
    }

    header .fv-conts .container{
        height: 1050px;
        background-position: center 310px;
        background-size: 1200px 600px;
        padding-bottom: 0;    
    }

    header .fv-conts .fv-catch01{
        top: 65px;
        width: 938px;
    }

    header .fv-conts .fv-catch02{
        bottom: 80px;
        width: 593px;
    }

    header .mv-conts{
        margin-top: -160px;
    }

    header .mv-conts .container{
        height: 1156px;
        background-size: 1000px 270px;
        padding-bottom: 0;
    }

    header .mv-conts .main-title{
        width: 860px;
    }

    .line{
        height: 25px;
        background: linear-gradient(-65deg,transparent 35%,#234394 45%, #234394 55%,transparent 65%);
        background-size: 16px 25px;
    }
    
    .section-wrap.section01.text-conts{
        margin-top: -25px;
        padding-top: 50px;
    }

    .text-conts h2.text-title{
        padding: 50px 40px;
    }

    .text-conts .text-conts-in{
        padding: 60px 40px 100px;
    }

    h2.sec-title{
        margin: 0 auto 60px;
    }

    .section05 .conts-genre-img{
        margin: 0 auto 60px;
    }

    .section05 .flex-box.conts-list{
        margin: 0 0 100px;
    }

    .section05 .flex-box.conts-list li{
        height: 90px;
    }

    .section05 .flex-box.conts-list li .conts-list-in{
        padding: 20px
    }

    .section05 .flex-box.conts-list li p{
        font-size: 2.3rem;
    }

    .section05 .flex-box.conts-list li .num{
        width: 50px;
        margin: 0 15px 0 0;
    }
    
    .section05 .flex-box.conts-list li .genre-icon{
        width: 44px;
    }

    .section-wrap.section06 .container{
        padding-top: 150px;
    }

    .section06 .subtitle{
        width: 320px;
    }

    .section06 .advice-box{
        padding: 60px 50px 50px;
    }

    .section06 .advice-box:last-of-type{
        margin-top: 60px;
    }

    .section06 .advice-box h3{
        margin: 0 auto 60px;
    }

    .section07 h2.sec-title{
        margin-bottom: 100px;
    }

    .section07 .solution-block:nth-of-type(n+2){
        margin-top: 120px;
    }

    .section07 .solution-block .flex-box{
        margin: 0 0 100px;
    }

    .section07 .solution-block .flex-box::after{
        bottom: -75px;
        width: 54px;
    }

    .section07 .solution-block ul li{
        font-size: 2.4rem;
        padding: 10px 0 10px 40px;
        background-position: left 8px;
        background-size: 38px 38px;
    }

    .section07 .solution-block ul li .pc{
        display: block !important;
    }

    .section-wrap.section08{
        padding: 100px 0;
    }

    .section08 .kantei-box:nth-of-type(n+2){
        margin-top: 60px;
    }

    .section08 .kantei-box h3{
        padding: 30px 50px;
    }

    .section08 .kantei-box .kantei-text{
        padding: 45px 50px;
    }

    .section08 .course-table{
        margin: 100px 0 0;
    }

    .section08 .course-table tbody th{
        min-width: 190px;
        font-size: 3.0rem;
    }

    .section08 .course-table tbody th .price{
        font-size: 2.2rem;
    }

    .section08 .session-conts{
        margin: 60px auto 0;
    }

    .section-wrap.section09{
        padding-bottom: 70px;
    }

    .section09 .accordion-conts .accordion-title{        
        font-size: 2.4rem;
    }

    .section10 .flex-box:last-of-type{
        margin-top: 120px;
    }

    .section10 .text-conts{
        width: 50%;
    }

    .section10 .text-conts p{
        font-size: 2.2rem;
    }

    .section10 .text-conts p br{
        display: block !important;
    }

    .section10 .text-conts p .sp{
        display: none !important;
    }
    
    .section10 .text-conts ul li{
        font-size: 2.2rem;
        padding-left: 25px;
    }
    
    .section10 .text-conts ul li::before{
        top: 5px;
        width: 20px;
        height: 20px;
    }

    .section-wrap.section11{
        padding-top: 80px;
    }

    .section11 h2.sec-title{
        margin-bottom: 40px;
    }


}