@charset "UTF-8";
/* スマホ用フォントサイズ PCのフォントサイズを数字で指定して同じ比率で縮小表示する
*/
.title-hanaurara { padding: 110px 0 45px; text-align: center; }
.title-hanaurara img { width: 254px; }
.title-hanaurara + p { font-family: "Shippori Mincho", serif; font-size: 20px; margin: 0 15px 100px; line-height: 2.5; }
@media screen and (max-width: 767px) { .title-hanaurara { padding: 35px 15px 30px; }
  .title-hanaurara img { width: 75px; }
  .title-hanaurara + p { font-size: 10px; margin-bottom: 23px; } }

.bg-white.first { margin-bottom: 150px; padding-top: 150px; padding-bottom: 140px; }
@media screen and (max-width: 767px) { .bg-white.first { margin-bottom: 35px; padding-top: 60px; padding-bottom: 60px; } }
.bg-white dl { display: flex; justify-content: flex-start; align-items: flex-start; gap: 25px; margin-bottom: 80px; }
.bg-white dl.bb-solid { border-bottom: 1px solid #000; margin-bottom: 35px; padding-bottom: 35px; }
.bg-white dl.last { margin-bottom: 0; }
.bg-white dl dt { width: 150px; flex-shrink: 0; font-family: "Shippori Mincho", serif; font-size: 24px; font-weight: 500; }
.bg-white dl dd { font-size: 20px; }
.bg-white dl dd small { font-size: 17px; }
.bg-white dl dd .col { margin-bottom: 2em; font-size: 17px; }
.bg-white dl dd .col .title { font-size: 25px; }
@media screen and (max-width: 767px) { .bg-white dl { gap: 15px; }
  .bg-white dl.bb-solid { margin-bottom: 15px; padding-bottom: 15px; }
  .bg-white dl dt { width: 70px; font-size: 14px; }
  .bg-white dl dd { font-size: 11.9px; }
  .bg-white dl dd small { font-size: 9.8px; }
  .bg-white dl dd .col { padding-left: 5px; padding-right: 5px; font-size: 9.8px; }
  .bg-white dl dd .col .title { font-size: 14px; } }

@media (min-width: 768px) { .rekishi_flex { display: flex; }
  .rekishi_flex > div:first-child { width: 550px; position: relative; left: -100px; }
  .rekishi_flex > div:last-child { width: calc(100% - 550px); position: relative; right: 30px; font-size: 22px; }
  .rekishi_flex2 { display: flex; }
  .rekishi_flex2 > div:first-child { width: calc(100% - 550px); position: relative; right: -30px; font-size: 22px; }
  .rekishi_flex2 > div:last-child { width: 550px; position: relative; left: 100px; }
  .inner { padding: 0 20px; }
  .lead_box { font-size: 35px; font-family: "Shippori Mincho", serif; margin: 100px 0 60px 0; }
  .lead_box2 { margin: 0 0 60px 0; }
  .img_box { margin: 110px 0 0 0; } }
@media (min-width: 768px) and (max-width: 1100px) { .rekishi_flex > div:first-child { width: 50vw; position: relative; left: -60px; }
  .rekishi_flex > div:last-child { width: calc(100% - 45vw); position: relative; right: 30px; font-size: 16px; }
  .rekishi_flex2 > div:first-child { width: calc(100% - 45vw); position: relative; right: -30px; font-size: 16px; }
  .rekishi_flex2 > div:last-child { width: 50vw; position: relative; left: 60px; }
  .lead_box { font-size: 25px; } }
@media (max-width: 767.98px) { .rekishi_flex { display: flex; flex-wrap: wrap; }
  .rekishi_flex > div:first-child { width: 100%; }
  .rekishi_flex > div:last-child { width: 100%; font-size: 10px; margin: 30px 0 0 0; padding: 0 10px; line-height: 2.2; }
  .rekishi_flex2 { display: flex; flex-wrap: wrap; flex-direction: column-reverse; }
  .rekishi_flex2 > div:first-child { width: 100%; font-size: 10px; margin: 30px 0 0 0; padding: 0 10px; line-height: 2.2; }
  .rekishi_flex2 > div:last-child { width: 100%; font-size: 10px; }
  .inner { padding: 0 5px; }
  .lead_box { font-size: 11px; font-family: "Shippori Mincho", serif; margin: 55px 0 25px 0; line-height: 2.4; }
  .lead_box2 { margin: 0 0 35px 0; }
  .img_box { margin: 75px 0 0 0; } }
