.main__visual {
  background-image: url(../images/visual/visual-foundation-pc.jpg);
}
@media (max-width: 1200px) {
  .main__visual {
    background-image: url(../images/visual/visual-foundation-mo.jpg);
  }
}
@media (max-width: 1200px) {
  .main__textbox {
    padding: 40px 0;
  }
}
@media (max-width: 1200px) {
  .main__textbox {
    padding: 11.1111111111vw 0;
  }
}
.main__textbox .title {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 30px;
}
.main__textbox .title span {
  font-size: 60px;
  font-weight: 500;
}
@media (max-width: 1200px) {
  .main__textbox .title {
    flex-direction: column;
    gap: 16px;
  }
  .main__textbox .title span {
    font-size: 30px;
    line-height: 1;
  }
}
@media (max-width: 768px) {
  .main__textbox .title {
    gap: 4.4444444444vw;
  }
  .main__textbox .title span {
    font-size: 8.3333333333vw;
    line-height: 1;
  }
}
.main__textbox .text {
  margin-top: 40px;
  font-size: 18px;
  font-weight: 200;
  line-height: 32px;
}
@media (max-width: 1200px) {
  .main__textbox .text {
    margin-top: 47.5px;
    font-size: 12.5px;
    line-height: 24px;
  }
}
@media (max-width: 768px) {
  .main__textbox .text {
    margin-top: 13.1944444444vw;
    font-size: 3.4722222222vw;
    line-height: 6.6666666667vw;
  }
}
.main__textbox .text br.mobile {
  display: none;
}
@media (max-width: 1200px) {
  .main__textbox .text br.mobile {
    display: block;
  }
}
.main__textbox .text br.pc {
  display: block;
}
@media (max-width: 1200px) {
  .main__textbox .text br.pc {
    display: none;
  }
}

