@charset "UTF-8";
/*
Theme Name: Cresco Vietnam
Theme URI:
Description: クレスコベトナムホームページ用テーマ
Author:media*magic
Author URI:http://mediaxmagic.co.jp/
Version:1.0
Tags:
*/


/* -------------------------------------------------------------------------- */
/*	1. common
/* -------------------------------------------------------------------------- */

/* head */
.h2_bar {
	position: relative	;
}
.h2_bar::before {
	content: "";
	position: absolute;
	bottom: -5rem;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	height: 0.5rem;
	width: 7rem;
	background: #000;
	transform: translateX(-50%);
}
.h2_bar::after {
	content: "";
	position: absolute;
	bottom: -5rem;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	height: 0.5rem;
	width: 7rem;
	background: #ff643b;
	transform: translateX(50%);
}
.h2_bar-top::before {
	width: 10rem;
}
.h2_bar-top::after {
	width: 10rem;
}

.h2_icon {
	display: flex;
	align-items: center;
	margin-right: 4rem;
}
.h2_icon::before {
	content: "";
	background-image: url(common/img/icon_list.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 2.4rem;
	height: 4.6rem;
	display: inline-block;
	margin-right: 2rem;
	margin-top: -0.4rem;
}

.h2_head {

}
.h2_title {
	margin: auto;
	position: relative;
	color: #fff;
	margin-left: 2.6rem;
	line-height: 1.2;
}
.h2_title::before {
	content: "";
	width: 0.3rem;
	height: 100%;
	left: -2.6rem;
	background: aliceblue;
	display: inline-block;
	position: absolute;
}
.h2_head p {
	color: #000;
	font-size: 2.5rem;
	font-weight: 700;
	position: relative;
	margin-left: 2.6rem;
	line-height: 1.2;
}
.h2_head p::before {
	content: "";
	height: 100%;
	width: 0.3rem;
	left: -2.6rem;
	background: #000;
	display: inline-block;
	position: absolute;
}

.h3_border {
	position: relative;
	margin-bottom: 6rem;
}
.h3_border::after {
	content: "";
	position: absolute;
	bottom: -2rem;
	left: 0;
	right: 0;
	margin: auto;
	display: inline-block;
	height: 0.2rem;
	width: 100%;
	background: #ff643b;
}
.h3_border-white {
	color: #fff;
}
.h3_border-white::after {
	background: #fff;
}

.text_b30 {
	font-size: 3rem;
	font-weight: 700;
}
.text_b20 {
	font-size: 2rem;
	font-weight: 700;
}

@media screen and (max-width: 782px) {
	.h2_title {
		font-size: calc(100vw / 15);
	}
	.h2_icon::before {
		width: 1.2rem;
		height: 2.4rem;
		margin-right: 1rem;
	}
	.text_b30 {
		font-size: 2rem;
	}
}


/* カラム */
.next_column {
	margin-top: 3rem;
	margin-bottom: 10rem;
}
.next_column .wp-block-column h4,
.info_column .wp-block-column h4 {
	margin-bottom: 0.5rem;
	line-height: 1.45;
}
.next_column .wp-block-column p,
.info_column .wp-block-column p {
	font-size: 1.3rem;
}

/* 次ページ遷移カラム */
.next_column .wp-block-column {
	border: #d6d6d9 solid 1px;
	box-sizing: border-box;
}
.next_column .inner_text {
	padding: 1rem 4rem 2rem 4rem;
}
.next_column .wp-block-column {
	width: calc(100% - 40px);
}

.next_column .wp-block-column .inner_text .wp-block-group__inner-container {
	position: relative;
}
.next_column .wp-block-column .inner_text .wp-block-group__inner-container::after {
	content: "";
	background: url(common/img/icon_list.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 1rem;
	height: 2rem;
	position: absolute;
	bottom: -1rem;
	right: -2.5rem;
	margin: auto;
}
.next_column a:hover {
	background-color: rgba(255, 255, 255, 0.5);
}

.next_column-short {
	margin-top: 6rem;
}
.next_column-short .inner_text {
	padding: 1rem 4rem 1.5rem 4rem;
}
.next_column-short .wp-block-column .inner_text .wp-block-group__inner-container::after {
	bottom: 0;
	top: 0;
}

/* インフォメーションカラム */
.info_column {
	gap: 2rem!important;
	margin-top: 2rem;
}
.info_column .wp-block-column {
	border-radius: 1rem;
	background-color: #fff;
}
.info_column .wp-block-column img {
	border-radius: 1rem 1rem 0 0 !important;
	width: 100%;
}
.info_column .inner_text {
	padding: 1rem 2rem 3rem 2rem;
}
.info_column .wp-block-column p {
	line-height: 1.55;
}

@media screen and (max-width: 782px) {
	.next_column .wp-block-column .inner_text .wp-block-group__inner-container::after {
		right: 0;
	}
	.next_column {
		margin-top: 3rem;
	}
	.next_column .inner_text {
		padding: 1rem 1.5rem 3rem 1.5rem;
	}
	.next_column-short .inner_text {
		padding-bottom: 1rem;
	}
	.next_column .wp-block-column .inner_text .wp-block-group__inner-container::after {
		bottom: -2rem;
	}
}

/* ボーダーテーブル */
.border_table th,
.border_table td {
	padding: 2.0rem 0;
	border: 0.1rem solid #cccccc;
	border-left: none;
	border-right: none;
}
.border_table th {
	width: calc(100% / 6);
	vertical-align: top;
}
.border_table td {
	padding-left: 2rem;
}

/* パンくずリスト */
.breadcrumb {
	margin: 2rem 0;
	font-size: 1.2rem;
}
.breadcrumb a:hover {
	opacity: 0.5;
}
.breadcrumb p {
	line-height: 1;
}
.breadcrumb > div {
	display: flex;
	gap: 0.5em;
	flex-wrap: nowrap;
	align-items: center;
}
@media screen and (max-width: 782px) {
	.breadcrumb {
		margin: 1rem 0;
	}
}

/* kv */
.kv {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 42rem;
	margin-top: 10rem;
	position: relative;
	display: flex;
	align-items: center;
}
.kv > .wp-block-group__inner-container {
	max-width: 122rem;
  margin: 0px auto;
  width: 100%;
	padding: 0 2rem;
}
/* kv-common */
.kv_common {
	background-image: url(img/img_kv_common.jpg);
	height: 20rem;
	margin-top: 10rem;
	position: relative;
}
.h2_title_common {
	font-size: 3.5rem;
	color: #fff;
}
@media screen and (max-width: 782px) {
	.kv {
		height: auto;
		background-position: right center;
		margin-top: 5rem;
		padding-top: 67.7333333333%;
	}
	.kv > .wp-block-group__inner-container {
		padding: 0;
	}
	.h2_head {
		position: absolute;
    transform: inherit;
    bottom: calc(50% / 5);
	}
	.h2_head p {
		font-size: calc(100vw / 24);
	}
	.kv_service_japanese_local {
		background-position: 13% center;
	}
	
	.kv_common {
		background-position: 80% center;
		padding-top: 0;
		height: 20rem;
	}
	.h2_title_common {
		font-size: 2.1rem;
	}
}

/* -------------------------------------------------------------------------- */
/*	2. ヘッダー - Site Header
/* -------------------------------------------------------------------------- */

header {
	position: fixed;
	width: 100%;
	height: auto;
	z-index: 999;
	transition: 0.5s;
}
.header-contents {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1440px;
	height: 10rem;
  margin: 0px auto;
	padding: 0 3rem 0 4rem;
}

.header-contents-logo {
	max-height: 5.5rem;
	max-width: 18rem;
}

.header-contents-nav {
	height: 100%;
}
.header-contents-nav-flex {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: 20%;
	margin: 2rem 0;
}
.header-contents-nav-tel {
	font-weight: 700;
	font-size: 1.9rem;
}

.header-contents-nav-lang {
	margin-left: 5rem;
}
.header-contents-nav-lang ul li {
	display: inline-block;
	margin-right: 1rem;
	font-size: 1.3rem;
}
.header-contents-nav-lang ul li:last-child {
	margin-right: 0;
}
.header-contents-nav-lang ul li a {
	padding: 0.5rem;
}
.header-contents-nav-lang .current-lang {
	background-color: #ff643b;
}
.header-contents-nav-lang .current-lang a {
	color: #fff;
}

.header-contents-nav-menu {
	height: calc(100% - (20% + 4rem));
}
.header-contents-nav-menu * {
	height: 100%
}
.header-contents-nav-menu ul {
	display: flex;
}
.header-contents-nav-menu ul li {
	display: flex;
	align-items: flex-start;
	margin-right: 3rem;
}
.header-contents-nav-menu ul li:last-child {
	margin-right: 0;
}
.header-contents-nav-menu ul li::before {
	content: "";
	background-image: url(common/img/icon_list.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 1.3rem;
	height: 2.1rem;
	display: inline-block;
	margin-right: 0.8rem;
}
.header-contents-nav-menu ul .nav_blank::before {
	content: none!important;
}
.header-contents-nav-menu ul .nav_blank::after {
	content: "";
	background-image: url(common/img/icon_blank_01.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 1.2rem;
	height: 1.2rem;
	display: inline-block;
	margin-left: 0.8rem;
	margin-top: 0.3rem;
}
.header-contents-nav-sp-menu ul .nav_blank::after {
	background-image: url(common/img/icon_blank_01.svg);
	height: 1.5rem;
}


.header-contents-nav-menu ul li a {
	position: relative;
  display: inline-block;
	font-size: 1.4rem;
}
.header-contents-nav-menu ul li a::after {
  position: absolute;
  bottom: 0px;
  left: 0;
  content: '';
  width: 100%;
  height: 3px;
  background: #ff643b;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
.header-contents-nav-menu ul li a:hover::after {
  transform: scale(1, 1);
}
.header-contents-nav-menu ul .current-menu-item > a::after,
.header-contents-nav-menu ul .current-menu-parent > a::after {
	transform: scale(1);
}

.header-contents-nav-menu .sub-menu {
	position: absolute;
	width: 100%;
	height: 8rem;
	background: #000;
	top: 10rem;
	left: 0;
	visibility: hidden;
	opacity: 0;
	transition: 0.5s;
	padding-left: 13%;
}
.header-contents-nav-menu .sub-menu li {
	align-items: center;
	line-height: 8rem;
	margin-right: 6rem;
}
.header-contents-nav-menu .sub-menu li a {
	color: #fff;
}

.menu-item-has-children:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
}

header.scroll-nav {
  background: #fff;
}

/* ヘッダー伸縮 */
@media screen and (max-width: 1110px) {
	.header-contents-logo {
		max-width: 12rem;
	}
	.header-contents-nav-menu ul li {
		margin-right: 2rem;
	}
	.header-contents-nav-menu ul li::before {
		width: 1rem;
    margin-right: 0.5rem;
	}
	.header-contents-nav-menu ul li a {
		font-size: 1.2rem;
	}
}

/* spヘッダー */
#site-header-sp {
	height: 5rem;
}
#site-header-sp .header-contents {
	position: relative;
	padding: 0 2rem;
	height: 5rem;
}
#site-header-sp .header-contents-logo {
	max-height: 3.5rem;
	max-width: 11.4rem;
}

.header-contents-spmenu {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 1.5rem;
	width: 2rem;
	height: 1.8rem;
	cursor: pointer;
}
.header-contents-spmenu .spmenu_btn {
display: block;
margin: auto;
width: 2rem;
height: 0.2rem;
background: #ff643b;
box-sizing: border-box;
-webkit-transition: all .3s;
transition: all .3s;
position: absolute;
top: 0;
bottom: 0;
margin: auto;
}
.header-contents-spmenu .spmenu_btn:before {
	content: '';
	position: absolute;
	width: 2rem;
	height: 0.2rem;
	background: #ff643b;
	top: -0.9rem;
	right: 0;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
.header-contents-spmenu .spmenu_btn:after {
	content: '';
	position: absolute;
	width: 2rem;
	height: 0.2rem;
	background: #ff643b;
	bottom: -0.9rem;
	right: 0;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.header-contents-nav-sp {
	height: calc(100vh - 5rem);
	display: none;
	overflow-y: scroll;
}
.header-contents-nav-sp-menu {
	max-width: calc(100% - 3.2rem);
	width: 100%;
	margin: auto;
	margin-top: 1.5rem;
}
.header-contents-nav-sp-menu ul li {
	border-bottom: #777777 1px solid;
	position: relative;
}
.header-contents-nav-sp-menu ul li a {
	color: #fff;
	font-size: 1.8rem;
	padding: 1.5rem;
	display: block;
}
.header-contents-nav-sp-menu .sub-menu li {
	border-bottom: none;
}
.header-contents-nav-sp-menu .sub-menu li {
	border-top: #777777 1px solid;
}

.header-contents-nav-sp-flex {
	max-width: calc(100% - 3.2rem);
	width: 100%;
	margin: auto;
}
.header-contents-nav-sp-tel {
	text-align: center;
	margin: 2.5rem auto;
}
.header-contents-nav-sp-tel a {
	color: #fff;
	font-size: 1.9rem;
	font-weight: 700;
}
.header-contents-nav-sp-lang ul {
	display: flex;
	justify-content: center;
	gap: 3.5rem;
}
.header-contents-nav-sp-lang a {
	color: #fff;
	font-size: 1.6rem;
	padding: 1.5rem 1.0rem;
}
.header-contents-nav-sp-lang .current_page_item {
	background-color: #ff643b;
}

/* SP時開閉 */
.header-contents-nav-sp .open {
	display: block;
}

.active .spmenu_btn {
	background-color: transparent;
}
.active .spmenu_btn:before {
	transform: rotateZ(45deg) scaleX(1.5);
	top: 0;
	background-color: #fff;
}
.active .spmenu_btn:after {
	transform: rotateZ(-45deg) scaleX(1.5);
	bottom: 0;
	background-color: #fff
}

.header-contents-nav-sp-menu ul li::after {
	content: "";
	background-image: url(common/img/icon_list.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 1.3rem;
	height: 2.1rem;
	display: inline-block;
	margin-right: 0.8rem;
	position: absolute;
	right: 1rem;
	top: 0;
	bottom: 0;
	margin: auto;
}

.plus {
	content: "";
	position: absolute;
	top: 1.2rem;
	right: 0;
	width: 3.2rem;
	height: 3.2rem;
	cursor: pointer;
}
.plus i::before {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 20px;
	height: 2px;
	background-color: #fff;
	transition: .2s;
	transform: rotate(90deg);
}
.plus i::after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    width: 20px;
    height: 2px;
    background-color: #fff;
    transition: .3s;
}
.plus .on::before {
	transform: rotate(0deg);
}
.plus .on::after {
	background-color: transparent;
}

.header-contents-nav-sp-menu .menu-item-has-children {
	position: relative;
	display: block;
}
.header-contents-nav-sp-menu .menu-item-has-children::after {
	content: none;
}
.header-contents-nav-sp-menu .menu-item-has-children .sub-menu {
	display: none;
}
.header-contents-nav-sp-menu .menu-item-has-children .sub-menu a {
	font-size: 1.4rem;
	padding-left: 3rem;
}


/* -------------------------------------------------------------------------- */
/*	3. フッター - Site Footer
/* -------------------------------------------------------------------------- */

footer {
	position: relative;
}

.footer-credits::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	height: 0.5rem;
	width: 50%;
	background: #ff643b;
}
.footer-credits::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	display: inline-block;
	height: 0.5rem;
	width: 50%;
	background: #000000;
}

.footer-contents {
	display: flex;
	width: 100%;
}

.footer-contents-contact {
	width: 50%;
	background: #ff643b;
	display: flex;
  align-items: center;
  justify-content: center;
	text-align: center;
}
.footer-contents-contact a {
	color: #fff;
	font-size: 1.8rem;
	padding: 3rem 12rem;
	border: 1px #fff solid;
	border-radius: 1rem;
	box-sizing: border-box;
	background-color: transparent;
	position: relative;
}
.footer-contents-contact a::after {
	content: "";
	background-image: url(common/img/icon_contact.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 20px;
	height: 3rem;
	position: absolute;
	top: -4px;
	bottom: 0;
	right: 2rem;
	margin: auto;
}
.footer-contents-contact a:hover {
	color: #ff643b;
	border: none;
	background-color: #fff;
}
.footer-contents-contact a:hover::after {
	background-image: url(common/img/icon_contact_ov.svg);
}

.footer-contents-info {
	width: 50%;
	background: #000000;
	color: #fff;
	text-align: center;
}
.footer-contents-info a {
	color: #fff;
}
.footer-contents-info-detail {
	padding: 8rem 0;
	margin: auto;
	display: inline-block;
	text-align: left;
}
.footer-contents-info-detail img {
	height: 7rem;
	width: auto;
}
.footer-contents-info-detail h2 {
	color: #ff643b;
	font-size: 1.6rem;
}
.footer-contents-info-detail ul li:not(:first-child) {
	font-size: 1.2rem;
	line-height: 2.1rem;
	display: flex;
	align-items: flex-start;
	margin-top: 0.5rem;
}
.footer-contents-info-detail ul li:first-child {
	margin-top: 3rem;
}
.footer-contents-info-detail ul li:not(:first-child)::before {
	content: "";
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 1.2rem;
	height: 1.4rem;
	display: inline-block;
	margin-right: 0.8rem;
	margin-top: 0.8rem;
}
.footer-contents-info-detail .address::before {
	background-image: url(common/img/icon_address.svg);
}
.footer-contents-info-detail .phone::before {
	background-image: url(common/img/icon_phone.svg);
}

.footer-contents-info-detail .email::before {
	background-image: url(common/img/icon_email.svg);
}

/* トップへ戻る */
.to-the-top {
	z-index: 990;
	background-color: #555555;
}

.to-the-top-btn {
	width: 5rem;
	height: 5rem;
  display: flex;
  align-items: center;
	justify-content: center;
	flex-flow: column;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
}
.to-the-top-btn::before {
	content: "";
	display: inline-block;
  color: #ff643b;
  line-height: 1;
  width: 2rem;
  height: 2rem;
  border: 0.2rem solid #ff643b;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(25%) rotate(-45deg);
}

@media screen and (max-width: 782px) {
	.footer-contents {
		display: block;
	}
	.footer-contents-contact {
		width: 100%;
		height: 16rem;
	}
	.footer-contents-contact a {
		padding: 2rem;
		max-width: 31.6rem;
		display: flex;
		justify-content: center;
		margin: auto;
	}
	.footer-contents-contact a::after {
		width: 1rem;
		height: 1.8rem;
		top: -2px;
	}
	.footer-contents-info {
		width: 100%;
	}
	.footer-contents-info-detail {
		padding: 5rem 0 10rem;
	}
	.footer-contents-info-detail img {
		height: 5rem;
	}
}

/* -------------------------------------------------------------------------- */
/*	4. ホーム - home
/* -------------------------------------------------------------------------- */

.site-content {
	position: relative;
}

.kv-top {
  background-image: url(img/top/img_kv_01.jpg);
	height: 100vh;
	margin-top: 0;
}
.kv h1 {
	position: absolute;
	top: 55%;
	left: 50%;
	transform: translate(-50%, -65%);
	color: #fff;
	width: fit-content;
	line-height: 1.34;
}
.kv h1 span {
	font-size: 2.7rem;
}

@media screen and (max-width: 782px) {
	.kv-top {
		background-image: url(img/top/img_kv_01_sp.jpg);
		height: calc(100vh - 0.5rem);
		background-position: center;
		padding-top: 0;
	}
	.kv h1 {
		color: #000;
		top: 40%;
		padding: 0 2rem;
		font-size: calc(100vw / 11);
	}
	.kv h1 span {
		font-size: calc(100vw / 25);
	}
	.kv-top h1 {
		font-size: min(calc(100vw / 9),5rem);
    position: relative;
    white-space: break-spaces;
    transform: translate(-50%, -5%);
	}
	.kv-top h1 span {
		font-size: calc(100vw / 22);
	}
}


/* クレスコベトナムについて */
.top-about {
  background-image: url(img/top/img_kv_02.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.top-about h2 {
	margin-bottom: 10.5rem;
}
.top-about p {
	font-size: 1.8rem;
	line-height: 4.4rem;
}
.top-about p:last-child {
	margin-top: 7rem;
}

@media screen and (max-width: 782px) {
	.top-about {
		background-image: url(img/top/img_kv_02_sp.jpg);
	}
	.top-about h2 {
		font-size: 2.5rem;
	}
	.top-about p {
		font-size: 1.6rem;
		line-height: 3rem;
	}
	.top-about p:last-child {
		margin-top: 3.5rem;
	}
}

/* 企業理念 */
.corporate_philosophy {
  background-image: url(img/top/img_kv_03.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	position: relative;
}
.corporate_philosophy h2 {
	padding-top: 10rem;
}
.corporate_philosophy .corporate_philosophy_txt {
	font-size: 3rem;
	line-height: 4.5rem;
	font-weight: 700;
	padding: 8rem 0 10rem 0;
} 
.corporate_philosophy .corporate_philosophy_content {
	height: 50rem;
	margin-top: 4rem;
}
.corporate_philosophy .corporate_philosophy_content .wp-block-group__inner-container,
.corporate_philosophy .corporate_philosophy_content .wp-block-columns{
	height: 100%;
}
.corporate_philosophy .corporate_philosophy_content .wp-block-columns div:not(:nth-child(2)) {
	align-self: flex-end;
}
.corporate_philosophy .corporate_philosophy_content h4 {
	font-size: 5rem;
	line-height: 5rem;
	color: #ff643b;
}
.corporate_philosophy .corporate_philosophy_content p {
	font-size: 1.8rem;
	line-height: 1.8rem;
	font-weight: 700;
	margin: 1.2rem 0 2rem 0;
}

@media screen and (max-width: 782px) {
	.corporate_philosophy {
		background-image: url(img/top/img_kv_03_sp.jpg);
	}
	.corporate_philosophy h2 {
		padding-top: 5rem;
	}
	.corporate_philosophy .corporate_philosophy_content {
		height: 38rem;
	}
	.corporate_philosophy .corporate_philosophy_content h4 {
		font-size: 2.5rem;
		line-height: 2.5rem;
	}
	.corporate_philosophy .corporate_philosophy_content p {
		font-size: 1.4rem;
		line-height: 1.4rem;
	}
	.corporate_philosophy .corporate_philosophy_txt {
		font-size: 2rem;
    line-height: 3rem;
		padding: 3rem 0 35rem 0;
	}
	.corporate_philosophy .wp-block-image img {
		width: 8rem!important;
		height: 8rem!important;
	}
	.corporate_philosophy .corporate_philosophy_content .wp-block-columns div:nth-child(2) {
		position: absolute;
		left: 0;
		right: 0;
	}
}

/* -------------------------------------------------------------------------- */
/*	5. 私たちの特徴 - our_features
/* -------------------------------------------------------------------------- */

/*----- 私たちの特徴 -----*/
.kv_our_features {
	background-image: url(img/our_features/img_kv.jpg);
}
.kv_why_vietnam {
	background-image: url(img/our_features/why_vietnam/img_kv.jpg);
}

.our_features h2, 
.why_vietnam h2 {
	font-size: 3.4rem;
	line-height: 1.38;
}

.our_features_contents {
	margin-top: 10rem;
}
.our_features_feature {
	padding: 8rem 0;
	background-image: url(img/our_features/our_features/img_bg_01.jpg);
	background-size: cover;
	background-position: top;
}
.our_features_problem {
	padding: 8rem 0 12rem;
	background-image: url(img/our_features/our_features/img_bg_02.jpg);
	background-size: cover;
	background-position: top;
}
.our_features_offshore {
	padding: 8rem 0 8rem;
}
.our_features_japanese_local {
	padding: 8rem 0 10rem;
}

.our_features_feature figure,
.our_features_problem figure {
	display: none;
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

.our_features_contents_list {
	width: 59rem;
	counter-reset: list-num;;
}
.our_features_contents_list li{
	font-size: 3rem;
	font-weight: 700;
	color: #212121;
	line-height: 4rem;
	padding-left: 2em;
	text-indent: -1.9em;
}
.our_features_contents_list li::before {
	counter-increment: list-num;
	content: "0" counter(list-num); 
	margin-right: 0.5em;
	color: #ff643b;
}
.our_features_contents_list ul {
	margin-top: 1.5rem;
	margin-bottom: 4rem;
}
.our_features_contents_list li:last-child ul {
	margin-bottom: 0;
}
.our_features_contents_list ul li {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.4rem;
	text-indent: 0;
	padding-left: 0;
}
.our_features_contents_list ul li::before {
	content: none;
}
.our_features_feature_text {
	width: 59rem;
	font-size: 2.2rem;
	font-weight: 700;
	margin-top: 5rem;
}
.our_features_feature_column {
	margin: 4rem 0!important;
	justify-content: center;
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}
.our_features_feature_column .wp-block-column {
	position: relative;
}
.our_features_feature_column_circle {
	background-color: #ff643b;
	border-radius: 100%;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10%;
}
.our_features_feature_column_circle::before {
  display: block;
  content: '';
  padding-top: 100%;
}

.our_features_feature_column_circle h4 {
	color: #000;
	font-size: 5rem;
	line-height: 1.5;
}
.our_features_feature_column_circle hr {
	color: #ff9276;
	max-width: 24rem;
	margin: 2rem auto;
}
.our_features_feature_column_circle p {
	font-size: 1.4rem;
}
.our_features_feature_column_circle .text_bold {
	font-size: 2rem;
	font-weight: 700;
}
@media screen and (max-width: 1440px) {
	.our_features_feature_column_circle h4 {
		font-size: calc(100vw / 30);
	}
	.our_features_feature_column_circle p {
		font-size: calc(100vw / 100);
	}
	.our_features_feature_column_circle .text_bold {
		font-size: calc(100vw / 70);
	}
}

.our_features_problem .our_features_contents_list {
	margin: 0 0 0 auto;
}

.our_features_offshore figure,
.our_features_japanese_local figure {
	max-width: 96rem;
	margin: auto;
	position: relative;
}
@media screen and (max-width: 782px) {
	.our_features_offshore figure::after,
	.our_features_japanese_local figure::after {
    content: "";
    background-image: url(img/our_features/our_features/img_icon_01.png);
    max-width: 7rem;
    max-height: 7rem;
    width: 15%;
    height: 15%;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    position: absolute;
    top: 1rem;
    left: 1rem;
	}

	.our_features_feature {
		padding: 5rem 0;
	}
}
/* .modal_pop{
	width: 100vw;
	height: 100vh;
	position:fixed;
	top: 0;
	left:0;
	z-index:999;
	background-color: #1119;
}
.modal_pop img{
	position: absolute;
	transform: translate(0, 50%);
	z-index:999;
} */


/* なぜベトナムなのか */
.why_vietnam {
	padding: 6rem 0 10rem;
}
.why_vietnam_content {
	margin-top: 10rem;
}
.why_vietnam_content_img {
	position: relative;
	margin-top: 5rem;
}
.why_vietnam_content_img .national_flag_img {
	position: absolute;
	top: -11rem;
	right: -10vw;
	margin: 0;
	width: 45%;
}
.why_vietnam_project {
	margin-top: 10rem;
}
.why_vietnam_project_list {
	background-image: url(img/our_features/why_vietnam/img_02.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 100%;
	position: relative;
	text-align: center;
	margin: 4rem 0;
}
.why_vietnam_project_list ul {
	display: inline-block;
	padding: 4rem 2rem;
}
.why_vietnam_project_list ul li {
	color: #fff;
	font-size: 1.8rem;
	font-weight: 700;
	padding-bottom: 1rem;
	text-align: left;
	position: relative;
	padding-left: 2em;
}
.why_vietnam_project_list ul li:last-child {
	padding-bottom: 0;
}
.why_vietnam_project_list ul li::before {
	content: "";
	color: #000;
	width: 0.8rem;
	height: 0.8rem;
	display: inline-block;
	background: #000;
	border-radius: 100%;
	position: absolute;
	top: 1rem;
	left: 1em;
}

@media screen and (max-width: 782px) {
	.kv_our_features {
		background-image: url(img/our_features/img_kv_sp.jpg);
	}
	.kv_why_vietnam {
		background-image: url(img/our_features/why_vietnam/img_kv_sp.jpg);
	}

	.our_features h2, 
	.why_vietnam h2 {
		font-size: 2.25rem;
	}
	.our_features .h2_bar::before,
	.our_features .h2_bar::after, 
	.why_vietnam .h2_bar::before, 
	.why_vietnam .h2_bar::after {
		width: 6rem;
	}

	.our_features_feature {
		background-image: none;
	}
	.our_features_problem {
		background-image: none;
		padding-bottom: 0;
	}
	.our_features_feature figure,
	.our_features_problem figure {
		display: block;
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-top: 3rem;
	}

	.our_features_contents_list {
		width: 100%;
	}
	.our_features_contents_list li{
		font-size: 2rem;
		line-height: 2.75rem;
	}
	.our_features_feature_text {
		width: 100%;
		font-size: 1.5rem;
		margin-top: 4rem;
	}
	.our_features_feature_column {
		gap: 2rem!important;
	}
	.our_features_feature_column .wp-block-column {
		margin: 0;
		max-width: 37.5rem;
	}
	.our_features_feature_column_circle h4 {
		font-size: 4rem;
	}
	.our_features_feature_column_circle p {
		font-size: 1.4rem;
	}
	.our_features_feature_column_circle .text_bold {
		font-size: 1.8rem;
	}

	.why_vietnam {
		padding: 3rem 0 10rem;
	}
	.why_vietnam_content figure {
		margin-top: 0;
	}
	.why_vietnam_project_list {
		margin: 2rem 0;
	}
	.why_vietnam_project_list ul li {
		line-height: 1.5;
	}
	.why_vietnam_content_img .national_flag_img {
		top: -6rem;
		right: -7vw;
		width: 60%;
	}
}


/* -------------------------------------------------------------------------- */
/*	6. サービス - service
/* -------------------------------------------------------------------------- */

/*----- サービス -----*/
.kv_service {
	background-image: url(img/service/img_kv.jpg);
}

/*----- オフショア開発 -----*/
.kv_service_oﬀshore {
	background-image: url(img/service/offshore/img_kv.jpg);
}

.services_provided  {
	padding-bottom: 8rem;
}

/* オフショア活用のメリットと管理工数 */
.services_merit {
	margin-bottom: 15rem;
}
.services_merit_column {
	gap: 0!important;
	margin-top: 5rem;
}
.services_merit_column h4 {
	font-size: 3rem;
	font-weight: 700;
	line-height: 1;
}
.services_merit_column p {
	font-size: 2rem;
	color: #212121;
}
.services_merit_column .wp-block-image {
	margin-bottom: 3rem;
	margin-top: 2rem;
}

.services_merit_column ol li {
	line-height: 2.6rem;
	padding-left: 2.5em;
	text-indent: -2.7em;
}
.services_merit_column ol li::before {
	counter-increment: list-num;
	content: "0" counter(list-num); 
	margin-right: 2rem;
	font-size: 2.5rem;
}
.services_merit_column ol ul {
	margin-top: 1rem;
	margin-bottom: 4rem;
}
.services_merit_column ol li:last-child ul {
	margin-bottom: 0;
}
.services_merit_column ol ul li {
	font-size: 1.4rem;
	color: #212121;
	font-weight: 400;
	line-height: 2.4rem;
	text-indent: 0;
	padding-left: 0;
}
.services_merit_column ol ul li::before {
	content: none;
}

.services_merit_column_orange {
	background-color: #ffece7;
	padding: 4rem 8rem 6rem 5rem;
	position: relative;
	counter-reset: list-num;
	color: #ff643b;
}
.services_merit_column_orange ol li::before {
	color: #ffb19d;
}
.services_merit_column_orange::before {
	content: "";
	width: 5rem;
	height: 6rem;
	display: inline-block;
	background: #ffece7;
	position: absolute;
	bottom: -6rem;
	right: 0;
}
.services_merit_column_orange::after {
	content: "";
	width: 12rem;
	height: 9rem;
	display: inline-block;
	position: absolute;
	bottom: -15rem;
	right: 0;
	background: linear-gradient(36deg,transparent 0%,transparent 50%,#ffece7 50%,#ffece7 100%);
}

.services_merit_column_gray {
	background-color: #f2f2f2;
	padding: 4rem 5rem 6rem 8rem ;
	position: relative;
	counter-reset: list-num;
	color: #212121;
}
.services_merit_column_gray ol li::before {
	color: #bcbcbc;
}
.services_merit_column_gray::before {
	content: "";
	width: 5rem;
	height: 6rem;
	display: inline-block;
	background: #f2f2f2;
	position: absolute;
	bottom: -6rem;
	left: 0;
}
.services_merit_column_gray::after {
	content: "";
	content: "";
	width: 12rem;
	height: 9rem;
	display: inline-block;
	position: absolute;
	bottom: -15rem;
	left: 0;
	background: linear-gradient(-36deg,transparent 0%,transparent 50%,#f2f2f2 50%,#f2f2f2 100%);
}

@media screen and (max-width: 782px) {
	.kv_service {
		background-image: url(img/service/img_kv_sp.jpg);
	}
	.kv_service_oﬀshore {
		background-image: url(img/service/offshore/img_kv_sp.jpg);
	}

	.services_provided  {
		padding-bottom: 3rem;
	}

	.services_merit_column_orange::before,
	.services_merit_column_orange::after,
	.services_merit_column_gray::before,
	.services_merit_column_gray::after {
		content: none;
	}
	.services_merit_column_orange,
	.services_merit_column_gray {
		padding: 3rem 2rem;
	}
	.services_merit_column h4 {
		font-size: 2.4rem;
	}
}

.services_merit_cost {
	margin-top: 17rem;
}
.services_merit_cost_text span {
	color: #ff643b;
}
.services_merit_cost_text_anno {
	font-size: 1.3rem;
	text-align: center;
}
.services_merit_cost_text_20 {
	font-size: 2rem;
	margin-top: 1rem;
}

.services_merit_cost_graph {
	background-image: url(img/service/offshore/img_graph00.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.services_merit_cost_graph > .wp-block-group__inner-container {
	display: flex;
}

.services_merit_cost_figure {
	width: 60rem;
	margin: auto;
}
.services_merit_cost_figure_content {
	justify-content: space-between;
	margin-top: 3rem;
	position: relative;
	align-items: flex-end!important;
}
.services_merit_cost_figure_content > div:first-child {
	background-image: url(img/service/offshore/img_graph_01.png);
	height: 27rem;
	width: 20rem;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.services_merit_cost_figure_content > div:first-child .wp-block-group {
	align-items: center;
	gap: 8rem;
	padding-top: 6rem;
}
.services_merit_cost_figure_content > div:first-child > div > p {
	margin-top: 10rem;
}
.services_merit_cost_figure_content > div:last-child {
	background-image: url(img/service/offshore/img_graph_03.png);
	height: 21rem;
	width: 20rem;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.services_merit_cost_figure_content > div:last-child .wp-block-group {
	align-items: center;
	gap: 4rem;
	padding-top: 5rem;
}
.services_merit_cost_figure_content > div:last-child > div > p {
	margin-top: 6rem;
}
.services_merit_cost_figure_content p {
	font-size: 2rem;
	color: #fff;
	line-height: 1.3;
	font-weight: 700;
	text-align:center;
}
.services_merit_cost_figure_content figure {
	align-self: center;
}
@media screen and (max-width: 782px) {
	.services_merit_cost {
		margin-top: 5rem;
	}
	.services_merit_cost_text_anno {
		text-align: left;
	}
	.services_merit_cost_figure {
		width: 100%;
	}
	.services_merit_cost_figure_content figure {
		width: 20%;
	}
	.services_merit_cost_figure_content > div:first-child {}
	.services_merit_cost_figure_content > div:last-child {
		
	}
	.services_merit_cost_figure_content > div:last-child .wp-block-group {
		gap: 3rem;
    padding-top: 7rem;
	}
	.services_merit_cost_figure_content > div:first-child .wp-block-group {
		gap: 7rem;
    padding-top: 8rem;
	}
	.services_merit_cost_figure_content .wp-block-group > p {
		font-size: calc(100vw / 30);
	}
}

.services_skill .info_column .wp-block-image {
	margin-top: 3rem;
}
.services_skill .info_column .wp-block-column img {
	width: 50%;
	margin: auto;
}
.services_skill .info_column h4 {
	font-size: 2rem;
	line-height: 2.8rem;
}
.services_skill .info_column p {
	font-size: 1.6rem;
	line-height: 3rem;
}

/*----- 日系現地企業向けITサービス -----*/
.kv_service_japanese_local {
	background-image: url(img/service/japanese_local/img_kv.jpg);
}
.kv_service_japanese_local .h2_head {

}

.services_offer:first-child {
	margin-bottom: 4rem;
}
.services_offer > div {
	display: flex;
	justify-content: space-between;
}
.services_offer:first-child >div {
	flex-flow: row-reverse;
}
.services_offer > div figure {
	width: 50%;
	margin: 0;
}
.services_offer_content {
	width: 50%;
	background-color: #f4f4f8;
	padding: 7rem;
}
.services_offer_content h4 {
	margin: 3rem 0 2rem 0;
}
.services_offer div figure img {
	margin: auto;
	height: 100%;
}

.info_column_services {
	margin-top: 2rem;
	min-height: 7rem;
}
.info_column_services .wp-block-column {
	padding: 0.5rem 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 1rem;
}
.info_column_services h4 {
	margin-bottom: 0!important;
	line-height: 2.4rem;
}

@media screen and (max-width: 782px) {
	.kv_service_japanese_local {
		background-image: url(img/service/japanese_local/img_kv_sp.jpg);
	}
	.kv_service_japanese_local .h2_head {
		bottom: calc(50% / 8);
	}
	.kv_service_japanese_local .h2_title {
		font-size: calc(100vw / 20);
	}
	.kv_service_japanese_local .h2_head p {
		font-size: calc(100vw / 30);
	}


	.services_offer > div {
		display: block;
	}
	.services_offer_content {
		width: 100%;
		padding: 3rem;
	}
	.services_offer > div figure {
		width: 100%;
		max-width: 100%;
		max-height: 100vw;
	}
	.services_offer div figure img {
		max-height: calc(100vw - 4rem);
	}
	.services_offer:first-child >div {
		flex-flow: row;
	}
	.info_column_services .wp-block-column {
		padding: 2rem;
	}
	.services_offer .services_offer_content figure {
		width: 30%;
	}
}


/* -------------------------------------------------------------------------- */
/*	7. ソリューション - solution
/* -------------------------------------------------------------------------- */

/*----- ソリューション -----*/
.kv_solution {
	background-image: url(img/solution/img_kv.jpg);
}

/* カスタム投稿-top */
.next_column-custom {
	display: flex;
	gap: 2rem;
	margin-top: 5rem;
	margin-bottom: 10rem;
	flex-wrap: wrap;
}
.next_column-custom_contents {
	width: calc((100% - 4rem) / 3);
	border: #d6d6d9 solid 1px;
	box-sizing: border-box;
	position: relative;
}
.next_column-custom_contents a:hover {
	opacity: 0.5;
}
.next_column-custom_contents .inner_text {
	padding: 3rem 2rem;
}
.next_column-custom_contents .inner_text p {
	font-size: 1.2rem;
	line-height: 2.1rem;
	margin-top: 1.5rem;
}
.next_column-custom_contents_text::after {
	content: "";
	background: url(common/img/icon_list.svg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 1rem;
	height: 2rem;
	position: absolute;
	bottom: 0.8rem;
	right: 1rem;
	margin: auto;
}

@media screen and (max-width: 782px) {
	.kv_solution {
		background-image: url(img/solution/img_kv_sp.jpg);
	}
	.next_column-custom {
		display: block;
		flex-wrap: wrap;
		margin-top: 3rem;
	}
	.next_column-custom_contents {
		width: 100%;
	}
	.next_column-custom .next_column-custom_contents:not(:first-child) {
		margin-top: 2em;
	}
}

/* カスタム投稿-detal */
.solution_detail_block_flex {
	display: flex;
	gap: 8rem;
	justify-content: space-between;
}
.solution_detail_block h3 {
	font-size: 2rem;
	color: #ff643b;
}
.solution_detail_block p {
	font-size: 1.6rem;
}
.solution_detail_block img {
	max-width: 46rem;
	max-height: 28rem;
}

.solution_detail_list {
	background-color: #f4f4f8;
	margin-top: 8rem;
	padding-bottom: 10rem;
}
.solution_detail_list_flex {
	display: flex;
	gap: 2rem;
	flex-wrap: wrap;
}
.solution_detail_list_flex_content {
	width: calc((100% - 16rem) / 3);
	background-color: #fff;
	border-radius: 2rem;
	padding: 4rem 2rem;
}
.solution_detail_list_flex_content img {
	margin: auto;
}
.solution_detail_list_flex_content_title {
	margin: 2rem 0;
	text-align: center;
}
.solution_detail_list_flex_content h4 {
	font-size: 2.0rem;
}
.solution_detail_list_flex_content p {
	font-size: 1.6rem;
}

@media screen and (max-width: 782px) {
	.solution_detail_block_flex {
		display: block;
	}
	.solution_detail_block img {
		width: 100%;
		height: 100%;
		margin-top: 2rem;
	}
	.solution_detail_block p {
		font-size: 1.4rem;
	}

	.solution_detail_list_flex {
		display: block;
	}
	.solution_detail_list_flex_content {
		width: calc(100% - 4rem);
	}
	.solution_detail_list_flex_content:not(:first-child) {
		margin-top: 2em;
	}
	.solution_detail_list_flex_content h4 {
		font-size: 1.8rem;
	}
	.solution_detail_list_flex_content p {
		font-size: 1.4rem;
	}
}

/* -------------------------------------------------------------------------- */
/*	8. 事例
/* -------------------------------------------------------------------------- */
/* オフショア開発事例 */
/* 実績紹介 */
.actual_introduction .wp-block-columns:not(:first-child) {
	margin-top: 4rem;
}
.actual_introduction_table {
	background: #fff;
	border-radius: 1rem;
	height: 100%;
	margin-bottom: 0!important;
}
.actual_introduction_table th {
border-bottom: 1px solid #ff643b !important;
    padding: 1.5rem 0 1rem;
    border-top: none !important;
    border-right: none !important;
    border-left: none !important;
}
.actual_introduction_table th:first-child {
	background-color: #ff643b;
	color: #fff;
	width: 12rem;
	text-align: center;
	font-size: 1.6rem;
}
.actual_introduction_table th:last-child {
	padding-left: 2rem;
	padding-right: 2rem;
	font-size: 1.8rem;
}

.actual_introduction_table tr:not(:last-child) {
	position: relative;
}
.actual_introduction_table tr:not(:last-child,:first-child)::after {
	content: "";
	position: absolute;  left: 50%;
  bottom: 0;
  display: inline-block;
  width: calc(100% - 4rem);
  height: 1px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #f4f4f8;
}
.actual_introduction_table td {
	padding: 1rem 2rem 1rem 2rem;
	font-size: 1.4rem;
	border: none !important;
}
.actual_introduction_table td:not(:last-child) {
	text-align: center;
}
.actual_introduction_table tr:nth-child(2) td {
	padding-top: 1.5rem;
}
.actual_introduction_table tr:last-child td {
	padding: 2rem;
}
.actual_introduction_table tr:last-child td:first-child {
	position: relative;
	color: #ff643b;
	font-weight: 700;
	z-index: 1;
}
.actual_introduction_table tr:last-child td:first-child::before {
	content: "";
	position: absolute;
	background-color: #ffece7;
	width: 8rem;
	height: 8rem;
	display: inline-block;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	z-index: -1;
}
.actual_introduction_table_height tr:last-child td:last-child {
	height: 73.5px;
}
@media screen and (max-width: 782px) {

}

/* 過去実績（一覧） */
.past_achievements_table {
	font-size: 1.4rem;
	line-height: 2rem;
}
.past_achievements_table table {
	width: 100%;
	table-layout: fixed;
	box-sizing: border-box;
}
.past_achievements_table td {
	padding: 1.5rem;
	vertical-align: top;
	word-break: normal;
	overflow-wrap: anywhere;
}
.past_achievements_table tr:nth-child(odd) {
	background-color: #f9f9fb;
}
.past_achievements_table tr:first-child {
	background-color: #000000;
	color: #fff;
}
.past_achievements_table tr:first-child td {
	text-align: center;
}
.past_achievements_table td:last-child {
	text-align: right;
}
.past_achievements_table tr:first-child td:not(:last-child) {
	border-right: 1px solid #fff;
}
.past_achievements_table td:not(:last-child) {
	border-right: 1px solid #b9b9b9;
}
.past_achievements_table td:first-child {
	width: 12%;
}
.past_achievements_table td:nth-child(2) {
	width: 18%;
}
.past_achievements_table td:nth-child(3) {
	width: 28%;
}
.past_achievements_table td:nth-child(4) {
	width: 20%;
}
.past_achievements_table td:nth-child(5) {
	width: 12%;
}
.past_achievements_table td:last-child {
	width: 10%;
}


/* 現地向け導入事例 */
.kv_development_cases {
	background-image: url(img/development_cases/img_kv.jpg);
}
.kv_case {
	background-image: url(img/development_cases/case/img_kv.png);
}
.kv_case .kv_case_bg {
	width: 85%;
	height: 100%;
	display: inline-block;
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center right;
}

.next_column-custom_contents_case .inner_text {

}
.next_column-custom_contents_case .inner_text p {
	margin-top: 0;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
}

.case_detail_top_industry {
	font-size: 1.8rem;
	font-weight: 700;
}
.case_detail_info {
	padding: 4rem;
}
.case_detail_info_content {
	display: flex;
	align-items: center;
}
.case_detail_info_content_head {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #ff643b;
	border-radius: 50%;
	width: 8rem;
	height: 8rem;
	margin-right: 2rem;
}
.case_detail_info_content:last-child {
	margin-top: 2rem;
}

.case_detail_info_list {
	display: flex;
	margin-top: 4rem;
	position: relative;
}
.case_detail_info_list::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  border-top: 3rem solid transparent;
  border-bottom: 3rem solid transparent;
  border-left: 4rem solid #ff643b;
}
.case_detail_info_list .case_detail_info_list_before {
	background-color: #fff;
	width: 50%;
	padding: 4rem 6rem 6rem 4rem;
}
.case_detail_info_list .case_detail_info_list_after {
	background-color: #ffece7;
	width: 50%;
	padding: 4rem 4rem 6rem 6rem;
}
.case_detail_info_list h4 {
	text-align: center;
	max-width: 24rem;
	margin: auto;
	border-radius: 1.8rem;
	color: #fff;
	font-size: 2.4rem;
	margin-bottom: 3rem;
	line-height: 4rem;
	height: 3.6rem;
}
.case_detail_info_list .case_detail_info_list_before h4 {
	background-color: #8b8b8b;
}
.case_detail_info_list .case_detail_info_list_after h4 {
	background-color: #ff643b;
}
.case_detail_info_list ul li {
	margin-top: 2rem;
	padding-left: 1em;
	text-indent: -1.5em;
	line-height: 1.31;
}
.case_detail_info_list .case_detail_info_list_after ul li {
	font-weight: 700;
}
.case_detail_info_list ul li::before {
	content: "●";
	color: #8b8b8b;
	margin-right: 0.5em;
}
.case_detail_info_list .case_detail_info_list_after ul li::before {
	color: #ff643b;
}

.case_detail_info_content_head h4 {
	font-size: 1.4rem;
	color: #fff;
	position: relative;
	top: 2px;
}
.case_detail_info_content p {
	width: calc(100% - (8rem + 2rem));
	font-size: 1.8rem;
	line-height: 2.8rem;
	font-weight: 700;
}

.case_detail_voice_content {
	display: flex;
	justify-content: space-between;
}
.case_detail_voice_content_profile {
	width: 20%;
	max-width: calc(20% - 6rem);
	margin-right: 6rem;
}
.case_detail_voice_content_profile img {
	margin: auto;
}
.case_detail_voice_content_profile h4 {
	font-size: 2rem;
	margin-top: 3rem;
}
.case_detail_voice_content_profile p:last-child {
	margin-top: 1rem;
}
.case_detail_voice_content_comment {
	width: 80%;
	max-width: calc(97rem - (7rem + 8rem));
	padding: 5rem 7rem 5rem 8rem;
	background-color: #fff;
	border-radius: 2rem;
	position: relative;
}
.case_detail_voice_content_comment::after {
	content: "";
	position: absolute;
	top: 5.5rem;
	left: -3rem;
  border-top: 1.5rem solid transparent;
  border-bottom: 1.5rem solid transparent;
  border-right: 3rem solid #fff;
}


@media screen and (max-width: 782px) {
	.kv_development_cases {
		background-image: url(img/development_cases/img_kv_sp.jpg);
	}
	.kv_case {
		background-image: url(img/development_cases/case/img_kv_sp.png);
	}
	.kv_case .kv_case_bg {
		width: 100%;
		height: 70%;
	}

	.case_detail_info {
		padding: 4rem 2rem;
	}

	.case_detail_info_list {
		display: block;
	}
	.case_detail_info_list::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		border-top: 4rem solid transparent;
		border-bottom: 4rem solid transparent;
		border-left: 6rem solid #ff643b;
	}
	.case_detail_info_list .case_detail_info_list_before {
		width: calc(100% - 4rem);
		padding: 4rem 2rem;
	}
	.case_detail_info_list .case_detail_info_list_after {
		width: calc(100% - 4rem);
		padding: 4rem 2rem
	}
	.case_detail_info_content {
		display: block;
	}
	.case_detail_info_content p {
		width: 100%;
	}
	.case_detail_info_content_head {
		margin: auto auto 2rem;
	}
	.case_detail_info_list::after {
		border-top: 3rem solid #ff643b;
    border-bottom: 0;
    border-left: 2rem solid transparent;
		border-right: 2rem solid transparent;
	}

	.case_detail_voice_content {
		display: block;
	}
	.case_detail_voice_content_profile {
		width: 100%;
		max-width: 100%;
		display: flex;
	}
	.case_detail_voice_content_profile img {
		width: calc(100% / 3);
		margin-left: 0;
		margin-right: 1rem;
    max-width: 14rem;
	}
	.case_detail_voice_content_comment {
		width: auto;
		padding: 4rem 2rem;
		margin-top: 5rem;
	}
	.case_detail_voice_content_comment::after {
    top: -3rem;
    left: calc(100vw / 10);
    border-top: none;
    border-bottom: 3rem solid #fff;
    border-right: 1.5rem solid transparent;
		border-left: 1.5rem solid transparent;
	}
}


/* -------------------------------------------------------------------------- */
/*	9. 企業情報 - about us
/* -------------------------------------------------------------------------- */
.kv_about {
	background-image: url(img/about/img_kv.jpg);
}

/* 会社概要 */

/* 理念・代表挨拶 */
.cresco_charter {
	text-align: center;
	width: 100%;
	margin-top: 8rem;
}
.cresco_charter ul {
	font-size: 2.0rem;
	padding: 5rem 9.5rem;
	border: 0.1rem solid #a9a9a9;
	text-align: left;
	display: inline-block;
}
.cresco_charter ul li:not(:last-child) {
	margin-bottom: 1rem;
}
@media screen and (max-width: 782px) {
	.kv_about {
		background-image: url(img/about/img_kv_sp.jpg);
	}
	.cresco_charter {
		margin-top: 4rem;
	}
	.cresco_charter ul {
		font-size: 1.8rem;
		padding: 2rem 2rem;
		display: block;
	}
}

.our_mission {
	background-image: url(img/about/philosophy_representative_Greeting/img_bg_01.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 100%;
	position: relative;
}
.our_mission_content {
	background: #fff;
	border-radius: 1rem;
	margin-top: 10rem;
	min-height: 550px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.our_mission_content h4 {
font-size: 4rem;
color: #ff643b;
margin-bottom: 3rem;
}
.our_mission_content p {
	font-size: 2rem;
	line-height: 2.25;
}
@media screen and (max-width: 782px) {
	.our_mission_content {
		padding: 2rem;
		margin-top: 5rem;
	}
	.our_mission_content h4 {
		font-size: 3rem;
		margin-bottom: 1rem;
		}
	.our_mission_content p {
		font-size: 1.8rem;
	}
}

.corporate_philosophy_ceo {
	background-image: url(img/about/philosophy_representative_Greeting/img_bg_02.jpg);
	background-position-y: 7rem;
	background-size: auto;
}
@media screen and (max-width: 782px) {
	.corporate_philosophy_ceo {
		background-image: url(img/about/philosophy_representative_Greeting/img_bg_02_sp.jpg);
		background-position-y: 0;
		background-size: cover;
	}
}

.cresco_group_vision {
	background-color: #ff643b;
	width: 100%;
	height: 100%;
}
.cresco_group_vision_content {
	text-align: center;
}
.cresco_group_vision_content p:first-child{
	font-weight: 700;
	font-size: 2.0rem;
}
.cresco_group_vision_content h4 {
	color: #fff;
	font-size: 4.2rem;
	margin-top: 1rem;
}
.cresco_group_vision_content p:last-child{
	color: #fff;
	font-size: 1.8rem;
}
.cresco_group_vision_img {
	margin-bottom: 0;
	padding: 6rem 0 12rem;
}
.cresco_group_vision_img figure {
	border: 0.1rem solid #fff;
}
@media screen and (max-width: 782px) {
	.cresco_group_vision_content p:first-child{
		font-size: 1.8rem;
	}
	.cresco_group_vision_content h4 {
		font-size: 2.1rem;
	}
	.cresco_group_vision_img {
		padding: 3rem 0 6rem;
	}
}

.cresco_message {
	position: relative;
}
.cresco_message::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(137deg,transparent 0%,transparent 68%,#ff643b 68%,#ff643b 100%);
	z-index: -1;
}
.cresco_message_content > div {
	display: flex;
	justify-content: space-between;
	gap: 4rem;
}
.cresco_message_content .cresco_message_content_text {
	width: 50%;
}
.cresco_message_content .cresco_message_content_img {
	width: 50%;
	text-align: right;
}
.cresco_message_content .cresco_message_content_img p {
	color: #fff;
}
.cresco_message_content .cresco_message_content_img p:last-child  {
	font-size: 2.0rem;
}
@media screen and (max-width: 782px) {
	.cresco_message_content > div {
		flex-wrap: wrap-reverse;
	}
	.cresco_message_content .cresco_message_content_text {
		width: 100%;
	}
	.cresco_message_content .cresco_message_content_img {
		width: 100%;
	}
	.cresco_message_content .cresco_message_content_img p {
		color: #333;
	}
	.cresco_message::after {
		bottom: auto;
		right: auto;
		top: 10rem;
		left: 0;
		background: 	linear-gradient(130deg,#ff643b 0%,#ff643b 20%,transparent 20%,transparent 100%);;
	}
}


/* -------------------------------------------------------------------------- */
/*	10. 採用情報 - recruit
/* -------------------------------------------------------------------------- */
.recruit_info_table {
	background-color: #fff;
	border-radius: 1rem;
	padding: 5rem 2rem;
}
.recruit_info_table_block {
	gap: 0!important;
	padding: 2.0rem 0;
	border-bottom: 0.1rem solid #cccccc;
}
.recruit_info_table_block:first-child {
	border-top: 0.1rem solid #cccccc;
}
.recruit_info_table_block .wp-block-column:first-child {
	font-weight: 700;
}
.recruit_info_table .recruit_info_table_block .table_orange {
	font-size: 2.4rem;
	font-weight: 700;
	color: #ff643b;
}
.recruit_info_table_block ul {
	padding-left: 1em;
	text-indent: -1em;
}

.contact_btn,
.contact_submit_btn {
	text-align: center;
}
.contact_btn a,
.contact_submit_btn input[type="submit"] {
	position: relative;
	font-size: 2.4rem;
	color: #fff;
	line-height: inherit;
	font-weight: 700;
	background-color: #ff643b;
	transition: background-color 0.5s, border 0.5s, color 0.5s;
	border: 0.1rem solid #fff;
	/* !important: WP core 7.0 added .wp-block-buttons .wp-block-button__link{
	   width:100%} (2 classes, doesn't exist in 6.3.1/legacy), which outranks
	   this rule's specificity and shrinks the button to fit its flex row. */
	width: 44rem !important;
	padding: 0.8rem 12rem;
}
.contact_btn a::after,
.contact_submit_btn::after {
	content: "";
	background-image: url(common/img/icon_contact.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 1rem;
	height: 2rem;
	position: absolute;
	top: -4px;
	bottom: 0;
	right: 1rem;
	margin: auto;
}
.contact_btn a:hover,
.contact_submit_btn input[type="submit"]:hover {
	background-color: #fff;
	color: #ff643b;
	border: 0.1rem solid #ff643b;
}
.contact_btn a:hover::after,
.contact_submit_btn:hover::after {
	background-image: url(common/img/icon_contact_ov.svg);
}

@media screen and (max-width: 782px) {
	.recruit_info_table_block .wp-block-column:first-child {
		padding-bottom: 1rem;
	}
	.recruit_info_table_block .wp-block-column:last-child {
		padding-left: 1rem;
	}
	.recruit_info_table .recruit_info_table_block .table_orange {
		text-align: center;
		font-size: 1.8rem;
		padding-left: 0;
	}

	.contact_btn a,
	.contact_submit_btn input[type="submit"] {
		width: 100% !important;
    font-size: 1.8rem;
		padding: 0.8rem calc(100vw /4);
	}
	.contact_btn a::after,
	.contact_submit_btn::after {
		top: -1px;
	}
	.contact_btn a {
		padding: 0.8rem calc(100vw / 10);
	}
	.contact_submit_btn input[type="submit"] {
		padding: 0.8rem calc(100vw / 3.35);
	}
}

/* -------------------------------------------------------------------------- */
/*	11. お問い合わせ - contact
/* -------------------------------------------------------------------------- */

.contact_list>li {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	margin-bottom: 4rem;
}
.contact_list>li.li--top {
	align-items: flex-start;
}
.li--top .contact_list_head {
	padding-top: 1rem;
}
.contact_list_head {
	width: 24rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-right: 2rem;
	box-sizing: border-box;
}
.contact_list_head .label {
	font-weight: 700;
}
.contact_list_head .required {
	font-size: 1.2rem;
	height: 2.4rem;
	width: 4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #ff643b;
	color: #fff;
}
.contact_list_input {
	flex: 1;
	width: 100%;
}
.contact_list_input .input_block {
	position: relative;
}
.contact_list_input input,
.contact_list_input select,
.contact_list_input textarea {
	background-color: #f4f4f8;
	border-color: #cccccc;
}
.contact_list_input .input_select::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translate(-50%, -50%);
	border-top: 1.5rem solid #ff643b;
	border-left: 1rem solid transparent;
	border-right: 1rem solid transparent;
}
/* 送信ボタン */
.contact_submit {
	text-align: center;
	margin-top: 6rem;
}
.contact_submit_btn {
	position: relative;
	display: inline-block;
}

/* エントリー・ラジオボタン */
.input_radio {
	display: flex;
	align-items: center;
	gap: 3rem;
}
.input_radio label {
	display: flex;
	align-items: center;
}
.input_radio input[type="radio"] {
	display: inline-block;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	margin: auto 1rem auto 0;
	position: relative;
}
.input_radio input[type="radio"]::after {
	content: "";
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background-color: transparent;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
}
.input_radio input[type="radio"]:checked::after{
	background-color: #ff643b;
}
.mw_wp_form .horizontal-item + .horizontal-item {
	margin-left: 0!important;
}

@media screen and (max-width: 782px) {
	.contact_list>li {
		flex-flow: column;
		align-items: flex-start;
		gap: 0.1rem;
	}
	.contact_list_input {
		flex: 1;
		width: 100%;
	}
	.contact_list_head {
		width: auto;
		margin-bottom: 1rem;
	}
	.contact_list_head .label {
    margin-right: 2rem;
	}
	.input_radio {
		flex-wrap: wrap;
		margin-top: 2rem;
	}
}

/*b-style-ldp-cresco*/
/*CSS CONTENT*/
.next_column .inner_text p{
	text-align:justify;
}
body{
	overflow-x: hidden;
}
html{
	overflow-x: hidden;
}
head{
	overflow-x: hidden;
}
@font-face {
  src: url(../crescovn/fonts/Lobster-Regular.ttf);
  font-family: lobster-rgl;
}
.qb_ldp_cresco_2022{
	
margin: 100px 0px 0px 0px;
}
.qb_cresco_news{
	background: url(img/qb-tinhthe-left.png),url(img/qb-tinhthe-right.png);
	background-position: 30% 0%, 100% -100%;
	background-repeat: no-repeat;
	padding: 80px 0px;
}
.qb_cresco_news .qb_cresco_news_general{
	display: flex;
	margin: 30px 0px 0px 0px;
	justify-content: center;
	align-items: center;
}
.qb_cresco_news .ct_left span{font-weight: 700;font-size: 14px;color: #FF643B;background: #FFF2EE;border: 1px solid #FFB39F;display: inline-block;text-align: center;padding: 17px 14px;}
.qb_cresco_news .ct_left{margin: 0px 10px 0px 0px;}
.qb_cresco_news .ct_right{

max-width: 850px;

width: 100%;
}
.qb_cresco_news .ct_right span{font-size: 16px;line-height: 24px;background: #FFFFFF;display: inline-block;color: #000;}
.qb_cresco_news .ct_right ul{
	display: flex;
}
.qb_cresco_news .ct_right ul li{
	position: relative;
	font-size: 16px;
	line-height: 24px;
	color: #000;
	padding: 0px 0px 0px 15px;
	margin: 0px 50px 0px 0px;
}
.qb_cresco_news .ct_right ul li:before{
	position: absolute;
	content: "";
	width: 6px;
	height: 6px;
	background: #FF643B;
	border-radius: 50%;
	top: 8px;
	left: 0px;
}
.qb_cresco_news .ct_right ul li a{
	color: #337ab7;
}
.qb_ldp_cresco_2022 .container{width: initial;}
.qb_ldp_cresco_2022 figure{

}
.qb_ldp_cresco_2022 img{

}
.qb_ldp_cresco_2022 br{
	display: none;
}
.bg_tp_qr{
  background: url(../crescovn/img/solution/bg-toppage-fix1.png);
  padding: 45px 0px 0px 0px;
}
.qb_tp{position: relative;height: 770px;}
.qb_tp .tp_general{
  display: flex;
  align-items: center;
}
.qb_tp .tp_general .text_widget{
  width: 50%;
  position: absolute;
  top: 11%;
  z-index: 1;
  left: 10%;
}
.qb_tp .tp_general .wrap_figure{
  width: 977px;
  height: 712px;
  top: 0px;
  right: 0px;
  position: absolute;
}
.qb_tp .tp_general .text_widget h2{
  color: #ff643b;
  font-size: 40px;
  line-height: 48px;
  margin: 0px;
  font-weight: 700;
  max-width: 700px;
  width: 100%;
  text-align: center;
}
.qb_tp .tp_general .text_widget .tp_btn{
  font-size: 34px;
  line-height: 42px;
  color: #fff !important;
  background: #ff643b;
  font-weight: 700;
  border-radius: 50px;
  display: inline-block;
  margin: 100px auto 0px auto;
  padding: 17px 60px;
}
.qb_tp .tp_general .text_widget .tp_btn img{
  display: inline-block;
  vertical-align: middle;
  position: relative;
  top: 0px;
  margin: 0px 0px 0px 10px;
  transition: all 0.3s;
}
.qb_tp .tp_general .text_widget .tp_btn:hover img{
  transform:translateX(10px)
}
.qb_tp .tp_general .text_widget h2 strong{
  color: #000;
}
.qb_tp .tp_general .app_website_img{}
.qb_tp .tp_general .app_mobile_img{max-width: 290px;width: 100%;top: 13%;position: absolute;left: -5%;}
.qb_tp .tp_general .app_pos_img{
  position: absolute;
  max-width: 600px;
  width: 100%;
  top: 25%;
  right: 17%;
}
.qb_title{
  font-size: 40px;
  line-height: 48px;
  display: table;
  margin: 0px auto 50px auto;
  text-align: center;
  font-weight: 700;
  color: #ff643b;
}
.qb_title strong{
  color: #fff;
}
.qb_two_protocol .qb_title strong,
.qb_two_setup .qb_title strong,
.qb_sequence .qb_title strong{
  color: #000;
}
.qb_title span{
  font-size: 30px;
  line-height: 38px;
  color: #fff;
  font-weight: 400;
}
.qb_sequence .qb_title{
  margin: 70px auto 50px auto;
  position: relative;
}
.qb_sequence{position: relative;padding: 0px 0px 70px 0px;}
.qb_sequence:before{
  position: absolute;
  content: "";
  background: url(../crescovn/img/solution/bg-giua-grey.png);
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
}
.qb_sequence:after{

}
.qb_sequence .sequence_detailds{
  position: relative;
  margin: 0px 0px 13px 0px;
}
.qb_sequence .sequence_detailds .sequence_left_bg{
  position: relative;
}
.qb_sequence .sequence_detailds.sequence_diff_detailds .sequence_left_bg{
  display: flex;
  align-items: center;
}
.qb_sequence .sequence_detailds .sequence_left_bg:before{
  position:
  absolute;
  content:
  "";
  background: url(../crescovn/img/solution/bg-red.png);
  width: 99.5%;
  height:100%;
}
.qb_sequence .sequence_detailds:after{
  position:
  absolute;
  content:
  "";
  width: 25px;
  height:100%;
  background: transparent;
  top:0px;
  right:0px;
} 
.qb_sequence .sequence_detailds .sequence_left_text{
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
  padding: 40px 0px 0px 26px;
}
.qb_sequence .sequence_diff_detailds.sequence_detailds .sequence_right_text{
}
.qb_sequence .sequence_detailds .wrap_figure{
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
  padding: 0px 0px 0px 26px;
}
.qb_sequence .sequence_diff_detailds.sequence_detailds .wrap_figure{
  padding: 0px;
  margin-left: auto;
}
.qb_sequence .sequence_detailds .whale_img{
  position: absolute;
  top: -20px;
  right: 26px;
  z-index: 2;
  max-width: 190px;
  width: 100%;
}
.qb_sequence .sequence_detailds .whale_img img{
}
.qb_sequence .sequence_detailds .sequence_left_text .number_img{
  padding: 0px 25px 0px 0px;
}
.qb_sequence .sequence_detailds .sequence_left_text .number_img img{
}
.qb_sequence .sequence_detailds .sequence_left_text .text_inside{}
.qb_sequence .sequence_detailds .sequence_left_text .text_inside h3{
  font-size: 35px;
  line-height: 43px;
  color: #FFE100;
  font-weight: 700;
  margin: 0px 0px 10px 0px;
}
.qb_sequence .sequence_detailds .sequence_left_text .text_inside i{
  font-weight: 700;
  color: #FFE100;
  display: block;
  margin: 0px 0px 10px 0px;
}
.qb_sequence .sequence_detailds .sequence_left_text .text_inside strong{display: block;margin: 0px 0px 10px 0px;font-weight: 700;color: #fff;font-size: 20px;line-height: 28px;}
.qb_sequence .sequence_detailds .sequence_right_text{
  position: relative;
  z-index: 1;
  display: flex;
  width: 35%;
  background: #fff;
  border-radius: 10px;
  padding: 13px;
  left: -23px;
  margin: 16px 0px 16px auto;
}
.qb_sequence .sequence_detailds .sequence_right_text .text_widget{
  width: 50%;
}
.qb_sequence .sequence_detailds .sequence_right_text .text_widget h4{
  font-weight: 700;
  color: #ff643b;
  margin: 0px 0px 10px 0px;
  font-size: 16px;
  line-height: 24px;
}
.qb_sequence .sequence_detailds .sequence_right_text .text_widget ul li{
  font-weight: 700;
  font-size: 15px;
  padding: 0px 0px 0px 20px;
  position: relative;
}
.qb_sequence .sequence_detailds .sequence_right_text .text_widget ul>li:last-child{
  margin:0px;
}
.qb_sequence .sequence_detailds .sequence_right_text .text_widget  ul li:before{
  position: absolute;
  content: "";
  width: 15px;
  height: 15px;
  background:#ff643b;
  border-radius: 50%;
  top: 2px;
  left: 0px;
}
.qb_sequence .sequence_detailds .sequence_right_text .wrap_figure .mobile_com_img{
  max-width: 130px;
  width: 100%;
}
.qb_sequence .sequence_general>.sequence_detailds:nth-child(3) .sequence_right_text .text_widget{
  width: 100%;
}
.qb_sequence .sequence_general>.sequence_detailds:nth-child(3) .sequence_right_text .text_widget ul{
  display: flex;
  flex-wrap: wrap;
}
.qb_sequence .sequence_general>.sequence_detailds:nth-child(3) .sequence_right_text .text_widget ul li{
  width: 50%;
}
.qb_sequence .sequence_general>.sequence_detailds:nth-child(3) .sequence_right_text .text_widget ul>li:nth-child(1){
  width: 100%;
}
.qb_two_diagram_toppage{
  padding: 0px 0px 70px 0px;
  position: relative;
}
.two_diagram_general{
  position: relative;
}
.qb_two_diagram_toppage:before{
  position: absolute;
  content: "";
  background: url(../crescovn/img/solution/girl-percent-fix.jpg);
  width: 100%;
  height: 100%;
  top: 1px;
  background-size: cover;
  background-attachment: fixed;
}
.qb_two_diagram_toppage:after{
  position: absolute;
  content: "";
  width: 656px;
  height: 148px;
  background: url(../crescovn/img/solution/tamgiac-white-fig.png);
  left: 0px;
  right: 0px;
  top: 0px;
  margin: 0px auto;
}
.qb_two_diagram_toppage .qb_title{
  margin: 180px auto 50px auto;
  position: relative;
}
.qb_two_diagram_toppage .qb_note_diagram{
  display: table;
  margin: 0px auto 50px auto;
  text-align: center;
  font-style: normal;
  font-size: 16px;
  line-height: 24px;
  color: #fff;
}
.qb_two_protocol{
  padding: 70px 0px 50px 0px;
  background: #f9f9f9;
}
.qb_two_protocol .protocol_fees{
  font-size: 15px;
  line-height: 22px;
  font-weight: 700;
  padding: 25px 20px;
  width: 100%;
  margin: 0px auto;
  border: 1px dashed #ff7855;
}
.qb_two_protocol .protocol_fees .protocol_title{
  color: #ff7855;
  display: table;
  margin: 0px auto 10px auto;
  text-align: center;
}
.qb_two_protocol .protocol_fees .price_fees{
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 1100px;
  width: 100%;
}
.qb_two_protocol .protocol_fees .price_fees .me_ti{
  padding: 0px 10px 0px 0px;
  display: initial;
  margin: initial;
  text-align: initial;
  color: #000;
}
.qb_two_protocol .protocol_fees .price_fees ul{
  display: flex;
  align-items: center;
}
.qb_two_protocol .protocol_fees .price_fees ul li{
  display: flex;
  align-items: center;
  box-shadow: 0px 1px 10px 0px rgb(255 100 60 / 37%);
  border-radius: 50px;
  padding: 5px;
  margin: 0px 25px 0px 0px;
}
.qb_two_protocol .protocol_fees .price_fees ul>li:last-child{
  margin:0px;
}
.qb_two_protocol .protocol_fees .price_fees ul li strong{
  padding: 0px;
  color: #fff;
  background: #ff7855;
  display: inline-block;
  padding: 3px 15px;
  margin: 0px 15px 0px 0px;
  border-radius: 50px;
}
.qb_two_protocol .protocol_fees .price_fees ul li em{
  margin: 0px;
  margin-left: auto;
  font-style: normal;
}
.qb_two_setup{
  padding: 0px 0px 70px 0px;
  background: #f9f9f9;
  border-bottom: 1px solid #ececec;
}
.qb_two_setup .qb_title{
  margin: 0px auto 30px auto;
}
.qb_two_setup .two_setup_title{
  margin: 0px 0px 60px 0px;
  display: none;
}
.qb_two_setup .two_setup_title strong{
  display: table;
  margin: 0px auto;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
}
.qb_two_setup .two_setup_title strong span{
  color: #ff643b;
}
.qb_two_support{

}
.qb_two_support .support_title_box{
  margin: 0px 0px 30px 0px;
}
.qb_two_support .support_title_box strong{
  display: table;
  margin: 0px auto;
  font-size: 20px;
  line-height: 28px;
  text-align: center;
}
.two_support_general{
  padding: 30px 0px;
}
.qb_two_support .two_support_ct{
  display: flex;
}
.qb_two_support .two_support_ct .ct_left{
  width: 50%;
}
.qb_two_support .two_support_ct .ct_right{
  width: 50%;
}
.qb_two_support .two_support_ct .ct_right figure{
  width: 113px;
  height: 113px;
}
.qb_two_support .two_support_ct .ct_right figure img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.qb_two_support .two_support_ct .ct_left figure{}
.qb_two_support .two_support_ct .two_support_left_link{display: inline-block;background: #fff;color: #3F3B3A;font-weight: 700;border-radius: 50px;padding: 2px 10px;margin: 10px 0px 0px 0px;border: 2px solid #3F3B3A;}
.qb_two_support .two_support_ct .two_support_left_link img{
  max-width: 30px;
  width: 100%;
  position: relative;
  top: -1px;
  display: initial;
}
.mobile_interface table{
  width: 100%;
}
.qb_less_red{
  background: #ff7855;
}
.qb_red{
  background: #f04e30;
}
.mobile_interface table thead tr th,
.mobile_interface table tbody tr td{border: 1px solid #ff7855;padding: 15px 25px;font-weight: 700;font-size: 15px;}
.mobile_interface table thead tr th{text-align: center;color: #fff;font-size: 16px;}
.one_row_table_diagram table thead>tr:nth-child(2)>th:nth-child(1),
.qb_two_protocol .mobile_interface table thead>tr:nth-child(1)>th:nth-child(1){
  text-align: left;
}
.qb_two_protocol table thead tr>th:nth-child(4),
.qb_two_protocol table tbody tr>td:nth-child(4){

}
.qb_two_protocol .mobile_interface table tbody tr td  img{
  text-align: center;
  display: table;
  margin: 0px auto;
}
.qb_two_protocol table tbody tr>td:nth-child(1){
  color: #ff7855;
}
.one_row_table_diagram table tbody tr td{
  text-align: left;
  color: #000;
}
.qb_td_white{
  background: #fff;
}
.qb_td_pink{
  background: #fdece7;
}
.one_row_table_diagram table tbody tr>td:nth-child(1),
.one_row_table_diagram table tbody tr>td:nth-child(2),
.one_row_table_diagram table tbody tr>td:nth-child(3){
  width: 15%;
}
.one_row_table_diagram table tbody tr>td:nth-child(4){
  width: 55%;
}
.one_row_table_diagram table thead tr th h2{
  font-size: 22px;
  line-height: 30px;
  margin: 0px;
}
.one_row_table_diagram table thead tr th span{
  font-size: 15px;
  line-height: 23px;
}
.one_row_table_diagram .mobile_interface{
  margin: 0px 0px 30px 0px;
}
.qb_two_protocol .mobile_interface{
  margin: 0px 0px 30px 0px;
}
.mobile_interface{
  display: block;
  overflow: auto;
}
.tow_row_table_diagram{
  margin: 0px 0px 30px 0px;
}
.tow_row_table_diagram .row{
  margin: 0px;
}
.tow_row_table_diagram
 [class*="col-sm"]{
  padding: 0px;
}
.tow_row_table_diagram .tow_row_left{
  background: #fff;
  font-weight: 700;
}
.tow_row_table_diagram .tow_row_left .tow_row_left_title{
  text-align: center;
  padding: 15px 15px;
  height: 120px;
}
.tow_row_table_diagram .tow_row_left .tow_row_left_title h2{
  font-size: 33px;
  line-height: 41px;
  margin: 0px 0px 5px 0px;
  color: #ff7855;
  font-weight: 700;
}
.tow_row_table_diagram .tow_row_left .tow_row_left_title span{
  font-size: 17px;
  line-height: 25px;
  color: #000;
  font-weight: 700;
}
.tow_row_table_diagram .tow_row_left .tow_row_inside{height: 50px;line-height: 50px;padding: 0px 15px;font-size: 15px;border-right: 1px solid #dfdfdf;border-bottom: 1px dashed #dfdfdf;}
.tow_row_table_diagram .tow_row_left_ct>.tow_row_inside:nth-child(1),
.tow_row_table_diagram .tow_row_center_ct>.tow_row_inside:nth-child(1),
.tow_row_table_diagram .tow_row_right_ct>.tow_row_inside:nth-child(1){
  border: 1px solid #dfdfdf;
  border-left: none !important;
  font-size: 16px;
  color: #ff7855;
  background: #fdece7;
}
.tow_row_table_diagram .tow_row_left_ct>.tow_row_inside:last-child,
.tow_row_table_diagram .tow_row_center_ct>.tow_row_inside:last-child,
.tow_row_table_diagram .tow_row_middle_ct>.tow_row_inside:last-child,
.tow_row_table_diagram .tow_row_right_ct>.tow_row_inside:last-child,
.tow_row_table_diagram .tow_row_right_ct_diff>.tow_row_inside:last-child
{
/*  height: 100px;
  position: relative;*/
}

.tow_row_left_detailds .col-sm-3{
  width: 27%;
}
.tow_row_left_detailds .col-sm-6{width: 46%;}
.tow_row_right_ct .tow_row_inside{
  padding: 0px 0px 0px 40px !important;
  border-right: none !important;
}
.tow_row_middle{
  font-weight: 700;
  background: #f1f1f1;
}
.tow_row_title_red{
  font-size: 23px;
  height: 60px;
  line-height: 60px;
  color: #fff;
  text-align: center;
  position: relative;
}
.tow_row_title_red figure{
  top: 40px;
  position: absolute;
  left: 0px;
  right: 0px;
  margin: 0px auto;
}
.tow_row_title_red figure img{
	display: initial;
}
.tow_row_title_red figure strong{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  max-width: 250px;
  width: 100%;
  font-size: 17px;
  line-height: 36px;
  color: #f04e30;
}
.tow_row_middle .tow_row_middle_ct .tow_row_inside,
.tow_row_right_diff .tow_row_right_ct_diff .tow_row_inside{
      height: 50px;
      line-height: 50px;
      padding: 10px 15px;
      font-size: 15px;
      border-bottom: 1px dashed #dfdfdf;
}
.tow_row_right_ct_diff .tow_row_inside b{
  display: table;
  margin: 0px auto;
  color: #f04e30;
  font-weight: 700;
  line-height: 30px;
}
.tow_row_middle .tow_row_middle_ct>.tow_row_inside:nth-child(1){
  height: 110px;
  border-bottom: 1px solid #dfdfdf;
  padding: 10px 15px;
  position: relative;
}
.tow_row_middle .tow_row_middle_ct>.tow_row_inside:nth-child(1) strong{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  max-width: 200px;
  width: 100%;
}
.tow_row_right_diff .tow_row_right_ct_diff>.tow_row_inside:nth-child(1){
    height: 140px;
    border-bottom: 1px solid #dfdfdf;
    padding: 70px 15px 10px 15px;
}
.tow_row_middle .tow_row_middle_ct>.tow_row_inside:nth-child(1) strong,
.tow_row_right_diff .tow_row_right_ct_diff>.tow_row_inside:nth-child(1) strong{font-size: 19px;line-height: 27px;color: #5e5e5e;display: flex;align-items: center;justify-content: center;}
.tow_row_middle .tow_row_middle_ct>.tow_row_inside:nth-child(1) span strong,
.tow_row_right_diff .tow_row_right_ct_diff>.tow_row_inside:nth-child(1) span strong{font-size: 13px;display: inline-block;width: 40px;height: 40px;line-height: 40px;color: #fff;background: #ff7855;border-radius: 50%;margin: 0px 0px 0px 10px;text-align: center;}
.tow_row_middle .tow_row_middle_ct>.tow_row_inside:nth-child(1) strong b,
.tow_row_right_diff .tow_row_right_ct_diff>.tow_row_inside:nth-child(1) strong b{font-size: 25px;color: #ff7855;line-height: initial;}
.tow_row_middle .tow_row_middle_ct>.tow_row_inside:nth-child(1) strong sup,
.tow_row_right_diff .tow_row_right_ct_diff>.tow_row_inside:nth-child(1) strong sup{font-size: 12px;position: relative;top: -2px;left: -2px;}
.tow_row_inside img{
  display: table;
  margin: 0px auto;
}
.row_bnt {
  font-size: 23px;
  text-align: center;
  border-radius: 5px;
  color: #fff !important;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  max-width: 190px;
  width: 100%;
}
.tow_row_right_diff{
  background: #fbfbfb;
  font-weight: 700;
  position: relative;
  top: -30px;
  box-shadow: 0px 2px 35px 0px rgba(65, 65, 65, 0.21);
  transition:all 0.3s;
}
.tow_row_right_diff:hover{
  box-shadow: 0px 2px 35px 0px rgb(240 78 48 / 50%);
}
.two_setup_detailds{
  display: flex;
  display: none;
}
.two_setup_detailds .wrap_figure{
  width: 50%;
    padding: 0px 20px 0px 0px;
}
.two_setup_detailds .text_widget{
  width: 50%;
  padding: 0px 0px 0px 20px;
}
.two_setup_detailds .two_setup_ct{
  position: relative;
  margin: 0px 0px 30px 0px;
}
.two_setup_detailds .two_setup_ct .top_text_inside{
  position: absolute;
  top: 15px;
  width: 100%;
}
.two_setup_detailds .row>.col-sm-6:nth-child(2) .two_setup_ct .top_text_inside{
	top: 10px;
}
.two_setup_detailds .two_setup_ct .top_text_inside strong{color: #fff;font-style: normal;font-weight: 400;display: flex;justify-content: center;align-items: center;}
.two_setup_detailds .two_setup_ct .top_text_inside strong em{
  font-style: normal;
  position: relative;
  top: 5px;
  padding: 0px 5px 0px 0px;
}
.two_setup_detailds .two_setup_ct .top_text_inside strong b{font-family: lobster-rgl;font-size: 30px;padding: 0px 5px 0px 0px;font-weight: 400;}
.two_setup_detailds .two_setup_ct .top_text_inside strong sup{
  position: relative;
  top: 2px;
}
.two_setup_detailds .two_setup_ct .top_text_inside strong .vnd_currency{font-family: 'lobster-rgl';font-size: 18px;position: relative;margin: 0px 0px 10px 0px;display: inline-block;}
.two_setup_detailds .two_setup_ct .top_text_inside strong .percent_off{
  color: #ffed26;
  font-size: 14px;
  font-family: initial;
  position: absolute;
  right: 20px;
  bottom: 0px;
}
.two_setup_detailds .two_setup_ct .bottom_text_inside{position: absolute;text-align: center;left: 0px;right: 0px;bottom: 20px;}
.two_setup_detailds .two_setup_ct .bottom_text_inside strong{font-size: 20px;line-height: 28px;color: #000;display: table;margin: 0px auto 0px auto;}
.two_setup_detailds .two_setup_ct .bottom_text_inside b{font-size: 25px;line-height: 33px;color: #ff643b;font-weight: 700;display: table;margin: 0px auto;}
.setup_btn{
  display: table;
  margin: 0px auto;
}
.qb_qr{padding: 0px 0px 100px 0px;}
.qb_qr .vongveo_img img{
width: 100%;
}
.qb_qr .qr_general{
    position: relative;
}
.qb_qr .qr_general .qr_detailds{
  position: relative;
  z-index: 2;
}
.qb_qr .qr_general:after{
  position: absolute;
  content: "";
  background: url(../crescovn/img/solution/vongveo-circle.png);
  width: 198px;
  height: 201px;
  bottom: -80px;
  right: -80px;
  z-index: 1;
}
.qb_qr .qr_bg{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  max-width: 1000px;
  width: 100%;
}
.qb_qr .qr_bg h2{
  display: table;
  margin: 0px auto 30px auto;
  text-align: center;
  color: #fff;
  font-size: 30px;
  line-height: 38px;
  font-weight: 700;
}
.qb_qr .qr_bg .qr_ct{
  display: flex;
  align-items: center;
  justify-content: center;
}
.qb_qr .qr_bg .qr_ct strong{display: inline-block;font-size: 21px;line-height: 29px;color: #000;font-weight: 700;background: #fff;border-radius: 10px;height: 60px;line-height: 60px;}
.qb_qr .qr_bg .qr_ct>strong:nth-child(1){
  margin: 0px 20px 0px 0px;
}
.qb_qr .qr_bg .qr_ct>strong:nth-child(2){
  margin: 0px 0px 0px 20px;
  padding: 0px 55px;
}
.qb_qr .qr_bg .qr_ct strong a{color: #000;padding: 0px 75px;display: inline-block;}
.qb_qr .qr_bg .qr_ct>strong:nth-child(1) img{
  top: -3px;
}
.qb_qr .qr_bg .qr_ct>strong:nth-child(2) img{
max-width: 54px;
width: 100%;
}
.qb_qr .qr_bg .qr_ct strong img{
  margin: 0px 0px 0px 20px;
  position: relative;
  display: inline-block;
}
.update_soon{
display: table;
    margin: 30px auto 0px auto;
    text-align: center;
    text-transform: uppercase;
    color: #000;
    font-size: 30px;
    line-height: 38px;
}
.b_tenten{
	position: relative;
    font-size: 2.4rem;
    color: #fff;
    font-weight: 700;
    background-color: #ff643b;
    transition: background-color 0.5s, border 0.5s, color 0.5s;
    border: 0.1rem solid #fff;
    width: 100%;
    max-width: 360px;
    padding: 0px 15px;
    display: block;
    text-align: center;
}
.b_tenten:hover{
	    background-color: #fff;
    color: #ff643b;
    border: 0.1rem solid #ff643b;
}
.b_tenten:after{
	    content: "";
    background-image: url(common/img/icon_contact.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 1rem;
    height: 2rem;
    position: absolute;
    top: -4px;
    bottom: 0;
    right: 1rem;
    margin: auto;
}
.b_tenten:hover:after{
	    background-image: url(common/img/icon_contact_ov.svg);
}
.qb_vn .our_features h2,.qb_vn .why_vietnam h2{
	    font-size: 3.0rem;
}
.qb_vn .our_features_feature_column_circle h4,
.qb_en .our_features_feature_column_circle h4{
		    font-size: 4.0rem;
}
.qb_en .our_features_feature_column_circle h4{
	line-height:1.2;
}
.qb_vn .our_features_feature_column_circle .text_bold,
.qb_en .our_features_feature_column_circle .text_bold{
	 font-size: 1.5rem;
}
.qb_vn .our_features_feature_column_circle p,
.qb_en .our_features_feature_column_circle p{
	font-size: 1.3rem;
}
.qb_vn .our_mission_content .wp-block-group__inner-container,
.qb_en .our_mission_content .wp-block-group__inner-container{
	max-width: 676px;
}
/*END CSS CONTENT*/
/*CSS RESPONSIVE*/
@media (min-width:1601px) and (max-width: 1800px){
  .qb_tp .tp_general .text_widget h2{
    font-size: 45px;
    line-height: 53px;
  }
}
@media (min-width:1025px) and (max-width: 1600px){
	.tow_row_right_ct .tow_row_inside{
		padding: 0px 0px 0px 20px !important;
	}
	.qb_tp .tp_general{
		align-items: initial;
	}
  .qb_tp .tp_general .app_pos_img{
    right: -10%;
    top: 15%;
  }
  .qb_tp .tp_general .text_widget .tp_btn{
    font-size: 25px;
    line-height: 33px;
/*    padding: 10px 15px;
    margin: 50px auto 0px auto;*/
  }
  .qb_tp .tp_general .text_widget h2{
  max-width: 500px;
  font-size: 35px;
  line-height: 43px;
  }
  .qb_tp .tp_general .wrap_figure{
    position: relative;
  }
  .qb_tp .tp_general .text_widget{
    position: relative;
    top: 50px;
    width: 100%;
  }
}
@media (min-width:1025px) and (max-width: 1400px){
.tow_row_table_diagram .tow_row_left .tow_row_inside{
    font-size: 12px;
    line-height: 44px;
}
}
@media (min-width:1025px) and (max-width: 1365px){
	.qb_two_support .two_support_ct .ct_left{
		width: 60%;
	}
	.qb_two_support .two_support_ct .ct_right{
	width: 40%;
	}
    .tow_row_left{
    margin: 0px 0px 50px 0px;
  }
  .row_bnt{
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    display: table;
    margin: 0px auto;
    font-size: 20px;
    max-width: 150px;
  }
  .tow_row_table_diagram .tow_row_left_ct>.tow_row_inside:last-child, .tow_row_table_diagram .tow_row_center_ct>.tow_row_inside:last-child, .tow_row_table_diagram .tow_row_middle_ct>.tow_row_inside:last-child, .tow_row_table_diagram .tow_row_right_ct>.tow_row_inside:last-child, .tow_row_table_diagram .tow_row_right_ct_diff>.tow_row_inside:last-child{
    height: initial;
  }
    .tow_row_table_diagram>.row>.col-sm-3{
  }
  .tow_row_table_diagram>.row>.col-sm-6{
  }
  .qb_two_support .two_support_detailds .row>.col-sm-4:nth-child(1),
	  .qb_two_support .two_support_detailds .row>.col-sm-4:nth-child(3){}
	  .qb_two_support .two_support_detailds .row>.col-sm-4:nth-child(2){
		 }
	
  .qb_sequence .sequence_detailds .sequence_right_text .text_widget ul li:before{
    width: 10px;
    height: 10px;
    top: 5px;
  }
  .qb_sequence .sequence_detailds .sequence_left_text .text_inside h3{
    font-size: 30px;
    line-height: 38px;
  }
  .qb_sequence .sequence_detailds .sequence_right_text .text_widget ul li{
    font-size: 14px;
  }
  .qb_sequence .sequence_detailds .sequence_left_text .text_inside strong{
    font-size: 16px;
  }
}
@media (min-width: 768px) and (max-width: 1024px){
	.qb_cresco_news .ct_right ul li{
		margin: 0px 20px 0px 0px;
	}
  .tow_row_left{
    margin: 0px 0px 50px 0px;
  }
  .row_bnt{
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    display: table;
    margin: 0px auto;
    font-size: 20px;
    max-width: 150px;
  }
  .tow_row_table_diagram .tow_row_left_ct>.tow_row_inside:last-child, .tow_row_table_diagram .tow_row_center_ct>.tow_row_inside:last-child, .tow_row_table_diagram .tow_row_middle_ct>.tow_row_inside:last-child, .tow_row_table_diagram .tow_row_right_ct>.tow_row_inside:last-child, .tow_row_table_diagram .tow_row_right_ct_diff>.tow_row_inside:last-child{
    height: initial;
  }
    .tow_row_table_diagram>.row>.col-sm-3{
    width: 50%;
  }
  .tow_row_table_diagram>.row>.col-sm-6{
    width: 100%;
  }
  .qb_two_support .two_support_detailds .row .col-sm-4{
    width: 50%;
  }
  .qb_tp .tp_general .app_pos_img{
    top: 15%;
  }
}
@media (max-width: 1024px){
	.qb_cresco_news{
		padding: 20px 0px;
	}
  .qb_qr .qr_bg .qr_ct span{
  }
  .qb_qr .qr_bg h2{
    font-size: 20px;
    line-height: 28px;
    margin: 0px auto 20px auto;
  }
  .qb_qr .qr_bg{
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
  }
  .qb_qr .qr_general .qr_detailds  .vongveo_img{
    display: none;
  }
  .qb_qr .qr_general .qr_detailds{
    background: #ff643b;
    border-radius: 10px;
    padding: 15px;
  }
  .qb_qr{
    padding: 30px 0px 30px 0px;
  }
  .qb_tp .tp_general .text_widget .tp_btn{
    margin: 10px auto 0px auto;
    font-size: 20px;
    line-height: 28px;
    padding: 10px 15px;
  }
  .two_setup_detailds .two_setup_ct figure{
    display: table;
    margin: 0px auto;
  }
  .two_setup_detailds .text_widget{
    width: 100%;
    padding: 0px;
  }
  .two_setup_detailds .wrap_figure figure{
    display: table;
    margin: 0px auto;
  }
  .two_setup_detailds .wrap_figure{
    width: 100%;
    margin: 0px 0px 20px 0px;
    padding: 0px;
  }
  .two_setup_detailds{
    flex-direction: column;
  }
  .qb_two_diagram_toppage .qb_note_diagram{
    margin: 0px auto 20px auto;
  }
  .qb_two_protocol .protocol_fees .price_fees ul li{
    margin: 0px 0px 20px 0px;
  }
  .qb_two_protocol .protocol_fees .price_fees ul{
    flex-direction: column;
    align-items: initial;
  }
  .qb_two_setup .two_setup_title{
    margin: 0px 0px 20px 0px;
  }
  .tow_row_table_diagram .tow_row_left .tow_row_left_title span{
    font-size: 16px;
    line-height: 24px;
  }
  .tow_row_table_diagram .tow_row_left .tow_row_left_title h2{
    font-size: 25px;
    line-height: 33px;
  }
  .qb_two_setup{
    padding: 0px;
  }
  .qb_two_setup .two_setup_title strong,
  .qb_two_support .support_title_box strong{
    font-size: 16px;
    line-height: 24px;
  }
  .qb_two_setup .qb_title{
    margin: 0px auto 20px auto;
  }
  .qb_two_protocol{
    padding: 30px 0px;
  }
  .mobile_interface table thead tr th, .mobile_interface table tbody tr td{
    padding: 10px;
  }
  .mobile_interface table{
    width: 1200px;
  }
  .qb_title span{
    font-size: 16px;
    line-height: 24px;
  }
  .qb_two_diagram_toppage .qb_title{
    margin: 20px auto;
  }
  .qb_two_diagram_toppage:after{
    display:none;
  }
  .qb_sequence{
    padding: 0px 0px 30px 0px;
  }
  .qb_sequence .qb_title{
    margin: 30px auto;
  }
  .qb_tp{
    height: 650px;
  }
  .qb_tp .tp_general .app_pos_img{
    max-width: 300px;
    top: 20%;
    right: -10%;
  }
  .qb_tp .tp_general .app_mobile_img{
    max-width: 200px;
  }
  .bg_tp_qr{
    padding: 0px;
  }
  .mobile_interface{
    margin: 0px 0px 30px 0px;
  }
  .qb_two_diagram_toppage{
    padding: 30px 0px 0px 0px;
  }
  .qb_sequence .sequence_detailds .sequence_right_text .text_widget ul li:before{
    width: 10px;
    height: 10px;
    top: 5px;
  }
  .qb_sequence .sequence_detailds .sequence_right_text .text_widget ul li{
    font-size: 14px;
    line-height: 22px;
  }
  .qb_sequence .sequence_detailds .sequence_left_text .text_inside strong{
    font-size: 16px;
    line-height: 24px;
  }
  .qb_sequence .sequence_detailds.sequence_diff_detailds .sequence_left_text{
    padding: 20px 20px 0px 20px;
  }
  .qb_sequence .sequence_detailds.sequence_diff_detailds .sequence_left_bg{
    flex-direction: column;
  }
  .qb_sequence .sequence_diff_detailds.sequence_detailds .sequence_right_text{
    width: 100%;
    left: initial;
  }
  .qb_sequence .sequence_detailds .sequence_left_text .number_img{
  }
  .qb_sequence .sequence_detailds .whale_img{
    max-width: 100px;
  }
  .qb_sequence .sequence_detailds .sequence_left_text .text_inside h3{
    font-size: 20px;
    line-height: 28px;
  }
  .qb_sequence .sequence_detailds .sequence_left_text{
    padding: 20px 20px 20px 20px;
    width: 100%;
  }
  .qb_title{
    font-size: 20px;
    line-height: 28px;
    margin: 0px auto 20px auto;
  }
  .qb_tp .tp_general .text_widget h2{
    font-size: 25px;
    line-height: 33px;
    text-align: center;
    max-width: initial;
    margin: 0px 0px 20px 0px;
  }
  .qb_tp .tp_general .wrap_figure{
    position: relative;
    width: 100%;
    padding: 0px;
    top: initial;
    right: initial;
  }
  .qb_tp .tp_general .text_widget{
    width: 100%;
    position: relative;
    top: initial;
    left: 0%;
  }
  .qb_tp .tp_general{
    flex-direction: column;
    margin: 20px 0px 0px 0px;
  }  
}
@media (max-width: 767px){
	.qb_cresco_news .ct_right ul>li:last-child{
		margin:0px;
	}
	.qb_cresco_news .ct_right ul li{
		margin: 0px 0px 10px 0px;
	}
	.qb_cresco_news .ct_right ul{
		display: initial;
	}
	.qb_cresco_news .ct_left span{
		padding: 10px;
	}
	.qb_cresco_news .ct_left{
		max-width: initial;
		margin: 0px 0px 20px 0px;
	}
	.qb_cresco_news .qb_cresco_news_general{
		margin: 20px 0px 0px 0px;
		flex-direction: column;
	}
  .qb_qr .qr_bg .qr_ct>strong:nth-child(2){
    margin: 0px;
  }
  .qb_qr .qr_bg .qr_ct>strong:nth-child(1){
    margin: 0px 0px 20px 0px;
  }
  .qb_qr .qr_bg .qr_ct{
    flex-direction: column;
  }
  .qb_two_protocol .protocol_fees .price_fees ul li{
    font-size: 13px;
  }
  .qb_sequence .sequence_detailds .whale_img img{
    display: none;
  }
    .qb_two_protocol .protocol_fees .price_fees{
  }
  .tow_row_right_ct .tow_row_inside{
    padding: 0px 15px !important;
  }
  .tow_row_left_detailds{
    margin: 0px 0px 30px 0px;
  }
  .tow_row_middle{
    margin: 0px 0px 30px 0px;
  }
  .tow_row_right_diff{
    top: initial;
  }
  .row_bnt{
    position: relative;
    top: initial;
    left: initial;
    transform: initial;
    display: table;
    margin: 0px auto;
    font-size: 20px;
    max-width: 120px;
  }
  .tow_row_table_diagram .tow_row_left_ct>.tow_row_inside:last-child, .tow_row_table_diagram .tow_row_center_ct>.tow_row_inside:last-child, .tow_row_table_diagram .tow_row_middle_ct>.tow_row_inside:last-child, .tow_row_table_diagram .tow_row_right_ct>.tow_row_inside:last-child, .tow_row_table_diagram .tow_row_right_ct_diff>.tow_row_inside:last-child{
  height: initial;
}
    .tow_row_table_diagram .tow_row_left .tow_row_left_title{
    height: initial;
  }
    .tow_row_left_detailds .col-sm-6{
      width:100%;
    }
  .tow_row_left_detailds .col-sm-3{
    width:100%;
  }
  .qb_two_support .two_support_detailds .row>.col-sm-4:last-child{
    margin:0px;
  }
  .qb_two_support .two_support_detailds .row .col-sm-4{
    margin:0px 0px 20px 0px;
  }
  .ribbon_img{
    display: none;
  }
  .qb_sequence .sequence_detailds .wrap_figure{
    padding: 0px 20px 20px 20px;
  }
}
/*end-style-ldp-cresco*/

/* -------------------------------------------------------------------------- */
/*	12. プライバシーポリシー - privacy policy
/* -------------------------------------------------------------------------- */
.breadcrumb .container.is-nowrap {
	line-height: 1;
}
.qb_cresco_news.is-no-bg {
	background: none;
	padding: 5rem 0;
	font-family: 'Kozuka Gothic Pr6N', "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
}
.block-static-news:not(:last-child) {
	margin-bottom: 48px;
}
.block-static-news {
	font-size: 12px;
	color: #000;	
}
.block-static-news .context {
	line-height: 1.34;
}
.block-static-news .h2_icon {
	margin-bottom: 5rem;
	margin-right: 0;
}
.block-static-news p {
	margin-bottom: 16px;
	line-height: 1.34;
}
.block-static-news ol {
	margin-bottom: 16px;
}
.block-static-news ol li {
	position: relative;
	padding-left: 7px;
}
.block-static-news ol li::before {
	content: "";
    position: absolute;
    top: 7px;
    left: 0;
    background-color: #000;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    display: block;
}
.ml-4 {
	margin-left: 24px;
}
.fw-bold {
	font-weight: 700;
}
.block-static-news ul {
	margin-bottom: 16px;
}
.block-static-news ul {
	list-style: decimal;
	padding-left: 15px;
}
.block-static-news ul ul {
	list-style: none;
	counter-reset: list-counter;
	list-style: none;
	padding-left: 0;
}
.block-static-news ul ul li {
	counter-increment: list-counter; 
	position: relative; 
	padding-left: 26px;
}
.block-static-news ul ul li:before { 
	content: "(" counter(list-counter) ")"; 
	position: absolute; 
	left: 0;
	top: 0;
}
@media screen and (max-width: 782px) {
	.qb_cresco_news.is-no-bg {
		padding: 2.5rem 0;
	}
	.block-static-news .h2_icon {
		margin-bottom: 3rem;
	}
}
@media (min-width: 768px) {
	.block-static-news:not(:last-child) {
		margin-bottom: 92px;
	}
}
/* -------------------------------------------------------------------------- */
/*	13. お問い合わせ - trial
/* -------------------------------------------------------------------------- */
.form-check-custom {
	/* margin-bottom: 4px; */
	display: block;
}
.form-check-input {
	padding: 0;
	height: 100%;
	width: 100%;
	margin-bottom: 0;
	display: none;
	cursor: pointer;
}
.form-check-label {
	position: relative;
	cursor: pointer;
}
.form-check-label:before {
	content: "";
	-webkit-appearance: none;
	background-color: transparent;
	border: 1px solid #222;
	padding: 6px;
	display: inline-block;
	position: relative;
	top: -3px;
	vertical-align: middle;
	cursor: pointer;
	margin-right: 8px;
}
.form-check-input:checked+label::before {
	background-color: #ff643b;
	border-color: #ff643b;
}
.form-check-input:checked+label:after {
	content: "";
	display: block;
	position: absolute;
	top: 1px;
	left: 5px;
	width: 3px;
	height: 9px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(40deg);
}
.li--empty-header {
	padding-top: 6px;
}
.li--empty-header .contact_list_input {
	padding-left: 24rem;
}
@media screen and (max-width: 782px) {
	.li--empty-header .contact_list_input {
		padding-left: 0;
	}
}
.contact_submit_btn.disable .contact_btn a,
.contact_submit_btn input[type="submit"] {
	background-color: #9a9a9a;
}
.form-check-label a {
	text-decoration: underline;
	color: #5662f6;
}
/* .contact_list.trial_form input[type="text"],
.contact_list.trial_form input[type="tel"],
.contact_list.trial_form input[type="email"],
.contact_list.trial_form select {
	border-radius: 4px;
}
@media (min-width: 783px) {
	.contact_list.trial_form, .pb_form {
		padding-bottom: 4.5rem;
	}
	.contact_list.trial_form .li--mb-md-5 {
		margin-bottom: 5rem;
	}
	.trial_form .contact_list_head {
		width: 26rem;
	}
	.trial_form .li--empty-header .contact_list_input {
		padding-left: 26rem;
	}
	/* .contact_list.trial_form .contact_list_check {
		margin-top: -4px;
	} *
} */
.notice_list {
	padding-top: 2px;
	padding-left: 2rem;
	margin-bottom: -4px;
}
.notice_list > div {
	margin-top: 1rem;
}
@media screen and (max-width: 782px) {
	.notice_list {
		padding-left: 0;
		margin-bottom: 0;
	}
}

/* -------------------------------------------------------------------------- */
/*	14. お問い合わせ - C-rescue
/* -------------------------------------------------------------------------- */
.crescue-section {
	padding: 8rem 0;
}
.crescue-section h2 {
	font-size: 3.4rem;
	line-height: 1.38;
}
.wp-block-body {
	margin-top: 10rem;
}
.crescue-what-text {
	text-align: center;
	margin-bottom: 4rem;
}
.crescue-what-contents figure {
	margin-top: 5rem;
}
.crescue-features-gap-column {
	margin-top: 2rem;
	gap: 2rem !important;
}
@media screen and (max-width: 782px) {
	.crescue-section {
		padding: 5rem 0;
	}
	.crescue-section h2 {
		font-size: 2.25rem;
	}
}
.crescue-row {
	display: flex;
	flex-wrap: wrap;
	margin-left: -1.2rem;
	margin-right: -1.2rem;
	box-sizing: border-box;
}
.crescue-row.no-gutter {
	margin-left: 0;
	margin-right: 0;
}
.crescue-row.gap-2r {
	margin-left: -2rem;
	margin-right: -2rem;
}
.crescue-row>* {
	padding-left: 1.2rem;
	padding-right: 1.2rem;
	flex: 0 0 auto;
	flex-shrink: 0;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}
.crescue-row.no-gutter>* {
	padding-left: 0;
	padding-right: 0;
}
.crescue-row.gap-2r>* {
	padding-left: 2rem;
	padding-right: 2rem;
}
.crescue-col.crescue-col-4 {
	width: 33.333333%;
	max-width: 33.333333%;
}
.crescue-col.trial-col-left {
	width: 36.5%;
}
.crescue-col.trial-col-left .trial-package {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: calc(100% - 3px);
}
.crescue-col.trial-col-right {
	width: 63.5%;
}
.crescue-col.crescue-col-6 {
	width: 50%;
	max-width: 50%;
}
.crescue-col:last-child .package-amount {
	padding-right: 0;
	min-width: 169px;
}
.crescue-features-item {
	background-color: #fff;
	border-radius: 2rem;
	padding: 4rem;
	box-shadow: 0 0 8px rgb(0, 0, 0, 0.1);
	height: 100%;
	box-sizing: border-box;
}
.crescue-features-item-title {
	text-align: center;
	font-size: 2.4rem;
	margin-bottom: 1rem;
}
.crescue-features-item-image {
	display: flex;
	justify-content: center;
	margin-bottom: 3.5rem;
	margin-top: 3.5rem;
}
.crescue-function-badge {
	border-radius: 1rem;
	color: #fff;
	display: inline-block;
	padding: 0.9rem 2.4rem;
	font-weight: bold;
	font-size: 2.4rem;
}
.bg-dark-light {
	background-color: #575757;
}
.crescue-function-box {
	margin-bottom: 4rem;
}
.crescue-function-box:first-child {
	margin-bottom: 2rem;
}
.crescue-function-box-title {
	font-weight: 700;
	margin-top: 1rem;
	padding-bottom: 0.7rem;
	margin-bottom: 4rem;
	border-bottom: 1px solid #818181;
	font-size: 2.4rem;
}
.crescue-function-box-image img {
	margin-left: auto;
	margin-right: auto;
	/* margin: 5rem auto 0rem auto; */
	background: #fff;
}
@media screen and (max-width: 782px) {
	.crescue-col.crescue-col-4,
	.crescue-col.crescue-col-6,
	.crescue-col.trial-col-left,
	.crescue-col.trial-col-right {
		width: 100%;
		max-width: 100%;
	}
	.crescue-col.trial-col-left .trial-package {
		display: block;
		height: unset;
	}
	.crescue-features-item {
		height: auto;
		padding: 2rem;
		margin-bottom: 3rem;
	}
	.crescue-features-item-image {
		margin-top: 1rem;
	}
	.crescue-function-box-image img {
		margin-right: auto;
	}
	.crescue-function-badge {
		padding-top: 0.4rem;
		padding-bottom: 0.4rem;
	}
	.crescue-function-badge,
	.crescue-features-item-title {
		font-size: 1.6rem;
		margin-bottom: 2rem;
	}
	.crescue-function-box:first-child {
		margin-bottom: 4rem;
	}
	.crescue-function-box-title {
		font-size: 2.2rem;
		margin-bottom: 2rem;
	}
	.crescue-function-box-image {
		margin-top: 2rem;
	}

	.crescue-function-box-col {
		margin-top: 2rem;
	}
}
.trial-box {
	border-radius: 2rem;
	background-color: #fff;
	padding: 5.5rem 8.8rem;
}
.trial-package {
	display: inline-block;
}
.trial-package h3 {
	font-size: 2.4rem;
	font-weight: normal;
	margin-bottom: 2.6rem;
}
.trial-package-time {
	font-size: 3.5rem;
	margin-bottom: 3rem;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	line-height: 1.1;
	font-weight: 700;
	width: 260px;
}
.trial-package-price {
	font-size: 7.7rem;
	line-height: 0.8;	
	padding-left: 1rem;
	padding-right: 1rem;
}
.trial-package-button a {
	display: inline-block;
	position: relative;
	font-size: 2.4rem;
	color: #fff;
	line-height: inherit;
	font-weight: 700;
	background-color: #ff643b;
	transition: background-color 0.5s, border 0.5s, color 0.5s;
	border: 0.1rem solid #fff;
	min-width: 26rem;
	padding: 0.8rem 3rem;
}
.trial-package-button a::after {
	content: "";
	background-image: url(common/img/icon_contact.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 1rem;
	height: 2rem;
	position: absolute;
	top: -4px;
	bottom: 0;
	right: 1rem;
	margin: auto;
}
.trial-package-info {
	padding: 2rem 3.5rem 1rem;
	border-width: 1px 0;
	border-style: solid;
	border-color: #e6e6e6;
	margin-top: 1.2rem;
}
.trial-package-info-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 1.2rem;
}
.trial-package-info-item-index {
	width: 42px;
	height: 40px;
	border-radius: 0.8rem;
	background-color: #99c9f9;
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-wrap: wrap;
	line-height: 1.1;
	font-size: 12px;
	padding-top: 2px;
	font-weight: bold;
}
.trial-package-info-item-index .index {
	font-size: 1rem;
	font-weight: bold;
	display: block;
}
.trial-package-info-item-body {
	padding-left: 1.6rem;
	display: flex;
	flex: 1 1 auto;
	width: 1%;
	min-width: 0;
}
.trial-package-info-item-text {
	width: 70%;
	max-width: 70%;
	padding-right: 1rem;
}
.trial-package-info-item-str {
	width: 35%;
	max-width: 35%;
}
.trial-package-info-notice {
	margin-top: 0.5rem;
	padding-left: 4rem;
}
.fee-box {
	padding-top: 4rem;
}
.fee-box-title {
	margin-bottom: 5.5rem;
}
.fee-col-left {
	width: 30%;
	max-width: 30%;
	margin-bottom: 1.2rem;
}
.fee-col-plus {
	width: 86px;
	margin-bottom: 1.2rem;
}
.fee-col-right {
	flex: 1 1 auto;
	width: 1%;
	min-width: 0;
}
.fee-oc-list .crescue-col {
	margin-bottom: 1.2rem;
}
.panel {
	border-radius: 2rem;
	background-color: #fff;
	box-shadow: 0 0 8px rgb(0, 0, 0, 0.1);
	height: 100%;
}
.panel-header {
	border-top-left-radius: 2rem;
	border-top-right-radius: 2rem;
	background-color: #99c9f9;
	padding: 1.4rem 1rem;
	text-align: center;
	font-weight: 700;
	/* font-size: 1.8rem; */
}
.panel.gray .panel-header {
	background-color: #575757;
	color: #fff;
}
.panel-header-title {
	display: inline-block;
	margin-bottom: 0;
	font-size: 2rem;
	line-height: 1.4;
	font-weight: bold;
	margin-left: 35px;
	min-width: 179px;
	text-align: left;
}
.panel.gray .panel-header-title {
	margin-left: 0;
	text-align: center;
}
.panel-gray-body {
	padding: 5rem 3rem 3rem;
}
.panel-body {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 1rem;
}
.oc-list-style {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
	min-height: 16rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
.oc-list-style li {
	padding: 0 1.2rem;
}
.package {
	/* margin-bottom: 1.2rem; */
	display: flex;
    justify-content: center;
    margin-left: -1rem;
    margin-right: -1rem;
}
.package-quanlity {
	text-align: right;
    padding-top: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
}
.package-amount {
	display: flex;
    padding-left: 1rem;
    padding-right: 1rem;
}
.package-price {
	font-size: 4rem;
	font-weight: bold;
	line-height: 1.1;
}
.text-center {
	text-align: center;
}
.oc-meta-text {
	font-size: 1.2rem;
}		
.fee-col-plus {
	display: flex;
	justify-content: center;
}
.fee-plus {
	width: 5.4rem;
	height: 5.4rem;	
	background-image: url(img/solution/c-rescue/ico-plus.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	margin-top: auto;
	margin-bottom: auto;
}
@media screen and (max-width: 1199px) {
	.fee-plus {
		width: 4.2rem;
		height: 4.2rem;	
	}
	.fee-col-plus {
		width: 62px;
	}
}
.psummary {
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
}
.psummary-col2 {
	text-align: center;
	font-size: 7rem;
	font-weight: bold;
	line-height: 0.8;
	padding-left: 1.6rem;
	padding-right: 1.6rem;
}
.price-str, .unit-str {
	font-family: Verdana, Geneva, Tahoma, sans-serif;
}
.price-str {
	font-size: 3rem;
	line-height: 1;
	font-weight: bold;
}
.unit-str {
	font-weight: bold;
	font-size: 2rem;
	position: relative;
	top: -2px;
}
.psummary-sub-label {
	margin-top: 0.6rem;
}
.panel hr {
	border-color: #e6e6e6;
	margin-top: 2.8rem;
	margin-bottom: 3rem;
}
.psummary-detail {
	font-weight: 700;
}
.psummary-detail-item {
	display: flex;
	padding-left: 1rem;
	margin-bottom: 1.8rem;
}
.psummary-detail-item-col1 {
	width: 65%;
	position: relative;
	padding-left: 2.6rem;
	line-height: 1.4;
}
.psummary-detail-item-col1::before {
	content: "";
	display: block;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background-color: #99c9f7;
	position: absolute;
	top: 0.6rem;
	left: 0;
}
.psummary-detail-item-col2 {
	width: 35%;
	line-height: 1.4;
}
.psummary-notice {
	margin-top: 2.4rem;
	font-size: 1.2rem;
}
.fee-box-notice {
	font-size: 1.2rem;
	line-height: 1.4;
}
.package {
	font-weight: 700;
}
.package-amount-yy {
	margin-top: -0.6rem;
}
.fee-packages {
  position: relative;
}
.human-search {
  position: absolute;
  right: 23.8rem;
  bottom: 100%;
  width: 10.9rem;
  height: 12.9rem;
}
@media screen and (max-width: 1023px) {
	.trial-box {
		padding: 4rem;
	}
	.fee-col-left,
	.fee-col-plus,
	.fee-col-right {
		width: 100%;
		max-width: 100%;
	}
	.human-search {
	  display: none;
	}
}
@media screen and (max-width: 782px) {
	.trial-box {
		padding: 2rem;
	}
	.trial-package h3 {
		margin-bottom: 1.3rem;
		max-width: 260px;
		margin-left: auto;
		margin-right: auto;
	}
	
	/* .trial-package-time {
		font-size: 2.4rem;
	}
	.trial-package-price {
		font-size: 5rem;
	} */
	.trial-package-price {
		padding-right: 0px;
	}
	.trial-package-time {
		margin-left: auto;
		margin-right: auto;
	}
	.trial-package-button {
		text-align: center;
	}
	.trial-package-button a {
		padding: 0.8rem calc(100vw / 25);
		width: 100%;
		max-width: 188px;
		font-size: 1.8rem;
	}
	.trial-package-info {
		padding-left: 0;
		padding-right: 0;
	}
	.trial-package-button a::after {
		top: -1px;
	}
	.trial-package-info-item {
		align-items: flex-start;
	}
	.trial-package-info-item-body {
		padding-left: 1rem;
	}

	.trial-package-info-item-text,
	.trial-package-info-item-str {
		width: 100%;
		max-width: 100%;
		padding-right: 0;
		display: flex;
		align-items: flex-end;
	}
	.fee-box-title {
		margin-bottom: 2.5rem;
	}
	.panel-gray-body {
		padding: 2rem;
	}
	.psummary-col2 {
		font-size: 5rem;
	}
	.panel hr {
		margin-top: 1.5rem;
		margin-bottom: 1.5rem;
	}
	.oc-list-style {
		min-height: 8rem;
	}
	.psummary-detail-item {
		justify-content: center;
		padding-left: 0;
	}
	.psummary-notice {
		display: flex;
		justify-content: center;
	}
}



.crescue-dedicated {
	text-align: center;
	font-size: 16px;
}
.crescue-dedicated .contact_btn a {
	border-radius: 0;
	max-width: 188px;
	padding: 0.8rem calc(100vw / 25);
}
.mt-16 {
	margin-top: 1rem;
}
@media (min-width: 768px) {
	.crescue-dedicated .contact_btn a {
		width: 38rem;
		padding: 0.8rem 10rem;
		max-width: unset;
	}
}
.table {
	width: 100%;
	border-collapse: collapse;
}
.table input[type="radio"] {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border-color: #000;
	padding: 0;
    display: block;
    margin: 0 auto;
}
.group-tables {
	padding: 7rem;
	box-shadow: 0 0 8px rgb(0, 0, 0, 0.1);
	border-radius: 2rem;
	margin-bottom: 2rem;
	overflow-x: auto;
	overflow-y: hidden;
  }
  @media screen and (max-width: 1200px) {
	.group-tables {
	  padding: 4rem;
	}
  }
  .group-tables input[type="radio"] {
	-webkit-appearance: initial;
  }
  .group-tables .table {
	width: 100%;
	vertical-align: top;
	min-width: 600px;
  }
  .table > :not(caption) > * > * {
	padding: 0.8rem;
	background-color: #fff;
	border-bottom: 1px solid #a6a6a6;	
  }
  .table > tbody {
	vertical-align: inherit;
  }
  .table > thead {
	vertical-align: bottom;
  }
  .table > thead th {
	font-weight: 700;
  }
  .border-bottom-none {
	border-bottom-color: transparent !important;
  }
  .checked-info {
	position: relative;
  }
  .checked-circle {
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	border: 2px solid #000;
	display: inline-block;
  }
  .note {
	position: absolute;
	top: 0.2rem;
	left: 50%;
	padding-left: 20px;
	line-height: 1.3;
  }
  .group-table-notice {
	font-size: 1.2rem;
	line-height: 1.4;
  }
.middle-content {
	display: flex;
	align-items: center;
	justify-content: center;
}
.middle-content .package {
	margin-left: 0;
	margin-right: 0;
}
.fw-700 {
	font-weight: 700 !important;
}
/* -------------------------------------------------------------------------- */
/*	15. Seminar top_フォルダー
/* -------------------------------------------------------------------------- */
.section-seminar-product {
	padding-bottom: 4rem;
	font-size: 1.4rem;
}

.list-group-anpha {
	list-style: none;
	padding-left: 0;
	margin-top: 3rem;
	margin-bottom: 0;
}

.list-group-anpha li {
	font-size: 2rem;
	font-weight: bold;
	padding-left: 3.5rem;
	position: relative;
	margin-bottom: 2rem;
}

.list-group-anpha li:last-of-type {
	margin-bottom: 0;
}

.list-group-anpha li::before {
	content: "";
	display: block;
	width: 2.6rem;
	height: 2.6rem;
	background-image: url(common/img/ico-check-circle.png);
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: 100% 100%;
	position: absolute;
	/* top: 0.6rem; */
	top: 0.4rem;
	left: 0;
}

.crescue-col.crescue-col-7,
.crescue-col.crescue-col-5 {
	width: 100%;
}

.seminar-main-button a {
	position: relative;
	font-size: 1.8rem;
	color: #fff;
	line-height: inherit;
	font-weight: 700;
	background-color: #ff643b;
	transition: background-color 0.5s, border 0.5s, color 0.5s;
	border: 0.1rem solid #fff;
	width: 100%;
	max-width: 295px;
	padding: 0.8rem calc(100vw / 18);
}

.seminar-main-button a:hover {
	background-color: #fff;
	color: #ff643b;
	border: 0.1rem solid #ff643b;
}
.seminar-main-button a:hover::after {
	background-image: url(common/img/icon_contact_ov.svg);
}

.seminar-main-button a::after {
	content: "";
	background-image: url(common/img/icon_contact.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	width: 1rem;
	height: 2rem;
	position: absolute;
	top: -4px;
	bottom: 0;
	right: 1rem;
	margin: auto;
}

.seminar-main-button {
	margin-top: 2rem;
}

.section-seminar-what {
	margin-bottom: 4.5rem;
	font-size: 14px;
}

.section-seminar-what .seminar-main-button {
	margin-top: 4.5rem;
	text-align: center;
}

.align-items-center {
	align-items: center;
}

.list-group-numberic {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
	counter-reset: list-num;
}

.list-group-numberic li {
	margin-bottom: 0.5rem;
	position: relative;
	padding-left: 4rem;
}

.list-group-numberic li::before {
	counter-increment: list-num;
	content: "0" counter(list-num);
	margin-right: 0.5em;
	color: #ff643b;
	font-size: 2rem;
	line-height: 1.2;
	position: absolute;
	top: 6px;
	left: 0;
	font-weight: bold;
}

.list-group-numberic li:last-of-type {
	margin-bottom: 0;
}

.list-group-numberic-content h3 {
	margin-bottom: 0;
	font-size: 2rem;
	font-weight: bold;
}
.list-group-numberic .list-unstyle-view {
	margin-top: 1.5rem;
	margin-bottom: 4rem;
}
@media (max-width: 767px) {
	.list-group-numberic .list-unstyle-view table,
	.list-group-numberic .list-unstyle-view table tbody,
	.list-group-numberic .list-unstyle-view  table tr,
	.list-group-numberic .list-unstyle-view table th,
	.list-group-numberic .list-unstyle-view table td {
		display: block;
		width: 100%;
	}
}
@media (min-width: 768px) {
	.list-group-numberic .list-unstyle-view table tbody th {
		white-space: nowrap;
	}
}
.seminar-product-figure {
	margin-top: 40px;
}
@media (min-width: 783px) {
	.seminar-product-figure {
		margin-top: 0;
	}
}
.recruit_info_table .recruit_info_table_block .table_dark {
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
}

.recruit_info_table_block.end {
	border-bottom-width: 0 !important;
	justify-content: flex-end;
}

.seminar-schedule .recruit_info_table {
	box-shadow: 0 0 16px rgb(0, 0, 0, 0.16);
}

.schedule-col-1,
.schedule-col-2,
.schedule-col-3 {
	width: 100%;
}

.schedule-item {
	border-bottom: 0.1rem solid #cccccc;
	padding: 2.0rem 0;
}

.schedule-btn-group {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
}

.schedule-btn-primary {
	border-radius: 8px;
	padding: 0.4rem 0.7rem;
	min-width: 9rem;
	display: inline-block;
	text-align: center;
	font-weight: bold;
	color: #fff;
	background-color: #4377ec;
	font-size: 1.4rem;
}

.schedule-btn-primary:hover {
	background-color: #2360e7;
}

.schedule-btn-primary.disable,
.schedule-btn-primary.disable:hover {
	background-color: #b4beca;
}

@media (min-width: 783px) {
	.section-seminar-product {
		padding-bottom: 8rem;
	}

	.list-group-anpha {
		margin-top: 4rem;
	}

	.list-group-anpha li {
		font-size: 2rem;
		/* padding-left: 5.5rem; */
		padding-left: 3.5rem;
	}

	.list-group-anpha li::before {
		width: 2.6rem;
		height: 2.6rem;
	}

	.list-unstyle-view table th {
		padding-right: 2rem;
		font-weight: normal;
	}

	.crescue-col.crescue-col-7 {
		width: 58.33333333%;
	}

	.crescue-col.crescue-col-5 {
		width: 41.66666667%;
	}

	.seminar-main-button a {
		width: 44rem;
		padding: 0.8rem 6rem;
		font-size: 2.4rem;
		max-width: unset;
	}

	.seminar-main-button {
		margin-top: 4rem;
	}

	.section-seminar-what {
		margin-bottom: 9rem;
	}

	.section-seminar-what .seminar-main-button {
		margin-top: 9rem;
	}

	.list-group-numberic-content h3 {
		font-size: 3rem;
	}

	.list-group-numberic li {
		padding-left: 6rem;
	}

	.list-group-numberic li::before {
		font-size: 3rem;
		top: 9px;
	}

	.recruit_info_table .recruit_info_table_block .table_dark {
		font-size: 2.4rem;
		text-align: left;
	}

	.schedule-col-1 {
		width: 22%;
	}

	.schedule-col-2 {
		width: 28%;
	}

	.schedule-col-3 {
		width: 50%;
	}
}

@media (min-width: 1024px) {
	.schedule-btn-primary {
		flex: 1;
	}
}
.pl-1 {
	padding-left: 1rem;
}
@media screen and (max-width: 782px) {
	.contact_list_input.contact_list_input_btn {
		text-align: center;
	}
}
.crescue-fields .table {
	font-size: 1.4rem;
	line-height: 2rem;
}
.crescue-fields .table > :not(caption) > * > * {
	padding: .5em;
}
.py-0 {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
/**
*
* 20250214 Luv start add
*/
.contact_btn.manual_btn a{
	color: transparent;
	background-repeat: no-repeat;
	background-size: 50%;
	background-position: center;
}
.contact_btn.manual_btn:hover a{
	color: transparent;
}
.crescue-button-float{
	position: fixed;
	z-index: 1000;
	bottom: 10rem;
	right: 2rem;
	background-color: #cccccc;
	padding: 1rem 2rem;
	border: solid 3px var(--wp--preset--color--luminous-vivid-orange);
	border-radius: 2rem;
	max-width: 90px;
	font-size: 1rem;
    font-weight: 700;
	text-align: center;
	font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Noto Sans JP", "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	opacity: 0.8;
}
.crescue-button-float> a{
	margin: 0.5rem 0;
}
.manual_btn a{
	background-color: #ffffff;
}
.manual_btn a img{
	height: 1.75em;
	width: auto;
}
.manual_btn a::after{
	background-image: url(common/img/icon_contact_ov.svg);
}
.manual_btn a:hover::after{
	background-image: url(common/img/icon_contact_ov.svg);

}

.footer-btn .container:first-child{
	margin-bottom: 1rem;
}

@media (min-width: 768px){
	.footer-btn{
		display: flex;
		justify-content: space-around;
	}
}
@media (min-width: 1200px){
	.footer-btn{
		max-width: 1250px;
		margin: 0 auto;
	}
}
/* ==========================================================================
   F-017 — Snow Monkey Forms styled to match the legacy CRESCO contact form.
   The old MW WP Form used .contact_list/.input_block markup; Snow Monkey emits
   .smf-* markup, so these rules re-apply the two-column layout, field colours
   and submit button onto the new classes. Scoped to .snow-monkey-form.
   ========================================================================== */
.snow-monkey-form .smf-form {
	max-width: none;
}
/* Each field: label column (left) + control column (right), like .contact_list>li */
.snow-monkey-form .smf-item {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	margin-bottom: 4rem;
}
/* Multi-line / grouped fields align their label to the top */
.snow-monkey-form .smf-item:has(textarea),
.snow-monkey-form .smf-item:has(.smf-checkboxes-control) {
	align-items: flex-start;
}
.snow-monkey-form .smf-item:has(textarea) .smf-item__col--label {
	padding-top: 1rem;
}
.snow-monkey-form .smf-item__col--label {
	width: 24rem;
	flex-shrink: 0;
	padding-right: 2rem;
	box-sizing: border-box;
}
/* Label text left, 必須/任意 badge right — like .contact_list_head */
.snow-monkey-form .smf-item__label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
}
.snow-monkey-form .smf-item__label__text {
	font-size: 1.6rem;
	font-weight: 700;
	color: #212121;
	line-height: 2.8rem;
}
/* Legacy set line-height:1.2 inline on any <p class="label"> that had a
   manual <br> (2-line labels), instead of the default 2.8rem single-line one. */
.snow-monkey-form .smf-item__label__text:has( br ) {
	line-height: 1.2;
}
/* Required / optional badge, re-created from the control's data-validations
   (the old markup had a literal <span class="required">). Localised by page
   language so the EN/VN forms don't show Japanese badges. */
.snow-monkey-form .smf-item:has( .smf-item__col--controls [data-validations~="required"] ) .smf-item__label::after,
.snow-monkey-form .smf-item:not( :has( .smf-item__col--controls [data-validations~="required"] ) ) .smf-item__label::after {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	min-width: 4rem;
	height: 2.4rem;
	padding: 0 .6rem;
	box-sizing: border-box;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
}
.snow-monkey-form .smf-item:has( .smf-item__col--controls [data-validations~="required"] ) .smf-item__label::after {
	content: "必須";
	background-color: #ff643b;
	color: #fff;
}
.snow-monkey-form .smf-item:not( :has( .smf-item__col--controls [data-validations~="required"] ) ) .smf-item__label::after {
	content: "任意";
	background-color: #ffffff;
	color: #000000;
	line-height: 1.75;
	font-size: inherit;
}
.snow-monkey-form:lang(en) .smf-item:has( .smf-item__col--controls [data-validations~="required"] ) .smf-item__label::after { content: "Req."; }
.snow-monkey-form:lang(en) .smf-item:not( :has( .smf-item__col--controls [data-validations~="required"] ) ) .smf-item__label::after { content: "Opt."; }
.snow-monkey-form:lang(vi) .smf-item:has( .smf-item__col--controls [data-validations~="required"] ) .smf-item__label::after { content: "Req."; }
.snow-monkey-form:lang(vi) .smf-item:not( :has( .smf-item__col--controls [data-validations~="required"] ) ) .smf-item__label::after { content: "Tùy chọn"; }
/* Entry VN (body.cvn-required-badge-jp, set in header.php): its content was
   never localized (still 100% Japanese) so its required badge shows "必須"
   like the JP form, overriding the "Req." used by the other, actually
   translated VN forms above. */
body.cvn-required-badge-jp .snow-monkey-form:lang(vi) .smf-item:has( .smf-item__col--controls [data-validations~="required"] ) .smf-item__label::after { content: "必須"; }
/* Consent checkbox rows carried no 必須/任意 badge in the legacy form. */
.snow-monkey-form .smf-item:has( .smf-checkboxes-control ) .smf-item__label::after {
	display: none !important;
	content: none !important;
}
/* プライバシーポリシー row was <li class="mb-0" style="padding-top: 10px">
   in legacy — mb-0 is applied via the item block's own className (see
   build-2245-trial-jp.php), this covers the inline padding-top only. */
.snow-monkey-form .smf-item--pt-10 {
	padding-top: 1rem;
}
/* お問い合わせ (free-text inquiry textarea) is optional but shows no 必須/任意 badge either. */
.snow-monkey-form .smf-item:has( .smf-item__col--controls textarea ) .smf-item__label::after {
	display: none !important;
	content: none !important;
}
/* Radio buttons (desired_position etc.): the required-error message
   (.smf-error-messages) is a sibling of .smf-radio-buttons-control inside
   .smf-placeholder — flex it so the message sits beside the options instead
   of wrapping to its own line below them. */
.snow-monkey-form .smf-item:has( .smf-radio-buttons-control ) .smf-placeholder {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 1rem;
}
/* .smf-radio-buttons-control is a few px taller than the visible label text
   (inline-block "phantom" line-box space from the horizontal layout), so
   align-items:center centered the shorter .smf-error-messages a few px below
   the label instead of level with it. flex-start (above) fixes that; also
   zero the plugin's default margin-top on the message so it doesn't add its
   own extra offset from the top. */
.snow-monkey-form .smf-item:has( .smf-radio-buttons-control ) .smf-placeholder .smf-error-messages {
	margin-top: 0;
}
/* Radio button appearance (was .input_radio / input[type="radio"]): plain
   browser radios by default, since app.css ships no styling for them at
   all. Recreate the legacy 2rem ring + orange dot when checked. */
.snow-monkey-form .smf-radio-buttons-control__control {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	height: 2.8rem;
	gap: 3rem;
}
.snow-monkey-form .smf-label {
	display: flex;
	align-items: center;
	margin: 0 !important;
}
.snow-monkey-form .smf-radio-button-control {
	display: flex;
	align-items: center;
	gap: 0 !important;
	height: 28px;
}
.snow-monkey-form .smf-radio-button-control__control {
	display: inline-block;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	position: relative;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	box-shadow: none;
	background-color: #f4f4f8 !important;
	margin: auto 10px auto 0 !important;
}
.snow-monkey-form .smf-radio-button-control__control:focus {
	outline: none;
	box-shadow: none;
}
.snow-monkey-form .smf-radio-button-control__control::after {
	content: "";
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	background-color: transparent;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
}
.snow-monkey-form .smf-radio-button-control__control:checked::after {
	background-color: #ff643b;
}
/* The plugin's own default (.smf-error-messages { margin-top: var(--_margin-2) })
   leaves a noticeably loose gap above the validation message. Tighten it here so
   it sits closer to the field across all control types (text/select/textarea etc.);
   radio and checkboxes below override this further with their own layout needs. */
.snow-monkey-form .smf-error-messages {
	margin-top: .1rem;
}

.snow-monkey-form .smf-item__col--controls {
	flex: 1;
	width: 100%;
	min-width: 0;
}
/* Make the select wrappers span the control column like the text inputs */
.snow-monkey-form .smf-select-control,
.snow-monkey-form .smf-text-control,
.snow-monkey-form .smf-textarea-control {
	display: block;
	width: 100%;
}
/* Orange down-triangle on selects (was .input_select::after) */
.snow-monkey-form .smf-select-control {
	position: relative;
}
/* Snow Monkey renders its own toggle chevron via JS (inline style) — hide it
   so only the orange triangle shows. */
.snow-monkey-form .smf-select-control__toggle {
	display: none !important;
}
.snow-monkey-form .smf-select-control__control {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 4rem;
}
.snow-monkey-form .smf-select-control::after {
	content: "";
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 0;
	transform: translate(-50%, -50%);
	border-top: 1.5rem solid #ff643b;
	border-left: 1rem solid transparent;
	border-right: 1rem solid transparent;
	pointer-events: none;
}
/* Field colours (was .contact_list_input input/select/textarea).
   background-color and border-radius are !important because the plugin's
   own per-block CSS (dist/blocks/{text,select,textarea}/style-index.css —
   .smf-form .smf-text-control__control etc.) ties on specificity and loads
   after this stylesheet via wp_head(), so it would otherwise win and show
   its white background / var(--_global--border-radius) (3px) on load. */
.snow-monkey-form .smf-text-control__control,
.snow-monkey-form .smf-select-control__control,
.snow-monkey-form .smf-textarea-control__control,
.snow-monkey-form input[type="text"],
.snow-monkey-form input[type="email"],
.snow-monkey-form input[type="tel"],
.snow-monkey-form input[type="url"],
.snow-monkey-form textarea,
.snow-monkey-form select {
	width: 100%;
	background-color: #f4f4f8 !important;
	border: 1px solid #cccccc;
	border-radius: 0 !important;
	box-sizing: border-box;
	font-size: 1.6rem;
	padding: 1rem;
	height: 5rem;
	line-height: 1.4;
	color: #212121;
}
/* Textarea keeps the legacy tall height */
.snow-monkey-form .smf-textarea-control__control,
.snow-monkey-form textarea {
	height: 26rem;
	line-height: 1.4;
	margin-bottom: 9px;
}
/* Consent checkboxes (privacy / terms): indent to line up with the input column,
   like the legacy row whose empty .contact_list_head pushed it right. */
.snow-monkey-form .smf-item--divider {
	display: block;
	margin-bottom: 4rem;
	padding-top: 6px;
	padding-left: 24rem;
}
.snow-monkey-form .smf-item--divider .smf-item__col--controls {
	width: 100%;
}
/* Consent checkbox layout — applies to ANY checkbox field (the seminar's
   full-width divider AND the trial's labelled rows). The checkbox
   (.smf-checkboxes-control) and the linked sentence (.smf-control-description)
   are siblings inside .smf-placeholder — flex it so they sit on one line:
   ☐ プライバシーポリシーに同意する. Snow Monkey escapes the control label, so the
   sentence + inline link comes from the item description; the escaped label is
   hidden. */
.snow-monkey-form .smf-item:has( .smf-checkboxes-control ) .smf-placeholder {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	column-gap: .8rem;
	row-gap: .3rem;
}
.snow-monkey-form .smf-item:has( .smf-checkboxes-control ) .smf-checkboxes-control {
	width: auto;
	flex: 0 0 auto;
}
.snow-monkey-form .smf-item:has( .smf-checkboxes-control ) .smf-checkbox-control__label {
	display: none;
}
.snow-monkey-form .smf-item:has( .smf-checkboxes-control ) .smf-control-description {
	margin-top: 0;
	flex: 0 1 auto;
}
/* The required-checkbox error message (.smf-error-messages) is a 3rd sibling
   in .smf-placeholder — force it onto its own full-width row below the
   checkbox + consent sentence instead of sitting inline beside them. Zero its
   margin-top since .smf-placeholder's row-gap above already provides the
   (now-tightened) spacing to that row. */
.snow-monkey-form .smf-item:has( .smf-checkboxes-control ) .smf-error-messages {
	flex-basis: 100%;
	margin-top: 0;
}
/* Custom checkbox box matching the legacy .form-check-label::before
   (14px square, 1px #222 border, orange fill + white tick when checked).
   border-radius:0 needs !important — dist/blocks/checkboxes/style-index.css
   sets border-radius:3px on the same class, tied specificity, loads later.
   The plugin's :checked::before supplies the check mark. */
.snow-monkey-form .smf-item:has( .smf-checkboxes-control ) .smf-checkbox-control__control {
	appearance: none;
	-webkit-appearance: none;
	position: relative;
	width: 1.4rem;
	height: 1.4rem;
	margin: 0;
	border: 1px solid #222;
	border-radius: 0 !important;
	background: #fff;
	cursor: pointer;
	flex-shrink: 0;
	margin-right: 6.5px;
}
.snow-monkey-form .smf-item:has( .smf-checkboxes-control ) .smf-checkbox-control__control:checked {
	background: #ff643b;
	border-color: #ff643b;
}
.snow-monkey-form .smf-item:has( .smf-checkboxes-control ) .smf-checkbox-control__control:checked::before {
	visibility: hidden;
}
.snow-monkey-form .smf-item:has( .smf-checkboxes-control ) .smf-checkbox-control__control:checked::after {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
    left: 4px;
    width: 5px;
    height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(40deg);
}
.snow-monkey-form .smf-control-description {
	font-size: 1.6rem;
	line-height: 2.8rem;
	color: #212121;
}
.snow-monkey-form .smf-control-description a {
	color: #5662f6;
	text-decoration: underline;
}
/* Multi-line field note (e.g. Kintone Access URL) — mirrors the legacy
   .notice_list: 16px dark text, each line spaced, slightly indented. */
.snow-monkey-form .smf-control-description:has( > div ) {
	padding-top: 2px;
	padding-left: 2rem;
	margin-bottom: -4px;
}
@media screen and (max-width: 782px) {
	.snow-monkey-form .smf-control-description:has( > div ) {
		padding-left: 0;
		margin-bottom: 0;
	}
}
/* Fields with a multi-line note (e.g. Kintone Access URL) top-align their
   label with the input instead of centering it against the whole note block. */
.snow-monkey-form .smf-item:has( .smf-control-description > div ) {
	align-items: flex-start;
}
.snow-monkey-form .smf-item:has( .smf-control-description > div ) .smf-item__col--label {
	padding-top: 1rem;
}
.snow-monkey-form .smf-control-description > div {
	margin-top: 1rem;
}
.snow-monkey-form .smf-control-description > div:first-child {
	margin-top: 0;
}
/* For text fields with multi-line descriptions (e.g., Kintone Access URL),
   ensure error messages display directly below the input, before the description.
   Make .smf-placeholder a flex column so children display in proper order:
   1. input control, 2. error messages, 3. description text. */
.snow-monkey-form .smf-item:has( .smf-control-description > div ) .smf-placeholder {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.snow-monkey-form .smf-item:has( .smf-control-description > div ) .smf-text-control,
.snow-monkey-form .smf-item:has( .smf-control-description > div ) .smf-email-control,
.snow-monkey-form .smf-item:has( .smf-control-description > div ) .smf-tel-control,
.snow-monkey-form .smf-item:has( .smf-control-description > div ) .smf-url-control,
.snow-monkey-form .smf-item:has( .smf-control-description > div ) .smf-select-control {
	order: 1;
}
/* Error messages appear after control, before description */
.snow-monkey-form .smf-item:has( .smf-control-description > div ) .smf-error-messages {
	order: 2;
}
/* Description text appears last */
.snow-monkey-form .smf-item:has( .smf-control-description > div ) .smf-control-description {
	order: 3;
}
/* Action row + buttons (was .contact_submit / .contact_submit_btn).
   Centered on the row, matching the legacy layout. margin-top:6rem was on
   .contact_submit itself (on top of the last .contact_list>li's own
   margin-bottom:4rem — total 10rem gap before the button row). */
.snow-monkey-form .smf-action {
	margin-top: 6.6rem;
	margin-bottom: 4rem;
	display: flex;
	justify-content: center;
	gap: 2rem;
}
/* Primary button: grey #9a9a9a with the CRESCO chevron (was .contact_submit_btn).
   text-align:center was on .contact_btn/.contact_submit_btn themselves — app.css
   sets none, so the label would otherwise fall back to the browser default. */
.snow-monkey-form .smf-action .smf-button-control__control {
	position: relative;
	text-align: center;
	background: #9a9a9a;
	background-image: none;
	border: .1rem solid #fff;
	border-radius: 0;
	color: #fff;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 4.2rem;
	width: 44rem;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.8rem 12rem;
	cursor: pointer;
	transition: background-color .4s, color .4s, border-color .4s;
}
.snow-monkey-form .smf-action .smf-button-control__control:hover {
	background-color: #fff;
    color: #ff643b;
    border: 0.1rem solid #ff643b;
}
/* Chevron on the forward buttons (confirm / send / complete) — not on "back" */
.snow-monkey-form .smf-action .smf-button-control__control:not([data-action="back"])::after {
	content: "";
	position: absolute;
	right: 0.9rem;
	top: -4px;
	bottom: 0;
	margin: auto;
	width: 1rem;
	height: 2rem;
	background: url(common/img/icon_contact.svg) center / contain no-repeat;
}
.snow-monkey-form .smf-action .smf-button-control__control:not([data-action="back"]):hover::after {
	background-image: url(common/img/icon_contact_ov.svg);
}
/* The "back" button on the confirm screen stays neutral grey */
.snow-monkey-form .smf-action .smf-button-control__control[data-action="back"] {
	background: #888;
	border-color: #fff;
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action="back"]:hover {
	background: #fff;
	color: #888;
	border-color: #888;
}

@media screen and (max-width: 782px) {
	.snow-monkey-form .smf-item {
		flex-flow: column;
		align-items: flex-start;
		gap: .1rem;
	}
	.snow-monkey-form .smf-item__col--label {
		width: auto;
		margin-bottom: 1rem;
		padding-right: 0;
	}
	/* was .contact_list_head .label { margin-right: 2rem } — .smf-item__label's
	   gap:1rem (set for desktop, where justify-content:space-between mostly
	   fills it in) is too tight once the column shrinks to width:auto here. */
	.snow-monkey-form .smf-item__label {
		gap: 2rem;
	}
	.snow-monkey-form .smf-item--divider {
		padding-left: 0;
	}
	/* was .input_radio { margin-top: 2rem } */
	.snow-monkey-form .smf-radio-buttons-control__control {
		margin-top: 2rem;
		height: auto;
		min-height: 2.8rem;
		align-items: flex-start;
		row-gap: 1rem;
	}
	.snow-monkey-form .smf-radio-button-control {
		height: auto;
		min-height: 2.8rem;
	}
	.snow-monkey-form .smf-action {
		flex-flow: column;
		align-items: center;
		gap: 1.5rem;
		width: 100%;
	}
	/* Trial desktop alignment uses a 24rem left offset; remove it on mobile
	   before the intrinsic-width button is measured. */
	.snow-monkey-form .smf-action {
		justify-content: center !important;
		padding-left: 0 !important;
	}
	.snow-monkey-form .smf-action .smf-button-control {
		display: inline-block;
		width: auto;
		max-width: none;
	}
	.snow-monkey-form .smf-action .smf-button-control__control {
		display: inline-block;
		width: auto;
		max-width: none;
		box-sizing: content-box;
		font-size: 1.8rem;
		line-height: 1.75;
		padding: 0.8rem calc(100vw / 3.35);
	}
}

/**
*
* 20250214 Luv end add
*/