@charset "utf-8";

/*==========================================
 font
===========================================*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Oswald:wght@300;400&display=swap');
body {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #3C3329;
}
html {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 62.5%;
  font-weight: 400;
  color: #3C3329;
}

/* link */
a:hover img {
  opacity: 0.8;
  filter: alpha(opacity=80);
}
/* a { outline: none; text-decoration: none; }
a:link    { color: #3C3329; text-decoration: none; }
a:visited { color: #3C3329; text-decoration: underline; }
a:hover   { color: #3C3329; text-decoration: underline; }
a:active  { color: #3C3329; text-decoration: underline; } */



/*==========================================
 body
===========================================*/
html {
  background: #FFF;
  overflow: auto;
}
body {
  overflow: hidden;
	min-width: 1126px;
  -webkit-text-size-adjust: 100%;
}
@media only screen and (max-width: 960px) {
  body {
    overflow: hidden;
    min-width: 100%;
  }
}
@media only screen and (max-width: 520px) {
  body {
  	min-width: 100%;
  }
}

/* 背景画像 */
body.bk01::before {
  position: absolute;
  z-index: 0;
  right: 0;
  top: 120px;
  width: 342px;
  height: 393px;
  background-image: url("../img/header_bk01.svg");
  background-size: cover;
  content: "";
}
body.bk02::before {
  position: absolute;
  z-index: 0;
  right: 0;
  top: 120px;
  width: 342px;
  height: 393px;
  background-image: url("../img/header_bk01.svg");
  background-size: cover;
  content: "";
}
@media only screen and (max-width: 960px) {
  body.bk01::before {
    width: 200px;
    height: 230px;
  }
  body.bk02::before {
    width: 200px;
    height: 230px;
  }
}
@media only screen and (max-width: 520px) {
  body.bk01::before {
    top: 150px;
    width: 138px;
    height: 159px;
  }
  body.bk02::before {
    top: 150px;
    width: 138px;
    height: 159px;
  }
}


/*==========================================
 既存CSS上書き
===========================================*/
.detail-section {
  padding-top: 20px !important;
}
.category-top-visual {
  padding: 90px 80px 0 80px !important;
}
@media only screen and (max-width: 767px) {
  .detail-section {
    padding-top: 80px !important;
  }
  .category-top-visual {
    padding: 90px 80px 0 20px !important;
  }
}

/*==========================================
 画像切替
===========================================*/
/* PC、スマートフォン表示分岐 */
.pcView {
  display: block;
}
.tbView {
  display: none;
}
.spView {
  display: none;
}
@media only screen and (max-width: 960px) {
  .pcView {
    display: block;
  }
  .tbView {
    display: block;
  }
  .spView {
    display: none;
  }
}
@media only screen and (max-width: 520px) {
  .pcView {
    display: none;
  }
  .tbView {
    display: none;
  }
  .spView {
    display: block;
  }
}

/*==========================================
 ヘッダーのスタイル
===========================================*/
header {
  z-index: 1000;
  position: fixed;
  width: 100%;
  height: 90px;
  background-color: #FFF;
  line-height: 0.5;
}
header #header {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
header #headerLogoArea {
  position: absolute;
  left: 20px;
  top: 20px;
}
header #headerLogoArea h1 {
  margin: 0;
}
header #headerLogoArea h1 img {
  width: 85px;
  height: auto;
}

/* トップ用 */
body#top header {
  background-color: transparent;
  transition: all 0.5s;
}
body#top header.down {
  background-color: #FFF;
  transition: all 0.5s;
}

body#top header #headerLogoArea {
  left: 64px;
  top: 40px;
  transition: all 0.5s;
}
body#top header.down #headerLogoArea {
  left: 20px;
  top: 20px;
  transition: all 0.5s;
}

body#top header #headerLogoArea h1 img {
  width: 144px;
  transition: all 0.5s;
}
body#top header.down #headerLogoArea h1 img {
  width: 85px;
  transition: all 0.5s;
}
/* トップ用 */


header #header_SpIcon {
  display: none;
}
@media only screen and (max-width: 960px) {
  header {
    height: 80px;
  }
  header #headerLogoArea {
    position: absolute;
    left: 24px;
    top: 14px;
  }
  header #headerLogoArea h1 img {
    width: 90px;
    height: auto;
  }

  /* トップ用 */
  body#top header #headerLogoArea,
  body#top header.down #headerLogoArea {
    position: absolute;
    left: 24px;
    top: 14px;
  }
  body#top header #headerLogoArea h1 img,
  body#top header.down #headerLogoArea h1 img {
    width: 90px;
    height: auto;
  }
  /* トップ用 */

  header #header_SpIcon {
    display: block;
    z-index: 700;
    position: absolute;
    right: 10px;
    top: 10px;
    width: 60px;
    height: 60px;
    padding: 17px;
    box-sizing: border-box;
    background-color: #0066B3;
  }
  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: 26px;
    height: 26px;
  }
  header #header_SpIcon .menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #FFF;
  }
  header #header_SpIcon .menu-trigger span:nth-of-type(1) {
    top: 0;
  }
  header #header_SpIcon .menu-trigger span:nth-of-type(2) {
    top: 12px;
  }
  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(12px) rotate(-45deg);
  }
  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(-12px) rotate(45deg);
  }

}


/*グローバルナビゲーション ////////////////////////////////// */
header #headerGlobalArea {
  position: absolute;
  right: 60px;
  /* right: 150px; */
  top: 39px;
  width: 730px;
  /* width: 576px; */
}
header #headerGlobalArea nav ul {
  width: 572px;
  /* width: 391px; */
  list-style-type: none;
  display: flex;
  justify-content: space-between;
  line-height: 1;
}
header #headerGlobalArea nav ul li a {
  position: relative;
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.6rem;
  font-weight: 400;
  color: #3C3329;
  transition: all 0.5s;
}
header #headerGlobalArea nav ul li a.pullDown::after {
  position: absolute;
  right: -13px;
  top: 10px;
  width: 7px;
  height: 6px;
  background-image: url("../img/icon01.svg");
  background-size: cover;
  content: "";
}
header #headerGlobalArea nav ul li a:hover {
  text-decoration: none;
  opacity: 0.7;
}

header #headerGlobalArea .headerContact {
  position: absolute;
  right: 0px;
  top: -8px;
  width: 120px;
  height: 32px;
}
header #headerGlobalArea .headerContact a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 7px 0 0 47px;
  border: 1px solid #3C3329;
  box-sizing: border-box;
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.6rem;
  font-weight: 400;
  color: #3C3329;
  line-height: 1;
  transition: all 0.5s;
}
header #headerGlobalArea .headerContact a::before {
  position: absolute;
  left: 18px;
  top: 8px;
  width: 21px;
  height: 15px;
  background-image: url("../img/icon02.svg");
  background-size: cover;
  content: "";
}
header #headerGlobalArea .headerContact a:hover {
  text-decoration: none;
  opacity: 0.7;
}

header #headerGlobalArea .headerEN {
  position: absolute;
  right: -90px;
  top: -8px;
  width: 60px;
  height: 32px;
  border: 1px solid #3C3329;
  box-sizing: border-box;
  background-color: #3C3329;
}
header #headerGlobalArea .headerEN a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 7px 0 0 31px;
  font-family: 'Oswald', sans-serif !important;
  font-size: 1.6rem;
  font-weight: 400;
  color: #ffffff;
  line-height: 1;
  transition: all 0.5s;
}
header #headerGlobalArea .headerEN a::before {
  position: absolute;
  left: 11px;
  top: 7.7px;
  width: 16px;
  height: 16px;
  background-image: url("../img/icon14.svg");
  background-size: cover;
  content: "";
}
header #headerGlobalArea .headerEN a:hover {
  text-decoration: none;
  opacity: 0.7;
}

header #overay,
header #headerNavi_Sp {
  display: none;
}
@media only screen and (max-width: 960px) {
  header #headerGlobalArea {
    display: none;
  }

  header #overay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
  }
  header #headerNavi_Sp {
    position: absolute;
    right: -100vw;
    top: 0;
    display: block;
    width: 454px;
    height: 100vh;
    padding: 80px 0 0;
    box-sizing: border-box;
    background-color: #FFF;
    overflow-y: auto;
  }
  header #headerNavi_Sp #headerNavi_Scroll {
    position: relative;
    width: 100%;
    height: 775px;
    padding: 55px 0 0 30px;
    box-sizing: border-box;
  }
  header #headerNavi_Sp #headerNavi_Scroll::before {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 16px;
    background: linear-gradient(90deg, #53CED8, #4888EF);
    content: "";
  }

  header #headerNavi_Sp nav > ul {
    list-style-type: none;
  }
  header #headerNavi_Sp nav > ul > li {
    padding: 0 0 35px;
  }
  header #headerNavi_Sp nav > ul > li > a {
    position: relative;
    font-family: 'Oswald', sans-serif !important;
    font-weight: 400;
    font-size: 1.6rem;
    line-height: 1;
    color: #3C3329;
  }
  header #headerNavi_Sp nav > ul > li > a.pullDown::after {
    position: absolute;
    right: -13px;
    top: 10px;
    width: 7px;
    height: 6px;
    background-image: url("../img/icon03.svg");
    background-size: cover;
    content: "";
  }
  header #headerNavi_Sp nav ul li .subNavi ul {
    padding: 20px 0 0;
    list-style-type: none;
  }
  header #headerNavi_Sp nav ul li .subNavi ul li {
    padding: 0 0 10px;
  }
  header #headerNavi_Sp nav ul li .subNavi ul li:last-child {
    padding: 0;
  }
  header #headerNavi_Sp nav ul li .subNavi ul li a {
    font-size: 1.4rem;
    line-height: 1;
    color: #3C3329;
  }
  header #headerNavi_Sp nav ul li .subNavi.columnBox {
    display: flex;
    justify-content: flex-start;
  }
  header #headerNavi_Sp nav ul li .subNavi.columnBox .column {
    margin: 0 20px 0 0;
    flex-basis: 45%;
    line-height: 1.3;
  }
  header #headerNavi_Sp nav ul li .subNavi.columnBox .column:last-child {
    /* margin: 0; */
    flex-basis: 55%;
  }

  header #headerNavi_Sp .headerNavi_Sp_contact {
    width: 250px;
    height: 62px;
  }
  header #headerNavi_Sp .headerNavi_Sp_contact a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 5px 0 0 106px;
    border: 1px solid #3C3329;
    box-sizing: border-box;
    font-family: 'Oswald', sans-serif !important;
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1;
    color: #3C3329;
    transition: all 0.5s;
  }
  header #headerNavi_Sp .headerNavi_Sp_contact a::before {
    position: absolute;
    left: 62px;
    top: 6px;
    width: 34px;
    height: 24px;
    background-image: url("../img/icon02.svg");
    background-size: cover;
    content: "";
  }

  header #headerNavi_Sp .headerNavi_Sp_EN {
    width: 64px;
    height: 37px;
    border: 1px solid #3C3329;
    box-sizing: border-box;
	background-color: #3C3329;
  }
  header #headerNavi_Sp .headerNavi_Sp_EN a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 8px 0 0 34px;
    font-family: 'Oswald', sans-serif !important;
    font-size: 1.85rem;
    font-weight: 400;
    line-height: 1;
    color: #ffffff;
  }
  header #headerNavi_Sp .headerNavi_Sp_EN a::before {
    position: absolute;
    left: 11px;
    top: 9px;
    width: 19px;
    height: 19px;
    background-image: url("../img/icon14.svg");
    background-size: cover;
    content: "";
  }
}

@media only screen and (max-width: 520px) {
  header #headerNavi_Sp {
    width: calc(100% - 24px);
  }
}

.header_pull_menu {
  position: fixed;
  z-index: 900;
  left: 0;
  top: -358px;
  width: 100%;
  height: 358px;
  background-color: #FFF;
  opacity: 0;
  transition: all 1.0s;
}
.header_pull_menu.down {
  top: 0;
  opacity: 1;
  transition: all 1.0s;
}
.header_pull_menu::before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 16px;
  background: linear-gradient(90deg, #4888EF, #53CED8);
  content: "";
}
.header_pull_menu .columnBox01 {
  width: 1161px;
  margin: 0 auto;
  padding: 130px 0 0;
  display: flex;
  justify-content: space-between;
}
.header_pull_menu .columnBox01 .column_L {
  width: 230px;
}
.header_pull_menu .columnBox01 .column_L h2 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 4.5rem;
  color: rgba(60,51,41,0.25);
}
.header_pull_menu .columnBox01 .column_L p {
  padding: 10px 0 0;
  font-size: 1.8rem;
}
.header_pull_menu .columnBox01 .column_R {
  width: 900px;
  display: flex;
  justify-content: space-between;
}
.header_pull_menu .columnBox01 .column_R .columnSub {
  width: 209px;
}
.header_pull_menu .columnBox01 .column_R .columnSub a:hover {
  text-decoration: none;
  opacity: 0.8;
}
.header_pull_menu .columnBox01 .column_R .columnSub img {
  width: 100%;
  height: auto;
}
.header_pull_menu .columnBox01 .column_R .columnSub h3 {
  padding: 10px 0 0;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  color: #3C3329;
}

.header_pull_menu .columnBox02 {
  width: 1161px;
  margin: 0 auto;
  padding: 130px 0 0;
  display: flex;
  justify-content: space-between;
}
.header_pull_menu .columnBox02 .column_L {
  width: 230px;
}
.header_pull_menu .columnBox02 .column_L h2 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 4.5rem;
  color: rgba(60,51,41,0.25);
  line-height: 1;
}
.header_pull_menu .columnBox02 .column_L p {
  padding: 10px 0 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1;
}
.header_pull_menu .columnBox02 .column_R {
  width: 900px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.header_pull_menu .columnBox02 .column_R .columnSub {
  width: 205px;
  padding: 0 10px 30px 0;
}
.header_pull_menu .columnBox02 .column_R .columnSub a:hover {
  text-decoration: none;
  opacity: 0.8;
}
.header_pull_menu .columnBox02 .column_R .columnSub img {
  width: 100%;
  height: auto;
}
.header_pull_menu .columnBox02 .column_R .columnSub h3 {
  padding: 10px 0 0;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: left;
  color: #3C3329;
  line-height: 1;
}

.header_pull_menu .linkClose {
  position: absolute;
  left: 50%;
  bottom: 30px;
  margin: 0 0 0 -28px;
  width: 56px;
  margin: 0 auto;
  padding: 50px 0 0;
}
.header_pull_menu .linkClose a {
  position: relative;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 1.4rem;
  color: #3C3329;
  line-height: 1;
}
.header_pull_menu .linkClose a::after {
  position: absolute;
  right: -19px;
  top: 5px;
  width: 13px;
  height: 13px;
  background-image: url("../img/icon04.svg");
  background-size: cover;
  content: "";
}
.header_pull_menu .linkClose a:hover {
  text-decoration: none;
  opacity: 0.8;
}

@media only screen and (max-width: 960px) {
  .header_pull_menu {
    display: none;
  }
}

/*==========================================
 フッターのスタイル
===========================================*/
.pageTop {
  opacity: 0;
  position: fixed;
  z-index: 100;
  right: 60px;
  bottom: 0;
  width: 60px;
  height: 60px;
  transition: all 1.0s ease;
}
.pageTop.view {
  opacity: 1;
  bottom: 44px;
}
.pageTop.top {
  bottom: 0;
}
.pageTop.top.view {
  opacity: 1;
  bottom: 160px;
}
.pageTop img {
  width: 60px;
  height: 60px;
}
@media only screen and (max-width: 960px) {
  .pageTop {
    right: 25px;
    bottom: 0;
    width: 45px;
    height: 45px;
  }
  .pageTop.view {
    opacity: 1;
    bottom: 60px;
  }
  .pageTop.top {
    bottom: 0;
  }
  .pageTop.top.view {
    opacity: 1;
    bottom: 160px;
  }
  .pageTop img {
    width: 45px;
    height: 45px;
  }
}

/* footer, footer h3, footer div, footer img, footer small, footer ul, footer li {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
footer a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
} */
footer {
  width: 100%;
  height: 590px;
  background-color: rgba(236, 241, 244, 0.75);
  line-height: 1;
}
footer #footerBody {
  position: relative;
  width: 1126px;
  margin: 0 auto;
  padding: 58px 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
footer #footerBody .column_L {
  width: 830px;
}
footer #footerBody .column_L h3 {
  padding: 0 0 25px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
}
footer #footerBody .column_L .columnSubBox {
  padding: 0 0 25px;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
footer #footerBody .column_L .columnSubBox .columnSub {
  padding: 0 45px 0 0;
}
footer #footerBody .column_L .columnSubBox .columnSub:nth-child(2) {
  padding: 0 45px 0 0;
}
footer #footerBody .column_L .columnSubBox .columnSub:nth-child(3) {
  padding: 0 45px 0 0;
}
footer #footerBody .column_L .columnSubBox .columnSub:nth-child(4) {
  padding: 0;
}
footer #footerBody .column_L .columnSubBox .columnSub ul {
  list-style-type: none;
}
footer #footerBody .column_L .columnSubBox .columnSub ul:nth-child(2) {
  padding: 20px 0 0;
}
footer #footerBody .column_L .columnSubBox .columnSub ul li {
  padding: 0 0 15px;
  line-height: 1;
}
footer #footerBody .column_L .columnSubBox .columnSub ul li:first-child {
  padding: 0 0 20px;
}
footer #footerBody .column_L .columnSubBox .columnSub ul li a {
  font-size: 1.2rem;
  font-weight: 500;
  color: #3C3329;
  line-height: 1;
}
footer #footerBody .column_L .columnSubBox .columnSub ul li:first-child a {
  font-size: 1.4rem;
  font-weight: 700;
  color: #3C3329;
  line-height: 1;
}
footer #footerBody .column_L .columnSubBox .columnSub ul li a:hover {
  text-decoration: none;
  opacity: 0.8;
}

footer #footerBody .column_L .columnLink {
  width: 100%;
}
footer #footerBody .column_L .columnLink ul {
  width: 603px;
  list-style-type: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
footer #footerBody .column_L .columnLink ul li {
  width: 143px;
}
footer #footerBody .column_L .columnLink ul li img {
  width: 100%;
  height: auto;
}

footer #footerBody .column_R {
  width: 231px;
}
footer #footerBody .column_R h3 {
  padding: 0 0 35px;
  font-size: 1.8rem;
  color: #3C3329;
  font-weight: 700;
}
footer #footerBody .column_R ul {
  padding: 0 0 30px;
  list-style-type: none;
}
footer #footerBody .column_R ul li {
  padding: 0 0 10px;
}
footer #footerBody .column_R ul li a {
  font-size: 1.2rem;
  color: #3C3329;
}
footer #footerBody .column_R ul li a:hover {
  text-decoration: none;
  opacity: 0.8;
}
footer #footerBody .column_R .recruitLink {
  width: 100%;
  height: 96px;
}
footer #footerBody .column_R .recruitLink a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 38px 0 0;
  box-sizing: border-box;
  background-image: url("../img/footer_recruit01.jpg");
  background-size: cover;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 1.5rem;
  color: #FFF;
  text-align: center;
  letter-spacing: 0.1em;
}
footer #footerBody .column_R .recruitLink a span {
  display: block;
  padding: 5px 0 0 ;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  font-size: 1.1rem;
}
footer #footerBody .column_R .recruitLink a:hover {
  text-decoration: none;
  opacity: 0.7;
}


footer #footerBottom {
  position: relative;
  width: 1126px;
  margin: 60px auto 0;
  padding: 25px 0 0;
  border-top: 1px solid #3C3329;
}
footer #footerBottom ul {
  list-style-type: none;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
footer #footerBottom ul li {
  padding: 0 22px 0 0;
}
footer #footerBottom ul li a {
  font-size: 1.2rem;
  color: #3C3329;
}
footer #footerBottom ul li a:hover {
  text-decoration: none;
  opacity: 0.8;
}
footer #footerBottom small {
  position: absolute;
  right: 0;
  top: 25px;
  font-size: 1.2rem;
  color: #3C3329;
}

