@charset "UTF-8";
/*--------------------------------------
　header
---------------------------------------*/
header{
	position: fixed;
	top: 0;
	width: 100%;
	min-width: 1128px;
	box-sizing: border-box;
	z-index: 999;
}
header .header-inner {
	display: flex;
}
header .logo {
	width: 317px;
	height: 100px;
	box-sizing: border-box;
	background: #fff;
	padding: 20px 30px;
}

header .telno{
	position: absolute;
	right: 100px;
	top: 0;
	line-height: 100px;
	background: #fff;
}
header .telno a{
	font-size: 20px;
	padding: 0 30px 0 70px;
	letter-spacing: 0.05em;
	color: #1B2A5D;
	position: relative;
}
header .telno a::before{
	content: '';
	position: absolute;
	left: 30px;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	background: url(../images/hd_tel.png) center/contain no-repeat;
}

#hb-menu {
  display: table;
  position: fixed;
  top: 0;
  right: 0;
  background: #1B2A5D;
  width: 100px;
  height: 100px;
	box-sizing: border-box;
  cursor: pointer;
  z-index: 1000;
}
#hb-menu .hb-inner {
  display: table-cell;
  vertical-align: middle;
}
#hb-menu span {
  display: block;
  background: #fff;
  width: 24px;
  height: 1px;
  margin: auto;
  border-radius: 0;
  -webkit-transition: all .5s ease-in-out;
  -moz-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
}
#hb-menu span:nth-of-type(2),
#hb-menu span:nth-of-type(3) {
  margin-top: 9px;
}
/* ナビゲーションアイコン：アクティブ */
.hb-open #hb-menu span {
  background: #fff;
}
.hb-open #hb-menu span:nth-of-type(1) {
  -webkit-transform: translateY(8px) translateX(0) rotate(45deg);
  -ms-transform: translateY(8px) translateX(0) rotate(45deg);
  transform: translateY(8px) translateX(0) rotate(45deg);
}
.hb-open #hb-menu span:nth-of-type(2) {
  margin-top: 5px;
  opacity: 0;
  -webkit-transform: translateY(9px);
  -ms-transform: translateY(9px);
  transform: translateY(9px);
}
.hb-open #hb-menu span:nth-of-type(3) {
  -webkit-transform: translateY(-8px) translateX(0) rotate(-45deg);
  -ms-transform: translateY(-8px) translateX(0) rotate(-45deg);
  transform: translateY(-8px) translateX(0) rotate(-45deg);
}
/* overlay */
.overlay {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  background: transparent;
  pointer-events: none;
  z-index: 10;
  transition: 0.2s;
}
.hb-open .overlay {
  background: rgba(44,132,185,0.50);
  pointer-events: auto;
}

/*----- sp-g-nav -----*/
.sp-g-nav {
  position: fixed;
  top: 0;
  right: 0;
  font-size: 13px;
  z-index: 999;
}
.hb-open .sp-g-nav .g-nav-inner {
  transform: translateX(0);
  -ms-transform: translateX(0);
  -webkit-transform: translateX(0);
  transform: translateZ(0);
  -ms-transform: translateZ(0);
  -webkit-transform: translateZ(0);
}
.sp-g-nav .g-nav-inner {
  position: fixed;
  top: 0;
  right: 0;
  background: #fff;
  width: 50%;
  height: 100%;
  padding: 120px 20px;
  box-sizing: border-box;
  -ms-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  overflow-x: hidden;
  overflow-y: auto;
  transition: .5s;
  transform: translateX(100%);
  -ms-transform: translateX(100%);
  -webkit-transform: translateX(100%);
  z-index: 10;
}

.sp-g-nav .g-nav-inner .menu_01{
	display: block;
	padding: 15px 0;
	border-bottom: 1px solid #ccc;
	cursor: pointer;
	position: relative;
}
.sp-g-nav .g-nav-inner .menu_01 .arrow{
	position: absolute;
	width: 34px;
	height: 30px;
	background: #1B78C0;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}
.sp-g-nav .g-nav-inner p.menu_01 .arrow::before{
	position: absolute;
	content: '';
	width: 10px;
	height: 10px;
	background: url(../images/plus_02.svg) center/contain no-repeat;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	transition: .3s;
}
.sp-g-nav .g-nav-inner p.menu_01.active .arrow::before{
	transform: translate(-50%,-50%) rotate(45deg);
}
.sp-g-nav .g-nav-inner a.menu_01 .arrow::before{
	position: absolute;
	content: '';
	width: 5px;
	height: 5px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	top: 12px;
	left: 12px;
}
.sp-g-nav .g-nav-inner .menu_02{
	display: none;
}
.sp-g-nav .g-nav-inner .menu_02 li{
	font-size: 12px;
	background: #E5EEF5;
	margin: 0 0 2px;
}
.sp-g-nav .g-nav-inner .menu_02 li a{
	display: block;
	padding: 10px 15px;
}
/* .sp-g-nav .g-nav-inner>ul>li {
  padding: 15px 0;
  border-bottom: 1px solid #dcdcdc;
}	
.sp-g-nav .g-nav-inner li a {
  display: block;
  color: #000;
  font-weight: 500
}	 */

.toggle_title {
  position: relative;
  cursor: pointer; 
}
.toggle_ans {
  margin: 0;
  padding:20px 0 0 20px;
  display: none;
}

/*プラス*/
.plus {
  position: absolute;
  right: 20px;
  top: 0;
  height: 100%;
  border-radius: 0px 10px 10px 0px;
}
.plus:before,
.plus:after {
  display: block;
  content: "";
  background-color: #224488;
  position: absolute;
  width: 15px;
  height: 1px;
  bottom: 50%;
  right: 50%;
  transform: translate(50%, 50%);
  transition: 0.5s;
}

.plus:before {
  width: 1px;
  height: 15px;
}

/*アコーディオンが開いたらプラスをマイナスにする*/
.toggle_title.selected .plus:before {
  transform: translate(50%, 50%) rotate(90deg);
}
.toggle_ans a { 
	margin-bottom: 10px;
}

@media screen and (max-width: 768px) {
	main{
		margin-top: 50px;
	}
	header{
		min-width: 100%;
	}
	header .header-inner {
		display: block;
		background: #fff;
	}
	header .logo {
		width: 40%;
		height: 50px;
		padding: 10px 10px;
	}

	header .telno{
		right: 50px;
		line-height: 50px;
	}
	header .telno a{
		font-size: 15px;
		padding: 0 15px 0 45px;
	}
	header .telno a::before{
		left: 15px;
		width: 20px;
		height: 20px;
	}
	
	#hb-menu {
		width: 50px;
		height: 50px;
	}
	.sp-g-nav .g-nav-inner {
		width: 100%;
		padding: 60px 20px;
	}
}


