@charset "UTF-8";
/*
Theme Name: e-logit LP
Description: e-logit LP
Version: 2026.4
Author: YH
*/

/* ------------------------------------------
   Reset
------------------------------------------ */
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: inherit;
	font-weight: inherit;
	font-size: 100%;
	vertical-align: baseline;
}

* {
	outline: none;
}

body {
	line-height: 1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: normal;
}

ol,
ul {
	list-style: none;
}

button {
	padding: 0;
	border: none;
	outline: none;
	font: inherit;
	color: inherit;
	background: none;
}

blockquote {
	quotes: none;
}

blockquote:before,
blockquote:after {
	content: '';
	content: none;
}

del {
	text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption,
th {
	text-align: left;
}

a:focus {
	outline: none;
}

a img {
	border: none;
}

input,
button,
select,
textarea {
	border-radius: 0;
}

/*
Web Fonts
  font-family: "Source Sans 3", sans-serif;
  font-family: "Noto Sans JP", sans-serif;
*/


/* ------------------------------------------
   Style
------------------------------------------ */
body {
	-webkit-font-smoothing: antialiased;
	height: 100%;
	font-size: 16px;
	line-height: 1.5em;
	color: #000;
	-webkit-text-size-adjust: none;
	font-family: "Noto Sans JP", sans-serif;
	transition: opacity 1s ease;
	-webkit-print-color-adjust: exact;
	letter-spacing: 0;
	font-weight: normal;
}

body p {
	color: inherit;
	font-size: inherit;
	line-height: 2em;
}

a,
a img,
button {
	text-decoration: none;
	color: #000;
	transition: all 0.3s ease;
	overflow-wrap: anywhere;
	word-break: break-all;
	text-align: left;
	cursor: pointer;
}

.pc_view a:hover {
	opacity: 0.75;
}

.pc_view button:hover {
	opacity: 0.75;
}

span {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	/* word-break: keep-all; */
	/* word-wrap: normal; */
	overflow-wrap: break-word;
	letter-spacing: 0;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	line-height: inherit;
	line-height: 1.6em;
}

*[data-view=pc] {
	display: block !important;
}

*[data-view=sp] {
	display: none !important;
}

.outline {
	position: relative;
	min-width: 1100px;
	margin: 0 auto;
}

.main {
	margin: 0 auto;
	position: relative;
	transition: opacity 0.3s ease;
}

.f_en {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
}

.f_en2 {
	font-family: "Barlow", sans-serif;
	font-weight: 400;
}

.scrollactive.fadein {
	position: relative;
	top: 20px;
	transition: all ease 1s;
	opacity: 0;
}

.scrollactive.fadein.active {
	opacity: 1;
	top: 0;
}

header {
	position: fixed;
	width: 100%;
	z-index: 1000;
	transition: all ease 0.3s;
	background: #fff;
}

header>.inner {
	display: flex;
	justify-content: space-between;
	padding: 0 15px 0 20px;
	align-items: center;
	display: flex;
	height: 65px;
}

header .logo {}

header .logo a {
	display: flex;
	width: auto;
	align-items: center;
	padding: 10px;
}

header .logo a img {
	width: 32px;
	display: block;
	margin-right: 7px;
}

header .logo a p {
	font-size: 15px;
	font-weight: bold;
}

.pc_view header .gmenu {
	display: block !important;
	opacity: 1 !important;
}

header .gmenu nav {
	display: flex;
	align-items: start;
}

header .gmenu nav ul {
	display: flex;
	gap: 40px;
	align-items: center;
	transition: all ease 0.3s;
}

@media screen and (max-width: 1240px) {
	header .gmenu nav ul {
		gap: 20px
	}
}

header .gmenu nav ul li {}

header .gmenu nav ul li a {
	font-size: 15px;
	display: flex;
	align-items: center;
	font-weight: 500;
}

.pc_view header .gmenu nav ul li a:hover {
	opacity: 1;
	color: #4424ce;
}

header .gmenu nav ul li a.link::after {
	content: "";
	display: block;
	width: 25px;
	height: 25px;
	background: url(../images/icon_link.webp) no-repeat center center / contain;
	margin-left: 11px;
}

header .link {
	display: flex;
	gap: 8px;
}

header .link a {
	display: flex;
	background: #4323CE;
	border: 1px solid #4323CE;
	color: #fff;
	border-radius: 100px;
	font-size: 15px;
	height: 44px;
	align-items: center;
	padding: 0 20px 2px 20px;
	font-weight: 500;
	box-sizing: border-box;
}

header .link a.bt_download {
	background: #fff;
	color: #4323CE;
	display: flex !important;
}

.pc_view header .link a:hover {
	opacity: 1;
	background: #ece9fa;
	color: #4323CE;
}

header .link a.bt_download:hover {
	background: #ece9fa;
}

footer>.inner {
	background: #3F3930;
	padding: 40px 0;
}

footer .fbox {
	display: flex;
	background: #fff;
}

footer .fbox .box {
	width: calc(100% / 3);
	box-sizing: border-box;
	padding: 40px 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

footer .fbox .box+.box {
	border-left: 1px solid #D9D9D9;
}

footer .fbox .box .title {
	display: flex;
	justify-content: center;
	font-size: 24px;
	letter-spacing: 0.1em;
	line-height: 1em;
	align-items: center;
	gap: 10px;
}

footer .fbox .box .title::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	background: #F2C100;
	border-radius: 100px;
}

footer .fbox .box .icon {
	background: #F8F6F2;
	width: 78px;
	margin-top: 20px;
	border-radius: 100px;
}

footer .fbox .box .info {
	margin-top: 20px;
}

footer .fbox .box .info .text {
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6em;
	min-height: 3.2em;
	display: flex;
	justify-content: center;
	align-items: center;
}

footer .fbox .box.tel .info a {
	font-size: 30px;
	color: #4424CE;
	line-height: 1em;
	margin-top: 15px;
	display: block;
	pointer-events: none;
}

footer .fbox .box.tel .info .note {
	font-size: 13px;
	text-align: center;
	margin-top: 10px;
}

footer .fbox .box.mail .info a,
footer .fbox .box.download .info a {
	margin-top: 23px;
}

footer .link {
	display: flex;
	justify-content: center;
	gap: 50px;
}

footer .link a {
	font-size: 15px;
	color: #fff;
	text-decoration: underline;
}

footer .copyright {
	text-align: center;
	color: #fff;
	font-size: 15px;
	margin-top: 60px;
}

.btstyle1 {
	display: block;
	width: 322px;
	height: 68px;
	display: flex;
	align-items: center;
	background: #4424CE;
	border: 1px solid #4424CE;
	color: #fff;
	border-radius: 100px;
	box-sizing: border-box;
	padding: 0 18px 0px 30px;
	font-size: 18px;
	font-weight: 500;
	justify-content: space-between;
	box-shadow: 0 6px 8px #25147142;
	position: relative;
	box-sizing: border-box;
}

.btstyle1::after {
	content: "";
	display: block;
	background: url(../images/icon_arrow_wide.webp) repeat-x center center / 35px auto;
	background-color: #fff;
	width: 35px;
	height: 35px;
	border-radius: 100px;
	transition: all ease 0.3s;
}

.btstyle1 span {
	display: block;
	margin-bottom: 2px;
}

.btstyle1.type2 {
	background: #fff;
	color: #4424CE;
}

.btstyle1.type2::after {
	background-color: #ECE9FA;
}

.btstyle1.mini {
	width: 258px;
	height: 54px;
	font-size: 15px;
	box-shadow: 0 4px 4px #25147142;
	padding: 0 12px 0 20px;
}

.btstyle1.mini::after {
	width: 28px;
	height: 28px;
	background-size: 28px;
}

.btstyle1 .note {
	position: absolute;
	background: #F0B900;
	position: absolute;
	top: -30px;
	left: 50%;
	line-height: 1em;
	color: #000;
	padding: 9px 0 11px 0;
	border-radius: 100px;
	font-weight: bold;
	font-size: 16px;
	width: 205px;
	text-align: center;
	transform: translate(-50%, 0);
}

.btstyle1 .note::before {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-top-color: #F0B900;
	border-width: 7px;
	margin-left: -7px;
}

.btstyle1.type2 .note {
	width: 168px;
}

.pc_view .btstyle1:hover {
	opacity: 1;
	box-shadow: 0 0 #25147142;
	background: #ece9fa;
	color: #4424ce;
}

.pc_view .btstyle1:hover::after {
	background-color: #fff;
	background-position: calc(50% + 35px) 50%;
}

.pc_view .btstyle1.type2:hover {
	opacity: 1;
	box-shadow: 0 0 #25147142;
	background: #ece9fa;
}

.pc_view .btstyle1.type2:hover::after {
	background-color: #fff;
	background-image: url(../images/icon_arrow_wide.webp);
}

.pc_view .btstyle1.mini:hover::after {
	background-position: calc(50% + 28px) 50%;
}

.line {}

.line svg {}

.line svg path {
	fill: none;
	stroke: #f2c100;
	stroke-width: 5px;
}

.main {
	position: relative;
	isolation: isolate;
	padding-top: 0;
}

.sec {}

.sec .hlabel {
	display: flex;
	font-size: 20px;
	justify-content: center;
	line-height: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-bottom: 10px;
}

.sec .hlabel::before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	background: #F2C100;
	border-radius: 100px;
}

