﻿/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
body {
    font-family: Arial, sans-serif;
    color: #333;
    line-height: 1;
    min-width: 1200px;
}

.pc .admin-bar {
    padding-top: 33px;
}

/* レイアウト */
#main_contents {
    width: 1200px;
    margin: 0 auto;
    padding: 20px 0 60px 0;
    overflow: hidden;
}

#main_contents2 {
    width: 1200px;
    margin: 0 auto;
    padding: 20px 0 60px 0;
    overflow: hidden;
}

#main_contents3 {
    width: 1200px;
    margin: 0 auto;
    padding: 20px 0 60px 0;
    overflow: hidden;
}

#noside_contents {
    width: 1200px;
    margin: 0 auto;
    padding: 20px 0 60px 0;
    overflow: hidden;
}

#main_col {
    width: 100%;
}

#side_col {
    width: 300px;
    float: right;
}

/* 見出し */
#header_tel span.label,
#index_content1 .headline,
#index_news .headline,
#index_staff_headline,
#index_info_headline,
#footer_logo_text,
#main_image_headline,
#staff_name,
#staff_headline,
#index_staff_head h3,
#page_template1 .headline,
#page_template2 .headline,
#page_template3 .headline,
#page_template4 .pt_layout6 .headline,
#archive_post_list .title,
#header_tel span.number,
#logo_text,
#main_image3 .title,
#post_title {
   font-family: Verdana, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
}

.headline2 {
    font-family: Verdana, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 20px;
}

/* 日付 */
.entry-date {
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: bold;
    line-height: 120%;
}



/* ----------------------------------------------------------------------
 ページテンプレート
---------------------------------------------------------------------- */
.pt_layout1 {
    text-align: center;
    clear: both;
    margin: 0 0 90px 0;
}

.pt_layout1 .headline {
    font-size: 38px;
    margin: 0;
    font-weight: 600;
    line-height: 200%;
    color: #000;
}

.pt_layout1 .desc {
    font-size: 14px;
    line-height: 220%;
    margin: 0;
}

.pt_layout2 {
    width: 20%;
    float: left;
    margin: 0 2% 100px 2%;
    text-align: center;
}

.pt_layout2.col:nth-child(3n+3) {
    margin-right: 0px;
}

.pt_layout2 .image {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 30px 0;
}

.pt_layout2 .headline {
    font-size: 22px;
    margin: 0 0 25px 0;
    font-weight: 400;
    line-height: 180%;
}

.pt_layout2 .desc {
    font-size: 14px;
    line-height: 220%;
    margin: 0;
    text-align: left;
}

.pt_layout3 {
    clear: both;
    margin: 0 0 100px 0;
}

.pt_layout3 .image {
    width: 570px;
    height: auto;
    display: block;
    margin: 0 65px 0 0;
    float: left;
}

.pt_layout3 .headline {
    font-size: 22px;
    margin: 0 0 25px 0;
    font-weight: 400;
    line-height: 180%;
}

.pt_layout3 .desc {
    font-size: 14px;
    line-height: 220%;
    margin: 0;
}

.pt_layout3.right .image {
    float: right;
    margin: 0 0 0 65px;
}

.pt_layout4 .image {
    clear: both;
    width: 100%;
    height: auto;
    display: block;
    margin: 0 0 100px 0;
}

.pt_layout5 {
    clear: both;
    margin: 0 0 60px 0;
}

.pt_layout5 .image {
    width: 568px;
    height: auto;
    display: block;
    float: left;
}

.pt_layout5 .desc_area {
    float: right;
    width: 568px;
}

.pt_layout5 .desc_area .headline2 {
    font-size: 22px;
    font-weight: 600;
    margin: 0 0 15px;
}

.pt_layout5 .desc_area .post_content p {
    font-size: 14px;
    line-height: 220%;
    margin: 0px;
}

.pt_layout5 .headline {
    font-size: 22px;
    font-weight: 400;
    margin: 0 0 25px 0;
}

.pt_layout5.right {
    margin: 0 0 100px 0;
}

.pt_layout5.right .image {
    float: right;
}

.pt_layout5.right .desc_area {
    float: left;
}

.pt_layout6 {
    text-align: center;
    clear: both;
    margin: 0 0 80px 0;
}

.pt_layout6 .headline {
    font-size: 34px;
    margin: 0;
    font-weight: 600;
    line-height: 200%;
    color: #bb1b26;
}