/*--------------------------------------
　TOP MV
---------------------------------------*/
main .mv-cover {
	overflow: hidden;
}
main .mv {
	min-width: 1120px;
	box-sizing: border-box;
	position: relative;
	height: 600px;
	margin-bottom: 290px;
}
main .mv:before {
	position: absolute;
	content: "";
	display: block;
	bottom: -140px;
	height: 350px;
	width: 80%;
	left: 20%;
	background:url("../images/mv_03.png") center no-repeat;
	background-size: cover;
}
main .mv h2 {
	position: absolute;
	right: 10%;
	top: 30%;
	font-size: 43px;
	letter-spacing: 0.1em;
	font-weight: 600;
}

main .mv .scroll {
	position: absolute;
	width: 18px;
	left: 34px;
	bottom: 0;
}
main .mv_slide01 {
	position: absolute;
	top: 0;
	left: 90px;
	width: 40%;
	min-width: 400px;
	height: 730px;
}
main .mv_slide02 {
	position: absolute;
	width: 440px;
	top: 350px;
	right: 0;
}
.slick-slider{
  margin: 0;
  padding: 0;
}
/*.slick-slider img {
  width: 100%;
  height: 100%;
}*/
main .mv .specialist {
	position: absolute;
	width: 670px;
	top: 140px;
	left: 40%;
}
@media screen and (max-width: 768px) {
	main .mv {
		min-width: 100%;
		margin-bottom: 80px;
		background-size: cover;
		width: 100%;
		height: 0;
		padding-top: 160%;
		background-repeat: no-repeat;
		background-position: center center;
	}
main .mv:before {
	position: absolute;
	content: "";
	display: block;
	bottom: 0;
	height: 180px;
	width:100%;
	left: 0;
	background:url("../images/mv_03.png") center no-repeat;
	background-size: cover;
}
	main .mv h2 {
		position: absolute;
		font-size: 26px;
		line-height: 1.4;
		text-align: center;
		right: auto;
		top: 45%;
		left: 50%;
		transform: translateX(-50%);
		width: 100%;
	}
	main .mv .scroll {
		position: absolute;
		width: 18px;
		left: 14px;
		bottom:-20px;
	}
main .mv_slide01 {
	position: absolute;
	top: 0;
	left: 0;
	width:55%;
	min-width: 55%;
	height: 430px;
}
main .mv_slide02 {
	position: absolute;
	width: 50%;
	top: auto;
	right: 0;
	bottom: 30px;
}
.slick-slider{
  margin: 0;
  padding: 0;
}

main .mv .specialist {
	width: 80%;
	top: 170px;
	left: 20%;
}
}


/*------------------------------------------------------------
 ttl-box
------------------------------------------------------------*/
main .ttl_box .ttl{
	position: relative;
	padding-left: 35px;
}
main .ttl_box .ttl:after{
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 25px;
	height: 1px;
	background: #2E2E2E;
}
main .ttl_box .eng{
	font-size: 60px;
	margin: 20px 0 40px;
}
@media screen and (max-width: 768px) {
	main .ttl_box .ttl{
		position: relative;
		padding-left: 35px;
	}
	main .ttl_box .ttl:after{
		content: "";
		position: absolute;
		left: 0;
		top: 50%;
		width: 25px;
		height: 1px;
		background: #2E2E2E;
	}
	main .ttl_box .eng{
		font-size: 40px;
		margin: 0 0 30px;
		line-height: 1;
	}
}


/*------------------------------------------------------------
 btn
------------------------------------------------------------*/
/*---------- btn_box01 ----------*/
.btn_01 a {
	display: inline-block;
	position: relative;
	font-size: 16px;
	border-bottom: 1px solid #2E2E2E;
	padding: 0 10px 0 30px;
  box-sizing: border-box;
}
/*------矢印------*/ 
.btn_01 a:before {
	content: "";
	display: block;
	position: absolute;
	background: url("../images/plus_01.svg");
  background-size: 100% auto;
	width: 10px;
	height: 10px;
	left: 10px;
	top: 50%;
	transform: translate(0,-50%);
}
.btn_01.white a {
	color: #fff;
	border-bottom: 1px solid #fff;
}
.btn_01.white a:before {
  background: url("../images/plus_02.svg");
  background-size: 100% auto;
}
.btn_02 a {
	display: block;
	width: 100%;
	text-align: center;
	background: #fff;
	border: 1px solid #1B2A5D;
	padding: 20px 40px;
	box-sizing: border-box;
	position: relative;
  line-height: 1.5;
	color: #1B2A5D;
}
.btn_02 a:before {
	content: "";
	display: block;
	position: absolute;
	background: url("../images/plus_01.svg");
  background-size: 100% auto;
	width: 10px;
	height: 10px;
	right: 20px;
	top: 50%;
	transform: translate(0,-50%);
}

@media screen and (max-width: 768px) {
  .btn_01 a {
    font-size: 14px;
    padding: 0 5px 5px 20px;
  }
  .btn_01 a:before {
    background: url("../images/plus_01.svg");
    background-size: 100% auto;
    width: 8px;
    height: 8px;
    left: 5px;
  }
  
	.btn_02 a {
		padding: 15px 25px;
	}
  .btn_02 a:before {
    background: url("../images/plus_01.svg");
    background-size: 100% auto;
    width: 8px;
    height: 8px;
    right: 10px;
  }
}


/*------------------------------------------------------------
 共通
------------------------------------------------------------*/
main .txtlink {
	color: #1B2A5D;
	text-decoration: underline;
	display: inline;
	font-weight: bold;
}
.sub {
	color: #777777;
	font-size: 12px;
}
main section{
	margin-bottom: 100px;
	overflow-x: hidden;
}
@media screen and (max-width: 768px) {
	main section {
		margin-bottom: 40px;
	}
}


/*------------------------------------------------------------
 sec01
------------------------------------------------------------*/
main .sec01 .upper {
	position: relative;
	padding-bottom: 280px;
}
main .sec01 .upper .eng{
	font-size: 80px;
	color: #E5EEF5;
	margin-bottom: 80px;
	padding-top: 20px;
}
main .sec01 .upper h2{
	font-size: 30px;
	font-weight: 500;
	line-height: 2;
	position: absolute;
	left: 45%;
	top: 100px;
	z-index: 2;
	letter-spacing: .1em;
}
main .sec01 .upper p{
	width: 30%;
	line-height: 2.2;
	margin-bottom: 40px;
}
main .sec01 .upper img{
	position: absolute;
	width: 55%;
	top: 0;
	right: 0;
}

