@charset "utf-8";

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
body {
	font-family:
		"Noto Sans JP",
		system-ui,
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		"Helvetica Neue",
		Arial,
		"ヒラギノ角ゴ ProN",
		"Hiragino Kaku Gothic ProN",
		"メイリオ",
		Meiryo,
		sans-serif;
}
.mainVisual {
	/* margin-bottom: 159px; */
	margin-bottom: 90px;
	padding: 100px 20px 0;
	height: 750px;
	position: relative;
	box-sizing: border-box;
	background: url("../img/index/main_img.jpg") no-repeat top right / cover;
}
.mainVisual .innerBox {
	margin: 0 auto;
	max-width: 1330px;
}
/* .mainVisual::before {
	height: 400px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -49px;
	background: url("../img/index/bg01.png") no-repeat center bottom;
	background-size: auto 180px;
	content: "";
} */

.mainVisual .textImg {
	position: relative;
	z-index: 1;
	width: 69%;
}

.mainVisual .btnList {
	width: 100%;
	position: absolute;
	left: 0;
	bottom: -28px;
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.mainVisual .btnList li {
	/* margin: 0 10px; */
	width: 450px;
}

.mainVisual .btnList li a:hover {
	opacity: 0.7;
}

#main h2 {
	text-align: center;
}

#main .sec01 {
	margin-bottom: 87px;
}

#main .sec01 h2 {
	margin-bottom: 29px;
}

#main .sec01 .listUl {
	margin: -20px 0 38px;
}

#main .sec01 .listUl > li {
	margin-top: 20px;
	padding: 8px 8px 10px;
	width: 590px;
	border-radius: 8px;
	box-sizing: border-box;
	box-shadow: 0 0 4px rgb(0, 0, 0, 0.3);
	background-color: #fff;
	overflow: hidden;
}

#main .sec01 .listUl li .photo {
	margin-bottom: 13px;
	border-radius: 6px;
	overflow: hidden;
}

#main .sec01 .listUl li p {
	margin-bottom: 15px;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.04em;
	line-height: 1.63;
}

#main .sec01 .listUl li .title {
	margin-bottom: 11px;
}

#main .sec01 .listUl li .title .txt {
	padding-left: 37px;
	display: inline-block;
	color: #2c4198;
	font-size: 3.1rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.04em;
	background: url("../img/common/icon01.png") no-repeat left top 17px / 30px;
}

#main .sec01 .listUl .li01 .title .txt {
	background: url("../img/common/icon02.png") no-repeat left top 10px / 34px auto;
}

#main .sec01 .listUl li .title .sml {
	color: #000;
	font-size: 2.5rem;
}

#main .sec01 .listUl li li {
	margin-bottom: 6px;
	padding: 8px 10px 7px 45px;
	min-height: 41px;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	border-radius: 4px;
	background: #e8f0fa url("../img/common/icon03.png") no-repeat left 11px top 9px / 25px;
	line-height: 1.28;
	box-sizing: border-box;
}

#main .sec01 .listUl li li:last-child {
	margin-bottom: 0;
}

#main .sec01 .listUl li li .sml {
	font-size: 1.2rem;
	font-weight: 500;
}

#main .sec01 .listUl li li .blue {
	color: #2c4198;
}

#main .sec01 .listUl li li .red {
	color: #d80000;
}

#main .sec01 .btn01 {
	margin: 0 auto;
	width: 429px;
}

#main .sec01 .btn01 label {
	cursor: pointer;
}

#main .sec01 .btn01 label:hover {
	opacity: 0.7;
}

#main .sec02 {
	padding: 90px 0;
}

#main .sec02 h2 {
	margin-bottom: 25px;
}

#main .sec02 .imgList {
	margin-top: -20px;
}

#main .sec02 .imgList li {
	margin: 20px 20px 0 0;
	width: 285px;
	position: relative;
}

#main .sec02 .imgList li:nth-child(4n) {
	margin-right: 0;
}

#main .sec02 .imgList li .ttl {
	padding: 5px 10px 9px;
	width: 245px;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	font-size: 2.8rem;
	font-weight: bold;
	text-align: center;
	line-height: 1.64;
	letter-spacing: 0.04em;
	border-radius: 10px;
	box-sizing: border-box;
	box-shadow: 0 0 2px rgb(0, 0, 0, 0.3);
	background-color: #fff;
}

#main .sec03 {
	padding: 88px 0 90px;
	background: url("../img/index/photo03.png") no-repeat left top / cover;
}

#main .sec03 h2 {
	margin-bottom: 28px;
}

#main .sec03 .listUl {
	margin-top: -20px;
}

#main .sec03 .listUl li {
	margin: 20px 30px 0 0;
	padding: 7px 10px 20px;
	width: 380px;
	position: relative;
	border-radius: 10px;
	box-sizing: border-box;
	box-shadow: 0 0 4px rgb(0, 0, 0, 0.3);
	background-color: #fff;
}

#main .sec03 .listUl li:nth-child(3n) {
	margin-right: 0;
}

#main .sec03 .listUl li p {
	text-align: center;
	line-height: 1.64;
	font-weight: 500;
	letter-spacing: 0.04em;
}

#main .sec03 .listUl li .photo {
	margin-bottom: 14px;
	border-radius: 4px;
	overflow: hidden;
}

#main .sec03 .listUl li .note {
	margin-top: 2px;
	font-size: 1.2rem;
	font-weight: 400;
}

#main .sec03 .listUl li .title {
	margin-bottom: 10px;
	padding-left: 77px;
	font-size: 2.3rem;
	font-weight: 700;
	text-align: left;
	letter-spacing: 0.02em;
}

#main .sec03 .listUl li .title .sml {
	font-size: 1.8rem;
}

