/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/
body {display: flex; flex-direction: column; min-height: 100vh; min-height: 100svh; position:relative; font-size:16px!important;}
h2,h3,p{font-size:16px;}

a.CTA {display: block; width: 350px; margin: 20px auto 0; padding: 15px 30px; text-align:center; font-weight:bold; color: #fff; background: rgba(61, 135, 110, 0.7); border: 1px solid #3D876E;}
a.CTA:hover {text-align:center; color: #3D876E; background:rgba(244, 244, 244, 0.5); border: 1px solid #FFF; transition: all  0.3s ease;}

@media screen and (min-width: 1025px) {
.site-header,.page-header{display:none;}
.site-body {position: relative;}
.container {max-width: calc(100% - 200px); margin-left: 200px;}
}

/*パンくず*/
.breadcrumb {border: none; background:#F5F8FA; text-align: center; padding: 10px; position:absolute; bottom:0; width:100vw;}
ol.breadcrumb-list i {display: none;}
ol.breadcrumb-list a {text-decoration: none;}

/*レイアウト*/
.Main-Area {display: flex; flex-wrap: wrap; max-width: 1200px; margin: 0 auto; padding: 80px 10px; justify-content:center;}
.Main-Area h2 {writing-mode: tb-rl; letter-spacing: .3rem;}
.Main-Area h2:before {content: '■'; color:#3d876e; margin:8px; font-size:.75rem;}
.Main-Area h2 span{font-size:.85rem; margin:10px; color:#ccc;}

@media screen and (max-width: 1024px) {
.Main-Area {display: flex; flex-wrap: wrap; max-width: 1200px; margin: 50px auto; padding: 50px 10px;}
.Main-Area h2 {writing-mode: unset; margin: 0 auto; font-size:1.5rem; margin-bottom:1.5rem;}
.Main-Area h2:before {content: '■'; color:#3d876e; margin:8px; font-size:.75rem;}
.Main-Area h2 span{font-size:.85rem; margin:10px; color:#ccc;}
.Main-Area .Inner{overflow-y:scroll;}
}

.site-footer{border:none;}

p{text-align:justify;}

h2{border:none;}
h2.Mincho{font-family:serif; text-align:center; color:#2f55a6; letter-spacing:.2rem; font-size:2rem;}
h2.Mincho span.pc{display:block;}
h2.Mincho span.sp{display:unset;}

h3,h3:after{border-bottom:none;}
h3{font-size:1.2rem; color:#2b56a5;}

@media screen and (max-width: 428px) {
h2.Mincho{font-size:1.1rem;}
h2.Mincho span.pc{display:unset;}
h2.Mincho span.sp{display:block;}
}

/*サイドメニュー*/
.G-navi {position: fixed; display: flex; flex-direction:column; justify-content:space-between; width: 215px; height: 100%; padding: 50px 20px; background: #fff; z-index: 9999; border-right:1px solid #f0f5fb;}
.G-navi ul{list-style:none; margin:0; padding:0 0 0 5px; font-weight:700;}
.G-navi ul a{text-decoration:none; color:#2f55a6;}
.G-navi ul a:hover{color:#3189c9; transition : all 0.5s;}
.G-navi li{margin:2rem 0;}

@media screen and (max-width: 1024px) {
.G-navi {display:none;}
}

a.mail,a.LINE,a.jiko,a.office{display:block; width:100%; padding:10px; color:#fff!important; font-size:.8rem; text-align:center; margin:10px auto;}
a.mail{background:#2b56a5;}
a.LINE{background:#3d876e;}
a.jiko{background:#3189c9;}
a.office{background:#1b1464;}
a.mail:hover,a.LINE:hover,a.jiko:hover,a.office:hover{opacity:.8; transition : all 0.5s;}

div.Inner{display:block; max-width:1000px; padding:80px 0; margin:0 auto;}
@media screen and (max-width: 1024px) {
div.Inner{padding:50px 30px;}
}
	
/*メインビジュアル*/
.Main{width:calc(100vw - 200px); position:relative;}
.Copy {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color:#2f55a6; text-align:center; max-width:600px;}
.Copy h2{border:none; font-size:3rem; letter-spacing:.5pt; margin:0;}
.Copy p{font-weight:bold; font-size:1.8rem; letter-spacing:.5pt;}
.Image img{object-fit:contain; width:100%; height:auto;}

@media screen and (max-width: 1024px) {
.Main{margin:0 calc(50% - 50vw); width:100vw; position:relative;}
.Copy {width:100%; text-align:center;}
.Copy h2{font-size:1.8rem;}
.Copy p{font-size:1rem; text-align:center;}
.Image img {object-fit: cover; width: 100%; height: 500px; object-position: top;}
}

/*TOP顧問プラン*/
.Plan{background:url('/wp-content/uploads/2024/09/plan-bg.png'); margin:0 calc(50% - 50vw); width:100vw;}
.parallax_content{background-attachment: fixed; background-position: center; background-size: cover; background-repeat: no-repeat;}
.Plan h2{font-size:1.5rem; letter-spacing:.5rem;}
.H-Flex {display: flex; flex-wrap: wrap; justify-content: center; align-items:center;}
.H-Flex div {width: calc(33% - 10px); padding: 0 5px;}
dl.Standard {border: 5px solid #2f55a6; background:#fff; padding:25px; margin: 0; text-align: center; height:100%;}
dl.Standard dt{background:#2f55a6; color:#fff; font-size:.8rem; padding: 5px;}
dl.Standard dd{color:#2f55a6; font-weight:bold;}
dl.Light {border: 5px solid #3189c9; background:#fff; padding:25px; margin: 0; text-align: center;}
dl.Light dt{background:#3189c9; color:#fff; font-size:.8rem; padding: 5px;}
dl.Light dd{color:#3189c9; font-weight:bold;}
dl.Premium {border: 5px solid #c8b163; background:#fff; padding:25px; margin: 0; text-align: center;}
dl.Premium dt{background: #c8b163; color:#fff; font-size:.8rem; padding: 5px;}
dl.Premium dd{color: #c8b163; font-weight:bold;}

@media screen and (max-width: 428px) {
.H-Flex div {width: 100%; padding: 15px;}
}

/*TOP挨拶*/
.flex50{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;}
.flex50 div{width:calc(50% - 30px);}
a.Profile {color: #2b56a5; border: 1px solid #2b56a5; padding: 10px 50px; text-decoration: none; display: inline-block;}
a.Profile:hover {color:#fff; background: #2b56a5; transition : all 0.5s;}

@media screen and (max-width: 1024px) {
.flex50{align-items:flex-start;}
}

@media screen and (max-width: 428px) {
.flex50{flex-direction:column-reverse; align-items:center;}
.flex50 div{width:90%;}
.flex50L{margin-top:15px;}
.flex50R{width:70%;}
}

/*取扱業務*/
.Work {margin:0 calc(50% - 50vw); background:#F5F8FA;}

/*企業向け*/
.forB h3 {color:#348ecd; font-weight:bold; text-align:center;}
.forB ul {list-style: none; padding: 0; display: flex; flex-wrap: wrap; align-items: center;}
.forB li {font-size: .8rem; width: calc(20% - 10px); text-align: center; border: 1px solid #348ecd; color:#348ecd; background:#fff; font-weight:bold; padding:15px 10px; margin: 5px;}

@media screen and (max-width: 1024px) {
.forB ul {justify-content:center;}
.forB li {width: calc(33% - 10px);}
}
@media screen and (max-width: 428px) {
.forB ul {justify-content:center;}
.forB li {width: 90%;}
}

/*個人向け*/
.forC h3 {color:#8bb2d3; font-weight:bold; text-align:center;}
.forC ul{list-style: none; padding: 0; display: flex; flex-wrap: wrap; align-items: center;}
.forC ul li {font-size: .8rem; width: calc(20% - 10px); text-align: center; background:#8bb2d3; color: #fff; font-weight:bold; padding:15px 10px; margin: 5px;}

@media screen and (max-width: 428px) {
.forC ul {justify-content:center;}
.forC ul li {width: 90%;}
}

/*Map*/
.Map-Area {margin:0 calc(50% - 50vw); background:#f0f5fb;}
iframe{max-width: calc(100% - 220px); margin-left: 230px; margin:0 auto; display:block;}
.Map {display: flex; flex-wrap: wrap; justify-content:center; max-width: 100%; margin:0 auto; padding:20px 0; background:#F4F4F4;}
.Map dl {display: flex; flex-wrap: wrap; align-items:center; margin:0;}
.Map dl dt {background: #0f2540; color:#fff; padding: 10px 20px; margin:0;}
.Map dl dd {padding: 10px 20px;}
.Map dl {display: flex; flex-wrap: wrap; align-items:center; margin:0;}

@media screen and (max-width: 1024px) {
.Map {padding-top:0;}
.Map dl,.Map dl dt {width:100%;}
.Map dl dt {text-align:center;}
.Map dl dd {width:90%; margin:0 auto;}
.Map dl dd span{display:block; text-align:center;}
}

/*顧問契約*/
.Advisor-Area {background: #F5F8FA; border-radius:0 25px 25px 0;}

.Advisor {width:1000px; margin: 0 auto; display: flex; flex-wrap: wrap; text-align:center;}
.Advisor div {width: calc((100% / 3) - 20px); margin: 10px; font-weight:bold; border-radius:15px; background:#fff;}
.Advisor p{text-align:center;}
.Advisor dl{margin:0;}

dl.Plan-P dt {background: #c8b163;}
dl.Plan-S dt {background: #2f55a6;}
dl.Plan-L dt {background: #3189c9;}
dl.Plan-P dt ,dl.Plan-S dt ,dl.Plan-L dt {color: #fff; padding: 10px; text-align: center;}

dl.Plan-P  dd.Fee {color: #c8b163;}
dl.Plan-S  dd.Fee {color: #2f55a6;}
dl.Plan-L  dd.Fee {color: #3189c9;}
dd.Fee {padding:20px 30px;}

dl.Plan-P .Time {background: #c8b163;}
dl.Plan-S .Time {background: #2f55a6;}
dl.Plan-L .Time {background: #3189c9;}
.Time {color:#fff; margin-top:1.5rem;}

dl.Plan-P  dd.Content span{color: #c8b163;}
dl.Plan-S  dd.Content span{color: #2f55a6;}
dl.Plan-L  dd.Content span{color: #3189c9;}
dd.Content {padding-bottom:1.5rem;}

/*顧問プラン備考*/
ul.Remarks {margin: 0 auto; padding: 0; display: flex; flex-wrap:wrap; justify-content:center; list-style: none;}
ul.Remarks li {width: 40%; margin: 10px; text-align: center; background: #fff; padding: 10px;}

/*顧問プラン内容*/
.Plan-Content{display:flex; flex-wrap:wrap; justify-content:center; max-width:1000px; margin:0 auto;}
.Plan-Content dl {width: calc((100% / 3) - 20px); background:#F5F8FA; margin: 5px; min-height:250px;}
.Plan-Content dt {background: #2f55a6; color:#fff; padding:10px; text-align:center; margin:1rem;}
.Plan-Content dd {padding:10px 30px 30px;}
.Plan-Content span {display:block; background: #c8b163; color:#fff; text-align:center; padding:5px;}

@media screen and (max-width: 1024px) {
.Plan-Content dl {width: calc((100% / 2) - 20px);}
}

@media screen and (max-width: 428px) {
.Plan-Content dl {width:100%;}
}

/*弁護士紹介*/
p.hobby {display: block; background: #fff; padding: 10px; text-align: center;}
p.hobby span {background: #3d876e; color: #fff; padding: 5px 20px; border-radius: 50px; margin-right: 20px;}

/*事務所概要*/
.Office {margin:0 auto;}
.Office dl {max-width: 500px; display: flex; flex-wrap: wrap; font-size:.95rem;}
.Office dt {width: 25%; margin: 0; padding: 20px 20px 20px 0; border-bottom:1px solid #f4f4f4; font-weight:100;}
.Office dd {width: 75%; padding: 20px; border-bottom:1px solid #f4f4f4;}


/*問い合わせフォーム*/
dl.Inquiry {display: flex; flex-wrap: wrap; max-width: 1100px; justify-content:center;}
dl.Inquiry div {width: calc(50% - 20px); padding: 0 10px 20px;}
dl.Inquiry div.TxtArea {width: calc(100% - 20px); padding: 0 20px;}
dl.Inquiry p {margin-bottom:0;}
.wpcf7-submit {min-width: 280px; margin: 0 auto; display: block; background: #3d876e !important;}
span.Necessary,span.Optional{margin-left:10px; font-size:.75rem;}
span.Necessary{color:#3d876e;}
span.Optional{color:#BBB;}

/*Recaptcha*/
.grecaptcha-badge { visibility: hidden;}
p.recapcha-text {font-size: .75rem; text-align: center;}