@charset "utf-8";
/*-----------------------------------------------------------------
	HTML5 elements, Reseting
-----------------------------------------------------------------*/
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main
{ display: block;}

html { font-size: 62.5%; overflow-y: scroll;}

body {
	font-family: Osaka, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif;
	font-size: 17px;
	font-size: 1.7rem;
	line-height: 1.5;
	color: #000;
	width: 100%;
	background-color: #fff;
	word-wrap: break-word;
	overflow-wrap: break-word;
	-webkit-text-size-adjust:100%;
}

body, div,/* pre, blockquote,*/ p, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, figure, figcaption
{ margin: 0; padding: 0;}
input, textarea
{ margin: 0; font-size: 100%;}
label
{ cursor: pointer;}
table
{ border-collapse: collapse; border-spacing: 0; font-size: 100%;}
fieldset, img
{ border: 0;}
img
{ max-width: 100%; height: auto; vertical-align: top; border: 0; /*image-rendering: -webkit-optimize-contrast;*/image-rendering: auto;}
.video
{ max-width: 100%; height: auto;}
address, caption, cite, code, dfn, em, th, var
{ font-style: normal; font-weight: normal;}
ul, ol
{ list-style: none;}
caption, th
{ text-align: left;}
h1, h2, h3, h4, h5, h6
{ font-size: 100%; font-weight: normal;}
q::after, q::before
{ content:"";}
a, input
{ outline: none; }
input, textarea
{ border-radius: 0; font-family: Osaka, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, sans-serif;}
input[type="button"],input[type="submit"]
{ -webkit-appearance: none; background: none; border: none; padding: 0; cursor: pointer;}
abbr, acronym
{ border: 0;}
*
{ box-sizing: border-box;}

pre { padding: 3px 7px;}
sup { font-size: 76%; vertical-align: top;}
sub { font-size: 76%; vertical-align: baseline;}

p {
	line-height: 1.6;
	word-wrap: break-word;
	overflow-wrap: break-word;
	margin-bottom: 1em;
}

figcaption {
	line-height: 1.3;
	padding: 3px;
}

/* for IE11 */
figure { min-height: 1px;}
.ie-set {
	min-height: 1px;
	width: 100%;
}

/*-----------------------------------------------------------------
	clearfix
-----------------------------------------------------------------*/
.cf,
section, article, aside {
	display: block;
}
.cf::after,
section::after, article::after, aside::after {
	clear: both;
	content:'';
	display: block;
}

/*-----------------------------------------------------------------
	基本スタイル
-----------------------------------------------------------------*/
body {
	display: flex;
}
#body-layout {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	width: 100%;
}
#header, #footer {
	flex-shrink: 0;
	width: 100%;
}
#content-wrapper {
	flex: 1 0 auto;
	min-height: 1px; /* for IE11(img resizing)*/
}
#content {
	margin: 0 auto;
	background-color:#fff;
}
#main,
#side {
	width: 100%;
	text-align: left;
}

/* inner setting
**************************/
.inner { 
	max-width: 1110px;
	margin: 0 auto;
	padding: 0 14px;
}

#content .inner section,
#content section.inner {
	padding-top: 30px;
	padding-bottom: 40px;
}

/* img hover
**************************/
#main a:hover img,
.rollover:hover {
	opacity:0.8;
}

/* リンク：デフォルト色で
******************************/
a,
a:link, a:visited {
	transition: all .3s;
	color: #fff; 
    text-decoration: none;
}
a.none-a-set,
a.none-a-set:active, a.none-a-set:focus {
	color: #000;
	text-decoration: none;
}
	#header a, #header a:link, #header a:visited {
		color: #000;
		text-decoration: none;
	}
		#gnav a, #gnav a:link, #gnav a:visited {
			transition: none;
		}
	#footer a {
		color: #fff;
		text-decoration: underline;
	}
	#footer a:hover {
		opacity:0.8;
		text-decoration: none;
	}
	#breadcrumb, #breadcrumb a {
		color: #555;
	}
	#breadcrumb li a:hover {
		color: #ff4c00;
	}

/* hover */
a:not(.none-a-set):hover,
a:not(.none-a-set):active, a:not(.none-a-set):focus {
	color: #2f4f4f;
	text-decoration: none;
}
a.none-a-set:hover,
a.none-a-set:active, a.none-a-set:focus {
	color: inherit;
	text-decoration: none;
}

/*-----------------------------------------------------------------
	ヘッダ
-----------------------------------------------------------------*/
#header {
	position:relative;
	text-align:left;
	width: 100%;
	margin: 0 auto;
	min-height: 70px;
	padding-bottom: 10px;
	box-shadow: 0 15px 15px -15px rgba(0,0,0,.25);
	/*z-index: 1;*/
	z-index: 9999;
}
#header .logo-wrap {
	display: flex;
	justify-content: flex-start; /* for IE11(bag:r-margin=auto) */
	align-items: center;
	width: 100%;
	margin: 14px auto;
}
#header .logo-scsk-wrap {
	display: flex;
	align-items: center;
	margin-left: auto;
}
#header .logo-scsk {
	margin: 5px 0 0 1em;
}
#header .logo-scsk a:hover img {
	opacity:0.8;
}

#header .logo-header_scsk img {
    margin: 10px 0px;
}

#header .separator {
    display: inline-block;
    width: 3px;             
    height: 30px;           
    background-color: #d3d3d3; 
    margin: 10px 36px; 
    border-radius: 10px;        
}

@media screen and (max-width: 767.98px) {
	#header .separator {
    	margin: 10px 16px;
    }
}

/*------------------------------------
	グローバルナビ
--------------------------------------*/
/* checkbox none */
#gnav-btn {
	display: none;
	cursor: pointer;
}
#gnav input {
	display: none;
}

/* Hamburger（toggle）*/
#gnav-menu-toggle {
	display: none;
}

/* gnav
**************************/
#gnav {
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: #fff;
}
#gnav-menu li {
	width: 100%;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.2;
}
#gnav-menu li a {
	display: block;
	width: 100%;
	padding: .8em 10px;
}

/* menu-child (drop-down)
**************************/
#gnav-menu .menu-child {
	visibility: hidden;
	opacity: 0;
	width: 100%;
	background-color: #fff;
	border: 1px solid #ddd;
}
#gnav-menu .menu-child li {
	border-bottom: 1px solid #ddd;
}
#gnav-menu .menu-child li:last-child {
	border-bottom: none;
}

/* ヘッダ・グローバルナビ */
@media screen and (max-width: 767.98px) {
/*-----------------------------------------
	ヘッダ 767px以下
------------------------------------------*/
  #header {
	padding-bottom: 0;
  }
  #header .logo-wrap {
	margin: 10px auto;
  }
  #header .logo-scsk-wrap {
	margin-right: 54px;
  }
  #header .logo-aruba img { width: 250px; height: auto;}
  #header .logo-scsk img { width: auto; height: 20px;}

