@charset "utf-8";
/*
Theme Name: design014-mihira
Theme URI: 
Description: 社労士WEBサービス（三平事務所様用カスタマイズ）
Version: 4.0
Author: メディアライズ株式会社
Author URI: http://media-rise.jp
*/

/*----------------------------------
リセットCSS
----------------------------------*/
/*要素のフォントサイズやマージン・パディングをリセットしています*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}
 
/*行の高さをフォントサイズと同じにしています*/
body {
  line-height:1;
}
 
/*新規追加要素のデフォルトはすべてインライン要素になっているので、section要素などをブロック要素へ変更しています*/
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
  display:block;
}
 
/*nav要素内ulのマーカー（行頭記号）を表示しないようにしています*/
ol, ul {
  list-style:none;
}
 
/*引用符の表示が出ないようにしています*/
blockquote, q {
  quotes:none;
}
 
/*blockquote要素、q要素の前後にコンテンツを追加しないように指定しています*/
blockquote:before, blockquote:after,
q:before, q:after {
  content:'';
  content:none;
}
 
/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
a {
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}
 
/* ins要素のデフォルトをセットし、色を変える場合はここで変更できるようにしています */
ins {
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}
 
/* mark要素のデフォルトをセットし、色やフォントスタイルを変える場合はここで変更できるようにしています
また、mark要素とは、文書内の検索結果で該当するフレーズをハイライトして、目立たせる際に使用するようです。*/
mark {
  background-color:#ff9;
  color:#000;
  font-style:italic;
  font-weight:bold;
}
 
/*テキストに打ち消し線が付くようにしています*/
del {
  text-decoration: line-through;
}
 
/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています
また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
abbr[title], dfn[title] {
  border-bottom:1px dotted;
  cursor:help;
}
 
/*隣接するセルのボーダーを重ねて表示し、間隔を0に指定しています*/
table {
  border-collapse:collapse;
  border-spacing:0;
}
 
/*水平罫線のデフォルトである立体的な罫線を見えなくしています*/
hr {
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}
 
/*縦方向の揃え位置を中央揃えに指定しています*/
input, select {
  vertical-align:middle;
}

img {
  vertical-align: top;
  font-size:0;
  line-height: 0;
}

