@charset "UTF-8";

/******特典箇所両脇キャラクター非表示******/
.osechi_benefit img.explanation {
    width: 100%!important;
}
.osechi_benefit img.character {
	display: none;
}
/******特典箇所両脇キャラクター非表示******/

html, body {
	margin: 0;
	padding: 0;
}

.osechi_wrapper button {
  background: transparent;
  border: none;
  outline: none;
  box-shadow: none;
}

.osechi_wrapper .sp {
    display: none;
    visibility: hidden;
}

.osechi_wrapper img {
    max-width: 100%;
    vertical-align: bottom;
	width: 100%;
}

.osechi_tab_attention {
	margin: 24px 0 10px;
}

.osechi_tab_attention > img {
	max-width: fit-content;
}

.osechi_wrapper {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
    margin-top: auto;
    margin-bottom: -230px;
    text-align: center;
	position: relative;

}

.bg_wrap{
    background: url(../images/bg.webp);
	background-repeat: repeat-y;
	background-size: 100%;
}

.osechi_main {
	/*background-color: #e5e5e5;
	background-image: url("https://deagostini.jp/resources/images/select/product/osechi/heroaca_2026/main_bg.webp");
	background-position: center -12px;
	background-repeat: repeat-y;
	position: relative;
	z-index: 10;*/
	padding-top: 48px;
}

.osechi_main .main_01 {
	margin-bottom: 40px;
}

.osechi_main .main_01 img {
	max-width: 900px;
}

.osechi_main .main_02 {
	padding-bottom: 50px;
}

.osechi_main .main_02 img {
	max-width: 620px;
}

.osechi_benefit {
    /*padding: 110px 0 42px;
    position: relative;
	margin-top: -140px;
    overflow: hidden;
	z-index: 20;*/
	background: url(../images/tokuten_bg.webp);
    background-repeat: no-repeat;
    background-position: top center;
	background-size: 646px auto;
	padding: 80px 0;
}

.osechi_benefit > div {
	position: relative;
	max-width: 620px;
	margin: 0 auto;
}

.osechi_benefit > div + div {
	margin-top: 60px;
}

.osechi_benefit > div + div.benefit_4 {
	
}

.osechi_benefit img.explanation {
    max-width: 620px;
	position: relative;
	z-index: 1;
}

.osechi_benefit img.character_deku {
	position: absolute;
    width: 243px;
    bottom: -59px;
    left: -238px;
}

.osechi_benefit img.character_ochaco {
	position: absolute;
	width: 170px;
    top: 100px;
    right: -177px;
}

.osechi_benefit img.character_todoroki {
	position: absolute;
	width: 230px;
    top: 84px;
    right: -221px;
}

.osechi_benefit img.character_bakugo {
	position: absolute;
	width: 303px;
    bottom: -118px;
    left: -257px;
}

.osechi_benefit img.character_kirishima {
	position: absolute;
    width: 261px;
    bottom: -60px;
    right: -199px;
}

.osechi_benefit img.character_joro {
	position: absolute;
	width: 255px;
    top: -145px;
    left: -252px;
}

.character {
  animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
}
@keyframes floating-y {
  0% {
    transform: translateY(-3%);
  }
  100% {
    transform: translateY(3%);
  }
}

.osechi_benefit::before {
    /*content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #ffff00;
    transform: skewY(-3.6deg) translateY(90px);
    z-index: -1;*/
}

.osechi_intro {
    position: relative;
	padding: 28px 0;
	background-color: #fff;;
}

.osechi_intro img {
	max-width: 320px;
}

.osechi_intro2{
	position: relative;
    padding-bottom: 277px;
    background: url(../images/bg.webp);
    background-repeat: repeat-y;
    background-size: 100%;
    padding-top: 40px;
}

.osechi_intro2 > p{
	width: 600px;
    margin: 0 auto 12px;
    padding: 20px;
    font-size: 24px;
    color: #fff;
    background-color: rgba(255, 255, 255, 0.2);
	font-weight: bold;
}

.osechi_intro_tab_wrapper {
    position: relative;
	top: -250px;
}

.oshinagaki,
.osechi_maker {
    position: relative;
	top: -250px;
}

.tabs {
    display: flex;
    position: relative;
	justify-content: center;
	align-items: end;
}

.tabs img {
	width: 55%;
}

.active .tab_title {
}

.tab-button.active {
    height: 70px;
}

div.space-50 {
    width: 50px;
}

div.space-20 {
    width: 16px;
}

div.black-boder {
    width: 100%;
    height: 24px;
    background-color: rgba(98, 179, 182, 1);
    position: absolute;
    bottom: -24px;
    left: 0;
}

/* Tab2 が選択されたとき */
.black-boder.tab2-active {
    background-color: rgba(255, 247, 110, 1);
}

