

/*========================================================================
//
// 共通（フォントサイズなど）
//
//========================================================================*/


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width:761px) {
	html, body {
		height: 100%;
		/* iPhone 6,7,8,x を基準に */
		font-size: calc(100vw / 37.5);
	}
	article {
		/* overflow: hidden; */
	}
	
	.wrapper {
		padding: 0 6%;
	}

	.pc_contents {
		display: none;
	}
}





/*========================================================================
//
// ヘッダー関連
//
//========================================================================*/


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width: 761px){
	
	header{
		position: absolute;
		left:0;
		top:0;
		width:100%;
		z-index:900;
	}
	
	#ci_wrap{
		width: 100%;
	}
	
	
	#ci {
		width: 30%;
		margin: 16px 0 0 18px;
	}
    
    #ci_wrap .s_name {
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 1.3rem;
		line-height: 120%;
		letter-spacing:0.3rem;
		color:#000;
		position: absolute;
		top: 18px;
		left: 56%;
		transform: translate(-50%,0);
		white-space: nowrap;
	}

	#ci_wrap .s_name span{
		display:block;
		font-family: 'Roboto', sans-serif;
		font-weight:800;
		font-size: 1.4rem;
		letter-spacing:0;
		line-height:100%;
		color:#a8acbe;
		white-space: nowrap;
		position:relative;
	}

	#ci_wrap .s_name span:before{
		content: "";
		display: block;
		width: 1px;
		height: 31px;
		background:#676767;
		position: absolute;
		top: 0px;
		left: -11px;
	}

	.home #ci{
		filter: brightness(0) invert(1);
	}

	.home #ci_wrap .s_name {
		color:#fff;
	}

	.home #ci_wrap .s_name span{
		color:#bec1cf;
	}

	.home #ci_wrap .s_name span:before{
		background:#b2b2b2;
	}
	
	/* head_r_navi start　------------------ */

	#head_r_navi{
		display: none;
	}

	/* head_r_navi end　------------------ */
	
	
	/* head_navi(グローバルナビ) start　------------------ */
	
	#head_navi{
		display: none;
	}

	/* head_navi(グローバルナビ)  start　------------------ */

}




/* ============================================================
 	fix search
==============================================================*/


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width:761px) {

	/************************************
	form
	*************************************/

	/*
	reset
	***********************/

	button,
	option,
	select,
	textarea,
	input[type="button"],
	input[type="submit"],
	input[type="number"],
	input[type="email"],
	input[type="tel"],
	input[type="text"],
	input[type="select"],
	input[type="option"],
	input[type="checkbox"] {
		-webkit-appearance: none;
		-moz-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-webkit-border-radius: 0;
		-moz-border-radius: 0;
		-ms-border-radius: 0;
		border-radius: 0;
		border: none;
		outline: 0;
		margin: 0;
		background: #fff;
	}

	.search_wrap{
		position: absolute;
		right: 0;
		bottom: 0px;
		z-index: 9000;
		width: 100vw;
		box-sizing: border-box;
		/* border-top: 1px solid #ccc; */
		background: #fff;
		box-shadow: 0 0 6px 0 rgb(0 0 0 / 20%);
	}

	.search_wrap form{
		display:flex;
		justify-content:space-between;
		padding: 0 0 0 10px;
	}

	.search_wrap form label{
		display:block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 500;
		font-size: 1.2rem;
		letter-spacing: 0rem;
		line-height:100%;
		padding: 15px 10px 0 0;
		color:#384a8f;
		white-space: nowrap;
		/* cursor:pointer; */
	}

	.search_wrap form select{
		border-top:none;
		border-left:none;
		border-right:none;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		font-size: 1.4rem;
		padding: 0 43px 0 0;
		margin: 0 0 2px;
		background:none;
		cursor:pointer;
		position:relative;
	}

	.form-select{
		position:relative;
		display: flex;
	}

	.form-select:after {
		position: absolute;
		display: block;
		content: '';
		width: 0;
		height: 0;
		border-left: 4px solid transparent;
		border-bottom: 4px solid transparent;
		border-right: 4px solid transparent;
		border-top: 4px solid #333;
		bottom: 15px;
		right: 0;
		margin-top: -3px;
		pointer-events: none;
	}


	.search_wrap form a{
		display:block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		background:#384a8f;
		color:#fff;
		font-size: 1.3rem;
		letter-spacing:0.1rem;
		line-height:100%;
		padding: 15px 23px 16px;
		white-space: nowrap;
		transition: all 0.5s cubic-bezier(0, 0, 0.04, 1.01) 0s;
	}


}



