@charset "utf-8";

/*------------------------------------------------------------
  common
  ------------------------------------------------------------ */

#suntory_contents .contents_wrap {
    padding: 0 0 50px;
}

#suntory_contents .breadcrumbs {
    margin-bottom: 22px;
}

@media screen and (max-width: 767px) {
    #suntory_contents .contents_wrap {
        padding: 0;
    }
    #suntory_contents .breadcrumbs {
        margin: 4vw;
    }
}

#suntory_contents img {
    vertical-align: top;
}

#suntory_contents .contents_wrap a {
    text-decoration: none;
}

/*------------------------------------------------------------
  main
  ------------------------------------------------------------ */

.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;
}

@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) {
    .wrap {
        padding: 0;
    }    
    .forPC {
        display: none !important;
    }
    #suntory_contents .contents_wrap a.icon_blank::after {
        width: 18px;
        height: 18px;
        background-size: 18px 18px;
    }
}


/*------------------------------------------------------------
  keyVisual
  ------------------------------------------------------------ */
#key {
    padding-bottom: 45px;
    background-color: #fff;
}
#key .title {
    padding-left: 19px;
    background-image: url("../img/bg_mv_pc.png");
    background-repeat:no-repeat;
    background-position: top center;
    background-size: cover;
    text-align: center;
}
#key .key_note {
    width: 711px;
    margin: 30px auto 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 24px;
    height: 75px;
    padding: 0 50px;
    border: 3px solid #D52124;
    border-radius: 15px;
}
#key .key_note_color {
    color: #D52124;
}
#key .text_area {
    margin-top: 38px;
    position: relative;
}
#key .text_area .yokoku {
    padding-top: 8px;
    font-size: 1.875rem;
    font-weight: bold;
    line-height: 1.333;
    text-align: center;
}
#key .text_area .yokoku .icon {
    display: inline-block;
    width: 88px;
    height: 88px;
    margin-right: 25px;
    padding: 23px 0;
    background: #EB6063;
    border: 4px solid #231812;
    border-radius: 9999px;
    font-size: 1.75rem;
    text-align: center;
    color: #fff;
    transform: translateY(-8px);
    vertical-align: baseline;
    box-sizing: border-box;
}
#key .text_area .yokoku .date {
    font-size: 2.5rem;
    vertical-align: baseline;
}
#key .text_area .detail_text {
    margin-top: 6px;
    font-size: 1.5rem;
    line-height: 1.5;
    text-align: center;
}
#key .text_area .link {
    margin-top: 26px;
}
#key .text_area .link {
    text-align: center;
}
#key .text_area .link::before {
    content: "";
    display: inline-block;
    margin-right: 10px;
    width: 15px;
    height: 15px;
    background: url("../img/ico_arrow_01.svg") no-repeat center;
    vertical-align: middle;
}
#key .text_area .link a {
    font-size: 1.25rem;
    line-height: 1.8;
    color: #0068B7;
    text-decoration: underline;
    vertical-align: middle;
}

@media screen and (max-width:767px) {
    #key {
        padding-bottom: 0;
    }
    #key .wrap {
        padding: 0 13px;
    }
    #key .title {
        padding: 0;
        background-image: none;
    }
    #key .title img {
        width: 100%;
    }
    #key .text_area {
        margin-top: 32px;
    }
    #key .text_area .yokoku {
        padding: 9px 0 15px 90px;
        border-bottom: 1px solid #FFDD8B;
        font-size: 1.25rem;
        line-height: 1.6;
        text-align: left;
        position: relative;
    }
    #key .text_area .yokoku .icon {
        padding: 14px 0;
        width: 69px;
        height: 69px;
        border-width: 3px;
        font-size: 1.4375rem;
        position: absolute;
        top: 17px;
        left: 5px;
        transform: none;
    }
    #key .text_area .yokoku .date {
        font-size: 1.75rem;
    }
    #key .text_area .detail_text {
        margin-top: 20px;
        padding: 0 7px;
        font-size: 1.25rem;
        line-height: 1.6;
        text-align: left;
    }
    #key .text_area .link {
        margin: 17px 7px 0;
        text-align: left;
        padding-left: 25px;
        text-indent: -25px;
    }
    #key .text_area .link::before {
        top: 6px;
    }
    #key .text_area .link a {
        font-size: 1.125rem;
        line-height: 1.555;
    }
    #key .key_note {
        display: block;
        width: calc(100% - 40px);
        margin: 20px auto 0;
        font-size: 20px;
        line-height: 1.636;
        height: auto;
        padding: 6px 0;
        text-align: center;
    }
}


/*------------------------------------------------------------
  intro
  ------------------------------------------------------------ */
  #intro {
    padding: 0;
}

#intro .wrap {
    max-width: 1164px;
    margin: 0 auto;
    padding: 0 0 45px;
    position: relative;
}

#intro .wrap p {
    font-size: 1.5rem;
    line-height: 1.666;
    text-align: center;
}

#intro .wrap p ruby[data-ruby]::before {
    top: -1.2em;
}

ruby {
    text-align: center;
}

ruby[data-ruby]::before {
    top: -.8em;
    font-size: 0.4em;
    width: 130%;
    left: -15%;
    white-space: nowrap;
}

