a:hover{
    text-decoration: none;
}

/* body{
    text-align: left;
} */

*{
    box-sizing: border-box;
}

@font-face {
    font-family: SourceHanSans;
    src: url("/css/SourceHanSansCN-Light.otf");
}

.songti {
    font-family: SourceHanSans;
    font-weight: bold;
}

.songti.title4{
    font-size: 4rem !important;
    font-weight: bold !important;
}

.is-x_large{
    position: relative;
    max-width: 1650px;
    margin: 0 auto;
    /* height: 550px; */
    overflow: hidden;
}

.title.is-tertiary.is-2 {
	font-size: 2rem;
}

.title.is-tertiary.is-2.tertiary-proposering{
    font-size: 2.4rem;
}

.is-objfit {
    width: 100%!important;
    height: 100%!important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

.container .swiper-pagination{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}

.main_visual .swiper-slide img{
    display: block;
    width: 100%;
}

.container .swiper-pagination-bullet{
    width: 8px;
    height: 8px;
    margin: 0 5px;
    background-color: #4d403e;
    border-radius: 50%;
    transition: all 0ms cubic-bezier(.785,.135,.15,.86) 0ms;
    /* opacity: 1; */
}

.container .swiper-pagination-bullet.swiper-pagination-bullet-active{
    /* width: 10px;
    height: 10px; */
    background-color: #4d403e;
    /* border: 2px solid #fff;
    border-color: #4d403e; */
}

.button-wrap{
    display: flex;
    margin: 20px 0 0;
}

.button-wrap .button.is-primary{
    min-width: 50%;
    text-align: center;
}

#index .main_content .about_other-item-subtitle{
    font-weight: 500;
}

.main_visual .about_iprimo-button{
    position: absolute;
    bottom: 50%;
    left: 50%;
    transform: translate(-490px,120px);
}

#index .main_content .about_other-item-title{
    font-weight: 500;
}

.main_visual{
    height: 100%;
}

.button.is-border {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 190px;
    height: 41px;
    font-size: 1.3rem;
    color: #453536;
    border: 1px solid #453536;
    border-radius: 21px;
    transition: all .45s cubic-bezier(.785,.135,.15,.86) 0ms;
}

.main_visual .swiper-slide:hover strong{
    background-color: #101820;
    color: #fff;
}

.slide-button{
    display: none;
}

.contents{
    background: none;
}

.section-ring {
    margin: 120px 0 0;
}

.main_content .ring-item {
    display: flex;
}

.wrap-cnt {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
}

.main_content .ring-item-visual a {
    display: block;
    width: 100%;
    height: 100%;
}

.js-smtscroll-item-wrap {
    position: relative;
    overflow: hidden;
}

#index .js-smtscroll-item-img {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    will-change: transform;
}

#index .main_content .ring-item.is-scroll-visibled .ring-item-button, #index .main_content .ring-item.is-scroll-visibled .ring-item-subtitle, #index .main_content .ring-item.is-scroll-visibled .ring-item-text, #index .main_content .ring-item.is-scroll-visibled .ring-item-title {
    opacity: 1;
    transition-timing-function: cubic-bezier(.4,.2,.1,1);
    transition-duration: .8s;
    transition-property: all;
    transform: translateZ(0);
}

#index .main_content .ring-item-title {
    font-family: SourceHanSans;
    font-weight: 400;
    letter-spacing: .01em;
    font-size: 4.5rem;
    letter-spacing: -.04em;
    white-space: nowrap;
}


#index .main_content .ring-item-subtitle {
    margin: 5px 0 0;
    font-size: 2.4rem;
}

.text {
    line-height: 2;
    letter-spacing: .06em;
}

.section p.text{
    font-size: 1.3rem;
    line-height: 170%;
    letter-spacing: 0.1em;
}

.title+.text {
    margin: 15px 0 0;
}

#index .main_content .ring-item-text {
    margin: 25px 0 0;
}

.button {
    display: inline-block;
}

.js-smtscroll-wrapper.is-enabled{
    position: static !important;
    height: auto;
}

#index .main_content .ring-item-content{
    box-sizing: border-box;
}

.button.is-primary {
    padding: 12px 20px 11px;
    overflow: hidden;
    font-size: 1.3rem;
    /* font-weight: 600; */
    color: #fff;
    letter-spacing: .04em;
    background-color: #453536;
    border: 1px solid #453536;
    border-radius: 21px;
    transition: all .45s cubic-bezier(.785,.135,.15,.86) 0ms;
}

.button.is-primary span {
    display: block;
}

.button.is-primary:hover {
    color: #453536;
    background-color: #fff;
    text-decoration: none;
}

#index .main_content .section-about{
    margin: 100px 0 0;
}

.pickupRing{
    margin-top: 50px;
}

.media_bg-visual{
    position: relative;
}

.media_bg-content {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-width: 38.3%;
    margin: 0 0 0 8.3%;
}

.media_bg-inner:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: "";
    background-color: transparent;
    transition: all .45s cubic-bezier(.785,.135,.15,.86) 0ms;
}

.media_bg-inner {
    position: relative;
    display: block;
    overflow: hidden;
    color: #fff;
}

.media_bg.is-white .button, .media_bg.is-white .media_bg-inner {
    color: #000;
}

#index .main_content .about_iprimo.is-scroll-init .about_iprimo-button, #index .main_content .about_iprimo.is-scroll-init .about_iprimo-text, #index .main_content .about_iprimo.is-scroll-init .about_iprimo-title {
    opacity: 0;
    transition: all 0ms;
    transform: translate3d(0,30px,0);
}

#index .main_content .about_iprimo.is-scroll-visibled .about_iprimo-button, #index .main_content .about_iprimo.is-scroll-visibled .about_iprimo-text, #index .main_content .about_iprimo.is-scroll-visibled .about_iprimo-title {
    opacity: 1;
    transition-timing-function: cubic-bezier(.4,.2,.1,1);
    transition-duration: .8s;
    transition-property: all;
    transform: translateZ(0);
}