/*========================================================================
//
// Page Top 固定ボタン
//
//========================================================================*/


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width: 761px){
	.pagetop{
		position: fixed;
		right: -68px;
		bottom: 0;
		z-index: 9001;
		transition: all 0.8s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}
	
	.pagetop_act{
		right: -18px;
	}

	.pagetop li a{
		display:block;
		background: #000 url(/archi_design/global/img/arrow_w2.png) no-repeat 15px center;
		background-size: 14px auto;
		width: 60px;
		height: 44px;
		transform: translate(0,0);
		transition: all 0.4s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}
}




/*========================================================================
//
// ハンバーガーメニュー
//
//========================================================================*/


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width:761px) {
	
	/* Menu ボタン　----------------------------- */
	#drawer-icon {
		background:#000;
	  position: fixed;
	  cursor: pointer;
	  display: inline-block;
	  height: 60px;
	  width: 60px;
	  top: 0;
	  right: 0;
	  z-index:9999;
	  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	#drawer-icon:after{
		content: "MENU";
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
		font-size: 1.1rem;
		letter-spacing: 1px;
		line-height: 100%;
		color: #fff;
		margin: 39px 0 0 0;
		text-align:center;
		display: block;
	}
	#drawer-icon span {
	  background:  #fff;
	  border-radius: 4px;
	  display: block;
	  height: 2px;
	  position:absolute;
	  top: 40%;
	  left: 50%;
	  -webkit-transform:translate(-50%, -50%);
	  transform:translate(-50%, -50%);
	  transition: all 0.3s ease-in-out;
	  width: 22px;
	}
	#drawer-icon span::before,
	#drawer-icon span::after {
	  background: #fff;
	  border-radius: 2px;
	  content: "";
	  display: block;
	  height: 100%;
	  position:absolute;
	  top: 50%;
	  left: 0;
	  -webkit-transform:translate(-50%, -50%);
	  transform:translate(-50%, -50%);
	  transform: rotate(0);
	  transition: all 0.3s ease-in-out;
	  width: 22px;
	}
	#drawer-icon span::before {
	  margin-top: -30%;
	}
	#drawer-icon span::after {
	  margin-top: 24%;
	}

	#drawer-icon.fix{
		background:#000;
	}
	
	
	/* CLOSE ボタン　----------------------------- */
	#drawer-close-icon {
	  position: absolute;
	  cursor: pointer;
	  display: inline-block;
	  height: 60px;
	  width: 60px;
	  top: 4px;
	  right: 5px;
	  z-index:9999;
	  /* transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1); */
	}
	#drawer-close-icon:after{
		content: "CLOSE";
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
		font-size: 1.0rem;
		letter-spacing: 1px;
		line-height: 100%;
		color: #a5a5a5;
		margin: 44px 0 0 0;
		text-align:center;
		display: block;
	}
	#drawer-close-icon span {
	  display: block;
	  height: 100%;
	  position: absolute;
	  top: 43%;
	  left: 50%;
	  transform:translate(-50%, -50%);
	  width:100%;
	}
	
	#drawer-close-icon span::before,
	#drawer-close-icon span::after {
	  content: "";
	  background: #a5a5a5;
	  display: block;
	  height: 2px;
	  width: 26px;
	  position: absolute;
	  top: 50%;
	  left: 30%;
	  transform:translate(-50%, -50%);
	}
	#drawer-close-icon span::before {
			  transform: rotate(-45deg);
	}
	#drawer-close-icon span::after {
			  transform: rotate(45deg);
	}
	
	
	/* メニューエリア　----------------------------- */
	
	#drawer-content {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 10001;
		width: calc(100vw*0.8);
		max-width: 90%;
		height: 100%;
		background: rgba(0, 0, 0, 0.9);
		transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
		transform: translateX(100%);
	}

	#drawer-content.act {
		overflow-y: auto;
		transform: translateX(0);
		box-shadow: 6px 0 25px rgba(0, 0, 0, 0.16);
	}
	
	#drawer-content-inner{
		width: 100%;
		  height: 100%;
		  overflow-y: auto;
	}

	#drawer-close {
	  display: none;
	  cursor: pointer;
	  position: fixed;
	  z-index: 10000;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  transition: all 0.3s ease-in-out 0s;
	}
	#drawer-close.act {
	  display: block;
	}
	

	/*ボタン*/
	.no_accordion_btn_wrap{
		padding: 13px 0 13px 14px;
	}
	.no_accordion_btn_wrap li{
		border: 1px solid #3f3e41;
		line-height:0;
		float: left;
	}
	.no_accordion_btn_wrap li:last-child{
		border: 1px solid #384a8f;
	}
	.no_accordion_btn_wrap a{
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
		font-size: 1.4rem;
		padding: 18px 12px 16px;
		letter-spacing:1px;
		line-height:100%;
		display: block;
		color :#9c9c9c;
		position:relative;
	}

	.no_accordion_btn_wrap a span{
		display: block;
		position: absolute;
		width: 15px;
		opacity: 0.6;
		left: 15px;
		top: 42%;
		transform:translate(0, -50%);
	}
	
	.no_accordion_btn_wrap > li:nth-child(2) a{
		background: #384a8f;
		font-weight: 300;
		padding: 17px 16px 17px 36px;
		line-height: 100%;
		color:#e7e9ef;
	}

	.no_accordion_btn_wrap > li:nth-child(2){
		margin: 0 0 0 8px;
	}

	
	

	/*アコーディオン*/


	input.accordion {
		display: none;
	}


	.accordion_btn_wrap li a{

		font-size: 1.4rem;
		display:block;
		color: #ffffff;

		opacity: 0.6;
		padding: 10px 0 9px 32px;
		position:relative;
	}

	.accordion_btn_wrap > li:first-child{
		padding: 18px 0 0;
	}
	
	.accordion_btn_wrap > li:last-child{
		padding: 0 0 18px;
	}

	.accordion_btn_wrap li a:before{
		position:absolute;
		content:"";
		top: 46%;
		left: 19px;
		width: 4px;
		height: 4px;
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
		transform: rotate(45deg);
	}
	
	
	/* ac BTN */
	.menu_ac_wrap li {
		border-top: 1px solid #2c2c2d;
	}
	.menu_ac_wrap li a{
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
		font-size:1.4rem;
		display: block;
		letter-spacing:0.2rem;
		padding: 16px 0 18px 22px;
		position: relative;
		color: #bfbfbf;
	}

	.menu_ac_wrap li a span{
		display:block;
		width:10px;
		opacity: 0.5;
		position:absolute;
		left: 20px;
		top: 55%;
		transform:translate(0, -50%);
	}

	
	.menu_ac_wrap li a:before{
		position:absolute;
		content:"";
		top: 50%;
		right: 20px;
		width: 12px;
		transition: all 0.5s ease 0s;
		border-top: 1px solid #888888;
		transform: rotate(0);
	}
	
	.menu_ac_wrap li a:after{
		position:absolute;
		content:"";
		top: 50%;
		right: 20px;
		width: 12px;
		transition: all 0.5s ease 0s;
		border-top: 1px solid #888888;
		transform: rotate(90deg);
	}
	
	.menu_ac_wrap li a.no_plus:before,
	.menu_ac_wrap li a.no_plus:after
	{
		border-top:none;
	}

	.menu_ac_wrap:last-of-type a{
		padding: 30px 0 18px 39px;
		color: #818181;
	}
	

	
	/* ac BTN active */

	
	.menu_ac_wrap li a.active{
		background: #000000;
	}
	
	
	.menu_ac_wrap li a.active:before{
		transform: rotate(180deg);
	}
	.menu_ac_wrap li a.active:after{
		transform: rotate(360deg);
	}
	
	.menu_ac_contents{
		/* padding: 16px 0; */
		background: rgba(100,100,110,0.45);
	}
	
	
	.scroll-prevent {
	  /*動き固定*/
	  position: fixed;
	  /*奥行きを管理*/
	  z-index: -1;
	  /*下2つで背景を元のサイズのまま表示することができる*/
	  width: 100%;
	  height: 100%;
		top: 0;
  		right: 0;
	}
}