/*----------------------------------
基本設定CSS
----------------------------------*/
/* 余白設定・クリアフィックス */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
* html .clearfix { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

/* サイズなど */
.mt0{ margin-top:0 !important;}
.mt10{ margin-top:0.1rem !important;}
.mt20{ margin-top:0.2rem !important;}
.mt30{ margin-top:0.3rem !important;}
.mt40{ margin-top:0.4rem !important;}
.mt50{ margin-top:0.5rem !important;}
.mt60{ margin-top:0.6rem !important;}
.mt70{ margin-top:0.7rem !important;}
.mt80{ margin-top:0.8rem !important;}
.mt90{ margin-top:0.9rem !important;}
.mt100{ margin-top:1.0rem !important;}

.mr0{ margin-right:0 !important;}
.mr10{ margin-right:0.1rem !important;}
.mr20{ margin-right:0.2rem !important;}
.mr30{ margin-right:0.3rem !important;}
.mr40{ margin-right:0.4rem !important;}
.mr50{ margin-right:0.5rem !important;}
.mr60{ margin-right:0.6rem !important;}
.mr70{ margin-right:0.7rem !important;}
.mr80{ margin-right:0.8rem !important;}
.mr90{ margin-right:0.9rem !important;}
.mr100{ margin-right:1.0rem !important;}

.mb0{ margin-bottom:0 !important;}
.mb10{ margin-bottom:0.1rem !important;}
.mb20{ margin-bottom:0.2rem !important;}
.mb30{ margin-bottom:0.3rem !important;}
.mb40{ margin-bottom:0.4rem !important;}
.mb50{ margin-bottom:0.5rem !important;}
.mb60{ margin-bottom:0.6rem !important;}
.mb70{ margin-bottom:0.7rem !important;}
.mb80{ margin-bottom:0.8rem !important;}
.mb90{ margin-bottom:0.9rem !important;}
.mb100{ margin-bottom:1.0rem !important;}

.ml0{ margin-left:0 !important;}
.ml10{ margin-left:0.1rem !important;}
.ml20{ margin-left:0.2rem !important;}
.ml30{ margin-left:0.3rem !important;}
.ml40{ margin-left:0.4rem !important;}
.ml50{ margin-left:0.5rem !important;}
.ml60{ margin-left:0.6rem !important;}
.ml70{ margin-left:0.7rem !important;}
.ml80{ margin-left:0.8rem !important;}
.ml90{ margin-left:0.9rem !important;}
.ml100{ margin-left:1.0rem !important;}

.w5{ width:5%;}
.w10{ width:10%;}
.w15{ width:15%;}
.w20{ width:20%;}
.w25{ width:25%;}
.w30{ width:30%;}
.w35{ width:35%;}
.w40{ width:40%;}
.w45{ width:45%;}
.w50{ width:50%;}
.w55{ width:55%;}
.w60{ width:60%;}
.w65{ width:65%;}
.w70{ width:70%;}
.w75{ width:75%;}
.w80{ width:80%;}
.w85{ width:85%;}
.w90{ width:90%;}
.w95{ width:95%;}
.w97{ width:97%;}
.w98{ width:98%;}
.w100{ width:100%;}

.txt20{ font-size: 0.2rem; }
.txt24{ font-size: 0.24rem; }

.al_r,.alignright{ text-align:right; float:none !important;}
.al_l{ text-align:left !important;}
.al_c{ text-align:center;}
img.al_c { margin-left: auto; margin-right: auto; display: block; }

.sp-only,.sptab-only {
    display: none;
}
.pc-only,.pctab-only {
    display: block;
}

/* フォント関連 */
.bold{ font-weight:700;}
.normal{ font-weight:500;}
.red { color: #ff1d25; }

/* フロート */
.fl_r{ float:right;}
.fl_l{ float:left;}
.fl_cl{ overflow:hidden;}

/* フレックスボックス */
.fl_box {
  display: flex;
}
.fl_bet {
  justify-content: space-between;
  align-items: center;
}

/* フォント読み込み */
@font-face {
  font-family: 'webfont';
  src: url('font/webfont.eot');
  src: url('font/webfont.eot?iefix') format('eot'),
       url('font/webfont.woff') format('woff'),
	   url('font/webfont.ttf') format('truetype'),
	   url('font/webfont.svg#webfontjSpbZQRv') format('svg');
}

/* 選択部分色設定 */
::selection {
background: #37414f;
color: #fff;
}
::-moz-selection {
background: #37414f;
color: #fff;
}

/* レイアウト */
html {
    font-size: 100px; /* 1rem = 100pxと定義 */
    overflow: auto;
}
body {
    min-width: 1100px;
    line-height: 1.75em;
    color: #000;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.17rem;
    text-align: justify;
    overflow: hidden;
}
body.under {
    padding-top: 1rem;
}
img {
    max-width: 100%;
    height: auto;
}
a {
    text-decoration: none;
    color: #000;
}

/*ヘッダー*/
header {
    width: 100%;
    height: 1rem;
    /* padding-top: 0.2rem; */
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}
.under header {
    background: rgba(255,255,255,.8);
}
header .sitelogo {
    width: 3.88rem;
    margin-left: 0.3rem;
    position: relative;
    z-index: 99999;
}
header .sitelogo>a {
    width: 3.88rem;
    height: 0.56rem;
    text-indent: -9999px;
    display: block;
}
header .hdr_r {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
}
header .mailwrap {
    width: 100%;
    display: flex;
    justify-content: flex-end;
}
header .mailwrap>a {
    height: 0.32rem;
    margin-right: 0.2rem;
    margin-bottom: 0.1rem;
    font-size: 0.15rem;
    font-weight: bold;
    line-height: 0.32rem;
    color: #fff;
    display: block;
}
header .mailwrap>.hdr_order {
    width: auto;
    padding: 0 0.32rem;
    background: #f7b52c;
    border-radius: 0.16rem;
    text-align: center;
}
header .mailwrap>.hdr_mail {
    width: 2.15rem;
    padding-right: 0.3rem;
    margin-right: 0;
    background: #65ac31;
    border-radius: 0.16rem 0 0 0.16rem;
    text-align: right;
}
header .mailwrap>a>i {
    width: .32rem;
    height: .32rem;
    text-indent: -9999px;
    display: block;
}
/* フッター、ヘッダー共通 */
i.sns-fb {
    background: url("img/common/icon-fb.svg") 0 0 no-repeat;
}
i.sns-insta {
    background: url("img/common/icon-insta.svg") 0 0 no-repeat;
}
i.sns-twr {
    background: url("img/common/icon-tw.svg") 0 0 no-repeat;
}

/* ページナビ */
nav.navigation {
    width: 100%;
    margin: 1rem 0;
    border: none;
    background: none;
}
nav.navigation .nav-links {
    display: flex;
    justify-content: space-between;    
}
nav.navigation h2 {
    display: none;
}
nav.navigation a {
    padding: 0.04rem 0.08rem;
    background: #65aa31;
    color: #fff;
    text-decoration: none;
    display: block;
}

/*ぱんくず*/
#breadcrumb {
  width: 100%;
  padding: 15px 0;
}
#breadcrumb ul {
  width: 1300px;
  margin: 0 auto;
  display: block;
}
#breadcrumb li {
 float: left;
}
#breadcrumb li:nth-child(1)::before {
	content: 'h ';
	font-family: 'webfont';
}
#breadcrumb li::after {
	content: '>';
	margin: 0 10px;
}
#breadcrumb li:last-child::after {
	display: none;
}
#breadcrumb li a{
  color: #bca178;
  font-size: 108%;
  text-decoration: none;
}
#breadcrumb li span {
  display: none;
}
#breadcrumb li span.wf {
  display: inline-block;
}

