@charset "utf-8";

/*==========================================
 font
===========================================*/
@import url('https://fonts.googleapis.com/css2?family=Lora:wght@400..700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');
html {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 62.5%;
  font-weight: 300;
  color: #000;
}

/*
font-family: "Noto Serif JP", serif;
font-family: "Lora", serif;
*/

/* link */
a img {
  transition: all 0.3s ease;
}
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
}
a { outline: none; text-decoration: none; }
a:link    { color: #000; text-decoration: none; }
a:visited { color: #000; text-decoration: underline; }
a:hover   { color: #000; text-decoration: underline; }
a:active  { color: #000; text-decoration: underline; }



/*==========================================
 body
===========================================*/
html {
  background: #FFF;
  overflow: auto;
}
body {
  overflow: hidden;
	min-width: 1116px;
  -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;
}
.fade_on {
  opacity: 1;
  transform: translateY(0px);
}

/*==========================================
 ヘッダーのスタイル
===========================================*/
header {
  z-index: 1000;
  position: fixed;
  width: 100%;
  height: 110px;
  transition: all 0.6s ease;
}
header.scroll {
  transform: translateY(-235px);
}
header #header {
  position: relative;
  z-index: 300;
  width: 100%;
  height: 110px;
  background-color: #FFF;
}
header #headerLogoArea {
  position: absolute;
  left: 60px;
  top: 36px;
  width: 290px;
  height: 55px;
}
header #headerLogoArea img {
  width: 200px;
  height: 55px;
}
header #headerLogoArea span {
  position: absolute;
  right: 0;
  top: 22px;
  font-size: 1.4rem;
  font-weight: 400;
}

header #header_SpIcon {
  display: none;
}
@media only screen and (max-width: 1200px) {
  header {
    height: 70px;
  }
  header.scroll {
    transform: translateY(-70px);
  }
  header #header {
    height: 70px;
  }
  header #headerLogoArea {
    left: 25px;
    top: 16px;
    width: 225px;
    height: 42px;
  }
  header #headerLogoArea img {
    width: 152px;
    height: 42px;
  }
  header #headerLogoArea span {
    top: 15px;
    font-size: 1.2rem;
  }

  header #header_SpIcon {
    display: block;
    z-index: 400;
    position: absolute;
    right: 25px;
    top: 30px;
    width: 25px;
    height: 15px;
    box-sizing: border-box;
  }
  header #header_SpIcon .menu-trigger,
  header #header_SpIcon .menu-trigger span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }
  header #header_SpIcon .menu-trigger {
    position: relative;
    width: 25px;
    height: 15px;
  }
  header #header_SpIcon .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #B91F3A;
  }
  header #header_SpIcon .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  header #header_SpIcon .menu-trigger span:nth-of-type(2) {
    top: 7px;
  }
  header #header_SpIcon .menu-trigger span:nth-of-type(3) {
    bottom: 0;
  }

  header #header_SpIcon .menu-trigger.active span:nth-of-type(1) {
    transform: translateY(7px) rotate(-30deg);
  }
  header #header_SpIcon .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  header #header_SpIcon .menu-trigger.active span:nth-of-type(3) {
    transform: translateY(-7px) rotate(30deg);
  }

}


/*グローバルナビゲーション ////////////////////////////////// */
header #headerGlobalArea {
  position: absolute;
  right: 290px;
  top: 63px;
}
header #headerGlobalArea ul {
  width: 552px;
  display: flex;
  justify-content: space-between;
}
header #headerGlobalArea li {
  height: 20px;
}
header #headerGlobalArea li a {
  position: relative;
  font-size: 1.4rem;
  font-weight: 500;
  transition: all 0.3s ease;
}
header #headerGlobalArea li a:hover {
  text-decoration: none;
  color: #B91F3A;
}
header #headerGlobalArea li a.active {
  color: #B91F3A;
}
header #headerGlobalArea li a::after {
  position: absolute;
  right: -15px;
  top: 50%;
  width: 8px;
  height: 4px;
  margin: -1px 0 0;
  background-image: url("../img/icon01.svg");
  background-size: cover;
  content: "";
}
header #headerGlobalArea li a.active::after {
  transform: rotate(180deg);
}
header #headerGlobalArea li:nth-child(4) a::after {
  display: none;
}


header #overay {
  display: none;
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100%;
  height: 150vh;
  background-color: rgba(0, 0, 0, 0.3);
}

@media only screen and (max-width: 1200px) {
  header #headerGlobalArea {
    display: none;
  }
}


header #headerGlobalSubArea {
  display: none;
  position: absolute;
  z-index: 200;
  left: 0;
  top: 110px;
  width: 100%;
  height: 100px;
  background-color: #FFF;
}
header #headerGlobalSubArea .sub_Box {
  display: none;
  position: relative;
  width: 1116px;
  height: 100px;
  margin: 0 auto;
}
header #headerGlobalSubArea .sub_Box p {
  padding: 40px 0 0 20px;
  font-size: 2.2rem;
  font-weight: 500;
  color: #B91F3A;
}
header #headerGlobalSubArea .sub_Box ul {
  position: absolute;
  left: 280px;
  top: 0;
  width: 100%;
  height: 60px;
  margin: 20px 0 0;
  padding: 24px 0 0;
  box-sizing: border-box;
  display: flex;
  justify-content: start;
}
header #headerGlobalSubArea .sub_Box ul::before {
  position: absolute;
  left: -60px;
  top: 0;
  width: 1px;
  height: 60px;
  background-color: #C9CACA;
  content: "";
}
header #headerGlobalSubArea .sub_Box ul li {
  margin: 0 90px 0 0;
}
header #headerGlobalSubArea .sub_Box ul li a {
  position: relative;
  font-size: 1.6rem;
  font-weight: 400;
  transition: all 0.3s ease;
}
header #headerGlobalSubArea .sub_Box ul li a:hover {
  text-decoration: underline;
  color: #B91F3A;
}
header #headerGlobalSubArea .sub_Box ul li a::after {
  position: absolute;
  right: -30px;
  top: 50%;
  width: 20px;
  height: 8px;
  margin: -3px 0 0;
  background-image: url("../img/icon04.svg");
  background-size: cover;
  content: "";
}

header #headerEntry {
  position: absolute;
  right: 60px;
  top: 53px;
  width: 180px;
  height: 182px;
}
header #headerEntry a.open_Link {
  position: relative;
  display: block;
  width: 180px;
  height: 34px;
  padding: 9px 0 0 22px;
  box-sizing: border-box;
  background-color: #B91F3A;
  border-radius: 3px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #FFF;
}
header #headerEntry a.open_Link:hover {
  text-decoration: none;
}
header #headerEntry a.open_Link::after {
  position: absolute;
  right: 19px;
  top: 50%;
  width: 8px;
  height: 4px;
  margin: -1px 0 0;
  background-image: url("../img/icon02.svg");
  background-size: cover;
  content: "";
}
header #headerEntry a.open_Link.active::after {
  transform: rotate(180deg);
}
header #headerEntry ul {
  display: none;
  position: absolute;
  left: 0;
  top: 32px;
  width: 180px;
  height: 148px;
  padding: 23px 20px 0;
  box-sizing: border-box;
  background-color: #B91F3A;
  border-radius: 0 0 3px 3px;
  border-top: 1px solid #FFF;
  list-style-type: none;
}
header #headerEntry ul li {
  padding: 0 0 20px;
}
header #headerEntry ul li a {
  position: relative;
  display: block;
  width: 100%;
  font-size: 1.4rem;
  font-weight: 400;
  color: #FFF;
}
header #headerEntry ul li a span {
  position: absolute;
  left: 0;
  top: 20px;
  display: block;
  font-size: 1.0rem;
}
header #headerEntry ul li a::after {
  position: absolute;
  right: 0;
  top: 50%;
  width: 20px;
  height: 10px;
  margin: -4px 0 0;
  background-image: url("../img/icon05.svg");
  background-size: cover;
  content: "";
}

header #headerNews {
  position: absolute;
  right: 60px;
  top: 23px;
}
header #headerNews a {
  position: relative;
  padding: 0 15px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
}
header #headerNews a:hover {
  text-decoration: none;
}
header #headerNews a::after {
  position: absolute;
  right: 0;
  top: 50%;
  width: 10px;
  height: 10px;
  margin: -4px 0 0;
  background-image: url("../img/icon03.svg");
  background-size: cover;
  content: "";
}
@media only screen and (max-width: 1200px) {
  header #headerGlobalSubArea,
  header #headerEntry,
  header #headerNews {
    display: none;
  }
}


header #headerNavi_Sp {
  display: none;
}
@media only screen and (max-width: 1200px) {
  header #headerNavi_Sp {
    display: block;
    position: absolute;
    right: -142vw;
    top: 70px;
    width: 100%;
    height: calc(100vh - 70px);
    padding: 25px 25px 0;
    box-sizing: border-box;
    background-color: #F3F4F4;
    overflow-y: scroll;
  }
  header #headerNavi_Sp #scroll_Area {
    width: 100%;
    height: auto;
    padding: 0 0 80px;
  }
  header #headerNavi_Sp .headerNavi_Sp_Top a {
    font-size: 1.6rem;
    font-weight: 500;
  }

  header #headerNavi_Sp .headerNavi_Sp_News  {
    position: absolute;
    left: 190px;
    top: 25px;
  }
  header #headerNavi_Sp .headerNavi_Sp_News  a {
    position: relative;
    padding: 0 15px 0 0;
    font-size: 1.6rem;
    font-weight: 400;
  }
  header #headerNavi_Sp .headerNavi_Sp_News  a:hover {
    text-decoration: none;
  }
  header #headerNavi_Sp .headerNavi_Sp_News  a::after {
    position: absolute;
    right: 0;
    top: 50%;
    width: 10px;
    height: 10px;
    margin: -3px 0 0;
    background-image: url("../img/icon03.svg");
    background-size: cover;
    content: "";
  }

  header #headerNavi_Sp .headerNavi_Sp_Link  {
    width: 100%;
  }
  header #headerNavi_Sp .headerNavi_Sp_Link .link_Box  {
    padding: 35px 0 0;
  }
  header #headerNavi_Sp .headerNavi_Sp_Link .link_Box a  {
    font-size: 1.6rem;
    font-weight: 400;
  }
  header #headerNavi_Sp .headerNavi_Sp_Link .link_Box a:hover {
    text-decoration: none;
  }
  header #headerNavi_Sp .headerNavi_Sp_Link .link_Box a.open_Link  {
    position: relative;
    font-size: 1.6rem;
    font-weight: 400;
    transition: all 0.3s ease;
  }
  header #headerNavi_Sp .headerNavi_Sp_Link .link_Box a.open_Link:hover {
    text-decoration: none;
  }
  header #headerNavi_Sp .headerNavi_Sp_Link .link_Box a.open_Link::after {
    position: absolute;
    right: -15px;
    top: 50%;
    width: 8px;
    height: 4px;
    margin: -1px 0 0;
    background-image: url("../img/icon01.svg");
    background-size: cover;
    content: "";
  }
  header #headerNavi_Sp .headerNavi_Sp_Link .link_Box a.open_Link.active::after {
    transform: rotate(180deg);
  }
  header #headerNavi_Sp .headerNavi_Sp_Link .link_Box ul {
    display: none;
    width: 100%;
    margin: 10px 0 0;
    padding: 15px 0 0;
    border-top: 1px solid #C9CACA;
  }
  header #headerNavi_Sp .headerNavi_Sp_Link .link_Box ul li {
    padding: 0 0 25px;
  }
  header #headerNavi_Sp .headerNavi_Sp_Link .link_Box ul li:last-child {
    padding: 0;
  }
  header #headerNavi_Sp .headerNavi_Sp_Link .link_Box ul li a {
    padding: 0 0 0 30px;
    font-size: 1.4rem;
    font-weight: 400;
  }
  header #headerNavi_Sp .headerNavi_Sp_Link .link_Box ul li a span {
    display: block;
    padding: 5px 0 0 30px;
    font-size: 1.0rem;
  }

  header #headerNavi_Sp .headerNavi_Sp_Entry {
    width: 100%;
    padding: 40px 0 0;
  }
  header #headerNavi_Sp .headerNavi_Sp_Entry p {
    font-size: 1.6rem;
    font-weight: 500;
    color: #B91F3A;
  }
  header #headerNavi_Sp .headerNavi_Sp_Entry ul {
    padding: 10px 0 0;
    list-style-type: none;
  }
  header #headerNavi_Sp .headerNavi_Sp_Entry ul li {
    padding: 0 0 10px;
  }
  header #headerNavi_Sp .headerNavi_Sp_Entry ul li a {
    display: block;
    width: 100%;
    height: 40px;
    padding: 11px 0 0;
    box-sizing: border-box;
    border: 1px solid #B91F3A;
    border-radius: 3px;
    background-color: #FFF;
    font-size: 1.4rem;
    font-weight: 500;
    text-align: center;
    color: #B91F3A;
  }
  header #headerNavi_Sp .headerNavi_Sp_Entry ul li a:hover {
    text-decoration: none;
  }
  header #headerNavi_Sp .headerNavi_Sp_Entry ul li a span {
    padding: 0 0 0 5px;
    font-size: 1.0rem;
  }
}

/*==========================================
 フッターのスタイル
===========================================*/
body.top .footer_Contact_Area {
  width: 100%;
  padding: 100px 0 50px;
  background-color: #EFEFEF;
}
.footer_Contact {
  width: 1116px;
  height: 514px;
  margin: 0 auto 150px;
  padding: 100px 0 0;
  background-color: #EFEFEF;
  border-radius: 10px;
  box-sizing: border-box;
}
body.top .footer_Contact {
  background-color: #FFF;
}
body.footer_entry_none .footer_Contact {
  display: none;
}
.footer_Contact h3 {
  font-family: "Lora", serif;
  font-size: 6.5rem;
  font-weight: 400;
  text-align: center;
  color: #B91F3A;
}
.footer_Contact p {
  padding: 15px 0 0;
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
  color: #B91F3A;
}
.footer_Contact ul {
  width: 996px;
  margin: 0 auto;
  padding: 70px 0 0;
  list-style-type: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.footer_Contact ul li {
  width: 312px;
  height: 150px;
}
.footer_Contact ul li a {
  position: relative;
  display: block;
  width: 312px;
  height: 150px;
  padding: 30px 35px;
  border-radius: 3px;
  background-color: #B91F3A;
  box-sizing: border-box;
  font-size: 2.2rem;
  font-weight: 400;
  color: #FFF;
}
.footer_Contact ul li a::after {
  position: absolute;
  right: 29px;
  bottom: 30px;
  width: 30px;
  height: 8px;
  background-image: url("../img/icon12.svg");
  background-size: cover;
  content: "";
}
.footer_Contact ul li a span {
  display: block;
  padding: 10px 0 0;
  font-size: 1.4rem;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  body.top .footer_Contact_Area {
    padding: 80px 0 10px;
  }
  .footer_Contact {
    width: calc(100% - 50px);
    height: 370px;
    margin: 0 auto 100px;
    padding: 40px 0 0;
  }
  .footer_Contact h3 {
    font-size: 3.0rem;
  }
  .footer_Contact p {
    padding: 10px 0 0;
    font-size: 1.4rem;
  }
  .footer_Contact ul {
    width: 275px;
    padding: 20px 0 0;
  }
  .footer_Contact ul li {
    width: 275px;
    height: 70px;
    margin: 0 0 10px;
  }
  .footer_Contact ul li a {
    width: 275px;
    height: 70px;
    padding: 26px 0 0 25px;
    font-size: 2.0rem;
  }
  .footer_Contact ul li:nth-child(3) a {
    padding: 16px 0 0 25px;
  }
  .footer_Contact ul li a::after {
    right: 20px;
  }
  .footer_Contact ul li a span {
    padding: 5px 0 0;
    font-size: 1.3rem;
  }
}


footer {
  width: 100%;
  padding: 90px 0 40px;
  background-color: #000;
}
footer #footerBody {
  position: relative;
  width: 1116px;
  margin: 0 auto;
  box-sizing: border-box;
}
footer #footerBody .footer_Top a {
  font-size: 1.6rem;
  font-weight: 500;
  color: #FFF;
}

footer #footerBody .footer_News {
  position: absolute;
  left: 200px;
  top: 0;
}
footer #footerBody .footer_News a {
  position: relative;
  padding: 0 15px 0 0;
  font-size: 1.6rem;
  font-weight: 500;
  color: #FFF;
}
footer #footerBody .footer_News a::after {
  position: absolute;
  right: 0;
  top: 50%;
  width: 10px;
  height: 10px;
  margin: -3px 0 0;
  background-image: url("../img/icon06.svg");
  background-size: cover;
  content: "";
}

footer #footerBody .footer_Corporate {
  position: absolute;
  right: 0;
  top: 0;
}
footer #footerBody .footer_Corporate a {
  position: relative;
  display: block;
  width: 204px;
  height: 38px;
  padding: 10px 0 0 25px;
  border-radius: 3px;
  box-sizing: border-box;
  background-color: #FFF;
  font-size: 1.6rem;
  font-weight: 400;
}
footer #footerBody .footer_Corporate a::after {
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
  height: 10px;
  margin: -4px 0 0;
  background-image: url("../img/icon03.svg");
  background-size: cover;
  content: "";
}

footer #footerBody .footer_Link {
  width: 100%;
  padding: 65px 0 100px 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
footer #footerBody .footer_Link .footer_Link_Box > a {
  font-size: 1.8rem;
  font-weight: 400;
  color: #FFF;
}
footer #footerBody .footer_Link .footer_Link_Box > a.open_Link {
  color: #C9CACA;
  cursor: default;
}
footer #footerBody .footer_Link .footer_Link_Box > a.open_Link:hover {
  text-decoration: none;
}
footer #footerBody .footer_Link .footer_Link_Box ul {
  padding: 35px 0 0;
  list-style-type: none;
}
footer #footerBody .footer_Link .footer_Link_Box ul li {
  padding: 0 0 25px;
}
footer #footerBody .footer_Link .footer_Link_Box ul li:last-child {
  padding: 0;
}
footer #footerBody .footer_Link .footer_Link_Box ul li a {
  font-size: 1.4rem;
  font-weight: 400;
  color: #FFF;
}
footer #footerBody .footer_Link .footer_Link_Box ul li a span {
  display: block;
  padding: 5px 0 0;
  font-size: 1.2rem;
}

footer #footerBody small {
  font-size: 1.2rem;
  font-weight: 400;
  color: #FFF;
}
@media only screen and (max-width: 767px) {
  footer {
    padding: 50px 0 30px;
  }
  footer #footerBody {
    width: calc(100% - 50px);
  }

  footer #footerBody .footer_News {
    left: 168px;
  }

  footer #footerBody .footer_Corporate {
    position: static;
    padding: 20px 0 0;
  }

  footer #footerBody .footer_Link {
    padding: 35px 0 60px 0;
  }
  footer #footerBody .footer_Link .footer_Link_Box {
    width: 100%;
    padding: 0 0 35px;
  }
  footer #footerBody .footer_Link .footer_Link_Box:last-child {
    padding: 0;
  }
  footer #footerBody .footer_Link .footer_Link_Box > a.open_Link {
    position: relative;
    cursor: auto;
  }
  footer #footerBody .footer_Link .footer_Link_Box > a.open_Link::after {
    position: absolute;
    right: -15px;
    top: 50%;
    width: 8px;
    height: 4px;
    margin: -1px 0 0;
    background-image: url("../img/icon07.svg");
    background-size: cover;
    content: "";
  }
  footer #footerBody .footer_Link .footer_Link_Box > a.open_Link.active::after {
    transform: rotate(180deg);
  }
  footer #footerBody .footer_Link .footer_Link_Box ul {
    padding: 25px 0 0;
    display: none;
  }

  footer #footerBody small {
    font-size: 1.1rem;
  }
}


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


