body {
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.6;
	font-size: clamp(16px, 1vw, 20px);
	color: #3b3b3b;
}

/* 共通 */

.mb10 {
	margin-bottom: 10px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.mb70 {
	margin-bottom: 70px !important;
}
.mb80 {
	margin-bottom: 80px !important;
}
.mb90 {
	margin-bottom: 90px !important;
}

.w1180 {
	max-width: 1088px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.outfit {
	font-family: "Outfit", sans-serif;
}

.pink {
	color: #d94473;
}
.bg-pink {
	background-color: #d94473;
}

.blue {
	color: #15447d;
}

.blue02 {
	color: #3799ff;
}
.bg-blue02 {
	background-color: #3799ff;
}

.sp,
.sp02,
.sp03,
.pc02 {
	display: none;
}

.tomei:hover {
	opacity: 0.5;
	transition: 0.7s;
}
.under-pink {
	border-bottom: dotted 4px #d94473;
}

.flex,
.flex02,
.flex03,
.flex04 {
	display: flex;
	align-items: center;
}
.end {
	justify-content: flex-end;
}
.bet {
	justify-content: space-between;
}
.center {
	justify-content: center;
}
.wrap {
	flex-wrap: wrap;
}
.start {
	align-items: start;
}
.strech {
	align-items: stretch;
}

.title {
	color: #d94473;
	font-size: clamp(34px, 3vw, 45px);
	font-weight: 700;
	margin-bottom: 50px;
	letter-spacing: 5px;
}
.title .track img {
	height: 50px;
	vertical-align: -0.2cap;
	margin-right: 15px;
}

img.pc-only {
	display: inline;
}
@media screen and (max-width: 767px) {
	img.pc-only {
		display: none;
	}
}
img.sp-only {
	display: none;
}
@media screen and (max-width: 767px) {
	img.sp-only {
		display: inline;
	}
}

.pc-only {
	display: block;
}
@media screen and (max-width: 767px) {
	.pc-only {
		display: none;
	}
}

.sp-only {
	display: none;
}
@media screen and (max-width: 767px) {
	.sp-only {
		display: block;
	}
}

.pc-only2 {
	display: inline;
}
@media screen and (max-width: 767px) {
	.pc-only2 {
		display: none;
	}
}

.sp-only2 {
	display: none;
}
@media screen and (max-width: 767px) {
	.sp-only2 {
		display: inline;
	}
}

.c-title {
	text-align: center;
	margin-bottom: 60px;
}
.c-title__title {
	font-size: 45px;
	color: #d94473;
	font-weight: bold;
	margin-bottom: 20px;
}
.c-title__lead {
	font-size: 18px;
	font-weight: bold;
	line-height: 1.67;
}

.c-btn {
	text-align: center;
}
.c-btn a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 400px;
	height: 70px;
	border-radius: 5px;
	color: #fff;
	background: #d94473;
	font-size: 22px;
	font-weight: bold;
	position: relative;
}
.c-btn a .label {
}
.c-btn a .arrow {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translate(0, -50%);
}

/*==================================================
ヘッダー
===================================*/

.pc header {
	height: 80px;
	background-color: white;
	padding-left: 20px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	font-size: 13px;
	font-weight: 600;
	box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.2);
}
.pc header h1 {
	display: flex;
	flex-direction: column;
}
.pc header h1 .text {
	font-size: 10px;
	font-weight: 400;
	margin-bottom: 5px;
}
.pc header h1 img {
	max-width: 180px;
}
.pc header nav li {
	margin-right: 30px;
	font-size: 16px;
}
.pc header nav li a:hover {
	color: #d94473;
	font-weight: 600;
}
.pc header .btn {
	color: white;
	width: clamp(140px, 17vw, 280px);
	text-align: center;
	font-weight: 600;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	font-size: 17px;
}
.pc header span .icon-mail {
	width: 18px;
	margin-right: 10px;
}
.pc header span .icon-shiryo {
	height: 15px;
	margin-right: 10px;
	vertical-align: -0.1cap;
}

/*==================================================
ファーストビュー
===================================*/

