@charset "UTF-8";


/***************************************************

	purpuse

***************************************************/

@font-face {
  font-family: "Montserrat";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}

main{
    overflow: hidden;
}

.p-about{
    margin-bottom: 240px;
}

.l-anchor-link > ul > li {
    border-bottom: 1px solid #fff;
    position: relative;
}

.l-anchor-link > ul > li > a {
    display: block;
    height: 88px;
    padding: 0 0 0 36px;
    border-bottom: none;
}

.l-anchor-link > ul > li > a::before {
    position: absolute;
    top: 39%;
    left: 0;
}

.l-anchor-link > ul > li:first-child > a::before {
    /*top: 21%;*/
}

.l-anchor-link > ul > li > a strong{
    position: absolute;
    top: 50%;
    left: 36px;
    transform: translate(0, -50%);
    font-weight: 700;
}

#origin{
    padding: 80px 0 0;
    margin: -80px 0 440px;
}

#origin h2{
    width: 1600px;
    font-size: 200px;
    font-family: "Barlow Condensed", "Noto Sans JP", sans-serif;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 auto 200px; 
}

#origin h2 small{
    display: block;
    font-size: 72px;
    font-weight: 500;
}

#origin .first_text_area{
    width: 1920px;
    margin: 0 auto 200px;
    display: flex;
}

#origin .first_text_area .text_area{
    width: calc(100% - 925px);
    padding: 0 64px 0 160px;
    box-sizing: border-box;
}

#origin .first_text_area .text_area .main_catch{
    font-size: 54px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-bottom: 48px;
}

#origin .first_text_area .text_area .sub_catch{
    font-size: 28px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-bottom: 48px;
}

#origin .first_text_area .text_area .caption{
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.04em;
}

#origin .first_text_area .image_area{
    width: 925px;
}


#origin .second_text_area{
    width: 1600px;
    margin: 0 auto 200px;
}

#origin .second_text_area .text_area{
    margin-bottom: 64px;
}

#origin .second_text_area .text_area .main_catch{
    font-size: 54px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-bottom: 48px;
}

#origin .second_text_area .text_area .sub_catch{
    font-size: 28px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-bottom: 48px;
}

#origin .second_text_area .text_area .caption{
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.04em;
}


#origin .third_text_area{
    width: 1600px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
}

#origin .third_text_area .text_area{
    display: inline-block;
    width: 1184px;
    text-align : left;
}

#origin .third_text_area .text_area .main_catch{
    font-size: 54px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-bottom: 48px;
}

#origin .third_text_area .text_area .sub_catch{
    font-size: 28px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-bottom: 48px;
}

#origin .third_text_area .text_area .caption{

}

#origin .third_text_area .text_area .caption p{
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-bottom: 1em;
}

#origin .third_text_area .text_area .caption p:last-of-type{
    margin-bottom: 0;
}

#purpose{
    padding: 80px 0 0;
    margin: -80px 0 120px;
    position: relative;
}

#purpose .image_position{
    width: 680px;
    position: absolute;
    top: -120px;
    right: 0;
}

#purpose .cont_wrapp{
    width: 1600px;
    margin: 0 auto;
}

#purpose .cont_wrapp h2{
    font-size: 200px;
    font-family: "Barlow Condensed", "Noto Sans JP", sans-serif;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 40px;
}

#purpose .cont_wrapp .main_caption{
    font-size: 80px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.04em;
    margin-bottom: 48px;
}

#purpose .cont_wrapp .sub_caption{
    width: 1184px;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.8;
}



#vision{
    padding: 80px 0 0;
    margin: -80px 0 240px;
    position: relative;
}

#vision .cont_wrapp{
    width: 1920px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}

#vision .cont_wrapp .data_wrapp{
    width: calc(100% - 503px);
    padding-right: 160px;
    box-sizing: border-box;
    text-align : right;
}

#vision .cont_wrapp .data_wrapp h2{
    font-size: 72px;
    font-family: "Barlow Condensed", "Noto Sans JP", sans-serif;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 32px;
}

#vision .cont_wrapp .data_wrapp h2 small{
    font-size: 18px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-left: 24px;
}

