@charset "UTF-8";

/* ページ全体 */

#CONTENTS article {
  padding-top: 25px;
  letter-spacing: 0;
}

#CONTENTS article a img {
  transition: opacity 0.5s;
}

#CONTENTS article a:hover img {
  opacity: 0.7;
}

/* トップページ スライドショー */

#CONTENTS .mainImg {
  position: relative;
  width: 92%;
  margin: 0 auto;
}

#CONTENTS .mainImg .slick-slide {
  border-radius: 4vw;
  overflow: hidden;
}

#CONTENTS .mainImg .slick-slide img {
  display: block;
  width: 100%;
  height: auto;
  transform: scale(1.1);
  transition: transform 2s;
}

#CONTENTS .mainImg .slick-slide img.pc {
  display: none;
}

#CONTENTS .mainImg .slick-slide img.on {
  transform: scale(1);
}

#CONTENTS .mainImg h1 {
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
}

#CONTENTS .mainImg h1 img {
  display: block;
  width: 100%;
  height: auto;
}

#CONTENTS .mainImg h1 img.pc {
  display: none;
}

/* 各ページ共通 SNSアイコン */

#CONTENTS .sns {
  width: 92%;
  margin: 15px auto 30px;
}

#CONTENTS .sns ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 210px;
  margin: 0 0 0 auto;
  padding: 10px;
  border-radius: 25px;
  background-color: #f5f5f5;
}

#CONTENTS .sns ul li {
  width: 30px;
}

#CONTENTS .sns ul li a {
  display: block;
  transition: opacity 0.5s;
}

#CONTENTS .sns ul li a:active {
  opacity: 0.5;
}

#CONTENTS .sns ul li img {
  display: block;
  width: 100%;
  height: auto;
}

/* 各ページ共通 SNSアイコン（ページ下部） */

#CONTENTS .sns-bottom {
  margin: 50px auto 0;
}

#CONTENTS .sns-bottom ul {
  margin: 0 auto;
}

/* 各ページ共通 セクション大見出し（h2） */

#CONTENTS section {
  margin: 0 auto;
  padding-top: 40px;
}

#CONTENTS section h2 {
  margin-bottom: 36px;
  text-align: center;
  font-size: 24px;
  line-height: 1;
  font-weight: 700;
  color: #000;
}

#CONTENTS section h2 img {
  display: inline-block;
  vertical-align: text-bottom;
  width: auto;
  height: 30px;
  margin-right: 15px;
}

/* 各セクション設定 */

#CONTENTS section.keywords {
  padding-bottom: 50px;
}

#CONTENTS section.keywords h2 {
  font-size: 20px;
}

#CONTENTS section.keywords h2 span {
  display: inline-block;
  padding-bottom: 12px;
  border-bottom: solid 8px #cccb27;
}

#CONTENTS section.article-keywords {
  padding-top: 64px;
}

#CONTENTS section.article-keywords h2 {
  font-size: 20px;
}

#CONTENTS section.special {
  padding: 65px 0 30px;
  background-color: #f5f5f5;
}

#CONTENTS section.instagram {
  padding: 65px 0 0;
}

#CONTENTS section.instagram h2 {
  font-family: 'Roboto', sans-serif;
  font-size: 28px;
}

/* 記事リスト（新着コラム／オススメコラム／あわせて読みたい／外壁コラムの記事一覧） */

#CONTENTS .column-list {
  width: 85%;
  min-width: 295px;
  margin: 0 auto;
}

#CONTENTS .column-item {
  margin-bottom: 32px;
}

#CONTENTS .column-item .column-img {
  width: 100%;
  height: 47vw;
  border-radius: 15px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

#CONTENTS .column-item .column-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s,opacity 0.5s;
}

#CONTENTS .column-item .column-img-link {
  display: block;
  width: 100%;
  height: 100%;
}

#CONTENTS .column-item .column-img-link:active img {
  transform: scale(1.05);
}

#CONTENTS .column-item .column-title {
  width: 100%;
  margin-top: 8px;
  font-size: 16px;
  line-height: 1.45;
  font-weight: 700;
  color: #000;
}

#CONTENTS .column-item .column-title br {
  display: none;
}

#CONTENTS .column-item .column-btn {
  display: flex;
  justify-content: space-between;
  margin-top: 14px;
}

