*/
Theme Name: 株式会社Review
Theme URI:
Author: tocci
Author URI:
Version: 1.0
*/
@charset "UTF-8";
/* 株式会社Review CSS Document */

/*------------- _____ ▼共通 _____ --------------------------------------------------*/

*{
	padding:0px;
	margin:0px;
	border:0px;
	-webkit-text-size-adjust: 100%;
}

body {
	letter-spacing:1px;
	font-size:18px;
/*	font-family: font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
	font-family: "Montserrat", sans-serif;
	font-weight:400;
	line-height:180%;
	color:#333;
}

ul{
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
}
ol{
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
}
li{
	margin:0px 0px 0px 0px;
	padding:0px 0px 0px 0px;
	list-style: none;
}

.vertical {
	writing-mode: vertical-rl;
	color: #bbb;
}

.line {
	letter-spacing: -3px;
}

/*_____ menu layout _____*/
.pc {
	display:block;
}
.tablet {
	display:none;
}

@media screen and (max-width: 1024px) {
.pc{
	display:none;
}
.tablet{
	display:block;
}

}


.grecaptcha-badge { visibility: hidden; }
.page-id-2726 .grecaptcha-badge { visibility: visible; }
.page-id-2790 .grecaptcha-badge { visibility: visible; }
.page-id-2782 .grecaptcha-badge { visibility: visible; }

#wrapper{
	margin: 0 auto;
	background-color: #fff;
}


#header{
    /*background-color: rgb(218, 218, 218, 0.6);*/
    color: #ffffff;
    display: flex;
    padding: 15px 20px;
    position: fixed;
    justify-content: space-between;
    width: 100%;
    z-index: 9999;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;  /*webkit系*/
	-moz-box-sizing: border-box;  /*Firefox*/
}

#header.scrolled {
	background-color: rgb(218, 218, 218, 0.6);
}

#header.scrolled .gnav_menu > a {
	color: #333;
}

.site_logo img{
    height: auto;
    width: 112px;
}

/*---------------------------------
menuゾーン
---------------------------------*/

.gnav_menu_area{
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.gnav_menu_area li{
	position: relative;
}

.gnav_menu{
/*    margin-left: 20px;*/
}

.site_logo + nav.gnav .gnav_menu {
    margin-left: 16px;
}

.site_logo + nav.gnav .gnav_menu:first-child {
    margin-left: 0px;
}

.gnav_menu, .gnav_menu a {
    /*color: #333;*/
    color: #fff;
    text-decoration: none;
}

.buttom_menu {
	padding: 0 1.2em;
}

/* サブメニュー */
.submenu {
	display: none;
	position: absolute;
	/*top: calc(100% + 10px); 押しづらい */
	top: calc(100% + 0px);
	left: 50%;
	transform: translateX(-50%);
	background: rgb(46, 46, 46, 0.75);
	border-radius: 5px;
	box-shadow: 0 5px 10px rgba(0,0,0,0.2);
	list-style: none;
	padding: 10px 0;
	min-width: 160px;
	z-index: 100;
}

.submenu li a {
	display: block;
	padding: 6px 20px;
	/*color: #333;*/
	color: #fff;
	text-decoration: none;
	text-align: center;
}

.submenu li a:hover {
	background: #eee;
	color: #333
}

/* 吹き出しの三角 */
.submenu::before {
	content: "";
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid rgb(46, 46, 46, 0.75);
}

/* ホバー時に表示 */
.gnav_menu_area > li:hover .submenu {
	display: block;
}


/*
.btn-gNav{
	display: block;
}

#hamburger .btn-gNav span{
	position: absolute;
	width: 100%;
	height: 4px;
	background: #000;
	border-radius: 10px;
	-webkit-transition: all 400ms;
	transition: all 400ms;
}
#hamburger .btn-gNav span:nth-child(1) {
	top:0;
}
#hamburger .btn-gNav span:nth-child(2) {
	top:10px;
}
#hamburger .btn-gNav span:nth-child(3) {
	top:20px;
}

#hamburger .btn-gNav.open span:nth-child(1){
	background: #fff;
	top: 6px;
	-webkit-transform: rotate(-45deg);
	-moz-transform   : rotate(-45deg);
	transform        : rotate(-45deg);
}
#hamburger .btn-gNav.open span:nth-child(2), #hamburger .btn-gNav.open span:nth-child(3){
	top: 6px;
	background :#fff;
	-webkit-transform: rotate(45deg);
	-moz-transform   : rotate(45deg);
	transform        : rotate(45deg);
}

#hamburger .btn-gNav{
	position: fixed;
	top: 18px;
	right: 20px;
	width: 30px;
	height: 24px;
	z-index: 3;
}

#gNav{
	position: fixed;
	top: 0;
	right: -100%;
	width: 100%;
	height: 100%;
	z-index: 2;
	transition: .3s;
}

#gNav.open{
	right: 0px;
}

#gNav .gNav-menu{
	width: 100%;
	height:100%;
	display: flex;
	flex-direction: column;
	text-align: center;
	background-color: #000;
	justify-content: center;
}

#gNav li {
	background-color: #000;
	padding: 10px 0px;
}

#gNav li a {
	color:  #fff;
}
*/


/*
.container-fluid , .container {
	padding-top: 3rem;
}
*/

.bg-gray {
  background-color: #eee;
}

#zone00 video {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  z-index: 0;
}

/* 半透明の黒いオーバーレイ */
.overlay {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100vw;
  height: 100vh;
  transform: translate(-50%, -50%);
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 2;
}

#zone01, #zone02, #zone03, #zone04, #zone05, #zone06, #zone07, #footer_area {
	z-index: 4;
	position: relative;
}

#zone03, #zone05, #zone06 {
	background-color: #fff;
}

#zone05 {
	padding-block-end: 100px;
}

/* 画面途中の動画コンテンツ */
.pin-container {
  height: 365vh;
  position: relative;
  z-index: 4;
}

