@charset "utf-8";

/*--------------------------------------------
	 BASE
--------------------------------------------*/
@media print {
#hbgNavi {
	display: none;
}
}
@media screen and (min-width : 768px ) {
.over:hover {
	opacity: 0.7;
}
}
.ios .over:hover, .ios .over:active, .ios .over:link, .ios .over:visited, .ios .over::focus {
 opacity:1;
}
.cf:after {
	content: "";
	clear: both;
	display: block;
	height: 0;
}
:root .cf::after { /* IE9 */
	content: ""\9;
	clear: both\9;
	display: block\9;
	height: 0\9;
}
.noEvent {
	pointer-events: none;
}
*, *:before, *:after {
	box-sizing: border-box;
}

input[type="button"],input[type="text"],input[type="submit"],input[type="image"],textarea{
   -webkit-appearance: none;
   border-radius: 0;
}
html {
	-webkit-text-size-adjust: 100%;
	font-size: 62.5%;
}
body {
	width: 100%;
	color: #121212;
	font-size: 1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.875;
	font-weight: 500;
}
a {
	text-decoration: none;
	color: #121212;
	transition: 0.3s ease-in-out;
}
table {
	width: 100%;
}
.tel_link {
	pointer-events: none
}
/*--------------------------------------------
	共通パーツ
--------------------------------------------*/

/*レイアウト*/
.inner_main {
	max-width: 1200px;
	margin: 0 auto;
}
.container {
	padding: 10rem 3rem;
	position: relative;
	overflow: hidden;
}
/*flex*/
.flex {
	display: flex;
}
.flex_wrap {
	display: flex;
	flex-wrap: wrap;
}
.flex.between {
	justify-content: space-between;
}
.flex.around {
	justify-content: space-around;
}
.flex.flex_start {
	justify-content: flex-start;
}
.flex.flex_end {
	justify-content: flex-end;
}
.flex.center {
	justify-content: center;
}
.flex.align_center {
	align-items: center;
}
.flex_container {
	display: flex;
	flex-direction: row;
}
.txt_vertical {
	writing-mode: vertical-rl;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
}
.txt_horizontal {
	writing-mode: horizontal-tb;
	-webkit-writing-mode: horizontal-tb;
	-ms-writing-mode: horizontal-tb;
}
.ofi {
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;'
}
/*セクションの配色*/
.bg_white {
	background: #fff;
}
/*font*/
.font_en {
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0;
	font-weight: 500;
}
/*カラー*/
.color_or {
	color: #d74200;
}
.color_white {
	color: #fff;
}
/*ボタン*/
.btn {
	margin-top: 5rem;
}
.btn a {
	display: block;
	position: relative;
	line-height: 1;
	font-weight: 700;
}
.btn_primary {
	max-width: 45rem;
	font-size: 1.8rem;
	color: #fff;
	border: solid 5px #121212;
	padding: 2.6rem 0;
	background: #121212;
	transition: 0.3s ease-in-out;
	display: block;
	line-height: 1;
	text-align: center;
	position: relative;
	z-index: 0;
}
.btn_primary:after {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 8px;
	border-color: transparent transparent transparent #ffffff;
	position: absolute;
	right: 3rem;
	top: 50%;
	margin-top: -8px;
	transition: 0.3s ease-in-out;
}
.btn_contact {
	font-size: 1.4rem;
	color: #fff;
	line-height: 1;
	padding: 1.8rem 0;
	width: 249px;
	text-align: center;
	display: block;
	background: #d74200;
	border: solid 3px #d74200;
}
.btn_contact span {
	position: relative;
	padding-left: 2.9rem;
}
.btn_contact span:before {
	content: '';
	width: 19px;
	height: 14px;
	background: url(../Image/common/icon_mail.png) no-repeat center / contain;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -7px;
	transition: 0.3s ease-in-out;
}
.btn_primary.center {
	margin: 0 auto;
}
.btn_primary.sm {
	width: 252px;
	padding: 1.1rem 0;
	border-width: 2px;
	font-size: 1.6rem;
}
.btn_primary.sm:after {
	content: none;
}
.btn_or {
	background: #d74200;
	border-color: #d74200;
}
.btn_link span {
	position: relative;
	padding-right: 2.2rem;
}
.btn_link span:after {
	content: '';
	background: url(../Image/common/icon_link.png) no-repeat center / contain;
	width: 12px;
	height: 12px;
	position: absolute;
	top: 50%;
	margin-top: -6px;
	right: 0;
}
.txt_link {
	position: relative;
	display: block;
	padding-left: 11px;
}
.txt_link:before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 3.5px 0 3.5px 4px;
	border-color: transparent transparent transparent #121212;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -2px;
	transition: 0.3s;
}
/*hover*/

