/*
Theme Name: ns-souzoku
Theme URI: 
Version: 1
Author: element inc.
Author URI: http://elmt.jp
*/
@charset "utf-8";


/*-----------------------------------
 ブラウザリセット
-----------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend {margin:0; padding:0; border:0; box-sizing: border-box;}
table, caption, tbody, tfoot, thead, tr, th, td {margin:0; padding:0; border-collapse:collapse; border-spacing:0px; empty-cells:show; text-align:left; font-weight:normal;}
img, iframe {border: none; max-width: 100%; height: auto;}
ol, ul, li {list-style: none;}
textarea, select, button {font-size:100%; font-family:inherit;}
a, input[type="submit"], button{cursor: pointer;}

/*-----------------------------------
 ヘッダーメニュー
-----------------------------------*/
.scrollfix{overflow: hidden;}
.bg_menu{display: none; visibility: hidden;}
.bg_menu.active{
	display: block;
	visibility: visible;
	position: fixed;
	top: 0; left: 0; right:0; bottom:0;
	width:100vw;
	height:100vh;
	background-color: rgba(0,0,0,.5);
	z-index: 998;
}

.nav_button{
	width: 50px;
	position: fixed;
	right: 5%;
	top: 1.2em;
	z-index: 1000;
	text-align: center;
	border:0;
	background: none;
	margin-top: 1vh;
}

