main > section {
  width: 100%;
  margin: calc(70 / 750 * 100vw) 0 0;
  background: #fff;
}
main hgroup {
  text-align: center;
  color: #727171;
}
main hgroup > h2, main hgroup > h3 {
  font-family: "Cormorant Garamond", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  font-size: calc(60 / 750 * 100vw);
  line-height: 1;
  letter-spacing: calc(25em / 1000);
}
main hgroup > p {
  margin: calc(15 / 750 * 100vw) 0 0;
  font-size: calc(24 / 750 * 100vw);
  line-height: 1;
  letter-spacing: calc(100em / 1000);
}
main hgroup.pagetitle {
  padding: calc(59 / 750 * 100vw) 0 calc(52 / 750 * 100vw);
}
main hgroup.pagetitle > p {
  letter-spacing: calc(150em / 1000);
}

#intro {
  margin: 0 auto;
  padding: calc(50 / 750 * 100vw) 0 calc(46 / 750 * 100vw);
  background: #f7f7f7;
}
#intro picture {
  display: block;
  width: calc(376 / 750 * 100vw);
  margin: 0 auto;
}
#intro > dl {
  padding: calc(48 / 750 * 100vw) 0 0;
  text-align: center;
}
#intro > dl > dt {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: calc(32 / 750 * 100vw);
  line-height: 1;
  font-weight: 500;
  letter-spacing: calc(50em / 1000);
  color: #c7000a;
}
#intro > dl > dd {
  margin: calc(35 / 750 * 100vw) 0 0;
  font-size: calc(24 / 750 * 100vw);
  line-height: calc(46 / 750 * 100vw);
}

#service > ul {
  display: grid;
  gap: calc(90 / 750 * 100vw) 0;
  margin: calc(75 / 750 * 100vw) 0 0;
  text-align: center;
}
#service > ul > li {
  font-size: calc(24 / 750 * 100vw);
  line-height: calc(46 / 750 * 100vw);
}
#service > ul > li > p {
  font-size: calc(26 / 750 * 100vw);
  line-height: 1;
  letter-spacing: calc(100em / 1000);
  color: #c7000a;
}
#service > ul > li > figure {
  width: calc(272 / 750 * 100vw);
  margin: calc(35 / 750 * 100vw) auto calc(35 / 750 * 100vw);
}

#experience {
  padding: calc(80 / 750 * 100vw) calc(25 / 750 * 100vw);
  background: #f7f7f7;
}
#experience > ol > li {
  display: grid;
  grid-template-columns: calc(205 / 750 * 100vw) auto;
  align-items: center;
  margin: calc(40 / 750 * 100vw) 0 0;
  padding: calc(40 / 750 * 100vw) calc(33 / 750 * 100vw) calc(36 / 750 * 100vw) 0;
  background: #fff;
}
#experience > ol > li:first-child {
  margin: calc(80 / 750 * 100vw) 0 0;
}
#experience > ol > li:nth-child(2n) {
  background: #f8eaea;
}
#experience > ol > li > p {
  display: grid;
  place-content: center;
}
#experience > ol > li > p > img {
  width: calc(125 / 750 * 100vw);
}
#experience > ol dl > dt {
  font-size: calc(28 / 750 * 100vw);
  line-height: 1;
  letter-spacing: calc(100em / 1000);
}
#experience > ol dl > dd {
  margin: calc(18 / 750 * 100vw) 0 0;
  font-size: calc(24 / 750 * 100vw);
  line-height: calc(45 / 750 * 100vw);
  letter-spacing: calc(50em / 1000);
}
@media print, screen and (min-width:769px) {
  main > section {
    width: min(calc(1400 / 1440 * 100vw), 1400px);
    margin: min(calc(110 / 1440 * 100vw), 110px) auto 0;
  }
  main hgroup > h2, main hgroup > h3 {
    font-size: min(calc(40 / 1440 * 100vw), 40px);
  }
  main hgroup > p {
    margin: min(calc(20 / 1440 * 100vw), 20px) 0 0;
    font-size: min(calc(16 / 1440 * 100vw), 16px);
  }
  main hgroup.pagetitle {
    padding: min(calc(62 / 1440 * 100vw), 62px) 0 min(calc(61 / 1440 * 100vw), 61px);
  }
  #intro {
    display: grid;
    grid-template-columns: min(calc(523 / 1440 * 100vw), 523px) auto;
    align-items: center;
    padding: 0;
  }
  #intro picture {
    width: min(calc(523 / 1440 * 100vw), 523px);
  }
  #intro > dl {
    padding: 0 0 0 min(calc(70 / 1440 * 100vw), 70px);
    text-align: left;
  }
  #intro > dl > dt {
    font-size: min(calc(28 / 1440 * 100vw), 28px);
  }
  #intro > dl > dd {
    margin: min(calc(30 / 1440 * 100vw), 30px) 0 0;
    font-size: min(calc(16 / 1440 * 100vw), 16px);
    line-height: min(calc(34 / 1440 * 100vw), 34px);
  }
  #service > ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 0 min(calc(25 / 1440 * 100vw), 25px);
    margin: min(calc(90 / 1440 * 100vw), 90px) 0 0;
  }
  #service > ul > li {
    font-size: min(calc(16 / 1440 * 100vw), 16px);
    line-height: min(calc(34 / 1440 * 100vw), 34px);
  }
  #service > ul > li > p {
    font-size: min(calc(20 / 1440 * 100vw), 20px);
  }
  #service > ul > li > figure {
    width: auto;
    margin: min(calc(30 / 1440 * 100vw), 30px) 0 min(calc(28 / 1440 * 100vw), 28px);
  }
  #experience {
    padding: min(calc(60 / 1440 * 100vw), 60px);
  }
  #experience > ol > li {
    grid-template-columns: min(calc(245 / 1440 * 100vw), 245px) auto;
    width: min(calc(826 / 1440 * 100vw), 826px);
    height: min(calc(241 / 1440 * 100vw), 241px);
    margin: min(calc(-36 / 1440 * 100vw), -36px) 0 0;
    padding: 0;
  }
  #experience > ol > li:first-child {
    margin: min(calc(70 / 1440 * 100vw), 70px) 0 0;
  }
  #experience > ol > li:nth-child(2n) {
    margin: min(calc(-36 / 1440 * 100vw), -36px) 0 0 auto;
  }
  #experience > ol > li > p > img {
    width: auto;
  }
  #experience > ol dl > dt {
    font-size: min(calc(28 / 1440 * 100vw), 28px);
  }
  #experience > ol dl > dd {
    margin: min(calc(23 / 1440 * 100vw), 23px) 0 0;
    font-size: min(calc(16 / 1440 * 100vw), 16px);
    line-height: min(calc(30 / 1440 * 100vw), 30px);
  }
}