.sticky-video {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  overflow: hidden;
  z-index: 1;
}

.sticky-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sticky_over_string {
	position: absolute;
	color: #fff;
	top: 50%;
	left: calc(50% - 9rem);
	font-size: 4rem;
	line-height: 4rem;
	text-align: center;
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 100;
	font-style: normal;
}

.text-on-video {
  position: absolute;
  top: 0;
  left: 0;
  height: 180vh;
  width: 100%;
  display: flex;
  justify-content: center;
/*      align-items: flex-end;*/
  z-index: 2;
  pointer-events: none;
  padding-bottom: 10vh;
  box-sizing: border-box;
}

.text-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 横に2列 */
/*  gap: 100px 20px;*/
  width: 90%;
  pointer-events: auto;
  align-items: flex-start;
}

.text-inner {
	background: rgba(255, 255, 255, 0.8);
	padding: 20px;
	border-radius: 8px;
	text-align: center;
	margin-bottom: 10vh;
	margin-left: 3vw;
	margin-right: 3vw;
}

.text-inner:nth-child(odd) {
  margin-top: 400px;
	margin-right: 12vw;
}

.text-inner:nth-child(even) {
  margin-top: 250px;
	margin-left: 12vw;
}

.text-inner h2 {
  margin: 10px 20px;
  background-color: #297d85;
  border-radius: 100vw;
  color: #fff;
}

.text-inner img {
	width: 24vw;
	height: auto;
}

@media screen and (max-width: 768px) {
    .text-grid {
      grid-template-columns: 1fr;
      gap: 20px;
      max-width: 90%;
    }

    .text-inner {
      margin-left: 20px;
      margin-right: 20px;
    }

    .text-inner:nth-child(odd),
    .text-inner:nth-child(even) {
      margin-top: 80px; /* 統一されたマージン */
      margin-left: 6vw;
      margin-right: 6vw;
    }

.pin-container {
  height: 465vh;
}
	.text-inner img {
		width: 80%;
	}
}

/*---------------------------------
トップ　メインメッセージ　エリア
---------------------------------*/

#zone01 {
	/* padding-top: 400px; */
	/* padding-block-start: clamp(200px, 18vw, 340px); */
	/* padding-block-end: clamp(300px, 30vw, 600px); */
	padding-block-start: clamp(12.5rem, 4.423rem + 26.92vw, 21.25rem);
	padding-block-end: clamp(18.75rem, 7.212rem + 38.46vw, 31.25rem);
	font-optical-sizing: auto;
	font-weight: 100;
	font-style: normal;
}

#zone02 {
	padding-top: 750px;
	margin-bottom:600px;
}

.top_image01 {
	background: url(images/top_main.jpg) no-repeat center center / cover;
}

#main_title_area {
	width: 50vw;
	margin: auto;
}

@media screen and (max-width: 1300px) {
	#main_title_area {
		width: 80vw;
	}
}

@media screen and (max-width: 600px) {
	#main_title_area {
		width: 98vw;
	}
}

#main_title_area p {
	margin-bottom: 1em;
}

.main_title2 {
	font-size: calc(2.5rem + 1.5vw);
	color: #54f4ea;
}

@media screen and (max-width: 600px) {

	.top_image01 {
		width: 100% !important;
	}

	.main_title2 {
		font-size: 2.1rem;
	}

}

.main_str1 {
	font-size: 60px;
	line-height: 1.4em;
	color: #fff;
}

.main_str2 {
	font-size: 1.2em;
	color: #fff;
}

