@charset "utf-8";

/*==========================================
 font
===========================================*/
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Zen+Kaku+Gothic+New&family=Zen+Old+Mincho&display=swap');
html {
font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 62.5%;
  font-weight: 400;
  color: #6A6849;
}

/* font-family: "Barlow Condensed", sans-serif; */
/* font-family: "Zen Old Mincho", serif; */

/* link */
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
}
a { outline: none; text-decoration: none; }
a:link    { color: #6A6849; text-decoration: none; }
a:visited { color: #6A6849; text-decoration: underline; }
a:hover   { color: #6A6849; text-decoration: underline; }
a:active  { color: #6A6849; text-decoration: underline; }



/*==========================================
 body
===========================================*/

html {
  background: #FFF;
  overflow: auto;
}
body {
  overflow: hidden;
	min-width: 850px;
  -webkit-text-size-adjust: 100%;
}
@media only screen and (max-width: 767px) {
  body {
  	min-width: auto;
  }
}


/*==========================================
 画像切替
===========================================*/
/* PC、スマートフォン表示分岐 */
.pcView {
  display: block;
}
.spView {
  display: none;
}
@media only screen and (max-width: 767px) {
  .pcView {
    display: none;
  }
  .spView {
    display: block;
  }
}

/*==========================================
 フェードイン
===========================================*/
/* 上下フェード */
.fade_off {
  opacity: 0;
  transform: translateY(50px);
  transition: all 2.0s ease;
}
.delay_1 { transition-delay: 0.5s; }
.delay_2 { transition-delay: 1.0s; }
.delay_3 { transition-delay: 1.5s; }
.delay_4 { transition-delay: 2.0s; }
.delay_5 { transition-delay: 2.5s; }
.delay_6 { transition-delay: 3.0s; }

.fade_on {
  opacity: 1;
  transform: translateY(0px);
}
@media only screen and (max-width: 767px) {
  .delay_1 { transition-delay: 0.0s; }
  .delay_2 { transition-delay: 0.0s; }
  .delay_3 { transition-delay: 0.0s; }
  .delay_4 { transition-delay: 0.0s; }
  .delay_5 { transition-delay: 0.0s; }
  .delay_6 { transition-delay: 0.0s; }
}


/*==========================================
 ヘッダーのスタイル
===========================================*/
header {
  z-index: 1000;
  position: fixed;
  width: 100%;
  height: 65px;
  background: linear-gradient(180deg, rgba(254, 254, 251, 0.90) 80%, rgba(254, 254, 251, 0.00) 100%);
  backdrop-filter: blur(0px);
  border-bottom: 1px solid #8C8C43;
}
body.top header {
  opacity: 0;
  transform: translateY(-50px);
  transition: all 1.0s ease;
}
/* 読み込みフェード */
body.top header.fade_on {
  opacity: 1;
  transform: translateY(0px);
}

header #header {
  position: relative;
  width: calc(100% - 50px);
  margin: 0 auto;
}
header #headerLogoArea {
  position: absolute;
  left: 0;
  top: 16px;
}
header #headerLogoArea h1 img {
  width: 115px;
  height: auto;
}
header #header_SpIcon {
  display: none;
}
@media only screen and (max-width: 950px) {
  header #header {
    width: calc(100% - 40px);
  }
  header #headerLogoArea {
    top: 18px;
  }
  header #headerLogoArea h1 img {
    width: 67px;
    height: auto;
  }
  header #header_SpIcon {
    display: block;
    position: absolute;
    right: 10px;
    top: 16px;
  }
  header #header_SpIcon img {
    width: 34px;
    height: auto;
  }
}


/*グローバルナビゲーション ////////////////////////////////// */
header #headerGlobalArea {
  position: absolute;
  right: 322px;
  top: 35px;
}
header #headerGlobalArea ul {
  width: 410px;
  display: flex;
  justify-content: space-between;
}
header #headerGlobalArea li {
}
header #headerGlobalArea li a {
  position: relative;
  padding: 0 0 0 15px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.7rem;
  font-weight: 600;
  color: #8C8C43;
  letter-spacing: 2.55px;
}
header #headerGlobalArea li a:hover {
  text-decoration: none;
}
header #headerGlobalArea li a::before {
  position: absolute;
  left: 0;
  top: -6px;
  width: 7px;
  height: 24px;
  background-image: url("../img/icon01.svg");
  background-size: cover;
  content: "";
  transition: all 0.3s ease;
}
header #headerGlobalArea li a:hover::before {
  position: absolute;
  left: -2px;
  top: -6px;
  width: 17px;
  height: 24px;
  background-image: url("../img/icon02.svg");
  background-size: cover;
  content: "";
}

header #headerContactArea {
  position: absolute;
  right: 0;
  top: 15px;
}
header #headerContactArea ul {
  width: 284px;
  display: flex;
  justify-content: space-between;
}
header #headerContactArea ul li {
  position: relative;
  width: 142px;
  height: 40px;
}
header #headerContactArea ul li::before {
  position: absolute;
  z-index: 0;
  top: 0;
  height: 40px;
  background-size: cover;
  content: "";
  /* transition: all 0.3s ease; */
}
header #headerContactArea ul li:nth-child(1)::before {
  left: 3px;
  width: 149px;
  background-image: url("../img/header_download_bk.svg");
}
header #headerContactArea ul li:nth-child(2)::before {
  left: -3px;
  width: 152px;
  background-image: url("../img/header_contact_bk.svg");
}
header #headerContactArea ul li:nth-child(1):hover::before {
  background-image: url("../img/header_download_bk_ov.svg");
}
header #headerContactArea ul li:nth-child(2):hover::before {
  background-image: url("../img/header_contact_bk_ov.svg");
}
header #headerContactArea ul li a {
  position: relative;
  z-index: 10;
  display: block;
  width: 100%;
  height: 100%;
  padding: 18px 0 0;
  box-sizing: border-box;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  color: #FFF;
}
header #headerContactArea ul li:nth-child(1) a {
  padding: 18px 0 0 10px;
}
header #headerContactArea ul li a:hover {
  text-decoration: none;
}

header #overay,
header #headerNavi_Sp {
  display: none;
}
@media only screen and (max-width: 950px) {
  header #headerGlobalArea,
  header #headerContactArea {
    display: none;
  }

  header #headerNavi_Sp {
    position: absolute;
    right: -100vw;
    top: 0;
    display: block;
    width: 100%;
    height: 100vh;
    background-color: #FFF;
  }
  header #headerNavi_Sp .headerNavi_close {
    width: 100%;
    height: 65px;
    background: linear-gradient(180deg, rgba(254, 254, 251, 0.90) 30%, rgba(254, 254, 251, 0.00) 100%);
    backdrop-filter: blur(0px);
    border-bottom: 1px solid #8C8C43;
  }
  header #headerNavi_Sp .headerNavi_close img {
    position: absolute;
    right: 20px;
    top: 25px;
    width: 46px;
    height: 20px;
  }
  header #headerNavi_Sp .headerNavi_menu ul {
    position: relative;
    width: 100%;
    padding: 45px 60px 0;
    box-sizing: border-box;
  }
  header #headerNavi_Sp .headerNavi_menu ul::before {
    position: absolute;
    right: 0;
    top: 25px;
    width: 45px;
    height: 739px;
    background-image: url("../img/header_menu_sp_bk.svg");
    background-size: cover;
    content: "";
  }
  header #headerNavi_Sp .headerNavi_menu ul li {
    width: 100%;
    padding: 0 0 30px;
    text-align: right;
  }
  header #headerNavi_Sp .headerNavi_menu ul li a {
    font-family: "Barlow Condensed", sans-serif;
    font-size: 3.6rem;
    font-weight: 600;
    color: #8C8C43;
    letter-spacing: 7.2px;
  }
  header #headerNavi_Sp .headerNavi_menu ul li a:hover {
    text-decoration: none;
  }

  header #headerNavi_Sp .headerNavi_contact {
    position: relative;
    width: 100%;
  }
  header #headerNavi_Sp .headerNavi_contact ul {
    position: absolute;
    right: 60px;
    top: 40px;
    width: 189px;
  }
  header #headerNavi_Sp .headerNavi_contact ul li {
    padding: 0 0 38px;
  }
  header #headerNavi_Sp .headerNavi_contact ul li a {
    position: relative;
    z-index: 10;
    display: block;
    width: 100%;
    height: 35px;
    padding: 8px 0 0;
    box-sizing: border-box;
    font-size: 1.6rem;
    font-weight: 700;
    color: #FFF;
    text-align: center;
    letter-spacing: -0.5px;
  }
  header #headerNavi_Sp .headerNavi_contact ul li a::before {
    position: absolute;
    z-index: -1;
    left: 0;
    top: 0;
    width: 100%;
    height: 35px;
    background-size: cover;
    content: "";
  }
  header #headerNavi_Sp .headerNavi_contact ul li:nth-child(1) a::before {
    background-image: url("../img/footer_contact_link_bk01.svg");
  }
  header #headerNavi_Sp .headerNavi_contact ul li:nth-child(2) a::before {
    background-image: url("../img/footer_contact_link_bk02.svg");
  }
  header #headerNavi_Sp .headerNavi_contact ul li a {
    text-decoration: none;
  }
}

/*==========================================
 フッターのスタイル
===========================================*/
footer {
  position: relative;
  width: 100%;
  height: 650px;
  background-color: #47451F;
}
body.top footer {
  opacity: 0;
  transform: translateY(50px);
  transition: all 2.0s ease;
}
/* 読み込みフェード */
body.top footer.fade_on {
  opacity: 1;
  transform: translateY(0px);
}

footer #footerBody {
  position: absolute;
  z-index: 20;
  left: 40px;
  top: 80px;
  width: 400px;
}
footer #footerBody a:hover {
  text-decoration: none;
  opacity: 0.7;
}
footer #footerBody a img {
  display: block;
  width: 400px;
  height: auto;
}
footer #footerBody a span {
  display: block;
  margin: 13px 0 0;
  padding: 10px 0 0;
  border-top: 1px solid #8C8C43;
  font-size: 1.8rem;
  font-weight: 800;
  color: #8C8C43;
  letter-spacing: 3.6px;
}
footer #footerBody .footerLink {
  position: absolute;
  left: 0;
  top: 143px;
}
footer #footerBody .footerLink ul {
  list-style-type: none;
}
footer #footerBody .footerLink ul li {
  padding: 0 0 30px;
}
footer #footerBody .footerLink ul li a {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  color: #8C8C43;
  letter-spacing: 2.7px;
  transition: all 0.3s ease;
}
footer #footerBody .footerLink ul li a:hover {
  text-decoration: none;
  color: #9BBFB9;
}
footer #footerBody .footerLink ul li a:hover {
  text-decoration: none;
  opacity: 0.7;
}
footer #footerBody .footerPrivacy {
  position: absolute;
  left: 0;
  top: 350px;
}
footer #footerBody .footerPrivacy a {
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  color: #8C8C43;
  letter-spacing: 2.7px;
}
footer #footerBody small {
  position: absolute;
  left: 150px;
  top: 350px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.3rem;
  font-weight: 400;
  color: #8C8C43;
  letter-spacing: 2.7px;
}
footer #footerLeft {
  position: absolute;
  right: 0;
  top: 0;
  width: 620px;
  height: 470px;
  background-color: #EBEBE4;
}
body.no_contact footer #footerLeft {
  background-color: #FFF;
}
@media only screen and (max-width: 767px) {
  footer {
    height: 630px;
    padding: 163px 0 0;
    box-sizing: border-box;
    background-color: #EBEBE4;
    background-image: url("../img/footer_bk_sp.svg");
    background-size: cover;
  }
  body.no_contact footer {
    background-color: #FFF;
  }
  footer #footerBody {
    position: static;
    width: calc(100% - 40px);
    margin: 0 auto;
  }
  footer #footerBody a img {
    width: 400px;
  }
  footer #footerBody a span {
    width: 400px;
    font-size: 1.3rem;
  }
  footer #footerBody .footerLink {
    position: static;
    padding: 30px 0 0;
  }
  footer #footerBody .footerLink ul {
    list-style-type: none;
  }
  footer #footerBody .footerLink ul li {
    padding: 0 0 25px;
  }
  footer #footerBody .footerPrivacy {
    position: static;
    padding: 20px 0 0;
  }
  footer #footerBody small {
    left: auto;
    right: 20px;
    top: 459px;
  }
  footer #footerLeft {
    display: none;
  }
}
@media only screen and (max-width: 480px) {
  footer #footerBody a img {
    width: 100%;
  }
  footer #footerBody a span {
    width: auto;
  }
}