/*本文*/
.under .wrapper {
    width: 11rem;
    margin-left: auto;
    margin-right: auto;
}
h1,h1,h3 {
    line-height: 1.2em;
}
.under h1 {
    width: 100%;
    /* height: 3rem; */
    height: 2rem;
    margin-bottom: 0.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 0;
    max-width: 11rem;
    margin-left: auto;
    margin-right: auto;
    /* margin-top: 20px; */
}
.under h1>span {
    color: #fff;
    font-size: 30px;
    text-transform: uppercase;
    position: relative;
    z-index: 3;
    line-height: 1;
}
.under h1::after {
    content: '';
    background: rgba(0,0,0,.3);
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
}
section p>a {
    text-decoration: underline;
}
.under .lead {
    margin-bottom: 1rem;
}
.under .wrapper .lead .leadtext {
    margin-bottom: 0.6rem;
    font-size: 0.28rem;
    text-align: center;
}

.wp-pagenavi {
    margin: 1rem auto;
    text-align: center;
}
ul.linkarea {
    padding: 0;
    display: flex;
    justify-content: space-evenly;
}
ul.linkarea li::before {
    display: none;
}
ul.linkarea li a {
    width: 3.43rem;
    height: 0.62rem;
    margin-top: 0.6rem;
    background: #65aa31;
    font-size: 0.24rem;
    line-height: 0.62rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    display: block;
}
ul.linkarea li a::before {
    content: 'd';
    margin-left: 0;
    margin-right: 2em;
    font-family: 'webfont';
    font-weight: normal;
}

/* 共通アーカイブ・シングルページ */
.single h2 {
    padding: 0.2rem 0;
    margin-bottom: 0.3rem;
    background: #e8e8e8;
    border-top: #65aa31 0.04rem solid;
    font-size: 0.21rem;
    text-align: center;
}
.archive ul.listview {
    border-top: #898989 1px solid;
}
.archive ul.listview>li {
    padding: 0.2rem 0.4rem;
    border-bottom: #898989 1px solid;
}
.archive ul.listview>li:nth-child(odd) {
    background: #e8e8e8;
}
.archive ul.listview>li a:hover {
    text-decoration: underline;
}
.archive ul.listview .date {
    width: 1.3rem;
    color: #65aa31;
    font-size: 0.15rem;
    display: inline-block;
}
dl.category {
    text-align: right;
}
dl.category>dt,
dl.category>dd {
    font-size: 0.14rem;
    display: inline-block;
}
dl.category>dt::after {
    content: '：';
}
table th,
table td {
    line-height: 1.4em;
}


/*お問合せボックス*/
address {
    width: 6.8rem;
    height: 1rem;
    margin: 0 auto 1rem;
    border: #65aa31 0.02rem solid;
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    font-style: normal;
}
address p {
    text-align: center;
    font-size: 0.16rem;
}
address .tel {
    font-size: 0.34rem;
    font-weight: bold;
    text-align: center;
    color: #65aa31;
}
address .tel::before {
    content: 't';
    font-weight: normal;
    font-family: 'webfont';
    font-size: 0.5rem;
    vertical-align: bottom;
}
address .mail {
    width: 2.68rem;
    height: 0.58rem;
    background: #65aa31;
    color: #fff;
    font-size: 0.22rem;
    line-height: 0.58rem;
    text-align: center;
}
address .mail::before {
    content: 'm ';
    font-weight: normal;
    font-family: 'webfont';
    font-size: 0.32rem;
    vertical-align: middle;
}

