@charset "utf-8";
/*------------------------------------------------------------
  common
------------------------------------------------------------ */

*{box-sizing: border-box;}
body{ background-color: #fff;}
li {list-style: none;}
img {max-width: 100%; height: auto;}
p,span,a{font-family: 'Noto Sans CJK JP', sans-serif;}
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: sub;
}

#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;
}


@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
------------------------------------------------------------ */

.wrap {
    position: relative;
    max-width: 1164px;
    margin: 0 auto;
}

.contents_wrap>section {
    text-align: center;
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    color: #221815;
}

.contents_wrap>section a[href]:hover {
    opacity: .7;
}

.only_sp{
    display: none!important;
}
.only_pc{
    display: block!important;
}
.both_of_them{
    display: block!important;
}
#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) {
    .wrap {
        padding: 0 5.333vw;
    }    
    #program_content .wrap{
        margin-bottom:60px;
    }
    .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 80px;
}
.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;
}

/*Ph2*/
#intro {
    padding: 53px 0 80px;
}
#intro .contents_text {
    margin-top: 0;
    line-height: 2.2;
}
.anchor_list li:nth-of-type(5) {
    width: 66.666%;
}
.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 60px;
    }
    .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(5) {
        width: 100%;
    }
    .anchor_list li .caution {
        margin: 8px 0 0 0;
        font-size: 0.75rem;/* 12px */
        line-height: 1.5;
    }

}


/*------------------------------------------------------------
  program_content
------------------------------------------------------------ */
#program_content {
    padding: 84px 0 86px;
    background: url(../img/bg_program.jpg);
    background-repeat: repeat-x;
    position: relative;
    width:100%;
    height: 1062px;
    min-height:2169px;
    z-index: 1;
}

#program_content .wrap01{
    position:relative;
    z-index: 1;
}

#program_content .wrap01::before{
    content: '';
    position: absolute;
    top: 22%;
    left: -23%;
    width: 332px;
    height: 1662px;
    background: url(../img/img_content1_bg_l.png);
    background-repeat: no-repeat;
    z-index: -1;
}

#program_content .wrap01::after{
    content: '';
    position: absolute;
    top: 51%;
    right: -23%;
    width: 332px;
    height: 100%;
    background: url(../img/img_content1_bg_r.png);
    background-repeat: no-repeat;
    z-index: -1;
}

.program_sec_title{
    text-align: center;
    margin-top: 60px;
}

.program_third_title {
    text-align: center;
    margin-top:90px;
}
.program_sec_title::after {
    content: '';
    display: inline-block;
    margin-top: 40px;
    width: 94px;
    height: 16px;
    background: url(../img/img_title_under.svg) repeat-x top;
    border-radius: 9999px;
}

.special_sec_date {
    text-align: center;
    margin-top:60px;
}
.special_sec_title {
    position: relative;
    text-align: center;
    margin-top:60px;
}

.special_sec_title::after {
    content: '';
    display: inline-block;
    margin-top: 40px;
    width: 94px;
    height: 16px;
    background: url(../img/img_title_under.svg) repeat-x top;
    border-radius: 9999px;
}

#program_content .contents_text {
    margin-top: 46px;
    text-align: center;
}

/*Ph2*/
#program_content {
    padding-bottom: 0;
}

.contents_bottom_area{
    position:relative;
}

.slider_new{
    position: relative;
    margin:60px auto 20px;
    text-align: center;
}
.slider_new img{
    max-width:218px;
}

/* slider */
.slider{
	display: none;
}
.slick-dotted.slick-slider{
    margin-bottom:0px;
}
.slider.slick-initialized{
    display: block;
    padding: 30px 0 0;
    border-radius: 15px;
    z-index: 1;
}
.slider-nav .slick-list {
	padding-top: 20px!important;
	padding-bottom: 20px!important;
}
.slider-nav .slider_item {
    max-width:480px;
	margin: 0 75px;
}

.slick-center img {
    transform: scale(1.155); 
    transition: transform 0.3s ease;
  }

