@charset "UTF-8";
/* ==================================================
	basic layout
================================================== */
#wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	color: #333333;
	font-size: 1.4rem;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-weight: 500;
}
#wrapper p {
	font-weight:normal;
}
.del2 {
	animation-delay: 0.2s !important;
}
.del3 {
	animation-delay: 0.3s !important;
}
.del4 {
	animation-delay: 0.4s !important;
}
.del5 {
	animation-delay: 0.5s !important;
}
.del6 {
	animation-delay: 0.6s !important;
}
.del7 {
	animation-delay: 0.7s !important;
}
.del8 {
	animation-delay: 0.8s !important;
}
.del9 {
	animation-delay: 0.9s !important;
}
.del10 {
	animation-delay: 1s !important;
}
.del11 {
	animation-delay: 1.1s !important;
}
.del12 {
	animation-delay: 1.2s !important;
}
.del13 {
	animation-delay: 1.3s !important;
}
.del14 {
	animation-delay: 1.4s !important;
}
.del15 {
	animation-delay: 1.5s !important;
}
.del16 {
	animation-delay: 1.6s !important;
}
.del17 {
	animation-delay: 1.7s !important;
}
.del18 {
	animation-delay: 1.8s !important;
}
.del19 {
	animation-delay: 1.9s !important;
}
.del20 {
	animation-delay: 2s !important;
}
.del21 {
	animation-delay: 2.1s !important;
}
.del22 {
	animation-delay: 2.2s !important;
}


