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

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700;900&family=Rubik:wght@500&display=swap');

.rubik{font-family: 'Rubik', sans-serif;}

.borGRE{border: solid 1px #2AAB9F;}
.underB{border-bottom:1px solid #222222;}

.w200 { max-width: 200px; width: 100%;border-radius: 30px;}
.w250 { max-width: 250px; width: 100%;border-radius: 30px;}
.w240 { max-width: 240px; width: 100%;}
.w768 { max-width: 768px; width: 100%;margin:0 auto;}

#page-top {position: fixed;bottom: 40px;right: 40px;width: 60px; z-index:400;}
@media screen and (max-width: 896px) {
	#page-top {position: fixed;bottom: 5px;right: 5px;width: 30px; z-index:400;}
}

.ratioBox {position: relative;width: 100%;height: auto;}
.ratio1-1:before {content: "";display: block;padding-top: 100%; /* 1:1 */}
.ratio2-1:before {content: "";display: block;padding-top: 50%; /* 2:1 */}
.ratio3-2:before {content: "";display: block;padding-top: 66%; /* 3:2 */}
.ratio4-3:before{ content: "";display: block;padding-top: 75%; /* 4:3 */}
.ratioInner {position: absolute;top: 0; left: 0;width: 100%;height: 100%;}

.slideInup {opacity: 0; -webkit-transition: all 0.3s; -o-transition: all 0.3s; transition: all 0.3s; -webkit-transform: translateY(60px); -ms-transform: translateY(60px); transform: translateY(60px);}
.slideInup.appear {opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0);}
.fadeIn {opacity: 0; transition: all 1s;}
.fadeIn.appear {opacity: 1;}
.delay01 {transition-delay: .2s;}
.delay02 {transition-delay: .4s;}
.delay03 {transition-delay: .6s;}
.delay04 {transition-delay: .8s;}
.delay05 {transition-delay: 1s;}

@keyframes DownAnime{
  from {opacity: 0; transform: translateY(-100px);}
  to {opacity: 1; transform: translateY(0);}
}

header {width: 100%; background: #FFF; padding: 15px 30px; position: relative; z-index: 100;}
#under header {box-shadow: 0 3px 6px rgb(0 0 0 / 30%); position: relative; z-index: 100;}

#header h1 {max-width: 200px;}
#header.fixed {position: fixed; top: 0; z-index: 10; padding: 15px 20px; background: rgba(255,255,255,.8); animation: DownAnime 0.5s forwards; box-shadow: 0 3px 6px rgb(0 0 0 / 30%);}
#header.fixed h1 {width: 262px;}
.logoImg { /*max-width: 240px;*/}
.navArea{ /*width: calc(100% - 324px - 40px);*/ }
.navR{ width:calc(100% - 200px);}
.navR .gap{ gap:30px;}
.global_menu {/*visibility: hidden;*/ height: 100%; position: fixed; top: 0; left:0; color: #222; /*overflow-y: scroll;*/ text-align: center;}
.global_menu a {display: block; width: 100%; padding: 0 10px; color: #222222; box-shadow: inset 0 0 0 0 #006aa1; transition: color .3s ease-in-out, box-shadow .3s ease-in-out;}
.global_menu a:hover { color: #fff; box-shadow: inset 200px 0 0 0 #006aa1;}
.global_menu a.externalLink::after {content:""; display: inline-block;width:14px;height:14px;background: url("../img/cmn/link.svg");margin-left: 5px;}
.global_menu a.externalLink:hover::after {background: url("../img/cmn/link_wh.svg");}
#header .cmnBtn {background: #006AA1; box-shadow: none; margin: 0 0 0 12px;}
#header .cmnBtn:hover { background:#45cdf7;}
#header .cmnBtn2 {display: block; padding: 20px 0; text-align: center; background:#449BC9; transition: all 0.3s ease 0s; margin: 0 0 0 15px; border-radius: 6px;}
#header .cmnBtn2:hover {	color:white;background:#45cdf7; }
#header .pcOnly{margin-top: 0;}

/*.menu_wrap{ gap: 30px;} */
.menu {font-size: 18px; font-weight: 700; white-space: nowrap;transition:all 1s; margin: 0 5px;}
#hanburger {display: none;}
#hanburger:checked ~ .menu_button {top: 0; right: 0; background: transparent;}
#hanburger:checked ~ .span2 {display: none;}
#hanburger:checked ~ .span1 {width: 32px; transform: rotate(45deg); top: 26px; right: 10px;}
#hanburger:checked ~ .span3 {width: 32px; transform: rotate(-45deg); top: 26px; right: 10px;}
#hanburger:checked ~ .global_menu {visibility: visible;}
#hanburger,.spOnly {display: none;}
.navR .w250 {margin-left: 15px;}
.menu_button {width: 50px; height: 50px; position: fixed; top: 0; right: 0; background: #006AA1; z-index: 15;}
.mailBtn{  width: 50px; height: 50px; line-height:50px; position: fixed; top: 0; right: 50px; z-index: 2; }
.mailBtn img{  width: 18px; height: 18px;     vertical-align: middle;}
@media screen and (max-width: 1080px) {
	header { padding: 30px 15px; }
	.logoImg { max-width: 200px;}
	.navR {  width: calc(100% - 200px);}
	.menu_wrap { gap: 10px;}
}
@media screen and (min-width: 897px) {
  .global_menu {position: inherit; padding: 0; color: #0B4DA0; visibility: visible; overflow-y: visible; height: auto;}
  .menu:hover .child_menu {visibility: visible; top: 81px; opacity: 1;}
  .child_menu {width: 100%; position: absolute; top: 0; left: 0; padding: 10px; color: #FFF; background: #1B2B78; visibility: hidden; opacity: 0; transition: .5s top, .5s opacity; z-index: 10;}
  .child_menu > li {display: inline-block; margin: 0 10px; background: #FFF;}
  .child_menu > li a {padding: 10px 20px; border: 1px solid #FFF; transition: .5s all;}
  .child_menu > li a:hover {background: #1B2B78; color: #FFF;}
  .child_menu > li > ul > li a {padding: 10px; position: relative;}
  .menu_button {display: none;}
}
@media screen and (max-width: 896px) {
  .pcOnly {display: none;}
  #header .spOnly,.spOnly {display: block;}
  header { padding: 10px 15px; height: 60px;}  
  header h1 {padding: 0; width: initial;}
  .logoImg {max-width: 140px;}
  .drawer__nav .hd_lpbana img{width: 80%; display: block; margin: 10px auto; max-width: 100% !important;}
  span.span1,span.span2,span.span3 {width: 30px; height: 1px; background-color: #FFF; right: 10px; transition: .3s; z-index: 100; position: fixed;}
  .span1 {top: 17px;}
  .span2 {top: 25px;}
  .span3 {top: 33px;}
  #hanburger:checked .global_menu {visibility: hidden;}
  .global_menu {z-index: 10;}
  #header .global_menu .cmnBtn{border:0; background: #FDA500; text-align: center; width: 90%; margin-left: 5%!important;}
  .menu {display: block;}
  .menu > label:hover {cursor: pointer; cursor: hand;}
  .menu input[type="checkbox"]:checked ~ .child_menu {max-height: inherit!important; overflow-y: visible; visibility: visible!important;}
  .menu > a {padding: 15px 20px; text-align: left; border-bottom: 1px solid #FFFFFF; font-weight: 400; }
  .menu:nth-of-type(5) > a {padding: 15px 20px; border-bottom: 0px; text-align: center; font-weight: 700; margin: 3% auto 0; width: 80%; background: #006AA1; border-radius: 50px;}
  .menu:nth-of-type(5)  > a:hover {box-shadow: none;}
  .menu:nth-of-type(6) > a {padding: 15px 20px; border-bottom: 0px; text-align: center; font-weight: 700; margin: 3% auto 0; width: 80%; background: #142C4D; border-radius: 50px;}
  .menu:nth-of-type(6) > a:hover {box-shadow: none;}
  .menu > a span {margin-right: 10px; width: 30px!important;}
  .menu > a span img {width: 100%;}
  .menu .pd {display: inline-block; width: 100%; position: absolute; top: 0; left: 0; height: 100%;}
  .menu .child_menu {border-top: 1px solid #DDD; position: relative; opacity: 1; top: 0; margin-left: auto; left: auto; width: auto;}
  .child_menu li {display: block;}
  .child_menu > li > a,.child_menu > li > ul > li a {padding: 10px 15px; color: #222; text-align: left; border-bottom: 1px dotted #999;}
  .child_menu > li > ul > li a {padding: 15px 20px 15px 35px; position: relative;}
  .child_menu > li > ul > li:last-child a {border-bottom: 1px solid #CCC;}
  .child_menu > li > ul > li a::before {border-top: solid 1px #222; content: ''; left: 20px; position: absolute; top: 50%; width: 10px;}
  .child_menu li {display: block;}
  .menu_wrap {display: none;}
  #hanburger:checked ~ * .menu_wrap {width: 100%; display: block; opacity: 1; min-height: 100vh; background:#67b7e1; position: fixed; top: 0; z-index: 5;}
  #hanburger:checked ~ * .menu {max-height: inherit; overflow-y: visible; padding: 0; margin-left: 0; position: relative;}
	#hanburger:checked ~ * .menu:first-child img{ max-width:158px;} 	
  #hanburger:checked ~ * .menu a { color: white;}
  #hanburger:checked ~ * .child_menu {max-height: 0; overflow-y: hidden; visibility: hidden; text-align: left;}
}

footer {background: url(../img/cmn/footerbg.jpg) no-repeat center center; background-size: cover;}
.footerArea {padding: 50px 0 40px 0;}
.footerArea nav {border-bottom: solid 1px white;}
.footerArea nav li {padding: 0 20px; border-right: 1px solid white;}
.footerArea nav li:first-child{padding-left: 0;}
.footerArea nav li:last-child{border-right: 0; padding-right: 0;}
.footerLogo {padding: 45px 0 40px 0;}
.footerLogo {width: 357px; margin: 0 auto;}
.footCopy {text-align: center;}
.footCopy small {font-size: 14px; line-height: 1.2;}
#footer .ft_lpbana{position: fixed; z-index: 5; bottom: 10px; right: 20px;}
#footer .ft_lpbana img{width: 330px; height: auto;transition: 0.3s; filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.3));}
#footer .ft_lpbana img:hover{opacity: 0.7; filter: none;}
.bl_floatingBanner {
	margin: 0;
  }
  .bl_floatingBanner.js_close {
	display: none;
  }
  .bl_floatingBanner_close {
	width: 22px;
    height: 22px;
    position: absolute;
    right: -10px;
    top: -18px;
    cursor: pointer;
    transition: 0.3s;
    background: #cccccc;
    border-radius: 15px;
    align-content: center;
  }
  .bl_floatingBanner_close:hover {
	background: #dedede;
  }
  .bl_floatingBanner_close span:nth-of-type(1) {
	position: absolute;
    top: 11px;
    right: 4px;
    width: 14px;
    height: 1px;
    background-color: #fff;
    transform: rotate(45deg);
  }
  .bl_floatingBanner_close span:nth-of-type(2) {
	position: absolute;
    top: 4px;
    right: 10px;
    width: 1px;
    height: 14px;
    background-color: #fff;
    transform: rotate(45deg);
  }
  

@media screen and (max-width: 568px) {
	footer { background: url(../img/cmn/footerbg_sp.jpg) no-repeat center center; background-size: cover;}
	.footerArea {padding: 40px 0;}
	.footerLogo {border-top: 1px solid #FFF; margin: 0; padding: 30px 0 20px; width: 100%;}
	.footerLogo a {width: 357px; margin: 0 auto;}
	.footerArea nav {font-size: 14px; padding-bottom: 25px; max-width: 315px; margin: 0 auto; border-bottom: none;}
	.footerArea nav li {margin: 0 0 15px 0;}
	.footerArea nav li:first-child {padding-left: 20px; border-left: 1px solid #FFF;}
	.footerArea nav li:nth-child(3),.footerArea nav li:nth-child(5) {border-left: 1px solid #FFF;}
	.footerArea nav li:last-child {border-right: 1px solid #FFF; padding-right: 20px;}
	.footerLogo img { max-width: 203px;}
	.footCopy small {font-size: 10px;}
	.bl_floatingBanner_close {
        width: 30px;
        height: 30px;
        right: 7%;
        top: -22px;
		border-radius: 15px;
	}
	.bl_floatingBanner_close span:nth-of-type(1) {
		top: 16px;
        right: 5px;
        width: 19px;
	}
	.bl_floatingBanner_close span:nth-of-type(2) {
		top: 6px;
        right: 14px;
        height: 19px;
	}

}

.w1300 {width: 100%; max-width: 1332px; padding-left: 0; padding-right: 0;}
.w1500 {width: 100%; max-width: 1520px; padding-left: 0; padding-right: 0;}
.container {width: calc(100% - 40px); max-width: 1212px; padding-left: 0; padding-right: 0;}
.containers {width: calc(100% - 40px); max-width: 808px; padding-left: 0; padding-right: 0;}
.mlr,.container,.containers {margin-left: auto!important; margin-right: auto!important;}
.mlr5 {margin-left: 5px; margin-right: 5px;}
.mlr20,.col1,.col2,.col3,.col4,.col5,.col6 {margin-left: 20px; margin-right: 20px;}
.col1 {width: calc(100%/6 - 40px);}
.col2 {width: calc(100%/3 - 40px);}
.col3 {width: calc(50% - 40px);}
.col4 {width: calc(100%/1.5 - 40px);}
.col5 {width: calc(100%/1.2 - 40px);}
.col6 {width: calc(100% - 40px);}
.box4 {width: calc(25% - 30px); margin-left: 15px; margin-right: 15px;}
.w300 {max-width: 300px; width: 100%;}
.w25 {width: 25%;}
.w50 {width: 50%;}
.w75 {width: 75%;}

@media screen and (max-width: 896px) {
  .container,.containers {width: calc(100% - 20px);}
  .mlr20,.col1,.col2,.col3,.col4,.col5,.col6,.box3 {margin-left: 10px; margin-right: 10px;}
  .mlr5 {margin-left: 0; margin-right: 0;}
  .col1 {width: calc(100%/6 - 20px);}
  .col2 {width: calc(100%/3 - 20px);}
  .col3 {width: calc(50% - 20px);}
  .col4 {width: calc(100%/1.5 - 20px);}
  .col5 {width: calc(100%/1.2 - 20px);}
  .col6 {width: calc(100% - 20px);}
  .box4 {width: calc(25% - 20px); margin-left: 10px; margin-right: 10px;}
}
@media screen and (max-width: 568px) {
  .col1 {width: calc(100%/3 - 20px);}
  .col2,.col3,.col4,.col5,.col6 {width: calc(100% - 20px);}
  .box4 {width: calc(50% - 20px);}
}

ul.dot {list-style: disc; margin-left: 1.5em;}
ul.num {list-style: decimal; margin-left: 1.5em;}
.btnCmn {display: block; width: 100%; padding: 12px 32px; text-align: center; border: 1px solid #222; border-radius: 40px; color: #222; background: #FFF url("../img/cmn/arrow.svg") no-repeat right 20px center; transition: .3s;}
.btnCmn:hover {background: #222 url("../img/cmn/arrow_wh.svg") no-repeat right 10px center; color: #FFF;}

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

共通

------------------------------------------------------*/
/*-- 三角背景 --*/
#top01::before,#top03::before {content: ''; position: absolute; z-index: 0; bottom: 0;left: 0; border-bottom: 150px solid #2AAB9F;  border-right: 100vw solid transparent; }
#top02::before,#top04::before {content: ''; position: absolute; z-index: 0; bottom: -75px; right: 0; border-top: 150px solid #2AAB9F;  border-left: 100vw solid transparent; }

/*-- ボタンホバー --*/
.cmnBtn {display: block; padding: 20px 0; text-align: center; background:#FDA500; transition: all 0.3s ease 0s; margin: 0 auto; border-radius: 6px;}
.cmnBtn:hover {	color:white;background:#006aa1; }

/*-- 拡大ホバー --*/
.picCard .scaleImg {  overflow:hidden;}
.picCard .scaleImg img { transition:transform 0.3s;}
.picCard .scaleImg:hover img { transform:scale(1.2);}

/*-- カードホップ --*/
.cardHop { transition:box-shadow 0.3s, transform 0.3s;}
.cardHop::before { content:""; position:absolute; top:0; left:0; display:block; transition:box-shadow 0.3s; }
.cardHop:hover { box-shadow:0 2px 5px rgba(0, 0, 0, 0.3); transform:scale(1.03);}


/*-- 見出し --*/
.bothLine{ display: flex; align-items: center;  justify-content: center; }
.bothLine:before, .bothLine:after { border-top: 3px solid white; content: ""; width: 7vw;}
.bothLine:before {margin-right: 0.6vw;}
.bothLine:after {margin-left: 0.6vw;}
.diagonalLine::before,.diagonalLine::after{content:"/";}
.diagonalLine::before{ margin-right:10px;}
.diagonalLine::after{ margin-left:10px;}

.doubleDiagonalLine::before{ content:"";display:inline-block;width:33.28px;height:38.81px; background:url(../img/top/02-02.svg) no-repeat center center; background-size: cover; margin-right: 15px;}
.doubleDiagonalLine::after{ content:"";display:inline-block;width:33.28px;height:38.81px; background:url(../img/top/02-03.svg) no-repeat center center; background-size: cover; margin-left: 15px;}

.speechBubble { display: table; margin:0 auto 10px auto; padding: 5px 30px; background: #222222; color:white; border-radius: 5px;}
.speechBubble:before { content: ""; position: absolute; top: 100%; left: 50%; margin-left: -15px; border: 15px solid transparent; border-top: 12px solid #222222; display: table-cell; vertical-align: middle;}
@media screen and (max-width: 986px) {
	.spFlexCol{flex-direction: column;	gap: 40px 0;}
	.spFlexColrev{flex-direction: column-reverse; gap: 40px 0; }
}
@media screen and (max-width: 568px) {
	.cmnBtn {padding: 17px 0;}
}

.mt8p{margin-top: 8%;}

/* ------------------------- FV ------------------------- */
#fvarea{
	background: linear-gradient(90deg, rgba(59, 132, 196, 1), rgba(34, 77, 137, 1));
	padding:0;
	overflow: visible;
	color: #fff;
	margin-bottom: 1%;
}
.inner{
	width: 1210px;
	margin: 0 auto;
	display: block;
	box-sizing: border-box;
}

.inner img{
	width: initial;
	max-width: 100%;
	height: auto;
	}

#fvarea h2{
	color: #fff;
	font-weight: bold;
	text-align: center;
	text-shadow: #0a0808 0 3px 3px;
	line-height: 0.9em;
}

.fv_catchbtm{
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	margin: 3% auto 0;
}

.fv_catchbtm div.fv_catchleft{
	width: 57%;
}

.fv_catchbtm_p{
	line-height: 1.5em;
}

.fv_catchbtm div:nth-of-type(2) img{
	width: 250px;
	height: auto;
	margin-bottom: -15px;
}

.fv_lineup{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	margin: 3% auto;
}

.fv_lineup div{
	border: 1px solid #fff;
	width: 45%;
	height: auto;
	text-align: center;
	display: flex;
	padding: 3% 2% 3% 12%;
	box-sizing: border-box;
	justify-content: space-between;
	align-items: center;
	margin: 0 2% 15px 0;
}
.fv_lineup div:nth-of-type(1){
	background: #142C4D url(../imgs/top/fv_lineup_01.png) no-repeat left 8% center;
	background-size: 40px 40px;
}
.fv_lineup div:nth-of-type(2){
	background: #142C4D url(../imgs/top/fv_lineup_02.png) no-repeat left 8% center;
	background-size: 40px 40px;
}
.fv_lineup div:nth-of-type(3){
	background: #142C4D url(../imgs/top/fv_lineup_03.png) no-repeat left 8% center;
	background-size: 40px 40px;
}
.fv_lineup div:nth-of-type(4){
	background: #142C4D url(../imgs/top/fv_lineup_04.png) no-repeat left 8% center;
	background-size: 40px 40px;
}


#fvarea_btn{
	background: #fff;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.5);
	width: 100%;
	border-bottom: 1px solid #234F8B;
	padding: 1% 0 1.8%;
}
#fvarea_btn .inner{
	display: flex;
	justify-content: space-between;
    align-items: center;
}

#fvarea_btn a{
	width: 48%;
	transition: 0.3s;
	padding: 40px 3%;
	border-radius: 7px;
	justify-content: center;
	color: #fff;
	display: flex;
	position: relative;
	align-items: center;
	box-sizing: border-box;
	text-shadow: 1px 0px 3px rgba(0,0,0,0.8);
}

#fvarea_btn a:first-of-type{
	background: linear-gradient(180deg, rgba(0, 106, 161, 1) 70%, rgba(0, 83, 126, 1));
}
#fvarea_btn a:last-of-type{
	background: linear-gradient(180deg, rgba(68, 155, 201, 1) 70%, rgba(50, 117, 152, 1));
}

#fvarea_btn a:first-of-type img,
#fvarea_btn a:last-of-type img{
	position: absolute;
	right: 5%;
	width: 25px;
	height: auto;
}

#fvarea_btn a:hover{
	opacity: 0.7;
}

@media screen and (max-width: 1209px) {
	.inner{
	max-width: 100%;
	padding-right: 4%;
	padding-left: 4%;
	}
}

@media screen and (max-width: 767px) {
	#fvarea h2{
		line-height: 2em;
		font-size: 6vw;
	}

	.fv_catchbtm div h3 {font-size: 4.5vw;}
	.fv_catchbtm div h3 span {font-size: 5vw;}

	.fv_catchbtm {
		justify-content: center;
		flex-direction: column;
	}

	.fv_catchbtm_p{
		margin: 20px auto;
	}

	.fv_lineup div {
		width: 48%;
		height: auto;
		padding: 3% 3% 3% 10%;
		box-sizing: border-box;
		align-items: center;
		margin: 0 2% 20px 0;
		font-size: 4vw;
		justify-content: space-evenly;
	}

	.fv_catchbtm div.fv_catchleft{
		width: 100%;
	}

	.fv_lineup div:nth-of-type(1),
	.fv_lineup div:nth-of-type(2),
	.fv_lineup div:nth-of-type(3),
	.fv_lineup div:nth-of-type(4) {
		background-size: 22px 22px;
	}

	.fv_catchbtm div:nth-of-type(2) img {
		width: 75%;
		height: auto;
		margin: 0 auto 30px;
		display: block;
	}

	#fvarea_btn .inner {
		flex-direction: column;
	}

	#fvarea_btn .inner a {
		width: 100%;
		max-width: 100%;
		margin: 10px auto;
		padding: 40px 3%;
		font-size: 5vw;
	}

	#fvarea_btn .inner a:first-of-type img,
	#fvarea_btn .inner a:last-of-type img {
		width: 15px;
	}

}

/* ------------------------- sec01 ------------------------- */
#sec01{
	padding: 70px 0;
	display: block;
	margin:0 auto;
	text-align: center;
}

#sec01 .inner{
	width: 1500px;
	max-width: 100%;
}

#sec01 h2{
	font-size: 30px;
	text-align: center;
	color: #142C4D;
}

#sec01 h2 span{
	font-size: 150%;
}

.sec01_box{
	margin: 50px auto;
	display: flex;
	align-items: center;
}

.sec01_box div{
	width: 32%;
	height: auto;
	display: flex;
    flex-direction: column;
    /* align-content: center; */
    align-items: center;
}

.sec01_box img{
	width: 636px;
	height: auto;
}

.sec01_box h3{
	color: #fff;
	background: #142C4D;
	display: inline-block;
	padding: 5px 30px;
	text-align: center;
	margin-bottom: 30px;
}

.sec01_box div:first-of-type p{
	background: url(../imgs/top/sec01_fuki-left.png) no-repeat;
	background-size: contain;
	line-height: 1.3em;
	font-weight: bold;
	color: #142C4D;
	text-align: left;
	width: 405px;
	height: 97px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 30px;
	padding-right: 5%;
	box-sizing: border-box;
}

.sec01_box div:first-of-type p:nth-of-type(2){
	margin-left: 40px;
}

.sec01_box div:last-of-type p{
	background: url(../imgs/top/sec01_fuki-right.png) no-repeat;
	background-size: contain;
	font-size: 22px;
	line-height: 1.3em;
	font-weight: bold;
	color: #142C4D;
	text-align: left;
	width: 405px;
	height: 97px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 30px;
	padding-left: 5%;
	box-sizing: border-box;
}

.sec01_box div:last-of-type p:nth-of-type(2){
	margin-left: 40px;
}

@media screen and (max-width:1200px) {
	.sec01_box h3 {
		font-size: 2vw;
	}

	.sec01_box div:first-of-type p {
		font-size: 1.7vw;
		width: 100%;
		height: auto;
		margin-bottom: 8%;
		padding: 4% 10% 4% 0%;
	}
	.sec01_box div:last-of-type p {
		font-size: 1.7vw;
		width: 100%;
		height: auto;
		margin-bottom: 8%;
		padding: 4% 12%;
	}
}

@media screen and (max-width:767px) {
	#sec01 {padding: 10% 0;}
	#sec01 h2 {line-height: 1.6em;}
	.sec01_box {
		flex-direction: column;
		margin: 10% auto;
	}

	.sec01_box div {
		width: 100%;
		height: auto;
	}

	.sec01_box h3{
		font-size: 5vw;
	}

	.sec01_box img{
		width: 60%;
		margin-bottom: 10%;
	}
	.sec01_box div:first-of-type,
	.sec01_box div:last-of-type{
		width: 100%;
		height: auto;
		margin: 0 auto;
	}
	.sec01_box div:first-of-type p {
		background: url(../imgs/top/sec01_fuki-top.png) no-repeat;
		background-size: contain;
		font-size: 4.5vw;
		width: 80%;
		display: flex;
		height: auto;
		margin: 0 auto 3%;
		padding-right: initial;
		padding-bottom: 11%;
		padding-top: 4%;
		align-items: center;
	}
	.sec01_box div:first-of-type p:nth-of-type(2) {
		margin-left: 15%;
	}

	.sec01_box div:last-of-type p {
		background: url(../imgs/top/sec01_fuki-bottom.png) no-repeat;
		background-size: contain;
		font-size: 4.5vw;
		width: 80%;
		display: flex;
		height: auto;
		margin: 0 auto 3%;
		padding-left: initial;
		padding-top: 8%;
		padding-bottom: 4%;
		align-items: center;
	}

	.sec01_box div:last-of-type p:nth-of-type(2) {
		margin-right: 15%;
	}

}


/* ------------------------- sec02 ------------------------- */
#sec02{
	padding: 125px 0 7%;
	display: block;
	margin:0 auto;
	background: #F4F8FB url(../imgs/top/sec02_bgtop.svg) no-repeat top -1px center;
}

#sec02 h2{
	color: #142C4D;
	text-align: center;
	margin-bottom: 5%;
}

#sec02 h2 span{
	font-size: 125%;
}

#sec02 h2::after{
	content: ' ';
	background: url(../imgs/top/sec02_h2bg.png) no-repeat;
	background-size: contain;
    width: 50px;
    height: 120px;
    position: absolute;
    display: inline-block;
    margin: -30px 10px -45px;
}

#sec02 h3{
	color: #142C4D;
	text-align: center;
	background: #fff;
	border: 1px solid #142C4D;
	display: block;
	width: 470px;
	padding: 1% 15px;
	margin: 0 auto 10%;
	box-sizing: border-box;
}

.sec02_meritbox{
	display: flex;
	justify-content: space-evenly;
}

.sec02_meritbox div{
	background: #fff;
	padding: 0 2% 2%;
	overflow: visible;
	border-radius: 7px;
	width: 30%;
}

.sec02_meritbox div > div{
	background:none;
	padding: 0;
	width: 100%;
}

.sec02_meritbox div > div > img{
	display: block;
	margin: -36% auto 30px;
    width: 80%;
    height: auto;
}

#sec02 .sec02_meritbox div h3{
	width: initial;
	background: none;
	border: none;
	text-align: center;
	display: block;
	margin-bottom: 20px;
}

#sec02 .sec02_meritbox div p{
	text-align: left;
}

@media screen and (max-width:896px) {
	#sec02 h2::after {
		background-size: contain;
		width: 25px;
		height: 60px;
		margin: -5px 10px 0;
	}
}
@media screen and (max-width:767px) {
	#sec02 {
		padding: 75px 0 7%;
		background-size: 40%;
	}
	#sec02 h2{
		font-size: 5vw;
	}

	#sec02 h3 {
		font-size: 5vw;
		width: 100%;
		padding: 1% 2%;
		margin-bottom: 8%;
	}
	.sec02_meritbox {
		display: flex;
		justify-content: space-evenly;
		flex-wrap: wrap;
	}
	.sec02_meritbox div {
		width: 100%;
		display: flex;
		flex-direction: column;
		align-content: center;
		align-items: center;
		margin-bottom: 5%;
		padding: 4%;
	}

	#sec02 .sec02_meritbox div h3 {
		padding-left: 0;
		margin-bottom: 3%;
	}

	.sec02_meritbox div > div {
		background: none;
		padding: 0;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 0;
	}

	.sec02_meritbox div > div > img {
		display: block;
		margin: 5% auto;
		width: 72%;
		height: auto;
	}
}



