@charset "utf-8";
/* CSS Document */
.pcno { display:none;}
img { max-width:100%;}
#navArea{ display:none;}
/*▼ 初期化 ▼*/
body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, ul, li, blockquote, th, td, tr, img { padding:0px; margin:0px; font-size:16px; line-height:1.5em; letter-spacing:1px; color:#333;-webkit-text-size-adjust:100%;font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial,"Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;}

table { border-collapse:collapse; }
ul, li { list-style:none; }
h1, h2, h3, h4, h5, h6, .more{ padding:0px; margin:0px; font-size:100%; font-weight:normal;}
a { overflow:hidden; outline:none; }
img { border:none; vertical-align:bottom; max-width:100%;}
video{ max-width:100%;}
table td { border:none; vertical-align:top; }
.text99 { text-indent:-9999px; }
a{-webkit-transition:0.5s; -moz-transition:0.5s; -ms-transition:0.5s; transition:0.5s; }
a:hover { text-decoration:none; }
a:hover { opacity:0.7; filter:alpha(opacity=50);-webkit-transition:0.5s; -moz-transition:0.5s; -ms-transition:0.5s; transition:0.5s; }
.kadomaru{-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;}
/*▲ 初期化 ▲*/


/*▼エリア・背景設定▼*/
body{ min-width:1200px;}
#body-top{ overflow:hidden;}


/*----------  ヘッダー  ----------*/
/*----------  ヘッダー  ----------*/
/*----------  ヘッダー  ----------*/
h1{ opacity:0; height:0px; overflow:hidden;}
#header{ background:#fff;}
#header #hmid{ width:1100px; height:110px; margin:auto; overflow:hidden;}
#header #hmid .left{ float:left; padding-top:18px;}
#header #hmid .left a{ display:block; text-decoration:none;}
#header #hmid .left a img{ vertical-align:middle; margin-right:15px;}
#header #hmid .left a p{ display:inline-block; vertical-align:middle; font-size:20px; font-weight:bold; color:#333; line-height:1.6em; letter-spacing: normal;}
#header #hmid .left a p span{ display:block; font-size:20px; color:#333; line-height: 1.5em; letter-spacing:1px}

#header #hmid .right{ float:right; padding-top:28px;}
#header #hmid .right a{ color:#fff; display:inline-block; text-decoration:none; font-size:14px; font-weight:bold; margin-left:10px; border-radius:4px;}
#header #hmid .right .faq{ background:#1e73c3 url(../images/common/ico-search.png)13px 17px no-repeat; background-size:20px auto; padding:15px 20px 15px 40px;}
#header #hmid .right .contact{ background:#8b82c7 url(../images/common/ico-mail.png)15px 20px no-repeat; background-size:17px auto; padding:15px 20px 15px 40px;}
#header .header-copy{ background:#37a067; color:#fff; text-align:center; font-size:24px; font-weight:bold; letter-spacing:3px; padding:17px 0;}
#navArea{ display:none;}



/*----------  ナビゲーション navi  ----------*/
/*----------  ナビゲーション navi  ----------*/
/*----------  ナビゲーション navi  ----------*/
#navi{ width:1100px; margin:0 auto 90px; background:#fff; text-align:center; border-radius:50px;}
#navi a{ color:#333; display:inline-block; text-decoration:none; font-size:16px; font-weight:bold; padding:25px 20px; position:relative; margin-right: 50px;}
#navi a:last-child{ margin-right: 0;}

#navi a:hover{ opacity:1; transition:0.3s; color:#1e73c3;}
#navi a:after /*ナビ下線*/{ content:""; position:absolute;left:0;bottom:15px;width:100%;height:2px;background:#1e73c3; transform:scale(0, 1);transition:0.3s;}
#navi a:hover:after{ transform:scale(1);}


#hmp{ background:url(../images/home/mp.png)center top no-repeat; margin:auto; height: 820px;}


#mp{ background:url(../images/common/mp.png)center top no-repeat;}
#mp .area-01{ width:1100px; margin:auto; height:400px; position:relative;}
#mp .area-01 p{ font-size:42px; font-weight:bold; color:#fff; left:0; top:50%; transform:translateY(-50%); position:absolute;}

#contact #mp{ background:url(../images/contact/mp.png)center top no-repeat;}
#contact #mp .area-01{ height: 500px;}
#contact #mp .area-01 p{ color:#333;}



/*----------  フッター footer  ----------*/
/*----------  フッター footer  ----------*/
/*----------  フッター footer  ----------*/
#footer{ background:url(../images/common/bk-footer.png)center top; padding:55px 0 0px; text-align:center;}
#footer #fnavi{}
#footer #fnavi a{ color:#333; text-decoration:none; font-size:15px; font-weight:bold; margin-right:25px; position: relative; padding-bottom:15px;}
#footer #fnavi a:last-of-type{ margin-right: 0;}

#footer #fnavi a:hover{ opacity:1; transition:0.3s; color:#1e73c3;}
#footer #fnavi a:after /*ナビ下線*/{ content:""; position:absolute;left:0;bottom:0px;width:100%;height:2px;background:#1e73c3; transform:scale(0, 1);transition:0.3s;}
#footer #fnavi a:hover:after{ transform:scale(1);}

#footer .area-01{ text-align: center; padding:80px 0 70px;}
#footer .area-01 a{ display:inline-block; text-decoration:none;}
#footer .area-01 a img{ vertical-align:middle; margin-right:15px;}
#footer .area-01 a p{ display:inline-block; vertical-align:middle; font-size:20px; font-weight:bold; color:#333; text-align: left; line-height:1.6em; letter-spacing: normal;}
#footer .area-01 a p span{ display:block; font-size:20px; color:#333; line-height: 1.5em; letter-spacing:1px}

#footer #tamonten { clear:both; text-align:center;font-size:10px; padding:10px 0;}
#footer #tamonten a { display:block; cursor:default; color:#4c4949; text-decoration:none; opacity:1; filter:alpha(opacity=100);}




/* 追従ボタン */
#fixd-btn{ position:fixed; top:150px; right:0; z-index:2;}
#fixd-btn a{ background:#1e73c3 url(../images/common/ico-search.png)23px 20px no-repeat; background-size:20px auto; padding:20px 15px; border-radius:20px 0 0 20px; display:block; text-decoration:none; text-align:center; margin-bottom:20px;}
#fixd-btn a p{ font-size:17px; font-weight:bold; color:#fff; -ms-writing-mode:tb-rl; writing-mode:vertical-rl; text-orientation:upright; display:inline-block; margin:30px 0 0 5px; letter-spacing:3px;}
#fixd-btn a p img{ margin-bottom:10px;}

#fixd-btn a.contact{ background:#b7b1d6 url(../images/common/ico-mail.png)25px 25px no-repeat; background-size:17px auto;}



.page-top {
	position:fixed;
    bottom:70px;
    right:60px;
	background-image:url(../images/common/totop.png);
	width:90px; height:90px; text-indent:-9999px;
    background-size:90px auto;
    -ms-filter:"alpha(opacity=80)";
    -moz-opacity:0.8;
    -khtml-opacity:0.8;
    opacity:0.8;
	z-index:10;
	-webkit-transition:0s; -moz-transition:0s; -ms-transition:0s; transition:0s;}




/*----------  共通  ----------*/
/*----------  共通  ----------*/
/*----------  共通  ----------*/

#main{}
.box{ width:1100px; margin:auto; padding:70px 0;}
.bk-paper{ background:#fff url(../images/common/bk-body.jpg)center top repeat; position:relative; overflow:hidden;}


.h2-01{ font-size:36px; font-weight:bold; margin-bottom:70px;}
.h2-01.center{ text-align:center;}
.h2-01 span{ background:linear-gradient(transparent 72%,#fff000 72%); padding:0 8px;}


.h2-02{ font-size:36px; font-weight:bold; color:#235ba7; text-align: center; margin-bottom:70px; position: relative; z-index:2;}
.h2-02 span{ font-size:95px; font-weight:bold; color:#e0f2fe; text-align:center; line-height:1em; letter-spacing:4px; display: inline-block; position: absolute; top:-50px; left:0; right:0; margin:auto; z-index:-1;}


.more{ width:500px; margin:45px auto 0;}
.more a{ background:#37a067; font-size:16px; font-weight:bold; color:#fff; display:block; text-align:center; text-decoration:none; line-height:1em; padding:20px 35px; border-radius:40px; box-sizing:border-box; position:relative;}
.more a:after{ content:"▶"; font-size:20px; color:#fff; position:absolute; right:25px; top:35%;}



/*----------  ホーム home  ----------*/
/*----------  ホーム home  ----------*/
/*----------  ホーム home  ----------*/
#home #main{ background:#e0f2fe; padding:60px 0 0;}
#home #box-01{ padding:10px 0 50px; position:relative; overflow:hidden;}
#home #box-01 .p-lead{ font-size:24px; font-weight:bold; text-align:center; padding-top:30px; margin-bottom:10px; background:url(../images/home/ico-ashirai.png)center top no-repeat;}
#home #box-01 .area-01{ width:1100px; margin:auto; text-align:center; position:relative; z-index:2;}
#home #box-01 .entry{ width: 320px; display:inline-block; vertical-align:top; margin:0 25px 0 0;}
#home #box-01 .entry:last-of-type{ margin-right: 0;}
#home #box-01 .entry img{ width:300px; height:300px; object-fit:contain; margin-bottom:25px;}
#home #box-01 .entry p{ background:#fff; display:inline-block; font-size:16px; font-weight:bold; line-height:1.7em; padding:15px 40px; border-radius:50%;}



#home #box-02{ position:relative; padding:180px 0 120px;}
#home #box-02:before{
    content:"";
    width:1000px;
    height:300px;
    background:#e0f2fe;
    border-radius:50%;
    position:absolute;
    left:50%;
    top:-210px;
    transform:translateX(-50%);
}
#home #box-02:after{ content:""; background:url(../images/common/bk-deco.png)center/contain no-repeat; width:297px; height:213px; position:absolute; right:-300px; top:80px;}
#home #box-02 .area-01{ overflow:hidden; padding:10px 10px;}
#home #box-02 .tb{ width:520px;padding-top:25px;}
#home #box-02 .tb p{ font-size:16px; line-height:2em;}
#home #box-02 .img-01{ width:510px; float:right; position: relative;}
#home #box-02 .img-01::before{ content:""; width:510px; height: 340px; border:1px solid #37a067; position: absolute; left:-10px; top:-10px; display: inline-block; border-radius:10px;}
#home #box-02 .img-01 img{ border-radius:10px; box-shadow:10px 10px 0 #ddf4e7;}
/*----------  モーダル modal  ----------*/
.modal{ width:100%; height:100%; visibility:hidden; opacity:0; position:fixed; left:0; top:0; z-index:10000; transition:.3s;}
.modal.is-open{ visibility:visible; opacity:1;}
.modal .modal-bg{ background:rgba(0,0,0,.65); width:100%; height:100%; position:absolute; left:0; top:0; cursor:pointer;}
.modal .modal-inner{ background:#fff url(../images/common/bk-paper.jpg)left top repeat; width:1100px; max-height:85vh; padding:55px 45px; box-sizing:border-box; border:2px solid #777; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); overflow-y:auto;}
.modal .modal-close{ background:#fff; width:44px; height:44px; padding:0; border:1px solid #333; border-radius:50%; position:absolute; right:25px; top:20px; cursor:pointer;}
.modal .modal-close:before,.modal .modal-close:after{ content:""; background:#333; width:20px; height:1px; position:absolute; left:11px; top:20px;}
.modal .modal-close:before{ transform:rotate(45deg);}
.modal .modal-close:after{ transform:rotate(-45deg);}
.modal .modal-content{ overflow:hidden; padding-top:25px;}
.modal .modal-content .tb2{}
.modal .modal-content .tb2 h2{ font-size:28px; font-weight:bold; margin-bottom:25px;}
.modal .modal-content .tb2 h2 span{ background: linear-gradient(transparent 72%, #fff000 72%); padding:0 4px;}
.modal .modal-content .tb p{ font-size:16px; line-height:1.9em; margin-bottom:18px;}


body.modal-fixed{ overflow:hidden;}


#home #box-03{ padding:70px 0 120px; position:relative;}
#home #box-03:before{ content:""; background:url(../images/common/bk-deco.png)center/contain no-repeat; width:297px; height:213px; position:absolute; left:-300px; top:40px;}
#home #box-03 .area-01{}
#home #box-03 .entry{ min-height:390px; overflow:hidden; margin-bottom:15px; position:relative; padding:10px 10px;}
#home #box-03 .entry .img{ width:430px; position: relative;}
#home #box-03 .entry .img::before{ content:""; width:428px; height: 318px; border:1px solid #93bae0; position: absolute; left:-10px; top:-10px; display: inline-block; border-radius:10px;}
#home #box-03 .entry .img img{ border-radius:10px; box-shadow:10px 10px 0 #e0f2fe;}
#home #box-03 .entry .tb{ width:580px; padding-top:50px; position:relative;}
#home #box-03 .entry .tb span{ font-size:170px; font-weight:bold; color:#e0f2fe; line-height:1em; position:absolute; right:0; top:-25px; z-index:0;}
#home #box-03 .entry h3{ font-size:24px; font-weight:bold; color:#147ac1; line-height:1.7em; margin-bottom:40px; position:relative; z-index:2;}
#home #box-03 .entry p{ font-size:16px; line-height:1.8em; position:relative; z-index:2;}
#home #box-03 .entry-01 .img,#home #box-03 .entry-03 .img{ float:left;}
#home #box-03 .entry-01 .tb,#home #box-03 .entry-03 .tb{ float:right;}
#home #box-03 .entry-02 .img{ float:right;}
#home #box-03 .entry-02 .tb{ float:left;}
#home #box-03 .entry-02 .tb span{ left:0; top:-25px; z-index:0;}
#home #box-03 .entry-03{ margin-bottom: 0;}

#home #box-03 .more-main{ width:600px; margin-top:30px;}
#home #box-03 .more-main a{ font-size: 20px; padding:25px 0;}
#home #box-03 .more-main a::after{ right:50px; top:38%;}



#home #box-04 .bnr{ width:50%; display:block; overflow:hidden;}
#home #box-04 .bnr img{ width:100%; height:auto; display:block;}



/*----------  大型バナー banners  ----------*/
#box-bnr{ width:100%; display:flex;}
#box-bnr .entry{ width:50%; min-height:500px; position:relative; overflow:hidden; padding:80px 65px 50px; box-sizing:border-box;}
#box-bnr .entry.gyosei{ background:#a5d1e3;}
#box-bnr .entry.sharo{ background:#ddd9f1;}
#box-bnr .entry img{ max-width:52%; max-height:390px; position:absolute; right:0; bottom:70px; object-fit:contain;}
#box-bnr .entry .tb{ position:relative; z-index:2;}
#box-bnr .entry .tb p{ font-size:22px; font-weight: bold; line-height:1.7em; letter-spacing:0.05em; margin-bottom:20px; position:relative; text-shadow:2px 2px 0 rgba(95,160,215,.4);}
#box-bnr .entry .tb p:before{content:"";width:9px;height:9px;border-radius:50%;background:#266ab1;position:absolute;left:237px;top:-13px;box-shadow:-25px 0 0 #266ab1,25px 0 0 #266ab1;}
#box-bnr .entry h2{ font-size:46px; font-weight: bold; line-height:1.5em; margin-bottom:30px; text-shadow:4px 4px 0 rgba(95,160,215,.4);}
#box-bnr .entry .official{ background:#fff; font-size:20px; font-weight: bold; color:#333; display:block; width:80%; padding:20px 20px; border:6px solid #266ab1; box-sizing:border-box; text-align:center; text-decoration:none; position:absolute; left:0; right:0; bottom:70px; margin:auto;}
#box-bnr .entry.sharo .official{ border-color:#685baa;}
#box-bnr .entry.sharo img{ bottom:0;}
#box-bnr .entry.sharo p{ text-shadow:2px 2px 0 rgba(255,255,255,.8);}
#box-bnr .entry.sharo h2{ text-shadow:4px 4px 0 rgba(255,255,255,.8);}
#box-bnr .entry.sharo p:before{ left:306px; background:#712c33; box-shadow:-25px 0 0 #712c33, 25px 0 0 #712c33;}



/*----------  下層共通 lower  ----------*/
/*----------  下層共通 lower  ----------*/
/*----------  下層共通 lower  ----------*/
.lower-mp{ height:405px; background-position:center; background-repeat:no-repeat; background-size:cover; position:relative;}
.lower-mp:before{ content:""; background:rgba(20,25,35,.38); width:50%; height:100%; position:absolute; left:0; top:0;}
.lower-mp .area-01{ width:1100px; height:405px; margin:auto; position:relative;}
.lower-mp .area-01 p{ color:#fff; font-size:32px; font-weight:bold; line-height:1.7em; position:absolute; left:0; top:145px;}
.lower-navi{ padding:55px 0 80px; text-align:center;}
.lower-navi ul{ background:#fff; width:1100px; margin:auto; border-radius:35px; list-style:none; overflow:hidden; box-shadow:0 2px 10px rgba(0,0,0,.04);}
.lower-navi ul li{ width:33.333%; float:left;}
.lower-navi ul li a{ display:block; color:#333; font-size:15px; text-decoration:none; padding:20px 10px; position:relative;}
.lower-navi ul li.current a:after{ content:""; width:70%; height:3px; position:absolute; left:15%; bottom:8px;}
.p-lead{ font-size:16px; line-height:2em; text-align:center; margin-bottom:60px;}
.paper-bg{ background:#fff url(../images/common/bk-paper.jpg)left top repeat;}
.line-yellow{ text-decoration:underline; text-decoration-color:#fff000; text-decoration-thickness:8px; text-underline-offset:-2px; text-decoration-skip-ink:none;}


/*----------  行政書士 gyoseishoshi  ----------*/
/*----------  行政書士 gyoseishoshi  ----------*/
/*----------  行政書士 gyoseishoshi  ----------*/
#gyoseishoshi #main{ background:#e0f2fe; padding:60px 0 0;}

#gyoseishoshi #box-01{ background:#dff2ff; position:relative; padding:20px 0 50px;}
#gyoseishoshi #box-01 h2{ margin-bottom:40px;}
#gyoseishoshi #box-01 .p-lead{ margin-bottom:70px;}
#gyoseishoshi #box-01 .area-01{ text-align:center; margin-bottom:20px;}
#gyoseishoshi #box-01 .entry{ display:inline-block; vertical-align:top; text-align: left; margin:0 0 0 40px;}
#gyoseishoshi #box-01 .entry img{ width: 140px; vertical-align: middle; margin-right:15px;}
#gyoseishoshi #box-01 .entry p{ font-size:15px; line-height:1.7em; display: inline-block; vertical-align: middle;}
#gyoseishoshi #box-01 .entry:last-child{ margin-right: 0;}

#gyoseishoshi .bk-paper{ position:relative;}
/* セクション上部下部半円 */
#gyoseishoshi .bk-paper:before{
    content:"";
    width:1000px;
    height:300px;
    background:#e0f2fe;
    border-radius:50%;
    position:absolute;
    left:50%;
    top:-210px;
    transform:translateX(-50%);
}
#gyoseishoshi .bk-paper:after{
    content:"";
    width:1000px;
    height:300px;
    background:#e0f2fe;
    border-radius:50%;
    position:absolute;
    left:50%;
    bottom:-210px;
    transform:translateX(-50%);
}
/* 背景の菱形アイコン */
#gyoseishoshi #box-02{
    padding:170px 0 70px;
    position:relative;
    max-width:1920px;
    min-width:1300px;
    margin:auto;
    background-image:
        url(../images/common/bk-deco.png),
        url(../images/common/bk-deco.png),
        url(../images/common/bk-deco.png),
        url(../images/common/bk-deco.png);
    background-repeat:
        no-repeat,
        no-repeat,
        no-repeat,
        no-repeat;
    background-position:
        left 50px top 100px,
        right 50px top 500px,
        left 50px top 1000px,
        right 50px bottom 10px;
}
#gyoseishoshi #box-02 .area-01{ width: 1100px; margin:auto;}
#gyoseishoshi #box-02 .entry{ min-height:390px; overflow:hidden; margin-bottom:15px; position:relative; padding:10px 10px; position: relative;}
#gyoseishoshi #box-02 .entry .img{ width:430px; position: relative;}
#gyoseishoshi #box-02 .entry .img::before{ content:""; width:428px; height: 318px; border:1px solid #93bae0; position: absolute; left:-10px; top:-10px; display: inline-block; border-radius:10px;}
#gyoseishoshi #box-02 .entry .img img{ border-radius:10px; box-shadow:10px 10px 0 #e0f2fe;}
#gyoseishoshi #box-02 .entry .tb{ width:550px; padding:50px 40px 0 0; position:relative;}
#gyoseishoshi #box-02 .entry .tb span{ font-size:170px; font-weight:bold; color:#e0f2fe; line-height:1em; position:absolute; right:25px; top:-25px; z-index:0;}
#gyoseishoshi #box-02 .entry h3{ font-size:24px; font-weight:bold; color:#147ac1; line-height:1.7em; margin-bottom:40px; position:relative; z-index:2;}
#gyoseishoshi #box-02 .entry p{ font-size:16px; line-height:1.8em; position:relative; z-index:2;}
#gyoseishoshi #box-02 .entry-01 .img,#gyoseishoshi #box-02 .entry-03 .img{ float:left;}
#gyoseishoshi #box-02 .entry-01 .tb,#gyoseishoshi #box-02 .entry-03 .tb{ float:right;}
#gyoseishoshi #box-02 .entry-02 .img{ float:right;}
#gyoseishoshi #box-02 .entry-02 .tb{ float:left; padding:50px 0px 0 40px;}
#gyoseishoshi #box-02 .entry-02 .tb span{ left:25px; top:-25px; z-index:0;}
#gyoseishoshi #box-02 .entry-03{ margin-bottom: 0;}
/* 横にある丸・線CSS */
#gyoseishoshi #box-02 .entry .tb:before{
    content:"";
    width:2px;
    height:200px;
    background:#ddd;
    position:absolute;
    right:4px;
    top:0px;
}
#gyoseishoshi #box-02 .entry .tb:after{
    content:"";
    width:10px;
    height:10px;
    background:#1e73c3;
    border-radius:50%;
    position:absolute;
    right:0px;
    top:0px;
}
#gyoseishoshi #box-02 .entry-02 .tb:before{ left:4px; right:auto;}
#gyoseishoshi #box-02 .entry-02 .tb:after{ left:0; right:auto;}


#gyoseishoshi #box-03{ background:#dff2ff; padding-bottom:90px;}
#gyoseishoshi #box-03 .area-01{ margin-bottom:80px;}
#gyoseishoshi #box-03 .area-01 h3{ font-size:24px; font-weight: bold; margin:50px 0 10px 10px;}
#gyoseishoshi #box-03 table{ width:100%; border-collapse:collapse; background:#fff; margin-bottom:60px;}
#gyoseishoshi #box-03 table th{ background:#235ba7; color:#fff; font-size:18px; text-align:left; padding:20px 20px; border:1px solid #235ba7;}
#gyoseishoshi #box-03 table th:first-child{ width:550px;}
#gyoseishoshi #box-03 table td{ font-size:16px; line-height:1.7em; padding:13px 20px; border:1px solid #235ba7;}
#gyoseishoshi #box-03 table td:last-child{ width:5%; text-align:center;}
#gyoseishoshi #box-03 .area-02{ text-align:center;}
#gyoseishoshi #box-03 .area-02 h2{ margin-bottom: 40px;}
#gyoseishoshi #box-03 .area-02 p{ line-height:2em;}
#gyoseishoshi #box-03 .more{}
#gyoseishoshi #box-03 .more a{ font-size:18px; background:#1e73c3 url(../images/gyoseishoshi/ico-pdf.png)70px 50% no-repeat; background-size:25px auto; padding:30px 0 30px 40px; border-radius:8px;}
#gyoseishoshi #box-03 .more a::after{ display: none;}





/*----------  社労士 sharoshi  ----------*/
/*----------  社会保険労務士 sharoshi  ----------*/
/*----------  社会保険労務士 sharoshi  ----------*/
#sharoshi #main{ background:#f2f0fb; padding:60px 0 0;}

#sharoshi #box-01{ background:#f2f0fb; position:relative; padding:20px 0 50px;}
#sharoshi #box-01 h2{ margin-bottom:40px;}
#sharoshi #box-01 .p-lead{ margin-bottom:70px;}
#sharoshi #box-01 .area-01{ text-align:center; margin-bottom:20px;}
#sharoshi #box-01 .entry{ display:inline-block; vertical-align:top; text-align: left; margin:0 0 0 40px;}
#sharoshi #box-01 .entry img{ width: 140px; vertical-align: middle; margin-right:15px;}
#sharoshi #box-01 .entry p{ font-size:15px; line-height:1.7em; display: inline-block; vertical-align: middle;}
#sharoshi #box-01 .entry:last-child{ margin-right: 0;}

#sharoshi .bk-paper{ position:relative;}
/* セクション上部下部半円 */
#sharoshi .bk-paper:before{
    content:"";
    width:1000px;
    height:300px;
    background:#f2f0fb;
    border-radius:50%;
    position:absolute;
    left:50%;
    top:-210px;
    transform:translateX(-50%);
}
#sharoshi .bk-paper:after{
    content:"";
    width:1000px;
    height:300px;
    background:#f2f0fb;
    border-radius:50%;
    position:absolute;
    left:50%;
    bottom:-210px;
    transform:translateX(-50%);
}
/* 背景の菱形アイコン */
#sharoshi #box-02{
    padding:170px 0 70px;
    position:relative;
    max-width:1920px;
    min-width:1300px;
    margin:auto;
    background-image:
        url(../images/common/bk-deco.png),
        url(../images/common/bk-deco.png),
        url(../images/common/bk-deco.png),
        url(../images/common/bk-deco.png);
    background-repeat:
        no-repeat,
        no-repeat,
        no-repeat,
        no-repeat;
    background-position:
        left 50px top 100px,
        right 50px top 500px,
        left 50px top 1000px,
        right 50px bottom 10px;
}
#sharoshi #box-02 .area-01{ width: 1100px; margin:auto;}
#sharoshi #box-02 .entry{ min-height:390px; overflow:hidden; margin-bottom:15px; position:relative; padding:10px 10px; position: relative;}
#sharoshi #box-02 .entry .img{ width:430px; position: relative;}
#sharoshi #box-02 .entry .img::before{ content:""; width:428px; height: 318px; border:1px solid #685baa; position: absolute; left:-10px; top:-10px; display: inline-block; border-radius:10px;}
#sharoshi #box-02 .entry .img img{ border-radius:10px; box-shadow:10px 10px 0 #e3defe;}
#sharoshi #box-02 .entry .tb{ width:550px; padding:50px 40px 0 0; position:relative;}
#sharoshi #box-02 .entry .tb span{ font-size:170px; font-weight:bold; color:#f2f0fb; line-height:1em; position:absolute; right:25px; top:-25px; z-index:0;}
#sharoshi #box-02 .entry h3{ font-size:24px; font-weight:bold; color:#685baa; line-height:1.7em; margin-bottom:40px; position:relative; z-index:2;}
#sharoshi #box-02 .entry p{ font-size:16px; line-height:1.8em; position:relative; z-index:2;}
#sharoshi #box-02 .entry-01 .img,#sharoshi #box-02 .entry-03 .img{ float:left;}
#sharoshi #box-02 .entry-01 .tb,#sharoshi #box-02 .entry-03 .tb{ float:right;}
#sharoshi #box-02 .entry-02 .img{ float:right;}
#sharoshi #box-02 .entry-02 .tb{ float:left; padding:50px 0px 0 40px;}
#sharoshi #box-02 .entry-02 .tb span{ left:25px; top:-25px; z-index:0;}
#sharoshi #box-02 .entry-03{ margin-bottom: 0;}
/* 横にある丸・線CSS */
#sharoshi #box-02 .entry .tb:before{
    content:"";
    width:2px;
    height:200px;
    background:#ddd;
    position:absolute;
    right:4px;
    top:0px;
}
#sharoshi #box-02 .entry .tb:after{
    content:"";
    width:10px;
    height:10px;
    background:#685baa;
    border-radius:50%;
    position:absolute;
    right:0px;
    top:0px;
}
#sharoshi #box-02 .entry-02 .tb:before{ left:4px; right:auto;}
#sharoshi #box-02 .entry-02 .tb:after{ left:0; right:auto;}



#sharoshi #box-03{ padding-bottom:90px;}
#sharoshi #box-03 .area-01{ margin-bottom:80px;}
#sharoshi #box-03 .area-01 h3{ font-size:24px; font-weight: bold; margin:50px 0 10px 10px;}
#sharoshi #box-03 table{ width:100%; border-collapse:collapse; background:#fff; margin-bottom:60px;}
#sharoshi #box-03 table th{ background:#685baa; color:#fff; font-size:18px; text-align:left; padding:20px 20px; border:1px solid #685baa;}
#sharoshi #box-03 table th:first-child{ width:550px;}
#sharoshi #box-03 table td{ font-size:16px; line-height:1.7em; padding:13px 20px; border:1px solid #685baa;}
#sharoshi #box-03 table td:last-child{ width:5%; text-align:center;}
#sharoshi #box-03 .area-02{ text-align:center;}
#sharoshi #box-03 .area-02 h2{ margin-bottom: 40px;}
#sharoshi #box-03 .area-02 p{ line-height:2em;}
#sharoshi #box-03 .more{}
#sharoshi #box-03 .more a{ font-size:16px; background:#685baa url(../images/gyoseishoshi/ico-pdf.png)70px 50% no-repeat; background-size:25px auto; padding:30px 0 30px 40px; border-radius:8px;}
#sharoshi #box-03 .more a::after{ display: none;}




/*----------  共通お問い合わせ contact-box  ----------*/
/*----------  共通お問い合わせ contact-box  ----------*/
/*----------  共通お問い合わせ contact-box  ----------*/
#box-contact{ background:url(../images/common/bk-contact.png)center center no-repeat; position:relative; padding:75px 0 80px; max-height: 490px; box-sizing:border-box;}
#box-contact .area-01{ width: 1100px; margin:auto; overflow:hidden;}
#box-contact h2{ font-size:60px; font-weight:bold; color:#1e73c3; line-height:1em; border-bottom:3px solid #1e73c3; padding-bottom:10px; margin-bottom:40px;}
#box-contact h2 span{ font-size:20px; color:#333; display: inline-block; margin-left: 30px;}
#box-contact .tb{ width:540px; float:left;}
#box-contact .tb p{ font-size:16px; line-height:1.8em;}
#box-contact .tb .p-name{ font-size:15px; letter-spacing: normal; margin-top: 30px;}
#box-contact .tb .p-name span{ font-size: 16px; font-weight: bold; letter-spacing:1px; display: block;}
#box-contact .contact-info{ width:480px; float:right;}
#box-contact .contact-info .p-tel{ font-size:50px; font-weight: bold; line-height: 1em; margin-bottom:10px;}
#box-contact .contact-info .p-tel a{ background:url(../images/consultation/ico-tel.png)left 10px no-repeat; background-size:28px auto; color:#1e73c3; display:inline-block; line-height: 1em; text-decoration: none; padding:0 0 0 32px;}
#box-contact .contact-info .time{ font-size:15px; letter-spacing: normal; margin-bottom:20px;}
#box-contact .contact-info .mail{ font-size:18px; text-align: center; display:inline-block;}
#box-contact .contact-info .mail a{ background:#266ab1 url(../images/consultation/ico-mail.png)30px 50% no-repeat; background-size:22px auto; color:#fff; display:inline-block; padding:20px 30px 20px 65px; border-radius:50px; text-decoration: none;}


#sharoshi #box-contact h2{ color:#685baa; border-bottom:3px solid #685baa;}
#sharoshi #box-contact .contact-info .p-tel a{ background:url(../images/sharoshi/ico-tel.png)left 10px no-repeat; color:#685baa; background-size:28px auto;}
#sharoshi #box-contact .contact-info .mail a{ background:#685baa url(../images/consultation/ico-mail.png)30px 50% no-repeat; background-size:22px auto;}



/*----------  相談先 consultation  ----------*/
/*----------  相談先 consultation  ----------*/
/*----------  相談先 consultation  ----------*/
#consultation #main{ background:#e0f2fe; padding:60px 0 0;}

#consultation #box-01{ background:#dff2ff; padding:10px 0 50px; position:relative; overflow:hidden;}
#consultation #box-01:before{ content:""; background:url(../images/common/bk-deco.png)center/contain no-repeat; width:297px; height:213px; position:absolute; left:15px; top:100px;}
#consultation #box-01 h2{ color:#1e73c3; margin-bottom: 50px;}
#consultation #box-01 .p-lead{ font-size:16px; line-height:1.8em; text-align:center; margin-bottom:60px;}


#consultation #box-01 .box{ position:relative; z-index:2; padding:0px 0 30px;}
#consultation #box-01 .box:after{ content:""; background:url(../images/common/bk-deco.png)center/contain no-repeat; width:297px; height:213px; position:absolute; right:-280px; top:580px;}
#consultation #box-01 .area-01{ text-align:center; margin-bottom:50px;}
#consultation #box-01 .entry{ width:500px; display:inline-block; vertical-align:top; margin:0 12px; text-align:left; overflow:hidden;}
#consultation #box-01 .entry .inner{ background:#fff; min-height:185px; display:inline-block; vertical-align:top; border:5px solid #235ba7; border-radius:10px; padding:28px 30px; box-sizing:border-box; overflow:hidden;}
#consultation #box-01 .entry:last-child .inner{ border-color:#6553ac;}
#consultation #box-01 .entry .ico{ width:120px; display:inline-block; margin-right:30px; vertical-align:middle;}
#consultation #box-01 .entry .tb{ width: 260px; padding-top:5px; display: inline-block; vertical-align: middle;}
#consultation #box-01 .entry h3{ font-size:28px; font-weight: bold; color:#235ba7; margin-bottom:5px;}
#consultation #box-01 .entry:last-child h3{ color:#6553ac;}
#consultation #box-01 .entry h3 span{ font-size:15px; font-weight:normal; margin-left:5px;}
#consultation #box-01 .entry p{ font-size:15px; line-height:1.7em;}

#consultation #box-01 .entry .arrow{ display:block; margin:25px auto 25px;}
#consultation #box-01 .entry a{ background:#266ab1; color:#fff; display:block; text-align: center; font-size:18px; font-weight:bold; text-decoration:none; padding:25px 25px; position:relative; border-radius:8px;}
#consultation #box-01 .entry:last-child a{ background:#685baa;}
#consultation #box-01 .entry a:after{ content:"▶"; font-size:20px; position:absolute; right:30px; top:33%;}

#consultation #box-01 .area-03{ width:1100px; margin:auto;}
#consultation #box-01 table{ width:100%; border-collapse:collapse; background:#fff;}
#consultation #box-01 table th,#consultation #box-01 table td{ border:1px solid #266ab1; font-size:15px; line-height:1.6em; padding:15px 20px; box-sizing:border-box; vertical-align: middle;}
#consultation #box-01 table th{ color:#fff; font-size:16px; text-align:center;}
#consultation #box-01 table th:first-child{ background:#fff; width:150px;}
#consultation #box-01 table th:last-child{ border-color:#685baa;}
#consultation #box-01 table th.blue{ background:#266ab1;}
#consultation #box-01 table th.purple{ background:#685baa;}
#consultation #box-01 table td:first-child{ text-align:center; font-size: 16px; font-weight:bold; letter-spacing:4px; vertical-align: middle;}
#consultation #box-01 table td .blue{ font-weight: bold; color:#266ab1;}
#consultation #box-01 table td .purple{ font-weight: bold; color:#685baa;}


#consultation #box-02{ padding:200px 0 100px;}
#consultation #box-02:before{
    content:"";
    width:1000px;
    height:300px;
    background:#e0f2fe;
    border-radius:50%;
    position:absolute;
    left:50%;
    top:-210px;
    transform:translateX(-50%);
}
#consultation #box-02 .area-01{ min-height:470px; position:relative;}
#consultation #box-02 .img-map{ width:340px; position:absolute; left:-280px; top:-80px;}
#consultation #box-02 .tb{ width:550px; padding:100px 0 0 70px; box-sizing:border-box;}
#consultation #box-02 .tb .p-en{ color:#e0f2fe; font-size:60px; font-weight:bold; line-height:1em; margin-bottom:20px; position: absolute; left:0; top:0; letter-spacing: 5px;}
#consultation #box-02 .tb h2{ color:#235ba7; font-size:30px; margin-bottom:15px;}
#consultation #box-02 .tb h3{ font-size:20px; font-weight: bold; margin-bottom:25px;}
#consultation #box-02 .tb p{ font-size:16px; line-height:1.8em;}
#consultation #box-02 .img-01{ position: absolute; right:-150px; top:0; border-radius:10px; box-shadow:12px 12px 0 #dceffc;}
#consultation #box-02 .more{ width:450px; margin:40px 0 0;}
#consultation #box-02 .more a{ background:#235ba7;}





/*----------  お問い合わせ contact  ----------*/
/*----------  お問い合わせ contact  ----------*/
/*----------  お問い合わせ contact  ----------*/
#contact #box-01{ padding:100px 0 120px;}
#contact #box-01 h2{ margin-bottom:40px;}
#contact #box-01 .p-01{ font-size:20px; font-weight: bold; color:#235ba7; text-align:center; margin-bottom:25px;}
#contact #box-01 .area-01{ overflow: hidden; margin-bottom: 30px;}
#contact #box-01 .entry{ width: 360px; float: left; background:#eaf2fa; padding:35px 20px; text-align:center; box-sizing:border-box; margin-right:10px;}
#contact #box-01 .entry:last-child{ margin-right: 0;}
#contact #box-01 .entry h3{ font-size:19px; font-weight: bold; margin-bottom:15px;}
#contact #box-01 .entry .p-tel{ font-size:30px; font-weight: bold; margin-bottom:15px;}
#contact #box-01 .entry .p-tel a{ background:url(../images/contact/ico-tel.png)left 3px no-repeat; background-size:20px auto; color:#235ba7; display:inline-block; line-height: 1em; text-decoration: none; padding:0 0 0 25px;}

#contact #box-01 .entry .p-fax{ font-size:30px; font-weight: bold; color:#235ba7; background:url(../images/contact/ico-fax.png)left 10px no-repeat; background-size:25px auto; display: inline-block; padding:0 0 0 32px; margin-bottom:15px;}

#contact #box-01 .entry .p-mail{ font-size:20px; font-weight: bold; padding-top:8px; margin-bottom:15px;}
#contact #box-01 .entry .p-mail a{ color:#235ba7; display: inline-block; margin-left:5px; text-decoration: none;}
#contact #box-01 .entry .p-02{ font-size:15px; letter-spacing: normal;}
#contact #box-01 .area-02{ text-align: center;}
#contact #box-01 .area-02 ul{ display: inline-block;}
#contact #box-01 .area-02 ul li{ font-size: 15px; text-align: left; letter-spacing: normal; padding-left: 1em; text-indent: -1em; margin-bottom:5px;}




#contact #box-form{ padding-top:30px; position:relative;}
#contact #box-form .area-01{ text-align: center; margin-bottom: 50px;}
#contact #box-form .area-01 ul{ display: inline-block;}
#contact #box-form .area-01 ul li{ font-size: 15px; text-align: left; letter-spacing: normal;  margin-bottom:5px;}
#contact #box-form .area-01 ul li span{ font-weight: bold; color:#ff0000; display: inline-block; margin-right: 3px;}

/* ▼ フォーム本体（既存CSSを流用） */
#contact #box-form .area-mailform{ background:#ecf1f7; padding:50px 50px;}
#contact #box-form .area-mailform table{ width:100%; margin-bottom:50px; border-collapse:collapse;}
#contact #box-form .area-mailform table tr{}
#contact #box-form .area-mailform table tr:first-child{}
#contact #box-form .area-mailform table td{ padding:20px 8px; vertical-align:middle;}
#contact #box-form .area-mailform table td.td-01{ width:220px; font-size:16px; font-weight:bold; vertical-align:middle; padding-left:15px;}
#contact #box-form .area-mailform table ul{ list-style:none; padding:0; margin:0;}
#contact #box-form .area-mailform table ul li{ margin-bottom:7px;}
#contact #box-form .area-mailform table ul li:last-of-type{ margin-bottom:0;}
#contact #box-form .area-mailform table select{ padding:8px; font-size:15px; border:1px solid #ccc; border-radius:4px;}
#contact #box-form .area-mailform table input[type="text"],
#contact #box-form .area-mailform table input[type="email"],
#contact #box-form .area-mailform table input[type="tel"]{ padding:10px 12px; font-size:15px; border:1px solid #ccc; border-radius:4px; box-sizing:border-box;}
#contact #box-form .area-mailform table textarea{ padding:10px 12px; font-size:15px; border:1px solid #ccc; border-radius:4px; box-sizing:border-box;}
#contact #box-form .area-mailform table label{ display:inline-flex; align-items:center; gap:6px; margin-right:25px; font-size:15px; cursor:pointer;}
#contact #box-form .area-mailform .chui{ font-weight:bold; color:#ff3838;margin-left:8px;}
#contact #box-form .area-mailform .w01{ width:98%;}
#contact #box-form .area-mailform .w02{ width:43.7%;}

/* ▼ プライバシーポリシー */
#contact #box-form .privacy-title{ font-size:20px; font-weight:bold; color:#2059a6; margin:0 0 15px;}
#contact #box-form .privacy-lead{ margin-bottom:15px; line-height:2em;}
#contact #box-form .tb-04{ height:200px; overflow-y:scroll; padding:20px; border:#999 solid 1px; background:#fff; margin:auto; margin-bottom:30px; font-size:14px; line-height:2em;}
#contact #box-form .tb-04 p{ margin-bottom:1em;}
#contact #box-form .tb-04 p:last-child{ margin-bottom:0;}

/* ▼ 同意チェック */
#contact #box-form .tb-02{ text-align:center; margin-bottom:30px; font-size:15px;}
#contact #box-form .tb-02 input{ margin-right:8px; width:16px; height:16px; vertical-align:middle; position:relative; top:-1px;}
#contact #box-form .tb-02 a{ color:#2059a6;}

/* ▼ 送信ボタン */
#contact #box-form .btn{ width:350px; font-size:18px; font-weight:bold; color:#fff; background:#235ba7; text-align:center; padding:25px 0; display:block; text-decoration:none; border-radius:50px; box-sizing:border-box; transition:0.3s; margin:0 auto; cursor:pointer; border:none;}
#contact #box-form .btn:hover{ opacity:.5;}


/*----------  大型バナー banners  ----------*/

#contact #box-bnr .entry{ height:550px;}
#contact #box-bnr .entry.gyosei{ background:#1e73c3;}
#contact #box-bnr .entry.sharo{ background:#ddf4e7;}
#contact #box-bnr .entry .tb p{ color:#fff; text-shadow:none;}

#contact #box-bnr .entry.sharo p{ color:#333;}
#contact #box-bnr .entry.sharo h2{ color:#333;}
#contact #box-bnr .entry .official{ border:6px solid #78bad4;}
#contact #box-bnr .entry.sharo .official{ background:#c9e46f; border-color:#fcfcfc;}

#contact #box-bnr .entry h2{ color:#fff; text-shadow:none;}
#contact #box-bnr .entry.sharo p:before{ left:318px; background:#fbd367; box-shadow:-25px 0 0 #fbd367, 25px 0 0 #fbd367;}
#contact #box-bnr .entry .more{ width: 380px; position:absolute; left:65px; bottom:190px;}

#contact #box-bnr .entry img { bottom:180px;}
#contact #box-bnr .entry.sharo img{ max-height:300px; right:60px; bottom:146px;}







/*▼▼▼スクロールでふわっと表示▼▼▼*/

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition-timing-function:cubic-bezier(.64,.04,.35,1);
  transition:0.9s ease-in-out;
  transform:translateY(30px);
  opacity:0;
}

.scroll_up.on {
  transform:translateY(0);
  transition:0.9s ease-in-out;
  opacity:1.0;
}
.scroll_on {
  transition-timing-function:cubic-bezier(.64,.04,.35,1);
  transition:0.9s ease-in-out;
  transform:translateY(0px);
  opacity:0;
}

.scroll_on.on {
  transform:translateY(0);
  opacity:1.0;
}

.scroll_right.on {
    opacity:1.0;
    filter:alpha(opacity=100);
    -moz-opacity:1.0;
    transform:translateX(0);
}


/*モーダルウィンドウ*/

.yoyaku-modal-overlay{ display:none;position:fixed;top:0; left:0;width:100%;height:100%;background:rgba(0,0,0,0.5); z-index:9999;justify-content:center;align-items:center;}
.yoyaku-modal-overlay.is-open{ display:flex;}
.yoyaku-modal-inner{background:#fff;width:90%;max-width:600px;max-height:85vh;overflow-y:auto;position:relative;border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,0.3);padding:2.5rem 2rem 2rem;}
.yoyaku-modal-close{position:absolute;top:10px;right:12px;background:#1e73c3; border:none; border-radius:50%;width:32px; height:32px; font-size:18px;line-height:1;ursor:pointer;color:#fff;z-index:1;}
.yoyaku-modal-close:hover{background:#98d5fe;}

/* タイトル部分 */
#yoyaku-modal .title{font-size:24px;font-weight:bold;color:#F00;margin:0 0 0.8rem;padding:0;background:none;border-left:none;text-align:center;}

/* 本文部分 */
#yoyaku-modal .text{font-size:18px; color:#444;line-height:2; margin:0;padding:1.5rem;background:#e0f2fe;border-left:4px solid #1e73c3; border-radius:4px;}
#yoyaku-modal .text a{color:#f77922;font-weight:bold;text-decoration:underline;}
#yoyaku-modal .text a:hover{text-decoration:none;}
#yoyaku-modal .text .orange{color:#147ac1;font-weight:bold;}


/*▼よくある質問一覧 QA▼*/


#qa #main{ background:#e0f2fe; padding:60px 0 0;}

#qa #box-01{ background:#dff2ff; padding:0px 0 50px; position:relative; overflow:hidden;}


/* アコーディオン全体 */
#qa .accordion{margin-bottom:20px;border:1px solid #d8e5d3;border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(44,86,34,.08);overflow:hidden;}

/* 質問 */
#qa .accordion-header{display:flex;align-items:center;gap:15px;min-height:76px;padding:0px 70px 0px 20px;margin:0;background:#1E73C3;color:#fff;font-weight:bold;line-height:1.7;cursor:pointer;position:relative;transition:background-color .3s ease;}

#qa .accordion-header:hover{background:#1E73C3;}

#qa .accordion-header span.s-01{display:flex;align-items:center;gap:15px;width:100%;}

/* Qアイコン */
#qa .accordion-header span.s-01::before{content:"Q";display:flex;align-items:center;justify-content:center;flex:0 0 35px;width:35px;height:35px;background:#fff;border-radius:50%;color:#1E73C3;font-family:Arial,sans-serif;font-size:23px;font-weight:bold;line-height:1;}

/* 開閉アイコン */
#qa .accordion-header::before,
#qa .accordion-header::after{content:"";display:block;width:22px;height:2px;background:#fff;position:absolute;top:50%;right:25px;transform:translateY(-50%);transition:transform .3s ease;}

#qa .accordion-header::after{transform:translateY(-50%) rotate(90deg);}

#qa .accordion-header.active::after{transform:translateY(-50%) rotate(0deg);}

/* 回答 */
#qa .accordion-content{display:none;padding:10px 15px;background:#f7faf5;color:#333;font-size:18px;line-height:2;}

#qa .accordion-content span.s-01{display:flex;align-items:flex-start;gap:15px;width:100%;}

/* Aアイコン */
#qa .accordion-content span.s-01::before{content:"A";display:flex;align-items:center;justify-content:center;flex:0 0 35px;width:35px;height:35px;margin-top:2px;background:#d34141;border-radius:50%;color:#fff;font-family:Arial,sans-serif;font-size:23px;font-weight:bold;line-height:1;}

/* 回答内のリンク */
#qa .accordion-content a{color:#1E73C3;text-decoration:underline;}

#qa .accordion-content a:hover{text-decoration:none;}