@charset "UTF-8";

/*
========================================

	common.css
	add base_estate_dist.css( = base_estate.css)
 
========================================
*/

body {
  font-family:/*YakuHanJP,*/ "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Osaka", "Meiryo", "MS PGothic", Sans-Serif;
  color: #171717; /*Neutral-900*/ /*-----------Memo　モノトーン基準は neutral*/
  font-display: swap;

  min-height: 100vh; /*footerを下に固定*/
  display: flex;
  flex-direction: column;
}

main {
  flex: 1; /*footerを下に固定*/
}

body.gradient {
  background-color: #fff;
  background-repeat: repeat-y;
  background-size: 25% 100%;
  background-position: 0 0;
  background-image: linear-gradient(#e7f7fb, #e7f7fb);
}

.num {
  font-family: "Barlow Semi Condensed", monospace, Sans-Serif;
  font-display: swap;
}

body.sitetop {
  /*top page only*/
  animation: fadein 1s forwards;
}

@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/*smooth scroll ---> common.js

@media (prefers-reduced-motion: no-preference) {
	:root {
	  scroll-behavior: smooth;
	}
  }

html {scroll-behavior: smooth;}

*/

/*scroll-padding-top ---> main

html, body {scroll-padding-top: 60px;header height}

	@media (min-width: 1024px) {
		html, body {scroll-padding-top: 90px;header height}
	}

*/

/*----------------------
  common utilities
----------------------*/

/*text*/

h1 {
  font-size: clamp(1.5rem, 1.25rem + 1.25vw, 2.75rem);
} /*----24px-44px*/
h2 {
  font-size: clamp(1.25rem, 1.1rem + 0.75vw, 2rem);
} /*-----20px-32px*/
h3 {
  font-size: clamp(1.125rem, 1.025rem + 0.5vw, 1.625rem);
} /*-----18px-26px*/
h4 {
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
} /*-----16px-20px*/

.small {
  font-size: 87.5%;
}

.medium {
  font-size: 93.75%;
}

.large {
  font-size: 112.5%;
}

.link_extlink {
  /*アイコンに背景画像extlinkを使う場合*/
  position: relative;
  display: inline-block;
  padding-right: 24px;
  opacity: 1;
  transition: all 0.2s eas;
}

.link_extlink:hover {
  opacity: 0.8;
}

.link_extlink::before {
  position: absolute; /* relative-->a.link_extlink */
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url(/common/cmn_img/icon/icon_link_color.svg) no-repeat;
  background-position: center;
  background-size: 100%;
  right: 2px;
  top: 50%;
  transform: translateY(-50%);
}

.link_zoomlink {
  /*アイコンに背景画像zoomを使う場合*/
  position: relative;
  display: inline-block;
  padding-right: 24px;
  opacity: 1;
  transition: all 0.2s ease;
}

.link_zoomlink::before {
  position: absolute; /* relative-->a.link_extlink */
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  background: url(/common/cmn_img/icon/icon_link_zoom.svg) no-repeat;
  background-position: center;
  background-size: 100%;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.2s ease;
}

.modal.link_zoomlink::before {
  position: absolute; /* relative-->a.link_extlink */
  content: "";
  display: inline-block;
  width: 28px;
  height: 28px;
  background: url(/common/cmn_img/icon/icon_modal.svg) no-repeat;
  background-position: center;
  background-size: 100%;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.2s ease;
}

.modal.color_line.link_zoomlink::before {
  background: url(/common/cmn_img/icon/icon_modal_color.svg) no-repeat;
}

.link_zoomlink:hover::before {
  /*filter: brightness(120%);*/
  width: 36px;
  height: 36px;
  transition: all 0.2s ease;
}
/*----------------------
  base layout
----------------------*/

main {
  padding-top: 60px; /*header height*/
  /*margin-bottom: 60px;*/
}

@media (min-width: 1024px) {
  main {
    padding-top: 90px; /*header height*/
    /*margin-bottom: 60px;*/
  }
}

/*-----page title*/
/*スクロールで位置固定・高さ変動・背景画像なし*/

div#te_pagetitle_area_static {
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /*div.te_breadcrumb_line*/
  align-items: center;
  height: 120px;
  position: sticky;
  top: 60px; /*header height*/
  z-index: 10;
}

@media only screen and (min-width: 1024px) {
  div#te_pagetitle_area_static {
    position: sticky;
    top: 90px; /*header height*/
    z-index: 10;
    height: 240px;
  }
}

div#te_pagetitle_area_static h1 {
  /*★タイトルエリア内のページタイトル範囲内のh1*/
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  opacity: 1;
  font-weight: 700;
  height: 100%;
  margin-top: 1rem;
  letter-spacing: 0.1rem;
}

div#te_pagetitle_area_static h1 span.title {
  font-size: clamp(1.5rem, 1.3rem + 1vw, 2.5rem); /*-----24px-40px*/
}

div#te_pagetitle_area_static h1 span.num {
  /*★タイトルエリア内のページタイトル範囲内のh1*/
  color: #fff;
  opacity: 0.75;
  font-weight: 500;
  font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem); /*-----16px-20px*/
  text-shadow: none;
  letter-spacing: normal;
  line-height: 1;
}

/*breadcrumb*/

div.te_breadcrumb_line {
  display: none;
}

@media (min-width: 1024px) {
  div.te_breadcrumb_line {
    /*全画面横幅の帯を付ける場合*/
    width: 100%;
    background: rgba(255, 255, 255, 0.5);
    /*background: #f5f7fb;*/
    margin: 0;
    padding: 0.5rem;
    display: flex;
    align-items: center;
    height: 40px;
  }

  /*スクロールで位置固定・高さ変動・背景画像なし*/
  /*case and solution and news*/

  div#te_pagetitle_area_static div.te_breadcrumb_line {
    background: rgba(255, 255, 255, 0.5);
  }

  .te_breadcrumb {
    width: 100%;
    margin: 0 auto;
    padding: 0 1rem !important;
    font-size: 0.75rem;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    color: #fff;
  }

  .te_breadcrumb .te_breadcrumb_group {
    display: flex;
    flex-wrap: wrap;
  }

  .te_breadcrumb .te_breadcrumb_group li:last-child {
    color: #c9f8ff;
    font-weight: 500; /*現在地ページ*/
  }

  .te_breadcrumb_itemlink[href]:hover {
    opacity: 0.5;
  }

  .te_breadcrumb_group > * + * {
    margin-left: 0.25em;
  }

  .te_breadcrumb_group > * + *::before {
    content: "/";
    margin-left: 0.5em;
    margin-right: 0.5em;
    opacity: 0.5;
    color: #fff;
  }
}

