/* CSS Document */

@import url("image_fade.css");

/*section:nth-of-type(3)::after{content:  url("../../images/yurinoki_line.svg"); margin-top: -100px;}*/
/*section:nth-of-type(4)::after{content:  url("../../images/line02.svg"); margin-top: -100px;background-size: 180% 100%; }*/
/*section:nth-of-type(5)::after{content:  url("../../images/yurinoki_line.svg"); margin-top: -100px;}*/
/** {
    margin: 0px;
    padding: 0px;
}*/
.side_by{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
}
/* sp View   ～768px  ----------------------------------------------------------------------------------------------*/
#daily .title{
    font-size: 28px;
    color: #039;
    margin-bottom: 2em;
}
#daily .title::before,#daily .title::after{
    content: "";
    display: inline-block;
    width: 2.2em;
    height: 2em;
    background-image: url("../img/curriculum/bag_red.png");
    background-size: cover;
    background-repeat: no-repeat;
    margin: 0 8px ;
    vertical-align: middle;
}
#daily dt .time{
    background-color: #558ED5;
    font-weight: bold;
    color: #fff;
    border-radius: 50%;
    width: 160px;
    margin: 0 auto;
    padding: 1em;
    font-size: 18px;
/*    position: relative;
    z-index: 1;*/
    /*width: calc((15.6% / 27.5) * 100);*/
    /*padding: 8px 0;*/
    display: block;
    /*border-radius: 50px;*/
    background: #558ED5;
    /*color: #FFF;*/
    letter-spacing: 0.2em;
}
#daily dd{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 2em;
          /*  display: flex;*/
        flex-direction: column; 
        /*align-items: center;
*/
}
#daily .element.right{margin:0 0 2em auto;}
#daily .element.left{margin: 0 auto 2em 0;}

#year .title{
    font-size: 28px;
    color: #039;
    margin-bottom: 2em;
}
#year .title::before,#year .title::after{
    content: "";
    display: inline-block;
    width: 2.2em;
    height: 2em;
    background-image: url("../img/curriculum/yurinoki.png");
    background-size: cover;
    background-repeat: no-repeat;
    margin: 0 8px ;
    vertical-align: middle;
}
#year .element{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /*width: 100%;*/
}
#year .element div:nth-of-type(1){
    align-self: flex-start;
}
#year .element div:nth-of-type(2){
    align-self: center;
}