@media only screen and (max-width: 960px) {
  footer {
    height: auto;
    padding: 0 0 60px;
  }
  footer #footerBody {
    width: 100%;
    margin: 0 auto;
    padding: 65px 60px 0;
    box-sizing: border-box;
  }
  footer #footerBody .column_L {
    width: 100%;
    padding: 0 0 50px;
  }
  footer #footerBody .column_L .columnSubBox {
    padding: 0;
  }
  footer #footerBody .column_L .columnSubBox .columnSub:nth-child(1) {
    width: 100%;
    padding: 0 0 35px 0;
  }
  footer #footerBody .column_L .columnSubBox .columnSub:nth-child(2) {
    width: 173px;
    padding: 0 0 35px 0;
  }
  footer #footerBody .column_L .columnSubBox .columnSub:nth-child(3) {
    width: 150px;
    padding: 0 0 35px 0;
  }
  footer #footerBody .column_L .columnSubBox .columnSub:nth-child(4) {
    width: 100%;
    padding: 0 0 40px 0;
    display: flex;
  }
  footer #footerBody .column_L .columnSubBox .columnSub:nth-child(4) ul {
    width: 210px;
    padding: 0;
  }
  
  footer #footerBody .column_L .columnLink {
    width: 100%;
  }
  footer #footerBody .column_L .columnLink ul {
    width: 100%;
  }
  footer #footerBody .column_L .columnLink ul li {
    width: 19.2%;
    padding: 0 0 10px 0;
  }
  footer #footerBody .column_L .columnLink ul li:nth-child(2n) {
    width: 19.2%;
    padding: 0 0 10px 0;
  }
  footer #footerBody .column_L .columnLink ul li:nth-child(5) {
    width: 19.2%;
    padding: 0 0 10px 0;
  }
  footer #footerBody .column_L .columnLink ul li img {
    width: 100%;
    height: auto;
  }
  
  footer #footerBody .column_R {
    position: relative;
    width: 100%;
  }
  footer #footerBody .column_R ul {
    width: 63%;
    display: flex;
    justify-content: start;
    flex-wrap: wrap;
  }
  footer #footerBody .column_R ul li {
    width: 30%;
    padding: 0 20px 20px 0;
  }
  footer #footerBody .column_R .recruitLink {
    position: absolute;
    right: 0;
    top: 0;
    width: 230px;
    height: 96px;
  }
  
  footer #footerBottom {
    width: calc(100% - 120px);
    margin: 30px auto 0;
  }
  footer #footerBottom ul {
    width: 100%;
    margin: 0 auto;
    justify-content: center;
  }
  footer #footerBottom small {
    position: static;
    display: block;
    width: 200px;
    margin: 0 auto;
    padding: 35px 0 0;
    font-size: 1.2rem;
    text-align: center;
  }
}


@media only screen and (max-width: 520px) {
  footer {
    height: 1380px;
  }
  footer #footerBody {
    width: 100%;
    margin: 0 auto;
    padding: 65px 30px 0;
    box-sizing: border-box;
  }
  footer #footerBody .column_L {
    width: 100%;
    padding: 0 0 30px;
  }
  footer #footerBody .column_L .columnSubBox {
    padding: 0;
  }
  footer #footerBody .column_L .columnSubBox .columnSub {
    width: 100%;
    padding: 0 0 30px 0;
  }
  footer #footerBody .column_L .columnSubBox .columnSub:nth-child(2) {
    width: 170px;
    padding: 0 20px 30px 0;
  }
  footer #footerBody .column_L .columnSubBox .columnSub:nth-child(3) {
    width: 145px;
    padding: 0 0 30px 0;
  }
  footer #footerBody .column_L .columnSubBox .columnSub:nth-child(4) {
    width: 100%;
    padding: 0 0 45px 0;
    display: block;
  }
  footer #footerBody .column_L .columnSubBox .columnSub:nth-child(4) ul {
    width: auto;
  }
  footer #footerBody .column_L .columnSubBox .columnSub ul:nth-child(2) {
    padding: 20px 0 0;
  }

  footer #footerBody .column_L .columnLink {
    width: 100%;
  }
  footer #footerBody .column_L .columnLink ul {
    width: 100%;
  }
  footer #footerBody .column_L .columnLink ul li {
    width: 48%;
    padding: 0 0 10px 0;
  }
  footer #footerBody .column_L .columnLink ul li:nth-child(2n) {
    width: 48%;
    padding: 0 0 10px 0;
  }
  footer #footerBody .column_L .columnLink ul li:nth-child(5) {
    width: 48%;
    padding: 0 0 10px 0;
  }
  footer #footerBody .column_L .columnLink ul li img {
    width: 100%;
    height: auto;
  }
  
  footer #footerBody .column_R {
    width: 100%;
  }
  footer #footerBody .column_R h3 {
    padding: 0 0 25px;
  }
  footer #footerBody .column_R ul {
    width: auto;
    padding: 0 0 10px;
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  footer #footerBody .column_R ul li {
    width: 132px;
    padding: 0 0 15px;
  }
  footer #footerBody .column_R .recruitLink {
    position: static;
    width: 100%;
    height: 96px;
  }
  footer #footerBody .column_R .recruitLink a {
    background-image: url("../img/footer_recruit01_sp.jpg");
  }
  
  
  footer #footerBottom {
    position: relative;
    width: calc(100% - 60px);
    margin: 30px 30px 0;
    padding: 40px 0 0;
    box-sizing: border-box;
  }
  footer #footerBottom ul {
    width: 224px;
    margin: 0 auto;
    justify-content: center;
  }
  footer #footerBottom ul li {
    padding: 0 22px 15px 0;
  }
  footer #footerBottom ul li:last-child {
    padding: 0;
  }
  footer #footerBottom small {
    position: static;
    display: block;
    width: 200px;
    margin: 0 auto;
    padding: 35px 0 0;
    font-size: 1.2rem;
    text-align: center;
  }
}


/*==========================================
 コンテンツのスタイル 共通
===========================================*/
#mainContents {
  min-height: 1500px;
  padding: 90px 0 0 0;
}

body#top #mainContents {
  padding: 0;
}

#mainContents section.w_full {
  width: 100%;
  margin: 0;
}
#mainContents section.w_1126 {
  width: 1126px;
  margin: 0 auto;
}
#mainContents section.w_800 {
  width: 800px;
  margin: 0 auto;
}
#mainContents section.bt_G {
  border-top: 1px solid #E1E1E1;
}
@media only screen and (max-width: 960px) {
  #mainContents {
    min-height: 500px;
    padding: 80px 0 0 0;
  }
  #mainContents section.w_800,
  #mainContents section.w_1126 {
    width: calc(100% - 50px);
  }
}
@media only screen and (max-width: 520px) {
  #mainContents {
    min-height: 500px;
    padding: 80px 0 0 0;
  }
  #mainContents section.w_800,
  #mainContents section.w_1126 {
    width: calc(100% - 60px);
  }
}

/*==========================================
 共通スクロールフェード
===========================================*/
.textAni.fade_off {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.3s;
}
.textAni.fade_off.time02 {
  transition: all 1.2s 0.3s;
}
.textAni.fade_off.time03 {
  transition: all 1.2s 0.6s;
}
.textAni.fade_off.time04 {
  transition: all 1.2s 0.9s;
}
.textAni.fade_on {
  opacity: 1;
  transform: translateY(0px);
}
@media only screen and (max-width: 767px) {
  .textAni.fade_off {
    transition: all 0.9s;
  }
}

#bar05_01.fade_off img:nth-child(1) {
  opacity: 0;
  transform: translate(-648px, 327px);
  transition: all 0.3s 0.3s;
}
#bar05_01.fade_on img:nth-child(1) {
  opacity: 1;
  transform: translate(0, 0);
}

#bar05_01.fade_off img:nth-child(2) {
  opacity: 0;
  transform: translate(-648px, 327px);
  transition: all 0.3s;
}
#bar05_01.fade_on img:nth-child(2) {
  opacity: 1;
  transform: translate(0, 0);
}

#bar05_01.fade_off img:nth-child(3) {
  opacity: 0;
  transform: translate(-648px, 327px);
  transition: all 0.3s 0.6s;
}
#bar05_01.fade_on img:nth-child(3) {
  opacity: 1;
  transform: translate(0, 0);
}


#bar05_02.fade_off img:nth-child(1) {
  opacity: 0;
  transform: translate(833px, -473px);
  transition: all 0.3s 1.5s;
}
#bar05_02.fade_on img:nth-child(1) {
  opacity: 1;
  transform: translate(0, 0);
}

#bar05_02.fade_off img:nth-child(2) {
  opacity: 0;
  transform: translate(833px, -473px);
  transition: all 0.3s 1.2s;
}
#bar05_02.fade_on img:nth-child(2) {
  opacity: 1;
  transform: translate(0, 0);
}

#bar05_02.fade_off img:nth-child(3) {
  opacity: 0;
  transform: translate(833px, -473px);
  transition: all 0.3s 1.8s;
}
#bar05_02.fade_on img:nth-child(3) {
  opacity: 1;
  transform: translate(0, 0);
}
@media only screen and (max-width: 767px) {
  #bar05_02.fade_off img:nth-child(1) {
    transition: all 0.3s 0.9s;
  }
  #bar05_02.fade_off img:nth-child(2) {
    transition: all 0.3s 0.6s;
  }
  #bar05_02.fade_off img:nth-child(3) {
    transition: all 0.3s 1.2s;
  }
}


#imgani01.fade_off {
  opacity: 0;
  transform: translate(-757px, 437px);
  transition: all 0.3s;
}
#imgani01.fade_on {
  opacity: 1;
  transform: translate(0, 0);
}

#imgani02.fade_off {
  opacity: 0;
  transform: translate(-759px, 439px);
  transition: all 0.3s;
}
#imgani02.fade_on {
  opacity: 1;
  transform: translate(0, 0);
}

#imgani03.fade_off {
  opacity: 0;
  transform: translate(-369px, 205px);
  transition: all 0.3s 0.3s;
}
#imgani03.fade_on {
  opacity: 1;
  transform: translate(0, 0);
}

#imgani04.fade_off {
  opacity: 0;
  transform: translate(-340px, 198px);
  transition: all 0.3s 0.6s;
}
#imgani04.fade_on {
  opacity: 1;
  transform: translate(0, 0);
}

#imgservice01.fade_off {
  opacity: 0;
  transform: translate(182px, -103px);
  transition: all 0.3s 0.3s;
}
#imgservice01.fade_on {
  opacity: 1;
  transform: translate(0, 0);
}
#imgservice01_bk.fade_off {
  opacity: 0;
  transform: translate(180px, -103px);
  transition: all 0.3s 0.6s;
}
#imgservice01_bk.fade_on {
  opacity: 1;
  transform: translate(0, 0);
}
@media only screen and (max-width: 767px) {
  #imgservice01.fade_off {
    transition: all 0.3s 1.0s;
  }
  #imgservice01_bk.fade_off {
    transition: all 0.3s 1.3s;
  }
}

#imgservice02.fade_off {
  opacity: 0;
  transform: translate(-195px, 109px);
  transition: all 0.3s;
}
#imgservice02.fade_on {
  opacity: 1;
  transform: translate(0, 0);
}
#imgservice02_bk.fade_off {
  opacity: 0;
  transform: translate(-195px, 109px);
  transition: all 0.3s 0.3s;
}
#imgservice02_bk.fade_on {
  opacity: 1;
  transform: translate(0, 0);
}
@media only screen and (max-width: 767px) {
  #imgservice02.fade_off {
     transition: all 0.3s 1.0s;
  }
  #imgservice02_bk.fade_off {
    transition: all 0.3s 1.3s;
  }
}

#imgservice03.fade_off {
  opacity: 0;
  transform: translate(182px, -103px);
  transition: all 0.3s;
}
#imgservice03.fade_on {
  opacity: 1;
  transform: translate(0, 0);
}
#imgservice03_bk.fade_off {
  opacity: 0;
  transform: translate(180px, -103px);
  transition: all 0.3s 0.3s;
}
#imgservice03_bk.fade_on {
  opacity: 1;
  transform: translate(0, 0);
}
@media only screen and (max-width: 767px) {
  #imgservice03.fade_off {
     transition: all 0.3s 1.0s;
  }
  #imgservice03_bk.fade_off {
    transition: all 0.3s 1.3s;
  }
}

#imgservice04.fade_off {
  opacity: 0;
  transform: translate(-195px, 109px);
  transition: all 0.3s;
}
#imgservice04.fade_on {
  opacity: 1;
  transform: translate(0, 0);
}
#imgservice04_bk.fade_off {
  opacity: 0;
  transform: translate(-195px, 109px);
  transition: all 0.3s 0.3s;
}
#imgservice04_bk.fade_on {
  opacity: 1;
  transform: translate(0, 0);
}
@media only screen and (max-width: 767px) {
  #imgservice04.fade_off {
     transition: all 0.3s 1.0s;
  }
  #imgservice04_bk.fade_off {
    transition: all 0.3s 1.3s;
  }
}
/*==========================================
 共通レイアウト
===========================================*/
#mainContents .titleArea {
  width: 100%;
  padding: 90px 0 0;
}
#mainContents .titleArea h2 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 7.0rem;
  color: rgba(60,51,41,0.25);
  line-height: 1;
}
#mainContents .titleArea h3 {
  padding: 10px 0 0;
  font-size: 2.2rem;
  line-height: 1;
}
@media only screen and (max-width: 960px) {
  #mainContents .titleArea {
    padding: 48px 0 0;
  }
}

@media only screen and (max-width: 520px) {
  #mainContents .titleArea {
    width: 100%;
    padding: 60px 0 0;
  }
  #mainContents .titleArea h2 {
    font-size: 4.6rem;
  }
  #mainContents .titleArea h3 {
    font-size: 1.8rem;
  }
}


#mainContents .titleArea01 {
  width: 100%;
  padding: 100px 0 0;
}
#mainContents .titleArea01 h2 {
  font-weight: 500;
  font-size: 3.6rem;
  color: #3c3329;
  line-height: 1;
}
#mainContents .titleArea01 h2.f_Oswald {
  font-family: 'Oswald', sans-serif;
}
#mainContents .titleArea01 h3 {
  font-family: 'Oswald', sans-serif;
  padding: 23px 0 0;
  font-size: 1.6rem;
  font-weight: 400;
  color: #b3bec9;
  line-height: 1;
}
@media only screen and (max-width: 960px) {
  #mainContents .titleArea01 {
    padding: 48px 0 0;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .titleArea01 {
    width: 100%;
    padding: 48px 0 0;
  }
  #mainContents .titleArea01 h2 {
    font-size: 2.4rem;
  }
  #mainContents .titleArea01 h3 {
    padding: 20px 0 0;
    font-size: 1.4rem;
  }
}

#mainContents .layoutTyp01 {
  position: relative;
  width: 880px;
  margin: 0 auto;
  padding: 112px 0 0;
}
#mainContents .layoutTyp01 h4 {
  font-size: 3.7rem;
  font-weight: 700;
  line-height: 1.6;
}
#mainContents .layoutTyp01 h4 span {
  font-size: 2.0rem;
}
#mainContents .layoutTyp01 p {
  width: 381px;
  padding: 15px 0 0;
  font-size: 1.4rem;
  line-height: 1.6;
}
#mainContents .layoutTyp01 .imgBox {
  position: absolute;
  left: 424px;
  top: -40px;
  width: 464px;
  height: 436px;
}
#mainContents .layoutTyp01 .imgBox img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp01 .imgBox {
    left: auto;
    right: 120px;
    top: -40px;
    width: 296px;
    height: 278px;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .layoutTyp01 {
    width: 100%;
    padding: 40px 0 0;
  }
  #mainContents .layoutTyp01 h4 {
    font-size: 2.2rem;
  }
  #mainContents .layoutTyp01 h4 span {
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp01 p {
    width: 100%;
  }
  #mainContents .layoutTyp01 .imgBox {
    left: 135px;
    top: -134px;
    width: 178px;
    height: 168px;
  }
}


#mainContents .layoutTyp02 {
  width: 880px;
  margin: 0 auto;
  padding: 170px 0 137px;
}
#mainContents .layoutTyp02 .worksArea .column {
  width: 100%;
  margin: 0 0 1px;
}
#mainContents .layoutTyp02 .worksArea .column h4 a {
  position: relative;
  display: block;
  width: 100%;
  height: 50px;
  padding: 16px 0 0 20px;
  box-sizing: border-box;
  background-color: rgba(178, 178, 178, 0.2);
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1;
  color: #3C3329;
}
#mainContents .layoutTyp02 .worksArea .column h4 a span {
  font-size: 1.6rem;
  font-weight: 400;
  
}
#mainContents .layoutTyp02 .worksArea .column h4 a::after {
  position: absolute;
  right: 20px;
  top: 21px;
  width: 15px;
  height: 10px;
  background-image: url("../img/icon06.svg");
  background-size: 100% 100%;
  content: "";
  transform: rotate(0deg);
}
#mainContents .layoutTyp02 .worksArea .column h4 a.open::after {
  transform: rotate(180deg);
}
#mainContents .layoutTyp02 .worksArea .column h4 a:hover {
  text-decoration: none;
  opacity: 0.8;
}
#mainContents .layoutTyp02 .worksArea .column .listBox {
  display: none;
  width: 100%;
  height: auto;
  padding: 0 0 30px;
}
/* #mainContents .layoutTyp02 .worksArea .column .listBox.open {
  height: auto;
  padding: 0 0 30px;
  transition: all 1.0s;
} */
#mainContents .layoutTyp02 .worksArea .column .listBox table {
  width: 100%;
}
#mainContents .layoutTyp02 .worksArea .column .listBox table tr {
  border-bottom: 1px solid #3C3329;
}
#mainContents .layoutTyp02 .worksArea .column .listBox table tr td {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.4;
  vertical-align: middle;
}
#mainContents .layoutTyp02 .worksArea .column .listBox table tr td:nth-child(1) {
  width: 145px;
  padding: 10px 0 10px 30px;
  box-sizing: border-box;
}
#mainContents .layoutTyp02 .worksArea .column .listBox table tr td:nth-child(2) {
  width: 135px;
  padding: 10px 0;
}
#mainContents .layoutTyp02 .worksArea .column .listBox table tr td:nth-child(3) {
  width: 480px;
  padding: 10px 0;
}
#mainContents .layoutTyp02 .worksArea .column .listBox table tr td a {
  position: relative;
  color: #003D6A;
}
#mainContents .layoutTyp02 .worksArea .column .listBox table tr td a::after {
  position: absolute;
  right: -16px;
  top: 5px;
  width: 11px;
  height: 11px;
  background-image: url("../img/icon08.svg");
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp02 .worksArea .column .listBox table tr td a:hover {
  text-decoration: none;
  opacity: 0.8;
}
@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp02 {
    width: 100%;
    padding: 40px 0 50px;
  }
  #mainContents .layoutTyp02 .worksArea .column .listBox table tr td:nth-child(1) {
    width: 50px;
    padding: 10px 0;
  }
  #mainContents .layoutTyp02 .worksArea .column .listBox table tr td:nth-child(2) {
    width: 60px;
  }
  #mainContents .layoutTyp02 .worksArea .column .listBox table tr td:nth-child(3) {
    width: auto;
  }
  #mainContents .layoutTyp02 .worksArea .column .listBox table tr td:nth-child(4) {
    width: 73px;
  }
}



#mainContents .layoutTyp03 {
  width: 100%;
  padding: 90px 0 0;
}
#mainContents .layoutTyp03 .pageNavi {
  width: 320px;
  margin: 0 auto;
}
#mainContents .layoutTyp03 .pageNavi ul {
  list-style-type: none;
  display: flex;
  justify-content: space-between;
}
#mainContents .layoutTyp03 .pageNavi ul li a {
  position: relative;
  padding: 0 0 0 16px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #838383;
}
#mainContents .layoutTyp03 .pageNavi ul li a::before {
  position: absolute;
  left: 0;
  top: 7px;
  width: 7px;
  height: 7px;
  border-radius: 4px;
  background-color: #838383;
  content: "";
}
#mainContents .layoutTyp03 .pageNavi ul li.active a {
  font-weight: 700;
  color: #3C3329;
}
#mainContents .layoutTyp03 .pageNavi ul li.active a::before {
  background-color: #00ADEF;
}
#mainContents .layoutTyp03 .pageNavi ul li a:hover {
  opacity: 0.7;
}

#mainContents .layoutTyp03 .columnBox {
  width: 856px;
  margin: 0 auto;
  padding: 60px 0 0;
  border-bottom: 1px solid #707070;
}
#mainContents .layoutTyp03 .columnBox .column {
  width: 856px;
  margin: 0 auto;
  padding: 0 0 40px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .layoutTyp03 .columnBox .column .column_L {
  width: 163px;
}
#mainContents .layoutTyp03 .columnBox .column .column_L img {
  width: 100%;
  height: auto;
}
#mainContents .layoutTyp03 .columnBox .column .column_R {
  width: 666px;
  margin: -5px 0 0;
}
#mainContents .layoutTyp03 .columnBox .column .column_R p.date {
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
}
#mainContents .layoutTyp03 .columnBox .column .column_R p.date::after {
  position: absolute;
  right: -109px;
  top: -1px;
  width: 93px;
  height: 22px;
  padding: 1px 0 0;
  box-sizing: border-box;
  font-size: 1.2rem;
  text-align: center;
}
#mainContents .layoutTyp03 .columnBox .column .column_R p.date.cate01::after {
  border: 1px solid #0066B3;
  color: #0066B3;
  content: "ニュース";
}
#mainContents .layoutTyp03 .columnBox .column .column_R p.date.cate02::after {
  border: 1px solid #34A896;
  color: #34A896;
  content: "ニュｰスリリｰス";
}
#mainContents .layoutTyp03 .columnBox .column .column_R p.date.cate03::after {
  border: 1px solid #B94399;
  color: #B94399;
  content: "トピックス";
}
#mainContents .layoutTyp03 .columnBox .column .column_R p.date.cate04::after {
  border: 1px solid #f78724;
  color: #f78724;
  content: "ブログ";
}

