@charset "UTF-8";

html {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-feature-settings: "palt";
  letter-spacing: .03em;
  scroll-behavior: smooth;
  color: #1e1e1e;

  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* header -------------------------------------------------*/
header {
  position: relative;
}

.mv {
  background: no-repeat url(../img/mv.jpg) left center / cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.logo {
  margin: 0 auto;
  max-width: 1350px;
  padding: 30px 15px 0;
  position: relative;
  z-index: 2;
}

.logo img {
  width: clamp(21.875rem, 6.875rem + 25vw, 29.375rem); /* 470px */
  height: 100%;
}

.sub .logo img {
  width: clamp(18.75rem, 14.762rem + 16.24vw, 29.375rem); /* 470px */
}

.mainContainer {
  margin: 0 auto 0;
  max-width: 1350px;
  padding: 73px 7% 53px;
  position: relative;
  z-index: 2;
}

.mainContainer > p {
  font-size: clamp(1rem, 0.824rem + 0.75vw, 1.5rem); /* 24px */
  margin-bottom: 20px;
  font-weight: bold;
}

.mainContainer h1 {
  font-size: clamp(2.625rem, 2.075rem + 2.35vw, 4.188rem); /* 67px */
  line-height: 1.2em;
  font-weight: bold;
  margin-bottom: 32px;
}

.mainContainerMenu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 530px;
  margin-bottom: 32px;
}

.mainContainerMenu li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 260px;
  height: 90px;
  /* background-color: #fff8ec; */
  background: #ffffff;
  border: 1px solid #000000;
  border-radius: 25px;
  font-size: clamp(1rem, 0.868rem + 0.56vw, 1.375rem); /* 22px */
  font-weight: bold;
  text-align: center;
  line-height: 1.4em;
}

.mainContainerMenu li:nth-child(2n+1)  {
  margin-left: 1%;
}

.mainContainerMenu li:nth-child(-n+2) {
  margin-bottom: 1%;
}

.mainContainerPrice {
  max-width: 530px;
}

.mainContainerPriceTh {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 460px;
  height: 45px;
  margin: 0 auto;
  text-align: center;
  border: 1px solid #000000;
  font-size: clamp(1rem, 0.868rem + 0.56vw, 1.375rem); /* 22px */
  font-weight: bold;
  background-color: #fff8ec;
}

.mainContainerPriceTh span {
  font-size: 70%;
}

.mainContainerPriceTd {
  max-width: 460px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 5px;
  border: 1px solid #000000;
  border-top: none;
  color: #cd0023;
  background-color: #ffffff;
}

.mainContainerPriceTd p {
  font-family: "Geist";
  font-weight: bold;
  font-size: clamp(2.938rem, 2.233rem + 3vw, 4.938rem); /* 79px */
}

.mainContainerPriceTd ul {
  text-align: left;
  font-weight: bold;
}

.mainContainerPriceTd li:nth-child(1) {
  font-size: clamp(0.75rem, 0.662rem + 0.38vw, 1rem); /* 15px */
  margin-bottom: -5px;
}

.mainContainerPriceTd li:nth-child(2) {
  font-size: clamp(1.5rem, 1.148rem + 1.5vw, 2.5rem); /* 40px */
}

.mainContainerPriceCap {
  max-width: 460px;
  margin: 0 auto;
  text-align: right;
  font-size: clamp(0.75rem, 0.662rem + 0.38vw, 1rem); /* 15px */ 
}

/* common -------------------------------------------------*/
.wrap {
  width: 100%;
  margin: 0 auto;
}

.bgYellow {
  background: #fff8ec;
}

.bgOrange {
  background: #db8952;
}

.bgGreen {
  background: #eff8eb;
}

.contentsAll {
  width: 100%;
  margin: 0 auto;
}

article.contentsAll:first-child {
  margin: 0 auto;
}

article:not(:last-child) {
  margin: 0 auto 90px;
}

.contents1150 {
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 15px;
}

p.contentsRead {
  font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem); /* 20px */
  line-height: 1.5em;
  text-align: center;
  margin: 0 auto;
}

p.contentsRead:not(:last-child) {
  margin-bottom: 30px;
}

.w780 {
  max-width: 780px;
}

