  @charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Libre+Bodoni:wght@400;500;600;700&display=swap');

/* Ó¢ÕZ¥Ú©`¥¸×·Ó›·Ö */

header {
    height: 500px;
}

.en h2,
.en h3,
.en h4 {
    font-family: 'Libre Bodoni', serif;
    font-size: 30px;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 1rem;
}

.en h4 {
    font-size: 20px;
}

.en p {
    font-family: "pt-sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0em;
    margin-bottom: 1rem;
}

#en_history #main_wrap p {
    margin-right: auto;
}

.en #box2 p,
.en #box3 p,
.en #box4 p,
.en #box5 p,
.en #box6 p,
.en #box7 p {
    font-family: "pt-sans", sans-serif;
    font-size: 16px;
    font-weight: 400;
    /*line-height: 26px;*/
    letter-spacing: 0em;
    line-height: 24px;
}

.en #box2 p {
    margin-right: 400px;
}

.introduce {
    width: 920px;
    position: relative;
    /*left: calc(50% - 460px);*/
    top: 180px;
    background: #fff;
    padding: 60px;
    box-shadow: 0px 0px 32px 0px rgba(0, 0, 0, 0.1);
    margin-left: auto;
    margin-right: auto;
}

.introduce h2 {
    text-align: center;
    color: rgba(215, 0, 58, 0.75);
    margin-bottom: 2rem;
}

.introduce .d_line {
    margin-top: 46px;
}


#main_wrap {
    margin-top: 60px;
}

.en h3 {
    font-size: 58px;
    line-height: 1.6;
    letter-spacing: 1rem;
    text-indent: 0.4em;
    margin-bottom: 0;
}

#en_history .sub_title h3 {
    font-size: 40px;
    line-height: 1.6;
    letter-spacing: 0.4em;
    text-indent: 0.4em;
    margin-bottom: 0;
}


#main_wrap .sub_title p,
#others_wrap .sub_title p {
    font-family: Libre Bodoni;
    font-size: 20px;
    letter-spacing: 0.6em;
}

.en section h2 {
    font-size: 25px;
    line-height: 35px;
    letter-spacing: 0em;
    text-align: left;
    margin-right: 400px;
}

.en section h2:first-of-type {
    margin-bottom: 0;
}

.en .logo_110th_wrap h2:first-of-type {
    margin-right: 0;
    margin-bottom: 1rem;
}

#box6,
#box7 {
    width: 920px;
    background-color: #fff;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    margin-bottom: 3rem;
    box-shadow: 0px 0px 1vw rgba(0, 0, 0, 0.2);
    height: 420px;
}

.eng {
    background-color: transparent;
    color: #fff;
}

.jpn {

    background-color: #fff;
    color: #D7003A;
}

#box2 .box-area {
    padding: 58px 60px;
}

#box4 .box-area {
    padding: 43px 60px;
}


#box3 .box-area {
    padding: 80px 60px;
}

#box7 .box-area {
    padding: 60px 60px;
}

#box7 .box-area h2 {
    margin-bottom: 1rem;
}

#box6 .box-area {
    padding: 70px 60px;
}

.btn_01 {
    margin-top: 1rem;
}

#box5 .img-area {
    width: 460px;
    position: absolute;
    right: 0;
    top: 0;
}

#box5 .box-area,
#logo_110 .box-area {
    width: 444px;
    position: relative;
    padding: 0 0 0 40px;
}

.en section#box6 h2:first-of-type {
    margin-bottom: 1rem;
}

#main_wrap .inner {
    background: linear-gradient(180deg, rgba(215, 0, 58, 0.3) 0%, rgba(215, 0, 58, 0.05) 50%, rgba(215, 0, 58, 0) 100%);
}

.en #sub_wrap h3,
.en #sub_wrap h2 {
    color: rgba(62, 21, 134, 0.6);
}

.en #sub_wrap .inner {
    background: linear-gradient(180deg, rgba(62, 21, 134, 0.5) 0%, rgba(62, 21, 134, 0.2) 50%, rgba(62, 21, 134, 0) 100%);
    padding-top: 6rem;
}

#sub_wrap {
    margin-top: 10rem;
}

#sub_wrap .btn_01 {
    background-color: rgba(62, 21, 134, 0.5);
}