/*フッター*/
footer {
  width: 100%;
  padding-top: 0.4rem;
  background: #efefef;
}
footer a.ftr_logo {
    width: 3.88rem;
    height: 0.56rem;
    margin-bottom: 0.26rem;
    text-indent: -9999px;
    display: block;
}
footer ul.security {
    margin-top: 20px;
}
footer ul.security,
footer ul.sns {
    margin-bottom: .2rem;
    display: flex;
    gap: 10px 0.2rem;
    align-items: center;
    max-width: 450px;
    /* flex-flow: wrap; */
}
footer ul.sns>li>a>i {
    width: .32rem;
    height: .32rem;
    text-indent: -9999px;
    display: block;
}

@media print, screen and (min-width:1156px) { /* PCの場合 */
    header ul {
        clear: right;
        display: flex;
        justify-content: flex-end;
    }
    header ul>li {
        margin-right: 0.23rem;
    }
    header ul>li>a {
        font-size: 0.15rem;
    }
    header ul>li.current>a {
        position: relative;
    }
    header ul>li.current>a::after {
        content: '';
        width: 100%;
        height: 0.04rem;
        background: #65ac31;
        display: block;
        position: absolute;
        left: 0;
        right: 0;
        bottom: -0.04rem;
    }
    footer>.wrapper {
        display: flex;
        justify-content: space-between;
        gap: 50px;
    }
    footer .ftr_nav {
        display: flex;
        justify-content: flex-end;
        gap: 0 0.3rem;
        width: 50%;
    }
    footer .ftr_nav ul {
        max-width: 200px;
        width: 100%;
    }
    footer .ftr_nav li::before {
        content: '';
        width: 0.08rem;
        height: 0.24rem;
        margin-right: 0.08rem;
        background: #65ac31;
        vertical-align: middle;
        display: inline-block;
    }
    footer .ftr_nav ul li ul li::before {
        content: unset;
    }
    footer .ftr_nav ul li ul li {
        margin-left: 22px;
    }
    footer .ftr_nav li a {
        font-size: 0.14rem;
    }
    footer .ftr_nav li a:hover {
        text-decoration: underline;
    }
    footer .copy {
        text-align: center;
    }
}
@media screen and (max-width:1156px) { /* タブレット以下の場合 */
    .sptab-only {
        display: block;
    }
    .pc-only {
        display: none !important;
    }
    body {
        min-width: 100%;
    }
    .under .wrapper {
        width: calc( 100% - 0.52rem );
        margin-left: auto;
        margin-right: auto;
    }
    header .sitelogo {
        margin-left: 0.26rem;
    }
    header .hdr_r {
        display: block;
    }
    header .hdr_menu {
        width: 1rem;
        height: 0.7rem;
        margin-right: 0.26rem;
        background: #65ac31;
        font-size: 0.14rem;
        font-weight: bold;
        color: #fff;
        text-align: center;
        display: block;
        position: relative;
        z-index: 99999;
    }
    header .hdr_menu::before {
        content: 'e';
        width: 100%;
        height: 0.35rem;
        font-family: 'webfont';
        font-size: 0.36rem;
        line-height: 1.5em;
        text-align: center;
        display: block;
    }
    header .hdr_menu.close {
        background: none;
        color: #fff;
    }
    header .hdr_menu.close::before {
        content: 'B';
    }
    nav#global {
        width: calc( 50% - 0.26rem );
        height: 100vh;
        padding-top: 1.2rem;
        background: #65ac31;
        position: fixed;
        top: 0;
        left: calc( 50% + 0.26rem );
        display: none;
    }
    .hdr_info {
        margin-bottom: 0.3rem;
        display: flex;
        justify-content: space-evenly;
    }
    .hdr_info>a {
        width: 45%;
        height: 0.5rem;
        font-size: 0.22rem;
        text-align: center;
        color: #fff;
        line-height: 0.5rem;
        display: block;
    }
    .hdr_info>a::before {
        margin-right: 0.5em;
        vertical-align: middle;
        font-family: 'webfont';
        display: inline-block;
    }
    .hdr_info>a.hdr_tel_sp {
        background: #009442;
    }
    .hdr_info>a.hdr_tel_sp::before {
        content: 't';
    }
    .hdr_info>a.hdr_mail_sp {
        border: #fff 1px solid;
    }
    .hdr_info>a.hdr_mail_sp::before {
        content: 'M';
    }
    header ul {
        width: 100%;
        border-top: #fff 1px solid;
        overflow-y: scroll;
    }
    header ul>li {
       border-bottom: #fff 1px solid;
    }
    header ul>li.order {
        background: #f7b52c;
    }
    header ul>li>a {
        padding: 0.12rem 0.26rem;
        font-size: 0.18rem;
        color: #fff;
        display: block;
    }
    header ul>li>a::before {
        content: '▶';
        font-size: 0.12rem;
    }
    header ul>li.currentaa::before {
        color: #009442;
    }
    footer .siteinfo {
        margin-bottom: 0.4rem;
        display: flex;
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
    footer .ftr_logo {
        margin: 0 auto 0.2rem;
    }
    footer ul.security,
    footer ul.sns {
        justify-content: center;
        max-width: 450px;
    }
    .under h1 {
        max-width: calc( 100% - 0.52rem );
        margin-left: auto;
        margin-right: auto;
    }
    footer .copy {
        text-align: center;
    }
}

