@charset "utf-8";
/*------------------------------------------------------------
  common
------------------------------------------------------------ */

*{box-sizing: border-box;}
body{ background-color: #fff;}
li {list-style: none;}
img {max-width: 100%; height: auto;}
a.ico_blank::after {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    margin: 0 0.2em;
    background: url(../img/ico_blank_blue.svg) no-repeat center / contain;
    vertical-align: middle;
}

#suntory_contents .contents_wrap {
    padding: 0 0 50px;
    overflow: hidden;
}

#suntory_contents .breadcrumbs {
    margin-bottom: 22px;
}

#suntory_contents img {
    vertical-align: top;
}

#suntory_contents .contents_wrap a {
    text-decoration: none;
}

.contents_text {
    font-size: 1.25rem;/* 20px */
    line-height: 1.8;
}
.contents_text .emphasis_box {
    margin-right: 5px;
    padding: 0 5px;
    color: #D52124;
    border: 2px solid;
}

#suntory_contents .text_link a {
    display: inline-block;
    padding-left: 23px;
    color: #0068B7;
    font-size: 1.25rem;/* 20px */
    text-decoration: underline #0068B7;
    line-height: 1.8;
    position: relative;
}
#suntory_contents .text_link a::before {
    content: '';
    width: 19px;
    height: 19px;
    background: url(../img/ico_arrow_blue_01.svg) no-repeat center / contain;
    position: absolute;
    top: 0.35em;
    left: 0;
}

@media screen and (max-width: 767px) {
    #suntory_contents .contents_wrap {
        padding: 0;
    }
    #suntory_contents .breadcrumbs {
        margin: 4vw;
    }

    .contents_text {
        font-size: 1.125rem;/* 18px */
        line-height: 1.778;
    }
    #suntory_contents .text_link a {
        padding-left: 29px;
        font-size: 1.125rem;/* 18px */
        line-height: 1.778;
    }

}

/*------------------------------------------------------------
  main
------------------------------------------------------------ */

#suntory_contents .contents_wrap .report a {
    display: block;
    width: 370px;
    height: 60px;
    margin: 53px auto 53px;
    color: #fff;
    background: #0068B7;
    border: 2px solid #221815;
    border-radius: 40px;
    font-size: 18px;
    line-height: 60px;
    text-align: center;
    box-shadow: 0 3px 0 #000;
    font-weight: bold;
}

#suntory_contents .contents_wrap .report a::after {
    content: '';
    width: 10px;
    height: 10px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    float: right;
    transform: rotate(-45deg);
    margin: 1.4em 28px 0 0;
}

.wrap {
    max-width: 1164px;
    margin: 0 auto;
}

.contents_wrap>section {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    color: #221815;
}

.contents_wrap>section a[href]:hover {
    opacity: .7;
}

#suntory_contents .contents_wrap a.icon_blank {
    padding-right: 28px;
    position: relative;
    text-decoration: underline;
    color: #221815;
}

#suntory_contents .contents_wrap a.icon_blank::after {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/ico_blank.svg) no-repeat;
    width: 20px;
    height: 20px;
    right: 4px;
    bottom: 2px;
}

.-txt_indent {
    padding-left: 1em;
    text-indent: -1em;
}

ruby[data-ruby] {
    position: relative;
}

ruby[data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -1em;
    left: 0;
    right: 0;
    margin: auto;
    font-size: 0.5em;
}

ruby[data-ruby] rt {
    display: none;
}

ruby.ruby_lsw {
    letter-spacing: .25em;
    padding-left: .15em;
    padding-right: .1em;
}

ruby.ruby_lsw::before {
    letter-spacing: normal;
    padding-left: 0;
    padding-right: 0;
    margin-left: -.5em;
}
ruby {
    text-align: center;
}

ruby[data-ruby]::before {
    top: -1.5em;
    font-size: 0.4em;
    width: 130%;
    left: -15%;
    white-space: nowrap;
}

@media screen and (min-width:768px) {
    .forSP {
        display: none !important;
    }
    .flexcontainer {
        display: flex;
    }
    .fatten {
        padding-left: .25em;
        padding-right: .25em;
    }
}

@media print {
    .forSP {
        display: none !important;
    }
    .flexcontainer {
        display: flex;
        flex-wrap: wrap;
    }
}

@media screen and (max-width:767px) {
    #suntory_contents .contents_wrap .report a {
        display: block;
        width: 340px;
        height: 60px;
        margin: 36px auto 36px;
        color: #fff;
        background: #0068B7;
        border: 2px solid #221815;
        border-radius: 40px;
        font-size: 18px;
        line-height: 58px;
        text-align: center;
        box-shadow: 0 3px 0 #000;
        font-weight: bold;
}

    #suntory_contents .contents_wrap .report a::after {
        content: '';
        width: 10px;
        height: 10px;
        border-right: 2px solid #fff;
        border-bottom: 2px solid #fff;
        float: right;
        transform: rotate(-45deg);
        margin: 1.3em 28px 0 0;
}

    .wrap {
        padding: 0 5.333vw;
    }    
    .forPC {
        display: none !important;
    }
    #suntory_contents .contents_wrap a.icon_blank::after {
        width: 18px;
        height: 18px;
        background-size: 18px 18px;
    }
    ruby[data-ruby] {
        white-space: nowrap;
    }
    ruby[data-ruby]::before {
        width: 160%;
        left: -30%;
    }
}



/*------------------------------------------------------------
  intro
------------------------------------------------------------ */
#intro {
    padding: 50px 0 146px;
}
.intro_title {
    text-align: center;
}
.intro_title .yokoku {
    display: inline-block;
    margin-right: 30px;
    vertical-align: middle;
}
.intro_title .text {
    display: inline-block;
    font-size: 1.875rem;/* 30px */
    font-weight: bold;
    vertical-align: middle;
}
.intro_title .text .date {
    font-size: 2.25rem;/* 36px */
}
.intro_title .text + .text {
    vertical-align: text-top;
}

#intro .contents_text {
    margin-top: 48px;
    text-align: center;
}

