@charset "utf-8";

/*
**************************************************************************
*	雪印メグミルク - 工場見学 - トップ
**************************************************************************/

/*----------------------------------------
	override
----------------------------------------*/
#content #contentArea {
	overflow: hidden;
}

/*----------------------------------------
	keyframes
----------------------------------------*/
@keyframes swingMiku {
    0% {transform: rotate(-3deg);}
    100% {transform: rotate(3deg);}
}

/*----------------------------------------
	イラスト
----------------------------------------*/
.illust {
    position: absolute;
    width: 160px;
    height: 160px;
}
.illust:before {
    content: '';
    display: block;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
.illust[class*="slice"]:before {
    background-image: url(/fun/factory/assets/top/img/ill_slice.svg);
}
.illust[class*="six"]:before {
    background-image: url(/fun/factory/assets/top/img/ill_6p.svg);
}
.illust[class*="camanbert"]:before {
    background-image: url(/fun/factory/assets/top/img/ill_camanbert.svg);
}
.illust[class*="milk"]:before {
    background-image: url(/fun/factory/assets/top/img/ill_milk.svg);
}
.illust[class*="glass"]:before {
    background-image: url(/fun/factory/assets/top/img/ill_glass.svg);
}
.illust[class*="yogurt"]:before {
    background-image: url(/fun/factory/assets/top/img/ill_yogurt.svg);
}
.illust[class*="spoon"]:before {
    background-image: url(/fun/factory/assets/top/img/ill_spoon.svg);
}

@media screen and (max-width: 736px) {
    .illust {
        width: 120px;
        height: 120px;
    }
}

/*----------------------------------------
	メインビジュアル
----------------------------------------*/
#stage .wrp-mainvisual {
    margin-bottom: -313px;
    padding-top: 40px;
}
#stage .wrp-mainvisual .inner {
    position: relative;
    max-width: 1000px;
    width: 100%;
    margin: auto;
}
#stage .wrp-mainvisual .inner:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;
    padding-top: 80px;
    background: url(/fun/factory/assets/top/img/mask_mainvisual.png) no-repeat center top;
    background-size: 100% 100%;
}
#stage .wrp-mainvisual .ttl {
    position: absolute;
    top: 50px;
    left: 0;
    right: 0;
    z-index: 2;
    width: 286px;
    margin: auto;
    overflow: hidden;
}
#stage .wrp-mainvisual .ttl:before {
    content: '';
    display: block;
    padding-top: 54.89%;
    background: url(/fun/factory/assets/top/img/ttl_mainvisual.svg) no-repeat center;
    background-size: contain;
}
#stage .wrp-mainvisual .ttl span {
    display: block;
    width: 100%;
    height: 0;
    white-space: nowrap;
    text-indent: 100%;
}

#stage .wrp-mainvisual .list > li {
    position: relative;
}

#stage .wrp-mainvisual .list a {
    display: block;
}
#stage .wrp-mainvisual .list img {
    width: 100%;
    height: auto;
}

/* メインビジュアル slick */
#stage .wrp-mainvisual .slick-list {
    position: relative;
    z-index: 0;
    background: #fff;
}
#stage .wrp-mainvisual .upper {
    position: relative;
    max-width: 1000px;
    min-height: 450px;
}
#stage .wrp-mainvisual .upper img {
    display: block;
}
#stage .wrp-mainvisual .upper .logo {
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    width: 700px;
}
#stage .wrp-mainvisual .lower {
    display: flex;
    align-items: center;
    padding: 20px 40px;
    height: 90px;
    box-sizing: border-box;
    background: #fff;
    color: #333;
    font-size: 14px;
}
#stage .wrp-mainvisual .lower .text {
    flex: 0 0 calc(100% - 290px);
    padding-right: 43px;
    box-sizing: border-box;
}
#stage .wrp-mainvisual .lower .button {
    position: relative;
    width: 290px;
    height: 100%;
}
#stage .wrp-mainvisual .lower .button a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 40px;
    width: 290px;
    height: 100%;
    background: #0039A6;
    border-radius: 25px;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    transition: transform .3s;
}
#stage .wrp-mainvisual .lower .button.innerLink a {
    background: #06AFE2;
}
#stage .wrp-mainvisual .lower .button a:hover {
    transform: scale(1.02);
}
#stage .wrp-mainvisual .lower .button a::before {
    display: block;
    content: '';
    width: 15px;
    height: 15px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-49.5%);
    /* background: url(/fun/factory/assets/common/img/ico_blank_white.png) no-repeat center center;
    background-size: 15px auto; */
}
#stage .wrp-mainvisual .lower .button.innerLink a::before {
    background: url(/fun/factory/assets/common/img/ico_arrow_bottom_white.png) no-repeat center center;
    background-size: 15px auto;
}
@media screen and (max-width: 736px) {
    #stage .wrp-mainvisual .upper {
        min-height: 74.666666667vw;
    }
    #stage .wrp-mainvisual .upper .logo {
        top: calc( 27 / 375 * 100vw);
        width: 100%;
    }
    #stage .wrp-mainvisual .lower {
        display: block;
        padding: 20px;
        height: auto;
    }
    #stage .wrp-mainvisual .lower .text {
        flex: none;
        padding-right: 0;
    }
    #stage .wrp-mainvisual .lower .button {
        margin: 15px auto 0;
    }
    #stage .wrp-mainvisual .lower .button a {
        padding: 15px 40px;
    }
    #stage .wrp-mainvisual .lower .button a:hover {
        transform: scale(1);
    }
}