#main .sec03 .listUl li .title .blue {
	color: #2c4198;
}

#main .sec03 .listUl li .features {
	padding: 4px 5px 5px 6px;
	width: 75px;
	position: absolute;
	left: 0;
	top: 0;
	border-top-left-radius: 10px;
	border-bottom-right-radius: 10px;
	box-sizing: border-box;
	background-color: #ff6400;
}

#main .sec03 .listUl li .features .txt {
	margin-top: 4px;
	color: #fff;
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	-webkit-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
	direction: ltr;
}

#main .sec03 .listUl li .features .num {
	color: #fff;
	font-size: 3.1rem;
	font-family: "Roboto", sans-serif;
	vertical-align: 2px;
	line-height: 1;
}

#main .sec04 {
	padding: 90px 0;
}

#main .sec04 h2 {
	margin-bottom: 20px;
	color: #2c4198;
	font-size: 4.1rem;
	font-weight: 900;
	letter-spacing: 0.04em;
	line-height: 1.16;
}

#main .sec04 .title {
	margin-bottom: 12px;
}

#main .sec04 .title .bg {
	min-width: 220px;
	text-align: center;
	display: inline-block;
	box-sizing: border-box;
	border-radius: 50px;
	background-color: #2c4198;
}

#main .sec04 .title .bg span {
	padding: 6px 10px 8px 38px;
	display: inline-block;
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.44;
	box-sizing: border-box;
	background: url("../img/common/icon09.png") no-repeat left top 8px / 30px;
}

#main .sec04 .imgBox01 .title .bg span {
	background: url("../img/common/icon10.png") no-repeat left top 2px / 34px;
}

#main .sec04 .imgBox {
	margin-bottom: 30px;
	padding: 20px;
	align-items: center;
	border-radius: 8px;
	background-color: #dbe6f4;
}

#main .sec04 .imgBox:last-child {
	margin-bottom: 0;
}

#main .sec04 .imgBox .textBox {
	width: 506px;
}

#main .sec04 .imgBox .textBox p {
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.04em;
	line-height: 1.63;
}

#main .sec04 .imgBox .textBox p .orange {
	color: #ff6400;
}

#main .sec04 .imgBox .photoBox {
	padding: 10px 10px 11px;
	width: 630px;
	box-sizing: border-box;
	border-radius: 8px;
	box-shadow: 0 0 4px rgb(0, 0, 0, 0.3);
	background-color: #fff;
}

#main .sec05 {
	padding: 90px 0;
}

#main .sec05 h2 {
	margin-bottom: 20px;
}

#main .sec05 .tabUl {
	margin-bottom: 3px;
}

#main .sec05 .tabUl li {
	width: 49.5%;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	box-shadow: 0 0 2px rgb(0, 0, 0, 0.3);
	background-color: #fff;
}

#main .sec05 .tabUl li a {
	padding: 11px 10px 9px;
	display: block;
	color: #2c4198;
	font-size: 2.1rem;
	text-align: center;
	letter-spacing: 0.02em;
}

#main .sec05 .tabUl li a:hover {
	opacity: 0.7;
}

#main .sec05 .tabUl .on {
	padding: 2px 2px 0;
}

#main .sec05 .tabUl .on a {
	margin-bottom: -4px;
	color: #fff;
	border-top-left-radius: 8px;
	border-top-right-radius: 10px;
	background-color: #2c4198;
}

#main .sec05 .tabBox > ul {
	padding: 5px 0;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 10px;
	box-shadow: 0 0 4px rgb(0, 0, 0, 0.3);
	background-color: #fff;
}

#main .sec05 .tabBox > ul > li {
	padding: 5px 10px 17px;
	width: 300px;
	border-right: 1px solid #dcdcdc;
	box-sizing: border-box;
}

#main .sec05 .tabBox li:nth-child(4n) {
	margin-right: 0;
	border-right: 0;
}

#main .sec05 .tabBox li .title {
	margin-bottom: 10px;
	font-size: 2.1rem;
	letter-spacing: 0.02em;
}

#main .sec05 .tabBox li .title .num {
	margin-right: 10px;
	padding: 2px 0 0 2px;
	width: 35px;
	height: 35px;
	display: inline-block;
	color: #fff;
	font-size: 2.1rem;
	font-family: "Roboto", sans-serif;
	text-align: center;
	border-radius: 4px;
	box-sizing: border-box;
	background-color: #ff6400;
}

#main .sec05 .tabBox li .photoBox {
	margin-bottom: 14px;
	border-radius: 3px;
	overflow: hidden;
}

#main .sec05 .tabBox li .textBox {
	padding: 0 5px 0 10px;
}

#main .sec05 .tabBox li .textBox p {
	font-weight: 500;
	line-height: 1.64;
	letter-spacing: 0.04em;
}

#main .sec05 .tabBox02 li .textBox .comLimk {
	margin-top: 10px;
	width: auto;
}

#main .sec05 .tabBox li .textBox .comLimk label {
	padding: 8px 14px 11px 0;
	display: block;
	color: #2c4198;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-align: center;
	border: 1px solid #2c4198;
	border-radius: 20px;
	background: url("../img/common/icon07.png") no-repeat center right 10px / 15px;
	box-sizing: border-box;
	cursor: pointer;
}

#main .sec05 .tabBox li .textBox .comLink {
	width: 130px;
}

#main .sec05 .tabBox li .textBox .btnList {
	margin: 15px -12px 0;
}

#main .sec05 .tabBox li .textBox .comLink a {
	padding: 5px 10px 6px 0;
	font-size: 1.2rem;
	line-height: 1.17;
	background-position: center right 4px;
}