/* ------------------------- sec03 ------------------------- */
#sec03{
	padding: 125px 0 50px;
	display: block;
	margin:0 auto;
	text-align: center;
	background: #fff url(../imgs/top/sec03_bgtop.svg) no-repeat top -1px center;
}

#sec03 .inner{
	width: 1600px;
	height: auto;
	max-width: 100%;
}

#sec03 h2{
	background: #142C4D;
	color: #fff;
	font-weight: bold;
	text-align: center;
	display: inline-block;
	padding: 1% 5%;
	box-sizing: border-box;
	margin-bottom: 3%;
}

#sec03 h3{
	text-align: center;
}

#sec03 h3 span{font-size: 125%;}

.sec03_service{
	display: block;
	width: 96%;
	height: 0;
	padding-top: 66.64%;
	background: url(../imgs/top/sec03_service_base.png) no-repeat;
	background-size: 100% auto;
	position: relative;
	margin: 5% 2% 2%;
	aspect-ratio: 1.44 / 1;
}

.sec03_service img{transition: 0.3s;}
.sec03_service img:hover{opacity: 0.7;}

.sec03_service img.mid{
	width: 11.7%;
	height: auto;
}

.sec03_service img.wid{
	width: 23.8%;
	height: auto;
}

.sec03_service img.sma{
	width: 10%;
	height: auto;
}

