/* DKPサービスユーザー向けランディングページのスタイル */

/* 基本設定 */
body {
	color: #333;
	font-family: 'Noto Sans JP', 'メイリオ', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3',
		'MS PGothic', 'ＭＳ Ｐゴシック', sans-serif;
}

a:focus,
a:hover {
	cursor: pointer;
}

/* 選択コントロール用のスタイル追加 */
.v-input--selection-controls__input {
	margin-right: 8px;
}
.v-input--selection-controls__input .v-icon {
	color: #b2b2b2;
}
.v-input--selection-controls__input .v-icon.primary--text {
	color: #5cb531;
}

/* フォントサイズユーティリティクラス */
.font-size-54 {
	font-size: 54px;
}
.font-size-45 {
	font-size: 45px;
}
.font-size-40 {
	font-size: 40px;
}
.font-size-28 {
	font-size: 28px;
}
.font-size-24 {
	font-size: 24px;
}
.font-size-22 {
	font-size: 22px;
}
.font-size-20 {
	font-size: 20px;
}
.font-size-16 {
	font-size: 16px;
}
.font-size-15 {
	font-size: 15px;
}
.font-size-14 {
	font-size: 14px;
}

/* 共通スタイル */
.shadow {
	box-shadow: 0 0 6px rgba(0, 0, 0, 0.16078);
}

.h-border {
	width: 40px;
	height: 1px;
	background: #333 0 0 no-repeat padding-box;
	margin: 0 15px;
}

.v-border {
	width: 2px;
	height: 40px;
	background: #333 0 0 no-repeat padding-box;
	margin: 0 15px;
}

.layout-wrapper .main {
	opacity: 1;
	transition: opacity 1.75s cubic-bezier(0.24, 0.705, 0.395, 0.97);
}

/* レイアウト構造 */
.layout-wrapper .header {
	padding: 0 16px;
}

.layout-wrapper .header__logo {
	height: 50px;
	margin: 5px 10px 5px 0;
}

.layout-wrapper .header__title {
	font-weight: 700;
}

.lp-dkp {
	margin: 0 auto;
	/* max-width: 1200px; */
	padding: 40px 0;
	color: #333;
	font-family: 'Noto Sans JP', 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans',
		Meiryo, sans-serif;
}

/* ヘッドライン */
.layout-wrapper .main .headline {
	display: flex;
	flex-direction: column;
	align-items: center;
	background: url(../images/1_back.png) 50% / cover no-repeat;
	width: 100%;
	height: 100%;
	padding: 45px 0;
}

.layout-wrapper .main .headline__target {
	background-color: #5cb531;
	color: #fff;
	border-radius: 100px;
	padding: 13px 29px 13px 40px;
	font-weight: 600;
	margin-bottom: 15px;
}

.layout-wrapper .main .headline__target-and {
	position: relative;
	left: -6px;
}

.layout-wrapper .main .headline__target-to {
	position: relative;
	left: -10px;
}

.layout-wrapper .main .headline__title {
	margin-bottom: 16px;
	text-align: center;
}

.layout-wrapper .main .headline__title-logo {
	height: 70px;
}

.layout-wrapper .main .headline__title-end {
	line-height: 70px;
	margin-left: 20px;
}

.layout-wrapper .main .headline__title p {
	margin-bottom: 10px;
}

.layout-wrapper .main .headline__title p span {
	font-weight: 600;
}

.layout-wrapper .main .headline__title div {
	display: flex;
	align-items: center;
}

.layout-wrapper .main .headline__sub-title {
	display: flex;
	align-items: center;
	margin-bottom: 28px;
	letter-spacing: 1.08px;
}

.layout-wrapper .main .headline__sub-title strong {
	margin: 0 20px;
}

.layout-wrapper .main .headline__process {
	margin-bottom: 26px;
	width: 980px;
	align-items: center;
	display: flex;
	background-color: #fff;
	border-radius: 7px;
	padding: 24px 66px;
}

.layout-wrapper .main .headline__process img:first-child {
	height: 47px;
	margin-right: 25px;
}

.layout-wrapper .main .headline__process img:nth-child(2) {
	height: 37px;
	margin-right: 45px;
}

.layout-wrapper .main .headline__process img:nth-child(3) {
	height: 28px;
	margin-right: 45px;
}

.layout-wrapper .main .headline__process img:nth-child(4) {
	height: 52px;
}
.layout-wrapper .main .headline__process img:nth-child(5) {
	height: 28px;
}

/* スマホ表示時のheadline__process調整 */
@media screen and (max-width: 768px) {
	.layout-wrapper .main .headline__process {
		width: 90%;
		flex-direction: column;
		padding: 24px 20px;
		position: relative;
	}

	.layout-wrapper .main .headline__process img:first-child {
		height: 40px;
		margin-right: 0;
		margin-bottom: 15px;
	}

	.layout-wrapper .main .headline__process img:nth-child(2) {
		height: 32px;
		margin-right: 0;
		margin-bottom: 15px;
	}

	.layout-wrapper .main .headline__process img:nth-child(3) {
		display: none; /* 横向き矢印を非表示 */
	}
	.layout-wrapper .main .headline__process img:nth-child(4) {
		height: 40px; /* 縦向き矢印を表示 */
	}
	.layout-wrapper .main .headline__process img:nth-child(5) {
		height: 32px;
	}
}

.layout-wrapper .main .headline__download {
	width: 980px;
	padding: 20px 50px;
}

