* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

:root {
	--bg-blue: #d6e3e9;
	--blue: #3b70a2;
	--grey: #808080;
	--transition: opacity 0.3s ease;
	--opacity: 0.7;
	--content-width: 650px;
	scroll-behavior: smooth;
}

ul {
	list-style-type: none;
}

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

body {
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: #7F8488;
	background: #ffffff;
	position: relative;
}

.nav-pc {
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1000;
	@media (min-width: 1201px) {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
		gap: 20px;
		padding: 20px 20px 20px clamp(20px, (((100% - var(--content-width)) / 2) - 260px), 100px);
		width: calc((100% - var(--content-width)) / 2);
		height: 100%;
		& .to-top {
			margin-top: 129px;
			transition: var(--transition);
			&:hover {
				opacity: var(--opacity);
			}
		}
		& ul {
			display: flex;
			flex-direction: column;
			width: min(100%, 240px);
			gap: min((35 / 1920 * 100vw), 35px);
		}
		& li a {
			display: block;
			color: var(--blue);
			font-size: min((22 / 750 * 100vw), 22px);
			font-weight: 700;
			letter-spacing: 0.07em;
			text-decoration: none;
			position: relative;
			padding-right: 1.6em;
			transition: var(--transition);
			&::after {
				content: "→";
				display: block;
				position: absolute;
				right: 0;
				top: 0;
			}
			&:hover {
				opacity: var(--opacity);
			}
		}
	}
}

.content {
	width: 100%;
	max-width: var(--content-width);
	margin: 0 auto;
	background-color: #ffffff;
	&.bg-blue {
		background-color: var(--bg-blue);
	}
}

/* @media (min-width: 651px) and (max-width: 1200px) {
	body {
		background: url(../img/pcbg-right.png) right top no-repeat, var(--bg-blue);
		background-attachment: fixed;
		background-size: contain;
	}
	.content {
		width: 50%;
		margin-left: 0;
		margin-right: auto;
	}
} */

@media (min-width: 651px) {
/* @media (min-width: 1201px) { */
	body {
		/* background: url(../img/pcbg-left.png) left top no-repeat, url(../img/pcbg-right.png) right top no-repeat, var(--bg-blue); */
		background: url(../img/pcbg.png) left top no-repeat, var(--bg-blue);
		background-attachment: fixed;
		background-size: cover;
	}
	main {
		width: var(--content-width);
		margin: 0 auto;
		filter: drop-shadow(0px 0px 20px rgba(46, 83, 114, 0.25));
	}
}

.link-sp {
	position: fixed;
	left: 0;
	bottom: 0;
	height: min((140 / 750 * 100vw), 140px);
	background-color: rgba(255,255,255,0.8);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10;
	transform: translateY(100%);
	transition: transform 0.6s ease;
	@media (min-width: 651px) {
		width: var(--content-width);
		left: calc(50% - 375px);
	}
	@media (min-width: 1201px) {
		display: none;
	}
	&.show {
		transform: translateY(0);
	}
}

.link-pc {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	@media (min-width: 1201px) {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 20px;
		padding: 20px;
		width: calc((100% - var(--content-width)) / 2);
		height: 100%;
		& .line-btn,
		& .tel-btn,
		& .apply-btn {
			transition: var(--transition);			
			&:hover {
				opacity: var(--opacity);
			}
		}
		& .apply-btn {
			margin-top: 129px;
		}
	}
}

/* btn-list */
.btn-list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: min((35 / 750) * 100vw, 35px);
}
.btn-item {
	width: min((572 / 650) * 100vw, 572px);
	height: auto;
	aspect-ratio: 660 / 206;
	& a {
		display: block;
		width: 100%;
		height: 100%;
		& .btn-main {
			display: block;
			width: 100%;
			height: 100%;
			&.btn-main-01 {
				background: url(../img/btn-main-01--on.png) no-repeat;
				background-size: contain;
			}
			&.btn-main-02 {
				background: url(../img/btn-main-02--on.png) no-repeat;
				background-size: contain;
			}
			&.btn-main-03 {
				background: url(../img/btn-main-03--on.png) no-repeat;
				background-size: contain;
			}
			& img {
				width: 100%;
				height: auto;
				opacity: 1;
				transition: var(--transition);
			}
		}
		&:hover {
			& .btn-main {
				& img {
					opacity: 0;
				}
			}
		}
	}
}

