@charset "UTF-8";
/* ==================================================
	element
================================================== */

/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.top-main-wrap {
		display: block;
		position: relative;
		overflow: hidden;
		padding: 55px 0 0 0;
	}
	.top-main-wrap .bg-inner {
		display: block;
		background:url("../images/sp-main.jpg") top center no-repeat;
		background-size: cover;
		padding-top: 50px;
		padding-bottom: 25px;
	}
	.top-main-wrap .fix {
		display: block;
		margin-left: 5%;
		margin-right: 5%;
	}
	.top-main-wrap .fix .txt {
		text-align: left;
		color: #FFF;
		padding-top: 20px;
	}
	.top-main-wrap .fix .txt h2 {
		display: block;
		font-size: 2.2rem;
		line-height: 1.6;
		letter-spacing: 1px;
		margin-bottom: 20px;
	}
	.top-main-wrap .fix .txt h2 span {
		display: block;
		font-size: 1.5rem;
	}
	.top-main-wrap .fix .txt p {
		display: block;
		font-size: 1.6rem;
		line-height: 1.7;
		letter-spacing: 1px;
		margin-bottom: 20px;
	}
	.top-main-wrap .fix .txt p b {
		font-size: 2.2rem;
	}
	.top-main-wrap .fix .txt p span {
		display: inline-block;
		padding: 4px;
		background: #0763C3;
	}
	.top-main-wrap .fix .txt .bt {
		display: block;
		margin-left: auto;
		margin-right: auto;
		max-width: 280px;
	}
	.top-main-wrap .fix .txt .bt a {
		display: block;
		text-align: center;
		font-size: 1.4rem;
		letter-spacing: 1px;
		line-height: 1.4;
		padding: 10px 0;
		border-radius: 30px;
		background: rgba(255,255,255,0.9);
		text-decoration: none;
		color: #002877;
		position: relative;
	}
	.top-main-wrap .fix .txt .bt a::after {
		position: absolute;
		right: 10px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		background: url("../images/ya2.png") center center no-repeat;
		width: 11px;
		height: 9px;
	}
	.top-main-wrap .fix .txt .bt a:hover {
		background: #FFF;
		color: #000;
	}
	.top-main-wrap .fix figure {
		display: none;
	}
	.top-main-wrap .fix figure img {
		width: 100%;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.top-main-wrap {
		display: block;
		position: relative;
		overflow: hidden;
		padding: 93px 0 0 0;
	}
	.top-main-wrap .bg-inner {
		display: block;
		background: url("../images/main-bg.jpg") top center no-repeat;
		background-size: cover;
		padding-top: 50px;
	}
	.top-main-wrap .fix {
		display: flex;
		justify-content: space-between;
		max-width: 1030px;
		margin-left: auto;
		margin-right: auto;
	}
	.top-main-wrap .fix .txt {
		flex-basis: 65%;
		text-align: center;
		color: #FFF;
		padding-top: 20px;
	}
	.top-main-wrap .fix .txt h2 {
		display: block;
		background: url("../images/logo.png") top center no-repeat;
		padding: 0;
		font-size: 3.6rem;
		line-height: 1.6;
		letter-spacing: 3px;
		margin-bottom: 35px;
	}
	.top-main-wrap .fix .txt h2 span {
		display: block;
		font-size: 2.0rem;
	}
	.top-main-wrap .fix .txt p {
		display: block;
		font-size: 2.4rem;
		line-height: 1.7;
		letter-spacing: 3px;
		margin-bottom: 50px;
	}
	.top-main-wrap .fix .txt p b {
		font-size: 3rem;
	}
	.top-main-wrap .fix .txt .bt {
		display: block;
		margin-left: auto;
		margin-right: auto;
		max-width: 430px;
	}
	.top-main-wrap .fix .txt .bt a {
		display: block;
		text-align: center;
		font-size: 2rem;
		letter-spacing: 2px;
		line-height: 1.4;
		padding: 14px 0;
		border-radius: 130px;
		border: #FFF solid 2px;
		text-decoration: none;
		color: #FFF;
		position: relative;
	}
	.top-main-wrap .fix .txt .bt a::after {
		position: absolute;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		background: url("../images/ya.png") center center no-repeat;
		width: 11px;
		height: 9px;
	}
	.top-main-wrap .fix .txt .bt a:hover {
		background: #FFF;
		color: #000;
	}
	.top-main-wrap .fix figure {
		flex-basis: 34%;
	}
	.top-main-wrap .fix figure img {
		width: 100%;
	}
}
/* ========== end △ */