.main.pc {
	margin-bottom: -10px;
	background-image: url(../images/main.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: right;
	margin-top: 100px;
	padding: 100px 0 100px 0;
	position: relative;
	height: 600px;
}
.main .medal {
	width: 50%;
	max-width: 550px;
	position: absolute;
	right: 0;
	bottom: -10px;
}
.main.pc .txt {
	margin-left: 70px;
	font-weight: 600;
	font-size: 20px;
}
.main.pc .txt h2 {
	font-size: clamp(65px, 3vw, 70px);
	font-weight: 800;
	color: #15447d;
	line-height: 1.3;
	margin-bottom: 20px;
}
.main.pc .txt h3 {
	background-color: #15447d;
	border-radius: 50px;
	color: white;
	display: inline-block;
	padding: 10px clamp(30px, 2vw, 40px) 10px clamp(100px, 8vw, 130px);
	font-size: clamp(18px, 1.5vw, 22px);
	font-weight: 600;
	margin-bottom: 30px;
}

.main.pc .txt .icon {
	z-index: 99;
	position: absolute;
	left: clamp(40px, 2vw, 50px);
	top: 50px;
}
.main.pc .txt .icon img {
	width: clamp(110px, 8vw, 130px);
}
.main.pc .txt .btn {
	color: white;
	padding: 20px clamp(10px, 1vw, 20px);
	margin-right: 20px;
	width: clamp(180px, 15vw, 260px);
	text-align: center;
	border-radius: 5px;
	font-weight: 600;
	display: block;
	font-size: clamp(18px, 1vw, 20px);
}
.main.pc .txt .btn span .icon-mail {
	width: 22px;
	margin-right: 15px;
}
.main.pc .txt .btn span .icon-shiryo {
	height: 20px;
	margin-right: 10px;
	vertical-align: -0.1cap;
}

/*==================================================
追加
===================================*/

.mv {
	background-image: url(../images/mv.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	margin-top: 80px;
	padding: 30px 0 0px 0;
	position: relative;
	height: 765px;
}
.mv .mv__media {
	position: absolute;
	right: 0;
	bottom: 0;
	width: calc(1298px / 2);
}
.mv .mv__media img {
	vertical-align: bottom;
}
.mv .mv__txt {
	padding-left: 3vw;
}
.mv .mv__header {
	display: flex;
	align-items: center;
}
.mv .mv__badge {
	width: 223px;
}
.mv .mv__logo {
	width: 482px;
}
.mv .mv__body-wrap {
	display: inline-block;
}
.mv .mv__title {
	font-size: 24px;
	color: #d94473;
	text-align: center;
	font-weight: bold;
	margin-bottom: 5px;
}
.mv .mv__body {
	font-size: 17px;
	font-weight: bold;
	margin-bottom: 20px;
	text-align: center;
	font-weight: bold;
}
.mv .mv__body strong {
	color: #d94473;
	font-size: 26px;
}
.mv .mv__feature-list {
	display: flex;
	gap: 20px;
	position: relative;
}
.mv .mv__feature-list li {
	width: 191px;
	height: 160px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;

	background: #fff;
	border-radius: 13px;
	text-align: center;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	font-size: 16px;
	font-weight: bold;
	line-height: 1.24;
}
.mv .mv__feature-list li .icon {
	height: 75px;
	width: 75px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 10px;
}
.mv .mv__feature-list li .icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.mv .mv__feature-list li strong {
	font-size: 19px;
	color: #d94473;
}
.mv .mv__cta {
	padding-top: 75px;
}
.mv .mv__cta ul {
	display: flex;
	flex-direction: column;
	gap: 25px;
}
.mv .mv__cta ul li {
	position: relative;
}
.mv .mv__cta ul li .fukidashi {
	position: absolute;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	width: 100%;
	top: -44px;
}
.mv .mv__cta ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 5px;
	gap: 10px;
	font-weight: bold;
	box-shadow: 0 5px 3px rgba(0, 0, 0, 0.16);
}
.mv .mv__cta__shiryo a {
	background: #d94473;
	color: #fff;
	height: 110px;
	font-size: 30px;
}
.mv .mv__cta__shiryo a .icon {
	display: flex;
	justify-content: center;
	align-items: center;
}
.mv .mv__cta__shiryo a .icon img {
	width: 23px;
}
.mv .mv__cta__shiryo a .label span {
	color: #fffca2;
}
.mv .mv__cta__contact a {
	background: #fff;
	color: #15447d;
	width: 227px;
	height: 54px;
	font-size: 16px;
	border: 1px solid #15447d;
	position: relative;
}
.mv .mv__cta__contact a .arrow {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translate(0, -50%);
}

/*==================================================
こんなお悩みありませんか？
===================================*/

.onayami {
	background: #eaf3fc;
	position: relative;
	padding: 65px 0 0;
}
.onayami:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	bottom: -9.1vw;
	width: 100%;
	height: auto;
	aspect-ratio: 1500/140;
	background: url(../images/onayami-bg.png) no-repeat center / contain;
}
.onayami__title {
	text-align: center;
	font-size: 36px;
	color: #15447d;
	font-weight: bold;
	margin-bottom: 40px;
}
.onayami__list {
	display: flex;
	gap: 30px;
	position: relative;
	z-index: 1;
}
.onayami__item {
	flex: 1;
	background: #fff;
	border-radius: 13px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	font-size: 16px;
	font-weight: bold;
	line-height: 1.24;
	padding: 20px 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #15447d;
	gap: 10px;
}

/*==================================================
リード
===================================*/

.lead {
	background-color: #15447d;
	padding: 12vw 0 60px;
	color: white;
	text-align: center;
	font-size: clamp(16px, 1vw, 20px);
	font-weight: 500;
}
.lead h2 {
	font-weight: 700;
	font-size: clamp(20px, 2vw, 30px);
	letter-spacing: 1px;
	margin-bottom: 30px;
}
.lead .big {
	font-size: 200%;
	font-weight: 600;
}
.lead .pink-box {
	background-color: #d94473;
	padding: 3px 10px;
	display: inline-block;
	margin-bottom: 15px;
	font-weight: 600;
	font-size: clamp(20px, 2vw, 30px);
}
.lead .link {
	font-size: 16px;
	font-weight: 400;
}
.lead .link a {
	text-decoration: underline;
}

/*==================================================
トラガールでできること
===================================*/