#CONTENTS .column-item .column-tag {
  display: inline-block;
  max-width: 12.8em;
  padding: 10px 12px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  color: #000;
  border-radius: 16px;
  background-color: #f5f5f5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: background 0.3s;
}

#CONTENTS .column-item .column-tag:active {
  background-color: #aaa;
}

#CONTENTS .column-item .column-btn-link {
  position: relative;
  display: inline-block;
  margin-left: auto;
  padding: 10px 35px 10px 12px;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  border-radius: 16px;
  background-color: #77c0c7;
  transition: background 0.3s;
}

#CONTENTS .column-item .column-btn-link:active {
  background-color: #29777e;
}

#CONTENTS .column-item .column-btn-link::after {
  position: absolute;
  content: '';
  width: 14px;
  height: 14px;
  right: 15px;
  top: calc(50% - 7px);
  background-image: url(../img/ico-arrow-w.svg);
  background-size: 14px 14px;
  background-repeat: no-repeat;
  background-position: center center;
}

/* 各ページ共通 ページ移動ボタン */

#CONTENTS section.pageLink {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 0;
  margin: 50px auto 30px;
  text-align: center;
}

#CONTENTS .pageLink-btn {
  display: inline-block;
  min-width: 14em;
  max-width: 85%;
  padding: 1em 2em;
  text-align: center;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  color: #fff;
  background-color: #77c0c7;
  border-radius: 26em;
  transition: background 0.3s;
}

#CONTENTS .pageLink-btn+.pageLink-btn {
  margin-top: 1.5em;
}

#CONTENTS .pageLink-btn:active {
  background-color: #29777e;
}

/* 各ページ共通 関連キーワードから探す */

#CONTENTS .keywords-list {
  width: 90%;
  margin: 0 auto;
  text-align: center;
  font-size: 0;
}

#CONTENTS .keywords-item {
  display: inline-block;
  margin: 0 8px 16px;
  padding: 8px 16px;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  color: #000;
  border-radius: 15px;
  background-color: #f5f5f5;
  transition: background 0.3s;
}

#CONTENTS .keywords-item:active {
  background-color: #aaa;
}

/* トップページ スペシャルコンテンツ */

#CONTENTS .special-list {
  width: 85%;
  min-width: 295px;
  margin: 0 auto;
}

#CONTENTS .special-item {
  margin-bottom: 35px;
}

#CONTENTS .special-item .special-link {
  display: block;
}

#CONTENTS .special-item .special-link:active .special-img {
  opacity: 0.7;
}

#CONTENTS .special-item .special-link:active img {
  transform: scale(1.05);
}

#CONTENTS .special-item .special-link:active .special-title {
  color: #77c0c7;
}

#CONTENTS .special-item .special-img {
  width: 100%;
  height: 47vw;
  border-radius: 15px;
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: opacity 0.5s;
}

#CONTENTS .special-item .special-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: transform 0.5s;
}

#CONTENTS .special-item .special-title {
  margin-top: 10px;
  text-align: center;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  color: #000;
  transition: color 0.5s;
}

#CONTENTS .special-item .special-title::after {
  display: inline-block;
  vertical-align: baseline;
  content: '';
  width: 16px;
  height: 16px;
  margin-left: 12px;
  transform: translateY(1px);
  background-image: url(../img/ico-arrow-b.svg);
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: center center;
}

/* トップページ Instagram */

#CONTENTS .instagram-list {
  display: flex;
  flex-wrap: wrap;
  width: 87.3vw;
  margin: 0 auto;
}

#CONTENTS .instagram-item {
  width: 26.4vw;
  height: 26.4vw;
  margin: 0 1.35vw 2.7vw;
}

#CONTENTS .instagram-item .instagram-link {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: opacity 0.5s;
}

#CONTENTS .instagram-item .instagram-link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  transition: transform 0.5s;
}

#CONTENTS .instagram-item .instagram-link:active {
  opacity: 0.7;
}

#CONTENTS .instagram-item .instagram-link:active img {
  transform: scale(1.1);
}

/* 記事トップ画像 */

#CONTENTS .article-mainImg {
  width: 100%;
  height: 56vw;
  margin-bottom: 16px;
  overflow: hidden;
}

#CONTENTS .article-mainImg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 記事内部幅 */

#CONTENTS .article-inner {
  width: 85%;
  margin: 0 auto;
}

/* 記事タイトル */

#CONTENTS .article-title {
  margin-bottom: 16px;
  font-size: 20px;
  line-height: 1.45;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.04em;
}