@media (min-width: 1440px) {
  .te_breadcrumb {
    font-size: 0.825rem;
  }

  .te_breadcrumb_group > * + * {
    margin-left: 0.5em;
  }

  .te_breadcrumb_group > * + *::before {
    content: "/";
    margin-left: 0.75em;
    margin-right: 0.75em;
  }
}

/*.container {
	border:1px dotted #c33;★ガイド
}*/

div.container {
  margin: auto;
  padding: 1rem;
  /*border:1px solid #c33;★ガイド*/
}

@media (min-width: 1024px) {
  div.container {
    padding: 2rem;
  }
}

@media (min-width: 640px) {
  .container.container_full {
    max-width: none;
    padding: 0;
  }
}

/*----------------------
  header
----------------------*/

header {
  position: fixed;
  width: 100%;
  z-index: 9999;
  background: #fff;
  /*border-bottom: 3px solid #fb923c;orange-400*/
}

@media (min-width: 1024px) {
  /*header {
			border-bottom: 1px solid transparent;
		}*/
  header.te_header_shadow {
    /*border-bottom: 4px solid #FDBA74;orange-300
			box-shadow: 0 6px 0 0 rgba(0, 0, 0,0.05), 0 12px 0 0 rgba(0, 0, 0,0.05), 0 18px 0 0 rgba(0, 0, 0,0.05);*/
    box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.1);
    transition: all 0.2s ease;
  }
}

header .te_header_nav_area {
  margin-left: auto;
  margin-right: auto;
  margin-top: 0px;
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  /*border: 1px dotted #c33; ガイド*/
}

@media (min-width: 1024px) {
  header .te_header_nav_area {
    max-width: 1920px;
  }
}

header a.header_site_name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  height: 60px;
  /*border: 1px dotted #c33; ガイド*/
}

header img.header_site_logo {
  width: 84px;
  height: 28px;
  margin: 0 8px 0 16px;
}

header span.site_name {
  font-size: clamp(0.625rem, 0.575rem + 0.25vw, 0.875rem);
  letter-spacing: 0.05rem;
  font-weight: bold;
}

header span.site_name span.num {
  display: block;
  letter-spacing: 0.025rem;
}

@media (min-width: 1024px) {
  header a.header_site_name {
    height: 90px;
    margin-left: 0.5rem;
  }

  header img.header_site_logo {
    width: 108px;
    height: 36px;
  }
}

@media (min-width: 1280px) {
  header a.header_site_name {
    margin-left: 1rem;
  }

  header img.header_site_logo {
    width: 120px;
    height: 40px;
  }
}

header nav.te_header_nav {
  position: absolute;
  right: 0;
  left: 0;
  top: 60px; /*header height + border*/
  width: 100%;
  height: calc(100vh - 60px);
  transform: translateX(100%);
  background: url(/common/cmn_img/bg_contact.webp) no-repeat;
  background-position: center right 35%;
  background-size: cover;
  transition: ease 0.4s; /*-----リサイズ時のチラつき防止したい場合は、ここをコメントアウトしてactiveのみとする*/
  overflow-y: auto;
}

header ul.te_cmn_nav {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translate(-50%, -50%);
  /*padding: 0 0 126px 0; -----スマホサイズの下余白*/
  margin: 0;
  width: 90%;
  /*max-width: 360px;*/
}

@media (min-width: 1024px) {
  header nav.te_header_nav {
    position: static;
    transform: initial;
    background-color: inherit;
    height: inherit;
    display: flex;
    justify-content: end;
    width: 60%;
    max-width: 1600px;
    min-width: 660px;
    background: transparent;
    overflow: visible;
  }

  header ul.te_cmn_nav {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    padding: 0;
    max-width: none;

    width: 100%;
    display: flex;
    align-items: flex-start;
    height: initial;
    /*justify-content: space-between;*/
    justify-content: space-evenly;
    margin: 0;
  }

  header ul.te_cmn_nav li {
    width: 100%; /*均等幅*/
  }
}

header ul.te_cmn_nav li .te_cmn_nav_item {
  /*大カテゴリ--> a.te_cmn_nav_item or p.te_cmn_nav_item*/
  display: block;
  border-top: 1px solid #fff; /*区切り線*/
  color: #fff;
  padding: 1rem 0.5rem 1rem 1rem;
  margin: 0;
  text-align: left;
  text-decoration-line: none;
  white-space: nowrap;
  cursor: pointer;

  font-weight: 700;
}

header ul.te_cmn_nav li:first-child .te_cmn_nav_item {
  border-top: none;
}

header ul.te_cmn_nav li .te_cmn_nav_item span.num {
  display: block;
  width: fit-content;
  /*font-size:90%;
	font-size:110%;*/
  color: #b1dfe6;
  font-weight: 400;
  margin-left: 2px;
}

@media (min-width: 1024px) {
  header ul.te_cmn_nav li .te_cmn_nav_item {
    border-width: 0px;
    color: #171717;
    /*padding-top: 2.4rem;*/
    padding-top: 1.5rem;
    font-size: 0.8125rem;
    text-align: center;
    line-height: 1;
    height: 90px;
    cursor: pointer;

    padding-right: 1.75rem;
    padding-left: 1.75rem;
  }

  header ul.te_cmn_nav li .te_cmn_nav_item span.num {
    padding-bottom: 8px;
    /*font-size:75%;*/
    margin: auto;
  }
}

@media (min-width: 1280px) {
  header ul.te_cmn_nav li .te_cmn_nav_item {
    font-size: 0.9375rem;
  }
}

header .te_cmn_nav_item {
  background: url(/common/cmn_img/icon/icon_chevron_right.svg) no-repeat;
  background-position: right 20px center; /*右から20pxで、縦の中央*/
  background-size: 16px 16px;
}

header .te_cmn_nav_item.extlink {
  background: url(/common/cmn_img/icon/icon_link_color.svg) no-repeat;
  background-position: right 20px center; /*右から20pxで、縦の中央*/
  background-size: 20px 20px;
}

/*megamenu = like accordion*/

/*トリガーのあるリンクだけにプラスマイナスマークを付ける*/

header .te_mm_trigger {
  position: relative;
  display: inline-block;
  z-index: 1;
  /*font-weight:500;*/
  background-image: none;
}

header .te_mm_trigger::before,
header .te_mm_trigger::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 2px;
  /*border-radius: 2px;*/
  background-color: #274aca; /*icon color*/
  position: absolute; /* relative-->te_mm_trigger */
  right: 21px;
  top: 50%;
  transform: translateY(-50%);
  transition: opacity 0.2s;
  transition: transform 0.4s;
}