.harf_color_green {
	background: linear-gradient(to right, #ffffff 70%, #297d85 30%);
}

.harf_color_green img {
	width: 45vw;
}

.index_under_bar {
	border-bottom: 2px solid #80c6cd;
	/* margin-bottom: 100px; */
}

@media screen and (max-width: 768px) {
	.harf_color_green img {
		width: 80vw;
	}
}

/*
.zone03_area {
	padding-bottom: 50px;
	background-color: #fff;
}
*/
.sidebar_box {
	padding-inline: clamp(1rem, 7vw, 40px);
	/* padding-left: 60px; */
	/* padding-top: 40px; */
}

.sidebar__inner {
	/* padding-bottom: 74px; */
}

/*
@media (max-width: 767px) {
    縦並びになった時のサイドバー下の余白
    #sidebar {
        margin-bottom: 30px;
    }
    
    Sticky用のインラインスタイルが残ってガタつくのを防ぐ（念のため）
    #sidebar {
        position: static !important;
        width: auto !important;
        transform: none !important;
    }
}
*/

/* Solutionアニメーション対象の初期状態 */
.fade-in-item {
    opacity: 0; /* 最初は透明 */
    transform: translateY(50px); /* 下から50pxの位置にずらす */
    transition: opacity 1.0s ease-out, transform 1.0s ease-out; /* アニメーションの時間とイージング */
    will-change: opacity, transform; /* パフォーマンス向上のヒント */
}

/* Solutionアニメーション後の状態 (JavaScriptでこのクラスを追加) */
.fade-in-item.is-visible {
    opacity: 1; /* 不透明にする */
    transform: translateY(0); /* 元の位置に戻す */
}

.sol_title {
	color: #297d85;
	font-size: 1.4rem;
	-webkit-text-stroke: 2px #62e8f5;
	text-stroke: 2px #62e8f5;
	paint-order: stroke;
	margin-bottom: 1rem;
}

.sol_subtitle {
	font-size: 1.1rem;
	margin-bottom: 2rem;
}

.sol_str1 {
	font-size: 1.8rem;
	line-height: 3rem;
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: bold;
	font-style: normal;
}

.sol_str2 {
	font-size: 1.4rem;
	margin-bottom:2rem;
}

.sol_str3 {
	margin-bottom: 1em;
}

.sol_box {
    display: grid;
    grid-template-columns: 80px 1fr;
    grid-template-rows: repeat(2, 1fr);
    gap: 0 8px;
}

.sol_box01 {
    grid-row: span 2 / span 2;
	align-self: center;
}

.sol_box01 img {
	width: 80px;
	height: 80px;
}

.sol_box02 {
	align-self: end;
	-webkit-text-stroke: 2px #fff;
  	text-stroke: 2px #fff;
  	paint-order: stroke;
  	font-size: 1.2rem;
  	font-weight: bold;
}

.sol_box02 img {
	width: 200px;
	height: auto;
}

.sol_box03 {
    grid-column-start: 2;
	align-self: start;
	-webkit-text-stroke: 2px #fff;
  	text-stroke: 2px #fff;
  	paint-order: stroke;
}


/*---------------------------------
事業紹介ゾーン
---------------------------------*/

.main_title_box {
	/* padding: 0 4rem; */
	padding-inline: clamp(1rem, 5vw, 4rem);
}

.main_title1 {  /* 共通タイトル利用  */
	/* font-size: 54px; */
	font-size: clamp(2.5rem, 6vw, 6rem);
	line-height: 1.6em;
	font-weight: bold;
}

/*---------------------------------
Case Studiesゾーン
---------------------------------*/

.case_zone {
	padding: 5rem 7rem;
}

@media screen and (max-width: 768px) {

	.case_zone {
		padding: 5rem 2rem;
	}

}

:root{
  --cardGap: 16px;
  --card-w: 230px;
}

.card_wrap{
  position: relative;
  max-width: 100%;
}

/* 横スクロール領域 */
.card_scroll{
  display: flex;
  gap: var(--cardGap);
  overflow-x: auto;
  padding: 12px;
  scroll-snap-type: x mandatory; /* スナップ */
  -webkit-overflow-scrolling: touch; /* iOSで慣性スクロール */
  scrollbar-width: none; /* Firefox */
}
/* スクロールバー非表示（Chrome,Safari）*/
.card_scroll::-webkit-scrollbar{ display: none; }

/* 各カード */
.card{
  flex: 0 0 var(--card-w); /* 固定幅カード */
/*  height: 290px;*/
  background: white;
  border-radius: 10px;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
/*  padding: 12px;*/
  scroll-snap-align: start; /* スナップ位置 */
  display: flex;
  flex-direction: column;
  /*justify-content: center;*/
  align-items: flex-start;
  border: 1px solid #ddd;
  transition: transform 0.2s ease;
}

.card:hover {
	transform: translateY(-4px);
}

.card a {
	text-decoration: none;
}

.card_img {
	overflow: hidden;
	width: 100%;
	height: 130px;
	box-shadow: 0px 10px 10px -5px gray;
}

.card_str {
	padding: 1rem 10px 0;
	margin:0;
	font-size:0.85rem;
	color:#555;
	line-height: 1rem;
}

.card_kind p {
	background-color: #297d85;
	padding: 3px 1rem;
	margin: 2px 4px 2px 0;
	color: #fff;
/*	display: inline-block;*/
	font-size: 0.6rem;
	width: fit-content;
}


.card img{
	width: 100%;
	height: 100%;
	border-radius: 10px 10px 0 0;
	object-fit: cover;
	object-position: center;
}

.card_detail {
	margin-top: 10px;
}

.card h3{ margin:0 0 6px; font-size:1rem; }

.card h3 i {
	float: right;
	background: linear-gradient(90deg, rgba(45, 122, 192, 1) 37%, rgba(14, 244, 255, 1));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.button_box {
	display: flex;
	justify-content: center;
}

/* 前後ボタン */
.btn{
  cursor: pointer;
  font-size: 35px;
  color: #297d85;
  border: none;
  background-color: #fff;
}

.btn[disabled]{ opacity:0.5; cursor: default; }

.prev{ margin-right: 20px; }
.next{ margin-left: 20px; }

/* 小さい画面ではカード幅を調整 */
@media (max-width: 480px){
  :root{ --card-w: 220px; }
  /*.btn{ width:32px; height:32px; }*/
}

/* キーボードフォーカスの見た目 */
/*.btn:focus, .card:focus*/{ outline: 1px solid rgba(21,156,228,0.25); outline-offset: 2px; }




/*---------------------------------
Noticeゾーン
---------------------------------*/

.news_zone {
	padding: 5rem 7rem;
}

@media screen and (max-width: 768px) {

	.news_zone {
		padding: 5rem 2rem;
	}

}

.list_area {
	display: flex;
	column-gap: 50px;
	margin-left: 20px;
	flex-wrap: wrap;
}

.list_box {
	border-bottom: 1px solid #ccc;
	position:relative;
	z-index: 1;
	margin-bottom: 1rem;
}

.list_box a {
	cursor: pointer;
	margin-bottom: 0;
	position:relative;
	z-index: 2;
}

.list_box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0;
    background-color: #e0e0e0;
    transition: height 0.3s ease-out;
    z-index: 0;
}

.list_box:hover::before {
    height: 100%;
}

.list_box2 {
	padding: 0 10px;
}

.list_box2::after {
	content: "";
	display: block;
	border-bottom: 1px solid #297d85;
	width: 60px;
	position: absolute;
	bottom: -9px;
	left: 0;
}

.list_box img {
	float: right;
}

.list_link {
	text-decoration: none;
	color: #333;
}

.topics_scroll {
	width: 100%;
	max-height: 410px;
	overflow-x: hidden;
	margin: 15px auto;
	padding: 10px;
}

.topics_scroll a, .news_area a {
	text-decoration: none;
	color: #000;
}

.topics_scroll dt, .news_area dt {
	width: 100%;
	float: left;
	clear: both;
	margin-top: 15px;
	font-weight: normal;
	padding: 0 10px;
}

.topics_scroll dt span, .news_area dl span {
	margin-left: 1rem;
	background-color: #eee;
	border-radius: 100vw;
	padding: 3px 15px;
	border: 1px solid #297d85;
	font-size: 0.85rem;
}


.topics_scroll dd, .news_area dd {
	padding: 10px 0 5px 0px;
	border-bottom: 1px solid #297d85;
	margin-bottom: 0;
	padding: 0 10px 15px 10px;
}

.notice_hover {
    /* 通常時の背景色（または親の背景） */
    background-color: #ffffff;
    position: relative; /* 子要素（疑似要素）の配置基準 */
    overflow: hidden;   /* 疑似要素がはみ出さないように隠す */
    z-index: 1;         /* 内容が疑似要素の上に表示されるように */
    cursor: pointer;
    margin-bottom: 0;
}

.notice_hover a {
    margin: 0;
    color: #333;
    position: relative; /* 疑似要素の上にテキストを重ねるため */
    z-index: 2;         /* テキストを疑似要素より手前に */
}

/* 疑似要素でアニメーションする色変化を作成 */
.notice_hover::before {
    content: '';
    position: absolute;
    bottom: 0; /* 下から開始 */
    left: 0;
    width: 100%;
    height: 0; /* 初期状態では高さ0 */
    background-color: #e0e0e0; /* ホバー時の背景色 */
    transition: height 0.3s ease-out; /* 高さの変化をアニメーション */
    z-index: 0; /* 親の背景とテキストの間に配置 */
}

.notice_hover:hover::before {
    height: 100%; /* ホバー時に高さを100%にする */
}

.notice_hover i {
  content: "";
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  color: #297d85; /* 色は適宜調整 */
  font-size: 25px;
}


/*---------------------------------
footerゾーン
---------------------------------*/

#footer_area {
	background: url(images/footer_image.jpg) center center / cover no-repeat fixed;
	z-index: 3;
	color: #fff;
}