/*==========================================
 共通タイトル
===========================================*/
#mainContents .titleArea {
  display: block;
  position: relative;
  width: 1116px;
  height: 350px;
  margin: 0 auto;
  padding: 90px 0 150px;
}
#mainContents .titleArea .titleArea_Box {
  position: relative;
  z-index: 100;
  display: inline-block;
  height: 183px;
  min-width: 300px;
  padding: 0 75px 0 0;
  background-color: #FFF;
}
#mainContents .titleArea.typ01 {
  height: auto;
  padding: 90px 0 0;
}
#mainContents .titleArea.typ01 .titleArea_Box {
  height: auto;
}
#mainContents .titleArea.typ02 {
  height: auto;
  padding: 90px 0;
}
#mainContents .titleArea.typ02 .titleArea_Box {
  height: auto;
}
#mainContents .titleArea .titleArea_Box p {
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  font-weight: 500;
  color: #B91F3A;
}
#mainContents .titleArea .titleArea_Box h1 {
  padding: 25px 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: 4.5rem;
  font-weight: 500;
}

#mainContents .titleArea .titleArea_Img {
  position: absolute;
  z-index: 0;
  left: 191px;
  top: 90px;
}
#mainContents .titleArea .titleArea_Img img {
  width: 76vw;
  height: 350px;
  object-fit: cover;
}
@media only screen and (max-width: 1400px) {
  #mainContents .titleArea .titleArea_Img img {
    width: 115%;
  }
  #mainContents .titleArea.typ01 {
    padding: 0;
  }
  #mainContents .titleArea.typ02 {
    padding: 25px 0 50px;
  }
}


#mainContents .titleArea .titleArea_Pankuzu {
  width: 100%;
  padding: 30px 0 0;
  font-size: 1.4rem;
  color: #959595;
  line-height: 1.4;
}
#mainContents .titleArea .titleArea_Pankuzu a {
  position: relative;
  margin: 0 30px 0 0;
  color: #000;
}
#mainContents .titleArea .titleArea_Pankuzu a:after {
  position: absolute;
  right: -17px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin: -3px 0 0;
  border-top: 1px solid #B91F3A;
  border-right: 1px solid #B91F3A;
  transform: rotate(45deg);
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents .titleArea {
    width: calc(100% - 25px);
    height: auto;
    margin: 0 0 0 25px;
    padding: 25px 0 80px;
  }
  #mainContents .titleArea .titleArea_Box {
    width: calc(100% - 25px);
    height: auto;
  }
  #mainContents .titleArea .titleArea_Box p {
    font-size: 1.4rem;
  }
  #mainContents .titleArea .titleArea_Box h1 {
    padding: 15px 0 0;
    font-size: 2.5rem;
    line-height: 1.4;
  }

  #mainContents .titleArea .titleArea_Img {
    position: static;
    padding: 30px 0 0;
  }
  #mainContents .titleArea .titleArea_Img img {
    width: 100%;
    height: 126px;
  }

  #mainContents .titleArea .titleArea_Pankuzu {
    padding: 20px 0 0;
    font-size: 1.2rem;
  }
}



#mainContents .pankuzuArea {
  width: 1116px;
  margin: 0 auto;
  padding: 30px 0 0;
  font-size: 1.4rem;
  color: #959595;
}
#mainContents .pankuzuArea a {
  position: relative;
  margin: 0 30px 0 0;
  color: #000;
}
#mainContents .pankuzuArea a:after {
  position: absolute;
  right: -17px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin: -3px 0 0;
  border-top: 1px solid #B91F3A;
  border-right: 1px solid #B91F3A;
  transform: rotate(45deg);
  content: "";
}
@media only screen and (max-width: 1200px) {
  #mainContents .pankuzuArea {
    width: calc(100% - 50px);
    padding: 10px 0 0;
    font-size: 1.2rem;
    line-height: 1.4;
  }
}


#mainContents .titleArea .titleArea_Link {
  position: absolute;
  right: 0;
  top: 130px;
}
#mainContents .titleArea .titleArea_Link ul {
  list-style-type: none;
}
#mainContents .titleArea .titleArea_Link ul li {
  padding: 0 0 15px;
  text-align: right;
}
#mainContents .titleArea .titleArea_Link ul li a {
  position: relative;
  padding: 0 30px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.4;
  text-decoration: underline;
}
#mainContents .titleArea .titleArea_Link ul li a:hover {
  opacity: 0.7;
}
#mainContents .titleArea .titleArea_Link ul li a::after {
  position: absolute;
  right: 0;
  top: 50%;
  width: 20px;
  height: 8px;
  margin: -3px 0 0 0;
  background-image: url("../img/icon13.svg");
  background-size: cover;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents .titleArea .titleArea_Link {
    right: 25px;
    top: 130px;
  }
  #mainContents .titleArea .titleArea_Link ul li {
    padding: 0 0 10px;
  }
  #mainContents .titleArea .titleArea_Link ul li a {
    padding: 0 25px 0 0;
    font-size: 1.2rem;
  }
  #mainContents .titleArea .titleArea_Link ul li a::after {
    width: 18px;
    height: 7px;
    margin: -2px 0 0 0;
  }
}


/*==========================================
 ページナビ
===========================================*/
#mainContents .pageNavi {
  width: 100%;
  height: 50px;
  background-color: #EFEFEF;
}
#mainContents .pageNavi ul {
  width: 1116px;
  margin: 0 auto;
  padding: 18px 0 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#mainContents .pageNavi ul li {
  margin: 0 40px;
}
#mainContents .pageNavi ul li a {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  transition: all 0.3s ease;
}
#mainContents .pageNavi ul li a::after {
  position: absolute;
  right: -20px;
  top: 50%;
  width: 8px;
  height: 10px;
  margin: -4px 0 0;
  background-image: url("../img/icon08.svg");
  background-size: cover;
  content: "";
  transition: all 0.3s ease;
}
#mainContents .pageNavi ul li a:hover {
  color: #B91F3A;
}
#mainContents .pageNavi ul li a:hover::after {
  background-image: url("../img/icon09.svg");
}
@media only screen and (max-width: 767px) {
  #mainContents .pageNavi {
    height: auto;
  }
  #mainContents .pageNavi ul {
    width: calc(100% - 20px);
    padding: 18px 0 0;
  }
  #mainContents .pageNavi ul li {
    margin: 0 15px 15px;
  }
  #mainContents .pageNavi ul li a {
    font-size: 1.3rem;
  }
  #mainContents .pageNavi ul li a::after {
    right: -15px;
  }
}


#mainContents .cateNavi {
  width: 100%;
}
#mainContents .cateNavi ul {
  width: 1116px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#mainContents .cateNavi ul li {
  margin: 0 10px;
}
#mainContents .cateNavi ul li a {
  display: block;
  padding: 10px 30px;
  background-color: #FFF;
  border-radius: 3px;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  transition: all 0.3s ease;
}
#mainContents .cateNavi ul li.active a {
  background-color: #B91F3A;
  color: #FFF;
}
#mainContents .cateNavi ul li a:hover {
  text-decoration: none;
  background-color: #EFEFEF;
}
#mainContents .cateNavi ul li.active a:hover {
  background-color: #B91F3A;
  color: #FFF;
}
@media only screen and (max-width: 767px) {
  #mainContents .cateNavi {
    width: 100%;
  }
  #mainContents .cateNavi ul {
    width: calc(100% - 50px);
    justify-content: start;
  }
  #mainContents .cateNavi ul li {
    margin: 0 6px 12px;
  }
  #mainContents .cateNavi ul li a {
    padding: 10px 13px;
    font-size: 1.3rem;
  }
  #mainContents .cateNavi ul li.active a {
    background-color: #B91F3A;
    color: #FFF;
  }
  #mainContents .cateNavi ul li a:hover {
    text-decoration: none;
    background-color: #EFEFEF;
  }
}


#mainContents .occupationNavi {
  width: 100%;
  height: 46px;
  border-bottom: 1px solid #C9CACA;
}
#mainContents .occupationNavi.bottom {
  margin: 0 0 300px;
  border-top: 1px solid #C9CACA;
  border-bottom: none;
}
#mainContents .occupationNavi ul {
  width: 1116px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}
#mainContents .occupationNavi ul li {
  position: relative;
  width: 164px;
  height: 46px;
  margin: 0 14px;
  text-align: center;
}
#mainContents .occupationNavi ul li.active::before {
  position: absolute;
  z-index: 100;
  left: 0;
  top: 0;
  width: 1px;
  height: 46px;
  background-color: #C9CACA;
  content: "";
}
#mainContents .occupationNavi ul li.active::after {
  position: absolute;
  z-index: 100;
  right: 0;
  top: 0;
  width: 1px;
  height: 46px;
  background-color: #C9CACA;
  content: "";
}
#mainContents .occupationNavi ul li a {
  position: relative;
  display: block;
  width: 100%;
  height: 46px;
  padding: 15px 0 0;
  box-sizing: border-box;
  background-color: #C9CACA;
  font-size: 1.6rem;
  font-weight: 500;
  transition: all 0.3s ease;
}
#mainContents .occupationNavi ul li a:hover {
  text-decoration: underline;
}
#mainContents .occupationNavi ul li.active a {
  background-color: #FFF;
  color: #B91F3A;
}
#mainContents .occupationNavi ul li.active a:hover {
  text-decoration: none;
}
#mainContents .occupationNavi ul li.active a::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 5px;
  background-color: #B91F3A;
  content: "";
}
#mainContents .occupationNavi ul li.active a::after {
  position: absolute;
  left: 1px;
  bottom: -3px;
  width: calc(100% - 2px);
  height: 5px;
  background-color: #FFF;
  content: "";
}
#mainContents .occupationNavi.bottom ul li.active a::before {
  top: auto;
  bottom: 0;
}
#mainContents .occupationNavi.bottom ul li.active a::after {
  top: -3px;
  bottom: auto;
}
@media only screen and (max-width: 767px) {
  #mainContents .occupationNavi {
    height: 54px;
  }
  #mainContents .occupationNavi.bottom {
    margin: 0 0 200px;
  }
  #mainContents .occupationNavi ul {
    width: calc(100% - 50px);
    justify-content: space-between;
  }
  #mainContents .occupationNavi ul li {
    width: 77px;
    height: 54px;
    margin: 0;
  }
  #mainContents .occupationNavi ul li.active::before {
    height: 54px;
  }
  #mainContents .occupationNavi ul li.active::after {
    height: 54px;
  }
  #mainContents .occupationNavi ul li a {
    height: 54px;
    padding: 5px 0 0;
    font-size: 1.3rem;
    line-height: 1.2;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #mainContents .occupationNavi ul li.active a::after {
    width: 75px;
  }
}

/*==========================================
 Top
===========================================*/
#mainContents .top_Mv_Area {
  position: relative;
  width: 100%;
  padding: 0 0 0 125px;
  box-sizing: border-box;
}
#mainContents .top_Mv_Area::before {
  position: absolute;
  z-index: 100;
  left: 125px;
  top: 0;
  width: calc(100% - 125px);
  height: 100%;
  background-color: rgba(0, 0, 0, 0.15);
  content: "";
}
#mainContents .top_Mv_Area .top_Mv {
  display: block;
  opacity: 0;
}
#mainContents .top_Mv_Area .top_Mv_Sp {
  display: none;
  opacity: 0;
}
#mainContents .top_Mv_Area .bx-wrapper {
  max-width: 100% !important;
  margin: 0 !important;
  -moz-box-shadow: none !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  border: none !important;
  background: none !important;
}
#mainContents .top_Mv_Area .column {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .top_Mv_Area .column .column_Sub {
  width: 50%;
  overflow: hidden;
}
#mainContents .top_Mv_Area .column .column_Sub img {
  width: 100%;
  height: auto;
  animation: anim 10.0s linear;
}
@keyframes anim {
  0% {
  transform: scale(1);
  }
  100% {
  transform: scale(1.2);
  }
}

#mainContents .top_Mv_Area .text_Area {
  position: absolute;
  z-index: 200;
  left: 125px;
  bottom: 75px;
}
#mainContents .top_Mv_Area .text_Area img {
  width: 852px;
  height: 135px;
}

#mainContents .top_Mv_Area .scroll_Area {
  position: absolute;
  z-index: 200;
  left: 60px;
  bottom: -3px;
}
#mainContents .top_Mv_Area .scroll_Area img {
  width: 10px;
  height: 225px;
}
#mainContents .top_Mv_Area .link_Area {
  position: fixed;
  z-index: 300;
  right: 50px;
  bottom: 50px;
  width: 160px;
}
#mainContents .top_Mv_Area .link_Area a {
  position: relative;
  display: block;
  width: 100%;
  height: 46px;
  padding: 15px 0 0 35px;
  border-radius: 3px;
  box-sizing: border-box;
  background-color: #B91F3A;
  border: 1px solid #FFF;
  font-size: 1.4rem;
  font-weight: 400;
  color: #FFF;
  box-shadow: 0px 0px 10px 4px rgba(0, 0, 0, 0.2);
  transition: all 0.3s ease;
}
#mainContents .top_Mv_Area .link_Area a:hover {
  opacity: 0.7;
  text-decoration: none;
}
#mainContents .top_Mv_Area .link_Area a::after {
  position: absolute;
  right: 25px;
  top: 50%;
  width: 20px;
  height: 8px;
  margin: -3px 0 0;
  background-image: url("../img/icon16.svg");
  background-size: cover;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents .top_Mv_Area {
    padding: 0 0 0 35px;
  }
  #mainContents .top_Mv_Area::before {
    left: 35px;
    width: calc(100% - 35px);
  }
  #mainContents .top_Mv_Area .top_Mv {
    display: none;
  }
  #mainContents .top_Mv_Area .top_Mv_Sp {
    display: block;
    opacity: 0;
  }
  #mainContents .top_Mv_Area .column .column_Sub {
    width: 100%;
  }
  #mainContents .top_Mv_Area .text_Area {
    left: 35px;
    bottom: 290px;
  }
  #mainContents .top_Mv_Area .text_Area img {
    width: 305px;
    height: 61px;
  }
  #mainContents .top_Mv_Area .scroll_Area {
    left: 10px;
    bottom: 0;
  }
  #mainContents .top_Mv_Area .scroll_Area img {
    width: 15px;
    height: 158px;
  }
  #mainContents .top_Mv_Area .link_Area {
    right: 25px;
    bottom: 25px;
    width: 110px;
  }
  #mainContents .top_Mv_Area .link_Area a {
    height: 37px;
    padding: 11px 0 0 11px;
    font-size: 1.2rem;
  }
  #mainContents .top_Mv_Area .link_Area a::after {
    right: 11px;
    width: 18px;
    height: 7px;
    margin: -4px 0 0;
  }
}

#mainContents .top_layout01 {
  position: relative;
  width: 1116px;
  margin: 130px auto 0;
}
#mainContents .top_layout01 p.sub_Title {
  font-family: "Noto Serif JP", serif;
  font-size: 2.5rem;
  font-weight: 500;
  color: #B91F3A;
}
#mainContents .top_layout01 h2 {
  padding: 25px 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: 4.5rem;
  font-weight: 500;
  line-height: 1.4;
}
#mainContents .top_layout01 .link01 {
  width: 260px;
  padding: 40px 0 0;
}
#mainContents .top_layout01 .link01 a {
  position: relative;
  display: block;
  width: 228px;
  height: 40px;
  padding: 11px 0 0 15px;
  border: 1px solid #000;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 300;
  transition: all 0.3s ease;
}
#mainContents .top_layout01 .link01 a:hover {
  border: 1px solid #B91F3A;
  background-color: #B91F3A;
  color: #FFF;
  text-decoration: none;
}
#mainContents .top_layout01 .link01 a:after {
  position: absolute;
  right: 15px;
  top: 50%;
  width: 30px;
  height: 8px;
  margin: -3px 0 0 0;
  background-image: url("../img/icon18.svg");
  background-size: cover;
  content: "";
}
#mainContents .top_layout01 .link01 a:hover:after {
  background-image: url("../img/icon17.svg");
}
#mainContents .top_layout01 img {
  position: absolute;
  right: 0;
  top: 0;
  width: 382px;
  height: 242px;
}
@media only screen and (max-width: 767px) {
  #mainContents .top_layout01 {
    width: calc(100% - 50px);
    margin: 120px auto 0;
  }
  #mainContents .top_layout01 p.sub_Title {
    font-size: 2.2rem;
  }
  #mainContents .top_layout01 h2 {
    padding: 20px 0 0;
    font-size: 2.5rem;
  }
  #mainContents .top_layout01 .link01 {
    width: 193px;
    padding: 20px 0 0;
  }
  #mainContents .top_layout01 .link01 a {
    width: 193px;
    height: 36px;
    padding: 9px 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .top_layout01 .link01 a:after {
    right: 10px;
    width: 20px;
    height: 5px;
    margin: -3px 0 0 0;
  }

  #mainContents .top_layout01 img {
    position: static;
    width: 100%;
    height: auto;
    padding: 30px 0 0;
  }
}


#mainContents .top_layout02 {
  display: block;
  position: relative;
  width: 1116px;
  height: 253px;
  margin: 0 auto;
  padding: 250px 0 0;
}
#mainContents .top_layout02 .top_layout02_Box {
  position: relative;
  z-index: 100;
  display: inline-block;
  height: 253px;
  width: 573px;
  padding: 85px 40px 0 0;
  box-sizing: border-box;
  background-color: #FFF;
}
#mainContents .top_layout02 .top_layout02_Box p.sub_Title {
  font-family: "Noto Serif JP", serif;
  font-size: 2.0rem;
  font-weight: 500;
  color: #B91F3A;
}
#mainContents .top_layout02 .top_layout02_Box h2 {
  padding: 25px 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: 4.5rem;
  font-weight: 500;
}
#mainContents .top_layout02 .top_layout02_Box p {
  padding: 15px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
#mainContents .top_layout02 .top_layout02_Img {
  position: absolute;
  z-index: 0;
  left: 296px;
  bottom: 0;
}
#mainContents .top_layout02 .top_layout02_Img img {
  width: 76vw;
  height: 350px;
  object-fit: cover;
}
@media only screen and (max-width: 767px) {
  #mainContents .top_layout02 {
    width: calc(100% - 50px);
    height: auto;
    padding: 40vw 0 0;
  }
}
@media only screen and (max-width: 550px) {
  #mainContents .top_layout02 {
    padding: 180px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  #mainContents .top_layout02 .top_layout02_Box {
    height: auto;
    width: 275px;
    padding: 22px 20px 0 0;
  }
  #mainContents .top_layout02 .top_layout02_Box p.sub_Title {
    font-size: 1.4rem;
  }
  #mainContents .top_layout02 .top_layout02_Box h2 {
    padding: 15px 0 0;
    font-size: 2.5rem;
  }
  #mainContents .top_layout02 .top_layout02_Box p {
    padding: 10px 0 0;
    font-size: 1.4rem;
  }
  #mainContents .top_layout02 .top_layout02_Img {
    left: 0;
    bottom: 130px;
  }
  #mainContents .top_layout02 .top_layout02_Img img {
    width: calc(100% + 25px);
    height: auto;
    object-fit: cover;
  }
}


