@charset "utf-8";

/*----------------------------
	index
------------------------------*/
/* bg
-----------------*/
#bg .video-area {
	position: fixed;
	z-index: -1;
	top: 0;
	right:0;
	left:0;
	bottom:0;
	overflow: hidden;
}
#bg .video {
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	min-height: 100%;
	min-width: 100%;
}
#bg .video-area.sp {
	display: none;
}
@media (max-width: 767px) {
	#bg .video-area.sp {
		display: block;
	}
	#bg .video-area.pc {
		display: none;
	}
}

/* header,footer
-----------------*/
header {
	margin: 0;
	padding: 36px 0;
	background: #fff;
}
footer {
	padding: 36px 0;
	background: #fff;
	font-size: 12px;
	text-align: center;
}
footer p {
	margin-top: 0;
}
@media (max-width: 767px) {
	header {
		padding: 1.956vw 0;
	}
	footer {
		padding: 4vw 0 3.333vw;
		font-size: 1.6vw;
	}
}

/* main
-----------------*/
/* container */
#container.index {
	width: auto;
	overflow: visible;
}
.index .sp {
	display: none;
}
.index .inner {
	margin: 0 auto;
	width: 1000px;
}
.index p {
	margin-top: 0;
}
.index a {
	transition: opacity 0.3s ease-out;
}
.index a:hover {
	text-decoration: none;
	opacity: 0.7;
}
.index img {
	width: 100%;
	height: auto;
}
.index sup {
	font-size: 80%;
}
.index .fwB {
	font-weight: bold;
}
@media (max-width: 767px) {
	.index {
		font-size: 2.667vw;
	}
	.index .sp {
		display: block;
	}
	.index .pc {
		display: none;
	}
	.index .inner {
		width: 100%;
	}
}

