@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);

.CaviarDreams{
	font-family: 'CaviarDreams','Noto Sans JP', sans-serif;
	font-weight: bold;
	margin: 3px 0;
    }

html {
    scroll-behavior: smooth;
}

body{
	font-family: 'Noto Sans JP', sans-serif;
	background-color: #fbfaf5;
	margin: 0px;
	padding: 0px;
	font-size: 90%;
	letter-spacing: 2px;
	
}


.header_menu{
	width: 250px;
	height:100vh;
	position: fixed;
	background-color: #F0F0F0;
}

.nu_logo{
	text-align: center;
	padding: 30px 0 0 0;
	margin: 0;
}

.column{
	column-count: 2;
	list-style: none;
	margin:20px 40px 20px 0px ;
	padding-inline-start: 36px;

}

.btn {
	position: relative;
	width: 65px;
	height: 95px;
	margin: 0 auto;
	display: block;
	border-radius: 12px;
	overflow: hidden;
	cursor: pointer;
}
.btn img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	display: block;
	-webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
}

.btn:hover img:nth-of-type(2) {
	opacity: 0;
}

.btn.current img:nth-of-type(2){
	display: none;
}

.navigation{
	display: flex;
	justify-content: center;
}

.follwme{
	justify-content: center;
}

.menu_box{
	text-align: center;
    align-items:center;
	margin: 30px 0;
}

.menu_qrcode{
	text-align: center;
	margin-top: 50px;
}

.copyright {
	font-size: 12px;
	margin:0 auto 15px;
	text-align: center;
}


.qr_smartphone{
	font-size:65%;
}

.maincontents{
	padding-left: 250px;
	margin: 0;
}

.container {
  position: relative;
/*  width: 1000px;*/
  height: 540px;
}
.image {
  position: absolute;
	width: 100%;
	opacity: 0;
	animation: change-img-anim 11s infinite;
}

.image:nth-of-type(1) {
  animation: change-img-anim-first 11s infinite;
	animation-delay: 0s;
}
.image:nth-of-type(2) {
	animation-delay: 3s;
}
.image:nth-of-type(3) {
	animation-delay: 6s;
}

@keyframes change-img-anim-first {
	0%{ opacity:1;}
  30%{ opacity: 1;}
  36%{ opacity: 1;}
  45%{ opacity: 0;}
  100%{ opacity: 0;}
}
@keyframes change-img-anim {
  0%{ opacity: 0;}
  30%{ opacity: 1;}
  36%{ opacity: 1;}
  45%{ opacity: 0;}
  100%{ opacity: 0;}
}

.introduction{
    text-align: center;
	margin-top: 200px;
	margin-bottom: 150px;
	letter-spacing: 3px;
	color: #698AAB
}

.message{font-size: 22px; }

.message2{
	border-top: 2px solid;
	max-width: 160px;
	padding-top: 40px;
	margin-top: 45px;
	margin-left: auto;
    margin-right: auto;
	
}

.top_menu{
	display: flex;
	justify-content: space-around;
	list-style: none;
	padding: 50px 80px 100px 80px;
	margin: 0;
}

.concept{
	display: flex;
}

@font-face {
	font-family: 'CaviarDreams';
	src: url('../fonts/CaviarDreams.ttf') format('truetype');
}

.caption{
	font-family: 'CaviarDreams', sans-serif;
	font-size: 40px;
	color: #698AAB;
	font-weight: 900;
	text-shadow:
    .5px .5px #698AAB,
    -.5px .5px #698AAB,
    -.5px -.5px #698AAB,
    .5px -.5px #698AAB,
    .5px 0px #698AAB,
    0px .5px #698AAB,
    -.5px 0px #698AAB,
    0px -.5px #698AAB;
    margin: 0 ;
	letter-spacing: 1px;
}

.caption2{
	font-size: 11px;
	color: #698AAB;
	margin: 0;
	letter-spacing: 1px;
}

.works_index{
	text-align: center;
}

.works_introduction{
	text-align: center;
	margin-bottom: 100px;
	margin-top: 150px;
}

.mb-30{
	margin-bottom: 30px
}


.concept{
	margin-bottom: 150px;
}
	
.concept_text{
	text-align: left;
	padding-left: 50px;
}

.lineheight-25{
	line-height: 25px;
}

.concept_img{
	display: flex;
	justify-content: flex-end;
	margin: 0 0 0 auto;
}

.profile{
	display: flex;
	margin-bottom: 150px;
}

.profile_text{
	text-align: left;
	padding-left: 50px;
}

.atelier{
	display: flex;
		margin-bottom: 200px;
}