#main .sec05 .tabBox li .textBox .note {
	margin-top: 4px;
	color: #787878;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.41;
}

#main .sec06 {
	padding: 88px 0 90px;
	background-color: #fff;
}

#main .sec06 dl {
	padding-bottom: 9px;
	margin-bottom: 15px;
	border-radius: 5px;
	overflow: hidden;
	border: 1px solid #dcdcdc;
}

#main .sec06 dl:last-child {
	margin-bottom: 0;
}

#main .sec06 h2 {
	margin-bottom: 35px;
}

#main .sec06 dt {
	margin-top: 15px;
	cursor: pointer;
}

#main .sec06 dt:first-child {
	margin-top: 0;
}

#main .sec06 dt .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid #dcdcdc;
	background: #f2f2f2 url("../img/common/icon05.png") no-repeat right -1px top -1px / 41px;
}

#main .sec06 dl.on {
	padding-bottom: 0;
	border-bottom: none;
}

#main .sec06 dt.on .inner {
	margin-bottom: 0;
	background-image: url("../img/common/icon04.png");
}

#main .sec06 dt .num {
	margin: 9px 0 9px -1px;
	padding-left: 9px;
	width: 75px;
	display: block;
	color: #fff;
	font-size: 3.1rem;
	font-weight: 700;
	background-color: #ff6400;
	line-height: 1.3;
	font-family: "Roboto", sans-serif;
	box-sizing: border-box;
	border-radius: 0 4px 4px 0;
}

#main .sec06 dt .en {
	margin: -4px 5px 0 0;
	display: inline-block;
	font-size: 1.8rem;
	vertical-align: middle;
}

#main .sec06 dt .jp {
	width: calc(100% - 90px);
	font-size: 2.1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

#main .sec06 dd {
	padding: 12px 15px 6px;
	display: none;
	border-radius: 0 0 4px 4px;
}

#main .sec06 dd .info {
	display: flex;
	justify-content: space-between;
}

#main .sec06 dd .en {
	margin-top: 2px;
	width: 20px;
	display: inline-block;
}

#main .sec06 dd .en span {
	display: block;
	color: #fff;
	text-align: center;
	font-weight: 700;
	border-radius: 50%;
	font-family: "Roboto", sans-serif;
	background-color: #ff6400;
}

#main .sec06 dd .jp {
	width: calc(100% - 28px);
	font-weight: 500;
	line-height: 1.64;
	letter-spacing: 0.04em;
}

#main .sec07 {
	padding: 90px 0;
	background: url("../img/common/bg01.png") repeat top left / 64px;
}

#main .sec07 h2 {
	margin: 0 auto 22px;
	width: 126px;
}

#main .sec07 .imgBox {
	padding: 3px;
	background-color: #fff;
	border-radius: 9px;
	box-shadow: 0 0 4px rgb(0, 0, 0, 0.3);
}

#main .sec07 .imgBox a:hover {
	opacity: 0.7;
}

#main .sec07 .imgBox .photoBox {
	width: 855px;
	border-radius: 7px 0 0 7px;
	overflow: hidden;
}

#main .sec07 .imgBox .textBox {
	margin-top: 38px;
	width: 311px;
	position: relative;
}

#main .sec07 .imgBox .textBox p {
	font-size: 3.1rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.39;
}

#main .sec07 .imgBox .textBox .pho {
	width: 20px;
	position: absolute;
	bottom: 6px;
	right: 7px;
}

#main .sec08 {
	padding: 88px 0 90px;
	background-color: #e8f0fa;
}

#main .sec08 h2 {
	margin: 0 auto 20px;
}

#main .sec08 .tableBox {
	margin-bottom: 31px;
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid #dcdcdc;
}

#main .sec08 table {
	width: 100%;
	border-collapse: collapse;
	background-color: #fff;
}

#main .sec08 th,
#main .sec08 td {
	padding: 10px;
	font-weight: 400;
	vertical-align: top;
	text-align: left;
	border-bottom: 1px solid #dcdcdc;
	word-break: break-all;
	box-sizing: border-box;
}

#main .sec08 tr:last-child th,
#main .sec08 tr:last-child td {
	border-bottom: none;
}

#main .sec08 th {
	width: 16.2%;
	font-weight: 700;
	background-color: #f2f2f2;
	letter-spacing: 0.04em;
	border-right: 1px solid #dcdcdc;
}

#main .sec08 .sml {
	font-size: 1.3rem;
}

#main .sec08 td {
	padding: 11px 20px;
}

#main .sec08 td ul li {
	padding: 0 0 1px 11px;
	font-size: 1.2rem;
	background: url("../img/common/icon08.png") no-repeat left top 8px / 4px;
}

#main .sec08 td ul li:last-of-type {
	padding-bottom: 0;
}

#main .sec08 .btn {
	margin: 0 auto;
	/* width: 180px; */
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	gap: 20px 40px;
	/* max-width: 400px; */
}
@media all and (max-width: 896px) {
	#main .sec08 .btn {
		width: 180px;
		flex-wrap: wrap;
	}
}

#main .sec08 .btn label {
	padding: 8px 14px 11px 0;
	display: block;
	color: #2c4198;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-align: center;
	border: 1px solid #2c4198;
	border-radius: 20px;
	background: url("../img/common/icon07.png") no-repeat center right 10px / 15px;
	box-sizing: border-box;
	cursor: pointer;
	width: 180px;
}

#main .sec08 .btn label:hover {
	opacity: 0.7;
}
#main .sec08 .btn a {
	padding: 8px 14px 11px 0;
	display: block;
	color: #2c4198;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-align: center;
	border: 1px solid #2c4198;
	border-radius: 20px;
	background: url("../img/common/icon07.png") no-repeat center right 10px / 15px;
	box-sizing: border-box;
	cursor: pointer;
	width: 180px;
}

