@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700;900&display=swap');
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family: 'Noto Sans JP', sans-serif;
}
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
a, a:link {
	color: #052b58;
	text-decoration: none;
	transition: .3s;
}
a:visited {
	color: #052b58;
}
a:hover {
	color: #052b58;
}
a:active {
	color: #052b58;
}

.start {
	margin-left: 0px;
	margin-bottom: 10px;
    color: #ff6900;
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
	display: flex;
	flex-wrap: wrap;
}
.flexA {
	justify-content: space-around;
}
.flexB {
	justify-content: space-between;
}
.flexC {
	justify-content: center;
}
.text-center {
	text-align: center;
 }
.h2w {
    font-size: 2rem;
    color: #FFF;
    padding-bottom: 20px;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1340px;
	color: #052b58;
	font-size: 1.6rem;
	font-weight: 300;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
#container {
	text-align: left;
}
#main {
	margin-bottom: 100px;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
	}
	#main {
		margin-bottom: 50px;
	}
	a:hover, a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	padding: 21px 120px 20px;
	display: flex;
	justify-content: space-between;
}
#gHeader h1 {
	padding-top: 4px;
}
#gHeader .menuBox {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: calc(100% - 300px);
}
#gHeader .btn a {
	width: 260px;
	padding: 13px;
	display: block;
	color: #fff;
	text-align: center;
	font-size: 1.7rem;
	font-weight: bold;
	background-color: #ca2242;
	border-radius: 30px;
	box-shadow: 3.536px 3.536px 0px 0px rgba(0, 0, 0, 0.1);
	box-sizing: border-box;
}
#gHeader .btn img {
	margin-right: 12px;
	vertical-align: -3px;
}
@media all and (max-width: 1919px) {
	#gHeader {
		padding: 21px 6.25% 20px;
	}
}
@media all and (max-width: 1580px) {
	#gHeader {
		padding: 21px 3% 20px;
	}
}
@media all and (min-width: 897px) {
	#gHeader .btn a:hover {
		opacity: 0.7;
	}
	#gHeader .menuBox {
		display: flex !important;
	}
}
@media all and (max-width: 896px) {
	#gHeader {
		padding: 15px 20px;
		align-items: center;
	}
	#gHeader h1 {
		padding-top: 0;
		width: 220px;
	}
	.menu {
		width: 34px;
		height: 27px;
		cursor: pointer;
		z-index: 101;
		transition: opacity .25s ease;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
		box-sizing: border-box;
	}
	.menu > div {
		margin: 0 auto;
		width: 34px;
		height: 27px;
		position: relative;
	}
	.menu span {
		background-color: #052b58;
		border: none;
		height: 3px;
		width: 34px;
		position: absolute;
		top: 0;
		left: 0;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
		cursor: pointer;
	}
	.menu span:nth-of-type(2) {
		top: 12px;
	}
	.menu span:nth-of-type(3) {
		top: 24px;
	}
	.menu.active .top {
		-webkit-transform: translateY(12px) translateX(0) rotate(45deg);
		-ms-transform: translateY(12px) translateX(0) rotate(45deg);
		transform: translateY(12px) translateX(0) rotate(45deg);
	}
	.menu.active .middle {
		opacity: 0;
	}
	.menu.active .bottom {
		-webkit-transform: translateY(-12px) translateX(0) rotate(-45deg);
		-ms-transform: translateY(-12px) translateX(0) rotate(-45deg);
		transform: translateY(-12px) translateX(0) rotate(-45deg);
	}
	#gHeader .menuBox {
		padding: 15px 20px 30px;
		display: none;
		width: 100%;
		position: absolute;
		left: 0;
		top: 73px;
		background-color: #fff;
		z-index: 10;
		box-sizing: border-box;
	}
	#gHeader .btn a {
		margin: 0 auto;
		width: 260px;
	}
}
@media all and (max-width: 359px) {
	#gHeader {
		padding: 15px;
	}
	#gHeader .menuBox {
		padding: 15px 15px 30px;
	}
}
/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#gNavi {}
#gNavi ul {
	display: flex;
}
#gNavi li {
	margin-right: 50px;
	font-size: 1.7rem;
	font-weight: bold;
}
@media all and (max-width: 1580px) {
	#gNavi li {
		margin-right: 28px;
	}
}
@media all and (min-width: 897px) {
	#gNavi li a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#gNavi {
		margin-bottom: 30px;
	}
	#gNavi ul {
		display: block;
	}
	#gNavi li {
		margin: 0 0 20px;
	}
}
/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#pagePath {
	margin: 0 auto;
	padding: 35px 120px 43px;
	max-width: 1432px;
	position: relative;
	display: flex;
	justify-content: flex-end;
	z-index: 1;
}
#pagePath li {
	margin-left: 18px;
	color: #fff;
	font-size: 1.4rem;
}
#pagePath li a {
	margin-right: 15px;
	color: #fa8406;
	text-decoration: underline;
}
@media all and (min-width: 897px) {
	#pagePath li a:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	#pagePath {
		padding: 20px 30px;
	}
	#pagePath li {
		margin-left: 10px;
		font-size: 1.2rem;
	}
	#pagePath li a {
		margin-right: 7px;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter .contact {
	padding: 110px 0 120px;
	background-image: linear-gradient(135deg, #26538A 0%, #26548a 30%, #235085 40%, #052B58 65%, #052B58 80%);
}
#gFooter .contact .ttl {
	margin-bottom: 45px;
	color: #fff;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 1.5px;
}
#gFooter .contact .btn a {
	margin: 0 auto;
	padding: 20px 40px 24px 20px;
	display: block;
	width: 600px;
	color: #fff;
	font-size: 2.4rem;
	font-weight: bold;
	text-align: center;
	background-color: #ca2242;
	border-radius: 50px;
	box-sizing: border-box;
	box-shadow: 3.536px 3.536px 0px 0px rgba(0, 0, 0, 0.1);
}
#gFooter .contact .btn a img {
	margin-right: 17px;
	vertical-align: -1px;
}
#gFooter .fInner {
	padding: 80px 0 53px;
	text-align: center;
}
#gFooter .fInner .fLogo {
	margin-bottom: 43px;
}
#gFooter .fInner .copyright {
	font-size: 1.4rem;
}
@media all and (min-width: 897px) {
	#gFooter .contact .btn a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#gFooter .contact {
		padding: 50px 0;
	}
	#gFooter .contact .ttl {
		margin-bottom: 25px;
		font-size: 2rem;
	}
	#gFooter .contact .btn a {
		padding: 8px 20px 13px 10px;
		width: 100%;
		max-width: 330px;
		font-size: 2rem;
		letter-spacing: 0;
	}
	#gFooter .contact .btn a img {
		margin-right: 10px;
		width: 22px;
	}
	#gFooter .fInner {
		padding: 40px 0 30px;
	}
	#gFooter .fInner .fLogo {
		margin-bottom: 25px;
	}
	#gFooter .fInner .copyright {
		font-size: 1.2rem;
	}
}
@media all and (max-width: 359px) {
	#gFooter .contact .btn a {
		font-size: 1.8rem;
	}
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
/* mainVisual */
.mainVisual {
	margin-bottom: 135px;
	position: relative;
}
.mainVisual:after {
	position: absolute;
	left: 0;
	top: 100px;
	width: calc(100% - 120px);
	height: calc(100% - 100px);
	background-image: linear-gradient(135deg, #26538A 0%, #26538A 36%, #052B58 68%, #052B58 100%);
	content: "";
}
.mainVisual .pageTtl {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
.mainVisual .pageTtl .mainImg {
	width: calc(50% + 240px);
}
.mainVisual .pageTtl .mainImg img {
	width: 100%;
}
.mainVisual .pageTtl h2 {
	margin: 140px 40px 0 40px;
	min-width: 440px;
	color: #fff;
	font-size: 4.8rem;
	font-weight: bold;
	letter-spacing: 2.5px;
}
@media all and (max-width: 1919px) {
	.mainVisual:after {
		width: 93.75%;
	}
}
@media all and (max-width: 1580px) {
	.mainVisual:after {
		width: 97%;
	}
}
@media all and (max-width: 896px) {
	.mainVisual {
		margin-bottom: 70px;
	}
	.mainVisual:after {
		top: 50px;
		width: 100%;
		height: calc(100% - 50px);
	}
	.mainVisual .pageTtl {
		flex-wrap: wrap;
	}
	.mainVisual .pageTtl .mainImg {
		margin-left: 15%;
		width: 85%;
		order: 0;
	}
	.mainVisual .pageTtl h2 {
		padding: 20px 0 0 20px;
		margin: 0;
		min-width: inherit;
		width: 100% !important;
		order: 2;
		font-size: 3rem;
		text-align: center;
		letter-spacing: 1.4px;
		box-sizing: border-box;
	}
}
/* comBox */
.comBox {
	margin: 0 auto;
	max-width: 1200px;
}
@media all and (max-width: 896px) {
	.comBox {
		margin: 0 20px;
	}
}
@media all and (max-width: 359px) {
	.comBox {
		margin: 0 15px;
	}
}
/* cateList */
.cateList {
	margin: -25px auto 150px;
	display: flex;
	flex-wrap: wrap;
	max-width: 1120px;
}
.cateList li {
	margin: 25px 20px 0;
	width: 240px;
}
.cateList li a {
	padding: 9px 40px;
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 1px;
	border-bottom: 2px dotted #052b58;
	background: url("img/common/arow.png") no-repeat 20px 18px;
}
@media all and (min-width: 897px) {
	.cateList li a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.cateList {
		margin: -15px 0 75px;
	}
	.cateList li {
		margin: 15px 0 0;
		width: 100%;
	}
	.cateList li a {
		padding: 5px 40px;
		font-size: 1.6rem;
		background-position: 20px 12px;
	}
}
/* headLine01 */
.headLine01 {
	margin-bottom: 35px;
	font-size: 4.2rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 2px;
}
.headLine01 > span {
	padding: 0 115px;
	position: relative;
	display: inline-block;
}
.headLine01 > span:after, .headLine01 > span:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 90px;
	height: 3px;
	background-color: #052b58;
	content: "";
}
.headLine01 > span:after {
	left: auto;
	right: 0;
}
@media all and (max-width: 896px) {
	.headLine01 {
		margin-bottom: 20px;
		font-size: 2.5rem;
		line-height: 1.33;
		letter-spacing: 1px;
	}
	.headLine01 > span {
		padding: 0 55px;
	}
	.headLine01 > span:after, .headLine01 > span:before {
		width: 45px;
		height: 2px;
	}
}
@media all and (max-width: 359px) {
	.headLine01 {
		font-size: 2.4rem;
	}
}
/* comBg */
.comBg {
	padding: 85px 0 134px;
	background-color: #ecf0f4;
}
@media all and (max-width: 896px) {
	.comBg {
		padding: 45px 0 60px;
	}
}
/* comBtn */
.comBtn a {
	margin: 0 auto;
	width: 260px;
	padding: 13px;
	display: block;
	color: #fff;
	text-align: center;
	font-size: 1.7rem;
	font-weight: bold;
	background-color: #ca2242;
	border-radius: 30px;
	box-shadow: 3.536px 3.536px 0px 0px rgba(0, 0, 0, 0.1);
	box-sizing: border-box;
}
@media all and (min-width: 897px) {
	.comBtn a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comBtn a {
		width: 100%;
		max-width: 260px;
		font-size: 1.6rem;
	}
}
.en {
	font-family: 'Roboto', sans-serif;
}
/* proList */
.proList {
	margin: -20px 0 30px;
	display: flex;
	flex-wrap: wrap;
}
.proList li {
	margin: 20px 10px;
	width: 280px;
}
.proList li a {
	display: block;
}
.proList .photo img {
	width: 100%;
}
.proList p {
	font-size: 1.4rem;
	line-height: 1.71;
}
.proList .ttl {
	margin-bottom: 10px;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
}

/* scheduleList */
.scheduleList {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	width: 1080px;
	margin-top: 70px;
}
.scheduleList li {
	width: 240px;
	height: 220px;
	display: table-cell;
	vertical-align: middle;
}
.scheduleList li+li {
	margin-left: 40px;
}
.scheduleList li a {
	display: block;
}
.scheduleList .photo img {
	width: 100%;
}
.scheduleList p {
	font-size: 2.6rem;
	line-height: 1.71;
}
.scheduleList p.small {
    font-size: 1.6rem;
    line-height: 1.71;
}
.scheduleList .ttl {
	margin-bottom: 10px;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
}

.bg_blue {
	font-size: 2.6rem;
	color: #FFF;
	background-color: #1d4674;
	width: 240px;
	font-weight: bold;
	text-align: center;
	border-radius: 20px;
}
.bg_blue img {
	margin-top: -40px;
}
.bg_org {
	font-size: 2.6rem;
	color: #FFF;
	background-color: #e9a003;
	width: 240px;
	font-weight: bold;
	text-align: center;
	border-radius: 20px;
}
.bg_org img {
	margin-top: -40px;
}

@media all and (min-width: 897px) {
	.proList li a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.proList {
		display: block;
	}
	.proList li {
		margin: 20px 10px 0;
		width: auto;
	}
	.scheduleList {
	    margin: auto;
	    width: auto;
    }
	.scheduleList li+li {
		margin: 60px 0 0 0;
	}
	.scheduleList li {
		width: 100%;
		margin-top: 40px;
	}
}
/* index */
.topVisual {
	margin-bottom: 0;
}
.topVisual:after, .topVisual:before {
	display: none;
}
.topVisual .pageTtl h2 {
	margin: 0 -280px 190px 3%;
	position: relative;
	z-index: 2;
	width: auto;
	color: #052b58;
	font-size: 1.8rem;
	font-weight: 900;
	letter-spacing: 3px;
}
.topVisual .pageTtl h2 .org {
	color: #fa8406;
	margin-bottom: 10px;
}

.topVisual .pageTtl h2 .bgTxt {
	margin-bottom: 10px;
	padding: 0 13px 3px;
	display: inline-block;
	color: #fff;
	font-size: 2.4rem;
	background-color: #fa8406;
}
.topVisual .pageTtl h2 .large {
	margin-bottom: 8px;
	display: block;
	font-size: 7rem;
}
.topVisual .pageTtl h2 .sub {
	font-size: 2.7rem;
}
.topVisual .pageTtl h2 .small {
	font-size: small;
    font-weight: 100;
    margin-top: 10px;
}
.topVisual .pageTtl h2 img {
	margin-left: 15px;
	vertical-align: -10px;
}
.index .color {
	color: #fa8406;
}
.index .sec01 {
	margin-bottom: 65px;
}
.index .sec01 .new_image{
	margin: -130px 0 0 0;
    padding: 180px 20px 129px 120px;
    text-align: center;
	background-image: linear-gradient(135deg, #26538A 0%, #26538A 26%, #052B58 70%, #052B58 100%);
}
.index .sec01 h2 {
    margin: -100px 120px -220px 0;
    padding: 0px 20px 270px 120px;
    height: 400px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-size: 4rem;
	font-weight: bold;
	letter-spacing: 2px;
	line-height: 1.2;
	text-align: center;
	background-image: linear-gradient(24deg, #26538A 0%, #26538A 26%, #052B58 70%, #052B58 100%);
    box-sizing: border-box;
    width: 100%;
}
.index .sec01 h2 > span {
	padding: 0 33px;
	display: inline-block;
	position: relative;
}
.index .sec01 h2 > span:before, .index .sec01 h2 > span:after {
	position: absolute;
	left: 0;
	top: 19px;
	width: 2px;
	height: 40px;
	background-color: #fff;
	transform: rotate(-30deg);
	content: "";
}
.index .sec01 h2 > span:after {
	left: auto;
	right: 0;
	transform: rotate(30deg);
}
.index .sec01 h2 img {
	margin-right: 10px;
	vertical-align: -6px;
}
.index .sec01 h2 .color {
	font-size: 4.8rem;
}
.index .sec01 .troubleBox {
	margin-bottom: 60px;
	display: flex;
	align-items: center;
}
.index .sec01 .troubleBox .photo {
	margin-right: -310px;
	width: calc(50% + 120px);
}
.index .sec01 .troubleBox .photo img {
	width: 100%;
}
.index .sec01 .troubleBox ul {
	display: flex;
	position: relative;
	z-index: 1;
}
.index .sec01 .troubleBox li {
	margin-right: 30px;
	padding: 53px 20px 50px;
	width: 380px;
	font-size: 2.1rem;
	font-weight: bold;
	letter-spacing: 1px;
	text-align: center;
	background-color: #fff;
	box-shadow: 0px 0px 16px 4px rgba(0, 0, 0, 0.1);
	box-sizing: border-box;
}
.index .sec01 .troubleBox li img {
	display: block;
	margin: 0 auto 15px;
}
.index .sec01 .troubleBox li span {
	line-height: 1.9;
	border-bottom: 1px solid #052b58;
}
.index .sec01 .comBox {
	max-width: 1080px;
}
.index .sec01 .bgBox {
	padding: 50px 60px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.2;
	background-color: #f8f8e0;
}
.index .sec02 h2 {
	margin: 0 auto 52px;
	padding: 20px 20px;
	max-width: 775px;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
	background: url("img/index/ttl_bg01.png") no-repeat left top, url("img/index/ttl_bg02.png") no-repeat right top;
	box-sizing: border-box;
}
.index .sec02 h2 .large {
	margin-top: 4px;
	display: block;
	font-size: 5.4rem;
}
.index .sec02 h2 .large .small {
	font-size: 4.8rem;
}
.index .sec02 .bgInner {
	padding: 100px 0 94px;
	background: url("img/index/merit_bg.jpg") no-repeat center top;
	background-size: cover;
}
.index .sec02 .bgInner .comBox {
	max-width: 1080px;
}
.index .sec02 .checkBox {
	margin-bottom: 37px;
	position: relative;
	background-color: #fff;
}
.index .sec02 .checkBox .ttl {
	padding: 33px 100px 27px;
	color: #fff;
	font-size: 2.7rem;
	font-weight: bold;
	background: #1d4674 url("img/index/ttl_bg03.png") no-repeat 35px 25px;
}
.index .sec02 .checkBox ul {
	padding: 30px 40px 22px;
}
.index .sec02 .checkBox li {
	padding: 0 0 18px 37px;
	color: #1d4674;
	font-size: 2.1rem;
	font-weight: bold;
	letter-spacing: 1px;
	background: url("img/common/cheak.png") no-repeat left 7px;
	background-size: 20px auto;
}
.index .sec02 .checkBox .photo {
	position: absolute;
	right: 43px;
	bottom: 0;
}
.index .sec02 .midTxt {
	color: #fff;
	font-size: 4.2rem;
	font-weight: bold;
	line-height: 1.43;
	letter-spacing: 1.5px;
	text-align: center;
}
.index .sec03 .headLine01 > span:before, .index .sec03 .headLine01 > span:after {
	top: 58%;
}
.index .sec03 .headLine01 .color {
	font-size: 8rem;
	line-height: 1;
	vertical-align: -5px;
	font-family: 'Roboto', sans-serif;
}
.index .sec03 .feature {
	margin-right: -30px;
	display: flex;
	flex-wrap: wrap;
}
.index .sec03 .feature li {
	margin-right: 30px;
	width: 380px;
	background-color: #fff;
}
.index .sec03 .feature .txtBox {
	padding: 21px 40px 28px;
}
.index .sec03 .feature .txtBox p {
	line-height: 1.875;
}
.index .sec03 .feature .txtBox .ttl {
	margin-bottom: 2px;
	letter-spacing: 1px;
	font-size: 2.1rem;
	font-weight: bold;
	text-align: center;
}
.index .sec04 {
	margin-bottom: -180px;
	padding-top: 103px;
	position: relative;
}
.index .sec04 .schedule {
    text-align: center;
    margin-bottom: 10px;
}
.sec04 .schedule_sub {
	font-size: 1.4rem;
    text-align: left;
    margin-bottom: 200px;
    margin-top: 10px;
    margin-left: 60px;
}
.index .sec04 .headLine01 {
	margin-bottom: 40px;
}
.index .sec04 .linkBox {
	padding: 45px 40px 58px;
	background-color: #fff;
	box-shadow: 0px 0px 16px 4px rgba(0, 0, 0, 0.1);
}
.index .sec04 .linkBox .cateList {
	margin-bottom: 37px;
}
.index .sec05 {
	margin-left: 120px;
	padding: 290px 120px 105px 0;
	background-image: linear-gradient(135deg, #245187 0%, #224F84 30%, #133c6d 60%, #052b58 80%);
}
.index .sec05 .headLine01 {
	margin-bottom: 48px;
	color: #fff;
}
.index .sec05 .headLine01 > span:before, .index .sec05 .headLine01 > span:after {
	background-color: #fff;
}
.index .sec05 .flowList {
	margin: -48px -67px 0 0;
	display: flex;
	flex-wrap: wrap;
}
.index .sec05 .flowList li {
	margin: 48px 45px 0 0;
	width: 370px;
}
.index .sec05 .flowList p {
	margin: 0 15px;
	color: #fff;
	line-height: 1.875;
}
.index .sec05 .flowList p .small {
	font-size: 1.4rem;
}
.index .sec05 .flowList .ttl {
	margin: 0 26px 33px 0;
	position: relative;
	padding: 12px 20px;
	min-height: 60px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.3;
	letter-spacing: 1px;
	background-color: #22a368;
	box-sizing: border-box;
}
.index .sec05 .flowList .ttl:after {
	position: absolute;
	right: -26px;
	top: 0;
	width: 26px;
	height: 100%;
	background: url("img/index/arrow.png") no-repeat left top;
	background-size: 26px 100%;
	content: "";
}
.index .sec05 .flowList .ttl .en {
	color: #9fe3c4;
	font-size: 1.8rem;
}
.index .sec05 .flowList .ttl .en span {
	margin: 0 10px 0 5px;
	font-size: 3rem;
	line-height: 1;
	vertical-align: -3px;
}
.index .sec05 .flowList .listImg {
	margin-bottom: 20px;
	text-align: center;
}
.index .sec06 {
	padding: 105px 0 122px;
}
.index .sec06 .headLine01 {
	margin-bottom: 15px;
}
.index .sec07 {
	padding: 105px 0 70px;
}
.index .sec07 .headLine01 {
	margin-bottom: 40px;
}
.index .sec07 .imgBox {
	margin-bottom: 50px;
	display: flex;
	justify-content: space-between;
}
.index .sec07 .imgBox .txtBox {
	width: 540px;
	padding: 35px 50px 35px 40px;
	position: relative;
	background-color: #fff;
	box-sizing: border-box;
}
.index .sec07 .imgBox .txtBox:after {
	position: absolute;
	right: -30px;
	top: 50%;
	width: 34px;
	height: 40px;
	transform: translateY(-50%);
	background: url("img/index/arrow02.png") no-repeat left top;
	content: "";
}
.index .sec07 .imgBox .txtBox p {
	margin-bottom: 22px;
	line-height: 1.875;
	text-align: justify;
}
.index .sec07 .imgBox .txtBox .ttl {
	margin-bottom: 16px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5;
}
.index .sec07 .imgBox .txtBox .name {
	margin: 0 10px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.5;
}
.index .sec07 .imgBox .photoBox {
	width: 600px;
}
.index .sec07 .imgBox .photoBox img {
	width: 100%;
}
.index .sec07 .imgBox02 .txtBox {
	padding: 35px 40px 35px 50px;
}
.index .sec07 .imgBox02 .txtBox:after {
	right: auto;
	left: -30px;
	background-image: url("img/index/arrow03.png");
}
.index .sec08 {
	padding-top: 90px;
}
.index .sec08 .headLine01 {
	margin-bottom: 40px;
}
.index .sec08 .qaList li {
	margin-bottom: 20px;
	border: 2px solid #052b58;
}
.index .sec08 .qaList p {
	padding: 20px 78px;
	position: relative;
}
.index .sec08 .qaList p:before {
	position: absolute;
	left: 38px;
	top: 16px;
	width: 31px;
	height: 31px;
	font-size: 3rem;
	font-weight: bold;
	font-family: 'Roboto', sans-serif;
	content: "Q.";
}
.index .sec08 .qaList .ttl {
	font-size: 2.4rem;
	font-weight: bold;
	cursor: pointer;
}
.index .sec08 .qaList .ttl:after {
	position: absolute;
	right: 42px;
	top: 50%;
	width: 16px;
	height: 16px;
	font-size: 3rem;
	font-weight: 500;
	line-height: 0.5;
	font-family: 'Roboto', sans-serif;
	transform: translateY(-50%);
	content: "+";
}
.index .sec08 .qaList .ttl.on:after {
	content: "-";
}
.index .sec08 .qaList .txt {
	display: none;
	padding: 20px 100px 40px;
	line-height: 1.875;
	background-color: #ecf0f4;
}
.index .sec08 .qaList .txt:before {
	color: #ca2242;
	content: "A.";
	top: 12px;
}
@media all and (max-width: 1800px) {
	.topVisual .pageTtl h2 .large {
		font-size: 3.8vw;
	}
}
@media all and (max-width: 1919px) {
	.index .sec01 h2 {
		margin-right: 3%;
		padding-left: 3%;
	}
	.index .sec05 {
		margin-left: 3%;
		padding-right: 3%;
	}
}
@media all and (max-width: 896px) {
	.topVisual .pageTtl h2 {
		margin: 0;
		padding: 30px 20px 160px;
		font-size: 1.6rem;
	}
	.topVisual .pageTtl h2 .bgTxt {
		margin-bottom: 5px;
		padding: 0 8px 2px;
		font-size: 2rem;
	}
	.topVisual .pageTtl h2 .large {
		margin-bottom: 4px;
		font-size: 4rem;
		line-height: 1.2;
	}
	.topVisual .pageTtl h2 .sub {
		font-size: 2.7rem;
	}
	.topVisual .pageTtl h2 .title {
		width: 290px;
    	margin: 0 auto;
    }
	.topVisual .pageTtl h2 img {
		margin-left: 7px;
		vertical-align: -5px;
		width: 220px;
	}
	.index .sec01 {
		margin-bottom: 65px;
	}
	.index .sec01 .new_image{
		margin: -130px 0 0 0;
	    padding: 0px;
	    text-align: center;
		background-image: linear-gradient(135deg, #26538A 0%, #26538A 26%, #052B58 70%, #052B58 100%);
	}
	.index .sec01 h2 {
		margin: 0;
		padding: 20px 0;
		height: 160px;
		font-size: 2.2rem;
		letter-spacing: 1px;
	}
	.index .sec01 h2 > span {
		padding: 0 20px;
	}
	.index .sec01 h2 img {
		margin: 0 auto;
		vertical-align: top;
		width: 200px;
		display: block;
	}
	.index .sec01 h2 .color {
		font-size: 2.6rem;
	}
	.index .sec01 .troubleBox {
		margin-bottom: 30px;
		flex-wrap: wrap;
	}
	.index .sec01 .troubleBox .photo {
		margin: 0 0 -30px;
		width: 100%;
	}
	.index .sec01 .troubleBox ul {
		flex-wrap: wrap;
		width: 100%;
	}
	.index .sec01 .troubleBox li {
		margin: 0 20px 20px;
		padding: 20px 20px 25px;
		width: 100%;
		font-size: 1.8rem;
	}
	.index .sec01 .troubleBox li img {
		margin-bottom: 10px;
	}
	.index .sec01 .comBox {
		max-width: inherit;
	}
	.index .sec01 .bgBox {
		padding: 25px 30px;
		font-size: 1.6rem;
	}
	.index .sec02 h2 {
		margin-bottom: 30px;
		max-width: 335px;
		font-size: 2rem;
		background-size: 18px 100%;
	}
	.index .sec02 h2 .large {
		font-size: 3rem;
	}
	.index .sec02 h2 .large .small {
		font-size: 2.4rem;
	}
	.index .sec02 .bgInner {
		padding: 50px 0;
	}
	.index .sec02 .checkBox .ttl {
		padding: 18px 30px 18px 50px;
		font-size: 2.1rem;
		background-position: 10px 15px;
		background-size: 30px auto;
	}
	.index .sec02 .checkBox ul {
		padding: 15px 15px 15px 20px;
	}
	.index .sec02 .checkBox li {
		padding: 0 0 10px 24px;
		font-size: 1.6rem;
		background-size: 17px auto;
	}
	.index .sec02 .checkBox .photo {
		display: none;
	}
	.index .sec02 .midTxt {
		font-size: 2.4rem;
	}
	.index .sec03 .headLine01 > span:before, .index .sec03 .headLine01 > span:after {
		top: 50%;
	}
	.index .sec03 .headLine01 .color {
		font-size: 4rem;
		vertical-align: -2px;
	}
	.index .sec03 .feature {
		margin: -30px 0 0;
	}
	.index .sec03 .feature li {
		margin: 30px 0 0;
		width: 100%;
	}
	.index .sec03 .feature li img {
		width: 100%;
	}
	.index .sec03 .feature .txtBox {
		padding: 15px 20px;
	}
	.index .sec03 .feature .txtBox .ttl {
		font-size: 1.8rem;
	}
	.index .sec04 {
		margin-bottom: -90px;
		padding-top: 50px;
	}
	.index .sec04 .schedule_sub {
		margin: 20px 0 80px 0;
	}
	.index .sec04 .headLine01 {
		margin-bottom: 30px;
	}
	.index .sec04 .linkBox {
		padding: 25px;
	}
	.index .sec05 {
		margin-left: 0;
		padding: 130px 0 80px;
	}
	.index .sec05 .headLine01 {
		margin-bottom: 25px;
	}
	.index .sec05 .flowList {
		margin: -30px 0 0;
	}
	.index .sec05 .flowList li {
		margin: 30px 0 0;
		width: 100%;
	}
	.index .sec05 .flowList p {
		margin: 0 10px;
	}
	.index .sec05 .flowList p .small {
		font-size: 1.2rem;
	}
	.index .sec05 .flowList .ttl {
		margin: 0 26px 33px 0;
		padding: 8px 20px;
		min-height: 40px;
		font-size: 2rem;
	}
	.index .sec05 .flowList .ttl:after {
		right: -25px;
	}
	.index .sec06 {
		padding: 50px 0;
	}
	.index .sec06 .headLine01 {
		align-items: 40px;
	}
	.index .sec07 {
		padding: 55px 0 20px;
	}
	.index .sec07 .headLine01 {
		margin-bottom: 40px;
	}
	.index .sec07 .imgBox {
		flex-wrap: wrap;
	}
	.index .sec07 .imgBox .txtBox {
		margin-top: 30px;
		order: 2;
		width: 100%;
		padding: 20px 25px !important;
	}
	.index .sec07 .imgBox .txtBox:after {
		right: auto;
		left: 50% !important;
		top: -17px;
		width: 20px;
		height: 17px;
		transform: translate(-50%, 0);
		background-image: url("img/index/sp_arrow02.png") !important;
		background-size: 20px auto;
	}
	.index .sec07 .imgBox .txtBox p {
		margin-bottom: 10px;
	}
	.index .sec07 .imgBox .txtBox .ttl {
		margin-bottom: 10px;
		font-size: 2.2rem;
	}
	.index .sec07 .imgBox .txtBox .name {
		margin: 0 5px;
		font-size: 1.6rem;
	}
	.index .sec07 .imgBox .photoBox {
		width: 100%;
		order: 0;
	}
	.index .sec08 {
		padding-top: 50px;
	}
	.index .sec08 .headLine01 {
		margin-bottom: 30px;
	}
	.index .sec08 .qaList li {
		margin-bottom: 10px;
	}
	.index .sec08 .qaList p {
		padding: 14px 30px 14px 40px;
	}
	.index .sec08 .qaList p:before {
		left: 15px;
		top: 10px;
		width: 20px;
		height: 20px;
		font-size: 2.2rem;
	}
	.index .sec08 .qaList .ttl {
		font-size: 1.6rem;
	}
	.index .sec08 .qaList .ttl:after {
		right: 15px;
		width: 13px;
		height: 13px;
		font-size: 2.2rem;
	}
	.index .sec08 .qaList .txt {
		padding: 14px 40px 20px 50px;
	}
	.index .sec08 .qaList .txt:before {
		top: 10px;
	}
}
@media all and (max-width: 359px) {
	.index .sec01 h2 {
		font-size: 2rem;
	}
	.index .sec01 h2 .color {
		font-size: 2.4rem;
	}
	.index .sec02 h2 .large {
		font-size: 2.7rem;
	}
}
/* detailBox */
.detailBox {
	margin-top: 75px;
}
.detailBox h2 {
	margin-bottom: 35px;
	font-size: 4.2rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 2px;
}
.detailBox h2 span {
	padding: 0 115px;
	position: relative;
	display: inline-block;
}
.detailBox h2 span:after, .detailBox h2 span:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 90px;
	height: 3px;
	background-color: #052b58;
	content: "";
}
.detailBox h2 span:after {
	left: auto;
	right: 0;
}
.detailBox .imgBox {
	margin-bottom: 97px;
	display: flex;
	justify-content: space-between;
}
.detailBox .imgBox .photoBox {
	margin-top: 7px;
	width: 600px;
}
.detailBox .imgBox .photoBox .photo {
	margin-bottom: 30px;
}
.detailBox .imgBox .photoBox .photo img {
	width: 100%;
}
.detailBox .imgBox .txtBox {
	margin-right: 12px;
	width: 528px;
}
.detailBox .imgBox .txtBox p {
	line-height: 1.875;
	text-align: justify;
}
.detailBox .imgBox .middle {
  display: flex;
  justify-content: center;
  align-items: center;
}
.detailBox .btn {
	display: flex;
	justify-content: center;
}
.detailBox .btn li {
	margin: 0 20px;
}
.detailBox .btn a {
	width: 360px;
	display: block;
	padding: 12px 24px 12px 10px;
	min-height: 60px;
	color: #22a368;
	font-size: 1.8rem;
	letter-spacing: 1px;
	font-weight: bold;
	text-align: center;
	box-sizing: border-box;
	border: 3px solid #22a368;
	border-radius: 50px;
}
.detailBox .btn a img {
	margin-right: 12px;
	vertical-align: -8px;
}
.detailBox .btn .entryBtn a {
	color: #fa8406;
	border-color: #fa8406;
}
.detailBox .btn .entryBtn a img {
	vertical-align: -3px;
}
.detailBox .bgBox {
	margin-bottom: 88px;
	padding: 92px 0 100px;
	background-color: #ecf0f4;
	border-top: 3px solid #052b58;
}
.detailBox .bgBox .comBox {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.detailBox .bgBox .lBox {
	width: 800px;
}
.detailBox .bgBox .lBox h3 {
	margin-bottom: 19px;
	padding-left: 50px;
	font-size: 2.4rem;
	font-weight: bold;
	position: relative;
}
.detailBox .bgBox .lBox h3:before {
	position: absolute;
	left: 0;
	top: 5px;
	width: 30px;
	height: 30px;
	background-color: #fff;
	border: 7px solid #052b58;
	border-radius: 50%;
	content: "";
	box-sizing: border-box;
}
.detailBox .bgBox table {
	margin-bottom: 55px;
	width: 100%;
	border-spacing: 0;
	border: 1px solid #052b58;
}
.detailBox .bgBox table:last-child {
	margin-bottom: 0;
}
.detailBox .bgBox th, .detailBox .bgBox td {
	padding: 17.5px 40px;
	text-align: left;
	vertical-align: middle;
	background-color: #fff;
	border-bottom: 1px dashed #052b58;
}
.detailBox .bgBox th {
	width: 30%;
	color: #fff;
	font-weight: normal;
	text-align: center;
	background-color: #052b58;
	border-bottom-color: #fff;
}
.detailBox .bgBox tr:last-child th, .detailBox .bgBox tr:last-child td {
	border-bottom: none;
}
.detailBox .bgBox .comBox .rBox {
	margin-top: 5px;
	padding: 30px 30px 35px;
	width: 300px;
	background-color: #fff;
	box-shadow: 0px 0px 16px 4px rgba(0, 0, 0, 0.1);
	box-sizing: border-box;
}
.detailBox .bgBox .rBox h3 {
	margin-bottom: 15px;
	padding: 0 0 3px 15px;
	border-left: 4px solid #fa8406;
	font-size: 1.8rem;
	font-weight: bold;
}
.detailBox .bgBox .rBox .cateList {
	margin-top: -18px;
}
.detailBox .bgBox .rBox .cateList li {
	margin: 18px 0 0;
	width: 100%;
}
.detailBox .bgBox .rBox .cateList li a {
	padding: 8px 30px;
	font-size: 1.6rem;
	font-weight: normal;
	background-position: left 10px center;
}
.detailBox .bgBox .rBox .cateList li:last-child a {
	border-bottom: none;
}
.detailBox .infoBox h2 {
	margin-bottom: 10px;
}
.detailBox .infoBox table {
	margin-bottom: 98px;
	width: 100%;
	border-spacing: 0;
}
.detailBox .infoBox th, .detailBox .infoBox td {
	padding: 20px 30px 15px;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #e0dfdf;
}
.detailBox .infoBox th {
	padding: 20px 20px 15px;
	width: 16.7%;
	font-weight: normal;
	border-bottom-color: #fa8406;
}
@media all and (min-width: 897px) {
	.detailBox .btn a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.detailBox {
		margin-top: 40px;
	}
	.detailBox h2 {
		margin-bottom: 20px;
		font-size: 2.5rem;
		line-height: 1.33;
		letter-spacing: 1px;
	}
	.detailBox h2 span {
		padding: 0 55px;
	}
	.detailBox h2 span:after, .detailBox h2 span:before {
		width: 45px;
		height: 2px;
	}
	.detailBox .imgBox {
		margin-bottom: 50px;
		padding-bottom: 80px;
		flex-wrap: wrap;
		position: relative;
	}
	.detailBox .imgBox .photoBox {
		margin-top: 0;
		width: 100%;
	}
	.detailBox .imgBox .photoBox .btn {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
	}
	.detailBox .imgBox .txtBox {
		margin-right: 0;
		width: 100%;
	}
	.detailBox .btn {
		flex-wrap: wrap;
	}
	.detailBox .btn li {
		margin: 0 0 20px;
		width: 100%;
	}
	.detailBox .btn a {
		margin: 0 auto;
		width: 100%;
		max-width: 360px;
	}
	.detailBox .bgBox {
		margin-bottom: 45px;
		padding: 45px 0;
	}
	.detailBox .bgBox .comBox {
		flex-wrap: wrap;
	}
	.detailBox .bgBox .lBox {
		width: 100%;
	}
	.detailBox .bgBox .lBox h3 {
		margin-bottom: 10px;
		padding-left: 30px;
		font-size: 2rem;
	}
	.detailBox .bgBox .lBox h3:before {
		width: 22px;
		height: 22px;
		border-width: 5px;
	}
	.detailBox .bgBox table {
		margin-bottom: 30px;
	}
	.detailBox .bgBox th, .detailBox .bgBox td {
		padding: 10px;
	}
	.detailBox .bgBox th {
		padding: 10px 5px;
	}
	.detailBox .bgBox .comBox .rBox {
		margin-top: 30px;
		padding: 20px;
		width: 100%;
	}
	.detailBox .bgBox .comBox .rBox h3 {
		padding: 0 0 2px 12px;
		font-size: 1.6rem;
	}
	.detailBox .bgBox .rBox .cateList {
		margin-top: -10px;
	}
	.detailBox .bgBox .rBox .cateList li {
		margin: 10px 0 0;
	}
	.detailBox .bgBox .rBox .cateList li a {
		padding: 4px 25px;
		font-size: 1.4rem;
	}
	.detailBox .infoBox table {
		margin-bottom: 50px;
	}
	.detailBox .infoBox th, .detailBox .infoBox td {
		padding: 15px 5px 10px;
	}
	.detailBox .infoBox th {
		padding: 15px 5px 10px;
		width: 27%;
	}
}
@media all and (max-width: 359px) {
	.detailBox .bgBox th {
		width: 35%;
	}
	.detailBox .infoBox th {
		width: 28%;
	}
}