/*
Theme Name: ベトナム現地商社 カスタムテーマ
Template: lightning
*/

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box; /* パディングやボーダーを含めた幅を計算 */
}
html,
body,
.entry-body {
	font-family: "Noto Sans JP", serif;
	line-height: 1.6;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	overflow-x: hidden;
	scroll-behavior: smooth;
}
a {
	text-decoration: none !important;
}
.header__right {
	width: 100%;
	max-width: 1260px;
	min-width: 564px;
	height: 45px;
	margin-top: 20px;
	display: flex;
	justify-content: space-around;
	align-items: center;
	font-family: "Noto Sans JP", serif;
}
.header__link,
.header__phone {
	display: block;
}
.header__link--cont,
.header__phone--cont {
	font-size: 11px;
	font-weight: 500;
}
.header__phone--num a {
	font-family: "Figtree", serif;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.2;
	color: #003FA3;
}
.header__phone--num span {
	font-size: 12px;
	font-weight: 500;
	color: #000;
	padding-left: 6px;
}
.header__contact {
	width: 156px;
	height: 45px;
	border-radius: 23px;
	border: thin solid var(--vk-color-primary);
	background: #fff; /* 通常時の背景色 */
	position: relative;
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: 500;
	color: var(--vk-color-primary);	
	overflow: hidden; /* 背景のはみ出しを防ぐ */
	transition: color 0.5s, background 0.5s; /* スムーズな変化 */
}
.header__contact::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0; /* 初期状態の高さ */
	background: radial-gradient(circle, #0092E5, #001976); /* グラデーション背景 */
	border-radius: 50%; /* 円形を指定 */
	transform: translate(-50%, -50%);
	transition: width 0.5s ease, height 0.5s ease; /* イン・アウト両方で0.5秒 */
	z-index: 0; /* 背景を背面に配置 */
}
.header__contact:hover::before {
	width: 100%; /* ホバー時に背景を広げる */
	height: 300%; /* 幅と高さを同じ値に */
}
.header__contact:hover {
	background: none; /* 通常の背景色をクリア */
}
.header__contact a {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 15px;
	font-weight: bold;
	color: var(--vk-color-primary); /* 通常時の文字色 */
	text-align: center;
	line-height: 45px;
	position: relative;
	z-index: 1; /* テキストを前面に配置 */
	transition: color 0.5s; /* ホバー時の文字色をスムーズに */
}
.header__contact:hover a {
	color: #fff; /* ホバー時に文字色を白に */
}
.header__contact a::after {
	font-family: "Font Awesome 6 Free";
	content: "\f0e0";
	padding-left: 0.5em;
	color: var(--vk-color-primary); /* 通常時のアイコン色 */
	transition: color 0.5s; /* ホバー時のアイコン色をスムーズに */
}
.header__contact:hover a::after {
	color: #fff; /* ホバー時にアイコン色を白に */
}

.header__ranslate {
	position: absolute;
	top: 65px;
	right: 20px;	
}
.header__ranslate img {
	margin-left: 30px;
}
.site-header-logo img {
    max-height: 150px;
    max-width: 100%;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.device-mobile .global-nav-list>li {
    padding: 14px 4em;
}
h2 {
    padding: 0;
	margin: 0;
    border-top: none;
    border-bottom: none;
}
h3,
h3:after {
	padding: 0;
	margin-bottom: 0;
	border-bottom: none;	
}
section#mv {
	width: 100vw !important;
	margin: auto;
}
.mv_line {
	width: 100vw;
	border-top: 8px solid;
	background-size: 100% 100%;
	border-image: linear-gradient(to right, #0092E5, #001976) 1;
	transition:all .8s cubic-bezier(0.645, 0.045, 0.355, 1) .4s
}
.mv_slide,
.mv_slide img {
	width: 100vw !important;
	height: 800px;
	object-fit: cover;
	margin-left: auto !important;
	margin-right: auto !important;
}

.mv_first,
.mv_second,
.mv_third,
.mv_forth {
	position: relative;
}
.mv_first .mv_cont,
.mv_second .mv_cont,
.mv_third .mv_cont {
	display: inline-block;
    position: absolute;
	top: 45%;
	transform: translateY(-45%);
	left: 5%;
}
.mv_cont h2 {
	font-family: "Noto Serif JP", serif;
	font-size: 60px;
	font-weight: 500;
	color: #333;
	color: #f8cc10;
	line-height: 70px;
	padding: 10px 30px;
	background-color: #fff;
	background-color: #ce1713;
}
html.translated-ltr .mv_cont h2 {
	font-size: 26px;
}
.dots-wrap {
    display: flex;
    justify-content: flex-end;
}
.dots-wrap li::marker {
  content: '' !important; /* マーカーを空にする */
}
.dots-wrap li {
    width: 40px;
    height: 4px;
    margin: 15px 5px;
    background: #ccc;
    cursor: pointer;
}
.dots-wrap li::maker {
	display: none !important;
}
.dots-wrap {
	list-style: none; /* Safariでもリストマーカーを非表示にする */
	padding: 0;
	margin: 0;
}
.dots-wrap li:hover,
.dots-wrap li.slick-active {
    background: #003fa3;
}
.dots-wrap li button {
    display: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    padding: 0;
    border: none;
    background-color: transparent;
}
/*
.device-mobile .global-nav-list>li .acc-btn {
	display: none;
}
*/
.vk-mobile-nav-menu-btn,
.vk-mobile-nav-menu-btn.menu-open {
	border: none;
	width: 60px;
    height: 60px;	
}
.vk-mobile-nav {
    padding: 70px 10px;
}
.site-header-container {
	position: relative;
}
ul.list-inline {
	list-style: none;
	display: flex;
	justify-content: flex-end;
	position: absolute;
	top: 0;
	right: 0;
	margin-top: -8px;
}
b, strong {
    font-weight: bold;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: var(--vk-color-primary);
}
.global-nav-list>li .global-nav-name,
.device-mobile .global-nav-list>li .global-nav-name {
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
	font-weight: 500;
    display: block;
    width: 100%;
    white-space: nowrap;
}
.vk-menu-acc ul.sub-menu li a {
    display: block;
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
	font-weight: 500;
    overflow: hidden;
	color: #fff;
    padding: 20px 30px;
}
.global-nav-list>li>ul.sub-menu {
    background-color: var(--vk-color-primary);
    box-shadow: 1px 1px 3px rgba(0, 0, 0, .2);
    width: auto;
}
section#business__details {
	margin: auto;
	max-width: 980px;
	padding: 80px 0 100px;
	text-align: center;
}
section#business__details .business__details--title h2 {
	font-family: "Figtree", "Noto Sans JP", serif;
	font-size: 60px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .972px;
	margin-bottom: 50px;
}
section#business__details .business__details--title h2 span {
	color: #222;
}
section#business__details .business__sub--title h3 {
	font-family: "Noto Sans JP", serif;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	margin-top: 40px;
	margin-bottom: 10px;	
}
section#business__details .business__details--cont p {
	font-family: "Noto Sans JP", serif;
    font-size: 20px;
	font-weight: 500;
	line-height: 2;
}
section#service {
	background-color: #F6FAFC;
	padding: 85px 0 100px;
}
section#service .service__wrapper {
	margin: auto;
	max-width: 980px;
}
.service__wrapper--title {
	display: flex;
	align-items: center;
}
.service__wrapper--title h2 {
	font-family: "Figtree", serif;
	font-size: 60px;
	font-weight: 600;
	line-height: .8;
	letter-spacing: .972px;
	margin-bottom: 10px;
	padding-right: 25px;
	border-right: 5px solid var(--vk-color-primary);
}
.service__wrapper--title.company,
.service__wrapper--title.achievements {
	justify-content: center;
}
.service__wrapper--title.company h2,
.service__wrapper--title.achievements h2 {
	font-family: "Noto Sans JP", serif;
	text-align: center;
	border-right: none;
	padding-right: 0;
}

.company-profile {
    max-width: 980px;
    margin: 0 auto;
    padding: 2rem;
    border-radius: 8px;
    font-size: 18px;
    line-height: 1.8;
}

.company-profile__item {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 1px solid #e0e0e0;
    padding: 1rem 0;
}

.company-profile__item dt {
    width: 30%;
    font-weight: bold;
    color: #333;
}

.company-profile__item dd {
    width: 70%;
    margin: 0;
    color: #555;
	text-align: left;
}


.service__wrapper--title span {
	font-family: "Noto Sans JP", serif;
    font-size: 28px;
	font-weight: 500;
	line-height: 2;
	color: #000000;
	padding-left: 25px;
	padding-top: 10px;
}
section#service .service__wrapper .service__wrapper--box {
	margin: 20px auto 40px;
	max-width: 980px;
	display: flex;
	justify-content: space-between;	
	align-items: center;
	padding: 65px 64px 50px 56px;
	background-color: #fff;
	box-shadow: -10px 10px 0px 0px rgba(231, 242, 248, 1);
}
section#service .service__wrapper .service__wrapper--box.reverce {
	flex-direction: row-reverse;
}
section#service .service__wrapper .service__wrapper--box.reverce .more {
    margin-right: 0;
    margin-left: auto;	
}
section#service .service__wrapper .service__wrapper--box .service__wrapper--img {
	width: 340px;
	flex-shrink: 0;
	margin-right: 40px;
	overflow: hidden;
	transition : all 0.5s ease 0s;
}
section#service .service__wrapper .service__wrapper--box .service__wrapper--img:hover {
	opacity: 0.8;
	transform: scale(1.1); /* 110%に拡大 */
}
section#service .service__wrapper .service__wrapper--box.reverce .service__wrapper--img {
	margin-right: 0;
	margin-left: 40px;
}
section#service .service__wrapper .service__wrapper--box .service__wrapper--inner .service__wrapper--sub {
	font-family: "Figtree", serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--vk-color-primary);
	line-height: 1.2;
	letter-spacing: .972px;
	margin-bottom: 10px;	
}
section#service .service__wrapper .service__wrapper--box .service__wrapper--inner .service__wrapper--title {
	max-width: 480px;
	height: 50px;
	display: flex;
	align-items: center;
	background-image: linear-gradient(90deg, rgba(0, 63, 160, 1), rgba(43, 95, 178, 1) 10%, rgba(72, 117, 189, 1) 20%, rgba(255, 255, 255, 1));
}

@media screen and (max-width: 600px) {
	section#service .service__wrapper .service__wrapper--box .service__wrapper--inner .service__wrapper--title {
		background-image: linear-gradient(90deg, rgba(0, 63, 160, 1), rgba(0, 63, 160, 1) 10%, rgba(0, 63, 160, 1) 20%, rgba(0, 63, 160, 1));
	}
}

section#service .service__wrapper .service__wrapper--box .service__wrapper--inner .service__wrapper--title h3 {
	font-family: "Noto Sans JP", serif;
    font-size: clamp(20px, 10.000px + 2.667vw, 26px);
	font-weight: 500;
	line-height: 50px;
	color: #fff;
	padding-left: 10px;
}
section#service .service__wrapper .service__wrapper--box .service__wrapper--inner .service__wrapper--title h3 span {
	font-family: "Noto Sans JP", serif;
    font-size: 12px;
	font-weight: 400;
	color: #fff;
	padding-left: 0;	
}
section#service .service__wrapper .service__wrapper--box  .service__wrapper--inner p {
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
	font-weight: 400;
	line-height: 2;
	color: #222;
	margin: 30px 0;	
}
section#service .service__wrapper .service__wrapper--box  .service__wrapper--inner p img {
	max-width: 100px;
	padding: 0 10px;
}
.more {
	width: 200px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 25px;
	border: thin solid var(--vk-color-primary);
	background: #fff;
	position: relative;
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: 500;
	color: var(--vk-color-primary);
	text-align: center;
	line-height: 50px;
	transition: color 1s;
	background-size 1s;
	overflow: hidden; /* ::beforeがはみ出さないように */
	z-index: 1; /* テキストを前面に */
}
.more::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	background: radial-gradient(circle, #0092E5, #001976);
	aspect-ratio: 1 / 1; /* 正確に円形を維持 */
	border-radius: 50%;
	transition: width 0.5s ease, height 0.5s ease; /* イン・アウト両方で0.5秒 */
	transform: translate(-50%, -50%);
	z-index: 0; /* 背景を背面に */
}
.more:hover::before {
	width: 100%; /* ホバー時に背景を広げる */
	height: 400%; /* 幅と高さを同じ値に */
}
.more:hover span {
	color: #fff !important; /* 強制的にテキストを白に */
	z-index: 2; /* テキストを最前面に */
}
.more i {
	transition: color .5s; /* アイコンの色変更もスムーズに */
	z-index: 2;
}
.more:hover i {
	color: #fff !important; /* アイコンも確実に白く */
}
a.more-btn i {
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	right: 10px;
}
section#case_study {
	margin: auto;
	max-width: 980px;
	padding: 80px 0 130px;
}
.title__wrapper {
	display: flex;
	justify-content: space-between;	
}
section#case_study .case__study--cont {
    display: flex;
    flex-direction: column;
	margin-top: 50px;	
}
section#case_study .case__study--cont .slide {
    display: block;
    text-decoration: none;
    color: inherit; 
    overflow: hidden;
    position: relative;
	cursor: pointer;
}
section#case_study .case__study--cont .slider {
    position: relative;
}
section#case_study .case__study--cont.page a {
    text-decoration: none;
    color: inherit; 
    overflow: hidden;
    position: relative;
	cursor: pointer;	
}
section#case_study .case__study--cont .case__page {
	width: 100%;
	margin: 0 auto 50px;
    display: flex;
	padding-bottom: 50px;
	border-bottom: thin solid #ccc;
}
section#case_study .case__study--cont .case__page .title {
	font-size: 24px;
}
section#case_study .case__study--cont .case__page .cont {
	font-size: 18px;
	font-weight: 400;
	color: #222;
}
section#case_study .case__study--cont .case__page .image {
    position: relative;
    overflow: hidden;	
	max-width: 400px;
	height: 100%;
	margin-right: 40px;
	
}
section#case_study .case__study--cont .case__page .case__page--block {
	display: block;
}
section#case_study .case__study--cont .slide .image {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 225px;
	object-fit: cover;
}
section#case_study .case__study--cont .slide .image img,
section#case_study .case__study--cont .case__page .image img {
    width: 100%;
    height: 100%;
	object-fit: cover;
	opacity: 1;
    transition: transform 0.5s ease, opacity 0.5s ease;
}
section#case_study .case__study--cont .case__page .title,
section#case_study .case__study--cont .case__page .cont {
    transition: transform 0.5s ease, color 0.5s ease;	
}
section#case_study .case__study--cont .case__page:hover .title,
section#case_study .case__study--cont .case__page:hover .cont {
	color: #003FA3;
}
section#case_study .case__study--cont .slide:hover .image img,
section#case_study .case__study--cont .case__page:hover .image img {
    transform: scale(1.2);
	opacity: 0.8;
}
section#case_study .case__study--cont .slick-slide {
    margin: 0 20px;
}