/* 2024.8 追加 */
main .menu_list{
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
}
main .sec01 .menu_list_main li{
	width: calc(25% - 30px);
	padding: 0 15px;
}
main .sec01 .menu_list_main li a{
	display: block;
	height: auto;
	padding-top: 120%;
	position: relative;
}
main .sec01 .menu_list_main li a p{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 80%;
	background: #fff;
	padding: 15px 10px;
	font-size: 16px;
	letter-spacing: .05em;
}
main .sec01 .menu_list_main li a p::before{
	position: absolute;
	content: '';
	width: 26px;
	height: 1px;
	top: 50%;
	transform: translateY(-50%);
	right: -13px;
	background: #2E2E2E;
}
main .sec01 .menu_list_main li:nth-child(1) a{
	background: url(../images/sec01_menu01.jpg) center/cover no-repeat;
}
main .sec01 .menu_list_main li:nth-child(2) a{
	background: url(../images/sec01_menu02.jpg) center/cover no-repeat;
}
main .sec01 .menu_list_main li:nth-child(3) a{
	background: url(../images/sec01_menu03.jpg) center/cover no-repeat;
}
main .sec01 .menu_list_main li:nth-child(4) a{
	background: url(../images/sec01_menu04.jpg) center/cover no-repeat;
}

main .sec13 .menu_list_medical_large{
	margin-bottom: 30px;
}
main .sec13 .menu_list_medical_large li{
	width: calc((100% / 3) - 30px);
	padding: 0 15px;
}
main .sec13 .menu_list_medical_large li a{
	position: relative;
	display: block;
	text-align: center;
	padding: 70px 20px;
	z-index: 1;
	color: #fff;
}
main .sec13 .menu_list_medical_large li a::before{
	position: absolute;
	content: '';
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(27,42,93,0.8);
	z-index: -1;
}
main .sec13 .menu_list_medical_large li .en{
	letter-spacing: 0.05em;
	border-bottom: 1px solid rgba(255,255,255,0.4);
	padding: 0 0 5px;
	margin: 0 0 10px;
}
main .sec13 .menu_list_medical_large li .ja{
	letter-spacing: 0.1em;
	font-size: 20px;
}
main .sec13 .menu_list_medical_large li:nth-child(1) a{
	background: url(../images/info_03.jpg) center/cover no-repeat;
}
main .sec13 .menu_list_medical_large li:nth-child(2) a{
	background: url(../images/info_01.jpg) center/cover no-repeat;
}
main .sec13 .menu_list_medical_large li:nth-child(3) a{
	background: url(../images/info_02.jpg) center/cover no-repeat;
}

main .sec13 .menu_list_medical_small{
	margin: 0 -5px;
}
main .sec13 .menu_list_medical_small li{
	width: calc((100% / 4) - 10px);
	padding: 0 5px;
	margin-bottom: 10px;
}
main .sec13 .menu_list_medical_small li a{
	background: #226395;
	color: #fff;
	padding: 20px;
	letter-spacing: 0.05em;
	position: relative;
}
main .sec13 .menu_list_medical_small li a::before{
	content: "";
	display: block;
	position: absolute;
	background: url(../images/plus_02.svg);
	width: 10px;
	height: 10px;
	right: 20px;
	top: 50%;
	transform: translate(0, -50%);
}
@media screen and (max-width: 768px){
	main .sec01 .menu_list_main li:nth-child(1) a{
		background-position-y: -230px;
	}
	
	main .sec13 .menu_list_medical_large{
		margin-bottom: 0;
	}
	main .sec13 .menu_list_medical_large li{
		width: calc((100%) - 30px);
		margin: 0 0 15px;
	}
	main .sec13 .menu_list_medical_large li a{
		padding: 35px 20px;
	}
	main .sec13 .menu_list_medical_large li .en{
		letter-spacing: 0.05em;
		border-bottom: 1px solid rgba(255,255,255,0.4);
		padding: 0 0 5px;
		margin: 0 0 10px;
	}
	main .sec13 .menu_list_medical_large li .ja{
		font-size: 17px;
	}
	
	main .sec13 .menu_list_medical_small li{
		width: calc((100% / 2) - 10px);
		padding: 0 5px;
		margin-bottom: 10px;
	}
	main .sec13 .menu_list_medical_small li a{
		padding: 15px;
	}
	main .sec13 .menu_list_medical_small li a::before{
		right: 15px;
	}
}



/* main .sec01 .under ul {
	display: flex;
	justify-content: space-between;
}
main .sec01 .under ul li {
	width: 50%;
	text-align: center;
	color: #fff;
	padding: 70px 0;
}
main .sec01 .under ul .left {
	background: url("../images/sec01_02.png");
	background-size: cover;
}
main .sec01 .under ul .center {
	background: url("../images/sec01_04.png");
	background-size: cover;
}
main .sec01 .under ul .right {
	background: url("../images/sec01_03.png");
	background-size: cover;
}
main .sec01 .under ul h3 {
	font-size: 30px;
	margin: 14px 0 24px;
}
main .sec01 .under ul .btn_01 {
	margin: 40px auto 0;
} */

@media screen and (max-width: 768px) {
	main .sec01 .upper {
		position: relative;
		padding-bottom:60px;
	}
	main .sec01 .upper .eng{
		font-size: 40px;
		color: #E5EEF5;
		margin-bottom: 0;
		padding-top: 10px;
	}
	main .sec01 .upper h2{
		font-size: 20px;
		font-weight: 500;
		line-height: 2;
		position: static;
		left: 0;
		top:0;
		z-index: 2;
		margin:-20px 0 20px;
	}
	main .sec01 .upper p{
		width: 100%;
		line-height: 2.2;
		margin-bottom: 40px;
	}
	main .sec01 .upper img{
		position: static;
		width: 100%;
		top:inherit;
		margin-top: 40px;
	}

	/* 2024.8 追加 */
	main .menu_list{
		margin: 0 -15px;
	}
	main .sec01 .menu_list_main li{
		width: calc(100% - 30px);
		margin: 0 0 20px;
	}
	main .sec01 .menu_list_main li a{
		padding-top: 180px;
	}
	main .sec01 .menu_list_main li a p{
		width: 50%;
		font-size: 15px;
	}
	/* main .sec01 .under ul {
		display: block;
		justify-content: space-between;
	}
	main .sec01 .under ul li {
		width: 100%;
		text-align: center;
		color: #fff;
		padding: 30px 0;
	}
	main .sec01 .under ul h3 {
		font-size: 20px;
		margin: 14px 0 24px;
	}
	main .sec01 .under ul .btn_01 {
		margin: 20px auto 0;
	} */
}