header .te_mm_trigger::after {
  transform: translateY(-50%) rotate(90deg);
}

header .te_mm_trigger.is-active::before {
  opacity: 0;
}

header .te_mm_trigger.is-active::after {
  transform: translateY(-50%) rotate(180deg);
}

header .te_mm_content {
  opacity: 0;
  visibility: hidden;
  height: 0;
  padding-top: 0; /*for like accordion ★*/
  transition:
    padding 0.25s,
    opacity 0.25s,
    visibility 0.25s;
}

header .te_mm_content img.category_top_img,
header .te_mm_content .btn_close {
  /*category_top_img and icon_close*/
  display: none;
  height: 0;
}

header .te_mm_trigger.is-active + .te_mm_content {
  overflow: hidden;
  padding-top: 0.75rem; /*for like accordion ★*/
  height: auto;
  opacity: 1;
  visibility: visible;
  /*background-color: #fff;*/
  background-color: #b1dfe6; /*header .te_mm_inner li.category_top a と同色に*/
}

@media (min-width: 1024px) {
  /*すべてのリンクに下線を引く*/

  header .te_cmn_nav_item {
    position: relative;
    display: inline-block;
    z-index: 1;
    font-weight: 500;
    background-image: none; /*右矢印アイコンを消す*/
  }

  header .te_cmn_nav_item.extlink {
    /*background: url(/common/cmn_img/icon/icon_link.svg) no-repeat ;
		background-position:right 0 top 55%; 右から10%で、上から53%
		background-size: 20px 20px;*/

    background: none;
    position: relative;
  }

  header .te_cmn_nav_item::after {
    content: "";
    position: absolute; /* relative-->te_cmn_nav_item */
    bottom: 12px;
    left: 20%;
    z-index: -1;
    height: 4px;
    width: 60%;
    background: #b1dfe6; /*blue-700 sample color*/
    transform: scale(0, 1) translateX(2px);
    transform-origin: center top;
  }

  header .te_cmn_nav_item:hover::after {
    transform: scale(1, 1) translateX(2px);
    transition: transform 0.25s;
  }

  header .te_cmn_nav_item.is-active::after {
    height: 2px;
    background: #000;
  }

  header .te_cmn_nav_item.extlink::before {
    display: block;
    position: absolute;
    content: "";
    top: calc(50% - 4px);
    right: 5px;
    width: 16px;
    height: 12px;
    border-width: 2px;
    border-style: solid;
    transition: 0.2s;
    opacity: 0.5;
    border-color: #7088bf !important;
    background: #b1dfe6 !important;
  }

  header .te_cmn_nav_item.extlink::after {
    display: block;
    position: absolute;
    content: "";
    top: calc(50% - 1px);
    right: 8px;
    width: 16px;
    height: 12px;
    border-width: 2px;
    border-style: solid;
    transition: 0.2s;
    border-color: #7088bf !important;

    /*通常の取り消し*/
    bottom: auto;
    left: auto;
    z-index: 0;

    background: transparent;
    transform: none;
    transform-origin: none;
  }

  header .te_cmn_nav_item.extlink:hover::before {
    width: 16px;
    height: 12px;
    top: calc(50% - 4px);
    right: 3px;
    opacity: 0.8;
  }

  /*megamenu*/

  header .te_mm_trigger {
    position: relative;
    display: inline-block;
    z-index: 1;
    font-weight: 500;
  }

  header .te_cmn_nav_item.te_mm_trigger::before,
  header .te_cmn_nav_item.te_mm_trigger::after {
    content: "";
    display: block;
    position: absolute; /* relative-->te_mm_trigger */
    top: auto;
    bottom: 12px;
    left: 50%;
    right: auto;
    width: 11px;
    height: 11px;
    margin-left: -8px;
    background-color: transparent;
    border-radius: 0;
    transform: translateY(0);
    transition: opacity 0.2s;
    /*transition: transform 0.2s;*/
  }

  header .te_cmn_nav_item.te_mm_trigger::before {
    transform: rotate(45deg);
    border-bottom: 3px solid #e5e5e5;
  }

  header .te_cmn_nav_item.te_mm_trigger::after {
    border-right: 3px solid #e5e5e5;
    transform: scale(1, 1) rotate(45deg);
    transform-origin: center;
  }

  header .te_cmn_nav_item.te_mm_trigger:hover:before,
  header .te_cmn_nav_item.te_mm_trigger.is-active::before {
    opacity: 1;
    border-bottom: 4px solid #b1dfe6; /*blue-700 sample color*/
    transform: scale(4.1, 1) rotate(0deg) translateX(1px); /*すき間が空かないように調整*/
    transform-origin: right bottom;
    margin-left: -12px;
    transition: transform 0.2s; /*あえて往路だけにする*/
  }

  header .te_cmn_nav_item.te_mm_trigger:hover:after,
  header .te_cmn_nav_item.te_mm_trigger.is-active::after {
    margin-left: -12px;
    border-right: 4px solid #b1dfe6; /*blue-700 sample color*/
    transform: scale(4, 1) rotate(90deg);
    transform-origin: right bottom;
    transition: transform 0.2s; /*あえて往路だけにする*/
  }

  header .te_cmn_nav_item.te_mm_trigger.is-active::before {
    border-bottom: 9px double #b1dfe6; /*blue-700 sample color*/
  }

  header .te_cmn_nav_item.te_mm_trigger.is-active::after {
    border-right: 9px double #b1dfe6; /*blue-700 sample color*/
  }

  header .te_mm_content {
    opacity: 0;
    visibility: hidden;
    position: absolute; /*relative-->.te_header_nav */
    top: 90px; /*header高さ*/

    /*横幅画面いっぱいにする場合
		left: auto;
		right: 0;
		width: calc(100vw - 16px);スクロールバー幅（だいたい）を引く
		max-width: 1920px;*/
    padding: 2rem 2rem 0 2rem;

    /*横幅ナビゲーションの範囲内*/
    left: 0;
    width: 100%;

    background-color: #fff;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;

    transition: none; /*あえて往路だけにする*/
  }

  /*個別に開く位置を指定する場合
	ul.te_cmn_nav li:nth-child(2) .te_mm_content {left: 10%; width: 25%;}
	ul.te_cmn_nav li:nth-child(3) .te_mm_content {left: 20%; width: 25%;}
	ul.te_cmn_nav li:nth-child(8) .te_mm_content {right: 0; width: 25.5%;}ずれを調整
	*/

  header .te_cmn_nav_item.te_mm_trigger.is-active + .te_mm_content {
    background-color: #fff;
    transition:
      opacity 0.4s,
      visibility 0.4s;
    transition-delay: 0;
  }
}

