@charset "UTF-8";
.btn-navs {
	margin: auto;
	max-width: 810px;
}
.btn-navs ul li { width: calc((100% / 2) - (10px * 1 / 2));}
.section { margin-bottom: 80px;}
@media screen and (max-width: 767px) {
	.section { margin-bottom: 60px;}
}
.list-dot {
	display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
	row-gap: 5px;
}
.list-dot li {
	width: 100%;
    padding-left: 16px;
	line-height: 1.5;
    position: relative;
}
.list-dot li::before {
    content: "・";
    display: block;
    position: absolute;
    left: 0;
    top: 0;
	color: #01BFBD;
}
.list-dot .sm {
	font-size: 1.4rem;
	letter-spacing: 0;
}
.list-dot.dot-inline li {
    margin-right: 50px;
	width: auto;
}
.list-dot.dot-col li { width: calc(100% / 5);}
.list-dot.dot-col li.nodot::before { content: none;}
@media screen and (max-width: 767px) {
	.list-dot.dot-col li { width: calc(100% / 2)!important;}
	.list-dot.dot-inline li { margin-right: 20px;}
	.list-dot .sm { font-size: 1.2rem;}
}
.progress { margin: 35px -10px 65px;}
.tbl-progress {
    border-collapse: separate;
    border-spacing: 10px;
	width: 100%;
}
.tbl-progress th {
	color: #fff;
	text-align: center;
}
.tbl-progress thead th:nth-child(2) { background-color: #5A8CD7;}
.tbl-progress thead th:nth-child(2) .year { background-color: #3E5F92;}
.tbl-progress thead th:nth-child(3) { background-color: #F27D76;}
.tbl-progress thead th:nth-child(3) .year { background-color: #9E5955;}
.tbl-progress thead th:nth-child(4) { background-color: #57BE5C;}
.tbl-progress thead th:nth-child(4) .year { background-color: #3F8342;}
.tbl-progress tbody td:nth-child(2) { background-color: rgba(90, 140, 215, 0.2);}
.tbl-progress tbody td:nth-child(2) .list-dot li::before,
.tbl-progress tbody td:nth-child(2) .list-dot .sm { color: #5A8CD7;}
.tbl-progress tbody td:nth-child(3) { background-color: rgba(242, 125, 118, 0.2);}
.tbl-progress tbody td:nth-child(3) .list-dot li::before,
.tbl-progress tbody td:nth-child(3) .list-dot .sm { color: #F27D76;}
.tbl-progress tbody td:nth-child(4) { background-color: rgba(87, 190, 92, 0.2);}
.tbl-progress tbody td:nth-child(4) .list-dot li::before,
.tbl-progress tbody td:nth-child(4) .list-dot .sm { color: #57BE5C;}
.tbl-progress thead .year,
.tbl-progress thead .ttl .lg {
	font-size: 2rem;
	font-weight: 500;
}
.tbl-progress thead .year { padding: 2px;}
.tbl-progress thead .ttl { padding: 12px;}
.tbl-progress tbody th { background-color: #01BFBD;}
.tbl-progress tbody th .month { font-size: 2rem;}
.tbl-progress tbody th .month .num { font-size: 200%;}
.tbl-progress tbody td {
	padding: 18px 15px;
	vertical-align: top;
	letter-spacing: 0.09em;
}
.tbl-progress .bg-white { background-color: #fff!important;}
@media screen and (max-width: 767px) {
	.swipe-scroll  table {
        width: 950px !important;
        max-width: inherit;
    }
	.progress { margin: 30px -10px 60px;}
	.tbl-progress thead .year,
	.tbl-progress thead .ttl .lg { font-size: 1.6rem;}
	.tbl-progress tbody th .month { font-size: 1.6rem;}
}
.message-list { margin-bottom: 100px;}
.message-list .item {
	border-bottom: 1px solid rgba(50, 50, 50, 0.2);
	padding: 75px 0;
}
.message-list .item:first-child { padding-top: 0;}
.message-list .item .cont {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 40px;
}
.message-list .item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.message-list .item .img { width: calc(295 / 950 * 100%);}
.message-list .item .info {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: calc(605 / 950 * 100%);
}
.message-list .item .info .ttl {
	color: #01bfbd;
	font-size: 2.4rem;
	line-height: 1.4;
}
.message-list .item .info .heading02 { margin-bottom: 20px;}
.message-list .item .copy + .copy { margin-top: 30px;}
@media screen and (max-width: 767px) {
	.message-list { margin-bottom: 60px;}
	.message-list .item { padding: 25px 0;}
	.message-list .item .cont { margin-bottom: 20px;}
	.message-list .item .img,
	.message-list .item .info { width: 100%;}
	.message-list .item .img { margin-bottom: 20px;}
	.message-list .item .copy + .copy { margin-top: 20px;}
}
.heading02 .sm {
	font-size: 1.6rem;
	color: #323232;
}
.system-box {
	border: 1px solid #01BFBD;
    max-width: 500px;
    margin: 40px auto 0;
    padding: 35px 5px;
    text-align: center;
}
.system-box p { line-height: 1.5;}
.system-box p .lg {
	font-size: 150%;
}
.system-block .ttl {
	color: #01BFBD;
	margin-bottom: 15px;
	font-weight: 500;
	letter-spacing: 0;
}
.system-block .system-info { margin-top: 45px;}
.system-block .system-info .list-dot + .ttl { margin-top: 35px;}
.system-block .system-info .ttl { margin-bottom: 5px;}
.system-block .list-name {
	display: grid;
	grid-template-columns: 49.5% 29.5% auto;
	text-align: center;
	margin-bottom: 25px;
}
.system-block .list-name li { padding: 10px 5px;}
.system-block .list-name li:nth-child(1) {
	background-color: #01BFBD;
	color: #fff;
}
.system-block .list-name li:nth-child(2) { background-color: rgba(1, 191, 189, 0.4);}
.system-block .list-name li:nth-child(3) { background-color: rgba(1, 191, 189, 0.1);}
.system-block .list-name.full { grid-template-columns: 1fr;}
@media screen and (max-width: 1200px) {
	.heading02 .sm { font-size: 1.4rem;}
}
@media screen and (max-width: 767px) {
	.system-box {
		padding: 20px 5px;
		margin: 30px auto 0;
	}
	.system-block .system-info { margin-top: 40px;}
	.system-block .list-name {
		grid-template-columns: 65% auto;
		margin-bottom: 20px;
	}
	.system-block .list-name li { padding: 5px;}
	.system-block .list-name li:nth-child(1) { grid-column: 1/3;}
}
.obvoice-list .c-red { color: #E60012!important;}
.obvoice-list .item { margin-bottom: 100px;}
.obvoice-list .heading02 {
	font-size: 2.4rem;
	padding-bottom: 30px;
	margin-bottom: 30px;
}
.obvoice-list .heading02 .tag {
	margin-top: 20px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.obvoice-list .heading02 .tag small {
	font-size: 1.6rem;
	font-weight: 500;
	color: #323232;
}
.obvoice-list .heading02 .tag .lbl {
	background-color: #01BFBD;
	color: #FFFFFF;
	margin-right: 20px;
	padding: 5px 20px;
	min-width: 300px;
	text-align: center;
}
.obvoice-list .conts {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.obvoice-list .conts .photo { width: calc(220 / 950 * 100%);}
.obvoice-list .conts .info { 
	width: calc(685 / 950 * 100%);
	margin-top: -5px;
}
.obvoice-list .conts p { letter-spacing: 0.05em;}
.obvoice-list .conts p + p { margin-top: 30px;}
@media screen and (max-width: 1200px) {
	.obvoice-list .heading02 .tag small { 
		font-size: 1.4rem;
		letter-spacing: 0.05em;
	}
}
@media screen and (max-width: 767px) {
	.obvoice-list .item { margin-bottom: 80px;}
	.obvoice-list .heading02 {
    	font-size: 1.8rem;
        padding-bottom: 20px;
	}
	.obvoice-list .heading02 .tag { margin-top: 15px;}
	.obvoice-list .heading02 .tag .date { width: 100%;}
	.obvoice-list .heading02 .tag .lbl { 
		margin: 0 0 10px;
		min-width: 240px;
		padding: 5px 10px;
	}
	.obvoice-list .conts {
		flex-direction: column;
		gap: 20px;
	}
	.obvoice-list .conts .photo {
		width: 50%;
		margin: auto;
	}
	.obvoice-list .conts .info { width: 100%;}
	.obvoice-list .conts p + p { margin-top: 20px;}
}

.tab-nav {
	max-width: 850px;
	margin: 70px auto 90px;
}
.tab-nav ul {
	display: flex;
	position: relative;
	justify-content: center;
	gap: 50px;
}
.tab-nav ul li  {
	background-color: rgba(1, 191, 189, 0.1);
	color: #01BFBD;
	padding: 0 10px 10px;
	width: 50%;
	text-align: center;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	cursor: pointer;
	display: flex;
	flex-direction: column;
    height: 150px;
    justify-content: center;
}
.tab-nav ul li::after {
	content: "";
	background: url(../img/common/icon_down01_w_b.svg) no-repeat center center/ contain;
	display: block;
	width: 30px;
	height: 30px;
	margin: 8px auto 0;
}
.tab-nav .active  {
	background-color: #01BFBD;
	color: #FFFFFF;
}
.tab-content { padding: 0 0 150px;}
.tab-item { display: none;}
.tab-item:first-child { display: block;}
@media screen and (max-width: 767px) {
	.tab-nav {
		margin: 0;
		padding: 40px 0 40px;
	}
	.tab-nav ul { gap: 15px;}
	.tab-nav ul li {
		padding: 10px 10px;
		font-size: 1.6rem;
		height: 80px;
	}
	.tab-nav ul li::after {
		width: 20px;
		width: 20px;
		margin: 2px auto 0;
	}
	.tab-content { padding: 0 0 60px;}
}

.icon-plus {
	position: absolute;
	right: 10px;
	z-index: 1;
	height: 30px;
	width: 30px;
	top: 7px;
	margin: auto;
	transition: all 0.4s ease-out;
}
.icon-plus:after,
.icon-plus:before {
	background: #17B0B4;
	content: "";
	position: absolute;
	top: 0;
    bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.icon-plus:after {
    height: 2px;
    width: 100%;
}
.icon-plus:before {
    height: 100%;
    width: 2px;
}
@media screen and (max-width: 767px) {
	.icon-plus {
		height: 16px;
		width: 16px;
		right: 5px;
		top: 5px;
	}
}
.record-block + .record-block { margin-top: 50px;}
.record-block .ttl {
	font-size: 1.8rem;
	font-weight: 500;
	background-color: #01BFBD;
	color: #fff;
	padding: 14px 20px;
	margin-bottom: 30px;
}
.tbl-row + .tbl-row { margin-top: 40px;}
.tbl-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 30px;
	align-items: flex-start;
}
.tbl-row .tbl-info { letter-spacing: 0;}
.tbl-row .tbl-info th { background-color: rgba(1, 191, 189, 0.1);}
.tbl-row .tbl-info th,
.tbl-row .tbl-info td {
	border: 1px solid rgba(50, 50, 50, .2);
	padding: 10px 2px;
    text-align: center;
}
@media screen and (max-width: 767px) {
	.record-block + .record-block { margin-top: 40px;}
	.record-block .ttl {
		font-size: 1.4rem;
		margin-bottom: 20px;
		padding: 10px 20px;
	}
	.tbl-row { 
		grid-template-columns: auto;
		gap: 20px;
	}
	.tbl-row .tbl-info thead th:nth-child(1) { width: 83%!important;}
}
.accordion-list .accordion-item + .accordion-item { margin-top: 90px;}
.accordion-list .accordion-head { position: relative;}
.accordion-list .heading02 {
	margin-bottom: 0;
}
.accordion-list .accordion-body { padding-top: 50px;}
.accordion-list .accordion-item:not(:nth-child(1)) .accordion-head { cursor: pointer;}
.accordion-list .accordion-item:not(:nth-child(1)) .accordion-body { display: none;}
.accordion-list .accordion-head.active .icon-plus::before { content: none;}
@media only screen and (max-width: 767px) {
	.accordion-list .accordion-item + .accordion-item { margin-top: 40px;}
	.accordion-list .accordion-body { padding-top: 20px;}
	.accordion-list .accordion-item:not(:nth-child(1)) .heading02 { padding-right: 20px;}
}