.cando {
	padding: clamp(60px, 5vw, 100px) 0;
	text-align: center;
	background-color: #f5f5f5;
}
.cando__list {
	display: flex;
	gap: 30px;
	position: relative;
	z-index: 1;
}
.cando__item {
	flex: 1;
	background: #fff;
	border-radius: 13px;
	text-align: center;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
	font-size: 18px;
	font-weight: bold;
	line-height: 1.24;
	font-weight: bold;
	position: relative;
}
.cando__item .badge {
	position: absolute;
	background: #fff;
	color: #d94473;
	border: 2px solid #d94473;
	text-align: center;
	border-radius: 100vh;
	left: 50%;
	top: -17px;
	transform: translate(-50%, 0);
	width: 131px;
	height: 34px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.cando__item .header {
	font-size: 23px;
	background: #d94473;
	color: #fff;
	border-radius: 13px 13px 0 0;
	padding: 29px 10px 16px;
	line-height: 1.4;
}
.cando__item .cont {
	font-size: 18px;
	line-height: 1.72;
	padding: 15px 10px;
}
.cando__item:nth-child(2n) .badge {
	color: #3799ff;
	border-color: #3799ff;
}
.cando__item:nth-child(2n) .header {
	background: #3799ff;
}

/*==================================================
選ばれる理由
===================================*/

.reason {
	padding: clamp(60px, 5vw, 100px) 0;
	text-align: center;
	background-color: #f5f5f5;
}
.reason .area {
	max-width: 1088px;
	width: 90%;
	margin: 0 auto 70px auto;
}
.reason .area .box {
	width: 30.5%;
	background-color: white;
	border-radius: 10px;
	padding: 0px clamp(30px, 1vw, 40px) 70px clamp(30px, 1vw, 40px);
	font-weight: 500;
	position: relative;
	margin-bottom: 50px;
}
.reason .area a {
	display: block;
}
.reason .area .box .number {
	font-family: "Outfit", sans-serif;
	font-weight: 800;
	font-size: 60px;
	line-height: 0.9;
	margin-bottom: 20px;
}
.reason .area .box .small {
	font-size: 14px;
	line-height: 0;
}
.triangle-blue {
	position: absolute;
	bottom: 25px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 20px solid #15447d;
}
.triangle-pink {
	position: absolute;
	bottom: 25px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 15px solid transparent;
	border-right: 15px solid transparent;
	border-top: 20px solid #d94473;
}
.reason .blue-box {
	border: 5px solid #15447d;
	border-radius: 10px;
	padding: 140px clamp(25px, 4vw, 80px) clamp(25px, 4vw, 80px) clamp(25px, 4vw, 80px);
	background-color: white;
	max-width: 1088px;
	width: 90%;
	margin: 0 auto clamp(70px, 10vw, 100px) auto;
	position: relative;
	font-weight: 500;
}
.reason .pink-box {
	border: 5px solid #d94473;
	border-radius: 10px;
	padding: 140px clamp(25px, 4vw, 80px) clamp(25px, 4vw, 80px) clamp(25px, 4vw, 80px);
	background-color: white;
	max-width: 1088px;
	width: 90%;
	margin: 0 auto clamp(70px, 10vw, 100px) auto;
	position: relative;
	font-weight: 500;
}
.reason .pink-box:last-of-type {
	margin-bottom: clamp(40px, 2vw, 60px);
}
.reason .number-img {
	position: relative;
	margin-top: -200px;
}
.reason .number-img img {
	max-width: 240px;
	width: 60%;
}
.reason h4 {
	font-size: clamp(20px, 4vw, 34px);
	font-weight: 700;
	padding-bottom: 10px;
	margin-bottom: clamp(30px, 2vw, 50px);
	margin-top: clamp(20px, 1vw, 30px);
}
.reason h4.blue {
	border-bottom: 4px dotted #15447d;
}
.reason h4.pink {
	border-bottom: 4px dotted #d94473;
}
.reason h5 {
	font-size: clamp(18px, 3vw, 27px);
	font-weight: 700;
}
.reason .rei-box01 {
	width: 48%;
	background-color: #eaf3fc;
	padding: clamp(50px, 3vw, 70px) clamp(30px, 3vw, 40px) clamp(30px, 3vw, 40px) clamp(30px, 3vw, 40px);
	border-radius: 10px;
	position: relative;
	font-size: clamp(15px, 1vw, 18px);
	text-align: left;
}
.reason .baloon {
	position: relative;
	display: inline-block;
	margin-bottom: 20px;
	padding: 8px 30px;
	border-radius: 9999px;
	background-color: #3799ff;
	text-align: center;
	font-size: clamp(18px, 1vw, 24px);
	font-weight: 700;
	line-height: 1.5;
	color: #ffffff;
	width: 270px;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
}
.reason .baloon::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 15px 10px 0 10px;
	border-color: #3799ff transparent transparent;
	translate: -50% 100%;
}
.reason .rei-box01 p.blue02 {
	font-size: clamp(20px, 2vw, 22px);
	text-align: center;
	font-weight: 600;
	margin-bottom: 10px;
}
.reason .rei-box02 {
	width: 48%;
	background-color: #fbf1f4;
	padding: clamp(50px, 3vw, 70px) clamp(30px, 3vw, 40px) clamp(30px, 3vw, 40px) clamp(30px, 3vw, 40px);
	border-radius: 10px;
	position: relative;
	font-size: clamp(15px, 1vw, 18px);
	text-align: left;
}
.reason .baloon02 {
	position: relative;
	display: inline-block;
	margin-bottom: 20px;
	padding: 8px 30px;
	border-radius: 9999px;
	background-color: #d94473;
	text-align: center;
	font-size: clamp(18px, 1vw, 24px);
	font-weight: 700;
	line-height: 1.5;
	color: #ffffff;
	width: 270px;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
}
.reason .baloon02::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	border-style: solid;
	border-width: 15px 10px 0 10px;
	border-color: #d94473 transparent transparent;
	translate: -50% 100%;
}
.reason .rei-box02 p.pink {
	font-size: clamp(20px, 2vw, 22px);
	text-align: center;
	font-weight: 600;
	margin-bottom: 10px;
}

.reason .big {
	font-size: 120%;
	font-weight: 700;
}
.reason .r02 .flex p {
	background-color: #eaf3fc;
	color: #3799ff;
	font-weight: 700;
	padding: 10px 20px;
	border-radius: 5px;
	margin-right: 20px;
	filter: drop-shadow(3px 3px 5px rgba(0, 0, 0, 0.2));
}
.reason .r04 {
	font-size: clamp(18px, 1vw, 27px);
}
.reason .r04 .free {
	font-weight: 600;
	margin-bottom: 20px;
}
.reason .r04 .r04img img {
	max-width: 810px;
	width: 80%;
}
.reason .r04 .small {
	font-size: 16px;
	margin-top: 10px;
}
.reason .r05 .left {
	width: 55%;
}
.reason .r05 .right {
	width: 40%;
	text-align: left;
}
.reason .r06 .left {
	width: 40%;
	text-align: left;
}
.reason .r06 .right {
	width: 55%;
}
.reason .r06 .indeed img {
	max-width: 120px;
	margin-top: 20px;
}

/*==================================================
コンタクト
===================================*/

.contact {
	padding: 100px 0;
	text-align: center;
	background-color: #15447d;
	color: white;
}
.contact .w1180 {
	position: relative;
}
.contact h2 p {
	font-weight: 700;
	font-size: clamp(20px, 2vw, 34px);
	margin: 0 clamp(20px, 2vw, 30px);
}
.contact h2 span img {
	height: clamp(60px, 2vw, 80px);
}
.contact .btn {
	color: white;
	padding: 20px;
	margin-right: 30px;
	width: 540px;
	text-align: center;
	border-radius: 5px;
	font-weight: 600;
	font-size: clamp(20px, 2vw, 26px);
	display: block;
}
.contact .btn02 {
	color: white;
	border: 1px solid white;
	padding: 20px;
	margin-right: 30px;
	width: 400px;
	text-align: center;
	border-radius: 5px;
	font-weight: 600;
	font-size: clamp(20px, 2vw, 26px);
	display: block;
}
.btn03 {
	color: white;
	padding: 20px;
	max-width: 600px;
	margin: 0 auto 30px auto;
	text-align: center;
	border-radius: 5px;
	font-weight: 600;
	font-size: clamp(20px, 2vw, 26px);
	display: block;
}
.contact .sodan {
	font-size: clamp(16px, 1vw, 20px);
	text-decoration: underline;
}
.contact .sodan:hover {
	text-decoration: none;
}
.contact .btn:last-of-type {
	margin-right: 0;
}
.contact span .icon-mail {
	width: 26px;
	margin-right: 10px;
}
.contact span .icon-shiryo {
	height: 25px;
	margin-right: 10px;
	vertical-align: -0.1cap;
}
.contact .tel .box {
	background-color: white;
	border-radius: 50px;
	color: #15447d;
	font-weight: 700;
	display: inline-block;
	padding: 5px 30px;
	font-size: clamp(18px, 2vw, 23px);
}
.contact .tel a {
	font-size: clamp(32px, 4vw, 55px);
	font-weight: 700;
	letter-spacing: 2px;
}
.contact .icon {
	position: absolute;
	max-width: clamp(180px, 20vw, 220px);
	top: -180px;
	right: -40px;
}

/*==================================================
掲載までの流れ
===================================*/