#vision .cont_wrapp .data_wrapp .main_caption{
    font-size: 54px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-bottom: 48px;
}

#vision .cont_wrapp .data_wrapp .sub_caption{
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.04em;
}

#vision .cont_wrapp .image_position{
    width: 503px;
    padding-left: 110px;
    box-sizing: border-box; 
}



#core_competence{
    padding: 80px 0 0;
    margin: -80px 0 320px;
    position: relative;
}

#core_competence .cont_wrapp{
    width: 1600px;
    margin: 0 auto;
}

#core_competence .cont_wrapp h2{
    font-size: 72px;
    font-family: "Barlow Condensed", "Noto Sans JP", sans-serif;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 32px;
}

#core_competence .cont_wrapp h2 small{
    font-size: 18px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-left: 24px;
}

#core_competence .cont_wrapp .main_caption{
    font-size: 80px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.04em;
    margin-bottom: 48px;
}

#core_competence .cont_wrapp .sub_caption{
    width: 1184px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-bottom: 80px;
}

#core_competence .cont_wrapp .image_ul{
    display: flex;
    justify-content: space-between;
}

#core_competence .cont_wrapp .image_ul li{
    width: 500px;
}



#history{
    padding: 80px 0 0;
    margin: -80px 0 0;
    position: relative;
}

#history .cont_wrapp{
    width: 1600px;
    margin: 0 auto;
}

#history .cont_wrapp h2{
    font-size: 160px;
    font-family: "Barlow Condensed", "Noto Sans JP", sans-serif;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 80px;
}

#history .cont_wrapp h2 small{
    font-size: 20px;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-left: 24px;
}

#history .cont_wrapp .history_data{

}

#history .cont_wrapp .history_data .year_data{
    font-size: 80px;
    font-family: "Barlow", sans-serif;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 20px;
}

#history .cont_wrapp .history_data ul{
    margin: 0 0 24px 84px;
}

#history .cont_wrapp .history_data ul:last-of-type{
    margin-bottom: 0;
}

#history .cont_wrapp .history_data ul li{
    padding: 0 0 32px 84px;
    position: relative;
}

#history .cont_wrapp .history_data ul li:last-child{
    padding-bottom: 0; 
}

#history .cont_wrapp .history_data ul li::before{
    content: '';
    display: inline-block;
    width: 1px;
    height: 100%;
    background: #fff;
    position: absolute;
    top: 12px;
    left: 0;
}

#history .cont_wrapp .history_data ul li::after{
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    position: absolute;
    top: 12px;
    left: -5px;
}

#history .cont_wrapp .history_data ul li .history_data_cont{
    display: flex;
}

#history .cont_wrapp .history_data ul li .history_data_cont .text_data{
    width: calc(100% - 352px);
    padding-right: 24px;
    box-sizing: border-box;
}

#history .cont_wrapp .history_data ul li:not(:has(.image_data)) .text_data{
    width: 100%;
    padding-right: 0;
}

#history .cont_wrapp .history_data ul li .history_data_cont .text_data .monthly{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
}

#history .cont_wrapp .history_data ul li .history_data_cont .text_data .caption{
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.04em;
}

#history .cont_wrapp .history_data ul li .history_data_cont .image_data{
    width: 352px;
}


#history .cont_wrapp .history_data ul li{
    display: flex;
}

#history .cont_wrapp .history_data ul li .month_data{
    width: 80px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.04em;
}

#history .cont_wrapp .history_data ul li .input_data{
    width: calc(100% - 80px);
}

#history .cont_wrapp .history_data ul li .input_data .contents_data{
    display: flex;
    margin-bottom: 32px;
}

#history .cont_wrapp .history_data ul li .input_data .contents_data:last-of-type{
    margin-bottom: 0;
}

#history .cont_wrapp .history_data ul li .input_data .contents_data .caption{
    width: 100%;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0.04em;
}

#history .cont_wrapp .history_data ul li .input_data .contents_data:has(.image_data) .caption{
    width: calc(100% - 352px);
    padding-right: 24px;
    box-sizing: border-box;
}