.pt_google_map {
    margin: 0 0 100px 0;
    border: 5px solid #dddddd;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}



/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
#header {
    min-width: 1200px;
    position: fixed;
    margin: 0 auto;
    border-bottom: 0px solid #000;
    background: #fff;
    top: 0px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
}

#header_inner {
    width: 1200px;
    height: 140px;
    margin: 0 auto;
    position: relative;
}

.fixed_header #header {
    position: fixed;
    top: 0px;
    width: 100%;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);
}

#header .no_tel_contact {
    width: 1200px;
    height: 100px;
    margin: 0 auto;
    position: relative;
}

/* アニメーションの設定 */
.fixed_header #header {
    animation: moveX 0.5s ease;
    -ms-animation: moveX 0.5s ease;
    -webkit-animation: moveX 0.5s ease;
    -moz-animation: moveX 0.5s ease;
}

@keyframes moveX {
    0% {
        top: -140px;
    }

    100% {
        top: 0px;
    }
}

.fixed_header2 #header {
    animation: moveX2 0.5s ease;
    -ms-animation: moveX2 0.5s ease;
    -webkit-animation: moveX2 0.5s ease;
    -moz-animation: moveX2 0.5s ease;
}

@keyframes moveX2 {
    0% {
        top: 0px;
    }

    100% {
        top: -140px;
    }
}

/* ロゴ */
#logo_text {
    position: absolute;
    top: 55px;
    left: 0px;
}

#logo_text #logo {
    font-size: 30px;
}

#logo_text #logo a {
    display: block;
}

#logo_image {
    position: absolute;
}

#logo_image #logo {}

#logo_image #logo a {
    display: block;
}


/* 電話番号 */
#header_tel_contact {
    position: absolute;
    right: 0px;
    top: 25px;
    margin: 0;
    visibility: visible;
}

#header_tel_contact li {
    float: left;
    margin: 0 0 0 40px;
}

#header_tel {}

#header_tel span.label {
    display: block;
    font-size: 13px;
    margin: 5px 0 0;
}

#header_tel span.number {
    font-size: 20px;
	color: #bb1b26;
}

#header_contact a {
    display: inline-block;
    background: #bb1c26 url(../image/mail2.png) no-repeat 25px 13px;
    padding: 0px 30px 0px 66px;
    height: 50px;
    line-height: 50px;
    color: #fff;
    font-size: 14px -moz-box-sizing:border-box;
	background-size: 25px;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    text-decoration: none;
}

#header_contact a:hover {
    text-decoration: none;
}


/* グローバルメニュー */
.global_menu {
    position: absolute;
    right: 0px;
    bottom: 0px;
}

.global_menu>ul {
    height: 50px;
    display: block;
}

.global_menu>ul>li {
    float: left;
    margin: 0;
    font-size: 1%;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.global_menu.footer_menu>ul>li {
    border-color: #fff;
}

.global_menu>ul>li:first-child {
    border: none;
}

.global_menu>ul>li a {
    font-size: 14px;
    padding: 0 30px;
    text-decoration: none;
    height: 50px;
    line-height: 50px;
    display: block;
    text-align: center;
}

.global_menu li a:hover,
.global_menu li.active_menu>a {
    text-decoration: none;
    background: #000;
    color: #fff;
}

.global_menu ul ul {
    display: none;
    width: 220px;
    position: absolute;
    top: 50px;
    right: 0px;
    margin: 0;
    padding: 0;
}

.global_menu ul ul ul {
    left: 100%;
    top: 0;
    margin: 0 0 0 -1px;
    border: none;
}

.global_menu ul ul li {
    float: none;
    width: 220px;
    line-height: 150%;
    padding: 0;
    margin: 0;
    text-align: left;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
    transition: .3s ease-in-out;
}

.global_menu ul ul a {
    font-size: 12px;
    font-weight: 400;
    position: relative;
    padding: 14px 20px 12px;
    height: auto;
    line-height: 140%;
    margin: 0;
    text-align: left;
    box-shadow: none;
    color: #fff;
        left: 50px;
        text-align: center;
}

.global_menu ul ul a:hover {
    text-decoration: none;
    color: #fff;
}


/* メイン画像 */
#main_image {
    position: relative;
}

#main_image img {
    width: 100%;
    height: auto;
    display: block;
}

#main_image_headline {
    min-width: 1200px;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    height: 70px;
    line-height: 70px;
    font-size: 30px;
    position: absolute;
    bottom: 0px;
    width: 100%;
}

#main_image_headline span {
    display: block;
    width: 1200px;
    margin: 15px auto;
}