/*------------------------------------------------------------
 sec02
------------------------------------------------------------*/
main .sec02 {
	border-top: 1px solid #DEDEDE;
	border-bottom: 1px solid #DEDEDE;
}
main .sec02 .inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
main .sec02 .left  {
	width: 30%;
}
main .sec02 .left .ttl_box {
	margin-bottom: 80px;
}
main .sec02 .right{
	width: 70%;
	padding: 40px 0 40px 60px;
	border-left: 1px solid #DEDEDE;
	box-sizing: border-box
}
main .sec02 .right .news_link {
	display: flex;
	margin: 0 0 35px;
	padding: 0;
	list-style-type: none;
}
main .sec02 .right .news_link li {
	margin-left: 2px;
	color: #777777;
	position: relative;
	padding: 10px 24px ;
	cursor: pointer;
	text-align: center;
	line-height: 1;
	font-size: 13px;
	border-radius: 100px;
}
main .sec02 .right .news_link li:first-child {
	margin-left: 0;
}

main .sec02 .right .news_link li.active, .news_link li:hover {
	background: #1B2A5D;
	color: #fff!important;
}
main .sec02 .right .news_link li.active:after, .news_link li:hover:after {
	display: block;
}
main .sec02 .right .news-content {
	display: none;
}
main .sec02 .right .news-content.show {
	display: block;
}
main .sec02 .right .news-box {
	margin-bottom: 30px;
}
main .sec02 .right .news-box:last-child {
	margin-bottom: 0;
}
main .sec02 .right .upper {
	display: flex;
	align-items: baseline;
	margin-bottom: 10px;
}
main .sec02 .right .news-date {
	font-size: 13px;
	margin-right: 20px;
	color: #888888;
}
main .sec02 .right .tags {
	font-size: 12px;
	text-align: center;
	padding: 0 14px;
	border: 1px solid #DEDEDE;
	border-radius: 100px;
}
main .sec02 .right .news-content .news-r a {
	color: #000;
	transition: color 0.2s ease-in-out;
	display: block;
}

@media screen and (max-width: 768px) {
	main .sec02 {
		border-top: 1px solid #DEDEDE;
		border-bottom: 1px solid #DEDEDE;
	}
	main .sec02 .inner {
		display: block;
		flex-wrap: wrap;
		align-items: center;
		padding: 0;
	}
	main .sec02 .left  {
		width: 100%;
		margin:0 0 20px 0;
		padding: 20px 10px
	}
	main .sec02 .left .ttl_box {
		margin:0 0 20px 0;
	}
	main .sec02 .right{
		width: 100%;
		padding: 0 10px 20px;
		border-left: 1px solid #DEDEDE;
		box-sizing: border-box
	}
	main .sec02 .right .news_link {
		display: flex;
    justify-content: space-between;
		margin: 0 0 20px;
		padding: 0;
		list-style-type: none;
	}
	main .sec02 .right .news_link li {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(25% - 3px);
    box-sizing: border-box;
		margin-left: 0;
		color: #777777;
		position: relative;
		padding: 5px 10px ;
		cursor: pointer;
		text-align: center;
		line-height: 1.2;
		font-size: 3vw;
		border-radius: 100px;
	}
	main .sec02 .right .news_link li:first-child {
		margin-left: 0;
	}

	main .sec02 .right .news_link li.active, .news_link li:hover {
		background: #1B2A5D;
		color: #fff!important;
	}
	main .sec02 .right .news_link li.active:after, .news_link li:hover:after {
		display: block;
	}
  main .sec02 .right .news-box {
    margin-bottom: 20px;
  }
	main .sec02 .right .upper {
		display: flex;
		align-items: baseline;
		margin-bottom: 10px;
	}
	main .sec02 .right .news-date {
		font-size: 13px;
		margin-right: 20px;
		color: #888888;
	}
	main .sec02 .right .tags {
		font-size: 12px;
		text-align: center;
		padding: 0 14px;
		border: 1px solid #DEDEDE;
		border-radius: 100px;
	}
	main .sec02 .right .news-content .news-r a {
		color: #000;
		transition: color 0.2s ease-in-out;
		display: block;
	}
}