#history .cont_wrapp .history_data ul li .input_data .contents_data .image_data{
    width: 352px;
}







/********************************************************************************
	リッキド用 CSS
********************************************************************************/
@media (max-width: 1920px) {

.p-about{
    margin-bottom: 12.5vw;
}

.l-anchor-link > ul > li > a {
    height: 4.583333vw;
    padding: 0 0 0 1.875vw;
}

.l-anchor-link > ul > li > a strong{
    left: 1.875vw;
}



#origin{
    padding: 4.166667vw 0 0;
    margin: -4.166667vw 0 22.916667vw;
}

#origin h2{
    width: 83.333333vw;
    font-size: 10.416667vw;
    margin: 0 auto 10.416667vw; 
}

#origin h2 small{
    font-size: 3.75vw;
}

#origin .first_text_area{
    width: 100vw;
    margin: 0 auto 10.416667vw;
}

#origin .first_text_area .text_area{
    width: calc(100% - 48.177083vw);
    padding: 0 3.333333vw 0 8.333333vw;
}

#origin .first_text_area .text_area .main_catch{
    font-size: 2.8125vw;
    margin-bottom: 2.5vw;
}

#origin .first_text_area .text_area .sub_catch{
    font-size: 1.458333vw;
    margin-bottom: 2.5vw;
}

#origin .first_text_area .text_area .caption{
    font-size: 0.9375vw;
}

#origin .first_text_area .image_area{
    width: 48.177083vw;
}


#origin .second_text_area{
    width: 83.333333vw;
    margin: 0 auto 10.416667vw;
}

#origin .second_text_area .text_area{
    margin-bottom: 3.333333vw;
}

#origin .second_text_area .text_area .main_catch{
    font-size: 2.8125vw;
    margin-bottom: 2.5vw;
}

#origin .second_text_area .text_area .sub_catch{
    font-size: 1.458333vw;
    margin-bottom: 2.5vw;
}

#origin .second_text_area .text_area .caption{
    font-size: 0.9375vw;
}


#origin .third_text_area{
    width: 83.333333vw;
}

#origin .third_text_area .text_area{
    width: 61.666667vw;
}

#origin .third_text_area .text_area .main_catch{
    font-size: 2.8125vw;
    margin-bottom: 2.5vw;
}

#origin .third_text_area .text_area .sub_catch{
    font-size: 1.458333vw;
    margin-bottom: 2.5vw;
}

#origin .third_text_area .text_area .caption p{
    font-size: 0.9375vw;
}



#purpose{
    padding: 4.166667vw 0 0;
    margin: -4.166667vw 0 6.25vw;
}

#purpose .image_position{
    width: 35.416667vw;
    top: -6.25vw;
}

#purpose .cont_wrapp{
    width: 83.333333vw;
}

#purpose .cont_wrapp h2{
    font-size: 10.416667vw;
    margin-bottom: 2.083333vw;
}

#purpose .cont_wrapp .main_caption{
    font-size: 4.166667vw;
    margin-bottom: 2.5vw;
}

#purpose .cont_wrapp .sub_caption{
    width: 61.666667vw;
    font-size: 0.9375vw;
}



#vision{
    padding: 4.166667vw 0 0;
    margin: -4.166667vw 0 12.5vw;
}

#vision .cont_wrapp{
    width: 100vw;
}

#vision .cont_wrapp .data_wrapp{
    width: calc(100% - 26.197917vw);
    padding-right: 8.333333vw;
}

#vision .cont_wrapp .data_wrapp h2{
    font-size: 3.75vw;
    margin-bottom: 1.666667vw;
}

#vision .cont_wrapp .data_wrapp h2 small{
    font-size: 0.9375vw;
    margin-left: 1.25vw;
}

#vision .cont_wrapp .data_wrapp .main_caption{
    font-size: 2.8125vw;
    margin-bottom: 2.5vw;
}

#vision .cont_wrapp .data_wrapp .sub_caption{
    font-size: 0.9375vw;
}

#vision .cont_wrapp .image_position{
    width: 26.197917vw;
    padding-left: 5.729167vw; 
}