.oHr {
  margin: 90px auto;
  padding-bottom: 90px;
  background-image: radial-gradient(circle, #db8952 4px, transparent 4px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 22px 8px;
}

.AllBlock {
  margin: 90px auto;
  padding: 50px;
}

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

/* contents -------------------------------------------------*/
.device {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  max-width: 1050px;
  margin: 0 auto;
  padding: 45px 0;
}

.deviceTelnum {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px 25px;
  margin-bottom: 25px;
  width: 100%;

  background-image: radial-gradient(circle, #000000 3px, transparent 3px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 22px 6px;
}

.openTime {
  font-size: clamp(1rem, 0.824rem + 0.75vw, 1.5rem); /* 24px */
  display: flex;
  flex-direction: column;
  text-align: center;
  letter-spacing: 0.1em;
  font-weight: 600;
  margin-right: 10px;
  line-height: 1em;
}

.openTime span {
  font-size: 80%;
  margin-bottom: clamp(0.125rem, -0.051rem + 0.75vw, 0.625rem);
}

.onesetPriceCap br {
  display: none;
}

.telButton {
  display: none;
}

.telNum {
  /* height: 96px; */
  font-size: clamp(3rem, 2.01rem + 4.23vw, 5.813rem); /* 93px */
  font-family: "Geist";
  font-weight: bold;
  color: #cd0023;
  line-height: 1em;
  padding-left: 6.5%;

  position: relative;
}

.telNum::before {
  font-family: "Font Awesome 6 Free";
  line-height: 1;
  position: absolute;
  top: clamp(0.563rem, 0.187rem + 1.53vw, 1.563rem); /* 25px */
  left: 0;
  margin: 0;
  padding: 0;
  content: '\f095';
  font-size: clamp(1.25rem, 0.546rem + 2.87vw, 3.125rem); /* 50px */
  font-weight: 900;
  color: #000000;
}

.deviceForm {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto;
  width: 100%;
}

.deviceForm div {
  margin: 0 15px;
  width: 100%;
}

.deviceForm a {
  width: 100%;
  height: 96px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  color: #FFF;
  transition: 0.3s ease-in-out;
  font-size: clamp(1.313rem, 1.092rem + 0.94vw, 1.938rem); /* 31px */
  font-weight: 500;
  border-radius: 8px;

  position: relative;
}

.deviceForm div a:hover {
  transform: translateY(3px);
}

.deviceForm div.lineForm a::before {
  font-family: "Font Awesome 6 Brands";
  line-height: 1;
  position: absolute;
  top: auto;
  left: 8%;
  margin: 0;
  content: '\f3c0';
  font-size: clamp(1.875rem, 1.545rem + 1.41vw, 2.813rem); /* 45px */
  font-weight: 400;
  color: #ffffff;
}

.deviceForm div.lineForm a {
  padding-left: 15%;
  background-color: #41a636;
  border-bottom: solid 5px #417d14;
}

.deviceForm div.lineForm a:hover {
  border-bottom: solid 2px #417d14;
}

.deviceForm div.mailForm a::before {
  font-family: "Font Awesome 6 Free";
  line-height: 1;
  position: absolute;
  top: auto;
  left: 8%;
  margin: 0;
  content: '\f31c';
  font-size: clamp(1.875rem, 1.545rem + 1.41vw, 2.813rem); /* 45px */
  font-weight: 900;
  color: #ffffff;
}

.deviceForm div.mailForm a {
  padding-left: 15%;
  background-color: #cd0023;
  border-bottom: solid 5px #920023;
}

.deviceForm div.mailForm a:hover {
  border-bottom: solid 2px #920023;
}

.onesetTop3Wrap {
  margin: 120px auto 0;
}

.onesetTop3Title {
  display: flex;
  align-content: baseline;
  justify-content: center;
  max-width: 900px;
  margin: 0 auto 30px;
}

.onesetTop3Img {
  margin-right: 3%;
  margin-left: -5%;
}

.onesetTop3Img img {
  width: clamp(5rem, 1.807rem + 11.88vw, 12.5rem);
}

.onesetTopCap {
  font-size: clamp(2.188rem, 0.857rem + 4.95vw, 5.313rem);
  font-weight: 700;
  line-height: 1em;
  margin-right: 2%;
}

.onesetTopSp {
  /* width: 20%; */
  line-height: 1em;
  font-size: clamp(4rem, 1.579rem + 9.01vw, 9.688rem); /* 155px */
  font-family: "Geist";
  font-weight: bold;

  display: flex;
  flex-direction: column;
  margin-top: -5%;
  color: #41a636; 
}

.onesetTop3List {
  max-width: 900px;
  margin: 0 auto clamp(3.75rem, 2.952rem + 2.97vw, 5.625rem);
}

.onesetTop3List ul li {
  display: flex;
  border-bottom: 3px solid #000000;
  height: clamp(2.75rem, 1.26rem + 5.54vw, 6.25rem); /* 100px */
}

.onesetTop3List ul li:not(:last-child) {
  margin-bottom: clamp(1.875rem, 1.077rem + 2.97vw, 3.75rem); /* 60px */
}

.onesetTop3ListNum {
  width: clamp(2.75rem, 1.26rem + 5.54vw, 6.25rem); /* 100px */
  background: #000000;
  color: #ffffff;
  font-family: "Geist";
  font-weight: bold;
  font-size: clamp(1.938rem, 0.9rem + 3.86vw, 4.375rem); /* 70px */
  line-height: 1em;

  display: flex;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
}

.onesetTop3ListName {
  font-size: clamp(1.75rem, 0.792rem + 3.56vw, 4rem); /* 64px */
  font-weight: 700;
  width: 100%;
  padding-left: 2%;
}

.onesetTop3ListName span {
  font-size: 70%;
  margin-right: 1%;
}

.onesetTopSp span {
  font-size: clamp(0.625rem, 0.252rem + 1.39vw, 1.5rem); /* 24px */
  margin: 0;
  line-height: 1em;
  color: #000000;
}

.onesetWrap, .estimateWrap, .constructionWrap {
  border: 6px solid #db8952;
  border-radius: clamp(0.938rem, 0.538rem + 1.49vw, 1.875rem);
}

.onesetContainer, .estimateContainer, .constructionContainer {
  padding: 25px;
}

.mainTitle {
  font-size: clamp(1.5rem, 0.436rem + 3.96vw, 4rem); /* 64px */
  font-weight: bold;
  margin: 0 auto;
  text-align: center;

  height: clamp(3rem, 0.552rem + 9.11vw, 8.75rem);
  border-bottom: 5px solid #db8952;
  display: flex;
  align-items: center;
  justify-content: space-between; 
}

.top3Num {
  width: clamp(3rem, 0.552rem + 9.11vw, 8.75rem);
  line-height: clamp(3rem, 0.552rem + 9.11vw, 8.75rem);
  background: #db8952;
  font-size: clamp(2.25rem, 0.733rem + 5.64vw, 5.813rem); /* 93px */
  font-family: "Geist";
  font-weight: bold;
  border-radius: clamp(0rem, -0.399rem + 1.49vw, 0.938rem) 0 0 0;
  color: #ffffff;
  
  display: flex;
  align-items: center;
  justify-content: center;
}

.top3Name {
  width: 100%;
}

.mainTitle p {
  display: inline-block;
  margin: 0 auto;
  /* border-bottom: 3px solid #000000; */
  /* padding-bottom: 5px; */
}

.contents1150.oneset {
  margin-bottom: 90px;
}

.onesetPriceWrap {
  max-width: 890px;
  margin: 0 auto 30px;
}

.onesetPriceContainer {
  display: flex;
  align-items: center;
  justify-content: center;
}

.onesetContainer .contentsRead,
.estimateContainer .contentsRead,
.constructionContainer .contentsRead {
  text-align: left;
  font-weight: 500;
}

.onesetPriceTh {
  display: block;
  /* height: 45px; */
  /* margin: 0 auto; */
  margin-top: -7%;
  text-align: center;
  font-size: clamp(1.938rem, 1.849rem + 0.38vw, 2.188rem); /* 35px */
  font-weight: bold;
  letter-spacing: .1em;
}

.onesetPriceTh strong {
  font-family: "Geist";
  font-size: 130%;
  font-weight: 600;
}

.onesetPriceTh span {
  font-size: 60%;
  display: block;
  letter-spacing: .1em;
}

.onesetPriceTd {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 5px 20px;
  border-top: none;
  color: #cd0023;
}

.onesetPriceTd p {
  font-family: "Geist";
  font-weight: 700;
  font-size: clamp(5.5rem, 3.783rem + 7.32vw, 10.375rem); /* 166px */
  letter-spacing: -.05em;
  line-height: 1em;
  margin: 0 auto 20px;
}

.onesetPriceTd ul {
  text-align: left;
  font-weight: 800;
  margin-top: -20px;
}

.onesetPriceTd li:nth-child(1) {
  font-size: clamp(1rem, 0.824rem + 0.75vw, 1.5rem); /* 24px */
  margin-bottom: -5px;
}

.onesetPriceTd li:nth-child(2) {
  font-size: clamp(2.5rem, 1.708rem + 3.38vw, 4.75rem); /* 76px */
}

.mainContainerPriceTd span, .onesetPriceTd span {
  font-size: 60%;
}

.onesetPriceCap {
  max-width: 890px;
  margin: -20px auto 0;
  text-align: right;
  font-size: clamp(0.75rem, 0.706rem + 0.19vw, 0.875rem); /* 14px */
}

.onesetSixPointWrap {
  background: #fff8ec;
  /* border-radius: 30px; */
  max-width: 1050px;
  padding: 5%;
  margin: 0 auto;
}

.onesetSixPointTitle {
  font-size: clamp(1.063rem, 0.429rem + 2.58vw, 2.75rem); /* 44px */
  font-weight: bold;
  margin: 0 auto 40px;
  text-align: center;
}

.onesetSixPointTitle p {
  display: inline-block;
  margin: 0 auto;
  border-bottom: 3px solid #000000;
  padding-bottom: 5px;
}

.onesetSixPointTitle span {
  font-size: 130%;
  padding: 0 5px;
  color: #db8952;
}

.onesetSixPointList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.onesetSixPointList li {
  width: 50%;
  font-size: clamp(1.563rem, 1.026rem + 1.36vw, 2.25rem); /* 35px */
  font-weight: bold;
}

.onesetSixPointList li:nth-child(-n+4)  {
  margin-bottom: 1.5%;
}

.estimate {
  margin: 0 auto 90px;
}

.estimate .device {
  background: #fff8ec;
  max-width: 1150px;
  padding: 45px 50px;
  margin: 0 auto 50px;
}

.estimateTitle {
  margin-bottom: 20px;
  max-width: 1150px;
  height: 110px;
  background: #db8952;
  color: #ffffff;
  font-weight: bold;
  display: flex;
  align-items: center;

  position: relative;
  
}

.estimateTitle p:nth-child(1)::before {
  content: '';
  
  width: 12%;
  height: 110px;
  background-repeat: no-repeat;
  background-size: 50px;
  background-position: center left;
}

.estimateTitle.estimateTel,.estimateTitle.estimateForm {
 padding-left: 13%; 
}

.estimateTitle.estimateTel p:nth-child(1)::before {
  font-family: "Font Awesome 6 Free";
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  content: '\f095';
  font-size: clamp(1.125rem, 0.553rem + 2.44vw, 2.75rem); /* 44px */
  font-weight: 900;
  color: #ffffff;
}

.estimateTitle.estimateForm p:nth-child(1)::before {
  font-family: "Font Awesome 6 Free";
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  content: '\f31c';
  font-size: clamp(1.125rem, 0.553rem + 2.44vw, 2.75rem); /* 44px */
  font-weight: 900;
  color: #ffffff;
}

.estimateTitle p:nth-child(1) {
  width: 100%;
  font-size: clamp(1.938rem, 1.849rem + 0.38vw, 2.188rem); /* 35px */
}

.estimateTitle p:nth-child(2) {
  width: 50%;
  font-size: clamp(0.813rem, 0.343rem + 1.91vw, 2.063rem); /* 33px */
  padding-right: 3%;
  text-align: right;
  display: flex;
  align-items: center;
  justify-content: right;
}

.estimateTitle p:nth-child(2) span {
  font-size: 70%;
  margin-right: 3%;
}

.estimateContentsBlock {
  display: flex;
  justify-content: space-between;
}

.estimateContentsBlock.Tel {
  margin-bottom: 50px;
}

.estimateContentsBlock.Line {
  padding: 0 20px;
}

.estimateContentsBlock.Tel li:nth-child(2n+1) {
  width: 250px;
}

.estimateContentsBlock.Line li:nth-child(2n+1) {
  width: 510px;
}

.estimateContentsBlock li:nth-child(2n+1) img {
  width: 100%;
  height: 210px;
  object-fit: cover;
}

.estimateContentsBlock li:nth-child(2n) i {
  margin: 70px 0 0 -6px;
  padding: 0 5px;
  font-size: clamp(1.125rem, 0.553rem + 2.44vw, 2.75rem); /* 44px */
  color: #db8952;
}

.estimateContentsBlock.Line li:nth-child(2n) i {
  margin: 70px 0 0 -6px;
  padding: 0 5px;
  font-size: clamp(1.875rem, 1.127rem + 3.19vw, 4rem); /* 64px */
  color: #db8952;
}

.estimateBlockImg {
  margin-bottom: 15px;
}

.estimateBlockTitle {
  font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem); /* 20px */
  font-weight: bold;
  margin-bottom: 15px;
}

.estimateBlockCap {
 text-align: justify; 
 line-height: 1.4em;
}

.construction {
  margin: 0 auto 90px;
}

.constructionImg {
  margin: 0 auto 50px;
  text-align: center;
  max-width: 800px;
}

.constructionImg img {
  width: 100%;
}

.constructionCap {
  width: 80%;
  margin: 0 auto;
  line-height: 1.5em;
}

.hakajimaiFlow {
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(5.313rem, 2.782rem + 10.8vw, 12.5rem);
  font-size: clamp(1.875rem, 1.061rem + 3.47vw, 4.188rem); /* 67px */
  margin: 0 auto 90px;
}

.hakajimaiFlow .hakajimaiFlowMaintitle {
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  font-weight: 600;
  color: #ffffff;
  margin-right: 20px;
}

.hakajimaiFlow .hakajimaiFlowIcon {
  width: clamp(4.375rem, 3.099rem + 5.45vw, 8rem);
  height: clamp(4.375rem, 3.099rem + 5.45vw, 8rem);
  background: #ffffff;
  border-radius: 100px;
  font-family: "Geist";
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #db8952;
}

.FlowIconUp {
  font-size: clamp(1.375rem, 0.891rem + 2.07vw, 2.75rem); /* 44px */
}

.FlowIconUp span {
 vertical-align: middle;
  font-size: 60%;
  margin: 0 6px 0 5px;
}

.FlowIconDown {
  font-size: clamp(1rem, 0.824rem + 0.75vw, 1.5rem); /* 24px */
}

.kuyouTop5Wrap {
  width: 100%;
  margin: 50px auto;
}

.kuyouTop5List {
  max-width: 960px;
  margin: 0 auto 20px;
}

.kuyouTop5List ul li {
  display: flex;
  border-bottom: 3px solid #000000;
  height: clamp(2.75rem, 1.26rem + 5.54vw, 6.25rem); /* 100px */
}

.kuyouTop5List ul li:not(:last-child) {
  margin-bottom: clamp(1.875rem, 1.609rem + 0.99vw, 2.5rem); /* 40px */
}

.kuyouTop5ListNum {
  width: clamp(2.75rem, 1.26rem + 5.54vw, 6.25rem); /* 100px */
  background: #000000;
  color: #ffffff;
  font-family: "Geist";
  font-weight: bold;
  font-size: clamp(1.938rem, 0.9rem + 3.86vw, 4.375rem); /* 70px */
  line-height: 1em;

  display: flex;
  align-content: center;
  justify-content: center;
  flex-wrap: wrap;
  padding-top: 15px;
}

.kuyouTop5ListName {
  font-size: clamp(1.438rem, 0.586rem + 3.17vw, 3.438rem); /* 64px */
  font-weight: 700;
  width: 100%;
  padding-left: 2%;
  display: flex;
  align-items: center;

  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  font-weight: 600;
}

.kuyouTop5ListName span {
  font-size: 70%;
}

.kuyouTop5ListCap {
  max-width: 960px;
  margin: 0 auto;
  text-align: right;
  font-size: clamp(0.75rem, 0.706rem + 0.19vw, 0.875rem); /* 14px */
}

li.gold .kuyouTop5ListNum {
  background: #e7bb02;
  clip-path: polygon(0 20%, 100% 0, 100% 100%, 0% 100%);
}

li.silver .kuyouTop5ListNum {
  background: #878794;
  clip-path: polygon(0 20%, 100% 0, 100% 100%, 0% 100%);
}

li.bronze .kuyouTop5ListNum {
  background: #9f5f38;
  clip-path: polygon(0 20%, 100% 0, 100% 100%, 0% 100%);
}

li.normal .kuyouTop5ListNum {
  background: #cccccc;
  color: #000000;
  clip-path: polygon(0 20%, 100% 0, 100% 100%, 0% 100%);
}

.stepBubble {
  margin: 0 auto 50px;
  position: relative;
  max-width: 600px;
  padding: 10px;
  border: 1px solid #000000;
  background-color: #fff8ec;
  text-align: center;
  color: #000000;
  border-top: none;
  border-left: none;
  border-right: none;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  font-size: clamp(1.313rem, 0.652rem + 2.82vw, 3.188rem); /* 54px */
  font-weight: 600;
}

.stepBubble::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 20px 20px 0 0;
  border-color: #000000 transparent transparent;
  translate: -50% 100%;
}

.stepBubble::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 17.6px 17.6px 0 0;
  border-color: #fff8ec transparent transparent;
  translate: calc(-50% - 0.2px) 100%;
}

.hakajimaiFlowTitle h3 {
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  font-size: clamp(1.625rem, 1.097rem + 2.25vw, 3.125rem); /* 50px */
  font-weight: bold;
  margin-bottom: 30px;
}

.hakajimaiFlowContents {
  margin-bottom: 120px;
}

.hakajimaiFlowContentsSelect li {
  background-color: #fff8ec;
  border-radius: 10px;
  padding: 35px;
  margin-bottom: 20px;
  display: flex;
  justify-content: space-between;
}

.hakajimaiFlowContentsSelect li:last-child {
  margin-bottom: 0;
}

.hakajimaiFlowContentsSelect > li > div:nth-child(1) {
  /* width: 100%; */
  width: 70%;
  margin-right: 3%;
}

.hakajimaiFlowContentsSelect > li > div:nth-child(1) > p:nth-child(1) {
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  font-size: 35px;
  font-weight: bold;
  border-bottom: 1px solid #000000;
  padding-bottom: 15px;
  margin-bottom: 20px; 
}