@media (min-width: 1440px) {
  header .te_cmn_nav_item::after {
    left: 30%;
    width: 40%;
  }
}

/*megamenu inner*/

header .te_mm_inner {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  background: #fff;
  /*border-radius: 4px;*/
}

header .te_mm_inner li {
  width: 100%;
  /*font-size: 0.9375rem;*/
  text-align: left;
}

header .te_mm_inner li a {
  margin-left: auto;
  margin-right: auto;
  display: block;
  border-top: 1px solid #b1dfe6; /*区切り線*/
  /*padding: 0.75rem 2rem 0.75rem 1rem;*/
  padding: 0.75rem 1rem 0.75rem 2rem;
  display: flex;
  align-items: center;
  justify-content: start;
  background: url(/common/cmn_img/icon/icon_chevron_right.svg) no-repeat;
  /*background-position:right 4px center; 右から4pxで、縦の中央*/
  background-position: left 8px center;
  background-size: 16px 16px;
}

header .te_mm_inner li div.no_link {
  margin-left: auto;
  margin-right: auto;
  display: block;
  border-top: 1px solid #b1dfe6; /*区切り線*/
  padding: 0.75rem 2rem 0.75rem 1rem;
  display: flex;
  align-items: center;
  justify-content: start;
}

header .te_mm_inner li a:hover {
  color: #b1dfe6;
  /*opacity: 0.5;*/
}

header .te_mm_inner li.category_top a {
  border-top: none;
  padding-top: 0;
  background: url(/common/cmn_img/icon/icon_chevron_right02.svg) no-repeat;
  background-position: right 18px top calc(50% - 5px);
  background-size: 20px 20px;
  background-color: #b1dfe6; /*header .te_mm_trigger.is-active + .te_mm_content と同色に*/
  color: #fff;
}

header .te_mm_inner li a .title {
  font-weight: 500;
}

header .te_mm_inner li div.no_link p.title {
  font-weight: 500;
}

header .te_mm_inner li ul {
  margin-bottom: 1rem;
}

header .te_mm_inner li ul li {
  padding-left: 1rem;
  font-size: 87.5%;
}

header .te_mm_inner li ul li a {
  /*background: url(/common/cmn_img/icon/icon_chevron_right.svg) no-repeat;*/
  background: url(/common/cmn_img/icon/icon_dot.svg) no-repeat;
  background-position: left -2px center;
  background-size: 12px 12px;
  padding: 0.25rem 1rem;
  border: 0;
}

@media (min-width: 1024px) {
  header .te_mm_content {
    display: flex;
    flex-wrap: wrap;
    align-items: start;
    justify-items: center;
  }

  header .te_mm_trigger.is-active + .te_mm_content {
    overflow: visible; /*btn_close をはみ出す場合*/
    box-shadow: rgba(0, 0, 0, 0.45) 0px 12px 10px -10px;
  }

  header .te_mm_content img.category_top_img {
    /*display: block;
    width: 100%;
    height: auto;*/
    display: none;
  }

  header .te_mm_content .btn_close {
    display: block;
    width: 100%;
    height: auto;
  }

  header .te_mm_content img.icon_close {
    display: block;
    width: 36px;
    height: 36px;
    margin-left: auto;
    margin-right: -12px;
    margin-top: 8px;
    margin-bottom: -16px;
    padding: 10px;
    background-color: #f5f7fb;
    border-radius: 28px;
    z-index: 1;
    box-shadow:
      rgba(50, 50, 93, 0.25) 0px 6px 12px -2px,
      rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
  }

  header .te_mm_content img.icon_close:hover {
    /*opacity: 0.5;*/
    background-color: #fff;
    cursor: pointer;
  }

  header .te_mm_inner {
    width: 100%;
    display: grid;
    /*grid-template-columns: repeat(3, minmax(0, 1fr));*/
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  header .te_mm_inner.about li.category_top {
    background: url(/common/cmn_img/bg_hd_about.svg) no-repeat;
    /*background-position:bottom -32px center;*/
    background-position: right top;
    background-size: 100%;
  }

  header .te_mm_inner.business {
    background: url(/common/cmn_img/bg_hd_bs.svg) no-repeat;
    /*background-position:bottom -32px center;*/
    background-position: right top;
    background-size: 100%;
  }

  header .te_mm_inner li {
    font-size: 0.875rem;
  }

  header .te_mm_inner li.category_top {
    /*grid-column: span 3 / span 3;*/
    grid-column: span 4 / span 4;
    border-bottom: 3px solid #b1dfe6;
    background-size: 50% 50%;
  }

  header .te_mm_inner li.category_top a {
    display: inline-block;
    padding-right: 4rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
    background-position: right 16px center; /*矢印アイコンの位置調整*/
  }

  header .te_mm_inner li a {
    border-top-color: transparent; /*区切り線を見えなくする*/
  }

  header .te_mm_inner li a:hover .icon {
    background-color: #fdba74;
    color: #fff;
    border-radius: 999px;
  }

  header .te_mm_inner li a .title {
    margin-right: 0;
  }

  header .te_mm_inner li ul li {
    font-size: 0.8125rem;
  }

  header .te_mm_inner li.hd_span {
    grid-column: span 2 / span 2;
    border-bottom: 1px solid #b1dfe6;
  }

  header .te_mm_inner li.hd_span_full {
    grid-column: span 4 / span 4;
    border-bottom: 1px solid #b1dfe6;
  }

  header .te_mm_inner li.hd_span div.hd_row ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1440px) {
  header .te_mm_inner {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  header .te_mm_inner li {
    font-size: 0.9375rem;
  }

  header .te_mm_inner li.category_top {
    grid-column: span 6 / span 6;
  }

  header .te_mm_inner.about {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  header .te_mm_inner.about li.category_top {
    grid-column: span 8 / span 8;
  }

  header .te_mm_inner li.hd_span.half {
    grid-column: span 3 / span 3;
    border-bottom: 1px solid #b1dfe6;
  }
}

/* hamburger menu */

header .te_ham_btn {
  width: 60px;
  height: 48px;
  background-color: transparent;
  border-color: transparent;
  z-index: 9999;
  padding: 1rem;
}

@media (min-width: 1024px) {
  header .te_ham_btn {
    display: none;
  }
}

header .te_ham_btn span {
  width: 100%;
  height: 1px;
  position: relative;
  transition: ease 0.4s;
  display: block;
}

header .te_ham_btn span:nth-child(1) {
  top: 0;
  background-color: #000;
}

header .te_ham_btn span:nth-child(2) {
  margin: 8px 0;
  background-color: #000;
}

header .te_ham_btn span:nth-child(3) {
  top: 0;
  background-color: #000;
}

/* クリック後のスタイル */
header .te_header_nav.active {
  transform: translateX(0);
  transition: ease 0.4s;
}

header .te_ham_btn.active span:nth-child(1) {
  top: 8px;
  transform: rotate(45deg);
}

header .te_ham_btn.active span:nth-child(2) {
  opacity: 0;
}

header .te_ham_btn.active span:nth-child(3) {
  top: -10px;
  transform: rotate(-45deg);
}

/*screen*/

div.screen,
div.screen.shade {
  display: none;
}

@media (min-width: 1024px) {
  #screen {
    width: 100vw;
    height: 0;
    position: fixed;
    z-index: 8;
    z-index: 21;
    background: rgba(0, 0, 0, 1);
    display: none;
    opacity: 0;
  }
  #screen.shade {
    height: 100vh;
    display: block;
    /*opacity: 0.2;*/
    animation: shadein 0.2s forwards;
  }
}

@keyframes shadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.2;
  }
}