.fadeIn3 {
  -webkit-animation-name: fadeIn3;
  animation-name: fadeIn3; }
.bnr-toTop {
	margin-bottom: 100px;
}
/* ========== end △ */


/* ==================================================
	topbox01
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox01 {
		display: block;
		position: relative;
		padding: 25px 0;
		background: #f9f6f3;
	}
	.fix-1200 {
		margin-left: 4%;
		margin-right: 4%;
	}
	.topbox01 .flex {
		display: block;
	}
	.topbox01 .flex li {
		display: block;
		position: relative;
		padding-top: 20px;
		margin-top: 20px;
		border-top: #ccc solid 1px;
	}
	.topbox01 .flex li:nth-child(1) {
		padding-top: 0px;
		margin-top: 0px;
		border-top: #ccc solid 0px;
	}
	.topbox01 .flex li::before {
		position: absolute;
		left: -20px;
		top: 0;
		content: "";
		width: 1px;
		height: 100%;
		background: #000000;
	}
	.topbox01 .flex li:nth-child(1)::before {
		display: none;
	}
	.topbox01 .flex li b {
		display: block;
		text-align: center;
		font-size: 1.7rem;
		line-height: 1.4;
		color: #002877;
		margin-bottom: 10px;
	}
	.topbox01 .flex li figure {
		display: block;
	}
	.topbox01 .flex figure img {
		width: 100%;
	}
	.topbox01 p {
		display: block;
		text-align: center;
		font-size: 1.5rem;
		line-height: 1.4;
		color: #002877;
		margin-top: 20px;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topbox01 {
		display: block;
		position: relative;
		padding: 50px 0;
		background: #f9f6f3;
	}
	.fix-1200 {
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}
	.topbox01 .flex {
		display: flex;
		justify-content: space-between;
		margin-bottom: 40px;
	}
	.topbox01 .flex li {
		display: block;
		position: relative;
		margin-left: 40px;
  		flex-basis: calc((100% - (40px * 2)) / 3 - .01px);
	}
	.topbox01 .flex li:nth-child(1) {
		margin-left: 0px;
	}
	.topbox01 .flex li::before {
		position: absolute;
		left: -20px;
		top: 0;
		content: "";
		width: 1px;
		height: 100%;
		background: #000000;
	}
	.topbox01 .flex li:nth-child(1)::before {
		display: none;
	}
	.topbox01 .flex li b {
		display: block;
		text-align: center;
		font-size: 2rem;
		line-height: 1.4;
		color: #002877;
		margin-bottom: 15px;
	}
	.topbox01 .flex li figure {
		display: block;
	}
	.topbox01 .flex figure img {
		width: 100%;
	}
	.topbox01 p {
		display: block;
		text-align: center;
		font-size: 2.4rem;
		line-height: 1.4;
		letter-spacing: 2px;
		color: #002877;
	}
}
@media print, screen and (min-width: 640px) and (max-width: 1200px) {
	.fix-1200 {
		margin-left: 4%;
		margin-right: 4%;
	}
}
/* ========== end △ */