#core_competence{
    padding: 4.166667vw 0 0;
    margin: -4.166667vw 0 16.666667vw;
}

#core_competence .cont_wrapp{
    width: 83.333333vw;
}

#core_competence .cont_wrapp h2{
    font-size: 3.75vw;
    margin-bottom: 1.666667vw;
}

#core_competence .cont_wrapp h2 small{
    font-size: 0.9375vw;
    margin-left: 1.25vw;
}

#core_competence .cont_wrapp .main_caption{
    font-size: 4.166667vw;
    margin-bottom: 2.5vw;
}

#core_competence .cont_wrapp .sub_caption{
    width: 61.666667vw;
    font-size: 0.9375vw;
    margin-bottom: 4.166667vw;
}

#core_competence .cont_wrapp .image_ul li{
    width: 26.041667vw;
}



#history{
    padding: 4.166667vw 0 0;
    margin: -4.166667vw 0 0;
}

#history .cont_wrapp{
    width: 83.333333vw;
}

#history .cont_wrapp h2{
    font-size: 8.333333vw;
    margin-bottom: 4.166667vw;
}

#history .cont_wrapp h2 small{
    font-size: 1.041667vw;
    margin-left: 1.25vw;
}



#history{
    padding: 4.166667vw 0 0;
    margin: -4.166667vw 0 0;
}

#history .cont_wrapp{
    width: 83.333333vw;
}

#history .cont_wrapp h2{
    font-size: 8.333333vw;
    margin-bottom: 4.166667vw;
}

#history .cont_wrapp h2 small{
    font-size: 1.041667vw;
    margin-left: 1.25vw;
}

#history .cont_wrapp .history_data .year_data{
    font-size: 4.166667vw;
    margin-bottom: 1.010101vw;
}

#history .cont_wrapp .history_data ul{
    margin: 0 0 1.25vw 4.375vw;
}

#history .cont_wrapp .history_data ul li{
    padding: 0 0 1.666667vw 4.375vw;
}

#history .cont_wrapp .history_data ul li::before{
    top: 0.625vw;
}

#history .cont_wrapp .history_data ul li::after{
    width: 0.625000vw;
    height: 0.625000vw;
    top: 0.625vw;
    left: -0.260417vw;
}

#history .cont_wrapp .history_data ul li .history_data_cont .text_data{
    width: calc(100% - 18.333333vw);
    padding-right: 1.25vw;
}

#history .cont_wrapp .history_data ul li .history_data_cont .text_data .monthly{
    font-size: 0.9375vw;
    margin-bottom: 0.416667vw;
}

#history .cont_wrapp .history_data ul li .history_data_cont .text_data .caption{
    font-size: 0.9375vw;
}

#history .cont_wrapp .history_data ul li .history_data_cont .image_data{
    width: 18.333333vw;
}



#history .cont_wrapp .history_data ul li{
    display: flex;
}

#history .cont_wrapp .history_data ul li .month_data{
/* TEST追加 */
    width: 6.0vw;
/* TEST追加 */
    font-size: 0.9375vw;
}

#history .cont_wrapp .history_data ul li .input_data{
    width: calc(100% - 4.166667vw);
}

#history .cont_wrapp .history_data ul li .input_data .contents_data{
    margin-bottom: 1.666667vw;
}

#history .cont_wrapp .history_data ul li .input_data .contents_data .caption{
    font-size: 0.9375vw;
}

#history .cont_wrapp .history_data ul li .input_data .contents_data:has(.image_data) .caption{
    width: calc(100% - 18.333333vw);
    padding-right: 1.25vw;
}

#history .cont_wrapp .history_data ul li .input_data .contents_data .image_data{
    width: 18.333333vw;
}









}



/********************************************************************************
	スマートフォン用 CSS
********************************************************************************/

