@charset "utf-8";

/* --------------------------------------------------
	Resetting default margin and padding
-------------------------------------------------- */

/* !HTML5 elements
---------------------------------------------------------- */
header, footer, nav, section, aside, article
{ display: block;}

/* !Reseting
---------------------------------------------------------- */
body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 400;
	color: #fff;
	background: #fff;
	letter-spacing: 0.06em;
	-webkit-text-size-adjust: none;
	font-feature-settings: "palt";
}
@media (max-width: 768px) {
body {
	font-size: 14px;
	letter-spacing: 0.06em;
}
}

body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td,input,a,textarea,select,span,nav,section,header
{
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
}
input,
textarea,
select {
	margin: 0;
	font-size: 100%;
	appearance: none;
	-webkit-appearance: none;
	border: none;
	outline: none;
}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
fieldset, img
{ border: 0;}
img
{ vertical-align: top; max-width: 100%;}
address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: normal;}
ol, ul
{ list-style: none;}
caption, th
{ text-align: left;}
h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: normal;}
q:after, q:before
{ content:'';}
a, input
{ /* outline: none; */ }
abbr, acronym
{ border: 0;}



/* !Layout
---------------------------------------------------------- */
html { overflow-y: scroll;}
body { }
@media print {
	html,
	html body { *zoom: 0.65;}
}


/* link
------------------------------------------------ */
a {
	color: #fff;
	text-decoration:none;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}

.op,
.op a,
.op img,
.op input {
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	-ms-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}
.op:hover,
.op a:hover,
.op:hover img,
.op:hover input {
	opacity: .7;
	-webkit-opacity: .7;
	-moz-opacity: .7;
	filter: alpha(opacity=70);	/* IE lt 8 */
	-ms-filter: "alpha(opacity=70)"; /* IE 8 */
	-webkit-transition: opacity 0.3s ease-out;
	-moz-transition: opacity 0.3s ease-out;
	-ms-transition: opacity 0.3s ease-out;
	transition: opacity 0.3s ease-out;
	-webkit-backface-visibility: hidden;
	-webkit-transform-style: preserve-3d;
}



/* !fs
------------------------------------------------ */
.visible_pc {
	display: block !important;
}
.visible_tab {
	display: block !important;
}
.visible_ts {
	display: none !important;
}
@media (max-width: 1024px) {
.visible_tab {
	display: none !important;
}
}
@media (max-width: 768px) {
.visible_pc {
	display: none !important;
}
.visible_ts {
	display: block !important;
}
}

.fwb {
	font-weight: 700;
}
.fwr {
	font-weight: 400;
}

.vat {
	vertical-align: top !important;
}

/* !ff
------------------------------------------------ */
.ff_outfit {
	font-family: "Outfit", sans-serif;
}
.ff_noto {
	font-family: "Noto Sans JP", sans-serif;
}


/* !fc
------------------------------------------------ */
.error {
	color: #FF0000;
}


/* wrapper
----------------------------------------------- */
#wrapper {
	position: relative;
}
article {
	padding: 80px 0 0;
}

.inner {
	max-width: 1080px;
	margin: 0 auto;
}

@media (max-width: 1024px) {
article {
	padding: 60px 0 0;
}
}



/* header
----------------------------------------------- */
#header {
	position: fixed;
	left: 0;
	top: 15px;
	width: 100%;
	background: rgba(255,255,255,0);
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
	z-index: 90;
}
.show #header {
	top: 0;
	background: rgba(255,255,255,0.6);
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.top.show #header {
	top: 0;
	background: rgba(0,0,50,0.6);
}
#header .header_in {
	padding: 0 40px;
	height: 76px;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	position: relative;
}
#header .header_logo {
	display: flex;
	align-items: center;
	position: relative;
	z-index: 100;
}
#header .header_logo a {
	display: block;
	width: 200px;
}
#header .header_logo .logo_sub {
	display: block;
}
#header .header_logo .logo_top {
	display: none;
}

#header .header_mess {
	display: flex;
	align-items: stretch;
}
#header .header_navi {
	display: flex;
	align-items: stretch;
	margin-right: 10px;
}
#header .header_navi > li {
	font-weight: 700;
	font-size: 16px;
	letter-spacing: 0.1em;
	margin-right: 40px;
}
#header .header_navi > li > a {
	color: #000032;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
	position: relative;
}

#header .header_navi > li > a:before {
	position: absolute;
	top: calc(50% + 15px);
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #000032;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
#header .header_navi > li > a:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
}

#header .header_navi > li .sub_down {
	padding: 0 15px 0 0;
	position: relative;
}
#header .header_navi > li .sub_down:before {
	position: absolute;
	content: "";
	right: 0;
	top:50%;
	transform:translateY(-50%);
	border-top: 6px solid #000032;
	border-bottom: 0;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	-o-border-radius: 4px;
	border-radius: 4px;
	z-index: 2;
}
#header .header_navi .pulldownmenu {
	position: absolute;
	right: 70px;
	top: 100%;
	display: none;
	z-index: 9;
}
#header .header_navi .pull_inner {
	background: #fff;
	padding: 40px;
	color: #000032;
	display: flex;
	align-items: center;
	-webkit-border-radius: 0 50px 0 0;
	-moz-border-radius: 0 50px 0 0;
	-ms-border-radius: 0 50px 0 0;
	-o-border-radius: 0 50px 0 0;
	border-radius: 0 50px 0 0;
	-webkit-box-shadow: 0 0 20px rgba(0,0,50,0.2);
	-moz-box-shadow: 0 0 20px rgba(0,0,50,0.2);
	-ms-box-shadow: 0 0 20px rgba(0,0,50,0.2);
	-o-box-shadow: 0 0 20px rgba(0,0,50,0.2);
	box-shadow: 0 0 20px rgba(0,0,50,0.2);
}
#header .header_navi .pull_inner a {
	color: #000032;
}
#header .header_navi .pull_mess {
	align-self: flex-start;
}
#header .header_navi .pull_tit {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	font-weight: 700;
	padding: 0 0 13px;
}
#header .header_navi .pull_tit:before {
	position: absolute;
	content: "";
	background: #000032;
	width: 40px;
	height: 1px;
	left: 0;
	bottom: 0;
	z-index: 0;
}
#header .header_navi .pull_tit .tit_eng {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2;
}
#header .header_navi .pull_tit .tit_jps {
	font-size: 16px;
	letter-spacing: 0.06em;
}
#header .header_navi .pull_btn {
	margin-top: 20px;
	display: flex;
	justify-content: flex-start;
}
#header .header_navi .pull_btn a {
	display: block;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding: 10px 10px 10px 20px;
	border: 2px #000032 solid;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	-ms-border-radius: 30px;
	-o-border-radius: 30px;
	border-radius: 30px;
}
#header .header_navi .pull_btn a:before {
	background: #000032;
}
#header .header_navi .pull_btn .btn_txt {
	position: relative;
	padding: 0 45px 0 0;
	z-index: 1;
}
#header .header_navi .pull_btn .btn_txt:before {
	position: absolute;
	content: "";
	background: url(../img/common/arrow_s_wh.svg) center center no-repeat #000032;
	background-size: 12px auto;
	width: 26px;
	height: 26px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 0;
}
#header .header_navi .pull_btn a:hover {
	color: #fff;
}
#header .header_navi .pull_btn a:hover .btn_txt:before {
	background: url(../img/common/arrow_s_bl.svg) center center no-repeat #fff;
	background-size: 12px auto;
}

#header .header_navi .pull_link {
	margin: 0 40px;
	display: flex;
}
#header .header_navi .pull_link .link_in+.link_in {
	margin-left: 40px;
}
#header .header_navi .pull_link .link_in li+li {
	margin-top: 15px;
}
#header .header_navi .pull_link .link_in li {
	padding: 0 0 0 13px;
	position: relative;
}
#header .header_navi .pull_link .link_in li:before {
	position: absolute;
	content: "›";
	font-family: "Noto Sans JP", sans-serif;
	left: 0;
	top: 50%;
	font-size: 16px;
	line-height: 1;
	transform: translateY(-55%);
	z-index: 0;
}
#header .header_navi .pull_link .link_in li a {
	display: inline-block;
	letter-spacing: 0.06em;
	position: relative;
}
#header .header_navi .pull_link .link_in li a:before {
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #000032;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
#header .header_navi .pull_link .link_in li a:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
}

#header .header_navi .pull_pic {
	width: 216px;
}
#header .header_navi .pull_pic img {
	width: 100%;
	-webkit-border-radius: 0 30px 0 0;
	-moz-border-radius: 0 30px 0 0;
	-ms-border-radius: 0 30px 0 0;
	-o-border-radius: 0 30px 0 0;
	border-radius: 0 30px 0 0;
}
#header .header_cta {
	display: flex;
	align-items: center;
}
#header .header_cta a {
	border: 2px #000032 solid;
	height: 46px;
	padding: 0 30px 0 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.06em;
	overflow: hidden;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	-ms-border-radius: 30px;
	-o-border-radius: 30px;
	border-radius: 30px;
	transition: all 0.3s ease;
	position: relative;
}
#header .header_cta a:before {
	content: "";
	position: absolute;
	width: 100px;
	height: 100px;
	background-color: #000032;
	border-radius: 50%;
	left: -50px;
	bottom: -50px;
	transform: scale(0);
	transition: all 0.6s ease;
}
#header .header_cta a:hover:before {
	transform: scale(6);
}
#header .header_cta .cta_cont {
	display: block;
	color: #000032;
	padding: 0 0 0 30px;
	background: url(../img/common/cta_header.svg) 0 center no-repeat;
	background-size: 22px 16px;
	position: relative;
	z-index: 1;
}
#header .header_cta a:hover .cta_cont {
	color: #fff;
	background: url(../img/common/cta_header_top.svg) 0 center no-repeat;
	background-size: 22px 16px;
}

.navbar_toggle {
	display: none;
}
.navbar_collapse {
	display: none;
}



.top #header .header_logo .logo_sub {
	display: none;
}
.top #header .header_logo .logo_top {
	display: block;
}
.top #header .header_navi > li > a {
	color: #fff;
}
.top #header .header_navi > li > a:before {
	background: #fff;
}
.top #header .header_navi > li .sub_down:before {
	border-top: 6px solid #fff;
}
.top #header .header_cta a {
	border: 2px #fff solid;
}
.top #header .header_cta a:before {
	background: #fff;
}
.top #header .header_cta .cta_cont {
	color: #fff;
	background: url(../img/common/cta_header_top.svg) 0 center no-repeat;
	background-size: 22px 16px;
}
.top #header .header_cta a:hover .cta_cont {
	color: #000032;
	background: url(../img/common/cta_header.svg) 0 center no-repeat;
	background-size: 22px 16px;
}





@media (max-width: 1024px) {
#header {
	top: 0;
}
#header .header_in {
	padding: 15px 20px;
	height: auto;
	align-items: center;
}
#header .header_logo a {
	width: 132px;
}
body.open #header .header_logo .logo_top {
display: block;
}
body.open #header .header_logo .logo_sub {
display: none;
}
#header .header_mess {
	display: flex;
	align-items: center;
}
#header .header_navi {
	display: none;
}
#header .header_cta {
	display: none;
}
	
.navbar_toggle {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	background: #000032;
	display: flex;
	align-items: center;
	justify-content: center;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	cursor: pointer;
	z-index: 102;
}
.navbar_toggle .toggle_menu {
	width: 16px;
	height: 14px;
	position: relative;
}
.navbar_toggle .toggle_menu span {
	position: absolute;
	display: inline-block;
	transition: all .4s;
	left: 0;
	background-color: #fff;
	width: 100%;
	height: 2px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	-ms-border-radius: 3px;
	-o-border-radius: 3px;
	border-radius: 3px;
}
.top .navbar_toggle {
	background: #fff;
}
.top .navbar_toggle .toggle_menu span {
	background-color: #000032;
}
.navbar_toggle.on {
	background: #fff;
}
.navbar_toggle.on .toggle_menu span {
	background-color: #000032;
}
.navbar_toggle .toggle_menu span:nth-of-type(1) {
	top:0;
}
.navbar_toggle .toggle_menu span:nth-of-type(2) {
	top:6px;
}
.navbar_toggle .toggle_menu span:nth-of-type(3) {
	top:12px;
}
.navbar_toggle.on .toggle_menu span:nth-of-type(1) {
	top:0;
	transform: translateY(6px) rotate(-45deg);
}
.navbar_toggle.on .toggle_menu span:nth-of-type(2) {
	opacity: 0;
}
.navbar_toggle.on .toggle_menu span:nth-of-type(3) {
	top:12px;
	transform: translateY(-6px) rotate(45deg);
}

.navbar_collapse {
	background: #000032;
	width: 100%;
	height: 100vh;
	padding: 80px 30px 20px;
	position: fixed;
	right: 0;
	top: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 90;
}
.navbar_collapse .bar_inner {
	overflow-y: scroll;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.navbar_collapse .bar_inner {
	-ms-overflow-style: none;
	overflow: -moz-scrollbars-none;
}
.navbar_collapse .bar_inner::-webkit-scrollbar{
	display: none;
}
.navbar_collapse .bar_inner {
	scrollbar-width: none;
}
.navbar_collapse .bar_inner {
	display: block;
	color: #fff;
}
.navbar_collapse .bar_list {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.navbar_collapse .bar_list > li {
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.navbar_collapse .bar_list > li+li {
	margin-top: 25px;
}
.navbar_collapse .bar_list > li > a {
	display: block;
}
.navbar_collapse .bar_list .list_sub {
	padding: 0 15px 0 0;
	position: relative;
}
.navbar_collapse .bar_list .list_sub:before {
	position: absolute;
	content: "";
	right: 0;
	top:50%;
	transform:translateY(-50%);
	border-top: 6px solid #fff;
	border-bottom: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-ms-border-radius: 2px;
	-o-border-radius: 2px;
	border-radius: 2px;
	z-index: 1;
}
.navbar_collapse .bar_list .list_inner {
	display: none;
	padding: 5px 0 0;
}
.navbar_collapse .bar_list .list_inner li {
	font-size: 14px;
	line-height: 1.5;
	font-weight: 400;
	margin-top: 10px;
}
.navbar_collapse .bar_list .list_inner a {
	display: block;
	position: relative;
	padding: 0 0 0 15px;
}
.navbar_collapse .bar_list .list_inner a:before {
	position: absolute;
	content: "›";
	font-size: 14px;
	color: #fff;
	font-weight: 400;
	font-family: "Noto Sans JP", sans-serif;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 0;
}
	.navbar_collapse .bar_cta {
		margin-top: 25px;
		display: flex;
		justify-content: flex-start;
	}
	.navbar_collapse .bar_cta a {
		display: flex;
		align-items: center;
		padding: 0 20px 0 10px;
		height: 36px;
		border: 1px #fff solid;
		-webkit-border-radius: 20px;
		-moz-border-radius: 20px;
		-ms-border-radius: 20px;
		-o-border-radius: 20px;
		border-radius: 20px;
	}
.navbar_collapse .bar_cta .cta_in {
	background: url(../img/common/cta_header_top.svg) 0 center no-repeat;
	background-size: 17px auto;
	padding: 0 0 0 25px;
	font-size: 14px;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.navbar_collapse .bar_sns {
	display: flex;
	margin-top: 30px;
	align-items: center;
}
.navbar_collapse .bar_sns li {
	margin-right: 15px;
	width: 45px;
}
.navbar_collapse .bar_copy {
	margin-top: 25px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: #fff;
}
}



/* footer
----------------------------------------------- */
#footer {
	margin-top: 40px;
	position: relative;
}
#footer .footer_main {
	width: 97vw;
	position: relative;
	z-index: 1;
}
#footer .footer_main a {
	display: block;
	color: #fff;
	padding: 110px 80px;
	overflow: hidden;
	-webkit-border-radius: 0 140px 0 0;
	-moz-border-radius: 0 140px 0 0;
	-ms-border-radius: 0 140px 0 0;
	-o-border-radius: 0 140px 0 0;
	border-radius: 0 140px 0 0;
	position: relative;
}
#footer .footer_main a:before {
	position: absolute;
	content: "";
	background: url(../img/common/main_footer.jpg) center center no-repeat;
	background-size: cover;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transform: scale(1);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
	z-index: 0;
}
#footer .footer_main a:hover:before {
	transform: scale(1.05);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