#index .main_content .about_iprimo.is-scroll-visibled .about_iprimo-text {
    transition-delay: .2s;
}

#index .main_content .about_iprimo-title {
    font-family: SourceHanSans;
    font-weight: 400;
    letter-spacing: .01em;
    font-size: 2.6rem;
}

#index .media_bg.is-white a:hover .button {
    color: #fff;
    background-color: #000;
}

.title.is-default.is-3 {
    font-size: 1.6rem;
    font-weight: 600;
}

#index .main_content .about_iprimo.is-scroll-visibled .about_iprimo-text {
    transition-delay: .2s;
}

.topNewsArea{
    margin-top: 100px;
}

.topNewsArea.is-scroll-init,
.seriesL.is-scroll-init ,
.pickupRing.is-scroll-init{
    opacity: 0;
    transition: all 0ms;
    transition-delay: .4s;
}

.topNewsArea.is-scroll-visibled,
.seriesL.is-scroll-visibled,
.pickupRing.is-scroll-visibled{
    opacity: 1;
    transition: opacity .8s cubic-bezier(.4,.2,.1,1) 0ms;
}

#aboutiprimo_top .main_content .section-entry {
	margin-top: 80px
}

#aboutiprimo_top .main_content .section-entry .content-block:not(:first-child) {
	margin-top: 100px
}

#aboutiprimo_top .about_iprimo{
    margin: 30px 0 0;
}

#aboutiprimo_top .section-headline{
    text-align: center;
    margin-top: 50px;
}

.wrap.is-large{
    max-width: 1400px;
}

#aboutiprimo_top .main_content .about_iprimo .section-headline.is-scroll-visibled {
	opacity: 1;
	transition: all 1.2s cubic-bezier(.4,.2,.1,1) .2s;
	transform: translateZ(0)
}

#aboutiprimo_top .main_content .about_iprimo .section-headline .title span {
    font-family: SourceHanSans;
    font-style: italic;
    font-weight: 400;
    letter-spacing: -.03em;
    font-size: 4.5rem;
    color: #ec6d81;
}

#aboutiprimo_top .main_content .about_iprimo .section-headline .title span, #aboutiprimo_top .main_content .about_iprimo .section-headline .title strong {
    display: block;
    line-height: 1;
}

#aboutiprimo_top .main_content .about_iprimo .section-headline .title strong {
    margin: 15px 0 0;
}

#aboutiprimo_top .main_content .about_iprimo-visual {
    margin: 50px 0 0;
}

.is-objfit-video video {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}

.is-objfit-video, .is-objfit-video video {
    width: 100%!important;
    height: 100%!important;
}

.is-objfit-video {
    position: relative;
}

.main-is-large{
    max-width: 1380px;
    margin-right: auto;
    margin-left: auto;
}

.content-block {
    margin-right: auto;
    margin-left: auto;
}

#aboutiprimo_top .main_content .about_iprimo-text {
    margin-top: 70px;
}

#aboutiprimo_top .main_content .about_iprimo-text-catch {
    font-family: SourceHanSans;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.9;
    text-align: center;
    letter-spacing: .09em;
}

.content-block.is-800 {
    max-width: 800px;
}

.content-block.is-full {
    max-width: 100%;
}

#aboutiprimo_top .main_content .entry_item {
    display: flex;
}

#aboutiprimo_top .main_content .entry_item-visual a {
    display: block;
    width: 100%;
    height: 100%;
}
#aboutiprimo_top .main_content .entry_item {
	display: flex
}

#aboutiprimo_top .main_content .entry_item.is-reverse {
	flex-direction: row-reverse
}

#aboutiprimo_top .main_content .entry_item.is-reverse .entry_item-content {
	justify-content: flex-end
}

#aboutiprimo_top .main_content .entry_item.is-quality .entry_item-headline {
	top: 120px;
	left: -60px
}

#aboutiprimo_top .main_content .entry_item.is-design .entry_item-headline {
	top: 90px;
	right: -70px
}

#aboutiprimo_top .main_content .entry_item.is-support .entry_item-headline {
	top: 100px;
	left: -60px
}

#aboutiprimo_top .main_content .entry_item-visual {
	width: 54.35%
}

#aboutiprimo_top .main_content .entry_item-visual a {
	display: block;
	width: 100%;
	height: 100%
}

#aboutiprimo_top .main_content .entry_item-visual a img {
	transition: transform .5s ease-out;
	transform: scale(1)
}

#aboutiprimo_top .main_content .entry_item-visual a.is-touch-hover img {
	transition: transform 1s ease-out;
	transform: scale(1.08)
}

#aboutiprimo_top .main_content .entry_item-visual.is-scroll-init {
	opacity: 0;
	transition: all 0ms
}

#aboutiprimo_top .main_content .entry_item-visual.is-scroll-visibled {
	opacity: 1;
	transition: all 1.2s cubic-bezier(.4,.2,.1,1) .2s
}

#aboutiprimo_top .main_content .entry_item-content {
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 45.65%;
	padding: 0 40px
}

#aboutiprimo_top .main_content .entry_item-content .inner {
    max-width: 360px;
    text-align: left;
}

#aboutiprimo_top .main_content .entry_item-content.is-scroll-init .button-wrap,#aboutiprimo_top .main_content .entry_item-content.is-scroll-init .entry_item-headline .title,#aboutiprimo_top .main_content .entry_item-content.is-scroll-init .entry_item-text,#aboutiprimo_top .main_content .entry_item-content.is-scroll-init .entry_item-title {
	opacity: 0;
	transition: all 0ms;
	transform: translate3d(0,30px,0)
}