#intro .text_link {
    margin-top: 43px;
    text-align: center;
}
.anchor_list {
    display: flex;
    flex-wrap: wrap;
    margin: 55px auto 0;
    max-width: 1104px;
    border-top: 2px solid #221815;
    border-left: 2px solid #221815;
}
.anchor_list li {
    width: 33.3333%;
    border-right: 2px solid #221815;
    border-bottom: 2px solid #221815;
}
.anchor_list li > a {
    display: block;
    padding: 12px 10px 12px 59px;
    color: #221815;
    font-size: 1.125rem;/* 18px */
    line-height: 1.777;
}
.anchor_list li > a .text {
    padding-left: 29px;
    position: relative;
    vertical-align: middle;
}
.anchor_list li > a .text::before {
    content: '';
    width: 19px;
    height: 19px;
    background: url(../img/ico_arrow_orange_01.svg) no-repeat center / contain;
    position: absolute;
    top: 0.25em;
    left: 0;
}
.anchor_list li.arrow_blue > a .text::before {
    background-image: url(../img/ico_arrow_blue_02.svg);
}

/*Ph2*/
#intro {
    padding: 53px 0 185px;
}
#intro .contents_text {
    margin-top: 0;
    line-height: 2.2;
}
.anchor_list li:nth-of-type(4),
.anchor_list li:nth-of-type(5) {
    width: 50%;
}
.anchor_list li .caution {
    display: inline-block;
    margin-left: 20px;
    padding-left: 1em;
    text-indent: -1em;
    font-size: 0.875rem;/* 14px */
    line-height: 1.714;
    vertical-align: middle;
}
.anchor_list li .caution::before {
    content: '※';
}


@media screen and (max-width:767px) {
    #intro {
        padding: 38px 0 86px;
    }
    .intro_title {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
    }
    .intro_title .yokoku {
        display: inline;
        width: 90px;
        margin-right: 10px;
    }
    .intro_title .yokoku img {
        width: auto;
    }
    .intro_title .text {
        font-size: 1.375rem;/* 22px */
    }
    .intro_title .text .date {
        font-size: 1.625rem;/* 26px */
    }
    .intro_title .text + .text {
        width: 100%;
        margin-top: 2px;
        line-height: 1.545;
    }
    
    #intro .contents_text {
        margin-top: 15px;
        text-align: left;
    }
    
    #intro .text_link {
        margin-top: 15px;
        text-align: left;
    }
    .anchor_list {
        display: block;
        margin: 26px 0 0;
    }
    .anchor_list li {
        width: 100%;
        text-align: left;
    }
    .anchor_list li:nth-of-type(n + 4) {
        width: 100%;
    }
    .anchor_list li > a {
        padding: 12px 18px;
    }
    .anchor_list li > a .text::before {
        top: 0.15em;
    }

    /*Ph2*/
    #intro {
        padding-top: 36px;
    }
    #intro .contents_text {
        margin-top: 0;
        line-height: 2.111;
    }
    .anchor_list li:nth-of-type(4),
    .anchor_list li:nth-of-type(5) {
        width: 100%;
    }
    .anchor_list li .caution {
        display: block;
        margin: 8px 0 0 0;
        font-size: 0.75rem;/* 12px */
        line-height: 1.5;
    }

}


/*------------------------------------------------------------
  program_content
------------------------------------------------------------ */
#program_content {
    padding: 84px 0 86px;
    background-color: #FFFBEB;
    position: relative;
}
#program_content::before {
    content: '';
    width: 100%;
    height: 26px;
    background: url(../img/bg_program.png) repeat-x center bottom;
    position: absolute;
    top: -26px;
    left: 0;
}
.program_sec_title {
    text-align: center;
}
.program_sec_title::after {
    content: '';
    display: inline-block;
    margin-top: 18px;
    width: 100px;
    height: 10px;
    background-color: #ED9A7B;
    border-radius: 9999px;
}
#program_content .contents_text {
    margin-top: 46px;
    text-align: center;
}

#program_content .close_text {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 40px auto 0;
    width: 497px;
    height: 66px;
    background-color: #D52124;
    border-radius: 9999px;
}

.program_list {
    margin-top: 50px;
}
.program_list .program_item {
    width: 843px;
    height: 431px;
    background: url(../img/bg_program_item.png) no-repeat left top / contain;
    position: relative;
}
.program_list .program_item.type02 {
    height: 471px;
    background-image: url(../img/bg_program_item_02.png);
}
.program_list .program_item + .program_item {
    margin-top: 30px;
}
.program_list .program_item:nth-of-type(2)::after {
    content: '';
    width: 215px;
    height: 286px;
    background: url(../img/img_program_tsuruta_01.png) no-repeat center / contain;
    position: absolute;
    top: -286px;
    right: 30px;
}
.program_list .program_item:nth-of-type(4)::after {
    content: '';
    width: 203px;
    height: 274px;
    background: url(../img/img_program_tsuruta_02.png) no-repeat center / contain;
    position: absolute;
    top: 110px;
    left: -263px;
}
.program_list .program_item:nth-of-type(2n) {
    margin-left: calc(100% - 843px);
}
.program_item_inner {
    padding: 40px 24px;
}
.program_title {
    font-size: 1.875rem;/* 30px */
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
}
.program_title .sub {
    margin-right: 1em;
    font-size: 1.5rem;/* 24px */
}
.program_text {
    margin-top: 25px;
    font-size: 1.25rem;/* 20px */
    line-height: 1.8;
}
.program_item .detail_list {
    margin-top: 15px;
}
.program_item .detail_list li {
    padding-left: 16px;
    font-size: 1.25rem;/* 20px */
    line-height: 1.8;
    position: relative;
}
.program_item .detail_list li::before {
    content: '';
    width: 10px;
    height: 10px;
    background-color: #221815;
    border-radius: 50%;
    position: absolute;
    top: 0.65em;
    left: 0;
}
.program_item .detail_list dl {
    display: flex;
}
.program_item .detail_list dt {
    white-space: nowrap;
}
.program_item .caution_list {
    margin-top: 15px;
}
.program_item .caution_list li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 1rem;/* 16px */
    line-height: 1.8;
}
.program_item .caution_list li::before {
    content: '※';
}
#suntory_contents .contents_wrap .program_item .caution_list li a {
    color: #0068B7;
    text-decoration: underline;
}
.program_item .detail_link {
    display: block;
    margin: 25px auto 0;
    max-width: 340px;
    border: 2px solid #221815;
    border-radius: 9999px;
    background-color: #eb6063;
    box-shadow: 0 3px 0 #000;
    text-align: center;
}
.program_item .detail_link .link_text {
    display: block;
    padding: 15px 15px 13px;
    color: #fff;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.556;
}
.program_item .detail_link .link_text[target="_blank"]::after {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    margin: 0 0 0.2em 0.3em;
    background: url(../img/ico_blank.svg) no-repeat center / contain;
    vertical-align: middle;
}
.program_item .detail_link.inactive {
    background-color: #aaa;
}
.program_item .detail_link.inactive .link_text {
    color: #707070;
}