#footer_area a {
	color: #fff;
	text-decoration: none;
	text-shadow:2px 2px 3px #000;
}

#footer_area a:hover {
	text-decoration: underline;
}

.footer_logo_area img {
	height: 30px;
	width: auto;
}

.footer_icon_area {
	display: flex;
	column-gap: 25px;
	border-bottom: 1.5px solid #fff;
}

.footer_icon_area a {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
}

.footer_icon_area img {
	width: 30px;
	height: 30px;
	display: block;
}

.icon_str {
	font-size: 0.4em;
	margin-top: -8px;
	color: #fff;
}

#footer_menu_area h4 {
	font-size: 2rem;
	margin-bottom: 1.5rem;
	color: #e0e0e0;
}

#footer_pp {
	font-size: 1.75rem;
}

#footer_menu_area .col-auto {
	margin-bottom: 3rem;
}

/*---------------------------------
以降セカンドページ 共通
---------------------------------*/

#sec_page {
	position: relative;
}

.common_zone {
	padding-block: 5rem;
  padding-inline: clamp(2rem, -3.333rem + 17.78vw, 10rem);
}

.staff_zone {
	padding-block: 5rem;
  padding-inline: clamp(2rem, 0.588rem + 7.06vw, 5rem);
}

.common_zone2 {
	padding: 0.25rem 5rem 3rem 5rem;
}

@media screen and (max-width: 768px) {

.common_zone {
	padding: 4rem 2rem;
}

}

/*ニュース一覧ページ、導入事例一覧ページ用　メニュー*/

.common_line {
	width: 100%;
	border: 1px solid #297d85;
}

.news_list_area {
	background-color: #ddd;
	border-radius: 100vw;
	display: inline-block;
	font-size: 0.9rem;
	margin-bottom: 30px;
}

.news_list_area ul {
	display:flex;
	flex-wrap: wrap;
	column-gap: 40px;
	padding: 3px 30px;
}

.news_list_area ul li {
	column-gap: 50px;
}

.news_list_area ul li a {
	color: #333;
}

/* ページネーションのデザイン */
.pagination {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 32px;
  padding: 0;
  list-style: none;
}

.pagination a,
.pagination span {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 15px;
  background: #f2f3f7;
  color: #333;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.3s, color 0.3s;
  border: 1px solid #e2e2e2;
}

.pagination a:hover {
  background: #297d85;
  color: #fff;
}

.pagination .current {
  background: #333;
  color: #fff;
  border-color: #333;
  font-weight: bold;
  cursor: default;
}


/*---------------------------------
導入事例ページ
---------------------------------*/

.case_card_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px 10px;
	padding: 40px 0px 0 0px;
	margin-bottom: 30px;
}
/* card系classは、トップページの導入事例ブロックを利用  */

/*---------------------------------
調査レポート一覧ページ
---------------------------------*/

.examin_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px 20px;
	padding: 80px 0px 0 0px;
	margin-bottom: 100px;

}

.examin_card {
	position: relative;
	border-radius: 0 12px 12px 12px;
	width: 230px;
	margin-bottom: 20px;
}

.examin_card img {
	width: 100%;
	margin-bottom: 12px;
}
.examin_card p {
	font-size: 16px;
	line-height: 1.6;
}

.examin_card_str1 {
	font-weight: 500;
}

.examin_card_str2 {
	margin:12px 0;
}

.examin_card_str3 {
	background-color:#999;
	padding: 5px 12px;
	border-radius: 7px;
	text-align: right;
	display: inline;
}

.examin_card_downoad {
	text-align: right;
}

.examin_card_str3 a {
	color: #fff;
}


/*---------------------------------
ニュース一覧ページ
---------------------------------*/

.news_area {
	width: 100%;
}


/*---------------------------------
ニュース詳細ページ
---------------------------------*/

#news_area .news_cat {
	display: flex;
	margin-bottom: 2rem;
}

#news_area .news_cat_box {
	display:flex;
}

#news_area .news_cat .news_cat_box li {
/*	display: inline-block;*/
	background-color: #297d85;
	padding: 3px 1rem;
	margin: 2px 4px 2px 0;
	color: #fff;
	font-size: 0.8rem;
}