#mainContents .layoutTyp03 .columnBox .column .column_R p.date.new {
  position: relative;
  padding: 0 0 0 70px;
}
#mainContents .layoutTyp03 .columnBox .column .column_R p.date.new::before {
  position: absolute;
  left: 0;
  top: 1px;
  width: 60px;
  height: 19px;
  padding: 0;
  border-radius: 10px;
  box-sizing: border-box;
  font-size: 1.2rem;
  text-align: center;
  color: #FFF;
  background-color: #0066B3;
  content: "NEW";
}

#mainContents .layoutTyp03 .columnBox .column .column_R p span.download {
  position: absolute;
  left: 190px;
  top: 0px;
  width: 17px;
  height: 17px;
  background-image: url("../img/pdf19.png");
  background-size: cover;
  content: "";
}

#mainContents .layoutTyp03 .columnBox .column .column_R p span.new {
  position: absolute;
  left: 193px;
  top: 1px;
  width: 60px;
  height: 19px;
  padding: 0;
  border-radius: 10px;
  box-sizing: border-box;
  font-size: 1.2rem;
  text-align: center;
  color: #FFF;
  background-color: #0066B3;
}


#mainContents .layoutTyp03 .columnBox .column .column_R h4 {
  padding: 15px 0 0;
  font-size: 1.8rem;
  line-height: 1.4;
}
#mainContents .layoutTyp03 .columnBox .column .column_R h4 a {
  color: #3C3329;
}
#mainContents .layoutTyp03 .columnBox .column .column_R h4 a:hover {
  text-decoration: none;
  opacity: 0.8;
}
#mainContents .layoutTyp03 .columnBox .column .column_R p.text01 {
  padding: 15px 0 0;
  font-size: 1.4rem;
  line-height: 1.7;
}

@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp03 {
    width: calc(100% - 60px);
    margin: 0 auto;
  }
  #mainContents .layoutTyp03 .columnBox {
    width: 100%;
  }
  #mainContents .layoutTyp03 .columnBox .column {
    width: 100%;
  }
  #mainContents .layoutTyp03 .columnBox .column .column_L {
    width: 25%;
  }
  #mainContents .layoutTyp03 .columnBox .column .column_R {
    width: 70%;
  }
}

@media only screen and (max-width: 520px) {
  #mainContents .layoutTyp03 {
    width: 100%;
    padding: 110px 0 0;
  }
  #mainContents .layoutTyp03 .pageNavi {
    width: 260px;
  }
  #mainContents .layoutTyp03 .columnBox {
    width: 100%;
    padding: 55px 0 0;
  }
  #mainContents .layoutTyp03 .columnBox .column {
    width: 100%;
    padding: 0 0 50px;
  }
  #mainContents .layoutTyp03 .columnBox .column .column_L {
    width: 100%;
    padding: 0 0 15px;
	text-align: center;
  }
  #mainContents .layoutTyp03 .columnBox .column .column_L img {
    width: 100%;
    height: auto;
  }
  #mainContents .layoutTyp03 .columnBox .column .column_R {
    width: 100%;
    margin: 0;
  }
}


#mainContents .layoutTyp04 {
  width: 855px;
  margin: 0 auto;
  padding: 140px 0 0;
}
#mainContents .layoutTyp04 .entryBody p.date {
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
}
#mainContents .layoutTyp04 .entryBody p.date::after {
  position: absolute;
  right: -109px;
  top: -1px;
  width: 93px;
  height: 22px;
  padding: 1px 0 0;
  box-sizing: border-box;
  font-size: 1.2rem;
  text-align: center;
}
#mainContents .layoutTyp04 .entryBody p.date.cate01::after {
  border: 1px solid #0066B3;
  color: #0066B3;
  content: "ニュース";
}
#mainContents .layoutTyp04 .entryBody p.date.cate02::after {
  border: 1px solid #34A896;
  color: #34A896;
  content: "ニュｰスリリｰス";
}
#mainContents .layoutTyp04 .entryBody p.date.cate03::after {
  border: 1px solid #B94399;
  color: #B94399;
  content: "トピックス";
}
#mainContents .layoutTyp04 .entryBody p.date.cate04::after {
  border: 1px solid #f78724;
  color: #f78724;
  content: "ブログ";
}

#mainContents .layoutTyp04 .entryBody p.date.new {
  position: relative;
  padding: 0 0 0 70px;
}
#mainContents .layoutTyp04 .entryBody p.date.new::before {
  position: absolute;
  left: 0;
  top: 1px;
  width: 60px;
  height: 19px;
  padding: 0;
  border-radius: 10px;
  box-sizing: border-box;
  font-size: 1.2rem;
  text-align: center;
  color: #FFF;
  background-color: #0066B3;
  content: "NEW";
}

#mainContents .layoutTyp04 .entryBody p span.download {
  position: absolute;
  right: -146px;
  top: -2px;
  width: 23px;
  height: 22px;
  background-image: url("../img/pdf19.png");
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp04 .entryBody p span.new {
  position: absolute;
  left: 193px;
  top: 1px;
  width: 60px;
  height: 19px;
  padding: 0;
  border-radius: 10px;
  box-sizing: border-box;
  font-size: 1.2rem;
  text-align: center;
  color: #FFF;
  background-color: #0066B3;
}

#mainContents .layoutTyp04 .entryBody h4 {
  padding: 20px 0 0;
  font-size: 3.5rem;
  font-weight: 500;
  line-height: 1.4;
}
#mainContents .layoutTyp04 .entryBody .imgBox {
  width: 100%;
  padding: 60px 0 0;
}
#mainContents .layoutTyp04 .entryBody .imgBox img {
  width: 100%;
  height: auto;
}
#mainContents .layoutTyp04 .entryBody .textBox {
  width: 100%;
  padding: 60px 0;
  border-bottom: 1px solid #707070;
}
#mainContents .layoutTyp04 .entryBody .textBox p {
  padding: 0 0 20px;
  font-size: 1.8rem;
  line-height: 2.0;
}
#mainContents .layoutTyp04 .pageLink {
  width: 100%;
  padding: 35px 0 150px;
  display: flex;
  justify-content: space-between;
}
#mainContents .layoutTyp04 .pageLink .column a {
  position: relative;
  font-size: 1.4rem;
  font-weight: 700;
  color: #838383;
}
#mainContents .layoutTyp04 .pageLink .column:nth-child(1) a {
  padding: 0 0 0 40px;
}
#mainContents .layoutTyp04 .pageLink .column:nth-child(3) a {
  padding: 0 40px 0 0;
}
#mainContents .layoutTyp04 .pageLink .column a::before {
  position: absolute;
  top: 2px;
  width: 25px;
  height: 15px;
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp04 .pageLink .column:nth-child(1) a::before {
  left: 0;
  background-image: url("../img/icon10.svg");
}
#mainContents .layoutTyp04 .pageLink .column:nth-child(3) a::before {
  right: 0;
  background-image: url("../img/icon11.svg");
}
#mainContents .layoutTyp04 .pageLink .column a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp04 {
    width: calc(100% - 60px);
    margin: 0 auto;
  } 
  #mainContents .layoutTyp04 .entryBody .imgBox {
    width: 100%;
    padding: 40px 0 0;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .layoutTyp04 {
    width: 100%;
    padding: 110px 0 0;
  } 
  #mainContents .layoutTyp04 .entryBody h4 {
    padding: 15px 0 0;
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp04 .entryBody .imgBox {
    width: 100%;
    padding: 40px 0 0;
  }
  #mainContents .layoutTyp04 .entryBody .textBox {
    padding: 40px 0;
  }
  #mainContents .layoutTyp04 .entryBody .textBox p {
    font-size: 1.4rem;
  }
}


/* 2026/9/29非表示
#mainContents .layoutTyp05 {
  width: 100%;
  margin: 0 auto;
  padding: 40px 0 0;
}
#mainContents .layoutTyp05 h4 {
  padding: 0 0 40px;
  font-size: 2.0rem;
  font-weight: 500;
}
#mainContents .layoutTyp05 p {
  padding: 0 0 30px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2.1;
  text-align: justify;
}
#mainContents .layoutTyp05 p.text01 {
  padding: 20px 0 70px;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: right;
}
#mainContents .layoutTyp05 p.text01 span {
  font-size: 1.8rem;
  font-weight: 400;
}
#mainContents .layoutTyp05 figure {
  float: left;
  margin: 0 40px 0 0;
  width: 355px;
}
#mainContents .layoutTyp05 figure img {
  width: 100%;
  height: auto;
  padding: 10px 0 0;
}
@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp05 {
    padding: 40px 0 0;
  }
  #mainContents .layoutTyp05 h4 {
    padding: 0 0 30px;
    font-size: 2.0rem;
  }
  #mainContents .layoutTyp05 p {
    padding: 0 0 20px;
    font-size: 1.6rem;
    line-height: 2.0;
  }
  #mainContents .layoutTyp05 p.text01 {
    padding: 20px 0 50px;
    font-size: 2.0rem;
  }
  #mainContents .layoutTyp05 p.text01 span {
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp05 figure {
    float: none;
    width: 210px;
    margin: 0 auto;
    padding: 0 0 20px;
  }
  #mainContents .layoutTyp05 figure img {
    padding: 0;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .layoutTyp05 {
    padding: 40px 0 0;
  }
  #mainContents .layoutTyp05 h4 {
    padding: 0 0 30px;
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp05 p {
    padding: 0 0 20px;
    font-size: 1.4rem;
    line-height: 2.0;
  }
  #mainContents .layoutTyp05 p.text01 {
    padding: 20px 0 50px;
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp05 p.text01 span {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp05 figure {
    float: none;
    width: 180px;
    margin: 0 auto;
    padding: 0 0 20px;
  }
  #mainContents .layoutTyp05 figure img {
    padding: 0;
  }
}


#mainContents .layoutTyp06 {
  width: 534px;
  margin: -75px auto 0;
}
#mainContents .layoutTyp06 img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp06 {
    width: 450px;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .layoutTyp06 {
    width: 100%;
    margin: 0 auto;
  }
}

#mainContents .layoutTyp07 {
  width: 100%;
  min-height: 520px;
  margin: 40px 0 0;
  padding: 80px 0;
  box-sizing: border-box;
  background-image: url("../img/philosophy/philosophy_bk02.jpg");
  background-size: cover;
  text-align: center;
}
#mainContents .layoutTyp07 h3 {
  font-size: 3.5rem;
  color: #0066B3;
  font-weight: 700;
}
#mainContents .layoutTyp07 h4 {
  font-family: 'Oswald', sans-serif;
  padding: 5px 0 0;
  font-size: 2.0rem;
  font-weight: 400;
  color: #838383;
}
#mainContents .layoutTyp07 p.text01 {
  padding: 20px 0 0;
  font-size: 3.0rem;
  font-weight: 500;
  line-height: 1.6;
}
#mainContents .layoutTyp07 p.text02 {
  padding: 30px 0 0;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.7;
}
#mainContents .layoutTyp07 .link01 {
  width: 320px;
  margin: 0 auto;
  padding: 50px 0 0;
}
#mainContents .layoutTyp07 .link01 a {
  position: relative;
  display: block;
  width: 320px;
  height: 60px;
  padding: 16px 0 0;
  border: 1px solid #0066B3;
  box-sizing: border-box;
  font-size: 1.6rem;
  color: #0066B3;
  transition: all 0.3s ease;
}
#mainContents .layoutTyp07 .link01 a::after {
  position: absolute;
  right: 48px;
  top: 26px;
  width: 7px;
  height: 6px;
  background-image: url("../img/icon12.svg");
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp07 .link01 a:hover {
  border: 1px solid #0066B3;
  background-color: #0066B3;
  color: #FFF;
}
#mainContents .layoutTyp07 .link01 a:hover::after {
  background-image: url("../img/icon13.svg");
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp07 {
    width: 100%;
    min-height: auto;
    margin: 50px auto 0;
  }
  #mainContents .layoutTyp07 h3 {
    font-size: 2.6rem;
  }
  #mainContents .layoutTyp07 h4 {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp07 p.text01 {
    padding: 20px 0 0;
    font-size: 2.0rem;
  }
  #mainContents .layoutTyp07 p.text02 {
    padding: 20px 30px 0;
    font-size: 1.4rem;
    text-align: left;
  }
  #mainContents .layoutTyp07 .link01 {
    width: 294px;
    padding: 30px 0 0;
  }
  #mainContents .layoutTyp07 .link01 a {
    width: 294px;
  }
  #mainContents .layoutTyp07 .link01 a::after {
    right: 37px;
  }
}


#mainContents .layoutTyp08 {
  width: 100%;
  padding: 80px 0 0;
  box-sizing: border-box;
  text-align: center;
}
#mainContents .layoutTyp08 h3 {
  position: relative;
  z-index: 10;
  display: inline-block;
  font-size: 3.5rem;
  color: #0066B3;
  font-weight: 700;
}
#mainContents .layoutTyp08 h3::before {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 2px;
  width: 110%;
  height: 11px;
  margin: 0 0 0 -55%;
  background-image: url("../img/philosophy/philosophy_bk01.jpg");
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp08 h4 {
  font-family: 'Oswald', sans-serif;
  padding: 5px 0 0;
  font-size: 2.0rem;
  font-weight: 400;
  color: #838383;
}
#mainContents .layoutTyp08 ul {
  width: 700px;
  margin: 0 auto;
  padding: 30px 0 0;
  text-align: left;
}
#mainContents .layoutTyp08 ul li {
  position: relative;
  padding: 0 0 10px;
  font-size: 1.8rem;
  line-height: 1.4;
}
#mainContents .layoutTyp08 ul li::before {
  content: "・";
}
#mainContents .layoutTyp08 .textBox {
  width: 592px;
  margin: 0 auto;
  padding: 40px 0 0;
}
#mainContents .layoutTyp08 .textBox .columnBox {
  width: 100%;
  padding: 0 0 5px;
  display: flex;
  justify-content: space-between;
}
#mainContents .layoutTyp08 .textBox .columnBox .column_L {
  width: 94px;
}
#mainContents .layoutTyp08 .textBox .columnBox .column_L p {
  font-size: 1.8rem;
  font-weight: 500;
  color: #838383;
  text-align: left;
}
#mainContents .layoutTyp08 .textBox .columnBox .column_L p span {
  font-size: 2.4rem;
}
#mainContents .layoutTyp08 .textBox .columnBox .column_R {
  width: 498px;
}
#mainContents .layoutTyp08 .textBox .columnBox .column_R p {
  padding: 7px 0 0;
  font-size: 1.8rem;
  line-height: 1.4;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp08 h3 {
    font-size: 2.6rem;
  }
  #mainContents .layoutTyp08 h4 {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp08 ul {
    width: 300px;
    margin: 0 auto;
    padding: 30px 0 0;
    text-align: left;
  }
  #mainContents .layoutTyp08 ul li {
    padding: 0 0 10px 20px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp08 ul li::before {
    position: absolute;
    left: 0;
    top: 0;
  }
  #mainContents .layoutTyp08 .textBox {
    width: 275px;
    padding: 30px 0 0;
  }
  #mainContents .layoutTyp08 .textBox .columnBox {
    width: 100%;
    padding: 0 0 5px;
    display: flex;
    justify-content: space-between;
  }
  #mainContents .layoutTyp08 .textBox .columnBox .column_L {
    width: 20%;
  }
  #mainContents .layoutTyp08 .textBox .columnBox .column_L p {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp08 .textBox .columnBox .column_L p span {
    font-size: 2.0rem;
  }
  #mainContents .layoutTyp08 .textBox .columnBox .column_R {
    width: 73%;
  }
  #mainContents .layoutTyp08 .textBox .columnBox .column_R p {
    padding: 7px 0 0;
    font-size: 1.4rem;
  }
}

#mainContents .layoutTyp09 {
  width: 100%;
  margin: 100px 0 80px;
  padding: 80px 0;
  background-color: #ECF1F4;
}
#mainContents .layoutTyp09 .textArea {
  width: 800px;
  margin: 0 auto;
}
#mainContents .layoutTyp09 h3 {
  padding: 0 0 30px;
  font-size: 2.2rem;
  font-weight: 700;
}
#mainContents .layoutTyp09 p {
  padding: 0 0 20px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.7;
}
@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp09 .textArea {
    width: calc(100% - 120px);
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .layoutTyp09 {
    margin: 100px 0 50px;
  }
  #mainContents .layoutTyp09 .textArea {
    width: calc(100% - 60px);
  }
  #mainContents .layoutTyp09 h3 {
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp09 p {
    font-size: 1.4rem;
  }
}
 */

#mainContents .layoutTyp10 {
  width: 857px;
  margin: 0 auto;
  padding: 120px 0;
}
#mainContents .layoutTyp10 .caseIcon {
  width: 100%;
}
#mainContents .layoutTyp10 .caseIcon ul {
  display: flex;
}
#mainContents .layoutTyp10 .caseIcon ul li {
  height: 22px;
  padding: 1px 10px;
  margin: 0 10px 0 0;
  box-sizing: border-box;
  font-size: 1.2rem;
}
#mainContents .layoutTyp10 .caseIcon ul li.icon01 {
  border: 1px solid #0066B3;
  color: #0066B3;
}
#mainContents .layoutTyp10 .caseIcon ul li.icon02 {
  border: 1px solid #B94399;
  color: #B94399;
}
#mainContents .layoutTyp10 .caseIcon ul li.icon03 {
  border: 1px solid #34A896;
  color: #34A896;
}
#mainContents .layoutTyp10 .caseIcon ul li.icon04 {
  border: 1px solid #B29042;
  color: #B29042;
}
#mainContents .layoutTyp10 .caseIcon ul li.icon05 {
  border: 1px solid #838383;
  color: #838383;
}
#mainContents .layoutTyp10 h4 {
  padding: 30px 0 0;
  font-size: 3.5rem;
  font-weight: 500;
}
#mainContents .layoutTyp10 .mvArea {
  width: 100%;
  padding: 60px 0 0;
}
#mainContents .layoutTyp10 .mvArea img {
  width: 100%;
}
#mainContents .layoutTyp10 .mvArea .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 .layoutTyp10 .mvThumbnail {
  width: 100%;
  padding: 25px 0 70px;
  display: flex;
}
#mainContents .layoutTyp10 .mvThumbnail img {
  width: 200px;
  height: auto;
  margin: 0 19px 0 0;
}
#mainContents .layoutTyp10 .mvThumbnail a:nth-child(4) img {
  margin: 0;
}
@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp10 {
    width: calc(100% - 120px);
  }
  #mainContents .layoutTyp10 .mvThumbnail {
    padding: 15px 0 70px;
  }
  #mainContents .layoutTyp10 .mvThumbnail a {
    display: block;
    width: 24.25%;
    margin: 0 1% 0 0;
  }
  #mainContents .layoutTyp10 .mvThumbnail img {
    width: 100%;
    height: auto;
    margin: 0;
  }
  #mainContents .layoutTyp10 .mvThumbnail a:nth-child(4) {
    margin: 0;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .layoutTyp10 {
    width: calc(100% - 60px);
    padding: 100px 0;
  }
  #mainContents .layoutTyp10 .caseIcon ul {
    flex-wrap: wrap;
  }
  #mainContents .layoutTyp10 .caseIcon ul li {
    margin: 0 10px 10px 0;
  }
  #mainContents .layoutTyp10 h4 {
    padding: 15px 0 0;
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp10 .mvArea {
    padding: 30px 0 0;
  }
  #mainContents .layoutTyp10 .mvThumbnail {
    padding: 15px 0 50px;
  }
  #mainContents .layoutTyp10 .mvThumbnail a {
    display: block;
    width: 24.25%;
    margin: 0 1% 0 0;
  }
  #mainContents .layoutTyp10 .mvThumbnail img {
    width: 100%;
    height: auto;
    margin: 0;
  }
  #mainContents .layoutTyp10 .mvThumbnail a:nth-child(4) {
    margin: 0;
  }
  #mainContents .layoutTyp10 h5 {
    padding: 0 0 20px;
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp10 p.text01 {
    padding: 0 0 40px;
    font-size: 1.4rem;
  }
}