#aboutiprimo_top .main_content .entry_item-content.is-scroll-visibled .button-wrap,#aboutiprimo_top .main_content .entry_item-content.is-scroll-visibled .entry_item-headline .title,#aboutiprimo_top .main_content .entry_item-content.is-scroll-visibled .entry_item-text,#aboutiprimo_top .main_content .entry_item-content.is-scroll-visibled .entry_item-title {
	opacity: 1;
	transition-timing-function: cubic-bezier(.4,.2,.1,1);
	transition-duration: 1.2s;
	transition-property: all;
	transform: translateZ(0)
}

#aboutiprimo_top .main_content .entry_item-content.is-scroll-visibled .entry_item-title {
	transition-delay: .4s
}

#aboutiprimo_top .main_content .entry_item-content.is-scroll-visibled .button-wrap,#aboutiprimo_top .main_content .entry_item-content.is-scroll-visibled .entry_item-text {
	transition-delay: .6s
}

#aboutiprimo_top .main_content .entry_item-headline {
	position: absolute
}

#aboutiprimo_top .main_content .entry_item-headline .title span,#aboutiprimo_top .main_content .entry_item-headline .title strong {
	display: block;
	line-height: 1
}

#aboutiprimo_top .main_content .entry_item-headline .title span {
	font-family: SourceHanSans;
	font-style: italic;
	font-weight: 400;
	letter-spacing: -.03em;
	font-size: 5.4rem;
	color: #ec6d81
}

#aboutiprimo_top .main_content .entry_item-headline .title strong {
	font-family: SourceHanSans;
	font-weight: 400;
	letter-spacing: .01em;
	margin: 3px 0 0;
	font-size: 8.1rem
}

#aboutiprimo_top .main_content .entry_item-title {
	font-size: 2rem;
	line-height: 3.2rem
}

#aboutiprimo_top .main_content .entry_item-text {
    font-size: 1.4rem;
}

#aboutiprimo_top dl.qualityInfo.new-qualityInfo.qualityInfo_21 {
    padding-top: 0;
    width: 100%;
}

#aboutiprimo_top .js-touch-hover:hover{
    color: #fff;
    background-color: #453536;
}

.is-page-head{
    margin-top: 50px;
}

.content-block.is-800 {
    max-width: 800px;
}

.title.is-primary {
    font-family: SourceHanSans;
    font-weight: bold;
    letter-spacing: .01em;
    margin-bottom: 0;
}

.title.is-primary.is-xl {
    font-size: 3rem;
}

.content-block.is-scroll-init .title {
    color: #000;
}

.title.is-noto-serif.is-1 {
    font-size: 2rem;
    font-family: SourceHanSans;
    margin: 0;
}

.title+.text.eng-text{
    margin-top: 40px;
    font-size: 1.6rem;
}

.single-fig {
    margin-top: 50px;
}

p.text.text-en{
    font-size: 100%;
    line-height: 2;
    text-align: left;
}

.product-top-sec {
    margin-top: 120px;
}

.product-top-intro {
    margin-top: 120px!important;
}

.media_col {
    display: flex;
    align-items: center;
}

.media_col.is-over-half .media_col-visual {
    width: 53.4%;
    height: auto;
}

.media_col.is-over-half .media_col-content {
    width: 46.7%;
    padding: 0 0 0 6.6%;
    text-align: left;
    box-sizing: border-box;
}

.media_col .media_col-visual .js-aspect, .media_col .media_col-visual .swiper-container {
    min-height: 100%;
}

.js-lazy {
    display: inline-block;
}

.media_col .media_col-visual .js-aspect, .media_col .media_col-visual .swiper-container {
    height: 100%;
    min-height: 100%;
}

.title.is-primary.is-1 {
    font-size: 2.5rem;
}

.title.is-default.is-4 {
    font-size: 1.5rem;
    font-weight: bold;
}

.title.is-sub {
    margin: 5px 0 0;
}

.media_col.is-reverse {
    flex-direction: row-reverse;
}

.media_col.is-reverse.is-over-half .media_col-content {
    padding: 0 6.6% 0 0;
}

#engagement_top .main_content .product-engagement-howto {
    position: relative;
    width: 100%;
    max-width: 1380px;
    padding: 135px 0 110px;
    margin: 120px auto 0;
    background: url(../img/engagement/howto_bg.png) repeat 0 0;
}

#engagement_top .main_content .product-engagement-howto:after {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 56px;
    height: 62px;
    content: "";
    background: url(../img/engagement/howto_bg_item.png) no-repeat 0 0;
}

#engagement_top .main_content .howto-head-title+.title.is-noto-serif {
    font-size: 2.6rem;
}
#engagement_top .main_content .howto-head-title+.title {
    margin-top: 50px;
}

.title.is-default.is-1.eng-defaullt{
    font-weight: 500;
    font-size: 3.5rem;
}

#engagement_top .main_content .howto-head {
    max-width: 800px;
    margin: 0 auto;
}

#engagement_top .main_content .howto-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

#engagement_top .main_content .howto-list-item {
    width: 30%;
    margin-top: 5%;
    text-align: left;
}

#engagement_top .main_content .howto-list-item:not(:nth-of-type(3n)) {
    margin-right: 5%;
}

#engagement_top .main_content .howto-title {
    display: flex;
    align-items: center;
    text-align: left;
}

#engagement_top .main_content .howto-title-num {
    padding-top: .3em;
    margin-right: 15px;
    font-family: SourceHanSans;
    font-size: 3.5rem;
    font-style: italic;
    color: #e16383;
}

#engagement_top .main_content .howto-list.is-scroll-visibled .howto-title-main span {
	background: linear-gradient(transparent 44%,#fff 0) 0 100%/100% 100% no-repeat;
	transition-delay: .8s,.8s
}

#engagement_top .main_content .howto-list-link {
	display: block
}