#stage .wrp-mainvisual .thumblist {
    background: #0039a6;
    padding: 0 20px 18px;
}
#stage .wrp-mainvisual .thumblist .slick-list {
    overflow: visible;
    background: transparent;
    width: 100%;
}
#stage .wrp-mainvisual .thumblist .item {
    width: 470px !important;
}
#stage .wrp-mainvisual .thumblist .item + .item {
    margin-left: 20px;
}
#stage .wrp-mainvisual .thumblist .thumb {
    margin-top: 20px;
    padding: 13px 18px;
    background: #E1F3FF;
    border-radius: 15px;
    transition: all .2s ease-in-out;
    cursor: pointer;
}
#stage .wrp-mainvisual .thumblist .slick-current .thumb {
    position: relative;
    margin-top: 0;
    padding: 23px 18px 23px;
    background: #fff;
    border-radius: 0 0 15px 15px;
}
#stage .wrp-mainvisual .thumblist .slick-slide:not(.slick-current) .thumb:hover {
    transform: scale(1.02);
}
#stage .wrp-mainvisual .thumblist .slick-current .thumb::before {
    position: absolute;
    top: 0;
    left: 10px;
    right: 10px;
    display: block;
    content: '';
    border-top: 1px dashed #0039a6;
    height: 1px;
}
#stage .wrp-mainvisual .thumblist .text {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 64px;
	color: #0039A6;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
}
#stage .wrp-mainvisual .thumblist .text > span {
	display: block;
    flex: 0 0 40px;
	width: 40px;
	margin-right: 9px;
}
#stage .wrp-mainvisual .thumblist .thumb img {
    width: 100%;
}
@media screen and (max-width: 736px) {
    #stage .wrp-mainvisual .thumblist {
        background: #0039a6;
        padding: 0 11px 14px;
    }
    #stage .wrp-mainvisual .thumblist .item {
        width: calc((100% - 20px) / 2 ) !important;
    }
    #stage .wrp-mainvisual .thumblist .item + .item {
        margin-left: 10px;
    }
    #stage .wrp-mainvisual .thumblist .thumb {
        margin-top: 14px;
        padding: 11px 5px;
        border-radius: 10px;
    }
    #stage .wrp-mainvisual .thumblist .slick-current .thumb {
        padding: 19px 5px 17px;
        border-radius: 0 0 10px 10px;
    }
    #stage .wrp-mainvisual .thumblist .slick-slide:not(.slick-current) .thumb:hover {
        transform: scale(1);
    }
    #stage .wrp-mainvisual .thumblist .text {
        min-height: 40px;
        font-size: 15px;
        line-height: 1.2;
    }
    #stage .wrp-mainvisual .thumblist .text > span {
        flex: 0 0 30px;
        width: 30px;
        margin-right: 5px;
    }
}

@media screen and (max-width: 736px) {
    #stage .wrp-mainvisual {
        padding-top: 20px;
        margin-bottom: 0;
        background: #fff;
        /* background: #BCEAF8; */
    }
    #stage .wrp-mainvisual .virtual_factory {
        position: absolute;
        z-index: 99;
        top: 4.2%;
        right: 3%;
    }
    #stage .wrp-mainvisual .virtual_factory img{
        width: 150px;
    }
    #stage .wrp-mainvisual .inner:before {
        padding-top: 8%;
        background: url(/fun/factory/assets/top/img/mask_mainvisual.png) no-repeat center top;
        background-size: 100% 100%;
    }

    #stage .wrp-mainvisual .ttl {
        top: 8.5%;
        width: 58.6%;
    }

    #stage .wrp-mainvisual .list {
        background: #BCEAF8;
    }
}


/*----------------------------------------
	お知らせ
----------------------------------------*/
#stage .wrp-news {
    background: #BCEAF8;
}

#stage .wrp-news:before {
    content: '';
    display: block;
    margin-left: -20px;
    margin-right: -20px;
    padding-top: 10px;
    background: url(/fun/factory/assets/top/img/bg_wave_white.png) repeat-x center top;
    background-size: auto 100%;
}

#stage .wrp-news .inner {
    max-width: 1000px;
    margin: auto;
    padding: 343px 0 40px;
}

#stage .wrp-news .inner .wrp-news_lead {
    text-align: center;
    margin: 0 0 40px;
}

#stage .wrp-news .inner .wrp-news_lead .lead {
    color: #0039A6;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.8;
}

#stage .wrp-news .area-list {
    position: relative;
}

#stage .wrp-news .list > li:not(:last-child) {
    margin-bottom: 20px;
}

#stage .wrp-news .list > li {
    background: #fff;
    border-radius: 15px;
    overflow: hidden;
    transition: transform .3s;
}

#stage .wrp-news .list > li > a {
    display: block;
    color: #0039A6;
}

#stage .wrp-news .list > li > a:hover {
	text-decoration: none;
}

#stage .wrp-news .list .body {
    padding: 20px 30px;
    font-size: 15px;
    line-height: 1.8;
}

#stage .wrp-news .list .meta {
    display: table;
    vertical-align: middle;
    margin-bottom: 17px;
}

#stage .wrp-news .list .pubdate {
    display: table-cell;
    padding-left: 20px;
    font-size: 15px;
    color: #333;
}

#stage .wrp-news .list .tags {
    display: table-cell;
    letter-spacing: -0.5em;
}

#stage .wrp-news .list .mod-tag:not(:last-child) {
    margin-right: 10px;
}

#stage .wrp-news .list a[target="_blank"] .txt {
    position: relative;
    padding-left: 30px;
}

#stage .wrp-news .list a[target="_blank"] .txt:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    background: url(/fun/factory/assets/common/img/ico_blank.png) no-repeat center;
    background-size: auto 14px;
}

#stage .wrp-news .list a .txt p > span {
	display: inline;
	border-bottom: 1px solid transparent;
	transition: border-color .3s;
}

#stage .wrp-news .list a:hover .txt p > span {
	border-color: #0039A6;
}

#stage .wrp-news .toDetail {
    margin-top: 15px;
    font-size: 15px;
    font-weight: bold;
    text-align: right;
}

#stage .wrp-news .toDetail a {
    color: #0039A6;
}

@media screen and (max-width: 736px) {
	#stage .wrp-news {
		padding-left: 20px;
		padding-right: 20px;
	}

    #stage .wrp-news:before {
        display: none;
    }

    #stage .wrp-news .inner {
        padding: 50px 0 40px;
    }

    #stage .wrp-news .inner .wrp-news_lead .lead {
        font-size: 16px;
    }
    
    #stage .wrp-news .area-list {
        margin-left: auto;
        margin-right: auto;
    }
    
    #stage .wrp-news .list > li:hover {
        transform: none;
    }

    #stage .wrp-news .list .body {
        padding: 20px;
    }

    #stage .wrp-news .list .meta {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
    }

    #stage .wrp-news .list .tags {
        white-space: nowrap;
    }

    #stage .wrp-news .list .pubdate {
        display: block;
		margin-left: 20px;
		padding: 0;
    }

    #stage .wrp-news .toDetail {
        margin-top: 20px;
    }
}

/*----------------------------------------
	工場・歴史館のご紹介
----------------------------------------*/
#stage .wrp-location {
    background: #BCEAF8;
}

#stage .wrp-location .inner {
    position: relative;
    max-width: 1000px;
    margin: auto;
    padding: 30px 0 97px;
}