@media (max-width: 1200px) {
  .address--area {
    margin-top: 31px;
  }
}
@media (max-width: 768px) {
  .address--area {
    margin-top: 8.6111111111vw;
  }
}
.chart--area {
  overflow: hidden;
  margin-bottom: -68px;
}
@media (max-width: 1200px) {
  .chart--area {
    margin-bottom: -63px;
  }
}
@media (max-width: 768px) {
  .chart--area {
    margin-bottom: -17.5vw;
  }
}
.chart--box {
  max-width: 1200px;
  margin: 98px auto 0;
}
@media (max-width: 1200px) {
  .chart--box {
    margin: 36.5px 10px 0;
  }
}
@media (max-width: 768px) {
  .chart--box {
    margin: 10.1388888889vw 2.7777777778vw 0;
  }
}
.chart--box div {
  position: relative;
  overflow: hidden;
  z-index: 10;
}
.chart--box p {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 332px;
  height: 91px;
  border-radius: 91px;
  font-size: 30px;
  z-index: 10;
}
@media (max-width: 1200px) {
  .chart--box p {
    height: 45px;
    font-size: 15px;
  }
}
@media (max-width: 768px) {
  .chart--box p {
    height: 12.5vw;
    font-size: 4.1666666667vw;
  }
}
.chart--box .chart__top::before, .chart--box .chart__top::after {
  position: absolute;
  background-color: #b2b2b2;
  z-index: 5;
  content: "";
}
.chart--box .chart__top::before {
  width: 1px;
  height: 100%;
  top: 0;
  left: 50%;
}
.chart--box .chart__top::after {
  width: 50%;
  height: 1px;
  top: 50%;
}
.chart--box .chart__top--x {
  margin-top: 103px;
  margin-bottom: 97px;
}
@media (max-width: 1200px) {
  .chart--box .chart__top--x {
    margin-top: 51.5px;
    margin-bottom: 48.5px;
  }
}
@media (max-width: 768px) {
  .chart--box .chart__top--x {
    margin-top: 14.3055555556vw;
    margin-bottom: 13.4722222222vw;
  }
}
.chart--box .chart__top--x p {
  background-color: #151515;
  color: #ffffff;
}
@media (max-width: 1200px) {
  .chart--box .chart__top--x p {
    width: 103.5px;
  }
}
@media (max-width: 768px) {
  .chart--box .chart__top--x p {
    width: 28.75vw;
  }
}
.chart--box .chart__top--n {
  margin-right: auto;
  margin-left: auto;
  background-color: #d5572c;
  color: #ffffff;
}
@media (max-width: 1200px) {
  .chart--box .chart__top--n {
    width: 166px;
  }
}
@media (max-width: 768px) {
  .chart--box .chart__top--n {
    width: 46.1111111111vw;
  }
}
.chart--box .chart__top--w {
  float: left;
}
.chart--box .chart__top--e {
  display: none;
}
.chart--box .chart__top--s {
  margin-right: auto;
  margin-left: auto;
  background-color: #151515;
  color: #ffffff;
}
@media (max-width: 1200px) {
  .chart--box .chart__top--s {
    width: 166px;
  }
}
@media (max-width: 768px) {
  .chart--box .chart__top--s {
    width: 46.1111111111vw;
  }
}
.chart--box .chart__bottom {
  padding-top: 97px;
  padding-bottom: 97px;
  margin-bottom: 46px;
}
@media (max-width: 1200px) {
  .chart--box .chart__bottom {
    padding-top: 48.5px;
    padding-bottom: 48.5px;
    margin-bottom: 32px;
  }
}
@media (max-width: 768px) {
  .chart--box .chart__bottom {
    padding-top: 13.4722222222vw;
    padding-bottom: 13.4722222222vw;
    margin-bottom: 8.8888888889vw;
  }
}
.chart--box .chart__bottom::before, .chart--box .chart__bottom::after {
  position: absolute;
  background-color: #b2b2b2;
  z-index: 5;
  content: "";
}
.chart--box .chart__bottom::before {
  width: 1px;
  height: calc(50% + 1px);
  top: 0;
  left: 50%;
}
.chart--box .chart__bottom::after {
  width: 100%;
  height: 1px;
  left: 0;
  top: 50%;
}
.chart--box .chart__bottom p {
  background-color: #ffffff;
  border: 3px solid #151515;
  color: #151515;
}
.chart--box .chart__bottom--w {
  float: left;
}
@media (max-width: 1200px) {
  .chart--box .chart__bottom--w {
    width: 126.5px;
  }
}
@media (max-width: 768px) {
  .chart--box .chart__bottom--w {
    width: 35.1388888889vw;
  }
}
.chart--box .chart__bottom--e {
  float: right;
}
@media (max-width: 1200px) {
  .chart--box .chart__bottom--e {
    width: 126.5px;
  }
}
@media (max-width: 768px) {
  .chart--box .chart__bottom--e {
    width: 35.1388888889vw;
  }
}

.purpose--area {
  padding-top: 73px;
}
@media (max-width: 1200px) {
  .purpose--area {
    padding-top: 30.5px;
  }
}
@media (max-width: 768px) {
  .purpose--area {
    padding-top: 8.4722222222vw;
  }
}
.purpose--box {
  max-width: 1200px;
  margin-right: auto;
  margin-left: auto;
}
@media (max-width: 1200px) {
  .purpose__title {
    padding-right: 10px;
    padding-left: 10px;
  }
}
@media (max-width: 768px) {
  .purpose__title {
    padding-right: 2.7777777778vw;
    padding-left: 2.7777777778vw;
  }
}
.purpose__title .title {
  color: #222222;
  font-size: 32px;
  font-weight: 500;
  line-height: 46px;
}
@media (max-width: 1200px) {
  .purpose__title .title {
    font-size: 21px;
    line-height: 30.5px;
  }
}
@media (max-width: 768px) {
  .purpose__title .title {
    font-size: 5.8333333333vw;
    line-height: 8.4722222222vw;
  }
}
.purpose__title .text {
  max-width: 960px;
  margin-top: 6px;
  color: #222222;
  font-size: 16px;
  word-break: keep-all;
  line-height: 30px;
}
@media (max-width: 1200px) {
  .purpose__title .text {
    max-width: none;
    margin-top: 8px;
    font-size: 14px;
    line-height: 24px;
  }
}
@media (max-width: 768px) {
  .purpose__title .text {
    margin-top: 2.2222222222vw;
    font-size: 3.8888888889vw;
    line-height: 6.6666666667vw;
  }
}
.purpose__image {
  margin-top: 60px;
  background-color: #fcfcfc;
}
@media (max-width: 1200px) {
  .purpose__image {
    padding: 50px 30px;
    margin-right: 10px;
    margin-left: 10px;
  }
}
@media (max-width: 768px) {
  .purpose__image {
    padding: 0;
    margin-right: 0;
    margin-left: 0;
    background-color: transparent;
  }
}
.purpose__image img {
  display: block;
  max-width: 100%;
}
.purpose__image img.mobile {
  display: none;
}
@media (max-width: 1200px) {
  .purpose__image img.pc {
    display: none;
  }
  .purpose__image img.mobile {
    display: block;
    max-width: 360px;
    margin-right: auto;
    margin-left: auto;
    width: 100%;
  }
}
@media (max-width: 768px) {
  .purpose__image img.pc {
    display: none;
  }
  .purpose__image img.mobile {
    max-width: none;
  }
}

