@charset "utf-8";


/* all
-------------------------------------------------------------------*/
html {
	background:#FFFFFF;
	color:#333333;
	font-family: 'Noto Sans JP',  "游ゴシック Medium", "Yu Gothic Medium" ,"游ゴシック体", "Yu Gothic", YuGothic , 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size:16px;
	line-height:1.4;
}
html .zenkaku,
html .zenkaku form *{
	font-family: "Zen Kaku Gothic New", sans-serif;
}
html .lato,
html .min form *{
	font-family: "Lato", sans-serif;
}
body {
	width: 100%;
	font-size: 100%;
	text-align: center;
	min-width:1100px;
}
main{
	overflow:hidden;
	width:100%;
}
.sitewrap {
	width: 1200px;
	min-width: 1200px;
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
}

@media screen and (max-width:1200px) {
	body,
	.sitewrap {
		width: 100%;
		min-width:0;
	}	
	.sitewrap > *{
		padding-left:2%;
		padding-right:2%;
	}
}
@media screen and (max-width:767px) {
	html {
		font-size:14px;
	}
	.sitewrap > *{
		padding-left:15px;
		padding-right:15px;
	}
	img{
		max-width:100%;
		height:auto;
	}
}


/* header
-------------------------------------------------------------------*/
header#fix_menu{
	position: fixed;
	top: 0;
	left:0;
	right:0;
	z-index:999;
	transition:top .4s .2s;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	box-shadow: 0 5px 30px rgba(0, 0, 0, 0.05);
	background: #fff;
}
header#fix_menu.fixedMenu{
	position:fixed;
	top:0;
}
header:before{
	content:'';
	width: 100%;
	height:100%;
	background:#fff;
	position:absolute;
	inset:0;
	z-index:3;
}
header:after{
	content:'';
	width: 100%;
	height:100vh;
	background:transparent;
	position:absolute;
	inset:0;
	z-index: -3;
	transition:.4s background-color;
	pointer-events: none;
}
.menu_top {
   	position:relative;
   	z-index: 5;
}
.menu_top #site_ttl{
	padding:10px;
	white-space:nowrap;
}
.menu_top #site_ttl a{
	display:inline-block;
	vertical-align:middle;
	transition:.4s opacity;
}
.menu_top .right_menu{
	text-align:right;
	display: none;
}
.menu_bottom{
	position:relative;
	z-index: 800;
}
.drop_menu{
	margin:auto;
}
.drop_menu #NavWrap {
	padding: 0;
}
.drop_menu #NavWrap ul {
	margin: 0;
	padding: 0;
	display: flex;
	width:100%;
	box-sizing:border-box;
	padding-right: 1em;
}
.drop_menu #NavWrap ul::after{
	display:none;
}
.drop_menu #NavWrap ul > li {
	display: block;
	min-height: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.drop_menu #NavWrap li .head-txt-link{
	padding: 0 15px 2px;
	box-sizing:border-box;
	text-decoration: none;
	font-size: 1rem;
	width: auto;
	line-height: 1;
	position:relative;
	text-align:center;
	transition:background 0.5s ,color 0.5s, opacity 0.5s, color 0.5s;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.drop_menu #NavWrap .drop_wrap .head-txt-link span{
	position:relative;
	padding-right: 1em;
}
.drop_menu #NavWrap li .head-txt-link span:before{
	content:"";
	width:100%;
	height:2px;
	background:#f3db43;
	position:absolute;
	left:0;
	right:0;
	bottom:-10px;
	margin:auto;
	transition:.5s transform;
	transform:scale(0,1);
	transform-origin:right top;
}
.drop_menu #NavWrap .drop_wrap .head-txt-link span:after{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right:0;
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 2px solid #959595;
	border-right: 2px solid #959595;
	transform: rotate(135deg);
	box-sizing: border-box;
	transition:.5s transform;
}
.drop_menu #NavWrap li p.display_sp{
	display:none;
}
.drop_menu #NavWrap li .head-txt-link span{
	display:flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	white-space: normal;
	font-weight: bold;
	position:relative;
}
.drop_menu #NavWrap li a span br{
	display:none;
}
.drop_menu #NavWrap li.drop_wrap {
	position:relative;
}
.drop_menu #NavWrap li.drop_wrap i{
	display:none;
}
.drop_menu #NavWrap li ul{
	position:absolute;
	width:auto;
	opacity:0;
	visibility:hidden;
	transition:opacity .4s;
	top: 80px;
	display: block;
	width: 224px;
	text-align: left;
	padding: 0;
}
.drop_menu #NavWrap li ul li{
	min-height:0;
	display: block;
}
.drop_menu #NavWrap li ul li + li{
	border-top:1px solid #efefef;
}
.drop_menu #NavWrap li:hover ul{
	opacity:1;
	visibility:visible;
	z-index:999;
}
.drop_menu #NavWrap li ul a{
	min-width:10em;
	padding: 20px 30px;
	background: #fff;
	color:#333;
	display: block;
	text-decoration:none;
	transition: .5s background-color;
}
.drop_menu #switch {
	position: absolute;
	display: none;
	opacity: 0;
}
.drop_menu #NavWrap .head-btn{
	width: 254px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 1.5em;
}
.drop_menu #NavWrap .head-btn a{
	position:relative;
	display:flex;
	justify-content:center;
	align-items:center;
	gap: 0.25em;
	width: 100%;
	max-width:390px;
	border-radius: 43px;
	color:#033c62;
	background:#e5eaed;
	font-size:1.625rem;
	padding:10px;
	min-height: 1.75em;
	font-weight:bold;
	line-height: 1;
	text-decoration:none;
	font-family: "Lato", sans-serif;
	transition:background .4s,color .4s,transform .4s;
	pointer-events: none;
}
.drop_menu #NavWrap .head-btn a span{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5em;
	padding: 0;
}
.drop_menu #NavWrap .head-btn a i{
	width: 17px;
	height: fit-content;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	transition:filter .4s;
	filter: brightness(0) saturate(100%) invert(49%) sepia(18%) saturate(1055%) hue-rotate(165deg) brightness(99%) contrast(95%);
}
.drop_menu #NavWrap .head-btn a span i img{
	max-width:100%;
	height:auto;
}
header:has(.drop_wrap:hover):after{
	background: rgba(0,0,0,0.2);
}
@media (any-hover: hover) {
	.drop_menu #NavWrap .drop_wrap:hover .head-txt-link span:before,
	.drop_menu #NavWrap li .head-txt-link:hover span:before{
		transform:scale(1,1);
		transform-origin:left top;
	}
	.drop_menu #NavWrap li ul a:hover{
		background-color: #e5eaed;
	}
	.drop_menu #NavWrap .head-btn a:hover{
		color:#fff;
		background:#033c62;
	}
	.drop_menu #NavWrap .head-btn a:hover i{
		filter:none;
	}
	.menu_top #site_ttl a:hover{
		opacity:0.7;
	}
}
@media screen and (max-width:1465px) {
	.drop_menu #NavWrap li .head-txt-link{
		padding:0 10px;
		font-size:0.875rem;
	}
	.drop_menu #NavWrap .head-btn{
		width:200px;
		margin-left:0.25em;
	}
	.drop_menu #NavWrap .head-btn a{
		font-size:1.125rem;
	}
	.menu_top{
		width:20%;
		display:flex;
		justify-content:flex-start;
		align-items:center;
	}
	.menu_top img{
		max-width:100%;
		height:auto;
	}
}
@media screen and (max-width:1150px) {
	.drop_menu #NavWrap li .head-txt-link{
		padding:0 5px;
		font-size:0.875rem;
	}
	.drop_menu #NavWrap .head-btn{
		width:150px;
	}
	.drop_menu #NavWrap .head-btn a{
		font-size:1rem;
		letter-spacing: -0.03em;
	}
}
@media screen and (max-device-width:1280px) {
	.drop_menu #NavWrap li:hover ul{
		opacity:0;
		visibility:hidden;
	}
	.drop_menu #NavWrap li:hover ul{
		opacity:0;
		visibility:hidden;
	}
	.drop_menu #NavWrap .drop_wrap.opened ul{
		opacity:1;
		visibility:visible;
		z-index:999;
	}
	header:has(.drop_wrap:hover):after{
		background:transparent;
	}
	header:has(.drop_wrap.opened):after{
		background: rgba(0,0,0,0.2);
	}
}
@media screen and (max-width:1000px) {
	header .menu_top{
		padding:0;
	}
	header:before{
		display:none;
	}
	header:has(.drop_wrap.opened):after{
		display:none;
	}
	.drop_menu #NavWrap li p.display_sp{
		display:block;
	}
	.menu_top .right_menu{
		text-align:right;
		display: block;
	}
	.menu_top .right_menu .head-tel a{
		position:relative;
		display:flex;
		justify-content:center;
		align-items:center;
		border-radius: 43px;
		background:#e5eaed;
		min-height: 1.75em;
		text-decoration:none;
		aspect-ratio: 1/1;
		width: 45px;
	}
	.menu_top .right_menu .head-tel a span{
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0.5em;
	}
	.menu_top .right_menu .head-tel a i{
		width: 17px;
		height: fit-content;
		position: relative;
		display: flex;
		justify-content: center;
		align-items: center;
		transition:filter .4s;
		filter: brightness(0) saturate(100%) invert(49%) sepia(18%) saturate(1055%) hue-rotate(165deg) brightness(99%) contrast(95%);
	}
	.drop_menu #switch ~ label {
		position: fixed;
		top: 7px;
		right: 7px;
		display: block;
		width: 45px;
		height: 45px;
		cursor: pointer;
		text-align:center;
		z-index:900;
		background: #ffe331;
		padding: 12px 12px;
		border-radius: 50%;
		transition: 0.5s transform, right 0.2s;
		box-sizing:border-box;
	}
	.drop_menu #switch ~ label b{
		z-index:2;
		width:100%;
		display:block;
		margin-bottom: 0;
	}
	.drop_menu #switch ~ label span{
		cursor: -webkit-grabbing;
		display:block;
		background: #033c62;
		position:absolute;
		left:0;
		right:0;
		width: 20px;
		height:2px;
		top: 22px;
		margin:auto;
		transition: 0.2s transform, 0.5s background;
	}
	.drop_menu #switch ~ label span:before,
	.drop_menu #switch ~ label span:after{
		content:"";
		display:block;
		width: 20px;
        height: 2px;
		background: #033c62;
		position:absolute;
		margin-top:0;
	}
	.drop_menu #switch ~ label span:before{
		top: -7px;
	}
	.drop_menu #switch ~ label span:after{
		top: 7px;
		width: 15px;
	}
	.drop_menu #switch:checked ~ label span{
		-webkit-transform:rotate(-45deg);
		transform:rotate(-45deg);
	}
	.drop_menu #switch:checked ~ label span:before{
		top:0;
	}
	.drop_menu #switch:checked ~ label span:after{
		-webkit-transform:rotate(270deg);
		transform:rotate(270deg);
		top:0;
		margin-top:0;
		width: 20px;
	}
	.drop_menu #switch:checked ~ label{
		right: 7px;
	}
	.drop_menu #NavWrap{
		z-index: 800;
		overflow: auto;
		visibility: hidden;
		box-sizing: border-box;
		transition:all 0.25s;
		position:fixed;
		top: 60px;
		left:auto;
		right:-100%;
		padding:0;
		width: 100%;
		height:100%;
		background: #84a9c9;
	}
	.drop_menu #NavWrap::-webkit-scrollbar {
		height:10px;
		width:10px;
	}
	.drop_menu #NavWrap::-webkit-scrollbar-track {
		border-radius: 10px;
		background: #b3b3b3;
	}
	.drop_menu #NavWrap::-webkit-scrollbar-thumb {
		border-radius: 10px;
	}
	.drop_menu #switch:checked ~ label+#NavWrap{
		visibility:visible;
		max-height: 100vh;
		top: 60px;
		left:auto;
		right:0;
	}
	.drop_menu #NavWrap > ul {
		width: 100%;
		margin-right: 0;
		margin-left: auto;
	}
	.drop_menu #NavWrap li a {
		padding: 15px 0;
		text-decoration: none;
		text-align: center;
		width: auto;
		background:rgba(255,255,255,0.9);
	}
	.drop_menu #NavWrap li a span{
		padding: 10px 0px;
		border-left:none;
		white-space: normal;
	}
	body.home {
		padding-top: 60px;
	}
	header#fix_menu,
	header#fix_menu.fixedMenu{
		top:0;
		transition: none;
		position: fixed;
		height: 60px;
	}
	header .menu_top {
		position: absolute;
		top:0;
		left:0;
		width:100%;
		z-index: 700;
		background: none;
		padding: 0;
		box-sizing: border-box;
		background: rgba(255,255,255,0.8);
		justify-content: space-between;
		padding-right: 60px;
	}
	header .menu_top #site_ttl{
		padding: 10px 5px;
	}
	header .menu_top #site_ttl img{
		max-height:40px;
		width:auto;
	}
	header .menu_top #site_ttl p{
		display:none;
	}
	.drop_menu #NavWrap ul {
	   display: block;
	   border-left:none;
	   height: calc(100% + 60px);
	   width: 100%;
	   padding: 0;
	   margin: 0;
	}
	.drop_menu #NavWrap ul li {
		display:block;
		padding:0;
		border-bottom:solid 1px #fff;
		min-height: 60px;
	}
	.drop_menu #NavWrap li .head-txt-link,
	.drop_menu #NavWrap li .head-txt-link:hover{
		font-size: 1rem;
		text-align: left;
		width: auto;
		padding: 0;
		text-decoration: none;
		background:none;
		color:#fff;
		border:none;
		padding-inline: 15px;
		min-height: 60px;
		justify-content: flex-start;
		width: 100%;
	}
	.drop_menu #NavWrap li.drop_wrap{
		text-align:left;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-start;
	}
	.drop_menu #NavWrap li.drop_wrap a.head-txt-link{
		min-height: 60px;
		width: auto;
	}
	.drop_menu #NavWrap li a:before{
		content:"";
		width:11px;
		height:11px;
		background:url(../img/common/icon-arrow.svg) no-repeat center / contain;
		position:absolute;
		right: 4%;
		top:0;
		bottom:0;
		margin:auto;
	}
	.drop_menu #NavWrap .drop_wrap .head-txt-link:before{
		display:none;
	}
	.drop_menu #NavWrap li .head-txt-link span,
	.drop_menu #NavWrap .drop_wrap .head-txt-link span{
		display:block;
		font-weight:normal;
		background:none;
		line-height: 1.4;
		padding: 0;
	}
	.drop_menu #NavWrap li .head-txt-link span:before{
		display:none;
	}
	.drop_menu #NavWrap li a span br{
		display:block;
	}
	.drop_menu #NavWrap li .head-txt-link span:after{
		display:none;
	}
	.drop_menu #NavWrap li.drop_wrap i{
		display:block;
		width: 60px;
		height: 60px;
		cursor:pointer;
		position:absolute;
		top:0;
		right:0;
		z-index:10;
	}
	.drop_menu #NavWrap ul li.drop_wrap i:before,
	.drop_menu #NavWrap ul li.drop_wrap i:after{
		content:"";
		width: 11px;
		height: 2px;
		display:block;
		position:absolute;
		right: 14px;
		top:0;
		bottom:0;
		margin:auto;
		z-index:20;
		background:#fff;
		transition:transform .4s;
	}
	.drop_menu #NavWrap li.drop_wrap ul,
	.drop_menu #NavWrap li.drop_wrap:hover ul{
		opacity:0;
		visibility:hidden;
		display:block;
		position: static;
		transform: none;
		width:100%;
		max-height:0;
		overflow:hidden;
		transition:opacity .4s,visibility .4s, max-height .4s;
	}
	.drop_menu #NavWrap ul li.drop_wrap.opened ul{
		opacity:1;
		visibility:visible;
		max-height:100vh;
	}
	.drop_menu #NavWrap ul li.drop_wrap i:after{
		transform:rotate(90deg);
	}
	.drop_menu #NavWrap ul li.drop_wrap.opened i:before{
		transform:rotate(180deg);
	}
	.drop_menu #NavWrap ul li.drop_wrap.opened i:after{
		transform:rotate(-180deg);
	}
	.drop_menu #NavWrap li.drop_wrap ul li + li{
		border-top:solid 1px #ccc;
	}
	.drop_menu #NavWrap li.drop_wrap ul li .head-txt-menu{
		font-size:1rem;
		text-align: left;
		width: auto;
		padding: 0;
		text-decoration: none;
		background:#fff;
		color:#333;
		border:none;
	}
	.drop_menu #NavWrap li.drop_wrap ul li .head-txt-menu{
		background:#5489b4;
		min-height:60px;
		display:flex;
		justify-content:flex-start;
		align-items:center;
		padding: 0 30px;
		color: #fff;
		position: relative;
	}
	.drop_menu #NavWrap li.drop_wrap ul li a span{
		padding: 0;
	}
	.drop_menu #NavWrap .head-btn{
		width:100%;
		border-bottom:none;
		margin-top: 3em;
		flex-wrap:wrap;
		flex-direction: column;
	}
	.drop_menu #NavWrap .head-btn p{
		font-size:1rem;
		color:#fff;
		margin-bottom:0.5em;
	}
	.drop_menu #NavWrap .head-btn a{
		max-width:270px;
		background: #e5eaed;
		min-height: 1.608em;
		font-size: 2rem;
		padding: 0 0.25em;
		line-height: 1;
	}
	.drop_menu #NavWrap .head-btn a:before{
		display:none;
	}
	.drop_menu #NavWrap .head-btn{
		margin-left:0;
	}
}
@media screen and (max-width:768px) {
	header .menu_top{
		padding-right:70px;
	}
	.drop_menu #switch ~ label{
		right:12px;
	}
	.drop_menu #switch:checked ~ label{
		right:12px;
	}
	.drop_menu #switch ~ label span{
		height:1px;
	}
	.drop_menu #switch ~ label span:before,
	.drop_menu #switch ~ label span:after{
        height:1px;
	 }
	.drop_menu #switch ~ label span:before{
		top:-6px;
	}
	.drop_menu #switch ~ label span:after{
		top:6px;
	}
	.drop_menu #NavWrap .head-btn a{
		pointer-events:auto;
	}
}