#main .sec08 .btn a:hover {
	opacity: 0.7;
}

.popBox .popWrap {
	box-sizing: border-box;
	padding: 28px;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	align-content: center;
	justify-content: center;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9997;
	visibility: hidden;
	background: rgba(30, 50, 70, 0.5);
	opacity: 0;
	transform: scale(1);
	transition: all 0.3s ease;
	overflow-y: auto;
	overflow-x: hidden;
}

.popBox .popWrap .close {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	display: block;
}

.popBox .checkbox {
	display: none;
}

.popBox input:checked ~ .popWrap {
	transform: scale(1);
	opacity: 1;
	overflow-y: auto;
	overflow-x: hidden;
	visibility: visible;
}

.popBox .wrapInner {
	box-sizing: border-box;
	width: 100%;
	max-width: 530px;
	max-height: 100%;
	position: relative;
	z-index: 9999;
}

.popBox01 .popInner {
	margin-bottom: 20px;
	width: 530px;
	position: relative;
	box-sizing: border-box;
	border-radius: 6px;
	background-color: #fff;
}

.popBox .popClose {
	width: 45px;
	height: 45px;
	position: absolute;
	right: -15px;
	top: -15px;
	z-index: 9999;
	cursor: pointer;
}

.popBox01 li {
	padding: 40px;
	border-bottom: 1px solid #dcdcdc;
}

.popBox01 li:last-child {
	border-bottom: none;
}

.popBox01 li .title {
	margin-bottom: 10px;
	font-weight: 700;
	color: #2c4198;
}

.popBox01 li p {
	font-weight: 400;
	line-height: 1.64;
}

.popBox01 li p .noto {
	font-size: 1.2rem;
	line-height: 1.92;
}

.popBox02 .wrapInner {
	max-width: 840px;
}

.popBox02 .popInner {
	margin: 0 auto 20px;
	padding-bottom: 30px;
	box-sizing: border-box;
	width: 100%;
	max-width: 840px;
	position: relative;
	z-index: 9999;
	border-radius: 4px;
	background-color: #fff;
}

.popBox02 .popClose {
	width: 45px;
	height: 45px;
	position: absolute;
	right: -15px;
	top: -15px;
	z-index: 9999;
}

.popBox02 .tableBox {
	margin-bottom: 20px;
	border-radius: 4px;
	overflow: hidden;
	border: 1px solid #dcdcdc;
}

.popBox02 table {
	width: 100%;
	border-collapse: collapse;
}

.popBox02 th,
.popBox02 td {
	padding: 11px 9px;
	font-weight: 400;
	line-height: 1.33;
	vertical-align: top;
	text-align: left;
	border-bottom: 1px solid #dcdcdc;
}

.popBox02 tr:last-child th,
.popBox02 tr:last-child td {
	border-bottom: none;
}

.popBox02 th {
	width: 30%;
	font-weight: 700;
	border-right: 1px solid #dcdcdc;
	background-color: #f2f2f2;
}

.popBox02 td {
	font-size: 1.2rem;
}

.popBox02 table .title {
	font-weight: 700;
}

.popBox02 .listUl li {
	padding-left: 11px;
	background: url("../img/common/icon08.png") no-repeat left top 8px / 4px;
}

.popBox02 .closeBtn {
	margin: 0 auto;
	width: 180px;
	box-sizing: border-box;
	padding: 8px 14px 11px 0;
	display: block;
	color: #2c4198;
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-align: center;
	border: 1px solid #2c4198;
	border-radius: 20px;
	background: url("../img/common/icon07.png") no-repeat center right 10px / 15px;
	cursor: pointer;
}

.popBox02 .closeBtn:hover {
	opacity: 0.7;
}

.popBox02 .wid01 {
	margin-bottom: 15px;
}

.popBox02 .wid02 {
	padding-left: 20px;
}

.popBox02 .popClose {
	right: -20px;
	top: -20px;
}

.popBox03 .popInner {
	padding: 20px;
	text-align: center;
	background: #fff;
}

.popBox03 .popWrap {
	padding: 15px;
}

.popBox04 .wrapInner {
	padding: 50px;
	max-width: 530px;
	position: relative;
	box-sizing: border-box;
	border-radius: 6px;
	background-color: #fff;
}

.popBox04 .wrapInner ul {
	margin-bottom: 20px;
}

.popBox04 .wrapInner li {
	padding-left: 11px;
	font-weight: 400;
	background: url("../img/common/icon08.png") no-repeat left top 8px / 4px;
}