.flow {
	padding: clamp(60px, 5vw, 100px) 0;
	text-align: center;
	background-color: #f5f5f5;
}
.flow .box {
	border: 2px solid #15447d;
	border-radius: 100px;
	padding: 30px 30px 30px 70px;
	max-width: 1088px;
	width: 90%;
	margin: 0 auto 40px auto;
	font-size: 16px;
	background-color: white;
}
.flow .box .outfit {
	color: #15447d;
	font-weight: 700;
	font-size: clamp(20px, 4vw, 55px);
	padding-right: 30px;
	border-right: 1px solid #15447d;
	margin-right: 30px;
	line-height: 1.2;
	width: 100px;
}
.flow .box div {
	text-align: left;
}
.flow .box h4 {
	font-size: clamp(20px, 2vw, 27px);
	color: #15447d;
	font-weight: 600;
	margin-bottom: 5px;
}
.flow .catch {
	font-weight: 700;
	font-size: clamp(20px, 3vw, 35px);
	color: #15447d;
	margin-top: 70px;
}

/*==================================================
トラメディア
===================================*/

.media {
	padding: clamp(60px, 5vw, 100px) 0 120px 0;
	text-align: center;
}

.media .title {
	margin-bottom: 30px;
}

.media__lead-1 {
	color: #d94473;
	font-size: 26px;
	font-weight: bold;
	margin-bottom: 10px;
}
.media__lead-2 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 60px;
}

.media .box {
	width: 31.5%;
	background-color: white;
	filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.1));
	padding: 20px;
	border-radius: 10px;
	text-align: left;
	font-size: clamp(15px, 1vw, 17px);
	font-weight: 600;
}
.media .flex a {
	display: block;
}
.media .box .icon {
	border-radius: 50px;
	border: 1px solid #3799ff;
	color: #3799ff;
	font-size: 12px;
	display: inline-block;
	padding: 5px 20px;
	margin-bottom: 10px;
}
.media .btn {
	border: 1px solid #15447d;
	padding: 20px;
	display: block;
	max-width: 470px;
	width: 80%;
	margin: 0 auto;
	border-radius: 5px;
	color: #15447d;
	font-weight: 600;
	font-size: clamp(20px, 2vw, 26px);
}
.media .btn span img {
	width: 20px;
	margin-left: 10px;
}

/*==================================================
フッター
===================================*/

footer {
	padding: 100px 0 20px 0;
	text-align: center;
	background-color: #d94473;
	color: white;
}
footer img {
	max-width: 180px;
}
footer .copy {
	font-size: 11px;
}
footer nav {
	margin-bottom: 100px;
}
footer nav ul li {
	padding-right: clamp(15px, 1vw, 20px);
	margin-right: clamp(15px, 1vw, 20px);
	border-right: 1px solid white;
	font-weight: 500;
	font-size: 15px;
}
footer nav ul li:last-of-type {
	padding-right: 0;
	margin-right: 0;
	border-right: none;
}
footer nav ul li a:hover {
	text-decoration: underline;
}

.floating-banner {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 10;
	width: 220px;
}
.floating-banner a {
	background: #d94473;
	border: 2px solid #fff;
	color: #fff;
	width: 220px;
	height: 205px;
	text-align: center;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
}
.floating-banner a:hover {
	opacity: 0.5;
	transition: all 0.4s;
}
.floating-banner__fukidashi {
	font-size: 15px;
	line-height: 1.4;
	display: inline-block;
	position: relative;
	margin-bottom: 10px;
}
.floating-banner__fukidashi:before {
	content: "";
	display: block;
	width: 1px;
	height: 38px;
	background-color: #fff;
	position: absolute;
	left: -13px;
	top: 3px;
	transform: rotate(-12deg);
}
.floating-banner__fukidashi:after {
	content: "";
	display: block;
	width: 1px;
	height: 38px;
	background-color: #fff;
	position: absolute;
	right: -13px;
	top: 3px;
	transform: rotate(12deg);
}
.floating-banner__title {
	font-size: 26px;
	line-height: 1.3;
	position: relative;
	margin-bottom: 10px;
}
.floating-banner__title .icon {
	width: 20px;
	position: absolute;
	left: 37px;
	top: 5px;
}
.floating-banner__title .yellow {
	color: #fffca2;
}

.floating-banner__btn {
	font-size: 15px;
	background: #15447d;
	position: relative;
	width: 183px;
	margin: 0 auto;
	border-radius: 5px;
	padding: 6px 0;
	padding-right: 10px;
}
.floating-banner__btn .arrow {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translate(0, -50%);
	width: 6px;
}
.floating-banner__btn .arrow img {
	width: 100%;
	height: auto;
}

.floating-banner img {
	display: block;
	width: 100%;
	height: auto;
}

.banner-close {
	position: absolute;
	top: -10px;
	right: -10px;
	width: 30px;
	height: 30px;
	border: none;
	border-radius: 50%;
	background: #fff;
	border: 2px solid #d94473;
	color: #d94473;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	font-size: 16px;
	line-height: 1;
}

/*==================================================
お問い合わせ
===================================*/

.contact-sect {
	background-color: #f5f5f5;
	padding: 200px 20px 100px;
}
.contact-sect-inner {
	background: #fff;
	border-radius: 10px;
	padding: 60px 0;
}
.contact-sect__form {
	max-width: 600px;
	margin: 0 auto;
}

.contact-sect form {
	line-height: 1.8;
}
.contact-sect form table {
	width: 100%;
	display: block;
	margin-bottom: 0;
}
.contact-sect form table tbody,
.contact-sect form table thead,
.contact-sect form table tr,
.contact-sect form table th,
.contact-sect form table td {
	display: block;
	width: 100%;
}
.contact-sect form table th,
.contact-sect form table td {
	text-align: left;
}
.contact-sect form table th {
	font-weight: normal;
	position: relative;
	padding-bottom: 17px;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.contact-sect form table th {
		padding-bottom: 15px;
		padding-left: 0;
	}
}
.contact-sect form table th .required,
.contact-sect form table th .option {
	color: #fff;
	background: #d94473;
	font-size: 13px;
	padding: 0 0 1px;
	margin-right: 10px;
	border-radius: 100vh;
	width: 60px;
	display: inline-block;
	text-align: center;
	position: relative;
	top: -1px;
}
@media screen and (max-width: 767px) {
	.contact-sect form table th .required,
	.contact-sect form table th .option {
		position: static;
	}
}
.contact-sect form table th .option {
	background: #919191;
}
.contact-sect form table td {
	padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
	.contact-sect form table td {
		padding-bottom: 30px;
	}
}
.contact-sect form table td input[type="text"],
.contact-sect form table td input[type="email"],
.contact-sect form table td input[type="tel"],
.contact-sect form table td textarea,
.contact-sect form table td select {
	background-color: #fff;
	border: 1px solid #646464;
	width: 100%;
	padding: 14px;
}
.contact-sect form table td input[type="checkbox"] {
	position: relative;
	top: 2px;
	margin-right: 5px;
	background-color: #fff;
	border: 1px solid #646464;
	width: 18px;
	height: 18px;
	appearance: checkbox;
	-webkit-appearance: checkbox;
}
.contact-sect form table td input[type="file"] {
	color: #d94473;
}
.contact-sect form .checkbox-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 7px 24px;
}
.contact-sect form .checkbox-wrap .horizontal-item + .horizontal-item {
	margin-left: 0px;
}