/* サイト幅
-------------------------------------------------- */
.site_wrap {
  box-sizing: border-box;
  width: 100%;
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	#wrapper {
		position: relative;
		min-width: 1200px;
	}
	.site_wrap {
		min-width: 1200px;
		margin: 0 auto;
	}
	body.fx {
		overflow: hidden;
	}
}
@media only screen and (max-width: 639px) {
	.site_wrap {
		display: block;
		margin: 0px;
		padding: 0px;
	}
	body.fx {
		position: fixed;
		top: 0;
	}
}
/* ========== end △ */
/* ==================================================
	header
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	body {
		margin: 0;
		padding: 0;
	}
	img {
		width: 100%;
	}
	header {
		position:fixed;
		left: 0;
		top: 0;
		z-index: 200;
		width: 100%;
		height: 55px;
		background: #FFF;
	}
	.head-top {
		display: block;
	}
	header h1 {
		display: block;
		float: left;
		padding: 14px 0 0 15px;
	}
	header h1 img {
		max-width: 220px;
	}
	header h1 span {
		display: none;
	}
	.head-top .ref {
		display: block;
		float: right;
		margin-right: 60px;
	}
	.head-bt2 {
		display: none;
	}
	header .h-link {
		display: none;
	}
	.langd {
		display:block;
		padding-top: 13px;
	}
	.langd li {
		display: block;
		position:relative;
	}
	.langd li b {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		background: url("../common_img/world2.png") top center no-repeat;
		background-size: 100% auto;
		width: 30px;
		height: 30px;
		text-indent: -9999px;
		position: relative;
	}
	.lang-bt-wrap {
		display: none;
		z-index: 20;
		position: absolute;
		left: -60px;
		top: 40px;
		width: 120px !important;
		background: #545454;
	}
	.lang-bt-wrap ul {
		display: block;
		margin: 4px;
	}
	.lang-bt-wrap ul li {
		border-top: #FFF solid 1px;
		width: 100% !important;
		height: auto !important;
	}
	.lang-bt-wrap ul li a {
		display: block;
		padding: 5px;
		text-align: center !important;
		color: #FFF;
		text-decoration: none;
		font-size: 1.2rem;
		line-height: 1;
	}
	.lang-bt-wrap ul li:nth-child(1) {
		border-top: 0px;
	}
	.hcont {
		display: none;
	}
	.gbase {
		display: none;
	}
	.main-r-txt {
		position: absolute;
		top: 70px;
		right: 0;
		z-index: 50;
		font-size: 4.4rem;
		line-height: 1;
		font-weight: bold;
		opacity: 0.14;
		-ms-writing-mode: tb-rl;
  		writing-mode: vertical-rl;
	}
	.sp_none {
		display: none !important;
	}
	.posit-link {
		display: block;
		padding-top: 50px;
		margin-top: -50px;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	header {
		position:absolute;
		left: 0;
		top: 0;
		z-index: 200;
		width: 100%;
		-webkit-transition: all 0.5s ease-in-out 0s;
  		transition: all 0.5s ease-in-out 0s;
	}
	a,
	a:hover,
	a::after,
	a::before{
		-webkit-transition: all 0.3s ease-in-out 0s;
  		transition: all 0.3s ease-in-out 0s;
		color: #000000;
	}
	.head-top {
		display: block;
		position: relative;
	}
	.head-top .fix {
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
	}
	.head-top  h1 {
		position: relative;
		top: -120px;
		display: block;
		float: left;
		padding: 30px 0 0 20px;
		-webkit-transition: all 0.3s ease-in-out 0s;
  		transition: all 0.3s ease-in-out 0s;
	}
	.subpage .head-top  h1 {
		position: relative;
		top: 0px;
	}
	.head-top h1 img {
		max-width: 100%;
	}
	.head-top .ref {
		display: block;
		float: right;
		padding-top: 30px;
		-webkit-transition: all 0.3s ease-in-out 0s;
  		transition: all 0.3s ease-in-out 0s;
	}
	.h-link {
		display:block;
	}
	.h-link::after {
		display: block;
		clear: both;
		width: 100%;
		height: 1px;
	}
	.h-link ul {
		display: flex;
		float: right;
	}
	.h-link ul li {
		position: relative;
		font-size: 1.34rem;
		line-height: 1;
		padding-left: 16px;
		margin-left: 30px;
	}
	.h-link ul li::before{
		position: absolute;
		top: 0;
		bottom: 0;
		content: "";
		margin: auto;
		left: 0px;
		width: 4px;
		height: 4px;
		border-top: 1px solid #737373;
		border-right: 1px solid #737373;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.h-link ul li a {
		text-decoration: none;
		color: #737373;
	}
	.h-link ul li a:hover {
		text-decoration: underline;
	}
	.head-r-wrap {
		display: block;
		float:left;
	}
	.head-bt2 {
		display: block;
		float: left;
		margin-left: 28px;
		padding-left: 28px;
		border-left: #c7c7c7 solid 1px;
	}
	.head-bt2 .tels {
		display: block;
		font-size: 1.15rem;
		line-height: 1;
		margin-bottom: 12px;
	}
	.head-bt2 .tels span {
		font-size: 1.6rem;
		letter-spacing: 1px;
	}
	.head-bt2 .mails {
		display: block;
		position: relative;
		font-size: 1.6rem;
		letter-spacing: 1px;
		line-height: 1;
		padding-left: 35px;
	}
	.head-bt2 .mails::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		background: url("../common_img/mail.png") left top no-repeat;
		width: 19px;
		height: 15px;
	}
	.head-bt2 .mails a {
		color: #000;
		text-decoration: none;
	}
	.head-bt2 .mails a:hover {
		text-decoration: underline;
	}
	.gbase {
		display: block;
		margin-top: 16px;
	}
	.gbase ul#menu {
		display:flex;
	}
	.gbase li {
		display: block;
		float: left;
		margin-left: 40px;
		font-size: 1.44rem;
		line-height: 1.1;
		position: relative;
		-webkit-transition: all 0.3s ease-in-out 0s;
  		transition: all 0.3s ease-in-out 0s;
	}
	.gbase li a,
	.gbase li b{
		display: block;
		line-height: 1.1;
		text-align: left;
		color: #000;
		text-decoration: none;
		position: relative;
		cursor: pointer;
		font-weight:bold;
		-webkit-transition: all 0.2s ease-in-out 0s;
  		transition: all 0.2s ease-in-out 0s;
	}
	.gbase li a:hover,
	.gbase li b:hover,
	.gbase li.current a,
	.gbase li.current p{
	}
	.gbase li a::after,
	.gbase li b::after{
		position: absolute;
		left: 0;
		bottom: -4px;
		content: "";
		width: 0%;
		height: 2px;
		background: #004cb3;
		z-index: 30;
		-webkit-transition: all 0.2s ease-in-out 0s;
  		transition: all 0.2s ease-in-out 0s;
	}
	.gbase li a:hover::after,
	.gbase li b:hover::after,
	.gbase li.current a::after,
	.gbase li.current p::after{
		width: 100%;
	}
	.main-r-txt {
		position: absolute;
		top: 120px;
		right: 0;
		z-index: 50;
		font-size: 14.4rem;
		line-height: 1;
		font-weight: bold;
		opacity: 0.14;
		-ms-writing-mode: tb-rl;
  		writing-mode: vertical-rl;
	}
	#menu {
	}
	.menu_contents {
		display: none;
		position: absolute;
		top: 48px;
		left: 0;
		width: 260px;
		background: #9d2328;
		padding: 10px;
		z-index: 1;
	}
	.menu_contents a {
		padding: 0 !important;
		margin: 0 !important;
		height: auto !important;
		display: block;
	}
	.menu_contents .inn {
		display: block;
		text-align: left !important;
		width: auto !important;
	}
	.menu_contents .inn li {
		border-top: #bb6569 solid 1px !important;
		margin: 0px !important;
		padding: 0px !important;
		display: block !important;
		float: none !important;
		clear: both !important;
	}
	.menu_contents .inn li:nth-child(1) {
		border-top: 0px !important;
	}
	.menu_contents .inn li a {
		display: block !important;
		color: #FFF !important;
		text-decoration: none !important;
		padding: 18px 15px !important;
		font-size: 1.6rem !important;
		letter-spacing: 1px !important;
		line-height: 1.1 !important;
	}
	.menu_contents .inn li a:hover {
		background: #EFEFEF;
		color: #222 !important;
	}
	.menu_contents .inn li a::after {
		display: none;
	}
	header.ml-fix {
		position:fixed;
		left: 0;
		top: 0;
		z-index: 200;
		width: 100%;
		background: #FFF;
		-webkit-transition: all 0.5s ease-in-out 0s;
  		transition: all 0.5s ease-in-out 0s;
	}
	header.ml-fix .head-top {
		display: block;
		position: relative;
		background: #FFF;
	}
	header.ml-fix .head-top h1 {
		position: relative;
		top: 0px;
		display: block;
		float: left;
		padding: 10px 0 0 20px;
	}
	header.ml-fix .h-link li {
		display: block;
		float:left;
	}
	header.ml-fix .h-link li a {
		display: inline-block;
		margin-bottom: 6px;

	}
	header.ml-fix .head-top .ref {
		display: block;
		float: right;
		padding-top: 5px;
		-webkit-transition: all 0.3s ease-in-out 0s;
  		transition: all 0.3s ease-in-out 0s;
	}
	header.ml-fix .gbase {
		display: block;
		margin-top: 3px;
	}
	header.ml-fix .gbase li {
		display: block;
		float: left;
		font-size: 1.3rem;
		line-height: 1.1;
		position: relative;
		-webkit-transition: all 0.3s ease-in-out 0s;
  		transition: all 0.3s ease-in-out 0s;
	}
	header.ml-fix .menu_contents {
		display: none;
		position: absolute;
		top: 48px;
		left: 0;
		z-index: 1;
	}
	
	.pc_none {
		display: none !important;
	}
}
@media print, screen and (min-width: 640px) and (max-width: 1550px)  {
	.gbase li {
		display: block;
		float: left;
		margin-left: 13px;
		font-size: 1.3rem;
		line-height: 1.1;
		position: relative;
		-webkit-transition: all 0.3s ease-in-out 0s;
  		transition: all 0.3s ease-in-out 0s;
	}
}
@media print, screen and (min-width: 640px) and (max-width: 1300px)  {
	.subpage .head-top h1 {
		position: absolute !important;
		left: 5px;
		top: -15px !important;
	}
	header.ml-fix .head-top h1 {
		top: -5px !important;
	}
}
@media print, screen and (min-width: 640px) and (max-width: 1400px)  {
	.fix-1400 {
		margin-left: 4%;
		margin-right: 4%;
	}
}
/* ========== end △ */