.layout-wrapper .main .headline__download-title {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 1.08px;
	text-align: center;
}

.layout-wrapper .main .headline__download .h-border {
	width: 100%;
}

.layout-wrapper .main .headline__download-contents {
	display: flex;
	justify-content: space-between;
}

.layout-wrapper .main .headline .blank {
	height: 270px;
}

.layout-wrapper .main .headline .blank .img-pc {
	width: 1110px;
	height: auto;
}

/* ダウンロードデスクエリア */
.layout-wrapper .main .download-desc {
	margin-top: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #5cb531;
	margin-bottom: 13px;
	letter-spacing: 0.84px;
}

.layout-wrapper .main .download-desc .back-slash {
	transform: scaleX(-1);
}

.layout-wrapper .main .download-desc span {
	margin: 0 14px;
	align-self: flex-end;
}

/* ダウンロードアイテム */
.download-item {
	margin-bottom: 30px;
}

/* ダウンロードリンク共通スタイル */
.download-link {
	background-color: #fff;
	border: 2px solid #5cb531;
	border-radius: 8px;
}

.download-link a {
	width: 380px;
	align-items: center;
	border-radius: 8px;
	color: #5cb531;
	display: flex;
	font-size: 18px;
	font-weight: 700;
	justify-content: center;
	padding: 27px 20px;
}

.download-link a:hover {
	text-decoration: none;
	background-color: #f6ffe5;
}

.download-link a .icon__arrow-right {
	width: 22px;
	height: 22px;
	margin-left: 10px;
}

.download-link a .icon__arrow-down {
	width: 14px;
	height: 7px;
	margin-left: 15px;
}

.download-link .manual {
	padding: 27px 31px;
}

.download-link .id-manual {
	width: 390px;
	padding: 29px 20px;
}

/* DKP専用ダウンロードリンクスタイル */
.dkp-download-link {
	background-color: #fff;
	border: 2px solid #5cb531;
	border-radius: 8px;
}

.dkp-download-link a {
	width: 380px;
	align-items: center;
	border-radius: 8px;
	color: #5cb531;
	display: flex;
	font-size: 18px;
	font-weight: 700;
	justify-content: center;
	padding: 27px 20px;
}

.dkp-download-link a:hover {
	text-decoration: none;
	background-color: #f6ffe5;
}

.dkp-download-link a .icon__arrow-right {
	width: 22px;
	height: 22px;
	margin-left: 10px;
}

.dkp-download-link a .icon__arrow-down {
	width: 14px;
	height: 7px;
	margin-left: 15px;
}

.dkp-download-link .manual {
	padding: 27px 31px;
}

.dkp-download-link .id-manual {
	width: 390px;
	padding: 29px 20px;
}

/* 注意事項 */
.caution {
	width: 980px;
	margin-bottom: 50px;
	font-size: 16px;
}

.caution .number {
	color: #ff4d4d;
	padding-right: 10px;
}

.caution a {
	text-decoration: underline;
	text-decoration-color: #5cb531;
	color: #4a9e21;
}

.caution a:hover {
	color: #5cb531;
}

