@charset "UTF-8";

body { margin: 0!important; padding:0!important; background-color: hsla(55,54%,79%,.0); overflow-x: hidden!important; }
body { font-size: 1.6rem; }

.yoast-breadcrumbs { padding: 0 10px 10px 20px; font-size: .7em; line-height: 1.5em }

.wp-site-blocks { padding: 0 0 0; margin: 0 0 0; background-color: hsla(359,100%,50%,.0);  }

.sns, .pc { display: none } 
body.home .sns { display: block } 
br.sp { display: block!important; }

.cldwrap .fl, .cldwrap .fr { width: 48%; }
.cldwrap .fl { float: left; } .cldwrap .fr { float: right; }

a:hover { opacity: 1; }/**スマホで１クリック対策**/
header.orgheader .gnavwrap, header#fixed-header, .headerBtm { display: none; }

.orgheader { width: 100%; height: 80px; background-color: hsla(359,100%,50%,.0); background: #fff; position: fixed; top: 0;
left: 0; z-index: 100; }
.headerlogo { position: absolute; z-index: 100; width: 150px; top: 0; left: 0px; background-color: hsla(0,100%,50%,.0); } 
header.orgheader .headerlogo { left: 20px; } 
.headerlogo img { width: 150px; padding: 20px 0 0; }
.headerlogo a:hover { opacity: .5 }

.video-wrap {
position: relative;
background-color: #fff;
overflow: hidden
}
video#video {
margin: 0; padding: 0;
vertical-align: top;
width: 100%;
height: 80vh;
object-fit: cover; 
z-index:1;
}

/**demo2024**/

.ffoxx { display: none; }


/**** home ****/

body.home main { background-color: hsla(211,100%,50%,0.10); margin-top: -20px!important; }/***** 7.24苦肉の策 *****/
body.home .h1box { padding: 40px 20px 280px; text-align: justify; }
body.home .h1box .nj { max-width: 260px }
body.home .h1box p br, #pageintoro br
{ display: none; }

body.home .orgh2box { padding: 0px 20px 0px; }
body.home .orgh2box h2 { font-size: 1.4em; }
body.home .orgh2box h2 span { display: block; }

body.home .abso.bt .osw { margin: 0; padding: 0 0 0 20px; }
body.home .orgcontainer { padding: 20px 20px 40px; }
body.home .abso.zeh { margin:80px 0 0; padding: 0 0 0 10px; width: 250px  }
body.home .abso.gx {
	margin-top: 140px;
	width: 250px;
	padding-left: 10px;
}
body.home .abso.sdgs {
	margin-top: 185px;
	width: 250px;
	padding-left: 10px;
}

body.home .orgbigban a, .orgbigban2 a { background-color: hsla(210,49%,50%,.1); transition: .5s; margin-bottom: 30px }

body.home .indexcont .orgcontainer .orgdiv.fl { float: left; width: 48%; padding-right: 4%; margin-bottom: 20px }
body.home .indexcont .orgcontainer .orgdiv.fl:nth-child(even) { padding-right: 0%; }
body.home .indexcont .orgcontainer .orgdiv h3 { font-size: 1.6rem; margin-bottom: 0!important }
body.home .indexcont .orgcontainer .orgdiv h3 span {display: block; }
body.home .indexcont .orgcontainer .orgdiv p.bodash { padding: 0; margin: 0; }

#orgban { width: calc(100% - 40px); margin: 0 20px 20px; }
#orgban div { float: none; margin-bottom: 20px}
#orgban div a { font-size: 1.3em; }

.orgatt { text-align: justify; padding: 0px 20px 40px; font-size: .8em; }

.orgfooter { padding: 20px 0 20px 20px }
.orgfooter { font-size: .8em; }
.orgsitemap {  }
.orgsitemap .fl { float: left; }

.orgsitemap .fl.concept { width: 52%; height: 290px }
.orgsitemap .fl.orderhomes { width: 48%; height: 105px }
.orgsitemap .fl.subdivision { width: 46%; height: 160px }
.orgsitemap .fl.example { width: 52%; height: 220px }
.orgsitemap .fl.blog { width: 48%; height: 300px }
.orgsitemap .fl.company  { width: 52%; height: 200px }
.orgsitemap .fl.recruit { width: 48%; height: 200px }

.orgaddress .fl { padding-bottom: 20px }

