@charset "utf-8";

/*------------------------------------------------------------


                このファイには基本追記・削除しないでください。
                サイト別のスタイルはstyle.cssを仕様してください



------------------------------------------------------------*/
/*------------------------------------------------------------
        OPTION
------------------------------------------------------------*/
:root{
    --main-color:#97673A;
}


.generalInner {
    width: 1200px;
    margin:0 auto;
}
.mainWrap {
    width: 1200px;
    margin: 60px auto 120px;
}
/*------------------------------------------------------------
blog loop1
------------------------------------------------------------*/
.blogMain {
    float: left;
    width: 940px;
}

.flexBox {
    display: flex;
    flex-wrap: wrap;
}
.flexBox article {
    width: 32%;
    border: #e5e5e5 1px solid;
    padding: 10px 10px 50px;
    box-sizing: border-box;
    position: relative;
    margin: 0 0 20px;
}
.flexBox article:nth-child(3n+1),
.flexBox article:nth-child(3n+2) {
    margin: 0 18px 18px 0;
}
.flexBox article a {
    color: #222;
    text-decoration: none;
    padding: 0 8px 6px 0;
    display: inline-block;
}
.flexBox article:hover {
    background: #fafafa;
}
.blogMain .title02 {
    font-size: 20px;
    font-size: 20px;
    padding: 15px 0 5px;
    line-height: 1.5;
    color: var(--main-color);
}
.st_pager {
    text-align: center;
    margin: 20px 0;
}
.st_pager a {
    color: #333;
}
.st_pager a:hover {
    opacity: 0.8;
}
.st_pager .page-numbers li {
    display: inline-block;
}
.st_pager .page-numbers a,
.st_pager a.page-numbers {
    /* color: #333;
    background: #e6dfd8;
    border: #d6cdbf 1px solid; */
    color: #97673A;
    background: white;
    border: #97673A 1px solid;
}
.st_pager .page-numbers a,
.st_pager .page-numbers span,
.st_pager .page-numbers {
    /* padding: 4px 15px; */
    padding: 13px;
    text-decoration: none;
}
.st_pager .page-numbers a:hover{
    background: #97673A;
    color: white;
}
.st_pager span.page-numbers.current {
    background: #97673A;
    border: #97673A 1px solid;
    color: #fff;
}
.flexBox .articlePhoto {
    width: 280px;
    height: 120px;
    overflow: hidden;
    position: relative;
}
.flexBox .articlePhoto img {
    position: absolute;
    width: 100%;
    height: auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#link a p{
    color:#6E6E6E;
}
.flexBox p {
    font-weight: 500;
    word-break: break-word;
    line-height: 1.5;
}
.flexBox .articleTxt {
    position: absolute;
    bottom: 8px;
}
.flexBox .articleTxt a:hover {
    text-decoration: underline;
}
.flexBox li,
.flexBox .articleTxt a {
    color: #777;
    font-size: 12px;
    line-height: 1;
}
.flexBox .articleTxt .post-categories li {
    display: inline-block;
}

/*------------------------------------------------------------
blogBox loop２
------------------------------------------------------------*/


#blogBox {
    width: 100%;
    float: left;
}

/*メイン*/
#blogBox article {
    border-bottom: #e5e5e5 1px dashed;
    padding-bottom: 20px;
    margin-bottom: 50px;
    overflow: hidden;
}

#blogBox article .title02 {
    border-top: var(--main-color) 3px solid;
    border-bottom: var(--main-color) 1px dashed;
    padding: 17px 0 17px 0;
    font-size: 30px;
    color: var(--main-color);
    overflow: hidden;
}

#blogBox article .title02 h3 {
    width: 80%;
    float: left;
}

#blogBox article .title02 h3 a:link,
#blogBox article .title02 h3 a:hover,
#blogBox article .title02 h3 a:visited {
    color: var(--main-color);
}

#blogBox article .title02 p {
    font-size: 14px;
    text-align: right;
    width: 15%;
    float: right;
    margin-top: 10px;
}

#blogBox article .post-categories {
    padding: 10px 0;
    font-size: 14px;
}

#blogBox article .post-categories a:link,
#blogBox article .post-categories a:hover,
#blogBox article .post-categories a:visited {
    color: #9d9d9d;
    text-decoration: underline;
}

#blogBox article .post-categories a:hover {
    text-decoration: none;
}

#blogBox #textBox article .articleText img {
    float: initial;
    max-width: 100%;
    height: auto;
}

#blogBox.listBox #textBox article .articleText img {
    float: left;
    margin: 0 20px 0 0;
}

#blogBox #textBox article .articleText p {
    margin: 5px 0;
}

#blogBox article .articleText {
    font-size: 16px;
    line-height: 1.5;
}

#blogBox article footer {
    display: block;
    margin-bottom: 15px;
}

#blogBox article footer .more a {
    color: #FFF;
    background: #9d9d9d;
    padding: 3px 15px;
    text-align: center;
    float: right;
}

#blogBox article footer .more a:hover {
    text-decoration: none;
    opacity: .8;
}

/*詳細*/
#blogBox article .articleText .phoBox {
    width: 100%;
}

#blogBox article .articleText .txtBox {
    width: 100%;
}

#blogBox .kiji {
    margin-top: 15px;
    overflow: hidden;
}

#blogBox .kiji .before {
    width: 50%;
    float: left;
    text-align: left;
}

#blogBox .kiji .next {
    width: 50%;
    float: right;
    text-align: right;
}

#blogBox .kiji a {
    color: #9d9d9d;
    font-size: 14px;
    text-decoration: underline;
}