/*-----------------------------------------
	グローバルナビ 767px以下
------------------------------------------*/
  /* Menu open js-setting */
  body.js-fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
  }
  /* Hamburger（toggle）*/
  #gnav-menu-toggle {
	display: block;
  }

  #gnav-menu {
	display: none;
	padding-bottom: .5em;
  }  
  /* menu-parent */
  #gnav-menu .menu-parent {
	border-bottom: 1px solid #666;
  }
  #gnav-menu .menu-parent:first-child {
	border-top: 1px solid #666;
  }
  /* menu-child */
  #gnav-menu .menu-child {
	visibility: visible;
	opacity: 1;
	padding-left: 2em;
	border-width: 1px 0 0;
  }
  /* gnav-btn checked */
  #gnav-btn:checked ~ #gnav {
	position: fixed;
	overflow-y: auto;
	overflow-x: hidden;
	height: 100%;
	z-index: 100;
  }
  #gnav-btn:checked ~ * #gnav-menu {
	display: block;
	opacity: 1;
  }
  #gnav-btn:checked ~ * .menu-parent {
	max-height: inherit;
	overflow-y: visible;
  }
  #gnav-btn:checked ~ * .menu-child {
	max-height: inherit;
	overflow-y: visible;
	visibility: visible;
  }
  /* arrow setting
  ***************************/
  #gnav-menu li a {
	position: relative;
	padding-right: 1em;
  }
  #gnav-menu li a::after {
	position: absolute;
	content:'';
	top: 0;
	bottom: 0;
	right: 4px;
	margin: auto;
	display: block;
	width: 6px;
	height: 6px;
	border-top: 2px solid #999;
	border-right: 2px solid #999;
	transform: rotate(45deg);
  }  
  /* hover & current
  ***************************/
  #gnav-menu li a:hover {
	color: #ff4c00;
  }
  #gnav-menu li a:hover::after {
	border-color: #ff4c00;
  }

  /* gnav-menu-toggle (Hamburger)
  ********************************/
  #gnav-menu-toggle {
	position: absolute;
	top: 15px;
	right: 10px;
  }
  #gnav-menu-toggle span {
	display: block;
	width: 40px;
	height: 40px;
	background-color: #333;
  }
  #gnav-menu-toggle span span {
	display: block;
	overflow: hidden;
	width: 1px;
	height: 1px;
  }
  #gnav-menu-toggle span span::before,
  #gnav-menu-toggle span span::after,
  #gnav-menu-toggle span::after {
	position: absolute;
	left: 10px;
	content:'';
	width: 20px;
	height: 3px;
	background-color: #FFF;
  }
  /* top bar */
  #gnav-menu-toggle span span::before {
	top: 10px;
  }
  #gnav-btn:checked ~ #gnav label#gnav-menu-toggle span span::before {
	top: 19px;
	transform: rotate(-45deg);
  }
  /* bottom bar */
  #gnav-menu-toggle span::after {
	bottom: 10px;
  }
  #gnav-btn:checked ~ #gnav label#gnav-menu-toggle > span::after {
	bottom: 18px;
	transform: rotate(-135deg);
  }
  /* center bar */
  #gnav-menu-toggle span span::after {
	top: 18px;
  }
  #gnav-btn:checked ~ #gnav label#gnav-menu-toggle span span::after {
	display: none;
  }

}

/* ヘッダ・グローバルナビ */
@media screen and (min-width: 768px) {
/*-----------------------------------------
	グローバルナビ 768px以上
------------------------------------------*/
  #gnav-menu {
	display: flex;
	justify-content: space-between;
  }
  #gnav-menu > li {
	display: flex;
	flex-grow: 1;
	width: auto;
  }
  #gnav-menu > li a {
	display: flex;
	flex-grow: 1;
	justify-content: center;
	align-items: center;
  }
  #gnav-menu > li.drop,
  #gnav-menu .menu-child {
	min-width: 9em;
  }
  #gnav-menu li {
	position: relative;
	white-space: nowrap;
	text-align: center;
  }
  
  /* height & separator
  ***************************/
  #gnav-menu > li,
  #gnav-menu > li::before{
	height: 2.2em;
  }
  #gnav-menu > li > .menu-child {
	top: 2.2em;
  }
	#gnav-menu .menu-child {
		position: absolute;
		left: 50%;
		transform: translate(-50%, 0);
		margin-left: 1px;
		z-index: 100;
	}
  #gnav-menu > li:not(.menu-home)::before {
	position: absolute;
	content: '';
	display: block;
	top: 0;
	left: 0;
	width: 2px;
	background-color: #0507e5;
  }
  /* hover & current
  ***************************/
  #gnav-menu li a:hover {
	background-color: #1a2792;
	color: #fff;
  }
  /* drop-down
  ***************************/
  #gnav-menu .menu-child {
	visibility: hidden;
	opacity: 0;
  }
  #gnav-menu .menu-parent:hover > .menu-child {
	visibility: visible;
	opacity: 1;
  }

} 

/*-----------------------------------------------------------------
	フッタ
-----------------------------------------------------------------*/
#footer {
	width: 100%;
	margin: 0 auto;
	color: #fff;
	background-color: #0a2986;
	
}
#footer .footer-top-area {
	background-color: #0a2986;
	padding: 26px 0;
}
#footer .footer-bottom-area {
	padding-bottom: 20px;
}
	#footer .copyright {
		font-size: 86%;
	}

/* footer-top-area
********************************/
#footer .footer-menu a {
	display: block;
	line-height: 1.2;
	padding: .7em 0;
}
#footer .footer-menu > li > a {
	text-decoration: none;
	font-weight: bold;
}
#footer .footer-menu .menu-child li a {
	font-size: 1.4rem;
}

/* link-arrow setting */
#footer .footer-menu li a {
	position: relative;
	padding-right: 1em;
}
#footer .footer-menu li a::after {
	position: absolute;
	content:'';
	top: 0;
	bottom: 0;
	right: 4px;
	margin: auto;
	display: block;
	width: 5px;
	height: 5px;
	border-top: 2px solid #4a64b5;
	border-right: 2px solid #4a64b5;
	transform: rotate(45deg);
}
#footer .footer-menu li a::after {
	border-color: #4a64b5;
}
#footer .footer-menu li a:hover::after {
	opacity:0.8;
}

/* footer-bottom-area
********************************/
#footer .scsk-links-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 20px auto 15px;
}
#footer .logo-scsk {
	min-width: 68px;
}
#footer .scsk-links {
	margin-left: 1em;
	padding-left: 1em;
	border-left: 1px solid #fff;
}
#footer .scsk-links li {
	display: inline-block;
	font-size: 1.4rem;
	margin: 0 .5em .5em;
}

/* フッタ */
@media screen and (max-width: 767.98px) {
/*-----------------------------------------
	フッタ 767px以下
------------------------------------------*/
  #footer .footer-menu a {
	text-decoration: none;
  }
  #footer .footer-menu .menu-parent {
	border-bottom: 1px solid #40579d;
  }
  	#footer .footer-menu .menu-parent:first-child {
		border-top: 1px solid #40579d;
  	}
  #footer .footer-menu .menu-child {
	padding-left: 2em;
	border-top: 1px solid #40579d;
  }
  	#footer .footer-menu .menu-child li {
		border-bottom: 1px solid #40579d;
  	}
  	#footer .footer-menu .menu-child li:last-child {
		border-bottom: none;
  	}
}
@media screen and (min-width: 768px) {
/*-----------------------------------------
	フッタ 768px以上
------------------------------------------*/
  /* footer-top-area
  ********************************/
  #footer .footer-menu > li {
	float: left;
	width: calc(81%/4);
	margin: 0 1% 1em;
  } 
  #footer .footer-menu > li.menu-home {
	width: 8%;
  }
  #footer .footer-menu > li > a {
	font-size: 96%;
	margin-bottom: .5em;
	padding: .5em .6em .5em 0;
	border-bottom: 2px solid #fff;
  }
  #footer .footer-menu .menu-child {
	list-style: disc;
	margin-left: 1.3em;
  }
  #footer .footer-menu .menu-child li a {
	display: inline;
  }

  /* link-arrow setting */
  #footer .footer-menu > li > a::after {
	border-color: #fff;
  }  
  #footer .footer-menu .menu-child li a {
	padding-right: 0;
  }
  #footer .footer-menu .menu-child li a::after {
	width: 0;
	height:0;
	border: none;
  }

  /* footer-bottom-area
  ********************************/
  #footer .scsk-links-wrap,
  #footer .copyright {
	text-align: center;
  }	

} 