#engagement_top .main_content .howto-title-main {
	font-size: 1.8rem;
	line-height: 1.7
}

#engagement_top .main_content .howto-title-main span {
	padding: .2em .6em;
	text-decoration: none;
	background: linear-gradient(transparent 44%,#fff 0) 0 100%/100% 100% no-repeat;
    transition: background-size .4s;
    font-weight: 500;
}

#engagement_top .main_content .howto-title-sub {
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: .06em
}

#engagement_top .main_content .howto-title-sub span {
	padding: .2em .4em;
	background: linear-gradient(transparent 44%,#fff 0) 0 100%/100% 100% no-repeat;
	transition: background-size .4s
}

#engagement_top .main_content .howto-title-sub+.text {
	margin-top: 20px
}

#engagement_top .main_content .howto-list-visual {
	position: relative;
	padding-bottom: 40px;
	margin-top: 20px
}

#engagement_top .main_content .howto-list-visual-ring {
	position: absolute;
	right: -1px;
	bottom: 0
}

.product-top-sec {
	margin-top: 120px
}

.title.is-default.is-1 {
    font-size: 2.6rem;
    font-weight: 300;
}

.pickup_rings {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin-top: 10px
}

.pickup_rings-item {
	position: relative;
	width: 32.5%;
	padding: 45px 50px 70px;
	margin: 1.25% 1.25% 0 0;
    border: 1px solid #e5e5e5;
        box-sizing: border-box;
}

.pickup_rings-item:nth-of-type(3n) {
	margin-right: 0
}

.pickup_rings+.button-wrap {
	margin-top: 50px
}

.pickup_rings+.button-wrap .button.is-flex {
	width: auto;
	padding: 0 30px
}

.pickup_rings.is-scroll-init .pickup_rings-item {
	opacity: 0;
	transition: all 0ms;
	transform: translate3d(0,30px,0)
}

.pickup_rings.is-scroll-visibled .pickup_rings-item {
	opacity: 1;
	transition-timing-function: cubic-bezier(.4,.2,.1,1);
	transition-duration: .8s;
	transition-property: all;
	transform: translateZ(0)
}

.pickup_rings.is-scroll-visibled .pickup_rings-item:first-of-type {
	transition-delay: 0,0
}

.pickup_rings.is-scroll-visibled .pickup_rings-item:nth-of-type(2) {
	transition-delay: .2s,.2s
}

.pickup_rings.is-scroll-visibled .pickup_rings-item:nth-of-type(3) {
	transition-delay: .4s,.4s
}

.pickup_rings.is-scroll-visibled .pickup_rings-item:nth-of-type(4) {
	transition-delay: .6s,.6s
}

.pickup_rings.is-scroll-visibled .pickup_rings-item:nth-of-type(5) {
	transition-delay: .8s,.8s
}

.pickup_rings-head {
	text-align: center
}

.pickup_rings-head-title {
    font-family: SourceHanSans;
    font-size: 1.8rem;
    letter-spacing: .04em
}

.pickup_rings-head-sub {
    font-family: SourceHanSans;
    font-size: 1.6rem !important;
    text-align: center;
    letter-spacing: .06em
}

.pickup_rings-head-sub span {
	display: inline-block;
	margin-left: 8px;
	font-size: 1.4rem;
	vertical-align: top
}

.pickup_rings-head-sub+.pickup_rings-body-catch {
	margin-top: 15px
}

.pickup_rings-fig {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 180px;
	margin-top: 20px
}

.pickup-engagement .pickup_rings-fig {
	min-height: 100px;
	margin-top: 50px
}

.pickup_rings-body-catch {
	/* font-weight: 500; */
    line-height: 2;
    font-size: 1.4rem;
}

.pickup_rings-body-catch+.text {
	margin-top: 10px
}

.pickup_rings-link {
	position: absolute;
	bottom: 30px;
	left: 0;
	display: flex;
	justify-content: center;
	width: 100%
}

.product-top-pickup {
	margin-top: 20px!important
}

.button.is-link-solid .icon {
    margin: 3px 0 0 5px;
}

.button.is-link-border.is-touch-hover .icon, .button.is-link-solid.is-touch-hover .icon {
    transform: translate3d(5px,0,0);
}

.button.is-link-border .icon, .button.is-link-solid .icon {
    transition: all .45s cubic-bezier(.785,.135,.15,.86) 0ms;
}

.pickup_rings-link a:hover .icon{
    transform: translate3d(5px,0,0);
}

.is-ta-c {
    text-align: center;
}

.button-wrap .button.is-border.js-touch-hover:hover{
    color: #fff;
    background-color: #453536;
}

#engageguide .main_content .guide-sec-first {
    padding-top: 20px;
    margin-top: 50px;
}

#engageguide .main_content .single-sentence {
    max-width: 800px;
    margin: 20px auto 0
}

#engageguide .main_content .guide-content-sec:not(:first-of-type) {
    padding-top: 20px;
    margin-top: 80px;
}


#engageguide .main_content .guide-media-col {
    display: flex;
    align-items: flex-start
}

#engageguide .main_content .guide-media-col-visual {
    width: 44.95%;
    height: auto
}

#engageguide .main_content .guide-media-col-content {
    width: 55.05%;
    padding-left: 50px
}

#engageguide .main_content .guide-media-col-content .text:not(:first-of-type) {
    margin-top: 15px
}

#engageguide .main_content .guide-media-col-content .button.is-border {
    width: auto;
    padding: 0 2em
}

#engageguide .main_content .guide-media-col.is-reverse {
    flex-direction: row-reverse
}

#engageguide .main_content .guide-media-col.is-reverse .guide-media-col-content {
    padding-right: 50px;
    padding-left: 0
}

.title.is-default.is-2 {
    font-size: 2rem;
    font-weight: 600;
}