/* ==================================================
	SP-NAV
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.mebt {
		position:fixed;
		right: 0px;
		top: 0px;
		z-index: 2000;
	}
	.menu-trigger{
		z-index: 3000;
		position: fixed;
		right: 10px;
		top: 7px;
		display:block;
		width: 40px;
		height: 40px;
		background:#FFF;
		opacity: 1;
		filter: alpha(opacity=100);
	}
	.menu-trigger span {
		position: absolute;
		background: #111;
		width: 28px;
		height: 2px;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 2000;
		border-radius: 4px;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 11px; 
	}
	.menu-trigger span:nth-of-type(2) {
		top: 0px;
		bottom: 0;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 11px;
	}
	
	.menu-trigger.active span {
		text-indent: -9999px;
		background: #111;
		width: 25px;
		height: 2px;
	}

  .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
	 top:9px;}

  .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
    }

  .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
	 bottom: 11px;}
	nav.downs {
		display: none;
		position: fixed;
		top: 55px;
		right: 0px;
		background: #004cb3;
		width: 100vw;
		height: 93vh;
		z-index: 1000;
		overflow: auto;
	}
	nav.downs .pad01 {
		padding-bottom: 20px;
		overflow: auto;
	}
	.links-box {
		display: block;
		padding-bottom: 100px;
	}
	.links-box li {
		border-bottom: #ccc solid 1px;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1.4;
		
	}
	.links-box li a {
		display: block;
		padding: 15px 5% 15px 5%;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1.4;
		text-decoration: none;
	}
	.acd-check{
		display: none;
	}
	.acd-label {
		display: block;
		padding: 15px 5% 15px 5%;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1.4;
		text-decoration: none;
		position: relative;
		z-index: 2000;
	}
	.acd-label::after {
		position: absolute;
		right: 23px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 3px;
		height: 15px;
		background: #FFF;
	}
	.acd-label::before {
		position: absolute;
		right: 17px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 15px;
		height: 3px;
		background: #FFF;
	}
	.acd-content{
		height: 0;
		opacity: 0;
		padding: 0 10px 0px 20px;
		transition: .5s;
		visibility: hidden;
	}
	.acd-content li {
		border-bottom: #FFF solid 1px !important;
		margin-left: 10px;
	}
	.acd-content li.na {
		border-bottom: #FFF solid 0px !important;
	}
	.acd-check:checked + .acd-label::after {
		display: none;
	}
	.acd-check:checked + .acd-label + .acd-content{
		height: auto;
		opacity: 1;
		padding: 0px 10px 10px 10px;
		visibility: visible;
	}
	.sp-cont {
		display: block;
		padding: 5px 15px;
	}
	.sp-cont p {
		display: block;
		text-align: center;
		margin: 7px 0;
	}
	.sp-cont p a {
		display: block;
		color: #FFF;
		text-decoration: none;
		border: #FFF solid 1px;
		padding: 14px 0;
		font-size: 1.6rem;
		line-height: 1.3;
		letter-spacing: 1px;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.mebt {
		display: none;
	}
	.downs {
		display: none;
	}
	.menu-trigger{
		z-index: 3000;
		display:block;
		width: 48px;
		height: 43px;
		background:#FFF;
		border: #ff8811 solid 1px;
		border-radius: 2px;
		opacity: 1;
		filter: alpha(opacity=100);
	}
	.menu-trigger span {
		position: absolute;
		background: #ff8811;
		width: 28px;
		height: 2px;
		left: 0;
		right: 0;
		margin: auto;
		z-index: 2000;
		border-radius: 4px;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 11px; 
	}
	.menu-trigger span:nth-of-type(2) {
		top: 0px;
		bottom: 0;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 11px;
	}
	
	.menu-trigger.active span {
		text-indent: -9999px;
		background: #ff8811;
		width: 25px;
		height: 2px;
	}

  .menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
	 top:11px;}

  .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
    }

  .menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
	 bottom: 13px;}
	
	nav.downs .pad01 {
		padding-bottom: 20px;
		overflow:hidden;
	}
	.links-box {
		display: block;
	}
	.links-box ul {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.links-box li {
		display: block;
		flex-basis: 20%;
		margin: 2% 2% 20px 2%;
		color: #FFF;
		font-size: 1.6rem;
		line-height: 1.4;
	}
	.links-box li a {
		display: block;
		padding: 15px 5% 15px 5%;
		border: #FFF solid 1px;
		color: #FFF;
		font-size: 1.6rem;
		line-height: 1.4;
		text-decoration: none;
	}
	.acd-check{
		display: none;
	}
	.acd-label {
		display: block;
		padding: 15px 5% 15px 5%;
		border: #FFF solid 1px;
		cursor: pointer;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1.4;
		text-decoration: none;
		position: relative;
		z-index: 2000;
	}
	.acd-label::after {
		position: absolute;
		right: 23px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 3px;
		height: 15px;
		background: #FFF;
	}
	.acd-label::before {
		position: absolute;
		right: 17px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 15px;
		height: 3px;
		background: #FFF;
	}
	.acd-content{
		height: 0;
		opacity: 0;
		padding: 0 10px 0px 20px;
		transition: .5s;
		visibility: hidden;
	}
	.acd-content ul {
		display: block;
	}
	.acd-content li {
		border-bottom: #FFF solid 1px !important;
		margin-left: 10px;
		margin-bottom: 6px;
	}
	.acd-content li a {
		font-size: 1.4rem;
		border: none;
	}
	.acd-content li.na {
		border-bottom: #FFF solid 0px !important;
	}
	.acd-check:checked + .acd-label::after {
		display: none;
	}
	.acd-check:checked + .acd-label + .acd-content{
		height: auto;
		opacity: 1;
		padding: 0px 10px 10px 10px;
		visibility: visible;
	}
	.sp-sns {
		display: block;
	}
	.sp-sns li {
		display: block;
		float: left;
		width: 50%;
		padding: 6px 0;
		margin: 0px;
		text-align: center;
		position: relative;
	}
	.sp-sns li:nth-child(1)::after {
		position: absolute;
		top: 0;
		right: 0;
		content: "";
		width: 1px;
		height: 100%;
		background: #396bb7;
	}
	.sp-sns li a {
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		width: 35px;
		height: 35px;
		padding: 0px;
		background: #FFF;
		border-radius: 50%;
		margin-left: auto;
		margin-right: auto;
	}
	.sp-sns li a img {
		width: 15px;
		height: auto;
		display: inline-block;
	}
	.sp-tellink {
		display: block;
		text-align: center;
		padding: 13px 25px;
		border-bottom: #396bb7 solid 1px;
	}
	.sp-tellink a {
		display: block;
		text-align: center;
		color: #13438C;
		font-weight: bold;
		text-decoration: none !important;
		font-size: 2rem;
		line-height: 1;
		padding: 10px 0;
		background: #FFF;
	}
}
/* ========== end △ */
/* title set
-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.tibox01 {
		display: block;
		position:relative;
		padding-top: 10px;
		margin-bottom: 25px;
	}
	.tibox01 h2 {
		display: block;
		position: relative;
		z-index: 5;
		font-size: 2.6rem;
		line-height: 1.2;
		font-weight: bold;
		letter-spacing: 1px;
		padding-bottom: 12px;
		color: #000;
	}
	.tibox01 h2::before {
		position: absolute;
		left:0px;
		bottom: 0px;
		content: "";
		background:#ff8811;
		width: 40px;
		height: 4px;
	}
	.tibox01 span {
		display:block;
		position: absolute;
		z-index: 2;
		top: 0;
		left: 0;
		font-size: 4rem;
		color: #f6f6f6;
		line-height: 0.9;
		font-weight: bold !important;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.tibox01 {
		display: block;
		position:relative;
		padding-top: 10px;
		margin-bottom: 35px;
	}
	.tibox01 h2 {
		display: block;
		position: relative;
		z-index: 5;
		font-size: 3.2rem;
		line-height: 1.2;
		font-weight: bold;
		letter-spacing: 1px;
		padding-bottom: 18px;
		color: #000;
	}
	.tibox01 h2::before {
		position: absolute;
		left:0px;
		bottom: 0px;
		content: "";
		background:#ff8811;
		width: 40px;
		height: 4px;
	}
	.tibox01 span {
		display:block;
		position: absolute;
		z-index: 2;
		top: 0;
		right: 0;
		font-size: 12.8rem;
		color: #f6f6f6;
		line-height: 0.9;
		font-weight: bold !important;
	}
}
/* ========== end △ */