#main_image3 {
    width: 100%;
    height: 200px;
    text-align: center;
    background: #000;
}

#main_image3 .title {
    height: 200px;
    line-height: 200px;
    font-size: 24px;
    font-weight: bold;
    color: #fff;
}



/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */

/* スライダー */
#top_slider {
    width: 100%;
    height: auto;
    position: relative;
    background: #fff;
    position: relative;
    margin-top: 140px;
}

#top_slider img {
    width: 100%;
    height: auto;
    display: block;
}

#top_slider .slick-prev {
    display: block;
    width: 60px;
    height: 60px;
    background: #fff;
    text-indent: -400px;
    overflow: hidden;
    cursor: pointer;
    border: none;
    background: rgba(255, 255, 255, 0.2) url(../image/arrow_left.png) no-repeat 20px 20px;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 9999;
}

#top_slider .slick-next {
    display: block;
    width: 60px;
    height: 60px;
    background: #fff;
    text-indent: -400px;
    overflow: hidden;
    cursor: pointer;
    border: none;
    background: rgba(255, 255, 255, 0.2) url(../image/arrow_right.png) no-repeat 25px 20px;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 9999;
}

#top_slider .slick-prev:hover,
#top_slider .slick-next:hover {
    background-color: rgba(255, 255, 255, 0.5);
}


#top_slider .txt {
    position: absolute;
    top: 36%;
    left: 8%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}

#top_slider .txt p {
    font-size: 50px;
    color: #bb1c26;
    line-height: 1.6;
    font-weight: bold;
    letter-spacing: 5px;
}

/* スライダーの下のコンテンツ */
#index_content1_top {
    width: 1200px;
    margin: 0 auto;
    position: relative;
    top: -87px;
    z-index: 3;
}

#index_content1_top .box {
    width: 400px;
    height: 320px;
    position: relative;
    float: left;
    color: #fff;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#index_content1_top .box1 {
    background: #760109;
}

#index_content1_top .box2 {
    background: #9d000b;
}

#index_content1_top .box3 {
    background: #ba1d26;
}

#index_content1_top a,
#index_content1_top a:hover {
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 30px;
    -webkit-transition: all .7s ease-out;
    -moz-transition: all .7s ease-out;
    -o-transition: all .7s ease-out;
    -ms-transition: all .7s ease-out;
    transition: all .7s ease-out;
    -webkit-animation: fadein 1.3s cubic-bezier(0.175, 0.885, 0.320, 1);
    /* older webkit */
    -webkit-animation: fadein 1.3s cubic-bezier(0.175, 0.885, 0.320, 1.275) alternate;
    -moz-animation: fadein 1.3s cubic-bezier(0.175, 0.885, 0.320, 1.275) alternate;
    -o-animation: fadein 1.3s cubic-bezier(0.175, 0.885, 0.320, 1.275) alternate;
    -ms-animation: fadein 1.3s cubic-bezier(0.175, 0.885, 0.320, 1.275) alternate;
    animation: fadein 1.3s cubic-bezier(0.175, 0.885, 0.320, 1.275) alternate;
}

#index_content1_top .headline {
    font-family: Verdana, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
    text-align: center;
    font-size: 22px;
    font-weight: 400;
    margin: 0 0 30px;
}

#index_content1_top .image {
    height: 98px;
    position: relative;
    overflow: hidden;
}

#index_content1_top .mask {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: #fff;
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -o-transform: scale(1.5);
    -ms-transform: scale(1.5);
    transform: scale(1.5);
    -webkit-transition: all .45s ease-out;
    -moz-transition: all .45s ease-out;
    -o-transition: all .45s ease-out;
    -ms-transition: all .45s ease-out;
    transition: all .45s ease-out;
    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    opacity: 0;
}

#index_content1_top .box1:hover .mask,
#index_content1_top .box2:hover .mask,
#index_content1_top .box3:hover .mask {
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    opacity: 1;
}

@-webkit-keyframes fadein {
    0% {
        opacity: 0;
        margin-top: 0;
        margin-left: -10% height:0;
    }

    25% {
        opacity: .5;
        height: 100%;
    }

    100% {
        opacity: 1;
    }
}

@-moz-keyframes fadein {
    0% {
        opacity: 0;
        margin-top: -30%;
        margin-left: -10% height:0;
    }

    25% {
        opacity: .5;
        height: 100%;
    }

    100% {
        opacity: 1;
    }
}

