#top .fv {../index_.php
  height: 950px;
  background: url(../images/index/220630/bg_fv.jpg) center top/cover no-repeat;
  margin-top: -100px;
  position: relative;
  min-height: 852px;
  min-width: 1600px; }

  #top .fv .inner {
    position: relative;
    padding-top: 170px;
    text-align: left; }
    
  #top .fv h2 {
	font-size: 75px;
	line-height: 95px;
    margin-right: -50px;
    margin-bottom: 50px;
    padding: 270px 0 0 50px; }
    
  #top .fv h2 span{
	  display: block;
	  padding-bottom: 10px;
  }

#top .new-post {
  margin-top: -177px;
  margin-bottom: 120px;
  position: relative; }
  #top .new-post .inner {
    max-width: 1000px;
    padding: 40px 50px 32px 40px;
    background: #ffffff;
    -webkit-box-shadow: 40px 0 70px rgba(0, 0, 0, 0.14);
           	box-shadow: 40px 0 70px rgba(0, 0, 0, 0.14); }    
    #top .new-post .inner .left {
      width: calc(100% - 680px);
      float: left; }
      #top .new-post .inner .left h3 {
        font-family: 'Cormorant Garamond', serif;
        font-weight: 500;
        font-size: 48px;
        line-height: 54px;
        margin: -10px 0 123px; }
    #top .new-post .inner .right {
      width: 680px;
      display: flex; 
      }
    #top .new-post .inner .right .item {
        display: block;
        width: 200px;
        margin-right: 40px; 
    }
        #top .new-post .inner .right .item:last-of-type {
          margin-right: 0; }
        #top .new-post .inner .right .item img {
          width: 100%;
          margin-bottom: 12px; }
        #top .new-post .inner .right .item span {
          display: block;
          font-size: 14px;
          color: #737373;
          margin-bottom: 9px;
          position: relative; }
          #top .new-post .inner .right .item span::before {
            content: '';
            width: 120px;
            height: 1px;
            background: #b3b3b3;
            position: absolute;
            top: 50%;
            right: 0;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%);
            -moz-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            -o-transform: translateY(-50%); }
        #top .new-post .inner .right .item h4 {
          font-size: 18px;
          line-height: 26px;
          margin-bottom: 10px; }
        #top .new-post .inner .right .item .object {
          display: block; }
        #top .new-post .inner .right .item .object a {
          display: inline-block;
          font-family: 'Noto-Serif-JP-Light';
          font-size: 10px;
          line-height: 17px;
          color: #000000;
          background: #e6e6e6;
          padding: 0 4px;
          margin: 0 6px 8px 0;
          border-radius: 3px;
          -webkit-border-radius: 3px;
          -moz-border-radius: 3px;
          -ms-border-radius: 3px;
          -o-border-radius: 3px; }

#top .solution {
  padding-bottom: 190px; }
  #top .solution .inner {
    position: relative; }
  #top .solution h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 120px;
    opacity: 0.6;
    letter-spacing: -6px;
    margin: 0 0 40px -7px; }
  #top .solution h4 {
    font-size: 38px;
    line-height: 60px;
    margin-bottom: 32px; }
    #top .solution h4 small {
      display: inline-block;
      font-size: 22px;
      line-height: 76px; }
    #top .solution h4 span {
      font-size: 30px;
      position: relative; }
      #top .solution h4 span::before {
        content: '';
        width: 91px;
        height: 59px;
        background: url(../images/index/border_note.png) no-repeat;
        position: absolute;
        top: -3px;
        left: -13px; }
  #top .solution p {
    max-width: 365px;
    font-family: 'Noto-Serif-JP-Light';
    font-size: 16px;
    line-height: 32px;
    margin-bottom: 65px; }
  #top .solution .img-body {
    position: absolute;
    top: 173px;
    right: 234px; }
  #top .solution .img-face {
    position: absolute;
    top: 30px;
    right: -117px; }
  #top .solution .sub-bg {
    position: absolute;
    top: 365px;
    right: -250px;
    z-index: -1; }

