.c-wrapper {
    max-width: 980px;
}
.c-container {
	max-width: 1440px;
	margin: auto;
	padding: 80px 0 60px;
	overflow: hidden;
	display: flex;
	align-items: center;
	gap: 60px;
}
.c-container__catch {
	color: #373E42;
	font-size: 54px;
	font-weight: bold;
	line-height: 1.5;
	margin-left: 6vw;
	position: relative;
}
.c-container__catch p {
	padding: 0;
	margin: 0;
}
.c-container__catch p:nth-child(1) {
	position: relative;
}
.c-container__catch p:nth-child(2) {
	color: #0097AD;
}
.c-container__catch p:nth-child(2) span {
	color: #373E42;
	font-size: 42px;
	padding-left: 4px;
}
.c-container__mock {
	display: none;
}
.c-container__thumb {
	background: url("https://s3-ap-northeast-1.amazonaws.com/s3.peraichi.com/userData/55006a06-8c24-4cc9-b824-15ea0a000007/img/4c35ed70-76a7-013e-8e4f-0a58a9feac02/download.gif") no-repeat left center;
	background-size: auto 100%;
	height: 530px;
	flex: 1;
	position: relative;
}
.c-container__thumb img {
	width: 148px;
	position: absolute;
	left: 24px;
	top: -12px;
}
.c-container__badge {
	background: #E4F3F7;
	border-radius: 4px;
	color: #0097AD;
	font-size: 24px;
	font-weight: bold;
	padding: 12px 16px;
	position: absolute;
	line-height: 1;
	top: 16px;
	left: 240px;
	width: max-content;
}
.c-container__btn {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-top: 40px;
}

.c-container__btn p {
	color: #373E42;
	font-size: 24px;
	font-weight: normal;
	width: 460px;
	text-align: center;
}
.c-container__btn p span {
	font-size: 38px;
	font-weight: bold;
}
.c-container__btn a {
	background: #F29500;
	border-radius: 50px;
	box-sizing: border-box;
	color: #fff;
	font-size: 28px;
	text-align: center;
	text-decoration: none;
	display: block;
	padding: 24px;
	line-height: 1;
	width: 460px;
}
.c-container__btn a:hover {
	opacity: 0.7;
	transition: all 0.3s;
}

@media screen and (max-width: 1239px) {
	.c-container {
		max-width: 1240px;
		gap: 32px;
	}
	.c-container__catch {
		font-size: 46px;
		margin-left: 4vw;
	}
	.c-container__catch p:nth-child(2) span {
		font-size: 32px;
	}
	.c-container__thumb {
		height: 460px;
	}
	.c-container__thumb img {
		width: 124px;
	}
	.c-container__badge {
		font-size: 18px;
		top: 12px;
		left: 200px;
	}
	.c-container__btn {
		margin-top: 32px;
	}

	.c-container__btn p {
		font-size: 20px;
		width: 420px;
	}
	.c-container__btn p span {
		font-size: 32px;
	}
	.c-container__btn a {
		font-size: 24px;
		width: 420px;
	}
}

@media screen and (max-width: 959px) {
	.c-container {
		flex-direction: column;
		padding: 40px 0 30px;
	}
	.c-container__catch {
		font-size: 48px;
		margin-left: 0;
		text-align: center;
	}
	.c-container__catch > p:nth-child(1) {
		position: relative;
		display: inline-block;
		left: -50px;
	}
	.c-container__catch p:nth-child(2) span {
		font-size: 26px;
	}
	.c-container__mock {
		display: block;
		margin: 32px auto;
		width: 90%;
	}
	.c-container__mock img {
		width: 100%;
		position: relative;
		left: 30px;
	}
	.c-container__thumb {
		display: none;
	}
	.c-container__thumb {
		height: 420px;
	}
	.c-container__thumb img {
		width: 112px;
	}
	.c-container__badge {
		font-size: 18px;
		top: 12px;
		right: 230px;
	}
	.c-container__btn {
		margin-top: 24px;
		width: 80%;
		margin: auto;
	}
	.c-container__btn p {
		font-size: 16px;
		margin: auto;
	}
	.c-container__btn p span {
		font-size: 26px;
	}
	.c-container__btn a {
		font-size: 20px;
		margin: auto;
	}
}

