@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

html { scroll-behavior: smooth;}

body .sp-item {
	display: none;
}

body .pc-item {
  display: block;
}

@media screen and (max-width: 640px) {
	body {
		min-width: inherit;
		height:100%;
	}

	body .sp-item {
		display: block;
	}

	body .pc-item {
		display: none;
	}

	body .sp-item img {
		width:100%;
	}
}

/* ----------------------------------------------------
    共通
---------------------------------------------------- */

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height: 1.5;
	font-size: 20px;
	color:#333;
	text-align: center;
	overflow-x: hidden;
	max-width: 2000px;
	margin: 0 auto;
}

img {
	margin: 0 auto;
	width: 100%;
}

video {
	width: 100%;
}

p {
	font-feature-settings: "palt";
	text-align: justify;
}

.sentence {
	margin-top: 40px;
}

.sentence p {
	margin-top: 40px;
}

.sentence p:first-of-type {
	margin-top: 0;
}

.inner {
	width: 724px;
	margin: 0 auto;
}

.marker {
	color: #333;
	background: linear-gradient(to top, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 10%, rgba(255,255,150,1) 10%, rgba(255,255,150,1) 90%, rgba(255,255,255,1) 90%, rgba(255,255,255,1) 100%);
}

@media screen and (max-width: 640px) {
	img {
		max-width: 100%;
	}

	body {
		width: 100%;
	}

	.inner {
		width: 94%;
	}
}

/* ----------------------------------------------------
    CTA
---------------------------------------------------- */
.cta {
	background-color: #E60011;
	padding: 80px 0;
}
.cta-img01-pc {
	margin-top: 30px;
}
.pc-cta {
	position: relative;
}
.btns {
	display: flex;
	justify-content: space-between;
	width: 96%;
	gap: 6px;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	bottom: 35px;
}
.btn {
	transition: all .2s;
}
.btn:hover {
	opacity: 0.8;
}

@media screen and (max-width: 640px) {
	.cta {
		background-color: #E60011;
		padding: 0;
	}
	.sp-cta {
		position: relative;
	}
	.btns {
		display: block;
		bottom: 9%;
		width: 87%;
	}
	.btn {
		margin-top: 6px;
	}
	.btn:first-of-type {
		margin-top: 0;
	}
}