#footerContents {
  position: relative;
  width: 100%;
  height: 480px;
  padding: 290px 0 0;
  overflow: hidden;
}
body.no_contact #footerContents {
  display: none;
}
body.top #footerContents {
  opacity: 0;
  transform: translateY(50px);
  transition: all 2.0s ease;
}
/* 読み込みフェード */
body.top #footerContents.fade_on {
  opacity: 1;
  transform: translateY(0px);
}
#footerContents::before {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 0;
  width: 3578px;
  height: 6797px;
  margin: 0 0 0 -1789px;
  background-image: url("../img/footer_contact_bk.svg");
  background-size: cover;
  content: "";
}
#footerContents .footerContentsInner {
  position: relative;
  z-index: 10;
  width: 890px;
  margin: 0 auto;
}
#footerContents .footerContentsInner h2 {
  font-size: 2.7rem;
  font-weight: 600;
  color: #47451F;
  text-align: center;
  letter-spacing: 1.35px;
}
#footerContents .footerContentsInner .columnBox {
  width: 100%;
  padding: 65px 0 0;
  display: flex; 
  justify-content: space-between;
  flex-wrap: wrap;
}
#footerContents .footerContentsInner .columnBox .column {
  width: 400px;
  text-align: center;
}
#footerContents .footerContentsInner .columnBox .column h3 {
  height: 65px;
  box-sizing: border-box;
  border-bottom: 1px solid #8C8C43;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.6;
}
#footerContents .footerContentsInner .columnBox .column:nth-child(2) h3 {
  padding: 17px 0 0;
}
#footerContents .footerContentsInner .columnBox .column .link01 {
  position: relative;
  width: 100%;
  margin: 40px 0 0;
}
#footerContents .footerContentsInner .columnBox .column .link01::before {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 74px;
  background-size: cover;
  content: "";
}
#footerContents .footerContentsInner .columnBox .column:nth-child(1) .link01::before {
  background-image: url("../img/footer_contact_link_bk01.svg");
}
#footerContents .footerContentsInner .columnBox .column:nth-child(2) .link01::before {
  background-image: url("../img/footer_contact_link_bk02.svg");
}
#footerContents .footerContentsInner .columnBox .column:nth-child(1) .link01:hover::before {
  background-image: url("../img/footer_contact_link_bk01_ov.svg");
}
#footerContents .footerContentsInner .columnBox .column:nth-child(2) .link01:hover::before {
  background-image: url("../img/footer_contact_link_bk02_ov.svg");
}
#footerContents .footerContentsInner .columnBox .column .link01 a {
  position: relative;
  z-index: 10;
  display: block;
  width: 100%;
  height: 47px;
  padding: 27px 0 0;
  box-sizing: border-box;
  font-size: 2.0rem;
  font-weight: 700;
  color: #FFF;
  letter-spacing: -0.5px;
}
#footerContents .footerContentsInner .columnBox .column .link01 a:hover {
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  #footerContents {
    height: 620px;
    padding: 120px 0 0;
  }
  #footerContents::before {
    width: 1645px;
    height: 2221px;
    margin: 0 0 0 -822px;
  }
  #footerContents .footerContentsInner {
    width: calc(100% - 40px);
  }
  #footerContents .footerContentsInner h2 {
    line-height: 1.6;
  }
  #footerContents .footerContentsInner .columnBox .column {
    width: 100%;
    padding: 0 0 80px;
  }
  #footerContents .footerContentsInner .columnBox .column h3 {
    height: auto;
    padding: 0 0 10px;
    font-size: 1.4rem;
  }
  #footerContents .footerContentsInner .columnBox .column:nth-child(2) h3 {
    padding: 0 0 10px;
  }
  #footerContents .footerContentsInner .columnBox .column .link01 {
    width: 283px;
    height: 52px;
    margin: 20px auto 0;
  }
  #footerContents .footerContentsInner .columnBox .column .link01::before {
    width: 283px;
    height: 52px;
  }
  #footerContents .footerContentsInner .columnBox .column .link01 a {
    height: 52px;
    padding: 17px 0 0;
    font-size: 1.8rem;
  }
}



/*==========================================
 ページアップ
===========================================*/
#pageup {
  position : fixed;
  z-index: 300;
  bottom : 40px;
  right : 40px;
}
#pageup a img {
  display: block;
  width: 21px;
  height: 70px;
}
body.top #pageup {
  opacity: 0;
  transform: translateY(50px);
  transition: all 2.0s ease;
}
/* 読み込みフェード */
body.top #pageup.fade_on {
  opacity: 1;
  transform: translateY(0px);
}
@media only screen and (max-width: 767px) {
  #pageup {
    bottom : 20px;
    right : 20px;
  }
}


/*==========================================
 コンテンツのスタイル 共通
===========================================*/
#mainContents {
  min-height: 500px;
  padding: 65px 0 0 0;
}
@media only screen and (max-width: 767px) {
  #mainContents {
    padding: 65px 0 0 0;
  }
}



/*==========================================
 パンくず
===========================================*/
#mainContents #pankuzu {
  width: 860px;
  margin: 20px auto 0;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.3rem;
  color: #8C8C43;
  line-height: 1.4;
}
#mainContents #pankuzu a {
  position: relative;
  margin: 0 20px 0 0;
}
#mainContents #pankuzu a:hover {
  text-decoration: none;
  opacity: 0.7;
}
#mainContents #pankuzu a:after {
  position: absolute;
  right: -12px;
  top: 5px;
  width: 6px;
  height: 6px;
  display: block;
  border-top: 1px solid #8C8C43;
  border-right: 1px solid #8C8C43;
  transform: rotate(45deg);
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents #pankuzu {
    width: calc(100% - 40px);
    margin: 10px auto 0;
  }
}


/*==========================================
 タイトル
===========================================*/
#mainContents .titleArea {
  width: 860px;
  margin: 30px auto 0;
  padding: 0 0 10px;
  border-bottom: 1px solid #8C8C43;
}
#mainContents .titleArea img {
  width: auto;
  height: 65px;
}
@media only screen and (max-width: 767px) {
  #mainContents .titleArea {
    width: 100%;
    padding: 0 20px 10px;
  }
  #mainContents .titleArea img {
    height: 50px;
  }
  #mainContents .titleArea.typ02 img {
    height: 40px;
  }
}

#mainContents .titleArea_newsletter {
  width: 860px;
  margin: 30px auto 0;
  padding: 0 0 10px;
  border-bottom: 1px solid #8C8C43;
  text-align: center;
}
#mainContents .titleArea_newsletter img {
  width: auto;
  height: 43px;
}
@media only screen and (max-width: 767px) {
  #mainContents .titleArea_newsletter {
    width: 100%;
  }
  #mainContents .titleArea_newsletter img {
    height: 30px;
  }
}


/*==========================================
 Top
===========================================*/
#mainContents .hero-section {
  position: relative;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}
#mainContents .hero-section #canvas {
  position: absolute;
  top: -50px;
  left: 0;
  width: 100vw;
  height: 100vh;
  display: block;
  background: transparent;
  z-index: 1;
}
#mainContents .hero-section .hero-content {
  position: absolute;
  z-index: 200;
  right: 20vw;
  top: 75px;
  width: 67px;
  height: 350px;
  opacity: 0;
  transform: translateY(50px);
  transition: all 2.0s ease;
}
#mainContents .hero-section .hero-content img {
  width: 100%;
  height: auto;
}
/* 読み込みフェード */
#mainContents .hero-section .hero-content.fade_on {
  opacity: 1;
  transform: translateY(0px);
}
@media only screen and (max-width: 767px) {
  #mainContents .hero-section #canvas {
    top: -100px;
    height: 100vh;
  }
  #mainContents .hero-section .hero-content {
    right: 36px;
    top: 30px;
    width: 50px;
    height: 271px;
  }
}


#mainContents .topArea {
  position: relative;
  z-index: 200;
  width: 100%;
  min-height: 6290px;
  background-image: url("../img/top/top_bk02.svg");
  background-size: 1239px 6290px;
  background-position: center top;
  background-repeat: no-repeat;
  opacity: 0;
  transform: translateY(50px);
  transition: all 2.0s ease;
}
/* 読み込みフェード */
#mainContents .topArea.fade_on {
  opacity: 1;
  transform: translateY(0px);
}
@media only screen and (max-width: 767px) {
  #mainContents .topArea {
    min-height: 8012px;
    background-image: url("../img/top/top_bk02_sp.svg");
    background-size: 1597px 8012px;
  }
}


#mainContents .topTyp01 {
  position: relative;
  z-index: 100;
  width: 1142px;
  min-height: 1850px;
  margin: 0 auto;
  padding: 50px 0 0;
}
#mainContents .topTyp01 p.text01 {
  font-size: 2.0rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
}
#mainContents .topTyp01 .columnBox {
  position: relative;
  width: 900px;
  margin: 0 auto;
  padding: 210px 0 0;
}
#mainContents .topTyp01 .columnBox h2 {
  position: relative;
}
#mainContents .topTyp01 .columnBox h2::before {
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background-color: #8c8c43;
  content: "";
  transition: all 1.5s linear;
}
#mainContents .topTyp01 .columnBox h2.fade_on::before {
  width: 750px;
}
#mainContents .topTyp01 .columnBox h2 img {
  width: 750px;
  height: auto;
}
#mainContents .topTyp01 .columnBox h3.typ01 {
  padding: 50px 0 0;
  font-size: 2.0rem;
  font-weight: 700;
}
#mainContents .topTyp01 .columnBox p.text01 {
  padding: 30px 0 0;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: left;
}
#mainContents .topTyp01 .columnBox .imgBox01 {
  position: absolute;
  right: 0;
  top: 210px;
  width: 87px;
  height: 311px;
}
#mainContents .topTyp01 .columnBox .imgBox02 {
  padding: 70px 0 0;
  width: 100%;
  height: 472px;
}
#mainContents .topTyp01 .columnBox .imgBox02 .imgBox02_inner_pc {
  display: block;
  position: relative;
}
#mainContents .topTyp01 .columnBox .imgBox02 .imgBox02_inner_pc img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 0.8s ease;
}
#mainContents .topTyp01 .columnBox .imgBox02.fade_on .imgBox02_inner_pc img.show {
  opacity: 1;
}
#mainContents .topTyp01 .columnBox .imgBox02 .imgBox02_inner_sp {
  display: none;
}
#mainContents .topTyp01 .columnBox h3.typ02 {
  padding: 150px 0 0;
  font-size: 2.0rem;
  font-weight: 700;
  text-align: right;
}
#mainContents .topTyp01 .columnBox p.text02 {
  padding: 30px 0 0;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: right;
}
#mainContents .topTyp01 .columnBox .imgBox03 {
  position: absolute;
  left: 40px;
  top: 1166px;
  width: 90px;
  height: 263px;
}
#mainContents .topTyp01 .columnBox h3.typ03 {
  padding: 150px 0 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
#mainContents .topTyp01 .columnBox p.text03 {
  padding: 50px 0 0;
  font-size: 1.7rem;
  font-weight: 400;
  line-height: 1.8;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #mainContents .topTyp01 {
    width: 100%;
    min-height: 2203px;
    margin: -250px 0 0;
    padding: 0;
  }
  #mainContents .topTyp01 p.text01 {
    padding: 0 25px;
    font-size: 1.6rem;
    text-align: left;
  }
  #mainContents .topTyp01 .columnBox {
    width: 100%;
    padding: 120px 0 0;
  }
  #mainContents .topTyp01 .columnBox h2 {
    text-align: center;
  }
  #mainContents .topTyp01 .columnBox h2.fade_on::before {
    width: 100%;
  }
  #mainContents .topTyp01 .columnBox h2 img {
    width: 170px;
    height: auto;
  }
  #mainContents .topTyp01 .columnBox h3.typ01 {
    padding: 150px 25px 0;
    font-size: 1.7rem;
    line-height: 1.6;
  }
  #mainContents .topTyp01 .columnBox p.text01 {
    padding: 20px 25px 0;
    font-size: 1.6rem;
  }
  #mainContents .topTyp01 .columnBox p.text01 br {
    display: none;
  }
  #mainContents .topTyp01 .columnBox .imgBox01 {
    right: auto;
    left: 25px;
    top: 210px;
    width: 219px;
    height: 64px;
  }
  #mainContents .topTyp01 .columnBox .imgBox02 {
    padding: 70px 0 0;
    height: 739px;
  }
  #mainContents .topTyp01 .columnBox .imgBox02 .imgBox02_inner_pc {
    display: none;
  }
  #mainContents .topTyp01 .columnBox .imgBox02 .imgBox02_inner_sp {
    display: block;
    position: relative;
    width: 320px;
    height: 739px;
    margin: 0 auto;
  }
  #mainContents .topTyp01 .columnBox .imgBox02 .imgBox02_inner_sp img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    opacity: 0;
    transition: opacity 0.8s ease;
  }
  #mainContents .topTyp01 .columnBox .imgBox02.fade_on .imgBox02_inner_sp img.show {
    opacity: 1;
  }
  #mainContents .topTyp01 .columnBox h3.typ02 {
    padding: 200px 25px 0;
    font-size: 1.7rem;
    line-height: 1.6;
    text-align: left;
  }
  #mainContents .topTyp01 .columnBox p.text02 {
    padding: 20px 25px 0;
    font-size: 1.6rem;
    text-align: left;
  }
  #mainContents .topTyp01 .columnBox p.text02 br {
    display: none;
  }
  #mainContents .topTyp01 .columnBox .imgBox03 {
    left: auto;
    right: 25px;
    top: 1539px;
    width: 218px;
    height: 65px;
  }
  #mainContents .topTyp01 .columnBox h3.typ03 {
    padding: 90px 0 0;
    font-size: 2.2rem;
  }
  #mainContents .topTyp01 .columnBox p.text03 {
    padding: 20px 25px 0;
    font-size: 1.6rem;
    text-align: left;
  }
  #mainContents .topTyp01 .columnBox p.text03 br {
    display: none;
  }
}

#mainContents .topTyp02 {
  position: relative;
  z-index: 100;
  width: 1000px;
  margin: 0 auto;
  padding: 200px 0 0;
}
#mainContents .topTyp02 h2 {
  position: relative;
  width: 900px;
  margin: 0 auto;
  text-align: center;
}
#mainContents .topTyp02 h2::before {
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background-color: #8c8c43;
  content: "";
  transition: all 1.5s linear;
}
#mainContents .topTyp02 h2.fade_on::before {
  width: 900px;
}
#mainContents .topTyp02 h2 img {
  width: 900px;
  height: auto;
}
#mainContents .topTyp02 h3.typ01 {
  padding: 40px 0 0;
  text-align: center;
}
#mainContents .topTyp02 h3.typ01 img {
  width: 589px;
  height: auto;
}
#mainContents .topTyp02 .imgBox01 {
  width: 1000px;
  margin: -10px 0 0;
}
#mainContents .topTyp02 .imgBox01 img {
  width: 100%;
  height: auto;
}

#mainContents .topTyp02 .columnBox01 {
  width: 900px;
  margin: 0 auto;
  padding: 10px 0 0;
  display: flex;
  justify-content: space-between;
}
#mainContents .topTyp02 .columnBox01 .column {
  width: 420px;
}
#mainContents .topTyp02 .columnBox01 .column p.text01 {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.7rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 6.8px;
}
#mainContents .topTyp02 .columnBox01 .column h4 {
  padding: 10px 0 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 3.4rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 6.8px;
}
#mainContents .topTyp02 .columnBox01 .column p.text02 {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}

#mainContents .topTyp02 .columnBox02 {
  position: relative;
  width: 900px;
  margin: 70px auto 0;
  display: flex;
  justify-content: space-between;
}
#mainContents .topTyp02 .columnBox02::before {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 68px;
  height: 83px;
  margin: -42px 0 0 -34px;
  background-image: url("../img/top/top_icon02.svg");
  background-size: cover;
  content: "";
}
#mainContents .topTyp02 .columnBox02 .column {
  width: 50%;
}
#mainContents .topTyp02 .columnBox02 .column p {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 6.8px;
  line-height: 1.8;
}