/*------------------------------------------------------------
 sec03
------------------------------------------------------------*/
main .sec03 {
	background-position: 60px 0;
	background: linear-gradient(180deg,#fff 0%,#fff 60px,#F5F5F5 60px,#F5F5F5 100%);
	padding: 0 0 60px 0;
}
main .sec03 .ttl_box{
	text-align: center;
	position: relative;
	margin-bottom: 50px;
	
}
main .sec03 .ttl_box .ttl {
	display: table;
	margin: 0 auto;
}
main .sec03 .schedule{
	background: #fff;
	padding: 60px 70px;
}
main .sec03 .schedule table {
	width: 100%;
	margin-bottom: 40px;
}
main .sec03 .schedule table tr:not(:last-child){
	border-bottom: 1px solid #DEDEDE;
}
main .sec03 .schedule table tr th:first-child{
	border-right: 1px solid #DEDEDE;
	width: 26%;
}
main .sec03 .schedule table th{
	padding: 16px;
}
main .sec03 .schedule table tbody tr:nth-child(1) td,main .sec03 .schedule table tbody tr:nth-child(3) td {
	color:#1B2A5D;
}
main .sec03 .schedule table thead th:not(:first-child),main .sec03 .schedule table td{
	text-align: center;
}
main .sec03 .schedule th .txt_01{
	font-size: 13px;
	color:#838383;
	margin-left: 10px;
}
main .sec03 .schedule th .txt_02{
	font-size: 12px;
	background:#1B2A5D;
	color: #fff;
	padding: 4px 10px;
	margin-left: 10px;
}
main .sec03 .btn_list {
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}
main .sec03 .btn_list li {
	width: 48%;
}

@media screen and (max-width: 768px) {
	main .sec03 {
		background-position: 60px 0;
		background: linear-gradient(180deg,#fff 0%,#fff 30px,#F5F5F5 30px,#F5F5F5 100%);
		padding: 0 0 40px 0;
	}
	main .sec03 .ttl_box{
		text-align: center;
		position: relative;
		margin-bottom: 50px;

	}
	main .sec03 .ttl_box .ttl {
		display: table;
		margin: 0 auto;
	}
	main .sec03 .schedule{
		background: #fff;
		padding: 10px 10px;
		overflow-x: scroll;
	}
	main .sec03 .schedule table {
		min-width: 600px;
		margin-bottom: 20px;
	}
	main .sec03 .schedule table tr:not(:last-child){
		border-bottom: 1px solid #DEDEDE;
	}
	main .sec03 .schedule table tr th:first-child{
		border-right: 1px solid #DEDEDE;
		width:auto;
	}
	main .sec03 .schedule table th{
		padding: 16px;
	}
	main .sec03 .schedule table tbody tr:nth-child(1) td,main .sec03 .schedule table tbody tr:nth-child(3) td {
		color:#1B2A5D;
	}
	main .sec03 .schedule table thead th:not(:first-child),main .sec03 .schedule table td{
		text-align: center;
	}
	main .sec03 .schedule th .txt_01{
		font-size: 8px;
		color:#838383;
		margin-left: 0;
	}
	main .sec03 .schedule th .txt_02{
		font-size: 8px;
		background:#1B2A5D;
		color: #fff;
		padding: 2px 4px;
		margin-left: 10px;
	}
	main .sec03 .btn_list {
		display: flex;
		justify-content: space-between;
		margin-top: 40px;
	}
	main .sec03 .btn_list li {
		width: 48%;
	}
}


/*------------------------------------------------------------
 sec04
------------------------------------------------------------*/
main .sec04 .inner {
	border: 1px solid #DEDEDE;
	display: flex;
	justify-content: space-between;
	padding: 40px 90px;
	box-sizing: border-box;
	align-items: center;
}
main .sec04 .inner .left h2{
	font-size: 30px;
	margin-top: 10px;
}
main .sec04 .inner .right{
	display: flex;
	justify-content: space-between;
	width: 70%;
}
main .sec04 .inner .right li {
	background: #F5F5F5;
	width: 48%;
	text-align: center;
	padding: 100px 0 20px;
	position: relative;
}
main .sec04 .inner .right li img{
	position: absolute;
	width: 98px;
	bottom: 60px;
	left: 0;
	right: 0;
	margin: auto;
}

@media screen and (max-width: 768px) {
	main .sec04 .inner {
		border: 1px solid #DEDEDE;
		display: block;
		justify-content: space-between;
		padding: 20px 20px;
		box-sizing: border-box;
		align-items: center;
	}
	main .sec04 .inner .left h2{
		font-size: 20px;
		margin: 10px 0 40px;
	}
	main .sec04 .inner .right{
		display: flex;
		justify-content: space-between;
		width: 100%;
	}
	main .sec04 .inner .right li {
		background: #F5F5F5;
		width: 48%;
		text-align: center;
		padding: 60px 0 20px;
		position: relative;
	}
	main .sec04 .inner .right li img{
		position: absolute;
		width: 68px;
		bottom: 60px;
		left: 0;
		right: 0;
		margin: auto;
	}
}


/*------------------------------------------------------------
 sec05
------------------------------------------------------------*/
main .sec05  {
	padding: 80px 0;
	overflow-x: hidden;
}
main .sec05 .inner {
	background: linear-gradient(90deg,#fff 0%,#fff 18%,#1B2A5D 18%,#1B2A5D 100%);
	position: relative;
}
main .sec05 .inner:after {
	content: "";
	display: block;
	background: #1B2A5D;
	position: absolute;
	left: 100%;
	top: 0;
	width: 100%;
	height: 100%;
}
main .sec05 .inner img  {
	position: absolute;
	width: 620px;
	left: 0;
	top: -60px;
}
main .sec05 .inner .wrap_01{
	width: 35%;
	color: #fff;
	margin-left: auto;
	padding: 110px 40px 110px 0;
}
main .sec05 .inner .wrap_01 h3 {
	font-size: 30px;
	line-height: 2;
	margin-bottom: 40px;
}
main .sec05 .inner .wrap_01 .btn_01 {
	margin: 60px 0 0 auto;
}
@media screen and (max-width: 768px) {
	main .sec05  {
		padding: 40px 0;
		overflow-x: hidden;
	}
	main .sec05 .inner {
		background: none;
		background: linear-gradient(180deg,#fff 0%,#fff 10%,#1B2A5D 10%,#1B2A5D 100%);
		position: relative;
	}
	main .sec05 .inner:after {
		display: none;
	}
	main .sec05 .inner img  {
		position: static;
		width: 100%;
		left: 0;
		top: 0;
	}
	main .sec05 .inner .wrap_01{
		width: 100%;
		color: #fff;
		margin-left: auto;
		padding: 10px;
	}
	main .sec05 .inner .wrap_01 h3 {
		font-size: 20px;
		line-height: 2;
		margin-bottom: 20px;
	}
	main .sec05 .inner .wrap_01 .btn_01 {
		margin: 40px 0 40px auto;
	}
}


/*------------------------------------------------------------
 sec06
------------------------------------------------------------*/
main .sec06  ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
main .sec06  ul li{
	width: 46%;
	position: relative;
	margin-bottom: 80px;
}
main .sec06  ul li:nth-child(even){
	top: 80px;
}
main .sec06  ul li p {
	position: absolute;
	left: 0;
	bottom: 0;
	background: #fff;
	display: table;
	padding: 14px 40px;
	color:#1B2A5D ;
}
main .sec06  ul li a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

@media screen and (max-width: 768px) {
	main .sec06  ul{
		display: block;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	main .sec06  ul li{
		width: 100%;
		position: relative;
		margin-bottom: 30px;
	}
	main .sec06  ul li:nth-child(even){
		top:0;
	}
	main .sec06  ul li p {
		position: absolute;
		left: 0;
		bottom: 0;
		background: #fff;
		display: table;
		padding: 14px 40px;
		color:#1B2A5D ;
	}
	main .sec06  ul li a {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
	}
}


/*------------------------------------------------------------
 sec07
------------------------------------------------------------*/
main .sec07 .ttl_box p{
	margin-top: 40px;
}
main .sec07 .wrap_01{
	background: linear-gradient(-90deg,#fff 0%,#fff 18%,#F0F3F5 18%,#F0F3F5 100%);
	padding: 60px 0 80px;
	margin-top: 60px;
	position: relative;
}
main .sec07 .wrap_01:after {
	content: "";
	display: block;
	background: #F0F3F5;
	position: absolute;
	right: 100%;
	top: 0;
	width: 100%;
	height: 100%;
}
main .sec07 .wrap_01 .img_01 {
	position: absolute;
	top: -70px;
	right: 0;
	width: 45%;
}
main .sec07 .wrap_01 ul {
	width: 50%;
	display: flex;
	flex-wrap: wrap;
}
main .sec07 .wrap_01 ul li {
	width: 47%;
	margin-right: 16px;
}
main .sec07 .wrap_01 ul li a{
	width: 100%;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #fff;
	padding: 16px 0;
	position: relative;
}
main .sec07 .wrap_01 ul li a:before {
	content: "";
	display: block;
	position: absolute;
	background: url("../images/plus_01.svg");
	width: 10px;
	height: 10px;
	right:30px;
	top: 50%;
	transform: translate(0,-50%);
}
main .sec07 .wrap_01 ul li a img {
	width: 65px;
	margin-right: 20px;
}

@media screen and (max-width: 768px) {
	main .sec07 .ttl_box p{
		margin-top:0;
	}
	main .sec07 .wrap_01{
		background: linear-gradient(180deg,#fff 0%,#fff 18%,#F0F3F5 18%,#F0F3F5 100%);
		padding: 40px 0 40px;
		margin-top: 0;
		position: relative;
	}
	main .sec07 .wrap_01:after {
		content: "";
		display: block;
		background: #F0F3F5;
		position: absolute;
		right: 100%;
		top: 0;
		width: 100%;
		height: 100%;
	}
	main .sec07 .wrap_01 .img_01 {
		position:static;
		top:0;
		margin: 0 auto 40px;
		right: 0;
		width:80%;
	}
	main .sec07 .wrap_01 ul {
		width:100%;
		display: flex;
		flex-wrap: wrap;
	}
	main .sec07 .wrap_01 ul li {
		width: 47%;
		margin-right: 10px;
	}
	main .sec07 .wrap_01 ul li a{
		width: 100%;
		display: flex;
		align-items: center;
		border-bottom: 1px solid #fff;
		padding: 16px 0;
		position: relative;
	}
	main .sec07 .wrap_01 ul li a:before {
		content: "";
		display: block;
		position: absolute;
		background: url("../images/plus_01.svg");
		width: 10px;
		height: 10px;
		right:30px;
		top: 50%;
		transform: translate(0,-50%);
	}
	main .sec07 .wrap_01 ul li a img {
		width: 35px;
		margin-right: 20px;
	}
}


/*------------------------------------------------------------
 sec08
------------------------------------------------------------*/
main .sec08 .ttl_box{
	text-align: center;
	position: relative;
	margin-bottom: 50px;
}
main .sec08 .ttl_box .ttl {
	display: table;
	margin: 0 auto;
}
main .sec08 ul {
	display: flex;
	justify-content: space-between;
}
main .sec08 ul li {
	width: 31%;
	border: 1px solid #DEDEDE;
	position: relative;
}
main .sec08 ul li img {
	height: 200px;
  object-fit: cover;
}
main .sec08 ul li .txt {
	padding: 20px 30px;
}
main .sec08 ul li .cate {
	font-size: 12px;
	padding: 0 10px;
	border: 1px solid #1B2A5D;
	color:#1B2A5D;
	display: table;
}

main .sec08 ul li h4 {
	font-size: 17px;
	margin: 10px 0;
	color:#1B2A5D;
}
main .sec08 ul li a{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
main .sec08 .btn_01{
	margin: 40px auto;
}

@media screen and (max-width: 768px) {
	main .sec08 .ttl_box{
		text-align: center;
		position: relative;
		margin-bottom: 20px;
	}
	main .sec08 .ttl_box .ttl {
		display: table;
		margin: 0 auto;
	}
	main .sec08 ul {
		display: block;
		justify-content: space-between;
	}
	main .sec08 ul li {
		width: 100%;
		border: 1px solid #DEDEDE;
		position: relative;
		margin-bottom: 20px;
	}
	main .sec08 ul li .txt {
		padding:  20px;
	}
	main .sec08 ul li .cate {
		font-size: 12px;
		padding: 0 10px;
		border: 1px solid #1B2A5D;
		color:#1B2A5D;
		display: table;
	}

	main .sec08 ul li h4 {
		font-size: 17px;
		margin: 10px 0;
		color:#1B2A5D;
	}
	main .sec08 ul li a{
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
	}
	main .sec08 .btn_01{
		margin: 20px auto;
	}
}


/*------------------------------------------------------------
 sec09
------------------------------------------------------------*/
main .sec09 {
	overflow-x: hidden;
}
main .sec09 .inner{
	position: relative;
	padding: 120px 0 0 0;
}
main .sec09 .ttl_cover{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}
main .sec09 .ttl_box {
	background: #1B2A5D;
	color: #fff;
	display: table;
	position: relative;
	padding:0 120px 230px 80px;
}
main .sec09 .ttl_box:after {
	content: "";
	display: block;
	background: #1B2A5D;
	position: absolute;
	right: 100%;
	top: 0;
	width: 100vw;
	height: 100%;
}
main .sec09 .ttl_box .eng {
	font-size: 16px;
	transform: rotate(90deg);
	position: absolute;
	right: 20px;
	top: 110px;
	line-height: 1;
}
main .sec09 .ttl_box .ttl {
	-webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
	font-size: 30px;
	padding: 90px 0 0 10px;
	border-left: 1px solid #fff;
	height: 220px;
	line-height: 1;
	margin: 0;
}
main .sec09 .ttl_box .ttl:after {
	display: none;
}
main .sec09 .wrap_01{
	background: linear-gradient(90deg,#fff 0%,#fff 12%,#F5F5F5 12%,#F5F5F5 100%);
	padding: 60px 0 80px;
	margin-top: 60px;
	position: relative;
}
main .sec09 .wrap_01:after {
	content: "";
	display: block;
	background: #F5F5F5;
	position: absolute;
	left: 100%;
	top: 0;
	width: 100%;
	height: 100%;
}
main .sec09 .wrap_01 ul {
	width: 70%;
	display: flex;
	flex-wrap: wrap;
	margin-left: auto;
}
main .sec09 .wrap_01 ul li {
	width: 47%;
	margin-right: 16px;
}
main .sec09 .wrap_01 ul li a{
	width: 100%;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #DEDEDE;
	padding: 16px 0;
	position: relative;
}
main .sec09 .wrap_01 ul li a:before {
	content: "";
	display: block;
	position: absolute;
	background: url("../images/plus_01.svg");
	width: 10px;
	height: 10px;
	right:30px;
	top: 50%;
	transform: translate(0,-50%);
}
main .sec09 .wrap_01 ul li a img {
	width: 65px;
	margin-right: 20px;
}

@media screen and (max-width: 768px) {
	main .sec09 .inner{
		position: relative;
		padding: 40px 0 0 0;
	}
	main .sec09 .ttl_cover{
		position: absolute;
		left: 0;
		top: 0;
		z-index: 2;
	}
	main .sec09 .ttl_box {
		background: #1B2A5D;
		color: #fff;
		display: table;
		position: relative;
		padding:0 60px 40px 20px ;
	}
	main .sec09 .ttl_box:after {
		content: "";
		display: block;
		background: #1B2A5D;
		position: absolute;
		right: 100%;
		top: 0;
		width: 100vw;
		height: 100%;
	}
	main .sec09 .ttl_box .eng {
		font-size: 12px;
		transform: rotate(90deg);
		position: absolute;
		right: -5px;
		top: 65px;
	}
	main .sec09 .ttl_box .ttl {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		font-size: 20px;
		padding: 40px 0 0 6px;
		border-left: 1px solid #fff;
		height:150px;
	}
	main .sec09 .wrap_01{
		background: linear-gradient(90deg,#fff 0%,#fff 12%,#F5F5F5 12%,#F5F5F5 100%);
		padding: 30px 0 40px;
		margin-top: 40px;
		position: relative;
	}
	main .sec09 .wrap_01:after {
		content: "";
		display: block;
		background: #F5F5F5;
		position: absolute;
		left: 100%;
		top: 0;
		width: 100%;
		height: 100%;
	}
	main .sec09 .wrap_01 ul {
		width: 70%;
		display: flex;
		flex-wrap: wrap;
		margin-left: auto;
	}
	main .sec09 .wrap_01 ul li {
		width: 100%;
		margin-right: 16px;
	}
	main .sec09 .wrap_01 ul li a{
		width: 100%;
		display: flex;
		align-items: center;
		border-bottom: 1px solid #DEDEDE;
		padding: 16px 0;
		position: relative;
	}
	main .sec09 .wrap_01 ul li a:before {
		content: "";
		display: block;
		position: absolute;
		background: url("../images/plus_01.svg");
		width: 10px;
		height: 10px;
		right:30px;
		top: 50%;
		transform: translate(0,-50%);
	}
	main .sec09 .wrap_01 ul li a img {
		width: 45px;
		margin-right: 20px;
	}
}


/*------------------------------------------------------------
 sec10
------------------------------------------------------------*/
main .sec10 .inner {
	/*display: flex;
	justify-content: space-between;*/
}
main .sec10 .inner>div {
	width: 80%;
	padding: 0 60px;
	margin: 0 auto;
}
main .sec10 .inner>div .upper{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
main .sec10 .inner>div .upper .eng{
	font-size: 30px;
	color: #1B2A5D;
	padding-right: 20px;
}
main .sec10 .inner>div .upper p{
	width: 70%;
	font-size: 14px;
}
main .sec10 .inner .left{
	/*border-right: 1px solid #DEDEDE;*/
}
main .sec10 .inner .left img{
	border-right: 1px solid #DEDEDE;
	margin-bottom: 40px;
}
main .sec10 .inner .left .btn_02{
	margin: 0 0 15px 0;
}

main .sec10 .inner .right .img_01{
	display: block;
	width: 167px;
	margin: 0 auto 20px;
}
main .sec10 .inner .right .btn_02{
	margin: 35px 0 0 0;
}
main .sec10 .inner .right .btn_02 a{
	background: #24BA1E;
	color: #fff;
	border: none;
	padding-left: 60px;
	box-sizing: border-box;
}
main .sec10 .inner .right .btn_02 a:before{
	background: url("../images/line_icon.svg");
	background-size: cover;
	width: 22px;
	height: 21px;
	left: 30%;
}

@media screen and (max-width: 768px) {
	main .sec10 .inner {
		display: block;
		justify-content: space-between;
	}
	main .sec10 .inner>div {
		width: 100%;
		padding: 0 0;
	}
	main .sec10 .inner>div .upper{
		display: block;
		flex-wrap: wrap;
		margin-bottom: 20px;
	}
	main .sec10 .inner>div .upper .eng{
		font-size: 30px;
		color: #1B2A5D;
		padding:0 0 20px 0;
	}
	main .sec10 .inner>div .upper p{
		width: 100%;
		font-size: 14px;
	}
	main .sec10 .inner .left{
		border-right: none;
		border-bottom: 1px solid #DEDEDE;
		padding-bottom: 40px;
		margin-bottom: 40px;
	}
	main .sec10 .inner .left img{
		border-right: 1px solid #DEDEDE;
		margin-bottom: 40px;
	}
  main .sec10 .inner .left .btn_02{
    margin: 0 0 10px 0;
  }
  
	main .sec10 .inner .right .img_01{
		display: block;
		width: 167px;
		margin: 0 auto 20px;
	}
	main .sec10 .inner .right .btn_02{
		margin: 35px 0 0 0;
	}
	main .sec10 .inner .right .btn_02 a{
		background: #24BA1E;
		color: #fff;
		border: none;
		padding-left: 15%;
		box-sizing: border-box;
	}
	main .sec10 .inner .right .btn_02 a:before{
		background: url("../images/line_icon.svg");
		background-size: cover;
		width: 22px;
		height: 21px;
		left: 28%;
	}
}


/*------------------------------------------------------------
 sec11
------------------------------------------------------------*/
main .sec11 .ttl_box{
	text-align: center;
	position: relative;
	margin-bottom: 50px;
}
main .sec11 .ttl_box .ttl {
	display: table;
	margin: 0 auto;
}
main .sec11 .inner {
	position: relative;
}
main .sec11 .inner .wrap_01 {
	position: absolute;
	background: #fff;
	width: 50%;
	padding: 50px 60px;
	right: 0;
	top: 180px;
	box-sizing: border-box;
}
main .sec11 .inner .wrap_01 .txt_01{
	font-size: 18px;
	border-bottom: 1px solid #1B2A5D;
	
}
main .sec11 .inner .wrap_01 li .txt_02{
	font-size: 14px;
	color: #fff;
	background:  #1B2A5D;
	display: table;
	padding: 0 20px;
	margin-top:20px;
	margin-bottom: 10px;
}
main .sec11 .inner .wrap_01 li {
	font-size: 12px;
}
.gmap iframe {
  width: 70%;
	height: 560px;
  aspect-ratio: 16/9; 
}

@media screen and (max-width: 768px) {
	main .sec11 .ttl_box{
		text-align: center;
		position: relative;
		margin-bottom: 50px;
	}
	main .sec11 .ttl_box .ttl {
		display: table;
		margin: 0 auto;
	}
	main .sec11 .ttl_box .ttl .eng{
		margin: 0;
	}
	main .sec11 .inner {
		position: relative;
	}
	main .sec11 .inner .wrap_01 {
		position: static;
		background: #fff;
		width: 100%;
		padding: 10px;
		right: 0;
		left: 0;
		margin: 0 auto 20px;
		top: 180px;
		box-sizing: border-box;
	}
	main .sec11 .inner .wrap_01 .txt_01{
		font-size: 18px;
		border-bottom: 1px solid #1B2A5D;

	}
	main .sec11 .inner .wrap_01 li .txt_02{
		font-size: 14px;
		color: #fff;
		background:  #1B2A5D;
		display: table;
		padding: 0 20px;
		margin-top:20px;
		margin-bottom: 10px;
	}
	main .sec11 .inner .wrap_01 li {
		font-size: 12px;
	}
	.gmap iframe {
		width:100%;
		height: auto;
		aspect-ratio: 16/9; 
	}
}


/*------------------------------------------------------------
 sec12
------------------------------------------------------------*/
main .sec12{
	background: #1B2A5D;
	padding: 100px 0 160px;
}
main .sec12 .inner{
	position: relative;
}
main .sec12 img {
	position: absolute;
	right: 0;
	top:-20px;
	width: 630px;
}
main .sec12 .ttl_box {
	position: relative;
	padding: 50px 0 0 0;
}
main .sec12 .ttl_box h2 {
	font-size: 30px;
	color: #fff;
}
main .sec12 .ttl_box .eng {
	position:absolute;
	font-size: 100px;
	left: -40px ;
	top: 0;
	color: rgba(255,255,255,0.20)
}
main .sec12 p {
	line-height: 2.2;
	margin: 60px 0;
}
main .sec12 p span {
	color: #1B2A5D;
	font-size: 30px;
	background:#fff;
	padding: 10px 20px;
}

@media screen and (max-width: 768px) {
	main .sec12{
		background: #1B2A5D;
		padding: 40px 0 20px;
	}
	main .sec12 .inner{
		position: relative;
	}
	main .sec12 img {
		position: relative;
		right: 0;
		top:40px;
		width: 100%;
	}
	main .sec12 .ttl_box {
		position: relative;
		padding: 40px 0 0 0;
	}
	main .sec12 .ttl_box h2 {
		font-size: 24px;
		color: #fff;
		padding-left: 20px;
	}
	main .sec12 .ttl_box .eng {
		position:absolute;
		font-size: 60px;
		left: 0 ;
		top: 0;
		color: rgba(255,255,255,0.20)
	}
	main .sec12 p {
		line-height: 2.2;
		margin: 30px 0;
	}
	main .sec12 p span {
		color: #1B2A5D;
		font-size: 20px;
		background:#fff;
		padding: 10px 20px;
	}
}


/*------------------------------------------------------------
footer
------------------------------------------------------------*/
footer{
	overflow-x: hidden;
}

footer .wrap_01{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding: 60px 0 0 0;
}
footer .wrap_01 .left{
	width: 50%;
}
footer .wrap_01 .left .logo{
	width: 300px;
	margin-bottom: 25px;
}

footer .wrap_01 .left .info{
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 30px;
}
footer .wrap_01 .left .info_img{
	width: 37%;
}
footer .wrap_01 .left .info_item{
	width: 60%;
}
footer .wrap_01 .left .info_item .txt_02{
	font-size: 14px;
	line-height: 1.4;
	margin-top: 7px;
}

footer .wrap_01 .left .schedule{
	font-size: 12px;
}
footer .wrap_01 .left .schedule table{
	margin-bottom: 0;
}
footer .wrap_01 .left .schedule table th{
	padding: 4px 7px;
}
footer .wrap_01 .left .schedule table tr th:first-child{
	width: 35%;
}
footer .wrap_01 .left .schedule th .txt_01{
	font-size: 12px;
}

footer .wrap_01 .left .btn_list{
	margin-top: 30px;
}
footer .wrap_01 .left .btn_02 a{
	width: 300px;
	padding: 13px 40px;
	margin: 0 auto;
}

footer .wrap_01 .right{
	width: 45%;
	display: flex;
	justify-content: space-between;
	line-height: 2;
}
footer .wrap_01 .right>ul{
	width: 45%;
}
footer .wrap_01 .right>ul>li{
	margin-bottom: 30px;
}
footer .wrap_01 .right>ul ul a{
	font-size: 13px;
}
footer .wrap_01 .right .midashi{
	font-size: 14px;
	margin-bottom: 10px;
	border-bottom: 1px solid #2E2E2E;
}
footer .copy{
	font-size: 12px;
	text-align: center;
	margin: 60px 0 20px;
}

.floatbtn_wrap {
  position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9;
	display: flex;
	align-items: flex-end;
}
.floatbtn-recruit {
	width: 160px;
	height: 160px;
}
.floatbtn-reserve{
	width: 240px;
	margin-right: 20px;
	margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
	footer .wrap_01{
		display: block;
		justify-content: space-between;
		padding: 40px 0 0 0;
	}
	footer .wrap_01 .left{
		width: 100%;
	}
	footer .wrap_01 .left .logo{
		display: block;
		width: 60%;
		margin:0 auto 20px;
	}
	footer .wrap_01 .left .info{
		display: block;
		margin: 0 0 30px;
	}
	footer .wrap_01 .left .info_img{
		width: 100%;
		margin: 0 0 15px;
	}
	footer .wrap_01 .left .info_item{
		width: 100%;
		text-align: center;
		font-size: 15px;
	}
	footer .wrap_01 .left .info_item .txt_02{
		font-size: 13px;
	}
	
	footer .wrap_01 .left .schedule{
		font-size: 12px;
	}
	footer .wrap_01 .left .schedule table th{
		padding: 4px 7px;
	}
	footer .wrap_01 .left .schedule table tr th:first-child{
		width: 35%;
	}
	footer .wrap_01 .left .schedule th .txt_01{
		font-size: 12px;
	}

	footer .wrap_01 .left .btn_list{
		margin-top: 20px;
	}
	footer .wrap_01 .left .btn_02 a{
		width: 100%;
		padding: 13px 40px;
		margin: 0 auto;
	}

	footer .wrap_01 .right{
		width:100%;
		display: block;
		justify-content: space-between;
		line-height: 2;
	}
	footer .wrap_01 .right>ul{
		width:100%;
		margin-bottom:0;
	}
	footer .wrap_01 .right>ul ul a{
		font-size: 13px;
	}
	footer .wrap_01 .right .midashi{
		font-size: 14px;
		border-bottom: 1px solid #2E2E2E;
		margin: 30px 0 10px;
	}
	footer  .copy{
		font-size: 7px;
		text-align: center;
		margin: 40px 0 20px;
	}
  
	.floatbtn_wrap {
		right: 0;
		bottom: 0;
		justify-content: space-between;
		width: 100%;
	}
	.floatbtn-recruit {
		width: 115px;
		height: auto;
	}
	.floatbtn-reserve {
    width: 180px;
    margin-right: 0;
		margin-left: 10px;
    margin-bottom: 10px;
	}
}


/*------------------------------------------------------------
 トップへ戻る
------------------------------------------------------------*/
#to-pagetop {
	width: 40px;
	right: 0;
	left: 0;
	margin:auto;
	bottom: 20px;
}

@media screen and (max-width: 768px) {
	#to-pagetop {
		width: 30px;
		bottom: 10px;
	}
}

/*------------------------------------------------------------
 202301追加
------------------------------------------------------------*/
.floatbtn_wrap.em_tel  {
	display:  none;
}
@media screen and (max-width: 768px) {
	.floatbtn_wrap.em_tel {
		display:  block;
		bottom: 190px;
	}
	.floatbtn_wrap.em_tel .floatbtn  {
		background: #de427f;
		letter-spacing: 1.2px;
	}
	.floatbtn_wrap.em_tel .floatbtn img {
		width: 14px;
	  }
  }
/*------------------------------------------------------------
 202312追加
------------------------------------------------------------*/
.bnr-wrp{
	margin-bottom: 80px;
}
.bnr-wrp a{
	width: 70%;
    margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.bnr-wrp{
		margin-bottom: 40px;
	}
	.bnr-wrp a{
		width: 100%;
		margin: 0 auto;
	}
}