/* 旧テーマ ORIGINAL-LAB 由来の本文レイアウト。.legacy-content 配下にのみ適用する。 */
.legacy-content .fs_40 {font-size: 40px
}
.legacy-content .fs_30 {font-size: 30px!important
}
.legacy-content .fs_24 {font-size: 24px
}
.legacy-content .bx_sdw_1 {box-shadow:1px 1px 3px 1px #f2f2f2;
}
.legacy-content .flex_wrapper {
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}
.legacy-content .flex-wrap_par {
	flex-wrap: wrap;
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;	
	display: flex;
}
.legacy-content .hover:hover {
  opacity: 1;
  -webkit-animation: flash 1s;
  animation: flash 1.5s;
}
.legacy-content .pc {display: block
}
.legacy-content .sp {display: none!important
}
.legacy-content .fs_24 {font-size: 24px
}
.legacy-content .wrap_1200 {
	width: 1200px;
	height: auto;
	margin: 0 auto;
}
.legacy-content .wrap_900 {
	width: 900px;
	height: auto;
	margin: 0 auto;
}
.legacy-content .wrap_800 {
	width: 800px;
	height: auto;
	margin: 0 auto;
}
.legacy-content .bg_type_1 {background-color: #f9f6f6;
}
.legacy-content .h_type_1 {
	padding: 5px;
	font-size: 43px;
	color: #FFFFFF;
	line-height: 76px;
	display: inline;
	background: #bc2124;
}
.legacy-content .h_type_2 {
	padding-bottom: 25px;
	font-size: 34px;
	line-height: 44px;
	position: relative;
	text-align: center;
}
.legacy-content .h_type_2::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 85px;
	height: 5px;
	margin: auto;
	background-color: #bc2124
}
.legacy-content .h_type_3 {
	font-size: 30px;
	position: relative;
	padding: 16px 0 36px 4px;
	border-top: 1px solid #b7b7b7;
	z-index: -1
}
.legacy-content .h_type_3::after {
	content: "";
	position: absolute;
	top: -5px;
	left: 0;
	width: 85px;
	height: 5px;
	background-color: #bc2124
}
.legacy-content .sec_pad {
	padding: 80px 0
}
.legacy-content .sec_pad_b {
	padding-bottom: 80px
}
.legacy-content .sec_pad_t {
	padding-top: 80px;
}
.legacy-content .info_vox {
	margin: 36px auto;
	padding: 14px 24px;
	line-height: 30px;
	border: 1px solid #bc2124
}
.legacy-content .bx_sdw_1 {
    box-shadow:2px 2px 3px 0px #cccccc;
}
.legacy-content #fsv {
	height: 700px;
	position: relative;
	overflow: hidden
}
.legacy-content #fsv .swiper-slide {
}
.legacy-content #fsv .swiper-slide img {
	width: 100%;
	height: 700px!important;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.legacy-content #fsv .swiper-pagination {
  	text-align: right;
  	padding-right: 14px;
}
.legacy-content #fsv .swiper-container-horizontal > .swiper-pagination-bullets {
  	bottom: 14px;
}
.legacy-content #fsv .swiper-pagination-bullet {
  	width: 92px;
  	height: 10px;
  	background: #c99899;
  	opacity: 1;
	border-radius: 0;
}
.legacy-content #fsv .swiper-pagination-bullet-active {
  background: #bc2124;
}
.legacy-content #fsv .swp_in_tex {
	height: auto;
  	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: auto;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.legacy-content #fsv .swp_in_tex h3 {
	width: 100%;
	height: auto
}
.legacy-content #fsv .swp_in_tex div {
	margin-top: 10px;
	font-size: 24px;
	font-weight: bold;
	line-height: 36px;
	text-shadow:1px 1px 1px #ffffff;
}
.legacy-content.under #fsv {
    height: 405px;
    position: relative;
}
.legacy-content.under #fsv img {
	width: 100%;
    height: 405px;
    position: relative;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.legacy-content.under #fsv h1 {
	position: absolute;
	height: auto;
    top: 60%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);	
	left: 0;
	right: 0;
	bottom: 0;
	margin:auto;
	background-color: transparent;
	text-align: center
}
.legacy-content.under #fsv h1 span {
	background-color: #bc2124;
	    padding: 8px;
}
.legacy-content.under #fsv aside {
    position: absolute;
    top: 15px;
    left: 15px;
    font-family: 'Josefin Sans', serif;
    color: #f3f1f1;
    font-size: 74px;
    font-weight: 700;
    font-feature-settings: "palt" 1;
    line-height: 1;
}
.legacy-content.under .bre_c_cov {
	margin-bottom: 60px;
}
.legacy-content.under .info_vox {
    font-size: 20px;
	margin-bottom: 80px;
	font-weight: 450
}
.legacy-content #prt_info article div {
	margin-top: 20px;
    font-size: 21px;
	color: #bc2124;
	font-weight: bold
}
.legacy-content #intro h2 {
	margin-bottom: 105px
}
.legacy-content #intro article.intro_vxz {
	height: 406px;
	margin-bottom: 80px;
	position: relative;
}
.legacy-content #intro article.intro_vxz:last-of-type {
	margin-bottom: 0;
}
.legacy-content #intro article.intro_vxz .pix {
	height: 100%;
	position: absolute
}
.legacy-content #intro article.intro_vxz .pix img {
	max-width: 100%;
}
.legacy-content #intro article.intro_vxz .tex {
	font-size: 18px;
	line-height: 30px;
	width: 558px;
	height: auto;
	padding: 1rem;
	background-color: #FFFFFF;
	left: -20px;
}
.legacy-content #intro article.intro_vxz.pic_r .tex {
	height: auto;
	position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
	margin-left: 640px;
}
.legacy-content #intro article.intro_vxz.pic_l .pix {
	right: 0
}
.legacy-content #intro article.intro_vxz.pic_l .tex {
	height: auto;
	position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}