/* ==================================================
	topbox02
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox02 {
		display: block;
		position: relative;
		padding: 30px 0;
	}
	.topbox02 .flex {
		display: block;
		background: #FFF;
		box-shadow: 0px 0px 16px -7px rgba(0,0,0,0.4);
		padding: 20px;
	}
	.topbox02 .flex .tit {
		display: block;
		text-align: center;
		position: relative;
		border-bottom: #002877 solid 1px;
	}
	.topbox02 .flex .tit h2 {
		display: block;
		font-size: 2.3rem;
		line-height: 1.2;
		color: #002877;
		padding-top: 14px;
		margin-bottom: 4px;
	}
	.topbox02 .flex .tit b {
		display: block;
		font-size: 1.5rem;
		line-height: 1.2;
		color: #002877;
		font-weight: 500;
		margin-bottom: 15px;
	}
	.topbox02 .flex .btn01 {
		max-width: 250px;
		margin-top: 20px;
	}
	.top-info {
		display: block;
	}
	.top-info ul {
		display: block;
		padding-top: 15px;
	}
	.top-info li {
		display: block;
		font-size: 1.5rem;
		line-height: 1.6;
		margin-top: 15px;
	}
	.top-info li img {
		display: inline;
		width: auto;
		height: 22px;
	}
	.top-info li:nth-child(1) {
		margin-top: 0px;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topbox02 {
		display: block;
		position: relative;
		padding: 60px 0;
	}
	.topbox02 .flex {
		display: flex;
		justify-content:space-between;
		align-items: center;
		background: #FFF;
		box-shadow: 0px 0px 16px -7px rgba(0,0,0,0.4);
		padding: 50px;
	}
	.topbox02 .flex .tit {
		flex-basis: 32%;
		position: relative;
		border-right: #002877 solid 1px;
	}
	.topbox02 .flex .tit h2 {
		display: block;
		font-size: 3.6rem;
		line-height: 1.2;
		color: #002877;
		margin-bottom: 13px;
	}
	.topbox02 .flex .tit b {
		display: block;
		font-size: 2rem;
		line-height: 1.2;
		color: #002877;
		font-weight: 500;
		margin-bottom: 30px;
	}
	.topbox02 .flex .tit .btn01 {
		max-width: 270px;
	}
	.top-info {
		flex-basis: 62%;
	}
	.top-info ul {
		display: block;
	}
	.top-info li {
		display: flex;
		align-items: center;
		font-size: 1.6rem;
		line-height: 1.6;
		margin-top: 17px;
	}
	.top-info li:nth-child(1) {
		margin-top: 0px;
	}
}
/* ========== end △ */