.popBox04 .wrapInner p {
	font-weight: 400;
}
@media all and (min-width: 897px) {
	.popBox .popClose:hover {
		opacity: 0.7;
	}
}
@media all and (min-width: 1600px) {
	.mainVisual::before {
		background-size: 100% 180px;
	}
}
@media all and (max-width: 896px) {
	.mainVisual {
		/* margin-bottom: 16.5%; */
		margin-bottom: 7%;
		padding: 0;
		height: auto;
		background: none;
	}
	.mainVisual img {
		width: 100%;
	}
	.mainVisual .textImg {
		width: 100%;
	}
	.mainVisual .innerBox {
		padding-bottom: 0;
	}

	.mainVisual::before {
		display: none;
	}

	.mainVisual .btnList {
		bottom: -2.7%;
		display: block;
		left: 0;
	}

	.mainVisual .btnList li {
		margin: 0 auto 1.8%;
		width: 82.67%;
		display: block;
		border: none;
	}

	.mainVisual .btnList li:last-child {
		margin-bottom: 0;
	}

	.mainVisual .btnList li img {
		width: 100%;
	}
	.mainVisual .btnList li .interest__btn {
	}
	.mainVisual .btnList li .interest__btn::after {
		position: absolute;
		top: 85.5%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 87%;
		aspect-ratio: 650/177;
		content: "";
		background: #2323b8;
		border-radius: 100px;
		z-index: -1;
	}

	#main .sec01 {
		margin-bottom: 17px;
	}

	#main .sec01 .linkList {
		margin-bottom: 15px;
		padding: 3px 3px 0;
		border-radius: 10px;
		box-shadow: 0px 0px 2px rgb(0, 0, 0, 0.2);
		background-color: #fff;
	}

	#main .sec01 .linkList li {
		margin-bottom: -7px;
		width: 49.7%;
		box-sizing: border-box;
		opacity: 0.45;
	}

	#main .sec01 .linkList li.on {
		opacity: 1;
	}

	#main .sec01 .linkList li a {
		display: block;
	}

	#main .sec01 .linkList li img {
		width: 100%;
	}

	#main .sec01 h2 {
		margin-bottom: 14px;
	}

	#main .sec01 .listUl {
		margin: 0 0 20px;
		display: block;
	}

	#main .sec01 .listUl > li {
		margin: 0 0 20px;
		padding: 10px 8px;
		width: auto;
		border-radius: 10px;
	}

	#main .sec01 .listUl li {
		margin-bottom: 25px;
	}

	#main .sec01 .listUl li .title {
		margin-bottom: 10px;
	}

	#main .sec01 .listUl li .photo {
		margin-bottom: 9px;
		text-align: center;
	}

	#main .sec01 .listUl > li:last-child {
		margin-bottom: 0;
	}

	#main .sec01 .listUl li .title .txt {
		font-size: 2.4rem;
		background-position: left top 11px;
	}

	#main .sec01 .listUl .li01 .title .txt {
		padding-left: 45px;
		background: url("../img/common/icon02.png") no-repeat left top 5px / 34px auto;
	}

	#main .sec01 .listUl li .title .sml {
		font-size: 1.9rem;
	}

	#main .sec01 .listUl li li .sml {
		margin-top: -2px;
		display: block;
	}

	#main .sec01 .btn01 {
		width: 309px;
	}

	#main .sec01 .btn01 label:hover {
		opacity: 1;
	}

	#main .sec02 {
		padding: 38px 0;
	}

	#main .sec02 .content {
		padding: 0 20px;
	}

	#main .sec02 h2 {
		margin-bottom: 13px;
	}

	#main .sec02 .imgList {
		margin-top: -10px;
		justify-content: space-between;
	}

	#main .sec02 .imgList li {
		margin: 10px 0 0;
		width: 47.8%;
	}

	#main .sec02 .imgList li .pho {
		text-align: center;
	}

	#main .sec02 .imgList li .ttl {
		padding: 5px 10px 9px;
		width: 140px;
		font-size: 1.6rem;
		border-radius: 6px;
	}

	#main .sec03 {
		padding: 134px 0 35px;
		background-image: url("../img/index/sp_photo03.png");
	}

	#main .sec03 h2 {
		margin-bottom: 19px;
	}

	#main .sec03 .listUl {
		margin-top: 0;
		display: block;
	}

	#main .sec03 .listUl li {
		margin: 0 0 10px;
		padding: 5px 10px 10px;
		width: auto;
	}

	#main .sec03 .listUl li:last-child {
		margin-bottom: 0;
	}

	#main .sec03 .listUl li p {
		text-align: left;
	}

	#main .sec03 .listUl li .note {
		margin-top: 0;
	}

	#main .sec03 .listUl li .imgBox {
		display: flex;
		justify-content: space-between;
	}

	#main .sec03 .listUl li .photo {
		margin-bottom: 0;
		width: 140px;
	}

	#main .sec03 .listUl li .textBox {
		width: calc(100% - 153px);
	}

	#main .sec03 .listUl li .title {
		margin-bottom: 11px;
		padding-left: 69px;
		font-size: 2.1rem;
	}

	#main .sec03 .listUl li .title .sml {
		font-size: 1.7rem;
	}

	#main .sec03 .listUl li .features {
		padding: 3px 5px 0 6px;
		width: 70px;
	}

	#main .sec04 {
		padding: 40px 0;
	}

	#main .sec04 h2 {
		margin-bottom: 7px;
		font-size: 3.1rem;
		line-height: 1.16;
		text-align: center;
	}

	#main .sec04 .imgBox .textBox p {
		text-align: center;
	}

	#main .sec04 .title {
		margin-bottom: 6px;
		text-align: center;
	}

	#main .sec04 .title .bg {
		min-width: 220px;
	}

	#main .sec04 .title .bg span {
		background-position: left top 10px;
	}

	#main .sec04 .imgBox {
		margin-bottom: 40px;
		padding: 0;
		display: block;
		background-color: transparent;
	}

	#main .sec04 .imgBox .textBox {
		margin-bottom: 14px;
	}

	#main .sec04 .imgBox .textBox {
		width: auto;
	}

	#main .sec04 .imgBox .photoBox {
		padding: 10px 10px 2px;
		width: auto;
		text-align: center;
	}

	#main .sec04 .imgBox01 .photoBox {
		padding-bottom: 10px;
	}

	#main .sec04 .btn {
		margin: 15px -8px 0;
		padding: 5px;
		width: auto;
		border-bottom-right-radius: 8px;
		border-bottom-left-radius: 8px;
		background-color: #f2f2f2;
	}

	#main .sec04 .btn label {
		margin: 0 auto;
		width: 180px;
		padding: 8px 14px 11px 0;
		display: block;
		color: #2c4198;
		font-size: 1.3rem;
		font-weight: 500;
		letter-spacing: 0.08em;
		text-align: center;
		border: 1px solid #2c4198;
		border-radius: 20px;
		background: url("../img/common/icon07.png") no-repeat center right 10px / 15px;
		box-sizing: border-box;
		cursor: pointer;
	}

	#main .sec05 {
		padding: 39px 0 41px;
	}

	#main .sec05 h2 {
		margin-bottom: 15px;
	}

	#main .sec05 .tabUl li {
		width: 49%;
	}

	#main .sec05 .tabBox > ul {
		padding: 0 0 26px;
		display: block;
	}

	#main .sec05 .tabBox > ul > li {
		padding: 10px 10px 15px;
		width: auto;
		border-right: none;
		border-bottom: 1px solid #dcdcdc;
	}

	#main .sec05 .tabBox > ul > li:last-child {
		border-bottom: none;
	}

	#main .sec05 .tabBox li .imgBox {
		display: flex;
		justify-content: space-between;
	}

	#main .sec05 .tabBox li .photoBox {
		margin-bottom: 0;
		width: 130px;
	}

	#main .sec05 .tabBox li .textBox {
		margin-top: -3px;
		padding: 0 5px 0 10px;
		width: calc(100% - 148px);
	}

	#main .sec05 .tabBox li .textBox p {
		margin-right: -11px;
	}

	#main .sec05 .tabBox li .textBox .comLink {
		width: auto;
	}

	#main .sec05 .tabBox li .textBox .btnList {
		margin: 10px 0 0;
		display: block;
	}

	#main .sec05 .tabBox li .textBox .btnList li:not(:last-child) {
		margin-bottom: 5px;
	}

	#main .sec05 .tabBox li .textBox .comLink a {
		padding: 7px 23px;
		font-size: 1.3rem;
		line-height: 1.3;
		text-align: left;
		border-radius: 50px;
		background-position: center right 9px;
	}

	#main .sec05 .tabUl .on a {
		border-top-left-radius: 8px;
		border-top-right-radius: 8px;
	}

	#main .sec06 {
		padding: 37px 0 30px;
	}

	#main .sec06 .content {
		padding: 0 25px;
	}

	#main .sec06 h2 {
		margin-bottom: 15px;
	}

	#main .sec06 dl {
		margin-bottom: 10px;
	}

	#main .sec06 dt {
		margin-top: 10px;
	}

	#main .sec06 dt .inner {
		padding: 9px 49px 9px 0;
		background-image: url("../img/common/sp_icon05.png");
		background-size: 31px auto;
	}

	#main .sec06 dt.on .inner {
		background-image: url("../img/common/sp_icon04.png");
	}

	#main .sec06 dt .num {
		margin: -12px 0 9px -1px;
		padding-left: 8px;
		width: 50px;
		font-size: 1.7rem;
	}

	#main .sec06 dt .en {
		margin: -3px 0 0;
		font-size: 1.4rem;
	}

	#main .sec06 dt .jp {
		width: calc(100% - 58px);
		font-size: 1.6rem;
		line-height: 1.31;
	}

	#main .sec06 dd {
		padding: 8px 15px 4px 37px;
		display: none;
		position: relative;
	}

	#main .sec06 dd .en {
		margin-top: 0;
		width: 20px;
		position: absolute;
		top: 10px;
		left: 10px;
	}

	#main .sec06 dd .jp {
		width: auto;
		font-size: 1.4rem;
	}

	#main .sec07 {
		padding: 40px 0;
	}

	#main .sec07 h2 {
		margin-bottom: 17px;
	}

	#main .sec07 .imgBox {
		padding: 0;
		display: block;
	}

	#main .sec07 .imgBox a {
		display: block;
	}

	#main .sec07 .imgBox .photoBox {
		padding: 2px;
		width: auto;
		border-radius: 9px 9px 0 0;
		border-bottom: 1px solid #dcdcdc;
	}

	#main .sec07 .imgBox .photoBox .pho {
		border-radius: 9px 9px 0 0;
		overflow: hidden;
	}

	#main .sec07 .imgBox .photoBox img {
		width: 100%;
	}

	#main .sec07 .imgBox .textBox {
		margin-top: 10px;
		padding: 0 15px 13px;
		width: auto;
	}

	#main .sec07 .imgBox .textBox p {
		font-size: 1.6rem;
		line-height: 1.31;
	}

	#main .sec07 .imgBox .textBox .pho {
		margin-top: -15px;
		width: 15px;
		top: 50%;
		right: 15px;
	}

	#main .sec08 {
		padding: 38px 0 40px;
	}

	#main .sec08 h2 {
		margin-bottom: 19px;
	}

	#main .sec08 .tableBox {
		margin-bottom: 20px;
	}

	#main .sec08 th,
	#main .sec08 td {
		padding: 10px;
	}

	#main .sec08 th {
		width: 30.2%;
	}

	#main .sec08 td {
		padding: 11px 8px 12px;
	}

	#main .sec08 td ul li {
		padding-bottom: 0;
		line-height: 1.58;
		background-position: left 2px top 8px;
	}

	#main .sec08 .btn label:hover {
		opacity: 1;
	}

	.popBox01 .popInner {
		width: auto;
	}

	.popBox04 .wrapInner {
		padding: 30px;
	}
	#main .sec01 .listUl li p {
		font-size: 1.45rem;
		font-weight: bold;
	}
	#main .sec01 .listUl li .text {
		line-height: 1.79;
		margin-bottom: 9px;
		letter-spacing: 0;
	}
	#main .sec01 .listUl li li {
		padding: 9px 10px 12px 45px;
		margin-bottom: 5px;
	}
}