.legacy-content #inc_info article {
	margin-bottom: 80px
}
.legacy-content #inc_info .inc_reason_vxz {
	align-items: center
}
.legacy-content #inc_info .inc_reason_vxz div {
	margin-bottom: 20px;	
	font-size: 20px;
	font-weight: 450
}
.legacy-content #inc_info .inc_reason_vxz div:nth-of-type(n+7) {
	margin-bottom: 0;
}
.legacy-content #inc_info .inc_reason_vxz div.th {
	width: 240px;
	padding: 10px 0;
	text-align: center;
	color: #FFFFFF;
	background-color: #bc2124
}
.legacy-content #inc_info .inc_reason_vxz div.td {
	width: calc(100% - 240px);
	padding: 10px 16px;
}
.legacy-content #know_how h2 {
	margin-bottom: 36px
}
.legacy-content.under #know_how .info_vox {
    margin-bottom: 36px;
}
.legacy-content.under #know_how .k_h_vxz {
    align-items: center;
	justify-content: space-between
}
.legacy-content.under #know_how .k_h_vxz div {
    width: 31.33333333%;
	height: auto;
	padding: 50px;
	border-radius: 50%;
	background-color:#c93134;
	text-align: center;
	color: #FFFFFF
}
.legacy-content.under #know_how .k_h_vxz div.three {
	padding: 50px 40px 40px;
}
.legacy-content.under #know_how .k_h_vxz div.three img {
    margin: 25px auto 8px;
}
.legacy-content.under #know_how .k_h_vxz div h3 {
    font-size: 24px;
}
.legacy-content.under #know_how .k_h_vxz div img {
	display: block;
    max-width: 100%;
	height: auto;
	margin: 25px auto 19px
}
.legacy-content.under #know_how .k_h_vxz div aside {
	font-size: 18px;
}
.legacy-content #about_bus .abt_b_info {
	padding: 6px 10px;
	color: #FFFFFF;
	font-size: 24px;
	font-weight: bold;
	background-color: #bc2124
}
.legacy-content #str_nav nav {
	justify-content: space-between;
	margin-bottom: 55px;
}
.legacy-content #str_nav nav div {
	width: 377px;
	background-color: #bc2124;
	font-size: 22px;
	color: #FFFFFF;
	text-align: center;
	position: relative;
}
.legacy-content #str_nav nav div a {
	padding: 16px 40px 16px 0;
	display: block;
	width: 100%;
	color: inherit
}
.legacy-content #str_nav nav div span {
	position: relative;
}
.legacy-content #str_nav nav div span::after {
	content: "";
	position: absolute;
	top:0;
	right: -40px;
	bottom: 0;
	margin:auto;
	width: 27px;
	height: 15px;
	background: url("/assets/legacy/img/str_nav_ico.png") no-repeat;
	background-position: right
}
.legacy-content .strength .h_type_2 {
    line-height: 36px;
}
.legacy-content #str_vxz .str_vx_par {
	margin-top: 40px;
	justify-content: space-between
}
.legacy-content #str_vxz .str_vx_par .str_vx {
	width: 350px;
	padding: 20px;
	background-color: #FFFFFF
}
.legacy-content #str_vxz .str_vx_par .str_vx h3 {
	padding: 8px 0;
	text-align: center;
	color: #FFFFFF;
	font-size: 19px;
	font-weight: normal;
	background-color: #bc2124
}
.legacy-content #str_vxz .str_vx_par .str_vx img {
	display: block;
	max-width: 100%;
	margin: 1rem auto
}
.legacy-content #str_vxz .str_vx_par .str_vx aside {
	line-height: 28px
}
.legacy-content #cnt_info .info_vox {
    font-size: 1rem;
    margin-bottom: 40px;
    font-weight: normal;
}
.legacy-content #cnt_info main {
    padding-top: 0
}
.legacy-content #cnt_info .info_vox a {
    color: #bc2124;
	text-decoration: underline
}
.legacy-content #cnt_info .fom_zone {
	padding: 20px 0 40px
}
.legacy-content #cnt_info .fom_zone .att {
	padding: 0 0 46px;
    color: #bc2124;
}
.legacy-content .fom_zone main.one {
	align-items: flex-start!important
}
.legacy-content #cnt_info .two .fom_zone main {
	align-items: center
}
.legacy-content #cnt_info .two .fom_zone main div.th,
.legacy-content #cnt_info .two .fom_zone main div.td {
	margin-bottom: 30px
}
.legacy-content #cnt_info .fom_zone main div.th {
	width: 270px;
	padding-right: 80px;
	text-align: right
}
.legacy-content #cnt_info .fom_zone main div.th.req {
	position: relative;
}
.legacy-content #cnt_info .one .fom_zone main div.th.req::after {
	content: "※";
	color: #bc2124;
	position: absolute;
}
.legacy-content #cnt_info .two .fom_zone main div.th.req::after {
	content: "※";
	color: #bc2124;
	position: absolute;
	bottom: 0;
}
.legacy-content #cnt_info .fom_zone main div.td {
	width: calc(100% - 270px);
}
.legacy-content #cnt_info .fom_zone main div.td.nam input {
	width: 40%
}
.legacy-content #cnt_info .fom_zone main div.td.nam input:first-child {
	margin-right: 30px
}
.legacy-content #cnt_info .fom_zone input[type="text"],
.legacy-content #cnt_info .fom_zone input[type="email"],
.legacy-content #cnt_info .fom_zone textarea {
	width: 100%;
	padding: 7px;
	background-color: #FFFFFF;
	border: 1px solid #cec9c9;
	border-radius: 4px;
}
.legacy-content #cnt_info .fom_zone textarea {
	height: 119px
}
.legacy-content #cnt_info .fom_zone textarea[disabled] {
	background-color: #f1f0f0
}
.legacy-content #cnt_info .two {
	padding-top: 40px
}
.legacy-content .wrapper-block {
	width: 140px;
	height: 40px;
	display: block;
}
.legacy-content div.wpcf7 .wrapper-block input[type="file"] {
    cursor: auto
}
.legacy-content .wrapper-block input[type="file"] {
	height: 40px;
	-webkit-appearance: none;
	appearance: none;
}
.legacy-content .wrapper-block .wpcf7-form-control-wrap {
    display: block;
	width: 100%;
	height: 100%;
	cursor: pointer
}
.legacy-content .wrapper-block input[type="file"]::-webkit-file-upload-button {
	width: 140px;
	height: 40px;
		cursor: pointer
}
.legacy-content #cnt_info input#submit_button {
	display: block;
	width: 193px;
	height: 52px;
	margin: 50px auto 0;	
	color: #FFFFFF;
	font-weight: bold;
	text-align: center;
	background-color: #bc2124;
	cursor: pointer
}
.legacy-content .one label {
    display: flex;
    align-items: center;
	margin-bottom: 15px
}
.legacy-content .one span.wpcf7-list-item {
    display: block;
	margin: 0;
}
.legacy-content .one input[type="checkbox"] {
    width: 20px;
	height: 20px;
	margin-right: 0.6rem
}
.legacy-content #mem_zone h2 {
	margin-bottom:40px
}
.legacy-content #mem_zone .mem_vxz {
	justify-content: center;
}
.legacy-content #mem_zone .mem_vxz .mem_vx {
	width: 338px;
	height: auto;
	margin: 0 32px;
}
.legacy-content #mem_zone .mem_vxz:first-of-type {
    margin-bottom: 80px
}
.legacy-content #mem_zone .mem_vxz .mem_vx figure {
	margin: 0;
	position: relative
}
.legacy-content #mem_zone .mem_vxz .mem_vx figure figcaption {
	position: absolute;
	bottom: 0;
	left: 0
}
.legacy-content #mem_zone .mem_vxz .mem_vx figure figcaption span {
	padding: 2px 4px;
	background-color: #bc2124;
	color: #FFFFFF;
	font-size: 18px;
	line-height: 34px;
}
.legacy-content #mem_zone .mem_vxz .mem_vx figure figcaption span:first-child {
	font-size: 1rem;
}
.legacy-content #mem_zone .mem_vxz .mem_vx figure img {
	width: 300px;
	height: 300px;
	margin: 0 auto;
	border-radius: 50%;
	border: 3px solid #bc2124
}
.legacy-content #mem_zone .mem_vxz .mem_vx aside {
	margin-top: 12px;
	line-height: 24px
}
.legacy-content .single .bre_c_cov {
    margin-bottom: 0;
}
.legacy-content .category .bre_c_cov {
    margin-bottom: 13px;
}
.legacy-content .aboutus .two .val {
	line-height: 30px
}
.legacy-content .aboutus .two .val .pc {
	display: inline
}
.legacy-content .aboutus .two .val aside.th {
	width: 128px;
}
.legacy-content .aboutus .two .val aside.td {
	width: calc(100% - 128px);
}
.legacy-content .service .info_vox {
    margin: 36px auto;
    font-size: 1rem;
	font-weight: normal
}
.legacy-content #rec_zone h2 {
	margin-bottom: 46px;
}
.legacy-content #rec_zone .rec_sec h3 {
	padding-left: 14px;
	font-size: 22px;
	position: relative
}
.legacy-content #rec_zone .rec_sec h3::after {
	content: "";
	position: absolute;
	top:0;
	left: 0;
	bottom: 0;
	margin:auto;
	width:10px;
	height:10px;
	background-color: #bc2124
}
.legacy-content #rec_zone .rec_sec section {
	margin-top: 10px;
	padding: 10px 12px;
	border-left: 1px solid #b8b3b3
}
.legacy-content #rec_zone .rec_sec section span {
	display: block;
	padding-left: 18px;
	position: relative;
	margin-bottom: 14px;
}
.legacy-content #rec_zone .rec_sec section span:last-child {
	margin-bottom: 0;
}
.legacy-content #rec_zone .rec_sec section span::before {
	content: "";
	position: absolute;
	top:0;
	left: 0;
	bottom: 0;
	margin:auto;
	width:9px;
	height:1px;
	background-color: #b8b3b3
}
@media screen and (max-width:767px) {
.legacy-content .flex_wrapper,
.legacy-content .flex-wrap_par {
    display: block;
}
.legacy-content .pc {display: none!important
}
.legacy-content .sp {display: block!important
}
.legacy-content .wrap_max,
.legacy-content .wrap_1200,
.legacy-content .wrap_1042,
.legacy-content .wrap_900,
.legacy-content .wrap_800,
.legacy-content .wrap_677,
.legacy-content .inn {
    width: 100%;
    height: auto;
    margin: 0 auto;
	padding: 0 0.8rem
}
.legacy-content .fs_40 {
    font-size: 24px;
}
.legacy-content .fs_30 {
    font-size: 24px!important;
}
.legacy-content .sec_pad {
    padding: 40px 0;
}
.legacy-content .sec_pad_b {
    padding-bottom: 40px
}
.legacy-content .sec_pad_t {
    padding-top: 40px;
}
.legacy-content #fsv {
	height: 90vh;
}
.legacy-content #fsv .swiper-slide img {
    width: 100%;
	height: 90vh;
	object-fit: cover;
}
.legacy-content .h_type_1 {
    font-size: 34px;
	line-height: 50px;
}
.legacy-content .h_type_3 {
    font-size: 24px;
    position: relative;
    padding: 12px 0 20px 4px;
    border-top: 1px solid #b7b7b7;
    z-index: -1;
}
.legacy-content #fsv .swp_in_tex div {
    margin-top: 10px;
    font-size: 22px;
    line-height: 30px;
    text-shadow: 2px 2px 2px #ffffff;
}
.legacy-content #fsv .swiper-pagination {
    text-align: center;
    padding-right: 0;
}
.legacy-content #fsv .swp_in_tex {
    top: 82vw;
}
.legacy-content .h_type_2 {
    padding-bottom: 15px;
    font-size: 24px;
    line-height: 32px;
    position: relative;
    text-align: center;
}
.legacy-content .info_vox {
    width: calc(100% - 1.6rem);
	margin: 20px auto;
    padding: 14px;
    line-height: 30px;
    border: 1px solid #bc2124;
}
.legacy-content.under #fsv {
    height: 300px;
    position: relative;
}
.legacy-content.under #fsv img {
    height: 300px;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}