.sec h2 {
	font-size: 40px;
	font-weight: bold;
	line-height: 1.5em;
	text-align: center;
}

.visual {
	overflow: hidden;
	padding-bottom: 100px;
}

.visual>.inner {
	max-width: 1220px;
	margin: 0 auto;
	width: 94%;
	position: relative;
	padding-top: 119px;
}

.visual .imgwrap {
	position: absolute;
	left: 490px;
	width: 843px;
	top: 0;
}

.visual .imgwrap .img1 {}

.visual .imgwrap .img2 {
	position: absolute;
	width: 282px;
	bottom: -36px;
	left: -80px;
}

.visual .imgwrap .img3 {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
}

.visual .imgwrap .line {
	position: absolute;
	width: 1796px;
	top: -152px;
	left: -287px;
}

.visual .imgwrap .line svg path {
	stroke-dasharray: 3000;
	stroke-dashoffset: 3000;
	transition: stroke-dashoffset 1.2s ease +0.6s;
}

.visual .imgwrap .line.active svg path {
	stroke-dashoffset: 0;
}

.visual .info {
	transition: all ease 1s +0.4s;
	opacity: 0;
	top: 20px;
}

.visual.active .info {
	opacity: 1;
	top: 0;
	position: relative;
}

.visual .info .lead {
	font-size: 22px;
	font-weight: bold;
}

.visual .info h1 {
	font-size: 40px;
	line-height: 1.5em;
	font-weight: bold;
	margin-top: 7px;
}

.visual .info h1 span {
	color: #F0B900;
}

.visual .info .text {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.8em;
	margin-top: 23px;
}

.visual .info .copy {
	position: relative;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.6em;
	text-align: center;
	width: 360px;
	margin: 43px 0 0 -16px;
	transition: all ease 1s +0.8s;
	opacity: 0;
	top: 20px;
}

.visual.active .info .copy {
	opacity: 1;
	top: 0;
}
.visual .info .copy sup {display: inline-block;font-weight: normal;font-size: 10px;line-height: 1em;position: relative;top: -9px;transform: scale(0.8);}

.visual .info .copy::before,
.visual .info .copy::after {
	content: "";
	position: absolute;
	width: 30px;
	height: 50px;
	background: url(../images/icon_reaf.webp) no-repeat center center / contain;
	left: 0;
	top: 2px;
}

.visual .info .copy::after {
	transform: scale(-1, 1);
	left: auto;
	right: 0;
}

.visual .info .copy>span {
	color: #F0B900;
}

.visual .info .copy>span span {
	font-size: 24px;
	font-weight: bold;
}

.visual .info .link {
	margin-top: 25px;
	transition: all ease 1s +0.8s;
	opacity: 0;
	top: 20px;
	position: relative;
}

.visual.active .info .link {
	opacity: 1;
	top: 0;
}

.visual .info .link .bt_download {
	margin-top: 16px;
}

.visual .merit {
	position: absolute;
	right: 0;
	top: 528px;
	transition: all ease 1s;
	opacity: 0;
	display: flex;
	flex-direction: column;
	align-items: end;
	max-width: 37%;
}

.visual.active .merit {
	top: 508px;
	opacity: 1;
}
.visual.active .merit img {
	max-width: 380px;
	margin-left: auto;
}

.visual .merit .note {
	font-size: 10px;
	color: #333333;
	margin: 17px 10px 0 0px;
	line-height: 1.5em;
	letter-spacing: 0;
}

.content {
	padding: 0;
}

.intro {
	padding: 199px 0 65px 0;
	position: relative;
	overflow: hidden;
}

.intro::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 93px;
	background: url(../images/txt_copy.webp) repeat-x left top / 3100px auto;
	animation: scrollBg 30s linear infinite;
}

@keyframes scrollBg {
	from {
		background-position: 0 0;
	}

	to {
		background-position: -3100px 0;
	}
}

.intro .line {
	position: absolute;
	left: calc(50% - 1175px);
	top: -81px;
	width: 1978px;
}

.intro .line svg path {
	stroke-dasharray: 3000;
	stroke-dashoffset: 3000;
	transition: stroke-dashoffset 1.2s ease +0.6s;
}

.intro .line.active svg path {
	stroke-dashoffset: 0;
}

.intro>.inner {
	position: relative;
	max-width: 1180px;
	margin: 0 auto;
	width: 94%;
}

.intro .fbox {
	display: flex;
	justify-content: space-between;
}

.intro .fbox .box {
	width: 340px;
}

.intro .fbox .box2 {
	transition-delay: 0.2s;
}

.intro .fbox .box3 {
	transition-delay: 0.4s;
}

.intro .fbox .box .img {
	width: 160px;
	margin: 0 auto;
}

.intro .fbox .box .info {
	margin-top: 10px;
}

.intro .fbox .box .info .title {
	font-size: 28px;
	letter-spacing: 0.05em;
}

.intro .fbox .box .info .title span {
	color: #F0B900;
	letter-spacing: 0.05em;
}

.intro .fbox .box .info .text {
	font-size: 16px;
	line-height: 1.8em;
	margin-top: 14px;
	min-height: 7.2em;
}

.intro .fbox .box .info .text span {
	font-weight: bold;
}

.intro .fbox .box .info .btstyle1 {
	margin-top: 23px;
}

.problem {
	padding: 85px 0 523px 0;
	position: relative;
	overflow: hidden;
}