section#case_study .case__study--cont .slick-list {
    margin: 0 -20px;
}
.slick-prev,
.slick-next {
    display: none; /* デフォルトの矢印を非表示にする */
}
section#case_study .case__study--cont .custom-prev,
section#case_study .case__study--cont .custom-next {
    position: absolute;
    bottom: -80px;
    width: 60px;
    height: 60px;
    background-color: #fff;
    color: #005BD6;
    border: none;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
	border: thin solid #005BD6;
	overflow: hidden;
    z-index: 10;
    transition: background-color 0.5s ease;
}
section#case_study .case__study--cont .custom-prev:hover,
section#case_study .case__study--cont .custom-next:hover {
    background-color: #005BD6;
}
section#case_study .case__study--cont .custom-prev {
    right: 70px;
}
section#case_study .case__study--cont .custom-next {
    right: 0px;
}
.custom-prev span,
.custom-next span {
	font-family: "Noto Sans JP", serif;
    font-size: 30px;
    font-weight: 100;
    color: #005BD6;
    transition: color 0.5s ease, transform 0.5s ease;
}
.custom-prev:hover span,
.custom-next:hover span {
    color: #fff;
    transform: scale(1.1);
}
section#case_study .case__study--cont .custom-prev::before,
section#case_study .case__study--cont .custom-next::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background-color: #005BD6;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.5s ease, height 0.5s ease;
    z-index: 0; 
}
section#case_study .case__study--cont .custom-prev:hover::before,
section#case_study .case__study--cont .custom-next:hover::before {
    width: 120%;
    height: 120%;
}

section#case_study .case__study--cont .custom-prev:hover span,
section#case_study .case__study--cont .custom-next:hover span {
    color: #fff; 
}
section#case_study .case__study--cont .title {
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
	font-weight: 400;
	color: #222;
	padding: 18px 0 13px;
	border-bottom: thin solid #ccc;
}
section#case_study .case__study--cont .cont {
	font-family: "Noto Sans JP", serif;
    font-size: 18px;
	font-weight: 600;
	color: #003FA3;
	padding-top: 13px;
    display: -webkit-box; /* 必須: Flexboxをベースにした行の制限 */
    -webkit-box-orient: vertical; /* ボックスの方向を縦に設定 */
    overflow: hidden; /* テキストがはみ出さないように隠す */
    text-overflow: ellipsis; /* 省略記号を表示 */
    -webkit-line-clamp: 3; /* 最大3行を指定 */
    line-height: 1.5; /* 行間の調整 */
    max-height: calc(1.5em * 4); /* 最大3行分の高さを設定 */	
}

section#information {
	background-color: #F6FAFC;
	padding: 85px 0 100px;
}
section#information .information__wrapper {
	margin: auto;
	max-width: 980px;
}
section#information .information__wrapper .information__wrapper--cont {
	margin-top: 35px;
}
section#information .information__wrapper .information__flex {
	max-width: 733px;
	display: flex;
	/*justify-content: flex-end;*/
	padding: 30px 0;
	border-top: thin solid #ccc;
	margin-left: auto;
}
body:not(.home) section#information .information__wrapper .information__flex {
	max-width: 980px;	
	margin-right: auto;
}
section#information .information__wrapper .information__flex:last-of-type {
	border-bottom: thin solid #ccc;
}
section#information .information__wrapper .information__flex .time {
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
	font-weight: 200;
	color: #003FA3;
	margin-right: 30px;
}
section#information .information__wrapper .information__flex h3 {
	font-family: "Noto Sans JP", serif;	
    font-size: 16px;
	font-weight: 400;
	color: #222;
	transition: transform 0.5s ease;
}
section#information .information__wrapper .information__flex h3:hover {
	color: var(--vk-color-primary);
}
section#about__us {
	background-image: url(images/about_us.webp);
	background-repeat: no-repeat;
	background-position: center;
	position: relative;	
	padding: 110px 0;
}
section#about__us .about__us--wrapper {
	max-width: 1150px;
	background-color: #fff;
	border-radius: 20px;
	margin: auto;
}
section#about__us .about__us--inner {
	max-width: 980px;
	background-color: #fff;
	padding: 50px 0;
	margin: auto;
}
section#column {
	margin: auto;
	max-width: 980px;
	padding: 80px 0 100px;
	text-align: center;	
}
section#column .column__wrapper--flex {
	display: flex;
}
section#column .case__study--cont {
	display: flex;
    flex-direction: column;
    margin-top: 50px;	
}
section#column .case__study--cont .slider2 .image {
	position: relative;
    overflow: hidden;
    width: 100%;
    height: 225px;
    object-fit: cover;	
}
section#column .case__study--cont .slider2 .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
section#column .case__study--cont .slider2 .title {
	text-align: left;
    display: -webkit-box; /* 必須: Flexboxをベースにした行の制限 */
    -webkit-box-orient: vertical; /* ボックスの方向を縦に設定 */
    overflow: hidden; /* テキストがはみ出さないように隠す */
    text-overflow: ellipsis; /* 省略記号を表示 */
    -webkit-line-clamp: 2; /* 最大3行を指定 */
    line-height: 1.5; /* 行間の調整 */
    max-height: calc(1.5em * 3); /* 最大3行分の高さを設定 */		
}
section#column .column__wrapper .column__wrapper--cont {
    display: flex;
    flex-direction: column;
}
section#column .column__wrapper .cont {
    display: flex;
    flex-direction: column;
	text-align: left;
	font-family: "Noto Sans JP", serif;
    font-size: 16px;	
}
section#column .case__study--cont .cont {
	font-family: "Noto Sans JP", serif;
    font-size: 18px;
	font-weight: 600;
	color: #003FA3;
	padding-top: 13px;
    display: -webkit-box; /* 必須: Flexboxをベースにした行の制限 */
    -webkit-box-orient: vertical; /* ボックスの方向を縦に設定 */
    overflow: hidden; /* テキストがはみ出さないように隠す */
    text-overflow: ellipsis; /* 省略記号を表示 */
    -webkit-line-clamp: 3; /* 最大3行を指定 */
    line-height: 1.5; /* 行間の調整 */
    max-height: calc(1.5em * 4); /* 最大3行分の高さを設定 */		
}
section#column .column__wrapper .cont p {
	margin-bottom: 0;
}
section#column .column__wrapper .column__flex {
    display: flex;
	align-items: flex-start;
	padding: 30px 0;
	border-top: thin solid #ccc;
}
section#column .column__wrapper .column__flex:last-of-type {
	border-bottom: thin solid #ccc;	
}
section#column .column__wrapper .image {
    flex-shrink: 0;
    width: 260px;
	height: 160px;
    margin-right: 24px;
	border-radius: 10px;
	overflow: hidden;
}
section#column .column__wrapper .image img {
    width: 100%;
    height: 100%;
	object-fit: cover;
    transition: transform 0.5s ease, opacity 0.5s ease;
}
section#column .column__wrapper .image:hover img {
    transform: scale(1.2);
    opacity: 0.8;
}
section#column .column__wrapper h3 {
    font-size: 18px;
	font-weight: 600;
    line-height: 1.6;	
	margin: 0;
}
section#column .column__wrapper .time {
    color: #003FA3;
}
section#column .column__wrapper .except {
    color: #222;
}
section#column .case__study--cont .slick-slide {
    margin: 0 20px;
}

section#column .case__study--cont .slick-list {
    margin: 0 -20px;
}

section#column .case__study--cont .custom-prev,
section#column .case__study--cont .custom-next {
    position: absolute;
    bottom: -80px;
    width: 60px;
    height: 60px;
    background-color: #fff;
    color: #005BD6;
    border: none;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
  border: thin solid #005BD6;
  overflow: hidden;
    z-index: 10;
    transition: background-color 0.5s ease;
}
section#column .case__study--cont .custom-prev:hover,
section#column .case__study--cont .custom-next:hover {
    background-color: #005BD6;
}
section#column .case__study--cont .custom-prev {
    right: 70px;
}
section#column .case__study--cont .custom-next {
    right: 0px;
}
.custom-prev span,
.custom-next span {
  font-family: "Noto Sans JP", serif;
    font-size: 30px;
    font-weight: 100;
    color: #005BD6;
    transition: color 0.5s ease, transform 0.5s ease;
}
.custom-prev:hover span,
.custom-next:hover span {
    color: #fff;
    transform: scale(1.1);
}
section#column .case__study--cont .custom-prev::before,
section#column .case__study--cont .custom-next::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    background-color: #005BD6;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    transition: width 0.5s ease, height 0.5s ease;
    z-index: 0; 
}
section#column .case__study--cont .custom-prev:hover::before,
section#column .case__study--cont .custom-next:hover::before {
    width: 120%;
    height: 120%;
}

section#column .case__study--cont .custom-prev:hover span,
section#column .case__study--cont .custom-next:hover span {
    color: #fff; 
}
section#column .case__study--cont .title {
  font-family: "Noto Sans JP", serif;
    font-size: 16px;
  font-weight: 400;
  color: #222;
  padding: 18px 0 13px;
  border-bottom: thin solid #ccc;
}
section#column .case__study--cont .cont {
  font-family: "Noto Sans JP", serif;
    font-size: 18px;
  font-weight: 600;
  color: #003FA3;
  padding-top: 13px;
    display: -webkit-box; /* 必須: Flexboxをベースにした行の制限 */
    -webkit-box-orient: vertical; /* ボックスの方向を縦に設定 */
    overflow: hidden; /* テキストがはみ出さないように隠す */
    text-overflow: ellipsis; /* 省略記号を表示 */
    -webkit-line-clamp: 3; /* 最大3行を指定 */
    line-height: 1.5; /* 行間の調整 */
    max-height: calc(1.5em * 4); /* 最大3行分の高さを設定 */  
}