@media screen and (max-width:767px) {
    ruby[data-ruby] {
        white-space: nowrap;
    }
    ruby[data-ruby]::before {
        top: -1em;
        width: 160%;
        left: -30%;
    }

    #intro .wrap p ruby[data-ruby]::before {
        top: -1.5em;
    }

    .wrap {
        width: 90vw;
        margin: 0 auto;
    }

    #intro .wrap {
        width: auto;
        padding: 30px 20px;
    }

    #intro .wrap p,
    .contents_wrap>section>.wrap p {
        font-size: 1.25rem;
        line-height: 1.8;
        text-align: left;
    }

    #intro .wrap p {
        margin-bottom: 0;
    }

    .ico img {
        width: 100%;
    }
}


/*------------------------------------------------------------
  program_content
  ------------------------------------------------------------ */
#program_content {
    background-color: #E8F3F1;
    background-image: url("../img/bg_program_content_01_pc.png");
    background-position: top 100px center;
    background-repeat: no-repeat;
    padding: 5px 0 60px;
}

#program_content .program_menu_outer {
    display: flex;
    padding: 55px 0 60px;
}

#program_content .program_menu_outer + .program_menu_outer {
    padding-top: 0;
}

#program_content .program_menu_outer .program_txt, #program_content .program_menu_outer .program_nav {
    width: 50%;
}

#program_content .program_menu_outer .program_txt {
    text-align: center;
}

#program_content .program_menu_outer .program_txt .program_txt_head {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}
#program_content .program_menu_outer.program_menu_inside .program_txt .program_txt_head .program_txt_head_left {
    width: 343px;
}
#program_content .program_menu_outer .program_txt .program_txt_head .program_txt_head_right {
    margin: 0 0 -10px 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 131px;
    height: 73px;
    background-color: #D52124;
    border-radius: 15px;
}
#program_content .program_menu_outer .program_txt .program_txt_head .program_txt_head_right img {
    width: 78px;
    height: auto;
    margin: 0 5px;
}
#program_content .program_menu_outer.program_menu_inside .program_txt .date img {
    width: 229px;
    height: auto;
}
#program_content .program_menu_outer.program_menu_online .program_txt .date img {
    width: 264px;
    height: auto;
}

#program_content .program_menu_outer .program_txt .title {
    display: inline-block;
    font-size: 2.125rem;
    font-weight: bold;
    position: relative;
    z-index: 1;
}

#program_content .program_menu_outer .program_txt .title::after {
    content: "";
    width: 110%;
    height: 20px;
    background-color: #ACD6B3;
    border-radius: 9999px;
    position: absolute;
    left: -5%;
    bottom: -10px;
    z-index: -1;
}

#program_content .program_menu_outer.program_menu_inside .program_txt .title::after {
    background-color: #FFD966;
}

#program_content .program_menu_outer .program_txt .detail {
    font-size: 1.25rem;
    line-height: 1.8;
    margin-top: 20px;
}

#program_content .program_menu_outer .program_txt .detail span {
    color: #D52124;
}

#program_content .program_menu_outer .program_nav {
    display: flex;
    justify-content: center;
    align-items: center;
}

#program_content .program_menu_outer .program_nav .list {
    width: 342px;
    padding: 4px 17px;
    border: 3px solid #221815;
    background-color: #fff;
}

#program_content .program_menu_outer .program_nav .list .item {
    padding: 16px 0;
    list-style: none;
}

#program_content .program_menu_outer .program_nav .list .item + .item {
    border-top: 2px solid #221815;
}

#program_content .program_menu_outer .program_nav .list .item a {
    display: block;
    padding-right: 32px;
    font-size: 1.125rem;
    color: #221815;
    position: relative;
}

#program_content .program_menu_outer .program_nav .list .item a::after {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    background: url(../img/ico_arrow_02.svg) no-repeat center / contain;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-13px);
}

#program_content .program_menu_outer.program_menu_inside .program_nav .list .item a::after {
    background: url(../img/ico_arrow_03.svg) no-repeat center / contain;
}