#stage .wrp-location .ttl {
    margin-bottom: 20px;
    text-align: center;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
    font-size: 36px;
    line-height: 1.4;
    color: #0039A6;
}

#stage .wrp-location .lead {
    font-size: 15px;
    line-height: 1.8;
    text-align: center;
}

#stage .wrp-location .area-map {
    position: relative;
		z-index: 1;
    margin-top: 70px;
    margin-bottom: 58px;
    padding-top: 85px;
    padding-bottom: 0; /* 200px */
}

#stage .wrp-location .area-map .map {
    position: relative;
    display: table;
    margin: auto;
    text-align: center;
}

#stage .wrp-location .area-map .miku {
    position: absolute;
    top: -68px;
    left: -20px;
    display: block;
    width: 230px;
    height: 335px;
}

#stage .wrp-location .area-map .miku:before {
    content: '';
    display: block;
	width: 200px;
	padding-top: 97px;
	margin-bottom: 10px;
    background: url(/fun/factory/assets/top/img/ill_baloon_location.svg) no-repeat left center;
    background-size: auto 100%;
	animation: swingMiku 3s ease-in-out 0s infinite alternate;
}

#stage .wrp-location .area-map .miku:after {
    content: '';
    display: block;
	width: 230px;
	padding-top: 233px;
    background: url(/fun/factory/assets/common/img/ill_miku_type_02.svg) no-repeat left center;
    background-size: contain;
	animation: swingMiku 2.4s ease-in-out 0s infinite alternate;
}

#stage .wrp-location .area-map .list > li {
    position: absolute;
    width: 230px;
}

#stage .wrp-location .area-map .list > li > a{
    display: block;
}

#stage .wrp-location .area-map .list > li > a:hover  .body {
    transform: scale(1.1);
}

#stage .wrp-location .area-map .list .body {
    position: relative;
    height: 170px;
    padding: 40px 15px 15px;
	background: #fff;
    border-radius: 0 15px 15px 15px;
    box-sizing: border-box;
	transition: transform .3s;
}

#stage .wrp-location .area-map .list .location {
    position: absolute;
    top: 0;
    left: 0;
    height: 24px;
    font-size: 0;
}

#stage .wrp-location .area-map .list .location span {
	position: relative;
    display: inline-block;
    vertical-align: top;
    min-width: 80px;
    height: 24px;
    padding: 0 16px 0 10px;
    font-size: 13px;
    line-height: 24px;
    background: url(/fun/factory/assets/top/img/bg_ribbon.svg) no-repeat left center;
	background-size: 100%;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
}

#stage .wrp-location .area-map .list .name {
    font-size: 15px;
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
    color: #0039A6;
}

#stage .wrp-location .area-map .list .online,
#stage .wrp-location .area-map .list .mirukuruwakaru {
    position: absolute;
    right: -18px;
    top: -18px;
    z-index: 1;
    width: 60px;
    height: 60px;
}
#stage .wrp-location .area-map .list .online img,
#stage .wrp-location .area-map .list .mirukuruwakaru img {
    width: 60px;
    height: 60px;
}

#stage .wrp-location .area-map .list .products {
    display: table;
    border-spacing: 8px 0;
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
}

#stage .wrp-location .area-map .list .products > li {
    display: table-cell;
    vertical-align: middle;
}

#stage .wrp-location .area-map .list .products img {
    width: 80px;
    height: auto;
}

#stage .wrp-location .area-map .list > li#sapporo {
    top: 0;
    left: 0;
}

#stage .wrp-location .area-map .list > li#sapporo .name {
    margin-top: -12px;
}
#stage .wrp-location .area-map .list > li#sapporo .products {
    margin-top: 5px;
}

#stage .wrp-location .area-map .list > li#nakashibetsu {
    top: 0;
    right: 0;
}

#stage .wrp-location .area-map .list > li#taiki {
    top: 190px;
    left: 0;
}

#stage .wrp-location .area-map .list > li#michinoku {
    top: 380px;
    /* top: 190px; */
    right: 0;
}

#stage .wrp-location .area-map .list > li#ami {
    top: 0;
    /* top: 380px; */
    right: 0;
}

#stage .wrp-location .area-map .list > li#noda {
    top: 190px;
    /* bottom: 0; */
    right: 0;
}
#stage .wrp-location .area-map .list > li#noda .name {
    margin-top: -4px;
}
#stage .wrp-location .area-map .list > li#noda .name .subtext {
    display: block;
    font-size: 14px;
}

#stage .wrp-location .area-map .list > li#kyoto {
    top: 380px;
    left: 0;
    /* bottom: 0;
    right: 255px; */
}

#stage .wrp-location .area-map .list > li#ebina {
    top: 190px; /* 380px */
    left: 0;
}

#stage .wrp-location .area-map .list > li#ikegami {
    bottom: 0;
    left: 255px;
}

#stage .wrp-location .area-map .list > li#kobe {
    bottom: 0;
    left: 0;
}

#stage .wrp-location .area-map .marker {
    position: absolute;
    width: 30px;
    height: 30px;
    transform-origin: center bottom;
    transition: transform .3s;
}

#stage .wrp-location .area-map .marker span {
    position: relative;
    display: block;
    height: 100%;
}

#stage .wrp-location .area-map .marker span:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: url(/fun/factory/assets/common/img/ico_pin.svg) no-repeat center;
    background-size: contain;
    transition: opacity .3s;
}

#stage .wrp-location .area-map .marker span:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background: url(/fun/factory/assets/common/img/ico_pin_active.svg) no-repeat center;
    background-size: contain;
    opacity: 0;
    transition: opacity .3s;
}

#stage .wrp-location .area-map .marker.is-active {
    z-index: 1;
    transform: scale(1.4);
}

#stage .wrp-location .area-map .marker.is-active span:before {
    opacity: 0;
}
#stage .wrp-location .area-map .marker.is-active span:after {
    opacity: 1;
}

#stage .wrp-location .area-map .marker#marker-sapporo {
    top: 43px;
    left: 310px;
}
#stage .wrp-location .area-map .marker#marker-nakashibetsu {
    top: 43px;
    left: 389px;
}
#stage .wrp-location .area-map .marker#marker-taiki {
    top: 53px;
    left: 375px;
}
#stage .wrp-location .area-map .marker#marker-michinoku {
    top: 168px;
    left: 334px;
}
#stage .wrp-location .area-map .marker#marker-ami {
    top: 267px;
    left: 336px;
}
#stage .wrp-location .area-map .marker#marker-noda {
    top: 280px;
    left: 320px;
}
#stage .wrp-location .area-map .marker#marker-ebina {
    top: 303px;
    left: 301px;
}
#stage .wrp-location .area-map .marker#marker-kyoto {
    top: 292px;
    left: 181px;
}
#stage .wrp-location .area-map .marker#marker-ikegami {
    top: 294px;
    left: 192px;
}
#stage .wrp-location .area-map .marker#marker-kobe {
    top: 312px;
    left: 173px;
}

