@charset "UTF-8";
/*
*******************************************************************************************************
# Hythiol -Toppage style

	-- pagelayout
*******************************************************************************************************
*/


/* ------------------------------------
	* ローディング画面
* ------------------------------------ */
.wrpHeader{
    display: none;
}

.wrpHeader.visible{
    display: block;
}

.wrpContents{
    display: none;
}

.wrpContents.visible{
    display: block;
}

#loadingScreen{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    max-height: 100dvh;
    z-index: 9999;
    opacity: 1;
    transition: all 2s;
    background-image: url('/hythiol/top/images/bg_loading_pc.webp');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 150%;
    animation: bgGradient 5s linear infinite;
    overflow: hidden;
}

#loadingScreen::before{
    position: absolute;
    z-index: 1;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url('/hythiol/top/images/bg_loading.png');
    background-size: contain;
    background-position: center;
    background-repeat: repeat;
    animation: anmFadeOut 1s 1s ease forwards;
}

#loadingScreen::after{
    position: absolute;
    z-index: 2;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url('/hythiol/top/images/bg_loading_pc.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

#loadingScreen.hidden {
    opacity: 0;
    z-index: 1;
}

@media (orientation: portrait) {
    #loadingScreen{
        flex-direction: column;
        background-image: url('/hythiol/top/images/bg_loading_sp.webp');
    }

    #loadingScreen::after{
        background-image: url('/hythiol/top/images/bg_loading_sp.svg');
    }
}


/* ------------------------------------
	* pagelayout
* ------------------------------------ */

.wrpContents{
    position: relative;
    z-index: 1;
}

.wrpContents.full {
    margin: 0;
    width: auto;
}

.wrpContents a{
    transition: opacity .2s;
}

.wrpContents a:hover{
    color: unset;
    opacity: 0.7;
}

.wrpContents a i[class^=icon]{
    color: #DE0067;
}

.wrpContents .strong{
    color: #DE0067;
}

.contentsBg{
    position: relative;
    z-index: 1;
    background-color: #ffffff;
}

.modOfficialSNS{
    padding-top: 80px;
}

.mincho {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.onlyLandscape{
    display: block;
}

.onlyPortrait{
    display: none;
}

@media (orientation: portrait) {
    .onlyLandscape{
        display: none;
    }

    .onlyPortrait{
        display: block;
    }
}


/* ------------------------------------
	* アニメーション 共通
* ------------------------------------ */
@keyframes anmLeft {
    0% {
        transform: translateX(3%);
    }
    100% {
        transform: translateX(10%);
    }
}

@keyframes anmRight {
    0% {
        transform: translateX(-3%);
    }
    100% {
        transform: translateX(-8%);
    }
}

@keyframes anmScale {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.1);
    }
}

@keyframes anmScaleBound {
    0% {
        transform: scale(1.1);
    }
    15% {
        transform: scale(1);
    }
    85% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.1);
    }
}

@keyframes anmFadeIn {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes anmFadeOut {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

@keyframes anmUpDown {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(10%);
    }
    100% {
        transform: translateY(0);
    }
}

@keyframes anmLeftRight {
    0% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(10%);
    }
    100% {
        transform: translateX(0);
    }
}

@keyframes anmRotateY {
    0% {
        transform: rotateY(0deg);
    }
    50% {
        transform: rotateY(180deg);
    }
    100% {
        transform: rotateY(0deg);
    }
}

@keyframes anmBound {
    0% {
        transform: translate(0px, 0px);
    }
    30% {
        transform: translate(0px, -5%);
    }
    80% {
        transform: translate(0px, 0px);
    }
    100% {
        transform: translate(0px, 0px);
    }
}


/* ------------------------------------
	* 水滴 アニメーション
* ------------------------------------ */
@keyframes drop{
    0% {
        transform: rotate(0);
    }
    50% {
        transform: rotate(180deg);
    }
    100% {
        transform: rotate(360deg);
    }
}


/* ------------------------------------
	* グラデアニメーション
* ------------------------------------ */
@keyframes bgGradient{
    0% {
        background-position: 0% 0%;
    }
    13% {
        background-position: 0% 50%;
    }
    25% {
        background-position: 50% 50%;
    }
    38% {
        background-position: 50% 100%;
    }
    50% {
        background-position: 100% 100%;
    }
    63% {
        background-position: 100% 50%;
    }
    75% {
        background-position: 50% 50%;
    }
    88% {
        background-position: 50% 0%;
    }
    100% {
        background-position: 0% 0%;
    }
}

@keyframes bgGradient02{
    0% {
        background-position: 50% 50%;
    }
    25% {
        background-position: 100% 50%;
    }
    50% {
        background-position: 50% 50%;
    }
    75% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 50% 50%;
    }
}


/* ------------------------------------
	* フェードインアニメーション
* ------------------------------------ */
.fadeIn {
    opacity: 0;
    transition-property: opacity, transform;
    transition-duration: 1.5s, 1.5s;
    transition-delay: 0s, 0s;
    transition-timing-function: ease, ease;
}

.fadeIn.visible {
    opacity: 1;
    transform: translateY(0);
}

.fadeInTop {
    transform: translateY(-15%);
}

.fadeInBottom {
    transform: translateY(15%);
}

.fadeInLeft {
    transform: translateX(-15%);
}

.fadeInRight {
    transform: translateX(15%);
}

.fadeIn.visible.fadeInBound {
    animation: fadeIn 1.5s ease forwards, anmBound 1s .5s linear alternate;
}

.delay10{
    transition-delay: 1s;
}

.delay15{
    transition-delay: 1.5s;
}

.delay20{
    transition-delay: 2s;
}

.delay25{
    transition-delay: 2.5s;
}

.delay30{
    transition-delay: 3s;
}

.delay35{
    transition-delay: 3.5s;
}

.delay40{
    transition-delay: 4s;
}


