@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&family=Zen+Maru+Gothic&family=Zen+Old+Mincho&display=swap');

:root {
  --color-black: #312D3D;
  --color-gray: #707070;
  --color-orange: #F39800;
  --font-maru: 'Zen Maru Gothic', sans-serif;
  --font-sans: 'Zen Kaku Gothic New', sans-serif;
  --font-serif: 'Zen Old Mincho', serif;
  --font-bunkyu: 'toppan-bunkyu-midashi-min-st', serif;
}

.my-ajax-loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(255, 255, 255, .5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2000;
}

.my-body {
  font-family: var(--font-maru);
  color: var(--color-black);
  padding: 0;
}

.my-body section {
  position: relative;
}

.my-body p {
  margin-bottom: 1em;
}

.my-container {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 10px;
}

.my-header .my-container {
  display: flex;
  padding: 0;
}

.my-header-logo {
  margin: 0;
}

.my-header-logo img {
  width: 306px;
}

.my-header-nav {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 20px 14px 0 5px;
}

.my-header-nav a[href^="tel"] {
  display: flex;
  align-items: center;
  margin-left: auto;
  font-size: 1.875rem;
  font-weight: bold;
  text-decoration: none;
  color: inherit;
  height: 2.5rem;
  padding-left: 2.5rem;
  background: url(../img/icon-tel.svg) 0 / contain no-repeat;
}

.my-header-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0 20px;
}

.my-header-nav ul a {
  display: block;
  padding: 10px;
  text-decoration: none;
  color: var(--color-gray);
  transition: all ease-out .4s;
}

.my-header-nav ul a:hover {
  color: var(--color-orange);
  text-decoration: underline;
}

.my-fixed-link {
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 2;
}

.my-fixed-link img {
  display: block;
  width: 164px;
  transform: rotate(13deg);
  transition: all .3s ease-out;
}

.my-fixed-link:hover img {
  transform: rotate(0);
}

.my-hero.my-container {
  padding: 0;
}

.my-hero-lead {
  position: absolute;
  right: 100px;
  bottom: 30px;
  left: 100px;
  font-family: var(--font-serif);
  font-size: 2.3125rem;
  letter-spacing: 0.05em;
  color: var(--color-black);
  text-shadow: 3px 3px 4px rgba(0, 0, 0, 0.16);
}

.my-table01 {
  margin: 0 auto;
}

.my-table01 tr + tr {
  border-top: 1px solid #707070;
}

.my-table01 th {
  font-size: clamp(16px, 2.1875vw, 28px); /*28/1280*/
  line-height: 2;
  vertical-align: top;
  padding: 0 1.5em;
}

.my-table01 td {
  font-size: clamp(14px, 1.5625vw, 20px); /*20/1280*/
  line-height: 2.5;
}

.my-quill-body {
  background: #fff;
  padding: 1rem;
}

.my-quill-body p {
  margin: 0;
}

.my-quill-body img {
  max-width: 100%;
}

.my-modal .modal-header,
.my-modal .modal-footer {
  background: #F8F4EC;
}

.my-footer {
  background: #fff;
} 

.my-footer-address {
  padding: 6.71875vw 0; /*86/1280*/
  background: url(../img/home-address-bg.jpg) center / cover no-repeat;
  margin-bottom: 54px;
}

.my-footer-address > div {
  display: flex;
  padding: 7.8125vw 0; /*100/1280*/
  background: rgba(255, 255, 255, 0.8);
}

.my-footer-address > div > div {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
}

.my-footer-address iframe {
  width: 100%;
  height: 50vw;
}

.my-footer-address dl {
  margin: 0 10px;
}

.my-footer-address dt {
  text-align: center;
}

.my-footer-address dd {
  font-size: 1.5rem;
  line-height: 1.3;
  margin-top: 35px;
}

.my-footer-address dd strong {
  font-size: 2rem;
}

.my-footer-logo {
  display: block;
  width: 257px;
  margin: 0 auto 80px;
}

.my-footer ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 0 20px;
}

