@charset "utf-8";
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ヘッダー　＞　グローバルナビの固定（JS連携）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#header_fixed_zone.fix_target {
    background: transparent;
    box-shadow: none;
}

#header_fixed_zone.fix_target #h_navi_main .inner {
    justify-content: flex-end;
}

#header_fixed_zone.fix_target #h_navi_main .inner .logo {
    display: none
}

#header_fixed_zone.fix_target #h_navi_main ul:not(.sub-menu) {
    display: none;
}

#header_fixed_zone.fix_target .cmn_hamburger2 {
    background: #fff;
    /*width: 100px;*/
}

#header_fixed_zone.fix_exe .cmn_hamburger2 {
    position: fixed;
    top:0;
    right: 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
グローバルナビ（下段／親のスタイル）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#h_navi_main .inner {
    width: 100%;
    min-width: 1200px;
}

#h_navi_main .inner .logo {
    width: 174px;
    margin-left: 30px;
    margin-right: auto;
}

#h_navi_main ul:not(.sub-menu) {
    margin-right: 40px;
    max-width: 850px;
    width: calc(100% - 370px - 120px);
}

#h_navi_main ul:not(.sub-menu) > li {
    min-width: auto;
}

#h_navi_main ul:not(.sub-menu) > li.home, #h_navi_main ul:not(.sub-menu) > li.contact {
    display: none;
}

#h_navi_main ul:not(.sub-menu) > li > a {
    font-family: 'Amiri', my_mincho;
    padding: 35px 10px;
}

#h_navi_main ul:not(.sub-menu) > li > a:after {
    width: 80%;
    left: calc(50% - 40%);
    background-color: #151515;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
グローバルナビ（下段／子のスタイル）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#h_navi_main ul:not(.sub-menu) > li:hover ul.sub-menu {
    display: none;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ヘッダ　＞　アラート（バナー）（プラグイン＞WPFront Notification Bar）　
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#wpfront-notification-bar .wpfront-message a br {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
スニペット　＞　cmn_arche01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_arche01 {
    display: grid;
    display: -ms-grid;
    padding: 60px 0 50px;
    position: relative;
    margin-bottom: 50px;
}

.cmn_arche01::before {
    position: absolute;
    content: "";
    background: #f6f6f6;
    width: calc(((100vw - 1200px) / 2) + 1200px - 90px);
    height: 100%;
    left: calc((100vw - 1200px) / -2);
    top: 0px;
}

.cmn_arche01 li {
    position: relative;
    justify-content: space-between;
}

.cmn_arche01 li:first-child {
    padding-top: 0px;
    grid-row: 1 / 3;
    grid-column: 1 / 2;
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    -ms-grid-row-span: 2;
    width: 620px;
    margin-right: 50px;
}

.cmn_arche01 li:not(:first-child) {
    padding-left: 0px;
    width: 530px;
}

.cmn_arche01 li:not(:last-child) {
    margin-bottom: 0!important;
}

.cmn_arche01 li:nth-child(2) {
    grid-row: 1 / 2;
    grid-column: 2 / 3;
    /*margin-top: 0!important;*/
    -ms-grid-row: 1;
    -ms-grid-column: 2;
}

.cmn_arche01 li:nth-child(3) {
    grid-row: 2 / 3;
    grid-column: 2 / 3;
    -ms-grid-row: 2;
    -ms-grid-column: 2;
}

.cmn_arche01 li .img_wrapper {
    padding: 0;
}

.cmn_arche01 li .img_wrapper::before {
    display: none;
}

.cmn_arche01 li .area_a {
    width: 250px;
    margin: 0;
}

.cmn_arche01 li p.img {
    text-align: left;
    margin-bottom: 0px;
}

.cmn_arche01 li:first-child p.img {
    margin-right: 0;
    margin-bottom: 20px;
    margin-left: 0;
}

.cmn_arche01 li:first-child p.img::before {
    display: none;
}

.cmn_arche01 li:not(:first-child) p.img {
    padding-top: 100%;
}

.cmn_arche01 li p.img img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    height: 100%!important;
    width: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}

.cmn_arche01 li .area_b {
    width: calc(100% - 275px);
}

.cmn_arche01 li:nth-child(2) .area_b {
    padding-bottom: 30px;
}

.cmn_arche01 li p.num {
    font-size: 1.6rem;
    text-align: left;
    margin-bottom: 20px;
}

