@charset "utf-8";

/*
表示側＋PC表示時のみ参照するCSS
*/

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページ　＞　セクションの区切り
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[class*="section_kugiri"] {
    padding: 50px 0;
    min-width: 1100px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用ボタン01
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
a.btn01+a.btn01 {
    margin-left: 1em;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Post Snippets用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*全幅要素*/
div#body_inner {
    overflow: hidden;
    min-width:1100px;
}

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

div#contentsArea {
    overflow: hidden;
}

div.w900 {
    width: 900px;
    margin: 0 auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用スタイル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.br_pc:before {
    content: "\A";
    white-space: pre;
    /* ← あわせてこれを指定しないと改行しない場合があるらしい */
}

.br_sp:before {
    content: "";
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ローカルナビ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
ul.child_navi li ul.children {
    display: none;
}

ul.child_navi {
    overflow: hidden;
    width: 1100px;
    margin: 0 auto;
    text-align: center;
    border-bottom: 1px solid #d5d5d5;
    padding: 25px 0 20px;
}

ul.child_navi li {
    display: inline-block;
    position: relative;
    padding-left: 25px;
    padding-bottom: 7px;
}

ul.child_navi li:not(:first-child) {
    margin-left: 50px;
}

ul.child_navi li a {
    /* font-family: "Noto Sans Japanese"; */
    font-size: 16px;
    font-weight: normal;
    position: relative;
}

ul.child_navi li[class*='current'] a, ul.child_navi li a:hover {
    text-decoration: none;
}

ul.child_navi li:before {
    content: '\f105';
    font-family: FontAwesome;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 3px;
    left: 0;
    color: #fff;
    border-radius: 4px;
    text-align: center;
    -webkit-transition: all 0.2s linear;
    -ms-transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    transition: all 0.2s linear;
    background: #cecece;
}

ul.child_navi li[class*='current']:before, ul.child_navi li:hover:before {
    background: #676767;
}

ul.child_navi > li > a:after {
    content: "";
    background-color: #3c2a22;
    width: 100%;
    height: 1px;
    display: block;
    position: absolute;
    bottom: 0px;
    transform: scaleX(0);
    -webkit-transform: scaleX(0);
    -moz-transform: scaleX(0);
    -ms-transform: scaleX(0);
    -o-transform: scaleX(0);
    transition: .16s ease-in-out;
    -webkit-transition: .16s ease-in-out;
    -moz-transition: .16s ease-in-out;
    -ms-transition: .16s ease-in-out;
    -o-transition: .16s ease-in-out;
    transform-origin: 0 0;
    -moz-transform-origin: 0 0;
    -webkit-transform-origin: 0 0;
    -o-transform-origin: 0 0;
    -ms-transform-origin: 0 0;
}

ul.child_navi > li[class*='current'] > a:after, ul.child_navi > li:hover > a:after {
    transform: scaleX(1);
    -webkit-transform: scaleX(1);
    -moz-transform: scaleX(1);
    -ms-transform: scaleX(1);
    -o-transform: scaleX(1);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ディスプレイ右サイドの固定エリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#side_fixed_zone {
    position: fixed;
    right: -18px;
    top: 50%;
    margin-top: -135px;
    z-index: 100;
    -webkit-transition: right 0.2s linear;
    -ms-transition: right 0.2s linear;
    -moz-transition: right 0.2s linear;
    transition: right 0.2s linear;
}

#side_fixed_zone:hover {
    right: 0px;
}

#side_fixed_zone img:hover {
    opacity: 1;
}

@media screen and (max-width: 1100px) {
    #side_fixed_zone {
        right: -69px;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
画像ロールオーバー時のフェード効果
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
a img:hover {
    opacity: .7;
}

a img.no_fade:hover {
    opacity: 1;
}

a img {
    box-shadow: #000 0 0 0;
    /* CSSアニメーションで画像を透過させた際に1pxズレるバグを解消するおまじない */
    -webkit-transition: opacity 0.5s linear;
    -ms-transition: opacity 0.5s linear;
    -moz-transition: opacity 0.5s linear;
    transition: opacity 0.5s linear;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
投稿系リスト（キューブタイプ）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.post_list.cubic {
    padding-left: 50px;
    padding-right: 50px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ヘッダー下エリア（トップのみ）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
div#front_header_section {
    /*width: 1100px;*/
    /*margin: 0 auto 40px;*/
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
LPのフォントサイズ拡大(1カラムの場合は通常サイズにしたいため再検討)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.lp .font_m {
    font-size: 18px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用クラス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.m_btm_large {
    margin-bottom: 100px;
}

.only_sp {
    display: none;
}

br.only_sp {
    /* この手法はIE未対応のため使用禁止 */
    /*content: "";*/
    /*display: inline;*/
    /*margin-right: -.2em;*/
}

.hdn {
    overflow: hidden;
}

.left {
    float: left;
}

.right {
    float: right;
}

/* リンクエリアの拡張 */
.biggerlink .item:hover, .biggerlink li:hover {
    /*background-color: #f1f1f1;*/
    /*background-color: rgba(0,0,0,.1);*/
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
フレームデザイン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.pc_base_width {
    width: 1100px;
    margin: 0 auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ウィジェット(バナーBOX)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*
#front_header_section .bnr_box {
}

#front_header_section ul.bnr_box {
}

#front_header_section ul.bnr_box li {
    float: left;
    margin-left: 10px;
    width: 320px;
    box-sizing: border-box;
}

#front_header_section ul.bnr_box li .thumb {
    text-align: center;
}

#front_header_section ul.bnr_box li:first-child {
    margin-left: 0;
}

#sub_area .bnr_box li {
    margin-top: 15px;
}