#stage .wrp-location .note {
    font-size: 13px;
    line-height: 1.8;
    color: #666;
}

#stage .wrp-location .wrp-location_items {
    background-color: #fff;
    padding: 20px 50px;
    border-radius: 15px;
    border: 1px dashed #0039A6;
    margin: 50px 0 0;
    display: flex;
    justify-content: space-between;
}

#stage .wrp-location .wrp-location_items .wrp-location_logo {
    flex: 0 0 100px;
}

#stage .wrp-location .wrp-location_items .wrp-location_logo img {
    width: 100%;
}

#stage .wrp-location .wrp-location_items .wrp-location_tx {
    flex: 0 0 760px;
}

#stage .wrp-location .wrp-location_items .wrp-location_tx p {
    font-size: 15px;
    line-height: 1.8;
}


@media screen and (max-width: 736px) {
	#stage .wrp-location {
		padding-left: 20px;
		padding-right: 20px;
	}

    #stage .wrp-location .inner {
        padding: 100px 0 70px;
    }

    #stage .wrp-location .ttl {
        margin-bottom: 20px;
        font-size: 28px;
        line-height: 1.5;
    }

    #stage .wrp-location .lead {
        font-size: 15px;
        line-height: 1.8;
        text-align: left;
    }

    #stage .wrp-location .area-map {
        position: relative;
        margin-top: 20px;
        margin-bottom: 25px;
        padding-top: 0;
        padding-bottom: 0;
    }

    #stage .wrp-location .area-map .map {
        margin-bottom: 25px;
    }

    #stage .wrp-location .area-map .miku {
        position: static;
        width: 170px;
        height: 247px;
        margin: 0 auto;
    }

	#stage .wrp-location .area-map .miku:before {
		width: 145px;
		padding-top: 70px;
	}

	#stage .wrp-location .area-map .miku:after {
		width: 168px;
		padding-top: 168px;
	}

    #stage .wrp-location .area-map .archipelago {
        display: none;
    }

    #stage .wrp-location .area-map .marker {
        display: none;
    }

    #stage .wrp-location .area-map .list {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        margin: 0 -7px -20px;
    }

    #stage .wrp-location .area-map .list > li {
        position: static;
        width: calc(50% - 15px);
        margin: 0 7px 20px;
    }

	#stage .wrp-location .area-map .list > li > a {
		height: 100%;
	}

    #stage .wrp-location .area-map .list > li > a:hover .body {
        transform: none;
    }

    #stage .wrp-location .area-map .list > li .body {
		display: flex;
		flex-direction: column;
        padding: 35px 16px 15px;
        height: 100%;
        min-height: 0;
    }

    #stage .wrp-location .area-map .list > li .name {
		margin-bottom: 10px;
        font-size: 13px;
        line-height: 1.5;
        text-align: left;
    }

	#stage .wrp-location .area-map .list .products {
		table-layout: fixed;
		margin-top: auto;
	}

	#stage .wrp-location .area-map .list .products img {
		width: 100%;
		max-width: 70px;
		height: auto;
	}

    #stage .wrp-location .area-map .list > li#sapporo .name {
        margin-top: 0;
    }
    #stage .wrp-location .area-map .list > li#sapporo .products {
        margin-top: 0;
    }
    #stage .wrp-location .area-map .list > li#noda .name {
        margin-top: 0;
    }
    #stage .wrp-location .area-map .list > li#noda .name .subtext {
        font-size: 10px;
        text-align: left;
        word-break: keep-all;
    }

    /*** illust ***/
    #stage .wrp-location .slice {
        display: none;
    }
    #stage .wrp-location .spoon {
        top: -25px;
        left: 0;
        right: 0;
        margin: auto;
    }
    #stage .wrp-location .spoon:before {
        transform: translateX(156px);
    }
    #stage .wrp-location .six {
        left: 0;
        right: 0;
        margin: auto;
    }
    #stage .wrp-location .six:before {
        transform: rotate(-30deg) translateX(-20px);
    }
    #stage .wrp-location .camanbert {
        top: -25px;
        left: 0;
        right: 0;
        margin: auto;
    }
    #stage .wrp-location .camanbert:before {
        transform: translateX(-160px);
    }
    #stage .wrp-location .milk {
        display: none;
    }

    #stage .wrp-location .wrp-location_items {
        padding: 20px;
        display: block;
    }
    
    #stage .wrp-location .wrp-location_items .wrp-location_logo {
        max-width: 100px;
        margin: 0 auto 20px;
    }
    
    #stage .wrp-location .wrp-location_items .wrp-location_logo img {
        width: 100%;
    }
    
    #stage .wrp-location .wrp-location_items .wrp-location_tx {
        flex: auto;
    }
    
    #stage .wrp-location .wrp-location_items .wrp-location_tx p {
        font-size: 13px;
    }
}

/*** other factory ***/
#stage .location-other {
    margin-top: 40px;
}
#stage .location-other .lead {
    text-align: left;
}
#stage .location-other-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
}
#stage .location-other-list > li {
    width: calc((100% - 30px * 3 )/ 4 );
    min-height: 110px;
}
#stage .location-other-list > li:not(:nth-of-type(4n)) {
    margin-right: 30px;
}
#stage .location-other-list a {
    display: block;
    height: 100%;
}
#stage .location-other-list .other-factory {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px 13px 13px;
    height: 100%;
    min-height: 60px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 15px;
    color: #0039A6;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    transform: scale(1);
    transition: transform .3s;
}
#stage .location-other-list .other-factory span {
    display: block;
    margin-left: 24px;
    text-indent: -24px;
}
#stage .location-other-list .other-factory span::before {
	display: inline-block;
	content: '';
    margin-right: 8px;
	width: 16px;
	height: 16px;
	background: #fff url(/news/common/img/icon/icn_pdf.png) no-repeat center center;
	background-size: 14px auto;
    vertical-align: text-top;
    text-indent: 0;
}
#stage .location-other-list .other-factory small {
    margin-top: 8px;
    color: #333;
    font-weight: 400;
}
#stage .location-other-list a:hover  .other-factory {
    transform: scale(1.1);
}
@media screen and (max-width: 736px) {
    #stage .location-other .lead {
        text-align: center;
    }
    #stage .location-other-list {
        margin-top: 25px;
    }
    #stage .location-other-list > li {
        width: calc((100% - 15px )/ 2 );
    }
    #stage .location-other-list > li:not(:nth-of-type(4n)) {
        margin-right: 0;
    }
    #stage .location-other-list > li:not(:nth-of-type(2n)) {
        margin-right: 15px;
    }
    #stage .location-other-list > li:not(:nth-of-type(-n + 2)) {
        margin-top: 15px;
    }
    #stage .location-other-list a:hover  .other-factory {
        transform: scale(1);
    }
}

