@charset "UTF-8";
/*  MAINIMG
-------------------------*/
@media screen and (max-width: 767px) {
	.top-main-wrap {
		display: block;
		position: relative;
		background: url("../images/main-bg1.png") left bottom no-repeat;
	}
	.fix-1800 {
		display: block;
	}
	.top-main-wrap .fix-1800 {
		padding-top: 55px;
	}
	.top-main-wrap h2 {
		display: block;
		font-size: 3.2rem;
		line-height: 1.3;
		color: #000;
		margin-left: 4%;
		z-index: 20;
		position: relative;
	}
	.top-main-wrap h2 span {
		display: block;
	}
	.top-main-wrap .txt {
		display: block;
		margin: 0 4%;
		padding-top: 20px;
		margin-bottom: 30px;
	}
	.top-main-wrap .txt h3 {
		display: block;
		font-size: 1.8rem;
		line-height: 1.4;
		letter-spacing: 1px;
		margin-bottom: 10px;
	}
	.top-main-wrap .txt p {
		display: block;
		font-size: 1.2rem;
		line-height: 1.8;
		letter-spacing: 1px;
		margin-bottom: 14px;
	}
	.top-main-wrap .txt .scr {
		display: none;
	}
	.top-main-wrap .txt2 {
		display: block;
		margin-left: 4%;
		margin-right: 4%;
	}
	.top-main-wrap .txt2 figure {
		display: block;
		margin-bottom: 20px;
	}
	.top-main-wrap .txt2 h4 {
		display: block;
		font-weight: bold;
		line-height: 1.2;
		letter-spacing: 3px;
		color: #494949;
		font-size: 2.2rem;
		margin-bottom: 14px;
	}
	.top-main-wrap .txt2 h4 b {
		font-size: 4.2rem;
		font-style: italic;
	}
	.top-main-wrap .txt2 p {
		display: block;
		font-size: 1.34rem;
		line-height: 2;
	}
}
@media screen and (min-width: 768px) {
	.top-main-wrap {
		display: block;
		height: 100vh;
		position: relative;
		background: url("../images/main-bg1.png") right bottom no-repeat;
	}
	.fix-1800 {
		display: block;
	}
	.top-main-wrap .fix-1800 {
		padding-top: 25vh;
	}
	.top-main-wrap h2 {
		display: block;
		font-size: 11.5rem;
		line-height: 1.3;
		color: #000;
		margin-left: 4%;
		z-index: 20;
		position: relative;
	}
	.top-main-wrap h2 span {
		display: block;
	}
	.top-main-wrap h2 span.typo3 {
		font-size: 2rem;
		margin-left: 400px;
		margin-top: 30px;
	}
	.top-main-wrap .txt {
		position: absolute;
		left: 4%;
		bottom: 70px;
		padding-left: 55px;
		width: 655px;
	}
	.top-main-wrap .txt h3 {
		display: block;
		font-size: 3rem;
		line-height: 1.4;
		letter-spacing: 3px;
		margin-bottom: 15px;
	}
	.top-main-wrap .txt p {
		display: block;
		font-size: 1.44rem;
		line-height: 2.1;
		letter-spacing: 2px;
		margin-bottom: 22px;
	}
	.top-main-wrap .txt .scr {
		position: absolute;
		left: 0;
		top: 0;
		width: 22px;
	}
	.top-main-wrap .txt .scr img {
		position: relative;
		left: 0;
		top: 0;
		-webkit-transition: all 0.2s ease-in-out 0s;
  		transition: all 0.2s ease-in-out 0s;
	}
	.top-main-wrap .txt .scr a:hover img {
		top: 16px;
	}
	.top-main-wrap .txt2 {
		position: absolute;
		right: 135px;
		bottom: 70px;
	}
	.top-main-wrap .txt2 figure {
		display: block;
		margin-bottom: 70px;
	}
	.top-main-wrap .txt2 h4 {
		display: block;
		font-weight: bold;
		line-height: 1.2;
		letter-spacing: 3px;
		color: #494949;
		font-size: 2.2rem;
		margin-bottom: 20px;
		margin-left: 25px;
	}
	.top-main-wrap .txt2 h4 b {
		font-size: 4.2rem;
		font-style: italic;
	}
	.top-main-wrap .txt2 p {
		display: block;
		font-size: 1.34rem;
		line-height: 2;
		margin-left: 25px;
	}
}
@media screen and (min-width: 768px) and (max-width: 1560px) {
	.top-main-wrap h2 {
		font-size: 7.5rem;
	}
}
@media screen and (min-width: 768px) and (max-width: 1300px) {
	.top-main-wrap .txt {
		position: absolute;
		left: 4%;
		bottom: 70px;
		padding-left: 55px;
		width: 455px;
	}
}