@keyframes fadein {
    0% {
        opacity: 0;
        margin-top: -30%;
        margin-left: -10% height:0;
    }

    25% {
        opacity: .5;
        height: 100%;
    }

    100% {
        opacity: 1;
    }
}

#index_content1_top.type3 .mask {
    top: 0px;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -o-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=100)";
    filter: alpha(opacity=100);
    opacity: 1;
    object-fit: cover;
}

#index_content1_top .desc {
    margin: 25px 0 0 0;
    line-height: 200%;
    font-size: 14px;
    max-height: 84px;
    overflow: hidden;
}

#index_content1_bottom {
    width: 1200px;
    margin: 0 auto 90px;
    position: relative;
    text-align: center;
}

#index_content1_bottom .headline {
    font-size: 32px;
    margin: 0;
    font-weight: 600;
    line-height: 200%;
    color: #000;
}

#index_content1_bottom .desc {
    line-height: 220%;
    font-size: 14px;
}


/* お知らせ */
#index_news_image {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 100px 0;
}

#index_news {
    width: 1200px;
    margin: 0 auto;
    padding: 0 0 100px;
    overflow: hidden;
}

#index_news .headline {
    font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 32px;
    font-weight: 400;
    line-height: 220%;
    letter-spacing: 1px;
    margin: 0 0 30px 0;
    color: #000;
}

#index_news ol {
    position: relative;
    margin: 0 -65px 0 0;
}

#index_news li {
    float: left;
    width: 356px;
    margin: 0 65px 33px 0;
}

#index_news li a.image {
    width: 120px;
    height: 120px;
    display: block;
    float: left;
    margin: 0 25px 0 0;
    position: relative;
    overflow: hidden;
}

#index_news li a.image img {
    display: block;
    width: 100%;
    height: 100%;
}

#index_news li a.image:after {
    content: "";
    box-shadow: inset 0 0 0 0 rgba(255, 255, 255, 0);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

#index_news li a.image:hover:after {
    box-shadow: inset 0 0 0 10px rgba(255, 255, 255, 0.3);
}

#index_news li .date {
    font-size: 14px;
    font-weight: bold;
    line-height: 120%;
}

#index_news li .title {
    font-size: 14px;
    font-weight: 400;
    line-height: 180%;
    display: block;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

#index_news .link_button {
    background: #bb1c26;
    float: right;
    display: inline-block;
    color: #fff;
    width: 195px;
    height: 50px;
    line-height: 50px;
    padding: 0 12px;
    text-align: center;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#index_news .link_button:hover {
    text-decoration: none;
}

/* 弁護士一覧 */
#index_staff_head {
    width: 100%;
    height: 70px;
    background: #bb1c26;
}

#index_staff_head_inner {
    width: 1200px;
    margin: 0 auto;
    position: relative;
}

#index_staff_headline {
    font-size: 30px;
    display: inline-block;
    font-weight: 400;
    padding: 15px 0;
    margin: 0;
    color: #fff;
    vertical-align: middle;
}

#index_staff_head_inner .link_button {
    position: absolute;
    top: 10px;
    right: 0;
    display: inline-block;
    background: #fff;
    color: #bb1c26;
    width: 195px;
    height: 50px;
    line-height: 50px;
    padding: 0 12px;
    text-align: center;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#index_staff_head_inner .link_button:hover {
    text-decoration: none;
}

#index_staff {
    background: #eeeeee;
    padding: 60px 0;
    overflow: hidden;
    min-width: 1200px;
}

#index_staff_inner {
    width: 1200px;
    margin: 0 auto;
}

#index_staff_list a.link {
    position: relative;
    width: 232px;
    height: 400px;
    margin: 0 auto;
    overflow: hidden;
    padding: 15px;
    background: #fff;
    border: 1px solid #ddd;
    display: block;
    text-decoration: none;
    color: #333;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: background-color .4s, color .2s;
    -moz-transition: background-color .4s, color .2s;
    -o-transition: background-color .4s, color .2s;
    transition: background-color .4s, color .2s;
}

#index_staff_list a.link:hover {
    background: #1c68b4;
    color: #fff;
}

#index_staff_list .image {
    width: 200px;
    height: 200px;
    display: block;
    margin: 0 0 15px 0;
    background: #f2f2f2 url(../image/loader.gif) no-repeat center;
}

#index_staff_list .image img {
    width: 200px;
    height: 200px;
    display: block;
}

#index_staff_list .title {
    font-size: 16px;
    margin: 18px 0 12px 3px;
    display: block;
    font-weight: bold;
    line-height: 1.6;
}

