@charset "UTF-8";
/*--------------------------------------
　MV
---------------------------------------*/
.top .mv {
  width: 100%;
	height: 890px;
  background: #2A4195;
	position: relative;
}
.top .mv::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 637px;
	background: url("../images/pages/home/mv_ptn_01.png") center bottom no-repeat;
	background-size: 100% auto;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}

/* mv_arrow */
.top .mv_arrow {
	position: absolute;
	width: 52px;
	height: 110px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

/* mv-inner */
.top .mv .mv_inner {
	width: 100%;
	max-width: 1194px;
	margin: auto;
	position: relative;
}
.top .mv .mv-txt h2 {
	position: absolute;
	width: 802px;
	height: 492.5px;
	background: url("../images/pages/home/mv_txt.png") left center no-repeat;
	background-size: 100% auto;
	top: 205px;
	left: 60px;
	overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

@media screen and (max-width: 768px) {
.top .mv {
	height: 0;
  background: url("../images/pages/home/mv_sp.jpg") center center no-repeat;
	background-size: 100% auto;
	margin: 40px 0 0;
	padding-top: 213.333%;
	position: relative;
}
.top .mv::before {
	content: "";
	display: none;
	position: inherit;
	width: inherit;
	height: inherit;
	background: none;
	background-size: 100% auto;
	top: inherit;
	left: inherit;
	right: inherit;
	margin: auto;
}

/* mv_arrow */
.top .mv_arrow {
	position: absolute;
	width: 44px;
	height: 93px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

/* mv-inner */
.top .mv .mv_inner {
	max-width: 100%;
	margin: auto;
	position: inherit;
}
.top .mv .mv-txt h2 {
	position: inherit;
	width: inherit;
	height: inherit;
	background: none;
	background-size: 100% auto;
	top: inherit;
	left: inherit;
	overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}	
}



/*--------------------------------------
　ttl_box
---------------------------------------*/

/*----- ttl_box01 -----*/
.top .ttl_box01_a {
	text-align: center;
}
.top .ttl_box01 p {
	font-size: 30px;
	font-weight: bold;
	font-family: "Roboto", serif;
	margin: 0 0 20px;
}
.top .ttl_box01_a p {
	color: #D51419;
	padding: 0 20px;
	box-sizing: border-box;
	display: inline-block;
	position: relative;
}
.top .ttl_box01_a p::before,
.top .ttl_box01_a p::after {
	content: "";
	display: block;
	position: absolute;
}
.top .ttl_box01_a p::before {
	width: 56.5px;
	height: 35.5px;
	background: url("../images/foot_01.png") center center no-repeat;
	background-size: 100% auto;
	top: -5px;
	left: -60px;
}
.top .ttl_box01_a p::after {
	width: 61px;
	height: 46px;
	background: url("../images/foot_02.png") center center no-repeat;
	background-size: 100% auto;
	top: -13px;
	right: -60px;
}
.top .ttl_box01_b {
	color: #fff;
	position: relative;
}
.top .ttl_box01_b::before {
	content: "";
	display: block;
	position: absolute;
	width: 61px;
	height: 46px;
	background: url("../images/foot_03.png") center center no-repeat;
	background-size: 100% auto;
	top: -45px;
	left: 110px;
}
.top .ttl_box01 h3 {
	font-size: 32px;
	font-weight: bold;
}

/*----- ttl_box02 -----*/
.top .ttl_box02 {
	text-align: center;
}
.top .ttl_box02 p {
	font-size: 12px !important;
	font-weight: bold;
	margin: 0 0 10px;
}
.top .ttl_box02 h4 {
	color: #2A4195;
	font-size: 24px;
	font-weight: bold;
}

@media screen and (max-width: 768px) {
	
/*----- ttl_box01 -----*/
.top .ttl_box01 p {
	font-size: 20px;
	margin: 0 0 10px;
}
.top .ttl_box01_a p {
	padding: 0 10px;
}
.top .ttl_box01_a p::before {
	width: 38px;
	height: 24px;
	background: url("../images/foot_01.png") center center no-repeat;
	background-size: 100% auto;
	top: -5px;
	left: -40px;
}
.top .ttl_box01_a p::after {
	width: 35px;
	height: 25px;
	background: url("../images/foot_02.png") center center no-repeat;
	background-size: 100% auto;
	top: -5px;
	right: -35px;
}
.top .ttl_box01_b::before {
	width: 40px;
	height: 28px;
	background: url("../images/foot_03.png") center center no-repeat;
	background-size: 100% auto;
	top: -25px;
	left: 80px;
}
.top .ttl_box01 h3 {
	font-size: 7vw;
	line-height: 1.5em;
}

/*----- ttl_box02 -----*/
.top .ttl_box02 p {
	font-size: 12px !important;
	margin: 0 0 10px;
}
.top .ttl_box02 h4 {
	font-size: 20px;
}
}



/*--------------------------------------
　btn
---------------------------------------*/

/*----- btn01 -----*/
.top .sec02 .btn01 a {
	margin: 40px auto 0;
}
.top .btn01 a {
	width: 240px;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	border-radius: 100px;
	background: #EFC03A;
	padding: 15px 0 15px 30px;
	box-sizing: border-box;
	position: relative;
	display: block;
}
.top .btn01 a::before {
	content: "";
	display: block;
	position: absolute;
	width: 22px;
	height: 22px;
	background: url("../images/common/arrow_01.png") center center no-repeat;
	background-size: 100% auto;
	top: 50%;
	right: 10px;
	transform: translate(0,-50%);
}
.top .btn01.wd_320 a {
	width: 320px;
	padding: 15px 0 15px 45px;
}
.top .btn01.wd_320 a::after {
	content: "";
	display: block;
	position: absolute;
	width: 78.5px;
	height: 95px;
	background: url("../images/pages/home/access_illust01.png") left center no-repeat;
	background-size: 100% auto;
	top: 50%;
	left: -50px;
	transform: translate(0,-50%);
}

@media screen and (max-width: 768px) {
	
/*----- btn01 -----*/
.top .sec02 .btn01 a {
	margin: 10px auto 0;
}
.top .btn01 a {
	width: 240px;
	font-size: 14px;
	margin: auto;
	padding: 15px 0 15px 30px;
}
.top .btn01.wd_320 a {
	width: 300px;
	padding: 15px 0 15px 45px;
}
.top .btn01.wd_320 a::after {
	width: 59px;
	height: 70px;
	background: url("../images/pages/home/access_illust01.png") left center no-repeat;
	background-size: 100% auto;
	top: 50%;
	left: -20px;
	transform: translate(0,-50%);
}	
}



/*--------------------------------------
　sec01
---------------------------------------*/
.top .sec01 {
	background: #2A4195;
	padding: 110px 0 0;
	box-sizing: border-box;
	position: relative;
}
.top .sec01::before {
	content: "";
	display: block;
	position: absolute;
	width: 475px;
	height: 324.5px;
	background: url("../images/common/sec01_ptn04.png") right bottom no-repeat;
	background-size: 100% auto;
	bottom: -60px;
	right: -0;
	z-index: 10;
}

/*----- main_txt -----*/
.top .sec01 .main_txt {
	margin: 0 0 60px;
	position: relative;
	z-index: 0;
}
.top .sec01 .main_txt::before,
.top .sec01 .main_txt::after {
	content: "";
	display: block;
	position: absolute;
	z-index: -10;
}
.top .sec01 .main_txt::before {
	width: 624px;
	height: 374px;
	background: url("../images/pages/home/intro_illust01.png") left top no-repeat;
	background-size: 100% auto;
	top: -100px;
	left: -60px;
}
.top .sec01 .main_txt::after {
	width: 372px;
	height: 181.5px;
	background: url("../images/pages/home/intro_illust02.png") right bottom no-repeat;
	background-size: 100% auto;
	bottom: -95px;
	right: 0;
}
.top .sec01 .main_txt h3 {
	color: #fff;
	font-size: 32px;
	font-weight: bold;
	text-align: center;
	line-height: 1.8em;
	margin: 0 0 43px;
}
.top .sec01 .main_txt h3 span {
	color: #EFC03A;
	font-weight: bold;
}
.top .sec01 .main_txt h3 .span01 {
	font-size: 42px;
}
.top .sec01 .main_txt h3 .span01,
.top .sec01 .main_txt h3 .span02 {
	position: relative;
}
.top .sec01 .main_txt h3 .span01::before,
.top .sec01 .main_txt h3 .span02::before {
	content: "";
	display: block;
	position: absolute;
}
.top .sec01 .main_txt h3 .span01::before {
	width: 115.5px;
	height: 9.5px;
	background: url("../images/common/line_01.png") center bottom no-repeat;
	background-size: 100% auto;
	bottom: -5px;
	left: -15px;
}
.top .sec01 .main_txt h3 .span02::before {
	width: 65.5px;
	height: 26.5px;
	background: url("../images/common/line_02.png") center bottom no-repeat;
	background-size: 100% auto;
	bottom: -15px;
	left: 0;
}
.top .sec01 .main_txt p {
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 2.3em;
}

/*----- block_area -----*/
.top .sec01 .block_area {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 190px;
	padding: 72px 0 0;
	box-sizing: border-box;
	position: relative;
	z-index: 0;
}
.top .sec01 .block_area::before {
	content: "";
	display: block;
	position: absolute;
	width: 991px;
	height: 433px;
	background: url("../images/pages/home/intro_ptn03.png") center top no-repeat;
	background-size: 100% auto;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: -10;
}
.top .sec01 .block_area .left {
	width: 296px;
	margin: 0 30px 0 0;
}
.top .sec01 .block_area .left img {
	border-radius: 24px;
}
.top .sec01 .block_area .right {
	width: 393.5px;
}
.top .sec01 .block_area .right h4 {
	font-size: 18px;
	margin: 0 0 20px;
}
.top .sec01 .block_area .right img {
	width: 100%;
	margin: 0 0 35px;
}

/*----- sec01_bg -----*/
.top .sec01_bg {
	width: 100%;
	height: 530px;
	background: url("../images/pages/home/intro_bg01.jpg") center 20% no-repeat;
	background-size: cover;	
	position: relative;
}
.top .sec01_bg::before,
.top .sec01_bg::after {
	content: "";
	display: block;
	position: absolute;
}
.top .sec01_bg::before {
	width: 100%;
	height: 164px;
	background: url("../images/pages/home/intro_ptn01.png") center top no-repeat;
	background-size: 100% auto;
	top: 0;
	left: 0;
}
.top .sec01_bg::after {
	width: 100%;
	height: 327px;
	background: url("../images/pages/home/intro_ptn02.png") center bottom no-repeat;
	background-size: 100% auto;
	bottom: 0;
	left: 0;
}

@media screen and (max-width: 768px) {
.top .sec01 {
	background: linear-gradient(180deg, #2a4195 90%, #ffffff 90%);
	padding: 120px 0 0;
}
.top .sec01::before {
	width: 475px;
	height: 324.5px;
	background: url("../images/common/sec01_ptn04.png") right bottom no-repeat;
	background-size: 30% auto;
	bottom: 10px;
	right: 0;
	z-index: 10;
}

/*----- main_txt -----*/
.top .sec01 .main_txt {
	margin: 0 0 180px;
}
.top .sec01 .main_txt::before {
	width: 445px;
	height: 280px;
	background: url("../images/pages/home/intro_illust01_sp.png") left top no-repeat;
	background-size: 100% auto;
	top: -110px;
	left: -90px;
}
.top .sec01 .main_txt::after {
	width: 277.5px;
	height: 128.5px;
	background: url("../images/pages/home/intro_illust02_sp.png") right bottom no-repeat;
	background-size: 100% auto;
	bottom: -140px;
	right: -60px;
}
.top .sec01 .main_txt h3 {
	font-size: 26px;
	line-height: 1.8em;
	margin: 0 0 43px;
}
.top .sec01 .main_txt h3 .span01 {
	font-size: 32px;
}
.top .sec01 .main_txt h3 .span01::before {
	width: 115.5px;
	height: 9.5px;
	background: url("../images/common/line_01.png") left bottom no-repeat;
	background-size: 65% auto;
	bottom: -5px;
	left: -5px;
}
.top .sec01 .main_txt h3 .span02::before {
	width: 65.5px;
	height: 26.5px;
	background: url("../images/common/line_02.png") left bottom no-repeat;
	background-size: 90% auto;
	bottom: -15px;
	left: -5px;
}
.top .sec01 .main_txt p {
	font-size: 16px;
	text-align: justify;
	line-height: 2em;
}

/*----- block_area -----*/
.top .sec01 .block_area {
	display: block;
	background: #fff;
	margin: 0 0 70px;
	padding: 0 0 60px;
}
.top .sec01 .block_area::before,
.top .sec01 .block_area::after {
	content: "";
	display: block;
	position: absolute;
}	
.top .sec01 .block_area::before {
	width: 100%;
	height: 0;
	background: url("../images/pages/home/intro_ptn05_sp.png") center top no-repeat;
	background-size: 100% auto;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	padding-top: 58.8%;
}
.top .sec01 .block_area::after {
	width: 100%;
	height: 0;
	background: url("../images/pages/home/intro_ptn06_sp.png") center bottom no-repeat;
	background-size: 100% auto;
	bottom: -3px;
	left: 0;
	right: 0;
	margin: auto;
	padding-top: 6.933%;
}
.top .sec01 .block_area .left {
	width: 80%;
	margin: 0 auto 30px;
}
.top .sec01 .block_area .left img {
	border-radius: 24px;
}
.top .sec01 .block_area .right {
	width: 100%;
}
.top .sec01 .block_area .right h4 {
	font-size: 16px;
	text-align: center;
	margin: 0 auto 25px;
}
.top .sec01 .block_area .right img {
	width: 60%;
	margin: 0 auto 35px;
}

/*----- sec01_bg -----*/
.top .sec01_bg {
	width: 100%;
	height: 0;
	background: url("../images/pages/home/intro_bg01_sp.png") center 70% no-repeat;
	background-size: cover;
	padding-top: 61.066%;
	position: inherit;
}
.top .sec01_bg::before,
.top .sec01_bg::after {
	content: "";
	display: none;
	position: inherit;
}
.top .sec01_bg::before {
	width: inherit;
	height: inherit;
	background: url("../images/pages/home/intro_ptn01.png") center top no-repeat;
	background-size: 100% auto;
	top: inherit;
	left: inherit;
}
.top .sec01_bg::after {
	width: inherit;
	height: inherit;
	background: url("../images/pages/home/intro_ptn02.png") center bottom no-repeat;
	background-size: 100% auto;
	bottom: inherit;
	left: inherit;
}
}



/*--------------------------------------
　sec02
---------------------------------------*/
.top .sec02 {
	padding: 80px 0 0;
	box-sizing: border-box;
}
.top .sec02 .block_area {
	margin: 65px 0 0;
	position: relative;
	display: flex;
  justify-content: space-between;
  flex-wrap: wrap; 
}
.top .sec02 .block_area::before {
	content: "";
	display: block;
	position: absolute;
	width: 182.5px;
	height: 108.5px;
	background: url("../images/pages/home/feature_illust01.png") center center no-repeat;
	background-size: 100% auto;
	top: -95px;
	left: 30px;
}
.top .sec02 .block {
	width: calc(33.333% - 20px);
	border-radius: 20px;
	margin: 0 0 30px;
	padding: 30px 20px;
	box-sizing: border-box;
}
.top .sec02 .block .num {
	width: 62px;
	height: 62px;
	font-size: 33px;
	font-weight: bold;
	font-family: "Roboto", serif;
	background: #fff;
	border-radius: 100px;
	text-align: center;
	line-height: 62px;
	margin: 0 auto 20px;
}
.top .sec02 .block h4 {
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 25px;
}
.top .sec02 .block img {
	border-radius: 10px;
	margin: 0 auto 25px;
}
.top .sec02 .block .txt {
	font-size: 18px;
	text-align: center;
}

@media screen and (max-width: 768px) {
.top .sec02 {
	padding: 50px 0 80px;
}
.top .sec02 .block_area {
	margin: 35px 0 0;
	position: inherit;
}
.top .sec02 .block_area::before {
	content: "";
	display: none;
	position: inherit;
	width: inherit;
	height: inherit;
	background: none;
	background-size: 100% auto;
	top: inherit;
	left: inherit;
}
.top .sec02 .block {
	width: calc(50% - 10px);
	border-radius: 10px;
	margin: 0 0 20px;
	padding: 20px 20px;
}
.top .sec02 .block .num {
	width: 40px;
	height: 40px;
	font-size: 18px;
	line-height: 40px;
	margin: 0 auto 20px;
}
.top .sec02 .block h4 {
	font-size: 5vw;
	line-height: 1.3em;
	margin: 0 auto 20px;
}
.top .sec02 .block img {
	border-radius: 8px;
	margin: 0 auto 20px;
}
.top .sec02 .block .txt {
	font-size: 14px;
	text-align: justify;
}
}



/*--------------------------------------
　sec03
---------------------------------------*/
.top .sec03 {
	background: #2A4195;
	position: relative;
	z-index: 0;
}
.top .sec03::before,
.top .sec03::after {
	content: "";
	display: block;
	position: absolute;
}
.top .sec03::before {
	width: 100%;
	height: 465px;
	background: url("../images/common/sec03_ptn01.png") center top no-repeat;
	background-size: 100% auto;
	top: 0;
	left: 0;
}
.top .sec03::after {
	width: 100%;
	height: 313px;
	background: url("../images/common/sec03_ptn02.png") center bottom no-repeat;
	background-size: 100% auto;
	bottom: 0;
	left: 0;
	z-index: -10;
}
.top .sec03 .sec_inner {
	padding: 150px 0 60px;
	box-sizing: border-box;
	position: relative;
}
.top .sec03 .sec_inner::before,
.top .sec03 .sec_inner::after {
	content: "";
	display: block;
	position: absolute;
}
.top .sec03 .sec_inner::before {
	width: 298px;
	height: 124px;
	background: url("../images/common/sec03_illust01.png") center top no-repeat;
	background-size: 100% auto;
	top: 105px;
	right: 0;
}

/*----- slider -----*/
.top .sec03 .top_slider {
	width: calc(100% + (100vw - 100%) / 4);
	margin: 45px auto 85px;
}
.top .sec03 .photo {
	width: 580px;
}
.top .sec03 .photo a {
	background: #fff;
	border-radius: 20px;
	margin: 0 30px 0 0;
	padding: 30px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.top .sec03 .photo a::before {
	content: "";
	display: block;
	position: absolute;
	width: 22px;
	height: 22px;
	background: url("../images/common/arrow_02.png") center center no-repeat;
	background-size: 100% auto;
	bottom: 15px;
	right: 15px;
}
.top .sec03 .photo a .img_box {
	width: 43%;
}
.top .sec03 .photo .img_box img {
	border-radius: 10px;
	/*object-fit: cover;*/
}
.top .sec03 .photo .txt_box {
	width: 52%;
}
.top .sec03 .photo .txt_box h4 {
	color: #2A4195;
	font-size: 28px;
	font-weight: bold;
	margin: 0 0 15px;
}
.top .sec03 .photo .txt_box p span {
	color: #D51419;
}

/* slide-arrow */
.top .slide-arrow {
  position: absolute;
	cursor: pointer;
	z-index: 9999;
}
.top .prev-arrow,
.top .next-arrow {
	position: absolute;
	width: 22px;
	height: 24px;
	background: #fff;
	bottom: -40px;
}
.top .prev-arrow {
	border-radius: 100px 0 0 100px;
	margin: 0 0 0 110px;
	left: 10%;
}
.top .next-arrow {
	border-radius: 0 100px 100px 0;
	margin: 0 0 0 132px;
	left: 10%;
}
.top .prev-arrow:after,
.top .next-arrow:after {
	content: "";
	position: absolute;
	top: 50%;
	width: 4px;
	height: 4px;
	border: 0px;
	border-top: solid 2px #EFC03A;
	border-right: solid 2px #EFC03A;
	margin-top: -3px;
}
.top .prev-arrow:after {
	left: 10px;
	-ms-transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
.top .next-arrow:after {
	right: 10px;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/*----- news_area -----*/
.top .sec03 .news_area {
	display: flex;
	justify-content: space-between;
	position: relative;
}
.top .sec03 .news_area::before,
.top .sec03 .news_area::after {
	content: "";
	display: block;
	position: absolute;
}
.top .sec03 .news_area::before {
	width: 1367.5px;
	height: 235.5px;
	background: url("../images/pages/home/service_ptn03.png") center center no-repeat;
	background-size: 100% auto;
	top: -50px;
	left: -100px;
	z-index: -10;
}
.top .sec03 .news_area::after {
	width: 249.5px;
	height: 86.5px;
	background: url("../images/pages/home/service_illust02.png") center center no-repeat;
	background-size: 100% auto;
	bottom: 50px;
	left: 70px;
	z-index: 10;
}
.top .sec03 .news_area .ttl_block {
	margin: 100px 0 0;
	padding: 0 0 0 70px;
	box-sizing: border-box;
}
.top .sec03 .news_area .ttl_block h3 {
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	margin: 0 0 30px;
}
.top .sec03 .news_block {
	width: 770px;
	background: #fff;
	border-radius: 24px;
	padding: 30px;
	box-sizing: border-box;
	z-index: 999;
}
.top .sec03 .news_block .news_list li {
	margin: 0 0 10px;
}
.top .sec03 .news_block .news_list li:last-child {
	margin: 0 0 0;
}
.top .sec03 .news_block .news_list li a {
	width: 100%;
	background: #F7F1DD;
	border-radius: 100px;
	padding: 15px 70px 15px 20px;
	box-sizing: border-box;
	position: relative;
}
.top .sec03 .news_block .news_list li a::before {
	content: "";
	display: block;
	position: absolute;
	width: 22px;
	height: 22px;
	background: url("../images/common/arrow_02.png") center center no-repeat;
	background-size: 100% auto;
	top: 50%;
	right: 15px;
	transform: translate(0,-50%);
}
.top .sec03 .news_block .news_list li .txt_area {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.top .sec03 .news_block .news_list .deta_box {
	display: flex;
	align-items: center;
}
.top .sec03 .news_block .news_list .deta_box {
	/*width: 36%;*/
}
.top .sec03 .news_block .news_list .deta_box .day {
	color: #929085;
	font-size: 15px;
	font-weight: bold;
	font-family: "Roboto", serif;
	line-height: 1em;
	margin: 0 20px 0 0;
}
.top .sec03 .news_block .news_list .cate span {
	width: 105px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	background: #D51419;
	border-radius: 100px;
	text-align: center;
	padding: 5px 0;
	box-sizing: border-box;
	display: inline-block;
}
.top .sec03 .news_block .news_list .news_ttl {
	width: 61%;
}
.top .sec03 .news_block .news_list .news_ttl p {
	font-size: 16px;
	font-weight: bold;
	text-align: justify;
	line-height: 1.5em;
}

@media screen and (max-width: 768px) {
.top .sec03::before {
	width: 100%;
	height: 87px;
	background: url("../images/common/sec03_ptn01_sp.png") center top no-repeat;
	background-size: 100% auto;
	top: 0;
	left: 0;
}
.top .sec03::after {
	width: 100%;
	height: 60px;
	background: url("../images/common/sec03_ptn02_sp.png") center bottom no-repeat;
	background-size: 100% auto;
	bottom: -3px;
	left: 0;
}
.top .sec03 .sec_inner {
	padding: 70px 0 140px;
}
.top .sec03 .sec_inner::before {
	width: 202px;
	height: 84px;
	background: url("../images/common/sec03_illust01.png") center top no-repeat;
	background-size: 100% auto;
	top: 25px;
	right: -70px;
}
.top .sec03 .sec_inner::after {
	width: 220px;
	height: 72px;
	background: url("../images/pages/home/service_illust02.png") left bottom no-repeat;
	background-size: 100% auto;
	bottom: 10px;
	left: -10px;
}

/*----- slider -----*/
.top .sec03 .top_slider {
	width: calc(100% + (100vw - 100%) / 4);
	margin: 30px auto 160px;
}
.top .sec03 .photo {
	width: 80%;
	margin: auto;
}
.top .sec03 .photo a {
	border-radius: 10px;
	margin: 0 10px 0;
	padding: 20px;
	display: block;
	/*position: relative;*/
}
.top .sec03 .photo a::before {
	bottom: 13px;
}
.top .sec03 .photo a .img_box {
	width: 100%;
	margin: 0 0 20px;
}
.top .sec03 .photo .img_box img {
	border-radius: 8px;
}
.top .sec03 .photo .txt_box {
	width: 100%;
}
.top .sec03 .photo .txt_box h4 {
	font-size: 20px;
	margin: 0 0 15px;
}

/* slide-arrow */
.top .prev-arrow,
.top .next-arrow {
	position: absolute;
	width: 22px;
	height: 24px;
	background: #fff;
	bottom: -50px;
}
.top .prev-arrow {
	margin: auto;
	left: 96px;
	right: 0;
}
.top .next-arrow {
	margin: auto;
	left: 140px;
	right: 0;
}

/*----- news_area -----*/
.top .sec03 .news_area {
	display: block;
}
.top .sec03 .news_area::before {
	width: 433px;
	height: 189px;
	background: url("../images/pages/home/sec03_ptn03_sp.png") center center no-repeat;
	background-size: 100% auto;
	top: -70px;
	left: inherit;
	right: -10px;
}
.top .sec03 .news_area::after {
	width: 272px;
	height: 153px;
	background: url("../images/pages/home/sec03_ptn04_sp.png") center center no-repeat;
	background-size: 100% auto;
	bottom: -30px;
	left: inherit;
	right: -48px;
	z-index: -10;
}
.top .sec03 .news_area .ttl_block {
	margin: 0 0 0;
	padding: 0 0 0 0;
}
.top .sec03 .news_area .ttl_block h3 {
	font-size: 24px;
	text-align: center;
	margin: 0 0 30px;
}
.top .sec03 .news_block {
	width: 100%;
	border-radius: 10px;
	margin: 0 0 40px;
	padding: 20px;
}
.top .sec03 .news_block .news_list li {
	margin: 0 0 13px;
}	
.top .sec03 .news_block .news_list li a {
	border-radius: 10px;
	padding: 15px 45px 15px 20px;
}
.top .sec03 .news_block .news_list li a::before {
	width: 22px;
	height: 22px;
	background: url("../images/common/arrow_02.png") center center no-repeat;
	background-size: 100% auto;
	top: inherit;
	bottom: 15px;
	right: 15px;
	transform: translate(0,0);
}
.top .sec03 .news_block .news_list li .txt_area {
	display: block;
}
.top .sec03 .news_block .news_list .deta_box {
	width: 100%;
	margin: 0 0 13px;
}
.top .sec03 .news_block .news_list .deta_box .day {
	width: 100px;
	font-size: 12px;
	margin: 0 0 0 0;
}
.top .sec03 .news_block .news_list .cate span {
	width: 95px;
	font-size: 11px;
	padding: 5px 0;
}
.top .sec03 .news_block .news_list .news_ttl {
	width: 100%;
}
.top .sec03 .news_block .news_list .news_ttl p {
	font-size: 15px;
}
}



/*--------------------------------------
　sec04
---------------------------------------*/
.top .sec04 {
	padding: 60px 0 135px;
	box-sizing: border-box;
}

/*----- access_area -----*/
.top .sec04 .access_area {
	background: #D5E6F6;
	border-radius: 24px;
	border: 1px solid #2A4195;
	margin: 45px 0 30px;
	padding: 40px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
}
.top .sec04 .access_area .left {
	width: 50%;
}
.top .sec04 .access_area .left .map_block {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 75%;
}
.top .sec04 .access_area .left iframe {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.top .sec04 .access_area .right {
	padding: 0 0 0 100px;
	box-sizing: border-box;
}
.top .sec04 .access_area .right .txt01 {
	font-size: 18px;
	text-align: center;
	line-height: 2.0em;
	margin: 20px 0 30px;
}

/*----- others_area -----*/
.top .sec04 .others_area {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.top .sec04 .others_area .left {
	width: 550px;
}
.top .sec04 .others_area .right {
	width: 580px;
}

/* schedule */
.top .sec04 .others_area .schedule table {
	width: 100%;
	margin: 0 0 20px;
	box-sizing: border-box;
}
.top .sec04 .others_area .schedule tr {
	width: 100%;
	border-bottom: 2px solid #DEDEDE;
	box-sizing: border-box;
}
.top .sec04 .others_area .schedule thead th {
	width: 11%;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	padding: 16px 0;
	box-sizing: border-box;
}
.top .sec04 .others_area .schedule thead th:first-child {
	width: 23%;
}
.top .sec04 .others_area .schedule tbody th {
	font-size: 15px;
	font-weight: bold;
	background: #F2F2F2;
	text-align: center;
}
.top .sec04 .others_area .schedule tbody td {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	padding: 30px 0;
	box-sizing: border-box;
}
.top .sec04 .others_area .schedule .note {
	line-height: 1.3em!important;
	margin: 0 0 40px;
}
.top .sec04 .others_area .schedule .note span {
	font-size: 13px;
}

/* block */
.top .sec04 .others_area .right .block {
	border-radius: 24px;
	padding: 40px;
	box-sizing: border-box;
}
.top .sec04 .others_area .right .block01 {
	background: #F7F1DD;
	border: 1px solid #EFC03A;
	margin: 0 0 30px;
}
.top .sec04 .others_area .right .block02 {
	background: #FCE3E2;
	border: 1px solid #D51419;
	box-sizing: border-box;
}
.top .sec04 .others_area .right .block h4 {
	font-size: 24px;
	margin: 0 0 20px;
}
.top .sec04 .others_area .right .block a {
	color: #2A4195;
	font-size: 31px;
	font-family: "Roboto", serif;
	font-weight: bold;
	margin: 15px 0 0;
}

@media screen and (max-width: 768px) {
.top .sec04 {
	padding: 60px 0 60px;
}

/*----- access_area -----*/
.top .sec04 .access_area {
	border-radius: 10px;
	margin: 30px 0 30px;
	padding: 30px 20px;
	display: block;
}
.top .sec04 .access_area .left {
	width: 100%;
	margin: 20px 0 0;
}
.top .sec04 .access_area .left .map_block {
	padding-top: 70%;
}	
.top .sec04 .access_area .right {
	padding: 0 0 0 0;
}
.top .sec04 .access_area .right .txt01 {
	font-size: 16px;
	text-align: justify;
	line-height: 1.8em;
	margin: 20px 0 30px;
}

/*----- others_area -----*/
.top .sec04 .others_area {
	display: block;
}
.top .sec04 .others_area .left {
	width: 100%;
}
.top .sec04 .others_area .right {
	width: 100%;
}

/* schedule */
.top .sec04 .others_area .schedule thead th {
	width: 11.714%;
	font-size: 2.8vw;
	line-height: 1.5em;
	padding: 14px 0;
}
.top .sec04 .others_area .schedule thead th:first-child {
	width: 18%;
}
.top .sec04 .others_area .schedule tbody th {
	font-size: 3vw;
	letter-spacing: -0.02em;
	padding: 0 5px;
	box-sizing: border-box;
}
.top .sec04 .others_area .schedule tbody td {
	font-size: 3vw;
	padding: 20px 0;
}
.top .sec04 .others_area .schedule .note {
	margin: 0 0 30px;
}	
.top .sec04 .others_area .schedule .note span {
	font-size: 12px;
}

/* block */
.top .sec04 .others_area .right .block {
	border-radius: 10px;
	padding: 20px 20px;
}
.top .sec04 .others_area .right .block01 {
	margin: 70px 0 30px;
}
.top .sec04 .others_area .right .block h4 {
	font-size: 20px;
	margin: 0 0 15px;
}
.top .sec04 .others_area .right .block a {
	font-size: 30px;
	text-align: center;
	margin: 10px 0 0;
}
}



/*--------------------------------------
　sec05
---------------------------------------*/
.top .sec05 {
	width: 900px;
	margin: auto;
  padding: 0 0 170px;
	box-sizing: border-box;
	position: relative;
	z-index: 0;
}
.top .sec05::before,
.top .sec05::after {
	content: "";
	display: block;
	position: absolute;
}
.top .sec05::before {
	width: 900px;
	height: 393.5px;
	background: url("../images/common/sec05_ptn01.png") center center no-repeat;
	background-size: 100% auto;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: -10;
}
.top .sec05::after {
	width: 155px;
	height: 114px;
	background: url("../images/common/sec05_illust01.png") center center no-repeat;
	background-size: 100% auto;
	top: -65px;
	right: 240px;
}
.top .sec05 .top_txt {
	margin: 0 0 20px;
	position: relative;
}
.top .sec05 h4 {
	font-size: 22px;
	text-align: center;
	line-height: 1.7em;
	position: absolute;
	top: 0;
	left: 20px;
}

/*----- sns_area -----*/
.top .sec05 .sns_area {
	display: flex;
	justify-content: center;
	padding: 100px 0 0;
	box-sizing: border-box;
}
.top .sec05 .sns_area .insta,
.top .sec05 .sns_area .line {
	text-align: center;
	margin: 0 55px;
}
.top .sec05 .sns_area .img_box {
	width: 90px;
	margin: auto;
}
.top .sec05 .sns_area .txt_box .eng {
	font-size: 24px;
	margin: 15px 0 15px;
}
.top .sec05 .sns_area .txt_box .info_txt {
	line-height: 2.5em;
}
.top .sec05 .sns_area .txt_box .info_txt span {
	color: #2A4195;
	font-size: 14px;
	font-weight: bold;
	background: #fff;
	border-radius: 100px;
	padding: 5px 15px;
	box-sizing: border-box;
}
.top .sec05 .sns_area .btn02 {
	position: relative;
	display: block;
}
.top .sec05 .sns_area .btn02::before {
	content: "";
	display: block;
	position: absolute;
	width: 22px;
	height: 22px;
	background: url("../images/common/arrow_03.png") center center no-repeat;
	background-size: 100% auto;
	bottom: -30px;
	left: 0;
	right: 0;
	margin: auto;
}

@media screen and (max-width: 768px) {
.top .sec05 {
	width: 100%;
	background: #D51419;
  padding: 0 0 100px;
}
.top .sec05::before {
	width: 100%;
	height: 320px;
	background: url("../images/common/sec05_ptn01_sp.png") center top no-repeat;
	background-size: 100% auto;
}
.top .sec05::after {
	width: 100%;
	height: 35px;
	background: url("../images/common/sec05_ptn02_sp.png") center bottom no-repeat;
	background-size: 100% auto;
	top: inherit;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.top .sec05 .sec05_inner {
	position: relative;
}	
.top .sec05 .sec05_inner::before {
	content: "";
	display: block;
	position: absolute;
	width: 128px;
	height: 94px;
	background: url("../images/common/sec05_illust01.png") center center no-repeat;
	background-size: 100% auto;
	top: 80px;
	left: -10px;
}	
.top .sec05 .top_txt {
	margin: 0 0 10px;
	position: relative;
}
.top .sec05 h4 {
	font-size: 18px;
	line-height: 1.7em;
	position: inherit;
	top: inherit;
	left: inherit;
}

/*----- sns_area -----*/
.top .sec05 .sns_area {
	display: block;
	padding: 0 0 0;
}
.top .sec05 .sns_area .insta {
  margin: 0 0;
}	
.top .sec05 .sns_area .line {
	margin: 80px 0 0;
}	
.top .sec05 .sns_area .img_box {
	width: 80px;
}
.top .sec05 .sns_area .txt_box .eng {
	font-size: 17px;
	margin: 15px 0 15px;
}
.top .sec05 .sns_area .txt_box .info_txt {
	line-height: 2.5em;
}
.top .sec05 .sns_area .txt_box .info_txt span {
	color: #2A4195;
	font-size: 14px;
	font-weight: bold;
	background: #fff;
	border-radius: 100px;
	padding: 5px 15px;
	box-sizing: border-box;
}
.top .sec05 .sns_area .btn02 {
	position: relative;
	display: block;
}
.top .sec05 .sns_area .btn02::before {
	content: "";
	display: block;
	position: absolute;
	width: 22px;
	height: 22px;
	background: url("../images/common/arrow_03.png") center center no-repeat;
	background-size: 100% auto;
	bottom: -30px;
	left: 0;
	right: 0;
	margin: auto;
}
}

/*--------------------------------------
　sec06
---------------------------------------*/
.top .sec06 {
  padding: 0 0 80px;
	box-sizing: border-box;
}
.top .sec06 .block_area {
	display: flex;
	justify-content: center;
	align-items: center;
}
.top .sec06 .txt_box h4 {
	font-size: 18px;
	margin: 0 0 15px;
}
.top .sec06 .txt_box p {
	font-size: 32px;
	line-height: 1.7em;
	margin: 0 0 30px;
}
.top .sec06 .img_box {
  width: 550px;
	padding: 0 0 0 80px;
	box-sizing: border-box;
}
.top .sec06 .img_box img {
	border-radius: 10px;
}

@media screen and (max-width: 768px) {
.top .sec06 {
  padding: 40px 0 80px;
}
.top .sec06 .block_area {
	display: block;
}
.top .sec06 .txt_box h4 {
	font-size: 16px;
	margin: 0 0 15px;
}
.top .sec06 .txt_box p {
	font-size: 6vw;
	line-height: 1.7em;
	margin: 0 0 20px;
}
.top .sec06 .img_box {
  width: 100%;
	margin: 0 0 30px;
	padding: 0 0 0 0;
}
.top .sec06 .img_box img {
	border-radius: 8px;
}	
}