@charset "UTF-8";
/* =========================================================
  mixin
========================================================= */
/* =========================================================
  util
========================================================= */
main {
	margin-top: 40px;
}

@media only screen and (max-width: 768px) {
	main {
		margin-top: -60px;
	}
}
@media only screen and (min-width: 769px), print {
	/* show
	----------*/
	.pcBlock {
		display: block;
	}
	.spBlock {
		display: none;
	}
	.pcBlock-i {
		display: inline-block;
	}
	.spBlock-i {
		display: none;
	}
	/* hide
	----------*/
	.pcNone {
		display: none;
	}
	.spNone {
		display: block;
	}
	.pcNone-i {
		display: none;
	}
	.spNone-i {
		display: inline;
	}
}
@media only screen and (max-width: 768px) {
	/* show
	----------*/
	.pcBlock {
		display: none;
	}
	.spBlock {
		display: block;
	}
	.pcBlock-i {
		display: none;
	}
	.spBlock-i {
		display: inline-block;
	}
	/* hide
	----------*/
	.pcNone {
		display: block;
	}
	.spNone {
		display: none;
	}
	.pcNone-i {
		display: inline;
	}
	.spNone-i {
		display: none;
	}
}
@media only screen and (min-width: 769px), print {
	/* show
	----------*/
	.u-pcBlock {
		display: block;
	}
	.u-spBlock {
		display: none !important;
	}
	.u-pcBlock-i {
		display: inline-block;
	}
	.u-spBlock-i {
		display: none !important;
	}
	/* hide
	----------*/
	.u-pcNone {
		display: none !important;
	}
	.u-spNone {
		display: block;
	}
	.u-pcNone-i {
		display: none !important;
	}
	.u-spNone-i {
		display: inline;
	}
}
@media only screen and (max-width: 768px) {
	/* show
	----------*/
	.u-pcBlock {
		display: none !important;
	}
	.u-spBlock {
		display: block;
	}
	.u-pcBlock-i {
		display: none !important;
	}
	.u-spBlock-i {
		display: inline-block;
	}
	/* hide
	----------*/
	.u-pcNone {
		display: block;
	}
	.u-spNone {
		display: none !important;
	}
	.u-pcNone-i {
		display: inline;
	}
	.u-spNone-i {
		display: none !important;
	}
}
.u-dib {
	display: inline-block;
}

@media only screen and (min-width: 769px), print {
	.u-dib--pc {
		display: inline-block;
	}
}
@media only screen and (max-width: 768px) {
	.u-dib--sp {
		display: inline-block;
	}
}
@media only screen and (min-width: 769px), print {
	.u-ovSelf:hover {
		opacity: 0.8;
	}
}
/* =========================================================
  common
========================================================= */
.c-red {
	color: #D12A2A;
}

.c-blue {
	color: #175A9D;
}

.c-green {
	color: #1D9064;
}

.rwd-logo__project img {
	width: auto;
}