.sec03_service img.menu01{position: absolute; top:21%; left:11.4%;}
.sec03_service img.menu02{position: absolute; top:74.8%; left:11.4%;}
.sec03_service img.menu03{position: absolute; top:80.2%; left:11.4%;}
.sec03_service img.menu04{position: absolute; top:88.5%; left:11.4%;}
.sec03_service img.menu05{position: absolute; top:93.8%; left:11.4%;}
.sec03_service img.menu06{position: absolute; top:21%; left:24.1%;}
.sec03_service img.menu07{position: absolute; top:33.9%; left:24.1%;}
.sec03_service img.menu08{position: absolute; top:48%; left:24.1%;}
.sec03_service img.menu09{position: absolute; top:61.5%; left:24.1%;}
.sec03_service img.menu10{position: absolute; top:21%; left:36.4%;}
.sec03_service img.menu11{position: absolute; top:48%; left:36.4%;}
.sec03_service img.menu12{position: absolute; top:61.5%; left:36.4%;}
.sec03_service img.menu13{position: absolute; top:75.2%; left:36.4%;}
.sec03_service img.menu14{position: absolute; top:88.8%; left:36.4%;}
.sec03_service img.menu15{position: absolute; top:21%; left: 48.9%;}
.sec03_service img.menu16{position: absolute; top:48%; left: 48.9%;}
.sec03_service img.menu17{position: absolute; top:61.5%; left: 48.9%;}
.sec03_service img.menu18{position: absolute; top:75.2%; left: 48.9%;}
.sec03_service img.menu19{position: absolute; top:88.8%; left: 48.9%;}
.sec03_service img.menu20{position: absolute; top:21%; right:27%}
.sec03_service img.menu21{position: absolute; top:61.5%; right:27%}
.sec03_service img.menu22{position: absolute; top:75.2%; left:61.5%}
.sec03_service img.menu23{position: absolute; top:88.8%; left:61.5%}
.sec03_service img.menu24{position: absolute; top:21%; right:14.7%;}
.sec03_service img.menu25{position: absolute; top:48.5%;  right:14.7%;}
.sec03_service img.menu26{position: absolute; top:21%; right:2%;}
.sec03_service img.menu27{position: absolute; top:33%; right:2%;}
.sec03_service img.menu28{position: absolute; top:45%; right:2%;}
.sec03_service img.menu29{position: absolute; top:57%; right:2%;}

@media screen and (max-width:767px) {
	#sec03 {
		background-size: 40%;
		padding: 75px 0 5%;
	}
	#sec03 h2 {
		padding: 1% 3%;
	}
	.sec03_service{
		min-width: 1200px;
		min-height: 838px;
	}
}

/* ------------------------- cvarea ------------------------- */
.sec_cvarea{
	padding: 30px 0;
	display: block;
	margin:0 auto;
	text-align: center;
}

.sec_cvarea h2{
    padding: 0 3%;
    box-sizing: border-box;
	text-align: center;
	line-height: 1.3em;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 3%;
	color:#142C4D!important;
}

.sec_cvarea h2::before {
    background: url(../imgs/top/cvarea_h2bg.svg) no-repeat bottom 0 left 0;
    background-size: contain;
    content: '　';
    width: 70px;
    height: 70px;
	display: block;
}

.sec_cvarea h2::after {
    background: url(../imgs/top/cvarea_h2bg.svg) no-repeat;
    transform: scale(-1, 1);
    background-size: contain;
    content: '　';
    width: 70px;
    height: 70px;
	display: block;
}

.sec_cvarea h2 span{
	font-size: 125%;
	color: #006AA1;
}

.cvarea_btn{
	width: 100%;
	display: flex;
	justify-content: space-around;
}

