@charset "utf-8";


/* ----------------------------------------------------------------------
	selection
---------------------------------------------------------------------- */

::selection { background: #2c2625; color: #fff; }
::-moz-selection { background: #2c2625; color: #fff; }


/* ----------------------------------------------------------------------
	html,body
---------------------------------------------------------------------- */

html { font-size: 62.5%; }

body {
	font-family: YuGothic,'Yu Gothic','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', Meiryo, sans-serif;
	color: #2c2625;
	font-size: 16px;
	font-size: 1.6rem;
    text-align: left!important;
	line-height: 1.6;
    letter-spacing: .1em;
    font-feature-settings: "palt" 1;
	-webkit-text-size-adjust: none;
    min-width: 1100px;
}

* { box-sizing: border-box; }

@media screen and (max-width: 990px) {
	body { min-width: inherit; }
}


/* ----------------------------------------------------------------------
	anchor
---------------------------------------------------------------------- */

a { -webkit-tap-highlight-color: rgba(0,0,0,0.3); transition: 0.3s; }
a:link { color: #2c2625; text-decoration: underline; }
a:visited { color: #2c2625; text-decoration: underline; }
a:hover { color: #e2c144; text-decoration: none; }
a:active { color: #e2c144; text-decoration: none; }
a:focus { outline: none; }
a img { transition: 0.3s; }
a:hover img { opacity: 0.8; }
a.link-tel {
    color: #2b2524;
    text-decoration: none;
}

@media screen and (max-width: 990px) {
    a.link-tel { text-decoration: underline; }
}


/* ----------------------------------------------------------------------
	txt
---------------------------------------------------------------------- */

.font-ja {
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    letter-spacing: .2em;
}

.font-en {
    font-family: 'Crimson Text', serif;
    letter-spacing: .1em;
}

.color-red { color: #991200; }
.color-yellow { color: #c69b20; }
.color-blue { color: #3498e2; }

.bold { font-weight: bold; }

.marker {
    background: linear-gradient(transparent 50%, #e2c144 0%);
    padding-bottom: 0.2em;
}

.fs10 { font-size: 10px !important; font-size: 1rem !important; }
.fs11 { font-size: 11px !important; font-size: 1.1rem !important; }
.fs12 { font-size: 12px !important; font-size: 1.2rem !important; }
.fs13 { font-size: 13px !important; font-size: 1.3rem !important; }
.fs14 { font-size: 14px !important; font-size: 1.4rem !important; }
.fs15 { font-size: 15px !important; font-size: 1.5rem !important; }
.fs16 { font-size: 16px !important; font-size: 1.6rem !important; }
.fs17 { font-size: 17px !important; font-size: 1.7rem !important; }
.fs18 { font-size: 18px !important; font-size: 1.8rem !important; }
.fs19 { font-size: 19px !important; font-size: 1.9rem !important; }
.fs20 { font-size: 20px !important; font-size: 2rem !important; }

.left { text-align: left !important; }
.center { text-align: center !important; }
.right { text-align: right !important; }

@media screen and (max-width: 990px) {
}


/* ----------------------------------------------------------------------
	img
---------------------------------------------------------------------- */

img {
    max-width: 100%;
    height: auto;
}

.no-img { border: 1px solid #eee; }


/* ----------------------------------------------------------------------
	btn
---------------------------------------------------------------------- */

/* btn-default */
.btn-default a {
    background: url("../img/icon_a_default.png") right 20px center no-repeat #2b2524;
    background-size: 16px;
    color: #fff;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
    font-size: 1.8rem;
    text-align: center;
    text-decoration: none;
    letter-spacing: .1em;
    padding: 15px 0 15px;
    width: 340px;
    border-radius: 1000px;
    display: inline-block;
    transition: 0.3s;
}

.btn-default a:hover { opacity: 0.7;  }

.btn-default--red a {
    background: url("../img/icon_a_yellow.gif") right 20px center no-repeat #991200;
    background-size: 16px;
    color: #e2c144;
}

.btn-default--large a {
    background-position: right 30px center;
    background-size: 32px;
    font-size: 3rem;
    padding: 25px 0 25px;
    width: 600px;
}

@media screen and (max-width: 990px) {
    .btn-default a {
        font-size: 1.6rem;
        padding: 14px 0 14px;
        width: auto;
        display: block;
    }
    
    .btn-default--large a {
        background-position: right 20px center;
        background-size: 16px;
        font-size: 1.7rem;
        padding: 16px 0 16px;
    }
}

@media screen and (max-width: 321px) {
    .btn-default--sp-small a {
        background-position: right 12px center;
        font-size: 1.4rem;
    }
}

.btn-default a:hover { opacity: 0.7;  }


/* btn-sub */
.btn-sub a {
    background: url("../img/icon_a_default_black.png") right 20px center no-repeat #fff;
    background-size: 12px;
    font-size: 1.6rem;
    text-align: center;
    text-decoration: none;
    letter-spacing: .1em;
    padding: 13px 0 13px;
    width: 280px;
    border: 1px solid #2b2524;
    border-radius: 1000px;
    display: inline-block;
    transition: 0.3s;
}

.btn-sub a:hover { opacity: 0.7;  }

@media screen and (max-width: 990px) {
    .btn-sub a {
        padding: 12px 0;
        width: auto;
        display: block;
    }
}


/* link-blank */
.link-blank {
	background: url("../img/icon_blank.gif") right center no-repeat;
	background-size: 14px 12px;
	padding-right: 18px;
}


/* ----------------------------------------------------------------------
	br
---------------------------------------------------------------------- */

@media screen and (max-width: 990px) {
    .sp-none { display: none; }
    
    .sp-block { display: block; }
    
    .sp-inline-block { display: inline-block; }
}


/* ----------------------------------------------------------------------
	splash
---------------------------------------------------------------------- */

#splash {
	position: fixed;
	z-index: 9999999;
    background: #fff;
    width: 100%;
	height: 100%;
	text-align: center;
}

#splash-logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
    width: 290px;
}

@media screen and (max-width: 990px) {
    #splash-logo { width: 200px; }
}

/*========= 画面遷移のためのCSS ===============*/

/*画面遷移アニメーション*/
.drawer-hamburger-wrap,
.splashbg { display: none; }

/*bodyにappearクラスがついたら出現*/
.appear .splashbg {
    content: "";
    position:fixed;
	z-index: 1000;
    top: 0;
	left: 0;
    background-color: #e2c144;/*伸びる背景色の設定*/
    width: 100%;
    height: 100vh;
    transform: scaleY(0);
    display: block;
    
	animation-name: PageAnime;
	animation-duration: 1.2s;
	animation-timing-function: ease-in-out;
	animation-fill-mode: forwards;
}

@keyframes PageAnime{
	0% {
		transform-origin:top;
		transform:scaleY(0);
	}
	50% {
		transform-origin:top;
		transform:scaleY(1);
	}
	50.001% {
		transform-origin:bottom;
	}
	100% {
		transform-origin:bottom;
		transform:scaleY(0);
	}
}

#wrapper { opacity: 0; }

.appear #wrapper {
	animation-name:PageAnimeAppear;
	animation-duration:1s;
	animation-delay: 0.8s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes PageAnimeAppear{
	0% {
	    opacity: 0;
	}
    
	100% {
	    opacity: 1;
    }
}


/* ----------------------------------------------------------------------
	wrapper
---------------------------------------------------------------------- */

#wrapper { width: 100%; }

@media screen and (max-width: 990px) {
    
}


/* ----------------------------------------------------------------------
	l-header
---------------------------------------------------------------------- */

.l-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
}

.l-header.l-fixed {
    background-color: rgba(255,255,255,0.8);
    -webkit-backdrop-filter: saturate(180%) blur(20px);
    backdrop-filter: saturate(180%) blur(20px);
}

.l-header-inner {
    position: relative;
    height: 120px;
    transition: 0.4s;
}

.l-fixed .l-header-inner { height: 80px; }

.l-header-logo {
    position: absolute;
    top: 50px;
    left: 50px;
    z-index: 1;
    transition: 0.4s;
}

.l-fixed .l-header-logo { top: 10px; }

.l-header-logo img { transition: 0.4s; }

.l-fixed .l-header-logo img {
    width: 200px;
    height: 40px;
}

.l-header-nav {
    position: absolute;
    right: 50px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 0 20px;
    transition: 0.4s;
}

.l-header-nav__list > a {
    position: relative;
    color: #2c2625;
    text-decoration: none;
    line-height: 40px;
    height: 40px;
    display: block;
}

.l-header-nav__list > a:before,
.l-header-nav__list > a:after {
	background: #2c2625;
    bottom: 0;
    content: "";
    display: inline-block;
    height: 1px;
    position: absolute;
    transition: all 0.6s ease 0s;
    width: 0
}

.l-header-nav__list > a:after { left: 50%; }
.l-header-nav__list > a:before { right: 50%; }

.l-header-nav__list > a:hover:after,
.l-header-nav__list > a:hover:before { width: 50%; }

@media screen and (max-width: 990px) {
    .l-header-inner,
    .l-fixed .l-header-inner { height: 60px; }

    .l-header-logo,
    .l-fixed .l-header-logo {
        top: 15px;
        left: 20px;
        font-size: 0;
        line-height: 1;
    }
    
    .l-header-logo img,
    .l-fixed .l-header-logo img {
        width: auto;
        height: 30px;
    }
    
    .l-header-nav { display: none; }
}


/* ----------------------------------------------------------------------
	l-container
---------------------------------------------------------------------- */

.l-container { padding: 120px 0 0; }

@media screen and (max-width: 990px) {
    .l-container { padding: 60px 0 0; }
    
    .l-content__inner { margin: 0 20px; }
}


/* ----------------------------------------------------------------------
	l-content
---------------------------------------------------------------------- */

.l-content__inner {
    margin: 0 auto;
    max-width: 1000px;
}

@media screen and (max-width: 990px) {
    .l-content__inner { margin: 0 20px; }
}


/* ----------------------------------------------------------------------
	mainimg
---------------------------------------------------------------------- */

.l-mainimg { position: relative; }

.l-mainimg-box {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.l-mainimg-icon {
    margin: 0 0 50px 70px;
    display: flex;
    gap: 0 10px;
}

.l-mainimg-catch { margin: 0 0 40px 63px; }

.l-mainimg-free-shipping {
    text-align: right;
    margin: 0 0 50px;
    width: 450px;
}

.l-mainimg-txt {
    background: #2c2625;
    text-align: right;
    padding: 15px 25px 15px 0;
    width: 450px;
}

.l-mainimg-ph__wrap {
    position: relative;
    margin-left: 500px;
}

.l-mainimg-ph {
    background: url("../img/mainimg_pc.jpg") center center no-repeat;
    background-size: cover;
    height: calc(100vh - 120px - 50px);
    height: calc(100dvh - 120px - 50px);
    border-radius: 100px 0 0 100px;
}

.l-mainimg-ph--sneaker { background-image: url("../img/sneaker/mainimg_pc.jpg") }

.l-mainimg-ph__txt {
    position: absolute;
    top: 50px;
    right: 70px;
}

.l-mainimg-ph__kirakira-01 {
    position: absolute;
    top: -24px;
    left: -36px;
}
.l-mainimg-ph__kirakira-02 {
    position: absolute;
    right: 90px;
    bottom: -24px;
}

.l-mainimg__scroll {
	position: absolute;
	right: 60px;
	bottom: -50px;
}

.l-mainimg__scroll a {
	line-height: 1;
	text-decoration: none;
	padding: 0 0 72px;
	height: 180px;
	overflow: hidden;
	writing-mode: vertical-lr;
	vertical-align: bottom;
    display: inline-block;
}

.l-mainimg__scroll a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 8px;
	width: 1px;
	height: 100px;
	background: #2c2625;
}

.l-mainimg__scroll a::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 8px;
	width: 1px;
	height: 100px;
	background: #eee;
}

.l-mainimg__scroll a::after { animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite; }

@keyframes sdl {
    0% {
        transform: scale(1, 0);
        transform-origin: 0 0;
    }
    50% {
        transform: scale(1, 1);
        transform-origin: 0 0;
    }
    50.1% {
        transform: scale(1, 1);
        transform-origin: 0 100%;
    }
    100% {
        transform: scale(1, 0);
        transform-origin: 0 100%;
    }
}

@media screen and (min-width: 990px)  and (orientation: portrait) {
    .l-mainimg-ph { height: 800px; }
}


@media screen and (max-width: 990px) {
    .l-mainimg {
        margin: 0 0 13vw;
        height: auto;
    }
    
    .l-mainimg-box {
        position: static;
        transform: translateY(0);
    }

    .l-mainimg-icon {
        margin: -40px 18vw 20px;
        justify-content: center;
    }

    .l-mainimg-catch {
        text-align: center;
        margin: 0 13vw 25px;
    }
    
    .l-mainimg-catch img { width: auto; }

    .l-mainimg-free-shipping {
        text-align: center;
        margin: 0 13vw 25px;
        width: auto;
    }


    .l-mainimg-txt {
        text-align: center;
        line-height: 1;
        padding: 12px 15px;
        margin: 0 13vw;
        width: auto;
    }

    .l-mainimg-ph__wrap { margin-left: 0; }

    .l-mainimg-ph {
        background-image: url("../img/mainimg_sp.jpg");
        background-size: cover;
        padding-top: 68%;
        margin-left: 20px;
        height: auto;
        border-radius: 50px 0 0 50px;
    }
    
    .l-mainimg-ph--sneaker { background-image: url("../img/sneaker/mainimg_sp.jpg") }

    .l-mainimg-ph__txt {
        top: 15px;
        right: 15px;
    }
    
    .l-mainimg-ph__txt img {
        width: 14vw;
        height: auto;
    }

    .l-mainimg-ph__kirakira-01 {
        top: 10px;
        left: 5px;
    }
    .l-mainimg-ph__kirakira-02 {
        right: 10px;
        bottom: -25px;
    }

    .l-mainimg__scroll { display: none; }
}


/* ----------------------------------------------------------------------
	application
---------------------------------------------------------------------- */

.l-application {
    position: relative;
    padding: 80px 0;
    margin: 0 0 120px;
    overflow: hidden;
}

.l-application::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: #eee;
    width: calc(100% - 80px);
    height: 100%;
    border-radius: 0 100px 100px 0;
}

.l-application--first { margin: 20px 0 40px; }
.l-application--first::before { display: none; }

.l-application-inner {
    position: relative;
    margin: 0 auto;
    max-width: 760px;
}

.l-application-price {
    margin: 0 0 50px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.l-application-price__num {
    text-align: center;
    padding: 30px 0;
    width: 460px;
    border-top: 2px solid #2c2625;
    border-bottom: 2px solid #2c2625;
}

.l-application-btn__wrap { text-align: center; }

.l-application-btn { margin: 15px 0 20px; }

.l-application-btn a {
    background: url("../img/icon_a_yellow.gif") right 30px center no-repeat #991200;
    background-size: 20px;
    line-height: 1;
    padding: 29px 0;
    width: 460px;
    border-radius: 100px;
    display: inline-block;
}

.l-application-btn a:hover img { opacity: 1; }
.l-application-btn a:hover { opacity: 0.8; }

.l-application-btn__not-shoes a { color: #c69b20; }
.l-application-btn__not-shoes a:hover {
    color: #2c2625;
    text-decoration: underline;
}

.l-application-ph-01 {
    position: absolute;
    left: -275px;
    bottom: -20px;
}

.l-application-ph-01 p:nth-child(2) { margin: -40px 0 0 120px; }

.l-application-ph-02 {
    position: absolute;
    top: 40px;
    right: -250px;
}

.l-application-kirakira-01 {
    position: absolute;
    top: -34px;
    left: -185px;
}

.l-application-kirakira-02 {
    position: absolute;
    right: -90px;
    bottom: -20px;
}

@media screen and (max-width: 990px) {
    .l-application {
        position: relative;
        padding: 45px 20px 45px;
        margin: 0 0 60px;
        overflow: hidden;
    }

    .l-application::before {
        width: 100%;
        border-radius: 0 50px 50px 0;
    }

    .l-application--first { margin: 0 0 60px; }
    .l-application--first::before { display: block; }
    
    .l-application--menu {
        padding: 0 20px;
        margin: 0;
    }
    .l-application--menu::before { display: none; }
    
    .l-application-price {
        margin: 0 0 30px;
        display: block;
    }

    .l-application-price__ttl {
        text-align: center;
        margin: 0 0 30px;
    }
    
    .l-application-price__num {
        padding: 25px 10px;
        width: auto;
    }
    
    .l-application-btn__sub-txt img { width: 260px; }
    
    .l-application-btn { margin: 12px 0 25px; }

    .l-application-btn a {
        background-position: right 20px center;
        padding: 20px 0;
        width: 100%;
    }
    
    .l-application-btn a img {
        width: auto;
        height: 16px;
    }
    
    .l-application-ph-01,
    .l-application-ph-02 { display: none; }
    
    .l-application-kirakira-01 {
        top: -25px;
        left: 5px;
    }

    .l-application-kirakira-02 {
        top: -15px;
        right: 5px;
        bottom: inherit;
    }
}


/* ----------------------------------------------------------------------
	about
---------------------------------------------------------------------- */

.l-about {
    position: relative;
    padding: 0 0 80px;
    margin: 0 0 120px;
}

.l-about::before {
    content: "";
    position: absolute;
    top: 130px;
    right: 80px;
    z-index: -1;
    background: #e2c144;
    width: calc(100% - 160px);
    height: calc(100% - 130px);
    border-radius: 100px;
}

.l-about-ttl-en {
    position: relative;
    font-size: 8rem;
    line-height: 1;
    text-align: center;
    text-shadow: 0 0 10px #fff;
}

.l-about-mainimg {
    margin: -40px auto 0;
    max-width: 1000px;
    display: flex;
}

.l-about-inner {
    position: relative;
    background: #fff;
    padding: 50px 50px 60px;
    max-width: 1000px;
    margin: 0 auto;
}

.l-about-ttl {
    text-align: center;
    margin: 0 0 40px;
}

.l-about-lead {
    text-align: center;
    margin: 0 0 2em;
}

.l-about-lead__catch {
    font-size: 2.4rem;
    margin: 0 0 0.6em;
}

.l-about-lead__txt { line-height: 2; }

.l-about-kirakira-01 {
    position: absolute;
    top: -30px;
    left: 40px;
}

.l-about-kirakira-02 {
    position: absolute;
    top: 30px;
    right: 40px;
}

@media screen and (max-width: 990px) {
    .l-about {
        padding: 0 0 40px;
        margin: 0 0 60px;
    }

    .l-about::before {
        top: 70px;
        right: 0;
        width: 100%;
        height: calc(100% - 70px);
        border-radius: 50px;
    }

    .l-about-ttl-en { font-size: 4rem; }

    .l-about-mainimg { margin: -20px 20px 0; }

    .l-about-inner {
        padding: 30px 20px;
        margin: 0 20px;
    }

    .l-about-ttl { margin: 0 0 20px; }
    
    .l-about-ttl img { width: 220px; }

    .l-about-lead {
        text-align: left;
        margin: 0 0 1.4em;
    }

    .l-about-lead__catch {
        font-size: 1.8rem;
        margin: 0 0 0.6em;
    }

    .l-about-lead__txt { line-height: 1.8; }

    .l-about-kirakira-01 {
        top: -10px;
        left: 10px;
    }

    .l-about-kirakira-02 {
        top: 10px;
        right: 10px;
    }
}


/* ----------------------------------------------------------------------
	chara
---------------------------------------------------------------------- */

.l-chara-list {
    margin: 0 0 20px;
    display: flex;
    justify-content: space-between;
}

.l-chara-list li {
    text-align: center;
    width: 210px;
}

.l-chara-list__icon {
    border-radius: 100%;
    box-shadow: 0 0 10px rgba(0,0,0,0.1)
}

.l-chara-list__txt {
    font-size: 1.8rem;
    letter-spacing: 0.1em;
    margin: 0.8em 0 0;
}

.l-chara-txt {
    font-size: 1.2rem;
    text-align: right;
}

@media screen and (max-width: 990px) {
    .l-chara-list {
        margin: 0 0 15px;
        flex-wrap: wrap;
        gap: 15px 0;
    }

    .l-chara-list li {
        text-align: center;
        width: calc((100% - 4vw)  / 2);
    }
    
    .l-chara-list__icon { width: 100%; }
    
    .l-chara-list__txt { margin: 0.6em 0 0; }
    
    .l-chara-txt { text-align: center; }
}


/* ----------------------------------------------------------------------
	ok-shoes
---------------------------------------------------------------------- */

.l-ok-shoes { margin: 60px 0 0; }

.l-ok-shoes-ttl {
    background: #2c2625;
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
    padding: 12px 0;
    margin: 0 0 20px;
}

.l-ok-shoes-ttl span {
    background: url("../img/icon_ok.png") left center no-repeat;
    background-size: 20px;
    padding: 4px 0 2px 26px;
}

.l-ok-shoes-list {
    display: flex;
    justify-content: space-between;
}

.l-ok-shoes-list li { width: 164px; }

.l-ok-shoes-list li img { border: 1px solid #ddd; }

.l-ok-shoes-list__txt {
    text-align: center;
    line-height: 1.4;
    margin: 1em 0 0;
}

.l-ok-shoes-btn {
    text-align: center;
    margin: 30px 0 0;
}

@media screen and (max-width: 990px) {
    .l-ok-shoes { margin: 40px 0 0; }

    .l-ok-shoes-list {
        flex-wrap: wrap;
        gap: 20px 0;
    }

    .l-ok-shoes-list li { width: calc((100% - 3vw)  / 2); }
    
    .l-ok-shoes-list li img { width: 100%; }

    .l-ok-shoes-list__txt { margin: 0.8em 0 0; }
}


/* ----------------------------------------------------------------------
	l-flow
---------------------------------------------------------------------- */

.l-flow {
    margin: 0 auto 120px;
    max-width: 1000px;
}

.l-flow-lead {
    font-size: 1.8rem;
    text-align: center;
    margin: 0 0 1em;
}

.l-flow-lead__large { font-size:  2.4rem; }

.l-flow-step {
    margin: 0 0 1.6em;
    display: flex;
    justify-content: space-between;
}

.l-flow-step dl { width: 280px; }

.l-flow-step dl dt img { border: 1px solid #2c2625; }

.l-flow-step dl dt { margin: 0 0 15px; }

.l-flow-step p { margin: 75px 0 0; }

.l-flow-step p img { transform: rotate(-90deg); }

.l-flow-hosoku { font-size: 1.4rem; }

@media screen and (max-width: 990px) {
    .l-flow { margin: 0 20px 60px; }

    .l-flow-step {
        margin: 0 0 2em;
        display: block;
    }
    
    .l-flow-lead { font-size: 1.7rem; }
    
    .l-flow-lead__large { font-size:  2.2rem; }

    .l-flow-step dl { width: auto; }

    .l-flow-step dl dt img { width: 100%; }

    .l-flow-step dl dt { margin: 0 0 15px; }

    .l-flow-step p {
        text-align: center;
        margin: 16px 0 20px;
    }

    .l-flow-step p img { transform: rotate(0); }
}


/* ----------------------------------------------------------------------
	l-worries
---------------------------------------------------------------------- */

.l-worries {
    background: #f7f2e7;
    padding:  40px 0 80px;
    margin: 0 80px 120px;
    border-radius: 100px;
}

.l-worries-inner {
    margin: 0 auto;
    max-width: 1000px;
}

.l-worries-ttl-en {
    position: relative;
    z-index: 1;
    font-size: 8rem;
    line-height: 1;
    text-align: center;
    text-shadow:0 0 10px #fff;
}

.l-worries-mainimg {
    position: relative;
    margin: -40px auto 0;
}

@media screen and (max-width: 990px) {
    .l-worries {
        position: relative;
        background: none;
        padding:  0 0 40px;
        margin: 0 0 60px;
        border-radius: 0;
    }
    
    .l-worries::before {
        content: "";
        position: absolute;
        top: 70px;
        left: 0;
        z-index: -1;
        background: #f7f2e7;
        width: 100%;
        height: calc(100% - 70px);
        border-radius: 50px;
    }

    .l-worries-inner { margin: 0 20px; }
    
    .l-worries-ttl { margin: 0 0 30px; }
    
    .l-worries-ttl-en { font-size: 4rem; }

    .l-worries-mainimg { margin: -20px 0 40px; }
}


/* l-worries-list */
.l-worries-list {
    position: absolute;
    font-size: 2rem;
    line-height: 1.8;
    display: flex;
    align-items: center;
    gap: 0 15px;
}

.l-worries-list--01 {
    top: 148px;
    left: 40px;
}

.l-worries-list--02 {
    top: 148px;
    left: 625px;
}

.l-worries-list--03 {
    top: 316px;
    left: 70px;
}

.l-worries-list--04 {
    top: 316px;
    left: 665px;
}

.l-worries-list__ph img { border-radius: 100%; }

@media screen and (max-width: 990px) {
    .l-worries-list {
        position: static;
        font-size: 1.8rem;
        line-height: 1.8;
        margin: 0 0 20px;
        justify-content: space-between;
        gap: 0;
    }
    
    .l-worries-list:last-child { margin: 0; }
    
    .l-worries-list__ph { width: 80px; }
    
    .l-worries-list__txt { width: calc( 100% - 95px); }
}


/* l-worries-sweat */
.l-worries-sweat {
    position: relative;
    background: #fff;
    text-align: center;
    padding: 50px;
    margin: -40px auto 0;
    width: 880px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.1)
}

.l-worries-sweat-fukidashi {
    position: absolute;
    top: 20px;
    left: 30px;
}

.l-worries-sweat-cup {
    position: absolute;
    top: 50%;
    right: 34px;
    transform: translateY(-50%);
}

.l-worries-sweat-txt01 { font-size: 2.4rem; }
.l-worries-sweat-txt02 { font-size: 2.8rem; }
.l-worries-sweat-txt03 {
    font-size: 1.8rem;
    margin: 0.6em 0 0;
}

@media screen and (max-width: 990px) {
    .l-worries-sweat {
        text-align: center;
        padding: 60px 20px 20px;
        margin: 0;
        width: auto;
    }

    .l-worries-sweat-fukidashi {
        top: -20px;
        left: 50%;
        transform: translateX(-50%);
        width: 220px;
    }

    .l-worries-sweat-cup {
        position: static;
        transform: translateY(0);
        margin: 0 0 15px;
    }

    .l-worries-sweat-txt01 { font-size: 1.8rem; }
    .l-worries-sweat-txt02 { font-size: 1.8rem; }
    .l-worries-sweat-txt03 {
        font-size: 1.6rem;
        text-align: left;
    }
}


/* ----------------------------------------------------------------------
	point
---------------------------------------------------------------------- */

.l-point {
    position: relative;
    padding: 0 0 80px;
    margin: 0 0 120px;
}

.l-point::before {
    content: "";
    position: absolute;
    top: 130px;
    right: 0;
    z-index: -1;
    background: #e2c144;
    width: calc(100% - 80px);
    height: calc(100% - 130px);
    border-radius: 100px 0 0  100px;
}

.l-point-ttl-en {
    position: relative;
    z-index: 1;
    font-size: 8rem;
    line-height: 1;
    text-align: center;
    text-shadow: 0 0 10px #fff;
}

.l-point-mainimg {
    position: relative;
    margin: -40px auto 0;
    max-width: 1000px;
}

.l-point-ttl-ja {
    position: absolute;
    top: 70px;
    left: 120px;
    font-size: 2.4rem;
    font-weight: normal;
    line-height: 1.7;
    text-align: center;
}

.l-point-ttl-ja span { font-size: 3rem; }

.l-point-inner {
    background: #fff;
    max-width: 1000px;
    margin: 0 auto;
}

.l-point-nav {
    padding: 50px;
    display: flex;
    justify-content: space-between;
}

.l-point-nav li { width: 164px; }

.l-point-nav li a {
    color: #2c2625;
    text-align: center;
    text-decoration: none;
}

.l-point-nav li a:hover img { opacity: 1; }
.l-point-nav li a:hover { opacity: 0.8; }

.l-point-nav li figcaption { margin-top: 0.6em; }

@media screen and (max-width: 990px) {
    .l-point {
        position: relative;
        padding: 0 0 40px;
        margin: 0 0 60px;
    }

    .l-point::before {
        top: 70px;
        width: 100%;
        height: calc(100% - 70px);
        border-radius: 50px 0 0  50px;
    }

    .l-point-ttl-en { font-size: 4rem; }

    .l-point-mainimg {
        background: #fff;
        margin: -20px 20px 15px;
    }

    .l-point-mainimg__ph { margin: 0 0 15px; }

    .l-point-ttl-ja {
        position: static;
        font-size: 1.6rem;
        line-height: 1.6;
    }

    .l-point-ttl-ja span { font-size: 2rem; }

    .l-point-inner { margin: 0 20px; }

    .l-point-nav {
        padding: 20px 20px 30px;
        flex-wrap: wrap;
        gap: 15px 0;
    }

    .l-point-nav li { width: calc((100% - 3vw) / 2); }

    .l-point-nav li a { font-size: 1.4rem; }

    .l-point-nav li a:hover img { opacity: 1; }
    .l-point-nav li a:hover { opacity: 0.8; }

    .l-point-nav li figcaption { margin-top: 0.6em; }
    
    .l-point-nav li img { width: 100%; }
}


.l-point-icon {
    position: relative;
    background: #e2c144;
    color: #fff;
    font-size: 3.2rem;
    line-height: 1.2;
    text-align: center;
    padding: 12px 0;
}

.l-point-icon::before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -19px;
    transform: translateX(-50%);
    background: #e2c144;
    height: 21px;
    width: 60px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.l-point-icon span {
    background: #fff;
    color: #e2c144;
    font-size: 3.8rem;
    text-align: center;
    letter-spacing: normal;
    width: 44px;
    height: 44px;
    margin-left: 5px;
    border-radius: 22px;
    display: inline-block;
}

.l-point-block {
    position: relative;
    height: 450px;
    overflow: hidden;
}



.l-point-more {
    background-image: linear-gradient(182deg, transparent, #ffffff 90%);
    position: absolute;
    left: 0;
    bottom: 0;
    text-align: center;
    padding: 60px 0 40px;
    width: 100%;
}

.l-point-block.open .l-point-more {
    background: none;
    position: static;
     padding: 0 0 50px;
}

.l-point-more__btn a {
    background: #fff;
    color: #2b2524;
    text-decoration: none;
    line-height: 46px;
    width: 180px;
    height: 46px;
    display: inline-block;
    border: 1px solid #2b2524;
    border-radius: 23px;
    transition: 0.4s;
}

.l-point-block.open .l-point-more__btn a {
    background: #2b2524;
    color: #fff;
}

.l-point-more__btn a:hover,
.l-point-block.open .l-point-more__btn a:hover { background-color: #e2c144; }

.l-point-more__btn a span {
    background: url("../img/icon_more_open.svg") left center no-repeat;
    background-size: 20px 10px;
    padding: 0 0 2px 26px;
}

.l-point-block.open .l-point-more__btn a span { background-image: url("../img/icon_more_close.svg"); }

.l-point-block-inner {
    position: relative;
    padding: 50px;
}

.l-point-kirakira-01 {
    position: absolute;
    top: 30px;
    left: 30px;
}

.l-point-kirakira-02 {
    position: absolute;
    top: 30px;
    right: 30px;
}

.l-point-catch {
    font-size: 2.8rem;
    text-align: center;
    margin: 0 0 0.8em;
}

.l-point-catch__line {
    color: #c69b20;
    font-weight: bold;
    padding-bottom: 2px;
    display: inline-block;
    border-bottom: 2px solid #c69b20;
}

.l-point-catch__line--pc { margin: 0 0 10px; }

.l-point-lead {
    font-size: 1.8rem;
    text-align: center;
    margin: 0 0 2em;
}

@media screen and (max-width: 990px) {
    .l-point-icon {
        font-size: 2.8rem;
        line-height: 1.2;
        padding: 10px 0;
    }

    .l-point-icon span {
        font-size: 3rem;
        width: 36px;
        height: 36px;
        border-radius: 18px;
    }

    .l-point-block { height: 400px; }
    
    .l-point-more { padding: 60px 0 30px; }

    .l-point-block.open .l-point-more { padding: 0 0 30px; }

    .l-point-block-inner {
        position: relative;
        padding: 35px 20px 30px;
    }

    .l-point-kirakira-01 {
        top: 10px;
        left: 10px;
    }

    .l-point-kirakira-02 {
        top: 10px;
        right: 10px;
    }

    .l-point-catch {
        font-size: 1.8rem;
        margin: 0 0 1em;
    }

    .l-point-catch__line--pc,
    .l-point-catch__line--sp { margin: 0 0 8px; }

    .l-point-lead {
        font-size: 1.6rem;
        text-align: left;
        margin: 0 0 1.2em;
    }
}


/* point01 */
.l-point1-step {
    padding: 29px;
    margin: 0 0 30px;
    border: 1px solid #ddd;
    border-radius: 10px;
}

.l-point1-step:last-child { margin: 0; }

.l-point1-step__column {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}

.l-point1-step__inner { width: 590px; }

.l-point1-step__ttl {
    font-size: 2.4rem;
    margin: 0 0 0.6em;
    display: flex;
}

.l-point1-step__ttl dt {
    background: #2c2625;
    color: #fff;
    text-align: center;
    letter-spacing: normal;
    line-height: 34px;
    width: 36px;
    height: 36px;
    margin-right: 0.4em;
    border-radius: 18px;
}

.l-point1-this {
    background: #f7f2e7;
    padding: 30px;
    margin: 30px 0 0;
    display: flex;
    justify-content: space-between;
}

.l-point1-this__ttl {
    margin: 0 0 15px;
    display: flex;
    align-items: center;
}

.l-point1-this__ttl dt {
    background: #991200;
    color: #fff;
    text-align: center;
    width: 150px;
    padding: 6px 0;
    margin-right: 0.5em;
    border-radius: 10px;
}

.l-point1-this__ttl dd { font-size: 2rem; }

.l-point1-this__inner { width: 570px; }

@media screen and (max-width: 990px) {
    .l-point1-step {
        padding: 19px;
        margin: 0 0 20px;
    }

    .l-point1-step:last-child { margin: 0; }

    .l-point1-step__column { display: block; }

    .l-point1-step__inner { width: auto; }
    
    .l-point1-step__ph img { width: 100%; }

    .l-point1-step__ttl {
        font-size: 2rem;
        text-align: center;
        margin: -16px 0 0.2em;
        display: block;
    }

    .l-point1-step__ttl dt {
        line-height: 34px;
        width: 32px;
        height: 32px;
        margin: 0 0 4px;
        border-radius: 16px;
        display: inline-block;
    }

    .l-point1-this {
        padding: 20px;
        margin: 40px 0 0;
        display: block;
    }

    .l-point1-this__ttl {
        position: relative;
        text-align: center;
        margin: -40px 0 0.4em;
        display: block;
    }

    .l-point1-this__ttl dt {
        position: relative;
        font-size: 1.4rem;
        margin: 0 0 10px;
        width: 140px;
        display: inline-block;
    }

    .l-point1-this__ttl dd { font-size: 1.6rem; }

    .l-point1-this__inner { width: auto; }
    
    .l-point1-this__txt { font-size: 1.5rem; }
    
    .l-point1-this__ph {
        text-align: center;
        margin: 15px 0 0;
    }
}


/* point02 */
@media screen and (max-width: 990px) {
    .l-point--shipping img { width: 100%; }
}


/* point03 */
.l-point3-shipping {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 40px;
}

.l-point3-shipping__txt {
    font-size: 2rem;
    text-align: center;
}

.l-point3-shipping__txt-img { margin: 0 0 15px; }

@media screen and (max-width: 990px) {
    .l-point3-shipping { display: block; }
    
    .l-point3-shipping__img {
        text-align: center;
        margin: 0 0 20px;
    }
    
    .l-point3-shipping__txt {
        font-size: 1.8rem;
        text-align: left;
    }

    .l-point3-shipping__txt-img { margin: 0 20px 15px; }
}


/* point04 */
.l-point4-lead {
    font-size: 1.8rem;
    text-align: center;
    margin: 0 0 1.6em;
}

.l-point4-option {
    display: flex;
    justify-content: space-between;
}

.l-point4-option__inner { width: 280px; }

.l-point4-option__icon {
    text-align: center;
    margin: 0 0 15px;
}

.l-point4-option__ttl {
    font-size: 2rem;
    text-align: center;
}

.l-point4-option__price {
    text-align: center;
    margin: 0 0 0.8em;
}

.l-point4-option__txt p { margin: 0 0 1em; }
.l-point4-option__txt p:last-child { margin: 0; }

.l-point4-option__txt ul { font-size: 1.4rem; }

.l-point4-repair {
    padding: 29px;
    margin: 40px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 10px;
}

.l-point4-repair__inner { width: 430px; }

.l-point4-repair__txt-img {
    text-align: center;
    margin: 0 0 10px;
}

.l-point4-repair__catch {
    font-size: 2.8rem;
    text-align: center;
    margin: 0 0 0.2em;
}

@media screen and (max-width: 990px) {
    .l-point4-lead {
        font-size: 1.6rem;
        margin: 0 0 1.4em;
    }

    .l-point4-option { display: block; }

    .l-point4-option__inner {
        padding: 0 0 20px;
        margin: 0 0 25px;
        width: auto;
        border-bottom: 1px solid #ddd;
    }
    
    .l-point4-option__inner:last-child {
        padding: 0;
        margin: 0;
        border: none;
    }

    .l-point4-repair {
        padding: 0 19px 19px;
        margin: 50px 0 0;
        display: block;
    }

    .l-point4-repair__inner { width: auto; }

    .l-point4-repair__txt-img { margin: -20px 0 10px; }

    .l-point4-repair__catch {
        font-size: 2.4rem;
        margin: 0 0 0.4em;
    }

    .l-point4-repair__ph { margin: 15px 0 0; }
    
    .l-point4-repair__ph img { width: 100%; }
}


/* point05 */
.l-point05-refinisher {
    background: #f7f2e7;
    margin: 0 0 40px;
    border-radius: 0 130px 130px 0;
    display: flex;
    align-items: center;
}

.l-point05-refinisher__inner {
    text-align: center;
    width: 540px;
}

.l-point05-refinisher__catch-en { font-size: 2.6rem; }

.l-point05-refinisher__catch-ja {
    font-size: 2.4rem;
    margin: 0 0 0.4em;
}

.l-point05-refinisher__txt { font-size: 1.8rem; }

@media screen and (max-width: 990px) {
    .l-point05-refinisher {
        padding: 20px 20px 20px;
        margin: 60px 0 30px;
        border-radius: 25px;
        display: block;
    }

    .l-point05-refinisher__inner { width: auto; }
    
    .l-point05-refinisher__ph { margin: -60px 0 15px; }
    
    .l-point05-refinisher__ph img { width: 100%; }
    
    .l-point05-refinisher__catch-en { font-size: 1.6rem; }

    .l-point05-refinisher__catch-ja { font-size: 2rem; }

    .l-point05-refinisher__txt {
        font-size: 1.6rem;
        text-align: left;
    }
}


/* ----------------------------------------------------------------------
	l-result-default
---------------------------------------------------------------------- */

.l-result-default {  margin: 0 0 120px; }

.l-result-default-inner {
    position: relative;
    background: #f7f2e7;
    padding: 60px 0 120px;
    margin: 0 80px;
    border-radius: 100px;
}

.l-result-default-remarks {
    font-size: 1.4rem;
    text-align: center;
    margin: 0 0 4em;
}

.l-result-default-kirakira-01 {
    position: absolute;
    top: -15px;
    left: -140px;
}

.l-result-default-kirakira-02 {
    position: absolute;
    top: -50px;
    right: -100px;
}

@media screen and (max-width: 1340px) {
    .l-result-default-inner {
        margin: 0;
        border-radius: 0;
    }
}

@media screen and (max-width: 990px) {
    .l-result-default {  margin: 0 0 60px; }

    .l-result-default-inner {
        padding: 30px 20px 30px;
        margin: 0;
        border-radius:  0 0 50px 50px;
    }

    .l-result-default-remarks {
        text-align: left;
        margin: 0 0 3em;
    }

    .l-result-default-kirakira-01,
    .l-result-default-kirakira-02 { display: none; }
}


/* ----------------------------------------------------------------------
	l-result-tab
---------------------------------------------------------------------- */

/* l-result-tab-menu */
.l-result-tab-menu {
    position: relative;
    z-index: 1;
}

.l-result-tab-menu ul {
    margin: 0 auto;
    max-width: 1000px;
}

.l-result-tab-menu ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.l-result-tab-menu ul li { width: calc(20% - 6px); }

.l-result-tab-menu ul li a {
    background: #e2c144;
    color: #2c2625;
    text-align: center;
    text-decoration: none;
    padding: 10px 0 10px 10px;
    display: flex;
    align-items: center;
    border-radius: 10px 10px 0 0;
    transition: 0s;
}

.l-result-tab-menu ul li.active a {
    background: #f7f2e7;
    color: #e2c144;
    font-weight: bold;
    padding: 20px 0 20px 10px;
}

.l-result-tab-menu__img img { border-radius: 100%; }

.l-result-tab-menu__txt { width: 116px; }

@media screen and (max-width: 990px) {
    .l-result-tab-menu {  overflow: scroll; }
    
    .l-result-tab-menu ul { width: 512px; }

    .l-result-tab-menu ul li { width: 100px; }

    .l-result-tab-menu ul li a {
        font-size: 1.4rem;
        padding: 12px 10px 10px 10px;
    }

    .l-result-tab-menu ul li.active a {
        background: #f7f2e7;
        color: #e2c144;
        font-weight: bold;
        padding: 17px 0 15px 10px;
    }

    .l-result-tab-menu__img { display: none; }

    .l-result-tab-menu__txt { width: 100%; }
}



/* l-result-tab-panel */
.l-result-tab-panel {
    margin: 0 auto 60px;
    max-width: 1000px;
}

.l-result-tab-panel__ttl {
    font-size: 2.6rem;
    text-align: center;
    margin: 0 0 1.6em;
}

.l-result-tab-panel__column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 60px 0;
}

.l-result-tab-panel__box { width: 480px; }

.l-result-tab-pane-box__txt { margin: 1.2em 0 0; }

.l-result-tab-pane-box__catch {
    font-size: 2rem;
    text-align: center;
}

@media screen and (max-width: 990px) {
    .l-result-tab-panel {
        margin: 0 auto 30px;
        max-width: 1000px;
    }

    .l-result-tab-panel__ttl {
        font-size: 1.8rem;
        margin: 0 0 1em;
    }

    .l-result-tab-panel__column { display: block; }

    .l-result-tab-panel__box {
        margin:  0 0 40px;
        width: auto;
    }

    .l-result-tab-panel__box:last-child { margin: 0; }

    .l-result-tab-pane-box__txt { margin: 0; }

    .l-result-tab-pane-box__catch { font-size: 1.8rem; }
}


/* ----------------------------------------------------------------------
	result
---------------------------------------------------------------------- */

.l-result {
    position: relative;
    padding: 0 0 80px;
    margin: 0 0 120px;
}

.l-result::before {
    content: "";
    position: absolute;
    top: 120px;
    right: 0;
    z-index: -1;
    background: #f7f2e7;
    width: calc(100% - 80px);
    height: calc(100% - 120px);
    border-radius: 100px 0 0  100px;
}

.l-result-inner {
    margin: 0 auto;
    max-width: 1000px;
}

.l-result-lead {
    font-size: 2.6rem;
    text-align: center;
    margin: 0 0 1.1em;
}

.l-result-mainimg {
    text-align: center;
    margin: 0 0 60px;
}

.l-result-mainimg__inner { position: relative; }

.l-result-mainimg-txt {
    font-size: 1.4rem;
    margin: 0 0 1em;
}

.l-result-mainimg__balloon {
    position: absolute;
    left: 20px;
    bottom: 70px;
    z-index: 100;
}

.l-result-mainimg__balloon p {
    position: relative;
    background: rgba(255,255,255,0.9);
    font-size: 1.8rem;
    padding: 20px 0 12px;
    width: 340px;
    border-radius: 10px;
}

.l-result-mainimg__balloon p::before {
    content: "";
    position: absolute;
    top: 50%;
    right: -16px;
    transform: translateY(-50%);
    background: rgba(255,255,255,0.9);
    width: 16px;
    height: 40px;
    clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.l-result-mainimg__balloon span {
    color: #c69b20;
    font-size: 3rem;
}

.l-result-box__wrap { margin: 0 0 60px; }

.l-result-box {
    position: relative;
    margin: 0 0 70px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.l-result-box--01 .l-result-kirakira {
    position: absolute;
    top: -80px;
    left: 30px;
}

.l-result-box--02 { align-items: flex-end;}
.l-result-box--02 .l-result-kirakira {
    position: absolute;
    top: -70px;
    right: 160px;
}

.l-result-box--03 .l-result-kirakira {
    position: absolute;
    top: -90px;
    left: 30px;
}

.l-result-box--04 .l-result-kirakira {
    position: absolute;
    right: 20px;
    bottom: -90px;
}

.l-result-box:last-child { margin: 0; }

.l-result-box--reverse { flex-direction: row-reverse; }

.l-result-b-a {
    position: relative;
    width: 560px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.l-result-b-a--w480 { width: 480px; }

.l-result-b-a dl { position: relative; }

.l-result-b-a__icon {
    position: absolute;
    top: 15px;
    left: 0;
    z-index: 1;
}

.l-result-b-a__arrow { transform: rotate(-90deg); }

.l-result-b-a__arrow--position {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 1;
}

.l-result-b-a-txt { width: 400px; }

.l-result-b-a-txt__catch {
    font-size: 2rem;
    text-align: center;
}

.l-result-tab-pane-box__disp { margin-top: 0.4em; }

.l-result-b-a-txt__hosoku {
    font-size: 1.4rem;
    margin: 1em 0 0;
}

@media screen and (max-width: 990px) {
    .l-result {
        position: relative;
        padding: 0 0 40px;
        margin: 0 0 60px;
    }

    .l-result::before {
        top: 110px;
        width: 100%;
        height: calc(100% - 110px);
        border-radius: 50px 0 0  50px;
    }

    .l-result-inner { margin: 0 20px; }

    .l-result-lead { font-size: 1.8rem; }

    .l-result-mainimg { margin: 0 0 40px; }

    .l-result-mainimg__balloon {
        position: static;
        padding: 16px 20px 0;
        margin: 15px 0 0;
    }

    .l-result-mainimg__balloon p {
        font-size: 1.6rem;
        padding: 20px 0 14px;
        width: auto;
    }
    
    .l-result-mainimg__balloon p::before {
        top: -16px;
        left: 50%;
        right: inherit;
        transform: translate(-50%,0);
        width: 40px;
        height: 16px;
        clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    }

    .l-result-mainimg__balloon span {
        color: #c69b20;
        font-size: 2.7rem;
    }

    .l-result-box__wrap { margin: 0 0 30px; }

    .l-result-box {
        position: relative;
        margin: 0 20px 30px;
        display: block;
    }
    
    .l-result-box:last-child { margin: 0 20px; }

    .l-result-kirakira { display: none; }

    .l-result-b-a {
        margin: 0 0 12px;
        width: auto;
    }

    .l-result-b-a dl {
        position: relative;
        width: 50%;
    }
    
    .l-result-b-a__icon { top: 10px; }

    .l-result-b-a__arrow { display: none; }
    
    .l-result-b-a--w480 { width: 100%; }
    
    .l-result-b-a--w480 dl { width: calc(50% - 5px); }
    
    .l-result-b-a__ph img { width: 100%; }
    
    .l-result-b-a-txt { width: auto; }

    .l-result-b-a-txt__catch { font-size: 1.6rem; }
}


/* ----------------------------------------------------------------------
	voice
---------------------------------------------------------------------- */

.l-voice {
    position: relative;
    padding: 0 0 80px;
    margin: 0 0 120px;
}

.l-voice::before {
    content: "";
    position: absolute;
    top: 120px;
    left: 0;
    z-index: -1;
    background: #e2c144;
    width: calc(100% - 80px);
    height: calc(100% - 120px);
    border-radius: 0 100px 100px 0;
}

.l-voice-inner {
    margin: 0 auto;
    max-width: 1000px;
}

.l-voice-lead {
    font-size: 2.6rem;
    text-align: center;
    margin: 0 0 1em;
}

.l-voice-box {
    background: #fff;
    padding: 1px;
    margin: 0 0 50px;
    border: 1px solid #2c2625;
}

.l-voice-box:last-child { margin: 0; }

.l-voice-box__inner {
    border: 1px solid #2c2625;
    padding: 37px 47px 47px;
}

.l-voice-ttl {
    background: url("../img/icon_shoes.gif") center top no-repeat;
    background-size: 44px 30px;
    padding: 34px 0 0;
    font-size: 2.2rem;
    text-align: center;
}

.l-voice-name {
    text-align: center;
    margin: 0 0 1.6em;
}

.l-voice-box__column {
    display: flex;
    justify-content: space-between;
}

.l-voice-box__column-reverse { flex-direction:  row-reverse; }

.l-voice-b-a {
    width: 332px;
    display: flex;
    justify-content: space-between;
}

.l-voice-b-a__img { margin: 0 0 15px; }

.l-voice-b-a__arrow { margin-top: 80px; }
.l-voice-b-a__arrow img { transform: rotate(-90deg); }

.l-voice-box__txt { width: 540px; }
.l-voice-box__txt p { margin: 0 0 1em; }
.l-voice-box__txt p:last-child { margin: 0; }

@media screen and (max-width: 990px) {
    .l-voice {
        position: relative;
        padding: 0 0 40px;
        margin: 0 0 60px;
    }

    .l-voice::before {
        top: 110px;
        width: 100%;
        height: calc(100% - 110px);
        border-radius: 0 50px 50px 0;
    }

    .l-voice-inner { margin: 0 20px; }

    .l-voice-lead { font-size: 1.8rem; }

    .l-voice-box { margin: 0 0 20px; }

    .l-voice-box__inner { padding: 22px 17px 20px; }

    .l-voice-ttl { font-size: 1.8rem; }

    .l-voice-box__column { display: block; }

    .l-voice-b-a {
        margin: 0 0 20px;
        width: 100%;
    }
    
    .l-voice-b-a__ph {
        position: relative;
        width: 50%;
    }
    
    .l-voice-b-a__img { margin: 0; }
    
    .l-voice-b-a__img img { width: 100%; }
    
    .l-voice-b-a__icon {
        position: absolute;
        top: 10px;
        left: 0;
    }
    
    .l-voice-b-a__arrow { display: none; }

    .l-voice-box__txt { width: auto; }
}


/* ----------------------------------------------------------------------
	faq
---------------------------------------------------------------------- */

.l-faq {
    position: relative;
    padding: 0 0 80px;
    margin: 0 0 160px;
}

.l-faq::before {
    content: "";
    position: absolute;
    top: 120px;
    right: 0;
    z-index: -1;
    background: #f7f2e7;
    width: calc(100% - 80px);
    height: calc(100% - 120px);
    border-radius: 100px 0 0  100px;
}

.l-faq-inner {
    background: #fff;
    padding: 50px;
    margin: 0 auto;
    max-width: 1000px;
}

.l-faq__box { border-top: 1px solid #eee; }

.l-faq__box:last-child { border-bottom: 1px solid #eee; }

.l-faq__box dl {
    display: flex;
    justify-content: space-between; 
}

.l-faq__box dt {
    font-size: 2.4rem;
    text-align: center;
    letter-spacing: 0;
    line-height: 40px;
    width: 40px;
    height: 40px;
    border-radius: 20px;
}

.l-faq__box dd {
    padding: 8px 30px 0 0;
    width: calc(100% - 50px);
}

.l-faq__q {
    position: relative;
    padding: 20px 0;
    cursor: pointer;
}

.l-faq__q dt { background: #e2c144; }

.l-faq__q dd { font-size: 1.8rem; }

.l-faq__q .icon-plus {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

.l-faq__a {
    padding-bottom: 20px;
    display: none;
}

.l-faq__a dt {
    background: #2b2524;
    color: #fff;
}

.l-faq__a dd p { margin: 0 0 1em; }
.l-faq__a dd p:last-child { margin: 0; }

.l-faq__a dd ul { margin: 0 0 1em; }

.l-faq__a dd ol li {
	margin-left: 1em;
	margin-bottom: 0.6em;
	list-style: decimal;
}

.l-faq__a dd ul li:last-child
.l-faq__a dd ol li:last-child { margin-bottom: 0; }

.l-faq__a dd p.link { margin-top: 0.6em; }

.l-faq__a-tel { text-decoration: none; }

.l-faq__a-tel:link {
    color: #000;
    text-decoration: none;
}

@media screen and (max-width: 990px) {
    .l-faq {
        padding: 0 0 40px;
        margin: 0 0 80px;
    }

    .l-faq::before {
        top: 110px;
        width: 100%;
        height: calc(100% - 110px);
        border-radius: 50px 0 0  50px;
    }

    .l-faq-inner {
        padding: 20px;
        margin: 0 20px;
    }
    
    .l-faq__q dd { font-size: 1.6rem; }
}


/* ----------------------------------------------------------------------
	not-shoes
---------------------------------------------------------------------- */

.l-not-shoes {
    position: relative;
    max-width: 1000px;
    margin: 0 auto 160px;
    border: 3px solid #eee;
    border-radius: 10px;
    padding: 50px 47px 50px;
}

.l-not-shoes-icon {
    position: absolute;
    top: -43px;
    left: 50%;
    transform: translateX(-50%);
}

.l-not-shoes-ttl {
    font-size: 2.6rem;
    font-weight: normal;
    text-align: center;
    margin: 0 0 0.6em;
}

.l-not-shoes-list {
    display: flex;
    justify-content: space-between;
}

.l-not-shoes-list dl dd ul {
    padding-left: 2em;
    list-style: circle;
}



.l-not-shoes-txt {
    text-align: center;
    margin: 1.6em 0 0;
}

.l-not-shoes-txt p { margin: 0 0 0.8em; }
.l-not-shoes-txt p:last-child { margin: 0; }

@media screen and (max-width: 990px) {
    .l-not-shoes {
        margin: 0 20px 60px;
        padding: 50px 19px 19px;
    }
    
    .l-not-shoes-ttl { font-size: 2rem; }
    
    .l-not-shoes-list {
        display: block;
        justify-content: space-between;
    }
    
    .l-not-shoes-list dl,
    .l-not-shoes-list > ul { margin: 0 0 0.8em; }
    
    .l-not-shoes-list dl:last-child,
    .l-not-shoes-list > ul:last-childl { margin: 0; }
    
    .l-not-shoes-txt {
        text-align: left;
        margin: 1.2em 0 0;
    }
}


/* ----------------------------------------------------------------------
	footer
---------------------------------------------------------------------- */

/* l-footer */
.l-footer {
    text-align: center;
    padding: 0 0 40px;
}

.l-footer-logo { margin: 0 0 40px; }

.l-footer-nav {
    margin: 0 0 110px;
    display: flex;
    justify-content: center;
    gap: 0 20px;
}

.l-footer-nav li a {
    font-size: 1.4rem;
    padding: 4px 0;
    display: inline-block;
}

@media screen and (max-width: 990px) {
    .l-footer { padding: 0 20px 80px; }

    .l-footer-logo { margin: 0 0 30px; }
    
    .l-footer-logo img { width: 200px; }

    .l-footer-nav {
        text-align: left;
        margin: 0 0 40px;
        display: block;
    }

    .l-footer-nav li { margin: 0 0 0.6em;  }
    
    .l-footer-copyright { text-align: left; }
}


/* pagetop */
.pagetop {
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 100;
	display: none;
}

.pagetop:hover img { opacity: 0.8; }

@media screen and (max-width: 990px) {
	.pagetop {
		right: 20px;
		bottom: 80px;
	}
	
    #contact .pagetop { bottom: 20px; }
    
	.pagetop img {
		width: 50px;
		height: 50px;
	}
}


/* ----------------------------------------------------------------------
	heading
---------------------------------------------------------------------- */

/* page-ttl */
.page-ttl {
    position: relative;
    background: url("../img/icon_kirakira.gif") center top no-repeat;
    background-size: 48px 43px;
    text-align: center;
    padding: 54px 0 0;
    margin: 0 0 2em;
}

.page-ttl__ja {
    font-size: 2.4rem;
    font-weight: normal;
    letter-spacing: .2em;
}

.page-ttl__en {
    font-size: 6.6rem;
    line-height: 1;
    letter-spacing: .2em;
}

@media screen and (max-width: 990px) {
    .page-ttl { margin: 0 0 1em; }
    .page-ttl__ja {
        font-size: 2rem;
        margin: 0 0 0.2em;
    }

    .page-ttl__en {
        font-size: 4rem;
        letter-spacing: .2em;
    }
}


/* page-s-ttl */
.page-s-ttl {
    position: relative;
    text-align: center;
    margin: 0 0 2em;
}

.page-s-ttl__ja {
    font-size: 2.4rem;
    font-weight: normal;
    letter-spacing: .2em;
    margin: 0 0 0.2em;
}

.page-s-ttl__en {
    font-size: 5.2rem;
     line-height: 1;
    letter-spacing: .2em;
}

@media screen and (max-width: 990px) {
    .page-s-ttl { margin: 0 0 1.4em; }
    
    .page-s-ttl__ja { font-size: 2rem; }

    .page-s-ttl__en { font-size: 3.6rem; }
}

@media screen and (max-width: 321px) {
    .page-s-ttl__en { font-size: 3.2rem; }
}


/* page-s-ttl-line  */
.page-s-ttl-line {
    position: relative;
    text-align: center;
    padding: 0 0 0.6em;
    margin: 0 0 1.4em;
    border-bottom: 1px solid #2b2524;
}

.page-s-ttl-line--left { text-align: left; }

.page-s-ttl-line__ja {
    font-size: 2.2rem;
    font-weight: normal;
}

.page-s-ttl-line:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 1px;
    background: #2b2524;
    width: 100%;
    height: 1px;
    display: block;
}

@media screen and (max-width: 990px) {
    .page-s-ttl-line {  margin: 0 0 1em; }
    
    .page-s-ttl-line__ja { font-size: 2rem; }
}


/* ----------------------------------------------------------------------
	fixed-s-bn
---------------------------------------------------------------------- */

.fixed-s-bn {
    position: fixed;
    top: 50%;
    right: -80px;
    z-index: 100;
    transform: translateY(-50%);
    transition: 0.4s;
}

.fixed-s-bn.active { right: 0; }

.fixed-s-bn img { border-radius: 10px 0 0 10px; }

@media screen and (max-width: 990px) {
    .fixed-s-bn {
        position: fixed;
        top: inherit;
        right: inherit;
        bottom: -80px;
        transform: translateY(0);
        padding: 0 20px;
        width: 100%; 
    }
    
    .fixed-s-bn.active { bottom: 0; }
    
    .fixed-s-bn a {
        background: url("../img/icon_a_yellow.gif") right 15px center no-repeat #991200;
        background-size: 20px;
        text-align: center;
        line-height: 1;
        padding: 24px 0;
        display: block;
        border-radius: 10px 10px 0 0;
    }

    .fixed-s-bn img {
        width: auto;
        height: 16px;
        border-radius: 0;
    }
}

/* ----------------------------------------------------------------------
	target-block
---------------------------------------------------------------------- */

.target-block {
    margin: -120px 0 0;
    padding: 120px 0 0;
}

@media screen and (max-width: 990px) {
    .target-block {
        margin: -60px 0 0;
        padding: 60px 0 0;
    }
}


/* ----------------------------------------------------------------------
	icon
---------------------------------------------------------------------- */

/* icon-plus */
.icon-plus {
    position: relative;
    width: 18px;
    height: 18px;
    display: block;
}

.icon-plus:before,
.icon-plus:after {
    content: "";
    position: absolute;
    top: 9px;
    left: 0;
    background: #2c2625;
    width: 18px;
    height: 2px;
    display: block;
    transition: 0.2s;
}

.icon-plus--white:before,
.icon-plus--white:after { background: #fff; }

.icon-plus:before { transform: rotate(90deg);  }

.on .icon-plus:before { transform: rotate(0); }

/* icon-square */
.icon-square {
    background: #e2c144;
    font-size: 2.8rem;
    font-style: normal;
    text-align: center;
    line-height: 50px;
    letter-spacing: 0;
    width: 50px;
    height: 50px;
    display: block;
}


/* ----------------------------------------------------------------------
	modal
---------------------------------------------------------------------- */

.l-modal-box {
    position: relative;
    text-align: left;
}

.l-modal-box__close {
	position: absolute;
	top: 20px;
	right: 20px;
    width: 30px;
    height: 30px;
    display: block;
    transition: 0.7s;
    cursor: pointer;
}

.l-modal-box__close:hover { opacity: 0.6; }

.l-modal-box__close:before,
.l-modal-box__close:after {
	content: "";
	position: absolute;
	top: 50%; 
	right: 0;
    background: #000;
	width: 30px;
	height: 2px;
    display: block;
    transform: rotate(-45deg);
}

.l-modal-box__close:before { transform: rotate(45deg); }

.l-modal-bg {
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(0,0,0,0.8);
	width: 100%;
	height: 100%;
	display: block;
}

@media screen and (max-width: 990px) {
    .l-modal-box__close {
        top: 15px;
        right: 15px;
    }
}


/* ----------------------------------------------------------------------
	tab
---------------------------------------------------------------------- */

.tab {
    margin: 0 0 1.6em;
	display: flex;
	justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
    border-bottom: 1px solid #2b2524
}

.tab li {
    position: relative;
    width: 260px;
}

.tab li::before {
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    height: 9px;
    content: '';
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transition: 0.7s;
}

.tab li.active::before { background-color: #2b2524; }

.tab li a {
    background: #eee;
    font-size: 1.8rem;
    text-align: center;
    text-decoration: none;
	line-height: 60px;
	height: 56px;
    display: block;
    border-radius: 10px 10px 0 0;
}

.tab li.active a {
    background: #2b2524;
    color: #e2c144;
    font-weight: bold;
}

.tab li.no-active::before { display: none; }

.tab li.no-active a {
    background: #eee;
    color: #2b2524;
    font-weight: normal;
}

.tab li.no-active a:hover { background: #ddd; }

.tab-area { display: none; }

.tab-area.is-active {
    display: block;
    animation-name: displayAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}

@keyframes displayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@media screen and (max-width: 990px) {
    .tab { gap: 10px; }
    
    .tab li { width: 150px; }
    
    .tab li a {
        font-size: 1.5rem;
        line-height: 48px;
        height: 46px;
    }
}

@media screen and (max-width: 321px) {
    .tab { gap: 10px; }
    
    .tab li { width: 125px; }
}


/* ----------------------------------------------------------------------
	kirakira
---------------------------------------------------------------------- */

.kirakira {
    position: relative;
    width: 166px;
    height: 144px;
    transform: translate3d(0,0,0);
}

.kirakira svg {
    animation-name: kirakiraAnime;
	animation-duration: 1.6s;
    animation-iteration-count: infinite;
	animation-fill-mode: forwards;
    backface-visibility: hidden;
    animation-timing-function: ease-out;
}

.kirakira--parts01 {
    position: absolute;
    top: 0;
    left: 0;
}

.kirakira--parts02 {
    position: absolute;
    top: 46px;
    right: 0;
    animation-delay: 0.2s;
}

.kirakira--parts03 {
    position: absolute;
    left: 66px;
    bottom: 0;
    animation-delay: 0.4s;
}

.kirakira--delay .kirakira--parts01 { animation-delay: 0.4s; }
.kirakira--delay .kirakira--parts02 { animation-delay: 0.6s; }
.kirakira--delay .kirakira--parts03  { animation-delay: 0.8s; }

.kirakira svg path { fill: #e2c144; }

@keyframes kirakiraAnime{
	0% {
		transform: rotateY(0);
	}
	50% {
		transform: rotateY(180deg);
	}
    100% {
		transform: rotateY(0);
	}
}

@media screen and (max-width: 990px) {
    .kirakira {
        width: 50px;
        height: 44px;
    }
    
    .kirakira--parts01 {
        width: 28px;
        height: 28px;
    }

    .kirakira--parts02 {
        top: 14px;
        width: 13px;
        height: 13px;
    }
    
    .kirakira--parts03 {
        left: 20px;
        top: 23px;
        width: 20px;
        height: 20px;
    }
    
    .kirakira--sp-l {
        width: 80px;
        height: 70px;
    }
    
    .kirakira--sp-l .kirakira--parts01 {
        width: 44px;
        height: 44px;
    }

    .kirakira--sp-l .kirakira--parts02 {
        top: 22px;
        width: 22px;
        height: 22px;
    }
    
    .kirakira--sp-l .kirakira--parts03 {
        left: 32px;
        top: 28px;
        width: 32px;
        height: 32px;
    }
}


/* ----------------------------------------------------------------------
	table
---------------------------------------------------------------------- */

.tbl {
	width: 100%;
	border-top: 1px solid #ddd;
}

.tbl th,
.tbl td {
	text-align: left;
	padding: 20px 15px 20px 0;
}

.tbl tr { border-bottom: 1px solid #ddd; }

.tbl th { width: 30%; }

@media screen and (max-width: 990px) {
	.tbl { display: block; }
	
	.tbl tbody,
	.tbl tr {
		width: 100%;
		display: block;
	}
	
	.tbl th,
	.tbl td {
        padding: 20px 0;
        display: block;
    }

	.tbl th {
        text-align: center;
        padding-bottom: 0.4em;
		width: 100%;
		box-sizing: border-box;
	}
    
    .tbl td { padding-top: 0; }
}


/* ----------------------------------------------------------------------
	icon
---------------------------------------------------------------------- */

/* list-icon */
.list-icon > li,
.list-icon dt {
	background: url("../img/icon_list.svg") 0 5px no-repeat;
	background-size: 16px;
	padding-left: 20px;
}

.list-icon > li { margin: 0 0 0.8em; }

.list-icon > li:last-child { margin-bottom: 0; }


/* icon-ciecle */
.icon-ciecle {
    background: url("../img/icon_list.svg") 0 5px no-repeat;
	background-size: 16px;
	padding-left: 20px;
}


/* icon-b-a */
.icon-b-a {
    background: #2b2524;
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
    padding: 3px 0 1px;
    width: 126px;
    border-radius: 0 100px 100px 0;
}



.icon-b-a--after {
    background: #e2c144;
    color: #2b2524;
}

@media screen and (max-width: 990px) {
    .icon-b-a { 
        font-size: 1.2rem;
        width: 70px;
    }
}

/* list-style */
.list-style { margin-bottom: 0.8em; }
.list-style:last-child { margin-bottom: 0; }
.list-style > li {
	margin-left: 2em;
	margin-bottom: 0.6em;
	list-style: decimal;
}

.list-style li:last-child { margin-bottom: 0; }

.list-style--latin > li { list-style: lower-latin; }
.list-style--katakana > li {
    padding-left: 5px;
    list-style: katakana;
}


/* list-link */
.list-link li { margin: 0 0 0.8em; }
.list-link li:last-child { margin: 0; }

.list-link li a {
    background: url("../img/icon_a_sub_black.png") left 5px no-repeat;
    background-size: 8px 14px;
    padding-left: 14px;
    display: inline-block;
}

@media screen and (max-width: 990px) {
    .list-link li a {
        background-position: left 7px;
        padding: 2px 0 2px 14px; 
    }
}


/* ----------------------------------------------------------------------
	local-bn
---------------------------------------------------------------------- */

.local-bn a {
    background: url("../img/icon_a_default_black.png") right 30px center no-repeat;
    background-size: 20px;
    color: #2b2524;
    text-align: center;
    text-decoration: none;
    padding: 40px 0 30px;
    display: block;
    border: 1px solid #2c2625;
}

.local-bn a:hover { opacity: 0.8; }

.local-bn-txt__ja {
    padding: 70px 0 0;
    font-size: 2rem;
}

.local-bn--result .local-bn-txt__ja {
    background: url("../img/icon_result.gif") center top no-repeat;
    background-size: 60px 50px;
}

.local-bn--voice .local-bn-txt__ja {
    background: url("../img/icon_voice.gif") center top no-repeat;
    background-size: 68px 50px;
}

.local-bn-txt__en {
    font-size: 4.8rem;
    line-height: 1.4;
}

@media screen and (max-width: 990px) {
    .local-bn a { padding: 25px 0 10px; }
    
    .local-bn-txt__ja {
        padding: 50px 0 0;
        font-size: 1.6rem;
    }

    .local-bn--result .local-bn-txt__ja,
    .local-bn--voice .local-bn-txt__ja { background-size: auto 40px; }

    .local-bn-txt__en {
        font-size: 3.8rem;
        line-height: 1.4;
    }
}

/* ----------------------------------------------------------------------
	loacl-nav
---------------------------------------------------------------------- */

.local-nav {
    position: relative;
    z-index: 1;
    margin: 0 0 80px;
    display: flex;
    justify-content: center;
    gap: 20px 40px;
}

.local-nav li a {
    background: url("../img/icon_local_nav.gif") left center no-repeat;
    background-size: 16px 9px;
    text-decoration: none;
    padding-left: 22px;
    display: inline-block;
}

.local-nav li a span { display: block; }

@media screen and (max-width: 990px) {
    .local-nav {
        margin: 0 0 40px;
        display: block;
        border-top: 1px solid #ddd;
    }
    
    .local-nav li { border-bottom: 1px solid #ddd; }
    
    .local-nav li a {
        padding: 14px 20px 14px 22px;
        display: block;
    }
    
    .local-nav li a span { display: inline; }
}


/* local-nav-side */
.local-nav-side li { margin: 0 0 1em; }
.local-nav-side li:last-child { margin: 0; }

.local-nav-side li a {
    background: url("../img/icon_a_default_black.png") left top no-repeat;
    background-size: 18px;
    text-decoration: none;
    padding-left: 24px;
}



/* ----------------------------------------------------------------------
	columns
---------------------------------------------------------------------- */

/* l-columns */
.l-columns2,
.l-columns3,
.l-columns4 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.l-columns2,
.l-columns3 { gap: 60px 40px; }


.l-columns2__inner { width: 430px; }
.l-columns3__inner { width: 310px; }
.l-columns4__inner { width: 235px; }

@media screen and (max-width: 990px) {
	.l-columns2 { display: block; }

	.l-columns2__inner {
        margin: 0 0 40px;
        width: auto;
    }
    
    .l-columns2__inner--mb20 { margin: 0 0 20px; }
    
    .l-columns2__inner:last-child,
    .l-columns3__inner:last-child,
    .l-columns4__inner:last-child { margin: 0; }
}



