/*========================================================================
//
// フッター関連
//
//========================================================================*/


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/




@media (max-width:761px) {
	.info_btn_wrap{
		margin:-5px 0 0;
    }

    .info_btn_box li{
		background: #384a8f;
		position:relative;
	}

    .info_btn_box a{
		display:block;
		background: url(/archi_design/global/img/btn_arrow.svg) no-repeat;
		background-position: top 49% right 14%;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:400;
		font-size: 1.7rem;
		letter-spacing: 0.24rem;
		line-height: 140%;
		color:#fff;
		padding: 30px 0 30px 20%;
		position:relative;
		transition: all 0.4s cubic-bezier(0, 0, 0.13, 1.01) 0s;
	}

	.info_btn_box a p{
		display: inline-block;
		position:relative;
	}
	.info_btn_box a span.icon{
		display:inline-block;
		width: 16px;
		position:absolute;
		left: -23%;
		top: -6px;
	}
	.info_btn_box a span.s_txt{
		font-family: 'Noto Sans JP', sans-serif;
		display:block;
		font-size: 1.4rem;
		letter-spacing: 0.1rem;
		padding:0 0 0 26px;
	}

	.info_btn_box li:before{
		content: "";
		display: block;
		width: 0;
		height: 100%;
		background:#000;
		position: absolute;
		top:0;
		left:0;
		transition: all 0.5s cubic-bezier(0, 0, 0.13, 1.01) 0s;
	}
	


	footer{
		background:#fff;
	}
	
	/* f_site_map start */
	#f_site_map{
	}
	

    /* f_copyright_wrap start */
    #f_copyright_wrap{
    	background: #282a2f;
    	padding: 32px 0 32px;
    }

    #f_copyright_wrap .wrapper{
    	width: 100%;
    	padding: 0 12%;
    	box-sizing: border-box;
    	/* display:flex; */
    	/* justify-content:space-between; */
    }

    #f_copyright_wrap p{font-family: 'Roboto', sans-serif;font-weight:300;letter-spacing:0.1rem;font-size: 1.0rem;color:#fff;text-align: left;line-height: 140%;padding: 0 0 7px;}

    #f_copyright_wrap ul{
    	display:flex;
    }

    #f_copyright_wrap a{
    	display:block;
    	color:#fff;
    	letter-spacing:0.1rem;
    	font-size:1.25rem;
    	padding: 0 13px;
    	transition: all 0.8s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
 }



    #f_copyright_wrap li{
    	border-right:1px solid #595b61;
    }

    #f_copyright_wrap li:first-child{
    	border-left:1px solid #595b61;
    }
 

	
}



