.toppage .pankuzu {
  display: none !important;
}
/* --------------------------------
mainvisual
-------------------------------- */
#main .mainvisual {
  background: url(../media/images/top/mv.jpg) no-repeat;
  background-size: cover;
  height: 800px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #main .mainvisual {
    height: 525px;
    background: url(../media/images/top/mv_sp.jpg) no-repeat 38% top;
    background-size: 226%;
  }
}
#main .mainvisual_inner {
  width: 100%;
  max-width: 1250px;
  margin-left: auto;
  margin-right: auto;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  flex-flow: row nowrap;
}
@media screen and (max-width: 767px) {
  #main .mainvisual_inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  #main .mainvisual_inner {
    align-items: flex-start;
  }
}
#main .mainvisual_inner .color-secondary {
  color: #e07a3b;
}
#main .mainvisual_inner .catchcopy {
  padding-bottom: 44px;
}
@media screen and (max-width: 767px) {
  #main .mainvisual_inner .catchcopy {
    padding-top: 20px;
    padding-bottom: 0;
  }
}
#main .mainvisual_inner .catchcopy span {
  font-weight: 500;
  font-size: 32px;
  line-height: 1.48;
  letter-spacing: 0.06em;
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
}
@media screen and (max-width: 767px) {
  #main .mainvisual_inner .catchcopy span {
    font-size: 22px;
    line-height: 1;
    letter-spacing: 0.1em;
  }
}
#main .mainvisual_inner .catchcopy span:not(.color-secondary) {
  display: table;
  background-color: #fff;
}
#main .mainvisual_inner .catchcopy span.bgextend {
  padding: 13px 36px 13px 13px;
}
@media screen and (max-width: 767px) {
  #main .mainvisual_inner .catchcopy span.bgextend {
    padding: 10px 20px 10px 11px;
  }
}
#main .mainvisual_inner .catchcopy span.bgextend + .bgextend {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  #main .mainvisual_inner .catchcopy span.bgextend + .bgextend {
    margin-top: 4px;
  }
}
#main .mainvisual_inner .catchcopy span.bgextend > span {
  padding: 0;
}
#main .mainvisual_inner .catchcopy span.bgextend:nth-of-type(3), #main .mainvisual_inner .catchcopy span.bgextend:nth-of-type(4) {
  padding: 0;
}
#main .mainvisual_inner .catchcopy span.bgextend:nth-of-type(3) span, #main .mainvisual_inner .catchcopy span.bgextend:nth-of-type(4) span {
  font-weight: 500;
  font-size: 20px;
  line-height: 1.48;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  #main .mainvisual_inner .catchcopy span.bgextend:nth-of-type(3) span, #main .mainvisual_inner .catchcopy span.bgextend:nth-of-type(4) span {
    font-size: 14px;
    letter-spacing: 0.08em;
  }
}
#main .mainvisual_inner .catchcopy span.bgextend:nth-of-type(3) span:not(.color-secondary), #main .mainvisual_inner .catchcopy span.bgextend:nth-of-type(4) span:not(.color-secondary) {
  padding: 6px 15px 5px 13px;
}
@media screen and (max-width: 767px) {
  #main .mainvisual_inner .catchcopy span.bgextend:nth-of-type(3) span:not(.color-secondary), #main .mainvisual_inner .catchcopy span.bgextend:nth-of-type(4) span:not(.color-secondary) {
    padding: 5px 13px 5px 12px;
  }
}
#main .mainvisual_inner .catchcopy span.bgextend:nth-of-type(4) {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  #main .mainvisual_inner .catchcopy span.bgextend:nth-of-type(4) {
    margin-top: 4px;
  }
}
#main .news {
  background: #6b8fa2;
}
#main .news_inner {
  width: 100%;
  max-width: 1250px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 0 20px;
  width: 100%;
  max-width: 1250px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  #main .news_inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  #main .news_inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 1250px) and (min-width: 768px) {
  #main .news_inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
#main .news_inner h2 {
  color: #fff;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.48;
  letter-spacing: 0.1em;
  background-image: linear-gradient(to right, #fff 5px, transparent 1px);
  background-size: 6px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
  padding-bottom: 10px;
  margin-bottom: 10px;
}
#main .news_inner h2 .en {
  position: relative;
  display: block;
  padding-left: 30px;
  font-weight: 500;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  #main .news_inner h2 .en {
    font-size: 13px;
  }
}
#main .news_inner h2 .en::before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 20px;
  aspect-ratio: 1.2042253521;
  background-image: url(../media/images/common/ico--clover-white.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}