#program_content .title_block {
    text-align: center;
}
#program_content .title_block .title {
    display: inline-block;
    font-size: 2.125rem;
    font-weight: bold;
    position: relative;
    z-index: 1;
}
#program_content .title_block .title::after {
    content: "";
    width: 110%;
    height: 20px;
    background-color: #ACD6B3;
    border-radius: 9999px;
    position: absolute;
    left: -5%;
    bottom: -10px;
    z-index: -1;
}
#program_content #ttl_inside_program.title_block .title::after {
    background-color: #FFD966;
}
#program_content .lead_text {
    margin-top: 40px;
    text-align: center;
}
#program_content .lead_text .text {
    font-size: 1.25rem;
    line-height: 1.8;
}
#program_content .lead_text .text .red {
    font-weight: normal;
    color: #D52124;
    text-decoration: underline;
}
#program_content .anchor_block {
    margin-top: 29px;
    padding: 24px 23px 22px;
    border: 3px solid #221815;
    background-color: #fff;
}
#program_content .anchor_block .anchors {
    display: flex;
    justify-content: center;
}
#program_content .anchor_block .anchors li {
    padding: 8px 30px 3px;
    border-left: 2px solid #221815;
    list-style: none;
}
#program_content .anchor_block .anchors li:first-of-type {
    border: none;
}
#program_content .anchor_block .anchors li a {
    display: block;
    padding-right: 32px;
    font-size: 1.25rem;
    color: #221815;
    position: relative;
}
#program_content .anchor_block .anchors li a::after {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    background: url("../img/ico_arrow_02.svg") no-repeat center / contain;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-13px);
}
#program_content .program_box {
    margin-top: 30px;
    border: 3px solid #221815;
    border-radius: 15px;
    position: relative;
}
#program_content #exhibition.program_box {
    margin-top: 0;
}
#program_content .anchor_block + .program_box {
    margin-top: 60px;
}
#program_content .program_box .title_block {
    display: flex;
    min-height: 102px;
    padding: 13px 30px 9px;
    background-color: #fff;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    border-radius: 15px 15px 0 0;
}
#program_content .program_box .title_block .title {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 1.875rem;
    line-height: 1.333;
}
#program_content .program_box .title_block .title::after {
    content: none;
}
#program_content .program_box .title_block .title span {
    font-size: 1.5rem;
}
#program_content .program_box .title_block .title .program_title {
    padding-left: 15px;
    font-size: 1.875rem;
    color: #D52124;
    text-align: left;
}
#program_content .program_box .text_area {
    padding: 30px;
    background-color: #FFD966;
    border-radius: 0 0 15px 15px;
}
#program_content .program_box .text_area .text {
    font-size: 1.25rem;
    line-height: 1.8;
}
#program_content .program_box .text_area .small_text {
    font-size: 0.875rem;
    line-height: 1.7;
    margin-top: 13px;
}
#program_content .program_box .text_area .list {
    margin-top: 13px;
}
#program_content .program_box .text_area .list li {
    padding-left: 16px;
    font-size: 1.25rem;
    line-height: 1.8;
    list-style: none;
    position: relative;
}
#program_content .program_box .text_area .list li::before {
    content: "";
    display: inline-block;
    margin: 0 6px 3px 0;
    width: 10px;
    height: 10px;
    background-color: #221815;
    border-radius: 9999px;
    position: absolute;
    top: 0.55em;
    left: 0;
}
#program_content .program_box .text_area .list li dl {
    display: flex;
}
#program_content .program_box .text_area .list li dl dt {
    white-space: nowrap;
}
#program_content .program_box .text_area .annotation {
    margin-top: 14px;
}
#program_content .program_box .text_area .annotation li {
    font-size: 0.875rem;
    line-height: 1.7;
    list-style: none;
    padding-left: 1em;
    text-indent: -1em;
}
#program_content .program_box .text_area .annotation li::before {
    content: "※";
    display: inline;
}
#program_content .program_box .text_area .detail_link {
    display: block;
    margin: 26px auto 0;
    max-width: 385px;
    border: 2px solid #221815;
    border-radius: 9999px;
    background-color: #aaa;
    box-shadow: 0 3px 0 #000;
    text-align: center;
}
#program_content .program_box .text_area .detail_link.active {
    background-color: #eb6063;
}
#program_content .program_box .text_area .detail_link .button_text {
    display: inline-block;
    padding: 15px 15px 13px;
    color: #707070;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 1.556;
}
#program_content .program_box .text_area .detail_link.active .button_text {
    color: #fff;
}
#suntory_contents .program_box .text_area .detail_link_blank .button_text {
    padding-right: 25px;
    margin-right: 10px;
    position: relative;
}

#suntory_contents .program_box .text_area .detail_link_blank .button_text::after {
    position: absolute;
    display: block;
    content: '';
    background: url(../img/ico_blank_wh.svg) no-repeat;
    width: 20px;
    height: 20px;
    right: 0;
    top: 50%;
    transform: translateY(-9px);
}

#suntory_contents .program_box .text_area .detail_link_blank .button_text {
    padding-right: 25px;
    margin-right: 10px;
    position: relative;
}

#suntory_contents .program_box .text_area .detail_link_arrow {
    position: relative;
}

#suntory_contents .program_box .text_area .detail_link_arrow::after {
    position: absolute;
    right: 22px;
    top: 50%;
    display: block;
    content: '';
    width: 11px;
    height: 11px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    border-radius: 1px;
    transform: translateY(-50%) rotate(45deg); 
}

#program_content .program_box .text_area .area_img {
    width: 197px;
    position: relative;
    bottom: 60px;
    float: right;
    margin-left: 20px;
}

#program_content .program_box .text_area .area_img img {
    width: 100%;
    height: auto;
}

#program_content .program_box .sub_box {
    display: flex;
    justify-content: space-between;
}

#program_content #program02.program_box::after {
    content: '';
    background: url(../img/img_program02.png) no-repeat;
    background-size: cover;
    display: block;
    width: 148px;
    height: 197px;
    position: absolute;
    bottom: 0;
    right: -52px;
}

#program_content #ttl_inside_program.title_block {
    border-top: 2px solid #221815;
    padding: 70px 0 30px;
}
#program_content #ttl_online_program.title_block {
    margin-top: 120px;
}
#program_content #ttl_online_program.title_block .date img {
    width: 264px;
    height: auto;
}

#program_content #ttl_inside_program.title_block .text,
#program_content #ttl_online_program.title_block .text {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 40px auto 0;
    width: 497px;
    height: 66px;
    background-color: #D52124;
    border-radius: 9999px;
}
#program_content #ttl_inside_program.title_block .text img,
#program_content #ttl_online_program.title_block .text img {
    width: 185px;
    height: auto;
}

#program_content #online_program01.program_box {
    background-color: #CCE9D1;
}