/*========================================================================
//
// GDPR Cookie
//
//========================================================================*/


/*********  SP iPhone6以上（画面の横幅が761pxまで） ************/

@media (max-width:761px) {
	.g-gdpr {
        width: 80%;
        padding: 30px 10%;
        justify-content: center;
        align-items: center;
        background: rgba(0,0,0,.75);
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 10000;
        backdrop-filter: blur(15px);
        transition: 1s;
        transform: translateY(100%);
        animation: anime-gdpr 1s both 2s;
    }
    
    .is-gdpr_off .g-gdpr {
        animation: anime-gdpr_off 1s both;
    }
    
    .g-gdpr__text {
    	display:block;
    	color: #cacaca;
    	text-shadow: 0 0 3px #000;
    	padding: 0 0 20px;
    	font-size: 1.4rem;
    }

    .g-gdpr__text a {
        color: #85b9d0;
        text-decoration: underline !important;
        padding: 0 .15em;
        display: inline-block;
    }


    a.g-gdpr__button {
        color: #fff;
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        white-space: nowrap;
        vertical-align: middle;
        padding: 1em 2em 1em 2em;
        display: block;
        background: #384a8f;
        transition: .2s;
        cursor: pointer;
    }
}


/*===============================================
　SP iPhone5サイズ対応　画面の横幅が350pxまで▼▼▼▼▼
===============================================*/

@media (max-width:349px) {
	
	
}

/*===============================================
　SP iPhone Plus サイズ対応　画面の横幅が415pxまで▼▼▼▼▼
===============================================*/

@media (min-width: 413px) and (max-width: 761px) {
	
}