#mainContents .topTyp02 .columnBox03 {
  width: 900px;
  margin: 50px auto 0;
  text-align: center;
}
#mainContents .topTyp02 .columnBox03 img {
  width: 756px;
  height: auto;
}
#mainContents .topTyp02 .columnBox03 p {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}
#mainContents .topTyp02 .columnBox03 .link01 {
  width: 360px;
  margin: 0 auto;
  padding: 120px 0 0;
}
#mainContents .topTyp02 .columnBox03 .link01 a {
  display: block;
  width: 360px;
  height: 85px;
  background-image: url("../img/top/top_bot02_new.svg");
  background-size: cover;
  transition: all 0.3s ease;
}
#mainContents .topTyp02 .columnBox03 .link01 a:hover {
  background-image: url("../img/top/top_bot02_ov_new.svg");
}

#mainContents .topTyp02 .columnBox04 {
  position: relative;
  width: 800px;
  margin: 0 auto;
  padding: 190px 0 0;
}
#mainContents .topTyp02 .columnBox04 .imgBox01 {
  width: 595px;
  margin: 0 auto;
}
#mainContents .topTyp02 .columnBox04 .imgBox01 img {
  width: 100%;
  height: auto;
}
#mainContents .topTyp02 .columnBox04 .imgBox02 {
  position: absolute;
  left: 0;
  top: 50px;
  width: 137px;
}
#mainContents .topTyp02 .columnBox04 .imgBox02 img {
  width: 100%;
  height: auto;
}
#mainContents .topTyp02 .columnBox04 h4 {
  padding: 25px 0 0;
  font-size: 1.6rem;
  font-weight: 700;
}
#mainContents .topTyp02 .columnBox04 .columnSub01 {
  width: 100%;
  padding: 10px 0 0;
  display: flex;
  flex-wrap: wrap;
}
#mainContents .topTyp02 .columnBox04 .columnSub01 .column_L {
  width: 220px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}
#mainContents .topTyp02 .columnBox04 .columnSub01 .column_R {
  width: 580px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
}
#mainContents .topTyp02 .columnBox04 p {
  padding: 25px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8;
}

@media only screen and (max-width: 767px) {
  #mainContents .topTyp02 {
    width: 100%;
    padding: 100px 0 0;
  }
  #mainContents .topTyp02 h2 {
    width: 100%;
  }
  #mainContents .topTyp02 h2::before {
    bottom: 26px;
  }
  #mainContents .topTyp02 h2.fade_on::before {
    width: 100%;
  }
  #mainContents .topTyp02 h2 img {
    width: 100%;
    height: auto;
  }
  #mainContents .topTyp02 h3.typ01 img {
    width: 300px;
  }
  #mainContents .topTyp02 .imgBox {
    position: relative;
    width: 100%;
    height: 200px;
    margin: 0;
    overflow: hidden;
  }
  #mainContents .topTyp02 .imgBox img {
    position: absolute;
    left: 50%;
    top: 0;
    width: 480px;
    margin: 0 0 0 -240px;
  }

  #mainContents .topTyp02 .columnBox01 {
    width: calc(100% - 50px);
  }
  #mainContents .topTyp02 .columnBox01 .column {
    width: 142px;
  }
  #mainContents .topTyp02 .columnBox01 .column p.text01 {
    font-size: 1.3rem;
  }
  #mainContents .topTyp02 .columnBox01 .column h4 {
    font-size: 2.0rem;
  }
  #mainContents .topTyp02 .columnBox01 .column p.text02 {
    font-size: 1.4rem;
  }

  #mainContents .topTyp02 .columnBox02 {
    width: calc(100% - 50px);
    margin: 30px auto 0;
  }
  #mainContents .topTyp02 .columnBox02::before {
    width: 30px;
    height: 36px;
    margin: -18px 0 0 -15px;
  }
  #mainContents .topTyp02 .columnBox02 .column {
    width: 40%;
  }
  #mainContents .topTyp02 .columnBox02 .column p {
    font-size: 1.3rem;
  }

  #mainContents .topTyp02 .columnBox03 {
    width: calc(100% - 50px);
    margin: 25px auto 0;
  }
  #mainContents .topTyp02 .columnBox03 img {
    width: 100%;
    height: auto;
  }
  #mainContents .topTyp02 .columnBox03 p {
    text-align: left;
  }
  #mainContents .topTyp02 .columnBox03 p br {
    display: none;
  }
  #mainContents .topTyp02 .columnBox03 .link01 {
    width: 300px;
    margin: 0 auto;
    padding: 45px 0 0;
  }
  #mainContents .topTyp02 .columnBox03 .link01 a {
    width: 300px;
    height: 71px;
    background-image: url("../img/top/top_bot02_sp_new.svg");
  }
  #mainContents .topTyp02 .columnBox03 .link01 a:hover {
    background-image: url("../img/top/top_bot02_sp_new.svg");
  }
  #mainContents .topTyp02 .columnBox04 {
    width: calc(100% - 50px);
    margin: 0 auto;
    padding: 230px 0 0;
  }
  #mainContents .topTyp02 .columnBox04 .imgBox01 {
    width: 100%;
  }
#mainContents .topTyp02 .columnBox04 .imgBox02 {
    position: absolute;
    left: 0;
    top: 100px;
    width: 250px;
  }
}


#mainContents .topTyp03 {
  position: relative;
  z-index: 100;
  width: 900px;
  margin: 0 auto;
  padding: 200px 0 0;
}
#mainContents .topTyp03 h2 {
  position: relative;
}
#mainContents .topTyp03 h2::before {
  position: absolute;
  display: block;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background-color: #8c8c43;
  content: "";
  transition: all 1.5s linear;
}
#mainContents .topTyp03 h2.fade_on::before {
  width: 100%;
}
#mainContents .topTyp03 h2 img {
  width: 100%;
  height: auto;
}
#mainContents .topTyp03 h3.typ01 {
  padding: 30px 0 0;
  text-align: right;
}
#mainContents .topTyp03 h3.typ01 img {
  width: 366px;
  height: auto;
}

#mainContents .topTyp03 .columnBox01 {
  width: 100%;
  padding: 45px 0 0;
}
#mainContents .topTyp03 .columnBox01 h4 {
  font-size: 2.0rem;
  font-weight: 700;
}
#mainContents .topTyp03 .columnBox01 .columnBox {
  width: 100%;
  padding: 30px 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
#mainContents .topTyp03 .columnBox01 .columnBox img {
  width: 150px;
  height: auto;
}

#mainContents .topTyp03 .columnBox02 {
  width: 100%;
  padding: 80px 0 0;
}
#mainContents .topTyp03 .columnBox02 h4 {
  font-size: 2.0rem;
  font-weight: 700;
}
#mainContents .topTyp03 .columnBox02 .columnBox {
  width: 100%;
  padding: 30px 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}
#mainContents .topTyp03 .columnBox02 .columnBox .column {
  width: 170px;
}
#mainContents .topTyp03 .columnBox02 .columnBox .column:nth-child(2n) {
  padding: 80px 0 0;
}
#mainContents .topTyp03 .columnBox02 .columnBox .column img {
  width: 100%;
  height: auto;
}
#mainContents .topTyp03 .columnBox02 .columnBox .column h5 {
  padding: 10px 0 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 2.4rem;
  font-weight: 600;
}
#mainContents .topTyp03 .columnBox02 .columnBox .column p {
  padding: 8px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
}

#mainContents .topTyp03 .columnBox04 {
  width: 100%;
  padding: 150px 0 0;
}
#mainContents .topTyp03 .columnBox04 h4 {
  font-size: 2.0rem;
  font-weight: 700;
}
#mainContents .topTyp03 .columnBox04 h5 {
  padding: 100px 0 0;
  font-size: 2.5rem;
  font-weight: 600;
  text-align: center;
}
#mainContents .topTyp03 .columnBox04 table {
  width: 580px;
  margin: 30px auto 0;
}
#mainContents .topTyp03 .columnBox04 table th {
  width: 110px;
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}
#mainContents .topTyp03 .columnBox04 table td {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
}

@media only screen and (max-width: 767px) {
  #mainContents .topTyp03 {
    width: 100%;
    padding: 100px 0 0;
  }
  #mainContents .topTyp03 h2::before {
    bottom: 33px;
  }
  #mainContents .topTyp03 h2 img {
    width: 100%;
    height: auto;
  }
  #mainContents .topTyp03 h3.typ01 {
    text-align: center;
  }
  #mainContents .topTyp03 h3.typ01 img {
    width: 240px;
  }

  #mainContents .topTyp03 .columnBox01 {
    width: calc(100% - 50px);
    margin: 0 auto;
    padding: 50px 0 0;
  }
  #mainContents .topTyp03 .columnBox01 h4 {
    font-size: 1.7rem;
    line-height: 1.4;
  }
  #mainContents .topTyp03 .columnBox01 .columnBox img {
    width: 50%;
    padding: 0 0 25px;
  }

  #mainContents .topTyp03 .columnBox02 {
    width: calc(100% - 50px);
    margin: 0 auto;
    padding: 50px 0 0;
  }
  #mainContents .topTyp03 .columnBox02 h4 {
    font-size: 1.7rem;
    line-height: 1.4;
  }
  #mainContents .topTyp03 .columnBox02 .columnBox .column {
    position: relative;
    width: 100%;
    text-align: right;
  }
  #mainContents .topTyp03 .columnBox02 .columnBox .column:nth-child(2n) {
    padding: 0;
    text-align: left;
  }
  #mainContents .topTyp03 .columnBox02 .columnBox .column:nth-child(3),
  #mainContents .topTyp03 .columnBox02 .columnBox .column:nth-child(5) {
    margin: -30px 0 0;
  }
  #mainContents .topTyp03 .columnBox02 .columnBox .column img {
    width: 50%;
  }
  #mainContents .topTyp03 .columnBox02 .columnBox .column .textBox {
    position: absolute;
    top: 115px;
    right: 55%;
  }
  #mainContents .topTyp03 .columnBox02 .columnBox .column:nth-child(2n) .textBox {
    left: 55%;
    width: 50%;
  }
  #mainContents .topTyp03 .columnBox02 .columnBox .column h5 {
    padding: 0;
    font-size: 2.8rem;
  }
  #mainContents .topTyp03 .columnBox02 .columnBox .column p {
    line-height: 1.4;
  }

  #mainContents .topTyp03 .columnBox04 {
    width: calc(100% - 50px);
    margin: 0 auto;
    padding: 100px 0 0;
  }
  #mainContents .topTyp03 .columnBox04 h4 {
    font-size: 1.7rem;
    line-height: 1.4;
  }
  #mainContents .topTyp03 .columnBox04 h5 {
    padding: 50px 0 0;
    font-size: 1.8rem;
  }
  #mainContents .topTyp03 .columnBox04 table {
    width: 100%;
    margin: 20px auto 0;
  }
  #mainContents .topTyp03 .columnBox04 table th {
    display: block;
    width: 100%;
    padding: 20px 0 0;
    font-size: 1.5rem;
  }
  #mainContents .topTyp03 .columnBox04 table td {
    display: block;
    width: 100%;
    padding: 5px 0 0;
    font-size: 1.5rem;
  }
}

#mainContents .topTyp04 {
  position: relative;
  width: 900px;
  margin: 150px auto 170px;
  padding: 30px 0 0 160px;
}
#mainContents .topTyp04 h3 {
  padding: 0 0 70px;
  font-size: 1.8rem;
  font-weight: 500;
  color: #8C8C43;
  text-align: right;
}
#mainContents .topTyp04::before {
  position: absolute;
  left: 156px;
  bottom: -11px;
  width: 47px;
  height: 8px;
  background-image: url("../img/news/news_decoration_bottom.svg");
  background-size: cover;
  content: "";
}
#mainContents .topTyp04::after {
  position: absolute;
  left: 60px;
  top: 21px;
  width: 63px;
  height: 200px;
  background-image: url("../img/top/top_news_img01.svg");
  background-size: cover;
  content: "";
}

#mainContents .topTyp04 .columnBox {
  position: relative;
  width: 100%;
  padding: 0 0 0 60px;
  box-sizing: border-box;
}
#mainContents .topTyp04 .columnBox::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 39px;
  height: calc(100% + 4px);
  background-image: url("../img/news/news_decoration_base.svg");
  background-size: 39px auto;
  content: "";
}
#mainContents .topTyp04 .columnBox::after {
  position: absolute;
  left: -4px;
  top: -7px;
  width: 47px;
  height: 7px;
  background-image: url("../img/news/news_decoration_top.svg");
  background-size: cover;
  content: "";
}
#mainContents .topTyp04 .columnBox .column {
  position: relative;
  width: 100%;
  margin: 0 0 30px;
  padding: 0 0 0 30px;
  box-sizing: border-box;
}
#mainContents .topTyp04 .columnBox .column::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 17px;
  height: 44px;
  background-size: cover;
  content: "";
}
#mainContents .topTyp04 .columnBox .column.cate01::before {
  background-image: url("../img/news/news_cate01_active.svg");
}
#mainContents .topTyp04 .columnBox .column.cate01:hover::before {
  background-image: url("../img/news/news_cate01.svg");
}

#mainContents .topTyp04 .columnBox .column.cate02::before {
  background-image: url("../img/news/news_cate02_active.svg");
}
#mainContents .topTyp04 .columnBox .column.cate02:hover::before {
  background-image: url("../img/news/news_cate02.svg");
}

#mainContents .topTyp04 .columnBox .column.cate03::before {
  background-image: url("../img/news/news_cate03_active.svg");
}
#mainContents .topTyp04 .columnBox .column.cate03:hover::before {
  background-image: url("../img/news/news_cate03.svg");
}