/* btn set
-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.btn01 {
		display: block;
	}
	.btn01 a {
		display: block;
		position:relative;
		color: #004cb3;
		text-decoration: none !important;
		padding: 12px 0 12px 40px;
	}
	.btn01 a::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		border-radius: 50%;
		width: 31px;
		height: 31px;
		border: #004cb3 solid 2px;
	}
	.btn01 a::after {
		position: absolute;
		left: 5px;
		top: 5px;
		content: "";
		border-radius: 50%;
		width: 25px;
		height: 25px;
		background: #004cb3;
	}
	.btn01 a span {
		display:block;
		position: relative;
		z-index: 10;
		font-size: 1.44rem;
		font-weight: bold;
		letter-spacing: 1px;
		line-height: 1.1;
		text-decoration: underline;
	}
	.btn01.v2 a {
		color: #FFF;
	}
	.btn01.v2 a::before {
		border: #FFF solid 2px !important;
	}
	.btn01.v2 a::after {
		background: #FFF !important;
	}
	.btn01.v2 a:hover::after {
		background: #FFF !important;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.btn01 {
		display: block;
	}
	.btn01 a {
		display: block;
		position:relative;
		color: #004cb3;
		text-decoration: none !important;
		padding: 21px 0 21px 70px;
	}
	.btn01 a::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		border-radius: 50%;
		width: 55px;
		height: 55px;
		border: #004cb3 solid 2px;
	}
	.btn01 a::after {
		position: absolute;
		left: 15px;
		top: 15px;
		content: "";
		border-radius: 50%;
		width: 30px;
		height: 30px;
		background: #004cb3;
	}
	.btn01 a:hover::after {
		position: absolute;
		left: 1px;
		top: 1px;
		content: "";
		border-radius: 50%;
		width: 57px;
		height: 57px;
		background: #004cb3;
	}
	.btn01 a span {
		display:block;
		position: relative;
		z-index: 10;
		font-size: 1.44rem;
		font-weight: bold;
		letter-spacing: 1px;
		line-height: 1.1;
		text-decoration: underline;
	}
	.btn01.v2 a {
		color: #FFF;
	}
	.btn01.v2 a::before {
		border: #FFF solid 2px !important;
	}
	.btn01.v2 a::after {
		background: #FFF !important;
	}
	.btn01.v2 a:hover::after {
		background: #FFF !important;
	}
}
/* ========== end △ */