#news_area .news_date {
	display: flex;
	margin-left: auto;
}

.news_subtitle {
	font-size: 25px;
	margin-bottom:1.5rem;
}

#news_area .news_post h1 {
	font-size: 25px;
	font-weight: bold;
	padding: 15px 20px;
	margin-bottom: 1em;
	border-bottom: 5px solid #297d85;
	background: #a3d8dd;
}

#news_area .news_post h2 {
	font-size: 22.5px;
	font-weight: bold;
	padding: 12px 20px;
	margin-bottom: 1em;
	border-top: 3px dotted #297d85;
	border-bottom: 3px dotted #297d85;
	background: #a3d8dd;
}

#news_area .news_post h3 {
	font-size: 20px;
	font-weight: bold;
	padding: 10px 20px;
	margin-bottom: 1em;
	border-radius: 10px;
	background: #a3d8dd;
}

#news_area .news_post h4 {
  font-size: 20px;
  font-weight: bold;
  padding: 10px 20px 10px 20px;
  margin-bottom: 1em;
  border-left: 5px solid #a3d8dd;
}



/*---------------------------------
導入事例　詳細ページ
---------------------------------*/

#case_area .case_logo img {
	width: 200px;
	height: auto;
}

#case_area .case_title {
	font-size: 1.8rem;
	margin: 1rem 0px;
	line-height: 2.2rem;
}

#case_area .case_kind {
	margin-bottom: 2rem;
}


#case_area .case_kind li {
	display: inline-block;
	background-color: #297d85;
	padding: 3px 1rem;
	margin: 2px 4px 2px 0;
	color: #fff;
	font-size: 0.8rem;
}

#case_area .case_image {
	margin-bottom: 2.5rem;
	justify-content: center;
}

#case_area .case_image img {
	max-width: 600px;
	height: auto;
}

#case_area .case_detail_area h2 {
	font-size: 1.65rem;
	font-weight: bold;
	border-bottom: 2px solid #297d85;
	margin-bottom: 1.5rem;
	line-height: 1.85rem;
	padding-bottom: 0.5rem;
}

#case_area .case_detail_area h3 {
	color: #297d85;
	font-size: 1.25rem;
	margin-bottom: 0.75rem;
}

#case_area .case_detail_area p {
	margin-bottom: 2rem;
}

.case_goback {
	margin: 0 auto 30px auto;
	display: flex;
	justify-content: center;
}

.case_goback a {
	background-color: #ddd;
	color: #333;
	display: inline-block;
	padding: 0.25em 1.2em;
	border: 1px solid #aaa;
	border-radius: 8px;
	text-decoration: none;
	font-size: 0.8rem;
	transition: background 0.3s, color 0.3s;
}

.case_goback a:hover {
	background-color: #999;
	color: #fff;
}

/*---------------------------------
企業情報ページ
---------------------------------*/

.company_menu_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px 50px;
	margin: 40px 50px 0 50px;
}

.com_menu1 {
	position: relative;
	border-radius: 5px;
	padding: 20px 20px;
	transition: transform 0.2s ease;
	width: 240px;
	border: 1px solid #999;
	display: flex;
	align-items: center; /* 上下中央揃え */
	justify-content: space-between; /* 左右に配置 */
	font-size: 0.95rem;
	color: #333;
	text-decoration: none;
}

.com_menu1:hover {
	transform: translateY(-4px);
	font-weight: bold;
}

.com_menu1::before {
  content: '';
  position: absolute;
  top: 0;
  left: 10px;
  width: 36px; /* 色の幅 */
  height: 8px; /* 色の高さ */
}