/*-----------------------------------------------------------------
	上へ戻る
-----------------------------------------------------------------*/
.page-top {
    position: fixed;
    bottom: 16px;
    right: 2%;
    padding: 10px 14px;
	background-color: #999;
    font-size: 18px;
    color: #fff!important;
    opacity: 0.8;
	text-decoration: none;
	z-index: 999;
}
.page-top:hover {
	color:#fff;
	opacity: 0.6;
}

/*-----------------------------------------------------------------
	トップビジュアル
-----------------------------------------------------------------*/
#home-topvisual,
#page-topvisual {
	text-align: left;
	width: 100%;
	color: #fff;
	background: #01a982 url(../img/bg/bg_topvisual_pcai3.png) no-repeat center center / cover;
}

/* body.home */
#home-topvisual {
	padding: 30px 5% 25px;
}
#home-topvisual .inner {
	position: relative;
	text-align: right;
	min-height: 140px;
}
#home-topvisual .img-essentials {
	width: auto;
	max-height: 160px;
	border: 1px solid #FFFFFF; /* 白色の枠線 */
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2); /* シャドウ (ぼかし半径5px、透明度0.2) */
    opacity: 0.95; /* 透明度95% */
}
#home-topvisual .lead {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translate(0, -50%);
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: left;
	text-shadow: 1px 0 2px #000;
}

/* body.page */
#page-topvisual {
	padding: 40px 0 35px;
}
#page-topvisual .headline01 {
	font-size: 3.0rem;
	font-weight: bold;
	text-align: left;
	line-height: 1.1;
}
#page-topvisual .headline01 .text-sub {
	font-size: 63%;
	font-weight: normal;
	vertical-align: middle;
	margin: 0 .5em 0 -.5em;
}
#page-topvisual .headline01 .text-title {
	display: inline-block;
	font-size: inherit;
	margin-right: 1em;
}

/*-----------------------------------------------------------------
	パンくず
-----------------------------------------------------------------*/
#breadcrumb {
	list-style: none;
}
#breadcrumb li {
	display: inline-block;
	font-size: 1.3rem;
	line-height: 1.2;
	text-align: left;
	margin: 0 .3em 10px 0;
}
#breadcrumb .menu-item {
	position: relative;
	padding-left: 1.5em;
}
#breadcrumb .menu-item::before {
	position: absolute;
	content:'';
	top: 0;
	bottom: 0;
	left: 2px;
	margin: auto;
	display: block;
	width: 5px;
	height: 5px;
	border-top: 2px solid #999;
	border-right: 2px solid #999;
	transform: rotate(45deg);
}

/*-----------------------------------------------------------------
	コンテンツ(#content)
-----------------------------------------------------------------*/
#main .title-set,
#main .lead {
	max-width: 92%;
	margin-left: auto;
	margin-right: auto;
}
	#main .lead {
		display: table;
		margin-bottom: 2em;
	}

/* タイトルスタイル
*******************************/
.headline02 {
	font-size: 2.4rem;
	line-height: 1.5;
	color: #1a2792;
	margin-bottom: 1em;
	position: relative;
    display: inline-block;
    padding-top: 0.5em;
    -webkit-background-clip: text; 
    color: transparent;
    background-image: linear-gradient(135deg, #1a2792, #27b6dd);
    padding-left: 1px;
}
.headline02 span {
  font-family: 'Roboto', sans-serif;
  font-size: 100px;
  font-size: 9rem;
  line-height: 1;
  position: absolute;
  bottom: -0.6rem;
  left: 0;
  color: #5ba1e6;
  opacity: 0.2;
}
.headline-wrapper{
	text-align: center;
}

.headline03,
.headline03-b-line {
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.2;
	margin: .3em 0 .7em;
}
.headline03-b-line {
		padding-bottom: .5em;
		border-bottom: 1px solid #ccc;
	}
.headline04,
.headline04-b-line {
	font-size: 1.85rem;
	font-weight: bold;
	line-height: 1.2;
	margin: .5em 0 .7em;
}
	.headline04-b-line {
		padding-bottom: .5em;
		border-bottom: 1px solid #ccc;
	}
.headline05{
	font-size: 3.0rem;
	line-height: 1.5;
	color: #1a2792;
	margin-bottom: 1em;
	
}

.table-basic-title {
	font-weight: bold;
	line-height: 1.2;
	color: #fff;
	padding: 10px;
	background-color: #0507e5;
}
.table-basic-title > * {
	font-weight: bold;
}
	.table-basic-title a {
		color: #fff;
		text-decoration: underline;
	}
	

/* キャプションスタイル
*******************************/
.caption,
.caption-title {
	display: table;
	text-align: left;
	line-height: 1.3;
	margin: auto;
}
	.caption {
		font-size: 83%;
		color: #555;
		padding: 5px;
	}
	.caption-title {
		font-weight: bold;
		color: #1a2792;
		padding: .5em;
	}

/* テーブル
*******************************/
table {
	width: 100%;
}
table p {
	margin-bottom: 0;
}

.table-basic {
	border-collapse: collapse;
}
.table-basic th, 
.table-basic td {
	text-align: center;
	vertical-align: middle;
	padding: .3em .5em;
	border-bottom: 1px solid #ccc;
	border-left: 1px solid #ccc;
	font-size: 90%;
}
	.table-basic th {
		border-left: none;
		border-right: 1px solid #ccc;
	}
	.table-basic thead th:last-child {
		border-right: none;
	}
	.table-basic td:first-child {
		border-left: none;
	}
.table-basic th {
	line-height: 1.3;
}
.table-basic thead th {
	font-weight:bold;
	color: #fff;
	background-color: #0a2986;
	border-bottom: none;
	padding: .6em .5em;
}
.table-basic tbody th {
	background-color: #f1f1f1;
}
.table-basic > tbody {
	border-top: 1px solid #ccc;
}
	.table-basic-title + .table-basic > tbody,
	.table-basic-title + .table-scroll > .table-basic > tbody {
		border-top: none;
	}

/* option */
.table-basic.taL th,
.table-basic.taL td { text-align: left;}
.table-basic.table-fixed { table-layout: fixed;}
.table-basic tbody.th-fzS th { font-size: 83%;}

/* table-scroll */
.table-scroll {
	display: block;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}
.table-scroll table th,
.table-scroll table td {
	white-space: nowrap;
}
.table-scroll table img{
	max-width: none;
}
.table-scroll table.table-fixed {
	table-layout: auto;
}
	/* for scroll-hint.js gradation */
	.table-scroll table .bg-f1,
	.table-scroll .table-basic tbody th {
		background-color: rgba(204,204,204, 0.3);
	}
	.table-scroll table tbody tr:first-child td img,
	.table-scroll .table-basic tbody tr:first-child td img {
		mix-blend-mode: multiply;
	}	
		/*.table-scroll table tbody tr:first-child td,
		.table-scroll .table-basic tbody tr:first-child td{
			background-color: rgba(255,255,255, 0);
		}*/
	/* option */
	.table-scroll table th.word-wrap,
	.table-scroll table td.word-wrap { white-space: normal;}

/* 背景色,ボーダーボックス
*******************************/
.bg-box-shadow {
	width: 100%;
	background-color: #fff;
	box-shadow: 0 1px 15px rgba(0,0,0,.2);
	border: 1px solid #fff;
	border-radius: 5px;
	padding: 18px;
	margin-bottom: 25px;
}
.bg-box-fff,
.bg-box-gray {
	width: 100%;
	background-color: #fff;
	border:1px solid #fff;
	border-radius: 5px;
	padding: 18px;
	margin-bottom: 25px;
}
	.bg-box-gray {
		background-color: #f1f1f1;
		border:1px solid #f1f1f1;
	}
.border-box-gray {
	width: 100%;
	background-color: #fff;
	border:1px solid #ccc;
	border-radius: 5px;
	padding: 18px;
	margin-bottom: 25px;
}
	.bg-box-fff > p,
	.bg-box-gray > p,
	.border-box-gray > p {
		margin-bottom: 0.5em;
	}
	.bg-box-fff > *:last-child,
	.bg-box-fff > ul:last-child li:last-child,
	.bg-box-gray > *:last-child,
	.bg-box-gray > ul:last-child li:last-child,
	.border-box-gray > *:last-child,
	.border-box-gray > ul:last-child li:last-child {
		margin-bottom: 0;
	}

/* hover */
@media screen and (hover:hover) {
 a.bg-box-shadow:hover,
 a.bg-box-gray:hover {
	border: 1px solid #bbb;
 }
 a.border-box-gray:hover {
	border: 1px solid #0507e5;
 }
}
/* hover IE11 only */
_:-ms-lang(x)::-ms-backdrop, a.bg-box-shadow:hover > *,
_:-ms-lang(x)::-ms-backdrop, a.bg-box-gray:hover > *,
_:-ms-lang(x)::-ms-backdrop, a.border-box-gray:hover > * {
	opacity:0.7;
}

/* border + title */
.border-box-title-gray {
	width: 100%;
	background-color: #fff;
	border: 3px solid #ccc;
	margin-bottom: 25px;
}
	.box-title {
		background-color: #f1f1f1;
		color: #1a2792;
		font-size: 117%;
		font-size: 2.2rem;
		font-weight: bold;
		padding: .5em .5em .3em;
	}
	.box-inner {
		padding: 18px;
	}
	



/* リンク,リスト マーク各種
*******************************/
#main ul li,
#main ol li{
	line-height: 1.4;
	margin-bottom: 0.4em;
}