#index_staff_list .desc {
    height: 100px;
    margin-left: 3px;
    overflow: hidden;
}

#index_staff_list .desc p {
    line-height: 180%;
    font-size: 13px;
}

#index_staff_list .slick-next {
    cursor: pointer;
    border: none;
    background: #ddd url(../image/arrow_left.png) no-repeat 24px 20px;
    display: block;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
    width: 60px;
    height: 60px;
    position: absolute;
    left: -80px;
    top: 155px;
}

#index_staff_list .slick-prev {
    cursor: pointer;
    border: none;
    background: #ddd url(../image/arrow_right.png) no-repeat 24px 20px;
    display: block;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
    width: 60px;
    height: 60px;
    position: absolute;
    right: -80px;
    top: 155px;
}

#index_staff_list .slick-next:hover,
#index_staff_list .slick-prev:hover {
    background-color: #888;
}

/* 弁護士一覧の下のコンテンツ */
#index_info_headline {
    width: 1200px;
    font-size: 32px;
    margin: 0 auto;
    padding: 90px 0 75px;
    text-align: center;
    font-weight: 600;
    line-height: 200%;
    color: #000;
}

#index_info_image {
    text-align: center;
    font-size: 0;
}

#index_info_image .image {
    width: 20%;
    margin: 0;
}

#index_info_image .image img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

#index_info {
    width: 1200px;
    margin: 0 auto;
    padding: 90px 0 100px;
    text-align: center;
}

#index_info .desc {
    line-height: 220%;
    font-size: 14px;
    margin: 0 0 100px 0;
}

#index_info_button li {
    display: inline;
    margin: 0 10px;
}

#index_info_button li a {
    display: inline-block;
    background: #bb1c26;
    color: #fff;
    text-decoration: none;
    padding: 0 85px 0 140px;
    height: 110px;
    line-height: 112px;
    font-size: 20px;
}

#index_info_button li.button1 a {
    background: #bb1c26 url(../image/icon2_type4.png) no-repeat 75px 27px;
}

#index_info_button li.button2 a {
    background: #383535 url(../image/icon2_type5.png) no-repeat 75px 27px;
}

#index_info_button li a:hover {
    background-color: #1c68b4;
}


/* ----------------------------------------------------------------------
 弁護士
---------------------------------------------------------------------- */
#staff_archive .desc_area .desc {
    margin: 0 0 60px 0;
}

#staff_archive .desc_area .desc p {
    line-height: 220%;
    font-size: 14px;
    text-align: center;
}

#archive_staff_list {
    margin-left: 90px;
    padding: 0;
    position: relative;
}

#archive_staff_list li {
    float: left;
    position: relative;
    width: 30%;
    height: auto;
    margin: 0 1% 12px 1%;
}

#archive_staff_list .link {
    padding: 15px;
    background: #f4f4f4;
    display: block;
    text-decoration: none;
    color: #333;
}

#archive_staff_list .link:hover {
    background: #1c68b4;
    color: #fff;
}

#archive_staff_list .image {
    width: 300px;
    height: 300px;
    display: block;
    margin: 0 0 15px 0;
}

#archive_staff_list .image img {
    width: 300px;
    height: 300px;
    display: block;
}

#archive_staff_list .title {
    font-size: 18px;
    margin: 18px 0 28px 3px;
    display: block;
    font-weight: bold;
}

#archive_staff_list .desc {
    height: 65px;
    margin-left: 3px;
    overflow: hidden;
}

#archive_staff_list .desc p {
    line-height: 180%;
    font-size: 11px;
}

#staff_single {}

#staff_image {
    float: left;
    margin: 0 46px 0 0;
    width: 250px;
    border: 13px solid #f4f4f4;
}

#staff_image img {
    width: 250px;
    height: auto;
    display: block;
}

#staff_info {
    float: left;
    width: 878px;
}

#staff_name {
    font-size: 36px;
    margin: 0 0 25px 0;
    font-weight: 400;
    line-height: 220%;
    border-bottom: 1px dotted #ccc;
}

#staff_name span {
    font-size: 20px;
    padding: 0 0 0 30px;
    vertical-align: middle;
}

#staff_single .post_content {
    margin: 0 0 -40px 0;
    padding: 0;
}

#staff_headline {
    font-family: Garamond, "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-size: 24px;
    font-weight: 400;
    padding: 20px;
    margin: 100px 0;
    background: #772425;
    color: #fff;
    position: relative;
}



