@charset "utf-8";
/*
 * サイト共通装飾に関する共通のCSS
 */

/* ヘッダlayout */
#c_header{
	position: fixed;
	background: white;
	border-bottom: 1px solid #ccc;
	display: table;
	width: 100%;
	height: 60px;
	z-index: 30;
}
#c_header .header_h1{
	display: table-cell;
	padding-left: 2%;
	width: 20%;
	vertical-align: middle;
}
#c_header .header_nav{
	position: relative;
	display: table-cell;
	padding-right: 200px;
	vertical-align: middle;
}

.c_header-menu{
	display: -webkit-flex;
	display: flex;
	justify-content: flex-end;
}
.c_header-menu li{
	overflow: hidden;
	padding-right: 30px;
}
.c_header-menu li a{
	overflow: hidden;
	display: block;
	position: relative;
	background: transparent;
	padding: 6px 10px;
	font-family: 'Noto Serif JP', sans-serif;
	color: #333333;
	z-index: 1;
	transition: .3s;
}
.c_header-menu li a::before{
	content: "";
	bottom: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	border-bottom: #0f5474 solid 2px;
	border-left: #0f5474 solid 2px;
	border-right: #0f5474 solid 2px;
	width: 100%;
	height: 5px;
	z-index: -1;
	transform-origin: 50% 100%;
	transform: scaleY(0);
	transition: transform ease .3s;
}
.c_header-menu li a:hover{
	color: #333333;
	text-decoration: none;
}
.c_header-menu li a:hover::before{
	transform-origin: 50% 100%;
	transform: scaleY(1);
}
.c_header-menu li .active::before{
	transform: scaleY(1);
}

.c_header-bn{
	overflow: hidden;
	position: absolute;
	top: 0px;
	right: 0px;
	display: block;
	width: 200px;
	height: 60px;
}
.c_header-bn a{
	overflow: hidden;
	display: block;
	position: relative;
	background: transparent;
	background-color: #e68b40;
	padding: 0 0 0 20px;
	height: 100%;
	font-family: 'Noto Serif JP', sans-serif;
	font-size: 18px;
	color: white;
	line-height: 60px;
	z-index: 1;
	transition: .3s;
}
.c_header-bn a .bt_txt{
	position: relative;
	z-index: 3;
}
.c_header-bn a .bn_img{
	position: absolute;
	top: 0px;
	right: 0px;
	background-image: url(../img/header-footer/h_bn-img.png);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: auto 98%;
	width: 100%;
	height: 100%;
	z-index: 2;
}
.c_header-bn a::before{
	content: "";
	top: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
	background-color: #9d4f0e;
	width: 100%;
	height: 100%;
	z-index: -1;
	transform-origin: 100% 50%;
	transform: scaleX(0);
	transition: transform ease .3s;
}
.c_header-bn a:hover{
	color: #fff;
	text-decoration: none;
}
.c_header-bn a:hover::before{
	transform-origin: 0% 50%;
	transform: scaleX(1);
}
@media screen and (min-width: 768px) and (max-width: 1109px) {
	#c_header .header_h1{
		width: 18%;
	}
	#c_header .header_nav{
		padding-right: 160px;
	}
	
	.c_header-menu li{
		padding-right: 18px;
	}
	.c_header-menu li a{
		padding: 6px 8px;
		font-size: 15px;
	}

	.c_header-bn{
		width: 160px;
	}
	.c_header-bn a{
		padding: 0 0 0 15px;
		font-size: 16px;
	}
}
@media print{
	#c_header{
		position: relative;
	}
	#c_header .header_h1{
		width: 16%;
	}
	#c_header .header_nav{
		padding-right: 130px;
	}
	
	.c_header-menu li{
		padding-right: 12px;
	}
	.c_header-menu li a{
		padding: 6px 5px;
		font-size: 13px;
	}

	.c_header-bn{
		width: 130px;
	}
	.c_header-bn a{
		padding: 0 0 0 10px;
		font-size: 14px;
	}
}
@media screen and (max-width: 767px) {
	#c_header{
		display: none;
	}
}


/* 下層ページヘッダlayout */
.c_promo{
	overflow: hidden;
	position: relative;
}

.c_promo-main{
	text-align: center;
}
.c_promo-main .main{
	position: absolute;
	top: 180px;
	left: 0px;
	width: 100%;
	font-size: 46px;
	font-weight: 400;
	color: white;
	text-shadow:0 0 6px #282828;
	letter-spacing: 0.08em;
	z-index: 3;
}
.c_promo-main .main span{
	position: relative;
	display: inline-block;	
}
.c_promo-main .main span::before{
	content: '';
	position: absolute;
	top: 50%;
	left: -60px;
	display: block;
	background-color: white;
	border-radius: 100px;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	width: 40px;
	height: 4px;
}
.c_promo-main .main span::after{
	content: '';
	position: absolute;
	top: 50%;
	right: -60px;
	display: block;
	background-color: white;
	border-radius: 100px;
	-webkit-border-radius: 100px;
	-moz-border-radius: 100px;
	width: 40px;
	height: 4px;
}