.problem>.inner {
	position: relative;
}

.problem h2 {
	display: flex;
	justify-content: center;
}

.problem h2>span {
	font-size: 40px;
	font-weight: bold;
	line-height: 1.8em;
	border-bottom: 6px solid #F0B900;
}

.problem h2>span>span {
	color: #F0B900;
}

.problem .imgwrap {
	width: 787px;
	margin: 93px auto 0 auto;
	position: relative;
	top: 0 !important;
}

.problem .imgwrap .img {}

.problem .imgwrap .line {
	width: 1666px;
	position: absolute;
	left: calc(50% - 851px);
	top: -56px;
}

.problem .imgwrap .line svg path {
	stroke-dasharray: 4000;
	stroke-dashoffset: 4000;
	transition: stroke-dashoffset 1.2s ease +0.6s;
}

.problem .imgwrap.active .line svg path {
	stroke-dashoffset: 0;
}

.problem ol {
	position: absolute;
	width: 100%;
	top: 170px;
	left: 50%;
}

.problem ol li {
	border: 1px solid #D9D9D9;
	height: 86px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 0 30px 0 30px;
	display: flex;
	align-items: center;
	padding: 0px 20px 0px 20px;
	position: absolute;
	opacity: 0;
	transition: all ease 1s;
	margin-top: 20px;
}

.problem ol.active li {
	margin-top: 0;
	opacity: 1;
}

.problem ol li:nth-child(even) {
	border-radius: 30px 0 30px 0;
}

.problem ol li:nth-child(1) {
	left: -275px;
	top: -45px;
	transition-delay: 0.1s;
}

.problem ol li:nth-child(2) {
	top: 112px;
	left: -490px;
	transition-delay: 0.2s;
}

.problem ol li:nth-child(3) {
	top: 288px;
	left: -583px;
	transition-delay: 0.3s;
}

.problem ol li:nth-child(4) {
	top: 468px;
	left: -382px;
	transition-delay: 0.4s;
}

.problem ol li:nth-child(5) {
	top: 371px;
	left: 124px;
	transition-delay: 0.5s;
}

.problem ol li:nth-child(6) {
	top: 179px;
	left: 296px;
	transition-delay: 0.6s;
}

.problem ol li:nth-child(7) {
	top: -6px;
	left: 184px;
	transition-delay: 0.7s;
}

.problem ol li span {
	display: block;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F2C100;
	border-radius: 100px;
	font-size: 24px;
	font-weight: bold;
}

.problem ol li p {
	line-height: 1.3em;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin-left: 10px;
	min-width: 195px;
}

.point {
	margin-top: -400px;
}

.point>.inner {
	padding: 46px 0 100px 0;
}

.point h2 {
	display: flex;
	justify-content: center;
}

.point h2 span {
	display: block;
	font-size: 40px;
	font-weight: bold;
	line-height: 1em;
	background: #F2C100;
	padding: 30px 60px;
	border-radius: 100px;
	position: relative;
}

.point h2 span::before {
	top: 100%;
	left: 50%;
	border: solid transparent;
	content: "";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
	border-color: rgba(136, 183, 213, 0);
	border-top-color: #f3c101;
	border-width: 22px;
	margin-left: -22px;
}

.point .lead {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	margin-top: 50px;
}

.point .list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	max-width: 1200px;
	width: 94%;
	margin: 50px auto 0 auto;
	gap: 24px;
}

.point .list>li {
	width: calc((100% - 72px) / 4);
	background: #f8f6f2;
	border-radius: 8px;
	padding: 25px 20px 30px 20px;
	box-sizing: border-box;
}

.point .list>li button {
	display: block;
	width: 100%;
	pointer-events: none;
}

.point .list>li .icon {
	width: 108px;
	margin: 0 auto;
	background: #fff;
	border-radius: 100px;
}

.point .list>li .title {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	margin-top: 18px;
	line-height: 1.35em;
	min-height: 2.7em;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.point .list>li .title span {
	display: block;
	font-size: 16px;
}

.point .list>li ul {
	margin-top: 20px;
}

.pc_view .point .list>li ul {
	display: block !important;
}

.point .list>li ul li {
	font-size: 16px;
	line-height: 1.5em;
	position: relative;
	padding-left: 20px;
}

.point .list>li ul li::before {
	content: "";
	display: block;
	width: 12px;
	height: 5px;
	border-top: 2px solid #f0b900;
	border-right: 2px solid #f0b900;
	transform: rotate(135deg);
	top: 8px;
	left: 0;
	position: absolute;
}

.reason {
	background: #f8f6f2;
	padding: 85px 0 105px 0;
	position: relative;
}

.reason::before {
	content: "OUR STRENGTHS";
	color: #a5957e33;
	font-family: "Montserrat", sans-serif;
	font-weight: 300;
	font-size: 110px;
	position: absolute;
	top: 40px;
	width: 100%;
	text-align: center;
	line-height: 1em;
}

.reason>.inner {}

.reason h2 {
	display: flex;
	justify-content: center;
}

.reason h2>span {
	font-size: 40px;
	font-weight: bold;
	line-height: 1.8em;
	border-bottom: 6px solid #F0B900;
}

.reason h2>span>span {
	color: #F0B900;
}

.reason .list {
	position: relative;
	display: flex;
	width: 1000px;
	margin: 70px auto 0 auto;
	justify-content: space-between;
	align-items: start;
}

.reason .list .titlewrap {
	position: sticky;
	width: calc(100% - 720px);
	top: 100px;
}

.reason .list .titlewrap::before {
	content: "";
	width: 2px;
	height: 100%;
	position: absolute;
	display: block;
	left: 8px;
	top: 10px;
	background: #DBD4C9;
}

.reason .list .titlewrap .box {
	padding-left: 24px;
}

.reason .list .titlewrap .box+.box {
	margin-top: 57px;
}

.reason .list .titlewrap .box .label {
	font-size: 20px;
	display: block;
	font-weight: 600;
	position: relative;
	color: #DBD4C9;
	transition: all ease 0.3s;
}

.reason .list .titlewrap .box .label::before,
.reason .list .titlewrap .box .label::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	background: #DBD4C9;
	position: absolute;
	top: 8px;
	border-radius: 20px;
	left: -19px;
	transition: all ease 0.3s;
}

.reason .list .titlewrap .box .label::after {
	width: 16px;
	height: 16px;
	border: 1px solid #F0B900;
	background: none;
	top: 3px;
	left: -24px;
	opacity: 0;
	transition: all ease 0.3s;
}

.reason .list .titlewrap .box .title {
	font-size: 30px;
	line-height: 1.25em;
	font-weight: bold;
	margin-top: 18px;
	color: #DBD4C9;
	transition: all ease 0.3s;
}

.reason .list .titlewrap .box.active .label,
.reason .list .titlewrap .box.active .title {
	color: #000;
}

.reason .list .titlewrap .box.active .label::before {
	background: #F0B900;
}

.reason .list .titlewrap .box.active .label::after {
	opacity: 1;
}

.reason .list .detailwrap {
	width: 690px;
}

.reason .list .detailwrap .box {}

.reason .list .detailwrap .box+.box {
	margin-top: 120px;
}

.reason .list .detailwrap .box .img {}

.reason .list .detailwrap .box .text {
	font-size: 20px;
	line-height: 1.5em;
	margin-top: 28px;
}