.nav_button span{
	display: block;
	font-size: .8em;
	letter-spacing: .05em;
	text-align: center;
	color: #ffffff;
}
.nav_button .bar{
	width: 85%;
	height:2px;
	/* background:#202b4b; */
	background: #ffffff;
	margin:0 auto 10px;
}
.nav_button .bar_wrap{
	position: relative;
	height: 30px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.nav_button.active .bar{
	position: absolute;
	top: 45%;
	width:90%;
	background: #202b4b;
}
.nav_button.active span{
	color: #202b4b;
}
.nav_button.active .bar:nth-child(1){transform: rotate(45deg);}
.nav_button.active .bar:nth-child(2){opacity: 0;}
.nav_button.active .bar:nth-child(3){transform: rotate(-45deg);}

.globalmenu_wrap{
	position: fixed;
	right: -30vw;
	top: 0;
	z-index: 999;
	height: 100vh;
	background:
		linear-gradient(45deg,  transparent 0, rgba(255,255,255,.8) 0),
		linear-gradient(135deg, transparent 0, rgba(255,255,255,.8) 0),
		linear-gradient(225deg, transparent 0, rgba(255,255,255,.8) 0),
		linear-gradient(138deg, transparent 95px, rgba(255,255,255,.8) 95px);
	background-position: bottom left, bottom right, top right, top left;
	background-repeat: no-repeat;
	background-size: 50% 50%;
	width:30vw;
	transition: top .5s, right .5s;
}
.globalmenu_wrap.active{
	right:0;
	padding: 8em 2em 5em;
	box-sizing: border-box;
}
.globalmenu{
	overflow-y: scroll;
	height:100%;
}

.bt_menu_contact{
	letter-spacing:0.3em;
}

/*投稿表示　Css*/

.entry-content h1{
	　line-height: 45px;
	　width: 99%;
    font-size: 30px;
    letter-spacing: 0.1em;
   border-bottom: 2px solid #68c3c5;
    border-left: 2px solid #68c3c5;
    padding: 0 0 5px 1%;
}

.entry-content h2{
    border-left: 5px solid #68c3c5;
    padding-left: 10px;
    line-height: 40px;
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 15px;
}


.entry-content h3{
	line-height: 25px;
	width: 99%;
 	font-size: 20px;
  letter-spacing: 0.1em;
	border:0!important;
}

.entry-content h3::before{
	content:"■";
	color:#68c3c5;
}

.entry-content h4{
	font-size:16px;
	line-height: 20px;
	　width: 99%;
    letter-spacing: 0.1em;
	padding:0 0 10px 0px;
}
/*-----------------------------------

.entry-content h4::before{
	content: "●";
	color:#68c3c5;
}
-----------------------------------*/
.entry-content h5{
	font-size:20px;
	font-size:16px;
	line-height: 16px;
	　width: 99%;
    letter-spacing: 0.1em;
    padding: 0 0 2px 1%;
}

.entry-content h5::before{
 	content: "■";
	color:#68c3c5;
}

.entry-content h6{
	font-size:16px;
	color: #000;
	line-height: 10px;
	　width: 99%;
    letter-spacing: 0.1em;
    padding: 0 0 1px 1%;
}

.entry-content .alignright{
float:right;
	
}
.entry-content .alignleft{
float:left;
	display: inline-block;
    margin: 0;
    text-align: left;
    float: left;
    padding: 0 10px 0 0;
    justify-content: flex-start;
}
.alignleft, .alignright{
	margin:20px;
}


.entry-content p{

}

.entry-content p img{
	margin:20px 0;
}
.entry-content p .wp-caption-text{font-size: 14px;}

.entry-content ul, .entry-content ol{margin-bottom: 1em; margin-left: 1.5em; list-style-position: outside;}
.entry-content ul{margin-left: 40px;}
.entry-content ul li{list-style: inherit;}
.entry-content ol{margin-left: 40px;}
.entry-content ol li{list-style-type:decimal;}
.entry-content dl{margin-bottom: 1em;}
.entry-content dl > dt{font-size: 1em; font-weight: bold;}
.entry-content pre{margin-bottom: 1em;}
.entry-content blockquote{width:100%;background: #e2f8f8;padding:3%;background-image: url(http://test204a.elmt.jp/ns_test/wp-content/uploads/2021/01/ns_inyouicon.png);background-repeat:no-repeat;}
@media(max-width:480px){
	.globalmenu{
	height:85%;
}
}
ul#menu-global{
	font-size:16px;
	line-height:30px;
	margin-bottom:20px;
}

ul.child{
	margin-bottom:20px;
}

ul.child li{
	font-size:14px;
	line-height:24px;
}

li ul.child{
	margin-left: 1em;
}

.bt_menu_contact{
	width:100%;
	text-align:center;
}

.bt_menu_contact a{
	display:block;
	background:#68c3c5;
	border:1px solid #68c3c5;
	box-sizing:border-box;
	line-height:50px;
	color:#ffffff;
	font-size:16px;
	transition:0.5s;
}

.bt_menu_contact a:hover{
	background:#ffffff;
	color:#68c3c5;
	border:1px solid #68c3c5;
	box-sizing:border-box;
}

/*-----------------------------------
 固定・カテゴリページ　ヘッダー画像
-----------------------------------*/
#page .entry-header,
#archive .archive_header.usebg{
	padding: 200px 0;
	background-repeat: no-repeat;
	background-size: cover;
}