#program_content #online_program01.program_box::after {
    content: '';
    background: url(../img/img_online_program01.png) no-repeat;
    background-size: cover;
    display: block;
    width: 233px;
    height: 175px;
    position: absolute;
    top: -157px;
    left: 30px;
}

#program_content #online_program01.program_box .text_area, #program_content #online_program02.program_box .text_area {
    background-color: #CCE9D1;
    text-align: center;
}

#program_content #online_program01.program_box .text_area .text + .text {
    margin-top: 20px;
}

#program_content #online_program01.program_box .sub_box {
    background-color: #CCE9D1;
    padding: 0 30px;
}

#program_content #online_program01.program_box .sub_box .program_box {
    max-width: 450px;
    margin: 0 auto;
    overflow: hidden;
}

#program_content #online_program01.program_box .sub_box .program_box:first-child {
    margin-right: 44px;
}

#program_content #online_program01.program_box .sub_box .program_box .thumb_outer .thumb_link img {
    width: 100%;
    height: auto;
}

#program_content #online_program01.program_box .sub_box .program_box .text_area {
    background-color: #fff;
    padding: 30px 40px 25px;
}

#program_content #online_program01.program_box .sub_box .program_box .text_area .text {
    font-size: 1.5rem;
    line-height: 1.458;
    font-weight: bold;
}

#program_content #online_program01.program_box .sub_box .program_box .text_area .small_text {
    font-size: 1.25rem;
    line-height: 1.45;
}

#program_content #online_program01.program_box .sub_box .program_box .text_area .detail_link {
    max-width: 290px;
}

#program_content #online_program01.program_box .program_info {
    padding: 30px;
    text-align: center;
    font-size: 0.875rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

#program_content #online_program01.program_box .program_info .program_info_txt {
    margin-right: 20px;
    display: inline-block;
}

#program_content #online_program01.program_box .program_info .program_info_img {
    width: 198px;
    display: inline-block;
}

#program_content #online_program01.program_box .program_info .program_info_txt img {
    width: 100%;
}

#program_content #online_program02.program_box::after {
    content: '';
    background: url(../img/img_online_program02.png) no-repeat;
    background-size: cover;
    display: block;
    width: 126px;
    height: 99px;
    position: absolute;
    bottom: 0;
    right: -92px;
}

#program_content #online_program02.program_box .text_area .thumbnail {
    margin-bottom: 34px;
    text-align: center;
}

#program_content #online_program02.program_box .text_area .thumbnail .thumbnail_link img {
    max-width: 100%;
    height: auto;
}

#program_content #online_program02.program_box .text_area .title {
    font-size: 1.5rem;
    line-height: 1.458;
}

#program_content #online_program02.program_box .text_area .text {
    margin-top: 10px;
}

#program_content #online_program02.program_box .text_area .detail_link {
    max-width:290px;
}

#program_content #online_program02.program_box .text_area .detail_link {
    background-color: #0068B7;
}