/* ==================================================
	topbox03
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox03 {
		display: block;
		position: relative;
		background: url("../images/bg-Reason.jpg") center center no-repeat;
		background-size: cover;
		padding: 30px 0 35px 0;
	}
	.sp-ti-img {
		display: block;
		text-align: center;
	}
	.sp-ti-img img {
		display: inline-block;
		max-width: 100%;
	}
	.topbox03 .sp-ti-img {
		margin-bottom: 25px;
	}
	.topbox03 .sp-ti-img img {
		max-width: 220px;
	}
	.mb65 {
		margin-bottom: 65px;
	}
	.topbox03 .list {
		display: block;
	}
	.topbox03 .list li {
		display: block;
		position: relative;
		margin-bottom: 12px;
	}
	.topbox03 .list li:nth-child(1) {
		margin-left: 0px;
	}
	.topbox03 .list li .num {
		position: absolute;
		left: 5px;
		top: -12px;;
		z-index: 5;
	}
	.topbox03 .list li .num img {
		width: 60px;
	}
	.topbox03 .list li .imgs {
		display: block;
	}
	.topbox03 .list li .imgs img {
		width: 100%;
	}
	.topbox03 .list li .txt {
		display: block;
		position: relative;
		background: #FFF;
		box-shadow: 0px 0px 16px -7px rgba(0,0,0,0.4);
		margin-left: 10px;
		margin-right: 10px;
		top: -20px;
		padding: 20px 5px;
		text-align: center;
	}
	.topbox03 .list li .txt p {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
		font-weight: bold !important;
	}
	.topbox03 .list li .txt p b {
		color: #eb2d0d;
		font-size: 1.8rem;
	}
	.topbox03 .mt {
		display: block;
		text-align: center;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 2;
		margin: 20px 0 20px 0;
	}
	.topbox03 .mt span {
		font-size: 1.7rem;
	}
	.topbox03 .btn01 {
		margin-right: auto;
		margin-left: auto;
		max-width: 230px;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topbox03 {
		display: block;
		position: relative;
		background: url("../images/bg-Reason.jpg") center center no-repeat;
		background-size: cover;
		padding: 60px 0 75px 0;
	}
	.ti-img {
		display: block;
		text-align: center;
	}
	.ti-img img {
		display: inline-block;
		max-width: 100%;
	}
	.mb65 {
		margin-bottom: 65px;
	}
	.topbox03 .list {
		display: flex;
		justify-content: space-between;
	}
	.topbox03 .list li {
		display: block;
		position: relative;
		margin-left: 30px;
  		flex-basis: calc((100% - (30px * 2)) / 3 - .01px);
	}
	.topbox03 .list li:nth-child(1) {
		margin-left: 0px;
	}
	.topbox03 .list li .num {
		position: absolute;
		left: -13px;
		top: -47px;;
		z-index: 5;
	}
	.topbox03 .list li .imgs {
		display: block;
	}
	.topbox03 .list li .imgs img {
		width: 100%;
	}
	.topbox03 .list li .txt {
		display: block;
		position: relative;
		background: #FFF;
		box-shadow: 0px 0px 16px -7px rgba(0,0,0,0.4);
		margin-left: 18px;
		margin-right: 18px;
		top: -20px;
		padding: 25px 5px;
		text-align: center;
	}
	.topbox03 .list li .txt p {
		display: block;
		font-size: 1.7rem;
		line-height: 1.5;
		font-weight: bold !important;
	}
	.topbox03 .list li .txt p b {
		color: #eb2d0d;
		font-size: 2.3rem;
	}
	.topbox03 .mt {
		display: block;
		text-align: center;
		color: #FFF;
		font-size: 1.8rem;
		line-height: 2;
		margin: 40px 0 30px 0;
	}
	.topbox03 .mt span {
		font-size: 2.2rem;
	}
	.topbox03 .btn01 {
		margin-right: auto;
		margin-left: auto;
		max-width: 280px;
	}
}
/* ========== end △ */


/* ==================================================
	topbox04
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox04 {
		display: block;
		position: relative;
		padding: 50px 0 5px 0;
		background: url("../images/tp4-bg.jpg") top center no-repeat;
		background-size: cover;
	}
	.topbox04 .sp-ti-img {
		margin-bottom: 25px;
	}
	.topbox04 .sp-ti-img img.title1 {
		max-width: 300px;
	}
	.topbox04 .sp-ti-img img {
		max-width: 220px;
	}
	.topbox04 .flex {
		display: block;
		margin-bottom: 40px;
	}
	.topbox04 .flex figure {
		display: block;
		margin-bottom: 15px;
	}
	.topbox04 .flex figure img {
		width: 100%;
	}
	.topbox04 .flex .txt {
		display: block;
	}
	.topbox04 .flex .txt h3 {
		display: block;
		font-size: 1.7rem;
		line-height: 1.7;
		margin-bottom: 14px;
	}
	.topbox04 .flex .txt p {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 20px;
	}
	.topbox04 .flex .txt .btn01 {
		max-width: 240px;
		margin-left: auto;
		margin-right: auto;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topbox04 {
		display: block;
		position: relative;
		padding: 110px 0 5px 0;
		background: url("../images/tp4-bg.jpg") top center no-repeat;
		background-size: cover;
	}
	.topbox04 .flex {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 140px;
	}
	.topbox04 .flex.ri {
		flex-direction: row-reverse;
	}
	.topbox04 .flex figure {
		display: block;
		flex-basis: 55%;
	}
	.topbox04 .flex figure img {
		width: 100%;
	}
	.topbox04 .flex .txt {
		display: block;
		flex-basis: 40%;
	}
	.topbox04 .flex .txt h3 {
		display: block;
		font-size: 3rem;
		line-height: 1.7;
		margin-bottom: 20px;
	}
	.topbox04 .flex .txt p {
		display: block;
		font-size: 1.6rem;
		line-height: 1.9;
		margin-bottom: 34px;
	}
	.topbox04 .flex .txt .btn01 {
		max-width: 275px;
	}
}
/* ========== end △ */