/* chevron */
.chevron2-r {
	position: relative;
	padding-right: 1.2em;
}
.chevron2-r::after {
	position: absolute;
	content:'';
	top: 40%;
	right: 0;
	transform: translate(0, -50%);
	background: url(../img/icon/icon_chevron2-r.svg) no-repeat center center / contain;
	width: 1.2em;
	height: 1.2em;
}

/* ※用 */
.mark-note {
	text-indent: -1em;
	padding-left: 1em;
	font-size: 90%;
}

/* check */
.mark-check,
ul.mark-check li,
ol.mark-check li{
	position: relative;
	list-style: none;
	line-height: 1.4;
	padding-left: 1.8em;
	margin-bottom: 0.6em;
}
	ul.mark-check li:last-child,
	ol.mark-check li:last-child{
		margin-bottom: 1em;
	}
	.mark-check.mb00 li:last-child{
		margin-bottom: 0;
	}
.mark-check::before,
ul.mark-check li::before,
ol.mark-check li::before{
	position: absolute;
	content:'';
	/*top: .1em;*/
	left: .4em;
	transform: rotate(45deg);
	width: .4em;
	height: .8em;
	border-right: 4px solid #1a2792;
	border-bottom: 3px solid #1a2792;
}
	ul.mark-check,
	ol.mark-check{
		position: static;
		padding-left: 0;
	}
	ul.mark-check::before,
	ol.mark-check::before{
		position: static;
		width: 0;
	    height:0;
		border: none;
	}

.mb60 { margin-bottom:60px !important;}
.mt60 { margin-top:60px !important;}
.mb26 { margin-bottom:26px !important;}

/* ポツ */
.mark-disc-s {
	position: relative;
	padding-left: 1em;
}
	.mark-disc-s::before {
		position: absolute;
		content:'・';
		left: 0;
	}

/* disc */
.mark-disc,
ul.mark-disc li,
ol.mark-disc li{
	position: relative;
	list-style: none;
	line-height: 1.4;
	padding-left: 1em;
	margin-bottom: 0.6em;
}
	ul.mark-disc li:last-child,
	ol.mark-disc li:last-child{
		margin-bottom: 1em;
	}
	.mark-disc.mb00 li:last-child{
		margin-bottom: 0;
	}
.mark-disc::before,
ul.mark-disc li::before,
ol.mark-disc li::before{
	position: absolute;
	content: '\25CF';
	speak: none;
	left: -1px;
	color: #1a2792;;
}
	ul.mark-disc,
	ol.mark-disc{
		position: static;
		padding-left: 0;
	}
	ul.mark-disc::before,
	ol.mark-disc::before{
		position: static;
		content: '';
	}
	


/* button
*******************************/
.btn-contact a {
	display: inline-block;
	text-decoration: none !important;
	text-align: center;
	font-weight: bold;
	font-size: 1.7rem;
	line-height: 1.2;
	color: #fff !important;
	background-color:  #1a2792;
	padding: 10px 1.5em 8px 1.2em;
}
.btn-contact a::before {
	content:'';
	display: inline-block;
	vertical-align: middle;
	background: url(../img/icon/icon_mail.svg) no-repeat center center / contain;
	width: 1.2em;
	height: 1.2em;
	margin-right: 5px;
}
.btn-contact a:hover {
	color: #fff !important;
	opacity:0.8;
}



/*-----------------------------------------------------------------
	トップページ(body.home) コンテンツ
-----------------------------------------------------------------*/
/* お問い合わせ
********************************/
#contact-info-area {
	text-align: center;
	width: 100%;
}

#contact-info-area .tel {
	margin-bottom: 1.5em;
}
#contact-info-area .tel a {
	color: #000;
	text-decoration: none;
}
#contact-info-area .tel .tel-number {
	font-size: 2.8rem;
	font-weight: bold;
}
#contact-info-area .tel .text {
	display: block;
	line-height: 1.2;
	margin-left: 26px;
}

#contact-info-area .btn-contact a {
	display: block;
	width: 36%;
	padding: 1em 1.5em .8em 1.2em;
	margin: 0 auto;
}