@media screen and (max-width:767px) {
    #program_content {
        margin-top: 0;
        background-image: url(../img/bg_program_content_01_sp.png);
        background-position: top 79px center;
        background-size: 100% auto;
        background-repeat: no-repeat;
        padding: 69px 0 70px;
    }
    #program_content .program_menu_outer {
        display: block;
        padding: 0 0 30px;
    }
    #program_content .program_menu_outer + .program_menu_outer {
        padding: 30px 0 70px;
    }
    #program_content .program_menu_outer .program_nav {
        margin-top: 30px;
    }
    #program_content .program_menu_outer .program_txt, #program_content .program_menu_outer .program_nav {
        width: auto;
    }
    #program_content .program_menu_outer .program_txt .date {
        text-align: center;
    }
    #program_content .program_menu_outer.program_menu_inside .program_txt .date img {
        width: 177px;
        height: auto;
    }
    #program_content .program_menu_outer.program_menu_online .program_txt .date img {
        width: 193px;
        height: auto;
    }
    #program_content .program_menu_outer.program_menu_inside .program_txt .title img {
        width: 190px;
        height: auto;
    }
    #program_content .program_menu_outer.program_menu_online .program_txt .title img {
        width: 200px;
        height: auto;
    }
    #program_content .program_menu_outer .program_txt .detail {
        text-align: left;
        margin-top: 30px;
    }
    #program_content .program_menu_outer.program_menu_online .program_txt .title {
        font-size: 1.75rem;
    }
    #program_content .program_menu_outer .program_txt .title::after {
        height: 16px;
        bottom: 0;
    }
    #program_content .program_menu_outer .program_txt .program_txt_head {
        justify-content: space-around;
    }
    #program_content .program_menu_outer.program_menu_inside .program_txt .program_txt_head .program_txt_head_left {
        width: auto;
    }
    #program_content .program_menu_outer .program_txt .program_txt_head .program_txt_head_right {
        margin: 0 0 0px 30px;
        width: 102px;
        height: 69px;
        margin-left: 30px;
    }
    #program_content .program_menu_outer.program_menu_online .program_txt .program_txt_head .program_txt_head_right {
        margin-left: 20px;
    }
    #program_content .title_block .title {
        font-size: 1.75rem;
    }
    #program_content .title_block .title::after {
        bottom: -10px;
    }
    #program_content .lead_text {
        margin-top: 36px;
        text-align: left;
    }
    #program_content .anchor_block {
        margin-top: 30px;
        padding: 14px;
    }
    #program_content .anchor_block .anchors {
        flex-wrap: wrap;
    }
    #program_content .anchor_block .anchors li {
        display: flex;
        width: 50%;
        margin-top: 25px;
        padding: 0 0 0 16px;
        border: none;
        box-sizing: border-box;
        align-items: center;
        justify-content: center;
    }
    #program_content .anchor_block .anchors li:nth-of-type(-n + 2) {
        margin-top: 0;
    }
    #program_content .anchor_block .anchors li:nth-of-type(2n + 1) {
        padding: 0 16px 0 0;
        border-right: 2px solid #221815;
    }
    #program_content .anchor_block .anchors li a {
        padding-right: 25px;
        font-size: 0.9375rem;
        line-height: 1.333;
    }
    #program_content .anchor_block .anchors li a::after {
        width: 19px;
        height: 19px;
        transform: translateY(-10px);
    }
    #program_content .program_box {
        margin-top: 16px;
    }
    #program_content .anchor_block + .program_box {
        margin-top: 40px;
    }
    #program_content .program_box .title_block {
        display: block;
        min-height: auto;
        padding: 17px 20px 21px;
    }
    #program_content .program_box .title_block .title {
        display: block;
        font-size: 1.375rem;
        line-height: 1.5;
    }
    #program_content .program_box .title_block .title span {
        display: block;
        font-size: 1rem;
        line-height: 1.875;
        text-align: center;
    }
    #program_content .program_box .title_block .title .program_title {
        padding-left: 0;
        font-size: 1.375rem;
        line-height: 1.5;
        text-align: center;
    }
    #program_content .program_box .title_block .title .program_title .sub ruby[data-ruby]::before {
        top: -1.7em;
    }
    #program_content .program_box .text_area {
        padding: 20px 17px 27px;
    }
    #program_content .program_box .text_area .text {
        font-size: 1.125rem;
        line-height: 1.888;
    }
    #program_content .program_box .text_area .small_text {
        font-size: 0.75rem;
        line-height: 1.5;
        margin-top: 13px;
    }
    #program_content .program_box .text_area .area_img {
        float: none;
        position: initial;
        margin: 20px auto 4px;
    }
    #program_content .program_box .text_area .list {
        margin-top: 16px;
    }
    #program_content .program_box .text_area .list li {
        font-size: 1.125rem;
        line-height: 1.888;
    }
    #program_content .program_box .text_area .list li::before {
        margin: 2px 6px 3px 0;
    }
    #program_content .program_box .text_area .annotation {
        margin-top: 16px;
    }
    #program_content .program_box .text_area .annotation li {
        font-size: 0.75rem;
        line-height: 1.5;
    }
    #program_content .program_box .text_area .detail_link {
        margin: 30px auto 0;
        max-width: 295px;
    }
    #program_content .program_box .text_area .detail_link .button_text {
        padding: 0;
        line-height: 1.111;
        height: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    #program_content .program_box .text_area .detail_link_blank .button_text {
        height: auto;
        display: inline-block;
        line-height: 60px;
        padding-right: 22px;
        margin-right: 0;
    }
    #program_content .program_box .text_area .detail_link_blank .button_text::after {
        width: 17px;
        height: 17px;
        background-size: cover;
        transform: translateY(-50%);
    }
    #program_content #ttl_inside_program.title_block {
        padding-top: 80px;
    }
    #program_content #ttl_online_program.title_block {
        margin-top: 70px;
    }
    #program_content #ttl_online_program.title_block .date {
        text-align: center;
    }
    #program_content #ttl_online_program.title_block .date img {
        width: 240px;
        height: auto;
    }
    #program_content #ttl_online_program.title_block .title::after {
        height: 16px;
        bottom: -6px;
    }
    #program_content #ttl_online_program.title_block .title img{
        width: 274px;
        height: auto;
    }
    #program_content #ttl_inside_program.title_block .text,
    #program_content #ttl_online_program.title_block .text {
        margin: 40px auto 0;
        width: 100%;
        height: 44px;
    }
    #program_content #ttl_inside_program.title_block .text img,
    #program_content #ttl_online_program.title_block .text img {
        width: 139px;
        height: auto;
    }

    #program_content .program_box .sub_box {
        display: block;
    }

    #program_content #online_program01.program_box {
        margin-top: 30px;
    }

    #program_content #online_program01.program_box .sub_box {
        padding: 0 17px;
    }

    #program_content #online_program01.program_box .sub_box .program_box {
        max-width: 100%;
    }
    #program_content #online_program01.program_box .sub_box .program_box:first-child {
        margin-right: auto;
    }
    #program_content #online_program01.program_box .sub_box .program_box + .program_box {
        margin-top: 20px;
    }

    #program_content #online_program01.program_box::after {
        width: 92px;
        height: 69px;
        left: -14px;
        top: 100px;
    }

    #program_content #online_program01.program_box .sub_box .program_box .text_area .text {
        font-size: 1.25rem;
        line-height: 1.5;
        text-align: center;
    }

    #program_content #online_program01.program_box .sub_box .program_box .text_area .text + .text {
        margin-top: 0;
    }

    #program_content #online_program01.program_box .sub_box .program_box .text_area .small_text {
        margin-top: 20px;
        font-size: 1.125rem;
        line-height: 1.444;
        text-align: center;
    }

    #program_content #online_program01.program_box .sub_box .program_box .text_area {
        padding: 20px 2px 25px;
    }
    #program_content #online_program01.program_box .sub_box .program_box .text_area .detail_link {
        max-width: 255px;
    }

    #program_content #online_program01.program_box .program_info {
        display: block;
        padding-top: 35px;
    }
    #program_content #online_program01.program_box .program_info .program_info_txt, #program_content #online_program01.program_box .program_info .program_info_img {
        display: block;
        margin: 0 auto;
        text-align: center;
    }
    #program_content #online_program01.program_box .program_info .program_info_txt {
        font-size: .75rem;
    }
    #program_content #online_program01.program_box .program_info .program_info_img {
        margin-top: 20px;
    }

    #program_content #program02.program_box::after {
        width: 65px;
        height: 87px;
        top: 346px;
        right: -16px;
    }

    #program_content #online_program02.program_box::after {
        width: 80px;
        height: 63px;
        top: 18px;
        right: -14px;
    }

    #program_content #online_program02.program_box .text_area .thumbnail {
        margin-bottom: 25px;
    }

    #program_content #online_program02.program_box .text_area .thumbnail img {
        max-width: 295px;
        width: 100%;
    }

    #program_content #online_program02.program_box .text_area .title {
        font-size: 1.25rem;
        line-height: 1.5;
    }
    #program_content #online_program02.program_box .text_area .text {
        margin-top: 20px;
        line-height: 1.444;
        text-align: left;
    }
    #program_content #online_program02.program_box .text_area .detail_link {
        max-width:255px;
    }
}