@media all and (max-width: 374px) {
	#main .sec01 .listUl li .title .txt {
		padding-bottom: 5px;
		font-size: 2rem;
		background-position: left top 6px;
	}

	#main .sec01 .listUl .li01 .title .txt {
		padding-bottom: 5px;
		background-position: left top 2px;
		background-size: 32px auto;
	}

	#main .sec01 .listUl li p {
		font-size: 1.4rem;
	}

	#main .sec01 .btn01 {
		width: 270px;
	}

	#main .sec05 .tabUl li a {
		font-size: 1.8rem;
	}

	#main .sec07 .imgBox .textBox {
		padding: 0 40px 13px 15px;
	}

	#main .sec07 .imgBox .textBox p {
		font-size: 1.4rem;
	}
}

.li01 p span {
	color: #db0000;
	font-size: 14px;
}

/* 20240126 */
#main .sec01 .listUl .bgBox {
	margin: 20px -8px -10px;
	background: url("../img/index/bg02.jpg") repeat left top;
	padding: 14px 22px 19px;
	background-size: 22px auto;
	text-align: left;
}
#main .sec01 .listUl .bgBox p {
	margin: 0;
	text-align: left;
	font-size: 1.4rem;
	letter-spacing: 0;
}
#main .sec01 .listUl .bgBox .ttl {
	font-weight: bold;
}
#main .sec01 .listUl .bgBox .notes {
	margin-top: 1px;
	font-weight: 500;
	text-align: left;
	line-height: 1.3;
}
#main .sec01 .listUl .bgBox .notes span {
	padding-left: 1em;
	text-indent: -1em;
	display: block;
	color: #000000;
	font-size: 1.1rem;
}
#main .sec01 .listUl .bgBox .textImg {
	margin: 0 -10px 6px;
}
#main .sec01 .listUl .li01 .bgBox {
	margin-top: 35px;
}
@media all and (max-width: 896px) {
	#main .sec01 .listUl .bgBox {
		margin: 29px -8px -10px;
		padding: 25px 14px 7px;
		background-size: 16px auto;
	}
	#main .sec01 .listUl .bgBox .textImg {
		margin: 0 -2px 10px;
	}
	#main .sec01 .listUl .bgBox p {
		margin-bottom: 4px;
		text-align: center;
		font-size: 1.4rem;
		line-height: 1.37;
	}
	#main .sec01 .listUl .bgBox .notes {
		margin-right: -5px;
	}
	#main .sec01 .listUl .li01 .bgBox {
		margin-top: 30px;
		padding: 13px 14px 17px;
	}
	#main .sec01 .listUl .bgBox .textImg img {
		width: 100%;
	}
}