/*** other-factory-modal ***/
#stage .location-other-modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    padding: 80px 20px;
}
#stage .location-other-modal.is-inview {
    display: flex !important;
}
#stage .location-other-modal::before {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background: #0039A6;
    opacity: .5;
}
#stage .location-other-modal .modal-body {
    position: relative;
    width: 100%;
    max-width: 485px;
    margin: 0 auto;
}
#stage .location-other-modal .modal-item {
    position: relative;
    display: none;
    padding: 40px;
    background: #fff;
    border-radius: 15px;
}
#stage .location-other-modal .modal-item.is-inview {
    display: block;
}
#stage .location-other-modal .modal-item .sttl {
    margin: 40px 0 25px;
}
#stage .location-other-modal .modal-item .tel {
    margin-bottom: 15px;
}
#stage .location-other-modal .modal-item .tel a {
    color: initial;
    font-size: 23px;
}
#stage .location-other-modal .modal-item .time {
    display: flex;
}
#stage .location-other-modal .modal-item .time::before {
    display: block;
    content: '受付時間';
    font-weight: 700;
    width: 76px;
}
#stage .location-other-modal .modal-close {
    position: absolute;
    top: -26px;
    right: -26px;
    width: 52px;
    height: 52px;
	transform: scale(1);
	transition: transform .3s;
}
#stage .location-other-modal .modal-close:hover {
	transform: scale(1.1);
	cursor: pointer;
}

@media screen and (max-width: 736px) {
    #stage .location-other-modal .modal-item {
        padding: 40px 20px 45px;
    }
    #stage .location-other-modal .modal-item .sttl {
        margin-top: 20px;
    }
    #stage .location-other-modal .modal-close {
        top: -26px;
        right: -19px;
    }
	#stage .location-other-modal .modal-close:hover {
		transform: scale(1);
	}
}


/*** illust ***/
#stage .wrp-location .slice {
    top: -60px;
    right: 100px;
}
#stage .wrp-location .slice:before {
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg);
}
#stage .wrp-location .spoon {
    top: 0;
    right: -100px;
}
#stage .wrp-location .six {
    top: -60px;
    left: 170px;
}
#stage .wrp-location .six {
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg);
}
#stage .wrp-location .camanbert {
    top: 0;
    left: 0;
}
#stage .wrp-location .milk {
    top: -165px;
    left: -100px;
}

/*----------------------------------------
	工場見学の楽しみ方
----------------------------------------*/
#stage .wrp-highlight {
    position: relative;
    background: #CBF4A7;
}

#stage .wrp-highlight:before {
    content: '';
    display: block;
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    z-index: 1;
    padding-top: 10px;
    background: url(/fun/factory/assets/top/img/bg_wave_green.png) repeat-x center top;
    background-size: auto 100%;
    -ms-transform: scale(1, -1);
    transform: scale(1, -1);
}

#stage .wrp-highlight:after {
    content: '';
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1;
    padding-top: 10px;
    background: url(/fun/factory/assets/top/img/bg_wave_green.png) repeat-x center top;
    background-size: auto 100%;
}

#stage .wrp-highlight .inner {
    position: relative;
    max-width: 1000px;
    margin: auto;
    padding: 100px 0 60px;
}

#stage .wrp-highlight .ttl {
    margin-bottom: 35px;
    text-align: center;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
    font-size: 36px;
    line-height: 1.4;
    color: #0039A6;
}

#stage .wrp-highlight .items {
    position: relative;
    z-index: 1;
}
#stage .wrp-highlight .items .fukidashi {
    position: absolute;
    right: 25px;
    bottom: 112px;
    display: block;
    width: 378px;
    height: 176px;
}

#stage .wrp-highlight .items .fukidashi:before {
    content: '';
    display: block;
    width: 378px;
    height: 176px;
    background: url(/fun/factory/assets/top/img/ill_baloon_highlight.svg) no-repeat center;
    background-size: auto 100%;
	animation: swingMiku 3s ease-in-out 0s infinite alternate;
}

#stage .wrp-highlight .items-inner {
    margin-bottom: -80px;
    overflow: hidden;
}

#stage .wrp-highlight .item {
    width: 479px;
    margin-bottom: 80px;
}

#stage .wrp-highlight .item:nth-child(odd) {
    float: left;
}

#stage .wrp-highlight .item:nth-child(even) {
    float: right;
}

#stage .wrp-highlight .item > a{
    display: block;
}

#stage .wrp-highlight .item .body{
    overflow: hidden;
}

#stage .wrp-highlight .item .img {
    position: relative;
    float: left;
    margin-right: -22px;
    width: 250px;
    border-radius: 50%;
    overflow: hidden;
}

#stage .wrp-highlight .item .img img {
    width: 100%;
    height: auto;
}

#stage .wrp-highlight .item .txt {
    float: right;
    width: 250px;
    height: 250px;
    padding: 10px 40px;
    background: #fff;
    border-radius: 20px;
    box-sizing: border-box;
    text-align: left;
    font-weight: bold;
    font-size: 15px;
    line-height: 1.8;
    color: #333;
}

#stage .wrp-highlight .item .txt-inner {
    position: relative;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

#stage .wrp-highlight .item .sttl {
    margin-bottom: 10px;
    font-size: 18px;
    line-height: 1.4;
	font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
    color: #0039A6;
    text-align: center;
}

#stage .wrp-highlight .item .sttl span {
    display: block;
    font-size: 24px;
}

#stage .wrp-highlight .item .txt p {
    font-size: 15px;
    line-height: 1.8;
}

#stage .wrp-highlight .item.rightwards .img {
   float: right;
   margin-right: auto;
   margin-left: -22px;
}