/* ==================================================
	topbox05
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox05 {
		display: block;
		position: relative;
		background: url("../images/tp5-bg.jpg") top center no-repeat;
		background-size: cover;
		padding: 30px 0;
	}
	.topbox05 .sp-ti-img {
		margin-bottom: 25px;
	}
	.topbox05 .sp-ti-img img {
		max-width: 220px;
	}
	.topbox05 ul {
		display: block;
	}
	.topbox05 ul li {
		display: block;
        background: rgba(255,255,255,0.5);
        border: double 4px #FFFFFF;
        margin: 0 0 20px;
        padding: 2%;
	}
	.topbox05 ul li a {
		display: block;
        margin: 0 0 20px;
		position: relative;
	}

	.topbox05 ul img {
		width: 100%;
	}
	.topbox05 ul p {
		display: block;
		background: #FFF;
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: 5;
		color: #002877;
		padding: 5px 8px;
		font-weight: bold !important;
		line-height: 1.3;
		font-size: 1.5rem;
	}
	.topbox05 ul p span {
		font-weight: normal;
		font-size: 1.3rem;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topbox05 {
		display: block;
		position: relative;
		background: url("../images/tp5-bg.jpg") top center no-repeat;
		background-size: cover;
		padding: 90px 0;
	}
	.topbox05 ul {
		display: flex;
		justify-content: space-between;
	}
	.topbox05 ul li {
		display: block;
        background: rgba(255,255,255,0.5);
        border: double 4px #FFFFFF;
        width: 44%;
        padding: 2%;
	}
	.topbox05 ul li a {
		display: block;
        margin: 0 0 20px;
		position: relative;
	}
	.topbox05 ul img {
		width: 100%;
	}
	.topbox05 ul p {
		display: block;
		background: #FFF;
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: 5;
		color: #002877;
		padding: 12px 20px;
		font-weight: bold !important;
		line-height: 1.3;
		font-size: 1.8rem;
	}
	.topbox05 ul p span {
		font-weight: normal;
		font-size: 1.6rem;
	}
}
/* ========== end △ */