/* 記事タイトル下タグ・SNS部 */

#CONTENTS .article-tagWrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}

#CONTENTS .article-tagWrap .article-tag {
  display: inline-block;
  padding: 14px 12px;
  max-width: calc(100% - 178px);
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
  color: #000;
  border-radius: 20px;
  background-color: #f5f5f5;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: background 0.3s;
}

#CONTENTS .article-tagWrap .article-tag:active {
  background-color: #aaa;
}

#CONTENTS .article-tagWrap .sns {
  width: 168px;
  margin: 0 0 0 auto;
}

#CONTENTS .article-tagWrap .sns ul {
  width: 168px;
  margin: 0;
  padding: 8px;
  border-radius: 20px;
}

#CONTENTS .article-tagWrap .sns ul li {
  width: 24px;
}

/* 記事目次 */

#CONTENTS .article-index {
  margin-top: 40px;
  padding: 27px 8px 12px;
  background-color: #f5f5f5;
  border-radius: 15px;
}

#CONTENTS .article-index h2 {
  margin-bottom: 27px;
  padding-left: 10px;
  text-align: left;
  font-size: 18px;
  line-height: 1;
  font-weight: 400;
}

#CONTENTS .article-index h2 img {
  display: inline-block;
  vertical-align: bottom;
  width: auto;
  height: 20px;
  margin-right: 8px;
}

#CONTENTS .article-index .article-index-item:nth-of-type(2n+1) {
  background-color: #fff;
}

#CONTENTS .article-index .article-index-link {
  position: relative;
  display: block;
  padding: 24px 15px 24px 30px;
  font-size: 14px;
  line-height: 1.4;
  font-weight: 700;
  color: #77c0c7;
  text-decoration: underline;
  transition: color 0.3s;
}

#CONTENTS .article-index .article-index-link:active {
  color: #000;
  text-decoration: none;
}

#CONTENTS .article-index .article-index-link::after {
  position: absolute;
  content: '';
  width: 15px;
  height: 15px;
  left: 8px;
  top: calc(50% - 7.5px);
  background-image: url(../img/ico-arrow-down.svg);
  background-size: cover;
  background-repeat: no-repeat;
}

/* 記事テキスト部 */

#CONTENTS .article-mainText {
  padding-top: 0;
}

#CONTENTS .article-mainText *:last-child {
  margin-bottom: 0;
}

/* 記事大見出し（h2） */

#CONTENTS .article-mainText h2 {
  margin-bottom: 32px;
  padding-top: 64px;
  text-align: left;
  font-size: 24px;
  line-height: 1.45;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.04em;
}

#CONTENTS .article-mainText h2 span {
  background-image: linear-gradient(transparent 71%, #77c0c7 0, #77c0c7 0);
}

/* 記事中見出し（h3） */

#CONTENTS .article-mainText h3 {
  margin: 32px 0 16px;
  padding: 4px 0 4px 12px;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.04em;
  border-left: solid 4px #77c0c7;
}

/* 記事本文 */

#CONTENTS .article-mainText p {
  font-size: 14px;
  line-height: 2;
  color: #000;
  letter-spacing: 0.04em;
  margin-top: 16px;
}

#CONTENTS .article-mainText p a,
#CONTENTS .article-mainText .article-textList ul li a {
  color: #77c0c7;
  text-decoration: underline;
}

#CONTENTS .article-mainText p a:active,
#CONTENTS .article-mainText .article-textList ul li a:active {
  text-decoration: none;
}

/* 記事注釈 */

#CONTENTS .article-mainText p.note {
  color: #aaa;
}

#CONTENTS .article-mainText p + p {
  margin-top: 16px;
}

/* 記事画像共通 */

#CONTENTS .article-photo,
#CONTENTS .article-photo-text {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 32px auto;
}

#CONTENTS .article-photo .article-photo-img {
  width: 100%;
  /* height: 41.3vw; */
  height: auto;
}

#CONTENTS .article-photo .article-photo-img img,
#CONTENTS .article-photo-text .article-photo-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 記事画像 横並び２枚 */

#CONTENTS .article-photo .article-photo-half,
#CONTENTS .article-photo-text .article-photo-half {
  width: 48.6%;
}

#CONTENTS .article-photo .article-photo-thirty,
#CONTENTS .article-photo-text .article-photo-thirty {
  width: 28.6%;
}

