@charset "UTF-8";

.u-show-sp {
	display: block;
}
@media screen and (min-width: 821px) {
	.u-show-sp {
		display: none;
	}
}
.c-button {
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	position: relative;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	min-width: 280px;
	min-width: 17.5rem;
	max-width: 100%;
	height: 50px;
	height: 3.125rem;
	padding-right: 35px;
	padding-right: 2.1875rem;
	padding-left: 35px;
	padding-left: 2.1875rem;
	border-radius: 1.5625rem;
	background-color: #0074ff;
	color: #fff;
	font-size: 0.8125rem;
	font-size: .8125rem;
	font-weight: 700;
	line-height: 1.48538462;
	text-align: center;
}
.c-button::after {
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 14px;
	right: .875rem;
	width: .9375rem;
	height: 0.8125rem;
	height: .8125rem;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	-webkit-transition: -webkit-transform .3s 
ease-in-out;
	transition: -webkit-transform .3s 
ease-in-out;
	transition: transform .3s 
ease-in-out;
	transition: transform .3s 
ease-in-out, -webkit-transform .3s 
ease-in-out;
	background: url(../../assets/2026/images/arrow-icon_white.svg) no-repeat center center / contain;
}
@media screen and (min-width: 821px) {
	.c-button {
		min-width: 23.125rem;
		height: 3.75rem;
		padding-right: 3.4375rem;
		padding-left: 3.4375rem;
		border-radius: 1.875rem;
		font-size: .9375rem;
	}
}
@media screen and (min-width: 821px) {
	.c-button::after {
		right: 1.875rem;
		width: 1.0625rem;
		height: 1rem;
	}
}
.c-button.c-button--reverse {
	background-color: #fff;
	color: #000;
	font-size: 0.8125rem;
	font-size: .8125rem;
}
.c-button.c-button--reverse::after {
	background: url(../../assets/2026/images/arrow-icon_black.svg) no-repeat center center / contain;
}


@media screen and (min-width: 821px) {
	.c-button::after {
		right: 1.875rem;
		width: 1.0625rem;
		height: 1rem;
	}
}

/* p-partner
=============================== */
.p-partner {
  margin-top: 2.5rem;
}
.p-partner__main-partner {
  width: 100%;
  margin-top: 1.25rem;
}
.p-partner__partnerList-name {
  margin-top: 1em;
  font-size: 11px;
  font-weight: 800;
  text-align: center;
  line-height: 1.3;
}
.p-partner__main-partner .p-partner__partnerList-name {
  font-size: 13px;
}
.p-partner__special-partner .p-partner__partnerList-name {
  font-size: 13px;
}
.p-partner__special-partner.-column2 {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 1.25rem;
  row-gap: 2.5rem;
}
.p-partner__special-partner.-column2 .p-partner__partnerList {
  width: 100%;
}
.p-partner__partnerLists.-column2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 40.25rem;
  max-width: 100%;
  margin-top: 1.25rem;
  margin-right: auto;
  margin-left: auto;
  column-gap: 1.5rem;
}
.p-partner__partnerLists.-column3 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin-top: 1.25rem;
  gap: 2rem 1.5rem;
}
.p-partner__partnerLists.-column4 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 1.875rem;
}
.p-partner__partnerLists.-column5 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 50px;
  padding: 0 1.5625rem;
}
.p-partner__partnerLists.-column5 .p-partner__partnerList-name {
  font-size: 6px;
}
.p-partner__texts {
  margin-top: 1.875rem;
  line-height: 2.20962511;
  text-align: center;
}
.p-partner__now {
  margin-top: 5em;
  font-size: 10px;
  text-align: center;
}
.kyousansyu {
  width: 100%;
  margin-top: 4rem;
  padding-bottom: 10px;
  border-bottom: solid 1px black;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
}
.kyousansyu:first-child {
  margin-top: 0;
}
@media screen and (min-width: 821px) {
  .p-partner {
    margin-top: 2.5rem;
  }
  .p-partner__main-partner {
    width: calc(50% - 1.875rem / 2);
    margin-top: 1.875rem;
    margin-inline: auto;
  }
  .p-partner__partnerList-name {
    font-size: 0.78125rem;
  }
  .p-partner__main-partner .p-partner__partnerList-name {
    font-size: 0.9375rem;
  }
  .p-partner__special-partner .p-partner__partnerList-name {
    font-size: 0.78125rem;
  }
  .p-partner__special-partner.-column2 {
    flex-direction: row;
    gap: 55px 1.875rem;
    margin-top: 1.875rem;
  }
  .p-partner__special-partner.-column2 .p-partner__partnerList {
    width: calc(50% - 1.875rem / 2);
  }
  .p-partner__partnerLists.-column3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5rem 37px;
    margin-top: 1.875rem;
  }
  .p-partner__partnerLists.-column4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.875rem;
  }
  .p-partner__partnerLists.-column5 {
    grid-template-columns: repeat(5, 1fr);
    gap: 1.875rem 1.5625rem;
    margin-top: 1.875rem;
    padding: 0;
  }
  .p-partner__partnerLists.-column5 .p-partner__partnerList-name {
    font-size: 11px;
  }
  .p-partner__now {
    font-size: 0.78125rem;
    text-align: right;
  }
  .kyousansyu {
    margin-top: 55px;
    font-size: 1.25rem;
  }
}