/*Ph2*/
#program_content {
    padding-bottom: 0;
}
.program_list {
    overflow: hidden;
    padding-bottom: 86px;
}
.program_list .program_item {
    width: 560px;
    height: auto;
    background: none;
    z-index: 1;
}
.program_list .bg_green .program_item_inner {
    background-color: #B0DC6F;
}
.program_list .bg_blue .program_item_inner {
    background-color: #8ACBE3;
}
.program_list .bg_orange .program_item_inner {
    background-color: #FFCF5A;
}
.program_list .bg_pink .program_item_inner {
    background-color: #FF9EBB;
}
.program_list .program_item::before,
.program_list .program_item::after {
    position: absolute;
    z-index: -1;
}
.program_list .program_item:nth-of-type(1)::before {
    content: '';
    width: 523px;
    height: 634px;
    background: url(../img/bg_program_deco_01.png) no-repeat center / contain;
    top: 25px;
    right: -557px;
}
.program_list .program_item:nth-of-type(2)::after {
    content: none;
}
.program_list .program_item:nth-of-type(3)::before {
    content: '';
    width: 400px;
    height: 65px;
    background: url(../img/bg_program_deco_02.png) no-repeat center / contain;
    top: -110px;
    right: 70px;
}
.program_list .program_item:nth-of-type(3)::after {
    content: '';
    width: 625px;
    height: 875px;
    background: url(../img/bg_program_deco_04.png) no-repeat center / contain;
    right: -64px;
    bottom: -926px;
}
.program_list .program_item:nth-of-type(4)::before {
    content: '';
    width: 182px;
    height: 68px;
    background: url(../img/bg_program_deco_03.png) no-repeat center / contain;
    top: -111px;
    right: 139px;
}
.program_list .program_item:nth-of-type(4)::after {
    content: none;
}
.program_list .program_item:nth-of-type(2n) {
    float: right;
    margin-top: -145px;
    margin-left: 0;
}
.program_list .program_item:nth-of-type(2n + 3) {
    margin-top: 150px;
}
.program_item_inner {
    padding: 0 0 24px;
    border: 3px solid #221815;
    position: relative;
    z-index: 1;
}
.program_title {
    padding: 27px;
}
.program_item_cont {
    padding: 30px;
    background-color: #fff;
    border-top: 3px solid #221815;
    border-bottom: 3px solid #221815;
}
.program_text {
    margin-top: 0;
}
.program_experience {
    margin-top: 15px;
    font-size: 1.25rem;/* 20px */
    line-height: 1.8;
}
.program_experience dt {
    display: inline-block;
    padding: 0 10px;
    background-color: #B0DC6F;
    border-radius: 9999px;
}
.program_experience dt:nth-of-type(n + 2) {
    margin-top: 10px;
}
.program_experience dd {
    margin-top: 2px;
}
.program_experience dd.color_green {
    color: #457400;
}
.underline {
    text-decoration: underline;
}
.program_item .caution_list li {
    font-size: 0.875rem;/* 14px */
    line-height: 1.714;
}
.program_item .img_text {
    margin-top: 35px;
    text-align: center;
}
.program_item .img_text + .detail_list {
    margin-top: 22px;
}
.program_item .detail_link {
    max-width: 385px;
    background-color: #FF815A;
}
.program_item .detail_link .link_text {
    color: #221815;
}
.link_supplement {
    margin-top: 15px;
    font-size: 0.875rem;
}
.program_item .movie_link {
    max-width: 350px;
    margin: 30px auto 0;
}
.program_item .movie_link .caution_text {
    margin-top: 10px;
    font-size: 0.875rem;/* 14px */
    line-height: 1.714;
}
.program_item .host {
    margin-top: 30px;
    text-align: center;
}
.program_item .host_text {
    margin-top: 18px;
    font-size: 0.875rem;/* 14px */
    line-height: 1.714;
}
@media screen and (max-width:1164px) {
    .program_list .program_item {
        margin: 0 auto;
    }
    .program_list .program_item + .program_item {
        margin-top: 80px;
    }
    .program_list .program_item:nth-of-type(2n) {
        float: none;
        margin: 80px auto 0;
    }
    .program_list .program_item:nth-of-type(2n + 3) {
        margin-top: 80px;
    }
    .program_list .program_item:nth-of-type(3)::after {
        right: calc((100vw - 560px + 38px) / -2);
    }
}

