@charset "UTF-8";

/* ================================================================== */

/* Article CSS

===================================================================== */

.a-site_contents { overflow: hidden; }
.a-site_contents .site_frame { margin-top: 0; padding-top: 0; }
.a-main         { width:100%; }
.a-main .column { padding: 0 !important; }

/* ------------------------------------------------------------------ */
/* タイトル周り
--------------------------------------------------------------------- */

/* タイトル周り 共通 */

@media(min-width:1115px) {
  .article-ttl { padding-left: 20px; border-left: 4px solid #ffe782; }
}
@media(max-width:1114px) {
  .article-ttl { padding-left: 15px; border-left: 3px solid #ffe782; }
}

/* タイトル周り 1 -- 画像＝ウィンドウ幅 */
.article-mv-01-w { color: #fff; }
.article-mv-01-b { color: #000; }

.article-mv-01-w .article-ttl-outer { background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent); }
.article-mv-01-b .article-ttl-outer { background: linear-gradient(to top, rgba(255, 255, 255, 0.6), transparent); }
[class *= 'article-mv-01'] .article-ttl-outer {
  position: absolute;
  bottom: 0;
  left: 0;
}

[class *= 'article-mv-01'] .c-page_title { line-height: 1.35; }

@media(min-width:1115px) {
  [class *= 'article-mv-01'] .article-ttl-outer { width: 100%; padding: 0 calc(50% - 557.5px) 60px; }
}
@media(max-width:1114px) {
  [class *= 'article-mv-01'] .article-ttl-outer { width: 100%; padding:  24px 20px; }
}
@media(min-width:642px) {
  [class *= 'article-mv-01']{ max-height: 500px; overflow: hidden; }
  [class *= 'article-mv-01'] .article-img     { width: 100%; }
  [class *= 'article-mv-01'] .article-img img { width: 100%; }
}
@media(max-width:641px) {
  [class *= 'article-mv-01'] .article-img       { width: 100%; height: 500px; position: relative; overflow: hidden; }
  [class *= 'article-mv-01'] .article-img img   { position: absolute; top: 0; left: 0; /* left: 50%; transform: translateX(-50%); */ display: block; max-width: initial; height: 100%; }
}

/* タイトル周り 2 -- 画像＝記事幅 */
.article-mv-02 { margin-bottom: 50px; }

@media(min-width:1115px) {
  .article-mv-02 .article-img { margin-bottom: 40px; }
  .article-mv-02 .capFont     { display: block; margin-top: 40px; }
}
@media(max-width:1114px) {
  .article-mv-02 .article-img { margin-bottom: 20px; }
  .article-mv-02 .capFont     { display: block; margin-top: 20px; }
}

/* タイトル周り 3 -- トップページ */
.article-mv-03-w, .article-mv-03-w a { color: #fff; }
.article-mv-03-b { color: #000; }
.article-mv-03-b a:hover,
.article-mv-03-w a:hover { opacity: 1; }

.article-mv-03-w .article-ttl-outer { background: linear-gradient(to right, rgba(0, 0, 0, 0.6), transparent 90%, transparent); }
.article-mv-03-b .article-ttl-outer { background: linear-gradient(to right, rgba(255, 255, 255, 0.6), transparent 90%, transparent); }
[class *= 'article-mv-03'] .article-ttl-outer {
  position: absolute;
  bottom: 0;
  left: 0;
}

@media(min-width:1115px) {
  [class *= 'article-mv-03'] .article-ttl-outer { width: 90%; padding: 25px calc(50% - 557.5px); }
  [class *= 'article-mv-03'] .article-img     { width: 100%; }
}
@media(min-width:642px) {
  [class *= 'article-mv-03'] { max-height: 460px; overflow: hidden; }
  [class *= 'article-mv-03'] .article-img img { width: 100%; }
  .article-mv-03-w .article-ttl-outer { background: linear-gradient(to right, rgba(0, 0, 0, 0.6), transparent 90%, transparent); }
  .article-mv-03-b .article-ttl-outer { background: linear-gradient(to right, rgba(255, 255, 255, 0.6), transparent 90%, transparent); }
  [class *= 'article-mv-03'] .article-ttl-outer.feature .c-lead            { font-size: 28px; line-height: 1; font-weight: bold; margin-bottom: .5em; }
  [class *= 'article-mv-03'] .article-ttl-outer.feature .c-lead:first-line { font-size: 20px; line-height: 1.6; font-weight: bold; margin-bottom: .25em; display: block; }
  [class *= 'article-mv-03'] .article-ttl-outer.feature .c-page_title { font-size: 36px; line-height: 1; font-weight: bold; }
  [class *= 'article-mv-03'] .article-ttl-outer.wat .c-page_title     { font-size: 42px; line-height: 1; font-weight: bold; margin-bottom: .25em; }
  [class *= 'article-mv-03'] .article-ttl-outer.wat .c-body           { font-size: 18px; line-height: 27px; }
}
@media(min-width:642px) and (max-width: 1114px) {
  [class *= 'article-mv-03'] .article-ttl-outer { width: 100%; padding: 44px 80px; }
}
@media(max-width:641px) {
  [class *= 'article-mv-03'] .article-ttl-outer { width: 100%; padding: 44px 20px; }
  [class *= 'article-mv-03'] .article-img       { width: 100%; height: 500px; position: relative; overflow: hidden; }
  [class *= 'article-mv-03'] .article-img img   { position: absolute; top: 0; left: 0; /* left: 50%; transform: translateX(-50%); */ display: block; max-width: initial; height: 100%; }
  .article-mv-03-w .article-ttl-outer { background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent); }
  .article-mv-03-b .article-ttl-outer { background: linear-gradient(to top, rgba(255, 255, 255, 0.6), transparent); }
  [class *= 'article-mv-03'] .article-ttl-outer.feature .c-lead            { font-size: 12px; line-height: 1; font-weight: bold; margin-bottom: .5em; }
  [class *= 'article-mv-03'] .article-ttl-outer.feature .c-lead:first-line { font-size: 10px; line-height: 1.6; font-weight: bold; margin-bottom: .5em; }
  [class *= 'article-mv-03'] .article-ttl-outer.feature .c-page_title { font-size: 25px; line-height: 1; font-weight: bold; }
  [class *= 'article-mv-03'] .article-ttl-outer.wat .c-page_title     { font-size: 25px; line-height: 1; font-weight: bold; margin-bottom: .25em; }
  [class *= 'article-mv-03'] .article-ttl-outer.wat .c-body           { font-size: 12px; line-height: 20px; }
}
@media (max-width:641px) and (-ms-high-contrast:none){
  *::-ms-backdrop, [class *= 'article-mv-03'] .article-img img { max-width: 960px; width: 960px; height: auto; } /* IE11 */
}

/* タイトル周り 4 -- PC/SP切り替え */
.article-mv-04-w { color: #fff; }
.article-mv-04-b { color: #000; }

.article-mv-04-w .article-ttl-outer { background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent); }
.article-mv-04-b .article-ttl-outer { background: linear-gradient(to top, rgba(255, 255, 255, 0.6), transparent); }
[class *= 'article-mv-04'] .article-ttl-outer {
  position: absolute;
  bottom: 0;
  left: 0;
}

[class *= 'article-mv-04'] .c-page_title { line-height: 1.2; }
[class *= 'article-mv-04'] img { width: 100%; max-width: 100%; }

@media(min-width:1200px) {
  [class *= 'article-mv-04']                    { padding-top: 30px; background-color: #f0f0f0; }
  [class *= 'article-mv-04'] .article-ttl-outer { width: 1197px; margin: 0 auto; left: 50%; transform: translateX(-50%); padding: 20px 48px 36px; }
  [class *= 'article-mv-04'] .article-img       { width: 1197px; margin: 0 auto; }
}
@media(max-width:1199px) {
  [class *= 'article-mv-04']                    { background-color: #f0f0f0; }
  [class *= 'article-mv-04'] .article-ttl-outer { width: 100%; margin: 0 auto; left: 50%; transform: translateX(-50%); padding: 20px; }
  [class *= 'article-mv-04'] .article-img       { width: 100%; margin: 0 auto; }
}

/* ------------------------------------------------------------------ */
/* 特集一覧
--------------------------------------------------------------------- */
.article-feature {
  position: relative;
  /* background-color: #f0f0f0; */
}

.article-feature:before {
  position: absolute;
  display: block;
  width: 500%;
  height: 100%;
  transform:translateX(-50%);
  content: '';
  background-color: #f0f0f0;
  top: 0;
  left: 0;
  z-index: -1;
}

.article-feature .article-list-item-txt {
  margin-bottom: 40px;
  line-height: 1.7;
  background-color: #f0f0f0;
}
.article-feature .c-lead {
  margin-bottom: 8px;
  font-weight: bold;
}
.article-feature .c-title {
  position: relative;
  line-height: 1;
  font-weight: bold;
}
.article-feature .c-large_headline { margin-bottom: .5em; }
.article-feature .article-list .article-list-item { margin-bottom: 0; }

.article-feature-ttl       { margin-bottom: 40px; }
.article-feature-ttl   a   { display: block; }
.article-feature-ttl-2 p   { line-height: 1.6; }
.article-feature-ttl-2 img { margin-bottom: 1em; }


@media(min-width:1115px) {
  .article-feature { width: 100%; padding: 60px 80px 30px; }
  .article-other   { width: 100%; padding: 60px 80px 0; }
  .article-feature .c-title { font-size: 36px; margin-bottom: 10px; line-height: 1.6; }
  .article-feature .c-title::before { bottom: -50px; }
  .article-feature .c-large_headline { font-size: 21px; line-height: 1.3; }
  
  .article-feature-ttl-1     { margin-bottom: 30px; }
}
@media(max-width:1114px) {
  .article-feature { width: 100%; padding: 30px 15px 1px; }
  .article-other   { width: 100%; padding: 40px 15px 0; }
  .article-feature .c-title { font-size: 25px; margin-bottom: 10px; line-height: 1.3; }
  .article-feature .c-large_headline { font-size: 16px; line-height: 1.6; }
  .article-feature-ttl-1     { margin-bottom: 15px; }
}
@media(min-width:642px) {
  .article-feature .c-lead { width: 200px; margin-bottom: 10px; }
}
@media(max-width:641px) {
  .article-feature .c-lead { width:60%; }
  .article-feature .article-feature-ttl-2 .article-list-item { display: block; margin-bottom: 40px; }
  .article-feature .article-feature-ttl-2 .article-list-item-txt { position: relative; z-index: 2; margin-top: -40px; padding: 20px 20px 0 20px; margin-right: -1px; margin-left: 10%; background-color: #F0F0F0; }
}

/* ------------------------------------------------------------------ */
/* 下部 ボタン
--------------------------------------------------------------------- */

.ft-btnarea { width: 100%; }
.ft-btnarea .btn-01 { display: block; padding: 1.6em 0; }

@media(min-width:1115px) {
  .ft-btnarea { padding: 0 calc(50% - 557.5px) 80px; }
  .ft-btnarea .c-page_title { font-size: 24px; line-height: 36px; }
  .ft-btnarea .c-lead       { font-size: 16px; line-height: 24px; }
}

@media(max-width:1114px) {
  .ft-btnarea { padding: 0 20px 40px; }
  .ft-btnarea .c-page_title { font-size: 18px; line-height: 28px; }
  .ft-btnarea .c-lead       { font-size: 12px; line-height: 24px; }
}
@media(min-width:642px) {
  .ft-btnarea { display: flex; justify-content: center; }
  .ft-btnarea .ft-btnarea-1, .ft-btnarea .ft-btnarea-2 { width: 35%; margin: 0 1%; }
}
@media(max-width:641px) {
  .ft-btnarea .btn-01 { margin: 0 10%; width: 80%; }
  .ft-btnarea .ft-btnarea-1 { margin-bottom: 15px; }
}






