/*サイド*/
#blogBox #aside #sideLatest {
    margin: 0 0 40px 0;
}

#blogBox #aside #sideLatest p {
    text-align: right;
    font-size: 14px;
    padding: 10px 0;
}

#blogBox #aside #sideLatest p a:link {
    color: var(--main-color);
    text-decoration: underline;
}

#blogBox #aside #sideLatest p a:hover {
    color: var(--main-color);
    text-decoration: none;
}

#blogBox #aside #sideLatest p a:visited {
    color: var(--main-color);
    text-decoration: underline;
}

#blogBox #aside .title02 {
    padding: 8px 0 8px 10px;
    font-size: 16px;
    font-weight: bold;
    background: var(--main-color);
    color: #FFF;
}

/*サイド 最新記事*/
#blogBox #aside .newbox li {
    overflow: hidden;
    border-bottom: #e5e5e5 1px dotted;
}

#blogBox #aside .newbox li img {
    float: left;
    margin-right: 10px;
}

#blogBox #aside .newbox li p {
    float: left;
    font-size: 14px;
}

#blogBox #aside .newbox li a {
    color: #9d9d9d;
    text-decoration: underline;
    font-size: 16px;
    display: block;
    padding: 20px 0;
}

#blogBox #aside .newbox li a:hover,
#blogBox #aside #sideArchive ul li a:hover,
#blogBox #aside #sideCategory ul li a:hover {
    background: #f9f7f1;
    text-decoration: none;
}

#blogBox #aside .newbox li p span {
    font-size: 12px;
}

/*サイド アーカイブー*/
#blogBox #aside #sideArchive ul li a,
#blogBox #aside #sideCategory ul li a {
    color: #9d9d9d;
    text-decoration: underline;
    font-size: 16px;
    display: block;
    padding: 15px 0;
}

#blogBox #aside #sideArchive ul li,
#blogBox #aside #sideCategory ul li {
    font-size: 16px;
    border-bottom: #e5e5e5 1px dotted;
}

#blogBox #aside #sideArchive ul li:last-child,
#blogBox #aside #sideCategory ul li:last-child {
    margin-bottom: 40px;
}

#blogBox .articleText h2 {
    border-left: #9d9d9d 4px solid;
    padding: 12px 0 10px 15px;
    font-size: 26px;
    margin: 0 0 20px;
    line-height: 1.25;
    font-weight: bold;
}

#blogBox .articleText h3::before {
    content: "■ ";
    color: #9d9d9d;
}

#blogBox .articleText a {
    color: #ff9933;
    text-decoration: underline;
}

/*エディター*/
#blogBox .articleText {
    margin: 10px 0;
}

#blogBox .articleText p {
    margin: 0 0 30px;
    line-height: 2;
}

#blogBox .articleText em {
    font-style: italic;
    font-family: YuGothic, 'Yu Gothic', sans-serif;
    font-weight: 500;
}

#blogBox .articleText blockquote {
    position: relative;
    padding: 15px 15px 15px 60px;
    box-sizing: border-box;
    background: #f5f5f5;
    color: #555;
    border-left: 4px solid #ccc;
    display: inline-block;
    margin: 10px 0;
}

#blogBox .articleText blockquote:before {
    display: inline-block;
    position: absolute;
    top: 7px;
    left: 10px;
    content: "“";
    color: #bbb;
    font-size: 80px;
    line-height: 1;
}

#blogBox .articleText blockquote p {
    padding: 0;
    margin: 7px 0;
    line-height: 1.7;
}

#blogBox .articleText blockquote cite {
    display: block;
    text-align: right;
    color: #888;
    font-size: 0.9em;
}

#blogBox .articleText table {
    border-collapse: collapse;
    border-spacing: 0;
    margin: 10px 0 20px;
}

#blogBox .articleText table td {
    padding: 5px 10px;
    border: #ccc 1px solid;
}

#blogBox .articleText img {
    max-width: 940px;
    height: auto;
    display: block;
}

#blogBox .articleText h3 {
    font-size: 20px;
    padding: 10px 0;
    margin: 20px 0 0 28px;
    line-height: 1.25;
    text-indent: -28px;
    font-weight: bold;
}

#blogBox .articleText h4 {
    font-size: 18px;
    font-weight: bold;
    padding: 10px 0;
    margin: 20px 0 10px;
    font-weight: bold;
}

#blogBox .articleText a:hover {
    text-decoration: none;
}

#blogBox .articleText ul {
    list-style: initial;
}

#blogBox .articleText ol,
#blogBox .articleText ul {
    margin: 10px 0 10px 20px;
}

#blogBox .articleText ol {
    list-style: decimal;
}

.blogMain .articleText ol li,
.blogMain .articleText ul li {
    list-style-type: inherit;
}

.blogMain .articleText .alignleft {
    float: left;
    margin: 0 10px 5px 0;
}

.blogMain .articleText .alignright {
    float: right;
    margin: 0 0 5px 10px;
}
@media screen and (max-width: 768px) {
    #blogBox,
    #blogBox #textBox,
    #blogBox #aside {
        width: 100%;
        float: none;
    }

    .headLine02 .rep {
        position: relative;
    }

    #blogBox {
        margin: 0;
        padding: 6% 3%;
        box-sizing: border-box;
    }

    #blogBox #textBox,
    #aside,
    #blogBox article .title02 h3,
    #blogBox article .title02 p {
        width: 100%;
        float: none;
    }

    #blogBox article {
        margin: 0 0 16%;
        padding: 0;
    }

    #blogBox article .title02 {
        padding: 2% 0;
        font-size: 22px;
        line-height: 1.25;
    }

    #blogBox article .post-categories {
        padding: 10px 0 0;
    }

    #blogBox article .articleText {
        padding: 3% 0;
        margin: 0;
        font-size: 14px;
    }

    #blogBox.listBox #textBox article .articleText img {
        margin: 0 0 3%;
        width: 100%;
        height: auto;
    }

    #blogBox article footer {
        margin: 0;
    }

    #blogBox article footer .more {
        padding: 0 0 3%;
    }

    #blogBox article footer .more a {
        width: 100%;
        padding: 10px 0;
        float: none;
        box-sizing: border-box;
        display: block;
    }
}