/*sitemap*/
/*
ここでは矢印アイコン設定のみ。
#sitemap設定---> base_group.css
*/

#sitemap ul.te_mm_inner li a {
  background: rgba(255, 255, 255, 1) url(/common/cmn_img/icon/icon_chevron_right.svg) no-repeat;
  background-position: right 6px top 22px;
  background-size: 16px 16px;
}

#sitemap ul.te_mm_inner li.category_top a {
  background: url(/common/cmn_img/icon/icon_chevron_right.svg) no-repeat;
  background-position: right 2px center;
  background-size: 24px 24px;
  border: 0;
}

#sitemap ul li a.te_cmn_nav_item {
  background: rgba(255, 255, 255, 0) url(/common/cmn_img/icon/icon_chevron_right.svg) no-repeat;
  background-position: right 2px center;
  background-size: 24px 24px;
}

#sitemap ul li a.te_cmn_nav_item.extlink {
  /*background:#fff url(/common/cmn_img/icon/icon_link_color.svg) no-repeat ;
	background-position:right 4px center; 
	background-size: 24px 24px;
	box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;*/
  background-image: none;
  position: relative;
}

#sitemap ul li a.te_cmn_nav_item.extlink::before {
  display: block;
  position: absolute;
  content: "";
  top: calc(50% - 8px);
  right: 11px;
  width: 16px;
  height: 12px;
  border-width: 2px;
  border-style: solid;
  transition: 0.2s;
  opacity: 0.5;
  border-color: #7088bf !important;
  background: #b1dfe6 !important;
}

#sitemap ul li a.te_cmn_nav_item.extlink::after {
  display: block;
  position: absolute;
  content: "";
  top: calc(50% - 5px);
  right: 14px;
  width: 16px;
  height: 12px;
  border-width: 2px;
  border-style: solid;
  transition: 0.2s;
  border-color: #7088bf !important;
}

#sitemap ul li a.te_cmn_nav_item.extlink:hover::before {
  width: 16px;
  height: 12px;
  top: calc(50% - 8px);
  right: 9px;
  opacity: 0.8;
}

#sitemap ul.te_mm_inner li ul li a {
  display: inline;
  width: 100%;
  /*background: url(/common/cmn_img/icon/icon_chevron_right.svg) no-repeat ;*/
  background-position: left 0 top 14px !important;
  background-size: 12px 12px !important;
  padding-left: 14px;
  background: url(/common/cmn_img/icon/icon_dot.svg) no-repeat;
  border: 0;
}

#sitemap ul.policy li a {
  background: url(/common/cmn_img/icon/icon_chevron_right.svg) no-repeat;
  background-position: right 6px top 18px;
  background-size: 16px 16px;
}

@media (min-width: 1024px) {
  #sitemap ul.te_mm_inner li a {
    background-position: right 12px top 24px;
    background-size: 16px 16px;
  }

  #sitemap ul.te_mm_inner li.category_top a {
    background-position: right 18px center;
    background-size: 24px 24px;
  }

  #sitemap ul li a.te_cmn_nav_item {
    background-position: right 8px center;
    background-size: 24px 24px;
  }

  #sitemap ul li a.te_cmn_nav_item.extlink {
    background-position: right 16px center;
    background-size: 24px 24px;
  }

  #sitemap ul.te_mm_inner li ul li a {
    width: 100%;
    background-position: left 8px top 14px;
    background-size: 12px 12px;
    padding-left: 24px;
  }

  #sitemap ul.policy li a {
    background-position: right 12px top 18px;
    background-size: 16px 16px;
  }
}

/*pagetop*/

#btn_pagetop {
  display: block;
  position: fixed;
  bottom: 16px;
  right: 16px;
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, 0.5) url(/common/cmn_img/icon/icon_chevron_up.svg) no-repeat;
  background-position: center;
  background-size: 24px 24px;
  border-radius: 24px;
  padding-top: 4px;
  opacity: 0;
  transition: ease 0.4s;
  cursor: pointer;
  /*z-index: 9;*/
  z-index: 22;
}

#btn_pagetop span {
  display: block;
  width: 48px;
  height: 48px;
  padding-top: 4px;
  font-size: 0.625rem;
  text-align: center;
}

@media (min-width: 1024px) {
  #btn_pagetop {
    padding-top: 0;
  }
}

/*footer*/

#te_contents_footer {
  background: url(/common/cmn_img/bg_contact.webp) no-repeat;
  background-position: center;
  background-size: cover;
}

/*more btn icon*/
/*.btn_normal --> base_group.css*/

div.btn_icon_more {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  transition: all 0.2s ease;
}

div.btn_icon_more p {
  margin-left: 32px;
  padding-right: 48px;
  position: relative;
}

div.btn_icon_more p::after {
  display: block;
  position: absolute;
  right: 32px;
  top: calc(50% - 4px);
  right: 0;
  transform: translateY(-50%);
  transform-origin: left;
  width: 32px;
  height: 8px;
  /*background-color: #fff; 各自色指定*/
  clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
  content: "";
  transition: transform 0.3s;
}

a:hover div.btn_icon_more p::after {
  transform: translateY(-50%) scaleX(1.4);
}

div.btn_icon_more_s {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  transition: all 0.2s ease;
}

div.btn_icon_more_s p {
  margin-left: 8px;
  padding-right: 36px;
  position: relative;
}

div.btn_icon_more_s p::after {
  display: block;
  position: absolute;
  right: 32px;
  top: calc(50% - 4px);
  right: 0;
  transform: translateY(-50%);
  transform-origin: left;
  width: 28px;
  height: 8px;
  background-color: #fff;
  clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
  content: "";
  transition: transform 0.3s;
}