#top .ranking {
  padding-bottom: 75px;
  margin-bottom: 140px;
  position: relative; }
  #top .ranking::before {
    content: '';
    width: calc((100% - 1100px) / 2 + 960px);
    height: calc(100% - 70px);
    position: absolute;
    bottom: 0;
    left: 0;
    background: url(../images/index/bg_ranking.png) center/cover;
    z-index: -1; }
  #top .ranking h3 {
    font-family: 'Cormorant Garamond', serif;
    font-size: 140px;
    line-height: 1;
    font-weight: 500;
    opacity: 0.6;
    letter-spacing: -8px;
    margin-left: -8px;
    margin-bottom: -8px; }
  #top .ranking h4 {
    font-size: 38px;
    line-height: 34px;
    margin-bottom: 25px; }
    #top .ranking h4 small {
      display: inline-block;
      font-size: 16px;
      line-height: 1;
      margin-left: 15px; }
    #top .ranking h4 .d-line {
      display: inline-block;
      font-size: 24px;
      margin-left: 15px;
      margin-bottom: 22px;
      position: relative; }
      #top .ranking h4 .d-line::before {
        content: '';
        width: 1px;
        height: 25px;
        background: #000000;
        position: absolute;
        top: 0;
        left: -10px;
        transform: rotate(-26deg);
        -webkit-transform: rotate(-26deg);
        -moz-transform: rotate(-26deg);
        -ms-transform: rotate(-26deg);
        -o-transform: rotate(-26deg); }
      #top .ranking h4 .d-line::after {
        content: '';
        width: 1px;
        height: 25px;
        background: #000000;
        position: absolute;
        top: 0;
        right: -10px;
        transform: rotate(26deg);
        -webkit-transform: rotate(26deg);
        -moz-transform: rotate(26deg);
        -ms-transform: rotate(26deg);
        -o-transform: rotate(26deg); }
    #top .ranking h4 .border {
      display: inline-block;
      font-size: 28px;
      padding: 7px 20px;
      border: 1px solid #000000;
      margin-right: 4px; }
  #top .ranking .content {
    margin-left: -14px;
    margin-bottom: 8px; }

#top .beauty-column {
  padding-bottom: 225px; }
  #top .beauty-column h3 {
    font-size: 24px;
    text-align: center;
    margin-bottom: 38px; }
    #top .beauty-column h3 span {
      display: inline-block;
      font-family: 'Cormorant Garamond', serif;
      font-size: 60px;
      opacity: 0.6;
      letter-spacing: 4px;
      margin-bottom: 12px; }
  #top .beauty-column .sub-title {
    font-size: 16px;
    text-align: center;
    margin-bottom: 90px; }
  #top .beauty-column .item {
    display: block;
    width: 300px !important;
    margin: 0 25px;
    float: left; }
    #top .beauty-column .item img {
      width: 100%;
      height: auto;
      margin-bottom: 28px; }
    #top .beauty-column .item span {
      display: block;
      font-size: 14px;
      color: #737373;
      margin-bottom: 8px;
      position: relative; }
      #top .beauty-column .item span::before {
        content: '';
        width: 210px;
        height: 1px;
        background: #b3b3b3;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%); }
    #top .beauty-column .item h4 {
      font-size: 24px;
      line-height: 34px;
      margin-bottom: 18px; }
    #top .beauty-column .item object {
      display: block;
      margin-bottom: 20px; }
      #top .beauty-column .item object a {
        display: inline-block;
        font-family: 'Noto-Serif-JP-Light';
        font-size: 12px;
        line-height: 19px;
        color: #000000;
        background: #e6e6e6;
        padding: 0 4px;
        margin: 0 3px 8px 0;
        border-radius: 3px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        -ms-border-radius: 3px;
        -o-border-radius: 3px; }
  #top .beauty-column .slide {
    margin-bottom: 98px; }
    #top .beauty-column .slide .slick-prev {
      width: 80px;
      height: 80px;
      background: url(../images/common/prev_slide.png) center no-repeat;
      z-index: 1;
      top: 205px;
      left: calc((100% - 1100px) / 2 - 22px); }
      #top .beauty-column .slide .slick-prev::before {
        content: none; }
    #top .beauty-column .slide .slick-next {
      width: 80px;
      height: 80px;
      background: url(../images/common/next_slide.png) center no-repeat;
      z-index: 1;
      top: 205px;
      right: calc((100% - 1100px) / 2 - 22px); }
      #top .beauty-column .slide .slick-next::before {
        content: none; }
  #top .beauty-column .wrap-btn .btn-border {
    margin: auto; }