#sub_area .bnr_box li:first-child {
    margin-top: 0;
}

.home #sub_area .bnr_box_wrap {
    display: none;
}
*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ヘッダー(インフォメーション)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#header_frame {
    background: #fff;
}

#header_frame .logo {
    width: 214px;
}

#header_frame > .inner {
    padding: 10px 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
グローバルナビの固定
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#header_fixed_zone {
    background: #fff;
    width: 100%;
    z-index: 100;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
グローバルナビ（上下段共通＆親子共通のスタイル）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[id*=h_navi] ul {
    text-align: center;
}

[id*=h_navi] ul li {
}

[id*=h_navi] ul a {
    display: block;
    padding: 10px;
}

[id*=h_navi] ul li:hover a {
    text-decoration: none;
}

/* HOMEマーク */
[id*=h_navi] ul img[src*="home.png"] {
    /*margin-right: 5px;*/
    vertical-align: -3px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
グローバルナビ（上下段共通＆親のみのスタイル）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[id*=h_navi] ul {
    display: table;
    width: 100%;
}

[id*=h_navi] ul > li {
    display: table-cell;
    vertical-align: middle;
}

/* 子メニューを持つ親メニュー */
[id*=h_navi] ul > li > a.arrow {
    cursor: pointer;
}

[id*=h_navi] ul > li > a.arrow:after {
    margin-left: 2px;
    content: '▼';
}

[id*=h_navi] ul > li > a.arrow.top:after {
    content: '▲';
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
グローバルナビ（上下段共通＆子のみのスタイル）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
[id*=h_navi] ul > li {
    position: relative;
    z-index: 1;
}

[id*=h_navi] ul ul {
    display: none;
    position: absolute;
    width: 100%;
    background: #ccc;
    white-space: nowrap;
    min-width: 100%;
    width: auto;
    text-align: left;
}

[id*=h_navi] ul ul a {
    color: #fff;
    font-size: 12px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
グローバルナビ（上段）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#h_navi_sub {
    background: #ddd;
}

#h_navi_sub a {
    color: #000;
    padding-top: 8px;
    padding-bottom: 6px;
    font-size: 13px;
}

/* アクティブ状態（display:table-cellを使用するためAではなくLIに変化をつける） */
#h_navi_sub li[class*='current'] a, #h_navi_sub li:hover a {
    background: #eee;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
グローバルナビ（下段）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#h_navi_main {
    /*border-bottom: 1px solid #fff;*/
    background: #ccc;
}

/* 親メニューのみ */
#h_navi_main ul > li {
    min-width: 90px;
}

#h_navi_main ul > li > a {
    padding-top: 14px;
    padding-bottom: 14px;
    color: #fff;
    font-size: 16px;
}

/* 親メニューのみ(アクティブ状態)（display:table-cellを使用するためAではなくLIに変化をつける） */
/* #h_navi_main ul > li[class*='current'], */
#h_navi_main ul > li:hover {
    background: #ddd;
}

#h_navi_main ul > li[class*='current'] > a, #h_navi_main ul > li:hover > a {
    color: #fff;
}

/* 子メニューのみ(アクティブ状態) */
#h_navi_main ul ul li:hover {
    opacity: .7;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ヘッダー(プロモ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#promo_frame {
    /*margin-bottom: 30px;*/
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ヘッダー(動画)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/*
.top_movie{
	margin:15px auto;
	background: #ddd;
	padding:20px;
}
.top_movie iframe{
    height: 250px;
    width: 450px;
}
*/
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
コンテンツエリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#contents_frame {
}

body:not(.home) #contents_area {
    padding-top: 50px;
    margin-bottom: 50px;
}

.one_column.width_auto #contents_area {
    width: auto;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
メインカラム
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#main_area {
    /*width: 800px;*/
    width: 780px;
}

.column_a #main_area {
    float: right;
}

.column_b #main_area {
    float: left;
}

.one_column #main_area {
    float: none;
    margin-left: auto;
    margin-right: auto;
    width: 900px;
}

.one_column.wide_type #main_area, .one_column.post-type-archive-bukken #main_area, .one_column.post-type-archive-works #main_area {
    width: 1100px;
}

.one_column.width_auto #main_area {
    width: auto;
}

#main_area .article_inner {
    /* border: 1px solid #ddd; */
    /* padding: 49px; */
    /*padding: 50px;*/
    background: #fff;
    /*overflow: hidden;*/
}