.site-footer {
    border-top: none;;
}
section#footer_contact {
	padding: 100px 0;
	background-color: #F8F8F8;
}
section#footer_contact .footer__contact--wrapper {
	max-width: 980px;
	margin: auto;
	display: flex;
	justify-content: space-between;	
}
section#footer_contact .footer__contact--wrapper .footer__contact--inner {
	max-width: 470px;
}
section#footer_contact .footer__contact--wrapper .footer__contact--inner h2 {
	font-family: "Noto Sans JP", serif;
    font-size: 22px;
	font-weight: 600;
    line-height: 1;
	color: #222222;
	border-left: 5px solid #003FA3;
	padding-left: 20px;	
}
section#footer_contact .footer__contact--wrapper .footer__contact--inner .footer__contact--block {
	width: 470px;
	max-width: 100%;
	height: 278px;
	background-color: #fff;
	position: relative;
	margin-top: 28px;
}
section#footer_contact .footer__contact--column {
	width: 380px;
	max-width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);	
}
section#footer_contact .footer__contact--column .footer__contact--title {
	font-family: "Noto Sans JP", serif;
    font-size: 22px;
	font-weight: 600;
    line-height: 1;
	color: #00B900;
	text-align: center;
}	
section#footer_contact .footer__contact--column .footer__contact--phone a {
	display: block;
	width: 100%;
	font-family: "Figtree", serif;
	font-size: 35px;
	font-weight: bold;
	line-height: 1.2;
	color: #003FA3;
	text-align: center;
	margin: 10px auto 20px;
}
section#footer_contact .footer__contact--column .footer__contact--phone img {
	max-width: 100px;
}
section#footer_contact .footer__contact--column .footer__contact--cont {
	width: 100%;
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
	font-weight: 600;
    line-height: 1.5;
	color: #000;
	text-align: center;
	padding-bottom: 16px;
}
section#footer_contact .footer__contact--column .footer__contact--time {
	font-family: "Noto Sans JP", serif;
    font-size: 18px;
	font-weight: 600;
    line-height: 1.44;
	color: #003FA3;
	text-align: center;
	margin-top: 10px;
}
section#footer_contact .footer__contact--column p {
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
	font-weight: 600;
    line-height: 1.5;
	color: #000;
	text-align: center;
	margin-top: 25px;
}
.more.contact {
	width: 380px;
	height: 60px;
	border-radius: 0;
	font-family: "Noto Sans JP", serif;
    font-size: 22px;
	font-weight: 600;	
}
.more.contact:hover::before {
	width: 200%;
	height: 1000%;
}
.more.contact i {
	padding-top: 8px;
	padding-left: 20px;
}
body.home :where(:not(.wp-block-table))>table,
body.home :where(:not(.wp-block-table))>table :is(thead,tbody,tfoot,th,td) {
	border: none;
}
table.company {
	margin-top: 30px;
}
body.home table.company tr {
	border-bottom: solid thin #ccc;
}
table.company th {
	font-family: "Noto Sans JP", serif;
	font-size: 18px;
	font-weight: bold;
	vertical-align: top;
	padding-top: 1em;
	padding-bottom: 1em;	
	white-space: nowrap;
}
table.company td {
	font-family: "Noto Sans JP", serif;
	font-size: 18px;
	font-weight: normal;
	vertical-align: top;
	padding-top: 1em;
	padding-bottom: 1em;
}
section#compamy__profile table.company tr {
	border-bottom: thin solid #ccc;
}
section#compamy__profile table.company {
	border: thin solid #ccc;
}
section#compamy__profile table.company th {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: normal;
	color: #fff;
	vertical-align: top;
	padding-top: 1em;
	padding-bottom: 1em;	
	white-space: nowrap;
	background-color: #003FA3;
	border-bottom: thin solid #ccc;
}
section#compamy__profile table.company td {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	color: #222;
	background-color: #fff;
	font-weight: normal;
	vertical-align: top;
	padding-top: 1em;
	padding-bottom: 1em;	
}
section#compamy__philosophy {
	margin: auto;
	background-color: #fff;	
}
section#compamy__philosophy .compamy__philosophy--wrapper {
	max-width: 980px;
	margin: auto;
	padding: 75px 0 40px;
	text-align: center;
}
section#compamy__philosophy .compamy__philosophy--wrapper .give_take {
	font-family: "Figtree", serif;
	font-size: 80px;
	font-weight: 600;
	color: #222;
	line-height: 1.2;
	letter-spacing: .875px;
	margin: 46px auto 15px;
}
section#compamy__philosophy .compamy__philosophy--wrapper .give_take span.and {
	font-family: "Figtree", serif;
	font-size: 60px;
	font-weight: 200;
	color: #989898;	
}
section#compamy__philosophy .compamy__philosophy--wrapper .give_take span.take {
	font-family: "Figtree", serif;
	font-size: 80px;
	font-weight: 600;
	color: var(--vk-color-primary);
	line-height: 1.2;
	letter-spacing: .875px;
	margin: 46px auto 15px;	
}
section#compamy__philosophy .compamy__philosophy--wrapper .compamy__philosophy--cont {
	    margin-right: -1em;
}
section#compamy__philosophy .compamy__philosophy--wrapper .compamy__philosophy--cont p {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	color: #222;
	line-height: 2;
	margin-bottom: 60px;
}
section#compamy__philosophy .compamy__philosophy--wrapper .compamy__philosophy--cont p span {
	font-size: 14px;
}
section#compamy__profile {
	margin: auto;
	background-color: #F6FAFC;
}
section#compamy__profile .compamy__profile--wrapper {
	max-width: 980px;
	margin: auto;
	padding: 75px 0 100px;
}
section#compamy__gbm {
	margin: auto;
	background-color: #fff;	
}
section#compamy__gbm .compamy__gbm--wrapper {
	max-width: 980px;
	margin: auto;
	padding: 75px 0 40px;
	text-align: center;
}
section#compamy__gbm .compamy__gbm--wrapper .compamy__gbm--cont img {
	max-width: 730px;
	margin: 30px auto;
}
section#compamy__gbm .compamy__gbm--wrapper .compamy__gbm--cont p {
	font-family: "Noto Sans JP", serif;
	font-size: 36px;
	font-weight: bold;
	color: var(--vk-color-primary);
	line-height: 2.5;
	text-align: center;
	margin-bottom: 60px;
}	
section#compamy__partner {
    margin: auto;
    background-color: #F6FAFC;
}
section#compamy__partner .compamy__partner--wrapper {
	max-width: 980px;
	padding: 75px 0px;
	margin: auto;
	text-align: center;
}
section#compamy__partner .compamy__partner--wrapper .compamy__partner--cont {
	margin-top: 44px;
	background-color: #fff;
}
section#compamy__partner .compamy__partner--wrapper .compamy__partner--img img {
	max-width: 840px;
	padding: 47px 0;	
}
section#compamy__map {
    margin: auto;
    background-color: #fff;
}
section#compamy__map .compamy__map--wrapper {
	max-width: 980px;
	padding: 75px 0px;
	margin: auto;
	text-align: center;
}
section#compamy__map .compamy__map--wrapper .compamy__map--img {
	max-width: 980px;
	margin-top: 34px;
}
section#compamy__map .compamy__map--wrapper .compamy__map--cont h3 {
	margin-top: 50px;
	margin-bottom: -20px;
}
section#service__section {
    margin: auto;
    background-color: #fff;
	background-color: #F6FAFC;
}
section#service__section .service__section--wrapper {
	max-width: 980px;	
	padding: 75px 0px;
	margin: auto;
	text-align: center;
}
section#service__section .service__section--wrapper .service__section--titleWrapper {
    padding: 30px;
    background-color: #fff;
    box-shadow: -10px 10px 0px 0px rgba(231, 242, 248, 1);
	margin-bottom: 50px;
}
section#service__section .service__section--wrapper .service__section--title h2 span {
	font-family: "Noto Sans JP", serif;
	font-size: 36px;
	font-weight: bold;
	color: var(--vk-color-primary);
	line-height: 1.44;
	text-align: center;
}	
section#service__section .service__section--wrapper .service__section--title h2 {
	font-family: "Noto Sans JP", serif;
	font-size: 28px;
	font-weight: bold;
	color: var(--vk-color-primary);
	line-height: 1.44;
	text-align: center;
}
section#service__section .service__section--wrapper .service__section--sub {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-size: 20px;
	font-weight: normal;
	color: #222;
	line-height: 2;
	text-align: center;	
	margin-top: 32px;
}
.service__section--btn {
	margin: 48px auto 20px;
	color: #fff;
	line-height: 40px;
	background-color: var(--vk-color-primary);
	border-radius: 20px;
	text-align: center;
}
section#service__section .service__section--wrapper .service__section--sub .service__section--btn {
	width: 200px;
	height: 40px;
}
section#service__section .service__section--wrapper .service__section--cont,
section#service__section .service__section--wrapper .service__section--option {
	text-align: left;
	margin-top: 20px;
}
section#service__section .service__section--wrapper .service__section--kinds .service__section--img {
	max-width: 340px;
	height: 232px;
    float: right;
	margin-top: -70px;
    margin-left: 1em;
    margin-bottom: 1em;
}
section#service__section .service__section--wrapper .service__section--option .service__section--btn {
	width: 274px;
	height: 40px;
}
section#service__section .service__section--wrapper .service__section--option .sub {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: normal;
	color: #222;
	line-height: 1.75;
	text-align: left;
	margin-bottom: 20px;
}
section#service__section .service__section--wrapper .service__section--cont h3,
section#service__section .service__section--wrapper .service__section--option h3,
section#one__stop--solution h3 {
	font-family: "Noto Sans JP", serif;
	font-size: 18px;
	font-weight: bold;
	color: var(--vk-color-primary);
	line-height: 1.55;
	text-align: left;	
}
section#service__section .service__section--wrapper .service__section--cont h3::before,
section#service__section .service__section--wrapper .service__section--option h3::before,
section#one__stop--solution h3::before {
	content: "●";
	padding-right: 5px;	
}
section#service__section .service__section--wrapper .service__section--cont p,
section#service__section .service__section--wrapper .service__section--option p,
section#one__stop--solution p {
	font-family: "Noto Sans JP", serif;
	font-size: 18px;
	font-weight: normal;
	color: #222;
	line-height: 1.8;
	text-align: left;
}
section#service__section .service__section--wrapper .service__section--flow .service__section--btn {
	width: 176px;
	height: 40px;
}
section#service__section .service__section--wrapper .service__section--flow .service__section--flex {
	max-width: 880px;
	margin: auto;
	display: flex;
	justify-content: space-between;	
}
section#service__section .service__section--wrapper .service__section--flow .service__section--flex img.flow {
	width: 160px;
	height: 100%;
}
section#service__section .service__section--wrapper .service__section--flow .service__section--flex img.triangle {
	width: 14px;
	height: 20px;
	margin-top: 70px;
}
section#one__stop--solution {
	margin: auto;
	background-color: #F6FAFC;
}
section#one__stop--solution .one__stop--wrapper {
	max-width: 980px;
	margin: auto;
	padding: 75px 0 100px;
}
section#one__stop--solution .one__stop--wrapper h2 {
	font-family: "Figtree", serif;
	font-size: 70px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 1px;
	margin-bottom: 10px;
	color: #222;
	text-align: center;
}
section#one__stop--solution .one__stop--wrapper h2 span.color1 {
	color: #003FA3;
}
section#one__stop--solution .one__stop--wrapper h2 span.color2 {
	font-weight: 200;
	color:#989898;
}
section#one__stop--solution .one__stop--wrapper h3.subTitle {
	font-family: "Noto Sans JP", serif;
	font-size: 20px;
	font-weight: bold;
	color: #222;
	line-height: 1.75;
	text-align: center;
}
section#one__stop--solution .one__stop--wrapper h3.subTitle::before {
	content: none;
}
section#one__stop--solution .one__stop--wrapper .sub {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: normal;
	color: #222;
	line-height: 2;
	text-align: left;
	margin: 40px 0 30px;
}
section#one__stop--solution .one__stop--wrapper .one__stop--img {
	max-width: 580px;
	height: auto;
    float: right;
    margin-left: 1em;
    margin-bottom: 1em;
	margin-right: -50px;
}
section#faq .faq__wrapper {
	max-width: 980px;
	margin: auto;
	padding: 75px 0 100px;	
}
section#faq .title__wrapper {
	margin-bottom: 15px;
}
section#faq .faq__wrapper .faq__wrapper--cont {
	margin-top: 20px;
}
section#faq .faq__wrapper .faq__wrapper--cont .faq__item {
    border: 1px solid #003FA3;
	margin-top: 20px;
}
.faq__wrapper--question {
    background-color: #fff;
	position: relative; 
}
.faq__wrapper--question::after {
    content: "+";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.2em;
}
.faq__wrapper--question.active::after {
    content: "ー";
}
.faq__wrapper--answer {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: 400;
	color: #222;
	line-height: 1.44;
    cursor: pointer;
    font-weight: bold;
	border-top: 1px solid #ccc;
}
.faq__wrapper--answer.active {
	display: block;
}

/* 質問・回答部分の共通設定 */
.faq__wrapper--question,
.faq__wrapper--answer {
    display: flex;
    align-items: center;
	align-items: stretch;
}
.faq__wrapper--question p {
	font-family: "Noto Sans JP", serif;
	font-size: 18px;
	font-weight: 500;
	color: #003FA3;
	line-height: 1.44;	
    cursor: pointer;
    font-weight: bold;	
	padding-left: 16px;
	padding-right: 30px;
	padding-top: 1.2em;
}
.faq__wrapper--answer p {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: 400;
	color: #222;
	line-height: 1.44;	
    cursor: pointer;
    font-weight: normal;
	padding-right: 30px;
	padding-left: 16px;
	padding-top: 1.5em;
}
/* QとAのボックス */
.faq__box {
    width: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
	font-family: "Figtree", serif;
    font-weight: bold;
    font-size: 32px;
	line-height: 50px;
    flex-shrink: 0; /* ボックスのサイズを固定 */
}

/* Qボックス専用 */
.faq__wrapper--question .faq__box {
    background-color: #003FA3;
    color: #fff;
}

