@charset "utf-8";
/* ==========================
  下層ページ
========================== */
/*タイトル*/
.ttl {
 font-size: 13px;
 color: #fff;
 display: flex;
 align-items: center;
 letter-spacing: 2px;
}
.ttl::before {
 content: attr(data-title);
 font-family: "Roboto", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: bold;
 font-variation-settings:
  "wdth"100;
 display: inline-block;
 margin-right: 20px;
 font-size: 40px;
 letter-spacing: 6px;
}
.ttl_outer {
 position: absolute;
 top: 50%;
 left: 62px;
 transform: translateY(-50%);
}
/*メイン*/
.l_second_main {
 position: relative; /* 子要素（ttl_outer）の基準にする */
 width: 100%;
 height: 100vh; /* ブラウザの高さいっぱい */
 overflow: hidden;
}
/* 画像を画面いっぱいに広げる */
.second_main_img {
 width: 100%;
 height: 100%; /* 親要素の高さに合わせる */
 margin: 0; /* デフォルトの余白をリセット */
}
.second_main_img img {
 width: 100%;
 height: 100%;
 object-fit: cover; /* 比率を保って隙間なく表示 */
 display: block;
}
@media screen and (max-width: 767px) {
 .ttl {
  font-size: 2.6vw;
 }
 .ttl::before {
  margin-right: 2.6vw;
  font-size: 6.13vw;
 }
 .ttl_outer {
  left: 4.8vw;
 }
 /*メイン*/
 .l_second_main {
  height: 177.8vw;
 }
}
/* ==========================
  外部リンク
========================== */
.out {}
.out a {
 color: #5F5F5F;
 position: relative;
 border-bottom: #5F5F5F 1px solid;
 padding: 0 35px 8px 5px;
}
.out a::after {
 content: "";
 position: absolute;
 right: 10px;
 top: 50%;
 transform: translateY(-70%);
 width: 16px;
 height: 14px;
 background: url("../images/common/link_b.svg") no-repeat center / contain;
}
@media screen and (max-width: 767px) {
 .out {}
 .out a {
  color: #5F5F5F;
  position: relative;
  border-bottom: #5F5F5F 1px solid;
  padding: 0 35px 8px 5px;
  font-size: 3.7vw;
 }
 .out a::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-70%);
  width: 16px;
  height: 14px;
  background: url("../images/common/link_b.svg") no-repeat center / contain;
 }
}
/* ==========================
  会社概要
========================== */
.l_shop {
 background: #F0EEE7;
 padding: 84px 0;
}
.l_shop_inner {
 width: 1100px;
 margin: 0 auto 105px auto;
 display: flex;
 text-align: left;
}
.l_shop_inner:last-child {
 margin: 0 auto 40px auto;
}
.sttl_outer {
 width: 220px;
}
.sttl_outer .sttl {
 font-size: 13px;
 color: #172E59;
 line-height: 1.5;
 letter-spacing: 2px;
}
.sttl_outer .sttl::before {
 content: attr(data-title);
 font-family: "Roboto", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: bold;
 font-variation-settings:
  "wdth"100;
 display: block;
 font-size: 25px;
 letter-spacing: 5px;
}
.l_shop_data {
 width: 880px;
 text-align: left;
}
.l_shop_data table {
 width: 100%;
 line-height: 1.5;
 letter-spacing: 1px;
}
.l_shop_data th {
 width: 150px;
 padding: 20px 5px;
 font-weight: 500;
 color: #000000;
 border-bottom: #E28B3C 1px solid;
}
.l_shop_data td {
 width: 730px;
 padding: 20px 5px;
 font-weight: 400;
 color: #000000;
 border-bottom: #D9D9D9 1px solid;
}
.l_shop_data td a {
 text-decoration: underline;
 position: relative;
 padding-right: 23px;
}
.l_shop_data td a::after {
 content: "";
 position: absolute;
 right: 0;
 top: 8px;
 width: 16px;
 height: 14px;
 background: url("../images/common/link_b.svg") no-repeat center / contain;
}
.access_case_ttl {
 font-weight: 500;
 margin-bottom: 10px;
}
.access_case_txt {
 margin-bottom: 30px;
}
.l_gmap {
 width: 700px;
 height: 260px;
 margin-bottom: 10px;
}
.l_shop_data td .footer_map {
 display: none;
}
@media screen and (max-width: 767px) {
 .l_shop {
  padding: 8.8vw 0 0.5vw 0;
 }
 .l_shop_inner {
  width: auto;
  margin: 0 5.3vw 16vw 5.3vw;
  display: block;
 }
 .l_shop_inner:last-child {
  margin: 0 5.3vw 105px 5.3vw;
 }
 .sttl_outer {
  width: auto;
  margin-bottom: 8vw;
 }
 .sttl_outer .sttl {
  font-size: 3.73vw;
 }
 .sttl_outer .sttl::before {
  display: inline-block;
  font-size: 6.4vw;
  margin-right: 3vw;
 }
 .l_shop_data {
  width: 100%;
 }
 .l_shop_data th {
  width: 36.26vw;
  padding: 6.4vw 0;
  font-size: 3.73vw;
 }
 .l_shop_data td {
  width: 53vw;
  padding: 6.4vw 0;
  font-size: 3.46vw;
  font-feature-settings: "palt";
 }
 .l_shop_data td a {
  text-decoration: underline;
  position: inherit;
  padding-right: 23px;
 }
.l_shop_data td a::after {
 content: "";
  display: inline-block; 
  vertical-align: middle; 
  margin-left: 4px;
  width: 16px;
  height: 14px;
  background: url("../images/common/link_b.svg") no-repeat center / contain;
	position: inherit;
}
	
	
	
 .l_shop_data td .ic_map {
  width: 9px;
  height: 15px;
  background: url("../images/common/ic_map_b.svg") no-repeat center / contain;
  flex-shrink: 0;
  display: inline-block;
 }
 .access_case_ttl {
  font-weight: 500;
  margin-bottom: 10px;
 }
 .access_case_txt {
  margin-bottom: 4.8vw;
 }
 .access_case_txt:last-of-type {
  margin-bottom: 0;
 }
 .l_gmap {
  display: none;
 }
 .l_shop_data td .footer_map {
  margin-top: 2vw;
  color: #172E59;
 }
 .l_shop_data td .map_txt {
  color: #172E59;
  border-bottom: 1px solid #172E59;
  padding-bottom: 1px;
 }
 .l_shop_data td .footer_map {
  display: block;
 }
}
/* ==========================
  わたしたちについて
========================== */
.l_concept_read {
 background: url("../images/concept/img_concept_1.jpg") no-repeat center center;
 background-size: cover;
 padding: 198px 0 0 0;
 position: relative;
 height: 920px;
 text-align: left;
}
/*
.l_concept_read::after {
 content: "";
 position: absolute;
 inset: 0;
 background: rgba(0, 0, 0, 0.3);
 pointer-events: none; 
}*/
.l_concept_read > * {
 position: relative;
 z-index: 1;
}
.l_concept_read_wrapper {
 width: 1091px;
 margin: 0 auto;
 position: relative;
 display: flex;
 justify-content: space-between;
}
.l_concept_read_inner {
 width: 550px;
 color: #fff;
}
.m_concept_read_sttl {
 font-size: 21px;
 font-weight: 500;
 margin-bottom: 50px;
 letter-spacing: 2px;
 padding-top: 30px;
}
.m_concept_read_txt {
 font-size: 14px;
 margin-bottom: 26px;
 letter-spacing: 1px;
}
.m_concept_read_ttl {
 writing-mode: vertical-rl;
 text-orientation: mixed;
 font-size: 28px; /* 適宜調整 */
 line-height: 2;
 color: #fff;
 width: 92px;
 height: 550px;
 padding-top: 2em;
 order: 2;
 letter-spacing: 2px;
}
/* 「あなたと考える」が を2文字分上へ */
.ttl_lead {
 display: inline-block;
 transform: translateY(-2em);
}
/*強み*/
.l_strengths {
 background: #F0EEE7;
 padding: 112px 0 178px 0;
}
.l_strengths_inner {
 width: 1100px;
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
}
.strengths_img {
 width: 541px;
 order: 1;
}
.strengths_tbox {
 width: 455px;
 text-align: left;
 order: 2;
 padding-top: 70px;
}
.strengths_en {
 font-size: 13px;
 font-family: "Roboto", sans-serif;
 font-optical-sizing: auto;
 font-weight: 500;
 font-style: normal;
 font-variation-settings:
  "wdth"100;
 margin-bottom: 20px;
 letter-spacing: 1px;
}
.strengths_ttl {
 font-size: 21px;
 color: #172E59;
 font-weight: 500;
 margin-bottom: 40px;
 letter-spacing: 1px;
}
.strengths_txt {
 width: 450px;
 font-size: 14px;
 line-height: 2;
 margin-bottom: 2em;
 color: #000000;
 letter-spacing: 1px;
}
/*特徴*/
.l_feautures {
 padding: 156px 0 120px 0;
}
.l_feautures_inner {
 width: 1100px;
 margin: 0 auto;
 display: flex;
 justify-content: space-between;
}
.feautures_img {
 width: 480px;
 height: auto;
 display: block !important;
}
.feautures_img_sp {
 display: none !important;
}
.feautures_img img {
 width: 480px;
 height: auto;
 object-fit: contain;
}