#footer .footer_main a:after {
	position: absolute;
	content: "";
	background: #000;
	opacity: 0.3;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
#footer .footer_main .main_cta {
	padding: 0 100px 0 0;
	position: relative;
	z-index: 1;
}
#footer .footer_main .main_cta:before {
	position: absolute;
	content: "";
	background: url(../img/common/arrow_footer_wh.svg) center center no-repeat #fff;
	background-size: 40px auto;
	width: 92px;
	height: 92px;
	right: 0;
	top: 50%;
	transform: translateY(-50%) scale(1);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 0;
}
#footer .footer_main a:hover .main_cta:before {
	transform: translateY(-50%) scale(1.5);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
#footer .footer_main .main_cta .cta_hd {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0 0 25px;
	margin-bottom: 20px;
	position: relative;
}
#footer .footer_main .main_cta .cta_hd:before {
	position: absolute;
	content: "";
	background: #fff;
	left: 0;
	bottom: 0;
	width: 80px;
	height: 1px;
	z-index: 0;
}
#footer .footer_main .main_cta .cta_eng {
	font-size: 60px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
#footer .footer_main .main_cta .cta_jps {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-top: 10px;
}
#footer .footer_main .main_cta .cta_txt {
	line-height: 2.25;
}
@media (max-width: 768px) {
#footer {
	margin-top: 20px;
}
#footer .footer_main a {
	padding: 50px 30px;
	overflow: hidden;
	-webkit-border-radius: 0 60px 0 0;
	-moz-border-radius: 0 60px 0 0;
	-ms-border-radius: 0 60px 0 0;
	-o-border-radius: 0 60px 0 0;
	border-radius: 0 60px 0 0;
}
#footer .footer_main .main_cta {
	padding: 0 60px 0 0;
	position: relative;
	z-index: 1;
}
#footer .footer_main .main_cta:before {
	background: url(../img/common/arrow_footer_wh.svg) center center no-repeat #fff;
	background-size: 30px auto;
	width: 60px;
	height: 60px;
}
#footer .footer_main .main_cta .cta_hd {
	padding: 0 0 20px;
}
#footer .footer_main .main_cta .cta_hd:before {
	width: 50px;
}
#footer .footer_main .main_cta .cta_eng {
	font-size: 40px;
	letter-spacing: 0.1em;
}
#footer .footer_main .main_cta .cta_jps {
	font-size: 16px;
	letter-spacing: 0.06em;
}
}

#footer .footer_box {
	padding: 0 40px;
}
#footer .footer_in {
	max-width: 1220px;
	margin: 0 auto;
	padding: 120px 0;
	border-bottom: 1px #dcdcdc solid;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: relative;
}
#footer .footer_in .pagetop {
	position: absolute;
	right: 0;
	bottom: 40px;
	z-index: 1;
}
#footer .footer_in .pagetop a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	border: 2px #000032 solid;
	width: 94px;
	height: 94px;
	background: #fff;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}
#footer .footer_in .pagetop a img {
	width: 10px;
}
#footer .footer_in .pagetop a .page_txt {
	font-size: 12px;
	color: #000032;
	font-weight: 700;
	letter-spacing: 0.1em;
}
#footer .footer_in .footer_ico {
	width: 680px;
	max-width: 56%;
	display: flex;
	align-items: stretch;
	flex-wrap: wrap;
	border-left: 1px #dcdcdc solid;
	border-top: 1px #dcdcdc solid;
}
#footer .footer_in .footer_ico li {
	/* width: 33.3333333%; */
	width: calc(100% / 4);
	border-right: 1px #dcdcdc solid;
	border-bottom: 1px #dcdcdc solid;
}
@media (max-width: 768px) {
	#footer .footer_in .footer_ico li {
		width: calc(100% / 2);
	}
}
#footer .footer_in .footer_ico li a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 10px;
	height: 154px;
}
#footer .footer_in .footer_ico li a:hover {
	opacity: 0.7;
}
#footer .footer_in .footer_ico .ico_w01 img {
	width: 175px;
}
#footer .footer_in .footer_ico .ico_w02 img {
	width: 168px;
}
#footer .footer_in .footer_ico .ico_w03 img {
	width: 171px;
}
#footer .footer_in .footer_ico .ico_w04 img {
	width: 168px;
}
#footer .footer_in .footer_ico .ico_w05 img {
	width: 167px;
}
#footer .footer_in .footer_ico .ico_w06 img {
	width: 146px;
}
#footer .footer_in .footer_ico .ico_w07 img {
	width: 146px;
}
#footer .footer_in .footer_ico .ico_w08 img {
	width: 146px;
}
#footer .footer_in .footer_link {
	display: flex;
	align-items: flex-start;
	max-width: 40%;
}
#footer .footer_in .footer_link .link_inner+.link_inner {
	margin-left: min(80px,6.15vw);
}
#footer .footer_in .footer_link .link_tit {
	padding: 0 0 25px;
	border-bottom: 1px #dcdcdc solid;
}
#footer .footer_in .footer_link .link_tit .tit_eng {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	color: #08287e;
	letter-spacing: 0.1em;
}
#footer .footer_in .footer_link .link_tit .tit_jps {
	margin-top: 5px;
	color: #000;
	font-weight: 700;
}
#footer .footer_in .footer_link .link_tit .tit_jps a {
	color: #000;
	display: inline-block;
	font-weight: 700;
}
#footer .footer_in .footer_link .link_list {
	margin-top: 20px;
}
#footer .footer_in .footer_link .link_list li+li {
	margin-top: 10px;
}
#footer .footer_in .footer_link .link_list li a {
	color: #000;
	display: inline-block;
	position: relative;
}
#footer .footer_in .footer_link .link_list li a:before {
	position: absolute;
	bottom: -1px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #000;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
#footer .footer_in .footer_link .link_list li a:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
}
#footer .footer_mess {
	padding: 80px 0;
	max-width: 1220px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}
#footer .footer_mess .footer_left {
	margin-right: 10px;
}
#footer .footer_mess .footer_logo {
	margin-bottom: 20px;
}
#footer .footer_mess .footer_logo a {
	display: block;
	width: 225px;
}
#footer .copyright {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: #000;
}
#footer .footer_mess .footer_right {
	display: flex;
	align-items: center;
}
#footer .footer_mess .footer_navi {
	display: flex;
	align-items: center;
}
#footer .footer_mess .footer_navi li {
	font-weight: 700;
	margin-right: 40px;
}
#footer .footer_mess .footer_navi li a {
	color: #000;
	position: relative;
}
#footer .footer_mess .footer_navi li a:before {
	position: absolute;
	bottom: -1px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #000;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
#footer .footer_mess .footer_navi li a:hover:before {
	transform-origin: left top;
	transform: scale(1, 1);
}
#footer .footer_mess .footer_sns {
	display: flex;
	align-items: center;
}
#footer .footer_mess .footer_sns li {
	width: 45px;
}
#footer .footer_mess .footer_sns li+li {
	margin-left: 20px;
}



.top #footer {
	background: #fff;
	margin: 0;
}
.top #footer:before {
	position: absolute;
	content: "";
	background: #000;
	left: 0;
	top: 0;
	width: 100%;
	height: 220px;
	z-index: 0;
}
.top #footer .footer_main {
	width: 87.7vw;
}
.top #footer .footer_main a {
	-webkit-border-radius: 0 0 140px 0;
	-moz-border-radius: 0 0 140px 0;
	-ms-border-radius: 0 0 140px 0;
	-o-border-radius: 0 0 140px 0;
	border-radius: 0 0 140px 0;
}
.top #footer .footer_in {
	position: static;
}
.top #footer .footer_box {
	position: relative;
}
.top #footer .footer_in .pagetop {
	right: 2.7vw;
	bottom: calc(100% + 60px);
}
@media (max-width: 1200px) {
.top #footer .footer_in .pagetop {
	right: 1vw;
	bottom: calc(100% - 30px);
}
}
@media (max-width: 768px) {
.top #footer .footer_main a {
	-webkit-border-radius: 0 0 60px 0;
	-moz-border-radius: 0 0 60px 0;
	-ms-border-radius: 0 0 60px 0;
	-o-border-radius: 0 0 60px 0;
	border-radius: 0 0 60px 0;
}
.top #footer:before {
	height: 150px;
}
}

@media (max-width: 1024px) {
#footer .footer_in {
	flex-direction: column;
	align-items: center;
}
#footer .footer_in .footer_link {
	max-width: none;
	justify-content: center;
}
#footer .footer_in .footer_ico {
	width: 680px;
	max-width: none;
	margin: 0 0 50px;
}
}
@media (max-width: 768px) {
#footer .footer_box {
	padding: 0 20px;
}
#footer .footer_in {
	padding: 50px 0;
}
#footer .footer_in .pagetop {
	bottom: 20px;
}
#footer .footer_in .pagetop a {
	border: 1px #000032 solid;
	width: 60px;
	height: 60px;
}
#footer .footer_in .pagetop a img {
	width: 6px;
}
#footer .footer_in .pagetop a .page_txt {
	font-size: 10px;
}
#footer .footer_in .footer_ico {
	max-width: 100%;
}
#footer .footer_in .footer_ico li a {
	height: 110px;
}
#footer .footer_in .footer_link {
	max-width: none;
}
#footer .footer_in .footer_link .link_tit {
	padding: 0 0 20px;
}
#footer .footer_in .footer_link .link_tit .tit_eng {
	font-size: 22px;
}
#footer .footer_in .footer_link .link_list li a {
	font-size: 12px;
}
#footer .footer_mess {
	padding: 40px 0 60px;
	flex-direction: column;
	align-items: center;
	position: relative;
}
#footer .footer_mess .footer_left {
	margin: 0 0 20px;
}
#footer .footer_mess .footer_logo {
	margin-bottom: 0;
}
#footer .footer_mess .footer_logo a {
	width: 160px;
}
#footer .copyright {
	position: absolute;
	left: 0;
	bottom: 20px;
	width: 100%;
	text-align: center;
}
#footer .footer_mess .footer_right {
	flex-direction: column;
}
#footer .footer_mess .footer_navi {
	flex-wrap: wrap;
	margin-bottom: 20px;
}
#footer .footer_mess .footer_navi li {
	width: 50%;
	margin: 10px 0;
	text-align: center;
}
#footer .footer_mess .footer_sns {
	display: flex;
	align-items: center;
}
}



/* anchor
----------------------------------------------- */
.anchor {
	position: absolute;
	left: 0;
	top: 0;
	padding-top: 80px;
	margin-top: -80px;
	z-index: 0;
}
@media (max-width: 1024px) {
.anchor {
	padding-top: 60px;
	margin-top: -60px;
}
}


/* teaser
----------------------------------------------- */
.teaser {
	height: 400px;
	display: flex;
	align-items: center;
	position: relative;
}
.teaser .teaser_box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	color: #000032;
	padding: 0 min(110px,8.46vw);
}
.teaser .teaser_eng {
	font-size: 60px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	font-weight: 700;
	position: relative;
}
.teaser .teaser_jps {
	font-size: 18px;
	letter-spacing: 0.06em;
	margin-top: 10px;
	font-weight: 700;
	position: relative;
}

.teaser .teaser_eng,
.teaser .teaser_eng::after,
.teaser .teaser_jps,
.teaser .teaser_jps::after {
	animation-delay: 1s;
	animation-iteration-count: 1;
	animation-duration: 800ms;
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
}
.teaser .teaser_eng,
.teaser .teaser_jps {
	position: relative;
	animation-name: clip-text;
	cursor: default;
}
.teaser .teaser_eng::after,
.teaser .teaser_jps::after {
	content: "";
	position: absolute;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000032;
	transform: scaleX(0);
	transform-origin: 0 50%;
	pointer-events: none;
	animation-name: text-revealer;
}


.breadcrumb {
	position: absolute;
	right: 25px;
	top: 50%;
	transform: translateY(-50%);
	color: #000032;
	z-index: 1;
}
.breadcrumb a {
	display: inline-block;
	color: #000032;
}
.breadcrumb .bread_in {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.1em;
	-webkit-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
	-ms-writing-mode: tb-lr;
	text-orientation: sideways;
}
.breadcrumb .bread_cont {
	display: inline-block;
	margin-top: 14px;
	padding: 20px 0 0;
	position: relative;
}
.breadcrumb .bread_cont:before {
	position: absolute;
	content: "";
	left: 50%;
	top:0;
	transform:translateX(-50%);
	border-top: 5px solid #000032;
	border-bottom: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	-ms-border-radius: 2px;
	-o-border-radius: 2px;
	border-radius: 2px;
	z-index: 1;
}

@media (max-width: 768px) {
.teaser {
	height: auto;
	flex-direction: column;
	align-items: flex-start;
}
.teaser .teaser_box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	color: #000032;
	width: 100%;
	padding: 40px 20px;
}
.teaser .teaser_eng {
	word-break: break-all;
	font-size: min(40px,10.66vw);
	letter-spacing: 0.1em;
}
.teaser .teaser_jps {
	font-size: 16px;
	letter-spacing: 0.06em;
}
.breadcrumb {
	position: static;
	right: auto;
	top: auto;
	transform: translateY(0);
	padding: 10px 20px 20px;
	width: 100%;
}
.breadcrumb .bread_in {
	-webkit-writing-mode: horizontal-tb;
	writing-mode: horizontal-tb;
	-ms-writing-mode: lr-tb;
}
.breadcrumb .bread_cont {
	margin: 0 0 0 10px;
	padding: 0 0 0 15px;
}
.breadcrumb .bread_cont:before {
	left: 0;
	top:50%;
	transform:translateY(-50%);
	border-left:5px #000032 solid;
	border-right:0;
	border-top:4px solid transparent;
	border-bottom:4px solid transparent;
}
}




/* H
----------------------------------------------- */
.hdl {
	position: absolute;
	right: -0.15em;
	bottom: 0;
	font-size: min(180px,13.85vw);
	font-weight: 700;
	letter-spacing: 0.1em;
	color: #fff;
	opacity: 0.15;
	line-height: 0.7;
	z-index: 1;
}

@media (max-width: 768px) {
.hdl {
	font-size: min(90px,12vw);
}
}

.hdm {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	color: #fff;
	padding: 0 0 25px;
	position: relative;
}
.hdm .hdm_eng {
	font-size: 60px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2;
}
.hdm .hdm_jps {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-top: 15px;
}
.hdm:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 80px;
	height: 1px;
	left: 0;
	bottom: 0;
	z-index: 0;
}
.hdm.hdm_bl {
	color: #000032;
}
.hdm.hdm_bl:before {
	background: #000032;
}