#mainContents .topTyp04 .columnBox .column::after {
  position: absolute;
  left: -22px;
  top: 6px;
  width: 31px;
  height: 1px;
  background-color: #8C8C43;
  content: "";
}
#mainContents .topTyp04 .columnBox .column p {
  font-size: 1.3rem;
  font-weight: 500;
  color: #8C8C43;
  letter-spacing: 0.65px;
}
#mainContents .topTyp04 .columnBox .column p span {
  position: relative;
  padding: 0 0 0 25px;
  font-size: 1.3rem;
}
#mainContents .topTyp04 .columnBox .column p span::before {
  position: absolute;
  left: 12px;
  top: 4px;
  width: 1px;
  height: 13px;
  background-color: #8C8C43;
  content: "";
}
#mainContents .topTyp04 .columnBox .column a {
  display: block;
  padding: 5px 0 0;
  font-size: 1.8rem;
  font-weight: 500;
  color: #8C8C43;
  letter-spacing: -0.45px;
  line-height: 1.6;
}
#mainContents .topTyp04 .columnBox .column a:hover {
  text-decoration: none;
  opacity: 0.7;
}
#mainContents .topTyp04 .link01 {
  position: absolute;
  right: 0;
  bottom: -30px;
}
#mainContents .topTyp04 .link01 a {
  font-size: 1.2rem;
  font-weight: 400;
}
#mainContents .topTyp04 .link01 a:hover {
  text-decoration: none;
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .topTyp04 {
    width: 100%;
    padding: 25px 0 0;
  }
  #mainContents .topTyp04 h3 {
    padding: 0 25px 50px;
    font-size: 1.7rem;
  }
  #mainContents .topTyp04::before,
  #mainContents .topTyp04 .columnBox::before,
  #mainContents .topTyp04 .columnBox::after {
    display: none;
  }
  #mainContents .topTyp04::after {
    left: 50%;
    top: -60px;
    width: 159px;
    height: 50px;
    margin: 0 0 0 -80px;
    background-image: url("../img/top/top_news_img01_sp.svg");
  }
  #mainContents .topTyp04 .columnBox {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 0;
  }

  #mainContents .topTyp04 .columnBox .column {
    margin: 0 0 30px;
  }
  #mainContents .topTyp04 .columnBox .column::after {
    display: none;
  }
  #mainContents .topTyp04 .columnBox .column a {
    font-size: 1.7rem;
  }

  #mainContents .topTyp04 .link01 {
    right: auto;
    left: 0;
    bottom: -50px;
    width: 100%;
    text-align: center;
  }
}

#mainContents .topContact {
  width: 735px;
  margin: 0 auto;
  padding: 100px 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .topContact .link01 {
  position: relative;
  width: 335px;
  height: 62px;
}
#mainContents .topContact .link01::before {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 62px;
  background-size: cover;
  content: "";
}
#mainContents .topContact .link01:nth-child(1)::before {
  background-image: url("../img/footer_contact_link_bk01.svg");
}
#mainContents .topContact .link01:nth-child(2)::before {
  background-image: url("../img/footer_contact_link_bk02.svg");
}
#mainContents .topContact .link01:nth-child(1):hover::before {
  background-image: url("../img/footer_contact_link_bk01_ov.svg");
}
#mainContents .topContact .link01:nth-child(2):hover::before {
  background-image: url("../img/footer_contact_link_bk02_ov.svg");
}
#mainContents .topContact .link01 a {
  position: relative;
  z-index: 10;
  display: block;
  width: 100%;
  height: 62px;
  padding: 22px 0 0;
  box-sizing: border-box;
  font-size: 2.0rem;
  font-weight: 700;
  color: #FFF;
  letter-spacing: -0.5px;
  text-align: center;
}
#mainContents .topContact .link01 a:hover {
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  #mainContents .topContact {
    width: 270px;
    padding: 100px 0 0;
  }
  #mainContents .topContact .link01 {
    width: 100%;
    height: 50px;
    margin: 0 0 45px;
  }
  #mainContents .topContact .link01:last-child {
    margin: 0;
  }
  #mainContents .topContact .link01::before {
    height: 50px;
  }
  #mainContents .topContact .link01 a {
    height: 50px;
    padding: 16px 0 0;
    font-size: 1.7rem;
  }
}


/*==========================================
 Top 襖
===========================================*/
#modalArea {
  display: none;
  position: fixed;
  z-index: 2000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100vh;
  background-color: #FFF;
}
#modalArea .fusuma_L {
  position: absolute;
  z-index: 2100;
  left: 0;
  /* left: -50vw; */
  top: 0;
  width: 50%;
  height: 100vh;
  background-color: #FFF;
  border-right: 1px solid #8C8C43;
  box-sizing: border-box;
  transition: all 1.0s ease;
}
#modalArea .fusuma_L.open {
  left: -50vw;
}
#modalArea .fusuma_L::before {
  position: absolute;
  right: 65px;
  top: 50%;
  width: 20px;
  height: 63px;
  margin: -31px 0 0 0;
  background-image: url("../img/top/modal_icon01.svg");
  background-size: cover;
  content: "";
}
#modalArea .fusuma_R {
  position: absolute;
  z-index: 2100;
  right: 0;
  /* right: -50vw; */
  top: 0;
  width: 50%;
  height: 100vh;
  background-color: #FFF;
  border-left: 1px solid #8C8C43;
  box-sizing: border-box;
  transition: all 1.0s ease;
}
#modalArea .fusuma_R.open {
  right: -50vw;
}
#modalArea .fusuma_R::before {
  position: absolute;
  left: 65px;
  top: 50%;
  width: 20px;
  height: 63px;
  margin: -31px 0 0 0;
  background-image: url("../img/top/modal_icon01.svg");
  background-size: cover;
  content: "";
}


#modalArea .modal_Close {
  position: absolute;
  z-index: 2050;
  right: 50px;
  top: 50px;
  width: 46px;
  height: 46px;
}
#modalArea .modal_Close img {
  width: 100%;
  height: auto;
}

#modalArea .modal_Scroll {
  position: absolute;
  z-index: 2050;
  right: 65px;
  top: 50%;
  width: 15px;
  height: 86px;
  margin: -43px 0 0 0;
}
#modalArea .modal_Scroll img {
  position: absolute;
  left: 50%;
  top: 0;
  width: 15px;
  height: 9px;
  margin: 0 0 0 -8px;
  animation: scrollAnime 2.0s infinite;
}
@keyframes scrollAnime {
  0% {
    top: 0;
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  90% {
    opacity: 0;
  }
  100% {
    top: 90%;
    opacity: 0;
  }
}
#modalArea .modal_Scroll::before {
  position: absolute;
  left: 50%;
  top: 0;
  width: 1px;
  height: 86px;
  margin: 0 0 0 -1px;
  background-color: #C0C09C;
  content: "";
}
#modalArea .modalArea_Box {
  width: 100vw;
  height: 100vh;
  margin: 0 auto;
  overflow-y: scroll;
}
@media only screen and (max-width: 767px) {
  #modalArea .fusuma_L {
    /* left: 0; */
  }
  #modalArea .fusuma_L::before {
    right: 60px;
    width: 16px;
    height: 51px;
    margin: -25px 0 0 0;
  }
  #modalArea .fusuma_R {
    /* right: 0; */
  }
  #modalArea .fusuma_R::before {
    left: 60px;
    width: 16px;
    height: 51px;
    margin: -25px 0 0 0;
  }


  #modalArea .modal_Close {
    right: 25px;
    top: 25px;
    width: 30px;
    height: 30px;
  }

  #modalArea .modal_Scroll {
    right: 30px;
  }
}




#modalArea .modalArea_Box .modal_animation01,
#modalArea .modalArea_Box .modal_animation02,
#modalArea .modalArea_Box .modal_animation03,
#modalArea .modalArea_Box .modal_animation04 {
  opacity: 0;
  transform: translateY(50px);
  transition: all 3.0s ease;
}
#modalArea .modalArea_Box .modal_animation02 { transition-delay: 0.5s; }
#modalArea .modalArea_Box .modal_animation03 { transition-delay: 1.0s; }
#modalArea .modalArea_Box .modal_animation04 { transition-delay: 1.5s; 
}
#modalArea .modalArea_Box .modal_animation01.fade_on,
#modalArea .modalArea_Box .modal_animation02.fade_on,
#modalArea .modalArea_Box .modal_animation03.fade_on,
#modalArea .modalArea_Box .modal_animation04.fade_on {
  opacity: 1;
  transform: translateY(0px);
}


#modalArea .modalArea_Box .modal_typ01 {
  position: relative;
  width: 1000px;
  margin: 20vh auto 0;
}
#modalArea .modalArea_Box .modal_typ01 h3 {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  color: #8C8C43;
}
#modalArea .modalArea_Box .modal_typ01 h4 {
  padding: 10px 0 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.4;
  color: #8C8C43;
}
#modalArea .modalArea_Box .modal_typ01 p {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}
#modalArea .modalArea_Box .modal_typ01 img {
  position: absolute;
  left: 580px;
  top: 200px;
  width: 547px;
  height: auto;
}
#modalArea .modalArea_Box .modal_typ01 .columnBox {
  padding: 30px 0 30px;
}
#modalArea .modalArea_Box .modal_typ01 .columnBox .column {
  padding: 0 0 35px;
}
#modalArea .modalArea_Box .modal_typ01 .columnBox .column h4 {
  position: relative;
  padding: 0 0 0 30px;
  font-size: 2.4rem;
  font-weight: 700;
  color: #8C8C43;
}
#modalArea .modalArea_Box .modal_typ01 .columnBox .column h4::before {
  position: absolute;
  left: 0;
  top: -3px;
  width: 30px;
  height: 30px;
  background-size: cover;
  content: "";
}
#modalArea .modalArea_Box .modal_typ01 .columnBox .column:nth-child(1) h4::before {
  background-image: url("../img/top/modal_icon04.svg");
}
#modalArea .modalArea_Box .modal_typ01 .columnBox .column:nth-child(2) h4::before {
  background-image: url("../img/top/modal_icon05.svg");
}
#modalArea .modalArea_Box .modal_typ01 .columnBox .column:nth-child(3) h4::before {
  background-image: url("../img/top/modal_icon06.svg");
}
#modalArea .modalArea_Box .modal_typ01 .columnBox .column p {
  padding: 10px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  color: #8C8C43;
}


#modalArea .modalArea_Box .modal_typ01 .link01 {
  position: relative;
  width: 335px;
  height: 62px;
  margin: 150px auto 0;
}
#modalArea .modalArea_Box .modal_typ01 .link01::before {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 62px;
  background-image: url("../img/footer_contact_link_bk01.svg");
  background-size: cover;
  content: "";
}
#modalArea .modalArea_Box .modal_typ01 .link01:hover::before {
  background-image: url("../img/footer_contact_link_bk01_ov.svg");
}
#modalArea .modalArea_Box .modal_typ01 .link01 a {
  position: relative;
  z-index: 10;
  display: block;
  width: 100%;
  height: 62px;
  padding: 13px 0 0;
  box-sizing: border-box;
  font-size: 1.8rem;
  font-weight: 700;
  color: #FFF;
  letter-spacing: -0.5px;
  text-align: center;
}
#modalArea .modalArea_Box .modal_typ01 .link01 a span {
  display: block;
  padding: 0 0 5px;
  font-size: 1.3rem;
}
#modalArea .modalArea_Box .modal_typ01 .link01 a:hover {
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  #modalArea .modalArea_Box .modal_typ01 {
    width: calc(100% - 50px);
    margin: 70px auto 0;
  }
  #modalArea .modalArea_Box .modal_typ01 h3 {
    font-size: 2.0rem;
  }
  #modalArea .modalArea_Box .modal_typ01 p {
    padding: 10px 0 0;
  }
  #modalArea .modalArea_Box .modal_typ01 > p br {
    display: none;
  }
  #modalArea .modalArea_Box .modal_typ01 img {
    position: static;
    width: 100%;
    padding: 30px 0 0;
  }
  #modalArea .modalArea_Box .modal_typ01 .columnBox {
    padding: 30px 0 0;
  }
  #modalArea .modalArea_Box .modal_typ01 .columnBox .column,
  #modalArea .modalArea_Box .modal_typ01 .columnBox .column:nth-child(2),
  #modalArea .modalArea_Box .modal_typ01 .columnBox .column:nth-child(3) {
    padding: 0 0 35px;
  }
  #modalArea .modalArea_Box .modal_typ01 .columnBox .column h4 {
    font-size: 1.8rem;
  }


  #modalArea .modalArea_Box .modal_typ01 .link01 {
    width: 281px;
    height: 52px;
    margin: 70px auto 0;
  }
  #modalArea .modalArea_Box .modal_typ01 .link01::before {
    height: 52px;
  }
  #modalArea .modalArea_Box .modal_typ01 .link01 a {
    height: 52px;
    padding: 8px 0 0;
  }
}


#modalArea .modalArea_Box .modal_typ02 {
  position: relative;
  width: 1000px;
  margin: 20vh auto 100px;
}
#modalArea .modalArea_Box .modal_typ02 h3 {
  font-family: "Zen Old Mincho", serif;
  font-size: 3.0rem;
  font-weight: 700;
  line-height: 1.4;
  color: #8C8C43;
}
#modalArea .modalArea_Box .modal_typ02 p {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}
#modalArea .modalArea_Box .modal_typ02 img {
  width: 587px;
  height: auto;
  padding: 50px 0 0;
}
#modalArea .modalArea_Box .modal_typ02 .columnBox {
  position: absolute;
  left: 638px;
  top: 230px;
}
#modalArea .modalArea_Box .modal_typ02 .columnBox h4 {
  font-family: "Zen Old Mincho", serif;
  font-size: 3.0rem;
  font-weight: 700;
  line-height: 1.4;
  color: #8C8C43;
}
#modalArea .modalArea_Box .modal_typ02 .columnBox h5 {
  padding: 5px 0 0;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.4;
}
#modalArea .modalArea_Box .modal_typ02 .columnBox h5.typ01 {
  padding: 30px 0 0;
}
#modalArea .modalArea_Box .modal_typ02 .columnBox h6 {
  padding: 10px 0 0;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
}
#modalArea .modalArea_Box .modal_typ02 .columnBox p {
  padding: 5px 0 5px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}

