@charset "UTF-8";
/* 基本設定
------------------------------------------------------*/
body {
	font-family: Noto Sans JP, sans-serif;
	background-color: #FFF;
}
body.no-scroll {
  overflow: hidden;
}

html {
	scroll-behavior: smooth;
}

ul, li {
	list-style: none;
	padding: 0;
	margin: 0;
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
	text-decoration: none;
}

a:hover {
	opacity: 0.8;
	cursor: pointer;
}

* {
	margin: 0;
	padding: 0;
}

main {
	overflow: hidden;
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

.d-none {
	display: none !important;
}

@media screen and (min-width: 767px) and (max-width: 1199px) {
	.d-lg-none {
		display: none !important;
	}
}
@media screen and (min-width: 1200px) {
	.d-lg-none {
		display: none !important;
	}
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.d-lg-block {
		display: block !important;
	}
}
@media screen and (min-width: 1200px) {
	.d-lg-block {
		display: block !important;
	}
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.d-lg-flex {
		display: flex !important;
	}
}
@media screen and (min-width: 1200px) {
	.d-lg-flex {
		display: flex !important;
	}
}
@media screen and (min-width: 767px) and (max-width: 1199px) {
	.d-lg-grid {
		display: grid !important;
	}
}
@media screen and (min-width: 1200px) {
	.d-lg-grid {
		display: grid !important;
	}
}
@media screen and (min-width: 1200px) {
	.d-xl-none {
		display: none !important;
	}
}
@media screen and (min-width: 1200px) {
	.d-xl-block {
		display: block !important;
	}
}
.grid-1-columns {
	display: grid;
	grid-template-columns: repeat(1, 1fr);
}

@media screen and (max-width: 767px) {
	.grid-1-columns {
		grid-template-columns: repeat(1, 1fr);
	}
}
.grid-2-columns {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

@media screen and (max-width: 767px) {
	.grid-2-columns {
		grid-template-columns: repeat(1, 1fr);
	}
}
.grid-3-columns {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

@media screen and (max-width: 767px) {
	.grid-3-columns {
		grid-template-columns: repeat(1, 1fr);
	}
}
.fw-bold {
	font-weight: 700;
}

.text-underline {
	padding-bottom: 2px;
	border-bottom: 1px solid #000;
}

.red {
	color: red;
}

.orange {
	color: #f3a851;
}

.text-center {
	text-align: center;
}

.margin-t5 {
	margin-top: 5px;
}

.margin-t10 {
	margin-top: 10px;
}

.margin-b5 {
	margin-bottom: 5px;
}

.margin-b10 {
	margin-bottom: 10px;
}

.highlight--yellow {
	width: -moz-fit-content;
	width: fit-content;
	background: linear-gradient(transparent 60%, #FFFC64 60% 100%, transparent 100%);
	display: inline;
}

.highlight--pale-green {
	width: -moz-fit-content;
	width: fit-content;
	background: linear-gradient(transparent 60%, #C4E1B7 60% 100%, transparent 100%);
	display: inline;
}

.position-relative {
	position: relative;
}

ul > li {
	text-indent: -1em;
	padding-left: 1em;
}

.c-flex {
	display: flex;
}
.c-flex.c-ae {
	align-items: flex-end;
}
.c-flex.c-jc {
	justify-content: center;
}

.pc-none {
	display: none;
}
@media screen and (max-width: 767px) {
	.pc-none {
		display: block;
	}
}
.sp-none {
	display: block;
}
@media screen and (max-width: 767px) {
	.sp-none {
		display: none;
	}
}
.anchor {
  scroll-padding-top: ;
}

/* コンテナ設定
------------------------------------------------------*/
.c-container {
	position: relative;
	max-width: 1200px;
	width: 90%;
	margin-inline: auto;
}
@media screen and (max-width: 767px) {
	.c-container {
		padding-inline: 6.41%;
		width: 100%;
	}
}
.c-inner {
	max-width: 800px;
	margin-inline: auto;
	width: 90%;
}
@media screen and (max-width: 767px) {
	.c-inner {
		max-width: 100%;
		width: 84%;
	}
}
/* ヘッダー
------------------------------------------------------*/
.l-header {
	width: 100%;
	height: 79px;
	background: #fff;
}

.l-header--inner {
	padding: 25px 40px 0 30px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.l-header--logo {
	width: 160px;
}

.l-header--logo img {
	width: 100%;
}

.l-header--logo a:hover {
	opacity: 1;
}

.l-header--campaign {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	color: #006351;
	cursor: pointer;
}

.l-header--campaign--logo {
	width: 200px;
}

@media screen and (max-width: 766px) {
	.l-header--campaign--logo {
		width: 120px;
	}
}
.l-header--campaign--arrow {
	width: 24px;
}

.l-header--campaign--text {
	padding-inline: 4px;
	font-size: clamp(0.75rem, 0.7272727273vw + 0.5795454545rem, 1.125rem);
}

.l-header--campaign--left {
	display: flex;
	align-items: center;
	justify-content: center;
}

@media screen and (max-width: 766px) {
	.l-header--campaign--left {
		flex-direction: column;
	}
}
@media screen and (max-width: 992px) {
	.l-header {
		height: 50px;
	}
	.l-header--inner {
		padding: 16px 15px 0 15px;
	}
	.l-header--logo {
		width: 103px;
	}
}
.dropdown-menu {
	width: 100%;
	min-width: 270px;
	padding: 0;
}

.dropdown-item {
	font-size: clamp(0.75rem, 0.4848484848vw + 0.6363636364rem, 1rem);
	padding: 10px 20px;
	position: relative;
	background-image: url("../images/link.png");
	background-size: 12px;
	background-position: right 20px top 50%;
	background-repeat: no-repeat;
	border-bottom: 1px solid #F5F5F5;
}

.dropdown-item:hover {
	color: #006351;
}

.dropdown-item:last-child {
	border-bottom: none;
}

/* キャンペーン
------------------------------------------------------*/
.p-summer25 {
	font-family: "Zen Kaku Gothic New", sans-serif;
}


/* 共通レイアウト
------------------------------------------------------*/
.p-summer25-btns {
  display: flex;
  justify-content: center;
  gap: 0 30px;
  margin-block: 24px 0;
  padding-inline: 10px;
}
@media screen and (max-width: 767px) {
  .p-summer25-mv .p-summer25-btns {
    display: none;
	}
}
.p-summer25-btn {
  max-width: 520px;
  width: 100%;
}
@media screen and (max-width: 767px) {
	.p-summer25-btn {
		padding-inline: 4.35%;
    max-width: initial;
    width: 100%;
	}
	.p-summer25-btn + .p-summer25-btn {
		margin-block: 7.83% 0;
	}
}
.p-summer25-btn.guideline {
  margin-inline: auto;
  max-width: 800px;
  width: 100%;
}
.p-summer25-btn.guideline a p {
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .p-summer25-btn.guideline a p {
    font-size: 4.358974358974359vw !important;
  }
}
.p-summer25-btn a {
	position: relative;
  text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-inline: auto;
  border: 4px solid #fff;
	padding-block: 10px;
	padding-inline: 30px 75px;
	width: 100%;
	max-width: 520px;
	min-height: 96px;
	font-weight: 900;
	line-height: 1.3;
	font-size: clamp(20px, 1.4583333333333333vw, 28px);
	letter-spacing: 0.04em;
	border-radius: 80px;
	z-index: 2;
	color: #FFFFFF;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
	transition: 0.3s;
}
@media screen and (max-width: 767px) {
	.p-summer25-btn a {
		height: initial;
    min-height: initial;
		width: 100%;
		padding-block: 7.25%;
		padding-inline: 4.333333333333334vw 12vw;
    font-size: 4vw;
    box-shadow: initial;
	}
}
.p-summer25-btn.guideline a {
  border: initial;
  max-width: 800px;
}
@media screen and (max-width: 767px) {
  .p-summer25-btn.guideline a {
    padding-block: 3.08%;
  }
}
.p-summer25-btn.green a {
	background-color: #007563;
}
.p-summer25-btn.gold a {
	background-color: #D8AC49;
}
.p-summer25-btn.yellow a {
	background-color: #FFD800;
  color: #000;
}
.p-summer25-btn a:hover {
	transform: translateY(10px);
	box-shadow: none;
	opacity: 1;
}
@media screen and (max-width: 767px) {
  .p-summer25-btn a:hover {
    transform: initial;
  }
}
.p-summer25-btn a:after {
	content: "";
	width: 72px;
	height: 72px;
	background-size: cover;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	background-image: url("../images/common/com_arrow_ic01.svg");
}
@media screen and (max-width: 767px) {
	.p-summer25-btn a:after {
		width: 7.199999999999999vw;
		height: 7.199999999999999vw;
		right: 4vw;
	}
}
@media screen and (max-width: 767px) {
  .p-summer25-btn.guideline a:after {
    width: 12.307692307692308vw;
		height: 12.307692307692308vw;
		right: 3vw;
  }
}
.p-summer25-btn.yellow a:after {
	background-image: url("../images/common/com_arrow_ic02.svg");
}
.p-summer25-btn.gold a:after {
	background-image: url("../images/common/com_arrow_ic03.svg");
}

.p-summer25-btns.entry {
  display: block;
  margin-top: 40px;
  margin-inline: auto;
  max-width: 1100px;
}
@media screen and (max-width: 767px) {
  .p-summer25-btns.entry {
    margin-top: 10.26%;
    padding-inline: 0;
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-summer25-btns.entry .p-summer25-btn {
    padding-inline: 0;
  }
}
.p-summer25-btns.entry .p-summer25-btn.yellow {
  margin-inline: auto;
  max-width: 820px;
}
.p-summer25-btns.entry .p-summer25-btn.yellow a {
  max-width: 820px;
  width: 100%;
	font-size: clamp(28px, 1.6666666666666667vw, 32px);
}
@media screen and (max-width: 767px) {
  .p-summer25-btns.entry .p-summer25-btn.yellow a {
    max-width: 100%;
    font-size: 5.384615384615385vw;
  }
}
@media screen and (max-width: 767px) {
	.p-summer25-btns.entry .p-summer25-btn a:after {
		width: 12.307692307692308vw;
		height: 12.307692307692308vw;
		right: 3vw;
	}
}
.p-summer25-btns.entry .wrap {
  display: flex;
  gap: 0 30px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-summer25-btns.entry .wrap {
    display: block;
    gap: 0;
    margin-top: 10.26%;
  }
}
.p-summer25-btns.entry .wrap .p-summer25-btn {
  width: calc((100% - 30px) / 2);
}
@media screen and (max-width: 767px) {
  .p-summer25-btns.entry .wrap .p-summer25-btn {
    width: 100%;
  }
}
.p-summer25-btns.entry .wrap .p-summer25-btn span {
  text-align: center;
  display: block;
  padding-bottom: 10px;
  font-size: clamp(18px, 1.1458333333333333vw, 22px);
  font-weight: 600;
  color: #fff;
}
@media (min-width: 768px) and (max-width: 1100px) {
  .p-summer25-btns.entry .wrap .p-summer25-btn span {
    font-size: clamp(15px, 1.6363636363636365vw, 18px);
  }
}
@media screen and (max-width: 767px) {
  .p-summer25-btns.entry .wrap .p-summer25-btn span {
    font-size: 4.102564102564102vw;
  }
}
.p-summer25-btns.entry .wrap .p-summer25-btn a {
  font-size: clamp(24px, 1.4583333333333333vw, 28px);
}
@media (min-width: 768px) and (max-width: 1100px) {
  .p-summer25-btns.entry .wrap .p-summer25-btn a {
    font-size: clamp(20px, 2.181818181818182vw, 24px);
  }
}
@media screen and (max-width: 767px) {
  .p-summer25-btns.entry .wrap .p-summer25-btn a {
    font-size: 5.384615384615385vw;
  }
}


/* コピー
------------------------------------------------------*/
.p-summer25-copy {
	position: relative;
	background-image: url("../images/mv/mv_bg01.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
  padding-block: 20px;
	overflow-y: hidden;
}
@media screen and (max-width: 767px) {
	.p-summer25-copy {
		background-image: url("../images/mv/mv_bg01_sp.png");
		padding-block: 4.1%;
		padding-inline: 6.41%;
	}
}
.p-summer25-copy h2 {
	max-width: 1200px;
	width: 90%;
	margin-inline: auto;
}
@media screen and (max-width: 767px) {
	.p-summer25-copy h2 {
		width: 100%;
	}
}
.p-summer25-copy h2 img {
	width: 100%;
}

/* メインビジュアル
------------------------------------------------------*/
.p-summer25-mv {
	position: relative;
	background-image: url("../images/mv/mv_bg02.png");
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	padding-block: 40px 30px;
	overflow-y: hidden;
}
@media screen and (max-width: 767px) {
	.p-summer25-mv {
    background-image: initial;
		padding-block: 0;
	}
	.p-summer25-mv .bg {
		background-image: url("../images/mv/mv_bg02_sp.png");
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
		padding-block: 10.26%;
		padding-inline: 6.41%;
	}
}
.p-summer25-mv h1 {
	max-width: 900px;
	width: 90%;
	margin-inline: auto;
}
@media screen and (max-width: 767px) {
	.p-summer25-mv h1 {
		width: 100%;
	}
}
.p-summer25-mv h1 img {
	width: 100%;
}
.p-summer25-mv .p-summer25-anchors {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  margin-block: 30px 0;
  margin-inline: auto;
  max-width: 672px;
  background-color: #fff;
  padding: 2px;
}
@media screen and (max-width: 767px) {
  .p-summer25-mv .p-summer25-anchors {
    grid-template-columns: 1fr;
    margin-block: 10.26% 0;
    margin-inline: auto;
    max-width: 61.53846153846154vw;
  }
}
.p-summer25-mv .p-summer25-anchors li {
  text-indent: initial;
  padding-left: initial;
}
.p-summer25-mv .p-summer25-anchors li a {
  position: relative;
  text-align: center;
  display: block;
  padding-block: 18px;
  padding-right: 45px;
  background-color: #DCA11A;
  font-size: clamp(14px, 1.25vw, 24px);
  color: #fff;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-summer25-mv .p-summer25-anchors li a {
    padding-block: 5%;
    padding-right: 4.538462vw;
    font-size: 4.102564102564102vw;
  }
}
.p-summer25-mv .p-summer25-anchors li a::after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  right: 25px;
  background: url(../images/common/com_anchor_ic01.svg) no-repeat center / contain;
  width: 32px;
  aspect-ratio: 1;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-summer25-mv .p-summer25-anchors li a::after {
    right: 3.8461538461538463vw;
    width: 6.153846153846154vw;
  }
  .p-summer25-mv .p-summer25-anchors li:nth-of-type(1) a::after,
  .p-summer25-mv .p-summer25-anchors li:nth-of-type(2) a::after {
    right: 11.794871794871794vw;
  }
}


/* イントロ
------------------------------------------------------*/
.p-summer25-intro {
  position: relative;
}
.p-summer25-intro__wrap {
  padding-block: 65px 50px;
}
@media screen and (max-width: 767px) {
  .p-summer25-intro__wrap {
    padding-block: 15.38%;
  }
}
.p-summer25-intro__wrap h2 {
  margin-inline: auto;
  max-width: 980px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-summer25-intro__wrap h2 {
    padding-block: 0;
  }
}
.p-summer25-intro__wrap .desc {
  text-align: center;
  margin-block: 10px 0;
  font-size: clamp(24px, 1.4583333333333333vw, 28px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-summer25-intro__wrap .desc {
    margin-block: 6.15% 0;
    font-size: 5.384615384615385vw;
  }
}
.p-summer25-intro__wrap .desc strong {
  font-size: clamp(60px, 3.6458333333333335vw, 70px);
  font-weight: 600;
  color: #D8AC49;
}
@media screen and (max-width: 767px) {
  .p-summer25-intro__wrap .desc span {
    font-size: 7.179487179487179vw;
    line-height: 1.2;
  }
  .p-summer25-intro__wrap .desc strong {
    font-size: 17.94871794871795vw;
  }
}
.p-summer25-intro__wrap .cautions {
  text-align: center;
  font-size: clamp(14px, 0.8854166666666666vw, 17px);
}
@media screen and (max-width: 767px) {
  .p-summer25-intro__wrap .cautions {
    margin-block: 5.13%;
    font-size: 3.5897435897435894vw;
  }
}
.p-summer25-intro__wrap figure img {
  margin-inline: auto;
  max-width: 350px;
  width: 100%;
}

/* 賞品
------------------------------------------------------*/
.p-summer25-prize01 {
  margin-block: 60px 0;
	padding-block: 0 60px;
  background-image: url(../images/prize/prize_bg01.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding-block: 40px 30px;
}
@media screen and (max-width: 767px) {
	.p-summer25-prize01 {
    margin-block: 12.05% 0;
		padding-block: 8.7% 17.44%;
    background-image: url(../images/prize/prize_bg01_sp.png);
	}
}
.p-summer25-prize01 h3 {
  margin-top: -120px;
  margin-inline: auto;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-summer25-prize01 h3 {
    margin-top: -23.64%;
    max-width: 71.28205128205128vw;
  }
}
.p-summer25-prize01 .heading {
  margin-top: 20px;
  margin-inline: auto;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-summer25-prize01 .heading {
    margin-top: 12.82%;
  }
}
.p-summer25-prize01 .sub-heading {
  display: flex;
  justify-content: center;
  gap: 0 15px;
  margin-top: 20px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-summer25-prize01 .sub-heading {
    margin-top: 4.1%;
    gap: 0 4.358974358974359vw;
  }
}
.p-summer25-prize01 .sub-heading li {
  text-indent: 0;
  padding-left: 0;
}
@media screen and (max-width: 767px) {
  .p-summer25-prize01 .sub-heading li:last-child {
    display: none;
  }
}
.p-summer25-prize01 .desc {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-top: 30px;
  background-color: #fff;
  padding-block: 50px;
  padding-inline: 20px;
}
@media screen and (max-width: 767px) {
  .p-summer25-prize01 .desc {
    margin-top: 4.1%;
    padding-block: 8.21%;
    padding-inline: 6.153846153846154vw;
  }
}
.p-summer25-prize01 .desc .wrap {
  margin-inline: auto;
  width: fit-content;
  word-break: break-all;
}
@media screen and (max-width: 767px) {
  .p-summer25-prize01 .desc .wrap {
    width: 100%;
  }
}
.p-summer25-prize01 .desc .wrap h4 {
  font-size: clamp(24px, 1.4583333333333333vw, 28px);
  color: #D8AC49;
}
.p-summer25-prize01 .desc .wrap p {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-summer25-prize01 .desc .wrap p {
    font-size: 2.564102564102564vw;
  }
}
.p-summer25-prize01 .desc .wrap a {
  display: block;
  margin-top: 30px;
}
.p-summer25-prize02 {
	padding-block: 60px;
  background-image: url(../images/prize/prize_bg02.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding-block: 60px;
}
@media screen and (max-width: 767px) {
	.p-summer25-prize02 {
		padding-block: 15.38%;
    background-image: url(../images/prize/prize_bg02_sp.png);
	}
}
.p-summer25-prize02 .desc {
  margin-top: 40px;
  margin-inline: auto;
  max-width: 840px;
  padding-inline: 20px;
  width: 100%;
  font-size: clamp(18px, 1.1458333333333333vw, 22px);
  font-weight: 600;
  line-height: 1.6;
  color: #fff;
}
@media screen and (max-width: 767px) {
	.p-summer25-prize02 .desc {
    margin-top: 4.1%;
		font-size: 4.102564102564102vw;
	}
}

/* 参加方法
------------------------------------------------------*/
.p-summer25-participation {
  padding-block: 40px 60px;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation {
    padding-block: 15.38%;
  }
}
.p-summer25-participation h3 {
  margin-inline: auto;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation h3 {
    margin-bottom: 5.13%;
    max-width: 70.76923076923077vw;
  }
}
.p-summer25-participation .wrap .heading {
  text-align: center;
  border-radius: 5px;
  padding-block: 5px;
  background-color: #007563;
  font-size: clamp(18px, 1.1458333333333333vw, 22px);
  font-weight: 600;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation .wrap .heading {
    border-radius: 8px;
    padding-block: 2.05%;
    font-size: 4.102564102564102vw;
  }
}
.p-summer25-participation .wrap .date {
  text-align: center;
  padding-block: 30px;
  font-size: clamp(24px, 1.4583333333333333vw, 28px);
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation .wrap .date {
    padding-block: 6.15%;
    font-size: 5.384615384615385vw;
  }
}
.p-summer25-participation .tabs-container {
  padding-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation .tabs-container {
    padding-top: 4.1%;
  }
}
.p-summer25-participation .tabs-container ul[role="tablist"] {
  display: flex;
  justify-content: center;
}
.p-summer25-participation .tabs-container ul[role="tablist"] li {
  width: 50%;
  text-indent: 0;
  padding-left: 0;
}
.p-summer25-participation .tabs-container [role="tab"] {
  border: initial;
  border-bottom: 5px solid #D4D4D4;
  background-color: #fff;
  width: 100%;
  color: #D4D4D4;
  cursor: pointer;
}
.p-summer25-participation .tabs-container [role="tab"] span {
  display: block;
  padding-block: 1.5rem;
  padding-inline: 2rem;
  font-size: 1.8rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation .tabs-container [role="tab"] span {
    padding-block: 4.1%;
    padding-inline: 10.256410256410255vw;
    font-size: 4.102564102564102vw;
  }
}
.p-summer25-participation .tabs-container [role="tab"][aria-selected="true"] {
  position: relative;
  border-bottom: 5px solid #007563;
  color: #007563;
}
.p-summer25-participation .tabs-container [role="tab"][aria-selected="true"]::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  translate: -50% 0;
  width: 1rem;
  height: calc(tan(60deg) * 1rem / 2);
  background-color: var(--main-color);
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.p-summer25-participation .tabs-container [hidden] {
  display: none;
}
.p-summer25-participation .tabs-container [role="tabpanel"] ol {
  display: flex;
  flex-wrap: wrap;
  gap: 40px 60px;
  margin-top: 30px;
  padding-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation .tabs-container [role="tabpanel"] ol {
    flex-direction: column;
    gap: 0;
    margin-top: 4.1%;
    padding-bottom: 0;
  }
}
.p-summer25-participation .tabs-container [role="tabpanel"] ol li {
  position: relative;
  border-radius: 8px;
  padding: 20px 20px 30px;
  background-color: #ECF8F1;
  width: calc((100% - 120px) / 3);
}
@media screen and (max-width: 767px) {
  .p-summer25-participation .tabs-container [role="tabpanel"] ol li {
    margin-bottom: 20.51%;
    padding: 5.13% 2.564102564102564vw;
    width: 100%;
  }
  .p-summer25-participation .tabs-container [role="tabpanel"] ol li:last-child {
    margin-bottom: 0;
  }
}
.p-summer25-participation .tabs-container [role="tabpanel"] ol li:not(:nth-child(3n))::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -50px;
  width: 34px;
  height: 48px;
  background: url(../images/participation/participation_arrow.svg) no-repeat center / contain;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation .tabs-container [role="tabpanel"] ol li:not(:nth-child(3n))::after {
    top: initial;
    bottom: -15.384615384615385vw;
    right: 50%;
    transform: translateX(50%) translateY(0%) rotate(90deg);
    width: 10.4%;
    height: initial;
    aspect-ratio: 2 / 3;
  }
  .p-summer25-participation .tabs-container [role="tabpanel"] ol li:nth-of-type(3):after {
    content: "";
    position: absolute;
    top: initial;
    bottom: -15.384615384615385vw;
    right: 50%;
    transform: translateX(50%) translateY(0%) rotate(90deg);
    width: 10.4%;
    height: initial;
    aspect-ratio: 2 / 3;
    background: url(../images/participation/participation_arrow.svg) no-repeat center / contain;
  }
}
.p-summer25-participation .tabs-container [role="tabpanel"] ol li:last-child::after {
  display: none;
}
.p-summer25-participation .tabs-container [role="tabpanel"] ol li > span {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #fff;
  width: 80px;
  height: 80px;
  font-size: clamp(40px, 2.2916666666666665vw, 44px);
  font-weight: 900;
  color: #007563;
}
@media (min-width: 768px) and (max-width: 1100px) {
	.p-summer25-participation .tabs-container [role="tabpanel"] ol li > span {
    width: 60px;
    height: 60px;
	}
}
@media screen and (max-width: 767px) {
	.p-summer25-participation .tabs-container [role="tabpanel"] ol li > span {
    width: 14.358974358974358vw;
    height: 14.358974358974358vw;
    font-size: 6.923076923076923vw;
	}
}
.p-summer25-participation .tabs-container [role="tabpanel"] ol li > figure,
.p-summer25-participation .tabs-container [role="tabpanel"] ol li > picture {
  margin-top: 10px;
  margin-inline: auto;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation .tabs-container [role="tabpanel"] ol li > figure {
    margin-top: 4.1%;
  }
  .p-summer25-participation .tabs-container [role="tabpanel"] ol li > figure img,
  .p-summer25-participation .tabs-container [role="tabpanel"] ol li > picture img {
    width: 100%;
    height: auto;
  }
  .p-summer25-participation .tabs-container #panel-1[role="tabpanel"] ol li > figure {
    width: 74%;
  }
  .p-summer25-participation .tabs-container #panel-1[role="tabpanel"] ol li:nth-of-type(1) > figure {
    width: 45%;
  }
  .p-summer25-participation .tabs-container #panel-2[role="tabpanel"] ol li > figure,
  .p-summer25-participation .tabs-container #panel-2[role="tabpanel"] ol li > picture {
    width: 98%;
  }
  .p-summer25-participation .tabs-container #panel-2[role="tabpanel"] ol li:nth-of-type(4) > figure,
  .p-summer25-participation .tabs-container #panel-2[role="tabpanel"] ol li:nth-of-type(5) > figure {
    width: 74%;
  }
}
.p-summer25-participation .tabs-container [role="tabpanel"] ol li .text {
  text-align: center;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation .tabs-container [role="tabpanel"] ol li .text {
    margin-top: 4.1%;
  }
}
.p-summer25-participation .tabs-container [role="tabpanel"] ol li .text p {
  font-size: clamp(18px, 1.1458333333333333vw, 22px);
  font-weight: 600;
  line-height: 1.6;
  color: #007563;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation .tabs-container [role="tabpanel"] ol li .text p {
    font-size: 4.102564102564102vw;
  }
}
.p-summer25-participation .tabs-container [role="tabpanel"] ol li .text span {
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation .tabs-container [role="tabpanel"] ol li .text span {
    display: block;
    margin-top: 2.56%;
    font-size: 2.564102564102564vw;
  }
}
.p-summer25-participation .tabs-container [role="tabpanel"] ol li .text span.payment {
  margin-top: 4px;
  text-align: left;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-summer25-participation .tabs-container [role="tabpanel"] ol li .text span.payment {
    margin-top: 1.03%;
  }
}

/* キャンペーンエントリー
------------------------------------------------------*/
.p-summer25-entry {
  background-image: url(../images/entry/entry_bg01.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  padding-block: 60px 100px;
}
@media screen and (max-width: 767px) {
  .p-summer25-entry {
    padding-block: 15.38%;
  }
}
.p-summer25-entry h3 {
  text-align: center;
  margin-inline: auto;
  width: fit-content;
  color: #fff;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-summer25-entry h3 span {
    display: block;
    margin-top: 4.1%;
    font-size: 3.5897435897435894vw;
  }
}

/* プレミアムプランとは
------------------------------------------------------*/
.p-summer25-plan {
  background-color: #ECF8F1;
  padding-block: 60px;
}
@media screen and (max-width: 767px) {
  .p-summer25-plan {
    padding-block: 10.26%;
  }
}
.p-summer25-plan h3 {
  margin-inline: auto;
  width: fit-content;
}
.p-summer25-plan h4 {
  margin-top: 30px;
  margin-inline: auto;
  max-width: 870px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-summer25-plan h4 {
    margin-top: 6.15%;
    max-width: 100%;
  }
}
.p-summer25-plan .content01,
.p-summer25-plan .content02 {
  margin-top: 30px;
  border-radius: 10px;
  background-color: #fff;
  padding-block: 50px;
}
@media screen and (max-width: 767px) {
  .p-summer25-plan .content01,
  .p-summer25-plan .content02 {
    margin-top: 6.15%;
    padding-block: 6.15%;
  }
}
.p-summer25-plan .content01 .wrap,
.p-summer25-plan .content02 .wrap {
  margin-inline: auto;
  padding-inline: 20px;
  max-width: 840px;
}
@media screen and (max-width: 767px) {
  .p-summer25-plan .content01 .wrap,
  .p-summer25-plan .content02 .wrap {
    padding-inline: 2.564102564102564vw;
    max-width: 100%;
  }
}
.p-summer25-plan .content01 .wrap .cautions,
.p-summer25-plan .content02 .wrap .cautions {
  margin-top: 16px;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .p-summer25-plan .content01 .wrap .cautions,
  .p-summer25-plan .content02 .wrap .cautions {
    margin-top: 4.1%;
    font-size: 3.076923076923077vw;
  }
}
.p-summer25-plan .content01 .wrap .detail {
  margin-top: 16px;
  font-size: clamp(20px, 1.4583333333333333vw, 28px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-summer25-plan .content01 .wrap .detail {
    text-align: center;
    margin-top: 4.1%;
    font-size: 5.384615384615385vw;
  }
}
.p-summer25-plan .content01 .wrap .detail a {
  text-decoration: underline;
  color: #007563;
}
.p-summer25-plan .simulator {
  margin-top: 30px;
  margin-inline: auto;
  width: 100%;
  max-width: 800px;
}
@media screen and (max-width: 767px) {
  .p-summer25-plan .simulator {
    margin-top: 7.69%;
    width: 100%;
  }
}
.p-summer25-plan .simulator > figure {
  margin-inline: auto;
  max-width: 394px;
}
.p-summer25-plan .simulator > picture {
  margin-top: 10px;
  margin-inline: auto;
  max-width: 600px;
}
@media screen and (max-width: 767px) {
  .p-summer25-plan .simulator > picture {
    margin-top: 6.18%;
    max-width: 100%;
  }
}
.p-summer25-plan .simulator > a {
  display: block;
  margin-top: 10px;
  margin-inline: auto;
  max-width: 800px;
  width: 100%;
}
.p-summer25-plan .simulator > a figure img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-summer25-plan .simulator > a {
    width: 100%;
  }
  .p-summer25-plan .simulator > a figure img {
    width: 100%;
    height: auto;
  }
}

/* バナー
------------------------------------------------------*/
.p-summer25-banner {
  position: relative;
  background-color: #FFFAD6;
  padding-block: 60px;
}
@media screen and (max-width: 767px) {
  .p-summer25-banner {
    padding-block: 10.26%;
  }
}
.p-summer25-banner h2 {
  margin-inline: auto;
  max-width: 438px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-summer25-banner h2 {
    max-width: 100%;
    width: 100%;
  }
  .p-summer25-banner h2 figure img {
    width: 100%;
    height: auto;
  }
}
.p-summer25-banner h3 {
  margin-top: 30px;
  margin-inline: auto;
  max-width: 785px;
  width: 100%;
}
.p-summer25-banner .p-summer25-banner__link {
  margin-block: 30px 0;
  margin-inline: auto;
  max-width: 800px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-summer25-banner .p-summer25-banner__link {
    margin-block: 6.15% 0;
  }
}


/* キャンペーン要項
------------------------------------------------------*/
.p-summer25-guideline {
	background-color: #ECF8F1;
	padding-block: 40px 80px;
}
@media screen and (max-width: 767px) {
	.p-summer25-guideline {
		padding-block: 9.33% 6.67%;
	}
}
.tab__inner {
	background-color: #F8F8F8;
}
.p-summer25-guideline__text {
	margin-bottom: clamp(1.5rem, 3.1515151515vw + 0.7613636364rem, 3.125rem);
	padding: 20px 15px;
	height: 310px;
	font-size: clamp(0.6rem, 0.7757575758vw + 0.4181818182rem, 1rem);
	font-family: "Noto Sans JP", serif;
	overflow-y: scroll;
	scrollbar-color: #000000 #F8F8F8;
	scrollbar-width: thin;
}
@media screen and (max-width: 767px) {
	.p-summer25-guideline__text {
		height: 300px;
		padding: 10px;
		font-size: clamp(14px, 2.2666666666666666vw, 17px);
	}
}
.p-summer25-guideline .section__title {
	font-size: 25px;
	font-weight: 700;
	text-align: center;
	color: #FFF;
	background: #000;
	width: 100%;
	max-width: 900px;
	margin-inline: auto;
	padding: 10px 0 12px 0;
	line-height: 1;
}
@media screen and (max-width: 767px) {
	.p-summer25-guideline .section__title {
		font-size: clamp(19px, 5.066666666666666vw, 38px);
		max-width: initial;
		padding: 3.17% 0;
	}
}
.p-summer25-guideline__note {
	font-size: clamp(0.625rem, 0.4848484848vw + 0.5113636364rem, 0.875rem);
}
@media screen and (max-width: 767px) {
	.p-summer25-guideline__note {
		font-size: clamp(12px, 1.866666666666667vw, 14px);
	}
}
.p-summer25-guideline ul {
	margin-bottom: 1.5em;
}
.p-summer25-guideline p {
	margin-bottom: 1.5em;
}
.p-summer25-guideline .mb-none {
	margin-bottom: 0;
}
.p-summer25-guideline .p-summer25-btn {
  padding-inline: 20px;
  max-width: 840px;
}
.p-summer25-guideline .tab__inner a {
  word-break: break-all;
}
.p-summer25-guideline .p-summer25-btn a p {
  font-size: clamp(24px, 1.4583333333333333vw, 28px);
  font-weight: 900;
}

/*Footer
------------------------------------------------------*/
.footer a:hover {
	opacity: 1;
}

@media (max-width: 719px) {
	.footer {
		background-color: #000;
		padding: 24px 10px;
	}
	.footerUtility-list {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
	}
	.footerUtility-list > li {
		margin-top: 15px;
		width: 50%;
	}
	.footerUtility-list > li:nth-child(-n+2) {
		margin-top: 0;
	}
	.footerUtility-list > li > a {
		color: #fff;
		display: inline-block;
		padding-left: 20px;
		position: relative;
	}
	.footerUtility-list > li > a:before {
		-webkit-transform: rotate(45deg);
		border-right: 1px solid #fff;
		border-top: 1px solid #fff;
		content: "";
		height: 8px;
		left: 0;
		margin-top: -4px;
		position: absolute;
		top: 50%;
		transform: rotate(45deg);
		width: 8px;
	}
	.cookies {
		position: relative;
		text-align: center;
		width: -moz-fit-content;
		width: fit-content;
		margin: 0 auto 20px;
		padding: 0 0 0 15px;
		font-size: 1rem;
	}
	.cookies:hover {
		opacity: 0.7;
	}
	.cookies::before {
		content: "";
		margin: auto;
		position: absolute;
		top: 2px;
		bottom: 0;
		left: 0;
		width: 8px;
		height: 8px;
		border-top: 1px solid #FFF;
		border-right: 1px solid #FFF;
		transform: rotate(45deg);
	}
	.footer-group_list {
		align-items: center;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
	}
	.footer-group_top, .footer-group_hd span, .footer-group_nex span, .footer-group_nmm span, .footer-group_mat span, .footer-group_pwr span, .footer-group_re span {
		color: #fff;
		display: inline-block;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
	}
	.footer-group_top {
		background: url(../images/com_sprite_logo01_sp.png) no-repeat 0 -18px;
		background-size: 202px auto;
		height: 13px;
		width: 110px;
		margin: 0 auto 10px;
	}
	.footer-group_other_list {
		display: flex;
		line-height: 1.5;
		flex-direction: column;
		align-items: center;
	}
	.footer-group_hd .a-blank, .footer-group_nex .a-blank, .footer-group_nmm .a-blank, .footer-group_mat .a-blank, .footer-group_pwr .a-blank, .footer-group_re .a-blank {
		display: inline-block;
	}
	.footer-group_nex {
		margin-top: 4px;
	}
	.footer-group_hd span {
		background: url(../images/com_sprite_logo01_sp.png) no-repeat 0 -31px;
		background-size: 202px auto;
		height: 10px;
		width: 122px;
	}
	.footer-group_nex span {
		background: url(../images/com_sprite_logo01_sp.png) no-repeat -110px -18px;
		background-size: 202px auto;
		height: 13px;
		width: 91px;
	}
	.footer-group_nmm span {
		background: url(../images/com_sprite_logo01_sp.png) no-repeat -122px -31px;
		background-size: 202px auto;
		height: 9px;
		width: 34px;
	}
	.footer-group_mat span {
		background: url(../images/com_sprite_logo01_sp.png) no-repeat 0 -100px;
		background-size: 202px auto;
		height: 10px;
		width: 96px;
	}
	.footer-group_pwr span {
		background: url(../images/com_sprite_logo01_sp.png) no-repeat 0 -110px;
		background-size: 202px auto;
		height: 10.5px;
		width: 87px;
	}
	.footer-group_re span {
		background: url(../images/com_sprite_logo01_sp.png) no-repeat 0 -121px;
		background-size: 202px auto;
		height: 10px;
		width: 160px;
	}
	.footer-copyright {
		margin-top: 10px;
		text-align: center;
	}
	.footer-copyright_label {
		color: #cbcbcb;
		font-size: 0.625rem;
		line-height: 1;
	}
}
@media (min-width: 720px) {
	.footer {
		background-color: #000;
	}
	.footerUtility-list {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		margin: 0 auto;
	}
	.footerUtility-list li {
		font-size: 1.3rem;
	}
	.footerUtility-list li a {
		color: #fff;
		padding: 0 18px;
	}
	.footer-body {
		/*align-items: center;*/
		/*align-items: flex-end;*/ /*Cookie追加に伴い追加*/
		/*display: flex;*/
		/*flex-direction: row;*/
		/*flex-wrap: wrap;*/
		/*justify-content: space-between;*/
		padding: 30px;
	}
	.cookies {
		position: relative;
		padding: 0 0 0 15px;
		font-size: 0.8375rem;
	}
	.cookies:hover {
		opacity: 0.7;
	}
	.cookies::before {
		content: "";
		margin: auto;
		position: absolute;
		top: 1px;
		bottom: 0;
		left: 0;
		width: 8px;
		height: 8px;
		border-top: 1px solid #FFF;
		border-right: 1px solid #FFF;
		transform: rotate(45deg);
	}
	.footer-group_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		padding: 15px 0;
		align-items: center;
		/*gap: 50px;*/
	}
	.footer-group_top, .footer-group_hd span, .footer-group_nex span, .footer-group_nmm span, .footer-group_mat span, .footer-group_pwr span, .footer-group_re span {
		display: inline-block;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
	}
	.footer-group_top {
		background: url(../images/com_sprite_logo01.png) no-repeat 0 -29px;
		height: 23px;
		line-height: 1;
		width: 194px;
		margin-right: 25px;
	}
	/*.footer-group_list dd {
		display: inline-block;
		line-height: 1;
		margin-left: 30px;
		margin-top: 3px;
	}
	.footer-group_top + dd {
		margin-left: 25px;
	}*/
	.footer-group_other {
		display: inline-block;
		border-left: #1a1a1a 1px solid;
		padding-left: 25px;
	}
	.footer-group_other_list {
		display: flex;
    align-items: center;
		line-height: 2;
	}
	.footer-group_hd .a-blank, .footer-group_nex .a-blank, .footer-group_nmm .a-blank, .footer-group_mat .a-blank, .footer-group_pwr .a-blank, .footer-group_re .a-blank {
		display: inline-block;
		margin-right: 30px;
	}
	.footer-group_hd span {
		background: url(../images/com_sprite_logo01.png) no-repeat 0 -52px;
		height: 17px;
		width: 208px;
	}
	.footer-group_nex span {
		background: url(../images/com_sprite_logo01.png) no-repeat 0 -69px;
		height: 21px;
		width: 152px;
		margin-top: 9px;
	}
	.footer-group_nmm span {
		background: url(../images/com_sprite_logo01.png) no-repeat 0 -90px;
		height: 15px;
		width: 61px;
	}
	.footer-group_mat span {
		background: url(../images/com_sprite_logo01.png) no-repeat 0 -172px;
		height: 17px;
		width: 157px;
	}
	.footer-group_pwr span {
		background: url(../images/com_sprite_logo01.png) no-repeat 0 -189px;
		height: 18px;
		width: 143px;
	}
	.footer-group_re span {
		background: url(../images/com_sprite_logo01.png) no-repeat 0 -207px;
		height: 18px;
		width: 261px;
	}
	.footer-copyright {
		text-align: right;
	}
	.footer-copyright_label {
		color: #cbcbcb;
		display: block;
		font-size: 0.8375rem;
		line-height: 20px;
		/*padding-bottom: 15px;*/ /*Cookie追加に伴い追加*/
		text-align: right;
	}
}
@media (min-width: 720px) and (max-width: 1040px) {
	.footer-group_list {
		justify-content: flex-start;
		padding: 25px 0;
		gap: 30px;
	}
	.footer-group_other {
		border-left: none;
		padding-left: 0;
	}
	.footer-group_other_list {
		flex-wrap: wrap;
	}
}
.a-blank::after {
	-webkit-transform: rotate(0) !important;
	border: none !important;
	content: "";
	display: inline-block;
	height: 10px !important;
	transform: rotate(0) !important;
	width: 10px !important;
}

@media only screen and (max-width: 767px) {
	.a-blank::after {
		background-image: url("../images/com_sprite_ic01_sp.png");
		background-position: -60px -21px;
		background-repeat: no-repeat;
		background-size: 104px auto;
		margin: 0 0 0 4px;
		vertical-align: 0;
	}
	.footer-group_nex .a-blank::after {
		vertical-align: 2px;
	}
}
@media print, screen and (min-width: 768px) {
	.a-blank::after {
		background: url("../images/com_sprite_ic01.png") no-repeat 0 0;
		background-position: -12px -98px;
		margin-left: 8px;
		vertical-align: 3px;
	}
	.footer-group_nex .a-blank::after {
		vertical-align: 8px;
	}
}/*# sourceMappingURL=style.css.map */

/*ダイアログ
------------------------------------------------------*/
.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.7);
  z-index: 1000;
}
.modal-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.modal-content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1200px;
  height: 424px;
  text-align: center;
  border: 5px solid #007563;
  background-color: #fff;
  max-width: 80%;
  max-height: 42.4vh;
  min-height: 396px;
  border-radius: 20px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .modal-content {
    border: 0.6666666666666667vw solid #007563;
    width: 640px;
    height: 108.266667vw;
    max-height: 90%;
    max-width: 88%;
  }
}
.modal-content__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-block: 2.445833vw;
  padding-inline: 3.6458333333333335vw;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .modal-content__inner {
    padding-block: 3.445833vw;
    padding-inline: 5.128205128205128vw;
    overflow-y: auto;
  }
}
.modal-content__inner > span {
  font-size: clamp(20px, 1.4583333333333333vw, 28px);
  font-weight: 700;
  line-height: 1.57;
}
@media screen and (max-width: 767px) {
  .modal-content__inner > span {
    font-size: 5.384615384615385vw;
  }
}
.modal-content .modal-close {
  position: absolute;
  top: -32px;
  right: -32px;
  width: 64px;
  height: 64px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .modal-content .modal-close {
    top: -7.333333vw;
    right: -4.333333vw;
    width: 16.41025641025641vw;
    height: 16.41025641025641vw;
  }
}
.modal-content .modal-close figure {
  width: 100%;
  height: 100%;
}
.modal-content .modal-close figure img {
  width: 100%;
  height: 100%;
  aspect-ratio: 1;
}
.modal-content__inner > p {
  margin-block: 20px 0;
  font-size: clamp(36px, 2.2916666666666665vw, 44px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .modal-content__inner > p {
    margin-block: 7.69% 0;
    font-size: 6.923076923076923vw;
  }
}
.modal-content__inner .modal-content__inner--btn {
  margin-block: 48px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 32px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .modal-content__inner .modal-content__inner--btn {
    flex-direction: column;
    margin-block: 9.69% 0;
    gap: 5.128205128205128vw 0;
  }
}
#button-a,
#button-b {
  width: calc((100% - 32px) / 2);
  max-width: 310px;
}
@media screen and (max-width: 767px) {
  #button-a,
  #button-b {
    width: 57.948717948717956vw;
    max-width: initial;
    height: 18.461538461538463vw;
  }
}
#button-a button,
#button-b button {
  position: relative;
	margin-inline: auto;
  border: none;
	border-radius: 80px;
  background-color: #007563;
	padding-inline: 30px 60px;
	width: 100%;
  max-width: 310px;
  min-height: 96px;
  font-size: 28px;
  font-weight: 900;
  color: #fff;
	line-height: 1.3;
	letter-spacing: 0.04em;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #button-a button,
  #button-b button {
    padding-inline: 4vw 8vw;
    width: 100%;
    max-width: 100%;
    min-height: 100%;
    font-size: 5.384615384615385vw;
    font-weight: 800;
  }
}
#button-a button:hover,
#button-b button:hover {
  opacity: 0.8;
}
#button-a button:after,
#button-b button:after {
	content: "";
	width: 72px;
	height: 72px;
	background-size: cover;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	background-image: url("../images/common/com_arrow_ic01.svg");
}
@media screen and (max-width: 767px) {
  #button-a button:after,
  #button-b button:after {
    width: 12.307692307692308vw;
    height: 12.307692307692308vw;
    right: 3.076923076923077vw;
  }
}
.button {
  cursor: pointer;
}