/* ----------------------------------------------------
    header
---------------------------------------------------- */
.header {
	width: 100%;
	height: 724px;
}
.header-pc {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
h1 {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 640px) {
	.header {
		height: auto;
	}
}

/* ----------------------------------------------------
    sec01
---------------------------------------------------- */
.sec01 {
	padding-bottom: 80px;
}
.sec01-img01-pc {
	width: 1024px;
}

@media screen and (max-width: 640px) {
	.sec01 {
		padding-bottom: 60px;
	}
}

/* ----------------------------------------------------
    sec02
---------------------------------------------------- */
.sec02 {
	background: url(../images/sec02-bg-pc.webp) no-repeat center top / 2000px;
	background-color: #E6E6E6;
	padding: 100px 0;
	position: relative;
}
.sec02-ttl-pc {
	width: 814.6802px;
	margin-top: 20px;
}
.sec02-img {
	width: 1024px;
	margin-top: 30px;
}
.sec02-img:first-of-type {
	margin-top: 60px;
}
.sec02-p {
	margin-top: 40px;
}
.sec02-img04-pc {
	width: 300px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -100px;
}

@media screen and (max-width: 640px) {
	.sec02 {
		padding: 0 0 100px;
		background-image: none;
	}
	.sec02-bg-sp {
		width: 100%;
		height: 56.9094px;
	}
	.sec02-bg-sp img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.sec02-ttl-sp {
		margin-top: 20px;
	}
	.sec02-img:first-of-type {
		margin-top: 40px;
	}
	.sec02-img04-pc {
		width: 250px;
		bottom: -85px;
	}
}

/* ----------------------------------------------------
    sec03
---------------------------------------------------- */
.sec03 {
	padding: 130px 0 100px;
}
.sec03-ttl-pc {
	width: 944px;
}
.sec03-img01-pc {
	width: 944px;
	margin-top: 20px;
}
.sec03-p {
	margin-top: 40px;
}
.sec03-img02-pc {
	margin-top: 40px;
}

@media screen and (max-width: 640px) {
	.sec03 {
		padding: 105px 0 80px;
	}
	.sec03-img04-sp {
		margin-top: 40px;
	}
	.sec03-img01-sp {
		margin-top:10px;
	}
	.sec03-img02-sp,
	.sec03-img03-sp {
		margin-top: 30px;
	}
}


/* ----------------------------------------------------
    sec04
---------------------------------------------------- */
.sec04 {
	padding: 20px 0 100px;
	background: url(../images/bg-silver.webp) no-repeat center top / 2000px;
}
.sec04-item {
	box-shadow: 0px 0px 8px 0px rgba(153, 153, 153, 0.75);
	margin-top: 30px;
}
.sec04-item:first-of-type {
	margin-top: 0;
}
.sec04-items {
	margin-top: 60px;
}

@media screen and (max-width: 640px) {
	.sec04 {
		padding: 20px 0 80px;
		background: url(../images/bg-silver.webp) no-repeat center top / cover;
	}
	.sec04-items {
		margin-top: 40px;
	}
}


/* ----------------------------------------------------
    sec05
---------------------------------------------------- */
.sec05 {
	padding-bottom: 100px;
}
.sec05 h2 {
	background-color: #E60011;
	padding: 50px 0;
}
.sec05-ttl-pc {
	width: 530px;
}
.sec05 p {
	margin-top: 40px;
}
.sec05-subttl01-pc {
	width: 568px;
	margin-top: 60px;
}
.youtube{
  position: relative;
  overflow: hidden;
  padding-bottom: 56.25%; /* 16:9 (9÷16=0.5625) */
	margin-top: 60px;
}
.youtube iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.sec05-img00-pc {
	margin-top: 60px;
}
.sec05-subttl02-pc {
	margin-top: 60px;
}
.samples {
	width: 944px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 60px auto 0;
}
.sample {
	width: 299.6596px;
	margin-top: 16px;
}
.sample-massive {
	width: 724px;
}
.samples-text {
	margin-top: 0 !important;
}

@media screen and (max-width: 640px) {
	.sec05 {
		padding-bottom: 80px;
	}
	.sec05 h2 {
		padding: 0;
	}
	.samples {
		width: 92%;
		margin: 40px auto;
	}
	.sample {
		width: 49%;
		margin-top: 8px;
	}
	.sec05-subttl01-sp,
	.sec05-subttl02-sp {
		margin-top: 60px;
	}
	.samples-text {
		font-size: 16px;
	}
}


/* ----------------------------------------------------
    モーダル
---------------------------------------------------- */
/* モーダルで画像の拡大表示*/
.sample-modal {
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  display: none;
}
.sample-bigimg {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  max-width: 60%;
  margin: auto;
  display: block;
}
.sample-img:hover {
  opacity: 0.7;
}

@media screen and (max-width: 640px) {
	.sample-bigimg {
		max-width: 95%;
	}
}


/* ----------------------------------------------------
    sec06
---------------------------------------------------- */
.sec06 {
	padding-bottom: 100px;
}
.sec06 h2 {
	background-color: #E60011;
	padding: 50px 0;
}
.sec06-ttl-pc {
	width: 356px;
}
.sec06 h3 {
	font-size: 40px;
	font-weight: 500;
	margin-top: 60px;
}
.sec06 > p {
	margin-top: 40px;
}
.sec06-img01-pc {
	width: 944px;
	margin-top: 30px;
}
.sec06-img02-pc {
	width: 944px;
	margin-top: 60px;
}
.sec06-img03-pc {
	width: 724px;
	margin-top: 80px;
}
.pink-memo {
	background-color: #FFF4F4;
	padding: 40px 60px;
	margin-top: 60px;
}
.sec06-img04 {
	width: 300px;
	margin-top: 100px;
}
.accordion {
	margin: 10px auto 0;
	overflow: hidden;
	color: #333;
}
.accordion:first-of-type {
	margin-top: 0;
}
.accordion-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #E60011;
	color: #fff;
	border-radius: 2px;
	padding: 30px 16px;
	cursor: pointer;
	font-weight: 300;
	font-size: 24px;
	text-align: center;
	line-height: 1.3;
}
.accordion-title {
	flex: 1;
}
.accordion-icon {
	font-size: 16px;
	transition: transform 0.3s ease;
	width: 36.8157px;
	padding-left: 8px;
}
.accordion-content {
	max-height: 0;
	overflow: hidden;
	background-color: #fff;
	transition: max-height 0.5s ease, padding 0.5s ease;
	text-align: justify;
}
.accordion-header.active + .accordion-content {
	max-height: 3000px; /* 開いた状態の高さを調整 */
	padding-top: 40px;
}
.accordion-header.active .accordion-icon {
	transform: rotate(180deg);
}
.icon-arrow-white {
	width: 40px;
}
ul li {
	list-style-type: disc;
	margin-top: 20px;
	line-height: 1.2;
}
ul li {
	margin-top: 0;
	font-size: 17px;
	margin-top: 16px;
}ul li:first-of-type {
	margin-top: 0;
}
.feature-details {
	background-color: #F5F3F1;
	padding: 30px 30px 30px 60px;
}
.mini {
	font-size: 15px;
	line-height: 1;
}
.feature-title {
	padding: 20px 30px 20px 30px;
	background-color: #F3403E;
	color: #fff;
	font-weight: 500;
	font-size: 18px;
	display: inline-block;
	margin-top: 30px;
}
.feature-title:first-of-type {
	margin-top: 0;
}
.sec06-img05 {
	margin-top: 80px;
}
.click {
	font-weight: 500;
	font-size: 28px;
	line-height: 1.6;
}