/* ==================================================
	topbox01
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox01 {
		display: block;
		position: relative;
		overflow: hidden;
		margin-top: 25px;
	}
	.topbox01::before {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		content: "";
		background: #f5f7f8;
	}
	.fix-1100 {
		margin-left: 4%;
		margin-right: 4%;
	}
	.fix-1200 {
		margin-left: 4%;
		margin-right: 4%;
	}
	.topbox01 .fix-1200 {
		display: block;
		position: relative;
		z-index: 5;
		background: #f5f7f8;
		padding: 30px 0;
	}
	.topbox01 .tit {
		display: block;
		color: #004cb3;
		text-align: center;
	}
	.topbox01 .tit b {
		display: block;
		font-size: 1.55rem;
		line-height: 1.2;
		letter-spacing: 1px;
		margin-bottom: 10px;
	}
	.topbox01 .tit h2 {
		display: block;
		font-size: 3.4rem;
		letter-spacing: 13px;
		line-height: 1;
		font-weight: 500;
		margin-bottom: 7px;
	}
	.topbox01 .bt {
		display: block;
		max-width: 160px;
		margin: 14px auto;
	}
	.topbox01 .bt a {
		display: block;
		font-weight: bold;
		line-height: 1;
		position: relative;
		color: #004cb3;
		text-decoration: none;
		font-size: 1.35rem;
		letter-spacing: 2px;
	}
	.topbox01 .bt a::after {
		position: absolute;
		right: 0;
		bottom: 3px;
		content: "";
		background: url("../images/arrow2.png") right center no-repeat;
		width: 29px;
		height: 8px;
	}
	.top-info {
		height: 200px;
		overflow: auto;
	}
	.top-info dl {
		display: block;
		padding-bottom: 14px;
		margin-bottom: 14px;
		border-bottom: #FFF solid 1px;
	}
	.top-info dl::after {
		display: block;
		clear: both;
		content: "";
		width: 100%;
		height: 1px;
	}
	.top-info dl dt {
		display: block;
		font-size: 1.34rem;
		line-height: 1.5;
		margin-bottom: 8px;
	}
	.top-info dl dd {
		display: block;
		font-size: 1.34rem;
		line-height: 1.5;
	}
	.top-info dl dd a {
		color: #000;
		text-decoration: none;
	}
	.top-info dl dd a:hover {
		text-decoration: underline;
	}
	.topbox01 .sns {
		margin-top: 15px;
		text-align: center;
	}
	.topbox01 .sns li {
		display: inline-block;
		margin: 0 6px;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topbox01 {
		display: block;
		position: relative;
		overflow: hidden;
		margin-top: 60px;
	}
	.topbox01::before {
		position: absolute;
		left: 0;
		top: 0;
		width: 60%;
		height: 100%;
		content: "";
		background: #f5f7f8;
	}
	.fix-1100 {
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
	}
	.fix-1200 {
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}
	.topbox01 .fix-1200 {
		position: relative;
		z-index: 5;
		display: flex;
		justify-content: space-between;
		align-items: center;
		background: #f5f7f8;
		padding: 90px 0;
	}
	.topbox01 .tit {
		display: block;
		color: #004cb3;
	}
	.topbox01 .tit b {
		display: block;
		font-size: 1.55rem;
		line-height: 1.2;
		letter-spacing: 1px;
		margin-bottom: 15px;
	}
	.topbox01 .tit h2 {
		display: block;
		font-size: 3.4rem;
		letter-spacing: 13px;
		line-height: 1;
		font-weight: 500;
		margin-bottom: 7px;
	}
	.topbox01 .tit .bt {
		display: block;
	}
	.topbox01 .tit .bt a {
		display: block;
		font-weight: bold;
		line-height: 1;
		position: relative;
		color: #004cb3;
		text-decoration: none;
		font-size: 1.35rem;
		letter-spacing: 2px;
	}
	.topbox01 .tit .bt a::after {
		position: absolute;
		right: 0;
		bottom: 3px;
		content: "";
		background: url("../images/arrow2.png") right center no-repeat;
		width: 29px;
		height: 8px;
	}
	.topbox01 .tit .bt a:hover::after {
		right: -15px;
	}
	.top-info {
		height: 110px;
		overflow: auto;
		flex-basis: 60%;
		margin-left: 2%;
	}
	.top-info dl {
		display: block;
		padding-bottom: 20px;
		margin-bottom: 20px;
		border-bottom: #FFF solid 1px;
	}
	.top-info dl::after {
		display: block;
		clear: both;
		content: "";
		width: 100%;
		height: 1px;
	}
	.top-info dl dt {
		display: block;
		float:left;
		width: 16%;
		font-size: 1.34rem;
		line-height: 1.5;
	}
	.top-info dl dd {
		display: block;
		float:right;
		width: 84%;
		font-size: 1.34rem;
		line-height: 1.5;
	}
	.top-info dl dd a {
		color: #000;
		text-decoration: none;
	}
	.top-info dl dd a:hover {
		text-decoration: underline;
	}
	.topbox01 .sns {
		flex-basis: 18%;
	}
	.topbox01 .sns li {
		display: inline-block;
		margin: 0 6px;
	}
}
@media print, screen and (min-width: 640px) and (max-width: 1200px) {
	.fix-1200 {
		margin-left: 4%;
		margin-right: 4%;
	}
}
@media print, screen and (min-width: 640px) and (max-width: 1100px) {
	.fix-1100 {
		margin-left: 4%;
		margin-right: 4%;
	}
}
/* ========== end △ */