/* Aボックス専用 */
.faq__wrapper--answer .faq__box {
    background: linear-gradient(to top, #AFAFAF, #DBDBDB);
    color: #333;
}

/* 質問・回答のテキスト */
.faq__text {
    margin-left: 1em; /* ボックスとテキストの間に余白 */
    flex-grow: 1; /* テキスト部分が余白を埋める */
}

section#regional {
    margin: auto;
    background-color: #fff;
}
section#regional .regional__wrapper {
	max-width: 980px;
	padding: 75px 0px;
	margin: auto;
}
section#regional .regional__wrapper .regional__wrapper--title h2 span {
	font-family: "Noto Sans JP", serif;
	font-size: 36px;
	font-weight: bold;
	color: var(--vk-color-primary);
	line-height: 1.44;
	text-align: center;
}	
section#regional .regional__wrapper .regional__wrapper--title h2 {
	font-family: "Noto Sans JP", serif;
	font-size: 28px;
	font-weight: bold;
	color: var(--vk-color-primary);
	line-height: 1.44;
	text-align: center;
}
section#regional .regional__wrapper .regional__wrapper--sub {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: normal;
	color: #222;
	line-height: 2;
	text-align: center;	
	margin-top: 32px;
}
section#regional .regional__wrapper .about_point {
	max-width: 392px;
}
section#regional .regional__wrapper .regional__point--flex {
	display: flex;
	justify-content: space-between;	
}
section#regional .regional__wrapper .regional__point--block {
	width: calc(100% / 3);
	display: block;
	padding: 0 10px;
	border-right: thin dashed #003FA3;
}
section#regional .regional__wrapper .regional__point--block:last-of-type {
	border-right: none;
}
section#regional .regional__wrapper .regional__point--block h3 {
	font-family: "Noto Sans JP", serif;
	font-size: 18px;
	font-weight: bold;
	color: var(--vk-color-primary);
	line-height: 1.55;
	text-align: left;
	padding-left: 1.5em;
}
section#regional .regional__wrapper .regional__point--block h3::before {
	content: "●";
	padding-right: 5px;	
}
section#regional .regional__wrapper .regional__point--block p {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: normal;
	color: #222;
	line-height: 1.75;
	text-align: left;
	margin-left: 23px;
}
section#regional .regional__wrapper .regional__features--flex {
	display: flex;
	justify-content: space-between;	
}
section#regional .regional__wrapper .regional__features--flex .regional__wrapper--block {
	width: calc(100% / 2 - 20px);
	display: block;	
    background-color: #fff;
	border: thin solid #EAEAEA;
    box-shadow: -5px 5px 0px 0px rgba(231, 242, 248, 1);	
	margin-top: 30px;
}
section#regional .regional__wrapper .regional__features--flex .regional__wrapper--block .title {
	max-width: 100%;
    height: 40px;
    display: flex;
    align-items: center;
    background-image: linear-gradient(90deg, rgba(0, 63, 160, 1), rgba(43, 95, 178, 1) 10%, rgba(72, 117, 189, 1) 20%, rgba(255, 255, 255, 1));
}
section#regional .regional__wrapper .regional__features--flex .regional__wrapper--block .title h3 {
	font-family: "Noto Sans JP", serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 40px;
    color: #fff;
    padding-left: 16px;	
}
section#regional .regional__wrapper .regional__features--flex .regional__wrapper--block ul {
	padding: 20px 0 0;
	padding-left: 35px;
}
section#regional .regional__wrapper .regional__features--flex .regional__wrapper--block ul li {
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.75;	
    margin-top: 0;
    margin-bottom: 0;
}
section#regional .regional__wrapper .service__section--flow .service__section--btn {
	width: 176px;
	height: 40px;
	margin-top: 60px;
}
section#regional .regional__wrapper .service__section--flow .service__section--flex {
	max-width: 880px;
	margin: auto;
	display: flex;
	justify-content: space-between;	
}
section#regional .regional__wrapper .service__section--flow h3 {
	font-family: "Noto Sans JP", serif;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.77;
	text-align: center;
	margin-bottom: 18px;
}
section#regional .regional__wrapper .service__section--flow .service__section--flex img.flow {
	width: 120px;
	height: 100%;
}
section#regional .regional__wrapper .service__section--flow .service__section--flex img.triangle {
	width: 14px;
	height: 20px;
	margin-top: 55px;
}
section#case__achieve {
	max-width: 980px;
	padding: 75px 0;
	margin: auto;	
}
section#case__achieve .title__wrapper {
	justify-content: center;
}
#case__achieve .case__achieve--wrapper {
	display: flex;
	justify-content: space-between; /* 子要素を左右に配置 */
	align-items: flex-start; /* 縦方向の揃え方を調整 */
	gap: 30px; /* 子要素間のスペースを追加 */
	flex-wrap: wrap; /* 必要に応じて折り返し */
	margin-top: 50px;
}
#case__achieve .case__achieve--cont {
	flex: 1 1 calc(50% - 30px); /* 子要素を2列に配置 */
	box-sizing: border-box; /* パディングやボーダーを含めた幅を計算 */
	margin-bottom: 20px; /* 要素間の余白を追加 */
	background-color: #F8F8F8; /* テスト用背景色 */
	padding: 15px 20px; /* 内側の余白 */
	border: 1px solid #ddd; /* テスト用のボーダー */
}
#case__achieve .case__achieve--cont .title {
    font-family: "Noto Sans JP", serif;
    font-size: 18px;
    font-weight: 500;
    color: var(--vk-color-primary);
	padding: 10px 0;
}
#case__achieve .case__achieve--cont a.more-btn {
	display: flex;
    justify-content: flex-end;
	margin-top: 30px;
}
#case__achieve .case__achieve--cont .image {
    flex-shrink: 0;
    width: 433px;
    height: 325px;
    overflow: hidden;	
}
#case__achieve .case__achieve--cont .image img {
    width: 100%;
    height: 100%;
    transition: transform 0.5s ease, opacity 0.5s ease;
}
#case__achieve .case__achieve--cont .image:hover img {
    transform: scale(1.2);
    opacity: 0.8;
}
section#health {
    margin: auto;
    background-color: #fff;
}
section#health .health__wrapper {
	max-width: 980px;
	padding: 75px 0px;
	margin: auto;
}
section#health .health__wrapper .health__wrapper--title h2 span {
	font-family: "Noto Sans JP", serif;
	font-size: 36px;
	font-weight: bold;
	color: var(--vk-color-primary);
	line-height: 1.44;
	text-align: center;
}	
section#health .health__wrapper .health__wrapper--title h2 {
	font-family: "Noto Sans JP", serif;
	font-size: 28px;
	font-weight: bold;
	color: var(--vk-color-primary);
	line-height: 1.44;
	text-align: center;
}
section#health .health__wrapper .health__wrapper--title.promo h2 span {
	font-size: 60px;
}
section#health .health__wrapper .health__wrapper--title.promo h2 {
	font-size: 28px;
}
section#health .health__wrapper .health__wrapper--sub {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: normal;
	color: #222;
	line-height: 2;
	text-align: center;	
	margin-top: 32px;
}
section#health .health__wrapper .health__wrapper--cont {
	width: 100%;
	display: block;	
    background-color: #fff;
	border: thin solid #EAEAEA;	
	padding: 50px 40px;
    box-shadow: -10px 10px 0px 0px rgba(231, 242, 248, 1);	
	margin-top: 50px;
}
section#health .health__wrapper .health__wrapper--cont h3 {
	font-family: "Noto Sans JP", serif;
	font-size: 28px;
	font-weight: bold;
	color: var(--vk-color-primary);
	line-height: 1.44;
	text-align: center;
	margin-bottom: 25px;
}
section#health .health__wrapper .health__wrapper--cont .service__section--btn.art_association {
	width: 210px;
}
section#health .health__wrapper .health__wrapper--cont .service__section--btn.art_flow {
	width: 315px;
	margin-top: 50px;
}
section#health .health__wrapper .health__wrapper--cont .health__wrapper--art {
	display: flex;
}
section#health .health__wrapper .health__wrapper--cont .health__wrapper--art .health__wrapper--asso {
	display: block;
}
section#health .health__wrapper .health__wrapper--cont .health__wrapper--art .health__wrapper--asso p {
	max-width: calc(980px - 100px - 250px);
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: normal;
	color: #222;
	line-height: 2;	
}
section#health .health__wrapper .health__wrapper--cont .health__wrapper--art .health__wrapper--asso p a {
	color: #003FA3;
}
section#health .health__wrapper .health__wrapper--cont .health__wrapper--art .video {
	width: 250px;
	height: 180px;
}
section#health .health__wrapper .health__wrapper--cont .health__wrapper--artFlow {
	border: 2px solid #003FA3;
	border-radius: 10px;
	padding: 20px;
}
section#health .health__wrapper .health__wrapper--cont .health__wrapper--artFlow .health__wrapper--flex {
	display: flex;
	align-items: center;
}
section#health .health__wrapper .health__wrapper--cont .health__wrapper--artFlow .health__wrapper--flex .num {
	font-family: "Figtree", serif;
	font-size: 40px;
	font-weight: 500;
	line-height: 1.2;
	color: #003FA3;
	letter-spacing: 1.75px;
}
section#health .health__wrapper .health__wrapper--cont .health__wrapper--artFlow .health__wrapper--flex .img {
	max-width: 75px;
	height: auto;
	margin: 0 30px;
}
section#health .health__wrapper .health__wrapper--cont .health__wrapper--artFlow .health__wrapper--flex .title {
	font-family: "Noto Sans JP", serif;
	font-size: 18px;
	font-weight: bold;
	color: #003FA3;
	line-height: 1.2;	
}
section#health .health__wrapper .health__wrapper--cont .health__wrapper--artFlow .health__wrapper--flex .title span {
	font-family: "Noto Sans JP", serif;
	font-size: 14px;
	font-weight: normal;
	color: #222;
	line-height: 1.57;	
}
section#health .health__wrapper .health__wrapper--cont .tri {	
	margin: 5px auto;
	text-align: center;
}
section#health .health__wrapper .health__wrapper--cont .triangle {
	width: 14px;
	height: 20px;
	transform:rotate(90deg);  
}
section#health .health__wrapper .health__wrapper--cont.plate h3 {
	font-family: "Noto Sans JP", serif;
	font-size: 28px;
	font-weight: bold;
	color: #003FA3;
	line-height: 1.4;
	text-align: center;
}
section#health .health__wrapper .health__wrapper--cont.plate .health__wrapper--sub {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: normal;
	color: #222;
	line-height: 1.4;
	text-align: left;
}
section#health .health__wrapper .health__wrapper--cont.plate .health__wrapper--plate {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 50px;
}
section#health .health__wrapper .health__wrapper--cont.plate .health__wrapper--plate.touch {
	justify-content: flex-start;
}
section#health .health__wrapper .health__wrapper--cont.plate .health__wrapper--plateBlock {
	display: block;
}
section#health .health__wrapper .health__wrapper--cont.plate .health__wrapper--plateBlock li {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: normal;
	color: #222;
	line-height: 1.4;
}
section#health .health__wrapper .health__wrapper--cont.plate .health__wrapper--plateBlock .service__section--btn.plate {
	width: 233px;
	margin: auto;
	margin-bottom: 25px;
}
section#health .health__wrapper .health__wrapper--cont.plate .health__wrapper--plate .img {
	max-width: 400px;
	flex-shrink: 0;
}
section#health .health__wrapper.promo {
	padding-bottom: 10px;
}
section#health .shuwa_logo img {
	max-width: 300px;
}
section#health .health__wrapper--sub img.long {
    width: 100px;
    margin-top: .5em;
	margin-right: .5em;
}
.page__menu {
	width: 80%;
	margin: 50px auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.page__menu--wrapper {
	display: flex;
	flex-flow: column;
	width: 200px;
	height: 100px;
	position: relative;
}
.page__menu--wrapper .btn {
	display: flex;
	flex-direction: column; /* 縦方向にテキストを並べる */
	justify-content: center; /* 垂直方向に中央揃え */
	align-items: center; /* 水平方向に中央揃え */
	width: 200px;
	height: 100px;
	background-color: #003FA3;
	border-radius: 30px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center; /* テキストを中央揃え */
	font-family: "Noto Sans JP", serif;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	transition : all 0.5s ease 0s;
}
.page__menu--wrapper .btn:hover {
	opacity: .8;
}
.page__menu--wrapper.second .btn {
	background-color: #FF821A;	
}
.page__menu--wrapper.third .btn {
	background-color: #55A86C;	
}
.mockup {
	width: 600px;
	height: 300px;
	border: 16px solid #000;
	border-radius: 40px;
	position: relative;
	background-color: #fff;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
	margin-left: 20px;
}
.health__wrapper.promo .health__wrapper--cont p.small {
    font-family: "Noto Sans JP", serif;
    font-size: 16px;
    font-weight: normal;
    color: #222;
    line-height: 1.6;	
	text-align: center;
	margin: 20px auto;
}
.health__wrapper--title.promo p.center {
    font-family: "Noto Sans JP", serif;
    font-size: 18px;
    font-weight: bold;
    color: #222;
    line-height: 1.6;	
	text-align: center;
	margin: 20px auto;
}
.mockup::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
    width: 4px;
    height: 50px;
    background-color: #000;
    border-radius: 2px;
}

.mockup::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%);
    width: 35px;
    height: 35px;
    background-color: #000;
    border-radius: 50%;
}