.atelier_text{
	text-align: left;
	padding-left: 50px;
}

.atelier_img{
	display: flex;
	justify-content: flex-end;
	margin: 0 0 0 auto;
}

.box2 {
    padding: 0.5em 1em;
    margin: 2em 0;
    font-weight: bold;
    border: solid 2px #698aab;/*線*/
    border-radius: 20px;/*角の丸み*/
	text-align: center;
	font-family: 'CaviarDreams', sans-serif;
	width: 150px;
	margin-left: auto;
	margin-right: auto;
	
}

.box2 p {
    margin: 0; 
    padding: 0;
}

.box2 a{
		text-decoration: none;
	color: #698AAB; 
}


.left_space{
	margin-left: 50px;
	padding: 50px 0 0 0;
} 

.space30{
	margin-top: 30px;
}

.remake_img{
	 text-align: center;
}

.remake_text{
	text-align: center;
	margin-bottom: 150px;
}

.repair_img{
	text-align: center;
}

.repair_text{
	text-align: center;
	margin-bottom: 150px;
}

.order1_img{
	text-align: center;
}

.order1_text{
	text-align: center;
	margin-bottom: 150px;
}

.order2_img{
	text-align: center;
}

.order2_text{
    text-align: center;
	margin-bottom: 150px;
}

.original_img{
	text-align: center;
}

.original_text{
	text-align: center;
	margin-bottom: 200px;
}

.original_text p a{
	text-decoration: none;
	color: #698AAB; 
}

.pricelist_text{
	text-align: center;
	font-size: 80%;
}

.pricelist_text a{
	text-decoration: none;
	color: #698AAB;  
}

.pricelist_colum{
	display: flex;
	list-style: none;
	justify-content: space-brtween;
	flex-wrap: wrap;
}

.pricelist_colum li{
	width: 48%;
	border-bottom: 1px solid;
	margin:0 7px 100px;
	color: #698aab;

}

.pricelist_img{
	padding-bottom: 0px;
}

.stitch{
	margin: 50px 0px;
	width: auto;
}



.thread{
	margin: 50px 0px;
	width: auto;
	
}

.userguide{
	list-style: none;
	margin-left: 50px
}

.userguide_text{
	display: flex;
	letter-spacing: 1.5px;
	margin-bottom: 20px;
	}

.userguide_text p {
	margin: 0;
}
.userguide_text div:nth-child(1){
	position: relative;
}

.userguide_text div:nth-child(1)::after{
	content: "";
	width: 3px;
	height: 100%;
	background: #698aab;
	position: absolute;
	left: 0;
	right: 0;
	margin: auto;
	bottom: -30px;
	z-index: -1;
}
.userguide_text:last-child div:nth-child(1)::after{
	display: none;
}
.userguide_text div:nth-child(2){
margin: 7px 0 0 20px;
	
	
}


.caution_text{
	margin-left: 100px;
	margin-bottom: 200px;
}

.qa{
	margin-bottom: 200px;
}
.qa_caption{
	padding: 50px 0 0 100px;
}
.qa_text{
	margin: 100px;
    text-align: left;
}

.qa_text a{
	text-decoration: none;
	color: #698AAB; 
}

.question{
	font-weight: bold;
}

.qa-004 dt{
    display: flex;
    align-items: center;
    position: relative;
    margin: 0;
    padding: 4em 2em 1em 3.1em;
    color: #000000;
}

.qa-004 dd {
    display: flex;
    align-items: center;
    position: relative;
    margin: 0;
    padding: 1em 2em 1em 3.1em;
    color: #000000;
}

.qa-004 dt {
    font-weight: 600;
}

.qa-004 dd + dt {
    margin-top: 1em;
}

.qa-004 dt::before,
.qa-004 dd::before {
    display: inline-block;
    position: absolute;
    width: 40px;
    height: 40px;
    left: 0;
    border-radius: 50%;
    color: #fbfaf5;
    font-weight: 600;
    font-size: 1.1em;
    line-height: 40px;
    text-align: center;
}

.qa-004 dt::before {
    background-color: #698AAB;
    content: 'Q';
}

.qa-004 dd::before {
    background-color: #FFA99D;
    content: 'A';
}

.pl_10{
	padding-left:10px;
}

.ml-50{
	margin-left: 50px;
}

.mt-100{
	margin-top: 100px;
}

.contact_caption{
	padding: 50px 0 0 100px;
}

.contact_text{
	margin: 50px 0 50px 100px;
}

.contact_info1{
	margin: 100px 0 100px 100px;
}