/* ----------------------------------------------------------------------
 ブログ、お知らせアーカイブ
---------------------------------------------------------------------- */
#archive_headline {
    background: #222439;
    color: #fff;
    height: 50px;
    line-height: 50px;
    padding: 0 15px;
    font-size: 16px;
    margin: 0 0 30px 0;
    font-weight: 600;
}

#archive_post_list {
    margin: 0;
    padding: 0;
}

#archive_post_list .post_item {
    background: #f3f3f3;
    padding: 25px;
    margin: 0 0 30px;
}

#archive_post_list ul {
    margin: 0 0 15px 0;
}

#archive_post_list li {
    border: none;
    margin: 0 10px 0 0;
    padding: 0;
    display: inline;
    font-size: 12px;
    font-weight: bold;
    line-height: 100%;
}

#archive_post_list .separate {
    font-size: 11px;
    color: #aaa;
    vertical-align: 1px;
}

#archive_post_list .image {
    float: left;
    width: 390px;
    height: 195px;
    display: block;
    position: relative;
}

#archive_post_list .image img {
    width: 390px;
    height: 195px;
    display: block;
    object-fit: cover;
}

#archive_post_list a.image:after {
    content: "";
    box-shadow: inset 0 0 0 0 rgba(255, 255, 255, 0);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

#archive_post_list a.image:hover:after {
    box-shadow: inset 0 0 0 10px rgba(255, 255, 255, 0.3);
}

#archive_post_list .right_content {
    float: right;
    width: 370px;
}

#archive_post_list .title {
    font-size: 18px;
    margin: 0 0 5px 0;
    font-weight: 400;
    line-height: 170%;
    max-height: 120px;
    overflow: hidden;
}

#archive_post_list .title a {
    display: block;
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

#archive_post_list .excerpt {
    line-height: 220%;
    font-size: 13px;
}

/* load button */
#load_post {
    text-align: center;
    padding: 20px 0;
    font-size: 12px;
}

#load_post a {
    display: none;
    padding: 15px 30px;
    font-size: 14px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background: #aaa;
}

#loading.hide {
    display: none;
}

#infscr-loading {
    text-align: center;
    height: 35px;
    padding: 5px 0 0 0;
    line-height: 160%;
    font-size: 12px;
}

p.no_post {
    margin: 0 0 40px 0;
}

.archive_headline {
    font-size: 28px;
    font-weight: bold;
    line-height: 180%;
    margin: 0 0 30px 0;
}



/* ----------------------------------------------------------------------
 詳細ページ
---------------------------------------------------------------------- */
#single_post #post_title {
    font-size: 32px;
    font-weight: 4600;
    line-height: 140%;
    margin: 0 0 0px 0;
	text-align:center;
}

#single_post .post_meta {
    margin: 10px 0 45px 0;
    line-height: 180%;
}

#single_post .post_meta li {
    display: inline;
    font-size: 14px;
    padding: 0 15px 0 0;
    margin: 0 10px 0 0;
    line-height: 100%;
    border-right: 1px solid #888;
}

#single_post .post_meta li:last-child {
    border: none;
    margin: 0;
    padding: 0;
}

#single_post .post_image {
    margin: 0 0 40px 0;
    text-align: center;
}

#single_post .post_image img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

#single_post .post_meta+.post_content .single_share {
    margin-top: 0;
}

/* シェアボタン */
.bookmark {
    margin: 0 0 80px 0;
}

.bookmark li {
    float: left;
    margin: 0 15px 0 0;
}


/* 次の記事、前の記事リンク */
#previous_next_post {
    margin: 0 0 80px 0;
}

#previous_post {
    float: left;
    position: relative;
    line-height: 160%;
}

#next_post {
    text-align: right;
    float: right;
    line-height: 160%;
}

#previous_next_post a {
    font-size: 14px;
    width: 415px;
    text-decoration: none;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#previous_post a {
    color: #333;
    padding: 15px 15px 15px 40px;
    display: block;
    background: #eee url(../image/arrow_left2.png) no-repeat left 15px center;
}

#next_post a {
    color: #333;
    padding: 15px 40px 15px 15px;
    display: block;
    background: #eee url(../image/arrow_right2.png) no-repeat right 15px center;
}

#previous_post a:hover {
    text-decoration: none;
    background: url(../image/arrow_left.png) no-repeat left 15px center;
    color: #fff;
}