#year .month{
    font-weight: bold;
    color: #fff;
    border-radius: 50%;
    width: 120px;
    margin: 1em auto ;
    padding: 1em;
    font-size: 18px;

}
#year .list{
    margin-top: 2em;
    width: 300px;
}
#year .list li{
    padding-bottom: 0.5em;
}
.color1 {background-color: #FF7C80;}
.color2 {background-color: #558ED5;}
.color3 {background-color: #C3D69B;}
.color4 {background-color: #FAC090;}
.color5 {background-color: #B3A2C7;}


section .sub_title{
    font-size: 24px;
    color: var(--secondary-color);
    margin: 1em auto 0.5em;
    /*width: 100%;*/
    width: fit-content;
    flex-shrink: 0;
}
section ul,section li,section ol,section li{
    width: fit-content;
    line-height: 1.5em;
}
section ul{
    list-style: none;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    text-align: left;
    margin: 0 auto 1em;
    padding: 0
}
section ul li{
    line-height: 1.5em;
    display: flex;
    /*margin-bottom: 0.5em;*/
}
section ul li span,section ol li span{
    display: block;
    margin-left: 0.5em;
}
section ol{
    padding-left: 1.5em;
    /*list-style: none;*/
    /*display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;*/
    text-align: left;
    margin: 0 ;
    /*padding: 0*/
}
section .element{
    
}
.icon{
    display: none;
}

.list {
    width: fit-content;
    margin: 0 auto;
}
.list li {
    list-style: none; /* マーカーを消す */
    position: relative;
    padding-left: 36px; /* 画像分のスペースを確保 */
    padding-bottom: 1.5em;
    display: block;
}

.list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: -0.5em; /* 調整ポイント：垂直方向の位置合わせ */
    width: 32px;
    height: 32px;
    background-size: contain;
    background-repeat: no-repeat;
}
#age1 .list li::before {background-image: url("../img/curriculum/list_img01.png");}
#age2 .list li:nth-of-type(3n+1)::before {background-image: url("../img/curriculum/list_img02b.png");}
#age2 .list li:nth-of-type(3n+2)::before {background-image: url("../img/curriculum/list_img02y.png");}
#age2 .list li:nth-of-type(3n)::before {background-image: url("../img/curriculum/list_img02r.png");}
#age3 .list li::before {background-image: url("../img/curriculum/list_img03.png");}

.bubble{
    font-size: 14px;
    /*font-weight: bold;
    line-height: 1.5em;*/
    background-repeat: no-repeat;
    background-position: center center;
    padding: 4em 2em 2em;
    align-self: center;
    width: fit-content;
    margin: 0 auto;
}
.bubble_t{ background-image: url("../img/curriculum/bubble_top.svg"); padding: 4em 2em 2em 2em;}
.bubble_t_g{ background-image: url("../img/curriculum/bubble_top_g.svg"); padding: 4em 2em 2em 2em;}
.bubble_t_b{ background-image: url("../img/curriculum/bubble_top_b.svg"); padding: 4em 2em 2em 2em;}
.bubble_b{ background-image: url("../img/curriculum/bubble_bottom.svg");}

.bubble_l{ background-image: url("../img/curriculum/bubble_top.svg"); padding: 4em 2em 2em 2em;}
.bubble_l_g{ background-image: url("../img/curriculum/bubble_top_g.svg"); padding: 4em 2em 2em 2em;}
.bubble_r{ background-image: url("../img/curriculum/bubble_top.svg"); padding: 4em 2em 2em 2em;}

.bubble_t_r{ background-image: url("../img/curriculum/bubble_top_r.svg");}
.bubble_b_r{ background-image: url("../img/curriculum/bubble_bottom_r.svg");}

.circle1,.circle2{
    width: fit-content;
    border: var(--secondary-color) 4px dashed;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em 0.5em;
    align-self: center;
    /*margin: 1em auto;*/
    margin: 1em;
    line-height: 1.5em;
}
.circle2 ul{
    margin: 0;
    font-size: 13px;
}


.list li div:nth-of-type(1){
    font-size: 17px;
    font-weight: bold;
    color: var(--secondary-color);
}
/*#age1 .img_area1,#age1 .img_area2{*/
.img_area1, .img_area2{
    display: flex;
    flex-wrap: wrap;
    position: relative;
    justify-content: center;
}
/*#age1 .img_area1 */.balloon1{
    width: fit-content;
    border: var(--secondary-color) 4px dashed;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em 0.5em;
    align-self: center;
    margin: 1em auto;
    line-height: 1.5em;
}
#age1 .img_area1 .balloon1 ul{
    margin: 0;
}
#age1 .img_area1 .balloon2{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5em;
    background-image: url("../img/curriculum/balloon_top.svg");
    background-repeat: no-repeat;
    background-position: center center;
    padding: 4em 2em 2em;
}
#age1 .img_area1 .balloon3{
    border: var(--secondary-color) 4px dashed;
    border-radius: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1em 0.5em;
    align-self: center;
    margin: 1em;
}
#age1 .img_area1 .balloon3 ul{
    margin: 0;
}

#age1 .img_area1 .balloon4{
    font-size: 18px;
    font-weight: bold;
    line-height: 1.5em;
    background-image: url("../img/curriculum/balloon_top.svg");
    background-repeat: no-repeat;
    background-position: center center;
    padding: 4em 2em 2em;
}
#age1 .balloon5{
    border: orange 4px dashed;
    border-radius: 30px;
    padding: 1.5em;
    margin: 1em auto;
    width: fit-content;
    line-height: 1.5em;
}
.paopao-table {
  border-collapse: collapse;
}
.paopao-table, 
.paopao-table thead, 
.paopao-table tbody, 
.paopao-table th, 
.paopao-table td, 
.paopao-table tr {
    display: block;
    width: auto;
    border: none;
  }
.paopao-table th,
.paopao-table td {
  /*border: 1px solid #ccc;*/
  padding: 10px;
  text-align: left;
}