/* ==================================================
	topbox02
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox02 {
		display: block;
		padding:35px 0;
		position: relative;
		z-index: 5;
	}
	.topbox02::after {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 100%;
		height: 100%;
		background: #004cb3;
	}
	.fix-1000 {
		display: block;
		margin-left: 4%;
		margin-right: 4%;
	}
	.topbox02 .fix-1200 {
		position: relative;
		z-index: 6;
		color: #FFF;
	}
	.topbox02 .abt-txt1 {
		position: absolute;
		left: 20px;
		top: 0;
	}
	.topbox02 .abt-txt2 {
		position: absolute;
		left: -45px;
		top: 68px;
		-webkit-transform: rotate(-90deg);
		transform: rotate(-90deg);
		font-weight: 100;
	}
	.topbox02 .fix-1200 h2 {
		display: block;
		padding-top: 30px;
		padding-left: 25px;
		font-size: 2.2rem;
		line-height: 1.4;
		letter-spacing: 2px;
		margin-bottom: 20px;
	}
	.topbox02 .fix-1200 p {
		display: block;
		font-size: 1.44rem;
		line-height: 2;
		margin-left: 25px;
		padding-bottom: 20px;
	}
	.topbox02 .imgs {
		display: block;
		text-align: center;
		position: relative;
		z-index: 5;
		padding-bottom: 25px;
		overflow: auto;
	}
	.topbox02 .imgs img {
		display:inline-block;
		max-width: 100%;
		position: relative;
	}
	.topbox02 .btn01 {
		position: relative;
		max-width: 240px;
		margin-left: auto;
		margin-right: auto;
	}
  .topbox02 .topbox02_wrap {
    display: flex;
    flex-direction: column-reverse;
  }
  .topbox02 .topbox02_movie {
    aspect-ratio: 16 / 9;
    margin-bottom: 35px;
  }
  .topbox02 .topbox02_movie iframe {
    width: 100%;
    height: 100%;
  }
  .topbox02 .topbox02_txt {
    width: 100%;
    position: relative;
  }
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topbox02 {
		display: block;
		padding:116px 0;
		position: relative;
		z-index: 5;
	}
	.topbox02::after {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 85%;
		height: 100%;
		background: #004cb3;
	}
	.fix-1000 {
		display: block;
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}
	.topbox02 .fix-1200 {
		position: relative;
		z-index: 6;
		color: #FFF;
	}
	.topbox02 .abt-txt1 {
		position: absolute;
		left: 20px;
		top: 0;
	}
	.topbox02 .abt-txt2 {
		position: absolute;
		left: -45px;
		top: 68px;
		-webkit-transform: rotate(-90deg);
		transform: rotate(-90deg);
		font-weight: 100;
	}
	.topbox02 .fix-1200 h2 {
		display: block;
		padding-top: 30px;
		padding-left: 35px;
		font-size: 5.2rem;
		line-height: 1.4;
		letter-spacing: 5px;
		margin-bottom: 20px;
	}
	.topbox02 .fix-1200 p {
		display: block;
		font-size: 1.44rem;
		line-height: 2;
		margin-left: 35px;
		max-width: 700px;
		padding-bottom: 80px;
	}
	.topbox02 .imgs {
		display: block;
		text-align: center;
		position: relative;
		z-index: 5;
		padding-bottom: 135px;
		overflow: auto;
	}
	.topbox02 .imgs img {
		display:inline-block;
		max-width: 100%;
		position: relative;
		left: -6%;
	}
	.topbox02 .imgs::before {
		position: absolute;
		right: 0;
		bottom: 0;
		content: "";
		background: url("../images/tp2img2.jpg") bottom center no-repeat;
		background-size: cover;
		width: 22%;
		height: 660px;
		z-index: 10;
	}
	.topbox02 .imgs::after {
		position: absolute;
		right: 25%;
		bottom: 0;
		content: "";
		background: url("../images/tp2img3.jpg") bottom center no-repeat;
		background-size: cover;
		width: 26%;
		height: 454px;
		z-index: 10;
	}
	.topbox02 .btn01 {
		top: -50px;
		position: relative;
		margin-bottom: -50px;
	}
  .topbox02 .topbox02_wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  .topbox02 .topbox02_movie {
    aspect-ratio: 16 / 9;
    width: calc(42% - 20px);
  }
  .topbox02 .topbox02_movie iframe {
    width: 100%;
  height: 100%;
  }
  .topbox02 .topbox02_txt {
    width: calc(58% - 20px);
    position: relative;
  }
}
/* ========== end △ */