#modalArea .modalArea_Box .modal_typ02 .link01 {
  position: relative;
  width: 335px;
  height: 62px;
  margin: 180px auto 0;
}
#modalArea .modalArea_Box .modal_typ02 .link01::before {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 62px;
  background-image: url("../img/footer_contact_link_bk01.svg");
  background-size: cover;
  content: "";
}
#modalArea .modalArea_Box .modal_typ02 .link01:hover::before {
  background-image: url("../img/footer_contact_link_bk01_ov.svg");
}
#modalArea .modalArea_Box .modal_typ02 .link01 a {
  position: relative;
  z-index: 10;
  display: block;
  width: 100%;
  height: 62px;
  padding: 13px 0 0;
  box-sizing: border-box;
  font-size: 1.8rem;
  font-weight: 700;
  color: #FFF;
  letter-spacing: -0.5px;
  text-align: center;
}
#modalArea .modalArea_Box .modal_typ02 .link01 a span {
  display: block;
  padding: 0 0 5px;
  font-size: 1.3rem;
}
#modalArea .modalArea_Box .modal_typ02 .link01 a:hover {
  text-decoration: none;
}

#modalArea .modalArea_Box .modal_typ02 .link02 {
  width: 100%;
  padding: 45px 0 0;
  text-align: center;
}
#modalArea .modalArea_Box .modal_typ02 .link02 a {
  font-size: 1.4rem;
  font-weight: 500;
}
#modalArea .modalArea_Box .modal_typ02 .link02 a:hover {
  text-decoration: none;
  opacity: 0.7;
}

@media only screen and (max-width: 767px) {
  #modalArea .modalArea_Box .modal_typ02 {
    width: calc(100% - 50px);
    margin: 100px auto 100px;
  }
  #modalArea .modalArea_Box .modal_typ02 h3 {
    font-size: 3.0rem;
  }
  #modalArea .modalArea_Box .modal_typ02 p {
    padding: 10px 0 0;
  }
  #modalArea .modalArea_Box .modal_typ02 > p br {
    display: none;
  }
  #modalArea .modalArea_Box .modal_typ02 img {
    position: static;
    width: 100%;
    padding: 30px 0 0;
  }

  #modalArea .modalArea_Box .modal_typ02 .columnBox {
    position: static;
    padding: 30px 0 0;
  }
  #modalArea .modalArea_Box .modal_typ02 .columnBox h5 {
    font-size: 2.0rem;
  }

  #modalArea .modalArea_Box .modal_typ02 .link01 {
    width: 281px;
    height: 52px;
    margin: 70px auto 0;
  }
  #modalArea .modalArea_Box .modal_typ02 .link01::before {
    height: 52px;
  }
  #modalArea .modalArea_Box .modal_typ02 .link01 a {
    height: 52px;
    padding: 8px 0 0;
  }
}


#modalArea .modalArea_Box .modal_typ03 {
  position: relative;
  width: 1000px;
  margin: 10vh auto 0;
  padding: 50px 0 0;
}
#modalArea .modalArea_Box .modal_typ03 h3 {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.0;
  color: #8C8C43;
}
#modalArea .modalArea_Box .modal_typ03 h4 {
  padding: 10px 0 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.4;
  color: #8C8C43;
}
#modalArea .modalArea_Box .modal_typ03 p {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}
#modalArea .modalArea_Box .modal_typ03 img {
  position: absolute;
  left: 510px;
  top: 0;
  width: 543px;
  height: auto;
}

#modalArea .modalArea_Box .modal_typ03 .link01 {
  position: relative;
  width: 335px;
  height: 62px;
  margin: 150px auto 0;
}
#modalArea .modalArea_Box .modal_typ03 .link01::before {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 62px;
  background-image: url("../img/footer_contact_link_bk01.svg");
  background-size: cover;
  content: "";
}
#modalArea .modalArea_Box .modal_typ03 .link01:hover::before {
  background-image: url("../img/footer_contact_link_bk01_ov.svg");
}
#modalArea .modalArea_Box .modal_typ03 .link01 a {
  position: relative;
  z-index: 10;
  display: block;
  width: 100%;
  height: 62px;
  padding: 13px 0 0;
  box-sizing: border-box;
  font-size: 1.8rem;
  font-weight: 700;
  color: #FFF;
  letter-spacing: -0.5px;
  text-align: center;
}
#modalArea .modalArea_Box .modal_typ03 .link01 a span {
  display: block;
  padding: 0 0 5px;
  font-size: 1.3rem;
}
#modalArea .modalArea_Box .modal_typ03 .link01 a:hover {
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  #modalArea .modalArea_Box .modal_typ03 {
    width: calc(100% - 50px);
    margin: 70px auto 0;
  }
  #modalArea .modalArea_Box .modal_typ03 h3 {
    font-size: 1.8rem;
  }
  #modalArea .modalArea_Box .modal_typ03 h4 {
    padding: 10px 0 0;
    font-size: 3.4rem;
  }
  #modalArea .modalArea_Box .modal_typ03 p {
    padding: 5px 0 0;
  }
  #modalArea .modalArea_Box .modal_typ03 > p br {
    display: none;
  }
  #modalArea .modalArea_Box .modal_typ03 img {
    position: static;
    width: 100%;
    padding: 30px 0 0;
  }

  #modalArea .modalArea_Box .modal_typ03 .link01 {
    width: 281px;
    height: 52px;
    margin: 50px auto 0;
  }
  #modalArea .modalArea_Box .modal_typ03 .link01::before {
    height: 52px;
  }
  #modalArea .modalArea_Box .modal_typ03 .link01 a {
    height: 52px;
    padding: 8px 0 0;
  }
}

#modalArea .modalArea_Box .modal_typ04 {
  position: relative;
  width: 1000px;
  margin: 20vh auto 0;
  padding: 50px 0 0;
}
#modalArea .modalArea_Box .modal_typ04 h3 {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  color: #8C8C43;
}
#modalArea .modalArea_Box .modal_typ04 h4 {
  padding: 10px 0 0;
  font-family: "Zen Old Mincho", serif;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 1.4;
  color: #8C8C43;
}
#modalArea .modalArea_Box .modal_typ04 p {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}
#modalArea .modalArea_Box .modal_typ04 img {
  position: absolute;
  left: 510px;
  top: 0;
  width: 510px;
  height: auto;
}

#modalArea .modalArea_Box .modal_typ04 .link01 {
  position: relative;
  width: 335px;
  height: 62px;
  margin: 150px auto 0;
}
#modalArea .modalArea_Box .modal_typ04 .link01::before {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 62px;
  background-image: url("../img/footer_contact_link_bk01.svg");
  background-size: cover;
  content: "";
}
#modalArea .modalArea_Box .modal_typ04 .link01:hover::before {
  background-image: url("../img/footer_contact_link_bk01_ov.svg");
}
#modalArea .modalArea_Box .modal_typ04 .link01 a {
  position: relative;
  z-index: 10;
  display: block;
  width: 100%;
  height: 62px;
  padding: 13px 0 0;
  box-sizing: border-box;
  font-size: 1.8rem;
  font-weight: 700;
  color: #FFF;
  letter-spacing: -0.5px;
  text-align: center;
}
#modalArea .modalArea_Box .modal_typ04 .link01 a span {
  display: block;
  padding: 0 0 5px;
  font-size: 1.3rem;
}
#modalArea .modalArea_Box .modal_typ04 .link01 a:hover {
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  #modalArea .modalArea_Box .modal_typ04 {
    width: calc(100% - 50px);
    margin: 70px auto 0;
  }
  #modalArea .modalArea_Box .modal_typ04 h3 {
    font-size: 1.8rem;
  }
  #modalArea .modalArea_Box .modal_typ04 h4 {
    padding: 10px 0 0;
    font-size: 3.4rem;
  }
  #modalArea .modalArea_Box .modal_typ04 p {
    padding: 5px 0 0;
  }
  #modalArea .modalArea_Box .modal_typ04 > p br {
    display: none;
  }
  #modalArea .modalArea_Box .modal_typ04 img {
    position: static;
    width: 100%;
    padding: 30px 0 0;
  }

  #modalArea .modalArea_Box .modal_typ04 .link01 {
    width: 281px;
    height: 52px;
    margin: 50px auto 0;
  }
  #modalArea .modalArea_Box .modal_typ04 .link01::before {
    height: 52px;
  }
  #modalArea .modalArea_Box .modal_typ04 .link01 a {
    height: 52px;
    padding: 8px 0 0;
  }
}


.floatingBana {
  position: fixed;
  z-index: 200;
  left: 50%;
  bottom: 40px;
  width: 84%;
  margin: 0 0 0 -40%;
  opacity: 0;
  transform: translateY(50px);
  transition: all 1.0s ease;
}
/* 読み込みフェード */
.floatingBana.fade_on {
  opacity: 1;
  transform: translateY(0px);
}
.floatingBana img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .floatingBana {
    left: 0;
    bottom: 20px;
    width: 100%;
    margin: 0;
  }
}

/*==========================================
 News
===========================================*/
#mainContents .newsCateArea {
  position: relative;
  width: 860px;
  height: 120px;
  margin: 0 auto;
  box-sizing: border-box;
}
#mainContents .newsCateArea ul.newsCate01 {
  position: absolute;
  right: 50px;
  top: 45px;
  width: 110px;
  list-style-type: none;
  display: flex;
  justify-content: flex-end; 
}
#mainContents .newsCateArea ul.newsCate01 li {
  position: relative;
  z-index: 10;
  width: 14px;
  padding: 0 0 0 30px;
}
#mainContents .newsCateArea ul.newsCate01 li::before {
  position: absolute;
  z-index: 0;
  left: 37px;
  top: -45px;
  width: 1px;
  height: 49px;
  background-color: #8C8C43;
  content: "";
}

#mainContents .newsCateArea ul.newsCate02 {
  position: absolute;
  left: 0;
  top: 90px;
  width: 100%;
  padding: 0 0 10px;
  list-style-type: none;
  display: flex;
  justify-content: start;
}
#mainContents .newsCateArea ul.newsCate02 li {
  position: relative;
  padding: 0 30px 0 0;
}
#mainContents .newsCateArea ul.newsCate02 li:nth-child(1) {
  display: none;
}
#mainContents .newsCateArea ul.newsCate02 li::after {
  position: absolute;
  right: 10px;
  top: -4px;
  width: 8px;
  height: 20px;
  background-image: url("../img/news/news_icon01.svg");
  background-size: cover;
  content: "";
}
#mainContents .newsCateArea ul.newsCate02 li:last-child:after {
  display: none;
}
#mainContents .newsCateArea ul.newsCate02 li a {
  font-size: 1.3rem;
  font-weight: 500;
  color: #8C8C43;
  letter-spacing: 0.65px;
}
#mainContents .newsCateArea ul.newsCate02 li a:hover {
  text-decoration: none;
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .newsCateArea {
    width: 100%;
    height: 70px;
  }
  #mainContents .newsCateArea ul.newsCate01 {
    right: 30px;
    top: 26px;
    width: 80px;
  }
  #mainContents .newsCateArea ul.newsCate01 li {
    width: 12px;
  }
  #mainContents .newsCateArea ul.newsCate01 li::before {
    top: -26px;
    height: 32px;
    margin: 0 0 0 1px;
  }

  #mainContents .newsCateArea ul.newsCate02 {
    z-index: 200;
    left: 20px;
    top: 22px;
    width: 150px;
    height: auto;
    padding: 0;
    border: 1px solid #8C8C43;
    flex-wrap: wrap;
    background-color: #FFF;
  }
  #mainContents .newsCateArea ul.newsCate02 li {
    position: relative;
    width: 100%;
    padding: 7px 10px;
  }
  #mainContents .newsCateArea ul.newsCate02 li:nth-child(1) {
    display: block;
  }
  #mainContents .newsCateArea ul.newsCate02 li:nth-child(2) {
    border-top: 1px solid #8C8C43;
  }
  #mainContents .newsCateArea ul.newsCate02 li:nth-child(n+2) {
    display: none;
  }
  #mainContents .newsCateArea ul.newsCate02 li::after,
  #mainContents .newsCateArea ul.newsCate02 li:last-child:after {
    display: none;
  }
}

#mainContents .newsListArea {
  position: relative;
  width: 860px;
  margin: 0 auto;
  padding: 30px 0 0;
  border-top: 1px solid #8C8C43;
}
#mainContents .newsListArea h3 {
  padding: 0 0 20px;
  font-size: 1.8rem;
  font-weight: 500;
  color: #8C8C43;
  text-align: right;
}
#mainContents .newsListArea::before {
  position: absolute;
  left: -4px;
  bottom: 43px;
  width: 47px;
  height: 8px;
  background-image: url("../img/news/news_decoration_bottom.svg");
  background-size: cover;
  content: "";
}
#mainContents .newsListArea .columnBox {
  position: relative;
  width: 100%;
  margin: 50px 0 0;
  padding: 0 0 50px 60px;
  box-sizing: border-box;
}
#mainContents .newsListArea .columnBox::before {
  position: absolute;
  left: 0;
  top: -20px;
  width: 39px;
  height: calc(100% - 30px);
  background-image: url("../img/news/news_decoration_base.svg");
  background-size: 39px auto;
  content: "";
}
#mainContents .newsListArea .columnBox::after {
  position: absolute;
  left: -4px;
  top: -27px;
  width: 47px;
  height: 7px;
  background-image: url("../img/news/news_decoration_top.svg");
  background-size: cover;
  content: "";
}
#mainContents .newsListArea .columnBox .column {
  position: relative;
  width: 100%;
  margin: 0 0 55px;
  padding: 0 0 0 30px;
  box-sizing: border-box;
}
#mainContents .newsListArea .columnBox .column::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 17px;
  height: 44px;
  background-size: cover;
  content: "";
}
#mainContents .newsListArea .columnBox .column.cate01::before {
  background-image: url("../img/news/news_cate01.svg");
}
#mainContents .newsListArea .columnBox .column.cate01:hover::before {
  background-image: url("../img/news/news_cate01_active.svg");
}

#mainContents .newsListArea .columnBox .column.cate02::before {
  background-image: url("../img/news/news_cate02.svg");
}
#mainContents .newsListArea .columnBox .column.cate02:hover::before {
  background-image: url("../img/news/news_cate02_active.svg");
}

#mainContents .newsListArea .columnBox .column.cate03::before {
  background-image: url("../img/news/news_cate03.svg");
}
#mainContents .newsListArea .columnBox .column.cate03:hover::before {
  background-image: url("../img/news/news_cate03_active.svg");
}