.slider-nav .slider_item.slick-current {
	opacity: 1;
}
.slider-nav .slider_item a {
	display: block;
	text-align: center;
}
.slider-nav .slick-slide img {
	display: inline-block;
}
.slick-dots {
	display: none!important;
}
.slick-dots li {
	display: inline-block;
	width: 20px;
	line-height: 0;
	text-align: center;
}
.slick-dots button {
	width: 10px;
	height: 10px;
	padding: 0;
	border: none;
	outline: none;
	border-radius: 50%;
	background-color: #94E4F8;
	color: transparent;
	font-size: 0;
	line-height: 0;
}
.slick-active button {
	background-color: #fff;
}
.slick-arrow {
	position: absolute;
	top: 50%;
	width: 60px;
	height: 60px;
	padding: 0;
	border: none;
	outline: none;
	border-radius: 50%;
	color: transparent;
	font-size: 0;
	line-height: 0;
	transform: translateY(-50%);
	z-index: 9999;
}
/* .slick-prev {
	content: '';
	display: block;
	position: absolute;
    left: 0;
	top: 50%;
	left: 28.5%;
	width: 60px;
	height: 60px;
    background: url(../img/img_slide_arrow.svg) no-repeat center center;
    background-size: contain;
}

.slick-next {
    content: '';
	display: block;
	position: absolute;
    right: 0;
    transform: translateX(100%);
	top: 50%;
    right: 28.5%;
	width: 60px;
	height: 60px;
    background: url(../img/img_slide_arrow.svg) no-repeat center center;
    background-size: contain;
    transform: translateY(-50%) rotate(180deg);
} */


  .slick-prev {
    top:52%;
    left: 0;
    transform: translateY(-50%) ;
    width: 60px;
	height: 60px;
    background: url(../img/img_slide_arrow.svg) no-repeat center center;
    background-size: contain;
  }

  .slick-next {
    top:52%;
    right: 0;
    transform: translateY(-50%) translateX(100%);
    width: 60px;
	height: 60px;
    background: url(../img/img_slide_arrow.svg) no-repeat center center;
    background-size: contain;
    transform: translateY(-50%) rotate(180deg);
  }


.slick-prev:hover, .slick-prev:focus{
    background: url(../img/img_slide_arrow.svg) no-repeat center center;
    background-size: contain;
}

.slick-next:hover, .slick-next:focus{
    background: url(../img/img_slide_arrow.svg) no-repeat center center;
    background-size: contain;
    transform: translateY(-50%) rotate(180deg);
}

.slider-for {
    margin:20px auto 0px;
    padding-bottom:30px!important;
    text-align: center;
    max-width:720px;
	position: relative;
	background-color: #FFFDCB;
    border:3px solid #222222;
}
.slider-for::before {
	content: '';
	display: block;
	position: absolute;
	top: -34px;
	left: 50%;
    width:28px;
    height:35px;
    background: url(../img/img_triangle_ico.png) no-repeat center center;
    background-size: contain;
	transform: translateX(-50%);
	z-index: -1;
}
.slider-for::after{
    content: '';
    display: block;
    position: absolute;
    top: 16%;
    left: -15%;
    width: 132px;
    height: 180px;
    background: url(../img/img_bird_ico.svg) no-repeat center center;
}
.slider-for .slider_item {
	position: relative;
}

.slider_item_inner p{
    font-size:18px;
    line-height:32px;
}

.slide_number_wrap{
    display:flex;
    justify-content: flex-end;
    max-width:640px;
    margin:0 auto;
    text-align: right;
}

.slide-number {
    display:flex;
    align-items: center;
    text-align: center;
    margin-top: 10px;
    font-size: 16px;
    color: #222222;
    background: #fff;
    padding: 4px 18px;
    border-radius: 15px;
}

.slide-number .current-slide{
    font-size:18px;
}

.slide-number .total-slides{
    font-size:14px;
}

.slide-number .line_bar{
    color:#AAAAAA;
    padding-bottom: 4px;
    margin:0 8px;
    display: inline-block;
}
.author {
    max-width: 1055px;
    text-align: right;
    margin: 30px auto;
}

.author p{
    font-size:18px;
    line-height:32px;
    color:#222;
    text-align: left;
    text-indent: -3.3rem;
}

.author > div{
    display: flex;
    justify-content: flex-end;
}

.author p{
    padding-left:0rem;
}



.left_icon,
.left_icon_1,
.left_icon_3,
.right_icon,
.right_icon_1,
.right_icon_3{
    display: none;
}


@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) {
        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) {
    .slider-for {
        margin:30px auto 0px;
    }

    #program_content {
        padding: 42px 0 83px;
        background: url(../img/img_program_pattern.png) top;
        background-size:contain;
        background-repeat: no-repeat;
        height:100%;
    }
    #program_content::before {
        background-size: 135px;
    }
    .program_sec_title {
        text-align: center;
        margin-top:60px;
        padding:0 15px;
    }
    
    .program_sec_title::after {
        margin-top: 30px;
    }
    #program_content .contents_text {
        margin-top: 26px;
        text-align: left;
    }
    
    /*Ph2*/
    #program_content {
        padding-bottom: 0;
    }
}


/*------------------------------------------------------------
  special
------------------------------------------------------------ */
#special {
    padding: 87px 0 60px;
    background: url(../img/img_pattern.png);
    background-color: #DCEBF5;
    background-repeat: repeat-x;
    max-width: 100%;
    min-height: 3342px;
    position: relative;
    z-index: 1;
}

#special .wrap02{
    position:relative;
    z-index: 1;
}