.contact-sect form table td input.hasDatepicker {
	width: auto;
	max-width: 100%;
	background-color: #fff;
	background-image: url(../images/form/calendar.svg);
	background-repeat: no-repeat;
	background-position: right 15px center;
	background-size: 13px auto;
}
.contact-sect form table td ::-webkit-input-placeholder {
	color: #ccc;
}
.contact-sect form table td :-ms-input-placeholder {
	color: #ccc !important;
}
.contact-sect form table td ::-moz-placeholder {
	color: #ccc;
	opacity: 1;
}
.contact-sect form table td ::placeholder {
	color: #ccc;
	opacity: 1;
}
.contact-sect form table td input[type="radio"] {
	display: none;
}
.contact-sect form table td input[type="radio"] + .mwform-radio-field-text {
	position: relative;
	padding-left: 34px;
}
.contact-sect form table td input[type="radio"] + .mwform-radio-field-text::before {
	position: absolute;
	content: "";
	display: block;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #d94473;
	left: 0;
	top: 0;
}
.contact-sect form table td input[type="radio"] + .mwform-radio-field-text::after {
	position: absolute;
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #000;
	left: 6px;
	top: 6px;
	opacity: 0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
.contact-sect form table td input[type="radio"]:checked + .mwform-radio-field-text::after {
	opacity: 1;
}
.contact-sect form table td textarea {
	height: 250px;
}
.contact-sect form table td .zip-wrap,
.contact-sect form table td .zip-btn {
	width: calc(50% - 10px);
	border-radius: 0;
}
@media screen and (max-width: 767px) {
	.contact-sect form table td .zip-wrap,
	.contact-sect form table td .zip-btn {
		width: calc(50% - 4px);
	}
}
@media screen and (max-width: 767px) {
	.contact-sect form table td .zip-wrap {
		width: 40%;
	}
}
.contact-sect form table td .zip-btn {
	background: #d94473;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 5px;
	transition: all 0.3s ease 0s;
}
@media screen and (max-width: 767px) {
	.contact-sect form table td .zip-btn {
		font-size: 12px;
		width: calc(60% - 10px);
	}
}
@media screen and (max-width: 767px) {
	.contact-sect form table td .zip-btn input {
		width: 100%;
	}
}
.contact-sect form table td .zip-btn:hover {
	opacity: 0.5;
}
.contact-sect form table td .upload_file-wrap {
	width: 100%;
	padding: 15px;
	background: #fff;
	border: 1px solid #646464;
}
.contact-sect form table td .upload_file__note {
	padding-top: 10px;
	font-size: 14px;
}
.contact-sect form table td .td-ttl {
	font-weight: 700;
	padding: 0 0 5px;
}
.contact-sect form table td .flex-birth + .td-ttl {
	padding-top: 20px;
}
.contact-sect form table td .flex-birth {
	display: flex;
	gap: 20px;
}
.contact-sect form table td .flex-birth .birth-year-wrap,
.contact-sect form table td .flex-birth .birth-month-wrap,
.contact-sect form table td .flex-birth .birth-day-wrap {
	display: flex;
	align-items: flex-end;
	position: relative;
}
.contact-sect form table td .flex-birth .birth-year-wrap.slash:after,
.contact-sect form table td .flex-birth .birth-month-wrap.slash:after,
.contact-sect form table td .flex-birth .birth-day-wrap.slash:after {
	content: "";
	display: block;
	height: 80%;
	width: 1px;
	background: #999;
	position: absolute;
	right: 0px;
	top: 50%;
	transform: translate(0, -50%) rotate(30deg);
}
.contact-sect form table td .flex-birth .birth-year-wrap .input-wrap,
.contact-sect form table td .flex-birth .birth-month-wrap .input-wrap,
.contact-sect form table td .flex-birth .birth-day-wrap .input-wrap {
	width: 100%;
}
.contact-sect form table td .flex-birth .birth-year-wrap select,
.contact-sect form table td .flex-birth .birth-month-wrap select,
.contact-sect form table td .flex-birth .birth-day-wrap select {
	background-position: right 5px center;
	width: calc(100% - 22px);
}
.contact-sect form table td .flex-birth .birth-year-wrap {
	width: 13.32357vw;
}
@media screen and (max-width: 767px) {
	.contact-sect form table td .flex-birth .birth-year-wrap {
		width: 46.66667vw;
	}
}
.contact-sect form table td .flex-birth .birth-month-wrap,
.contact-sect form table td .flex-birth .birth-day-wrap {
	width: 7.9063vw;
}
@media screen and (max-width: 767px) {
	.contact-sect form table td .flex-birth .birth-month-wrap,
	.contact-sect form table td .flex-birth .birth-day-wrap {
		width: 27.69231vw;
	}
}
.contact-sect form table td .char-remaining {
	padding-top: 10px;
	text-align: right;
}
.contact-sect form table tr.radio-tr th {
	border-bottom: 1px solid #d94473;
}
.contact-sect form table tr.radio-tr td {
	padding-top: 10px;
	padding-bottom: 25px;
}
.contact-sect form table tr.gender-tr td .mwform-radio-field {
	display: inline-block;
	margin: 0 15px 0 0;
}
@media screen and (max-width: 767px) {
	.contact-sect form table tr.gender-tr td .mwform-radio-field {
		margin-right: 5px;
	}
}
.contact-sect form table tr.gender-tr td label {
	border-radius: 5px;
	display: block;
	overflow: hidden;
}
.contact-sect form table tr.gender-tr td label input[type="radio"] {
	display: none;
}
.contact-sect form table tr.gender-tr td label input[type="radio"] + .mwform-radio-field-text {
	position: relative;
	padding-left: 0;
	padding: 14px 20px;
	display: block;
	background: #f2f2f2;
	color: #d94473;
	z-index: 1;
}
@media screen and (max-width: 767px) {
	.contact-sect form table tr.gender-tr td label input[type="radio"] + .mwform-radio-field-text {
		padding: 14px 4vw;
	}
}
.contact-sect form table tr.gender-tr td label input[type="radio"] + .mwform-radio-field-text::before {
	display: none;
}
.contact-sect form table tr.gender-tr td label input[type="radio"] + .mwform-radio-field-text::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 0;
	background: #d94473;
	left: 0;
	top: 0;
	opacity: 0;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	z-index: -1;
}
.contact-sect form table tr.gender-tr td label input[type="radio"]:checked + .mwform-radio-field-text {
	color: #fff;
}
.contact-sect form table tr.gender-tr td label input[type="radio"]:checked + .mwform-radio-field-text::after {
	opacity: 1;
}
.contact-sect form table tr.c2 td {
	display: flex;
	justify-content: space-between;
}
.contact-sect form table tr.c2 td .input-wrap {
	width: calc(50% - 10px);
}
.contact-sect form .input-wrap {
	position: relative;
}
.contact-sect form .input-wrap .error {
	white-space: nowrap;
}
.contact-sect form .agree {
	margin: 30px 0;
	display: flex;
	justify-content: center;
	text-align: center;
	font-size: 18px;
}
@media screen and (max-width: 767px) {
	.contact-sect form .agree {
		margin: 0;
	}
}
.contact-sect form .agree .input-wrap .error {
	position: absolute;
	left: 0;
	bottom: -30px;
}
.contact-sect form .agree a {
	font-weight: bold;
	border-bottom: 1px solid #d94473;
	padding-bottom: 5px;
	color: #d94473;
}
.contact-sect form .agree a:hover {
	border-bottom: none;
}
.contact-sect form .agree .agree-check {
	margin: 0 8px 0px 0;
	position: relative;
	top: 2px;
	background-color: #fff;
	border: 1px solid #646464;
	width: 18px;
	height: 18px;
	appearance: checkbox;
	-webkit-appearance: checkbox;
}
.contact-sect form .agree .agree-check + .mwform-checkbox-field-text {
	display: none;
}
.contact-sect form .button-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 60px 0 40px;
	gap: 32px;
}
.contact-sect form .submit,
.contact-sect form .back {
	display: flex;
	justify-content: center;
}
.contact-sect form .submit .input-btn,
.contact-sect form .back .input-btn {
	background-color: #d94473;
	background-image: url(../images/arrow-right-white.svg);
	background-repeat: no-repeat;
	background-position: right 20px center;
	background-size: 12px auto;
	color: #fff;
	position: relative;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 430px;
	height: 76px;
	transition: all 0.3s ease 0s;
	font-size: 20px;
	border-radius: 5px;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.contact-sect form .submit .input-btn,
	.contact-sect form .back .input-btn {
		width: 100%;
		height: 65px;
		font-size: 3.84615vw;
	}
}
.contact-sect form .submit .input-btn.back,
.contact-sect form .back .input-btn.back {
	border: 1px solid #d94473;
	background: #fff;
	color: #d94473;
	position: relative;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 430px;
	height: 76px;
	transition: all 0.3s ease 0s;
	font-size: 20px;
	border-radius: 5px;
	font-weight: bold;
}
.contact-sect form .submit .input-btn.back:hover,
.contact-sect form .back .input-btn.back:hover {
	opacity: 0.5;
}
.contact-sect form .submit .input-btn:hover,
.contact-sect form .back .input-btn:hover {
	opacity: 0.5;
}
.contact-sect form .error {
	font-size: 12px;
	line-height: 1.4;
	margin-top: 5px;
}

