@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Archivo&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New&display=swap');

/*common
-----------------------------------------------------------------------------------------*/
html,
body {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

html {
	font-size: 62.5%;
}

body {
	color: #111111;
	font-size: 1.6rem;
	font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
}

.font-en {
	font-family: 'Montserrat', sans-serif;
}

/* section-title */

.section-title {
	color: #0079C9;
	font-weight: 700;
	font-size: 4.5rem;
	position: relative;
}

.section-title::before {
	content: attr(data-title);
	font-family: 'Montserrat', sans-serif;
	font-size: 1.6rem;
	display: block;
	position: absolute;
	top: -41px;
	left: 50%;
	transform: translateX(-50%);
}

/* font-family: 'Montserrat', sans-serif; */

/* ボタン */

.contact-btn {
	font-size: 2rem;
	font-weight: 700;
	width: 100%;
	display: inline-block;
	background-color: #0079C9;
	border: 2px solid #0079C9;
	border-radius: 8px;
	padding: 14px 0;
	box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.16);
}

.contact-btn:hover {
	color: #0079C9;
	background-color: #fff;
}

/* 大きめボタン */
.contact-message {
	font-size: 2.7rem;
	font-weight: 700;
	color: #F4911A;
	margin-bottom: 13px;
}

.contact-main-btn {
	background-image: url(../images/cta-btn-bg.png);
	background-size: cover;
	background-repeat: no-repeat;
	font-size: 3.6rem;
	font-weight: bold;
	width: 726px;
	display: inline-block;
	padding: 49px 0;
}

.contact-main-btn:hover {
	opacity: 0.7;
	transform: translateY(-5px);
}