.my-footer ul a {
  display: block;
  padding: 10px;
  font-size: .875rem;
  text-decoration: none;
  color: inherit;
}

.my-footer ul a:hover {
  text-decoration: underline;
}

.my-footer small {
  display: block;
  text-align: center;
  font-size: .625rem;
  margin-top: 145px;
}

/* home */

#home01 {
  padding: 12.890625vw 0 4.6875vw; /*165/1280 60/1280*/
}

#home01 dl {
  text-align: center;
}

#home01 dt {
  font-family: var(--font-serif);
  font-size: 2.25rem;
}

#home01 dd {
  font-size: 1.25rem;
  line-height: 2.25;
  margin-top: 6.25vw; /*80/1280*/
}

#home02 {
  background: #F8F4EC;
  margin-top: 11.328125vw; /*145/1280*/
  padding-top: 12.5vw; /*160/1280*/
  padding-bottom: 14.0625vw; /*180/1280*/
}

#home02:before {
  content: '';
  position: absolute;
  top: -11.328125vw; /*145/1280*/
  right: 0;
  left: 0;
  height: 17.96875vw; /*230/1280*/
  background: url(../img/home-line01.png) center / contain no-repeat;
}

#home02 ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

#home02 ul li + li {
  margin-top: 2.96875vw; /*38/1280*/
}

#home02 li a {
  display: block;
}

#home02 li:nth-of-type(2n+1) a {
  background: #ECE2D0;
}

#home02 li a {
  color: inherit;
  text-decoration: none;
}

#home02 li a > div {
  position: relative;
  max-width: 1280px;
  height: 23.4375vw; /*300/1280*/
  max-height: 300px;
  margin: 0 auto;
}

#home02 li a figure {
  position: absolute;
  overflow: hidden;
  top: 6.666%;
  right: 0;
  width: 46.875%;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

#home02 li:nth-of-type(2n+1) a figure {
  right: auto;
  left: 0;
}

#home02 li a figure > img {
  width: 100%;
  transition: all ease-out .4s;
}

#home02 li a:hover figure > img {
  transform: scale(1.1);
}

#home02 a > div > span {
  position: absolute;
  top: 20%; /*60/300*/
  left: 0;
  width: 41.2%; /*532/1290*/
  height: 5%; /*15/300*/
  z-index: 2;
}

#home02 li:nth-of-type(2n+1) a > div > span {
  left: 49.612%; /*640/1290*/
}

#home02 a > div > span > strong {
  position: absolute;
  bottom: 0;
  left: min(35px, 4.375vw); /*35/800*/
  font-family: var(--font-sans);
  font-weight: bold;
  font-size: min(28px, 3.5vw); /*28/800*/
  text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.16);
}

#home02 li:nth-of-type(2n+1) a > div > span > strong {
  left: min(10px, 1.25vw); /*10/800*/
}

#home02 a > div > span::before,
#home02 a > div > span::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  background: #ACA497;
  height: 2px;
}

#home02 a:hover > div > span::before {
  width: 100%;
  transition: width linear .3s;
}

#home02 a > div > span::after {
  right: 0;
  left: auto;
  transform-origin: bottom right;
  transform: rotate(25deg);
}

#home02 a:hover > div > span::after {
  width: 7.52%; /*40/532*/
  transition: width linear .1s .3s;
}

#home02 a > div > div {
  position: absolute;
  top: 33.333%;
  right: 0;
  left: 0;
  font-family: var(--font-bunkyu);
  font-weight: 900;
  font-size: min(96px, 7.5vw); /*96/1280*/
  line-height: 1;
  text-align: left;
  color: #9b8b70;
  mix-blend-mode: screen;
}

#home02 li:nth-of-type(2n+1) a > div > div {
  text-align: right;
}

#home03 {
  padding-top: 15vw; /*192/1280*/
  padding-bottom: 3.90625vw; /*50/1280*/
}

#home03:before {
  content: '';
  position: absolute;
  top: -12.03125vw; /*154/1280*/
  right: 0;
  left: 0;
  height: 22.8125vw; /*292/1280*/
  background: url(../img/home-line02.png) center / contain no-repeat;
}