@media screen and (max-width: 768px) {
	.c-container {
		flex-direction: column;
	}
	.c-container__catch {
		font-size: 48px;
		margin-left: 0;
		text-align: center;
	}
	.c-container__catch > p:nth-child(1) {
		position: relative;
		left: -50px;
	}
	.c-container__catch p:nth-child(2) span {
		font-size: 32px;
	}
	.c-container__mock {
		margin: 24px auto;
	}
	.c-container__badge {
		font-size: 18px;
		top: 12px;
		right: 200px;
	}
	.c-container__btn {
		margin-top: 24px;
		width: 90%;
		margin: auto;
	}

	.c-container__btn p {
		font-size: 20px;
	}
	.c-container__btn p span {
		font-size: 32px;
	}
	.c-container__btn a {
		font-size: 24px;
	}
}

@media screen and (max-width: 560px) {
	.c-container__catch {
		font-size: 32px;
		margin-left: 0;
		text-align: center;
	}
	.c-container__catch > p:nth-child(1) {
		position: relative;
		left: -50px;
	}
	.c-container__catch p:nth-child(2) span {
		font-size: 24px;
	}
	.c-container__badge {
		font-size: 14px;
		top: 4px;
		right: -100px;
		left: initial;
	}
	.c-container__btn {
		margin-top: 24px;
	}

	.c-container__btn p {
		font-size: 20px;
		width: 90%;
		margin: auto;
	}
	.c-container__btn p span {
		font-size: 28px;
	}
	.c-container__btn a {
		font-size: 20px;
		width: 90%;
		margin: auto;
	}
}

.c-header {
	box-shadow: 0 3px 2px 0 rgba(204,204,204,.3);
	height: 70px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 32px;
	width: 100%;
	box-sizing: border-box;
}
.c-header a {
	background: #F29500;
	border-radius: 50px;
	box-sizing: border-box;
	color: #fff;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
	display: block;
	padding: 12px 16px;
	line-height: 1;
}
.c-header a:hover {
	opacity: 0.7;
	transition: all 0.3s;
}
@media screen and (max-width: 560px) {
	.c-header {
		height: 64px;
		padding: 0 16px;
	}
	.c-header img {
		width: 100px;
	}
	.c-header a {
		font-size: 12px;
		padding: 8px 10px;
	}
}