@media (max-width: 768px) {
.hdm .hdm_eng {
	font-size: 30px;
	letter-spacing: 0.1em;
}
.hdm .hdm_jps {
	font-size: 16px;
	letter-spacing: 0.06em;
}
.hdm:before {
	width: 50px;
}
}




/* .com_btn
----------------------------------------------- */
.com_btn a {
	overflow: hidden;
	position: relative;
}
.com_btn a:before {
	content: "";
	position: absolute;
	width: 100px;
	height: 100px;
	left: -50px;
	bottom: -50px;
	transform: scale(0);
	transition: all 0.6s ease;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}
.com_btn a:hover:before {
	transform: scale(8);
}



.com_block {
	overflow: hidden;
	background: #000032;
	padding: 0 40px;
	-webkit-border-radius: 0 140px 0 140px;
	-moz-border-radius: 0 140px 0 140px;
	-ms-border-radius: 0 140px 0 140px;
	-o-border-radius: 0 140px 0 140px;
	border-radius: 0 140px 0 140px;
	position: relative;
}
@media (max-width: 768px) {
.com_block {
	padding: 0 20px;
	-webkit-border-radius: 0 60px 0 60px;
	-moz-border-radius: 0 60px 0 60px;
	-ms-border-radius: 0 60px 0 60px;
	-o-border-radius: 0 60px 0 60px;
	border-radius: 0 60px 0 60px;
}
}


.radius_img .round_left img {
	-webkit-border-radius: 120px 0 0 0;
	-moz-border-radius: 120px 0 0 0;
	-ms-border-radius: 120px 0 0 0;
	-o-border-radius: 120px 0 0 0;
	border-radius: 120px 0 0 0;
}
.radius_img .round_right img {
	-webkit-border-radius: 0 0 120px 0;
	-moz-border-radius: 0 0 120px 0;
	-ms-border-radius: 0 0 120px 0;
	-o-border-radius: 0 0 120px 0;
	border-radius: 0 0 120px 0;
}
@media (max-width: 768px) {
.radius_img .round_left img {
	-webkit-border-radius: 40px 0 0 0;
	-moz-border-radius: 40px 0 0 0;
	-ms-border-radius: 40px 0 0 0;
	-o-border-radius: 40px 0 0 0;
	border-radius: 40px 0 0 0;
}
.radius_img .round_right img {
	-webkit-border-radius: 0 0 40px 0;
	-moz-border-radius: 0 0 40px 0;
	-ms-border-radius: 0 0 40px 0;
	-o-border-radius: 0 0 40px 0;
	border-radius: 0 0 40px 0;
}
}