#main .sec01 .imgInfo {
	margin: 0 -2px 25px;
	position: relative;
}
#main .sec01 .imgInfo img {
	width: 100%;
}
#main .sec01 .imgInfo .link {
	position: absolute;
	left: 50%;
	bottom: 23px;
	width: 290px;
	transform: translateX(-50%);
}
#main .sec01 .imgInfo .link label {
	cursor: pointer;
}
.popInfo .popClose {
	right: -7px;
	top: -7px;
}
.popInfo li {
	padding: 26px 29px;
}
.popInfo li .title {
	margin-bottom: 3px;
	letter-spacing: 0.4px;
}
.popInfo li p {
	line-height: 1.5;
}
.popInfo li .dot {
	padding: 0 0 3px 15px;
	position: relative;
}
.popInfo li .dot::before {
	position: absolute;
	left: 1px;
	top: 8px;
	width: 8px;
	height: 8px;
	background-color: #2c4198;
	content: "";
	border-radius: 100%;
}
@media all and (min-width: 897px) {
	#main .sec01 .imgInfo .link label:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#main .sec01 .imgInfo {
		margin: -1px -3px 15px -2px;
	}
	#main .sec01 .imgInfo .link {
		bottom: 5.6%;
		width: 60%;
	}
	.popInfo .popWrap {
		padding: 28px 30px;
	}
	.popInfo .popClose {
		right: -7px;
		top: -8px;
	}
	.popInfo li {
		padding: 15px 24px 17px;
	}
	.popInfo li:first-child {
		padding-top: 25px;
	}
	.popInfo li .title {
		margin-bottom: 3px;
	}
	.popInfo li p {
		line-height: 1.46;
	}
	.popInfo li p:not(.title) {
		font-size: 13px;
	}
	.popInfo li .dot {
		padding-top: 1px;
	}
}

.comBtnBox .flexC {
	align-items: flex-end;
}
.sec01_5 .content {
	width: 100%;
	box-sizing: border-box;
}
.rate {
	max-width: 1390px;
	width: 100%;
	margin: 0 auto 53px;
	padding: 40px 102.5px 40px;
	background: #fdeada;
	border: solid #faa156 2.5px;
	border-radius: 15px;
	box-sizing: border-box;
	font-family:
		"Noto Sans JP",
		system-ui,
		-apple-system,
		BlinkMacSystemFont,
		"Helvetica Neue",
		Arial,
		"Yu Gothic",
		"游ゴシック体",
		"YuGothic",
		sans-serif;
		font-weight: 900;
}

.rate__title {
	text-align: center;
	font-size: 55px;
	margin-bottom: 50px;
	letter-spacing: 0.08em;
	line-height: 1;
}

.rate__title span {
	color: #2c4198;
	font-size: 92px;
	font-weight: 900;
}

.rate__section + .rate__section {
	margin-top: 40px;
}

.rate__section-title {
	font-size: 57.5px;
	font-weight: 700;
	margin-bottom: 30px;

	display: flex;
	align-items: center;
	gap: 6px;
}
.rate__section-title strong {
	color: #2c4198;
	font-weight: 900;
}