/* contents
-------------------------------------------------------------------*/
/*common*/
main{
	display: block;
	margin-top: 130px;
}
body:not(.home) main{
	display: block;
	margin-top:0;
}
body:not(.home) .article_kv{
	padding-top:120px;
}
.top_title{
	position:relative;
	margin-bottom:2em;
}
.top_title .top_style{
	position:relative;
	font-size:2rem;
	font-weight:bold;
	color:#033c62;
	z-index: 5;
	max-width: fit-content;
}
.top_title .bg_title{
	font-family: "Lato", sans-serif;
	position: absolute;
	top: -0.6em;
	left: -0.25em;
	color: #e3ebf0;
	font-size: 4.5rem;
	font-weight:bold;
	letter-spacing: 0.05em;
	z-index: -1;
	line-height: 1;
}
@media screen and (max-width:1300px) {
	main{
		display: block;
		margin-top: 130px;
	}
}
@media screen and (max-width:768px) {
	main{
		margin-top:30px;
	}
	.top_title .top_style{
		font-size:1.42rem;
		margin:0 auto;
	}
	.top_title .bg_title{
		top: -0.5em;
		left:50%;
		font-size:3.14rem;
		transform:translateX(-50%);
	}
}
/*visual*/
body.home .visual{
	position:relative;
	z-index:5;
}
.visual img{
	max-width:100%;
	height:auto;
}
body.home .visual .mv-txt{
	position:absolute;
	top:0;
	left: 12%;
	background:#fff;
	height:100%;
	width:410px;
	display:flex;
	justify-content:center;
	align-content:center;
	flex-direction:column;
	gap:5em;
}
body.home .visual .mv-txt .mv_style{
	writing-mode: vertical-rl;
	width:fit-content;
	margin:0 auto;
	text-align:left;
	font-size:2rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
	line-height: 2;
}
body.home .visual .mv-txt p{
	font-size:0.875rem;
	text-align:left;
	max-width:fit-content;
	margin:0 auto;
	font-weight:400;
	line-height: 1.875;
}
body.home .mv-movie{
	position:absolute;
	bottom: 6%;
	right: 2%;
}
body.home .mv-movie a{
	padding: 10px 15px 15px;
	background:#ffe331;
	border-radius:8px;
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
	text-decoration: none;
}
body.home .mv-movie .mv-movie_thm,
body.home .movie .movie_wrap .movie_modal a{
	position:relative;
}
body.home .mv-movie .mv-movie_thm:before{
	content:"";
	width:45px;
	height:45px;
	background:url(../img/common/icon-play_movie.svg) no-repeat center / contain;
	position:absolute;
	inset:0;
	z-index:15;
	margin: auto;
}
body.home .movie .movie_wrap .movie_modal a:before{
	content:"";
	width:104px;
	height:104px;
	background:url(../img/common/icon-play_movie.svg) no-repeat center / contain;
	position:absolute;
	inset:0;
	z-index:15;
	margin: auto;
}
body.home .mv-movie a p{
	font-size:0.875rem;
	font-weight:bold;
	margin-bottom:0.5em;
}
@keyframes horizontal-animation {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}
body.home .mv-slider-container {
    display: flex;
    overflow: hidden;
}
body.home .mv-slider-wrapper {
    display: flex;
    animation: horizontal-animation 75s linear infinite;
}
body.home .mv-slide {
    width: 600px;
    margin-right: 40px;
}
body.home .mv-slide img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
    border-radius: 30px;
}
@media screen and (max-width:1300px) {
	body.home .mv-slide{
		width:400px;
		margin-right: 25px;
	}
	body.home .visual .mv-txt{
		gap: 1em;
		width: 350px;
		padding: 0 15px;
		height: calc(100% + 2px);
	}
	body.home .visual .mv-txt .mv_style{
		font-size:1.75rem;
	}
}
@media screen and (max-width:1200px) {
	body.home .visual .mv-txt p br{
		display:none;
	}
	body.home .movie .movie_wrap .movie_modal a:before{
		width:80px;
		height:80px;
	}
}
@media screen and (max-width:767px) {
	body.home .mv-slide{
		width:300px;
	}
	body.home .visual .mv-txt{
		width: 140px;
		left: 5%;
		padding: 0;
	}
	body.home .visual .mv-txt .mv_style{
		font-size:1.5rem;
	}
	body.home .mv-movie a{
		aspect-ratio:1/1;
		width: 100px;
		border-radius:50%;
	}
	body.home .mv-movie{
		bottom:-7%
	}
	body.home .mv-movie a{
		box-shadow:0 0 10px rgba(0,0,0,0.2);
	}
	body.home .mv-slide img{
		border-radius:15px;
	}
	body.home .mv-movie a em{
		font-size:1.29rem;
		font-weight:bold;
		text-transform:uppercase;
		display:block;
		padding-bottom:1em;
		position: relative;
	}
	body.home .mv-movie a em:before{
		content:"";
		width: 0;
		height: 0;
		border-style: solid;
		border-top: 7px solid transparent;
		border-bottom: 7px solid transparent;
		border-left: 10px solid #333333;
		border-right: 0;
		position:absolute;
		bottom:-0.125em;
		left:0;
		right:0;
		margin:auto;
	}
	body.home .movie .movie_wrap .movie_modal a:before{
		width:60px;
		height:60px;
	}
}

