@charset "UTF-8";

/* bottom-box
-------------------------------------------------- */
.bottom-box .tels .tels__number,
.bottom-box .faxs .faxs__number {
  font-family: 'Josefin Sans', sans-serif;
}

/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
  .fix-600 {
    margin-left: 4%;
    margin-right: 4%;
  }
	.bottom-box {
		display: block;
		background:url("../images/parallax4.jpg") fixed no-repeat;
		background-size: cover;
		padding: 35px 0;
	}
	.bottom-box h2 {
		color: #FFF;
		letter-spacing: 3px;
		line-height: 1.4;
		font-size: 3rem;
		margin-bottom: 20px;
		text-align:center;
	}
	.bottom-box .mt {
		display:block;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1.9;
		letter-spacing: 1px;
		margin-bottom: 25px;
	}
	.bottom-box .fix-1200 {
		display:block;
	}
	.bottom-box .lef {
		color: #FFF;
		margin-bottom: 20px;
	}
	.bottom-box .tels {
		display:block;
	}
	.bottom-box .tels span {
		display: block;
		position: relative;
		font-weight: 400;
		line-height: 1.2;
		padding-left: 62px;
		font-size: 3.3rem;
		letter-spacing: 3px;
	}
	.bottom-box .tels a{
		color: inherit;
		text-decoration: none;
	}
	.bottom-box .tels span::before {
		position:absolute;
		left: 0;
		top: 0;
		content: "";
		background:url("../images/tels.png") center center no-repeat;
		width: 44px;
		height: 45px;
	}
	.bottom-box .tels small {
		display:block;
		margin-left: 62px;
		font-size: 1.5rem;
		line-height: 1;
	}
	.bottom-box .faxs {
		display:block;
		margin-top: 35px;
	}
	.bottom-box .faxs p {
		display: block;
		position: relative;
		font-weight: 400;
		line-height: 1.2;
		font-size: 3.3rem;
		letter-spacing: 3px;
	}
	.bottom-box .faxs p span {
		font-size: 2.4rem;
	}
	.bottom-box .faxs small {
		display:block;
		margin-left: 62px;
		font-size: 1.5rem;
		line-height: 1;
	}
	.bottom-box .ref {
		flex-basis: 40%;
		margin-left: 2%;
		color: #FFF;
	}
	.bottom-box .ref p.bt1 {
		display:block;
	}
	.bottom-box .ref p.bt1 a {
		display: flex;
		align-items:center;
		position: relative;
		background: #FFF;
		height: 58px;
		text-decoration: none !important;
		color: #0389e9;
	}
	.bottom-box .ref p.bt1 a::before {
		position: absolute;
		left: 14px;
		top: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: url("../images/mails.png") center center no-repeat;
		background-size: 100% auto;
		width: 33px;
		height: 22px;
	}
	.bottom-box .ref p.bt1 a::after {
		position: absolute;
		right: 10px;
		top: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: url("../images/arrow4.png") right center no-repeat;
		background-size: 100% auto;
		width: 39px;
		height: 8px;
	}
	.bottom-box .ref p.bt1 a b {
		font-weight: normal;
		font-size: 1.4rem;
		line-height: 1;
		margin-left: 55px;
	}
	.bottom-box .ref p.bt1 a span {
		font-size: 1.4rem;
		line-height: 1;
		margin-left: 15px
	}
	.bottom-box .ref div.bt2 {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align:center;
		background: #FFF;
		height: 58px;
		margin-top: 15px;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
  .fix-600 {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
	.bottom-box {
		display: block;
		background:url("../images/parallax4.jpg") fixed no-repeat;
		background-size: cover;
		padding: 95px 0;
	}
	.bottom-box h2 {
		color: #FFF;
		letter-spacing: 3px;
		line-height: 1.4;
		font-size: 3rem;
		margin-bottom: 47px;
		text-align:center;
    font-family: 'Josefin Sans', sans-serif;
	}
	.bottom-box .mt {
		display:block;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1.9;
		letter-spacing: 2px;
		margin-bottom: 100px;
	}
	.bottom-box .fix-1200 {
		display: flex;
		justify-content: space-between;
		max-width: 1000px;
	}
	.bottom-box .lef {
		flex-basis: 49%;
		margin-left: 2%;
		color: #FFF;
	}
	.bottom-box .tels {
		display:block;
		pointer-events: none;
	}
	.bottom-box .tels a{
		text-decoration: none;
		color: inherit;
	}
	.bottom-box .tels span {
		display: block;
		position: relative;
		font-weight: 400;
		line-height: 1.2;
		padding-left: 62px;
		font-size: 4.8rem;
		letter-spacing: 3px;
	}
	.bottom-box .tels span::before {
		position:absolute;
		left: 0;
		top: 0;
		content: "";
		background:url("../images/tels.png") center center no-repeat;
		width: 44px;
		height: 45px;
	}
	.bottom-box .tels small {
		display:block;
		margin-left: 62px;
		font-size: 1.5rem;
		line-height: 1;
	}
	.bottom-box .faxs {
		display:block;
		margin-top: 35px;
	}
	.bottom-box .faxs p {
		display: block;
		position: relative;
		font-weight: 400;
		line-height: 1.2;
		font-size: 4.8rem;
		letter-spacing: 3px;
	}
	.bottom-box .faxs p span {
		font-size: 2.4rem;
	}
	.bottom-box .faxs small {
		display:block;
		margin-left: 62px;
		font-size: 1.5rem;
		line-height: 1;
	}
	.bottom-box .ref {
		flex-basis: 40%;
		margin-left: 2%;
		color: #FFF;
	}
	.bottom-box .ref p.bt1 {
		display:block;
	}
	.bottom-box .ref p.bt1 a {
		display: flex;
		align-items:center;
		position: relative;
		background: #FFF;
		border: #FFF solid 2px;
		height: 58px;
		text-decoration: none !important;
		color: #0389e9;
	}
	.bottom-box .ref p.bt1 a::before {
		position: absolute;
		left: 24px;
		top: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: url("../images/mails.png") center center no-repeat;
		width: 33px;
		height: 22px;
	}
	.bottom-box .ref p.bt1 a:hover {
		border: #065189 solid 2px;
	}
	.bottom-box .ref p.bt1 a::after {
		position: absolute;
		right: 20px;
		top: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: url("../images/arrow4.png") right center no-repeat;
		width: 49px;
		height: 13px;
	}
	.bottom-box .ref p.bt1 a:hover::after {
		right: 5px;
	}
	.bottom-box .ref p.bt1 a b {
		font-weight: normal;
		font-size: 1.4rem;
		line-height: 1;
		margin-left: 85px;
	}
	.bottom-box .ref p.bt1 a span {
		font-size: 1.4rem;
		line-height: 1;
		margin-left: 35px
	}
	.bottom-box .ref div.bt2 {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align:center;
		background: #FFF;
		height: 58px;
		border: #FFF solid 2px;
		margin-top: 15px;
	}
	.bottom-box .ref div.bt2:hover {
		border: #065189 solid 2px;
	}
}
/* ========== end △ */



/* ==================================================
	footer
================================================== */
.foot-top .flex .tels__number {
  font-family: 'Josefin Sans', sans-serif;
}

.bottom-box .ref p.bt1 a .bt1__text,
.bt-flex p.bts1 a .bts1__text {
  font-family: 'Josefin Sans', sans-serif;
}


/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.sp_none {
		display: none !important;
	}
	#footer {
		display: block;
		background: #131619;
	}
	.fix-1200 {
		display: block;
    margin-left: 4%;
    margin-right: 4%;
	}
	.foot-top {
		padding-top: 35px;
	}
	.foot-top .fix-1200 {
		position: relative;
		padding-bottom: 24px;
		border-bottom: #41657e solid 1px;
	}
	.foot-top .flogo {
		display: block;
		text-align:center;
		margin-bottom: 30px;
	}
	.foot-top .flogo img {
		display: inline-block;
		max-width: 200px;
	}
	.foot-top .flex {
		display: block;
		color: #FFF;
	}
	.foot-top .flex .tels {
		display:none;
	}
	.foot-top .flex .tels span {
		display: block;
		position: relative;
		font-size: 2.3rem;
		letter-spacing: 4px;
		line-height: 1;
		padding-left: 45px;
		padding-top: 5px;
		margin-bottom: 15px;
	}
	.foot-top .flex .tels span::before {
		position:absolute;
		left: 0;
		top: 0;
		content: "";
		background: url("../images/tels.png") center center no-repeat;
		background-size: 100% auto;
		width: 30px;
		height: 31px;
	}
	.foot-top .flex .tels small {
		display: block;
		font-size: 1.3rem;
		line-height: 1;
		letter-spacing: 2px;
	}
	.foot-top .flex p {
		display: block;
		text-align: center;
		margin-top: 15px;
		color: #FFF;
		font-size: 1.3rem;
		line-height: 1.7;
	}
	.foot-top .abt {
		display: block;
		margin-top: 20px;
		text-align: center;
	}
	.foot-top .abt li {
		display: inline-block;
		margin: 4px;
	}
	.foot-middle {
		display: block;
	}
	.foot-middle .fix-1200 {
		display: block;
		padding-top: 45px;
	}
	.foot-middle .lef,
	.foot-middle .ninlab-container {
		display: none;
	}
	.foot-middle .ref {
		max-width: 270px;
		margin-left: auto;
		margin-right: auto;
		background: url("../common_img/magazin-bg.png") center center no-repeat;
		background-size: cover;
		border-radius: 10px;
		text-align:center;
		padding: 25px 0;
	}
	.foot-middle .ref span {
		display: block;
		color: #FFF;
		letter-spacing: 2px;
		line-height: 1;
		font-size: 1.9rem;
		margin-bottom: 15px;
	}
	.foot-middle .ref a {
		display: block;
		margin: 0 15px;
		font-size: 1.45rem;
		position: relative;
		text-align: center;
		color: #FFF;
		text-decoration: none !important;
		line-height: 1;
		background: #0389e9;
		padding: 20px 0;
	}
	.foot-middle .ref a::after {
		position: absolute;
		right: 20px;
		top: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: url("../images/arrow2.png") right center no-repeat;
		width: 49px;
		height: 13px;
	}
	.copy {
		display: block;
		padding: 24px 0;
		text-align: right;
		margin-top: 30px;
	}
	.copy p {
		display: block;
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
	.copy small {
		font-size: 1rem;
		line-height: 1;
		color: #b6b6b6;
	}
}
/* ▽ PC-TAB layout ========== */
@media print, screen and (min-width: 640px) {
	.pc_none {
		display: none !important;
	}
	#footer {
		display: block;
		background: #131619;
	}
	.foot-top {
		padding-top: 75px;
	}
	.foot-top .fix-1200 {
		position: relative;
		padding-bottom: 40px;
		border-bottom: #41657e solid 1px;
	}
	.foot-top .flogo {
		display: block;
		text-align:center;
		margin-bottom: 30px;
	}
	.foot-top .flogo img {
		display: inline-block;
		max-width: 100%;
	}
	.foot-top .flex {
		display: flex;
		justify-content: space-between;
		max-width: 490px;
		margin-left: auto;
		margin-right: auto;
		color: #FFF;
	}
	.foot-top .flex .tels {
		flex-basis: 48%;
	}
	.foot-top .flex .tels span {
		display: block;
		position: relative;
		font-size: 2.3rem;
		letter-spacing: 4px;
		line-height: 1;
		padding-left: 45px;
		padding-top: 5px;
		margin-bottom: 15px;
	}
	.foot-top .flex .tels span::before {
		position:absolute;
		left: 0;
		top: 0;
		content: "";
		background: url("../images/tels.png") center center no-repeat;
		background-size: 100% auto;
		width: 30px;
		height: 31px;
	}
	.foot-top .flex .tels small {
		display: block;
		font-size: 1.3rem;
		line-height: 1;
		letter-spacing: 2px;
	}
	.foot-top .flex p {
		flex-basis: 48%;
		color: #FFF;
		font-size: 1.3rem;
		line-height: 1.7;
	}
	.foot-top .abt {
		position:absolute;
		right: 0;
		bottom: 45px;
	}
	.foot-top .abt li {
		display: inline-block;
		margin-left: 9px;
	}
	.foot-top .abt li a {
		position: relative;
	}
	.foot-top .abt li a::before {
		position:absolute;
		left: 0;
		top: 10px;
		right: 0;
		content: "";
		margin:auto;
		width: 1px;
		height: 10px;
		background: #FFF;
	}
	.foot-top .abt li a:hover::before {
		top: -15px;
	}
	.foot-top .abt li a img {
		position: relative;
		z-index: 5;
	}
	.foot-middle {
		display: block;
	}
	.foot-middle .fix-1200 {
		display: flex;
		justify-content: space-between;
		padding-top: 45px;
	}
	.foot-middle .lef {
		flex-basis: 60%;
	}
	.foot-middle ul {
		display:block;
		margin-bottom: 50px;
	}
	.foot-middle ul li {
		display: inline-block;
		font-size: 1.35rem;
		line-height: 1;
		margin-left: 40px;
	}
	.foot-middle ul li:nth-child(1) {
		margin-left: 0px;
	}
	.foot-middle ul li a {
		color: #FFF;
		text-decoration: none !important;
	}
	.foot-middle ul li a:hover {
		text-decoration: underline !important;
	}
	.bt-flex {
		display: flex;
		justify-content: space-between;
	}
	.bt-flex p {
		flex-basis: 48%;
	}
	.bt-flex p.bts1 a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 60px;
		position: relative;
		color: #FFF;
		text-decoration: none !important;
		background: #0389e9;
		font-weight: normal;
		font-size: 1.4rem;
		line-height: 1;
	}
	.bt-flex p.bts1 a::before {
		position:absolute;
		left: 20px;
		top:0;
		bottom: 0;
		margin:auto;
		content: "";
		background:url("../common_img/mail.png") left center no-repeat;
		width: 33px;
		height: 22px;
	}
	.bt-flex p.bts1 a::after {
		position: absolute;
		right: 20px;
		top: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: url("../images/arrow2.png") right center no-repeat;
		width: 49px;
		height: 13px;
	}
	.bt-flex p.bts1 a:hover::after {
		right: 5px;
	}
	.bt-flex p.bts1 a b {
		font-weight: normal;
		margin-right: 20px;
	}
	.bt-flex p.bts2 a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 60px;
		position: relative;
		color: #0389e9;
		text-decoration: none !important;
		background: #FFF;
		font-weight: normal;
		font-size: 1.4rem;
		line-height: 1;
	}
	.bt-flex p.bts2 a::before {
		position:absolute;
		left: 20px;
		top:0;
		bottom: 0;
		margin:auto;
		content: "";
		background:url("../common_img/foot-ic2.png") left center no-repeat;
		width: 31px;
		height: 37px;
	}
	.bt-flex p.bts3 a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 60px;
		position: relative;
		color: #FFF;
		text-decoration: none !important;
		background: #06c755;
		font-weight: normal;
		font-size: 1.4rem;
		line-height: 1;
	}
	.bt-flex p.bts3 a::before {
		position:absolute;
		left: 20px;
		top:0;
		bottom: 0;
		margin:auto;
		content: "";
		background:url("../common_img/icon_line.png") left center no-repeat;
		background-size: contain;
		width: 32px;
		height: 32px;
	}
	.bt-flex p.bts3 a::after {
		position: absolute;
		right: 20px;
		top: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: url("../images/arrow2.png") right center no-repeat;
		width: 49px;
		height: 13px;
	}
	.bt-flex p.bts3 a:hover::after {
		right: 5px;
	}
	.bt-flex p.bts3 a b {
		font-weight: bold;
		margin-right: 20px;
	}
	.foot-middle .fix-1200.ninlab-container {
		padding-top: 15px;
	}
	.ninlab-inner {
		flex-basis: 60%;
	}
	.bt-flex.ninlab p.bts2 a::before {
		content: none;
	}
	.bt-flex p.bts2 a::after {
		position: absolute;
		right: 20px;
		top: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: url("../images/arrow4.png") right center no-repeat;
		width: 49px;
		height: 13px;
	}
	.bt-flex p.bts2 a:hover::after {
		right: 5px;
	}
	.foot-middle .ref {
		flex-basis: 35%;
		background: url("../common_img/magazin-bg.png") center center no-repeat;
		background-size: cover;
		border-radius: 10px;
		text-align:center;
		padding: 25px 0;
	}
	.foot-middle .ref span {
		display: block;
		color: #FFF;
		letter-spacing: 2px;
		line-height: 1;
		font-size: 1.9rem;
		margin-bottom: 15px;
	}
	.foot-middle .ref a {
		display: block;
		margin: 0 45px;
		font-size: 1.45rem;
		position: relative;
		text-align: center;
		color: #FFF;
		text-decoration: none !important;
		line-height: 1;
		background: #0389e9;
		padding: 20px 0;
	}
	.foot-middle .ref a::after {
		position: absolute;
		right: 20px;
		top: 0;
		bottom: 0;
		margin:auto;
		content: "";
		background: url("../images/arrow2.png") right center no-repeat;
		width: 49px;
		height: 13px;
	}
	.foot-middle .ref a:hover::after {
		right: 5px;
	}
	.copy {
		display: block;
		padding: 24px 0;
		text-align: right;
		margin-top: 30px;
	}
	.copy p {
		display: block;
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
	}
	.copy small {
		font-size: 1rem;
		line-height: 1;
		color: #b6b6b6;
	}

}
#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: #00a0e0;
	  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;
  padding: 15px 0;
  color: #fff;
	background: #039be9;
  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: 97px;
		height: 97px;
		text-indent: -9999px;
		background:url(../common_img/pagetop.png) center center no-repeat;
	}

}
/* ========== end △ */
#pagetop_btn_f .fa {
  margin-right: 10px;
}