#next_post a:hover {
    text-decoration: none;
    background: url(../image/arrow_right.png) no-repeat right 15px center;
    color: #fff;
}

/* 広告 */
#banner_area {
    text-align: center;
    margin: 0 0 80px 0;
}

.banner1 {
    display: inline-block;
    margin: 0 10px;
}

.banner2 {
    display: inline-block;
    margin: 0 10px;
}


/* 関連記事 */
#related_post .headline {
    background: #222439;
    color: #fff;
    height: 50px;
    line-height: 50px;
    padding: 0 15px;
    font-size: 16px;
    margin: 0 0 30px 0;
}

#related_post ol {
    margin: 0 -55px 0 0;
    position: relative;
}

#related_post li {
    display: inline-block;
    vertical-align: top;
    width: 375px;
    margin: 0 50px 40px 0;
    position: relative;
}

#related_post li .image {
    margin: 0 15px 0 0;
    display: block;
    width: 120px;
    height: 120px;
    float: left;
    position: relative;
}

#related_post li a.image img {
    width: 120px;
    height: 120px;
    display: block;
}

#related_post li a.image:after {
    content: "";
    box-shadow: inset 0 0 0 0 rgba(255, 255, 255, 0);
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}

#related_post li a.image:hover:after {
    box-shadow: inset 0 0 0 10px rgba(255, 255, 255, 0.3);
}

#related_post li .title {
    font-size: 14px;
    line-height: 150%;
    font-weight: bold;
    display: block;
}

#related_post li .post_date {
    font-weight: bold;
    font-size: 12px;
    margin: 0 0 10px 0;
}




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
#footer_top {
    background: #000000;
    min-width: 1200px;
    color: #fff;
}

#footer_top_inner {
    width: 1200px;
    margin: 0 auto;
    padding: 60px 0;
    text-align: center;
}


/* logo */
#footer_logo {
    margin: 0 0 20px 0;
    max-width: 400px;
}

#footer_logo_text {
    font-size: 30px;
    margin: 0 0 15px 0;
}

#footer_logo_text a {
    color: #fff;
}


/* menu list */
#footer_menu {
    margin: 0 0 60px 0;
}

.footer_menu {
    display: inline-block;
    width: 150px;
    vertical-align: top;
}

.footer_menu:first-child {
    width: 200px;
}

.footer_menu li {
    text-align: left;
    margin: 0 0 15px 0;
    font-size: 12px;
}

.footer_menu li:first-child {
    margin: 0 0 25px 0;
}

.footer_menu a {
    color: #bbb;
    display: block;
    transition: .3s ease-in-out;
    line-height: 1.6;
}

.footer_menu li:first-child a,
.footer_menu li:only-child a {
    color: #fff;
}

/* address */
#footer_desc {
    line-height: 180%;
    font-size: 12px;
}


/* フッター最下部 */
#footer_bottom {
    position: relative;
    height: 90px;
    width: 1200px;
    margin: 0 auto;
}


/* SNSボタン */
#footer_social_link {
    float: left;
    margin: 27px 35px 0 0;
}

#footer_social_link li {
    display: inline-block;
    margin: 0;
    position: relative;
}

#footer_social_link li a {
    display: block;
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    width: 30px;
    height: 30px;
    position: relative;
    -webkit-transition-property: none;
    -moz-transition-property: none;
    -o-transition-property: none;
}

#footer_social_link li:before {
    font-family: 'design_plus';
    color: #ccc;
    font-size: 18px;
    display: block;
    position: absolute;
    top: 10px;
    left: 9px;
    width: 17px;
    height: 17px;
    line-height: 17px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#footer_social_link li.twitter:before {
    font-family: 'tiktok_x_icon';
    content: "\e901";
}

#footer_social_link li.facebook:before {
    content: '\e902';
}

#footer_social_link li.insta:before {
    content: '\ea92';
    top: 11px;
}

#footer_social_link li.pint:before {
    content: '\e905';
    top: 11px;
}

#footer_social_link li.flickr:before {
    content: '\eaa4';
    top: 11px;
}

#footer_social_link li.tumblr:before {
    content: '\eab9';
    top: 11px;
}

#footer_social_link li.rss:before {
    content: '\e90b';
}

#footer_social_link li.twitter:hover:before {
    color: #000;
}

#footer_social_link li.facebook:hover:before {
    color: #3B5998;
}

#footer_social_link li.insta:hover:before {
    color: #8a3ab9;
}

#footer_social_link li.rss:hover:before {
    color: #ffcc00;
}