@media only screen and (min-width: 769px), print {
	.rwd-logo__project img {
		height: 26px;
	}
}
@media only screen and (max-width: 768px) {
	.rwd-logo__project img {
		height: 13px;
	}
}
/* --- コンテンツ全体のwrap --- */
.content-wrap {
	font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, sans-serif;
	line-height: 1.8;
	overflow: hidden;
	width: 100%;
	background: #fff;
	padding-bottom: 100px;
	font-size: 16px;
}
.content-wrap .l-inner {
	position: relative;
	margin: 0 auto;
	max-width: 1040px;
	padding: 0 20px;
}
.content-wrap img {
	max-width: 100%;
	height: auto;
}
.content-wrap section {
	position: relative;
}
.content-wrap table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
	border: 0;
}
.content-wrap th, .content-wrap td {
	font-size: 100%;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
.content-wrap caption, .content-wrap th {
	text-align: left;
}
.content-wrap a {
	color: inherit;
}

@media only screen and (max-width: 768px) {
	.content-wrap {
		font-size: 16px;
		padding-bottom: 50px;
	}
	.content-wrap .l-inner {
		padding: 0 20px;
	}
}
@media only screen and (max-width: 768px) and (max-width: 374px) {
	.content-wrap .l-inner {
		padding: 0 10px;
	}
}
/* ===============================*/
/* --- hash --- */
.comHashBox {
	position: absolute;
	top: -105px;
	left: 0;
	width: 1px;
	height: 5px;
	background-color: transparent;
}

@media only screen and (min-width: 769px), print {
	.comHashBox {
		top: -105px;
	}
}
@media only screen and (max-width: 768px) {
	.comHashBox {
		top: -60px;
	}
}
/* ===============================*/
.m-btn01 {
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
	color: #fff;
	max-width: 500px;
	margin: 0 auto;
}
.m-btn01 a {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	align-items: center;
	justify-content: center;
	transition: ease 0.2s background;
	text-decoration: none;
	background-color: #53B4DE;
}
.m-btn01 a:hover {
	background-color: #3C9BC4;
}
.m-btn01 a:after {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	content: "";
	pointer-events: none;
	opacity: 0.2;
	background-color: #333;
}

.arrow {
	width: 8px;
	margin-left: 20px;
}

@media only screen and (min-width: 769px), print {
	.m-btn01 {
		font-size: 20px;
	}
	.m-btn01 a {
		padding: 28px 20px;
		border-radius: 20px;
	}
	.m-btn01 a:after {
		height: 5px;
	}
}
@media only screen and (max-width: 768px) {
	.m-btn01 {
		font-size: 16px;
	}
	.m-btn01 a {
		padding: 20px 10px;
		border-radius: 10px;
		font-size: 14px;
	}
	.m-btn01 a:after {
		height: 3px;
	}
	.m-btn01 .arrow {
		width: 8px;
		margin-left: 14px;
	}
}
.leadSect {
	text-align: center;
}
.leadSect .txt {
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	background-color: #0068b7;
	padding: 8px 20px;
	font-size: 25px;
}

@media only screen and (max-width: 768px) {
	.leadSect .txt {
		padding: 10px 15px;
		font-size: 14px;
	}
}
.kvSect {
	background-color: #53B4DE;
}
.kvSect .sectInner {
	text-align: center;
}
.kvSect .infoBlock .itemList {
	font-weight: bold;
	line-height: 1.4;
	display: flex;
	flex-wrap: wrap;
	color: #53B4DE;
}
.kvSect .infoBlock .itemList_center {
	justify-content: center;
}
.kvSect .infoBlock .itemList_center li {
	margin-bottom: 16px;
}
.kvSect .infoBlock .itemList > li {
	box-sizing: border-box;
}
.kvSect .infoBlock .liInner {
	border: 1px solid #01919a;
	background-color: #fff;
}
.kvSect .infoBlock .txt {
	line-height: 1.5;
}
.kvSect .infoBlock .txt strong {
	font-weight: normal;
}
.kvSect .infoBlock .txt img {
	width: auto;
	margin-top: -0.2em;
	vertical-align: middle;
}

@media only screen and (min-width: 769px), print {
	.kvSect .sectInner {
		padding-bottom: 45px;
	}
}
@media only screen and (min-width: 769px) and (min-width: 769px) and (max-width: 959px) {
	.kvSect .sectTit {
		margin: 0 -50px;
	}
}
.infoSect {
	background: url(../img/info_bg.jpg) no-repeat;
}
.infoSect .l-inner {
	padding: 80px auto;
	border: solid #3081CD;
}
.infoSect .sectInner {
	background: #E6F5FF;
	text-align: center;
	padding: 52px 48px;
	margin: 80px 0;
	box-shadow: 0px 8px 8px rgba(0, 0, 0, 0.16);
}
.infoSect .txt {
	font-size: 20px;
	font-weight: bold;
	color: #175A9D;
	line-height: 2;
}
.infoSect .caution {
	font-size: 14px;
	font-weight: 600;
	color: #5C5C5C;
	margin-top: 24px;
}

@media only screen and (max-width: 768px) {
	.infoSect {
		background: url(../img/info_bg_sp.jpg) no-repeat;
		padding: 40px auto;
	}
	.infoSect .l-inner {
		margin: 0px;
		border: solid #3081CD;
	}
	.infoSect .sectInner {
		margin: 40px auto;
		padding: 24px 16px;
	}
	.infoSect .txt {
		font-size: 16px;
		line-height: 1.8;
	}
	.infoSect .caution {
		font-size: 12px;
		margin-top: 16px;
	}
}
.feeSect {
	margin-top: 120px;
}
.feeSect .titBlock {
	position: relative;
	text-align: center;
	padding-bottom: 20px;
}
.feeSect .titBlock:before {
	position: absolute;
	top: 100%;
	left: 50%;
	display: block;
	content: "";
	transform: translateX(-50%);
	background-color: #53B4DE;
	width: 130px;
	height: 2px;
}
.feeSect .titBlock .sectTit {
	font-weight: bold;
	line-height: 1.4;
	color: #53B4DE;
	font-size: 32px;
	margin-bottom: 0.3em;
}
.feeSect .titBlock .sectTit small {
	color: #333;
	font-size: 24px;
}
.feeSect .titBlock .title-caution {
	font-size: 18px;
	color: #333;
}
.feeSect .sectMain {
	margin-top: 40px;
}
.feeSect .txt {
	font-size: 16px;
	margin: 16px 0;
}
.feeSect .itemBlock + .itemBlock {
	margin-top: 55px;
}
.feeSect .itemBlock .blockMain {
	margin-top: 15px;
}
.feeSect .itemBlock .titBox {
	font-weight: bold;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.feeSect .itemBlock .blockTit {
	line-height: 1.3;
	color: #53B4DE;
	font-size: 20px;
}
.feeSect .itemBlock .blockTit span {
	padding: 2px 18px;
	display: inline-block;
	border: 1px solid currentColor;
}
.feeSect .itemBlock table {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
}
.feeSect .itemBlock table thead th {
	background-color: #53B4DE;
	color: white;
	font-weight: bold;
	padding: 8px;
	border: 1px solid #fff;
	text-align: center;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.4;
	vertical-align: middle;
}
.feeSect .itemBlock table thead .bg-green {
	background-color: #1EB57B;
}
.feeSect .itemBlock table thead .head-sm {
	font-size: 14px;
}
.feeSect .itemBlock table tbody .odd {
	background-color: #F1F8FD;
}
.feeSect .itemBlock table tbody th {
	padding: 8px;
	border: 1px solid #B9D5E2;
	text-align: center;
	align-items: center;
	vertical-align: middle;
	font-weight: bold;
}
.feeSect .itemBlock table tbody td {
	padding: 8px;
	border: 1px solid #B9D5E2;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
	position: relative;
	z-index: 0;
}
.feeSect .itemBlock table tbody td .marker {
	position: relative;
	display: inline-block;
}
.feeSect .itemBlock table tbody td .marker::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 8px;
	height: 6px;
	background-color: #FFDB13;
	z-index: -10;
}
.feeSect .itemBlock table tbody .yen {
	font-size: 16px;
	padding-left: 4px;
}
.feeSect .itemBlock table small {
	font-size: 0.8em;
}
.feeSect .caution-wrap {
	margin-top: 24px;
	border: 1px solid #D6D6D6;
	padding: 24px 64px;
	display: grid;
	grid-gap: 8px;
	gap: 8px;
	border-radius: 8px;
}
.feeSect .caution-wrap .text {
	font-size: 14px;
	text-indent: -1em;
	padding-left: 1em;
	font-weight: 500;
}
.feeSect .caution-wrap .text.-indent {
	text-indent: -1.7em;
	padding-left: 1.7em;
}
.feeSect .capBlock .capList {
	line-height: 1.6;
}
.feeSect .capBlock .capList > li {
	padding-left: 1em;
	text-indent: -1em;
}
.feeSect .btnBlock {
	margin-top: 40px;
}
.feeSect .btnBlock .itemList > li .m-btn01 a {
	background-color: #53B4DE;
}
.feeSect .btnBlock .itemList > li .m-btn01 a:hover {
	background-color: #3C9BC4;
}

@media only screen and (max-width: 768px) {
	.feeSect {
		margin-top: 40px;
	}
	.feeSect .titBlock {
		padding-bottom: 10px;
	}
	.feeSect .titBlock:before {
		width: 100px;
		height: 2px;
	}
	.feeSect .titBlock .sectTit {
		font-size: 24px;
	}
	.feeSect .titBlock .sectTit small {
		font-size: 20px;
	}
	.feeSect .titBlock .sectTit .title-caution {
		font-size: 14px;
	}
	.feeSect .sectMain {
		margin-top: 25px;
	}
	.feeSect .txt {
		font-size: 14px;
		margin: 16px 0;
	}
	.feeSect .itemBlock table {
		width: 100%;
		min-width: 800px;
		border-collapse: collapse;
	}
	.feeSect .itemBlock table thead th {
		font-size: 14px;
		white-space: nowrap;
	}
	.feeSect .itemBlock table thead .head-sm {
		font-size: 12px;
		white-space: nowrap;
	}
	.feeSect .itemBlock table tbody th {
		font-size: 14px;
		white-space: nowrap;
	}
	.feeSect .itemBlock table tbody td {
		white-space: nowrap;
		vertical-align: middle;
		font-size: 18px;
		line-height: 1.4;
		padding-left: 4px;
		padding-right: 4px;
	}
	.feeSect .itemBlock table tbody .yen {
		font-size: 14px;
		padding-left: 4px;
	}
	.js-swipe {
		overflow-x: auto;
		position: relative;
	}
	.scroll {
		font-size: 14px;
		color: #ababab;
		text-align: center;
		margin-top: 8px;
	}
	.feeSect .caution-wrap {
		padding: 16px;
		gap: 6px;
	}
	.feeSect .caution-wrap .text {
		font-size: 12px;
		text-indent: -1em;
		padding-left: 1em;
	}
}
.contSect {
	margin-top: 40px;
}
.contSect .sectTit {
	text-align: center;
}
.contSect .sectTit img {
	width: auto;
}
.contSect table th,
.contSect table td {
	vertical-align: middle;
}
.contSect table th {
	line-height: 1.3;
	box-sizing: border-box;
	text-align: center;
	background-color: #53B4DE;
	color: #fff;
	border-bottom: 1px solid #fff;
	padding: 16px 0;
	font-weight: 500;
	font-size: 16px;
	min-width: 238px;
	font-size: 16px;
}
.contSect table td {
	line-height: 1.5;
	background-color: #F1F8FE;
	padding: 16px 40px;
}
.contSect table .border {
	border-bottom: 1px solid #B9D5E2;
}
.contSect table .date {
	font-size: 16px;
	font-weight: bold;
}
.contSect .capList {
	display: grid;
	grid-gap: 8px;
	gap: 8px;
	margin-top: 5px;
	font-size: 16px;
}
.contSect .capList > li {
	font-size: 14px;
	padding-left: 1em;
	text-indent: -1em;
	font-weight: 500;
}
.contSect .capList a {
	text-decoration: underline;
}
.contSect .capList a:hover {
	text-decoration: none;
}
.contSect .capList strong {
	font-weight: normal;
	color: #e00101;
}
.contSect .btnBlock {
	margin-top: 40px;
}
.contSect .btnBlock .itemList {
	display: grid;
	grid-gap: 8px;
	gap: 8px;
}
.contSect .btnBlock .itemList > li .m-btn01 a {
	background-color: #53B4DE;
}
.contSect .btnBlock .itemList > li .m-btn01 a:hover {
	background-color: #3C9BC4;
}

@media only screen and (min-width: 769px), print {
	.contSect .btnBlock .itemList {
		display: flex;
		margin: 0 -20px;
		justify-content: center;
	}
	.contSect .btnBlock .itemList > li {
		box-sizing: border-box;
		width: 50%;
		padding: 0 20px;
	}
}
@media only screen and (max-width: 768px) {
	.contSect {
		margin-top: 24px;
		width: 100%;
	}
	.contSect table {
		width: 100%;
	}
	.contSect table th, .contSect table td {
		padding: 10px;
		font-size: 14px;
	}
	.contSect th, .contSect td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	.contSect .date {
		padding-left: 16px;
		font-size: 16px;
	}
	.contSect .capList {
		margin-bottom: 8px;
		padding: 0 16px;
	}
}
@media only screen and (max-width: 768px) and (max-width: 374px) {
	.contSect table th {
		width: 100px;
	}
}
@media only screen and (max-width: 768px) {
	.contSect .capList {
		margin-top: 5px;
		font-size: 12px;
	}
	.contSect .capList > li {
		font-size: 12px;
	}
	.feeSect .btnBlock,
	.contSect .btnBlock {
		margin-top: 20px;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}