@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/*!
 * ress.css • v5.0.2
 * MIT License
 * github.com/filipelinhares/ress
 */
html{-webkit-text-size-adjust:100%;box-sizing:border-box;-moz-tab-size:4;tab-size:4;word-break:normal}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}:after,:before{text-decoration:inherit;vertical-align:inherit}*{margin:0;padding:0}hr{color:inherit;height:0;overflow:visible}details,main{display:block}summary{display:list-item}small{font-size:80%}[hidden]{display:none}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}a{background-color:transparent}a:active,a:hover{outline-width:0}code,kbd,pre,samp{font-family:monospace,monospace}pre{font-size:1em}b,strong{font-weight:bolder}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-color:inherit;text-indent:0}iframe{border-style:none}input{border-radius:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto;resize:vertical}button,input,optgroup,select,textarea{font:inherit}optgroup{font-weight:700}button{overflow:visible}button,select{text-transform:none}[role=button],[type=button],[type=reset],[type=submit],button{cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button:-moz-focusring{outline:1px dotted ButtonText}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}button,input,select,textarea{background-color:transparent;border-style:none}a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}select{-moz-appearance:none;-webkit-appearance:none}select::-ms-expand{display:none}select::-ms-value{color:currentColor}legend{border:0;color:inherit;display:table;max-width:100%;white-space:normal}::-webkit-file-upload-button{-webkit-appearance:button;color:inherit;font:inherit}[disabled]{cursor:default}img{border-style:none}progress{vertical-align:baseline}[aria-busy=true]{cursor:progress}[aria-controls]{cursor:pointer}[aria-disabled=true]{cursor:default}


html { overflow: auto; font-size: 62.5%; }
body { background: #ffffff; color: #000000; font-weight: 400; font-size: 100%; line-height: 1.4; font-family: "Noto Sans JP", serif; }
img {max-width: 100%; height: auto; vertical-align: bottom; }
a {opacity: 1; color: #000000; transition: all .3s ease; text-decoration: none; }
a:hover { opacity: .5; }

@media (min-width: 768px) {
	.spOnly { display: none !important; }
	#page-top { position: fixed; right: 20px; bottom: 20px; z-index: 100; padding-bottom: 20px; }
	#page-top a { display: block; width: 92px; height: 92px; background: url("/assets/image/icon_gototop.png") no-repeat 50% 0 / 92px auto; text-indent: -9999px; }
}
@media screen and (max-width: 767px) {
	.pcOnly { display: none !important; }
	#page-top { position: fixed; right: 3vw; bottom: 3vw; z-index: 100; }
	#page-top a { display: block; width: 14vw; height: 14vw; background: url("/assets/image/icon_gototop.png") no-repeat 50% 0 / 14vw auto; text-indent: -9999px; }
	.scroll-prevent { overflow: hidden; }
}


/* Definition */
:root {
	--base-color01: #1551cb;
	--base-color02: #eff4fa;
	--base-color03: #fed411;
	--facility-color01: #f27052;
	--facility-color02: #fdefe7;
	--operational-color01: #16b9ed;
	--operational-color02: #ebf7fd;
	--result-color01: #645faa;
	--result-color02: #eae9f4;
	--other-color01: #00b6ad;
	--other-color02: #eaf6f5;
	--option-color01: #f99d1d;
	--option-color02: #f8edde;
	--shadow: 2px 3px 7px 1px rgba(7, 0, 2, 0.2);
	--sp-header-height: 15vw;
}


/*
Header
---------------------------------------------*/
@media (min-width: 768px) {
	header {
		position: relative;
		padding-top: 150px; 
		font-size: 1.6rem;
		font-weight: 500;
		min-width: 1200px;
	}
	header h1 {
		position: absolute;
		top: 30px;
		left: calc(50% - 600px);
		width: 490px;
		margin-bottom: 25px;
	}
	header .cmnNav {
		display: flex;
		padding: 0 calc(50% - 600px); 
		background: var(--base-color01);
	}
	header .cmnNav > li {
		position: relative;
		flex-grow: 1; 
		width: 300px;
		text-align: center;
		border-left: 1px solid #fff;
	}
	header .cmnNav > li > a {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 70px;
		color: #fff;
	}
	header .cmnNav > li > a.glossaryBtn {
		height: 35px;
		margin: 17px 0 0 90px; 
		border: 1px solid #fff;
	}
	header .sub span {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 70px;
		padding-right: 20px; 
		color: #fff;
	}
	header .sub span::after {
		position: absolute;
		top: 0;
		right: 20px;
		bottom: 0;
		width: 15px;
		height: 13px;
		margin: auto;
		content: "";
		background: #fff;

		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	header .sub div {
		position: absolute;
		top: 70px;
		left: 0;
		visibility: hidden;
		display: none;
		width: 340px;
		padding: 20px 30px 25px;
		text-align: left;
		background: #1652cb;
		box-shadow: inset 0 23px 18px 0 rgba(11, 24, 97, .2);
		z-index: 10;
	}
	header .sub:hover div {
		visibility: visible;
		display: block;
	}
	header .sub li {
		padding: 1em 0; 
		font-size: 1.6rem;
		border-bottom: 1px solid #fff;
	}
	header .sub a {
		position: relative;
		display: block;
		padding-left: 28px; 
		color: #fff;
	}
	header .sub a:before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 18px;
		height: 18px;
		margin: auto; 
		content: "";
		background: url("/assets/image/icon_arrow_y.svg") no-repeat 0 0 / 18px auto;
	}
	header .subNav {
		position: absolute;
		top: 50px;
		right: calc(50% - 600px);
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 340px;
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 767px) {
	header {
		position: relative;
		height: var(--sp-header-height);
	}
	header h1 {
		position: absolute;
		z-index: 11; 
		top: 2vw;
		left: 2vw;
	}
	header h1 img {
		width: auto;
		height: 11vw;
	}
	header #gnav {
		position: relative;
		z-index: 10;
		width: 100vw;
	}
	header #panel-btn {
		position: absolute;
		z-index: 1100;
		top: 2vw;
		right: 2vw;
		display: block;
		width: 11vw;
		height: 11vw;
		margin-right: 2vw;
		cursor: pointer; 
		text-indent: -9999px;
		background: var(--base-color01);
	}
	header #panel-btn-icon {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
		width: 7vw;
		height: .3vw;
		margin: auto;
		transition: .2s; 
		background: #fff;
	}
	header #panel-btn-icon:before,
	header #panel-btn-icon:after {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		display: block;
		width: 7vw;
		height: .3vw;
		margin: auto;
		content: "";
		transition: .3s; 
		background: #fff;
	}
	header #panel-btn-icon:before {
		margin-top: -2vw;
	}
	header #panel-btn-icon:after {
		margin-top: 2vw;
	}
	header #panel-btn-icon.close {
		background: transparent;
	}
	header #panel-btn-icon.close:before,
	header #panel-btn-icon.close:after {
		margin-top: 0;
	}
	header #panel-btn-icon.close:before {
		transform: rotate(45deg);
	}
	header #panel-btn-icon.close:after {
		transform: rotate(-45deg);
	}
	header .gnav {
		position: relative;
		top: var(--sp-header-height);
		left: 0;
		display: none;
		width: 100%;
		height: calc(100vh - var(--sp-header-height));
		background: #fff;
	}
	header .cmnNav {
		background: var(--base-color01);
		font-weight: 500;
		font-size: 3.75vw;
	}
	header .cmnNav li {
		border-bottom: 0.2vw solid #fff;
		color: #fff;
	}
	header .cmnNav a {
		padding: 3vw 5vw;
		display: block;
		color: #fff;
	}
	header .sub span {
		padding: 3vw 5vw;
		display: block;
	}
	header .sub div {
		margin-left: 5vw;
	}
	header .sub div li {
		border-top: 0.2vw solid #fff;
		border-bottom: none;
	}
	header .subNav {
		font-size: 3.2vw;
		display: flex;
		justify-content: space-between;
		margin: 5vw;
	}
	header .subNav a {
		width: 42vw;
	}
}


/*
Footer
---------------------------------------------*/
@media (min-width: 768px) {
	footer {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0 calc(50% - 600px) 110px; 
		font-size: 1.4rem;
	}
	footer .logo {
		width: 330px;
		margin-bottom: 30px;
	}
	footer dl {
		width: 440px;
		border-top: 1px solid #000;
	}
	footer dt {
		float: left; 
		padding-top: 10px;
	}
	footer dd {
		padding: 10px 0 10px 120px; 
		border-bottom: 1px solid #000;
	}
	footer ul {
		display: flex;
		justify-content: space-between;
		width: 650px;
		margin-bottom: 20px;
	}
	footer p {
		width: 650px;
		margin-bottom: 20px;
	}
	footer p.copyright {
		text-align: right;
	}
	.actionBlock {
		margin-bottom: 50px;
		padding: 50px calc(50% - 600px) 60px; 
		font-size: 2.2rem;
		background: var(--base-color01);
	}
	.actionBlock dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.actionBlock dt {
		width: 100%;
		margin-bottom: 20px; 
		text-align: center;
		font-weight: 700;
		color: #fff;
	}
	.actionBlock dd {
		margin: 0 20px;
	}
	.actionBlock dd a {
		width: 470px;
	}
	.otherBlock {
		width: 1200px;
		margin: 0 auto 70px;
		padding: 40px 60px; 
		border-radius: 20px;
		background: var(--base-color02);
	}
	.otherBlock dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.otherBlock dt {
		width: 100%;
		margin-bottom: 20px; 
		text-align: center;
		font-size: 2.2rem;
		font-weight: 700;
	}
	.otherBlock dd a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 160px;
		height: 65px;
		text-align: center;
		font-size: 1.2rem;
		font-weight: 500;
		line-height: 1.3;
		color: #000;
		border: 2px solid var(--base-color01);
		border-radius: 10px;
		background: #fff;
		box-shadow: var(--shadow);
	}
}
@media screen and (max-width: 767px) {
	footer {
		margin: 10vw 5vw;
		font-size: 3.375vw;
	}
	footer .logo {
		margin-bottom: 5vw;
		width: 70%;
	}
	footer dl {
		width: 100%;
		border-top: .2vw solid #000;
	}
	footer dt {
		float: left;
		padding-top: 10px;
	}
	footer dd {
		padding: 2vw 0 2vw 15vw; 
		border-bottom: .2vw solid #000;
	}
	footer ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-bottom: 3vw;
	}
	footer ul > * {
		width: 50%;
		margin-top: 3vw; 
		text-align: center;
	}
	footer ul > *:last-child {
		width: 100%;
	}
	footer p {
		margin-top: 3vw;
	}
	footer p.copyright {
		text-align: center;
	}
	.actionBlock {
		margin-bottom: 5vw; 
		padding: 8vw 5vw;
		background: var(--base-color01);
	}
	.actionBlock dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	.actionBlock dt {
		width: 100%;
		margin-bottom: 2vw;
		text-align: center;
		font-weight: 700;
		color: #fff;
	}
	.actionBlock dd {
		margin: 2vw 0;
	}
	.actionBlock dd a {
		width: 70vw;
	}
	.otherBlock {
		margin: 0 5vw 7vw;
		padding: 5vw; 
		border-radius: 2vw;
		background: var(--base-color02);
	}
	.otherBlock dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.otherBlock dt {
		width: 100%;
		text-align: center;
		font-size: 4.125vw;
		font-weight: 700;
	}
	.otherBlock dd a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 38vw;
		height: 16vw;
		margin-top: 3vw; 
		padding: 2vw;
		text-align: center;
		font-size: 3vw;
		font-weight: 500;
		line-height: 1.2;
		color: #000;
		border: .4vw solid var(--base-color01);
		border-radius: 1vw;
		background: #fff;
		box-shadow: var(--shadow);
	}
}
.otherBlock dd .btn01 {
	border-color: #3caae9;
}
.otherBlock dd .btn02 {
	border-color: #466cf9;
}
.otherBlock dd .btn03 {
	border-color: #145eb1;
}
.otherBlock dd .btn04 {
	border-color: #5e2cb9;
}
.otherBlock dd .btn05 {
	border-color: #2c9ab9;
}
.otherBlock dd .btn06 {
	border-color: #117c2a;
}


/*
Main
---------------------------------------------*/
@media (min-width: 768px) {
	main {
		min-width: 1200px;
		font-size: 1.8rem;
		line-height: 1.8;
	}
}
@media screen and (max-width: 767px) {
	main {
		font-size: 3.375vw;
		line-height: 1.6;
	}
}