.legacy-content.under #fsv aside {
    top: 15px;
    left: 15px;
    font-size: 40px;
}
.legacy-content.under .bre_c_cov {
	margin-bottom: 40px
}
.legacy-content .category .bre_c_cov {
	margin-bottom: 13px!important
}
.legacy-content #intro article.intro_vxz .tex {
    font-size: 1rem;
    line-height: 30px;
    width: 100%;
    height: auto;
    padding: 1rem;
    background-color: #FFFFFF;
    left: 0;
}
.legacy-content #intro article.intro_vxz.pic_l .tex {
    height: auto;
    position: relative;
    top: 0;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}
.legacy-content #intro article.intro_vxz.pic_r .tex {
    height: auto;
    position: relative;
    top: 0%;
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
    margin-left: 0;
}
.legacy-content #intro article.intro_vxz .pix {
    height: 100%;
    position: relative;
}
.legacy-content #intro article.intro_vxz {
    height: auto;
    margin-bottom: 40px;
    position: relative;
}
.legacy-content #intro h2 {
    margin-bottom: 40px
}
.legacy-content.under .info_vox {
    font-size: 1rem;
    margin-bottom: 40px
}
.legacy-content #inc_info .inc_reason_vxz div {
    margin-bottom: 0px;	
    font-size: 18px;
}
.legacy-content #inc_info .inc_reason_vxz div.th {
    width: 100%;
    padding: 10px;
    text-align: left;
}
.legacy-content #inc_info .inc_reason_vxz div.td {
    width: 100%;
    padding: 10px 10px 26px;
}
.legacy-content #inc_info .inc_reason_vxz div:last-child {
    width: 100%;
    padding: 10px 10px 0;
}
.legacy-content #inc_info article {
    margin-bottom: 40px
}
.legacy-content.under #know_how .k_h_vxz div {
    width: calc(320px - 1.6rem);
    height: 300px;
    padding: 40px;
	margin: 0 auto 30px;
    border-radius: 50%;
}
.legacy-content.under #know_how .k_h_vxz div.three {
    padding: 34px 40px;
    margin: 0 auto 0;
}
.legacy-content #know_how h2,
.legacy-content.under #know_how .info_vox {
    margin-bottom: 30px;
}
.legacy-content.under #know_how .k_h_vxz div h3 {
    font-size: 20px;
}
.legacy-content.under #know_how .k_h_vxz div img {
    margin: 6px auto;
}
.legacy-content.under #know_how .k_h_vxz div.three img {
    margin: 6px auto;
}
.legacy-content.under #know_how .k_h_vxz div aside {
    font-size: 16px;
}
.legacy-content #about_bus .abt_b_info {
    font-size: 18px;
}
.legacy-content #str_nav nav div {
    width: 100%;
	margin-bottom: 20px
}
.legacy-content #str_vxz .str_vx_par .str_vx {
    width: 100%;
    padding: 14px;
	margin-bottom: 30px
}
.legacy-content .contact.under #fsv img {
    object-position: 65% 0%;
}
.legacy-content #cnt_info .fom_zone {
    padding: 30px 0.8rem;
}
.legacy-content #cnt_info .fom_zone .att {
    padding: 0 0 30px;
}
.legacy-content #cnt_info .fom_zone main div.th {
    width: 100%;
    padding-right: 0;
    text-align: center;
	font-weight: bold;
	margin-bottom: 16px
}
.legacy-content #cnt_info .fom_zone main div.td {
    width: 100%
}
.legacy-content #cnt_info label.file_rewz {
    display: block;
    text-align: center
}
.legacy-content #cnt_info .info_vox {
    margin-bottom: 30px;
}
.legacy-content .one label {
    display: block
}
.legacy-content .one input[type="checkbox"] {
    position: relative;
    top: 4px;
}
.legacy-content #cnt_info .fom_zone main div.td.nam input:first-child {
    margin-right: 8vw;
}
.legacy-content #mem_zone .mem_vxz .mem_vx figure img {
    width: 88%;
    height: 88%;
	display: block;
	margin: 0 auto
}
.legacy-content #mem_zone .mem_vxz .mem_vx {
    width: 100%;
    margin: 0 0 30px;
}
.legacy-content #mem_zone .mem_vxz .mem_vx aside {
    line-height: 30px;
}
.legacy-content #mem_zone .mem_vxz:first-of-type {
    margin-bottom: 40px;
}
.legacy-content .aboutus .two .val aside.th,
.legacy-content .aboutus .two .val aside.td {
    width: 100%;
}
.legacy-content .aboutus .two .val aside.th {
    font-weight: bold
}
.legacy-content .aboutus .two .val aside.td {
	margin-bottom: 20px
}
.legacy-content .service .info_vox {
    width: calc(100% - 1.6rem);
    margin: 20px auto;
    padding: 14px;
    line-height: 30px;
    border: 1px solid #bc2124;
}
.legacy-content #rec_zone .rec_sec h3 {
    font-size: 18px;
}
.legacy-content .wrapper-block .wpcf7-form-control-wrap {
    overflow: hidden
}
}

/* --- 現テーマのコンテナ幅（1050px）に収めるための調整 --- */
.legacy-content .wrap_1200,
.legacy-content .wrap_900,
.legacy-content .wrap_800 {
	max-width: 100%;
}
.legacy-content img {
	max-width: 100%;
	height: auto;
}