#home03 h2 {
  font-size: 3.125rem;
  font-family: var(--font-serif);
  text-align: center;
  margin-bottom: 7.8125vw; /*100/1280*/
}

#home03 a {
  text-decoration: none;
  color: inherit;
  transition: all ease-out .3s;
}

#home03 a:hover {
  text-shadow: 1px 1px 4px #999999;
}

#home03 table {
  max-width: 590px;
  margin: 0 auto 7.8125vw; /*100/1280*/
}

#home03 table tr > td:first-child {
  white-space: nowrap;
}

#home03 table + a {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 196px;
  height: 67px;
  margin: 0 auto;
  background: #E7DFD8;
  font-size: 1.25rem;
  font-weight: bold;
}

#home04 {
  background: #F8F4EC;
  margin-top: 11.71875vw; /*150/1280*/
  padding-top: 8.59375vw; /*110/1280*/
  padding-bottom: 9.6875vw; /*124/1280*/
}

#home04:before {
  content: '';
  position: absolute;
  top: -11.71875vw; /*150/1280*/
  right: 0;
  left: 0;
  height: 17.96875vw; /*230/1280*/
  background: url(../img/home-line03.png) center / contain no-repeat;
}

#home04 h2 {
  font-size: 3.125rem;
  font-family: var(--font-serif);
  text-align: center;
  margin-bottom: 4.6875vw; /*60/1280*/
}

#home04 ul {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 6px;
  list-style: none;
  max-width: 972px;
  margin: 0 auto;
  padding: 0;
}

#home04 ul img {
  height: 54px;
  mix-blend-mode: darken;
}

/* second */

.my-second {
  background: #F8F4EC;
  padding-bottom: min(200px, 15.625vw); /*200/1280*/
}

.my-second-hero {
  position: relative;
}

.my-second-hero > img {
  width: 100%;
}

.my-second-hero > h2 {
  position: absolute;
  left: 0;
  bottom: 11.71875vw; /*150/1280*/
  font-family: var(--font-sans);
  font-weight: 900;
  font-size: max(16px, 2.8125vw); /*36/1280*/
  text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.16);
  padding: 3.125vw 4.6875vw; /*40/1280 60/1280*/
  margin: 0;
  background: rgba(236, 226, 208, 0.8);
}

.my-second-hero.-w {
  color: #fff;
}

.my-second-hero.-s > h2 {
  bottom: 3.90625vw; /*50/1280*/
  background: transparent;
}

.my-second-hero > h2::before,
.my-second-hero > h2::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 2.34375vw; /*30/1280*/
  width: calc(100% - 2.34375vw); /*30/1280*/
  height: 2px;
  background: #ACA497;
}

.my-second-hero.-w > h2::before,
.my-second-hero.-w > h2::after {
  background: #fff;
}

.my-second-hero > h2::after {
  right: 2.34375vw; /*30/1280*/
  left: auto;
  width: 2.34375vw; /*30/1280*/
  transform-origin: bottom right;
  transform: rotate(20deg);
}

.my-second-hero > span {
  position: absolute;
  left: 3.125vw; /*40/1280*/
  bottom: 3.90625vw; /*50/1280*/
  font-family: var(--font-bunkyu);
  font-size: 7.8125vw; /*100/1280*/
  line-height: 1;
  color: #9b8b70;
  mix-blend-mode: screen;
}

.second-breadcrumb {
  list-style: none;
  display: flex;
  padding: 0;
  margin: 10px 0 35px;
  font-size: 14px;
}

.second-breadcrumb > li + li::before {
  content: '＞';
  padding: 0 5px;
}

.second-breadcrumb > li > a {
  color: inherit;
}

.second-breadcrumb > li > a:hover {
  text-decoration: none;
}

.my-second-line01 {
  background: url(../img/second-line01.png) 0 0 no-repeat;
  background-size: contain;
  padding-top: 26.09375vw; /*334/1280*/
}

