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

.confirm footer .back_to_top,
.confirm footer .inquiry_wrap,
.confirm footer .footer_inner {
	display: none;
}
.contents .inner {
	width: auto;
}
.contents .cv_area {
	width: auto;
	text-align: center;
}
.contents .note,
.contents .notes {
	font-size: 12px;
}

@media screen and (max-width: 640px) {
	.contents {
		margin: 0;
	}
}
/* 共通 */
html{
	scroll-behavior: smooth;
	scroll-padding-top: 116px;
}
.wrapper {
	font-family: 'Noto Sans JP', sans-serif;
	width: 100%;
}
.contents img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}
.contents .note {
	font-size: 12px;
	line-height: 1.3;
}
.contents em {
	font-style: normal;
	font-weight: bold;
}
.contents .col_red {
	color: #e73606;
}
.contents .col_nvy {
	color: #0A297E;
}
.contents .col_ore {
	color: #DB3205;
}
.contents li {
	list-style: none;
}
.mv + .cv_area{
	padding-top: 16px;
    padding-bottom: 10px;
}
.sticky.cv_area{
	bottom:0;
	position: sticky;
	height: 116px;
}
.contents a.link_txt {
    color: #3766E8;
    text-decoration: underline;
}

/* ボタン
----------------------------------------------- */
.contents .cv_area {
	padding: 20px 0;
}
.contents .cv_area .btn_box{
	padding: 20px;
	background: #4D88C5;
}
.cv_btn {
	color: #fff;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap:20px;
	line-height: 1;
	margin: auto;
	padding: 6px;
	border-radius: 50px;
	background: #FC6C0C;
	box-shadow: 0 3px 0 #B72B05;
	width: 100%;
	max-width: 650px;
}
.cv_btn:hover {
	opacity: .8;
}
a.back_btn {
	display: block;
	text-decoration: none;
	color: #333;
	background-color: #efefef;
	border-radius: 10px;
	padding: 10px;
	text-align: center;
}
.cv_btn.main {
	display: block;
	color: #fff;
	text-align: center;
	font-weight: bold;
	max-width: 650px;
	padding: 20px;
	font-size: 1.25em;
}
.contents .cv_btn p {
	font-weight: bold;
	font-size: min(5.86vw, 30px);
	line-height: 1.2;
}
.contents .cv_area .cv_btn {
    background: #121212;
    box-shadow: 0 3px 6px #00000029;
    border: 2px solid #fff;
    font-weight: bold;
    color: #fff;
    width: 100%;
	padding: 16px;
}
.contents .cv_area .cv_btn p {
	font-size: min(4.6vw, 20px);
}
.contents .cv_area .btn_box{
	margin-bottom: 10px;
}
.contents .btn {
    display: block;
    padding: 16px;
    border-radius: 100px;
    max-width: 400px;
    text-align: center;
    margin: auto;
}
.contents .btn.link_btn {
	display: block;
    border: 1px solid #d1d1d1;
    background: #fff;
    margin: auto;
    padding: 8px 20px;
    font-size: 16px;
    font-weight: normal;
    color: #666;
}
/* ttl
----------------------------------------------- */
.contents .ttl {
	font-weight: bold;
}
/* contents
----------------------------------------------- */
.contents_inner {
	display: block;
	max-width: 750px;
	margin: 32px auto;
}
.contents .intro_box{
	padding: 24px 20px 0;
}
.contents .intro_box .ttl{
	font-size: 1.3em;
	margin-bottom: 16px;
}
.contents .step_card li{
	display: flex;
}
.contents .step_card li img{
	max-width: 200px;
	margin: auto;
}
.article_area,
.product_area{
	padding: 20px;
	background: #F0F4F7;
	display: flex;
	flex-direction: column;
	gap:24px;
}
.article_area > div,
.product_area > div{
	padding: 20px;
	background: #fff;
	border-radius: 20px;
}
.contents h2{
	margin-bottom: 10px;
	color: #4D88C5;
	font-size: 1.28em;
}
.contents h2.img_ttl{
	text-align: center;
}
.contents .step_card{
	margin-top: 20px;
	display: flex;
	flex-direction: column;
	gap:24px;
}
.contents .step_card li{
	border-top: 1px solid #d1d1d1;
	display: flex;
	flex-direction: column;
	gap:10px;
}
#product_series_lineup_min .products_wrap{
    display: flex;
    flex-direction: column;
    gap:16px;
	margin-top: 24px;
}
#product_series_lineup_min .products_wrap > *{
    min-width: 0;
}
#product_series_lineup_min .products_wrap .product{
    background: #F0F4F7;
    border-radius: 20px;
    overflow: hidden;
}
#product_series_lineup_min .products_wrap .product .inner,
#product_series_lineup_min .products_wrap .product.simple{
    padding: 20px;
}
#product_series_lineup_min .product .link_btn{
    margin-top: 16px;
}
#product_series_lineup_min .product .ttl{
    font-size: 1.15em;
}

/*フォーム
----------------------------------------------- */