.tab-button {
    cursor: pointer;
    transition: filter 0.3s;
    flex: 1;
    text-align: center;
    border-radius: 14px 14px 0 0;
    border: 4px solid;
	max-width: 240px;
	font-size: 30px;
    line-height: 0;
    height: 60px;
	font-weight: bold;
}

.tab-button.tab1 {
    background: rgba(98, 179, 182, 1);
    position: relative;
    left: 3px;
}

.tab-button.tab2 {
    background: rgba(255, 247, 110, 1);
}

.tab-button.tab3 {
    background: #ff0000;
    position: relative;
    right: 3px;
}

.tab-button:hover {
    filter: brightness(105%);
}

.tab-button.active {
    border-bottom: none;
}

.tab-content {
    display: none;
    padding: 10px;
}

.tab-content-title {
    width: 600px;
    margin: 48px auto 12px;
    /* padding: 20px; */
    font-size: 24px;
    color: #fff;
    /* background-color: rgba(255, 255, 255, 0.2); */
    font-weight: bold;
}

.tab-content-title img {
    width: auto;
	display: block;
	margin: 0 auto;
	max-width: 620px;
}

#Tab1 .tab-content-title img {
	max-width: 531px;
}

.tab-content-title img.title_ju {
	margin-bottom: 30px;
}

.tab-content.tab1 {
    background-color: rgba(57, 61, 75, 1)
}

.tab-content.tab2 {
    background-color: rgba(57, 61, 75, 1)
}

.tab-content.tab3 {
    background-color: #ff0000;
}

.tab-content.active {
    display: block;
}

.opacity {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1s ease-out, transform 1s ease-out;
}

.opacity-visible {
    opacity: 1;
    transform: translateY(0);
}

.oshinagaki {
    background-image: url('https://deagostini.jp/resources/images/select/product/osechi/heroaca_2026/oshinagaki_bg.webp');
	background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
	padding: 40px 0 60px;
	font-family: "Noto Serif JP", serif;
}

.oshina_title{
	font-size: 24px;
}

.oshinagaki img {
	max-width: 620px;
	margin: 0 auto;
}

.osechi_maker {
    background-image: url('https://deagostini.jp/resources/images/select/product/osechi/heroaca_2026/maker_bg.webp');
	background-position: center top;
	background-repeat: repeat-x;
	padding: 53px 0 30px;
}

.osechi_maker img {
	max-width: 620px;
	margin: 0 auto;
}

/* おせち紹介 */
.area_tab_content {
	display: flex;
	max-width: 800px;
    margin: 0 auto;
    justify-content: space-between;
	align-items: center;
/*	flex-direction: row-reverse;*/
}
.area_tab_content .osechi_link {
	width: 65%;
	position: relative;
}
.osechi_detail {
	width: 42%;
}
.click_attention {
    width: 214px;
    height: 182px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 64%;
    margin: auto;
    z-index: 100;
    pointer-events: none;
}
.click_attention img {
    width: 100%;
}
.click_attention p {
	font-size: 14px;
	text-align: center;
	margin: 15px 0 0;
	font-weight: 700;
}
img.pointer {
	width: 100%;
}
.osechi_link span {
	width: 6%;
	display: block;
	height: auto;
	cursor: pointer;
}
.osechi_link .Tab1_box_01 {
	position: absolute;
    left: 50%;
    top: 47%;
}
.osechi_link .Tab1_box_02 {
	position: absolute;
    top: 32%;
    right: 33%;
}
.osechi_link .Tab1_box_03 {
	position: absolute;
	top: 51%;
    right: 30%;
}
.osechi_link .Tab1_box_04 {
	position: absolute;
	top: 64%;
    left: 35%;
}
.osechi_link .Tab1_box_05 {
	position: absolute;
    top: 36%;
    left: 31%;
}
.osechi_link .Tab1_box_06 {
	position: absolute;
    top: 78%;
    left: 22%;
}
.osechi_link .Tab1_box_07 {
	position: absolute;
    top: 79%;
    right: 18%;
}
.osechi_link .Tab1_box_08 {
	position: absolute;
    top: 33%;
    left: 18%;
}
.osechi_link .Tab1_box_09 {
	position: absolute;
    top: 25%;
    left: 26%;
}
.osechi_link .Tab1_box_10 {
	position: absolute;
    top: 61%;
    right: 14%;
}
.osechi_link .Tab1_box_11 {
	position: absolute;
    top: 11%;
    left: 22%;
}
.osechi_link .Tab1_box_12 {
	position: absolute;
    top: 22%;
    left: 47%;
}
.osechi_link .Tab1_box_13 {
	position: absolute;
    top: 17%;
    left: 35%;
}
.osechi_link .Tab1_box_14 {
	position: absolute;
    top: 53%;
    left: 17%;
}
.osechi_link .Tab1_box_15 {
	position: absolute;
    top: 6%;
    left: 45%;
}
.osechi_link .Tab1_box_16 {
	position: absolute;
    top: 67%;
    right: 36%;
}
.osechi_link .Tab1_box_17 {
	position: absolute;
    top: 44%;
    right: 17%;
}
.osechi_link .Tab1_box_18 {
	position: absolute;
    top: 27%;
    right: 18%;
}
.osechi_link .Tab1_box_19 {
	position: absolute;
    top: 10%;
    right: 21%;
}
.osechi_link .Tab1_box_20 {
	position: absolute;
    top: 81%;
    right: 35%;
}
.osechi_link .Tab1_box_21 {
	position: absolute;
    top: 24%;
    left: 14%;
}