/*------------------------------------------------------------
サイドー
------------------------------------------------------------*/


#aside {
    float: right;
    width: 230px;
}
#aside a {
    text-decoration: none;
    color: #222;
}
#aside #sideLatest .sideTtl01,
#sideCategory .sideTtl01,
#sideArchive .sideTtl01 {
    font-size: 18px;
    color: #30424f;
    border-bottom: var(--main-color) 1px solid;
    padding: 0 0 6px;
    position: relative;
    font-weight: bold;
}
#sideArchive .sideTtl01::after {
    position: absolute;
    content: '＋';
    right: 10px;
    top: 50%;
    margin: -17px 0 0;
    color: #777;
}
#sideArchive.open .sideTtl01::after {
    content: '－';
}
#sideLatest,
#sideCategory {
    margin: 0 0 40px;
}
#sideLatest li p {
  color: #777;
  font-size: 12px;
}
#sideLatest li::after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
#sideLatest li {
    border-bottom: #e5e5e5 1px solid;
    padding: 10px 0;
}
#sideLatest li:hover {
    background: #fafafa;
}
#sideLatest .thumBox {
    overflow: hidden;
    position: relative;
    width: 64px;
    height: 64px;
    float: left;
    margin: 0 10px 0 0;
}
#sideLatest .sideTtl02 {
    color: var(--main-color);
    font-size: 14px;
    line-height: 1.5;
}
.blogTitle {
    color: #30424f;
    font-size: 24px;
    border-bottom: var(--main-color) 1px solid;
    border-left: var(--main-color) 5px solid;
    padding: 2px 0 2px 15px;
    margin: 0 0 20px;
    font-weight: bold;
}
#sideLatest .thumBox img {
    position: absolute;
    width: auto;
    height: 64px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
#sideCategory li {
    border-bottom: #e5e5e5 1px solid;
}
#sideCategory a {
    display: block;
    padding: 20px 0 20px 20px;
    background: url(../img/blog/ico_folder.png) no-repeat 10px 50%;
    background-size: 24px;
}
#sideCategory a:hover {
    background: url(../img/blog/ico_folder.png) no-repeat #fafafa 10px 50%;
    background-size: 24px;
}
#sideArchive ul {
    display: none;
}
#sideArchive li a {
    display: inline-block;
    padding: 15px 0 0 10px;
}
#sideArchive li a:hover {
    opacity: .8;
    text-decoration: underline;
}
.blogContents {
    padding: 0 0 20px;
    margin: 0 0 20px;
    border-bottom: #f5f5f5 1px solid;
}
.blogTitlebox ul li {
    color: #999;
    display: inline-block;
}
.blogTitlebox .time {
    background: url(../img/blog/ico_time.png) no-repeat 0 9px;
    background-size: 13px;
    padding: 0 0 0 17px;
    margin: 0 10px 0 0;
}
.blogTitlebox .post-categories a {
    text-decoration: none;
    color: #999;
}
.blogTitlebox .post-categories a:hover {
    text-decoration: underline;
}
.blogTitlebox h1 {
    font-size: 32px;
    line-height: 1.25;
    padding: 20px 0;
    font-weight: bold;
    color: #30424f;
}
.snaBox {
    display: block;
    text-align: right;
}
.snaBox ul {
    margin: 0 0 10px;
}
.snaBox li {
    display: inline-block;
}
.snaBox li .fb_iframe_widget span {
    vertical-align: baseline!important;
}
.blogContents .blogPhoto img {
    max-width: 940px;
    height: auto;
}

#sideLatest h3 {
    color: var(--main-color);
    font-size: 14px;
    line-height: 1.5;
}

/*エディター*/
.blogTxt {
    margin: 20px 0 0;
    font-size: 16px;
}
.blogTxt p {
    margin: 0 0 30px;
    line-height: 2;
}
.blogTxt em {
    font-style:italic;
    font-family: YuGothic,'Yu Gothic',sans-serif;
    font-weight: 500;
}
.blogTxt blockquote {
    position: relative;
    padding: 15px 15px 15px 60px;
    box-sizing: border-box;
    background: #f5f5f5;
    color: #555;
    border-left: 4px solid #ccc;
    display: inline-block;
    margin: 10px 0;
}
.blogTxt blockquote:before{
    display: inline-block;
    position: absolute;
    top: 7px;
    left: 10px;
    content: "“";
    color: #bbb;
    font-size: 80px;
    line-height: 1;
}
.blogTxt blockquote p {
    padding: 0;
    margin: 7px 0;
    line-height: 1.7;
}
.blogTxt blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}
.blogTxt table {
    border-collapse: collapse;
    border-spacing: 0;
    margin: 10px 0 20px;
}
.blogTxt table td {
    padding: 5px 10px;
    border: #ccc 1px solid;
}
.blogTxt img {
    max-width: 940px;
    height: auto;
    display: block;
}
.blogTxt .alignleft {
    float: left;
    margin: 0 20px 0 0;
}
.blogTxt .alignright {
    float: right;
    margin: 0 0 0 20px;
}
.blogTxt h2 {
    border-left: var(--main-color) 4px solid;
    padding: 12px 0 10px 15px;
    font-size: 26px;
    margin: 40px 0 20px;
    line-height: 1.25;
    font-weight: bold;
}
.blogTxt h3 {
    font-size: 20px;
    padding: 10px 0;
    margin: 20px 0 0 28px;
    line-height: 1.25;
    text-indent: -28px;
    font-weight: bold;
}
.blogTxt h3::before {
    content: "■ ";
    color: var(--main-color);
}
.blogTxt h4 {
    font-size: 18px;
    padding: 10px 0;
    margin: 20px 0 10px;
    font-weight: bold;
}
.blogTxt a {
    color: var(--main-color);
    text-decoration: underline;
}
.blogTxt a:hover {
    text-decoration: none;
}
#main .blogTxt ol li,
#main .blogTxt ul {
    list-style: initial;
}
#main .blogTxt ol,
#main .blogTxt ul {
    margin: 10px 0 10px 40px;
}
#main .blogTxt ol {
    list-style: decimal;
}
#main .detail .blogTxt ol li,
#main .detail .blogTxt ul li {
    list-style-type: inherit;
}
/*エディター*/