.screen {
  width: 570px;
  height: 268px;
  margin: 0px auto;
  /*background-color: #000;*/
  overflow: hidden;
  border-radius: 20px;
}


.screen video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*
.mockup {
  width: 300px;
  height: 600px;
  border: 16px solid #000;
  border-radius: 40px;
  position: relative;
  background-color: #fff;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.mockup::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 4px;
  background-color: #000;
  border-radius: 2px;
}

.mockup::after {
  content: "";
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 60px;
  background-color: #000;
  border-radius: 50%;
}

.screen {
  width: 268px;
  height: 536px;
  margin: 16px auto;
  background-color: #000;
  overflow: hidden;
  border-radius: 20px;
}

.screen video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
*/

.health__wrapper.promo .health__wrapper--cont h3 {
	font-family: "Noto Sans JP", serif;
	font-size: 28px;
	font-weight: bold;
	color: #003FA3;	
}
.health__wrapper.promo .health__wrapper--cont p {
	font-family: "Noto Sans JP", serif;
	font-size: 18px;
	font-weight: bold;
	color: #222;
	line-height: 1.4;
	text-align: center;
	margin-top: -20px;
}
.health__wrapper.promo .health__wrapper--cont img {
	width: 210px;
}
.health__wrapper.promo .health__wrapper--cont .health__wrapper--block {
	padding: 20px 0 10px;
	border-bottom: thin solid #ccc;
}
.health__wrapper.promo .health__wrapper--cont .health__wrapper--block:last-of-type {
	padding: 20px 0 0;
	border-bottom: none;
}
.health__wrapper.promo .health__wrapper--cont .health__wrapper--block h4 {	
	display: flex;
	align-items: center;	
	font-family: "Noto Sans JP", serif;
	font-size: 18px;
	font-weight: bold;
	color: #003FA3;		
	background: none;
}
.health__wrapper.promo .health__wrapper--cont .health__wrapper--block h4 span {
	font-family: "Figtree", serif;
	font-size: 30px;
	font-weight: bold;
	line-height: 1.2;
	color: #003FA3;
	padding-right: 16px;
}
.health__wrapper.promo .health__wrapper--cont .health__wrapper--block h5 {
	font-family: "Noto Sans JP", serif;
	font-size: 18px;
	font-weight: bold;
	color: #003FA3;
	padding: 0;
	border: none;
	padding-left: 16px;
	border-left: 3px solid #003FA3;
	margin-left: 60px;
}
.health__wrapper.promo .health__wrapper--cont .health__wrapper--block p {
	font-family: "Noto Sans JP", serif;
	font-size: 16px;
	font-weight: normal;
	color: #222;
	line-height: 0.6;
	text-align: left;
	margin-top: 12px;
	margin-left: 80px;
}
.health__wrapper.promo .health__wrapper--cont .health__wrapper--block p span {
	font-weight: bold;	
}

.promo__wrapper {
	max-width: 980px;
	padding: 75px 0px;
	margin: auto;	
}
.promo__wrapper .promo__wrapper--flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;	
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block {
	width: calc(100% / 2 - 10px);
	display: block;	
    background-color: #fff;
	border: thin solid #EAEAEA;
    box-shadow: -5px 5px 0px 0px rgba(231, 242, 248, 1);	
	margin-top: 30px;
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block.mid {
	width: 100%;
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block.mid .promo__wrapper--contFlex {
    display: flex;
	justify-content: center;
    align-items: center;	
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block.mid .promo__wrapper--contFlex .block {
	display: block;
}
.promo__wrapper .promo__wrapper--title {
    display: flex;
	justify-content: center;
    align-items: center;
	font-family: "Noto Sans JP", serif;
	font-size: 28px;
	font-weight: bold;
	color: #003FA3;	
	margin-bottom: 15px;
}
.promo__wrapper .promo__wrapper--title img {
	width: 200px;
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block .promo__title {
	display: flex;
	align-items: center;	
    background-image: linear-gradient(90deg, rgba(0, 63, 160, 1), rgba(43, 95, 178, 1) 10%, rgba(72, 117, 189, 1) 20%, rgba(255, 255, 255, 1));
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block .promo__title h3 {
	font-family: "Noto Sans JP", serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 40px;
    color: #fff;
    padding-left: 16px;		
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block .promo__wrapper--cont {
	padding: 20px 20px 10px;
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block .promo__wrapper--cont p {
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.75;
    color: #222;	
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block .promo__wrapper--cont p span {
    font-weight: bold;
    color: #003FA3;	
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block .promo__wrapper--cont p span.big {
	font-size: 18px;
    font-weight: bold;
    color: #003FA3;	
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block .promo__wrapper--img {
	padding: 0 20px 10px;
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block.mid .block .promo__wrapper--img {
	padding: 0 30px 10px;
}
.promo__wrapper .promo__wrapper--flex .promo__wrapper--block.mid  .block .promo__wrapper--lastImg {
	max-width: 470px;
	text-align: center;
	margin: auto;
	padding: 0 20px 10px;
}
section#regi__system {
	max-width: 980px;
	padding: 75px 0px;
	margin: auto;
	position: relative;
}
section#regi__system .regional__wrapper--title h2 {
    font-size: 28px;
    font-weight: bold;
    color: var(--vk-color-primary);
    line-height: 1.44;
    text-align: center;
}
section#regi__system .regional__wrapper--sub p {
    font-size: 16px;
    font-weight: normal;
    color: #222;
    line-height: 2;
    text-align: center;
    margin-top: 32px;
}
section#regi__system p {
	font-family: "Noto Sans JP", serif;	
    font-size: 16px;
    font-weight: normal;
    line-height: 1.6;
}
section#regi__system .regi__system--title h2 {
	margin: auto;
	max-width: 60%;
	font-family: "Noto Sans JP", serif;
    font-size: 36px;
    font-weight: bold;
    line-height: 1.6;
    color: #003FA3;
	padding-bottom: 20px;
	border-bottom: 2px solid #003FA3;
	text-align: center;
}
section#regi__system .regi__system--title h3 {
	font-family: "Noto Sans JP", serif;
    font-size: 36px;
    font-weight: bold;
    line-height: 1.6;
    color: #003FA3;
	text-align: center;
	margin-top: 10px;
	margin-bottom: 50px;
}

section#regi__system h2.products__info--title {
    font-family: "Noto Sans JP", serif;
    font-size: 30px;
    font-weight: 600;
    line-height: 1;
    color: #003FA3;
    border-left: 5px solid #003FA3;
    padding-left: 20px;
	margin-top: 80px;
	margin-bottom: 30px;
}
section#regi__system .products__info {
	display: flex;
}
section#regi__system .products__info .products__info--img {
	max-width: calc(100% / 2.5);
	margin-right: 30px;
	flex-shrink: 0;
}
section#regi__system .products__info .products__info--cont {
	display: block;
	margin-bottom: 50px;
}
section#regi__system .products__info .products__info--cont p {
    font-family: "Noto Sans JP", serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6
}
section#regi__system .products__info .products__info--cont p img {
	margin: 10px 0 10px 150px;
	
}
section#regi__system .products__info .products__info--cont p.small {
	font-size: 14px;
}
section#regi__system .products__cont h3 {
    font-family: "Noto Sans JP", serif;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.6;
    color: #003FA3;	
	margin-bottom: .5em;
}
section#regi__system .products__info .products__info--cont h3 {
    font-family: "Noto Sans JP", serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
    color: #003FA3;	
	margin-bottom: 2em;
}
section#regi__system .products__function--area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;		
}
section#regi__system .products__function--area .products__function--img {
	max-width: calc((100% - 30px) / 4);
	flex-shrink: 0;
	background-color: #f4f5f7;
}
section#regi__system .dlb_content-47 {
	margin-top: 50px;
}
section#regi__system .dlb_c47_box {
    background-color: #f4f7fa;
}
section#regi__system .dlb_c47_main {
	font-weight: bold;
	color: #fff;
    background-color:#4aa5ec
}
section#regi__system .dlb_c47_box.num03 .dlb_c47_main {
    background-color:#4987ec
}
section#regi__system .dlb_c47_box.num01 .dlb_c47_main {
    background-color: #8aa5b5;
}
section#regi__system p.dlb_c47_price {
	font-family: "Figtree", serif;
    font-size: 40px;
    text-align: center;
    margin-bottom: 30px;
    font-weight: bold;
    line-height: 1;
}
section#regi__system p.dlb_c46_txt {
    font-family: "Noto Sans JP", serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;	
}
section#regi__system .dlb_c47_catch {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 55px;
    border-radius: 50%;
    width: 55px;
    position: absolute;
    top: -25px;
    right: 10px;
    line-height: 1.2;
    font-weight: bold;
    font-size: 13px;
	color: #003FA3;
    background-color: #fff;
	box-shadow: 0 0 5px 0 rgba(0, 0, 0, .2);
}
.page-id-115 section#faq .faq__wrapper {
    margin-top: -100px;
}

/* ----------------------------

サムネイル名 ： コンテンツ　C-47（Ver3 2018/8）

----------------------------- */
.dlb_c47_in {
    display: flex;
}

.dlb_c47_box {
    margin: 0 10px 0 0;
    border-radius: 8px;
    width: 100%;
}

.dlb_c47_box:last-child {
    margin-right: 0;
}

.dlb_c47_main {
    padding: 30px 25px 25px;
    border-radius: 8px 8px 0 0;
    position: relative;
}

.dlb_c47_catch {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 55px;
    border-radius: 50%;
    width: 55px;
    position: absolute;
    top: -25px;
    right: 10px;
    line-height: 1.2;
    font-weight: bold;
    font-size: 13px;
}

.dlb_c47_type {
    font-size: 20px;
    text-align: center;
    margin-bottom: 15px;
    line-height: 1.4;
}

.dlb_c47_name {
    text-align: center;
    margin-bottom: 5px;
    font-weight: bold;
}

.dlb_c47_price {
    font-size: 40px;
    text-align: center;
    margin-bottom: 30px;
    font-weight: bold;
    line-height: 1;
}

.dlb_c47_price .txt_s {
    font-size: 28px;
}

.dlb_c47_info {
    padding: 15px 25px;
    font-size: 12px;
}

.dlb_c47_btn {
    margin-top: 30px;
}

.dlb_c47_btn a {
    display: block;
    text-align: center;
    padding: 4px;
    border-radius: 4px;
    position: relative;
    overflow: hidden;
    border-width: 1px;
    border-style: solid;
}

.dlb_c47_btn a:hover {
    text-decoration: none;
}

.dlb_c47_btn a::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    transform: translate3d(-100%, 0, 0);
    transition: transform 0.4s 0s cubic-bezier(0.48, 0.18, 0, 0.98);
}

.dlb_c47_btn a:hover::before {
    transform: translate3d(0, 0, 0);
}

.dlb_c47_btn a .txt {
    position: relative;
    z-index: 1;
}