.home.one_column #main_area .article_inner {
    border: none;
    padding: 0;
}

.home.one_column .sns_btns {
    width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

#main_area > * > * > * > .editor_area {
    min-height: 300px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
サイドバー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#sub_area {
    width: 280px;
}

.column_a #sub_area {
    float: left;
}

.column_b #sub_area {
    float: right;
}

.one_column #sub_area {
    display: none;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
フッター(ナビ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
div#f_navi_wrap {
    background: #ededed;
    padding: 30px 0;
}

div#f_navi_wrap .wrap_inner {
    overflow: hidden;
}

div#f_navi_wrap ul:not(.sub-menu) {
    overflow: hidden;
    /* font-family: "Noto Sans Japanese"; */
    /* display: flex; */
    /* justify-content: space-between; */
    padding-left: 30px;
    position: relative;
}

div#f_navi_wrap ul:not(.sub-menu) > li {
    float: left;
    margin-right: 20px;
    /* margin-bottom: 20px; */
}

div#f_navi_wrap ul:not(.sub-menu) > li.home {
    position: absolute;
    left: 0;
}

div#f_navi_wrap ul:not(.sub-menu) > li:not(.home) {
    /* margin-left: 20px; */
}

div#f_navi_wrap ul:not(.sub-menu) > li > a {
    font-size: 14px;
    font-weight: bold;
    position: relative;
}

div#f_navi_wrap ul:not(.sub-menu) > li:not(.home) > a:before {
    content: '';
    width: 10px;
    height: 2px;
    background: #333;
    /* position: absolute; */
    /* left: -15px; */
    /* top: 7px; */
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
    margin-top: -2px;
}

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

div#f_navi_wrap ul.sub-menu {
}

div#f_navi_wrap ul.sub-menu li:first-child {
    margin-top: 15px;
}

div#f_navi_wrap ul.sub-menu li {
    margin-top: 8px;
}

div#f_navi_wrap ul.sub-menu li a {
    font-size: 13px;
}

div#f_navi_other > * {
    /* margin-top: 40px; */
    border-top: 1px solid #ccc;
    padding-top: 20px;
    margin-top: 20px;
}

#f_navi_sub{
    margin-top:10px;
}

div#f_navi_wrap p.copy_link a {
    display: inline-block;
}

div#f_navi_wrap p.copy_link a:not(:last-child) {
    padding-right: 5px;
    border-right: 1px solid;
    margin-right: 5px;
    display: inline-block;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
検索ウィジェット
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#f_navi_other .footer_search {
    float: right;
}

#f_navi_other p.copy_link {
    float: left;
    margin-top: 10px;
}

#f_navi_other form#searchform input[type="text"] {
    border: 1px solid #ddd;
    margin: 0;
    width: 300px;
    background: #fff;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
フッター　＞　コピーライトのエリア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
div#copy_frame {
    background: #333;
}

div#copy_area {
    padding: 15px 0;
    text-align: center;
}

div#copy_area, div#copy_area a {
    color: #fff;
}

div#copy_area span {
    margin-left: 1em;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
フッター(トップへ戻る)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.to_page_top {
    /*font-size: 14px;*/
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
トップページのプロモスライダーに限ったカスタマイズ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* ページャー位置の調整 */
#promo_area .bx-wrapper .bx-pager {
    bottom: 10px!important;
}

#promo_area .bxslider > li {
    transition: all 1s;
    opacity: 0.3;
}

#promo_area .bxslider > li.active {
    opacity: 1;
}

/* コントロール（「次へ」「前へ」）のカスタマイズ */
#promo_area .bx-wrapper .bx-prev {
    left: 50%;
    margin-left: -590px;
}

#promo_area .bx-wrapper .bx-next {
    right: 50%;
    margin-right: -590px;
}

#promo_area .bx-wrapper .bx-controls-direction a {
    width: 38px;
    height: 38px;
    background: transparent;
    box-shadow: none;
}

#promo_area .bx-controls-direction a:after {
    width: 24px;
    height: 24px;
}

#promo_area .bx-controls-direction a.bx-next:after {
    left: 0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
スライダー（プロモ）全幅タイプ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* bxslider本体のCSSが画像をブロック要素化しているが故の調整 */
#promo_area .bx-wrapper img {
    height: 100%;
    /* この記述が無いと画像の高さが確保されない(iPad)。但し、デバイス毎に高さが変動するスマホサイトではこの記述方法は禁止 */
}

#promo_frame.wide {
    overflow-x: hidden;
    /* スライド3枚分（3600px）の横スクロールバーが表示されることを防ぐ */
}

#promo_frame.wide #promo_area {
    height: 478px;
    width: 1200px;
    /* スライド1枚分の横幅 */
    margin: 0 auto;
    position: relative;
}

#promo_frame.wide #promo_area > div {
    width: 3600px;
    /* スライド3枚分の横幅 */
    position: absolute;
    left: 50%;
    margin-left: -1800px;
}