.nextPage {
    position: relative;
    margin: 50px 0 0;
}
.nextPage li {
    position: relative;
    background: #97673A;
    color: #fff;
}
.nextPage li:hover {
    opacity: 0.8;
}
.nextPage li a {
    text-decoration: none;
    color: #fff;
    padding: 15px 30px;
    display: inline-block;
}
.nextPage .prev {
    float: left;
    width: 48%;
}
.nextPage .next {
    float: right;
    width: 48%;
}
.nextPage .prev::before {
    content: "« ";
    position: absolute;
    top: 50%;
    left: 20px;
    margin: -16px 0 0;
}
.nextPage .next::after {
    content: " »";
    position: absolute;
    top: 50%;
    right: 20px;
    margin: -12px 0 0;
}
.nextPage .prev a {
    padding: 15px 30px 15px 40px;
    display: block;
}
.nextPage .next a {
    padding: 15px 40px 15px 30px;
    display: block;
}
.relation {
    margin: 50px 0 0;
}
.relation .relationTitle {
    border-top: var(--main-color) 2px solid;
    border-bottom: var(--main-color) 1px solid;
    color: #30424f;
    text-align: center;
    font-size: 18px;
    padding: 15px 0;
    margin: 0 0 20px;
}

#blog_single .blogContents img{
    width: auto;
    max-width: 100%;
}

@media screen and (max-width: 768px) {
    /*------------------------------------------------------------

    blog(レスポンシブ)

    ------------------------------------------------------------*/

    .blogWrap {
        width: 100%;
    }
    .mainWrap{
        width: 100%;
        margin: 30px auto 60px;
        padding-right: 2%;
        padding-left: 2%;
    }
    .generalInner {
        width: 100%;
    }
    .blogMain,
    .flexBox article,
    #aside,
    .flexBox .articlePhoto img,
    .blogTxt img {
        width: 100%;
        height: auto;
    }
    .flexBox .articlePhoto {
        width: 100%;
        height: 40vw;
    }
    .page-numbers .page-numbers {
        padding: 7px 12px;
        font-size: 12px;
        margin: 2px;
    }
    .relation {
        margin: 4% 0 8%;
    }
    .flexBox article:nth-child(3n+1),
    .flexBox article:nth-child(3n+2) {
        margin: 0 0 4% 0;
    }
    .flexBox article a{
        width: 100%;
        padding: 0
    }
    .nextPage,
    .nextPage li {
        margin: 4% 0;
    }
    .blogTitlebox h2{
        padding: 0 0 4%;
        font-size: 24px;
    }
    .blogTitlebox h3 {
        font-size: 24px;
        padding: 20px 0 0;
    }
    #main .mainBox {
        padding: 0 4% 8%;
        margin: 0;
    }
    #main .blogMain {
        padding: 60px 0 0;
        margin: -50px 0 0;
    }
    #sideArchive ul {
        margin: 4% 0 0;
    }
    #sideArchive li a {
        border-bottom: #e5e5e5 1px solid;
        background: url(../img/common/icon07.png) no-repeat right 10px center;
        background-size: 4px;
    }
    #mainColumn .mainBox {
        width: 100%;
        padding: 4%;
        margin: 0;
    }
    #mainColumn {
        padding: 0;
    }
    #main .mainImg {
        padding: 8% 0;
        height: 200px;
        box-sizing: border-box;
        background: url(/img/index/mv_sp_blog.png) no-repeat center;
        background-size: cover;
    }


    /*------------------------------------------------------------
    next prev Page
    ------------------------------------------------------------*/
    /*.nextPage .prev,
    .nextPage .next {
        float: none;
    }*/
    .nextPage .prev::before {
        left: 10px;
    }
    .nextPage .next::after {
        right: 10px;
    }
    .nextPage .prev a {
        padding: 10px 10px 10px 30px;
        line-height: 1.5;
    }
    .nextPage .next a {
        padding: 10px 30px 10px 10px;
        line-height: 1.5;
    }
}