@media only screen and (max-width: 999px) {
    .dlb_c47_box {
        margin: 0 5px 0 0;
    }

    .dlb_c47_main {
        padding: 30px 15px 15px;
    }

    .dlb_c47_type {
        font-size: 18px;
    }

    .dlb_c47_price {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .dlb_c47_price .txt_s {
        font-size: 20px;
    }

    .dlb_c47_info {
        padding: 15px;
    }

    .dlb_c47_btn {
        margin-top: 25px;
    }
}

@media only screen and (max-width: 690px) {
    .dlb_c47_in {
        flex-wrap: wrap;
    }

    .dlb_c47_box {
        width: 48%;
        margin-bottom: 25px;
        margin-right: 4%;
    }

    .dlb_c47_box:nth-child(2n) {
        margin-right: 0;
    }

    .dlb_c47_main {
        padding: 25px 15px 20px;
    }

    .dlb_c47_type {
        margin-bottom: 10px;
    }

    .dlb_c47_price {
        font-size: 32px;
    }

    .dlb_c47_catch {
        height: 40px;
        width: 40px;
        top: -20px;
        right: 5px;
        font-size: 11px;
    }

    .dlb_c47_btn {
        margin-top: 15px;
    }
}

.txtarea-point {
  border: solid 1px #003FA3;
  text-align: center;
  border-radius: 100%;
  width: 155px;
  height: 155px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
	padding-top: 30px;
  background: #fff;
  z-index: 5;
  /*  */
  position: absolute;
  top: 300px;
	right: 20px;
}
.txtarea-point .ttl {
  font-size: 15px;
  margin-bottom: 5px;
  display: inline-block;
}
.txtarea .maintxt02 {
  margin-top: 20px;
}
.txtarea-point .txt {
  padding-top: 0;
  font-size: 19px;
  color: #003FA3;
  display: inline-block;
}
.u-topcon {
  width: 100%;
}
.u-topcon .icon {
  text-align: center;
}
.u-topcon .icon img {
  width: 750px;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (max-width: 980px) {
  .u-topcon {
    width: 80%;
    margin-right: auto;
    margin-left: auto;
  }
  .txtarea-point {
    width: 120px;
    height: 120px;
    /*  */
    position: absolute;
  }
  .txtarea-point .ttl {
    font-size: 13px;
    margin-bottom: 5px;
  }
  .txtarea-point .txt {
    padding-top: 0;
    font-size: 16px;
  }
  .u-fs-32 {
    font-size: 28px;
  }
  .u-topcon .icon img {
    width: 600px;
  }
}
@media only screen and (max-width: 830px) {
	/*
  .txtarea-point {
    position: absolute;
	  top: 0;
  }
	*/
  .u-fs-32 {
    font-size: 24px;
  }
  .u-topcon .icon img {
    width: 450px;
  }
  .txtarea-point .ttl {
    font-size: 12px;
    margin-bottom: 2px;
  }
  .txtarea-point .txt {
    padding-top: 0;
    font-size: 14px;
  }
  .u-topcon {
    width: 95%;
    margin-right: auto;
    margin-left: auto;
  }
	.page__menu {
		width: 95%;
	}	
}

@media only screen and (max-width: 660px) {
  .txtarea-point {
    position: absolute;
	  top: 0px;
  }
  .u-fs-32 {
    font-size: 18px;
  }
  .u-topcon .icon img {
    width: 280px;
  }
  .txtarea-point .ttl {
    font-size: 10px;
    margin-bottom: 2px;
  }
  .txtarea-point .txt {
    padding-top: 0;
    font-size: 12px;
  }
  .u-topcon {
    width: 95%;
    margin-right: auto;
    margin-left: auto;
  }
	.page__menu {
		width: 100%;
		flex-flow: column;
	}
	.page__menu--wrapper {
		margin-bottom: 30px;
	}	
}

@media only screen and (max-width: 460px) {
  .u-fs-32 {
    letter-spacing: 0.001rem;
    font-size: 15px;
  }
  .u-topcon {
    width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
  .u-topcon .icon img {
    width: 100%;
  }
  .txtarea-point {
    position: absolute;
	  top: 380px;
  }
	section#regi__system .regi__system--title {
		margin-top: 120px;
	}
  .txtarea-point .ttl {
    font-size: 10px;
    margin-bottom: 2px;
  }
  .txtarea-point .txt {
    padding-top: 0;
    font-size: 10px;
  }
    section#regi__system .regi__system--title h2 {
        max-width: 100%;
    }	
}

.free__word {
	display: flex;
}
.free__word .free__word--wrapper {
    font-family: "Noto Sans JP", serif;
    font-size: 14px;
    font-weight: 500;
    color: #222;	
	background-color: #f8f8f8;
	padding: 5px;
	margin-right: .5em;
}
section#case__study--page {
	margin: auto;
	max-width: 980px;
	padding: 80px 0 130px;	
}
section#case__study--page .case__study--page {

}
section#case__study--page .case__study--page .case__study--contPage {
	width: 100%;
	display: flex;
	padding: 20px;
	border: thin solid #ccc;
	margin-right: 25px;
	margin-left: 25px;
	margin-bottom: 50px;
}
section#case__study--page .case__study--page .case__study--contPage .case__page {
	display: flex;	
}	

section#case__study--page .case__study--page .case__study--contPage .image {
    position: relative;
    overflow: hidden;
    width: 400px;
	max-width: 400px;
    height: 100%;
	margin-right: 30px;
	flex-shrink: 0;
}
section#case__study--page .case__study--page .case__study--contPage .case__page--block {
	display: block;
}
section#case__study--page .case__study--page .case__study--contPage .title {
    font-family: "Noto Sans JP", serif;
    font-size: 20px;
    font-weight: 500;
    color: var(--vk-color-primary);
	padding-bottom: 20px;
	border-bottom: thin solid #ccc;
	margin: 20px 0;
}
section#case__study--page .case__study--page .case__study--contPage .cont {
    font-family: "Noto Sans JP", serif;
    font-size: 16px;
    font-weight: 400;
}
section#case__study--page .case__study--page .case__study--contPage .image img {
    width: 400px;
	max-width: 400px;
    height: 100%;
	object-fit: cover;
	opacity: 1;
    transition: transform 0.5s ease, opacity 0.5s ease;
}
section#case__study--page .case__study--page .case__study--contPage .title,
section#case__study--page .case__study--page .case__study--contPage .cont {
    transition: transform 0.5s ease, color 0.5s ease;	
}
section#case__study--page .case__study--page .case__study--contPage:hover .title,
section#case__study--page .case__study--page .case__study--contPage:hover .cont {
	color: #003FA3;
}
section#case__study--page .case__study--page .case__study--contPage:hover .image img,
section#case__study--page .case__study--page .case__study--contPage:hover .image img {
    transform: scale(1.2);
	opacity: 0.8;
}

@media screen and (max-width: 768px) {
	section#case__study--page .case__study--page .case__study--contPage {
		width: 95%;
	}
	section#case__study--page .case__study--page .case__study--contPage .case__page {
		display: block;
	}
	section#case__study--page .case__study--page .case__study--contPage .image,
	section#case__study--page .case__study--page .case__study--contPage .image img {
		max-width: 100%;
		margin-right: 0;
	}
	section#case__study--page {
		padding: 80px 10px 130px;	
	}	
}


section#case__study {
	background-color: #F6FAFC;
}
section#case__study .case__study--wrapper {
	margin: auto;
	max-width: 980px;
	background-color: #fff;
	padding: 80px 60px;	
}
section#case__study .case__study--wrapper .pr_text {
	display: block;
	width: 100%;
	font-family: "Noto Sans JP", serif;
    font-size: 24px;
	font-weight: 600;
    line-height: 1.6;	
	color: #fff;
	background-color: var(--vk-color-primary);
	padding: 30px 50px;
	margin: 30px 0 50px;
}
section#case__study .case__study--wrapper .description {
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
	font-weight: 400;
    line-height: 1.6;		
}
section#case__study .case__study--wrapper .profile_title {
	font-family: "Noto Sans JP", serif;
    font-size: 26px;
	font-weight: 600;
    line-height: 1.4;
	color: #222222;
	padding-left: 1em;
    border-left: 5px solid #003FA3;
	margin: 80px 0 50px;
}
section#case__study .case__study--wrapper .profile_wrapper {
	display: flex;
	margin-bottom: 50px;
}
section#case__study .case__study--wrapper .profile_wrapper .profile_img {
	width: 48%;
	margin-right: 4%;
	flex-shrink: 0;
}
section#case__study .case__study--wrapper .profile_wrapper .profile_cont {
	display: block;
	width: 100%;
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
	font-weight: 400;
    line-height: 1.6;	
}
section#case__study .case__study--wrapper .profile_wrapper .profile_name {
	display: inline-block;
	font-family: "Noto Sans JP", serif;
    font-size: 22px;
	font-weight: 600;
    line-height: 1.4;
	color: #fff;
	background-color: var(--vk-color-primary);
	padding: 10px 20px;
	margin-bottom: 20px;
}
section#case__study .case__study--wrapper .profile_wrapper .profile_desc p {
	line-height: 1.9;
}
section#case__study .case__study--wrapper .profile_wrapper .profile_desc a {
	color: var(--vk-color-primary);
}
section#case__study .case__study--wrapper .other_wrapper h3 {
	font-family: "Noto Sans JP", serif;
    font-size: 20px;
	font-weight: 600;
    line-height: 1.6;
	border: thin solid var(--vk-color-primary);
	padding: 10px;
}
section#case__study .case__study--wrapper .other_wrapper .other_cont {
	display: flex;
	margin-top: 30px;
	margin-bottom: 50px;	
}
section#case__study .case__study--wrapper .other_wrapper .other_inner {
	display: block;
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
	font-weight: 400;
    line-height: 1.6;		
}
section#case__study .case__study--wrapper .other_wrapper .other_img {
	width: 30%;
	margin-left: 4%;
	text-align: center;
	flex-shrink: 0;	
}


section#page_footer {
	background-image: url(images/footer_bg.webp);
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
}
section#page_footer .page__footer--wrapper {
	max-width: 980px;
	padding: 72px 0 85px;
	margin: auto;
}
section#page_footer .page__footer--wrapper a {
	color: #fff;
}
section#page_footer .page__footer--wrapper .page__footer--menu {
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
	font-weight: 600;
    line-height: 1.5;
}
section#page_footer .page__footer--wrapper .page__footer--menu a {
	margin-right: 4em;
	padding-bottom: 3px;
	display: inline-block;
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-thickness: 1px;
	transition: transform 0.3s ease, color 0.3s ease, text-decoration-color 0.3s ease;
}
section#page_footer .page__footer--wrapper .page__footer--menu a:hover {
	transform: translateX(10px);
	color: #FF821A;
	text-decoration-color: #FF821A;
}
section#page_footer .page__footer--wrapper .page__footer--menuSecond {
	display: block;
	margin-top: 31px;
}
section#page_footer .page__footer--wrapper .page__footer--menuSecond .page__footer--menuParent {
	font-family: "Noto Sans JP", serif;
    font-size: 16px;
	font-weight: 600;
    line-height: 1.5;
	margin-bottom: 8px;
}
section#page_footer .page__footer--wrapper .page__footer--menuSecond .page__footer--menuParent a,
section#page_footer .page__footer--wrapper .page__footer--menuSecond .page__footer--menuChild a,
section#page_footer .page__footer--wrapper .page__footer--menuThird a {
	display: inline-block;
	position: relative;
	transition: transform 0.3s ease, color 0.3s ease;	
}
section#page_footer .page__footer--wrapper .page__footer--menuSecond .page__footer--menuParent a:hover,
section#page_footer .page__footer--wrapper .page__footer--menuSecond .page__footer--menuChild a:hover,
section#page_footer .page__footer--wrapper .page__footer--menuThird a:hover {
	transform: translateX(10px);
	color: #FF821A;
}
section#page_footer .page__footer--wrapper .page__footer--menuSecond .page__footer--menuChild {
	font-family: "Noto Sans JP", serif;
    font-size: 14px;
	font-weight: 400;
    line-height: 1.78;
	padding-bottom: 42.5px;
	border-bottom: thin solid #fffd;
	transition: width 0.5s ease, height 0.5s ease;
}
section#page_footer .page__footer--wrapper .page__footer--bottom {
	display: flex;
	justify-content: space-between;
	margin-top: 21.5px;
	font-family: "Noto Sans JP", serif;
    font-size: 14px;
	font-weight: 400;
    line-height: 1.78;
	margin-top: 25px;
}
section#page_footer .page__footer--wrapper .page__footer--menuThird {
	width: 420px;
	max-width: 100%;
	display: flex;
	justify-content: space-between;	
}
.scrolled .page_top_btn {
	display: none;	
}
.page_top_btn {
	display: none;
}
.pagebtn {
	position: absolute;
	bottom: 20px;
	right: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
}
#page-top {
	text-align: center;
	background-color: transparent;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	transition: color 0.3s ease;
}
#page-top i {
	width: 40px;
	height: 40px;
	border: thin solid #fff;
	border-radius: 50%;
	font-size: 16px;
	line-height: 40px;
	text-align: center;
	background-color: transparent;
	transition: background-color 0.3s ease, border-color 0.3s ease;
}
#page-top span {
	font-family: "Noto Sans JP", serif;
	font-size: 8px;
	font-weight: 400;
	margin-right: 4px;
	transition: color 0.3s ease;
}
#page-top:hover i {
	background-color: #FF821A;
	border-color: #FF821A;
}
#page-top:hover span {
	color: #FF821A;
}
.page-header,
section#page__header {
	width: 100%;
	height: 240px;
	background-image: url(images/page_header-bg.webp);
	background-repeat: no-repeat;
	background-position: center;
	position: relative;	
}
section#page__header .title__wrapper {
    display: flex;
    flex-direction: column;	
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
	color: #fff;
}
.page-header-title, h1.page-header-title,
section#page__header .title__wrapper h1.page__title--ja {
	font-family: "Noto Sans JP", serif;
	font-size: 42px;
	font-weight: 500;
	line-height: 1.2;
	color: #fff;
	text-align: center;
	margin-bottom: 8px;
}
section#page__header .title__wrapper h2.page__title--en {
	font-family: "Figtree", serif;
	font-size: 22px;
	font-weight: 500;
	line-height: 1.2;
	color: #fff;
	text-align: center;
}

.breadcrumb {
    max-width: 980px;
    margin: auto;
}

.animate__delay-custom {
    animation-delay: 0.5s; /* アニメーションのディレイを設定 */
}
#comments {
	display: none;
}

/* サイトマップの設定 */
.custom__sitemap {
	display: flex;
	justify-content: space-between;
}
.custom__sitemap--left,
.custom__sitemap--right{
	max-width: 45%;
}
.custom__sitemap h3.post-type {
	display: none;
}
.sitemap-item.page_item.page-item-82,
.sitemap-item.page_item.page-item-43,
.sitemap-item.page_item.page-item-45 {
	display: none;
}
.entry-meta-item.entry-meta-item-updated,
.vcard.author,
.copySection p:nth-child(2) {
    display: none  !important;
}