/* reason */
.content.reason {
	padding-top: min((66 / 750) * 100vw, 66px);
}
.reason-item {
	padding-bottom: min((95 / 750) * 100vw, 95px);
}

/* kaitori */
.content.kaitori {
	background: url(../img/kaitori-bg.png) no-repeat top center, #ffffff;
	background-size: contain;
	aspect-ratio: 750 / 1056;
	& .kaitori-swiper {
		top: min((260 / 750* 100vw), 260px);
		padding-left: min((16 / 750* 100vw), 16px);
		width: 92%;
		position: relative;
	}
	& .kaitori-btn {
		width: min((54 / 750* 100vw), 54px);
		height: min((54 / 750* 100vw), 54px);
		position: absolute;
		top: calc(50% - calc(min((54 / 750* 100vw), 54px) / 2));
		z-index: 2;
		&.kaitori-btn-prev {
			left: min((16 / 750 * 100vw), 16px);
			background: url(../img/kaitori-slide-prev.png) no-repeat;
			background-size: contain;
		}
		&.kaitori-btn-next {
			right: min((26 / 750 * 100vw), 26px);
			background: url(../img/kaitori-slide-next.png) no-repeat;
			background-size: contain;
		}
	}
	& .swiper-horizontal>.swiper-pagination-bullets.kaitori-pagination {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		width: min((410 / 750 * 100vw), 410px);
		margin: 0 auto;
		gap: min((26 / 750 * 100vw), 26px) min((30 / 750 * 100vw), 30px);
	}
	& .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0;
		padding: 0;
		width: min((14 / 750 * 100vw), 14px);
		height: min((14 / 750 * 100vw), 14px);
		background-color: #b3b3b3;
		opacity: 1;
		&.swiper-pagination-bullet-active {
			background-color: #2e5372;
		}
	}
}

/* voice */
.content.voice {
	background: url(../img/voice-bg.png) no-repeat top center;
	background-size: contain;
	aspect-ratio: 750 / 1423;
	& .voice-swiper {
		top: min((560 / 750* 100vw), 560px);
		padding-left: min((16 / 750* 100vw), 16px);
		width: 92%;
		position: relative;
	}
	& .voice-btn {
		width: min((60 / 750* 100vw), 60px);
		height: min((40 / 750* 100vw), 40px);
		position: absolute;
		top: calc(50% - calc(min((60 / 750* 100vw), 60px) / 2));
		z-index: 2;
		&.voice-btn-prev {
			left: min((16 / 750 * 100vw), 16px);
			background: url(../img/voice-slide-prev.png) no-repeat;
			background-size: contain;
		}
		&.voice-btn-next {
			right: min((26 / 750 * 100vw), 26px);
			background: url(../img/voice-slide-next.png) no-repeat;
			background-size: contain;
		}
	}
	& .swiper-horizontal>.swiper-pagination-bullets.voice-pagination {
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
		width: min((410 / 750 * 100vw), 410px);
		margin: 0 auto;
		gap: min((26 / 750 * 100vw), 26px) min((30 / 750 * 100vw), 30px);
	}
	& .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0;
		padding: 0;
		width: min((14 / 750 * 100vw), 14px);
		height: min((14 / 750 * 100vw), 14px);
		background-color: #cccccc;
		opacity: 1;
		&.swiper-pagination-bullet-active {
			background-color: #b79d6f;
		}
	}
}

/* shop */
.shop-title {
	width: min((260 / 750 * 100vw), 260px);
	margin: min((74 / 750 * 100vw), 74px) auto 0;
}
.shop-content {
	width: min((585 / 650 * 100vw), 585px);
	margin: min((48 / 750 * 100vw), 48px) auto 0;
}

/* btn-hover */
.btn-hover-bg {
	display: block;
	position: relative;
	& .btn-hover {
		display: block;
		position: absolute;
		background: rgba(255,255,255,0.3);
		width: min(69.8vw, 453px);
		height: min(15.9vw, 103px);
		z-index: 1;
		bottom: min(23.9vw, 155px);
		left: min(15vw, 97px);
		opacity: 0;
		transition: var(--transition);
		&:hover {
			opacity: 1;
		}
	}
}

