@charset "utf-8";
/* CSS Document */
/* kv--area
-------------------------------------------------- */
.kv--area, .kv--area .inner {
	position: relative;
}
.kv--area .slick-dots {
	bottom: 0;
	left: auto;
	right: 2.5%;
	width: 30px;
}
.kv--area .slick-dots li {
	display: block;
	width: 12px;
	height: 12px;
	margin-bottom: 12px;
	background: #c8c8c8;
	border-radius: 7px;
}
.kv--area .slick-dots li.slick-active {
	background: #004097;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	.kv--area {
		margin-bottom: 110px;
	}
	.kv--slider {
		position: relative;
	}
	.kv--slider::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 150px;
		background: url("../img/top/kv_mask.png") center top no-repeat;
		background-size: 100% auto;
	}
	.kv--area .kv--slider { /* max-width:1600px;*/ width: 100%;
		margin: 0 auto;
		overflow: hidden;
	}
	.kv--copy_01 {
		position: absolute;
		right: 0%;
		top: 0;
		transform: translate(-75%, 100px);
		max-width: 160px;
		width: 10%;
	}
	.btn--reserve {
		position: absolute;
		right: 0%;
		bottom: 346px;
		transform: translateX(-25%);
		width: 246px;
		height: 246px;
		z-index: 43;
	}
	.btn--reserve span {
		position: absolute;
		top: 71%;
		left: 50%;
		transform: translateX(-50%);
		width: 62px;
		height: 27px;
		background: url("../img/common/ar_wt_s.svg") right bottom no-repeat;
		transition: .4s all;
	}
	.btn--reserve:hover span {
		transform: translateY(calc(-50% + 15px));
	}
	.kv--logo {
		position: relative;
		max-width: 480px;
		margin: -136px auto 42px;
		z-index: 41;
	}
	.kv--area .deco01 {
		position: absolute;
		left: 0%;
		top: 124px;
		transform: translateX(-7%);
		width: 219px;
		height: 219px;
		z-index: 3;
	}
	.kv--area .deco02 {
		position: absolute;
		left: 11.8%;
		top: 305px;
		width: 71px;
		height: 71px;
		z-index: 4;
	}
	.kv--area .deco03 {
		position: absolute;
		left: 5.4%;
		top: 424px;
		width: 91px;
		height: 91px;
		z-index: 5;
	}
	.kv--area .deco04 {
		position: absolute;
		right: 10.6363%;
		top: 134px;
		width: 40px;
		height: 40px;
		z-index: 3;
	}
	.kv--area .deco05 {
		position: absolute;
		right: 12px;
		top: 147px;
		width: 62px;
		height: 61px;
		z-index: 4;
	}
	.kv--area .deco06 {
		position: absolute;
		right: 0;
		top: 235px;
		transform: translateX(7%);
		width: 219px;
		height: 219px;
		z-index: 5;
	}
	.kv--area .deco07 {
		position: absolute;
		right: 13.36363636%;
		top: 411px;
		width: 97px;
		height: 97px;
		z-index: 6;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1600px) {
	/* PC-wide用 */
	.kv--copy_01 {
		transform: translate(-105%, 150px);
		max-width: 220px;
	}
	.btn--reserve {
		transform: translate(-45%, 0);
	}
}
@media (min-width: 1800px) {
	.btn--reserve {
		transform: translate(-65%, 0);
	}
}
/* PC-wide用 */
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	main {
		margin-top: 0;
		padding-top: 0;
	}
	.kv--area {}
	.kv--area .inner {}
	.kv--slider.is--sp {
		position: relative;
	}
	.kv--slider.is--sp::after {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 20%;
		background: url("../img/top/kv_mask.png") center bottom no-repeat;
		background-size: 100% auto;
	}
	.kv--area .slick-dots {
		bottom: -8em;
		margin-left: 2%;
	}
	.kv--area .slick-dots li {
		margin-bottom: 10px;
	}
	.kv--copy_01 {
		position: absolute;
		left: 2%;
		top: 5vh;
		max-width: 160px;
		width: 24%;
	}
	.kv--logo {
		position: relative;
		max-width: 76%;
		margin: -19.6% auto 10px;
		z-index: 21;
	}
	.slider--ph img {
		width: 100%;
	}
	.kv--area .link--ar01 {
		width: 206px;
	}
	.kv--area .link--ar01 a {
		padding: 5px 30px 11px 7px;
		font-size: 14px;
	}
	.kv--area .link--ar01::before {
		width: 206px;
		height: 27px;
	}
	.kv--area .deco01 {
		position: absolute;
		left: 50%;
		bottom: 16.4vh;
		transform: translateX(-125%);
		width: 112px;
		height: 112px;
		z-index: 3;
	}
	.kv--area .deco02 {
		position: absolute;
		left: 5%;
		bottom: 26vh;
		width: 9%;
		height: 9.2%;
		z-index: 4;
	}
	.kv--area .deco03 {
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(10px);
		width: 100px;
		height: 100px;
		z-index: 5;
		display: none;
	}
	.kv--area .deco04 {
		position: absolute;
		right: 5%;
		bottom: 23.5vh;
		width: 5.6%;
		height: 5.6%;
		z-index: 3;
	}
	.kv--area .deco05 {
		position: absolute;
		left: 50%;
		bottom: 17%;
		width: 8.27%;
		height: 8.27%;
		z-index: 6;
	}
	.kv--area .deco06 {
		position: absolute;
		left: 50%;
		bottom: 16.4vh;
		transform: translateX(25%);
		width: 112px;
		height: 112px;
		z-index: 5;
	}
	.kv--area .deco07 {
		position: absolute;
		left: 50%;
		bottom: 0;
		transform: translateX(10px);
		width: 100px;
		height: 100px;
		z-index: 6;
		display: none;
	}
	.sp--contacts {
		margin-top: 47%;
		padding: 15px 5.3333% 17px;
		background: #004097;
	}
	.sp--contacts .ttl {
		margin-top: 16px;
		font-size: 16px;
		font-weight: bold;
		text-align: center;
		color: #fff;
	}
	.sp--contacts .ttl a {
		position: relative;
		display: inline-block;
		color: #fff;
	}
	.sp--contacts .ttl a::after {
		content: '';
		position: absolute;
		right: -40px;
		bottom: 0;
		width: 32px;
		height: 24px;
		background: url("../img/common/ar_wt_l.svg") right bottom no-repeat;
		background-size: auto 14px;
	}
	.sp--contacts .ttl a:hover::after {
		transform: translateX(15px);
	}
	.sp--contacts .btns {
		display: flex;
		justify-content: space-between;
	}
	.sp--contacts .btns .sp--con--btn {
		display: block;
		width: 31.6%;
		padding: 1em .8em;
		font-size: 3.2vw;
		font-weight: bold;
		text-align: center;
		color: #004097;
		background: #fff;
		border-radius: 5px;
		box-sizing: border-box;
	}
}
@media (max-width: 480px) {
	/* SP用 */
	html body {
		padding-top: 76px !important;
	}
}
/* guide01
-------------------------------------------------- */
.guide01--area, .guide01--area .inner {
	position: relative;
}
.guide01--area .inner::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translate(57%, 150%);
	width: 61px;
	height: 63px;
	background: url("../img/common/pop_06.svg") right top no-repeat;
	background-size: 100% auto;
}
.ul--top--guide li {
	padding-bottom: 30px;
	border-radius: 26px;
	-moz-box-shadow: 0px 0px 3px 3px rgba(0, 0, 0, 0.05);
	-webkit-box-shadow: 0px 0px 3px 3px rgba(0, 0, 0, 0.05);
	-ms-box-shadow: 0px 0px 3px 3px rgba(0, 0, 0, 0.05);
	box-shadow: 0px 0px 3px 3px rgba(0, 0, 0, 0.05);
	background: #fff;
}
.ul--top--guide .ph {
	overflow: hidden;
	border-radius: 26px 26px 0 0;
}
.ul--top--guide .ph img {
	border-radius: 26px 26px 0 0;
}
.ul--top--guide .ph a:hover img {
	transform: scale(110%);
}
.ul--top--guide .ttl {
	padding: .7em 0;
	text-align: center;
	font-size: 32px;
	font-weight: bold;
	letter-spacing: .2em;
	color: #004097;
}
.ul--top--guide p {
	margin: 0 24px 24px;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: .1em;
}
.link--ar01.det {
	width: 140px;
	height: 29px;
}
.link--ar01.det a {
	padding: 3px 36px 14px 8px;
	font-size: 16px;
}
.link--ar01.det::before {
	width: 140px;
	height: 29px;
	background-size: auto 28px;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	.guide01--area {
		margin-bottom: 100px;
		padding-bottom: 60px;
	}
	.guide01--area::before {
		content: '';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 77%;
		background: #dff0ff;
	}
	.ul--top--guide {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		column-gap: 30px;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.guide01--area {
		padding: 14.6666666% 14.6666666%;
		background: #dff0ff;
	}
	.ul--top--guide li {
		margin-bottom: 12%;
	}
	.ul--top--guide li:last-of-type {
		margin-bottom: 0;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* guide02--area
-------------------------------------------------- */
.guide02--area .inner .ph {
	position: relative;
	overflow: hidden;
	border-radius: 15px;
}
.guide02--area .inner .ph a:hover img {
	transform: scale(110%);
}
.guide02--area .inner .ph span {
	display: block;
	position: absolute;
	left: 50%;
	height: 50%;
	transform: translate(-50%, -100%);
	width: 220px;
}
.guide02--area .txt .ttl {
	margin-bottom: .8em;
	font-size: 3em;
	font-weight: 700;
	line-height: 1.633333;
	color: #004097;
	letter-spacing: .2em;
}
.guide02--area .txt p {
	margin-bottom: 3em;
	font-size: 1.7em;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .1em;
}
.guide02--area .txt .link--ar01.det {
	margin: 0 0 0 auto;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	.guide02--area {
		padding-bottom: 100px;
	}
	.guide02--area .inner {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	.guide02--area .inner .ph {
		width: 65.6363636%;
	}
	.guide02--area .inner .ph > img {
		border-radius: 26px;
	}
	.guide02--area .inner .txt {
		width: 31.54545%;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.guide02--area {
		padding: 10.6666666% 3.3333%;
	}
	.guide02--area .inner .ph {}
	.guide02--area .inner .ph img {
		border-radius: 14px;
	}
	.guide02--area .inner .txt {
		padding: 10% 8%;
	}
	.guide02--area .inner .txt .ttl {
		font-size: min(7vw, 28px);
	}
	.guide02--area .txt .link--ar01.det {
		margin: 0 auto;
		font-size: 14px;
	}
	.guide01--area .inner::after {
		width: 13.4%;
		height: 40px;
		transform: translate(57%, 210%);
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* news--area
-------------------------------------------------- */
.news--area {
	background: #dff0ff;
}
.news--area h2 .sub {
	width: 59px;
}
.news--inneer .news--list li {
	margin-bottom: 15px;
	font-size: 16px;
	font-weight: bold;
}
.news--inneer .link--ar01 {
	width: 204px;
	margin: 0 0 5px auto;
	font-size: 16px;
}
.news--inneer .link--ar01::before {
	width: 204px;
	height: 35px;
	background-size: auto 100%;
}
.news--inner {
	position: relative;
}
.news--inneer .news--list li {}
.news--inneer .news--list li .date {
	margin-right: 18px;
}
.news--inneer .news--list li .cat {
	display: inline-block;
	width: 120px;
	margin-right: 18px;
	padding: 5px 0 6px;
	text-align: center;
	background: #fff;
	border-radius: 22px;
}
.news--inneer .news--list li .cat a {
	color: #004097;
}
.news--area .deco01 {
	position: absolute;
	left: 2%;
	top: 0;
	transform: translateY(-34%);
	width: 74px;
	height: 74px;
	z-index: 3;
}
.news--area .deco02 {
	position: absolute;
	left: 0;
	top: 60px;
	transform: translateX(-90%);
	width: 64px;
	height: 64px;
	z-index: 4;
}
.news--area .deco03 {
	position: absolute;
	right: 0;
	top: 68px;
	transform: translateX(40%);
	width: 78px;
	height: 78px;
	z-index: 5;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	.news--area .inner {
		padding: 60px 0 65px;
	}
	.news--inneer {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	.news--inneer .news--list {
		width: 80%;
	}
	.news--inneer .news--list li {
		display: flex;
		align-items: center;
		margin-bottom: 15px;
		font-size: 16px;
		font-weight: bold;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.news--area {
		position: relative;
	}
	.news--area .inner {
		padding: 8% 3.3333%;
	}
	.news--area h2 {
		margin-bottom: .75em;
		font-size: 3em;
	}
	.news--inneer .news--list li {
		line-height: 2;
	}
	.news--inneer .news--list li a.ttl {
		line-height: 1.5;
	}
	.news--inneer .news--list li .cat {
		margin-right: 0;
		line-height: 1.06;
	}
	.news--inneer .link--ar01 {
		width: 164px;
		margin: 1.6em auto 0;
		font-size: 14px;
	}
	.news--inneer .link--ar01 a {
		padding: 3px 30px 11px 8px;
	}
	.news--inneer .link--ar01::before {
		width: 164px;
		height: 27px;
	}
	.news--area .deco01 {
		position: absolute;
		left: 12%;
		top: 0;
		transform: translateY(-40%);
		width: 10%;
		height: 40px;
		z-index: 3;
	}
	.news--area .deco02 {
		position: absolute;
		left: auto;
		right: 1%;
		top: 6vh;
		width: 8.6%;
		height: 36px;
		z-index: 4;
	}
	.news--area .deco03 {
		position: absolute;
		right: 0;
		top: 68px;
		transform: translateX(40%);
		width: 78px;
		height: 78px;
		z-index: 5;
		display: none;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* isg--area
-------------------------------------------------- */
.isg--area .link--ar01 {
	width: 238px;
}
.isg--area .link--ar01 a {
	padding-right: 40px;
	font-size: 16px;
	color: #fff;
}
.isg--area .link--ar01::before {
	width: 238px;
	height: 35px;
	background: url("../img/common/ar_wt_l.svg") right bottom no-repeat;
	background-size: auto 100%;
}
.isg--area .inner {
	position: relative;
}
.isg--area .inner .bg {
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	transition: 0.4s ease-in-out;
}
.isg--area .inner .bg > img {
	/*max-width: none;*/
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
.isg--area .inner .bg:hover {
	transform: translate(-50%, -50%) scale(1.1);
}
.isg--area .inner .isg--fx {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	height: 464px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	.isg--area {
		padding: 100px 0 0;
	}
	.isg--area .inner {
		position: relative;
		max-width: none;
		width: 100%;
		height: 464px;
		padding-top: 145px;
		/*background: url("../img/top/bg_isg.jpg") center center repeat;
		background-size: cover;*/
		transition: 0.4s ease-in-out;
		overflow: hidden;
	}
	.logo--isg {
		position: relative;
		width: 322px;
		margin: 0 auto 25px;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.isg--area {
		padding: 40px 0 0;
	}
	.isg--area .inner {
		position: relative;
		max-width: none;
		width: 100%;
		/*padding: 17.3333333% 0 13.6%;*/
		height: 232px;
		/*background: url("../img/top/bg_isg.jpg") 10% center repeat;
		background-size: auto 100%;*/
	}
	.logo--isg {
		position: relative;
		width: 232px;
		margin: 0 auto 15px;
	}
	.isg--area .inner .isg--fx {
		height: 100%;
	}
	.isg--area .inner .bg {
		overflow: hidden;
		height: 232px;
	}
	.isg--area .inner .bg a {
		display: block;
		height: 100%;
	}
	.isg--area .inner .bg img {
		max-width: none;
		width: auto;
		height: 100%;
	}
	.isg--area .link--ar01, .isg--area .link--ar01 a {
		width: 200px;
		font-size: 14px;
	}
	.isg--area .link--ar01::before {
		width: 200px;
		height: 27px;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* access--area
-------------------------------------------------- */
.access--area {
	font-weight: bold;
	text-align: center;
}
.access--area .ttl {}
.access--area .address {
	width: 379px;
	margin: 0 auto 2.5em;
}
.access--area p {}
.access--area .deco01 {
	position: absolute;
	left: 0;
	top: 0;
	transform: translateX(-46%);
	width: 63px;
	height: 66px;
	z-index: 3;
}
.access--area .deco02 {
	position: absolute;
	left: 3.2%;
	top: 80px;
	width: 74px;
	height: 74px;
	z-index: 4;
}
.access--area .deco03 {
	position: absolute;
	right: 0;
	top: 120px;
	width: 76px;
	height: 78px;
	z-index: 5;
}
@media (min-width: 769px) {
	/* tablet+PC用 */
	.access--area {
		padding: 100px 0 0;
	}
	.access--area .ttl {
		margin: 0 auto 1.1em;
		font-size: 2.4em
	}
	.access--area .address {}
	.access--area .address strong {}
	.access--area .address .sub {}
	.access--area p {
		margin-bottom: 100px;
		font-size: 1.8em;
	}
	.access--area p .sla {
		display: inline;
	}
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
	.access--area .inner {
		position: relative;
		padding: 12% 3.3333% 5%;
	}
	.access--area .ttl, .access--area p {
		margin: 0 0 1.5em;
		font-size: 1.4em;
		line-height: 1.8;
		text-align: center;
	}
	.access--area .address {
		width: 100%;
	}
	.access--area .address strong {}
	.access--area .address .sub {}
	.access--area p {}
	.access--area .deco01 {
		position: absolute;
		left: 3%;
		top: 1.8vh;
		width: 6.7%;
		height: 36px;
		transform: translate(0);
		z-index: 3;
	}
	.access--area .deco02 {
		position: absolute;
		left: 11.4%;
		top: 5vh;
		width: 7.1%;
		height: 36px;
		z-index: 4;
	}
	.access--area .deco03 {
		position: absolute;
		right: 3.3%;
		top: 2.2vh;
		width: 8%;
		height: 36px;
		z-index: 5;
	}
	.access--area p .sla {
		display: none;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* 
-------------------------------------------------- */
@media (min-width: 769px) {
	/* tablet+PC用 */
}
@media (min-width: 1025px) {
	/* PC用 */
}
@media (min-width: 1225px) {
	/* PC-wide用 */
}
@media (min-width: 769px) and (max-width: 1024px) {
	/* tablet用 */
}
@media (max-width: 768px) {
	/* iPadMini+SP用 */
}
@media (max-width: 480px) {
	/* SP用 */
}