/*news*/
body.home .news{
	position:relative;
	padding-block: 4em 5em;
}
body.home .news .sitewrap{
	overflow:visible;
}
body.home .news .news_col{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap:4%;
}
body.home .news .news_col .news_title{
	width:20%;
	margin-top: 3em;
}
body.home .news .news_col .news_title .news_link a{
	font-size:0.875rem;
	color:#006699;
	position:relative;
	display:inline-block;
	padding-right:1.5em;
	text-decoration:none;
}
body.home .news .news_col .news_title .news_link a:before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right:0;
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 1px solid #006699;
	border-right: 1px solid #006699;
	transform: rotate(45deg);
	transition:.5s transform;
}
body.home .news .news_col .news_title .news_link a:after{
	content:"";
	width:100%;
	height:1px;
	background:#006699;
	position:absolute;
	bottom:-5px;
	left:0;
	right:0;
	margin:auto;
	transition:.5s transform;
	transform:scale(1,1);
	transform-origin:left top;
}
body.home .news .news_col .news_list{
	width:76%;
}
@media (any-hover: hover) {
	body.home .news .news_col .news_title .news_link a:hover:after{
		transform:scale(0,1);
		transform-origin:right top;
	}
}
@media screen and (max-width:767px) {
	body.home .news{
		padding-block: 2em 7em;
	}
	body.home .news .news_col{
		gap: 0;
	}
	body.home .news .news_col .news_title,
	body.home .news .news_col .news_list{
		width:100%;
	}
	body.home .news .news_col .news_title .news_link{
		position:absolute;
		bottom: 4em;
		left:0;
		right:0;
		margin:auto;
		text-align:center;
	}
	body.home .news .news_col .news_title .news_link a{
		font-size:1rem;
	}
	body.home .news .news_col .news_title .news_link a:before{
		width:7px;
		height:7px;
	}
	.top_title{
		margin-bottom: 0;
	}
}
/*movie*/
body.home .movie{
	background:#f4f7f9;
	position:relative;
	padding-block:89px;
}
body.home .movie .movie_wrap{
	min-height:406px;
	padding:0;
}
body.home .movie .movie_wrap .top_title{
	float:left;
	width:31%;
	margin-right: 9%;
	margin-top: 3.5em;
}
body.home .movie .movie_wrap .movie_modal{
	float:right;
	width: 60%;
}
body.home .movie .movie_wrap .movie_modal a{
	display:block;
}
body.home .movie .movie_wrap .movie_modal img{
	max-width:100%;
	height:auto;
	border-radius:10px;
}
body.home .movie .movie_wrap .movie_txt{
	width: 32%;
}
body.home .movie .movie_wrap .movie_txt .movie_style{
	font-size:1.5rem;
	font-weight:bold;
	margin-bottom:1em;
	color:#033c62;
}
body.home .movie .movie_wrap .movie_txt  p{
	line-height:1.875;
}
@media screen and (max-width:1200px) {
	body.home .movie .movie_wrap .top_title{
		margin-top:3%;
		margin-right: 4%;
	}
	body.home .movie .movie_wrap .movie_modal{
		width:65%;
	}
}
@media screen and (max-width:1200px) {
	body.home .movie .movie_wrap .movie_txt .movie_style{
		font-size:1.25rem;
	}
	body.home .movie .movie_wrap{
		min-height: 34vw;
	}
}
@media screen and (max-width:767px) {
	body.home .movie{
		padding-block: 5em 3em;
	}
	body.home .movie .movie_wrap{
		min-height:0;
	}
	body.home .movie .movie_wrap .top_title{
		float:none;
		width:100%;
		margin-right:0;
		margin-top:0;
		margin-bottom: 1.5em;
	}
	body.home .movie .movie_wrap .movie_modal{
		float:none;
		width:100%;
		margin-bottom: 2em;
	}
	body.home .movie .movie_wrap .movie_modal img{
		border-radius:5px;
	}
	body.home .movie .movie_wrap .movie_txt{
		width:100%;
		text-align:center;
	}
	body.home .movie .movie_wrap .movie_txt .movie_style{
		font-size:1.29rem;
	}
}