.contact_info2 a{
	text-decoration: none;
	color: #698AAB;
}

.contact_tool{
	display: flex;
	margin: 50px 0px 50px;
}

.contact_logo{
	margin: 25px 20px 10px 100px;
	
}


.return_top{
	margin: 50px;
	font-family: Noto Sans JP;
	font-size: 90%;
	text-align: center;
}

.return_top a{
	text-decoration: none;
	color: #698AAB; 
}

#pc .footer{
	text-align: center;
	font-size: 75%;
	font-family: Noto Sans JP;
	letter-spacing: 1px;
	padding: 23px 10px 13px;
    margin: 0 auto 15px;
    border: solid 2px #f0f0f0;/*線*/
    border-radius: 40px;/*角の丸み*/
	width: 500px;
	color: #555;
}

.footer_cover{
	margin-left: 250px;
}

/*--------------------------------------*/
#pc{display:block;}
#sp{display:none;}
@media screen and (max-width:480px){
	#pc{display:none;}
    #sp{display:block;
		min-width: 320px;}
}

#sp body{
	margin: 0;
	padding: 0;
}

#sp header {
    padding:10px;
    background: #ccc;
}

#sp #nav-drawer {
    position: relative;
	left: 15px;
}

/*チェックボックス等は非表示に*/
#sp .nav-unshown {
    display:none;
}

/*アイコンのスペース*/
#sp #nav-open {
    display: inline-block;
    width: 30px;
    height: 22px;
    vertical-align: middle;
	position: relative;
	z-index: 10000;
}

/*ハンバーガーの形をCSSで表現*/
#sp #nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 3px;/*線の太さ*/
    width: 25px;/*長さ*/
    border-radius: 3px;
    background: #555;
    display: block;
    content: '';
    cursor: pointer;
}
#sp #nav-open span:before {
    bottom: -8px;
}
#sp #nav-open span:after {
    bottom: -16px;
}

/*閉じる用の薄黒箇所*/
#sp #nav-close {
    display: none;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
}

/*メニューの中身*/
#sp #nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 90%;
    max-width: 330px;/*最大幅（お好みで調整を）*/
    height: 100%;
    background: #fbfaf5;
    transition: .3s ease-in-out;
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);
}

/*チェックがついたら表示させる*/
#sp #nav-input:checked ~ #nav-close {
    display: block;
    opacity: .5;
}

#sp #nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

#sp #nav-input:checked ~ #nav-open span{
	transform: rotate(45deg);
	top: 8px;
}

#sp #nav-input:checked ~ #nav-open span::before{
	transform: rotate(-90deg);
	bottom: 0;
}

#sp #nav-input:checked ~ #nav-open span::after{
	display: none;
}

#sp .header-logo-menu{
   display: flex;
   display: -moz-flex;
   display: -o-flex;
   display: -webkit-flex;
   display: -ms-flex;
   flex-direction: row;
   -moz-flex-direction: row;
   -o-flex-direction: row;
   -webkit-flex-direction: row;
   -ms-flex-direction: row;
	position: fixed;
	z-index: 1000;
	width: 100%;
	top: 0;
	left: 0;
	background: rgba(255,255,255,.8);
	padding: 15px 0;
}

/*ロゴやサイトタイトルをセンタリング*/
#sp .logo-area{
	text-align: center;
	margin:auto;
	font-family: 'CaviarDreams','Noto Sans JP', sans-serif;
	font-weight: bold;
	display: flex;
	position: absolute;
    left: 50%;
    transform: translateX(-50%);
	letter-spacing: 0.5px;
}

#sp .logo-area a{
	color: #555;
	text-decoration: none;
}

#sp .hamburger_menu{
	list-style: none;
	color: #698AAB;
	font-family: 'CaviarDreams','Noto Sans JP', sans-serif;
}

#sp .hamburger_menu a{
	color: #698AAB;
}

#sp .maincontents{
	padding-left: 0px;
	font-size: 80%;
}

#sp .container{
	max-width: 100%;
	justify-content: center;
    position: relative;
    width: 480px;
    height: 700px;
}

#sp .image {
    position: absolute;
	width: 100%;
	opacity: 0;
	animation: change-img-anim 13s infinite;
}