#mainContents .newsListArea .columnBox .column::after {
  position: absolute;
  left: -22px;
  top: 6px;
  width: 31px;
  height: 1px;
  background-color: #8C8C43;
  content: "";
}
#mainContents .newsListArea .columnBox .column p {
  font-size: 1.3rem;
  font-weight: 500;
  color: #8C8C43;
  letter-spacing: 0.65px;
}
#mainContents .newsListArea .columnBox .column p span {
  position: relative;
  padding: 0 0 0 25px;
  font-size: 1.3rem;
}
#mainContents .newsListArea .columnBox .column p span::before {
  position: absolute;
  left: 12px;
  top: 4px;
  width: 1px;
  height: 13px;
  background-color: #8C8C43;
  content: "";
}
#mainContents .newsListArea .columnBox .column a {
  display: block;
  padding: 5px 0 0;
  font-size: 1.8rem;
  font-weight: 500;
  color: #8C8C43;
  letter-spacing: -0.45px;
  line-height: 1.6;
}
#mainContents .newsListArea .columnBox .column a:hover {
  text-decoration: none;
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .newsListArea {
    width: 100%;
    padding: 25px 0 0;
  }
  #mainContents .newsListArea h3 {
    padding: 0 25px 50px;
    font-size: 1.7rem;
  }
  #mainContents .newsListArea::before,
  #mainContents .newsListArea .columnBox::before,
  #mainContents .newsListArea .columnBox::after {
    display: none;
  }
  #mainContents .newsListArea .columnBox {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 0 0 50px 0;
  }

  #mainContents .newsListArea .columnBox .column {
    margin: 0 0 50px;
  }
  #mainContents .newsListArea .columnBox .column::after {
    display: none;
  }
  #mainContents .newsListArea .columnBox .column a {
    font-size: 1.7rem;
  }
}


#mainContents .newsContentsArea {
  width: 860px;
  margin: -40px auto 0;
}
#mainContents .newsContentsArea .newsTitle {
  width: calc(100% - 40px);
  margin: 0 0 0 40px;
  padding: 0 0 10px;
  box-sizing: border-box;
  border-bottom: 1px solid #8C8C43;
}
#mainContents .newsContentsArea .newsTitle p {
  font-size: 1.3rem;
  font-weight: 500;
  color: #8C8C43;
  letter-spacing: 0.65px;
}
#mainContents .newsContentsArea .newsTitle p span {
  position: relative;
  padding: 0 0 0 25px;
  font-size: 1.3rem;
}
#mainContents .newsContentsArea .newsTitle p span::before {
  position: absolute;
  left: 12px;
  top: 4px;
  width: 1px;
  height: 13px;
  background-color: #8C8C43;
  content: "";
}
#mainContents .newsContentsArea .newsTitle h3 {
  padding: 5px 0 0;
  font-size: 2.6rem;
  font-weight: 700;
  color: #6A6849;
  letter-spacing: -0.65px;
  line-height: 1.4;
}
#mainContents .newsContentsArea .entryBodyArea {
  position: relative;
}
#mainContents .newsContentsArea .entryBodyArea::before {
  position: absolute;
  left: 36px;
  bottom: -6px;
  width: 47px;
  height: 8px;
  background-image: url("../img/news/news_decoration_bottom.svg");
  background-size: cover;
  content: "";
}

#mainContents .newsContentsArea .entryBody {
  position: relative;
  width: calc(100% - 40px);
  margin: 0 0 0 40px;
  padding: 50px 0 0 60px;
  box-sizing: border-box;
}
#mainContents .newsContentsArea .entryBody::before {
  position: absolute;
  left: 0;
  top: 37px;
  width: 39px;
  height: calc(100% - 30px);
  background-image: url("../img/news/news_decoration_base.svg");
  background-size: 39px auto;
  content: "";
}
#mainContents .newsContentsArea .entryBody::after {
  position: absolute;
  left: -4px;
  top: 30px;
  width: 47px;
  height: 7px;
  background-image: url("../img/news/news_decoration_top.svg");
  background-size: cover;
  content: "";
}

#mainContents .newsContentsArea .entryBody h3 {
  padding: 0 0 10px;
  font-size: 2.0rem;
  font-weight: 700;
  color: #6A6849;
  letter-spacing: -0.65px;
  line-height: 1.4;
}
#mainContents .newsContentsArea .entryBody h4 {
  padding: 0 0 10px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #6A6849;
  letter-spacing: -0.65px;
  line-height: 1.4;
}
#mainContents .newsContentsArea .entryBody h5 {
  padding: 0 0 10px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #6A6849;
  letter-spacing: -0.65px;
  line-height: 1.4;
}

#mainContents .newsContentsArea .entryBody p {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #6A6849;
  line-height: 1.8;
}
#mainContents .newsContentsArea .entryBody p a {
  position: relative;
  text-decoration: underline;
}
#mainContents .newsContentsArea .entryBody p a:hover {
  opacity: 0.7;
}
#mainContents .newsContentsArea .entryBody p a[target="_blank"]::after {
  position: absolute;
  right: -15px;
  top: 7px;
  width: 10px;
  height: 10px;
  background-image: url("../img/icon06.svg");
  background-size: cover;
  content: "";
}
#mainContents .newsContentsArea .entryBody ul {
  padding: 0 0 30px 0;
  list-style-type: none;
}
#mainContents .newsContentsArea .entryBody ul li {
  position: relative;
  padding: 0 0 10px 20px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
}
#mainContents .newsContentsArea .entryBody ul li::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "・";
}
#mainContents .newsContentsArea .entryBody img {
  max-width: 100%;
  height: auto;
  padding: 0 0 30px 0;
}

#mainContents .newsContentsArea .entrySns {
  width: 120px;
  margin: 0 auto;
  padding: 150px 0 250px;
}
#mainContents .newsContentsArea .entrySns ul {
  list-style-type: none;
  display: flex;
  justify-content: space-between;
}
#mainContents .newsContentsArea .entrySns ul li {
  width: 20px;
}
#mainContents .newsContentsArea .entrySns ul li a {
  display: block;
  width: 20px;
  height: 20px;
  background-size: cover;
}
#mainContents .newsContentsArea .entrySns ul li a.sns01 {
  background-image: url("../img/sns_icon01.svg");
}
#mainContents .newsContentsArea .entrySns ul li a.sns01:hover {
  background-image: url("../img/sns_icon01_ov.svg");
}

#mainContents .newsContentsArea .entrySns ul li a.sns02 {
  background-image: url("../img/sns_icon02.svg");
}
#mainContents .newsContentsArea .entrySns ul li a.sns02:hover {
  background-image: url("../img/sns_icon02_ov.svg");
}

#mainContents .newsContentsArea .entrySns ul li a.sns03 {
  background-image: url("../img/sns_icon03.svg");
}
#mainContents .newsContentsArea .entrySns ul li a.sns03:hover {
  background-image: url("../img/sns_icon03_ov.svg");
}

#mainContents .newsContentsArea .entrySns ul li a.sns04 {
  background-image: url("../img/sns_icon04.svg");
}
#mainContents .newsContentsArea .entrySns ul li a.sns04:hover {
  background-image: url("../img/sns_icon04_ov.svg");
}

#mainContents .newsContentsArea .entrySns ul li a.sns05 {
  background-image: url("../img/sns_icon05.svg");
}
#mainContents .newsContentsArea .entrySns ul li a.sns05:hover {
  background-image: url("../img/sns_icon05_ov.svg");
}

#mainContents .newsContentsArea .entrySns ul li a.sns06 {
  background-image: url("../img/sns_icon06.svg");
}
#mainContents .newsContentsArea .entrySns ul li a.sns06:hover {
  background-image: url("../img/sns_icon06_ov.svg");
}
#mainContents .newsContentsArea .entryBody .wp-caption img {
  padding: 0 0 5px 0;
}
#mainContents .newsContentsArea .entryBody .wp-caption p {
  padding: 0 0 25px;
  font-size: 1.4rem;
}
#mainContents .newsContentsArea .entryBody .entryText01 {
  width: 100%;
  margin: 50px 0 100px;
  padding: 25px 25px 0;
  box-sizing: border-box;
  border: 1px solid #6A6849;
  border-radius: 6px;
}
#mainContents .newsContentsArea .entryBody .entryText01 p {
  padding: 0 0 25px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #6A6849;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  #mainContents .newsContentsArea {
    width: calc(100% - 40px);
    margin: -20px auto 0;
  }
  #mainContents .newsContentsArea .newsTitle {
    width: 100%;
    margin: 0;
    padding: 0 0 10px;
  }
  #mainContents .newsContentsArea .newsTitle h3 {
    padding: 5px 0 0;
    font-size: 2.1rem;
  }
  #mainContents .newsContentsArea .entryBodyArea::before,
  #mainContents .newsContentsArea .entryBody::before,
  #mainContents .newsContentsArea .entryBody::after {
    display: none;
  }
  #mainContents .newsContentsArea .entryBody {
    width: 100%;
    margin: 0;
    padding: 20px 0 0;
  }

  #mainContents .newsContentsArea .entryBody .wp-caption {
    max-width: 100% !important;
  }
  #mainContents .newsContentsArea .entryBody .wp-caption p {
    font-size: 1.2rem;
    line-height: 1.4;
  }

  #mainContents .newsContentsArea .entryBody p {
    font-size: 1.5rem;
  }
  #mainContents .newsContentsArea .entryBody ul li {
    font-size: 1.5rem;
  }

  #mainContents .newsContentsArea .entryBodyArea table th {
    display: block;
    width: 100%;
  }
  #mainContents .newsContentsArea .entryBodyArea table td {
    display: block;
    width: 100% !important;
  }

  #mainContents .newsContentsArea .entrySns {
    padding: 90px 0 200px;
  }

  #mainContents .newsContentsArea .entryBody .entryText01 {
    margin: 30px 0 70px;
    padding: 20px 20px 0;
  }
  #mainContents .newsContentsArea .entryBody .entryText01 p {
    padding: 0 0 20px;
    font-size: 1.5rem;
  }
}


#mainContents .formText {
  width: 780px;
  margin: 0 auto;
  padding: 70px 0 0;
}
#mainContents .formText p {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: -0.495px;
}
#mainContents .mw_wp_form_confirm .formText,
#mainContents .mw_wp_form_complete .formText {
  display: none;
}
@media only screen and (max-width: 767px) {
  #mainContents .formText {
    width: calc(100% - 50px);
    padding: 50px 0 0;
  }
  #mainContents .formText p {
    font-size: 1.3rem;
  }
}

#mainContents .formflow {
  width: 780px;
  margin: 0 auto;
  padding: 75px 0 0;
}
#mainContents .formflow ul {
  list-style-type: none;
  display: flex;
  justify-content: space-between;
}
#mainContents .formflow ul li {
  width: 223px;
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(106, 104, 73, 0.5);
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: -0.495px;
  text-align: center;
  color: rgba(106, 104, 73, 0.5);
}

#mainContents .mw_wp_form_input .formflow ul li:nth-child(1) {
  border-bottom: 1px solid #6A6849;
  color: #6A6849;
}
#mainContents .mw_wp_form_confirm .formflow ul li:nth-child(2) {
  border-bottom: 1px solid #6A6849;
  color: #6A6849;
}
#mainContents .mw_wp_form_complete .formflow ul li:nth-child(3) {
  border-bottom: 1px solid #6A6849;
  color: #6A6849;
}

@media only screen and (max-width: 767px) {
  #mainContents .formflow {
    width: 223px;
    padding: 50px 0 0;
  }
  #mainContents .formflow ul li {
    display: none;
  }
  #mainContents .mw_wp_form_input .formflow ul li:nth-child(1) {
    display: block;
  }
  #mainContents .mw_wp_form_confirm .formflow ul li:nth-child(2) {
    display: block;
  }
  #mainContents .mw_wp_form_complete .formflow ul li:nth-child(3) {
    display: block;
  }
}

#mainContents .formArea {
  width: 780px;
  margin: 0 auto;
  padding: 50px 0 150px;
}
#mainContents .formArea p.text01 {
  font-size: 1.3rem;
  font-weight: 500;
  color: #B81C2F;
}
#mainContents .formArea .form_Box {
  width: 100%;
  padding: 25px 0 0;
}
#mainContents .formArea .form_Box table {
  width: 100%;
}
#mainContents .formArea .form_Box table th {
  width: 235px;
  padding: 0 20px 30px 0;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.6;
  text-align: left;
  color: #6A6849;
}
#mainContents .formArea .form_Box table th span.required {
  padding: 0 0 0 5px;
  font-size: 1.3rem;
  font-weight: 500;
  color: #B81C2F;
}
#mainContents .formArea .form_Box table th span.subText {
  font-size: 1.4rem;
  font-weight: 500;
}
#mainContents .formArea .form_Box table td {
  padding: 0 0 30px;
  font-size: 1.6rem;
}
#mainContents .formArea .form_Box table td input[type="text"],
#mainContents .formArea .form_Box table td input[type="email"],
#mainContents .formArea .form_Box table td input[type="tel"] {
  -webkit-appearance: none;
  display: block;
  width: 100%;
  height: 36px;
  padding: 0 10px;
  border: 1px solid rgba(106, 104, 73, 0.8);
  background-color: #FFF;
  box-sizing: border-box;
  border-radius: 3px;
  font-size: 1.6rem;
}
#mainContents .formArea .form_Box textarea {
  -webkit-appearance: none;
  display: block;
  width: 100%;
  max-width: 545px;   /* 親幅以上に広げられないように */
  min-height: 200px;
  max-height: 500px;
  resize: vertical;   /* or none */
  padding: 10px;
  border: 1px solid rgba(106, 104, 73, 0.8);
  background-color: #FFF;
  box-sizing: border-box;
  border-radius: 3px;
  font-size: 1.6rem;
  line-height: 1.4;
}
#mainContents .formArea .form_Box input[type="text"]:focus,
#mainContents .formArea .form_Box input[type="email"]:focus,
#mainContents .formArea .form_Box input[type="tel"]:focus {
  outline: none;
}
#mainContents .formArea .form_Box label {
  display: block;
  padding: 10px 0 10px 0;
  font-size: 1.6rem;
  font-weight: 400;
}
#mainContents .formArea .form_Box .mwform-radio-field label {
  display: block;
  padding: 10px 0 0 0;
}
#mainContents .formArea .form_Box label input[type="checkbox"],
#mainContents .formArea .form_Box label input[type="radio"] {
  margin: -2px 4px 0 0;
  background-color: #FFF;
  accent-color: #6A6849;
}
#mainContents .formArea .form_Box span.error {
  padding: 10px 0 0;
  font-size: 1.4rem;
  font-weight: 300;
  color: #B81C30;
}
#mainContents .formArea .form_Box .form_privacy {
  width: 100%;
  padding: 60px 0 0;
}
#mainContents .mw_wp_form_confirm .formArea .form_Box .form_privacy {
  display: none;
}
#mainContents .formArea .form_Box .form_privacy h3 {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.6;
  text-align: left;
  color: #6A6849;
}
#mainContents .formArea .form_Box .form_privacy p {
  padding: 20px 0 50px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}