/* ==================================================
	topbox06
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox06 {
		display: block;
		position: relative;
		padding: 30px 0;
	}
	.topbox06 .flex {
		display: block;
	}
	.topbox06 .flex .tit {
		text-align: center;
		position: relative;
		border-bottom: #002877 solid 1px;
	}
	.topbox06 .flex .tit h2 {
		display: block;
		font-size: 2.2rem;
		line-height: 1.2;
		color: #002877;
		margin-bottom: 3px;
	}
	.topbox06 .flex .tit b {
		display: block;
		font-size: 1.5rem;
		line-height: 1.2;
		color: #002877;
		font-weight: 500;
		margin-bottom: 20px;
	}
	.topbox06 .flex .btn01 {
		max-width: 150px;
		margin-left: auto;
		margin-right: auto;
	}
	.top-info2 {
		display: block;
		height: 240px;
		overflow: auto;
		margin-top: 20px;
		margin-bottom: 20px;
	}
	.top-info2 .inner {
		display: block;
	}
	.top-info2 dl {
		display: block;
		padding: 12px 0;
	}
	.top-info2 dl dt {
		display: block;
		font-size: 1.5rem;
		line-height: 1.5;
		font-weight: bold;
		margin-bottom: 5px;
	}
	.top-info2 dl dd {
		display: block;
		font-size: 1.5rem;
		line-height: 1.5;
	}
	.top-info2 dl dd a {
		text-decoration: none;
		color: #000;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topbox06 {
		display: block;
		position: relative;
		padding: 60px 0;
	}
	.topbox06 .flex {
		display: flex;
		justify-content:space-between;
		align-items: center;
	}
	.topbox06 .flex .tit {
		flex-basis: 20%;
		position: relative;
		border-right: #002877 solid 1px;
	}
	.topbox06 .flex .tit h2 {
		display: block;
		font-size: 3.6rem;
		line-height: 1.2;
		color: #002877;
		margin-bottom: 13px;
	}
	.topbox06 .flex .tit b {
		display: block;
		font-size: 2rem;
		line-height: 1.2;
		color: #002877;
		font-weight: 500;
		margin-bottom: 30px;
	}
	.topbox06 .flex .tit .btn01 {
		max-width: 150px;
	}
	.top-info2 {
		flex-basis: 75%;
		height: 160px;
		overflow: auto;
	}
	.top-info2 .inner {
		display: block;
	}
	.top-info2 dl {
		display: flex;
		justify-content: space-between;
		padding: 12px 0;
	}
	.top-info2 dl dt {
		display: block;
		font-size: 1.6rem;
		line-height: 1.5;
		font-weight: bold;
		flex-basis: 14%;
	}
	.top-info2 dl dd {
		display: block;
		font-size: 1.6rem;
		line-height: 1.5;
		flex-basis: 80%;
	}
	.top-info2 dl dd a {
		text-decoration: none;
		color: #000;
	}
	.top-info2 dl dd a:hover {
		text-decoration: underline;
	}
}
/* ========== end △ */