#engageguide .main_content .guide-design {
    margin-top: 25px;
}

#engageguide .main_content .guide-design-head {
    padding: 40px 45px;
    background-color: #f5f5f5;
}


#engageguide .main_content .guide-design-head .text {
    margin-top: 5px
}

#engageguide .main_content .guide-design-content {
    margin-top: 10px
}

#engageguide .main_content .guide-design-list {
    width: 100%
}

#engageguide .main_content .guide-design-list-item {
    display: flex;
    padding: 55px 20px
}

#engageguide .main_content .guide-design-list-item:not(:last-of-type) {
    border-bottom: 1px solid #e5e5e5
}

#engageguide .main_content .guide-design-list-visual {
    width: 42.23%;
    padding-top: 50px
}

#engageguide .main_content .guide-design-list-content {
    width: 56%
}

#engageguide .main_content .button.is-link-solid:hover .icon {
    margin: 4px 0 0 8px
}

#engageguide .main_content .guide-design-list-content-title {
    display: flex;
    align-items: center
}

#engageguide .main_content .guide-design-list-content-title-item {
    margin-left: 15px;
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 0;
}

#engageguide .main_content .guide-design-list-content-title+.text {
    margin-top: 20px
}

.l_text {
    padding: 0 0 3px;
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: 100% 100%;
    background-size: 0 1px;
    transition: background-size .45s cubic-bezier(.785,.135,.15,.86) 0ms;
    will-change: background-size;
}

.icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: contain;
}

.guide-design-list-content .l_text.is-gray{
    display: inline-block;
    vertical-align: 1px;
}

.guide-design-list-content .icon{
    display: inline-block;
    vertical-align: 0;
}

.title.is-primary.is-l {
    font-size: 3.8rem;
}

.l_text.is-gray {
     background-position: 0 100%;
    -webkit-animation: line .8s cubic-bezier(.785,.135,.15,.86) 0ms;
    animation: line .8s cubic-bezier(.785,.135,.15,.86) 0ms;
    -webkit-animation: none;
    animation: none;
    background-image: url(../img/line_gray.png);
}

.is-link-solid.js-touch-hover:hover .l_text.is-gray{
    background-size: 100% 1px;
}

.button-wrap.is-center {
    justify-content: center;
}

#set_top .main_content .is-break {
	line-height: 1.2
}

#set_top .main_content .is-break.is-sub {
	margin-top: 15px;
	line-height: 2
}

#set_top .main_content .product-set {
	position: relative;
	width: calc(100% + 100px);
	padding: 90px 0 160px;
	margin-top: 100px;
    background-color: #e4d8cf;
    margin-right: -50px;
    margin-left: -50px;
}

#set_top .main_content .product-set-head {
	text-align: center
}

#set_top .main_content .product-set-head-title-sub {
	display: block;
	font-size: 1.6rem;
	line-height: 1
}

#set_top .main_content .product-set-head-title-main {
    display: block;
    margin-top: 20px;
    font-family: SourceHanSans;
    font-size: 3rem;
    line-height: 1;
    letter-spacing: .12em;
    font-weight: bold;
}

#set_top .main_content .product-set-head-title+.text {
	margin-top: 35px
}

#set_top .main_content .product-set-block {
	width: 100%;
	margin-top: 180px
}

#set_top .main_content .product-set-block:first-of-type {
	margin-top: 65px
}

#set_top .main_content .product-set-block-inner {
	display: flex
}

#set_top .main_content .product-set-block-inner.is-reverse {
	flex-direction: row-reverse
}

#set_top .main_content .product-set-block-inner.is-reverse .product-set-block-content {
	padding: 0 5% 0 6.67%
}

#set_top .main_content .product-set-block-inner.is-reverse .product-set-block-list {
	right: auto;
	left: 0
}

#set_top .main_content .product-set-block-visual {
	width: 55.84%
}

#set_top .main_content .product-set-block-content {
	position: relative;
	width: 44.16%;
	padding: 0 1.67% 0 5%
}

#set_top .main_content .product-set-block-content .is-1 {
	font-size: 3.2rem
}

#set_top .main_content .product-set-block-content .is-sub {
    font-size: 2rem;
    font-family: SourceHanSans;
    font-weight: bold;
}

#set_top .main_content .product-set-block-list {
	position: absolute;
	right: 0;
	bottom: 110px;
	display: flex;
	justify-content: space-between;
	width: 111.32%
}

#set_top .main_content .product-set-block-list-item {
	width: 47.46%
}

#set_top .main_content .product-set-block-link {
	position: relative;
	display: block;
	width: 100%;
	padding: 25px 25px 35px;
	text-align: center;
	background-color: #fff;
	transition: background-color .3s cubic-bezier(.785,.135,.15,.86)
}

#set_top .main_content .product-set-block-link.is-touch-hover {
	background-color: #f5f5f5
}

#set_top .main_content .product-set-block-link.is-touch-hover .icon {
	transform: translateX(5px)
}

#set_top .main_content .product-set-block-link-head {
    font-family: SourceHanSans;
    font-size: 1.3rem;
    line-height: 1
}

#set_top .main_content .product-set-block-link-fig {
	margin-top: 10px
}

#set_top .main_content .product-set-block-link-btn {
	position: absolute;
	bottom: 20px;
	left: 0;
	display: flex;
	justify-content: center;
	width: 100%
}

.text.text-en.product-set-text{
    text-align: center;
}

.button-wrap.is-near .button {
    margin: 0 3px;
}

.about_hero .section-headline .title span,.about_hero .section-headline .title strong {
	display: block;
	line-height: 1
}

.about_hero .section-headline .title span {
    font-family: SourceHanSans;
    font-style: italic;
    font-weight: 400;
    letter-spacing: -.03em;
    font-size: 2.8rem;
    color: #ec6d81;
}