@media screen and (max-width:375px) {
    #program_content .program_menu_outer .program_txt .program_txt_head .program_txt_head_right img {
        width: 60px;
    }
}

/*------------------------------------------------------------
  sns
  ------------------------------------------------------------ */
  #sns {
    background: url(../img/bg_sns_outer.png) repeat-x top left/cover;
    padding: 60px 0;
}

#sns .wrap {
    max-width: 843px;
    height: 236px;
    margin: 0 auto;
    position: relative;
    background: url(../img/bg_sns_frame_pc.png) no-repeat;
    background-size: 100% 100%;
    padding: 30px 40px;
    box-sizing: border-box;
}

#sns .wrap::after {
    content: '';
    background: url(../img/img_sns_tsuruta.png) no-repeat;
    background-size: cover;
    display: block;
    width: 139px;
    height: 162px;
    position: absolute;
    bottom: 0;
    right: -126px;
}

#sns .wrap>.ico {
    position: absolute;
    right: -120px;
    top: 13px;
}

#sns .wrap .leftBox {
    text-align: center;
}

#sns .wrap .leftBox h2 {
    font-size: 24px;
    font-weight: bold;
    margin: 20px auto;
}

#sns .wrap .leftBox p {
    font-size: 20px;
    text-align: center;
}

#sns .wrap .rightBox {
    margin-top: 32px;
    display: flex;
    justify-content: space-between;
}

#sns .wrap .rightBox .snsBtn {
    margin-bottom: 0;
}

#sns .wrap .rightBox .snsBtn a {
    display: -webkit-flex;
    display: flex;
    color: #221815;
    background: #FFD966;
    font-weight: bold;
    font-size: 18px;
    width: 234px;
    height: 56px;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    border: 3px solid #221815;
    box-sizing: border-box;
    box-shadow: 0 3px 0 #000;
}

#sns .wrap .rightBox .snsBtn a .ico {
    margin-left: 6px;
    width: 30px;
    height: 30px;
    display: inline-block;
}

#sns .wrap .rightBox .snsBtn a .ico img {
    width: 30px;
    height: 30px;
}

#sns .wrap .rightBox .snsBtn a img {}

@media screen and (max-width:767px) {
    #sns {
        padding: 30px 0;
    }

    #sns .wrap {
        width: 90%;
        padding: 35px 20px 26px;
        height: auto;
        background: url(../img/bg_sns_frame_sp.png) no-repeat;
        background-size: 100% 100%;
    }

    #sns .wrap::after {
        top: -26px;
        right: -9px;
        width: 69px;
        height: 80px;
    }

    #sns h2 {
        font-size: 6.4vw;
        line-height: 1.25;
        margin-bottom: 3vw;
        text-align: center;
    }

    #sns .wrap p {
        font-size: 4.8vw;
    }

    #sns .wrap>.ico {
        width: 14.93333vw;
        height: 17.33333vw;
        right: auto;
        left: 0;
        top: -12.533333vw;
    }

    #sns .wrap .leftBox {
        width: 100%;
        margin-right: 0;
    }

    #sns .wrap .leftBox h2 {
        margin: 0 auto 20px;
        font-size: 1.375rem;
        line-height: 1.545;
    }

    #sns .wrap .leftBox p {
        font-size: 1.125rem;
    }

    #sns .wrap .rightBox {
        width: 100%;
        display: block;
        margin-top: 20px;
    }

    #sns .wrap .rightBox .snsBtn {
        text-align: center;
        margin-bottom: 0;
    }

    #sns .wrap .rightBox .snsBtn+.snsBtn {
        margin-top: 20px;
    }

    #sns .wrap .rightBox .snsBtn.twitter a .ico {
        margin-left: 14px;
        margin-top: 0;
    }

    #sns .wrap .rightBox .snsBtn a {
        padding-right: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        margin: auto;
        max-width: 295px;
        border: 2px solid #221815;
        border-radius: 9999px;
        box-shadow: 0 3px 0 #000;
        text-align: center;
        width: auto;
    }

    #sns .wrap .rightBox .snsBtn a .ico {
        margin-left: 8px;
    }

    #sns .wrap .rightBox .snsBtn a img {}

}