.contact-sect.confirm .contact-sect-inner {
	max-width: 720px;
	margin: 0 auto;
}
.contact-sect.confirm form table {
	border-top: 1px solid #d8d8d8;
}
.contact-sect.confirm form table tr {
	border-bottom: 1px solid #d8d8d8;
	display: flex;
	padding: 30px 0;
}
@media screen and (max-width: 767px) {
	.contact-sect.confirm form table tr {
		flex-direction: column;
		padding: 20px 0;
	}
}
.contact-sect.confirm form table tr.confirmnone {
	display: none;
}
.contact-sect.confirm form table th,
.contact-sect.confirm form table td {
	padding: 0;
}
.contact-sect.confirm form table th {
	width: 237px;
}
@media screen and (max-width: 767px) {
	.contact-sect.confirm form table th {
		width: 100%;
	}
}
.contact-sect.confirm form table th .required,
.contact-sect.confirm form table th .option,
.contact-sect.confirm form table th .note {
	display: none;
}
.contact-sect.confirm form table td {
	width: calc(100% - 237px);
}
@media screen and (max-width: 767px) {
	.contact-sect.confirm form table td {
		width: 100%;
	}
}
.contact-sect.confirm form table td .zip-btn {
	display: none;
}
.contact-sect.confirm form table td .upload_file-wrap {
	width: 100%;
	padding: 0;
	border: none;
	background: none;
}
.contact-sect.confirm form table td .upload_file__note {
	display: none;
}
.contact-sect.confirm form table td .flex-birth .birth-year-wrap,
.contact-sect.confirm form table td .flex-birth .birth-month-wrap {
	width: auto;
}
.contact-sect.confirm form table td .flex-birth .birth-year-wrap:after,
.contact-sect.confirm form table td .flex-birth .birth-month-wrap:after {
	height: 15px;
	right: -9px;
	background: #d94473;
}
.contact-sect.confirm form table tr.c2 td {
	justify-content: flex-start;
}
.contact-sect.confirm form table tr.c2 td .input-wrap {
	width: auto;
}
.contact-sect.confirm form .agree {
	display: none;
}

.mw_wp_form .error {
	color: #db0000 !important;
}

/*==================================================
サンクス
===================================*/

.thanks-sect {
	background-color: #f5f5f5;
	padding: 200px 20px 100px;
}

/*==================================================
レスポンシブ
===================================*/

@media screen and (max-width: 768px) {
	.floating-banner {
		transform: scale(0.8);
		transform-origin: right bottom;
	}
}