#mainContents .top_layout03 {
  width: 1116px;
  margin: 0 auto;
  padding: 150px 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .top_layout03 .column:nth-child(1) {
  width: 100%;
  height: 200px;
  margin: 0 0 30px;
  background-image: url("../img/top/top_img03.jpg");
  background-size: cover;
}
#mainContents .top_layout03 .column:nth-child(2),
#mainContents .top_layout03 .column:nth-child(3) {
  width: 543px;
  height: 200px;
  background-size: cover;
}
#mainContents .top_layout03 .column:nth-child(2) {
  background-image: url("../img/top/top_img04.jpg");
}
#mainContents .top_layout03 .column:nth-child(3) {
  background-image: url("../img/top/top_img05.jpg");
}
#mainContents .top_layout03 .column a:hover {
  text-decoration: none;
}
#mainContents .top_layout03 .column .link01 {
  width: 250px;
  padding: 140px 0 0 30px;
}
#mainContents .top_layout03 .column:nth-child(2) .link01 {
  width: 219px;
}
#mainContents .top_layout03 .column:nth-child(3) .link01 {
  width: 172px;
}
#mainContents .top_layout03 .column .link01 h3 {
  position: relative;
  display: block;
  width: 100%;
  height: 40px;
  padding: 10px 0 0 20px;
  background-color: #FFF;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.8rem;
  font-weight: 300;
  transition: all 0.3s ease;
}
#mainContents .top_layout03 .column .link01 h3:hover {
  background-color: #B91F3A;
  color: #FFF;
  text-decoration: none;
}
#mainContents .top_layout03 .column .link01 h3:after {
  position: absolute;
  right: 20px;
  top: 50%;
  width: 30px;
  height: 8px;
  margin: -4px 0 0 0;
  background-image: url("../img/icon18.svg");
  background-size: cover;
  content: "";
}
#mainContents .top_layout03 .column .link01 h3:hover:after {
  background-image: url("../img/icon17.svg");
}
@media only screen and (max-width: 767px) {
  #mainContents .top_layout03 {
    width: calc(100% - 50px);
    padding: 40px 0 0;
  }
  #mainContents .top_layout03 .column:nth-child(1) {
    height: 150px;
    margin: 0 0 10px;
    background-image: url("../img/top/top_img03_sp.jpg");
  }
  #mainContents .top_layout03 .column:nth-child(2),
  #mainContents .top_layout03 .column:nth-child(3) {
    width: 100%;
    height: 120px;
    margin: 0 0 10px;
  }
  #mainContents .top_layout03 .column:nth-child(2) {
    background-image: url("../img/top/top_img04_sp.jpg");
  }
  #mainContents .top_layout03 .column:nth-child(3) {
    background-image: url("../img/top/top_img05_sp.jpg");
  }
  #mainContents .top_layout03 .column .link01 {
    width: 188px;
    padding: 104px 0 0 10px;
  }
  #mainContents .top_layout03 .column:nth-child(2) .link01 {
    width: 153px;
    padding: 74px 0 0 10px;
  }
  #mainContents .top_layout03 .column:nth-child(3) .link01 {
    width: 116px;
    padding: 74px 0 0 10px;
  }
  #mainContents .top_layout03 .column .link01 h3 {
    height: 36px;
    padding: 10px 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .top_layout03 .column .link01 h3:hover {
    background-color: #FFF;
    color: #000;
  }
  #mainContents .top_layout03 .column .link01 h3:after {
    right: 15px;
    width: 20px;
    height: 5px;
    margin: -3px 0 0 0;
  }
}

#mainContents .top_layout04 {
  width: 100%;
  margin: 300px 0 0;
  padding: 150px 0 0;
  background-color: #EFEFEF;
}
#mainContents .top_layout04 .top_layout04_Box {
  position: relative;
  width: 1116px;
  margin: 0 auto;
}
#mainContents .top_layout04 .top_layout04_Box p.sub_Title {
  font-family: "Noto Serif JP", serif;
  font-size: 2.0rem;
  font-weight: 500;
  color: #B91F3A;
}
#mainContents .top_layout04 .top_layout04_Box h2 {
  padding: 25px 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: 4.5rem;
  font-weight: 500;
}
#mainContents .top_layout04 .top_layout04_Box p {
  width: 543px;
  padding: 25px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
#mainContents .top_layout04 .top_layout04_Box .top_layout04_Img {
  position: absolute;
  z-index: 0;
  right: 0;
  top: -250px;
}
#mainContents .top_layout04 .top_layout04_Box .top_layout04_Img img {
  width: 450px;
  height: 550px;
}
@media only screen and (max-width: 767px) {
  #mainContents .top_layout04 {
    margin: 190px 0 0;
    padding: 136px 0 0;
  }
  #mainContents .top_layout04 .top_layout04_Box {
    width: calc(100% - 50px);
  }
  #mainContents .top_layout04 .top_layout04_Box p.sub_Title {
    padding: 30px 0 0;
     font-size: 1.4rem;
  }
  #mainContents .top_layout04 .top_layout04_Box h2 {
    padding: 15px 0 0;
    font-size: 2.5rem;
  }
  #mainContents .top_layout04 .top_layout04_Box p {
    width: 100%;
    padding: 10px 0 0;
    font-size: 1.4rem;
  }
  #mainContents .top_layout04 .top_layout04_Box .top_layout04_Img {
    position: static;
    margin: -240px 0 0;
  }
  #mainContents .top_layout04 .top_layout04_Box .top_layout04_Img img {
    width: 100%;
    height: auto;
  }
}

#mainContents .top_layout05 {
  width: 100%;
  padding: 150px 0 0;
  background-color: #EFEFEF;
}
#mainContents .top_layout05 .top_layout05_Box {
  position: relative;
  width: 1116px;
  margin: 0 auto;
}
#mainContents .top_layout05 .top_layout05_Box p.sub_Title {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .top_layout05 .top_layout05_Box h3 {
  padding: 15px 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: 4.0rem;
  font-weight: 500;
}
#mainContents .top_layout05 .top_layout05_Box .columnBox {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .top_layout05 .top_layout05_Box .columnBox .column {
  width: 543px;
  padding: 40px 0 40px;
  border-bottom: 1px solid #C9CACA;
}
#mainContents .top_layout05 .top_layout05_Box .columnBox .column:nth-child(3),
#mainContents .top_layout05 .top_layout05_Box .columnBox .column:nth-child(4) {
  border-bottom: none;
}
#mainContents .top_layout05 .top_layout05_Box .columnBox .column a {
  transition: all 0.3s ease;
}
#mainContents .top_layout05 .top_layout05_Box .columnBox .column a:hover {
  text-decoration: none;
  color: #B91F3A;
}
#mainContents .top_layout05 .top_layout05_Box .columnBox .column h4 {
  position: relative;
  font-size: 1.8rem;
  font-weight: 400;
}
#mainContents .top_layout05 .top_layout05_Box .columnBox .column h4::before {
  position: absolute;
  right: 0;
  top: 50%;
  width: 30px;
  height: 8px;
  margin: -4px 0 0 0;
  background-image: url("../img/icon18.svg");
  background-size: cover;
  content: "";
}
#mainContents .top_layout05 .top_layout05_Box .columnBox .column a:hover h5::before {
  background-image: url("../img/icon19.svg");
}
#mainContents .top_layout05 .top_layout05_Box .columnBox .column p {
  padding: 15px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
#mainContents .top_layout05 .top_layout05_Box .link01 {
  position: relative;
  width: 100%;
  height: 40px;
}
#mainContents .top_layout05 .top_layout05_Box .link01 a {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 260px;
  height: 40px;
  padding: 11px 0 0 25px;
  border: 1px solid #000;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 300;
  transition: all 0.3s ease;
}
#mainContents .top_layout05 .top_layout05_Box .link01 a:hover {
  border: 1px solid #B91F3A;
  background-color: #B91F3A;
  color: #FFF;
  text-decoration: none;
}
#mainContents .top_layout05 .top_layout05_Box .link01 a:after {
  position: absolute;
  right: 15px;
  top: 50%;
  width: 30px;
  height: 8px;
  margin: -3px 0 0 0;
  background-image: url("../img/icon18.svg");
  background-size: cover;
  content: "";
}
#mainContents .top_layout05 .top_layout05_Box .link01 a:hover:after {
  background-image: url("../img/icon17.svg");
}

@media only screen and (max-width: 767px) {
  #mainContents .top_layout05 {
    padding: 35px 0 0;
  }
  #mainContents .top_layout05 .top_layout05_Box {
    width: calc(100% - 50px);
  }
  #mainContents .top_layout05 .top_layout05_Box p.sub_Title {
    font-size: 1.4rem;
  }
  #mainContents .top_layout05 .top_layout05_Box h3 {
    padding: 10px 0 10px;
    font-size: 2.3rem;
  }
  #mainContents .top_layout05 .top_layout05_Box .columnBox .column {
    width: 100%;
    padding: 20px 0 20px;
  }
  #mainContents .top_layout05 .top_layout05_Box .columnBox .column:nth-child(3) {
    border-bottom: 1px solid #C9CACA;
  }
  #mainContents .top_layout05 .top_layout05_Box .columnBox .column a:hover {
    color: #000;
  }
  #mainContents .top_layout05 .top_layout05_Box .columnBox .column h4 {
    font-size: 1.6rem;
  }
  #mainContents .top_layout05 .top_layout05_Box .columnBox .column h4::before {
    right: 0;
    width: 20px;
    height: 5px;
    margin: -3px 0 0 0;
  }
  #mainContents .top_layout05 .top_layout05_Box .columnBox .column p {
    padding: 10px 0 0;
    font-size: 1.4rem;
  }
  #mainContents .top_layout05 .top_layout05_Box .link01 {
    height: 36px;
  }
  #mainContents .top_layout05 .top_layout05_Box .link01 a {
    width: 186px;
    height: 36px;
    padding: 9px 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .top_layout05 .top_layout05_Box .link01 a:after {
    right: 15px;
    width: 20px;
    height: 5px;
    margin: -3px 0 0 0;
  }
}

#mainContents .top_layout06 {
  width: 100%;
  padding: 100px 0 150px;
  background-color: #EFEFEF;
}
#mainContents .top_layout06 .top_layout06_Box {
  position: relative;
  width: 1116px;
  margin: 0 auto;
}
#mainContents .top_layout06 .top_layout06_Box p.sub_Title {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .top_layout06 .top_layout06_Box h3 {
  padding: 15px 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: 4.0rem;
  font-weight: 500;
}
#mainContents .top_layout06 .column_Box {
  width: 100%;
  padding: 45px 0 0;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
}
#mainContents .top_layout06 .column {
  width: 352px;
  margin: 0 30px 40px 0;
}
#mainContents .top_layout06 .column:nth-child(3n) {
  margin: 0 0 40px 0;
}
#mainContents .top_layout06 .column a:hover {
  text-decoration: none;
}
#mainContents .top_layout06 .column img {
  width: 352px;
  height: 225px;
  object-fit: cover;
}
#mainContents .top_layout06 .column .text_Box {
  position: relative;
  z-index: 100;
  width: 320px;
  min-height: 175px;
  margin: -30px 0 0 32px;
  padding: 25px 0 0 25px;
  box-sizing: border-box;
  background-color: #EFEFEF;
}
#mainContents .top_layout06 .column .text_Box h4 {
  display: inline;
  font-size: 1.4rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .top_layout06 .column .text_Box p.text01 {
  display: inline;
  font-size: 1.4rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .top_layout06 .column .text_Box h5 {
  display: inline;
  font-size: 1.4rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .top_layout06 .column .text_Box h6 {
  padding: 5px 0 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4;
}
#mainContents .top_layout06 .column .text_Box h6:hover {
  text-decoration: underline;
  color: #B91F3A;
}
#mainContents .top_layout06 .column .text_Box .text02 {
  padding: 5px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  color: #959595;
  line-height: 1.4;
}
#mainContents .top_layout06 .top_layout06_Box .link01 {
  position: relative;
  width: 100%;
  height: 40px;
}
#mainContents .top_layout06 .top_layout06_Box .link01 a {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 308px;
  height: 40px;
  padding: 11px 0 0 25px;
  border: 1px solid #000;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 300;
  transition: all 0.3s ease;
}
#mainContents .top_layout06 .top_layout06_Box .link01 a:hover {
  border: 1px solid #B91F3A;
  background-color: #B91F3A;
  color: #FFF;
  text-decoration: none;
}
#mainContents .top_layout06 .top_layout06_Box .link01 a:after {
  position: absolute;
  right: 15px;
  top: 50%;
  width: 30px;
  height: 8px;
  margin: -3px 0 0 0;
  background-image: url("../img/icon18.svg");
  background-size: cover;
  content: "";
}
#mainContents .top_layout06 .top_layout06_Box .link01 a:hover:after {
  background-image: url("../img/icon17.svg");
}
@media only screen and (max-width: 767px) {
  #mainContents .top_layout06 {
    padding: 50px 0 80px;
  }
  #mainContents .top_layout06 .top_layout06_Box {
    width: calc(100% - 50px);
  }
  #mainContents .top_layout06 .top_layout06_Box p.sub_Title {
    font-size: 1.4rem;
  }
  #mainContents .top_layout06 .top_layout06_Box h3 {
    padding: 10px 0 10px;
    font-size: 2.3rem;
  }
  #mainContents .top_layout06 .column_Box {
    padding: 20px 0 0;
  }
  #mainContents .top_layout06 .column {
    width: 100%;
    margin: 0 0 40px 0;
  }
  #mainContents .top_layout06 .column:nth-child(3n) {
    margin: 0 0 40px 0;
  }
  #mainContents .top_layout06 .column img {
    width: 100%;
    height: auto;
  }
  #mainContents .top_layout06 .column .text_Box {
    width: calc(100% - 30px);
    min-height: auto;
    margin: -30px 0 0 30px;
    padding: 20px 0 0 20px;
  }
  #mainContents .top_layout06 .column .text_Box h6 {
    font-size: 1.6rem;
  }

  #mainContents .top_layout06 .top_layout06_Box .link01 {
    height: 36px;
  }
  #mainContents .top_layout06 .top_layout06_Box .link01 a {
    width: 242px;
    height: 36px;
    padding: 9px 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .top_layout06 .top_layout06_Box .link01 a:after {
    right: 15px;
    width: 20px;
    height: 5px;
    margin: -3px 0 0 0;
  }
}

#mainContents .top_layout07 {
  width: 100%;
  padding: 150px 0 0;
}
#mainContents .top_layout07 .top_layout07_Box {
  position: relative;
  width: 1116px;
  margin: 0 auto;
}
#mainContents .top_layout07 .top_layout07_Box p.sub_Title {
  padding: 0 0 0 573px;
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .top_layout07 .top_layout07_Box h2 {
  padding: 15px 0 0 573px;
  font-family: "Noto Serif JP", serif;
  font-size: 4.0rem;
  font-weight: 500;
}
#mainContents .top_layout07 .top_layout07_Box p.text02 {
  padding: 20px 0 90px 573px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
#mainContents .top_layout07 .top_layout07_Box .link01 {
  width: 362px;
  min-height: 160px;
  /* padding: 0 0 320px 573px; */
  padding: 0 0 200px 573px;
}
#mainContents .top_layout07 .top_layout07_Box .link01 a {
  position: relative;
  display: block;
  width: 100%;
  height: 70px;
  margin: 0 0 20px;
  padding: 25px 0 0 30px;
  background-color: #EFEFEF;
  box-sizing: border-box;
  border-radius: 3px;
  font-size: 1.8rem;
  font-weight: 400;
  transition: all 0.3s ease;
}
#mainContents .top_layout07 .top_layout07_Box .link01 a:hover {
  background-color: #B91F3A;
  color: #FFF;
  text-decoration: none;
}
#mainContents .top_layout07 .top_layout07_Box .link01 a:after {
  position: absolute;
  right: 30px;
  top: 50%;
  width: 30px;
  height: 8px;
  margin: -3px 0 0 0;
  background-image: url("../img/icon18.svg");
  background-size: cover;
  content: "";
}
#mainContents .top_layout07 .top_layout07_Box .link01 a:hover:after {
  background-image: url("../img/icon17.svg");
}
#mainContents .top_layout07 .top_layout07_Box .top_layout07_Img01 {
  position: absolute;
  left: 0;
  top: 0;
}
#mainContents .top_layout07 .top_layout07_Box .top_layout07_Img01 img {
  width: 460px;
  height: 600px;
}
#mainContents .top_layout07 .top_layout07_Img02 {
  width: 100%;
}
#mainContents .top_layout07 .top_layout07_Img02 img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #mainContents .top_layout07 {
    padding: 80px 0 0;
  }
  #mainContents .top_layout07 .top_layout07_Box {
    width: calc(100% - 50px);
  }
  #mainContents .top_layout07 .top_layout07_Box p.sub_Title {
    padding: 20px 0 0;
    font-size: 1.4rem;
  }
  #mainContents .top_layout07 .top_layout07_Box h2 {
    padding: 10px 0 0;
    font-size: 2.3rem;
  }
  #mainContents .top_layout07 .top_layout07_Box p.text02 {
    padding: 18px 0 0 0;
    font-size: 1.4rem;
  }
  #mainContents .top_layout07 .top_layout07_Box .link01 {
    width: 100%;
    min-height: auto;
    padding: 20px 0 0;
  }
  #mainContents .top_layout07 .top_layout07_Box .link01 a {
    height: 50px;
    margin: 0 0 10px;
    padding: 17px 0 0 20px;
    font-size: 1.6rem;
  }
  #mainContents .top_layout07 .top_layout07_Box .link01 a:hover {
    background-color: #EFEFEF;
    color: #000;
  }
  #mainContents .top_layout07 .top_layout07_Box .link01 a:after {
    right: 20px;
  }
  #mainContents .top_layout07 .top_layout07_Box .link01 a:hover:after {
    background-image: url("../img/icon18.svg");
  }
  #mainContents .top_layout07 .top_layout07_Box .top_layout07_Img01 {
    position: static;
  }
  #mainContents .top_layout07 .top_layout07_Box .top_layout07_Img01 img {
    width: 100%;
    height: auto;
  }
  #mainContents .top_layout07 .top_layout07_Img02 {
    padding: 70px 0 0;
  }
}


#mainContents .top_layout08 {
  width: 100%;
  padding: 150px 0 150px;
}
#mainContents .top_layout08 .top_layout08_Box {
  position: relative;
  width: 1116px;
  margin: 0 auto;
}
#mainContents .top_layout08 .top_layout08_Box p.sub_Title {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .top_layout08 .top_layout08_Box h2 {
  padding: 15px 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: 4.0rem;
  font-weight: 500;
}