a:hover div.btn_icon_more_s p::after {
  transform: translateY(-50%) scaleX(1.25);
}

div.btn_icon_more p span.num,
div.btn_icon_more_s p span.num {
  font-size: larger;
  font-weight: 400;
}

a:hover div.btn_icon_more p span.num,
a:hover div.btn_icon_more_s p span.num {
  transition-delay: 0.1s;
  font-style: oblique;
}

/*extlink btn icon*/
/*.btn_normal --> base_group.css*/

div.btn_icon_extlink {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  transition: all 0.2s ease;
}

div.btn_icon_extlink p {
  margin-left: 24px;
  padding-right: 36px;
  position: relative;
}

div.btn_icon_extlink p::before {
  display: block;
  position: absolute;
  content: "";
  top: calc(50% - 8px);
  right: 7px;
  width: 16px;
  height: 12px;
  border-width: 2px;
  border-style: solid;
  /*border-color: #999; 各自色指定*/
  transition: 0.2s;
  background: rgba(255, 255, 255, 0.5);
  opacity: 0.5;
}

div.btn_icon_extlink p::after {
  display: block;
  position: absolute;
  content: "";
  top: calc(50% - 5px);
  right: 10px;
  width: 16px;
  height: 12px;
  border-width: 2px;
  border-style: solid;
  /*border-color: #999; 各自色指定*/
  transition: 0.2s;
}

a:hover div.btn_icon_extlink {
  opacity: 0.8;
  /*background-color: #25348e;*/
}

a:hover div.btn_icon_extlink p::before {
  width: 16px;
  height: 12px;
  top: calc(50% - 8px);
  right: 5px;
  opacity: 0.8;
}

div.btn_icon_extlink_s {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  transition: all 0.2s ease;
}

div.btn_icon_extlink_s p {
  margin-left: 8px;
  padding-right: 32px;
  position: relative;
}

div.btn_icon_extlink_s p::before {
  display: block;
  position: absolute;
  content: "";
  top: calc(50% - 8px);
  right: 7px;
  width: 12px;
  height: 10px;
  border-width: 1px;
  border-style: solid;
  /*border-color: #999; 各自色指定*/
  transition: 0.2s;
  background: rgba(255, 255, 255, 0.5);
  opacity: 0.5;
}

div.btn_icon_extlink_s p::after {
  display: block;
  position: absolute;
  content: "";
  top: calc(50% - 5px);
  right: 10px;
  width: 12px;
  height: 10px;
  border-width: 1px;
  border-style: solid;
  /*border-color: #999; 各自色指定*/
  transition: 0.2s;
}

a:hover div.btn_icon_extlink_s p::before {
  width: 12px;
  height: 10px;
  border-width: 1px;
  border-style: solid;
  /*border-color: #999; 各自色指定*/
  top: calc(50% - 8px);
  right: 5px;
  opacity: 0.8;
}

/*.btn --> base_group.css*/

.btn_normal,
.btn_normal_s,
.btn_flat {
  /*border:2px solid #666;*/
  background: #404040; /*Neutral-700*/
  color: #fff;
}

.btn_normal > div.btn_icon_extlink p::before,
.btn_normal_s > div.btn_icon_extlink_s p::before {
  border-color: #fff !important;
  background: transparent !important;
}

.btn_normal > div.btn_icon_extlink p::after,
.btn_normal_s > div.btn_icon_extlink_s p::after {
  border-color: #fff !important;
  background: transparent !important;
}

.btn_normal > div.btn_icon_more p::after,
.btn_normal_s > div.btn_icon_more_s p::after {
  background: #fff !important;
}

.btn_normal.line {
  /*border:2px solid #666;*/
  border: 1px solid #404040; /*Neutral-700*/
  padding-top: 14px;
  padding-bottom: 14px;
  background: #fff;
  color: #262626; /*Neutral-800*/
}

.btn_normal_s.line {
  /*border:1px solid #666;*/
  border: 1px solid #555;
  padding-top: 9px;
  padding-bottom: 9px;
  background: #fff;
  color: #555;
}

.btn_normal.line > div.btn_icon_extlink p::before,
.btn_normal_s.line > div.btn_icon_extlink_s p::before {
  border-color: #666 !important;
  background: transparent !important;
}

.btn_normal.line > div.btn_icon_extlink p::after,
.btn_normal_s.line > div.btn_icon_extlink_s p::after {
  border-color: #666 !important;
  background: transparent !important;
}

.btn_normal.line > div.btn_icon_more p::after,
.btn_normal_s.line > div.btn_icon_more_s p::after {
  background: #666 !important;
}

.btn_normal.color,
.btn_normal_s.color {
  /*border:2px solid #b1dfe6;*/
  background: rgba(29, 185, 206, 0.5);
  color: #fff;
}

.btn_normal.color > div.btn_icon_extlink p::before,
.btn_normal_s.color > div.btn_icon_extlink_s p::before {
  border-color: #fff !important;
  background: transparent !important;
}

.btn_normal.color > div.btn_icon_extlink p::after,
.btn_normal_s.color > div.btn_icon_extlink_s p::after {
  border-color: #fff !important;
  background: transparent !important;
}

.btn_normal.color > div.btn_icon_more p::after,
.btn_normal_s.color > div.btn_icon_more_s p::after {
  background: #fff !important;
}

.btn_normal.color_line {
  /*border:2px solid #7088bf;*/
  border: 1px solid #5571b3;
  padding-top: 14px;
  padding-bottom: 14px;
  background: #fff;
  color: #5571b3;
}

.btn_normal_s.color_line {
  /*border:1px solid #7088bf;*/
  border: 1px solid #5571b3;
  padding-top: 9px;
  padding-bottom: 9px;
  background: #fff;
  color: #5571b3;
}

.btn_normal.color_line > div.btn_icon_extlink p::before,
.btn_normal_s.color_line > div.btn_icon_extlink_s p::before {
  border-color: #7088bf !important;
  background: #b1dfe6 !important;
}

.btn_normal.color_line > div.btn_icon_extlink p::after,
.btn_normal_s.color_line > div.btn_icon_extlink_s p::after {
  border-color: #7088bf !important;
}

.btn_normal.color_line > div.btn_icon_more p::after,
.btn_normal_s.color_line > div.btn_icon_more_s p::after {
  background: #7088bf !important;
}

/*btn bg change*/

.btn_bg_flat_a,
.btn_bg_flat_b,
.btn_bg_flat_c,
.btn_bg_flat_d {
  position: relative;
  overflow: hidden;
}

.btn_bg_flat_a::before,
.btn_bg_flat_b::before,
.btn_bg_flat_c::before,
.btn_bg_flat_d::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  opacity: 0;
}

