﻿/* ============================================================
   PC (768px+) STYLES
   ============================================================ */
@media screen and (min-width: 768px) {
body{
color:#333;
font-size:.94rem;
line-height:1.75;
font-feature-settings:'palt';
letter-spacing:.13em;
}

/*------------------------------------------------------------
RESPONSIVE
------------------------------------------------------------*/
.pconly { display: block; }
.sponly { display: none; }


/*------------------------------------------------------------
HEADER
------------------------------------------------------------*/
#siteHeader {
padding: 0;
}

.headerInner {
max-width: 1100px;
margin: 0 auto;
padding: 0;
height: 70px;
display: flex;
align-items: center;
justify-content: space-between;
}

.headerLogo a {
flex-direction: row;
align-items: center;
gap: 14px;
}

.logoMain {
font-size: 1.25rem;
white-space: nowrap;
}

.logoSub {
font-size: 0.69rem;
margin-top: 0;
white-space: nowrap;
}


/*------------------------------------------------------------
GLOBAL NAV
------------------------------------------------------------*/
#globalNav {}

.globalNavList {
display: flex;
align-items: stretch;
height: 70px;
gap: 0;
}

.globalNavList > li {
display: flex;
align-items: center;
}

.globalNavList > li > a {
display: block;
color: rgba(255,255,255,0.8);
text-decoration: none;
font-size: 0.75rem;
font-weight: 500;
padding: 0 16px;
height: 70px;
display: flex;
align-items: center;
border-bottom: 3px solid transparent;
transition: all 0.2s;
white-space: nowrap;
}

.globalNavList > li > a:hover,
.globalNavList > li.current > a {
color: var(--color-accent);
border-bottom-color: var(--color-accent);
background-color: rgba(255,255,255,0.05);
}


/*------------------------------------------------------------
TOPPAGE - MAIN VISUAL (SLIDER)
------------------------------------------------------------*/
#mv {
height: 400px;
}

.top-slide {
padding-top: 0;
height: 400px;
}

/* slick内部要素の高さをPCサイズに固定 */
#mv .slick-list {
position: absolute !important;
top: 0;
left: 0;
width: 100%;
height: 400px;
}

#mv .slick-track,
#mv .slick-slide,
#mv .slick-slide > div {
height: 400px;
}

.top-slide .mv01,
.top-slide .mv02,
.top-slide .mv03 {
height: 400px;
}

.top-slide .mv01 { background-image: url('img/law-mirai01.jpg'); }
.top-slide .mv02 { background-image: url('img/law-mirai02.jpg'); }
.top-slide .mv03 { background-image: url('img/law-mirai03.jpg'); }

.mv-text {
gap: 24px;
}

.mv-copy {
font-size: 1.85rem;
}

.mv-org {
font-size: 2.35rem;
letter-spacing: 0.2em;
text-shadow:0 0 10px rgba(0,0,0,.2);
}
.mv-org span{
display:block;
font-size:1.35rem;
}

#mv .slick-dots {
bottom: 12px;
}

#mv .slick-dots li button::before {
font-size: 10px;
}


/*------------------------------------------------------------
TOPPAGE - INTRO
------------------------------------------------------------*/
#topIntro {
padding: 50px 30px;
}

.topIntroInner p {
font-size: 0.94rem;
margin-bottom: 12px;
}


/*------------------------------------------------------------
TOPPAGE - NEWS
------------------------------------------------------------*/
#topNews {
padding: 60px 30px;
}

.topNewsInner {
max-width: 900px;
margin: 0 auto;
}

.topSectionTitle {
font-size: 1.5rem;
margin-bottom: 30px;
padding-left: 14px;
}

.newsItem {
flex-wrap: nowrap;
gap: 14px;
padding: 16px 0;
align-items: flex-start;
}

.newsDate {
font-size: 0.81rem;
min-width: 90px;
padding-top: 2px;
}