#mainContents .top_layout08 .top_layout08_Box .column_Box {
  width: 100%;
  padding: 50px 0 0;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
}
#mainContents .top_layout08 .top_layout08_Box .column {
  width: 352px;
  margin: 0 30px 40px 0;
}
#mainContents .top_layout08 .top_layout08_Box .column:nth-child(3n) {
  margin: 0 0 40px 0;
}
#mainContents .top_layout08 .top_layout08_Box .column a:hover {
  text-decoration: none;
  color: #B91F3A;
}
#mainContents .top_layout08 .top_layout08_Box .column img {
  width: 352px;
  height: 200px;
  object-fit: cover;
}
#mainContents .top_layout08 .top_layout08_Box .column p {
  padding: 20px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  color: #959595;
}
#mainContents .top_layout08 .top_layout08_Box .column h3 {
  padding: 10px 0 0;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.6;
}
#mainContents .top_layout08 .top_layout08_Box .column h3:hover {
  text-decoration: underline;
}

#mainContents .top_layout08 .top_layout08_Box .link01 {
  position: relative;
  width: 100%;
  height: 40px;
}
#mainContents .top_layout08 .top_layout08_Box .link01 a {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 246px;
  height: 40px;
  padding: 11px 0 0 25px;
  border: 1px solid #000;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 300;
  transition: all 0.3s ease;
}
#mainContents .top_layout08 .top_layout08_Box .link01 a:hover {
  border: 1px solid #B91F3A;
  background-color: #B91F3A;
  color: #FFF;
  text-decoration: none;
}
#mainContents .top_layout08 .top_layout08_Box .link01 a:after {
  position: absolute;
  right: 15px;
  top: 50%;
  width: 30px;
  height: 8px;
  margin: -3px 0 0 0;
  background-image: url("../img/icon18.svg");
  background-size: cover;
  content: "";
}
#mainContents .top_layout08 .top_layout08_Box .link01 a:hover:after {
  background-image: url("../img/icon17.svg");
}
@media only screen and (max-width: 767px) {
  #mainContents .top_layout08 {
    padding: 50px 0 80px;
  }
  #mainContents .top_layout08 .top_layout08_Box {
    width: calc(100% - 50px);
  }
  #mainContents .top_layout08 .top_layout08_Box p.sub_Title {
    font-size: 1.4rem;
  }
  #mainContents .top_layout08 .top_layout08_Box h2 {
    padding: 10px 0 10px;
    font-size: 2.3rem;
  }
  #mainContents .top_layout08 .top_layout08_Box .column_Box {
    padding: 10px 0 0;
    justify-content: space-between;
  }
  #mainContents .top_layout08 .top_layout08_Box .column {
    width: 48%;
    margin: 0 0 40px 0;
  }
  #mainContents .top_layout08 .top_layout08_Box .column:nth-child(3) {
    display: none;
  }
  #mainContents .top_layout08 .top_layout08_Box .column img {
    width: 100%;
    height: auto;
  }
  #mainContents .top_layout08 .top_layout08_Box .column p {
    padding: 15px 0 0;
  }
  #mainContents .top_layout08 .top_layout08_Box .column h3 {
    font-size: 1.6rem;
  }

  #mainContents .top_layout08 .top_layout08_Box .link01 {
    height: 36px;
  }
  #mainContents .top_layout08 .top_layout08_Box .link01 a {
    width: 172px;
    height: 36px;
    padding: 9px 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .top_layout08 .top_layout08_Box .link01 a:after {
    right: 15px;
    width: 20px;
    height: 5px;
    margin: -3px 0 0 0;
  }
}


#mainContents .top_layout09 {
  width: 100%;
  min-height: 264px;
  padding: 150px 0 0;
  background-color: #EFEFEF;
}
#mainContents .top_layout09 .top_layout09_Box {
  position: relative;
  width: 1116px;
  margin: 0 auto;
}
#mainContents .top_layout09 .top_layout09_Box p.sub_Title {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .top_layout09 .top_layout09_Box h2 {
  padding: 15px 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: 4.0rem;
  font-weight: 500;
}
#mainContents .top_layout09 .top_layout09_Box ul {
  position: absolute;
  right: 0;
  top: 0;
  width: 543px;
  list-style-type: none;
}
#mainContents .top_layout09 .top_layout09_Box ul li {
  width: 100%;
}
#mainContents .top_layout09 .top_layout09_Box ul li a {
  position: relative;
  display: block;
  width: 100%;
  height: 87px;
  padding: 33px 0 0;
  border-bottom: 1px solid #C9CACA;
  box-sizing: border-box;
  font-size: 1.8rem;
  font-weight: 400;
  transition: all 0.3s ease;
}
#mainContents .top_layout09 .top_layout09_Box ul li a span {
  padding: 0 0 0 15px;
  font-size: 1.4rem;
  font-weight: 400;
}
#mainContents .top_layout09 .top_layout09_Box ul li a:hover {
  color: #B91F3A;
}
#mainContents .top_layout09 .top_layout09_Box ul li a:after {
  position: absolute;
  right: 30px;
  top: 50%;
  width: 30px;
  height: 8px;
  margin: -3px 0 0 0;
  background-image: url("../img/icon18.svg");
  background-size: cover;
  content: "";
}
#mainContents .top_layout09 .top_layout09_Box ul li a:hover:after {
  background-image: url("../img/icon19.svg");
}
@media only screen and (max-width: 767px) {
  #mainContents .top_layout09 {
    padding: 80px 0 0;
  }
  #mainContents .top_layout09 .top_layout09_Box {
    width: calc(100% - 50px);
  }
  #mainContents .top_layout09 .top_layout09_Box p.sub_Title {
    font-size: 1.4rem;
  }
  #mainContents .top_layout09 .top_layout09_Box h2 {
    padding: 10px 0 10px;
    font-size: 2.3rem;
  }
  #mainContents .top_layout09 .top_layout09_Box ul {
    position: static;
    width: 100%;
  }
  #mainContents .top_layout09 .top_layout09_Box ul li a {
    height: 66px;
    padding: 24px 0 0;
    font-size: 1.6rem;
  }
  #mainContents .top_layout09 .top_layout09_Box ul li a span {
    padding: 0 0 0 10px;
  }
  #mainContents .top_layout09 .top_layout09_Box ul li a:after {
    right: 0;
  }
}


/*==========================================
 共通レイアウト
===========================================*/
#mainContents .layoutTyp01 {
  width: 100%;
  padding: 80px 0 120px;
}
#mainContents .layoutTyp01.bc_Grey {
  background-color: #EFEFEF;
}
#mainContents .layoutTyp01 .layoutTyp01_Box {
  position: relative;
  width: 1116px;
  margin: 0 auto;
}
#mainContents .layoutTyp01 h2 {
  position: absolute;
  left: 0;
  top: 20px;
  font-family: "Noto Serif JP", serif;
  font-size: 4.0rem;
  font-weight: 500;
}
#mainContents .layoutTyp01 .columnBox {
  width: 100%;
  padding: 0 0 0 382px;
  box-sizing: border-box;
}
#mainContents .layoutTyp01 .columnBox table {
  width: 100%;
}
#mainContents .layoutTyp01 .columnBox table tr {
  border-bottom: 1px solid #C9CACA;
}
#mainContents .layoutTyp01 .columnBox table tr:last-child {
  border-bottom: none;
}
#mainContents .layoutTyp01 .columnBox table tr th {
  width: 158px;
  padding: 35px 0 35px 25px;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: left;
  line-height: 1.6;
}
#mainContents .layoutTyp01 .columnBox table tr td {
  padding: 35px 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.6;
}
#mainContents .layoutTyp01 .columnBox table tr td ul {
  padding: 0 0 0 20px;
}
#mainContents .layoutTyp01 .columnBox table tr td ul li {
  padding: 0 0 15px;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp01 {
    padding: 80px 0 70px;
  }
  #mainContents .layoutTyp01 .layoutTyp01_Box {
    width: calc(100% - 50px);
  }
  #mainContents .layoutTyp01 h2 {
    position: static;
    font-size: 2.3rem;
  }
  #mainContents .layoutTyp01 .columnBox {
    padding: 15px 0 0;
  }
  #mainContents .layoutTyp01 .columnBox table {
    width: 100%;
  }
  #mainContents .layoutTyp01 .columnBox table tr th {
    display: block;
    width: 100%;
    padding: 17px 0 5px;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  #mainContents .layoutTyp01 .columnBox table tr td {
    display: block;
    width: 100%;
    padding: 0 0 17px;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  #mainContents .layoutTyp01 .columnBox table tr td ul {
    padding: 0 0 0 20px;
  }
  #mainContents .layoutTyp01 .columnBox table tr td ul li {
    padding: 0 0 15px;
  }
}


#mainContents .layoutTyp02 {
  position: relative;
  width: 1116px;
  margin: 170px auto 270px;
}
#mainContents .layoutTyp02 h2 {
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Noto Serif JP", serif;
  font-size: 4.0rem;
  font-weight: 500;
}
#mainContents .layoutTyp02 .columnBox {
  width: 100%;
  padding: 0 0 0 382px;
  box-sizing: border-box;
}
#mainContents .layoutTyp02 .columnBox .column {
  width: 100%;
  margin: 0 0 35px;
  padding: 0 0 35px;
  border-bottom: 1px solid #C9CACA;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .layoutTyp02 .columnBox .column:last-child {
  border-bottom: none;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_L {
  width: 350px;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_L img {
  width: 100%;
  height: auto;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R {
  width: 352px;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R h3 {
  font-size: 1.8rem;
  font-weight: 500;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R p {
  padding: 10px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.4;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R ul {
  padding: 20px 0 0;
  list-style-type: none;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R ul li {
  width: 132px;
  height: 31px;
  margin: 0 7px 7px 0;
  padding: 8px 0 0;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.3rem;
  font-weight: 400;
  text-align: center;
  color: #FFF;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R ul li.color01 {
  background-color: #A57841;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R ul li.color02 {
  background-color: #3A7A4A;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R ul li.color03 {
  background-color: #2C6D8C;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R ul li.color04 {
  background-color: #944483;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R .link_Map,
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R .link_Access {
  padding: 20px 0 0;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R .link_Map a,
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R .link_Access a {
  position: relative;
  padding: 0 0 0 20px;
  font-size: 1.6rem;
  font-weight: 300;
  transition: all 0.3s ease;
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R .link_Map a::before,
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R .link_Access a::before {
  position: absolute;
  left: 0;
  top: 50%;
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R .link_Map a::before {
  width: 12px;
  height: 16px;
  margin: -7px 0 0;
  background-image: url("../img/icon10.svg");
}
#mainContents .layoutTyp02 .columnBox .column .column_Sub_R .link_Access a::before {
  width: 13px;
  height: 14px;
  margin: -7px 0 0;
  background-image: url("../img/icon11.svg");
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp02 {
    width: calc(100% - 50px);
    margin: 80px auto 180px;
  }
  #mainContents .layoutTyp02 h2 {
    position: static;
    font-size: 2.3rem;
  }
  #mainContents .layoutTyp02 .columnBox {
    padding: 30px 0 0;
  }
  #mainContents .layoutTyp02 .columnBox .column {
    margin: 0 0 30px;
    padding: 0 0 30px;
  }
  #mainContents .layoutTyp02 .columnBox .column .column_Sub_L {
    width: 100%;;
    padding: 0 0 15px;
  }
  #mainContents .layoutTyp02 .columnBox .column .column_Sub_R {
    width: 100%;
  }
  #mainContents .layoutTyp02 .columnBox .column .column_Sub_R h3 {
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp02 .columnBox .column .column_Sub_R p {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp02 .columnBox .column .column_Sub_R ul {
    padding: 10px 0 0;
  }
  #mainContents .layoutTyp02 .columnBox .column .column_Sub_R ul li {
    height: 24px;
    padding: 5px 0 0;
  }
  #mainContents .layoutTyp02 .columnBox .column .column_Sub_R .link_Map,
  #mainContents .layoutTyp02 .columnBox .column .column_Sub_R .link_Access {
    padding: 15px 0 0;
  }
  #mainContents .layoutTyp02 .columnBox .column .column_Sub_R .link_Map a,
  #mainContents .layoutTyp02 .columnBox .column .column_Sub_R .link_Access a {
    font-size: 1.4rem;
  }
}


#mainContents .layoutTyp03 {
  width: 1116px;
  margin: 0 auto;
  padding: 100px 0 10px;
}
#mainContents .layoutTyp03 p.text01 {
  padding: 100px 0 50px;
  font-size: 2.6rem;
  font-weight: 400;
}
#mainContents .layoutTyp03 .column_Box {
  width: 100%;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
}
#mainContents .layoutTyp03 .column {
  width: 352px;
  margin: 0 30px 40px 0;
}
#mainContents .layoutTyp03 .column:nth-child(3n) {
  margin: 0 0 40px 0;
}
#mainContents .layoutTyp03 .column a:hover {
  text-decoration: none;
}
#mainContents .layoutTyp03 .column img {
  width: 352px;
  height: 225px;
  object-fit: cover;
}
#mainContents .layoutTyp03 .column .text_Box {
  position: relative;
  z-index: 100;
  width: 320px;
  min-height: 175px;
  margin: -30px 0 0 32px;
  padding: 25px 0 0 25px;
  box-sizing: border-box;
  background-color: #FFF;
}
#mainContents .layoutTyp03 .column .text_Box h2 {
  display: inline;
  font-size: 1.4rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp03 .column .text_Box h3 {
  display: inline;
  font-size: 1.4rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp03 .column .text_Box h4 {
  padding: 5px 0 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4;
}
#mainContents .layoutTyp03 .column .text_Box h4:hover {
  text-decoration: underline;
  color: #B91F3A;
}
#mainContents .layoutTyp03 .column .text_Box p.text02 {
  display: inline;
  font-size: 1.4rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp03 .column .text_Box p.text03 {
  padding: 5px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  color: #959595;
  line-height: 1.4;
}
#mainContents .layoutTyp03 .link01 {
  width: 308px;
  margin-left: calc(100% - 308px);
  padding: 10px 0 300px;
}
#mainContents .layoutTyp03 .link01 a {
  position: relative;
  display: block;
  width: 308px;
  height: 40px;
  padding: 11px 0 0 20px;
  border: 1px solid #000;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 300;
}
#mainContents .layoutTyp03 .link01 a:after {
  position: absolute;
  right: 20px;
  top: 50%;
  width: 20px;
  height: 8px;
  margin: -4px 0 0 0;
  background-image: url("../img/icon13.svg");
  background-size: cover;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp03 {
    width: calc(100% - 50px);
    padding: 80px 0 10px;
  }
  #mainContents .layoutTyp03 p.text01 {
    padding: 0 0 30px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp03 .column {
    width: 100%;
    margin: 0 0 40px 0;
  }
  #mainContents .layoutTyp03 .column:nth-child(3n) {
    margin: 0 0 40px 0;
  }
  #mainContents .layoutTyp03 .column img {
    width: 100%;
    height: auto;
  }
  #mainContents .layoutTyp03 .column .text_Box {
    width: calc(100% - 30px);
    min-height: auto;
    margin: -30px 0 0 30px;
    padding: 20px 0 0 20px;
  }
  #mainContents .layoutTyp03 .column .text_Box h4 {
    font-size: 1.6rem;
  }

  #mainContents .layoutTyp03 .link01 {
    width: 242px;
    margin: 0 auto;
    padding: 10px 0 200px;
  }
  #mainContents .layoutTyp03 .link01 a {
    width: 242px;
    height: 36px;
    padding: 9px 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp03 .link01 a:after {
    right: 13px;
  }
}


#mainContents .layoutTyp04 {
  width: 1116px;
  margin: 0 auto;
  padding: 70px 0 0;
}
#mainContents .layoutTyp04 .title_Box {
  position: relative;
  width: 100%;
  min-height: 570px;
}
#mainContents .layoutTyp04 .title_Box img {
  position: absolute;
  left: 382px;
  top: -40px;
  width: 859px;
  height: 550px;
  object-fit: cover;
}
#mainContents .layoutTyp04 .title_Box h1 {
  position: relative;
  width: 520px;
  margin: 0 0 35px;
  padding: 35px 40px 35px 0;
  box-sizing: border-box;
  background-color: #B91F3A;
  font-size: 3.0rem;
  font-weight: 500;
  line-height: 1.6;
  color: #FFF;
}
#mainContents .layoutTyp04 .title_Box h1::before {
  position: absolute;
  left: -125px;
  top: 0;
  width: 125px;
  height: 100%;
  background-color: #B91F3A;
  content: "";
}
#mainContents .layoutTyp04 .title_Box h2 {
  display: inline;
  font-size: 1.4rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp04 .title_Box p.text01 {
  display: inline;
  font-size: 1.4rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp04 .title_Box h3 {
  display: inline;
  font-size: 1.4rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp04 .title_Box p.text02 {
  padding: 10px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  color: #959595;
  line-height: 1.4;
}

#mainContents .layoutTyp04 .contents_Box {
  position: relative;
  width: 100%;
  margin: 100px 0 150px;
}
#mainContents .layoutTyp04 .contents_Box img {
  position: absolute;
  left: -125px;
  top: 0;
  width: 560px;
  height: 370px;
  object-fit: cover;
}
#mainContents .layoutTyp04 .contents_Box .text_Box {
  padding: 0 0 0 573px;
}
#mainContents .layoutTyp04 .contents_Box h3 {
  padding: 0 0 30px;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.4;
  color: #B91F3A;
}
#mainContents .layoutTyp04 .contents_Box p {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}

#mainContents .layoutTyp04 .link01 {
  width: 308px;
  margin: 0 auto;
  padding: 70px 0 0;
}
#mainContents .layoutTyp04 .link01 a {
  position: relative;
  display: block;
  width: 308px;
  height: 40px;
  padding: 11px 0 0 20px;
  border: 1px solid #000;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 300;
}
#mainContents .layoutTyp04 .link01 a:after {
  position: absolute;
  right: 20px;
  top: 50%;
  width: 20px;
  height: 8px;
  margin: -4px 0 0 0;
  background-image: url("../img/icon13.svg");
  background-size: cover;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp04 {
    width: 100%;
    padding: 30px 0 0;
  }
  #mainContents .layoutTyp04 .title_Box {
    min-height: auto;
  }
  #mainContents .layoutTyp04 .title_Box img {
    position: static;
    width: 100%;
    height: auto;
  }
  #mainContents .layoutTyp04 .title_Box h1 {
    position: relative;
    width: calc(100% - 25px);
    margin: -30px 0 20px;
    padding: 25px 25px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp04 .title_Box h1::before {
    display: none;
  }
  #mainContents .layoutTyp04 .title_Box h2 {
    padding: 0 0 0 25px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp04 .title_Box p.text01 {
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp04 .title_Box p.text02 {
    padding: 10px 0 0 25px;
  }

  #mainContents .layoutTyp04 .contents_Box {
    margin: 70px 0;
  }
  #mainContents .layoutTyp04 .contents_Box img {
    position: static;
    width: 100%;
    height: auto;
  }
  #mainContents .layoutTyp04 .contents_Box .text_Box {
    width: calc(100% - 50px);
    margin: 0 auto;
    padding: 30px 0 0;
  }
  #mainContents .layoutTyp04 .contents_Box h3 {
    padding: 0 0 10px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp04 .contents_Box p {
    padding: 0 0 20px;
    font-size: 1.4rem;
  }

  #mainContents .layoutTyp04 .link01 {
    width: 242px;
    padding: 0;
  }
  #mainContents .layoutTyp04 .link01 a {
    width: 242px;
    height: 36px;
    padding: 9px 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp04 .link01 a:after {
    right: 13px;
  }
}


