f@charset "utf-8";

/* android対策 */
/*p { background-image: url(../images/pix.gif); }*/

@media screen and (max-width: 1390px) {
    .slider1_text p {
        font-size: 2.9rem;
    }
}


/*--------------------------------------------------------
★レスポンシブ■タブレット対応
--------------------------------------------------------*/

@media screen and (max-width: 1280px) {
	/* layout */
	html{
		width: 1280px;
	}
	body {
		width: 1280px;
		overflow-x: hidden;
	}

	/* header */
	header{
		display: block;
		width: 1280px;
	}
	article{
		position: relative;
		display: block;
		width: 1280px;
	}
	footer{
		width: 1280px;
	}
}

/*--------------------------------------------------------
★レスポンシブ■ヘッダ部分
--------------------------------------------------------*/
@media screen and (min-width: 481px) {
	.pc_none{
		display: none!important;
	}
}
@media screen and (max-width: 480px) {
	/* header */
	header{
		max-width: 480px;
		width: 100%;
		height: auto;
		border-top: none;
		top: 0;
		padding: 50px 0 0;
		border: 0;
        background: #fff;
	}
	header .wrapper{
		width: 100%;
		padding: 0;
	}
    #header_logo a{
        left: 5.33333vw;
        position: absolute;
        width: auto;
        height:auto;
        left: 6.5vw;
        transform-origin: top left;
        box-shadow: 0 0 5px rgba(0,0,0,.5);
    }
    #header_logo a:hover{
        opacity: 1;
    }
    #header_logo span{
        background-image:url(../images/logo_sp.svg);
        height: auto;
        width: 70px;
        height:160px;
        background-position: center;
        -webkit-background-size: auto;
        background-size: auto;
    }
    #header_logo .fixed{
        -webkit-transform: scale(0.6, 0.6);
        transform: scale(0.6, 0.6);
    }
    #gnav,
    #header_contact{
        display: none;
    }
    #header_logo{
        position: fixed;
        display: inline-block;
        width: 100%;
        height: 50px;
        left: 0;
        background: #FFF;
        z-index: 10;
        box-shadow: 0 0 5px rgba(0,0,0,.7);
        box-sizing: border-box;
    }

    #sp_mail, #sp_tell {
        width: 50px;
        height: 51px;
        position: fixed;
        text-align: center;
        z-index: 10;
        position: absolute;
    }
    #sp_mail span, #sp_tell span {
        position: absolute;
        line-height: 1;
        bottom: 3px;
        left: 0;
        right: 0;
        margin: auto;
        font-size: 1rem;
        color: #fff;
    }
    #sp_tell{
        display: block;
        top: 0;
        right: 100px;
        z-index: 10;
        background:#594255 url(../images/tell_w.svg) no-repeat top 14px center;
        -webkit-background-size: 16px auto;
        background-size: 16px auto;
    }
    #sp_mail{
        background: #A07D37 url(../images/mail_w.svg)  no-repeat top 15px center;
        -webkit-background-size: 20px auto;
        background-size: 20px auto;
        right: 50px;
    }
    footer{
        width: auto;
    }

	/* スマホ用メニュー */
	.index #wrapper {
		overflow: hidden;
		min-width: 20pc;
		height: auto;
		padding: 0;
	}
	.drawer .contents {
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
	}
	.drawer #navTgl:checked~.contents {
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.index #navTgl {
		display: none;
		overflow: hidden;
	}
	.drawer label.pc_none {
		cursor: pointer;
		position: fixed;
		top: 0;
		right: 0;
	}
    .drawer label.pc_none span{
        font-size: 1rem;
        position:absolute;
        bottom: 4px;
        left: 2px;
        right: 0;
        margin: auto;
        line-height: 1;
    }
	.drawer .open{
		z-index: 101;
		width: 50px;
		height: 51px;
		color: #fff;
        background:#9f282e;
		font-size: 2em;
		line-height: 42px;
		text-align: center;
		-webkit-transition: background-color 0.6s,-webkit-transform 0.6s;
		transition: background-color 0.6s,transform 0.6s;
	}
	.index #navTgl:checked+.open {
		color: #FFF;
        
		-webkit-transform: translateX(-250px);
		transform: translateX(-250px);
	}
	.drawer .close {
		pointer-events: none;
		z-index: 1;
		width: 100%;
		height: 100%;
		transition: background-color 0.6s;
	}
	.drawer #navTgl:checked~.close {
		pointer-events: auto;
		background-color: rgba(0,0,0,.3);
		z-index: 2;
	}
	.menu{
		z-index: 20;
		position: fixed;
		overflow: auto;
		top: 0;
		right: 0;
		width: 250px;
		height: 100%;
		padding: 10px;
        background:url(../images/bg_r.jpg); 
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: -webkit-transform 0.6s;
		transition: transform 0.6s;
		box-sizing: border-box;
	}
	.index #navTgl:checked~.menu {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	.menu li a{
		position: relative;
		color: #fff;
        font-weight: 600;
        display: block;
        padding: 1em 2em .9em;
        text-decoration: none;
        transition: background-color 0.6s;
	}
	.menu li a.arrow_d:after{
		content: "＞";
		position: absolute;
		display: block;
		font-size: 10px;
		height: 10px;
		top: 0;
		right: 1.5em;
		bottom: 0;
		margin: auto 0;
		transform: rotate(90deg);
	}
	.menu ul{
		padding: 0;
	}
	.menu li{
		position: relative;
		border-bottom: 1px solid rgba(255,255,255,.4);
		font-size: 0.9em;
		line-height: 1.4;
	}
	.menu li a:hover {
	}