.form_area {
	margin: 0 auto 60px;
}
.form_area form {
	max-width: 800px;
	margin: auto;
	padding: 0 15px;
}
.form_area .speech_main_ttl {
	display: block;
	position: relative;
	margin: 0 auto 20px;
	background: #0A297E;
	color: #fff;
	font-size: min(6.4vw, 26px);
	text-align: center;
	font-weight: 500;
	line-height: 1.5;
	padding: 20px;
}
.form_area .speech_main_ttl::after {
	content: "";
	position: absolute;
	left: calc(50% - 6px);
	border: 12px solid transparent;
	bottom: -25px;
	border-top: 14px solid #0A297E;
	z-index: 1;
}
.form_area .general_inner>dt {
	background: #ededed;
	padding: 10px 20px;
	border-radius: 10px;
	margin: 0 0 15px;
}
.general_inner dd {
	margin: 0 0 15px;
	padding: 0 20px;
}
.form_area .must {
	color: #FC0E0E;
	border: 1px solid #FC0E0E;
	background: #fff;
	padding: 0 5px;
	margin-left: 5px;
	border-radius: 5px;
	font-size: 0.75em;
	display: inline-block;
}
.form_area .customer {
	padding: 10px 0;
}
.form_area .customer li {
	list-style: none;
	margin: 0 0 15px;
}
.form_area .customer li label {
	display: inline-block;
	position: relative;
	margin: 0 0 5px;
}
.form_area .error_txt {
	color: #f00;
	font-size: 0.875em;
}
.form_area .customer li input,
.form_area textarea {
	display: block;
	width: 100%;
	max-width: 400px;
	border-radius: 5px;
	border: 1px solid #d1d1d1;
	padding: 5px;
}
.privacy_area>p {
	padding: 10px 0;
	font-size: 0.875em;
}
.form_area .privacy_txt {
	height: 140px;
	overflow: auto;
	margin: 0 0 20px;
	border: 1px solid #ccc;
	border-radius: 3px;
	color: #75777b;
	font-size: 0.813em;
	line-height: 1.5;
	padding: 8px;
}
/*フォーム 確認画面*/

.confirm .contents {
	width: 100%;
	max-width: 700px;
	margin: auto;
	padding: 0;
}
.confirm h1 {
	font-size: 26px;
	text-align: center;
	margin: 0 auto 20px;
	padding-top: 40px;
}
.confirm dt {
	background: #ededed;
	padding: 10px;
	margin-bottom: 10px;
}
.confirm .customer li {
	list-style: none;
	padding: 10px;
}
.confirm .customer li>p {
	display: inline-block;
}
.confirm .customer_ttl::after {
	content: ":";
}
.confirm .general_inner .date {
	padding: 10px;
}
.confirm .btn_area {
	display: flex;
	padding: 20px;
	align-items: center;
	justify-content: center;
}
.confirm .btn_area a {
	padding: 20px;
	border-radius: 10px;
}
.confirm .btn_area a.back_btn {
	background: #e6e5e5;
	color: #333;
	margin: 0 20px 0 0;
	font-weight: bold;
	width: 90px;
}
.confirm .btn_area a.send_btn {
	color: #fff;
	font-size: 1.5em;
	background: #fc3f0c;
	box-shadow: 0 4px 0 #a72b0a;
	width: calc(100% - 90px);
	text-align: center;
	font-weight: bold;
	text-decoration: none;
}
.confirm header {
	display: none;
}
.confirm footer small {
	background: #fff;
}
.thanks .contents {
	padding-right: 15px;
	padding-left: 15px;
	max-width: 650px;
	margin: 0 auto 20px;
}
.thanks .contents h1 {
	text-align: center;
	margin: 30px 0;
	font-size: 26px;
}
.thanks .customer_wrap {
	margin: 0 0 10px;
}
.thanks .txt_wrap p:not([class]) {
	margin-bottom: 20px;
}
.thanks .thanks_info {
	margin: 0 0 30px;
	padding: 30px 15px 15px;
	border-top: 1px solid #d1d1d1;
}
.thanks .thanks_info div {
	margin: 0 0 30px;
	border-bottom: 1px dotted #d1d1d1;
}
.thanks .thanks_info div:last-child {
	border: 0;
}
.thanks .thanks_info dt {
	font-weight: bold;
	font-size: 1.2em;
	margin: 0 0 15px;
}
.thanks .thanks_info dd{
	padding: 0 0 16px;
}
.thanks .thanks_info dd a.cv_btn {
	justify-content: center;
	max-width: 400px;
	margin: 30px auto;
	font-size: 20px;
    padding: 10px;
}
/* 画面サイズ別
----------------------------------------------- */

/* タブレット縦以上 */

@media screen and (min-width: 768px) {
	.index .wrapper{
		font-size: 18px;
	}
	.sp_br,
	.pc_line {
		display: none;
	}
	.cv_area {
		padding: 30px;
	}
	.article_area, .product_area {
		padding: 40px 60px;
		gap: 24px;
	}
	.article_area > div, .product_area > div {
		padding: 40px 60px;
	}
	.contents .step_card{
		flex-direction: row;
	}
	.contents .step_card li{
		border: 0;
		flex: 1;
	}
	#product_series_lineup_min .products_wrap{
        flex-flow: row wrap;
        gap: 24px;
    }
    #product_series_lineup_min .products_wrap .product{
        width: calc(50% - 12px);
    }
    #product_series_lineup_min .products_wrap .product.simple{
        width: 100%;
    }
	.form_area .customer {
		max-width: 400px;
		margin: auto;
	}
	.thanks .txt_wrap {
		padding: 30px 20px;
	}
	.thanks .txt_wrap h1 {
		margin: 0 0 33px;
		font-size: 25px;
	}
	.thanks .contents .variation a:hover {
		background-color: #0a319c;
		transition: .3s;
	}
}