#mainContents .layoutTyp05 {
  width: 100%;
  padding: 100px 0 10px;
  background-color: #EFEFEF;
}
#mainContents .layoutTyp05 .contents_Box {
  position: relative;
  width: 1116px;
  margin: 0 auto;
}
#mainContents .layoutTyp05 .contents_Box img {
  position: absolute;
  left: 680px;
  top: 67px;
  width: 560px;
  height: 370px;
  object-fit: cover;
}
#mainContents .layoutTyp05 .contents_Box .text_Box {
  width: 548px;
  padding: 0 0 90px;
}
#mainContents .layoutTyp05 .contents_Box h3 {
  padding: 0 0 30px;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 1.4;
  color: #B91F3A;
}
#mainContents .layoutTyp05 .contents_Box p {
  padding: 0 0 30px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp05 {
    padding: 70px 0 20px;
  }
  #mainContents .layoutTyp05 .contents_Box {
    width: 100%;
  }
  #mainContents .layoutTyp05 .contents_Box img {
    position: static;
    width: 100%;
    height: auto;
    padding: 0 0 30px;
  }
  #mainContents .layoutTyp05 .contents_Box .text_Box {
    width: calc(100% - 50px);
    margin: 0 auto;
    padding: 0;
  }
  #mainContents .layoutTyp05 .contents_Box h3 {
    padding: 0 0 10px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp05 .contents_Box p {
    padding: 0 0 30px;
    font-size: 1.4rem;
  }
}


#mainContents .layoutTyp06 {
  width: 100%;
  padding: 100px 0 0;
}
#mainContents .layoutTyp06.bc_Grey {
  background-color: #EFEFEF;
  margin: 0 0 300px;
}
#mainContents .layoutTyp06 .layoutTyp06_Area {
  width: 1116px;
  margin: 0 auto;
}
#mainContents .layoutTyp06 p.text01 {
  padding: 0 0 50px;
  font-size: 2.6rem;
  font-weight: 400;
}
#mainContents .layoutTyp06 .column_Box {
  width: 100%;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
}
#mainContents .layoutTyp06 .column {
  width: 352px;
  margin: 0 30px 40px 0;
}
#mainContents .layoutTyp06 .column:nth-child(3n) {
  margin: 0 0 40px 0;
}
#mainContents .layoutTyp06 .column a:hover {
  text-decoration: none;
}
#mainContents .layoutTyp06 .column img {
  width: 352px;
  height: 200px;
  object-fit: cover;
}
#mainContents .layoutTyp06 .column p {
  padding: 20px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  color: #959595;
}
#mainContents .layoutTyp06 .column h2 {
  padding: 10px 0 0;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.6;
}
#mainContents .layoutTyp06 .column h2:hover {
  text-decoration: underline;
}

#mainContents .layoutTyp06 .link01 {
  width: 228px;
  margin-left: calc(100% - 228px);
  padding: 10px 0 100px;
}
#mainContents .layoutTyp06 .link01 a {
  position: relative;
  display: block;
  width: 228px;
  height: 40px;
  padding: 11px 0 0 20px;
  border: 1px solid #000;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 300;
}
#mainContents .layoutTyp06 .link01 a:after {
  position: absolute;
  right: 20px;
  top: 50%;
  width: 20px;
  height: 8px;
  margin: -4px 0 0 0;
  background-image: url("../img/icon13.svg");
  background-size: cover;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp06 {
    padding: 60px 0 0;
  }
  #mainContents .layoutTyp06.bc_Grey {
    margin: 0 0 200px;
  }
  #mainContents .layoutTyp06 .layoutTyp06_Area {
    width: calc(100% - 50px);
  }
  #mainContents .layoutTyp06 p.text01 {
    padding: 0 0 30px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp06 .column {
    width: 100%;
    margin: 0 0 60px 0;
  }
  #mainContents .layoutTyp06 .column img {
    width: 100%;
    height: auto;
  }
  #mainContents .layoutTyp06 .column p {
    padding: 15px 0 0;
  }
  #mainContents .layoutTyp06 .column h2 {
    font-size: 1.6rem;
  }

  #mainContents .layoutTyp06 .link01 {
    width: 172px;
    margin: 0 auto;
    padding: 10px 0 80px;
  }
  #mainContents .layoutTyp06 .link01 a {
    width: 172px;
    height: 36px;
    padding: 9px 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp06 .link01 a:after {
    right: 13px;
  }
}


#mainContents .layoutTyp07 {
  width: 800px;
  margin: 0 auto;
  padding: 90px 0 0;
}
#mainContents .layoutTyp07 .title_Box {
  width: 100%;
  padding: 0 0 50px;
  border-bottom: 1px solid #C9CACA;
}
#mainContents .layoutTyp07 .title_Box h1 {
  font-size: 2.6rem;
  font-weight: 400;
  line-height: 1.6;
}
#mainContents .layoutTyp07 .title_Box p.date {
  padding: 10px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  color: #959595;
}

#mainContents .layoutTyp07 .entry_Body {
  width: 100%;
  padding: 45px 0 100px;
}
#mainContents .layoutTyp07 .entry_Body p {
  /* padding: 0 0 30px; */
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
#mainContents .layoutTyp07 .entry_Body h2 {
  padding: 30px 0 30px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.4;
}
#mainContents .layoutTyp07 .entry_Body p a {
  color: #B91F3A;
  text-decoration: underline;
}
#mainContents .layoutTyp07 .entry_Body p a:hover {
  opacity: 0.7;
}
#mainContents .layoutTyp07 .entry_Body ul {
  padding: 0 0 30px 20px;
}
#mainContents .layoutTyp07 .entry_Body ul li {
  padding: 0 0 10px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.4;
}

#mainContents .layoutTyp07 .entry_Body img {
  /* padding: 20px 0 30px; */
  padding: 20px 0 0;
  max-width: 100%;
  height: auto;
}

#mainContents .layoutTyp07 .link01 {
  width: 228px;
  margin: 0 auto;
  padding: 0 0 150px;
}
#mainContents .layoutTyp07 .link01 a {
  position: relative;
  display: block;
  width: 228px;
  height: 40px;
  padding: 11px 0 0 20px;
  border: 1px solid #000;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 300;
}
#mainContents .layoutTyp07 .link01 a:after {
  position: absolute;
  right: 20px;
  top: 50%;
  width: 20px;
  height: 8px;
  margin: -4px 0 0 0;
  background-image: url("../img/icon13.svg");
  background-size: cover;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp07 {
    width: calc(100% - 50px);
    padding: 40px 0 0;
  }
  #mainContents .layoutTyp07 .title_Box {
    padding: 0 0 30px;
  }
  #mainContents .layoutTyp07 .title_Box h1 {
    font-size: 1.6rem;
  }

  #mainContents .layoutTyp07 .entry_Body {
    padding: 30px 0 80px;
  }
  #mainContents .layoutTyp07 .entry_Body p {
    /* padding: 0 0 20px; */
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp07 .entry_Body h2 {
    padding: 20px 0 20px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp07 .entry_Body ul {
    padding: 0 0 20px 20px;
  }
  #mainContents .layoutTyp07 .entry_Body ul li {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp07 .entry_Body img {
    padding: 20px 0 0;
  }

  #mainContents .layoutTyp07 .link01 {
    width: 172px;
    padding: 10px 0 150px;
  }
  #mainContents .layoutTyp07 .link01 a {
    width: 172px;
    height: 36px;
    padding: 9px 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp07 .link01 a:after {
    right: 13px;
  }
}


#mainContents .layoutTyp08 {
  width: 1116px;
  margin: 0 auto;
  padding: 90px 0 0;
}
#mainContents .layoutTyp08.typ01 {
  padding: 30px 0 0;
}
#mainContents .layoutTyp08 h2 {
  padding: 50px 0 30px;
  font-size: 2.6rem;
  font-weight: 400;
  text-align: center;
}
#mainContents .layoutTyp08 p.text_01 {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  text-align: center;
}
#mainContents .layoutTyp08 p.text_02 {
  padding: 0 0 280px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
  text-align: center;
}
#mainContents .layoutTyp08 p.text_01 a {
  color: #B91F3A;
  text-decoration: underline;
}
#mainContents .layoutTyp08 .formArea {
  width: 100%;
  margin: 70px 0 300px;
  padding: 75px 158px;
  box-sizing: border-box;
  background-color: #EFEFEF;
}
#mainContents .layoutTyp08 .formArea .form_Flow {
  width: 500px;
  margin: 0 auto;
  padding: 0 0 50px;
}
#mainContents .layoutTyp08 .formArea .form_Flow img {
  width: 100%;
  height: auto;
}

#mainContents .layoutTyp08 .formArea p.text_pequired {
  position: relative;
  padding: 0 0 0 20px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #B91F3A;
}
#mainContents .layoutTyp08 .formArea p.text_pequired::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  margin: -3px 0 0;
  border-radius: 8px;
  background-color: #B91F3A;
  content: "";
}
#mainContents .layoutTyp08 .formArea .form_Box {
  width: 100%;
  padding: 40px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
}
#mainContents .layoutTyp08 .formArea .form_Box h2 {
  position: relative;
  display: inline-block;
  margin: 0 0 12px;
  padding: 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4;
}
#mainContents .layoutTyp08 .formArea .form_Box h2.pequired::after {
  position: absolute;
  right: -15px;
  top: 50%;
  width: 8px;
  height: 8px;
  margin: -3px 0 0;
  border-radius: 8px;
  background-color: #B91F3A;
  content: "";
}


#mainContents .layoutTyp08 .formArea .form_Box input[type="text"],
#mainContents .layoutTyp08 .formArea .form_Box input[type="email"],
#mainContents .layoutTyp08 .formArea .form_Box input[type="tel"] {
  -webkit-appearance: none;
  display: block;
  width: 100%;
  height: 50px;
  padding: 0 20px;
  border: none;
  background-color: #FFF;
  box-sizing: border-box;
  border-radius: 3px;
  font-size: 1.6rem;
}
#mainContents .layoutTyp08 .formArea .form_Box input[type="text"]::placeholder,
#mainContents .layoutTyp08 .formArea .form_Box input[type="email"]::placeholder,
#mainContents .layoutTyp08 .formArea .form_Box input[type="tel"]::placeholder {
  color: #C9CACA;
}
#mainContents .layoutTyp08 .formArea .form_Box .form_Box_Select {
  position: relative;
}
#mainContents .layoutTyp08 .formArea .form_Box .form_Box_Select::after {
  position: absolute;
  right: 20px;
  top: 50%;
  width: 8px;
  height: 4px;
  margin: -1px 0 0;
  background-image: url("../img/icon01.svg");
  background-size: cover;
  content: "";
}

#mainContents .layoutTyp08 .formArea .form_Box .form_Box_Select select {
  -webkit-appearance: none;
  display: block;
  width: 100%;
  height: 50px;
  padding: 0 20px;
  border: none;
  background-color: #FFF;
  box-sizing: border-box;
  border-radius: 3px;
  font-size: 1.6rem;
}
#mainContents .layoutTyp08 .formArea .form_Box input[type="file"] {
  -webkit-appearance: none;
  display: block;
  width: 100%;
  height: 50px;
  border: none;
  box-sizing: border-box;
  border-radius: 3px;
  font-size: 1.6rem;
}
#mainContents .layoutTyp08 .formArea .form_Box textarea {
  -webkit-appearance: none;
  display: block;
  width: 100%;
  height: 200px;
  padding: 10px;
  border: none;
  background-color: #FFF;
  box-sizing: border-box;
  border-radius: 3px;
  font-size: 1.6rem;
  line-height: 1.4;
}
#mainContents .layoutTyp08 .formArea .form_Box input[type="text"]:focus,
#mainContents .layoutTyp08 .formArea .form_Box input[type="email"]:focus,
#mainContents .layoutTyp08 .formArea .form_Box input[type="tel"]:focus,
#mainContents .layoutTyp08 .formArea .form_Box .form_Box_Select select:focus {
  outline: none;
}
#mainContents .layoutTyp08 .formArea .form_Box label {
  display: block;
  padding: 10px 0 10px 0;
  font-size: 1.6rem;
  font-weight: 400;
}
#mainContents .layoutTyp08 .formArea .form_Box label input[type="checkbox"],
#mainContents .layoutTyp08 .formArea .form_Box label input[type="radio"] {
  margin: -2px 4px 0 0;
  background-color: #FFF;
  accent-color: #000;
}
#mainContents .layoutTyp08 .formArea .form_Box span.error {
  padding: 10px 0 0;
  font-size: 1.4rem;
  font-weight: 300;
  color: #B91F3A;
}
#mainContents .layoutTyp08 .formArea .form_Box_Submit {
  width: 494px;
  margin: 50px auto 0;
  display: flex;
  justify-content: center;
}
#mainContents .layoutTyp08 .formArea .form_Box_Submit .submitBack,
#mainContents .layoutTyp08 .formArea .form_Box_Submit .submitConfirm {
  position: relative;
  width: 232px;
  margin: 0 15px;
}
#mainContents .layoutTyp08 .formArea .form_Box_Submit .submitConfirm::after {
  position: absolute;
  right: 25px;
  top: 50%;
  width: 30px;
  height: 8px;
  margin: -3px 0 0;
  background-image: url("../img/icon12.svg");
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp08 .formArea .form_Box_Submit .submitBack::after {
  position: absolute;
  left: 25px;
  top: 50%;
  width: 30px;
  height: 8px;
  margin: -3px 0 0;
  background-image: url("../img/icon14.svg");
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp08 .formArea .form_Box_Submit input[type="submit"] {
  -webkit-appearance: none;
  width: 100%;
  height: 70px;
  padding: 0 40px 0 0;
  box-sizing: border-box;
  background-color: #B91F3A;
  border: none;
  font-size: 1.8rem;
  font-weight: 400;
  color: #FFF;
  cursor: pointer;
  border-radius: 3px;
}

#mainContents .layoutTyp08 .formArea .form_Box_Submit input[name="submitBack"] {
  padding: 0 0 0 40px;
  background-color: #EFEFEF;
  border: 1px solid #000;
  color: #000;
}
#mainContents .layoutTyp08 .formArea .form_Box_Submit input[type="submit"]:hover {
  text-decoration: none;
  opacity: 0.7;
}

#mainContents .layoutTyp08 .formArea .form_Box p {
  padding: 10px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.4;
}
#mainContents .layoutTyp08 .formArea .form_Box p.confirm {
  padding: 0 0 10px;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.4;
}
#mainContents .layoutTyp08 .formArea .form_Box.typ01 p.confirm {
  padding: 10px 0 10px;
}
#mainContents .layoutTyp08 .formArea .form_Box .form_Box_Link01 {
  padding: 10px 0;
}
#mainContents .layoutTyp08 .formArea .form_Box .form_Box_Link01 a {
  position: relative;
  display: inline;
  font-size: 1.6rem;
  font-weight: 400;
  text-decoration: underline;
}
#mainContents .layoutTyp08 .formArea .form_Box .form_Box_Link01 a:hover {
  opacity: 0.7;
}
#mainContents .layoutTyp08 .formArea .form_Box .form_Box_Link01 a:after {
  position: absolute;
  right: -25px;
  top: 50%;
  width: 18px;
  height: 7px;
  margin: -3px 0 0 0;
  background-image: url("../img/icon13.svg");
  background-size: cover;
  content: "";
}

#mainContents .layoutTyp08 .form_End {
  width: 800px;
  margin: 0 auto;
  padding: 30px 0 0;
}
#mainContents .layoutTyp08 .form_End h2 {
  font-size: 2.6rem;
  font-weight: 400;
  text-align: center;
  color: #B91F3A;
}
#mainContents .layoutTyp08 .form_End p {
  padding: 40px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  text-align: center;
  line-height: 1.8;
}
#mainContents .layoutTyp08 .form_End .form_End_Tel {
  width: 100%;
  margin: 40px 0 0;
  padding: 40px 0;
  background-color: #FFF;
}
#mainContents .layoutTyp08 .form_End p.text01 {
  position: relative;
  padding: 0 0 0 30px;
  font-size: 3.2rem;
  font-weight: 500;
  text-align: center;
  line-height: 1;
}
#mainContents .layoutTyp08 .form_End p.text01::before {
  position: absolute;
  left: 50%;
  top: 3px;
  width: 20px;
  height: 29px;
  margin: 0 0 0 -117px;
  background-image: url("../img/icon15.svg");
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp08 .form_End p.text02 {
  padding: 20px 0 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.8;
}
#mainContents .layoutTyp08 .form_End p.text03 {
  padding: 10px 0 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  text-align: center;
  line-height: 1.8;
}

 /* 入力画面時 */
#mainContents .mw_wp_form_input .no_input {
  display: none;
}
#mainContents .mw_wp_form_input .no_preview {
  display: block;
}
#mainContents .mw_wp_form_input .submitBack {
  display: none;
}
/* 入力画面時 */

/* 確認画面時 */
#mainContents .mw_wp_form_preview .layoutTyp08 .formArea {
  margin: 10px 0 300px;
}
#mainContents .mw_wp_form_preview .no_input {
  display: block;
}
#mainContents .mw_wp_form_preview .no_preview {
  display: none;
}
#mainContents .mw_wp_form_preview .layoutTyp08 .formArea .form_Box h2 {
  display: block;
  text-align: left;
}
#mainContents .mw_wp_form_preview .layoutTyp08 .formArea .form_Box h2.pequired::after {
  display: none;
}
#mainContents .mw_wp_form_preview .layoutTyp08 .formArea .form_Box .form_Box_Select::after {
 display: none;
}
#mainContents .mw_wp_form_preview .submitBack {
  display: block;
}
/* 確認画面時 */