#mainContents .layoutTyp10 h5 {
  padding: 0 0 20px;
  font-size: 2.2rem;
  font-weight: 500;
  color: #0066B3;
  line-height: 1.4;
}
#mainContents .layoutTyp10 p.text01 {
  padding: 0 0 60px;
  font-size: 1.8rem;
  line-height: 1.7;
}
#mainContents .layoutTyp10 .textBox {
  width: 100%;
  margin: 0 0 20px;
  padding: 40px 0;
  background-image: url("../img/works_case/works_case_bk01.jpg");
  background-size: cover;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .layoutTyp10 .textBox.typ01 {
  margin: 0 0 80px;
}
#mainContents .layoutTyp10 .textBox .column_L {
  width: 228px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#mainContents .layoutTyp10 .textBox .column_L p {
  font-size: 2.0rem;
  font-weight: 500;
  color: #0066B3;
  text-align: center;
}
#mainContents .layoutTyp10 .textBox .column_R {
  width: 629px;
  display: flex;
  align-items: center;
}
#mainContents .layoutTyp10 .textBox .column_R ul {
  position: relative;
  padding: 0 50px 0 50px;
}
#mainContents .layoutTyp10 .textBox .column_R ul::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: #0066B3;
  content: "";
}
#mainContents .layoutTyp10 .textBox .column_R ul li {
  position: relative;
  font-size: 1.8rem;
  line-height: 1.7;
}
#mainContents .layoutTyp10 .textBox .column_R ul li::before {
  position: absolute;
  left: -20px;
  top: 0;
  content: "・";
}
#mainContents .layoutTyp10 .profileArea {
  width: 100%;
  margin: 50px 0 0;
  padding: 50px 50px 20px;
  background-color: rgba(178, 178, 178, 0.2);
  display: flex;
  justify-content: space-between;
}
#mainContents .layoutTyp10 .profileArea .column_L {
  width: 150px;
}
#mainContents .layoutTyp10 .profileArea .column_L img {
  width: 100%;
  height: auto;
}
#mainContents .layoutTyp10 .profileArea .column_L p.text01 {
  padding: 10px 0 0;
  font-size: 1.1rem;
  line-height: 1.4;
  color: #707070;
}
#mainContents .layoutTyp10 .profileArea .column_L p.text02 {
  padding: 10px 0 0;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.4;
  color: #000;
}
#mainContents .layoutTyp10 .profileArea .column_R {
  width: 576px;
}
#mainContents .layoutTyp10 .profileArea .column_R h5 {
  position: relative;
  padding: 0 0 30px;
  font-size: 1.8rem;
  font-weight: 500;
  color: #000000;
  line-height: 1.4;
}
#mainContents .layoutTyp10 .profileArea .column_R h5::before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #707070;
  content: "";
}
#mainContents .layoutTyp10 .profileArea .column_R table {
  width: 100%;
  margin: 30px 0 0;
}
#mainContents .layoutTyp10 .profileArea .column_R table th {
  width: 85px;
  padding: 0 0 25px;
  font-size: 1.4rem;
  text-align: left;
  font-weight: 400;
  line-height: 1.4;
  vertical-align: top;
}
#mainContents .layoutTyp10 .profileArea .column_R table td {
  padding: 0 0 30px;
  font-size: 1.4rem;
  text-align: left;
  font-weight: 400;
  line-height: 1.4;
}
#mainContents .layoutTyp10 .profileArea .column_R table td a {
  position: relative;
}
#mainContents .layoutTyp10 .profileArea .column_R table td a::after {
  position: absolute;
  right: -20px;
  top: 4px;
  width: 12px;
  height: 12px;
  background-image: url("../img/works_case/works_case_icon01.svg");
  background-size: cover;
  content: "";
}
@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp10 .textBox {
    width: 100%;
    margin: 0 0 20px;
    padding: 20px 0;
  }
  #mainContents .layoutTyp10 .textBox.typ01 {
    margin: 0 0 40px;
  }
  #mainContents .layoutTyp10 .textBox .column_L {
    width: 100%;
    padding: 0 0 25px;
  }
  #mainContents .layoutTyp10 .textBox .column_L p {
    font-size: 2.0rem;
  }
  #mainContents .layoutTyp10 .textBox .column_L p br {
    display: none;
  }
  #mainContents .layoutTyp10 .textBox .column_R {
    width: 100%;
  }
  #mainContents .layoutTyp10 .textBox .column_R ul {
    position: relative;
    width: 100%;
    padding: 0;
    margin: 0 20px;
  }
  #mainContents .layoutTyp10 .textBox .column_R ul::before {
    left: 0;
    top: -10px;
    width: 100%;
    height: 1px;
  }
  #mainContents .layoutTyp10 .textBox .column_R ul li {
    padding: 0 0 0 20px;
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp10 .textBox .column_R ul li::before {
    left: 0;
  }
  #mainContents .layoutTyp10 .profileArea {
    flex-wrap: wrap;
  }
  #mainContents .layoutTyp10 .profileArea .column_L {
    width: 100%;
    display: flex;
  }
  #mainContents .layoutTyp10 .profileArea .column_L .columnSub_L {
    width: 120px;
    padding: 0 30px 0 0;
  }
  #mainContents .layoutTyp10 .profileArea .column_L .columnSub_R {
    width: 500px
  }
  #mainContents .layoutTyp10 .profileArea .column_L img {
    width: 100%;
    height: auto;
  }
  #mainContents .layoutTyp10 .profileArea .column_L p.text01 {
    padding: 0;
  }
  #mainContents .layoutTyp10 .profileArea .column_R {
    width: 100%;
    padding: 40px 0 0;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .layoutTyp10 h5 {
    padding: 0 0 20px;
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp10 p.text01 {
    padding: 0 0 40px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp10 .textBox {
    width: 100%;
    margin: 0 0 20px;
    padding: 20px 0;
  }
  #mainContents .layoutTyp10 .textBox.typ01 {
    margin: 0 0 40px;
  }
  #mainContents .layoutTyp10 .textBox .column_L {
    width: 100%;
    padding: 0 0 25px;
  }
  #mainContents .layoutTyp10 .textBox .column_L p {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp10 .textBox .column_L p br {
    display: none;
  }
  #mainContents .layoutTyp10 .textBox .column_R {
    width: 100%;
  }
  #mainContents .layoutTyp10 .textBox .column_R ul {
    position: relative;
    width: 100%;
    padding: 0;
    margin: 0 20px;
  }
  #mainContents .layoutTyp10 .textBox .column_R ul::before {
    left: 0;
    top: -10px;
    width: 100%;
    height: 1px;
  }
  #mainContents .layoutTyp10 .textBox .column_R ul li {
    padding: 0 0 0 20px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp10 .textBox .column_R ul li::before {
    left: 0;
  }
  #mainContents .layoutTyp10 .profileArea {
    margin: 30px 0 0;
    padding: 30px 30px 10px;
    flex-wrap: wrap;
  }
  #mainContents .layoutTyp10 .profileArea .column_L {
    width: 100%;
    padding: 0 0 20px;
    display: flex;
  }
  #mainContents .layoutTyp10 .profileArea .column_L .columnSub_L {
    width: 40%;
    padding: 0 6% 0 0;
  }
  #mainContents .layoutTyp10 .profileArea .column_L .columnSub_R {
    width: 54%;
  }
  #mainContents .layoutTyp10 .profileArea .column_L img {
    width: 100%;
    height: auto;
  }
  #mainContents .layoutTyp10 .profileArea .column_L p.text01 {
    font-size: 1.2rem;
  }
  #mainContents .layoutTyp10 .profileArea .column_L p.text02 {
    font-size: 1.2rem;
  }
  #mainContents .layoutTyp10 .profileArea .column_R {
    width: 100%;
    padding: 0;
  }
  #mainContents .layoutTyp10 .profileArea .column_R h5 {
    padding: 0 0 20px;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp10 .profileArea .column_R h5::before {
    bottom: 0;
  }
  #mainContents .layoutTyp10 .profileArea .column_R table {
    width: 100%;
    margin: 20px 0 0;
  }
  #mainContents .layoutTyp10 .profileArea .column_R table th {
    width: 55px;
    padding: 0 0 15px;
    font-size: 1.2rem;
  }
  #mainContents .layoutTyp10 .profileArea .column_R table td {
    padding: 0 0 15px;
    font-size: 1.2rem;
  }
}


#mainContents .layoutTyp10 .linkArea {
  width: 100%;
  padding: 80px 0 0;
}
#mainContents .layoutTyp10 .linkArea h4 {
  font-size: 1.8rem;
  font-weight: 500;
}
#mainContents .layoutTyp10 .linkArea ul {
  padding: 20px 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}
#mainContents .layoutTyp10 .linkArea ul li {
  width: 205px;
  margin: 0 12px 0 0;
  font-size: 1.4rem;
}
#mainContents .layoutTyp10 .linkArea ul li:nth-child(4) {
  margin: 0;
}
#mainContents .layoutTyp10 .linkArea ul li img {
  width: 100%;
  height: auto;
}
#mainContents .layoutTyp10 p.text03 {
  padding: 50px 0 0;
  font-size: 1.4rem;
  text-align: right;
  color: #838383;
}
#mainContents .layoutTyp10 .indexLink {
  width: 100%;
  margin: 50px 0 0;
  padding: 30px 0 0;
  border-top: 1px solid #707070;
  text-align: center;
}
#mainContents .layoutTyp10 .indexLink a {
  font-size: 1.4rem;
  color: #838383;
}
#mainContents .layoutTyp10 .indexLink a:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp10 .linkArea {
    padding: 50px 0 0;
  }
  #mainContents .layoutTyp10 .linkArea h4 {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp10 .linkArea ul {
    padding: 20px 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  #mainContents .layoutTyp10 .linkArea ul li {
    width: 23.5%;
    margin: 0 2% 0 0;
    font-size: 1.0rem;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .layoutTyp10 .linkArea {
    padding: 40px 0 0;
  }
  #mainContents .layoutTyp10 .linkArea h4 {
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp10 .linkArea ul {
    padding: 20px 0 0;
    justify-content: space-between;
  }
  #mainContents .layoutTyp10 .linkArea ul li {
    width: 49%;
    margin: 0 0 15px;
    font-size: 1.0rem;
  }
  #mainContents .layoutTyp10 p.text03 {
    padding: 30px 0 0;
    font-size: 1.2rem;
  }
  #mainContents .layoutTyp10 .indexLink a {
    font-size: 1.2rem;
  }
}



#mainContents .layoutTyp11 {
  width: 100%;
  padding: 90px 0 80px;
  background-image: url("../img/works/works_bk01.svg");
  background-size: cover;
}
#mainContents .layoutTyp11 .caseArea {
  width: 1126px;
  margin: 0 auto;
}
#mainContents .layoutTyp11 h2 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 7.0rem;
  color: #FFF;
  line-height: 1;
}
#mainContents .layoutTyp11 h3 {
  padding: 10px 0 0;
  font-size: 2.2rem;
  line-height: 1;
}
#mainContents .layoutTyp11 .columnBox {
  width: 100%;
  padding: 40px 0 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
#mainContents .layoutTyp11 .columnBox .column {
  width: 350px;
  margin: 0 38px 50px 0;
  padding: 0 0 30px;
  background-color: #FFF;
}
#mainContents .layoutTyp11 .columnBox .column:nth-child(3n) {
  margin: 0 0 50px 0;
}
#mainContents .layoutTyp11 .columnBox .column img {
  width: 350px;
  height: 196px;
}
#mainContents .layoutTyp11 .columnBox .column h4 {
  padding: 30px 25px 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6;
}
#mainContents .layoutTyp11 .columnBox .column h5 {
  padding: 15px 25px 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.6;
}
#mainContents .layoutTyp11 .caseIcon {
  width: 100%;
  padding: 15px 25px 0;
}
#mainContents .layoutTyp11 .caseIcon ul {
  display: flex;
  flex-wrap: wrap;
}
#mainContents .layoutTyp11 .caseIcon ul li {
  height: 22px;
  padding: 0px 10px;
  margin: 0 10px 10px 0;
  box-sizing: border-box;
  font-size: 1.2rem;
}
#mainContents .layoutTyp11 .caseIcon ul li.icon01 {
  border: 1px solid #0066B3;
  color: #0066B3;
}
#mainContents .layoutTyp11 .caseIcon ul li.icon02 {
  border: 1px solid #B94399;
  color: #B94399;
}
#mainContents .layoutTyp11 .caseIcon ul li.icon03 {
  border: 1px solid #34A896;
  color: #34A896;
}
#mainContents .layoutTyp11 .caseIcon ul li.icon04 {
  border: 1px solid #B29042;
  color: #B29042;
}
#mainContents .layoutTyp11 .caseIcon ul li.icon05 {
  border: 1px solid #838383;
  color: #838383;
}
#mainContents .layoutTyp11 .link01 {
  width: 141px;
  margin: 0 auto;
  padding: 20px 0 0;
}
#mainContents .layoutTyp11 .link01 a {
  position: relative;
  display: block;
  width: 141px;
  height: 39px;
  padding: 8px 20px 0 0;
  border: 1px solid #707070;
  box-sizing: border-box;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 1.4rem;
  color: #838383;
  text-align: center;
}
#mainContents .layoutTyp11 .link01 a::after {
  position: absolute;
  right: 30px;
  top: 14px;
  width: 7px;
  height: 6px;
  background-image: url("../img/icon03.svg");
  background-size: cover;
  transform: rotate(-90deg);
  content: "";
}
#mainContents .layoutTyp11 .link01 a:hover {
  text-decoration: none;
  opacity: 0.8;
}

@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp11 .caseArea {
    width: calc(100% - 50px);
    margin: 0 auto;
  }
  #mainContents .layoutTyp11 .columnBox {
    width: calc(100% - 50px);
    margin: 0 auto;
    justify-content: space-between;
  }
  #mainContents .layoutTyp11 .columnBox .column {
    width: 47%;
    margin: 0 0 50px 0;
  }
  #mainContents .layoutTyp11 .columnBox .column img {
    width: 100%;
    height: auto;
  }
}

@media only screen and (max-width: 520px) {
  #mainContents .layoutTyp11 {
    padding: 50px 0 90px;
  }
  #mainContents .layoutTyp11 .caseArea {
    width: calc(100% - 60px);
   }
  #mainContents .layoutTyp11 h2 {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 400;
    font-size: 7.0rem;
    color: #FFF;
    line-height: 1;
  }
  #mainContents .layoutTyp11 .columnBox {
    padding: 30px 0 0;
  }
  #mainContents .layoutTyp11 .columnBox .column {
    width: 100%;
    margin: 0 0 30px 0;
    padding: 0 0 25px;
  }
  #mainContents .layoutTyp11 .columnBox .column:nth-child(3n) {
    margin: 0 0 30px 0;
  }
  #mainContents .layoutTyp11 .columnBox .column img {
    width: 100%;
    height: auto;
  }
  #mainContents .layoutTyp11 .columnBox .column h4 {
    padding: 20px 20px 0;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp11 .columnBox .column h5 {
    padding: 15px 20px 0;
    font-size: 1.1rem;
  }
  #mainContents .layoutTyp11 .caseIcon {
    width: 100%;
    padding: 15px 20px 0;
  }
  #mainContents .layoutTyp11 h2 {
    font-size: 4.6rem;
  }
  #mainContents .layoutTyp11 h3 {
    font-size: 1.8rem;
  }
  #mainContents .layoutTyp11 .link01 a::after {
    top: 16px;
  }
}



/* 2026/9/29非表示
#mainContents .layoutTyp12 {
  position: relative;
  width: 100%;
  padding: 40px 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
 */