@media print, screen and (min-width : 992px ) {
.btn_primary:hover {
	color: #121212;
	background: transparent;
}
.btn_primary:hover:after {
	right: 2.5rem;
	border-color: transparent transparent transparent #121212;
}
.btn_contact:hover {
	background: #fff;
	color: #d74200;
}
.btn_contact:hover span:before {
	background-image: url(../Image/common/icon_mail_or.png);
}
.btn_or:hover {
	color: #d74200;
}
.txt_link:hover:before {
	left: 3px;
}
}
/*タイトル*/
.ttl_01 {
	font-size: 7.2rem;
	font-weight: 700;
	line-height: 1;
}
.ttl_02 {
	font-size: 4.8rem;
	line-height: 1;
	font-weight: 700;
}
.ttl_02.ttl_en {
	line-height: 0.8;
}
.ttl_03 {
	font-size: 6rem;
	line-height: 1;
	font-weight: 700;
}
.ttl_en + .ttl_ja {
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 1;
	margin-top: 1.6rem;
}
.ttl_box.center{
	text-align: center;
}
.ttl_box .ttl_sub {
	font-size: 3rem;
}
.ttl_icon {
	background: no-repeat center top / auto 50px;
	padding-top: 6rem;
}
.ttl_icon:before {

}
.b_txt {
	font-weight: 700;
}
.u_line {
	background: linear-gradient(transparent 80%, #f1a700 0%);
	display: inline-block;
	padding-bottom: 0.4rem;
}
.u_line_multi {
	display: inline-block;
	line-height: 1;
	position: relative;
	padding-bottom: 6px;
	z-index: 0;
}
.u_line_multi:after {
	content: '';
	width: 100%;
	height: 10px;
	background: #f1a700;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}
.u_line_multi.or:after {
	background: #d74200;
}
.ttl_deco span {
	display: inline-block;
	padding: 4rem;
	padding-top: 3rem;
	position: relative;
}
.ttl_deco span:before,
.ttl_deco span:after {
	content: '';
	width: 5rem;
	height: 5rem;
	position: absolute;
}
.ttl_deco span:before {
	bottom: 0;
	left: 0;
	background: url(../Image/common/deco_txt_l.png) no-repeat center / contain;
}
.ttl_deco span:after {
	top: -1rem;
	right: 0;
	background: url(../Image/common/deco_txt_r.png) no-repeat center / contain;
}
.ttl_deco.bl span:before {
	background: url(../Image/common/deco_txt_l_bl.png) no-repeat center / contain;
}
.ttl_deco.bl span:after {
	background: url(../Image/common/deco_txt_r_bl.png) no-repeat center / contain;
}
.ttl_deco_box {
	font-weight: 700;
	font-size: 3rem;
	line-height: 1;
}
.ttl_deco_box span {
	display: inline-block;
	padding: 1.6rem 3rem;
	background: url(../Image/common/deco_box.png) no-repeat center / contain;
}
.ttl_box.u_arrow .inner {
	display: inline-block;
	padding-bottom: 4.2rem;
	position: relative;
	overflow: hidden;
}
.ttl_box.u_arrow .inner:after {
	content: '';
	height: 5px;
	width: 50%;
	background: #121212;
	position: absolute;
	bottom: 15px;
	right: -11px;
}
.ttl_box.u_arrow .inner:before {
	content: '';
	height: 5px;
	width: 50%;
	background: #121212;
	position: absolute;
	bottom: 15px;
	left: -11px;
}

.ttl_box.u_arrow .arrow {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	border-top: 5px solid #121212;
	border-right: 5px solid #121212;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	left: 50%;
	margin-left: -10px;
	bottom: 6px;
}
.list_num {
	position: absolute;
	font-family: 'Oswald', sans-serif;
	font-size: 4.8rem;
	padding: 0 0.6rem;
	border-bottom: solid 5px #121212;
	line-height: 0.9;
	padding-bottom: 0.9rem;
}
/*--------------------------------------------
	HEADER
--------------------------------------------*/
header {
	padding: 0 3rem;
}
header .header_inner {
	max-width: 1200px;
	margin: 0 auto;
}
header .h_top {
	padding: 3rem 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
header .h_logo {
	max-width: 40%;
}
header .h_logo a {
	display: block;
}
header .h_logo img {
	display: block;
}
header .h_contact {
	display: flex;
	align-items: center;
}
header .h_contact .tel_box {
	margin-right: 3rem;
}
.tel_box {
	line-height: 1;
	font-weight: 500;
}
.tel_box .num {
	position: relative;
	padding-left: 2.3rem;
	font-family: 'Oswald', sans-serif;
	font-size: 3rem;
	margin-left: 8px;
}
.tel_box .num:before {
	content: '';
	width: 15px;
	height: 24px;
	background: url(../Image/common/icon_phone.png) no-repeat center / contain;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -12px;
}
.tel_box .txt {
	margin-top: 0.8rem;
	font-size: 1.2rem;
}
header .h_bottom {
	border-top: solid 3px #000;
}
header .h_navi ul {
	display: flex;
	justify-content: center;
}
header .h_navi ul li {
	margin-right: 3rem;
}
header .h_navi ul li:last-child {
	margin-right: 0;
}
header .h_navi ul li .nav_item {
	display: block;
	position: relative;
	padding: 2.6rem 0;
	line-height: 1;
}
.nav_item span {
	display: inline-block;
	position: relative;
	padding: 4px 5px;
}
.nav_item span:before {
	content: '';
	background: #f1a700;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transform: scale(0,1);
	transition: 0.3s;
	z-index: -1;
}
/*drawer*/
.hbg_btn {
	z-index: 999;
	background: #121212;
}
.drawer-hamburger {
	position: static;
	background: #121212;
	border: solid 3px #121212;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	height: 100%;
	padding: 0;
	padding: 13px 16px;
}
.drawer-hamburger span {
	height: 2px;
	width: 35px;
	background: #fff;
	display: block;
	margin-bottom: 9px;
	transition: .3s ease-in-out;
	transform-origin: 50% 50%;
	transform: scale(1);
}
.drawer-hamburger span:last-child {
	margin-bottom: 0;
}
.drawer-nav {
	width: 60%;
	background: #fff;
}
.drawer--right .drawer-nav {
	z-index: 100;
	transition: transform .6s;
	right: 0;
	transform: translateX(100%);
}
.drawer-hamburger {

}

.drawer.drawer-open .drawer-hamburger .bar01 {
	transform: rotate(-135deg) translate(-8px, -8px);
}
.drawer.drawer-open .drawer-hamburger .bar02 {
	opacity: 0;
}
.drawer.drawer-open .drawer-hamburger .bar03 {
	transform: rotate(135deg) translate(-8px, 8px);
}
.drawer--right.drawer-open header {
	z-index: 9999;
}
.drawer--right.drawer-open header.fixed {
	background: transparent;
	border-bottom: none;
}
.drawer--right.drawer-open header.fixed .h_logo a {
	background: none;
}
.drawer--right.drawer-open header .h_logo img {

}
.drawer--right.drawer-open .drawer-nav {
	transform: translateX(0%);
	right: 0;
}
.drawer--right.drawer-open .drawer-hamburger {
	position: relative;
	z-index: 160;
	right: initial;
}
.drawer--right.drawer-open .hbg_btn span {
	/* background: #fff; */
}
.drawer-menu {
	padding: 5rem 4%;
}
.drawer-overlay {
	background-color: rgba(0, 0, 0, .4);
}
.drawer-menu nav {
	margin-top: 6rem;
}
.drawer-menu nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.drawer-menu nav ul li {
	border-bottom: solid 5px #121212;
	margin-bottom: 0;
	width: 48%;
}
.drawer-menu nav ul li:nth-child(-n+2) {
	border-top: solid 5px #121212;
}
.drawer-menu nav ul li.btn {
	border-bottom: none;
	width: 100%;
}
.drawer-menu nav ul li.btn .btn_contact {
	width: 100%;
	margin: 0 auto;
	padding: 2.6rem 0;
}
.drawer-menu nav ul li .nav_item {
	font-weight: 500;
	font-size: 1.5rem;
	display: block;
	padding: 2.5rem 0;
}

@media screen and ( min-width: 992px ) {
.nav_item:hover span:before {
		opacity: 1;
		transform: scale(1,1);
	}
	.drawer-hamburger:hover {
		background: #fff;
	}
	.drawer-hamburger:hover span {
		background: #121212;
	}
}
/*--------------------------------------------
	sec_contact
--------------------------------------------*/
.sec_contact  {
	background: url(../Image/common/bg_sec_contact.png) no-repeat top center #121212;
	padding: 0 3rem;
	margin-top: 10rem;
}
.contact_area {
	background: #fff;
}
.contact_area > .txt {
	padding: 2.4rem 0;
	border-bottom: solid 2px #121212;
	text-align: center;
}
.contact_area > .txt p {
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 1.5;
	letter-spacing:
}
.contact_area > .txt span {
	position: relative;
	display: block;
	padding: 0 1rem;
	display: inline-block;
	z-index: 0;
}
.contact_area > .txt span:after {
	content: '';
	height: 14px;
	width: 100%;
	background: url(../Image/common/img_line.png) no-repeat;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}
.contact_area > .txt span.long:after {
	background-image: url(../Image/common/img_line_l.png);
}
.contact_area .bottom_wrap {
  border-bottom: solid 2px #121212;
	padding: 5rem 0;
}
.contact_area .bottom_wrap .inner {
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
.contact_area .icon_txt {
	width: 13.9rem;
	height: 13.9rem;
	color: #fff;
	background: #121212;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.15;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 5rem;
}

.contact_area .tel_box {
	font-weight: 500;
	text-align: center;
	line-height: 1;
	margin-right: 3rem;

}
.contact_area .tel_box .t_txt {
	font-size: 2rem;

}
.contact_area .tel_box .num {
	font-size: 5.9rem;
	padding-left: 4.6rem;
	margin-top: 1.2rem;
	line-height: 0.8;
	margin-left: 0;
}
.contact_area .tel_box .num:before {
	width: 32px;
	height: 50px;
	margin-top: -21px;
}
.contact_area .tel_box .b_txt {
	color: #fff;
	background: #f1a700;
	padding: 1.5rem 0;
	margin-top: 1.5rem;
}
.contact_area .btn_contact span {
	padding-left: 0;
	padding-top: 4.2rem;
	display: block;
}
.contact_area .btn_contact {
	width: 300px;
	padding: 3.6rem 0;
	border-width: 5px;
}
.contact_area .btn_contact span:before {
	width: 34px;
	height: 26px;
	top: 0;
	left: 50%;
	margin-left: -17px;
	margin-top: 0;
}
/*--------------------------------------------
	FOOTER
--------------------------------------------*/
footer {
	background: #121212;
	color: #fff;
	padding: 0 3rem;
}
footer .footer_inner {
	max-width: 1200px;
	margin: 0 auto;
}
footer .f_top {
	border-bottom: solid 1px #3c3c3c;
	padding: 9.2rem 0 3rem;
}
footer .f_top .logo_wrap {
	display: flex;
}
footer .f_top .logo_wrap .f_logo {
	padding: 0.4rem 0;
}
footer .f_top .logo_wrap .f_logo:nth-child(1) img {
	max-width: 351px;
}
footer .f_top .logo_wrap .f_logo:nth-child(2) img {
	max-width: 338px;
}
footer .f_top .logo_wrap .f_logo:not(:first-child) {
	margin-left: 5rem;
	padding-left: 5.1rem;
	position: relative;
}
footer .f_top .logo_wrap .f_logo:not(:first-child):before {
	content: '';
	width: 1px;
	height: 100%;
	background: #3c3c3c;
	position: absolute;
	left: 0;
	top: 0;
}
footer .f_top .logo_wrap .f_logo img {
	display: block;
}

footer .f_nav ul {
	display: flex;
	flex-wrap: wrap;
}
footer .f_nav .f_nav_item {
	font-weight: 500;
	font-size: 1.4rem;
	display: block;
	line-height: 1;
	color: #fff;
	position: relative;
}
footer .f_top .f_nav {
	margin-top: 5rem;
}
footer .f_top .f_nav .f_nav_item {
	display: flex;
	align-items: center;
	margin-bottom: 2rem;
}

footer .f_top .f_nav .f_nav_item:before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 4px;
	border-color: transparent transparent transparent #ffffff;
	display: inline-block;
	margin-right: 0.8rem;
}
footer .f_nav li:not(:last-child) {
	margin-right: 3rem;
}
footer .f_bottom .footer_inner {
	padding: 5rem 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
footer .copy {
	font-size: 1.4rem;
	line-height: 1;
}
.totop {
	background: #fff;
	border: solid 2px #121212;
	width: 6rem;
	height: 6rem;
	position: fixed;
	right: 3%;
	bottom: 5rem;
	opacity: 0;
	transition: 0.3s;
	z-index: 999;
}
.totop.visible {
	opacity: 1;
}
.totop a {
	display: block;
	width: 100%;
	height: 100%;
	background: url(../Image/common/arrow_top.png) no-repeat center / 20px;
}
@media screen and (min-width : 992px ) {
	footer .f_nav .f_nav_item:hover {
		opacity: 0.7;
	}
	.totop:hover {
		background: #121212;
		border-color: #fff;
	}
	.totop:hover a {
		background-image: url(../Image/common/arrow_top_wh.png);
	}
}
/*       ANIMATION
----------------------------*/
@media screen and (min-width : 768px) {
.show_up {
	transition: all 0.5s ease-in-out;
	position: relative;
	transform: translateY(50px);
	opacity: 0;
}
.show_up.is-active {
	opacity: 1;
	transform: translateY(0);
}
*[data-delay="0"], *[data-delay="0"]:before, *[data-delay="0"]:after {
	transition-delay: 0s;
}
*[data-delay="100"], *[data-delay="100"]:before, *[data-delay="100"]:after {
	transition-delay: .1s;
}
*[data-delay="200"], *[data-delay="200"]:before, *[data-delay="200"]:after {
	transition-delay: .2s;
}
*[data-delay="300"], *[data-delay="300"]:before, *[data-delay="300"]:after {
	transition-delay: .3s;
}
*[data-delay="400"], *[data-delay="400"]:before, *[data-delay="400"]:after {
	transition-delay: .4s;
}
*[data-delay="500"], *[data-delay="500"]:before, *[data-delay="500"]:after {
	transition-delay: .5s;
}
*[data-delay="600"], *[data-delay="600"]:before, *[data-delay="600"]:after {
	transition-delay: .6s;
}
*[data-delay="700"], *[data-delay="700"]:before, *[data-delay="700"]:after {
	transition-delay: .7s;
}
*[data-delay="800"], *[data-delay="800"]:before, *[data-delay="800"]:after {
	transition-delay: .8s;
}
*[data-delay="900"], *[data-delay="900"]:before, *[data-delay="900"]:after {
	transition-delay: .9s;
}
*[data-delay="1000"], *[data-delay="1000"]:before, *[data-delay="1000"]:after {
	transition-delay: 1s;
}
}
/*----------------------------------------------------

 (max-width : 1249px)

*----------------------------------------------------*/
@media screen and (max-width : 1249px ) {
	header .h_navi ul li {
		margin-right: 2rem;
	}
}
/*----------------------------------------------------

 (max-width : 1199px)

*----------------------------------------------------*/
@media screen and (max-width : 1199px ) {
	header .h_right {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		/* background: #121212; */
	}
	header .h_contact .tel_box {
		margin-right: 2rem;
	}
	header .h_contact .contact_btn {
		margin-right: 2rem;
	}
	footer .f_top .f_nav li:not(:last-child) {
		margin-right: 2.5rem;
	}
}
@media screen and (max-width : 1050px ) {
	header .h_contact .tel_box {
		margin-right: 1.5rem;
	}
	header .h_contact .contact_btn {
		margin-right: 1.5rem;
	}
}
/*----------------------------------------------------

(min-width : 992px) and (max-width : 1199px)

*----------------------------------------------------*/
@media (min-width : 992px) and (max-width : 1199px) {

}