/* ------------------------------------
	* スケールアニメーション
* ------------------------------------ */
.scaleDown {
    transform: scale(1.1);
    transition: transform 7s .5s ease;
}


/* ------------------------------------
	* 流れるテキストアニメーション
* ------------------------------------ */
/* 親要素 */
.slide-in {
    overflow: hidden;
    display: block;
}
/* 子要素 */
.slide-in_inner {
    display: block;
}

/* 左右のアニメーション */
.leftAnime{
    opacity: 0;
}

.slideAnimeLeftRight {
    animation-name:slideTextX100;
    animation-duration:2s;
    animation-delay: .5s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
    from {
        transform: translateX(-100%);
        opacity: 0;
    }

    to {
        transform: translateX(0);
        opacity: 1;
    }
}

.slideAnimeRightLeft {
    animation-name:slideTextX-100;
    animation-duration:2s;
    animation-delay: .5s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX-100 {
    from {
    transform: translateX(100%);
        opacity: 0;
    }

    to {
    transform: translateX(0);
        opacity: 1;
    }
}

/* 上下のアニメーション*/
.upAnime{
    opacity: 0;
}

.slideAnimeDownUp {
    animation-name:slideTextY100;
    animation-duration:4s;
    animation-delay: .5s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextY100 {
    from {
        transform: translateY(100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
.slideAnimeUpDown {
    animation-name:slideTextY-100;
    animation-duration:4s;
    animation-delay: .5s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextY-100 {
    from {
    transform: translateY(-100%);
    opacity: 0;
    }
    to {
    transform: translateY(0);
    opacity: 1;
    }
}


/* ------------------------------------
	* mainVisual
* ------------------------------------ */

.mainVisual {
    position: relative;
    width: 100%;
    height: calc(100vh - 86px);
    height: calc(100svh - 86px);
    background-color: #fff;
}


.mainVisual .sliderArea {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0 auto;
}

.mainVisual .sliderArea a:hover{
    opacity: 1;
}

.mainVisual .sliderArea a:hover img{
    opacity: 1;
}

.sliderArea .sliderList{
    height: 100%;
}

.sliderArea .slick-list {
    overflow: visible;
    height: 100%;
}

.sliderArea .slick-list .slick-track{
    height: 100%;
}

.sliderArea .slick-list .slick-slide {
    position: relative;
    font-size: 0;
}

.sliderArea .slick-list .slick-slide a {
    display: block;
    height: calc(100vh - 86px);
    height: calc(100svh - 86px);
}

.sliderArea .slick-list .slick-slide{
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

/* ブランドキャプチャ スタイル */
.sliderArea .slick-list .slideBrand .slideGroup {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.slideGroup:nth-child(1) picture img{
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.sliderArea .slick-list .slideBrand .slideGroup:nth-child(2){
    display: flex;
}

.sliderArea .slick-list .slideBrand .slideGroup ul{
    position: relative;
    z-index: 1;
    width: 50%;
    height: 100%;
    overflow: hidden;
}

.sliderArea .slick-list .slideBrand .slideGroup ul:nth-child(2){
    z-index: -1;
    width: calc(50% + 2px);
    margin-left: -2px;
}

.sliderArea .slick-list .slideBrand .slideGroup li{
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
}

.sliderArea .slick-list .slideBrand .slideGroup li img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.sliderArea .slick-list .slideBrand .slideGroup li .top img{
    object-position: top;
}

.sliderArea .slick-list .slideBrand .slideTxt {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.sliderArea .slick-list .slideBrand .slideTxt p{
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: fit-content;
    height: fit-content;
    margin: auto;
}

.sliderArea .slick-list .slideBrand .slideTxt p:nth-child(1){
    width: calc(707 / 1600 * 100%);
    top: calc(29 / 827 * 100%);
}

/* ブランドキャプチャ アニメーション */
.slideGroup {
    opacity: 0;
    transition: opacity 1s ease-in-out;
}

.slideGroup.active {
    opacity: 1;
    position: relative;
}

.slideGroup:nth-child(1).active{
    transition: unset;
}

.slideGroup:nth-child(1).active img{
    transition: transform 12s ease-in-out;
    transform: scale(1.1);
}

.fade-in {
    opacity: 1;
}

.fade-out {
    opacity: 0;
}

.sliderArea .slick-list .slideBrand .slideGroup ul li{
    clip-path: inset(0 0 0 0);
}

.sliderArea .slick-list .slideBrand .slideGroup ul li.active {
    z-index: 3;
    transition: clip-path .8s 1.2s cubic-bezier(0.65,0.05,0.35,1),transform 5s ease-in-out;
    transform: scale(1.1);
}

.sliderArea .slick-list .slideBrand .slideGroup ul:nth-child(1) li.active {
    clip-path: inset(100% 0 0 0);
}

.sliderArea .slick-list .slideBrand .slideGroup ul:nth-child(2) li.active {
    clip-path: inset(0 0 100% 0);
}

.sliderArea .slick-list .slideBrand .slideGroup ul li.next {
    z-index: 2;
}

.sliderArea .slick-list .slideBrand .slideTxt p{
    opacity: 0;
}

.sliderArea .slick-list .slideBrand .slideTxt p.active{
    transition: opacity 1s 0s ease-in-out;
    opacity: 1;
}

/* 各製品 スタイル */
.sliderArea .slick-list .slick-slide .slideProduct {
    display: flex;
    justify-content: center;
    height: 100%;
}

.sliderArea .slick-list .slick-slide .slideProduct img{
    width: auto;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


/* slick設定 */
.sliderArea .slick-list .slick-slide::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.18);
    width: 100%;
    height: 100%;
    z-index: 999;
}

.sliderArea .slick-list .slick-slide.slick-current::before {
    display: none;
}

.slideDots {
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    overflow: hidden;
    display: block;
}

.slideDots li {
    border: none;
    width: 36px;
    height: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: relative;
}

.slideDots li button {
    background-color: #ccc;
    font-size: 0;
    border: none;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    outline: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    cursor: pointer;
}

.slideDots li.slick-active button {
    background-color: #DE0067;
}

.slideDots.white li.slick-active button {
    background-color: #fff;
}

.mainVisual .anchorLink {
    position: absolute;
    z-index: 2;
    bottom: calc(60 / 900 * 100% + 50px);
    right: 30px;
    width: 210px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(290deg, #fff 0%, #E8F9FF 40%, #FEE8F7 50%, #FFF4E1 60%, #fff 100%);
    background-size: 150%;
    border: 1px solid #DE0067;
    border-radius: 40px;
    color: #DE0067;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    animation: bgGradient02 3s linear infinite;
}

.mainVisual .anchorLink:hover{
    color: #DE0067;
}

.mainVisual .anchorLink span{
    position: absolute;
    z-index: 1;
    width: 7px;
    height: 60px;
    top: 90%;
    left: 0;
    right: 0;
    margin: auto;
    overflow: hidden;
}

.mainVisual .anchorLink span::before,.mainVisual .anchorLink span::after{
    position: absolute;
    z-index: 1;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-image: url("/hythiol/top/images/icn_anchor_arrow.svg");
    background-size: contain;
    background-repeat: no-repeat;
    animation-fill-mode: forwards;
    animation-duration: 2s;
    animation-iteration-count: infinite;
}

.mainVisual .anchorLink span::before{
    animation-name: transformBottomTop;
    animation-delay: 0s;
}

.mainVisual .anchorLink span::after{
    animation-name: transformTopBottom;
    animation-delay: 0s;
}

@keyframes transformTopBottom {
    0% {
      transform: translateY(-100%);
    }
    100% {
      transform: translateY(0);
    }
  }
  @keyframes transformBottomTop {
    0% {
      transform: translateY(0);
    }
    100% {
      transform: translateY(100%);
    }
  }

  @media (min-width: 768px) and (orientation: portrait) {
    .mainVisual {
        height: calc(100vh - 86px - 60px);
        height: calc(100svh - 86px - 60px);
    }

    .sliderArea .slick-list .slick-slide a{
        height: calc(100vh - 86px - 60px);
        height: calc(100svh - 86px - 60px);
    }
}

  @media (max-width: 767px) and (orientation: portrait) {
    .mainVisual {
        height: calc(100vh - 56px - 60px);
        height: calc(100svh - 56px - 60px);
        margin-top: 56px;
    }

    .sliderArea .slick-list .slick-slide a{
        height: calc(100vh - 56px - 60px);
        height: calc(100svh - 56px - 60px);
    }
}

  @media (max-width: 767px) and (orientation: landscape) {
    .mainVisual {
        height: calc(100vh - 56px );
        height: calc(100svh - 56px);
        margin-top: 56px;
    }

    .sliderArea .slick-list .slick-slide a{
        height: calc(100vh - 56px);
        height: calc(100svh - 56px);
    }

    .slideDots {
        right: calc(5 / 375 * 100vw);
    }

    .slideDots li{
        width: 28px;
        height: 28px;
    }

    .slideDots li button {
        width: 8px;
        height: 8px;
    }
}

@media (orientation: portrait){

    /* ブランドキャプチャ スタイル */
    .sliderArea .slick-list .slideBrand .slideGroup {
        flex-direction: column;
    }

    .slideGroup:nth-child(1) picture img{
        object-position: top;
    }

    .sliderArea .slick-list .slideBrand .slideGroup ul{
        width: 100%;
        height: 50%;
    }

    .sliderArea .slick-list .slideBrand .slideGroup ul:nth-child(2){
        width: 100%;
        height: calc(50% + 2px);
        margin-left: unset;
        margin-top: -2px;
    }

    .sliderArea .slick-list .slideBrand .slideTxt p:nth-child(1){
        width: calc(330 / 375 * 100%);
        top: calc(17 / 586 * 100%);
    }

    /* ブランドキャプチャ アニメーション */
    .sliderArea .slick-list .slideBrand .slideGroup ul:nth-child(1) li.active {
        clip-path: inset(0 0 0 100%);
    }

    .sliderArea .slick-list .slideBrand .slideGroup ul:nth-child(2) li.active {
        clip-path: inset(0 100% 0 0);
    }

    /* 各製品 スタイル */

    /* slick設定 */
    .slideDots {
        top: 60%;
        right: calc(5 / 375 * 100vw);
    }

    .slideDots li{
        width: 28px;
        height: 28px;
    }

    .slideDots li button {
        width: 8px;
        height: 8px;
    }

    .sliderArea .slick-list .slick-slide {
        text-align: center;
    }

    .sliderArea .slick-list .slick-slide::before {
        display: none;
    }

    .mainVisual .anchorLink {
        width: 253px;
        height: 50px;
        border-radius: 25px;
        font-size: 15px;
        left: 0;
        right: 0;
        bottom: -25px;
        margin: auto;
    }

    .mainVisual .anchorLink span {
        width: 4px;
        height: 40px;
    }

    .mainVisual .anchorLink br {
        display: none;
    }
}

/* ------------------------------------
	* gradation
* ------------------------------------ */
#gradation{
	background:linear-gradient(45deg, #E8FCFF,#EBE3FF,#FEFCED,#EBE3FF,#FEFCED,#E8FCFF,#FEFCED);
	background-size: 300% 300%;
	animation: bgGradient 10s ease-in-out infinite;
  overflow: hidden;
}

@media only screen and (max-width: 767px){

}

/* ------------------------------------
	* message
* ------------------------------------ */
#message{
    position: relative;
    z-index: 1;
    padding: 180px 0 0;
}

.messageInner{
    position: relative;
    background-image: url("/hythiol/top/images/bg_message_pc.jpg");
    background-size: cover;
    background-position: center;
    max-width: 1184px;
    margin: 0 auto;
    box-sizing: border-box;
    aspect-ratio: 1184/700;
}

.messageInner .drop{
    position: absolute;
    z-index: 1;
    top: 0;
}

.messageInner .drop01{
    width: calc(447 / 1184 * 100%);
    top: 500px;
    left: calc(-250 / 1184 * 100%);
}

.messageInner .drop02{
    width: calc(442 / 1184 * 100%);
    top: -160px;
    left: calc(-170 / 1184 * 100%);
}

.messageInner .drop03{
    width: calc(415 / 1184 * 100%);
    top: -30px;
    right: calc(-220 / 1184 * 100%);
}

.messageInner .drop04{
    width: calc(304 / 1184 * 100%);
    top: 0;
    right: calc(-40 / 1184 * 100%);
}

.messageInner .drop05{
    width: calc(83 / 1184 * 100%);
    top: 1100px;
    left: calc(-80 / 1184 * 100%);
}

.messageInner .drop06{
    width: calc(69 / 1184 * 100%);
    top: 860px;
    right: calc(40 / 1184 * 100%);
}

.messageInner .drop07{
    width: calc(76 / 1184 * 100%);
    top: 1360px;
    right: calc(-40 / 1184 * 100%);
}

.messageInner .drop05 img,.messageInner .drop06 img,.messageInner .drop07 img{
    animation: drop 15s linear infinite;
}

.messageTxt{
    position: absolute;
    transition-delay: 1s;
    width: fit-content;
    height: fit-content;
    top: 0;
    bottom: 0;
    right: 43px;
    margin: auto;
}

.messageTxt p{
    color: #DE0067;
    font-weight: 600;
}

.messageTxt p:nth-child(1){
    font-size: 23px;
    line-height: 2;
}

.messageTxt p:nth-child(2){
    font-size: 12px;
    margin-top: 8px;
}

.messageTxt span{
    position: relative;
}

.messageTxt span sup{
    font-size: 60%;
}

.messageVideo{
    width: 720px;
    margin: 140px auto 0;
}

.messageVideo .video{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
}

.messageVideo .video iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

@media only screen and (max-width: 767px) {
    #message{
        position: relative;
        padding: calc(85 / 375 * 100vw) 0 0;
    }

    .messageInner{
        width: 100%;
        margin: 0 auto;
        background-image: url("/hythiol/top/images/bg_message_sp.webp");
        background-size: cover;
        background-position: center;
        aspect-ratio: 375/718;
    }

    .messageInner .drop01{
        width: calc(220 / 375 * 100%);
        left: calc(-185 / 375 * 100%);
        top: calc(100 / 375 * 100%);
    }

    .messageInner .drop02{
        width: calc(200 / 375 * 100%);
        left: calc(-30 / 375 * 100%);
        top: calc(70 / 375 * 100%);
    }

    .messageInner .drop03{
        width: calc(180 / 375 * 100%);
        right: calc(-106 / 375 * 100%);
        top: calc(350 / 375 * 100%);
    }

    .messageInner .drop04{
        width: calc(100 / 375 * 100%);
        right: calc(15 / 375 * 100%);
        top: calc(135 / 375 * 100%);
    }

    .messageInner .drop05{
        width: calc(30 / 375 * 100%);
        left: calc(75 / 375 * 100%);
        top: calc(290 / 375 * 100%);
    }

    .messageInner .drop06{
        width: calc(32 / 375 * 100%);
        right: calc(20 / 375 * 100%);
        top: calc(185 / 375 * 100%);
    }

    .messageInner .drop07{
        width: calc(30 / 375 * 100%);
        right: calc(65 / 375 * 100%);
        top: calc(570 / 375 * 100%);
    }

    .messageTxt{
        transition-delay: 1s;
        left: 0;
        right: 0;
        top: unset;
        bottom: calc(32 / 635 * 100%);
    }

    .messageTxt p:nth-child(1){
        font-size: calc(19 / 375 * 100vw);
        line-height: 1.789473684210526;
    }

    .messageTxt p:nth-child(2){
        font-size: calc(9 / 375 * 100vw);
        margin-top: calc(10 / 375 * 100vw);
    }

    .messageVideo{
        width: 100%;
        padding: 0 20px;
        margin: 90px auto 0;
        box-sizing: border-box;
    }
}


/* ------------------------------------
	* pickup
* ------------------------------------ */
#pickup {
    position: relative;
    padding: 206px 0;
    overflow: hidden;
}

.pickupInner{
    max-width: 1024px;
    margin: 0 auto;
}

.pickupContent{
    position: relative;
    z-index: 1;
    background-color: #fff;
    margin-left: 109px;
    padding: 90px 0 40px 40px;
}

.pickupContent::before{
    position: absolute;
    z-index: -1;
    content: "";
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background-color: #fff;
}

.pickupTxtTop{
    position: absolute;
    z-index: 1;
    width: 240px;
    right: 0;
    bottom: calc(100% - 17px);
}

.pickupBox{
    display: grid;
    grid-template-columns: calc(400 / 875 * 100%) calc(434 / 875 * 100%);
    justify-content: space-between;
    align-items: center;
}

.pickupBox video{
    width: 100%;
    grid-area: 1 / 1 / 3 / 2;
}

.pickupBox h2{
    grid-area: 1 / 2 / 2 / 3;
    font-size: 32px;
    font-weight: 600;
    color: #DE0067;
}

.pickupBox h2 span{
    font-size: 43px;
    margin-left: -1rem;
    margin-right: -1rem;
}

.pickupBox p{
    grid-area: 2 / 2 / 3 / 3;
    font-size: 19px;
    font-weight: 600;
    line-height: 1.894736842105263;
    color: #DE0067;
    margin-top: -40px;
}

.pickupTxt{
    margin-top: 54px;

}

.pickupTxt p{
    font-size: 18px;
}

.pickupTxt p:nth-child(n+2){
    margin-top: 18px;
}

.pickupTxt span{
    display: block;
    font-size: 12px;
    margin-top: 24px;
}

.pickupBtn{
    position: relative;
    width: 362px;
    margin: 50px auto 0;
    height: 69px;
    display: flex;
    align-items: center;
    background-color: #fff;
    border: 1px solid #DE0067;
    padding-left: 22px;
}

.pickupBtn::before{
    position: absolute;
    z-index: 1;
    content: "";
    width: 1px;
    height: 40px;
    background-color: #DE0067;
    top: -25px;
    left: 0;
    right: 0;
    margin: auto;
    animation: anmUpDown 2s linear 0s alternate infinite;
}

.pickupBtn::after{
    position: absolute;
    z-index: 1;
    content: "";
    width: 7px;
    height: 14px;
    background-image: url("/hythiol/top/images/icn_btn_arrow.svg");
    background-size: contain;
    background-repeat: no-repeat;
    top: 0;
    bottom: 0;
    right: 22px;
    margin: auto;
    transition: all .1s;
}

.pickupBtn:hover.pickupBtn::after{
    right: 20px;
}

.pickupBtn p{
    font-size: 16px;
    font-weight: bold;
    color: #DE0067;
}

@media only screen and (max-width: 767px) {
    #pickup {
        padding: calc(100 / 375 * 100vw) 0;
    }

    .pickupInner{
        width: calc(327 / 375 * 100vw);
    }

    .pickupContent{
        margin-left: calc(30 / 375 * 100vw);
        padding: calc(26 / 375 * 100vw) 0 calc(35 / 375 * 100vw) calc(26 / 375 * 100vw);
    }

    .pickupTxtTop{
        width: calc(186 / 375 * 100vw);
        bottom: calc(100% - (14 / 375 * 100vw));
    }

    .pickupBox{
        display: flex;
        flex-wrap: wrap;
    }

    .pickupBox video{
        width: 100%;
    }

    .pickupBox h2{
        font-size: calc(18/375*100vw);
        order: -1;
        margin-bottom: calc(21/375*100vw);
    }

    .pickupBox h2 span{
        font-size: calc(26/375*100vw);
        margin-right: -0.5rem;
    }

    .pickupBox p{
        font-size: calc(14/375*100vw);
        font-weight: 600;
        line-height: 1.571428571428571;
        width: calc(228/375*100vw);
        padding-left: calc(17/375*100vw);
        margin-top: calc(26/375*100vw);
    }

    .pickupTxt{
        width: calc(228/375*100vw);
        padding-left: calc(17/375*100vw);
        margin-top: calc(24/375*100vw);
    }

    .pickupTxt p{
        font-size: calc(14/375*100vw);
        line-height: 1.857142857142857;
    }

    .pickupTxt p:nth-child(n+2){
        margin-top: calc(40/375*100vw);
    }

    .pickupTxt span{
        font-size: calc(9/375*100vw);
        margin-top: calc(16/375*100vw);
    }

    .pickupBtn{
        width: auto;
        max-width: calc(274/375*100vw);
        margin: calc(60/375*100vw) auto 0;
        height: calc(49/375*100vw);
        padding-left: calc(14 / 375 * 100vw);
    }

    .pickupBtn::before{
        height: calc(30/375*100vw);
        top: calc(-20/375*100vw);
    }

    .pickupBtn::after{
        width: calc(5/375*100vw);
        height: calc(10/375*100vw);
        right: calc(14 / 375 * 100vw);
    }

    .pickupBtn:hover.pickupBtn::after{
        right: calc(12 / 375 * 100vw);
    }

    .pickupBtn p{
        font-size: calc(12 / 375 * 100vw);
    }
}


/* ------------------------------------
	* products
* ------------------------------------ */
#products{
    position: relative;
    z-index: 1;
}

.productsInner {
    position: relative;
    max-width: 1024px;
    margin: 0 auto;
}

.productsTxtTop{
    position: absolute;
    z-index: 1;
    width: 268px;
    left: 0;
    bottom: 100%;
}

.productsTitle{
    color: #DE0067;
    padding: 72px 0 40px;
    text-align: center;
    font-weight: bold;
}

.productsTitle h2{
    font-size: 32px;
    line-height: 1;
}

.productsTitle p{
    font-size: 18px;
    margin-top: 20px;
}

.productsList li{
    position: relative;
    z-index: 1;
}

.productsList figure{
    position: relative;
}

.productsList picture{
    display: flex;
}

.productsList a:hover img{
    opacity: 1;
}

.productsList .catch{
    position: absolute;
    z-index: -1;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    border: 1px solid #DE0067;
    border-radius: 50%;
    box-sizing: border-box;
}

.productsList .click{
    position: absolute;
    z-index: -1;
    width: 24px;
    bottom: 0;
    left: 0;
}

.productsList li:hover .click{
    animation: anmRotateY 1.5s linear 0s infinite;
}

.productsList .catch::after{
    position: absolute;
    z-index: 1;
    content: "";
    width: 42px;
    height: 8px;
    top: 0;
    bottom: 0;
    left: 90%;
    margin: auto;
    background-image: url("/hythiol/top/images/icn_catch_arrow.svg");
    background-size: contain;
    background-repeat: no-repeat;
    animation: anmLeftRight 2s linear 0s alternate infinite;
}

.productsList .catch p{
    position: absolute;
    z-index: 1;
    top: 52%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    font-size: 12px;
    font-weight: bold;
    line-height: 1.25;
    white-space: nowrap;
    letter-spacing: -0.1em;
    color: #DE0067;
    text-align: center;
}

.productsList .catch p sup{
    font-size: 65%;
    vertical-align: top;
}

.productsList .text{
    text-align: center;
}

.productsList .text h3{
    font-size: 18px;
    font-weight: 500;
    line-height: 1.3;
    height: 47px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.productsList .text p{
    font-size: 12px;
}

.productsList .text p sub{
    vertical-align: baseline;
    font-size: 70%;
}

.productsList .text p:nth-of-type(1){
    width: fit-content;
    margin: 8px auto 0;
    padding: 0 4px;
    border: 1px solid #404040;
}

.productsList .text h4{
    margin-top: 14px;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    clip-path: polygon(13px 0%, 100% 0%, calc(100% - 13px) 100%, 0% 100%);
}

.productsList .text h4 sub{
    font-size: 75%;
    vertical-align: baseline;
}

.productsList .text p:nth-of-type(2){
    line-height: 1.3;
    text-align: left;
    width: fit-content;
    margin: 14px auto 0;
}

/* productsTop */
.productsTop{
    background-image: url("/hythiol/top/images/bg_products_pc.webp");
    background-size: cover;
    background-position: center;
}

.productsTop .productsSubtitle {
    background: #E93C8C;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1024px;
    height: 28px;
    margin: 0 auto;
    font-size: 16px;
    font-weight: 700;
}

.productsTop .productsList{
    padding: 54px 22px 72px;
    display: flex;
    justify-content: center;
    gap: 0 20px;
}

.productsTop .productsList li{
    width: 230px;
    text-align: center;
}

.productsTop .productsList li:nth-child(1) .catch{
    border: unset;
}

.productsTop .productsList li:nth-child(1) .catch::before{
    position: absolute;
    z-index: 1;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: -17%;
    background-image: url(/hythiol/top/images/icn_catch_circle_pc.svg);
    background-size: contain;
    background-repeat: no-repeat;
}

.productsTop .productsList li:nth-child(1) .catch::after{
    left: 112%;
}

.productsTop .productsList li:nth-child(1) .text p:nth-of-type(1){
    background-color: #CBE9FF;
}

.productsTop .productsList li:nth-child(1) .text h4{
    background-color: #E12F6F;
}

.productsTop .productsList li:nth-child(2) .text p:nth-of-type(1){
    background-color: #D0E6FF;
}

.productsTop .productsList li:nth-child(2) .text h4{
    background-color: #E12F6F;
}

.productsTop .productsList li:nth-child(3) .text p:nth-of-type(1){
    background-color: #DFEFFF;
}

.productsTop .productsList li:nth-child(3) .text h4{
    background-color: #F88399;
}

.productsTop .productsList li:nth-child(4) .text p:nth-of-type(1){
    background-color: #F0E7F3;
}

.productsTop .productsList li:nth-child(4) .text h4{
    background-color: #FF6CB0;
}

.productsTop .productsList figure{
    width: 100%;
    margin: 0 auto;
}

.productsTop .productsList .new{
    position: absolute;
    z-index: -2;
    width: 57px;
    height: 57px;
    top: 22px;
    right: -6px;
}

.productsTop .productsList .click{
    bottom: calc(45 / 232 * 100%);
    left: calc(-10 / 230 * 100%);
}

.productsTop .productsList .text{
    margin-top: -30px;
}

/* productsBottom */
.productsBottom{
    background-image: url("/hythiol/top/images/bg_products_cb_pc.webp");
    background-size: cover;
    background-position: center;
}

.productsBottom .productsList{
    padding: 40px 0 18px;
}

.productsBottom .productsList li{
    width: 352px;
    margin: 0 auto;
}

.productsBottom .productsList a{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.productsBottom .productsList figure{
    width: 150px;
    flex-shrink: 0
}

.productsBottom .productsList .text{
    width: 230px;
    margin-left: -45px;
}

.productsBottom .productsList .text h4{
    background-color: #B42476;
}

.productsBottom .productsList .click{
    bottom: calc(66 / 330 * 100%);
    left: calc(8 / 150 * 100%);
}

/* productsHwmb */
.productsHwmb{
    background-image: url("/hythiol/top/images/bg_products_hwmb_pc.webp");
    background-size: cover;
    background-position: center;
    padding-top: 30px;
}

.productsHwmb .productsSubtitle {
    background: #655D8E;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 1024px;
    margin: 0 auto;
    height: 28px;
    font-size: 16px;
    font-weight: 700;
}

.productsHwmb .productsList{
    padding: 22px 0 12px;
}

.productsHwmb .productsList li{
    width: 362px;
    margin: 0 auto;
}

.productsHwmb .productsList a{
    position: relative;
    display: flex;
    justify-content: space-between;
}

.productsHwmb .productsList figure{
    width: 230px;
    flex-shrink: 0
}

.productsHwmb .productsList .text{
    position: absolute;
    width: 230px;
    top: 132px;
    left: 200px;
}

.productsHwmb .productsList .text h4{
    background-color: #484D53;
}

.productsHwmb .productsList .click{
    bottom: calc(37 / 360 * 100%);
    left: calc(8 / 150 * 100%);
}

@media only screen and (max-width: 767px) {
    .productsInner {
        width: calc(327 / 375 * 100vw);
    }

    .productsTxtTop{
        width: calc(185 / 375 * 100vw);
    }

    .productsTitle{
        padding: 40px 0 24px;
    }

    .productsTitle h2{
        font-size: 20px;
    }

    .productsTitle p{
        font-size: 13px;
        margin-top: 16px;
    }

    .productsList .catch{
        width: calc(82 / 375 * 100vw);
        height: calc(82 / 375 * 100vw);
        left: 0;
    }

    .productsList .catch::after{
        position: absolute;
        z-index: 1;
        content: "";
        width: calc(40 / 375 * 100vw);
        height: calc(8 / 375 * 100vw);
    }

    .productsList .catch p{
        font-size: calc(10 / 375 * 100vw);
    }

    .productsTop .productsList .new{
        width: calc(49 / 375 * 100vw);
        height: calc(49 / 375 * 100vw);
        top: calc(70 / 375 * 100vw);
        right: calc(2 / 375 * 100vw);
    }

    .productsList .click{
        width: calc(18 / 375 * 100vw);
    }

    .productsList .text h3{
        font-size: calc(12 / 375 * 100vw);
        height: auto;
    }

    .productsList .text p{
        font-size: calc(9 / 375 * 100vw);
    }

    .productsList .text p:nth-of-type(1){
        margin: calc(6 / 375 * 100vw) auto 0;
        padding: calc(2 / 375 * 100vw) calc(4 / 375 * 100vw) 0;
    }

    .productsList .text h4{
        margin-top: calc(10 / 375 * 100vw);
        font-size: calc(9 / 375 * 100vw);
        clip-path: polygon(calc(8 / 375 * 100vw) 0%, 100% 0%, calc(100% - 8 / 375 * 100vw) 100%, 0% 100%);
        padding: calc(2 / 375 * 100vw) 0 calc(1 / 375 * 100vw);
    }

    .productsList .text p:nth-of-type(2){
        margin-top: calc(10 / 375 * 100vw);
    }

    /* productsTop */
    .productsTop{
        background-image: url("/hythiol/top/images/bg_products_sp.webp");
    }

    .productsTop .productsList{
        padding: calc(40 / 375 * 100vw) 0;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 32px 0;
    }

    .productsTop .productsList li{
        width: calc(152 / 375 * 100vw);
    }

    .productsTop .productsList li a{
        width: 100%;
    }

    .productsTop .productsList li:nth-child(3){
        transition-delay: 1s;
    }

    .productsTop .productsList li:nth-child(4){
        transition-delay: 1.5s;
    }

    .productsTop .productsList li:nth-child(1) .catch{
        left: 17%;
    }

    .productsTop .productsList li:nth-child(1) .catch::before{
        left: -17%;
        background-image: url(/hythiol/top/images/icn_catch_circle_sp.svg);
    }

    .productsTop .productsList .click{
        bottom: calc(60 / 235 * 100%);
        left: calc(14 / 132 * 100%);
    }

    .productsTop .productsList .text{
        margin-top: calc(-34 / 375 * 100vw);
    }

    .productsTop .productsList li:nth-child(1) .text p:nth-of-type(1){
        background-color: #E5F6FF;
    }

    .productsTop .productsList li:nth-child(2) .text p:nth-of-type(1){
        background-color: #E5F6FF;
    }

    .productsTop .productsList li:nth-child(3) .text p:nth-of-type(1){
        background-color: #E0F0FF;
    }

    .productsTop .productsList li:nth-child(3) .text p:nth-of-type(2){
        width: calc(154 / 375* 100vw);
    }

    .productsTop .productsList li:nth-child(4) .text p:nth-of-type(1){
        background-color: #E5F6FF;
    }

    .productsTop .productsSubtitle {
        width: 100%;
        font-size: calc(13 / 375 * 100vw);
    }

    /* productsBottom */
    .productsBottom{
        background-image: url("/hythiol/top/images/bg_products_cb_sp.webp");
    }

    .productsBottom .productsList{
        padding: calc(30 / 375 * 100vw) 0 calc(6 / 375 * 100vw);
    }

    .productsBottom .productsList li{
        width: calc(264 / 375 * 100vw);
        margin: 0 auto;
    }

    .productsBottom .productsList a{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .productsBottom .productsList figure{
        width: calc(139 / 375 * 100vw);;
    }

    .productsBottom .productsList .text{
        width: calc(152 / 375 * 100vw);
        margin-left: calc(-27 / 375 * 100vw);
    }

    .productsBottom .productsList .click{
        bottom: calc(60 / 268 * 100%);
        left: calc(14 / 130 * 100%);
    }

    /* productsHwmb */
    .productsHwmb{
        background-image: url("/hythiol/top/images/bg_products_hwmb_sp.webp");
        padding-top: 0;
    }

    .productsHwmb .productsSubtitle {
        width: 100%;
        font-size: calc(13 / 375 * 100vw);
    }

    .productsHwmb .productsList{
        padding: calc(30 / 375 * 100vw) 0 calc(6 / 375 * 100vw);
    }

    .productsHwmb .productsList li{
        width: calc(316 / 375 * 100vw);
        margin: 0 auto;
    }

    .productsHwmb .productsList a{
        position: relative;
        display: flex;
        justify-content: space-between;
    }

    .productsHwmb .productsList figure{
        width: calc(185 / 375 * 100vw);;
    }

    .productsHwmb .productsList .text{
        position: absolute;
        width: calc(154 / 375 * 100vw);
        top: calc(101 / 375 * 100vw);
        left: calc(131 / 316 * 100vw);
    }

    .productsHwmb .productsList .click{
        bottom: calc(61 / 270 * 100%);
        left: calc(9 / 185 * 100%);
    }
}


/* ------------------------------------
	* release リリースバナー
* ------------------------------------ */
#release{
    padding: 80px 20px 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 40px;
}

#release a{
	display: block;
	max-width: 1024px;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
    #release{
        padding: calc(40 / 375* 100vw) calc(24 / 375* 100vw) 0;
        gap: calc(32 / 375 * 100vw);
    }
}


/* ------------------------------------
	* custom
* ------------------------------------ */
.custom01_ttl {
    text-align: center;
}

.wrpContents .modContentsBnr.custom01 .bnrList li .bnrInr .txt {
    font-weight: normal;
}

.wrpContents .modContentsBnr .bnrList li .bnrInr.anchor i {
    transform: translateY(-50%) rotate(90deg);
}

.custom_check {
    border: 1px solid #ccc;
    margin-top: 24px;
    display: none;
    position: relative;
}

.custom_check::before {
    content: '';
    width: 0;
    height: 0;
    display: block;
    position: absolute;
    bottom: 100%;
    border: 20px solid transparent;
    border-top-width: 8px;
    border-top-color: #ccc;
    margin-bottom: -12px;
}

.custom_check .checkClmWrap {
    margin-top: 0;
}

.custom_check .checkClmForm .checkArea .submitBtn {
    margin-bottom: 0;
}

.custom_check .checkClmWrap .checkClmInner .floatBox .text .checkTitle span{
    background-image: url('/hythiol/top/images/icn_check.svg');
}

.custom_check .checkClmForm .checkArea .checkArrow{
    color: #DE0067;
}

.custom_check .checkClmForm .checkArea .checkBoxWrap .point input:checked{
    background-image: url('/hythiol/top/images/icn_checkedbox.svg');
}

.custom_check .checkClmForm .checkArea .submitBtn .btnArea input{
    background-color: #DE0067;
}

@media screen and (min-width: 768px) {
    .wrpContents .modContentsBnr.custom01 {
        width: 900px;
        margin-left: auto;
        margin-right: auto;
    }

    .wrpContents .modContentsBnr.custom01 {
        padding-top: 88px;
    }

    .custom01_ttl {
        font-size: 36px;
        margin-bottom: 46px;
    }

    .wrpContents .modContentsBnr.custom01 .bnrList li {
        width: 50%;
    }

    .wrpContents .modContentsBnr.custom01 .bnrList li .bnrInr .image {
        width: 200px;
    }

    .wrpContents .modContentsBnr.custom01 .bnrList li .bnrInr .txt {
        font-size: 14px;
    }

    .wrpContents .modContentsBnr.custom01 .bnrList li .bnrInr .txt .strong {
        font-size: 24px;
    }

    .custom_check {
        padding: 82px 64px 40px;
    }

    .custom_check::before {
        left: 23%;
    }

}

@media screen and (max-width: 767px) {

    .wrpContents .frontInner.custom01 {
        position: relative;
        padding-bottom: calc(114 / 375 * 100vw);
    }

    .wrpContents .modContentsBnr.custom01 {
        padding-top: 50px;
        margin-bottom: 44px;
    }

    .custom01_ttl {
        font-size: 24px;
        margin-bottom: 24px;
    }

    .custom01 .bnrList li:last-child {
        position: absolute;
        bottom: 0;
        left: 20px;
        width: calc(100% - 40px);
    }

    .wrpContents .modContentsBnr.custom01 .bnrList li .bnrInr .txt .strong {
        font-size: calc(20 / 375 * 100vw);
    }

    .wrpContents .modContentsBnr.custom01 .bnrList li .bnrInr .txt {
        font-size: calc(13 / 375 * 100vw);
    }

    .custom_check {
        padding: 40px 24px 24px;
    }

    .custom_check::before {
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
    }

    .custom_check .checkClmForm .checkArea .submitBtn {
        margin-top: 0;
    }
}


/* ------------------------------------
	* qa
* ------------------------------------ */
.qaArea .qaBox {
    width: 673px;
    margin: 32px auto 0;
}

.qaArea .qaBox a {
    display: block;
}

.qaArea .qaBox .qaInner {
    display: table;
    background-color: #f7f7f7;
    border: 1px solid #e5e5e5;
    width: 100%;
}

.qaArea .qaBox .img {
    display: table-cell;
}

.qaArea .qaBox .img img {
    width: 167px;
}

.qaArea .qaBox .txt {
    display: table-cell;
    vertical-align: middle;
    font-size: 18px;
    font-weight: 600;
    padding-left: 13px;
}

.qaArea .qaBox a:hover .txt {
    opacity: .7;
    transition: all 250ms;
    color: #222;
}

.qaArea .qaBox i {
    top: 50%;
    right: 30px;
    font-size: 16px;
    transform: translateY(-50%);
}

@media only screen and (max-width: 767px) {

    .qaArea .qaBox {
        box-sizing: border-box;
        width: 100%;
        padding: 0 20px;
        margin: 0 auto;
    }

    .qaArea .qaBox .img {
        display: table-cell;
    }

    .qaArea .qaBox .txt {
        font-size: 16px;
        padding: 0 40px 0 0;
    }

    .qaArea .qaBox i {
        right: 15px;
        transform: translateY(-50%);
    }
}


/* ------------------------------------
	* cta_buy
* ------------------------------------ */
.cta_buy{
  padding-top: 80px;
  padding-bottom: 80px;
	border-bottom: 10px solid #FFECEF;
}

.cta_buy h2{
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  text-align: center;
  color: #54565a;
  position: relative;
  font-size: 20px;
  margin-bottom: 36px;
}

.cta_buy h2::before,
.cta_buy h2::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 32%;
  height: 4px;
  margin-top: -2px;
  background-image: url(/hythiol/products/images/top/buy_ttl.jpg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.cta_buy h2::before {
  left: 0;
}

.cta_buy h2::after {
  right: 0;
}

.cta_buy > *{
  max-width: 806px;
  margin-left: auto;
  margin-right: auto;
}

.cta_buy_box{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.cta_buy_box a {
  width: 32%;
  display: inline-block;
}

.cta_buy_box>picture {
  display: none;
}

@media screen and (max-width: 767px) {
  .cta_buy{
    padding-top: calc(40 / 375 * 100vw);
    padding-bottom: calc(40 / 375 * 100vw);
  }

  .cta_buy h2{
    font-size: calc(16 / 375 * 100vw);
    margin-bottom: calc(16 / 375 * 100vw);
  }

  .cta_buy h2::before,
  .cta_buy h2::after {
    width: 10%;
  }

  .cta_buy > *{
    max-width: calc(100vw - (48/375*100vw));
  }

  .cta_buy_box {
    position: relative;
  }

  .cta_buy_box>a {
    position: relative;
    z-index: 0;
  }
}