/*information*/
body.home .information{
	position:relative;
	padding-block: 4.5em 6em;
	z-index: 15;
}
body.home .information:before{
	content:"";
	width: 186px;
	height: 77px;
	background: url(../img/top/deco-information.png) no-repeat center / contain;
	position:absolute;
	right: 4%;
	bottom: -18px;
}
body.home .information .information_col{
	display:flex;
	justify-content: center;
	align-items: stretch;
	gap: 6%;
	position:relative;
	margin-bottom: 3em;
}
body.home .information .information_col .information_left,
body.home .information .information_col .information_right{
	width:47%;
	position: relative;
}
body.home .information .information_col .information_left + .information_right:before{
	content:"";
	width: 2px;
	border-left: 2px dotted #969696;
	position:absolute;
	left: calc(-6% - 1px);
	top:0;
	bottom:0;
	margin:auto;
}
body.home .information .information_col .information_left .site_style02{
	margin-bottom:1em;
}
body.home .information .information_col .information_left .site_style02 span{
	font-size:0.875rem;
	font-weight:400;
	color:#333;
	margin-left:1em;
}
body.home .information .information_col .information_left .attendance-link{
	top:3%;
}
body.home .information .information_col .information_left .medical-table_wrap{
	margin-bottom:20px;
}
body.home .information .information_col .information_left .information_subject{
	background:#f4f7f9; 
	padding:22px;
}
body.home .information .information_col .information_left .information_subject .information_subject_style{
	font-size:1.125rem;
	font-weight:bold;
	color:#033c62;
	margin-bottom:0.5em;
}
body.home .information .information_col .information_left .information_subject p{
	font-size:1rem;
	font-weight:bold;
	line-height:1.875
}
body.home .information .information_col .information_left .information_subject p + p{
	margin-top:0.25em;
}
body.home .information .information_col .information_left .information_subject p span{
	font-size:0.875rem;
	font-weight:400;
}
body.home .information .information_col .information_right .banner_col{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
	gap:2%;
	margin-bottom:1.5em;
}
body.home .information .information_col .information_right .banner_col .banner_item{
	width: auto;
}
body.home .information .information_col .information_right .banner_col .banner_item img{
	max-width:100%;
	height:auto;
}
body.home .information .information_col .information_right .banner_col .banner_item a{
	display:block;
	transition:.5s opacity;
}
body.home .information .information_col .information_right p.information_right_text{
	font-size:1.125rem;
	margin-bottom: 0.75em;
}
body.home .information .information_col .information_right .btn_col{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	margin-bottom: 2em;
}
body.home .information .information_col .information_right .btn_col .tel-btn{
	width:33%;
	max-width:185px;
}
body.home .information .tel-btn p{
	text-align:center;
	margin-bottom:0.5em;
	font-weight: bold;
	color: #033c62;
	min-height:2.875em;
	display:flex;
	justify-content:center;
	align-items:center;
}
body.home .information .tel-btn a{
	position:relative;
	display:flex;
	justify-content:center;
	align-items:center;
	gap: 0.25em;
	width: 100%;
	max-width:390px;
	border-radius: 43px;
	color:#fff;
	background:#033c62;
	font-size:1.125rem;
	padding:10px;
	min-height: 2.834em;
	font-weight: 500;
	line-height: 1;
	text-decoration:none;
	font-family: "Lato", sans-serif;
	transition:background .4s,color .4s,transform .4s;
	pointer-events: none;
}
body.home .information .tel-btn a span{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5em;
	padding: 0;
}
body.home .information .tel-btn a i{
	width: 17px;
	height: fit-content;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	transition:filter .4s;
	filter:none;
}
body.home .information .information_right_txt p{
	line-height:1.75;
}
body.home .information .information_right_txt p b{
	color:#b8223e;
	font-size:1.125rem;
	font-weight: 500;
}
body.home .information .information_right_txt p a{
	color:#006699;
	text-decoration:underline;
	text-underline-offset:5px;
}
body.home .information .information_right_txt p a:hover{
	text-decoration:none;
}
body.home .information .information_right_txt p + p{
	margin-top: 2em;
}
body.home .information .information_btn_wrap{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	flex-wrap:wrap;
}
body.home .information .information_btn_wrap .information_btn_item{
	width:33%;
	max-width:370px;
}
@media (any-hover: hover) {
	body.home .information .information_col .information_right .banner_col .banner_item a:hover{
		opacity:0.7;
	}
	body.home .information .tel-btn a:hover{
		background-color: #e5eaed;
	}
	body.home .information .tel-btn a:hover{
		color:#033c62;
		background:#e5eaed;
	}
	body.home .information .tel-btn a:hover i{
		filter: brightness(0) saturate(100%) invert(49%) sepia(18%) saturate(1055%) hue-rotate(165deg) brightness(99%) contrast(95%);
	}
}
@media only screen and (max-width:1200px) {
	body.home .information .medical-table_wrap table th,
	body.home .information .medical-table_wrap table td{
		padding:10px 5px;
	}
	body.home .information .medical-table_wrap table thead{
		font-size:0.875rem;
	}
	body.home .information .information_col .information_left .information_subject p .display_pc{
		display:none;
	}
	body.home .information .tel-btn a{
		font-size:0.875rem;
	}
	body.home .information .information_col .information_right .btn_col{
		flex-wrap:wrap;
		justify-content: flex-start;
		gap: 1em 4%;
	}
	body.home .information .information_col .information_right .btn_col .tel-btn{
		width: 48%;
		max-width:100%;
	}
	body.home .information .information_col .information_right .banner_col .banner_item{
		width: 49%;
	}
}
@media screen and (max-width:768px) {
	body.home .information{
		padding-block: 3em 4.75em;
		z-index:20;
	}
	body.home .information:before{
		width:120px;
		height:50px;
		right: 5.15%;
		bottom: -12px;
		background-image: url(../img/top/deco-information_sp.png);
	}
	body.home .information .information_col{
		gap: 6em;
		margin-bottom: 2.5em;
		flex-wrap:wrap;
	}
	body.home .information .information_col .information_left,
	body.home .information .information_col .information_right{
		width:100%;
	}
	body.home .information .information_col .information_right .banner_col .banner_item{
		width:49%;
	}
	body.home .information .information_col .information_left + .information_right:before{
		width:auto;
		height:2px;
		border-left:none;
		border-top:2px dotted #969696;
		left:0;
		right:0;
		top: calc(-3em - 1px);
		bottom:auto;
	}
	body.home .information .information_col .site_style02{
		margin-bottom:1em;
		max-width: fit-content;
		margin: 0 auto 1em;
	}
	body.home .information .information_col .information_left .site_style02 span{
		font-size:0.875rem;
		margin-left:0;
		display:block;
		margin-top:0.25em;
	}
	body.home .information .information_col .information_left .attendance-link{
		top: 0;
		margin: 0 auto 2em;
	}
	body.home .information .information_col .information_left .information_subject{
		padding: 22px 15px;
	}
	body.home .information .information_col .information_left .information_subject .information_subject_style{
		font-size: 1.07rem;
		text-align: center;
	}
	body.home .information .information_col .information_left .information_subject p span{
		font-size: 0.93rem;
	}
	body.home .information .information_col .information_right p.information_right_text{
		font-size: 1rem;
		margin-bottom: 1.5em;
	}
	body.home .information .information_col .information_right .btn_col{
		justify-content: center;
	}
	body.home .information .information_col .information_right .btn_col .tel-btn{
		width: 100%;
		max-width: 270px;
	}
	body.home .information .tel-btn p{
		min-height:0;
	}
	body.home .information .tel-btn a{
		font-size: 1rem;
		min-height: 2.858em;
	}
	body.home .information .information_right_txt p b{
		font-size:1rem;
	}
	body.home .information .information_right_txt p + p{
		margin-top: 1.5em;
	}
	body.home .information .information_btn_wrap .information_btn_item{
		width: 30%;
		max-width:370px;
	}
	body.home .information .information_btn_wrap .common_btn a{
		font-size:1rem;
		min-height: 9.375em;
		padding: 5px;
	}
	body.home .information .information_btn_wrap .common_btn a:after{
		bottom: 0.5em;
		left:0;
		top:auto;
		width: 20px;
		height: 20px;
		background-size: 7px;
		right: 0;
	}
	body.home .information .information_btn_wrap .common_btn span{
		flex-wrap:wrap;
		padding: 0;
		padding-bottom: 1.5em;
	}
	body.home .information .information_btn_wrap .common_btn span i{
		display:flex;
		justify-content:center;
		align-items:center;
		height:35px;
	}
	body.home .information .information_btn_wrap .common_btn span i img{
		max-height: 35px;
	}
	body.home .information .medical-table_wrap table th,
	body.home .information .medical-table_wrap table td{
		padding:3px;
	}
	body.home .information .tel-btn a{
		pointer-events:auto;
	}

}