.c_promo-main .sub{
	position: absolute;
	bottom: -20px;
	left: 0px;
	margin: 0;
	width: 100%;
	z-index: 3;
}
.c_promo-main .sub span{
	opacity: 0.4;
	font-family: "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
	font-size: 140px;
	font-weight: bold;
	color: white;
	letter-spacing: 0.1em;
	line-height: 1;
}

.c_promo-main .photo{
	margin: 0;
	width: 100%;
	height: 400px;
}
.c_promo-main .photo img{
	width: 100%;
	height: 400px;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
@media screen and (min-width: 1110px) and (max-width: 1570px) {
	.c_promo-main .sub span{
		font-size: 8vw;
	}
}
@media screen and (min-width: 768px) and (max-width: 1109px) {
	.c_promo-main .main{
		top: 140px;
		font-size: 40px;
	}
	.c_promo-main .main span::before{
		left: -45px;
		width: 30px;
	}
	.c_promo-main .main span::after{
		right: -45px;
		width: 30px;
	}
	
	.c_promo-main .sub{
		bottom: -10px;
	}
	.c_promo-main .sub span{
		font-size: 9vw;
	}
	
	.c_promo-main .photo{
		height: 320px;
	}
	.c_promo-main .photo img{
		height: 320px;
	}
}
@media print{
	.c_promo-main .main{
		top: 140px;
		font-size: 40px;
	}
	.c_promo-main .main span::before{
		left: -45px;
		width: 30px;
	}
	.c_promo-main .main span::after{
		right: -45px;
		width: 30px;
	}
	
	.c_promo-main .sub{
		bottom: -10px;
	}
	.c_promo-main .sub span{
		font-size: 9vw;
	}
	
	.c_promo-main .photo{
		height: 320px;
	}
	.c_promo-main .photo img{
		height: 320px;
	}
}
@media screen and (max-width: 767px) {
	.c_promo{
		padding-top: 54px;
	}

	.c_promo-main .main{
		position: absolute;
		top: 120px;
		font-size: 26px;
	}
	.c_promo-main .main span::before{
		left: -30px;
		width: 20px;
		height: 3px;
	}
	.c_promo-main .main span::after{
		right: -30px;
		width: 20px;
		height: 3px;
	}

	.c_promo-main .sub{
		bottom: 56px;
	}
	.c_promo-main .sub span{
		font-size: 26px;
	}
	
	.c_promo-main .photo{
		height: 200px;
	}
	.c_promo-main .photo img{
		height: 200px;
	}
}


/* パンくずリストlayout */
.c_pankuzu{
	display: -webkit-flex;
	display: flex;
	justify-content: flex-end;
	padding: 0 2%;
}
.c_pankuzu li{
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	.c_pankuzu li{
		font-size: 13px;
	}
}


/* お問い合わせlayout */
.c_contact{
	background-image: url(../img/common/contact_bg.jpg);
	background-position: center center;
	background-size: cover;
	padding: 80px 0;
	text-align: center;
}

.c_contact-txt01{
	position: relative;
	display: inline-block;
	padding-bottom: 32px;
	margin-bottom: 30px;
	font-family: 'Noto Serif JP', sans-serif;
	font-size: 28px;
	font-weight: 700;
	color: white;
	letter-spacing: 0.08em;
	text-shadow:0 0 7px #333333;
}
.c_contact-txt01::before{
	content: '';
	position: absolute;
	bottom: 0px;
	left: 25%;
	display: block;
	background-color: white;
	width: 50%;
	height: 2px;
	box-shadow:0 0 7px #333333;
}

.c_contact-con01{
	display: table;
}
.c_contact-con01 .con01_phone{
	display: table-cell;
	width: 50%;
	vertical-align: middle;
}
.c_contact-con01 .con01_mail{
	display: table-cell;
	width: 50%;
	vertical-align: middle;
}

.c_contact-dial{
	display: table;
	margin: 0 auto;
}
.c_contact-dial .ic{
	display: table-cell;
	padding-right: 10px;
	vertical-align: middle;
}
.c_contact-dial .phone{
	display: table-cell;
	color: white;
	text-align: left;
	vertical-align: middle;
}
.c_contact-dial .phone .dial{
	font-size: 50px;
	font-weight: 700;
	color: white;
	letter-spacing: 0.08em;
	line-height: 1.2;
}

.c_contact-bt{
	margin: 0 30px;
}
@media screen and (min-width: 768px) and (max-width: 1109px) {
	.c_contact{
		padding: 60px 0;
	}
	
	.c_contact-txt01{
		font-size: 22px;
	}

	.c_contact-dial .ic img{
		width: 54px;
	}
	.c_contact-dial .phone{
		font-size: 12px;
	}
	.c_contact-dial .phone .dial{
		font-size: 37px;
	}
	
	.c_contact-bt{
		margin: 0 20px;
	}
}
@media print{
	.c_contact{
		padding: 60px 0;
	}
	
	.c_contact-txt01{
		font-size: 19px;
	}

	.c_contact-dial .ic img{
		width: 46px;
	}
	.c_contact-dial .phone{
		font-size: 9px;
	}
	.c_contact-dial .phone .dial{
		font-size: 28px;
	}
	
	.c_contact-bt{
		margin: 0 20px;
	}
}
@media screen and (max-width: 767px) {
	.c_contact{
		padding: 40px 0;
	}
	
	.c_contact-txt01{
		padding-bottom: 22px;
		margin-bottom: 20px;
		font-size: 18px;
	}
	
	.c_contact-con01{
		display: block;
	}
	.c_contact-con01 .con01_phone{
		display: block;
		margin-bottom: 20px;
		width: auto;
	}
	.c_contact-con01 .con01_mail{
		display: block;
		width: auto;
	}
	
	.c_contact-dial .ic img{
		width: 42px;
	}
	.c_contact-dial .phone{
		font-size: 12px;
	}
	.c_contact-dial .phone .dial{
		font-size: 22px;
	}
	
	.c_contact-bt{
		margin: 0;
	}
}


/* フッタlayout */
.c_footer{
	background-color: #0f5474;
}

.c_footer-con01{
	display: table;
	padding: 80px 0;
	color: white;
}
.c_footer-con01 .con01_left{
	display: table-cell;
	width: 400px;
	vertical-align: top;
}
.c_footer-con01 .con01_right{
	display: table-cell;
	padding-left: 30px;
	vertical-align: top;
}

.c_footer-con01 .con01_left .con01_logo{
	line-height: 0;
}

.c_footer-nav{
	padding: 15px 0;
	color: white;
}
.c_footer-menu{
	overflow: hidden;
}
.c_footer-menu .menu_01{
	float: left;
	width: 30%;
}
.c_footer-menu .menu_02{
	float: left;
	width: 30%;
}
.c_footer-menu .menu_03{
	float: left;
	width: 40%;
}

.c_footer-txt01{
	margin-bottom: 6px;
}
.c_footer-txt01 a{
	font-size: 14px;
	color: white;
}

.c_footer-list01{
	overflow: hidden;
	font-size: 14px;
}
.c_footer-list01 li{
	margin-bottom: 6px;
}
.c_footer-list01 li:last-child{
	margin-bottom: 0px;
}
.c_footer-list01 li a{
	color: white;
}

.c_footer-list02{
	overflow: hidden;
	font-size: 14px;
}
.c_footer-list02 li{
	position: relative;
	padding-left: 8px;
	margin-bottom: 6px;
}
.c_footer-list02 li::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	background-color: white;
	margin-top: -1px;
	width: 4px;
	height: 1px;
}
.c_footer-list02 li:last-child{
	margin-bottom: 0px;
}
.c_footer-list02 li a{
	color: white;
}