#sp .image:nth-of-type(1) {
    animation: change-img-anim-first 13s infinite;
    animation-delay: 0s;
}
#sp .image:nth-of-type(2) {
	animation-delay: 3s;
}
#sp .image:nth-of-type(3) {
	animation-delay: 6s;
}
#sp .image:nth-of-type(4) {
	animation-delay: 9s;
}

 @keyframes change-img-anim-first {
	0%{ opacity:1;}
  30%{ opacity: 1;}
  36%{ opacity: 1;}
  45%{ opacity: 0;}
  100%{ opacity: 0;}
}
	
 @keyframes change-img-anim {
  0%{ opacity: 0;}
  30%{ opacity: 1;}
  36%{ opacity: 1;}
  45%{ opacity: 0;}
  100%{ opacity: 0;}
}

/*=== 9-1-4 矢印が動いてスクロールを促す  ====*/

/*スクロールダウン全体の場所*/
.scrolldown4{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	bottom:70%;
	right:90%;
    /*矢印の動き1秒かけて永遠にループ*/
	animation: arrowmove 1s ease-in-out infinite;
	z-index: 100;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@keyframes arrowmove{
      0%{bottom:1%;}
      50%{bottom:3%;}
     100%{bottom:1%;}
 }

/*Scrollテキストの描写*/
.scrolldown4 span{
    /*描画位置*/
	position: absolute;
	left:-20px;
	bottom:10px;
    /*テキストの形状*/
	color: #6E6E6E;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 矢印の描写 */
.scrolldown4:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom: 0;
    right: -6px;
    /*矢印の形状*/
    width: 1px;
    height: 20px;
    background:#6E6E6E;
    transform: skewX(-31deg);
}

.scrolldown4:after{
	content:"";
    /*描画位置*/
	position: absolute;
	bottom:0;
	right:0;
    /*矢印の形状*/
	width:1px;
	height: 50px;
	background:#6E6E6E;
}

#sp .introduction{
	text-align: center;
}

#sp .message{
	font-size: 95%;
}

#sp .message2{
	font-size: 95%;
}

#sp .column2{
	column-count: 2;
	list-style: none;
	margin: 0;
	padding: 0;
	justify-content: space-around;
	flex-wrap: wrap;
	align-items: center;
	display: flex;
	width: 240px;
	height: 240px;
	margin: auto;
}

#sp .column3{
	column-count: 2;
	list-style: none;
	margin: 0;
	padding: 0;
	justify-content: space-around;
	flex-wrap: wrap;
	align-items: center;
	display: flex;
	width: 239px;
	height: 700px;
	margin: auto;
}

#sp .top_menu{
	justify-content: center;
	padding: 0;
	justify-content: space-around;
	margin: 50px ;
	margin-top: 80px;
}


#sp .menu_box{
	padding: 0px 0 90px 0;
	
}

#sp .left_space{
	margin: 0;
}

#sp .concept{
	display: block;
	margin: 0 auto;
}

#sp .concept_text{
	text-align: center;
    padding: 0;
}

#sp .concept_img{
	justify-content: center;
}

#sp .linecoupon{
    text-align: center;
	margin-bottom: 150px;
}

#sp .linecoupon_img{
	margin-bottom: 10px;
}

#sp .sp_caption{
	text-align: center;
	
}


#sp .works .column{
	column-count: 2;
	list-style: none;
	margin:0 auto;
	padding:0 auto;
}


#sp .item_name{
	margin: 0;
}


#sp .contact_tool{
	margin: 0;
}

#sp .contact_logo {
    margin: 20px 10px 120px;
}


#sp .profile{
	display: block;
}

#sp .profile_caption{
	margin: 0;
	padding-top: 50px;
}


#sp .profile_text{
	padding: 0;
	text-align: center;
}

#sp .profile_img{
	text-align: center;
}

#sp .atelier{
	display: block;
}

#sp .atelier_caption{
	margin: 0;
	padding: 0;
}

#sp .atelier_text{
	text-align: center;
	margin: 0;
	padding: 0;
}

#sp .atelier_img{
	justify-content: center;
}

	

@media screen and (max-width: 480px){
   #sp .slide-wrap{
      display: flex;
      overflow-x: scroll;
      -webkit-overflow-scrolling: touch;
      overflow-scrolling: touch;
      scroll-snap-type: x mandatory;
      padding:0 0 1em;
      scroll-behavior: smooth;
   }
	
   #sp .slide-wrap .slide-content {
      height:100%;
      flex: 0 0 88%;
      margin: 0px 5px;
      scroll-snap-align:center;
   }
}

.box2 {
    padding: 0.5em 1em;
    margin: 2em 0;
    font-weight: bold;
    border: solid 2px #698aab;/*線*/
    border-radius: 20px;/*角の丸み*/
	text-align: center;
	font-family: 'CaviarDreams', sans-serif;
	width: 150px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 150px;
}

.box2 p {
    margin: 0; 
    padding: 0;
}