/* 2025/10/30コメントアウト
#mainContents .layoutTyp12::after {
  position: absolute;
  right: 0;
  bottom: -20px;
  font-size: 1.4rem;
  content: "[2024年10月時点]";
}*/
/* 2026/9/29非表示
.layoutTyp12_after {
  position: absolute;
  right: 0;
  bottom: -20px;
  font-size: 1.4rem;
}

#mainContents .layoutTyp12 .column {
  position: relative;
  width: 257px;
  height: 257px;
  margin: 0 0 18px;
}
#mainContents .layoutTyp12 .column.color_B {
  background-color: #F2F7FA;
}
#mainContents .layoutTyp12 .column.color_P {
  background-color: #F7F2FA;
}
#mainContents .layoutTyp12 .column::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 32px;
  height: 32px;
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp12 .column.color_B::before {
  background-image: url("../img/infographics/numbers_bk01.svg");
}
#mainContents .layoutTyp12 .column.color_P::before {
  background-image: url("../img/infographics/numbers_bk02.svg");
}
#mainContents .layoutTyp12 .column h4 {
  position: relative;
  z-index: 10;
  padding: 20px 0 0;
  font-size: 2.0rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.2;
}
#mainContents .layoutTyp12 .column img {
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 0;
  width: 257px;
  height: 257px;
  margin: 0 0 0 -128px;
}

#mainContents .layoutTyp12 .column .text01 {
  position: absolute;
  left: 50%;
  top: 155px;
  width: 160px;
  margin: 0 0 0 -80px;
}
#mainContents .layoutTyp12 .column .text01 p {
  font-size: 5.0rem;
  font-weight: 500;
  color: #0066B3;
  letter-spacing: 0.03em;
}
#mainContents .layoutTyp12 .column .text01 p span {
  font-size: 2.0rem;
}

#mainContents .layoutTyp12 .column .text02_01,
#mainContents .layoutTyp12 .column .text02_02 {
  position: absolute;
  left: 50%;
  top: 155px;
  width: 150px;
}
#mainContents .layoutTyp12 .column .text02_01 {
  margin: 0 0 0 -110px;
}
#mainContents .layoutTyp12 .column .text02_02 {
  margin: 0 0 0 9px;
}
#mainContents .layoutTyp12 .column .text02_01 p,
#mainContents .layoutTyp12 .column .text02_02 p {
  font-size: 5.0rem;
  font-weight: 500;
  color: #B94399;
  letter-spacing: 0.03em;
}
#mainContents .layoutTyp12 .column .text02_01 p span.typ01,
#mainContents .layoutTyp12 .column .text02_02 p span.typ01 {
  font-size: 3.0rem;
}
#mainContents .layoutTyp12 .column .text02_01 p span.typ02,
#mainContents .layoutTyp12 .column .text02_02 p span.typ02 {
  font-size: 2.0rem;
}
#mainContents .layoutTyp12 .column .text02_01::before,
#mainContents .layoutTyp12 .column .text02_02::before {
  position: absolute;
  top: -3px;
  font-size: 1.4rem;
  font-weight: 400;
  color: #000000;
}
#mainContents .layoutTyp12 .column .text02_01::before {
  left: 49px;
  content: "男性";
}
#mainContents .layoutTyp12 .column .text02_02::before {
  left: 25px;
  content: "女性";
}


#mainContents .layoutTyp12 .column .text03 {
  position: absolute;
  left: 50%;
  top: 155px;
  width: 125px;
  margin: 0 0 0 -63px;
}
#mainContents .layoutTyp12 .column .text03 p {
  font-size: 5.0rem;
  font-weight: 500;
  color: #0066B3;
  letter-spacing: 0.03em;
}
#mainContents .layoutTyp12 .column .text03 p span {
  font-size: 2.0rem;
}
#mainContents .layoutTyp12 .column .text03 p span.typ01 {
  font-size: 2.7rem;
}
#mainContents .layoutTyp12 .column .text03 p span.typ02 {
  font-size: 2.0rem;
}

#mainContents .layoutTyp12 .column .text04 {
  position: absolute;
  left: 50%;
  top: 155px;
  width: 156px;
  margin: 0 0 0 -78px;
}
#mainContents .layoutTyp12 .column .text04 p {
  font-size: 5.0rem;
  font-weight: 500;
  color: #B94399;
  letter-spacing: 0.03em;
}
#mainContents .layoutTyp12 .column .text04 p span {
  font-size: 2.0rem;
}

#mainContents .layoutTyp12 .column .text05_01,
#mainContents .layoutTyp12 .column .text05_02 {
  position: absolute;
  left: 50%;
  top: 155px;
  width: 110px;
}
#mainContents .layoutTyp12 .column .text05_01 {
  margin: 0 0 0 -95px;
}
#mainContents .layoutTyp12 .column .text05_02 {
  margin: 0 0 0 1px;
}
#mainContents .layoutTyp12 .column .text05_01 p,
#mainContents .layoutTyp12 .column .text05_02 p {
  font-size: 5.0rem;
  font-weight: 500;
  color: #0066B3;
  letter-spacing: 0.03em;
}
#mainContents .layoutTyp12 .column .text05_01 p span.typ01,
#mainContents .layoutTyp12 .column .text05_02 p span.typ01 {
  font-size: 3.0rem;
}
#mainContents .layoutTyp12 .column .text05_01 p span.typ02,
#mainContents .layoutTyp12 .column .text05_02 p span.typ02 {
  font-size: 2.0rem;
}
#mainContents .layoutTyp12 .column .text05_01::before,
#mainContents .layoutTyp12 .column .text05_02::before {
  position: absolute;
  top: -3px;
  font-size: 1.4rem;
  font-weight: 400;
  color: #000000;
}
#mainContents .layoutTyp12 .column .text05_01::before {
  left: 31px;
  content: "新卒";
}
#mainContents .layoutTyp12 .column .text05_02::before {
  left: 34px;
  content: "中途";
}

#mainContents .layoutTyp12 .column .text06_01,
#mainContents .layoutTyp12 .column .text06_02 {
  position: absolute;
  left: 50%;
  top: 155px;
  width: 102px;
}
#mainContents .layoutTyp12 .column .text06_01 {
  margin: 0 0 0 -92px;
}
#mainContents .layoutTyp12 .column .text06_02 {
  margin: 0 0 0 2px;
}
#mainContents .layoutTyp12 .column .text06_01 p,
#mainContents .layoutTyp12 .column .text06_02 p {
  font-size: 5.0rem;
  font-weight: 500;
  color: #B94399;
  letter-spacing: 0.03em;
}
#mainContents .layoutTyp12 .column .text06_02 p {
  letter-spacing: -0.03em;
}
#mainContents .layoutTyp12 .column .text06_01 p span,
#mainContents .layoutTyp12 .column .text06_02 p span {
  font-size: 2.0rem;
}
#mainContents .layoutTyp12 .column .text06_01::before,
#mainContents .layoutTyp12 .column .text06_02::before {
  position: absolute;
  top: -3px;
  font-size: 1.4rem;
  font-weight: 400;
  color: #000000;
}
#mainContents .layoutTyp12 .column .text06_01::before {
  left: 16px;
  content: "男性";
}
#mainContents .layoutTyp12 .column .text06_02::before {
  left: 25px;
  content: "女性";
}

#mainContents .layoutTyp12 .column .text07 {
  position: absolute;
  left: 50%;
  top: 90px;
  width: 200px;
  margin: 0 0 0 -100px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .layoutTyp12 .column .text07 .columnSub {
  width: 30%;
  padding: 0 0 30px;
  text-align: center;
}
#mainContents .layoutTyp12 .column .text07 p {
  position: relative;
  font-size: 3.5rem;
  font-weight: 500;
  color: #0066B3;
  letter-spacing: 0.03em;
}
#mainContents .layoutTyp12 .column .text07 p span {
  font-size: 1.2rem;
}
#mainContents .layoutTyp12 .column .text07 p::before {
  position: absolute;
  left: 0px;
  top: -13px;
  font-size: 1.2rem;
  font-weight: 400;
  color: #000000;
}
#mainContents .layoutTyp12 .column .text07 .columnSub:nth-child(1) p::before {
  content: "一般事務";
}
#mainContents .layoutTyp12 .column .text07 .columnSub:nth-child(2) p::before {
  content: "WEB制作";
}
#mainContents .layoutTyp12 .column .text07 .columnSub:nth-child(3) p::before {
  left: 15px;
  content: "SE";
}
#mainContents .layoutTyp12 .column .text07 .columnSub:nth-child(4) p::before {
  left: 12px;
  content: "営業";
}
#mainContents .layoutTyp12 .column .text07 .columnSub:nth-child(5) p::before {
  left: -16px;
  content: "インフォ・受付";
  letter-spacing: -0.1em;
}
#mainContents .layoutTyp12 .column .text07 .columnSub:nth-child(6) p::before {
  left: 5px;
  content: "その他";
}

#mainContents .layoutTyp12 .column .text08 {
  position: absolute;
  left: 50%;
  top: 155px;
  width: 110px;
  margin: 0 0 0 -51px;
}
#mainContents .layoutTyp12 .column .text08 p {
  font-size: 5.0rem;
  font-weight: 500;
  color: #B94399;
  letter-spacing: 0.03em;
}
#mainContents .layoutTyp12 .column .text08 p span.typ01 {
  font-size: 3.0rem;
}
#mainContents .layoutTyp12 .column .text08 p span.typ02 {
  font-size: 2.0rem;
}
#mainContents .layoutTyp12 .column .text09 {
  position: absolute;
  left: 50%;
  top: 155px;
  width: 110px;
  margin: 0 0 0 -41px;
}
#mainContents .layoutTyp12 .column .text09 p {
  font-size: 5.0rem;
  font-weight: 500;
  color: #0066B3;
  letter-spacing: 0.03em;
}
#mainContents .layoutTyp12 .column .text09 p span.typ01 {
  font-size: 3.0rem;
}
#mainContents .layoutTyp12 .column .text09 p span.typ02 {
  font-size: 2.0rem;
}

#mainContents .layoutTyp12 .column .text10 {
  position: absolute;
  left: 50%;
  top: 155px;
  width: 82px;
  margin: 0 0 0 -41px;
}
#mainContents .layoutTyp12 .column .text10 p {
  font-size: 5.0rem;
  font-weight: 500;
  color: #B94399;
  letter-spacing: 0.03em;
}
#mainContents .layoutTyp12 .column .text10 p span {
  font-size: 2.0rem;
}

#mainContents .layoutTyp12 .column .text11 {
  position: absolute;
  left: 50%;
  top: 155px;
  width: 82px;
  margin: 0 0 0 -41px;
}
#mainContents .layoutTyp12 .column .text11 p {
  font-size: 5.0rem;
  font-weight: 500;
  color: #0066B3;
  letter-spacing: 0.03em;
}
#mainContents .layoutTyp12 .column .text11 p span {
  font-size: 2.0rem;
}

#mainContents .layoutTyp12 .column .text12 {
  position: absolute;
  left: 50%;
  top: 155px;
  width: 82px;
  margin: 0 0 0 -41px;
}
#mainContents .layoutTyp12 .column .text12 p {
  font-size: 5.0rem;
  font-weight: 500;
  color: #B94399;
  letter-spacing: 0.03em;
}
#mainContents .layoutTyp12 .column .text12 p span {
  font-size: 2.0rem;
}
@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp12 {
    width: 100%;
  }
  #mainContents .layoutTyp12 .column {
    width: 32%;
  }
}
@media only screen and (max-width: 767px) {
  #mainContents .layoutTyp12 {
    width: 257px;
    margin: 0 auto;
  }
  #mainContents .layoutTyp12 .column {
    width: 257px;
  }
}


#mainContents .layoutTyp13 {
  width: 800px;
  height: 300px;
  margin: 150px auto;
  background-image: url("../img/infographics/numbers_img01.jpg");
  background-size: cover;
}
#mainContents .layoutTyp13 img.img_Sp {
  display: none;
}
#mainContents .layoutTyp13 .columnBox {
  width: 327px;
  height: 300px;
  padding: 70px 0 0;
  box-sizing: border-box;
  background: linear-gradient(#53CED8, #4888EF);
  text-align: center;
}
#mainContents .layoutTyp13 .columnBox h3 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 2.4rem;
  color: #FFF;
}
#mainContents .layoutTyp13 .columnBox h4 {
  padding: 5px 0 0;
  font-size: 1.6rem;
  font-weight: 500;
  color: #FFF;
}
#mainContents .layoutTyp13 .columnBox p {
  padding: 10px 0 0;
  font-size: 1.2rem;
  color: #FFF;
  line-height: 1.6;
}
#mainContents .layoutTyp13 .columnBox .link01 {
  padding: 20px 0 0;
  width: 100%;
  height: 39px;
}
#mainContents .layoutTyp13 .columnBox .link01 a {
  position: relative;
  display: block;
  width: 115px;
  height: 32px;
  margin: 0 auto;
  padding: 7px 20px 0 0;
  border: 1px solid #FFF;
  box-sizing: border-box;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 1.1rem;
  color: #FFF;
  text-align: center;
}
#mainContents .layoutTyp13 .columnBox .link01 a::after {
  position: absolute;
  right: 30px;
  top: 11px;
  width: 7px;
  height: 6px;
  background-image: url("../img/icon05.svg");
  background-size: cover;
  content: "";
}
#mainContents .layoutTyp13 .columnBox .link01 a:hover {
  text-decoration: none;
  opacity: 0.8;
}
@media only screen and (max-width: 960px) {
  #mainContents .layoutTyp13 {
    width: 100%;
    height: 282px;
    margin: 150px auto;
  }
  #mainContents .layoutTyp13 img.img_Sp {
    display: none;
  }
  #mainContents .layoutTyp13 .columnBox {
    width: 312px;
    height: 282px;
    padding: 50px 0 0;
  }
  #mainContents .layoutTyp13 .columnBox h3 {
    font-size: 2.4rem;
  }
  #mainContents .layoutTyp13 .columnBox h4 {
    padding: 5px 0 0;
    font-size: 1.6rem;
  }
  #mainContents .layoutTyp13 .columnBox p {
    padding: 15px 0 0;
    font-size: 1.2rem;
  }
  #mainContents .layoutTyp13 .columnBox .link01 {
    padding: 25px 0 0;
  }
  #mainContents .layoutTyp13 .columnBox .link01 a {
    width: 141px;
    height: 39px;
    padding: 7px 20px 0 0;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp13 .columnBox .link01 a::after {
    top: 14px;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .layoutTyp13 {
    width: 100%;
    height: auto;
    margin: 100px auto;
    background-image: none;
  }
  #mainContents .layoutTyp13 img.img_Sp {
    display: block;
    width: 100%;
    height: auto;
  }
  #mainContents .layoutTyp13 .columnBox {
    width: 100%;
    height: 200px;
    padding: 20px 0 0;
  }
  #mainContents .layoutTyp13 .columnBox h3 {
    font-size: 2.2rem;
  }
  #mainContents .layoutTyp13 .columnBox h4 {
    padding: 0;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp13 .columnBox p {
    padding: 10px 0 0;
    font-size: 1.2rem;
  }
  #mainContents .layoutTyp13 .columnBox .link01 {
    padding: 15px 0 0;
  }
  #mainContents .layoutTyp13 .columnBox .link01 a {
    width: 141px;
    height: 39px;
    padding: 7px 20px 0 0;
    font-size: 1.4rem;
  }
  #mainContents .layoutTyp13 .columnBox .link01 a::after {
    top: 14px;
  }
}
 */

/* 2026/3/10追加 */
#mainContents .layoutFeature {
  width: 855px;
  margin: 0 auto;
  padding: 0 0;
}
#mainContents .layoutFeature .entryBody h4 {
  padding: 20px 0 0;
  font-size: 3.5rem;
  font-weight: 500;
  line-height: 1.4;
}
#mainContents .layoutFeature .entryBody .imgBox {
  width: 100%;
  padding: 20px 0 0;
}
#mainContents .layoutFeature .entryBody .imgBox img {
  width: 100%;
  height: auto;
}
#mainContents .layoutFeature .entryBody .textBox {
  width: 100%;
  padding: 60px 0;
  border-bottom: 1px solid #707070;
}
#mainContents .layoutFeature .entryBody .textBox p {
  padding: 0 0 20px;
  font-size: 1.8rem;
  line-height: 2.0;
}
@media only screen and (max-width: 960px) {
  #mainContents .layoutFeature {
    width: calc(100% - 60px);
    margin: 0 auto;
  } 
  #mainContents .layoutFeature .entryBody .imgBox {
    width: 100%;
    padding: 40px 0 0;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .layoutFeature {
    width: 100%;
    padding: 0 0;
  } 
  #mainContents .layoutFeature .entryBody h4 {
    padding: 15px 0 0;
    font-size: 1.8rem;
  }
  #mainContents .layoutFeature .entryBody .imgBox {
    width: 100%;
    padding: 40px 0 0;
  }
  #mainContents .layoutFeature .entryBody .textBox {
    padding: 40px 0;
  }
  #mainContents .layoutFeature .entryBody .textBox p {
    font-size: 1.4rem;
  }
}

/* 2026/3/11追加 */
.service-flex-list {
  display: flex !important;
  flex-wrap: wrap !important; /* スマホで折り返す */
  gap: 20px !important;
  list-style: none !important;
  padding: 0 !important;
}
.service-item {
  width: 100% !important;
  flex: 1 1 260px; /* 260pxを基準に伸縮 */
  padding: 10px !important;
  margin-bottom: 5px !important;
  box-sizing: border-box !important; /* パディングを含めたサイズ計算にする */
}
@media screen and (min-width: 768px) {
  .service-item {
    width: 33% !important; /* 横並びに戻す */
    margin-bottom: 10px !important; /* PCでは隙間を小さく */
  }
}

/*==========================================
 Top
===========================================*/
#mainContents #topMvArea {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 856px;
}
#mainContents #topMvArea #topMvBox {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
  width: 833px;
  height: 856px;
}
#mainContents #topMvArea #topMvBox .topMvMusk {
  position: absolute;
  right: 0;
  top: 0;
  width: 833px;
  height: 856px;
}
#mainContents #topMvArea #topMvBox .topMvMusk::before {
  position: absolute;
  z-index: 10;
  left: 0;
  top: 0;
  width: 470px;
  height: 272px;
  background-image: url("../img/top/topMv_Musk01.svg");
  background-size: cover;
  content: "";
}
#mainContents #topMvArea #topMvBox .topMvMusk::after {
  position: absolute;
  z-index: 10;
  right: 0;
  bottom: -1px;
  width: 836px;
  height: 483px;
  background-image: url("../img/top/topMv_Musk02.svg");
  background-size: cover;
  content: "";
}
#mainContents #topMvArea #topMvBox  img {
  position: absolute;
  right: 0;
  top: 0;
  width: 833px;
  height: 856px;
  clip-path: inset(0 0 0 0 round 0);
  transition: all 1.0s ease;
}
#mainContents #topMvArea #topMvBox img.slide {
  clip-path: inset(0 0 0 833px round 0);
}
#mainContents #topMvArea #topMvBox::before {
  position: absolute;
  z-index: 50;
  left: 0;
  top: 0;
  width: 100%;
  height: 856px;
  background-color: #FFF;
  content: "";
  transition: all 0.8s 1.0s ease;
}
#mainContents #topMvArea #topMvBox.load::before {
  left: 100%;
}

#mainContents #topMvArea #topMvBox_Sp {
  display: none;
}

@media only screen and (max-width: 960px) {
  #mainContents #topMvArea {
    position: static;
    width: 100%;
    height: auto;
  }
  #mainContents #topMvArea #topMvBox {
    display: none;
  }
  #mainContents #topMvArea #topMvBox_Sp {
    position: relative;
    display: block;
    width: 100%;
    height: 610px;
    margin: -200px 0 0;
  }
  #mainContents #topMvArea #topMvBox_Sp .topMvMusk {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 535px;
  }
  #mainContents #topMvArea #topMvBox_Sp .topMvMusk::before {
    position: absolute;
    z-index: 10;
    right: 0;
    top: -1px;
    width: 960px;
    height: 473px;
    background-image: url("../img/top/topMv_Musk01_sp.svg");
    background-size: cover;
    content: "";
  }
  #mainContents #topMvArea #topMvBox_Sp .topMvMusk::after {
    position: absolute;
    z-index: 10;
    left: -140px;
    bottom: 0;
    width: 960px;
    height: 473px;
    background-image: url("../img/top/topMv_Musk02_sp.svg");
    background-size: cover;
    content: "";
  }
  #mainContents #topMvArea #topMvBox_Sp img {
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: auto;
    clip-path: inset(0 0 0 0 round 0);
    transition: all 1.5s ease;
  }
  #mainContents #topMvArea #topMvBox_Sp img.slide {
    clip-path: inset(0 0 0 833px round 0);
  }
  #mainContents #topMvArea #topMvBox_Sp::before {
    position: absolute;
    z-index: 50;
    left: 0;
    top: 0;
    width: 100%;
    height: 1250px;
    background-color: #FFF;
    content: "";
    transition: all 0.8s 1.5s ease;
  }
  #mainContents #topMvArea #topMvBox_Sp.load::before {
    left: 100%;
  }
}

@media only screen and (max-width: 520px) {
  #mainContents #topMvArea {
    position: static;
    width: 100%;
    height: auto;
  }
  #mainContents #topMvArea #topMvBox {
    display: none;
  }
  #mainContents #topMvArea #topMvBox_Sp {
    position: relative;
    display: block;
    width: 100%;
    height: 610px;
    margin: -100px 0 0;
  }
  #mainContents #topMvArea #topMvBox_Sp .topMvMusk {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 535px;
  }
  #mainContents #topMvArea #topMvBox_Sp .topMvMusk::before {
    position: absolute;
    z-index: 10;
    right: 0;
    top: 0;
    width: 800px;
    height: 461px;
    background-image: url("../img/top/topMv_Musk01_sp.svg");
    background-size: cover;
    content: "";
  }
  #mainContents #topMvArea #topMvBox_Sp .topMvMusk::after {
    position: absolute;
    z-index: 10;
    left: 0;
    bottom: 0;
    width: 800px;
    height: 461px;
    background-image: url("../img/top/topMv_Musk02_sp.svg");
    background-size: cover;
    content: "";
  }
  #mainContents #topMvArea #topMvBox_Sp img {
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: auto;
    clip-path: inset(0 0 0 0 round 0);
    transition: all 1.5s ease;
  }
  #mainContents #topMvArea #topMvBox_Sp img.slide {
    clip-path: inset(0 0 0 833px round 0);
  }
  #mainContents #topMvArea #topMvBox_Sp::before {
    position: absolute;
    z-index: 50;
    left: 0;
    top: 0;
    width: 100%;
    height: 610px;
    background-color: #FFF;
    content: "";
    transition: all 0.8s 1.5s ease;
  }
  #mainContents #topMvArea #topMvBox_Sp.load::before {
    left: 100%;
  }
}

#mainContents #topMvArea #bar01,
#mainContents #topMvArea #bar02,
#mainContents #topMvArea #bar03,
#mainContents #topMvArea #bar04 {
  position: absolute;
  z-index: 100;
}
#mainContents #topMvArea #bar01 {
  left: 0;
  top: 0;
  width: 529px;
  height: 358px;
  transform: translate(697px, -359px);
}
#mainContents #topMvArea #bar01.load {
  animation: topBar_ani_01 0.4s ease-in 0.5s forwards;
}
@keyframes topBar_ani_01 {
  0% {
    opacity: 0;
    transform: translate(697px, -359px);
  }
  100% {
    opacity: 1;
    transform: translate(230px, -89px);
  }
}
@media only screen and (max-width: 960px) {
  #mainContents #topMvArea #bar01 {
    left: -172px;
    top: -54px;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents #topMvArea #bar01 {
    left: 0;
    top: 0;
    width: 256px;
    height: 174px;
    transform: translate(323px, -178px);
  }
  #mainContents #topMvArea #bar01.load {
    animation: topBar_ani_01_sp 0.4s ease-in 0.5s forwards;
  }
  @keyframes topBar_ani_01_sp {
    0% {
      opacity: 0;
      transform: translate(323px, -178px);
    }
    100% {
      opacity: 1;
      transform: translate(69px, -30px);
    }
  }
}


#mainContents #topMvArea #bar02 {
  left: 0;
  top: 0;
  width: 529px;
  height: 358px;
  transform: translate(-529px, 435px);
}
#mainContents #topMvArea #bar02.load {
  animation: topBar_ani_02 0.4s ease-in 0.0s forwards;
}
@keyframes topBar_ani_02 {
  0% {
    opacity: 0;
    transform: translate(-529px, 435px);
  }
  100% {
    opacity: 1;
    transform: translate(-35px, 155px);
  }
}
@media only screen and (max-width: 960px) {
  #mainContents #topMvArea #bar02 {
    left: -123px;
    top: -101px;
    width: 529px;
    height: 358px;
    transform: translate(-529px, 435px);
  }
}
@media only screen and (max-width: 520px) {
  #mainContents #topMvArea #bar02 {
    left: 0;
    top: 0;
    width: 256px;
    height: 174px;
    transform: translate(-257px, 202px);
  }
  #mainContents #topMvArea #bar02.load {
    animation: topBar_ani_02_sp 0.4s ease-in 0.0s forwards;
  }
  @keyframes topBar_ani_02_sp {
    0% {
      opacity: 0;
      transform: translate(-257px, 202px);
    }
    100% {
      opacity: 1;
      transform: translate(-22px, 70px);
    }
  }
}