/* p-outline
=============================== */
.p-outline__items {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 2.8125rem;
  margin-top: 35px;
  color: #000;
}
.p-outline__item {
  padding: 48px 18px 1.5625rem;
  border-radius: 1.875rem;
  background-color: #fff;
}
.p-outline__logo {
  text-align: center;
}
.p-outline__logo img {
  display: inline-block;
  width: 200px;
}
.p-outline__title {
  margin-top: 1.25rem;
  font-size: 14px;
  font-weight: bold;
  line-height: 1.75428571;
  text-align: center;
}
.p-outline__lists {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 12px;
  margin-top: 18px;
}
.p-outline__list {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 5px;
  font-weight: bold;
  letter-spacing: 0.08em;
}
.p-outline__list dd ul li p {
  row-gap: 16px;
}
.p-outline__list dt {
  padding-left: 1em;
  font-size: 12px;
  line-height: 1.44444444;
  text-indent: -1em;
  
	font-weight: bold;
}
.p-outline__list dd {
  font-size: 12px;
  line-height: 1.5;
  font-weight: bold;
}
.p-outline__list dd a {
  padding-bottom: 1px;
  border-bottom: 1px solid #0074ff;
  color: #0074ff;
  font-weight: bold;
}
.p-outline__list dd span {
  font-size: 0.83333333em;
  letter-spacing: normal;
}
.p-outline__list dd small {
  font-size: 0.83333333em;
  letter-spacing: normal;
  line-height: 1.6;
}
.p-outline__list dd p {
  position: relative;
  z-index: 2;
  font-size: 12px;
  line-height: 1.44444444;
}
.p-outline__list dd ul {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 1.25rem;
}
.p-outline__table {
  margin-top: -12px;
}
.p-outline__table picture {
  display: block;
  width: 100%;
  height: 100%;
}
.p-outline__table + small {
  display: block;
  margin-top: 14px;
}
.p-outline__detail {
  margin-top: 1.375rem;
}
.p-outline__notes {
  margin-top: 1.375rem;
}
.p-outline__note {
  padding-left: 1em;
  font-size: 9px;
  line-height: 1.72222222;
  text-indent: -1em;
  font-weight: bold;
}
.p-outline__note a {
  padding-bottom: 1px;
  border-bottom: 1px solid #0074ff;
  color: #0074ff;
}
.p-outline__button {
  margin-top: 1.5rem;
  text-align: center;
}
.p-outline__button a.c-button.c-button--reverse {
  height: 87px;
  border-radius: 0.9375rem;
  font-size: 11px;
}
.p-outline__foot .p-outline__button {
  margin-top: 48px;
  font-weight: bold;
}
.p-outline__foot {
  margin-top: 2.8125rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
.p-outline__parts {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 43px;
}
.p-outline__part {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 16px;
}
.p-outline__part dt {
  position: relative;
  display: flex;
  align-items: center;
  z-index: 1;
}
.p-outline__part dt::before,
.p-outline__part dt::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #fff;
}
.p-outline__part dt span {
  display: inline-block;
  position: relative;
  z-index: 2;
  padding-right: 2px;
  padding-left: 5px;
  font-size: 14px;
  letter-spacing: 0.05em;
  font-weight: bold;
}
.p-outline__part dd {
  font-size: 10px;
  font-weight: bold;
  line-height: 1.5;
}
.p-outline__part dd span {
  font-size: 1.4em;
  line-height: 1.85714286;
}
.p-outline__part dd small {
  font-size: 1em;
}
.p-outline__part dd a:not(.c-button) {
  display: inline-block;
  padding-bottom: 1px;
  border-bottom: 1px solid #fff;
  font-size: 1.3rem;
  font-weight: bold;
}
.p-outline__button + a {
  display: inline-block;
  margin-top: 2.8125rem;
  font-weight: bold;
}