/* ---------------------------------料金---------------------------------*/
.price_plan_inner {
    display: flex;
    max-width: 980px;
    margin: 0 auto;
    padding-top: 20px;
    padding-left: 1rem;
    padding-right: 1rem;
}
.price_plan_content {
    flex: 1;
    border-radius: 20px;
    background-color: #fff;
    padding: 20px 8px;
    margin-right: 20px;
    text-align: center;
}
.price_plan_content h1 {
    font-size: 24px;
    font-weight: bold;
}
.price_plan_content p {
    font-size: 16px;
}
.price_plan_content .price span {
    font-size: 12px;
    font-weight: normal;
}
.price_plan_content .price {
    font-weight: bold;
    font-size: 24px;
}
.price_plan_inner .price_plan_content:last-child {
    margin-right: 0;
}
.price_plan_content .img_wrapper {
    margin-top: 10px;
}
.price_plan_inner .price_plan_content:nth-child(2) {
    position: relative;
    border-radius: 0 0 20px 20px;
}
.price_plan_inner .price_plan_content:nth-child(2):before {
    display: block;
    content: "人気";
    position: absolute;
    width: 100%;
    top: -30px;
    left: 0;
    padding: 4px 0;
    color: #fff;
    text-align: center;
    border-radius: 20px 20px 0 0;
    background-color: #14C3DC;
}
@media screen and (min-width: 576px) and (max-width: 991.98px) {
    .price_plan_inner {
        flex-wrap: wrap;
        margin: 0 20px;
        justify-content: space-between;
    }
    .price_plan_inner .price_plan_content {
        flex: none;
        width: 50%;
        max-width: 49%;
        margin: 0;
    }
    .price_plan_inner .price_plan_content:nth-child(3),
    .price_plan_inner .price_plan_content:last-child {
        margin-top: 20px;
    }
    .price_plan_content .img_wrapper {
        max-width: 300px;
        margin: 10px auto 0 auto;
    }
    .c-wrapper {
        padding-right: 2rem;
        padding-left: 2rem;
    }
    .price_plan_content h1 br {
        display: none;
    }
    .price_plan_content h1 {
        font-size: 18px;
    }
    .price_plan_content p {
        font-size: 14px;
    }
    .pc_only {
        display: none;
    }
    .sp_only {
        display: block;
    }
}
@media screen and (min-width: 1px) and (max-width: 575.98px) {
    .pc_only {
        display: none;
    }
    .sp_only {
        display: block;
    }
    .price_plan_inner {
        display: block;
        padding-top: 0;
    }
    .price_plan_content {
        margin: 20px;
    }
    .price_plan_inner .price_plan_content:first-of-type {
        margin-top: 0;
    }
    .price_plan_inner .price_plan_content:last-of-type {
        margin-bottom: 0;
    }
    .price_plan_inner .price_plan_content:nth-child(2) {
        margin-top: 50px;
    }
    .price_plan_content .img_wrapper {
        max-width: 300px;
        margin: 10px auto 0 auto;
    }
    #section-34 .c-bg-img--cover {
        padding: 20px 0;
    }
    .price_plan_inner .price_plan_content:last-child {
        margin-right: 20px;
    }
    .price_plan_content h1 {
        font-size: 18px;
    }
    .price_plan_content p {
        font-size: 14px;
    }
}

.modal-open-button {
  padding: 10px 40px;
  color: white;
  cursor: pointer;
  background-color: #14c3dc;
  border: none;
  border-radius: 100px;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1;
  display: none;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 / 60%);
}

.close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 24px;
  cursor: pointer;
  transform: translate(50%, -50%);
}

.modal-wrapper {
  position: relative;
  width: 80%;
  max-width: 500px;
  max-height: 70%;
  padding: 20px;
  margin: auto;
  overflow: scroll;
  background-color: #FEFEFE;
  border-radius: 5px;
}

.modal-content h1 {
  margin: 0;
  font-size: 4rem;
  line-height: 1.2em;
  letter-spacing: -0.02em;
}

.modal-checkbox:checked + .modal {
  display: flex;
}

.modal_box {
    margin: 20px 0;
}


[data-structure=b-cards-numbers--3col] .p-cards-numbers--3col__item--box {
    height: 100%;
    border-radius: 8px;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16)
}
.row-item-gutter--lg > [class*=col-] {
    padding-left: 1rem;
    padding-right: 1rem;
}


.p-payment-lp-reason__image {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0 auto;
    gap: 20px;
    font-size: 16px
}

.p-payment-lp-reason__image p {
    color: #373e42;
    margin-bottom: 0
}

.p-payment-lp-reason__image p:nth-child(1) {
    color: #ffa408;
	font-weight: bold;
	font-size: 20px;
	margin-bottom: 16px;
	text-align: center;
}

.p-payment-lp-reason__image span {
    color: #ffa408
}

.p-payment-lp-reason__image-content {
    display: -ms-flexbox;
    display: flex;
    width: 320px;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-align: center;
    align-items: center;
    background: #fff;
    box-shadow: 0 3px 6px rgba(0,0,0,.16);
    border-radius: 8px;
    padding: 16px
}

.p-payment-lp-reason__image-content img {
    margin-bottom: 10px;
    width: 100px
}

@media screen and (max-width: 959px) {
	.p-payment-lp-reason__image {
		flex-direction: column;
	}
	.p-payment-lp-reason__image-content {
		width: 95%;
		box-sizing: border-box;
		margin: 0 auto;
	}
}