.rate__bullet {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #2c4198;
	display: inline-block;
}

.rate__sub-title {
	font-size: 47.7px;
	font-weight: 900;
	color: #2c4198;
	margin: 0 0 8px;
}

/* table base */
.rate-table {
	width: 100%;
	border-collapse: collapse;
	background: #ffffff;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 24px;
}

.rate-table--large .rate-table__th,
.rate-table--large .rate-table__cell {
	width: 33.333%;
}

.rate-table--middle .rate-table__th,
.rate-table--middle .rate-table__cell {
	width: 66.09953211%;
}

.rate-table__th {
	background: #d9d9d9;
	border: 5px solid #fff;
	padding: 35px 8px 40px;
	text-align: center;
	font-size: 36px;
	font-weight: 900;
	line-height: 1.1;
}

.rate-table__th--left {
	text-align: center;
}

.rate-table__cell {
	border: 5px solid #fff;
	padding: 20px 0 30px;
	font-size: 44px;
	text-align: center;
	vertical-align: middle;
	background: #f2f1f1;
	font-weight: 900;
}

.rate-table__cell--rowspan {
}

/* rate */
.rate-table.rate-table--large {
	margin: 0 0 70px;
}
.rate-table__cell--rate {
	background: #f7f7f7;
}

.rate-table__rate-main {
	font-size: 47px;
	font-weight: 700;
	margin: 0;
	line-height: 1;
}

.rate-table__rate-main span {
	font-size: 117.5px;
	color: #f69b3b;
	font-weight: 900;
}

.rate-table__rate-note {
	font-size: 26px;
	text-align: center;
}

/* note */
.rate__note {
	font-size: 11px;
	line-height: 1.5;
}

.rate__note > p {
	font-weight: 500;
	margin-bottom: 20px;
	font-size: 34.5px;
}

.rate__note ul {
}

.rate__note li {
	position: relative;
	font-size: 26px;
	font-weight: 400;
	padding-left: 20px;
}
.rate__note li::before {
	position: absolute;
	top: 10px;
	left: 0;
	width: 20px;
	height: 20px;
	content: "";
	background: #2c4198;
	border-radius: 50%;
}
.rate__note li span {
	margin: 0 -12px;
}
.rate-table.rate-table--middle {
	margin: 0 auto 160px;
}
.rate-table.rate-table--middle.second {
	margin: 0 auto 85px;
}
@media screen and (max-width: 896px) {
	.rate {
		margin: 0 auto 53px;
		padding: 15px 10px 10px;
		background: #fdeada;
		border: solid #faa156 2.5px;
		border-radius: 15px;
		box-sizing: border-box;
		font-family:
			"Noto Sans JP",
			system-ui,
			-apple-system,
			BlinkMacSystemFont,
			"Helvetica Neue",
			Arial,
			"Yu Gothic",
			"游ゴシック体",
			"YuGothic",
			sans-serif;
	}

	.rate__title {
		font-size: 34.5px;
		margin: 0 auto 40px;
	}

	.rate__title span {
		font-size: 57.5px;
	}

	.rate__section + .rate__section {
		margin-top: 80px;
	}

	.rate__section-title {
		font-size: 24px;
		font-weight: 900;
		margin: 0 auto 10px;
		justify-content: center;

		display: flex;
		align-items: center;
		gap: 0;
	}
	.rate__section-title strong {
		padding: 0 0 0 6px;
	}
	.rate__bullet {
		width: 22px;
		height: 22px;
	}

	.rate__sub-title {
		font-size: 15.5px;
		margin: 0 auto 4px;
		text-align: center;
	}

	/* table base */
	.rate-table {
		width: 100%;
		border-collapse: collapse;
		background: #ffffff;
		border-radius: 4px;
		overflow: hidden;
		margin-bottom: 24px;
	}

	.rate-table--large .rate-table__th,
	.rate-table--large .rate-table__cell {
		width: 33.333%;
	}

	.rate-table--middle .rate-table__th,
	.rate-table--middle .rate-table__cell {
		width: 66.09953211%;
	}

	.rate-table__th {
		padding: 11px 2px 12px;
		text-align: center;
		font-size: 10.1px;
		line-height: 1.1;
	}

	.rate-table__th--left {
		text-align: center;
	}

	.rate-table__cell {
		padding: 8px 2px 9px;
		/* font-size: 11px; */
		font-size: 13px;
		text-align: center;
		vertical-align: middle;
		background: #f2f1f1;
		font-weight: 900;
	}

	.rate-table__cell--rowspan {
	}

	/* rate */
	.rate-table.rate-table--large {
		margin: 0 0 18px;
	}
	.rate-table__cell--rate {
		background: #f7f7f7;
	}

	.rate-table__rate-main {
		font-size: 13.8px;
		font-weight: 700;
		margin: 0;
		line-height: 1;
	}

	.rate-table__rate-main span {
		font-size: 29px;
	}

	.rate-table__rate-note {
		font-size: 6px;
	}

	/* note */
	.rate__note {
		font-size: 11px;
		line-height: 1.5;
	}

	.rate__note > p {
		margin-bottom: 10px;
		font-size: 11px;
	}

	.rate__note ul {
	}

	.rate__note li {
		position: relative;
		font-size: 9px;
		padding-left: 9px;
	}
	.rate__note li::before {
		position: absolute;
		top: 4px;
		left: 0;
		width: 7px;
		height: 7px;
		content: "";
		background: #2c4198;
		border-radius: 50%;
	}
	.rate__note li span {
		margin: 0 -3px;
	}
	.rate-table.rate-table--middle {
		margin: 0 auto;
	}
	.rate-table.rate-table--middle.second {
		margin: 0 auto 27px;
	}
}