.cvarea_btn a{
	width: 48%;
    transition: 0.3s;
    padding: 40px 3%;
    border-radius: 7px;
    justify-content: center;
    color: #fff;
    display: flex;
    position: relative;
    align-items: center;
    box-sizing: border-box;
    text-shadow: 1px 0px 3px rgba(0,0,0,0.8);
}

.cvarea_btn a:first-of-type{
	background: linear-gradient(180deg, rgba(0, 106, 161, 1) 70%, rgba(0, 83, 126, 1));
}
.cvarea_btn a:last-of-type{
	background: linear-gradient(180deg, rgba(68, 155, 201, 1) 70%, rgba(50, 117, 152, 1));
}

.cvarea_btn a:first-of-type img,
.cvarea_btn a:last-of-type img{
	position: absolute;
	right: 5%;
	width: 25px;
	height: auto;
}

.cvarea_btn a:hover{
	opacity: 0.7;
}


@media screen and (max-width:768px) {
	.sec_cvarea h2 {
		margin-bottom: 3%;
		font-size: 4vw;
		padding: 0;
		line-height: 1.2em;
	}

	.sec_cvarea h2::before,
	.sec_cvarea h2::after {
		background: none;
		content: none;
		width: 0;
		height: 0;
	}

	.cvarea_btn{
		flex-direction: column;
	}
	.cvarea_btn a{
		width: 90%;
		max-width: 100%;
		margin: 0 auto 20px;
		font-size: 4vw;
		align-items: flex-start;
	}

	.cvarea_btn a:first-of-type img, 
	.cvarea_btn a:last-of-type img {
		width: 25px;
	}

}
/* ------------------------- sec04 ------------------------- */
.sec04{
	padding: 50px 0;
	display: block;
	margin:0 auto;
}

#sec04_2{margin-bottom: 50px;}

.sec04 h2.title{
	border: 1px solid #142C4D;
	background: #fff;
	text-align: center;
	display: flex;
	align-items: center;
    justify-content: center;
	padding: 1% 50px;
	box-sizing: border-box;
	margin: 0 auto 5%;
    width: 630px;
    max-width: 100%;
}

.sec04_box{
	background: #F4F8FB;
	border-radius: 14px;
	padding: 30px 0;
}

.sec04_box h2{
    position: relative;
	display: flex;
    padding: 15px;
    color: #fff;
    background: #142C4D;
	align-items: center;
	width: 50%;
	height: 90px;
	margin-bottom: 50px;
	justify-content: flex-start;
}

.sec04_box h2::before{
	content: '';
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	top: 0;
	right: 0;
	border-top: 46px solid #F4F8FB;
	border-left: 46px solid transparent;
	border-bottom: 46px solid #F4F8FB;
}
.sec04_box h2 p{
	line-height: 0.4em;
    margin-right: 5%;
    text-align: center;
}

.sec04_h2flex{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.inbox{
	width: 86%;
	margin: 0 7%;
	display: block;
}

.sec04_box span.value{
	background-color: #142C4D;
	color: #fff;
	display: inline-block;
	padding: 0.5% 15px 0.8%;
	margin-bottom: 15px;
	line-height: 1.2em;
}

.sec04_box h3{
	display: block;
	margin: 0 auto 30px;
}

.sec04_box h3 span{
	background:linear-gradient(transparent 80%, #FF9C64 80%);
}


.sec04_box h4{
	background: #142C4D;
	color: #fff;
	display: inline-block;
	padding: 10px 30px;
	z-index: 1;
    position: relative;
}

.sec04_flexbox{
	display: flex;
	background: #fff;
	box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3);
	border-radius: 8px;
	box-sizing: border-box;
	padding: 3%;
	overflow: visible;
	margin: -40px auto 50px;
	font-size: 22px;
	line-height: 1.8em;
	align-items: flex-start;
    justify-content: center;
}

.sec04_flexbox div:first-of-type{
	padding-top: 30px;
	width: 70%;
}

.sec04_flexbox div:first-of-type p{
	padding: 3% 10% 3% 0;
}

.sec04_flexbox div:last-of-type{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	min-width: 180px;
}

.sec04_flexbox div a.resultlink{
	background: #FF9C64 url(../imgs/top/sec04_linkarrow.png) no-repeat right 10px top 50%;
    background-size: 15px 15px;
    font-size: 18px;
    color: #fff;
    display: inline-block;
    padding: 0px 30px 0px 10px;
    border-radius: 30px 30px;
    margin-bottom: 20px;
}

.sec04_flexbox div:last-of-type img{
	max-width: 100%;
    margin: 10px auto;
    width: 200px;
}


.sec04_text{
	background: #fff;
	border-radius: 7px;
	padding: 2% 3%;
	color: #142C4D;
	margin-bottom: 50px;
}

h4.sec04_box03_h4{
	display: block;
	background: #142C4D;
	color: #fff;
	text-align: center;
	padding: 1% 3%;
	box-sizing: border-box;
	width: 100%;
	margin: 0 auto 30px;
}

.sec04_flexbox2{
	display: flex;
	justify-content: space-around;
}

.sec04_flexbox2 div{
	background: #fff;
	width: 23%;
	box-sizing: border-box;
	padding: 4%;
	text-align: center;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.5);
	border-radius: 15px;
	display: flex;
	align-items: center;
	flex-direction: column;
	margin-bottom: 5%;
}

.sec04_flexbox2 div p{
	line-height: 1.4em;
}

.sec04_flexbox2 div img{
	height: 100px;
	width: auto;
	margin-bottom: 2%;
}

@media screen and (max-width:1209px) {
	.sec04_flexbox div:last-of-type {
		padding-top: 30px;
	}
}
@media screen and (max-width:767px) {
	.sec04_box h2 {
		padding: 8px 15px;
		color: #fff;
		background: #142C4D;
		width: 90%;
		height: 70px;
		margin-bottom: 5%;
	}
	.sec04_box h2::before{
		border-top: 35px solid #F4F8FB;
		border-left: 35px solid transparent;
		border-bottom: 35px solid #F4F8FB;
	}
	.sec04_box span.value{
		padding: 0.5% 15px;
		margin-bottom: 3%;
	}
	.sec04_box h2 p {line-height: 0.4em;}

	.sec04_box h3{
		margin: 0 auto 8%;
	}
	.sec04_box h4 {
		padding: 2% 3%;
		text-align: left;
		position: relative;
		z-index: 2;
	}
	.sec04_flexbox div:first-of-type p {
		padding: 3%;
	}
	.sec04_flexbox div a.resultlink {
		background-size: 10px 10px;
		padding: 0px 20px 0px 10px;
	}
	.sec04_flexbox {
		flex-direction: column;
		padding: 5%;
		margin: -3% auto 8%;
		line-height: 1.4em;
	}

	.sec04_flexbox div:first-of-type{width: 100%;max-width: 100%;}

	.sec04_flexbox div:last-of-type img{
		width: 75%;
		margin: 0 auto 20px;
	}
	.sec04_text {
		padding: 4% 6%;
		line-height: 1.6em;
		margin-bottom: 10%;
	}

	.sec04_flexbox2 {
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.sec04_flexbox2 div {
		width: 48%;
		padding: 4%;
		text-align: center;
		align-items: center;
		flex-direction: column;
		margin-bottom: 5%;
		justify-content: center;
	}
	.sec04_flexbox2 div img {
		max-width: 50%;
		max-height: 50%;
		margin:0 auto 3%;
	}
	.sec04_flexbox2 div p {
		line-height: 1.4em;
	}
}


/* ------------------------- sec05 ------------------------- */
#sec05{
	padding: 125px 0 50px;
	display: block;
	margin:0 auto;
	background: #F4F8FB url(../imgs/top/sec02_bgtop.svg) no-repeat top -1px center;
}

#sec05 h2.title{
	color: #142C4D;
	border: 1px solid #142C4D;
	background: #fff;
	text-align: center;
	display: flex;
	align-items: center;
    justify-content: center;
	padding: 1% 50px;
	box-sizing: border-box;
	margin: 0 auto 5%;
    width: 630px;
    max-width: 100%;
}

#sec05 h3{
	background: #142C4D;
	text-align: left;
	color: #fff;
	display: inline-block;
	padding: 10px 30px;
	position: relative;
	z-index: 1;
}

#sec05 hr.sec05_hr{
	position: relative;
	margin-top: -30px;
	border: 2px solid #142C4D;
	width: 100%;
	z-index: 0;
}

.sec05_resultbox{
	display: flex;
	justify-content: space-around;
	margin: 50px auto 70px;
}

.sec05_resultbox .result_before{
	width: 47%;
	border-radius: 15px;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.5);
	overflow: visible;
	background: #fff;
	position: relative;
	z-index: 2;
}

.sec05_resultbox .result_before h4{
	background: #449BC9;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:10px 0;
	margin: 0 0 15px;
	font-size: 26px;
	font-weight: bold;
	border-radius: 15px 15px 0 0;
}

.sec05_resultbox .result_before p{
	padding: 3% 5% 5%;
	line-height: 1.6em;
}

.sec05_resultbox .result_before::after{
    content: '';
    background: url(../imgs/top/sec05_arrowright.png) no-repeat;
    background-size: 66px 90px;
    width: 66px;
    height: 90px;
    position: absolute;
    z-index: 2;
    display: inline-block;
    right: -55px;
    top: 40%;
}

.sec05_resultbox .result_after{
	width: 47%;
	border-radius: 15px;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.5);
	overflow: hidden;
	background: #FFF9F7;
}

.sec05_resultbox .result_after h4{
	background: #FF9C64;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:10px 0;
	margin: 0 0 15px;
	font-size: 26px;
	font-weight: bold;
}

.sec05_resultbox .result_after p{
	padding: 3% 5% 5%;
	line-height: 1.6em;
	color: #142C4D;
}

.sec05_resultbox .result_after p span{
	font-weight: bold;
}

@media screen and (max-width: 767px) {
	#sec05{
		padding: 75px 0 50px;
		background-size: 30%;
	}
	#sec05 h2.title {
		padding: 1% 2%;
		margin: 0 auto 5%;
		width: 100%;
		max-width: 100%;
	}
	.sec05_resultbox {
		margin: 12% auto 10%;
		flex-direction: column;
	}
	.sec05_resultbox .result_before,
	.sec05_resultbox .result_after {
		width: 100%;
		margin: 0 auto 10%;
	}
	.sec05_resultbox .result_before p,
	.sec05_resultbox .result_after p {
		padding: 0 5% 5%;
	}
	.sec05_resultbox .result_before::after {
		background-size: 100% 100%;
		rotate: -90deg;
		transform: scale(-1, 1);
		width: 15%;
		height: 25%;
		position: absolute;
		top: 93%;
		left: 43%;
		/* right: 40%; */
	}
}

/* ------------------------- sec07 ------------------------- */
#sec07{
	padding: 75px 0;
	display: block;
	margin:0 auto;
	background: #f4f8f4;
}

#sec07 h2{
	text-align: center;
	margin: 0 auto 50px;
}

.qa-list dl {
    position: relative;
    margin: 0 auto 30px;
    padding: 28px 80px 28px 30px;
    cursor: pointer;
	background: #fff;
	box-shadow: 0px 1px 4px 0px rgba(0, 0, 0, 0.16);
    border-radius: 10px;
}