@media(max-width: 768px){

.p-about{
    margin-bottom: 32vw;
}

.l-anchor-link > ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.l-anchor-link > ul > li {
    width: 42.666667vw;
}

.l-anchor-link > ul > li:first-child {
    width: 100%;
}

.l-anchor-link > ul > li > a {
    height: 23.466667vw;
    padding: 0 0 0 9.6vw;
}

.l-anchor-link > ul > li > a::before {
    position: absolute;
    top: 39%;
    left: 0;
}

.l-anchor-link > ul > li:nth-child(4) > a::before {
    top: 21%;
}

.l-anchor-link > ul > li > a strong{
    left: 9.6vw;
}



#origin{
    padding-top: 21.333333vw;
    margin: -21.333333vw 0 58.666667vw;
}

#origin h2{
    width: auto;
    font-size: 21.333333vw;
    margin: 0 5.333333vw 17.066667vw; 
}

#origin h2 small{
    font-size: 12.8vw;
}

#origin .first_text_area{
    width: auto;
    margin: 0 auto 17.066667vw;
    display: block;
}

#origin .first_text_area .text_area{
    width: auto;
    padding: 0 5.333333vw 17.066667vw;
}

#origin .first_text_area .text_area .main_catch{
    font-size: 7.466667vw;
    margin-bottom: 12.8vw;
}

#origin .first_text_area .text_area .sub_catch{
    font-size: 5.333333vw;
    margin-bottom: 12.8vw;
}

#origin .first_text_area .text_area .caption{
    font-size: 4.266667vw;
}

#origin .first_text_area .image_area{
    width: auto;
    padding-left: 5.333333vw;
}


#origin .second_text_area{
    width: auto;
    margin: 0 auto 17.066667vw;
}

#origin .second_text_area .text_area{
    margin: 0 5.333333vw 17.066667vw;
}

#origin .second_text_area .text_area .main_catch{
    font-size: 7.466667vw;
    margin-bottom: 12.8vw;
}

#origin .second_text_area .text_area .sub_catch{
    font-size: 5.333333vw;
    margin-bottom: 12.8vw;
}

#origin .second_text_area .text_area .caption{
    font-size: 4.266667vw;
}


#origin .third_text_area{
    width: auto;
    margin: 0 5.333333vw;
    display: block;
}

#origin .third_text_area .text_area{
    width: auto;
}

#origin .third_text_area .text_area .main_catch{
    font-size: 7.466667vw;
    margin-bottom: 12.8vw;
}

#origin .third_text_area .text_area .sub_catch{
    font-size: 5.333333vw;
    margin-bottom: 12.8vw;
}

#origin .third_text_area .text_area .caption p{
    font-size: 4.266667vw;
}



#purpose{
    padding: 21.333333vw 0 0;
    margin: -21.333333vw 0 32vw;
}

#purpose .image_position{
    width: 45.333333vw;
    top: 0;
}

#purpose .cont_wrapp{
    width: auto;
    margin: 0 5.333333vw;
}

#purpose .cont_wrapp h2{
    font-size: 26.666667vw;
    margin-bottom: 6.4vw;
}

#purpose .cont_wrapp .main_caption{
    font-size: 7.466667vw;
    line-height: 1.8;
    margin-bottom: 6.4vw;
}

#purpose .cont_wrapp .sub_caption{
    width: auto;
    font-size: 4.266667vw;
}



#vision{
    padding: 21.333333vw 0 0;
    margin: -21.333333vw 0 32vw;
}

#vision .cont_wrapp{
    width: auto;
    margin: 0 5.333333vw;
    display: block;
}

#vision .cont_wrapp .data_wrapp{
    width: auto;
    padding-right: 0;
    text-align : left;
}

#vision .cont_wrapp .data_wrapp h2{
    font-size: 19.2vw;
    margin-bottom: 10.666667vw;
}

#vision .cont_wrapp .data_wrapp h2 small{
    display: block;
    font-size: 4.266667vw;
    margin: 6.4vw 0 0;
}

#vision .cont_wrapp .data_wrapp .main_caption{
    font-size: 7.466667vw;
    margin-bottom: 10.666667vw;
}

#vision .cont_wrapp .data_wrapp .sub_caption{
    font-size: 4.266667vw;
}

#vision .cont_wrapp .image_position{
    width: 26.666667vw;
    padding-left: 0;
    position: absolute;
    top: 10.666667vw;
    right: 5.333333vw;
}



