@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,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;font-family:inherit;font-size:100%;font-style:inherit;font-weight:inherit;margin:0;outline:0;padding:0;vertical-align:baseline;scroll-behavior: smooth;}
:focus{outline:0;}
html{scroll-behavior: smooth;}
ol,ul{list-style:none;}
table{border-collapse:separate;border-spacing:0;}
caption,th,td{font-weight:normal;text-align:left;}
blockquote:before,blockquote:after,q:before,q:after{content:"";}
blockquote,q{quotes:"";}
img{max-width:100%;height:auto;vertical-align:bottom;-webkit-backface-visibility: hidden;}
a img{max-width:100%;height:auto;border:0;}
a:hover img{opacity: 0.8; filter: alpha(opacity=80); -moz-opacity: 0.8; -webkit-transition: 0.3s ease-in-out; -moz-transition: 0.3s ease-in-out; -o-transition: 0.3s ease-in-out; transition: 0.3s ease-in-out; /*animation:fadeIn 1s ease 0s 1 normal;*/}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}
body{font:18px/1.75 "a-otf-ryumin-pr6n","ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","游明朝",YuMincho,"HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;color:#000;animation:fadeIn 2s ease 0s 1 normal;  font-weight: normal;overflow-x: hidden;}
/*"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;*/
/*::after{ display: block; clear: both; content: '';}*/

/* リンク設定
------------------------------------------------------------*/
a{text-decoration:none;outline:0;vertical-align:baseline;color:#000;}
a:hover,a:active{color:#000;}

/* 汎用クラス
*****************************************************/
.pcDisp{display:block;}
.spDisp{display:none;}

/* ヘッダー・メイン画像
------------------------------------------------------------*/
header { position: absolute; top: 0; left: 0; width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 20px; box-sizing: border-box; z-index: 10;}
header h1 img {height: 40px; width: auto;}
#kv {position: relative; width: 100%; height: 100vh; background: url(images/kv.jpg) no-repeat center center; background-size: cover; overflow: hidden;}
.copy1, .copy2 { position: absolute; color: #fff; font-size: 3.0rem; writing-mode: vertical-rl; text-shadow: 2px 2px 5px rgb(0 0 0); opacity: 0; letter-spacing: 0.2em;}
.copy1 { top: 15%; left: 50%;transform: translateY(20px);}
.copy2 { top: 18%; left: 43%; transform: translateY(20px);}
.copy3 { position: absolute; bottom: 1%; width: 100%; text-align: center; color: #fff; font-size: 1rem; text-shadow: 1px 1px 3px rgba(0,0,0); opacity: 0; transform: translateY(20px);}
.fade-in-active {transition: all 1.5s ease-out; opacity: 1 !important; transform: translateY(0) !important;}

@media screen and (max-width: 768px) {
header h1 img {height: 20px;}
.copy1, .copy2{ font-size: 2rem;}
.copy2 { top: 23%; left: 40%; transform: translateY(20px);}
}

/* コンテンツ
*****************************************************/
#topmessage { position: relative; padding: 50px 0; overflow: hidden; background-color: #fff; margin: 100px 0;}
#topmessage::before { content: ''; position: absolute; top: 0; right: 0; width: 85%; height: 100%; background-color: #f9f9f9; z-index: 0;}
#topmessage h2,#topmessage .box { position: relative; z-index: 1; max-width: 1200px; margin-left: auto; margin-right: auto;  padding: 0 4%;}
#topmessage h2 { font-size: 2.8rem; line-height: 1.4; margin-bottom: 60px; letter-spacing: 0.25em;}
#topmessage .box { display: flex; justify-content: space-between; align-items: flex-start;}
#topmessage .box .img { width: 48%; box-shadow: 10px 10px 20px rgba(0,0,0,0.1);}
#topmessage .box .img img { width: 100%; height: auto; display: block; vertical-align: bottom;}
#topmessage .box .txt { width: 45%; line-height: 2.2; padding-top: 20px;}
#topmessage .box .txt p { margin-bottom: 2.5em;}
#topmessage .box .txt p:last-child { margin-bottom: 0;}

@media screen and (max-width: 768px) {
#topmessage { margin: 0;padding: 20px 0;}
#topmessage::before {width: 80%;height: 80%;top: auto;bottom: 0;}
#topmessage h2 {font-size: 1.6rem;margin-bottom: 40px;}
#topmessage .box {display: block; }
#topmessage .box .img {width: 100%;margin-bottom: 40px;}
#topmessage .box .txt {width: 100%;padding-top: 0;}
}

#service-house {  width: 100%; background-color: #f9f9f9; padding: 100px 0; margin-bottom: 0;}
#service-house .inner { max-width: 1200px; margin: 0 auto; padding: 0 4%;}
#service-house h2 { font-size: 2.4rem; font-weight: normal; letter-spacing: 0.05em;  margin-bottom: 50px;}
#service-house .main-img { margin-bottom: 50px; box-shadow: 0 10px 25px rgba(0,0,0,0.05);}
#service-house .main-img img { width: 100%; height: auto; display: block;}
#service-house .txt-area { text-align: center; max-width: 800px; margin: 0 auto 40px;}
#service-house h3 { font-size: 1.6rem; font-weight: normal; margin-bottom: 30px; letter-spacing: 0.1em;}
#service-house p { font-size: 1rem; line-height: 2.2; margin-bottom: 2em;}
#service-house .btn-wrap { display: flex; justify-content: center; }

@media screen and (max-width: 768px) {
#service-house { padding: 60px 0;}
#service-house h2 {font-size: 1.8rem;margin-bottom: 30px;}
#service-house .main-img {margin-bottom: 30px;}
#service-house h3 {font-size: 1.3rem;margin-bottom: 20px;}
#service-house p {text-align: left;font-size: 0.9rem;}
}

#service { position: relative; padding: 50px 0;overflow: hidden; background-color: #fff; margin: 100px 0;}
#service::before { content: ''; position: absolute; top: 0; left: 0; width: 85%;height: 100%; background-color: #f9f9f9; z-index: 0;}
#service .box { position: relative; z-index: 1; max-width: 1200px; margin-left: auto; margin-right: auto; padding: 0 4%; display: flex; justify-content: space-between; align-items: flex-start;}
#service .txt-area { width: 45%;  padding-top: 20px;}
#service h2 { font-size: 2.8rem; line-height: 1.4; margin-bottom: 40px; letter-spacing: 0.25em; color: #333;}
#service .txt { line-height: 2.2;}
#service .txt p { margin-bottom: 2.5em;}
#service .txt p:last-child { margin-bottom: 0;}
#service .img { width: 48%; box-shadow: -10px 10px 20px rgba(0,0,0,0.1);}
#service .img img { width: 100%; height: auto; display: block;}

@media screen and (max-width: 768px) {
#service { padding: 20px 0;margin: 50px 0;}
#service::before {width: 80%;height: 80%;top: auto;bottom: 0;left: 0;}
#service .box {display: block;}
#service .txt-area {width: 100%;padding-top: 0;margin-bottom: 40px;}
#service h2 {font-size: 1.8rem;margin-bottom: 30px;}
#service .img {width: 100%;box-shadow: 5px 5px 15px rgba(0,0,0,0.1); }
}

#business-list { padding: 50px 0; background-color: #fff;}
#business-list .inner {max-width: 1200px;margin: 0 auto;padding: 0 4%;display: flex;flex-wrap: wrap;justify-content: space-between;}
#business-list .item {width: 30%;margin-bottom: 60px;}
#business-list .item .img {width: 100%;border: 1px solid #eee;margin-bottom: 25px;box-sizing: border-box;}
#business-list .item .img img {width: 100%;height: auto;display: block;}
#business-list .item h3 {font-size: 1.5rem;margin-bottom: 10px;color: #333;font-weight: normal;}
#business-list .item p {font-size: 1.0rem;color: #666;line-height: 1.6;}
#business-list .item a { display: block; text-decoration: none; color: inherit; transition: opacity 0.3s ease;}
#business-list .item a:hover { opacity: 0.7; cursor: pointer;}
#business-list .item .img { overflow: hidden; }
#business-list .item a:hover .img img { transform: scale(1.05);transition: transform 0.5s ease;}

@media screen and (max-width: 768px) {
#business-list {padding: 60px 0;}
#business-list .item {width: 100%;margin-bottom: 40px;}
#business-list .item:last-child {margin-bottom: 0;}
}

#company { position: relative; padding: 50px 0; overflow: hidden; background-color: #fff; margin: 100px 0;}
#company::before { content: ''; position: absolute; top: 0; right: 0; width: 85%; height: 100%; background-color: #f9f9f9; z-index: 0;}
#company h2,#company .box { position: relative; z-index: 1; max-width: 1200px; margin-left: auto; margin-right: auto;  padding: 0 4%;}
#company h2 { font-size: 2.8rem; line-height: 1.4; margin-bottom: 60px; letter-spacing: 0.25em;}
#company .box { display: flex; justify-content: space-between; align-items: flex-start;}
#company .box .img { width: 48%; box-shadow: 10px 10px 20px rgba(0,0,0,0.1);}
#company .box .img img { width: 100%; height: auto; display: block; vertical-align: bottom;}
#company .box .txt { width: 45%; line-height: 2.2; padding-top: 20px;}
#company .box .txt p { margin-bottom: 2.5em;}
#company .box .txt p:last-child { margin-bottom: 0;}

@media screen and (max-width: 768px) {
#company { margin: 0;padding: 20px 0;}
#company::before {width: 80%;height: 80%;top: auto;bottom: 0;}
#company h2 {font-size: 1.8rem;margin-bottom: 40px;}
#company .box {display: block; }
#company .box .img {width: 100%;margin-bottom: 40px;}
#company .box .txt {width: 100%;padding-top: 0;}
}

#company-list { padding: 50px 0; background-color: #fff;}
#company-list .inner {max-width: 1200px;margin: 0 auto;padding: 0 4%;display: flex;flex-wrap: wrap;justify-content: space-between;}
#company-list .item {width: 30%;margin-bottom: 60px;}
#company-list .item .img {width: 100%;border: 1px solid #eee;margin-bottom: 25px;box-sizing: border-box;}
#company-list .item .img img {width: 100%;height: auto;display: block;}
#company-list .item h3 {font-size: 1.1rem;margin-bottom: 10px;color: #333;font-weight: normal;}
#company-list .item p {font-size: 0.8rem;color: #666;line-height: 1.6;}
#company-list .item a { display: block; text-decoration: none; color: inherit; transition: opacity 0.3s ease;}
#company-list .item a:hover { opacity: 0.7; cursor: pointer;}
#company-list .item .img { overflow: hidden; }
#company-list .item a:hover .img img { transform: scale(1.05);transition: transform 0.5s ease;}

@media screen and (max-width: 768px) {
#company-list {padding: 60px 0;}
#company-list .item {width: 100%;margin-bottom: 40px;}
#company-list .item:last-child {margin-bottom: 0;}
}

#house { padding:0; width: 100%;max-width: 1200px;  margin: 0 auto;box-sizing: border-box;}
#house h2 { font-size: 2.8rem; margin-bottom: 60px; font-weight: normal;}
#house .featured {position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: center; margin-bottom: 100px; padding: 40px 20px;}
#house .featured::before { content: ''; position: absolute; bottom: 0;width: 100vw; left: 50%;transform: translateX(-50%); height: 80%; background-color: #f9f9f9; z-index: -1;}
#house .featured .info { width: 35%;}

#house .featured h3 { font-size: 1.8rem; margin-bottom: 30px; border-bottom: 1px solid #ddd; padding-bottom: 15px;}
#house .featured h3 .sub { font-size: 1rem; margin-left: 10px;}
#house .featured .address { font-size: 1.2rem; margin-bottom: 20px;}
#house .featured .specs { font-size: 1rem; line-height: 1.6; margin-bottom: 30px;}
#house .featured .specs dt { float: left;  clear: both;  width: 8em;  font-weight: bold;}
#house .featured .specs dd { margin-left: 8em; margin-bottom: 10px;}
#house .featured .img { width: 60%;}
#house .featured .img img { width: 100%; height: auto; display: block;}
#house .house-list { display: flex; flex-wrap: wrap; justify-content: space-between;}
#house .house-list .item { width: 30%; margin-bottom: 40px;}
#house .house-list .item a { text-decoration: none; color: inherit; display: block;}
#house .house-list .item:hover { opacity: 0.7;}
#house .house-list .thumb img { width: 100%; height: auto; display: block; margin-bottom: 20px;}
#house .house-list h4 { font-size: 1.5rem; margin-bottom: 15px;}
#house .house-list .mini-specs { font-size: 1.0rem; color: #666; line-height: 1.5; margin-bottom: 15px;}
#house .house-list .mini-specs dt { float: left; clear: both; width: 6em;}
#house .house-list .mini-specs dd { margin-left: 6em;}

#house .house-list .link-text { font-size: 1rem; color: #fff; text-align: center; display: block; background: #000; padding: 0 50px; transition: 0.5s; position: relative;}
#house .house-list .link-text::before { content: ''; color: #fff; width: 0; height: 0; border-style: solid; border-color: transparent; border-width: 5px 7px; border-left-color: currentColor; border-right: 0; transform: translateX(15%); position: absolute; top: 0; right: 20px; bottom: 0; margin: auto;}


/* <a>タグ全体をFlexboxにして、高さを親(item)に合わせる */
#house .house-list .item a {
    display: flex;
    flex-direction: column;
    height: 100%;
}

/* 「詳しく見る」ボタンの上の余白を自動(auto)にして、一番下に押しやる魔法 */
#house .house-list .link-text {
    margin-top: auto;
}

/*
#house .house-list .link-text { font-size: 1rem; display: inline-flex; align-items: center;}
#house .house-list .link-text::after { content: '▶'; display: inline-block; width: 20px; height: 20px; line-height: 20px; text-align: center; border: 1px solid #ccc; border-radius: 50%; margin-left: 10px; font-size: 8px;}
*/

@media screen and (max-width: 768px) {
#house h2 {font-size: 2rem;margin-bottom: 40px;}
#house .featured {flex-direction: column-reverse; align-items: flex-start;}
#house .featured .info {width: 100%;margin-top: 30px;}
#house .featured .img {width: 100%;}
#house .house-list .item {width: 100%;margin-bottom: 50px;}
}

/*Service Page  事業内容*/
#service-lead { padding: 120px 0 80px; background-color: #fff; overflow-x: hidden; }
#service-lead .inner { margin: 0 auto; padding: 0 4%; display: flex;align-items: flex-start;}
#service-lead .titles { width: 20%;  padding-top: 10px; text-align: center;}
#service-lead h2 { font-size: 2.4rem; font-weight: normal; letter-spacing: 0.05em; margin-bottom: 20px; padding-bottom: 15px; position: relative; display: inline-block;}
#service-lead h2::after { content: ''; position: absolute;  bottom: 0; left: 50%; transform: translateX(-50%); width: 80px; height: 3px;background-color: #ddd;}
#service-lead .sub { font-size: 1rem;}
#service-lead .content { width: 65%;}
#service-lead .content .img {  margin-right: calc(50% - 50vw); width: calc(100% + 50vw - 50%); margin-bottom: 60px;}
#service-lead .content .img img { width: 100%; height: auto; display: block;}
#service-lead .txt{ width: 60%; margin: 0 auto;}
#service-lead .txt p { line-height: 2.4; margin-bottom: 2em;}

@media screen and (max-width: 768px) {
#service-lead {padding: 60px 0;}
#service-lead .inner {display: block; }
#service-lead .titles {width: 100%;margin-bottom: 40px;}
#service-lead h2 {font-size: 1.8rem;margin-bottom: 10px;padding-bottom: 10px;}
#service-lead .content {width: 100%;}
#service-lead .content .img {margin-right: -4%;width: calc(100% + 8%);margin-left: -4%;margin-bottom: 30px;}
#service-lead .txt{ width: 90%;}
#service-lead .content .txt p {font-size: 0.9rem;line-height: 2;}
}

#inservice #service-boxes { padding: 0 0 120px; background-color: #fff;}
#inservice #service-boxes .inner { max-width: 1200px; margin: 0 auto; padding: 0 4%; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
#inservice #service-boxes .box { width: 30%; margin-bottom: 60px; box-sizing: border-box;}
#inservice #service-boxes .box:nth-child(3n+2) { margin-top: 60px;}
/*#inservice #service-boxes .box .img-wrap { border: 1px solid #ccc; margin-bottom: 20px; }*/
#inservice #service-boxes .box .img-wrap {margin-bottom: 20px; }
#inservice #service-boxes .box img { width: 100%; height: auto; display: block;}
#inservice #service-boxes .box h3 { font-family: "Yu Mincho", "YuMincho", serif; font-size: 1.2rem; font-weight: normal; color: #333; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #ddd;}
#inservice #service-boxes .box p { font-size: 0.85rem; line-height: 1.8; color: #333;}

@media screen and (max-width: 768px) {
#inservice #service-boxes .box { width: 100%; margin-bottom: 40px;}
#inservice #service-boxes .box:nth-child(3n+2) { margin-top: 0;}
}

#inservice #service-house {  width: 100%; background-color: #f9f9f9; padding: 100px 0; margin-bottom: 0;}
#inservice #service-house .inner { max-width: 1200px; margin: 0 auto; padding: 0 4%;}
#inservice #service-house h2 { font-size: 2.4rem; font-weight: normal; letter-spacing: 0.05em;  margin-bottom: 50px;}
#inservice #service-house .main-img { margin-bottom: 50px; box-shadow: 0 10px 25px rgba(0,0,0,0.05);}
#inservice #service-house .main-img img { width: 100%; height: auto; display: block;}
#inservice #service-house .txt-area { text-align: center; max-width: 800px; margin: 0 auto 40px;}
#inservice #service-house h3 { font-size: 1.6rem; font-weight: normal; margin-bottom: 30px; letter-spacing: 0.1em;}
#inservice #service-house p { font-size: 1rem; line-height: 2.2; margin-bottom: 2em;}
#inservice #service-house .btn-wrap { display: flex; justify-content: center; }

@media screen and (max-width: 768px) {
#inservice #service-house { padding: 60px 0;}
#inservice #service-house h2 {font-size: 1.8rem;margin-bottom: 30px;}
#inservice #service-house .main-img {margin-bottom: 30px;}
#inservice #service-house h3 {font-size: 1.3rem;margin-bottom: 20px;}
#inservice #service-house p {text-align: left;font-size: 0.9rem;}
}

#service-indexboxes { background-color: #f9f9f9; padding: 100px 0;}
#service-indexboxes .inner { max-width: 1200px; margin: 0 auto; padding: 0 4%;}
#service-indexboxes h2 { font-family: "Yu Mincho", "YuMincho", serif; font-size: 2.4rem; font-weight: normal; letter-spacing: 0.05em; margin-bottom: 50px; color: #333;}
#service-indexboxes .list-wrap { display: flex; flex-wrap: wrap; justify-content: space-between;}
#service-indexboxes .box { width: 30%; margin-bottom: 60px; box-sizing: border-box;}
#service-indexboxes .box a { display: block; text-decoration: none; color: #333; transition: opacity 0.3s ease; }
#service-indexboxes .box a:hover { opacity: 0.6;}
#service-indexboxes .box .img-wrap { border: 1px solid #ccc; background-color: #fff; margin-bottom: 20px;}
#service-indexboxes .box img { width: 100%; height: auto; display: block;}
#service-indexboxes .box h3 { font-family: "Yu Mincho", "YuMincho", serif; font-size: 1.2rem; font-weight: normal; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #ddd;}
#service-indexboxes .box p { font-size: 0.85rem; line-height: 1.8; color: #666;}

@media screen and (max-width: 768px) {
#service-indexboxes {padding: 60px 0;}
#service-indexboxes h2 { font-size: 1.8rem; margin-bottom: 30px; }
#service-indexboxes .box {width: 100%;margin-bottom: 40px;}
}

#inservice #service-merit { padding: 100px 0 120px; background-color: #fff;}
#inservice #service-merit .inner { max-width: 1200px; margin: 0 auto; padding: 0 4%;}
#inservice #service-merit h2 { font-family: "Yu Mincho", "YuMincho", serif; font-size: 2.4rem; font-weight: normal; text-align: center; letter-spacing: 0.1em; margin-bottom: 80px; color: #333;}
#inservice #service-merit .item { display: flex; align-items: center; margin-bottom: 120px;}
#inservice #service-merit .item.reverse { flex-direction: row-reverse;}
#inservice #service-merit .txt-box { width: 60%; background-color: #f9f9f9; padding: 200px 110px; box-sizing: border-box; position: relative; z-index: 1;}
#inservice #service-merit .txt-box h3 { font-family: "Yu Mincho", "YuMincho", serif; font-size: 1.5rem; font-weight: normal; color: #333; margin-bottom: 25px; letter-spacing: 0.05em;}
#inservice #service-merit .txt-box p { font-family: "Yu Mincho", "YuMincho", serif; font-size: 0.95rem; line-height: 2.2; color: #333;}
#inservice #service-merit .img-box { width: 45%; position: relative; z-index: 2; margin-left: -5%; margin-top: 40px; }
#inservice #service-merit .item.reverse .img-box { margin-left: 0; margin-right: -5%; margin-top: -40px;}
#inservice #service-merit .img-box img { width: 100%; height: auto; display: block;}
#inservice #service-merit .logo-grid { display: flex; flex-wrap: wrap; border-top: 1px solid #eee; border-left: 1px solid #eee; margin-top: 40px;    list-style: none; padding: 0;}
#inservice #service-merit .logo-grid li { width: 25%; border-right: 1px solid #eee; border-bottom: 1px solid #eee; box-sizing: border-box; display: flex; justify-content: center; align-items: center; background-color: #fff;}
#inservice #service-merit .logo-grid li img { max-width: 100%; height: auto;}

@media screen and (max-width: 768px) {
#inservice #service-merit { padding: 60px 0; }
#inservice #service-merit h2 { font-size: 1.4rem; margin-bottom: 50px; }
#inservice #service-merit .item,#inservice #service-merit .item.reverse {flex-direction: column-reverse;margin-bottom: 60px;}
#inservice #service-merit .txt-box {width: 100%;padding: 40px 20px;}
#inservice #service-merit .img-box,#inservice #service-merit .item.reverse .img-box {width: 100%;margin: 0;}
#inservice #service-merit .txt-box h3 { font-size: 1.3rem; }
#inservice #service-merit .txt-box p { font-size: 0.9rem; }
#inservice #service-merit .logo-grid li {width: 50%;}
}

/*estate Page  会社案内*/
.company-table { width: 100%; border-collapse: collapse; margin-bottom: 40px;}
.company-table th,.company-table td { padding: 20px 10px; border-bottom: 1px solid #eee; text-align: left; vertical-align: top; font-size: 0.95rem;    line-height: 1.8; color: #333;}
.company-table th { width: 20%; font-weight: normal; color: #666;}

@media screen and (max-width: 768px) {
.company-table th,.company-table td {display: block;width: 100%;}
.company-table th {border-bottom: none;padding-bottom: 5px;font-weight: bold;}
.company-table td {padding-top: 0;padding-bottom: 20px;}
}

#office-map {background-color: #f5f6f8; padding: 80px 0;}
#office-map .inner { max-width: 1200px; margin: 0 auto; padding: 0 4%;}
#office-map h2 { text-align: center; font-family: 'Arial', sans-serif; font-size: 1.5rem; font-weight: bold; letter-spacing: 0.05em; margin-bottom: 30px; color: #333;}
#office-map .map-wrap { width: 100%; box-shadow: 0 5px 15px rgba(0,0,0,0.05);}
#office-map iframe { width: 100%; display: block;}
#company-nav { padding: 60px 0; background-color: #fff;}
#company-nav .inner { max-width: 1000px; margin: 0 auto; padding: 0 4%;}
#company-nav .nav-list { display: flex; justify-content: space-between; list-style: none; padding: 0; margin: 0; border-top: 1px solid #eee; border-bottom: 1px solid #eee;}
#company-nav .nav-list li { width: 33.333%; position: relative;}
#company-nav .nav-list li:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 20%; height: 60%; width: 1px; background-color: #eee;}
#company-nav .nav-list a { display: flex; align-items: center; justify-content: flex-start; padding: 30px 20px; text-decoration: none; color: #333;    transition: opacity 0.3s ease; position: relative;}
#company-nav .nav-list a:hover { opacity: 0.6;}
#company-nav .nav-list a::after { content: ''; position: absolute; right: 20px; top: 50%; transform: translateY(-50%) rotate(45deg); width: 8px; height: 8px; border-top: 1px solid #b22222; border-right: 1px solid #b22222;}
#company-nav .en {font-family: 'Arial', sans-serif; font-weight: bold; font-size: 1.2rem; margin-right: 15px;}
#company-nav .ja { font-family: "Yu Mincho", "YuMincho", serif; font-size: 0.9rem; color: #666;}
@media screen and (max-width: 768px) {
#company-nav .nav-list {flex-direction: column;border-bottom: none;}
#company-nav .nav-list li {width: 100%;border-bottom: 1px solid #eee;}
#company-nav .nav-list li::after {display: none;}
}

.greeting-box h3 {font-family: "Yu Mincho", "YuMincho", serif; font-size: 1.4rem; font-weight: bold; color: #333; margin-bottom: 30px; letter-spacing: 0.05em;}
.greeting-box p { font-family: "Yu Mincho", "YuMincho", serif; font-size: 0.95rem; line-height: 2.2; color: #333; margin-bottom: 2em;}
.greeting-bottom { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 40px;}
#service-lead .greeting-bottom .txt { width: 60%; margin: 0;}
#service-lead .content .greeting-bottom .img { width: 35%; text-align: right; margin-right: 0; margin-bottom: 0;}
.greeting-bottom .img img { width: 100%;max-width: 280px; height: auto; display: block;margin-left: auto;}
.greeting-bottom .img .sign { max-width: 200px; margin-top: 15px;}

@media screen and (max-width: 768px) {
.greeting-bottom {flex-direction: column;align-items: center;}
#service-lead .greeting-bottom .txt {width: 100%;margin-bottom: 30px;}
#service-lead .content .greeting-bottom .img {width: 80%;}
}

.result-columns { display: flex; justify-content: space-between; margin-top: 40px;}
.result-columns .col { width: 48%;}
.result-columns h4 { background-color: #333; color: #fff; text-align: center; padding: 12px 0; font-family: "Yu Mincho", "YuMincho", serif; font-size: 1rem; font-weight: normal; letter-spacing: 0.15em; margin-bottom: 20px;}
.result-columns ul { list-style: none; padding: 0; margin: 0 0 50px 0;}
.result-columns li { font-size: 0.85rem; line-height: 1.8; color: #333; margin-bottom: 8px; padding-left: 1em; text-indent: -1em;}

@media screen and (max-width: 768px) {
.result-columns {flex-direction: column;}
.result-columns .col {width: 100%;}
.result-columns ul {margin-bottom: 40px;}
}



/* 共通エリア
*****************************************************/
.js-fadeup { opacity: 0; transform: translateY(40px); transition: all 1s ease-out;}
.js-fadeup.is-active { opacity: 1; transform: translateY(0);}
a.btn-more {font-size: 26px; color: #fff; text-align: center; display: block; background: #484848; padding: 0 50px; transition: 0.5s; position: relative;}
a.btn-more::before { content: ''; color: #fff; width: 0; height: 0; border-style: solid; border-color: transparent; border-width: 5px 7px; border-left-color: currentColor; border-right: 0; transform: translateX(15%); position: absolute; top: 0; right: 20px; bottom: 0; margin: auto;}
a.btn-more:hover { opacity: 0.7;}
.single-post .wp-post-image {display: none;}
.single-info__title { font-size: 24px; text-align: left;}
/*
a.btn-more { display: inline-flex; align-items: center; text-decoration: none; color: #333; font-size: 1.5rem; letter-spacing: 0.25em; transition: opacity 0.3s;}
a.btn-more::after { content: '▶';display: flex; justify-content: center; align-items: center; width: 30px; height: 30px; border: 1px solid #ccc; border-radius: 50%; margin-left: 15px; font-size: 10px; color: #999;padding-left: 7px; box-sizing: border-box;}
a.btn-more:hover { opacity: 0.7;}
*/

/* フッター
*****************************************************/
footer { background-color: #484848;color: #fff; padding: 60px 0 20px; width: 100%;}
footer .inner { max-width: 1200px; margin: 0 auto; padding: 0 4%; display: flex; justify-content: space-between; align-items: flex-start;}
footer .company-info { width: 40%;}
footer .company-info h2 {font-size: 1.4rem; margin-bottom: 20px; font-weight: normal;}
footer .company-info .address { font-size: 1.2rem; margin-bottom: 20px;letter-spacing: 0.25rem;}
footer .contact-list { line-height: 1.8;letter-spacing: 0.25rem; font-size: 0.7rem;}
footer .contact-list .row { display: flex;  flex-wrap: wrap; }
footer .contact-list dt { margin-right: 0.5em;}
footer .footer-nav { width: 50%;}
footer .footer-nav h3 { font-size: 1.2rem; margin-bottom: 20px; font-family: "Times New Roman", serif; padding-bottom: 10px; display: inline-block; min-width: 100px;}
footer .footer-nav ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap;}
footer .footer-nav ul li { width: 50%; margin-bottom: 15px; box-sizing: border-box;}
footer .footer-nav ul li a { position: relative; padding-left: 15px; color: #fff; text-decoration: none; font-size: 0.9rem; transition: opacity 0.3s; display: inline-block;}
footer .footer-nav ul li a::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 10px; height: 1px; background-color: #fff;}
footer .footer-nav ul li a:hover { opacity: 0.7; text-decoration: underline;}
footer .copyright {text-align: center; font-size: 1rem; color: #aaa; margin-top: 40px; border-top: 1px solid #666; padding-top: 20px;}

@media screen and (max-width: 768px) {
footer {padding: 40px 0 20px;}
footer .inner {flex-direction: column;}
footer .company-info {width: 100%;margin-bottom: 40px;}
footer .contact-list .row {display: block;margin-bottom: 10px;}
footer .footer-nav {width: 100%;}
footer .contact-list,footer .footer-nav ul li a {font-size: 1rem;}
footer .footer-nav h3 { font-size: 1.3rem;}
}

/* グローバルナビゲーション
*****************************************************/
#mainNav ul { display: flex; list-style: none;}
#mainNav ul li a { text-decoration: none; color: #000; margin-left: 20px; letter-spacing: 0.3rem; font-size: 14px; transition: 0.5s; padding: 5px 15px;}
#mainNav ul li a:hover{ color:#adadad;}
#mainNav ul li:last-child a{ border: 1px solid #000; background: none;}
#mainNav ul li:last-child a:hover{ background: #fff;color:#000;}
div.drawer,div.fixedMenu,.spMenuCenter{display:none;}

/* 調整
------------------------------------------------------------*/
@media only screen and (max-width:1199px){
header .inner{padding:0; margin: 0;}
main{padding:20px 0;}
main .inner{padding:0 20px;}
footer{padding:20px 0;}
footer .inner{padding:0 20px;}
}

/* タブレットサイズ
------------------------------------------------------------*/
@media only screen and (max-width:999px){
}

/* スマホサイズ
------------------------------------------------------------*/
@media only screen and (max-width:644px){
.pcDisp{display:none;}
.spDisp{display:block;}
.pcBlock{display:inline;}
img.alignRight,img.alignLeft{display:block;margin:0 auto 10px;float:none;}
.fixedMenu{width:100%;height:85px;padding:10px 0 0 10px;background:#fff;display:block !important;position:fixed;top:0;left:0;box-sizing:border-box;z-index:100;}
.fixedMenu .spMenuCenter{display:block;}
div.drawer{display:block;}
nav#mainNav{display:none;}
}


/*プライバシーポリシー*/
.subContents {
  max-width: 960px;
  margin: 0 auto;
  padding: 80px 20px;
  line-height: 2;
  color: #333;
}

.subContents .title01 {
  margin: 0 0 40px;
  padding-bottom: 16px;
  border-bottom: 2px solid #d9d9d9;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}

.subContents .h3 {
  margin: 48px 0 16px;
  padding-left: 14px;
  border-left: 4px solid #484848;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.6;
}

.subContents .p01 {
  margin: 0;
  font-size: 1rem;
  line-height: 2.1;
  color: #444;
}

.subContents .p01 + .h3 {
  margin-top: 48px;
}

.subContents .p01 br {
  display: block;
  content: "";
  margin-bottom: 0.35em;
}

@media screen and (max-width: 768px) {
  .subContents {
    padding: 56px 16px;
  }

  .subContents .title01 {
    margin-bottom: 32px;
    padding-bottom: 12px;
    font-size: 1.6rem;
  }

  .subContents .h3 {
    margin: 36px 0 12px;
    padding-left: 10px;
    font-size: 1.08rem;
  }

  .subContents .p01 {
    font-size: 0.95rem;
    line-height: 1.95;
  }
}