/* bottom-box
-------------------------------------------------- */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.fix-1100 {
		display: block;
	}
	.bottom-box {
		display: block;
		padding: 30px 0 10px 0;
	}
	.bottom-box .tit {
		display: block;
		text-align: center;
	}
	.bottom-box .tit b {
		display: block;
		text-align: center;
		border-radius: 30px;
		font-size: 1.3rem;
		line-height: 1.2;
		background: #efefef;
		padding: 12px 0 10px 0;
		margin-bottom: 20px;
	}
	.bottom-box .tit span {
		display: block;
		font-size: 1.5rem;
		margin-bottom: 10px;
	}
	.bottom-box .tit h3 {
		display: block;
		font-size: 2.7rem;
		line-height: 1.1;
		margin-bottom: 25px;
	}
	.bottom-box .tit h3 small {
		display: block;
		font-size: 1.7rem;
		margin-top: 7px;
	}
	.bottom-box .bt {
		display: block;
	}
	.bottom-box .bt li {
		display: block;
		padding: 13px 0;
		position: relative;
	}
	.bottom-box .bt li:nth-child(2)::after {
		position: absolute;
		right: 0;
		top: 0;
		content: "";
		width: 100%;
		height: 2px;
		background: #000;
	}
	.bottom-box .bt li a,
	.bottom-box .bt li p{
		display: block;
		text-align: center;
		width: 100%;
		padding: 20px 0;
		color: #000;
		text-decoration: none;
	}
	.bottom-box .bt li a:hover {
		background: #EFEFEF;
	}
	.bottom-box .bt .tels span {
		display: block;
		font-size: 2.4rem;
		line-height: 1.4;
	}
	.bottom-box .bt .tels b,
	.bottom-box .bt .tels a{
		display: block;
		font-size: 3.4rem;
		line-height: 1;
		font-weight: 500;
		letter-spacing: 2px;
	}
	.bottom-box .bt .mails b {
		display: block;
		position: relative;
		font-size: 3.5rem;
		letter-spacing: 3px;
		line-height: 1.3;
		font-weight: 500;
		background: url("../images/mail2.png") top center no-repeat;
		padding-top: 35px;
	}
	.bottom-box .bt .mails span {
		display: inline-block;
		border-bottom: #000 solid 2px;
		font-size: 1.5rem;
		line-height: 1.2;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.fix-1100 {
		display: block;
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
	}
	.bottom-box {
		display: block;
		padding: 75px 0;
	}
	.bottom-box .tit {
		display: block;
		text-align: center;
	}
	.bottom-box .tit b {
		display: block;
		text-align: center;
		border-radius: 30px;
		font-size: 2.3rem;
		line-height: 1.2;
		background: #efefef;
		padding: 12px 0 10px 0;
		margin-bottom: 30px;
	}
	.bottom-box .tit span {
		display: block;
		font-size: 1.9rem;
		margin-bottom: 10px;
	}
	.bottom-box .tit h3 {
		display: block;
		font-size: 3rem;
		line-height: 1.1;
		margin-bottom: 50px;
	}
	.bottom-box .tit h3 small {
		font-size: 1.9rem;
	}
	.bottom-box .bt {
		display: flex;
	}
	.bottom-box .bt li {
		flex-basis: 50%;
		position: relative;
	}
	.bottom-box .bt li::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 2px;
		height: 100%;
		background: #000;
	}
	.bottom-box .bt li:nth-child(2)::after {
		position: absolute;
		right: 0;
		top: 0;
		content: "";
		width: 2px;
		height: 100%;
		background: #000;
	}
	.bottom-box .bt li a,
	.bottom-box .bt li p{
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		flex-direction: column;
		width: 100%;
		height: 195px;
		color: #000;
		text-decoration: none;
	}
	.bottom-box .bt li a:hover {
		background: #EFEFEF;
	}
	.bottom-box .bt .tels span {
		display: block;
		font-size: 3rem;
		line-height: 1.4;
	}
	.bottom-box .bt .tels b {
		display: block;
		font-size: 4.4rem;
		line-height: 1;
		font-weight: 500;
		letter-spacing: 2px;
	}
	.bottom-box .bt .mails b {
		display: block;
		position: relative;
		font-size: 3.5rem;
		letter-spacing: 3px;
		line-height: 1.3;
		font-weight: 500;
		background: url("../images/mail2.png") top center no-repeat;
		padding-top: 44px;
		margin-bottom: 20px;
		margin-top: 35px;
	}
	.bottom-box .bt .mails span {
		display: inline-block;
		border-bottom: #000 solid 2px;
		font-size: 1.5rem;
		line-height: 1.2;
	}
	
}
/* ========== end △ */