@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp08 {
    width: calc(100% - 50px);
    padding: 130px 0 0;
  }
  #mainContents .layoutTyp08 h2 {
    padding: 0 0 20px;
    font-size: 1.6rem;
    font-weight: 400;
    text-align: left;
    line-height: 1.4;
  }
  #mainContents .layoutTyp08.typ01 {
    padding: 0;
  }
  #mainContents .layoutTyp08 p.text_01 {
    font-size: 1.4rem;
    text-align: left;
  }
  #mainContents .layoutTyp08 p.text_02 {
    padding: 0 0 190px;
    font-size: 1.4rem;
    text-align: left;
  }
  #mainContents .layoutTyp08 .formArea {
    margin: 45px 0 200px;
    padding: 50px 30px;
  }
  #mainContents .layoutTyp08 .formArea .form_Flow {
    width: 225px;
  }
  #mainContents .layoutTyp08 .formArea p.text_pequired {
    padding: 0 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp08 .formArea .form_Box {
    padding: 30px 0 0;
  }
  #mainContents .layoutTyp08 .formArea .form_Box h2 {
    margin: 0 0 10px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp08 .formArea .form_Box h2.pequired::after {
    margin: -4px 0 0;
  }
  #mainContents .layoutTyp08 .formArea .form_Box.typ01 h2 {
    display: inline;
    margin: 0 0 10px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp08 .formArea .form_Box.typ01 h2.pequired::after {
    top: auto;
    bottom: 7px;
    margin: 0;
  }
  #mainContents .layoutTyp08 .formArea .form_Box input[type="text"],
  #mainContents .layoutTyp08 .formArea .form_Box input[type="email"],
  #mainContents .layoutTyp08 .formArea .form_Box input[type="tel"] {
    height: 40px;
    padding: 0 10px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp08 .formArea .form_Box label input[type="checkbox"],
  #mainContents .layoutTyp08 .formArea .form_Box label input[type="radio"] {
    margin: 3px 10px 0 0;
  }
  #mainContents .layoutTyp08 .formArea .form_Box .form_Box_Select select {
    height: 40px;
    padding: 0 10px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp08 .formArea .form_Box input[type="file"] {
    height: 40px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp08 .formArea .form_Box textarea {
    height: 265px;
    padding: 10px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp08 .formArea .form_Box label {
    font-size: 1.4rem;
    line-height: 1.4;
    display: flex;
    justify-content: start;
    align-items: flex-start;
  }


  #mainContents .layoutTyp08 .formArea .form_Box_Submit {
    width: 232px;
    flex-wrap: wrap;
  }
  #mainContents .layoutTyp08 .formArea .form_Box_Submit .submitBack,
  #mainContents .layoutTyp08 .formArea .form_Box_Submit .submitConfirm {
    margin: 0 0 20px;
  }
  
  #mainContents .layoutTyp08 .formArea .form_Box p {
    padding: 5px 0 0;
    font-size: 1.3rem;
  }
  #mainContents .layoutTyp08 .formArea .form_Box .form_Box_Link01 {
    padding: 15px 0 0;
  }
  #mainContents .layoutTyp08 .formArea .form_Box .form_Box_Link01 a {
    font-size: 1.4rem;
  }

  #mainContents .layoutTyp08 .form_End {
    width: 100%;
    padding: 0;
  }
  #mainContents .layoutTyp08 .form_End h2 {
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.4;
  }
  #mainContents .layoutTyp08 .form_End p {
    padding: 20px 0 0;
    font-size: 1.4rem;
    text-align: left;
  }
  #mainContents .layoutTyp08 .form_End .form_End_Tel {
    margin: 30px 0 0;
    padding: 30px 0;
  }
  #mainContents .layoutTyp08 .form_End p.text01 {
    font-size: 2.6rem;
  }
  #mainContents .layoutTyp08 .form_End p.text01::before {
    top: 0px;
    margin: 0 0 0 -96px;
  }
  #mainContents .layoutTyp08 .form_End p.text02 {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp08 .form_End p.text03 {
    padding: 10px 0 0 0;
    font-size: 1.4rem;
  }

  /* 確認画面時 */
  #mainContents .mw_wp_form_preview .layoutTyp08 {
    padding: 0;
  }
  #mainContents .mw_wp_form_preview .layoutTyp08 .formArea {
    margin: 50px 0 300px;
  }
  /* 確認画面時 */
}


#mainContents .layoutTyp09 {
  width: 1116px;
  margin: 0 auto;
  padding: 110px 0 150px;
}
#mainContents .layoutTyp09 h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 4.0rem;
  font-weight: 500;
}
#mainContents .layoutTyp09 .columnBox {
  width: 100%;
  padding: 50px 0 0;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
}
#mainContents .layoutTyp09 .columnBox .column {
  width: 352px;
  height: 257px;
  margin: 0 30px 30px 0;
  padding: 35px 0 0;
  background-color: #EFEFEF;
  border-radius: 3px;
  text-align: center;
}
#mainContents .layoutTyp09 .columnBox .column:nth-child(3n) {
  margin: 0 0 30px 0;
}
#mainContents .layoutTyp09 .columnBox .column img {
  width: 60px;
  height: 60px;
}
#mainContents .layoutTyp09 .columnBox .column h3 {
  padding: 18px 0 0;
  font-size: 2.2rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp09 .columnBox .column p.text01 {
  font-family: "Noto Serif JP", serif;
  padding: 20px 0 0;
  font-size: 6.5rem;
  font-weight: 500;
}
#mainContents .layoutTyp09 .columnBox .column p.text01 span {
  font-family: 'Noto Sans JP', sans-serif;
  padding: 0 5px 0;
  font-size: 2.2rem;
  font-weight: 400;
}
#mainContents .layoutTyp09 .columnBox .column p.text02 {
  font-family: 'Noto Sans JP', sans-serif;
  padding: 15px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
}
#mainContents .layoutTyp09 .columnBox .column p.text02 span {
  color: #B91F3A;
}
#mainContents .layoutTyp09 p.text03 {
  padding: 0;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp09 {
    width: calc(100% - 50px);
    padding: 80px 0 80px;
  }
  #mainContents .layoutTyp09 h2 {
    font-size: 2.3rem;
  }
  #mainContents .layoutTyp09 .columnBox {
    padding: 35px 0 0;
  }
  #mainContents .layoutTyp09 .columnBox .column {
    width: 100%;
    height: 237px;
    margin: 0 0 10px 0;
    padding: 30px 0 0;
  }
  #mainContents .layoutTyp09 .columnBox .column:nth-child(3n) {
    margin: 0 0 10px 0;
  }
  #mainContents .layoutTyp09 .columnBox .column img {
    width: 60px;
    height: 60px;
  }
  #mainContents .layoutTyp09 .columnBox .column h3 {
    padding: 15px 0 0;
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp09 .columnBox .column p.text02 {
    padding: 15px 0 0;
    font-size: 1.4rem;
  }
}

#mainContents .layoutTyp10 {
  width: 100%;
  margin: 0 auto;
  padding: 150px 0 150px;
  background-color: #EFEFEF;
}
#mainContents .layoutTyp10 .layoutTyp10_Box {
  width: 1116px;
  margin: 0 auto;
}
#mainContents .layoutTyp10 h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 4.0rem;
  font-weight: 500;
}
#mainContents .layoutTyp10 .columnBox {
  width: 100%;
  padding: 50px 0 0;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
}
#mainContents .layoutTyp10 .columnBox .column {
  width: 352px;
  height: 257px;
  margin: 0 30px 30px 0;
  padding: 35px 0 0;
  background-color: #FFF;
  border-radius: 3px;
  text-align: center;
}
#mainContents .layoutTyp10 .columnBox .column:nth-child(3n) {
  margin: 0 0 30px 0;
}
#mainContents .layoutTyp10 .columnBox .column img {
  width: 60px;
  height: 60px;
}
#mainContents .layoutTyp10 .columnBox .column h3 {
  padding: 18px 0 0;
  font-size: 2.2rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp10 .columnBox .column p.text01 {
  font-family: "Noto Serif JP", serif;
  padding: 20px 0 0;
  font-size: 6.5rem;
  font-weight: 500;
}
#mainContents .layoutTyp10 .columnBox .column p.text01 span {
  font-family: 'Noto Sans JP', sans-serif;
  padding: 0 5px 0;
  font-size: 2.2rem;
  font-weight: 400;
}
#mainContents .layoutTyp10 .columnBox .column p.text02 {
  font-family: 'Noto Sans JP', sans-serif;
  padding: 15px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
}
#mainContents .layoutTyp10 .columnBox .column p.text02 span {
  color: #B91F3A;
}
#mainContents .layoutTyp10 p.text03 {
  padding: 0;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp10 {
    padding: 80px 0 80px;
  }
  #mainContents .layoutTyp10 .layoutTyp10_Box {
    width: calc(100% - 50px);
  }
  #mainContents .layoutTyp10 h2 {
    font-size: 2.3rem;
  }
  #mainContents .layoutTyp10 .columnBox {
    padding: 35px 0 0;
  }
  #mainContents .layoutTyp10 .columnBox .column {
    width: 100%;
    height: 237px;
    margin: 0 0 10px 0;
    padding: 30px 0 0;
  }
  #mainContents .layoutTyp10 .columnBox .column:nth-child(3n) {
    margin: 0 0 10px 0;
  }
  #mainContents .layoutTyp10 .columnBox .column img {
    width: 60px;
    height: 60px;
  }
  #mainContents .layoutTyp10 .columnBox .column h3 {
    padding: 15px 0 0;
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp10 .columnBox .column p.text02 {
    padding: 15px 0 0;
    font-size: 1.4rem;
  }
}

#mainContents .layoutTyp11 {
  width: 1116px;
  margin: 0 auto;
  padding: 100px 0;
  text-align: center;
}
#mainContents .layoutTyp11 h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 4.0rem;
  font-weight: 500;
}
#mainContents .layoutTyp11 h3 {
  padding: 40px 0 0;
  font-family: "Noto Serif JP", serif;
  font-size: 3.0rem;
  font-weight: 500;
  line-height: 1.6;
}
#mainContents .layoutTyp11 p {
  padding: 25px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp11 {
    width: calc(100% - 50px);
    padding: 70px 0;
    text-align: left;
  }
  #mainContents .layoutTyp11 h2 {
    font-size: 2.3rem;
  }
  #mainContents .layoutTyp11 h3 {
    padding: 20px 0 0;
    font-size: 1.7rem;
  }
  #mainContents .layoutTyp11 p {
    padding: 15px 0 0;
    font-size: 1.4rem;
  }
}


#mainContents .layoutTyp12 {
  width: 100%;
  padding: 120px 0 100px;
}
#mainContents .layoutTyp12.bc_Grey {
  background-color: #EFEFEF;
}
#mainContents .layoutTyp12.typ01 {
  padding: 0 0 100px;
}
#mainContents .layoutTyp12 .layoutTyp12_Box {
  width: 800px;
  margin: 0 auto;
}
#mainContents .layoutTyp12 h4 {
  font-size: 3.0rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp12 h5 {
  padding: 30px 0 0;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.4;
}
#mainContents .layoutTyp12 p {
  padding: 15px 0 50px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
#mainContents .layoutTyp12 .textBox {
  width: 100%;
  padding: 35px 50px 20px;
  box-sizing: border-box;
  border: 1px solid #C9CACA;
}
#mainContents .layoutTyp12 .textBox h5 {
  padding: 0 0 15px;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.4;
}
#mainContents .layoutTyp12 .textBox ul {
  list-style-type: none;
}
#mainContents .layoutTyp12 .textBox ul li {
  position: relative;
  padding: 0 0 15px 15px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.4;
}
#mainContents .layoutTyp12 .textBox ul li::before {
  position: absolute;
  left: 0;
  top: 9px;
  width: 5px;
  height: 5px;
  background-color: #B91F3A;
  border-radius: 5px;
  content: "";
}
#mainContents .layoutTyp12 .columnBox {
  width: 100%;
  padding: 80px 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .layoutTyp12 .columnBox .column {
  width: 370px;
  padding: 0 0 55px;
}
#mainContents .layoutTyp12 .columnBox .column img {
  width: 370px;
  height: auto;
}
#mainContents .layoutTyp12 .columnBox .column h5 {
  padding: 10px 0 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4;
  color: #B91F3A;
}
#mainContents .layoutTyp12 .columnBox .column p.text01 {
  padding: 5px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
}
#mainContents .layoutTyp12 .columnBox .column h6 {
  padding: 15px 0 0;
  font-size: 1.6rem;
  font-weight: 500;
}
#mainContents .layoutTyp12 .columnBox .column p.text02 {
  padding: 5px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp12 {
    width: 100%;
    padding: 80px 0 40px;
  }
  #mainContents .layoutTyp12 .layoutTyp12_Box {
    width: calc(100% - 50px);
  }
  #mainContents .layoutTyp12.typ01 {
    padding: 0 0 40px;
  }
  #mainContents .layoutTyp12 h4 {
    font-size: 2.0rem;
  }
  #mainContents .layoutTyp12 h5 {
    padding: 25px 0 0;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp12 p {
    padding: 10px 0 25px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp12 .textBox {
    padding: 25px 20px 15px;
  }
  #mainContents .layoutTyp12 .textBox h5 {
    padding: 0 0 15px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp12 .textBox ul {
    list-style-type: none;
  }
  #mainContents .layoutTyp12 .textBox ul li {
    padding: 0 0 10px 15px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp12 .columnBox {
    padding: 50px 0 0;
  }
  #mainContents .layoutTyp12 .columnBox .column {
    width: 100%;
    padding: 0 0 45px;
  }
  #mainContents .layoutTyp12 .columnBox .column img {
    width: 100%;
    height: auto;
  }
  #mainContents .layoutTyp12 .columnBox .column h5 {
    padding: 10px 0 0;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp12 .columnBox .column p.text01 {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp12 .columnBox .column h6 {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp12 .columnBox .column p.text02 {
    font-size: 1.4rem;
  }
}

#mainContents .layoutTyp13 {
  width: 960px;
  margin: 0 auto 30px;
  padding: 80px 80px 40px;
  box-sizing: border-box;
  background-color: #EFEFEF;
}
#mainContents .layoutTyp13.typ01 {
  margin: 0 auto 200px;
}
#mainContents .layoutTyp13 h4 {
  padding: 0 0 10px;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.4;
}
#mainContents .layoutTyp13 p {
  padding: 0 0 20px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
#mainContents .layoutTyp13 h5 {
  padding: 20px 0 10px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4;
  color: #B91F3A;
}
#mainContents .layoutTyp13 img {
  width: 100%;
  height: auto;
  padding: 20px 0 40px;
}
#mainContents .layoutTyp13 img.typ01 {
  margin: 0 0 30px;
  border-bottom: 1px solid #C9CACA;
}
#mainContents .layoutTyp13 .columnBox {
  width: 100%;
  padding: 40px 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .layoutTyp13 .columnBox .column {
  position: relative;
  width: 185px;
}
#mainContents .layoutTyp13 .columnBox .column p.no {
  position: absolute;
  left: 0;
  top: -25px;
  width: 50px;
  height: 50px;
  padding: 7px 0 0;
  box-sizing: border-box;
  background-color: #B91F3A;
  border-radius: 30px;
  font-size: 2.0rem;
  font-weight: 500;
  color: #FFF;
  text-align: center;
}
#mainContents .layoutTyp13 .columnBox .column img {
  width: 100%;
  height: auto;
  padding: 0;
}
#mainContents .layoutTyp13 .columnBox .column h6 {
  padding: 15px 0 0;
  font-size: 1.8rem;
  font-weight: 500;
  color: #B91F3A;
}
#mainContents .layoutTyp13 .columnBox .column p.text01 {
  padding: 10px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp13 {
    width: calc(100% - 50px);
    padding: 50px 20px 25px;
  }
  #mainContents .layoutTyp13.typ01 {
    margin: 0 auto 80px;
  }
  #mainContents .layoutTyp13 h4 {
    padding: 0 0 10px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp13 p {
    padding: 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp13 h5 {
    padding: 20px 0 10px;
    font-size: 1.5rem;
  }
  #mainContents .layoutTyp13 img {
    padding: 20px 0 30px;
  }
  #mainContents .layoutTyp13 img.typ01 {
    margin: 0 0 20px;
  }
  #mainContents .layoutTyp13 .columnBox {
    padding: 20px 0 0;
  }
  #mainContents .layoutTyp13 .columnBox .column {
    width: 100%;
    padding: 0 0 30px;
  }
  #mainContents .layoutTyp13 .columnBox .column .column_Sub_Box {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  #mainContents .layoutTyp13 .columnBox .column .column_Sub_Box .column_Sub_L {
    width: 48%;
  }
  #mainContents .layoutTyp13 .columnBox .column .column_Sub_Box .column_Sub_R {
    width: 48%;
  }
  #mainContents .layoutTyp13 .columnBox .column p.no {
    top: -18px;
    width: 37px;
    height: 37px;
    padding: 5px 0 0;
    border-radius: 30px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp13 .columnBox .column h6 {
    padding: 0;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp13 .columnBox .column p.text01 {
    padding: 5px 0 0;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

#mainContents .layoutTyp14 {
  width: 800px;
  margin: 0 auto;
  padding: 110px 0 0;
}
#mainContents .layoutTyp14 h2 {
  padding: 0 0 35px 0;
  font-size: 2.6rem;
  font-weight: 400;
}
#mainContents .layoutTyp14 h3 {
  position: relative;
  margin: 0 0 20px;
  padding: 0 0 0 20px;
  font-size: 1.8rem;
  font-weight: 500;
  color: #B91F3A;
}
#mainContents .layoutTyp14 h3::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 10px;
  height: 10px;
  margin: -5px 0 0;
  border-radius: 5px;
  background-color: #B91F3A;
  content: "";
}
#mainContents .layoutTyp14 p {
  margin: 0 0 30px 0;
  padding: 0 0 30px 0;
  border-bottom: 1px solid #C9CACA;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
#mainContents .layoutTyp14 p.typ01 {
  margin: 0;
  padding: 0 0 30px 0;
  border-bottom: none;
}
#mainContents .layoutTyp14 p.typ02 {
  margin: 0;
  padding: 0 0 10px;
  border-bottom: none;
}
#mainContents .layoutTyp14 p a {
  color: #B91F3A;
  text-decoration: underline;
}
#mainContents .layoutTyp14 p a:hover {
  opacity: 0.7;
}

#mainContents .layoutTyp14 ul.typ01 {
  padding: 0 0 20px 20px;
  list-style-type: none;
}
#mainContents .layoutTyp14 ul.typ01 li {
  position: relative;
  padding: 0 0 5px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.4;
}
#mainContents .layoutTyp14 ul.typ01 li::before {
  position: absolute;
  left: -14px;
  top: 10px;
  width: 4px;
  height: 4px;
  border-radius: 2px;
  background-color: #000;
  content: "";
}

#mainContents .layoutTyp14 ol {
  padding: 0 0 20px 20px;
  list-style-type: decimal;
}
#mainContents .layoutTyp14 ol li {
  position: relative;
  padding: 0 0 5px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.4;
}

#mainContents .layoutTyp14 ul.typ03 {
  padding: 0 0 0 20px;
  list-style-type: none;
}
#mainContents .layoutTyp14 ul.typ03 li {
  position: relative;
  padding: 0 0 15px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.4;
}
#mainContents .layoutTyp14 ul.typ03 li::before {
  position: absolute;
  left: -14px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin: -9px 0 0;
  border-radius: 6px;
  background-color: #B91F3A;
  content: "";
}
#mainContents .layoutTyp14 .link01 {
  width: 100%;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
  margin: 0 0 30px 0;
  padding: 0 0 40px 0;
  border-bottom: 1px solid #C9CACA;
}
#mainContents .layoutTyp14 .link01 a img {
  width: auto;
  height: 70px;
  padding: 0 70px 0 0;
}
#mainContents .layoutTyp14 .link02 {
  width: 323px;
  margin: 0 auto;
  padding: 100px 0 270px;
}
#mainContents .layoutTyp14 .link02 a {
  position: relative;
  display: block;
  width: 100%;
  height: 60px;
  padding: 20px 0 0 25px;
  border-radius: 3px;
  box-sizing: border-box;
  background-color: #B91F3A;
  font-size: 1.8rem;
  font-weight: 400;
  color: #FFF;
  transition: all 0.3s ease;
}
#mainContents .layoutTyp14 .link02 a:hover {
  opacity: 0.7;
  text-decoration: none;
}
#mainContents .layoutTyp14 .link02 a::after {
  position: absolute;
  right: 25px;
  top: 50%;
  width: 30px;
  height: 8px;
  margin: -3px 0 0;
  background-image: url("../img/icon12.svg");
  background-size: cover;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp14 {
    width: calc(100% - 50px);
    padding: 50px 0 0;
  }
  #mainContents .layoutTyp14 h2 {
    padding: 0 0 30px 0;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp14 h3 {
    margin: 0 0 15px;
    padding: 0 0 0 18px;
    font-size: 1.5rem;
  }
  #mainContents .layoutTyp14 h3::before {
    width: 8px;
    height: 8px;
    margin: -3px 0 0;
  }
  #mainContents .layoutTyp14 p {
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp14 p.typ01 {
    padding: 0 0 20px 0;
    border-bottom: none;
  }

  #mainContents .layoutTyp14 ul.typ01 li {
    padding: 0 0 5px;
    font-size: 1.4rem;
  }

  #mainContents .layoutTyp14 ol li {
    font-size: 1.4rem;
  }

  #mainContents .layoutTyp14 .link01 {
    margin: 0 0 20px 0;
    padding: 0 0 30px 0;
  }
  #mainContents .layoutTyp14 .link01 a img {
    height: 60px;
    padding: 0 0 20px 0;
  }
  #mainContents .layoutTyp14 .link02 {
    width: 210px;
    padding: 50px 0 200px;
  }
  #mainContents .layoutTyp14 .link02 a {
    height: 40px;
    padding: 12px 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp14 .link02 a::after {
    right: 15px;
    margin: -4px 0 0;
  }
}