@media screen and (max-width: 640px) {
	.sec06 {
		padding-bottom: 80px;
		overflow-x: hidden;
	}
	.sec06 h2 {
		padding: 0;
	}
	.sec06 h3 {
		font-size: 26px;
		margin-top: 40px;
	}
	.sec06 > p {
		margin-top: 30px;
	}
	.scroll-container {
		width: 92%;
		overflow-x: scroll; /* 横スクロールを有効化 */
		margin: 40px auto 0;
	}
	.scroll-content {
		width: 800px;
	}
	.pink-memo {
		padding: 20px;
		margin-top: 60px;
		box-sizing: border-box;
	}
	.sec06-img02-sp {
		margin-top: 60px;
	}
	.sec06-img03-sp {
		margin-top: 60px;
	}
	.accordion-header {
		font-size: 20px;
	}
	.feature-details {
		padding: 20px 20px 20px 40px;
	}
	.accordion-icon {
		padding-right: 16px;
		padding-left: 0;
	}
	.sec06-img05-sp {
		margin-top: 60px;
	}
	.sec06-img04 {
		width: 80%;
		margin-top: 80px;
	}
}

/* ----------------------------------------------------
    sec07
---------------------------------------------------- */
.sec07 {
	padding-bottom: 100px;
	background: url(../images/bg-silver.webp) no-repeat center top / 2000px;
}
.sec07-ttl-pc {
	width: 1024px;
}
.sec07-img01 {
	margin-top: 60px;
}
.sec07-img02 {
	margin-top: 80px;
}
.matome {
	background-color: #F2F2F2;
	padding: 80px 0 40px;
	width: 944px;
	margin: 80px auto 0;
}
.matome-p {
	margin: 40px auto 0;
	display: inline-block;
	text-align: left;
}
.sec07-img03-pc {
	width: 160px;
}
.sec07-img04-pc {
	width: 944px;
}

@media screen and (max-width: 640px) {
	.sec07 {
		padding-bottom: 80px;
		background: none;
		overflow-x: hidden;
	}
	.sec07-img02 {
		margin-top: 60px;
	}
	.matome {
		padding: 60px 20px 80px;
		width: 92%;
		margin: 80px auto 0;
	}
	.matome-p {
		margin: 40px auto 0;
	}
	.sec07-img03-pc {
		width: 160px;
	}
	.sec07 .scroll-content {
		width: 600px;
		margin-right: 20px;
	}
	.sec07 .scroll-container {
		margin-left: 0;
	}
}


/* ----------------------------------------------------
    sec08
---------------------------------------------------- */
.sec08 {
	padding-bottom: 100px;
}
.sec08 h2 {
	background-color: #E60011;
	padding: 50px 0;
}
.sec08-ttl-pc {
	width: 568px;
}
.sec08 p {
	margin-top: 60px;
}
.steps {
	margin-top: 60px;
}
.step {
	box-shadow: 0px 0px 8px 0px rgba(153, 153, 153, 0.75);
	margin-top: 30px;
	position: relative;
}
.step::before {
	position: absolute;
	content: "";
	background-image: url(../images/icon-next.webp);
	background-size: contain;
	width: 120px;
	height: 40px;
	left: 50%;
	transform: translateX(-50%);
	top: -20px;
}
.step:first-of-type::before {
	background-image: none;
}