.osechi_link .Tab2_box_01 {
	position: absolute;
    top: 54%;
    right: 31%;
}
.osechi_link .Tab2_box_02 {
    position: absolute;
    top: 69%;
    right: 40%;
}
.osechi_link .Tab2_box_03 {
    position: absolute;
	top: 12%;
    left: 17%;
}
.osechi_link .Tab2_box_04 {
    position: absolute;
    top: 23%;
    right: 25%;
}
.osechi_link .Tab2_box_05 {
    position: absolute;
    top: 84%;
    right: 20%;
}
.osechi_link .Tab2_box_06 {
    position: absolute;
    top: 61%;
    right: 13%;
}
.osechi_link .Tab2_box_07 {
	position: absolute;
    top: 74%;
    left: 28%;
}
.osechi_link .Tab2_box_08 {
	position: absolute;
    top: 86%;
    left: 27%;
}
.osechi_link .Tab2_box_09 {
	position: absolute;
    top: 50%;
    left: 32%;
}
.osechi_link .Tab2_box_10 {
    position: absolute;
    top: 28%;
    left: 12%;
}
.osechi_link .Tab2_box_11 {
	position: absolute;
    top: 14%;
    right: 40%;
}
.osechi_link .Tab2_box_12 {
    position: absolute;
    top: 70%;
    left: 52%;
}
.osechi_link .Tab2_box_13 {
	position: absolute;
    top: 82%;
    left: 42%;
}
.osechi_link .Tab2_box_14 {
    position: absolute;
    top: 11%;
    left: 53%;
}
.osechi_link .Tab2_box_15 {
    position: absolute;
    top: 86%;
    right: 29%;
}

.osechi_link .Tab3_box_01 {
	position: absolute;
    top: 81.5%;
    left: 20%;
}
.osechi_link .Tab3_box_02 {
    position: absolute;
	top: 82%;
    right: 33%;
}
.osechi_link .Tab3_box_03 {
    position: absolute;
	top: 72%;
    left: 47%;
}
.osechi_link .Tab3_box_04 {
    position: absolute;
    top: 22%;
    right: 42%;
}
.osechi_link .Tab3_box_05 {
    position: absolute;
    top: 47%;
    right: 10%;
}
.osechi_link .Tab3_box_06 {
    position: absolute;
    top: 7%;
    left: 20%;
}
.osechi_link .Tab3_box_07 {
	position: absolute;
    top: 18%;
    right: 6%;
}
.osechi_link .Tab3_box_08 {
	position: absolute;
    top: 7.8%;
    right: 19%;
}
.osechi_link .Tab3_box_09 {
	position: absolute;
    top: 82%;
    right: 8%;
}
.osechi_link .Tab3_box_10 {
    position: absolute;
    top: 46%;
    left: 19%;
}
#Tab2 .osechi_tab_attention,
#Tab3 .osechi_tab_attention {
	color: #ffffff;
}
.Tab3_box_10_sp {
	position: relative;
}
.swipe {
	max-width: 500px;
	position: relative;
	overflow: scroll;
	width: 100%;
	margin: 0 auto;
	display: flex;
}
.swipe p {
	width: 1000px;
	height: 300px;
}
.swipe img {
	display: block;
}
.swipe_icon {
	position: absolute;
	top: 9%;
    border: 0;
    right: 5px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
	pointer-events: none;
}
.swipe_icon img {
	width: 100%;
}

@media screen and (max-width: 1400px) {
	.osechi_benefit > div + div {
		/*margin-top: -18px;*/
	}
	.osechi_benefit img.explanation {
		width: 80%;
	}
	.osechi_benefit img.character_ochaco {
		width: 146px;
        right: -87px;
        top: 49px;
	}
	.osechi_benefit img.character_deku {
		width: 203px;
        left: -128px;
	}
	.osechi_benefit img.character_todoroki {
		width: 191px;
        right: -104px;
	}
	.osechi_benefit img.character_bakugo {
		width: 261px;
        left: -159px;
    }
	.osechi_benefit img.character_kirishima {
		width: 221px;
        right: -89px;
	}
	.osechi_benefit img.character_joro {
		width: 238px;
        left: -135px;
	}
	.osechi_benefit > div + div.benefit_4 {
		/*margin-top: -42px;*/
	}
}