/*------------------------------------------------------------
  exhibition
  ------------------------------------------------------------ */

#exhibition_detail {
    background: #FFF4EC;
    padding: 90px 0 60px;
}

#exhibition_detail .wrap {
    position: relative;
    width: 845px;
    box-sizing: border-box;
    border: 3px solid #221815;
    background: #FFD8D8;
}

#exhibition_detail .wrap::before {
    content: '';
    background: url(../img/img_exhibition_detail_01.png) no-repeat;
    background-size: cover;
    display: block;
    width: 97px;
    height: 86px;
    position: absolute;
    top: -32px;
    right: -120px;
}

#exhibition_detail .wrap::after {
    content: '';
    background: url(../img/img_exhibition_detail_02.png) no-repeat;
    background-size: cover;
    display: block;
    width: 95px;
    height: 92px;
    position: absolute;
    bottom: -42px;
    left: -114px;
}

#exhibition_detail .wrap p {
    text-align: left;
}

#exhibition_detail .wrap .ico {
    position: absolute;
    top: 7px;
    left: -121px;
}

#exhibition_detail .wrap .ico img {}

#exhibition_detail .wrap .ttl {
    position: relative;
    top: -30px;
    left: 50%;
    transform: translate(-50%, 0);
    text-align: center;
}
#exhibition_detail .wrap .ttl img {width: 156px;height: 56px;}

#exhibition_detail .wrap .innerBox {
    display: flex;
    justify-content: space-between;
    padding: 45px 40px 45px;
    box-sizing: border-box;
    margin-top: -60px;
    align-items: center;
}

#exhibition_detail .wrap .leftBox {
    width: 485px;
}

#exhibition_detail .wrap .leftBox .subTtl {
    font-size: 1.5rem;
    line-height: 1.458;
}

#exhibition_detail .wrap .leftBox .infoTxt {
    font-size: 1.25rem;
    margin-top: 20px;
    padding-left: 1em;
}

#exhibition_detail .wrap .leftBox .noteIndent {
    font-size: 14px;
}

#exhibition_detail .wrap .rightBox {
    width: 260px;
}

#exhibition_detail .wrap .rightBox .linkBtn {}

.contents_wrap section div a {
    transition: .3s ease;
}

#exhibition_detail .wrap .rightBox .linkBtn a {
    display: flex;
    width: 260px;
    height: 60px;
    box-sizing: border-box;
    box-shadow: 0 3px 0 #000;
    border: 3px solid #221815;
    color: #E97089;
    font-size: 18px;
    background: #fff;
    justify-content: center;
    align-items: center;
    border-radius: 100px;
    font-weight: bold;
    padding-top: 3px;
}

#exhibition_detail .wrap .rightBox .linkBtn a img {}



@media screen and (max-width:767px) {
    #exhibition_detail {
        padding: 60px 0 30px;
    }

    #exhibition_detail .wrap {
        width: 90vw;
        height: auto;
    }

    #exhibition_detail .wrap::after {
        width: 33px;
        height: 34px;
        left: -19px;
        bottom: -30px;
    }

    #exhibition_detail .wrap::before {
        right: -14px;
        top: -54px;
        width: 50px;
        height: 44px;
    }

    #exhibition_detail .wrap .ico {
        width: 21.86666vw;
        height: 26.666666vw;
        left: -4.5%;
        top: -19%;
    }

    #exhibition_detail .wrap .ico img {}

    #exhibition_detail .wrap .ttl {
        width: 156px;
        height: auto;
    }


    #exhibition_detail .wrap .ttl img {
        width: 100%;
        height: auto;
    }

    #exhibition_detail .wrap .innerBox {
        flex-wrap: wrap;
        padding: 40px 20px 25px;
    }

    #exhibition_detail .wrap .leftBox {
        width: 100%;
    }

    #exhibition_detail .wrap .leftBox .subTtl {
        font-size: 1.375rem;
        text-align: center;
        margin-bottom: 20px;
    }

    #exhibition_detail .wrap .leftBox .infoTxt {
        font-size: 1.125rem;
        line-height: 1.444;
        display: flex;
        justify-content: center;
        padding-left: 0;
    }

    #exhibition_detail .wrap .leftBox .noteIndent {
        font-size: 3.73333333vw;
        text-align: center;
    }

    #exhibition_detail .wrap .rightBox {
        width: 100%;
        margin-top: 20px;
    }

    #exhibition_detail .wrap .rightBox .linkBtn {
        text-align: center;
        margin: 0;
    }

    #exhibition_detail .wrap .rightBox .linkBtn a {
        margin: auto;
        padding: 0;
        display: flex;
        justify-content: center;
        max-width: 385px;
        border: 2px solid #221815;
        border-radius: 9999px;
        background-color: #fff;
        box-shadow: 0 3px 0 #000;
        text-align: center;
    }

    #exhibition_detail .wrap .rightBox .linkBtn a img {}
}