.qa-list dl::before {
    position: absolute;
    top: 35px;
    right: 35px;
    display: block;
    width: 7px;
    height: 7px;
    margin: auto;
    content: '';
    transform: rotate(135deg);
    border-top: 2px solid #142C4D;
    border-right: 2px solid #142C4D;
}
.qa-list .open::before {
    transform: rotate(-45deg);
}
.qa-list dl dt {
    position: relative;
    margin: 0;
    padding: 0 0 0 55px;
}
.qa-list dl dt::before {
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 0;
    display: block;
    content: '　';
	background: url(../imgs/top/sec07_faq_q.png) no-repeat left center;
	background-size: 40px 40px;
	width: 40px;
	height: 40px;
}
.qa-list dl dd::before {
    line-height: 1;
    position: absolute;
    top: 3px;
    left: 2px;
    display: block;
    content: '　';
	background: url(../imgs/top/sec07_faq_a.png) no-repeat left center;
	background-size: 40px 40px;
	width: 40px;
	height: 40px;
	margin-top: 20px;
}
.qa-list dl dd {
    position: relative;
    display: none;
    height: auto;
    margin: 20px 0 0;
    padding: 20px 0 0 55px;
	line-height: 1.4em;
	border-top: 1px solid #C7C7C7;
}
.qa-list dl dd p {
    margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
    margin-top: 0;
}

@media screen and (max-width: 767px) {
	.qa-list dl {
		position: relative;
		padding: 15px 40px 15px 20px;
	}
	.qa-list dl::before {
		top: 20px;
		right: 20px;
		width: 7px;
		height: 7px;
	}

	.qa-list dl dt::before,
	.qa-list dl dd::before {
		background-size: 30px 30px;
		width: 30px;
		height: 30px;
	}

	.qa-list dl dt, .qa-list dl dd {
		padding: 0 0 0 50px;
	}

	.qa-list dl dd p {
		margin: 30px 0 0;
		padding-top: 15px;
	}
	.qa-list dl dd p:first-child{
		margin-top: 0;
	}
}

/* ------------------------- sec08 ------------------------- */
#sec08{
	padding: 75px 0;
	display: block;
	margin:0 auto;
	text-align: center;
	background: #fff;
}

#sec08 .inner{
	width: 1600px;
	max-width: 100%;
	height: auto;
}

#sec08 h2{
	background: #142C4D;
	color: #fff;
	text-align: center;
	display: inline-block;
	padding: 1% 3%;
	box-sizing: border-box;
	margin-bottom: 30px;
	width: 630px;
	max-width: 100%;
}

#sec08 .sec08_text01{
	text-align: center;
	line-height: 1.2em;
	margin: 30px auto 50px;
}

.sec08_link{
	display: block;
	width: 96%;
	height: 0;
	padding-top: 36.6%;
	background: url(../imgs/top/sec08_link_base.png?=202311131150) no-repeat;
	background-size: 100% auto;
	position: relative;
	margin: 5% 2% 2%;
	aspect-ratio: 1 / 0.381;
}

.sec08_link a img{transition: 0.3s;}
.sec08_link a img:hover{opacity: 0.7;}

.sec08_link img.link01{
	position: absolute; 
	top: 36%;
    left: 11.4%;
    width: 15.9%;
    height: auto;
}
.sec08_link img.link02{
	position: absolute;
    top: 36%;
    left: 36.8%;
    width: 12.2%;
    height: auto;
}
.sec08_link img.link03{
    position: absolute;
    top: 36%;
    left: 49.4%;
    width: 12.4%;
    height: auto;
}
.sec08_link img.link04{
    position: absolute;
    top: 48.5%;
    left: 64%;
    width: 10%;
    height: auto;
}
.sec08_link img.link05{
	position: absolute;
    top: 48.5%;
    left: 75%;
    width: 10%;
    height: auto;
}

#sec08 .sec08_text02{
	text-align: center;
	font-weight: bold;
	font-size: 34px;
	line-height: 1.2em;
	margin: 50px auto;
	padding: 3%;
	background: #f4f8f4;
	color: #142C4D;
	display: flex;
	border-radius: 80px;
    justify-content: center;
	align-items: center;
	width: 1000px;
	max-width: 100%;
}

@media screen and (max-width: 767px) {
	#sec08{
		padding: 50px 0;
	}
	#sec08 h2 {
		width: 100%;
		max-width: 100%;
	}

	.sec08_link{
		min-width: 1200px;
		min-height: 458px;
	}

	#sec08 .sec08_text01 {
		font-size: 4.8vw;
		margin-bottom: 10%;
		text-align: left;
	}

	#sec08 .sec08_text02 {
		font-size: 4vw;
		line-height: 1.2em;
		margin: 10% auto 3%;
		padding: 3% 8%;
		width: 100%;
		max-width: 100%;
		text-align: left;
	}
}

/* ------------------------- sec09 ------------------------- */
#sec09{
	padding: 75px 0;
	display: block;
	margin:0 auto;
	text-align: center;
}

.cvarea_btn2{
	width: 100%;
	display: flex;
	justify-content: center;
}

.cvarea_btn2 a{
	width: 1000px;
	max-width: 96%;
	margin: 0 2%;
	transition: 0.3s;
	padding: 40px 5%;
	border-radius: 7px;
	justify-content: center;
	color: #fff;
	background: linear-gradient(180deg, rgba(68, 155, 201, 1) 70%, rgba(50, 117, 152, 1));
	display: flex;
	position: relative;
	align-items: center;
	box-sizing: border-box;
	text-shadow: 1px 0px 3px rgba(0,0,0,0.8);
}

.cvarea_btn2 a:hover {
    opacity: 0.7;
}

/* ------------------------- sec10 ------------------------- */
#sec10{
	padding: 0 0 8%;
	display: block;
	margin:0 auto;
	border-top: 2px solid #142C4D;
	border-bottom: 2px solid #142C4D;
	overflow: visible;
}

#sec10 h2 {
	display: block;
	width: 1230px;
	max-width: 100%;
	margin: -4.6% auto 50px;
}

#sec10 h2 span{
	background: #142C4D;
	text-align: left;
	color: #fff;
	display: inline-block;
	padding: 10px 30px;
	position: relative;
	z-index: 1;
}

#sec10 p{
	margin-bottom: 40px;
}

.sec10_box{
	background: #F4F8FB;
	width: 100%;
	display: flex;
	justify-content: space-around;
	padding: 3% 4%;
	margin-bottom: 50px;
}

.sec10_box img{
	width: 32%;
	height: auto;
}

.sec10_contactbtn a{
	width: 1000px;
	max-width: 96%;
	margin: 0 auto;
	transition: 0.3s;
	padding: 40px 5%;
	border-radius: 7px;
	justify-content: center;
	color: #fff;
	background: linear-gradient(180deg, rgba(0, 106, 161, 1) 70%, rgba(0, 83, 126, 1));
	display: flex;
	position: relative;
	align-items: center;
	box-sizing: border-box;
	text-shadow: 1px 0px 3px rgba(0,0,0,0.8);
}

.sec10_contactbtn a:hover {
    opacity: 0.7;
}

@media screen and (max-width: 767px) {
	#sec10{
		margin:10% auto;
	}
	#sec10 h2 {
		width: 100%;
		max-width: 100%;
		margin: -10% auto 8%;
	}

	#sec10 p {
		margin-bottom: 8%;
	}

	.sec10_box {
		justify-content: center;
		padding: 3% 4% 1%;
		margin-bottom: 8%;
		flex-direction: column;
		align-items: center;
	}
	.sec10_box img{
		width: 65%;
		margin: 0 auto 2%;
	}
	#footer img {
		width: 40%;
		height: auto;
	}

}


/* ------------------------- footer ------------------------- */
#footer{
	padding: 3% 0 0;
	background: #142C4D;
	color: #fff;
	text-align: center;
}

#footer img{
	width: 20%;
	max-width: 350px;
	height: auto;
}
.footer_link {
	margin: 30px auto;
	display: flex;
	justify-content: center;
}
.footer_link a{
	color: #fff;
	margin: 0 15px;
	line-height: 1.1em;
}
.footer_link a:hover{
	text-decoration: underline;
}


.footer_link a:after{
	content: '　';
	background: url(../img/top/newwindow.png) no-repeat;
	background-size: 15px auto;
	background-position: right center;
	padding-right: 10px;
	margin: auto;
}

#copyright{
	border-top: 1px solid #fff;
	padding: 2%;
}
@media screen and (max-width: 568px) {
	#footer .ft_lpbana{bottom: 0; left: 0; right: 0;}
	#footer .ft_lpbana img{width: 100%; max-width: 80%; display: block; margin: 0 auto; filter: none;}
	#copyright{
		padding: 2% 2% 20vw;
	}
}


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

資料ダウンロード

------------------------------------------------------*/
/*-- 送信画面 --*/
#dlform{
	background: linear-gradient(180deg, #006AA1 0%, #449BC9 100%);
	display: block;
	width: 100%;
	padding: 30px 0;
	color: #fff;
	font-size: 1.5em;
	letter-spacing: 0.1em;
}

.dlformbox{
	display: flex;
	justify-content: space-around;
	padding: 5% 0;
}
.dlformbox div.leftbox,
.dlformbox div.rightbox{
	display: inline-block;
	width: 50%;
	padding: 0 2%;
}

.dlformbox p{
	margin-bottom: 50px;
}

.dlformbox p img{
	max-width: 80%;
	height: auto;
}

/* ------------------------- Maruketo ------------------------- */

#mktoForm_3466{
	width: initial!important;
	padding: 5% 0;
}

#mktoForm_3465{
	width: initial!important;
	border-top: 1px solid #ccc;
}
.mktoForm .mktoFormRow {
	border-bottom: 1px solid #ccc;
	padding: 2% 0;
}

.mktoForm .mktoFormRow:nth-last-of-type(3) {
	border-bottom: none;
	padding-bottom: 0px;
}

.mktoForm .mktoFormRow:nth-last-of-type(2) {
	padding-top: 0px;
}

.mktoForm .mktoFormCol {
    margin-top: 10px;
}
.mktoForm .mktoOffset {
    height: 0px!important;
}
.mktoForm .mktoFieldWrap {
    float: none;
    display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.mktoForm.mktoLayoutAbove .mktoField{
    min-height: 40px;
	font-size: 1.4em;
	width: 31vw!important;
	max-width: 350px!important;
	border: 1px solid #ccc;
    border-radius: 5px;
}

.mktoForm input[type=text]::placeholder, 
.mktoForm input[type=url]::placeholder, 
.mktoForm input[type=email]::placeholder, 
.mktoForm input[type=tel]::placeholder, 
.mktoForm input[type=number]::placeholder, 
.mktoForm input[type=date]::placeholder {
	font-size: 0.8em;
  }

#NewQuestion09Marketo{
	margin-top: 10px;
}

.mktoHtmlText{
	font-size: 1.4em!important;
}

.mktoHtmlText a{
	color: #0B4DA0!important;
	text-decoration: underline;
}
.mktoHtmlText a:hover{
	color: #006AA1!important;
	text-decoration: none;
	margin-top: 2%;
}

.mktoForm .mktoRadioList > label, .mktoForm .mktoCheckboxList > label {
    border: none;
}

.mktoForm .mktoButtonWrap.mktoMinimal .mktoButton:hover {
    background: #449bc9!important;
    box-shadow: none!important;
    cursor: pointer;
}

#Lblprivacy_agreetment {
    width: 240px;
}


/*.mktoInvalid label#Lblprivacy_agreetment{
	height: 20px;
	width: 24px!important;
	background: #fff url(../img/contact/check.svg) no-repeat left 3px center;
	background-size: 15px 15px;
}*/

.mktovalid label#Lblprivacy_agreetment{
	height: 20px;
	width: 24px!important;
	background: #fff url(../img/contact/check.svg) no-repeat left 3px center;
	background-size: 15px 15px;
}