#CONTENTS .article-photo .article-photo-seventy,
#CONTENTS .article-photo-text .article-photo-seventy {
  width: 68%;
}

/* 記事画像 キャプション */

#CONTENTS .article-photo .article-photo-caption {
  width: 100%;
  padding: 8px 8px 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.45;
}

#CONTENTS .article-photo .article-photo-half .article-caption,
#CONTENTS .article-photo .article-photo-thirty .article-caption,
#CONTENTS .article-photo .article-photo-seventy .article-caption,
#CONTENTS .article-photo-text .article-photo-half .article-caption,
#CONTENTS .article-photo-text .article-photo-thirty .article-caption,
#CONTENTS .article-photo-text .article-photo-seventy .article-caption {
  line-height: 1.75;
  margin-top: 0px;
}

/* 中央寄せ */
#CONTENTS .article-photo-text .article-photo-half.align-items-center,
#CONTENTS .article-photo-text .article-photo-thirty.align-items-center,
#CONTENTS .article-photo-text .article-photo-seventy.align-items-center {
	display: flex;
	align-items: center;
}

/* 下寄せ */
#CONTENTS .article-photo-text .article-photo-half.align-items-flex-end,
#CONTENTS .article-photo-text .article-photo-thirty.align-items-flex-end,
#CONTENTS .article-photo-text .article-photo-seventy.align-items-flex-end {
	display: flex;
	align-items: flex-end;
}

/* 記事引用表示 */

#CONTENTS .article-quotation {
  position: relative;
  margin: 16px auto;
  padding: 36px;
  border-radius: 15px;
  background-color: #f5f5f5;
}

#CONTENTS .article-quotation::before, #CONTENTS .article-quotation::after {
  position: absolute;
  font-size: 36px;
  line-height: 1;
  font-weight: 700;
  color: #999;
}

#CONTENTS .article-quotation::before {
  content: '“';
  left: 16px;
  top: 16px;
}

#CONTENTS .article-quotation::after {
  content: '”';
  right: 16px;
  bottom: 0;
}

#CONTENTS .article-quotation p {
  font-size: 14px;
  line-height: 2;
  color: #000;
  letter-spacing: 0.04em;
}

/* 記事リスト表示 */

#CONTENTS .article-textList {
  margin: 32px auto;
}

#CONTENTS .article-textList ul li {
  position: relative;
  padding-left: 16px;
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0.04em;
  color: #000;
}

#CONTENTS .article-textList ul li::before {
  position: absolute;
  content: '';
  width: 8px;
  height: 8px;
  left: 0;
  top: calc(50% - 4px);
  border-radius: 4px;
  background-color: #77c0c7;
}

#CONTENTS .article-textList ul li + li {
  margin-top: 16px;
}

/* 記事ボタン表示 */

#CONTENTS .article-button {
  margin: 32px auto 90px;
}

#CONTENTS .article-button .article-linkBtn {
  position: relative;
  display: block;
  padding: 24px 40px 24px 16px;
  text-align: center;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #ea5e00;
  border: solid 2px #ea5e00;
  border-radius: 15px;
  background-color: #fff;
  box-shadow: 4px 4px #ad4600;
  transition: 0.3s;
}

#CONTENTS .article-button .article-linkBtn::after {
  position: absolute;
  content: '';
  width: 16px;
  height: 16px;
  right: 15px;
  top: calc(50% - 8px);
  background-image: url(../img/ico-arrow-o.svg);
  background-size: 16px 16px;
  background-repeat: no-repeat;
  background-position: center center;
}

#CONTENTS .article-button .article-linkBtn:active {
  color: #fff;
  background-color: #ea5e00;
  transform: translate(2px, 2px);
  box-shadow: 2px 2px #ad4600;
  opacity: 0.7;
}

#CONTENTS .article-button .article-linkBtn:active::after {
  background-image: url(../img/ico-arrow-w.svg);
}

#CONTENTS .article-button .article-linkBtn + .article-linkBtn {
  margin-top: 16px;
}

/* 記事Information */

#CONTENTS .article-information {
  position: relative;
  margin: 32px auto 0;
  padding: 40px 9%;
  border-radius: 15px;
  background-color: #f5f5f5;
}

#CONTENTS .article-information h2 {
  position: absolute;
  width: 122px;
  left: -5px;
  top: -12px;
}

#CONTENTS .article-information h2 img {
  display: block;
  width: 100%;
  height: auto;
}