#sub_wrap .box_wrap {
    margin-top: -10.6rem;
}

#sub_wrap #box3 .box-area p,
#sub_wrap #box6 .box-area p,
#sub_wrap #box7 .box-area p {
    margin-right: 400px;
}

.d_line.s_110th.sub {
    margin-top: 0;
}

.d_line.s_110th {
    margin-bottom: 6rem;
}

.d_line.s_110th.l_110th {
    margin-bottom: 2rem;
}

#logo_110 .box-area {
    display: flex;
    align-items: center;
}

#sub_wrap .sub_title p {
    font-family: 'Libre Bodoni', serif;
    font-size: 20px;
    letter-spacing: 0.6em;
    text-align: center;
}


#main_wrap h2:first-of-type {
    margin-bottom: 0;
}

#main_wrap #box7 h2 {
    margin-bottom: 0.6rem;
}

.box-area:last-of-type {
    padding-bottom: 0;
}




/***###en_awards###****/
#en_awards main {
    margin-top: -60px;
}


#en_awards #main_wrap {
    margin-top: -4.2rem;
}

#en_awards #main_wrap .inner,
#en_history #main_wrap .inner .history {
    background: #fff;
    box-shadow: 0px 0px 32px 0px rgba(0, 0, 0, 0.1);
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0;
}

#en_awards #main_wrap .inner {
    width: calc(100% - 72px);

}

#en_awards #main_wrap .box_wrap {
    margin-top: 0;
    padding-bottom: 80px;
}

#en_awards p {
    font-size: 16px;
}

#en_awards #main_wrap .sub_title {
    font-family: 'Libre Bodoni', serif;
    font-size: 36px;
    font-style: italic;
    letter-spacing: 0.4em;
    text-align: center;
    padding-top: 80px;
    margin-bottom: 40px;
}


#en_awards .award {
    max-width: 920px;
    background: rgba(242, 242, 242, 1);
    margin-right: auto;
    margin-left: auto;
    padding-top: 73px;
    padding-bottom: 73px;
    margin-bottom: 80px;
    width: calc(100% - 8vw);
}

#en_awards .summary {
    max-width: 600px;
    margin-right: auto;
    margin-left: auto;
}

#en_awards .summary p {
    margin-bottom: 60px;
}

#en_awards .summary_card {
    display: flex;
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
    border-top: 1px solid rgba(137, 137, 137, 1);
    padding-top: 40px;
    padding-bottom: 40px;
    width: calc(100% - 68px);
}

#en_awards h3 {
    font-size: 40px;
    color: #D7003ABF;
}

#en_awards .summary_card:last-of-type {
    border-bottom: 1px solid rgba(137, 137, 137, 1);
}

#en_awards .date {
    font-size: 13px;
    margin-bottom: auto;
}

#en_awards .sub_title {
    width: auto;
}

#en_awards #main_wrap .sub_title p {
    font-size: 16px;
    line-height: 26px;
    letter-spacing: 0em;

}

#en_awards p {
    margin-right: auto;
}

#en_awards section h2 {
    font-size: 25px;
    line-height: 35px;
    letter-spacing: 0em;
    text-align: center;
    margin-right: auto;
    margin-bottom: 30px;
}

#en_awards #main_wrap h4 {
    font-size: 20px;
    color: rgba(35, 24, 21, 1);
    margin-bottom: auto;
}


.en .summary_card .img_box {
    height: 150px;
    overflow: hidden;
}

.en .summary_card .img_box img {
    object-fit: cover;
    width: 280px;
    height: 150px;
}

.en .summary_card .text_box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#en_awards .box-area {
    padding: 0;
}

.chika .btn_wrap {
    text-align: center;
    padding-left: 34px;
    padding-right: 34px;
}

.chika .btn_wrap a {
    text-align: left;
}

#en_awards .award.chika {
    background: rgba(215, 0, 58, 0.1);
    margin-bottom: 0;
}

.to_top_btn {
    width: 158px;
    margin: 100px auto;
}

#en_awards section h2:first-of-type {
    margin-bottom: 30px;
}

.en .self_link_area {
    height: 76px;
}

.en #others {
    margin-top: 0;
    padding-bottom: 0;
}

.en #others_wrap {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

#en_history #main_wrap {
    margin-top: -6.6rem;
}