#special .wrap02::before{
    content: '';
    position: absolute;
    top: 12%;
    left: -26%;
    width: 405px;
    height: 2562px;
    background: url(../img/img_content2_bg_l.png);
    background-repeat: no-repeat;
    z-index: -1;
}
#special .wrap02::after{
    content: '';
    position: absolute;
    top: 12%;
    right: -28%;
    width: 332px;
    height: 2762px;
    background: url(../img/img_content2_bg_r.png);
    background-repeat: no-repeat;
    z-index: -1;
}

.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 .detail_link {
    display: block;
    margin: 25px auto 0;
    max-width: 340px;
    border: 2px solid #221815;
    border-radius: 9999px;
    background-color: #FFA381;
    box-shadow: 0 3px 0 #000;
    text-align: center;
}
#special .detail_link .link_text {
    display: flex;
    align-items: center;
    padding: 17px 28px 15px;
    color: #222;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 28px;
}
#special .detail_link .link_text img{
    display: inline-block;
    margin-left:5px;
}

#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 .notes li {
        font-size: 1.125rem;/* 18px */
        line-height: 1.778;
    }
    #special .detail_link {
        margin: 16px auto 0;
        max-width: 285px;
    }
    #special .detail_link .link_text {
        padding: 12px;
        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;
    }
    #special .detail_link {
        margin-top: 15px;
    }

}


/*------------------------------------------------------------
  untilnow
------------------------------------------------------------ */
#untilnow {
    padding: 80px 0 10px;
    background-image: url(../img/img_pattern.png), url(../img/img_pattern_bottom.png);
    background-position: top center, bottom center;
    background-repeat: no-repeat, no-repeat;
    background-size: auto, auto; 
    background-color: #F9E1E1;
    background-size: contain;
    background-repeat: repeat-x;
    width: 100%;
    position: relative;
}

#untilnow .wrap03{
    position:relative;
    z-index: 1;
}

#untilnow .wrap03::before{
    content: '';
    position: absolute;
    top: 23%;
    left: -26%;
    width: 405px;
    height: 1262px;
    background: url(../img/img_content3_bg_l.png);
    background-repeat: no-repeat;
    z-index: -1;
}

#untilnow .wrap03::after{
    content: '';
    position: absolute;
    top: 31%;
    right: -24%;
    width: 332px;
    height: 862px;
    background: url(../img/img_content3_bg_r.png);
    background-repeat: no-repeat;
    z-index: -1;
}


.untilnow_title {
    padding: 0 30px;
    text-align: center;
    position: relative;
}
.untilnow_title::after{
    content: '';
    display: inline-block;
    margin-top: 40px;
    width: 94px;
    height: 16px;
    background: url(../img/img_title_under.svg) repeat-x top;
    border-radius: 9999px;
}

#untilnow .contents_text{
    margin-top: 32px;
    text-align: center;
}

.untilnow_list {
    display: flex;
    flex-wrap: wrap;
    max-width:1920px;
    margin-top:30px;
}

.untilnow_list > div{
    flex: 1 1 20%; 
    box-sizing: border-box; 
    padding: 10px; 
    text-align: center; 
}

.untilnow_list > div:nth-child(-n+5) {
    margin-bottom: 22px;
}

.untilnow_list > div a{
    display: inline-block;
    margin-top:10px;
    color:#0068B7;
    font-size:18px;
    font-weight:bold;
}

.untilnow_list > div a img{
    margin-left:2px;
}

.library_area {
    margin: 80px auto 0;
    text-align: center;
    background-color: #fff;
    background-image: 
    url(../img/img_library_pattern_l.png),
    url(../img/img_library_pattern_r.png);
    background-repeat: no-repeat;
    background-position: left center, right center; 
    background-size: auto;  
    position: relative;
    max-width: 980px;
    min-height: 300px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    gap: 30px;
}

.library_area .detail_link{
    display: block;
    margin: 0 auto 0;
    max-width: 275px;
    border: 2px solid #221815;
    border-radius: 9999px;
    background-color: #FFA381;
    box-shadow: 0 3px 0 #000;
    text-align: center;
}

.library_area p{
    font-size:20px;
    width:85%;
    max-width:842px;
    line-height:36px;
    text-align: center;
    margin:0 auto;
}

.library_area .detail_link a.link_text{
    display: flex;
    align-items: center;
    padding: 17px 28px 15px;
    color: #222;
    font-size: 1.125rem;
    font-weight: bold;
    line-height: 28px;
}

.after_no::after{
    display: none;
}

.impresstion_area{
    display: flex;
    gap:20px;
}

.impresstion_area > div{
    position: relative;
    max-width: 378px;
    min-height: 222px;
    text-align: left;
}