#mainContents #topMvArea #bar03 {
  right: 0;
  top: 0;
  width: 443px;
  height: 361px;
  transform: translate(443px, 84px);
}
#mainContents #topMvArea #bar03.load {
  animation: topBar_ani_03 0.4s ease-in 0.5s forwards;
}
@keyframes topBar_ani_03 {
  0% {
    opacity: 0;
    transform: translate(443px, 84px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 344px);
  }
}
@media only screen and (max-width: 960px) {
  #mainContents #topMvArea #bar03 {
    right: 0;
    top: 849px;
    width: 443px;
    height: 361px;
    transform: none;
    opacity: 0;
  }
  #mainContents #topMvArea #bar03.load {
    animation: topBar_ani_03 0.4s ease-in 0.5s forwards;
  }
  @keyframes topBar_ani_03 {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
}
@media only screen and (max-width: 520px) {
  #mainContents #topMvArea #bar03 {
    right: 0;
    top: -60px;
    width: 178px;
    height: 161px;
    transform: translate(178px, 500px);
  }
  #mainContents #topMvArea #bar03.load {
    animation: topBar_ani_03_sp 0.4s ease-in 1.0s forwards;
  }
  @keyframes topBar_ani_03_sp {
    0% {
      opacity: 0;
      transform: translate(178px, 500px);
    }
    100% {
      opacity: 1;
      transform: translate(0, 600px);
    }
  }
}

#mainContents #topMvArea #bar04 {
  right: 0;
  top: 0;
  width: 529px;
  height: 358px;
  transform: translate(529px, 185px);
}
#mainContents #topMvArea #bar04.load {
  animation: topBar_ani_04 0.4s ease-in 0.0s forwards;
}
@keyframes topBar_ani_04 {
  0% {
    opacity: 0;
    transform: translate(529px, 185px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 487px);
  }
}
@media only screen and (max-width: 960px) {
  #mainContents #topMvArea #bar04 {
    right: 0;
    top: 985px;
    transform: none;
    opacity: 0;
  }
  #mainContents #topMvArea #bar04.load {
    animation: topBar_ani_04 0.4s ease-in 1.0s forwards;
  }
  @keyframes topBar_ani_04 {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
}
@media only screen and (max-width: 520px) {
  #mainContents #topMvArea #bar04 {
    right: 0;
    top: -60px;
    width: 227px;
    height: 163px;
    transform: translate(227px, 541px);
  }
  #mainContents #topMvArea #bar04.load {
    animation: topBar_ani_04_sp 0.4s ease-in 0.0s forwards;
  }
  @keyframes topBar_ani_04_sp {
    0% {
      opacity: 0;
      transform: translate(227px, 541px);
    }
    100% {
      opacity: 1;
      transform: translate(0, 668px);
    }
  }
}

#mainContents #topMvArea #bar01 img,
#mainContents #topMvArea #bar02 img,
#mainContents #topMvArea #bar03 img,
#mainContents #topMvArea #bar04 img {
  width: 100%;
  height: 100%;
}


#mainContents #topCopy {
  position: relative;
  z-index: 200;
  width: 1126px;
  margin: 0 auto;
  padding: 420px 0 0 0;
  opacity: 0;
}
#mainContents #topCopy.load {
  animation: topCopy_ani 1.5s linear 2.0s forwards;
}
@keyframes topCopy_ani {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
#mainContents #topCopy h2 {
  width: 560px;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.7;
  text-align: center;
}
@media only screen and (max-width: 960px) {
  #mainContents #topCopy {
    width: 100%;
    padding: 170px 0 0 0;
  }
  #mainContents #topCopy h2 {
    width: 100%;
    font-size: 3.0rem;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents #topCopy {
    width: 100%;
    padding: 105px 0 0 0;
  }
  #mainContents #topCopy h2 {
    width: 100%;
    font-size: 2.2rem;
  }
}


#mainContents .toplayout01 {
  position: relative;
  width: 100%;
  padding: 155px 0 120px;
}
#mainContents .toplayout01 .textArea01 {
  position: relative;
  z-index: 100;
  width: 1126px;
  height: 270px;
  margin: 0 auto;
}
#mainContents .toplayout01 .textArea01 .textBox {
  position: absolute;
  right: 0;
  top: 0;
}
#mainContents .toplayout01 .textArea01 .textBox p {
  padding: 0 0 30px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.7;
}
#mainContents .toplayout01 #bar05_01 {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 49px;
  width: 648px;
  height: 874px;
}
#mainContents .toplayout01 #bar05_01 img:nth-child(1) {
  position: absolute;
  z-index: 30;
  left: 0;
  top: 0;
  width: 648px;
  height: 800px;
}
#mainContents .toplayout01 #bar05_01 img:nth-child(2) {
  position: absolute;
  z-index: 20;
  left: 0;
  top: 15px;
  width: 476px;
  height: 325px;
}
#mainContents .toplayout01 #bar05_01 img:nth-child(3) {
  position: absolute;
  z-index: 10;
  left: 0;
  top: 403px;
  width: 618px;
  height: 461px;
}

#mainContents .toplayout01 #bar05_02 {
  position: absolute;
  z-index: 0;
  right: 0;
  top: 409px;
  width: 833px;
  height: 923px;
}
#mainContents .toplayout01 #bar05_02 img:nth-child(1) {
  position: absolute;
  z-index: 30;
  right: 0;
  top: 60px;
  width: 774px;
  height: 860px;
}
#mainContents .toplayout01 #bar05_02 img:nth-child(2) {
  position: absolute;
  z-index: 20;
  right: 0;
  top: 0;
  width: 833px;
  height: 575px;
}
#mainContents .toplayout01 #bar05_02 img:nth-child(3) {
  position: absolute;
  z-index: 10;
  right: 0;
  top: 525px;
  width: 387px;
  height: 266px;
}

#mainContents .toplayout01 .textArea02 {
  position: relative;
  z-index: 100;
  width: 1126px;
  margin: 0 auto;
  padding: 476px 0 0;
}
#mainContents .toplayout01 .textArea02 .textBox {
  width: 100%;
}
#mainContents .toplayout01 .textArea02 .textBox h3 {
  position: relative;
  padding: 0 0 60px;
  font-size: 3.5rem;
  font-weight: 500;
}
#mainContents .toplayout01 .textArea02 .textBox h3::before {
  position: absolute;
  left: 0;
  bottom: 33px;
  width: 70px;
  height: 1px;
  background-color: #000;
  content: "";
}
#mainContents .toplayout01 .textArea02 .textBox p {
  padding: 0 0 30px;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.7;
}
@media only screen and (max-width: 960px) {
  #mainContents .toplayout01 {
    padding: 200px 0 0;
  }
  #mainContents .toplayout01 .textArea01 {
    width: calc(100% - 60px);
    height: auto;
    margin: 0 auto;
  }
  #mainContents .toplayout01 .textArea01 .textBox {
    right: 0;
    top: -190px;
  }
  #mainContents .toplayout01 .textArea01 .textBox p {
    font-size: 1.6rem;
    text-align: justify;
  }
  #mainContents .toplayout01 #bar05_01 {
    position: relative;
    width: 100%;
    height: 571px;
    margin: -100px 0 0;
  }
  #mainContents .toplayout01 #bar05_01 img:nth-child(1) {
    left: -80px;
    top: 0;
    width: 514px;
    height: 610px;
  }
  #mainContents .toplayout01 #bar05_01 img:nth-child(2) {
    left: -34px;
    top: 15px;
    width: 354px;
    height: 229px;
  }
  #mainContents .toplayout01 #bar05_01 img:nth-child(3) {
    position: absolute;
    z-index: 10;
    left: 0;
    top: 329px;
    width: 398px;
    height: 295px;
  }

  #mainContents .toplayout01 #bar05_02 {
    right: 0;
    top: 500px;
    width: 833px;
    height: 923px;
  }
  #mainContents .toplayout01 #bar05_02 img:nth-child(1) {
    position: absolute;
    z-index: 30;
    right: 0;
    top: 60px;
    width: 500px;
    height: 555px;
  }
  #mainContents .toplayout01 #bar05_02 img:nth-child(2) {
    right: -60px;
    top: -20px;
    width: 456px;
    height: 317px;
  }
  #mainContents .toplayout01 #bar05_02 img:nth-child(3) {
    right: -35px;
    top: 329px;
    width: 387px;
    height: 266px;
  }
  
  #mainContents .toplayout01 .textArea02 {
    width: calc(100% - 60px);
    height: auto;
    margin: 0 auto;
    padding: 150px 0 0;
  }
  #mainContents .toplayout01 .textArea02 .textBox p {
    font-size: 1.6rem;
    text-align: justify;
  }
}

@media only screen and (max-width: 520px) {
  #mainContents .toplayout01 {
    padding: 60px 0 0;
  }
  #mainContents .toplayout01 .textArea01 {
    width: calc(100% - 60px);
    height: auto;
    margin: 0 auto;
  }
  #mainContents .toplayout01 .textArea01 .textBox {
    position: static;
  }
  #mainContents .toplayout01 .textArea01 .textBox p {
    font-size: 1.6rem;
    text-align: justify;
  }
  #mainContents .toplayout01 #bar05_01 {
    position: relative;
    width: 100%;
    height: 571px;
    margin: -100px 0 0;
  }
  #mainContents .toplayout01 #bar05_01 img:nth-child(1) {
    left: -80px;
    top: 0;
    width: 514px;
    height: 610px;
  }
  #mainContents .toplayout01 #bar05_01 img:nth-child(2) {
    left: -34px;
    top: 15px;
    width: 354px;
    height: 229px;
  }
  #mainContents .toplayout01 #bar05_01 img:nth-child(3) {
    position: absolute;
    z-index: 10;
    left: 0;
    top: 329px;
    width: 398px;
    height: 295px;
  }

  #mainContents .toplayout01 #bar05_02 {
    position: relative;
    width: 100%;
    height: 1100px;
    margin: -580px 0 0;
  }
  #mainContents .toplayout01 #bar05_02 img:nth-child(1) {
    position: absolute;
    z-index: 30;
    right: 0;
    top: 60px;
    width: 500px;
    height: 555px;
  }
  #mainContents .toplayout01 #bar05_02 img:nth-child(2) {
    right: -60px;
    top: -20px;
    width: 456px;
    height: 317px;
  }
  #mainContents .toplayout01 #bar05_02 img:nth-child(3) {
    right: -35px;
    top: 329px;
    width: 387px;
    height: 266px;
  }
  
  #mainContents .toplayout01 .textArea02 {
    width: calc(100% - 60px);
    height: auto;
    margin: 0 auto;
    padding: 100px 0 0;
  }

  #mainContents .toplayout01 .textArea02 .textBox h3 {
    padding: 0 0 50px;
    font-size: 2.4rem;
  }
  #mainContents .toplayout01 .textArea02 .textBox h3::before {
    bottom: 30px;
  }
  #mainContents .toplayout01 .textArea02 .textBox p {
    font-size: 1.6rem;
    text-align: justify;
  }
}

#mainContents .toplayout02 {
  width: 100%;
  padding: 55px 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .toplayout02 .column_L {
  width: 250px;
}
#mainContents .toplayout02 .column_L h2 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 7.0rem;
  color: rgba(60,51,41,0.25);
}
#mainContents .toplayout02 .column_L h2 span.jptitle {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #3C3329;
  padding: 10px 0 0;
  display: block;
  font-size: 2.2rem;
  font-weight: bold;
}
#mainContents .toplayout02 .column_L h3 {
  padding: 10px 0 0;
  font-size: 2.2rem;
}
#mainContents .toplayout02 .column_R {
  width: 856px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .toplayout02 .column_R .columnSub_L {
  width: 213px;
}
#mainContents .toplayout02 .column_R .columnSub_L img {
  width: 213px;
  height: 120px;
  object-fit: cover;
}
#mainContents .toplayout02 .column_R .columnSub_R {
  width: 613px;
}
#mainContents .toplayout02 .column_R .columnSub_R p.date {
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
}
#mainContents .toplayout02 .column_R .columnSub_R p.date::after {
  position: absolute;
  right: -113px;
  top: -4px;
  width: 93px;
  height: 22px;
  padding: 1px 0 0;
  box-sizing: border-box;
  font-size: 1.2rem;
  text-align: center;
}
#mainContents .toplayout02 .column_R .columnSub_R p.date.cate01::after {
  border: 1px solid #0066B3;
  color: #0066B3;
  content: "ニュース";
}
#mainContents .toplayout02 .column_R .columnSub_R p.date.cate02::after {
  border: 1px solid #34A896;
  color: #34A896;
  content: "ニュｰスリリｰス";
}

#mainContents .toplayout02 .column_R .columnSub_R p.date.cate03::after {
  border: 1px solid #B94399;
  color: #B94399;
  content: "トピックス";
}

#mainContents .toplayout02 .column_R .columnSub_R p.date.cate04::after {
  border: 1px solid #f78724;
  color: #f78724;
  content: "ブログ";
}

#mainContents .toplayout02 .column_R .columnSub_R p.date.new {
  position: relative;
  padding: 0 0 0 70px;
}
#mainContents .toplayout02 .column_R .columnSub_R p.date.new::before {
  position: absolute;
  left: 0;
  top: -2px;
  width: 60px;
  height: 19px;
  padding: 3px 0 0;
  border-radius: 10px;
  box-sizing: border-box;
  font-size: 1.2rem;
  text-align: center;
  color: #FFF;
  background-color: #0066B3;
  content: "NEW";
}

#mainContents .toplayout02 .column_R .columnSub_R p span.download {
  position: absolute;
  left: 190px;
  top: -3px;
  width: 17px;
  height: 17px;
  background-image: url(../img/pdf19.png);
  background-size: cover;
  content: "";
}

#mainContents .toplayout02 .column_R .columnSub_R p span.new {
  position: absolute;
  left: 193px;
  top: -3px;
  width: 60px;
  height: 19px;
  padding: 3px 0 0 0;
  border-radius: 10px;
  box-sizing: border-box;
  font-size: 1.2rem;
  text-align: center;
  color: #FFF;
  background-color: #0066B3;
}

#mainContents .toplayout02 .column_R .columnSub_R h4 {
  padding: 15px 0 0;
  font-size: 1.8rem;
  line-height: 1.4;
}
#mainContents .toplayout02 .column_R .columnSub_R h4 a {
  color: #3C3329;
}
#mainContents .toplayout02 .column_R .columnSub_R h4 a:hover {
  text-decoration: none;
  opacity: 0.8;
}
#mainContents .toplayout02 .column_R .columnSub_R p.text01 {
  padding: 15px 0 0;
  font-size: 1.4rem;
  line-height: 1.7;
}
@media only screen and (max-width: 960px) {
  #mainContents .toplayout02 .column_L {
    width: 100%;
    padding: 0 0 30px;
  }
  #mainContents .toplayout02 .column_R {
    width: 100%;
  }
  #mainContents .toplayout02 .column_R .columnSub_L {
    width: 25%;
  }
  #mainContents .toplayout02 .column_R .columnSub_L img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  #mainContents .toplayout02 .column_R .columnSub_R {
    width: 70%;
  }
  }
@media only screen and (max-width: 520px) {
  #mainContents .toplayout02 {
    padding: 70px 0 0;
  }
  #mainContents .toplayout02 .column_L {
    width: 100%;
    padding: 0 0 30px;
  }
  #mainContents .toplayout02 .column_L h2 {
    font-size: 4.6rem;
  }
  #mainContents .toplayout02 .column_L h2 span.jptitle {
    font-size: 1.8rem;
  }
  #mainContents .toplayout02 .column_L h3 {
    font-size: 1.8rem;
  }
  #mainContents .toplayout02 .column_R {
    width: 100%;
  }
  #mainContents .toplayout02 .column_R .columnSub_L {
    width: 100%;
    padding: 0 0 15px;
  }
  #mainContents .toplayout02 .column_R .columnSub_R {
    width: 100%;
  }
}


#mainContents .toplayout03 {
  width: 100%;
  padding: 55px 0 0;
}
#mainContents .toplayout03 .columnBox {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .toplayout03 .columnBox .column_L {
  width: 250px;
}
#mainContents .toplayout03 .columnBox .column_L h2 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 7.0rem;
  color: rgba(60,51,41,0.25);
}
#mainContents .toplayout03 .columnBox .column_L h2 span.jptitle {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #3C3329;
  padding: 10px 0 0;
  display: block;
  font-size: 2.2rem;
  font-weight: bold;
}
#mainContents .toplayout03 .columnBox .column_L h3 {
  padding: 10px 0 0;
  font-size: 2.2rem;
}
#mainContents .toplayout03 .columnBox .column_R {
  width: 856px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .toplayout03 .columnBox .column_R .columnSub {
  width: 100%;
  margin: 0 0 30px;
  padding: 0 0 20px;
  border-bottom: 1px solid #707070;
}
#mainContents .toplayout03 .columnBox .column_R .columnSub p.date {
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
}
#mainContents .toplayout03 .columnBox .column_R .columnSub p.date::after {
  position: absolute;
  right: -113px;
  top: -4px;
  width: 93px;
  height: 22px;
  padding: 1px 0 0;
  box-sizing: border-box;
  font-size: 1.2rem;
  text-align: center;
}
#mainContents .toplayout03 .columnBox .column_R .columnSub p.date.cate01::after {
  border: 1px solid #0066B3;
  color: #0066B3;
  content: "ニュース";
}
#mainContents .toplayout03 .columnBox .column_R .columnSub p.date.cate02::after {
  border: 1px solid #34A896;
  color: #34A896;
  content: "ニュｰスリリｰス";
}

#mainContents .toplayout03 .columnBox .column_R .columnSub p.date.cate03::after {
  border: 1px solid #B94399;
  color: #B94399;
  content: "トピックス";
}

#mainContents .toplayout03 .columnBox .column_R .columnSub p.date.cate04::after {
  border: 1px solid #f78724;
  color: #f78724;
  content: "ブログ";
}

#mainContents .toplayout03 .columnBox .column_R .columnSub p.date.new {
  position: relative;
  padding: 0 0 0 70px;
}
#mainContents .toplayout03 .columnBox .column_R .columnSub p.date.new::before {
  position: absolute;
  left: 0;
  top: -2px;
  width: 60px;
  height: 19px;
  padding: 3px 0 0;
  border-radius: 10px;
  box-sizing: border-box;
  font-size: 1.2rem;
  text-align: center;
  color: #FFF;
  background-color: #0066B3;
  content: "NEW";
}

#mainContents .toplayout03 .columnBox .column_R .columnSub p span.download {
  position: absolute;
  left: 190px;
  top: -2px;
  width: 17px;
  height: 17px;
  background-image: url("../img/pdf19.png");
  background-size: cover;
  content: "";
}

#mainContents .toplayout03 .columnBox .column_R .columnSub p span.new {
  position: absolute;
  left: 193px;
  top: -3px;
  width: 60px;
  height: 19px;
  padding: 0px 0 0 0;
  border-radius: 10px;
  box-sizing: border-box;
  font-size: 1.2rem;
  text-align: center;
  color: #FFF;
  background-color: #0066B3;
}

#mainContents .toplayout03 .columnBox .column_R .columnSub h4 {
  padding: 20px 0 0;
  font-size: 1.8rem;
  line-height: 1.4;
}
#mainContents .toplayout03 .columnBox .column_R .columnSub h4 a {
  color: #3C3329;
}
#mainContents .toplayout03 .columnBox .column_R .columnSub h4 a:hover {
  text-decoration: none;
  opacity: 0.8;
}
#mainContents .toplayout03 .columnBox .column_R .columnSub p.text01 {
  padding: 10px 0 0;
  font-size: 1.4rem;
  line-height: 1.7;
}
#mainContents .toplayout03 .link01 {
  padding: 10px 0 0;
  width: 100%;
  height: 39px;
}
#mainContents .toplayout03 .link01 a {
  position: relative;
  float: right;
  display: block;
  width: 141px;
  height: 39px;
  padding: 8px 20px 0 0;
  border: 1px solid #707070;
  box-sizing: border-box;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 1.4rem;
  color: #838383;
  text-align: center;
}
#mainContents .toplayout03 .link01 a::after {
  position: absolute;
  right: 20px;
  top: 16px;
  width: 7px;
  height: 6px;
  background-image: url("../img/icon03.svg");
  background-size: cover;
  transform: rotate(-90deg);
  content: "";
}
#mainContents .toplayout03 .link01 a:hover {
  text-decoration: none;
  opacity: 0.8;
}
@media only screen and (max-width: 960px) {
  #mainContents .toplayout03 .columnBox .column_L {
    width: 100%;
    padding: 0 0 30px;
  }
  #mainContents .toplayout03 .columnBox .column_R {
    width: 100%;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .toplayout03 {
    padding: 0;
  }
  #mainContents .toplayout03 .columnBox {
    padding: 65px 0 0;
  }
  #mainContents .toplayout03 .columnBox .column_L {
    width: 100%;
    padding: 0 0 30px;
  }
  #mainContents .toplayout03 .columnBox .column_L h2 {
    font-size: 4.6rem;
  }
  #mainContents .toplayout03 .columnBox .column_L h2 span.jptitle {
    font-size: 1.8rem;
  }
  #mainContents .toplayout03 .columnBox .column_L h3 {
    font-size: 1.8rem;
  }
  #mainContents .toplayout03 .columnBox .column_R {
    width: 100%
  }
  #mainContents .toplayout03 .link01 a {
    float: none;
    margin: 0 auto;
  }
}