@media screen and (max-width:768px) { /* スマホの場合 */
    .txt20{ font-size: 0.36rem; }
    .txt24{ font-size: 0.4rem; }
    
    /* レイアウト */
    html {
        font-size: 50px; /* 1remを半分サイズに */
    }
    body {
        font-size: 0.24rem;
    }
    .sp-only {
        display: block;
    }
    .pctab-only {
        display: none;
    }
    header .sitelogo {
        width: calc( 50% - 0.26rem );
    }
    header .sitelogo>a {
        width: 100%;
        height: auto;
        padding-top: calc( 56 / 388 * 100% );
    }
    header ul>li>a {
        font-size: 0.24rem;
    }
    header ul>li>a::before {
        content: '▶';
        font-size: 0.2rem;
    }
    .under h1>span {
        padding: 0 0.26rem;
        line-height: 1.2em;
    }
    .single h2 {
        padding: 0.2rem;
        font-size: 0.32rem;
        text-align: left;
    }
    .archive ul.listview .date {
        width: 100%;
        font-size: 0.22rem;
        display: block;
    }
    ul.linkarea li {
        width: 48%;
    }
    ul.linkarea li a {
        width: 100%;
        height: 0.62rem;
        font-size: 0.26rem;
    }
    ul.linkarea li a::before {
        margin-right: 0.2rem;
    }
    footer ul.security {
        flex-wrap: wrap;
        /* gap: 0.2rem; */
    }
    footer ul.security>li {
        margin: 0 0.1rem 0.2rem;
    }
    footer ul.sns>li>a>i {
        width: .64rem;
        height: .64rem;
        background-size: cover;
    }
    footer .copy {
        text-align: center;
    }
}

/* CSSアニメーション */
@keyframes fadein {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* ページトップボタン */
#page-top a {
    background-color: #65ac31;
    bottom: 0;
    color: #fff;
    padding: 10px;
    position: fixed;
    right: 10px;
    bottom: 10px;
}

#about h2 {
    font-size: 0.19rem;
    margin-bottom: 20px;
}

#about h3 {
    font-size: 0.18rem;
    margin-bottom: 10px;
}

#about p {
    font-size: 0.15rem;
    line-height: 1.7;
}

#about table {
    font-size: 0.15rem;
}

#about .btn-box {
    display: flex;
    margin-top: 40px;
    gap: 20px;
}

#about .btn-box .btn {
    border: 1px solid #65aa31;
    color: #65aa31;
    padding: 10px 30px;
    display: inline-block;
}

#about .seminar, #about .books {
    display: flex;
    flex-wrap: wrap;
}

#about .jisseki_b section {
    width: 2.3rem;
    padding: 0 0 0.6rem 0;
    margin-right: 0.6rem;
    border-bottom: #b0b0b0 1px solid;
    margin-bottom: 0;
}

#about .jisseki_b img {
    width: 2rem;
    height: 3rem;
    margin: 0 auto 0.1rem;
    display: block;
}

#about .jisseki_b h3 {
    margin-bottom: 0.1rem;
    font-size: 0.17rem;
}

#about .jisseki_s p, #about .jisseki_b p {
    font-size: 0.15rem;
}

#about .jisseki_c .col3 {
    display: flex;
    gap: 30px;
    margin-top: 50px;
}

#about .wrapper {
    margin-bottom: 20px;
    padding-top: 0;
}

#about .jisseki_b h3 {
    margin-top: 20px;
}

#about .jisseki_b section {
    padding: 0 0 0.3rem 0;
}

#about .jisseki_s p, #about .jisseki_b p {
    line-height: 1.5;
}

@media screen and (max-width: 768px) {
    #about .jisseki_c .col3 {
        flex-flow: wrap;
        margin-top: 10px;
    }
    #about .wrapper {
        margin-bottom: 30px;
    }
}


@media screen and (max-width: 1156px) {
    #about .greeting_in  {
        padding-bottom: 30px;
    }
}