.my-second-title {
  font-family: var(--font-serif);
  font-weight: bold;
  font-size: clamp(20px, 3.90625vw, 50px); /*50/1280*/
  text-align: center;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  margin-bottom: min(50px, 3.90625vw); /*50/1280*/
  padding: 0 1em;
}

#intro01 {
  background: url(../img/intro-bg01.png) 0 5.9375vw no-repeat; /*76/1280*/
  background-size: 62.5vw auto; /*800/1280*/
  overflow: hidden;
}

#intro01 dl,
#intro01 dd {
  margin: 0;
}

#intro01 > dl,
#intro01 > div,
#intro02 > div {
  max-width: 78.125vw; /*1000/1280*/
  margin: 0 auto;
}

#intro01 dl + dl {
  margin-top: 11.71875vw; /*150/1280*/
}

#intro01 dt {
  display: flex;
  align-items: center;
  height: min(200px, 15.625vw); /*200/1280*/
  padding-left: min(50px, 3.90625vw); /*50/1280*/
  margin-bottom: min(100px, 7.8125vw); /*100/1280*/
  background: url(../img/intro-bg02.png) 0 0 no-repeat;
  background-size: contain;
  font-family: var(--font-serif);
  font-weight: bold;
  font-size: clamp(26px, 3.90625vw, 50px); /*50/1280*/
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
  white-space: nowrap;
}

#intro01 dt > span > span {
  font-size: clamp(40px, 6.25vw, 80px); /*80/1280*/
}

#intro01 dd {
  display: flex;
}

#intro01 dd > div {
  width: 50%;
}

#intro01 dd > div:first-child img {
  width: 100%;
  opacity: 0;
  transform: translateX(-50%);
  transition: all ease-out 1s;
}

#intro01 dd.-is-intersecting > div:first-child img {
  opacity: 1;
  transform: translateX(0);
}

#intro01 dd li + li {
  margin-top: 1em;  
}

#intro01 dd > div:last-child {
  font-size: clamp(15px, 1.71875vw, 22px); /*22/1280*/
  line-height: 1.8;
  padding-left: 5%;
}

#intro01_01 {
  padding-top: 3.90625vw; /*50/1280*/
}

#intro01_01 dt {
  margin-left: 7.8125vw; /*100/1280*/
}

#intro01_01 dd > div:last-child {
  padding-left: 10%;
  font-size: clamp(20px, 3.90625vw, 50px); /*50/1280*/
  font-family: var(--font-sans);
  line-height: 1.7;
  text-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
}

#intro01_01 dd > div:last-child > span {
  position: relative;
  padding-right: .5em;
}

#intro01_01 dd > div:last-child > span::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 1px;
  background: #312D3D;
  transition: all ease-out 1s;
}

#intro01_01 dd > div:last-child > span:nth-of-type(2):after {
  transition-delay: .5s;
}

#intro01_01 dd > div:last-child > span:nth-of-type(3):after {
  transition-delay: 1s;
}

#intro01_01 dd.-is-intersecting > div:last-child > span::after {
  width: 100%;
}

#intro01_02 dt {
  margin-left: 22.34375vw; /*286/1280*/
}

#intro01_03 dt {
  margin-left: 39.0625vw; /*500/1280*/
}

#intro01_04 {
  margin: 0 auto;
}

#intro01_04 > img {
  width: max(120px, 18.59375vw); /*238/1280*/
  margin-bottom: -1.25vw; /*16/1280*/
  mix-blend-mode: darken;
}

#intro01_04 > p {
  background: #fff;
  font-size: clamp(15px, 1.71875vw, 22px); /*22/1280*/
  font-weight: bold;
  margin: 0;
  padding: 1em 4.4em;
}

#intro02 .my-second-title {
  margin-bottom: 11.71875vw; /*150/1280*/
}

#intro02 > div {
  display: flex;
  justify-content: space-between;
}

#intro02 > div > div:first-child {
  width: 35%;
}

#intro02 > div > div:first-child > img {
  width: 100%;
}