/*
	.menu li ul{
		background: rgba(122,206,153,.9);
	}
	.menu li ul li:last-child{
		border-bottom: 0;
	}
*/
    /* swiper */
    .slider1_wrapper{
        width: 100%;
    }
    .slider1 .swiper-slide{
        max-height: 424px;
    }
    .slider1_text{
        margin-right: 11.6%;
        padding:110px 4% 0;
        max-height: 424px;
        margin-left: 11%;
        width: auto;
    }
    .slider1_text p {
        font-size:1.4rem;
    }
    .slider1_text p:nth-of-type(3){
       
    }
    .slider1_text p:nth-of-type(2){
        margin-top:10vw;
    }
    .swiper-slide{
        position: relative;
    }
    .slider2 .swiper-slide{
        margin-right: 0px;
    }
}
	
/*--------------------------------------------------------
★レスポンシブ■スマホ表示切替ボタン
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		position: fixed;
		display: block;
		width: 30%;
		height: auto;
		z-index: 100;
		font-size: 12px;
		padding: 8px 2px;
		border-radius:8px;
        background: #a07d37;
        box-shadow: 0 0 2px rgba(0,0,0,.5);
		text-align: center;
		color: #FFF;
		text-decoration: none;
        bottom: 20px;
		left: 12px;
		z-index: 99!important;
	}
}
@media screen and (min-width: 481px) {
	#switch{
		display: none;
		height: 0;
	}
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		display: none;
	}
}

@media screen and (min-width:1021px) {
	#switch{
		display: block;
		height: auto;
	}
	li a#btnPC{
		display: none;
	}
	li a#btnSP{
		position: fixed;
		display: block!important;
		width: 250px;
		height: auto;
		z-index: 100;
		font-size: 2.5rem;
		padding: 8px;
		text-align: center;
		border-radius: 22px;
        background: #103A52;
		box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
		color: #FFF;
		text-decoration: none;
		bottom: 50px;
		left: 20px;
		z-index: 99999999!important;
	}
}
@media screen and (min-width: 1023px) {
	#switch{
		display: none;
		height: 0;
	}
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		display: none;
	}
}


/*--------------------------------------------------------
★レスポンシブ■コンテンツ部分
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	html{
		max-width: 480px;
		width: 100%;
		-webkit-text-size-adjust: 100%!important;
		overflow-x: hidden;
	}
	body {
		max-width: 480px;
		min-width: 320px;
		width: 100%;
		overflow-x: hidden!important;
		box-shadow: none;
		font-size: 16px;
		line-height: 1.8;
		letter-spacing: .04em;
		-webkit-text-size-adjust: 100%!important;
	}

	/* layout
	------------------------------ */
	.wrapper{
		max-width: 480px;
		width: 92%;
		margin: 0;
		padding: 0 4%;
	}
	
	/* Common
	------------------------------ */
	.sp_none{
		display: none!important;
		z-index: 0;
	}
	article{
		width: 100%;
		overflow: hidden;
	}
	.fl_l,.fl_r{
		clear: both;
		float: none;
	}

	/* main_contents
	------------------------------ */
    #greeting, #feature, #store, #product,#service,#repair,#contact,.sub .main_contents section{
        padding: 15% 0;
    }
    .iphone #greeting,.iphone #feature,.iphone #product,.iphone #repair,.iphone #contact,
    .ipad #greeting,.ipad #feature,.ipad #product,.ipad #repair,.ipad #contact{
        background-attachment: initial;
    }
    .iphone #product{
        background-size: auto;
        -webkit-background-size: auto;
        background-repeat: repeat;
    }
    .main_contents h3{
        font-size: 5.2vw;
    }
    .main_contents{
        text-align: left;
    }
    .main_contents h2+p {
        text-align: left;
        margin-bottom: 8%;
    }
    /* greeting
    ------------------------------ */
    #greeting .vertical{
        writing-mode:horizontal-tb;
        -ms-writing-mode:lr-tb;
        -webkit-writing-mode:horizontal-tb;
    }
    #greeting .vertical h4{
        font-size: 4.2vw;
        margin:0 0 20px;
    }
    #greeting .vertical .font_up{
        margin-left:-.6em;
    }
    #greeting .vertical .font_up,
    #greeting .vertical .font_up2{
        margin-top: 0;
    }
    #greeting .vertical p{
        margin: 0 0 1em;
    }
    #greeting .vertical p:last-of-type{
        margin: 0;
        text-align: right;
    }
    #greeting #instagram{
        height: 250px;
        overflow: hidden;
    }
    #greeting #instagram h2{
        font-size: 1.8rem;
    }
    #greeting #instagram::after{
        width: 26.0vw;
        height: 26.0vw;
    }

    /* news
    ------------------------------ */
    #news {
        padding: 30px 2% 80px;
    }
    #news .red_border {
        width: 90%;
        padding: 2%;
        margin: 15px auto;
    }
    #news h2 {
        margin-bottom: 20px;
    }
    #news .date {
        font-size: 1.8rem;
    }

    #feature li:nth-of-type(2) div:nth-of-type(2){
        float: none;
    }
    #feature li:first-of-type div:first-of-type,
    #feature li:nth-of-type(2) div:nth-of-type(2),
    #feature li:nth-of-type(3) div:first-of-type{
        margin-top: 0;
    }
    /* feature
    ------------------------------ */
    #feature li{
        margin-bottom: 6%;
    }
    #feature li div {
        width: 100%;
        min-height: auto;
    }
    #feature li div:nth-of-type(2n) {
        padding: 6% 4%;
    }
    #feature h3 {
        margin-bottom: 4%;
    }
    /* store
    ------------------------------ */
    #store .detail {
        margin-top: 6%;
    }
    #store .fl_r,#store .fl_l{
        width: auto;
    }
    #store .fl_r{
        margin-bottom: 4%;
    }
    #store table span{
        display: inline-block;
    }
    #store .sns{
        text-align: center;
    }
    #store .line, #store .instagram{
        width:60px;
        height:60px;
    }
    #store .map .map1_1,
    #store .map .map1_2{
        margin-bottom: 4%;
    }
    #store .map .map2{
        width: 100%;
        margin-right:0;
        margin-bottom: 4%;
    }
    #store .map_text {
        margin-right: 0;
    }
    #store .map .map_text h4{
        font-size: 1.8rem;
        text-align: left;
        padding: 2% 4%;
    }
    #store .map h3{
        margin-top: 6%;
    }
    #store .map .caution{
        margin-bottom: 4%;
    }
    /* product
    ------------------------------ */
    #product h3{
        writing-mode:horizontal-tb;
        -ms-writing-mode:lr-tb;
        -webkit-writing-mode:horizontal-tb;
        position:initial;
        height: auto;
        padding: 4%;
    }
    #product .wrapper>div {
        padding: 0;
    }
    #product ul{
        padding: 8% 4% 0;
    }
    #product li{
        width: auto;
        margin-right: 0;
        margin-bottom: 15%;
    }
    #product li div{
        max-height: 200px;
        overflow: hidden;
    }
    #product .other{
        padding:0 4% 4%;
    }
    /* service
    ------------------------------ */
    #service li{
        width: auto;
        margin-right: 0;
        margin-bottom: 15%;
    }
    #service h3{
        display: block;
    }
    #service li:nth-last-child(2){
        margin-bottom: 15%;
    }
    #service li:last-of-type p span:first-of-type {
        width: auto;
        margin-right: 1em;
    }
    /* repair
    ------------------------------ */
    #repair table{
        width: 100%;
        margin-bottom: 10%;
        background: rgba(255, 255, 255, .7);
    }
    #repair .tailoring2 div:last-of-type table{
        margin-bottom: 0;
    }
    #repair .tailoring table{
        width: auto;
        font-size: 1.6rem;
    }
    #repair .tailoring .bg_b th:first-of-type {
        width: 48%;
    }
    #repair th,#repair td{
        padding:2%;
        line-height: 1.6;
    }
    #repair tr,#repair th,#repair td,#repair .tailoring td:first-of-type{
        border-color: #a07d37;
        border-width:1px;
    }
    #repair .bg_b th{
        font-size: 1.4rem;
        line-height: 1.4;
    }
    #repair .tailoring,
    #repair .tailoring2 .crest {
        margin-bottom: 0;
    }
    #repair .tailoring2>div {
        width: 100%;
        margin-right: 0;
    }
    #repair .tailoring2 .flex {
        display: block;
    }
    #repair .tailoring2 tr th.flex {
        display: flex;
        padding: 4%;
    }
    
    /* contact
    ------------------------------ */
    #contact01, #contact02{
        width:100%;
        height:auto;
        padding:4%;
    }
    #contact01 h4 {
        margin:6% 0 5%;
        font-size:3rem;
    }
    #contact01 .tell{
        margin-bottom:2%;
    }
    #contact02 .qr{
        margin:0 0 4%;
    }
    #contact02 .qr p {
        margin-bottom:2%;
    }
    #contact h3 {
        line-height:1.4;
    }
    #contact02 h3 {
        margin-bottom:8%;
    }
    #contact03 {
        padding:4%;
        margin-bottom:4%;
    }
    #contact03 h3{
        margin-bottom: 3%;
    }
    #contact .img {
        width: 60%;
        margin: 6% auto;
    }
    #mailformpro table {
        width: 100%;
    }
    #mailformpro table th,#mailformpro table td {
        display: block;
        text-align: left;
        width: 100%;
        }
    #mailformpro table th{
        border: 0;
        padding: 3% 4%;
    }
    #mailformpro table td{
        padding:4%;
        margin-bottom: 2%;
    }
    #mailformpro .address input:first-of-type {
        width: 40%!important;
    }
    #mailformpro textarea {
        height: 180px;
    }
    #privacy_policy {
        width: auto;
        padding:6% 4%;
        margin: 4% 0 6%;
    }
    #privacy_policy h4 {
        font-size: 2rem;
        margin-bottom: 3%;
    }
    #privacy_policy h5{
        margin: 3% 0;
    }
    #mailformpro .btn button{
        padding: 3% 15%;
    }
    #mailformpro .must, #mailformpro .any{
        top: 7px;
    }
    /* footer
    ------------------------------ */
    footer .footer_bg {
        padding: 10% 0;
    }
    #footer_logo {
        margin-right: 0;
        margin-top: 0;
    }
    #copyright{
        padding: 2% 0 18%;
    }
    /* thanks
    ------------------------------ */
    #thanks h3{
        line-height: 1.4;
    }
    #thanks .wrapper>h3 {
        text-align: left;
    }
    #thanks .wrapper {
        width: 92%;
    }
	/* page top */
	.pagetop {
		bottom: 10px;
		right: 12px;
	}
}
@media screen and (max-width: 435px) {

}
@media screen and (max-width: 330px) {
    .slider1_text{
        padding-top: 100px;
    }
}
