@charset "UTF-8";
@import "root.css";
*, :after, :before {
	box-sizing: border-box;
	border-style: solid;
	border-width: 0;
}
html {
	font-family: 'Noto Sans JP', "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", 'Zen Kaku Gothic New', "游ゴシック", "ＭＳ ゴシック", sans-serif;
	font-size: 62.5%; /* 10px */
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	text-size-adjust: 100%;
}
.mont {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
}
.roboto {
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
}
body {
	font-weight: 500;
	line-height: 1.4;
	color: var(--color-black);
	min-width: 375px;
	margin: 0;
	overflow-x: hidden;
}
body.fixed {
	overflow: hidden;
}
body * {
	font-feature-settings: "palt";
}
a {
	text-decoration: none;
	transition: all .2s ease-out;
}
@media screen and (min-width: 768px) {
	body {
		font-size: 1.6em;
	}
	a img {
		transition: all .2s ease-out;
	}
	a img:hover {
		opacity: 0.6;
	}
	.center-contents {
		width: 960px;
		margin-right: auto;
		margin-left: auto;
	}
}
@media screen and (min-width: 481px) and  (max-width : 767px) {
	body {
		font-size: var(--size16);
	}
}
@media screen and (max-width : 480px) {
	body {
		font-size: var(--size16);
	}
}
main {
	display: block;
}
@media screen and (max-width : 767px) {
	main {
		overflow: hidden;
	}
}
h1, h2, h3, h4, h5, h6 {
	font-size: inherit;
	font-weight: inherit;
	line-height: 1.4;
	margin: 0;
}
p {
	line-height: 2;
}
@media screen and (min-width: 768px) {
	p {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 767px) {
	p {
		font-size: var(--size16);
	}
}
p + p {
	margin-top: 1.714em;
}
address, blockquote, dl, figure, form, iframe, ol, p, pre, table, ul {
	margin: 0;
}
ol, ul {
	padding: 0;
	list-style: none;
}
dt {
	font-weight: 700;
}
dd {
	margin-left: 0;
}
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	border-top-width: 1px;
	margin: 0;
	clear: both;
	color: inherit;
}
pre {
	font-family: monospace;
	font-size: inherit;
}
address {
	font-style: inherit;
}
a {
	background-color: transparent;
	text-decoration: none;
	color: inherit;
}
abbr[title] {
	text-decoration: underline dotted;
}
b, strong {
	font-weight: bolder;
}
code, kbd, samp {
	font-family: monospace;
	font-size: inherit;
}
small {
	font-size: 80%;
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub {
	bottom: -0.25em;
}
sup {
	top: -0.5em;
}
embed, iframe, img, object, svg {
	vertical-align: bottom;
}
button, input, optgroup, select, textarea {
	vertical-align: middle;
	color: inherit;
	font: inherit;
	background: transparent;
	padding: 0;
	margin: 0;
	border-radius: 0;
	text-align: inherit;
	text-transform: inherit;
}
​
[type=button], [type=reset], [type=submit], button {
	cursor: pointer;
}
​
[type=button]:disabled, [type=reset]:disabled, [type=submit]:disabled, button:disabled {
	cursor: default;
}
​
:-moz-focusring {
	outline: auto;
}
​
select:disabled {
	opacity: inherit;
}
fieldset, option {
	padding: 0;
}
fieldset {
	margin: 0;
	min-width: 0;
}
legend {
	padding: 0;
}
progress {
	vertical-align: baseline;
}
textarea {
	overflow: auto;
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
	height: auto;
}
[type=search] {
	outline-offset: -2px;
}
label {
	display: inline-block;
	cursor: pointer;
}
label[for] {
	cursor: pointer;
}
details {
	display: block;
}
summary {
	display: list-item;
}
[contenteditable]:focus {
	outline: auto;
}
table {
	border-color: inherit;
	border-collapse: collapse;
	width: 100%;
}
th, caption, dt {
	text-align: left;
}
td, th {
	vertical-align: top;
	padding: 0;
}
.semi {
	font-weight: 600;
}
.bold {
	font-weight: 700;
}
.ex-bold {
	font-weight: 700;
}
::selection {
	background: rgba(128, 128, 128, 0.2);
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
em {
	font-style: normal;
}
@media screen and (min-width: 768px) {
	.pc-none {
		display: none !important;
	}
}
@media screen and (max-width: 767px) {
	.sp-none {
		display: none !important;
	}
}
/*common*/
.center-contents {
	position: relative;
}
@media screen and (min-width: 768px) {
	.center-contents {
		width: 990px;
		margin-right: auto;
		margin-left: auto;
	}
	.blue-bg-01 {
		background: url('../img/bg_01.png') no-repeat center top 150px / 100%,url('../img/bg_02.png') no-repeat center bottom 150px / 100%;
		background-color: var(--color-blue-1);
		padding: 100px 0;
		position: relative;
	}
	.blue-bg-02 {
		background: url('../img/bg_03.png') no-repeat center top 150px / 100%,url('../img/bg_04.png') no-repeat center bottom 150px / 100%;
		background-color: var(--color-blue-2);
		padding: 100px 0;
		position: relative;
	}
	.blue-bg-01::before,
	.blue-bg-02::before {
		content: '';
		display: block;
		width: 169px;
		height: 32px;
		position: absolute;
		top: -32px;
		left: 0;
	}
	.blue-bg-01::before {
		background: url('../img/bg_07.png') no-repeat;
	}
	.blue-bg-02::before {
		background: url('../img/bg_05.png') no-repeat;
	}
	.blue-bg-01::after,
	.blue-bg-02::after {
		content: '';
		display: block;
		width: 169px;
		height: 32px;
		position: absolute;
		bottom: -32px;
		right: 0;
		z-index: 1;
	}
	.blue-bg-01::after {
		background: url('../img/bg_08.png') no-repeat;
	}
	.blue-bg-02::after {
		background: url('../img/bg_06.png') no-repeat;
	}
	.hl-01 {
		text-align: center;
		margin-bottom: 30px;
	}
	.hl-01-text {
		text-align: center;
	}
	.hl-02 {
		color: var(--color-blue-3);
		font-size: 24px;
		font-weight: 700;
		margin-bottom: 35px;
		padding-bottom: 15px;
		position: relative;
	}
	.hl-02.hl-02-center {
		text-align: center;
	}
	.hl-02::after {
		background: var(--color-blue-2);
		content: '';
		display: block;
		width: 30px;
		height: 4px;
		margin: auto;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.hl-02.hl-02-center::after {
		right: 0;
	}
	.hl-02.hl-02-noborder {
		padding-bottom: 0;
	}
	.hl-02.hl-02-noborder::after {
		content: none;
	}
	.hl-03-wrapper {
		text-align: center;
	}
	.hl-03 {
		color: var(--color-blue-3);
		font-size: 28px;
		font-weight: 700;
		text-align: center;
		margin-top: 20px;
		margin-bottom: 35px;
		padding-bottom: 15px;
		position: relative;
	}
	.hl-03::after {
		background: var(--color-blue-2);
		content: '';
		display: block;
		width: 30px;
		height: 4px;
		margin: auto;
		position: absolute;
		bottom: 0;
		right: 0;
		left: 0;
	}
	.hl-04 {
		color: var(--color-blue-3);
		font-size: 28px;
		font-weight: 700;
		text-align: center;
		margin-bottom: 25px;
	}
	.kome {
		font-size: 14px;
	}
	.t-super {
		font-size: 16px;
		vertical-align: super;
	}
	.link-btn-03-wrapper {
		text-align: center;
	}
	.link-btn-03 {
		background: var(--color-blue-3) url('../img/index_icon14.svg') no-repeat right 30px top 50% / 16px 14px;
		border-radius: 35px;
		color: var(--color-white);
		display: inline-block;
		font-size: 16px;
		font-weight: 700;
		padding: 20px 80px;
	}
	.link-btn-03:hover {
		background-color: var(--color-blue-3-hover);
	}
	.slider-item {
		background: var(--color-white);
		border: 5px solid var(--color-white);
		border-radius: 20px;
		overflow: hidden;
		width: 286px;
		margin: 0 8px;
	}
	.sec-04-box-03-age {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		padding: 10px 0 12px;
	}
	.sec-04-box-03-age img {
		margin: 0 15px;
	}
	.sec-04-box-03-text {
		background: var(--color-gray-1);
		padding: 25px 20px;
	}
	.slider-wrapper {
		margin-bottom: 65px;
	}
	.slick-arrow {
		background: url('../img/index_icon_17.png') no-repeat;
		text-indent: -9999px;
		width: 34px;
		height: 34px;
		margin: auto;
		position: absolute;
		top: -80px;
		bottom: 0;
		z-index: 10;
	}
	.slick-prev {
		transform: rotate(180deg);
		left: 0;
	}
	.slick-next {
		right: 0;
	}
	.slick-dots {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 20px;
	}
	.slick-dots button {
		background: var(--color-white);
		border: 2px solid var(--color-blue-3);
		border-radius: 50%;
		text-indent: -9999px;
		width: 8px;
		height: 8px;
		margin: 0 8px;
		padding: 0;
	}
	.slick-active button {
		background: var(--color-blue-4);
	}
}
@media screen and (max-width: 767px) {
	.center-contents {
		padding-right: var(--size16);
		padding-left: var(--size16);
		max-width: 100vw;
	}
	.blue-bg-01 {
		background: url('../img/bg_01.png') no-repeat center top 150px / 100%,url('../img/bg_02.png') no-repeat center bottom 150px / 100%;
		background-color: var(--color-blue-1);
		padding: 100px 0;
		position: relative;
	}
	.blue-bg-02 {
		background: url('../img/bg_03.png') no-repeat center top 150px / 100%,url('../img/bg_04.png') no-repeat center bottom 150px / 100%;
		background-color: var(--color-blue-2);
		padding: 100px 0;
		position: relative;
	}
	.blue-bg-01::before,
	.blue-bg-02::before {
		content: '';
		display: block;
		width: var(--size120);
		height: var(--size16);
		position: absolute;
		top: calc( var(--size16) * -1 );
		left: 0;
	}
	.blue-bg-01::before {
		background: url('../img/bg_07_sp.png') no-repeat 0 0 / var(--size120);
	}
	.blue-bg-02::before {
		background: url('../img/bg_05_sp.png') no-repeat 0 0 / var(--size120);
	}
	.blue-bg-01::after,
	.blue-bg-02::after {
		content: '';
		display: block;
		width: var(--size120);
		height: var(--size16);
		position: absolute;
		bottom: calc( var(--size16) * -1 );
		right: 0;
		z-index: 1;
	}
	.blue-bg-01::after {
		background: url('../img/bg_08_sp.png') no-repeat 0 0 / var(--size120);
	}
	.blue-bg-02::after {
		background: url('../img/bg_06_sp.png') no-repeat 0 0 / var(--size120);
	}

	.hl-01 {
		text-align: center;
		margin-bottom: var(--size20);
		width: 100vw;
		margin-left: calc( var(--size16) * -1 );
	}
	.hl-01-text {
		text-align: center;
	}
	.hl-02 {
		color: var(--color-blue-3);
		font-size: var(--size18);
		font-weight: 700;
		text-align: center;
		margin-bottom: var(--size20);
		padding-bottom: var(--size15);
		position: relative;
	}
	.hl-02::after {
		background: var(--color-blue-2);
		content: '';
		display: block;
		width: var(--size18);
		height: var(--size4);
		margin: auto;
		position: absolute;
		bottom: 0;
		right: 0;
		left: 0;
	}
	.hl-02.hl-02-noborder {
		padding-bottom: 0;
	}
	.hl-02.hl-02-noborder::after {
		content: none;
	}
	.hl-03-wrapper {
		text-align: center;
	}
	.hl-03 {
		color: var(--color-blue-3);
		font-size: var(--size20);
		font-weight: 700;
		text-align: center;
		margin-top: var(--size20);
		margin-bottom: var(--size30);
		padding-bottom: var(--size15);
		position: relative;
	}
	.hl-03::after {
		background: var(--color-blue-2);
		content: '';
		display: block;
		width: var(--size18);
		height: var(--size4);
		margin: auto;
		position: absolute;
		bottom: 0;
		right: 0;
		left: 0;
	}
	.sec-04-box-03 .hl-03-wrapper img {
		width: var(--size50);
	}
	.sec-04-box-04 .hl-03-wrapper img {
		width: var(--size56);
	}
	.sec-08 .hl-03-wrapper img {
		width: var(--size55);
	}
	.hl-04 {
		color: var(--color-blue-3);
		font-size: var(--size22);
		font-weight: 700;
		text-align: center;
		margin-bottom: var(--size20);
	}
	.kome {
		font-size: var(--size12);
	}
	.t-super {
		font-size: var(--size16);
		vertical-align: super;
	}
	.link-btn-03-wrapper {
		text-align: center;
	}
	.link-btn-03 {
		background: var(--color-blue-3) url('../img/index_icon14.svg') no-repeat right var(--size15) top 50% / 16px 14px;
		border-radius: var(--size50);
		color: var(--color-white);
		display: block;
		font-size: var(--size16);
		font-weight: 700;
		padding: var(--size18) var(--size20);
	}
	.link-btn-03:hover {
		background-color: var(--color-blue-3-hover);
	}
	.slider-item {
		background: var(--color-white);
		border: 5px solid var(--color-white);
		border-radius: 20px;
		overflow: hidden;
		width: var(--size311);
		margin: 0 var(--size20);
	}
	.sec-04-box-03-age {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		padding: var(--size10) 0 var(--size12);
	}
	.sec-04-box-03-age img {
		width: var(--size55);
		margin: 0 var(--size15);
	}
	.sec-04-box-03-text {
		background: var(--color-gray-1);
		padding: var(--size25) var(--size20);
	}
	.slider-wrapper {
		margin-bottom: var(--size50);
	}
	.slick-arrow {
		background: url('../img/index_icon_17.png') no-repeat;
		text-indent: -9999px;
		width: 34px;
		height: 34px;
		margin: auto;
		position: absolute;
		top: calc(var(--size90) * -1);
		bottom: 0;
		z-index: 10;
	}
	.slick-prev {
		transform: rotate(180deg);
		left: 0;
	}
	.slick-next {
		right: 0;
	}
	.slick-dots {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: var(--size20);
	}
	.slick-dots button {
		background: var(--color-white);
		border: 2px solid var(--color-blue-3);
		border-radius: 50%;
		text-indent: -9999px;
		width: 8px;
		height: 8px;
		margin: 0 8px;
		padding: 0;
	}
	.slick-active button {
		background: var(--color-blue-4);
	}
}
/*header*/
@media screen and (min-width: 768px) {
	.header-wrapper {
		background: var(--color-white);
		padding: 10px 0;
	}
}
@media screen and (max-width: 767px) {
	.header-wrapper {
		background: var(--color-white);
		padding: var(--size8) 0;
	}
	.header-logo {
		width: var(--size154);
	}

}
/*fv*/
@media screen and (min-width: 768px) {
	.fv {
		background: url('../img/index_fv_bg.png') center 0 / cover;
		display: flex;
		align-items: center;
		min-height: 480px;
		height: 34.9vw;
		position: relative;
	}
	.fv img {
		width: 1027px;
		max-width: initial;
	}
	.fv-link {
		background: #FFF7DB;
		border: 4px solid var(--color-white);
		border-radius: 20px;
		width: 645px;
		margin: auto;
		padding: 20px 0;
		position: absolute;
		right: 0;
		bottom: -180px;
		left: 0;
		z-index: 10;
	}
	.fv-link-text {
		color: var(--color-green);
		font-size: 21px;
		font-weight: 700;
		text-align: center;
	}
	.fv-link-inner {
		width: 515px;
		margin-top: 10px;
		margin-right: auto;
		margin-left: auto;
	}
	.fv-link-btn-01 {
		background: var(--color-green);
		border-radius: 10px;
		color: var(--color-white);
		display: block;
		font-size: 16px;
		font-weight: 700;
		text-align: center;
		padding: 20px;
		position: relative;
	}
	.fv-link-btn-01:hover {
		background: var(--color-green-hover);
	}
	.fv-link-btn-01::before {
		background: url('../img/index_icon01.svg') no-repeat;
		content: '';
		display: block;
		width: 32px;
		height: 40px;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 40px;
	}
	.fv-link-btn-01::after {
		background: url('../img/index_img01.png') no-repeat;
		content: '';
		display: block;
		width: 80px;
		height: 80px;
		margin: auto;
		position: absolute;
		top: -30px;
		right: -30px;
	}
	.fv-link-btn-01 span {
		font-size: 20px;
		margin-left: 0.5em;
	}
	.fv-link-btn-02 {
		background: var(--color-white);
		border: 2px solid var(--color-green);
		border-radius: 10px;
		color: var(--color-green);
		display: block;
		font-size: 15px;
		font-weight: 700;
		text-align: center;
		margin-top: 10px;
		padding: 20px;
	}
	.fv-link-btn-02:hover {
		opacity: 0.6;
	}
	.fv-link-btn-02 span {
		font-size: 18px;
		margin-left: 0.5em;
	}
}
@media screen and (max-width: 767px) {
	.fv {
		background: url('../img/index_fv_bg_sp.png') 0 0 / cover;
		padding: var(--size16) 0 var(--size165);
		position: relative;
	}
	.fv-link {
		background: #FFF7DB;
		border: 4px solid var(--color-white);
		border-radius: 20px;
		margin: auto;
		margin: 0 var(--size16);
		padding: var(--size12);
		position: absolute;
		right: 0;
		bottom: calc( var(--size170) * -1 );
		left: 0;
		z-index: 10;
	}
	.fv-link-text {
		color: var(--color-green);
		font-size: var(--size14);
		font-weight: 700;
		text-align: center;
	}
	.fv-link-inner {
		margin-top: var(--size5);
		margin-right: auto;
		margin-left: auto;
	}
	.fv-link-btn-01 {
		background: var(--color-green);
		border-radius: 10px;
		color: var(--color-white);
		display: block;
		font-size: var(--size14);
		font-weight: 700;
		text-align: center;
		padding: var(--size10);
		position: relative;
	}
	.fv-link-btn-01::before {
		background: url('../img/index_icon01.svg') no-repeat;
		content: '';
		display: block;
		width: var(--size28);
		height: var(--size35);
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		left: var(--size16);
	}
	.fv-link-btn-01::after {
		background: url('../img/index_img01.png') no-repeat 0 0 / var(--size56);
		content: '';
		display: block;
		width: var(--size56);
		height: var(--size56);
		margin: auto;
		position: absolute;
		top: calc( var(--size15) * -1 );
		right: calc( var(--size28) * -1 );
	}
	.fv-link-btn-01 span {
		font-size: var(--size18);
		margin-left: 0.5em;
	}
	.fv-link-btn-02 {
		background: var(--color-white);
		border: 2px solid var(--color-green);
		border-radius: 10px;
		color: var(--color-green);
		display: block;
		font-size: var(--size14);
		font-weight: 700;
		text-align: center;
		margin-top: var(--size10);
		padding: var(--size10);
	}
	.fv-link-btn-02 span {
		font-size: var(--size18);
		margin-left: 0.5em;
	}
}
/*sec-01*/
@media screen and (min-width: 768px) {
	.sec-wrapper-01 {
		padding: 220px 0 140px;
	}
	.sec-wrapper-01::before {
		content: none;
	}
	.sec-01-box {
		background: #fff;
		border: 5px solid #fff;
		border-radius: 20px;
		overflow: hidden;
	}
	.sec-01-box-hl {
		color: #003A77;
		font-size: 28px;
		font-weight: 700;
		text-align: center;
		padding: 30px 0;
	}
	.sec-01-box-inner {
		background: #F2F5F8;
		text-align: center;
	}
	.sec-01-box-inner > picture img {
		margin: 25px 0;
	}
	#cid_karpri .sec-01-box-inner > picture img {
		margin: -20px 0 0;
	}
	.sec-01-link {
		margin: 55px 0; 
		text-align: center;
	}
	.sec-01-link-text {
		color: #008080;
		font-size: 21px;
		font-weight: 700;
		margin-bottom: 20px;
	}
	.sec-01-link a {
		background: #008080;
		border-radius: 10px;
		color: #fff;
		display: inline-block;
		font-size: 20px;
		font-weight: 700;
		text-align: center;
		width: 515px;
		padding: 20px;
	}
	.sec-01-link a:hover {
		background: #11aaaa;
	}
	.sec-01-box-inner-text {
		font-size: 12px;
		text-align: left;
		margin-top: 20px;
		margin-left: 245px;
		padding-bottom: 25px;
		padding-left: 2em;
		text-indent: -2em;
	}
	#modalBtn {
		cursor: pointer;
		text-decoration: underline;
		transition: all .2s ease-out;
	}
	#modalBtn:hover {
		color: #003A77;
		text-decoration: none;
	}
	.modal-contents {
		visibility: hidden;
		opacity: 0;
		transition: all .2s ease-out;
	}
	.modal-contents.active {
		visibility: visible;
		opacity: 1;
	}
	#modalCloseBtn {
		cursor: pointer;
		width: 60px;
		height: 60px;
		position: fixed;
		top: 60px;
		right: 60px;
		z-index: 20;
	}
	#modalCloseBtn::before,
	#modalCloseBtn::after {
		background: #003A77;
		content: '';
		display: block;
		width: 40px;
		height: 2px;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
	}
	#modalCloseBtn::before {
		transform: rotate(45deg);
	}
	#modalCloseBtn::after {
		transform: rotate(135deg);
	}
	.modal-contents {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 100;
		overflow-y: scroll;
	}
	.modal-contents .center-contents {
		max-width: 100%;
	}
	.modal-contents-inner {
		text-align: left;	
		padding-top: 0;
	}
	.modal-contents-inner::before,
	.modal-contents-inner::after {
		content: none;
	}
	.modal-hl-wrapper {
		text-align: center;
		padding: 55px 0 30px;
	}
	.modal-hl {
		font-size: 24px;
		font-weight: 700;
		margin: 20px 0 10px;
	}
	.modal-table thead th {
		background: #999;
		border: 1px solid #d3d3d3;
		color: #fff;
		font-size: 18px;
		text-align: center;
		width: 33.33%;
		padding: 15px;
	}
	.modal-table tbody th,
	.modal-table tbody td {
		background: #fff;
		border: 1px solid #d3d3d3;
		color: #111;
		font-size: 16px;
		font-weight: 400;
		padding: 15px;
	}
	/* .modal-table tbody tr:nth-of-type(even) th,
	.modal-table tbody tr:nth-of-type(even) td {
		background: #f5f5f5;
	}
	.modal-table tbody tr:last-child th,
	.modal-table tbody tr:last-child td {
		font-weight: 700;
	} */
}
@media screen and (max-width: 767px) {
	.sec-wrapper-01 {
		padding: var(--size180) 0 var(--size60);
	}
	.sec-wrapper-01::before {
		content: none;
	}
	.sec-01-box {
		background: #fff;
		border: 5px solid #fff;
		border-radius: 20px;
		overflow: hidden;
	}
	.sec-01-box-hl {
		color: #003A77;
		font-size: var(--size18);
		font-weight: 700;
		text-align: center;
		padding: var(--size30) 0;
	}
	.sec-01-box-inner {
		background: #F2F5F8;
		text-align: center;
		padding: var(--size12) var(--size15);
	}
	#cid_karpri .sec-01-box-inner > picture img {
		margin-top: calc(var(--size20) * -1);
	}
	.sec-01-link {
		margin: var(--size25) 0 var(--size40); 
		text-align: center;
	}
	.sec-01-link-text {
		color: #008080;
		font-size: var(--size16);
		font-weight: 700;
		line-height: 1.4;
		margin-bottom: var(--size10);
		position: relative;
	}
	.sec-01-link-text::before,
	.sec-01-link-text::after {
		background: url('../img/index_icon17_sp.png') no-repeat 0 0 / 100%;
		content: '';
		display: block;
		width: var(--size14);
		height: var(--size32);
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
	}
	.sec-01-link-text::before {
		left: var(--size60);
	}
	.sec-01-link-text::after {
		transform: scale(-1, 1);
		right: var(--size60);
	}
	.sec-01-link a {
		background: #008080;
		border-radius: 10px;
		color: #fff;
		display: block;
		font-size: var(--size18);
		font-weight: 700;
		text-align: center;
		padding: var(--size15);
	}
	.sec-01-link a:hover {
		background: #11aaaa;
	}
	.sec-01-box-inner-text {
		font-size: var(--size12);
		text-align: left;
		margin-top: var(--size20);
		padding-bottom: var(--size20);
		padding-left: 2em;
		text-indent: -2em;
	}
	#modalBtn {
		cursor: pointer;
		text-decoration: underline;
		transition: all .2s ease-out;
	}
	#modalBtn:hover {
		color: #003A77;
		text-decoration: none;
	}
	.modal-contents {
		visibility: hidden;
		opacity: 0;
		transition: all .2s ease-out;
		max-width: 100vw;
	}
	.modal-contents.active {
		visibility: visible;
		opacity: 1;
	}
	#modalCloseBtn {
		cursor: pointer;
		width: var(--size50);
		height: var(--size50);
		position: fixed;
		top: 0;
		right: 0;
		z-index: 20;
	}
	#modalCloseBtn::before,
	#modalCloseBtn::after {
		background: #003A77;
		content: '';
		display: block;
		width: var(--size30);
		height: var(--size2);
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
	}
	#modalCloseBtn::before {
		transform: rotate(45deg);
	}
	#modalCloseBtn::after {
		transform: rotate(135deg);
	}
	.modal-contents {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 100;
		overflow-y: scroll;
	}
	.modal-contents-inner {
		text-align: left;	
		padding-top: 0;
	}
	.modal-contents-inner::before,
	.modal-contents-inner::after {
		content: none;
	}
	.modal-hl-wrapper {
		text-align: center;
		padding: var(--size50) 0 var(--size30);
	}
	.modal-hl {
		font-size: var(--size18);
		font-weight: 700;
		margin: var(--size20) 0 var(--size10);
	}
	.modal-table-wrapper {
		overflow-x: scroll;
	}
	.modal-table thead th {
		background: #999;
		border: 1px solid #d3d3d3;
		color: #fff;
		font-size: var(--size15);
		text-align: center;
		width: 33.33%;
		padding: var(--size10) var(--size5);
	}
	.modal-table tbody th,
	.modal-table tbody td {
		background: #fff;
		border: 1px solid #d3d3d3;
		color: #111;
		font-size: var(--size13);
		font-weight: 400;
		padding: var(--size10) var(--size5);
		vertical-align: middle;
	}
	/* .modal-table tbody tr:nth-of-type(even) th,
	.modal-table tbody tr:nth-of-type(even) td {
		background: #f5f5f5;
	}
	.modal-table tbody tr:last-child th,
	.modal-table tbody tr:last-child td {
		font-weight: 700;
	} */
}