.paopao-table th {
  background-color: #f2f2f2;
}
.paopao-table tr td:nth-of-type(1){
    text-align: left;
    font-weight: bold;
    font-size: 20px;
}
.paopao-table tr td:nth-of-type(1) div{
    font-weight: normal;
    margin: 0.5em;
    font-size: 14px;
}
.paopao-table td:nth-of-type(1){
    background-color:  rgba(202, 227, 191, 0.5);
}
.paopao-table td:nth-of-type(2){
    padding-left: 1em;
    border-bottom: 2px var(--secondary-color) solid;
    margin-bottom: 0.5em;
}
.line_bag{
 /* width: 90%;*/
  height: 60px;
  background-image: url("../img/curriculum/line_bag.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  margin: 1em auto;
}
.lchan-table {
  border-collapse: collapse;
}
.lchan-table, 
.lchan-table thead, 
.lchan-table tbody, 
.lchan-table th, 
.lchan-table td, 
.lchan-table tr {
    display: block;
    width: auto;
    border: none;
  }
.lchan-table th,
.lchan-table td {
  /*border: 1px solid #ccc;*/
  padding: 10px;
  text-align: left;
}

.lchan-table th {
  background-color: #f2f2f2;
}
.lchan-table td:nth-of-type(1){
    background-color:  rgba(232,208,208, 0.5);/*#E8D0D0*/
}
.lchan-table td:nth-of-type(2){
    padding-left: 1em;
    border-bottom: 2px #C0504D solid;
    margin-bottom: 0.5em;
}
.lchan-table tr td:nth-of-type(1){
    text-align: left;
    font-weight: bold;
    font-size: 20px;
}
.lchan-table tr td:nth-of-type(1) div{
    font-weight: normal;
    margin: 0.5em;
    font-size: 14px;
}
.balloon_frame{
    display: flex;
    flex-wrap: wrap;
}
.balloon {
    width: 100%;
    margin: 0.5em;
    line-height: 1.5em;
    /*position: relative;*/
    background: #f0f0f0;
    border-radius: 10px;
    /*padding: 10px;*/
    font-size: 16px;

}
.photo_area{
    display: flex;
    flex-wrap: wrap;
    margin: 1em;
    /*justify-content: space-around;*/
    justify-content: center;
}

#kagai .sub_title{
}
section #kagai ul{
    margin: 1em 0;
}
section #kagai ul li{
    width: 100%;
    flex-wrap: wrap;
}
section #kagai .text{
    font-size: 14px;
    text-align: justify;

}
/*--- Tablet View ---------------------------------------------------------------------------------------------------------*/
@media (min-width: 768px){
    .flex_row {
        display: flex;
        flex-direction: row;
        align-items: center; /* 任意：縦中央揃え */
    }
    .flex_row_wrap {
        display: flex;
        flex-direction: row;
        align-items: center; /* 任意：縦中央揃え */
        flex-wrap: wrap;
        justify-content: center;
    }
    .flex_row_rev {
        display: flex;
        flex-direction: row-reverse;
        align-items: center; /* 任意：縦中央揃え */
    }

    .flex_column {
        display: flex;
        flex-direction: column;
    }
    
    section ul {
        display: block;
    }
    section ul li span{
        display: inline;
    }
    section .element{
        width: fit-content;
        margin: 0 auto 2em;
    }
    .icon{
        display: block;
        position: absolute;
        z-index: 2;
    }
    #daily .title,#year .title{
        font-size: 32px;
    }

    #daily,#year{
        width: 1000px;
        width: 1280px;
        margin: 2em auto 0;
        position: relative;
    }
    #daily .v_line1 {
        position: absolute;
        top: 180px;
        bottom: 450px;
        left: 50%;
        width: 3px;
        background-color: #558ED5;
        transform: translateX(-50%);
        z-index: 0;
    }
    #daily .fill_on_top{
        margin-top: -80px;
    }
    #daily .day_element{
        position: relative;
        display: flex;
        z-index: 1;
        width: 64%;
        width: 760px;
        /*align-items: flex-start;*/
    }
    #daily .day_element:nth-of-type(2n+1){
        flex-direction: row-reverse;
        justify-content: flex-end;
        margin-right: auto;
    }
    #daily .day_element:nth-of-type(2n){
        margin-left: auto;
    }
    #daily .day_element:nth-of-type(4){
        width: fit-content;
        margin: 0 auto;
        display: block;
    }
    #daily .day_element{margin-top: -10%;}
    #daily .day_element:nth-of-type(1){margin-top: 0;}
    #daily .day_element:nth-of-type(2){margin-top: -200px;}
    #daily .day_element:nth-of-type(4){}
    #daily .day_element:nth-of-type(5){margin-top: -50px;}