@media screen and (max-width: 1100px) {
	.sp,
	.sp03,
	.pc02 {
		display: block;
	}
	.pc {
		display: none;
	}

	.flex02 {
		display: block;
	}
	.reason .r06 .left,
	.reason .r06 .right,
	.reason .r05 .left,
	.reason .r05 .right {
		width: 100%;
	}

	.reason .r06 .indeed {
		text-align: center;
	}
	.reason .r06 .indeed img {
		max-width: 30%;
		margin: 20px auto 0 auto;
	}

	.sp header {
		height: 80px;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 999;
	}
	.sp header .box {
		padding: 10px 20px 5px 20px;
		background-color: white;
		box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.2);
		margin-top: -1px;
	}
	.sp header p {
		background-color: #d94473;
		color: white;
		text-align: center;
		font-size: clamp(12px, 1vw, 16px);
		padding: 5px 0;
	}

	.sp header h1 img {
		width: 180px;
	}

	.reason .r05 .left img {
		margin-bottom: 30px;
		max-width: 500px;
		width: 100%;
	}
	.reason .r06 .right img {
		margin-top: 30px;
	}

	/*==================================================
ハンバーガーメニュー
===================================*/

	#g-nav {
		position: fixed;
		z-index: 999;
		/*ナビのスタート位置と形状*/
		top: -120%;
		left: 0;
		width: 100%;
		height: 100vh; /*ナビの高さ*/
		background: #f5dfe6;
		/*動き*/
		transition: all 0.6s;
	}

	/*アクティブクラスがついたら位置を0に*/
	#g-nav.panelactive {
		top: 0;
	}

	/*ナビゲーションの縦スクロール*/
	#g-nav.panelactive #g-nav-list {
		/*ナビの数が増えた場合縦スクロール*/
		position: fixed;
		z-index: 999;
		width: 100%;
		height: 100vh; /*表示する高さ*/
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}

	/*ナビゲーション*/
	#g-nav ul {
		/*ナビゲーション天地中央揃え*/
		position: absolute;
		z-index: 999;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	/*リストのレイアウト設定*/

	#g-nav li {
		list-style: none;
		text-align: center;
	}

	#g-nav li a {
		color: #d94473;
		text-decoration: none;
		padding: 10px;
		display: block;
		text-transform: uppercase;
		letter-spacing: 0.1em;
		font-weight: bold;
	}

	/*========= ボタンのためのCSS ===============*/
	.openbtn {
		position: fixed;
		z-index: 9999; /*ボタンを最前面に*/
		top: 35px;
		right: 10px;
		cursor: pointer;
		width: 50px;
		height: 50px;
	}

	/*×に変化*/
	.openbtn span {
		display: inline-block;
		transition: all 0.4s;
		position: absolute;
		left: 14px;
		height: 3px;
		border-radius: 2px;
		background-color: #d94473;
		width: 45%;
	}

	.openbtn span:nth-of-type(1) {
		top: 15px;
	}

	.openbtn span:nth-of-type(2) {
		top: 23px;
	}

	.openbtn span:nth-of-type(3) {
		top: 31px;
	}

	.openbtn.active span:nth-of-type(1) {
		top: 18px;
		left: 18px;
		transform: translateY(6px) rotate(-45deg);
		width: 30%;
	}

	.openbtn.active span:nth-of-type(2) {
		opacity: 0;
	}

	.openbtn.active span:nth-of-type(3) {
		top: 30px;
		left: 18px;
		transform: translateY(-6px) rotate(45deg);
		width: 30%;
	}

	.main.sp {
		margin-bottom: -10px;
		padding-top: 280px;
		background-color: #f7e0e8;
	}
	.main.sp .main-img img {
		width: 100%;
	}

	.main.sp .txt {
		font-weight: 600;
		position: absolute;
		top: clamp(130px, 15vw, 150px);
		left: 50%;
		transform: translateX(-50%);
		text-align: center;
		width: 100%;
		font-size: clamp(20px, 3vw, 30px);
	}
	.main.sp .txt p {
		font-size: 23px;
	}
	.main.sp .txt h2 {
		font-size: clamp(40px, 8vw, 150px);
		font-weight: 800;
		color: #15447d;
		line-height: 1.3;
		margin-bottom: 20px;
	}
	.main.sp .txt h3 {
		background-color: #15447d;
		border-radius: 50px;
		color: white;
		display: inline-block;
		padding: 10px 50px;
		font-size: clamp(16px, 2vw, 30px);
		font-weight: 600;
		margin-bottom: 20px;
	}
	.main.sp .icon {
		z-index: 99;
		position: absolute;
		left: clamp(40px, 2vw, 50px);
		top: 50px;
	}
	.main.sp .icon img {
		width: clamp(110px, 8vw, 130px);
	}
	.main.sp .btn {
		color: white;
		padding: 20px clamp(10px, 1vw, 20px);
		margin-right: 20px;
		width: 48%;
		text-align: center;
		border-radius: 5px;
		font-weight: 600;
		display: block;
		font-size: clamp(18px, 1vw, 20px);
	}
	.main.sp .btn span .icon-mail {
		width: 22px;
		margin-right: 15px;
	}
	.main.sp .btn span .icon-shiryo {
		height: 20px;
		margin-right: 10px;
		vertical-align: -0.1cap;
	}
	.main.sp .flex {
		padding: 40px 80px 80px 80px;
	}
	footer nav ul li {
		padding-right: 0;
		margin-right: 0;
		margin-bottom: 20px;
		border-right: none;
	}
}