.c_footer-list03{
	overflow: hidden;
	font-size: 14px;
}
.c_footer-list03 li{
	margin-bottom: 6px;
}
.c_footer-list03 li:last-child{
	margin-bottom: 0px;
}
.c_footer-list03 li a{
	color: white;
}

.c_footer-list04{
	overflow: hidden;
	font-size: 14px;
}
.c_footer-list04 li{
	position: relative;
	padding-left: 8px;
	margin-bottom: 6px;
}
.c_footer-list04 li::before{
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	display: block;
	background-color: white;
	margin-top: -1px;
	width: 4px;
	height: 1px;
}
.c_footer-list04 li:last-child{
	margin-bottom: 0px;
}
.c_footer-list04 li a{
	color: white;
}

.c_copy{
	padding-bottom: 40px;
	margin: 0;
	font-size: 14px;
	color: white;
	text-align: center;
}
@media screen and (min-width: 768px) and (max-width: 1109px) {
	.c_footer-con01{
		padding: 60px 0;
	}
	.c_footer-con01 .con01_left{
		width: 42%;
	}
	.c_footer-con01 .con01_right{
		padding-left: 20px;
	}
	
	.c_footer-con01 .con01_left .con01_logo img{
		width: 220px;
	}
	
	.c_footer-nav{
		padding: 15px;
	}
	.c_footer-menu .menu_01{
		float: none;
		width: 100%;
	}
	.c_footer-menu .menu_02{
		width: 35%;
	}
	.c_footer-menu .menu_03{
		width: 65%;
	}
	
	.c_footer-txt01 a{
		font-size: 13px;
	}

	.c_footer-list01{
		border-bottom: white solid 1px;
		padding-bottom: 11px;
		font-size: 13px;
	}
	.c_footer-list01 li{
		float: left;
		width: 33.3%;
	}
	.c_footer-list01 li:last-child{
		margin-bottom: 6px;
	}

	.c_footer-list02{
		font-size: 13px;
	}	

	.c_footer-list03{
		font-size: 13px;
	}

	.c_footer-list04{
		font-size: 13px;
	}	
	
	.c_copy{
		font-size: 13px;
	}
}
@media print{
	.c_footer-con01{
		padding: 60px 0;
	}
	.c_footer-con01 .con01_left{
		width: 40%;
	}
	.c_footer-con01 .con01_right{
		padding-left: 10px;
	}

	.c_footer-con01 .con01_left .con01_logo img{
		width: 200px;
	}

	.c_footer-nav{
		padding: 10px;
	}
	.c_footer-menu .menu_01{
		float: none;
		width: 100%;
	}
	.c_footer-menu .menu_02{
		width: 35%;
	}
	.c_footer-menu .menu_03{
		width: 65%;
	}
	
	.c_footer-txt01 a{
		font-size: 11px;
	}

	.c_footer-list01{
		border-bottom: white solid 1px;
		padding-bottom: 11px;
		font-size: 11px;
	}
	.c_footer-list01 li{
		float: left;
		width: 33.3%;
	}
	.c_footer-list01 li:last-child{
		margin-bottom: 6px;
	}

	.c_footer-list02{
		font-size: 11px;
	}	

	.c_footer-list03{
		font-size: 11px;
	}

	.c_footer-list04{
		font-size: 11px;
	}	
	
	.c_copy{
		font-size: 11px;
	}
}
@media screen and (max-width: 767px) {
	.c_footer-con01{
		display: block;
		padding: 40px 0;
	}
	.c_footer-con01 .con01_left{
		display: block;
		margin-bottom: 20px;
		width: auto;
	}
	.c_footer-con01 .con01_right{
		display: block;
		padding-left: 0px;
	}

	.c_footer-con01 .con01_left .con01_logo img{
		width: 220px;
	}

	.c_footer-nav{
		padding: 0px;
	}
	.c_footer-menu .menu_01{
		float: none;
		width: auto;
	}
	.c_footer-menu .menu_02{
		float: none;
		width: auto;
	}
	.c_footer-menu .menu_03{
		float: none;
		width: auto;
	}
	
	.c_footer-txt01{
		margin: 0;
	}
	.c_footer-txt01 a{
		display: block;
		background-color: white;
		padding: 10px 0 6px 0;
		font-size: 15px;
		color: #0f5474;
		text-align: center;
		pointer-events:none;
	}
	
	.c_footer-list01{
		font-size: 14px;
	}
	.c_footer-list01 li{
		float: left;
		border-bottom: white solid 1px;
		width: 50%;
		margin-bottom: 0px;
	}
	.c_footer-list01 li:first-child{
		width: 100%;
	}
	.c_footer-list01 li a{
		display: block;
		padding: 8px 0;
		text-align: center;
	}
	.c_footer-list01 li:nth-child(2n) a{
		border-right: white solid 1px;
	}

	.c_footer-list02{
		font-size: 14px;
	}
	.c_footer-list02 li{
		overflow: hidden;
		float: left;
		border-bottom: white solid 1px;
		padding: 0;
		margin: 0;
		width: 50%;
	}
	.c_footer-list02 li::before{
		display: none;
	}
	.c_footer-list02 li a{
		display: block;
		padding: 8px 0;
		margin: 0;
		text-align: center;
	}
	.c_footer-list02 li:nth-child(2n) a{
		border-left: white solid 1px;
	}
	
	.c_footer-list03{
		font-size: 14px;
	}
	.c_footer-list03 li{
		float: left;
		border-bottom: white solid 1px;
		width: 50%;
		margin-bottom: 0px;
	}
	.c_footer-list03 li a{
		display: block;
		padding: 8px 0;
		text-align: center;
	}
	.c_footer-list03 li:nth-child(2n) a{
		border-left: white solid 1px;
	}

	.c_footer-list04{
		font-size: 14px;
	}
	.c_footer-list04 li{
		overflow: hidden;
		float: left;
		border-bottom: white solid 1px;
		padding: 0;
		margin: 0;
		width: 100%;
	}
	.c_footer-list04 li::before{
		display: none;
	}
	.c_footer-list04 li a{
		display: block;
		padding: 8px 0;
		margin: 0;
		text-align: center;
	}

	.c_copy{
		font-size: 13px;
	}
}