#mainContents .formArea .form_Box .form_privacy span {
  padding: 50px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
}
#mainContents .formArea .form_Box_Submit {
  width: 610px;
  margin: 100px auto 0;
  display: flex;
  justify-content: center;
}
#mainContents .formArea .form_Box_Submit .submitBack,
#mainContents .formArea .form_Box_Submit .submitConfirm {
  position: relative;
  width: 280px;
  margin: 0 15px;
}
#mainContents .mw_wp_form_input .formArea .form_Box_Submit .submitBack {
  display: none;
}
#mainContents .formArea .form_Box_Submit input[type="submit"] {
  -webkit-appearance: none;
  width: 100%;
  height: 40px;
  box-sizing: border-box;
  background-color: #8C8C43;
  border: none;
  font-size: 1.8rem;
  font-weight: 400;
  color: #FFF;
  cursor: pointer;
  border-radius: 3px;
}

#mainContents .formArea .form_Box_Submit input[name="submitBack"] {
  -webkit-appearance: none;
  width: 100%;
  height: 40px;
  box-sizing: border-box;
  background-color: #8C8C43;
  border: none;
  font-size: 1.8rem;
  font-weight: 400;
  color: #FFF;
  cursor: pointer;
  border-radius: 3px;
}
#mainContents .formArea .form_Box_Submit input[type="submit"]:hover {
  text-decoration: none;
  opacity: 0.7;
}

#mainContents .formArea .form_End h3 {
  padding: 100px 0 0;
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
}
#mainContents .formArea .form_End p {
  padding: 100px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  #mainContents .formArea .form_End h3 {
    font-size: 1.8rem;
    line-height: 1.6;
  }
  #mainContents .formArea .form_End p {
    font-size: 1.5rem;
  }
}


@media only screen and (max-width: 767px) {
  #mainContents .formArea {
    width: calc(100% - 50px);
    padding: 40px 0 100px;
  }
  #mainContents .formArea .form_Box {
    width: 100%;
    padding: 25px 0 0;
  }
  #mainContents .formArea .form_Box table {
    width: 100%;
  }
  #mainContents .formArea .form_Box table th {
    display: block;
    width: 100%;
    padding: 0 0 5px;
    font-size: 1.3rem;
  }
  #mainContents .formArea .form_Box table th span.subText {
    font-size: 1.2rem;
  }
  #mainContents .formArea .form_Box table td {
    display: block;
    width: 100%;
    padding: 0 0 20px;
  }
  #mainContents .formArea .form_Box table td input[type="text"],
  #mainContents .formArea .form_Box table td input[type="email"],
  #mainContents .formArea .form_Box table td input[type="tel"] {
    font-size: 1.3rem;
  }
  #mainContents .formArea .form_Box textarea {
    font-size: 1.3rem;
    max-width: 100%;   /* 親幅以上に広げられないように */
    min-height: 200px;
    max-height: 500px;
  }
  #mainContents .formArea .form_Box label {
    font-size: 1.3rem;
  }
  #mainContents .formArea .form_Box .form_privacy {
    padding: 40px 0 0;
  }
  #mainContents .formArea .form_Box .form_privacy h3 {
    font-size: 1.3rem;
  }
  #mainContents .formArea .form_Box .form_privacy p {
    padding: 10px 0 50px;
    font-size: 1.3rem;
  }
  #mainContents .formArea .form_Box .form_privacy span {
    padding: 30px 0 0;
    font-size: 1.4rem;
  }
  #mainContents .formArea .form_Box_Submit {
    width: 325px;
    margin: 50px auto 0;
  }
  #mainContents .formArea .form_Box_Submit .submitBack,
  #mainContents .formArea .form_Box_Submit .submitConfirm {
    width: 160px;
  }
}

#mainContents .privacyContent {
  width: 780px;
  margin: 120px auto;
  padding: 30px 0 0;
  border-top: 1px solid #8C8C43;
}
#mainContents .privacyContent h2 {
  padding: 0 0 20px;
  font-size: 3.0rem;
  font-weight: 700;
  color: #6A6849;
}
#mainContents .privacyContent h3 {
  padding: 50px 0 15px;
  font-size: 2.4rem;
  font-weight: 700;
  color: #6A6849;
}
#mainContents .privacyContent p {
  padding: 0 0 10px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  color: #6A6849;
}
#mainContents .privacyContent ol {
  padding: 0 0 0 20px;
  list-style-type: decimal
}
#mainContents .privacyContent ol li {
  padding: 0 0 5px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  color: #6A6849;
}
#mainContents .privacyContent ol.upper-roman {
  padding: 10px 0 0 20px;
  list-style-type: upper-roman;
}
#mainContents .privacyContent ol.lower-alpha {
  padding: 10px 0 0 20px;
  list-style-type: lower-alpha;
}



@media only screen and (max-width: 767px) {
  #mainContents .privacyContent {
    width: calc(100% - 50px);
    margin: 75px auto;
  }
  #mainContents .privacyContent h2 {
    padding: 0 0 15px;
    font-size: 2.2rem;
  }
  #mainContents .privacyContent h3 {
    padding: 50px 0 10px;
    font-size: 2.0rem;
    line-height: 1.4;
  }
}

/*==========================================
 ページネーションのスタイル
===========================================*/
#mainContents #pagination {
  width: 100%;
  padding: 50px 0 150px;
}
#mainContents #pagination ul {
  text-align: center;
}
#mainContents #pagination ul li {
  width: 30px;
  height: 30px;
  margin: 0 5px;
  vertical-align: middle;
  display: inline-block;
}
#mainContents #pagination ul li a,
#mainContents #pagination ul li span {
  position: relative;
  display: block;
  width: 30px;
  height: 30px;
  padding: 5px 0 0;
  box-sizing: border-box;
  background-color: #FFF;
  border-radius: 3px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  color: #C0C09C;
}
#mainContents #pagination ul li span {
  background-color: #FFF;
  color: #6A6849;
}
#mainContents #pagination ul li span.dots {
  background-color: #FFF;
  color: #6A6849;
}
#mainContents #pagination ul li a:hover {
  text-decoration: none;
  background-color: #FFF;
  color: #6A6849;
}
#mainContents #pagination ul li a.prev:hover,
#mainContents #pagination ul li a.next:hover {
  background-color: #FFF;
}
#mainContents #pagination ul li a.prev::before,
#mainContents #pagination ul li a.next::after {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 12px;
  margin: -6px 0 0 -6px;
  background-image: url("../img/icon05.svg");
  background-size: cover;
  content: "";
  transform: rotate(180deg);
  transition: all 0.3s ease;
}
#mainContents #pagination ul li a.prev::before {
  transform: rotate(0deg);
}
#mainContents #pagination ul li a.prev:hover::before,
#mainContents #pagination ul li a.next:hover::after {
  background-image: url("../img/icon04.svg");
}
@media only screen and (max-width: 767px) {
  #mainContents #pagination {
    padding: 0 0 100px;
  }
}


#mainContents #page_pagination {
  width: 100%;
  padding: 100px 0 150px;
  text-align: center;
}
#mainContents #page_pagination a,
#mainContents #page_pagination span {
  padding: 5px 5px;
  margin: 0 5px;
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  color: #9e9c89;
  text-decoration: none;
}
#mainContents #page_pagination span {
  color: #6a6849;
}
#mainContents #page_pagination a:empty {
  display: none;
}
/* 前へ */
#mainContents #page_pagination a span.prev-arrow {
  display: inline-block;
  width: 3px;
  height: 6px;
  margin: 0;
  background-image: url("../img/arrow_left.svg");
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
}

/* 次へ */
#mainContents #page_pagination a span.next-arrow {
    display: inline-block;
    width: 3px;
    height: 6px;
    margin: 0;
    background-image: url("../img/arrow_right.svg");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}
#mainContents #page_pagination span.page-numbers {
  padding: 0;
  margin: 0;
}

/*==========================================
 Newsleter
===========================================*/
#mainContents .newsletterContentsArea {
  width: 860px;
  min-height: 500px;
  margin: 0 auto;
  padding: 50px 0 0;
}
#mainContents .newsletterContentsArea form {
  width: 400px;
  margin: 0 auto;
}
#mainContents .newsletterContentsArea form p {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #6A6849;
  line-height: 1.8;
}
#mainContents .newsletterContentsArea form label {
  display: block;
  width: 280px;
  margin: 0 auto;
}
#mainContents .newsletterContentsArea form input[type="password"],
#mainContents .newsletterContentsArea form input[type="text"] {
  -webkit-appearance: none;
  display: block;
  width: 280px;
  margin: 5px auto 15px;
  padding: 10px 10px;
  border: 1px solid rgba(106, 104, 73, 0.8);
  background-color: #FFF;
  box-sizing: border-box;
  border-radius: 3px;
  font-size: 1.6rem;
}
#mainContents .newsletterContentsArea form input[type="submit"] {
  -webkit-appearance: none;
  display: block;
  width: 280px;
  height: 40px;
  margin: 0 auto;
  box-sizing: border-box;
  background-color: #8C8C43;
  border: none;
  font-size: 1.8rem;
  font-weight: 400;
  color: #FFF;
  cursor: pointer;
  border-radius: 3px;
}


#mainContents .newsletterContentsArea .newsTitle {
  width: 700px;
  margin: 0 auto;
  padding: 0 0 10px;
  box-sizing: border-box;
  border-bottom: 1px solid #8C8C43;
}
#mainContents .newsletterContentsArea .newsTitle p {
  font-size: 1.3rem;
  font-weight: 500;
  color: #8C8C43;
  letter-spacing: 0.65px;
}
#mainContents .newsletterContentsArea .newsTitle h3 {
  padding: 5px 0 0;
  font-size: 2.6rem;
  font-weight: 700;
  color: #6A6849;
  letter-spacing: -0.65px;
  line-height: 1.4;
}
#mainContents .newsletterContentsArea .entryBody {
  width: 700px;
  margin: 0 auto;
  padding: 50px 0 0;
  box-sizing: border-box;
}
#mainContents .newsletterContentsArea .entryBody h3 {
  padding: 0 0 10px;
  font-size: 2.0rem;
  font-weight: 700;
  color: #6A6849;
  letter-spacing: -0.65px;
  line-height: 1.4;
}
#mainContents .newsletterContentsArea .entryBody h4 {
  padding: 0 0 10px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #6A6849;
  letter-spacing: -0.65px;
  line-height: 1.4;
}
#mainContents .newsletterContentsArea .entryBody h5 {
  padding: 0 0 10px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #6A6849;
  letter-spacing: -0.65px;
  line-height: 1.4;
}

#mainContents .newsletterContentsArea .entryBody p {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #6A6849;
  line-height: 1.8;
}
#mainContents .newsletterContentsArea .entryBody p a {
  position: relative;
  text-decoration: underline;
}
#mainContents .newsletterContentsArea .entryBody p a:hover {
  opacity: 0.7;
}
#mainContents .newsletterContentsArea .entryBody p a[target="_blank"]::after {
  position: absolute;
  right: -15px;
  top: 7px;
  width: 10px;
  height: 10px;
  background-image: url("../img/icon06.svg");
  background-size: cover;
  content: "";
}
#mainContents .newsletterContentsArea .entryBody ul {
  padding: 0 0 30px 0;
  list-style-type: none;
}
#mainContents .newsletterContentsArea .entryBody ul li {
  position: relative;
  padding: 0 0 10px 20px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
}
#mainContents .newsletterContentsArea .entryBody ul li::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "・";
}
#mainContents .newsletterContentsArea .entryBody img {
  max-width: 100% !important;
  height: auto;
  padding: 0 0 30px 0;
}
#mainContents .newsletterContentsArea .entryBody .wp-caption img {
  padding: 0 0 5px 0;
}
#mainContents .newsletterContentsArea .entryBody .wp-caption p {
  padding: 0 0 25px;
  font-size: 1.4rem;
}
#mainContents .newsletterContentsArea .entryBody .entryText01 {
  width: 100%;
  margin: 50px 0 100px;
  padding: 25px 25px 0;
  box-sizing: border-box;
  border: 1px solid #6A6849;
  border-radius: 6px;
}
#mainContents .newsletterContentsArea .entryBody .entryText01 p {
  padding: 0 0 25px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #6A6849;
  line-height: 1.8;
}
#mainContents .newsletterContentsArea .entryBody .youtubeBox {
	position: relative;
  margin: 0 0 20px;
	padding-top: 56.25%; /* 16:9 アスペクト比 */
	height: 0;
}
#mainContents .newsletterContentsArea .entryBody .youtubeBox iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
@media only screen and (max-width: 767px) {
  #mainContents .newsletterContentsArea {
    width: calc(100% - 40px);
    min-height: 300px;
    padding: 50px 0 0;
  }
  #mainContents .newsletterContentsArea form {
    width: 100%;
  }
  #mainContents .newsletterContentsArea form p {
    padding: 0 0 25px;
    font-size: 1.4rem;
  }
  #mainContents .newsletterContentsArea .newsTitle {
    width: 100%;
    margin: 0;
    padding: 0 0 10px;
  }
  #mainContents .newsletterContentsArea .newsTitle h3 {
    padding: 5px 0 0;
    font-size: 2.1rem;
  }
  #mainContents .newsletterContentsArea .entryBody {
    width: 100%;
    margin: 0;
    padding: 20px 0 0;
  }
  #mainContents .newsletterContentsArea .entryBody .wp-caption {
    max-width: 100% !important;
  }
  #mainContents .newsletterContentsArea .entryBody .wp-caption p {
    font-size: 1.2rem;
    line-height: 1.4;
  }
  #mainContents .newsletterContentsArea .entryBody p {
    font-size: 1.5rem;
  }
  #mainContents .newsletterContentsArea .entryBody ul li {
    font-size: 1.5rem;
  }

  #mainContents .newsletterContentsArea .entryBodyArea table th {
    display: block;
    width: 100%;
  }
  #mainContents .newsletterContentsArea .entryBodyArea table td {
    display: block;
    width: 100% !important;
  }

  #mainContents .newsletterContentsArea .entryBody .entryText01 {
    margin: 30px 0 70px;
    padding: 20px 20px 0;
  }
  #mainContents .newsletterContentsArea .entryBody .entryText01 p {
    padding: 0 0 20px;
    font-size: 1.5rem;
  }

}