/*　　MW WP Formカスタマイズ　　*/
.mw_wp_form input[type="email"],
.mw_wp_form input[type="tel"],
.mw_wp_form input[type="text"],
.mw_wp_form textarea {
	padding: 1em;
	 width: 100%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 15px;
	border: 1px solid #ccc;
}
.mw_wp_form select {
	display: block;
	position: relative;
	width: 80%;
	height: 38px;
	font-size: 14px;
	font-size: 0.9rem;
	border: 1px solid #ccc;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	-ms-border-radius: 4px;
	border-radius: 4px;
	overflow: hidden;
	padding: 0 10px;
}
.mw_wp_form select:after {
	position: absolute;
	display: block;
	content: '';
	width: 0;
	height: 0;
	border-top: 5px solid transparent;
	border-left: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid #333;
	top: 50%;
	right: 10px;
	margin-top: -3px;
	pointer-events: none;
}

/*「表」デザイン */
.cform th {
	font-size: 15px;
	width: 25%;
	border-bottom: solid 1px #d6d6d6;
	padding: 10px 20px 10px 15px;
	font-weight: bolder;
	text-align: right;
}
.cform td {
	font-size: 15px;
	line-height: 200%;
	border-bottom: solid 1px #d6d6d6;
	padding: 10px 10px;
}

/* 表示 */
.cform {
	width: 94%;
	margin: auto;
}
.cform option,
.cform textarea,
.cform input[type=text],
.cform input[type=email],
.cform input[type=search],
.cform input[type=url] {
	width: 90%;
}

@media only screen and (max-width:767px) {
	.cform th,
	.cform td {
		width: 100%;
		border: 1px solid #999;
		padding: .5em 1em;
		display: block;
		border-top: none;
		text-align: left;
	}
	.cform th {
		margin-top: 30px;
		border-bottom: none;
	}
	.cform td {
		border-top: none;
	}
}

/* 「送信ボタン」デザイン */
.btn_flex {
	margin: 20px auto;
	max-width: 400px;
	display: flex;
	justify-content: space-around;
}
.submit-btn input {
	background-color:var(--vk-color-primary);
	border:0;
	color:#ffffff;
	font-size:1.3em;
	font-weight:bolder;
	margin:0 auto;
	padding: 10px 35px;
	border-radius: 3px;
	cursor: pointer;
	text-align:center;
}
.submit-btn {
	text-align:center;
	margin-top:20px;
	cursor: pointer;
}
.submit-btn input:hover {
	background: var(--vk-color-custom-3);
	color: #FFFFFF;
	cursor: pointer;
}
/*「必須」デザイン */
.required-srt {
	font-size:0.9em;
	padding: 6px;
	border-radius: 5px;
	margin-right: 10px;
	color: #d62b2b;
	margin-left: .5em;
}

.breadcrumb-list li:after {
    content: "›";
    margin-left: 0.8em;
    margin-right: 0.8em;
}

.entry-meta-data-list {
	 pointer-events: none;
}

.entry-meta-item.entry-meta-item-updated,
.vcard.author,
.site-footer-copyright p:nth-child(2) {
    display: none  !important;
}

/* 特商法 */
.tokushou table th,
.tokushou table td {
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
	padding: 1em;
	vertical-align: top;
}
.tokushou table td a {
	color: var(--vk-color-primary);
}

/* リモートサポート */
.support__wrapper {
	display: flex;
	align-items: center;
}
.support__wrapper .support__wrapper--img {
	margin-right: 20px;
	flex-shrink: 0;
}
.support__wrapper .support__wrapper--cont {
	background-color: #F6FAFC;
	padding: 40px;
}
.support__wrapper .support__wrapper--cont .more.contact {
	margin: auto;
}

@media screen and (min-width: 1200px) {
	.container,
	.container-lg,
	.container-md,
	.container-sm,
	.container-xl {
		max-width: 1150px;
	}
	.site-body {
        max-width: 980px;
        margin: auto;
        padding: 3.5rem 0 4rem;
    }
	.tokushou table th {
		white-space: nowrap;
	}
}

@media (min-width: 992px) {
	.global-nav--layout--float-right {
		width: auto;
		margin-left: 0;
		margin-top: 40px;
	}
	.site-header--layout--nav-float .site-header-logo {
		margin-right: 2em;
		width: 100%;
	}
	.site-header--layout--nav-float .site-header-logo img {
		margin-left: 1em;
	}
	.site-header-logo {
        text-align: left;
        padding-top: 0;
        margin-bottom: 0;
        margin-left: 0;
    }
	body:not(.header_scrolled) .global-nav-list>li .global-nav-name {
		display: flex;
		flex-direction: column;
		letter-spacing: 2px; 
	}
	.vk-menu-acc li,
  	body:not(.header_scrolled) .vk-menu-acc li {
		width: auto;
	  	height: auto;
		border-right: 1px solid #ddd;
		border-left: 1px solid #ddd;		
		padding: 0 4em;
  	}
	/*
	.device-mobile .global-nav-list>li>.sub-menu.acc-child-open {
		height: 100px;
        display: flex;
	}
	*/
	.vk-menu-acc li, body:not(.header_scrolled) .vk-menu-acc li,
	.vk-menu-acc li, body.header_scrolled .vk-menu-acc li {
        width: auto;
        height: auto;
        border-right: 1px solid #ddd;
        border-left: 1px solid #ddd;
        padding: 0 4em;
    }
	.vk-menu-acc ul.sub-menu li {
		padding: 20px 0;
		white-space: nowrap;
	}
	body.header_scrolled .site-header--layout--nav-float .site-header-container {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	body.header_scrolled .site-header-logo {
		display: block;
	}
	
	.global-nav--layout--float-right,
	body:not(.header_scrolled) .global-nav--layout--float-right {
		position: relative;
		max-width: 100%;
        display: flex;
        justify-content: center;
    }
	.header_scrolled .global-nav-list {
		display: block;
		width: unset;
	}
	/*
	.site-header .global-nav,
	.header_scrolled .site-header .global-nav {
		max-width: 1150px;
		display: block;
	}
	.site-header .global-nav,
	.header_scrolled .site-header .global-nav {
		display: block;	
		margin-top: 10px;
		margin-left: auto;
		margin-right: auto;
	}
	*/
	.global-nav--layout--float-right {
			width: auto;
			margin-left: 0;
			margin-top: 0;
    }	
	.header_scrolled .site-header .global-nav {
        display: flex;
        justify-content: center;		
		margin-left: auto;
		margin-right: auto;
	}
	.global-nav-list .sub-menu li a {
		color: #000;
		transition : all 0.5s ease 0s;
	}
	.global-nav-list .sub-menu li a:hover {	
		background: #fff;
		opacity: .6;
		color: var(--vk-color-primary);
	}	
	.site-header {
		box-shadow: none;
	}
	.widget li a::before {
		content: none;
	}
	.header_scrolled .site-header {
		box-shadow: 0 1px 3px rgba(0, 0, 0, .05);
	}
}


@media screen and (max-width: 1300px) {
	.mv_first .mv_cont h2,
	.mv_second .mv_cont h2,
	.mv_third .mv_cont h2 {
		font-size: clamp(20px, 9.865px + 2.703vw, 45px);
	}	
	section#business__details .business__details--title h2,
	.service__wrapper--title h2 {
		font-size: clamp(30px, 17.838px + 3.243vw, 60px);
	}
	section#business__details .business__details--cont p {
		font-size: clamp(16px, 14.378px + 0.432vw, 20px);
	}
	.service__wrapper--title span {
		font-size: clamp(20px, 16.757px + 0.865vw, 28px);
		padding-top: 0;	
	}
	section#regi__system .regi__system--title h2,
	section#regi__system .regi__system--title h3 {
		font-size: clamp(24px, 19.135px + 1.297vw, 36px);
	}
}

@media screen and (max-width: 991px) {
	.vk-menu-acc li, body:not(.header_scrolled) .vk-menu-acc li {
        width: 100%;
    }	
	.vk-menu-acc .sub-menu li,
	body:not(.header_scrolled) .vk-menu-acc .sub-menu li {
		width: 100%;
		max-width: 100%;
	}
	.vk-menu-acc li, body:not(.header_scrolled) .vk-menu-acc li ,
	.header_scrolled .vk-menu-acc .sub-menu li,
	.header_scrolled .global-nav-list>.sub-menu li {
		width: 100%;
		max-width: 100%;
	}	
	.vk-menu-acc ul.sub-menu li a {
		color: #333;
		font-size: 14px;
	}
	.site-header-logo img {
		max-height: 80px;
	}
	.header__right {
		display: none;
	}
	.header__ranslate {
		top: 10px;
		right: 10px;
	}
	.vk-menu-acc .acc-btn {
		border: none;
	}
	.mv_line,
	.mv_slide {
		max-width: 100vw;
	}
	section#mv {
		padding: 0;
	}
	.mv_first .mv_cont {
		padding-left: 20px;
		padding-right: 20px;
	}
	section#business__details {
		padding: 60px 20px 80px;
	}

	section#service {
		background-color: #F6FAFC;
		padding: 60px 20px;
	}
	section#service .service__wrapper .service__wrapper--box,
	section#service .service__wrapper .service__wrapper--box.reverce,
	section#column .column__wrapper--flex,
	section#footer_contact .footer__contact--wrapper {
		flex-flow: column;
	}
	section#service .service__wrapper .service__wrapper--box .service__wrapper--inner .service__wrapper--title {
    	max-width: 100%;
	}
	section#service .service__wrapper .service__wrapper--box .more {
		margin-right: 0;
		margin-left: auto;
	}
	section#case_study {
		margin: auto;
		max-width: 980px;
		padding: 80px 20px 130px;
	}
	section#information {
		background-color: #F6FAFC;
		padding: 85px 20px 100px;
	}
	section#about__us {
		padding: 110px 20px;
	}
	section#about__us .about__us--inner {
		padding: 50px 20px;
		border-radius: 20px;
	}
	section#column {
		padding: 80px 20px 100px;
	}
	section#column .title__wrapper {
		display: flex;
		align-items: center;
		margin-right: 0;
		margin-bottom: 30px;
		flex-shrink: 0;
	}	
	section#column .title__wrapper .more_wrapper {
		margin-top: 0;
	}
	section#page_footer {
		padding-left: 20px;
		padding-right: 20px;
	}
	section#footer_contact .footer__contact--wrapper .footer__contact--inner {
		max-width: 100%;
		padding-left: 30px;	
		padding-right: 30px;
	}
	section#footer_contact .footer__contact--wrapper .footer__contact--inner .footer__contact--block {
		width: 100%;
	}
	section#footer_contact .footer__contact--wrapper .footer__contact--inner.last {
		margin-top: 50px;
	}
	section#page_footer .page__footer--wrapper .page__footer--menuThird {
		flex-flow: column;
	}
	section#service__section,
	section#one__stop--solution,
	section#faq {
		padding: 20px;
	}
	section#one__stop--solution .one__stop--wrapper .one__stop--img {
		margin: auto;
		float: none;
		text-align: center;
		margin-bottom: 50px;
	}
	section#one__stop--solution .one__stop--wrapper h2 {
		font-size: clamp(40px, 18.571px + 5.714vw, 70px);
	}
	.service__wrapper--title h2 {
		margin-bottom: 0;
	}
	section#page__header .title__wrapper {
		width: 90%;
	}
	.page-header-title, h1.page-header-title,
	section#page__header .title__wrapper h1.page__title--ja {
		font-size: clamp(28px, 18.000px + 2.667vw, 42px);
	}
	section#page__header .title__wrapper h2.page__title--en {
		font-size: clamp(18px, 15.143px + 0.762vw, 22px);
	}
	section#service__section .service__section--wrapper .service__section--flow .service__section--flex img.flow {
		width: calc(100% / 5 - 20px);
	}
	section#regi__system {
		padding: 50px 20px;
		margin: auto;
	}
	section#regional,
	section#health,
	section#compamy__philosophy,
	section#compamy__profile,
	section#compamy__gbm,
	section#compamy__partner,
	section#compamy__map {
		padding-left: 20px;
		padding-right: 20px;
	}
	section#regional .regional__wrapper .regional__wrapper--title h2,
	section#health .health__wrapper .health__wrapper--title h2 {
		font-size: clamp(20px, 15.378px + 1.233vw, 28px);
	}
	section#regional .regional__wrapper .regional__wrapper--title h2 span,
	section#health .health__wrapper .health__wrapper--title h2 span {
		font-size: clamp(24px, 17.066px + 1.849vw, 36px);
	}
	section#regional .regional__wrapper .service__section--flow .service__section--flex img.flow {
		width: calc(100% / 6 - 30px);
		height: 100%;
	}	
	.health__wrapper.promo .health__wrapper--cont .health__wrapper--block p {
		font-family: "Noto Sans JP", serif;
		font-size: 16px;
		font-weight: normal;
		color: #222;
		line-height: 1.6;
		text-align: left;
		margin-top: 12px;
		margin-left: 80px;
	}	
	/* リモートサポート */
	.support__wrapper {
		display: flex;
		align-items: center;
		flex-flow: column;
	}
	.support__wrapper .support__wrapper--img {
		margin: auto;
		flex-shrink: 0;
	}
	.support__wrapper .support__wrapper--cont {
		background-color: #F6FAFC;
		padding: 40px;
	}
	.support__wrapper .support__wrapper--cont .more.contact {
		margin: auto;
	}	
}