/* topBlock */
.index .topBlock {
	position: relative;
}
.index .topBlock::before {
	display: block;
	content: "";
	background-image: url(/card/business/img/index_bg_main.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	mix-blend-mode: screen;
}
/* ↓ ad用レイアウト ↓ */
/* .index .mainVisual {
	padding-top: 70px;
}
.index .mainVisual .txt {
	font-family: 'Noto Serif JP', serif;
	color: #c5bb7b;
	line-height: 1.2;
	text-align: center;
}
.index .mainVisual .txt .lead {
	font-size: 32px;
	font-weight: bold;
	color: #fff;
}
.index .mainVisual .txt .amex {
	margin-top: 10px;
	font-size: 25px;
}
.index .mainVisual .txt h1 {
	font-size: 70px;
	font-weight: bold;
}
.index .mainVisual .txt .period {
	display: inline-block;
	margin-top: 15px;
	padding: 5px 20px 8px;
	font-size: 30px;
	border-top: 1px solid #c5bb7b;
	border-bottom: 1px solid #c5bb7b;
}
.index .mainVisual .cardImg {
	margin: 20px auto 0;
} */
/* ↓ 通常LPと同じレイアウト ↓ */
.index .mainVisual {
	padding-top: 35px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.index .mainVisual .txt {
	width: 445px;
	color: #fff;
	text-align: center;
}
.index .mainVisual .lead {
	margin-top: 25px;
	font-size: 40px;
	font-family: 'Noto Serif JP', serif;
	font-weight: bold;
	line-height: 1.3;
	opacity: 0;
}
.index .mainVisual .lead div {
	opacity: 0;
}
.index .mainVisual .logo {
	margin: 30px auto 0;
	width: 328px;
	overflow: hidden;
}
.index .mainVisual .logo img {
	opacity: 0;
}
.index .mainVisual .amex {
	margin-top: 30px;
	font-size: 19px;
	font-family: 'Noto Serif JP', serif;
	line-height: 1.3;
	opacity: 0;
}
.index .mainVisual .cardImg {
	margin: 0 auto;
	width: 408px;
	opacity: 0;
}
@media (max-width: 767px) {
	.index .topBlock::before {
		background-image: url(/card/business/img/index_bg_main_sp.png);
	}
	/* ↓ ad用レイアウト ↓ */
	/* .index .mainVisual {
		padding-top: 6.519vw;
	}
	.index .mainVisual .txt .lead {
		font-size: 3.911vw;
	}
	.index .mainVisual .txt .amex {
		margin-top: 1.304vw;
		font-size: 3.259vw;
	}
	.index .mainVisual .txt h1 {
		margin-top: 0.652vw;
		font-size: 7.953vw;
	}
	.index .mainVisual .txt .period {
		margin-top: 2.608vw;
		font-size: 4.563vw;
		padding: 1.304vw 0px 1.695vw;
	}
	.index .mainVisual .cardImg {
		margin-top: 4vw;
		width: 76.532vw;
	} */
	/* ↓ 通常LPと同じレイアウト ↓ */
	.index .mainVisual {
		padding-top: 5.333vw;
		flex-direction: column;
	}
	.index .mainVisual .txt {
		width: 80vw;
	}
	.index .mainVisual .lead {
		margin-top: 2.667vw;
		font-size: 5.6vw;
	}
	.index .mainVisual .logo {
		margin: 4vw auto 0;
		width: 53.067vw;
	}
	.index .mainVisual .amex {
		margin-top: 3.333vw;
		font-size: 4.267vw;
	}
	.index .mainVisual .cardImg {
		margin-top: 4vw;
		width: 66.933vw;
	}
}
.index .notice {
	margin-top: 25px;
	padding: 15px 25px;
	background: #fff;
	border-radius: 10px;
	color: #002b43;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
}
.index .notice dl + dl {
	margin-top: 10px;
}
.index .notice dt {
	font-size: 16px;
}
.index .notice dd {
	font-size: 15px;
	padding-left: 1em;
	text-indent: -1em;
}
@media (max-width: 767px) {
	.index .notice {
		margin: 4.667vw auto 0;
		width: 90%;
		padding: 3.333vw 4vw 2vw;
		border-radius: 1.333vw;
	}
	.index .notice dl + dl {
		margin-top: 1.304vw;
	}
	.index .notice dt {
		font-size: 2.608vw;
	}
	.index .notice dd {
		font-size: 2.347vw;
	}
}
.index .point {
	margin-top: 10px;
	padding: 15px;
	background: #fff;
	border-radius: 10px;
	color: #002b43;
	border: solid 1px #002b43;
}
.index .point dt {
	font-size: 22px;
	font-weight: bold;
	text-align: center;
}
.index .point dt span {
	font-size: 27px;
	font-weight: bold;
}
.index .point dd {
	margin-top: 10px;
	padding-top: 10px;
	border-top: solid 1px #002b43;
}
.index .point ul {
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.index .point ul li {
	padding-left: 15px;
	font-weight: bold;
	background-image: url(/card/business/img/index_icon_check.png);
	background-repeat: no-repeat;
	background-size: 19px 25px;
}
@media (max-width: 767px) {
	.index .point {
		margin: 4.667vw auto 0;
		width: 90%;
		padding: 3.333vw 0 2vw;
		border-radius: 1.333vw;
	}
	.index .point dt {
		font-size: 3.467vw;
		line-height: 1.2;
	}
	.index .point dt span {
		font-size: 4.267vw;
	}
	.index .point dd {
		margin-top: 2vw;
		padding-top: 2.667vw;
	}
	.index .point ul {
		font-size: 3.467vw;
		flex-direction: column;
		align-items: stretch;
	}
	.index .point ul li {
		margin-left: 13.333vw;
		padding-left: 3.333vw;
		background-size: 3.733vw 4.8vw;
	}
}

.index .point02 {
	margin-top: 45px;
	padding: 15px;
	background: #fff;
	border: solid 1px #002b43;
	border-radius: 10px;
	color: #002b43;
	opacity: 0;
}
.index .point02 dt {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
.index .point02 dt span {
	font-size: 30px;
	font-weight: bold;
}
.index .point02 .pointDf {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0 15px;
}
.index .point02 .circle {
	font-weight: bold;
	border: solid 3px #e4007f;
	border-radius: 30px;
	padding: 10px 20px;
}
.index .point02 .pointTxt {
	font-weight: bold;
}
.index .point02 .pointLink {
	font-size: 15px;
	text-decoration: underline;
}
.index .point02 dd {
	margin-top: 10px;
	padding-top: 10px;
	border-top: solid 1px #002b43;
}
.index .point02 ul {
	font-size: 18px;
}
@media (max-width: 767px) {
	.index .point02 {
		margin: 4.667vw auto 0;
		width: 90%;
		padding: 3.333vw 2vw 2vw;
		border-radius: 1.333vw;
	}
	.index .point02 dt {
		font-size: 3.467vw;
		line-height: 1.2;
	}
	.index .point02 dt span {
		font-size: 5.267vw;
	}
	.index .point02 .pointLink {
		font-size: 2.667vw;
	}
	.index .point02 dd {
		margin-top: 2vw;
		padding-top: 2.667vw;
	}
	.index .point02 .pointDf {
		margin-top: 2vw;
		flex-direction: column;
		gap: 2vw 0;
	}
	.index .point02 .circle {
		border-radius: 4vw;
		padding: 1.333vw 2.667vw;
	}
	.index .point02 ul {
		font-size: 3.467vw;
	}
}

.index .have {
	margin-top: 10px;
	padding: 15px;
	background: #e6e6e6;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.index .have .txt {
	font-size: 20px;
	font-weight: bold;
}
.index .have .txt span {
	font-weight: bold;
}
.index .have .btn {
	margin-left: 35px;
	width: 336px;
}
.index .have .btn a {
	display: block;
	padding: 10px 30px 10px 10px;
	background: #002b43;
	border-radius: 5px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	position: relative;
}
.index .have .btn a::after {
	display: block;
	content: "";
	background-image: url(/card/business/img/index_icon_arrow01.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 15px;
	height: 15px;
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -7px;
}
.index .bnr {
	padding-top: 30px;
	position: relative;
	z-index: 1;
}
@media (max-width: 767px) {
	.index .have {
		margin: 4.667vw auto 0;
		width: 90%;
		padding: 2.667vw 5.333vw;
		border-radius: 1.333vw;
		flex-direction: column;
		text-align: center;
	}
	.index .have .txt {
		font-size: 3.467vw;
		line-height: 1.5;
	}
	.index .have .txt span {
		display: inline-block;
		position: relative;
	}
	.index .have .txt span::before,
	.index .have .txt span::after {
		display: block;
		content: "";
		width: 0.267vw;
		height: 4vw;
		background: #002b43;
		position: absolute;
		top: 0.667vw;
	}
	.index .have .txt span::before {
		left: -2vw;
		transform: rotate(-30deg);
	}
	.index .have .txt span::after {
		right: -2vw;
		transform: rotate(30deg);
	}
	.index .have .btn {
		margin-top: 1.333vw;
		margin-left: 0;
		width: 76.667vw;
	}
	.index .have .btn a {
		padding: 2vw 4vw 2vw 1.333vw;
		font-size: 3.733vw;
	}
	.index .have .btn a::after {
		width: 4vw;
		height: 4vw;
		right: 4vw;
		margin-top: -2vw;
	}
	.index .bnr {
		padding-top: 6.667vw;
	}
}

/* campaign */
.index .campaign {
	margin-top: -50px;
	padding: 80px 0 0;
	background: #fff;
}
@media (max-width: 767px) {
	/* .index .campaign {
		margin-top: 0;
		padding: 0;
	} */
}
.index .campaign .cpDetailWrap {
	padding-bottom: 1px;
	background: #ced8ed;
}
.index .campaign .cpDetailWrap .ttl {
	padding: 25px;
	text-align: center;
	cursor: pointer;
}
.index .campaign .cpDetailWrap .ttl span {
	display: block;
	font-size: 26px;
	font-weight: bold;
	color: #001045;
	position: relative;
}
.index .campaign .cpDetailWrap .ttl span::before,
.index .campaign .cpDetailWrap .ttl span::after {
	display: block;
	content: '';
	width: 40px;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 50%;
	right: 0;
	transition: transform 0.3s ease-out;
}
.index .campaign .cpDetailWrap .ttl span::after {
	transform: rotate(-90deg);
}
.index .campaign .cpDetailWrap .ttl.open span::before {
	transform: rotate(45deg);
}
.index .campaign .cpDetailWrap .ttl.open span::after {
	transform: rotate(-45deg);
}
.index .campaign .cpDetailWrap .cpDetail {
	display: none;
	margin: 0 auto 30px;
	padding: 25px;
	width: 700px;
	background: #fff;
}
.index .campaign .cpDetailWrap .cpDetail .lead {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
.index .campaign .cpDetailWrap .cpDetail .lead span {
	font-size: 25px;
	font-weight: bold;
}
.index .campaign .cpDetailWrap .cpDetail .cpNote {
	font-size: 16px;
	text-align: center;
}
.index .campaign .cpDetailWrap .cpDetail .boxNote {
	width: 660px;
	margin: 20px auto 0;
	border: solid 1px #bf0500;
	padding: 15px;
}
.index .campaign .cpDetailWrap .cpDetail .boxNote li {
	font-size: 16px;
	line-height: 32px;
	padding-left: 1em;
	text-indent: -1em;
}
.index .campaign .cpDetailWrap .cpDetail .boxNote li .red {
	color: #bf0500;
	font-weight: bold;
	text-decoration: underline;
}
.index .campaign .cpDetailWrap .cpDetail .cpPic {
	margin-top: 30px;
}
.index .campaign .cpDetailWrap .cpDetail .box {
	margin: 15px auto 0;
	width: 600px;
}
.index .campaign .cpDetailWrap .cpDetail dl {
	margin-top: 30px;
}
.index .campaign .cpDetailWrap .cpDetail dt {
	font-size: 22px;
	font-weight: bold;
	color: #001045;
	text-align: center;
}
.index .campaign .cpDetailWrap .cpDetail dd {
	margin-top: 5px;
	font-size: 17px;
}
.index .campaign .cpDetailWrap .cpDetail dd .ttlPoint {
	margin-top: 15px;
	font-weight: bold;
}
.index .campaign .cpDetailWrap .cpDetail dd .list {
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.6;
}
.index .campaign .cpDetailWrap .cpDetail dd .list .border {
    text-decoration: underline;
}
.index .campaign .cpDetailWrap .cpDetail dd .list02 {
	color: #002b43;
	line-height: 1.6;
}
.index .campaign .cpDetailWrap .cpDetail dd .box02 {
	margin-top: 10px;
	padding: 20px 30px;
	background: #fff;
	border: solid 2px #c27a40;
	font-size: 16px;
	font-weight: bold;
	color: #c27a40;
}
.index .campaign .cpDetailWrap .cpDetail dd .note {
	margin-top: 15px;
	padding-left: 1em;
	text-indent: -1em;
	font-size: 15px;
}
.index .campaign .amexBnr.plusIcon {
	margin-top: 100px;
	position: relative;
}
.index .campaign .amexBnr.plusIcon::before {
	display: block;
	content: '';
	width: 55px;
	height: 55px;
	background-image: url(/card/business/img/index_icon_plus02.png);
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	top: -80px;
	left: calc(50% - 28px);
}
.index .campaign .mv {
	margin-top: 30px;
	padding: 30px 0;
	background: #00799d;
}
.index .campaign .mv .box {
	margin: 0 auto;
	padding: 70px 30px;
	width: 700px;
	background: #fff;
	text-align: center;
}
.index .campaign .mv .ttl {
	margin: 0 auto;
	width: 426px;
}
.index .campaign .mv ul {
	margin-top: 30px;
}
.index .campaign .mv ul li {
	margin: 0 auto;
	width: 465px;
}
.index .campaign .mv ul li + li {
	margin-top: 15px;
}
@media (max-width: 767px) {
	.index .campaign .cpDetailWrap .ttl {
		padding: 4vw 3.333vw;
	}
	.index .campaign .cpDetailWrap .ttl span {
		font-size: 5.067vw;
	}
	.index .campaign .cpDetailWrap .ttl span::before,
	.index .campaign .cpDetailWrap .ttl span::after {
		width: 8vw;
		height: 0.267vw;
	}
	.index .campaign .cpDetailWrap .cpDetail {
		margin: 0 5.333vw 4vw;
		padding: 6vw 3.333vw;
		width: calc(100% - 10.667vw);
	}
	.index .campaign .cpDetailWrap .cpDetail .lead {
		font-size: 4.667vw;
	}
	.index .campaign .cpDetailWrap .cpDetail .lead span {
		font-size: 5.333vw;
	}
	.index .campaign .cpDetailWrap .cpDetail .cpNote {
		font-size: 3.2vw;
	}
	.index .campaign .cpDetailWrap .cpDetail .boxNote {
		width: 95%;
		margin: 4vw auto 0;
		padding: 2.667vw;
	}
	.index .campaign .cpDetailWrap .cpDetail .boxNote li {
		font-size: 3.2vw;
		line-height: 1.5;
	}
	.index .campaign .cpDetailWrap .cpDetail .cpPic {
		margin: 4vw auto 0;
		width: 100%;
	}
	.index .campaign .cpDetailWrap .cpDetail .box {
		margin: 2vw auto 0;
		width: 100%;
	}
	.index .campaign .cpDetailWrap .cpDetail dl {
		margin-top: 6.667vw;
	}
	.index .campaign .cpDetailWrap .cpDetail dt {
		font-size: 5.067vw;
	}
	.index .campaign .cpDetailWrap .cpDetail dd {
		margin-top: 0.667vw;
		font-size: 3.867vw;
	}
	.index .campaign .cpDetailWrap .cpDetail dd .ttlPoint {
		margin-top: 1.953vw;
	}
	.index .campaign .cpDetailWrap .cpDetail dd .box02 {
		margin-top: 2.667vw;
		padding: 5.333vw 4vw;
		font-size: 3.867vw;
	}
	.index .campaign .cpDetailWrap .cpDetail dd .note {
		margin-top: 4.667vw;
		font-size: 3.2vw;
	}
	.index .campaign .amexBnr.plusIcon {
		margin-top: 13.333vw;
	}
	.index .campaign .amexBnr.plusIcon::before {
		width: 7.333vw;
		height: 7.333vw;
		top: -10.667vw;
		left: calc(50% - 3.733vw);
	}
	.index .campaign .mv {
		margin-top: 4vw;
		padding: 4vw 0;
	}
	.index .campaign .mv .box {
		padding: 10.667vw 6vw;
		width: 100%;
	}
	.index .campaign .mv .ttl {
		width: 79.467vw;
	}
	.index .campaign .mv ul {
		margin-top: 6vw;
	}
	.index .campaign .mv ul li {
		width: 100%;
	}
	.index .campaign .mv ul li + li {
		margin-top: 4.667vw;
	}
}

/* about */
.index .about {
	padding: 80px 0 0;
	background: #fff;
}
@media (max-width: 767px) {
	.index .about {
		padding: 10vw 0 0;
	}
}
.index .about .ttl {
	margin-top: 40px;
	font-size: 27px;
	font-weight: bold;
	color: #002b43;
	text-align: center;
}
.index .about .wrap {
	margin-top: 25px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.index .about .wrap dl {
	width: 468px;
}
.index .about .wrap dl dt {
	padding: 5px 5px 5px 25px;
	background: #00caff;
	font-size: 20px;
	font-weight: bold;
	color: #002b43;
}
.index .about .wrap dl dd {
	padding: 25px 18px 35px;
	font-size: 16px;
	line-height: 1.5;
}
.index .about .wrap dl dd .note {
	margin-top: 5px;
	font-size: 13px;
}
.index .about .wrap dl dd .box {
	margin-top: 25px;
	padding: 10px 20px;
	background: #f3f3f3;
}
.index .about .wrap dl dd .box .boxTtl {
	margin-bottom: 10px;
	padding-bottom: 5px;
	text-align: center;
	border-bottom: 1px solid #000;
}
.index .about .wrap dl dd .box ul {
	padding-left: 1em;
	text-indent: -1em;
}
.index .about .wrap dl dd .box li + li {
	margin-top: 5px;
}
.index .about .wrap dl dd .box ul.oneline {
	display: flex;
	flex-wrap: wrap;
	column-gap: 25px;
	padding-left: 0;
	text-indent: 0;
}
.index .about .wrap dl dd .box ul.oneline li {
	margin-top: 0;
}
@media (max-width: 767px) {
	.index .about .ttl {
		margin-top: 8.667vw;
		font-size: 4.533vw;
	}
	.index .about .wrap {
		margin-top: 2.667vw;
		flex-direction: column;
	}
	.index .about .wrap dl {
		width: 100%;
	}
	.index .about .wrap dl dt {
		padding: 1.067vw 0.667vw 1.067vw 6vw;
		font-size: 4.267vw;
	}
	.index .about .wrap dl dd {
		padding: 3.333vw 4.667vw 6.666vw;
		font-size: 3.467vw;
	}
	.index .about .wrap dl dd .note {
		margin-top: 0.667vw;
		font-size: 2.933vw;
	}
	.index .about .wrap dl dd .box {
		margin-top: 4.667vw;
		padding: 2.667vw 4vw;
	}
	.index .about .wrap dl dd .box .boxTtl {
		margin-bottom: 2.667vw;
		padding-bottom: 0.667vw;
	}
	.index .about .wrap dl dd .box li + li {
		margin-top: 0.667vw;
	}
	.index .about .wrap dl dd .box ul.oneline {
		display: flex;
		flex-wrap: wrap;
		column-gap: 3.333vw;
	}
}

/* reason */
.index .reason {
	padding: 50px 0 110px;
	background: rgba(243, 246, 251, 0.85);
}
.index .reason h2.ttl {
	font-size: 32px;
	font-weight: bold;
	color: #976e00;
	line-height: 1.35;
	text-align: center;
}
.index .reason h2.ttl span.line {
	color: #002b43;
	font-weight: bold;
	border-bottom: solid 1px #002b43;
}
.index .reasonBlock {
	margin-top: 50px;
}
.index .reasonBlock .subTtl {
	padding: 20px 55px 20px 45px;
	background: #002b43;
	font-size: 23px;
	font-weight: bold;
	color: #fff;
	line-height: 1.2;
}
.index .reasonBlock .subTtl span.gold {
	font-weight: bold;
	color: #e8bf4e;
}
.index .reasonBlock .reasonBox {
	background: #fff;
	box-shadow: 3px 3px 0px 0px rgba(0,43,67,0.1);
}
@media (max-width: 767px) {
	.index .reason {
		padding: 10.667vw 0 14.667vw;
		background: rgba(243, 246, 251, 0.85);
	}
	.index .reason .inner {
		margin: 0 auto;
		width: 90%;
	}
	.index .reason h2.ttl {
		font-size: 6.133vw;
	}
	.index .reasonBlock {
		margin-top: 8vw;
	}
	.index .reasonBlock .subTtl {
		padding: 4vw 8vw 4vw 6vw;
		font-size: 4.533vw;
	}
}
.index .reasonBlock01 .reasonBox .box01 {
	padding: 25px 45px 50px;
}
.index .reasonBlock01 .reasonBox .box02 {
	padding: 0 45px 50px;
}
.index .reasonBlock01 .reasonBox .ttl {
	font-size: 21px;
	color: #ff0000;
	text-align: center;
	position: relative;
}
.index .reasonBlock01 .reasonBox .ttl::before {
	display: block;
	content: "";
	border-top: dotted 1px #000;
	position: absolute;
	top: 50%;
	width: 100%;
	z-index: 1;
}
.index .reasonBlock01 .reasonBox .ttl span {
	display: inline-block;
	padding: 0 20px;
	background: #fff;
	line-height: 1.3;
	font-weight: bold;
	position: relative;
	z-index: 2;
}
.index .reasonBlock01 .reasonBox .wrap {
	margin: 20px 20px 10px;
	display: flex;
	justify-content: space-between;
}
.index .reasonBlock01 .reasonBox .box01 .wrap {
	flex-direction: row-reverse;
}
.index .reasonBlock01 .reasonBox .box01 .wrap .pic {
	margin: 0 10px;
	width: 136px;
}
.index .reasonBlock01 .reasonBox .box01 .wrap .txt {
	width: 660px;
	font-size: 16px;
}
.index .reasonBlock01 .reasonBox .box01 .wrap .txt .note {
	margin-top: 10px;
	font-size: 13px;
}
@media (max-width: 767px) {
	.index .reasonBlock01 .reasonBox .box01 {
		padding: 4.667vw 3.333vw 4vw;
	}
	.index .reasonBlock01 .reasonBox .box02 {
		padding: 0 3.333vw 10.667vw;
	}
	.index .reasonBlock01 .reasonBox .ttl {
		font-size: 4vw;
	}
	.index .reasonBlock01 .reasonBox .ttl span .sp {
		display: inline-block;
	}
	.index .reasonBlock01 .reasonBox .wrap {
		margin: 1.333vw 2.667vw;
		display: block;
	}
	.index .reasonBlock01 .reasonBox .box01 .wrap .pic {
		margin: 0 0 0 2.667vw;
		width: 26vw;
		float: right;
	}
	.index .reasonBlock01 .reasonBox .box01 .wrap .txt {
		width: auto;
		font-size: 3.467vw;
	}
	.index .reasonBlock01 .reasonBox .box01 .wrap .txt .note {
		margin-top: 1.333vw;
		font-size: 2.933vw;
		line-height: 1.45;
	}
}
.index .reasonBlock02 .reasonBox {
	padding: 30px 45px 30px;
}
.index .reasonBlock02 .reasonBox .box01 .ttl {
	font-size: 21px;
	font-weight: bold;
}
.index .reasonBlock02 .reasonBox .box01 .wrap {
	margin-top: 10px;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
}
.index .reasonBlock02 .reasonBox .box01 .wrap .pic {
	margin: 0 10px;
	width: 123px;
}
.index .reasonBlock02 .reasonBox .box01 .wrap .txt {
	width: 670px;
	font-size: 16px;
}
.index .reasonBlock02 .reasonBox .box01 .wrap .txt .note {
	margin-top: 10px;
	font-size: 13px;
}
.index .reasonBlock02 .reasonBox .arrow {
	margin: 30px auto 0;
	width: 46px;
}
.index .reasonBlock02 .reasonBox .box02 {
	margin-top: 40px;
}
.index .reasonBlock02 .reasonBox .box02 .ttl {
	padding: 5px;
	font-size: 18px;
	font-weight: bold;
	color: #002b43;
	text-align: center;
	border: solid 1px #002b43;
}
.index .reasonBlock02 .reasonBox .box02 .pic {
	margin: 30px auto 0;
	width: 865px;
}
.index .reasonBlock02 .reasonBox .box02 .note {
	margin-top: 30px;
	font-size: 13px;
}
@media (max-width: 767px) {
	.index .reasonBlock02 .reasonBox {
		padding: 4.667vw 3.333vw;
	}
	.index .reasonBlock02 .reasonBox .box01 .ttl {
		font-size: 4vw;
	}
	.index .reasonBlock02 .reasonBox .box01 .wrap {
		margin-top: 1.333vw;
		display: block;
	}
	.index .reasonBlock02 .reasonBox .box01 .wrap .pic {
		margin-left: 2.667vw;
		width: 23.333vw;
		float: right;
	}
	.index .reasonBlock02 .reasonBox .box01 .wrap .txt {
		width: auto;
		font-size: 3.467vw;
	}
	.index .reasonBlock02 .reasonBox .box01 .wrap .txt .note {
		margin-top: 1.333vw;
		font-size: 2.933vw;
		line-height: 1.45;
	}
	.index .reasonBlock02 .reasonBox .arrow {
		margin: 30px auto 0;
		width: 10.667vw;
	}
	.index .reasonBlock02 .reasonBox .box02 {
		margin-top: 4vw;
	}
	.index .reasonBlock02 .reasonBox .box02 .ttl {
		padding: 0.667vw;
		font-size: 3.467vw;
	}
	.index .reasonBlock02 .reasonBox .box02 .pic {
		margin: 4vw auto 0;
		width: 100%;
	}
	.index .reasonBlock02 .reasonBox .box02 .note {
		margin-top: 4vw;
		font-size: 2.933vw;
		line-height: 1.25;
	}
}
.index .reasonBlock03 .reasonBox {
	padding: 45px 45px 50px;
	font-size: 16px;
}
.index .reasonBlock03 .reasonBox > .box {
	margin-top: 20px;
	padding: 20px 40px;
	background: #fff3da;
}
.index .reasonBlock03 .reasonBox > .box a {
	margin-right: 5px;
	padding: 3px;
	border: solid 1px #048;
}
.index .reasonBlock03 .reasonBox dl {
	margin-top: 30px;
}
.index .reasonBlock03 .reasonBox dl dt {
	margin-right: 45px;
	font-size: 21px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	background: #002b43;
}
.index .reasonBlock03 .reasonBox dl dd {
	margin-bottom: 60px;
}
.index .reasonBlock03 .reasonBox dl dd .txt {
	margin-top: 20px;
	text-align: center;
}
.index .reasonBlock03 .reasonBox dl dd .wrap {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.index .reasonBlock03 .reasonBox dl.service01 dd .box {
	margin-top: 50px;
	padding: 30px 25px;
	width: 48%;
	background: #f3f6fb;
	line-height: 1.8;
	position: relative;
}
.index .reasonBlock03 .reasonBox dl.service01 dd .box .boxSubTtl {
	margin-bottom: 10px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.65;
}
.index .reasonBlock03 .reasonBox dl.service01 dd .box .icon img {
	margin-right: 0.3rem;
	margin-bottom: 0.3rem;
	width: 2rem;
	vertical-align: middle;
}
.index .reasonBlock03 .reasonBox dl.service02 dd .box {
	margin-top: 30px;
	padding: 35px 20px 5px;
	width: 48%;
	border-top: 1px solid #bebebe;
	line-height: 1.8;
	position: relative;
}
.index .reasonBlock03 .reasonBox dl.service02 dd .box.wide {
	margin-left: auto;
	margin-right: auto;
	width: 70%;
}
.index .reasonBlock03 .reasonBox dl.service02 dd .box .boxSubTtl {
	margin-bottom: 7px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.65;
}
.index .reasonBlock03 .reasonBox dl dd .note {
	margin-top: 5px;
	font-size: 13px;
}
.index .reasonBlock03 .reasonBox dl + .note {
	margin-top: 30px;
	text-align: center;
	line-height: 1.3;
}
.index .reasonBlock03 .reasonBox .attention {
	margin-top: 30px;
	padding: 8px 10px;
	font-size: 15px;
	font-weight: bold;
	color: #002b43;
	border: solid 2px #002b43;
	text-align: center;
}
.index .reasonBlock03 .reasonBox .btn {
	margin: 30px auto 0;
	width: 336px;
}
.index .reasonBlock03 .reasonBox .btn a {
	display: block;
	padding: 10px 30px 10px 10px;
	background: #002b43;
	border-radius: 5px;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	position: relative;
}
.index .reasonBlock03 .reasonBox .btn a::after {
	display: block;
	content: "";
	background-image: url(/card/business/img/index_icon_arrow01.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 15px;
	height: 15px;
	position: absolute;
	top: 50%;
	right: 20px;
	margin-top: -7px;
}
@media (max-width: 767px) {
	.index .reasonBlock03 .reasonBox {
		padding: 6.667vw 4vw 6.667vw;
		font-size: 3.467vw;
	}
	.index .reasonBlock03 .reasonBox > .box {
		margin-top: 2.667vw;
		padding: 4vw;
	}
	.index .reasonBlock03 .reasonBox dl {
		margin-top: 4vw;
	}
	.index .reasonBlock03 .reasonBox dl dt {
		margin-right: 8vw;
		padding: 0 2vw;
		font-size: 4vw;
	}
	.index .reasonBlock03 .reasonBox dl dd {
		margin-bottom: 8vw;
	}
	.index .reasonBlock03 .reasonBox dl dd .txt {
		margin-top: 2.667vw;
		font-size: 2.933vw;
	}
	.index .reasonBlock03 .reasonBox dl dd .wrap {
		flex-direction: column;
	}
	.index .reasonBlock03 .reasonBox dl.service01 dd .box {
		margin-top: 6.667vw;
		padding: 5.333vw 4vw;
		width: 100%;
		line-height: 1.69;
	}
	.index .reasonBlock03 .reasonBox dl.service01 dd .box .boxSubTtl {
		margin-bottom: 1.333vw;
		font-size: 4.267vw;
		line-height: 1.54;
	}
	.index .reasonBlock03 .reasonBox dl.service01 dd .box .icon img {
		width: 1.6rem;
	}
	.index .reasonBlock03 .reasonBox dl.service02 dd .box {
		margin-top: 4.667vw;
		padding: 6vw 4vw 2vw;
		width: 100%;
		line-height: 1.69;
	}
	.index .reasonBlock03 .reasonBox dl.service02 dd .box.wide {
		width: 100%;
	}
	.index .reasonBlock03 .reasonBox dl.service02 dd .box .boxSubTtl {
		margin-bottom: 1.333vw;
		font-size: 4.267vw;
		line-height: 1.54;
	}
	.index .reasonBlock03 .reasonBox dl dd .note {
		margin-top: 0.667vw;
		font-size: 2.933vw;
		line-height: 1.45;
	}
	.index .reasonBlock03 .reasonBox dl + .note {
		margin-top: 4vw;
		text-align: left;
	}
	.index .reasonBlock03 .reasonBox .attention {
		margin-top: 4vw;
		padding: 2vw;
		font-size: 3.6vw;
		line-height: 4.4vw;
	}
	.index .reasonBlock03 .reasonBox .btn {
		margin: 4vw auto 0;
		width: 76.667vw;
	}
	.index .reasonBlock03 .reasonBox .btn a {
		padding: 2vw 4vw 2vw 1.333vw;
		font-size: 3.733vw;
	}
	.index .reasonBlock03 .reasonBox .btn a::after {
		width: 4vw;
		height: 4vw;
		right: 4vw;
		margin-top: -2vw;
	}
}

/* info */
.index .info {
	padding: 120px 0 0;
	background: #fff;
}
.index .info .ttl {
	font-size: 32px;
	font-weight: bold;
	color: #002b43;
	text-align: center;
}
.index .info .ttl span {
	font-weight: bold;
}
.index .info table {
	margin: 30px auto 0;
	width: 560px;
}
.index .info table th,
.index .info table td {
	padding: 5px 10px;
	border-bottom: dotted 1px #002b43;
	line-height: 1.4;
	vertical-align: middle;
}
.index .info table tr:last-child th,
.index .info table tr:last-child td {
	border-bottom: none;
}
.index .info table th {
	background: #f9f9fa;
	width: 145px;
	font-size: 20px;
	text-align: center;
	border-right: dotted 1px #002b43;
}
.index .info table td {
	font-size: 17px;
}
.index .info table td span {
	font-size: 24px;
	font-weight: bold;
}
.index .info table td .amex {
	width: 55px;
}
.index .info table td .wrap {
	display: flex;
	align-items: center;
}
.index .info table td .apple {
	width: 95px;
}
.index .info table td .box {
	margin-top: 5px;
	padding: 5px 10px;
	background: #f3f6fb;
}
.index .info table + .note {
	margin: 15px auto 0;
	font-size: 13px;
	width: 560px;
}
@media (max-width: 767px) {
	.index .info {
		padding: 26.667vw 0 0;
	}
	.index .info .ttl {
		font-size: 5.333vw;
		line-height: 1.3;
	}
	.index .info table {
		margin: 2.667vw auto 0;
		width: 90%;
	}
	.index .info table th {
		width: 22vw;
		font-size: 3.2vw;
	}
	.index .info table td {
		font-size: 2.933vw;
	}
	.index .info table td span {
		font-size: 3.2vw;
	}
	.index .info table td .amex {
		width: 20%;
	}
	.index .info table td .apple {
		width: 25%;
	}
	.index .info table td .box {
		margin-top: 0.667vw;
		padding: 1.067vw 1.333vw;
	}
	.index .info table + .note {
		margin: 4vw auto 0;
		font-size: 2.933vw;
		line-height: 1.45;
		width: 90%;
	}
}

/* faq */
.index .faq {
	padding: 60px 0 80px;
	background: #f3f6fb;
	position: relative;
	overflow: hidden;
}
.index .faq::before,
.index .faq::after {
	display: block;
	content: "";
	position: absolute;
	background: #ebf0f8;
	transform: skewY(-10deg);
}
.index .faq::before {
	top: 0;
	left: 0;
	width: 330px;
	height: 60px;
	transform-origin: top left;
}
.index .faq::after {
	bottom: 0;
	right: 0;
	width: 500px;
	height: 90px;
	transform-origin: bottom right;
}
.index .faq .ttl {
	font-size: 32px;
	font-weight: bold;
	color: #002b43;
	text-align: center;
}
.index .faq dl {
	margin-top: 30px;
	margin-left: 50px;
}
.index .faq dl dt {
	padding-right: 45px;
	font-size: 20px;
	line-height: 1.3;
	display: flex;
	align-items: center;
}
.index .faq dl dt span {
	font-weight: bold;
}
.index .faq dl dt span:first-child {
	margin-right: 15px;
}
.index .faq dl dd {
	margin-top: 15px;
	font-size: 16px;
}
.index .faq dl dd p + p {
	margin-top: 5px;
}
.index .faq dl dd .note {
	margin-top: 5px;
	font-size: 13px;
}
@media (max-width: 767px) {
	.index .faq {
		padding: 13.333vw 0 16vw;
	}
	.index .faq .inner {
		margin: 0 auto;
		width: 90%;
	}
	.index .faq::before,
	.index .faq::after {
		transform: skewY(-30deg);
	}
	.index .faq::before {
		width: 21.333vw;
		height: 12vw;
	}
	.index .faq::after {
		width: 26.667vw;
		height: 15.333vw;
	}
	.index .faq .ttl {
		font-size: 5.333vw;
	}
	.index .faq dl {
		margin-top: 4vw;
		margin-left: 0;
	}
	.index .faq dl dt {
		font-size: 3.733vw;
	}
		.index .faq dl dd {
		display: none;
		font-size: 3.467vw;
		line-height: 1.5;
	}
	.index .faq dl dd p + p {
		margin-top: 2vw;
	}
	.index .faq dl dd .note {
		margin-top: 2vw;
		font-size: 2.933vw;
		line-height: 1.45;
	}
}

/* apply */
.index .apply {
	padding: 120px 0 0;
	background: #fff;
}
.index .apply .ttl {
	font-size: 32px;
	font-weight: bold;
	color: #002b43;
	text-align: center;
}
.index .apply .lead {
	margin-top: 30px;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
.index .apply .lead + p {
	margin-top: 10px;
	font-size: 16px;
	text-align: center;
}
.index .apply .applyBox {
	margin: 30px 25px 0;
	padding: 20px 15px;
	border: solid 3px #335669;
	border-radius: 10px;
	display: flex;
	align-items: center;
}
.index .apply .applyBox .num {
	margin-left: 20px;
	margin-right: 30px;
	width: 40px;
	height: 40px;
	font-size: 24px;
	color: #fff;
	background: #335669;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-content: center;
}
.index .apply .applyBox .pic {
	width: 210px;
	text-align: center;
}
.index .apply .applyBox01 .pic img {
	width: 180px;
}
.index .apply .applyBox02 .pic img {
	width: 192px;
}
.index .apply .applyBox03 .pic img {
	width: 177px;
}
.index .apply .applyBox dl {
	margin-left: 10px;
	width: 530px;
}
.index .apply .applyBox dl dt {
	padding-bottom: 5px;
	font-size: 22px;
	font-weight: bold;
	border-bottom: dotted 1px #002b43;
}
.index .apply .applyBox dl dd {
	font-size: 16px;
	line-height: 1.4;
}
.index .apply .applyBox dl dd p {
	margin-top: 5px;
}
.index .apply .applyBox dl dd .note {
	margin-top: 10px;
	font-size: 13px;
}
.index .apply .applyBox + .note {
	margin-top: 60px;
	font-size: 16px;
	line-height: 1.5;
}
.index .apply .arrow {
	margin: 30px auto;
	width: 50px;
}
@media (max-width: 767px) {
	.index .apply {
		padding: 26.667vw 0 0;
	}
	.index .apply .inner {
		margin: 0 auto;
		width: 90%;
	}
	.index .apply .ttl {
		font-size: 5.333vw;
	}
	.index .apply .lead {
		margin-top: 1.333vw;
		font-size: 3.733vw;
		line-height: 1.4;
	}
	.index .apply .lead + p {
		margin-top: 2.667vw;
		font-size: 3.467vw;
		line-height: 1.5;
	}
	.index .apply .applyBox {
		margin: 6.667vw 0 0;
		padding: 0 2vw 4vw;
		flex-direction: column;
	}
	.index .apply .applyBox .num {
		margin: -4vw auto 0;
		width: 8vw;
		height: 8vw;
		font-size: 4.8vw;
	}
	.index .apply .applyBox .pic {
		margin-top: 4vw;
		width: 44vw;
	}
	.index .apply .applyBox01 .pic img {
		width: 100%;
	}
	.index .apply .applyBox02 .pic img {
		width: 40.533vw;
	}
	.index .apply .applyBox03 .pic img {
		width: 38.933vw;
	}
	.index .apply .applyBox dl {
		margin-top: 2vw;
		margin-left: 0;
		width: 100%;
	}
	.index .apply .applyBox dl dt {
		font-size: 3.733vw;
		text-align: center;
	}
	.index .apply .applyBox dl dd {
		margin-top: 1.333vw;
		font-size: 3.467vw;
	}
	.index .apply .applyBox dl dd .note {
		margin-top: 1.333vw;
		font-size: 2.933vw;
	}
	.index .apply .applyBox + .note {
		margin-top: 8vw;
		font-size: 3.467vw;
	}
	.index .apply .arrow {
		margin: 6.667vw auto 8vw;
		width: 10.4vw;
	}
}

/* btmFix */
.index .btmFix {
	padding: 15px;
	background: #f1f1f1;
	position: sticky;
	bottom: 0;
	z-index: 10;
}
.index .btmFix .btnApply {
	margin: 0 auto;
	width: 725px;
}
.index .btmFix .btnApply a {
	display: block;
	padding: 20px;
	background: #976e00;
	border-radius: 5px;
	color: #fff;
	font-size: 21px;
	font-weight: bold;
	text-align: center;
}
.index .btmFix .btnApply a > span {
	position: relative;
}
.index .btmFix .btnApply a > span::after {
	display: block;
	content: "";
	background-image: url(/card/business/img/index_icon_arrow01.png);
	background-repeat: no-repeat;
	background-size: contain;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 50%;
	right: -40px;
	margin-top: -10px;
}
.index .btmFix .btnApply a span span {
	font-size: 16px;
	font-weight: bold;
}
@media (max-width: 767px) {
	.index .btmFix {
		padding: 2.667vw;
	}
	.index .btmFix .btnApply {
		margin: 0 auto;
		width: 53.867vw;
	}
	.index .btmFix .btnApply a {
		padding: 2vw 1.333vw;
		font-size: 4vw;
		line-height: 1.3;
		border-radius: 1.333vw;
	}
	.index .btmFix .btnApply a > span {
		display: block;
	}
	.index .btmFix .btnApply a > span::after {
		width: 4vw;
		height: 4vw;
		right: 1.333vw;
		margin-top: -2vw;
	}
	.index .btmFix .btnApply a span span {
		display: block;
		font-size: 2.933vw;
	}
}

/* ttl animation */
.index h2.ttl {
	transition: clip-path 1.5s cubic-bezier(0.37, 0, 0.63, 1) 0s;
	clip-path: inset(0 100% 0 0);
}
.index .ttl.on {
	clip-path: inset(0);
}

/* accodion */
.index .accodion > h3 {
	position: relative;
	cursor: pointer;
}
.index .accodion > h3::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 40px;
	height: 40px;
	background-repeat: no-repeat;
	background-size: contain;
	margin-top: -20px;
}
.index .accodion > h3::after {
	background-image: url(/card/business/img/index_icon_accodion01.png);
}
.index .accodion > h3.open::after {
	background-image: url(/card/business/img/index_icon_accodion02.png);
}
.index .accodion > h3 + .reasonBox {
	display: none;
}
.index .accodion > dt {
	position: relative;
	cursor: pointer;
}
.index .accodion > dt::after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 28px;
	height: 28px;
	background-repeat: no-repeat;
	background-size: contain;
	margin-top: -14px;
}
.index .accodion > dt::after {
	background-image: url(/card/business/img/index_icon_accodion01.png);
}
.index .accodion > dt.open::after {
	background-image: url(/card/business/img/index_icon_accodion02.png);
}
.index .accodion > dt + dd {
	display: none;
}
.index .accodion.reasonBlock03 dt::after {
	right: -40px;
}
@media (max-width: 767px) {
	.index .accodion > h3::after {
		right: 2.667vw;
		width: 7.867vw;
		height: 7.867vw;
		margin-top: -3.733vw;
	}
	.index .accodion > dt::after {
		right: 0;
		width: 5.333vw;
		height: 5.333vw;
		margin-top: -2.667vw;
	}
	.index .accodion.reasonBlock03 dt::after {
		right: -8vw;
	}
}

/* modal */
body.fixed {
	overflow: hidden;
	width: 100%;
	height: 100%;
	position: fixed;
	left: 0;
}
.modalBg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10000;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
}
.index .modalClose {
	position: absolute;
	top: -40px;
	right: 10px;
	width: 35px;
	height: 35px;
	cursor: pointer;
}
.index .modalClose:before,
.index .modalClose:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: 1px;
	transform: translate(-50%,-50%) rotate(45deg);
	background: #fff;
}
.index .modalClose:after {
	transform: translate(-50%,-50%) rotate(-45deg);
}
.index .modalBox {
	display: none;
	position: fixed;
	z-index: 10001;
	width: 90%;
	max-width: 900px;
	max-height: 92%;
	background: #fff;
}
.index .modalBox .inner {
	width: 100%;
}
.index .modalBox .videoWrap {
	padding: 40px;
}
.index .modalBox .videoWrap .movie {
	width: 100%;
	padding-top: 56.25%;
	position: relative;
}
.index .modalBox .videoWrap .movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
.index .modalBox .videoWrap ul {
	margin-top: 20px;
	display: flex;
	justify-content: space-between;
}
.index .modalBox .videoWrap ul li {
	width: 48%;
}
@media (max-width: 767px) {
	.index .modalClose {
		top: -6.667vw;
		right: 1.333vw;
		width: 5.6vw;
		height: 5.6vw;
	}
	.index .modalBox .videoWrap {
		padding: 5.333vw;
	}
	.index .modalBox .videoWrap ul {
		margin-top: 2.667vw;
		flex-direction: column;
		align-items: center;
	}
	.index .modalBox .videoWrap ul li {
		width: 90%;
	}
	.index .modalBox .videoWrap ul li + li {
		margin-top: 2.667vw;
	}
}

/* pagetop */
.index .pagetop {
	position: fixed;
	bottom: 120px;
	right: 0;
	width: 50px;
	height: 50px;
	z-index: 11;
}
@media (max-width: 767px) {
	.index .pagetop {
		opacity: 0.8;
	}
}