.sns { position: sticky; z-index: 1; list-style: none; background-color: hsla(0,0%,100%,0); }
.sns ul { z-index: 1; position: absolute; right: 0px; list-style: none; }
.sns ul { top: calc(50vh - 50px);margin: 0;  padding: 10px 0; border-radius: 10px 0 0 10px; background-color: hsla(0,0%,90%,0.7); }
.sns ul li { margin: 0; padding: 0; font-size: 1.3em; line-height: 1em }
.sns ul li a { display: block; text-align: center; padding: 5px 5px }

body.page main.pagemain { padding: 0; text-align: justify; }

div.indexevent { margin: 70px 0 0; padding: 0 50px 90px!important; }
div.indexevent h3 a { font-size: 1.6rem; line-height: 1.4em!important; }
div#indexvideo.indexevent { padding-bottom: 110px!important }
h2.indexh2 { padding: 50px 0 20px 0!important }

.vewmore { bottom: 40px; right: 50px; }

/**** page ****/

body.page .orgcontainer { padding: 0 20px 20px; }
body.page.tsw .orgcontainer { padding: 0 20px 20px; }

body.page.bgheader .imageheader { margin-bottom: 50px; }
body.page.bgheader h1 
{ position: absolute; z-index: -1; font-size: .8em; line-height: .8em; margin: 0;  bottom: 0; left: 20px; padding-bottom: 10px!important; color: #000; }
body.page.bgheader .abso.subh1 
{ z-index: 2; bottom: 0px; left: 0; font-size: .8em; line-height: .8em; padding: 0 0 30px 20px; color: #000; }
body.page.bgheader .abso.osw { z-index: 2; bottom: 0px; left: 0; font-size: .7em; line-height: 1em; letter-spacing: .1em; padding: 0 0 10px 100px; color: #000; }
body.page.bgheader .abso.house { z-index: 1; bottom: 0px; left: 0; width: 240px }

body.page main.pagemain h2 { font-size: 1.6em; line-height: 1.5em; margin: 0; padding: 0 }
body.page main.pagemain h3 { font-size: 1.4em; line-height: 1.5em; margin: 0; padding: 0; }
body.page main.pagemain h4 { font-size: 1.2em; line-height: 1.5em; margin: 0; padding: 0; }
body.page main.pagemain h5 { font-size: 1.2em; line-height: 1.5em; margin: 0; padding: 0; }

body.page .orgcontainer h2.bol,
body.page .orgcontainer h3.bol,
body.page .orgcontainer h4.bol
{ text-align: left; padding: 0 0 0 16px!important; border-left: #235182 solid 10px; margin-bottom: 20px }
.orgcontainerchild h4.bol, .orgcontainerchild h4.mb20 { margin-bottom: 20px!important }

body.page .orgcontainer h2.bol span.osw,
body.page .orgcontainer h3.bol span.osw { display: block; font-size: 1.2rem; padding-left: 0; letter-spacing: .02em }

body.home .orgdiv p.osw 
{ 
padding-left: 40px!important; background: url("../img/id.svg"); background-size: 20px auto; background-repeat: no-repeat; background-position: left top; color: #1e3d79; font-size: 1.4rem!important; padding: 0 0 15px 25px!important; margin: 8px 0 15px!important }

body.page .orgcontainer h2.bol,
body.page .orgcontainer h3.bol
{ font-size: 2.0rem; }

body.page .orgcontainer h2.bol a,
body.page .orgcontainer h3.bol a
{ font-size: 1.8rem; color: #235182;}

body.page .orgcontainer h2.bol a span.osw,
body.page .orgcontainer h3.bol a span.osw
{ font-size: 1.6rem; }

body.page .orgcontainer h2.bol a i,
body.page .orgcontainer h3.bol a i
{ padding-left: .5em;}

body.page main.pagemain h3.num1 { position: relative; display: inline-block; font-size: 1.3em; line-height: 1.5em; padding: 0px 0 20px 30px;  }
body.page main.pagemain h3.num1 span.roman { position: absolute; z-index: 1; top: 4px; left: 0px; font-size: 1.5em; line-height: 1em;}

body.tsw .boto { padding: 30px 0 50px!important; margin: 0px 0!important; }/*#235182*/

body.page main.pagemain h2.bol.tswlogo, 
body.page main.pagemain h3.bol.tswlogo, 
body.page main.pagemain h4.bol.tswlogo 
{ margin-bottom: 20px!important; padding: 10px 120px 10px 10px!important; position: relative; display: inline-block; }

h2.bol.tswlogo img, h3.bol.tswlogo img, h4.bol.tswlogo img { width: 100px; position: absolute; z-index: 1; top: 7px; right: 0 }

.page .entry-content #divnav ul.divnav li { width: calc(100% - 10px); float: none; margin: 0 10px 10px 0 }

.boc { margin: 10px 0 }

/**** blogmain ****/

main.blogmain { padding: 0 20px; width: calc(100% - 0px); background-color: hsla(359,100%,50%,.0)!important; }
section.orgentory- { padding: 0 20px; width: calc(100% - 40px)}

body.archive h1
{ font-size: 2.2rem; border-left: #235182 solid 10px; padding: 5px 0 5px 10px }

body.page.contactform h1
{ font-size: 2.2rem; border-left: #235182 solid 10px; padding: 5px 0 5px 20px!important; margin: 20px!important }

body.single h1 { font-size: 2.2rem!important; line-height: 3em; }

body.category.exam h1 { font-size: 2.4rem!important; line-height: 2.4rem; margin: 20px 0 0!important; padding: 0!important; border: none; }

body.single.exam .subeng { display: block; height: 60px; padding: 0 0 0 15px; margin-top: 30px; text-align: left; z-index: 2; left: 0px; border-left: solid 10px #235182!important; color: #235182; }

body.single.exam h1.wp-block-post-title.blogh1 { position: absolute; z-index: 3; top: 105px; left: 45px; font-size: 3rem!important; line-height: 3.0rem; margin: 20px 0 5px!important; padding: 0!important; }

body.single.subdivision h1 { margin-top:  20px; line-height: 4rem!important; }
body.single.subdivision h1 span { font-size: 1.4rem; line-height: 1rem; padding: 6px 10px; margin-right: 10px; vertical-align: .1em }

body.single.subdivision h2 { font-size: 2.3rem; padding: 5px 0 5px 15px }
body.single.subdivision h3 { font-size: 2.0rem; padding: 5px 0 5px 12px }

body.single.subdivision .subdivisiontag p { font-size: 1.2rem; line-height: 1.4rem; padding: 5px 10px; margin: 20px 2px 0px 0px; }
body.single.subdivision .subdivisiontag { position: relative; }
body.single.subdivision .subdivisiontag div.quo.abso { position: relative!important; ; width: 100%; max-width: 400px; margin-top: 10px; padding-top: 10px; border-top: 1px dashed #D51111; }

body.category .yoast-breadcrumbs { display: none; }
body.single.subdivision .yoast-breadcrumbs, 
body.single.exam .yoast-breadcrumbs 
{ display: none; }


body.single.exam main {  }
body.single .thumb-wrapper, body.single.exam .foh { padding: 0 0 0!important; }
body.single.exam .orgblogmeta { padding: 0 0 20px!important; }

/**** blogmain ****/

body.single.exam .nextbt { top: 0px; left: 268px; }
body.single.exam .prevbt { top: 15px; left: 225px; }

body.single.subdivision .nextbt { top: -15px; right: 15px; }
body.single.subdivision .prevbt { top: 0px; right: 60px; }

main.blogmain .price { font-size: 1.2em; line-height: 1.4em; padding: 8px 8px }
main.blogmain .price strong { display: block; }

main.blogmain .foh { position: relative; font-size: 1.8rem; line-height: 2.4rem; color: #235182; margin: 0; background: url("/img/id.svg"); background-size: 40px auto; background-repeat: no-repeat; background-position: left 10px; }

main.blogmain .foh .osw { padding: 5px 0 5px 50px!important; }
main.blogmain .foh p { font-size: 2.0rem; line-height: 2.0rem; position: absolute; z-index: 1; bottom: 5px; left: 170px; }

/**** exam ****/
body.archive main.exam,
body.archive-- main.archivemain
{ margin: 0 20px 0!important; }

body.category-example .wp-block-query.alignwide.is-layout-flow.wp-block-query-is-layout-flow, 
body.category-residence .wp-block-query.alignwide.is-layout-flow.wp-block-query-is-layout-flow, 
body.category-aecasual .wp-block-query.alignwide.is-layout-flow.wp-block-query-is-layout-flow, 
body.category-urbanmodern .wp-block-query.alignwide.is-layout-flow.wp-block-query-is-layout-flow, 
body.category-development .wp-block-query.alignwide.is-layout-flow.wp-block-query-is-layout-flow  
{ width: 100%; background-color: hsla(359,100%,50%,.0)!important; }

body.category-example .wp-block-query.alignwide.is-layout-flow.wp-block-query-is-layout-flow ul li, 
body.category-residence .wp-block-query.alignwide.is-layout-flow.wp-block-query-is-layout-flow ul li, 
body.category-aecasual .wp-block-query.alignwide.is-layout-flow.wp-block-query-is-layout-flow ul li, 
body.category-urbanmodern .wp-block-query.alignwide.is-layout-flow.wp-block-query-is-layout-flow ul li, 
body.category-development .wp-block-query.alignwide.is-layout-flow.wp-block-query-is-layout-flow ul li
{ padding-bottom: 10px!important; background-color: hsla(359,100%,50%,.0)!important; }

.examcat a { display: block; float: left; margin: 0 10px 0 0; text-decoration: none!important; border: none!important; background-color: hsla(359,100%,50%,.0); }
.examcat a img { width: 20px; padding: 5px 5px 0; border: none!important; }
.examcat a.catwaku { width: 30px; height: 20px; padding-top: 10px; text-align: center; font-size: 1.8rem; line-height: 1rem; }

.examcat.mb31cat a.catwaku 
{ font-family: "Midashi Go MB31"!important; font-size: 1.7rem!important; line-height: 1.8rem!important; letter-spacing: 0; padding: 4px 0 0; width: 60px; height: 22px; vertical-align: 1em!important }

body.single .examcat { top: 0px; left: 15px; }
body.archive .examcat { top: -10px; left: 0px; }
.examcat a.catall:hover { opacity: 1 }
.examcat a.catwaku:hover { background-color: #235182; border-color: #235182; color: #fff }

.orgaddress, .orgsitemap { font-size: 1.4em }
.orgaddress h4 a { margin-bottom: 5px; height: 25px; font-size: 14px; font-weight: bold; padding: 5px 0 0 10px; }
.orgsitemap h4 a { margin-bottom: 0px; height: 25px; font-size: 14px; font-weight: bold; padding: 5px 0 0 10px; }
.orgsitemap ul { margin: 5px 0 10px; }
.orgsitemap ul li a { font-size: 14px; }
.orgaddress p { font-size: 14px; line-height: 1.4em; }

table.orgtable th, table.orgtable td { font-size: 1.4rem; line-height: 2.2rem; padding: 5px 10px }
table.orgtable th { padding: 5px 0; min-width: 80px }
table.orgtable.recruitentry th { min-width: 70px }

.svid { font-size: 1.8rem; line-height: 2.4rem; padding: 7px 10px 6px; margin: 10px 0 10px; }

div.table { width: 100%; margin-bottom: 40px; text-align: left; border-bottom: solid #235182 1px; font-size: 1em; line-height: 1.6em }
div.table .tr { display: block; border-top: solid #235182 1px; width: 100%; }
div.table .td { display: block; border-top: dotted #235182 1px; padding: 5px 0px; width: 100% }
div.table .th { display: block; padding: 5px 0px; width: 100%!important; }

h2.h2tsw { font-size: 1.3em!important; padding: 6px 0!important; margin-bottom: 40px!important }
h3.h3tsw { font-size: 1.2em!important; padding-left: 10px!important; margin-bottom: 20px!important }
h4.h4tsw { font-size: 1.1em!important; margin-bottom: 10px!important }
h5.h5tsw { font-size: 1.0em!important; margin-bottom: 0px!important; padding-bottom: 0!important }
p.ptsw.readcopy { font-size: 1.2em!important; }


.tswfooter li { float: left; line-height: 1em; width: 48%; margin: 20px 1% 0; }

.nav_2024 a, .tswfooter a { height: 30px; padding: 15px 0 0; display: block; border: hsla(211,38%,43%,.5) solid 1px; margin: 0 5px }

body.tsw .gnav_li.cont2024 span.e, .nav_2024 a span.e, .tswfooter a span.e
{ display: inline-block; width: 20px; background-color: #325281; color: #fff; }/*193f77*/
body.tsw .gnav_li.cont2024 span.j, .nav_2024 a span.j, .tswfooter a span.j
{ display: inline-block; width: 100px;  }
body.tsw .gnav_li.cont2024 span.p, .nav_2024 a span.p, .tswfooter a span.p
{ display: inline-block; width: 40px; background-color: #3A92BF; color: #fff; font-size: .6em; vertical-align: .2em }/*0076b2*/
body.tsw .gnav_li.cont2024 span.jp, .nav_2024 a span.jp, .tswfooter a span.jp
{ display: inline-block; width: 80px;  }

body.solidfoundation .tswfooter li.solidfoundation a,
body.strongstructure .tswfooter li.strongstructure a,
body.highinsulation .tswfooter li.highinsulation a,
body.heatshielding .tswfooter li.heatshielding a,
body.highdurability .tswfooter li.highdurability a,
body.highstrength .tswfooter li.highstrength a,
body.energycreation .tswfooter li.energycreation a

{ background: hsla(203,25%,90%,1.00); color: #000; }

body.tsw .footer2024 { margin-bottom: 40px }


/**************************************    custom    ******************************************/

.sppy20 { padding-left: 20px!important; padding-right: 20px!important }
.sppy40 { padding-left: 40px!important; padding-right: 40px!important }
.sppb20 { padding-bottom: 20px!important; }
.sppb30 { padding-bottom: 30px!important; }

/************* anime **************/

.zr1 { animation-delay: 0.3s;}
.zr2 { animation-delay: 0.6s;}
.zr3 { animation-delay: 0.9s;}
.zr4 { animation-delay: 1.2s;}
.zr5 { animation-delay: 0.3s;}
.zr6 { animation-delay: 0.3s;}
.zr7 { animation-delay: 0.3s;}
.zr8 { animation-delay: 0.3s;}
.zr9 { animation-delay: 0.3s;}
.zr10 { animation-delay: 0.3s;}
.zr11 { animation-delay: 0.3s;}
.zr12 { animation-delay: 0.3s;}


@media only screen and (min-width: 768px) {


}

/*ハンバーガーメニ内ボタン*/
.header#gloval-nav {
	padding-top: 120px !important;
}
.gloval-nav-btn {
	width: calc(100% - 40px);
	max-width: 100%;
	margin: 0 auto 10px;
	padding: 0;
}
.gloval-nav-btn > ul {
	padding: 0;
	margin: 0 auto;
	display: flex;
	justify-content: flex-start;
	align-content: center;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 10px;
	grid-row-gap: 10px;
	position: relative;
	list-style: none;
}
.gloval-nav-btn > ul > li {
	width: calc(50% - 5px);
	padding: 0;
	margin: 0;
	position: relative;
}
.gloval-nav-btn > ul > li:nth-child(2) {
	order: 1;
	width: 100%;
}
.gloval-nav-btn > ul > li a {
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 10px;
	font-size: 13px;
	line-height: 1;
	color: #fff !important;
	background: #235182;
	padding: 12px 12px;
	margin: 0;
	min-width: unset;
	transition: all 0.3s ease;
}
.gloval-nav-btn > ul > li a::before {
	content: '';
	display: block;
	width: 18px;
	height: 18px;
	min-width: 18px;
	aspect-ratio:1/1;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
}
.gloval-nav-btn > ul > li:nth-child(1) a::before {
	background-image: url('https://snph.jp/wp-content/uploads/icon_memo.png');
}
.gloval-nav-btn > ul > li:nth-child(2) a::before {
	background-image: url('https://snph.jp/wp-content/uploads/icon_pen.png');
}
.gloval-nav-btn > ul > li:nth-child(3) a::before {
	background-image: url('https://snph.jp/wp-content/uploads/icon_mail.png');
}
.gloval-nav-btn > ul > li a:hover {
	opacity: 0.8;
	transition: all 0.3s ease;
}
.gloval-nav-btn > ul > li.image {
	width: 100%;
	order: 3;
	padding: 10px 0;
}
.gloval-nav-btn > ul > li.image a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff !important;
	background: none;
	padding: 0;
	margin: 0;
	min-width: unset;
	height: 35px;
	transition: all 0.3s ease;
}
.gloval-nav-btn > ul > li.image a::before,
.gloval-nav-btn > ul > li.image a::after {
	display: none;
}
.gloval-nav-btn > ul > li.image a img {
	width: auto;
	height: 100%;
}