#CONTENTS .article-information .article-information-photo {
  margin-bottom: 24px;
}

#CONTENTS .article-information .article-information-img {
  width: 100px;
  height: 100px;
  margin: 0 auto 10px;
  border-radius: 50px;
  overflow: hidden;
}

#CONTENTS .article-information .article-information-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#CONTENTS .article-information .article-information-name {
  text-align: center;
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.04em;
}

#CONTENTS .article-information .article-information-text p {
  font-size: 16px;
  line-height: 2;
  color: #000;
  letter-spacing: 0.04em;
}

/* 記事右カラム */

#CONTENTS .article-sub {
  margin-top: 70px;
}

#CONTENTS .article-sub h2 {
  width: 85%;
  margin: 0 auto 32px;
  padding-bottom: 12px;
  text-align: center;
  font-size: 20px;
  line-height: 1.45;
  font-weight: 700;
  color: #000;
  border-bottom: solid 4px #77c0c7;
}

/* 記事一覧ページ */

#CONTENTS .listpage {
  padding-top: 40px;
}

/* 記事一覧ページタイトル */

#CONTENTS .listpage h1 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  margin: 0 auto 32px;
}

#CONTENTS .listpage h1 img {
  display: block;
  width: 33px;
  height: 30px;
  margin-right: 15px;
}

#CONTENTS .listpage h1 span {
  display: inline-block;
  font-size: 24px;
  line-height: 1.45;
  font-weight: 700;
  color: #000;
}

/* 記事一覧ページ ページャー */

#CONTENTS .listpage .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  margin: 64px auto 0;
}

#CONTENTS .listpage .pagination li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  margin: 0 4px;
  text-align: center;
  font-size: 14px;
  line-height: 1;
  font-weight: 700;
  color: #77c0c7;
  border-radius: 10px;
  border: solid 2px #77c0c7;
  background-color: #fff;
  transition: 0.3s;
}

#CONTENTS .listpage .pagination li.current {
  color: #fff;
  background-color: #77c0c7;
}

#CONTENTS .listpage .pagination li:not(.current):active {
  color: #fff;
  background-color: #29777e;
  border: solid 2px #29777e;
}

#CONTENTS .listpage .pagination li a {
  color: #77c0c7;
}

#CONTENTS .listpage .pagination li a:hover {
  color: #fff;
}

#CONTENTS .listpage .article-keywords {
  margin-bottom: 48px;
}

/* TOPへ戻るボタン */

#CONTENTS .gotop {
  display: none;
}


/* ここからPC用 */

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

/* ページ全体 */

  #CONTENTS article {
    padding-top: 40px;
  }

/* トップページ スライドショー */

  #CONTENTS .mainImg {
    width: calc(100% - 80px);
    max-width: 1360px;
  }
  #CONTENTS .mainImg .slick-slide {
    border-radius: 3.5vw;
  }
  #CONTENTS .mainImg .slick-slide img.sp {
    display: none;
  }
  #CONTENTS .mainImg .slick-slide img.pc {
    display: block;
  }
  #CONTENTS .mainImg h1 img.sp {
    display: none;
  }
  #CONTENTS .mainImg h1 img.pc {
    display: block;
  }

/* 各ページ共通 SNSアイコン */

  #CONTENTS .sns {
    width: calc(100% - 80px);
    max-width: 1360px;
    margin-bottom: 0;
  }
  #CONTENTS .sns ul li a:hover {
    opacity: 0.5;
  }

/* 各ページ共通 SNSアイコン（ページ下部） */

  #CONTENTS .sns-bottom ul {
    width: 304px;
    padding: 14px;
    border-radius: 36px;
  }
  #CONTENTS .sns-bottom ul li {
    width: 44px;
  }

/* 各セクション設定 */

  #CONTENTS section.newColumn {
    width: 1071px;
    padding-top: 0;
  }
  #CONTENTS section.recommendedColumn {
    width: 1071px;
    padding-top: 20px;
  }
  #CONTENTS section.keywords {
    padding-top: 20px;
  }
  #CONTENTS section.keywords h2 {
    margin-bottom: 30px;
    font-size: 24px;
  }
  #CONTENTS section.keywords h2 span {
    border-bottom: solid 12px #cccb27;
  }
  #CONTENTS section.article-keywords {
    padding-top: 80px;
  }
  #CONTENTS section.article-keywords h2 {
    margin-bottom: 50px;
    font-size: 24px;
  }
  #CONTENTS section.special {
    width: 100%;
    padding-bottom: 15px;
  }
  #CONTENTS section.instagram {
    width: 1071px;
  }
  #CONTENTS section.instagram h2 {
    font-size: 32px;
  }