.box2 a{
		text-decoration: none;
	color: #698AAB; 
}

#sp .pricelist_caption{
	text-align: center;
}

#sp .pricelist_colum{
	column-count: 1;
	list-style: none;
	justify-content: center;
	padding: 0;
	margin: 0 auto;
}

#sp .left_space{
	padding: 0px;
}

#sp .stitch{
	margin: 50px 0px;
	width: auto;
}

#sp .thread{
	margin: 50px 0px;
	width: auto;
}

#sp .caption{
	font-size: 350%;
	text-align: center;
	margin-top: 100px;
}

#sp .caption2{
	text-align: center;
	letter-spacing: 1px;
	margin-bottom: 10px;
}

#sp .pricelist_img{
	margin: 0 auto;
	text-align: center;
}

#sp .pricelist_text{
	font-size: 100%;
	margin: 100px auto;
}

#sp .pricelist_colum li {
    width: 80%;
    border-bottom: 1px solid;
    margin: 0 auto;
    color: #698aab;
}

#sp .pricelist2{
	text-align: center;
	margin-bottom: 100px;
		
}

#sp .pricelist2 .column{
	margin: 0;
	padding: 0;
	
}
#sp .pricelist2_btn{
	color: #698aab;
	padding: 0;
	margin: 0;
	text-align:center;
}

#sp .pricelist2_btn a{
	display: block;
	width: 80px;
	text-decoration: none;
    color: #698AAB;
}
	
#sp .pricelist2_btn img{
	width: 100%;
	height: auto;
}

#sp .link_margin{
	padding-top: 120px;
	margin-top: -120px;
}

#sp .link_margin2{
	padding-top: 1px;
	margin-top: -1px;
}

#sp .example2{
    display: block;
    background: #cfe3f0;
    width: 300px;
    padding-bottom: 5px;
}
#sp .example2 img{
    width: 100%;
    height: auto;
}
#sp .example2 div{
    text-align: center;
}

#sp .qa_text{
	margin: 50px 30px 100px;
}

#sp .qa_caption {
    padding: 0;
	margin-top: 50px;
}

#sp .qa-006 {
    max-width: 500px;
    margin-bottom: 5px;
    border-bottom: 2px solid #f0f0f0;
}

#sp .qa-006 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #000000;
    font-weight: 600;
    cursor: pointer;
}

#sp .qa-006 summary::before,
#sp .qa-006 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

#sp .qa-006 summary::before {
    color: #698AAB;
    content: "Q";
}

#sp .qa-006 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #777;
    border-right: 3px solid #777;
    content: '';
    transition: transform .5s;
}

#sp .qa-006[open] summary::after {
    transform: rotate(225deg);
}

#sp .qa-006 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

#sp .qa-006[open] p {
    transform: none;
    opacity: 1;
}

#sp .qa-006 p::before {
    color: #FFA99D;
    line-height: 1.2;
    content: "A";
}

#sp .contact_caption {
	padding: 0;
	margin-top: 50px;
}

#sp .contact_info1 {
    margin: 50px 30px 50px;
	text-align: center
}

#sp .userguide {
    list-style: none;
    margin-left: 0px;
	padding: 10px;
	
}

#sp .caution_text {
    margin:50px 30px;
    margin-bottom: 100px;
}

#sp .nu_logo{
	text-align: center;
	margin:15px 0 10px 0;
}

#sp .footer{
	margin: 0;
	padding: 50px 0 15px;
	letter-spacing: 0.5px;
	font-size: 20%;
	position: relative;
	z-index: 0;
	overflow: hidden visible;
	color: #555
}

#sp .footer::after{
	border: 300px solid transparent; /* 三角形の元となる指定（一旦全て透過にする） */
    border-bottom-color: #F0F0F0; /* 作成したい三角形に合わせて１辺の色をつける */
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%; /* 中央寄せに使用 */
	transform: translateX(-50%);
	z-index: -1;
}

#sp .follwme_footer{
	text-align: end;
}

#sp .menu_box_footer{
	display: flex;
	justify-content: center;
	margin: 0;
	align-items: center;
}

#sp .menu_box_footer ~ p {
	margin: 0;
}

#sp .navigation_sp{
	display: flex;
	margin-top: 10px;
	margin-left: 5px;
}

#sp .copyright{
	margin: 0;
	letter-spacing: 0;
}

#sp .footer .footer_navi {
	text-align: center;
}

#sp .footer .footer_logo{
	text-align: center
}

#sp .footer .copyright{
	text-align: center;
	font-size: 10px;
}
 