@media screen and (max-width:767px) {
    #program_content {
        padding: 42px 0 83px;
    }
    #program_content::before {
        background-size: 135px;
    }
    #program_content .close_text {
        margin: 40px auto 0;
        width: 100%;
        height: 44px;
    }
    .program_sec_title {
        text-align: center;
    }
    .program_sec_title img {
        width: 125.49px;
    }
    .program_sec_title::after {
        margin-top: 17px;
    }
    #program_content .contents_text {
        margin-top: 26px;
        text-align: left;
    }
    
    .program_list {
        margin-top: 27px;
    }
    .program_list .program_item,
    .program_list .program_item.sp_type01 {
        width: 100%;
        height: 145.333vw;
        background: url(../img/bg_program_item_sp01.png) no-repeat left top / contain;
    }
    .program_list .program_item.sp_type02 {
        height: 158.666vw;
        background-image: url(../img/bg_program_item_sp02.png);
    }
    .program_list .program_item.sp_type03 {
        height: 184.266vw;
        background-image: url(../img/bg_program_item_sp03.png);
    }
    .program_list .program_item:nth-of-type(2)::after {
        width: 72.1px;
        height: 96px;
        top: -23px;
        right: 0;
    }
    .program_list .program_item:nth-of-type(4)::after {
        width: 77px;
        height: 104px;
        top: -24px;
        left: 5px;
    }    
    .program_list .program_item:nth-of-type(2n) {
        margin-left: 0;
    }
    .program_item_inner {
        height: 100%;
        padding: 10.667vw 8vw;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .program_title {
        font-size: 5.866vw;
    }
    .program_title .sub {
        margin-right: 0;
        font-size: 4.8vw;
    }
    .program_text {
        /* margin-top: 4.8vw; */
        margin-top: 0;
        font-size: 4.8vw;
        line-height: 1.778;
    }
    .program_item .detail_list {
        /* margin-top: 4.2vw; */
        margin-top: 0;
    }
    .program_item .detail_list li {
        padding-left: 4.267vw;
        font-size: 4.8vw;
        line-height: 1.778;
    }
    .program_item .detail_list li::before {
        width: 2.667vw;
        height: 2.667vw;
        top: 3vw;
    }
    .program_item .caution_list {
        margin-top: 0;
    }
    .program_item .caution_list li {
        font-size: 3.733vw;
        line-height: 1.778;
    }
    .program_item .detail_link {
        margin: 0 auto 0;
        width: 100%;
        max-width: 100%;
    }
    .program_item .detail_link .link_text {
        padding: 3.8vw;
        font-size: 4.8vw;
    }

    /*Ph2*/
    #program_content {
        padding-bottom: 0;
    }
    .program_list {
        margin-top: 70px;
        overflow: initial;
        padding-bottom: 210px;
    }
    .program_list .program_item,
    .program_list .program_item.sp_type01,
    .program_list .program_item.sp_type02,
    .program_list .program_item.sp_type03 {
        width: 100%;
        height: auto;
    }
    .program_list .program_item:nth-of-type(1)::before {
        width: 176px;
        height: 161px;
        background-image: url(../img/bg_program_deco_sp_01.png);
        top: -136px;
        right: -20px;
    }
    .program_list .program_item:nth-of-type(1)::after {
        content: '';
        width: 240px;
        height: 43px;
        background: url(../img/bg_program_deco_sp_02.png) no-repeat center / contain;
        right: 37px;
        top: auto;
        bottom: -59px;
    }
    .program_list .program_item:nth-of-type(2)::after {
        content: '';
        width: 231px;
        height: 71px;
        background-image: url(../img/bg_program_deco_sp_03.png);
        top: auto;
        left: 41px;
        right: auto;
        bottom: -76px;
    }
    .program_list .program_item:nth-of-type(3)::before {
        content: none;
    }
    .program_list .program_item:nth-of-type(3)::after {
        width: 290px;
        height: 69px;
        background-image: url(../img/bg_program_deco_sp_04.png);
        right: 25px;
        bottom: -74px;
    }
    .program_list .program_item:nth-of-type(4)::before {
        width: 371px;
        height: 145px;
        background-image: url(../img/bg_program_deco_sp_05.png);
        top: auto;
        right: calc(-5.333vw - 12px);
        bottom: -153px;
    }
    .program_item_inner {
        display: block;
        padding: 0 0 24px;
    }
    .program_title {
        padding: 17px;
        font-size: 1.375rem;/* 22px */
        line-height: 1.363;
    }
    .program_title .sub {
        font-size: 1.125rem;/* 18px */
    }
    .program_item_cont {
        padding: 20px 20px 30px;
    }
    .program_text {
        font-size: 1.125rem;/* 18px */
        line-height: 1.777;
    }
    .program_experience {
        margin-top: 18px;
        font-size: 1.125rem;/* 18px */
        line-height: 1.777;
    }
    .program_experience dt:nth-of-type(n + 2) {
        margin-top: 15px;
    }
    .program_item .detail_list {
        margin-top: 15px;
    }
    .program_item .detail_list li {
        padding-left: 16px;
        font-size: 1.125rem;/* 18px */
        line-height: 1.777;
    }
    .program_item .detail_list li::before {
        width: 10px;
        height: 10px;
        top: 0.55em;
    }    
    .program_item .caution_list {
        margin-top: 15px;
    }
    .program_item .caution_list li {
        font-size: 0.75rem;/* 12px */
        line-height: 1.5;
    }
    .program_item .detail_link {
        margin-top: 30px;
    }
    .program_item .detail_link .link_text {
        padding: 14px;
        font-size: 1.125rem;/* 18px */
    }
    .program_item .movie_link .caution_text {
        margin-top: 8px;
        font-size: 0.75rem;/* 12px */
        line-height: 1.666;
    }    
    .program_item .host_text {
        font-size: 0.75rem;/* 12px */
        line-height: 2;
    }

}


/*------------------------------------------------------------
  special
------------------------------------------------------------ */
#special {
    padding: 87px 0 60px;
    background-color: #F1F7FC;
    position: relative;
}
#special::before {
    content: '';
    width: 100%;
    height: 23px;
    background: url(../img/bg_special.png) repeat-x center bottom;
    position: absolute;
    top: -23px;
    left: 0;
}
.special_title {
    text-align: center;
}
.special_title::after {
    content: '';
    display: inline-block;
    margin-top: 18px;
    width: 100px;
    height: 10px;
    background-color: #0068B7;
    border-radius: 9999px;
}

.special_balloon {
    margin-top: 48px;
    text-align: center;
}
.special_balloon picture {
    display: inline-block;
    position: relative;
}
.special_balloon picture::before {
    content: '';
    width: 77px;
    height: 110px;
    background: url(../img/img_balloon_star_01.png) no-repeat center / contain;
    position: absolute;
    top: -39px;
    left: -39px;
}
.special_balloon picture::after {
    content: '';
    width: 86px;
    height: 106px;
    background: url(../img/img_balloon_star_02.png) no-repeat center / contain;
    position: absolute;
    right: -23px;
    bottom: -3px;
}