#footer_social_link li.pint:hover:before {
    color: #cb2027;
}

#footer_social_link li.flickr:hover:before {
    color: #ff0084;
}

#footer_social_link li.tumblr:hover:before {
    color: #34526f;
}


/* メニュー */
#footer_menu_bottom {
    float: left;
    margin: 40px 0 0 0;
}

#footer_menu_bottom li {
    float: left;
    font-size: 12px;
}

#footer_menu_bottom li a {
    display: block;
    border-right: 1px solid #333;
    padding: 0 15px 0 0;
    margin: 0 15px 0 0;
}

#footer_menu_bottom li:last-child a {
    border: none;
    padding: 0;
    margin: 0;
}


/* コピーライト */
#copyright {
    float: right;
    margin: 40px 0 0 0;
    font-size: 12px;
}


/* フッターエリアリンク */
.footer_menu a,
#footer_menu_bottom li a,
#copyright a {
    transition: .3s ease-in-out;
}

.footer_menu a:hover,
.footer_menu li:first-child a:hover,
.footer_menu li:only-child a:hover {
    text-decoration: none;
    opacity: .5;
}


/* ページ上部へ戻るボタン */
#return_top {}

#return_top a {
    position: fixed;
    right: 0;
    bottom: 0;
    text-indent: -200px;
    display: block;
    width: 100%;
    height: 60px;
    width: 60px;
    margin: 0;
    padding: 0;
    text-decoration: none;
    background: rgb(56 53 53) url(../image/return_top.png) no-repeat center;
    overflow: hidden;
    z-index: 10;
}

#return_top a:hover {
    background-color: #333;
}




/* ----------------------------------------------------------------------
 for tablet
---------------------------------------------------------------------- */
@media screen and (max-width:1200px) {

    /* front page */
    #index_news {
        box-sizing: border-box;
        padding: 0 20px 100px;
    }

    #index_news ol {
        width: 100% display:flex;
        flex-wrap: wrap;
    }

    #index_news li {
        width: calc(50% - 66px);
    }

    #index_staff_head {
        box-sizing: border-box;
        padding: 0 20px;
    }

    #index_staff_head_inner {
        width: auto;
    }

    /* common */
    #main_contents {
        box-sizing: border-box;
        padding-left: 20px;
        padding-right: 20px;
    }

    /* page noside */
    #noside_contents {
        box-sizing: border-box;
        padding-left: 20px;
        padding-right: 20px;
    }

    /* page common */
    #main_image_headline {
        box-sizing: border-box;
        padding-left: 20px;
        padding-right: 20px;
    }

    #main_image_headline span {
        width: auto;
    }

    /* page type1 */
    #main_contents3 {
        box-sizing: border-box;
        padding-left: 20px;
        padding-right: 20px;
    }

    .pt_layout2 {
        margin-right: 40px;
    }

    .pt_layout4 {
        width: calc(100% + 40px);
        margin-left: -20px;
    }

    /* staff */
    #archive_staff_list li {
        width: calc(20% - 12px);
    }
}

#index_content1_top .box1 .image {
    background: url('../image/sicon01.png') no-repeat center;
}

#index_content1_top .box2 .image {
    background: url('../image/sicon02.png') no-repeat center;
}

#index_content1_top .box3 .image {
    background: url('../image/sicon03.png') no-repeat center;
}

.pt_layout2>a:first-child:hover {
    text-decoration: none;
    opacity: .8;
    filter: opacity(80%);
}

.pt_layout2>a:first-child .headline2 {
    color: #333;
    text-align: left;
}

.pt_layout2 .link_button {
    background: #383535;
    margin-top: 6%;
}

#archive_post_pagination {
    margin-top: 5%;
    margin-bottom: 5%;
    text-align: center;
}

#archive_post_pagination>a {
    display: inline-block;
    padding: 10px;
    background: #383535;
}

#archive_post_pagination>a:hover {
    text-decoration: none;
}

#archive_post_pagination>a.page-num-current {
    background: #bb1c26;
    color: #fff;
}

#company_mission,
#dc1_content_1,
#company_intro {
  scroll-margin-top: 100px;
}

.anchor-offset {
  display: block;
  position: relative;
  top: -100px; /* 上方预留空间 */
  height: 0;
  visibility: hidden;
}

.anchor-offset2 {
  display: block;
  position: relative;
  top: -130px; /* 上方预留空间 */
  height: 0;
  visibility: hidden;
}

.global_menu ul ul.sub-menu li a{
    left: 0;
}