.town__story {
  padding: 5.9722222222vw 2.7777777778vw 0;
}
.town__story .contents_h2 {
  position: relative;
  padding-bottom: 120px;
  text-align: center;
}
@media (max-width: 1200px) {
  .town__story .contents_h2 {
    padding-bottom: 50px;
  }
}
@media (max-width: 768px) {
  .town__story .contents_h2 {
    padding-bottom: 6.9444444444vw;
  }
}
.town__story .contents_h2 h2 {
  font-weight: 500;
  font-size: 42px;
  line-height: 1;
  text-align: center;
}
.town__story .contents_h2 h2 strong {
  font-weight: 800;
}
@media (max-width: 1200px) {
  .town__story .contents_h2 h2 {
    font-size: 28px;
  }
}
@media (max-width: 768px) {
  .town__story .contents_h2 h2 {
    font-size: 3.8888888889vw;
  }
}
.town__story .contents_h2 p {
  font-size: 26px;
  text-align: center;
  margin-top: 44px;
}
@media (max-width: 1200px) {
  .town__story .contents_h2 p p {
    font-size: 16px;
    margin-top: 24px;
  }
}
@media (max-width: 768px) {
  .town__story .contents_h2 p p {
    font-size: 2.2222222222vw;
    margin-top: 3.3333333333vw;
  }
}
.town__story .contents_h2 .btn_main.large {
  margin-top: 50px;
}
@media (max-width: 1200px) {
  .town__story .contents_h2 .btn_main.large .btn_main.large {
    margin-top: 35px;
  }
}
@media (max-width: 768px) {
  .town__story .contents_h2 .btn_main.large .btn_main.large {
    margin-top: 4.8611111111vw;
  }
}
.town__story .content_video_box {
  display: flex;
  justify-content: center;
}
.town__story .town_story_box {
  margin-top: 125px;
}
.town__story .town_story_box li {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 50px;
  padding-top: 185px;
}
@media (max-width: 768px) {
  .town__story .town_story_box li {
    gap: 6.9444444444vw;
    padding-top: 25.6944444444vw;
  }
}
.town__story .town_story_box li h3 {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: flex-end;
  text-align: center;
  width: 186px;
  height: 99px;
  font-size: 20px;
  color: #d06341;
  font-weight: 700;
  line-height: 24px;
  background: url(../images/town_story_deco.png) no-repeat 0 0;
}
@media (max-width: 768px) {
  .town__story .town_story_box li h3 {
    width: 25.8333333333vw;
    height: 13.75vw;
    background-size: contain;
    font-size: 2.7777777778vw;
    line-height: 3.3333333333vw;
  }
}
.town__story .town_story_box li + li {
  margin-top: 210px;
}
@media (max-width: 768px) {
  .town__story .town_story_box li + li {
    margin-top: 29.1666666667vw;
  }
}
.town__story .town_story_box li + li::before {
  content: "";
  position: absolute;
  top: -140px;
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: 80px;
  background-color: #d06341;
}
@media (max-width: 768px) {
  .town__story .town_story_box li + li::before {
    top: -19.4444444444vw;
    width: 0.5555555556vw;
    height: 11.1111111111vw;
  }
}
.town__story .town_story_box li.type_step {
  margin-top: 0px;
}
.town__story .town_story_box li.type_step + li.type_step {
  margin-top: 0px;
}
.town__story .town_story_box li.type_step::before {
  display: none;
}
.town__story .town_story_box .town_story_thum {
  width: 585px;
  height: 440px;
  flex-shrink: 0;
}
.town__story .town_story_box .town_story_thum img {
  width: 100%;
}
.town__story .town_story_box .town_story_content {
  width: 100%;
}
.town__story .town_story_box .town_story_content .explain {
  font-size: 18px;
  color: #1a1a1a;
  line-height: 38px;
}
.town__story .town_story_box .town_story_content .explain + p {
  margin-top: 40px;
}
.town__story .town_story_box .town_story_content .sub_explain {
  font-size: 24px;
  color: #d06341;
  line-height: 1;
}
.town__story .town_story_box .town_story_content .row_02 {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 30px 0 60px;
}
.town__story .town_story_box .town_story_content .row_02 .title {
  margin: 0;
}
.town__story .town_story_box .town_story_content .title {
  font-size: 35px;
  color: #000;
  line-height: 1;
  font-weight: 700;
  margin-top: 18px;
}
.town__story .town_story_box .town_story_content .title + .explain {
  margin-top: 45px;
}
.town__story .town_story_box .town_story_sign {
  display: flex;
  align-items: center;
  margin-top: 40px;
  text-align: center;
  font-size: 18px;
  color: #303030;
}
.town__story .town_story_box .town_story_sign .name {
  margin: 0 10px 0 20px;
}
@media (max-width: 768px) {
  .town__story .town_story_box .town_story_sign {
    margin-top: 5.5555555556vw;
    font-size: 2.5vw;
  }
  .town__story .town_story_box .town_story_sign .name {
    margin: 0 1.3888888889vw 0 2.7777777778vw;
  }
}
.town__story .town_story_box .town_story_step {
  position: relative;
  display: flex;
  padding-top: 240px;
  width: 100%;
  gap: 50px;
  margin-top: 50px;
}
.town__story .town_story_box .town_story_step img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.town__story .town_story_box .step_text {
  display: flex;
  gap: 50px;
  width: 50%;
  justify-content: center;
}
.town__story .town_story_box .step_text p {
  font-size: 32px;
  color: #d06341;
  font-weight: 700;
}
.town__story .town_story_box .step_text:last-child {
  margin-top: -80px;
}
.town__story .town_story_box .town_story_stepbox {
  display: flex;
  justify-content: center;
  width: 410px;
  flex-shrink: 0;
}
.town__story .town_story_box .town_story_stepbox .step_box {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column;
  width: 122px;
  height: 157px;
  background-color: #d06341;
  border-radius: 120px 120px 0 0;
  color: #fff;
  font-size: 28px;
  font-weight: 700;
  line-height: 36px;
  padding-bottom: 10px;
}
.town__story .town_story_box .town_story_stepbox .step_box span {
  font-size: 32px;
}
@media (max-width: 1200px) {
  .town__story .town_story_box {
    margin-top: 60px;
  }
  .town__story .town_story_box li {
    padding-top: 130px;
    flex-direction: column;
    gap: 40px;
  }
  .town__story .town_story_box li + li::before {
    height: 40px;
    top: -80px;
  }
  .town__story .town_story_box li + li {
    margin-top: 130px;
  }
  .town__story .town_story_box li + li.type_step {
    margin-top: 60px;
    padding-top: 30px;
  }
  .town__story .town_story_box li.type_step + li.type_step {
    margin-top: 60px;
    padding-top: 60px;
  }
  .town__story .town_story_box .town_story_thum {
    width: 100%;
    height: auto;
  }
  .town__story .town_story_box .town_story_step {
    padding-top: 20%;
    margin-top: 60px;
  }
  .town__story .town_story_box .town_story_step img {
    width: 100%;
  }
  .town__story .town_story_box .step_text {
    width: 100%;
    flex-direction: column;
    gap: 10px;
  }
  .town__story .town_story_box .step_text:last-child {
    margin-top: -8%;
    padding-right: 2%;
  }
  .town__story .town_story_box .step_text p {
    font-size: 18px;
    text-align: center;
  }
  .town__story .town_story_box .town_story_content .explain {
    font-size: 16px;
    line-height: 26px;
  }
  .town__story .town_story_box .town_story_content .title {
    font-size: 20px;
    padding-left: 75px;
    margin-top: 8px;
  }
  .town__story .town_story_box .town_story_content .title + .explain {
    margin-top: 38px;
  }
  .town__story .town_story_box .town_story_content .sub_explain {
    font-size: 14px;
    padding-left: 75px;
    line-height: 18px;
  }
  .town__story .town_story_box .town_story_content .row_02 {
    margin: 15px 0 30px;
  }
  .town__story .town_story_box .town_story_content .row_02 .title {
    padding-left: 0;
    margin-left: -10px;
  }
  .town__story .town_story_box .town_story_stepbox {
    position: absolute;
    width: auto;
    margin-top: -30px;
  }
  .town__story .town_story_box .town_story_stepbox .step_box {
    width: 57px;
    height: 80px;
    font-size: 14px;
    line-height: 18px;
    padding-bottom: 5px;
  }
  .town__story .town_story_box .town_story_stepbox .step_box span {
    font-size: 16px;
  }
}
@media (max-width: 768px) {
  .town__story .town_story_box {
    margin-top: 8.3333333333vw;
  }
  .town__story .town_story_box li {
    padding-top: 18.0555555556vw;
    gap: 5.5555555556vw;
  }
  .town__story .town_story_box li + li::before {
    height: 5.5555555556vw;
    top: -11.1111111111vw;
  }
  .town__story .town_story_box li + li {
    margin-top: 18.0555555556vw;
  }
  .town__story .town_story_box li + li.type_step {
    margin-top: 8.3333333333vw;
    padding-top: 4.1666666667vw;
  }
  .town__story .town_story_box li.type_step + li.type_step {
    margin-top: 8.3333333333vw;
    padding-top: 8.3333333333vw;
  }
  .town__story .town_story_box .town_story_step {
    margin-top: 8.3333333333vw;
  }
  .town__story .town_story_box .step_text {
    gap: 1.3888888889vw;
  }
  .town__story .town_story_box .step_text p {
    font-size: 2.5vw;
  }
  .town__story .town_story_box .town_story_content .explain {
    font-size: 2.2222222222vw;
    line-height: 3.6111111111vw;
  }
  .town__story .town_story_box .town_story_content .title {
    font-size: 2.7777777778vw;
    padding-left: 10.4166666667vw;
    margin-top: 1.1111111111vw;
  }
  .town__story .town_story_box .town_story_content .title + .explain {
    margin-top: 5.2777777778vw;
  }
  .town__story .town_story_box .town_story_content .sub_explain {
    font-size: 1.9444444444vw;
    padding-left: 10.4166666667vw;
    line-height: 2.5vw;
  }
  .town__story .town_story_box .town_story_content .row_02 {
    margin: 2.0833333333vw 0 4.1666666667vw;
  }
  .town__story .town_story_box .town_story_content .row_02 .title {
    padding-left: 0;
    margin-left: -1.3888888889vw;
  }
  .town__story .town_story_box .town_story_stepbox {
    margin-top: -4.1666666667vw;
  }
  .town__story .town_story_box .town_story_stepbox .step_box {
    width: 7.9166666667vw;
    height: 11.1111111111vw;
    font-size: 1.9444444444vw;
    line-height: 2.5vw;
    padding-bottom: 0.6944444444vw;
  }
  .town__story .town_story_box .town_story_stepbox .step_box span {
    font-size: 2.2222222222vw;
  }
}

.business--box .thumbnail--item__left {
  width: 460px;
}
@media (max-width: 1200px) {
  .business--box .thumbnail--item__left {
    width: 330px;
  }
}
@media (max-width: 768px) {
  .business--box .thumbnail--item__left {
    width: auto;
  }
}
.business--box .thumbnail--item__right {
  display: flex;
  flex-direction: column;
  /*justify-content: space-between;*/
  justify-content: center;
}