.impresstion_area .impre_01{
    background: url(../img/img_impression_bg01.png) right 10px top 92%;
    background-repeat: no-repeat;
    background-color: #fff;
    border: 3px solid #222222;
    box-shadow: 8px 9px 1px #E5B0B0;
    padding:3.8% 2% 2% 2%;
}

.impresstion_area .impre_01 p{
    display: inline;
    padding-bottom: 5px;
    background-image: url(../img/dotted_line.png); 
    background-repeat: repeat-x;
    background-position: bottom left;
    background-size: auto 2px; 
}

.impresstion_area .impre_02{
    background: url(../img/img_impression_bg02.png) right 10px top 92%;
    background-repeat: no-repeat;
    background-color: #fff;
    border: 3px solid #222222;
    box-shadow: 8px 9px 1px #E5B0B0;
    padding:2.5% 3% 0% 3%;
}

.impresstion_area .impre_02 p{
    display: inline;
    padding-bottom: 5px;
    background-image: url(../img/dotted_line.png); 
    background-repeat: repeat-x;
    background-position: bottom left;
    background-size: auto 2px; 
}

.impresstion_area .impre_03{
    background: url(../img/img_impression_bg03.png) right 10px top 92%;
    background-repeat: no-repeat;
    background-color: #fff;
    border: 3px solid #222222;
    box-shadow: 8px 9px 1px #E5B0B0;
    padding:4% 2% 2% 2%;
}

.impresstion_area .impre_03 p{
    display: inline;
    padding-bottom: 5px;
    background-image: url(../img/dotted_line.png); 
    background-repeat: repeat-x;
    background-position: bottom left;
    background-size: auto 2px; 
}

.impresstion_area > div > p{
    position: relative;
    font-size:20px;
    color:#222;
    line-height: 40px;
    text-align: left;
}

@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;
    }    
}

@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: #fff;
    padding: 60px 0 70px;
}
#supplement .wrap {
    max-width: 1104px;
    margin: auto;
}
#supplement .wrap .flexcontainer {
    padding: 0;
    position: relative;
    justify-content: center;
}
#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 .box {
    position: relative;
    max-width: 1104px;
    width:100%;
    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 98px;
}
#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: 36px;
    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;
}





/*------------------------------------------------------------
  educational_activities
------------------------------------------------------------ */




/* 終了対応 20240708 */
.end_text {
    max-width: 300px;
    margin: 35px auto;
    padding: 10px 20px;
    background-color: #D52124;
    text-align: center;
}


/*241106 update*/

.nakama_introduce {
    display: flex;
    flex-flow:row;
    justify-content: space-evenly;
    align-items: center;
    position:relative;
    background-color: #fff;
    padding:10px;
    border:6px solid #CEBA88;
    max-width:1164px;
    height:748px;
    margin-top:106px;
    z-index: 1;
    border-radius: 2px;
    box-shadow: 0 0 0 6px #fff, 0 0 0 10px #CEBA88; 
}

.nakama_introduce::before {
    content: "";
    position: absolute;
    top: -2%;
    left: 50%; 
    transform: translate(-50%, -50%); 
    width:668px;
    height:162px;
    background: url(../img/img_nakama_title.png);
    background-size: cover;
}

.only_pc_img{display: flex;}

/* .nakama_introduce::after {
    content: "";
    position: absolute;
    top: -10px;
    left: -10px;
    width: calc(100% + 20px);
    height: calc(100% + 20px);
    background-color: #fff;
    border: 3px solid #CEBA88;
    border-radius: 5px;
    box-sizing: border-box;
    z-index: -1;
} */

.nakama_introduce > .intro_img{
    max-width:439px;
    width:100%;
}

.nakama_introduce > .intro_txt{
    margin-top:50px;
    max-width:630px;
    width:100%;
}

.nakama_introduce .txt01{
    color:#222222;
    font-size:1.125rem;
    line-height:29px;
    text-align: left;
}

.nakama_introduce .txt02{
    color:#222222;
    font-size:1rem;
    line-height:29px;
    text-align: left;
}

.nakama_introduce .img_box{
    margin:30px 0;
    display: flex!important;
    align-items: center;
    gap:10px;
}

.nakama_introduce .img_box_v2{
    margin:30px 0;
    align-items: center;
    gap:10px;
}

.nakama_introduce .img_box_v2 picture:nth-child(3){
    width: 109px;
}