.about_hero .section-headline .title strong {
    font-family: SourceHanSans;
    font-weight: 400;
    letter-spacing: .01em;
    margin: 6px 0 0;
    font-size: 5rem;
}

.about_hero-title {
	margin: 20px 0 0;
	font-size: 2rem;
	/* line-height: 4rem; */
    letter-spacing: .15em;
    font-weight: 600 !important;
}

#aboutiprimo_top p.article_t{
    font-size: 1.5rem;
}

.about_hero-title.is-scroll-init {
	opacity: 0;
	transition: all 0ms;
	transform: translate3d(0,30px,0)
}

.about_hero-title.is-scroll-visibled {
	opacity: 1;
	transition: all 1.2s cubic-bezier(.4,.2,.1,1) .4s;
	transform: translateZ(0)
}

.about_hero-visual {
	margin: 50px 0 0
}

.about_hero-text {
    max-width: 800px;
    margin: 40px auto 0;
}

.article_t.text{
    font-size: 14px;
}

.aboutSubBannerArea{
    margin-top: 100px;
}

.servicePictArea01{
    margin-top: 100px;
}

.servicePictArea01,.servicePictArea02{
    display: flex;
    align-items: center;
}

.servicePictInfo01 dd,
.servicePictInfo02 dd{
    font-size: 14px;
}

.js-lazy.is-objfit.js-mz{
    width: auto !important;
    margin: 0 auto;
    display: block;
}

.serviceNote{
    color: #bababa;
}

.title-mz + p {
    color: #333;
    font-size: 2rem;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.25em;
}

.main_content .tertiary-copy {
    font-family: SourceHanSans;
    font-size: 3rem;
    font-weight: bold;
    line-height: 1.9;
    text-align: center;
    letter-spacing: .06em
}

.text.is-ta-c.anni-text{
    font-size: 1.6rem;
    line-height: 2;
}

.main_content .anniversary-sec-first {
    margin-top: 50px;
}

.main_content .anniversary-sec {
    margin-top: 100px;
}

.main_content .anniversary-ool-title {
    font-size: 5rem;
    font-family: SourceHanSans;
}

.title.is-tertiary {
    font-family: SourceHanSans;
    font-weight: bold;
    letter-spacing: .05em;
}

.main_content .anniversary-ool-title-sub {
    font-size: 2.4rem;
}

.main_content .ool-block {
    margin-top: 60px;
}

.main_content .ool-block-layout {
	display: flex;
	justify-content: center
}

.main_content .ool-block-layout.is-right {
	flex-direction: row-reverse
}

.main_content .ool-block.is-first .ool-block-base-content,
.main_content .ool-block.is-second .ool-block-base-content,
.main_content .ool-block.is-third .ool-block-base-content{
    width: 40%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.main_content .ool-block.is-first .ool-block-base-content .ool-block-shift-content {
	bottom: 40px;
	left: 60px
}

.main_content .ool-block.is-second .ool-block-base-visual {
	width: 60%
}

.main_content .ool-block-base-content {
	position: relative
}

.main_content .ool-block-inner {
	position: relative;
	width: 100%;
	/* max-width: 1120px; */
	margin: 0 auto
}

.main_content .ool-block.is-first .ool-block-base-visual {
	width: 60%;
	/* padding-top: 34px */
}

.main_content .ool-block.is-third .ool-block-base-visual {
	width: 60%;
	padding-bottom: 30px
}

.main_content .ool-block.is-third .ool-block-base-content .ool-block-shift-content {
	top: 70px;
	left: 60px
}

.main_content .ool-block-title+.text {
	margin-top: 20px
}

.main_content .ool-block.is-scroll-init .animation-01,.main_content .ool-block.is-scroll-init .animation-02,.main_content .ool-block.is-scroll-init .animation-03,.main_content .ool-block.is-scroll-init .animation-04 {
	opacity: 0;
	transition: all 0ms;
	transform: translate3d(0,30px,0)
}

.main_content .ool-block.is-scroll-visibled .animation-01,.main_content .ool-block.is-scroll-visibled .animation-02,.main_content .ool-block.is-scroll-visibled .animation-03,.main_content .ool-block.is-scroll-visibled .animation-04 {
	opacity: 1;
	transition-timing-function: cubic-bezier(.4,.2,.1,1);
	transition-duration: .8s;
	transition-property: all;
	transform: translateZ(0)
}

.main_content .ool-block.is-scroll-visibled .animation-01 {
	transition-delay: 0,0
}

.main_content .ool-block.is-scroll-visibled .animation-02 {
	transition-delay: .2s,.2s
}

.main_content .ool-block.is-scroll-visibled .animation-03 {
	transition-delay: .4s,.4s
}

.main_content .ool-block.is-scroll-visibled .animation-04 {
	transition-delay: .6s,.6s
}

.main_content .ool-block-base-visual a {
	display: block
}

.main_content .ool-block-base-visual a .ool-block-visual {
	overflow: hidden
}

.main_content .ool-block-base-visual a img {
	transition: transform .8s ease-out;
	transform: scale(1)
}

.main_content .ool-block-base-visual a.is-touch-hover img {
	transition: transform .8s ease-out;
	transform: scale(1.08)
}

.main_content .ool-block-shift-visual {
	position: absolute
}

.main_content .ool-block-shift-visual a {
	display: block
}

.main_content .ool-block-shift-visual a .js-aspect {
	overflow: hidden
}

.main_content .ool-block-shift-visual a img {
	transition: transform .8s ease-out;
	transform: scale(1)
}

.main_content .ool-block-shift-visual a.is-touch-hover img {
	transition: transform .8s ease-out;
	transform: scale(1.08)
}

.main_content .ool-block-shift-visual.is-first-01 {
	top: 0;
	right: 60px;
	width: 350px
}

.main_content .ool-block-shift-visual.is-second-01 {
	top: 80px;
	left: 50px;
	z-index: 2;
	width: 286px
}

.main_content .ool-block-shift-visual.is-second-02 {
	bottom: 80px;
	left: 210px;
	z-index: 3;
	width: 267px
}

.main_content .ool-block-shift-visual.is-third-01 {
	right: 60px;
	bottom: 0;
	width: 353px
}

.main_content .ool-block-shift-content {
	/* position: absolute */
}

.main_content .ool-block-shift-content a {
	display: block;
	transition: opacity .3s ease-out
}

.main_content .ool-block-shift-content a.is-touch-hover {
	opacity: .7
}

.main_content .ool-block-title-en {
    padding-left: 10px;
    font-family: SourceHanSans;
    font-size: 40px;
    line-height: 1;
    color: #ccb7a8;
    font-weight: 300;
}

.main_content .ool-block-title-en.is-left-margin {
	padding-left: 0
}

.main_content .ool-block-title-jp {
	margin-top: 10px;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: .05em
}

.main_content .anniversary-sec-title-sub span {
    position: relative;
    display: inline-block;
    font-weight: 500;
    font-family: SourceHanSans;
    padding: 0 50px 20px;
    margin: 0 auto;
}

.main_content .anniversary-sec-title-sub span:before {
	position: absolute;
	z-index: -1;
	display: block;
	width: 100%;
	top: -9px;
    left: 0;
    height: 50px;
    content: "";
	background: linear-gradient(transparent 50%,#e4d8cf 0)
}

.main_content .anniversary-sec-title-sub {
    font-size: 2rem;
    line-height: 1.4;
}

.main_content .anniversary-sec-title-sub + .text {
    margin-top: 20px;
}

.main_content .lineup {
    margin-top: 50px;
}

.main_content .lineup-list {
    display: flex;
    justify-content: space-between;
}

.main_content .lineup-list-item {
    width: 30.834%;
}

.main_content .lineup-link {
    display: block;
}

.main_content .lineup-link .lineup-visual {
    overflow: hidden;
}

.main_content .lineup-link img {
    transition: transform .8s ease-out;
    transform: scale(1);
}

.main_content .lineup-link:hover img{
    transform: scale(1.08);
}

.main_content .lineup-content {
    margin-top: 25px;
}

.main_content .lineup-title {
	font-size: 2rem;
	line-height: 1
}

.main_content .lineup-title-sub {
	margin-top: 10px;
    font-size: 1.5rem;
    font-weight: 300;
}

.main_content .lineup-list:not(:first-of-type) {
    margin-top: 40px;
}

.main_content .lineup-btn {
    margin-top: 50px;
}

.button-wrap.is-center {
    justify-content: center;
}

.main_content .lineup-btn .button {
    width: auto;
    padding: 0 20px;
}

#ppr .main_content .ppr-sec-first {
    margin-top: 60px;
}

#ppr .main_content .tertiary-copy {
    font-family: SourceHanSans;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.9;
    text-align: center;
    letter-spacing: .06em;
}