#mainContents .layoutTyp15 {
  width: 1116px;
  margin: 0 auto;
  padding: 0 0 140px 0;
}
#mainContents .layoutTyp15 h2 {
  padding: 0 0 25px 0;
  font-family: "Noto Serif JP", serif;
  font-size: 3.0rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.8;
}
#mainContents .layoutTyp15 p {
  font-size: 1.6rem;
  font-weight: 300;
  text-align: center;
  line-height: 1.8;
}
#mainContents .layoutTyp15 h3 {
  padding: 90px 0 0 0;
  font-size: 2.6rem;
  font-weight: 500;
  text-align: center;
  color: #B91F3A;
}
#mainContents .layoutTyp15 img {
  width: 100%;
  height: auto;
  padding: 60px 0 0;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp15 {
    width: calc(100% - 50px);
    padding: 0 0 80px 0;
  }
  #mainContents .layoutTyp15 h2 {
    padding: 0 0 20px 0;
    font-size: 1.7rem;
    text-align: left;
    line-height: 1.8;
  }
  #mainContents .layoutTyp15 p {
    font-size: 1.4rem;
    text-align: left;
  }
  #mainContents .layoutTyp15 h3 {
    padding: 40px 0 0 0;
    font-size: 1.8rem;
    line-height: 1.6;
  }
  #mainContents .layoutTyp15 img {
    padding: 20px 0 0;
  }
}

#mainContents .layoutTyp16 {
  width: 100%;
  padding: 100px 0;
}
#mainContents .layoutTyp16.bc_Grey {
  background-color: #EFEFEF;
}
#mainContents .layoutTyp16 .columnBox {
  width: 1116px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .layoutTyp16 .columnBox .column_L {
  width: 300px;
}
#mainContents .layoutTyp16 .columnBox .column_L p {
  font-size: 2.2rem;
  font-weight: 500;
  color: #B91F3A;
}
#mainContents .layoutTyp16 .columnBox .column_L h3 {
  position: relative;
  padding: 15px 0 0;
  font-size: 3.0rem;
  font-weight: 400;
  color: #B91F3A;
}
/* #mainContents .layoutTyp16 .columnBox .column_L h3::before {
  position: absolute;
  left: 50px;
  top: 60px;
  width: 19px;
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp16 .columnBox .column_L h3.step01::before {
  height: 680px;
  background-image: url("../img/internship/internship_yaji01.svg");
}
#mainContents .layoutTyp16 .columnBox .column_L h3.step02::before {
  height: 990px;
  background-image: url("../img/internship/internship_yaji02.svg");
}
#mainContents .layoutTyp16 .columnBox .column_L h3.step03::before {
  height: 655px;
  background-image: url("../img/internship/internship_yaji03.svg");
} */
#mainContents .layoutTyp16 .columnBox .column_L h3.step04::before {
  display: none;
}
#mainContents .layoutTyp16 .columnBox .column_R {
  width: 734px;
}
#mainContents .layoutTyp16 .columnBox .column_R h4 {
  padding: 31px 0 0;
  font-size: 2.6rem;
  font-weight: 500;
  color: #B91F3A;
  line-height: 1.4;
}
#mainContents .layoutTyp16 .columnBox .column_R h4.typ01 {
  padding: 100px 0 0;
}
#mainContents .layoutTyp16 .columnBox .column_R .column_Sub {
  width: 100%;
  padding: 30px 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .layoutTyp16 .columnBox .column_R .column_Sub .column_Sub_L {
  width: 352px;
}
#mainContents .layoutTyp16 .columnBox .column_R .column_Sub .column_Sub_L img {
  width: 100%;
  height: auto;
}
#mainContents .layoutTyp16 .columnBox .column_R .column_Sub .column_Sub_R {
  width: 352px;
}
#mainContents .layoutTyp16 .columnBox .column_R .column_Sub .column_Sub_R p {
  font-size: 1.6rem;
  line-height: 1.8;
}
#mainContents .layoutTyp16 .columnBox .column_R .textBox01 {
  width: 100%;
  margin: 20px 0 0;
  padding: 23px;
  box-sizing: border-box;
  background-color: #EFEFEF;
}
#mainContents .layoutTyp16.bc_Grey .columnBox .column_R .textBox01 {
  background-color: #FFF;
}
#mainContents .layoutTyp16 .columnBox .column_R .textBox01 h5 {
  font-size: 1.6rem;
  font-weight: 500;
  color: #B91F3A;
}
#mainContents .layoutTyp16 .columnBox .column_R .textBox01 h6 {
  padding: 15px 0 5px;
  font-size: 1.6rem;
  font-weight: 500;
}
#mainContents .layoutTyp16 .columnBox .column_R .textBox01 p {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
#mainContents .layoutTyp16 .columnBox .column_R .textBox02 {
  position: relative;
  width: 100%;
  height: 180px;
  padding: 35px 50px;
  box-sizing: border-box;
  background-color: #B91F3A;
}
#mainContents .layoutTyp16 .columnBox .column_R .textBox02::before {
  position: absolute;
  right: 50px;
  bottom: 0;
  width: 180px;
  height: 196px;
  background-image: url("../img/internship/internship_img06.svg");
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp16 .columnBox .column_R .textBox02 h5 {
  font-size: 3.0rem;
  font-weight: 500;
  color: #FFF;
}
#mainContents .layoutTyp16 .columnBox .column_R .textBox02 p {
  padding: 15px 0 0;
  font-size: 2.2rem;
  font-weight: 500;
  color: #FFF;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp16 {
    padding: 80px 0;
  }
  #mainContents .layoutTyp16 .columnBox {
    width: calc(100% - 50px);
  }
  #mainContents .layoutTyp16 .columnBox .column_L {
    width: 100%;
  }
  #mainContents .layoutTyp16 .columnBox .column_L p {
    font-size: 1.5rem;
  }
  #mainContents .layoutTyp16 .columnBox .column_L h3 {
    padding: 10px 0 0;
    font-size: 2.2rem;
  }
  #mainContents .layoutTyp16 .columnBox .column_L h3::before {
    display: none;
  }
  #mainContents .layoutTyp16 .columnBox .column_R {
    width: 100%;
  }
  #mainContents .layoutTyp16 .columnBox .column_R h4 {
    padding: 45px 0 0;
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp16 .columnBox .column_R h4.typ01 {
    padding: 45px 0 0;
  }
  #mainContents .layoutTyp16 .columnBox .column_R .column_Sub {
    padding: 20px 0 0;
  }
  #mainContents .layoutTyp16 .columnBox .column_R .column_Sub .column_Sub_L {
    width: 100%;
    padding: 0 0 10px;
  }
  #mainContents .layoutTyp16 .columnBox .column_R .column_Sub .column_Sub_R {
    width: 100%;
  }
  #mainContents .layoutTyp16 .columnBox .column_R .column_Sub .column_Sub_R p {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp16 .columnBox .column_R .textBox01 {
    padding: 20px;
  }
  #mainContents .layoutTyp16 .columnBox .column_R .textBox01 h5 {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp16 .columnBox .column_R .textBox01 h6 {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp16 .columnBox .column_R .textBox01 p {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp16 .columnBox .column_R .textBox02 {
    width: 100%;
    height: 154px;
    margin: 40px 0 0;
    padding: 27px 20px;
  }
  #mainContents .layoutTyp16 .columnBox .column_R .textBox02::before {
    right: 10px;
    width: 150px;
    height: 163px;
  }
  #mainContents .layoutTyp16 .columnBox .column_R .textBox02 h5 {
    font-size: 2.2rem;
  }
  #mainContents .layoutTyp16 .columnBox .column_R .textBox02 p {
    padding: 15px 0 0;
    font-size: 1.6rem;
  }
}

#mainContents .layoutTyp17 {
  width: 1116px;
  margin: 100px auto 300px;
  padding: 80px 0;
  border: 1px solid #B91F3A;
  box-sizing: border-box;
}
#mainContents .layoutTyp17 h3 {
  font-size: 2.2rem;
  font-weight: 500;
  text-align: center;
  color: #B91F3A;
  line-height: 1.4;
}
#mainContents .layoutTyp17 p {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.4;
}
#mainContents .layoutTyp17 .link01 {
  width: 100%;
  padding: 45px 0 0;
  display: flex;
  justify-content: center;
}
#mainContents .layoutTyp17 .link01 a img {
  width: auto;
  height: 60px;
  padding: 0 15px 0;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp17 {
    width: calc(100% - 50px);
    margin: 80px auto 200px;
    padding: 50px 20px;
    box-sizing: border-box;
  }
  #mainContents .layoutTyp17 h3 {
    font-size: 1.8rem;
    text-align: left;
  }
  #mainContents .layoutTyp17 p {
    padding: 15px 0 0;
    font-size: 1.4rem;
    text-align: left;
    line-height: 1.6;
  }
  #mainContents .layoutTyp17 .link01 {
    flex-wrap: wrap;
  }
  #mainContents .layoutTyp17 .link01 a img {
    padding: 0 15px 15px;
  }
}


#mainContents .layoutTyp18 {
  width: 800px;
  margin: 0 auto;
}
#mainContents .layoutTyp18 .columnBox {
  width: 100%;
}
#mainContents .layoutTyp18 .columnBox .number {
  padding: 0 0 30px;
}
#mainContents .layoutTyp18 .columnBox .number p {
  font-size: 1.6rem;
  font-weight: 300;
}
#mainContents .layoutTyp18 .columnBox .column {
  position: relative;
  width: 100%;
  margin: 0 0 20px;
  padding: 30px 30px 80px;
  box-sizing: border-box;
  background-color: #EFEFEF;
}
#mainContents .layoutTyp18 .columnBox .column h2 {
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.4;
  color: #B91F3A;
}
#mainContents .layoutTyp18 .columnBox .column p {
  padding: 15px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.6;
}
#mainContents .layoutTyp18 .columnBox .column ul {
  width: 100%;
  padding: 15px 0 0;
  list-style-type: none;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
}
#mainContents .layoutTyp18 .columnBox .column ul li {
  margin: 0 10px 10px 0;
  padding: 3px 15px 5px;
  border: 1px solid #000000;
  border-radius: 3px;
  background-color: #FFF;
  font-size: 1.4rem;
  font-weight: 400;
}
#mainContents .layoutTyp18 .columnBox .column a {
  position: absolute;
  right: 30px;
  bottom: 30px;
  display: block;
  width: 130px;
  height: 40px;
  padding: 11px 0 0 10px;
  border: 1px solid #000;
  border-radius: 3px;
  box-sizing: border-box;
  font-size: 1.6rem;
  font-weight: 300;
}
#mainContents .layoutTyp18 .columnBox .column a:after {
  position: absolute;
  right: 10px;
  top: 50%;
  width: 20px;
  height: 8px;
  margin: -4px 0 0 0;
  background-image: url("../img/icon13.svg");
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp18 .noProgram {
  display: none;
  padding: 50px 0 0;
}
#mainContents .layoutTyp18 .noProgram p {
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp18 {
    width: calc(100% - 50px);
  }
  #mainContents .layoutTyp18 .columnBox .number {
    padding: 0 0 20px;
  }
  #mainContents .layoutTyp18 .columnBox .column {
    padding: 25px 20px 70px;
  }
  #mainContents .layoutTyp18 .columnBox .column h2 {
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp18 .columnBox .column p {
    padding: 10px 0 0;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp18 .columnBox .column ul li {
    margin: 0 7px 7px 0;
    padding: 3px 10px 5px;
    font-size: 1.3rem;
  }
  #mainContents .layoutTyp18 .columnBox .column a {
    right: 20px;
    bottom: 20px;
    height: 36px;
    padding: 9px 0 0 15px;
    font-size: 1.4rem;
  }

  #mainContents .layoutTyp18 .noProgram p {
    font-size: 1.4rem;
  }
}

#mainContents .layoutTyp19 {
  width: 100%;
  min-height: 537px;
  margin: 130px 0 300px;
  background-color: #F8E8EB;
}
#mainContents .layoutTyp19 .layoutTyp19_Box {
  width: 1116px;
  margin: 0 auto;
  padding: 50px 0;
}
#mainContents .layoutTyp19 h3 {
  position: relative;
  margin: 0 0 50px;
  padding: 0 0 0 35px;
  font-size: 1.8rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp19 h3::before {
  position: absolute;
  left: 0;
  top: 50%;
  width: 25px;
  height: 14px;
  margin: -6px 0 0;
  background-image: url("../img/career-job/career-job_icon01.svg");
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp19 .radio_Box {
  width: 100%;
  padding: 0 0 50px;
  display: flex;
  justify-content: space-between;
}
#mainContents .layoutTyp19 .radio_Box .column_L {
  width: 158px;
}
#mainContents .layoutTyp19 .radio_Box .column_L h4 {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4;
}

#mainContents .layoutTyp19 .radio_Box .column_R {
  width: 958px;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
}
#mainContents .layoutTyp19 .radio_Box .column_R input[type=checkbox] {
	display: none;
}
#mainContents .layoutTyp19 .radio_Box .column_R label {
	position: relative;
  width: 280px;
  min-height: 34px;
  margin: 0 15px 15px 0;
  padding: 7px 0 0 45px;
  background-color: #FFF;
  border-radius: 3px;
  border: 1px solid #FFF;
  box-sizing: border-box;
	font-size: 1.6rem;
  font-weight: 500;
  color: #959595;
}
#mainContents .layoutTyp19 .radio_Box .column_R label:after,
#mainContents .layoutTyp19 .radio_Box .column_R label:before{
	position: absolute;
	content: ""; 
	display: block;
	top: 50%;
}
#mainContents .layoutTyp19 .radio_Box .column_R label:after {
  left: 16px;
  margin: -10px 0 0;
	width: 18px;
	height: 18px;
	border: 1px solid #C9CACA;
  border-radius: 10px;
  background-color: #FFF;
}
#mainContents .layoutTyp19 .radio_Box .column_R label:before {
  z-index: 200;
	left: 21px;
	margin: -5px 0 0 0;
	width: 10px;
	height: 10px;
  background-color: #B91F3A;
  border-radius: 5px;
	opacity: 0;
}

#mainContents .layoutTyp19 .radio_Box .column_R input[type=checkbox]:checked + label {
  border: 1px solid #B91F3A;
  color: #B91F3A;
}
#mainContents .layoutTyp19 .radio_Box .column_R input[type=checkbox]:checked + label:before {
	opacity: 1;
}


#mainContents .layoutTyp19 .check_Box {
  width: 100%;
  padding: 0 0 50px;
  display: flex;
  justify-content: space-between;
}
#mainContents .layoutTyp19 .check_Box .column_L {
  width: 158px;
}
#mainContents .layoutTyp19 .check_Box .column_L h4 {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.4;
}

#mainContents .layoutTyp19 .check_Box .column_R {
  width: 958px;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
}
#mainContents .layoutTyp19 .check_Box .column_R input[type=checkbox] {
	display: none;
}
#mainContents .layoutTyp19 .check_Box .column_R label {
	position: relative;
  width: 111px;
  min-height: 34px;
  margin: 0 15px 15px 0;
  padding: 8px 0 0 33px;
  background-color: #FFF;
  border-radius: 3px;
  border: 1px solid #FFF;
  box-sizing: border-box;
	font-size: 1.6rem;
  font-weight: 500;
  color: #959595;
}
#mainContents .layoutTyp19 .check_Box .column_R label:after,
#mainContents .layoutTyp19 .check_Box .column_R label:before{
	position: absolute;
	content: ""; 
	display: block;
	top: 50%;
}
#mainContents .layoutTyp19 .check_Box .column_R label:after {
  z-index: 100;
  left: 13px;
  margin: -10px 0 0 0;
	width: 7px;
	height: 11px;
	border-right: 3px solid #EFEFEF;
	border-bottom: 3px solid #EFEFEF;
	transform: rotate(45deg);
}
#mainContents .layoutTyp19 .check_Box .column_R label:before {
  z-index: 200;
  left: 13px;
  margin: -10px 0 0 0;
	width: 7px;
	height: 11px;
	border-right: 3px solid #B91F3A;
	border-bottom: 3px solid #B91F3A;
	transform: rotate(45deg);
	opacity: 0;
}

#mainContents .layoutTyp19 .check_Box .column_R input[type=checkbox]:checked + label {
  border: 1px solid #B91F3A;
  color: #B91F3A;
}
#mainContents .layoutTyp19 .check_Box .column_R input[type=checkbox]:checked + label:before {
	opacity: 1;
}

#mainContents .layoutTyp19 .sort_Box {
  width: 430px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
#mainContents .layoutTyp19 .sort_Box a {
  display: block;
  width: 200px;
  height: 60px;
  padding: 18px 0 0;
  border: 1px solid #000;
  box-sizing: border-box;
  border-radius: 3px;
  font-size: 1.8rem;
  font-weight: 400;
  text-align: center;
  transition: all 0.3s ease;
}
#mainContents .layoutTyp19 .sort_Box a:nth-child(2) {
  border: 1px solid #B91F3A;
  background-color: #B91F3A;
  color: #FFF;
}
#mainContents .layoutTyp19 .sort_Box a:hover {
  opacity: 0.7;
  text-decoration: none;
}