.newsLabel {
font-size: 0.69rem;
min-width: 80px;
padding: 2px 8px;
text-align: center;
}

.newsTitle {
font-size: 0.875rem;
flex: 1;
flex-basis: auto;
}


/*------------------------------------------------------------
TOPPAGE - ACTIVITIES
------------------------------------------------------------*/
#topActivities {
padding: 60px 30px;
}

.topActivitiesInner {
max-width: 900px;
margin: 0 auto;
flex-direction: row;
gap: 50px;
}

.topActivityBox {
flex: 1;
}

.topActivityList {
margin-bottom: 20px;
}

.topActivityList li {
flex-wrap: nowrap;
gap: 14px;
padding: 12px 0;
}

.activityDate {
font-size: 0.75rem;
min-width: 90px;
}
.topActivityList li a {
font-size: 0.875rem;
}

.topMoreBtn {
padding: 10px 24px;
font-size: 0.81rem;
}


/*------------------------------------------------------------
PAGE CONTENT
------------------------------------------------------------*/
#pageContent {
padding: 40px 30px 80px;
}

.pageContentInner {
max-width: 900px;
margin: 0 auto;
}

.pageHeader {
margin-bottom: 30px;
padding-bottom: 20px;
}

.pageTitle {
font-size: 1.75rem;
}

.pageSubTitle {
font-size: 0.875rem;
}

.pageBody {
font-size: 0.94rem;
}
.pageBody h2 {
font-size: 1.5rem;
padding-bottom: 16px;
margin:0 0 16px;
}
.pageBody h3 {
font-size: 1.125rem;
margin:0 0 16px;
}

.pageBody h4 {
font-size: 1rem;
margin:0 0 8px;
}
.pageBody h4.md01{
display:inline-block;
padding:0 1rem;
background:var(--color-primary);
color:#fff;
font-size: .875rem;
margin:0 0 8px;
}
.pageBody section{
margin:0 0 80px;
}

/*------------------------------------------------------------
PAGE LIST
------------------------------------------------------------*/
.page-list1{
margin:0 0 1.2em 1.7em;
}
.page-list1 li{
padding-left:1.4em;
position:relative;
}
.page-list1 li::before{
content:'';
width:6px;
height:6px;
background:#666;
position:absolute;
top:12px;
left:4px;
}

.links{
}
.links li{
padding-left:1.2em;
position:relative;
}
.links li::before{
content:'';
width:10px;
height:10px;
background:var(--color-primary);
transform:rotate(45deg);
position:absolute;
top:11px;
left:0;
}

.page-list2{
margin:0 0 1.2em 1.7em;
}
.page-list2 li{
padding-left:2.4em;
position:relative;
}
.page-list2 li::before{
content:'';
position:absolute;
top:0;
left:0;
background:none;
}
.page-list2 li:nth-child(1)::before{ content:'(1)'; }
.page-list2 li:nth-child(2)::before{ content:'(2)'; }
.page-list2 li:nth-child(3)::before{ content:'(3)'; }
.page-list2 li:nth-child(4)::before{ content:'(4)'; }
.page-list2 li:nth-child(5)::before{ content:'(5)'; }
.page-list2 li:nth-child(6)::before{ content:'(6)'; }
.page-list2 li:nth-child(7)::before{ content:'(7)'; }
.page-list2 li:nth-child(8)::before{ content:'(8)'; }
.page-list2 li:nth-child(9)::before{ content:'(9)'; }
.page-list2 li:nth-child(10)::before{ content:'(10)'; }
.page-list2 li:nth-child(11)::before{ content:'(11)'; }
.page-list2 li:nth-child(12)::before{ content:'(12)'; }
.page-list2 li:nth-child(13)::before{ content:'(13)'; }
.page-list2 li:nth-child(14)::before{ content:'(14)'; }
.page-list2 li:nth-child(15)::before{ content:'(15)'; }
.page-list2 li:nth-child(16)::before{ content:'(16)'; }
.page-list2 li:nth-child(17)::before{ content:'(17)'; }
.page-list2 li:nth-child(18)::before{ content:'(18)'; }
.page-list2 li:nth-child(19)::before{ content:'(19)'; }
.page-list2 li:nth-child(20)::before{ content:'(20)'; }