/* コンタクトセクション */
.fv-contact,
.downloads-contact {
	text-align: center;
	margin-top: 30px;
	background-color: white;
	padding: 60px 0;
	width: 740px;
	height: auto;
	border-radius: 8px;
	margin-bottom: 27px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.fv-contact p,
.downloads-contact p {
	font-size: 18px;
	margin-bottom: 32px;
	letter-spacing: 1.08px;
}

.fv-contact .download-link,
.fv-contact .dkp-download-link,
.downloads-contact .download-link,
.downloads-contact .dkp-download-link {
	width: 354px;
	margin: 0 auto;
}

/* 特徴セクション */
.feature {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 45px 0 150px;
	background-color: #f0f0f0;
	margin: 0;
}

.feature__title {
	margin-bottom: 38px;
	text-align: center;
}

.feature__title div {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

.feature .img-logo {
	width: auto;
	height: 40px;
	margin-right: 35px;
}

.feature__sub-title {
	margin-bottom: 80px;
	letter-spacing: 1.2px;
	text-align: center;
}

.feature__sub-title-top {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
	letter-spacing: 1.68px;
}

.feature__sub-title-top strong {
	margin: 0 20px;
}

.feature__sub-title p {
	font-size: 23px;
	color: #333;
}

.feature__contents {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-bottom: 108px;
	background-color: transparent;
	padding: 0;
}

.feature__contents-title {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 80px;
}

.feature__contents-title h2 {
	margin: 0 20px 0 60px;
	letter-spacing: 40px;
	font-size: 40px;
	color: #333;
}

.feature__contents-desc {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 1.68px;
	text-align: center;
	margin-bottom: 30px;
}

.feature__contents-video {
	width: 100%;
	margin-bottom: 70px;
	text-align: center;
}

.feature__contents-video video {
	width: 720px;
	height: 406px;
	border-radius: 0;
	box-shadow: none;
}

.feature__contents-items {
	width: 940px;
	margin-bottom: 30px;
	position: relative;
}

.feature__contents-items-popup {
	text-align: center;
	position: static;
}

.feature__contents-items-popup-text {
	background-color: #5cb531;
	border-radius: 100px;
	color: #fff;
	padding: 10px 30px;
	position: relative;
	top: 15px;
	display: inline-block;
	font-size: 18px;
}

.feature__contents-items-body {
	display: flex;
	align-items: center;
	background-color: #fff;
	border-radius: 13px;
	padding: 0;
	margin-top: 0;
}

.feature__contents-items-body-left {
	text-align: center;
	width: 280px;
	flex: 0 0 auto;
	padding: 20px 0;
}

.feature__contents-items-body-left img {
	width: 100px;
	max-width: none;
}

.feature__contents-items-body-right {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 689px;
	padding: 62px 52px 42px 0;
	flex: 1;
}

.feature__contents-items-body-right-title {
	margin-bottom: 22px;
	letter-spacing: 1.68px;
	font-size: 28px;
	display: flex;
	align-items: center;
}

.feature__contents-items-body-right-title .number {
	margin-right: 10px;
	letter-spacing: 0;
	color: #5cb531;
}

.feature__contents-items-body-right-border {
	width: 100%;
	height: 1px;
	background: #333 0 0 no-repeat padding-box;
	opacity: 0.3;
	margin-bottom: 0;
}

.feature__contents-items-body-right-text {
	margin-top: 22px;
	line-height: 28px;
	letter-spacing: 0.96px;
	font-size: 16px;
	text-align: left;
}

.feature__contents-link {
	margin-top: 50px;
}

.feature .blank {
	height: 400px;
}

/* 特徴セクションのnotice調整 */
.layout-wrapper .main .feature .notice {
	margin-bottom: 0;
}

.layout-wrapper .main .feature .notice-top {
	text-align: center;
	background-color: #ff4d4d;
	color: #fff;
	padding: 7px 20px;
	letter-spacing: 1.44px;
}

.layout-wrapper .main .feature .notice-top p {
	margin: 0;
}

.layout-wrapper .main .feature .notice-bottom {
	display: flex;
	align-items: center;
	background-color: #fff;
	padding: 20px 31px 20px 15px;
}

.layout-wrapper .main .feature .notice-bottom .id-circle {
	width: 100px;
	height: 100px;
	margin-right: 10px;
}

.layout-wrapper .main .feature .notice-bottom-desc {
	width: 398px;
	margin-bottom: 0;
	margin-right: 30px;
	line-height: 2;
	letter-spacing: 0.96px;
	text-align: left;
}

/* FAQ セクション */
.faq {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 150px 0 70px;
	background-color: #fff;
	margin: 0;
}

.faq__title {
	margin-bottom: 80px;
	text-align: center;
	font-size: 40px;
	color: #333;
	position: relative;
	padding-bottom: 0;
}

.faq__title:after {
	display: none;
}

.faq__list {
	margin-top: 40px;
}

.faq__list-item {
	width: 1080px;
	margin-bottom: 80px;
	border: none;
	border-radius: 0;
	overflow: visible;
}

.faq__list-item-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 30px;
	background-color: transparent;
	padding: 0;
}

.faq__list-item-title-container {
	display: flex;
	align-items: center;
}

.faq__list-item-title-icon {
	width: 28px;
	height: 28px;
	background-color: #5cb531;
	border-radius: 28px;
	margin-right: 12px;
}

.faq__list-item-title-text {
	letter-spacing: 1.68px;
	margin-bottom: 0;
	font-size: 28px;
	color: #333;
}

.faq__list-item-title a {
	font-size: 18px;
	font-weight: 700;
	color: #5cb531;
	letter-spacing: 1.08px;
	text-decoration: underline;
}

.faq__list-item-title a:hover {
	color: #9bd181;
}

.faq__list-item-question {
	display: flex;
	align-items: center;
	background-color: #e8f8da;
	padding: 28px 30px;
	letter-spacing: 1.2px;
}

.faq__list-item-question-number {
	color: #5cb531;
	margin-right: 30px;
	font-size: 28px;
	min-width: 40px;
}

.faq__list-item-question-text {
	font-size: 20px;
	color: #333;
}

.faq__list-item-answer {
	background-color: #fff;
	padding: 28px 30px 28px 41px;
	border-bottom: none;
}

.faq__list-item-answer-contents {
	display: flex;
	align-items: flex-start;
}

.faq__list-item-answer-contents-mark {
	color: #ff4d4d;
	line-height: 20px;
	margin: 3px 56px 0 0;
	font-size: 20px;
	min-width: 40px;
}

.faq__list-item-answer-contents-comment {
	display: inline;
	line-height: 26px;
	letter-spacing: 0.84px;
	font-size: 16px;
}

.faq__list-item-answer-contents-comment a {
	text-decoration: underline;
	text-decoration-color: #5cb531;
	color: #4a9e21;
}

.faq__list-item-answer-contents-comment a:hover {
	color: #5cb531;
}

/* ダウンロードセクション */
.downloads {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 150px 0;
	background-color: #f0f0f0;
	margin: 0;
}

.downloads__popup {
	border-radius: 10px;
	padding: 20px;
	max-width: 80%;
	margin: 0 auto;
	position: relative;
	top: -50px;
	text-align: center;
}

.downloads__popup-img {
	width: 1080px;
}

.downloads__popup-text {
	position: relative;
	top: -182px;
	color: #fff;
	text-align: center;
	line-height: 48px;
	letter-spacing: 1.68px;
}

.downloads__title {
	letter-spacing: 2.4px;
	margin-bottom: 80px;
	text-align: center;
	font-size: 40px;
	color: #333;
}

.downloads__items {
	display: flex;
	margin-bottom: 80px;
	border-radius: 8px;
	padding: 30px;
}

.downloads__items-img {
	width: 576px;
	flex: 0 0 auto;
}

.downloads__items-info {
	display: flex;
	flex-direction: column;
	margin: 0 0 0 120px;
	padding-left: 0;
}

.downloads__items-title {
	margin-top: 16px;
	margin-bottom: 40px;
	letter-spacing: 1.68px;
	font-size: 28px;
}

.downloads__items-summary {
	flex-grow: 1;
	margin-bottom: 0;
}

.downloads__items-summary-text {
	display: flex;
	align-items: center;
	margin-bottom: 16px;
}

.downloads__items-summary-text-icon {
	width: 16px;
	height: 16px;
	background-color: #5cb531;
	border-radius: 16px;
	margin-right: 8px;
}

.downloads__items-summary-text p {
	margin-bottom: 0;
	font-size: 16px;
}

.downloads-contact {
	text-align: center;
	margin-top: 30px;
	background-color: white;
	padding: 60px 0;
	width: 740px;
	height: auto;
	border-radius: 8px;
	margin-bottom: 27px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.downloads-contact p {
	font-size: 18px;
	margin-bottom: 32px;
	letter-spacing: 1.08px;
}

.downloads-contact .download-link,
.downloads-contact .dkp-download-link {
	width: 324px;
	margin: 0 auto;
}

/* PCとスマホで画像切り替え */
.img-pc {
	display: block;
}
.img-sp {
	display: none;
}
/* 問い合わせセクション */
.contact__img {
	width: 980px;
}

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

	/* ヘッドラインエリアのレスポンシブ調整 */
	.layout-wrapper .main .headline__title {
		padding: 0 20px;
	}

	.layout-wrapper .main .headline__title-logo {
		height: 50px;
	}

	.layout-wrapper .main .headline__title-end {
		font-size: 38px;
		line-height: 50px;
		margin-left: 10px;
	}
	.layout-wrapper .main .headline__sub-title strong {
		margin: 0;
		font-size: smaller;
	}
	.layout-wrapper .main .headline__download {
		width: 90%;
		padding: 20px;
	}

	.layout-wrapper .main .headline__download-contents {
		flex-direction: column;
		align-items: center;
	}

	.layout-wrapper .main .headline .blank {
		height: auto;
		margin: 20px 0;
		width: 100%;
	}

	.layout-wrapper .main .headline .blank img {
		width: 100%;
		max-width: 100%;
		height: auto;
	}

	/* 注意エリアのレスポンシブ調整 */
	.layout-wrapper .main .notice {
		width: 90%;
		margin: 20px auto 50px;
	}

	.layout-wrapper .main .notice-main {
		padding: 20px;
	}

	.layout-wrapper .main .notice-main-columns {
		flex-direction: column;
	}

	.layout-wrapper .main .notice-main-column {
		margin-bottom: 20px;
	}

	.layout-wrapper .main .notice-footer {
		flex-direction: column;
		width: 100%;
		padding: 20px;
	}

	.layout-wrapper .main .notice-footer-download {
		margin-bottom: 20px;
	}

	/* ダウンロードリンクのレスポンシブ調整 */
	.download-link a,
	.dkp-download-link a {
		width: auto;
		padding: 15px;
		font-size: 16px;
	}

	.download-link .id-manual,
	.dkp-download-link .id-manual {
		width: auto;
		padding: 15px;
	}

	/* 特徴セクションのレスポンシブ調整 */
	.feature__contents-items {
		width: 90%;
	}

	.feature__contents-items-body {
		flex-direction: column;
	}

	.feature__contents-items-body-left {
		width: 100%;
	}

	.feature__contents-items-body-right {
		width: 100%;
		padding: 20px;
	}

	.feature__contents-video video {
		width: 100%;
		height: auto;
	}

	.feature .notice-bottom {
		flex-direction: column;
		padding: 20px;
	}

	.feature .notice-bottom .id-circle {
		margin-bottom: 20px;
		margin-right: 0;
	}
	.layout-wrapper .main .feature .notice-bottom-desc {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.feature .blank {
		height: auto;
		margin: 20px 0;
		width: 100%;
	}
	/* FAQセクションのレスポンシブ対応 */
	.faq__list-item {
		width: 100%;
	}

	/* ダウンロードセクションのレスポンシブ対応 */
	.downloads__popup-img {
		width: 100%;
	}

	.downloads__popup-text {
		position: static;
		margin-top: 20px;
		color: #333;
	}

	.downloads__items {
		flex-direction: column;
		align-items: center;
	}

	.downloads__items-img {
		width: 100%;
		max-width: 100%;
		margin-bottom: 20px;
	}

	.downloads__items-info {
		margin: 0;
	}

	/* コンタクトセクションのレスポンシブ対応 */
	.contact {
		padding: 60px 15px;
	}

	.contact__img {
		width: 100%;
		max-width: 500px;
		height: auto;
	}

	.contact__banner {
		width: 95%;
		max-width: 400px;
		position: static;
		margin: 20px auto;
		padding: 20px;
		background-color: rgba(0, 0, 0, 0.8);
		border-radius: 8px;
	}

	.contact__banner p {
		display: none;
	}

	.contact__banner .download-link,
	.contact__banner .dkp-download-link {
		position: static;
		margin: 0 auto;
		width: 100%;
	}

	.contact__banner .download-link a,
	.contact__banner .dkp-download-link a {
		width: 100%;
		padding: 15px 10px;
		font-size: 14px;
		text-align: center;
	}

	.contact__title {
		font-size: 20px;
		text-align: center;
		padding: 0 15px;
		margin-top: 30px;
	}

	.contact__border {
		width: 90%;
	}

	.contact__link {
		flex-direction: column;
		gap: 15px;
		width: 95%;
	}

	.contact__link .download-link:first-child {
		margin-right: 0;
	}

	.contact__link .download-link,
	.contact__link .dkp-download-link {
		width: 100%;
	}

	.contact__link .download-link a,
	.contact__link .dkp-download-link a {
		width: 100%;
		padding: 15px 10px;
		font-size: 14px;
	}
	.contact__title {
		font-size: 20px;
	}
	.contact__logo {
		height: 65px;
		margin: 30px 0 53px;
		max-width: none;
	}
}

/* JavaScriptサポート用 */
.dropdown-toggle {
	position: relative;
}

.dropdown-toggle:after {
	content: '';
	display: inline-block;
	margin-left: 5px;
	vertical-align: middle;
}

/* 連絡セクション */
.contact {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 150px 0;
	background-color: #fff;
	margin: 0;
}

.contact__banner {
	position: relative;
	width: 980px;
	top: -135px;
	margin-bottom: 127px;
	background-color: transparent;
	padding: 0;
	border-radius: 0;
}

.contact__banner p {
	position: absolute;
	top: 14px;
	left: 65px;
	width: 438px;
	color: #fff;
	font: normal normal 600 18px/28px Noto Sans JP;
	letter-spacing: 1.08px;
	margin: 0;
}

.contact__banner .download-link,
.contact__banner .dkp-download-link {
	position: absolute;
	top: 60px;
	right: 10px;
	width: 95%;
}

.contact__banner .download-link a,
.contact__banner .dkp-download-link a {
	padding: 27px 31px;
}

/* .contact__title {
	letter-spacing: 1.92px;
	margin-bottom: 30px;
	font-size: 32px;
} */

.contact__border {
	width: 1080px;
	height: 1px;
	background: #333 0 0 no-repeat padding-box;
	opacity: 0.3;
	margin: 0 0 30px;
}

.contact__logo {
	height: 65px;
	margin: 30px 0 53px;
	max-width: none;
}

.contact__link {
	display: flex;
	justify-content: center;
	gap: 20px;
}

.contact__link .download-link:first-child {
	margin-right: 26px;
}

/* お知らせセクション */
.layout-wrapper .main .notice {
	width: 980px;
	margin-bottom: 80px;
	border: 2px solid #ff4d4d;
}

.layout-wrapper .main .notice-header {
	text-align: center;
	background-color: #ff4d4d;
	color: #fff;
	padding: 7px;
	letter-spacing: 1.2px;
}

.layout-wrapper .main .notice-header p {
	margin: 0;
}

.layout-wrapper .main .notice-header p span {
	color: #fff47c;
}

.layout-wrapper .main .notice-main {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-color: #fff;
	padding: 20px 55px 40px;
}

.layout-wrapper .main .notice-main .icon-circle {
	width: 27px;
	height: 27px;
	margin-right: 10px;
}

[dir='ltr'] .layout-wrapper .main .notice-main-desc {
	text-align: left;
}

[dir='rtl'] .layout-wrapper .main .notice-main-desc {
	text-align: right;
}

.layout-wrapper .main .notice-main-desc {
	margin-bottom: 0;
	line-height: 2;
	font-size: 22px;
	letter-spacing: 1.32px;
	color: #ff4d4d;
}

.layout-wrapper .main .notice-main-columns {
	margin-top: 20px;
	display: flex;
	grid-column-gap: 70px;
	-moz-column-gap: 70px;
	column-gap: 70px;
	width: 100%;
}

.layout-wrapper .main .notice-main-column {
	padding: 10px 20px;
	width: 100%;
	background-color: #fef2f2;
	border-radius: 4px;
}

.layout-wrapper .main .notice-main-column .column-title {
	font-size: 20px;
	font-weight: 700;
	color: #ff4d4d;
	text-align: center;
	margin-bottom: 10px;
}

.layout-wrapper .main .notice-main-column .h-border {
	width: 100%;
	background-color: #ff4d4d;
	height: 2px;
}

.layout-wrapper .main .notice-main-column .column-contents {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 28px;
	margin-bottom: 28px;
	grid-column-gap: 30px;
	-moz-column-gap: 30px;
	column-gap: 30px;
	width: 100%;
}

.layout-wrapper .main .notice-main-column .column-contents .column-desc {
	font-size: 20px;
	font-weight: 700;
	line-height: 29px;
	letter-spacing: 1.2px;
	text-align: center;
	margin: 0;
}

.layout-wrapper .main .notice-main-column .column-contents .column-desc span {
	color: #ff4d4d;
}

.layout-wrapper .main .notice-main-column .column-contents .download-link {
	background-color: #5cb531;
}

.layout-wrapper .main .notice-main-column .column-contents .download-link a {
	width: 340px;
	color: #fff;
}

.layout-wrapper .main .notice-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	grid-column-gap: 50px;
	-moz-column-gap: 50px;
	column-gap: 50px;
	padding: 20px 55px 20px 50px;
	width: 976px;
	background-color: #f5f5f5;
	font-size: 24px;
}

.layout-wrapper .main .notice-footer-download {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.layout-wrapper .main .notice-footer-link {
	color: #5cb531;
	text-decoration: underline;
	font-size: 16px;
}

.layout-wrapper .main .notice-footer-link:hover {
	color: #9bd181;
}

.loading-background {
	width: 100%;
	height: 100%;
	background-color: #333;
	opacity: 0.3;
}

.loading-progress {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #5cb531;
}

/* レスポンシブ対応 */
@media (max-width: 1100px) {
	.layout-wrapper .main .headline__process,
	.layout-wrapper .main .headline__download,
	.layout-wrapper .main .notice,
	.layout-wrapper .main .notice-footer {
		width: 90%;
	}

	.layout-wrapper .main .headline .blank .img-pc {
		width: 100%;
		max-width: 1110px;
	}

	.feature__contents-items {
		width: 95%;
		max-width: 940px;
	}
}

@media (max-width: 900px) {
	.feature__contents-items-body {
		flex-direction: column;
	}

	.feature__contents-items-body-right {
		width: 100%;
		padding: 20px;
		align-items: center;
	}

	.feature__contents-items-body-right-text {
		text-align: left;
		margin: 10px;
	}

	.layout-wrapper .main .notice-footer {
		flex-direction: column;
		padding: 20px;
		width: 100%;
	}

	.layout-wrapper .main .notice-footer-download {
		margin-bottom: 20px;
		width: 100%;
	}

	.layout-wrapper .main .notice-footer-link {
		margin-top: 15px;
		text-align: center;
	}

	.layout-wrapper .main .notice-main-columns {
		flex-direction: column;
	}

	.layout-wrapper .main .notice-main-column {
		width: 100%;
		margin-bottom: 20px;
	}
}

@media (max-width: 768px) {
	.headline__title {
		font-size: 24px;
	}

	.headline__title-end {
		font-size: 36px;
	}

	.highlight-year,
	.highlight-month {
		font-size: 30px;
	}

	.layout-wrapper .main .notice-main {
		padding: 20px 15px 40px;
	}

	.layout-wrapper .main .download-link a,
	.layout-wrapper .main .dkp-download-link a {
		width: 100%;
		font-size: 16px;
		padding: 20px 15px;
	}

	.layout-wrapper .main .download-desc {
		flex-wrap: wrap;
		justify-content: center;
	}

	.headline__download-contents {
		flex-direction: column;
		align-items: center;
	}

	.feature__title span {
		font-size: 32px;
	}

	.feature__sub-title-top span {
		font-size: 22px;
	}

	.feature__contents {
		padding: 20px;
	}

	.feature__contents-title h2 {
		font-size: 30px;
	}

	.feature__contents-items-body {
		flex-direction: column;
		align-items: center;
	}

	.feature__contents-items-body-left {
		margin: 30px 0 0;
	}

	.feature__contents-items-body-right {
		padding-left: 0;
		text-align: center;
	}

	.feature__contents-items-body-right-title {
		justify-content: center;
		font-size: 18px;
	}

	.downloads__items {
		flex-direction: column;
		align-items: center;
	}

	.downloads__items-img {
		margin-bottom: 20px;
	}

	.downloads__items-info {
		padding-left: 0;
		text-align: center;
	}

	.downloads__items-summary-text {
		justify-content: center;
	}

	.contact__link {
		flex-direction: column;
		align-items: center;
	}
}

/* レスポンシブ対応 - スマートフォン向け強化 */
@media (max-width: 576px) {
	/* ヘッドラインセクションの改善 */
	.layout-wrapper .main .headline {
		padding: 30px 15px;
	}

	.layout-wrapper .main .headline__title {
		font-size: 22px;
	}

	.layout-wrapper .main .headline__title-logo {
		height: 40px;
	}

	.layout-wrapper .main .headline__title-end {
		font-size: 24px;
		line-height: 40px;
		margin-left: 10px;
	}

	.layout-wrapper .main .headline__sub-title {
		flex-direction: column;
		width: 100%;
		padding: 0 15px;
	}

	.layout-wrapper .main .headline__process {
		flex-direction: column;
		padding: 20px;
		gap: 15px;
	}

	.layout-wrapper .main .headline__process img {
		margin-right: 0 !important;
	}

	.layout-wrapper .main .headline__download {
		width: 100%;
		padding: 20px 15px;
	}

	.layout-wrapper .main .headline__download-contents {
		flex-direction: column;
	}

	.layout-wrapper .main .headline .blank .img-pc {
		width: 100%;
		height: auto;
	}

	/* ダウンロードリンクの改善 */
	.layout-wrapper .main .download-link a,
	.layout-wrapper .main .dkp-download-link a {
		width: 100%;
		font-size: 14px;
		padding: 15px 10px;
		word-break: break-word;
	}

	.layout-wrapper .main .download-desc {
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 20px;
	}

	.download-item {
		width: 100%;
	}

	/* 特徴セクションの改善 */
	.feature__title div {
		flex-direction: column;
		align-items: center;
	}

	.feature__title .img-logo {
		margin-right: 10px;
		margin-bottom: 15px;
	}

	.feature__contents-title h2 {
		font-size: 24px !important;
		letter-spacing: 5px !important;
		margin: 0 5px !important;
	}

	.feature__contents-video video {
		width: 100%;
		height: auto;
	}
	.feature__sub-title-top strong {
		margin: 0px 10px;
	}
	/* FAQ セクションの改善 */
	.faq__list-item-question {
		flex-direction: column;
		align-items: flex-start;
	}

	.faq__list-item-question-number {
		margin-bottom: 10px;
	}

	.faq__list-item-answer-contents {
		flex-direction: column;
	}

	.faq__list-item-answer-contents-mark {
		margin-bottom: 10px;
		margin-right: 0;
	}

	/* ダウンロードセクションの調整 */
	.downloads__items {
		padding: 20px 15px;
	}

	.downloads__items-title {
		font-size: 20px !important;
		text-align: center;
		margin-top: 10px;
		margin-bottom: 20px;
	}

	.downloads__items-info {
		margin: 10px 0 0 0;
	}

	/* スマホ版のさらなる調整 */
	/* ヘッドライン部分の仲介会社様への表示調整 */
	.layout-wrapper .main .headline__target {
		font-size: 16px;
		text-align: center;
		margin-bottom: 15px;
	}

	.layout-wrapper .main .headline__target-from {
		font-size: 18px;
	}

	.layout-wrapper .main .headline__target-and {
		font-size: 14px;
	}

	.layout-wrapper .main .headline__target-to {
		font-size: 16px;
	}

	/* ヘッドラインタイトルの調整 */
	.layout-wrapper .main .headline__title div {
		display: inline-grid;
		justify-content: center;
		margin-bottom: 15px;
	}

	.layout-wrapper .main .headline__title-logo {
		height: 40px;
		margin: 0 auto 10px;
	}

	.layout-wrapper .main .headline__title-end {
		font-size: 22px;
		line-height: 1.3;
		margin-left: 0;
		text-align: center;
	}

	/* 注意事項エリアの調整 */
	.layout-wrapper .main .notice-main {
		padding: 20px 15px;
	}

	.layout-wrapper .main .notice-main-desc {
		font-size: 18px;
		line-height: 1.5;
		text-align: center;
	}

	.layout-wrapper .main .notice-main-column .column-contents {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 15px;
	}

	.layout-wrapper .main .notice-main-column .column-contents .column-desc {
		font-size: 16px;
		line-height: 1.5;
		width: 100%;
		text-align: center;
	}

	.layout-wrapper .main .notice-main-column .column-contents .download-link,
	.layout-wrapper .main .notice-main-column .column-contents .dkp-download-link {
		width: 100%;
		margin-top: 5px;
	}

	.layout-wrapper .main .notice-main-column .column-contents .download-link a,
	.layout-wrapper .main .notice-main-column .column-contents .dkp-download-link a {
		width: 100%;
		padding: 15px 10px;
		font-size: 14px;
	}

	/* FAQ項目の調整 */
	.faq__list-item-question-text {
		font-size: 16px !important;
		line-height: 1.5;
	}

	.faq__list-item-answer-contents-comment {
		font-size: 14px;
		line-height: 1.6;
	}

	.faq__list-item-title-text {
		font-size: 20px !important;
	}
}

@media screen and (max-width: 576px) {
	/* ヘッドラインセクションの改善 */
	.layout-wrapper .main .headline {
		padding: 30px 15px;
	}

	.layout-wrapper .main .headline__title {
		font-size: 22px;
	}

	.layout-wrapper .main .headline__title-logo {
		height: 40px;
	}

	.layout-wrapper .main .headline__title-end {
		font-size: 24px;
		line-height: 40px;
		margin-left: 10px;
	}

	.layout-wrapper .main .headline__sub-title {
		flex-direction: column;
		width: 100%;
		padding: 0 15px;
	}

	.layout-wrapper .main .headline__process {
		flex-direction: column;
		padding: 20px;
		gap: 15px;
	}

	.layout-wrapper .main .headline__process img {
		margin-right: 0 !important;
	}

	.layout-wrapper .main .headline__download {
		width: 100%;
		padding: 20px 15px;
	}

	.layout-wrapper .main .headline__download-contents {
		flex-direction: column;
	}

	.layout-wrapper .main .headline .blank .img-pc {
		width: 100%;
		height: auto;
	}

	/* ダウンロードリンクの改善 */
	.layout-wrapper .main .download-link a,
	.layout-wrapper .main .dkp-download-link a {
		width: 100%;
		font-size: 14px;
		padding: 15px 10px;
		word-break: break-word;
	}

	.layout-wrapper .main .download-desc {
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 20px;
	}

	.download-item {
		width: 100%;
	}

	/* 特徴セクションの改善 */
	.feature__title div {
		flex-direction: column;
		align-items: center;
	}

	.feature__title .img-logo {
		margin-right: 10px;
		margin-bottom: 15px;
	}

	.feature__contents-title h2 {
		font-size: 24px !important;
		letter-spacing: 5px !important;
		margin: 0 5px !important;
	}

	.feature__contents-video video {
		width: 100%;
		height: auto;
	}
	.feature__sub-title-top strong {
		margin: 0px 10px;
	}
	/* FAQ セクションの改善 */
	.faq__list-item-question {
		flex-direction: column;
		align-items: flex-start;
	}

	.faq__list-item-question-number {
		margin-bottom: 10px;
	}

	.faq__list-item-answer-contents {
		flex-direction: column;
	}

	.faq__list-item-answer-contents-mark {
		margin-bottom: 10px;
		margin-right: 0;
	}

	/* ダウンロードセクションの調整 */
	.downloads__items {
		padding: 20px 15px;
	}

	.downloads__items-title {
		font-size: 20px !important;
		text-align: center;
		margin-top: 10px;
		margin-bottom: 20px;
	}

	.downloads__items-info {
		margin: 10px 0 0 0;
	}

	/* スマホ版のさらなる調整 */
	/* ヘッドライン部分の仲介会社様への表示調整 */
	.layout-wrapper .main .headline__target {
		font-size: 16px;
		text-align: center;
		margin-bottom: 15px;
	}

	.layout-wrapper .main .headline__target-from {
		font-size: 18px;
	}

	.layout-wrapper .main .headline__target-and {
		font-size: 14px;
	}

	.layout-wrapper .main .headline__target-to {
		font-size: 16px;
	}

	/* ヘッドラインタイトルの調整 */
	.layout-wrapper .main .headline__title div {
		display: inline-grid;
		justify-content: center;
		margin-bottom: 15px;
	}

	.layout-wrapper .main .headline__title-logo {
		height: 40px;
		margin: 0 auto 10px;
	}

	.layout-wrapper .main .headline__title-end {
		font-size: 22px;
		line-height: 1.3;
		margin-left: 0;
		text-align: center;
	}

	/* 注意事項エリアの調整 */
	.layout-wrapper .main .notice-main {
		padding: 20px 15px;
	}

	.layout-wrapper .main .notice-main-desc {
		font-size: 18px;
		line-height: 1.5;
		text-align: center;
	}

	.layout-wrapper .main .notice-main-column .column-contents {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 15px;
	}

	.layout-wrapper .main .notice-main-column .column-contents .column-desc {
		font-size: 16px;
		line-height: 1.5;
		width: 100%;
		text-align: center;
	}

	.layout-wrapper .main .notice-main-column .column-contents .download-link,
	.layout-wrapper .main .notice-main-column .column-contents .dkp-download-link {
		width: 100%;
		margin-top: 5px;
	}

	.layout-wrapper .main .notice-main-column .column-contents .download-link a,
	.layout-wrapper .main .notice-main-column .column-contents .dkp-download-link a {
		width: 100%;
		padding: 15px 10px;
		font-size: 14px;
	}

	/* FAQ項目の調整 */
	.faq__list-item-question-text {
		font-size: 16px !important;
		line-height: 1.5;
	}

	.faq__list-item-answer-contents-comment {
		font-size: 14px;
		line-height: 1.6;
	}

	.faq__list-item-title-text {
		font-size: 20px !important;
	}

	/* downloadsセクションのさらなる調整 */
	.downloads {
		padding: 60px 0;
	}

	.downloads__popup {
		max-width: 95%;
		top: -20px;
		padding: 15px;
		position: relative;
	}

	.downloads__popup-img {
		width: 100%;
		max-width: 350px;
		height: auto;
	}

	.downloads__popup-text {
		position: absolute;
		top: 40%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 80%;
		margin: 0;
		color: #fff;
		text-align: center;
	}

	.downloads__popup-text span {
		font-size: 12px !important;
		line-height: 1.4;
		display: block;
		word-wrap: break-word;
	}

	.downloads__popup-text br {
		display: none;
	}

	.downloads__title {
		font-size: 22px !important;
		margin-bottom: 30px;
		letter-spacing: 0;
	}

	.downloads__items {
		width: 90%;
		margin-bottom: 30px;
		padding: 15px;
	}

	.downloads__items-img {
		max-width: 80%;
	}

	.downloads__items-title {
		font-size: 18px !important;
		letter-spacing: 0;
		line-height: 1.4;
	}

	.downloads__items-title br {
		display: none;
	}

	.downloads__items-summary-text p {
		font-size: 14px !important;
	}

	.downloads__items-info .dkp-download-link a {
		font-size: 14px;
	}

	.downloads-contact {
		width: 90%;
		padding: 25px 15px;
	}

	.downloads-contact p {
		font-size: 14px;
		margin-bottom: 15px;
	}

	.downloads-contact .dkp-download-link a {
		font-size: 14px;
	}

	/* コンタクトセクションの小画面対応 */
	.contact {
		padding: 40px 10px;
	}

	.contact__banner {
		width: 100%;
		max-width: none;
		margin: 15px auto;
		padding: 15px;
	}

	.contact__banner p {
		display: none;
	}

	.contact__banner .download-link a,
	.contact__banner .dkp-download-link a {
		padding: 12px 8px;
		font-size: 13px;
	}

	.contact__title {
		font-size: 18px;
		line-height: 1.4;
	}

	.contact__logo {
		height: 50px;
	}

	.contact__link .download-link a,
	.contact__link .dkp-download-link a {
		padding: 12px 8px;
		font-size: 13px;
	}
}

/* 極小デバイス対応 (320px以下) */
@media screen and (max-width: 320px) {
	.contact {
		padding: 30px 5px;
	}

	.contact__banner {
		padding: 10px;
		margin: 10px auto;
	}

	.contact__banner p {
		display: none;
	}

	.contact__banner .download-link a,
	.contact__banner .dkp-download-link a {
		padding: 10px 5px;
		font-size: 12px;
	}

	.contact__title {
		font-size: 16px;
		padding: 0 10px;
	}

	.contact__logo {
		height: 40px;
	}

	.contact__link .download-link a,
	.contact__link .dkp-download-link a {
		padding: 10px 5px;
		font-size: 12px;
	}
}