#stage .wrp-highlight .item.rightwards .txt {
   float: right;
}

#stage .wrp-highlight .note {
    margin-top: 55px;
    font-size: 13px;
    line-height: 1.8;
    color: #666;
    text-align: left;
}

/*** illust ***/
#stage .wrp-highlight .slice {
    bottom: 195px;
    right: 330px;
}
#stage .wrp-highlight .slice:before {
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg);
}
#stage .wrp-highlight .spoon {
    top: 0;
    right: -100px;
}
#stage .wrp-highlight .six_01 {
    top: 30px;
    right: 160px;
}
#stage .wrp-highlight .six_01:before {
    -ms-transform: rotate(30deg);
    transform: rotate(30deg);
}
#stage .wrp-highlight .six_02 {
    top: 60px;
    left: -100px;
}
#stage .wrp-highlight .six_02:before {
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg);
}
#stage .wrp-highlight .camanbert_01 {
    top: 0;
    right: -100px;
}
#stage .wrp-highlight .camanbert_02 {
    bottom: 335px;
    left: -100px;
}
#stage .wrp-highlight .milk {
    top: 10px;
    left: 130px;
}
#stage .wrp-highlight .glass {
    bottom: 195px;
    right: -80px;
}
#stage .wrp-highlight .glass:before {
    -ms-transform: rotate(20deg);
    transform: rotate(20deg);
}

@media screen and (max-width: 736px) {
	#stage .wrp-highlight {
		padding-left: 20px;
		padding-right: 20px;
	}

    #stage .wrp-highlight:before {
        padding-top: 6px;
    }

    #stage .wrp-highlight:after {
        padding-top: 6px;
    }

    #stage .wrp-highlight .inner {
        padding: 70px 0 55px;
    }

    #stage .wrp-highlight .ttl {
        position: relative;
        z-index: 1;
        margin-bottom: 20px;
        font-size: 28px;
        line-height: 1.5;
    }

    #stage .wrp-highlight .items {
        margin-bottom: 0;
    }

    #stage .wrp-highlight .items .miku {
        position: static;
        width: 100%;
        height: 200px;
        margin-top: 28px;
        margin-left: auto;
        margin-right: auto;
    }

	 #stage .wrp-highlight .items .miku:before {
		 width: 100%;
		 padding-top: 0;
	 }

	 #stage .wrp-highlight .items .miku:after {
		width: 241px;
		padding-top: 220px;
	}

    #stage .wrp-highlight .item {
        float: none!important;
        width: auto;
        margin-bottom: 80px;
    }

    #stage .wrp-highlight .item .body{
        display: flex;
        align-items: center;
        overflow: visible;
    }

    #stage .wrp-highlight .item .img {
        flex-shrink: 0;
        float: none!important;
        width: 140px;
        margin: 0!important;
    }

    #stage .wrp-highlight .item .txt {
        float: none!important;
        flex: 1 0 auto;
        height: auto;
        /* height: 200px; */
        margin-left: -100px;
        padding: 30px 30px 30px 115px;
    }

	#stage .wrp-highlight .item .txt-inner {
		position: static;
		transform: none;
	}

    #stage .wrp-highlight .item .txt p {
        display: table;
        margin: auto;
    }

    #stage .wrp-highlight .item:not(:last-child) {
        margin-bottom: 40px;
    }


    #stage .wrp-highlight .item:nth-child(even) .body {
        flex-direction: row-reverse
    }

    #stage .wrp-highlight .item:nth-child(even) .txt {
        margin-left: 0;
        margin-right: -100px;
        padding: 30px 115px 30px 30px;
    }

    /*** illust ***/
    #stage .wrp-highlight .slice {
        right: 0;
        left: 0;
        top: auto;
        bottom: 290px;
        margin: auto;
    }
    #stage .wrp-highlight .slice:before {
        transform: translateX(-150px) rotate(-30deg);
    }
    #stage .wrp-highlight .spoon {
        right: 0;
        left: 0;
        margin: auto;
    }
    #stage .wrp-highlight .six_01 {
        top: 40px;
        right: 0;
        left: 0;
        margin: auto;
    }
    #stage .wrp-highlight .six_01:before {
        transform: translateX(160px) rotate(30deg);
    }
    #stage .wrp-highlight .six_02 {
        top: 284px;
        left: -60px;
    }
    #stage .wrp-highlight .camanbert_01 {
        top: 550px;
        right: -60px;
    }
    #stage .wrp-highlight .camanbert_02 {
        display: none;
    }
    #stage .wrp-highlight .items .fukidashi {
        top: -10px;
        right: 0;
        left: 0;
        margin: 30px auto 0;
        position: static;
        width: 100%;
    }
    #stage .wrp-highlight .items .fukidashi:before {
        transform: translateX(-140px);
        width: 100%;
        background-size: contain;
    }
    #stage .wrp-highlight .glass {
        right: 0;
        left: 0;
        top: auto;
        bottom: 200px;
        margin: auto;
    }
    #stage .wrp-highlight .glass:before {
        -ms-transform: translateX(170px) rotate(20deg);
        transform: translateX(170px) rotate(20deg);
    }
}

/*----------------------------------------
	お申し込みの流れ
----------------------------------------*/
#stage .wrp-flow {
    position: relative;
    background: #BCEAF8;
}

#stage .wrp-flow .inner {
    position: relative;
    max-width: 1000px;
    margin: auto;
    padding: 100px 0 130px;
}

#stage .wrp-flow .ttl {
    margin-bottom: 25px;
    text-align: center;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
    font-size: 36px;
    line-height: 1.4;
    color: #0039A6;
}

#stage .wrp-flow .list {
    position: relative;
    z-index: 1;
    letter-spacing: -0.5em;
    margin: 0 -5px;
    white-space: nowrap;
}

#stage .wrp-flow .list li {
    display: inline-block;
    vertical-align: top;
    width: 247px;
    margin: 0 5px;
    letter-spacing: normal;
	opacity: 0;
	-ms-transform: translateY(20px);
	transform: translateY(20px);
	transition: opacity .4s ease-in-out, transform .4s ease-out, -ms-transform .4s ease-out;
}

#stage .wrp-flow .list li:last-child {
    width: 227px;
}

#stage .wrp-flow .list.is-inview li {
	opacity: 1;
	-ms-transform: translateY(0);
	transform: translateY(0);
}

#stage .wrp-flow .list.is-inview li:nth-child(2) {
	transition-delay: .4s;
}