@media print, screen and (min-width: 640px) and (max-width: 1720px) {
  .topbox02 .fix-1200 h2 {
    font-size: 4.4rem;
  }
  .topbox02::after {
    width: 100%;
  }
}


/* ==================================================
	topbox03
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox03 {
		display: block;
		position: relative;
		padding-top: 40px;
		z-index: 2;
	}
	.topbox03::after {
		position: absolute;
		right: 0;
		top: 0;
		content: "";
		background: url("../images/bg001.png") left top ;
		width: 35%;
		height: 95%;
	}
	.tp3-wrap {
		display: block;
		position: relative;
	}
	.tp3-wrap::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		background: url("../images/service.png") left 15px top no-repeat;
		background-size: 230px auto;
		width: 100%;
		height: 168px;
		z-index: 20;
	}
	.tp3-wrap .fix-1200 {
		position: relative;
		z-index: 5;
	}
	.tp3-wrap .fix-1200 .txt {
		display: block;
		padding-top: 45px;
		padding-bottom: 30px;
	}
	.tp3-wrap .fix-1200 .txt b {
		display: block;
		color: #004cb3;
		display: block;
		font-size: 1.9rem;
		letter-spacing: 1px;
		line-height: 1.3;
	}
	.tp3-wrap .fix-1200 .txt h2 {
		display: block;
		margin: 15px 0;
		font-size: 2.3rem;
		line-height: 1.4;
	}
	.tp3-wrap .fix-1200 .txt h2 span {
		font-size: 1.7rem;
		display: block;
	}
	.tp3-wrap .fix-1200 .txt p {
		display: block;
		font-size: 1.44rem;
		line-height: 2;
	}
	.tp3-main {
		display: block;
		position: relative;
		z-index: 20;
		padding-top: 40px;
		margin-bottom: 30px;
	}
	.tp3-main::after {
		position: absolute;
		right: 0;
		top: 0;
		content: "";
		background: url("../images/tp3img1.png") left top no-repeat;
		background-size: cover;
		height: 90%;
		width: 65%;
	}
	.tp3-main.bg2::after {
		position: absolute;
		right: auto;
		left: 0;
		top: 0;
		content: "";
		background: url("../images/tp3img2.png") right top no-repeat;
		background-size: cover;
		height: 90%;
		width: 65%;
	}
	.tp3-main.bg3::after {
		background: url("../images/tp3img3.png") left top no-repeat;
		background-size: cover;
	}
	.tp3-main .fix-1200 {
		position: relative;
		z-index: 5;
	}
	.tp3-main .abt {
		position: absolute;
		left: 15px;
		top: -35px;
		font-size: 2.4rem;
		line-height: 1;
		letter-spacing: 2px;
		color: #004cb3;
	}
	.tp3-main.bg2 .abt {
		left: auto;
		right: 15px;
	}
	.tp3-main .txt {
		background: #004cb3;
		color: #FFF;
		width: 90%;
	}
	.tp3-main.bg2 .txt {
		margin-left: 10%;
	}
	.tp3-main .flex {
		display: block;
		padding: 15px;
	}
	.tp3-main .flex .txt2 {
		display: block;
	}
	.tp3-main .flex .txt2 b {
		font-weight: normal;
		display: block;
		font-size: 1.4rem;
		line-height: 1.9;
		margin-bottom: 15px;
	}
	.tp3-main .flex .txt2 h3 {
		display: block;
		font-size: 2.2rem;
		line-height: 1.3;
		margin-bottom: 15px;
	}
	.tp3-main .flex .txt2 p {
		display: block;
		font-size: 1.44rem;
		line-height: 1.9;
	}
	.tp3-main .flex .btn01 {
		margin-top: 22px;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topbox03 {
		display: block;
		position: relative;
		margin-top: -150px;
		margin-bottom: -150px;
		padding-top: 250px;
		z-index: 2;
	}
	.topbox03::after {
		position: absolute;
		right: 0;
		top: 0;
		content: "";
		background: url("../images/bg001.png") left top ;
		width: 35%;
		height: 95%;
	}
	.tp3-wrap {
		display: block;
		position: relative;
	}
	.tp3-wrap::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		background: url("../images/service.png") left top no-repeat;
		background-size: 100% auto;
		width: 53%;
		height: 168px;
	}
	.tp3-wrap .fix-1200 {
		position: relative;
		z-index: 5;
	}
	.tp3-wrap .fix-1200 .txt {
		display: block;
		float: right;
		width: 480px;
		padding-bottom: 130px;
	}
	.tp3-wrap .fix-1200 .txt b {
		display: block;
		color: #004cb3;
		font-size: 1.9rem;
		letter-spacing: 1px;
		line-height: 1.3;
	}
	.tp3-wrap .fix-1200 .txt h2 {
		display: block;
		margin: 15px 0;
		font-size: 3rem;
		line-height: 1.4;
	}
	.tp3-wrap .fix-1200 .txt h2 span {
		font-size: 2.1rem;
	}
	.tp3-wrap .fix-1200 .txt p {
		display: block;
		font-size: 1.44rem;
		line-height: 2;
	}
	.tp3-main {
		display: block;
		position: relative;
		z-index: 20;
		padding-top: 220px;
		margin-bottom: 80px;
	}
	.tp3-main::after {
		position: absolute;
		right: 0;
		top: 0;
		content: "";
		background: url("../images/tp3img1.png") left top no-repeat;
		background-size: cover;
		height: 90%;
		width: 65%;
	}
	.tp3-main.bg2::after {
		position: absolute;
		right: auto;
		left: 0;
		top: 0;
		content: "";
		background: url("../images/tp3img2.png") right top no-repeat;
		background-size: cover;
		height: 90%;
		width: 65%;
	}
	.tp3-main.bg3::after {
		background: url("../images/tp3img3.png") left top no-repeat;
		background-size: cover;
	}
	.tp3-main .fix-1200 {
		position: relative;
		z-index: 5;
	}
	.tp3-main .abt {
		position: absolute;
		left: -35px;
		top: 0;
		font-size: 3rem;
		line-height: 1;
		letter-spacing: 2px;
		color: #004cb3;
		-ms-writing-mode: tb-rl;
  		writing-mode: vertical-rl;
	}
	.tp3-main.bg2 .abt {
		position: absolute;
		left: auto;
		right: -35px;
	}
	.tp3-main .txt {
		background: #004cb3;
		color: #FFF;
		width: 70%;
	}
	.tp3-main.bg2 .txt {
		margin-left: 30%;
	}
	.tp3-main .flex {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 50px 0 50px 80px;
	}
	.tp3-main .flex .txt2 {
		flex-basis: 60%;
		border-right: #2669c3 solid 1px;
		padding-right: 5%;
	}
	.tp3-main .flex .txt2 b {
		font-weight: normal;
		display: block;
		font-size: 1.7rem;
		line-height: 2;
		margin-bottom: 45px;
	}
	.tp3-main .flex .txt2 h3 {
		display: block;
		font-size: 3.4rem;
		line-height: 1.3;
		margin-bottom: 20px;
	}
	.tp3-main .flex .txt2 p {
		display: block;
		font-size: 1.44rem;
		line-height: 2;
	}
	.tp3-main .flex .btn01 {
		flex-basis: 30%;
	}
}
/* ========== end △ */