#main .news_inner .news_list_wrap {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #main .news_inner .news_list_wrap {
    flex-direction: column;
  }
}
#main .news_inner .news_list {
  width: calc(100% - 300px);
}
@media screen and (max-width: 767px) {
  #main .news_inner .news_list {
    width: 100%;
  }
}
#main .news_inner .news_list li {
  padding-top: 6px;
  padding-bottom: 0;
}
#main .news_inner .button_wrap {
  width: 300px;
  height: 42px;
}
@media screen and (max-width: 767px) {
  #main .news_inner .button_wrap {
    width: 100%;
    margin-top: 21px;
    padding: 0 20px;
    height: 50px;
  }
}
#main .news_inner .button_wrap a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 1px solid #ffffff;
  border-radius: 30px;
  background-color: #ffffff;
  color: #fff;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.48;
  letter-spacing: 0.04em;
  color: #6a8fa2;
}
@media screen and (max-width: 767px) {
  #main .news_inner .button_wrap a {
    font-size: 13px;
  }
}
#main .news_inner .button_wrap a:hover {
  color: #fff;
}
#main .news_inner .button_wrap a::after {
  border-top: 2px solid #6a8fa2;
  border-right: 2px solid #6a8fa2;
}
#main .news_inner .button_wrap a:hover {
  color: #6a8fa2;
}
#main .block {
  color: #3b2a24;
  font-weight: 500;
  font-size: 16px;
  line-height: 2.25;
  letter-spacing: 0.12em;
  /*
		.card {
		padding: 40px;
		background-color: #f7f7f7;
		border-radius: 20px;
		@include media(sp) {
		padding: 18px 18px 30px;
	}
		.picture {
		img {
		border-radius: 20px;
	}
	}
		.ttl {
		@include font(20, 1.45, 500, 0);
		@include flex(row nowrap, center, center);
		margin-top: 30px;
		margin-bottom: 16px;
		@include media(sp) {
		justify-content: flex-start;
	}
		&::before {
		display: inline-block;
		content: "";
		width: 10px;
		height: 10px;
		margin-right: 6px;
		background: url(../media/images/common/ico--circle-tertiary.png) no-repeat;
		background-size: cover;
		flex-shrink: 0;
		// border-radius: 50%;
		// background-color: $color-tertiary;
	}
	}
		.text {
		@include font(16, 2.143, 500, 0.12em);
		@include media(sp) {
		font-size: 14px;
	}
	}
	}
		.button {
		width: 280px;
		height: 48px;
		margin: 16px auto 0;
		a {
		@include button_base_a();
		&::after {
		border-color: #fff;
		@include media(sp) {
		right: 12px;
	}
	}
	}
		&-text {
		text-align: right;
		a {
		@include font(14, 1.48, 500, 0.12em);
		color: $color-brown;
		text-decoration: underline;
		padding-right: 6px;
		&::after {
		right: -8px;
		border-color: #fff;
	}
	}
	}
	}

		&.color-secondary {
		.title {
		small {
		color: $color-secondary;
		&::before {
		background-image: url(../media/images/common/ico--clover-secondary.png);
	}
	}
		span {
		color: $color-secondary;
		b {
		font-size: 30px;
	}
	}
	}
		.card {
		background-color: #f7f5f0;

		.ttl {
		@include font(20, 1.45, 500, 0);

		&::before {
		background: url(../media/images/common/ico--circle-secondary.png) no-repeat;
		background-size: cover;
	}
		span {
		color: $color-secondary;
	}
	}
	}
		.button {
		a {
		@include button_base_a($color-lightgreen);
	}
	}
	}
		*/
}
#main .block .inner {
  width: 100%;
  max-width: 1250px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  #main .block .inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 1250px) and (min-width: 768px) {
  #main .block .inner {
    padding-left: 40px;
    padding-right: 40px;
  }
}
#main .block .title {
  margin-bottom: 48px;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.938;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  #main .block .title {
    font-size: 22px;
    line-height: 1.545;
    margin-bottom: 24px;
  }
}
#main .block .title small {
  position: relative;
  display: block;
  padding-left: 30px;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.12em;
  color: #1b6e8b;
  margin-bottom: 14px;
}
@media screen and (max-width: 767px) {
  #main .block .title small {
    font-size: 13px;
  }
}
#main .block .title small::before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  content: "";
  width: 20px;
  aspect-ratio: 1.2042253521;
  background-image: url(../media/images/common/ico--clover-tertiary.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center center;
}
#main .block .title span {
  color: #1b6e8b;
}
#main .block .title:has(+ .subtitle) {
  margin-bottom: 34px;
}
@media screen and (max-width: 767px) {
  #main .block .title:has(+ .subtitle) {
    margin-bottom: 8px;
  }
}
#main .block .subtitle {
  font-weight: 500;
  font-size: 16px;
  line-height: 2.143;
  letter-spacing: 0.12em;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  #main .block .subtitle {
    font-size: 14px;
    margin-bottom: 16px;
  }
}
#main .block .card {
  position: relative;
  padding: 40px;
  background-color: #f7f7f7;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  #main .block .card {
    padding: 18px 18px 30px;
  }
}
#main .block .card .step {
  position: absolute;
  top: 17px;
  left: 13px;
  display: grid;
  align-items: center;
  justify-content: center;
  padding: 9px 0;
  border-radius: 50%;
  width: 50px;
  aspect-ratio: 1;
  font-size: 15px;
  font-weight: bold;
  font-family: Arial, sans-serif;
  text-transform: uppercase;
  background: #ccc;
  text-align: center;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 767px) {
  #main .block .card .step {
    top: 10px;
    left: 10px;
  }
}
#main .block .card .step .stepNam {
  display: block;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