#en_history .box_wrap {
    margin-top: 0;
}

#en_history #main_wrap .inner {
    background: transparent;
    padding-top: 0;
}

#en_history main {
    margin-top: -6rem;
}

#en_history p {
    font-family: "pt-sans", sans-serif;
    font-size: 16px;
    line-height: 26px;

}

p {
    /*text-align: justify;
    text-justify: inter-ideograph;*/
}

.en #main_wrap p.lead {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
}

.en #main_wrap p.lead {
    margin-bottom: 100px;
}

#en_history .sub_title {
    margin-bottom: 1rem;
}


.history_box_01,
.history_box_02,
.history_box_03,
.history_img_box2,
.history_img_box3 {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;

}

.history_box_02,
.history_box_03,
.history_img_box2,
.history_img_box3 {
    background: #F2F2F2;
    padding: 60px;
}

.history_img_box2 {
    padding-top: 80px;
    padding-bottom: 80px;
}

#en_history h2:first-of-type,
#en_history h2 {
    text-align: center;
    margin-right: auto;
    margin-bottom: 40px;
}

.history_box_01_inn {
    display: flex;
    justify-content: space-between;
    padding-top: 0;
    padding-bottom: 0;
    flex-wrap: nowrap;
}

.history_img_box3 {
    padding-left: 0;
    padding-right: 0;
    display: flex;
    justify-content: space-between;
    padding-top: 30px;
    padding-bottom: 0;
    flex-wrap: nowrap;
}

.history_box_02,
.history_box_03 {
    padding-top: 80px;
    padding-bottom: 20px;
}

#en_history .history_box_02 h2,
#en_history .history_box_03 h2 {
    margin-bottom: 20px;
}

#en_history .history_img_box3 .history_img_box_inn {
    max-width: 394px;

}

#en_history .sub_title {
    width: 100%;

}

#en_history .sub_title h3 {
    color: rgba(215, 0, 58, 0.75);

}

#main_wrap .box-area .history_img_box_inn p,
#en_history .history_img_box2 .history_img_box_inn p,
#en_history .history_img_box3 .history_img_box_inn p {
    font-size: 0.8rem;
    line-height: 1.4;
    margin-top: 0.6rem;
    margin-bottom: 40px;
}

#en_history #main_wrap .inner .history {
    padding-top: 80px;
    padding-bottom: 80px;
}

#en_history .history_img_box2 {
    margin-top: 30px;
}

.history_text {
    max-width: 440px;
}

.history_box_01_inn .history_img_box {
    max-width: 445px;
}

.fs {
    margin-top: 100px;
    background: linear-gradient(180deg, rgba(215, 0, 58, 0.3) 0%, rgba(215, 0, 58, 0.05) 50%, rgba(215, 0, 58, 0.05) 100%);
    padding: 60px 36px;
}

#en_history .fs .history_img_box2 {
    margin-top: 0;
    margin-bottom: 60px;
    padding-top: 0;
}

header .d_line.s_110th.sub {
    position: relative;
    top: 470px;
}

.d_line.s_110th.sub.first {
    margin-top: 280px;
}

.fab.fa-brands {
    height: 13px;
    width: auto;
    top: 9px;
}

#main_wrap h2,
#logo_110 h2 {
    letter-spacing: 0;
}

#en_history .history_box_01 h2 {
    margin-bottom: 25px;
}

#en_awards .chika .summary p {
    margin-bottom: 40px;
}

#en_history .sub_title h3 {
        margin-bottom: 40px;
    }

.heading-block .logo_110th {
    width: calc(100% - 84px);
    max-width: 760px;
    }

@media screen and (max-width: 1060px) {
    .history_box_01_inn .history_img_box {
        margin-right: 2rem;
        /*margin-left: 1rem;*/
    }

    #en_history #main_wrap .inner .history {
        padding: 60px;
    }
}

@media screen and (max-width: 960px) {
    .fab.fa-brands {
        height: 20px;
        width: auto;
    }
}

@media screen and (max-width: 920px) {
    .history_text {
        max-width: 40%;
    }
}