blockquote{
border:1px solid var(--color-primary);
padding:24px 36px;
margin-bottom:1.2em;
}





/*------------------------------------------------------------
PAGE CONTENT
------------------------------------------------------------*/
.sign{
text-align:right;
margin: 2rem 0 0;
}

.memberT{
margin-left:1em;
width:100%;
border:1px solid #ccc;
}
.memberT th{
padding:10px;
border:1px solid #ccc;
}
.memberT td{
padding:10px;
border:1px solid #ccc;
}
.memberT tr:nth-child(odd){
background:#f8f8f8;
}

.author{
display:flex;
flex-wrap:wrap;
gap:0 2em;
margin-left:1em;
}

.author dt{
font-weight:bold;
width:8em;
}
.author dd{
width:calc(100% - 10em);
}

.mem-type{
display:flex;
flex-wrap:wrap;
gap:0 1em;
margin:0 0 1.2em 1em;
}
.mem-type dt{
font-weight:bold;
width:6em;
}
.mem-type dd{
width:calc(100% - 8em);
}

.term-address{
margin:0 0 1.2em 1em;
background:#f8f8f8;
padding:20px 40px;
border-radius:10px;
}


/*------------------------------------------------------------
ARCHIVE LIST
------------------------------------------------------------*/
.archiveItem {
padding:24px 0;
display: flex;
flex-wrap: nowrap;
gap:10px 0;
flex-direction:column;
}

.archiveDate {
font-size: 0.81rem;
}

.archiveTitle {
font-size: 1.25rem;
}

.archiveExcerpt {
font-size: 0.81rem;
}

.noPost {
padding: 30px 0;
}


/*------------------------------------------------------------
SINGLE POST
------------------------------------------------------------*/
.singleDate {
font-size: 0.81rem;
margin-bottom: 8px;
}

.singleBody {
padding-top: 10px;
}

.singleBackLink {
margin-top: 40px;
padding-top: 20px;
}

.singleBody figure{
margin:16px 0 32px 1em;
}

.singleBody figcaption{
text-align:left;
font-size:.875rem;
line-height:1.5;
margin-top:.5rem;
color:#666;
font-style:italic;
}



.backBtn {
padding: 10px 20px;
font-size: 0.81rem;
}


.col2-img{
display:flex;
margin:0 auto 32px;
}
.col2-img img{
flex:1;
min-width:0;
}


/*------------------------------------------------------------
PANKUZU
------------------------------------------------------------*/
#pankuzu {
padding: 12px 0 24px;
}


/*------------------------------------------------------------
FOOTER
------------------------------------------------------------*/
#siteFooter {
padding: 60px 30px 40px;
}

.footerInner {
max-width: 900px;
margin: 0 auto;
display: grid;
grid-template-columns: 260px 1fr;
grid-template-rows: auto auto auto;
gap: 0 40px;
}

.footerLogo {
grid-column: 1;
grid-row: 1;
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
border-right: 1px solid rgba(255,255,255,0.15);
padding-right: 40px;
}
.footerLogoMain {
font-size: 1.25rem;
margin-bottom: 4px;
}
.footerLogoSub {
font-size: 0.75rem;
}

.footerNav {
grid-column: 2;
grid-row: 1;
margin-bottom: 30px;
}
.footerNavList {
flex-direction: row;
flex-wrap: wrap;
gap: 4px 0;
margin-bottom: 0;
}
.footerNavList li {
width: 33%;
}
.footerNavList li a {
font-size: 0.81rem;
padding: 5px 0;
}