.reason .list .detailwrap .box .text span {
	font-weight: bold;
	color: #F0B900;
}

.feature {
	padding: 100px 0;
}

.feature>.inner {
	max-width: 1200px;
	margin: 0 auto;
	width: 94%;
}

.feature .detail {
	margin-top: 40px;
}

.feature .detail table {
	width: 100%;
}

.feature .detail table tbody {}

.feature .detail table tbody tr {
	border-top: 1px solid #000;
}

.feature .detail table tbody tr:nth-child(1) {
	border-top: none;
}

.feature .detail table tbody tr:nth-child(even) {
	background: #f8f6f2;
}

.feature .detail table tbody tr th {
	width: 25%;
	position: relative;
	vertical-align: middle;
}

.feature .detail table tbody tr th.col2 {
	background: #F2C100;
	border-radius: 24px 24px 0 0;
}

.feature .detail table tbody tr th>div {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 110px;
}

.feature .detail table tbody tr th p {
	font-size: 32px;
	font-weight: bold;
	line-height: 1.2em;
}

.feature .detail table tbody tr th.col2 p {
	font-size: 24px;
}

.feature .detail table tbody tr th p span {
	font-size: 20px;
	line-height: 1em;
}

.feature .detail table tbody tr th p.mini {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.5em;
}

.feature .detail table tbody tr td {
	height: 110px;
	vertical-align: middle;
}

.feature .detail table tbody tr td:nth-child(2) {
	background: #F2C100;
}

.feature .detail table tbody tr:last-child td:nth-child(2) {
	border-radius: 0 0 24px 24px;
}

.feature .detail table tbody tr td>div {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 110px;
}

.feature .detail table tbody tr td p {
	font-size: 20px;
	font-weight: 500;
}

.feature .detail table tbody tr td p.note {
	font-size: 13px;
	line-height: 1.5em;
	text-align: center;
	margin: 0 0 3px 0;
}

.feature .detail table tbody tr td img {
	width: 60px;
	margin-top: -9px;
}
.feature >.inner  > .note {
	font-size: 10px;
	color: #333;
	margin-top: 35px;
	line-height: 1.5em;
}
.contact {
	background: url(../images/bg_contact.webp) no-repeat center center / cover;
}

.contact>.inner {
	padding: 46px 0 60px 0;
}

.contact h2 {
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 40px;
}

.contact h2 span {
	color: #F0B900;
	display: inline-block;
	border-bottom: 5px solid #fff;
}

.contact .lead {
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	margin-top: 15px;
}

.contact .link {
	display: flex;
	justify-content: center;
	gap: 40px;
	margin-top: 53px;
}

.contact .link a {}

.contact .link a {}

.flow {
	background: #F8F6F2;
}

.flow>.inner {
	padding: 95px 0 70px 0;
}

.flow .detail {
	width: 792px;
	display: flex;
	justify-content: space-between;
	margin: 50px auto 0 auto;
}

.flow .detail .period {
	padding-top: 11px;
	clip-path: inset(0 0 100% 0);
	transition: clip-path 0.8s ease;
}

.flow .detail .period.active {
	clip-path: inset(0 0 0 0);
}

.flow .detail .period span {
	display: block;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 53px;
	height: 630px;
	border-radius: 100px;
	background: linear-gradient(to bottom, rgba(63, 57, 48, 1) 0%, rgba(165, 149, 126, 1) 100%);
	color: #fff;
	font-weight: 500;
}

.flow .detail ol {
	width: calc(100% - 80px);
	position: relative;
	transition-delay: 0.4s;
}

.flow .detail ol::before {
	display: block;
	content: "";
	position: absolute;
	left: 34px;
	top: 50px;
	height: 550px;
	width: 10px;
	background: #a5957e36;
}

.flow .detail ol li {
	display: flex;
	align-items: start;
	justify-content: space-between;
	position: relative;
}

.flow .detail ol li+li {
	margin-top: 38px;
}

.flow .detail ol li .icon {
	width: 78px;
	background: #fff;
	border-radius: 100px;
	margin-top: 12px;
}

.flow .detail ol li .info {
	width: calc(100% - 100px);
}

.flow .detail ol li .info .title {
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5em;
}

.flow .detail ol li .info .text {
	font-size: 15px;
	line-height: 1.6em;
	margin-top: 22px;
}

.faq {
	background: #F8F6F2;
	border-top: 1px solid #a5957e33;
}

.faq>.inner {
	padding: 95px 0 70px 0;
}

.faq .list {
	width: 1000px;
	margin: 60px auto 0 auto;
}

.faq .list .box {
	background: #fff;
	border-radius: 8px;
}

.faq .list .box+.box {
	margin-top: 10px;
}

.faq .list .box button {
	display: flex;
	padding: 20px 65px 20px 20px;
	width: 100%;
	box-sizing: border-box;
	justify-content: space-between;
	position: relative;
}

.faq .list .box button::before,
.faq .list .box button::after {
	content: "";
	display: block;
	width: 14px;
	height: 2px;
	background: #F0B900;
	position: absolute;
	right: 30px;
	top: calc(50% - 1px);
	transition: all ease 0.3s;
}

.faq .list .box button::after {
	transform: rotate(90deg);
}

.faq .list .box button.open::after {
	transform: rotate(0deg);
}

.faq .list .box button span {
	display: flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	background: #F2C100;
	border-radius: 4px;
	font-size: 18px;
	font-weight: bold;
}

.faq .list .box button p {
	width: calc(100% - 45px);
	font-size: 18px;
	font-weight: bold;
	line-height: 1.65em;
}

.faq .list .box .answer {
	display: none;
}

.faq .list .box .answer>.inner {
	padding: 0 65px 20px 20px;
	display: flex;
	width: 100%;
	box-sizing: border-box;
	justify-content: space-between;
}

.faq .list .box .answer span {
	display: flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	color: #F2C100;
	border-radius: 4px;
	font-size: 18px;
	font-weight: bold;
}

.faq .list .box .answer p {
	width: calc(100% - 45px);
	font-size: 18px;
	line-height: 1.65em;
}