#ppr .main_content .ppr-sec-first .text {
    margin-top: 40px;
}

#ppr .main_content .ppr-sec {
    margin-top: 90px;
}

#ppr .main_content .ppr-sec.is-bg {
	padding: 90px 0 120px;
    background-color: #e5d8d0;
    margin-left: -50px;
    margin-right: -50px;
}

#ppr .main_content .ppr-sec-first {
	margin-top: 60px
}

#ppr .main_content .ppr-sec-first .text {
	margin-top: 40px
}

#ppr .main_content .ppr-title-primary {
    font-family: SourceHanSans;
    font-size: 4.2rem;
    font-weight: 400;
    letter-spacing: .01em;
}

#ppr .main_content .ppr-title-tertiary {
    margin-top: 15px;
    font-family: SourceHanSans;
    font-size: 1.8rem;
    font-weight: 500;
    letter-spacing: .05em;
}

.title.is-tertiary.is-1 {
    font-size: 2.8rem;
}

#ppr .main_content .ppr-sec-block-head .text, #ppr .main_content .ppr-sec-block-inner {
    margin-top: 30px;
}

#ppr .main_content .ppr-change {
    margin-top: 50px;
}

#ppr .main_content .ppr-change-head {
	position: relative;
	display: flex;
	justify-content: space-between;
	width: 100%;
	background-color: #fff
}

#ppr .main_content .ppr-change-head-visual {
	width: 50%
}

#ppr .main_content .ppr-change-head-content {
	width: 50%;
	padding: 90px 60px 40px
}

#ppr .main_content .ppr-change-head:after {
	position: absolute;
	bottom: -40px;
	left: 50%;
	display: block;
	width: 65px;
	height: 65px;
	content: "";
	border-bottom: 3px solid #fff;
	border-left: 3px solid #fff;
	transform: rotate(-45deg) translateX(-72%)
}

#ppr .main_content .ppr-change-head.is-scroll-init {
	opacity: 0;
	transition: all 0ms;
	transform: translate3d(0,30px,0)
}

#ppr .main_content .ppr-change-head.is-scroll-visibled {
	opacity: 1;
	transition-timing-function: cubic-bezier(.4,.2,.1,1);
	transition-duration: .8s;
	transition-property: all;
	transform: translateZ(0)
}

#ppr .main_content .ppr-change-head-content-fig {
	line-height: 0;
	text-align: center
}

#ppr .main_content .ppr-change-head-content-fig+.title {
	margin-top: 0
}

#ppr .main_content .ppr-change-head-content-fig+.title+.text {
	margin-top: 15px;
    line-height: 1.5;
    font-size: 1.4rem;
}

#ppr .main_content .ppr-change-after {
	margin-top: 120px
}

#ppr .main_content .ppr-change-after.is-scroll-init .ppr-change-after-list-item {
	opacity: 0;
	transition: all 0ms;
	transform: translate3d(0,30px,0)
}