.cmn_arche01 li p.ttl {
    font-size: 2.2rem;
    text-align: left;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
スニペット　＞　cmn_arche02
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_arche02 {
    position: relative;
    margin-bottom: 50px;
}

.cmn_arche02 .inner {
    padding: 35px 325px 50px 80px;
    width: 900px;
}

.cmn_arche02 h2.ttl {
    font-size: 4.4rem;
    width: calc(1200px - 550px);
    margin-bottom: 0px;
    padding: 30px 10px;
}

.cmn_arche02 h3.main_lead {
    font-size: 2.2rem;
    margin-bottom: 45px;
}

.cmn_arche02 p.main_txt {
    line-height: 3.0;
    margin-bottom: 0;
}

.cmn_arche02 p.main_img {
    width: 550px;
    position: absolute;
    top: 0;
    right: 0;
    padding-top: 30.5%;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
スニペット　＞　cmn_arche03(cmn_arche02.reverse = cmn_arche02の反転ver.)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_arche02.reverse p.main_img {
    left: 0;
}

.cmn_arche02.reverse .inner {
    padding: 35px 80px 50px 325px;
    margin-left: auto;
}

.cmn_arche02.reverse h2.ttl {
    margin-left: auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
スニペット　＞　cmn_arche05
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_arche05 {
    position: relative;
    margin-top: 120px;
    margin-bottom: 50px;
}

.cmn_arche05::before {
    width: 100vw;
    height: 100%;
    top: -120px;
    margin-left: calc((100vw - 100%) / -2);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
スニペット　＞　cmn_arche06 全幅ボックス（グレー）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_arche06 {
    margin-right: 0px;
    padding: 30px 0;
    width: 100vw;
}

@media (min-width: 1200px) {
    .cmn_arche06 {
        margin-left: calc((100vw - 100%) / -2);
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
スニペット　＞　cmn_arche07 staff
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_arche07 p.img {
    width: 240px;
    height: 240px;
    padding-top: 240px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
スニペット（スマホファースト）　＞　cmn_en（英語入力）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_en {
    font-size: 1.6rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ > 汎用ブログリスト
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_blog_list li {
    max-width: 375px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ローカルナビ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.child_navi_wrap {
    margin-top: 25px;
}

ul.child_navi li ul.children {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
固定ページ　＞　ローカルナビ(2019-10-31追加tky)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
ul.child_navi {
    border-radius: 0;
    border-bottom: 1px solid #212121;
    padding: 0 35px;
}

ul.child_navi li {
    border: 1px solid #acacac;
    border-bottom: none;
}

ul.child_navi li:not(:last-child) {
    border-right: 1px solid #acacac;
    margin-right: 5px;
}

ul.child_navi a {
    padding: 16px 5px;
    background: #fff;
    min-width: 0;
    font-family: 'my_mincho';
    /*font-size: 1.5rem;*/
    font-size: 1.4rem;
    font-weight: normal;
}

ul.child_navi a:hover,ul.child_navi li.current_page_item a {
    background-color: #212121;
    color: #fff;
    text-decoration: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ディスプレイ右サイド　＞　固定エリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#side_fixed_zone {
    right: 0;
    top: 200px;
    display: none; /*不要になったため非表示（2025-08-08）wi*/
}

#side_fixed_zone .btns p:not(:last-child) {
    margin-bottom: 7px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#promo_frame {
    /*width: calc(100% - 160px);*/
    position: relative;
    height: calc(100vh - 93px);
    height: calc((var(--my_vh) * 100) - 93px);
    max-height: 878px;
    min-height: calc(648px - 93px);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　#home_blog
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_blog .swiper-button-prev {
    display: none;
}

#home_blog .swiper-button-next {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　#home_teian
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#home_teian.lazyloaded {
    background-image: url(images/teian_bg.jpg);
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
フッター(ナビ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
div#f_navi_wrap {
    background: transparent;
}

div#f_navi_wrap .navi_a ul:not(.sub-menu):not(.items) {
    justify-content: space-between;
    border-top: 1px solid #404040;
    border-bottom: 1px solid #404040;
    padding: 30px 0 30px 160px;
    margin-bottom: 40px;
}

div#f_navi_wrap .navi_a ul:not(.sub-menu) > li.home {
    padding-left: 60px;
}

div#f_navi_wrap .navi_a ul:not(.sub-menu) > li.contact {
    display: none;
}

div#f_navi_wrap .navi_a ul:not(.sub-menu) > li.home .icon-home1:before {
    content: "TOP";
    font-family: 'Amiri', my_mincho;
}

div#f_navi_wrap .navi_a ul:not(.sub-menu) > li > a {
    color: #fff;
    font-family: 'Amiri', my_mincho;
    font-size: 1.4rem;
}

div#f_navi_wrap .navi_a ul.items li {
    position: relative;
    padding-left: 5px;
}

div#f_navi_wrap .navi_a ul.items li:not(:last-child) {
    margin-right: 60px;
}

div#f_navi_wrap .navi_a ul.items li::before {
    content: "";
    width: 10px;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 9px;
    left: -15px;
}

div#f_navi_wrap ul.sub-menu li {
    display: none;
}

div#f_navi_wrap ul.sub-menu li a {
    color: #fff;
}

div#f_navi_other > * {
    border-top: none;
    padding-top: 0px;
    margin-top: 0px;
}

div#f_navi_other ul {
    padding-left: 70px;
}

div#f_navi_other ul li {
    position: relative;
    padding-left: 5px;
}

div#f_navi_other ul li:not(:last-child) {
    border-right: none;
    margin-right: 60px;
    padding-right: 0;
}

div#f_navi_other ul li::before {
    content: "";
    width: 10px;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 9px;
    left: -15px;
}

div#f_navi_other ul li a {
    color: #fff;
    font-family: 'Amiri', my_mincho;
    font-size: 1.4rem;
}