/* ==================================================
	topbox07
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topbox07 {
		display: block;
		position: relative;
		padding: 30px 0 85px 0;
		background: url("../images/tp7-bg.jpg") top center no-repeat;
		background-size: cover;
	}
	.topbox07 .flex {
		display: block;
		margin-bottom: 50px;
	}
	.topbox07 .flex.ri {
		flex-direction: row-reverse;
	}
	.topbox07 .flex figure {
		display: block;
		margin: 17px 0;
	}
	.topbox07 .flex figure img {
		width: 100%;
	}
	.topbox07 .flex .txt {
		display: block;
	}
	.topbox07 .flex .txt h3 {
		display: block;
		text-align: center;
		color: #002877;
		font-size: 2.1rem;
		line-height: 1.3;
		margin-bottom: 5px;
	}
	.topbox07 .flex .txt .ars {
		display: block;
		text-align: center;
		position: relative;
		font-size: 1.5rem;
		line-height: 1.2;
		color: #002877;
		padding-bottom: 10px;
		margin-bottom: 15px;
	}
	.topbox07 .flex .txt .ars::after {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0px;
		margin: auto;
		content: "";
		width: 40px;
		height: 1px;
		background: #002877;
	}
	.topbox07 .flex .txt p {
		display: block;
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 15px;
	}
	.topbox07 .flex .txt .btn01 {
		max-width: 240px;
		margin-left: auto;
		margin-right: auto;
	}
	.tp7-list {
		display: block;
		background: #FFF;
		box-shadow: 0px 0px 12px -7px rgba(0,0,0,0.4);
		margin-left: 4%;
		margin-right: 4%;
		padding: 30px 20px;
		margin-top: 35px;
	}
	.tp7-list .sp-ti-img {
		margin-bottom: 24px;
	}
	.tp7-list .sp-ti-img img {
		max-width: 190px;
	}
	.tp7-list .links {
		display: block;
	}
	.tp7-list .links a {
		display: block;
		margin-bottom: 15px;
		position: relative;
		outline: #4887d2 solid 1px;
		padding: 10px 18px;
		text-decoration: none;
		color: #000;
		background: #FFF;
	}
	.tp7-list .links a::after {
		position: absolute;
		right: 5px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		background: url("../images/ya3.png") center center no-repeat;
		background-size: 100% auto;
		width: 12px;
		height: 11px;
	}
	.tp7-list .links a .fl {
		display: block;
	}
	.tp7-list .links a .fl::after {
		display: block;
		content: "";
		width: 100%;
		height: 1px;
		clear: both;
	}
	.tp7-list .links a .fl figure {
		display: block;
		float:left;
		width: 50px;
	}
	.tp7-list .links a .fl figure img {
		width: 100%;
	}
	.tp7-list .links a .fl .tx b {
		display: block;
		float:left;
		font-size: 1.7rem;
		line-height: 1;
		margin-left: 13px;
		color: #002877;
		padding-top: 20px;
	}
	.tp7-list .links a .fl .tx p {
		width: 100%;
		clear: both;
		float: none;
		display: block;
		font-size: 1.4rem;
		line-height: 1.7;
		padding-top: 13px;
	}
	.tp7-list .bt{
		display: block;
		text-align: center;
		position: relative;
		bottom: -90px;
		margin-top: -90px;
	}
	.tp7-list .bt img {
		display: inline-block;
		max-width: 100%;
	}
	.tp7-list .bt a:hover img {
		opacity: 1;
		box-shadow: 0px 0px 16px -7px rgba(0,0,0,0.8);
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topbox07 {
		display: block;
		position: relative;
		padding: 55px 0 200px 0;
		background: url("../images/tp7-bg.jpg") top center no-repeat;
		background-size: cover;
	}
	.topbox07 .flex {
		display:flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 50px;
	}
	.topbox07 .flex.ri {
		flex-direction: row-reverse;
	}
	.topbox07 .flex figure {
		display: block;
		flex-basis: 40%;
	}
	.topbox07 .flex figure img {
		width: 100%;
	}
	.topbox07 .flex .txt {
		display: block;
		flex-basis: 55%;
	}
	.topbox07 .flex .txt h3 {
		display: block;
		color: #002877;
		font-size: 3.55rem;
		line-height: 1.3;
		margin-bottom: 14px;
	}
	.topbox07 .flex .txt .ars {
		display: block;
		font-size: 1.8rem;
		line-height: 1.2;
		color: #002877;
		margin-bottom: 25px;
	}
	.topbox07 .flex .txt p {
		display: block;
		font-size: 1.6rem;
		line-height: 1.9;
		margin-bottom: 25px;
	}
	.topbox07 .flex .txt .btn01 {
		max-width: 275px;
	}
	.tp7-list {
		display: block;
		background: #FFF;
		box-shadow: 0px 0px 16px -7px rgba(0,0,0,0.4);
		max-width: 1180px;
		margin-left: auto;
		margin-right: auto;
		padding: 70px 90px;
		margin-top: 55px;
	}
	.tp7-list .links {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.tp7-list .links a {
		display: block;
		flex-basis: 48.4%;
		margin-bottom: 35px;
		position: relative;
		outline: #4887d2 solid 1px;
		padding: 25px 0;
		text-decoration: none;
		color: #000;
		background: #FFF;
	}
	.tp7-list .links a:hover {
		box-shadow: 0px 0px 16px -7px rgba(0,0,0,0.6);
		outline: #4887d2 solid 4px;
	}
	.tp7-list .links a::after {
		position: absolute;
		right: 14px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		background: url("../images/ya3.png") center center no-repeat;
		width: 17px;
		height: 16px;
	}
	.tp7-list .links a .fl {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 50px 0 25px;
	}
	.tp7-list .links a .fl figure {
		flex-basis: 23%;
	}
	.tp7-list .links a .fl figure img {
		width: 100%;
	}
	.tp7-list .links a .fl .tx {
		flex-basis: 72%;
	}
	.tp7-list .links a .fl .tx b {
		display: block;
		font-size: 2.4rem;
		line-height: 1;
		margin-bottom: 14px;
	}
	.tp7-list .links a .fl .tx p {
		display: block;
		font-size: 1.4rem;
		line-height: 1.9;
	}
	.tp7-list .bt{
		display: block;
		text-align: center;
		position: relative;
		bottom: -170px;
		margin-top: -150px;
	}
	.tp7-list .bt img {
		display: inline-block;
		max-width: 100%;
	}
	.tp7-list .bt a:hover img {
		opacity: 1;
		box-shadow: 0px 0px 16px -7px rgba(0,0,0,0.8);
	}

}
/* ========== end △ */