/* ==================================================
	topbox04
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox04 {
		display: block;
		position: relative;
		overflow: hidden;
		padding-top: 30px;
		padding-bottom: 25px;
		z-index: 1;
	}
	.topbox04::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 100%;
		height: 100%;
		background: #364355;
	}
	.topbox04::after {
		position: absolute;
		right: 0;
		top: 0;
		content: "";
		background: url("../images/bg2.png") left top;
		width: 35%;
		height: 30px;
		z-index: 3;
	}
	.topbox04 .inner {
		position: relative;
		z-index: 10;
		border-top: #686868 solid 1px;
		padding-top: 25px;
	}
	.topbox04 .tit {
		display: block;
		text-align: center;
		color: #FFF;
		padding-bottom: 20px;
		margin-bottom: 20px;
		border-bottom: #677383 solid 1px;
	}
	.topbox04 .tit h2 {
		font-size: 5.4rem;
		line-height: 1;
		letter-spacing: 7px;
	}
	.topbox04 .tit p {
		display: block;
		font-size: 1.6rem;
		line-height: 1.4;
		font-weight: bold;
	}
	.topbox04 .tit p b {
		display: block;
		font-size: 2.4rem;
	}
	.topbox04 .list {
		display: block;
	}
	.topbox04 .list li {
		display: block;
		position: relative;
		margin: 13px 0 13px 30px;;
		background: #ccc;
	}
	.topbox04 .list li a {
		display: block;
		text-align: center;
		position: relative;
		background: #f5f7fb;
		text-decoration: none;
		color: #004cb3;
		padding: 25px 0 20px 0;
		top: 0;
		left: 0;
	}
	.topbox04 .list li a .abt {
		position: absolute;
		left: -35px;
		top: 0;
		color: #677383;
		font-size: 3rem;
		letter-spacing: 2px;
		line-height: 1;
		-ms-writing-mode: tb-rl;
  		writing-mode: vertical-rl;
	}
	.topbox04 .list li h3 {
		display: block;
		font-size: 2.5rem;
		line-height: 1.2;
		margin-bottom: 20px;
	}
	.topbox04 .list li h3 span {
		font-size: 1.5rem;
	}
	.topbox04 .list li figure {
		display: block;
	}
	.topbox04 .list li figure img {
		width: 100%;
	}
	.topbox04 .list li .bt {
		display: inline-block;
		position: relative;
		color: #004cb3;
		text-decoration: none !important;
		padding: 14px 0 14px 47px;
	}
	.topbox04 .list li .bt::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		border-radius: 50%;
		width: 35px;
		height: 35px;
		border: #004cb3 solid 2px;
		-webkit-transition: all 0.2s ease-in-out 0s;
  		transition: all 0.2s ease-in-out 0s;
	}
	.topbox04 .list li .bt::after {
		position: absolute;
		left: 5px;
		top: 5px;
		content: "";
		border-radius: 50%;
		width: 29px;
		height: 29px;
		background: #004cb3;
		-webkit-transition: all 0.2s ease-in-out 0s;
  		transition: all 0.2s ease-in-out 0s;
	}
	.topbox04 .list li .bt span {
		display:block;
		position: relative;
		z-index: 10;
		font-size: 1.44rem;
		font-weight: bold;
		letter-spacing: 1px;
		line-height: 1.1;
		text-decoration: underline;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topbox04 {
		display: block;
		position: relative;
		overflow: hidden;
		padding-top: 223px;
		margin-bottom: 90px;
		z-index: 1;
	}
	.topbox04::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 100%;
		height: 920px;
		background: #364355;
	}
	.topbox04::after {
		position: absolute;
		right: 0;
		top: 0;
		content: "";
		background: url("../images/bg2.png") left top;
		width: 35%;
		height: 223px;
		z-index: 3;
	}
	.topbox04 .inner {
		position: relative;
		z-index: 10;
		border-top: #686868 solid 1px;
		padding-top: 85px;
	}
	.topbox04 .tit {
		display: block;
		text-align: center;
		color: #FFF;
		padding-bottom: 55px;
		margin-bottom: 55px;
		border-bottom: #677383 solid 1px;
	}
	.topbox04 .tit h2 {
		font-size: 14.4rem;
		line-height: 1;
		letter-spacing: 11px;
	}
	.topbox04 .tit p {
		display: block;
		font-size: 2.1rem;
		line-height: 1.4;
		font-weight: bold;
	}
	.topbox04 .tit p b {
		font-size: 3rem;
	}
	.topbox04 .list {
		display: flex;
		justify-content: space-between;
	}
	.topbox04 .list li {
		display: block;
		position: relative;
		margin-left: 60px;
  		flex-basis: calc((100% - (60px * 2)) / 3 - .01px);
		background: #ccc;
	}
	.topbox04 .list li:nth-child(1) {
		margin-left: 0px;
	}
	.topbox04 .list li a {
		display: block;
		text-align: center;
		position: relative;
		background: #f5f7fb;
		text-decoration: none;
		color: #004cb3;
		padding: 35px 0 30px 0;
		top: 0;
		left: 0;
	}
	.topbox04 .list li a:hover {
		top: -13px;
		left: -13px;
	}
	.topbox04 .list li a .abt {
		position: absolute;
		left: -35px;
		top: 0;
		color: #677383;
		font-size: 3rem;
		letter-spacing: 2px;
		line-height: 1;
		-ms-writing-mode: tb-rl;
  		writing-mode: vertical-rl;
	}
	.topbox04 .list li h3 {
		display: block;
		font-size: 3rem;
		line-height: 1.2;
		margin-bottom: 20px;
	}
	.topbox04 .list li h3 span {
		font-size: 1.7rem;
	}
	.topbox04 .list li figure {
		display: block;
	}
	.topbox04 .list li figure img {
		width: 100%;
	}
	.topbox04 .list li .bt {
		display: inline-block;
		position: relative;
		color: #004cb3;
		text-decoration: none !important;
		padding: 21px 0 21px 70px;
	}
	.topbox04 .list li .bt::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		border-radius: 50%;
		width: 55px;
		height: 55px;
		border: #004cb3 solid 2px;
		-webkit-transition: all 0.2s ease-in-out 0s;
  		transition: all 0.2s ease-in-out 0s;
	}
	.topbox04 .list li .bt::after {
		position: absolute;
		left: 15px;
		top: 15px;
		content: "";
		border-radius: 50%;
		width: 30px;
		height: 30px;
		background: #004cb3;
		-webkit-transition: all 0.2s ease-in-out 0s;
  		transition: all 0.2s ease-in-out 0s;
	}
	.topbox04 .list li a:hover .bt::after {
		position: absolute;
		left: 1px;
		top: 1px;
		content: "";
		border-radius: 50%;
		width: 57px;
		height: 57px;
		background: #004cb3;
	}
	.topbox04 .list li .bt span {
		display:block;
		position: relative;
		z-index: 10;
		font-size: 1.44rem;
		font-weight: bold;
		letter-spacing: 1px;
		line-height: 1.1;
		text-decoration: underline;
	}
}
/* ========== end △ */
#jquery-tab-pager-navi {
		display: none !important;
	}