/* パターンlayout */
.c_lay-temp01{/* 写真左・テキスト右 */
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.c_lay-temp01 .temp01_text{
	padding-left: 585px;
}

.c_lay-temp01 .temp01_img{
	position: absolute;
	top: 0px;
	left: 50%;
	margin-left: -1000px;
	z-index: 3;
}
.c_lay-temp01 .temp01_img .img_size{
	margin: 0;
	width: 100%;
	height: 500px;
}
.c_lay-temp01 .temp01_img .img_size img{
	width: 100%;
	height: 500px;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

.c_lay-temp01 .temp01_text .text_box{
	position: relative;
	height: 460px;
	color: white;
}
.c_lay-temp01 .temp01_text .text_box::before{
	content: '';
	position: absolute;
	display: block;
	background-color: #0f5474;
	margin-left: -15%;
	width: 115%;
	height: 100%;
	z-index: -1;
}
.c_lay-temp01 .temp01_text .text_box .box_in{
	padding: 30px 30px 30px 0;
}

.c_lay-temp01 .temp01_move01{/* アニメ前の配置 */
	opacity: 0;
}
.c_lay-temp01 .temp01_move02{
	opacity: 0;
}
.c_lay-temp01 .temp01_move03{
	opacity: 0;
}
.c_lay-temp01 .temp01_move01.is-animated{/* アニメ後の動き */
	position: absolute;
	z-index: -2;
	animation: temp01_anime01 3s both;
}
.c_lay-temp01 .temp01_move02.is-animated{
	position: absolute;
	z-index: -2;
	animation: temp01_anime02 3s both;
}
.c_lay-temp01 .temp01_move03.is-animated{
	position: absolute;
	z-index: -2;
	animation: temp01_anime03 3s both;
}
@media screen and (min-width: 1110px) {
	@keyframes temp01_anime01{  
		20%{
			top: 0%;
			right: 2%;
			opacity: 0;
		}
		100%{
			top: 0%;
			right: 2%;
			opacity: 0.7;
		}
	}
	@keyframes temp01_anime02{  
		20%{
			top: 0%;
			right: 46%;
			opacity: 0;
		}
		100%{
			top: 14%;
			right: 6%;
			opacity: 0.7;
		}
	}
	@keyframes temp01_anime03{  
		20%{
			top: 80%;
			right: -100%;
			opacity: 0;
		}
		100%{
			top: 30%;
			right: -2%;
			opacity: 0.7;
		}
	}
}
@media screen and (min-width: 768px) and (max-width: 1109px) {
	.c_lay-temp01 .temp01_text{
		padding-left: 50%;
	}
	
	.c_lay-temp01 .temp01_img{
		position: absolute;
		top: 0px;
		left: 0%;
		margin-left: 0px;
		width: 50%;
	}
	.c_lay-temp01 .temp01_img .img_size{
		height: 460px;
	}
	.c_lay-temp01 .temp01_img .img_size img{
		height: 460px;
	}
	
	.c_lay-temp01 .temp01_text .text_box{
		height: 480px;
	}
	.c_lay-temp01 .temp01_text .text_box .box_in{
		padding: 20px 20px 20px 0;
	}

	@keyframes temp01_anime01{  
		20%{
			bottom: 0%;
			left: 2%;
			opacity: 0;
			z-index: 6;
		}
		100%{
			bottom: 0%;
			left: 2%;
			opacity: 0.7;
			z-index: 6;
		}
	}
	@keyframes temp01_anime02{  
		20%{
			bottom: 0%;
			left: 46%;
			opacity: 0;
			z-index: 6;
		}
		100%{
			bottom: 6%;
			left: 12%;
			opacity: 0.7;
			z-index: 6;
		}
	}
	@keyframes temp01_anime03{  
		20%{
			bottom: 80%;
			left: -100%;
			opacity: 0;
			z-index: 6;
		}
		100%{
			bottom: 12%;
			left: -2%;
			opacity: 0.7;
			z-index: 6;
		}
	}
}
@media print{
	.c_lay-temp01 .temp01_text{
		padding-left: 50%;
	}
	
	.c_lay-temp01 .temp01_img{
		position: absolute;
		top: 0px;
		left: 0%;
		margin-left: 0px;
		width: 50%;
	}
	.c_lay-temp01 .temp01_img .img_size{
		height: 460px;
	}
	.c_lay-temp01 .temp01_img .img_size img{
		height: 460px;
	}
	
	.c_lay-temp01 .temp01_text .text_box{
		height: 480px;
	}
	.c_lay-temp01 .temp01_text .text_box .box_in{
		padding: 15px 15px 15px 0;
	}
}
@media screen and (max-width: 767px) {
	.c_lay-temp01 .temp01_text{
		padding-left: 0px;
	}
	
	.c_lay-temp01 .temp01_img{
		position: static;
		margin-left: 0px;
	}
	.c_lay-temp01 .temp01_img .img_size{
		height: 240px;
	}
	.c_lay-temp01 .temp01_img .img_size img{
		height: 240px;
	}
	
	.c_lay-temp01 .temp01_text .text_box{
		height: auto;
	}
	.c_lay-temp01 .temp01_text .text_box::before{
		margin-left: -10%;
		width: 120%;
	}
	.c_lay-temp01 .temp01_text .text_box .box_in{
		padding: 15px 0;
	}

	@keyframes temp01_anime01{  
		20%{
			top: 0%;
			right: 2%;
			opacity: 0;
		}
		100%{
			top: 0%;
			right: 2%;
			opacity: 0.7;
		}
	}
	@keyframes temp01_anime02{  
		20%{
			top: 0%;
			right: 36%;
			opacity: 0;
		}
		100%{
			top: 4%;
			right: 10%;
			opacity: 0.7;
		}
	}
	@keyframes temp01_anime03{  
		20%{
			top: 30%;
			right: -100%;
			opacity: 0;
		}
		100%{
			top: 6%;
			right: -2%;
			opacity: 0.7;
		}
	}
}

.c_lay-temp02{/* 写真左・テキスト右 */
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.c_lay-temp02 .temp02_text{
	padding-right: 585px;
}

.c_lay-temp02 .temp02_img{
	position: absolute;
	top: 0px;
	left: 50%;
	margin-left: 0px;
	z-index: 3;
}
.c_lay-temp02 .temp02_img .img_size{
	margin: 0;
	width: 100%;
	height: 500px;
}
.c_lay-temp02 .temp02_img .img_size img{
	width: 100%;
	height: 500px;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}

.c_lay-temp02 .temp02_text .text_box{
	position: relative;
	height: 460px;
	color: white;
}
.c_lay-temp02 .temp02_text .text_box::before{
	content: '';
	position: absolute;
	display: block;
	background-color: #0f5474;
	margin-left: 0%;
	width: 115%;
	height: 100%;
	z-index: -1;
}
.c_lay-temp02 .temp02_text .text_box .box_in{
	padding: 30px 0 30px 30px;
}

.c_lay-temp02 .temp02_move01{/* アニメ前の配置 */
	opacity: 0;
}
.c_lay-temp02 .temp02_move02{
	opacity: 0;
}
.c_lay-temp02 .temp02_move03{
	opacity: 0;
}
.c_lay-temp02 .temp02_move01.is-animated{/* アニメ後の動き */
	position: absolute;
	z-index: -2;
	animation: temp02_anime01 3s both;
}
.c_lay-temp02 .temp02_move02.is-animated{
	position: absolute;
	z-index: -2;
	animation: temp02_anime02 3s both;
}
.c_lay-temp02 .temp02_move03.is-animated{
	position: absolute;
	z-index: -2;
	animation: temp02_anime03 3s both;
}
@media screen and (min-width: 1110px) {
	@keyframes temp02_anime01{  
		20%{
			top: 0%;
			left: 2%;
			opacity: 0;
		}
		100%{
			top: 0%;
			left: 2%;
			opacity: 0.7;
		}
	}
	@keyframes temp02_anime02{  
		20%{
			top: 0%;
			left: 46%;
			opacity: 0;
		}
		100%{
			top: 14%;
			left: 6%;
			opacity: 0.7;
		}
	}
	@keyframes temp02_anime03{  
		20%{
			top: 80%;
			left: -100%;
			opacity: 0;
		}
		100%{
			top: 30%;
			left: -2%;
			opacity: 0.7;
		}
	}
}
@media screen and (min-width: 768px) and (max-width: 1109px) {
	.c_lay-temp02 .temp02_text{
		padding-right: 50%;
	}
	
	.c_lay-temp02 .temp02_img{
		width: 50%
	}
	.c_lay-temp02 .temp02_img .img_size{
		height: 460px;
	}
	.c_lay-temp02 .temp02_img .img_size img{
		height: 460px;
	}
	
	.c_lay-temp02 .temp02_text .text_box{
		height: 480px;
	}
	.c_lay-temp02 .temp02_text .text_box .box_in{
		padding: 20px 0 20px 20px;
	}

	@keyframes temp02_anime01{  
		20%{
			bottom: 0%;
			right: 2%;
			opacity: 0;
			z-index: 6;
		}
		100%{
			bottom: 0%;
			right: 2%;
			opacity: 0.7;
			z-index: 6;
		}
	}
	@keyframes temp02_anime02{  
		20%{
			bottom: 0%;
			right: 46%;
			opacity: 0;
			z-index: 6;
		}
		100%{
			bottom: 7%;
			right: 14%;
			opacity: 0.7;
			z-index: 6;
		}
	}
	@keyframes temp02_anime03{  
		20%{
			bottom: 80%;
			right: -100%;
			opacity: 0;
			z-index: 6;
		}
		100%{
			bottom: 15%;
			right: -2%;
			opacity: 0.7;
			z-index: 6;
		}
	}
}
@media print{
	.c_lay-temp02 .temp02_text{
		padding-right: 50%;
	}
	
	.c_lay-temp02 .temp02_img{
		width: 50%
	}
	.c_lay-temp02 .temp02_img .img_size{
		height: 460px;
	}
	.c_lay-temp02 .temp02_img .img_size img{
		height: 460px;
	}
	
	.c_lay-temp02 .temp02_text .text_box{
		height: 480px;
	}
	.c_lay-temp02 .temp02_text .text_box .box_in{
		padding: 15px 0 15px 15px;
	}

	@keyframes temp02_anime01{  
		20%{
			bottom: 0%;
			right: 2%;
			opacity: 0;
			z-index: 6;
		}
		100%{
			bottom: 0%;
			right: 2%;
			opacity: 0.7;
			z-index: 6;
		}
	}
	@keyframes temp02_anime02{  
		20%{
			bottom: 0%;
			right: 46%;
			opacity: 0;
			z-index: 6;
		}
		100%{
			bottom: 7%;
			right: 14%;
			opacity: 0.7;
			z-index: 6;
		}
	}
	@keyframes temp02_anime03{  
		20%{
			bottom: 80%;
			right: -100%;
			opacity: 0;
			z-index: 6;
		}
		100%{
			bottom: 15%;
			right: -2%;
			opacity: 0.7;
			z-index: 6;
		}
	}
}
@media screen and (max-width: 767px) {
	.c_lay-temp02 .temp02_text{
		padding-right: 0px;
	}
	
	.c_lay-temp02 .temp02_img{
		position: static;
		margin-left: 0px;
	}
	.c_lay-temp02 .temp02_img .img_size{
		height: 240px;
	}
	.c_lay-temp02 .temp02_img .img_size img{
		height: 240px;
	}
	
	.c_lay-temp02 .temp02_text .text_box{
		height: auto;
	}
	.c_lay-temp02 .temp02_text .text_box::before{
		margin-left: -10%;
		width: 120%;
	}
	.c_lay-temp02 .temp02_text .text_box .box_in{
		padding: 15px 0;
	}

	@keyframes temp02_anime01{  
		20%{
			top: 0%;
			right: 2%;
			opacity: 0;
		}
		100%{
			top: 0%;
			right: 2%;
			opacity: 0.7;
		}
	}
	@keyframes temp02_anime02{  
		20%{
			top: 0%;
			right: 36%;
			opacity: 0;
		}
		100%{
			top: 4%;
			right: 10%;
			opacity: 0.7;
		}
	}
	@keyframes temp02_anime03{  
		20%{
			top: 30%;
			right: -100%;
			opacity: 0;
		}
		100%{
			top: 6%;
			right: -2%;
			opacity: 0.7;
		}
	}
}


/* テーブルlayout */
.vertic_top{vertical-align: top;}
.vertic_mid{vertical-align: middle;}
.vertic_bot{vertical-align: bottom;}

.table_nor{/* 通常テーブル */
	overflow: hidden !important;
	table-layout: fixed !important;
	border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
  border-top: #06286c solid 1px !important;
  border-left: #06286c solid 1px !important;
	width: 100%;
}
.table_nor tbody tr th{
	background-color: #214b9f;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	font-weight: normal;
	padding: 12px 15px;
	color: white;
}
.table_nor tbody tr td{
	background-color: white;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	padding: 12px 15px;
}
@media screen and (min-width: 768px) and (max-width: 1109px) {
	.table_nor tbody tr th{
		font-size: 14px;
	}
	.table_nor tbody tr td{
		font-size: 14px;
	}
}
@media print{
	.table_nor tbody tr th{
		font-size: 12px;
	}
	.table_nor tbody tr td{
		font-size: 12px;
	}
}
@media screen and (max-width: 767px) {
	.table_nor tbody tr th{
		display: block;
		width: auto;
		font-size: 14px;
	}
	.table_nor tbody tr td{
		display: block;
		width: auto;
		font-size: 14px;
	}
}

.table_bg{/* 背景色のみ構成 */
	overflow: hidden !important;
	table-layout: fixed !important;
	border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
	width: 100%;
}
.table_bg tbody tr th{
	background-color: #0f5474;
	border-right: white solid 5px;
	border-bottom: white solid 5px;
	font-weight: normal;
	padding: 14px 15px;
	color: white;
	vertical-align: top;
}
.table_bg tbody tr td{
	background-color: #e5ecef;
	border-bottom: white solid 5px;
	padding: 14px 15px;
	vertical-align: top;
}
@media screen and (min-width: 768px) and (max-width: 1109px) {
	.table_bg tbody tr th{
		padding: 12px 10px;
		font-size: 14px;
	}
	.table_bg tbody tr td{
		padding: 12px 10px;
		font-size: 14px;
	}
}
@media print{
	.table_bg tbody tr th{
		padding: 12px 10px;
		font-size: 12px;
	}
	.table_bg tbody tr td{
		padding: 12px 10px;
		font-size: 12px;
	}
}
@media screen and (max-width: 767px) {
	.table_bg tbody tr th{
		display: block;
		border-right: white solid 0px;
		border-bottom: white solid 0px;
		width: auto;
		font-size: 14px;
	}
	.table_bg tbody tr td{
		display: block;
		width: auto;
		font-size: 14px;
	}
}

.table_ubar{/* 下線のみ構成 */
	overflow: hidden !important;
	table-layout: fixed !important;
	border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
	width: 100%;
}
.table_ubar tbody tr th{
	position: relative;
	overflow: hidden;
	font-weight: normal;
	padding: 14px 15px;
	vertical-align: top;
}
.table_ubar tbody tr th::before{
	content: '';
	position: absolute;
	bottom: 0px;
	left: 0px;
	display: block;
	background-color: #d65a25;
	width: 96%;
	height: 2px;
}
.table_ubar tbody tr td{
	position: relative;
	overflow: hidden;
	padding: 14px 15px;
	vertical-align: top;
}
.table_ubar tbody tr td::before{
	content: '';
	position: absolute;
	bottom: 0px;
	left: 0px;
	display: block;
	background-color: #f0c3af;
	width: 100%;
	height: 2px;
}
@media screen and (min-width: 768px) and (max-width: 1109px) {
	.table_ubar tbody tr th{
		font-size: 14px;
	}
	.table_ubar tbody tr td{
		font-size: 14px;
	}
}
@media print{
	.table_ubar tbody tr th{
		font-size: 12px;
	}
	.table_ubar tbody tr td{
		font-size: 12px;
	}
}
@media screen and (max-width: 767px) {
	.table_ubar tbody tr th{
		display: block;
		background-color: #d65a25;
		width: auto;
		font-size: 14px;
		color: white;
	}
	.table_ubar tbody tr th::before{
		display: none;
	}
	.table_ubar tbody tr td{
		display: block;
		width: auto;
		font-size: 14px;
	}
	.table_ubar tbody tr td::before{
		display: none;
	}
}

.table_nor-sp{/* 通常テーブル */
	overflow: hidden !important;
	table-layout: fixed !important;
	border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
  border-top: #06286c solid 1px !important;
  border-left: #06286c solid 1px !important;
	width: 100%;
}
.table_nor-sp thead tr th{
	background-color: #214b9f;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	font-weight: normal;
	padding: 16px 15px;
	color: white;
}
.table_nor-sp tbody tr th{
	background-color: #4e73be;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	font-weight: normal;
	color: white;
}
.table_nor-sp tbody tr td{
	background-color: white;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
}
.table_nor-sp tbody tr th .pc_txt,
.table_nor-sp tbody tr td .pc_txt{
	display: block;
	padding: 12px 15px;
}
.table_nor-sp tbody tr th .sp_txt,
.table_nor-sp tbody tr td .sp_txt{
	display: none;
}
@media screen and (min-width: 768px) and (max-width: 1109px) {
	.table_nor-sp thead tr th{
		font-size: 15px;
	}
	.table_nor-sp tbody tr th{
		font-size: 14px;
	}
	.table_nor-sp tbody tr td{
		font-size: 14px;
	}
}
@media print{
	.table_nor-sp thead tr th{
		font-size: 13px;
	}
	.table_nor-sp tbody tr th{
		font-size: 12px;
	}
	.table_nor-sp tbody tr td{
		font-size: 12px;
	}
}
@media screen and (max-width: 767px) {
	.table_nor-sp thead tr th{
		display: none;
	}
	.table_nor-sp tbody tr th{
		overflow: hidden;
		display: block;
		background: linear-gradient(90deg, #4e73be 0%, #4e73be 28%, white 28%, white 100%);
		width: auto;
		font-size: 14px;
	}
	.table_nor-sp tbody tr td{
		overflow: hidden;
		display: block;
		background: linear-gradient(90deg, #4e73be 0%, #4e73be 28%, white 28%, white 100%);
		width: auto;
	}
	.table_nor-sp tbody tr:nth-child(2n) th,
	.table_nor-sp tbody tr:nth-child(2n) td{/* 交互に背景色変更 */
		background: linear-gradient(90deg, #4fbf70 28%, #4fbf70 0%, white 28%, white 100%);
	}
	.table_nor-sp tbody tr th .pc_txt,
	.table_nor-sp tbody tr td .pc_txt{
		display: inline-block;
		float: right;
		padding: 10px 5px;
		width: 70%;
		font-size: 12px;
		color: #171717;
	}
	.table_nor-sp tbody tr th .sp_txt,
	.table_nor-sp tbody tr td .sp_txt{
		display: inline-block;
		float: left;
		padding: 10px 5px;
		width: 28%;
		font-size: 11px;
		color: white;
	}
}

/* SP時にスクロールバーを出す場合 */
.table_nor-ns{/* 通常テーブル */
	overflow: hidden !important;
	table-layout: fixed !important;
	border-collapse: separate !important;
  border-spacing: 0 !important;
  border: none !important;
  border-top: #06286c solid 1px !important;
  border-left: #06286c solid 1px !important;
	width: 100%;
}
.table_nor-ns thead tr th{
	background-color: #214b9f;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	font-weight: normal;
	padding: 16px 15px;
	color: white;
}
.table_nor-ns tbody tr th{
	background-color: #4e73be;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	padding: 12px 15px;
	font-weight: normal;
	color: white;
}
.table_nor-ns tbody tr td{
	background-color: white;
	border-right: #06286c solid 1px;
	border-bottom: #06286c solid 1px;
	padding: 12px 15px;
}
@media screen and (max-width: 767px) {
	.scroll_table{
	  overflow: auto;
	  white-space: nowrap;
	}
	.scroll_table::-webkit-scrollbar{　　
	  height: 5px;
	}

	.scroll_table .table_nor-ns{
		width: 800px;
	}
	.scroll_table .table_nor-ns thead tr th{
		width: auto !important;
	}
}