/* ==================================================
	topboxdoctor
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.topboxdoctor {
		display: block;
		background:url("../common_img/bottom-bg.jpg") center center no-repeat;
		background-size: cover;
		padding: 30px 0;
	}
	.topboxdoctor .doctor-container {
		background: rgba(255,255,255,0.9);
		padding-bottom: 45px;
	}
	.topboxdoctor .flex {
		padding: 25px 25px;
	}
	.topboxdoctor .image-wrapper {
		display: block;
		text-align: center;
		position: relative;
        margin-bottom: 20px;
		/*padding-bottom: 25px;
		margin-bottom: 25px;*/
	}
	.topboxdoctor .image-wrapper h3 {
		display: block;
		font-size: 1.6rem;
		line-height: 1.4;
		margin-bottom: 5px;
		letter-spacing: 3px;
	}
	.topboxdoctor .detail-wrapper b {
		display: inline-block;
		font-size: 1.4rem;
		line-height: 1.2;
		border-radius: 22px;
		background: #FFF;
		padding: 5px 25px;
		margin-bottom: 17px;
	}
	.topboxdoctor .detail-wrapper h3 {
		display: block;
		font-size: 2.4rem;
		line-height: 1.4;
		margin-bottom: 5px;
		letter-spacing: 3px;
	}
	.topboxdoctor .message {
		background: rgba(255,255,255,0.9);
        box-shadow: 0px 0px 16px -7px rgba(0,0,0,0.4);
		max-width: 400px;
		width: 90%;
        margin: 0 auto;
        padding: 2em;
        box-sizing: border-box;
        border-radius: 16px;
        border: double 4px #969696;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.topboxdoctor {
		display: block;
		background:url("../common_img/bottom-bg.jpg") center center no-repeat;
		background-size: cover;
		padding: 70px 0;
	}
	.topboxdoctor .doctor-container {
		background: rgba(255,255,255,0.9);
		padding-bottom: 45px;
	}
	.topboxdoctor .flex {
		padding: 45px 120px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.topboxdoctor .image-wrapper {
		flex-basis: 30%;
		text-align: center;
		position: relative;
	}
	.topboxdoctor .image-wrapper img {
		width: 65%;
	}
	.topboxdoctor .detail-wrapper {
		flex-basis: 68%;
		position: relative;
	}
	.topboxdoctor .detail-wrapper b {
		display: inline-block;
		font-size: 1.4rem;
		line-height: 1.2;
		border-radius: 22px;
		background: #FFF;
		padding: 5px 25px;
		margin-bottom: 17px;
	}
	.topboxdoctor .image-wrapper h3 {
		display: block;
		font-size: 1.8rem;
		line-height: 1.4;
		margin-bottom: 5px;
		letter-spacing: 3px;
	}
	.topboxdoctor .detail-wrapper h3 {
		display: block;
		font-size: 2.4rem;
		line-height: 1.4;
		margin-bottom: 5px;
		letter-spacing: 3px;
	}
	.topboxdoctor .message {
		background: rgba(255,255,255,0.9);
        box-shadow: 0px 0px 16px -7px rgba(0,0,0,0.4);
		width: 810px;
        margin: 0 auto;
        padding: 3em;
        box-sizing: border-box;
        border-radius: 16px;
        border: double 4px #969696;
	}
}
/* ========== end △ */




