main#home {
  width: 100vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}
main#home #mainVisual {
  position: relative;
  width: 100%;
}
main#home #mainVisual #mvWrapper {
  display: flex;
  justify-content: center;
}
main#home #mainVisual #mainVisualContainer {
  position: relative;
  width: 100%;
  overflow: hidden;
}
main#home #mainVisual #mainVisualContainer .mainVisualWrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  pointer-events: none;
  z-index: 0;
}
main#home #mainVisual #mainVisualContainer .mainVisualWrapper img {
  width: 100%;
  height: auto;
}
main#home #mainVisual #mainVisualContainer .mainVisualWrapper .copyContainer {
  position: absolute;
}
@media screen and (max-width: 767px) {
  main#home #mainVisual #mainVisualContainer .mainVisualWrapper .copyContainer {
    height: max(85.106vw, 320px);
    padding: max(7.979vw, 30px) max(4.787vw, 18px);
    position: static;
    display: flex;
    flex-direction: column;
  }
}
main#home #mainVisual #mainVisualContainer .mainVisualWrapper .copyContainer h3 {
  font-size: min(2.778vw, 40px);
  line-height: min(4.444vw, 64px);
  margin-bottom: min(4.167vw, 60px);
}
@media screen and (max-width: 767px) {
  main#home #mainVisual #mainVisualContainer .mainVisualWrapper .copyContainer h3 {
    font-size: max(6.383vw, 24px);
    line-height: max(10.638vw, 40px);
    margin-bottom: max(5.319vw, 20px);
  }
}
main#home #mainVisual #mainVisualContainer .mainVisualWrapper .copyContainer p {
  font-size: min(1.389vw, 20px);
  line-height: min(3.472vw, 50px);
}
@media screen and (max-width: 767px) {
  main#home #mainVisual #mainVisualContainer .mainVisualWrapper .copyContainer p {
    font-size: max(4.787vw, 18px);
    line-height: max(9.574vw, 36px);
  }
}
main#home #mainVisual #mainVisualContainer .mainVisualWrapper:nth-of-type(1) .copyContainer {
  top: 18.056vw;
  left: 54.167vw;
}
@media screen and (max-width: 767px) {
  main#home #mainVisual #mainVisualContainer .mainVisualWrapper:nth-of-type(1) .copyContainer {
    height: 320px;
    background-color: #e6f2ff;
  }
}
main#home #mainVisual #mainVisualContainer .mainVisualWrapper:nth-of-type(2) .copyContainer {
  top: 18.056vw;
  left: 54.861vw;
}
@media screen and (max-width: 767px) {
  main#home #mainVisual #mainVisualContainer .mainVisualWrapper:nth-of-type(2) .copyContainer {
    background-color: #e4ecf1;
  }
}
main#home #mainVisual #mainVisualContainer .mainVisualWrapper:nth-of-type(3) .copyContainer {
  top: 15.972vw;
  left: 6.25vw;
}
@media screen and (max-width: 767px) {
  main#home #mainVisual #mainVisualContainer .mainVisualWrapper:nth-of-type(3) .copyContainer {
    background-color: #deedc7;
  }
}
main#home #mainVisual #mainVisualContainer .mainVisualWrapper.show {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
  position: relative;
}
main#home #mainVisual #mainVisualContainerSP {
  position: relative;
  width: 100%;
}
main#home #mainVisual #mainVisualContainerSP img {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  width: 100%;
  height: auto;
}
main#home #mainVisual #mainVisualContainerSP img.show {
  opacity: 1;
  position: relative;
}
main#home #intro {
  width: min(97.959vw, 960px);
  display: flex;
  justify-content: space-between;
  padding: 100px 0px;
}
@media screen and (max-width: 767px) {
  main#home #intro {
    width: 100%;
    padding: 30px 18px 80px 18px;
    flex-direction: column-reverse;
    align-items: center;
  }
}
main#home #intro img {
  width: min(35.417vw, 340px);
  height: auto;
}
@media screen and (max-width: 767px) {
  main#home #intro img {
    width: max(69.149vw, 260px);
    margin-bottom: max(7.979vw, 30px);
  }
}
main#home #message {
  width: 100%;
  background-color: #fff3db;
  display: flex;
  justify-content: center;
}
main#home #message #messageWrapper {
  width: min(97.959vw, 960px);
  position: relative;
  padding: min(5.208vw, 50px) min(6.25vw, 60px);
}
@media screen and (max-width: 767px) {
  main#home #message #messageWrapper {
    width: 100%;
    padding: max(7.979vw, 30px) max(4.787vw, 18px);
  }
}
main#home #message #messageWrapper img.title {
  height: min(7.316vw, 70.23px);
  position: absolute;
  top: max(-5.571vw, -53.48px);
  left: 0px;
}
@media screen and (max-width: 767px) {
  main#home #message #messageWrapper img.title {
    height: max(13.862vw, 52.12px);
    top: min(-10.601vw, -39.86px);
    left: max(21.096vw, 79.32px);
  }
}
main#home #message #messageWrapper #messageContainer {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  main#home #message #messageWrapper #messageContainer {
    flex-direction: column;
  }
}
main#home #message #messageWrapper #messageContainer #photo {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 767px) {
  main#home #message #messageWrapper #messageContainer #photo {
    margin-bottom: max(7.979vw, 30px);
  }
}
main#home #message #messageWrapper #messageContainer #photo img {
  width: min(16.667vw, 160px);
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  main#home #message #messageWrapper #messageContainer #photo img {
    width: max(42.553vw, 160px);
    margin-top: max(7.979vw, 30px);
  }
}
main#home #message #messageWrapper #messageContainer #text {
  width: min(65.625vw, 630px);
}
@media screen and (max-width: 767px) {
  main#home #message #messageWrapper #messageContainer #text {
    width: 100%;
  }
}
main#home #message #messageWrapper #messageContainer #text h5 {
  margin-bottom: min(3.125vw, 30px);
}
main#home #ourBusiness {
  width: 100%;
  background-color: #e6f2ff;
  margin-top: min(14.583vw, 140px);
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness {
    margin-top: max(15.957vw, 60px);
  }
}
main#home #ourBusiness #insuranceAgency,
main#home #ourBusiness #marriageAgency {
  width: 100%;
}
main#home #ourBusiness #insuranceAgency .businessTitleWrapper,
main#home #ourBusiness #marriageAgency .businessTitleWrapper {
  display: flex;
  width: 100%;
  height: min(33.333vw, 320px);
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency .businessTitleWrapper,
  main#home #ourBusiness #marriageAgency .businessTitleWrapper {
    flex-direction: column;
    height: auto;
  }
}
main#home #ourBusiness #insuranceAgency .businessTitleWrapper img.imagePhoto,
main#home #ourBusiness #marriageAgency .businessTitleWrapper img.imagePhoto {
  width: min(54.167vw, 780px);
  object-fit: cover;
  object-position: center center;
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency .businessTitleWrapper img.imagePhoto,
  main#home #ourBusiness #marriageAgency .businessTitleWrapper img.imagePhoto {
    width: 100%;
  }
}
main#home #ourBusiness #insuranceAgency .businessTitleWrapper .wrapper,
main#home #ourBusiness #marriageAgency .businessTitleWrapper .wrapper {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency .businessTitleWrapper .wrapper,
  main#home #ourBusiness #marriageAgency .businessTitleWrapper .wrapper {
    padding: max(7.979vw, 30px) max(4.787vw, 18px);
  }
}
main#home #ourBusiness #insuranceAgency .businessTitleWrapper .wrapper img.title,
main#home #ourBusiness #marriageAgency .businessTitleWrapper .wrapper img.title {
  height: min(5.778vw, 55.47px);
  position: absolute;
  top: max(-5.597vw, -53.73px);
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency .businessTitleWrapper .wrapper img.title,
  main#home #ourBusiness #marriageAgency .businessTitleWrapper .wrapper img.title {
    height: max(11.064vw, 41.6px);
    top: min(-74.681vw, -280.8px);
    left: max(6.285vw, 23.63px);
  }
}
main#home #ourBusiness #insuranceAgency .businessTitleWrapper .wrapper p.introCopy,
main#home #ourBusiness #marriageAgency .businessTitleWrapper .wrapper p.introCopy {
  margin: 30px 0px;
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency .businessTitleWrapper .wrapper p.introCopy,
  main#home #ourBusiness #marriageAgency .businessTitleWrapper .wrapper p.introCopy {
    margin: 20px 0px;
  }
}
main#home #ourBusiness #insuranceAgency .businessTitleWrapper .wrapper .linkButton,
main#home #ourBusiness #marriageAgency .businessTitleWrapper .wrapper .linkButton {
  width: min(25vw, 240px);
  height: 40px;
  border-radius: 20px;
  background-color: #fbfbfb;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 1px 1px 3px rgba(128, 153, 181, 0.3);
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency .businessTitleWrapper .wrapper .linkButton,
  main#home #ourBusiness #marriageAgency .businessTitleWrapper .wrapper .linkButton {
    width: max(63.83vw, 240px);
    height: max(10.638vw, 40px);
    border-radius: max(5.319vw, 20px);
  }
}
main#home #ourBusiness #insuranceAgency #insuranceCompany,
main#home #ourBusiness #marriageAgency #insuranceCompany {
  width: 100%;
  display: flex;
  justify-content: center;
}
main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper,
main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper {
  width: min(97.959vw, 960px);
  padding: min(6.25vw, 60px) 0px min(8.333vw, 80px) 0px;
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper,
  main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper {
    width: 100%;
    padding: max(7.979vw, 30px) max(4.787vw, 18px);
  }
}
main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper h6,
main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper h6 {
  margin-bottom: 36px;
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper h6,
  main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper h6 {
    margin-bottom: max(9.574vw, 36px);
  }
}
main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper .insuranceCompanyList,
main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper .insuranceCompanyList {
  width: min(97.959vw, 960px);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  column-gap: min(0.833vw, 8px);
  margin-top: min(3.125vw, 30px);
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper .insuranceCompanyList,
  main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper .insuranceCompanyList {
    width: 100%;
    margin-top: 20px;
    grid-template-columns: repeat(2, 1fr);
  }
}
main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper .insuranceCompanyList .title,
main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper .insuranceCompanyList .title {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #5ca8ff;
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper .insuranceCompanyList .title,
  main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper .insuranceCompanyList .title {
    grid-column: 1/3;
    grid-row: 1/2;
  }
}
main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper .insuranceCompanyList .company,
main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper .insuranceCompanyList .company {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
}
main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper .insuranceCompanyList .company img,
main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper .insuranceCompanyList .company img {
  width: min(20.833vw, 200px);
  height: auto;
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper .insuranceCompanyList .company img,
  main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper .insuranceCompanyList .company img {
    width: max(35.106vw, 132px);
  }
}
main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper .insuranceCompanyList:nth-of-type(1),
main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper .insuranceCompanyList:nth-of-type(1) {
  height: 172px;
  grid-template-rows: repeat(3, 52px);
  row-gap: 8px;
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper .insuranceCompanyList:nth-of-type(1),
  main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper .insuranceCompanyList:nth-of-type(1) {
    height: max(78.191vw, 294px);
    grid-template-rows: max(7.979vw, 30px) repeat(6, max(9.574vw, 36px));
  }
}
main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper .insuranceCompanyList:nth-of-type(2),
main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper .insuranceCompanyList:nth-of-type(2) {
  height: 52px;
  grid-template-rows: 52px;
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #insuranceAgency #insuranceCompany .wrapper .insuranceCompanyList:nth-of-type(2),
  main#home #ourBusiness #marriageAgency #insuranceCompany .wrapper .insuranceCompanyList:nth-of-type(2) {
    height: max(19.681vw, 74px);
    grid-template-rows: max(7.979vw, 30px) max(9.574vw, 36px);
    row-gap: 8px;
  }
}
main#home #ourBusiness #insuranceAgency .businessTitleWrapper {
  background-color: #9dcbff;
}
main#home #ourBusiness #marriageAgency .businessTitleWrapper {
  background-color: #78dfd3;
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  main#home #ourBusiness #marriageAgency .businessTitleWrapper {
    flex-direction: column;
  }
}
main#home #outline {
  width: 100%;
  display: flex;
  justify-content: center;
}
main#home #outline .wrapper {
  width: min(97.959vw, 960px);
  height: 100%;
  padding: min(8.333vw, 80px) 0px;
}
@media screen and (max-width: 767px) {
  main#home #outline .wrapper {
    width: 100%;
    padding: 30px 18px;
  }
}
main#home #outline .wrapper .titleContainer {
  display: flex;
  align-items: flex-end;
  position: relative;
}
main#home #outline .wrapper .titleContainer img {
  height: min(4.333vw, 41.6px);
}
main#home #outline .wrapper .titleContainer p {
  position: absolute;
  left: min(23.958vw, 230px);
  bottom: 4px;
}
main#home #outline .wrapper table {
  width: min(97.959vw, 960px);
}
@media screen and (max-width: 767px) {
  main#home #outline .wrapper table {
    width: 100%;
    padding: 0px 18px;
  }
}
main#home #outline .wrapper table tr {
  display: table-row;
  border-top: solid 1px #999999;
}
@media screen and (max-width: 767px) {
  main#home #outline .wrapper table tr {
    display: block;
  }
}
main#home #outline .wrapper table tr th,
main#home #outline .wrapper table tr td {
  padding: 18px 4px;
}
@media screen and (max-width: 767px) {
  main#home #outline .wrapper table tr th:nth-of-type(2) {
    border-top: solid 1px #999999;
  }
}
@media screen and (max-width: 767px) {
  main#home #outline .wrapper table tr th {
    padding: 8px 8px 4px 8px;
    display: block;
  }
}
@media screen and (max-width: 767px) {
  main#home #outline .wrapper table tr td {
    padding: 4px 8px 8px 8px;
    display: block;
  }
}
main#home #outline .wrapper table tr:last-child {
  border-bottom: solid 1px #999999;
}/*# sourceMappingURL=home.css.map */