#ppr .main_content .ppr-change-after.is-scroll-visibled .ppr-change-after-list-item {
	opacity: 1;
	transition-timing-function: cubic-bezier(.4,.2,.1,1);
	transition-duration: .8s;
	transition-property: all;
	transform: translateZ(0)
}

#ppr .main_content .ppr-change-after.is-scroll-visibled .ppr-change-after-list-item:first-of-type {
	transition-delay: 0,0
}

#ppr .main_content .ppr-change-after.is-scroll-visibled .ppr-change-after-list-item:nth-of-type(2) {
	transition-delay: .2s,.2s
}

#ppr .main_content .ppr-change-after.is-scroll-visibled .ppr-change-after-list-item:nth-of-type(3) {
	transition-delay: .4s,.4s
}

#ppr .main_content .ppr-change-after.is-scroll-visibled .ppr-change-after-list-item:nth-of-type(4) {
	transition-delay: .6s,.6s
}

#ppr .main_content .ppr-change-after-list {
	display: flex;
	justify-content: space-between;
	width: 100%
}

#ppr .main_content .ppr-change-after-list-item {
	width: 25%;
	background-color: #fff
}

#ppr .main_content .ppr-change-after-list-item:not(:last-of-type) {
	border-right: 1px solid #e5d8d0
}

#ppr .main_content .ppr-change-after-text {
	padding: 0 50px 30px
}

#ppr .main_content .ppr-change-after-copy {
	width: 170px;
	margin: 10px auto 0;
	font-size: 1.2rem;
    letter-spacing: normal;
    text-align: center;
}

#ppr #modal-ppr-content .button-wrap .button.is-solid {
	width: 126px;
	height: 30px;
	font-size: 1.1rem
}

.button.is-solid {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 190px;
    height: 41px;
    font-size: 1.3rem;
    /* font-weight: 600; */
    border: 1px solid #453536;
    border-radius: 21px;
    transition: all .45s cubic-bezier(.785,.135,.15,.86) 0ms;
}

.button.is-border.is-touch-hover, .button.is-solid {
    color: #fff;
    background-color: #453536;
}

.new_cnt{
    border: 3px solid #f8b2ba;
}

.new_cnt_reverse.media_col.is-reverse.is-over-half .media_col-content{
    padding-right: 0;
    width: 45%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.new_cnt_reverse.media_col.is-reverse.is-over-half .media_col-visual{
    width: 55%;
}

.new_cnt_reverse dl{
    margin-bottom: 20px;
}

.new_cnt_reverse dl.last_dl{
    margin-bottom: 0;
}


.new_cnt_reverse dl dt{
    font-family: SourceHanSans;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.new_cnt_reverse dl dd{
    font-size: 1.6rem;
    color: #999;
    line-height: 1.7;
}

.new_cnt_reverse dl dd.is_span{
    font-size: 1.2rem;
    padding-top: 10px;
}

.newLink{
    margin-top: 20px;
}

.newLink a::before{
    display: none;
}

.section.main.shop .container-1200 .row .col-2 ul li, .section.banners-column .container-1200 .row .col-2 ul li{
    height: 300px;
}

.section.banners-column .ring-link{
    height: 100%;
}

.banners-column .container-1200 .row .col-2 .bloc-08{
    border-bottom: 0;
}

.media_block-tips{
	background: url(../../assets_2017/img/proposering/ppr_ring_bg.jpg) no-repeat center;
    border: solid 3px #ffb1b9;
    padding: 60px 100px;
    padding-bottom: 50px;
    margin-bottom: 40px;
    margin-top: 50px;
    padding-left: 100px;
}

.media_block-tips ul{
	text-align: left;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-top: 50px;
    font-size: 1.4rem;
    padding-left: 376px;
}

.media_block-tips ul li{
	position: relative;	
    line-height: 2;
    margin-bottom: 10px;
    font-size: 14px;
}

.media_block-tips ul li::after{
	content: '';
	position: absolute;
	width: 10px;
	height: 10px;
	border: 1px solid #333;
	border-radius: 50%;
	left: -20px;
	top: 50%;
	margin-top: -5px;
}

.media_block-tips h3{
        font-weight: 300 !important;
    letter-spacing: 0.22em !important;
    font-size: 2.6rem;
    text-align: center;
}

.recommend dt {
    /* width: 506px; */
    padding: 5px 10px;
    background-color: #ABA2A0;
    font-size: 13px;
    font-size: 1.3;
    line-height: 1.6;
    color: #fff;
    margin: 0 0 10px;
}

.main .recommend dd ul li {
    float: left;
    width: auto;
    border: none;
}

.product-set-block-content .recommend{
    position: absolute;
    bottom: 0;
}

.product-set-block-content .recommend dt{
    width: calc(100% - 17%);

}

.product-set-block-content .recommend dd ul li{
    float: left;
    width: 50%;
}

.recommend dd ul li a {
    color: #463D3E;
    display: block;
    font-size: 13px;
    font-size: 1.3rem;
    line-height: 1.6;
    text-decoration: underline;
    background-image: url(../img/ic-arrow-08.png);
    background-size: 4px auto;
    background-position: 0% 50%;
    background-repeat: no-repeat;
    padding: 0 0 5px 15px;
    margin: 0 30px 0 0;
}

.section .content-head.eng-head{
    margin-top: 40px;
}

.section .content-head.eng-head .title{
    font-weight: bold;
}

.section .content-head.eng-head .title.title-eng{
    font-weight: 500;
}

.hero-content.hero-up {
    font-family: SourceHanSans;
}

.hero-content.hero-up .hero-title{
    font-weight: bold !important;
}

.hero-content.hero-up .hero-text{
    font-size: 2rem;
    font-weight: bold !important;

}