/* bnr-wrapper */
.bnr-wrapper {
	padding: min((76 / 750 * 100vw), 76px) 0 min((80 / 750 * 100vw), 80px);
	display: flex;
	flex-direction: column;
	gap: min((52 / 750 * 100vw), 52px);
	& a {
		display: block;
		width: min((585 / 650 * 100vw), 585px);
		margin: 0 auto;
		transition: var(--transition);
		&:hover {
			opacity: var(--opacity);
		}
	}
}

/* faq */
.content.faq {
	background: url(../img/faq-title.png) no-repeat top center, var(--bg-blue);
	background-size: 100% auto;
}
.faq-list {
	width: min((572 / 650 * 100vw), 572px);
	margin: 0 auto;
	padding: min((300 / 750 * 100vw), 300px) 0  min((100 / 750 * 100vw), 100px);
	display: flex;
	flex-direction: column;
	gap: min((40 / 750 * 100vw), 40px);
}
.faq-item {
	background-color: #ffffff;
	border-radius: min((10 / 750 * 100vw), 10px);
	filter: drop-shadow(15px 15px 15px rgba(0, 0, 0, 0.15));
}
/* faq改善 */
details > summary::-webkit-details-marker { display: none; }
details > summary::marker { content: none; }
details > summary {
  display:block; list-style:none; padding-inline-start:0;
  -webkit-appearance:none; -webkit-tap-highlight-color:transparent; user-select:none;
}


.summary-inner{
  display:flex;
  align-items:center;
  min-height: min((190 / 750 * 100vw), 190px);
  padding: 0 min((100 / 750 * 100vw), 100px);
  color: var(--blue);
  font-size: min((32 / 750 * 100vw), 32px);
  font-weight: 700;
  letter-spacing: .1em;
  line-height: 1.75;
  position: relative;
}


.summary-inner::before,
.summary-inner::after{
  content:"";
  position:absolute;
  display:block;
  pointer-events:none;
}


.summary-inner::before{
  width: min((80 / 750 * 100vw), 80px);
  height: min((81 / 750 * 100vw), 81px);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(../img/faq-icn-q.png) no-repeat center/contain;
}


.summary-inner::after{
  width: min((40 / 750 * 100vw), 40px);
  height: min((41 / 750 * 100vw), 41px);
  right: min((32 / 750 * 100vw), 32px);
  top: 50%;
  transform: translateY(-50%); 
  transition: transform .3s;
  background: url(../img/faq-arrow.png) no-repeat center/contain;
}

details[open] .summary-inner::after{
  transform: translateY(-50%) rotate(180deg);
}
.js-content {
	position: relative;
	overflow: hidden;
	&::before {
		content: "";
		display: block;
		position: absolute;
		width: min((510 / 650 * 100vw), 510px);
		height: 1px;
		background-color: #6b9ac1;
		left:  min((35 / 750 * 100vw), 35px);
		top: 0;
	}
}
.js-content-inner {
	color: #443a35;
	font-size: min((28 / 750 * 100vw), 28px);
	font-weight: 400;
	letter-spacing: 0.1em;
	line-height: 2;
	padding: min((54 / 750 * 100vw), 54px) min((35 / 750 * 100vw), 35px) min((66 / 750 * 100vw), 66px) min((100 / 750 * 100vw), 100px);
	position: relative;
	&::before {
		content: "";
		display: block;
		position: absolute;
		width: min((60 / 750 * 100vw), 60px);
		height: min((61 / 750 * 100vw), 61px);
		background: url(../img/faq-icn-a.png) no-repeat;
		background-size: contain;
		left: min((20 / 750 * 100vw), 20px);
		top: min((54 / 750 * 100vw), 54px);
	}
}