/*about*/
body.home .about{
	position:relative;
}
body.home .about .about_box{
	position:relative;
	max-width:1400px;
	margin:-14em auto 0;
	background: #84a9c9;
	padding: 100px 100px 70px;
	text-align:center;
	color:#fff;
}
body.home .about .about_box:before{
	content:"";
	width:118px;
	height:188px;
	background:url(../img/top/deco-about.png) no-repeat center / contain;
	position:absolute;
	left: 6.5%;
	top: 14%;
}
body.home .about .about_box .top_title .bg_title{
	color:#a5c2da;
	left: 50%;
	transform: translateX(-50%);
}
body.home .about .about_box .top_title .top_style{
	color:#fff;
	margin: 0 auto 1em;
}
body.home .about .about_box p{
	line-height: 1.75;
}
body.home .about .about_box p + p{
	margin-top: 1.5em;
}
body.home .about .about_box .about_btn_wrap{
	margin-top: 2.5em;
	display:flex;
	justify-content:space-between;
	align-items:stretch;
}
body.home .about .about_box .about_btn_wrap .about_btn_item{
	width:33%;
	max-width:370px;
}
body.home .about .about_box .about_btn_wrap .common_btn a{
	background:#fff;
	color:#333;
	border-color: #fff;
	min-height: 5em;
	font-weight: bold;
}
body.home .about .about_box .about_btn_wrap .common_btn a span{
	padding:0;
}
body.home .about .about_box .about_btn_wrap .common_btn a:after{
	right:12%;
}
@media (any-hover: hover) {
	body.home .about .about_box .about_btn_wrap .common_btn a:hover{
		background:#033c62;
		color:#fff;
	}
}
@media only screen and (max-width:1450px) {
	body.home .about .about_box{
		width:calc(100% - 30px)
	}
}
@media only screen and (max-width:1050px) {
	body.home .about .about_box{
		padding:70px 50px;
	}
	body.home .about .about_box:before{
		top:4%;
		left:2%;
	}
}
@media only screen and (max-width:768px) {
	body.home .about .about_box{
		margin-top:0;
		padding: 5em 15px 3em;
		width: 100%;
	}
	body.home .about .about_box p{
		text-align: center;
	}
	body.home .about .about_box:before{
		display:none;
	}
	body.home .about .about_box .top_title .bg_title{
		top: -0.625em;
	}
	body.home .about .about_box .about_btn_wrap .common_btn a{
		background:#fff;
		color:#333;
		border-color: #fff;
		font-size: 1rem;
		padding: 2px;
		text-align: center;
		min-height: 6.45em;
	}
	body.home .about .about_box .about_btn_wrap .common_btn a span{
		padding-bottom: 1.5em;
		padding-right: 0;
	}
	body.home .about .about_box .about_btn_wrap .common_btn a:after{
		width:20px;
		height:20px;
		background-size:7px;
		left:0;
		top:auto;
		bottom:20%;
		right: 0;
	}
	body.home .about .about_box .about_btn_wrap .about_btn_item{
		width: 30.15%;
		max-width:370px;
	}
}
/*about*/
body.home .philosophy{
	position:relative;
	padding-block: 7.5em 7em;
	z-index: 15;
}
body.home .philosophy:before{
	content:"";
	width:118px;
	height:188px;
	background:url(../img/top/deco-philosophy01.png) no-repeat center / contain;
	position:absolute;
	right:13%;
	top: 21%;
}
body.home .philosophy:after{
	content:"";
	width:208px;
	height:89px;
	background:url(../img/top/deco-philosophy02.png) no-repeat center / contain;
	position:absolute;
	left: 5.15%;
	bottom: -34px;
}
body.home .philosophy .philosophy_txt{
	position:relative;
	text-align:center;
	margin-bottom: 4em;
}
body.home .philosophy .philosophy_txt .top_title,
body.home .philosophy .philosophy_txt .top_style{
	margin: 0 auto 0.5em;
}
body.home .philosophy .philosophy_txt:before{
	content:"";
	width:118px;
	height:188px;
	background:url(../img/top/deco-about.png) no-repeat center / contain;
	position:absolute;
	left:6%;
	top:15%;
}
body.home .philosophy .philosophy_txt .top_title .bg_title{
	left: 50%;
	transform: translateX(-50%);
}
body.home .philosophy .philosophy_txt p{
	line-height: 1.875;
}
body.home .philosophy .philosophy_list{
	position:relative;
}
body.home .philosophy .philosophy_list .philosophy_col{
	display:flex;
	justify-content:center;
	align-items:stretch;
	flex-wrap:wrap;
	gap: 3em 27px;
	padding: 0;
}
body.home .philosophy .philosophy_list .philosophy_col .philosophy_item{
	width:18%;
	min-width:218px;
	padding: 0;
	list-style: none;
	background:#f4f7f9;
	text-align:center;
	padding: 45px 10px 30px;
	position:relative;
	display:flex;
	justify-content:center;
	align-items:center;
}
body.home .philosophy .philosophy_list .philosophy_col .philosophy_item .number{
	position:absolute;
	left:0;
	right:0;
	top:-1em;
	width:58px;
	height:58px;
	background:#84a9c9;
	color:#fff;
	font-size:1.75rem;
	display:flex;
	justify-content:center;
	align-items:center;
	border-radius:50%;
	margin:auto;
}
body.home .philosophy .philosophy_list .philosophy_col .philosophy_item .txt{
	line-height: 1.65;
}
@media only screen and (max-width:1200px) {
	body.home .philosophy .philosophy_list .philosophy_col{
		max-width:800px;
		margin:0 auto;
	}
	body.home .philosophy:before{
		right:5%;
	}
}
@media only screen and (max-width:768px) {
	body.home .philosophy{
		padding-block: 5em 4em;
	}
	body.home .philosophy:before,
	body.home .philosophy:after,
	body.home .philosophy .philosophy_txt:before{
		display:none;
	}
	body.home .philosophy .philosophy_txt{
		margin-bottom: 1.5em;
	}
	body.home .philosophy .philosophy_txt .top_title,
	body.home .philosophy .philosophy_txt .top_style{
		margin: 0 auto 1em;
	}
	body.home .philosophy .philosophy_list .philosophy_col{
		gap: 1em;
		padding: 0;
	}
	body.home .philosophy .philosophy_list .philosophy_col .philosophy_item{
		width:100%;
		min-width:0;
		padding:20px;
		gap: 15px;
	}
	body.home .philosophy .philosophy_list .philosophy_col .philosophy_item .number{
		position:relative;
		inset:0;
		width:40px;
		height:40px;
		font-size:1.43rem;
	}
	body.home .philosophy .philosophy_list .philosophy_col .philosophy_item .txt{
		width: calc(100% - 55px);
		text-align:left;
	}
}