@media screen and (min-width: 768px){
  a[href^="tel:"] {
    pointer-events: none;
  }
}

@media screen and (max-width: 600px) {
	.mv_slide,
	.mv_slide img {
		height: 600px;
		height: 100%;
	}
	.title__wrapper {
		flex-flow: column;
	}
	.service__wrapper--title {
		margin-bottom: 30px;
	}
	.more_wrapper {
		margin-right: 0;
    	margin-left: auto;
	}
	.mv_first .mv_cont {
		padding-left: 0;
		padding-right: 0;
	}	
	section#business__details {
        padding: 0 20px 30px;
    }
	section#business__details .business__sub--title h3 {
		font-size: clamp(20px, 13.333px + 1.778vw, 24px);
	}
	section#business__details .business__sub--cont p {
		text-align: left;
	}
	ection#business__details .business__sub--cont p br {
		display: none;
	}
	section#about__us table.company th {
		background: #ccc;
		color: var(--vk-color-primary);
		background: #006ec5;
		color: #fff;		
		text-align: left;
	}
	section#service__section .service__section--wrapper .service__section--kinds .service__section--img {
		max-width: 45vw;
		height: auto;
		float: none;
		margin: auto;
	}	
	section#service__section .service__section--wrapper .service__section--flow .service__section--flex {
		flex-flow: column;
		align-items: center;
	}
	section#service__section .service__section--wrapper .service__section--flow .service__section--flex img.flow {
		width: 45vw;
	}
	section#service__section .service__section--wrapper .service__section--flow .service__section--flex img.triangle {
		width: 28px;
		height: 40px;
		margin-top: 20px;
		margin-bottom: 20px;
		transform: rotate(90deg);
	}
	section#regi__system .products__info {
		flex-direction: column;
	}
	section#regi__system .products__info .products__info--img {
		max-width: 100%;
		margin-right: 0;
		margin-bottom: 30px;
	}
	.dlb_c47_in {
		flex-direction: column;
	}
	.dlb_c47_box {
        width: 100%;
        margin-bottom: 25px;
		margin-left: 0;
    }
	section#regional .regional__wrapper .regional__point--flex {
		flex-direction: column;
	}
	section#regional .regional__wrapper .regional__point--block h3 {
		padding-left: 0;
	}
	section#regional .regional__wrapper .regional__point--block {
		width: 100%;
		display: block;
		padding: 10px 20px;
		border-right: none;
	}
	section#regional .regional__wrapper .regional__features--flex,
	section#health .health__wrapper .health__wrapper--cont .health__wrapper--art,
	section#health .health__wrapper .health__wrapper--cont.plate .health__wrapper--plate,
	section#health .health__wrapper .health__wrapper--cont .health__wrapper--artFlow .health__wrapper--flex {
		flex-direction: column;
	}
	section#regi__system .products__function--area .products__function--img {
		max-width: calc((100% - 10px) / 2);
	}
	section#regional .regional__wrapper .regional__features--flex .regional__wrapper--block {
		width: 100%;
	}
	section#health .health__wrapper .health__wrapper--cont .health__wrapper--art .video  {
		width: 100%;
		height: 100%;
		aspect-ratio: 16 / 9;
	}	
	section#health .health__wrapper .health__wrapper--cont .health__wrapper--art .video iframe {
		width: 100%;
		height: 100%;
	}
	section#health .health__wrapper .health__wrapper--cont .health__wrapper--artFlow .health__wrapper--flex .img {
		margin: 20px auto;
	}
	section#health .health__wrapper .health__wrapper--cont .health__wrapper--artFlow .health__wrapper--flex .title {
		text-align: center;
	}
	section#health .health__wrapper .health__wrapper--cont .health__wrapper--artFlow .health__wrapper--flex .title span {
		margin-top: 10px;
	}

	.promo__wrapper .promo__wrapper--flex {
		flex-direction: column;
	}
	.promo__wrapper .promo__wrapper--flex .promo__wrapper--block {
		width: 100%;
	}	
	.health__wrapper.promo .health__wrapper--cont .health__wrapper--block h4 {
		line-height: 1.8;
	}
	.health__wrapper.promo .health__wrapper--cont .health__wrapper--block h5,
	.health__wrapper.promo .health__wrapper--cont .health__wrapper--block p {
		margin-left: 0;
	}
	section#compamy__gbm .compamy__gbm--wrapper .compamy__gbm--cont img {
		max-width: 100%;
		margin: 20px auto;
	}
	table.company th,
	table.company td {
		display: block;
	}
	section#compamy__partner .compamy__partner--wrapper .compamy__partner--img img {
		max-width: 100%;
		padding: 30px 20px;
	}
	section#case__study--page {
		padding: 60px 20px;	
	}
	section#case__study--page .case__study--page {
		flex-direction: column;	
	}
	section#case__study--page .case__study--page .case__study--contPage {
		width: 100%;
		margin-right: 0;
		margin-left: 0;
		margin-bottom: 30px;
	}
	.tokushou table th,
	.tokushou table td {
		text-align: left;
		padding: 0.5em;
		display: block;
	}	
}

@media screen and (min-width: 601px) {
	br.sp_600 {
		display: none;
	}
}

@media screen and (max-width: 600px) {
    .site-header-logo img {
        max-height: 50px;
    }		
	.vk-mobile-nav-menu-btn {
		top: 3px;
	}
	section#service .service__wrapper .service__wrapper--box .service__wrapper--inner .service__wrapper--title.sp_short {
		height: auto;
		padding-top: 5px;
		padding-bottom: 5px;
	}
	section#service .service__wrapper .service__wrapper--box .service__wrapper--img {
		width: 100%;
		padding: 20px;
		margin-right: 0;
	}
	section#service .service__wrapper .service__wrapper--box .service__wrapper--inner .service__wrapper--title.sp_short h3 {
		line-height: 1;
	}
	section#service .service__wrapper .service__wrapper--box.reverce .service__wrapper--img {
		margin-right: 0;
		margin-left: 0;
	}
	section#compamy__philosophy .compamy__philosophy--wrapper {
		padding: 0;
	}
    section#regional,
	section#health,
	section#compamy__philosophy,
	section#compamy__profile,
	section#compamy__partner,
	section#compamy__map {
        padding-left: 10px;
        padding-right: 10px;
    }
	.company-profile {
		padding: 10px;
	}
	section#page__header {
		height: 100px;
	}
	.company-profile__item {
		display: block;
		flex-wrap: wrap;
		border-bottom: 1px solid #e0e0e0;
		padding: 1rem 0;
	}	
	.company-profile__item dt,
	.company-profile__item dd {
		width: 100%;
	}
	.company-profile__item dt {
		text-align: left;
	}
}

@media screen and (max-width: 430px) {
	.mv_first .mv_cont,
	.mv_second .mv_cont,
	.mv_third .mv_cont {
		top: auto;
		bottom: 0;
		left: 0;
	}
	.mv_first .mv_cont h2,
	.mv_second .mv_cont h2,
	.mv_third .mv_cont h2 {
        font-size: 18px;
		line-height: 40px;
    }
	section#service .service__wrapper .service__wrapper--box .service__wrapper--inner .service__wrapper--title.sp_short {
		height: auto;
		padding-top: 5px;
		padding-bottom: 5px;
	}
	section#service .service__wrapper .service__wrapper--box .service__wrapper--img {
		width: 100%;
		padding: 20px;
		margin-right: 0;
	}
	section#service .service__wrapper .service__wrapper--box .service__wrapper--inner .service__wrapper--title.sp_short h3 {
		line-height: 1;
	}
	section#service .service__wrapper .service__wrapper--box {
		padding: 10px;
	}
	section#regional .regional__wrapper .service__section--flow .service__section--flex {
		flex-direction: column;
		align-items: center;
	}
    section#regional .regional__wrapper .service__section--flow .service__section--flex img.flow {
        width: 45vw;
        height: 100%;
    }	
	section#regional .regional__wrapper .service__section--flow .service__section--flex img.triangle {
        width: 28px;
        height: 40px;
        margin-top: 20px;
        margin-bottom: 20px;
        transform: rotate(90deg);
    }
	section#compamy__philosophy .service__wrapper--title h2,
	section#compamy__partner .compamy__partner--wrapper .service__wrapper--title h2,
	section#compamy__map .service__wrapper--title h2 {
		font-size: 26px;
		line-height: 1.4;
		padding-right: 10px;
	}	
	section#compamy__philosophy .service__wrapper--title span,
	section#compamy__partner .compamy__partner--wrapper .service__wrapper--title span,
	section#compamy__map .service__wrapper--title span {
		font-size: 18px;
		line-height: 1.6;
		padding-left: 10px;
	}
	section#compamy__gbm .compamy__gbm--wrapper .compamy__gbm--cont p {
		font-size: 28px;
		line-height: 1.8;
		margin-bottom: 40px;
	}
	section#column .column__wrapper .column__flex {
		flex-direction: column;
	}
	section#column .column__wrapper .image {
		width: 100%;
		height: auto;
		margin-right: 0;
	}
	section#case__study .case__study--wrapper {
		padding: 30px 20px;
	}
	section#case__study .case__study--wrapper .pr_text {
		font-size: 20px;
		padding: 20px;
		margin: 30px 0;
	}
	section#case__study .case__study--wrapper .other_wrapper .other_cont {
		display: block;
		margin-top: 20px;
		margin-bottom: 30px;
	}
	section#case__study .case__study--wrapper .other_wrapper .other_cont img {
		max-width: 100%;
	}
	section#case__study .case__study--wrapper .profile_wrapper {
		display: block;
		margin-bottom: 30px;
	}
	section#case__study .case__study--wrapper .profile_wrapper .profile_img {
		width: 100%;
		margin-right: 0;
		margin-bottom: 20px;
		flex-shrink: 0;
	}
	section#case__study .case__study--wrapper .other_wrapper .other_img {
		width: 100%;
		margin-left: 0;
		flex-shrink: 0;
	}
	section#compamy__philosophy .compamy__philosophy--wrapper .compamy__philosophy--cont {
			margin-right: 0;
	}
	section#compamy__philosophy .compamy__philosophy--wrapper .compamy__philosophy--cont p,
	section#business__details .business__details--cont p {
		text-align: left;
	}
	section#compamy__philosophy .compamy__philosophy--wrapper .give_take {
		font-size: 50px;
	}
	section#compamy__philosophy .compamy__philosophy--wrapper .give_take span.and {
		font-size: 40px;
	}
	section#compamy__philosophy .compamy__philosophy--wrapper .give_take span.take {
		font-size: 50px;
	}	
	.footer__contact--column .more.contact {
		width: 100%;
		height: 60px;
		border-radius: 0;
		font-family: "Noto Sans JP", serif;
		font-size: 22px;
		font-weight: 600;
	}	
}

	
@media screen and (max-width: 400px) {
	.mv_first .mv_cont,
	.mv_second .mv_cont,
	.mv_third .mv_cont {
		top: auto;
		bottom: 0;
		left: 0 !important;
	}
	.mv_first .mv_cont h2,
	.mv_second .mv_cont h2,
	.mv_third .mv_cont h2 {
        font-size: 16px;
		line-height: 40px;
    }
	.mv_forth .mv_cont {
		top: 90%;
		transform: translateY(-85%);
		left: 70%;		
	}
	.mv_forth .mv_cont h2 {
		width: 100px;
		height: 100px;
		background-color: rgba(255, 255, 255, .8);
		padding: 20px;
	}
	.mv_forth .mv_cont h2 img {
		width: 178px;
		height: 130px;
		margin-top: -30px;
	}
	.mv_forth .mv_cont h3 {
        font-size: 14px;
		line-height: 20px;
		padding: 0 5px;
		margin-top: 10px;
	}
	section#compamy__philosophy .service__wrapper--title h2,
	section#compamy__partner .compamy__partner--wrapper .service__wrapper--title h2,
	section#compamy__map .service__wrapper--title h2 {
		font-size: 22px;
		line-height: 1.4;
		padding-right: 10px;
	}
	section#compamy__philosophy .service__wrapper--title span,
	section#compamy__partner .compamy__partner--wrapper .service__wrapper--title span,
	section#compamy__map .service__wrapper--title span  {
		font-size: 16px;
		line-height: 1.6;
		padding-left: 10px;
	}	
	section#compamy__gbm .compamy__gbm--wrapper .compamy__gbm--cont p {
        font-size: 26px;
        line-height: 1.8;
        margin-bottom: 30px;
    }
	section#case__achieve {
		padding: 50px 20px;
	}
	#case__achieve .case__achieve--cont .image {
		width: 100%;
		height: 100%;
	}
	.footer__contact--column .more.contact {
        font-size: 20px;
    }
}	

@media screen and (min-width: 769px) {
	.sp_only {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	.pc_only {
		display: none;
	}
	.mockup {
		max-width: 90%;
	    height: auto;		
	}
	.screen {
		max-width: 100%;
		height: auto;
	}	
}

@media screen and (min-width: 768px) {
	.pad_under {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.pad_over {
		display: none;
	}
}
.veu_socialSet,
.vk_posts.next-prev,
.page-id-309 .page-header {
    display: none;
}