/* ==================================================
	topbox05
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox05 {
		display: block;
		position: relative;
		padding-top: 270px;
	}
	.topbox05::after {
		position: absolute;
		left: 0;
		bottom: 0;
		content: "";
		width: 100%;
		height: 100%;
		background: #004cb3;
	}
	.topbox05::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		background: url("../images/tp5img.jpg") top center no-repeat;
		background-size: cover;
		width: 100%;
		height: 245px;
		z-index: 2;
	}
	.topbox05 .fix-1200 {
		position: relative;
		z-index: 5;
	}
	.topbox05 .txt {
		color: #FFF;
		padding-bottom: 20px;
	}
	.topbox05 .txt h2 {
		display: block;
		font-size: 3.6rem;
		line-height: 1;
		letter-spacing: 3px;
		font-weight: 400;
	}
	.topbox05 .txt b {
		display: block;
		font-size: 1.9rem;
		line-height: 1;
		letter-spacing: 3px;
		margin-bottom: 20px;
	}
	.topbox05 .txt h3 {
		display: block;
		font-size: 2.6rem;
		line-height: 1.3;
		margin-bottom: 15px;
	}
	.topbox05 .txt h3 span {
		display: block;
		font-size: 1.6rem;
	}
	.topbox05 .txt p {
		display: block;
		font-size: 1.4rem;
		line-height: 2;
		margin-bottom: 25px;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topbox05 {
		display: block;
		position: relative;
	}
	.topbox05::after {
		position: absolute;
		left: 0;
		bottom: 0;
		content: "";
		width: 100%;
		height: 80%;
		background: #004cb3;
	}
	.topbox05::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		background: url("../images/tp5img.jpg") top center no-repeat;
		background-size: cover;
		width: 53%;
		height: 535px;
		z-index: 2;
	}
	.topbox05 .fix-1200 {
		position: relative;
		z-index: 5;
	}
	.topbox05 .txt {
		margin-left: 62%;
		color: #FFF;
		padding-top: 200px;
		padding-bottom: 120px;
	}
	.topbox05 .txt h2 {
		display: block;
		font-size: 4.6rem;
		line-height: 1;
		letter-spacing: 3px;
		font-weight: 400;
	}
	.topbox05 .txt b {
		display: block;
		font-size: 1.9rem;
		line-height: 1;
		letter-spacing: 3px;
		margin-bottom: 40px;
	}
	.topbox05 .txt h3 {
		display: block;
		font-size: 3rem;
		line-height: 1.3;
		margin-bottom: 15px;
	}
	.topbox05 .txt h3 span {
		font-size: 2.1rem;
	}
	.topbox05 .txt p {
		display: block;
		font-size: 1.4rem;
		line-height: 2;
		margin-bottom: 55px;
	}
}
/* ========== end △ */