@media screen and (max-width: 1200px) {
	.p_0_20 {
		padding: 0 20px;
	}
	.tab-content-title {
		padding: 0 20px;
	}
}

@media screen and (max-width: 1150px) {
	.osechi_benefit img.explanation {
		width: 75%;
	}
	.osechi_benefit img.character_ochaco {
		width: 135px;
        right: -37px;
	}
	.osechi_benefit img.character_deku {
        width: 174px;
        left: -71px;
	}
	.osechi_benefit img.character_todoroki {
		width: 169px;
        right: -34px;
	}
	.osechi_benefit img.character_bakugo {
		width: 218px;
        left: -88px;
	}
	.osechi_benefit img.character_kirishima {
		width: 212px;
        right: -40px;
	}
	.osechi_benefit img.character_joro {
		width: 213px;
        left: -78px;
	}
}

@media screen and (max-width: 1036px) {
	.p_0_18 {
		padding: 0 18px;
	}
}

/* SP */
@media screen and (max-width: 768px) {
	.osechi_main{
		padding-top: 24px;
	}
	
	.osechi_wrapper {
		margin-bottom: -350px;
	}
    .osechi_wrapper .pc {
        display: none;
        visibility: hidden;
    }

    .osechi_wrapper .sp {
        display: block;
        visibility: visible;
        margin: auto;
    }

    .osechi_intro_tab_wrapper {
        top: -320px;
        margin: auto;
    }

	.osechi_benefit {
		padding: 44px 0;
		background-size: 346px auto;
		margin-top: 24px;
	}

	.osechi_benefit img.explanation{
		width: 340px !important;
	}

	.osechi_benefit > div + div.benefit_3 {
		margin-top: 27px;
	}

	.osechi_benefit > div + div.benefit_4 {
		margin-top: 27px;
	}

	.osechi_intro {
		padding: 25px 20px;
	}

	.osechi_intro2 > p {
    max-width: 85%;
    margin: 24px auto 64px;
    padding: 14px;
    font-size: 18px;
	}

	.osechi_intro img {
    max-width: 200px;
	}

    div.space-50,div.space-20 {
        width: 7px;
    }

    .tab-content-title img {
        width: 100%;
    }

    .tab-button {
        border-radius: 7px 7px 0 0;
        max-width: 44%;
        font-size: 16px;
		height: 30px;
    }

	.tab-button.active {
		height: 37px;
	}

	div.black-boder {
    height: 16px;
    bottom: -16px;
	}

	.tab-content .swiper-button-next, .tab-content .swiper-button-prev {
		top: var(--swiper-navigation-top-offset, 50%);
	}
	
	.tab-content-title {
        padding: 0 10px;
        margin: 20px auto 22px;
        max-width: 90%;
        font-size: 22px;
    }

	.tabs .tab_title {
		margin-bottom: 15px;
		width: 77%;
	}

	.tab-content .swiper_attention {
		margin: 0 auto 13px;
		font-size: 12px;
		font-weight: 700;
	}

    .oshinagaki, .osechi_maker {
        top: -320px;
    }
	
	.oshinagaki img {
		width: 72%;
	}

	.oshina_title {
    font-size: 16px;
	text-align: center;
	}

	.oshinagaki {
		padding: 8px 20px 24px;
        font-size: 12px;
		text-align: left;
	}

	.osechi_main .main_01 {
		margin-bottom: 8px;
	}
	
	.osechi_maker {
		padding: 0 0 35px;
	}

	.tab-content-title img.title_ju {
		margin-bottom: 0;
	}
	
	/* おせち紹介 */
	.area_tab_content {
		display: block;
	}
	.area_tab_content .osechi_link {
		width: 90%;
/*		margin: 0 auto;*/
		margin: 0 auto 20px;
	}
	.osechi_detail {
		width: 90%;
		margin: 0 auto 20px;
	}
	.tab-content {
		background-size: 182%;
	}
	.click_attention {
		width: 36%;
        left: 69%;
        height: fit-content;
        top: 0;
        bottom: -88%;
	}
	.click_attention p {
		font-size: 12px;
		margin: 9px 0 0;
	}
	.osechi_benefit > div + div {
		margin-top: 27px;
	}
	.osechi_imgzoom{
		transform: scale(1.1);
	}
}

.boyoyon{
    animation:boyon 1s ease-out forwards;
}

@keyframes boyon{

    0%{
        opacity:0;
        transform:scale(0.6);
    }

    60%{
        opacity:1;
        transform:scale(1.15);
    }

    80%{
        transform:scale(0.95);
    }

    100%{
        transform:scale(1);
    }
}