@media screen and (max-width: 860px) {
    .history_box_01_inn {
        flex-direction: column-reverse;
        padding-top: 0;
    }

    .history_box_01_inn .history_img_box {
        margin-right: 0;
        max-width: 100%;
    }

    .history_box_01_inn .history_text {
        margin-right: 0;
        max-width: 100%;

    }

    #en_awards .summary_card {
        flex-direction: column;
    }

    .en .summary_card .img_box,
    .en .summary_card .img_box img {
        width: 100%;
        height: auto;
    }

    .en .summary_card .text_box {
        width: 100%;
        height: auto;
        margin-top: 1rem;
    }

    #en_awards .summary p {
        /*width: calc(100% - 5.3333vw);*/
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding-left: 34px;
        padding-right: 34px;
    }
}

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

    .history_box_02,
    .history_box_03,
        {
        padding-top: 40px;
        padding-bottom: 40px;
        padding-left: 34px;
        padding-right: 34px;
    }

    .history_img_box2,
    .history_img_box3 {
        background: #fff;
        padding: 0;
    }

    .fs .history_img_box2 {
        background: #F2F2F2;
        padding-bottom: 34px;
    }


    #en_history #main_wrap .inner .history {
        padding: 80px 34px;
    }

    #en_history .history_img_box1 .history_img_box_inn p,
    #en_history .history_img_box2 .history_img_box_inn p,
    #en_history .history_img_box3 .history_img_box_inn p {
        line-height: 1.2;
    }

    .history_img_box3 {
        flex-direction: column;
    }

    #en_history .history_img_box3 .history_img_box_inn {
        max-width: 100%;
    }

    #en_history .fs .history_img_box2 {
        padding-left: 34px;
        padding-right: 34px;
    }
}

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

    #en_history h2:first-of-type,
    #en_history h2 {

        font-size: 5.3333333333vw;
        line-height: 1.4;
    }

    #main_wrap {
        margin-top: 120px;
    }

    header {
        background-image: linear-gradient(180deg, #D7003A 0%, rgba(215, 0, 58, 0) 100%);
        min-height: 720px;
    }

    .heading-block .logo_110th {
        max-width: 510px;
        margin-left: auto;
        margin-right: auto;
    }

    .sub_title {
        width: auto;
    }

    #en_history #main_wrap > p {
        font-size: 3.7333333333vw;
        line-height: 1.6;
    }

    .en h3 {
        font-size: 34px;
        margin-bottom: 0;

    }

    .heading-block .logo_110th {
        width: 100%;

    }

    #main_wrap .box-area h2,
    #main_wrap .box-area p,
    .en section h2,
    #sub_wrap #box3 .box-area p,
    #sub_wrap #box6 .box-area p,
    #sub_wrap #box7 .box-area p {
        margin-right: auto;
        font-size: 3.7333333333vw;
        line-height: 1.6;
    }

    #en_history h2 {
        margin-bottom: 1rem;
    }

    #en_history .sub_title {
        margin-bottom: 0;
    }



    .history_box_02,
    .history_box_03 {
        padding: 80px 34px 20px;
    }

    #box7 .box-area {
        padding: 60px 60px 0;
    }

    header .d_line.s_110th.sub {
        top: 700px;
    }

    .introduce {
        width: calc(100% - 72px);
        top: 140px;

    }

    .heading-block {
        top: 80px;
    }

    .d_line.s_110th.sub {
        width: calc(100% - 72px);
        margin-left: auto;
        margin-right: auto;
    }

    .d_line.s_110th.sub.cl_t {
        margin-top: 60px;
    }

    .box_wrap {
        margin-top: -10.9rem;
    }

    #sub_wrap .box_wrap {
        margin-top: -9.6rem;
    }

    #box2,
    #box3,
    #box4,
    #box5,
    #logo_110,
    #box6,
    #box7,
    #logo_110 .box-area {
        width: auto;
        height: auto;
    }

    .en #box2 p,
    .en #box3 p,
    .en #box4 p,
    .en #box5 p,
    .en #box6 p,
    .en #box7 p,
    #logo_110 .box-area p,
    .introduce p {
        font-size: 3.7333333333vw;
        line-height: 1.6;
        letter-spacing: 0.01em;
    }

    #box2 .box-area,
    #box3 .box-area,
    #box4 .box-area,
    #box5 .box-area,
    #box6 .box-area,
    #box7 .box-area,
    #logo_110 .box-area {
        padding: 8vw 7.2vw;
    }

    #logo_110 .box-area {
        padding-top: 0;
    }

    #main_wrap .box-area h2,
    .en section h2 {
        font-size: 5.3333333333vw;
        line-height: 1.4;
    }

    main > .d_line.s_110th.sub:first-of-type {
        margin-top: 780px;
    }

    #sub_wrap {
        margin-top: 0;
    }

    #box7 {
        margin-bottom: 0;
    }

    #main_wrap .sub_title p {}

    #main_wrap .sub_title p,
    #others_wrap .sub_title p,
    #sub_wrap .sub_title p {
        font-family: Libre Bodoni;
        font-size: 20px;
        letter-spacing: 0.6rem;
    }

    .d_line.s_110th {
        margin-bottom: 0;
        margin-top: 0;
    }

    .en #sub_wrap .inner {
        margin-top: 80px;
    }

    #en_history .sub_title h3,
    #en_awards h3 {
        font-size: 34px;
        letter-spacing: 0.4rem;
    }
    
    #en_history .sub_title h3 {
        margin-bottom: 40px;
    }

    #en_awards main {
        margin-top: -0px;
    }

    .sub_title {
        margin-bottom: 2rem;
    }

    #en_awards .summary p {
        margin-bottom: 60px;
        padding-left: 34px;
        padding-right: 34px;
    }

    #main_wrap .box-area p {
        line-height: 1.85;
    }

    .en h3 {

        letter-spacing: 0.4rem;

    }
    
    .heading-block .logo_110th img {
    width: 84%;
}
    
    #en_history #main_wrap {
    margin-top: -8.2rem;
}
    