#top .beauty-producer {
  padding-bottom: 217px;
  position: relative; }
  #top .beauty-producer::before {
    content: '';
    width: 50%;
    height: 220px;
    background: url(../images/index/bg_gradiecnt_2.png) center/cover;
    position: absolute;
    top: -96px;
    left: 0;
    z-index: -1; }
  #top .beauty-producer::after {
    content: '';
    width: 160px;
    height: 161px;
    background: url(../images/index/bg_gradiecnt_4.png) center/cover;
    position: absolute;
    top: 130px;
    right: calc((100% - 1040px) / 2);
    z-index: -1; }
  #top .beauty-producer .inner {
    max-width: 900px;
    padding: 38px 40px 40px;
    background: #ffffff;
    -webkit-box-shadow: 40px 0 70px rgba(0, 0, 0, 0.14);
            box-shadow: 40px 0 70px rgba(0, 0, 0, 0.14);
    position: relative; }
    #top .beauty-producer .inner::before {
      content: '';
      width: 90px;
      height: 90px;
      background: url(../images/index/bg_gradiecnt_3.png) center/cover;
      position: absolute;
      top: -135px;
      right: -235px; }
    #top .beauty-producer .inner .left {
      width: 150px;
      float: left; }
    #top .beauty-producer .inner .right {
      display: block;
      width: calc(100% - 150px);
      float: left;
      padding-left: 40px; }
      #top .beauty-producer .inner .right h4 {
        font-family: 'Cormorant Garamond', serif;
        font-size: 22px;
        opacity: 0.6;
        margin-bottom: 2px;
        position: relative; }
        #top .beauty-producer .inner .right h4::before {
          content: '';
          width: 410px;
          height: 1px;
          background: #b3b3b3;
          position: absolute;
          top: 40%;
          right: 0; }
      #top .beauty-producer .inner .right p {
        font-size: 16px;
        line-height: 40px;
        margin-bottom: 18px; }
        #top .beauty-producer .inner .right p span {
          font-size: 30px;
          margin-right: 15px; }
          
/* recommended ----------------------------------------------------- */
	#top .recommended{
		background: url(../images/index/220630/bg_recommended.jpg) center/cover no-repeat;
	}
	
	#top .recommended .inner{
		width: 1200px;
	}
	
	#top .recommended .cfx{
		padding-top: 35px;
	}

	#top .recommended h3{
		font-size: 30px;
		text-align: center;
		margin-bottom: 31px;
		color: #fff;
		padding-top: 15px;
		opacity: 0.6;
	}
	
	#top .recommended h3 span{
		display: inline-block;
		font-family: 'Cormorant Garamond', serif;
		font-size: 60px;
		letter-spacing: 4px;
		margin-bottom: 7px;
	}
	
	#top .recommended .left{
		width: 500px;
		text-align: center;
		float: left;
		color: #fff;
		padding-left: 100px;
		box-sizing: content-box;
	}
	
	#top .recommended .cfx p:first-of-type{
		font-size: 23px;
		background-color: #000000;
		padding: 12px 0;
		text-align: center;
		width: 280px;
		margin: 0 auto;
	}
	
	#top .recommended h4{
		width: 412px;
		margin: 0 auto;
		padding: 40px 0 25px;
	}
	
	#top .recommended h4 img{
		width: 100%;
	}
	
	#top .recommended .left p:last-of-type{
		font-size: 26px;
		line-height: 47px;
	}
	
	#top .recommended .left dl{
		width: 240px;
		margin: 0 auto;
		padding-bottom: 26px;
		padding: 15px 0 20px 0;
	}
	
	#top .recommended .left dt{
		float: left;
		width: 100px;
		line-height: 25px;
		font-size: 19px;
	}
	
	#top .recommended .left dd{
		float: right;
		width: 140px;
		font-size: 50px;
	}
	
	#top .recommended .left dd span{
		font-size: 27px;
	}
	
	#top .recommended .btn-border{
		margin: 0 auto;
	}
	
	#top .recommended .right{
		display: block;
		width: 500px;
		float: right;
		margin-top: -100px;
	}
          