.vote_result {
    width:100%;
    max-width: 884px;
    max-height: 853px;
    border-radius: 20px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    margin:0 auto;
    border: 3px solid #000; 
    margin-top:40px;
  }
  
  .vote_result .top-bar {
    width: 100%;
    height: 80px;
    padding:29px 0px;
    background-color: #F5D278;
    display: flex;
    justify-content: space-around;
    align-items: center;
    border-bottom:3px solid #000;
  }
  
  .vote_result .top-item {
    font-size: 1.25rem;
    font-weight: bold;
    color: #221815; 
  }

  .vote_result .grid {
    gap: 10px;
    padding: 10px 40px;
    background-color: #fff;
    flex-grow: 1; 
  }

  .vote_result .grid .row{
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom:3px solid #DBDBDB;
  }
  
  .vote_result .item {
    width:33.33%;
    background-color: #fff;
    height: 100%; 
    display: flex;
    flex-flow:row nowrap;
    justify-content: center;
    align-items: center;
    margin:20px 0;
  }

  .vote_result .count{
    font-family: 'Noto Sans CJK JP', sans-serif;
    font-size:30px;
    font-weight:bold;
    color:#222222;
  }

  .vote_result .count.gold{
    font-size:40px;
    color:#BB8C13;
  }

  .vote_result .count span{
    font-size:20px;
  }

  .vote_result .txt01{
    font-size:20px;
  }

  .vote_result .item_detail{
    display: flex;
    flex-flow:column;
    gap:20px;
    text-align: center;
  }

  .vote_result .item_detail .link_detail{
    display: flex;
    flex-flow:row;
    align-items: center;
    justify-content: center;
    gap:10px;
  }


  .vote_result .item_detail .link01{
    position: relative;
    display: flex;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: #0068B7;
    gap: 10px;
    align-items: center;
}

/* cheapter*/
#special .text_area{
    max-width:1024px;
    margin:50px auto 80px;
    line-height:36px;
    font-size:1.25rem;
    text-align: center;
}
.report_img_box {
    margin: 0 auto; 
    display: flex;
    flex-flow:row wrap;
    justify-content: center;
    padding-bottom:10px;
}
  .report_box {
    padding-right:10px;
    position:relative;
    max-width: 564px;
    width:49%;
    height:auto;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin-top:40px;
    margin-right:36px;
  }

  .report_box:nth-child(2),
  .report_box:nth-child(4) {
    margin-right: 0; 
  }
  
  .report_box.box1{
    position: relative;
  }

  .report_box.box2{
    position: relative;
  }

  .report_box.box3{
    margin-top:-30px;
    position: relative;
  }
  .report_box.box4{
    margin-top:30px;
    position: relative;
  }
  .report_list{
    text-align: center;
    padding:20px 20px;
    background-color: #fff;
    border: 3px solid #222222;
    box-shadow: 8px 9px 1px #8ebbd5;
  }

  .report_list > p.txt01{
    font-size:20px;
    line-height: 36px;
    text-align: left;
    color:#222;
    margin-top:24px;
  }

  .report_list > p.txt02{
    text-align: left;
    font-size:14px;
    color:#222;
    line-height:29px;
  }

  .caption{
    margin-top:30px;
    text-align: right;
    font-size:18px;
    color:#222;
  }

  .special_sec_title.under_n::after{
    display:none;
  }

  .report_content1{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-flow:row;
    gap:50px;
    margin-top:40px;
  }

  .report_content1 .content1_txt{
    max-width:590px;
  }

  .report_content1 .content1_img{
    max-width:390px;
  }

  .report_content1 .txt01{
    text-align: left;
    font-size:20px;
    line-height:36px;
    color:#222;
    margin-bottom:20px;
  }

  .report_content1 .txt02{
    position:relative;
    text-align: left;
    font-size:14px;
    line-height: 24px;
    color:#222;
    padding-left:1rem;
  }

  .report_content1 .txt02::before{
    content:'※';
    position:absolute;
    left:0;
    top:0;
  }
  
  .report_content2{
    position: relative;
    max-width: 1164px; 
    padding: 70px 30px 46px 30px; 
    margin-top:116px;
    display: flex;
    flex-flow:row wrap;
    justify-content: space-between;
    box-sizing: border-box;
    background-color: #FFFDCB;
    border:3px solid #222222;
    border-radius: 15px;
}

.report_content2::before{
    content: "";
    position: absolute;
    top: -7%;
    left: 50%;
    transform: translate(-50%, -52%);
    width: 666px;
    height: 143px;
    background: url(../img/img_report_content2.svg);
    background-size: cover;
}

.report_content2 > div {
    width: 200px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    border-radius: 15px;
}
.report_content2 > div > p {
    font-family: 'Noto Sans CJK JP', sans-serif;
    font-size:20px;
    font-weight:bold;
}

.report_content2 > div > p >span{
    font-size:16px;
    font-weight: bold;
    color:#222;
}

.report_content2 .content2_imgbox{
    margin-top:20px;
}

.report_content3{
    margin-top:30px;
    display: flex;
    flex-flow:row;
    gap:5px;
    justify-content: center;
}

.untilnow_title{
    margin:60px 0 40px;
}