.special_contents {
    margin-top: -89px;
    padding: 125px 30px 40px;
    border: 3px solid #221815;
    border-radius: 15px;
    background-color: #fff;
}
.special_contents_item + .special_contents_item {
    margin-top: 39px;
    padding-top: 47px;
    border-top: 2px solid #221815;
}
.special_contents_title {
    color: #0068B7;
    font-size: 1.875rem;/* 30px */

    text-align: center;
}
.special_contents_detail {
    margin-top: 23px;
}
.special_contents_detail .text {
    font-size: 1.25rem;/* 20px */
    line-height: 1.8;
}
.special_contents_detail.deco_tsuruta .text {
    padding-right: 150px;
    position: relative;
}
.special_contents_detail.deco_tsuruta .text::after {
    content: '';
    width: 126px;
    height: 221px;
    background: url(../img/img_special_tsuruta_01.png) no-repeat center / contain;
    position: absolute;
    top: 0;
    right: 0;
}
.special_contents_detail .detail_list {
    margin-top: 14px;
}
.special_contents_detail .detail_list li {
    padding-left: 16px;
    font-size: 1.25rem;/* 20px */
    line-height: 1.8;
    position: relative;
}
.special_contents_detail .detail_list li::before {
    content: '';
    width: 10px;
    height: 10px;
    background-color: #221815;
    border-radius: 50%;
    position: absolute;
    top: 0.65em;
    left: 0;
}
.special_contents_detail .detail_list dl {
    display: flex;
}
.special_contents_detail .detail_list dt {
    white-space: nowrap;
}
.special_contents_detail .notes {
    margin-top: 1em;
}
.special_contents_detail .notes li {
    padding-left: 1em;
    text-indent: -1em;
    font-size: 1.25rem;/* 20px */
    line-height: 1.8;
}
.special_contents_detail .notes li::before {
    content: '※';
}
#special .detail_link {
    display: block;
    margin: 25px auto 0;
    max-width: 340px;
    border: 2px solid #221815;
    border-radius: 9999px;
    background-color: #eb6063;
    box-shadow: 0 3px 0 #000;
    text-align: center;
}
#special .detail_link .link_text {
    display: block;
    padding: 15px 15px 13px;
    color: #fff;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.556;
}
#special .detail_link .link_text[target="_blank"]::after {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    margin: 0 0 0.2em 0.3em;
    background: url(../img/ico_blank_wh.svg) no-repeat center / contain;
    vertical-align: middle;
}
#special .detail_link.inactive {
    background-color: #aaa;
}
#special .detail_link.inactive .link_text {
    color: #707070;
}

/*Ph2*/
.special_title h2 .title_inner {
    display: inline-block;
    position: relative;
}
.special_title h2 .title_inner::before {
    content: '';
    width: 105px;
    height: 105px;
    background: url(../img/img_special_title_tsuruta.png) no-repeat left top / contain;
    position: absolute;
    top: -44px;
    left: -143px;
}
.special_balloon picture::before {
    width: 102px;
    height: 114px;
    background-image: url(../img/img_balloon_star_03.png);
    top: 17px;
    left: -66px;
}
.special_balloon picture::after {
    right: -32px;
    bottom: -12px;
}
.special_contents_detail .notes li {
    font-size: 0.875rem;/* 14px */
    line-height: 1.714;
}
.special_contents_detail .notes li.fontsize_medium {
    font-size: 1rem;/* 16px */
}

@media screen and (max-width:767px) {
    #special {
        padding: 46px 0 60px;
    }
    #special::before {
        background-size: 135px;
    }
    .special_title img {
        width: 186.29px;
    }
    .special_title::after {
        content: '';
        display: inline-block;
        margin-top: 18px;
        width: 100px;
        height: 10px;
        background-color: #0068B7;
        border-radius: 9999px;
    }
    
    .special_balloon {
        margin-top: 28px;
    }
    .special_balloon picture::before {
        width: 68px;
        height: 97px;
        top: -36px;
        left: -12px;
    }
    .special_balloon picture::after {
        width: 58px;
        height: 71px;
        right: -12px;
        bottom: -11px;
    }
    
    .special_contents {
        margin-top: -30px;
        padding: 50px 12px 28px;
    }
    .special_contents_item + .special_contents_item {
        margin-top: 29px;
        padding-top: 28px;
    }
    .special_contents_title {
        font-size: 1.3125rem;/* 21px */
        line-height: 1.545;
    }
    .special_contents_detail {
        margin-top: 18px;
    }
    .special_contents_detail .text {
        font-size: 1.125rem;/* 18px */
        line-height: 1.778;
    }
    .special_contents_detail.deco_tsuruta .text {
        padding-right: 0;
        padding-bottom: 242px;
    }
    .special_contents_detail.deco_tsuruta .text::after {
        top: auto;
        right: 50%;
        bottom: 0;
        transform: translateX(50%);
    }
    .special_contents_detail .detail_list li {
        font-size: 1.125rem;/* 18px */
        line-height: 1.778;
    }
    .special_contents_detail .detail_list dl.sp_block {
        display: block;
    }    
    .special_contents_detail .notes li {
        font-size: 1.125rem;/* 18px */
        line-height: 1.778;
    }
    #special .detail_link {
        margin: 16px auto 0;
        max-width: 275px;
    }
    #special .detail_link .link_text {
        padding: 15px;
        font-size: 1.125rem;/* 18px */
    }

    /*Ph2*/
    .special_title h2 .title_inner::before {
        width: 56px;
        height: 56px;
        background-image: url(../img/img_special_title_tsuruta_sp.png);
        position: absolute;
        top: -19px;
        left: -74px;
    }
    
    .special_balloon picture::before {
        width: 82px;
        height: 86px;
        background-image: url(../img/img_balloon_star_03_sp.png);
        top: -20px;
        left: -8px;
    }
    .special_contents_detail .notes li {
        font-size: 0.75rem;/* 12px */
        line-height: 1.5;
    }
    .special_contents_detail.deco_tsuruta .text {
        padding-bottom: 0;
    }
    .special_contents_detail.deco_tsuruta .text::after {
        content: none;
    }
    .special_contents_detail.deco_tsuruta .notes::after {
        content: '';
        display: block;
        background: url(../img/img_special_tsuruta_01.png) no-repeat center / contain;
        width: 126px;
        height: 221px;
        margin: 20px auto 0;
        position: static;
        transform: none;
    }
    #special .detail_link {
        margin-top: 30px;
    }

}


/*------------------------------------------------------------
  untilnow
------------------------------------------------------------ */
#untilnow {
    padding: 70px 0 60px;
    background: url(../img/bg_untilnow.png) #F1F7FC;
}
.untilnow_title {
    padding: 0 30px;
    text-align: center;
}
.untilnow_title::after {
    content: '';
    display: block;
    height: 6px;
    margin-top: 27px;
    background: url(../img/bg_untilnow_title.png) repeat-x left bottom;
}

#untilnow .contents_text{
    margin-top: 32px;
    text-align: center;
}

.untilnow_list {
    display: flex;
    flex-wrap: wrap;
    gap: 30px 36px;
    margin-top: 56px;
}
.untilnow_list_item {
    width: calc(50% - 18px);
    height: 466px;
    padding: 67px 30px 10px;
    background: url(../img/bg_past_item.png) no-repeat left top / contain;
    text-align: center;
}
.untilnow_list_item.line3 {
    height: 495px;
    background-image: url(../img/bg_past_item_02.png);
}
.untilnow_list_item .text {
    margin-top: 30px;
    font-size: 1.5rem;/* 24px */
    line-height: 1.458;
    text-align: center;
}
.untilnow_list_item .text .year {
    font-size: 1.125rem;/* 18px */
}