/*------------------------------------------------------------
ヘッダー
------------------------------------------------------------*/
#gHeader {
    margin: 0 0 18px;
    display: none;
}
#gHeader .logoBox {
    width: 300px;
    padding: 3px 0 0;
    float: left;
}
#gHeader .logoBox .logo {
    margin: 0 0 9px;
}
#gHeader .logoBox p {
    font-size: 14px;
}
.h1Ttl {
    width: 600px;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 2px;
    z-index: 10;
}
#gHeader .h1Ttl {
    float: right;
    text-align: right;
}
#gHeader .ul01 {
    display: none;
}
.footerWrapp footer{
    margin-bottom: 0;
    padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
    #gHeader {
        display: block;
        position: fixed;
        margin: 0;
        padding: 5px;
        z-index: 10;
        background: rgba(35,19,8,.8);
        width: 100%;
        box-sizing: border-box;
        top: 0;
    }
    #gHeader .logoBox {
        width: auto;
        padding: 0;
    }
    #gHeader .logoBox .logo {
        margin: 5px 0 0;
        height: 43px;
        overflow: hidden;
    }
    #gHeader .logoBox .logo img {
        width: 115px;
    }
    #gHeader .logoBox p {
        display: none;
    }
    #gHeader .menu {
        display: block;
        position: relative;
        cursor: pointer;
        z-index: 100;
        transition: opacity .25s ease;
        transition: all .3s ease;
        border: #fff 1px solid;
        text-align: center;
        padding: 28px 1px 0px 2px;
    }
    #gHeader .menu p {
        font-size: 10px;
        color: #fff;
        -webkit-transform: scale(0.9);
        -webkit-transform-origin:0 0;
    }
    #gHeader .active .top {
        transform: translateY(8px) translateX(0) rotate(45deg);
        background: #FFF;
    }
    #gHeader .active .middle {
        opacity: 0;
        background: #FFF;
    }
    #gHeader .active .bottom {
        transform: translateY(-8px) translateX(0) rotate(-45deg);
        background: #FFF;
    }
    #gHeader .menu span {
        background: #FFF;
        border: none;
        height: 3px;
        width: 23px;
        position: absolute;
        top: 6px;
        left: 10px;
        transition: all .35s ease;
        cursor: pointer;
    }
    #gHeader .menu span:nth-of-type(2) {
        top: 14px;
    }
    #gHeader .menu span:nth-of-type(3) {
        top: 22px;
    }
    .h1Ttl {
        position: fixed;
        left: 5px;
        top: 5px;
        width: auto;
        font-size: 10px;
        letter-spacing: 0;
    }
    #gHeader .h1Ttl {
        float: none;
        text-align: left;
        font-size: 10px;
        color: #fff;
    }
    #gHeader .ul01 {
        float: right;
        padding: 5px 0 0 0;
        display: block;
    }
    #gHeader .ul01 li {
        display: inline-block;
        margin: 0 0 0 1px;
        vertical-align: top;
    }
    #gHeader .ul01 li a {
        display: block;
    }
    #gHeader .ul01 li img {
        width: 45px;
        vertical-align: bottom;
    }
}

#main .mansion .sec04{
    width: 1200px;
    margin: 0 auto 80px;
}

@media screen and (max-width: 768px){
    #main .mansion .sec04{
        width: 100%;
        margin: 0 auto 20px;
    }

}


/*追加*/
.subBox .right {
    float: right;
    margin: 0 0 40px 40px;
}

.subBox .left {
    float: left;
    margin: 0 40px 40px 0;
}

/*------------------------------------------------------------

ヘッダー

------------------------------------------------------------*/
.hInner {
    background: var(--main-color);
    padding: 10px 0 10px 35px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
}
.hInner p {
    width: 1200px;
    margin: 0 auto;
}
.mainImg a {
    text-decoration: none;
}
.mainImg a:visited{
    text-decoration: none;
}
.mainImg a:hover,.mainImg a p:hover,.mainImg p span:hover{
    text-decoration: none;
    opacity: 0.8;
}

/*------------------------------------------------------------

フッター

------------------------------------------------------------*/
#gFooter .fInner {
    margin: 0 auto;
    padding: 59px 0 0;
    width: 1200px;
}

#gFooter .fInner .lBox {
    float: left;
    width: 655px;
    padding: 0 55px 10px 0;
    box-sizing: border-box;
    border-right: 1px solid #EEE;
}

#gFooter .fInner .fLogo {
    margin-bottom: 25px;
}

#gFooter .fInner .fLogo a:hover img {
    filter: alpha(opacity=70);
    opacity: 0.7;
}

#gFooter .fInner .map {
    float: left;
}

#gFooter .fInner .mapBox .textBox {
    margin-top: -7px;
    float: right;
    width: 250px;
}

#gFooter .fInner .mapBox .textBox p {
    font-size: 14px;
    line-height: 2.15;
}

#gFooter .fInner .mapBox .textBox p a {
    color: #333434;
    text-decoration: none;
}

#gFooter .fInner .rBox {
    padding: 8px 24px 0 0;
    float: right;
    width: 470px;
}

#gFooter .fInner .rBox .naviUl > li {
    float: left;
    width: 285px;
}

#gFooter .fInner .rBox .naviUl > li:nth-child(2n) {
    float: right;
    width: 155px;
}

#gFooter .fInner .rBox .naviUl > li ul li {
    padding-top: 13px;
}

#gFooter .fInner .rBox .naviUl > li ul li a {
    font-size: 14px;
    color: #333434;
    text-decoration: underline;
}

#gFooter .fInner .rBox .naviUl > li ul li a:hover {
    text-decoration: none;
}

#gFooter .fBox {
    padding: 20px 0;
    background-color: #231308;
}

#gFooter .fBox .sub {
    margin: 0 auto;
    width: 1200px;
}

#gFooter .fBox ul {
    float: left;
    width: 620px;
}

#gFooter .fBox li {
    margin-right: 53px;
    display: inline;
    font-size: 14px;
    color: #fff;
}

#gFooter .fBox li a {
    margin-left: 4px;
    color: #fff;
    display: inline-block;
    text-decoration: none;
}