.btn_bg_flat_a:hover::before,
.btn_bg_flat_b:hover::before,
.btn_bg_flat_c:hover::before,
.btn_bg_flat_d:hover::before {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  opacity: 1;
}

a:hover .btn_bg_flat_a::before,
a:hover .btn_bg_flat_b::before,
a:hover .btn_bg_flat_c::before,
a:hover .btn_bg_flat_d::before {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  opacity: 1;
}

.btn_bg_round_a,
.btn_bg_round_b,
.btn_bg_round_c,
.btn_bg_round_d {
  /*丸の基点とするためrelativeを指定*/
  position: relative;
  overflow: hidden;
}

.btn_bg_round_a::before,
.btn_bg_round_b::before,
.btn_bg_round_c::before,
.btn_bg_round_d::before {
  content: "";
  position: absolute;
  left: -60px;
  width: 60px;
  height: 60px;
  border-radius: 25px;
  transition: 0.3s ease-out;
  opacity: 0;
}

.btn_bg_round_a:hover::before,
.btn_bg_round_b:hover::before,
.btn_bg_round_c:hover::before,
.btn_bg_round_d:hover::before {
  width: calc(120% + 60px);
  opacity: 1;
}

a:hover .btn_bg_round_a::before,
a:hover .btn_bg_round_b::before,
a:hover .btn_bg_round_c::before,
a:hover .btn_bg_round_d::before {
  width: calc(120% + 60px);
  opacity: 1;
}