#mainContents .toplayout04 {
  position: relative;
  width: 100%;
  height: 607px;
  margin: 110px 0 0;
  padding: 65px 0 0;
  box-sizing: border-box;
  background-image: url("../img/top/top_adovan_bk.svg");
  background-size: cover;
}
#mainContents .toplayout04 .titleBox {
  width: 1126px;
  margin: 0 auto;
}
#mainContents .toplayout04 .titleBox h2 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 7.0rem;
  color: #FFF;
}
#mainContents .toplayout04 .titleBox h2 span.jptitle {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #3C3329;
  padding: 10px 0 0;
  display: block;
  font-size: 2.2rem;
  font-weight: bold;
}
#mainContents .toplayout04 .titleBox h3 {
  padding: 10px 0 0;
  font-size: 2.2rem;
}
#mainContents .toplayout04 .columnBox {
  width: 1126px;
  margin: 0 auto;
  padding: 60px 0 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .toplayout04 .columnBox .column {
  width: 220px;
  text-align: center;
}
#mainContents .toplayout04 .columnBox .column img {
  width: 197px;
  height: auto;
}
#mainContents .toplayout04 .columnBox .column h4 {
  padding: 30px 0 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6;
}
@media only screen and (max-width: 960px) {
  #mainContents .toplayout04 {
    height: 560px;
  }
  #mainContents .toplayout04 .titleBox {
    width: calc(100% - 50px);
    margin: 0 auto;
  }
  #mainContents .toplayout04 .columnBox {
    width: calc(100% - 120px);
    margin: 0 auto;
    padding: 60px 0 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #mainContents .toplayout04 .columnBox .column {
    width: 130px;
  }
  #mainContents .toplayout04 .columnBox .column img {
    width: 100%;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .toplayout04 {
    height: 694px;
    margin: 65px 0 0;
    padding: 70px 0 0;
  }
  #mainContents .toplayout04 .titleBox {
    width: calc(100% - 60px);
  }
  #mainContents .toplayout04 .titleBox h2 {
    font-size: 4.6rem;
  }
  #mainContents .toplayout04 .titleBox h2 span.jptitle {
    font-size: 1.8rem;
  }
  #mainContents .toplayout04 .titleBox h3 {
    font-size: 1.8rem;
  }
  #mainContents .toplayout04 .columnBox {
    width: calc(100% - 60px);
    padding: 30px 0 0;
  }
  #mainContents .toplayout04 .columnBox .column {
    width: 48%;
    padding: 0 0 50px;
  }
  #mainContents .toplayout04 .columnBox .column img {
    width: 120px;
  }
  #mainContents .toplayout04 .columnBox .column h4 {
    padding: 20px 0 0;
    font-size: 1.4rem;
  }
}



#mainContents .toplayout05 {
  display: block;
  position: relative;
  width: 100%;
  height: calc(737px + 200px);
  /* overflow: hidden; */
}
#mainContents .toplayout05 .animationArea {
  position: absolute;
  width: 1366px;
  height: 737px;
  left: 50%;
  top: 0;
  margin: 130px 0 0 -683px;
}
#mainContents .toplayout05 .animationArea #imgani01 {
  position: absolute;
  z-index: 10;
  left: -250px;
  top: 40px;
  width: 1060px;
  height: 525px;
}
#mainContents .toplayout05 .animationArea #imgani02 {
  position: absolute;
  z-index: 20;
  left: 607px;
  top: 30px;
  width: 1022px;
  height: 702px;
}
#mainContents .toplayout05 .animationArea #imgani03 {
  position: absolute;
  z-index: 30;
  left: 180px;
  top: 0;
  width: 873px;
  height: 627px;
}
#mainContents .toplayout05 .animationArea #imgani04 {
  position: absolute;
  z-index: 40;
  left: 300px;
  top: 0;
  width: 887px;
  height: 737px;
}
@media only screen and (max-width: 960px) {
  #mainContents .toplayout05 {
    height: calc((737px + 200px) * 0.7);
  }
  #mainContents .toplayout05 .animationArea {
    transform: scale(0.7, 0.7);
    margin: 0 0 0 -683px;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .toplayout05 {
    display: none;
  }
}


#mainContents .toplayout06 {
  width: 100%;
  padding: 155px 0 400px;
}
#mainContents .toplayout06 h2 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 7.0rem;
  color: rgba(60,51,41,0.25);
}
#mainContents .toplayout06 h2 span.jptitle {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #3C3329;
  padding: 10px 0 0;
  display: block;
  font-size: 2.2rem;
  font-weight: bold;
}
#mainContents .toplayout06 h3 {
  padding: 10px 0 0;
  font-size: 2.2rem;
}
#mainContents .toplayout06 .columnBox {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .toplayout06 .columnBox .column01,
#mainContents .toplayout06 .columnBox .column02 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#mainContents .toplayout06 .columnBox .typ01 {
  padding: 75px 0 0;
}
#mainContents .toplayout06 .columnBox .typ02 {
  padding: 220px 0 0;
}
#mainContents .toplayout06 .columnBox .typ03 {
  padding: 400px 0 0;
}
#mainContents .toplayout06 .columnBox .typ04 {
  padding: 180px 0 0;
}
#mainContents .toplayout06 .columnBox .column01 .columnSub_L {
  width: 548px;
}
#mainContents .toplayout06 .columnBox .column02 .columnSub_L {
  position: relative;
  width: 578px;
}
#mainContents .toplayout06 .columnBox p.tag {
  font-size: 1.6rem;
}
#mainContents .toplayout06 .columnBox h4 {
  position: relative;
  padding: 15px 0 30px;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.6;
}
#mainContents .toplayout06 .columnBox .column01 h4::before {
  position: absolute;
  left: 0;
  bottom: 15px;
  width: 552px;
  height: 1px;
  background-color: #707070;
  content: "";
}
#mainContents .toplayout06 .columnBox .column02 h4::before {
  position: absolute;
  right: 0;
  bottom: 15px;
  width: 605px;
  height: 1px;
  background-color: #707070;
  content: "";
}
#mainContents .toplayout06 .columnBox h4.color01 {
  color: #0066B3;
}
#mainContents .toplayout06 .columnBox h4.color02 {
  color: #B94399;
}
#mainContents .toplayout06 .columnBox h4.color03 {
  color: #34A896;
}
#mainContents .toplayout06 .columnBox h4.color04 {
  color: #B29042;
}
#mainContents .toplayout06 .columnBox p {
  width: 482px;
  font-size: 1.4rem;
  line-height: 1.6;
}
#mainContents .toplayout06 .columnBox .column01 .columnSub_R {
  position: relative;
  width: 575px;
}
#mainContents .toplayout06 .columnBox .column02 .columnSub_R {
  width: 482px;
}
#mainContents .toplayout06 .columnBox img {
  position: absolute;
  width: 522px;
  height: 580px;
}
#mainContents .toplayout06 .columnBox img#imgservice01 {
  left: 0;
  top: -311px;
}
#mainContents .toplayout06 .columnBox img#imgservice01_bk {
  z-index: -1;
  left: 45px;
  top: -276px;
}

#mainContents .toplayout06 .columnBox img#imgservice02 {
  left: 0;
  top: -20px;
}
#mainContents .toplayout06 .columnBox img#imgservice02_bk {
  z-index: -1;
  left: 45px;
  top: 15px;
}

#mainContents .toplayout06 .columnBox img#imgservice03 {
  left: 0;
  top: -311px;
}
#mainContents .toplayout06 .columnBox img#imgservice03_bk {
  z-index: -1;
  left: 45px;
  top: -276px;
}

#mainContents .toplayout06 .columnBox img#imgservice04 {
  left: 0;
  top: -20px;
}
#mainContents .toplayout06 .columnBox img#imgservice04_bk {
  z-index: -1;
  left: 45px;
  top: 15px;
}

#mainContents .toplayout06 .columnBox .link01 {
  padding: 30px 0 0;
  width: 100%;
  height: 39px;
}
#mainContents .toplayout06 .columnBox .link01 a {
  position: relative;
  z-index: 1000;
  display: block;
  width: 141px;
  height: 39px;
  padding: 8px 20px 0 0;
  border: 1px solid #707070;
  box-sizing: border-box;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 1.4rem;
  color: #838383;
  text-align: center;
}
#mainContents .toplayout06 .columnBox .link01 a::after {
  position: absolute;
  right: 30px;
  top: 16px;
  width: 7px;
  height: 6px;
  background-image: url("../img/icon03.svg");
  background-size: cover;
  transform: rotate(-90deg);
  content: "";
}
#mainContents .toplayout06 .columnBox .link01 a:hover {
  text-decoration: none;
  opacity: 0.8;
}
@media only screen and (max-width: 960px) {
  #mainContents .toplayout06 {
    padding: 100px 0 400px;
  }
  #mainContents .toplayout06 .columnBox .typ02 {
    padding: 50px 0 0;
  }
  #mainContents .toplayout06 .columnBox .typ03 {
    padding: 130px 0 0;
  }
  #mainContents .toplayout06 .columnBox .typ04 {
    padding: 50px 0 0;
  }
  #mainContents .toplayout06 .columnBox .column01 .columnSub_L {
    width: 50%;
  }
  #mainContents .toplayout06 .columnBox .column02 .columnSub_L {
    position: relative;
    width: 50%;
  }
  #mainContents .toplayout06 .columnBox p {
    width: 100%;
  }
  #mainContents .toplayout06 .columnBox .column01 .columnSub_R {
    position: relative;
    width: 45%;
  }
  #mainContents .toplayout06 .columnBox .column02 .columnSub_R {
    width: 50%;
  }
  #mainContents .toplayout06 .columnBox img {
    width: 300px;
    height: 333px;
  }
  #mainContents .toplayout06 .columnBox img#imgservice01 {
    left: 15px;
    top: -120px;
  }
  #mainContents .toplayout06 .columnBox img#imgservice01_bk {
    z-index: -1;
    left: 45px;
    top: -100px;
  }

  #mainContents .toplayout06 .columnBox img#imgservice02 {
    z-index: 10;
    left: 0;
    top: 0px;
  }
  #mainContents .toplayout06 .columnBox img#imgservice02_bk {
    left: 25px;
    top: 20px;
  }

  #mainContents .toplayout06 .columnBox img#imgservice03 {
    left: 15px;
    top: -120px;
  }
  #mainContents .toplayout06 .columnBox img#imgservice03_bk {
    top: -100px;
  }

  #mainContents .toplayout06 .columnBox img#imgservice04 {
    z-index: 10;
    left: 0;
    top: 0px;
  }
  #mainContents .toplayout06 .columnBox img#imgservice04_bk {
    left: 25px;
    top: 20px;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .toplayout06 {
    padding: 130px 0 200px;
  }
  #mainContents .toplayout06 h2 {
    font-size: 4.6rem;
  }
  #mainContents .toplayout06 h2 span.jptitle {
    font-size: 1.8rem;
  }
  #mainContents .toplayout06 h3 {
    font-size: 1.8rem;
  }
  #mainContents .toplayout06 .columnBox {
    width: 100%;
  }
  #mainContents .toplayout06 .columnBox .typ01 {
    padding: 50px 0 0;
  }
  #mainContents .toplayout06 .columnBox .typ02 {
    padding: 270px 0 0;
  }
  #mainContents .toplayout06 .columnBox .typ03 {
    padding: 270px 0 0;
  }
  #mainContents .toplayout06 .columnBox .typ04 {
    padding: 270px 0 0;
  }
  #mainContents .toplayout06 .columnBox .column01 .columnSub_L {
    width: 100%;
  }
  #mainContents .toplayout06 .columnBox .column02 .columnSub_L {
    width: 100%;
    order: 2;
  }

  #mainContents .toplayout06 .columnBox .column01 h4::before {
    width: 100%;
  }
  #mainContents .toplayout06 .columnBox .column02 h4::before {
    width: 100%;
  }

  #mainContents .toplayout06 .columnBox p {
    width: 100%;
  }
  #mainContents .toplayout06 .columnBox .column01 .columnSub_R {
    width: 100%;
  }
  #mainContents .toplayout06 .columnBox .column02 .columnSub_R {
    width: 100%;
    order: 1;
  }
  #mainContents .toplayout06 .columnBox img {
    width: 257px;
    height: auto;
  }
  #mainContents .toplayout06 .columnBox img#imgservice01 {
    left: auto;
    right: 20px;
    top: -53px;
  }
  #mainContents .toplayout06 .columnBox img#imgservice01_bk {
    left: auto;
    right: 0;
    top: -38px;
  }

  #mainContents .toplayout06 .columnBox img#imgservice02 {
    left: auto;
    right: 20px;
    top: -53px;
  }
  #mainContents .toplayout06 .columnBox img#imgservice02_bk {
    left: auto;
    right: 0;
    top: -38px;
  }

  #mainContents .toplayout06 .columnBox img#imgservice03 {
    left: auto;
    right: 20px;
    top: -53px;
  }
  #mainContents .toplayout06 .columnBox img#imgservice03_bk {
    left: auto;
    right: 0;
    top: -38px;
  }

  #mainContents .toplayout06 .columnBox img#imgservice04 {
    left: auto;
    right: 20px;
    top: -53px;
  }
  #mainContents .toplayout06 .columnBox img#imgservice04_bk {
    left: auto;
    right: 0;
    top: -38px;
  }
}



#mainContents .toplayout07 {
  position: relative;
  width: 1126px;
  margin: 230px auto 100px;
}
#mainContents .toplayout07::before {
  position: absolute;
  z-index: 0;
  left: calc((100vw - 1126px) / 2 * -1);
  top: -75px;
  width: 0px;
  height: 450px;
  background-color: #ECF1F4;
  content: "";
  opacity: 0;
  transition: all 1.5s 0.6s ease;
}
#mainContents .toplayout07.fade_on::before {
  width: calc(1126px + (100vw - 1126px) / 2);
  opacity: 1;
}
#mainContents .toplayout07::after {
  position: absolute;
  z-index: 5;
  left: 485px;
  top: -150px;
  width: 941px;
  height: 451px;
  background-image: url("../img/top/top_works_img.jpg");
  background-size: cover;
  content: "";
}
#mainContents .toplayout07 h2 {
  position: relative;
  z-index: 10;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 7.0rem;
  color: rgba(60,51,41,0.25);
}
#mainContents .toplayout07 h2 span.jptitle {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #3C3329;
  position: relative;
  z-index: 10;
  padding: 10px 0 0;
  display: block;
  font-size: 2.2rem;
  font-weight: bold;
}
/*#mainContents .toplayout07 h3 {
  position: relative;
  z-index: 10;
  padding: 10px 0 0;
  font-size: 2.2rem;
}*/
#mainContents .toplayout07 h3 {
  position: relative;
  z-index: 10;
  padding: 10px 0 0;
  font-size: 2.2rem;
  font-weight: 500;
}
#mainContents .toplayout07 h3 span.text01 {
  font-size: 3.0rem;
}
#mainContents .toplayout07 h3 span.text02 {
  font-size: 1.4rem;
}
#mainContents .toplayout07 p {
  position: relative;
  z-index: 10;
  padding: 20px 0 0;
  font-size: 1.4rem;
  line-height: 1.7;
}
#mainContents .toplayout07 .link01 {
  padding: 30px 0 0;
  width: 100%;
  height: 39px;
}
#mainContents .toplayout07 .link01 a {
  position: relative;
  display: block;
  width: 141px;
  height: 39px;
  padding: 8px 20px 0 0;
  border: 1px solid #707070;
  box-sizing: border-box;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 1.4rem;
  color: #838383;
  text-align: center;
}
#mainContents .toplayout07 .link01 a::after {
  position: absolute;
  right: 30px;
  top: 16px;
  width: 7px;
  height: 6px;
  background-image: url("../img/icon03.svg");
  background-size: cover;
  transform: rotate(-90deg);
  content: "";
}
#mainContents .toplayout07 .link01 a:hover {
  text-decoration: none;
  opacity: 0.8;
}
@media only screen and (max-width: 960px) {
  #mainContents .toplayout07 {
    width: calc(100% - 50px);
    margin: 0 auto 100px;
  }
  #mainContents .toplayout07::before {
    left: -25px;
    height: 450px;
  }
  #mainContents .toplayout07.fade_on::before {
    width: calc(100% + 30px);
    opacity: 1;
  }
  #mainContents .toplayout07::after {
    left: auto;
    right: -25px;
    top: -150px;
    width: 450px;
    height: 266px;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .toplayout07 {
    width: calc(100% - 60px);
    margin: 350px auto 100px;
  }
  #mainContents .toplayout07::before {
    right: auto;
    left: -30px;
    top: -260px;
    width: calc(100% + 30px);
    height: 640px;
    opacity: 1;
  }
  #mainContents .toplayout07.fade_on::before {
    width: calc(100% + 30px);
    opacity: 1;
  }
  #mainContents .toplayout07::after {
    left: 0;
    top: -260px;
    width: 486px;
    height: 214px;
  }
  #mainContents .toplayout07 h2 {
    font-size: 4.6rem;
  }
  #mainContents .toplayout07 h2 span.jptitle {
    font-size: 1.8rem;
  }
  /*#mainContents .toplayout07 h3 {
    font-size: 1.8rem;
  }*/
  #mainContents .toplayout07 p {
    width: 290px;
  }
}



#mainContents .toplayout08 {
  position: relative;
  width: 100%;
  padding: 130px 0 0;
}
#mainContents .toplayout08 h3 {
  font-size: 2.2rem;
  font-weight: 500;
  text-align: center;
}
#mainContents .toplayout08 .columnBox {
  width: 100%;
  padding: 70px 0 0;
  opacity: 0;
}
#mainContents .toplayout08 .columnBox .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;
}
@media only screen and (max-width: 960px) {
  #mainContents .toplayout08 {
    padding: 80px 0 50px;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .toplayout08 {
    padding: 40px 0 0;
  }
  #mainContents .toplayout08 h3 {
    font-size: 1.8rem;
  }
  #mainContents .toplayout08 .columnBox {
    padding: 30px 0 0;
  }
  #mainContents .toplayout08 .columnBox .column {
    width: 48%;
  }
  #mainContents .toplayout08 .columnBox .column img {
    width: 100%;
    height: auto;
  }
}


#mainContents .toplayout09 {
  position: relative;
  width: 1126px;
  margin: 0 auto;
  padding: 80px 0 0;
}
#mainContents .toplayout09::before {
  position: absolute;
  z-index: 0;
  right: calc((100vw - 1126px) / 2 * -1);
  top: 70px;
  width: 0;
  height: 438px;
  background-color: #ECF1F4;
  opacity: 0;
  content: "";
  transition: all 1.5s 0.6s ease;
}
#mainContents .toplayout09.fade_on::before {
  width: calc(1126px + (100vw - 1126px) / 2);
  opacity: 1;
}
#mainContents .toplayout09 img {
  position: relative;
  z-index: 10;
  width: 100%;
  height: auto;
}
#mainContents .toplayout09 img.pcView {
  display: block;
}
#mainContents .toplayout09 img.tbView {
  display: none;
}
#mainContents .toplayout09 img.spView {
  display: none;
}
#mainContents .toplayout09 .link01 {
  position: absolute;
  z-index: 20;
  left: 86px;
  top: 406px;
  width: 93px;
  height: 29px;
}
#mainContents .toplayout09 .link01 a {
  position: relative;
  display: block;
  width: 150px;
  height: 29px;
  padding: 3px 13px 0 0;
  border: 1px solid #707070;
  box-sizing: border-box;
  font-weight: 400;
  font-size: 1.4rem;
  color: #838383;
  text-align: center;
}
#mainContents .toplayout09 .link01 a::after {
  position: absolute;
  right: 12px;
  top: 11px;
  width: 7px;
  height: 6px;
  background-image: url("../img/icon03.svg");
  background-size: cover;
  transform: rotate(-90deg);
  content: "";
}
#mainContents .toplayout09 .link01 a:hover {
  text-decoration: none;
  opacity: 0.8;
}

#mainContents .toplayout09 .textCountUp01 {
  position: absolute;
  z-index: 30;
  left: 109px;
  top: 288px;
  width: 96px;
  text-align: right;
}
#mainContents .toplayout09 .textCountUp01 p {
  font-size: 5.7rem;
  font-weight: 700;
  line-height: 1.1em !important;
  color: #FFF;
  letter-spacing: -0.05em;
}

#mainContents .toplayout09 .textCountUp02 {
  position: absolute;
  z-index: 30;
  left: 278px;
  top: 169px;
  width: 96px;
  text-align: right;
}
#mainContents .toplayout09 .textCountUp02 p {
  font-size: 5.7rem;
  font-weight: 700;
  line-height: 1.1em !important;
  color: #FFF;
  letter-spacing: -0.05em;
}