#stage .wrp-flow .list.is-inview li:nth-child(3) {
	transition-delay: .8s;
}

#stage .wrp-flow .list.is-inview li:nth-child(4) {
	transition-delay: 1.2s;
}

#stage .wrp-flow .list li img {
    width: 100%;
    height: auto;
}

/*** illust ***/
#stage .wrp-flow .slice {
    top: 20px;
    right: -100px;
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg);
}
#stage .wrp-flow .spoon {
    top: 30px;
    right: 160px;
}
#stage .wrp-flow .six_01 {
    bottom: 10px;
    right: 430px;
}
#stage .wrp-flow .six_01:before {
    -ms-transform: rotate(30deg);
    transform: rotate(30deg);
}
#stage .wrp-flow .six_02 {
    top: -20px;
    left: 230px;
}
#stage .wrp-flow .six_02:before {
    -ms-transform: rotate(-30deg);
    transform: rotate(-30deg);
}
#stage .wrp-flow .camanbert {
    top: 80px;
    left: -50px;
}
#stage .wrp-flow .milk {
    right: -80px;
    bottom: 0;
}
#stage .wrp-flow .glass {
    bottom: 10px;
    left: -100px;
}
#stage .wrp-flow .glass:before {
    -ms-transform: rotate(20deg);
    transform: rotate(-20deg);
}

@media screen and (max-width: 736px) {
	#stage .wrp-flow {
		padding-left: 20px;
		padding-right: 20px;
	}

    #stage .wrp-flow .inner {
        padding: 50px 0 50px;
    }

    #stage .wrp-flow .ttl {
        margin-bottom: 20px;
        font-size: 28px;
        line-height: 1.5;
    }

    #stage .wrp-flow .list {
        max-width: 335px;
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 20px;
    }

    #stage .wrp-flow .list li {
        display: block;
        width: 59.7%!important;
    }

    #stage .wrp-flow .list li:nth-child(even) {
        margin-left: auto;
        margin-top: -20px;
        margin-bottom: -20px;
    }

    #stage .wrp-flow .list li img {
        width: 100%;
        height: auto;
    }

    /*** illust ***/
    #stage .wrp-flow .slice {
        top: 570px;
        right: 0;
        left: 0;
        margin: auto;
    }
	#stage .wrp-flow .slice:before {
        transform: translateX(120px) rotate(-30deg);
	}
    #stage .wrp-flow .spoon {
        top: 165px;
        right: 0;
        left: 0;
        margin: auto;
    }
    #stage .wrp-flow .spoon:before {
        transform: translateX(107px);
    }
    #stage .wrp-flow .six_01 {
        right: 0;
        left: 0;
        bottom: -10px;
        margin: auto;
    }
    #stage .wrp-flow .six_01:before {
        transform: translateX(-50px) rotate(30deg);
    }
    #stage .wrp-flow .six_02 {
        top: 65px;
        right: 0;
        left: 0;
        margin: auto;
    }
    #stage .wrp-flow .six_02 {
        transform: translateX(77px) rotate(-30deg);
    }
    #stage .wrp-flow .camanbert {
        top: 320px;
        right: 0;
        left: 0;
        margin: auto;
    }
    #stage .wrp-flow .camanbert:before {
        transform: translateX(-160px);
    }
    #stage .wrp-flow .milk {
        right: 0;
        left: 0;
        bottom: 100px;
        margin: auto;
    }
    #stage .wrp-flow .milk:before {
        transform: translateX(-120px);
    }
    #stage .wrp-flow .glass {
        display: none;
    }
}

#stage .wrp-tab .tabs {
    display: flex;
    gap: 0 30px;
    margin-bottom: 40px;
}

#stage .wrp-tab .tab {
    position: relative;
    flex: 1 485px;
    padding: 15px;
    background-color: #fff;
    border-radius: 15px;
    color: #0039A6;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.5;
    letter-spacing: 1px;
    text-align: center;
}

#stage .wrp-tab span {
    position: relative;
}

#stage .wrp-tab span::before {
    content: '';
    display: inline-block;
    position: relative;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    line-height: 1.5;
    vertical-align: middle;
}

#stage .tab-tel span::before {
    background: url(/fun/factory/assets/common/img/ico_tel_blue.png) no-repeat 0 0;
    background-size: cover;
}

#stage .tab-web span::before {
    top: -2px;
    background: url(/fun/factory/assets/common/img/ico_pc_blue.png) no-repeat 0 0;
    background-size: cover;
}

#stage .wrp-tab .tab.is-active {
    background-color: #0039A6;
    color: #fff;
}

#stage .wrp-tab .tab.is-active::after {
    content: '';
    display: block;
    position: absolute;
    left: 50%;
    bottom: -15px;
    width: 30px;
    height: 30px;
    background: url(/fun/factory/assets/common/img/ico_triangle_blue.png) no-repeat 0 0;
    background-size: cover;
    transform: translateX(-50%);
}

#stage .tab-tel.is-active span::before {
    background: url(/fun/factory/assets/common/img/ico_tel_white.png) no-repeat 0 0;
    background-size: cover;
}

#stage .tab-web.is-active span::before {
    background: url(/fun/factory/assets/common/img/ico_pc_white.png) no-repeat 0 0;
    background-size: cover;
}

.tab-content {
    display: none;
}

.tab-content.is-active {
    display: block;
}

/* flowitems */
#stage .flow-body {
    position: relative;
    z-index: 1;
}

#stage .sttl {
    margin-bottom: 40px;
    padding-bottom: 15px;
    border-bottom: 2px solid #0039A6;
    color: #0039A6;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-size: 26px;
    font-weight: bold;
    line-height: 1.5;
}

#stage .flow-category:not(:first-child) {
    margin-top: 60px;
}

#stage .flow-category .note {
    margin-top: 50px;
}

#stage .flowitems {
    display: flex;
    gap: 0 30px;
}

#stage .flowitem {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
    flex: 0 0 227px;
    height: 227px;
    background-color: #fff;
    border-radius: 100%;
}

#stage .flowitem:not(:last-child)::after {
    content: '';
    display: block;
    position: absolute;
    right: -20px;
    top: 50%;
    width: 30px;
    height: 30px;
    background: url(/fun/factory/assets/common/img/ico_triangle_white.png) no-repeat 0 0;
    background-size: cover;
    transform: translateY(-50%);
}

#stage .flowitem-img {
    width: 80px;
    margin: 0 auto 8px;
}

#stage .flowitem-img img {
    width: 100%;
}