@media screen and (max-width:767px) {
    #untilnow {
        padding: 60px 0;
    }
    .untilnow_title {
        padding: 0;
    }
    .untilnow_title img {
        width: 282px;
    }
    .untilnow_title::after {
        margin-top: 20px;
    }
    
    #untilnow .contents_text{
        margin-top: 17px;
        text-align: left;
    }
    
    .untilnow_list {
        display: block;
        margin-top: 27px;
    }
    .untilnow_list_item {
        width: 335px;
        height: 311px;
        margin: 0 auto;
        padding: 50px 25px 30px 15px;
        background-image: url(../img/bg_past_item_sp01.png);
    }
    .untilnow_list_item.sp_line3 {
        height: 341px;
        background-image: url(../img/bg_past_item_sp02.png);
    }
    .untilnow_list_item.sp_line4 {
        height: 371px;
        background-image: url(../img/bg_past_item_sp03.png);
    }
    .untilnow_list_item + .untilnow_list_item {
        margin-top: 30px;
    }
    .untilnow_list_item .text {
        margin-top: 20px;
        font-size: 1.25rem;/* 20px */
        line-height: 1.5;
    }
    .untilnow_list_item .text .year {
        display: block;
        margin-top: 5px;
        font-size: 1rem;/* 16px */
    }
}


/*------------------------------------------------------------
  past_online
------------------------------------------------------------ */
#past_online {
    padding: 60px 0;
    background-color: #F1F7FC;
}
.past_online_title {
    text-align: center;
}
#past_online .contents_text {
    margin-top: 13px;
    text-align: center;
}
.past_online_list {
    display: flex;
    gap: 36px;
    margin-top: 56px;
}
.past_online_list_item {
    width: calc(50% - 18px);
    height: 375px;
    padding: 48px 10px 10px;
    background: url(../img/bg_online_item.png) no-repeat left top/ contain;
    position: relative;
}
.past_online_list_item:first-of-type::after {
    content: '';
    width: 143px;
    height: 207px;
    background: url(../img/img_online_tsuruta_01.png) no-repeat center / contain;
    position: absolute;
    left: -15px;
    bottom: -55px;
}
.past_online_list_item.inkstone::after {
    content: '';
    width: 132px;
    height: 101px;
    background: url(../img/img_online_inkstone.png) no-repeat center / contain;
    position: absolute;
    top: 18px;
    right: -15px;
}
.past_online_list_item .title {
    text-align: center;
}
.past_online_list_item .link_area {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 35px;
}
.past_online_list_item .link_area_item {
    width: 238px;
    border: 2px solid #221815;
    border-radius: 11px;
    background-color: #fff;
    overflow: hidden;
}
.past_online_list_item .link_area_item .text_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 70px;
    border-top: 2px solid #221815;
}
.past_online_list_item .link_area_item .text {
    padding: 10px;
    color: #221815;
    font-size: 0.9rem;
    font-weight: bold;
    line-height: 1.333;
    text-align: center;
}
.past_online_list_item .link_area_item .text .size {
    font-size: 1rem;
}
.past_online_list_item .link_area_item .text .icon {
    margin-left: 5px;
    vertical-align: middle;
}

@media screen and (max-width:767px) {
    .past_online_title img {
        width: 295.77px;
    }
    #past_online .contents_text {
        margin-top: 23px;
        padding-left: 1em;
        text-indent: -1em;
        text-align: left;
    }
    .past_online_list {
        display: block;
        margin-top: 62px;
    }
    .past_online_list_item {
        width: 335px;
        height: 403px;
        margin: 0 auto;
        padding: 50px 27px 40px;
        background-image: url(../img/bg_online_item_sp01.png);
    }
    .past_online_list_item:nth-of-type(2) {
        height: 589px;
        background-image: url(../img/bg_online_item_sp02.png);
    }
    .past_online_list_item + .past_online_list_item {
        margin-top: 30px;
    }
    .past_online_list_item:first-of-type:after {
        content: '';
        width: 75px;
        height: 108px;
        top: -16px;
        left: -6px;
        bottom: auto;
    }
    .past_online_list_item.inkstone::after {
        width: 88px;
        height: 67px;
        top: -16px;
        right: -7px;
    }    
    .past_online_list_item .link_area {
        display: block;
        margin-top: 25px;
    }
    .past_online_list_item .link_area_item {
        width: 100%;
        border: 2px solid #221815;
        border-radius: 11px;
        background-color: #fff;
        overflow: hidden;
    }
    .past_online_list_item .link_area_item + .link_area_item {
        margin-top: 20px;
    }
    .past_online_list_item .link_area_item .img img {
        width: 100%;
    }
}


/*------------------------------------------------------------
  delivery_notice
------------------------------------------------------------ */
#delivery_notice {
    background-color: #FFF6F2;
    padding: 72px 0 60px;
}
#delivery_notice .title_block {
    text-align: center;
}
#delivery_notice .title_block .title {
    display: inline-block;
    font-size: 2.125rem;
    font-weight: bold;
    position: relative;
    z-index: 1;
}
#delivery_notice .title_block .title::before {
    content: "";
    display: inline-block;
    width: 80px;
    height: 98px;
    background: url("../img/img_title_tsuruta.png") no-repeat center / contain;
    position: absolute;
    left: -119px;
    bottom: -22px;
}
#delivery_notice .title_block .title::after {
    content: "";
    width: 120%;
    height: 20px;
    background-color: #FFCC50;
    border-radius: 9999px;
    position: absolute;
    left: -10%;
    bottom: -4px;
    z-index: -1;
}
#delivery_notice .comment_box {
    margin-top:  20px;
    padding-top: 30px;
    overflow: hidden;
}
#delivery_notice .comment_box .box_inner {
    padding: 0 24px 24px;
    border: 2px solid #221815;
    border-top: none;
    background: #fff;
    text-align: center;
    position: relative;
}
#delivery_notice .comment_box .title_wrap {
    display: inline-block;
    position: absolute;
    left: 50%;
    top: -0.8em;
    transform: translate(-50%);
}
#delivery_notice .comment_box .comment_title {
    padding: 0 56px;
    position: relative;
}
#delivery_notice .comment_box .comment_title::before {
    content: "";
    display: inline-block;
    width: 9999px;
    border-top: 2px solid #221815;
    position: absolute;
    top: 0.8em;
    left: -9999px;
}
#delivery_notice .comment_box .comment_title::after {
    content: "";
    display: inline-block;
    width: 9999px;
    border-top: 2px solid #221815;
    position: absolute;
    top: 0.8em;
    right: -9999px;
}
#delivery_notice .comment_box .comment_title .title_inner {
    font-size: 1.375rem;
    font-weight: normal;
    line-height: 1.636;
    position: relative;
}
#delivery_notice .comment_box .comment_title .title_inner::before {
    content: "";
    border-style: solid;
    border-width: 31px 3px 0 3px;
    border-color: #221815 transparent transparent transparent;
    position: absolute;
    top: 0;
    left: -24px;
    transform: rotate(-43deg);
}
#delivery_notice .comment_box .comment_title .title_inner::after {
    content: "";
    border-style: solid;
    border-width: 31px 3px 0 3px;
    border-color: #221815 transparent transparent transparent;
    position: absolute;
    top: 0;
    right: -24px;
    transform: rotate(43deg);
}
#delivery_notice .comment_box .text {
    padding-top: 43px;
    font-size: 1.25rem;
    line-height: 1.8;
}