/* 各ページ共通 セクション大見出し（h2） */

  #CONTENTS section h2 {
    margin-bottom: 50px;
    font-size: 28px;
  }
  #CONTENTS section h2 img {
    height: 40px;
  }

/* 記事リスト（新着コラム／オススメコラム／あわせて読みたい／外壁コラムの記事一覧） */

  #CONTENTS .column-list {
    display: flex;
    flex-wrap: wrap;
    width: 1071px;
  }
  #CONTENTS .column-item {
    width: 325px;
    margin: 0 16px 50px;
  }
  #CONTENTS .column-item .column-img {
    height: 180px;
  }
  #CONTENTS .column-item .column-img-link:hover img {
    transform: scale(1.05);
  }
  #CONTENTS .column-item .column-title {
    margin-top: 15px;
    font-size: 18px;
  }
  #CONTENTS .column-item .column-btn {
    margin-top: 15px;
  }
  #CONTENTS .column-item .column-tag {
    padding: 9px 12px;
    font-size: 14px;
  }
  #CONTENTS .column-item .column-tag:hover {
    background-color: #aaa;
  }
  #CONTENTS .column-item .column-btn-link {
    padding: 9px 36px 9px 12px;
    font-size: 14px;
  }
  #CONTENTS .column-item .column-btn-link:hover {
    background-color: #29777e;
  }
  #CONTENTS .column-item .column-btn-link::after {
    width: 16px;
    height: 16px;
    right: 12px;
    top: calc(50% - 8px);
    background-size: 16px 16px;
  }

/* 各ページ共通 ページ移動ボタン */

  #CONTENTS section.pageLink {
    margin: 40px auto 80px;
  }

  #CONTENTS .pageLink-btn {
    min-width: 18em;
    max-width: 24em;
  }

  #CONTENTS .pageLink-btn:hover {
    background-color: #29777e;
  }

/* 各ページ共通 関連キーワードから探す */

  #CONTENTS .keywords-list {
    width: 960px;
  }
  #CONTENTS .keywords-item {
    padding: 7px 16px;
    font-size: 16px;
  }
  #CONTENTS .keywords-item:hover {
    background-color: #aaa;
  }

/* トップページ スペシャルコンテンツ */

  #CONTENTS .special-list {
    display: flex;
    justify-content: space-between;
    width: 1040px;
  }
  #CONTENTS .special-item {
    width: 504px;
    margin-bottom: 50px;
  }
  #CONTENTS .special-item .special-link:hover img {
    transform: scale(1.05);
  }
  #CONTENTS .special-item .special-link:hover .special-img {
    opacity: 0.7;
  }
  #CONTENTS .special-item .special-link:hover .special-title {
    color: #77c0c7;
  }
  #CONTENTS .special-item .special-img {
    height: 283px;
  }
  #CONTENTS .special-item .special-title {
    margin-top: 30px;
    font-size: 24px;
  }
  #CONTENTS .special-item .special-title::after {
    width: 20px;
    height: 20px;
    transform: translateY(1px);
    background-size: 20px 20px;
  }

/* トップページ Instagram */

  #CONTENTS .instagram-list {
    width: 1071px;
  }
  #CONTENTS .instagram-item {
    width: 325px;
    height: 325px;
    margin: 0 16px 32px;
  }
  #CONTENTS .instagram-item .instagram-link:hover {
    opacity: 0.7;
  }
  #CONTENTS .instagram-item .instagram-link:hover img {
    transform: scale(1.1);
  }

/* 記事トップ画像 */

  #CONTENTS .article-wrap {
    display: flex;
    justify-content: space-between;
    width: 1040px;
    margin: 0 auto;
  }
  #CONTENTS .article-main {
    width: 744px;
  }
  #CONTENTS .article-sub {
    width: 240px;
  }

/* 記事内部幅 */

  #CONTENTS .article-inner {
    width: 100%;
  }
  #CONTENTS .article-mainImg {
    height: 418px;
    margin-bottom: 24px;
    border-radius: 36px;
  }

/* 記事タイトル */

  #CONTENTS .article-title {
    font-size: 28px;
  }
  #CONTENTS .article-tagWrap {
    margin-bottom: 24px;
  }