@media screen and (max-width: 640px) {
	.sec08 h2 {
		padding: 0;
	}
}


/* ----------------------------------------------------
    sec09
---------------------------------------------------- */
.sec09 {
	padding-bottom: 100px;
}
.sec09 h2 {
	background-color: #E60011;
	padding: 50px 0;
}
.sec09-ttl-pc {
	width: 412px;
}
.sec09 .accordion-header {
	background-color: #ECE8E5;
	color: #333;
	font-weight: 500;
	text-align: left;
	position: relative;
}
.sec09 .accordion-header::before {
	position: absolute;
	content: "";
	background-image: url(../images/icon-question.webp);
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;;
	width: 17px;
	height: 36px;
	left: 28px;
	top: 50%;
	transform: translateY(-50%);
}
.sec09 .accordion-title {
	background-color: #ECE8E5;
	color: #333;
	font-weight: 500;
	text-align: left;
	padding-left: 40px;
}
.sec09 .accordion-header.active + .accordion-content {
	padding: 20px 0 40px;
}
.sec09 .accordion:first-of-type {
	margin-top: 80px;
}

@media screen and (max-width: 640px) {
	.sec09 {
		padding-bottom: 60px;
	}
	.sec09 h2 {
		padding: 0;
	}
	.sec09 .accordion-title {
		padding-left: 30px;
	}
	.sec09 .accordion-title {
		padding-left: 28px;
	}
	.sec09 .accordion-header::before {
		left: 16px;
		top: 50%;
		transform: translateY(-50%);
	}
	.sec09 .accordion-icon {
		padding-right: 0;
		padding-left: 6px;
	}
	.sec09 .accordion:first-of-type {
		margin-top: 60px;
	}
}


/* ----------------------------------------------------
    sec10
---------------------------------------------------- */
.sec10 {
	padding-bottom: 100px;
	background: url(../images/bg-silver.webp) no-repeat center top / 2000px;
}
.sec10-subttl-pc {
	width: 371px;
	margin-top: 60px;
}
.sec10-img {
	margin-top: 60px;
}
.sec10 p {
	margin-top: 16px;
}
.sec10-img06-pc {
	width: 797px;
	margin-top: 100px;
}

@media screen and (max-width: 640px) {
	.sec10 {
		padding-bottom: 80px;
		background: none;
	}
	.sec10-subttl-pc {
		width: 92%;
		margin-top: 50px;
	}
	.sec10-img06-sp {
		margin-top: 60px;
	}
}

/* ----------------------------------------------------
    sec11
---------------------------------------------------- */
.sec11 {
	padding: 100px 0;
	background-color: #F5F3F1;
}
.sec11 h2 {
	font-size: 47px;
	font-weight: 300;
}
.sec11 p {
	text-align: center;
	margin-top: 60px;
}
.form-area {
	margin-top: 80px;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background: url(../images/icon-arrow-black.webp) no-repeat top 50% right 12px/18px;
	color: #333;
	width: 100%;
	display: block;
	box-sizing: border-box;
	border: solid 1px #333;
	padding: 16px 16px 14px 16px;
}
.c-form__item {
	margin-bottom: 20px;
	text-align: left;
}
.c-form__label,
.c-form__input {
	text-align: left;
}
.c-form__input {
	font-size: 16px;
	border: solid 1.5px #CCC;
	background-color: #fff;
	padding: 16px;
	color: #333;
	width: 100%;
	height: 60px;
	box-sizing: border-box;
	margin-top: 6px;
}
::placeholder {
	color: #999;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
}

.c-form__input:focus-visible {
	outline: #E60011 auto 1px;
}
.c-form__required {
	color: #fff;
	font-size: 16px;
	background-color: #E60011;
	border-radius: 4px;
	padding: 4px 6px;
	margin: 0 0 0 8px;
	font-weight: 100;
}
textarea.c-form__input {
	height: 300px;
}

.c-form__submit {
	width: 100%;
	text-align: center;
}

.c-form__submit input {
	background-color: #E60011;
	color: #fff;
	font-size: 24px;
	width: 395px;
	height: 70px;
	border-radius: 6px;
	border: none;
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
}
.c-form__submit input:hover {
	cursor: pointer;
	opacity: 0.8;
}

.modal-wrapper {
  z-index: 999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 40px 10px;
  text-align: center
}

.modal-wrapper:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}