/* 追従バナー
------------------------------------------------------*/
.sticky-banner {
  position: sticky;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.sticky-banner.show {
  opacity: 1;
  visibility: visible;
}
.sticky-banner .p-summer25-btns {
  display: flex;
  justify-content: center;
  gap: 0 30px;
  margin-top: 0;
  padding-block: 14px;
}
@media screen and (max-width: 767px) {
  .sticky-banner .p-summer25-btns {
    display: block;
    width: 100%;
    padding-block: 1.28%;
    padding-inline: 0;
	}
}
.sticky-banner .p-summer25-btn {
  max-width: 520px;
  width: 100%;
}
@media screen and (max-width: 767px) {
	.sticky-banner .p-summer25-btn {
    max-width: initial;
    width: 100%;
    padding-inline: 0;
	}
	.sticky-banner .p-summer25-btn + .p-summer25-btn {
		margin-top: 1.28%;
	}
}
.sticky-banner .p-summer25-btn a {
	position: relative;
  text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-inline: auto;
  border: initial;
	padding-block: 10px;
	padding-inline: 30px 75px;
	width: 100%;
	max-width: 520px;
	min-height: 96px;
	font-weight: 900;
	line-height: 1.3;
	font-size: clamp(20px, 1.4583333333333333vw, 28px);
	letter-spacing: 0.04em;
	border-radius: 80px;
	z-index: 2;
	color: #FFFFFF;
	box-shadow: initial;
	transition: 0.2s;
}
@media screen and (max-width: 767px) {
	.sticky-banner .p-summer25-btn a {
		height: initial;
    min-height: initial;
		width: 100%;
		padding-block: 7.25%;
		padding-inline: 4.333333333333334vw 12vw;
    font-size: 4vw;
    box-shadow: initial;
	}
}
.sticky-banner .p-summer25-btn a:hover {
	transform: initial;
	opacity: 0.8;
}
.sticky-banner .p-summer25-btn.yellow a {
    background-color: #FFD800;
    color: #000;
}
@media screen and (max-width: 767px) {
  .sticky-banner .p-summer25-btn a {
    border: initial;
    border-radius: initial;
    max-width: 100%;
    padding-block: 2.56%;
    padding-inline: 4.333333333333334vw 12vw;
    min-height: 18.974358974358974vw;
    transition: initial;
    font-size: 5.384615384615385vw;
  }
}
@media screen and (max-width: 767px) {
	.sticky-banner .p-summer25-btn a:after {
		width: 12.307692307692308vw;
		height: 12.307692307692308vw;
		right: 9.487179487179487vw;
	}
}