/* 記事タイトル下タグ・SNS部 */

  #CONTENTS .article-tagWrap .article-tag {
    padding: 7px 16px;
    max-width: calc(100% - 200px);
    font-size: 16px;
    border-radius: 15px;
  }
  #CONTENTS .article-tagWrap .article-tag:hover {
    background-color: #aaa;
  }
  #CONTENTS .article-tagWrap .sns {
    width: 189px;
    margin: 0;
    margin-left: auto;
  }
  #CONTENTS .article-tagWrap .sns ul {
    width: 189px;
    padding: 9px;
    border-radius: 22.5px;
  }
  #CONTENTS .article-tagWrap .sns ul li {
    width: 27px;
  }

/* 記事目次 */

  #CONTENTS .article-index h2 img {
    margin-right: 16px;
  }
  #CONTENTS .article-index .article-index-link {
    padding: 24px 15px 24px 45px;
  }
  #CONTENTS .article-index .article-index-link:hover {
    color: #000;
    text-decoration: none;
  }
  #CONTENTS .article-index .article-index-link::after {
    left: 14px;
  }

/* 記事テキスト部  */

  #CONTENTS .article-mainText {
    width: 100%;
  }

/* 記事大見出し（h2） */

  #CONTENTS .article-mainText h2 {
    margin-bottom: 40px;
    padding-top: 80px;
    font-size: 28px;
  }

/* 記事中見出し（h3） */

  #CONTENTS .article-mainText h3 {
    margin: 40px 0 24px;
    padding: 5px 0 5px 12px;
    font-size: 20px;
  }

/* 記事本文 */

  #CONTENTS .article-mainText p {
    font-size: 16px;
    margin-top: 24px;
  }
  #CONTENTS .article-mainText p a:hover,
  #CONTENTS .article-mainText .article-textList ul li a:hover{
    text-decoration: none;
  }
  #CONTENTS .article-mainText p + p {
    margin-top: 24px;
  }

/* 記事画像共通 */

  #CONTENTS .article-photo {
    /* width: 640px; */
    width: 660px;
    margin: 40px auto;
  }
  #CONTENTS .article-photo-text {
    width: 100%;
    margin: 40px auto;
  }
  #CONTENTS .article-photo .article-photo-img,
  #CONTENTS .article-photo-text .article-photo-img {
    /* height: 313px; */
    height: auto;
  }

/* 記事画像 横並び２枚 */

  #CONTENTS .article-photo .article-photo-half {
    /* width: 313px; */
    width: 323px;
  }
  #CONTENTS .article-photo .article-photo-thirty {
    width: 194px;
  }
  #CONTENTS .article-photo .article-photo-seventy {
    width: 452px;
  }
  #CONTENTS .article-photo-text .article-photo-half {
    width: 365px;
  }
  #CONTENTS .article-photo-text .article-photo-thirty {
    width: 244px;
  }
  #CONTENTS .article-photo-text .article-photo-seventy {
    width: 486px;
  }

/* 記事画像 キャプション */

  #CONTENTS .article-photo .article-photo-caption {
    font-size: 14px;
  }
  #CONTENTS .article-photo .article-photo-half .article-photo-caption {
    font-size: 14px;
    margin-top: 0px;
  }
  #CONTENTS .article-photo .article-photo-half .article-caption,
  #CONTENTS .article-photo .article-photo-thirty .article-caption,
  #CONTENTS .article-photo .article-photo-seventy .article-caption,
  #CONTENTS .article-photo-text .article-photo-half .article-caption,
  #CONTENTS .article-photo-text .article-photo-thirty .article-caption,
  #CONTENTS .article-photo-text .article-photo-seventy .article-caption {
    font-size: 16px;
    line-height: 1.75;
    margin-top: 0px;
    margin-left: 5px;
    margin-right: 5px;
  }

/* 記事引用表示 */

  #CONTENTS .article-quotation {
    margin: 24px auto;
    padding: 55px 50px;
  }
  #CONTENTS .article-quotation::before, #CONTENTS .article-quotation::after {
    font-size: 60px;
  }
  #CONTENTS .article-quotation::before {
    top: 24px;
  }
  #CONTENTS .article-quotation p {
    font-size: 16px;
  }