.com_pic {
	max-width: 1220px;
	margin: 0 auto;
	display: flex;
	align-items: flex-start;
	position: relative;
}
.corporate .com_pic li {
	height: 500px;
}
@media (max-width: 768px) {
	.corporate .com_pic li {
		height: 38.7vw;
	}
}
.corporate .com_pic li img{
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.com_pic li {
	width: calc((100% - 80px)/3);
	margin: 0 40px 0 0;
	overflow: hidden;
}
.thermory.com_pic li, .cariitti.com_pic li{
	height: 600px;
}
@media (max-width: 768px) {
	.thermory.com_pic li, .cariitti.com_pic li{
		height: 38.6vw;
	}
}
.thermory.com_pic li img, .cariitti.com_pic li img{
	object-fit: cover;
	height: 100%;
	width: 100%;
}
.com_pic li:nth-child(3n) {
	margin-right: 0;
}
.com_pic li img {
	transform: translate3d(0px, 0px, 0px) scale(1.2);
}
.com_pic li+li {
	margin-top: 40px;
}
.com_pic li+li+li {
	margin-top: 80px;
}
.com_pic .pic_left {
	-webkit-border-radius: 140px 0 0 0;
	-moz-border-radius: 140px 0 0 0;
	-ms-border-radius: 140px 0 0 0;
	-o-border-radius: 140px 0 0 0;
	border-radius: 140px 0 0 0;
}
.com_pic .pic_right {
	-webkit-border-radius: 0 0 140px 0;
	-moz-border-radius: 0 0 140px 0;
	-ms-border-radius: 0 0 140px 0;
	-o-border-radius: 0 0 140px 0;
	border-radius: 0 0 140px 0;
}
@media (max-width: 768px) {

.com_pic li {
	width: calc((100% - 10px)/3);
	margin: 0 10px 0 0;
}
.com_pic li:nth-child(3n) {
	margin-right: 0;
}
.com_pic li+li {
	margin-top: 20px;
}
.com_pic li+li+li {
	margin-top: 40px;
}
.com_pic .pic_left {
	-webkit-border-radius: 20px 0 0 0;
	-moz-border-radius: 20px 0 0 0;
	-ms-border-radius: 20px 0 0 0;
	-o-border-radius: 20px 0 0 0;
	border-radius: 20px 0 0 0;
}
.com_pic .pic_right {
	-webkit-border-radius: 0 0 20px 0;
	-moz-border-radius: 0 0 20px 0;
	-ms-border-radius: 0 0 20px 0;
	-o-border-radius: 0 0 20px 0;
	border-radius: 0 0 20px 0;
}
}


/* animate
----------------------------------------------- */
@keyframes fadeInLeftLit {
	from {
		opacity: 0;
		transform: translate3d(-50px, 0, 0);
	}

	to {
		opacity: 1;
		transform: none;
	}
}
.fadeInLeftLit {
	animation-name: fadeInLeftLit;
}

@keyframes fadeInRightLit {
	from {
		opacity: 0;
		transform: translate3d(50px, 0, 0);
	}

	to {
		opacity: 1;
		transform: none;
	}
}
.fadeInRightLit {
	animation-name: fadeInRightLit;
}

@keyframes fadeInUpLit {
	from {
		opacity: 0;
		transform: translate3d(0, 50px, 0);
	}

	to {
		opacity: 1;
		transform: none;
	}
}
.fadeInUpLit {
	animation-name: fadeInUpLit;
}





/* news
----------------------------------------------- */
.news .com_block {
	padding-top: 160px;
	padding-bottom: 190px;
}

.post_list {
	max-width: 840px;
	margin: 0 auto;
}
.post_list li {
	position: relative;
}
.post_list li .post_item {
	display: block;
	border-bottom: 1px #646464 solid;
	padding: 35px 50px 35px 0;
	position: relative;
}
.post_list li .post_item:after {
	position: absolute;
	content: "";
	background: #fff;
	width: 50px;
	height: 1px;
	left: 0;
	bottom: -1px;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
	z-index: 0;
}
.post_list li .post_item:hover:after {
	width: 100%;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.post_list li .post_item:before {
	position: absolute;
	content: "";
	width: 36px;
	height: 36px;
	background: url(../img/common/arrow_m_bl.svg) center center no-repeat #fff;
	background-size: 15px 9px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	right: 0;
	top: 50%;
	transform: translateY(-50%) scale(1);
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
	z-index: 1;
}
.post_list li .post_item:hover:before {
	transform: translateY(-50%) scale(1.5);
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.post_list li .post_dc {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}
.post_list li .post_date {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-right: 20px;
}
.post_list li .post_cate {
	background: #fff;
	line-height: 1.2;
	font-size: 12px;
	font-weight: 700;
	color: #000;
	letter-spacing: 0.04em;
	padding: 2px 5px;
}
.post_list li .post_link {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.06em;
}

@media (max-width: 768px) {
.news .com_block {
	padding-top: 50px;
	padding-bottom: 70px;
}
.post_list li .post_item {
	padding: 20px 50px 20px 0;
}
.post_list li .post_date {
	font-size: 16px;
	margin-right: 10px;
}
.post_list li .post_link {
	font-size: 14px;
}
}


/* wp-pagenavi
----------------------------------------------- */
.wp-pagenavi {
	margin-top: 80px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.wp-pagenavi .page-numbers,
.wp-pagenavi .current,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	width: 36px;
	height: 36px;
	border: 2px #fff solid;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	margin: 3px 10px;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	font-family: "Outfit", sans-serif;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}
.wp-pagenavi a:hover,
.wp-pagenavi .page:hover, 
.wp-pagenavi .current {
	background: #fff;
	color: #000032;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	position: relative;
}
.wp-pagenavi .previouspostslink {
	background: url(../img/common/prev_m_wh.svg) center center no-repeat;
	background-size: 15px 9px;
}
.wp-pagenavi .previouspostslink:hover {
	background: url(../img/common/prev_m_bl.svg) center center no-repeat #fff;
	background-size: 15px 9px;
}
.wp-pagenavi .nextpostslink {
	background: url(../img/common/arrow_m_wh.svg) center center no-repeat;
	background-size: 15px 9px;
}
.wp-pagenavi .nextpostslink:hover {
	background: url(../img/common/arrow_m_bl.svg) center center no-repeat #fff;
	background-size: 15px 9px;
}

@media (max-width: 768px) {
.wp-pagenavi {
	margin-top: 50px;
}
.wp-pagenavi .page-numbers,
.wp-pagenavi .current,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	margin: 3px 5px;
}
}




/* detail
----------------------------------------------- */
.detail .com_block {
	padding-top: 200px;
	padding-bottom: 200px;
}
.detail_box {
	max-width: 840px;
	margin: 0 auto;
}
.detail_box .detail_dc {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}
.detail_box .detail_dc .detail_date {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin-right: 20px;
}
.detail_box .detail_dc .detail_cate {
	background: #fff;
	line-height: 1.2;
	font-size: 12px;
	font-weight: 700;
	color: #000;
	letter-spacing: 0.04em;
	padding: 2px 5px;
}
.detail_box .detail_hd {
	padding: 0 0 20px;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.06em;
	border-bottom: 1px #646464 solid;
	margin-bottom: 60px;
}
.post-body {
	line-height: 2.56;
}
.post-body div,
.post-body p {
	margin: 60px 0;
}
.post-body img {
	display: block;
	width: 740px;
	margin: 60px auto;
	-webkit-border-radius: 0 90px 0 0;
	-moz-border-radius: 0 90px 0 0;
	-ms-border-radius: 0 90px 0 0;
	-o-border-radius: 0 90px 0 0;
	border-radius: 0 90px 0 0;
}
.detail_navi {
	margin-top: 60px;
	height: 36px;
	position: relative;
}
.detail_navi .navi_prev,
.detail_navi .navi_next {
	display: block;
	width: 36px;
	height: 36px;
	border: 2px #fff solid;
	position: absolute;
	top: 0;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.detail_navi .navi_prev:hover,
.detail_navi .navi_next:hover {
	transform: scale(1.5);
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.detail_navi .navi_prev {
	left: 0;
	background: url(../img/common/prev_m_wh.svg) center center no-repeat;
	background-size: 15px 9px;
}
.detail_navi .navi_next {
	right: 0;
	background: url(../img/common/arrow_m_wh.svg) center center no-repeat;
	background-size: 15px 9px;
}

@media (max-width: 768px) {
.detail .com_block {
	padding-top: 70px;
	padding-bottom: 70px;
}
.detail_box .detail_dc .detail_date {
	font-size: 16px;
	margin-right: 10px;
}
.detail_box .detail_hd {
	font-size: 22px;
	margin-bottom: 30px;
}
.post-body {
	line-height: 2;
}
.post-body div,
.post-body p {
	margin: 30px 0;
}
.post-body img {
	margin: 30px auto;
	-webkit-border-radius: 0 40px 0 0;
	-moz-border-radius: 0 40px 0 0;
	-ms-border-radius: 0 40px 0 0;
	-o-border-radius: 0 40px 0 0;
	border-radius: 0 40px 0 0;
}
.detail_navi {
	margin-top: 40px;
}
}





/* foods
----------------------------------------------- */
.foods .com_block {
	padding-top: 160px;
	padding-bottom: 160px;
	overflow: hidden;
}
.foods_box {
	display: flex;
	align-items: flex-start;
}
.foods_box li {
	width: calc((100% - 81px)/3);
	margin: 0 40px 0 0;
}
.foods_box li+li {
	margin-top: 35px;
}
.foods_box li+li+li {
	margin-top: 70px;
}
.foods_box li:nth-child(3n) {
	margin-right: 0;
}
.foods_box .foods_img {
	margin-bottom: 30px;
}
.foods_box .foods_tit {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding: 0 0 0 25px;
	position: relative;
}
.foods_box .foods_tit:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 5px;
	height: calc(100% - 0.5em);
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	z-index: 0;
}
@media (max-width: 1100px) {
.foods_box li .show_line {
	display: none;
}
}

@media (max-width: 768px) {
.foods .com_block {
	padding-top: 70px;
	padding-bottom: 100px;
}
.foods_box {
	flex-direction: column;
	align-items: center;
}
.foods_box li {
	width: auto;
	margin: 0;
}
.foods_box li+li {
	margin-top: 50px;
}
.foods_box li+li+li {
	margin-top: 50px;
}
.foods_box .foods_img {
	margin-bottom: 20px;
	text-align: center;
}
.foods_box .foods_tit {
	font-size: 22px;
	letter-spacing: 0.06em;
	padding: 0 0 0 20px;
}
}





/* consulting
----------------------------------------------- */
.consulting .com_block {
	padding-top: 210px;
	padding-bottom: 270px;
	overflow: hidden;
}
.consul_box {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row-reverse;
}
.consul_box .consul_in {
	
}
.consul_box .consul_tit {
	position: relative;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.06em;
	padding: 0 0 25px;
	margin-bottom: 40px;
}
.consul_box .consul_tit:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 80px;
	height: 1px;
	left: 0;
	bottom: 0;
	z-index: 0;
}
.consul_box .consul_txt {
	line-height: 2.56;
}
.consul_box .consul_img {
	margin-left: 30px;
	max-width: 50%;
}
.consul_box .consul_img img {
	-webkit-border-radius: 0 100px 0 0;
	-moz-border-radius: 0 100px 0 0;
	-ms-border-radius: 0 100px 0 0;
	-o-border-radius: 0 100px 0 0;
	border-radius: 0 100px 0 0;
}

@media (max-width: 768px) {
.consulting .com_block {
	padding-top: 70px;
	padding-bottom: 100px;
}
.consul_box {
	flex-direction: column;
	align-items: center;
}
.consul_box .consul_tit {
	font-size: 28px;
	padding: 0 0 20px;
	margin-bottom: 30px;
}
.consul_box .consul_tit:before {
	width: 50px;
}
.consul_box .consul_txt {
	line-height: 2;
}
.consul_box .consul_img {
	margin: 0 0 30px;
	max-width: none;
	text-align: center;
}
.consul_box .consul_img img {
	-webkit-border-radius: 0 40px 0 0;
	-moz-border-radius: 0 40px 0 0;
	-ms-border-radius: 0 40px 0 0;
	-o-border-radius: 0 40px 0 0;
	border-radius: 0 40px 0 0;
}
}





/* privacy
----------------------------------------------- */
.privacy .com_block {
	padding-top: 180px;
	padding-bottom: 200px;
}
.privacy .inner {
	max-width: 840px;
}
.privacy_box {
	margin-bottom: 60px;
}
.privacy_box .privacy_tit {
	margin-bottom: 30px;
	padding: 0 0 25px;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.06em;
	border-bottom: 1px #646464 solid;
}
.privacy_box .privacy_txt {
	line-height: 2.56;
}
.privacy_box .privacy_list li {
	line-height: 2.56;
	text-indent: -1.5em;
	padding-left: 1.5em;
}
.privacy_box .privacy_txt+.privacy_list {
	margin-top: 35px;
}
.privacy_cont {
	background: #fff;
	padding: 80px 40px;
	-webkit-border-radius: 0 100px 0 100px;
	-moz-border-radius: 0 100px 0 100px;
	-ms-border-radius: 0 100px 0 100px;
	-o-border-radius: 0 100px 0 100px;
	border-radius: 0 100px 0 100px;
}
.privacy_cont .privacy_tab {
	position: relative;
	border-top: 1px #b4b4b4 solid;
	max-width: 680px;
	margin: 0 auto;
}
.privacy_cont .privacy_tab:before {
	position: absolute;
	content: "";
	background: #000032;
	width: 70px;
	height: 1px;
	left: 0;
	top: -1px;
	z-index: 0;
}
.privacy_cont .privacy_tab li {
	display: flex;
	align-items: stretch;
	border-bottom: 1px #b4b4b4 solid;
	padding: 30px 0;
	line-height: 2.25;
	position: relative;
}
.privacy_cont .privacy_tab li:before {
	position: absolute;
	content: "";
	background: #000032;
	width: 70px;
	height: 1px;
	left: 0;
	bottom: -1px;
	z-index: 0;
}
.privacy_cont .privacy_tab .privacy_th {
	width: 70px;
	margin-right: 35px;
	font-weight: 700;
	color: #000032;
	flex-shrink: 0;
}
.privacy_cont .privacy_tab .privacy_td {
	color: #000;
}

@media (max-width: 768px) {
.privacy .com_block {
	padding-top: 70px;
	padding-bottom: 100px;
}
.privacy_box {
	margin-bottom: 40px;
}
.privacy_box .privacy_tit {
	margin-bottom: 20px;
	padding: 0 0 20px;
	font-size: 18px;
}
.privacy_box .privacy_txt {
	line-height: 2;
}
.privacy_box .privacy_list li {
	line-height: 2;
}
.privacy_box .privacy_txt+.privacy_list {
	margin-top: 30px;
}
.privacy_cont {
	padding: 40px 20px;
	-webkit-border-radius: 0 40px 0 40px;
	-moz-border-radius: 0 40px 0 40px;
	-ms-border-radius: 0 40px 0 40px;
	-o-border-radius: 0 40px 0 40px;
	border-radius: 0 40px 0 40px;
}
.privacy_cont .privacy_tab {
	position: relative;
	border-top: 1px #b4b4b4 solid;
	max-width: 680px;
	margin: 0 auto;
}
.privacy_cont .privacy_tab:before {
	width: 60px;
}
.privacy_cont .privacy_tab li {
	padding: 20px 0;
	line-height: 2;
}
.privacy_cont .privacy_tab li:before {
	width: 50px;
}
.privacy_cont .privacy_tab .privacy_th {
	width: 50px;
	margin-right: 20px;
}
}





/* contact
----------------------------------------------- */
.contact .com_block {
	/* padding-top: 190px;
	padding-bottom: 200px; */
	padding-top: 160px;
	padding-bottom: 160px;
}
.contact .inner {
	max-width: 970px;
}
.contact .cta_det {
	line-height: 2.56;
	letter-spacing: 0.04em;
	margin-bottom: 65px;
}
.contact .cta_navi {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 60px;
}
.contact .cta_navi li {
	margin: 0 50px;
	width: 114px;
	height: 114px;
	display: flex;
	background: #000032;
	color: #fff;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	border: 2px #fff solid;
	font-weight: 700;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	position: relative;
}
.contact .cta_navi li+li:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 80px;
	height: 2px;
	right: calc(100% + 12px);
	z-index: 0;
}
.contact .cta_navi .navi_num {
	letter-spacing: 0.1em;
}
.contact .cta_navi .navi_txt {
	
}
.contact .cta_navi li.current {
	color: #000032;
	background: #fff;
}
.contact .form_table {
	width: 100%;
}
.contact .form_table th,
.contact .form_table td {
	padding: 20px 0;
	vertical-align: middle;
}
.contact .form_table th {
	width: 24%;
	font-weight: 700;
}
.contact .form_table .th_box {
	padding: 10px 0;
}
.contact .form_table .th_txt {
	margin-right: 10px;
}
.contact .form_table td {
	width: 76%;
}
.contact .form_table .must {
	background: #fff;
	font-size: 12px;
	color: #000032;
	letter-spacing: 0.04em;
	text-align: center;
	display: inline-block;
	padding: 0 10px;
}
.contact .form_table input[type=text],
.contact .form_table input[type=email],
.contact .form_table input[type=tel],
.contact .form_table select {
	background: #fff;
	width: 100%;
	height: 44px;
	border: none;
	outline: none;
	padding: 10px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	letter-spacing: 0.06em;
	font-weight: 400;
	line-height: 1.5;
	color: #000032;
}
.contact .form_table input::placeholder,
.contact .form_table textarea::placeholder {
	color: #969696;
	font-family: "Noto Sans JP", sans-serif;
}
.contact .form_table textarea {
	background: #fff;
	width: 100%;
	height: 220px;
	border: none;
	outline: none;
	padding: 10px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	letter-spacing: 0.06em;
	font-weight: 400;
	line-height: 1.5;
	color: #000032;
}
.contact .form_table .input_box {
	display: flex;
	align-items: stretch;
	justify-content: space-between;
}
.contact .form_table .input_box .input_cont {
	width: calc((100% - 20px)/2);
}

.contact .form_btn {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 45px;
}
.contact .form_btn .btn_box {
	isolation: isolate;
	margin: 0 10px;
	border: 2px #fff solid;
	cursor: pointer;
	overflow: hidden;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	-ms-border-radius: 30px;
	-o-border-radius: 30px;
	border-radius: 30px;
	position: relative;
}
.contact .form_btn .btn_box:after {
	position: absolute;
	content: "";
	background: url(../img/common/arrow_m_bl.svg) center center no-repeat #fff;
	background-size: 15px 9px;
	width: 36px;
	height: 36px;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 0;
}
.contact .form_btn .btn_box:hover:after {
	background: url(../img/common/arrow_m_wh.svg) center center no-repeat #000032;
	background-size: 15px 9px;
}
.contact .form_btn .btn_box:before {
	content: "";
	position: absolute;
	width: 100px;
	height: 100px;
	left: -50px;
	bottom: -50px;
	transform: scale(0);
	transition: all 0.6s ease;
	background: #fff;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
}
.contact .form_btn .btn_box:hover:before {
	transform: scale(8);
}
.contact .form_btn .btn_box.is_confirm {
	order: -1;
}

.contact .form_btn input[type=submit],
.contact .form_btn a {
	background: none;
	display: block;
	font-size: 16px;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.06em;
	font-family: "Noto Sans JP", sans-serif;
	cursor: pointer;
	padding: 15px 70px 15px 30px;
	line-height: 1.5;
	position: relative;
	z-index: 1;
}
.contact .form_btn .btn_box:hover input[type=submit],
.contact .form_btn .btn_box:hover a {
	color: #000032;
}
.contact .form_agree {
	margin-top: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.contact .form_agree .mwform-checkbox-field-text {
	display: none;
}
.contact .form_agree .agree_ico {
	margin: 5px 8px 0 0;
}
.contact .form_agree .agree_ico input[type=checkbox] {
	width: 22px;
	height: 22px;
	border: 1px #fff solid;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	position: relative;
}
.contact .form_agree .agree_ico input[type=checkbox]:checked:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 16px;
	height: 16px;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 0;
}
.contact .form_agree .agree_txt {
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.04em;
}
.contact .form_agree .agree_txt a {
	color: #fff;
	text-decoration: underline;
}
.contact .form_agree .agree_txt a:hover {
	text-decoration: none;
}

.contact .check_div .error-container {
	text-align: center;
}

@media (max-width: 768px) {
.contact .com_block {
	/* padding-top: 70px;
	padding-bottom: 100px; */
	padding-top: 70px;
	padding-bottom: 70px;
}
.contact .cta_det {
	line-height: 2;
	margin-bottom: 30px;
}
.contact .cta_navi {
	margin-bottom: 30px;
}
.contact .cta_navi li {
	margin: 0 15px;
	width: 70px;
	height: 70px;
}
.contact .cta_navi li+li:before {
	width: 20px;
	right: calc(100% + 7px);
}
.contact .cta_navi .navi_num {
	letter-spacing: 0.1em;
	font-size: 12px;
	line-height: 1.2;
}
.contact .cta_navi .navi_txt {
	font-size: 12px;
}
.contact .form_table {
	width: 100%;
}
.contact .form_table th,
.contact .form_table td {
	display: block;
	padding: 0;
	vertical-align: middle;
}
.contact .form_table th {
	width: auto;
	padding: 15px 0;
}
.contact .form_table .th_box {
	padding: 0;
}
.contact .form_table td {
	width: auto;
	padding: 0 0 20px;
}
.contact .form_table input[type=text],
.contact .form_table input[type=email],
.contact .form_table input[type=tel],
.contact .form_table select {
	font-size: 14px;
}
.contact .form_table textarea {
	height: 200px;
	font-size: 14px;
}
.contact .form_table .input_box .input_cont {
	width: calc((100% - 10px)/2);
}

.contact .form_btn {
	flex-direction: column;
	align-items: center;
	margin-top: 30px;
}
.contact .form_btn .btn_box {
	margin: 10px 0;
}
.contact .form_btn input[type=submit],
.contact .form_btn a {
	font-size: 14px;
}
.contact .form_agree .agree_ico input[type=checkbox] {
	width: 20px;
	height: 20px;
}
.contact .form_agree .agree_ico input[type=checkbox]:checked:before {
	width: 14px;
	height: 14px;
}
}


/* thanks
----------------------------------------------- */
.thanks_hd {
	text-align: center;
	font-size: 60px;
	line-height: 1.33;
	font-weight: 700;
	letter-spacing: 0.2em;
	margin-bottom: 20px;
}
.thanks_det {
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.3em;
	margin-bottom: 60px;
}
.thanks_txt {
	text-align: center;
	line-height: 2.56;
}

@media (max-width: 768px) {
.thanks_hd {
	font-size: 30px;
	letter-spacing: 0.2em;
}
.thanks_det {
	font-size: 16px;
	letter-spacing: 0.3em;
	margin-bottom: 30px;
}
.thanks_txt {
	line-height: 2;
}
}




/* recruit
----------------------------------------------- */
.none_position{
	font-size: 20px;
	text-align: center;
}
@media (max-width: 768px) {
	.none_position{
		font-size: 16px;
	}
}
.recruit .com_block {
	padding-top: 160px;
	padding-bottom: 160px;
}
.recruit .inner {
	max-width: 880px;
}
.recruit_box {
	border: 1px #3282c8 solid;
	overflow: hidden;
	-webkit-border-radius: 0 45px 0 45px;
	-moz-border-radius: 0 45px 0 45px;
	-ms-border-radius: 0 45px 0 45px;
	-o-border-radius: 0 45px 0 45px;
	border-radius: 0 45px 0 45px;
}
.recruit_box:nth-of-type(1){
	margin-top: 40px;
}
.recruit_box+.recruit_box {
	margin-top: 40px;
}
.recruit_box .recruit_hd {
	padding: 13px 70px 13px 35px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	position: relative;
	cursor: pointer;
}
.recruit_box .recruit_hd:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 26px;
	height: 2px;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 0;
}
.recruit_box .recruit_hd:after {
	position: absolute;
	content: "";
	background: #fff;
	width: 2px;
	height: 26px;
	right: 52px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
	z-index: 0;
}
.recruit_box .recruit_hd.on:after {
	opacity: 0;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.recruit_box .recruit_hd .hd_eng {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
.recruit_box .recruit_hd .hd_jps {
	font-weight: 700;
	letter-spacing: 0.04em;
}
.recruit_box .recruit_inner {
	display: none;
}
.recruit_box .recruit_cont {
	background: #fff;
	padding: 0 40px;
}
.recruit_box .recruit_tab {
	width: 100%;
}
.recruit_box .recruit_tab th,
.recruit_box .recruit_tab td {
	padding: 25px 0;
	vertical-align: top;
}
.recruit_box .recruit_tab tr+tr th,
.recruit_box .recruit_tab tr+tr td {
	border-top: 1px #b4b4b4 solid;
}
.recruit_box .recruit_tab th {
	width: 21%;
	color: #000032;
	line-height: 2;
	font-weight: 700;
}
.recruit_box .recruit_tab td {
	width: 79%;
	line-height: 2;
	color: #000;
}
.recruit_box .recruit_note {
	padding: 20px 0;
	color: #000;
}
.recruit_box .recruit_btn a {
	background: #3282c8;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 15px 70px 15px 60px;
	position: relative;
}
.recruit_box .recruit_btn .btn_eng {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.2;
}
.recruit_box .recruit_btn .btn_jps {
	font-weight: 700;
	letter-spacing: 0.08em;
}
.recruit_box .recruit_btn a:before {
	position: absolute;
	content: "";
	right: 20px;
	top: 50%;
	transform: translateY(-50%) scale(1);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
	background: url(../img/recruit/arrow_recruit.svg) center center no-repeat #fff;
	background-size: 20px 11px;
	width: 46px;
	height: 46px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 0;
}
.recruit_box .recruit_btn a:hover:before {
	transform: translateY(-50%) scale(1.5);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
.recruit_box .recruit_txt+.recruit_txt {
	margin-top: 25px;
}
.recruit_box .recruit_dot li {
	text-indent: -1em;
	padding-left: 1em;
}
.recruit_box .recruit_dot li.no_indent {
	text-indent: inherit;
	padding-left: 0;
}
.recruit_box .recruit_txt+.recruit_dot {
	margin-top: 25px;
}

@media (max-width: 768px) {
.recruit .com_block {
	/* padding-top: 70px;
	padding-bottom: 100px; */
	padding-top: 70px;
	padding-bottom: 70px;
}
.recruit_box {
	-webkit-border-radius: 0 20px 0 20px;
	-moz-border-radius: 0 20px 0 20px;
	-ms-border-radius: 0 20px 0 20px;
	-o-border-radius: 0 20px 0 20px;
	border-radius: 0 20px 0 20px;
}
.recruit_box .recruit_hd {
	padding: 13px 50px 13px 20px;
}
.recruit_box .recruit_hd:before {
	right: 20px;
}
.recruit_box .recruit_hd:after {
	right: 32px;
}
.recruit_box .recruit_hd .hd_eng {
	font-size: 22px;
	letter-spacing: 0.1em;
}
.recruit_box .recruit_cont {
	padding: 0 20px;
}
.recruit_box .recruit_tab {
	width: 100%;
}
.recruit_box .recruit_tab th,
.recruit_box .recruit_tab td {
	display: block;
	padding: 0;
}
.recruit_box .recruit_tab tr+tr th {
	border-top: 1px #b4b4b4 solid;
}
.recruit_box .recruit_tab tr+tr td {
	border-top: none;
}
.recruit_box .recruit_tab th {
	width: auto;
	padding: 20px 0 5px;
}
.recruit_box .recruit_tab td {
	padding: 5px 0 20px;
	width: auto;
}
.recruit_box .recruit_btn .btn_eng {
	font-size: 22px;
	letter-spacing: 0.1em;
}
.recruit_box .recruit_txt+.recruit_txt {
	margin-top: 20px;
}
.recruit_box .recruit_txt+.recruit_dot {
	margin-top: 20px;
}
}


/* business sub
----------------------------------------------- */
.busisub_main {
	padding: 190px 0 320px;
	margin: 0 -40px -160px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}
.busisub_main:before {
	position: absolute;
	content: "";
	background: #000;
	opacity: 0.6;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.busisub_main .busisub_main_in {
	padding: 0 40px;
	position: relative;
	z-index: 1;
}
.busisub_main .busisub_main_hd {
	text-align: center;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.2em;
	margin-bottom: 20px;
}
.busisub_main .busisub_main_logo {
	text-align: center;
	margin-bottom: 35px;
}
.busisub_main .busisub_main_cap {
	position: relative;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.2em;
}
.busisub_main .busisub_main_txt {
	text-align: center;
	line-height: 2.56;
	padding: 40px 0 0;
	margin: 35px 0 0;
	position: relative;
	max-width: 630px;
    margin: 0 auto;
    margin-top: 35px;
}
.busisub_main .busisub_main_txt:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 80px;
	height: 1px;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 0;
}
.busisub_main_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 40px;
}
.busisub_main_btn .main_btn_in+.main_btn_in {
	margin-left: 30px;
}
.busisub_main_btn .main_btn_in a {
	display: block;
	font-weight: 700;
	padding: 15px 10px 15px 30px;
	border: 2px #fff solid;
	color: #fff;
	-webkit-border-radius: 40px;
	-moz-border-radius: 40px;
	-ms-border-radius: 40px;
	-o-border-radius: 40px;
	border-radius: 40px;
}
.busisub_main_btn .main_btn_in a:before {
	background: #fff;
}
.busisub_main_btn .main_btn_in .btn_txt {
	position: relative;
	padding: 0 75px 0 0;
	display: block;
	z-index: 1;
}
.busisub_main_btn .main_btn_in .btn_txt:before {
	position: absolute;
	content: "";
	background: url(../img/common/arrow_m_bl.svg) center center no-repeat #fff;
	background-size: 15px 9px;
	width: 36px;
	height: 36px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 0;
}
.busisub_main_btn .main_btn_in a:hover {
	color: #000032;
}
.busisub_main_btn .main_btn_in a:hover .btn_txt:before {
	background: url(../img/common/arrow_m_wh.svg) center center no-repeat #000032;
	background-size: 15px 9px;
}
.busisub_box {
	max-width: 1080px;
	margin: 0 auto;
	padding: 150px 0 200px;
}
.busisub_box .busisub_main_btn {
	margin-top: 0;
}
.busisub_box .busisub_flex {
	display: flex;
	align-items: flex-start;
}
.busisub_box .busisub_flex+.busisub_flex {
	margin-top: 150px;
}
.busisub_box .busisub_flex .flex_img {
	width: 46.5%;
	margin: 45px 7% 0 0;
}
.busisub_box .busisub_flex .flex_img img {
	-webkit-border-radius: 100px 0 0 0;
	-moz-border-radius: 100px 0 0 0;
	-ms-border-radius: 100px 0 0 0;
	-o-border-radius: 100px 0 0 0;
	border-radius: 100px 0 0 0;
}
.busisub_box .busisub_flex .flex_in {
	width: 46.5%;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.busisub_box .busisub_flex .flex_tit {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	padding: 0 0 25px;
	margin-bottom: 45px;
	text-align: right;
	position: relative;
}
.busisub_box .busisub_flex .flex_tit:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 80px;
	height: 1px;
	right: 0;
	bottom: 0;
	z-index: 0;
}
.busisub_box .busisub_flex .flex_tit .tit_eng {
	font-size: 60px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.1em;
}
.busisub_box .busisub_flex .flex_tit .tit_jps {
	margin-top: 10px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.busisub_box .busisub_flex .flex_txt {
	line-height: 2.56;
	margin-bottom: 30px;
	text-align: right;
}
.busisub_box .busisub_flex .flex_soon {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.1em;
	margin-top: 25px;
}
.busisub_box .busisub_flex.reverse {
	flex-direction: row-reverse;
}
.busisub_box .busisub_flex.reverse .flex_img {
	margin: 45px 0 0 7%;
}
.busisub_box .busisub_flex.reverse .flex_img img {
	-webkit-border-radius: 0 100px 0 0;
	-moz-border-radius: 0 100px 0 0;
	-ms-border-radius: 0 100px 0 0;
	-o-border-radius: 0 100px 0 0;
	border-radius: 0 100px 0 0;
}
.busisub_box .busisub_flex.reverse .flex_in {
	align-items: flex-start;
}
.busisub_box .busisub_flex.reverse .flex_tit {
	align-items: flex-start;
	text-align: left;
}
.busisub_box .busisub_flex.reverse .flex_tit:before {
	right: auto;
	left: 0;
}
.busisub_box .busisub_flex.reverse .flex_txt {
	text-align: left;
}

@media (max-width: 1024px) {
.busisub_box .busisub_flex .busisub_main_btn {
	flex-direction: column;
	align-items: flex-end;
}
.busisub_box .busisub_flex.reverse .busisub_main_btn {
	align-items: flex-start;
}
.busisub_box .main_btn_in+.main_btn_in {
	margin: 30px 0 0;
}
}
@media (max-width: 768px) {
.busisub_main {
	padding: 100px 0 200px;
	margin: 0 -20px -100px;
}
.busisub_main .busisub_main_in {
	padding: 0 20px;
}
.busisub_main .busisub_main_hd {
	font-size: 21px;
	letter-spacing: 0.2em;
}
.busisub_main .busisub_main_logo {
	margin-bottom: 30px;
}
.busisub_main .busisub_main_cap {
	font-size: 16px;
	letter-spacing: 0.2em;
}
.busisub_main .busisub_main_txt {
	line-height: 2;
	text-align: left;
	padding: 20px 0 0;
	margin: 20px 0 0;
}
.busisub_main .busisub_main_txt:before {
	width: 50px;
}
.busisub_main_btn {
	flex-direction: column;
	margin-top: 30px;
}
.busisub_main_btn .main_btn_in+.main_btn_in {
	margin: 20px 0 0;
}
.busisub_box {
	padding: 50px 0 100px;
}
.busisub_box .busisub_flex {
	flex-direction: column;
	align-items: center;
}
.busisub_box .busisub_flex+.busisub_flex {
	margin-top: 100px;
}
.busisub_box .busisub_flex .flex_img {
	width: auto;
	margin: 0 0 30px;
	text-align: center;
}
.busisub_box .busisub_flex .flex_img img {
	-webkit-border-radius: 40px 0 0 0;
	-moz-border-radius: 40px 0 0 0;
	-ms-border-radius: 40px 0 0 0;
	-o-border-radius: 40px 0 0 0;
	border-radius: 40px 0 0 0;
}
.busisub_box .busisub_flex .flex_in {
	width: 100%;
	display: block;
}
.busisub_box .busisub_flex .flex_tit {
	padding: 0 0 20px;
	align-items: flex-start;
	text-align: left;
	margin-bottom: 30px;
}
.busisub_box .busisub_flex .flex_tit:before {
	width: 50px;
	right: auto;
	left: 0;
}
.busisub_box .busisub_flex .flex_tit .tit_eng {
	font-size: 30px;
	letter-spacing: 0.1em;
}
.busisub_box .busisub_flex .flex_tit .tit_jps {
	font-size: 14px;
	letter-spacing: 0.06em;
}
.busisub_box .busisub_flex .flex_txt {
	line-height: 2;
	margin-bottom: 20px;
	text-align: left;
}
.busisub_box .busisub_flex .flex_soon {
	font-size: 20px;
	letter-spacing: 0.1em;
	margin-top: 0;
}
.busisub_box .busisub_flex.reverse {
	flex-direction: column;
}
.busisub_box .busisub_flex.reverse .flex_img {
	margin: 0 0 30px;
}
.busisub_box .busisub_flex.reverse .flex_img img {
	-webkit-border-radius: 0 40px 0 0;
	-moz-border-radius: 0 40px 0 0;
	-ms-border-radius: 0 40px 0 0;
	-o-border-radius: 0 40px 0 0;
	border-radius: 0 40px 0 0;
}
.busisub_box .busisub_flex .busisub_main_btn {
	align-items: flex-start;
}
}


/* textile
----------------------------------------------- */
.textile .busisub_main {
	background-image: url(../img/textile/main_textile.jpg);
}
.textile .busisub_main .busisub_main_logo img {
	width: 468px;
}
@media (max-width: 768px) {
.textile .busisub_main .busisub_main_logo img {
	width: 234px;
}
}


/* electric
----------------------------------------------- */
.electric .busisub_main {
	background-image: url(../img/electric/main_electric.jpg);
	background-position: center 0;
}
.electric .busisub_box .busisub_flex .flex_in {
	width: 50%;
}
.electric .busisub_main .busisub_main_logo img {
	width: 530px;
}
@media (max-width: 768px) {
.electric .busisub_main .busisub_main_logo img {
	width: 265px;
}
.electric .busisub_box .busisub_flex .flex_in {
	width: 100%;
}
}






/* sauna-lifestyle
----------------------------------------------- */

.sauna .harvia_box {
	background: url(../img/sauna/harvia_sauna.jpg) center center no-repeat;
	background-size: cover;
	position: relative;
	margin: 160px -40px -160px;
}
.sauna .harvia_box:before {
	position: absolute;
	content: "";
	background: #000;
	opacity: 0.6;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.sauna .harvia_inner {
	padding: 160px 40px 130px;
	position: relative;
	z-index: 1;
}
.sauna .harvia_inner .harvia_logo {
	text-align: center;
	margin-bottom: 35px;
}
.sauna .harvia_inner .harvia_txt {
	text-align: center;
	line-height: 2.56;
	margin-bottom: 25px;
}
.sauna .harvia_inner .busisub_main_btn .main_btn_in .btn_txt {
	padding: 0 55px 0 0;
}

@media (max-width: 768px) {
.sauna .harvia_box {
	margin: 0 -20px;
}
.sauna .harvia_inner {
	padding: 80px 20px;
}
.sauna .harvia_inner .harvia_logo {
	margin-bottom: 30px;
}
.sauna .harvia_inner .harvia_logo img {
	width: 160px;
}
.sauna .harvia_inner .harvia_txt {
	line-height: 2;
}
.sauna .harvia_inner .busisub_main_btn .main_btn_in .btn_txt {
	padding: 0 55px 0 0;
}

}



/* air-handling
----------------------------------------------- */
.air .air_main01 {
	background-image: url(../img/air/main_air01.jpg);
}
.air .air_main02 {
	overflow: hidden;
	background-image: url(../img/air/main_air02.jpg);
	-webkit-border-radius: 0 140px 0 0;
	-moz-border-radius: 0 140px 0 0;
	-ms-border-radius: 0 140px 0 0;
	-o-border-radius: 0 140px 0 0;
	border-radius: 0 140px 0 0;
}
@media (max-width: 768px) {
.air .air_main02 {
	-webkit-border-radius: 0 60px 0 0;
	-moz-border-radius: 0 60px 0 0;
	-ms-border-radius: 0 60px 0 0;
	-o-border-radius: 0 60px 0 0;
	border-radius: 0 60px 0 0;
}
}
.air .air_main_logo01 img {
	width: 581px;
}
.air .air_main_logo02 img {
	width: 515px;
}
@media (max-width: 768px) {
.air .air_main_logo01 img {
	width: 290px;
}
.air .air_main_logo02 img {
	width: 257px;
}
.air .busisub_box .busisub_flex .flex_tit .tit_img {
	width: 249px;
}
}




/* corporate
----------------------------------------------- */
.corporate {
}
.corp_message {
	background: #000032;
	padding: 180px 40px 0;
	-webkit-border-radius: 0 140px 0 140px;
	-moz-border-radius: 0 140px 0 140px;
	-ms-border-radius: 0 140px 0 140px;
	-o-border-radius: 0 140px 0 140px;
	border-radius: 0 140px 0 140px;
	position: relative;
}
@media (max-width: 768px) {
.corp_message {
	padding: 70px 20px;
	-webkit-border-radius: 0 60px 0 60px;
	-moz-border-radius: 0 60px 0 60px;
	-ms-border-radius: 0 60px 0 60px;
	-o-border-radius: 0 60px 0 60px;
	border-radius: 0 60px 0 60px;
}
}
.corp_message .hdm {
	margin-bottom: 50px;
}
.corp_message .message_box {
	display: flex;
	align-items: flex-start;
}
.corp_message .message_pic {
	width: 30%;
	margin-right: 14%;
}
.corp_message .message_img {
	margin-bottom: 20px;
}
.corp_message .message_img img {
	-webkit-border-radius: 0 100px 0 0;
	-moz-border-radius: 0 100px 0 0;
	-ms-border-radius: 0 100px 0 0;
	-o-border-radius: 0 100px 0 0;
	border-radius: 0 100px 0 0;
}
.corp_message .message_type {
	font-size: 20px;
	font-weight: 700;
	line-height: 38px;
}
.corp_message .message_type .type_sml {
	font-size: 18px;
}
.corp_message .message_in {
	width: 56%;
	padding: 40px 0 0;
}
.corp_message .message_tit {
	font-size: 60px;
	font-weight: 700;
	letter-spacing: 0.2em;
	line-height: 1.33;
	margin-bottom: 15px;
}
.corp_message .message_cap {
	font-size: 18px;
	line-height: 1.83;
	font-weight: 700;
	letter-spacing: 0.3em;
	margin-bottom: 55px;
}
.corp_message .message_txt {
	line-height: 2.56;
}
.corp_message .hdl {
	position: static;
	margin: 25px -40px -120px;
}
.corp_message .com_pic {
	transform: translateY(120px);
}
@media (max-width: 1024px) {
.corp_message .message_pic {
	margin-right: 5%;
}
.corp_message .message_in {
	width: 65%;
}
}
@media (max-width: 768px) {
.corp_message .hdm {
	margin-bottom: 30px;
}
.corp_message .message_box {
	flex-direction: column;
	align-items: center;
}
.corp_message .message_pic {
	width: auto;
	margin: 0 0 30px;
}
.corp_message .message_img {
	text-align: center;
	margin-bottom: 20px;
}
.corp_message .message_img img {
	-webkit-border-radius: 0 40px 0 0;
	-moz-border-radius: 0 40px 0 0;
	-ms-border-radius: 0 40px 0 0;
	-o-border-radius: 0 40px 0 0;
	border-radius: 0 40px 0 0;
}
.corp_message .message_type {
	font-size: 18px;
	line-height: 2;
}
.corp_message .message_type .type_sml {
	font-size: 16px;
}
.corp_message .message_in {
	width: auto;
	padding: 0;
}
.corp_message .message_tit {
	font-size: min(30px,8vw);
	letter-spacing: 0.2em;
}
.corp_message .message_cap {
	font-size: 16px;
	letter-spacing: 0.3em;
	margin-bottom: 30px;
}
.corp_message .message_txt {
	line-height: 2;
}
.corp_message .hdl {
	position: static;
	margin: 25px -20px 0;
}
.corp_message .com_pic {
	transform: translateY(0);
}
}

.corp_history {
	padding: 260px 40px 190px;
	position: relative;
}
.corp_history .hdl {
	left: 0;
	color: #000032;
	right: auto;
}
.corp_history .hdm {
	margin-bottom: 45px;
}
.corp_history .history_inner {
	
}
.corp_history .history_box {
	display: flex;
	align-items: flex-start;
	position: relative;
}
.corp_history .history_box:before {
	position: absolute;
	content: "";
	background: #959595;
	width: 2px;
	height: 100%;
	left: 157px;
	top: 14px;
	z-index: 0;
}
.corp_history .history_box.history_end:before {
	height: 120px;
}
.corp_history .history_box+.history_box {
	padding: 120px 0 0;
}
.corp_history .history_year {
	width: 158px;
	position: relative;
	flex-shrink: 0;
	margin-right: 50px;
	font-size: 40px;
	line-height: 1.2;
	letter-spacing: 0.1em;
	font-weight: 700;
	color: #000032;
}
.corp_history .history_year:before {
	position: absolute;
	content: "";
	right: -10px;
	top: 14px;
	background: #000032;
	width: 20px;
	height: 20px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 1;
}
.corp_history .history_cont {
	flex: 1;
}
.corp_history .history_tit {
	font-size: 30px;
	color: #000032;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.corp_history .history_cap {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-top: 15px;
	color: #000;
}
.corp_history .history_cap+.history_cap {
	margin-top: 17px;
}
.corp_history .history_txt {
	line-height: 2.56;
	margin-top: 35px;
	color: #000;
}
/* tbs_edited */
.corp_history .history_logo {
	display: flex;
	align-items: center;
	gap: 30px;
	margin-top: 50px;
	flex-wrap: wrap;
	justify-content: left;
}
@media (max-width: 768px) {
	.corp_history .history_logo {
		gap: 20px;
		margin-top: 30px;
	}
}
.corp_history .history_logo .pic_logo{
	max-width: 300px;
	width: 100%;
}
@media (max-width: 768px) {
	.corp_history .history_logo .pic_logo{
		max-width: 150px;
	}
}
.corp_history .history_pic {
	display: flex;
	margin-top: 40px;
}
.corp_history .history_pic li {
	width: calc((100% - 78px)/3);
	margin: 0 39px 0 0;
}
.corp_history .history_pic li:nth-child(3n) {
	margin-right: 0;
}
.corp_history .history_pic .pic_left img {
	-webkit-border-radius: 50px 0 0 0;
	-moz-border-radius: 50px 0 0 0;
	-ms-border-radius: 50px 0 0 0;
	-o-border-radius: 50px 0 0 0;
	border-radius: 50px 0 0 0;
}
.corp_history .history_pic .pic_right img {
	-webkit-border-radius: 0 0 50px 0;
	-moz-border-radius: 0 0 50px 0;
	-ms-border-radius: 0 0 50px 0;
	-o-border-radius: 0 0 50px 0;
	border-radius: 0 0 50px 0;
}
@media (max-width: 768px) {
.corp_history {
	padding: 70px 20px 100px;
	position: relative;
}
.corp_history .hdm {
	margin-bottom: 30px;
}
.corp_history .history_box:before {
	position: absolute;
	content: "";
	background: #959595;
	width: 2px;
	height: 100%;
	left: 79px;
	top: 7px;
}
.corp_history .history_box.history_end:before {
	height: 60px;
}
.corp_history .history_box+.history_box {
	padding: 60px 0 0;
}
.corp_history .history_year {
	width: 80px;
	margin-right: 30px;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
.corp_history .history_year:before {
	right: -5px;
	top: 7px;
	width: 10px;
	height: 10px;
}
.corp_history .history_cont {
	flex: 1;
}
.corp_history .history_tit {
	font-size: 18px;
	letter-spacing: 0.06em;
}
.corp_history .history_cap {
	font-size: 15px;
	letter-spacing: 0.06em;
	margin-top: 10px;
}
.corp_history .history_cap+.history_cap {
	margin-top: 10px;
}
.corp_history .history_txt {
	line-height: 2;
	margin-top: 25px;
}
.corp_history .history_pic {
	margin-top: 30px;
}
.corp_history .history_pic li {
	width: calc((100% - 20px)/3);
	margin: 0 10px 0 0;
}
.corp_history .history_pic .pic_left img {
	-webkit-border-radius: 20px 0 0 0;
	-moz-border-radius: 20px 0 0 0;
	-ms-border-radius: 20px 0 0 0;
	-o-border-radius: 20px 0 0 0;
	border-radius: 20px 0 0 0;
}
.corp_history .history_pic .pic_right img {
	-webkit-border-radius: 0 0 20px 0;
	-moz-border-radius: 0 0 20px 0;
	-ms-border-radius: 0 0 20px 0;
	-o-border-radius: 0 0 20px 0;
	border-radius: 0 0 20px 0;
}
}

.corp_outline {
	background: #000032;
	overflow: hidden;
	padding: 180px 40px 200px;
	-webkit-border-radius: 0 140px 0 140px;
	-moz-border-radius: 0 140px 0 140px;
	-ms-border-radius: 0 140px 0 140px;
	-o-border-radius: 0 140px 0 140px;
	border-radius: 0 140px 0 140px;
	position: relative;
}
.corp_outline .hdl {
	right: auto;
	left: 0;
}
@media (max-width: 768px) {
.corp_outline {
	padding: 70px 20px 100px;
	-webkit-border-radius: 0 60px 0 60px;
	-moz-border-radius: 0 60px 0 60px;
	-ms-border-radius: 0 60px 0 60px;
	-o-border-radius: 0 60px 0 60px;
	border-radius: 0 60px 0 60px;
}
}

.corp_outline .hdm {
	margin-bottom: 50px;
}
.corp_outline .out_list {
	max-width: 840px;
	margin: 0 auto;
	position: relative;
	border-top: 1px #787878 solid;
}
.corp_outline .out_list li {
	display: flex;
	align-items: stretch;
	border-bottom: 1px #787878 solid;
	line-height: 2.25;
	position: relative;
}
.corp_outline .out_list .list_tit {
	width: 18%;
	padding: 30px 10px 30px 0;
	flex-shrink: 0;
	font-weight: 700;
	position: relative;
}
.corp_outline .out_list .list_tit:before {
	position: absolute;
	content: "";
	background: #fff;
	width: 100%;
	left: 0;
	top: -1px;
	height: 1px;
	z-index: 0;
}
.corp_outline .out_list .list_tit:after {
	position: absolute;
	content: "";
	background: #fff;
	width: 100%;
	left: 0;
	bottom: -1px;
	height: 1px;
	z-index: 0;
}
.corp_outline .out_list .list_cont {
	padding: 30px 0 30px 4.8%;
	flex: 1;
}
.corp_outline .out_list .list_txt {
	
}
.corp_outline .out_list .list_addr+.list_addr {
	margin-top: 70px;
}
.corp_outline .out_list .list_addr {
	display: flex;
	align-items: flex-start;
}
.corp_outline .out_list .list_addr .addr_tit {
	width: 145px;
	flex-shrink: 0;
	margin-right: 10px;
	overflow: hidden;
	display: flex;
	justify-content: flex-start;
}
.corp_outline .out_list .list_addr .addr_tit_in {
	font-weight: 700;
	position: relative;
}
.corp_outline .out_list .list_addr .addr_tit_in:before {
	position: absolute;
	content: "";
	background: #fff;
	left: calc(100% + 10px);
	top: 50%;
	width: 200px;
	height: 1px;
	z-index: 0;
}
.corp_outline .out_list .list_addr .addr_cont {
	flex: 1;
}
.corp_outline .out_list .list_addr .addr_map {
	margin-top: 30px;
}
.corp_outline .out_list .list_addr .addr_map iframe {
	width: 100%;
	height: 270px;
}
@media (max-width: 768px) {
.corp_outline .hdm {
	margin-bottom: 30px;
}
.corp_outline .out_list li {
	line-height: 2;
}
.corp_outline .out_list .list_tit {
	width: 30%;
	padding: 20px 5px 20px 0;
}
.corp_outline .out_list .list_cont {
	padding: 20px 0 20px 10px;
	flex: 1;
}
.corp_outline .out_list .list_addr+.list_addr {
	margin-top: 40px;
}
.corp_outline .out_list .list_addr {
	display: block;
}
.corp_outline .out_list .list_addr .addr_tit {
	width: auto;
}
.corp_outline .out_list .list_addr .addr_tit_in {
	font-weight: 700;
	position: relative;
}
.corp_outline .out_list .list_addr .addr_tit_in:before {
	width: 100vw;
}
.corp_outline .out_list .list_addr .addr_map {
	margin-top: 30px;
}
.corp_outline .out_list .list_addr .addr_map iframe {
	width: 100%;
	height: 200px;
}
}

.corp_showroom {
	padding: 190px 40px 160px;
	position: relative;
}
.corp_showroom .hdl {
	right: auto;
	color: #000032;
	left: 0;
	bottom: -40px;
}
.corp_showroom .hdm {
	margin-bottom: 50px;
}
.corp_showroom .showroom_box {
	display: flex;
	align-items: center;
}
.corp_showroom .showroom_box+.showroom_box {
	margin-top: 80px;
}
.corp_showroom .showroom_img {
	width: 46.5%;
	align-self: flex-start;
	flex-shrink: 0;
	margin: 0 7.4% 0 0;
	position: relative;
}
@media (max-width: 768px) {
		.nowprinting .showroom_img {
		height: 67vw;
	}
}
@media (max-width: 768px) {
	.corp_showroom .showroom_img {
		width: 100% !important;
	}
}
.nowprinting .showroom_img:before, .nowprinting .showroom_img:after{
	position: absolute;
	content: "";
}
.nowprinting .showroom_img:before{
	height: 100%;
	width: 100%;
	background: #000032;
	-webkit-border-radius: 100px 0 0 0;
	-moz-border-radius: 100px 0 0 0;
	-ms-border-radius: 100px 0 0 0;
	-o-border-radius: 100px 0 0 0;
	border-radius: 100px 0 0 0;
}
@media (max-width: 768px) {
	.nowprinting .showroom_img:before{
		-webkit-border-radius: 40px 0 0 0;
	-moz-border-radius: 40px 0 0 0;
	-ms-border-radius: 40px 0 0 0;
	-o-border-radius: 40px 0 0 0;
	border-radius: 40px 0 0 0;
	}
}
.nowprinting .showroom_img{
	height: 370px;
}
@media (max-width: 768px) {
	.nowprinting .showroom_img{
		height: auto;
	}
}
.nowprinting .showroom_img:after{
	content: "Now printing...";
	z-index: 1;
	width: fit-content;
	left: 0;
	right: 0;
	margin: 0 auto;
	top: 55%;
	transform:translateY(-50%);
	font-family: out;
	font-family: "Outfit", sans-serif;
	font-size: clamp(22px, 4vw, 40px);
	font-weight: bold;
}
@media (max-width: 768px) {
	.nowprinting.reverse .showroom_img:before{
		-webkit-border-radius: 0 40px 0 0;
		-moz-border-radius: 0 40px 0 0;
		-ms-border-radius: 0 40px 0 0;
		-o-border-radius: 0 40px 0 0;
		border-radius: 0 40px 0 0;
	}
}
@media (max-width: 768px) {
	.nowprinting.reverse .showroom_img:before{
		-webkit-border-radius: 0 40px 0 0;
		-moz-border-radius: 0 40px 0 0;
		-ms-border-radius: 0 40px 0 0;
		-o-border-radius: 0 40px 0 0;
		border-radius: 0 40px 0 0 !important;
	}
}
.nowprinting.reverse .showroom_img:before{
	-webkit-border-radius: 0 100px 0 0;
	-moz-border-radius: 0 100px 0 0;
	-ms-border-radius: 0 100px 0 0;
	-o-border-radius: 0 100px 0 0;
	border-radius: 0 100px 0 0;
}
.corp_showroom .showroom_img img {
	-webkit-border-radius: 100px 0 0 0;
	-moz-border-radius: 100px 0 0 0;
	-ms-border-radius: 100px 0 0 0;
	-o-border-radius: 100px 0 0 0;
	border-radius: 100px 0 0 0;
}
@media (max-width: 768px) {
	.corp_showroom .showroom_img img {
		object-fit: cover;
width: 100%;
	}
}
.corp_showroom .showroom_in {
	flex: 1;
}
.corp_showroom .showroom_tit {
	font-size: 30px;
	font-weight: 700;
	color: #000032;
	letter-spacing: 0.1em;
	margin-bottom: 15px;
	line-height: 1.2;
}
.corp_showroom .showroom_list {
	width: 100%;
	border-top: 1px #d4d4d4 solid;
}
.corp_showroom .showroom_list li {
	display: flex;
	align-items: stretch;
	border-bottom: 1px #d4d4d4 solid;
	line-height: 1.62;
	position: relative;
}
.corp_showroom .showroom_list .list_tit {
	width: 17%;
	padding: 15px 10px 15px 0;
	flex-shrink: 0;
	color: #000032;
	font-weight: 700;
	position: relative;
}
.corp_showroom .showroom_list .list_tit:before {
	position: absolute;
	content: "";
	background: #000032;
	width: 100%;
	left: 0;
	top: -1px;
	height: 1px;
	z-index: 0;
}
.corp_showroom .showroom_list .list_tit:after {
	position: absolute;
	content: "";
	background: #000032;
	width: 100%;
	left: 0;
	bottom: -1px;
	height: 1px;
	z-index: 0;
}
.corp_showroom .showroom_list .list_cont {
	padding: 15px 0 15px 20px;
	flex: 1;
	color: #000;
}
.corp_showroom .showroom_list .list_txt {
	
}
.corp_showroom .showroom_list .list_txt .txt_sml {
	font-size: 14px;
}
.corp_showroom .showroom_box.reverse {
	flex-direction: row-reverse;
}
.corp_showroom .showroom_box.reverse .showroom_img {
	margin: 0 0 0 7.4%;
}
.corp_showroom .showroom_box.reverse .showroom_img img {
	-webkit-border-radius: 0 100px 0 0;
	-moz-border-radius: 0 100px 0 0;
	-ms-border-radius: 0 100px 0 0;
	-o-border-radius: 0 100px 0 0;
	border-radius: 0 100px 0 0;
}

@media (max-width: 768px) {
.corp_showroom {
	padding: 70px 20px 100px;
}
.corp_showroom .hdl {
	bottom: -20px;
}
.corp_showroom .hdm {
	margin-bottom: 30px;
}
.corp_showroom .showroom_box {
	flex-direction: column;
}
.corp_showroom .showroom_box+.showroom_box {
	margin-top: 50px;
}
.corp_showroom .showroom_img {
	width: auto;
	text-align: center;
	margin: 0 0 30px;
}
.corp_showroom .showroom_img img {
	-webkit-border-radius: 40px 0 0 0;
	-moz-border-radius: 40px 0 0 0;
	-ms-border-radius: 40px 0 0 0;
	-o-border-radius: 40px 0 0 0;
	border-radius: 40px 0 0 0;
}
.corp_showroom .showroom_tit {
	font-size: 22px;
}
.corp_showroom .showroom_list li {
	display: flex;
	align-items: stretch;
	border-bottom: 1px #d4d4d4 solid;
	line-height: 1.62;
	position: relative;
}
.corp_showroom .showroom_list .list_tit {
	width: 25%;
}
.corp_showroom .showroom_list .list_cont {
	padding: 15px 0 15px 10px;
}
.corp_showroom .showroom_list .list_txt .txt_sml {
	font-size: 12px;
}
.corp_showroom .showroom_box.reverse {
	flex-direction: column;
}
.corp_showroom .showroom_box.reverse .showroom_img {
	margin: 0 0 30px;
}
.corp_showroom .showroom_box.reverse .showroom_img img {
	-webkit-border-radius: 0 40px 0 0;
	-moz-border-radius: 0 40px 0 0;
	-ms-border-radius: 0 40px 0 0;
	-o-border-radius: 0 40px 0 0;
	border-radius: 0 40px 0 0;
}
}



/* top
----------------------------------------------- */
.top {
	background: #000032;
}
.top_page {
	padding: 360px 0 0;
}
.top_main {
	height: 800px;
	position: relative;
}
.top_main .main_img {
	position: absolute;
	background: url(../img/top/mainimg.png) center center no-repeat;
	background-size: cover;
	left: 0;
	top: 0;
	width: 100%;
	height: 800px;
	-webkit-border-radius: 0 140px 0 0;
	-moz-border-radius: 0 140px 0 0;
	-ms-border-radius: 0 140px 0 0;
	-o-border-radius: 0 140px 0 0;
	border-radius: 0 140px 0 0;
	z-index: 0;
}
.top_main .main_cont {
	position: absolute;
	left: 8.5vw;
	top: 0;
	transform: translateY(-50%);
	z-index: 1;
}
.top_main .main_jps {
	font-size: 80px;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.2em;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 25px;
}
.top_main .main_jps .vision {
	display: inline-block;
	vertical-align: middle;
	margin: 0 0 20px;
	font-size: 0;
}
.top_main .main_eng {
	font-size: 18px;
	line-height: 1.83;
	letter-spacing: 0.3em;
	font-weight: 700;
}
.top_main .main_jps .line_white {
	position: relative;
	display: inline-block;
}
.top_main .main_jps .line_white+.line_white {
	margin-top: 15px;
}
.top_main .main_jps .line_white,
.top_main .main_jps .line_white::after {
	animation-delay: 1s;
	animation-iteration-count: 1;
	animation-duration: 800ms;
	animation-fill-mode: both;
	animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
}
.top_main .main_jps .line_white {
	position: relative;
	animation-name: clip-text;
	cursor: default;
}
.top_main .main_jps .line_white::after {
	content: "";
	position: absolute;
	z-index: 999;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	transform: scaleX(0);
	transform-origin: 0 50%;
	pointer-events: none;
	animation-name: text-revealer;
}
@keyframes clip-text {
	from {
			clip-path: inset(0 100% 0 0);
	}
	to {
			clip-path: inset(0 0 0 0);
	}
}
@keyframes text-revealer {
	0%, 50% {
			transform-origin: 0 50%;
	}
	60%, 100% {
			transform-origin: 100% 50%;
	}
	60% {
			transform: scaleX(1);
	}
	100% {
			transform: scaleX(0);
	}
}
@media (max-width: 1024px) {
.top_main .main_jps {
	font-size: 50px;
}
.top_main .main_jps .vision {
	margin: 0 0 10px;
}
.top_main .main_jps .vision img {
	height: 40px;
}
}
@media (max-width: 768px) {
.top {
	background: #000032;
}
.top_page {
	padding: 200px 0 0;
}
.top_main {
	height: 500px;
	position: relative;
}
.top_main .main_img {
	height: 500px;
	-webkit-border-radius: 0 60px 0 0;
	-moz-border-radius: 0 60px 0 0;
	-ms-border-radius: 0 60px 0 0;
	-o-border-radius: 0 60px 0 0;
	border-radius: 0 60px 0 0;
}
.top_main .main_cont {
	left: 20px;
}
.top_main .main_jps {
	font-size: 32px;
	letter-spacing: 0.2em;
	margin-bottom: 10px;
}
.top_main .main_jps .line_white+.line_white {
	margin-top: 10px;
}
.top_main .main_jps .vision {
	margin: 0;
}
.top_main .main_jps .vision img {
	height: 30px;
}
.top_main .main_eng {
	font-size: min(10px,2.7vw);
	letter-spacing: 0.3em;
}
}

.top_about {
	position: relative;
	z-index: 1;
}
.top_about .hdl {
	position: static;
}
.top_about .tabt_box {
	display: flex;
	align-items: flex-start;
	margin-bottom: 60px;
}
.top_about .inner {
	max-width: 1160px;
	padding: 0 40px;
}
.top_about .tabt_box .hdm {
	width: 36%;
	position: sticky;
	left: 0;
	top: 100px;
}
.top_about .tabt_box .box_inner {
	flex: 1;
	padding: 40px 0 0;
}
.top_about .tabt_box .box_tit {
	font-size: 60px;
	font-weight: 700;
	line-height: 1.33;
	letter-spacing: 0.2em;
	margin-bottom: 20px;
}
.top_about .tabt_box .box_cap {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.3em;
	margin-bottom: 55px;
}
.top_about .tabt_box .box_txt {
	line-height: 2.56;
}
.top_about .tabt_navi {
	display: flex;
	justify-content: space-between;
	position: relative;
}
.top_about .tabt_navi li {
	width: 22.6%;
}
.top_about .tabt_navi li img {
	width: 100%;
}
.top_about .about_hid {
	overflow: hidden;
}
.top_about .about_slider {
}
.top_about .about_slider .slick-slide {
	padding: 0 20px;
}
.top_about .about_slider .slick-slide img {
	width: 294px;
}

@media (max-width: 768px) {
.top_about .tabt_box {
	display: block;
	margin-bottom: 30px;
}
.top_about .inner {
	padding: 0 20px;
}
.top_about .tabt_box .hdm {
	width: auto;
	position: relative;
	left: auto;
	top: auto;
	margin-bottom: 30px;
}
.top_about .tabt_box .box_inner {
	padding: 0;
}
.top_about .tabt_box .box_tit {
	font-size: 30px;
	letter-spacing: 0.2em;
}
.top_about .tabt_box .box_cap {
	font-size: 14px;
	margin-bottom: 30px;
}
.top_about .tabt_box .box_txt {
	line-height: 2;
}
.top_about .tabt_navi {
	flex-wrap: wrap;
}
.top_about .tabt_navi li {
	width: 48%;
	margin: 10px 0;
}
.top_about .about_slider {
	margin: 0 -10px;
}
.top_about .about_slider .slick-slide {
	padding: 0 10px;
}
.top_about .about_slider .slick-slide img {
	width: 147px;
}
}

.top_btn {
	display: flex;
	justify-content: flex-start;
}

.top_btn a {
	display: block;
	font-weight: 700;
	padding: 15px 10px 15px 30px;
	border: 2px #fff solid;
	color: #fff;
	-webkit-border-radius: 40px;
	-moz-border-radius: 40px;
	-ms-border-radius: 40px;
	-o-border-radius: 40px;
	border-radius: 40px;
}
.top_btn a:before {
	background: #fff;
}
.top_btn .btn_txt {
	position: relative;
	padding: 0 75px 0 0;
	display: block;
	z-index: 1;
}
.top_btn .btn_txt:before {
	position: absolute;
	content: "";
	background: url(../img/common/arrow_m_bl.svg) center center no-repeat #fff;
	background-size: 15px 9px;
	width: 36px;
	height: 36px;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	z-index: 0;
}
.top_btn a:hover {
	color: #000032;
}
.top_btn a:hover .btn_txt:before {
	background: url(../img/common/arrow_m_wh.svg) center center no-repeat #000032;
	background-size: 15px 9px;
}
@media (max-width: 768px) {
.top_btn {
	justify-content: flex-end;
}
.top_btn a {
	padding: 10px 10px 10px 20px;
}
.top_btn .btn_txt {
	padding: 0 50px 0 0;
	font-size: 12px;
}
.top_btn .btn_txt:before {
	position: absolute;
	content: "";
	background: url(../img/common/arrow_m_bl.svg) center center no-repeat #fff;
	background-size: 12px 7px;
	width: 26px;
	height: 26px;
}
.top_btn a:hover .btn_txt:before {
	background: url(../img/common/arrow_m_wh.svg) center center no-repeat #000032;
	background-size: 12px 7px;
}
}


.top_ser {
	padding: 180px 40px 200px;
	position: relative;
	z-index: 1;
}
.top_ser .hdl {
	right: auto;
	left: 0;
}
.top_ser .tser_box {
	display: flex;
	align-items: flex-start;
}
.top_ser .tser_box .tser_left {
	width: 33%;
	margin-right: 7%;
	flex-shrink: 0;
	position: sticky;
	left: 0;
	top: 100px;
}
.top_ser .tser_box .hdm {
	margin-bottom: 40px;
}
.top_ser .tser_box .tser_det {
	line-height: 2.56;
	margin-bottom: 40px;
}
.top_ser .tser_box .tser_right {
	flex: 1;
	padding: 50px 0 0;
}
.top_ser .tser_box .tser_list {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
}
.top_ser .tser_box .tser_list li {
	width: calc((100% - 40px)/2);
}
.top_ser .tser_box .tser_list li:nth-child(2n) {
	margin-top: 40px;
}
.top_ser .tser_box .tser_list a {
	display: block;
	position: relative;
}
.top_ser .tser_box .tser_list a:before {
	position: absolute;
	content: "";
	right: 15px;
	bottom: 15px;
	width: 36px;
	height: 36px;
	background: url(../img/common/arrow_m_bl.svg) center center no-repeat #fff;
	background-size: 15px 9px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
	z-index: 1;
}
.top_ser .tser_box .tser_list .list_img {
	overflow: hidden;
}
.top_ser .tser_box .tser_list .list_img img {
	width: 100%;
	transform: scale(1);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
.top_ser .tser_box .tser_list .list_num {
	position: absolute;
	left: -22px;
	top: 0;
	transform: translateY(-50%);
	z-index: 1;
}
.top_ser .tser_box .tser_list .list_num img {
	height: 38px;
}
.top_ser .tser_box .tser_list .list_cont {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	padding: 10px;
	z-index: 1;
}
.top_ser .tser_box .tser_list .list_eng {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
.top_ser .tser_box .tser_list .list_jps {
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-top: 10px;
}
.top_ser .tser_box .tser_list a:hover .list_img img {
	transform: scale(1.1);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
.top_ser .tser_box .tser_list a:hover:before {
	transform: scale(1.5);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
@media (max-width: 768px) {
.top_ser {
	padding: 70px 20px 100px;
}
.top_ser .tser_box {
	display: block;
}
.top_ser .tser_box .tser_left {
	width: auto;
	margin: 0 0 50px;
	position: static;
	left: auto;
	top: auto;
}
.top_ser .tser_box .hdm {
	margin-bottom: 30px;
}
.top_ser .tser_box .tser_det {
	line-height: 2;
	margin-bottom: 20px;
}
.top_ser .tser_box .tser_right {
	padding: 0;
}
.top_ser .tser_box .tser_list li {
	width: calc((100% - 10px)/2);
}
.top_ser .tser_box .tser_list a:before {
	right: 10px;
	bottom: 10px;
	width: 26px;
	height: 26px;
}
.top_ser .tser_box .tser_list .list_img {
	overflow: hidden;
}
.top_ser .tser_box .tser_list .list_num {
	left: -5px;
}
.top_ser .tser_box .tser_list .list_num img {
	height: 30px;
}
.top_ser .tser_box .tser_list .list_eng {
	font-size: 16px;
	letter-spacing: 0.1em;
}
.top_ser .tser_box .tser_list .list_jps {
	letter-spacing: 0.08em;
	font-size: 10px;
	margin-top: 5px;
}
}

.top_comp {
	padding: 200px 40px 320px;
	position: relative;
	z-index: 1;
}
.top_comp:before {
	position: absolute;
	content: "";
	background: url(../img/top/bg_company01.jpg) center 0 no-repeat;
	background-size: cover;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	-webkit-border-radius: 0 140px 0 0;
	-moz-border-radius: 0 140px 0 0;
	-ms-border-radius: 0 140px 0 0;
	-o-border-radius: 0 140px 0 0;
	border-radius: 0 140px 0 0;
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
	z-index: 0;
}
.top_comp:after {
	position: absolute;
	content: "";
	background: #000;
	opacity: 0.6;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	-webkit-border-radius: 0 140px 0 0;
	-moz-border-radius: 0 140px 0 0;
	-ms-border-radius: 0 140px 0 0;
	-o-border-radius: 0 140px 0 0;
	border-radius: 0 140px 0 0;
	z-index: 0;
}
.top_comp .hdl {
	left: 0;
	right: auto;
	bottom: 145px;
	z-index: 2;
}
.top_comp .hdm {
	margin-bottom: 45px;
}
.top_comp .tcomp_box {
	display: flex;
	align-items: flex-start;
	z-index: 2;
}
.top_comp .tcomp_box .tcomp_left {
	width: 35%;
	margin-right: 12%;
	flex-shrink: 0;
	position: sticky;
	left: 0;
	top: 100px;
	z-index: 2;
}
.top_comp .tcomp_box .tcomp_det {
	line-height: 2.56;
	margin-bottom: 40px;
}
.top_comp .tcomp_box .tcomp_right {
	flex: 1;
}
.top_comp .tcomp_box .tcomp_list li:before {
	position: absolute;
	content: "";
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
	z-index: 0;
	-webkit-border-radius: 0 140px 0 0;
	-moz-border-radius: 0 140px 0 0;
	-ms-border-radius: 0 140px 0 0;
	-o-border-radius: 0 140px 0 0;
	border-radius: 0 140px 0 0;
}
.top_comp .tcomp_box .tcomp_list li:hover:before {
	opacity: 1;
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}

.top_comp .tcomp_box .tcomp_list li.bg_message:before {
	background: url(../img/top/bg_company02.jpg) center 0 no-repeat;
	background-size: cover;
}
.top_comp .tcomp_box .tcomp_list li.bg_history:before {
	background: url(../img/top/bg_company03.jpg) center 0 no-repeat;
	background-size: cover;
}
.top_comp .tcomp_box .tcomp_list li.bg_outline:before {
	background: url(../img/top/bg_company04.jpg) center 0 no-repeat;
	background-size: cover;
}
.top_comp .tcomp_box .tcomp_list li.bg_showroom:before {
	background: url(../img/top/bg_company05.jpg) center 0 no-repeat;
	background-size: cover;
}
.top_comp .tcomp_box .tcomp_list li a {
	display: block;
	padding: 35px 50px 35px 0;
	border-bottom: 1px #787878 solid;
	position: relative;
	z-index: 2;
}
.top_comp .tcomp_box .tcomp_list li a:before {
	position: absolute;
	content: "";
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	background: url(../img/common/arrow_m_bl.svg) center center no-repeat #fff;
	background-size: 15px 9px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.top_comp .tcomp_box .tcomp_list li a:hover:before {
	transform: scale(1.5) translateY(-50%);
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.top_comp .tcomp_box .tcomp_list li a:after {
	position: absolute;
	content: "";
	background: #fff;
	width: 50px;
	height: 1px;
	left: 0;
	bottom: -1px;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
	z-index: 0;
}
.top_comp .tcomp_box .tcomp_list li a:hover:after {
	width: 100%;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
}
.top_comp .tcomp_box .tcomp_list li .list_eng {
	font-size: 40px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: 0.06em;
}
.top_comp .tcomp_box .tcomp_list li .list_jps {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.06em;
	margin-top: 10px;
}
@media (max-width: 768px) {
.top_comp {
	padding: 100px 20px 140px;
}
.top_comp:before {
	-webkit-border-radius: 0 60px 0 0;
	-moz-border-radius: 0 60px 0 0;
	-ms-border-radius: 0 60px 0 0;
	-o-border-radius: 0 60px 0 0;
	border-radius: 0 60px 0 0;
}
.top_comp:after {
	-webkit-border-radius: 0 60px 0 0;
	-moz-border-radius: 0 60px 0 0;
	-ms-border-radius: 0 60px 0 0;
	-o-border-radius: 0 60px 0 0;
	border-radius: 0 60px 0 0;
}
.top_comp .hdl {
	bottom: 60px;
}
.top_comp .hdm {
	margin-bottom: 30px;
}
.top_comp .tcomp_box {
	display: block;
}
.top_comp .tcomp_box .tcomp_left {
	width: auto;
	margin: 0 0 50px;
	position: relative;
	left: auto;
	top: auto;
}
	.top_comp .tcomp_box .tcomp_left .top_btn {
		position: absolute;
		right: 0;
		top: 0;
		height: 100px;
		display: flex;
		align-items: flex-end;
		z-index: 1;
	}
.top_comp .tcomp_box .tcomp_det {
	line-height: 2;
	margin-bottom: 30px;
}
.top_comp .tcomp_box .tcomp_list li:before {
	-webkit-border-radius: 0 60px 0 0;
	-moz-border-radius: 0 60px 0 0;
	-ms-border-radius: 0 60px 0 0;
	-o-border-radius: 0 60px 0 0;
	border-radius: 0 60px 0 0;
}
.top_comp .tcomp_box .tcomp_list li a {
	padding: 15px 40px 15px 0;
}
.top_comp .tcomp_box .tcomp_list li .list_eng {
	font-size: 28px;
	letter-spacing: 0.06em;
}
.top_comp .tcomp_box .tcomp_list li .list_jps {
	font-size: 16px;
	letter-spacing: 0.06em;
}
}

.top_pic {
	margin-top: -150px;
	padding: 0 40px;
	position: relative;
	z-index: 2;
}
@media (max-width: 768px) {
.top_pic {
	margin-top: -50px;
	padding: 0 20px;
}
}

.top_white {
	background: #fff;
}

.top_news {
	background: #000032;
	padding: 150px 40px 190px;
	-webkit-border-radius: 0 0 140px 0;
	-moz-border-radius: 0 0 140px 0;
	-ms-border-radius: 0 0 140px 0;
	-o-border-radius: 0 0 140px 0;
	border-radius: 0 0 140px 0;
	position: relative;
}
.top_news .hdl {
	right: auto;
	left: 0;
}
.top_news .hdm {
	margin-bottom: 45px;
}
.top_news .tnews_box {
	display: flex;
	align-items: flex-start;
}
.top_news .tnews_box .tnews_left {
	width: 23%;
	margin-right: 10%;
	position: sticky;
	left: 0;
	top: 100px;
	flex-shrink: 0;
}
.top_news .tnews_box .tnews_right {
	flex: 1;
}
@media (max-width: 768px) {
.top_news {
	padding: 70px 20px 100px;
	-webkit-border-radius: 0 0 60px 0;
	-moz-border-radius: 0 0 60px 0;
	-ms-border-radius: 0 0 60px 0;
	-o-border-radius: 0 0 60px 0;
	border-radius: 0 0 60px 0;
}
.top_news .hdm {
	margin-bottom: 0;
}
.top_news .tnews_box {
	display: block;
}
.top_news .tnews_box .tnews_left {
	width: auto;
	margin: 0 0 50px;
	position: static;
	left: auto;
	top: auto;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
}

.top_rec {
	margin-top: 40px;
	padding: 110px 0 30px;
	position: relative;
}
.top_rec .trec_inner {
	padding: 0 40px;
}
.top_rec:before {
	position: absolute;
	content: "";
	background: #000;
	width: 97vw;
	height: 100%;
	right: 0;
	top: 0;
	-webkit-border-radius: 140px 0 0 0;
	-moz-border-radius: 140px 0 0 0;
	-ms-border-radius: 140px 0 0 0;
	-o-border-radius: 140px 0 0 0;
	border-radius: 140px 0 0 0;
	z-index: 0;
}
.top_rec .inner {
	position: relative;
	z-index: 1;
}
.top_rec .inner:before {
	position: absolute;
	content: "";
	border: 1px #fff solid;
	width: calc(100% - 80px);
	height: calc(100% - 52px);
	left: 50%;
	transform: translateX(-50%);
	top: 40px;
	z-index: 0;
}
.top_rec .trec_cont {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 40px;
	padding: 0 70px;
	position: relative;
	z-index: 1;
}
.top_rec .hdm {
	margin-right: 20px;
}
.top_rec .hdm .hdm_eng {
	background: #000;
	position: relative;
}
.top_rec .hdm .hdm_eng:before {
	position: absolute;
	content: "";
	background: #000;
	width: 10px;
	height: 100%;
	right: 100%;
	top: 0;
	z-index: 0;
}
.top_rec .hdm .hdm_eng:after {
	position: absolute;
	content: "";
	background: #000;
	width: 10px;
	height: 100%;
	left: 100%;
	top: 0;
	z-index: 0;
}
.top_rec .trec_det {
	line-height: 2.25;
	text-align: right;
}
.top_rec .trec_list {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}
.top_rec .trec_list li {
	width: calc((100% - 52px)/2);
}
.top_rec .trec_list li+li {
	margin-top: 40px;
}
.top_rec .trec_list li a {
	display: block;
	position: relative;
}

.top_rec .trec_list .list_img {
	overflow: hidden;
}
.top_rec .trec_list .list_img img {
	width: 100%;
	transform: scale(1);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
.top_rec .trec_list .list_cont {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	padding: 10px;
	z-index: 1;
}
.top_rec .trec_list .list_eng {
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
.top_rec .trec_list .list_jps {
	font-weight: 700;
	letter-spacing: 0.08em;
	margin-top: 5px;
}
.top_rec .trec_list a:before {
	position: absolute;
	content: "";
	right: 20px;
	bottom: 20px;
	width: 36px;
	height: 36px;
	background: url(../img/common/arrow_m_bl.svg) center center no-repeat #fff;
	background-size: 15px 9px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
	border-radius: 50%;
	transition: all 0.3s !important;
	-moz-transition: all 0.3s !important; /* Firefox */
	-webkit-transition: all 0.3s !important; /* Chrome&Safari */
	z-index: 1;
}
.top_rec .trec_list a:hover .list_img img {
	transform: scale(1.1);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
.top_rec .trec_list a:hover:before {
	transform: scale(1.5);
	transition: all 0.5s !important;
	-moz-transition: all 0.5s !important; /* Firefox */
	-webkit-transition: all 0.5s !important; /* Chrome&Safari */
}
.top_rec .trec_cap {
	padding: 0 70px;
	margin-top: 25px;
	display: flex;
	justify-content: flex-start;
	position: relative;
	z-index: 1;
}
.top_rec .trec_cap .cap_txt {
	display: block;
	padding: 0 10px;
	background: #000;
	font-weight: 700;
	letter-spacing: 0.1em;
}
.top_rec .infinite {
	margin-top: 30px;
}

@media (max-width: 768px) {
.top_rec {
	margin-top: 30px;
	padding: 70px 0 30px;
}
.top_rec .trec_inner {
	padding: 0 20px;
}
.top_rec:before {
	-webkit-border-radius: 60px 0 0 0;
	-moz-border-radius: 60px 0 0 0;
	-ms-border-radius: 60px 0 0 0;
	-o-border-radius: 60px 0 0 0;
	border-radius: 60px 0 0 0;
}
.top_rec .inner:before {
	width: calc(100% - 20px);
	height: calc(100% - 35px);
	top: 20px;
}
.top_rec .trec_cont {
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 30px;
	padding: 0 40px;
}
.top_rec .hdm {
	margin: 0 0 30px;
}
.top_rec .trec_det {
	line-height: 2;
	text-align: left;
}
.top_rec .trec_list {
	display: flex;
	justify-content: space-between;
	position: relative;
	z-index: 1;
}
.top_rec .trec_list li {
	width: calc((100% - 10px)/2);
}
.top_rec .trec_list li+li {
	margin-top: 30px;
}
.top_rec .trec_list .list_eng {
	font-size: 16px;
	letter-spacing: 0.1em;
}
.top_rec .trec_list .list_jps {
	letter-spacing: 0.08em;
	font-size: 12px;
	margin-top: 0;
}
.top_rec .trec_list a:before {
	right: 10px;
	bottom: 10px;
	width: 26px;
	height: 26px;
}
}



/* add sauna-lifestyle
----------------------------------------------- */
.sauna_main01 {
	background-image: url(../img/sauna/main_sauna01.jpg);
}
.sauna_main02 {
	background-image: url(../img/sauna/main_sauna02.jpg);
	overflow: hidden;
	-webkit-border-radius: 0 140px 0 0;
	-moz-border-radius: 0 140px 0 0;
	-ms-border-radius: 0 140px 0 0;
	-o-border-radius: 0 140px 0 0;
	border-radius: 0 140px 0 0;
}
.sauna_main02 .busisub_main_logo img {
	width: 532px;
}
.sauna_main03 {
	background-image: url(../img/sauna/main_sauna03.jpg);
	overflow: hidden;
	-webkit-border-radius: 0 140px 0 0;
	-moz-border-radius: 0 140px 0 0;
	-ms-border-radius: 0 140px 0 0;
	-o-border-radius: 0 140px 0 0;
	border-radius: 0 140px 0 0;
}
.sauna_main03 .busisub_main_logo img {
	width: 468px;
}
.sauna_main04 {
	padding: 200px 0 400px;
	margin-top: 160px;
	margin-bottom: -240px;
	background-image: url(../img/sauna/main_sauna04.jpg);
	overflow: hidden;
	-webkit-border-radius: 0 140px 0 0;
	-moz-border-radius: 0 140px 0 0;
	-ms-border-radius: 0 140px 0 0;
	-o-border-radius: 0 140px 0 0;
	border-radius: 0 140px 0 0;
}
.sauna_main04 .busisub_main_logo img {
	width: 320px;
}
.sauna_main05 {
	padding: 200px 0 400px;
	margin-top: 160px;
	margin-bottom: -240px;
	background-image: url(../img/top/bg_thermory.jpg);
	overflow: hidden;
	-webkit-border-radius: 0 140px 0 0;
	-moz-border-radius: 0 140px 0 0;
	-ms-border-radius: 0 140px 0 0;
	-o-border-radius: 0 140px 0 0;
	border-radius: 0 140px 0 0;
}
.sauna_main05 .busisub_main_logo img {
	width: 400px;
}
.sauna_main06 {
	padding: 200px 0 400px;
	margin-top: 160px;
	margin-bottom: -240px;
	background-image: url(../img/top/bg_cariitti.jpg);
	overflow: hidden;
	-webkit-border-radius: 0 140px 0 0;
	-moz-border-radius: 0 140px 0 0;
	-ms-border-radius: 0 140px 0 0;
	-o-border-radius: 0 140px 0 0;
	border-radius: 0 140px 0 0;
}
.sauna_main06 .busisub_main_logo img {
	width: 400px;
}

@media (max-width: 768px) {
.sauna_main02 {
	-webkit-border-radius: 0 60px 0 0;
	-moz-border-radius: 0 60px 0 0;
	-ms-border-radius: 0 60px 0 0;
	-o-border-radius: 0 60px 0 0;
	border-radius: 0 60px 0 0;
}
.sauna_main02 .busisub_main_logo img {
	width: 266px;
}
.sauna_main03 {
	-webkit-border-radius: 0 60px 0 0;
	-moz-border-radius: 0 60px 0 0;
	-ms-border-radius: 0 60px 0 0;
	-o-border-radius: 0 60px 0 0;
	border-radius: 0 60px 0 0;
}
.sauna_main03 .busisub_main_logo img {
	width: 234px;
}
.sauna_main04 .busisub_main_logo img {
	width: 160px;
}
.sauna_main04 {
	padding: 100px 0 200px;
	margin-top: 100px;
	margin-bottom: -100px;
	-webkit-border-radius: 0 60px 0 0;
	-moz-border-radius: 0 60px 0 0;
	-ms-border-radius: 0 60px 0 0;
	-o-border-radius: 0 60px 0 0;
	border-radius: 0 60px 0 0;
}
.sauna_main05 .busisub_main_logo img {
	width: 200px;
}
.sauna_main05 {
	padding: 100px 0 200px;
	margin-top: 100px;
	margin-bottom: -100px;
	-webkit-border-radius: 0 60px 0 0;
	-moz-border-radius: 0 60px 0 0;
	-ms-border-radius: 0 60px 0 0;
	-o-border-radius: 0 60px 0 0;
	border-radius: 0 60px 0 0;
}
.sauna_main06 .busisub_main_logo img {
	width: 200px;
}
.sauna_main06 {
	padding: 100px 0 200px;
	margin-top: 100px;
	margin-bottom: -100px;
	-webkit-border-radius: 0 60px 0 0;
	-moz-border-radius: 0 60px 0 0;
	-ms-border-radius: 0 60px 0 0;
	-o-border-radius: 0 60px 0 0;
	border-radius: 0 60px 0 0;
}
}

.busisub_box.busi_sauna {
	padding-top: 200px;
}
.busisub_box.busi_sauna .busisub_flex .flex_txt {
	margin-bottom: 0;
}
.busisub_box.busi_sauna .busisub_flex .flex_img {
	margin-top: 0;
}
.busisub_box.busi_sauna .busisub_flex {
	align-items: center;
}

@media (max-width: 768px) {
.busisub_box.busi_sauna {
	padding-top: 100px;
}
}





/* XXXXXXXXXXXXXXXX
----------------------------------------------- */

@media (max-width: 1024px) {

}
@media (max-width: 768px) {

}

.mw_wp_form_confirm .is_input {
	display: none;
}

.mw_wp_form_input .is_confirm {
	display: none;
}

.mw_wp_form_confirm .input_file br {
	display: none;
}






/* customer harassment policy
----------------------------------------------- */
.ch_policy .privacy_box .privacy_txt+.privacy_txt {
	margin-top: 1.28em;
}
.ch_policy .ch_sub {
	margin-top: 40px;
}
.ch_policy .ch_sub_tit {
	font-size: 16px;
	font-weight: 700;
	line-height: 2;
	margin-bottom: 10px;
}
.ch_policy .ch_list li {
	line-height: 2.56;
	text-indent: -1em;
	padding-left: 1em;
}
.ch_policy .ch_list li:before {
	content: "・";
}
.ch_policy .privacy_txt+.ch_list {
	margin-top: 20px;
}
.ch_policy .privacy_txt.ch_note {
	margin-top: 40px;
}
.ch_policy .ch_sign {
	margin-top: 80px;
	text-align: right;
	line-height: 2.2;
}
.ch_policy .ch_sign .sign_date {
	margin-bottom: 20px;
}
@media (max-width: 1024px) {
.ch_policy .teaser .teaser_eng {
	font-size: min(60px,5.86vw);
}
}
@media (max-width: 768px) {
.ch_policy .teaser .teaser_eng {
	word-break: normal;
	font-size: min(32px,8.53vw);
}
.ch_policy .ch_sub {
	margin-top: 30px;
}
.ch_policy .ch_sub_tit {
	font-size: 14px;
	line-height: 1.8;
	text-indent: -0.5em;
}
.ch_policy .ch_list li {
	line-height: 2;
}
.ch_policy .privacy_txt.ch_note {
	margin-top: 30px;
}
.ch_policy .ch_sign {
	margin-top: 50px;
	line-height: 2;
}
.ch_policy .ch_sign .sign_date {
	margin-bottom: 10px;
}
}

/* footer navi (customer harassment link)
----------------------------------------------- */
@media (min-width: 769px) and (max-width: 1200px) {
#footer .footer_mess .footer_navi li {
	margin-right: 24px;
}
}
@media (max-width: 768px) {
#footer .footer_mess .footer_navi li.navi_wide {
	width: 100%;
}
}