/* content-footer */
.content-footer {
	background-color: #ffffff;
	padding-top: min((40 / 750 * 100vw), 40px);
}
.footer-logo {
	width: min((268 / 750 * 100vw), 268px);
	margin: 0 auto;
	& a {
		transition: var(--transition);
		&:hover {
			opacity: var(--opacity);
		}
	}
}
.footer-list {
	margin: min((44 / 750 * 100vw), 44px) auto 0;
	display: flex;
	justify-content: center;
}
.footer-item {
	border-right: 1px solid var(--grey);
	&:first-child {
		border-left: 1px solid var(--grey);
	}
	& a {
		padding: 0 1em 0 1.08em;
		color: var(--grey);
		font-size: min((26 / 750 * 100vw), 26px);
		font-weight: 500;
		letter-spacing: 0.16em;
		line-height: 1;
		text-decoration: none;
		transition: var(--transition);
		&:hover {
			opacity: var(--opacity);
		}
	}
}
small {
	width: 100%;
	height: min((59 / 750 * 100vw), 59px);
	display: grid;
	place-content: center;
	margin: min((30 / 750 * 100vw), 30px) 0 0;
	background-color: #f2f2f2;
	color: var(--grey);
	font-size: min((20 / 750 * 100vw), 20px);
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1;
	text-align: center;
}

/* padding */
.pt70 {
	padding-top: min((70 / 750) * 100vw, 70px);
}
.pt80 {
	padding-top: min((80 / 750) * 100vw, 80px);
}
.pt110 {
	padding-top: min((110 / 750) * 100vw, 110px);
}

.pb100 {
	padding-bottom: min((100 / 750) * 100vw, 100px);
}

/* お問い合わせフォーム追加 */

body .Upper-part {
    height: 8vh;
}
.form-wrapper body,
.form-wrapper input,
.form-wrapper textarea,
.form-wrapper select,
.form-wrapper button {
  font-family: 'Noto Sans JP', sans-serif;
}

.form-wrapper {
  background-color: #ECF1F8;
  padding: 10px;
}

.form-wrapper .form-wrapper {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 20px;
  text-align : left;
}

.form-wrapper .form-title {
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    margin-top: 120px;
    margin-bottom: 30px;
}

.form-wrapper .form-description {
    font-size: 16px;
    text-align: center;
    line-height: 28px;
    margin: 10% 0px 14% 0px;
}

.form-wrapper label {
    font-weight: bold;
    display: block;
    margin-top: 0px;
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 22px;
}
.form-wrapper .basic label{
      margin-bottom:20px;
      margin-top: 0px;
}
.form-wrapper label:first-of-type {
  margin-top: 0;
}

.form-wrapper .required {
    color: #fff;
    background-color: #6C99C1;
    font-size: 13px;
    min-width: 10px;
    padding: 3px 7px;
    margin: 0px 5px;
    line-height: 1;
    white-space: nowrap;
    text-align: center;
    border-radius: 10px;
    display: inline-block;
}

.form-wrapper input[type="text"],
.form-wrapper input[type="email"],
.form-wrapper textarea {
  width: 100%;
  padding: 10px;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-bottom: 20px;
  border-bottom: 2px solid #8896AD;
}
.form-wrapper input[type="tel"] {
  width: 100%;
  padding: 10px;
  font-size: 16px;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-bottom: 40px;
  border-bottom: 2px solid #8896AD;
}
.form-wrapper textarea {
  resize: vertical;
  min-height: 120px;
  margin-bottom:40px;
  border-bottom: 2px solid #8896AD;
}
.form-wrapper .submit-buttons {
  margin-top: 40px; 
  margin-bottom: 120px; 
  text-align: center;
}

.form-wrapper input[type="submit"] {
	width: 300px;
	height: 60px;
	padding: 0;
	font-size: 22px;
	border-radius: 15px;
	cursor: pointer;
	display: inline-block;
	text-align: center;
	line-height: 60px;
	box-sizing: border-box;
	background-color: #6C99C1;
	border: none;
	color: #fff;
	transition: background-color 0.3s;
}

.form-wrapper input[type="submit"]:hover {
  opacity: .7;
}

.form-wrapper .checkbox-group label,
.form-wrapper .radio-group label {
  display: block;
  margin-bottom: 8px;
  font-size: 16px;
}

.form-wrapper .form-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 0px;
}

.form-wrapper .form-col {
  width: 48%;
}
.form-wrapper .free-text2{
  font-size:14px;
  margin-top : 8px;
}
@media screen and (max-width: 768px) {
  .form-wrapper .form-row {
    flex-direction: column;
    gap: 10px;
  }

  .form-wrapper .form-col {
    width: 100%;
  }
}