.mktoForm .mktoRadioList > label, .mktoForm .mktoCheckboxList > label {
    min-height: 25px!important;
	width: 24px!important;
	/*border: 1px solid #aaa;*/
}

#Lblpmcf_q1{
	display: block!important;
    float: none!important;
    width: 100%!important;
}
#pmcf_q1{
	display: block!important;
	width: 350px!important;
	max-width:100%!important;
	float: none!important;
    clear: both!important;
	margin-top: 10px;
}

#pmcf_q2{
	width: auto!important;
	max-width:100%!important;
	height: 175px;
	font-size: 15px;
}

#Lblpmcf_q3 {
	font-weight: bold;
}
.mktoForm .mktoFormCol .mktoFieldWrap #pmcf_q3{
	margin-top: 10px;
    width: 522px!important;
    max-width: 100%!important;
    display: block;
    clear: both;
    float: none;
}

.mktoButtonRow {
    display: flex!important;
    justify-content: center;
}

.mktoForm .mktoButtonWrap.mktoMinimal .mktoButton {
    background: #006aa1!important;
    border: none!important;
    border-radius: 30px!important;
    box-shadow: none!important;
    padding: 15px 5px!important;
	box-sizing: border-box;
    text-align: center;
    text-shadow: none!important;
    width: 280px!important;
	max-width: 100%;
    margin: 30px auto!important;
    color: #fff!important;
    font-weight: bold;
    font-size: 1.4em!important;
}

#LblParentIndustryMarketo{
	width: 100%!important;
    display: block;
    margin-bottom: 10px;
}

@media screen and (max-width: 896px) {
	.dlformbox{
		display: flex;
		justify-content: center;
		flex-direction: column;
	}
	.dlformbox div.leftbox,
	.dlformbox div.rightbox{
		display: block;
		width: 100%;
		padding: 0 2%;
	}
	.mktoForm.mktoLayoutAbove .mktoField {
		width: 350px!important;
		max-width: 100%!important;
	}
}

#contactform_mainarea .inner{
	width: 768px;
	max-width: 100%;
}

#contact .mktoForm button.mktoButton {
	font-size: 2rem;
	width: 280px;
	background-color: #4481EB;
	color: #FFF;
	padding: 1.4rem;
	border: none;
	border-radius: 3.0rem;
	font-weight: bold;
	margin: 0 auto !important;
	display: block;
	cursor: pointer;
	background-image: none;
}
#contact .mktoForm .mktoButtonRow {
	margin-top: 15px !important;
}
#contact .whiteBox {
	padding-bottom: 20px;
}
#contact .mktoForm .mktoGutter {
	display: none;
}
#contact .mktoForm .mktoCheckboxList {
	width: auto !important;
	padding: 0 !important;
}
#contact .mktoForm input[type=checkbox] + label:before {
	display: none;
}
#contact .mktoForm .mktoCheckboxList > input {
	opacity: 0;
}
#contact .mktoForm .mktoCheckboxList #Lblprivacy_agreetment {
	margin: 0 !important;
	height: 18px;
	width: 18px !important;
	background: url(../img/contact/check01.png) no-repeat center center / 18px auto;
}
#contact .mktoForm .mktoCheckboxList input:checked + #Lblprivacy_agreetment {
	background-image: url(../img/contact/check02.png);
}

/*
#contact .mktoForm {
    border-top: 1px solid #CCC;
}
#contact .mktoForm .mktoRequiredField label.mktoLabel {
	font-size: 1.6rem;
	width: initial!important;
}

#contact .mktoForm input[type="text"],
#contact .mktoForm input[type="email"],
#contact .mktoForm input[type="tel"],
#contact .mktoForm select {
	-webkit-appearance:none;
	appearance:none;
	width: 72% !important;
	height: 52px;
	background-color: #FFF;
	box-shadow: none;
}

#contact .mktoForm select::-ms-expand { display: none; }
@media all and (-ms-high-contrast:none){
	#contact .mktoForm input[type="text"],
	#contact .mktoForm input[type="email"],
	#contact .mktoForm input[type="tel"],
	#contact .mktoForm select {
		padding: 1.6rem 2.4rem 1.2rem !important;
	}
}
#contact .mktoForm select {
	background: url(img/contact/select_icon.png) no-repeat center right 17px / 8px auto;
}
#contact .mktoForm .mktoFieldDescriptor {
	padding: 0.9rem 4.0rem 2.4rem !important;
}
#contact .mktoForm .mktoHtmlText span {
	font-size: 1.2rem !important;
	color: #333 !important;
	text-align: left;
}
#contact .mktoForm .mktoLabel {
	padding-top: 0;
}
#contact .mktoForm button.mktoButton {
	font-size: 2rem;
	width: 280px;
	background-color: #4481EB;
	color: #FFF;
	padding: 1.4rem;
	border: none;
	border-radius: 3.0rem;
	font-weight: bold;
	margin: 0 auto !important;
	display: block;
	cursor: pointer;
	background-image: none;
}
#contact .mktoForm .mktoButtonRow {
	margin-top: 15px !important;
}
#contact .whiteBox {
	padding-bottom: 20px;
}
#contact .mktoForm .mktoGutter {
	display: none;
}
#contact .mktoForm .mktoCheckboxList {
	width: auto !important;
	padding: 0 !important;
}
#contact .mktoForm input[type=checkbox] + label:before {
	display: none;
}
#contact .mktoForm .mktoCheckboxList > input {
	opacity: 0;
}
#contact .mktoForm .mktoCheckboxList #Lblprivacy_agreetment {
	margin: 0 !important;
	height: 18px;
	width: 18px !important;
	background: url(img/contact/check01.png) no-repeat center center / 18px auto;
}
#contact .mktoForm .mktoCheckboxList input:checked + #Lblprivacy_agreetment {
	background-image: url(img/contact/check02.png);
}
@media all and (min-width: 980px) {
	#contact .mktoHtmlText a:hover {
		text-decoration: none;
	}
	#contact .mktoForm button.mktoButton:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 979px) {
	#contact .whiteBox {
		margin-top: 32px;
		padding-top: 32px;
	}
	#contact .whiteBox h2 {
		margin-bottom: 17px;
		font-size: 2.4rem;
		line-height: 36px;
		letter-spacing: 0;
	}
	#contact .whiteBox p {
		margin-bottom: 30px;
		font-size: 1.4rem;
		line-height: 21px;
	}
	#contact .whiteBox p.small {
		font-size: 1.4rem;
	}
	#contact .whiteBox h3 {
		margin: 0 auto 20px;
		max-width: auto; 
		font-size: 1.8rem;
		line-height: 27px;
	}
	#contact .whiteBox ul {
		padding: 24px 15px;
		margin: 0 auto 30px;
		max-width: auto; 
	}
	#contact .whiteBox ul li {
		margin-bottom: 16px;
		font-size: 1.4rem;
		line-height: 21px;
	}
	#contact .whiteBox ul li:last-child {
		margin-bottom: 0;
	}
	#contact .mktoForm {
		padding: 0;
	    margin-top: -20px;
	}
	#contact .mktoForm .mktoRequiredField label.mktoLabel {
		font-size: 1.4rem;
		width: 100% !important;
	}
	#contact .mktoForm .mktoAsterix {
		padding-left: 0;
	}
	#contact .mktoForm input[type="text"],
	#contact .mktoForm input[type="email"],
	#contact .mktoForm input[type="tel"],
	#contact .mktoForm select {
		width: 100% !important;
		height: 45px;
		font-size: 1.4rem;
	}
	#contact .mktoForm .mktoHtmlText {
		margin-top: 15px;
		margin-left: 0 !important;
		text-align: left !important;
	}
	#contact .mktoForm .mktoFieldDescriptor {
		margin-bottom: 0 !important;
		padding: 0.9rem 0 !important;
	}
	#contact .mktoForm button.mktoButton {
		font-size: 1.4rem;
	}
	#contact .mktoForm .mktoButtonRow {
		margin-top: 5px !important;
	}
	#contact .whiteBox {
		padding-bottom: 5px;
	}
	#contact .mktoForm .mktoRequiredField label.mktoLabel {
		margin-right: 10px;
		width: auto !important;
	}
	#contact .mktoForm .mktoCheckboxList {
		width: auto !important;
	}
	#contact .mktoForm select {
		padding: 1.1rem 2.4rem !important;
	}
}
*/

/*-- 完了画面 --*/
#complete{
	padding: 5% 0;
	text-align: center;
}
#complete p{
	margin: 2% auto;
}

#complete a{
	color: #0B4DA0;
	text-decoration: underline;
}

#complete a:hover{
	color: #006AA1;
	text-decoration: none;
	margin-top: 2%;
}



