@charset "utf-8";

/* ----------------------------------------------------
  日本語
---------------------------------------------------- */
.jp01{font-family: 'Noto Sans JP', sans-serif;}　/* ゴシック */
.jp02{font-family: 'Noto serif JP', sans-serif;}　/* 明朝 */

/* ----------------------------------------------------
  英字
---------------------------------------------------- */
.en01{font-family: "Cormorant Garamond", serif;}　/* 明朝１ */
.en02{font-family: "Literata", serif;}　/* 明朝２ */

/* ----------------------------------------------------
  背景色
---------------------------------------------------- */
.bg-white{background: #fff;}

.bg-cream01{background: #f9f8f6}
.bg-cream02{background: #edeae4}
.bg-cream03{background: #ece8e2}
.bg-cream04{background: #f1e7d8}

.bg-blown{background: #937764}

/* パキっと分かれる */
.bg_separate01{background:#fbfaf9;}
@media print, screen and (min-width: 768px) {
.bg_separate01{background: linear-gradient(to left, #fbfaf9 30%, #fff 30%);}
}

.bg_separate02{background:#f6f4f1;}
@media print, screen and (min-width: 768px) {
.bg_separate02{background: linear-gradient(to bottom, #f9f8f6 44%, #ede9e3 44%);}
}

/* ----------------------------------------------------
  背景固定画像
---------------------------------------------------- */
.bg-haikei01{background: url("../images/bg_haikei_01.jpg") no-repeat center bottom;}
@media print, screen and (min-width: 992px) {
.bg-haikei01{
	background: url("../images/bg_haikei_01.jpg") no-repeat scroll 50% 0% / cover;
	height: auto;
	background-position: 50% 50%;
	background-attachment: fixed;
	}
}
.part-h{padding:100px 0;}
@media print, screen and (min-width: 768px) {.part-h{padding: 130px 0}}
@media print, screen and (min-width: 992px) {.part-h{padding: 150px 0}}
@media print, screen and (min-width: 1400px) {.part-h{padding:200px 0}}

/* ----------------------------------------------------
  h2
---------------------------------------------------- */
.h2_02{background: url("../images/h2-02.jpg") no-repeat scroll 50% 0% / cover;}

.h2_midasi{padding:50px 0 50px 10px; border-radius: 10px; margin-bottom: 15px;}
@media print, screen and (min-width: 768px) {.h2_midasi{padding:150px 0 150px 60px; margin-bottom: 30px;}}

.h2_midasi p{
	color: #fff;
	font-size: 30px;
	line-height:37px;
	letter-spacing:2px;	
	font-family: "Literata", serif;
	}
.h2_midasi h2{
	color: #fff;  
  font-family: 'Noto serif JP', sans-serif;
	font-size: 16px;
	letter-spacing:3px;
}
@media print, screen and (min-width: 768px) {
.h2_midasi p{
	font-weight: bold;
	font-size: 50px;
	line-height:70px;
	}
.h2_midasi h2{
	font-weight: bold;
	font-size: 25px;
	}
}
@media print, screen and (min-width: 992px) {
.h2_midasi p{
	font-size: 70px;
	line-height:90px;
	}
.h2_midasi h2{
	font-size: 30px;
	}
}

/* ----------------------------------------------------
  テーブル
---------------------------------------------------- */
table{border-spacing:0;border-collapse:separate;}

/* table1
---------------------------------------------------- */
.table1{
  width:100%;
  border-top:0px;
  border-bottom:0px;
  border-collapse:collapse;  
}
.table1 th{
	width: 30%;
	padding:20px 0;
  border: solid #937764;
  border-width: 1px 0;  
	vertical-align:middle;
	display:table-cell;
  font-weight: normal;
  background: transparent;
  text-align: center;
  word-break: break-word;
	}
@media print, screen and (min-width: 768px) {
.table1 th{
	width: 25%;
	}
}
.table1 td{
	padding:20px 0 20px 20px;
  border: solid #d8c7c0;
  border-width: 1px 0;
	display:table-cell;
  background: transparent;
  word-break: break-word;
	}
@media only screen and (max-width: 767px) {
.table1 span{
	text-decoration:underline;
	color:#402012;
	}
}

/* table2
---------------------------------------------------- */
.table2{
	width: 100%;
	border-collapse: collapse;
  border-top: 1px solid #DCD7D0;
	background: #fff;
}
.table2 th{
	width: 50%;
	padding: 5px 10px;  
	text-align: center;
	display: table-cell;
	font-weight: normal;
  vertical-align: middle;
	background-color: #edeae4;
  border: 1px solid #DCD7D0;
  border-top: none;
}
.table2 td{
	padding: 5px 10px;
	display: table-cell;
	border: 1px solid #DCD7D0;
	}

@media print, screen and (min-width: 768px) {
.table2 th{
	padding: 15px;
  border: 1px solid #DCD7D0;
  border-top: none;
}
.table2 td{
	padding: 15px;
	display: table-cell;
	vertical-align: middle;
	border: 1px solid #DCD7D0;
	}
}

/* スクロールヒント用テーブル
---------------------------------------------------- */
.table-wrap {
  width: 100%;
  margin-inline: auto;
  padding-bottom: 10px;
  overflow-x: auto;
}

@media only screen and (max-width: 767px) {
.table-wrap {
  width: 100%;
  height: 250px;
  }
}

.table-wrap::-webkit-scrollbar {height: 10px;}
.table-wrap::-webkit-scrollbar-track {background-color: #E2E2E2;}
.table-wrap::-webkit-scrollbar-thumb {background-color: #402012;}

/* モバイル　スクロールヒント時のテーブル横幅
---------------------------- */
@media only screen and (max-width: 767px) {
.table_yokoth {
  width: 600px;
  margin: 0 auto;
  }
}
@media print, screen and (min-width: 768px) {
.table_yokoth {
  width: 100%;
  }
}

/* テーブル
---------------------------- */
.table_yokoth {
	border-collapse: collapse;
	border-spacing: 0;
  background: #fff;
}
.table_yokoth th,
.table_yokoth td {
	padding: 8px 10px;
	border: 1px solid #DCD7D0;
  vertical-align: middle;
}
.table_yokoth th {
	text-align: center;
  font-weight: normal;
  background: #f1ebdf;
}
.table_yokoth td {
	text-align: center;
}

/* ----------------------------------------------------
  画像　横並び
---------------------------------------------------- */
.banner-row {
  display: flex;           /* 横並びにする */
  gap: 15px;               /* アイテム間の隙間 */
  justify-content: flex-start; /* 左詰め */
  align-items: flex-start;     /* 高さ揃え（必要に応じて） */
}
.banner {
  max-width: 100%;         /* 横幅が親をはみ出さないように */
  height: auto;            /* 縦横比を維持 */
}

/* ----------------------------------------------------
  ボタン
---------------------------------------------------- */
/*  ボタンアニメ
---------------------------------------------------- */
.btna::before,
.btna::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
	}
.btna,
.btna::before,
.btna::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .5s;
	transition: all .5s;
	}

/*  btn01
---------------------------------------------------- */
.btn01 {
  display: block;
  width: 100%;
  padding: 15px 2px;
  text-align: center;
  letter-spacing: 2px;
  color: #402012 !important;
  background: #f9f8f6;
  border: 0;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 100px;
  box-shadow: 0px 2px 8px 0px rgba(72,68,62,0.1);
}
.btn01:visited {
  color: #402012 !important;
}
.btn01:hover,
.btn01:active {
  letter-spacing: 3px;  
  background: #ece8e2;
  color: #402012 !important;
  text-decoration: none !important;
}
.btn01 i {
  color: #d2b07f;
  font-size: 16px;
  margin: 0 0 0 5px;
}

/*  btn02
---------------------------------------------------- */
.btn02 {
  display: block;
  width: 100%;
  padding: 15px 2px;
  text-align: center;
  letter-spacing: 2px;
  color: #fff !important;
  background: #402012;
  border: 0;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 100px;
  box-shadow: 0px 2px 8px 0px rgba(72,68,62,0.1);
}
.btn02:visited {
  color: #fff !important;
}
.btn02:hover,
.btn02:active {
  letter-spacing: 3px;
  color: #fff !important;  
  background: #937764;
  text-decoration: none !important;
}
.btn02 i {
  color: #d2b07f;
  font-size: 16px;
  margin: 0 0 0 5px;
}

/*  btn01_in
---------------------------------------------------- */
.btn01_in {
  display: inline-block;
  width: 270px;
  padding: 15px 2px;
  text-align: center;
  letter-spacing: 2px;
  color: #402012 !important;
  background: #fff;
  border: 1px solid #402012;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 100px;
}
.btn01_in:visited {
  color: #402012 !important;
}
.btn01_in:hover,
.btn01_in:active {
  background: #f1e7d8;
  letter-spacing: 3px;
  color: #402012 !important;
  text-decoration: none !important;
}
.btn01_in i {
  font-size: 16px;
  margin: 0 0 0 5px;
  color: #937764;
}
.btn01_in .fa-location-dot{
   margin-right: 5px;
}

/*  btn02_in
---------------------------------------------------- */
.btn02_in {
  display: inline-block;
  width: 270px;
  padding: 15px 2px;
  text-align: center;
  letter-spacing: 2px;
  color: #fff !important;
  background: #402012;
  border: 0;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 100px;
}
.btn02_in:visited {
  color: #fff !important;
}
.btn02_in:hover,
.btn02_in:active {
  background: #937764;
  letter-spacing: 3px;
  color: #fff !important;
  text-decoration: none !important;
}
.btn02_in i {
  font-size: 16px;
  margin: 0 0 0 5px;
  color: #d2b07f;
}
.btn02_in .fa-location-dot{
   margin-right: 5px;
}

/* ----------------------------------------------------
  見出し
---------------------------------------------------- */
/* 見出し01
---------------------------------------------------- */
.midasi01{
 	font-size: 16px;
  line-height: 25px;
	letter-spacing: 2px;
  margin-bottom: 20px;
  color: #d2b07f;  
	}
.midasi01 span{
	font-size: 25px;
  color: #402f28;
}
@media print, screen and (min-width: 768px) {
.midasi01{
  line-height: 30px;
  margin-bottom: 25px;
	}
.midasi01 span{
	letter-spacing: 4px;
	font-size: 30px;
  }
}
@media print, screen and (min-width: 992px) {
.midasi01{
  line-height: 33px;
  margin-bottom: 30px;
	}
.midasi01 span{
	font-size: 33px;
  }
}

/* 見出し02
---------------------------------------------------- */
.midasi02{
	font-size: 18px;
	letter-spacing: 2px;
  margin-bottom: 15px;
	}
@media print, screen and (min-width: 768px) {
.midasi02{
	font-size: 20px;
	letter-spacing: 3px;
  margin-bottom: 20px;
	}
}
@media print, screen and (min-width: 992px) {
.midasi02{
	font-size: 22px;
  margin-bottom: 30px;
	}
}

/* 見出し03
---------------------------------------------------- */
.midasi03{
	font-size: 18px;
  margin-bottom: 10px;
	}
@media print, screen and (min-width: 768px) {
.midasi03{
	font-size: 19px;
  margin-bottom: 15px;
	}
}
@media print, screen and (min-width: 992px) {
.midasi03{
	font-size: 20px;
	}
}

/* 見出し04
---------------------------------------------------- */
.midasi04{
  color: #fff;
  background: #402012;
  padding:10px 13px;
	font-size: 20px;
  line-height: 30px;
  margin-bottom: 15px;
  border-radius: 5px;
}
@media print, screen and (min-width: 992px) {
.midasi04{
  padding:7px 13px 10px 13px;
	font-size: 22px;
  line-height: 32px;
  }
}
@media print, screen and (min-width: 1200px) {
.midasi04{
  padding:14px 20px 17px 20px;
  }
}

/* ----------------------------------------------------
  タテ読み
---------------------------------------------------- */
.vertical-text {
  font-size: 23px;
  margin-bottom: 10px;
  letter-spacing: 3px;  
  text-align: center;
  }
.vertical-text i{
  font-size: 18px;
  margin-right: 5px;
  color: #937764;  
  }

@media print, screen and (min-width: 768px) {
.vertical-text {
  font-size: 28px;  
  text-align: center;
  }
.vertical-text i{
  font-size: 23px;
  }
}

@media print, screen and (min-width: 992px) {
.vertical-text {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    line-height: 1.8;
    margin: 0 auto;
    margin-bottom: 50px;
  }
.vertical-text i{
    margin-bottom: 2px;
  }
}

/* ----------------------------------------------------
  カタログ系
---------------------------------------------------- */
/* index 休診日
---------------------------------------------------- */
.ctrgimg_01{
  margin-bottom: 10px;  
}

/* 詳細ページ
---------------------------------------------------- */
.detail_days{
	color: #937764;  
  font-size: 13px;
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
.detail_days{  
  font-size: 15px;
  margin-bottom: 15px;
  }
}
.detail_days .detail_day{
  float: left;
  display: inline-block;
  margin:0 10px 0 0;
}

.detail_days .detail_ctgr{
  float: left;
  display: inline-block;
  text-align: center;
  color: #fff;
  background:#402012;
  border-radius: 100px;
  font-size: 13px;
  padding:0 10px;
  margin:0 7px 0 0;  
}

.detail_days .new{
  float: left;
  display: inline-block;
  font-size: 14px;
  }

.detail_title{
  font-size: 18px;
  margin-bottom: 10px;
  padding-bottom: 5px;
  border-bottom: 2px solid #402012;
  }
@media print, screen and (min-width: 768px) {
.detail_title{
  font-size: 25px;
  margin-bottom: 15px;
  padding-bottom: 15px;
  }
}

.detail_text{
  margin-bottom: 10px;  
}
@media print, screen and (min-width: 768px) {
.detail_text{
  margin-bottom: 20px;  
  }
}

/* ----------------------------------------------------
  順序フロー
---------------------------------------------------- */
.flow_arrow {
	padding-left: 0;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
}
@media print, screen and (min-width: 768px) {
.flow_arrow {
	gap: 60px;
	}
}
.flow_arrow > li {
	list-style-type: none;
	width: 100%;
	display:block;
	text-align: center;
}
.flow_arrow > li dl {
	padding: 20px 0;
	margin: 0;
	background: #fff;
  border:1px solid #DCD7D0;
  border-radius: 10px;
	position: relative;
}
@media print, screen and (min-width: 768px) {
.flow_arrow > li:not(:first-child) dl::before {
	content: "";
	width: 14px;
	height: 14px;
	margin-right: 10px;
	display: inline-block;
	border-top: 4px solid #DCD7D0;
	border-right: 4px solid #DCD7D0;
	position: absolute;
	top: calc(50% - 8px);
	left: -41px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	}
}
.flow_arrow > li dl dt {
  font-family: "Literata", serif;
	font-size: 30px;
	color: #d2b07f;
	-ms-flex-preferred-size: 20%;
	font-weight: normal;
	flex-basis: 20%;
	margin-bottom: 10px;
	text-align: center;
}
.flow_arrow > li dl dd {
	margin-left: 0;
}

@media only screen and (max-width: 767px) {.flow_arrow > li {width: 40%;}}
@media print, screen and (min-width: 768px) {.flow_arrow > li {width: 18%;}}
@media print, screen and (min-width: 992px) {.flow_arrow > li {width: 20%;}}
@media print, screen and (min-width: 1400px) {.flow_arrow > li {width: 22%;}}

@media only screen and (max-width: 767px) {.flow_arrow > li dl dt {font-size: 20px; margin-bottom: 0px;}}
@media print, screen and (min-width: 768px) {.flow_arrow > li dl dt {font-size: 20px;}}
@media print, screen and (min-width: 992px) {.flow_arrow > li dl dt {font-size: 25px;}}
@media print, screen and (min-width: 1200px) {.flow_arrow > li dl dt {font-size: 30px;}}

@media only screen and (max-width: 767px) {.flow_arrow > li dl dd {font-size: 15px;}}
@media print, screen and (min-width: 768px) {.flow_arrow > li dl dd {font-size: 16px;}}
@media print, screen and (min-width: 992px) {.flow_arrow > li dl dd {font-size: 18px;}}
@media print, screen and (min-width: 1200px) {.flow_arrow > li dl dd {font-size: 20px;}}

/* ----------------------------------------------------
  タグ
---------------------------------------------------- */
.kakomi_info{
  margin-bottom: 5px;
}
.kakomi_info .kakomi_01{
  display: inline-block;
  text-align: center;
  color: #fff;
  background:#402012;
  border-radius: 100px;
  padding:0 15px 1px 17px;
  margin:0 7px 0 0;
}

/* ----------------------------------------------------
  ホワイトボックス
---------------------------------------------------- */
.whitebox_01{
  padding: 30px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0px 2px 8px 0px rgba(72,68,62,0.1);
}
@media print, screen and (min-width: 768px) {
.whitebox_01{
  padding: 30px;
  }
}
@media print, screen and (min-width: 992px) {
.whitebox_01{
  padding: 40px;
  }
}
@media print, screen and (min-width: 1200px) {
.whitebox_01{
  padding: 60px;
  }
}
@media print, screen and (min-width: 1400px) {
.whitebox_01{
  padding: 80px;
  }
}

/* ----------------------------------------------------
  ボックス
---------------------------------------------------- */
.hako_01{
  padding: 25px;
  background: #fff;
  border-radius: 20px;
}
@media print, screen and (min-width: 768px) {
.hako_01{
  padding: 30px;
  }
}
@media print, screen and (min-width: 992px) {
.hako_01{
  padding: 40px;
  }
}
@media print, screen and (min-width: 1200px) {
.hako_01{
  padding: 60px;
  }
}
@media print, screen and (min-width: 1400px) {
.hako_01{
  padding: 80px;
  }
}
@media print, screen and (min-width: 1600px) {
.hako_01{
  padding: 100px;
  }
}

/* ----------------------------------------------------
  ★★★レイアウト（1:1）
---------------------------------------------------- */
/* 親要素
----------------------------- */
.note_11 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .note_11 {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-bottom: 80px;
  }
}
@media screen and (min-width: 992px) {
  .note_11 {
    gap: 50px;
  }
}
@media screen and (min-width: 1200px) {
  .note_11 {
    gap: 60px;
  }
}
@media screen and (min-width: 1200px) {
  .note_11 {
    gap: 80px;
  }
}

.note_11:last-child { margin-bottom: 0;}

/* 子要素
----------------------------- */
.note_11_box {box-sizing: border-box;}


/* ----------------------------------------------------
  ★★★レイアウト（1:1:1）
---------------------------------------------------- */
/* 親要素
----------------------------- */
.note_111 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .note_111 {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
    margin-bottom: 80px;
  }
}
@media screen and (min-width: 992px) {
  .note_111 {
    gap: 50px;
  }
}

.note_111:last-child { margin-bottom: 0;}

/* 子要素
----------------------------- */
.note_111_box {box-sizing: border-box;}


/* ----------------------------------------------------
  ★★★レイアウト（1:3）
---------------------------------------------------- */
/* 親要素
----------------------------- */
.note_13 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .note_13 {
    grid-template-columns: 1fr 2fr;
    gap: 40px;
    margin-bottom: 80px;
  }
}
@media screen and (min-width: 992px) {
  .note_13 {
    grid-template-columns: 1fr 2fr;
    gap: 60px;
  }
}
@media screen and (min-width: 1200px) {
  .note_13 {
    grid-template-columns: 1fr 3fr;
  }
}

.note_13:last-child { margin-bottom: 0;}

/* 子要素
----------------------------- */
.note_13_box {box-sizing: border-box;}


/* ----------------------------------------------------
  ★★★レイアウト（2:3）
---------------------------------------------------- */
/* 親要素
----------------------------- */
.note_23 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0; /* スマホ用詳細で調整のため0 */
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .note_23 {
    grid-template-columns: 2fr 3fr;
    gap: 40px;
    margin-bottom: 80px;
  }
}
@media screen and (min-width: 992px) {
  .note_23 {
    grid-template-columns: 2fr 3fr;
  }
}
@media screen and (min-width: 1200px) {
  .note_23 {
    gap: 70px;
  }
}

.note_23:last-child { margin-bottom: 0;}

/* 子要素
----------------------------- */
.note_23_box {box-sizing: border-box;}

/* スマホ用調整　画像とテキスト間
----------------------------- */
@media screen and (max-width: 767px) {
.note_23 {margin-bottom: 60px;} /* note_23同士の間隔 */
.note_23_box img {display: block; margin-bottom: 15px;}
}


/* ----------------------------------------------------
  ★★★レイアウト（3:2）
---------------------------------------------------- */
/* 親要素
----------------------------- */
.note_32 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .note_32 {
    gap: 40px;
    margin-bottom: 80px;
  }
}
@media screen and (min-width: 992px) {
  .note_32 {
    gap: 50px;
  }
}
@media screen and (min-width: 1200px) {
  .note_32 {
    grid-template-columns: 3fr 2fr;
  }
}

.note_32:last-child { margin-bottom: 0;}

/* 子要素
----------------------------- */
.note_23_box {box-sizing: border-box;}


/* ----------------------------------------------------
  ★★★レイアウト（4:3）
---------------------------------------------------- */
/* 親要素
----------------------------- */
.note_43 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .note_43 {
    grid-template-columns: 2fr 1fr;
    gap: 40px;
    margin-bottom: 80px;
  }
}
@media screen and (min-width: 992px) {
  .note_43 {
    grid-template-columns: 2fr 1fr;
    gap: 60px;
  }
}
@media screen and (min-width: 1200px) {
  .note_43 {
    grid-template-columns: 4fr 3fr; 
    gap: 80px;
  }
}

.note_43:last-child { margin-bottom: 0;}

/* 子要素
----------------------------- */
.note_43_box {box-sizing: border-box;}


/* ----------------------------------------------------
  ★★★レイアウト　ボックス4つ並び（デザインあり）
---------------------------------------------------- */
/* 親要素
----------------------------- */
.zone_4 {
  width: 100%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px 0;
}
@media print, screen and (min-width: 768px) {
  .zone_4 {
    gap: 40px;
    grid-template-columns: 1fr 1fr;    
  }
}
@media print, screen and (min-width: 992px) {
  .zone_4 {
    gap: 50px;
    grid-template-columns: 1fr 1fr;    
  }
}

/* 子要素
----------------------------- */
.zone_4_box {
  background: #f9f8f6;
  border:1px solid #ece8e2;
  padding: 20px;
  border-radius: 10px;
  display: flex;          /* 横方向に並べる */
  flex-direction: column; /* 縦に並べる */
  gap: 10px;              /* h4とpの間の隙間 */
}
.zone_4_box h4 {
  font-size: 20px;
  margin: 0 0 5px 0;
}

@media print, screen and (min-width: 768px) {
  .zone_4_box {
    padding: 40px;
    }
  .zone_4_box h4 {
    font-size: 22px;
    margin: 0 0 20px 0;
  }
}

/* ----------------------------------------------------
  ★★★レイアウト　独自比率
---------------------------------------------------- */
/* 親要素
----------------------------- */
.original_01 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0px;
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .original_01 {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-bottom: 80px;
  }
}
@media screen and (min-width: 992px) {
  .original_01 {
    grid-template-columns: 1.5fr 1.5fr 0.01fr;
    gap: 80px;
  }
}
@media screen and (min-width: 1400px) {
  .original_01 {
    grid-template-columns: 3.5fr 2.4fr 0.01fr;
    gap: 100px;
  }
}
@media screen and (min-width: 1800px) {
  .original_01 {
    grid-template-columns: 3.5fr 2.4fr 0.01fr;
    gap: 200px;
  }
}

.original_01:last-child { margin-bottom: 0;}

/* 子要素
----------------------------- */
.original_01_box {box-sizing: border-box;}
.original_01_box{padding:0 20px;}
@media print, screen and (min-width: 992px) {.original_01_box{padding:0;}}