/* ==================================================
	footer
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.sp_none {
		display: none !important;
	}
	#footer {
		display: block;
		background: #364355;
	}
	.fix-1200 {
		display: block;
	}
	.foot-top {
		text-align: center;
		padding: 20px 0;
		border-bottom: #4f5b6d solid 1px;
	}
	.foot-top figure {
		display: block;
		text-align: center;
		margin-bottom: 15px;
	}
	.foot-top figure img {
		display: inline-block;
		max-width: 270px;
		-webkit-transition: all 0.3s ease-in-out 0s;
  		transition: all 0.3s ease-in-out 0s;
	}
	.foot-top p {
		display: block;
		text-align: center;
		color: #a4b2c5;
		font-size: 1.25rem;
		line-height: 1.9;
	}
	.foot-mbottom {
		display: none;
	}
	.foot-mbottom li {
		display: inline-block;
		font-size: 1.25rem;
		line-height: 1.3;
		padding-left: 10px;
		position: relative;
		margin: 5px 12px;
	}
	.foot-mbottom li::before {
		position: absolute;
		left: 0;
		top: 5px;
		content: "";
		width: 4px;
		height: 4px;
		border-top: 1px solid #FFF;
		border-right: 1px solid #FFF;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.foot-mbottom li a {
		color: #FFF;
		text-decoration: none;
	}
	.foot-mbottom li a:hover {
		text-decoration: underline;
	}
	.copy {
		display: block;
		padding: 14px 0;
		text-align: center;
		background: #101720;
	}
	.copy small {
		font-size: 1.1rem;
		line-height: 1;
		color: #a4b2c5;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.pc_none {
		display: none !important;
	}
	#footer {
		display: block;
		background: #364355;
	}
	.fix-1200 {
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}
	.foot-top {
		text-align: center;
		padding: 65px 0;
		border-bottom: #4f5b6d solid 1px;
	}
	.foot-top figure {
		display: block;
		text-align: center;
		margin-bottom: 22px;
	}
	.foot-top figure img {
		display: inline-block;
		max-width: 100%;
		-webkit-transition: all 0.3s ease-in-out 0s;
  		transition: all 0.3s ease-in-out 0s;
	}
	.foot-top figure img:hover {
		opacity: 0.7;
	}
	.foot-top p {
		display: block;
		text-align: center;
		color: #a4b2c5;
		font-size: 1.25rem;
		line-height: 1.9;
	}
	.foot-mbottom {
		display: block;
		text-align: center;
		color: #FFF;
		padding: 35px 0;
	}
	.foot-mbottom li {
		display: inline-block;
		font-size: 1.25rem;
		line-height: 1.3;
		padding-left: 10px;
		position: relative;
		margin: 5px 12px;
	}
	.foot-mbottom li::before {
		position: absolute;
		left: 0;
		top: 5px;
		content: "";
		width: 4px;
		height: 4px;
		border-top: 1px solid #FFF;
		border-right: 1px solid #FFF;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.foot-mbottom li a {
		color: #FFF;
		text-decoration: none;
	}
	.foot-mbottom li a:hover {
		text-decoration: underline;
	}
	.copy {
		display: block;
		padding: 24px 0;
		text-align: center;
		background: #101720;
	}
	.copy small {
		font-size: 1.25rem;
		line-height: 1;
		color: #a4b2c5;
	}
	
}
#pagetop_btn_f {
  position: static;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
  #pagetop_btn_f {
    margin-top: 0px;
	  text-align: center;
  }
	#pagetop_btn_f img {
		display: none !important;
	}
  #pagetop_btn_f a {
    display:block;
    padding: 14px 20px;
	  background: #101720;
	  font-weight: bold;
	  font-size: 1.2rem;
	  line-height: 1;
	  color: #FFF;
  }
}
/* ========== end △ */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
  #pagetop_btn_f {
    position: fixed;
    z-index: 20;
    right: 3%;
    bottom: -100%;
    transition: all 0.5s ease;
  }
  #pagetop_btn_f.visible {
    bottom: 45px;
  }
	#pagetop_btn_f:hover {
		bottom: 55px;
	}
	
	
}
/* ========== end △ */
#pagetop_btn_f a {
  display: block;
  color: #fff;
	background: #101720;
  text-decoration: none;
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	#pagetop_btn_f {
		position:fixed;
		right: 2%;
		text-align: center;
	}
	#pagetop_btn_f a {
		width: 47px;
		height: 47px;
		position: relative;
		text-indent: -9999px;
		background: #101720;
	}
	#pagetop_btn_f a::after {
		position: absolute;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 14px;
		height: 14px;
		border-top: 1px solid #FFF;
		border-left: 1px solid #FFF;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	
}
/* ========== end △ */
#pagetop_btn_f .fa {
  margin-right: 10px;
}


/* ==================================================
	HOVER ZOOM
================================================== */
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.img-wr {
		overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
		position: relative;
	}
	.img-wr img {
		display: block;
		transition-duration: 0.3s;	/*変化に掛かる時間*/
	}
	.img-wr img:hover {
		transform: scale(1.1);	/*画像の拡大率*/
		transition-duration: 0.3s;	/*変化に掛かる時間*/
	}
	.img-wr2 {
		position: relative;
	}
	.img-wr2 img {
		display: block;
		transition-duration: 0.3s;	/*変化に掛かる時間*/
	}
	.img-wr2 img:hover {
		transform: scale(1.1);	/*画像の拡大率*/
		transition-duration: 0.3s;	/*変化に掛かる時間*/
	}
}
/* ========== end △ */