@media screen and (min-width: 821px) {
	.p-outline__items {
	  row-gap: 58px;
	  margin-top: 35px;
	  font-weight: bold;
	}
	.p-outline__item {
	  padding: 65px 2.5rem 50px;
	  border-radius: 53px;
	}
	.p-outline__logo {
	  text-align: center;
	}
	.p-outline__logo img {
	  width: 303px;
	}
	.p-outline__title {
	  margin-top: 28px;
	  font-size: 1.375rem;
	  line-height: 1.64318182;
	}
	.p-outline__lists {
	  margin-top: 1.25rem;
	  row-gap: 1.5625rem;
	}
	.p-outline__list {
	  row-gap: 6px;
	}
	.p-outline__list dd ul li p {
	  row-gap: 16px;
	}
	.p-outline__list dt {
	  font-size: 1.125rem;
	}
	.p-outline__list dd {
	  font-size: 1.25rem;
	  line-height: 1.2;
	}
	.p-outline__list dd span {
	  font-size: 0.75em;
	}
	.p-outline__list dd small {
	  font-size: 0.65em;
	  line-height: 1.4;
	}
	.p-outline__list dd p {
	  font-size: 1.125rem;
	}
	.p-outline__table {
	  margin-top: -1.25rem;
	}
	.p-outline__detail {
	  margin-top: 34px;
	}
	.p-outline__note {
	  font-size: 0.8125rem;
	  line-height: 1.53846154;
	}
	.p-outline__button a.c-button.c-button--reverse {
	  height: 60px;
	  border-radius: 1.875rem;
	  font-size: 0.9375rem;
	}
	.p-outline__foot {
	  margin-top: 54px;
	}
	
	.p-outline__part dt span {
	  font-size: 0.9375rem;
	}
	.p-outline__part dd {
	  font-size: 0.9375rem;
	}
	.p-outline__part dd span {
	  font-size: 1.26666667em;
	  line-height: 2.3;
	}
	.p-outline__part dd small {
	  font-size: 0.8em;
	}
	.p-outline__part dd a:not(.c-button) {
	  font-size: 0.9375rem;
	}
}

.p-outline__foot .p-outline__button {
	margin-top: 3rem;
}

/* .p-outline__button a.c-button.c-button--reverse {
	height: 5.4375rem;
	border-radius: .9375rem;
} */

@media screen and (min-width: 821px) {
	.p-outline__button a.c-button.c-button--reverse {
		height: 3.75rem;
		border-radius: 1.875rem;
		font-size: .9375rem;
	}
}