.cta-box {padding:100px 0 50px 0; background:#F2FAFF;}
.cta-box p {position:relative; margin:0 auto 100px auto; max-width:1000px; font-size:28px; line-height:1.6; font-weight:600; text-align:center;}
.cta-box p strong {display:inline-block;}
.cta-box p strong:nth-of-type(1) {margin:0 5px; color:#027BCF;}
.cta-box p strong:nth-of-type(2) {margin:5px 10px 15px 0; padding:5px 10px; color:#fff; background:#027BCF; border-radius:8px;}
.cta-box p strong:nth-of-type(3) {margin:0 10px 0 0; padding:5px 10px; color:#fff; background:#E6963C; border-radius:8px;}

@media screen and (max-width: 768px) {
.cta-box {padding:50px 0 50px 0;}
.cta-box p {margin:0 auto 40px auto; font-size:18px;}
.cta-box p strong {font-size:110%;}
.cta-box p strong:nth-of-type(2) {margin:5px 5px 15px 0;}
.cta-box p strong:nth-of-type(3) {margin:0 5px 0 0;}
.cta-box.btm-cta {display:none;}
}

@media screen and (max-width: 430px) {
.cta-box {padding:20px 0 20px 0;}
.cta-box p {margin:0 auto 20px auto; font-size:15px;}
.cta-box p strong {font-size:115%;}
.cta-box p strong:nth-of-type(1) {margin:0 2px;}
.cta-box p strong:nth-of-type(2) {margin:5px 0; padding:5px 5px; width:100%;}
.cta-box p strong:nth-of-type(3) {margin:5px 0; padding:5px 5px; width:100%;}
}

@media screen and (max-width: 330px) {
.cta-box p {font-size:13px;}
.cta-box p strong {font-size:110%;}
}


@media screen and (max-width:1024px) {
	.section-title {
		font-size: 4rem;
	}

	.section-title::before {
		top: -31px;
	}

}

@media screen and (max-width:768px) {
	.pc {
		display: none;
	}

	body {
		font-size: 1.4rem;
	}

	.section-title {
		font-size: 3rem;
	}

	.section-title::before {
		top: -36px;
	}
}


/*header
-----------------------------------------------------------------------------------------*/
.header {
	width: 100%;
	position: fixed;
	top: 0;
	background:#1E2F3D;
	box-shadow:0px 2px 6px -2px #aaa;
	z-index:20;
}


@keyframes ani {
	100% {
		opacity: 1;
	}
}

.header-inner {
	max-width: 1240px;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content:center;
	padding: 10px 10px 10px 10px;
	min-height:60px;
}

.header-logo {
	height: 38px;
	text-align: center;
	z-index: 100;
}
.header-logo a {display:inline-block; height:100%; margin:0 auto; text-align:center; line-height:0.5;}
.header-logo a img {width:auto; height:auto; max-width:100%; max-height:100%;}

.header-box {
	position:relative;
	display: inline-block;
	width:calc(100% - 210px);
	height:42px;
	z-index: 100;
}

.header-li {
	font-weight: 700;
	display: flex;
	gap: 40px;
}

.header-li-item a {
	position: relative;
}

.header-li-item a::before {
	content: "";
	display: block;
	position: absolute;
	bottom: -5px;
	width: 100%;
	height: 2px;
	background-color: #fff;
	transform: scale(0);
	transition: transform 0.3s;
}

.header-li-item a:hover::before {
	transform: scale(1);
}

.header-contact-box {
	display: inline-block;
	position:absolute;
	right:380px;
	top:0;
}

.header-shindan-btn {
	display: inline-block;
	font-weight: 700;
	line-height: 1;
	background:#FDE20F url(../images/icon-dgns.png) no-repeat right 10px top 50% / 26px auto;
	color: #203A72;
	border: 1px solid #FDE20F;
	border-radius: 6px;
	padding: 12px 46px 12px 14px;
	box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.10);
}

.header-shindan-btn:hover {
	background-color: #fff;
	color: #203A72;
	border: 1px solid #FDE20F;
}

.header-shindan-btn.free:hover {
	background-color: #fff;
	color: #203A72;
	border: 1px solid #FDE20F;
}

.header-dl-btn {
	display: inline-block;
	font-weight: 700;
	line-height: 1;
	background:#fff url(../images/icon-dl.png) no-repeat right 10px top 50% / 17px auto;
	color: #203A72;
	border: 1px solid #203A72;
	border-radius: 6px;
	padding: 12px 37px 12px 14px;
	box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.10);
}

.header-dl-btn:hover {
	background-color: #FDE20F;
	color: #203A72;
	border: 1px solid #FDE20F;
}

.header-dl-btn.free:hover {
	background-color: #FDE20F;
	color: #203A72;
	border: 1px solid #FDE20F;
}

@media screen and (max-width:1280px) {}

@media screen and (max-width:1024px) {}

@media screen and (max-width:768px) {
	.header-inner {
		width: 100%;
		max-width: 100%;
		padding: 10px 10px;
		min-height:50px;
	}
	.header-box {
		flex-direction: column;
	}
	.header-contact-box {
		flex-direction: column;
	}
	.header-shindan-btn {
		width: auto;
		padding: 12px 46px 12px 14px;
		font-size: 14px;
		background-size: 26px auto;
		background-position: right 10px top 50%;
	}
	.header-dl-btn {
		display: none;
	}
}

@media screen and (max-width:430px) {
.header-inner {padding:8px 14px;}
.header-logo {height:32px;}
.header-box {height:auto;}
.header-shindan-btn {display:none; padding:5px 30px 5px 6px; background-size:18px auto; background-position:right 6px top 50%;}
.header-shindan-btn span {display:block; font-size:12px; line-height:1.3;}
}

@media screen and (max-width:320px) {
.header-shindan-btn span {font-size:11px;}
}

/* sc_mv
-----------------------------------------------------------------------------------------*/



/*　サービス
-----------------------------------------------------------------------------------------*/
.service {
	padding: 0 0 80px;
	background: #003850 url('../images/bg_shindan.jpg') no-repeat;
	background-size: cover;
	position: relative;
}

.service-top-title {}

.service-title {
	color: #FFD100;
	font-size: 40px;
	font-style: normal;
	font-weight: 600;
	margin-bottom: 50px;
}

.service-title span {
	font-size: 52px;
	border: 2px solid #FFD100;
	padding: 0 10px;
	margin: 2px 10px;
}

.main-shindan-btn {
	font-size: 34px;
	display: inline-block;
	font-weight: 600;
	line-height: 1;
	background-color: #FFD100;
	color: #333;
	border: 2px solid #C9A500;
	border-radius: 4px;
	padding: 16px 30px;
	box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.10);

	margin-bottom: 25px;
}

.main-dl-btn {

	font-size: 18px;
	display: inline-block;
	font-weight: 400;
	line-height: 1;
	text-decoration: underline;
}

@media screen and (max-width:1280px) {}

@media screen and (max-width:1024px) {}

@media screen and (max-width:768px) {
	.service-title {
		font-size: 30px;
	}

	.service-title span {
		font-size: 36px;
		display: block;
		width: 50%;
		margin: 3px auto;
	}

	.main-shindan-btn {
		font-size: 20px;
		padding: 8px 12px;
	}

	.main-dl-btn {
		font-size: 14px;
	}
}

/*　理由
-----------------------------------------------------------------------------------------*/

.reason {
	padding: 80px 0 60px 0;
	background: #486A80 url('../images/bg_reason.png') no-repeat;
	background-size: cover;
}

.reason-title {
	margin-bottom: 44px;
}

.reason-title h2 {
	color: #D4EEFF;
	text-align: center;
	font-size: 30px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}

.reason-title h2 span {
	font-size: 50px;
}

.reason-box {
	margin-bottom: 0;
}

ul.reason-list {
	display: flex;
	justify-content: center;
	list-style-type: none;
	padding: 0;
}

.reason-list li {
	flex-basis: 20%;
	box-sizing: border-box;
	margin: 0;
	padding: 20px 15px;
	text-align: center;
}

.reason-list h3 {
	width: 100%;
	color: #315C77;
	text-align: left;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	position: relative;
	height: 70px;
	padding: 10px 5px 10px 10px;
	background: #f0f0f0;
	border-radius: 10px;
	margin: 0 auto 30px;

	display: flex;
	/* add this */
	justify-content: center;
	/* center text horizontally */
	align-items: center;
	/* center text vertically */
	flex-direction: column;
	/* stack flex items vertically */
}


.reason-list h3::before {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -10px;
	border-width: 10px;
	border-style: solid;
	border-color: #f0f0f0 transparent transparent transparent;
}

.pain-image {
	display: inline-block;
	width: 60%;
	margin-bottom: 15px;
}

.reason-detail p {
	color: #D4EEFF;
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-align: left;
}

.reason-summary {
	max-width: 900px;
	margin: 0 auto;
	padding: 20px 0;
	color: #D4EEFF;
	font-size: 24px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	text-align: center;
	border-top: 1px solid #D4EEFF;
	border-bottom: 1px solid #D4EEFF;
}

.reason-summary span {
	font-size: 32px;
	margin-left: 10px;
}


@media screen and (max-width:768px) {
	ul.reason-list li {
		flex-basis: 33.3%;
	}

	.reason-title h2 {
		font-size: 18px;
	}

	.reason-title h2 span {
		font-size: 28px;
	}

	.reason-list li {
		margin-bottom: 20px;
	}

	.reason-summary {
		font-size: 18px;
	}

	.reason-summary span {
		font-size: 24px;
	}
}


@media screen and (max-width:430px) {
	.reason {
		padding: 40px 0 10px 0;
	}
	ul.reason-list li {
		flex-basis: 100%;
		padding: 0 0 20px 0;
	}
}

/*　方法
-----------------------------------------------------------------------------------------*/

.method {
	padding:60px 0;
	background:#1E2E3C;
}

.method-title h2 {color:#fff; text-align:center; font-size:56px; font-style:normal; font-weight:600; line-height:normal;}

.method-list ul {display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:60px 40px; margin:60px auto 0 auto;}
.method-list ul li {flex-basis:calc((100% - 80px) / 3);}
.method-list ul li:nth-last-of-type(1) {flex-basis:50%;}
.method-list ul li > p {margin:0 auto 20px auto; font-size:26px; font-weight:600; color:#F8E448;}
.method-list ul li > p span {position:relative; display:block; font-size:120%;}
.method-list ul li > p span::before {content:"＼"; font-size:28px;}
.method-list ul li > p span::after {content:"／"; font-size:28px;}
.method-list ul li a {display:inline-block;}
.method-list ul li a * {transition:0.6s;}
.method-list ul li a div {line-height:0.5; background:#fff;}
.method-list ul li a div img {width:auto; height:auto; max-width:100%; max-height:100%;}
.method-list ul li a p {margin:20px auto 0 auto; padding:15px 10px; width:100%; max-width:240px; font-size:18px; line-height:1.3; font-weight:600; color:#111; background:#F8E448; border:1px solid #F8E448; border-radius:50px;}
.method-list ul li a p span {position:relative; display:inline-block; padding:0 25px 0 0;}
.method-list ul li a p span::after {position:absolute; right:0; top:50%; transform:translate(0, -50%); -webkit-transform:translate(0, -50%); -ms-transform:translate(0, -50%); content:""; display:block; width:18px; height:18px; background:url(../images/icon-dl_blk.png) no-repeat right 0 top 50% / contain;}
.method-list ul li a div:hover img {opacity:0.7;}
.method-list ul li a p:hover {background:#fff;}

.method-title p {
	color: #FFF;
	text-align: center;
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 30px;
}

.method .arrow {
	margin-bottom: 30px;
}

.contact-bnr {margin:0 auto; padding:0 0;}

.contact-bnr a {
	position: relative;
	display: inline-block;
	padding: 20px 10px;
	width: 100%;
	max-width:1000px;
	font-size: 30px;
	font-weight: 600;
	text-align: center;
	color: #111;
	background: #F8E448;
	border: 1px solid #F8E448;
	border-radius: 50px;
	box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.25);
	z-index: 3;
	user-select:none;
	cursor:pointer;
	transition: 0.6s;
    -webkit-transition: 0.6s;
    -moz-transition: 0.6s;
    -ms-transition: 0.6s;
    -o-transition: 0.6s;
}

.contact-bnr a:hover {background:#fff;}
.contact-bnr a::before {content:""; width:90px; height:175px; position:absolute; left:69px; bottom:-1px; background:url('../images/contact_image01.png') no-repeat right 0 bottom 0 / contain; z-index:3;}
.contact-bnr a::after {content:""; width:100px; height:175px; position:absolute; right:59px; bottom:-1px; background:url('../images/contact_image02.png') no-repeat left 0 bottom 0 / contain; z-index:3;}
.contact-bnr a span {display:inline-block;}

@media screen and (max-width:768px) {
	.method {border-top:2px solid #305469;}
	.method-title h2 {font-size:28px;}
	.method-list ul {gap:40px 20px;}
	.method-list ul li {flex-basis:calc((100% - 40px) / 3);}
	.method-list ul li > p {font-size:16px;}
	.method-list ul li > p span {font-size:115%;}
	.method-list ul li > p span::before {font-size:16px;}
	.method-list ul li > p span::after {font-size:16px;}
	.method-list ul li a p {font-size:16px;}

	.method-title p {
		font-size: 20px;
	}

	.method .arrow svg {
		width: 30px;
	}

	.contact-bnr a {padding:15px 10px; font-size:16px; line-height:1.3;}
	.contact-bnr a::before {width:60px; height:100px; left:39px; background-position:right 0 top 0; background-size:auto 120px;}
	.contact-bnr a::after {width:70px; height:100px; right:29px; background-position:left 0 top 0; background-size:auto 120px;}
}


@media screen and (max-width:430px) {
.method {padding:40px 0;}
.method-title h2 {font-size:28px;}
.method-list ul {margin:40px auto 0 auto;}
.method-list ul li,
.method-list ul li:nth-last-of-type(1) {flex-basis:100%;}
.method-list ul li > p {margin:0 auto 10px auto;}
.method-list ul li a p {margin:15px auto 0 auto;}

	.method .arrow {
		margin-bottom: 15px;
	}

	.contact-bnr a::before,
	.contact-bnr a::after {content:none;}
}


/*　CTA
-----------------------------------------------------------------------------------------*/
.cta {padding:100px 0;}
.cta-detail {margin:0 auto 70px auto; padding:60px 20px; background:#fff; border:20px solid #ECF4FA;}
.cta-detail:nth-last-of-type(1) {margin:0 auto;}
.cta-detail p:nth-of-type(1) {margin:0 auto 50px auto; font-size:26px; font-weight:600; color:#027BCF;}
.cta-detail p:nth-of-type(1) span {position:relative; display:block; font-size:120%;}
.cta-detail p:nth-of-type(1) span::before {content:"＼"; font-size:28px;}
.cta-detail p:nth-of-type(1) span::after {content:"／"; font-size:28px;}
.cta-detail p:nth-of-type(2) {display:inline-block; margin:0 auto 30px auto; padding:10px 15px; font-size:28px; font-weight:600; color:#027BCF; border:2px solid #027BCF;}
.cta-detail h2 {margin:0 auto 30px auto; font-size:46px; font-weight:600; color:#027BCF;}
.cta-detail h2 span {display:inline-block;}
.cta-detail ul {position:relative; display:inline-block; margin:0 auto; padding:0 0 0 350px;}
.cta-detail ul::before {position:absolute; left:0; top:0; content:""; display:block; width:320px; height:225px;}
.cta-detail:nth-of-type(1) ul::before {background:url(../images/cover_sm_023.png) no-repeat left 0 top 0 / contain;}
.cta-detail:nth-of-type(2) ul::before {background:url(../images/cover_sm_024.png) no-repeat left 0 top 0 / contain;}
.cta-detail:nth-of-type(3) ul::before {background:url(../images/cover_sm_025.png) no-repeat left 0 top 0 / contain;}
.cta-detail ul li {font-size:20px; line-height:1.6; text-align:left;}
.cta-detail p.cta-btn a {position:relative; display:inline-block; margin:30px auto 0 auto; padding:25px 10px; width:100%; max-width:360px; font-size:24px; line-height:1.3; font-weight:600; color:#fff; background:#0066B9; border:1px solid #0066B9; border-radius:50px; z-index:10;}
.cta-detail p.cta-btn a:hover {color:#0066B9; background:#fff;}
.cta-detail p.cta-btn a span {position:relative; display:inline-block; padding:0 35px 0 0;}
.cta-detail p.cta-btn a span::after {position:absolute; right:0; top:50%; transform:translate(0, -50%); -webkit-transform:translate(0, -50%); -ms-transform:translate(0, -50%); content:""; display:block; width:24px; height:24px; background:url(../images/icon-dl_wht.png) no-repeat right 0 top 50% / contain; transition:0.6s;}
.cta-detail p.cta-btn a:hover span::after {background-image:url(../images/icon-dl_ble.png);}


@media screen and (max-width:768px) {
.cta {padding:60px 0;}
.cta-detail {margin:0 auto 40px auto; padding:40px 10px; border:10px solid #ECF4FA;}
.cta-detail p:nth-of-type(1) {margin:0 auto 20px auto; font-size:16px;}
.cta-detail p:nth-of-type(1) span::before {font-size:16px;}
.cta-detail p:nth-of-type(1) span::after {font-size:16px;}
.cta-detail p:nth-of-type(2) {margin:0 auto 20px auto; padding:5px 10px; font-size:20px;}
.cta-detail h2 {font-size:24px;}
.cta-detail ul {padding:0 0; text-align:center;}
.cta-detail ul::before {position:static; margin:0 auto 10px auto;}
.cta-detail ul li {font-size:16px;}
.cta-detail p.cta-btn a {margin:20px auto 0 auto; padding:15px 10px; max-width:240px; font-size:16px;}
.cta-detail p.cta-btn a span {padding:0 25px 0 0;}
.cta-detail p.cta-btn a span::after {width:16px; height:16px;}
}


@media screen and (max-width:430px) {
.cta {padding:40px 0;}
.cta-detail {padding:20px 10px;}
.cta-detail p:nth-of-type(2) {font-size:16px;}
.cta-detail h2 {margin:0 auto 20px auto; font-size:22px;}
.cta-detail ul::before {width:100%; height:0; padding-top:65%; max-width:320px;}
.cta-detail ul li {font-size:12px;}
}


@media screen and (max-width:320px) {
.cta-detail p:nth-of-type(1) {font-size:14px;}
.cta-detail p:nth-of-type(1) span::before {font-size:14px;}
.cta-detail p:nth-of-type(1) span::after {font-size:14px;}
.cta-detail p:nth-of-type(1) span {font-size:115%;}
.cta-detail p:nth-of-type(2) {font-size:14px;}
.cta-detail h2 {font-size:20px;}
}

/*　ソリューション
-----------------------------------------------------------------------------------------*/
.solution {
	background: #F2FAFF;
	padding: 100px 0;
	position: relative;
	z-index: 2;
}

.solution-title {
	position: relative;
	margin-bottom: 180px;
}

.solution-title h2 {
	color: #0077C3;
	text-align: center;
	font-size: 30px;
	font-weight: 600;
}

.solution-title::after {
	content: "SOLUTION";
	width: 100%;
	height: 300px;
	position: absolute;
	top: -70px;
	left: 0;
	color: rgba(0, 119, 195, 0.05);
	text-align: center;
	font-family: Archivo;
	font-size: 230px;
	font-weight: 800;
}

.solution-list {
	width: 1040px;
	margin: 0 auto;
}

.solution-list li {
	display: flex;
	width: 100%;
	justify-content: space-between;
	margin-bottom: 100px;
}

.solution-list li:nth-child(even) {
	flex-direction: row-reverse;
}

.solution-content .content-title {
	color: #0077C3;
	font-size: 30px;
	font-weight: 600;
	background-repeat: no-repeat;
	background-position: left center;
	text-align: left;
	padding: 7px 0 7px 120px;
	margin-bottom: 25px;
}

.solution-content {
	display: flex;
	align-items: center;
	/* 縦軸での中央配置 */
	background-repeat: no-repeat;
}

.solution-content .content-text {
	flex-shrink: 0;
	/* 追加 */
	width: 520px;
}

.solution-content .content-image {
	width: 430px;
	position: relative;
}

.solution-content .content-image img {
	width: 100%;
}

.solution-content .content-image::after {
	position: absolute;
	color: rgba(0, 119, 195, 0.05);
	text-align: center;
	font-family: Archivo;
	font-style: italic;
	font-size: 160px;
	font-weight: 800;
}

.solution-content.image01 .content-image::after {
	content: "1";
	left: -90px;
	bottom: 0;
}

.solution-content.image02 .content-image::after {
	content: "2";
	right: -50px;
	bottom: 0;
}

.solution-content.image03 .content-image::after {
	content: "3";
	left: -90px;
	bottom: 0;
}

.solution-content.image04 .content-image::after {
	content: "4";
	right: -50px;
	bottom: 0;
}

.solution-content.image05 .content-image::after {
	content: "5";
	left: -90px;
	bottom: 0;
}

.solution-content p {
	font-size: 18px;
	font-weight: 400;
	color: #333;
	text-align: left;
}

.solution-content .content-title.icon01 {
	background-image: url(../images/icon01.svg);
}

.solution-content .content-title.icon02 {
	background-image: url(../images/icon02.svg);
}

.solution-content .content-title.icon03 {
	background-image: url(../images/icon03.svg);
}

.solution-content .content-title.icon04 {
	background-image: url(../images/icon04.svg);
}

.solution-content .content-title.icon05 {
	background-image: url(../images/icon05.svg);
}

@media screen and (max-width:768px) {
	.solution-title {
		margin-bottom: 80px;
	}

	.solution-title::after {
		font-size: 65px;
		top: -50px;
	}

	.solution-title h2 {
		font-size: 18px;
	}

	.solution-content .content-title {
		font-size: 18px;
		background-size: contain;
		padding: 7px 0 7px 80px;
		margin-bottom: 15px;
	}

	.solution-list li:nth-child(even) {
		flex-direction: column;
	}

	.solution-content p {
		font-size: 16px;
	}

	.solution-content .content-image {
		width: 80%;
	}

	.solution-content .content-image::after {
		font-size: 80px;
	}

	.solution-content.image01 .content-image::after,
	.solution-content.image03 .content-image::after,
	.solution-content.image05 .content-image::after {
		left: -40px;
	}

	.solution-content.image02 .content-image::after,
	.solution-content.image04 .content-image::after {
		right: -30px;
	}

	br.br {
		display: none;
	}
}

@media screen and (max-width:430px) {
	.solution-title::after {
		font-size: 50px;
	}
}

/*　相談
-----------------------------------------------------------------------------------------*/
.consultant {
	background: #00568C;
}

.consultant-title {
	margin-bottom: 60px;
}

.consultant-title h2 {
	color: #FFF;
	text-align: center;
	font-size: 30px;
	font-weight: 600;
}

.cta-contact-box {
	width: 1040px;
	margin: 55px auto 0;
}

@media screen and (max-width:768px) {
	.cta-contact-box {
		width: 100%;
	}
}

@media screen and (max-width:430px) {
	.consultant-title {
		margin-bottom: 40px;
	}
}


.cta-shindan-btn {
	display: inline-block;
	width: 400px;
	font-weight: 700;
	font-size: 22px;
	line-height: 1;
	background-color: #FFD100;
	color: #333;
	border: 2px solid #C9A500;
	border-radius: 4px;
	padding: 20px 0;
	box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.10);
	margin-right: 35px;
}

.cta-shindan-btn:hover {
	background-color: #fff;
	color: #333;
	border: 2px solid #FFD100;
}

.cta-shindan-btn.free:hover {
	background-color: #fff;
	color: #333;
	border: 2px solid #FFD100;
}

.cta-dl-btn {
	display: inline-block;
	width: 400px;
	font-weight: 700;
	font-size: 22px;
	line-height: 1;
	background-color: #fff;
	color: #333;
	border: 2px solid #FFD100;
	border-radius: 4px;
	padding: 20px 0;
	box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.10);
}

.cta-dl-btn:hover {
	background-color: #FFD100;
	color: #333;
	border: 2px solid #C9A500;
}

.cta-dl-btn.free:hover {
	background-color: #FFD100;
	color: #333;
	border: 2px solid #C9A500;
}

@media screen and (max-width:768px) {
	.solution-list {
		width: 100%;
	}

	.solution-list li {
		flex-direction: column;
	}

	.solution-content .content-text {
		width: 100%;
	}

	.consultant-title h2 {
		font-size: 18px;
	}

	.cta-shindan-btn,
	.cta-dl-btn {
		width: 100%;
		font-size: 16px;
		padding: 10px;
		margin-right: 0;
		margin-bottom: 10px;
	}
}

/*　流れ
-----------------------------------------------------------------------------------------*/
.flow {
	background: #fff;
	padding: 90px 0;
}

.flow-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	list-style: none;
	/* デフォルトのリストマークを非表示に */
}

.flow-area {
	width: 1040px;
	border-radius: 20px;
	background: #E7F5FF;
	margin: 0 auto;
	padding: 40px;
}

.flow .flow-title {
	width: 450px;
	margin: 0 auto 45px;
}

.flow .flow-title h3 {
	color: #0077C3;
	text-align: center;
	font-size: 30px;
	font-weight: 600;
	position: relative;
	z-index: 1;
}

.flow .flow-title h3::after {
	content: "";
	position: absolute;
	z-index: -1;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 30%;
	background: rgba(255, 209, 0, 0.50);
}

.flow-contents {
	text-align: center;
	width: 250px;
	height: 250px;
	border-radius: 50%;
	background-color: #0077C3;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 20px;
	color: #fff;
	position: relative;
}

.flow-contents .flow-inner-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.flow-contents .flow-inner-content .flow-inner-btn {
	border-radius: 4px;
	border: 3px solid #C9A500;
	background: #FFD100;
	box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.10);
	padding: 8px 22px;
	color: #333;
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 5px;
}

.flow-contents:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 50%;
	right: -85px;
	/* 線部分と三角部分の間隔を調整 */
	transform: translateY(-50%);
	width: 60px;
	height: 2px;
	background-color: #0077C3;
}

.flow-contents:not(:last-child)::before {
	content: '';
	position: absolute;
	top: 50%;
	right: -80px;
	/* 三角部分の位置を調整 */
	transform: translateY(-50%) rotate(45deg);
	/* 45度回転させて斜め線に */
	width: 30px;
	height: 30px;
	border-top: 2px solid #0077C3;
	border-right: 2px solid #0077C3;
}

.flow-contents:last-child .flow-contents::after {
	content: none;
}


@media screen and (max-width:768px) {
	.flow-area {
		width: 100%;
	}

	.flow-list {
		flex-direction: column;
	}

	.flow .flow-title {
		width: 100%;
	}

	.flow .flow-title h3 {
		font-size: 18px;
	}

	.flow-contents {
		margin-bottom: 80px;
	}

	.flow-contents:not(:last-child)::before {
		top: 18px;
		right: auto;
		left: 44%;
		transform: translateY(800%) rotate(135deg);
	}

	.flow-contents:not(:last-child)::after {
		width: 2px;
		height: 40px;
		top: auto;
		bottom: -80px;
		left: 50%;
	}
}


/* 活用オンラインセミナー
-----------------------------------------------------------------------------------------*/
.seminar {
	background: #f9f9f9;
	padding: 60px 0 100px;
}

.seminar .seminar-title h2 {
	color: #333;
	text-align: center;
	font-size: 30px;
	font-weight: 600;
	margin-bottom: 60px;
}

.seminar h3 {
	margin-bottom: 2.98vw;
}

.seminar-contents {
	display: flex;
	justify-content: space-between;
	margin-bottom: 3.27vw;
}

.seminar-contents li {
	width: 32%;
	text-align: left;
	border: 1px solid #dbe3e5;
}

.seminar-contents li:nth-of-type(n + 4) {
	display: none;
}

.seminar-contents li a {
	color: #333;
}

.seminar-contents li a:hover {
	opacity: 0.7;
}

.seminar-contents li a p:nth-child(2) {
	background: #fff;
	margin: 0;
	padding: 10px 5px 5px 10px;
	min-height: 70px;
	font-size: max(0.95vw, 14px);
	line-height: 25px;
}

.seminar-contents li a p:last-child {
	background: #fff;
	margin: 0;
	padding: 5px 10px 10px 10px;
	font-size: max(0.83vw, 12px);
	line-height: 15px;
	color: #333;
}

.seminar .btn {
	width: 28.0645161%;
	margin: auto;
	min-width: 250px;
	display: block;
	color: #666666;
	border: 2px solid #666666;
	border-radius: 6px;
	padding: 1.49vw 0;
	font-size: max(1.07vw, 14px);
	font-weight: 700;
}

@media screen and (min-width:1681px) {
	.seminar {
		margin-top: 195px;
	}

	.seminar h2 {
		margin-bottom: 50px;
	}

	.seminar h3 {
		margin-bottom: 50px;
	}

	.seminar-contents {
		margin-bottom: 55px;
	}

	.seminar-contents li a p:nth-child(2) {
		font-size: 16px;
	}

	.seminar-contents li a p:last-child {
		font-size: 14px;
	}

	.seminar .btn {
		padding: 25px 0;
		font-size: 18px;
	}
}

@media screen and (min-width:1024px) {
	.seminar-contents {
		justify-content: center;
		gap: 20px 2%;
	}
}

@media screen and (max-width:1023px) {
	.seminar-contents {
		flex-direction: column;
		gap: 20px;
	}

	.seminar-contents li {
		width: 100%;
	}

	.seminar-contents li a p:nth-child(2) {
		font-size: 16px;
	}

	.seminar-contents li a p:last-child {
		font-size: 14px;
	}

	.seminar .btn {
		padding: 15px 0;
	}
}

@media screen and (max-width:767px) {
	.seminar h2 {
		margin-bottom: 20px;
	}

	.seminar h3 {
		margin-bottom: 20px;
	}

	.seminar-contents {
		margin-bottom: 40px;
	}

	.seminar-contents li a p:nth-child(2) {
		font-size: 14px;
	}

	.seminar-contents li a p:last-child {
		font-size: 12px;
	}
}

/* About
-----------------------------------------------------------------------------------------*/
.about {
	background-color: #0077C3;
}

.about-title {
	width: 850px;
	margin: 0 auto;
}

.about-title .about-logo {
	margin:10px 10px; width:auto; height:auto; max-width:90%; max-height:58px;
}

.about-title h2 {
	color: #FFF;
	font-size: 30px;
	font-weight: 600;
	display: flex;
	justify-content: center;
	align-items: center;
}

.about-esm {
	width: 1040px;
	display: flex;
	margin: 0 auto 30px;
}

.about-esm-title {
	width: 426px;
	margin-top: 50px;
}

.about-esm-title h3 {
	width: 80%;
	color: #FFD100;
	text-align: center;
	font-size: 26px;
	font-weight: 600;
	border-top: 1px solid #FFD100;
	border-bottom: 1px solid #FFD100;
	padding: 5px 0;
	margin: 0 auto 22px;
}

.about-esm-image {
	width: 630px;
}

.about-esm-desc {
	color: #FFF;
	text-align: center;
	font-size: 22px;
	font-weight: 600;
}

.about-cta {display:block; margin:40px auto 0 auto;}
.about-cta ul {display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:20px 20px; margin:0 auto; max-width:800px;}
.about-cta ul li {width:calc((100% - 20px) / 2);}
.about-cta ul li > span {position:relative; display:inline-block; padding:5px 10px; font-size:12px; line-height:1.6; background:#fff; border-radius:50px; filter:drop-shadow(0 0 2px #999); z-index:10;}
.about-cta ul li > span::after {content:""; display:block; position:absolute; left:calc(50% - 15px); bottom:-10px; width:30px; height:15px; background:#fff; clip-path:polygon(0 0, 100% 0, 50% 100%);}
.about-cta ul li a {display:block; margin:-5px auto 0 auto; padding:15px 20px; font-size:18px; line-height:1.6; font-weight:600; color:#111; background:#F8E448; border-radius:50px;}
.about-cta ul li a:hover {filter:brightness(1.05);}
.about-cta ul li a span {display:inline-block;}

.kantan {
	background: #FAFAFA;
	padding: 54px 0;
	margin-top: 100px;
	text-align:center;
	border-radius: 10px;
}

.kantan h2 {display:inline-block; margin:0 auto 20px auto; font-size:20px; font-weight:600; color:#0077c3; border-bottom:2px solid #0077c3;}
.kantan h3 {display:block; margin:0 auto 20px auto; font-size:40px; font-weight:600; color:#0077c3}
.kantan h3 + p {font-size:18px; font-weight:600;}

#ftrs_01 {margin:40px auto 80px auto; padding:0 0; text-align:center; width:100%; max-width:820px;}
#ftrs_01_single {position:relative; display:inline-block; width:calc(100% / 6); padding: 0 0; font-size: 16px; line-height: 1.6; font-weight:600; color:#0077c3;}
#ftrs_01_single span:nth-of-type(1) {display:block; margin: 0 auto; padding:0 10px; width:auto; height:auto;}
#ftrs_01_single span img {width:auto; height:auto; max-width:100%;}
#ftrs_01_single::after {content: ""; display:block; position:absolute; left:0; bottom:0; transform:translate(-85%, 0); -webkit-transform:translate(-85%, 0); -ms-transform:translate(-85%, 0); width:135px; height:130px; background: url(../images/icon_b_etc_02.png) no-repeat 50% 50% / contain;}

#ftrs_01_multi {position:relative; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap:0 0; margin: 0 auto; padding: 0 0;}
#ftrs_01_multi::before {content: ""; display:block; margin:0 auto 10px auto; width:100%; height:0; padding-top:calc(((100% / 6) * 5) * 0.0926); background: url(../images/icon_b_bg_01.png) no-repeat 50% 50% / contain;}
#ftrs_01_multi::after {content: ""; display:block; position:absolute; right:calc((100% / 12) + 5px); top:0; transform:translate(0, -85%); -webkit-transform:translate(0, -85%); -ms-transform:translate(0, -85%); width:215px; height:130px; background: url(../images/icon_b_etc_03.png) no-repeat 50% 50% / contain;}

#ftrs_01_multi li {flex-basis:calc(100% / 6); padding: 0 0; font-size: 16px; line-height: 1.6; font-weight:600; text-align: center; color: #0077c3;}
#ftrs_01_multi li span:nth-of-type(1) {display:block; margin:0 auto; padding:0 10px; width:auto; height:auto;}
#ftrs_01_multi li span img {width:auto; height:auto; max-width:100%;}

#ftrs_01_multi + p {margin:10px auto 0 auto; font-size:12px;}


#ftrs_02 {margin:40px auto 0 auto; padding:0 0; text-align:center; width:100%; max-width:820px;}
#ftrs_02_info {position:relative; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 0 0; margin: 0 auto; padding: 0 0;}
#ftrs_02_info::after {content: ""; display:block; margin:0 auto 5px auto; width:calc((100% / 6) * 5); height:0; padding-top:calc(((100% / 6) * 4) * 0.1174); background: url(../images/icon_b_bg_02.png) no-repeat 50% 50% / contain;}
#ftrs_02_info li {flex-basis: calc(100% / 6); padding: 0 0; font-size: 16px; line-height: 1.6; font-weight:600; text-align: center; color: #0077c3;}
#ftrs_02_info li span:nth-of-type(1) {display:block; margin:0 auto; padding:0 10px; width:auto; height:auto;}
#ftrs_02_info li span:nth-of-type(1) img {width:auto; height:auto; max-width:100%;}

#ftrs_02_scene {position:relative; display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 0 0; margin: 0 auto; padding: 0 0; width:calc((100% / 6) * 4.5);}
#ftrs_02_scene li {flex-basis:calc(100% / 3); padding: 0 0; font-size: 16px; line-height: 1.6; font-weight:600; text-align: center; color: #0077c3;}
#ftrs_02_scene li span {display:inline-block; margin:0 auto; width:auto; height:auto;}
#ftrs_02_scene li span:nth-of-type(1) {display:block; padding:0 10px;}
#ftrs_02_scene li span img {width:auto; height:auto; max-width:100%; max-height:130px;}

@media screen and (max-width:768px) {
	.about-title {
		width: 100%;
	}
	.about-title h2 {
		flex-direction: column;
		font-size: 22px;
	}
	.about-title .about-logo {
		height: 60px;
	}
	.about-esm {
		width: 100%;
		flex-direction: column;
	}
	.about-esm-title {
		width: 100%;
	}
	.about-esm-image {
		width: 100%;
	}
	.about-esm-title h3 {
		font-size: 20px;
	}
	.about-esm-title img {
		width: 80%;
	}
	.about-esm-desc {
		font-size: 16px;
		text-align: left;
	}
	.about-title .about-logo {height:50px;}
	.about-cta ul li a {padding:10px 10px;}

.kantan {padding:40px 5%;}

.kantan h3,
.kantan h3 {font-size:22px; line-height:1.5;}
.kantan h3 + p,
.kantan h3 + p {font-size:16px; line-height:1.5;}

#ftrs_01 {margin:40px auto 40px auto;}
#ftrs_02 {margin:20px auto 0 auto;}

#ftrs_01_single {font-size:12px;}
#ftrs_01_single::after {width:115px; height:110px;}
#ftrs_01_multi::after {width:180px; height:110px;}
#ftrs_01_multi li {font-size:12px;}
#ftrs_02_info li {font-size:12px;}
#ftrs_02_scene li {font-size:12px;}
#ftrs_02_scene li span img {max-height:110px;}

}

@media only screen and (max-width:430px) {

.about-title .about-logo {height:45px;}
.about-cta ul li {width:100%;}
.kantan {padding:20px 3%;}
.kantan h2 {font-size:18px;}
.kantan h3 {font-size:20px;}
.kantan h2 span,
.kantan h3 span,
.kantan h3 + p span {display:inline-block;}
#ftrs_01_single {width: calc(100% / 3);}
#ftrs_01_multi {margin:30px auto 0 auto; padding:20px 0; gap:10px 0; border:3px dotted #202933; border-radius:10px;}
#ftrs_01_multi li {flex-basis: calc(100% / 3);}
#ftrs_02_info {margin:0 auto 50px auto; padding:20px 0; gap:10px 0; border:3px dotted #202933; border-radius:10px;}
#ftrs_02_info li {flex-basis: calc(100% / 3);}
#ftrs_02_scene {width:100%; margin:0 auto;}
#ftrs_02_scene li span {display:block; line-height:1.4;}
#ftrs_01_single::after {height:80px; left:0; top:0; bottom:auto; background-position:right 0 bottom 0;}
#ftrs_01_multi::before {position:absolute; left:calc(50% - 2px); top:-36px; margin:0 0; padding:0 0; width:0; height:30px; border-right:3px dotted #202933;}
#ftrs_01_multi::after {height:80px; right: 0; top: -5px; transform: translate(0, -100%); -webkit-transform: translate(0, -100%); -ms-transform: translate(0, -100%); background-position:right 0 bottom 0;}
#ftrs_02_info::after {content:none;}
#ftrs_02_scene::before {position:absolute; content:""; left:50%; top:-25px; margin:0 0; padding:0 0; width:calc((100% / 6) * 4); transform:translate(-50%, 0); -webkit-transform:translate(-50%, 0); -ms-transform:translate(-50%, 0); height:22px; border:3px dotted #202933; border-bottom:none; border-radius:10px 10px 0 0;}
#ftrs_02_scene::after {position:absolute; content:""; left:calc(50% - 2px); top:-50px; margin:0 0; padding:0 0; width:0; height:50px; border-right:3px dotted #202933;}

}


@media only screen and (max-width: 330px){

.kantan h2 {font-size:16px;}
.kantan h3 {font-size:18px;}
.kantan h3 + p {font-size:14px;}
#ftrs_01_single {font-size:10px;}
#ftrs_01_multi li {font-size:10px;}
#ftrs_01_multi + p {font-size:10px;}
#ftrs_02_info li {font-size:10px;}
#ftrs_02_scene li {font-size:10px;}

}


/* Pro
-----------------------------------------------------------------------------------------*/
.pro {
	background: #00568C;
	padding: 90px 0;
}

.pro-title {
	margin-bottom: 90px;
}

.pro-title h2 {
	color: #FFF;
	text-align: center;
	font-size: 30px;
	font-weight: 600;
}

.pro-title h2 span {
	font-size: 45px;
}

.pro-detail-box {
	margin-bottom: 35px;
}

.pro-detail-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	list-style: none;
	padding: 0;
}

.pro-detail-content {
	padding: 30px;
	border-radius: 10px;
	background: #FFF;
}

.pro-detail-content h3 {
	color: #00568C;
	font-size: 20px;
	font-weight: 600;
	text-align: left;
	margin-bottom: 18px;
}

.pro-detail-content p {
	color: #333;
	font-size: 16px;
	font-weight: 400;
	text-align: left;
}

.pro-csp-box {
	padding: 30px;
	border-radius: 10px;
	background: #FFF;
	margin-bottom: 35px;
}

.pro-csp-box h3 {
	color: #00568C;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 30px;
}

/*.pro-csp-list {
	display: flex;
	justify-content: space-between;
}*/
.pro-csp-list {
	display: flex;
	width: 920px;
	gap: 40px;
	/* Adjust this value to set the gap between the grid items */
	list-style: none;
	padding: 0;
	margin: 0 auto;
}

.pro-csp-content {
	position: relative;
	width: auto;
}

.pro-csp-content:not(:last-child)::before {
	content: '';
	position: absolute;
	top: 50%;
	right: -26px;
	/* 三角部分の位置を調整 */
	transform: translateY(-50%) rotate(45deg);
	/* 45度回転させて斜め線に */
	width: 10px;
	height: 10px;
	border-top: 4px solid #0077C3;
	border-right: 4px solid #0077C3;
}

.pro-csp-content:last-child .pro-csp-content::after {
	content: none;
}

.pro-csp-content.flow01 {
	border: 1px solid #00BBFF;
}

.pro-csp-content.flow02 {
	border: 1px solid #00A0FD;
}

.pro-csp-content.flow03 {
	border: 1px solid #0082E3;
}

.pro-csp-content.flow04 {
	border: 1px solid #0077C3;
}

.pro-csp-content.flow01 h4 {
	background-color: #00BBFF;
}

.pro-csp-content.flow02 h4 {
	background-color: #00A0FD;
}

.pro-csp-content.flow03 h4 {
	background-color: #0082E3;
}

.pro-csp-content.flow04 h4 {
	background-color: #0077C3;
}

.pro-csp-content h4 {
	color: #FFF;
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	padding: 3px 20px;
}

.pro-csp-content p {
	color: #333;
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	padding: 10px 20px;
}

.pro-csp-content.flow05 {
	display: inline-block;
	width: 78px;
	text-align: center;
}

.pro-service-box {
	padding: 30px;
	border-radius: 10px;
	background: #FFF;
}

.pro-service-box h3 {
	color: #00568C;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 30px;
}

.pro-service-area {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	padding: 0;
}

.pro-service-square {
	padding: 23px;
	background: rgba(0, 86, 140, 0.10);
}

.pro-service-square h4 {
	color: #00568C;
	font-size: 20px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 20px;
}

.pro-service-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	padding: 0;
}

.pro-service-list li {
	background: #fff;
	padding: 14px 0;
	font-size: 18px;
	font-weight: 600;
}

@media screen and (max-width:768px) {
	.pro-title h2 {
		font-size: 20px;
	}
	.pro-title h2 span {
		font-size: 28px;
	}
	.pro-detail-list {
		width: 100%;
		grid-template-columns: repeat(1, 1fr);
	}
	.pro-csp-list {
		width: 100%;
		flex-direction: column;
	}
	.pro-detail-content {
		padding: 20px;
	}
	.pro-detail-content h3 {
		font-size: 18px;
	}
	.pro-detail-content p {
		font-size: 14px;
	}
	.pro-csp-content:not(:last-child)::before {
		transform: translateY(200%) rotate(135deg);
		top: auto;
		right: 48%;
		bottom: 4px;
	}
	.pro-csp-content.flow05 {
		margin: 0 auto;
	}
	.pro-service-area {
		grid-template-columns: repeat(1, 1fr);
	}
	.pro-service-list {
		grid-template-columns: repeat(1, 1fr);
	}
}


/* footer
-----------------------------------------------------------------------------------------*/
footer {
	padding: 63px 0 64px;
	background-color: #F4F4F4;
}

.footer-logo {
	display: inline-block;
	margin: 0 auto 30px auto;
	height: 80px;
}
.footer-logo img {width:auto; height:auto; max-width:100%; max-height:100%;}

.footer-logo-text {
	font-size: 1.8rem;
	font-weight: 700;
	color: #1B6CAA;
}

.footer-address {
	font-weight: 500;
	margin-bottom: 55px;
}

.footer-address span {
	display: block;
	font-weight: 600;
}

.footer-address br {
	display: none;
}

.copyright {
	font-size: 1.4rem;
	font-weight: 500;
}

@media screen and (max-width:768px) {
	footer {
		padding: 35px 0;
	}

	.footer-logo {
		margin-bottom: 20px;
		height: 60px;
	}

	.footer-address {
		margin-bottom: 35px;
	}

	.footer-address br {
		display: block;
	}

	.copyright {
		font-size: 1.2rem;
	}
}

@media only screen and (max-width: 430px) {

	.footer-logo {
		height: 50px;
	}

}


/* フォーム埋め込み関連
-----------------------------------------------------------------------------------------*/

.popup,
.popup_plus {
  background: rgb(255, 245, 240);
  z-index: 100;
}
@media only screen and (max-width: 768px) {
  .popup {
  	position:sticky;
  	left:0;
  	bottom:0;
    width:100%;
  }
  .popup_plus {
  	position:fixed;
  	right:10px;
  	top:7px;
  	border-radius:50px;
  	overflow:hidden;
  }
  .popup_plus .popup-title {
  	padding:0 10px;
  	min-width:140px;
  }
  .popup-main {display:none;}
}
@media only screen and (min-width: 769px) {
  .popup {
  	display:none;
    position:fixed;
    left:calc(50% + 80px);
    top:7px;
    width:380px;
    background:transparent;
    border-radius:50px;
    -webkit-box-shadow:0px 4px 10px 0px rgba(0, 0, 0, 0.10);
    box-shadow:0px 4px 10px 0px rgba(0, 0, 0, 0.10);
    overflow:hidden;
  }

  .popup_plus {
  	display:none;
  	position:fixed;
  	left:calc(50% + 470px);
  	top:7px;
  	width:140px;
  	background:transparent;
  	border-radius:50px;
  	-webkit-box-shadow:0px 4px 10px 0px rgba(0, 0, 0, 0.10);
  	box-shadow:0px 4px 10px 0px rgba(0, 0, 0, 0.10);
  	overflow:hidden;
  }
}

.popup-title {
display:flex;
justify-content:center;
align-items:center;
position:relative;
  width:100%;
  margin: 0 0;
  padding: 0 0;
  min-height:42px;
  color: #203A72;
  font-family: var(--font-NotoSans);
  font-size: 1.6rem;
  font-weight: bolder;
  line-height: 1;
  background: #F8E448;
  border:1px solid #F8E448;
  border-radius:50px;
  white-space: nowrap;
  user-select:none;
  cursor:pointer;
  transition: 0.6s;
    -webkit-transition: 0.6s;
    -moz-transition: 0.6s;
    -ms-transition: 0.6s;
    -o-transition: 0.6s;
}

.popup-title:hover {background-color:#fff;}

.popup-titlezzz::after {content:""; display:inline-block; margin-left:10px; width:16px; height:16px; background:url(../images/icon-dl_blk.png) no-repeat right 0 top 50% / contain;}
.popup_plus .popup-title::after {content:none;}

.popup-title a {color:#111;}

@media only screen and (min-width: 769px) {
  .popup-title span {
    display: inline-block;
  }
}

@media screen and (min-width: 431px) and (max-width: 768px) {
.popup-title {font-size:1.4rem; border-radius:0;}
}

@media screen and (max-width: 430px) {
.popup-title {font-size:1.4rem; border-radius:0;}
.popup-title:hover {background-color:#FBAF3A;}
.popup_plus {top:4px;}
.popup_plus .popup-title {min-width:130px; min-height:32px; font-size:1.4rem; border-radius:50px;}
}

@media screen and (max-width: 320px) {
.popup-title {font-size:1.3rem;}
}

.popup-main {
position: relative;
padding: 30px 20px 20px;
}

.popup-main_240304bk::before {
  border: solid transparent;
  border-top-color: #FBAF3A;
  border-width: 14px 12px 0;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  top: -1px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 1;
}

.popup-text {
  color: #666;
  font-family: var(--font-NotoSans);
  font-size: 14px;
  line-height: 1.428;
  margin: 0 0 1em;
}

.popup-notes a {
  color: #0077c3;
}


section#sc_mv {position:relative; margin:60px auto 0 auto; padding:0 0 !important; background:#333 url(../images/fv_bg.webp) no-repeat left 50% top 50% / cover;}
section#sc_mv span {display:inline-block;}

section#sc_mv > div#mv_box {position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; gap:0 0; margin:0 auto; padding:30px 0; max-width:1240px; }

section#sc_mv > div#mv_box > div#mv_msg {position:relative; margin:0 0; padding:0 0; width:680px; min-height:600px;}
section#sc_mv > div#mv_box > div#mv_msg::after {content:""; display:block; clear:both;}

section#sc_mv > div#mv_box > div#mv_msg h1 {position:relative; margin:0 0; padding:0 0; font-size:72px; line-height:1.2; font-weight:900; text-align:right; color:#1E2F3D; filter:drop-shadow(0px 0px 4px #fff);}
section#sc_mv > div#mv_box > div#mv_msg h1 span {display:block;}
section#sc_mv > div#mv_box > div#mv_msg h1 span:nth-of-type(2) {color:#D57810;}

section#sc_mv > div#mv_box > div#mv_msg p {position:relative; float:right; margin:15px 0 0 0; padding:0 0; font-size:38px; line-height:1.2; font-weight:900; text-align:left; color:#1E2F3D; filter:drop-shadow(0px 0px 4px #fff);}
section#sc_mv > div#mv_box > div#mv_msg p::before {content:""; display:block; position:absolute; left:0; top:10px; margin:0 0; width:85px; height:85px; background:url(../images/icon-point.png) no-repeat left 50% top 50% / contain;}
section#sc_mv > div#mv_box > div#mv_msg p::after {content:""; display:block; margin:10px 0 0 15px; padding-top:calc(45.7% * 1); width:100%; height:0; background:url(../images/cover_sm_023_024_025.png) no-repeat left 50% top 0 / contain;}
section#sc_mv > div#mv_box > div#mv_msg p span {display:block;}
section#sc_mv > div#mv_box > div#mv_msg p span:nth-of-type(1) {margin-left:100px;}
section#sc_mv > div#mv_box > div#mv_msg p span:nth-of-type(2) {margin-left:100px; color:#D57810;}



section#sc_mv > div#mv_box > div#mv_frm {width:530px; position:absolute; right:0; top:20px; max-width:100%; min-height:620px; margin:0 0; padding:15px 20px 20px 20px; background:#fff; border:10px solid #E0EFFA; filter:drop-shadow(0px 0px 4px #ccc);}

#mv_frm > h2 {margin:0 auto; padding:0 0 10px 0; max-width:100%; font-size:24px; line-height:1.4; font-weight:600; text-align:center; color:#1E2F3D; border-bottom:2px solid #CADDDF;}

#mv_frm div.satori__custom_form {display:flex; flex-wrap:wrap; justify-content:space-between; gap:0 0; margin:0 0; padding:0 0; font-size:14px; line-height:1.4; background:transparent;}

#mv_frm div.satori__custom_form div.satori__input_group {position:relative; display:flex; flex-wrap:wrap; justify-content:start; align-items:center; gap:5px 5px; padding:15px 0 0 0;}
#mv_frm div.satori__custom_form > div.satori__input_group > label:nth-of-type(1) {margin:0 0; padding:0 0; width:100%; font-weight:600; color:#1E2F3D;}

#mv_frm div.satori__custom_form span.satori__require,
#mv_frm div.satori__custom_form span.satori__not_require {display:none;}
#mv_frm div.satori__custom_form div.satori__input_group div.satori__error_messages {display:none !important; visibility:hidden;}

#mv_frm div.satori__custom_form input[type=text],
#mv_frm div.satori__custom_form input[type=tel],
#mv_frm div.satori__custom_form input[type=email],
#mv_frm div.satori__custom_form select {padding:6px 10px; width:100%; height:auto; background-color:#fff !important; border:2px solid #CADDDF !important; box-shadow:none; border-radius:6px;}
#mv_frm div.satori__custom_form select {padding:5px 6px;}

#mv_frm div.satori__custom_form select,
#mv_frm div.satori__custom_form input[type=checkbox] {webkit-appearance:auto; -moz-appearance:auto; appearance:auto;}

#mv_frm div.satori__custom_form input::placeholder {color:#333; opacity:0.5;}

#mv_frm div.satori__custom_form div input[type=radio] {position:absolute; width:1px; height:1px; z-index:-10; opacity:0;}
#mv_frm div.satori__custom_form div input[type=radio] + label {display:inline-block; margin:0 0; padding:2px 6px; font-size:14px; line-height:1.5; text-align:left; color:#333; background:#fff; border:2px solid #CADDDF; border-radius:6px; transition: all, 0.2s;}
#mv_frm div.satori__custom_form div input[type=radio] + label:hover {border-color:#1E2F3D;}
#mv_frm div.satori__custom_form div input[type=radio]:checked + label {color:#fff; background:#1E2F3D; border-color:#1E2F3D;}

#mv_frm div.satori__custom_form div input[type=checkbox] + label {margin:0 0; padding:0 0; font-size:12px; color:#333;}
#mv_frm div.satori__custom_form div input[type=checkbox]:checked + label {color:#1E2F3D;}

#mv_frm #satori__privacy_policy_agreement_wrapper {margin:15px 0 0 0; padding:10px 0 0 0; width:100%; border-top:2px solid #CADDDF;}
#mv_frm #satori__privacy_policy_agreement_wrapper > p {margin:0 0; padding:0 0; font-size:10px; text-align:left;}
#mv_frm #satori__privacy_policy_agreement_wrapper > div.satori__input_group {padding:5px 0 0 0; text-align:left;}

#mv_frm #satori__recaptcha_wrapper {margin:0 auto;}

#mv_frm div.satori__custom_form p.satori__submit_group {display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:20px 20px; width:100%; margin:15px 0 0 0; padding:0 0;}
#mv_frm div.satori__custom_form p.satori__submit_group input.satori__btn {margin:0 0; padding:10px 8px 10px 10px; width:calc((100% - 20px) / 2); font-size:16px; line-height:1.5; font-weight:600; color:#fff; letter-spacing:2px; border-radius:50px; cursor:pointer; background:#e6963c; transition: all, 0.2s;}
#mv_frm div.satori__custom_form p.satori__submit_group input#satori__submit_back.satori__btn {color:#666; background:#ccc;}

#mv_frm div.satori__custom_form .ng_mail label:has(.satori__require) + input[type=email] {background-color:#fdd !important;}
#mv_frm div.satori__custom_form .ng_mail::after {content:""; display:block; width:100%; height:15px; background:url(/form/img/error_msg_ng_mail.png) no-repeat 0 0 / auto 10px;}
#mv_frm div.satori__custom_form .ng_mail + div::after {content:""; display:block; width:100%; height:15px;}

#mv_frm div.satori__custom_form p.satori__message a {color:#027BCF !important;}

#mv_frm div.satori__custom_form div.satori__input_group > label:nth-of-type(1)::after,
#mv_frm div.satori__custom_form div.satori__horiz_group::after {display:inline-block; content:"必須"; padding:2px 4px; font-size:10px; line-height:12px; font-weight:400; text-align:left; color:#fff; background:#e6963c; border-radius:4px; transform:translate(0, -2px); -webkit-transform:translate(0, -2px); -ms-transform:translate(0, -2px);}
#mv_frm div.satori__custom_form div.satori__horiz_group::after {position:absolute; top:18px; left:34px;}

#mv_frm div.satori__custom_form div.satori__input_group.error > label:nth-of-type(1)::after,
#mv_frm div.satori__custom_form div.satori__horiz_group:has(.error)::after {content:"必須です"; background:#f00;}

#mv_frm div.satori__custom_form > div.satori__horiz_group {gap:5px 5px; position:relative; padding:15px 0 0 0;}
#mv_frm div.satori__custom_form > div.satori__horiz_group:has(div.satori__customer_last_name)::before {content:"氏名"; display:block; width:100%; font-weight:600; text-align:left; color:#1E2F3D;}
#mv_frm div.satori__custom_form > div.satori__horiz_group > div {position:relative; padding:0 0; width:calc(50% - 5px); flex-basis:calc(50% - 5px);}
#mv_frm div.satori__custom_form > div.satori__horiz_group > div input {width:100%;}
#mv_frm div.satori__custom_form > div.satori__horiz_group > div label {display:none;}
#mv_frm div.satori__custom_form > div.satori__horiz_group > div input + .satori__error_messages {margin-top:5px;}

#mv_frm div.satori__custom_form div.que_1 {width:calc((100% - 5px) / 2);}
#mv_frm div.satori__custom_form div.que_2 {width:calc((100% - 5px) / 2);}
#mv_frm div.satori__custom_form div.que_3 {width:calc((100% - 5px) / 2);}
#mv_frm div.satori__custom_form div.que_4 {width:calc((100% - 5px) / 2);}
#mv_frm div.satori__custom_form div.que_5 {width:100%;}
#mv_frm div.satori__custom_form div.que_6 {width:calc((100% - 5px) / 2);}
#mv_frm div.satori__custom_form div.que_7 {width:calc((100% - 5px) / 2);}
#mv_frm div.satori__custom_form div.que_8 {width:100%;}
#mv_frm div.satori__custom_form div.que_9 {display:none !important;}


@media only screen and (max-width: 768px) {

.header-logo img {width:auto; height:auto; max-height:30px;}

section#sc_mv {margin:55px auto 0 auto;}
section#sc_mv > div#mv_box {padding:25px 4% 30px 4% !important;background:rgba(255,255,255,0.7);}
section#sc_mv > div#mv_box > div#mv_msg {width:100%; padding:0 0; min-height:0;}
section#sc_mv > div#mv_box > div#mv_frm {position:static; width:100%; padding:20px 20px; min-height:0;}

section#sc_mv > div#mv_box > div#mv_msg h1 {font-size:40px; line-height:1.3; text-align:center;}
section#sc_mv > div#mv_box > div#mv_msg h1 span {position:relative; display:inline-block; z-index:10;}
section#sc_mv > div#mv_box > div#mv_msg h1 span:nth-of-type(1) {display:block;}

section#sc_mv > div#mv_box > div#mv_msg p {float:none; display:inline-block; margin:30px auto 0 auto; font-size:30px; line-height:1.3;}
section#sc_mv > div#mv_box > div#mv_msg p::before {width:60px; height:60px;}
section#sc_mv > div#mv_box > div#mv_msg p::after {margin:10px auto 5px auto; padding-top:calc(45.7% * 0.9);}
section#sc_mv > div#mv_box > div#mv_msg p span:nth-of-type(1) {margin-left:70px;}
section#sc_mv > div#mv_box > div#mv_msg p span:nth-of-type(2) {margin-left:70px;}

}


@media only screen and (max-width: 430px) {

section#sc_mv {margin:50px auto 0 auto;}
section#sc_mv > div#mv_box > div#mv_msg h1 {font-size:22px;}
section#sc_mv > div#mv_box > div#mv_msg h1::after {padding-top:calc(48% * 1);}
section#sc_mv > div#mv_box > div#mv_msg p {margin:20px auto 0 auto; font-size:18px;}
section#sc_mv > div#mv_box > div#mv_msg p::before {top:0; width:50px; height:50px;}
section#sc_mv > div#mv_box > div#mv_msg p span:nth-of-type(1) {margin-left:60px;}
section#sc_mv > div#mv_box > div#mv_msg p span:nth-of-type(2) {margin-left:60px;}

#mv_frm > h2 {font-size:18px;}
#mv_frm div.satori__custom_form .ng_mail + div::after {content:none;}

#mv_frm div.satori__custom_form div.que_1 {width:100%;}
#mv_frm div.satori__custom_form div.que_2 {width:100%;}
#mv_frm div.satori__custom_form div.que_3 {width:100%;}
#mv_frm div.satori__custom_form div.que_4 {width:100%;}
#mv_frm div.satori__custom_form div.que_5 {width:100%;}
#mv_frm div.satori__custom_form div.que_6 {width:100%;}
#mv_frm div.satori__custom_form div.que_7 {width:100%;}
#mv_frm div.satori__custom_form div.que_8 {width:100%;}
#mv_frm div.satori__custom_form div.que_9 {display:none !important;}

}

@media only screen and (max-width: 330px) {

section#sc_mv > div#mv_box > div#mv_msg p {font-size:16px;}
section#sc_mv > div#mv_box > div#mv_msg p::before {width:45px; height:45px;}
section#sc_mv > div#mv_box > div#mv_msg p span:nth-of-type(1) {margin-left:55px;}
section#sc_mv > div#mv_box > div#mv_msg p span:nth-of-type(2) {margin-left:55px;}

section#sc_mv > div#mv_box > div#mv_frm {padding:20px 15px;}
#mv_frm > h2 {font-size:16px;}

#mv_frm div.satori__custom_form div input[type=checkbox] + label {font-size:10px;}

}