@charset "UTF-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans|Noto+Serif');
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans&display=swap');

/* -------------------------------------------------------------
pc
------------------------------------------------------------- */
@media screen and (min-width: 768px) {

    /* ------------------------------
    display
    ------------------------------ */
    .sp {
        display: none;
    }

    
    /* ------------------------------
    gnav
    ------------------------------ */
    ul.gnav {
        display:flex;
		justify-content:space-between;
		align-items: flex-end;
		position: relative;
		z-index: 9999;
    }
    ul.gnav li:not(:first-child) {
        margin-left: 25px;
    }
    ul.gnav li {
        font-size: 14px;
    }
    ul.gnav a {
        display: inline-block;
        position: relative;
        text-decoration: none;
    }
	ul.gnav li:last-child {
		background: #b59d5e;
		color: #fff;
		padding: 3px;
	}
	ul.gnav li:last-child a {
		color: #fff;
	}
	ul.gnav li:last-child > span {
		display: block;
		padding: 10px 20px;
		border: solid 1px #fff;
	}
	ul.gnav li:last-child strong {
		font-family: 'Bodoni Moda', serif;
		font-size: 32px;
		line-height: 1;
		display: block;
	}
	ul.gnav li a::before {
		content: "";
		display: inline-block;
		background: url(../img/ico_nav.png);
		background-size: 22px 10px;
		width: 22px;
		height: 10px;
		margin-right: 6px;
	}
	ul.gnav li:last-child a::before {
		content: "";
		background: none;
		width: auto;
		height: auto;
		margin-right: 0;
	}

	
    /* ------------------------------
    index
    ------------------------------ */
	.top_concept,
	.top_service,
	.top_lineup,
	.top_maker,
	.top_works,
	.top_access {
		padding: 100px 0;
	}
	.top_concept,
	.top_lineup, 
	.top_works {
		background: #fff;
	}
	
	.top_kv {
		width: 80%;
		margin: 0 auto 60px auto;
	}
	.top_info {
		margin-bottom: 60px;
		background: 
			url(../img/bg_deco1.png) no-repeat center top,
			url(../img/bg_deco1.png) no-repeat center bottom;
		background-size: auto 20px;
		text-align: center;
		padding: 30px 0;
	} 
	
	.top_concept {
		background: 
			url(../img/bg_illust1.png) no-repeat left 50px top 20px,
			url(../img/bg_illust2.png) no-repeat right 50px bottom 50px;
		background-size: 
			260px auto,
			260px auto;
		background-color: #fff;
	}
	.top_lineup {
		background: 
			url(../img/bg_illust3.png) no-repeat left 30px top 40px,
			url(../img/bg_illust4.png) no-repeat right 40px bottom 40px;
		background-size: 
			260px auto,
			260px auto;
		background-color: #fff;
	}
	
	
	.top_concept_inner {
		width: 85%;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
	}
	.top_concept_inner figure {
		width: 55%;
	}
	.top_concept_inner div {
		width: 40%;
	}
	
	.top_service_inner {
		width: 85%;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
		align-items: center;
	}
	.top_service_inner figure {
		width: 55%;
	}
	.top_service_inner > div {
		width: 40%;
	}
	.top_service_inner > div p:first-of-type {
		border-bottom: dotted 1px #89734f;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	.top_service_inner > div p:last-of-type {
		margin-bottom: 30px;	
	}
	
	.top_lineup p {
		width: 960px;
		margin: 0 auto 20px auto;
	}
	.top_lineup p:first-of-type img {
		width: 100%;
		height: auto;
	}
	.top_lineup .btn {
		text-align: center;
	}

	.top_maker {
		background: 
			url(../img/bg_deco2.png) no-repeat bottom 37% left 3%,
			url(../img/bg_deco2.png) no-repeat bottom 37% right 3%;
		background-size: 20% auto;
	}
	.top_maker ul {
		width: 50%;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.top_maker ul li {
		width: 23%;
		margin-bottom: 2%;
	}
	
	.top_works ul {
		display: flex;
		margin-bottom: 40px;
	}
	.top_works p {
		width: 640px;
		margin: 0 auto 60px auto;
	}
	.top_works .btn {
		text-align: center;
	}
	
	.top_access_inner {
		width: 70%;
		display: flex;
		margin: 0 auto;
		justify-content: space-between;
	}
	.top_access_inner > *:first-of-type {
		width: 55%
	}
	.top_access_inner > *:last-of-type {
		width: 40%;
		padding-top: 70px;
	}
	.gmap::before {
		content: "";
		display: block;
		margin: 0 auto;
		background: url(../img/bg_deco4.png) no-repeat;
		background-size: 200px 34px;
		width: 200px;
		height: 34px;
		margin-bottom: 20px;
	}
	.gmap::after {
		content: "";
		display: block;
		margin: 0 auto;
		background: url(../img/bg_deco5.png) no-repeat;
		background-size: 200px 34px;
		width: 200px;
		height: 34px;
		margin-top: 20px;
	}	
	.top_access_inner > *:last-of-type p:first-of-type {
		margin-bottom: 40px;
	}
	.top_access_inner strong {
		font-size: 120%;
	}

    /* ------------------------------
    price
    ------------------------------ */	
	.price p {
		text-align: center;
	}
	.price p strong {
		font-size: 140%;
		color: rgba(200,0,0,1);
	}
    
    /* ------------------------------
    mv
    ------------------------------ */
    .mv {
        background:url(../img/mv.jpg) no-repeat center;
        background-size: cover;
    }
    .mv div {
        background: rgba(0,0,0,0.4);
    }
    .mv h2 {
        color: #fff;
        font-size: 14px;
        line-height: 1;
        text-align: center;
        padding: 120px 0 100px 0;
		font-weight: normal;
    }
	.mv h2 span {
		font-size: 48px;
		font-family: 'Bodoni Moda', serif;
		display: block;
		margin-bottom: 15px;
	}
    

    /* ------------------------------
    gallery
    ------------------------------ */
    .gallery-list {
        display:flex;
        flex-wrap:wrap;
        justify-content:space-between;
        justify-content:center;
        width: 980px;
        margin: 60px auto 80px auto;
    }	
    .gallery-list li {
        list-style:none;
        margin:0 10px 20px 10px;
    }
    .gallery-list img {	
        border-radius:50%;
        height:160px;
        width:160px;
        object-fit: cover;	
    }
    .gallery-list span {	
        display: block;
        font-size: 12px;
        line-height: 1.7;
        margin: 12px 0 0 0;
        text-align: center;
        width:160px;
    }

    
    /* ------------------------------
    container
    ------------------------------ */
    .container {
        margin: 60px auto 80px auto;
        width:960px;
    }
    .container .inner {
        display: flex;
        margin-bottom: 60px;
    }
    .container .inner figure img {
        height: auto;
        margin-bottom: 0!important;
        margin-right: 40px;
        width: 320px;
    }
    .container figure {
        text-align: center;
    }
    .container figure img {
        width: 800px;
        height: auto;
        margin-bottom: 25px;
    }
    .container p {
        margin-bottom: 60px;
    }


}




/* -------------------------------------------------------------
sp
------------------------------------------------------------- */
@media screen and (max-width: 767px) {

    
    /* ------------------------------
     display
    ------------------------------ */
    .pc {
        display: none;
    }

    
    /* ------------------------------
     gnav
    ------------------------------ */
    .drawer-hamburger-icon,
    .drawer-hamburger-icon:before,
    .drawer-hamburger-icon:after {
        background-color: #fff; /* メニューライン色 */
    }
    .drawer-nav {
        background-color: #b59d5e; /* メニュー背景色 */
    }
    .drawer-hamburger {
        background: #b59d5e!important; /* ハンバーガーメニュー背景色 */
        z-index: 9999!important;
    }

    
    /* ------------------------------
    index
    ------------------------------ */
	.top_concept,
	.top_service,
	.top_lineup,
	.top_maker,
	.top_works,
	.top_access {
		padding: 60px 20px;
	}
	.top_concept,
	.top_lineup, 
	.top_works {
		background: #fff;
	}
	
	.top_kv {
		width: 95%;
		margin: 20px auto 40px auto;
	}
	.top_info {
		margin-bottom: 60px;
		background: 
			url(../img/bg_deco1.png) no-repeat center top,
			url(../img/bg_deco1.png) no-repeat center bottom;
		background-size: auto 4vw;
		text-align: center;
		padding: 7vw 0;
	} 

	.top_concept {
		background: 
			url(../img/bg_illust1.png) no-repeat left 15px top 15px,
			url(../img/bg_illust2.png) no-repeat right 15px bottom 15px;
		background-size: 
			40vw auto,
			40vw auto;
		background-color: #fff;
	}
	.top_lineup {
		background: 
			url(../img/bg_illust3.png) no-repeat left 15px top 15px,
			url(../img/bg_illust4.png) no-repeat right 15px bottom 15px;
		background-size: 
			40vw auto,
			40vw auto;
		background-color: #fff;
	}	
	
	.top_concept_inner figure {
		margin-bottom: 20px;
	}
	
	.top_service_inner figure {
		margin-bottom: 20px;
	}
	.top_service_inner > div p:first-of-type {
		border-bottom: dotted 1px #89734f;
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	.top_service_inner > div p:last-of-type {
		margin-bottom: 30px;	
	}
	.top_service_inner .btn {
		text-align: center;
	}
	
	.top_lineup ul {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin: 0 auto;
	}

	.top_lineup p {
		margin: 0 auto 20px auto;
	}
	.top_lineup p:first-of-type img {
		width: 100%;
		height: auto;
	}
	.top_lineup .btn {
		text-align: center;
	}
	
	.top_maker ul {
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.top_maker ul li {
		width: 48%;
		margin-bottom: 2%;
	}
	
	.top_works ul {
		display: flex;
		margin-bottom: 30px;
		flex-wrap: wrap;
	}
	.top_works ul li {
		width: 50%;
	}
	.top_works p {
		margin: 0 auto 40px auto;
	}
	.top_works .btn {
		text-align: center;
	}
	
	.top_access_inner > *:first-of-type {
		margin-bottom: 20px;
	}
	.gmap::before {
		content: "";
		display: block;
		margin: 0 auto;
		background: url(../img/bg_deco4.png) no-repeat;
		background-size: 200px 34px;
		width: 200px;
		height: 34px;
		margin-bottom: 20px;
	}
	.gmap::after {
		content: "";
		display: block;
		margin: 0 auto;
		background: url(../img/bg_deco5.png) no-repeat;
		background-size: 200px 34px;
		width: 200px;
		height: 34px;
		margin-top: 20px;
	}	
	.top_access_inner > *:last-of-type p:first-of-type {
		margin-bottom: 40px;
	}
	.top_access_inner strong {
		font-size: 120%;
	}

   
    /* ------------------------------
    lineup
    ------------------------------ */
	.lineup ul.list {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin-bottom: 40px;
	}
	.lineup ul.list > * {
		width: 48%;
		margin: 0 0.5% 1% 0.5%;
		border: #89734f solid 1px;
		text-align: center;
		background: #fff;
		font-size:2.667vw;
		line-height: 1;
		position: relative;
 	}	
	.lineup ul.list i {
		position: absolute;
		top: 50%;
		right: 3%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
	}
	.lineup ul.list li.current {
		background: #89734f;
	}
	.lineup ul.list li.current a {
		color: #fff;
	}
	.lineup ul.list a {
		display: block;
		padding: 14px;		
	}
	.lineup ul.item li {
		margin: 0 auto 25px auto;
		text-align: center;
	}
	.lineup ul.item li img {
		width: 85%;
		height: auto;
	}
	.lineup ul.item li span {
		display: block;
		margin-bottom: 5px;
		text-align: center;
		font-size: 12px;
	}	
	.lineup dl dt {
		font-weight: bold;
	}
	.lineup dl dd {
		margin-bottom: 20px;
	}
	.lineup dl.yellow dt {
		color: #cdbc00;
	}
	.lineup dl.beige dt {
		color: #9d6619;
	}
	.lineup dl.pink dt {
		color: #ff628b;
	}
	.lineup dl.green dt {
		color: #6cac10;
	}
	.lineup dl.blue dt {
		color: #16a5da;
	}	
	.cloth_image {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.cloth_image > * {
		width: 48%;
		margin: 0 1% 3% 1%;
	}
	.cloth_image img {
		width: 100%!important;
		height: auto;
		margin-bottom: 10px!important;
	}
	.cloth_image h4 {
		font-weight: bold;
		margin-bottom: 5px;
	}
	.cloth_image p {
		font-size: 12px;
		margin-bottom: 0!important;
	}
	
	
    /* ------------------------------
    mv
    ------------------------------ */
    .mv {
        background:url(../img/mv.jpg) no-repeat center;
        background-size: cover;
    }
    .mv div {
        background: rgba(0,0,0,0.4);
    }
    .mv h2 {
        color: #fff;
        font-size: 14px;
        line-height: 1;
        text-align: center;
        padding: 16.5vw 0 15vw 0;
		font-weight: normal;
    }
	.mv h2 span {
		font-size: 8.333vw;
font-family: 'Bodoni Moda', serif;
		display: block;
		margin-bottom: 15px;
	}


    /* ------------------------------
     gallery
    ------------------------------ */
    .gallery-list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        justify-content: center;
        margin: 30px 0 40px 0;
    }	
    .gallery-list li {
        list-style: none;
        margin: 5px 5px 15px 5px;
    }
    .gallery-list img {	
        border-radius: 50%;
        width:110px;
        height: 110px;
        object-fit: cover;
    }
    .gallery-list span {	
        display: block;
        font-size: 10px;
        line-height: 1.6;
        margin: 10px auto 0 auto;
        text-align: center;
        width:110px;
    }

    
    /* ------------------------------
    container
    ------------------------------ */
    .container {
        margin: 40px 20px;
    }
    .container figure img {
        height:auto;
        width: 100%;
        margin-bottom: 20px;
    }
    .container p {
        margin-bottom: 40px;	
    }

    
    /* ------------------------------
     drawer-hamburger　
    ------------------------------ */
    .drawer-nav {
        color:#fff;
        z-index:9999;
    }
    .drawer-nav ul li {
        border-bottom:1px solid rgba(255,255,255,0.2);
    }
    .drawer-nav ul li:last-child a:before {
        content: "";
    }
    .drawer-nav ul li a {
        color: #fff;
        display: block;
        padding:17px 15px;	
    }
    .drawer-nav ul li:last-child {
        border-bottom: none;
        font-size: 24px;
        line-height: 0.4;
        padding-top: 30px;
        padding-bottom: 40px;
        text-align: center;
    }
    .drawer-nav ul li:last-child span {
        display: block;
        font-size: 11px!important;
        font-weight: normal;
        letter-spacing: 0.1em;
    }
    .drawer-nav ul li:last-child i {
        font-size: 15px;
        margin-right: 1px;
        vertical-align: 3px;
    }


}


.CMS-FORM-GROUP label:first-child{
	font-size: 120%;
}
@media screen and (min-width: 768px) {
	form {
	    max-width: 1000px;
	    margin: 0 auto;
	}
	form div {
		margin-bottom: 50px;
	}
	form div label {
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
	}
	form select {
	    padding: 20px;
	    background: #fff;
	    border: #bbb solid 1px;
	    border-radius: 3px;
	}
	form input, form textarea {
	    max-width: 1000px;
	    width: 100%;
	    padding: 10px 20px;
	    background: #fff;
	    border: #bbbbbb solid 1px;
	    border-radius: 4px;
	    font-size: 1.5em;
		box-sizing: border-box;
	}
	form input[type="submit"] {
	    border: 0px;
	    width: 50%;
	    background: #b69e5e;
	 color: #fff;
	    font-size: 26px;
	    font-weight: 600;
	    padding: 25px 0;
		margin: 0 25%;
	}	
	.CMS-FORM-RADIO label{
		display: inline-block;
	}
	form input[type="radio"] {
		max-width: none!important;
		width: 30px!important;	
		vertical-align: -1px;
	}
}
@media screen and (max-width: 767px) {
	form {
		padding: 0 20px;
	}
	form div {
		margin-bottom: 50px;
	}
	form div label {
		display: block;
		font-weight: bold;
		margin-bottom: 10px;
	}
	form select {
		padding: 20px;
		background: #fff;
		border: #bbb solid 1px;
		border-radius: 3px;
	}
	form input, form textarea {
	    width: 100%;
		padding: 10px 20px;
		background: #fff;
		border: #bbbbbb solid 1px;
		border-radius: 4px;
		font-size: 1.5em;
		box-sizing: border-box;
	}
	form input[type="submit"] {
		border: 0px;
		width: 90%;
		background: #b69e5e;
		color: #fff;
		font-size: 26px;
		font-weight: 600;
		padding: 25px 0;
		margin: 0 5%;
	}
	.CMS-FORM-RADIO label{
		display: inline-block;
	}
	form input[type="radio"] {
		max-width: none!important;
		width: 30px!important;	
		vertical-align: -1px;		
	}
}
form .note {
	text-align: left;
	font-size: 12px;
	margin-top: 10px;
	color: #555;
}