/*-----------------------------------------------------------------
	ページ(body.page) コンテンツ
-----------------------------------------------------------------*/
/* APページ
********************************/
#lineup-AP-indoor {
	width: 100%;
}
#lineup-AP-indoor .lineup-item {
	width: calc(100%/4);
}

#lineup-AP-stationary,
#lineup-AP-outdoor {
	width: calc((100%/2) - 10px);
}
#lineup-AP-stationary .lineup-item,
#lineup-AP-outdoor .lineup-item {
	width: calc(100%/2);
}

/*-----------------------------------------------------------------
	メディアクエリ用ブレークポイント（ヘッダ・グローバルナビ・フッタ除く）
-----------------------------------------------------------------*/
@media screen and (min-width: 560px){

.ess-left, .ess-right {
    flex: 1; /* 均等に幅を取る */
  }
}

@media screen and (min-width: 640px){

  /* トップビジュアル
  **************************/
  #home-topvisual {
	padding: 25px 8% 20px;
  }
  #home-topvisual .img-essentials {
	max-height: 180px;
  }  
  #home-topvisual .message {
	font-size: 2.5rem;
	text-shadow: 1px 1px 2px #666,2px 2px 3px #666,3px 3px 6px #666;
  }
  #home-topvisual .message2 {
	font-size: 3.2rem;
  }
  #home-topvisual .message3 {
	font-size: 4.4rem;
	text-shadow: 1px 1px 3px #333,2px 2px 5px #333,3px 3px 7px #333;
  }
	
}

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

  .headline02,
  .headline05 { font-size: 2.8rem;}
  .headline03 { font-size: 2.4rem;}
  .headline03-b-line {
	font-size: 2.2rem;
	padding-bottom: .4em;
  }
  .headline04,
  .headline04b-line { font-size: 2.0rem;}

  /* inner setting
  **************************/
  .inner { 
	padding: 0 20px;
  }

  /* トップビジュアル
  **************************/
  #home-topvisual,
  #page-topvisual {
	background-image: url(../img/bg/bg_topvisual_pcai3.png);
  }  
  #home-topvisual .img-essentials {
	max-height: 190px;
  }   
  #home-topvisual .message {
	font-size: 2.5rem;
	text-shadow: 1px 1px 2px #666,2px 2px 3px #666,3px 3px 6px #666;
  }
  #home-topvisual .message2 {
	font-size: 3.5rem;
  }
  #home-topvisual .message3 {
	font-size: 4.6rem;
	text-shadow: 1px 1px 3px #333,2px 2px 5px #333,3px 3px 7px #333;
  }


  /* トップページ：お問い合わせ
  ******************************/
  #contact-info-area {
	display: table;
  }
  #contact-info-area .tel,
  #contact-info-area .btn-contact {
	display: table-cell;
	vertical-align: middle;
	margin-bottom: 0;
  }
  #contact-info-area .tel {
	padding-left: 8%;
  }
  #contact-info-area .tel .mark-note.fzSSS {
	font-size: 66%;
  }
  #contact-info-area .btn-contact {
	width: 55%;
  }
  
  /* ページコンテンツ：AP
  ********************************/
  #lineup-AP-indoor .lineup-item {
	width: calc(100%/6);
  }
  #lineup-AP-stationary .lineup-item,
  #lineup-AP-outdoor .lineup-item {
	width: calc(100%/3);
  }

}

@media screen and (min-width: 960px){

  .headline02 { font-size: 3.4rem;}

  /* トップビジュアル
  **************************/
  #home-topvisual .img-essentials {
	max-height: 190px;
  }
  #home-topvisual .message {
	font-size: 2.5rem;
	text-shadow: 1px 1px 2px #666,2px 2px 3px #666,3px 3px 6px #666;
  }
  #home-topvisual .message2 {
	font-size: 3.5rem;
  }
  #home-topvisual .message3 {
	font-size: 4.8rem;
	text-shadow: 1px 1px 3px #333,2px 2px 5px #333,3px 3px 7px #333;
  }


}	

@media screen and (min-width: 1110px){
  
  /* トップビジュアル
  ********************************/
  #home-topvisual .inner {
	width: 1000px;
  }
  #home-topvisual .img-essentials {
	max-height: 190px;
	margin-right: -10%;
	margin-bottom: -5%;
  }
  #home-topvisual .message {
	font-size: 2.5rem;
	text-shadow: 1px 1px 2px #666,2px 2px 3px #666,3px 3px 6px #666;
  }
  #home-topvisual .message2 {
	font-size: 3.5rem;
	
  }
  #home-topvisual .message3 {
	font-size: 5.0rem;
	text-shadow: 1px 1px 3px #333,2px 2px 5px #333,3px 3px 7px #333;
  }
  
}

/*-----------------------------------------------------------------
	vme作成用の追加css(上はhpe-aruba)
-----------------------------------------------------------------*/

.feature-box {
  border: 5px solid #0a2986; /* 枠線の色と太さ */
  padding: 20px; /* 内側の余白 */
  margin-bottom: 20px; /* 下側の余白（必要に応じて） */
  border-radius: 5px;
}

.feature-header {
  background-color: #0a2986; /* ヘッダーの背景色 */
  color: white; /* ヘッダーの文字色 */
  padding: 10px; /* ヘッダーの内側の余白 */
  margin: -20px; /* 上と左右の余白を打ち消す */
  margin-bottom: 20px; /* ヘッダーの下側の余白 */
  text-align: center; /* テキストを中央揃え */
}

.feature-header p {
  margin: 5px 0; /* 段落の上下の余白 */
  font-weight: bold; /* テキストを太字にする */
  
}

.feature-box ul {
  padding-left: 58px; /* 左側の余白 */
}

.feature-box li {
  border-bottom: 2px solid #ddd; /*少し太めのボーダー*/
  max-width: 350px;
}
.feature-box li:last-child {
  border-bottom: none;
}

.container {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 左右のセクションに均等な幅を割り当てる */
  gap: 20px; /* セクション間の間隔 */
}

ul.mark-list>li {
    list-style: none;
    list-style-position: outside;
    margin: 0.5em 0;
    padding-left: 1em;
    text-indent: -1em;
}
.ess-manager{
	font-size: 1.5em;
	color: #1a2792;
}
.ess-column{
	margin-bottom: 20px;
}
.pricing table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    font-size: 16px;
}

.pricing th, td {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: left;
    background-color: white;
}

.pricing th {
    background-image: url(../img/bg/bg_topvisual_ess.jpeg);
    color: white;
    text-align: center;
}

.notes ul {
    list-style-type: disc;
    padding-left: 20px;
    
}
.key {
	padding-top: 30px;
}


.hyper{
  font-size: 0.9em; /* 文字サイズを少し小さくする */
}
.visor{
  font-size: 1.8em;
}
.price{
  font-size: 1.8em;
  font-weight: bold;
}
.inform{
  font-size: 1.5em;
}
.pricing table {
  position: relative; /* 相対位置指定 */
}