@media screen and (max-width:767px) {
    .only_sp{
        display: block!important;
    }
    .only_pc{
        display: none!important;
    }
    .both_of_them{
        display: block!important;
    }
    .left_icon,
    .left_icon_1,
    .left_icon_3,
    .right_icon,
    .right_icon_1,
    .right_icon_3{
        display: block;
    }
    #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;
    }
    /*241017 update*/
    .kai{display: block!important;}

    #program_content{
        background-color: #F9F0D3;

        position:relative;
        width: 100%;
    }

    .program_third_title{
        position:relative;
    }

    .program_third_title.result h2 img{
        width: 33%;
        height:auto;
    }

    .program_third_title.third_second{
        position: relative;
        width:100%;
        text-align: center;
    }

    .program_third_title.third_second h2{
        display: inline-block;
        margin:0;
    }

    .special_sec_title::after {
        content: '';
        display: inline-block;
        margin-top: 40px;
        width: 94px;
        height: 16px;
        background: url(../img/img_title_under.svg) repeat-x top;
        border-radius: 9999px;
    }

    .left_icon{
        position: absolute;
        top: 50%;
        transform: translateY(-71%);
        width: 82px;
        height: 60px;
    }

    .right_icon {
        position: absolute;
        top: 50%;
        transform: translateY(-71%);
        width: 67px;
        height: 62px;
    }

    .left_icon {
    left: 0;
    }

    .right_icon {
    right: 0;
    }

    .program_third_title.third_second{
        position:relative;
        width:100%;
        text-align: center;
    }

    .program_third_title.third_second img{
        max-width:125px;
    }

    .program_third_title.third_second h2{
        display: inline-block;
        margin:0;
    }

    .left_icon_1{
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 82.8px;
        height: 60px;
    }

    .right_icon_1 {
        position: absolute;
        top: 50%;
        transform: translateY(-44%);
        width: 66px;
        height: 62px;
    }

    .left_icon_1 {
    left: 0;
    }

    .right_icon_1 {
    right: 0;
    }

    #program_content::before{
        content: "";
        position: absolute;
        top: -0%;
        left: 50%; 
        transform: translate(-50%, -50%);   
        background:url(../img/img_untilnow_block_pattern.svg) top;
        background-repeat: no-repeat;
        background-size: cover;
        max-width:375px;
        height:30px;
    }
    .nakama_introduce::before {
        content: "";
        position: absolute;
        top: -1%;
        left: 50%;
        transform: translate(-50%, -50%);
        width:100%;
        max-width: 277.73px;
        max-height: 144px;
        background: url(../img/img_nakama_title_sp.png);
        background-size: cover;
    }
    .nakama_introduce > .intro_txt{
        margin-top:20px;
    }

    .nakama_introduce{
        flex-flow:column;
        height:auto;
    }

    .nakama_introduce .img_box{
        flex-flow:column;
        height:auto;
    }
    .nakama_introduce .img_box_v2{
        flex-flow:column;
        height:auto;
    }
    .nakama_introduce > .intro_img {
        padding-top: 20vw;
    }
    .nakama_introduce .txt01{
        font-size:17px;
        line-height:31px;
    }
    .only_sp .img_box .nakama_img01{
        width:100%;
    }

    .only_sp .type01{
        text-indent: -7.5em;
        padding-left: 7.5em;
    }
    .vote_result.only_sp{
        width:100%;
        height:auto;
    }
    .vote_result.only_sp .grid .row {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-bottom:none;
    }
    .vote_result.only_sp .item:nth-child(1){
        width:60%;
    }

    .vote_result.only_sp .item:nth-child(2){
        width:40%;
    }

    .vote_result.only_sp .item img{
        width:100%;
    }

    .vote_result.only_sp .grid {
        text-align: center;
        padding: 10px 20px;
    }

    .vote_result.only_sp .top-bar .top-item:nth-child(1) p{
        margin-left:1rem;
    }

    .vote_result.only_sp .top-bar .top-item:nth-child(2){
        margin-right:40px;
    }

    .vote_result .count{
        font-size:28px!important;
      }
    .vote_result .count span{
    font-size:18px;
    }

    .vote_result.only_sp .result_txt01{
        position:relative;
        display: inline-block;
        text-align: center;
        font-size:16px;
        color:#221815;
        line-height:32px;
        font-weight: bold;
        z-index: 1;
    }

    .vote_result.only_sp .result_txt01::after{
        content: "";
        position: absolute;
        bottom: 3px;
        left: -2px;
        width: 105%;
        height: 8px; 
        background-color: #F8DE9B;
        border-radius: 10px;
        z-index: -1;
    }

    .vote_result.only_sp .result_txt02{
        text-align: center;
        font-size:20px;
        line-height:36px;
        margin:15px 0 10px;
        color:#221815;
        z-index: 1;
    }

    .vote_result.only_sp .result_txt03{
        display: flex;
        flex-flow:row;
        justify-content: center;
        align-items: center;
        font-size:18px;
        color:#0068B7;
        line-height:27px;
        padding-bottom:10px;
        z-index: 1;
    }

    .vote_result.only_sp .result_txt03 picture{
        margin-left:10px;
    }
    #special {
        padding:42px 0 60px;
        
        background: url(../img/img_special_pattern.png) top;
        background-color: #D8E9F4;
        background-size:contain;
        background-repeat: no-repeat;
    }
    .text_area p{
        font-size:18px;
        line-height:32px;
        text-align: left;
    }
    .report_box.box1{
        width:100%;
        background-size:contain;
        margin:30px 0 30px 0px;
    }

    .report_box.box2{
        width:100%;
        background-size:contain;
        margin:0px 0px 30px 0px;
    }

    .report_box.box3{
        width:100%;
        background-size:contain;
        margin:0px 0px 30px 0px;
    }

    .report_box.box4{
        width:100%;
        background-size:contain;
        margin:0px 0px 10px 0px;
    }

    .report_content1{
        flex-flow:column;
    }
    .report_content2::before{
        width: 100%;
        background: url(../img/img_report_content2_sp.svg);
        background-repeat: no-repeat;
        background-size: contain;
        top:2%;
    }

    .report_content2{
        margin-top:100px;
        flex-flow:row wrap;
        justify-content: center;
        padding:70px 22px 46px 22px;
        gap:16px;
    }

    .report_content2 > div{
        width:47%
    }

    .report_content2 > div:nth-child(n+3) {
        margin-top: 33px;
      }
    .report_content2 > div > p{
        text-align: center;
    }
    .report_content2 > div > p span{
        display: block;
        margin-top:6px;
    }
    #special .detail_link .link_text{
        font-size:15px;
    }

    .report_content3{
        flex-flow:column;
        gap:10px;
        width:90%;
        margin:30px auto 0;
    }
    .report_pic{
        width:100%;
    }

    #untilnow{
        padding: 42px 0 83px;
        background-image:url(../img/img_untilnow_pattern.png);
        /* background-image:
         url(../img/img_untilnow_pattern.png),
         url(../img/img_untilnow_bottom_bg.png);
        background-position: top center, bottom center;     */
        background-color: #F9E1E1;
        background-size: contain;
        background-repeat: no-repeat;
    }

    .special_sec_title.under_n::before {
        content: "";
        position: absolute;
        background: url(../img/bg_special_v2_sp.png);
        background-size: cover;
        width: 132px;
        height: 36px;
        top: -55%;
        left: 0px;
    }

    .untilnow_title.after_no::before{
        display:none;
    }
    .untilnow_title.after_no img{
        width:100%;
    }
    #untilnow {
        padding: 40px 0 0px 0px;
    }
    .untilnow_title {
        position:relative;
        width: 100%;
        padding: 0;
        text-align: center;
        margin:60px auto 30px
    }

    .untilnow_title h2 img{
        width:70%
    }
    .untilnow_title h2{
        display: inline-block;
        margin:0;
    }
    .contents_bottom_area{
        background-image:url(../img/img_untilnow_bottom_bg.png);
        background-position: bottom center;    
        background-size: 112%;
        background-repeat: no-repeat;
        padding-bottom:10px;
    }

    .left_icon_3{
        position: absolute;
        top: 50%;
        transform: translateY(-184%);
        width: 75px;
        height: 60px;
    }

    .right_icon_3 {
        position: absolute;
        top: 50%;
        transform: translateY(-170%);
        width: 61px;
        height: 60px;
    }

    .left_icon_3 {
    left: 0;
    }

    .right_icon_3 {
    right: 0;
    }
    .special_sec_title{
        margin-top:30px;
    }
    .report_content1 .content1_img{
        width:90%;
    }
    #special .text_area{
        margin-top:30px;
        margin-bottom:30px;
    }
    .untilnow_title::after {
        margin-top: 30px;
    }
    
    #untilnow .contents_text{
        margin-top: 17px;
        text-align: left;
    }
    
    .untilnow_list {
        display: flex;
        flex-flow:row wrap;
        justify-content: space-between;
        margin-top: 27px;
    }

    .untilnow_list > div {
        flex: 1 1 47%;
        padding:10px 6px;
    }

    .untilnow_list > div a{
        font-size:0.835rem;
    }
    
    .untilnow_list_item {
        width: 47%;
        height: auto;
        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 */
    }
    .only_pc_img{display: none;}
    .library_area {
        margin-top:50px;
        padding:30px;
        background-image:
        url(../img/img_library_pattern_l_sp.png),
        url(../img/img_library_pattern_r_sp.png);
        background-size: contain;
        gap:20px;
    }
    .library_area p{
        font-size:18px;
        text-align: left;
    }

    .library_title{
        max-width:170px;
    }
    .special_sec_date{
        margin:60px auto 0;
    }

    .special_sec_date img{
        width:75%;
    }
    .impresstion_area{
        flex-flow:column;
        align-items: center;
    }
    .impresstion_area > div {
        min-height:207px;
    }
    .impresstion_area .impre_01{
        padding:10% 7% 2% 7%;
        margin-bottom:10px;
    }

    .impresstion_area .impre_02{
        padding:6% 7% 2% 7%;
        margin-bottom:10px;
    }

    .impresstion_area .impre_03{
        padding:10% 7% 2% 7%;
        margin-bottom:10px;
    }

    .impresstion_area .impre_01 p {
        position: relative;
        display: inline;
        padding-bottom: 5px;
        background-image: url(../img/dotted_line.png); 
        background-repeat: repeat-x;
        background-position: bottom left;
        background-size: auto 2px;
        background-size: 28%
    }
    
    .impresstion_area .impre_02 p {
        position: relative;
        display: inline;
        padding-bottom: 5px;
        background-image: url(../img/dotted_line.png); 
        background-repeat: repeat-x;
        background-position: bottom left;
        background-size: auto 2px;
        background-size: 22%;
    }
    .impresstion_area .impre_03 p {
        position: relative;
        display: inline;
        padding-bottom: 5px;
        background-image: url(../img/dotted_line.png); 
        background-repeat: repeat-x;
        background-position: bottom left;
        background-size: auto 2px;
        background-size: 30%;
    }
    .impresstion_area > div > p{
        font-size:18px;
        line-height:38px;
    }
    .slider-nav .slider_item{
        margin:0 12px;
    }
    .slick-prev{
        left:3%!important;
        width:40px;
        height:40px;
    }
    .slick-next{
        right:3%!important;
        width:40px;
        height:40px;
    }
    /* slider */
    .slider_new img{
        max-width:160px;
    }

	.slider-nav .slider_item {
		/* opacity: .69; */
	}

    .slider.slick-initialized{
        padding:0 0 0 0;
    }
    .slick-dotted.slick-slider{
        margin-bottom:0px;
    }

    .slick-center img {
        transform: scale(1.07);
        transition: transform 0.3s ease;
    }

	.slider-nav .slider_item.slick-current {
		opacity: 1;
	}
	.slider-nav .slick-slide img {
		height: 181px;
	}
	.slick-prev {
		left: 11px;
        top:55%;
	}
	.slick-next {
		right: 11px;
        top:55%;
	}
	.slick-prev::before {
		margin: 2px 0 0 -3px;
		transform: rotate(45deg) translateX(-50%) translateY(-50%);
	}
	.slick-next::before {
		margin: -5px 0 0 -7px;
		transform: rotate(-135deg);
	}
	.slider-for {
		margin-left: 15px;
        padding-bottom:0px!important;
		margin-right: 15px;
		padding: 28px 15px 36px;
		text-align: center;
	}
	.slider-for .ttl {
		margin-bottom: 15px;
	}
	.slider-for .txt {
		text-align: left;
	}
    .slide-number{
        margin-right:10%;
    }
    .slider-for::after {
        content: '';
        display: block;
        position: absolute;
        left: 74%;
        top: 78%;
        width: 71px;
        height: 96px;
        background: url(../img/img_bird_ico_sp.svg) no-repeat center center;
    }
    .slider_item_inner > p{
        padding:10px 15px 10px;
        text-align: left;;
    }
    .author{
        text-align: right;
        margin-top:60px;
    }

    .report_content1 .txt02{
        position: relative;
        text-indent: 0rem;
        padding-left: 1rem;
    }

    .author p{
        font-size:14px;
        text-indent: -2.2rem;
    }
        
    .report_content1 .txt02::before {
        content: "※"; 
        position: absolute;
        left: 0; 
        top: 0; 
    }
    .caption{
        font-size:14px;
      }
      .wrap01::before,.wrap01::after,
      .wrap02::before,.wrap02::after,
      .wrap03::before,.wrap03::after{
        display:none;
      }
}

@media (min-width: 768px) and (max-width: 1120px) {
    
    .report_img_box {
        margin: 50px auto;
        display: flex;
        flex-flow: column;
        justify-content: center;
        padding-bottom: 10px;
        align-items: center;
    }
    .report_box {margin:0 0 30px 0!important;padding:0px;}
    .wrap01::before,.wrap01::after,
      .wrap02::before,.wrap02::after,
      .wrap03::before,.wrap03::after{
        display:none;
      }
}

@media (min-width: 768px) and (max-width: 1082px) {
    
    .report_content2::before{
        top:-3%;
    }
}