/* ------------------------- top01 ------------------------- */
#top01{background: url(../img/top/01-01.jpg) no-repeat center center; background-size: cover;}
.w1800 {max-width: 1800px; width: 100%; margin: 0 auto; overflow: hidden;}
#top01 .beta{ white-space: nowrap}
#top01 .beta::after{ content: "β版リリース"; display: inline-block; position: absolute; top: -30px; right: 0; font-size: 14px; font-weight: 400; background: #222222; border-radius: 5px; padding: 5px 10px;}
.txtShadow{ text-shadow: 2px 2px 2px rgb(0 0 0 / 80%); }
#top01 .fvmainL {width: calc(100% - 732px);}
#top01 .fvmainL .inner p.txt30{white-space: nowrap;}
#top01 .fvmainL .w300 {margin-left: auto;}
#top01 .fvmainR {width: 732px; padding-bottom: 87px;}
.threePerson {position: absolute; bottom: 0; left:50px; z-index: 0; width: 665px; }
/* ------------------------- top02 ------------------------- */
#top02 {margin-top: -75px;}
.bgPolygon {transform: skew(0, -5deg); overflow: hidden; position: relative; padding: 100px 0 70px;}
.bgPolygon .bgInner {transform: skew(0, 5deg); position: relative; z-index: 2;}
.bgBox {background: url("../img/top/02-01.jpg") repeat top center; background-size: 100% auto; height: calc(100% + 300px); width: 100%; transform:skew(0, 5deg); position:absolute; top: 150px; left:0; right:0; bottom:0; margin: auto; z-index: 1; }
.cardArea{max-width:1600px; margin:0 auto 40px auto;}
.cardItem{width:calc(100% / 3 - 26px); box-shadow: 0 3px 6px rgb(0 0 0 / 16%); padding: 30px;}
.cardItem::before{content: "01"; font-family: 'Rubik', sans-serif; color: white; font-size: 40px; position: absolute; z-index: 3;top: 0; left: 0; width: 120px; height: 120px; padding-top: 20px; padding-left: 10px; background: #2AAB9F; clip-path: polygon(0% 0, 100% 0, 100% 0, 0 100%);}
.cardItem::after{content:""; position: absolute; z-index: 0; bottom: 0; right: 0; width: 120px; height: 120px; background: #2AAB9F; clip-path: polygon(0% 100%, 100% 0, 100% 100%, 0 100%);}
.cardItem:nth-child(2)::before{content: "02";}
.cardItem:nth-child(3)::before{content: "03";}
.cardItem:nth-child(1) img{max-width:205px;margin:0 auto 20px auto;}
.cardItem:nth-child(2) img{max-width:314px;margin:0 auto 20px auto;}
.cardItem:nth-child(3) img{max-width:260px;margin:0 auto 20px auto;}
.cardInner{position: relative; z-index: 2;border-radius: 10px; box-shadow: 0	0 8px rgb(0 0 0 / 30%); padding: 30px 40px;height: 100%; background: white;} 
.ls1 {letter-spacing: .1em}
.marker{background:linear-gradient(transparent 70%, rgb(42 171 159 / 30%) 70%);}
.marker .txtGRE{font-weight: 700;}
#top02 .w300{ margin: 0 auto 80px auto; }  
.entitleArea{ box-shadow: 0 0 8px rgb(0 0 0 / 30%);}
.entitleArea::before{content: ""; position: absolute; top: -1px;left: -1px; display: inline-block; width: 80px; height: 80px; border-top: solid 2px #2AAB9F; border-left: solid 2px #2AAB9F;}
.entitleArea::after{content: ""; position: absolute; bottom: -1px;right: -1px; display: inline-block; width: 80px; height: 80px; border-bottom: solid 2px #2AAB9F; border-right: solid 2px #2AAB9F;}
.entitleArea .txt	{padding:40px 60px; }
/* ------------------------- top03 ------------------------- */
#top03 {padding: 120px 0 200px 0; }
.circleArea{ width:110px; height:110px; border-radius: 65px; display: table;}
.circleInner{ display: table-cell; vertical-align: middle;}
.circleInner .rubik{ line-height: 1;}
.stepArea .stepItem { width: 100%; }
.stepArea .stepItem:nth-of-type(2) {align-items: center;}
.stepTitleArea h3{ margin-left:20px; width: calc(100% - 130px);}
.stepTxtArea{ width: calc(100% - 130px); margin:0 0 0 auto;}
.stepTxtArea .bgGRY{ width: 100%; padding: 30px 40px; }
.stepArea .stepL{ width: calc(65% - 40px); }
.stepArea .stepR{ width: 35%;}
.stepArea .stepTxtArea::before{content: ""; position: absolute; top: 10px; left: -77px; width: 4px; height: 100%; background: #2AAB9F; border-radius: 4px;}
.stepArea .stepItem:nth-of-type(3) .stepTxtArea::before{display: none;}
#top03 span.bgGRE{ padding: 0 10px; }   
#top03 .w300{ margin: 0 auto; } 
#top03 .bgGRE.ls1 {padding: 0 20px; display: inline-block;}
#top03 .spBlock{ display:none;}
/* ------------------------- top04 ------------------------- */
#top04 {margin-top: -75px;}
#top04 .bgPolygon {padding: 100px 0;}
#top04 .flowArea {max-width:1340px; width: 100%; margin: 0 auto 50px; justify-content: center;}
#top04 .flowItem{width:calc(25% - 40px); margin: 0 20px;}
#top04 .flowItem span{margin-right:5px; }
.flowTtl {width:100px; margin: 0 auto; position: absolute; top: 0; left: 0; right: 0;}
.flowTtl h3 {line-height: 45px;}
.flowItem .iconArea {width:100px; height:100px; background: #2AAB9F; border-radius: 50px; padding: 20px;}
#top04 .flowItem .iconTxt {border-radius: 10px; box-shadow: 0 0 8px rgb(0 0 0 / 30%); padding:80px 30px 30px 30px; height: calc(100% - 95px); margin-top: 95px;}
.flowItem.rlt::after{content: ""; display: inline-block; position: absolute; margin: auto; right: -27px; bottom: 40%; width:13px; height: 24px; background: #2AAB9F; clip-path: polygon(100% 50%, 0 0, 0 100%);}
.flowItem.rlt:last-of-type::after {display: none;}
.w768{max-width:768px; /*padding-bottom:50px;*/}
.w768 .cmnBtn{background:#FDA500; margin: 0 auto;}
.w768 .cmnBtn:hover { background: #2AAB9F;}
#top04 .cmnBtn{background:#FDA500; margin: 0 auto;}
#top04 .cmnBtn:hover { background: #2AAB9F;}
#top04 .w300{ margin:0 auto;}
.attentionArea{ border: solid 1px #EE0000; border-radius: 20px; padding: 40px 50px; }
/* ------------------------- top05 ------------------------- */
#top05 {padding: 130px 0 100px;}
#top05 .cardItem{width: 100%; box-shadow: 0 0 10px rgb(0 0 0 / 20%); padding: 0;}
#top05 .cardItem::before{content:"";}
#top05 .questionArea::after{ content: ""; display: block; position: absolute; z-index: 0; top: -177.37px; right: 50px; width: 221.92px; height: 177.37px; background: url(../img/top/05-01.svg) no-repeat center center; background-size: cover; clip-path: none;}

#top05 .questionArea{ padding:40px; }
#top05 .questionArea .questionItem{ width: 100%; background:white; box-shadow: 0 0 10px rgb(0 0 0 / 20%); border-radius: 10px; z-index: 3;  }
#top05 .questionTop{ border-bottom: solid 1px #CCCCCC; }
#top05 .questionTop,#top05 .answerBottom{ padding: 20px 0; }
#top05 .questionTop .bgGRE,#top05 .answerBottom .bgYE{ width:80px; height:60px;line-height: 60px; border-radius: 0 5px 5px 0; text-align: center;}
#top05 .questionTop .txt16,#top05 .answerBottom .txt16{ width:calc(100% - 80px); padding-left:20px;padding-right: 30px;}
#top05 .txtCent span.txtGRE{ text-decoration: underline;}
#top05 .w300{ margin:0 auto;}
/* ------------------------- top06 ------------------------- */
#top06 {padding: 60px 0 170px 0; background: url("../img/top/02-01.jpg") repeat top center;} 
#top06::after{ content: ""; display: block; position: absolute; z-index: 999; margin: auto; bottom: 0; right: 0; left: 0; max-width: 767px; max-height: 190px; aspect-ratio: 767/190; background: url(../img/top/06-02.svg) no-repeat center bottom; background-size: cover; } 
#top06 .inner{  width: calc(100% - 40px);max-width: 1300px; box-shadow: 0 0 8px rgb(0 0 0 / 20%); margin: 0 auto;} 
#top06 .inner .container{ padding:50px 0;} 
#top06 .adviceArea .adviceL { width:calc(61% - 50px);}
#top06 .adviceArea .adviceL h2 .txtORE {margin: 0 10px;}
#top06 .adviceArea .adviceR {width: 39.5%;} 
#top06 .adviceArea .adviceR .adviceList{border: solid 1px #222222; border-radius: 5px;} 
#top06 .adviceArea .adviceR .adviceList .rubik{ width:40px; text-align: center; line-height: 40px; border-radius: 5px 0 0 5px; border-right: solid 1px #222222;} 
#top06 .adviceArea .adviceR .adviceList .txt14 { width:calc(100% - 40px); padding: 10px 20px;}
#top06 .adviceArea .adviceR .adviceList:nth-child(2) .rubik{   position: absolute; top: 0; left: 0; border-bottom: solid 1px #222222;border-radius:5px 0 5px 0; } 
#top06 .adviceArea .adviceR .adviceList:nth-child(2) .txt14{ margin: 0 0 0 auto; } 
#top06 .adviceArea .adviceR .adviceList img{ padding:10px 20px;}
#top06 .w852 {max-width:852px; width: 100%; margin:0 auto; }
#top06 .cmnBtn {background: #222222;}
#top06 .cmnBtn:hover { background: #2AAB9F;}
@media screen and (max-width: 1680px) {
	#top01 .fvmainR {margin-right: -3.5%; width: 43.5%;}
	#top01 .fvmainL {width: 60%;}
	#top01 .w300 {position: relative; z-index: 1;}
	.threePerson {width: 39.5%; left: 3%;}
}
@media screen and (max-width: 1260px) {
	#top01 .fvmainL {padding: 0 20px;}
	#top01 .beta {font-size: 4.5vw; margin-bottom: 20px;}
	#top01 .fvmainL .txt30 {padding-top: 0;}
	.cardItem.rlt.bgWH {padding: 20px;}
	.cardInner {padding: 20px;}
	.cardItem::after,.cardItem::before {width: 100px; height: 100px;}
	.cardItem::before {padding-top: 9px; padding-left: 8px; padding-top: 10px; padding-left: 5px;}
}
@media screen and (max-width: 1180px) {
	#top01 .fvmainL .txt30 {font-size: 2.8vw;}
	#top01 .beta::after {padding: 5px;}
	.threePerson {width: calc(60% - 270px);}
}
@media screen and (max-width: 896px) {
	#top01 h3.txtShadow{font-size: 14px;text-align: left;}
	#top01 .bothLine {text-align: center; margin-bottom: 60px;}
	#top01 .bothLine::before { display: none;}
	#top01 .bothLine::after { position: absolute; bottom: -20px; margin: 0; width: 120px;}
	#top01 .fvArea { flex-direction: column; transform: unset;}
	#top01 .fvmainL {width: 100%; margin: 0 auto 30px;}
	#top01 h3.txtShadow {line-height: 1.7;}
	#top01 h3.txtShadow .txt20 {font-size: 18px;}
	#top01 .fvmainL .w300{margin: 0 auto;}
	.threePerson img { left: 10px;}
	#top01 .beta { margin-bottom: 50px;}
	#top01 .beta::after { top: unset; bottom: -38px; right: 0; font-size: 12px; }
	.doubleDiagonalLine .txt54{ font-size:40px;}
	.threePerson {width: 66%; left: 10px;}
	#top01 .fvArea {padding: 0;}
	#top01 .fvmainR {text-align: right; width: 80%; margin-right: -10%; margin-left: auto; padding-bottom: 0;}
	.cardArea {padding: 0 20px;}
	.cardItem.rlt.bgWH {width: 100%; padding: 20px; margin-bottom: 30px;}
	.cardItem:last-of-type.rlt.bgWH {margin-bottom: 0;}
	.cardItem::after,.cardItem::before {width: 80px; height: 80px;}
	.cardItem::before {padding-top: 9px; padding-left: 8px; font-size: 26px;}
	.cardInner .txt20 {margin-bottom: 5px;}
	.cardInner .txt30 {font-size: 24px; margin-bottom: 20px;}
	#top03 .stepItem .innerflex{ flex-direction: column;}
	#top03 .w300 { margin: 0 auto 60px auto;}
	#top03 .stepArea .stepL{width: 100%;}
	.circleArea {width: 50px; height: 50px; border-radius: 50%;}
	.circleInner .txt18 {font-size: 10px;}
	.circleInner .txt36 {font-size: 22px;}
	.stepTitleArea h3 {width: calc(100% - 60px); margin-left: 10px; font-size: 18px;}
	.stepTxtArea {width: calc(100% - 60px); margin: 10px 0 0 auto;}
	.stepTxtArea .bgGRY {padding: 20px;}
	#top03 .stepArea .stepR{width: calc(100% - 60px); margin: 0 0 0 auto;}
	#top03 .stepArea .stepR img {padding-top: 20px;}
	#top03 .stepItem {margin-bottom: 10px;}
	#top03 .stepItem.rlt::before {content: ""; position: absolute; top: 60px; left: 25px; width: 4px; height: calc(100% - 60px); background: #2AAB9F; border-radius: 4px;}
	#top03 .stepItem.rlt:last-of-type::before { display: none; }
	.stepArea .stepTxtArea::before { display: none; }
	.stepArea.mb60 {margin-bottom: 30px;}
	#top03 .bgGRE.ls1 {display: block; padding: 0 10px;}
	#top03 .imgArea{max-width: 480px; height: auto; margin: 0 auto;}
	#top04 .flowArea {margin-bottom: 30px;}
	#top04 .flowItem {width: calc(100% - 40px); margin: 0 auto 37px;}
	#top04 .flowItem:last-of-type {margin-bottom: 0;}
	.flowTtl {width: 70px;}
	.flowTtl h3 {line-height: 28px; font-size: 24px;}
	.flowTtl h3 span {font-size: 12px;}
	.flowItem .iconArea {width: 60px; height: 60px; margin: 0 auto; padding: 12px;}
	.flowItem.rlt::after {right: 0; bottom: -27px; left: 0; width: 30px; height: 17px; background: #2AAB9F; clip-path: polygon(0 0, 50% 100%, 100% 0);}
	#top04 .flowItem .iconTxt {height: auto; margin-top: 60px; padding: 40px 15px 15px 15px;}
	#top06 .inner .container {padding: 25px 10px;}
	#top06 .adviceArea .adviceL h2 .txtORE {margin: 0 0 0 5px;}
	.adviceL .txt18 {font-size: 14px;}
	#top06 .adviceArea .adviceR .adviceList .rubik {width: 30px; line-height: 30px; height: 30px; border-bottom: solid 1px #222222; border-radius: 5px 0 5px 0;}
	#top06 .adviceArea .adviceR .adviceList .txt14 {width: calc(100% - 30px); padding: 10px 15px;}
	.adviceList {align-items: flex-start;  -webkit-box-align: start;	-ms-flex-align: start;}
	#top06 .adviceArea .adviceR .adviceList img {padding: 0 10px 10px;}
	#top06 .adviceArea {gap: 30px; flex-direction: column; margin-bottom: 20px;}
	#top06 .adviceArea .adviceL,#top06 .adviceArea .adviceR {width: 100%;}
}
@media screen and (max-width: 568px){
	#top01::before,#top03::before {bottom: 0; border-bottom: 35px solid #2AAB9F;}
	#top02::before,#top04::before {bottom: -17.5px; border-top: 35px solid #2AAB9F;}
	.txt14 {font-size: 12px;}
	.doubleDiagonalLine::before,.doubleDiagonalLine::after {width: 30px; height: 35px;}
	.diagonalLine.rubik.txt24,.speechBubble {font-size: 18px;}
	.speechBubble {padding: 5px 20px;}
	.triangleGRE_L::before {bottom: 0; border-bottom: 35px solid #2AAB9F;}
	#top01 .fvmainL .inner p.txt30 {font-size: 20px;margin-bottom: 0; white-space: normal;}
	#top01 .beta {font-size: 28px; white-space: normal;}
	#top02 {margin-top: -17.5px;}
	.bgPolygon,#top04 .bgPolygon {padding: 50px 0;}
	.bgBox {height: calc(100% + 100px); top: 50px;}
	.cardItem:nth-child(1) img {width: 160px;}
	.cardItem:nth-child(2) img {width: 247px;}
	.cardItem:nth-child(3) img {width: 214px;}
	#top02 .featureArea { padding: 30px 0;}
	.marker .txtGRE {font-size: 34px;}
	.entitleArea .txt {padding: 30px;}
	#top02 .container.mb40 {margin-bottom: 0;}
	#top03 {padding: 40px 0 95px 0;}
	#top03 .txt40.txt500.txtCent.mb30 {margin-bottom: 20px;}
	#top03 .txt20.txtCent.txt500.mb60 {font-size: 14px; text-align: left; margin-bottom: 30px;}
	#top03 .w300 {margin: 0 auto;}
	#top04 {padding: 60px 0 0;}
	#top04 .w768 {width: calc(100% - 40px); line-height: 1.6;}
	#top04 .cmnBtn {padding: 17px 0; border-radius: 50px;}
	.attentionArea {padding: 20px 25px;}
	#top05 {padding: 50px 0 40px;}
	#top05 .cardItem {width: 100%; margin: 0 auto 40px; padding: 0; }
	#top05 .questionArea::after {width: 85px; height: 68px; top: -68px; right: 0;}
	#top05 .questionTop, #top05 .answerBottom {padding: 15px 0;}
	#top05 .answerBottom {align-items: flex-start;  -webkit-box-align: start;	-ms-flex-align: start;}
	#top05 .questionTop .bgGRE, #top05 .answerBottom .bgYE {width: 40px; height: 40px; line-height: 40px; }
	#top05 .questionTop .txt16, #top05 .answerBottom .txt16 {width: calc(100% - 40px);}
	#top05 .questionArea {padding: 20px;}
	#top06 {padding: 40px 0 50px 0;}
	#top06 .cmnBtn {line-height: 1.6; padding: 10px 0; border-radius: 10px;}
	#top06::after {max-width: 260px; right: -20px;}
}
/* ------------------------- top07 ------------------------- */

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

下層共通

--------------------------------------------*/
#kv { padding:100px 0 60px 0 ; } 
#kv .guideArea{ box-shadow: 0 0 8px rgb(0 0 0 / 30%); padding: 40px 50px; } 
#kv .w516 {width: calc(50% - 20px);} 
#kv .cmnBtn {width: 100%; background: #2AAB9F; border: solid 2px #2AAB9F; border-radius: 10px; box-shadow: none; padding: 23px 0; line-height: 1.4;} 
#kv .cmnBtn:hover{ background:white;color:#2AAB9F;} 
@media screen and (max-width: 1230px){
	#kv { padding: 40px 0 60px 0;}
	#kv .guideArea {  width: calc(100% - 4vw); margin: 0 auto;}
}
@media screen and (max-width: 1080px){
	#kv {  padding: 100px 0 60px 0;}
}
@media screen and (max-width: 896px){
	#kv {  padding: 30px 0 10px 0;}
	#kv .guideArea{ box-shadow: 0 0 8px rgb(0 0 0 / 30%); padding: 20px 30px; } 
}
@media screen and (max-width: 568px){
	#kv .w516 {width: 100%;}
	#kv .w516 .txt22 {font-size: 16px; padding: 15px 0;}
	#kv .guideBtnArea.gap {gap: 20px;}
	#kv .guideArea {margin-bottom: 20px;}
}



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

お問い合わせ

--------------------------------------------*/
#contact01,#confirm01 {padding-bottom: 100px;}
#contact01 h2 {padding: 0 0 20px; margin-bottom: 20px; border-bottom: 1px solid #CCCCCC;}
#mailform {padding:0 0 100px 0; }
#mailform dd .bordRED { border:solid 1px #EE0000; border-radius: 10px; padding: 20px 30px; margin: 0 0 15px;}
.form-radio span.txtBLU {margin-left: 0;}
#contact01 .policyTxt .txtGRE{text-decoration: underline;}
#contact01 .policyTxt .txtGRE.rlt::after{content:"";    display: inline-block;background: url(../img/contact/01-01.svg) no-repeat center bottom; background-size: cover; width: 14px; height: 14px; margin-left: 5px;}
#contact01 .cmnBtn,#confirm01 .cmnBtn {padding: 15px 0; width: 100%; cursor: pointer;}
.error_message {font-size: 14px; color: #CC0000; font-weight: 700; padding-top: 5px;}
#confirm01 #back.cmnBtn {background: #999999;}
#confirm01 .w300 {margin: 0 20px;}
@media screen and (max-width: 896px){
	#contact01 .pb40.flex.jcCent.alCent {flex-direction: column;}
	#contact01 .form-checkbox {margin-bottom: 20px;}
}
@media screen and (max-width: 568px){
	#confirm01 .w300 {margin: 0 20px 10px;}
}

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

お問い合わせ(送信完了)

--------------------------------------------*/
#completion01{ padding:100px 0;}
#completion01 .completionArea{ margin:0 auto;}
#completion01 .w300{ margin:0 auto;}
@media screen and (max-width: 896px) {
	#completion01{  padding: 50px 0;}
}
/*--------------------------------------------

利用規約

--------------------------------------------*/
#terms01 { padding: 100px 0;}
#terms01 .termsArea{ margin:0 auto;}
.doubleBord{border-bottom: solid 1px #222222; padding-bottom: 10px; }
.doubleBord::before{ content: ""; display: inline-block; position: absolute; left: 0; bottom: -1px; width: 20%; border-bottom: solid 1px #2AAB9F;}
.termsList li{list-style-position: inside;list-style-type: decimal;padding-left:1em;text-indent:-1em;}
.termsList2 {margin-left: 2em;}
.termsList2 li {list-style-type: none; counter-increment: cnt; padding-left: 0; text-indent: 0;}
.termsList2 li::before {content: "(" counter(cnt) ") "; margin-left: -2em;}
/*====================================================================
slick
====================================================================*/

.prev_icon,.next_icon{ position: absolute; top: 50%; transform: translate(0,-50%); width: 30px; height:60px; z-index: 1;}
.prev_icon{ left: 0;}
	.next_icon{ right: 0; }


/* ハンバーガーボタンのデザイン */
.drawer__button {display: none;}
.drawer__nav{display: none;}
@media screen and (max-width: 896px){
	.drawer__button {
		display: inline;
        position: fixed;
        width: 60px;
        height: 60px;
		background-color: transparent;
		border: none;
		cursor: pointer;
		z-index: 999; /* メニューを開いている時もクリックできるよう設定 */
		top: 0;
		right: 0;
		background: #006AA1;
	}
	/* ハンバーガーボタン内の線 */
	.drawer__button > span {
		display: block;
		position: absolute;
		top: 50%;
		left: 50%;
		width: 2rem;
		height: 2px;
		background-color: #fff;
		transform: translateX(-50%);
	}
	.drawer__button > span:first-child {
		transform: translate(-50%, calc(-50% - 0.5rem));
		transition: transform 0.3s ease;
	}
	.drawer__button > span:nth-child(2) {
		transform: translate(-50%, -50%);
		transition: opacity 0.3s ease;
	}
	.drawer__button > span:last-child {
		transform: translate(-50%, calc(-50% + 0.5rem));
		transition: transform 0.3s ease;
	}
	/* 展開時のデザイン */
	.drawer__button.active > span:first-child {
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	.drawer__button.active > span:nth-child(2) {
		opacity: 0;
	}
	.drawer__button.active > span:last-child {
		transform: translate(-50%, -50%) rotate(45deg);
	}
	/* メニューのデザイン */
	.drawer__nav {
		display: block;
		position: fixed; /* 追従ヘッダーなどでも表示できるよう設定しておく */
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background-color: rgba(0, 0, 0, 0.5);
		transition: opacity 0.3s ease;
		opacity: 0;
		visibility: hidden;
	}
	.drawer__nav.active {
		opacity: 1;
		visibility: visible;
	}
	.drawer__nav__inner {
		position: relative;
		width: 100%;
		height: 100%;
		background-color: #67b7e1;
		padding: 4rem 1.5rem 1rem;
		margin: 0 0 0 auto;
		overflow: scroll;
		transform: translateX(100%);
		transition: transform 0.3s ease;
	}
	.drawer__nav.active .drawer__nav__inner {
		transform: translateX(0);
	}
	.drawer__nav__menu {
		list-style: none;
		padding-left: 0;
	}
	.drawer__nav__link {
		display: block;
		color: #fff;
		text-decoration: none;
		padding: 1rem 1rem;
		border-bottom: solid 1px rgb(255, 255, 255);
		font-size: 1.2rem;
	}

	.sp_btn a{
		border-radius: 50px!important;
		width: 80%!important;
		margin: 3% auto 0!important;
	}
	.sp_btn:first-of-type a{
		background-color: #006AA1!important;
	}
	.sp_btn:last-of-type a{
		background-color: #142C4D!important;
	}
	
	/* ハンバーガーメニュー展開時、背景を固定 */
	body.active {
		height: 100%;
		overflow: hidden;
	}
}