/**************************************************************/
/** SP ********************************************************/
/**************************************************************/
@media screen and (max-width: 767px) {
	body {
		min-width: 320px;
		overflow: visible !important;
		letter-spacing: 0;
		font-size: 15px;
	}

	body p {
		color: inherit;
		font-size: 15px;
	}

	a:hover {
		opacity: 1;
	}

	*[data-view=pc] {
		display: none !important;
	}

	*[data-view=sp] {
		display: block !important;
	}

	.outline {
		position: relative;
		min-width: 320px;
		padding-bottom: 0 !important;
	}

	.main {
		width: auto;
		margin: 0 auto;
		position: relative;
		/* overflow: hidden; */
		min-width: 1100px;
	}

	header {
		position: fixed;
		width: 100%;
		z-index: 1000;
		transition: all ease 0.3s;
		background: #fff;
	}

	header>.inner {
		display: flex;
		justify-content: space-between;
		padding: 0;
		align-items: center;
		display: flex;
		height: 72px;
	}

	header .logo {
		position: relative;
		z-index: 1000;
		margin-left: 12px;
	}

	header .logo a {
		display: flex;
		width: auto;
		align-items: center;
		padding: 0;
	}

	header .logo a img {
		width: 32px;
		display: block;
		margin-right: 7px;
	}

	header .logo a p {
		font-size: 15px;
		font-weight: bold;
	}

	header .gmenu {
		position: absolute;
		top: 0;
		width: 100%;
		padding: 104px 0;
		z-index: 900;
		background: #fff;
		height: 100vh;
		height: 100dvh;
		display: none;
	}

	header .gmenu nav {
		display: block;
	}

	header .gmenu nav ul {
		display: flex;
		gap: 34px;
		align-items: center;
		transition: all ease 0.3s;
		flex-direction: column;
	}

	header .gmenu nav ul li {}

	header .gmenu nav ul li a {
		font-size: 15px;
		display: flex;
		align-items: center;
		font-weight: 500;
	}

	header .gmenu nav ul li a.link::after {
		content: "";
		display: block;
		width: 25px;
		height: 25px;
		background: url(../images/icon_link.webp) no-repeat center center / contain;
		margin-left: 11px;
	}

	header .gmenu .fbox {
		display: flex !important;
		flex-direction: column;
		align-items: center;
		margin-top: 67px;
	}

	header .gmenu .fbox a {
		font-size: 16px;
	}

	header .gmenu .fbox a.bt_download {
		margin-top: 46px;
	}

	header .bt_menu {
		display: block;
		width: 44px;
		height: 44px;
		font-size: 12px;
		text-align: center;
		box-sizing: border-box;
		z-index: 1000;
		overflow: hidden;
		position: relative;
		margin-left: 7px;
		border-radius: 50px;
		border: none;
		background: no-repeat;
		border: 1px solid #4323CE;
		margin-right: 12px;
	}

	header .bt_menu::before,
	header .bt_menu::after,
	header .bt_menu span::before {
		display: block;
		position: absolute;
		content: "";
		width: 24px;
		height: 2px;
		background: #4323CE;
		top: 50%;
		left: 9px;
		transition: all 0.3s ease;
		margin-top: 6px;
	}

	header .bt_menu::after {
		margin-top: -8px;
	}

	header .bt_menu span::before {
		margin-top: -1px;
	}

	header .bt_menu span {
		display: block;
		text-indent: -9999px;
		overflow: hidden;
		height: 100%;
	}

	header .bt_menu.open {}

	header .bt_menu.open::before {
		margin-top: -1px;
		transform: rotate(-135deg);
	}

	header .bt_menu.open::after {
		margin-top: -1px;
		transform: rotate(135deg);
	}

	header .bt_menu.open span::before {
		opacity: 0;
	}

	header .link {
		display: flex;
		gap: 8px;
		margin-left: auto;
	}

	header .link a {
		display: flex;
		background: #4323CE;
		border: 1px solid #4323CE;
		color: #fff;
		border-radius: 100px;
		font-size: 14px;
		height: 44px;
		align-items: center;
		padding: 0 14px 1px 14px;
		font-weight: 500;
	}

	header .link a.bt_download {
		background: #fff;
		color: #4323CE;
		display: none !important;
	}


	footer>.inner {
		background: #3F3930;
		padding: 40px 0 125px 0;
	}

	footer .fbox {
		display: block;
		background: #fff;
	}

	footer .fbox .box {
		width: auto;
		box-sizing: border-box;
		padding: 35px 0;
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	footer .fbox .box+.box {
		border-left: none;
		border-top: 1px solid #D9D9D9;
	}

	footer .fbox .box .title {
		display: flex;
		justify-content: center;
		font-size: 24px;
		letter-spacing: 0.1em;
		line-height: 1em;
		align-items: center;
		gap: 10px;
	}

	footer .fbox .box .title::before {
		content: "";
		display: block;
		width: 10px;
		height: 10px;
		background: #F2C100;
		border-radius: 100px;
	}

	footer .fbox .box .icon {
		display: none;
		background: #F8F6F2;
		width: 78px;
		margin-top: 20px;
		border-radius: 100px;
	}

	footer .fbox .box .info {
		margin-top: 9px;
	}

	footer .fbox .box .info .text {
		text-align: center;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.6em;
		min-height: 3.2em;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	footer .fbox .box.tel .info a {
		font-size: 30px;
		color: #4424CE;
		line-height: 1em;
		margin-top: 4px;
		display: block;
		text-align: center;
		pointer-events: auto;
	}

	footer .fbox .box.tel .info .note {
		font-size: 13px;
		text-align: center;
		margin-top: 10px;
	}

	footer .fbox .box.mail .info a,
	footer .fbox .box.download .info a {
		margin-top: 4px;
	}

	footer .link {
		display: flex;
		justify-content: center;
		gap: 30px;
		flex-direction: column;
		align-items: center;
	}

	footer .link a {
		font-size: 15px;
		color: #fff;
		text-decoration: underline;
	}

	footer .copyright {
		text-align: center;
		color: #fff;
		font-size: 15px;
		margin-top: 55px;
	}

	.btstyle1 {
		display: block;
		width: 322px;
		height: 64px;
		display: flex;
		align-items: center;
		background: #4424CE;
		border: 1px solid #4424CE;
		color: #fff;
		border-radius: 100px;
		box-sizing: border-box;
		padding: 0 15px 0 28px;
		font-size: 18px;
		font-weight: 500;
		justify-content: space-between;
		box-shadow: 0 6px 8px #25147142;
		position: relative;
	}

	.btstyle1::after {
		content: "";
		display: block;
		background: url(../images/icon_arrow.webp) no-repeat center center / 25px auto;
		background-color: #fff;
		width: 35px;
		height: 35px;
		border-radius: 100px;
	}

	.btstyle1 span {
		display: block;
	}

	.btstyle1.type2 {
		background: #fff;
		color: #4424CE;
	}

	.btstyle1.type2::after {
		background-color: #ECE9FA;
	}

	.btstyle1.mini {
		width: 258px;
		height: 54px;
		font-size: 15px;
		box-shadow: 0 4px 4px #25147142;
		padding: 0 12px 0 20px;
	}

	.btstyle1.mini::after {
		width: 28px;
		height: 28px;
		background-size: 20px;
	}

	.btstyle1 .note {
		position: absolute;
		background: #F0B900;
		position: absolute;
		top: -30px;
		left: 50%;
		line-height: 1em;
		color: #000;
		padding: 10px 0;
		border-radius: 100px;
		font-weight: bold;
		font-size: 16px;
		width: 205px;
		text-align: center;
		transform: translate(-50%, 0);
	}

	.btstyle1 .note::before {
		top: 100%;
		left: 50%;
		border: solid transparent;
		content: "";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(136, 183, 213, 0);
		border-top-color: #F0B900;
		border-width: 7px;
		margin-left: -7px;
	}

	.btstyle1.type2 .note {
		width: 168px;
	}

	.line {}

	.line svg {}

	.line svg path {
		fill: none;
		stroke: #f2c100;
		stroke-width: 5px;
	}

	.fixedlink {
		position: fixed;
		bottom: 0;
		left: 0;
		width: 100%;
		z-index: 800;
		display: flex !important;
		justify-content: space-between;
		padding: 16px;
		background: #fff;
		box-sizing: border-box;
	}

	.fixedlink a {
		display: flex;
		background: #4323CE;
		border: 1px solid #4323CE;
		color: #fff;
		border-radius: 100px;
		font-size: 14px;
		height: 56px;
		align-items: center;
		padding: 0 14px 1px 14px;
		font-weight: 500;
		width: calc(50% - 5px);
		box-sizing: border-box;
		justify-content: center;
		box-sizing: border-box;
	}

	.fixedlink a.bt_download {
		background: #fff;
		color: #4323CE;
	}

	.main {
		position: relative;
		isolation: isolate;
		padding-top: 0;
		min-width: 320px;
	}

	.sec {}

	.sec .hlabel {
		display: flex;
		font-size: 18px;
		justify-content: center;
		line-height: 1em;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 10px;
		margin-bottom: 10px;
		letter-spacing: 0.1em;
	}

	.sec .hlabel::before {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		background: #F2C100;
		border-radius: 100px;
	}

	.sec h2 {
		font-size: 30px;
		font-weight: bold;
		line-height: 1.5em;
		text-align: center;
	}

	.visual {
		overflow: hidden;
		padding-bottom: 65px;
	}

	.visual>.inner {
		max-width: 1220px;
		margin: 0 auto;
		width: auto;
		position: relative;
		padding-top: 72px;
	}

	.visual .imgwrap {
		position: relative;
		left: auto;
		width: 100%;
		top: auto;
	}

	.visual .imgwrap .img1 {
		padding-left: 16px;
	}

	.visual .imgwrap .img1 img {
		height: 200px;
		object-fit: cover;
		width: 100%;
	}

	.visual .imgwrap .img2 {
		position: absolute;
		width: 141px;
		bottom: -16px;
		left: 0;
	}

	.visual .imgwrap .img3 {
		position: absolute;
		width: 100%;
		top: 0;
		left: 0;
		padding-left: 16px;
		box-sizing: border-box;
	}

	.visual .imgwrap .img3 img {
		height: 200px;
		object-fit: cover;
		width: 100%;
	}

	.visual .imgwrap .line {
		position: absolute;
		width: 696px;
		top: -87px;
		left: -77px;
	}

	.visual .imgwrap .line path {
		fill: none;
		stroke: #f2c100;
		stroke-width: 7px;
	}

	.visual .info {
		width: auto;
		margin: 33px auto 0 auto;
		padding: 0 0 0 23px;
		width: 390px;
	}

	.visual .info .lead {
		font-size: 17px;
		font-weight: bold;
	}

	.visual .info h1 {
		font-size: 30px;
		line-height: 1.5em;
		font-weight: bold;
		margin-top: 3px;
	}

	.visual .info h1 span {
		color: #F0B900;
	}

	.visual .info .text {
		font-size: 16px;
		font-weight: bold;
		line-height: 1.8em;
		margin-top: 10px;
	}

	.visual .info .copy {
		position: relative;
		font-size: 13px;
		font-weight: bold;
		line-height: 1.6em;
		text-align: center;
		width: 302px;
		margin: 22px 0 0 20px;
	}
	.visual .info .copy sup {
		top: -6px;
	}

	.visual .info .copy::before,
	.visual .info .copy::after {
		content: "";
		position: absolute;
		width: 25px;
		height: 40px;
		background: url(../images/icon_reaf.webp) no-repeat center center / contain;
		left: 0;
		top: 4px;
	}

	.visual .info .copy::after {
		transform: scale(-1, 1);
		left: auto;
		right: 0;
	}

	.visual .info .copy>span {
		color: #F0B900;
	}

	.visual .info .copy>span span {
		font-size: 20px;
		font-weight: bold;
	}

	.visual .info .link {
		margin: 15px 0 0 12px;
	}

	.visual .info .link .bt_download {
		margin-top: 16px;
	}

	.visual .merit {
		position: relative;
		right: auto;
		bottom: auto;
		width: 340px;
		transition: all ease 1s;
		opacity: 0;
		top: 20px;
		margin: 22px auto 0 auto;
		max-width: none;
	}
	.visual .merit img {
	width: 100%;
	}

	.visual.active .merit {
		bottom: auto;
		opacity: 1;
		top: 0;
	}

	.visual .merit .note {
		font-size: 11px;
		text-align: left;
		color: #333333;
		margin: 8px 5px 0 5px;
	}

	.content {}

	.intro {
		padding: 90px 0 0 0;
		position: relative;
		overflow: hidden;
	}

	.intro::before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 73px;
		background: url(../images/txt_copy.webp) repeat-x left top / 1550px auto;
		animation: scrollBgSp 30s linear infinite;
	}

	@keyframes scrollBgSp {
		from {
			background-position: 0 0;
		}

		to {
			background-position: -1550px 0;
		}
	}

	.intro .line {
		position: absolute;
		left: calc(50% - 1127px);
		top: -61px;
		width: 1978px;
		z-index: 100;
	}

	.intro .line path {
		fill: none;
		stroke: #f2c100;
		stroke-width: 3px;
	}

	.intro .line svg path {
		transition: stroke-dashoffset 2.4s ease +0.6s;
	}

	.intro>.inner {
		position: relative;
		max-width: 1180px;
		margin: 0 auto;
	}

	.intro .fbox {
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		gap: 10px;
		10px: ;
	}

	.intro .fbox .box {
		width: 100%;
		height: 180px;
		transition-delay: 0s !important;
	}

	.intro .fbox .box3 {
		width: 100%;
	}

	.intro .fbox .box .img {
		width: 260px;
		margin: 0;
		position: absolute;
		right: 0;
		top: 0;
		height: 100%;
		z-index: -1;
	}

	.intro .fbox .box .info {
		margin: 0;
		padding: 0 0 0 16px;
		position: relative;
		height: 100%;
		display: flex;
		flex-direction: column;
		justify-content: center;
		z-index: 300;
	}

	.intro .fbox .box .info .title {
		font-size: 28px;
		letter-spacing: 0.05em;
		line-height: 1em;
		margin: 0 0 0 15px;
	}

	.intro .fbox .box .info .title span {
		color: #F0B900;
		letter-spacing: 0.05em;
	}

	.intro .fbox .box .info .text {
		font-size: 16px;
		line-height: 1.8em;
		margin-top: 14px;
		min-height: 0;
		margin: 14px 0 0 15px;
	}

	.intro .fbox .box .info .text span {
		font-weight: bold;
	}

	.intro .fbox .box .info .btstyle1 {
		margin-top: 23px;
	}

	.problem {
		padding: 65px 0 10px 0;
		position: relative;
		overflow: hidden;
	}

	.problem>.inner {
		position: relative;
	}

	.problem h2 {
		display: flex;
		justify-content: center;
	}

	.problem h2>span {
		font-size: 28px;
		font-weight: bold;
		line-height: 1.8em;
		border-bottom: none;
		text-align: center;
		position: relative;
	}

	.problem h2>span::before {
		content: "";
		display: block;
		position: absolute;
		width: 280px;
		height: 3px;
		background: #F0B900;
		top: 50%;
		left: calc(50% - 140px);
	}

	.problem h2>span>span {
		color: #F0B900;
	}

	.problem .imgwrap {
		width: auto;
		margin: 33px auto 0 auto;
		position: relative;
		top: 0 !important;
	}

	.problem .imgwrap .img {
		position: relative;
		left: 50%;
		transform: translate(-50%, 0);
		width: 396px;
	}

	.problem .imgwrap .img img {}

	.problem .imgwrap .line {
		width: 832px;
		position: absolute;
		left: calc(50% - 427px);
		top: -28px;
	}

	.problem .imgwrap .line path {
		fill: none;
		stroke: #f2c100;
		stroke-width: 6px;
	}

	.problem .imgwrap .line svg path {
		stroke-dasharray: 4000;
		stroke-dashoffset: 4000;
		transition: stroke-dashoffset 1.2s ease +0.6s;
	}

	.problem .imgwrap.active .line svg path {
		stroke-dashoffset: 0;
	}

	.problem ol {
		position: absolute;
		width: 100%;
		top: 170px;
		left: 50%;
	}

	.problem ol {
		position: relative;
		width: auto;
		top: auto;
		left: auto;
		display: flex;
		flex-wrap: wrap;
		gap: 12px 16px;
		width: 92%;
		margin: -50px auto 0 auto;
		max-width: 358px;
	}

	.problem ol li {
		border: 1px solid #D9D9D9;
		height: auto;
		box-sizing: border-box;
		background: #fff;
		border-radius: 0 20px 0 20px !important;
		display: flex;
		align-items: center;
		padding: 8px 10px 8px 10px;
		position: relative;
		opacity: 0;
		transition: opacity ease 1s, top ease 1s !important;
		margin-top: 20px;
		left: auto !important;
		top: auto !important;
		width: calc(50% - 10px);
		justify-content: space-between;
	}

	.problem ol.active li {
		margin-top: 0;
		opacity: 1;
	}

	.problem ol.active li:nth-child(1) {
		margin-left: calc(50% + 6px);
	}

	.problem ol.active li:nth-child(2) {
		height: 57px;
	}

	.problem ol.active li:nth-child(3) {}

	.problem ol.active li:nth-child(4) {
		margin-top: -16px;
	}

	.problem ol.active li:nth-child(5) {
		height: 57px;
	}

	.problem ol.active li:nth-child(6) {
		height: 57px;
	}

	.problem ol.active li:nth-child(7) {
		height: 57px;
		margin-top: -19px;
	}

	.problem ol li span {
		display: block;
		width: 33px;
		height: 33px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #F2C100;
		border-radius: 100px;
		font-size: 18px;
		font-weight: bold;
	}

	.problem ol li p {
		line-height: 1.3em;
		font-size: 14px;
		font-weight: bold;
		text-align: left;
		margin-left: 0;
		min-width: 0;
		width: calc(100% - 40px);
	}

	.point {
		margin: 0;
	}

	.point>.inner {
		padding: 46px 0 40px 0;
		width: 92%;
		margin: 0 auto;
	}

	.point h2 {
		display: flex;
		justify-content: center;
	}

	.point h2 span {
		display: block;
		font-size: 24px;
		font-weight: bold;
		line-height: 1em;
		background: #F2C100;
		padding: 24px 19px 27px 19px;
		border-radius: 100px;
		position: relative;
	}

	.point h2 span::before {
		top: 100%;
		left: 50%;
		border: solid transparent;
		content: "";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-color: rgba(136, 183, 213, 0);
		border-top-color: #f3c101;
		border-width: 16px;
		margin-left: -16px;
	}

	.point .lead {
		text-align: left;
		font-size: 15px;
		font-weight: bold;
		margin-top: 38px;
		line-height: 2em;
	}

	.point .list {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		max-width: 1200px;
		width: auto;
		margin: 33px auto 0 auto;
		gap: 10px;
	}

	.point .list>li {
		width: 100%;
		background: #f8f6f2;
		border-radius: 8px;
		padding: 15px 15px 15px 15px;
		box-sizing: border-box;
	}

	.point .list>li button {
		display: flex;
		align-items: center;
		position: relative;
		pointer-events: auto;
	}

	.point .list>li button::before,
	.point .list>li button::after {
		content: "";
		display: block;
		width: 14px;
		height: 2px;
		background: #000;
		position: absolute;
		right: 10px;
		top: calc(50% - 1px);
		transition: all ease 0.3s;
	}

	.point .list>li button::after {
		transform: rotate(90deg);
	}

	.point .list>li button.open::after {
		transform: rotate(0deg);
	}

	.point .list>li .icon {
		width: 64px;
		margin: 0;
		background: #fff;
		border-radius: 100px;
	}

	.point .list>li .title {
		text-align: center;
		font-size: 18px;
		font-weight: bold;
		margin: 0 0 0 10px;
		line-height: 1.35em;
		min-height: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.point .list>li .title span {
		display: block;
		font-size: 16px;
	}

	.point .list>li ul {
		margin-top: 0;
		padding: 17px 0 5px 0;
		display: none;
	}

	.point .list>li ul li {
		font-size: 15px;
		line-height: 1.5em;
		position: relative;
		padding-left: 20px;
	}

	.point .list>li ul li::before {
		content: "";
		display: block;
		width: 12px;
		height: 5px;
		border-top: 2px solid #f0b900;
		border-right: 2px solid #f0b900;
		transform: rotate(135deg);
		top: 7px;
		left: 0;
		position: absolute;
	}

	.reason {
		background: #f8f6f2;
		padding: 110px 0 45px 0;
		position: relative;
	}

	.reason::before {
		content: "OUR STRENGTHS";
		color: #a5957e33;
		font-family: "Montserrat", sans-serif;
		font-weight: 300;
		font-size: 50px;
		position: absolute;
		top: 40px;
		text-align: center;
		line-height: 1em;
		width: 350px;
		left: 50%;
		transform: translate(-50%, 0);
	}

	.reason>.inner {}

	.reason h2 {
		display: flex;
		justify-content: center;
		text-align: center;
	}

	.reason h2>span {
		font-size: 28px;
		font-weight: bold;
		line-height: 1.8em;
		border-bottom: 3px solid #F0B900;
		line-height: 1.4em;
		padding-bottom: 5px;
	}

	.reason h2>span>span {
		color: #F0B900;
	}

	.reason .list {
		display: block;
		width: 100%;
		margin: 40px auto 0 auto;
	}

	.reason .list .detailwrap {
		width: auto;
	}

	.reason .list .detailwrap .box {}

	.reason .list .detailwrap .box+.box {
		margin-top: 70px;
	}

	.reason .list .detailwrap .box .hbox {
		display: flex !important;
		align-items: center;
		flex-direction: column;
	}

	.reason .list .detailwrap .box .hbox .label {
		font-size: 20px;
		display: block;
		font-weight: 600;
		position: relative;
		transition: all ease 0.3s;
		margin-left: 12px;
	}

	.reason .list .detailwrap .box .hbox .label::before {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		background: #F0B900;
		position: absolute;
		top: 8px;
		border-radius: 20px;
		left: -19px;
		transition: all ease 0.3s;
	}

	.reason .list .detailwrap .box .hbox .title {
		font-size: 28px;
		line-height: 1.25em;
		font-weight: bold;
		margin-top: 18px;
		transition: all ease 0.3s;
	}

	.reason .list .detailwrap .box .img {
		margin-top: 26px;
	}

	.reason .list .detailwrap .box .text {
		font-size: 18px;
		line-height: 1.5em;
		margin-top: 28px;
		padding: 0 5%;
	}

	.reason .list .detailwrap .box .text span {
		font-weight: bold;
		color: #F0B900;
	}

	.feature {
		padding: 38px 0 30px 0;
	}

	.feature>.inner {
		max-width: 1200px;
		margin: 0 auto;
		width: auto;
	}

	.feature h2 {
		letter-spacing: 0.2em;
		text-indent: 0.2em;
	}

	.feature .detail {
		margin-top: 40px;
		overflow: scroll;
		padding-bottom: 20px;
	}

	.feature .detail table {
		width: 670px;
		margin: 0 5%;
	}

	.feature .detail table tbody {}

	.feature .detail table tbody tr {
		border-top: 1px solid #000;
	}

	.feature .detail table tbody tr:nth-child(1) {
		border-top: none;
	}

	.feature .detail table tbody tr:nth-child(even) {
		background: #f8f6f2;
	}

	.feature .detail table tbody tr th {
		width: 27%;
		position: relative;
		vertical-align: middle;
	}

	.feature .detail table tbody tr th.col1 {
		width: 19%;
	}

	.feature .detail table tbody tr th.col2 {
		background: #F2C100;
		border-radius: 24px 24px 0 0;
	}

	.feature .detail table tbody tr th>div {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: 90px;
	}

	.feature .detail table tbody tr th p {
		font-size: 22px;
		font-weight: bold;
		line-height: 1.2em;
	}

	.feature .detail table tbody tr th.col2 p {
		font-size: 18px;
	}

	.feature .detail table tbody tr th p span {
		font-size: 20px;
		line-height: 1em;
	}

	.feature .detail table tbody tr th p.mini {
		font-size: 16px;
		font-weight: bold;
		line-height: 1.5em;
	}

	.feature .detail table tbody tr td {
		height: 70px;
		vertical-align: middle;
	}

	.feature .detail table tbody tr td:nth-child(2) {
		background: #F2C100;
	}

	.feature .detail table tbody tr:last-child td:nth-child(2) {
		border-radius: 0 0 24px 24px;
	}

	.feature .detail table tbody tr td>div {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: 70px;
	}

	.feature .detail table tbody tr td p {
		font-size: 15px;
		font-weight: 500;
		line-height: 1.4em;
		text-align: center;
	}

	.feature .detail table tbody tr td p.note {
		font-size: 13px;
		line-height: 1.5em;
		text-align: center;
		margin: -8px 0 3px 0;
		display: none;
	}

	.feature .detail table tbody tr td img {
		width: 50px;
		margin: 0;
	}
	.feature >.inner  > .note {
		font-size: 11px;
		color: #333;
		line-height: 1.3em;
		margin: 2px 5% 5px 5%;
	}

	.contact {
		background: url(../images/bg_contact_sp.webp) no-repeat center center / cover;
	}

	.contact>.inner {
		padding: 35px 0 42px 0;
	}

	.contact h2 {
		text-align: center;
		color: #fff;
		font-weight: bold;
		font-size: 28px;
		line-height: 1.4em;
	}

	.contact h2 span {
		color: #F0B900;
		display: inline-block;
		border-bottom: 3px solid #fff;
		padding-bottom: 6px;
	}

	.contact .lead {
		text-align: center;
		font-size: 16px;
		font-weight: bold;
		color: #fff;
		margin-top: 15px;
	}

	.contact .link {
		display: flex;
		justify-content: center;
		gap: 40px;
		margin-top: 53px;
		flex-direction: column;
		align-items: center;
	}

	.contact .link a {
		font-size: 16px;
	}

	.contact .link a.bt_download {
		margin-top: 8px;
	}

	.flow {
		background: #F8F6F2;
	}

	.flow>.inner {
		padding: 35px 0 40px 0;
	}

	.flow .detail {
		width: 90%;
		display: flex;
		justify-content: space-between;
		margin: 32px auto 0 auto;
	}

	.flow .detail .period {
		padding: 0;
	}

	.flow .detail .period span {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		display: flex;
		justify-content: start;
		align-items: center;
		width: 40px;
		height: 472px;
		border-radius: 100px;
		background: linear-gradient(to bottom, rgba(63, 57, 48, 1) 0%, rgba(165, 149, 126, 1) 100%);
		color: #fff;
		font-weight: 500;
		margin-top: 0;
		padding: 30px 0 0 0;
		font-size: 12px;
		box-sizing: border-box;
	}

	.flow .detail ol {
		width: calc(100% - 56px);
		position: relative;
	}

	.flow .detail ol::before {
		display: block;
		content: "";
		position: absolute;
		left: 34px;
		top: 50px;
		height: 550px;
		width: 10px;
		background: #a5957e36;
		display: none;
	}

	.flow .detail ol li {
		display: flex;
		align-items: start;
		justify-content: space-between;
		position: relative;
		align-items: center;
	}

	.flow .detail ol li+li {
		margin-top: 38px;
	}

	.flow .detail ol li::before {
		content: "";
		display: block;
		width: 24px;
		position: absolute;
		top: -30px;
		left: 20px;
		height: 22px;
		background: url(../images/icon_arrow2.webp) no-repeat center center / 24px auto;
	}

	.flow .detail ol li:nth-child(1)::before {
		display: none;
	}

	.flow .detail ol li .icon {
		width: 64px;
		background: #fff;
		border-radius: 100px;
		margin-top: 0;
	}

	.flow .detail ol li .info {
		width: calc(100% - 67px);
	}

	.flow .detail ol li .info .title {
		font-size: 18px;
		font-weight: bold;
		line-height: 1.5em;
		text-align: center;
	}

	.flow .detail ol li .info .title span {
		font-size: 14px;
		display: block;
	}

	.flow .detail ol li .info .text {
		font-size: 15px;
		line-height: 1.6em;
		margin-top: 22px;
		display: none;
	}

	.faq {
		background: #F8F6F2;
		border-top: 1px solid #a5957e33;
	}

	.faq>.inner {
		padding: 35px 0 45px 0;
	}

	.faq .list {
		width: 92%;
		margin: 30px auto 0 auto;
	}

	.faq .list .box {
		background: #fff;
		border-radius: 8px;
	}

	.faq .list .box+.box {
		margin-top: 10px;
	}

	.faq .list .box button {
		display: flex;
		padding: 20px 65px 20px 20px;
		width: 100%;
		box-sizing: border-box;
		justify-content: space-between;
		position: relative;
	}

	.faq .list .box button::before,
	.faq .list .box button::after {
		content: "";
		display: block;
		width: 14px;
		height: 2px;
		background: #F0B900;
		position: absolute;
		right: 30px;
		top: 33px;
	}

	.faq .list .box button.open::after {
		transform: rotate(90deg);
	}
.faq .list .box button.open::after {
	transform: rotate(0deg);
}

	.faq .list .box button span {
		display: flex;
		width: 30px;
		height: 30px;
		align-items: center;
		justify-content: center;
		background: #F2C100;
		border-radius: 4px;
		font-size: 18px;
		font-weight: bold;
	}

	.faq .list .box button p {
		width: calc(100% - 45px);
		font-size: 16px;
		font-weight: bold;
		line-height: 1.65em;
	}

	.faq .list .box .answer {
		display: none;
	}

	.faq .list .box .answer>.inner {
		padding: 0 20px 20px 20px;
		display: flex;
		width: 100%;
		box-sizing: border-box;
		justify-content: space-between;
	}

	.faq .list .box .answer span {
		display: flex;
		width: 30px;
		height: 30px;
		align-items: center;
		justify-content: center;
		color: #F2C100;
		border-radius: 4px;
		font-size: 18px;
		font-weight: bold;
	}

	.faq .list .box .answer p {
		width: calc(100% - 45px);
		font-size: 15px;
		line-height: 1.65em;
	}
}