#page .entry-header h2,
#archive .archive_header h2{
	width: 100%;
	background: rgba(255,255,255,0.8);
	text-align: center;
	letter-spacing: 0.1em;
}
#page .entry-header h2,
#archive .archive_header h2{
	padding:15px 0;
}
/*-----------------------------------
アーカイブ
-----------------------------------*/
.nsblogdate a{color:#FFF;}

/*-----------------------------------
トップページ
-----------------------------------*/
li.infotag a{color:#FFF;}
.nsmorebtn button{
display: block;
width:100%;
border:none;
background: none;
}

/*-----------------------------------
お問い合わせ
-----------------------------------*/

.nscontacttxt{
    width: 100%;
    font-size: 16px;
    line-height: 30px;
}

.nscontacttxt dl{
    width: 100%;
}

.nscontacttxt dt{
    text-align: center;
}

.nscontacttxt dd{
    text-align: right;
}

.nscntctfm{
    width: 100%;
    margin-top: 60px;
}

.nscntctfm dl{
    display: flex;
    line-height: 60px;
    margin-bottom: 20px;
    font-size: 16px;
}


.nscntctfm dt{
    width: 20%;
    text-align: right;
    margin-right: 5%;
}

.nscntctfm dd{
    width: 75%;
}

.nscntctfm dd input{
    width: 96%;
    line-height: 60px;
    padding: 0 2%;
}


.nscntctfm dd textarea{
    width: 96%;
    height: 200px;
    padding: 10px 2%;
}

.nscntctfm p{
    width: 100%;
    text-align: right;
}

.nsfmkakunin{
    width: 100%;
}

.nsfmkakunin ul{
    width: 255px;
    float: right;
}

.nsfmkakunin li{
    width: 100%;
    display: block;
    text-align: center;
    line-height: 70px;
    background: url(../images/ns_pattern02.gif);
    margin: 40px 0 100px 0;
}

/*-----------------------------------
ヘッダー
-----------------------------------*/
.nshdlogo a{
	color: #202b4b;
}
.custom-logo-link img{
	clip-path: inset(2px);
}
/*-----------------------------------
フッター
-----------------------------------*/
footer{
	color: #202b4b;
}

footer a{
	color: #202b4b;
	display: block;
}
footer .tel_wrap a{
	display: inline-block;
}

/*-----------------------------------
投稿表示サンプル
-----------------------------------*/
/*投稿表示　Css*/

.entry-content .sample h1{
	　line-height: 45px;
	　width: 99%;
    font-size: 30px;
    letter-spacing: 0.1em;
   border-bottom: 2px solid #68c3c5;
    border-left: 2px solid #68c3c5;
    padding: 0 0 5px 1%;
}

.entry-content .sample h2{
    border-left: 5px solid #68c3c5;
    padding-left: 10px;
    line-height: 40px;
    font-size: 26px;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}


.entry-content .sample h3{
	line-height: 25px;
	width: 99%;
 	font-size: 20px;
  letter-spacing: 0.1em;
	border:0!important;
}

.entry-content .sample h3::before{
	content:"■";
	color:#68c3c5;
}

.entry-content .sample h4{
	font-size:16px;
	line-height: 20px;
	　width: 99%;
    letter-spacing: 0.1em;
	padding:0 0 10px 0px;
}

.entry-content .sample h4::before{
	content: "●";
	color:#68c3c5;
}

.entry-content .sample h5{
	font-size:20px;
	font-size:16px;
	line-height: 16px;
	　width: 99%;
    letter-spacing: 0.1em;
    padding: 0 0 2px 1%;
}

.entry-content .sample h5::before{
 	content: "■";
	color:#68c3c5;
}

.entry-content .sample h6{
	font-size:16px;
	color: #000;
	line-height: 10px;
	　width: 99%;
    letter-spacing: 0.1em;
    padding: 0 0 1px 1%;
}

.entry-content .sample .alignright{
float:right;
	
}
.entry-content .sample .alignleft{
float:left;
	display: inline-block;
    margin: 0;
    text-align: left;
    float: left;
    padding: 0 10px 0 0;
    justify-content: flex-start;
}
.sample .alignleft,
.sample .alignright{
	margin:20px;
}


.entry-content .sample p{
	padding-bottom:40px;
}

.entry-content .sample p img{
	margin:20px 0;
}


.entry-content .sample ul, .entry-content .sample ol{margin-bottom: 1em; margin-left: 1.5em; list-style-position: outside;}
.entry-content .sample ul{list-style-type: disc;margin-left: 40px;}
.entry-content .sample ul li{list-style: inherit;}
.entry-content .sample ol{margin-left: 40px;}
.entry-content .sample ol li{list-style-type:decimal;}
.entry-content .sample dl{margin-bottom: 1em;}
.entry-content .sample dl > dt{font-size: 1.2em; font-weight: bold;}
.entry-content .sample pre{margin-bottom: 1em;}

.nsaaboutustxt{
	width: 100%;
	margin-bottom: 40px;
	border: 2px solid #68c3c5;
	box-sizing: border-box;
}

.nsaaboutustxt ul{
	width: 94%;
	margin: 3%;
}

.nsaaboutustxt li{
	font-size:16px;
	line-height:32px;
}


@media screen and (min-width: 641px) and (max-width: 768px){
#archive .archive_header.usebg{
	padding: 100px 0;
	background-repeat: no-repeat;
	background-size: cover;
}
}

@media screen and (max-width: 640px){
	#archive .archive_header.usebg{
	padding: 60px 0;
	background-repeat: no-repeat;
	background-size: cover;
}
}
/*---- archive pager --*/
#archive .nspagenv{text-align:center; display:flex; justify-content:center;}
.nspagenv .page-numbers{color:#202b4b; width:1.5em; height:1.5em; display:flex; justify-content:center; align-items:center; margin: 0 .2em; font-size:1.4em;}
.nspagenv .page-numbers:hover,
.nspagenv .page-numbers.current{background-color:#202b4b; color:#FFF;}


@media all and (-ms-high-contrast: none) {
	.globalmenu_wrap{margin-right:-1vw; transition:margin-right .5s;}
	.globalmenu_wrap.active{margin-right:30vw; right:-30vw; -ms-overflow-style: none;}
}

/* --------------------------------------
 * 210213 ページャー調整
 * -------------------------------------- */
.nsblogpager {
    display: flex;
    justify-content: center;
}

.nsblogpager > *{
	padding:5px 10px;
}

/* --------------------------------------
 * 210403 投稿ページスタイル調整
 * -------------------------------------- */
.nssingletxt.entry-content img{margin-bottom: 0px;}
.nssingletxt.entry-content ul{list-style:disc;}
.nssingletxt.entry-content p.wp-caption-text{font-size: 15px;}

/* --------------------------------------
 * 211016 事務所概要ページスタイル調整
 * -------------------------------------- */
 .entry-content .ns-staff-left dl dd dl.prof_list{display: flex;}
 .entry-content .ns-staff-left dl dd dl.prof_list:first-of-type{margin-top: 1em;}
 .entry-content .ns-staff-left dl dd dl.prof_list dt{font-weight: normal; min-width: 5.5em;}
 .entry-content .ns-staff-left dl dd dl.prof_list dd{}

 .entry-content .ns_staff_psnl .psnl_list{display: flex; margin-bottom: .5em;}
 .entry-content .ns_staff_psnl .psnl_list:first-of-type{margin-top: 1em;}
 .entry-content .ns_staff_psnl .psnl_list dt{font-weight: normal; min-width: 10em;}
.entry-content .ns_staff_psnl .psnl_list dt::before {content: "⚫︎"; color: #2ea7e0; margin-right: 1em;}
 .entry-content .ns_staff_psnl .psnl_list dd{}
.entry-content .ns_staff_performance dl {margin-bottom: 0;}
.entry-content .ns_staff_performance dd {line-height: 2em;}

.entry-content .ns-staff-left .ns-staff-text {font-weight: bold;}

 .entry-content .ns-gyomuitiran03 dl{margin-bottom: 0;}
 .ns-gyomuitiran03 dl dt, .ns-gyomuitiran03 dl dd{line-height: 150%;}
 .ns_staff_career {
	 /* pc.cssのみから移動 */
    border-left: 3px solid #2ea7e0;
    padding-left: 15px;
    margin: 10px 0 20px;
}

/* ----------------------------------------
 * 211016追加 レスポンシブ調整
 * ---------------------------------------- */
.entry-content ul.hyo3left,
.entry-content ul.hyo3right,
.entry-content .nsprchyo4 ul,
.nsprchyo1 ul,
.nsprchyo2 ul{
	margin: 0;
}
.nsprchyo2 ul,
.nsprchyo2 ul li{
	width: 100%;
}
.nsprccttibx ul{
	margin-left: auto;
}
.entry-content .ns-gyomuitiran03 dl dt{
	min-width: 5em;
}