.modal-wrapper:target {
  opacity: 1;
  visibility: visible;
  transition: opacity .4s, visibility .4s;
}

.modal-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}

.modal-wrapper .modal-window {
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  width: 70%;
  max-width: 600px;
  padding: 60px 30px;
  border-radius: 2px;
  background: #fff;
  box-shadow: 0 0 30px rgba(0, 0, 0, .6);
  vertical-align: middle;
}

.modal-content h4 {
	font-size: 24px;
	font-weight: bold;
	line-height: 1.2;
}

.modal-content p {
	line-height: 1.5;
	margin-top: 20px;
}

.modal-wrapper .modal-window .modal-content {
  max-height: 80vh;
  overflow-y: auto;
  text-align: center;
}

.modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, .8)
}

.modal-wrapper .modal-close {
  z-index: 20;
  position: absolute;
  top: 0;
  right: 0;
  width: 35px;
  color: #95979c !important;
  font-size: 20px;
  font-weight: 700;
  line-height: 35px;
  text-align: center;
  text-decoration: none;
  text-indent: 0
}

.modal-wrapper .modal-close:hover {
  color: #2b2e38 !important
}

@media screen and (max-width: 640px) {
	.sec11 {
		padding: 80px 0;
	}
	.sec11 h2 {
		font-size: 40px;
		font-weight: 400;
		line-height: 1.3;
	}
	.sec11 p {
		text-align: center;
		margin-top: 40px;
	}
	.form-area {
		margin-top: 60px;
	}

	.c-form__input {
		margin-top: 6px;
	}

	.c-form__submit input {
		margin-top: 30px;
		width: 100%;
	}

	.c-form__item2 {
		margin-bottom: 0;
	}

	.modal-window {
		max-width: 0;
		width: 94% !important;
		padding: 30px 20px !important;
		line-height: 1.2;
	}

	.modal-content p {
		font-size: 18px;
	}
}

/* ----------------------------------------------------
    sec12
---------------------------------------------------- */
.sec12 {
	padding: 100px 0;
}
.sec12 h2 {
	font-size: 47px;
}
table {
	width: 100%;
	border-collapse: collapse;
	margin: 40px auto 0;
	font-size: 16px;
	text-align: left;
	line-height: 1.6;
}
th, td {
	border: 1px solid #dddddd;
	padding: 16px;
}
th {
	background-color: #E60011;
	font-weight: 400;
	text-align: center;
	color: #fff;
	width: 200px;
}
td {
	vertical-align: top;
	padding-left: 20px;
}
.company-memo {
	display: flex;
	font-size: 16px;
	margin-top: 8px;
}
.company-memo-light {
	width: auto;
}
.company-memo-right {
	flex: 1;
	text-align: left;
	padding-left: 10px;
	line-height: 1.3;
}
.sec12-img01 {
	margin-top: 40px;
}
.company-table th {
	background-color: #dcdcdc;
	color: #333;
}
.company {
	padding: 80px 0 0;
}
.company .footer {
	margin-top: 60px;
}
.company h1 {
	font-weight: 500;
}
.policy h1 {
	margin-bottom: 40px;
}
.policy ol {
	padding-left: 1em;
	list-style-type: decimal;
	margin-top: 30px;
}
.policy ol li {
	text-align: justify;
	margin-top: 16px;
}

@media screen and (max-width: 640px) {
	.sec12 {
		padding: 80px 0;
	}
	table {
		width: 100%;
	}
	th, td {
		padding: 8px;
	}
	th {
		width: 100px;
		padding: 8px 8px;
		line-height: 1.3;
	}
}

/* ----------------------------------------------------
    footer
---------------------------------------------------- */
.footer {
	background-color: #F5F3F1;
	padding: 50px 0;
	font-size: 16px;
}
.footer-links {
	display: flex;
	justify-content: center;
	gap: 30px;
}
.footer-link a {
	text-decoration: none;
	color: #333;
}
.footer-link a:hover {
	cursor: pointer;
	opacity: 0.7;
}
.copy-right {
	margin-top: 16px;
}
.to-top {
	margin-top: 60px;
}
.company p,
.company img,
.company table,
.company ul,
.company ol {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.policy p,
.policy img,
.company table,
.policy ul,
.policy ol {
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

@media screen and (max-width: 640px) {
	.footer-links {
		display: block;
	}
	.footer-link:nth-child(2) {
		margin-top: 8px;
	}
}