.feautures_tbox {
 width: 552px;
 line-height: 1.6;
}
.l_feautures .sttl_outer {
 width: 265px;
 margin: 0 auto 80px auto;
}
.l_feautures .sttl_outer .sttl {
 font-size: 21px;
 color: #172E59;
 line-height: 1.5;
 letter-spacing: 0;
 font-weight: 500;
}
.l_feautures .sttl_outer .sttl::before {
 content: attr(data-title);
 font-family: "Roboto", sans-serif;
 font-optical-sizing: auto;
 font-weight: 500;
 font-style: bold;
 font-variation-settings:
  "wdth"100;
 display: block;
 font-size: 13px;
 letter-spacing: 1px;
 margin-bottom: 10px;
}
/*アコーディオン*/
/* ベーススタイル */
.accordion-container {
 max-width: 552px;
 margin: 0 auto;
 border-top: 1px solid #D9D9D9;
}
.accordion-item {
 border-bottom: 1px solid #D9D9D9;
}
/* ヘッダー */
.accordion-header {
 display: flex;
 align-items: center;
 padding: 18px 10px;
 cursor: pointer;
 list-style: none;
 position: relative;
}
.accordion-header::-webkit-details-marker {
 display: none;
}
/* 番号とタイトル */
.accordion-container .number {
 font-size: 20.5px;
 color: #1a355e;
 margin-right: 20px;
 min-width: 32px;
 font-family: "Roboto", sans-serif;
 font-optical-sizing: auto;
 font-weight: 400;
 font-style: normal;
 font-variation-settings:
  "wdth"100;
 letter-spacing: 0.05em;
}
.accordion-container .title {
 font-size: 18px;
 color: #1a355e;
 letter-spacing: 0.05em;
}
/* アイコン (+ / -) */
.accordion-header::after, .accordion-header::before {
 content: "";
 position: absolute;
 right: 15px;
 width: 11px;
 height: 1px; /* 繊細な印象にするため少し細めに */
 background-color: #1a355e;
 transition: transform 0.4s ease;
}
.accordion-header::before {
 transform: rotate(90deg);
}
.accordion-item[open] .accordion-header::before {
 transform: rotate(0deg);
}
/* コンテンツ（開閉アニメーション） */
.accordion-content {
 overflow: hidden;
}
.content-inner {
 padding: 0 10px 30px 13px;
 text-align: left;
 line-height: 1.8;
 color: #333;
 font-size: 15px;
 /* フェードアニメーションの設定 */
 animation: slowFadeIn 0.8s ease-out forwards;
}
@keyframes slowFadeIn {
 from {
  opacity: 0;
  transform: translateY(-10px);
 }
 to {
  opacity: 1;
  transform: translateY(0);
 }
}
@media screen and (max-width: 767px) {
 .l_concept_read {
  background: url("../images/concept/img_concept_1.jpg") no-repeat 64% center;
  background-size: cover;
  padding: 20vw 0 0 0;
  position: relative;
  height: 235vw;
  text-align: left;
 }
 /*
.l_concept_read::after {
 content: "";
 position: absolute;
 inset: 0;
 background: rgba(0, 0, 0, 0.3);
 pointer-events: none; 
}*/
 .l_concept_read > * {
  position: relative;
  z-index: 1;
 }
 .l_concept_read_wrapper {
  width: auto;
  margin: 0 6.6vw;
  position: relative;
  display: block;
 }
 .l_concept_read_inner {
  width: auto;
  color: #fff;
 }
 .m_concept_read_sttl {
  font-size: 4vw;
  margin-bottom: 6.6vw;
  letter-spacing: 2px;
  padding-top: 8vw;
 }
 .m_concept_read_txt {
  font-size: 3.2vw;
  margin-bottom: 4vw;
  letter-spacing: 1px;
  line-height: 1.7;
 }
 .m_concept_read_ttl {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 5.33vw; /* 適宜調整 */
  line-height: 2;
  color: #fff;
  width: 30vw;
  height: 68vw;
  padding-top: 0;
  order: 2;
  letter-spacing: 2px;
  margin: 0 auto;
  transform: translateX(1vw);
 }
 /* 「あなたと考える」が を2文字分上へ */
 .ttl_lead {
  display: inline-block;
  transform: translateY(-0.5em);
 }
 /*強み*/
 .l_strengths {
  padding: 17.3vw 0 17.3vw;
 }
 .l_strengths_inner {
  width: auto;
  margin: 0 5.3vw;
  display: block;
 }
 .strengths_img {
  width: auto;
 }
 .strengths_tbox {
  width: auto;
  text-align: center;
  margin-bottom: 8vw;
 }
 .strengths_en {
  font-size: 2.6vw;
  margin-bottom: 3vw;
  line-height: 1;
 }
 .strengths_ttl {
  font-size: 5vw;
  margin-bottom: 13vw;
  line-height: 1.6;
  letter-spacing: 2px;
 }
 .strengths_txt {
  width: auto;
  font-size: 3.2vw;
  line-height: 2;
  margin-bottom: 2em;
  text-align: left;
  letter-spacing: 1px;
 }
 /*特徴*/
 .l_feautures {
  padding: 11.7vw 0;
 }
 .l_feautures_inner {
  width: auto;
  margin: 0 5.3vw;
  display: block;
 }
 .feautures_img {
  width: auto;
  margin: 0 5.3vw 8vw 5.3vw;
  height: 61.3vw;
 }
 .feautures_img_pc {
  display: none !important;
 }
 .feautures_img_sp {
  display: block !important;
 }
 .feautures_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
 }
 .feautures_tbox {
  width: auto;
  line-height: 1.6;
 }
 .l_feautures .sttl_outer {
  width: auto;
  margin: 0 auto 9vw auto;
 }
 .l_feautures .sttl_outer .sttl {
  font-size: 5vw;
  color: #172E59;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 500;
 }
 .l_feautures .sttl_outer .sttl::before {
  display: block;
  font-size: 2.6vw;
  margin-bottom: 3.7vw;
 }
 /*アコーディオン*/
 /* ベーススタイル */
 .accordion-container {
  max-width: 552px;
  margin: 0 auto;
  border-top: 1px solid #D9D9D9;
 }
 .accordion-item {
  border-bottom: 1px solid #D9D9D9;
 }
 /* ヘッダー */
 .accordion-header {
  display: flex;
  align-items: center;
  padding: 18px 10px;
  cursor: pointer;
  list-style: none;
  position: relative;
 }
 .accordion-header::-webkit-details-marker {
  display: none;
 }
 /* 番号とタイトル */
 .accordion-container .number {
  font-size: 20.5px;
  color: #1a355e;
  margin-right: 20px;
  min-width: 32px;
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings:
   "wdth"100;
  letter-spacing: 0.05em;
 }
 .accordion-container .title {
  font-size: 18px;
  color: #1a355e;
  letter-spacing: 0.05em;
 }
 /* アイコン (+ / -) */
 .accordion-header::after, .accordion-header::before {
  content: "";
  position: absolute;
  right: 15px;
  width: 11px;
  height: 1px; /* 繊細な印象にするため少し細めに */
  background-color: #1a355e;
  transition: transform 0.4s ease;
 }
 .accordion-header::before {
  transform: rotate(90deg);
 }
 .accordion-item[open] .accordion-header::before {
  transform: rotate(0deg);
 }
 /* コンテンツ（開閉アニメーション） */
 .accordion-content {
  overflow: hidden;
 }
 .content-inner {
  padding: 0 10px 30px 13px;
  text-align: left;
  line-height: 1.8;
  color: #333;
  font-size: 15px;
  /* フェードアニメーションの設定 */
  animation: slowFadeIn 0.8s ease-out forwards;
 }
 /*アコーディオン*/
 .accordion-header {
  padding: 4vw 5px;
 }
 .accordion-container .number {
  font-size: 4.2vw;
  margin-right: 15px;
 }
 .accordion-container .title {
  font-size: 3.7vw;
 }
 .content-inner {
  padding-left: 52px;
  font-size: 3.2vw;
 }
}
/* ==========================
  家づくりの流れ
========================== */
/* ベースの装飾 */
.l_procedure {
 background-color: #F0EEE7;
 padding: 123px 0;
}
.l_procedure_detail {
 max-width: 1100px;
 margin: 0 auto 90px;
 position: relative;
 text-align: left;
}
.l_procedure_detail:last-child {
 margin: 0 auto 0;
}
.l_procedure_detail_inner {
 padding-left: 90px;
}
/* STEPのライン */
.procedure_step {
 font-size: 13px;
 letter-spacing: 0.1em;
 display: flex;
 align-items: center;
 margin-bottom: 20px;
}
.procedure_step::after {
 content: "";
 flex-grow: 1;
 height: 1px;
 background-color: #172E59;
 margin-left: 20px;
}
/* タイトル */
.procedure_ttl {
 font-size: 21px;
 margin-bottom: 30px;
 letter-spacing: 0.05em;
}
/* PCレイアウト */
@media (min-width: 769px) {
 .m_procedure_detail {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 画像とテキストを半分ずつ */
  column-gap: 50px;
  align-items: start;
 }
 .procedure_step, .procedure_ttl {
  grid-column: 1 / 3; /* タイトル類は全幅 */
 }
 .procedure_img {
  width: 400px;
 }
 .procedure_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
 }
 .procedure_tbox {
  width: 550px;
 }
}
/* テキストボックス内の装飾 */
.procedure_t {
 position: relative;
 padding-left: 32px;
 margin-bottom: 40px;
}
/* リストの○とドット線 */
.procedure_t::before {
 content: "";
 position: absolute;
 left: 0;
 top: 15px;
 width: 10px;
 height: 10px;
 border: 1px solid #172E59;
 border-radius: 50%;
 background: transparent;
}
/* 最後の要素以外にドットの縦線を引く */
.procedure_t::after {
 content: "";
 position: absolute;
 left: 4px;
 top: 50px;
 bottom: -15px;
 border-left: 1px dotted #172E59;
}
.procedure_sttl {
 font-size: 21px;
 font-weight: 500;
 margin-bottom: 15px;
 line-height: 1.8;
 letter-spacing: 1px;
}
.procedure_txt {
 width: 515px;
 font-size: 14px;
 line-height: 1.8;
 text-align: justify;
 letter-spacing: 0.5px;
 padding-top: 0.5em;
}
/* スマホレイアウト (添付「スマホ.jpg」の再現) */
@media (max-width: 768px) {
 .l_procedure {
  padding: 12vw 5.3vw;
 }
 .l_procedure_detail {
  max-width: 100%;
  margin: 0 auto 15vw;
 }
 .l_procedure_detail_inner {
  padding-left: 0;
 }
 .procedure_step {
  margin-bottom: 2vw;
 }
 .procedure_step::after {
  content: "";
  flex-grow: 1;
  height: 0;
  background-color: none;
  margin-left: 0;
 }
 .procedure_ttl {
  font-size: 5vw;
  margin-bottom: 2.6vw;
 }
 .procedure_img {
  margin-bottom: 5vw;
 }
 .procedure_img img {
  width: 100%;
  height: auto;
 }
 .procedure_sttl {
  font-size: 3.73vw;
 }
 .procedure_txt {
  width: auto;
  font-size: 3.2vw;
  line-height: 1.8;
  padding-right: 3vw;
 }
 .procedure_t {
  margin-bottom: 10vw;
  padding-left: 7vw;
 }
 .procedure_t::before {
  top: 2.7vw;
 }
 .procedure_t:not(:last-child)::after {
  bottom: -20px;
 }
}
/* ==========================
プライバシーポリシー
========================== */
.privacy {
 background: #F0EEE7;
}
.privacy .l_second_main {
 position: relative;
 width: 100%;
 height: 160px;
 overflow: hidden;
 margin-bottom: 90px;
}
.privacy .ttl_outer {
 bottom: 0;
 top: inherit;
 transform: none;
}
.privacy .ttl {
 color: #172E59;
 line-height: 1;
}
.privacy #g-nav-main li a {
 color: #172E59;
}
.privacy .gnavi__list:last-child a::after {
 background: url("../images/common/link_n.svg") no-repeat center / contain;
}
.privacy .openbtn {
 color: #172E59;
}
.privacy .openbtn span {
 background-color: #172E59;
}
.l_privacy {
 width: 1100px;
 margin: 0 auto;
 text-align: left;
}
.ttl_privacy_box {
 margin-bottom: 90px;
}
.privacy_ttl {
 font-size: 26px;
 font-weight: 500;
 margin-bottom: 20px;
 letter-spacing: 1px;
}
.privacy_read {
 font-size: 14px;
 letter-spacing: 1px;
 color: #000;
}
.privacy_detail {
 letter-spacing: 0.5px;
}
.m_privacy {
 margin-bottom: 80px;
}
.sttl_privacy {
 font-size: 18px;
 font-weight: 500;
 border-bottom: #ACACAC 1px solid;
 margin-bottom: 20px;
 padding-bottom: 20px;
}
.privacy_txt {
 font-size: 14px;
 color: #000;
}
.privacy_list_a {
 padding-left: 1.4em;
}
.privacy_list_a li {
 list-style: inside lower-alpha;
 color: #000;
 margin-left: 1.2em;
 text-indent: -1.2em;
}
.privacy_data {
 text-align: right;
 padding-top: 80px;
 color: #000;
 font-size: 14px;
}
.terminology {
 position: relative;
 padding-left: 35px;
 margin: 25px 0;
 color: #000;
}
.terminology dt {
 font-weight: 500;
}
.terminology::after {
 content: "";
 position: absolute;
 left: 4px;
 top: 0;
 bottom: -5px;
 border-left: 1px dotted #172E59;
}
.privacy_at {
 color: #000;
 font-size: 14px;
 margin-top: 25px;
}
@media screen and (max-width: 767px) {
 .l_privacy {
  background: #F0EEE7;
  padding: 0 5.3vw 0 5.3vw;
  width: auto;
 }
 .privacy .l_second_main {
  position: relative;
  width: 100%;
  height: 30vw;
  overflow: hidden;
  margin-bottom: 12vw;
 }
 .privacy .ttl_outer {
  bottom: 0;
  top: inherit;
  transform: none;
 }
 .privacy .ttl {
  color: #172E59;
  line-height: 1;
  display: block;
  text-align: left;
 }
 .ttl::before {
  display: block;
  margin-bottom: 2vw;
 }
 .privacy .openbtn {
  color: #172E59;
 }
 .privacy .openbtn span {
  background-color: #172E59;
 }
 .ttl_privacy_box {
  margin-bottom: 14vw;
 }
 .privacy_ttl {
  font-size: 3.73vw;
  margin-bottom: 5vw;
 }
 .privacy_read {
  font-size: 3.2vw;
 }
 .privacy_detail {
  letter-spacing: 0.5px;
 }
 .m_privacy {
  margin-bottom: 16vw;
 }
 .sttl_privacy {
  font-size: 3.73vw;
  margin-bottom: 4.5vw;
  padding-bottom: 4.5vw;
 }
 .privacy_txt {
  font-size: 3.2vw;
 }
 .privacy_list_a {
  padding-left: 1em;
 }
 .privacy_list_a li {
  list-style: inside lower-alpha;
  color: #000;
  margin-left: 1.2em;
  text-indent: -1.2em;
  font-size: 3.2vw;
 }
 .privacy_data {
  padding-top: 10vw;
  font-size: 3.2vw;
 }
 .terminology {
  position: relative;
  padding-left: 8vw;
  margin: 4vw 0;
  color: #000;
  font-size: 3.2vw;
 }
 .terminology dt {
  font-weight: 500;
 }
 .terminology::after {
  content: "";
  position: absolute;
  left: 3vw;
  top: 0;
  bottom: -5px;
  border-left: 1px dotted #172E59;
 }
 .privacy_at {
  font-size: 3.2vw;
  margin-top: 4vw;
 }
}
/* ==========================
  お問い合わせ
========================== */
.contact {
 background: #F0EEE7;
}
.contact .l_second_main {
 position: relative;
 width: 100%;
 height: 160px;
 overflow: hidden;
 margin-bottom: 90px;
}
.contact .ttl_outer {
 bottom: 0;
 top: inherit;
 transform: none;
}
.contact .ttl {
 color: #172E59;
 line-height: 1;
}
.contact #g-nav-main li a {
 color: #172E59;
}
.contact .gnavi__list:last-child a::after {
 background: url("../images/common/link_n.svg") no-repeat center / contain;
}
.contact .openbtn {
 color: #172E59;
}
.contact .openbtn span {
 background-color: #172E59;
}
.l_contact {
 width: 1100px;
 margin: 0 auto;
 background: #fff;
 padding: 80px 0;
 margin-bottom: 140px;
}
.l_contact #form-wrapper {
 width: 594px;
 margin: 0 auto;
 text-align: left;
}
@media screen and (max-width: 767px) {
 .contact .l_contact {
  padding: 0 5.3vw 0 5.3vw;
  width: 89.3vw;
  margin: 0 auto;
  padding: 0 0 10vw 0;
  margin-bottom: 140px;
 }
 .l_contact #form-wrapper {
  width: auto;
  margin: 0 auto;
  text-align: left;
  padding: 6.6vw 5.3vw;
 }
 .contact .l_second_main {
  position: relative;
  width: 100%;
  height: 30vw;
  overflow: hidden;
  margin-bottom: 12vw;
 }
 .contact .ttl_outer {
  bottom: 0;
  top: inherit;
  transform: none;
 }
 .contact .ttl {
  color: #172E59;
  line-height: 1;
 }
 .contact .openbtn {
  color: #172E59;
 }
 .contact .openbtn span {
  background-color: #172E59;
 }
}
/* ==========================
  無料相談会
========================== */
.consultation {}
.l_con_read {
 background: #fff;
 padding: 80px 0 95px 0;
}
.l_con_read_inner {
 width: 1100px;
 margin: 0 auto;
 text-align: center;
}
.ttl_con_read {
 font-size: 21px;
 font-weight: 500;
 margin-bottom: 30px;
 letter-spacing: 3px;
}
.ttl_con_txt {
 font-size: 14px;
 font-weight: 500;
 margin-bottom: 30px;
 letter-spacing: 1px;
}
.l_con_read .l_event_ttl_r {
 margin-top: 45px;
}
.ttl_flow {
 text-align: center;
}
.ttl_flow.sttl_outer {
 width: 265px;
 margin: 0 auto 80px auto;
}
.ttl_flow.sttl_outer .sttl {
 font-size: 21px;
 color: #172E59;
 line-height: 1.5;
 letter-spacing: 3px;
 font-weight: 500;
}
.ttl_flow.sttl_outer .sttl::before {
 content: attr(data-title);
 font-family: "Roboto", sans-serif;
 font-optical-sizing: auto;
 font-weight: 500;
 font-style: bold;
 font-variation-settings:
  "wdth"100;
 display: block;
 font-size: 13px;
 letter-spacing: 1px;
 margin-bottom: 10px;
}
.more_detail {
 margin-top: 65px;
 background: #E7E3DA;
 display: flex;
 justify-content: space-between;
 align-items: center;
}
.more_detail_l {
 width: 568px;
 padding: 0 50px 0 60px;
 box-sizing: border-box;
 order: 1;
}
.more_detail_r {
 width: 356px;
 order: 2;
}
.ttl_more_detail {
 font-size: 21px;
 font-weight: 500;
 margin-bottom: 30px;
 letter-spacing: 2px;
}
.more_detail_txt {
 font-size: 14px;
 letter-spacing: 1px;
}
.more_detail_txt a {
 text-decoration: underline;
 color: #172E59;
}
.consultation .l_form_inner {
 width: 100%;
}
.consultation #form-wrapper {
 width: 595px;
 margin: 0 auto;
}
.l_event_ttl_r2 {
 text-align: right;
 margin: -25px 0 35px 0;
}
@media screen and (max-width: 767px) {
 .consultation {}
 .consultation .ttl {
  font-size: 13px;
  color: #fff;
  display: block;
  text-align: left;
  letter-spacing: 2px;
  line-height: 1.4;
 }
 .consultation .ttl::before {
  margin-bottom: 0;
 }
 .l_con_read {
  background: #fff;
  padding: 14.6vw 0 16vw 0;
 }
 .l_con_read_inner {
  width: auto;
  margin: 0 auto;
  text-align: center;
 }
 .ttl_con_read {
  font-size: 5vw;
  margin-bottom: 9vw;
  letter-spacing: 3px;
 }
 .ttl_con_txt {
  font-size: 3.2vw;
  margin-bottom: 9vw;
  letter-spacing: 1px;
  padding: 0 5vw;
 }
 .l_con_read .l_event_ttl_r {
  margin-top: 10vw;
 }
 .ttl_flow {
  text-align: center;
 }
 .ttl_flow.sttl_outer {
  width: auto;
  margin: 0 auto 13.3vw auto;
 }
 .ttl_flow.sttl_outer .sttl {
  font-size: 5vw;
  line-height: 1.5;
  letter-spacing: 3px;
 }
 .ttl_flow.sttl_outer .sttl::before {
  font-size: 2.66vw;
  letter-spacing: 1px;
  margin-bottom: 2vw;
 }
 .more_detail {
  margin-top: 12vw;
  display: block;
  padding: 2.66vw;
 }
 .more_detail_l {
  width: 100%;
  padding: 3vw;
 }
 .more_detail_r {
  width: 100%;
  margin-bottom: 4vw;
 }
 .ttl_more_detail {
  font-size: 3.77vw;
  margin-bottom: 4vw;
  letter-spacing: 2px;
 }
 .more_detail_txt {
  font-size: 3.2vw;
  line-height: 2;
 }
 .more_detail_txt a {
  text-decoration: underline;
  color: #172E59;
 }
 .consultation .l_form_inner {
  width: 100%;
 }
 .consultation #form-wrapper {
  width: auto;
 }
 .l_con_read .l_event_ttl_r .page_ulink .btn_r {
  padding: 0 12vw 2vw 12vw;
  font-size: 3.2vw;
 }
 .l_event_ttl_r2 {
  margin: -5vw 0 10vw 0;
 }
 .l_event_ttl_r2 .page_ulink .btn_r {
  padding: 0 12vw 2vw 12vw;
  font-size: 3.2vw;
 }
}
/* ==========================
  保証とメンテナンス
========================== */
.guarantee {}
.l_con_read_guarantee {
 display: flex;
 justify-content: space-between;
 margin-bottom: 30px;
}
.l_con_read_guarantee .ttl_con_read {
 font-size: 21px;
 font-weight: 500;
 margin-bottom: 30px;
 letter-spacing: 3px;
 width: 320px;
 text-align: left;
}
.l_con_read_guarantee .ttl_con_txt {
 font-size: 14px;
 font-weight: 500;
 margin-bottom: 30px;
 letter-spacing: 1px;
 width: 780px;
 text-align: left;
}
.con_list {
 display: flex;
 justify-content: center; /* 中央寄せ */
 align-items: center;
 gap: 84px; /* 項目間の余白 */
 list-style: none;
 padding: 0;
}
.con_list li {
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
 /* サイズ調整 */
 min-width: 280px; /* 1つあたりの最小横幅 */
 height: 70px; /* 括弧の高さ */
 width: 312px;
 /* テキストスタイル */
 color: #172E59; /* 濃紺 */
 font-weight: 500;
 font-size: 21px;
 letter-spacing: 0.05em;
 white-space: nowrap;
}
/* 左側のカギ括弧 [ */
.con_list li::before {
 content: "";
 position: absolute;
 left: 0;
 top: 0;
 width: 9px; /* カギの横棒の長さ */
 height: 100%; /* 縦の長さ */
 border-left: 1px solid #172E59;
 border-top: 1px solid #172E59;
 border-bottom: 1px solid #172E59;
}
/* 右側のカギ括弧 ] */
.con_list li::after {
 content: "";
 position: absolute;
 right: 0;
 top: 0;
 width: 9px; /* カギの横棒の長さ */
 height: 100%; /* 縦の長さ */
 border-right: 1px solid #172E59;
 border-top: 1px solid #172E59;
 border-bottom: 1px solid #172E59;
}
.l_guarantee_detail {
 width: 1100px;
 margin: 0 auto 80px auto;
}
.m_guarantee_list {
 display: flex;
 justify-content: space-between;
 margin-bottom: 55px;
}
.m_guarantee_img {
 width: 330px;
}
.m_guarantee_tbox {
 width: 724px;
}
.m_guarantee_titbox {
 display: flex;
 align-items: center;
 margin-bottom: 20px;
}
.m_guarantee_tit {
 font-size: 21px;
 font-weight: 500;
 color: #172E59;
 margin-right: 10px;
 letter-spacing: 2px;
}
.m_guarantee_stit {
 font-size: 13px;
 background: #172E59;
 color: #fff;
 font-weight: 400;
 height: 23px;
 display: flex;
 justify-content: center;
 align-items: center;
 line-height: 1;
 padding: 0 18px 2px 18px;
 letter-spacing: 2px;
}
.m_guarantee_txt {
 font-size: 14px;
 color: #000000;
 letter-spacing: 1px;
}
.m_guarantee_at {
 font-size: 12px;
 color: #000000;
 letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
 .guarantee .ttl {
  font-size: 13px;
  color: #fff;
  display: flex;
  text-align: left;
  letter-spacing: 2px;
  line-height: 1.4;
 }
 .guarantee .ttl::before {
  margin-bottom: 0;
 }
 .l_con_read {
  background: #fff;
  padding: 14.6vw 0 16vw 0;
 }
 .l_con_read_inner {
  width: auto;
  margin: 0 5.3vw;
  text-align: center;
 }
 .l_con_read_guarantee {
  display: block;
  margin-bottom: 11vw;
 }
 .l_con_read_guarantee .ttl_con_read {
  font-size: 5vw;
  margin-bottom: 12vw;
  width: auto;
 }
 .l_con_read_guarantee .ttl_con_txt {
  font-size: 3.7vw;
  margin-bottom: 0;
  letter-spacing: 1px;
  width: auto;
  text-align: left;
  padding: 0;
 }
 .con_list {
  display: block;
  justify-content: center; /* 中央寄せ */
  align-items: center;
  gap: 0; /* 項目間の余白 */
  list-style: none;
  padding: 0;
 }
 .con_list li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  /* サイズ調整 */
  min-width: 280px; /* 1つあたりの最小横幅 */
  height: 15vw; /* 括弧の高さ */
  width: 100%;
  /* テキストスタイル */
  color: #172E59; /* 濃紺 */
  font-weight: 500;
  font-size: 4.8vw;
  letter-spacing: 0.05em;
  white-space: nowrap;
 }
 .con_list li + li {
  margin-top: 8vw;
 }
 /* 左側のカギ括弧 [ */
 .con_list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 2.4vw; /* カギの横棒の長さ */
  height: 100%; /* 縦の長さ */
  border-left: 1px solid #172E59;
  border-top: 1px solid #172E59;
  border-bottom: 1px solid #172E59;
 }
 /* 右側のカギ括弧 ] */
 .con_list li::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 2.4vw; /* カギの横棒の長さ */
  height: 100%; /* 縦の長さ */
  border-right: 1px solid #172E59;
  border-top: 1px solid #172E59;
  border-bottom: 1px solid #172E59;
 }
 .guarantee .procedure_step::after {
  content: "";
  flex-grow: 1;
  height: 1px;
  background-color: #172E59;
  margin-left: 20px;
 }
 .l_guarantee_detail {
  width: auto;
  margin: 0 auto 80px auto;
 }
 .m_guarantee_list {
  display: block;
  margin-bottom: 17vw;
 }
 .m_guarantee_img {
  width: auto;
 }
 .m_guarantee_tbox {
  width: auto;
 }
 .m_guarantee_titbox {
  display: flex;
  align-items: center;
  margin-bottom: 20px;
 }
 .sp_inline {
  display: block;
 }
 .m_guarantee_tit {
  font-size: 4.5vw;
  margin-right: 15px;
  letter-spacing: 2px;
  font-feature-settings: "palt";
 }
 .m_guarantee_stit {
  font-size: 3vw;
  background: #172E59;
  color: #fff;
  font-weight: 400;
  height: 6.13vw;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  padding: 0 3vw 2px 3vw;
  letter-spacing: 2px;
 }
 .sp_inline .m_guarantee_stit {
  width: 30vw;
  margin-top: 3px;
 }
 .m_guarantee_txt {
  font-size: 3.2vw;
  padding-top: 6vw;
 }
 .m_guarantee_at {
  font-size: 2.9vw;
 }
}
/* ==========================
  資料請求
========================== */
.request-doc {
 background: #F0EEE7;
}
.request-doc .l_second_main {
 position: relative;
 width: 100%;
 height: 160px;
 overflow: hidden;
 margin-bottom: 90px;
}
.request-doc .ttl_outer {
 bottom: 0;
 top: inherit;
 transform: none;
}
.request-doc .ttl {
 color: #172E59;
 line-height: 1;
}
.request-doc #g-nav-main li a {
 color: #172E59;
}
.request-doc .gnavi__list:last-child a::after {
 background: url("../images/common/link_n.svg") no-repeat center / contain;
}
.request-doc .openbtn {
 color: #172E59;
}
.request-doc .openbtn span {
 background-color: #172E59;
}
.l_request_read {
 width: 1100px;
 margin: 0 auto 80px auto;
 display: flex;
 justify-content: space-between;
 text-align: left;
}
.request_read_ttl {
 width: 320px;
 font-size: 21px;
 font-weight: 500;
 line-height: 2;
 letter-spacing: 4px;
}
.request_read_tbox {
 width: 780px;
}
.request_read_txt {
 font-size: 14px;
 font-weight: 500;
 margin-bottom: 50px;
 letter-spacing: 1px;
}
.request_read_link {
 width: 680px;
 display: flex;
 justify-content: space-between;
 margin-bottom: 40px;
}
.request_read_link .page_ulink {
 background: url("../images/common/ic_post.svg") no-repeat 20px 8px;
 background-size: 13px 15px;
 width: 320px;
 box-sizing: border-box;
}
.page_ulink .btn_r::after {
 right: 20px;
}
.request_read_link .page_ulink .btn_r {
 padding: 0 55px 5px 55px;
 width: 320px;
 box-sizing: border-box;
 font-feature-settings: "palt";
 color: #172E59;
}
.request_read_link .more_link {
 background: url("../images/common/ic_pc.svg") no-repeat 20px center;
 background-size: 21px 15px;
}
.request_read_link .more_link .btn_r {
 position: relative;
 display: inline-block;
 padding: 0 55px 5px 60px;
 color: #172E59;
 font-feature-settings: "palt";
}
.request_read_link .more_link .btn_r::after {
 right: 15px;
}
.request_read_link .more_link .btn_r:hover::after {
 right: 12px;
 transition: right 0.3s ease;
}
.request_read_at {
 font-size: 10px;
 line-height: 1.8;
 color: #5F5F5F;
}
.request_read_at a {
 background: url("../images/common/ic_link_o.svg") no-repeat right 5px;
 background-size: 9px 8px;
 padding-right: 12px;
 margin-right: 3px;
 text-decoration: underline;
}
.ttl_form {
 font-size: 21px;
 font-weight: 500;
 color: #172E59;
 text-align: center;
 margin-bottom: 60px;
}
.l_request-doc {
 width: 1100px;
 margin: 0 auto;
 background: #fff;
 padding: 80px 0;
 margin-bottom: 140px;
}
.l_request-doc #form-wrapper {
 width: 594px;
 margin: 0 auto;
 text-align: left;
}
@media screen and (max-width: 767px) {
 .request-doc .l_request-doc {
  padding: 0 5.3vw 0 5.3vw;
  width: 89.3vw;
  margin: 0 auto;
  padding: 0 0 10vw 0;
  margin-bottom: 140px;
 }
 .l_request-doc #form-wrapper {
  width: auto;
  margin: 0 auto;
  text-align: left;
  padding: 6.6vw 5.3vw;
 }
 .request-doc .l_second_main {
  position: relative;
  width: 100%;
  height: 30vw;
  overflow: hidden;
  margin-bottom: 12vw;
 }
 .request-doc .ttl_outer {
  bottom: 0;
  top: inherit;
  transform: none;
 }
 .request-doc .ttl {
  color: #172E59;
  line-height: 1;
  display: block;
  text-align: left;
  font-size: 3.2vw;
 }
 .request-doc .openbtn {
  color: #172E59;
 }
 .request-doc .openbtn span {
  background-color: #172E59;
 }
 .l_request_read {
  width: auto;
  margin: 0 5.3vw 13vw 5.3vw;
  display: block;
 }
 .request_read_ttl {
  width: auto;
  font-size: 5vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 4px;
  margin-bottom: 10vw;
 }
 .request_read_tbox {
  width: auto;
  letter-spacing: 1px;
 }
 .request_read_txt {
  font-size: 3.2vw;
  margin-bottom: 10vw;
  line-height: 2;
 }
 .request_read_link {
  width: 74vw;
  display: block;
  margin: 0 auto 10vw auto;
 }
 .request_read_link li + li {
  margin-top: 6vw;
 }
 .request_read_link .page_ulink {
  background: url("../images/common/ic_post.svg") no-repeat 4vw 2vw;
  background-size: 3.5vw auto;
  width: 100%;
  box-sizing: border-box;
 }
 .page_ulink .btn_r::after {
  right: 20px;
 }
 .request_read_link .page_ulink .btn_r {
  padding: 1vw 0 2vw 0;
  width: 100%;
  box-sizing: border-box;
  font-feature-settings: "palt";
  color: #172E59;
  font-size: 3.2vw;
 }
 .request_read_link .more_link {
  width: 100%;
  background: url("../images/common/ic_pc.svg") no-repeat 3.5vw 1.5vw;
  background-size: 5.3vw auto;
 }
 .request_read_link .more_link .btn_r {
  position: relative;
  padding: 1vw 0 2vw 2vw;
  color: #172E59;
  display: block;
  text-align: center;
  font-size: 3.2vw;
 }
 .request_read_link .more_link .btn_r::after {
  right: 17px;
 }
 .request_read_link .more_link .btn_r:hover::after {
  right: 14px;
  transition: right 0.3s ease;
 }
 .request_read_at {
  font-size: 2.6vw;
  line-height: 2;
  color: #5F5F5F;
 }
 .request_read_at a {
  background: url("../images/common/ic_link_o.svg") no-repeat right 5px;
  background-size: 3.2vw auto;
  padding-right: 4vw;
  margin-right: 1vw;
  text-decoration: underline;
 }
 .ttl_form {
  font-size: 21px;
  font-weight: 500;
  color: #172E59;
  text-align: center;
  margin-bottom: 60px;
 }
}
/* ==========================
  資料請求 デジタル
========================== */
.request-doc-dig {
 background: #F0EEE7;
}
.request-doc-dig .l_second_main {
 position: relative;
 width: 100%;
 height: 160px;
 overflow: hidden;
 margin-bottom: 90px;
}
.request-doc-dig .ttl_outer {
 bottom: 0;
 top: inherit;
 transform: none;
}
.request-doc-dig .ttl {
 color: #172E59;
 line-height: 1;
}
.request-doc-dig #g-nav-main li a {
 color: #172E59;
}
.request-doc-dig .gnavi__list:last-child a::after {
 background: url("../images/common/link_n.svg") no-repeat center / contain;
}
.request-doc-dig .openbtn {
 color: #172E59;
}
.request-doc-dig .openbtn span {
 background-color: #172E59;
}
.request-doc-dig .request_read_link .page_ulink {
 background: url("../images/common/ic_pc.svg") no-repeat 20px center;
 background-size: 21px 15px;
}
.request-doc-dig .page_ulink .btn_r::after {
 right: 20px;
}
.request-doc-dig .request_read_link .page_ulink .btn_r {
 position: relative;
 display: inline-block;
 padding: 0 55px 5px 60px;
 color: #172E59;
}
.request-doc-dig .request_read_link .more_link {
 background: url("../images/common/ic_post.svg") no-repeat 20px 8px;
 background-size: 13px 15px;
 width: 320px;
 box-sizing: border-box;
}
.request-doc-dig .request_read_link .more_link .btn_r {
 padding: 0 55px 5px 55px;
 width: 320px;
 box-sizing: border-box;
 font-feature-settings: "palt";
 color: #172E59;
}
.request-doc-dig .request_read_link .more_link .btn_r::after {
 right: 15px;
}
.request-doc-dig .request_read_link .more_link .btn_r:hover::after {
 right: 12px;
 transition: right 0.3s ease;
}
@media screen and (max-width: 767px) {
 .request-doc-dig .l_request-doc {
  padding: 0 5.3vw 0 5.3vw;
  width: 89.3vw;
  margin: 0 auto;
  padding: 0 0 10vw 0;
  margin-bottom: 140px;
 }
 .l_request-doc #form-wrapper {
  width: auto;
  margin: 0 auto;
  text-align: left;
  padding: 6.6vw 5.3vw;
 }
 .request-doc-dig .l_second_main {
  position: relative;
  width: 100%;
  height: 39vw;
  overflow: hidden;
  margin-bottom: 12vw;
 }
 .request-doc-dig .ttl_outer {
  bottom: 0;
  top: inherit;
  transform: none;
 }
 .request-doc-dig .ttl {
  color: #172E59;
  line-height: 1.1;
  display: block;
  text-align: left;
  font-size: 3.2vw;
 }
 .request-doc-dig .openbtn {
  color: #172E59;
 }
 .request-doc-dig .openbtn span {
  background-color: #172E59;
 }
 .request-doc-dig .ttl::before {
  content: attr(data-title);
  margin-bottom: 2vw;
 }
 .request-doc-dig .ttl::after {
  content: attr(data-title2);
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 6.13vw;
  letter-spacing: 6px;
  display: block;
  margin-bottom: 2vw;
 }
 .request_read_ttl {
  line-height: 1.6;
 }
 .request-doc-dig .request_read_link .page_ulink {
  width: 100%;
  background: url("../images/common/ic_pc.svg") no-repeat 3.5vw 1.5vw;
  background-size: 5.3vw auto;
 }
 .request-doc-dig .page_ulink .btn_r::after {
  right: 20px;
 }
 .request-doc-dig .request_read_link .page_ulink .btn_r {
  position: relative;
  padding: 1vw 0 2vw 2vw;
  color: #172E59;
  display: block;
  text-align: center;
  font-size: 3.2vw;
 }
 .request-doc-dig .request_read_link .more_link {
  background: url("../images/common/ic_post.svg") no-repeat 4vw 2vw;
  background-size: 3.5vw auto;
  width: 100%;
  box-sizing: border-box;
 }
 .request-doc-dig .request_read_link .more_link .btn_r {
  padding: 1vw 0 2vw 0;
  width: 100%;
  box-sizing: border-box;
  font-feature-settings: "palt";
  color: #172E59;
  font-size: 3.2vw;
 }
 .request-doc-dig .request_read_link .more_link .btn_r::after {
  right: 17px;
 }
 .request-doc-dig .request_read_link .more_link .btn_r:hover::after {
  right: 14px;
  transition: right 0.3s ease;
 }
}
/* ==========================
  webcatalog
========================== */
.webcatalog {
 background: #F0EEE7;
}
.webcatalog .l_second_main {
 position: relative;
 width: 100%;
 height: 160px;
 overflow: hidden;
 margin-bottom: 90px;
}
.webcatalog .ttl_outer {
 bottom: 0;
 top: inherit;
 transform: none;
}
.webcatalog .ttl {
 color: #172E59;
 line-height: 1;
}
.webcatalog #g-nav-main li a {
  color: #172E59;
}
.webcatalog .gnavi__list:last-child a::after {
 background: url("../images/common/link_n.svg") no-repeat center / contain;
}
.webcatalog .openbtn {
 color: #172E59;
}
.webcatalog .openbtn span {
 background-color: #172E59;
}
.l_webcatalog {
 margin-bottom: 110px;
}
.l_webcatalog_list {
 width: 1100px;
 margin: 0 auto 60px auto;
 display: flex;
 gap: 75px 70px;
 flex-wrap: wrap;
}
.m_webcatalog {
 width: 320px;
}
.m_webcatalog_img {
 background: #E7E3DA;
 width: 320px;
 height: 320px;
 display: flex;
 justify-content: center;
 align-items: center;
 overflow: hidden;
}
.m_webcatalog_img img {
 max-width: 85%;
 max-height: 85%;
 width: auto;
 height: auto;
 display: block;
 object-fit: contain;
}
.m_webcatalog_txt {
 margin-top: 20px;
 font-size: 15px;
 color: #172E59;
 line-height: 1.5;
 text-align: left;
 font-weight: 500;
 letter-spacing: 1px;
}
.l_webcatalog .request_read_link {
 width: 340px;
 margin: 0 auto;
}
@media screen and (max-width: 767px) {
	.webcatalog .l_webcatalog {
  padding: 0 5.3vw 0 5.3vw;
  width: 89.3vw;
  margin: 0 auto;
  padding: 0 0 10vw 0;
  margin-bottom: 140px;
 }
 .l_webcatalog #form-wrapper {
  width: auto;
  margin: 0 auto;
  text-align: left;
  padding: 6.6vw 5.3vw;
 }
 .webcatalog .l_second_main {
  position: relative;
  width: 100%;
  height: 30vw;
  overflow: hidden;
  margin-bottom: 12vw;
 }
 .webcatalog .ttl_outer {
  bottom: 0;
  top: inherit;
  transform: none;
 }
 .webcatalog .ttl {
  color: #172E59;
  line-height: 1;
  display: block;
  text-align: left;
  font-size: 3.2vw;
 }
 .webcatalog .openbtn {
  color: #172E59;
 }
 .webcatalog .openbtn span {
  background-color: #172E59;
 }
	
	
 .l_webcatalog {
  margin-bottom: 26vw;
 }
 .l_webcatalog_list {
  width: 100%;
  padding: 0 5.3vw;
  box-sizing: border-box;
  flex-direction: column;
  gap: 20vw 0;
  margin-bottom: 21vw;
 }
 .m_webcatalog {
  width: 100%;
 }
 .m_webcatalog_img {
  background: #E7E3DA;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
 }
 .m_webcatalog_img img {
  max-width: 85%;
  max-height: 85%;
  width: auto;
  height: auto;
  display: block;
  object-fit: contain;
 }
 .m_webcatalog_txt {
  margin-top: 5vw;
  font-size: 5vw;
  letter-spacing: 1px;
 }
 .l_webcatalog .request_read_link {
  width: 75vw;
  margin: 0 auto;
 }
}
/* ==========================
  〇〇
========================== */
@media screen and (max-width: 767px) {}