.hakajimaiFlowContentsSelect > li > div:nth-child(1) > p:nth-child(2) {
  font-size: 20px;
  line-height: 1.5em;
  text-align: justify;
}

.hakajimaiFlowContentsSelect > li > div:nth-child(2) {
  max-width: 350px;
}

.hakajimaiFlowContentsSelect > li > div:nth-child(2) img {
  width: 100%;
  height: 210px;
  object-fit: cover;
}

.hakajimaiFlowTitle .stepEmphasis {
  font-size: clamp(1.938rem, 1.849rem + 0.38vw, 2.188rem); /* 35px */
  font-weight: bold;
  text-decoration: underline;
  color: #cd0023;
  margin: -30px auto 45px;
}

.hakajimaiFlowContentsProcedure > li {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}

.hakajimaiFlowContentsProcedure > li > div:nth-child(1) {
  width: 720px;
  margin-right: 20px;
}

.hakajimaiFlowContentsProcedure > li > div:nth-child(1) > div {
  max-width: 720px;
  height: 60px;
  background: #db8952;
  border-radius: 30px;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem); /* 20px */
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  margin-bottom: 15px;
}

.hakajimaiFlowContentsProcedure > li > div:nth-child(1) > p {
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  font-weight: 600;
  font-size: clamp(1.5rem, 1.148rem + 1.5vw, 2.5rem); /* 40px */
  color: #db8952;
  margin-bottom: 15px;
}

.hakajimaiFlowContentsProcedure > li > div:nth-child(1) > p span {
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  font-weight: 500;
  font-size: 60%;
  color: #000000;
}

.hakajimaiFlowContentsProcedure > li > div:nth-child(1) li {
  font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem); /* 20px */
  list-style: disc;
  margin-left: 20px;
  line-height: 1.5em;
}

.hakajimaiFlowContentsProcedure > li > div:nth-child(2) {
  width: 390px;
  height: 250px;
  background: #dad8cf;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hakajimaiFlowContentsProcedure > li > div:nth-child(2) img {
  width: 156px;
}

.sapporoshieiWrap {
  background: #fff8ec;
  border-radius: 30px;
  /* padding: 30px 2.5%; */
  padding: 3.5%;
}

.sapporoshieiTitle span {
  color: #cd0023;
  font-size: 110%;
  font-weight: bold;
}

.sapporoshieiTitle {
  /* margin-bottom: 50px; */
  margin-bottom: 30px;
}

.sapporoshieiTitle h4 {
  margin: 0 auto 30px;
  max-width: 600px;
  height: 80px;
  background: #ffffff;
  display: flex;
  align-items: center;
  border-top: 3px solid #000000;
  border-bottom: 3px solid #000000;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  font-weight: 600;
  font-size: clamp(1.25rem, 0.957rem + 1.09vw, 1.938rem); /* 31px */
}

.sapporoshieiTitle h4 p {
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 70px;
  padding: 20px;
}

.sapporoshieiTitle > p {
  font-size: clamp(1rem, 0.947rem + 0.2vw, 1.125rem); /* 18px */
  line-height: 1.5em;
}

.sapporoshieiSelection {
  display: flex;
  justify-content: space-between;
  max-width: 1050px;
  margin-bottom: 50px;
}

.sapporoshieiSelection li {
  max-width: 330px;
  margin: 0 10px;
  line-height: 1em;
}

.sapporoshieiSelection li p {
  font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem); /* 20px */
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #db8952;
  color: #ffffff;
}

.sapporoshieiSelection li img {
  width: 100%;
}

.sapporoshieiAccordionWrap {
  max-width: 1050px;
}

.sapporoshieiAccordionSwitch {
  height: 50px;
  font-size: clamp(1rem, 0.824rem + 0.75vw, 1.5rem); /* 24px */
  font-weight: 600;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #db8952;
  border-radius: 10px;
  margin: 0 auto;
}

.sapporoshieiAccordionContents ul li i {
  font-size: 70%;
  vertical-align: middle;
  margin-left: 5px;
}

.sapporoshieiAccordionContents.endBlock {
  margin-top: 20px;
}

.sapporoshieiAccordionContents ul {
  padding: 30px 20px 0;
}

.sapporoshieiAccordionContents li {
  font-size: clamp(1.125rem, 1.019rem + 0.4vw, 1.375rem); /* 22px */
  font-weight: 600;
  line-height: 1em;
}

.sapporoshieiAccordionContents li:not(:last-child) {
  margin-bottom: 1em;
}

.sapporoshieiAccordionContents li a {
  color: #41a636;
  text-decoration: underline;
}

.sapporoshieiAccordionContents p.supportRead {
  font-size: clamp(1rem, 0.947rem + 0.2vw, 1.125rem); /* 18px */
  line-height: 1.8em;
  margin: 30px auto;
  text-align: center;
}

.sapporoshieiAccordionContents p.supportRead span {
  color: #cd0023;
  font-size: 110%;
  font-weight: bold;
}

.madoguchiTitle {
  font-size: clamp(1rem, 0.714rem + 1.22vw, 1.813rem); /* 29px */
  text-decoration: underline;
  margin-bottom: 20px;
}

.madoguchiWrap.startBlock {
  margin-bottom: 50px;
}

.madoguchiContainer {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.madoguchiContainer.EndBlock {
  margin-bottom: 0;
}

.madoguchiReien {
  font-size: clamp(1rem, 0.868rem + 0.56vw, 1.375rem); /* 22px */
  margin-bottom: 10px;
}

.madoguchiTh {
  font-size: clamp(0.75rem, 0.662rem + 0.38vw, 1rem); /* 15px */
  background: #db8952;
  border-radius: 2px;
  padding: 12px;
  width: 80px;
  height: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
}

.madoguchiTd {
  width: 100%;
  margin-left: 20px;
}

.madoguchiTd p:nth-child(1) {
  font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem); /* 20px */
  line-height: 1em;
  padding: 2px 0 10px;
}

.madoguchiTd p:nth-child(2) {
  font-size: clamp(0.75rem, 0.662rem + 0.38vw, 1rem); /* 15px */
  line-height: 1.6em;
  font-weight: 400;
}

.madoguchiTd span {
  font-size: 80%;
}

.sapporoshieiAccordionContents > details summary::after {
  top: calc(50% - .7rem);
  content: '\f138';
  font-size: 1.4em;
  color: #ffffff;
}

.sapporoshieiAccordionContents > details[open] summary::after {
  top: calc(50% - .7rem);
  content: '\f138';
  font-size: 1.4em;
  color: #ffffff
}
.sapporoshieiAccordionContents > details summary,
.sapporoshieiAccordionContents > details[open] summary {
  cursor: initial;
}

.sapporoshieiAccordionContents > details summary::after,
.sapporoshieiAccordionContents > details[open] summary::after {
  display: none;
}

.hakajimaiFlowContentsReturn li:nth-child(2n+1) {
  background-color: #fff8ec;
  border-radius: 10px;
  padding: 35px;
  /* margin-bottom: 20px; */
  display: flex;
  justify-content: space-between;
}

.hakajimaiFlowContentsReturn li:nth-child(2n) {
  margin: -20px auto;
  display: flex;
  justify-content: center;
  font-size: clamp(1.875rem, 1.127rem + 3.19vw, 4rem); /* 64px */
  color: #db8952;
}

.hakajimaiFlowContentsReturn li:last-child {
  margin-bottom: 0;
}

.hakajimaiFlowContentsReturn > li > div:nth-child(1) {
  max-width: 350px;
}

.hakajimaiFlowContentsReturn > li > div:nth-child(1) img {
  width: 100%;
  height: 210px;
  object-fit: cover;
}

.hakajimaiFlowContentsReturn > li > div:nth-child(2) {
  /* width: 100%; */
  width: 70%;
  margin-left: 3%;
}

.hakajimaiFlowContentsReturn > li > div:nth-child(2) > p:nth-child(1) {
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  font-size: clamp(1.938rem, 1.849rem + 0.38vw, 2.188rem); /* 35px */
  font-weight: bold;
  margin-bottom: 20px; 
}

.hakajimaiFlowContentsReturn > li > div:nth-child(2) > p:nth-child(2) {
  font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem); /* 20px */
  line-height: 1.5em;
}

.hakajimaiFlowContentsNew li {
  background-color: #fff8ec;
  border-radius: 10px;
  margin-bottom: 20px;
  display: flex;
}

.hakajimaiFlowContentsNew li:last-child {
  margin-bottom: 0;
}

.hakajimaiFlowContentsNew > li > div:nth-child(1) {
  display: flex;
  justify-content: center;
  width: 8%;
  background: #db8952;
  border-radius: 10px; 
  padding: 20px 2%;
  font-size: clamp(1.313rem, 0.652rem + 2.82vw, 3.188rem); /* 54px */
  color: #ffffff;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  font-weight: 600;
}

.hakajimaiFlowContentsNew > li > div:nth-child(2) {
  display: flex;
  justify-content: space-between;
  padding: 35px;
  width: 100%;
}

.hakajimaiFlowContentsNew > li > div:nth-child(2) > div:nth-child(1) {
  /* width: 100%; */
  width: 70%;
  margin-right: 3%;
}

.hakajimaiFlowContentsNew > li > div:nth-child(2) > div:nth-child(1) > p:nth-child(1) {
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  font-size: clamp(1.938rem, 1.849rem + 0.38vw, 2.188rem); /* 35px */
  font-weight: bold;
  border-bottom: 1px solid #000000;
  padding-bottom: 15px;
  margin-bottom: 20px; 
}

.hakajimaiFlowContentsNew > li > div:nth-child(2) > div:nth-child(1) > p:nth-child(2) {
  font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem); /* 20px */
  line-height: 1.5em;
}

.hakajimaiFlowContentsNew > li > div:nth-child(2) > div:nth-child(2) {
  max-width: 350px;
}

.hakajimaiFlowContentsNew > li > div:nth-child(2) > div:nth-child(2) img {
  width: 100%;
  height: 210px;
  object-fit: cover;
}

.hakajimaiKuyouHead {
  margin: 0 auto 30px;
  display: flex;
  justify-content: center;
}

.hakajimaiKuyouHead p {
  position: relative;
  display: inline-block;
  width: 960px;
  margin-bottom: 15px;
  padding: 20px;
  background-color: #db8952;
  text-align: center;
  font-size: clamp(1.125rem, 0.553rem + 2.44vw, 2.75rem); /* 44px */
  font-weight: 600;
  line-height: 1;
  color: #ffffff;
  letter-spacing: .15em;
}

.hakajimaiKuyouHead p::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 10%;
  border-style: solid;
  border-width: 15px 12.5px 0 12.5px;
  border-color: #db8952 transparent transparent;
  translate: -50% 100%;
}

.hakajimaiKuyoumainTitle {
  font-size: clamp(1.625rem, 0.663rem + 3.92vw, 4.188rem); /* 67px */
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
  font-weight: 600;
  text-align: center;
  margin: 0 auto 30px;
}

.hakajimaiKuyoumainTitle span {
  color: #db8952;
}

.hakajimaiKuyouWrap {
  background: #fff8ec; 
  width: 100%;
  padding: 30px 30px 30px;
  margin: 0 auto 50px;
}

.hakajimaiKuyouWrap ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 100%;
}

.hakajimaiKuyouContents {
  width: 49%;
  background: #ffffff;
  border: 1px solid #000000;
  display: flex;
  flex-direction: column;
  border-radius: 30px 30px 0 0;
}

.hakajimaiKuyouTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000000;
  border-radius: 29px 29px 0 0;
  height: 60px;
  padding: 10px 0;
  font-size: clamp(1rem, 0.824rem + 0.75vw, 1.5rem); /* 24px */
  font-weight: 500;
  line-height: 1;
  color: #ffffff;
  letter-spacing: .10em;
}

.hakajimaiKuyouContents:nth-child(-n+4) {
  margin-bottom: 2%;
}

.hakajimaiKuyouBlock {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px;
}

.hakajimaiKuyouBlockImg {
  max-width: 490px;
  margin-bottom: 15px;
}

.hakajimaiKuyouBlock > p {
  line-height: 1.5em;
  min-height: 110px;
}

.hakajimaiKuyouBlockImg img {
  width: 100%;
  height: 220px;
  object-fit: cover;
}

.hakajimaiKuyouPlaceWrap {
  margin-top: 30px;
}

.hakajimaiKuyouPlaceWrap p {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 10px;
}

.hakajimaiKuyouPlace {
 padding: 15px;
 background-color: #fff8ec;
}

.hakajimaiKuyouPlace li {
  list-style: disc;
  margin-left: 20px;
  line-height: 1.6em;
  text-indent: -5px;
}

.hakajimaiKuyouPlace li.listStyleNone {
  list-style: none;
  margin: 0;
}

.privacyWrap {
  background: #fff8ec;
  border-radius: 30px;
  padding: 3.5%;
}

@media screen and (max-width: 959px) {
  .hakajimaiKuyouWrap {
    flex-wrap: nowrap;
  }

  .hakajimaiKuyouContents {
    width: 100%;
  }

  .hakajimaiKuyouBlock {
    flex-direction: row;
  }

  .hakajimaiKuyouBlockImg {
    margin: 0 auto;
    margin-right: 2%;
  }

  .hakajimaiKuyouBlockImg img {
    max-width: 350px;
  }
  
  .hakajimaiKuyouBlock > p {
    width: 100%;
    text-align: justify;
  }
}

h5 {
  max-width: 960px;
  margin: 0 auto;
  /* display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column; */
  font-size: clamp(1.125rem, 0.553rem + 2.44vw, 2.75rem); /* 44px */
  font-weight: 600;
  margin-bottom: 40px;
  text-align: center;
}

h5::after {
  content: '・・・・・';
  max-width: 100px;
  font-size: clamp(1.313rem, 1.092rem + 0.94vw, 1.938rem); /* 31px */
  color: #db8952;
  letter-spacing: .1em;
  display: block;
  margin: 15px auto 0;
}

h5 br {
  display: none;
}

h5 img {
  margin: 0 10px;
}

.hakajimaiVoiceWrap {
  max-width: 1050px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.hakajimaiVoiceBlock {
  width: 49%;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 130px 20px 20px;
  border-radius: 15px;
  border: 5px solid #cccccc;
  position: relative;
}

.hakajimaiVoiceBlock:nth-child(-n+4) {
  margin-bottom: 30px;
}

.hakajimaiVoiceHead {
  position: absolute;
  top: -45px;
  left: 0;
  display: flex;
  padding: 20px;
}

.hakajimaiVoiceHead > p {
  font-size: clamp(1rem, 0.947rem + 0.2vw, 1.125rem); /* 18px */
  font-weight: 700;
  height: 80%;
  margin-top: 40px;

  position: relative;
  display: inline-block;
  margin-left: 10px;
  padding: 16px;
  border-radius: 8px;
  background-color: #fff8ec;
  line-height: 1.5;
  color: #000000;
}

.hakajimaiVoiceHead > p::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  border-style: solid;
  border-width: 7.5px 10px 7.5px 0;
  border-color: transparent #fff8ec transparent transparent;
  translate: -100% -50%;
}