.com_menu1:nth-of-type(1)::before { background-color: #3ccad2; }
.com_menu1:nth-of-type(2)::before { background-color: #85bec2; }
.com_menu1:nth-of-type(3)::before { background-color: #54a4a9; }
.com_menu1:nth-of-type(4)::before { background-color: #42a9b0; }
.com_menu1:nth-of-type(5)::before { background-color: #0a7d84; }

.com_menu1 img {
	width: 1.4rem;
}

.com_line {
	width: 85%;
	border: 1px solid #ccc;
	margin-left: auto;
	position: relative;
}

.com_line::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px; /* border の位置に合わせる */
  width: 110px;
  border-bottom: 2px solid #297d85;
}

.com_line2 {
	width: 85%;
	border: 1px solid #ccc;
	margin-right: auto;
	position: relative;
}

.com_line2::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px; /* border の位置に合わせる */
  width: 110px;
  border-bottom: 2px solid #297d85;
}

.company_title {
	color: #297d85;
	font-size: 1.8rem;
	margin-bottom: 1rem;
}

.company_subtitle {
	font-size: 1.1rem;
	margin-bottom: 2rem;
}

/* Message of CEO */

.ceo_message h3 {
	color: #297d85;
	font-size: 1.6rem;
	margin-bottom: 1rem;
	font-weight: bold;
}

.ceo_message h4 {
	font-size: 1.3rem;
	font-weight: bold;
	margin-bottom: 1rem;
}

.ceo_message p {
	margin-bottom: 1rem;
}

.ceo_message ul li {
	list-style: disc;
	margin-left: 1rem;
}

.ceo_message ul li:last-child {
	margin-bottom: 2rem;
}

.ceo_container {
	width: 300px;
	line-height: 2.5rem;
	margin: 0 auto 70px auto;
}

.ceo_container button {
  width: 100%;
  height: 100%;
	background-color: #8adfe4;
  border: 1px solid #18636a;
  border-radius: 7px;
  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.5);
  font-size: 16pt;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: space-around;
	transition: transform 0.2s ease;
}


.ceo_container button a {
	line-height: 2.5rem;
	padding: 14px;
	color: #333;
	text-decoration: none;
  align-items: center;
}

.ceo_container button:hover {
	transform: translateY(-4px);
  cursor: pointer;
}

.ceo_container button img {
	display: block;
	margin-left: auto;
	padding-right: 14px;
}

/* Identitiy */
.company_i_title {
	font-size: 2.8rem;
	font-weight: bold;
	color: #297d85;
	margin-top: 6rem;
	margin-bottom: 2.5rem;
}

.company_i_detail {
	font-size: 2rem;
	line-height: 2.7rem;
	margin-bottom: 3rem;
}

.company_i_detail2 {
	margin-bottom: 1rem;
}

/* Profile */

.profile_table {
	width: 100%;
	border-collapse: collapse;
}

.profile_table th {
	background-color: #85bec2;
	color: white;
	padding: 20px;
	text-align: left;
	font-weight: normal;
	font-size: 1.2rem;
	border-bottom: 1px solid #a2c4c9;
	white-space: nowrap;
}

.profile_table td {
	padding: 20px;
	border-bottom: 1px solid #a2c4c9;
	background-color: white;
	font-size: 1rem;
	line-height: 1.6;
}

.profile_table tr:hover {
	background-color: #f9f9f9;
}

.profile_table tr:hover th {
	background-color: #6AA5A5;
}

@media screen and (max-width: 768px) {

.profile_table, .profile_table th, .profile_table td {
	display:block;
}

.profile_table th {
}

}

/* History */

.timeline {
    margin: 28px auto 0 auto;
}

.timeline-list-item {
    display: flex;
    line-height: 1.5;
    font-size: 16px;
}

.timeline-list-item .date {
    padding: 0 20px 0 20px;
    font-weight: bold;
    white-space: nowrap;
    width: 8rem;
}

.timeline-list-item .content {
    position: relative;
    width: 80%;
    padding: 0 20px 60px 30px;
    border-left: 1px solid #aaaaaa;
}

.timeline-list-item .content::before {
    content: "";
    position: absolute;
    top: 0;
    left: -10px;
    width: 20px;
    height: 20px;
    background-color: #297d85;
    border-radius: 10px;
}

/* Team Introduction */

.team_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px 20px;
}

.team_box {
	position: relative;
	width: 340px;
	border: 1px solid #999;
	justify-content: space-between; /* 左右に配置 */
	font-size: 0.95rem;
	color: #333;
	display: flex;
	flex-direction: column;
}

.team_box > p {
	margin-bottom: 0!important;
	line-height: 0;
}

.team_box img {
	width: 100%;
	display: block;
}

.team_box_colorB {
	color: #333;
}

.team_box_colorW {
	color: #fff;
}

.post_name {
	margin: 8px 10px 0;
}

.name {
	font-size: 1.45rem;
	margin: 0px 10px 0;
}

.prof_table {
	line-height: 1.5rem;
	margin: 0px 5px 0;
/*	flex: 1;*/
}

.prof_table th {
	white-space: nowrap;
	vertical-align: top;
	width: 100px;
  text-align: justify;
  text-align-last: justify;
}

.back_common {
	flex: 1; /* 追加：残りのスペースを埋める */
	display: flex; /* 追加 */
	flex-direction: column; /* 追加 */
	padding-bottom: 10px; /* 追加：下に余白 */
}

.back_okuna { background-color: #fff204; }
.back_iwata, .back_sahil { background-color: #eeeeee; }
.back_okugami, .back_kinomiya, .back_lau { background-color: #fff; }
.back_kikuchi { background-color: #4abfef; }
.back_gomikawa { background-color: #b88cb0; }
.back_silva { background-color: #404142; }
.back_ookubo { background-color: #f1f1f1; }
.back_takahashi { background-color: #6495ed; }
.back_hara { background: url(images/company/back_hara.png) no-repeat center center / cover; }
.back_yasukawa { background: url(images/company/back_yasukawa.png) no-repeat center center / cover; }
.back_kariatsumari { background: url(images/company/back_kariatsumari.png) no-repeat center center / cover; }
.back_ebina { background: url(images/company/back_ebina.png) no-repeat center center / cover; }
.back_handa { background: url(images/company/back_handa.png) no-repeat center center / cover; }
.back_murakami { background: url(images/company/back_murakami.png) no-repeat center center / cover; }
.back_lin { background: url(images/company/back_lin.png) no-repeat center center / cover; }
.back_yasunaga { background: url(images/company/back_yasunaga.png) no-repeat center center / cover; }

/*---------------------------------
採用情報ページ
---------------------------------*/

#flowing_images .loop_img {
	position: relative;
	display: flex;
	overflow: hidden;
	height: 400px;
}

.loop_catch {
	position: absolute;
	left: 5rem;
	top: 14rem;
	color: #fff;
	z-index: 1;
	font-size: 3rem;
	line-height: 120%;
}

.loop_catch p {
	font-size: 1.8rem;
}

#flowing_images .loop_img img {
	width: auto
	height: 100%;
}

#flowing_images .loop_img img:first-child {
	animation :scroll-left1 80s -40s infinite linear;
/*	filter: brightness(50%);*/
}


#flowing_images .loop_img img:last-child {
	animation :scroll-left2 80s infinite linear;
/*	filter: brightness(50%);*/
}

/* 右から左へ */
@keyframes scroll-left1 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes scroll-left2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.recruit_i_title {
	font-size: 2.2rem;
	line-height: 3rem;
	font-weight: bold;
	color: #297d85;
	margin-top: 6rem;
	margin-bottom: 2.5rem;
}

.recruit_i_detail {
	font-size: 1.2rem;
	line-height: 1.8rem;
	margin-bottom: 3rem;
}

.interview-title h2 {
  font-size: 32px;
  color: #297d85;
  margin-bottom: 10px;
}

.interview-title p {
  font-size: 14px;
  color: #333;
  margin-bottom: 40px;
}

/* 2 カラム部分 */
.interview-boxes {
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  margin-bottom: 150px;
}

.interview-boxes .box {
  flex: 1;
  background: #7eb1b6;
  color: #fff;
  padding: 80px 20px;
  text-decoration: none;
  border-right: 1px solid #fff;
}

.interview-boxes .box:last-child {
  border-right: none;
}

.box h3 {
  font-size: 28px;
  margin-bottom: 20px;
}

.box p {
  font-size: 14px;
  margin-bottom: 40px;
}

.arrow {
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .interview-boxes {
    flex-wrap: wrap;       /* 折り返しを許可 */
  }

  .interview-boxes .box {
    flex: 0 0 50%;         /* ← 2列にする */
    box-sizing: border-box;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
  }

  /* 右端のボックスの右線なし（2列目） */
  .interview-boxes .box:nth-child(2),
  .interview-boxes .box:nth-child(4) {
    border-right: none;
  }

  /* 下段ボックスは下線なし（3・4番目） */
  .interview-boxes .box:nth-child(3),
  .interview-boxes .box:nth-child(4) {
    border-bottom: none;
  }
}

/*---------------------------------
インタビューページ
---------------------------------*/
.interview_area {
	margin-bottom: 125px;
}

.interview_box {
	padding: 12px;
	border-radius: 20px;
	border: 1px solid #297d85;
	line-height: 1.6rem;
}

.interview_img img {
	border-radius: 20px;
}

.interview_Q {
	color: #297d85;
	margin-bottom: 0;
	font-weight: bold;
}

/*---------------------------------
募集要項ページ
---------------------------------*/

.recruitment_header {
	padding-top: 160px;
}

.recruitment_header img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.recruitment_header h1 {
	position: relative;
	top: -51px;
	margin-left: 50px;
	font-size: 2.2rem;
	line-height: 2.5rem;
	color: #fff;
  text-shadow:
    2px 5px 5px rgba(66, 169, 176, 1),
    2px 5px 8px rgba(66, 169, 176, 0.8),
    2px 5px 14px rgba(66, 169, 176, 0.3);
}

.recruitment_area {
	text-align: center;
}

.recruitment_area img {
	width: 95%;
	padding-bottom: 20px;
}

.recuit_chosa {
	margin-left: 1rem;
	color: #aaa;
}

.recruit_line {
	width: calc(100% - 80px);
	border: 1px solid #ccc;
	margin-left: auto;
	position: relative;
}

.recruit_line::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px; /* border の位置に合わせる */
  width: 110px;
  border-bottom: 2px solid #297d85;
}

.recuit_zone {
	margin: 2rem 5rem 5rem;
}

.recruit_title1 {
	margin: 0 5rem 1rem;
	font-weight: 700;
}

.recruit_title2 {
	margin: 30px 5rem 0px;
}

.recuit_zone .profile_table ul {
	list-style: none;
	list-style-position: outside;
	padding-left: 1rem;
}

.recuit_zone .profile_table li::before {
	  content: "●";
	  margin-left: -1rem;
}

.recruit_bold {
	font-weight: bold;
}


@media screen and (max-width: 768px) {

.recruit_line {
	width: calc(100% - 3rem);
}

.recruit_title1 {
	margin: 0 3rem 1rem;
}

.recruit_title2 {
	margin: 30px 3rem 0px;
}

}

/*---------------------------------
solutionページ
---------------------------------*/
/*
.sol_attention_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 40px 80px;
	margin: 40px 10px 0 10px;
}

.sol_attention {
	position: relative;
	width: 180px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
*/

.sol_i_title {
	font-size: 2.4rem;
	line-height: 2.6rem;
	font-weight: bold;
	color: #297d85;
	margin-top: 6rem;
	margin-bottom: 2.5rem;
}

.sol_i_detail {
	font-size: 1.2rem;
	line-height: 2rem;
	margin-bottom: 3rem;
}

.sol_reason {
	margin-top: 90px;
	font-size: 3rem;
	color: #9cc5c8;
	text-decoration: underline;
	text-underline-offset: 15px;
	text-decoration-color: #ccc;
	text-decoration-thickness: 2px;
}

/* reason01 */

.sol_reason01_area {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 40px;
  max-width: 1200px;
  margin: 90px auto 50px;
  padding: 0 20px;
}

.sol_reason01_card {
  flex: 1;
  max-width: 350px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
}

.sol_reason01_card img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 20px;
  z-index: 1;
}

/* カード番号のスタイル */
.sol_reason01_card::before {
  content: '0' counter(card-number);
  counter-increment: card-number;
  position: absolute;
  top: -30px;
  right: 20px;
  font-size: 72px;
  font-weight: 700;
  color: #e0e0e0;
  opacity: 0.4;
  font-family: 'Arial', sans-serif;
  line-height: 1;
}

.sol_reason01_area {
  counter-reset: card-number;
}

/* タイトルのスタイル */
.sol_reason01_card p:first-of-type {
  font-size: 24px;
  font-weight: 700;
  color: #297d85;
  margin: 15px 0;
  letter-spacing: 0.05em;
}

/* 説明文のスタイル */
.sol_reason01_card p:last-of-type {
  color: #555;
  margin: 0;
  padding: 0 10px;
}

@media (max-width: 992px) {
  .sol_reason01_area {
    gap: 30px;
  }

  .sol_reason01_card::before {
    font-size: 60px;
  }
}

@media (max-width: 768px) {
  .sol_reason01_area {
    flex-direction: column;
    align-items: center;
    gap: 50px;
  }

  .sol_reason01_card {
    max-width: 100%;
    width: 100%;
  }

  .sol_reason01_card::before {
    top: -20px;
    font-size: 56px;
  }
}

/* reason02 */

.sol_rason02_zone1 {
  background-color: #85bec2;
  padding-top: 150px;
  padding-bottom: 150px;
  margin: 0;
}

.sol_reason02 {
	font-size: 3rem;
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 15px;
	text-decoration-color: #ccc;
	text-decoration-thickness: 2px;
}


.sol_rason02_zone2 {
  margin: 0;
  background: linear-gradient(180deg, #85bec2 0%, #c8e2e3 100%);
}

.sol_reason02_area {
  max-width: 1200px;
  margin: 0 auto;
  padding: 60px 20px;
  text-align: center;
}

.sol_i_title2 {
  font-size: 32px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 16px;
  letter-spacing: 0.05em;
}

.sol_i_detail2 {
  font-size: 16px;
  color: #666;
  margin-bottom: 60px;
  font-weight: 400;
}

.sol_reason02_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
  align-items: flex-start;
}

.sol_reason02_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 180px;
}

.sol_reason02_card img {
  width: 160px;
  height: 160px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  margin-bottom: 16px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.sol_reason02_card img:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.sol_reason02_card p {
  font-size: 16px;
  color: #fff;
  font-weight: 500;
  margin: 0;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

.sol_reason02_footmessage {
	width: 80%;
	text-align: left;
}

/* タブレット対応 */
@media (max-width: 768px) {
  .sol_reason02_area {
    padding: 40px 15px;
    gap: 30px;
  }

  .sol_i_title2 {
    font-size: 26px;
  }

  .sol_i_detail2 {
    font-size: 14px;
    margin-bottom: 40px;
  }

  .sol_reason02_card {
    width: 140px;
  }

  .sol_reason02_card img {
    width: 130px;
    height: 130px;
  }

  .sol_reason02_card p {
    font-size: 14px;
  }
}

/* スマートフォン対応 */
@media (max-width: 480px) {
  .sol_reason02_area {
    gap: 25px;
  }

  .sol_i_title2 {
    font-size: 22px;
  }

  .sol_reason02_card {
    width: 120px;
  }

  .sol_reason02_card img {
    width: 110px;
    height: 110px;
  }
}

/* reason03 */

.sol_rason03_zone {
  background-color: #f8f9fa;
  padding: 80px 20px;
  margin: 0;
}

.sol_reason03_area {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  align-items: stretch;
}

.sol_reason03_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 260px;
  min-height: 180px;
  padding: 30px 20px;
  border: 2px solid #2c9fa8;
  border-radius: 20px;
  background-color: #fff;
}

.sol_reason03_card:hover {
  box-shadow: 0 8px 20px rgba(44, 159, 168, 0.2);
}

.sol_reason03_card img {
  width: 90%;
  object-fit: contain;
  margin-bottom: 20px;
}

.sol_reason03_card p {
  font-size: 16px;
  color: #2c9fa8;
  font-weight: 600;
  margin: 0;
  text-align: center;
  line-height: 1.6;
}

/* タブレット対応 */
@media (max-width: 768px) {
  .sol_rason03_zone {
    padding: 60px 15px;
  }

  .sol_reason03_area {
    gap: 20px;
  }

  .sol_reason03_card {
    width: 220px;
    min-height: 160px;
    padding: 25px 15px;
  }

  .sol_reason03_card img {
    margin-bottom: 15px;
  }

  .sol_reason03_card p {
    font-size: 14px;
  }
}

/* スマートフォン対応 */
@media (max-width: 480px) {
  .sol_rason03_zone {
    padding: 40px 15px;
  }

  .sol_reason03_area {
    gap: 15px;
  }

  .sol_reason03_card {
    width: 100%;
    max-width: 300px;
    min-height: 140px;
    padding: 20px 15px;
  }

}

/* サービスラインナップ */

.service_wrapper {
  display: flex;
  gap: 20px;
  margin-bottom: 40px;
  margin-top: 100px;
}

.service_area {
  margin-bottom: 40px;
  width: 50%;
}

.service_title {
  color: #fff;
  padding: 10px 20px;
  font-size: 22px;
  border-radius: 4px;
  margin-bottom: 20px;
}


/* 見出しカラー */
.ser_blue { background: #297d85; }
.ser_green { background: #54a4a9; }
.ser_teal { background: #3ccad2; }


/* カード基本 */
.service_card {
  border: 2px solid #297d85;
  padding: 15px;
  margin-bottom: 15px;
}

/* 左側のロゴ＋説明 */
.service_card_left {
  display: flex;
  align-items: center;
  gap: 15px;
  margin-bottom:10px;
  font-weight: bold;
}

.scl1 { justify-content: space-between; }
.scl2 { justify-content: left;  }

.service_card_left img {
  width: auto;
  height: 40px;
}

/* value moreボタン */
.service_value_btn {
  background: #54a4a9;
  border: 2px solid #297d85;
  color: #fff;
  padding: 0px 20px;
  border-radius: 100vw;
  font-weight: bold;
}

.service_card_left a {
	text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}


.service_card_left a:hover {
  transform: translateY(-5px);
}


.service_detail {
	text-align: left;
	font-size: 1rem;
	color: #387d86;
}

/* BPOエリア */

.bpo_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.bpo_card {
  text-align: left;
  border: 2px solid #40b4b9;
  padding: 10px;
}

.bpo_box {
  display: flex;
  align-items: center;
  gap: 20px;
}

.bpo_card img {
  width: 50px;
  height: auto;
}


/* スマホ対応 */
@media (max-width: 768px) {

  .service_wrapper {
    flex-direction: column;
  }

	.service_area {
	  width: 100%;
	}

  .service_card {
    flex-direction: column;
    align-items: flex-start;
  }

  .service_value_btn {
    margin-top: 10px;
  }

  .bpo_grid {
    grid-template-columns: 1fr;
  }
}

/*---------------------------------
プライバシーポリシーページ
---------------------------------*/

#policy_text ol, #policy_text li {
	list-style-type: decimal !important;
	margin-left: 1rem;
}

#policy_text li {
	margin-bottom: 30px;
}

#policy_text a {
	color: #297d85;
	word-wrap: break-word;
}

#policy_text a:hover {
	text-decoration: none;
}