@media (max-width: 640px) {
  #top .fv {
    height: auto;
    margin-top: 0;
    min-height: auto;
    min-width: 100%;
    padding: 145px 0 0 10px;
    aspect-ratio: 125 / 129;
    background: url(../images/index/220630/bg_fv-sp.jpg) center top/cover no-repeat; }
    
    #top .fv h2 span{
		width: 85%;
		padding: 10px 0 0;  
    }
    
    #top .fv h2 span img{
	    width: 100%;
    }

    #top .fv .inner {
      padding-top: 60px; }
      
    #top .fv h2 {
      margin-right: 0;
	  margin-left: 0;
	  margin-bottom: 0;
	  font-size: 25px;
	  line-height: 35px;
  	  width: 200px;
  	  padding: 10px; }

  #top .new-post {
    padding: 50px 0;
    margin: 0; }
    #top .new-post .inner {
      width: 100%;
      padding: 0;
      -webkit-box-shadow: none;
              box-shadow: none; }
      #top .new-post .inner .left {
        width: 90%;
        margin: 0 5% 12px;
        position: relative; }
        #top .new-post .inner .left h3 {
          font-size: 30px;
          line-height: 42px;
          margin: 0; }
        #top .new-post .inner .left .btn-border {
	      z-index: 2;
          position: absolute;
          right: 0;
          top: 50%;
          transform: translateY(-50%);
          -webkit-transform: translatey(-50%);
          -moz-transform: translatey(-50%);
          -ms-transform: translatey(-50%);
          -o-transform: translatey(-50%); }
		#top .new-post .inner .right {
        width: 100%; }
        #top .new-post .inner .right .item {
          width: 150px !important;
          margin: 0 7px !important;}
          #top .new-post .inner .right .item img {
            margin-bottom: 8px; }
          #top .new-post .inner .right .item span {
            font-size: 11px;
            margin-bottom: 5px; }
            #top .new-post .inner .right .item span::before {
              content: none; }
          #top .new-post .inner .right .item h4 {
            font-size: 12px;
            line-height: 16px;
            margin-bottom: 8px; }
          #top .new-post .inner .right .item a {
            font-size: 9px;
            line-height: 14px;
            padding: 0 2px;
            margin: 5px 2px 4px 0;
            text-align: center; }
  #top .solution {
    padding-bottom: 60px; }
    #top .solution .inner {
      padding: 0 10px 300px; }
    #top .solution h3 {
      font-size: 50px;
      letter-spacing: 0;
      margin: 0 0 5px 0; }
    #top .solution h4 {
      font-size: 26px;
      line-height: 35px;
      margin-bottom: 15px; }
      #top .solution h4 small {
        font-size: 14px;
        line-height: 16px; }
      #top .solution h4 span {
        font-size: 18px;
        line-height: 40px; }
        #top .solution h4 span::before {
          width: 55px;
          height: 34px;
          background-size: contain;
          top: -2px;
          left: -8px; }
    #top .solution p {
      font-size: 12px;
      line-height: 22px;
      margin-bottom: 22px; }
    #top .solution .img-body {
      width: 180px;
      top: auto;
      bottom: -20px;
      right: calc((50% - 40px)); }
    #top .solution .img-face {
      width: 180px;
      top: auto;
      bottom: 18px;
      left: calc((50% - 5px)); }
    #top .solution .sub-bg {
      width: 213px;
      top: auto;
      bottom: 0;
      right: -7%; }
  #top .ranking {
    padding-bottom: 0;
    margin-bottom: 50px; }
    #top .ranking::before {
      width: 73%;
      height: 435px;
      bottom: auto;
      top: 30px; }
    #top .ranking .inner {
      padding: 0 10px; }
    #top .ranking h3 {
      font-size: 60px;
      letter-spacing: -1px;
      margin: 0; }
    #top .ranking h4 {
      font-size: 30px;
      line-height: 35px;
      margin: -28px 0 12px; }
      #top .ranking h4 small {
        font-size: 12px;
        line-height: 17px;
        margin-left: 10px;
        position: relative;
        top: 14px; }
      #top .ranking h4 .d-line {
        font-size: 14px;
        line-height: 17px;
        margin-left: 10px;
        margin-bottom: 2px; }
        #top .ranking h4 .d-line::before {
          height: 18px;
          left: -7px; }
        #top .ranking h4 .d-line::after {
          height: 18px;
          right: -7px; }
      #top .ranking h4 .border {
        font-size: 20px;
        line-height: 30px;
        padding: 0 15px; }
    #top .ranking .content {
      width: 115%;
      margin-left: -2.5%; }
  #top .beauty-column {
    padding-bottom: 80px; }
    #top .beauty-column h3 {
      font-size: 16px;
      line-height: 26px;
      margin-bottom: 12px; }
      #top .beauty-column h3 span {
        font-size: 30px;
        letter-spacing: 0;
        margin-bottom: 5px; }
    #top .beauty-column .sub-title {
      max-width: 255px;
      font-size: 12px;
      line-height: 22px;
      text-align: left;
      margin: 0 auto 35px; }
    #top .beauty-column .slide {
      margin-bottom: 35px; }
    #top .beauty-column .item {
      width: 150px !important;
      margin: 0 7px !important; }
      #top .beauty-column .item img {
        margin-bottom: 8px; }
      #top .beauty-column .item span {
        font-size: 11px;
        margin-bottom: 5px; }
        #top .beauty-column .item span::before {
          content: none; }
      #top .beauty-column .item h4 {
        font-size: 12px;
        line-height: 16px;
        margin-bottom: 8px; }
      #top .beauty-column .item object {
        margin-bottom: 10px; }
        #top .beauty-column .item object a {
          font-size: 9px;
          line-height: 14px;
          padding: 0 2px;
          margin: 0 2px 4px 0; }
  #top .beauty-producer {
    padding-bottom: 95px; }
    #top .beauty-producer::before {
      width: 73%;
      height: 110px;
      top: -35px; }
    #top .beauty-producer::after {
      width: 50px;
      height: 50px;
      top: auto;
      bottom: 70px;
      right: 2.5%; }
    #top .beauty-producer .inner {
      padding: 20px; }
      #top .beauty-producer .inner::before {
        width: 30px;
        height: 30px;
        top: auto;
        right: auto;
        bottom: -58px;
        left: 5%; }
      #top .beauty-producer .inner h3 {
        width: 100%;
        float: left;
        font-family: 'Cormorant Garamond', serif;
        font-size: 14px;
        opacity: 0.6;
        margin-bottom: 10px;
        position: relative; }
        #top .beauty-producer .inner h3::before {
          content: '';
          width: calc(100% - 140px);
          height: 1px;
          background: #b3b3b3;
          position: absolute;
          right: 0;
          top: 5px; }
      #top .beauty-producer .inner .left {
        width: 95px; }
      #top .beauty-producer .inner .right {
        width: calc(100% - 95px);
        padding-left: 15px; }
        #top .beauty-producer .inner .right h4 {
          font-size: 12px;
          margin-bottom: 5px; }
          #top .beauty-producer .inner .right h4::before {
            content: none; }
        #top .beauty-producer .inner .right p {
          font-size: 12px;
          line-height: 17px;
          margin-bottom: 12px; }
          #top .beauty-producer .inner .right p span {
            display: inline-block;
            font-size: 17px;
            margin-right: 0;
            margin-top: 7px; } 
            