#intro02 > div > div:last-child {
  width: 56.8%;
  font-size: max(16px, 1.875vw); /*24/1280*/
}

#consul01 {
  padding-top: min(80px, 6.25vw); /*80/1280*/
}

#consul01 .my-container {
  max-width: clamp(768px, 78.125vw, 1020px); /*1000/1280*/
}

#consul01 .my-container > div {
  display: flex;
  align-items: center;
  margin-bottom: min(150px, 11.71875vw); /*150/1280*/
}

#consul01 .my-container > div > div {
  width: 50%;
}

#consul01 .my-container > div > div > p {
  margin: 0 9%;
  font-size: clamp(15px, 1.71875vw, 22px); /*22/1280*/
  line-height: 2.7;
}

#consul01 .my-container > div > div > img {
  width: 100%;
}

#consul01 section {
  background: #fff;
  padding: min(48px, 3.75vw); /*48/1280*/
}

#consul01 section + section {
  margin-top: min(45px, 3.515625vw); /*45/1280*/
}

#consul01 section .my-second-title {
  margin-bottom: min(90px, 7.03125vw); /*90/1280*/
}

#consul01 section > div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}

#consul01 section dl {
  font-family: var(--font-serif);
  width: 45%;
  margin: 0;
}

#consul01 section dt {
  font-weight: bold;
  font-size: clamp(18px, 2.34375vw, 30px); /*30/1280*/
  text-align: center;
}

#consul01 section dt img {
  width: 100%;
}

#consul01 section dd {
  display: flex;
  flex-wrap: wrap;
  font-size: clamp(14px, 1.5625vw, 20px); /*20/1280*/
  line-height: 2.25;
  margin: 0;
  padding-top: min(37px, 2.890625vw); /*37/1280*/
  column-gap: 1em;
}

#consul02 .my-second-title {
  margin-bottom: min(100px, 7.8125vw); /*100/1280*/
}

#consul02 table {
  font-size: clamp(16px, 1.875vw, 24px); /*24/1280*/
  margin: 0 auto;
}

#consul02 th {
  vertical-align: top;
  padding-right: min(40px, 3.125vw); /*40/1280*/
}

#consul02 th img {
  mix-blend-mode: darken;
  height: clamp(27px, 2.8125vw, 36px); /*36/1280*/
}

#staff01 {
  padding-top: min(80px, 6.25vw); /*80/1280*/
}

#staff01 .my-container {
  max-width: clamp(768px, 78.125vw, 1020px); /*1000/1280*/
}

#staff01 .my-container > div {
  display: flex;
}

#staff01 .my-container > div > div {
  width: 50%;
  margin-bottom: min(120px, 9.375vw); /*120/1280*/
}

#staff01 .my-container > div > div:first-child img {
  display: block;
  width: 90%;
  margin: 0 auto;
}

#staff01 dt {
  font-family: var(--font-bunkyu);
  font-size: clamp(20px, 4.6875vw, 60px); /*60/1280*/
  text-align: center;
  color: #fff;  
}

#staff01 dd {
  margin: min(60px, 4.6875vw) 0 0; /*60/1280*/
  font-size: clamp(14px, 1.5625vw, 20px); /*20/1280*/
  line-height: 2;
}

#staff01 .my-container > p {
  text-align: center;
}

#overview01 {
  padding-top: min(80px, 6.25vw); /*80/1280*/
}

#recruit01 {
  padding-top: min(80px, 6.25vw); /*80/1280*/
}

#recruit01 figure {
  display: block;
  width: clamp(320px, 42.96875vw, 550px); /*550/1280*/
  margin: 0 auto min(60px, 4.6875vw); /*60/1280*/
}

#recruit01 figure img {
  width: 100%;
}

#recruit01 figcaption {
  font-family: var(--font-sans);
  font-size: clamp(14px, 1.25vw, 16px); /*16/1280*/
  line-height: 1.7;
  text-align: center;
}

#comp01 {
  padding-top: min(80px, 6.25vw); /*80/1280*/
}

