@charset "utf-8";


html {
	font-size: 62.5%
}
body {
	font-size: 1.6rem;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Helvetica Neue", "Helvetica", "メイリオ", "Meiryo", "Arial", sans-serif;
	position: relative;
	background-color: #ffd8d5;
	line-height: 1.75
}
@media screen and (min-width:375px) and (max-width:640px) {
	html {
		font-size: 3.125vw
	}
	body {
		font-size: 1.6rem
	}
}
.allcontents__wrap {
	width: min(100%, 640px);
	margin: 0 auto;
	background-color: #fff;
	font-size: min(calc(26 / 640 * 100vw), 26px)
}
img {
	max-width: 100%;
	vertical-align: top
}
.basic_container {
	width: min(calc(560 / 640 * 100vw), 560px)
}
dt {
	font-weight: 400
}
.read {
	margin-inline: auto;
	margin-top: min(calc(30 / 640 * 100vw), 30px);
	margin-bottom: min(calc(40 / 640 * 100vw), 40px)
}
.text_mark {
	background: #fcff00
}
.text_red {
	color: #ff345a;
	font-weight: 500
}
.sup {
	width: min(calc(540 / 640 * 100vw), 540px);
	margin-inline: auto
}
.sup>h2 {
	font-size: min(calc(30 / 640 * 100vw), 30px);
	font-weight: 500;
	border: solid #d4d4d4 min(calc(2 / 640 * 100vw), 2px);
	text-align: center;
	padding: min(calc(6 / 640 * 100vw), 6px) 0;
	margin-top: min(calc(33 / 640 * 100vw), 33px)
}
.sup_container {
	margin-top: min(calc(23 / 640 * 100vw), 23px);
	display: flex;
	justify-content: space-between
}
.sup_item {
	width: (calc(50% - min)calc(14 / 640 * 100vw), 14px);
	font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP";
}
.sup_item:first-child {
	margin-right: min(calc(28 / 640 * 100vw), 28px)
}
.sup_item>h3 {
	font-weight: 600;
	margin-top: min(calc(25 / 640 * 100vw), 25px)
}
.sup_item>p {
	font-size: min(calc(22 / 640 * 100vw), 22px);
	margin-top: min(calc(2 / 640 * 100vw), 2px)
}
.main-visual {
	position: relative;
	width: 100%;
	margin-bottom: -11px
}
.background-video {
	z-index: -1
}
.overlay-content {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1
}
.overlay-content h1 {
	color: #fff;
	font-size: 40px;
	font-weight: 700
}
.overlay-content p {
	margin-top: 65px;
	font-size: small;
	color: #fff;
	padding: 10px;
	border-radius: 5px
}
.cta {
	position: relative
}
.btn, .btn img, .btn a, .btn_input, .btn_input img {
	display: block;
	margin: 0 auto
}
.btn {
	width: min(calc(560 / 640 * 100vw), 560px);
	position: absolute;
	left: 50%;
	transform: translateX(-50%)
}
.btn_input {
	width: min(calc(400 / 640 * 100vw), 400px);
	height: min(calc(96 / 640 * 100vw), 96px);
	margin-top: min(calc(53 / 640 * 100vw), 53px);
	margin-bottom: min(calc(71 / 640 * 100vw), 71px)
}
.company {
	margin-inline: auto;
	margin-top: min(calc(57 / 640 * 100vw), 57px)
}
.company>h2 {
	font-size: min(calc(30 / 640 * 100vw), 30px);
	line-height: 1.7;
	letter-spacing: min(calc(9 / 640 * 100vw), 9px);
	font-weight: 700;
	text-align: center;
	position: relative;
	padding-bottom: min(calc(13 / 640 * 100vw), 13px)
}
.company>h2:after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	width: min(calc(70 / 640 * 100vw), 70px);
	height: min(calc(2 / 640 * 100vw), 2px);
	background-color: #ff4b75;
	left: 50%;
	transform: translateX(-50%)
}
.comp_text {
	text-align: center;
	line-height: 1.96;
	letter-spacing: min(calc(2.6 / 640 * 100vw), 2.6px)
}
.comp_img {
	margin: min(calc(56 / 640 * 100vw), 56px) auto
}
.spacing {
	letter-spacing: min(calc(0.65 / 640 * 100vw), .65px)
}
.company>dl {
	margin-top: min(calc(45 / 640 * 100vw), 45px)
}
.company>dl>dt {
	font-weight: 700
}
.company>dl>dd {
	margin-bottom: min(calc(48 / 640 * 100vw), 48px)
}
.indent {
	text-indent: -1em;
	padding-left: 1em
}
.line {
	width: min(calc(600 / 640 * 100vw), 600px);
	margin: min(calc(57 / 640 * 100vw), 57px) min(calc(20 / 640 * 100vw), 20px) min(calc(46 / 640 * 100vw), 46px);
	height: min(calc(2 / 640 * 100vw), 2px);
	background-color: #eaeaea
}
footer {
	background-color: #c5dced;
	color: #fff;
	font-family: "M PLUS 1p", sans-serif;
	font-size: min(calc(14 / 640 * 100vw), 14px);
	font-weight: 400;
	text-align: center;
	padding: min(calc(30 / 640 * 100vw), 30px) 0;
	margin-top: 20px
}
footer ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap
}
footer ul li {
	padding-right: min(calc(74 / 640 * 100vw), 74px);
	line-height: 1;
	margin-bottom: 4%
}
.footer_menu {
	position: relative
}
footer .footer_menu:after {
	content: "";
	display: block;
	width: 1px;
	height: 1em;
	background: #c1c1c1;
	position: absolute;
	left: 48%;
	top: 0
}
footer ul li:last-child {
	padding-right: 0
}
footer ul li a {
	color: #333;
	font-size: 12px;
	text-decoration: none
}
p.copy {
	margin-bottom: 0;
	position: relative;
	color: #a1a1a1;
	font-size: 12px
}
:root {
	--font-color: #000;
	--font-green: #06c755;
	--font-yellow: #fbff00;
	--font-pink: #ff41be
}
.countdown {
	padding: 20px;
	text-align: center;
	font-size: 2.8rem;
	color: #fff;
	background-color: #390606;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 700
}
#target-date {
	font-size: 2rem
}
@media screen and (max-width:640px) {
	.countdown {
		padding: 20px;
		text-align: center;
		font-size: 1.8rem;
		color: #fff;
		background-color: #390606;
		font-family: "Noto Sans JP", sans-serif
	}
	#target-date {
		font-size: 1.2rem
	}
}
.p-form__textarea2 {
	text-align: center
}
.p-form__textarea2 input {
	border: 4px solid #C81F03;
	font-size: 1.8rem;
	font-weight: 300;
	margin-bottom: 1.5rem;
	padding: 2rem 2rem;
	text-align: center;
	width: 100%
}
@media screen and (max-width:640px) {
	.p-form__textarea2 {
		text-align: center
	}
	.p-form__textarea2 input {
		border: 3px solid #C81F03;
		font-size: 1.8rem;
		font-weight: 300;
		margin-bottom: 1.5rem;
		padding: .3rem 1rem;
		text-align: center;
		width: 100%
	}
	.p-form__textarea2 input::placeholder {
		font-size: 1.5rem
	}
}
.table-scroll {
	overflow-x: scroll;
	padding: 10px
}
table {
	width: 100%;
	white-space: nowrap
}
table, th, td {
	border: 1px solid #333;
	padding: 10px;
	vertical-align: middle
}
thead th {
	background-color: #535353;
	color: #fff
}
tbody th {
	background-color: #eee
}
span.border {
	background: linear-gradient(transparent 40%, var(--font-yellow) 40%);
	font-weight: 700
}
span.border_yel {
	background: linear-gradient(transparent 40%, var(--font-yellow) 40%);
	font-weight: 700;
	font-size: 3rem
}
@media screen and (max-width:640px) {
	span.border_yel {
		background: linear-gradient(transparent 40%, var(--font-yellow) 40%);
		font-weight: 700;
		font-size: 1.6rem
	}
}
span.border_red {
	background: linear-gradient(transparent 40%, var(--font-yellow) 40%);
	font-weight: 700;
	color: #ff2600
}
p.annotation {
	font-size: 1.8rem
}
@media screen and (max-width:640px) {
	p.annotation {
		font-size: 1.1rem
	}
}
.anime {
	-webkit-animation: poyoyon 2.5s infinite;
	animation: poyoyon 2.5s infinite;
	opacity: 1
}
@-webkit-keyframes poyoyon {
	0% {
		-webkit-transform: skew(0deg, 0deg);
		transform: skew(0deg, 0deg)
	}
	5% {
		-webkit-transform: skew(4deg, 3.2deg);
		transform: skew(4deg, 3.2deg)
	}
	10% {
		-webkit-transform: skew(-3deg, -2deg);
		transform: skew(-3deg, -2deg)
	}
	15% {
		-webkit-transform: skew(2deg, 1.2deg);
		transform: skew(2deg, 1.2deg)
	}
	20% {
		-webkit-transform: skew(-2deg, -1.5deg);
		transform: skew(-2deg, -1.5deg)
	}
	25% {
		-webkit-transform: skew(0.9deg, 0.9deg);
		transform: skew(0.9deg, 0.9deg)
	}
	30% {
		-webkit-transform: skew(-0.6deg, -0.6deg);
		transform: skew(-0.6deg, -0.6deg)
	}
	35% {
		-webkit-transform: skew(0.3deg, 0.3deg);
		transform: skew(0.3deg, 0.3deg)
	}
	40% {
		-webkit-transform: skew(-0.2deg, -0.2deg);
		transform: skew(-0.2deg, -0.2deg)
	}
	45% {
		-webkit-transform: skew(0.1deg, 0.1deg);
		transform: skew(0.1deg, 0.1deg)
	}
	50% {
		-webkit-transform: skew(0deg, 0deg);
		transform: skew(0deg, 0deg)
	}
}
@keyframes poyoyon {
	0% {
		-webkit-transform: skew(0deg, 0deg);
		transform: skew(0deg, 0deg)
	}
	5% {
		-webkit-transform: skew(4deg, 3.2deg);
		transform: skew(4deg, 3.2deg)
	}
	10% {
		-webkit-transform: skew(-3deg, -2deg);
		transform: skew(-3deg, -2deg)
	}
	15% {
		-webkit-transform: skew(2deg, 1.2deg);
		transform: skew(2deg, 1.2deg)
	}
	20% {
		-webkit-transform: skew(-2deg, -1.5deg);
		transform: skew(-2deg, -1.5deg)
	}
	25% {
		-webkit-transform: skew(0.9deg, 0.9deg);
		transform: skew(0.9deg, 0.9deg)
	}
	30% {
		-webkit-transform: skew(-0.6deg, -0.6deg);
		transform: skew(-0.6deg, -0.6deg)
	}
	35% {
		-webkit-transform: skew(0.3deg, 0.3deg);
		transform: skew(0.3deg, 0.3deg)
	}
	40% {
		-webkit-transform: skew(-0.2deg, -0.2deg);
		transform: skew(-0.2deg, -0.2deg)
	}
	45% {
		-webkit-transform: skew(0.1deg, 0.1deg);
		transform: skew(0.1deg, 0.1deg)
	}
	50% {
		-webkit-transform: skew(0deg, 0deg);
		transform: skew(0deg, 0deg)
	}
}
.qa_ttl {
	width: min(calc(341 / 640 * 100vw), 341px);
	display: block;
	margin: 0 auto
}
.inner {
	width: 92%;
	margin: 0 auto;
	margin-top: 11%
}
.faq {
	padding-top: 4rem;
	padding-bottom: 1rem;
	margin-bottom: 5%
}
@media screen and (min-width:641px) {
	.faq {
		padding-top: 78px;
		padding-bottom: 50px;
		margin-bottom: 3%
	}
}
.faq_list dt {
	position: relative;
	padding-left: 3rem;
	padding-right: 1.5rem;
	line-height: 1.75;
	letter-spacing: 0;
	font-size: calc(20 / 640 * 100vw);
	margin-bottom: 1.6rem;
	border-top: solid .1rem #e5e5e5
}
@media screen and (min-width:641px) {
	.faq_list dt {
		font-size: 20px;
		margin-bottom: 33px;
		padding-left: 60px;
		padding-right: 30px
	}
}
.faq_list dt:first-child {
	border-top: none
}
.faq_list dt:not(:first-of-type) {
	padding-top: 2.5rem
}
@media screen and (min-width:641px) {
	.faq_list dt:not(:first-of-type) {
		padding-top: 50px
	}
}
.faq_list .q::before {
	content: "Q";
	color: #fff;
	background-color: #ff008cd5;
	border-radius: 50%;
	width: 1.5rem;
	height: 1.5rem;
	position: absolute;
	left: -3rem;
	top: 0;
	font-size: 0.8rem;
	font-weight: 700;
	display: inline-block;
	text-align: center
}
@media screen and (min-width:641px) {
	.faq_list .q::before {
		width: 30px;
		height: 30px;
		font-size: 17px;
		left: -60px;
		top: 5%
	}
}
.faq_list .q::after {
	content: "";
	display: block;
	background-color: #04c099;
	width: 1rem;
	height: 1rem;
	position: absolute;
	right: -1rem;
	top: min(calc(30 / 640 * 100vw), 30px);
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	background: url(../img/arrow2.png) no-repeat;
	background-size: contain;
	transition: transform .3s ease-in-out, top .3s ease-in-out
}
.faq_list .q.open::after {
	background: url(../img/arrow.png) no-repeat;
	background-size: contain;
	transition: transform .3s ease-in-out, top .3s ease-in-out;
	top: calc(20 / 640 * 100vw)
}
@media screen and (min-width:641px) {
	.faq_list .q::after {
		width: 20px;
		height: 20px;
		right: -10px
	}
	.faq_list .q.open::after {
		right: -10px
	}
}
.faq_list dd {
	font-size: calc(20 / 640 * 100vw);
	line-height: 1.692;
	letter-spacing: 0;
	padding-left: 3rem;
	padding-right: 1.8rem;
	padding-bottom: 1.8rem;
	display: none;
	font-weight: bold;
	
}
@media screen and (min-width:641px) {
	.faq_list dd {
		font-size: 26px;
		padding-left: 60px;
		padding-right: 35px;
		padding-bottom: 47px
	}
	.faq_list dd p {
		letter-spacing: 0;
		margin-bottom: 0 ;
		font-size: 17px;
		font-weight: bold;

	}
}
.faq_list {
	border-bottom: solid .1rem #e5e5e5;
	padding-bottom: 5%
}
p.q {
	position: relative;
	letter-spacing: 0;
	margin-bottom: .4rem
}
dd>p>span {
	font-size: min(calc(20 / 640 *100vw), 20px)
}
dd>p>span.mid {
	font-size: min(calc(24 / 640 *100vw), 24px);
	display: block;
	margin-top: 8%
}
.tag-container {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(3, 1fr);
	justify-content: center;
	margin: 20px
}
.tag {
	background-color: #f5f5f5;
	color: #333;
	padding: 10px 15px;
	border-radius: 5px;
	border: #333 1px solid;
	font-size: 16px;
	font-weight: 700;
	text-align: center
}
.tag.special {
	grid-column: span 1
}
.tag.special:first-of-type {
	grid-column-start: 2
}
.video {
	text-align: center;
	margin-bottom: 30px
}
.cta_area {
	margin-top: 175px
}
@media screen and (min-width:375px) and (max-width:640px) {
	.cta_area {
		margin-top: 115px
	}
}
.company {
	padding: 16px
}
.company-logo {
	margin: 16px
}
.company-title {
	margin: 26px;
	font-size: 20px;
	font-weight: 700;
	text-align: center
}
.mt-md-5 {
	margin-top: 15px;
	margin-bottom: 35px
}
.align-items-center {
	text-align: center
}
.company-subtitle {
	font-size: 18px
}
.company_list {
	font-size: 14px;
	padding: 10px
}
.company_prof {
	margin-bottom: 25px
}
.company_address {
	font-size: 18px;
	padding: 10px
}
.company-text {
	font-size: 17px;
	padding: 5px
}
.company-since {
	font-size: 18px;
	padding-top: 15px;
	text-align: center
}
.mtb-18 {
	margin-top: 18px;
	margin-bottom: 18px
}