#mainContents .layoutTyp19 .scroll_Bot {
  position: fixed;
  z-index: 300;
  right: 30px;
  bottom: -100px;
  width: 90px;
  height: 90px;
  transition: all 1.0s ease;
}
#mainContents .layoutTyp19 .scroll_Bot.scroll {
  bottom: 30px;
}
#mainContents .layoutTyp19 .scroll_Bot img {
  width: 90px;
  height: 90px;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp19 {
    min-height: auto;
    margin: 70px 0 200px;
  }
  #mainContents .layoutTyp19 .layoutTyp19_Box {
    width: calc(100% - 50px);
    padding: 35px 0;
  }
  #mainContents .layoutTyp19 h3 {
    margin: 0 0 25px;
    padding: 0 0 0 35px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp19 .radio_Box {
    padding: 0 0 25px;
    flex-wrap: wrap;
  }
  #mainContents .layoutTyp19 .radio_Box .column_L {
    width: 100%;
    padding: 0 0 12px;
  }
  #mainContents .layoutTyp19 .radio_Box .column_L h4 {
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp19 .radio_Box .column_R {
    width: 100%;
    justify-content: space-between;
  }
  #mainContents .layoutTyp19 .radio_Box .column_R label {
    width: 48%;
    min-height: 30px;
    margin: 0 0 10px 0;
    padding: 8px 0 0 35px;
    font-size: 1.2rem;
  }
  #mainContents .layoutTyp19 .radio_Box .column_R label:after {
    left: 8px;
  }
  #mainContents .layoutTyp19 .radio_Box .column_R label:before {
    left: 13px;
  }



  #mainContents .layoutTyp19 .check_Box {
    padding: 0 0 25px;
    flex-wrap: wrap;
  }
  #mainContents .layoutTyp19 .check_Box .column_L {
    width: 100%;
    padding: 0 0 12px;
  }
  #mainContents .layoutTyp19 .check_Box .column_L h4 {
    font-size: 1.6rem;
  }

  #mainContents .layoutTyp19 .check_Box .column_R {
    width: 100%;
    justify-content: space-between;
  }
  #mainContents .layoutTyp19 .check_Box .column_R label {
    width: 48%;
    min-height: 30px;
    margin: 0 0 10px 0;
    padding: 8px 0 0 35px;
    font-size: 1.2rem;
  }
  #mainContents .layoutTyp19 .check_Box .column_R label:after {
    left: 15px;
  }
  #mainContents .layoutTyp19 .check_Box .column_R label:before {
    left: 15px;
  }

  #mainContents .layoutTyp19 .sort_Box {
    width: 100%;
  }
  #mainContents .layoutTyp19 .sort_Box a {
    width: 30%;
    height: 44px;
    padding: 12px 0 0;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp19 .sort_Box a:nth-child(2) {
    width: 60%;
  }
  #mainContents .layoutTyp19 .sort_Box a span {
    display: none;
  }

  #mainContents .layoutTyp19 .scroll_Bot {
    right: 20px;
    bottom: 20px;
    width: 80px;
    height: 80px;
  }
  #mainContents .layoutTyp19 .scroll_Bot.scroll {
    bottom: 20px;
  }
  #mainContents .layoutTyp19 .scroll_Bot img {
    width: 80px;
    height: 80px;
  }
}


#mainContents .layoutTyp20 {
  width: 800px;
  margin: 0 auto;
  padding: 100px 0 70px;
}
#mainContents .layoutTyp20 h1 {
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1.4;
  color: #B91F3A;
}
#mainContents .layoutTyp20 p {
  padding: 15px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.6;
}
#mainContents .layoutTyp20 ul {
  width: 100%;
  padding: 15px 0 0;
  list-style-type: none;
  display: flex;
  justify-content: start;
  flex-wrap: wrap;
}
#mainContents .layoutTyp20 ul li {
  margin: 0 10px 10px 0;
  padding: 3px 15px 5px;
  border: 1px solid #000000;
  border-radius: 3px;
  background-color: #FFF;
  font-size: 1.4rem;
  font-weight: 400;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp20 {
    width: calc(100% - 50px);
    padding: 50px 0 20px;
  }
  #mainContents .layoutTyp20 h1 {
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp20 p {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp20 ul li {
    margin: 0 7px 7px 0;
    padding: 3px 10px 5px;
    font-size: 1.3rem;
  }
}


#mainContents .layoutTyp21 {
  width: 800px;
  margin: 0 auto;
  padding: 0 0 300px;
}
#mainContents .layoutTyp21 h2 {
  padding: 0 0 35px;
  font-family: "Noto Serif JP", serif;
  font-size: 4.0rem;
  font-weight: 500;
  color: #B91F3A;
  line-height: 1.6;
}
#mainContents .layoutTyp21 p.text01 {
  padding: 0 0 50px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2.0;
}
#mainContents .layoutTyp21 p.text02 {
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 2.0;
  text-align: right;
}
#mainContents .layoutTyp21 ul {
  padding: 0 0 50px 20px;
  list-style-type: none;
}
#mainContents .layoutTyp21 ul li {
  position: relative;
  padding: 0 0 15px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.4;
}
#mainContents .layoutTyp21 ul li::before {
  position: absolute;
  left: -14px;
  top: 50%;
  width: 6px;
  height: 6px;
  margin: -9px 0 0;
  border-radius: 6px;
  background-color: #B91F3A;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp21 {
    width: calc(100% - 50px);
    padding: 0 0 200px;
  }
  #mainContents .layoutTyp21 h2 {
    padding: 0 0 20px;
    font-size: 2.5rem;
  }
  #mainContents .layoutTyp21 p.text01 {
    padding: 0 0 30px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  #mainContents .layoutTyp21 p.text02 {
    font-size: 1.4rem;
    line-height: 1.8;
  }
  #mainContents .layoutTyp21 ul {
    padding: 0 0 30px 20px;
  }
  #mainContents .layoutTyp21 ul li {
    padding: 0 0 10px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp21 ul li::before {
    top: 7px;
    margin: 0;
  }
}

#mainContents .layoutTyp22 {
  width: 1116px;
  margin: 0 auto;
  padding: 0 0 70px 0;
}
#mainContents .layoutTyp22 h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.0rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp22 {
    width: calc(100% - 50px);
    padding: 0 0 40px 0;
  }
  #mainContents .layoutTyp22 h2 {
    font-size: 1.7rem;
    text-align: left;
    line-height: 1.8;
  }
}


#mainContents .layoutTyp23 {
  width: 800px;
  margin: 0 auto;
  padding: 0 0 270px;
}
#mainContents .layoutTyp23 h3 {
  padding: 90px 0 0;
  font-size: 3.0rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp23 h4 {
  padding: 40px 0 0;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.4;
}
#mainContents .layoutTyp23 p {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp23 {
    width: calc(100% - 50px);
    padding: 0 0 200px;
  }
  #mainContents .layoutTyp23 h3 {
    padding: 50px 0 0;
    font-size: 2.0rem;
  }
  #mainContents .layoutTyp23 h4 {
    padding: 20px 0 0;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp23 p {
    padding: 5px 0 0;
    font-size: 1.4rem;
  }
}


#mainContents .layoutTyp24 {
  width: 1116px;
  margin: 0 auto;
  padding: 0 0 150px 0;
}
#mainContents .layoutTyp24 h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.0rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.8;
}
#mainContents .layoutTyp24 p.text01 {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  text-align: center;
  line-height: 1.8;
}
#mainContents .layoutTyp24 .columnBox {
  width: 100%;
  padding: 40px 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .layoutTyp24 .columnBox .column {
  width: 352px;
  height: 245px;
  padding: 35px 0 0;
  box-sizing: border-box;
  border: 1px solid #C9CACA;
  text-align: center;
}
#mainContents .layoutTyp24 .columnBox .column p.no {
  font-size: 4.0rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp24 .columnBox .column h3 {
  padding: 15px 0 0; 
  font-size: 2.2rem;
  font-weight: 400;
  color: #B91F3A;
  line-height: 1.4;
}
#mainContents .layoutTyp24 .columnBox .column h4 {
  padding: 10px 0 0; 
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp24 {
    width: calc(100% - 50px);
    padding: 0 0 45px 0;
  }
  #mainContents .layoutTyp24 h2 {
    font-size: 1.7rem;
    text-align: left;
    line-height: 1.8;
  }
  #mainContents .layoutTyp24 p.text01 {
    padding: 20px 0 0;
    font-size: 1.4rem;
    font-weight: 300;
    text-align: left;
    line-height: 1.8;
  }
  #mainContents .layoutTyp24 .columnBox .column {
    width: 100%;
    height: auto;
    margin: 0 0 15px;
    padding: 20px 0;
  }
  #mainContents .layoutTyp24 .columnBox .column p.no {
    font-size: 3.0rem;
  }
  #mainContents .layoutTyp24 .columnBox .column h3 {
    padding: 15px 0 0; 
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp24 .columnBox .column h4 {
    padding: 10px 0 0; 
    font-size: 1.4rem;
  }
}

#mainContents .layoutTyp25 {
  width: 100%;
  padding: 120px 0;
}
#mainContents .layoutTyp25:last-of-type {
  padding: 120px 0 300px;
}
#mainContents .layoutTyp25.bc_Grey {
  background-color: #EFEFEF;
}
#mainContents .layoutTyp25 .column {
  width: 800px;
  margin: 0 auto;
}
#mainContents .layoutTyp25 .column .title_Box {
  position: relative;
  width: 100%;
  padding: 0 0 45px 100px;
  box-sizing: border-box;
  border-bottom: 1px solid #C9CACA;
}
#mainContents .layoutTyp25 .column .title_Box p {
  position: absolute;
  left: 0;
  top: -10px;
  font-size: 7.0rem;
  font-weight: 400;
  color: #B91F3A;
  line-height: 1;
}
#mainContents .layoutTyp25 .column .title_Box h3 {
  font-size: 3.0rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp25 .column .title_Box h4 {
  padding: 12px 0 0;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.4;
}
#mainContents .layoutTyp25 .column h5 {
  padding: 45px 0 10px;
  font-size: 2.2rem;
  font-weight: 400;
  color: #B91F3A;
  line-height: 1.4;
}
#mainContents .layoutTyp25 .column p {
  padding: 0 0 10px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
#mainContents .layoutTyp25 .column p span {
  font-weight: 400;
}
#mainContents .layoutTyp25 .column p.text_Small {
  font-size: 1.4rem;
}
#mainContents .layoutTyp25 .column img {
  width: 100%;
  height: auto;
  padding: 45px 0 0;
}
#mainContents .layoutTyp25 .column .link01 {
  padding: 10px 0;
}
#mainContents .layoutTyp25 .column .link01 a {
  position: relative;
  display: inline;
  font-size: 1.6rem;
  font-weight: 400;
  text-decoration: underline;
}
#mainContents .layoutTyp25 .column .link01 a:hover {
  opacity: 0.7;
}
#mainContents .layoutTyp25 .column .link01 a:after {
  position: absolute;
  right: -25px;
  top: 50%;
  width: 18px;
  height: 7px;
  margin: -3px 0 0 0;
  background-image: url("../img/icon13.svg");
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp25 .column .text_Box {
  width: 100%;
  margin: 18px 0 0;
  padding: 25px 20px 10px;
  box-sizing: border-box;
  background-color: #EFEFEF;
}
#mainContents .layoutTyp25.bc_Grey .column .text_Box {
  background-color: #FFF;
}
#mainContents .layoutTyp25 .column .text_Box h6 {
  padding: 0 0 20px;
  font-size: 1.8rem;
  font-weight: 500;
}
#mainContents .layoutTyp25 .column .text_Box p {
  padding: 10px 0 15px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
#mainContents .layoutTyp25 .column .text_Box p.text_Small {
  padding: 0 0 15px;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.0;
}
#mainContents .layoutTyp25 .column .text_Box p.text_Small a {
  color: #B91F3A;
  text-decoration: underline;
}
#mainContents .layoutTyp25 .column .text_Box ul {
  padding: 0 0 0 20px;
  list-style-type: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .layoutTyp25 .column .text_Box ul li {
  position: relative;
  width: 50%;
  padding: 0 0 15px;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.4;
}
#mainContents .layoutTyp25 .column .text_Box ul.typ01 li {
  width: 100%;
}
#mainContents .layoutTyp25 .column .text_Box ul li::before {
  position: absolute;
  left: -14px;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 6px;
  background-color: #B91F3A;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp25 {
    padding: 50px 0;
  }
  #mainContents .layoutTyp25:last-of-type {
    padding: 50px 0 200px;
  }
  #mainContents .layoutTyp25 .column {
    width: calc(100% - 50px);
  }
  #mainContents .layoutTyp25 .column .title_Box {
    padding: 0 0 30px 0;
  }
  #mainContents .layoutTyp25 .column .title_Box p {
    position: static;
    font-size: 5.0rem;
  }
  #mainContents .layoutTyp25 .column .title_Box h3 {
    padding: 5px 0 0;
    font-size: 2.0rem;
  }
  #mainContents .layoutTyp25 .column .title_Box h4 {
    padding: 12px 0 0;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp25 .column h5 {
    padding: 30px 0 5px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp25 .column p {
    padding: 0 0 5px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp25 .column p.text_Small {
    font-size: 1.2rem;
  }
  #mainContents .layoutTyp25 .column img {
    padding: 30px 0 0;
  }
  #mainContents .layoutTyp25 .column .link01 a {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp25 .column .text_Box {
    padding: 20px 20px 10px;
  }
  #mainContents .layoutTyp25 .column .text_Box h6 {
    padding: 0 0 15px;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp25 .column .text_Box p {
    padding: 0 0 10px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp25 .column .text_Box p.text_Small {
    line-height: 1.4;
  }
  #mainContents .layoutTyp25 .column .text_Box ul li {
    width: 100%;
    padding: 0 0 10px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp25 .column .text_Box ul li::before {
    top: 7px;
  }
}

#mainContents .layoutTyp26 {
  width: 800px;
  margin: 0 auto;
  padding: 0 0 150px 0;
}
#mainContents .layoutTyp26 h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.0rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.8;
}
#mainContents .layoutTyp26 p {
  padding: 20px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  text-align: center;
  line-height: 1.8;
}
#mainContents .layoutTyp26 p.text_Small {
  padding: 10px 0 0;
  font-size: 1.4rem;
}
#mainContents .layoutTyp26 h3 {
  padding: 60px 0 30px;
  font-size: 2.2rem;
  font-weight: 400;
  text-align: center;
}
#mainContents .layoutTyp26 .img_Scroll {
  width: 100%;
}
#mainContents .layoutTyp26 .img_Scroll img {
  width: 800px;
  height: auto;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp26 {
    width: calc(100% - 50px);
    padding: 0 0 45px 0;
  }
  #mainContents .layoutTyp26 h2 {
    font-size: 1.7rem;
    text-align: left;
    line-height: 1.8;
  }
  #mainContents .layoutTyp26 p {
    padding: 20px 0 0;
    font-size: 1.4rem;
    font-weight: 300;
    text-align: left;
    line-height: 1.8;
  }
  #mainContents .layoutTyp26 p.text_Small {
    padding: 5px 0 0;
    font-size: 1.2rem;
  }
  #mainContents .layoutTyp26 h3 {
    padding: 45px 0 20px;
    font-size: 1.6rem;
    text-align: left;
  }
  #mainContents .layoutTyp26 .img_Scroll {
    overflow-x: scroll;
  }
  #mainContents .layoutTyp26 .img_Scroll img {
    width: 600px;
    height: auto;
  }
}


#mainContents .layoutTyp27 {
  width: 100%;
  margin: 0 auto;
  padding: 110px 0;
}
#mainContents .layoutTyp27:last-of-type {
  padding: 110px 0 300px;
}
#mainContents .layoutTyp27.bc_Grey {
  background-color: #EFEFEF;
}
#mainContents .layoutTyp27 .layoutTyp27_Box {
  width: 800px;
  margin: 0 auto;
}
#mainContents .layoutTyp27 .layoutTyp27_Box h3 {
  padding: 0 0 50px;
  font-size: 2.6rem;
  font-weight: 400;
  color: #B91F3A;
}
#mainContents .layoutTyp27 .layoutTyp27_Box img {
  width: 100%;
  height: auto;
}
#mainContents .layoutTyp27 .layoutTyp27_Box h4 {
  padding: 40px 0 0;
  font-size: 1.8rem;
  font-weight: 500;
}
#mainContents .layoutTyp27 .layoutTyp27_Box p {
  padding: 10px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp27 {
    padding: 50px 0;
  }
  #mainContents .layoutTyp27:last-of-type {
    padding: 50px 0 200px;
  }
  #mainContents .layoutTyp27 .layoutTyp27_Box {
    width: calc(100% - 50px);
  }
  #mainContents .layoutTyp27 .layoutTyp27_Box h3 {
    padding: 0 0 30px;
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp27 .layoutTyp27_Box h4 {
    padding: 20px 0 0;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp27 .layoutTyp27_Box p {
    padding: 5px 0 0;
    font-size: 1.4rem;
  }
}


#mainContents .layoutTyp28 {
  width: 800px;
  margin: 0 auto;
  padding: 100px 0 0;
}
#mainContents .layoutTyp28 h2 {
  font-size: 2.6rem;
  font-weight: 400;
  text-align: center;
}
#mainContents .layoutTyp28 p {
  padding: 40px 0 0;
  font-size: 1.6rem;
  font-weight: 300;
  text-align: center;
  line-height: 1.8;
}
#mainContents .layoutTyp28 .link01 {
  width: 323px;
  margin: 0 auto;
  padding: 100px 0;
}
#mainContents .layoutTyp28 .link01 a {
  position: relative;
  display: block;
  width: 100%;
  height: 60px;
  padding: 20px 0 0 25px;
  border-radius: 3px;
  box-sizing: border-box;
  background-color: #B91F3A;
  font-size: 1.8rem;
  font-weight: 400;
  color: #FFF;
  transition: all 0.3s ease;
}
#mainContents .layoutTyp28 .link01 a:hover {
  opacity: 0.7;
  text-decoration: none;
}
#mainContents .layoutTyp28 .link01 a::after {
  position: absolute;
  right: 25px;
  top: 50%;
  width: 30px;
  height: 8px;
  margin: -3px 0 0;
  background-image: url("../img/icon12.svg");
  background-size: cover;
  content: "";
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp28 {
    width: calc(100% - 50px);
    padding: 50px 0 0;
  }
  #mainContents .layoutTyp28 h2 {
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.4;
  }
  #mainContents .layoutTyp28 p {
    padding: 20px 0 0;
    font-size: 1.4rem;
    text-align: left;
  }
  #mainContents .layoutTyp28 .link01 {
    width: 210px;
    padding: 50px 0 100px;
  }
  #mainContents .layoutTyp28 .link01 a {
    height: 40px;
    padding: 12px 0 0 15px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp28 .link01 a::after {
    right: 15px;
    margin: -4px 0 0;
  }
}


/*==========================================
 ページネーションのスタイル
===========================================*/
#mainContents #pagination {
  width: 100%;
  padding: 50px 0 300px;
}
#mainContents #pagination ul {
  text-align: center;
}
#mainContents #pagination ul li {
  width: 40px;
  height: 40px;
  margin: 0 5px;
  vertical-align: middle;
  display: inline-block;
}
#mainContents #pagination ul li a,
#mainContents #pagination ul li span {
  position: relative;
  display: block;
  width: 40px;
  height: 40px;
  padding: 11px 0 0;
  box-sizing: border-box;
  background-color: #FFF;
  border-radius: 3px;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
}
#mainContents #pagination ul li span {
  background-color: #B91F3A;
  color: #FFF;
}
#mainContents #pagination ul li span.dots {
  background-color: #FFF;
  color: #000;
}
#mainContents #pagination ul li a:hover {
  text-decoration: none;
  background-color: #EFEFEF;
  color: #000;
}
#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: 20px;
  height: 8px;
  margin: -4px 0 0 -10px;
  background-image: url("../img/icon13.svg");
  background-size: cover;
  content: "";
}
#mainContents #pagination ul li a.prev:before {
  transform: rotate(180deg);
}
@media only screen and (max-width: 767px) {
  #mainContents #pagination {
    width: 100%;
    padding: 50px 0 200px;
  }
}