#comp01 .my-container {
  max-width: clamp(768px, 78.125vw, 1020px); /*1000/1280*/
  font-family: var(--font-sans);
  line-height: 1.7;
}

#comp01 h3 {
  font-size: 1.25rem;
  font-weight: 900;
  text-align: center;
  border-bottom: 1px solid #ACA497;
  padding-bottom: 1.5em;
  margin: 5em 0 2.5em;
}

#comp01 ol > li {
  font-size: 1.15rem;
  font-weight: bold;
  margin-bottom: 1em;
}

#comp01 ol > li > ul {
  font-size: 1rem;
  font-weight: normal;
  margin-left: -1em;
  margin-top: 1em;
}

#privacy01 {
  padding-top: min(80px, 6.25vw); /*80/1280*/
}

#privacy01 .my-container {
  max-width: clamp(768px, 78.125vw, 1020px); /*1000/1280*/
  font-family: var(--font-sans);
  line-height: 1.7;
}

#privacy01 h3 {
  font-size: 1.25rem;
  font-weight: 900;
  text-align: center;
  border-bottom: 1px solid #ACA497;
  padding-bottom: 1.5em;
  margin: 5em 0 2.5em;
}

#privacy01 h4 {
  font-size: 1.15rem;
  font-weight: bold;
  margin-bottom: 1em;
}

#privacy01 small {
  display: block;
  text-align: right;
  margin: 2em 0;
}

#contact01 {
  padding-top: min(80px, 6.25vw); /*80/1280*/
}

#contact01 .my-container {
  max-width: clamp(768px, 78.125vw, 1020px); /*1000/1280*/
  font-family: var(--font-sans);
  line-height: 1.7;
}

#contact01 .my-second-title {
  margin-top: min(80px, 6.25vw); /*80/1280*/
}

/* `md` applies to small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
  .my-header-nav {
    flex-direction: row;
    padding: 5px 10px 5px 0;
    gap: 5px;
  }

  .my-header-nav ul {
    flex-direction: column;
    text-align: right;
  }

  .my-fixed-link img {
    width: 120px;
  }

  .my-hero-lead {
    right: 10px;
    bottom: 5px;
    left: 10px;
    font-size: 1.5rem;
  }

  .my-footer small {
    margin-top: 100px;
  }

  /* home */

  #home01 dd {
    font-size: 1rem;
    text-align: left;
  }
  
  #home04 ul img {
    height: 40px;
  }

  .my-footer-address > div {
    flex-direction: column-reverse;
    gap: 20px;
  }

  .my-footer-address > div > div {
    width: 100%;
  }

  .my-footer-address iframe {
    height: 100vw;
  }

  /* second */
  
  #intro02 > div {
    flex-direction: column;
    gap: 2rem;
  }

  #intro02 > div > div:first-child,
  #intro02 > div > div:last-child {
    width: 100%;
  }

  #consul01 .my-container > div {
    flex-direction: column;
  }

  #consul01 .my-container > div > div {
    width: 100%;
  }
  
  #consul01 .my-container > div > div > p {
    margin-bottom: 1em;
  }

  #consul01 section dl {
    width: 100%;
    margin-top: 3em;
  }
  
}

/* `sm` applies to x-small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) { 
  .my-header-logo img {
    width: 200px;
  }

  .my-header-nav {
    font-size: .9rem;
  }

  .my-header-nav a[href^="tel"] {
    font-size: 1.2rem;
    height: 1.2rem;
    padding-left: 1.2rem;
  }

  .my-hero-lead {
    font-size: 1.1rem;
  }

  #home01 dt {
    font-size: 1.7rem;
  }

  #home03 h2,
  #home04 h2 {
    font-size: 2rem;
  }

  #intro01_01 dt,
  #intro01_02 dt,
  #intro01_03 dt {
    margin-left: 0;
  }

  #intro01 dd {
    flex-direction: column;
    gap: 1rem;
  }

  #intro01 dd > div {
    width: 100%;
  }

  #intro01 dd > div:last-child {
    padding: 0;
  }

  #intro01_04 > p {
    padding: 1em;
  }
}