.hakajimaiVoiceFace {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hakajimaiVoiceFace div {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  background: #ffffff;
  margin-bottom: 15px;
}

.hakajimaiVoiceFace div img {
  width: 100%;
}

.hakajimaiVoiceFace div img {
  position: absolute;
  top: 8px;
  left: 4px;
  width: auto;
  height: 100%;
  object-fit: cover;
}

.hakajimaiVoiceContainer {
  display: flex;
  justify-content: space-between;
}

.hakajimaiVoiceContainer div {
  margin-left: 20px;
  border: 1px solid #cccccc;
  height: 100%;
}

.hakajimaiVoiceContainer p {
  line-height: 1.5em;
  min-height: 110px;
  text-align: justify;
}

.hakajimaiVoiceContainer div img {
  max-width: 180px;
  object-fit: cover;
}

.nextPage {
  width: 100%;
  margin: 50px auto;
}

.nextPage a {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 500px;
  height: 65px;
  background: #db8952;
  border-bottom: 6px solid #c55214;
  border-radius: 30px;
  font-size: 24px; /* 24px */
  font-weight: 500;
  color: #ffffff;
  letter-spacing: 0.05em;
  position: relative;
  transition: 0.5s;
}

.nextPage a:hover {
  opacity: 0.7;
  transition: 0.5s;
}

.nextPage a:before {
  font-family: "Font Awesome 6 Free";
  font-size: 1.6rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .8rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f105';
  font-weight: 900;
}

.nextPage.sapporo {
  width: 100%;
  margin: 0 auto 50px;
}

.nextPage.sapporo a {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  line-height: 1.2em;

  max-width: clamp(18.75rem, 13.428rem + 19.8vw, 31.25rem);
  height: clamp(6.25rem, 5.452rem + 2.97vw, 8.125rem);
  background: #fff8ec;
  border: 5px solid #41a636;
  border-bottom: 10px solid #41a636;
  border-radius: 30px;
  font-size: clamp(1.5rem, 1.234rem + 0.99vw, 2.125rem); /* 34px */
  font-weight: 500;
  letter-spacing: 0.05em;
  position: relative;
  transition: 0.5s;
  color: #000000;
}

.nextPage.sapporo a span {
  font-size: 80%;
}

.nextPage.sapporo a:hover {
  opacity: 0.7;
  transition: 0.5s;
}

.nextPage.sapporo a:before {
  font-family: "Font Awesome 6 Free";
  font-size: 1.6rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .8rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f105';
  font-weight: 900;
}

.hakajimaiMovieWrap {
  max-width: 1050px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 25px;
}

.hakajimaiMovieBlock {
  width: 32%;
}

.hakajimaiMovieBlock iframe {
  width: 100%;
  border: 1px solid #cccccc;
}

.hakajimaiMovieBlock:nth-child(-n+4) {
  margin-bottom: 3%;
}

.hakajimaiQaWrap {
  max-width: 1100px;
  margin: 0 auto;
}

.hakajimaiQaWrap .accordion_title {
  display: flex;
  align-items: center;
  height: 90px;
  font-size: clamp(1rem, 0.868rem + 0.56vw, 1.375rem); /* 22px */
  font-weight: 600;
  color: #000000;
  padding-right: 75px;
  border-radius: 10px;
  background: #ffffff;
}

.hakajimaiQaWrap .accordion_title span {
  font-family: "Geist";
  font-weight: 700;
  font-size: clamp(1.313rem, 1.092rem + 0.94vw, 1.938rem); /* 31px */
  margin-right: 10px;
  color: #db8952;
}

.hakajimaiQaWrap details {
  /* border: 1px solid #ccc; */
  border-radius: 10px;
  margin-bottom: 10px;
  transition: .5s;
  background: #ffffff;
  border: 3px solid #ccc;
}

.hakajimaiQaWrap summary {
  display: block;
  font-weight: bold;
  padding: 0 15px;
  cursor: pointer;
  background: #ffffff;
  color: #000000;
}

.hakajimaiQaWrap .accordion-content {
  padding: 0 15px 15px;
  border-radius: 10px;
  overflow: hidden;
  background: #ffffff;
}

.hakajimaiQaWrap .accordion-content p {
  padding: 15px 15px 0;
  line-height: 1.5em;
  text-align: justify;
  border-top: 3px solid #ccc;
}

details summary {
  position: relative;
  cursor: pointer;
}

details summary::after {
  font-family: "Font Awesome 6 Free";
  line-height: 1;
  position: absolute;
  top: calc(50% - .5rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f138';
  font-weight: 900;
  transform: rotate(0);
  transition: 0.1s;
  color: #db8952;
}

details[open] summary {
  background-color: #fff8ec;
}

details[open] summary::after {
  font-family: "Font Awesome 6 Free";
  line-height: 1;
  position: absolute;
  top: calc(50% - .5rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f138';
  font-weight: 900;
  transform: rotate(90deg);
  transition: 0.1s;
}

summary {
  display: block;
  list-style: none;
}

/* 一部ブラウザで消えなかった場合は以下も追記 */
summary::-webkit-details-marker {
  display:none;
}

.hakajimaiMediaWrap {
  max-width: 1050px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.hakajimaiMediaBlock {
  width: 49%;
  padding: 40px 25px 25px;
  background-color: #ffffff;
  border-radius: 15px;
  
  position: relative;
}

.hakajimaiMediaBlock:nth-child(-n+6) {
  margin-bottom: 5%;
}

.hakajimaiMediaCap > div {
  display: flex;
  justify-content: space-between;
}

.hakajimaiMediaDate {
  background: #db8952;
  padding: 10px;
  border-radius: 30px;

  position: absolute;
  top: -20px;
  left: 24.5%;
  width: 60%;
  text-align: center;
  font-size: clamp(1rem, 0.947rem + 0.2vw, 1.125rem); /* 18px */
  font-weight: 600;
  color: #ffffff;
}

.hakajimaiMediaBlock .hakajimaiMediaCap > div p {
  /* width: 100%; */
  line-height: 1.5em;
  text-align: justify;
  margin-right: 3%;
}

.hakajimaiMediaBlock .hakajimaiMediaCap > p {
  /* padding-left: 40px; */
  margin: 0 auto 20px;
  font-size: clamp(1.25rem, 1.133rem + 0.48vw, 1.563rem);
  font-weight: 700;
}

.hakajimaiMediaBlock .hakajimaiMediaCap > p br {
  display: none;
}

.hakajimaiMediaBlock .hakajimaiMediaCap > div img {
  width: 260px;
  height: 180px;
  object-fit: cover;
}

.hakajimaicenterMap {
  max-width: 1150px;
}

.hakajimaicenterMapWrap {
  width: 100%;
  margin-bottom: 60px;

  position: relative;
  width: 100%;
  height: 0;
  padding-top: 45%; /* 比率を4:3に固定 */
}

.hakajimaicenterMap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hakajimaicenterWrap {
  max-width: 1050px;
  display: flex;
  margin: 0 auto
}

.hakajimaicenterAbout {
  width: 500px;
}

.hakajimaicenterAbout p {
  padding-bottom: 30px;
  margin-bottom: 30px;
  line-height: 1.8em;
}

.hakajimaicenterAbout p:not(:last-child) {
  background-image: radial-gradient(circle, #000000 1.5px, transparent 1.52px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 12px 3px;
}

.hakajimaicenterAbout p span {
  display: block;  
  font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem); /* 20px */
  margin-bottom: 15px;
}

.hakajimaicenterImg {
  width: 520px;
  margin-left: 40px;
}

.hakajimaicenterImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contactWrap {
  padding-top: 60px;
  padding-bottom: 60px;
}

.contactTitle h6 {
  font-size: clamp(1.5rem, 1.148rem + 1.5vw, 2.5rem); /* 40px */
  font-weight: 600;
  margin: 0 auto 30px;
  text-align: center;
  color: #db8952;
}

.contactTitle br {
  display: none;
}

.contactTelnum {
  background: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* padding: 30px; */
  height: 150px;

  /* border: 1px solid #000000; */
}

.contactTelnum p {
  font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem); /* 20px */
  font-weight: 500;
  margin-bottom: 14px;
  letter-spacing: .12em;
}

.contactTelnum p span {
  font-size: 110%;
  vertical-align: baseline;
}

.contactTelnum .telNum {
  font-size: clamp(2.5rem, 2.265rem + 0.96vw, 3.125rem); /* 50px */
  height: 1em;
  padding-left: 4%;
  position: relative;
}

.contactTelnum .telNum::before {
  font-size: clamp(1.25rem, 1.062rem + 0.76vw, 1.75rem); /* 28px */
  top: 10px;
}

.contactTelnum hr {
  border: 1px solid #000000;
  width: 50px;
  margin-bottom: 20px;
}

.contactTelnum .telNum::before {
  background-position: top 10px center;
  margin-right: 10px;
}

dl.contactTelnum {
  width: 80%!important;
  padding: 20px!important;
}

/* column -------------------------------------------------*/
.hakajimaiColumn {
  /* padding: 50px; */
}

.hakajimaiColumnWrap {
  border: 5px solid #41a636;
  border-radius: 20px;
  margin: 0 auto;
  position: relative;
  padding: 30px;
}

.hakajimaiColumnHead {
  max-width: 1150px;
  margin: 0 auto;
}

.hakajimaiColumnHead p:nth-child(1) {
  color: #41a636;
  font-size: clamp(1.938rem, 1.849rem + 0.38vw, 2.188rem); /* 35px */
  font-weight: bold;
  background: #ffffff;
  margin: 0 auto;
  text-align: center;
  position: absolute;
  padding: 0 5%;
  top: -18px;
  left: calc(37.5% - 20px);
}

.hakajimaiColumnHead p:nth-child(2) {
  background: #ffffff;
  width: 100%;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(0.813rem, 0.372rem + 1.88vw, 2.063rem); /* 33px */
  font-weight: 700;
  /* padding: 20px; */
}

.hakajimaiColumnBlock {
  display: flex;
  justify-content: center;
}

.hakajimaiColumnBlock:not(:last-child) {
  margin-bottom: 6%;
}

.hakajimaiColumnInner {
  padding-top: 8px;
}

.hakajimaiColumnInner p {
  text-align: justify;
  line-height: 1.8em;
}

.hakajimaiColumnInner p:not(:last-child) {
  margin-bottom: 1.5em;
}

div.hakajimaiColumnTitle {
  font-size: clamp(1rem, 0.824rem + 0.75vw, 1.5rem); /* 24px */
  font-weight: 700;
  border-left: 6px solid #41a636;
  display: flex;
  align-items: center;
  padding-left: 10px;
  line-height: 1.5em;
  min-height: 70px;
  margin-bottom: 30px;
}

p.hakajimaiColumnCap {
  text-align: justify;
  line-height: 1.8em;
  margin-right: 5%;
}

.hakajimaiColumnContainer:not(:last-child) {
  margin-bottom: 6%;
}

.hakajimaiColumnContainer img {
  float: right;
  margin: 0 0 2% 5%;
  width: clamp(15.625rem, 12.106rem + 14.33vw, 25rem);
}

.hakajimaiColumnContainer p {
  text-align: justify;
  line-height: 1.8em;
}

.hakajimaiColumnContainer p:not(:last-child) {
  margin-bottom: 1.8em;
}

.hakajimaiColumnContainer::after {
  content: "";
  display: block;
  clear: both;
}

.hakajimaiColumnContainer.Left img {
  width: clamp(15.625rem, 12.106rem + 14.33vw, 25rem);
  height: auto;
  float: left;
  margin: 0 50px 0 0;
  vertical-align: bottom;
}

.columnFukidashi {
  position: relative;
  display: inline-block;
  width: 195px;
  height: 50px;
  margin-right: 12px;
  padding: 16px;
  background-color: #41a636;
  text-align: center;
  letter-spacing: .1em;
  font-weight: 500;
  line-height: 1.5;
  color: #ffffff;
  
  display: flex;
  align-items: center;
  justify-content: center;
}

.columnFukidashi::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  border-style: solid;
  border-width: 10px 0 10px 12px;
  border-color: transparent transparent transparent #41a636;
  translate: 100% -50%;
}

.columnEmphasisContainer .columnEmphasis:first-child {
  margin-bottom: 15px;
}

.columnEmphasis {
  display: flex;
  height: 100%;
  margin: 0 auto 3%;
  padding: 0;
}

.columnEmphasis p:nth-child(2) {
  width: 100%;
  padding-top: 10px;
  text-align: justify;
  font-weight: 600;
  line-height: 1.8em;
  margin-left: 20px;
}

.columnEmphasis.linker .columnFukidashi {
  width: 40%;
}

.columnEmphasis.linker a {
  text-decoration: underline;
  font-size: 18px;
}

.columnEmphasis.linker a i {
  font-size: .8em;
}

.oHr .nextPage, .social-button {
  display: none;
}

.deviceFtr {
  /* padding: 50px 30px 30px; */
  padding: 50px 30px;
}

.corporateFtr {
  padding: 0 30px 50px;
}

.deviceFtr > .device {
  padding: 30px;
  border-radius: 15px;
  background: #ffffff;
}

.corporateFtr > .corporate {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1050px;
  margin: 0 auto;
  border-radius: 15px;
  background: #ffffff;
  /* border: 1px solid #cccccc; */
}

.corporateFtr > .corporate .nextPage {
  width: 100%;
  margin: 0 auto;
}

.corporateFtr > .corporate .nextPage a {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 280px;
  height: clamp(2.375rem, 1.491rem + 1.82vw, 3.125rem); /* 50px */
  background: #ffffff;
  border: 2px solid #41a636;
  border-bottom: 6px solid #41a636;
  border-radius: 26px;
  font-size: clamp(1rem, 0.705rem + 0.61vw, 1.25rem); /* 22px */
  font-weight: 500;
  color: #000000;
  letter-spacing: 0.05em;
  position: relative;
  transition: 0.5s;
}

.corporateFtr > .corporate .nextPage a:hover {
  opacity: 0.7;
  transition: 0.5s;
}

.corporateFtr > .corporate .nextPage a:before {
  font-family: "Font Awesome 6 Free";
  font-size: 1.3rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .6rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f105';
  font-weight: 900;
  color: #000000;
}

.corporateContainer {
  width: 100%;
  padding: 15px;
  display: flex;
  align-items: center;
  flex-direction: column;
}

.corporateCap {
  display: flex;
  align-items: center;
  flex-direction: column;
}

.corporateCap p:nth-child(1) {
  font-size: clamp(0.625rem, 0.183rem + 0.91vw, 1rem); /* 16px */
  margin-bottom: 3.5%;
}

.corporateCap p:nth-child(2) {
  font-size: clamp(0.625rem, 0.183rem + 0.91vw, 1rem); /* 16px */
  line-height: 1.5em;
  margin-bottom: 3%;
  text-align: center;
  font-weight: 600;
}

.corporateCap p:nth-child(3) {
  font-size: clamp(1.375rem, 0.417rem + 1.97vw, 2.188rem); /* 35px */
  font-weight: 700;
  margin-bottom: 5%;
  color: #41a636;
}

.corporateImg {
  display: flex;
}

.corporateImgBox {
  width: 100%;
  position: relative;
}

.corporateImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: relative;
  z-index: 1;
}

.corporateImgBox:nth-child(2) img {
  border-radius: 0 15px 15px 0;
}

.corporateImg p {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  padding: 2% 4%;
  text-align: center;
  background: #000000;
  color: #ffffff;
  font-size: clamp(0.75rem, 0.662rem + 0.38vw, 1rem); /* 15px */
}

.sapporoshieiAccordionContents li span {
  /* display: block;
  text-align: justify; */
  /* margin-left: 1em; */
  font-size: .9em;
}

/* footer -------------------------------------------------*/
footer.contentsAll {
  /* margin: -90px auto 0; */
  background-color: #41a636;
}

.footer {
  max-width: 1050px;
  padding: 25px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  color: #ffffff;
}

.footerCap {
  display: flex;
  justify-content: space-between;
}

.footerCap li:first-child {
  margin-right: 25px;
}

.footerCap li a::after{
  font-family: "Font Awesome 6 Free";
  content: '\f08e';
  font-size: clamp(0.75rem, 0.706rem + 0.19vw, 0.875rem); /* 14px */
  font-weight: 900;
  margin-left: 5px;
}

.copyright {
  font-size: clamp(0.625rem, 0.531rem + 0.38vw, 0.875rem); /* 14px */
}

/* sub -------------------------------------------------*/
.sub {
  position: relative;
}

.sub .contentsAll {
  margin-bottom: 0;
}

.sub .device {
  border: 5px solid #cccccc;
}

.subContainer {
  border-radius: clamp(0.938rem, 0.586rem + 1.43vw, 1.875rem); /* 30px */
  /* padding: 2% 10px; */
  background-color: #fff8ec;
}

.subContainer.bgWhite {
  background-color: #ffffff;
}

/* .subContainer .nextPage {
  margin-bottom: 0;
} */

.sub header {
  background: #ffffff;
}

.sub .logo {
  padding: 30px 15px;
}

.sub .contactWrap {
  padding-top: 30px;
  padding-bottom: 30px;
}

.breadcrumbList {
  margin: 0 auto 60px;
}

.breadcrumbList ul {
  display: flex;
}

.breadcrumbList ul li:not(:last-child) {
  margin-right: 10px;
}

.breadcrumbList ul li:not(:last-child)::after {
  font-family: "Font Awesome 6 Free";
  content: '\f105';
  font-size: clamp(0.75rem, 0.706rem + 0.19vw, 0.875rem); /* 14px */
  font-weight: 900;
  margin-left: 10px;
}

.breadcrumbList ul li a {
  text-decoration: underline;
}

.sub footer.contentsAll {
  margin: 0 auto;
}

.sub .contentsRead.thanks {
  padding: 0 20%;
  font-size: clamp(1rem, 0.953rem + 0.19vw, 1.125rem); /* 18px */
}

.sub .deviceFtr {
  padding: 0 30px 30px;
}

footer.contentsAll.thanks {
  margin: 0 auto;
  margin-top: auto;
}

footer.contentsAll.thanks .footer {
  padding: 20px 20px 30px;
}

.privacyTitle {
  margin-bottom: 10px;
  padding: 0 10%;
  font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem); /* 20px */
  font-weight: 600;
}

.sub .privacyRead {
  padding: 0 10%;
  font-size: clamp(1rem, 0.953rem + 0.19vw, 1.125rem); /* 18px */
  text-align: justify;
  line-height: 1.5em;
}

.sub .privacyRead ul {
  margin: 15px 0;
  padding: 0 5%;
}

.sub .privacyRead ul li {
  font-style: italic;
  list-style: disc;
}

.sub .privacyRead ul li:not(:last-child) {
  margin-bottom: 1%;
}

.sub .privacyRead:not(:last-child) {
  margin-bottom: 4%;
}

.sub .messageContainer {
  margin-bottom: 8%;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt";
}

.messageContainer h6 {
  margin-bottom: 3%;
  text-align: center;
  font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem); /* 20px */
  font-weight: 600;
}