/*------------------------------------------------------------
  supplement
  ------------------------------------------------------------ */
  #supplement {
    background: #ECF0F0;
    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;
    background-size: cover;
    display: block;
    width: 63px;
    height: 98px;
    position: absolute;
    top: -44px;
    left: -17px;
    z-index: 1;
}

#supplement .wrap .flexcontainer::after {
    content: '';
    background: url(../img/img_supplement_02.png) no-repeat;
    background-size: cover;
    display: block;
    width: 110px;
    height: 159px;
    position: absolute;
    bottom: 0;
    right: -80px;
    z-index: 1;
}

#supplement .box {
    position: relative;
    width: 564px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 10px;
    border: 3px solid #221815;
    overflow: hidden;
}

#supplement .box h2 {
    background-color: #0068B7;
    color: #fff;
    text-align: center;
    padding: 22px 0;
    border-bottom: 3px solid #221815;
}

#supplement .box .text_area {

}

#supplement #notice {
    margin-right: 36px;
}

#supplement .box div {
    padding: 36px 38px 36px;
}

#supplement .box div ul {
    padding-left: 20px;
}

#supplement .box div ul li {
    font-size: 1.125rem;
    line-height: 1.888;
}

#supplement div ul {
    
}

#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 h4 {
    display: inline-block;
    color: #fff;
    background: #0068B7;
    padding: 0.4em 0.7em 0.3em;
    font-size: 20px;
    font-weight: bold;
    margin: 20px 0;
}

#supplement .box div p {
    font-size: 1.25rem;
    line-height: 1.5;
    text-align: left;
}

#supplement .box div .nav,
.modal_content .nav {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 100%;
}

#supplement #educational .nav {
    margin-top: 50px;
}

#supplement .box div .nav a,
.modal_content .nav a,
.modal_content .dl a {
    display: block;
    width: 340px;
    height: 60px;
    margin: auto;
    color: #fff;
    background: #EB6063;
    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: 0;
    }

    #supplement .wrap {
        width: 90vw;
    }

    #supplement .wrap .flexcontainer {
        padding: 30px 0;
    }

    #supplement .wrap .flexcontainer::before {
        width: 37px;
        height: 58px;
        top: 5px;
        left: -10px;
    }

    #supplement .wrap .flexcontainer::after {
        display: none;
    }

    /* #supplement .box {
        width: calc(100vw - 12.75vw);
        margin-top: 30vw;
        margin-bottom: 40vw;
        margin-left: 6.333vw;
        padding: 0;
        border-width: 0.8vw;
    }

    #supplement #notice {
        margin-bottom: 33vw;
    }

    #supplement #educational {
        margin-bottom: 0;
    } */

    #supplement .box {
        width: 100%;
    }

    #supplement .box .text_area {
        margin: 0;
        padding: 20px 20px 25px;
    }

    #supplement #notice div ul li,
    #supplement .box div ul li {
        font-size: 1.125rem;
        margin-bottom: 0;
        line-height: 1.444;
    }

    #supplement .box div h4 {
        font-size: 4.8vw;
        margin: 6vw auto;
    }

    #supplement .box div p {
        font-size: 1.125rem;
        line-height: 1.444;
    }

    #supplement .box div ul {
        padding-left: 1em;
    }

    #supplement .box div ul li + li {
        margin-top: 15px;
    }

    #supplement .box div ul li span {
        font-size: 3.73333vw;
    }

    #supplement #notice {
        margin-right: 0;
        width: 100%;
    }

    #supplement #notice h2,
    #supplement #educational h2 {
        top: -36vw;
        left: -1.6vw;
        right: unset;
    }

    #supplement #notice h2 {
        top: -29vw;
        left: -3.25vw;
    }

    #supplement #notice h2 img {
        width: 216px;
    }

    #supplement #educational {
        margin-top: 20px;
        overflow: initial;
    }

    #supplement #educational::after {
        content: '';
        background: url(../img/img_supplement_02.png) no-repeat;
        background-size: cover;
        display: block;
        width: 55px;
        height: 80px;
        top: 38px;
        right: -16px;
        position: absolute;
        z-index: 1;
    }

    #supplement #educational h2 {
        border-radius: 6px 6px 0 0;
    }

    #supplement #educational h2 img {
        width: 238px;
    }

    #supplement .box h2 img,
    #supplement .box h2 img {
        height: auto;
        right: unset;
        left: unset;
    }

    #supplement .box div .nav {
        position: initial;
        width: 100%;
        margin: 30px auto 0;
    }

    #supplement .box div .nav a {
        width: 100%;
        display: block;
        margin: auto;
        max-width: 295px;
        border: 2px solid #221815;
        border-radius: 9999px;
        box-shadow: 0 3px 0 #000;
        text-align: center;
    }

    #supplement .box div ul li ul li {
        font-size: 4.8vw;
    }

    #supplement #educational .nav {
        margin-top: 12vw;
    }
}

/*------------------------------------------------------------
  archive
  ------------------------------------------------------------ */
  #archive {
    width: 1110px;
    margin: 60px auto 0;
    text-align: center;
}

#archive p {
    font-size: 20px;
    margin-bottom: 20px;
    line-height: 1.5;
}

#archive h2 {
    margin-bottom: 20px;
    font-size: 24px;
    color: #0068B7;
    font-weight: bold;
}

#archive ul {
    width: 880px;
    margin: 0 auto 50px;
    list-style: none;
}

#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;
    }
}

/*------------------------------------------------------------
  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;
    }    
}