/*message*/
body.home .message{
	position:relative;
	z-index:10;
	background:#f3f0de;
}
body.home .message .message_col{
	display:flex;
	justify-content:center;
	align-items:stretch;
}
body.home .message .message_image{
	position:relative;
	left: -14.5em;
	width: 30%;
}
body.home .message .message_txt{
	width:59.8%;
	margin-left:auto;
	padding-block: 104px 80px;
}
body.home .message .message_txt p{
	line-height:1.875;
}
body.home .message .message_txt p em{
	display:block;
	text-align:right;
	font-size:1.25rem;
	margin-top: 1em;
}
body.home .message .message_txt .top_title{
	margin-bottom:0.5em
}
body.home .message .message_txt .top_title .top_style{
	color:#333;
}
body.home .message .message_txt .top_title .bg_title{
	color:#fff;
}
@media only screen and (max-width:1500px) {
	body.home .message .message_txt{
		width:50%;
		padding-block: 80px 60px;
	}
	body.home .message .message_txt p{
		font-size:0.875rem;
		line-height: 1.75;
	}
	body.home .message .message_txt p em{
		font-size:1rem;
	}
	body.home .message .message_image{
		left:-8em;
	}
}
@media only screen and (max-width:1200px) {
	body.home .message .message_txt{
		width: 54%;
		padding-block:60px 40px;
	}
	body.home .message .message_image{
		left: -12em;
	}
}
@media only screen and (max-width:1060px) {
	body.home .message .message_txt{
		width: 50%;
	}
}
@media only screen and (max-width:1000px) {
	body.home .message .message_txt{
		width:45%;
	}
}
@media only screen and (max-width:768px) {
	body.home .message .message_col{
		flex-wrap:wrap;
	}
	body.home .message .message_inner{
		padding:0;
	}
	body.home .message .message_image{
		left:0;
		width:100%;
	}
	body.home .message .message_txt{
		width:100%;
		margin-left:0;
		padding: 75px 15px 30px;
	}
	body.home .message .message_txt p em{
		font-size:1.14rem;
	}
	body.home .message .message_txt .top_title .bg_title{
		top:-0.625em
	}
	body.home .message .message_txt .top_title{
		margin-bottom:1em;
	}
	body.home .message .message_txt p{
		font-size:1rem;
		line-height:1.875;
	}
}
/*gide*/
body.home .gide{
	position: relative;
	padding-block: 5em;
}
body.home .gide_col{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:5%;
}
body.home .gide_col + .gide_col{
	margin-top:3em;
}
body.home .gide_col .gide_txt{
	width:49%;
	max-width: 545px;
}
body.home .gide_col .gide_txt p{
	line-height:1.875;
}
body.home .gide_col .gide_image{
	width: 46%;
	position: relative;
}
body.home .gide_col .dog-deco:before{
	content:"";
	width:134px;
	height:174px;
	background:url(../img/top/deco-dog_park.jpg.png) no-repeat center / contain;
	position:absolute;
	right: -17%;
	bottom: -19%;
	z-index: 5;
}
body.home .gide_col .gide_image img{
	max-width:100%;
	height:auto;
}
body.home .gide_col .gide_txt .gide_style{
	font-size: 1.5rem;
	font-weight:bold;
	color:#033c62;
	margin-bottom:1em;
}
body.home .gide_col .gide_txt p + p{
	margin-top:2em;
}
body.home .gide_col:nth-child(even){
	flex-direction:row-reverse;
}
body.home .gide_text{
	text-align:center;
	line-height:1.875;
	margin-top:3.5em;
}
@media only screen and (max-width:768px) {
	body.home .gide{
		padding-block:4em;
	}
	body.home .gide_col{
		gap: 2em;
		flex-wrap:wrap;
	}
	body.home .gide_col + .gide_col{
		margin-top: 5em;
	}
	body.home .gide_col .gide_txt,
	body.home .gide_col .gide_image{
		width:100%;
	}
	body.home .gide_col .gide_txt .gide_style{
		font-size: 1.29rem;
		text-align:center;
	}
	body.home .gide_col .gide_txt p + p{
		margin-top:1.5em;
	}
	body.home .gide_col:nth-child(even){
		flex-direction:row-reverse;
	}
	body.home .gide_text{
		margin-top: 3em;
		text-align: left;
	}
	body.home .gide_col .dog-deco:before{
		width:68px;
		height:90px;
		right:3%;
		bottom: -27%;
	}
}