.footerContact {
grid-column: 2;
grid-row: 2;
font-size: 0.81rem;
padding: 14px;
margin-bottom: 0;
}
.footerContact p {
margin: 0 0 6px;
}

.footerCopy {
grid-column: 1 / -1;
grid-row: 3;
margin-top: 30px;
padding-top: 16px;
font-size:.75rem;
}
.footerCopy p {
margin-bottom: 4px;
}
.footerNote { font-size: .75rem; }

/*------------------------------------------------------------
GOTOTOP
------------------------------------------------------------*/
.gototop a {
position: fixed;
bottom: 40px;
right: 40px;
cursor: pointer;
z-index: 999;
display: block;
color: #ccc;
padding-top: 28px;
width: 50px;
font-size: 0.625rem;
line-height: 1.2;
text-align: center;
}
.gototop a::before {
content: '';
width: 36px;
height: 36px;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
transform: rotate(-135deg);
position: absolute;
top: 0;
left: 7px;
}
.gototop a:hover {
color: #666;
}
.gototop a:hover::before {
border-color: #666;
}


/*------------------------------------------------------------
PAGE NAVI
------------------------------------------------------------*/
.wp-pagenavi {
margin: 30px 0;
gap: 15px;
}

.wp-pagenavi a,
.wp-pagenavi span {
font-size:.875rem;
width: 40px;
height: 40px;
}


/*------------------------------------------------------------
PREVNEXT
------------------------------------------------------------*/
.prevnext {
gap: 10px;
margin: 30px 0;
padding: 20px 0;
}


/*------------------------------------------------------------
NYUUKAI PAGE
------------------------------------------------------------*/
.nyuukaiBox {
padding: 20px;
margin: 24px 0;
}
.nyuukaiBox h2 {
margin-bottom: 14px;
padding-bottom: 8px;
}
.nyuukaiTable {
font-size: 0.81rem;
}
.nyuukaiTable th {
padding: 8px 10px;
width: 120px;
}
.nyuukaiTable td {
padding: 8px 16px;
}
.nyuukaiLinks {
margin: 20px 0;
}
.nyuukaiLinks ul li {
padding: 6px 0;
}
.nyuukaiLinks ul li a{
font-size:.875rem;
}
.nyuukaiForm {
margin-top: 30px;
padding-top: 20px;
}
.nyuukaiForm h2 {
margin-bottom: 20px;
}
.formPlaceholder {
padding: 16px;
}
.nyuukaiKana {
font-size: .75rem;
color: var(--color-text-light);
}

/*------------------------------------------------------------
CONTACT FORM
------------------------------------------------------------*/
.form {
display: grid;
grid-template-columns: 220px 1fr;
margin: 0;
}
.form dt {
padding: 28px 20px 28px 0;
border-bottom: 1px solid var(--color-border-light);
gap: 10px;
}
.form dt span.req {
font-size: 0.75rem;
padding: 3px 8px;
border-radius: 3px;
}
.form dd {
padding: 28px 0;
border-bottom: 1px solid var(--color-border-light);
}
input[type="text"],
input[type="email"] {
padding: 10px 14px;
border-radius: 4px;
font-size: 1rem;
}
textarea {
padding: 10px 14px;
border-radius: 4px;
font-size: 1rem;
}
.form-submit {
flex-direction: row;
justify-content: center;
gap: 20px;
}
.form-submit input[type="submit"],
.form-submit button,
.mw_wp_form input[type="submit"],
.mw_wp_form button[type="submit"] {
padding: 14px 40px;
font-size: 1rem;
width: auto;
max-width: none;
}

.type-cap{
font-size:13px;
line-height:1.5;
margin:1em 0 0;
}
input[type="text"].num-app{
width:4em;
}

.form dt.nb,
.form dd.nb{
border-bottom:0 !important;
}



/*------------------------------------------------------------
END PC LAYOUT CSS
------------------------------------------------------------*/
}