/*---------------
	Btn
---------------*/
.btn { position:relative; display:inline-block; line-height:1.4; text-decoration:none; text-align:center; }
.btn::before,
.btn::after { position:absolute; top:0; bottom:0; content:""; margin:auto; }
.btn.arrowR { padding-right:3em !important; }
.btn.arrowL { padding-left:3em !important; }
.btn.arrowR::after { width:1.2em; height:1.2em; right:1.2em; }
.btn.arrowL::after { width:1.2em; height:1.2em; left:1.2em; }
.btn.gradeBlue { color:#fff; background-image:-webkit-linear-gradient( 0deg, rgb(47,173,253) 0%, rgb(21,81,203) 100%); border-radius:9999px; padding:1em 1.8em; box-shadow:var(--shadow); }
.btn.gradeYellow { color:#000; background-image:-webkit-linear-gradient( 0deg, rgb(254,212,17) 0%, rgb(255,151,2) 100%); border-radius:9999px; padding:1em 1.8em; box-shadow:var(--shadow); }
.btn.gradeBlue.arrowR::after,
.btn.gradeYellow.arrowR::after { background:url("/assets/image/icon_arrow_w.svg") no-repeat 0 0 / 1.2em auto; }
.btn.gradeBlue.arrowL::after,
.btn.gradeYellow.arrowL::after { background:url("/assets/image/icon_arrow_w.svg") no-repeat 0 0 / 1.2em auto; transform:rotate(180deg); }
.btn.whiteBlue { color:var(--base-color01); background:#fff; border:2px solid var(--base-color01); border-radius:9999px; padding:0.9em 1.8em; box-shadow:var(--shadow); }
.btn.whiteBlue.arrowR::after { background:url("/assets/image/icon_arrow_b.svg") no-repeat 0 0 / 1.2em auto; }
.btn.whiteBlue.arrowL::after { background:url("/assets/image/icon_arrow_b.svg") no-repeat 0 0 / 1.2em auto; transform:rotate(180deg); }
.icon { position:relative; display:inline-block; text-decoration:none; }
.icon::before,
.icon::after { position:absolute; top:0; bottom:0; content:""; margin:auto; }
.icon.anchor { font-size:2rem; font-weight:700; color:#000; padding-left:1.5em; }
.icon.anchor::after { width:1em; height:1em; left:0; background:url("/assets/image/icon_arrow_b.svg") no-repeat 0 0 / 1em auto; transform:rotate(90deg); }

@media screen and (max-width: 767px) {
	.icon.anchor { font-size: 3.75vw; }
}

/*---------------
	Text
---------------*/
main p {margin: 1em 0; }
main hr {height: 1px; margin: 1em 0; border: none; border-top: 1px solid #dddddd; }
main a { color: #466cf9; text-decoration: underline; }
.komeTxt { padding-left: 1em; text-indent: -1em; }
.komeNumTxt { padding-left: 1.5em; text-indent: -1.5em; }
.kakkoTxt { padding-left: 2em; text-indent: -2em; }
.kakkoChuTxt { padding-left: 3em; text-indent: -3em; }/* （注） */
.taR { text-align: right !important; }
.taL { text-align: left !important; }
.taC { text-align: center !important; }
.fwN { font-weight: 400; }
.fwM { font-weight: 500; }
.fwB { font-weight: 700; }
.fcRed { color: #e50012; }
.fcBlue { color: var(--base-color01); }
.fcYellow { color: var(--base-color03); }
.marker { background:linear-gradient(transparent 70%, var(--base-color03) 70%); }
@media (min-width: 768px) {
	.exTxtBox { font-size: 1.4rem; line-height: 1.6; text-align: left; margin-top: 0.5em; }
	.exTxtBox >* { margin: 0; }
}
@media screen and (max-width: 767px) {
	.flL { float: left; margin-right: 1em; }
	.flR { float: right; margin-left: 1em; }
	.exTxtBox { font-size: 2.625vw; line-height: 1.6; text-align: left; margin-top: 0.5em; }
	.exTxtBox >* { margin: 0; }
}

/*---------------
	List
---------------*/
ul, ol { list-style: none; }
.discList { list-style: none; }
	.discList > li { position: relative; padding-left: 1em; }
	.discList > li:before { position: absolute; top: 0; left: 0; content: "・"; }
.decimalList { list-style: decimal !important; margin-left: 1.5em; }
.komeList { list-style: none; text-indent: 0; }
	.komeList > li { padding-left: 1em; text-indent: -1em; }
.komeNumList { list-style: none; text-indent: 0; }
	.komeNumList > li { padding-left: 2em; text-indent: -2em; }
.kanaList { list-style: none; text-indent: 0; }
	.kanaList > li { padding-left: 2em; text-indent: -2em; }
.kakkoList { list-style: none; text-indent: 0; }
	.kakkoList > li { padding-left: 2.5em; text-indent: -2.5em; }
.kakkoNumList { list-style: none; text-indent: 0; }
	.kakkoNumList > li { padding-left: 3.5em; text-indent: -3.5em; }

/*---------------
	Block
---------------*/
@media (min-width: 768px) {
	.flex { display: flex; flex-wrap: wrap; }
	.flex.space-between { justify-content: space-between; }
	.flex.justify-center { justify-content: center; }
	.flex.align-center { align-items: center; }
}
@media screen and (max-width: 767px) {
	.spflex { display: flex; flex-wrap: wrap; }
	.spflex.space-between { justify-content: space-between; }
}

/*---------------
	Table
---------------*/
table { width: 100%; border-collapse: collapse; }


/*---------------
	Form
---------------*/
form input[type="text"],
form input[type="tel"],
form input[type="email"],
form input[type="url"] { width: 335px; border: 1px solid #9fa0a0; background: #ffffff; padding: .2em .6em; }
form input[type="text"].w100{ width: 100%; }
form textarea { width: 100%; height: 10em; border: 1px solid #9fa0a0; background: #ffffff; padding: .2em .6em; }
form label { display: inline-block; margin-right: .6em; }
@media (min-width: 768px) {
	.btnBlock { text-align: center; margin-top: 40px; font-size: 2rem; }
	.btnBlock >* { margin: 0 10px; min-width: 420px; }
}
@media screen and (max-width: 767px) {
	form input[type="text"],
	form input[type="tel"],
	form input[type="email"],
	form input[type="url"] { width: 70vw; }
	.btnBlock { text-align: center; margin-top: 4vw; font-size: 3.75vw; }
	.btnBlock >* { margin: 1vw 0; min-width: 90vw; }
}

/*---------------
	Title
---------------*/
@media (min-width: 768px) {
	.title01 { width: 100%; height: 200px; display: flex; justify-content: center; align-items: center; font-size: 4rem; line-height: 1.4; text-align: center; background: var(--base-color02) url("/assets/image/title_bg.png") no-repeat 50% 0%; margin-bottom: 50px; }
	.title02 { position: relative; font-size: 2.4rem; color: var(--base-color01); text-align: center; margin-bottom: 50px; }
	.title02::after { width: 160px; height: 2px; position: absolute; right: 0; bottom: -15px; left: 0; content: ""; background: var(--base-color01); margin: auto; }
	.title03 { position: relative; font-size: 2.4rem; margin: 50px 0 20px; padding-left: 18px; }
	.title03::before { width: 8px; height: 25px; position: absolute; top: 0; bottom: 0; left: 0; content: ""; background: var(--base-color01); margin: auto; }
	.title04 { font-size: 2.2rem; border-bottom: 2px solid var(--base-color01); margin-bottom: 20px; padding-bottom: 5px; }
	.title05 { font-size: 2.4rem; line-height: 1.6; text-align: center; margin-bottom: 40px; }
	.title05 .fsL { font-size: 4rem; }
	.title06 { font-size: 2.2rem; font-weight: 500; margin-bottom: 20px; }
	.title07 { font-size: 2rem; font-weight: 700; margin-bottom: 30px; }
	.title08 { width: fit-content; min-width: 510px; position: relative; font-size: 2.2rem; font-weight: 500; color: #fff; text-align: center; background: var(--base-color01); border-radius: 9999px; margin: 0 auto 30px; padding: 10px 80px; }
}
@media screen and (max-width: 767px) {
	.title01 { width: 100%; height: 36vw; display: flex; justify-content: center; align-items: center; font-size: 7.5vw; line-height: 1.2; text-align: center; background: url("/assets/image/sp_title_bg.png") no-repeat 50% 50% / cover; margin-bottom: 5vw; text-shadow: 0.4vw 0.4vw 1vw rgba(255, 255, 255, 0.3), -0.4vw 0.4vw 1vw rgba(255, 255, 255, 0.3), 0.4vw -0.4vw 1vw rgba(255, 255, 255, 0.3), -0.4vw -0.4vw 1vw rgba(255, 255, 255, 0.3); }
	.title02 { position: relative; font-size: 4.875vw; color: var(--base-color01); text-align: center; margin-bottom: 6vw; }
	.title02::after { width: 14vw; height: 0.4vw; position: absolute; right: 0; bottom: -2vw; left: 0; content: ""; background: var(--base-color01); margin: auto; }
	.title03 { position: relative; font-size: 4.5vw; margin: 5vw 0 2vw; padding-left: 2vw; }
	.title03::before { width: 1vw; height: 4vw; position: absolute; top: 2vw; left: 0; content: ""; background: var(--base-color01); }
	.title04 { font-size: 4.125vw; border-bottom: 0.4vw solid var(--base-color01); margin-bottom: 2vw; padding-bottom: 2vw; }
	.title05 { font-size: 4.125vw; line-height: 1.6; text-align: center; margin-bottom: 4vw; }
	.title05 .fsL { font-size: 6vw; }
	.title06 { font-size: 4.125vw; font-weight: 500; margin-bottom: 2vw; }
	.title07 { font-size: 3.75vw; font-weight: 700; margin-bottom: 3vw; }
	.title08 { width: fit-content; min-width: 51vw; position: relative; font-size: 4.125vw; font-weight: 500; color: #fff; text-align: center; background: var(--base-color01); border-radius: 9999px; margin: 0 auto 2vw; padding: 1vw 8vw; }
}
.c-notify { position: relative; }
.c-notify::before,
.c-notify::after { position: absolute; content: ""; top: 0; bottom: 0; width: 0.12em; height: 1.5em; background: #333; margin: auto; }
.c-notify::before { left: -1em; transform: rotate(-15deg); }
.c-notify::after { right: -1em; transform: rotate(15deg); }


/*---------------
	Js
---------------*/
.is-head { cursor: pointer; }

/*---------------
	Parts
---------------*/
@media (min-width: 768px) {
	.grayBlock { width: 1200px; position: relative; background: #f9f9f9; border-radius: 20px; margin: 0 auto; padding: 60px 80px; }
	.grayBlock2 { width: 1200px; position: relative; background: #f9f9f9; border-radius: 20px; margin: 0 auto; padding: 60px 60px; }
	.grayBlock3 { width: 1200px; position: relative; background: #f9f9f9; border-radius: 20px; margin: 0 auto; padding: 60px 40px; }
	.grayBlock4 { width: 1200px; position: relative; background: #f9f9f9; border-radius: 20px; margin: 0 auto; padding: 60px 0; }
	.whiteBlock { position: relative; background: #fff; border-radius: 20px; padding: 30px; }
	.blueRound { position: relative; text-align: center; background: #fff; border: 3px solid var(--base-color01); border-radius: 20px; margin-top: 40px; padding: 0 25px 30px; }
	.blueRound--title { width: fit-content; font-size: 2rem; font-weight: 400; color: #fff; line-height: 1.6; background: var(--base-color01); border-radius: 25px; margin: -26px auto 20px; padding: 8px 40px; }
	.blueRound--cont p { text-align: left; }
}
@media screen and (max-width: 767px) {
	.grayBlock,
	.grayBlock2,
	.grayBlock3,
	.grayBlock4 { position: relative; background: #f9f9f9; border-radius: 2vw; padding: 5vw; }
	.whiteBlock { position: relative; background: #fff; border-radius: 2vw; padding: 3vw; }
	.blueRound { position: relative; text-align: center; background: #fff; border: 0.6vw solid var(--base-color01); border-radius: 2vw; margin-top: 4vw; padding: 0 3vw 3vw; }
	.blueRound--title { width: fit-content; font-size: 3.75vw; font-weight: 400; color: #fff; background: var(--base-color01); border-radius: 9999px; margin: -3vw auto 2vw; padding: 1vw 5vw; }
	.blueRound--cont p { text-align: left; }
}
.grayBlock >*:first-child,
.grayBlock2 >*:first-child,
.grayBlock3 >*:first-child,
.grayBlock4 >*:first-child,
.whiteBlock >*:first-child,
.blueRound--cont >*:first-child { margin-top: 0 !important; }
.grayBlock >*:last-child,
.grayBlock2 >*:last-child,
.grayBlock3 >*:last-child,
.grayBlock4 >*:last-child,
.whiteBlock >*:last-child,
.blueRound--cont >*:last-child { margin-bottom: 0 !important; }
.youtube { width: 100%; aspect-ratio: 16 / 9; }
.youtube iframe { width: 100%; height: 100%; }


/*
Common
---------------------------------------------*/
@media (min-width: 768px) {
	.setBlock { width: 1200px; margin: 80px auto 70px; }
}
@media screen and (max-width: 767px) {
	.setBlock { margin: 8vw 5vw 7vw; }
}


/*
Top
---------------------------------------------*/
@media (min-width: 768px) {
	.topBlock00 {
		height: 475px;
		margin-bottom: 70px;
		padding: 50px calc(50% - 600px); 
		background: url("/assets/image/top_bg01.png") no-repeat 50% 0 / auto 100%, var(--base-color02) url("/assets/image/top_bg02.png") no-repeat 50% 0 / auto 100%;
	}
	.topBlock00 .txt01 {
		width: fit-content;
		padding: 10px 20px; 
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.4;
		border-radius: 9999px;
		background: var(--base-color03);
	}
	.topBlock00 h1 {
		margin: 20px 0; 
		font-size: 5rem;
		font-weight: 900;
		line-height: 1.2;
	}
	.topBlock00 .txt02 {
		margin: 20px 0; 
		font-size: 2.2rem;
		font-weight: 700;
	}
	.topBlock00 p {
		margin: .5em 0; 
		font-size: 1.4rem;
	}
	.topBlock00 ul {
		display: flex;
		flex-wrap: wrap;
		width: 650px;
		font-weight: 700;
	}
	.topBlock00 ul li {
		margin: 0 20px 20px 0;
		padding: 10px 20px; 
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.4;
		color: #fff;
		border-radius: 10px;
		background: var(--base-color01);
	}
	.topBlock00 .fsL {
		font-size: 2.4rem;
	}
	.topBlock01 {
		width: 1200px;
		margin: 0 auto 70px;
	}
	.topBlock01 .flex .blueRound {
		width: calc(50% - 20px);
	}
	.topBlock01 .arrow {
		position: relative;
		margin: 80px 0 60px; 
		text-align: center;
		font-size: 3rem;
		font-weight: 700;
	}
	.topBlock01 .arrow::after {
		position: absolute;
		top: -40px;
		right: 0;
		left: 0;
		width: 55px;
		height: 25px;
		margin: auto;
		content: "";
		background: var(--base-color01);

		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.topBlock01 .ifBox {
		padding: 15px 20px 20px; 
		border-radius: 20px;
		background: var(--base-color01);
	}
	.topBlock01 .ifBox--title {
		position: relative;
		margin-bottom: 10px; 
		text-align: center;
		font-size: 2.8rem;
		font-weight: 700;
		color: #fff;
	}
	.topBlock01 .ifBox--title::before {
		position: absolute;
		top: -40px;
		width: 75px;
		height: 94px;
		margin-left: -100px; 
		content: "";
		background: url("/assets/image/top_img03.png") no-repeat 0 0 / 75px auto;
	}
	.topBlock01 .ifBox--cont {
		padding: 20px 40px; 
		font-size: 2.4rem;
		border-radius: 20px;
		background: #fff;
	}
	.topBlock01 .ifBox--cont p {
		margin: 0;
	}
	.topBlock01 .imgTxt {
		position: relative;
		margin-top: 60px !important;
		padding: 0 60px 0 280px; 
		font-size: 2rem;
	}
	.topBlock01 .imgTxt::before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 280px;
		height: 150px;
		margin: auto; 
		content: "";
	}
	.topBlock01 .imgTxt.img01::before {
		background: url("/assets/image/top_img02.png") no-repeat 50% 50% / 280px auto;
	}
	.topBlock01 .imgTxt.img02::before {
		background: url("/assets/image/top_img04.png") no-repeat 50% 50% / 280px auto;
	}
	.topBlock01 .imgTxt.img03::before {
		background: url("/assets/image/top_img05.png") no-repeat 50% 50% / 280px auto;
	}
	.topBlock02 {
		padding: 60px calc(50% - 600px) 100px; 
		background: #f9f9f9 url("/assets/image/top_bg03.png") no-repeat 50% 0 / 2500px auto;
	}
	.topBlock02 .specialBox {
		overflow: hidden;
		width: calc(50% - 20px);
		margin-bottom: 60px; 
		border: 3px solid #ddd;
		border-radius: 20px;
		background: #fff;
	}
	.topBlock02 .specialBox--title {
		padding: 20px; 
		text-align: center;
		font-size: 3.2rem;
		line-height: 1.4;
		color: #fff;
	}
	.topBlock02 .specialBox--border01 {
		display: block;
		margin-bottom: 5px;
		padding: 10px; 
		font-size: 2rem;
		font-weight: 700;
		border-radius: 9999px;
		background: #fff;
	}
	.topBlock02 .specialBox--cont {
		padding: 10px 30px 30px;
	}
	.topBlock02 .specialBox--txt01 {
		font-size: 2.2rem;
		font-weight: 500;
	}
	.topBlock02 .specialBox--border02 {
		width: fit-content;
		margin-bottom: 10px;
		padding: 0 10px; 
		border: 1px solid #000;
	}
	.topBlock02 .specialBox--img {
		margin-top: 10px; 
		text-align: center;
	}
	.topBlock02 .accident {
		border-color: #50a1d9;
	}
	.topBlock02 .accident .specialBox--title {
		background: #50a1d9;
	}
	.topBlock02 .accident .specialBox--border01 {
		color: #50a1d9;
	}
	.topBlock02 .harassment {
		border-color: #4ac765;
	}
	.topBlock02 .harassment .specialBox--title {
		background: #4ac765;
	}
	.topBlock02 .harassment .specialBox--border01 {
		color: #4ac765;
	}
	.topBlock02 .businesJBox {
		margin-top: 90px;
		padding: 60px 80px; 
		border-radius: 20px;
		background: #fff;
	}
	.topBlock02 .businesJBox--title {
		position: relative;
		z-index: 1;
		text-align: center; 
		font-size: 2.4rem;
	}
	.topBlock02 .businesJBox--border {
		display: inline-block;
		margin-top: 5px;
		padding: 5px 45px; 
		font-size: 3.6rem;
		line-height: 1.4;
		color: var(--base-color01);
		border: 3px solid var(--base-color01);
		border-radius: 10px;
		background: #fff;
	}
	.topBlock02 .businesJBox--service {
		position: relative;
		display: flex;
		justify-content: center;
		margin: -30px -80px 40px;
		padding: 55px 0 45px; 
		background: var(--base-color01);
	}
	.topBlock02 .businesJBox--btn {
		width: 330px;
		margin: 0 20px;
		padding: 15px;
		text-align: center;
		font-size: 2.6rem;
		font-weight: 700;
		border-radius: 9999px;
		background: #fff;
		box-shadow: #002165 3px 3px 0 3px, #ffd200 -3px -3px 0 3px;
	}
	.topBlock02 .targetBox {
		margin: 20px 0;
		padding: 30px 40px; 
		background: var(--base-color02);
	}
	.topBlock02 .targetBox--list {
		margin: 0 15px 20px;
		padding: 10px 30px; 
		font-size: 2rem;
		font-weight: 500;
		border-radius: 9999px;
		background: #fff;
	}
}
@media screen and (max-width: 767px) {
	.topBlock00 {
		min-height: 114vw;
		margin-bottom: 7vw;
		padding: 5vw; 
		background: #eff4fa url("/assets/image/sp_top_bg01.png") no-repeat 0 0 / 100vw auto;
	}
	.topBlock00 .txt01 {
		padding: 1vw 2vw; 
		font-size: 4.375vw;
		font-weight: 700;
		line-height: 1.4;
		border-radius: 9999px;
		text-align: center;
		background: var(--base-color03);
	}
	.topBlock00 h1 {
		margin: 4vw 0; 
		font-size: 10.5vw;
		font-weight: 900;
		line-height: 1.4;
	}
	.topBlock00 .txt02 {
		margin: 2vw 0; 
		font-size: 3.2vw;
		font-weight: 700;
	}
	.topBlock00 p {
		margin: .5em 0; 
		font-size: 3.2vw;
	}
	.topBlock00 ul {
		text-align: center;
		font-weight: 700;
	}
	.topBlock00 ul li {
		margin: 0 0 2vw;
		padding: 1vw 2vw; 
		text-align: center;
		font-size: 3vw;
		line-height: 1.4;
		color: #fff;
		border-radius: 1vw;
		background: var(--base-color01);
		display: inline-block;
	}
	.topBlock00 .fsL {
		font-size: 4.5vw;
	}
	.topBlock01 {
		margin: 0 5vw 7vw;
	}
	.topBlock01 .arrow {
		position: relative;
		margin: 8vw 0 6vw; 
		text-align: center;
		font-size: 4.5vw;
		font-weight: 700;
	}
	.topBlock01 .arrow::after {
		position: absolute;
		top: -5vw;
		right: 0;
		left: 0;
		width: 10vw;
		height: 3vw;
		margin: auto;
		content: "";
		background: var(--base-color01);

		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.topBlock01 .ifBox {
		padding: 15px 2vw 2vw; 
		border-radius: 2vw;
		background: var(--base-color01);
	}
	.topBlock01 .ifBox--title {
		position: relative;
		margin-bottom: 1vw; 
		text-align: center;
		font-size: 4.875vw;
		font-weight: 700;
		color: #fff;
	}
	.topBlock01 .ifBox--title::before {
		position: absolute;
		top: -4vw;
		width: 10vw;
		height: 15vw;
		margin-left: -10vw; 
		content: "";
		background: url("/assets/image/top_img03.png") no-repeat 0 0 / 10vw auto;
	}
	.topBlock01 .ifBox--cont {
		padding: 2vw 4vw; 
		font-size: 4.125vw;
		border-radius: 2vw;
		background: #fff;
	}
	.topBlock01 .ifBox--cont p {
		margin: 0;
	}
	.topBlock01 .imgTxt {
		position: relative;
		margin-top: 4vw !important;
		padding: 0 0 0 28vw; 
		font-size: 3.75vw;
	}
	.topBlock01 .imgTxt::before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		width: 28vw;
		height: 15vw;
		margin: auto; 
		content: "";
	}
	.topBlock01 .imgTxt.img01::before {
		background: url("/assets/image/top_img02.png") no-repeat 50% 50% / 28vw auto;
	}
	.topBlock01 .imgTxt.img02::before {
		background: url("/assets/image/top_img04.png") no-repeat 50% 50% / 28vw auto;
	}
	.topBlock01 .imgTxt.img03::before {
		background: url("/assets/image/top_img05.png") no-repeat 50% 50% / 28vw auto;
	}
	.topBlock02 {
		padding: 6vw 5vw 10vw; 
		background: #f9f9f9 url("/assets/image/top_bg03.png") no-repeat 50% 0 / 100% auto;
	}
	.topBlock02 .specialBox {
		overflow: hidden;
		margin-bottom: 4vw; 
		border: 0.6px solid #ddd;
		border-radius: 2vw;
		background: #fff;
	}
	.topBlock02 .specialBox--title {
		padding: 2vw; 
		text-align: center;
		font-size: 6vw;
		line-height: 1.4;
		color: #fff;
	}
	.topBlock02 .specialBox--border01 {
		display: block;
		margin-bottom: 5px;
		padding: 1vw; 
		font-size: 3.75vw;
		font-weight: 700;
		border-radius: 9999px;
		background: #fff;
	}
	.topBlock02 .specialBox--cont {
		padding: 1vw 3vw 3vw;
	}
	.topBlock02 .specialBox--txt01 {
		font-size: 4.125vw;
		font-weight: 500;
	}
	.topBlock02 .specialBox--border02 {
		width: fit-content;
		margin-bottom: 1vw;
		padding: 0 1vw; 
		border: 0.2px solid #000;
	}
	.topBlock02 .specialBox--img {
		margin-top: 1vw; 
		text-align: center;
	}
	.topBlock02 .accident {
		border-color: #50a1d9;
	}
	.topBlock02 .accident .specialBox--title {
		background: #50a1d9;
	}
	.topBlock02 .accident .specialBox--border01 {
		color: #50a1d9;
	}
	.topBlock02 .harassment {
		border-color: #4ac765;
	}
	.topBlock02 .harassment .specialBox--title {
		background: #4ac765;
	}
	.topBlock02 .harassment .specialBox--border01 {
		color: #4ac765;
	}
	.topBlock02 .businesJBox {
		margin-top: 9vw;
		padding: 6vw 5vw; 
		border-radius: 2vw;
		background: #fff;
	}
	.topBlock02 .businesJBox--title {
		position: relative;
		z-index: 1;
		text-align: center; 
		font-size: 4.5vw;
	}
	.topBlock02 .businesJBox--border {
		display: inline-block;
		margin-top: 1vw;
		padding: 1vw 5vw; 
		font-size: 6vw;
		line-height: 1.4;
		color: var(--base-color01);
		border: 0.6px solid var(--base-color01);
		border-radius: 1vw;
		background: #fff;
	}
	.topBlock02 .businesJBox--service {
		position: relative;
		margin: -5vw -5vw 4vw;
		padding: 6vw 8vw 2vw; 
		background: var(--base-color01);
	}
	.topBlock02 .businesJBox--btn {
		margin: 5vw 0;
		padding: 2vw;
		text-align: center;
		font-size: 4.875vw;
		font-weight: 700;
		border-radius: 9999px;
		background: #fff;
		box-shadow: #002165 0.5vw 0.5vw 0 0.5vw, #ffd200 -0.5vw -0.5vw 0 0.5vw;
	}
	.topBlock02 .targetBox {
		margin: 2vw 0;
		padding: 3vw 4vw; 
		background: var(--base-color02);
	}
	.topBlock02 .targetBox--list {
		margin: 0 2vw 2vw;
		padding: 1vw 3vw; 
		font-size: 3.75vw;
		font-weight: 500;
		border-radius: 9999px;
		background: #fff;
	}
}


/*
about
---------------------------------------------*/
@media (min-width: 768px) {
	.aboutBlock01 { width: 1200px; margin: 0 auto 110px; }
	.aboutBlock01 .exampleBox { position: relative; background: #f9f9f9; margin: 20px 0; padding: 15px 20px 20px; }
	.aboutBlock01 .exampleBox::after { width: 137px; height: 77px; position: absolute; right: 30px; bottom: 10px; content: ""; background: url("/assets/image/about_img09.png") no-repeat 0 0 / 137px auto; }
	.aboutBlock01 .exampleBox--title { font-weight: 700; }
	.aboutBlock01 .exampleBox--cont { display: flex; align-items: center; font-size: 1.6rem; line-height: 1.4; margin-top: 5px; }
	.aboutBlock01 .exampleBox--border { border: 1px solid #000; margin-right: 15px; padding: 5px 10px; }
	.aboutBlock01 table { margin-bottom: 10px; }
	.aboutBlock01 th { width: 220px; font-size: 2.2rem; color: #fff; text-align: center; background: var(--base-color01); border: 2px solid var(--base-color01); padding: 20px 20px; }
	.aboutBlock01 tr:not(:last-child) th { border-bottom: 2px solid #fff; }
	.aboutBlock01 td { background: #fff; border: 2px solid var(--base-color01); padding: 20px 30px; }
	.aboutBlock01 .dutyBox { position: relative; display: flex; justify-content: center; background: #fff; border: 3px solid var(--base-color01); border-radius: 20px; margin: 30px 0 50px; padding: 40px; }
	.aboutBlock01 .dutyBox::after { width: 110px; height: 35px; position: absolute; right: 0; bottom: -35px; left: 0; content: ""; background: var(--base-color01); margin: auto; clip-path: polygon(0 0, 100% 0, 50% 100%); }
	.aboutBlock01 .dutyBox--cont { font-size: 2.2rem; font-weight: 700; color: #fff; background: var(--base-color01); border-radius: 9999px; margin: 0 30px; padding: 10px 60px; }
	.aboutBlock01 .caseBox { width: 350px; position: relative; font-size: 1.9rem; font-weight: 500; text-align: center; background: #fff; border: 3px solid var(--base-color01); border-radius: 20px; margin: 0 20px 20px; padding: 15px 20px; }
	.aboutBlock01 .caseBox dl { position: relative; background: var(--base-color03); border-radius: 10px; margin-top: 30px; padding: 10px; }
	.aboutBlock01 .caseBox dl::after { width: 25px; height: 15px; position: absolute; top: -25px; right: 0; left: 0; content: ""; background: var(--base-color01); margin: auto; clip-path: polygon(0 0, 100% 0, 50% 100%); }
	.aboutBlock01 .caseBox--title02 { font-size: 1.8rem; background: #fff; border-radius: 9999px; }
	.aboutBlock01 .caseBox--cont { font-size: 2rem; font-weight: 700; }
	.aboutBlock01 .caseBox .price { font-size: 2.4rem; margin-left: 0.5em; }
	.aboutBlock01 .caseBox .num { font-size: 4rem; }
	.aboutBlock01 .mr40 { margin-right: 40px; }
	.aboutBlock01 cite { font-size: 1.4rem; }
	.aboutBlock02 { background: var(--base-color02); margin-bottom: 80px; padding: 90px calc(50% - 600px); }
	.aboutBlock02 .whiteBlock { padding: 30px 40px; }
	.aboutBlock02 .graphBox--title { font-weight: 500; text-align: center; margin-bottom: 30px; }
	.aboutBlock02 .graphBox--img figcaption { margin-top: 15px; }
	.aboutBlock02 .graphBox cite { font-size: 1.4rem; }
	.aboutBlock02 .graphBox .exTxtBox { margin-top: 1em; }
	.aboutBlock02 .width01 { width: 580px; }
	.aboutBlock02 .width02 { width: 490px; border-left: 1px solid #9e9e9f; padding-left: 40px; }
	.aboutBlock02 .width03 { width: 540px; }
	.aboutBlock02 .width04 { width: 560px; border-left: 1px solid #9e9e9f; padding-left: 30px; }
	.aboutBlock02 .width05 { width: 530px; }
	.aboutBlock02 .width06 { width: 560px; }
	.aboutBlock02 .dataBox { background: #fff; overflow: hidden; border: 3px solid var(--base-color03); border-radius: 20px; padding: 0 40px 20px; }
	.aboutBlock02 .dataBox--title { background: var(--base-color03); margin: 0 -40px 20px; padding: 10px 30px; }
	.aboutBlock02 .dataBox--title h4 { display: flex; align-items: center; font-size: 2.2rem; line-height: 1.4; }
	.aboutBlock02 .dataBox--title p { font-size: 1.4rem; line-height: 1.4; }
	.aboutBlock02 .dataBox--border { min-width: 120px; font-size: 2rem; color: #e50012; line-height: 1.2; background: #fff; border-radius: 25px; margin-right: 15px; padding: 10px 18px; }
	.aboutBlock02 .dataBox02 { width: 540px; border: 3px solid #e7e7e7; }
	.aboutBlock02 .dataBox02--title { font-size: 2rem; font-weight: 500; text-align: center; background: #e7e7e7; padding: 10px; }
	.aboutBlock02 .dataBox02--cont { font-size: 4rem; font-weight: 700; line-height: 1; text-align: center; padding: 10px 10px 20px; }
	.aboutBlock02 .dataBox02--cont .fsS { font-size: 2.6rem; }
	.aboutBlock02 .dataBox02--cont .fsL { font-size: 7rem; }
}
@media screen and (max-width: 767px) {
	.aboutBlock01 {
		margin: 0 5vw 11vw;
	}
	.aboutBlock01 .exampleBox {
		position: relative;
		margin: 2vw 0;
		padding: 3vw 3vw 18vw; 
		background: #f9f9f9;
	}
	.aboutBlock01 .exampleBox::after {
		position: absolute;
		right: 2vw;
		bottom: 2vw;
		width: 30vw;
		height: 15vw;
		content: "";
		background: url("/assets/image/about_img09.png") no-repeat 100% 0 / auto 15vw;
	}
	.aboutBlock01 .exampleBox--title {
		font-weight: 700;
	}
	.aboutBlock01 .exampleBox--cont:last-child {
		margin-top: 2vw; 
		font-size: 3vw;
		line-height: 1.4;
	}
	.aboutBlock01 .exampleBox--border {
		width: fit-content;
		margin-bottom: 2vw;
		padding: 1vw; 
		text-align: center;
		border: 0.2vw solid #000;
		display: inline-block;
	}
	.aboutBlock01 table {
		margin-bottom: 1vw;
	}
	.aboutBlock01 th {
		width: 22vw;
		padding: 2vw 2vw; 
		text-align: center;
		font-size: 4.125vw;
		color: #fff;
		border: 0.4vw solid var(--base-color01);
		background: var(--base-color01);
	}
	.aboutBlock01 tr:not(:last-child) th {
		border-bottom: 0.4vw solid #fff;
	}
	.aboutBlock01 td {
		padding: 2vw 3vw; 
		border: 0.4vw solid var(--base-color01);
		background: #fff;
	}
	.aboutBlock01 .dutyBox {
		position: relative;
		margin: 3vw 0 5vw;
		padding: 2vw 4vw; 
		border: 0.6vw solid var(--base-color01);
		border-radius: 2vw;
		background: #fff;
	}
	.aboutBlock01 .dutyBox::after {
		position: absolute;
		right: 0;
		bottom: -3vw;
		left: 0;
		width: 10vw;
		height: 3vw;
		margin: auto;
		content: "";
		background: var(--base-color01);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.aboutBlock01 .dutyBox--cont {
		margin: 2vw 3vw;
		padding: 1vw 2vw; 
		font-size: 4.125vw;
		font-weight: 700;
		color: #fff;
		border-radius: 9999px;
		background: var(--base-color01);
		text-align: center;
	}
	.aboutBlock01 .caseBox {
		position: relative;
		margin: 0 0 4vw;
		padding: 2vw; 
		text-align: center;
		font-size: 3.75vw;
		font-weight: 500;
		border: 0.6vw solid var(--base-color01);
		border-radius: 2vw;
		background: #fff;
	}
	.aboutBlock01 .caseBox dl {
		position: relative;
		margin-top: 8vw;
		padding: 2vw; 
		border-radius: 2vw;
		background: var(--base-color03);
	}
	.aboutBlock01 .caseBox dl::after {
		position: absolute;
		top: -5vw;
		right: 0;
		left: 0;
		width: 5vw;
		height: 3vw;
		margin: auto;
		content: "";
		background: var(--base-color01);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.aboutBlock01 .caseBox--title02 {
		font-size: 3.375vw;
		border-radius: 9999px; 
		background: #fff;
	}
	.aboutBlock01 .caseBox--cont {
		font-size: 3.75vw;
		font-weight: 700;
	}
	.aboutBlock01 .caseBox .price {
		margin-left: 0.5em; 
		font-size: 4.5vw;
	}
	.aboutBlock01 .caseBox .num {
		font-size: 7.5vw;
	}
	.aboutBlock01 .mr40 {
		margin-right: 4vw;
	}
	.aboutBlock01 cite {
		font-size: 2.625vw;
	}
	.aboutBlock02 {
		margin-bottom: 8vw;
		padding: 9vw 5vw; 
		background: var(--base-color02);
	}
	.aboutBlock02 .whiteBlock {
		padding: 3vw 4vw;
	}
	.aboutBlock02 .graphBox--title {
		margin-bottom: 3vw; 
		text-align: center;
		font-weight: 500;
	}
	.aboutBlock02 .graphBox--img figcaption {
		margin-top: 15px;
	}
	.aboutBlock02 .graphBox cite {
		font-size: 2.625vw;
	}
	.aboutBlock02 .graphBox .exTxtBox {
		margin-top: 1em;
	}
	.aboutBlock02 .width02 {
		margin-top: 4vw;
		padding-top: 4vw; 
		border-top: 0.2vw solid #9e9e9f;
	}
	.aboutBlock02 .width04 {
		margin-top: 4vw;
		padding-top: 4vw; 
		border-top: 0.2vw solid #9e9e9f;
	}
	.aboutBlock02 .dataBox {
		overflow: hidden;
		padding: 0 4vw 2vw; 
		border: 0.6vw solid var(--base-color03);
		border-radius: 2vw;
		background: #fff;
	}
	.aboutBlock02 .dataBox--title {
		margin: 0 -4vw 2vw;
		padding: 2vw 3vw; 
		background: var(--base-color03);
	}
	.aboutBlock02 .dataBox--title h4 {
		font-size: 4.125vw;
		line-height: 1.4;
	}
	.aboutBlock02 .dataBox--title p {
		font-size: 3vw;
		line-height: 1.4;
	}
	.aboutBlock02 .dataBox--border {
		width: fit-content;
		margin-bottom: 1vw;
		padding: 2vw 3vw; 
		font-size: 3.75vw;
		line-height: 1.2;
		color: #e50012;
		border-radius: 2vw;
		background: #fff;
		display: inline-block;
	}
	.aboutBlock02 .dataBox02 {
		border: 0.6vw solid #e7e7e7;
		margin-top: 4vw;
	}
	.aboutBlock02 .dataBox02--title {
		padding: 1vw; 
		text-align: center;
		font-size: 3.75vw;
		font-weight: 500;
		background: #e7e7e7;
	}
	.aboutBlock02 .dataBox02--cont {
		padding: 1vw 1vw 2vw; 
		text-align: center;
		font-size: 7.5vw;
		font-weight: 700;
		line-height: 1;
	}
	.aboutBlock02 .dataBox02--cont .fsS {
		font-size: 4.875vw;
	}
	.aboutBlock02 .dataBox02--cont .fsL {
		font-size: 10vw;
	}
}


/*
service
---------------------------------------------*/
@media (min-width: 768px) {
	.serviceBlock01 {
		width: 1200px;
		margin: 0 auto 80px;
	}
	.serviceBlock01 .caseTable {
		margin: 50px 0;
	}
	.serviceBlock01 .caseTable th[scope="row"] {
		width: 60px;
		margin-right: 9px;
		padding: 20px; 
		border: 3px solid #ddd;
		background: #ddd;
	}
	.serviceBlock01 .caseTable th[scope="row"] span {
		width: 1em;
		height: 20em;
		line-height: 1;

		writing-mode: vertical-rl;
	}
	.serviceBlock01 .caseTable th[scope="col"] {
		padding: 5px 0; 
		font-size: 1.6rem;
		line-height: 1.4;
		color: #fff;
		border-radius: 10px;
	}
	.serviceBlock01 .caseTable td {
		padding: 15px;
	}
	.serviceBlock01 .caseTable td.col01 {
		width: 250px;
		border: 3px solid #ddd;
	}
	.serviceBlock01 .caseTable td.col01 dl {
		text-align: center;
	}
	.serviceBlock01 .caseTable td.col01 dt img {
		width: 90px;
	}
	.serviceBlock01 .caseTable td.col01 dd {
		font-weight: 500;
		color: #ddd;
	}
	.serviceBlock01 .caseTable td.col02 {
		border: 3px solid #ddd; 
		background: #ddd;
	}
	.serviceBlock01 .caseTable td.col02 dt {
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1.4;
	}
	.serviceBlock01 .caseTable td.col02 dt img {
		width: 108px;
	}
	.serviceBlock01 .caseTable td.colWide {
		width: 104px;
		text-align: center;
		font-size: 4rem;
		border-top: 3px solid #ddd;
		border-bottom: 3px solid #ddd;
		border-left: 1px solid #fff !important; 
		background: #eff4fa;
	}
	.serviceBlock01 .caseTable td.colBasic {
		width: 104px;
		text-align: center;
		font-size: 4rem;
		border-top: 3px solid #ddd;
		border-bottom: 3px solid #ddd;
		border-left: 1px solid #fff !important; 
		background: #f1e7fc;
	}
	.serviceBlock01 .caseTable td.colEconomy {
		width: 104px;
		text-align: center;
		font-size: 4rem;
		border-top: 3px solid #ddd;
		border-right: 3px solid #ddd;
		border-bottom: 3px solid #ddd;
		border-left: 1px solid #fff !important; 
		background: #d8fbe1;
	}
	.serviceBlock01 .caseTable td.colNo {
		background: #c4c4c4;
	}
	.serviceBlock01 .widePlan {
		background: #1551cb;
	}
	.serviceBlock01 .basicPlan {
		background: #8c49d4;
	}
	.serviceBlock01 .economyPlan {
		background: #1ea006;
	}
	.serviceBlock01 .bbWhite {
		border-bottom: 3px solid #fff !important;
	}
	.serviceBlock01 .forC th[scope="row"],
	.serviceBlock01 .forC td.col01,
	.serviceBlock01 .forC td.col02,
	.serviceBlock01 .forC td.colWide,
	.serviceBlock01 .forC td.colBasic,
	.serviceBlock01 .forC td.colEconomy {
		border-color: #b1eca7;
	}
	.serviceBlock01 .forC th[scope="row"],
	.serviceBlock01 .forC td.col02 {
		background: #b1eca7;
	}
	.serviceBlock01 .forC td.col01 dd {
		color: #1ea006;
	}
	.serviceBlock01 .forB th[scope="row"],
	.serviceBlock01 .forB td.col01,
	.serviceBlock01 .forB td.col02,
	.serviceBlock01 .forB td.colWide,
	.serviceBlock01 .forB td.colBasic,
	.serviceBlock01 .forB td.colEconomy {
		border-color: #bfd1f5;
	}
	.serviceBlock01 .forB th[scope="row"],
	.serviceBlock01 .forB td.col02 {
		background: #bfd1f5;
	}
	.serviceBlock01 .forB td.col01 dd {
		color: #0b4cd0;
	}
	.serviceBlock01 .plus {
		position: relative;
		margin-top: 110px;
	}
	.serviceBlock01 .plus::before {
		position: absolute;
		top: -85px;
		right: 0;
		left: 0;
		width: 70px;
		height: 70px;
		margin: auto; 
		content: "";
		background: url("/assets/image/icon_plus_b.svg") no-repeat;
	}
	.serviceBlock01 .optionBox {
		overflow: hidden;
		width: 490px;
		margin-bottom: 30px;
		padding: 0 25px 25px; 
		border: 3px solid var(--base-color01);
		border-radius: 20px;
	}
	.serviceBlock01 .optionBox.w100 {
		width: 1020px;
	}
	.serviceBlock01 .optionBox--title {
		position: relative;
		margin: 0 -25px 20px;
		padding: 20px; 
		background: var(--base-color01);
	}
	.serviceBlock01 .optionBox--title ul {
		position: absolute;
		top: 35px;
		left: 40px;
		display: flex;
	}
	.serviceBlock01 .optionBox--title ul li {
		margin-right: 10px;
		padding: 2px 10px; 
		font-size: 1.4rem;
		line-height: 1.4;
		color: #fff;
		border-radius: 5px;
	}
	.serviceBlock01 .optionBox--title h4 {
		padding: 50px 20px 20px; 
		font-size: 2.1rem;
		line-height: 1.4;
		color: var(--base-color01);
		border-radius: 15px;
		background: #fff;
	}
	.serviceBlock01 .optionBox--cont dt {
		font-size: 2.2rem;
		font-weight: 700;
	}
	.serviceBlock01 dl.medicalJ {
		padding-left: 180px; 
		background: url("/assets/image/service_img11.png") no-repeat 0 0 / 147px auto;
	}
	.serviceBlock01 .supportBox {
		overflow: hidden;
		margin-bottom: 20px; 
		border: 3px solid var(--base-color03);
		border-radius: 20px;
	}
	.serviceBlock01 .supportBox--title {
		padding: 30px 10px; 
		text-align: center;
		font-size: 2.2rem;
		line-height: 1.4;
		background: var(--base-color03);
	}
	.serviceBlock01 .supportBox--cont {
		margin: 20px 25px;
	}
	.serviceBlock01 .col4 .supportBox {
		width: 240px;
	}
	.serviceBlock01 .col3 .supportBox {
		width: 330px;
	}
}
@media screen and (max-width: 767px) {
	.serviceBlock01 {
		margin: 0 5vw 8vw;
	}
	.serviceBlock01 .caseTable {
		margin: 5vw 0;
		width: 300vw;
	}
	.serviceBlock01 .caseTable th[scope="row"] {
		width: 6vw;
		margin-right: 9px;
		padding: 2vw; 
		border: 3px solid #ddd;
		background: #ddd;
	}
	.serviceBlock01 .caseTable th[scope="row"] span {
		width: 1em;
		height: 20em;
		line-height: 1;

		writing-mode: vertical-rl;
	}
	.serviceBlock01 .caseTable th[scope="col"] {
		padding: 5px 0; 
		font-size: 3vw;
		line-height: 1.4;
		color: #fff;
		border-radius: 1vw;
	}
	.serviceBlock01 .caseTable td {
		padding: 15px;
	}
	.serviceBlock01 .caseTable td.col01 {
		width: 50vw;
		border: 0.6vw solid #ddd;
	}
	.serviceBlock01 .caseTable td.col01 dl {
		text-align: center;
	}
	.serviceBlock01 .caseTable td.col01 dt img {
		width: 20vw;
	}
	.serviceBlock01 .caseTable td.col01 dd {
		font-weight: 500;
		color: #ddd;
	}
	.serviceBlock01 .caseTable td.col02 {
		border: 0.6vw solid #ddd; 
		background: #ddd;
	}
	.serviceBlock01 .caseTable td.col02 dt {
		font-size: 4.125vw;
		font-weight: 700;
		line-height: 1.4;
	}
	.serviceBlock01 .caseTable td.col02 dt img {
		width: 20vw;
	}
	.serviceBlock01 .caseTable td.colWide {
		width: 15vw;
		text-align: center;
		font-size: 7.5vw;
		border-top: 0.6vw solid #ddd;
		border-bottom: 0.6vw solid #ddd;
		border-left: 0.2vw solid #fff !important; 
		background: #eff4fa;
	}
	.serviceBlock01 .caseTable td.colBasic {
		width: 15vw;
		text-align: center;
		font-size: 7.5vw;
		border-top: 0.6vw solid #ddd;
		border-bottom: 0.6vw solid #ddd;
		border-left: 0.2vw solid #fff !important; 
		background: #f1e7fc;
	}
	.serviceBlock01 .caseTable td.colEconomy {
		width: 15vw;
		text-align: center;
		font-size: 7.5vw;
		border-top: 0.6vw solid #ddd;
		border-right: 0.6vw solid #ddd;
		border-bottom: 0.6vw solid #ddd;
		border-left: 0.2vw solid #fff !important; 
		background: #d8fbe1;
	}
	.serviceBlock01 .caseTable td.colNo {
		background: #c4c4c4;
	}
	.serviceBlock01 .widePlan {
		background: #1551cb;
	}
	.serviceBlock01 .basicPlan {
		background: #8c49d4;
	}
	.serviceBlock01 .economyPlan {
		background: #1ea006;
	}
	.serviceBlock01 .bbWhite {
		border-bottom: 0.6vw solid #fff !important;
	}
	.serviceBlock01 .forC th[scope="row"],
	.serviceBlock01 .forC td.col01,
	.serviceBlock01 .forC td.col02,
	.serviceBlock01 .forC td.colWide,
	.serviceBlock01 .forC td.colBasic,
	.serviceBlock01 .forC td.colEconomy {
		border-color: #b1eca7;
	}
	.serviceBlock01 .forC th[scope="row"],
	.serviceBlock01 .forC td.col02 {
		background: #b1eca7;
	}
	.serviceBlock01 .forC td.col01 dd {
		color: #1ea006;
	}
	.serviceBlock01 .forB th[scope="row"],
	.serviceBlock01 .forB td.col01,
	.serviceBlock01 .forB td.col02,
	.serviceBlock01 .forB td.colWide,
	.serviceBlock01 .forB td.colBasic,
	.serviceBlock01 .forB td.colEconomy {
		border-color: #bfd1f5;
	}
	.serviceBlock01 .forB th[scope="row"],
	.serviceBlock01 .forB td.col02 {
		background: #bfd1f5;
	}
	.serviceBlock01 .forB td.col01 dd {
		color: #0b4cd0;
	}
	.serviceBlock01 .plus {
		position: relative;
		margin-top: 11vw;
	}
	.serviceBlock01 .plus::before {
		position: absolute;
		top: -9vw;
		right: 0;
		left: 0;
		width: 7vw;
		height: 7vw;
		margin: auto; 
		content: "";
		background: url("/assets/image/icon_plus_b.svg") no-repeat 0 0 / 7vw auto;
	}
	.serviceBlock01 .optionBox {
		overflow: hidden;
		margin-bottom: 3vw;
		padding: 0 3vw 3vw; 
		border: 0.6vw solid var(--base-color01);
		border-radius: 2vw;
	}
	.serviceBlock01 .optionBox--title {
		position: relative;
		margin: 0 -3vw 2vw;
		padding: 2vw; 
		background: var(--base-color01);
	}
	.serviceBlock01 .optionBox--title ul {
		position: absolute;
		top: 3vw;
		left: 3vw;
		display: flex;
	}
	.serviceBlock01 .optionBox--title ul li {
		margin-right: 1vw;
		padding: 2px 1vw; 
		font-size: 2.5vw;
		line-height: 1.4;
		color: #fff;
		border-radius: 5px;
	}
	.serviceBlock01 .optionBox--title h4 {
		padding: 8vw 2vw 2vw; 
		font-size: 3.75vw;
		line-height: 1.4;
		color: var(--base-color01);
		border-radius: 2vw;
		background: #fff;
	}
	.serviceBlock01 .optionBox--cont dt {
		font-size: 4.125vw;
		font-weight: 700;
	}
	.serviceBlock01 dl.medicalJ {
		padding-top: 15vw; 
		background: url("/assets/image/service_img11.png") no-repeat 50% 0 / 30vw auto;
	}
	.serviceBlock01 .supportBox {
		overflow: hidden;
		margin-bottom: 2vw; 
		border: 0.6vw solid var(--base-color03);
		border-radius: 2vw;
	}
	.serviceBlock01 .supportBox--title {
		padding: 3vw 1vw; 
		text-align: center;
		font-size: 4.125vw;
		line-height: 1.4;
		background: var(--base-color03);
	}
	.serviceBlock01 .supportBox--cont {
		margin: 3vw;
	}
}


/*
accident
---------------------------------------------*/
@media (min-width: 768px) {
	.serviceBlock02 {
		width: 1200px;
		margin: 0 auto 80px;
	}
	.serviceBlock02 .planBpx {
		margin-bottom: 20px;
	}
	.serviceBlock02 .planBpx > * {
		margin: 0 10px;
		padding: 10px 30px; 
		font-size: 2.2rem;
		font-weight: 700;
		color: #fff;
		border-radius: 10px;
	}
	.serviceBlock02 .widePlan {
		background: #1551cb;
	}
	.serviceBlock02 .basicPlan {
		background: #8c49d4;
	}
	.serviceBlock02 .freePlan {
		background: #d4a549;
	}
	.serviceBlock02 .pointIcon {
		margin-bottom: 100px;
	}
	.serviceBlock02 .pointIcon::before {
		position: absolute;
		top: 0;
		left: -72px;
		width: 60px;
		height: 75px;
		content: "";
		background: url("/assets/image/accident_img01.png") no-repeat 0 0 / 60px auto;
	}
	.serviceBlock02 .stressBox {
		margin-top: 20px;
		padding: 0 20px 20px; 
		border: 1px solid #000;
	}
	.serviceBlock02 .exampleBox {
		position: relative;
		margin: 20px 0;
		padding: 15px 190px 20px 20px; 
		background: #f9f9f9;
	}
	.serviceBlock02 .exampleBox::after {
		position: absolute;
		right: 30px;
		bottom: 10px;
		width: 137px;
		height: 77px;
		content: "";
		background: url("/assets/image/about_img09.png") no-repeat 0 0 / 137px auto;
	}
	.serviceBlock02 .exampleBox--title {
		font-weight: 700;
	}
	.serviceBlock02 .exampleBox--cont:last-child {
		display: flex;
		align-items: center;
		margin-top: 5px; 
		font-size: 1.6rem;
		line-height: 1.4;
	}
	.serviceBlock02 .exampleBox--border {
		width: 90px;
		margin-right: 15px;
		padding: 5px; 
		text-align: center;
		border: 1px solid #000;
	}
	.serviceBlock02 .box01 {
		position: relative;
		display: flex;
		justify-content: space-between;
		margin-bottom: 50px;
		padding: 30px 80px; 
		border: 3px solid var(--base-color01);
		border-radius: 20px;
		background: #fff;
	}
	.serviceBlock02 .box01::after {
		position: absolute;
		right: 0;
		bottom: -35px;
		left: 0;
		width: 110px;
		height: 35px;
		margin: auto;
		content: "";
		background: var(--base-color01);

		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.serviceBlock02 .box01 > * {
		width: 400px;
		padding: 10px; 
		text-align: center;
		font-size: 2.2rem;
		font-weight: 700;
		color: #fff;
		border-radius: 9999px;
		background: var(--base-color01);
	}
	.serviceBlock02 .box02 {
		position: relative;
		margin-bottom: 85px; 
		text-align: center;
	}
	.serviceBlock02 .box02 img {
		width: 250px;
	}
	.serviceBlock02 .box02::after {
		position: absolute;
		right: 0;
		bottom: -55px;
		left: 0;
		width: 110px;
		height: 35px;
		margin: auto;
		content: "";
		background: var(--base-color01);

		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.serviceBlock02 .box03 {
		position: relative;
		margin-bottom: 130px;
		padding: 30px 60px; 
		border: 3px solid var(--base-color01);
		border-radius: 20px;
		background: #fff;
	}
	.serviceBlock02 .box03::before {
		position: absolute;
		right: 0;
		bottom: -120px;
		left: 0;
		width: 70px;
		height: 70px;
		margin: auto; 
		content: "";
		background: url("/assets/image/icon_plus_b.svg") no-repeat;
	}
	.serviceBlock02 .box03 dl {
		width: 440px;
		margin: 15px 0;
		padding: 20px 20px 30px; 
		border-radius: 10px;
		background: var(--base-color03);
	}
	.serviceBlock02 .box03 dt {
		margin-bottom: 30px;
		padding: 5px; 
		text-align: center;
		font-weight: 500;
		border-radius: 20px;
		background: #fff;
	}
	.serviceBlock02 .box03 dd {
		text-align: center; 
		font-size: 2.4rem;
		font-weight: 700;
		line-height: 1.6;
	}
	.serviceBlock02 .box04 .blueRound {
		width: 330px;
	}
	.serviceBlock02 .box05 {
		margin: 40px 0;
		padding: 60px; 
		border: 3px solid var(--base-color01);
		border-radius: 20px;
		background: #fff;
	}
	.serviceBlock02 .box06 .blueRound {
		width: 330px;
		margin-bottom: 20px;
	}
	.serviceBlock02 .box06 .blueRound--border {
		padding: 10px; 
		text-align: center;
		border: 1px solid var(--base-color01);
		border-radius: 5px;
	}
	.serviceBlock02 .graphBox figcaption {
		margin-top: 15px;
	}
	.serviceBlock02 .graphBox cite {
		font-size: 1.4rem;
	}
	.serviceBlock02 .width01 {
		width: 390px;
	}
	.serviceBlock02 .width02 {
		width: 530px;
	}
	.serviceBlock02 .caseBox {
		margin: 30px 0;
		padding: 5px 20px 20px; 
		border: 3px solid var(--base-color01);
		border-radius: 10px;
	}
	.serviceBlock02 .specialIcon::before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: -112px;
		width: 86px;
		height: 86px;
		margin: auto; 
		content: "";
		background: url("/assets/image/medicalj_img12.png") no-repeat 0 0 / 86px auto;
	}
	.serviceBlock02 .featureBox {
		width: 255px;
		margin-bottom: 20px;
		padding: 0 20px; 
		font-weight: 700;
		line-height: 1.4;
	}
	.serviceBlock02 .featureBox:not(:first-child) {
		border-left: 1px solid var(--base-color01);
	}
	.serviceBlock02 .featureBox--title {
		text-align: center; 
		font-size: 2.4rem;
		color: var(--base-color01);
	}
	.serviceBlock02 .featureBox--cont {
		margin-top: 15px; 
		font-size: 1.6rem;
		height: 4em;
	}
	.serviceBlock02 .featureBox--img {
		margin-top: 15px;
	}
	.serviceBlock02 .attemptBox {
		overflow: hidden;
		width: 480px;
		border: 3px solid var(--base-color03);
		border-radius: 20px;
	}
	.serviceBlock02 .attemptBox--title {
		padding: 20px; 
		text-align: center;
		font-size: 2.2rem;
		font-weight: 700;
		line-height: 1.4;
		background: var(--base-color03);
	}
	.serviceBlock02 .attemptBox--cont {
		margin: 20px 25px;
	}
	.serviceBlock02 .attemptBox02 {
		position: relative;
		margin-top: 90px;
		padding: 30px; 
		text-align: center;
		font-size: 2.2rem;
		font-weight: 700;
		color: #fff;
		border-radius: 20px;
		background: var(--base-color01);
	}
	.serviceBlock02 .attemptBox02::before {
		position: absolute;
		top: -55px;
		right: 0;
		left: 0;
		width: 110px;
		height: 35px;
		margin: auto;
		content: "";
		background: var(--base-color01);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.serviceBlock02 .more {
		position: relative;
		margin-top: 130px;
	}
	.serviceBlock02 .more::before,
	.serviceBlock02 .more::after {
		position: absolute;
		content: "";
		left: 0;
		right: 0;
		margin: auto;
	}
	.serviceBlock02 .more::before {
		top: -80px;
		width: 220px;
		height: 65px;
		background: var(--base-color01);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.serviceBlock02 .more::after {
		content: "さらに";
		color: #fff;
		font-size: 2.2rem;
		font-weight: 700;
		top: -80px;
		width: 3em;
	}
	.serviceBlock03 {
		background: var(--base-color02);
		padding: 80px calc(50% - 600px);
	}
	.serviceBlock03 .announceLine {
		position: relative;
		display: inline-block;
	}
	.serviceBlock03 .announceLine::before,
	.serviceBlock03 .announceLine::after {
		position: absolute;
		content: "";
		width: 5px;
		height: 180px;
		background: #1551cb;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.serviceBlock03 .announceLine::before {
		left: -80px;
		transform: rotate(-30deg);
	}
	.serviceBlock03 .announceLine::after {
		right: -80px;
		transform: rotate(30deg);
	}
	.serviceBlock03 h3 {
		font-size: 1.8rem;
		color: #fff;
		background: #96b4f3;
		padding: 2px 15px;
		margin: 20px 0 5px;
		border-radius: 5px;
	}
	.serviceBlock03 .attemptBox {
		border-radius: 20px;
		border: 3px solid #fed411;
		overflow: hidden;
		margin: 40px 0;
	}
	.serviceBlock03 .attemptBox--title {
		background: #fed411;
		text-align: center;
		padding: 5px 0;
		font-weight: 700;
		font-size: 2.2rem;
	}
	.serviceBlock03 .attemptBox--cont {
		padding: 20px 30px;
	}
}
@media screen and (max-width: 767px) {
	.serviceBlock02 {
		margin: 0 5vw 8vw;
	}
	.serviceBlock02 .planBpx {
		margin-bottom: 2vw;
	}
	.serviceBlock02 .planBpx > * {
		margin: 0 1vw;
		padding: 1vw 3vw; 
		font-size: 3.125vw;
		font-weight: 700;
		color: #fff;
		border-radius: 1vw;
	}
	.serviceBlock02 .widePlan {
		background: #1551cb;
	}
	.serviceBlock02 .basicPlan {
		background: #8c49d4;
	}
	.serviceBlock02 .freePlan {
		background: #d4a549;
	}
	.serviceBlock02 .pointIcon {
		margin-top: 16vw;
	}
	.serviceBlock02 .pointIcon::before {
		position: absolute;
		top: -14vw;
		left: 0;
		right: 0;
		margin: auto;
		width: 12vw;
		height: 12vw;
		content: "";
		background: url("/assets/image/accident_img01.png") no-repeat 0 0 / 12vw auto;
	}
	.serviceBlock02 .stressBox {
		margin-top: 2vw;
		padding: 0 2vw 2vw; 
		border: 0.2vw solid #000;
	}
	.serviceBlock02 .exampleBox {
		position: relative;
		margin: 2vw 0;
		padding: 3vw 3vw 20vw; 
		background: #f9f9f9;
	}
	.serviceBlock02 .exampleBox::after {
		position: absolute;
		right: 0;
		left: 0;
		bottom: 2vw;
		margin: auto;
		width: 30vw;
		height: 15vw;
		content: "";
		background: url("/assets/image/about_img09.png") no-repeat 100% 0 / auto 15vw;
	}
	.serviceBlock02 .exampleBox--title {
		font-weight: 700;
	}
	.serviceBlock02 .exampleBox--cont:last-child {
		margin-top: 2vw; 
		font-size: 3vw;
		line-height: 1.4;
	}
	.serviceBlock02 .exampleBox--border {
		width: fit-content;
		margin-bottom: 2vw;
		padding: 1vw; 
		text-align: center;
		border: 0.2vw solid #000;
		display: inline-block;
	}
	.serviceBlock02 .box01 {
		position: relative;
		margin-bottom: 8vw;
		padding: 3vw 5vw; 
		border: 0.6vw solid var(--base-color01);
		border-radius: 2vw;
		background: #fff;
	}
	.serviceBlock02 .box01::after {
		position: absolute;
		right: 0;
		bottom: -6vw;
		left: 0;
		width: 10vw;
		height: 3vw;
		margin: auto;
		content: "";
		background: var(--base-color01);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.serviceBlock02 .box01 > * {
		padding: 1vw; 
		text-align: center;
		font-size: 4.125vw;
		font-weight: 700;
		color: #fff;
		border-radius: 9999px;
		background: var(--base-color01);
		margin: 2vw 0;
	}
	.serviceBlock02 .box02 {
		position: relative;
		margin-bottom: 8vw; 
		text-align: center;
	}
	.serviceBlock02 .box02 img {
		width: 50vw;
	}
	.serviceBlock02 .box02::after {
		position: absolute;
		right: 0;
		bottom: -5vw;
		left: 0;
		width: 10vw;
		height: 3vw;
		margin: auto;
		content: "";
		background: var(--base-color01);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.serviceBlock02 .box03 {
		position: relative;
		margin-bottom: 13vw;
		padding: 3vw 5vw; 
		border: 0.6vw solid var(--base-color01);
		border-radius: 2vw;
		background: #fff;
	}
	.serviceBlock02 .box03::before {
		position: absolute;
		right: 0;
		bottom: -12vw;
		left: 0;
		width: 7vw;
		height: 7vw;
		margin: auto; 
		content: "";
		background: url("/assets/image/icon_plus_b.svg") no-repeat 0 0 / 7vw auto;
	}
	.serviceBlock02 .box03 dl {
		margin: 2vw 0;
		padding: 2vw 2vw 3vw; 
		border-radius: 1vw;
		background: var(--base-color03);
	}
	.serviceBlock02 .box03 dt {
		margin-bottom: 3vw;
		padding: 1vw; 
		text-align: center;
		font-weight: 500;
		border-radius: 2vw;
		background: #fff;
	}
	.serviceBlock02 .box03 dd {
		text-align: center; 
		font-size: 4.125vw;
		font-weight: 700;
		line-height: 1.6;
	}
	.serviceBlock02 .box04 .blueRound img {
		width: 60vw;
		margin: 0 auto;
	}
	.serviceBlock02 .box05 {
		margin: 4vw 0;
		padding: 6vw; 
		border: 0.6vw solid var(--base-color01);
		border-radius: 2vw;
		background: #fff;
	}
	.serviceBlock02 .box06 .blueRound {
		margin-top: 7vw;
	}
	.serviceBlock02 .box06 .blueRound--border {
		padding: 1vw; 
		text-align: center;
		border: 0.2vw solid var(--base-color01);
		border-radius: 1vw;
	}
	.serviceBlock02 .graphBox {
		margin-bottom: 3vw;
	}
	.serviceBlock02 .graphBox figcaption {
		margin-top: 2vw;
	}
	.serviceBlock02 .graphBox cite {
		font-size: 2.625vw;
	}
	.serviceBlock02 .width01 {
		width: 70vw;
		margin: 0 auto 3vw;
	}
	.serviceBlock02 .caseBox {
		margin: 3vw 0;
		padding: 1vw 2vw 2vw; 
		border: 0.6vw solid var(--base-color01);
		border-radius: 1vw;
	}
	.serviceBlock02 .specialIcon::before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: -15vw;
		width: 12vw;
		height: 12vw;
		margin: auto; 
		content: "";
		background: url("/assets/image/medicalj_img12.png") no-repeat 0 0 / 12vw auto;
	}
	.serviceBlock02 .featureBox {
		padding: 3vw 0; 
		font-weight: 700;
		line-height: 1.4;
	}
	.serviceBlock02 .featureBox:not(:first-child) {
		border-top: 0.2vw solid var(--base-color01);
	}
	.serviceBlock02 .featureBox--title {
		text-align: center; 
		font-size: 4.5vw;
		color: var(--base-color01);
	}
	.serviceBlock02 .featureBox--cont {
		margin-top: 3vw;
	}
	.serviceBlock02 .featureBox--img {
		margin-top: 3vw;
	}
	.serviceBlock02 .featureBox--img img {
		width: 40vw;
		display: block;
		margin: 0 auto;
	}
	.serviceBlock02 .attemptBox {
		overflow: hidden;
		border: 0.6vw solid var(--base-color03);
		border-radius: 2vw;
		margin-bottom: 4vw;
	}
	.serviceBlock02 .attemptBox--title {
		padding: 2vw; 
		text-align: center;
		font-size: 4.125vw;
		font-weight: 700;
		line-height: 1.4;
		background: var(--base-color03);
	}
	.serviceBlock02 .attemptBox--cont {
		margin: 2vw 3vw;
	}
	.serviceBlock02 .attemptBox02 {
		position: relative;
		margin-top: 9vw;
		padding: 3vw; 
		text-align: center;
		font-size: 4.125vw;
		font-weight: 700;
		color: #fff;
		border-radius: 2vw;
		background: var(--base-color01);
	}
	.serviceBlock02 .attemptBox02::before {
		position: absolute;
		top: -5vw;
		right: 0;
		left: 0;
		width: 10vw;
		height: 3vw;
		margin: auto;
		content: "";
		background: var(--base-color01);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.serviceBlock02 .more {
		position: relative;
		margin-top: 13vw;
	}
	.serviceBlock02 .more::before,
	.serviceBlock02 .more::after {
		position: absolute;
		content: "";
		left: 0;
		right: 0;
		margin: auto;
	}
	.serviceBlock02 .more::before {
		top: -9vw;
		width: 22vw;
		height: 7vw;
		background: var(--base-color01);
		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.serviceBlock02 .more::after {
		content: "さらに";
		color: #fff;
		font-size: 3vw;
		font-weight: 700;
		top: -9vw;
		width: 3em;
	}
	.serviceBlock03 {
		background: var(--base-color02);
		padding: 8vw 5vw;
	}
	.serviceBlock03 .announceLine {
		position: relative;
		display: inline-block;
	}
	.serviceBlock03 .announceLine::before,
	.serviceBlock03 .announceLine::after {
		position: absolute;
		content: "";
		width: 1vw;
		height: 18vw;
		background: #1551cb;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.serviceBlock03 .announceLine::before {
		left: -8vw;
		transform: rotate(-30deg);
	}
	.serviceBlock03 .announceLine::after {
		right: -8vw;
		transform: rotate(30deg);
	}
	.serviceBlock03 h3 {
		font-size: 4vw;
		color: #fff;
		background: #96b4f3;
		padding: 1vw 3vw;
		margin: 2vw 0 1vw;
		border-radius: 1vw;
	}
	.serviceBlock03 .attemptBox {
		border-radius: 2vw;
		border: 0.6vw solid #fed411;
		overflow: hidden;
		margin: 4vw 0;
	}
	.serviceBlock03 .attemptBox--title {
		background: #fed411;
		text-align: center;
		padding: 1vw 0;
		font-weight: 700;
		font-size: 4.6875vw;
	}
	.serviceBlock03 .attemptBox--cont {
		padding: 2vw 3vw;
	}
}


/*
Example
---------------------------------------------*/
@media (min-width: 768px) {
	.exampleBlock01 {
		position: relative;
		width: 1200px;
		margin: 0 auto 180px;
		padding: 60px 80px; 
		border-radius: 20px;
		background: #f9f9f9;
	}
	.exampleBlock01 table {
		margin-bottom: 10px;
	}
	.exampleBlock01 th {
		width: 220px;
		padding: 20px 20px; 
		text-align: center;
		font-size: 2.2rem;
		color: #fff;
		border: 2px solid var(--base-color01);
		background: var(--base-color01);
	}
	.exampleBlock01 tr:not(:last-child) th {
		border-bottom: 2px solid #fff;
	}
	.exampleBlock01 td {
		padding: 20px 30px; 
		border: 2px solid var(--base-color01);
		background: #fff;
	}
	.exampleBlock01 p {
		position: absolute;
		right: 0;
		bottom: -130px;
		left: 0;
		margin: auto; 
		text-align: center;
		font-size: 3rem;
		font-weight: 700;
	}
	.exampleBlock01 p::before {
		position: absolute;
		top: -35px;
		right: 0;
		left: 0;
		width: 50px;
		height: 25px;
		margin: auto;
		content: "";
		background: var(--base-color01);

		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.exampleBlock02 {
		position: relative;
		width: 1200px;
		margin: 0 auto 120px;
		padding: 60px 80px; 
		border-radius: 20px;
		background: #f9f9f9;
	}
	.exampleBlock02 table {
		margin-bottom: 10px; 
		font-size: 2rem;
	}
	.exampleBlock02 th[scope="col"] {
		padding: 10px; 
		color: #fff;
		background: var(--base-color01);
		border-top: 1px solid #fff;
	}
	.exampleBlock02 th[scope="col"]:not(:last-child) {
		border-top: 1px solid #fff;
		border-right: 1px solid #fff;
	}
	.exampleBlock02 th[scope="row"] {
		padding: 15px 20px; 
		font-weight: 400;
		border: 1px solid var(--base-color01);
		background: var(--base-color02);
	}
	.exampleBlock02 td {
		width: 185px;
		padding: 10px 30px; 
		text-align: right;
		border: 1px solid var(--base-color01);
	}
	.exampleBlock02 .exampleBox {
		position: relative;
		margin-top: 70px;
		padding: 0 40px 30px; 
		border: 3px solid var(--base-color01);
		border-radius: 20px;
		background: #fff;
	}
	.exampleBlock02 .exampleBox h3 {
		width: 400px;
		margin: -30px auto 20px;
		padding: 8px 40px; 
		text-align: center;
		font-size: 2rem;
		font-weight: 400;
		color: #fff;
		border-radius: 9999px;
		background: var(--base-color01);
	}
	.exampleBlock03 {
		margin-bottom: 80px;
		padding: 90px calc(50% - 600px); 
		background: var(--base-color02);
	}
	.exampleBlock03 h2 {
		text-align: center; 
		font-size: 2.4rem;
		line-height: 1.6;
	}
	.exampleBlock03 h2 .fsL {
		font-size: 4rem;
	}
	.exampleBlock03 .termsBox {
		padding: 40px 80px; 
		border-radius: 20px;
		background: #fff;
	}
	.exampleBlock03 table {
		font-size: 2rem;
	}
	.exampleBlock03 th {
		width: 160px;
		padding: 20px 20px; 
		vertical-align: top;
		color: #fff;
		border: 1px solid var(--base-color01);
		background: var(--base-color01);
	}
	.exampleBlock03 tr:not(:last-child) th {
		border-bottom: 1px solid #fff;
	}
	.exampleBlock03 td {
		padding: 20px 30px; 
		border: 1px solid var(--base-color01);
		background: #fff;
	}
	.exampleBlock03 .priceBox {
		position: relative;
		display: flex;
		margin-top: 120px; 
		border: 3px solid var(--base-color01);
		border-radius: 20px;
		background: #fff;
	}
	.exampleBlock03 .priceBox::before {
		position: absolute;
		top: -70px;
		right: 0;
		left: 0;
		width: 50px;
		height: 25px;
		margin: auto;
		content: "";
		background: var(--base-color01);

		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.exampleBlock03 .priceBox dt {
		width: 520px;
		padding: 30px 40px;
		border-top-left-radius: 20px;
		border-bottom-left-radius: 20px; 
		background: var(--base-color02);
	}
	.exampleBlock03 .priceBox dd {
		width: 520px;
		padding: 30px 40px; 
		text-align: center;
	}
	.exampleBlock04 {
		width: 1200px;
		margin: 80px auto 110px;
	}
	.exampleBlock04 .discountBlock {
		padding: 60px 80px; 
		background: #f9f9f9;
	}
	.exampleBlock04 .discountBox {
		position: relative;
		width: 330px;
		margin: 70px 0 50px;
		padding: 0 30px 30px; 
		font-size: 2rem;
		border: 3px solid var(--base-color01);
		border-radius: 20px;
		background: #fff;
	}
	.exampleBlock04 .discountBox dt {
		margin: -30px auto 20px;
		padding: 8px 20px; 
		text-align: center;
		font-weight: 400;
		color: #fff;
		border-radius: 9999px;
		background: var(--base-color01);
	}
	.exampleBlock04 .arrow {
		position: relative;
		margin-bottom: 90px;
	}
	.exampleBlock04 .arrow::before {
		position: absolute;
		right: 0;
		bottom: -60px;
		left: 0;
		width: 50px;
		height: 25px;
		margin: auto;
		content: "";
		background: var(--base-color01);

		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.exampleBlock04 .faqBox {
		padding: 20px 40px; 
		border-radius: 20px;
		background: #fff;
	}
	.exampleBlock04 .faqBox--iconQ,
	.exampleBlock04 .faqBox--iconA {
		position: relative;
		margin: 2em;
		padding-left: 50px;
	}
	.exampleBlock04 .faqBox--iconQ::before,
	.exampleBlock04 .faqBox--iconA::before {
		position: absolute;
		top: -5px;
		left: 0;
		width: 40px;
		height: 40px;
		content: "";
	}
	.exampleBlock04 .faqBox--iconQ::before {
		background: url("/assets/image/icon_q.svg") no-repeat 0 0 / 40px auto;
	}
	.exampleBlock04 .faqBox--iconA::before {
		background: url("/assets/image/icon_a.svg") no-repeat 0 0 / 40px auto;
	}
}
@media screen and (max-width: 767px) {
	.exampleBlock01 {
		position: relative;
		margin: 0 5vw 30vw;
		padding: 6vw 5vw; 
		border-radius: 2vw;
		background: #f9f9f9;
	}
	.exampleBlock01 table {
		margin-bottom: 1vw;
	}
	.exampleBlock01 th {
		width: 22vw;
		padding: 2vw 2vw; 
		text-align: center;
		color: #fff;
		border: .4vw solid var(--base-color01);
		background: var(--base-color01);
	}
	.exampleBlock01 tr:not(:last-child) th {
		border-bottom: .4vw solid #fff;
	}
	.exampleBlock01 td {
		padding: 2vw 3vw; 
		border: .4vw solid var(--base-color01);
		background: #fff;
	}
	.exampleBlock01 p {
		position: absolute;
		margin: auto;
		text-align: center;
		font-size: 4.875vw;
		font-weight: 700;
		bottom: -24vw;
		left: 0;
		right: 0;
	}
	.exampleBlock01 p::before {
		position: absolute;
		top: -4vw;
		right: 0;
		left: 0;
		width: 5vw;
		height: 3vw;
		margin: auto;
		content: "";
		background: var(--base-color01);

		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.exampleBlock02 {
		position: relative;
		margin: 0 5vw 6vw;
		padding: 6vw 5vw; 
		border-radius: 2vw;
		background: #f9f9f9;
	}
	.exampleBlock02 table {
		margin-bottom: 1vw; 
		font-size: 3vw;
	}
	.exampleBlock02 th[scope="col"] {
		padding: 1vw; 
		color: #fff;
		background: var(--base-color01);
		border-top: .2vw solid #fff;
	}
	.exampleBlock02 th[scope="col"]:not(:last-child) {
		border-top: .2vw solid #fff;
		border-right: .2vw solid #fff;
	}
	.exampleBlock02 th[scope="row"] {
		padding: 1vw 2vw; 
		font-weight: 400;
		border: .2vw solid var(--base-color01);
		background: var(--base-color02);
	}
	.exampleBlock02 td {
		width: 20vw;
		padding: 1vw 3vw; 
		text-align: right;
		border: .2vw solid var(--base-color01);
	}
	.exampleBlock02 .exampleBox {
		position: relative;
		margin-top: 7vw;
		padding: 0 4vw 3vw; 
		border: 0.6vw solid var(--base-color01);
		border-radius: 2vw;
		background: #fff;
	}
	.exampleBlock02 .exampleBox h3 {
		width: 40vw;
		margin: -5vw auto 2vw;
		padding: 1vw 4vw; 
		text-align: center;
		font-size: 3.75vw;
		font-weight: 400;
		color: #fff;
		border-radius: 9999px;
		background: var(--base-color01);
	}
	.exampleBlock03 {
		margin-bottom: 8vw;
		padding: 9vw 5vw; 
		background: var(--base-color02);
	}
	.exampleBlock03 h2 {
		text-align: center; 
		font-size: 4.125vw;
		line-height: 1.6;
	}
	.exampleBlock03 h2 .fsL {
		font-size: 6.75vw;
	}
	.exampleBlock03 .termsBox {
		padding: 4vw 5vw; 
		border-radius: 2vw;
		background: #fff;
	}
	.exampleBlock03 table {
		font-size: 3.75vw;
	}
	.exampleBlock03 th {
		width: 16vw;
		padding: 2vw 2vw; 
		vertical-align: top;
		color: #fff;
		border: .2vw solid var(--base-color01);
		background: var(--base-color01);
	}
	.exampleBlock03 tr:not(:last-child) th {
		border-bottom: .2vw solid #fff;
	}
	.exampleBlock03 td {
		padding: 2vw 3vw; 
		border: .2vw solid var(--base-color01);
		background: #fff;
	}
	.exampleBlock03 .priceBox {
		position: relative;
		display: flex;
		margin-top: 12vw; 
		border: 0.6vw solid var(--base-color01);
		border-radius: 2vw;
		background: #fff;
	}
	.exampleBlock03 .priceBox::before {
		position: absolute;
		top: -7vw;
		right: 0;
		left: 0;
		width: 5vw;
		height: 3vw;
		margin: auto;
		content: "";
		background: var(--base-color01);

		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.exampleBlock03 .priceBox dt {
		width: 52vw;
		padding: 3vw 4vw;
		border-top-left-radius: 2vw;
		border-bottom-left-radius: 2vw; 
		background: var(--base-color02);
	}
	.exampleBlock03 .priceBox dd {
		width: 52vw;
		padding: 3vw 4vw; 
		text-align: center;
	}
	.exampleBlock04 {
		margin: 8vw 5vw;
	}
	.exampleBlock04 .discountBlock {
		padding: 6vw 5vw; 
		background: #f9f9f9;
	}
	.exampleBlock04 .discountBox {
		position: relative;
		margin: 7vw 0 5vw;
		padding: 0 3vw 3vw; 
		font-size: 3.75vw;
		border: 0.6vw solid var(--base-color01);
		border-radius: 2vw;
		background: #fff;
	}
	.exampleBlock04 .discountBox dt {
		margin: -3vw auto 2vw;
		padding: 1vw 2vw; 
		text-align: center;
		font-weight: 400;
		color: #fff;
		border-radius: 9999px;
		background: var(--base-color01);
	}
	.exampleBlock04 .arrow {
		position: relative;
		margin-bottom: 9vw;
	}
	.exampleBlock04 .arrow::before {
		position: absolute;
		right: 0;
		bottom: -6vw;
		left: 0;
		width: 5vw;
		height: 3vw;
		margin: auto;
		content: "";
		background: var(--base-color01);

		clip-path: polygon(0 0, 100% 0, 50% 100%);
	}
	.exampleBlock04 .faqBox {
		padding: 2vw 4vw; 
		border-radius: 2vw;
		background: #fff;
	}
	.exampleBlock04 .faqBox--iconQ,
	.exampleBlock04 .faqBox--iconA {
		position: relative;
		padding-left: 8vw;
	}
	.exampleBlock04 .faqBox--iconQ::before,
	.exampleBlock04 .faqBox--iconA::before {
		position: absolute;
		top: 0;
		left: 0;
		width: 6vw;
		height: 6vw;
		content: "";
	}
	.exampleBlock04 .faqBox--iconQ::before {
		background: url("/assets/image/icon_q.svg") no-repeat 0 0 / 6vw auto;
	}
	.exampleBlock04 .faqBox--iconA::before {
		background: url("/assets/image/icon_a.svg") no-repeat 0 0 / 6vw auto;
	}
}


/*
FAQ
---------------------------------------------*/
@media (min-width: 768px) {
	.glossaryBlock01 {
		margin: 110px auto;
	}
	.glossaryBlock01 .title03 {
		margin-top: 1em;
	}
	.glossaryBlock01 .glossaryBox {
		margin-bottom: 40px;
	}
	.glossaryBlock01 .glossaryBox p {
		margin: 0;
	}
	.glossaryBlock01 .targetBox {
		margin: 20px 0;
		padding: 40px 30px; 
		background: #dce4f4;
	}
	.glossaryBlock01 .targetBox p {
		margin: .5em 0;
	}
	.glossaryBlock01 .targetBox--table {
		font-size: 1.4rem;
	}
	.glossaryBlock01 .targetBox--table th,
	.glossaryBlock01 .targetBox--table td {
		padding: 5px; 
		font-weight: 400;
		border: 1px solid #dce4f4;
	}
	.glossaryBlock01 .targetBox--table th[scope="col"] {
		color: #fff;
		background: #6e89d9;
	}
	.glossaryBlock01 .targetBox--table th[scope="row"] {
		background: #fff;
	}
	.glossaryBlock01 .targetBox--table td {
		vertical-align: top;
		background: #fff;
	}
}
@media screen and (max-width: 767px) {
	.glossaryBlock01 {
		margin: 10vw 5vw;
	}
	.glossaryBlock01 .title03 {
		margin-top: 1em;
	}
	.glossaryBlock01 .glossaryBox {
		margin-bottom: 4vw;
	}
	.glossaryBlock01 .glossaryBox p {
		margin: 0;
	}
	.glossaryBlock01 .targetBox {
		margin: 2vw 0;
		padding: 4vw 3vw; 
		background: #dce4f4;
	}
	.glossaryBlock01 .targetBox table {
		font-size: 3vw;
	}
	.glossaryBlock01 .targetBox th,
	.glossaryBlock01 .targetBox td {
		padding: 1vw; 
		font-weight: 400;
		border: .2vw solid #dce4f4;
	}
	.glossaryBlock01 .targetBox th[scope="col"] {
		color: #fff;
		background: #6e89d9;
	}
	.glossaryBlock01 .targetBox th[scope="row"] {
		background: #fff;
	}
	.glossaryBlock01 .targetBox td {
		vertical-align: top;
		background: #fff;
	}
	.glossaryBlock01 .targetBox p {
		margin: .5em 0;
	}
}


/*
FORM
---------------------------------------------*/
@media (min-width: 768px) {
	.formBlock01 {
		width: 1200px;
		margin: 0 auto 170px;
	}
	.formBlock01 table {
		margin-bottom: 40px;
	}
	.formBlock01 th {
		width: 250px;
		padding: 15px; 
		text-align: left;
		vertical-align: top;
		font-weight: 400;
		border: 1px solid #9fa0a0;
		background: var(--base-color02);
	}
	.formBlock01 td {
		padding: 15px 30px; 
		border: 1px solid #9fa0a0;
	}
	.formBlock01 .required {
		margin-right: 15px;
		padding: 4px 10px; 
		font-size: 1.5rem;
		line-height: 1;
		border-radius: 10px;
		background: var(--base-color03);
	}
	.formBlock01 .optional {
		margin-right: 15px;
		padding: 3px 9px; 
		font-size: 1.5rem;
		line-height: 1;
		color: var(--base-color01);
		border: 1px solid var(--base-color01);
		border-radius: 10px;
		background: #fff;
	}
	.formBlock01 .selectTitle {
		width: 450px;
		margin-bottom: 5px;
		padding: 0 1em;
		text-indent: -1em;
	}
	.formBlock01 .selectTitle2 {
		display: block; 
		width: 550px;
		margin-bottom: 5px; 
		padding: 0 1em;
		text-indent: -1em;
	}
	.formBlock01 .selectTitle--noindent{
		padding-left: 0;
		text-indent: 0;
	}
	.formBlock01 .flex:not(.flex--nobd) {
		padding: 8px 0; 
		border-top: 1px solid #d2d2d2;
	}
}
@media screen and (max-width: 767px) {
	.formBlock01 {
		margin: 0 5vw 17vw;
	}
	.formBlock01 table {
		margin-bottom: 4vw;
	}
	.formBlock01 th {
		display: block;
		margin-top: -.1vw;
		padding: 3vw; 
		text-align: left;
		font-weight: 400;
		border: .2vw solid #9fa0a0;
		background: var(--base-color02);
	}
	.formBlock01 td {
		display: block;
		margin-top: -.1vw;
		padding: 3vw; 
		border: .2vw solid #9fa0a0;
	}
	.formBlock01 .required {
		margin-right: 3vw;
		padding: 1vw 3vw; 
		font-size: 2.8125vw;
		line-height: 1;
		border-radius: 1vw;
		background: var(--base-color03);
	}
	.formBlock01 .optional {
		margin-right: 3vw;
		padding: 1vw 3vw; 
		font-size: 2.8125vw;
		line-height: 1;
		color: var(--base-color01);
		border: .2vw solid var(--base-color01);
		border-radius: 1vw;
		background: #fff;
	}
	.formBlock01 .selectTitle {
		display: block;
		margin-top: 3vw;
		padding-left: 1em;
		text-indent: -1em;
	}
	.formBlock01 .selectTitle2 {
		display: block; 
		padding-left: 1em;
		text-indent: -1em;
	}
	.formBlock01 .selectTitle--noindent{
		padding-left: 0;
		text-indent: 0;
	}
	.formBlock01 .flex:not(.flex--nobd) {
		padding: 2vw 0; 
		border-top: .2vw solid #d2d2d2;
	}
}

.request_notice{
	margin: 20px 0;
	font-weight: bold;
}
.form_note h2{
	margin: 0 0 .2em;
	font-size: 1.9rem;
}
.form_note p{
	margin: 0;
}

.requestTelBlock {
	margin: 0 auto 40px;
	padding: 25px 40px;
	background: #f6f6f6;
}
@media screen and (max-width: 767px) {
	.requestTelBlock {
		margin: 20px 0;
		padding: 2vw 3vw;
		background: #f6f6f6;
	}
}

.formBlock01 .ttl{
	font-weight: bold;
	font-size: 16px;
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}
.formBlock01 .ttl img {
	width: 20px;
	margin-right: 5px;
}
.formBlock01 .detail_sales{
	background: #f2f2f2;
	border-radius: 5px;
	margin-top: 5px;
	padding: 10px;
}
.formBlock01 .detail_sales p:first-child {
	margin: 0;
}
.formBlock01 .detail_sales p {
	margin-top: 10px;
	font-size: 15px;
}
.formBlock01 .detail_sales .komeTxt {
	font-size: 14px;
}


@media screen and (max-width: 767px) {
	.formBlock01 .detail_sales p {
		font-size: 2.625vw;
	}
	.formBlock01 .detail_sales .komeTxt {
		font-size: 2.625vw;
	}
}


/*
POLICY
---------------------------------------------*/
@media (min-width: 768px) {
	.policyBlock {
		width: 1200px;
		margin: 0 auto 170px;
	}
}
@media screen and (max-width: 767px) {
	.policyBlock {
		margin: 0 5vw 17vw;
	}
}



/*
margin & font
---------------------------------------------*/
@media (min-width: 768px) {
	.mt0 { margin-top: 0; }
	.mt10 { margin-top: 10px; }
	.mt20 { margin-top: 20px; }
	.mt30 { margin-top: 30px; }
	.mt40 { margin-top: 40px; }
	.mt50 { margin-top: 50px; }
	.mt60 { margin-top: 60px; }
	.mt70 { margin-top: 70px; }
	.mt80 { margin-top: 80px; }
	.mt90 { margin-top: 90px; }
	.mt100 { margin-top: 100px; }
	.mb0 { margin-bottom: 0; }
	.mb10 { margin-bottom: 10px; }
	.mb20 { margin-bottom: 20px; }
	.mb30 { margin-bottom: 30px; }
	.mb40 { margin-bottom: 40px; }
	.mb50 { margin-bottom: 50px; }
	.mb60 { margin-bottom: 60px; }
	.mb70 { margin-bottom: 70px; }
	.mb80 { margin-bottom: 80px; }
	.mb90 { margin-bottom: 90px; }
	.mb100 { margin-bottom: 100px; }
	.fs14 { font-size: 1.4rem; }
	.fs16 { font-size: 1.6rem; }
	.fs18 { font-size: 1.8rem; }
	.fs20 { font-size: 2.0rem; }
	.fs22 { font-size: 2.2rem; }
	.fs24 { font-size: 2.4rem; }
	.fs26 { font-size: 2.6rem; }
	.fs28 { font-size: 2.8rem; }
	.fs34 { font-size: 3.4rem; }
	.fs40 { font-size: 4.0rem; }
}
@media screen and (max-width: 767px) {
	.mt0 { margin-top: 0; }
	.mt10 { margin-top: 1vw; }
	.mt20 { margin-top: 2vw; }
	.mt30 { margin-top: 3vw; }
	.mt40 { margin-top: 4vw; }
	.mt50 { margin-top: 5vw; }
	.mt60 { margin-top: 6vw; }
	.mt70 { margin-top: 7vw; }
	.mt80 { margin-top: 8vw; }
	.mt90 { margin-top: 9vw; }
	.mt100 { margin-top: 10vw; }
	.mb0 { margin-bottom: 0; }
	.mb10 { margin-bottom: 1vw; }
	.mb20 { margin-bottom: 2vw; }
	.mb30 { margin-bottom: 3vw; }
	.mb40 { margin-bottom: 4vw; }
	.mb50 { margin-bottom: 5vw; }
	.mb60 { margin-bottom: 6vw; }
	.mb70 { margin-bottom: 7vw; }
	.mb80 { margin-bottom: 8vw; }
	.mb90 { margin-bottom: 9vw; }
	.mb100 { margin-bottom: 10vw; }
	.fs14 { font-size: 2.625vw; }
	.fs16 { font-size: 3vw; }
	.fs18 { font-size: 3.375vw; }
	.fs20 { font-size: 3.75vw; }
	.fs22 { font-size: 4.125vw; }
	.fs24 { font-size: 4.5vw; }
	.fs26 { font-size: 4.875vw; }
	.fs28 { font-size: 5.25vw; }
	.fs34 { font-size: 6.375vw; }
	.fs40 { font-size: 7.5vw; }
	.w10 { width: 10%; }
	.w20 { width: 20%; }
	.w30 { width: 30%; }
	.w40 { width: 40%; }
	.w50 { width: 50%; }
	.w60 { width: 60%; }
	.w70 { width: 70%; }
	.w80 { width: 80%; }
	.w90 { width: 90%; }
	.w100 { width: 100%; }
}


/*-----------------------------------------------------

フォーム共通：エラーメッセージ

------------------------------------------------------*/
.error-list {
	font-size: 14px;
	color: #a94442;
	background-color: #f2dede;
	border-color: #ebccd1;
	padding: 15px 15px 15px 30px;
	margin: 20px 0;
	border: 1px solid transparent;
	border-radius: 4px;
}
.error-list li {
	margin-bottom: 3px;
	list-style-type: disc;
}
.error-list li:last-child {
	margin-bottom: 0;
}



/*-----------------------------------------------------
PDF DL
------------------------------------------------------*/
.pdfDlBox{text-align: center;}