#stage .flowitem-text {
    position: relative;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.05px;
    text-align: center;
    z-index: 1;
    transform: rotate(.04deg);
}

#stage .bg-box {
    margin-top: 40px;
}

#stage .bg-box-inner {
    padding: 20px 50px 30px;
    background-color: #fff;
    border-radius: 15px;
}

#stage .bg-box-text {
    font-size: 15px;
    line-height: 1.8;
}

#stage .bg-box p + p {
    margin-top: 10px;
}

#stage .js-fadein .js-fadeinitem {
    opacity: 0;
    transform: translateY(20px);
	transition: opacity .4s ease-in-out, transform .4s ease-out;
}

#stage .js-fadein.is-inview .js-fadeinitem {
    opacity: 1;
    -ms-transform: translateY(0);
    transform: translateY(0);
}

#stage .js-fadein.is-inview .js-fadeinitem:nth-child(2) {
	transition-delay: .4s;
}

#stage .js-fadein.is-inview .js-fadeinitem:nth-child(3) {
	transition-delay: .8s;
}

#stage .js-fadein.is-inview .js-fadeinitem:nth-child(4) {
	transition-delay: 1.2s;
}

@media screen and (max-width: 736px) {
    #stage .wrp-tab .tabs {
        gap: 0 15px;
        margin-bottom: 30px;
    }

    #stage .wrp-tab .tab {
        flex: 1 1 calc(50% - 30px);
        font-size: 16px;
        line-height: 1.8;
    }

    #stage .wrp-tab span::before {
        display: block;
        margin: 0 auto 5px;
    }

    #stage .sttl {
        margin-bottom: 30px;
        padding-bottom: 10px;
        font-size: 24px;
    }

    #stage .flow-category:not(:first-child) {
        margin-top: 40px;
    }

    #stage .flow-category .note {
        margin-top: 30px;
    }

    #stage .flowitems {
        flex-direction: column;
        gap: 20px 0;
    }

    #stage .flowitem {
        justify-content: flex-start;
        flex-direction: row;;
        gap: 0 20px;
        flex: 1 1 100%;
        height: auto;
        padding: 16px 30px;
        background-color: #fff;
        border-radius: 20px;
    }

    #stage .flowitem:not(:last-child)::after {
        content: '';
        display: block;
        position: absolute;
        top: auto;
        right: 50%;
        bottom: 8px;
        transform: rotate(210deg) translate(0, -50%);
    }

    #stage .flowitem-img {
        width: 70px;
        margin: 0;
    }

    #stage .flowitem-img img {
        width: 100%;
    }

    #stage .flowitem-text {
        flex: 1;
        text-align: left;
    }

    #stage .bg-box {
        margin-top: 20px;
    }

    #stage .bg-box-inner {
        padding: 15px 20px;
    }
}

/*----------------------------------------
	Webで知る・楽しむ
----------------------------------------*/
#stage .wrp-web {
    position: relative;
    background: #CBF4A7;
}

#stage .wrp-web:before {
    content: '';
    display: block;
    position: absolute;
    z-index: 1;
    bottom: 100%;
    left: 0;
    right: 0;
    padding-top: 10px;
    background: url(/fun/factory/assets/top/img/bg_wave_green.png) repeat-x center top;
    background-size: auto 100%;
    -ms-transform: scale(1, -1);
    transform: scale(1, -1);
}

#stage .wrp-web:after {
    content: '';
    display: block;
    position: absolute;
    z-index: 1;
    top: 100%;
    left: 0;
    right: 0;
    padding-top: 10px;
    background: url(/fun/factory/assets/top/img/bg_wave_green.png) repeat-x center top;
    background-size: auto 100%;
}

#stage .wrp-web .inner {
    max-width: 1000px;
    margin: auto;
    padding: 100px 0 100px;
}

#stage .wrp-web .ttl {
    margin-bottom: 25px;
    text-align: center;
    font-family: 'M PLUS Rounded 1c', sans-serif;
    font-weight: bold;
    font-size: 36px;
    line-height: 1.4;
    color: #0039A6;
}

#stage .wrp-web .list {
    margin: 0 -15px -30px;
    letter-spacing: -0.5em;
}

#stage .wrp-web .list > li {
    display: inline-block;
    vertical-align: top;
    width: 313px;
    margin: 0 15px 30px;
    letter-spacing: normal;
}

#stage .wrp-web .list > li > a{
    display: block;
}

#stage .wrp-web .list > li > a:hover .body {
    transform: scale(1.02);
}

#stage .wrp-web .list .body {
    border-radius: 20px;
    background: #fff;
    overflow: hidden;
    transition: transform .3s;
}

#stage .wrp-web .list .img {
    position: relative;
}

#stage .wrp-web .list .img:before {
    content: '';
    display: block;
    padding-top: 43.7%;
}

#stage .wrp-web .list .img img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

#stage .wrp-web .list .txt {
    padding: 25px 20px;
    font-weight: bold;
    font-size: 15px;
    color: #0039A6;
}

@media screen and (max-width: 736px) {
	#stage .wrp-web {
		padding-left: 20px;
		padding-right: 20px;
	}

    #stage .wrp-web:before {
        padding-top: 6px;
    }

    #stage .wrp-web:after {
        padding-top: 6px;
    }

    #stage .wrp-web .inner {
        max-width: 1000px;
        margin: auto;
        padding: 45px 0 100px;
    }

   #stage .wrp-web .list > li {
       display: block;
       width: auto;
   }

   #stage .wrp-web .list > li:not(:last-child) {
       margin-bottom: 20px;
   }

   #stage .wrp-web .list > li > a:hover .body {
	   transform: none;
   }

   #stage .wrp-web .list .body {
       display: flex;
	   align-items: stretch;
   }

   #stage .wrp-web .list .img {
		flex: 0 0 43.7%;
		width: 47.7%;
   }

   #stage .wrp-web .list .img:before {
	   display: none;
   }

   #stage .wrp-web .list .txt {
        flex: 1 1 0;
		padding: 20px;
		height: 80px;
		letter-spacing: -0.5em;
		box-sizing: border-box;
   }

   #stage .wrp-web .list .txt p{
	   position: static;
	   display: inline-block;
	   vertical-align: middle;
	   width: 99%;
	   transform: none;
	   letter-spacing: normal;
   }

   #stage .wrp-web .list .txt:before {
	   content: '';
	   display: inline-block;
		vertical-align: middle;
		width: 0;
		height: 100%;
   }
}