/*    #daily .day_element:nth-of-type(4){
        width: fit-content;
        margin: 0 auto;
    }*/
    #daily .day_element:nth-of-type(4) dd{
        display: flex;
        flex-wrap: wrap;
        flex-direction: column;
        justify-content: center;
        width: fit-content;
    }
    #daily .day_element dt{
       /* width: calc((28% / 64) * 100);
        height: 25px;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        color: #fff;
        font-size: 1.5em;
        font-weight: 500;
        word-wrap: break-word;*/
        width: calc((24% / 64) * 100);
        width: 240px;
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        font-size: 1.5em;
        font-weight: 500;
        word-wrap: break-word;
    }
    #daily .day_element:nth-of-type(1) dt{margin-top: 50px;}
    #daily .day_element:nth-of-type(2) dt{margin-top: 100px;}
    #daily .day_element:nth-of-type(3) dt{margin-top: 120px;}
    #daily .day_element:nth-of-type(4) dt{margin: 0 auto;}
    #daily .day_element:nth-of-type(5) dt{margin-top: 120px;}
    #daily .day_element:nth-of-type(6) dt{margin-top: 120px;}
    #daily .day_element:nth-of-type(7) dt{margin-top: 120px;}
    #daily .day_element:nth-of-type(8) dt{margin-top: 120px;}
    #daily .day_element:nth-of-type(9) dt{margin-top: 120px;}
    
    #daily .day_element:not(:last-of-type) > dt::before {
        content: "";
        width: 1px;
        height: 100%;
        position: absolute;
        z-index: -10;
        background: #558ED5;
    }
    #daily .day_element > dd {
        width: calc((40% / 64) * 100);
        width: 520px;
        padding-bottom: 40px;
        text-align: left;
        /*overflow: hidden;*/
    }

    /*#daily .sub_title{
        font-size: 20px;
    }*/
    #daily .sub_title, #daily .text{
        background-color: var(--background-color);
    }
    
    
    .bubble_l{ background-image: url("../img/curriculum/bubble_left.svg"); padding: 3em 2em 3em 4em; margin-left: 0;}
    .bubble_l_g{ background-image: url("../img/curriculum/bubble_left_g.svg"); padding: 3em 2em 3em 4em; margin-left: 0;}
    .bubble_r{ background-image: url("../img/curriculum/bubble_right.svg"); padding: 2em 3em 2em 2em; margin-right: 0}

    #s2 .list{
        max-width: 800px;
    }
    #s3 ul{
        max-width: 800px;
    }
    .list li div:nth-of-type(1){
        font-size: 24px;
    }
    #age1 .list {
        /*max-width: 960px;*/
    }
    #age1 .list li div{
        padding-bottom: 0.5em;
        /*flex-basis: 100%;*/
        /*flex: 1 1 100%;*/
    }
    /*#age1 .img_area1,#age1 .img_area2{*/
    .img_area1,.img_area2{
        width: 1024px;
        margin: 0 auto;
        /*border: 1px #333 dashed;*/
    }

    #icon_daily_01{top: 150px; left: 850px;}
    #icon_daily_02{top: 1100px; left: 160px;}
    #icon_daily_03{top: 1100px; left: 900px;}
    #icon_daily_04{top: 1920px; left: 160px;}
    #icon_daily_05{top: 2222px; left: 850px;}
    #icon_daily_06{top: 2820px; left: 850px;}
    
    #icon_year_01{top: 660px; left: 400px;}
    #icon_year_02{top: 2000px; right: 0px;}
    #icon_year_03{bottom: 0px; left: 400px;}
    
    #icon01{top: 120px; left: -100px;}
    #icon02{top: 200px; right: -100px;}
    #icon03{top: 600px; left: -100px;}
    
    #icon2_01{top: 260px; left: 400px;}
    #icon2_02{top: 660px; left: 210px;}
    #icon2_03{top: 1060px; left: 580px;}
    
    #icon2_04{top: 300px; left: 100px;}
    #icon2_05{top: 300px; right: 60px;}
    
    #icon3_01{top: 550px; right: 0px;}
    #icon3_02{top: 1000px; left: 80px;}
    #icon3_03{top: 1300px; left: 170px;}
    #icon3_04{top: 1600px; right: 60px;}
    #icon3_05{top: 1800px; left: 300px;}
    
    .m_r100{margin-right: 200px;}
    .circle1{
        border: var(--secondary-color) 3px dashed;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 2em;
        align-self: center;
    }
    .circle2{
        border: var(--secondary-color) 3px dashed;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 3em 4em;
        align-self: center;
    }
    .circle2 ul{
        font-size: 1rem;
    }

  /*  #age1 .img_area1 */.balloon1{
        border: var(--secondary-color) 3px dashed;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 3em 4em;
        align-self: center;
    }
    #age1 .img_area1 .balloon2{
        border-radius: 50%;
    }
    #age1 .img_area1 .balloon3{
        border-radius: 50%;
        padding: 3em 3em 1.5em;
    }
    #age1 .img_area1 .balloon4{
        background-image: url("../img/curriculum/balloon_left.svg");
        align-content: center;
        padding: 2em 1.5em 2em 3em;
    }
    #age1 .balloon5{
        border-radius: 50%;
        align-self: center;
    }

    .paopao-table{
        display: table;
        width: fit-content;
        margin: 0 auto;
    }

    .paopao-table thead {display: table-header-group;}
    .paopao-table tbody {display: table-row-group;}
    .paopao-table tfoot {display: table-footer-group;}
    .paopao-table tr {display: table-row;}
    .paopao-table th,.paopao-table td {display: table-cell;}
    .paopao-table col {display: table-column;}
    .paopao-table colgroup {display: table-column-group;}
    .paopao-table caption {display: table-caption;}
    
    .paopao-table td:nth-of-type(1){
        text-align: center;
    }
    .paopao-table td{
        border-bottom: 2px var(--secondary-color) solid;
    }
    .paopao-table td:nth-of-type(1){
        background-color:  rgba(255, 255, 255, 1);
    }
    .paopao-table tr:nth-of-type(2n+1) td{
        background-color:  rgba(202, 227, 191, 0.5);
    }
    
    .line_bag{
        width: 760px;
        height: 60px;
    }

    .lchan-table{
        display: table;
        width: fit-content;
        margin: 0 auto;
    }

    .lchan-table thead {display: table-header-group;}
    .lchan-table tbody {display: table-row-group;}
    .lchan-table tfoot {display: table-footer-group;}
    .lchan-table tr {display: table-row;}
    .lchan-table th,.lchan-table td {display: table-cell;}
    .lchan-table col {display: table-column;}
    .lchan-table colgroup {display: table-column-group;}
    .lchan-table caption {display: table-caption;}
    
    .lchan-table td:nth-of-type(1){
        text-align: center;
    }
    .lchan-table td{
        border-bottom: 2px #C0504D solid;
    }
    .lchan-table td:nth-of-type(1){
        background-color:  rgba(255, 255, 255, 1);
    }
    .lchan-table tr:nth-of-type(2n+1) td{
        background-color:  rgba(192, 80, 77, 0.5);/*#C0504D*/
        background-color:  rgba(232,208,208, 0.5);/*#E8D0D0*/
    }


    .balloon_frame{
        width: auto;
        flex-wrap: nowrap;
        /*width: fit-content;*/
        justify-content: center;
        align-items: flex-start;
        margin: 1em auto;
    }
    
    .balloon_frame>div{
        /*width: 480px;*/
        margin: auto 20px
    }

    .balloon_frame>div:nth-child(1){order: 1;}
    .balloon_frame>div:nth-child(2){order: 3;}
    .balloon_frame>div:nth-child(3){order: 2;}
    
    .balloon {
        position: relative;
        background: #f0f0f0;
        border-radius: 10px;
        /*padding: 10px 15px;*/
        max-width: 320px;
        font-size: 16px;

    }

    .balloon::after {
      content: "";
      position: absolute;
      /*top: 10px;*/
      /*left: -10px;*/
      border: 15px solid transparent;

    }
    .balloon.left::after {
        top: 15px;
        left: -30px;
        border-right-color: #f0f0f0;
    }
    .balloon.right::after {
        top:15px;
        right: -30px;
        border-left-color: #f0f0f0;
    }
    #kagai{
        display: flex;
        flex-wrap: wrap;
        width: 90%;
        margin: 0 auto;
        max-width: 1280px;
    }
    #kagai .sub_title{
        text-align: left;
        border: var(--secondary-color) ;
        border-left: 8px solid;
        padding: 0.5em 1em;
        border-bottom: dotted 4px;
        margin: 0 auto 0.5em 0;
    }
    #kagai>div{
        width: 70%;
        display: flex;
        flex-wrap: wrap;
    }
    #kagai>div>div{
        display: flex;
        flex-wrap: nowrap;
    }

    #kagai>div:nth-of-type(2n+1){
        justify-content: flex-start;
        margin-right: auto;
    }
    #kagai>div:nth-of-type(2n){
        justify-content: flex-end;
        margin-left: auto;
    }
    section #kagai .text{font-size: 16px;}

}