.btn_bg_flat_a::before,
.btn_bg_round_a::before {
  /*グレーから黒*/
  background-image: linear-gradient(to right, #999 0%, #333 100%);
}

.btn_bg_flat_b::before,
.btn_bg_round_b::before {
  /*白から*/
  background-image: linear-gradient(125deg, #eceef8 0%, #fff 55%, #eceef8 100%);
}

.btn_bg_flat_c::before,
.btn_bg_round_c::before {
  /*青から紫*/
  background-image: linear-gradient(to right, #6fb9dd 0%, #4440c3 100%);
}

.btn_bg_flat_d::before,
.btn_bg_round_d::before {
  /*3色*/
  background-image: linear-gradient(125deg, #b1dfe6 0%, #fff 55%, #b1dfe6 100%);
}

/*badge*/

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  height: 24px;

  margin-right: 0.1rem;
  margin-top: 0.1rem;
  margin-bottom: 0.1rem;

  padding-right: 0.4rem;
  padding-left: 0.4rem;

  font-size: 0.75rem;
  font-weight: 500;
  vertical-align: text-top;
  text-align: center;
  border: 1px solid #292524; /*stone-800*/
}

.badge-tag {
  padding-top: 0.1rem;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  padding-bottom: 0.15rem;

  font-weight: 500;
  border: 1px solid #5f7ab7;
  color: #1b47a5;
  background-color: #fff;
  font-size: 0.75rem;
  min-width: 64px;
}

.badge-news01/*おしらせ*/,
.badge-news02/*物件更新*/,
.badge-news03/*新規物件*/ {
  color: #fff;
  border: 0;
  /*font-size: 0.825rem;*/
  font-size: clamp(0.625rem, 0.588rem + 0.19vw, 0.813rem);
  /*line-height: 1.5;
  border-radius: 100px;*/
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  padding-bottom: 0.1rem;
  width: 80px;
  border: 1px solid rgba(95, 122, 183, 0.5); /*#5f7ab7*/
}

.badge-news01 {
  /*background: rgba(29, 185, 206, 0.5);*/
  background: #c2e59c;
  /*background-image: linear-gradient(120deg, #64b3f4 0%, #c2e59c 100%);*/
}

.badge-news02 {
  background: #48c6ef;
  /*background-image: linear-gradient(60deg, #48c6ef 0%, #6f86d6 100%);*/
}

.badge-news03 {
  /*background: #c2e59c;*/
  background-color: rgba(95, 122, 183, 1); /*#5f7ab7*/
  /*background-image: linear-gradient(120deg, #a6c0fe 0%, #f68084 100%);*/
}

.note-tag {
  display: inline-block;
  padding-top: 0.25rem;
  padding-right: 0.5rem;
  padding-left: 0.5rem;
  padding-bottom: 0.35rem;
  font-weight: 500;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  /*border-left:8px solid #fff;*/
  background-color: #fff;
  font-size: 0.825rem;
  margin-bottom: 4px;
}

/*tab*/

.tab-group {
  display: flex;
  justify-content: center;
}
.tab {
  flex-grow: 1;
  padding: 16px 8px;
  list-style: none;
  color: #333;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  background: #ccc;
  min-width: 32%;
  text-align: center;
  font-size: 0.75rem;
}
.tab span {
  font-size: 0.75rem;
  display: inline-block;
}
.panel-group {
  /*min-height: 50vh;
	border:solid 8px #e7f7fb;*/
  border-top: 0;
  background: #fff;
}
.panel {
  display: none;
}
.tab.is-select {
  background: #333;
  color: #fff;
  font-weight: 700;
  transition: all 0.2s ease-out;
  /*font-size:1rem !important;*/
}
.panel.is-show {
  display: block;
}

@media (min-width: 1024px) {
  .tab {
    font-size: 1.125rem;
    text-align: center;
    /*padding:24px 8px 16px 8px;
		min-height: 96px;*/
  }
  .tab span {
    font-size: 1rem;
    display: block;
  }
  /*.tab.is-select{
		font-size:1.25rem !important;
	}*/
}

.contents_img a div.cel.ppl {
  background-image: linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%);
  background-image: linear-gradient(to top, #a7a6cb 0%, #8989ba 52%, #8989ba 100%);
  background-image: linear-gradient(to top, #d9afd9 0%, #97d9e1 100%);
  background-image: linear-gradient(120deg, #a6c0fe 0%, #f68084 100%);
  background-image: linear-gradient(to top, #9795f0 0%, #fbc8d4 100%);
}

.contents_img a div.cel.pnk {
  background-image: linear-gradient(120deg, #a6c0fe 0%, #f68084 100%);
}

.contents_img a div.cel.org {
  background-image: linear-gradient(120deg, #f6d365 0%, #fda085 100%);
  background-image: linear-gradient(-60deg, #ff5858 0%, #f09819 100%);
}

.contents_img a div.cel.yel {
  background-image: linear-gradient(60deg, #abecd6 0%, #fbed96 100%);
}

.contents_img a div.cel.lmn {
  background-image: linear-gradient(60deg, #64b3f4 0%, #c2e59c 100%); /*★*/
}

.contents_img a div.cel.grn {
  background-image: linear-gradient(60deg, #96deda 0%, #50c9c3 100%);
  background-image: linear-gradient(-225deg, #b7f8db 0%, #50a7c2 100%);
}

.contents_img a div.cel.blu {
  background-image: linear-gradient(to top, #48c6ef 0%, #6f86d6 100%);
  background-image: linear-gradient(to top, #a3bded 0%, #6991c7 100%);
  background-image: linear-gradient(to top, #accbee 0%, #e7f0fd 100%);
  background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);
}

.contents_img a div.cel.red {
  background-image: linear-gradient(-45deg, #ffc796 0%, #ff6b95 100%);
}

.contents_img a div.cel.nvy {
  background-image: linear-gradient(to top, #6a85b6 0%, #bac8e0 100%);
  background-image: linear-gradient(to top, #fff1eb 0%, #ace0f9 100%);
  background-image: linear-gradient(to top, #a3bded 0%, #6991c7 100%);
  background-image: linear-gradient(15deg, #13547a 0%, #80d0c7 100%);
  background-image: linear-gradient(-225deg, #cbbacc 0%, #2580b3 100%);
  background-image: linear-gradient(-225deg, #7085b6 0%, #87a7d9 50%, #def3f8 100%);
  background-image: linear-gradient(to top, #1e3c72 0%, #1e3c72 1%, #2a5298 100%); /*★*/
}

.contents_img a div.cel.pale {
  background-image: linear-gradient(to top, #e6e9f0 0%, #eef1f5 100%);
  background-image: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}

.bg-grade_ppl {
  background-image: linear-gradient(to top, #a18cd1 0%, #fbc2eb 100%);
  background-image: linear-gradient(to top, #a7a6cb 0%, #8989ba 52%, #8989ba 100%);
  background-image: linear-gradient(to top, #d9afd9 0%, #97d9e1 100%);
  background-image: linear-gradient(120deg, #a6c0fe 0%, #f68084 100%);
  background-image: linear-gradient(to top, #9795f0 0%, #fbc8d4 100%);
}

.bg-grade_pnk {
  background-image: linear-gradient(120deg, #a6c0fe 0%, #f68084 100%);
}

.bg-grade_org {
  background-image: linear-gradient(120deg, #f6d365 0%, #fda085 100%);
  background-image: linear-gradient(-60deg, #ff5858 0%, #f09819 100%);
}

.bg-grade_yel {
  background-image: linear-gradient(60deg, #abecd6 0%, #fbed96 100%);
}

.bg-grade_lmn {
  background-image: linear-gradient(60deg, #64b3f4 0%, #c2e59c 100%); /*★*/
}

.bg-grade_grn {
  background-image: linear-gradient(60deg, #96deda 0%, #50c9c3 100%);
  background-image: linear-gradient(-225deg, #b7f8db 0%, #50a7c2 100%);
}

.bg-grade_blu {
  background-image: linear-gradient(to top, #48c6ef 0%, #6f86d6 100%);
  background-image: linear-gradient(to top, #a3bded 0%, #6991c7 100%);
  background-image: linear-gradient(to top, #accbee 0%, #e7f0fd 100%);
  background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);
}

.bg-grade_red {
  background-image: linear-gradient(-45deg, #ffc796 0%, #ff6b95 100%);
}

.bg-grade_nvy {
  background-image: linear-gradient(to top, #6a85b6 0%, #bac8e0 100%);
  background-image: linear-gradient(to top, #fff1eb 0%, #ace0f9 100%);
  background-image: linear-gradient(to top, #a3bded 0%, #6991c7 100%);
  background-image: linear-gradient(15deg, #13547a 0%, #80d0c7 100%);
  background-image: linear-gradient(-225deg, #cbbacc 0%, #2580b3 100%);
  background-image: linear-gradient(-225deg, #7085b6 0%, #87a7d9 50%, #def3f8 100%);
  background-image: linear-gradient(to top, #1e3c72 0%, #1e3c72 1%, #2a5298 100%); /*★*/
}

.bg-grade_pale {
  background-image: linear-gradient(to top, #e6e9f0 0%, #eef1f5 100%);
  background-image: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
}

.bg-diagonal_25 {
  background-color: #fff;
  background-image: linear-gradient(125deg, rgba(255, 255, 255, 0) 25%, #f1f2f9 25%, #b6bfdf 100%);
}

.bg-diagonal_25_rev {
  background-color: #fff;
  background-image: linear-gradient(125deg, #f1f2f9 0%, #b6bfdf 25%, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0) 100%);
}

.bg-diagonal_50 {
  background-color: #fff;
  background-image: linear-gradient(125deg, rgba(255, 255, 255, 0) 50%, #f1f2f9 50%, #b6bfdf 100%);
}

#business div#te_pagetitle_area_static {
  background: url(/business/img/bg_solution.jpg) no-repeat;
  background-size: cover;
  background-position: center bottom;
}

#te_contents ul.process li {
  position: relative;
}

#te_contents ul.process li::after {
  position: absolute;
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  background: url(/common/cmn_img/icon/icon_arrow_down.svg) no-repeat;
  background-position: center;
  background-size: 100%;
  right: calc(50% -12px);
  bottom: -40px;
  transform: translateY(-50%);
}

@media (min-width: 1024px) {
  #te_contents ul.process li::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url(/common/cmn_img/icon/icon_arrow_right.svg) no-repeat;
    background-position: center;
    background-size: 100%;
    right: -24px;
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
  }
}

#te_contents ul.process li.last::after {
  display: none;
}

/*#te_contents .contact {
  background: url(/common/cmn_img/bg_footer.jpg) no-repeat;
  background-size: cover;
  background-position: center 40%;
}*/

.picframe01 {
  padding: 1.5rem;
  margin: 6px;
  outline: 2px solid #d5deee;
  outline-offset: 4px;
  /*background: linear-gradient(-45deg, transparent 0 24px, #fff 24px calc(100% - 24px), transparent calc(100% - 24px)), repeating-linear-gradient(-45deg, #d5deee 0 2px, #fff 2px 4px);*/
  background: linear-gradient(-45deg, transparent 0 24px, #fff 24px calc(100% - 24px), transparent calc(100% - 24px)), linear-gradient(-45deg, #d5deee 0 50%, #d5deee 50% 100%);
}

.picframe02 {
  padding: 0 1.5rem;
  margin: 4px;
  outline: 2px solid #fff;
  outline-offset: 4px;
  background: linear-gradient(-45deg, transparent 0 12px, #fff 12px calc(100% - 12px), transparent calc(100% - 12px)), linear-gradient(-45deg, #d5deee 0 50%, #d5deee 50% 100%);
}