#core_competence{
    padding: 21.333333vw 0 0;
    margin: -21.333333vw 0 53.333333vw;
}

#core_competence .cont_wrapp{
    width: auto;
    margin: 0 5.333333vw;
}

#core_competence .cont_wrapp h2{
    font-size: 19.2vw;
    margin-bottom: 10.666667vw;
}

#core_competence .cont_wrapp h2 small{
    display: block;
    font-size: 4.266667vw;
    margin: 6.4vw 0 0;
}

#core_competence .cont_wrapp .main_caption{
    font-size: 7.466667vw;
    line-height: 1.8;
    margin-bottom: 10.666667vw;
}

#core_competence .cont_wrapp .sub_caption{
    width: auto;
    font-size: 4.266667vw;
    margin-bottom: 17.066667vw;
}

#core_competence .cont_wrapp .image_ul{
    display: block;
}

#core_competence .cont_wrapp .image_ul li{
    width: auto;
}


#history{
    padding: 21.333333vw 0 0;
    margin: -21.333333vw 0 0;
}

#history .cont_wrapp{
    width: auto;
    margin: 0 5.333333vw;
}

#history .cont_wrapp h2{
    font-size: 19.2vw;
    margin-bottom: 12.8vw;
}

#history .cont_wrapp h2 small{
    display: block;
    font-size: 5.333333vw;
    margin: 6.4vw 0 0;
}



#history{
    padding: 21.333333vw 0 0;
    margin: -21.333333vw 0 0;
}

#history .cont_wrapp{
    width: auto;
    margin: 0 5.333333vw;
}

#history .cont_wrapp h2{
    font-size: 19.2vw;
    margin-bottom: 12.8vw;
}

#history .cont_wrapp h2 small{
    display: block;
    font-size: 5.333333vw;
    margin: 6.4vw 0 0;
}

#history .cont_wrapp .history_data .year_data{
    font-size: 6.4vw;
    margin-bottom: 8.533333vw;
}

#history .cont_wrapp .history_data ul{
    margin: 0 0 6.4vw 6.4vw;
}

#history .cont_wrapp .history_data ul:last-of-type{
    margin-bottom: 0;
}

#history .cont_wrapp .history_data ul li{
    padding: 0 0 6.4vw 4vw;
}

#history .cont_wrapp .history_data ul li::before{
    top: 3.2vw;
}

#history .cont_wrapp .history_data ul li::after{
    width: 2.4vw;
    height: 2.4vw;
    top: 3.2vw;
    left: -1.066667vw;
}

#history .cont_wrapp .history_data ul li .history_data_cont{
    display: block;
}

#history .cont_wrapp .history_data ul li .history_data_cont .text_data{
    width: auto;
    padding: 0;
    margin-bottom: 6.4vw;
}

#history .cont_wrapp .history_data ul li .history_data_cont .text_data .monthly{
    font-size: 4.8vw;
    margin-bottom: 2.133333vw;
}

#history .cont_wrapp .history_data ul li .history_data_cont .text_data .caption{
    font-size: 4.8vw;
}

#history .cont_wrapp .history_data ul li .history_data_cont .image_data{
    width: auto;
}




#history .cont_wrapp .history_data ul li{
    display: flex;
}

#history .cont_wrapp .history_data ul li .month_data{
    width: 16vw;
    font-size: 4.8vw;
}

#history .cont_wrapp .history_data ul li .input_data{
    width: calc(100% - 16vw);
}

#history .cont_wrapp .history_data ul li .input_data .contents_data{
    display: block;
    margin-bottom: 6.4vw;
}

#history .cont_wrapp .history_data ul li .input_data .contents_data:last-of-type{
    margin-bottom: 0;
}

#history .cont_wrapp .history_data ul li .input_data .contents_data .caption{
    font-size: 4.8vw;
}

#history .cont_wrapp .history_data ul li .input_data .contents_data:has(.image_data) .caption{
    width: auto;
    padding-right: 0;
}

#history .cont_wrapp .history_data ul li .input_data .contents_data .image_data{
    width: auto;
    margin-top: 6.4vw;
}





}