/*recruit*/
body.home .recruit{
	position:relative;
	margin-bottom: 4.5em;
}
body.home .recruit .recruit_box{
	max-width:1000px;
	margin:0 auto;
	display: block;
	text-decoration: none;
	position: relative;
}
body.home .recruit .recruit_box:before{
	content: "";
	width: 80px;
	height:80px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #f3db43;
	background-image: url(../img/common/icon-arrow.svg);
	background-size:25px;
	background-repeat: no-repeat;
	background-position: center;
	color: #fff;
	position: absolute;
	right: 4%;
	bottom:8%;
	font-weight: bold;
	font-size: 1.5rem;
	transition: .5s background-color;
	z-index: 5;
}
body.home .recruit .recruit_box .recruit_txt{
	position:absolute;
	top:0;
	bottom:0;
	left:7%;
	margin:auto;
	color:#fff;
	height:fit-content;
}
body.home .recruit .recruit_box .recruit_bg{
	overflow:hidden;
}
body.home .recruit .recruit_box .recruit_bg img{
	transition:.5s transform;
	max-width:100%;
	height:auto;
}
body.home .recruit .recruit_box .recruit_txt .recruit_style{
	font-size: 1.375rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 1.5em;
}
body.home .recruit .recruit_box .recruit_txt .recruit_style em{
	display:block;
	font-size:4.5rem;
	line-height: 1;
	margin-bottom: 0.25em;
}
body.home .recruit .recruit_box .recruit_txt p{
	line-height:1.875;
}
@media (any-hover: hover) {
	body.home .recruit .recruit_box:hover .recruit_bg img{
		transform:scale(1.05);
	}
}
@media only screen and (max-width:900px) {
	body.home .recruit .recruit_box .recruit_txt .recruit_style{
		font-size: 1.25rem;
	}
	body.home .recruit .recruit_box .recruit_txt .recruit_style em{
		font-size:3rem;
	}
}
@media only screen and (max-width:768px) {
	body.home .recruit{
		margin-bottom: 5.5em;
	}
	body.home .recruit .recruit_box:before{
		width: 40px;
		height:40px;
		background-size:12px;
		right:0;
		left:0;
		bottom:8%;
		margin:auto;
	}
	body.home .recruit .recruit_box .recruit_txt{
		inset:0;
		margin:auto;
		height:fit-content;
		width:fit-content;
		padding-bottom: 3em;
	}
	body.home .recruit .recruit_box .recruit_txt .recruit_style{
		font-size: 1.29rem;
		margin-bottom: 1em;
		text-align:center;
	}
	body.home .recruit .recruit_box .recruit_txt .recruit_style em{
		font-size:3.14rem;
		text-align:center;
		letter-spacing: 0.05em;
	}
	body.home .recruit .recruit_box .recruit_txt p{
		text-align:center;
		
	}
}
/*other_info*/
body.home .other_info{
	position:relative;
	margin-bottom:40px;
}
body.home .other_info .other_col{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	gap:6%;
}
body.home .other_info .other_col .other_info_item{
	width:47%;
	position: relative;
	padding-block:1.5em;
}
body.home .other_info .other_col .other_info_item + .other_info_item:before{
	content:"";
	width: 2px;
	border-left: 2px dotted #969696;
	position:absolute;
	left: calc(-6% - 2px);
	top:0;
	bottom:0;
	margin:auto;
}
body.home .other_info .other_col .other_info_item .other_style{
	font-size: 1.25rem;
	font-weight:bold;
	color:#033c62;
	margin-bottom:0.5em;
}
body.home .other_info .other_col .other_info_item > p{
	margin-bottom:1em;
}
body.home .other_info .other_col .other_info_item p{
	font-size: 0.875rem;
	line-height:1.6;
}
body.home .other_info .other_col .other_info_item .insurance_col{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:0.25em;
}
body.home .other_info .other_col .other_info_item .insurance_col .insurance_item a{
	display:block;
	transition:.5s opacity;
}
body.home .other_info .other_col .other_info_item .insurance_col .insurance_item a img{
	max-width:100%;
	height:auto;
}
body.home .other_info .other_col .other_info_item a{
	display:block;
	transition:.5s opacity;
}
body.home .other_info .other_col .other_info_item .shop_col{
	display:flex;
	justify-content:space-between;
	align-items: center;
	gap:1em;
}
@media (any-hover: hover) {
	body.home .other_info .other_col .other_info_item a:hover{
		opacity:0.7;
	}
}
@media only screen and (max-width:1200px) {
	body.home .other_info .other_col .other_info_item .insurance_col{
		justify-content:flex-start;
		gap:1em;
		flex-wrap: wrap;
	}
	body.home .other_info .other_col .other_info_item .shop_col{
		flex-wrap:wrap;
	}
}
@media only screen and (max-width:768px) {
	body.home .other_info{
		margin-bottom: 65px;
	}
	body.home .other_info .other_col{
		flex-wrap:wrap;
		gap:6em;
	}
	body.home .other_info .other_col .other_info_item{
		width:100%;
		padding-block:0;
	}
	body.home .other_info .other_col .other_info_item + .other_info_item:before{
		width:auto;
		height:2px;
		border-left:none;
		border-top:2px dotted #969696;
		left:0;
		right:0;
		top: calc(-3em - 1px);
		bottom:auto;
	}
	body.home .other_info .other_col .other_info_item .other_style{
		font-size: 1.29rem;
		text-align:center;
	}
	body.home .other_info .other_col .other_info_item > p{
		margin-bottom:1em;
	}
	body.home .other_info .other_col .other_info_item p{
		font-size:1rem;
		text-align: center;
		margin-bottom: 1.5em;
	}
	body.home .other_info .other_col .other_info_item .insurance_col{
		flex-wrap:nowrap;
	}
	body.home .other_info .other_col .other_info_item .shop_col{
		justify-content:center;
		flex-wrap: wrap;
	}
	body.home .other_info .other_col .other_info_item .shop_col .shop_image{
		width: 39.859%;
	}
	body.home .other_info .other_col .other_info_item .shop_col p{
		text-align:left;
		margin-bottom: 0;
	}
}




