@media screen and (max-width: 768px) {
	.mb60 {
		margin-bottom: 40px !important;
	}
	.mb70 {
		margin-bottom: 40px !important;
	}
	.mb80 {
		margin-bottom: 50px !important;
	}
	.sp02 {
		display: block;
	}
	.pc02,
	.sp .sp,
	.sp03,
	.pc03 {
		display: none;
	}

	.flex {
		display: block;
	}

	.c-title {
		margin-bottom: 40px;
	}
	.c-title__title {
		font-size: 24px;
		margin-bottom: 10px;
	}
	.c-title__lead {
		font-size: 15px;
	}
	.c-title__lead p {
		margin-bottom: 1.2em;
	}

	.c-btn {
	}
	.c-btn a {
		width: 100%;
		height: 60px;
		font-size: 18px;
	}
	.c-btn a .arrow {
		right: 10px;
	}

	.mv {
		background-color: #f7e0e8;
		background-image: url(../images/mv-sp.jpg);
		background-repeat: no-repeat;
		background-size: 100% auto;
		background-position: center top;
		height: auto;
		padding: 5px 25px 50px;
		display: flex;
		flex-direction: column;
		margin-top: 90px;
	}
	.mv .mv__txt {
		display: contents;
	}
	.mv .mv__media {
		position: static;
		order: 2;
		width: 100%;
	}
	.mv .mv__media img {
		width: calc(363 / 375 * 100vw);
	}
	.mv .mv__txt {
	}
	.mv .mv__header {
		order: 1;
	}
	.mv .mv__badge {
		display: none;
	}
	.mv .mv__logo {
		width: 90%;
		margin: 20px auto 66vw;
	}
	.mv .mv__body-wrap {
		display: contents;
	}
	.mv .mv__body-wrap-2 {
		order: 3;
		padding-top: 20px;
	}
	.mv .mv__title {
		font-size: 19px;
	}
	.mv .mv__body {
		font-size: 13px;
		text-align: center;
	}
	.mv .mv__body strong {
		font-size: 22px;
	}
	.mv .mv__feature-list {
		flex-direction: column;
		order: 4;
	}
	.mv .mv__feature-list li {
		width: 100%;
		height: 102px;
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		text-align: left;
		gap: 15px;
		padding: 0;
	}
	.mv .mv__feature-list li .icon {
		height: auto;
		margin: 0;
		width: 70px;
		height: 70px;
	}
	.mv .mv__feature-list li .text {
		flex: 0 0 60%;
		font-size: 18px;
	}
	.mv .mv__feature-list li strong {
		font-size: 21px;
	}
	.mv .mv__cta {
		order: 5;
		padding-top: 64px;
	}
	.mv .mv__cta ul {
		flex-direction: column;
	}
	.mv .mv__cta ul li {
		position: relative;
		width: 100%;
		display: flex;
		justify-content: center;
	}
	.mv .mv__cta ul li .fukidashi {
		font-size: 16px;
		top: -34px;
	}
	.mv .mv__cta ul li a {
	}
	.mv .mv__cta__shiryo a {
		width: 100%;
		height: 75px;
		font-size: 22px;
	}
	.mv .mv__cta__shiryo a .icon {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.mv .mv__cta__shiryo a .icon img {
		width: 23px;
	}
	.mv .mv__cta__shiryo a .label span {
		color: #fffca2;
	}
	.mv .mv__cta__contact a {
		font-size: 16px;
	}
	.mv .mv__cta__contact a .arrow {
	}

	.main.sp {
		margin-bottom: -10px;
		padding-top: 120px;
		padding-bottom: 30px;
		background-color: #f7e0e8;
	}
	.main.sp .main-img img {
		width: 100%;
	}

	.main.sp .btn {
		padding: 20px 0 20px 0;
		margin: 10px auto 0 auto;
		width: 90%;
		text-align: center;
		font-size: clamp(18px, 1vw, 20px);
	}
	.main.sp .btn span .icon-mail {
		width: 22px;
		margin-right: 15px;
	}
	.main.sp .btn span .icon-shiryo {
		height: 20px;
		margin-right: 10px;
		vertical-align: -0.1cap;
	}
	.main.sp .flex {
		padding: 0 0 20px 0;
	}
	.main.sp .txt p {
		font-size: clamp(18px, 1vw, 20px);
	}

	.title span {
		display: block;
	}

	.onayami {
		padding: 40px 0;
	}
	.onayami__title {
		font-size: 30px;
		margin-bottom: 15px;
	}
	.onayami__list {
		flex-direction: column;
		gap: 20px;
	}
	.onayami__item {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		text-align: left;
		gap: 15px;
		height: 110px;
		padding: 0;
		flex: auto;
	}
	.onayami__item .text {
		flex: 0 0 60%;
	}

	.lead {
		padding-top: 20vw;
	}

	.cando .w1180 {
		width: 80%;
	}
	.cando__list {
		flex-direction: column;
		gap: 50px;
	}

	.reason .area .box {
		width: 100%;
	}
	.reason .r04 .r04img img {
		width: 100%;
	}
	.reason .rei-box01,
	.reason .rei-box02 {
		width: 100%;
	}
	.reason .rei-box01 {
		margin-bottom: 50px;
		margin-top: 60px;
	}
	.reason .r04img {
		max-width: 400px;
		margin: 0 auto;
		width: 80%;
	}

	.reason .r02 .flex p {
		padding: 10px 20px;
		border-radius: 5px;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.reason .number-img {
		margin-top: -180px;
	}
	.reason .area .box {
		width: 48%;
		padding: 0px 20px 60px 20px;
		margin-bottom: 20px;
	}
	.triangle-blue {
		position: absolute;
		bottom: 25px;
		left: 50%;
		transform: translateX(-50%);
		width: 0;
		height: 0;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 15px solid #15447d;
	}
	.triangle-pink {
		position: absolute;
		bottom: 25px;
		left: 50%;
		transform: translateX(-50%);
		width: 0;
		height: 0;
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 15px solid #d94473;
	}

	.reason .rei-box01 p.blue02,
	.reason .rei-box02 p.pink {
		font-size: 18px;
	}

	.contact {
		padding-top: 120px;
		padding-bottom: 80px;
	}
	.contact .icon {
		top: -180px;
		left: 50%;
		transform: translateX(-50%);
		max-width: 150px;
	}
	.contact .btn {
		margin: 0 auto 20px auto;
		width: 90%;
	}
	.contact .btn:last-of-type {
		margin-right: auto;
		margin-bottom: 0;
	}

	.flow .box {
		border-radius: 10px;
		padding: 20px;
		margin: 0 auto 20px auto;
		font-size: clamp(13px, 1vw, 16px);
	}
	.flow .box .outfit {
		color: #15447d;
		font-weight: 700;
		font-size: clamp(30px, 4vw, 55px);
		padding-right: 0;
		border-right: none;
		margin-right: 0;
		line-height: 1.2;
		width: auto;
	}
	.flow .box div {
		text-align: center;
	}
	.flow .box h4 {
		font-size: clamp(20px, 2vw, 27px);
		color: #15447d;
		font-weight: 600;
		margin-bottom: 5px;
	}
	.flow .catch {
		font-weight: 700;
		font-size: clamp(20px, 3vw, 35px);
		color: #15447d;
		margin-top: 70px;
	}

	.media .title {
		margin-bottom: 20px;
	}

	.media__lead-1 {
		font-size: calc(19 / 375 * 100vw);
		margin-bottom: 10px;
	}
	.media__lead-2 {
		font-size: calc(16 / 375 * 100vw);
		margin-bottom: 40px;
	}

	.media .box {
		width: 100%;
		margin-bottom: 30px;
	}

	.contact-sect {
		padding: 130px 0px 10px;
	}
	.contact-sect-inner {
		background: none;
		padding: 0;
	}
	.thanks-sect {
		padding: 150px 20px 60px;
	}
}

@media screen and (max-width: 400px) {
	body {
		font-size: 13px;
	}
	.main.sp .txt {
		font-size: 16px !important;
		position: absolute;
		top: 120px;
		left: 50%;
		transform: translateX(-50%);
		text-align: left;
		padding: 0 25px;
	}
	.main.sp .txt h2 {
		font-size: clamp(40px, 5vw, 80px);
		font-weight: 800;
		color: #15447d;
		line-height: 1.3;
		margin-bottom: 20px;
	}
	.main.sp .txt h3 {
		background-color: #15447d;
		border-radius: 50px;
		color: white;
		display: inline-block;
		padding: 5px 20px;
		font-size: 16px;
		font-weight: 600;
		margin-bottom: 10px;
	}

	.reason .area .box .number {
		font-size: 40px;
		line-height: 0.9;
		margin-bottom: 20px;
	}
	.reason .area .box .small {
		font-size: 12px;
		line-height: 0;
	}
	.reason .rei-box01 p,
	.reason .rei-box02 p {
		font-size: 15px;
	}
}