@media screen and (max-width:767px) {
    #delivery_notice {
        padding: 39px 0 40px;
    }
    #delivery_notice .title_block .title {
        font-size: 1.75rem;
        line-height: 1.428;
    }
    #delivery_notice .title_block .title::before {
        left: -99px;
        bottom: -44px;
    }
    #delivery_notice .comment_box {
        margin-top:  22px;
    }
    #delivery_notice .comment_box .box_inner {
        padding: 0 18px 18px;
        text-align: left;
    }
    #delivery_notice .comment_box .title_wrap {
        top: -0.8em;
    }
    #delivery_notice .comment_box .comment_title {
        padding: 0 49px;
        white-space: nowrap
    }
    #delivery_notice .comment_box .comment_title::before,
    #delivery_notice .comment_box .comment_title::after {
        top: 0.8em;
    }
    #delivery_notice .comment_box .comment_title .title_inner::before,
    #delivery_notice .comment_box .comment_title .title_inner::after {
        top: auto;
        bottom: 3px;
    }
    #delivery_notice .comment_box .text {
        padding-top: 68px;
    }    
}

/*------------------------------------------------------------
  sns
------------------------------------------------------------ */
#sns {
    background: url(../img/bg_sns_outer.png) repeat top left #E1EECA;
    padding: 60px 0;
}
#sns .wrap {
    position: relative;
    background: url(../img/bg_sns_box.png) repeat-x left top, url(../img/bg_sns_box.png) repeat-x left bottom, #C5E38F;
    border: 3px solid #221815;
    padding: 38px 40px 42px;
}
#sns .wrap::after {
    content: '';
    background: url(../img/img_sns_tsuruta.png) no-repeat center / contain;
    display: block;
    width: 139px;
    height: 163px;
    position: absolute;
    bottom: 7px;
    right: 30px;
}
#sns .wrap>.ico {
    position: absolute;
    right: -120px;
    top: 13px;
}
#sns .wrap .leftBox {
    text-align: center;
}
#sns .hashtags {
    font-size: 0;
}
#sns .hashtags li {
    display: inline-block;
}
#sns .hashtags li + li {
    margin-left: 12px;
}
#sns .hashtags li .text {
    padding: 0 1px;
    background-color: #FCFF9F;
    font-size: 1rem;/* 16px */
    line-height: 1.5;
}
#sns .wrap .leftBox h2 {
    display: inline-block;
    font-size: 24px;
    font-weight: bold;
    margin: 17px auto 25px;
    position: relative;
}
#sns .wrap .leftBox h2::before {
    content: '';
    width: 24.35px;
    height: 22.28px;
    background: url(../img/ico_sns_title.svg) no-repeat center / contain;
    position: absolute;
    top: -17px;
    left: -26px;
}
#sns .wrap .leftBox p {
    font-size: 20px;
    text-align: center;
}
#sns .wrap .rightBox {
    margin-top: 32px;
    display: flex;
    justify-content: center;
    gap: 51px;
}
#sns .wrap .rightBox .snsBtn {
    margin-bottom: 0;
}
#sns .wrap .rightBox .snsBtn a {
    display: -webkit-flex;
    display: flex;
    color: #221815;
    background: #fff;
    font-weight: bold;
    font-size: 18px;
    width: 220px;
    height: 56px;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    border: 3px solid #221815;
    box-shadow: 0 3px 0 #000;
    position: relative;
}
#sns .wrap .rightBox .snsBtn a .ico {
    margin-left: 6px;
    width: 30px;
    height: 30px;
    display: inline-block;
}
#sns .wrap .rightBox .snsBtn.sns_x a .ico {
    width: 26px;
    height: 26px;
    position: absolute;
    top: 50%;
    right: 21px;
    transform: translateY(-50%);
}
#sns .wrap .rightBox .snsBtn a .ico img {
    width: 100%;
}


@media screen and (max-width:767px) {
    #sns {
        padding: 60px 20px;
    }
    #sns .wrap {
        padding: 40px 17px 42px;
    }
    #sns .wrap::after {
        width: 70px;
        height: 81px;
        top: -28px;
        right: -10px;
    }
    #sns .hashtags {
        font-size: 0;
    }
    #sns .hashtags li {
        display: block;
    }
    #sns .hashtags li + li {
        margin: 8px 0 0;
    }
    #sns .hashtags li .text {
        padding: 2px;
        font-size: 0.875rem;/* 14px */
    }    
    #sns .wrap .leftBox h2 {
        margin: 23px auto;
        font-size: 1.375rem;/* 22px */
        line-height: 1.545;
    }
    #sns .wrap .leftBox h2::before {
        top: -10px;
        left: -5px;
    }
    #sns .wrap .leftBox p {
        font-size: 1.125rem;/* 18px */
    }
    #sns .wrap .rightBox {
        display: block;
        margin-top: 23px;
    }
    #sns .wrap .rightBox .snsBtn {
        text-align: center;
        margin-bottom: 0;
    }
    #sns .wrap .rightBox .snsBtn+.snsBtn {
        margin-top: 20px;
    }
    #sns .wrap .rightBox .snsBtn.sns_x a .ico {
        right: 60px;
    }
    #sns .wrap .rightBox .snsBtn a {
        width: 100%;
        max-width: 295px;
        margin: 0 auto;
    }

}