/* 記事リスト表示 */

  #CONTENTS .article-textList {
    margin: 40px auto;
  }
  #CONTENTS .article-textList ul li {
    padding-left: 18px;
    font-size: 16px;
  }
  #CONTENTS .article-textList ul li::before {
    width: 10px;
    height: 10px;
    top: calc(50% - 5px);
    border-radius: 5px;
  }

/* 記事ボタン表示 */

  #CONTENTS .article-button {
    margin: 64px auto 80px;
  }
  #CONTENTS .article-button .article-linkBtn {
    width: 480px;
    margin: 0 auto;
    padding: 24px 60px 24px 20px;
    font-size: 20px;
  }
  #CONTENTS .article-button .article-linkBtn::after {
    width: 22px;
    height: 22px;
    right: 20px;
    top: calc(50% - 11px);
    background-size: 22px 22px;
  }
  #CONTENTS .article-button .article-linkBtn:hover {
    color: #fff;
    background-color: #ea5e00;
    transform: translate(2px, 2px);
    box-shadow: 2px 2px #ad4600;
    opacity: 0.7;
  }
  #CONTENTS .article-button .article-linkBtn:hover::after {
    background-image: url(../img/ico-arrow-w.svg);
  }
  #CONTENTS .article-button .article-linkBtn + .article-linkBtn {
    margin-top: 24px;
  }

/* 記事Information */

  #CONTENTS .article-information {
    margin: 40px auto 0;
    padding: 40px 90px 40px 60px;
  }
  #CONTENTS .article-information h2 {
    left: 36px;
  }
  #CONTENTS .article-information .flexWrap {
    display: flex;
    justify-content: space-between;
  }
  #CONTENTS .article-information .article-information-photo {
    width: 140px;
    margin-bottom: 0;
  }
  #CONTENTS .article-information .article-information-text {
    width: 434px;
  }

/* 記事右カラム */

  #CONTENTS .article-sub {
    margin-top: 0;
  }
  #CONTENTS .article-sub h2 {
    width: 100%;
  }
  #CONTENTS .article-sub .column-list {
    display: block;
    width: 240px;
    min-width: 240px;
  }
  #CONTENTS .article-sub .column-item {
    width: 240px;
    margin: 0 auto 32px;
  }
  #CONTENTS .article-sub .column-item .column-img {
    height: 134px;
  }
  #CONTENTS .article-sub .column-item .column-title {
    margin-top: 8px;
    font-size: 16px;
  }
  #CONTENTS .article-sub .column-item .column-btn {
    margin-top: 10px;
  }
  #CONTENTS .article-sub .column-item .column-tag {
    max-width: 110px;
    padding: 9px 12px;
    font-size: 12px;
    border-radius: 15px;
  }
  #CONTENTS .article-sub .column-item .column-btn-link {
    padding: 9px 36px 9px 12px;
    font-size: 12px;
    border-radius: 15px;
  }
  #CONTENTS .article-sub .column-item .column-btn-link::after {
    width: 14px;
    height: 14px;
    right: 12px;
    top: calc(50% - 7px);
    background-size: 14px 14px;
  }

/* 記事一覧ページ */

  #CONTENTS .listpage {
    padding-top: 0;
  }

/* 記事一覧ページタイトル */

  #CONTENTS .listpage h1 {
    width: 1040px;
    margin: 0 auto 80px;
  }
  #CONTENTS .listpage h1 img {
    width: 44px;
    height: 40px;
  }
  #CONTENTS .listpage h1 span {
    font-size: 28px;
  }

/* 記事一覧ページ ページャー */

  #CONTENTS .listpage .pagination {
    width: 1040px;
    margin: 30px auto 0;
  }
  #CONTENTS .listpage .pagination li:not(.current):hover {
    color: #fff;
    background-color: #29777e;
    border: solid 2px #29777e;
  }

/* TOPへ戻るボタン */

  #CONTENTS .gotop {
    display: block;
    position: fixed;
    right: 20px;
    bottom: 35px;
    width: 50px;
    height: 50px;
    transition: all 0.3s ease;
  }

  #CONTENTS .gotop.hide {
    opacity: 0;
    pointer-events: none;
  }

  #CONTENTS .gotop:hover {
    cursor: pointer;
    bottom: 42px;
  }

  #CONTENTS .gotop img{
    display: block;
    width: 100%;
  }

}

@media screen and (min-width: 1440px) {
  #CONTENTS .mainImg .slick-slide {
    border-radius: 50px;
  }
}