@media screen and (max-width: 520px) {
  .form-wrapper .form-wrapper {
    padding: 20px 10px;
  }

  .form-wrapper .form-title {
    margin-top:60px;
    font-size: 24px;
  }

  .form-wrapper .form-description {
    font-size: 14px;
    margin-bottom: 30px;
    line-height: 22px;
  }

  .form-wrapper input[type="text"],
  .form-wrapper input[type="email"],
  .form-wrapper input[type="tel"],
  .form-wrapper textarea {
    font-size: 15px;
    padding: 8px;
    margin-left: 2%;
    margin-right: 2%;
    width: 96%;
  }
  .form-wrapper input[type="submit"] {
  font-size: 18px;
}
.form-wrapper .submit-buttons{
  margin-bottom:60px;
}
.form-wrapper .basic label {
    margin-bottom: 8px;
    padding-left: 2%;
}
.form-wrapper label{
    padding-left: 2%;
}
}
/* カスタムチェックボックスのスタイル */
.form-wrapper .custom-checkbox {
  position: relative;
  display: block;
  padding-left: 30px;
  margin-top:0px;
  margin-bottom: 20px;
  cursor: pointer;
  font-size: 16px;
  line-height: 1.6;
  user-select: none;
}
.form-wrapper .checkbox-group label{
  margin-bottom:10px;
}
.form-wrapper .custom-checkbox input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
}

.form-wrapper .custom-checkbox-box {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 18px;
  width: 18px;
  background-color: white;
  border: 1px solid #999;
  border-radius: 2px;
}

/* チェック時のスタイル */
.form-wrapper .custom-checkbox input:checked ~ .custom-checkbox-box {
  background-color: grey;;
  border-color: grey;
}

/* チェックマーク */
.form-wrapper .custom-checkbox-box::after {
  content: "";
  position: absolute;
  display: none;
}

.form-wrapper .custom-checkbox input:checked ~ .custom-checkbox-box::after {
  display: block;
}