/*==========================================
 Event
===========================================*/
#mainContents .eventContentsArea {
  width: 800px;
  margin: 0 auto;
  padding: 50px 0 0;
}
#mainContents .eventContentsArea .imgTitle img {
  width: 100%;
  height: auto;
  padding: 0 0 50px;
}
#mainContents .eventContentsArea p {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #6A6849;
  line-height: 1.8;
}
#mainContents .eventContentsArea .link01 {
  width: 100%;
  margin: 40px 0 0;
  text-align: center;
}
#mainContents .eventContentsArea .link01 a {
  position: relative;
  z-index: 10;
  display: block;
  width: 350px;
  height: 67px;
  margin: 0 auto;
  padding: 25px 0 0;
  box-sizing: border-box;
  background-image: url("../img/contact_link_bk01.svg");
  background-size: cover;
  font-size: 2.0rem;
  font-weight: 700;
  color: #FFF;
  text-decoration: none!important;
}
#mainContents .eventContentsArea .link01 a:hover {
  text-decoration: none;
}
#mainContents .eventContentsArea .link01 p {
  padding: 5px 0 0;
}
#mainContents .eventContentsArea a {
  position: relative;
  text-decoration: underline;
}
#mainContents .eventContentsArea a:hover {
  opacity: 0.7;
}
#mainContents .eventContentsArea a[target="_blank"]::after {
  position: absolute;
  right: -15px;
  top: 7px;
  width: 10px;
  height: 10px;
  background-image: url("../img/icon06.svg");
  background-size: cover;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents .eventContentsArea {
    width: calc(100% - 40px);
  }
  #mainContents .eventContentsArea .imgTitle img {
    padding: 0 0 50px;
  }
  #mainContents .eventContentsArea .link01 {
    margin: 30px 0 0;
  }
  #mainContents .eventContentsArea .link01 a {
    display: block;
    width: 262px;
    height: 50px;
    margin: 0 auto;
    padding: 16px 0 0;
    font-size: 1.7rem;
  }
}


#mainContents .eventContentsArea .eventInfo {
  width: 100%;
  padding: 80px 0 50px;
}
#mainContents .eventContentsArea .eventInfo h4 {
  padding: 0 0 20px;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
#mainContents .eventContentsArea .eventInfo .eventInfoBox {
  width: 100%;
  margin: 0 0 50px;
  padding: 50px 0 0;
  border-top: 1px solid #8C8C43;
  border-bottom: 1px solid #8C8C43;
}
#mainContents .eventContentsArea .eventInfo .eventInfoBox table {
  width: 700px;
  margin: 0 auto;
}
#mainContents .eventContentsArea .eventInfo .eventInfoBox table tr th {
  width: 150px;
  padding: 0 0 50px;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: left;
  line-height: 1.6;
}
#mainContents .eventContentsArea .eventInfo .eventInfoBox table tr td {
  padding: 0 0 50px;
  font-size: 1.8rem;
  font-weight: 400;
  text-align: left;
  line-height: 1.6;
}
#mainContents .eventContentsArea .eventInfo .eventInfoBox table tr td h5 {
  padding: 30px 0 0;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
}
#mainContents .eventContentsArea .eventInfo .eventInfoBox table tr td span {
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  #mainContents .eventContentsArea .eventInfo {
    padding: 50px 0 30px;
  }
  #mainContents .eventContentsArea .eventInfo h4 {
    padding: 0 0 15px;
    font-size: 2.0rem;
  }
  #mainContents .eventContentsArea .eventInfo .eventInfoBox {
    margin: 0 0 30px;
    padding: 30px 0 0;
  }
  #mainContents .eventContentsArea .eventInfo .eventInfoBox table {
    width: 96%;
  }
  #mainContents .eventContentsArea .eventInfo .eventInfoBox table tr th {
    display: block;
    width: 100%;
    padding: 0 0 5px;
    font-size: 1.6rem;
  }
  #mainContents .eventContentsArea .eventInfo .eventInfoBox table tr td {
    display: block;
    width: 100%;
    padding: 0 0 30px;
    font-size: 1.6rem;
  }
  #mainContents .eventContentsArea .eventInfo .eventInfoBox table tr td h5 {
    padding: 20px 0 0;
    font-size: 1.6rem;
  }
}


#mainContents .eventContentsArea .eventProgram {
  width: 100%;
  padding: 80px 0 100px;
}
#mainContents .eventContentsArea .eventProgram h4 {
  padding: 0 0 20px;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
#mainContents .eventContentsArea .eventProgram h5 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
}
#mainContents .eventContentsArea .eventProgram .eventProgramBox {
  width: 100%;
  margin: 0 0 50px;
  padding: 50px 0;
  border-top: 1px solid #8C8C43;
  border-bottom: 1px solid #8C8C43;
}
#mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule {
  width: 700px;
  margin: 30px auto 80px;
}
#mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule h5 {
  margin: 0 0 10px;
  padding: 0 0 10px;
  border-bottom: 1px solid #8C8C43;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.4;
}
#mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule p.text01 {
  padding: 0 0 30px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #6A6849;
  line-height: 1.4;
}
#mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule p.text02 {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #6A6849;
  line-height: 1.4;
}
#mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule table {
  width: 100%;
  margin: 0 0 20px;
}
#mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule table tr th {
  width: 150px;
  padding: 0 0 30px;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: left;
  line-height: 1.6;
}
#mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule table tr th span {
  display: block;
  font-size: 1.6rem;
}
#mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule table tr td {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 400;
  text-align: left;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  #mainContents .eventContentsArea .eventProgram {
    padding: 50px 0 100px;
  }
  #mainContents .eventContentsArea .eventProgram h4 {
    padding: 0 0 15px;
    font-size: 2.0rem;
  }
  #mainContents .eventContentsArea .eventProgram .eventProgramBox {
    margin: 0 0 30px;
    padding: 30px 0 0;
  }
  #mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule {
    width: 90%;
    margin: 10px auto 50px;
  }
  #mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule h5 {
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 1px solid #8C8C43;
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.4;
  }
  #mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule p.text01 {
    padding: 0 0 20px;
    font-size: 1.6rem;
  }
  #mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule p.text02 {
    padding: 0 0 20px;
    font-size: 1.4rem;
  }
  #mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule table tr th {
    display: block;
    width: 100%;
    padding: 0;
    font-size: 1.6rem;
  }
  #mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule table tr th span {
    font-size: 1.4rem;
  }
  #mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule table tr td {
    display: block;
    width: 100%;
    padding: 0 0 20px;
    font-size: 1.4rem;
  }
  #mainContents .eventContentsArea .eventProgram .eventProgramBox .eventProgram_Schedule table tr td h5 {
    padding: 20px 0 0;
    font-size: 1.6rem;
  }
}


/*==========================================
 座談会用
===========================================*/
#mainContents .discussionContentsArea {
  width: 100%;
}
#mainContents .discussionContentsArea .discussionTitleArea {
  position: relative;
  width: 100%;
  height: 450px;
  margin: 0 0 30px;
}
#mainContents .discussionContentsArea .discussionTitleArea img {
  width: 100%;
  height: 450px;
  object-fit: cover;
}
@media only screen and (min-width: 1720px) {
  #mainContents .discussionContentsArea .discussionTitleArea {
    width: 100%;
    height: auto;
  }
  #mainContents .discussionContentsArea .discussionTitleArea img {
    height: auto;
  }
}
#mainContents .discussionContentsArea .discussionTitleArea p {
  display: block;
  width: 800px;
  margin: 0 auto;
  padding: 10px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.4;
}

#mainContents .discussionContentsArea .discussionContentsBox {
  width: 800px;
  margin: 0 auto;
  padding: 60px 0 180px;
}
#mainContents .discussionContentsArea .discussionContentsBox h3 {
  padding: 60px 0 30px;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
}
#mainContents .discussionContentsArea .discussionContentsBox p {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #6A6849;
  line-height: 1.8;
}

#mainContents .discussionContentsArea .discussionContentsBox .entryText01 {
  width: 100%;
  margin: 50px 0 100px;
  padding: 25px 25px 0;
  box-sizing: border-box;
  border: 1px solid #6A6849;
  border-radius: 6px;
}
#mainContents .discussionContentsArea .discussionContentsBox .entryText01 h3 {
  padding: 0 0 10px;
  font-size: 1.8rem;
  font-weight: 700;
  color: #6A6849;
  line-height: 1.4;
}
#mainContents .discussionContentsArea .discussionContentsBox .entryText01 p {
  padding: 0 0 25px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #6A6849;
  line-height: 2.0;
}

#mainContents .discussionContentsArea .discussionContentsBox .imgBox01 {
  width: 100%;
  padding: 0 0 50px;
}
#mainContents .discussionContentsArea .discussionContentsBox .imgBox01 img {
  width: 100%;
  height: auto;
}
#mainContents .discussionContentsArea .discussionContentsBox .imgBox01 h4 {
  padding: 10px 0 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
}
#mainContents .discussionContentsArea .discussionContentsBox .imgBox01 p {
  padding: 5px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  color: #6A6849;
  line-height: 1.8;
}

#mainContents .discussionContentsArea .discussionContentsBox .textBox01 {
  width: 100%;
}
#mainContents .discussionContentsArea .discussionContentsBox .textBox01 p {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #6A6849;
  line-height: 2.0;
}
#mainContents .discussionContentsArea .discussionContentsBox .textBox01 p span {
  padding: 0 10px 0 0;
  font-weight: 700;
}
#mainContents .discussionContentsArea .discussionContentsBox .textBox01 img {
  max-width: 100%;
}

#mainContents .discussionContentsArea .discussionContentsBox .textBox02 {
  width: 100%;
  padding: 0 0 70px;
  display: flex;
  justify-content: space-between;
}
#mainContents .discussionContentsArea .discussionContentsBox .textBox02 .column {
  width: 380px;
}
#mainContents .discussionContentsArea .discussionContentsBox .textBox02 .column img {
  width: 100%;
  height: auto;
  margin: 10px 0 0;
}
#mainContents .discussionContentsArea .discussionContentsBox .textBox02 .column p {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 400;
  color: #6A6849;
  line-height: 2.0;
}
@media only screen and (max-width: 767px) {
  #mainContents .discussionContentsArea .discussionTitleArea {
    height: auto;
    margin: 0 0 30px;
  }
  #mainContents .discussionContentsArea .discussionTitleArea img {
    width: 100%;
    height: auto;
  }
  #mainContents .discussionContentsArea .discussionTitleArea p {
    width: calc(100% - 40px);
  }

  #mainContents .discussionContentsArea .discussionContentsBox {
    width: calc(100% - 40px);
    padding: 0 0 100px;
  }
  #mainContents .discussionContentsArea .discussionContentsBox h3 {
    padding: 40px 0 20px;
    font-size: 1.8rem;
    line-height: 1.6;
  }
  #mainContents .discussionContentsArea .discussionContentsBox .entryText01 {
    margin: 30px 0 50px;
    padding: 20px 20px 0;
  }
  #mainContents .discussionContentsArea .discussionContentsBox .entryText01 h3 {
    font-size: 1.7rem;
  }
  #mainContents .discussionContentsArea .discussionContentsBox .entryText01 p {
    padding: 0 0 20px;
    font-size: 1.5rem;
  }

  #mainContents .discussionContentsArea .discussionContentsBox .textBox02 {
    padding: 0 0 50px;
    flex-wrap: wrap;
  }
  #mainContents .discussionContentsArea .discussionContentsBox .textBox02 .column {
    width: 100%;
    padding: 0 0 20px;
  }
  #mainContents .discussionContentsArea .discussionContentsBox .textBox02 .column img {
    margin: 0;
  }
  #mainContents .discussionContentsArea .discussionContentsBox .textBox02 .column p {
    padding: 0 0 10px;
  }
}



/* 会員専用リンク表示 */
#mainContents .memberLink {
  position: relative;
  width: 100%;
  padding: 50px 0 100px;
  border-top: 1px solid #8C8C43;
}
#mainContents .memberLink::before {
  position: absolute;
  z-index: 100;
  left: 0;
  top: -301px;
  width: 100%;
  height: 300px;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 0px,
    rgba(255, 255, 255, 0.6) 100px,
    rgba(255, 255, 255, 1) 200px
  );
  content: "";
}
#mainContents .memberLink h4 {
  padding: 0 0 15px;
  font-size: 2.0rem;
  font-weight: 700;
  color: #6A6849;
  text-align: center;
}
#mainContents .memberLink p {
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  color: #6A6849 !important;
  text-align: center !important;
  line-height: 1.6 !important;
}
#mainContents .memberLink .link01 {
  width: 100%;
  margin: 20px 0 0;
  text-align: center;
}
#mainContents .memberLink .link01 a {
  position: relative;
  z-index: 10;
  display: block;
  width: 350px;
  height: 67px;
  margin: 0 auto;
  padding: 25px 0 0;
  box-sizing: border-box;
  background-image: url("../img/contact_link_bk02.svg");
  background-size: cover;
  font-size: 2.0rem;
  font-weight: 700;
  color: #FFF;
  text-decoration: none!important;
}
#mainContents .memberLink .link01 a:hover {
  text-decoration: none;
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  #mainContents .memberLink {
    padding: 30px 0 100px;
  }
  #mainContents .memberLink h4 {
    font-size: 1.8rem;
  }
  #mainContents .memberLink .link01 {
    margin: 0;
  }
  #mainContents .memberLink .link01 a {
    display: block;
    width: 262px;
    height: 50px;
    margin: 0 auto;
    padding: 16px 0 0;
    font-size: 1.7rem;
  }
}