#main .block .card .picture img {
  border-radius: 20px;
}
#main .block .card .iframe {
  aspect-ratio: 1.7682926829;
}
#main .block .card .iframe iframe {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
#main .block .card .ttl {
  font-weight: 500;
  font-size: 20px;
  line-height: 1.45;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  margin-top: 30px;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  #main .block .card .ttl {
    justify-content: flex-start;
  }
}
#main .block .card .ttl::before {
  display: inline-block;
  content: "";
  width: 10px;
  height: 10px;
  margin-right: 6px;
  background: url(../media/images/common/ico--circle-tertiary.png) no-repeat;
  background-size: cover;
  flex-shrink: 0;
}
#main .block .card .button {
  width: 280px;
  height: 48px;
  margin: 16px auto 0;
}
#main .block .card .button a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 1px solid #3b2a24;
  border-radius: 30px;
  background-color: #3b2a24;
  color: #fff;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #main .block .card .button a {
    font-size: 13px;
  }
}
#main .block .card .button a:hover {
  color: #fff;
}
#main .block .card .button a::after {
  border-color: #fff;
}
@media screen and (max-width: 767px) {
  #main .block .card .button a::after {
    right: 12px;
  }
}
#main .block .card .button-text {
  text-align: right;
}
#main .block .card .button-text a {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.48;
  letter-spacing: 0.12em;
  color: #3b2a24;
  text-decoration: underline;
  padding-right: 6px;
}
#main .block .card .button-text a::after {
  right: -8px;
  border-color: #fff;
}
#main .block .card .text {
  font-weight: 500;
  font-size: 16px;
  line-height: 2.143;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  #main .block .card .text {
    font-size: 14px;
  }
}
#main .block.card_column {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  gap: 32px 0;
}
@media screen and (max-width: 767px) {
  #main .block.card_column {
    flex-direction: column;
    gap: 20px 0;
    padding: 0;
  }
}
#main .block.card_column .card {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  padding: 32px 20px;
  gap: 30px 58px;
  position: relative;
}
@media screen and (max-width: 767px) {
  #main .block.card_column .card {
    display: block;
    padding-bottom: 20px;
    padding-top: 20px;
  }
}
#main .block.card_column .picture {
  width: 580px;
  height: 328px;
  flex-shrink: 0;
  display: block;
}
@media screen and (max-width: 767px) {
  #main .block.card_column .picture {
    width: 100%;
    height: auto;
  }
}
#main .block.card_column .picture img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
#main .block.card_column .card_desc {
  width: calc(100% - (580px + 58px));
  display: flex;
  flex-flow: column nowrap;
}
@media screen and (max-width: 767px) {
  #main .block.card_column .card_desc {
    display: block;
    width: 100%;
  }
}
#main .block.color-secondary .title small {
  color: #e07a3b;
}
#main .block.color-secondary .title small::before {
  background-image: url(../media/images/common/ico--clover-secondary.png);
}
#main .block.color-secondary .title span {
  color: #e07a3b;
}
#main .block.color-secondary .title span b {
  font-size: 30px;
}
#main .block.color-secondary .card {
  background-color: #f7f5f0;
}
#main .block.color-secondary .card .ttl {
  font-weight: 500;
  font-size: 20px;
  line-height: 1.45;
  letter-spacing: 0;
}
#main .block.color-secondary .card .ttl::before {
  background: url(../media/images/common/ico--circle-secondary.png) no-repeat;
  background-size: cover;
}
#main .block.color-secondary .card .ttl span {
  color: #e07a3b;
}
#main .block.color-secondary .card .button a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 1px solid #6b8e23;
  border-radius: 30px;
  background-color: #6b8e23;
  color: #fff;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #main .block.color-secondary .card .button a {
    font-size: 13px;
  }
}
#main .block.color-secondary .card .button a:hover {
  color: #fff;
}
#main .block.itembg-wh .card {
  background-color: #fff;
}
#main .block.colorP-1 .card .step {
  background-color: #e07a3b;
}
#main .block.colorP-1 .card .strong {
  color: #e07a3b;
}
#main .block.colorP-1 .card .ttl::before {
  background-image: url(../media/images/common/ico--circle-secondary.png);
}
#main .block.colorP-2 .card .step {
  background-color: #7a9526;
}
#main .block.colorP-2 .card .strong {
  color: #7a9526;
}
#main .block.colorP-2 .card .ttl::before {
  background-image: url(../media/images/common/ico--circle-lightgreen.png);
}
#main .block.colorP-3 .card {
  background-color: #fff;
}
#main .block.colorP-3 .card .step {
  background-color: #a4873c;
}
#main .block.colorP-3 .card .strong {
  color: #a4873c;
}
#main .block.colorP-3 .card .ttl::before {
  background-image: url(../media/images/common/ico--circle-lightbrown.png);
}
#main .block.colorP-4 .card {
  background-color: #fff;
}
#main .block.colorP-4 .card .step {
  background-color: #1b6e8b;
}
#main .block.colorP-4 .card .strong {
  color: #1b6e8b;
}
#main .block.colorP-4 .card .ttl::before {
  background-image: url(../media/images/common/ico--circle-tertiary.png);
}
#main .block.colorP-5 .card {
  background-color: #eff3f4;
}
#main .block.colorP-5 .card .step {
  background-color: #1b6e8b;
}
#main .block.colorP-5 .card .strong {
  color: #1b6e8b;
}
#main .block.colorP-5 .card .ttl::before {
  background-image: url(../media/images/common/ico--circle-tertiary.png);
}
#main .block.colorP-6 .card .step {
  background-color: #6a4c93;
}
#main .block.colorP-6 .card .strong {
  color: #6a4c93;
}
#main .block.colorP-6 .card .ttl::before {
  background-image: url(../media/images/common/ico--circle-purple.png);
}
#main .block.message {
  padding-top: 100px;
  padding-bottom: 50px;
  background-color: #fafafa;
}
@media screen and (max-width: 767px) {
  #main .block.message {
    padding-top: 50px;
  }
}
#main .block.message .txt p {
  line-height: 2.875;
}
@media screen and (max-width: 767px) {
  #main .block.message .txt p {
    line-height: 2.25;
  }
}
@media screen and (max-width: 767px) {
  #main .block.message .txt p + p {
    margin-top: 2em;
  }
}
#main .block.message .message-slider {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  #main .block.message .message-slider {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: 26px;
  }
}
@media screen and (max-width: 767px) {
  #main .block.message .message-slider .swiper-wrapper {
    margin-left: -40px;
  }
}
#main .block.message .message-slider .swiper-wrapper .swiper-slide {
  border-radius: 20px;
  overflow: hidden;
  width: calc((100% - 200px) / 3);
}
#main .block.message .message-slider .swiper-wrapper .swiper-slide img {
  object-fit: cover;
  height: 100%;
}
#main .block.service {
  background: #fafafa url(../media/images/top/service-bg.png) repeat;
}
#main .block.service::before, #main .block.service::after {
  content: "";
  display: block;
  width: 100%;
}
#main .block.service::before {
  background-color: #fafafa;
  aspect-ratio: 7.2;
  clip-path: polygon(100% 100%, 96.667% 91.656%, 96.667% 91.656%, 95.57% 88.955%, 94.293% 85.878%, 92.857% 82.569%, 91.28% 79.173%, 89.583% 75.832%, 87.787% 72.691%, 85.91% 69.893%, 83.973% 67.583%, 81.997% 65.904%, 80% 65%, 80% 65%, 78% 64.939%, 76% 65.563%, 74% 66.676%, 72% 68.081%, 70% 69.582%, 68% 70.983%, 66% 72.087%, 64% 72.698%, 62% 72.62%, 60% 71.656%, 60% 71.656%, 58% 69.613%, 56% 66.645%, 54% 62.907%, 52% 58.557%, 50% 53.75%, 48% 48.643%, 46% 43.393%, 44% 38.155%, 42% 33.087%, 40% 28.344%, 40% 28.344%, 38% 24.112%, 36% 20.355%, 34% 17.068%, 32% 14.243%, 30% 11.875%, 28% 9.957%, 26% 8.482%, 24% 7.445%, 22% 6.838%, 20% 6.656%, 20% 6.656%, 18.003% 6.827%, 16.027% 7.351%, 14.09% 8.167%, 12.213% 9.209%, 10.417% 10.414%, 8.72% 11.719%, 7.143% 13.059%, 5.707% 14.371%, 4.43% 15.592%, 3.333% 16.656%, 0% 20%, 0% 0%, 100% 0%, 100% 100%);
}
@media screen and (max-width: 767px) {
  #main .block.service::before {
    aspect-ratio: 4.5;
  }
}
#main .block.service::after {
  aspect-ratio: 10.2857142857;
  background-color: #ffffff;
  clip-path: polygon(0% 70%, 3.333% 71.656%, 3.333% 71.656%, 4.43% 72.232%, 5.707% 72.891%, 7.143% 73.639%, 8.72% 74.479%, 10.417% 75.414%, 12.213% 76.449%, 14.09% 77.587%, 16.027% 78.831%, 18.003% 80.187%, 20% 81.656%, 20% 81.656%, 22% 83.165%, 24% 84.658%, 26% 86.002%, 28% 87.063%, 30% 87.707%, 32% 87.801%, 34% 87.211%, 36% 85.803%, 38% 83.444%, 40% 80%, 40% 80%, 42% 75.419%, 44% 69.903%, 46% 63.698%, 48% 57.051%, 50% 50.207%, 52% 43.413%, 54% 36.914%, 56% 30.958%, 58% 25.79%, 60% 21.656%, 60% 21.656%, 62% 18.792%, 64% 17.128%, 66% 16.563%, 68% 16.998%, 70% 18.332%, 72% 20.466%, 74% 23.3%, 76% 26.733%, 78% 30.667%, 80% 35%, 80% 35%, 81.997% 39.635%, 83.973% 44.48%, 85.91% 49.445%, 87.787% 54.44%, 89.583% 59.375%, 91.28% 64.16%, 92.857% 68.705%, 94.293% 72.92%, 95.57% 76.715%, 96.667% 80%, 100% 90%, 100% 100%, 0% 100%, 0% 70%);
}
@media screen and (max-width: 767px) {
  #main .block.service::after {
    aspect-ratio: 4.5;
  }
}
#main .block.service .inner {
  position: relative;
  margin-bottom: 40px;
}
#main .block.service .inner::before {
  content: "";
  display: block;
  width: 32px;
  height: 154px;
  background: url(../media/images/top/service-people.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: 0px;
  left: 500px;
}
@media screen and (max-width: 767px) {
  #main .block.service .inner::before {
    top: -30px;
    right: 40px;
    left: auto;
  }
}
#main .block.service .title {
  line-height: 1.28;
}
#main .block.service .card_wrap {
  display: flex;
  align-items: flex-start;
  flex-flow: row wrap;
  justify-content: space-between;
  gap: 10px 32px;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  #main .block.service .card_wrap {
    flex-direction: column;
    gap: 20px 0;
    padding: 0;
  }
}
#main .block.service .card_wrap .card {
  width: calc((100% / 2) - 32px);
  padding-bottom: 32px;
}
@media screen and (max-width: 767px) {
  #main .block.service .card_wrap .card {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  #main .block.service .card_wrap .card .text {
    line-height: 2;
  }
}
@media screen and (min-width: 768px) {
  #main .block.service .card_wrap .card:nth-of-type(2n) {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  #main .block.service .button {
    margin-right: 0;
    width: 340px;
    height: 56px;
  }
}
#main .block.support {
  padding-top: 100px;
  padding-bottom: 50px;
}
@media screen and (max-width: 767px) {
  #main .block.support {
    padding-top: 50px;
    padding-bottom: 40px;
  }
}
#main .block.support .card_wrap {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  gap: 32px 0;
}
@media screen and (max-width: 767px) {
  #main .block.support .card_wrap {
    flex-direction: column;
    gap: 20px 0;
    padding: 0;
  }
}
#main .block.support .card {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  padding: 32px 20px;
  gap: 30px 58px;
  position: relative;
}
@media screen and (max-width: 767px) {
  #main .block.support .card {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  #main .block.support .card {
    padding-bottom: 20px;
    padding-top: 20px;
  }
}
#main .block.support .card_desc {
  width: calc(100% - (580px + 58px));
  display: flex;
  flex-flow: column nowrap;
}
@media screen and (max-width: 767px) {
  #main .block.support .card_desc {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  #main .block.support .card_desc {
    width: 100%;
  }
}
#main .block.support .card .picture {
  width: 580px;
  height: 328px;
  flex-shrink: 0;
  display: block;
}
@media screen and (max-width: 767px) {
  #main .block.support .card .picture {
    width: 100%;
    height: auto;
  }
}
#main .block.support .card .picture img {
  object-fit: cover;
  height: 100%;
  width: 100%;
}
#main .block.support .card .ttl {
  justify-content: flex-start;
}
#main .block.support .card .text {
  flex-grow: 1;
}
#main .block.support .card:last-of-type::before {
  content: "";
  display: block;
  width: 41px;
  height: 123px;
  background: url(../media/images/top/support-people.png) no-repeat;
  background-size: cover;
  position: absolute;
  bottom: -50px;
  left: 50%;
}
@media screen and (max-width: 767px) {
  #main .block.support .card:last-of-type::before {
    top: 170px;
    right: 62px;
    left: auto;
    bottom: auto;
  }
}
@media screen and (min-width: 768px) {
  #main .block.support .button {
    margin-top: auto;
    margin-right: 0;
    width: 340px;
    height: 56px;
  }
}
#main .block.voice {
  background: #faf8f0;
}
#main .block.voice::before, #main .block.voice::after {
  content: "";
  display: block;
  width: 100%;
}
#main .block.voice::before {
  clip-path: polygon(100% 35.955%, 96.667% 33.97%, 96.667% 33.97%, 95.57% 33.281%, 94.293% 32.49%, 92.857% 31.594%, 91.28% 30.587%, 89.583% 29.466%, 87.787% 28.226%, 85.91% 26.863%, 83.973% 25.371%, 81.997% 23.746%, 80% 21.985%, 80% 21.985%, 78% 20.177%, 76% 18.387%, 74% 16.777%, 72% 15.505%, 70% 14.733%, 68% 14.621%, 66% 15.328%, 64% 17.015%, 62% 19.842%, 60% 23.97%, 60% 23.97%, 58% 29.46%, 56% 36.071%, 54% 43.507%, 52% 51.474%, 50% 59.677%, 48% 67.82%, 46% 75.608%, 44% 82.747%, 42% 88.941%, 40% 93.895%, 40% 93.895%, 38% 97.327%, 36% 99.322%, 34% 99.999%, 32% 99.478%, 30% 97.879%, 28% 95.322%, 26% 91.925%, 24% 87.81%, 22% 83.096%, 20% 77.903%, 20% 77.903%, 18.003% 72.348%, 16.027% 66.541%, 14.09% 60.59%, 12.213% 54.604%, 10.417% 48.689%, 8.72% 42.954%, 7.143% 37.507%, 5.707% 32.455%, 4.43% 27.907%, 3.333% 23.97%, 0% 11.985%, 0% 0%, 100% 0%, 100% 35.955%);
  aspect-ratio: 10.8270676692;
  background: #fff;
}
@media screen and (max-width: 767px) {
  #main .block.voice::before {
    aspect-ratio: 5.393258427;
  }
}
#main .block.voice .inner {
  padding-top: 30px;
  position: relative;
}
#main .block.voice .card {
  background-color: transparent;
  padding: 32px 23px;
}
@media screen and (max-width: 767px) {
  #main .block.voice .card {
    padding: 0 10px;
  }
}
#main .block.voice .card .ttl {
  font-size: 18px;
  align-items: baseline;
}
@media screen and (max-width: 767px) {
  #main .block.voice .card .ttl {
    margin-top: 26px;
  }
}
@media screen and (min-width: 768px) {
  #main .block.voice .card .text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
  }
}
#main .block.voice .button {
  width: 280px;
  height: 48px;
  margin: 16px auto 0;
}
#main .block.voice .button a {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding-bottom: 1px;
  border: 1px solid #3b2a24;
  border-radius: 30px;
  background-color: #3b2a24;
  color: #fff;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.2;
  letter-spacing: 0;
  transition: background-color 0.2s;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #main .block.voice .button a {
    font-size: 13px;
  }
}
#main .block.voice .button a:hover {
  color: #fff;
}
#main .block.voice .button a::after {
  border-color: #fff;
}
@media screen and (max-width: 767px) {
  #main .block.voice .button a::after {
    right: 12px;
  }
}
#main .block.voice .button-text {
  text-align: right;
}
#main .block.voice .button-text a {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.48;
  letter-spacing: 0.12em;
  color: #3b2a24;
  text-decoration: underline;
  padding-right: 6px;
}
#main .block.voice .button-text a::after {
  right: -8px;
  border-color: #fff;
}
@media screen and (min-width: 768px) {
  #main .block.voice .button {
    width: 420px;
    height: 64px;
    margin-right: 0;
  }
}
#main .block.voice .button a {
  background-color: #3b2a24;
  border-color: #3b2a24;
}
#main .block.voice .button-text {
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  #main .block.voice .button-text {
    margin-top: 10px;
  }
}
#main .block.voice .swiper {
  padding-right: 54px;
}
@media screen and (max-width: 767px) {
  #main .block.voice .swiper {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-bottom: 26px;
    padding: 0 36px;
  }
}
@media screen and (min-width: 768px) {
  #main .block.voice .swiper-nav {
    position: absolute;
    top: 64px;
    right: 0px;
    width: 30%;
    height: 64px;
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    justify-content: flex-end;
  }
}
#main .block.voice .swiper-nav .swiper-button-prev, #main .block.voice .swiper-nav .swiper-button-next {
  width: 64px;
  height: 64px;
  text-indent: 100%;
  overflow: hidden;
  display: block;
  top: 10px;
  position: relative;
}
#main .block.voice .swiper-nav .swiper-button-prev::before, #main .block.voice .swiper-nav .swiper-button-next::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-top: 2px solid;
  border-right: 2px solid;
  transition: all 0.2s ease-out;
  border-color: #e07a3b;
}
#main .block.voice .swiper-nav .swiper-button-prev::after, #main .block.voice .swiper-nav .swiper-button-next::after {
  content: "";
  display: inline-block;
  border: solid 2px #e07a3b;
  background-color: #fff;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border-radius: 50%;
  transition: all 0.2s ease-out;
  transform-origin: center;
  position: absolute;
  top: 0;
  left: 0;
}
#main .block.voice .swiper-nav .swiper-button-prev:hover::before, #main .block.voice .swiper-nav .swiper-button-next:hover::before {
  border-color: #fff;
}
#main .block.voice .swiper-nav .swiper-button-prev:hover::after, #main .block.voice .swiper-nav .swiper-button-next:hover::after {
  transform: scale(0.86, 0.86);
  background: #e07a3b;
}
#main .block.voice .swiper-nav .swiper-button-prev.swiper-button-disabled, #main .block.voice .swiper-nav .swiper-button-next.swiper-button-disabled {
  opacity: 1;
}
#main .block.voice .swiper-nav .swiper-button-prev {
  right: 12px;
  left: auto;
}
#main .block.voice .swiper-nav .swiper-button-prev::before {
  transform: translate(-50%, -50%) rotate(-135deg);
}
#main .block.voice .swiper-nav .swiper-button-next {
  right: 0;
}
#main .block.voice .swiper-nav .swiper-button-next::before {
  transform: translate(-50%, -50%) rotate(45deg);
  left: calc(50% - 4px);
}
#main .block.movie {
  background: #eff3f4;
  margin-bottom: 30px;
}
#main .block.movie::before, #main .block.movie::after {
  content: "";
  display: block;
  width: 100%;
}
#main .block.movie::before {
  background-color: #faf8f0;
  aspect-ratio: 7.2;
  clip-path: polygon(20% 61.656%, 20% 61.656%, 22% 58.953%, 24% 55.865%, 26% 52.525%, 28% 49.067%, 30% 45.625%, 32% 42.333%, 34% 39.325%, 36% 36.735%, 38% 34.697%, 40% 33.344%, 40% 33.344%, 42% 32.719%, 44% 32.765%, 46% 33.352%, 48% 34.348%, 50% 35.625%, 52% 37.052%, 54% 38.498%, 56% 39.835%, 58% 40.931%, 60% 41.656%, 60% 41.656%, 62% 41.952%, 64% 41.851%, 66% 41.479%, 68% 40.959%, 70% 40.414%, 72% 39.969%, 74% 39.747%, 76% 39.871%, 78% 40.467%, 80% 41.656%, 80% 41.656%, 81.997% 43.467%, 83.973% 45.871%, 85.91% 48.747%, 87.787% 51.969%, 89.583% 55.414%, 91.28% 58.959%, 92.857% 62.479%, 94.293% 65.851%, 95.57% 68.952%, 96.667% 71.656%, 99.889% 79.719%, 99.889% 0%, 0% 0%, 0% 70%, 3.333% 70%, 3.333% 70%, 4.43% 69.992%, 5.707% 69.933%, 7.143% 69.775%, 8.72% 69.466%, 10.417% 68.957%, 12.213% 68.198%, 14.09% 67.138%, 16.027% 65.728%, 18.003% 63.917%, 20% 61.656%);
}
@media screen and (max-width: 767px) {
  #main .block.movie::before {
    aspect-ratio: 4.5;
  }
}
#main .block.movie::after {
  aspect-ratio: 14.4;
  background-color: #fff;
  clip-path: polygon(80% 56.473%, 80% 56.473%, 78% 60.487%, 76% 65.073%, 74% 70.033%, 72% 75.168%, 70% 80.278%, 68% 85.166%, 66% 89.633%, 64% 93.479%, 62% 96.506%, 60% 98.515%, 60% 98.515%, 58% 99.442%, 56% 99.374%, 54% 98.503%, 52% 97.023%, 50% 95.128%, 48% 93.009%, 46% 90.861%, 44% 88.876%, 42% 87.249%, 40% 86.172%, 40% 86.172%, 38% 85.733%, 36% 85.882%, 34% 86.435%, 32% 87.207%, 30% 88.016%, 28% 88.677%, 26% 89.007%, 24% 88.822%, 22% 87.938%, 20% 86.172%, 20% 86.172%, 18.003% 83.484%, 16.027% 79.913%, 14.09% 75.643%, 12.213% 70.858%, 10.417% 65.742%, 8.72% 60.479%, 7.143% 55.252%, 5.707% 50.244%, 4.43% 45.64%, 3.333% 41.624%, 0% 29.234%, 0% 100%, 100% 100%, 100% 44.084%, 96.667% 44.084%, 96.667% 44.084%, 95.57% 44.096%, 94.293% 44.183%, 92.857% 44.418%, 91.28% 44.876%, 89.583% 45.632%, 87.787% 46.76%, 85.91% 48.333%, 83.973% 50.427%, 81.997% 53.116%, 80% 56.473%);
}
@media screen and (max-width: 767px) {
  #main .block.movie::after {
    aspect-ratio: 6.3716814159;
  }
}
#main .block.movie .inner {
  padding-top: 40px;
}
@media screen and (max-width: 767px) {
  #main .block.movie .inner {
    padding-top: 20px;
  }
}
#main .block.movie .card_wrap {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  justify-content: space-between;
  padding: 0 40px;
  gap: 40px 80px;
}
@media screen and (max-width: 767px) {
  #main .block.movie .card_wrap {
    padding: 0;
    gap: 20px 0px;
  }
}
#main .block.movie .card {
  background-color: #fff;
  width: calc((100% / 2) - 40px);
  padding: 24px 32px 20px;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  #main .block.movie .card {
    border-radius: 20px;
    padding: 20px;
    width: 100%;
  }
}
#main .block.movie .card .ttl {
  font-size: 16px;
  justify-content: flex-start;
  margin-top: 16px;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  #main .block.movie .card .ttl {
    font-size: 14px;
    margin-top: 20px;
  }
}
#main .block.movie .card .picture img {
  border-radius: 0;
}
#main .block.movie .card + .card {
  margin-top: 0;
}
#main .block.contact {
  padding-top: 80px;
  padding-bottom: 50px;
  background-image: url(../media/images/common/contact/bg-cover.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
  min-width: 1250px;
}
@media screen and (max-width: 767px) {
  #main .block.contact {
    min-width: auto;
    padding-top: 100px;
    padding-bottom: 0;
    background-image: url(../media/images/common/contact/bg.jpg);
    background-position: center top;
  }
}
@media screen and (max-width: 767px) {
  #main .block.contact .inner {
    padding-bottom: 20px;
  }
}
#main .block.contact .title {
  text-align: center;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  #main .block.contact .title {
    font-weight: 500;
    font-size: 18px;
    line-height: 1.48;
    letter-spacing: 0.1em;
  }
}
#main .block.contact .title small {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: center;
  gap: 0 10px;
  padding-left: 0;
  color: #ffffff;
}
#main .block.contact .title small::before {
  position: static;
  display: inline-block;
  transform: translateY(0);
  background-image: url(../media/images/common/ico--clover-white.png);
}
#main .block.contact .title span {
  color: #ffff00;
}
#main .block.contact .bnner_wrap {
  display: flex;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 30px 60px;
}
@media screen and (max-width: 767px) {
  #main .block.contact .bnner_wrap {
    flex-direction: column;
    gap: 10px 0;
  }
}
#main .block.contact .bnner_wrap > div {
  width: calc((100% - (60px * 1)) / 2);
}
@media screen and (max-width: 767px) {
  #main .block.contact .bnner_wrap > div {
    width: 100%;
  }
}
#main .block.contact .banner a {
  display: flex;
  align-items: center;
  flex-flow: row nowrap;
  justify-content: flex-start;
  gap: 0 20px;
  padding: 5px 24px 5px 5px;
  background-color: #ffffff;
  border: 2px solid #1b6e8b;
  border-radius: 10px;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.48;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #main .block.contact .banner a {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.48;
    letter-spacing: 0.1em;
  }
}
#main .block.contact .banner a .picture {
  width: 25.93%;
}
#main .block.contact .banner a::after {
  border-top: 2px solid #1b6e8b;
  border-right: 2px solid #1b6e8b;
  transition: all 0.4s;
}
@media screen and (max-width: 767px) {
  #main .block.contact .banner a::after {
    content: "";
    right: 21px;
  }
}
#main .block.contact .banner a:hover::after {
  right: 10px;
}
#main .block.contact .line {
  background-color: #00b900;
  border-radius: 10px;
}
#main .block.contact .line.sp {
  text-align: right;
  padding: 25px 0 0 25px;
}
@media screen and (min-width: 768px) {
  #main .block.contact .line.sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #main .block.contact .line.notsp {
    display: none;
  }
}
#main .block.contact .tel {
  background-color: #42bad0;
  border-radius: 10px;
}
#main .block.contact .tel.sp {
  border-radius: 0;
  text-align: center;
  padding: 25px 20px 25px 20px;
}
@media screen and (min-width: 768px) {
  #main .block.contact .tel.sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #main .block.contact .tel.notsp {
    display: none;
  }
}
#main .block.media {
  padding-top: 80px;
  padding-bottom: 50px;
  background-color: #fafafa;
}
@media screen and (max-width: 767px) {
  #main .block.media {
    padding-top: 55px;
    padding-bottom: 75px;
  }
}
#main .block.media .media-list {
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  gap: 24px 30px;
}
@media screen and (max-width: 767px) {
  #main .block.media .media-list {
    gap: 10px 12px;
    justify-content: flex-start;
  }
}
#main .block.media .media-list li {
  width: calc((100% - (30px * 3)) / 4);
}
@media screen and (max-width: 767px) {
  #main .block.media .media-list li {
    width: calc((100% - (12px * 1)) / 2);
  }
}
#main .block.media .media-list li a {
  display: block;
  border: 1px solid #c2c2c2;
}
#main .block.blog {
  background: url(../media/images/top/service-bg.png) repeat;
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #main .block.blog {
    padding-bottom: 50px;
  }
}
#main .block.blog::before {
  content: "";
  display: block;
  width: 100%;
  clip-path: polygon(100% 77.016%, 96.667% 83.454%, 96.667% 83.454%, 95.57% 85.5%, 94.293% 87.827%, 92.857% 90.292%, 91.28% 92.752%, 89.583% 95.066%, 87.787% 97.091%, 85.91% 98.685%, 83.973% 99.706%, 81.997% 100.011%, 80% 99.458%, 80% 99.458%, 78% 98.055%, 76% 95.9%, 74% 93.205%, 72% 90.181%, 70% 87.041%, 68% 83.997%, 66% 81.261%, 64% 79.044%, 62% 77.558%, 60% 77.016%, 60% 77.016%, 58% 77.558%, 56% 79.044%, 54% 81.261%, 52% 83.997%, 50% 87.041%, 48% 90.181%, 46% 93.205%, 44% 95.9%, 42% 98.055%, 40% 99.458%, 40% 99.458%, 38% 100.005%, 36% 99.654%, 34% 98.511%, 32% 96.679%, 30% 94.261%, 28% 91.362%, 26% 88.084%, 24% 84.531%, 22% 80.807%, 20% 77.016%, 20% 77.016%, 18.003% 73.215%, 16.027% 69.423%, 14.09% 65.688%, 12.213% 62.053%, 10.417% 58.566%, 8.72% 55.273%, 7.143% 52.218%, 5.707% 49.448%, 4.43% 47.009%, 3.333% 44.946%, 0% 38.508%, 0% 0%, 3.333% 0%, 3.333% 0%, 4.43% 0%, 5.707% 0%, 7.143% 0%, 8.72% 0%, 10.417% 0%, 12.213% 0%, 14.09% 0%, 16.027% 0%, 18.003% 0%, 20% 0%, 40% 0%, 40% 0%, 42% 0%, 44% 0%, 46% 0%, 48% 0%, 50% 0%, 52% 0%, 54% 0%, 56% 0%, 58% 0%, 60% 0%, 80% 0%, 80% 0%, 81.997% 0%, 83.973% 0%, 85.91% 0%, 87.787% 0%, 89.583% 0%, 91.28% 0%, 92.857% 0%, 94.293% 0%, 95.57% 0%, 96.667% 0%, 100% 0%, 100% 77.016%);
  aspect-ratio: 8.6746987952;
  background-color: #fafafa;
}
#main .block.blog .inner {
  padding-top: 40px;
}
#main .block.blog .card {
  background-color: #fff;
  padding: 20px;
}
#main .block.blog .card .ttl {
  font-size: 16px;
}
#main .block.blog .card .text {
  line-height: 1.692;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  #main .block.blog .card .text {
    font-size: 13px;
  }
}
#main .block.blog .button {
  width: 100%;
}
#main .block.blog .button a {
  background-color: #3b2a24;
  border-color: #3b2a24;
}
#main .block.blog .swiper {
  padding: 0 48px;
}
@media screen and (max-width: 767px) {
  #main .block.blog .swiper {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}
#main .block.blog .swiper-slide {
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  height: auto;
}
/*# sourceMappingURL=./toppage.css.map */