/*------------------------------------------------------------
  supplement
------------------------------------------------------------ */
#supplement {
    background: #FFF1D8;
    padding: 60px 0 70px;
}
#supplement .wrap {
    max-width: 1164px;
    margin: auto;
}
#supplement .wrap .flexcontainer {
    padding: 0;
    position: relative;
}
#supplement .wrap .flexcontainer::before {
    content: '';
    background: url(../img/img_supplement_01.png) no-repeat center / contain;
    display: block;
    width: 63px;
    height: 98px;
    position: absolute;
    top: -47px;
    left: -17px;
    z-index: 1;
}
#supplement .wrap .flexcontainer::after {
    content: '';
    background: url(../img/img_supplement_02.png) no-repeat center / contain;
    display: block;
    width: 113px;
    height: 139px;
    position: absolute;
    right: -73px;
    bottom: 0;
    z-index: 1;
}
#supplement .box {
    position: relative;
    width: 564px;
    background: #fff;
    border-radius: 10px;
    border: 3px solid #221815;
    overflow: hidden;
}
#supplement .box h2 {
    background-color: #E95515;
    color: #fff;
    text-align: center;
    padding: 28px 0;
    border-bottom: 3px solid #221815;
}
#supplement #notice {
    margin-right: 36px;
}
#supplement .box div {
    padding: 30px 37px;
}
#supplement .box div ul li {
    font-size: 1.125rem;
    line-height: 1.888;
}
#supplement .list li {
    padding-left: 16px;
    font-size: 1.25rem;
    line-height: 1.8;
    position: relative;
}
#supplement .list li::before {
    content: '';
    width: 10px;
    height: 10px;
    background-color: #221815;
    border-radius: 50%;
    position: absolute;
    top: 0.65em;
    left: 0;
}
#supplement .box div ul li ul {
    padding-right: 1em;
    padding-left: 0;
    margin-top: 10px;
}
#supplement .box div ul li ul li {
    list-style: none;
    padding-left: 0.75em;
    text-indent: -0.77em;
    font-size: 18px;
    font-weight: normal;
}
#supplement .box div ul li ul li:before {
    content: "- ";
}
#supplement #notice div ul li {
    margin-bottom: .7em;
}
#supplement .box div ul li span {
    font-size: 15px;
}
#supplement .box div p {
    font-size: 1.25rem;
    line-height: 1.5;
    text-align: left;
}
#supplement .box div .nav a,
.modal_content .nav a,
.modal_content .dl a {
    display: block;
    width: 340px;
    height: 60px;
    margin: 32px auto 0;
    color: #fff;
    background: #0068B7;
    border: 2px solid #221815;
    border-radius: 40px;
    font-size: 18px;
    line-height: 60px;
    text-align: center;
    box-shadow: 0 3px 0 #000;
    font-weight: bold;
}
.modal_content .dl a {
    background: #eb6100;
    text-align: left;
}
#supplement .wrap #archive {
    content: "";
    display: block;
    clear: both;
}

@media screen and (max-width:767px) {
    #supplement {
        padding: 60px 0;
    }
    #supplement .wrap .flexcontainer::before {
        width: 38px;
        height: 59px;
        top: -28px;
        left: -10px;
    }
    #supplement .wrap .flexcontainer::after {
        width: 61px;
        height: 75px;
        right: -11px;
        bottom: -30px;
    }
    #supplement .box {
        width: 100%;
    }
    #supplement .box h2 {
        padding: 24px 0;
    }
    #supplement .box .text_area {
        padding: 20px 20px 25px;
    }
    #supplement #notice div ul li,
    #supplement .box div ul li {
        font-size: 1.125rem;
        line-height: 1.444;
    }
    #supplement .box div p {
        font-size: 1.125rem;
        line-height: 1.444;
    }
    #supplement .box div ul li + li {
        margin-top: 10px;
    }
    #supplement #notice h2 img {
        width: 211px;
    }
    #supplement #educational {
        margin-top: 20px;
    }
    #supplement #educational h2 img {
        width: 235px;
    }
    #supplement .box div .nav {
        position: initial;
        margin: 30px auto 0;
    }
    #supplement .box div .nav a {
        width: 100%;
        max-width: 295px;
    }
}


/*------------------------------------------------------------
  archive
------------------------------------------------------------ */
#archive {
    width: 1110px;
    margin: 67px auto 0;
    text-align: center;
}

#archive p {
    font-size: 20px;
    margin-bottom: 20px;
    line-height: 1.5;
}

#archive h2 {
    margin-bottom: 27px;
    font-size: 24px;
    color: #0068B7;
    font-weight: bold;
}

#archive ul {
    max-width: 810px;
    margin: 0 auto 10px;
    text-align: left;
}

#archive ul li {
    padding: 0 14px 0 12px;
    position: relative;
    margin-bottom: .2em;
    list-style: none;
    display: inline-block;
    margin-bottom: 10px;
}

#archive ul li:after {
    content: "";
    width: 1px;
    height: 70%;
    background: #0068B7;
    display: inline-block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translate(0, -60%);
}

#archive ul li:last-child:after {
    display: none;
}

#archive ul li a {
    display: inline-block;
    font-size: 20px;
    color: #0068B7;
    line-height: 1;
    border-bottom: 1px solid transparent;
    padding: 2px 0;
    white-space: nowrap;
}

#archive ul li a:hover {
    text-decoration: underline;
    opacity: 1;
}

@media screen and (max-width:767px) {
    #archive {
        width: auto;
        margin: 0;
        padding: 30px 0 20px;
        border-bottom: 2px #ccc solid;
    }

    #archive .archive_wrap {
        width: 90vw;
        margin: 0 auto;
    }

    #archive p {
        font-size: 1.125rem;
        margin: 0 auto 20px;
        text-align: left;
        line-height: 1.444;
    }

    #archive h2 {
        font-size: 1.375rem;
        line-height: 1.545;
    }

    #archive ul {
        margin: 0;
        width: auto;
    }

    .wrap #archive ul li {
        padding: .8vw 2.5vw .8vw 1vw;
        border: none;
    }

    .wrap #archive ul li:nth-child(odd) {
        border-right: solid 1px #0068B7;
    }

    #archive ul li a {
        font-size: 1rem;
    }
}


/* 終了対応 20240708 */
.end_text {
    max-width: 300px;
    margin: 35px auto;
    padding: 10px 20px;
    background-color: #D52124;
    text-align: center;
}