#gFooter .fBox li a:hover {
    text-decoration: underline;
}

#gFooter .fBox p {
    text-align: center;
    font-size: 14px;
    color: #fff;
    letter-spacing: 0.5px;
}

#pagPath {
    padding: 10px 0;
    background-color: #fafafa;
}


#pagPath ul {
    margin: 0 auto;
    width: 1200px;
}

#pagPath li {
    display: inline;
    font-size: 14px;
}

#pagPath li a {
    margin-right: 12px;
    color: var(--main-color);
    text-decoration: underline;
}

#pagPath li a:hover {
    text-decoration: none;
}

#pagPath span {
    margin: 0 7px 0 0;
}

/*------------------------------------------------------------

main

------------------------------------------------------------*/
#main .mainImg {
    padding: 160px 0 20px;
    height: 300px;
    box-sizing: border-box;
    background: url(/img/index/mv_bg.png) no-repeat center;
    background-size: cover;
}

#main .mainImg .h2Ttl {
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: 3px;
    text-align: center;
    font-weight: bold;
    color: #30424f;
}

#main .mainImg .h2Ttl span {
    margin-top: 15px;
    display: block;
    font-size: 14px;
}

#main .headLine01 {
    margin-bottom: 51px;
    padding-bottom: 44px;
    font-size: 26px;
    color: #19968c;
    text-align: center;
    letter-spacing: 3px;
    position: relative;
    line-height: 1.75;
    font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
}

#main .headLine01:after {
    width: 40px;
    height: 6px;
    margin-left: -20px;
    background: url(../../img/common/icon02.png) no-repeat left bottom;
    position: absolute;
    bottom: 0;
    left: 50%;
    content: "";
}

#main .headLine02 {
    margin-bottom: 20px;
    padding: 24px 0 5px 40px;
    font-size: 26px;
    color: #434343;
    position: relative;
    font-family: "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#main .headLine02:after {
    width: 40px;
    height: 40px;
    background: url(../../img/common/icon03.png) no-repeat left top;
    position: absolute;
    top: 0;
    left: 0;
    content: "";
}

#main .headLine02 span {
    margin-left: 20px;
    font-size: 14px;
    color: #323232;
    font-weight: normal;
}



#main a.link {
    padding: 10px 25px;
    display: inline-block;
    font-size: 15px;
    color: #333;
    text-decoration: none;
    text-align: center;
    background-color: #F0F0EA;
}

#main .inner {
    margin: 0 0 80px;
}

#main .inner p {
    margin: 0 0 20px;
}

/*------------------------------------------------------------

index

------------------------------------------------------------*/
#index {
    min-width: 1280px;
    color: #333434;
    font-size: 16px;
    line-height: 1.5;
    letter-spacing: 0;
    -webkit-text-size-adjust: none;
}

#main {
    float: none;
    width: auto;
    line-height: 2;
    border-bottom: solid 2px var(--main-color);
}

#main .mainBox {
    width: 1200px;
    margin: 0 auto;
    padding: 50px 0;
}

#main .heading03 {
    margin-bottom: 20px;
    font-size: 20px;
    color: #969696;
}

#main .heading03 + p {
    margin: 0 0 20px;
}

#main .heading03 .textSpan {
    margin-right: 20px;
    color: #1a968c;
    font-size: 36px;
    padding-right: 20px;
    line-height: 0.8;
    display: inline-block;
    vertical-align: -4px;
    letter-spacing: 1px;
    font-family: Century Gothic, sans-serif;
    border-right: 2px solid #969696;
}


.mw_wp_form .error {
    background: #b70000;
    color: #fff !important;
    display: inline-block !important;
    font-size: 14px !important;
    padding: 0 10px;
    border-radius: 20px;
    margin: 0 0 0 5px;
}




/*------------------------------------------------------------------------------------------------------レスポンシブ*/
a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
}