#mainContents .toplayout09 .textCountUp03 {
  position: absolute;
  z-index: 30;
  left: 665px;
  top: 324px;
  width: 96px;
  text-align: right;
}
#mainContents .toplayout09 .textCountUp03 p {
  font-size: 5.7rem;
  font-weight: 700;
  line-height: 1.1em !important;
  color: #FFF;
  letter-spacing: -0.05em;
}

#mainContents .toplayout09 .textCountUp04 {
  position: absolute;
  z-index: 30;
  left: 861px;
  top: 205px;
  width: 89px;
  text-align: right;
}
#mainContents .toplayout09 .textCountUp04 p {
  font-size: 8.2rem;
  font-weight: 700;
  line-height: 1.1em !important;
  color: #B29042;
  letter-spacing: -0.05em;
}


#mainContents .toplayout09 .icon01 {
  position: absolute;
  z-index: 40;
  left: 196px;
  top: 250px;
  width: 52px;
  height: 52px;
}
#mainContents .toplayout09 .icon02 {
  position: absolute;
  z-index: 40;
  left: 368px;
  top: 131px;
  width: 52px;
  height: 52px;
}
#mainContents .toplayout09 .icon03 {
  position: absolute;
  z-index: 40;
  left: 755px;
  top: 288px;
  width: 52px;
  height: 52px;
}
#mainContents .toplayout09 .icon04 {
  position: absolute;
  z-index: 40;
  left: 949px;
  top: 151px;
  width: 72px;
  height: 72px;
}
#mainContents .toplayout09 .icon01 img,
#mainContents .toplayout09 .icon02 img,
#mainContents .toplayout09 .icon03 img,
#mainContents .toplayout09 .icon04 img {
  width: 100%;
  height: auto;
}


#mainContents .toplayout09 .pinSet {
  position: absolute;
  z-index: 50;
  width: 14px;
  height: 32px;
}

#mainContents .toplayout09 .pinSet.pin01 {
  left: 633px;
  top: 115px;
}
#mainContents .toplayout09 .pinSet.pin02 {
  left: 604px;
  top: 189px;
}
#mainContents .toplayout09 .pinSet.pin03 {
  left: 589px;
  top: 225px;
}
#mainContents .toplayout09 .pinSet.pin04 {
  left: 546px;
  top: 256px;
}
#mainContents .toplayout09 .pinSet.pin05 {
  left: 553px;
  top: 297px;
}
#mainContents .toplayout09 .pinSet.pin06 {
  left: 535px;
  top: 304px;
}
#mainContents .toplayout09 .pinSet.pin07 {
  left: 488px;
  top: 285px;
}
#mainContents .toplayout09 .pinSet.pin08 {
  left: 463px;
  top: 273px;
}
#mainContents .toplayout09 .pinSet.pin09 {
  left: 448px;
  top: 314px;
}
#mainContents .toplayout09 .pinSet.pin10 {
  left: 389px;
  top: 304px;
}
#mainContents .toplayout09 .pinSet.pin11 {
  left: 372px;
  top: 329px;
}

#mainContents .toplayout09 .pinSet.pin01 img,
#mainContents .toplayout09 .pinSet.pin02 img,
#mainContents .toplayout09 .pinSet.pin03 img,
#mainContents .toplayout09 .pinSet.pin04 img,
#mainContents .toplayout09 .pinSet.pin05 img,
#mainContents .toplayout09 .pinSet.pin06 img,
#mainContents .toplayout09 .pinSet.pin07 img,
#mainContents .toplayout09 .pinSet.pin08 img,
#mainContents .toplayout09 .pinSet.pin09 img,
#mainContents .toplayout09 .pinSet.pin10 img,
#mainContents .toplayout09 .pinSet.pin11 img {
  width: 100%;
  height: auto;
}

.textAni.fade_off.pin01,
.textAni.fade_off.pin02,
.textAni.fade_off.pin03,
.textAni.fade_off.pin04,
.textAni.fade_off.pin05,
.textAni.fade_off.pin06,
.textAni.fade_off.pin07,
.textAni.fade_off.pin08,
.textAni.fade_off.pin09,
.textAni.fade_off.pin10,
.textAni.fade_off.pin11 {
  transform: translateY(-40px);
}
.textAni.fade_on.pin01,
.textAni.fade_on.pin02,
.textAni.fade_on.pin03,
.textAni.fade_on.pin04,
.textAni.fade_on.pin05,
.textAni.fade_on.pin06,
.textAni.fade_on.pin07,
.textAni.fade_on.pin08,
.textAni.fade_on.pin09,
.textAni.fade_on.pin10,
.textAni.fade_on.pin11 {
  transform: translateY(0px);
}
.textAni.fade_off.pin01 { transition: all 0.5s 0s; }
.textAni.fade_off.pin02 { transition: all 0.5s 0.1s; }
.textAni.fade_off.pin03 { transition: all 0.5s 0.2s; }
.textAni.fade_off.pin04 { transition: all 0.5s 0.3s; }
.textAni.fade_off.pin05 { transition: all 0.5s 0.4s; }
.textAni.fade_off.pin06 { transition: all 0.5s 0.5s; }
.textAni.fade_off.pin07 { transition: all 0.5s 0.6s; }
.textAni.fade_off.pin08 { transition: all 0.5s 0.7s; }
.textAni.fade_off.pin09 { transition: all 0.5s 0.8s; }
.textAni.fade_off.pin10 { transition: all 0.5s 0.9s; }
.textAni.fade_off.pin11 { transition: all 0.5s 1.0s; }

@media only screen and (max-width: 960px) {
  #mainContents .toplayout09 {
    width: 100%;
  }
  #mainContents .toplayout09::before {
    left: 0;
    top: 50px;
    width: 150vw;
    height: calc(100% - 50px);
    opacity: 1;
  }
  #mainContents .toplayout09.fade_on::before {
    width: 150vw;
    opacity: 1;
  }
  #mainContents .toplayout09 img {
    width: 718px;
    height: auto;
  }
  #mainContents .toplayout09 img.pcView {
    display: none;
  }
  #mainContents .toplayout09 img.tbView {
    display: block;
  }
  #mainContents .toplayout09 img.spView {
    display: none;
  }
  #mainContents .toplayout09 .link01 {
    top: 444px;
  }

  #mainContents .toplayout09 .textCountUp01 {
    left: 109px;
    top: 319px;
  }
  #mainContents .toplayout09 .textCountUp02 {
    left: 312px;
    top: 235px;
  }
  #mainContents .toplayout09 .textCountUp03 {
    left: 540px;
    top: 619px;
  }
  #mainContents .toplayout09 .textCountUp04 {
    left: 308px;
    top: 726px;
  }

  #mainContents .toplayout09 .icon01 {
    left: 196px;
    top: 274px;
  }
  #mainContents .toplayout09 .icon02 {
    left: 396px;
    top: 198px;
  }
  #mainContents .toplayout09 .icon03 {
    left: 628px;
    top: 576px;
  }
  #mainContents .toplayout09 .icon04 {
    left: 400px;
    top: 674px;
  }
  #mainContents .toplayout09 .pinSet.pin01 {
    left: 540px;
    top: 280px;
  }
  #mainContents .toplayout09 .pinSet.pin02 {
    left: 508px;
    top: 364px;
  }
  #mainContents .toplayout09 .pinSet.pin03 {
    left: 496px;
    top: 400px;
  }
  #mainContents .toplayout09 .pinSet.pin04 {
    left: 443px;
    top: 434px;
  }
  #mainContents .toplayout09 .pinSet.pin05 {
    left: 454px;
    top: 480px;
  }
  #mainContents .toplayout09 .pinSet.pin06 {
    left: 435px;
    top: 487px;
  }
  #mainContents .toplayout09 .pinSet.pin07 {
    left: 374px;
    top: 474px;
  }
  #mainContents .toplayout09 .pinSet.pin08 {
    left: 350px;
    top: 458px;
  }
  #mainContents .toplayout09 .pinSet.pin09 {
    left: 334px;
    top: 504px;
  }
  #mainContents .toplayout09 .pinSet.pin10 {
    left: 269px;
    top: 492px;
  }
  #mainContents .toplayout09 .pinSet.pin11 {
    left: 248px;
    top: 520px;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .toplayout09 {
    margin: 0 0 50px;
    padding: 50px 0 0;
  }
  #mainContents .toplayout09::before {
    left: 0;
    top: 50px;
    width: 150vw;
    height: calc(100% - 50px);
    opacity: 1;
  }
  #mainContents .toplayout09.fade_on::before {
    width: 150vw;
    opacity: 1;
  }
  #mainContents .toplayout09 img {
    width: 359px;
    height: auto;
  }
  #mainContents .toplayout09 img.pcView {
    display: none;
  }
  #mainContents .toplayout09 img.tbView {
    display: none;
  }
  #mainContents .toplayout09 img.spView {
    display: block;
  }
  #mainContents .toplayout09 .link01 {
    left: 33px;
    top: 334px;
    width: 86px;
    height: 25px;
  }
  #mainContents .toplayout09 .link01 a {
    width: 126px;
    height: 25px;
    padding: 5px 13px 0 0;
    font-size: 1.2rem;
  }
  #mainContents .toplayout09 .link01 a::after {
    top: 9px;
  }

  #mainContents .toplayout09 .textCountUp01 {
    left: 61px;
    top: 239px;
    width: 65px;
  }
  #mainContents .toplayout09 .textCountUp01 p {
    font-size: 4.0rem;
  }
  
  #mainContents .toplayout09 .textCountUp02 {
    left: 218px;
    top: 171px;
    width: 65px;
  }
  #mainContents .toplayout09 .textCountUp02 p {
    font-size: 4.0rem;
  }
  
  #mainContents .toplayout09 .textCountUp03 {
    left: 246px;
    top: 527px;
    width: 65px;
  }
  #mainContents .toplayout09 .textCountUp03 p {
    font-size: 4.0rem;
  }
  
  #mainContents .toplayout09 .textCountUp04 {
    left: 90px;
    top: 644px;
    width: 67px;
  }
  #mainContents .toplayout09 .textCountUp04 p {
    font-size: 6.2rem;
  }
  
  
  #mainContents .toplayout09 .icon01 {
    left: 122px;
    top: 200px;
    width: 47px;
    height: 47px;
  }
  #mainContents .toplayout09 .icon02 {
    left: 280px;
    top: 131px;
    width: 47px;
    height: 47px;
  }
  #mainContents .toplayout09 .icon03 {
    left: 304px;
    top: 485px;
    width: 47px;
    height: 47px;
  }
  #mainContents .toplayout09 .icon04 {
    left: 167px;
    top: 593px;
    width: 62px;
    height: 62px;
  }
  
  
  #mainContents .toplayout09 .pinSet {
    width: 7px;
    height: 20px;
  }
  
  #mainContents .toplayout09 .pinSet.pin01 {
    left: 262px;
    top: 295px;
  }
  #mainContents .toplayout09 .pinSet.pin02 {
    left: 248px;
    top: 343px;
  }
  #mainContents .toplayout09 .pinSet.pin03 {
    left: 239px;
    top: 360px;
  }
  #mainContents .toplayout09 .pinSet.pin04 {
    left: 213px;
    top: 379px;
  }
  #mainContents .toplayout09 .pinSet.pin05 {
    left: 218px;
    top: 405px;
  }
  #mainContents .toplayout09 .pinSet.pin06 {
    left: 206px;
    top: 411px;
  }
  #mainContents .toplayout09 .pinSet.pin07 {
    left: 174px;
    top: 398px;
  }
  #mainContents .toplayout09 .pinSet.pin08 {
    left: 159px;
    top: 392px;
  }
  #mainContents .toplayout09 .pinSet.pin09 {
    left: 151px;
    top: 418px;
  }
  #mainContents .toplayout09 .pinSet.pin10 {
    left: 113px;
    top: 412px;
  }
  #mainContents .toplayout09 .pinSet.pin11 {
    left: 103px;
    top: 428px;
  }
}


#mainContents .toplayout10 {
  width: 1126px;
  height: 415px;
  margin: 150px auto;
  background-image: url("../img/top/top_recruit_img.jpg");
  background-size: cover;
}
#mainContents .toplayout10 .columnBox {
  width: 458px;
  height: 415px;
  padding: 108px 0 0;
  box-sizing: border-box;
  background: linear-gradient(#53CED8, #4888EF);
  text-align: center;
}
#mainContents .toplayout10 .columnBox h3 {
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 3.5rem;
  color: #FFF;
}
#mainContents .toplayout10 .columnBox h3 span.jptitle {
  font-family: 'Noto Sans JP', sans-serif !important;
  color: #FFF;
  padding: 15px 0 0;
  display: block;
  font-size: 2.2rem;
  font-weight: 500;
}
#mainContents .toplayout10 .columnBox h4 {
  padding: 15px 0 0;
  font-size: 2.2rem;
  font-weight: 500;
  color: #FFF;
}
#mainContents .toplayout10 .columnBox p {
  padding: 25px 0 0;
  font-size: 1.6rem;
  color: #FFF;
  line-height: 1.6;
}
#mainContents .toplayout10 .columnBox .link01 {
  padding: 40px 0 0;
  width: 100%;
  height: 39px;
}
#mainContents .toplayout10 .columnBox .link01 a {
  position: relative;
  display: block;
  width: 141px;
  height: 39px;
  margin: 0 auto;
  padding: 8px 20px 0 0;
  border: 1px solid #FFF;
  box-sizing: border-box;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 400;
  font-size: 1.4rem;
  color: #FFF;
  text-align: center;
}
#mainContents .toplayout10 .columnBox .link01 a::after {
  position: absolute;
  right: 30px;
  top: 16px;
  width: 7px;
  height: 6px;
  background-image: url("../img/icon05.svg");
  background-size: cover;
  content: "";
}
#mainContents .toplayout10 .columnBox .link01 a:hover {
  text-decoration: none;
  opacity: 0.8;
}
@media only screen and (max-width: 960px) {
  #mainContents .toplayout10 {
    width: 100%;
    height: 282px;
    margin: 150px auto;
  }
  #mainContents .toplayout10 .columnBox {
    width: 312px;
    height: 282px;
    padding: 70px 0 0;
  }
  #mainContents .toplayout10 .columnBox h3 {
    font-size: 2.2rem;
  }
  #mainContents .toplayout10 .columnBox h3 span.jptitle {
    padding: 15px 0 0;
    font-size: 1.3rem;
  }
  #mainContents .toplayout10 .columnBox h4 {
    padding: 15px 0 0;
    font-size: 1.3rem;
  }
  #mainContents .toplayout10 .columnBox p {
    padding: 25px 0 0;
    font-size: 0.9rem;
  }
  #mainContents .toplayout10 .columnBox .link01 {
    padding: 20px 0 0;
  }
}
@media only screen and (max-width: 520px) {
  #mainContents .toplayout10 {
    display: none;
  }
}


/*==========================================
 ページネーションのスタイル
===========================================*/
#mainContents #pagination {
  margin: 40px 0 150px;
}
#mainContents #pagination ul {
  text-align: center;
}
#mainContents #pagination ul li {
  width: 30px;
  height: 30px;
  margin: 0 5px;
  vertical-align: middle;
  display: inline-block;
}
#mainContents #pagination ul li a,
#mainContents #pagination ul li span {
  position: relative;
  width: 30px;
  height: 30px;
  padding: 5px 0 0;
  box-sizing: border-box;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  color: #3C3329;
  display: block;
  text-decoration: none;
}
#mainContents #pagination ul li span {
  color: #00ADEF;
}
#mainContents #pagination ul li span.dots {
  color: #3C3329;
}
/* #mainContents #pagination ul li span::before {
  position: absolute;
  left: 50%;
  bottom: -10px;
  width: 32px;
  height: 2px;
  margin: 0 0 0 -16px;
  background-color: #00ADEF;
  content: "";
}
#mainContents #pagination ul li span.dots::before {
  display: none;
} */
#mainContents #pagination ul li a:hover {
  opacity: 0.7;
}
#mainContents #pagination ul li a.prev:hover,
#mainContents #pagination ul li a.next:hover {
  opacity: 0.7;
}
#mainContents #pagination ul li a.prev:before {
  content: '';
  height: 10px;
  width: 10px;
  display: block;
  border: 2px solid #00ADEF;
  border-left-width: 0;
  border-top-width: 0;
  position: absolute;
  top: 50%;
  left: 14px;
  margin: -3px 0 0 0;
  transform: rotate(-225deg);
}
#mainContents #pagination ul li a.next:after {
  position: absolute;
  top: 50%;
  left: 7px;
  height: 10px;
  width: 10px;
  display: block;
  border: 2px solid #00ADEF;
  border-left-width: 0;
  border-top-width: 0;
  margin: -3px 0 0 0;
  transform: rotate(-45deg);
  content: "";
}


@media only screen and (max-width: 767px) {
  #mainContents #pagination {
    margin: 20px 0 100px;
  }
  #mainContents #pagination ul li {
    width: 40px;
    height: 40px;
    margin: 0 2px;
  }
  #mainContents #pagination ul li a,
  #mainContents #pagination ul li span {
    width: 40px;
    height: 40px;
    padding: 12px 0 5px 0;
    font-size: 16px;
  }
  #mainContents #pagination ul li a.prev:before {
    height: 12px;
    width: 12px;
    left: 15px;
    margin: -3px 0 0 0;
  }
  #mainContents #pagination ul li a.next:after {
    height: 12px;
    width: 12px;
    left: 10px;
    margin: -3px 0 0 0;
  }
}


/*==========================================
 wp-custom-css　2026/3/11追加
===========================================*/
table.ev{
  border-collapse:collapse;
  margin:0 auto;
}
th.ev{
  border:1px solid #ccc;
  padding:10px;
  background:#EFEFEF;
}
td.ev{
  border:1px solid #ccc;
  padding:10px;
}

.text-link {
  display: inline-block;
  color: #0073aa;
	word-break: break-all;
}
.text-link:hover {
  color: #00a0d2;
}

.text-link-self {
  display: inline-block;
  color: #0073aa;
	text-decoration: underline;
	word-break: break-all;
}
.text-link-self:hover {
  color: #00a0d2;
}

.text-link::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 15px;
    background-image: url('../img/jump15.png');
    background-position: center bottom;
    background-repeat: no-repeat;
}

/*==========================================================================
  汎用化：矢印付きアンカーボタン（複数対応・レスポンシブ）　2026/6/17追加
==========================================================================*/
/* ボタン全体を囲むコンテナ */
.link01_wrap {
  display: flex;
  justify-content: center; /* 画面の中央に並べる */
  flex-wrap: wrap;         /* 万が一溢れたら折り返す */
  width: 100%;
  padding: 10px 0 50px 0;
  box-sizing: border-box;
}

/* ボタン単体の設定 */
.link01 {
  width: 370px;
  margin: 0 24px 24px 0;   /* 【重要】右側と下側に間隔をあける */
  box-sizing: border-box;
}

/* 最後のボタンだけは右側の間隔を無くしてぴったり中央に寄せる */
.link01_wrap .link01:last-child {
  margin-right: 0;
}

.link01 a {
  position: relative;
  display: block;
  width: 370px;
  height: 60px;
  padding: 16px 0 0;
  border: 1px solid #0066B3;
  box-sizing: border-box;
  font-size: 1.6rem;
  color: #0066B3 !important;
  text-decoration: none !important;
  text-align: center;
  transition: all 0.3s ease;
}

/* 通常時の矢印アイコン */
.link01 a::after {
  position: absolute;
  right: 40px;
  top: 26px;
  width: 7px;
  height: 6px;
  background-image: url("../img/icon12.svg");
  background-size: cover;
  content: "";
}

/* マウスホバー時のボタン色反転 */
.link01 a:hover {
  border: 1px solid #0066B3;
  background-color: #0066B3;
  color: #FFF !important;
  text-decoration: none !important;
}

/* マウスホバー時の矢印アイコン変更 */
.link01 a:hover::after {
  background-image: url("../img/icon13.svg");
}

/*==========================================================================
  スマートフォン表示（767px以下）：縦積みにレスポンシブ化　2026/6/17追加
==========================================================================*/
@media only screen and (max-width: 767px) {
  .link01_wrap {
    flex-direction: column;  /* 縦積みに変更 */
    align-items: center;     /* 中央揃え */
    padding: 10px 0 0;
  }
  
  .link01 {
    width: 344px;
    margin: 0 0 20px 0;      /* スマホ時は右側の余白を消し、下にだけ余白をあける */
  }

  .link01_wrap .link01:last-child {
    margin-bottom: 60px;        /* 一番下のボタンの下余白 */
  }

  .link01 a {
    width: 344px;
  }

  .link01 a::after {
    right: 30px;
  }
}