/* recommended ----------------------------------------------------- */
	#top .recommended{
		background: url(../images/index/220630/bg_recommended-sp.jpg) center/cover no-repeat;
		aspect-ratio: 750/791;
	}
	
	#top .recommended .inner{
		width: 90%;
	}
	
	#top .recommended .cfx{
		padding-top: 0;
	}

	#top .recommended h3{
		font-size: 16px;
		line-height: 26px;
		margin-bottom: 12px;
	}
	
	#top .recommended h3 span{
		font-size: 30px;
		letter-spacing: 0;
		margin-bottom: 0;
		line-height: 40px;
	}      
	
	#top .recommended .left{
		width: 200px;
		padding-left: 0;
	}   
	
	#top .recommended .cfx p:first-of-type{
		width: 150px;
		font-size: 13px;
		padding: 10px 0;
	}
	
	
	#top .recommended .left p:last-of-type{
		font-size: 12px;
		line-height: 25px;
	}
	
	#top .recommended h4{
		width: 85%;
		padding: 15px 0 10px;
	}
	
	#top .recommended .left dl{
		width: 125px;
		padding: 5px 0;
	}
	
	#top .recommended .left dt{
		line-height: 17px;
		font-size: 11px;
		width: 59px;
		text-align: left;
	}
	
	#top .recommended .left dd{
		width: 66px;
		font-size: 23px;
		padding-top: 9px;
		text-align: left;
	}
	
	#top .recommended .left dd span{
		font-size: 12px;
	}
	
	#top .recommended .right{
		width: 75%;
		margin: 0 auto;
		padding-top: 25px;
		float: none;
	}
}