.sub .messageContainerCap {
  padding: 0 10%;
  font-size: clamp(1rem, 0.953rem + 0.19vw, 1.125rem); /* 18px */
  text-align: justify;
}

.sub .messageContainerCap {
  line-height: 1.8em;
}

.sub .messageContainerCap:not(:last-child) {
  margin-bottom: 1.8em;
}

.sub .messageContainerCap:nth-last-child(2) {
  margin-bottom: 2.6em;
}


.sub .messageContainerCap:last-child {
  text-align: right;
}

.corporateTable{
  padding: 0 5%;
}

.corporateTable table {
  border-top: 1px solid #b5b5b5;
}

.corporateTable table p {
  line-height: 1.5em;
}

.corporateTable table p a {
  text-decoration: underline;
}

.corporateTable th {
  width: 30%;
  border-style: solid;
  border-width: 0 0 1px;
  border-color: #b5b5b5;
  background-color: #fff8ec;
  padding: 4%;
}

.corporateTable td {
  width: 70%;
  border-style: solid;
  border-width: 0 0 1px;
  border-color: #b5b5b5;
  padding: 4%;
}

div.td-2col {
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.corporateTable td div.td-2col:nth-child(1) {
  /* width: 95%; */
  border-style: solid;
  border-width: 0 0 1px;
  border-color: #b5b5b5;
  padding-bottom: 30px;
}

.corporateTable td div.td-2col:nth-child(2) {
  /* width: 95%; */
  border: none;
  padding-top: 30px;
  padding-bottom: 0;
}

.corporateTable td div.td-2col:last-child {
  /* width: 95%; */
  border: none;
  padding-top: 30px;
  padding-bottom: 0;
}

.td-2col p:nth-child(1) {
  margin-right: 20px;
  width: 70%;
}

.td-2col p:nth-child(2) {
  width: 450px;
}

.td-2col p:nth-child(2) img {
  width: 100%;
}

.corporateTable .sn {
  display: none;
}

@media screen and (max-width: 779px) {
  .corporateTable th {
    display: block;
    width: 100%;
    border-style: solid;
    border-width: 0 0 1px;
    padding: 20px 0 20px 10px;
  }

  .corporateTable td {
    display: block;
    width: 100%;
    border-style: solid;
    border-width: 0 0 1px;
    border-color: #b5b5b5;
  }

  .td-2col p:nth-child(2) img {
    width: 100%;
  }
}

@media screen and (max-width: 630px) {
  .sub .messageContainerCap {
   padding: 0;
  }

  .corporateTable {
    padding: 0;
  }
}

@media screen and (max-width: 529px) {
  div.td-2col {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    width: 100%;
  }

  .td-2col p:nth-child(1) {
    margin-right: 0;
    width: 100%;
    -webkit-order: 2;
    order: 2;
  }

  .td-2col p:nth-child(2) {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
    -webkit-order: 1;
    order: 1;
  }

  .td-2col p:nth-child(2) img {
    width: 100%;
  }
}

/* media query -------------------------------------------------*/
@media screen and (max-width: 1079px) {
  .hakajimaiVoiceWrap {
    flex-direction: column;
  }

  .hakajimaiVoiceBlock {
    width: 100%;
  }

  .hakajimaiMediaWrap {
    flex-direction: column;
  }

  .hakajimaiMediaBlock {
    width: 100%;
  }
  
  .hakajimaiMediaBlock {
    padding: 35px 15px 15px; 
  }

  .hakajimaiMediaBlock .hakajimaiMediaCap {
    flex-direction: column;
  }

  .hakajimaiMediaBlock .hakajimaiMediaCap > div p {
    width: 100%;
  }

  .hakajimaiMediaBlock .hakajimaiMediaCap div:nth-child(1) {
    width: 200px;
  }

  .hakajimaiMediaBlock .hakajimaiMediaCap div:nth-child(1) div {
    padding-left: 20px;
  }

  .hakajimaiMediaBlock .hakajimaiMediaCap > div p {
    padding-left: 0;
  }

  .hakajimaiMediaBlock .hakajimaiMediaCap > div p br {
    display: none;
  }

  .hakajimaiMediaBlock .hakajimaiMediaCap > p {
    margin-right: 0;
    margin-bottom: 10px;
  }

  .hakajimaiMediaBlock:nth-child(-n+4) {
    margin: 0;
  }

  .hakajimaiMediaBlock:not(:last-child) {
    margin-bottom: 40px;
  }

  .estimateContentsBlock li:nth-child(2n+1) img {
    height: 100%;
  }
}

@media screen and (max-width: 959px) {
  header{
    background: #f2f3f4;
  }
  
  .mv {
    background: no-repeat url(../img/mv.jpg) left center / cover;
    width: 100%;
    height: 65%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  
  .logo {
    width: 100%;
    padding: 30px 15px 0;
  }

  .mainContainer h1 {
    margin-bottom: 5%;
  }

  .mainContainer {
    width: 100%;
    padding: 53px 5% 33px;
  }

  .mainContainerMenu {
    margin: 0 auto 26px;
    max-width: 750px
  }

  .mainContainerMenu li {
    width: 49%;
    height: 70px;
  }

  .mainContainerMenu li:nth-child(2n+1)  {
    margin-left: 0;
  }

  .mainContainerPrice {
    margin: 0 auto;
  }

  .mainContainerPriceTh {
    max-width: 100%;
  }

  .mainContainerPriceTd {
    max-width: 100%;
  }
  
  .mainContainerPriceCap {
    max-width: 100%;
  }

  .device {
    padding: 20px 0;
  }

  .deviceForm {
    padding: 0 50px;
    flex-direction: column;
  }

  .openTime {
    margin-top: 5px;
    margin-right: 0;
  }

  .deviceTelnum {
    /* flex-direction: column;
    width: 96%;
    padding: 0 10px 20px;
    margin-bottom: 20px;
    background-image: radial-gradient(circle, #000000 1.5px, transparent 1.5px);
    background-size: 10px 3px; */

    display: none;
  }

  .deviceForm div.telButton {
    display: block;

    padding-top: 25px;
    margin-top: 25px;
  
    background-image: radial-gradient(circle, #000000 1.5px, transparent 1.5px);
    background-size: 10px 3px;
    background-position: left top;
    background-repeat: repeat-x;
  }

  .deviceForm div.telButton a::before {
    font-family: "Font Awesome 6 Free";
    line-height: 1;
    position: absolute;
    top: auto;
    left: 6%;
    margin: 0;
    content: '\f095';
    font-size: clamp(1.875rem, 1.545rem + 1.41vw, 2.813rem); /* 45px */
    font-weight: 900;
    color: #ffffff;
  }
  
  .deviceForm div.telButton a {
    padding-left: 6%;
    background-color: #db8952;
    border-bottom: solid 5px #c93b24;
    font-size: clamp(1.688rem, 1.289rem + 1.62vw, 2.75rem); /* 44px */
    /* font-family: "Geist"; */
    font-weight: 600;

    display: flex;
    flex-direction: column;
  }

  .deviceForm div.telButton a span {
    display: block;
    font-size: 50%;
    font-weight: 500;
    margin-top: 1%;
  }
    
  .deviceForm div.telButton a:hover {
    border-bottom: solid 2px #c93b24;
  }

  .openTime {
    flex-direction: row;
    order: 1;
  }

  .telNum {
    font-size: clamp(2.313rem, 0.999rem + 5.35vw, 5.813rem); /* 93px */
    font-family: "Geist";
    font-weight: bold;
    color: #cd0023;
    line-height: 1em;
    padding-left: 9%;
  }
  
  .deviceForm div.mailForm {
    margin-bottom: 10px;
  }

  .deviceForm a {
    height: 80px;
  }
  
  .deviceForm div.lineForm a::before {
    left: 5%;
  }

  .deviceForm div.mailForm a::before {
    left: 6%;
  }

  .hakajimaiFlowContentsSelect > li > div:nth-child(1) {
    width: 100%;
    margin-right: 0;
  }
  
  .hakajimaiFlowContentsSelect > li > div:nth-child(2) {
    display: none;
  }

  .hakajimaiFlowContentsReturn li:nth-child(2n) {
    margin: -15px auto;
  }

  .hakajimaiVoiceBlock {
    flex-direction: column;
  }

  .hakajimaiVoiceBlock:nth-child(-n+4) {
    margin-bottom: 0;
  }

  .hakajimaiVoiceBlock:not(:last-child) {
    margin-bottom: 35px;
  }

  .hakajimaiMovieBlock {
    width: 49%;
  }

  .hakajimaiMediaBlock {
    flex-direction: column;
  }

  .corporateCap p:nth-child(2) br {
    display: none;
  }
}

@media screen and (max-width: 779px) {
  .AllBlock {
    margin: 50px auto;
    padding: 20px;
  }
  
  .mv {
    height: 50%;
  }  

  .contentsRead br {
    display: none;
  }

  .deviceForm {
    padding: 0 20px;
    flex-direction: column;
  }

  .onesetTop3Wrap {
    margin: 80px auto 0;
  }

  .onesetPriceContainer {
    flex-direction: column;
    align-items: center
  }

  .onesetPriceTh {
    margin: 0;
    display: flex;
    align-items: baseline;
    padding-left: 5%;
    width: 100%;
  }

  .onesetPriceTd {
    margin: 0;
  }
  
  .onesetPriceTd p {
    font-size: clamp(4.375rem, -1.734rem + 24.87vw, 10.375rem); /* 166px */
  }

  .onesetSixPointTitle {
    margin-bottom: 4%;
    font-size: clamp(1.063rem, 0.108rem + 3.89vw, 2rem); /* 32px */
  }

  .openTime span {
    margin: 0 5px 0 0;
  }

  .onesetPriceTd ul {
    margin-left: 5px;
  }

  .onesetPriceCap br {
    display: block;
  }

  .estimateContentsBlock {
    display: block;
  }
  
  .estimateContentsBlock.Tel li:nth-child(2n+1) {
    width: 100%;
  }

  .estimateBlock > div:nth-child(2) {
    width: 100%;
    height: 100%;
  }

  .estimateContentsBlock li:nth-child(2n+1) .estimateBlockImg {
    margin: 0 10px 0 0;
  }

  .estimateContentsBlock li:nth-child(2n+1) img {
    width: 250px;
    height: 100%;
    object-fit: cover;
  }

  .estimateContentsBlock li:nth-child(2n) {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .estimateContentsBlock.Line li:nth-child(2n) i,
  .estimateContentsBlock li:nth-child(2n) i {
    margin: 0;
    margin-bottom: 5px;
    transform: rotate(90deg);
  }

  .estimateContentsBlock li:nth-child(2n) i::before {
    font-size: clamp(1.625rem, 1.097rem + 2.25vw, 3.125rem); /* 50px */
  }

  .estimateBlock {
    display: flex;
  }

  .estimateContentsBlock.Line {
    padding: 0;
  }

  .estimateBlockCap a {
    text-decoration: underline;
    cursor: pointer;
    color: #41a636;
    font-weight: 700;
    font-size: 115%;
    position: relative;
    padding-left: 18px;
    font-family: "Geist";
  }

  .estimateBlockCap a::before {
    font-family: "Font Awesome 6 Free";
    line-height: 1;
    position: absolute;
    top: 6px;
    left: 2px;
    margin: 0;
    content: '\f095';
    font-size: 75%;
    font-weight: 900;
  }

  .estimateBlockCap br {
    display: none;
  }
  
  .estimateContentsBlock.Line li:nth-child(2n+1) {
    width: 100%;
  }

  .estimateContentsBlock.Line li:nth-child(2n+1) img {
    width: 100%;
    height: 100%;
  }
  
  .estimateTitle {
    height: clamp(2.375rem, 0.79rem + 6.76vw, 6.875rem);
  }
  
  .estimateTitle p:nth-child(1)::before {
    height: clamp(2.375rem, 0.79rem + 6.76vw, 6.875rem);
  }

  .estimateTitle p:nth-child(1) {
    width: 100%;
    font-size: clamp(1.125rem, 0.54rem + 2.18vw, 2.5rem); /* 40px */
  }

  .estimateTitle p:nth-child(2) {
    width: 40%;
    display: flex;
    flex-direction: column;
    align-items: end;
  }

  .estimate .device {
    padding: 15px 0;
    margin-bottom: 20px;
  }

  .estimateTitle p:nth-child(2) span {
    font-size: 80%;
    margin-right: 0;
  }

  .FlowIconUp {
    font-size: clamp(1.813rem, 1.413rem + 1.49vw, 2.75rem);
    margin-bottom: -4px;
  }

  .FlowIconUp span {
    margin: 0 3px 0 1px;
}

  .hakajimaiFlow {
    margin: 0 auto 10%;
  }
  
  .hakajimaiFlowContents {
    margin: 0 auto 15%;
  }

  .kuyouTop5List {
    margin-bottom: 10px;
  }

  .kuyouTop5ListNum {
    padding-top: 8px;
  }

  .kuyouTop5Wrap {
    margin: 30px auto;
  }

  .hakajimaiKuyouWrap {
    padding: 15px;
  }

  .stepBubble {
    width: 300px;
    padding: 15px;
    font-size: clamp(1.625rem, 1.203rem + 1.72vw, 2.75rem); /* 44px */
    margin: 0 auto 40px;
  }

  .hakajimaiFlowTitle .stepEmphasis {
    font-size: clamp(1.313rem, 1.092rem + 0.94vw, 1.938rem); /* 31px */
  }

  .hakajimaiFlowContentsProcedure > li > div:nth-child(1) > div {
    font-size: clamp(1.125rem, 0.553rem + 2.44vw, 2.75rem); /* 44px */
    height: 45px;
  }

  .hakajimaiFlowContentsProcedure > li > div:nth-child(1) > p {
    display: flex;
    flex-direction: column;
  }

  .hakajimaiFlowContentsProcedure > li > div:nth-child(1) > p span {
    margin-top: 10px;
  }

  .hakajimaiFlowContentsProcedure > li > div:nth-child(2) {
    height: 180px;
  }

  .hakajimaiFlowContentsProcedure > li > div:nth-child(2) img {
    width: 95px;
  }

  .sapporoshieiWrap {
    padding: 6% 5%;
  }

  .sapporoshieiAccordionContents ul {
    padding: 20px 0 0;
  }

  .sapporoshieiAccordionContents li {
    line-height: 1.3em;
  }

  .sapporoshieiAccordionContents p.supportRead {
    text-align: justify;
  }

  .sapporoshieiAccordionContents > details summary,
  .sapporoshieiAccordionContents > details[open] summary {
    cursor: pointer;
  }

  .sapporoshieiAccordionContents > details summary::after,
  .sapporoshieiAccordionContents > details[open] summary::after {
    display: block;
  }

  .privacyWrap {
    padding: 6% 5%;
  }

  .hakajimaiVoiceFace div img {
    top: 6px;
    left: 3px;
  }

  .hakajimaiMediaBlock div:nth-child(2) img {
    width: 180px;
    height: 100%;
    object-fit: cover;
  }

  .corporateCap p:nth-child(1) {
    font-size: clamp(0.688rem, 0.369rem + 1.3vw, 1rem); /* 15px */
    margin-bottom: 4%;
  }
  
  .corporateCap p:nth-child(2) {
    font-size: clamp(0.688rem, 0.369rem + 1.3vw, 1rem); /* 15px */
    margin-bottom: 6%;
  }
  
  .corporateCap p:nth-child(3) {
    font-size: clamp(1.188rem, -0.149rem + 5.44vw, 2.5rem); /* 40px */
    margin-bottom: 8%;
  }

  .corporateContainer {
    padding: 10px;
  }

  .corporateCap {
    width: 100%;
  }

  .corporateImg {
    width: calc(100% - 20px );
    flex-direction: column;
    justify-content: right;
    align-items: flex-end;
    text-align: right;
  }

  .corporateImgBox:nth-child(1) img {
    border-radius: 0 15px 0 0;
  }

  .corporateImgBox:nth-child(2) img {
    border-radius: 0 0 15px 0;
  }

  .corporateImg img {
    max-height: clamp(6.875rem, 4.33rem + 10.36vw, 9.375rem); /* 150px */
  }

  .corporateFtr > .corporate .nextPage a {
    height: 50px;
    font-size: clamp(0.875rem, 0.493rem + 1.55vw, 1.25rem);
  }

  .corporateFtr > .corporate .nextPage a:before {
    font-size: 1rem;
    top: calc(50% - 0.5rem);
    right: .5rem;
  }

  .corporateImg p {
    right: 0;
    left: initial;
    width: 100%;
  }

  .footer {
    max-width: 100%;
    margin: 0 auto;
    flex-direction: column;
  }

  .footerCap {
    justify-content: left;
    margin-bottom: 15px;
  }

  .footerCi {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
  }

  .social-button {
    margin: 20px auto 0;
  }

  .subContainer {
		width: 100%;
		margin: 1% auto 0;
    /* padding: 20px; */
    padding: 0;
	}
}

@media screen and (max-width: 630px) {
  .logo {
    padding: 20px 15px 0;
  }

  .logo img {
    width: clamp(16.25rem, 10.662rem + 20.79vw, 29.375rem); /* 470px */
  }

  .mainContainer h1 {
    text-shadow: 0px 0px 5px rgba(255, 255, 255, 1), 0px 0px 5px rgba(255, 255, 255, 1);
  }

  .mv {
    height: 53%;
  }

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

  .mainContainer {
    padding: 40px 5% 25px;
  }

  .mainContainerPriceTd li:nth-child(1) {
    font-size: clamp(0.5rem, 0.314rem + 0.69vw, 0.938rem); /* 14px */
  }

  .mainContainerPriceTd li:nth-child(1) {
    margin-bottom: -2px;
  }

   .onesetTop3Wrap {
    margin: 60px auto 0;
  }

  .onesetPriceTd li:nth-child(1) {
    font-size: clamp(0.813rem, 0.52rem + 1.09vw, 1.5rem); /* 13px */
  }

  .onesetPriceTd li:nth-child(2) {
    font-size: clamp(2.375rem, 1.364rem + 3.76vw, 4.75rem); /* 38px */
  }

  /* .contentsAll {
    margin: 0 auto 50px;
  } */

  article:not(:last-child) {
    margin: 0 auto 50px;
  }

  .contentsAll.sn {
    display: none;
  }

  .estimateContentsBlock.Line .estimateBlock {
    display: block;
  }

  .estimateContentsBlock.Line li:nth-child(2n+1) .estimateBlockImg {
    margin: 0 0 10px 0;
  }

  .estimateContentsBlock.Tel li:nth-child(2n+1) img {
    width: 160px;
  }

  .estimateBlockTitle {
    font-size: clamp(1rem, 0.714rem + 1.22vw, 1.813rem); /* 28px */
    margin-bottom: 5px
  }

  .estimateContentsBlock li:nth-child(2n) {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .estimateContentsBlock.Line li:nth-child(2n) i,
  .estimateContentsBlock li:nth-child(2n) i {
    margin: 5px 0;
  }

  .contents1150.oneset, .contents1150.estimate, .contents1150.construction {
    margin-bottom: 30px;
  }

  .onesetContainer, .estimateContainer, .constructionContainer {
    padding: 10px;
  }

  .onesetPriceContainer {
    flex-direction: column;
  }

   .onesetSixPointTitle {
    margin: 0 auto 25px;
  }

  .onesetSixPointList {
    flex-direction: column;
    padding: 0 2%;
  }

  .onesetSixPointList li {
    width: 100%;
  }

  .onesetSixPointList li:not(:last-child) {
    margin-bottom: 7px;
  }

  .hakajimaiFlowContentsSelect li {
    padding: 15px;
  }

  .hakajimaiFlowContentsSelect > li > div:nth-child(1) > p:nth-child(1) {
    font-size: clamp(1.313rem, 0.652rem + 2.82vw, 3.188rem); /* 54px */
  }

  .hakajimaiFlowContentsSelect > li > div:nth-child(1) > p:nth-child(2) {
    font-size: clamp(1rem, 0.802rem + 0.85vw, 1.563rem);
    line-height: 1.5em;
  }

  .madoguchiTh {
    padding: 12px 0;
    width: 60px;
  }

  .madoguchiTd {
    margin-left: 10px;
  }

  .madoguchiTd p:nth-child(1) {
    line-height: 1.2em;
  }

  .sapporoshieiTitle {
    margin-bottom: 10px
  }

  .sapporoshieiTitle h4 p {
    padding: 10px;
    height: 60px;
  }

  .sapporoshieiSelection li p {
    height: 30px;
    display: flex;
    align-items: center;
  }

  .sapporoshieiTitle h4 {
    margin-bottom: 20px;
    height: 70px;
  }

  .sapporoshieiSelection {
    max-width: 100%;
    margin-bottom: 20px;
  }

  .sapporoshieiSelection li {
    max-width: 100%;
    margin: 0 2px;
  }

  .sapporoshieiAccordionContents li .madoguchiTd span {
    margin-left: 0;
  }

  .hakajimaiFlowTitle h3 {
    margin-bottom: 15px;
  }

  .onesetContainer .contentsRead br,
  .estimateContainer .contentsRead br,
  .constructionContainer .contentsRead br {
    display: none;
  }

  .constructionImg {
    margin: 0 auto 30px;
  }

  .constructionCap {
    width: 100%;
  }

  p.contentsRead {    
    margin: 0 auto 15px;
  }
  
  .hakajimaiFlowContentsReturn li:nth-child(2n+1) {
    padding: 20px 15px;
  }

  .hakajimaiFlowContentsReturn > li > div:nth-child(1) {
    max-width: 150px;
  }

  .hakajimaiFlowContentsReturn > li > div:nth-child(1) img {
    height: 150px;
  }

  .hakajimaiFlowContentsReturn li:nth-child(2n) {
    margin: -10px auto;
    font-size: clamp(1.875rem, 1.127rem + 3.19vw, 4rem); /* 64px */
  }

  .hakajimaiFlowContentsNew li {
    flex-direction: column;
  }
  
  .hakajimaiFlowContentsNew > li > div:nth-child(1) {
    display: none;
  }

  .hakajimaiFlowContentsNew > li > div:nth-child(2) {
    padding: 15px;
    width: 100%;
  }

  .hakajimaiFlowContentsNew > li > div:nth-child(2) > div:nth-child(1) {
    width: 100%;
    margin-bottom: 20px;
  }
  
  .hakajimaiFlowContentsNew > li > div:nth-child(2) > div:nth-child(1) > p:nth-child(1) {
    font-size: clamp(1.313rem, 0.652rem + 2.82vw, 3.188rem); /* 54px */
  }

  .hakajimaiFlowContentsNew > li > div:nth-child(2) > div:nth-child(1) > p:nth-child(2) {
    text-align: justify;
  }

  .hakajimaiFlowContentsNew > li > div:nth-child(2) > div:nth-child(2) {
    max-width: 100%;
  }

  .hakajimaiFlowContentsNew > li > div:nth-child(2) > div:nth-child(2) img {
    width: 150px;
    height: 100%;
  }

  .hakajimaiFlowContentsReturn > li > div:nth-child(2) > p:nth-child(1) {
    font-size: clamp(1.313rem, 0.652rem + 2.82vw, 3.188rem); /* 54px */
    margin-bottom: 10px;
  }

  .hakajimaiColumnHead {
    display: flex;
    flex-direction: column;
    max-width: 100%;
    margin-bottom: 30px;
  }

  .hakajimaiColumnHead p:nth-child(1) {
    width: 100%;
    height: 100%;
    padding: 5px 10px;
  }

  .hakajimaiColumnHead p:nth-child(1) br, 
  .hakajimaiColumnHead p:nth-child(2) br {
    display: none;
  }

  .hakajimaiColumnHead p:nth-child(2) {
    padding: 10px 15px;
    height: 100%;
  }

  .hakajimaiColumn {
    padding: 7% 20px;
  }

  .hakajimaiColumnContainer img {
    width: 100%;
  }

  .hakajimaiColumnContainer .sn {
    display: none;
  }

  .hakajimaiColumnContainer:not(:last-child) {
    margin: 0;
  }

  .hakajimaiColumnBlock:not(:last-child) {
    margin-bottom: 50px;
  }

  .hakajimaiColumnBlock {
    flex-direction: column;
  }

  div.hakajimaiColumnTitle {
    font-size: clamp(1.25rem, 0.625rem + 1.04vw, 1.563rem); /* 24px */
  }

  p.hakajimaiColumnCap {
    margin-right: 0;
  }

  .hakajimaiColumnBlock div:nth-child(1) {
    margin-bottom: 20px;
  }

  .hakajimaiColumnBlock div:nth-child(2) {
    display: flex;
    justify-content: center;
  }

  .hakajimaiKuyouHead p {
    font-size: clamp(1.313rem, 0.652rem + 2.82vw, 3.188rem); /* 54px */
  }

  .hakajimaiKuyouTitle {
    font-size: clamp(1.313rem, 0.652rem + 2.82vw, 3.188rem); /* 54px */
  }

  .hakajimaiKuyouBlock {
    padding: 15px;
    flex-direction: column;
  }

  .hakajimaiKuyouContents:nth-child(-n+4) {
    margin-bottom: 0;
  }

  .hakajimaiKuyouContents:not(:last-child) {
    margin-bottom: 15px;
  }

  .hakajimaiKuyouBlockImg {
    max-width: 100%;
    margin: 0;
  }

  h5 img {
    margin: 0 5px;
  }

  .hakajimaiKuyouBlockImg img {
    height: 200px;
    max-width: 100%;
  }
  
  .hakajimaiKuyouBlock > p {
    line-height: 1.6em;
  }

  .oHr {
    margin: 50px auto;
    padding-bottom: 60px;
  }

  h5 {
    font-size: clamp(1.5rem, 1.148rem + 1.5vw, 2.5rem); /* 40px */
    margin-bottom: 20px;
    flex-direction: column;
  }
  
  h5 img{
    width: 130px;
  }

  h5 br {
    display: block;
  }

  .hakajimaiVoiceContainer {
    flex-direction: column;
  }

  .hakajimaiVoiceContainer div div:nth-child(2) {
    margin: 0 auto;
    width: 100%;
  }

  .hakajimaiVoiceContainer div div:nth-child(2) img {
    max-width: 100%;
  }

  .hakajimaiVoiceFace div {
    width: 90px;
    height: 90px;
  }

  .hakajimaiVoiceBlock {
    padding: 130px 15px 15px;
  }

  .hakajimaiVoiceHead {
    padding: 15px;
    top: -35px;
  }

  .hakajimaiVoiceHead > p {
   margin-top: 33px; 
  }

  .hakajimaiVoiceFace p {
    font-size: 14px;
  }

  .hakajimaiVoiceContainer div {
   margin-left: 0;
   margin: 0 auto;
  }

  .hakajimaiVoiceContainer div img {
    max-width: 100%;
  }

  .hakajimaiVoiceContainer p {
    margin-bottom: 15px;
  }

  .nextPage {
    margin: 30px auto 0;
    width: 90%;
  }

  .hakajimaiMovieBlock {
    width: 100%;
  }

  .hakajimaiMovieTItle span {
    display: block;
    margin-top: 3%;
  }

  .hakajimaiMovieBlock:nth-child(-n+4) {
    margin: 0;
  }

  .hakajimaiMovieBlock:not(:last-child) {
    margin-bottom: 20px;
  }

  .hakajimaiMovieBlock iframe {
    /* width: 80%; */
    margin: 0 auto;
    display: flex;
  }

  .hakajimaiMovieBlock p {
    /* width: 80%; */
    margin: 0 auto;
    font-size: clamp(0.875rem, 0.828rem + 0.19vw, 1rem); /* 15px */
  }
  
  .hakajimaiQaWrap .accordion_title {
    font-size: clamp(1.125rem, 0.553rem + 2.44vw, 2.75rem); /* 44px */
    height: 100%;
    padding-top: 15px;
    padding-right: 50px;
    padding-bottom: 15px;
  }

  .hakajimaiQaWrap .accordion_title span {
    font-size: clamp(1.875rem, 1.127rem + 3.19vw, 4rem); /* 64px */
  }

  details summary::after,
  details[open] summary::after {
    font-size: clamp(1.625rem, 1.097rem + 2.25vw, 3.125rem); /* 50px */
  }

  .columnEmphasisContainer .columnEmphasis:first-child {
    margin: 30px auto;
  }

  .columnEmphasis {
    margin-bottom: 30px;
    flex-direction: column;
  }

  .columnEmphasis p:nth-child(2) {
    margin: 0;
  }

  .columnFukidashi {
    font-size: clamp(1.125rem, 0.553rem + 2.44vw, 2.75rem); /* 44px */
  }

  .columnFukidashi::after {
    display: none;
  }
  
  .hakajimaicenterWrap {
    flex-direction: column;
    width: 100%;
  }

  .hakajimaicenterMapWrap {
    display: none;
  }

  .hakajimaicenterImg {
    order: 1;
    width: 100%;
    
    margin-left: 0;
  }

  .hakajimaicenterImg img {
    height: 100%;
  }

  .hakajimaicenterAbout {
     order: 2;
     width: 100%;
     margin-top: 30px;
  }

  .hakajimaicenterImg .nextPage {
    margin-top: 20px;
  }

  .hakajimaicenterAbout p span {
    font-size: clamp(1.313rem, 1.092rem + 0.94vw, 1.938rem); /* 31px */
    margin-bottom: 5px;
  }

  .hakajimaicenterAbout p {
    padding-bottom: 22px;
    margin-bottom: 22px;
    line-height: 1.6em;
  }

  .contactTitle br {
    display: block;
  }

  .contactTelnum {
    padding: 5%;
    height: 100%;
  }

  .contactTelnum .telNum {
    display: none;
  }

  .contactTelnum .telNum::before {
    font-size: clamp(1.313rem, 1.092rem + 0.94vw, 1.938rem); /* 31px */
  }
  
  .contactTelnum .telNum {
    font-size: clamp(2.375rem, 1.603rem + 2.87vw, 4.188rem); /* 67px */
    padding-left: 8%;
  }
  
  .contactTelnum p {
    display: none;
  }

  .contactTelnum hr {
    display: none;
  }

  .contactTelnum div.telButton {
    display: block;
    width: 100%;
  }

  .contactTelnum div.telButton a {
    /* width: 100%; */
    height: 96px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    color: #FFF;
    transition: 0.3s ease-in-out;
    font-size: clamp(1.313rem, 1.092rem + 0.94vw, 1.938rem); /* 31px */
    font-weight: 500;
    border-radius: 8px;
  
    position: relative;
  }

  .contactTelnum div.telButton a::before {
    font-family: "Font Awesome 6 Free";
    line-height: 1;
    position: absolute;
    top: auto;
    left: 6%;
    margin: 0;
    content: '\f095';
    font-size: clamp(1.875rem, 1.545rem + 1.41vw, 2.813rem); /* 45px */
    font-weight: 900;
    color: #ffffff;
  }
  
  .contactTelnum div.telButton a {
    background-color: #41a636;
    border-bottom: solid 5px #417d14;
    font-size: clamp(1.688rem, 1.289rem + 1.62vw, 2.75rem); /* 44px */
    font-weight: 600;
    padding-left: 20px;

    display: flex;
    flex-direction: column;
  }

  .contactTelnum div.telButton a span {
    display: block;
    font-size: 50%;
    font-weight: 500;
    margin-top: 1%;
  }
    
  .contactTelnum div.telButton a:hover {
    border-bottom: solid 2px #417d14;
  }

  .deviceFtr > .device {
    padding: 20px 0;
  }

  .copyright {
    text-align: right;
  }

  .copyright span {
    display: block;
  }

  .sub .contentsRead.thanks {
    padding: 0 5%;
    text-align: left;
  }

  .sub .contentsRead.thanks br {
    display: none;
  }

  .privacyTitle {
    margin-bottom: 10px;
    padding: 0;
  }
  
  .sub .privacyRead {
    padding: 0;
  }
  
  .sub .privacyRead ul {
    margin: 15px 0;
    padding: 0 10%;
  }
  
  .sub .privacyRead ul li {
    font-style: italic;
    list-style: disc;
  }
  
  .sub .privacyRead ul li:not(:last-child) {
    margin-bottom: 2%;
  }
  
  .sub .privacyRead:not(:last-child) {
    margin-bottom: 8%;
  }

  .deviceFtr {
    padding: 30px 20px 30px;
  }

  .corporateFtr {
    /* padding: 15px 20px 30px; */
    padding: 20px 20px;
  }

  .sub .deviceFtr {
    padding: 0 20px 30px;
  }

  .sapporoshieiAccordionContents li span {
    font-size: .8em;
  }
  
  footer.contentsAll {
    /* margin: -50px auto 0; */
  }
}

@media screen and (max-width: 430px) {
  .onesetSixPointList li {
    font-size: clamp(1.75rem, 0.921rem + 3.38vw, 2.25rem); /* 35px */
  }
}

.contentsAll.information {
  margin: 0 auto;
  padding: 0 30px;
}

.informationWrap {
  max-width: 1050px;
  padding: 30px 0 30px 30px;
  margin: 50px auto 0;

  border-radius: 15px;
  background: #ffffff;
  border: 1px solid #cccccc;
}

.informationWrap dl {
  display: flex;
  font-size: clamp(1rem, 0.947rem + 0.3vw, 1.3rem);
}

.informationWrap dt {
  margin-right: 4%;
  padding-right: 2%;
  border-right: 1px solid #cccccc;
}

.informationWrap li p {
  line-height: 1.4em;
}

.informationWrap li p a {
  color: #41a636;
  text-decoration: underline;
}

.informationWrap li:not(:last-child) {
  margin-bottom: 2%;
}


@media screen and (max-width: 768px) {
  .contentsAll.information {
    padding: 0 20px;
  }

  .informationWrap {
    padding: 20px 25px;
    margin: 30px auto 0;
  }

  .informationWrap dl {
    flex-direction: column;
  }

  .informationWrap dt {
    margin-bottom: 5%;
    padding-bottom: 3%;
    margin-right: 0;
    padding-right: 0;
    border-right: none;
    border-bottom: 1px solid #cccccc;
  }

  .informationWrap li:not(:last-child) {
    margin-bottom: 5%;
  }
}