.pricing table thead::before {
  content: "2025年3月現在";
  position: absolute; /* 絶対位置指定 */
  top: -1.5em;       /* 上からの位置 */
  right: 0;          /* 右からの位置 */
  font-size: 0.8em;   /* 文字サイズ */
  color: #000;        /* 文字色 */
}
.beam{
  border-top: #1A2692 20px solid;
}
@media screen and (max-width: 640px) {
   #home-topvisual .message {
	font-size: 2.0rem;
	text-shadow: 1px 1px 2px #666,2px 2px 3px #666,3px 3px 6px #666;
  }
  #home-topvisual .message2 {
	font-size: 3.0rem;
  }
  #home-topvisual .message3 {
	font-size: 3.5rem;
	text-shadow: 1px 1px 3px #333,2px 2px 5px #333,3px 3px 7px #333;
  }
  .container {
    grid-template-columns: 1fr; /* 1列にする */
    width: 80%;
    margin: 0 auto;
  }
  .table-container {
        overflow-x: auto; /* 横スクロールを有効にする */
        width: 100%; /* コンテナの幅を100%にする */
        -webkit-overflow-scrolling: touch; /* iOSでスムーズなスクロールを有効にする */
    }

  .table-container table {
        width: auto; /* テーブルの幅を自動調整する */
        min-width: 100%; /* テーブルの最小幅を100%にする */
    }
  .visor {
    font-size: 1.3em;
	}
  .feature-box ul {
    padding-left: 20px; /* 左側の余白 */
	}
   .headline05 { font-size: 2.4rem;}
   
   
}

.ess2_left {
  display: flex; /* Flexboxを有効にする */
  flex-direction: column; /* 要素を列方向に配置 */
  justify-content: center; /* 列方向に中央揃え */
}

.ess2_right {
  display: flex; /* Flexboxを有効にする */
  flex-direction: column; /* 要素を列方向に配置 */
  justify-content: center; /* 列方向に中央揃え */
}

@media (min-width: 768px) {
  
  
  .ess-left, .ess-right {
    flex: 1; /* 均等に幅を取る */
  }
}

/*-----------------------------------------------------------------
	pcai作成用の追加css(上はhpe-vme)
-----------------------------------------------------------------*/
/* portfolioの表用ここから */

.pcai-portfolio-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    margin-top: 30px;
    margin-bottom: 40px;

}

.pcai-portfolio-table {
    width: 100%;
    border-collapse: collapse;
    background: white;
    border: none;
}

.pcai-portfolio-table * {
    border: none !important;
}

.pcai-portfolio-table thead th {
    background-color: #4a9b8e !important;
    color: white !important;
    padding: 16px 12px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
}