/*page-link*/
@media screen and (min-width: 768px) {
	.page-link {
		margin-bottom: 65px;
	}
	.page-link ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.page-link li {
		width: 24%;
		transition: all .2s ease-out;
	}
	.page-link a {
		background: var(--color-white);
		border-radius: 10px;
		color: var(--color-blue-3);
		font-size: 14px;
		font-weight: 700;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 100%;
		height: 100%;
		padding: 10px;
		position: relative;
	}
	.page-link a:hover {
		opacity: 0.6;
	}
	.page-link a::after {
		background: url('../img/index_icon02.svg') no-repeat;
		content: '';
		display: block;
		width: 16px;
		height: 10px;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 20px;
	}
}
@media screen and (max-width: 767px) {
	.page-link {
		margin-bottom: var(--size40);
	}
	.page-link ul {
	}
	.page-link li {
		transition: all .2s ease-out;
	}
	.page-link li + li {
		margin-top: var(--size12);
	}
	.page-link a {
		background: var(--color-white);
		border-radius: 10px;
		color: var(--color-blue-3);
		font-size: var(--size16);
		font-weight: 700;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 100%;
		height: 100%;
		padding: 10px;
		position: relative;
	}
	.page-link a::after {
		background: url('../img/index_icon02.svg') no-repeat;
		content: '';
		display: block;
		width: var(--size16);
		height: var(--size10);
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: var(--size20);
	}
}