.form-wrapper .custom-checkbox-box::after {
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* カスタムラジオボタン */
.form-wrapper .custom-radio {
  position: relative;
  display: block;
  padding-left: 30px;
  margin-top:0px;
  margin-bottom: 20px;
  cursor: default;
  font-size: 16px;
  line-height: 1.6;
  user-select: none;
}
.form-wrapper .custom-radio-group label{
  margin-bottom:5px;
}
.form-wrapper .custom-radio input[type="radio"] {
  position: absolute;
  opacity: 0;
  cursor: default;
}
.form-wrapper .custom-radio .two_row{
  top:13px;
}
.form-wrapper .custom-radio-box {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 18px;
  width: 18px;
  background-color: white;
  border: 1px solid #999;
  border-radius: 2px;
}

.form-wrapper .custom-radio input:checked ~ .custom-radio-box {
  background-color: grey;
  border-color: grey;
}

.form-wrapper .custom-radio-box::after {
  content: "";
  position: absolute;
  display: none;
}

.form-wrapper .custom-radio input:checked ~ .custom-radio-box::after {
  display: block;
}

.form-wrapper .custom-radio-box::after {
  left: 5px;
  top: 1px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.form-wrapper .radio-text2{
  font-size:14px;
}
.form-wrapper .checkbox-group,
.form-wrapper .custom-radio-group {
  margin-top: 10px;
  margin-left: 20px;
  margin-bottom:40px;
}

/* === 確認画面 === */
.form-wrapper .confirm-wrapper {
  max-width: 720px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: 'Noto Sans JP', sans-serif;
  text-align: center;
}

.form-wrapper .confirm-heading {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 10px;
}

.form-wrapper .confirm-heading span {
  display: block;
  font-size: 24px;
  font-weight: bold;
  margin-top: 10px;
}

.form-wrapper .confirm-subtext {
  font-size: 14px;
  color: #666;
  margin-bottom: 30px;
}

.form-wrapper .confirm-table {
  width: 100%;
  border: 1px solid #000;
  border-collapse: collapse;
  margin-bottom: 40px;
  text-align: left;
}

.form-wrapper .confirm-table th,
.form-wrapper .confirm-table td {
  padding: 16px;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  border-left: none;
  border-right: none;
}

.form-wrapper .confirm-table tr:first-child th,
.form-wrapper .confirm-table tr:first-child td {
  border-top: none;
}

.form-wrapper .confirm-table th {
  background-color: #fafafa;
  width: 30%;
  white-space: nowrap;
  font-weight: 600;
}

.form-wrapper .confirm-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-bottom: 50px;
}

.form-wrapper .btn-primary,
.form-wrapper .btn-secondary {
  width: 300px;
  height: 60px;
  padding: 0;
  font-size: 16px;
  border-radius: 30px;
  cursor: pointer;
  display: inline-block;
  text-align: center;
  line-height: 60px;
  box-sizing: border-box;
}

.form-wrapper .btn-secondary {
  background-color: #fff;
  border: 1px solid #aaa;
  color: #333;
  transition: all 0.3s;
}

.form-wrapper .btn-secondary:hover {
  background-color: #f2f2f2;
}

.form-wrapper .btn-primary {
  background-color: #77A6AA;
  border: none;
  color: #fff;
  transition: background-color 0.3s;
}

.form-wrapper .btn-primary:hover {
  background-color: #4aa290;
}
.form-wrapper .Form__policy-text-wrap {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0 auto;
  width: fit-content;
  padding: 0 16px;
}

.form-wrapper .Form__policy-text-block {
  display: inline-block;
  font-size: 14px;
  line-height: 1.6;
}

.form-wrapper .Form__policy-link {
  color: #007acc; 
  border-bottom: 1px solid #007acc;
  font-weight: 500;
  text-decoration: none;
  transition: color 0.2s;
}
.form-wrapper .Form__policy {
  margin: 40px 0;
}

.form-wrapper .Form__policy-link:hover {
  color: #005fa3;
  border-bottom-color: #005fa3;
}
.form-wrapper .Form__policy-checkbox {
  width: 20px;
  height: 20px;
  margin-top: 3px;
  accent-color: grey;
}
@media screen and (max-width: 640px) {
  .form-wrapper .confirm-table,
  .form-wrapper .confirm-table tbody,
  .form-wrapper .confirm-table tr,
  .form-wrapper .confirm-table th,
  .form-wrapper .confirm-table td {
    display: block;
    width: 100%;
  }

  .form-wrapper .confirm-table tr:not(:last-child) {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #ddd;
  }

  .form-wrapper .confirm-table th {
    background-color: transparent;
    font-weight: bold;
    padding: 12px 16px 4px;
    border: none;
  }

  .form-wrapper .confirm-table td {
    padding: 0 16px 16px;
    border: none;
  }

  .form-wrapper .Form__policy-text-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding-left: 40px;
    box-sizing: border-box;
  }

  .form-wrapper .Form__policy-checkbox {
    margin: 0;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
  }
}

@media screen and (max-width: 600px) {
  .form-wrapper .confirm-buttons {
    flex-direction: column;
  }

  .form-wrapper .btn-primary,
  .form-wrapper .btn-secondary {
    width: 100%;
  }

  .form-wrapper .confirm-heading span {
    font-size: 20px;
  }

  .form-wrapper .confirm-table td {
    padding: 0 16px 16px;
    border: none;
  }

  .form-wrapper .Form__policy-text-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding-left: 40px;
    box-sizing: border-box;
  }

  .form-wrapper .Form__policy-checkbox {
    margin: 0;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
  }
}

textarea[name="consultation_content"] {
  border-bottom: none;
  outline: none;
  resize: none;
}

@media screen and (min-width: 768px) {
  .form-wrapper label {
      font-weight: bold;
      display: block;
      margin-top: 0px;
      margin-bottom: 10px;
      font-size: 18px;
      line-height: 22px;
  }

  .form-wrapper .required {
      color: #fff;
      background-color: #6C99C1;
      font-size: 13px;
      min-width: 10px;
      padding: 3px 7px;
      margin: 0px 5px;
      line-height: 1;
      white-space: nowrap;
      text-align: center;
      border-radius: 10px;
      display: inline-block;
  }
}