.pcai-portfolio-table .pcai-usage-row {
    background: linear-gradient(90deg, #f8f9fa 0%, #e9ecef 50%, #f8f9fa 100%) !important;
}

.pcai-portfolio-table .pcai-usage-row td {
    padding: 12px !important;
    text-align: center !important;
    font-size: 12px;
    font-weight: 500;
}

.pcai-portfolio-table .pcai-usage-text {
    font-size: 10px;
    color: #666;
    display: block;
    margin-top: 1px;
}

.pcai-portfolio-table .pcai-server-row {
    background: linear-gradient(90deg, #e8f4f1 0%, #cfe8e0 25%, #b0d1c7 50%, #91baae 75%, #7aa89a 100%) !important;
    height: 180px;
}

 .pcai-portfolio-table .pcai-server-row td {
    padding: 20px 12px !important;
    text-align: center !important;
    vertical-align: middle !important;
    background: transparent !important;
} 

.pcai-portfolio-table .pcai-server-image {
    width: 160px;
    height: auto;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
  }

.pcai-portfolio-table .pcai-rack-image {
   width: 90px;
    height: auto;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    }

.pcai-portfolio-table .pcai-spec-row td {
    padding: 10px 12px !important;
    text-align: center !important;
    font-size: 12px;
    color: #212529;
    background-color: white !important;
}

.pcai-portfolio-table .pcai-feature-column {
    background-color: #f1f1f1 !important;
    font-weight: 600 !important;
    color: #000 !important;
    width: 110px;
    text-align: center !important;
}

/* 特徴列（第1列）全体にグレー背景を適用 */
.pcai-portfolio-table th:first-child,
.pcai-portfolio-table td:first-child {
    background-color: #f1f1f1 !important;
    font-weight: 600 !important;
    color: #000 !important;
}

/* ヘッダー行の第1列は元の色を保持 */
.pcai-portfolio-table thead th:first-child {
    background-color: #4a9b8e !important;
    color: white !important;
}

.pcai-portfolio-table .pcai-small-text {
    font-size: 10px;
    color: #666;
    display: block;
    margin-top: 2px;
}

.pcai-portfolio-table .pcai-na-value {
    color: #999 !important;
    font-style: italic;
}

/* レスポンシブ対応 */
@media (max-width: 1024px) {
    .pcai-portfolio-wrapper {
        max-width: 100%;
        margin: 0 10px;
        overflow-x: scroll;
    }
    
    .pcai-portfolio-table {
        min-width: 800px;
        width: 800px;
    }
}

@media (max-width: 768px) {
    .pcai-portfolio-wrapper {
        margin: 0 5px;
    }
    
    .pcai-portfolio-table {
        font-size: 11px;
        min-width: 700px;
        width: 700px;
    }
    
    .pcai-portfolio-table thead th {
        padding: 12px 8px;
        font-size: 12px;
    }
    
    .pcai-portfolio-table .pcai-usage-row td {
        padding: 8px !important;
        font-size: 11px;
    }
    
    .pcai-portfolio-table .pcai-server-image {
        width: 80px;
        height: 50px;
        font-size: 9px;
    }
    
    .pcai-portfolio-table .pcai-rack-image {
        width: 30px;
        height: 80px;
        font-size: 8px;
    }
    
    .pcai-portfolio-table .pcai-server-row {
        height: 120px;
    }
    
    .pcai-portfolio-table .pcai-server-row td {
        padding: 15px 8px !important;
    }
    
    .pcai-portfolio-table .pcai-spec-row td {
        padding: 8px 6px !important;
        font-size: 10px;
    }
    
    .pcai-portfolio-table .pcai-feature-column {
        width: 90px;
    }
}

@media (max-width: 480px) {
    .pcai-portfolio-wrapper {
        margin: 0;
        border-radius: 0;
    }
    
    .pcai-portfolio-table {
        min-width: 600px;
        width: 600px;
    }
    
    .pcai-portfolio-table thead th {
        padding: 10px 6px;
        font-size: 11px;
    }
    
    .pcai-portfolio-table .pcai-usage-row td {
        padding: 6px !important;
        font-size: 10px;
    }
    
    .pcai-portfolio-table .pcai-server-image {
        width: 60px;
        height: 40px;
        font-size: 8px;
    }
    
    .pcai-portfolio-table .pcai-rack-image {
        width: 25px;
        height: 60px;
        font-size: 7px;
    }
    
    .pcai-portfolio-table .pcai-server-row {
        height: 100px;
    }
    
    .pcai-portfolio-table .pcai-server-row td {
        padding: 10px 4px !important;
    }
    
    .pcai-portfolio-table .pcai-spec-row td {
        padding: 6px 4px !important;
        font-size: 9px;
    }
    
    .pcai-portfolio-table .pcai-feature-column {
        width: 80px;
    }
    
    .pcai-portfolio-table .pcai-small-text {
        font-size: 8px;
    }
}
.needs_portfolio p{
		font-size: 2.5rem;
		line-height: 1.5;
		color: #000;
		margin-bottom: 2em;
		letter-spacing: 0.02em;
		text-align: center;
	}


/* portfolioの表用ここまで */
/* 02ワンストップビジネスマンここから */
		.onestop_image{
			 max-width: 650px;
			 margin: 0 auto;
		}
		.support-section {
            max-width: 930px;
            margin: 0 auto;
            padding-top: 30px;
           
        }
        
        .support-wrapper {
            display: flex;
            align-items: flex-start;
            gap: 15px;
            padding-top: 30px;
   		    padding-bottom: 20px;

        }
        
        .businessman-img {
            flex-shrink: 0;
            width: 134px;
            height: 208px;
        }
        
        .businessman-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 8px;
            margin-top: 8px
        }
        
        .support-content {
            flex: 1;
        }
        
        .support-title {
            font-size: 30px;
            font-weight: bold;
            color: #000;
            margin-bottom: 20px;
            letter-spacing: 0.5px;
            text-align: center;
        }
        .support-offer{
        	margin-left: 50px;
        
        }
        
        .support-subtitle {
            font-size: 21px;
            color: #000;
            margin-bottom: 15px;
            font-weight: normal;
        }
        
        .service-item {
            display: flex;
            align-items: flex-start;
            margin-bottom: 12px;
            color: #000;
            font-size: 21px;
        }
        
        .service-item:last-child {
            margin-bottom: 0;
        }
        
        .check-icon {
            color:#000;
            font-weight: bold;
            margin-right: 12px;
            font-size: 16px;
            margin-top: 2px;
            flex-shrink: 0;
        }
        
        .service-text {
            flex: 1;
            line-height: 1.6;
        }
        
        .text-emphasis {
            color: #000;
            font-weight: 500;
        }
        
        /* レスポンシブ対応 */
        @media screen and (max-width: 768px) {
            .support-section {
                padding: 20px 15px;
            }
            
            .support-wrapper {
                flex-direction: column;
                gap: 20px;
                align-items: center;
                text-align: center;
            }
            
            .businessman-img {
                align-self: center;
            }
            
            .support-title {
                font-size: 20px;
                margin-bottom: 15px;
            }
            
            .support-subtitle {
                font-size: 15px;
                margin-bottom: 12px;
            }
            
            .service-item {
                font-size: 14px;
                text-align: left;
            }
        }
        
        @media screen and (max-width: 480px) {
            .support-title {
                font-size: 18px;
            }
            
            .support-subtitle {
                font-size: 14px;
            }
            .support-offer {
            	margin: 0 auto;
            }
            
            .service-item {
                font-size: 13px;
            }
            
            .businessman-img {
                width: 60px;
                height: 90px;
            }
        }
	.onestop p{
		font-size: 2.5rem;
		line-height: 1.5;
		color: #000;
		margin-bottom: 45px;
		letter-spacing: 0.02em;
		text-align: center;
	}

/* 02ワンストップビジネスマンここまで */
/* 03メリットここから */
 .layout-container {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            gap: 30px;
            align-items: stretch;
            padding-top: 30px;
    		padding-bottom: 40px;

        }
        
        /* 左カラム：メリットカード */
        .left-benefits-column {
            flex: 1.8; 
            min-width: 0;
            display: flex;
            flex-direction: column;
            border-right: 2px solid #ddd; /* 縦線を追加 */
    		padding-right: 30px; /* 線と内容の間にスペースを追加 */
        }
        
        .benefits-section-title {
            font-size: 30px;
            font-weight: bold;
            color: #00b894;
            margin-bottom: 25px;
            text-align: center; /* 中央配置 */
        }
        
        .benefit-card-item {
            background-color: #00b894;
            color: white;
            border-radius: 12px;
            padding: 25px 30px;
            margin-bottom: 20px;
            box-shadow: 0 4px 12px rgba(0, 184, 148, 0.2);
            flex: 1;
            display: flex;
            flex-direction: column;
            justify-content: center;
            transition: all 0.3s ease;
        }
        .benefit-card-item:hover {
		    transform: translateY(-5px);
		    box-shadow: 0 10px 30px rgba(0, 184, 148, 0.3);
		}
        .benefit-card-item:last-child {
            margin-bottom: 0;
        }
        
        .card-heading {
            font-size: 27px;
            font-weight: bold;
            margin-bottom: 15px;
            letter-spacing: 0.5px;
        }
        
        .card-body {
            font-size: 17px;
            line-height: 1.7;
        }
        
        .benefit-list-item {
            display: flex;
            align-items: flex-start;
            margin-bottom: 8px;
        }
        
        .benefit-list-item:last-child {
            margin-bottom: 0;
        }
        
        .check-mark {
            color: white;
            font-weight: bold;
            margin-right: 12px;
            font-size: 18px;
            margin-top: 2px;
            flex-shrink: 0;
        }
        
        .benefit-text {
            flex: 1;
        }
        
        /* 右カラム：タイトル + 画像（大きめに） */
  /* 右カラム全体に背景装飾を適用 */
.right-content-column {
    flex: 1.0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    /* 右カラム全体に背景装飾を追加 */
    background-color: #ffffff;
    border-radius: 12px;
    border: 1px solid #e9ecef;
    box-shadow: 
        0 10px 40px rgba(0, 0, 0, 0.08),
        0 2px 8px rgba(0, 0, 0, 0.06);
    position: relative;
    padding: 30px 5px;
}

.right-content-column::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: #01a982;
    border-radius: 12px 12px 0 0;
}


/* タイトル部分はシンプルに */
.header-title-section {
    text-align: center;
    margin-bottom: 30px;
    /* 背景装飾を削除してシンプルに */
}

.main-heading {
    font-size: 28px;
    font-weight: bold;
    color: #2c3e50;
    margin-bottom: 8px;
    letter-spacing: 1px;
    font-weight: 600;
}

.sub-heading {
    font-size: 14px;
    color: #6c757d;
    font-weight: normal;
    margin: 0;
    font-style: italic;
}

.diagram-container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex: 1;
}

.system-diagram {
    width: 100%;
    max-width: 135px;
    height: auto;
    object-fit: contain;
}
        
        /* レスポンシブ対応 */
        @media (max-width: 1024px) {
            .layout-container {
                gap: 30px;
            }
            
            .left-benefits-column {
                flex: 1;
            }
            
            .right-content-column {
                flex: 1;
            }
            
            .benefits-section-title {
                font-size: 24px;
                margin-bottom: 20px;
            }
            
            .benefit-card-item {
                padding: 20px 25px;
                margin-bottom: 15px;
            }
            
            .card-heading {
                font-size: 18px;
            }
            
            .card-body {
                font-size: 15px;
            }
            
            .main-heading {
                font-size: 26px;
            }
            
                        
            .system-diagram {
                max-width: 135px;
            }
        }
        
        @media (max-width: 768px) {
            .layout-container {
                flex-direction: column;
                gap: 30px;
            }
            
            .left-benefits-column {
                order: 1;
                flex: none;
            }
            
            .right-content-column {
                order: 2;
                flex: none;
            }
            
            .header-title-section {
                margin-bottom: 25px;
            }
            
            .main-heading {
                font-size: 24px;
            }
            
            .sub-heading {
                font-size: 12px;
            }
            
            .benefit-card-item {
                padding: 18px 20px;
            }
            
            .card-heading {
                font-size: 18px;
            }
            
            .card-body {
                font-size: 14px;
            }
            
            .system-diagram {
                max-width: 20%;
            }
            .left-benefits-column {
		        border-right: none; /* スマートフォンでは縦線を削除 */
		        padding-right: 0;
		        order: 1;
		        flex: none;
		    }
        }
        
        @media (max-width: 480px) {
            .main-heading {
                font-size: 20px;
            }
            
            .sub-heading {
                font-size: 11px;
            }
            
            .benefits-section-title {
                font-size: 22px;
            }
            
            .benefit-card-item {
                padding: 15px 18px;
            }
            
            .card-heading {
                font-size: 16px;
            }
            
            .card-body {
                font-size: 13px;
            }
            .left-benefits-column {
		        border-right: none; /* スマートフォンでは縦線を削除 */
		        padding-right: 0;
		        order: 1;
		        flex: none;
		    }
        }