/*sec-02*/
@media screen and (min-width: 768px) {
	.sec-02-img {
		margin: 50px 0 70px;
	}
	.sec-02-img-inner {
		width: 594px;
		margin-top: 30px;
		margin-right: auto;
		margin-left: auto;
	}
	.sec-02-box-01 {
		background: var(--color-white);
		border: 5px solid var(--color-white);
		border-radius: 20px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		overflow: hidden;
	}
	.sec-02-box-01:nth-of-type(1) {
		margin-bottom: 25px;
	}
	.sec-02-box-01-text {
		width: 50%;
		padding: 50px 30px;
	}
	.sec-02-box-01-img {
		background: var(--color-gray-1);
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 50%;
	}
	.sec-02-box-wrapper {
		padding: 0 15px;
	}
}
@media screen and (max-width: 767px) {
	.sec-02-img {
		margin: var(--size30) 0;
	}
	.sec-02-img-inner {
		margin-top: var(--size25);
	}
	.sec-02-img-inner p {
		font-size: var(--size11);
	}
	.sec-02-box-01 {
		background: var(--color-white);
		border: 5px solid var(--color-white);
		border-radius: 20px;
		width: var(--size311);
		margin: 0 var(--size20);
	}
	.sec-02-box-01-text {
		padding: var(--size20) var(--size15);
	}
	.sec-02-box-01-img {
		background: var(--color-gray-1);
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
}

/*sec-03*/
@media screen and (min-width: 768px) {
	.sec-03-img {
		margin: 65px 0 75px;
	}
	.sec-03-box {
		background: var(--color-white);
		border: 5px solid var(--color-white);
		border-radius: 20px;
		overflow: hidden;
	}
	.sec-03-box + .sec-03-box  {
		margin-top: 25px;
	}
	.sec-03-box-inner {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.sec-03-box-text {
		width: 520px;
		padding: 25px 40px 25px 50px;
	}
	.sec-03-box-img {
		width: 460px;
	}
	.sec-03-box-inner-02 {
		background: var(--color-gray-1);
		margin-top: 40px;
		padding: 25px 40px;
	}
	.sec-03-box-inner-02.bg-img {
		background: var(--color-gray-1) url('../img/index_img15.png') no-repeat top 20px right 50px;
	}
	.sec-03-box-inner-02 .t-super {
		font-size: 12px;
	}
	.sec-03-box-list-hl {
		color: var(--color-blue-3);
		font-size: 15px;
		font-weight: 700;
		margin-bottom: 15px;
	}
	.sec-03-box-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.sec-03-box-list li {
		background: var(--color-white);
		border-radius: 5px;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 140px;
		padding: 10px;
	}
	.sec-03-box-list-img {
		text-align: center;
		width: 140px;
	}
	.sec-03-box-list-img p {
		font-size: 12px;
		line-height: 1.4;
		margin-top: 10px;
	}
	.sec-03 .link-btn-03-wrapper {
		margin-top: 60px;
	}
}
@media screen and (max-width: 767px) {
	.sec-03-img {
		margin: 65px 0 75px;
	}
	.sec-03-box {
		background: var(--color-white);
		border: 5px solid var(--color-white);
		border-radius: 20px;
		overflow: hidden;
	}
	.sec-03-box + .sec-03-box  {
		margin-top: var(--size20);
	}
	.sec-03-box-inner {
		display: flex;
		align-items: center;
		flex-direction: column-reverse;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: var(--size20);
	}
	.sec-03-box-img {
		margin-bottom: var(--size20);
	}
	.sec-03-box-inner-02 {
		background: var(--color-gray-1);
		margin-top: var(--size30);
		padding: var(--size15) var(--size20);
	}
	.sec-03-box-inner-02.bg-img .hl-02 {
		background: url('../img/index_img15.png') no-repeat center bottom / var(--size150);
		padding-bottom: var(--size80);
	}
	.sec-03-box-inner-02 .t-super {
		font-size: var(--size12);
	}
	.sec-03-box-list-hl {
		color: var(--color-blue-3);
		font-size: var(--size16);
		font-weight: 700;
		text-align: center;
		margin-bottom: var(--size15);
	}
	.sec-03-box-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.sec-03-box-list li {
		background: var(--color-white);
		border-radius: 5px;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 48%;
		padding: var(--size10);
	}
	.sec-03-box-list li:nth-of-type(n+3) {
		margin-top: var(--size10);
	}
	.sec-03-box-list-img {
		text-align: center;
	}
	.sec-03-box-list-img img {
		width: var(--size97);
	}
	.sec-03-box-list-img p {
		font-size: var(--size12);
		line-height: 1.4;
		margin-top: var(--size10);
	}
	.sec-03 .link-btn-03-wrapper {
		margin-top: var(--size50);
	}
}

/*sec-04*/
@media screen and (min-width: 768px) {
	.sec-04-box-wrapper {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 60px 0;
	}
	.sec-04-box-01 {
		background: var(--color-white);
		border: 4px solid var(--color-white);
		border-radius: 20px;
		width: 464px;
	}
	.sec-04-box-01-img {
		background: var(--color-gray-1);
		border-radius: 20px 20px 0 0;
		text-align: center;
		position: relative;
	}
	.sec-04-box-01-img-ribon {
		position: absolute;
		top: 12px;
		right: -12px;
	}
	.sec-04-box-01-text {
		text-align: center;
		padding: 35px 0 30px;
	}
	.sec-04-box-02 {
		background: var(--color-white);
		border: 4px solid var(--color-white);
		border-radius: 20px;
		overflow: hidden;
		align-items: center;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 50px 0 75px;
	}
	.sec-04-box-02-img {
		text-align: center;
		width: 50%;
	}
	.sec-04-box-02-text {
		background: var(--color-gray-1);
		font-size: 20px;
		font-weight: 700;
		line-height: 1.4;
		text-align: center;
		width: 50%;
		padding: 60px 0;
	}
	.slider {
		padding: 0 50px;
	}
	.sec-04-box-04-inner {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.sec-04-box-04-voice {
		background: var(--color-gray-1);
		border: 5px solid var(--color-white);
		border-radius: 20px;
		overflow: hidden;
		width: 480px;
	}
	.sec-04-box-04-voice-name-wrapper {
		background: var(--color-white);
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		padding: 12px 15px;
	}
	.sec-04-box-04-voice-name-inner {
		margin-left: 15px;
	}
	.sec-04-box-04-voice-katagaki {
		color: var(--color-blue-5);
		font-size: 12px;
		font-weight: 700;
	}
	.sec-04-box-04-voice-name {
		color: var(--color-blue-3);
		font-size: 18px;
		font-weight: 700;
	}
	.sec-04-box-04-voice-text {
		padding: 20px;
	}
	.sec-04-box-04-voice-hl {
		font-weight: 700;
		margin-bottom: 10px;
		line-height: 1.6;
	}
}
@media screen and (max-width: 767px) {
	.sec-04-box-wrapper {
		margin: var(--size35) 0;
	}
	.sec-04-box-01 {
		background: var(--color-white);
		border: 4px solid var(--color-white);
		border-radius: 20px;
		width: var(--size311);
		margin: 0 var(--size20);
	}
	.sec-04-box-01-img {
		background: var(--color-gray-1);
		border-radius: 20px 20px 0 0;
		text-align: center;
		position: relative;
	}
	.sec-04-box-01-img-ribon {
		width: var(--size120);
		position: absolute;
		top: var(--size8);
		right: calc( var(--size8) * -1 );
	}
	.sec-04-box-01-text {
		text-align: center;
		padding: 35px 0 30px;
	}
	.sec-04-box-02 {
		background: var(--color-white);
		border: 4px solid var(--color-white);
		border-radius: 20px;
		overflow: hidden;
		margin: var(--size40) 0;
	}
	.sec-04-box-02-img {
		text-align: center;
		padding: var(--size20);
	}
	.sec-04-box-02-text {
		background: var(--color-gray-1);
		font-size: var(--size16);
		font-weight: 700;
		line-height: 1.4;
		text-align: center;
		padding: var(--size25) 0;
	}
	.sec-04-box-04-voice {
		background: var(--color-gray-1);
		border: 5px solid var(--color-white);
		border-radius: 20px;
		overflow: hidden;
		width: var(--size311);
		margin: 0 var(--size20);
	}
	.sec-04-box-04-voice-name-wrapper {
		background: var(--color-white);
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		padding: var(--size15);
	}
	.sec-04-box-04-voice-name-wrapper img {
		width: var(--size50);
	}
	.sec-04-box-04-voice-name-inner {
		margin-left: var(--size15);
	}
	.sec-04-box-04-voice-katagaki {
		color: var(--color-blue-5);
		font-size: var(--size12);
		font-weight: 700;
	}
	.sec-04-box-04-voice-name {
		color: var(--color-blue-3);
		font-size: var(--size18);
		font-weight: 700;
	}
	.sec-04-box-04-voice-text {
		padding: var(--size20) var(--size10);
	}
	.sec-04-box-04-voice-hl {
		font-size: var(--size18);
		font-weight: 700;
		margin-bottom: var(--size15);
		line-height: 1.6;
	}
}

/*sec-05*/
@media screen and (min-width: 768px) {
	.sec-05 {
		background-image: url('../img/bg_03.png');
	}
	.sec-05-img {
		margin: 50px 0 60px;
	}
}
@media screen and (max-width: 767px) {
	.sec-05 {
		background-image: url('../img/bg_03.png');
	}
	.sec-05-img {
		margin: var(--size30) 0 var(--size45);
	}
}

/*sec-06*/
@media screen and (min-width: 768px) {
	.sec-06 {
		background-image: url('../img/bg_01.png');
	}
	.sec-06 .hl-03-wrapper {
		margin-bottom: 40px;
	}
	.faq-inner {
		background: var(--color-white);
		border: 2px solid var(--color-blue-3);
		border-radius: 10px;
		padding: 2px;
	}
	.faq-inner + .faq-inner {
		margin-top: 20px;
	}
	.faq-inner dt,.faq-inner dd {
		padding: 30px 80px 30px 85px;
	}
	.faq-inner dt {
		background: url('../img/index_icon15.png') no-repeat left 10px top 50%;
		cursor: pointer;
		position: relative;
	}
	.faq-inner dt::before,
	.faq-inner dt::after {
		background: var(--color-black);
		content: '';
		display: block;
		transition: all .6s ease-out;
		width: 21px;
		height: 2px;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 30px;
	}
	.faq-inner dt::after {
		transform: rotate(90deg);
	}
	.faq-inner dt.open::before {
		transform: rotate(90deg);
		opacity: 0;
	}
	.faq-inner dt.open::after {
		transform: rotate(180deg);
	}
	.faq-inner dd {
		background: var(--color-gray-1) url('../img/index_icon16.png') no-repeat left 10px top 15px;
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.sec-06 {
		background-image: url('../img/bg_01.png');
	}
	.sec-06 .hl-03-wrapper {
		margin-bottom: var(--size25);
	}
	.sec-06 .hl-03-wrapper img {
		width: var(--size58);
	}
	.faq-inner {
		background: var(--color-white);
		border: 2px solid var(--color-blue-3);
		border-radius: 10px;
		padding: var(--size4);
	}
	.faq-inner + .faq-inner {
		margin-top: var(--size16);
	}
	.faq-inner dt,.faq-inner dd {
	}
	.faq-inner dt {
		background: url('../img/index_icon15.png') no-repeat left 10px top 50% / var(--size37) var(--size32);
		cursor: pointer;
		font-size: var(--size14);
		position: relative;
		padding: var(--size15) var(--size50);
	}
	.faq-inner dt::before,
	.faq-inner dt::after {
		background: var(--color-black);
		content: '';
		display: block;
		transition: all .6s ease-out;
		width: var(--size20);
		height: var(--size2);
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: var(--size15);
	}
	.faq-inner dt::after {
		transform: rotate(90deg);
	}
	.faq-inner dt.open::before {
		transform: rotate(90deg);
		opacity: 0;
	}
	.faq-inner dt.open::after {
		transform: rotate(180deg);
	}
	.faq-inner dd {
		background: var(--color-gray-1) url('../img/index_icon16.png') no-repeat left 10px top var(--size15)/ var(--size37) var(--size32);
		display: none;
		padding: var(--size15) var(--size15) var(--size15) var(--size50);
	}

}

/*sec-07*/
@media screen and (min-width: 768px) {
	.sec-07 {
		background: var(--color-blue-6);
	}
	.sec-07-hl {
		background: var(--color-green-2);
		color: var(--color-white);
		font-size: 28px;
		font-weight: 700;
		text-align: center;
		padding: 55px 0;
		position: relative;
		z-index: 2;
	}
	.sec-07-box {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 30px 60px 45px;
	}
	.sec-07-box-text {
		width: 605px;
	}
	.sec-07-box-hl {
		font-size: 18px;
		font-weight: 700;
		margin-bottom: 20px;
	}
	.sec-07-box-img {
		width: 202px;
	}
}
@media screen and (max-width: 767px) {
	.sec-07 {
		background: var(--color-blue-6);
	}
	.sec-07-hl {
		background: var(--color-green-2);
		color: var(--color-white);
		font-size: var(--size22);
		font-weight: 700;
		text-align: center;
		padding: var(--size35) 0;
		position: relative;
		z-index: 2;
	}
	.sec-07-box {
		padding: var(--size40) 0 var(--size60);
	}
	.sec-07-box-text {
	}
	.sec-07-box-hl {
		font-size: var(--size18);
		font-weight: 700;
		text-align: center;
		margin-bottom: 20px;
	}
	.sec-07-box-img {
		text-align: center;
	}
	.sec-07-box-img img {
		width: var(--size284);
	}
}

/*sec-08*/
@media screen and (min-width: 768px) {
	.sec-08 {
		background: var(--color-blue-1) url('../img/bg_02.png') no-repeat center top 150px;
		padding: 110px 0 130px;
		position: relative;
	}
	.sec-08::after {
		content: '';
		display: block;
		width: 169px;
		height: 32px;
		position: absolute;
		bottom: -32px;
		right: 0;
		z-index: 1;
	}
	.sec-08::after {
		background: url('../img/bg_08.png') no-repeat;
	}

	.sec-08 .sec-04-box-01 {
		overflow: hidden;
	}
	.sec-04-box-01-text-img {
		margin-bottom: 25px;
	}
}
@media screen and (max-width: 767px) {
	.sec-08 {
		background: var(--color-blue-1) url('../img/bg_02.png') no-repeat center top 150px;
		padding: var(--size45) 0 var(--size65);
		position: relative;
	}
	.sec-08::after {
		content: '';
		display: block;
		width: var(--size120);
		height: var(--size16);
		position: absolute;
		bottom: calc( var(--size16) * -1 );
		right: 0;
		z-index: 1;
	}
	.sec-08::after {
		background: url('../img/bg_08_sp.png') no-repeat 0 0 / var(--size120);
	}
	.sec-08 .sec-04-box-01 {
		overflow: hidden;
	}
	.sec-04-box-01-text-img {
		margin: 0 var(--size15) var(--size25);

	}
}

/*.sec-09*/
@media screen and (min-width: 768px) {
	.sec-09::after {
		content: none;
	}
	.sec-09-text {
		text-align: center;
		margin-bottom: 60px;
	}
	.sec-09-inner {
		background: var(--color-white);
		border: 2px solid var(--color-blue-3);
		border-radius: 10px;
		padding: 6px;
	}
	.sec-09 .t-super {
		font-size: 12px;
	}
	.sec-09-inner + .sec-09-inner {
		margin-top: 15px;
	}
	.sec-09-inner dt {
		color: var(--color-blue-3);
		cursor: pointer;
		display: flex;
		align-items: center;
		font-size: 24px;
		font-weight: 700;
		padding: 15px 25px 25px;
		position: relative;
	}
	.sec-09-inner dt span {
		background: var(--color-blue-3);
		border-radius: 5px;
		color: var(--color-white);
		font-size: 20px;
		font-weight: 700;
		margin-right: 20px;
		padding: 2px 25px;
	}
	.sec-09-inner dt::before,
	.sec-09-inner dt::after {
		background: var(--color-black);
		content: '';
		display: block;
		transition: all .6s ease-out;
		width: 21px;
		height: 2px;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 30px;
	}
	.sec-09-inner dt::after {
		transform: rotate(90deg);
	}
	.sec-09-inner dt.open::before {
		transform: rotate(90deg);
		opacity: 0;
	}
	.sec-09-inner dt.open::after {
		transform: rotate(180deg);
	}
	.sec-09-inner dd {
		background: var(--color-gray-1);
		border-radius: 0 0 5px 5px;
		display: none;
		padding: 25px 20px;
	}
	.sec-09-dd-inner {
		background: var(--color-white);
		border: 5px solid var(--color-white);
		border-radius: 15px;
		margin-top: 30px;
		padding: 25px;
	}
	.sec-09-dd-inner-02 {
		background: var(--color-white);
		border: 5px solid var(--color-white);
		border-radius: 15px;
		margin-top: 30px;
	}
	.sec-09-dd-hl {
		color: var(--color-blue-3);
		font-size: 22px;
		font-weight: 700;
		text-align: center;
	}
	.sec-09-dd-img {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		text-align: center;
		width: 100%;
	}
	.sec-09-dd-img p {
		line-height: 1.4;
		margin-top: 15px;
	}
	.sec-09-inner:nth-of-type(4) .sec-09-dd-inner img {
		width: 33%;
	}
	.sec-09-dd-check {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.sec-09-dd-check-hl {
		color: var(--color-blue-3);
		font-size: 22px;
		font-weight: 700;
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 50px 0 50px 60px;
		position: relative;
	}
	.sec-09-dd-check-hl::after {
		background: url('../img/index_icon_18.png') no-repeat;
		content: '';
		display: block;
		width: 96px;
		height: 37px;
		position: absolute;
		top: -18px;
		left: 12px;
	}
	.sec-09-dd-check-hl img {
		margin-right: 25px;
	}
	.sec-09-dd-check-text {
		background: var(--color-gray-1);
		border-radius: 0 15px 15px 0;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 490px;
	}
	.sec-09-dd-flow {
		display: flex;
		flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 25px 0 35px;
	}
	.sec-09-dd-flow li {
		background: var(--color-white);
		border: 3px solid var(--color-white);
		border-radius: 15px;
		position: relative;
	}
	.sec-09-dd-flow li:not(:last-child)::after {
		background: url('../img/index_icon18.svg') no-repeat;
		content: '';
		display: block;
		width: 13px;
		height: 29px;
		margin: auto;
		position: absolute;
		top: 0;
		right: -28px;
		bottom: 0;
	}
	.sec-09-dd-flow-text {
		color: var(--color-blue-3);
		font-size: 15px;
		font-weight: 700;
		line-height: 1.4;
		text-align: center;
		margin: 10px 0;
	}
	.sec-09 .link-btn-03-wrapper {
		margin: 30px 0;
	}
}
@media screen and (max-width: 767px) {
	.sec-09::after {
		content: none;
	}
	.sec-09-text {
		text-align: center;
		margin-bottom: 60px;
	}
	.sec-09-inner {
		background: var(--color-white);
		border: 2px solid var(--color-blue-3);
		border-radius: 10px;
		padding: var(--size2);
	}
	.sec-09 .t-super {
		font-size: var(--size10);
	}
	.sec-09-inner + .sec-09-inner {
		margin-top: var(--size15);
	}
	.sec-09-inner dt {
		color: var(--color-blue-3);
		cursor: pointer;
		display: flex;
		align-items: center;
		font-size: var(--size16);
		font-weight: 700;
		padding: var(--size11) var(--size40) var(--size15) var(--size15);
		position: relative;
	}
	.sec-09-inner dt span {
		background: var(--color-blue-3);
		border-radius: 5px;
		color: var(--color-white);
		font-size: var(--size14);
		font-weight: 700;
		margin-right: var(--size10);
		padding: var(--size4) var(--size6) var(--size2);
	}
	.sec-09-inner dt::before,
	.sec-09-inner dt::after {
		background: var(--color-black);
		content: '';
		display: block;
		transition: all .6s ease-out;
		width: var(--size20);
		height: var(--size2);
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: var(--size15);
	}
	.sec-09-inner dt::after {
		transform: rotate(90deg);
	}
	.sec-09-inner dt.open::before {
		transform: rotate(90deg);
		opacity: 0;
	}
	.sec-09-inner dt.open::after {
		transform: rotate(180deg);
	}
	.sec-09-inner dd {
		background: var(--color-gray-1);
		border-radius: 0 0 5px 5px;
		display: none;
		padding: var(--size16) var(--size12);
	}
	.sec-09-dd-inner {
		background: var(--color-white);
		border: 5px solid var(--color-white);
		border-radius: 15px;
		margin-top: var(--size15);
		padding: var(--size17);
	}
	.sec-09-dd-inner-02 {
		background: var(--color-white);
		border: 5px solid var(--color-white);
		border-radius: 15px;
		margin-top: 30px;
	}
	.sec-09-dd-hl {
		color: var(--color-blue-3);
		font-size: var(--size16);
		font-weight: 700;
		text-align: center;
		margin-bottom: var(--size10);
	}
	.sec-09-dd-img {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		text-align: center;
		width: 100%;
		padding: 0 var(--size13);
	}
	.sec-09-dd-img-box + .sec-09-dd-img-box {
		margin-top: var(--size10);
	}
	.sec-09-dd-img p {
		font-weight: 700;
		line-height: 1.4;
		margin: var(--size15) 0;
	}
	.sec-09-dd-check-hl {
		color: var(--color-blue-3);
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		justify-content: center;
		font-size: var(--size18);
		font-weight: 700;
		padding: var(--size30) var(--size16) var(--size25);
		position: relative;
	}
	.sec-09-dd-check-hl::after {
		background: url('../img/index_icon_18.png') no-repeat;
		content: '';
		display: block;
		width: var(--size96);
		height: var(--size37);
		margin: auto;
		position: absolute;
		top: calc(var(--size18) * -1);
		right: 0;
		left: 0;
	}
	.sec-09-dd-check-hl img {
		width: var(--size60);
		margin-right: var(--size15);
	}
	.sec-09-dd-check-text {
		background: var(--color-gray-1);
		border-radius: 0 0 15px 15px;
		padding: var(--size15);
	}
	.sec-09-dd-flow {
		margin: var(--size25) 0 var(--size35);
	}
	.sec-09-dd-flow li {
		background: var(--color-white);
		border: 3px solid var(--color-white);
		border-radius: 15px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		position: relative;
	}
	.sec-09-dd-flow li + li {
		margin-top: var(--size40);
	}
	.sec-09-dd-flow li:not(:last-child)::after {
		background: url('../img/index_icon18_sp.svg') no-repeat;
		content: '';
		width: var(--size36);
		height: var(--size18);
		margin: auto;
		position: absolute;
		right: 0;
		left: 0;
		bottom: calc(var(--size35) * -1);
	}
	.sec-09-dd-flow picture {
		width: 50%;
	}
	.sec-09-dd-flow-text {
		color: var(--color-blue-3);
		font-weight: 700;
		line-height: 1.4;
		width: 50%;
		margin: var(--size10) 0;
		padding-left: var(--size16);
	}
	.sec-09-dd-inner {
		border-width: var(--size10);
		padding: 0;
	}
	.sec-09-dd-inner picture {
		display: block;
	}
	.sec-09-dd-inner picture:nth-of-type(2) {
		margin: var(--size2) 0;
	}
	.sec-09 .link-btn-03-wrapper {
		margin: var(--size30) 0;
	}

}

/*footer*/
@media screen and (min-width: 768px) {
	.copylight {
		background: var(--color-blue-3);
		text-align: center;
		padding: 10px 0 14px;
	}
	.copylight small {
		color: var(--color-white);
		font-size: 10px;
	}
	.footer-link {
		background: var(--color-cream);
		text-align: center;
		line-height: 1;
		transition: all .2s ease-out;
		width: 100%;
		padding: 15px 0;
		position: fixed;
		bottom: 0;
		right: 0;
		bottom: 0;
		z-index: 20;
	}
	.footer-link a {
		background: var(--color-green);
		border-radius: 10px;
		color: var(--color-white);
		display: inline-block;
		font-size: 20px;
		font-weight: 700;
		text-align: center;
		width: 515px;
		margin-top: 10px;
		padding: 20px;
		position: relative;
	}
	.footer-link a::after {
		border-top: 3px solid var(--color-white);
		border-right: 3px solid var(--color-white);
		content: '';
		display: block;
		transform: rotate(45deg);
		width: 12px;
		height: 12px;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 20px;
	}
	.footer-link a:hover {
		background: var(--color-green-hover);
	}
}
@media screen and (max-width: 767px) {
	.copylight {
		background: var(--color-blue-3);
		text-align: center;
		padding: var(--size15) 0;
	}
	.copylight small {
		color: var(--color-white);
		font-size: var(--size10);
	}
	.footer-link {
		background: var(--color-cream);
		text-align: center;
		line-height: 1;
		transition: all .2s ease-out;
		width: 100%;
		padding: var(--size15) 0;
		position: fixed;
		bottom: 0;
		right: 0;
		bottom: 0;
		z-index: 20;
	}
	.footer .fv-link-text {
		font-size: var(--size18);
	}
	.footer-link a {
		background: var(--color-green);
		border-radius: 10px;
		color: var(--color-white);
		display: block;
		font-weight: 700;
		text-align: center;
		margin: 0 var(--size20);
		padding: var(--size20);
		position: relative;
	}
	.footer-link a::after {
		border-top: 3px solid var(--color-white);
		border-right: 3px solid var(--color-white);
		content: '';
		display: block;
		transform: rotate(45deg);
		width: 12px;
		height: 12px;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 20px;
	}
	.footer-link a:hover {
		background: var(--color-green-hover);
	}

}

/* テーブル変更 2023/8/14追加 */
.modal-table--4columns tbody tr {
	display: flex;
		flex-wrap: wrap;
}
.modal-table--4columns tbody th,
.modal-table--4columns tbody td
{
	display: block;
	width: 50%;
}
.modal-table--4columns tbody th {
	background-color: #f5f5f5;
}
.modal-table--4columns tbody td {
	background-color: #fff;
}
.modal-table--4columns thead th {
	width: 100%;
}
.modal-table--4columns tbody .modal-table__spnone {
	display: none;
}
.modal-hl-wrapper--narrow {
	padding: 0 0 10px;
}
.modal-hl-wrapper--narrow--2nd {
	padding-bottom: 10px;
}

@media screen and (min-width: 768px) {
	.modal-table--4columns tbody th,
	.modal-table--4columns tbody td
	{
		display: table-cell;
		width: calc(100% / 4);
	}
	.modal-table--4columns tbody .modal-table__spnone {
		display: table-cell;
	}
}