/* footer
-------------------------------------------------------------------*/
#pageTop {
	position: fixed;
	bottom: 15px;
	right: 5%;
	width: 70px;
	z-index: 500;
	transition:bottom .4s;
}
footer.on ~ * #pageTop {
	bottom: 20px;
}
footer{
	background: #f4f7f9;
	padding-block: 5em 4em;
}
footer .foot-top{
	display:flex;
	justify-content:space-between;
	align-items:stretch;
	gap:4%;
	margin-bottom: 4.5em;
}
footer .foot-top .foot-left{
	width: 49%;
}
footer .foot-top .foot-right{
	width: 44.17%;
}
footer .foot-top .foot-left .foot-logo{
	margin-bottom: 1em;
}
footer .foot-top .foot-left .foot-tel{
	margin-bottom: 3em;
	margin-left: 1em;
}
footer .foot-top .foot-left .foot-tel a{
	font-size:2.125rem;
	font-weight:bold;
	color:#033c62;
	text-decoration:none;
	pointer-events:none;
	line-height: 1;
}
footer .foot-top .foot-left .foot-tel a span{
	font-size:2.875rem;
	margin-left:0.125em;
}
.medical-table{
	position:relative;
	z-index:5;
}
.medical-style{
	font-size:1.25rem;
	font-weight:bold;
	color:#033c62;
	margin-bottom: 0.5em;
	display: block;
}
.medical-table .medical-style span{
	font-size:0.875rem;
	font-weight:400;
	color:#333;
	margin-left:1em;
}
.attendance-link{
	position:absolute;
	right:0;
	top:0;
}
.attendance-link a{
	color:#006699;
	position:relative;
	padding-left:1.5em;
	display: block;
	text-decoration:none;
}
.attendance-link a:before{
	content:"";
	width:16px;
	height:14px;
	background:url(../img/common/icon-table.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
}
.attendance-link a:after{
	content:"";
	width:100%;
	height:1px;
	background:#006699;
	position:absolute;
	left:0;
	right:0;
	bottom:-3px;
	margin:auto;
	transition:.5s transform;
	transform:scale(1,1);
	transform-origin:left top;
}
.medical-ann{
	font-size:0.875rem;
	margin-bottom:1.5rem;
}
.instagram-banner a{
	display:inline-block;
	transition:.5s opacity;
}
footer .foot-top .foot-right .foot-map{
	margin-bottom:1em;
}
footer .foot-top .foot-right .foot-map iframe{
	height:336px;
}
footer .foot-top .foot-right .foot-access .foot-adress{
	font-size:1.125rem;
	margin-bottom:1em;
	display:block;
}
footer .foot-top .foot-right .foot-list{
	font-size:0.875rem;
}
footer .foot-top .foot-right .foot-list li + li{
	margin-top:0.5em;
}
footer .foot-top .foot-right .foot-list li{
	padding-left: 1.125em;
	position: relative;
}
footer .foot-top .foot-right .foot-list li:before{
	content:"";
	aspect-ratio:1/1;
	width:1em;
	background:#728fa7;
	border-radius:50%;
	position:absolute;
	left:0;
	top: 0.25em;
	margin:auto;
}
footer .foot-top .foot-right .medical-style{
	margin-bottom:0.5em;
}
footer .foot-top .foot-right .foot-parking{
	margin-top:1.5em;
	padding-top:1.5em;
	border-top:2px dotted #a8a9a9;
}
footer .foot-top .foot-right .foot-parking p{
	font-size:0.875rem;
}
footer .foot-top .foot-right .foot-parking p em{
	font-size:1rem;
	font-weight:bold;
	color:#476d8c;
}
footer small{
	font-size:0.75rem;
	display: block;
	text-align: center;
}
main a.page_link {
	margin-top: -60px;
	padding-top: 60px;
	display: block;
	position:relative;
	z-index:-10;
}
@media (any-hover: hover) {
	.attendance-link a:hover:after{
		transform:scale(0,1);
		transform-origin:right top;
	}
	.instagram-banner a:hover{
		opacity:0.7;
	}
}
@media screen and (max-width:767px) {
	#pageTop {
	    width: 49px;
		right:10px;
		bottom:10px;
	}
	footer.on ~ * #pageTop{
		bottom:50px;
	}
	footer{ padding:30px 0;}
	footer .foot-top .foot-left .foot-tel a{
		font-size:2.125rem;
		pointer-events:auto;
	}
	footer .foot-top{
		gap: 3.25em;
		margin-bottom: 4em;
		flex-wrap: wrap;
	}
	footer .foot-top .foot-left,
	footer .foot-top .foot-right{
		width:100%;
	}
	footer .foot-top .foot-left .foot-logo{
		width: 74.5%;
	}
	footer .foot-top .foot-left .foot-tel{
		margin-bottom: 1.5em;
		margin-left: 0;
	}
	footer .foot-top .foot-left .foot-tel a{
		font-size: 1.357rem;
	}
	footer .foot-top .foot-left .foot-tel a span{
		font-size: 1.92rem;
	}
	.attendance-link{
		position:relative;
		max-width:fit-content;
		margin-bottom:2em;
	}
	.medical-ann{
		font-size:0.93rem;
		margin-bottom:1.5rem;
	}
	.medical-ann p{
		line-height:1.875;
	}
	footer .foot-top .foot-right .foot-map iframe{
		height:168px;
	}
	footer .foot-top .foot-right .foot-access .foot-adress{
		font-size:1.07rem;
	}
	footer .foot-top .foot-right .foot-list{
		font-size:1.07rem;
	}
	footer .foot-top .foot-right .foot-parking p{
		font-size:1rem;
	}
}