#en_awards #main_wrap {
    margin-top: -6rem;
}
}

@media screen and (max-width: 420px) {
    #en_awards #main_wrap .inner {
        width: calc(100% - 48px);
    }

    #en_history .fs .history_img_box2 {
        padding-left: 0px;
        padding-right: 0px;
        padding-bottom: 0.4rem;
        background: #fff;

    }

    .introduce {
        width: calc(100% - 14.33333vw);
        top: 60px;
        padding: 8vw 7.2vw;
    }

    .heading-block {
        top: -30px;
    }

    #en_history .fs .history_img_box2:last-of-type {
        margin-bottom: 0;
    }

    #en_history .fs .history_img_box2 p {
        /*padding-left: 1rem;
        padding-right: 1rem;*/
    }

    main > .d_line.s_110th.sub:first-of-type {
        margin-top: 400px;
    }

    #main_wrap {
        margin-top: 5rem;
    }



    .d_line.s_110th.sub.cl_t {
        margin-top: 60px;
        margin-bottom: 80px;
    }

    #sub_wrap {
        margin-top: 80px;
    }

    #sub_wrap .sub_title p {
        font-size: 20px;
        letter-spacing: 0.2em;
    }

    #en_history p {
        text-align: left;

    }

    #en_awards .chika .summary p {
        margin-bottom: 20px;
    }

    #sub_wrap .box_wrap {
        margin-top: -9.1rem;
    }

    .box_wrap {
        margin-top: -10rem;
    }

    #main_wrap .sub_title p {
        letter-spacing: 0.2rem;
    }

    #en_awards .summary p {
        padding-left: 24px;
        padding-right: 24px;
    }

    #en_awards .summary_card {
        width: calc(100% - 48px);
    }

    #main_wrap .box-area h2 {

        /*padding-left: 24px;
        padding-right: 24px;*/

    }

    .chika .btn_wrap {
        text-align: center;
        padding-left: 24px;
        padding-right: 24px;
    }

    #en_history #main_wrap .inner .history {
        padding: 80px 24px;
    }
    

    .fs {
        padding: 60px 24px;
    }

    .box-area {
        padding: 24px;
    }

    #en_history #main_wrap .inner .history:last-of-type {
        padding-bottom: 0;
    }

    .history_box_02,
    .history_box_03 {
        padding: 60px 24px 20px;
    }
    
    .introduce {
    top: 110px;
}
    
   
    
    #en_awards #main_wrap {
    margin-top: -13rem;
}
    #en_history #main_wrap {
    margin-top: -14.2rem;
}
}

@media screen and (max-width: 400px) {
     .introduce {
    top: 20px;
}
}