/*03 メリットここまで */
/*05 導入から運用ここから */
	.end-to-end p{
		font-size: 2.8rem;
		line-height: 1.5;
		color: #000;
		margin-top: 25px;
		letter-spacing: 0.02em;
		text-align: left;
	}
	.stepup{
		min-width: auto;
        width: 100%;
        max-width: 950px;
        margin: 0 auto
	}
	.footer-cta {
    background: linear-gradient(to right, rgba(1,169,130,0.08), rgba(1,169,130,0.03));
    padding: 18px 40px;
    border-bottom: 1px solid rgba(1,169,130,0.2);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
    border-radius: 8px; 
    justify-content: center; 
  }

  .cta-text {
    flex: 1 1 480px;
    font-size: 24px;
    color: #013220;
    font-weight: 500;
    line-height: 1.6;
    margin-top: 2.4rem
  }

  .cta-button {
    flex: 0 0 auto;
    background-color: #01a982;
    color: #fff;
    font-weight: bold;
    padding: 14px 36px;
    border-radius: 8px;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(1,169,130,0.3);
    transition: 0.3s ease;
    text-align: center;
  }

  .cta-button:hover {
    background-color: #019973;
    box-shadow: 0 6px 16px rgba(1,169,130,0.4);
  }

  /* スマホ表示時 */
  @media (max-width: 768px) {
    .footer-cta {
      flex-direction: column;
      text-align: center;
    }
    .cta-text {
      text-align: center;
      margin-bottom: 20px;
      flex: 1 1 150px;
      font-size: 2.0rem !important;
    }
  }
	

/*05 導入から運用ここまで */
/* トップビジュアルここから */
	#home-topvisual .message {
		line-height: 2.5;
		
	}
/* トップビジュアルここまで */
/* 01HPE Private Cloud AIとはここから */
	.opsramp-img{
		padding-top: 15px;
    	padding-bottom: 20px;
		margin: 0 auto;
		
	}
	.opsramp p{
		font-size: 2.5rem;
		line-height: 1.5;
		color: #000;
		margin-bottom: 1em;
		letter-spacing: 0.02em;
		text-align: center;
	}
	/* 01HPE Private Cloud AIとは セクション用装飾 */
.pcai-intro-section {
    text-align: center;
    margin: 30px auto 40px;
    max-width: 600px;
    background: 
        linear-gradient(135deg, rgba(255, 255, 255, 0.95) 0%, rgba(248, 249, 250, 0.95) 100%),
        linear-gradient(45deg, #f8f9fa 25%, transparent 25%, transparent 75%, #f8f9fa 75%);
    background-size: 100% 100%, 20px 20px;
    padding: 30px 35px;
    border-radius: 12px;
    border: 1px solid #e9ecef;
    box-shadow: 
        0 10px 40px rgba(0, 0, 0, 0.08),
        0 2px 8px rgba(0, 0, 0, 0.06);
    position: relative;
}

.pcai-intro-section::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background:  #01a982;
    border-radius: 12px 12px 0 0;
}

.pcai-intro-section::after {
    content: '';
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 2px;
    background: linear-gradient(90deg, transparent, #01a982, transparent);
}

.pcai-intro-main-title {
    font-size: 28px;
    font-weight: bold;
    color: #2c3e50;
    margin-bottom: 8px;
    letter-spacing: 1px;
    font-weight: 600;
}

.pcai-intro-sub-title {
    font-size: 16px;
    color: #6c757d;
    font-weight: normal;
    margin: 0;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    
    
    .pcai-intro-main-title {
        font-size: 28px;
    }
    
    .pcai-intro-sub-title {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .pcai-intro-section {
        width: 350px;
       
    }
    
    .pcai-intro-main-title {
        font-size: 20px;
    }
    
    .pcai-intro-sub-title {
        font-size: 13px;
    }
    #content .inner section, #content section.inner {
    padding-top: 60px;
    }

}
/*  01HPE Private Cloud AIとはここまで */
/*  レスポンシブ対応のため追加ここから */
@media screen and (max-width: 640px) {
  #home-topvisual .message {
    font-size: 2.0rem;
    line-height: 1.3; 
    text-shadow: 1px 1px 2px #666,2px 2px 3px #666,3px 3px 6px #666;
  }
  #home-topvisual .message2 {
    font-size: 3.0rem;
  }
  #home-topvisual .message3 {
    font-size: 3.5rem;
    text-shadow: 1px 1px 3px #333,2px 2px 5px #333,3px 3px 7px #333;
  }
  .container {
    grid-template-columns: 1fr;
    width: 80%;
    margin: 0 auto;
  }
  .table-container {
    overflow-x: auto;
    width: 100%;
    -webkit-overflow-scrolling: touch;
  }
  .table-container table {
    width: auto;
    min-width: 100%;
  }
  .visor {
    font-size: 1.3em;
  }
  .feature-box ul {
    padding-left: 20px;
  }
  .headline05 { 
    font-size: 2.4rem;
  }
  
  /* 新規追加 */
  .onestop p {
    font-size: 2.0rem !important;
    line-height: 1.4;
    margin-bottom: 20px;
  }
  
  .end-to-end p {
    font-size: 2.0rem !important;
    line-height: 1.4;
    margin-bottom: 20px;
  }
   .opsramp p {
    font-size: 2.0rem !important;
    line-height: 1.4;
    margin-bottom: 20px;
  }
}

/* 768px以下用の追加 */
@media screen and (max-width: 768px) {
  .onestop_image,
  .opsramp-img,
  .stepup {
    padding: 0 10px;
  }
  
  .onestop_image img,
  .opsramp-img img,
  .stepup img {
    width: 100%;
    height: auto;
    max-width: 100%;
  }
}
/*  レスポンシブ対応のため追加ここまで*/
/* ホバー効果用CSS */
.hover-image {
    transition: opacity 0.3s ease;
}

.hover-image:hover {
    opacity: 0.6;
}

.hover-table {
    transition: opacity 0.3s ease;
}

.hover-table:hover {
    opacity: 0.6;
}

/* 既存の画像にホバー効果を追加 */
.onestop_image img:hover,
.opsramp-img img:hover,
.stepup img:hover,
.system-diagram:hover {
    opacity: 0.6;
    transition: opacity 0.3s ease;
}
/* ホバー効果用CSSここまで */
/* ヘッダここから */
#header .logo-header_hpe img {
    margin: 8px 0px;
}

/* ヘッダここまで */