@media screen and (max-width: 768px) {

    *,
    *:before,
    *:after {
        -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
        box-sizing: border-box;
    }

    .heightLine,
    .heightLine:before,
    .heightLine:after,
    .heightLine-01,
    .heightLine-01:before,
    .heightLine-01:after {
        box-sizing: initial;
    }


    a[href^="tel:"] {
        cursor: pointer;
        pointer-events: auto;
    }

    body {
        min-width: 100%;
    }


    /*------------------------------------------------------------

    main

    ------------------------------------------------------------*/
    #main a.link {
        display: block;
        text-align: left;
    }

    #main .inner {
        margin: 0 0 8%;
    }

    /*------------------------------------------------------------

    gHeader

    ------------------------------------------------------------*/
    #gHeader {
        position: relative;
    }

    #gHeader .h1Box {
        padding: 15px 10px;
        width: auto;
    }

    #gHeader .h1Box .h1Title,
    #gHeader .h1Box h1 {
        float: none;
        width: auto;
        padding: 0 0 10px;
    }

    #gHeader .h1Box .rBox {
        float: none;
        width: auto;
    }

    #gHeader .h1Box .rBox p {
        margin: 0 auto 10px;
        width: 220px;
        float: none;
    }

    #gHeader .h1Box .rBox .link {
        margin: 0 auto;
        width: 298px;
        float: none;
    }

    #gHeader .hInner02 {
        width: auto;
        padding: 0;
    }

    #gHeader .hInner02 .logo {
        padding: 10px 0 0 10px;
        width: 252px;
    }

    #gHeader .hInner02 .spUl {
        float: right;
        border-left: 1px solid #EEE;
    }

    #gHeader .hInner02 .spUl li {
        float: left;
        width: 55px;
    }

    #gHeader .hInner02 .spUl li img {
        width: 55px;
        height: 55px;
    }

    #gHeader .hInner02 .h1Title,
    #gHeader .hInner02 h1 {
        font-size: 12px;
        font-weight: normal;
        clear: both;
        padding: 7px 9px;
        background-color: #FCF4E9;
        position: static;
        color: #222;
    }
    .hInner {
        padding: 5px;
        font-size: 12px;
    }
    .hInner p {
        width: 100%;
    }

    #gNavi {
        position: absolute;
        top: 56px;
        left: 0;
        width: 100%;
        z-index: 1000;
        background-color: #19968C;
        display: none;
        margin: 0;
    }

    #gNavi li a {
        font-size: 16px;
        color: #fff;
        display: block;
        padding: 15px;
        text-decoration: none !important;
        border-bottom: 1px solid #fff;
        font-weight: normal;
        text-align: left;
    }

    #gNavi li a span {
        margin-left: 20px;
        font-size: 12px;
        vertical-align: middle;
        display: inline-block;
    }

    #gNavi li,
    #gNavi .navi02,
    #gNavi .navi05,
    #gNavi .navi06 {
        display: block;
        width: 100%;
    }

    #gNavi li a span {
        color: #fff;
    }

    #gNavi li a:hover,
    #index #gNavi .navi01 a,
    #necessary #gNavi .navi02 a,
    #flow #gNavi .navi03 a,
    #charge #gNavi .navi04 a,
    #question #gNavi .navi05 a,
    #company #gNavi .navi06 a {
        display: none;
    }

    #main .comUl {
        padding: 15px 15px 5px;
        margin-bottom: 0;
        width: auto;
    }

    #main .comUl li {
        width: 48%;
        padding: 0 0 10px;
    }

    #main .comUl li:nth-child(2n) {
        float: right;
    }

    #main .contactBox {
        padding: 30px 15px 20px;
        margin: 0;
    }

    #main .contactBox .subContact {
        margin: 0 10px;
        width: auto !important;
    }

    #main .contactBox .textBox {
        float: none;
        width: auto;
        margin-bottom: 20px;
    }

    #main .contactBox .textBox .contactTitle {
        font-size: 18px;
        margin: 0 -10px 23px;
        color: #333434;
        padding: 17px 10px 19px;
        text-align: left;
        position: relative;
        line-height: 1.6;
        background: url(../img/common/sp_line.gif) repeat-x left bottom;
        background-size: 2px auto;
    }

    #main .contactBox .textBox .contactTitle:after {
        width: 100%;
        height: 15px;
        background: url(../img/common/sp_line.gif) repeat-x left top;
        background-size: 2px 7.5px;
        position: absolute;
        top: 0;
        left: 0;
        content: "";
    }

    #main .contactBox .textBox p {
        font-size: 12px;
        line-height: 1.6;
    }

    #main .contactBox .rBox {
        float: none;
        width: auto;
        padding: 0;
        background: none;
    }

    #main .contactBox .rBox p {
        margin: 0 auto 15px;
        width: 100%;
        height: auto;
    }

    #main .contactBox .rBox .link {
        margin: 0 auto;
        width: 100%;
        height: auto;
    }

    #main .contactBox .rBox:after {
        display: none;
    }

    #main .comPhoto {
        margin: 0 -10px;
    }


    #main .mainImg {
        padding: 25px 10px;
        min-height: inherit;
        background-image: url(../img/common/sp_bg01.jpg);
    }

    #main .mainImg .h2Ttl {
        font-size: 26px;
        padding-top: 50px;
    }

    #main .mainImg .h2Ttl span {
        font-size: 11px;
    }

    #pagPath {
        margin-bottom: 10px;
        padding: 5px;
        font-size: 12px;
    }

    #pagPath ul {
        width: auto;
    }

    #pagPath li a:hover {
        text-decoration: underline;
    }

    #main .headLine01 {
        margin-bottom: 30px;
        padding-bottom: 20px;
        font-size: 20px;
        letter-spacing: 1px;
        line-height: 1.5;
        text-align: left;

    }
    #gHeader .hInner02 .logo {
        width: 200px;
        background-color: #19968c;
        color: #fff;
        display: inline-block;
        width: 350px;
        padding: 10px 0px;
        text-align: center;
        text-decoration: none;
    }
}
/*---------------------------------------------
contact
---------------------------------------------*/
.contactTopSec01 {
    background: url(../img/contact/mv_img01.png) no-repeat center;
    background-size: cover;
    height: 360px;
}
.contactTopSec02 {
    padding-top: 125px;
    margin: 0 0 150px;
}
.contactTopSec01 .comInner,
.contactTopSec02 .comInner {
    width: 1200px;
}
.contactTopSec02 .box01,
.contactTopSec02 .lowPageTitleBox02 {
    background: rgba(255,255,255,0.9);
    text-align: center;
    line-height: 1;
    color: #000;
}
.contactTopSec02 .box01 .ttl01,
.contactTopSec02 .lowPageTitleBox02 .largeTxt,
.recruitConsultantSec05 .lowPageTitleBox02 .largeTxt {
    margin-bottom: 30px;
    width: 1200px;
    margin: 0 auto;
    text-align: left;
    font-size: 24px;
    font-weight: 500;
    line-height: 2;
}
.contactTopSec02 .box0101,
.recruitConsultantSec05 .box0101 {
    margin: 50px 0;
    text-align: left;
}
.contactTopSec02 .box0101 .txt01,
.recruitConsultantSec05 .box0101 .txt01 {
    color: #C00;
    font-size: 16px;
}
.contactTopSec02 .box0101 .txt02,
.recruitConsultantSec05 .box0101 .txt02 {
    color: var(--main-color);
}
.type02 {
    width: 100%;
    margin: 0 0 60px;
}
.type02 th {
    width: 25%;
    font-size: 18px;
    color: #fff;
    background: var(--main-color);
    position: relative;
}
.type02 th span {
    color: #fff;
    background: #c00;
    position: absolute;
    right: 25px;
    display: inline-block;
    line-height: 1;
    font-size: 14px;
    padding: 5px 10px;
}
.type02 th,
.type02 td {
    padding: 30px;
    border-bottom: #fff 2px solid;
    min-height: 100px;
}
.type02 td {
    background: #fafafa;
}
.type02 td input,
.type02 td textarea {
    font-family: inherit;
    border: #ccc 1px solid;
    font-size: 16px;
    padding: 8px;
    border-radius: 3px;
}
.sizeL {
    width: 80%;
}
.sizeM {
    width: 50%;
}
.sizeS {
    width: 25%;
}
.privacyBox .lowPageTitleBox02 {
    margin: 0 0 30px;
}
.privacyBox .txtBox {
    width: 100%;
    background: #fff;
    border: #ccc 1px solid;
    height: 255px;
    font-size: 14px;
    overflow: auto;
    padding: 40px;
    text-align: justify;
}
.privacyBox li {
    list-style: none;
}
.privacyBox .title02 {
    color: #111;
    font-size: 18px;
    font-weight: bold;
    padding: 20px 0 0 0;
}
.txtBox p,
.txtBox li {
    margin: 0 0 20px;
}
.txtBox .ttl02 {
    /*color: #111;*/
    font-size: 18px;
    font-weight: bold;
}
.privacyBox .btnBox {
    text-align: center;
    padding: 30px 0 50px;
}
.privacyBox .req {
    color: #fff;
    background: #c00;
    display: inline-block;
    line-height: 1;
    font-size: 14px;
    padding: 5px 10px;
    margin: 0 10px 0 0;
}
.confirm .lowPageTitleBox02,
.confirm .box0101,
.confirm .privacyBox {
    display: none;
}
.contactTopSec02.confirm {
    padding-top: 80px;
}
#confirm-button {
    text-align: center;
}
#confirm-button input {
    -webkit-appearance: none;
    margin: 0 10px;
    padding: 20px 50px;
    border-radius: 3px;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    box-shadow:0px 4px 0px 0px #0172ba;
    -webkit-box-shadow:0px 4px 0px 0px #0172ba;
    -moz-box-shadow:0px 4px 0px 0px #0172ba;
    font-size: 18px;
    color: #fff;
    background: var(--main-color);
    border: none;
}
#confirm-button input:hover {
    opacity: .8;
    cursor: pointer;
}
#confirm-button input.btnBack {
    background: #aaa;
    box-shadow: 0px 4px 0px 0px #888;
}
.confirmBox {
    border: #fde9ca 2px solid;
    background: #fff8e3;
    color: #e9a81c;
    margin: 0 0 50px;
    padding: 30px;
    text-align: center;
}
.mw_wp_form .error {
    color: #c00;
    background: #fff;
    border: #c00 2px solid;
    display: inline-block !important;
    line-height: 1;
    font-size: 14px;
    padding: 5px 10px;
    margin: 0 0 0 10px;
}
.errorBox {
    border: #f9d6de 2px solid;
    background: #fdf2f5;
    color: #f70039;
    margin: 0 0 50px;
    padding: 30px;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .contactTopSec01 {
        height: 50vw;
    }
    .contactTopSec02 {
        padding-top: 3em;
        margin: 0 0 5em;
    }
    .contactTopSec02.confirm,
    .recruitConsultantSec05.confirm {
        padding-top: 3em;
    }
    .contactTopSec02 .inner,
    .recruitConsultantSec05 .inner {
        padding: 0 1em;
    }
    .contactTopSec01 .comInner,
    .contactTopSec02 .comInner,
    .contactTopSec02 .box01 .ttl01,
    .contactTopSec02 .lowPageTitleBox02 .largeTxt,
    .recruitConsultantSec05 .lowPageTitleBox02 .largeTxt {
        width: 100%;
    }
    .contactTopSec02 .lowPageTitleBox02 .largeTxt,
    .recruitConsultantSec05 .lowPageTitleBox02 .largeTxt {
        padding: 0 .75em;
        line-height: 1.25;
    }
    .contactTopSec02 .box01,
    .recruitConsultantSec05 .box01 {
        padding: 3em 1em 1em;
    }
    .contactTopSec02 .box01 .ttl01,
    .recruitConsultantSec05 .box01 .ttl01 {
        font-size: 6vw;
        line-height: 1.25;
    }
    .contactTopSec02 .comInner,
    .recruitConsultantSec05 .comInner {
        padding: 0;
    }
    .contactTopSec02 .box0101,
    .recruitConsultantSec05 .box0101 {
        margin: 1em;
        font-size: 4.5vw;
    }
    .type02 {
        margin: 0 0 8%;
    }
    .type02 th {
        padding: 2%;
    }
    .type02 th,
    .type02 td {
        display: block;
        width: 100%;
        min-height: auto;
    }
    .type02 td {
        padding: 4%;
    }
    .sizeL,
    .sizeM,
    .sizeS {
        width: 100%;
    }
    .privacyBox .txtBox {
        margin: 0 4%;
        width: 92%;
        padding: 6%;
    }
    .mwform-checkbox-field {
        display: block;
        margin: 2% 0 0;
    }
    .privacyBox .btnBox {
        padding: 4% 0;
    }
}
