/*
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
原則として、許可なしの再配布は禁止させていただきます。
また、無料でお使いになる場合は、【ＰＲ枠】のリンクは全て削除禁止です。
（※加工後の削除も禁止させていただいておりますのでご了承ください。）
PR枠の削除（有料プラン）に関するお問い合わせや、その他ご不明な点は、
http://www.s-hoshino.com/info.html、または、
https://www.megapx.com/contact.htmlのフォームよりお問い合わせください。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*/

@charset "utf-8";

* {
	padding: 0;
	margin: 0;
}

html {
  height: 100%;
}

/* 202407追加（ito）*/
/*テーマカラーの定義（CSS変数）
ここのカラーコードを変更するだけで、テンプレートのテーマカラーが変わります。
---------------------------------------------------------------------------*/
:root {
    --main-color:rgb(0,171,235);/*元カラーコード：#529A46/#519B44*/
	--BK-color:#000;
	--BL-color: #2763db;
	--RD-color: #e94163;
	--bg-color:rgb(241 251 255);/*元カラーコード：#F4FFF0*/
	--GY-color: rgb(187 187 187);
}


body {
	color: #000;
	background-color: #FFFFFF;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	word-wrap: break-word;
	height: 100%;
	overflow-x: hidden !important;
}

.font_mincho {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.font_garamond {
	font-family: 'Cormorant Garamond', serif;
}
.font_raleway {
	font-family: 'Raleway', sans-serif;
}

section,
article {
	display: block;
	margin:5% 0;
}

img {
	vertical-align: top;
}

a img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

li {
	list-style-type: none;
}

a {
	color: #0066CC;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
/* 202407修正（ito）*/
a,
a:hover,
a:visited {
	color: var(--BL-color);
	text-decoration: none!important;
}

table {
	border-collapse: collapse;
}
table td {
	border-collapse: collapse;
}

.clfix:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}
	@media screen and (min-width:961px){
	.hidden_pc{
		display:none !important;
	 }
	}

	@media screen and (max-width:960px){
	 .hidden_mob{
		display:none !important;
	 }
	}

/*
ヘッダー
-------------------------------------------*/
header {
	width: 100%;
	background-color: #FFF;
	position: fixed;
	z-index: 300;
	top: 0;
}

header h1 a img {
	display: block;
	position: absolute;
}

header .h_btn a {
	display: block;
	text-align: center;
	position: absolute;
	text-decoration: none;
	color: #FFF;
	letter-spacing: 1px;
	border: 5px solid #EEE;
	background-color: var(--main-color);
}
header .h_btn a:hover {
	color: var(--main-color);
	background-color: #FFF;
	border: 5px solid var(--main-color);
}
header .h_tel a {
	display: block;
	text-align: center;
	position: absolute;
	text-decoration: none;
	color: var(--BK-color);/* 202407修正（ito）*/
	font-size: 20px;
	width: auto;
	font-weight: bold;
	letter-spacing: 1px;
}

header .h_tel a strong {
	font-size: 130%;
}

header .h_btn a i,
header .h_tel a i {
	padding-left: 5px;
	padding-right: 5px;
}
#g_navi ul li a.ac_menu {
	cursor: pointer;
	overflow: hidden;
}

.pankuzu {
	background-color: #F6F6F6;
	margin-bottom: 20px;
	font-size: 14px;
	line-height: 30px;
	color: #555;
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #E5E5E5;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #FFF;
}

.pankuzu ul {
	width: 96%;
	max-width: 1100px;
	margin-right: auto;
	margin-left: auto;
}

.pankuzu li {
	display: inline-block;
}

.pankuzu li a {
	text-decoration: none;
	color: #999;
}

.pankuzu li a::after {
	content: ">";
	padding-left: 10px;
	padding-right: 10px;
}

.pankuzu li a:hover {
	color: #000;
}

.pankuzu li i {
	padding-right: 5px;
}


.patent_text{
	width: 15vw;
    position: absolute;
    bottom: 7%;
    right: 5vw;
    background: #79bfd9;
    padding: 1%;
    border-radius: 44em;
    font-size: 1.5vw;
    text-align: center;
    font-weight: 600;
	border: 1px solid;
    color: #f00;
	border-color: #FFF;
}

.tokkyo{
	font-size: 18px;
    background-color: #e94163;
    padding: 4px 10px 4px;
    color: #FFF;
    border-radius: 20px;
    font-weight: 600;
    left: 50%;
    margin-left: -350px;
    margin-top: 27px;
    position: fixed;
}
/*一定のスクロール値のときに.fixedをJSで付与する*/
/*.tokkyo.fixed{
	margin-left: -410px;
    margin-top: 5px;
}
*/

/*
メインコンテンツ
-------------------------------------------*/
.content {
	overflow-x:visible !important;
	width: 100%;
	background-color: #FFF;
	margin-bottom:45px;
}
.cont_wrap {
	max-width: 1200px;
	width: 80%;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width:768px){
	.cont_wrap {
		width: 95%;
	}
}

/* 20230306追加、メインイメージ画像の上部余白(jin) */
.mian-image img {
    margin-top: 7rem;
}

#sub_top {
    /*padding: 4px calc(50vw - 50% + 8px);*/
    padding-top: 140px;
    text-align: center;
    margin: 3% 0;
}

/* 202407追加、メインイメージ画像の上部余白(ito) */
@media screen and (max-width:960px){
	.mian-image img {
		margin-top: 3rem;
	}
}

/* 20230214追加、表記が崩れていたため応急処置で追加（松井） */
@media screen and (min-width:1700px){
	#sub_top {
		padding: 140px 8px 4px;
	}
}

.content h2 {
    font-size: 28px;
    line-height: 30px;
	color: #575B57;
	padding:2%;
	text-align: center;
    clear: both;
    letter-spacing: 0.05em;
/*	margin-top: 3rem;*/
}
@media screen and (max-width:1024px){
	.content h2 {
		padding: 2% 0;
	}
}

.content h2 span {
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	font-size: 50%;
	font-weight: normal;
}

.content h3 {
    font-size: 25px;
    line-height: 120%;
    text-align: center;
    color: var(--main-color);
    margin: 2%;
    clear: both;
    letter-spacing: 0.2em;
}
@media screen and (max-width:1024px){
	.content h3 {
		margin: 2% 0;
	}
}
.content h4 {
	font-size: 20px;
	margin:3.5% 0 0.5%;
    color: var(--main-color);
    letter-spacing: 0.1em;
    font-weight: bold;
    clear: both;
    text-align: center;
}
.content h4 span {
    font-size: 18px;
    color: #575B57;
    letter-spacing: 0.2em;
    clear: both;
    display: block;
    font-weight: 500;
}
.content p {
    font-size: 16px;
    line-height: 1.8;
    margin: 2% 0;
}

.content .ul_news li {
	line-height: 30px;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
	font-size: 16px;
	padding-right: 10px;
	padding-left: 10px;
}
.content .ul_news li span.news_date {
	color: #999;
	padding-right: 20px;
}

/* 202407修正（ito）*/
.content .ul_news li span.news_icon {
	color: #FFF;
	padding-left: 10px;
	display: inline-block;
	padding-right: 10px;
	background-color: var(--main-color);
	margin-right: 10px;
	font-weight: bold;
	font-size: 14px;
}

.content .ul_news li span.news_icon.cl_02 {
	background-color: #009999;
}
/*NEWStop余白 ishizwa 20250326*/
.mg_top {
    padding: 3% 0 0 0;
}

.img_center {
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 20px;
}

.img_left {
	float: left;
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 20px;
}
.img_right {
	float: right;
	padding-right: 30px;
	padding-left: 30px;
	padding-bottom: 20px;
}

.content .img_left p {
	font-size: 12px;
	margin: 0px;
}
/*
パノラマ評価とは
-------------------------------------------*/
.panoramatop_notes{
	font-size:80% !important;
}



/*
お問い合わせ部分
-------------------------------------------*/

.box_contact {
	background-color: #E9EEEF;
	padding-top: 70px;
	margin: 0 calc(50% - 50vw);
	padding-bottom: 50px;
	text-align: center;
	padding-right: 10px;
	padding-left: 10px;
	background-image: url(../img/sankaku.png);
	background-repeat: no-repeat;
	background-position: center top;
}

.box_contact.only_tel {
	background-image: none;
}

.box_contact h3 {
	color: #138400;
}

.box_contact p {
	margin-top: 10px;
	margin-bottom: 20px;
}

.box_contact .btn a {
	font-size: 20px;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	border: 5px solid var(--main-color);
	text-decoration: none;
	display: block;
	width: 90%;
	background-color: var(--main-color);
	margin-right: auto;
	margin-left: auto;
	line-height: 30px;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	padding-top: 15px;
	padding-bottom: 15px;
	position: relative;
	max-width: 500px;
}
.box_contact .btn a i {
	padding-right: 10px;
	font-size: 120%;
}
.box_contact .btn a:hover {
	color: var(--main-color);
	background-color: #FFF;
	border-top-color: var(--main-color);
	border-right-color: var(--main-color);
	border-bottom-color: var(--main-color);
	border-left-color: var(--main-color);
}

.box_contact .tel a {
	font-size: 30px;
	font-weight: bold;
	color: var(--main-color);
	text-decoration: none;
}
.box_contact .tel a strong {
	font-size: 150%;
}
.box_contact .tel a i {
	padding-right: 10px;
	font-size: 120%;
}

/*改行設定	202303追記　jin
------------------------------------------------------*/
/* スマホ用<br> */
@media screen and (max-width:800px) {
.br-sp { display: block; }
.br-tb { display: none; }
.br-pc { display: none; }
}
/* tablet用<br> */
@media only screen and (min-width:801px) and (max-width:1080px) {
.br-sp { display: none; }
.br-tb { display: block; }
.br-pc { display: none; }
}
/* pc用<br> */
@media screen and (min-width:1081px) {
.br-sp { display: none; }
.br-tb { display: none; }
.br-pc { display: block; }
}
/*改行設定ここまで--------------------------------------*/

@media screen and (min-width:960px){
	.box_contact .box_in {
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.box_contact .tel {
		float: right;
		width: 50%;
	}
	.box_contact.only_tel .tel {
		float: none;
		width: 100%;
	}
}

@media screen and (max-width:480px){
	.box_contact .btn a {
		font-size: 18px;
	}
	.box_contact .tel a {
		font-size: 24px;
	}
}

/*-----トップへ戻るボタン------*/
.to_top {
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 200;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
.to_top a {
	text-decoration: none;
	color: #FFF;
	text-align: center;
	display: block;
	border-radius: 50px;
	-webkit-border-radius: 50px;
	-moz-border-radius: 50px;
	font-size: 10px;
	background-color: var(--main-color);
	padding: 20px;
	height: 30px;
	width: 30px;
}

/*
フッター
-------------------------------------------*/
footer {
	background-color: var(--RD-color);/* 202407修正（ito）*/
	color: #FFF;
	margin: 0 calc(50% - 50vw);
    width: 100vw;
	clear: both;
	display: block;
}
footer ul.f_bn {
	text-align: center;
	display: block;
	padding-top: 20px;
	padding-bottom: 20px;
	background-color: #006384;
	background-color: rgba(0,69,91,0.2);
}
footer .f_bn li {
	display: inline;
}
footer .f_bn li a {
	display: inline-block;
	font-size: 14px;
	letter-spacing: 1px;
	padding: 10px;
	text-decoration: none;
	color: #FFF;
	margin-left: 10px;
	font-weight: bold;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	margin-right: 10px;
}
footer .f_bn li a:hover {
	background-color: #0085B2;
}
footer .f_bn li a i {
	padding-right: 5px;
	font-size: 200%;
}
footer ul.f_list {
	display: block;
	width: 16%;
	float: left;
	/*padding-bottom: 20px;*//* 202407修正（ito）*/
	padding-top: 20px;
	/*height: 100px;*//* 202407修正（ito）*/
}
footer ul.f_list li a {
	text-decoration: none;
	color: #FFF;
	display: block;
	padding-top: 2px;
	padding-right: 2px;
	padding-bottom: 2px;
	padding-left: 10px;
	font-size: 14px;
}
footer ul.f_list li li a {
	padding-left: 27px;
	position: relative;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	font-size: 14px;
}

footer ul.f_list li a:hover {
	background-color: var(--BK-color);/* 202407修正（ito）*/
}

footer ul.f_list li li a::before {
	content:"・";
	position: absolute;
	top: 2px;
	left: 9px;
}

address {
	font-size: 10px;
	font-style: normal;
	padding-top: 20px;
	padding-bottom: 20px;
	letter-spacing: 1px;
	text-align: center;
	display: block;
	clear: both;
/*	background-color: rgb(0 54 39 / 41%);*/
}

footer .box_pr {
	clear: both;
	width: 100%;
	display: block;
	padding-top: 20px;
	padding-bottom: 20px;
	text-align: center;
	font-size: 10px;
	color: #C0D2D8;
	background-color: #006384;
	background-color: rgba(0,69,91,0.2);
	border-top-width: 1px;
	border-top-style: dotted;
	border-top-color: #00455B;
	letter-spacing: 1px;
}

.box_pr ul li {
	display: inline;
	padding: 5px;
}

.box_pr ul li a {
	color: #C0D2D8;
}

/*
各種テーブル
-------------------------------------------*/
.content table.table_01 {
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
}
.content table.table_01 th,
.content table.table_01 td {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
	padding: 20px;
}
.content table.table_01 th {
	font-size: 16px;
	white-space: nowrap;
	font-weight: normal;
	letter-spacing: 1px;
	width: 33%;
}
.content table.table_01 td {
	font-size: 14px;
	line-height: 30px;
	background-color: #FFF;
}

.content table.table_02 {
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
	max-width: 820px;
}
.content table.table_02 th,
.content table.table_02 td {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #888;
	padding: 20px;
	border-top-width: 1px;
	border-right-width: 1px;
	border-left-width: 1px;
	border-top-style: dotted;
	border-right-style: dotted;
	border-left-style: dotted;
	border-top-color: #BBB;
	border-right-color: #BBB;
	border-left-color: #BBB;
}
.content table.table_02 th {
	font-size: 18px;
	white-space: nowrap;
	letter-spacing: 1px;
	background-color: #F6F6F6;
	color: #138400;
}
.content table.table_02 td {
	font-size: 16px;
	line-height: 30px;
	background-color: #FFF;
}


.content table.table_02 .tr_gr th {
	background-color: #EEE;
}
.content table.table_02 .tr_gr td {
	background-color: #F9F9F9;
}

.content table.table_02 td .price {
	font-size: 150%;
	white-space: nowrap;
	color: #138400;
	font-weight: bold;
	padding-right: 5px;
	padding-left: 5px;
}

.small {
	font-size: 80%;
	color: #000;
}
/*
.chui {
	color: #F00362700;
}
*/
.table_01 th span {
	font-size: 12px;
	color: #CCC;
}

/*会社概要
-------------------------------------------*/
.box.title {
    font-size: 25px;
    text-align: left;
    color: var(--BL-color);
    clear: both;
    border: 1px solid var(--main-color);
    box-shadow: 4px 4px 1px var(--main-color);
    padding: 1em 1em 1em 5em;
    margin: 20px;
    line-height: 1.5em;
    letter-spacing: 0;
    font-weight: bold;
}
.ceo_text span {
	font-size: clamp(20px, 2.2vw, 25px);
    line-height: normal;
	text-align: left;
    color: var(--main-color);
	font-weight: bold;
}
/*ISO/IEC 27001ロゴ ishizawa 20250326*/
img.ISMS_logo {
    width: 130px;
    height: auto;
}

/*
FAQ
-------------------------------------------*/

.content dl.faq {
	margin-bottom: 30px;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #CCC;
}
.content dl.faq dt {
	font-size: 22px;
	line-height: 30px;
	position: relative;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 50px;
	background-color: #F6F6F6;
	color: #000;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
.content dl.faq dt span {
	font-size: 20px;
	font-weight: bold;
	color: #FFF;
	background-color: var(--main-color);
	text-align: center;
	display: block;
	width: 50px;
	padding-top: 10px;
	height: 40px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	position: absolute;
	top: -20px;
	left: -10px;
	z-index: 10;
}
.content dl.faq dt span::before{
	content: "";
	position: absolute;
	bottom: -5px;
	right: -3px;
 	margin-left: -12px;
  border-right: 12px solid transparent;
  border-top: 20px solid var(--main-color);
  border-left: 12px solid transparent;
 	z-index: 0;
	transform: rotate(-40deg);
}
.content dl.faq dd {
	padding-top: 10px;
	padding-right: 20px;
	padding-bottom: 10px;
	padding-left: 20px;
}

/*
グーグルマップ
-------------------------------------------*/

.g_map_base {
	background-color: #FFF;
	padding-right: 20px;
	padding-bottom: 20px;
	padding-left: 20px;
}

.g_map {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}

.g_map iframe,
.g_map object,
.g_map embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/*
実績一覧
-------------------------------------------*/
ul.works_list {
	display: block;
	margin-left: auto;
	margin-right: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	max-width: 1400px;
	padding: 30px;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

ul.works_list li {
	width: 20%;
	position: relative;
	text-align: center;
	margin-bottom: 30px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

ul.works_list li .works_icon {
	position: absolute;
	top: 5px;
	left: 5px;
	font-weight: bold;
	padding-left: 10px;
	padding-right: 10px;
	color: #FFF;
	background-color: #099;
	z-index: 50;
}

ul.works_list li a {
	display: block;
	padding: 20px;
	background-color: #FFF;
	text-decoration: none;
	color: #333;
}
ul.works_list li a img {
	width: auto;
	width: 100%;
	height: 150px;;
	object-fit: cover;
}
ul.works_list li a:hover img {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	-webkit-filter:brightness(1.5);
    -moz-filter:brightness(1.5);
    -ms-filter:brightness(1.5);
    filter:brightness(1.5);
}

ul.works_list li a span {
	display: block;
	padding-top: 10px;
	font-size: 14px;
	letter-spacing: 1px;
}

ul.works_list li a:hover {
	color: #000;
	background-color: #F6F6F6;
}


/*
スライダー
-------------------------------------------*/
.sp-thumbnail-container img {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	object-fit: cover;
}
.sp-thumbnail-container:hover img,
.sp-thumbnail-container.sp-selected-thumbnail img {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	cursor: pointer;
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
}
#top_slide .top_catch {
	font-size: 6vw;
	line-height: 0.6;
	width: 100%;
	font-weight: bold;
	color: #FFF;
	text-align: center;
	position: absolute;
	top: 50%;
	letter-spacing: 0.1em;
	-moz-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	-webkit-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	-ms-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
}
#top_slide .top_catch span {
	font-size: 25%;
}

#top_slide .slide_btn a {
	display: block;
	position: absolute;
	left: 50%;
	bottom: 20%;
	font-size: 18px;
	color: #FFF;
	width: 300px;
	margin-left: -150px;
	text-align: center;
	font-weight: bold;
	text-decoration: none;
	border: 2px solid #FFF;
	line-height: 40px;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
#top_slide .slide_btn a:hover {
	background-color: #FFF;
	color: #000;
}

/*
トップピックアップバナー
-------------------------------------------*/
.pickup {
	background-color: #012;
	padding-top: 30px;
	padding-bottom: 30px;
}
.pickup ul {
	display: block;
	margin-left: auto;
	margin-right: auto;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	width: 100%;
	max-width: 1400px;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}
.pickup ul li {
	width: 33%;
	max-height: 220px;
	position: relative;
}
.pickup ul li a .pu_icon {
	position: absolute;
	top: -5px;
	left: -5px;
	background-color: var(--main-color);
	color: #FFF;
	padding-left: 10px;
	padding-right: 10px;
	font-weight: bold;
}
.pickup ul li a div {
	position: absolute;
	top: 50%;
  left: 50%;
  width: 100%;
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
	height: auto;
	color: #FFF;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	font-size: 14px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px;
}
.pickup ul li a div .pu_title {
	display: block;
	font-size: 150%;
	font-weight: bold;
	margin-bottom: 10px;
}
.pickup ul li a img {
	-webkit-filter:brightness(0.5);
    -moz-filter:brightness(0.5);
    -ms-filter:brightness(0.5);
    filter:brightness(0.5);
  -webkit-transition: .3s ease-in-out;
  transition: .3s ease-in-out;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pickup ul li a:hover img {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	-webkit-filter:brightness(1.5);
    -moz-filter:brightness(1.5);
    -ms-filter:brightness(1.5);
    filter:brightness(1.5);
}

/* 202308追加「お客様の声　voice2.php」(jin)
----------------------------------------*/
/*---　検索エリア　---*/
.voice2 .selectform_container {
    background: #bedce2;
    padding: 1rem 2rem;
    margin: 3rem 0 0 0;
	display: flex;
    align-items: center;
    justify-content: center;
}
.voice2 h3.title {
    color: #00718d;
}
.voice2 .inputform_area {
    display: flex;
    align-items: center;
    justify-content: center;
}
.voice2 .inputform_area select {
    width: 15rem;
	margin-right: 2%;
    padding: 1rem;
    height: 3rem;
    font-size: 0.8rem;
    color: #333;
    border-color: #888;
    border-radius: 4px;
	outline: none;
}
.voice2 .inputform_area input[type="submit"] {
    width: 5rem;
    height: 3rem;
    font-size: 0.8rem;
    color: #fff;
    border-radius: 5px;
    border: none;
    background: #00718d;
	transition: 0.3s;
	cursor: pointer;
	-webkit-appearance: none;		/*iosでのデフォルトスタイル回避*/
}
.voice2 .inputform_area input[type="submit"]:hover {
    opacity: 1;
    filter: brightness(1.2);
}
/*---　会社リストエリア　---*/
.voice2 .companylist_area {
    padding: 7rem 0 3rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.voice2 .companylist_item {
    width: calc((100% - 30px) / 2);
    margin-bottom: 5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.voice2 .companylist_item_info {
    width: 18%;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
}
.voice2 span.company-no {
    color: #bedce2;
    font-family: 'Roboto', sans-serif;
	font-style: italic;/*これが必要*/
    font-size: clamp(1.875rem, 0.739rem + 4.68vw, 5rem);
    margin: -1rem 0;
    border-bottom: solid 5px #55a5b3;
    width: 100%;
}
.voice2 p.company-type {
    color: #55a5b3;
    font-weight: bold;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	text-orientation: upright;
}
.voice2 p.company-scale {
    width: 100%;
    box-sizing: border-box;
    padding: 0.3rem;
    background: #9dcbd4;
    border-radius: 5px;
    color: #fff;
    text-align: center;
    font-size: 0.7rem;
    font-weight: bold;
	margin: 0;
}
.voice2 .companylist_item_name {
    width: 78%;
    box-sizing: border-box;
    text-align: center;
	border: solid 7px #bedce2;
	padding: 1.5rem;
}
.voice2 h4.company-name {
    color: #00718d;
    border-top: solid 1px #ccc;
    padding: 1.5rem 0 0.3rem 0;
}

/*---　ページネーション　---*/
.pagination {
    margin: 3rem 0;
    padding: 0;
}
.pagination li {
    text-align: center;
}
.pagination b.Pagination-Item-Link {
    background: #fff;
    color: #000;
}
.pagination .Pagination-Item-Link {
    width: 3rem;
    height: 3rem;
    border: solid 2px #9dcbd4;
    font-size: 14px;
    color: #fff;
    font-weight: bold;
    transition: all 0.15s linear;
    display: inline-block;
    margin-left: 1rem;
    text-decoration: none;
    background: #9dcbd4;
    line-height: 350%;
}
.readmore {
    width: 100%;
    margin-top: 0.5rem;
    text-align: right;
    font-family: 'Roboto', sans-serif;
    font-style: italic;
    letter-spacing: 0.2rem;
}
.readmore a {
    color: #55a5b3;
}
.readmore a::after {
    content: "»";
    padding-left: 0.3rem;
}
.readmore a:hover {
    opacity: 1;
	filter: brightness(1.2);
}

/*---　voice詳細ページ　---*/
.voice2 .voice_container {
    margin: 3rem 0 0 0;
}
.voice2 .voice_container .data_area {
    display: flex;
    flex-wrap: wrap;
	background: url(../images/bg_detail_title.jpg) top left no-repeat;
	height: 300px;
    position: relative;
	overflow: hidden;/*はみ出た部分を隠す*/
}
.voice2 .data_area span.company-no {
    font-size: 150px;
    border-bottom: none;
    text-align: right;
    position: absolute;
	top: -20px;
    right: -10px;
	z-index: 1;
}
.voice2 .data_area > div {
    width: 50%;
	z-index: 2;
}
.voice2 .data_area div:last-of-type {
    width: fit-content;
    display: grid;
    place-content: center;
}
.voice2 .data_area .company-logo {
    display: grid;
    place-items: center;
    place-content: center;
}
.voice2 .data_area .company-data h4.company-name {
    border-top:none;
    padding: 0 0 1rem 0;
	margin: 0;
}
.voice2 .company-data dl {
    background: #fff;
    border-radius: 5px;
    padding: 1rem;
    font-size: 0.8rem;
    display: grid;
    grid-gap: 1rem;
    grid-template-columns: 80px auto 80px auto;
    grid-template-rows: 1.5rem 1.5rem 1.5rem;
}
.voice2 .company-data dt {
    background: #55a5b3;
    border-radius: 5px;
    text-align: center;
    color: #fff;
}
.voice2 .company-data dt.purpose {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
}
.voice2 .company-data dd.purpose-content {
    grid-column: 2 / 5;
    grid-row: 3 / 4;
}
.voice2 .interview_title_area {
    display: flex;
    flex-wrap: wrap;
}
.voice2 .interview_title_area > div {
    width: 50%;
    display: grid;
    place-items: center;
    align-content: space-evenly;
}
.voice2 .interview_title_area p {
    margin: 0;
    text-align: center;
}
.voice2 .interview_title_area p.company-description {
    font-size: 26px;
    font-weight: bold;
    color: #55a5b3;
    position:relative;
    padding:1rem;
}
.voice2 .interview_title_area p.company-description:before{
    position: absolute;
    color: #acacac;
    content: '“';
    font-size: 6rem;
    line-height: 1;
    text-align: center;
    top: -2rem;
    left: -1rem;
}
.voice2 .interview_title_area p.company-description:after{
    position:absolute;
    color:#acacac;
    content:'“';
    font-size: 6rem;
    line-height:1;
    text-align: center;
	bottom: -6rem;
    right: -1rem;
}
.voice2 .interview_title_area p.person-name span {
    display: block;
    font-size: 1.2rem;
    margin-top: 1rem;
}
.voice2 .interview_area {
    background: #e9f3f7;
    padding: 3rem 5rem;
}
.voice2 .article h5 {
    color: #55a5b3;
    font-size: 1.2rem;
}
.voice2 .article h5::before {
    content: "■";
    padding-right: 0.3rem;
}
.voice2 .article {
    padding: 3rem 0 2rem;
}
.voice2 .article:not(:last-child) {
    border-bottom: solid 1px #ccc;
}
.voice2 .article ul {
    background: #fff;
    padding: 2rem;
    margin: 2rem 0;
    width: max-content;
}
.voice2 .article li::before {
    content: "●";
    color: #9dcbd4;
    display: inline-block;
    transform: scale(0.8);
    line-height: 200%;
	margin-right: 0.3rem;
}
.voice2 .btn a {
    font-weight: bold;
    color: #9dcbd4;
    text-align: center;
	text-decoration: none;
	display: block;
    width: 40%;
    border: 3px solid #9dcbd4;
    background-color: #fff;
    margin: 3rem auto;
	padding: 15px;
    line-height: 30px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    position: relative;
}
.voice2 .btn a:hover {
	color: #fff;
	background-color: #9dcbd4;
	border: 3px solid #9dcbd4;
}
/*個別：ターンアンドフロンティア*/
.interview_area_turn .interview_container {
    background: #e9f3f7;
    padding: 3rem 0;
}
.interview_area_turn .interview {
    display: flex;
    flex-wrap: wrap;
}
.interview_area_turn .interview_container .interview > div {
    width: 50%;
    box-sizing: border-box;
}
.interview_area_turn .interview-text {
    padding: 0 2rem 2rem;
}
.interview_area_turn .interview_container .interview-text h5 {
    position: relative;
    padding: 0.3rem 2rem 0;
    color: #55a5b3;
    font-size: 21px;
    z-index: 0;
	display: inline-block;
	margin-bottom: 1.5rem;
}
.interview_area_turn .interview_container .interview-text h5::before,
.interview_area_turn .interview_container .interview-text h5::after {
    position: absolute;
    width: 100%;
    height: 110%;
    content: '';
    transform: skew(347deg);
}
.interview_area_turn .interview_container .interview-text h5::before {
    top: 0px;
    left: 0;
    background-color: #fff;
    z-index: -1;
	border: solid 2px;
}
.interview_area_turn .interview_container .interview-text h5::after {
	top: -4px;
    left: -4px;
    border: 1px solid;
}
.interview_container .interview:last-of-type {
    margin-top: 3rem;
}
.interview_container .interview:last-of-type .interview-text {
    width: 100%;
}
.interview_container .interview:last-of-type .interview-text h6 {
    font-size: 1rem;
    color: #55a5b3;
}
.interview_container .interview:last-of-type .interview-text h6::before {
	content: "●";
	color: #55a5b3;
	display: inline-block;
	transform: scale(0.8);
}
.interview_container02 {
    background: #fff;
    padding: 6rem 0 0 0;
}
.interview_container02 .interview-text h5 {
    color: #55a5b3;
    font-size: 21px;
	margin-bottom: 1.5rem;
}
.interview_container02 .interview {
    position: relative;
	height: 600px;
}
.interview_container02 .interview-text {
    position: absolute;
	width: 50%;
}
.interview_container02 .interview-text p {
    background: #ecf7fd;
	padding: 3rem 4rem 3rem 3rem;
}
.interview_container02 .interview-image {
    position: absolute;
	right: 0;
	border-bottom: solid 2px #55a5b3;
	width: 50%;
}
.interview_container02 .interview-image p {
    padding: 1rem 0 1rem 4rem;
}
.interview_container02 .interview-image img.icon {
    position: absolute;
    bottom: 0;
    right: 1rem;
    width: 20%;
}
.interview_area_turn .voice_container h5 {
    font-size: 28px;
    line-height: 30px;
    color: #55a5b3;
    padding: 2%;
    text-align: center;
    clear: both;
    letter-spacing: 0.05em;
    margin: 3rem 0 8rem 0;
}
.interview_area_turn .member_area {
    display: flex;
    flex-wrap: wrap;
	background: repeating-linear-gradient(-45deg, #ecf7fd, #ecf7fd 10px, #fff 10px, #fff 20px);
	position: relative;
}
.interview_area_turn .member_area img.icon {
    position: absolute;
    width: 40%;
    top: -7rem;
    right: 0;
}
.interview_area_turn .member {
    width: 50%;
	position: relative;
	margin-bottom: 5rem;
}
.interview_area_turn .member_name {
    position: absolute;
    top: 2rem;
    background: #fff;
    border: solid 2px #55a5b3;
    padding: 0.5rem 1.3rem;
    z-index: 3;
}
.interview_area_turn .member_inner {
    width: 80%;
    background: #bedce2;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}
.interview_area_turn .member_inner::after {
    content: '';
    border: solid 2px #55a5b3;
    position: absolute;
    top: -12px;
    right: 8px;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.interview_area_turn .member_area .member:nth-of-type(odd) {
    margin-top: -5rem;
}
.interview_area_turn .member_area .member:nth-of-type(even) {
    margin-top: 5rem;
}
.interview_area_turn .member_comment {
    padding: 2rem;
}
.interview_area_turn .member_comment h6 {
    color: #55a5b3;
    font-size: 1.1rem;
}



/*画面幅961px以上の設定
-------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:961px){	/*min-widthが960pxだったのを修正　20230821*/
body {
	font-size: 16px;
}
.sm-slider, .sm-slider::after {
	top: 100px !important;
}

/*
ヘッダー
-------------------------------------------*/
header {
	height: 140px;
	box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 3px 0px;
	position: fixed;
	transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}
header h1 a img {
	top: 10px;
	left: 10px;
}
header .h_btn a {
	width: 160px;
	top: 15px;
	right: 10px;
	line-height: 38px;
	padding-top: 2px;
	font-size: 14px;
	font-weight: bold;
}
header .h_tel a {
	top: 20px;
	right: 190px;
	line-height: 38px;
	padding-top: 4px;
}
/*
header.fixed {
	height: 140px;
}
header.fixed h1 a img {
	height: 60px;
	top:5px;
}
header.fixed .h_btn a,
header.fixed .h_tel a {
	top: 5px;
}
*/

.menu_btn,
.btn_close {
	display: none;
}

/*
PCグローバルナビ
-------------------------------------------*/
#g_navi {
	width: 100%;
/*	padding-left: 2%;*/
	display: block !important;
	height: 50px;
	position: absolute;
	z-index: 1000;
	left: 0px !important;
	bottom: 0px;
	font-size: 14px;
	letter-spacing: 1px;
	font-weight: bold;
}

#g_navi ul.navi_base {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	display: block;
}

#g_navi ul li{
	display: inline;
}

#g_navi li a {
	width: calc(100% / 8);
	padding-top: 15px;
	height: 35px;
	display: block;
	color: var(--BK-color);/* 202407修正（ito）*/
	text-decoration: none;
	text-align: center;
	line-height: 20px;
	position: relative;
	float: left;
}

#g_navi li a::before {
	display: block;
	height: 2px;
	position: absolute;
	top: 2px;
	width: 70%;
	left: 15%;
	background-color: #FFF;
	content: '';
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

#g_navi li a:hover::before {
	background-color: var(--main-color);/* 202407修正（ito）*/
	top:0px;
}

#g_navi li a:hover,
#g_navi li a.active,
#g_navi ul li:hover > a {
	color: var(--main-color);/* 202407修正（ito）*/
}

#g_navi ul li:hover > a.ac_menu,
#g_navi li a.ac_menu:hover {
	position: relative;
}

#g_navi li a.ac_menu::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: 50%;
 	margin-left: -15px;
  border-right: 15px solid transparent;
  border-bottom: 20px solid #FFF;
  border-left: 15px solid transparent;
 	z-index: 300;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

#g_navi ul li:hover > a.ac_menu::after,
#g_navi li a.ac_menu:hover::after {
  border-bottom: 20px solid #003307;
}

#g_navi ul li div {
	position: absolute;
	z-index: 2000;
	top: 50px;
	left: 0px;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
	width: 100%;
	height: auto;
	background-color: #003307;
}
#g_navi ul li ul{
  width: 96%;
  padding-left: 2%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

#g_navi li ul li a {
	width: 21%;
	padding-left: 3%;
	padding-top: 9px;
	padding-bottom: 9px;
	line-height: 22px;
	height: auto;
	color: #FFF;
	text-align: left;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 1%;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#g_navi li ul li a::after {
	content: "+";
	color: #FFF;
	position: absolute;
	display: block;
	left: 15px;
	top: 8px;
	font-size: 9px;
}
#g_navi li ul li a:hover::after {
	color: #003627;
}
#g_navi ul li ul li a:hover{
	color: #003627;
	background-color: #FFF;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
}
#g_navi li li a::before {
	display: none;
}

#g_navi ul li:hover div{
  visibility: visible;
  opacity: 1;
}

#g_navi div.ac_list {
	display: block !important;
}


header.fixed #g_navi {
	height: 40px;
}

header.fixed #g_navi ul li div {
	top: 40px;
}

header.fixed #g_navi li a {
	padding-top: 10px;
	height: 30px;
}

header.fixed #g_navi li ul li a {
	padding-top: 9px;
	height: 22px;
}

.no_pc {
	display: none;
}

}
/*(/961～)*/


@media screen and (min-width:1200px){
header .h_btn a {
	right: 50%;
	margin-right: -600px;
}
header .h_tel a {
	right: 50%;
	margin-right: -400px;
}
header h1 a img {
	left:50%;
	margin-left: -600px;
}

.voice2 .companylist_item {
    width: 46%;
}


}
/*(/1200～)*/

/*画面幅1200px以下の設定
-------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1200px){
	.tokkyo{
		display: block;
		position: absolute;
		top: 6px;
		left: 236px;
		margin-left: 0px;
	}
/* 202308追加「お客様の声　voice2.php」(jin)
----------------------------------------*/
/*---　voice詳細ページ　---*/
	.voice2 .interview_title_area p.company-description {
		font-size: 22px;
	}
	.voice2 .interview_title_area p.person-name span {
		font-size: 1rem;
	}
	/*個別：ターンアンドフロンティア*/
	.interview_area_turn .voice_container h5 {
		margin: 10rem 0 8rem 0;
	}

}

/*画面幅1024px以下の設定
-------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1024px){
	/*---　voice詳細ページ　---*/
	.voice2 .voice_container .data_area {
		flex-direction: column;
		align-items: center;
		height: auto;
		padding: 1rem 0;
	}
	.voice2 .interview_title_area p.company-description {
		font-size: 20px;
	}
	.voice2 .interview_title_area p.company-description:before {
		font-size: 4rem;
		top: 0rem;
		left: 0rem;
	}
	.voice2 .interview_title_area p.company-description:after {
		font-size: 4rem;
		bottom: -3rem;
		right: 0rem;
	}
	.voice2 .company-data dl {
		grid-template-columns: 80px auto 80px auto 80px auto;
		grid-template-rows: 1.5rem 1.5rem;
	}
	.voice2 .company-data dt.purpose {
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}
	.voice2 .company-data dd.purpose-content {
		grid-column: 2 / 7;
		grid-row: 2 / 3;
	}
	.voice2 .interview_area {
		padding: 2rem 3rem;
	}
	/*個別：ターンアンドフロンティア*/
	.interview_area_turn .voice_container h5 {
		margin: 14rem 0 8rem 0;
	}
}

/*画面幅960px以下の設定
-------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:960px){

body {
	font-size: 16px;
}
img {
	max-width: 100% !important;
	height: auto;
	width:auto;
}
.content h4 {
	margin-right: 10px;
	margin-left: 10px;
}
ul.works_list li {
	width: 33.3%;
}
#sub_top {
	padding-top: 50px;
}
.tokkyo{
	left: 131px;
    top: -18px;
    font-size: 13px;
}

/*
メニューボタン
-------------------------------------------*/
.menu_btn {
	display: block;
	height: 30px;
	width: 40px;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
	position: fixed;
	z-index: 5000;
	top: 5px;
	right: 5px;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
.menu_btn:hover {
	cursor: pointer;
}
.menu_btn span {
	width: 28px;
	height: 2px;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -14px;
	background-color: #555;
}
.menu_btn span {
    transition: all 0.3s;
    transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
  }
.menu_btn span.top {
    transform: translateY(-8px);
	-webkit-transform: translateY(-8px);
    -moz-transform: translateY(-8px);
  }
.menu_btn span.bottom {
    transform: translateY(8px);
	-webkit-transform: translateY(8px);
    -moz-transform: translateY(8px);
}
.menu_btn:hover span.top {
    transform: translateY(-10px);
	-webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
}
.menu_btn:hover span.bottom {
    transform: translateY(10px);
	-webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
}

.menu_btn.opened  span.middle {
    background: rgba(255, 255, 255, 0);
	 transform: translateX(30px);
	 -webkit-transform: translateX(30px);
    -moz-transform: translateX(30px);
}
.menu_btn.opened  span.top {
    transform: rotate(-45deg) translateY(0px);
	-webkit-transform: rotate(-45deg) translateY(0px);
    -moz-transform: rotate(-45deg) translateY(0px);
}
.menu_btn.opened  span.bottom {
    transform: rotate(45deg) translateY(0px);
	-webkit-transform: rotate(45deg) translateY(0px);
    -moz-transform: rotate(45deg) translateY(0px);
}

/*
グローバルナビ
-------------------------------------------*/
#g_navi {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	display: none;
	padding-top: 50px;
	overflow: auto;
	z-index: 3000;
	background-color: #FFF;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 3px 0px;
	font-size: 14px;
	letter-spacing: 1px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
#g_navi ul {
	display: block;
	margin: 0px;
	padding: 0px;
	clear: both;
}

#g_navi ul li:first-child {
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #EEE;
}

#g_navi ul li {
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #EEE;
}

#g_navi ul li a {
	color: #000;
	text-decoration: none;
	display: block;
	padding-top: 16px;
	padding-right: 30px;
	padding-bottom: 14px;
	padding-left: 20px;
	line-height: 22px;
	vertical-align: middle;
}
#g_navi ul li a:hover {
	color: #999;
}

body.fixed {
	overflow: hidden;
}

/*
アコーディオン
--------------------------------------------------*/

#g_navi ul li a.ac_menu {
	position: relative;
	background-image: none;
}
#g_navi ul li a.ac_menu::after {
	font-size: 11px;
	display: block;
	height: 20px;
	width: 20px;
	content: "▼";
	text-align: center;
	line-height: 20px;
	position: absolute;
	top: 16px;
	right: 10px;
	color: #555;
}
#g_navi ul li a.ac_menu.active {
	color: #999;
}
#g_navi ul li a.ac_menu.active::after {
	content: "▲";
}
#g_navi div.ac_list {
	display: none;
}
#g_navi ul li ul li {
	border-bottom: none;
}
#g_navi ul li li:first-child {
	border-top: none;
}
#g_navi ul li ul li a {
	border-bottom: none;
}
#g_navi ul li ul li a::before {
	content: "・";
	padding-right: 5px;
	color: #999;
}

#g_navi ul li ul li a:hover {
	color: #999;
}

/*
メニューシャドウ
-------------------------------------------*/
.bg_bl {
	background-color: #FFF;
	height: 100%;
	width: 100%;
	opacity: 0.80;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	display: block;
	position: fixed;
	z-index: 2000;
}

/*
ヘッダー
-------------------------------------------*/
.sm-slider, .sm-slider::after {
	top: 50px !important;
}

header {
	height: 52px;
}

header h1 a img {
	top: 5px;
	left:5px;
	height: 40px;
}

header .h_btn a {
	width: 120px;
	top: 5px;
	right: 55px;
	line-height: 29px;
	padding-top: 1px;
	font-size: 12px;
}
header .h_tel a {
	top: 10px;
	right: 200px;
	line-height: 29px;
	padding-top: 1px;
	font-size: 12px;
}
header .h_menu {
	display: none;
}

header #info {
	display: none;
}

/* 202308追加「お客様の声　voice2.php」(jin)
----------------------------------------*/
.voice2 .selectform_container {
    flex-direction: column;
}
.voice2 .inputform_area {
	margin-top: 2rem;
}
.voice2 .companylist_area {
    flex-direction: column;
}
.voice2 .companylist_item {
    width: max(80%,500px);
    margin: 0 auto 3rem;
}
.voice2 span.company-no {
    text-align: center;
	font-size: 4rem;
}
.voice2 .companylist_item_info {
    width: 22%;
}
.voice2 .companylist_item_name {
    width: 73%;
}
/*---　voice詳細ページ　---*/
.voice2 .article ul {
    width: 90%;
}
/*個別：ターンアンドフロンティア*/
.interview_area_turn .voice_container h5 {
	margin: 15rem 0 8rem 0;
}
.interview_area_turn .interview_container .interview {
    flex-direction: column;
    align-items: center;
}
.interview_area_turn .interview_container .interview .interview-image {
    margin-bottom: 2rem;
    width: 70%;
}
.interview_area_turn .interview_container02 .interview-image p {
    padding: 1rem 0 1rem 1rem;
}
.interview_area_turn .interview_container .interview .interview-text {
    width: 100%;
}
.interview_area_turn .interview_container02 .interview-text {
    padding: 0;
}
.interview_area_turn .interview_container02 .interview-text p {
    padding: 3rem;
}
.interview_area_turn .member_name {
    top: -2rem;
}

/*
.no_sp {
	display: none;
}

}
/*(/～960)*/
}

/*画面幅768px以下の設定
-------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:768px){
/* 202308追加「お客様の声　voice2.php」(jin)
	----------------------------------------*/
	/*---　voice詳細ページ　---*/
	.voice2 .data_area span.company-no {
		top: -20px;
	}
	.voice2 .interview_title_area p.company-description {
		font-size: 18px;
	}
	.voice2 .interview_title_area p.company-description:before {
		font-size: 3.8rem;
	}
	.voice2 .interview_title_area p.company-description:after {
		font-size: 3.8rem;
		right: 1rem;
	}
	.voice2 .interview_title_area p {
		font-size: 14px;
	}
	.voice2 .interview_title_area p.person-name span {
		font-size: 14px;
		margin-top: 0;
	}
	/*個別：ターンアンドフロンティア*/
	.interview_area_turn .interview_container .interview-text h5 {
		font-size: 18px;
	}
	.interview_area_turn .interview_container02 .interview {
		flex-direction: column;
		align-items: center;
	}
	.interview_area_turn .interview_container02 .interview-text {
		width: 100%;
	}
	.interview_area_turn .interview_container02 .interview-text h5 {
		position: absolute;
		top: 9rem;
		left: 3rem;
	}
	.interview_area_turn .interview_container02 .interview-text p {
		padding: 22rem 3rem 3rem;
	}
	.interview_area_turn .interview_container02 .interview-image {
		width: 55%;
	}
	.interview_area_turn .interview_container02 .interview-image p {
		padding: 0.5rem 0;
		font-size: 14px;
	}
	.interview_container02 .interview-image img.icon {
		bottom: 1rem;
		right: 0.5rem;
		width: 25%;
	}
	.interview_area_turn .voice_container h5 {
		margin: 15rem 0 4rem 0;
	}
	.interview_area_turn .voice_container .member_area {
		flex-direction: column;
		align-items: center;
		padding-top: 5rem;
	}
	.interview_area_turn .voice_container .member {
		width: 90%;
		margin-bottom: 3rem;
	}
	.interview_area_turn .voice_container .member_name {
		top: 4rem;
	}
	.interview_area_turn .voice_container .member_area img.icon {
		display: none;
	}
	.interview_area_turn .voice_container .member_area .member:nth-of-type(odd) ,
	.interview_area_turn .voice_container .member_area .member:nth-of-type(even) {
		margin-top: 0;
	}
}

/*画面幅640px以下の設定
-------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:640px){

#top_slide .top_catch {
	font-size: 10vw;
	top: 44%;
}
#top_slide .slide_btn a {
	font-size: 16px;
	bottom: 10%;
	line-height: 32px;
	width: 260px;
	margin-left: -130px;
}
.pickup ul li {
	width: 100%;
	max-height: 130px;
	margin-bottom: 1px;
}
.pickup ul li a div {
		font-size: 12px;
}

header h1 a img {
	top:5px;
	height: 45px;
}
#sub_top h3 ,
.content h3 {
	font-size:18px;
}

header .h_btn a {
	width: 50px;
	top: 10px;
	right: 50px;
	font-size: 18px;
	border-top-style: none !important;
	border-bottom-style: none !important;
	border-right-style: none !important;
	border-left-style: none !important;
}
header .h_tel a {
	width: 50px;
	font-size: 18px;
	right: 95px;
}
header .h_tel a span,
header .h_btn a span {
	display: none;
}

.content {
    padding: 0 5%;
    box-sizing: border-box;
}
.cont_wrap {
	width:auto;
}

.content p {
	margin-bottom: 20px;
	margin-top: 10px;
	margin-right: 10px;
	margin-left: 10px;
}

ul.works_list {
	padding: 10px;
}

ul.works_list li {
	width: 50%;
}

ul.works_list li a {
	padding: 10px;
}

.img_left,
.img_right {
	float: none;
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
}

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

ul.f_bn li a span {
	display: none;
}

footer .f_bn li a i {
	padding-right: 0px;
}

footer .cont_wrap {
	display: none;
}

.tokkyo{
	left: 144px;
    font-size: 12px;
    top: -16px;
}

/* 202308追加「お客様の声　voice2.php」(jin)
----------------------------------------*/
.voice2 .selectform_container h3.title {
	font-size: clamp(1.1rem, 0.1rem + 1.09vw, 1.8rem);
}
.voice2 .inputform_area {
    display: flex;
    margin-top: 2rem;
    flex-direction: column;
    align-items: center;
}
.voice2 .inputform_area select {
    margin-bottom: 1rem;
}
.voice2 .companylist_item {
    width: 100%;
}
.voice2 span.company-no {
    font-size: 4rem;
}
/*---　voice詳細ページ　---*/
.voice2 .data_area .company-data h4.company-name {
    letter-spacing: 0;
}
.voice2 .company-data dl {
    grid-template-columns: 80px auto;
    grid-template-rows: 1.5rem;
    grid-gap: 0.5rem;
}
.voice2 .company-data dt.purpose {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
}
.voice2 .company-data dd.purpose-content {
    grid-column: 2 / 3;
    grid-row: 4 / 5;
}
.voice2 .interview_title_area {
    flex-direction: column;
    align-items: center;
}
.voice2 .interview_title_area > div {
    width: 100%;
    padding: 2rem 0 0;
}
.voice2 .interview_title_area p.company-description {
    font-size: 20px;
    margin-bottom: 2rem;
}
.voice2 .interview_title_area p.company-description:after {
    right: -1rem;
}
/*個別：ターンアンドフロンティア*/
.interview_area_turn .interview_container02 .interview {
    height: 770px;
}
.interview_area_turn .interview_container02 .interview-text h5 {
    position: absolute;
    top: 0rem;
    left: 1rem;
}
.interview_area_turn .interview_container02 .interview-text p {
    margin: 8rem 0 0;
}
.interview_area_turn .interview_container02 .interview-image {
    width: 70%;
    top: 4rem;
    right: auto;
}

}
/*(/～640)*/


/*画面幅460px以下の設定
-------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:460px){

input,
textarea {
	max-width: 300px !important;
}

.content table.table_01 th,
.content table.table_01 td {
	width: 100% !important;
	display: block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.content table.table_01 th {
	background-color: #F6F6F6;
}

#sub_top {
	font-size: 16px;
	padding-top: 80px;
}
.content h2 {
	font-size: 20px;
	margin-top: 1rem;
}

/* 202308追加「お客様の声　voice2.php」(jin)
----------------------------------------*/
.voice2 .companylist_area {
    padding: 2rem 0 3rem;
}
.voice2 .companylist_item {
    flex-direction: column;
	margin: 0 auto 1rem;
}
.voice2 .companylist_item_info {
    width: auto;
    display: flex;
    flex-direction: row;
}
.voice2 span.company-no {
    margin: 0;
    width: 23%;
    line-height: 80%;
	border-bottom: none;
	border-right: solid 5px #55a5b3;
	text-align: left;
}
.voice2 p.company-type {
    writing-mode: horizontal-tb;	/*横書きに戻す*/
	margin: 0 0 0 -3rem;
}
.voice2 p.company-scale {
    width: 20%;
}
.voice2 .companylist_item_name {
    width: 100%;
	padding: 0.5rem;
}
/*---　voice詳細ページ　---*/
.voice2 .data_area .company-logo {
    width: 80%;
}
.voice2 .data_area span.company-no {
    top: -5px;
    width: auto;
}
.voice2 .interview_area {
    padding: 0 2rem;
}
.voice2 .article ul {
    width: 80%;
}
.voice2 .btn a {
    width: 50%;
}
/*個別：ターンアンドフロンティア*/
.interview_area_turn .interview_container .interview .interview-image {
    width: 80%;
}
.interview_area_turn .voice_container .member_name {
    left: -1rem;
    top: 14rem;
}
.interview_area_turn .member_inner {
    width: 90%;
}
.interview_area_turn .interview_container02 .interview {
    height: 900px;
}
.interview_area_turn .interview_container02 .interview-text p {
    margin: 4rem 0 0;
}
.interview_area_turn .interview_container02 .interview-image img.icon {
    bottom: 1.2rem;
    right: 0;
}


}
/*(/～460)*/

/*
エフェクト
-------------------------------------------*/
.effect {
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha( opacity=0 )";
	transform: translateY(20px);
	-webkit-transform: translateY(20px);
    -moz-transform: translateY(20px);
	-webkit-transition: 1.0s ease-out;
	-moz-transition: 1.0s ease-out;
	transition: 1.0s ease-out;
}
.effect.d_02 {
transition-delay:0.2s;
-webkit-transition-delay:0.2s;
}
.effect.d_04 {
transition-delay:0.4s;
-webkit-transition-delay:0.4s;
}
.effect.d_06 {
transition-delay:0.6s;
-webkit-transition-delay:0.6s;
}
.effect.d_08 {
transition-delay:0.8s;
-webkit-transition-delay:0.8s;
}
.effect.start {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	transform: translateY(0px);
	-webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
}
.content p.check {
	color: #FF3333;
}
.content p.p_st {
	font-size: 20px;
	color: #CA28B1;
}

/*画面幅400px以下の設定
-------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:400px){
	header{
		height: 74px;
	}
	header .h_tel a{
		top: 20px;
	}
	header .h_btn a{
		top: 20px;
	}
	.menu_btn{
		top: 15px;
	}

	.tokkyo{
		left: 150px;
		font-size: 11px;
		top: -10px;
		padding: 3px 10px 3px;
	}

	/* 202308追加「お客様の声　voice2.php」(jin)
	----------------------------------------*/
	/*---　ページネーション　---*/
	.pagination .Pagination-Item-Link {
		width: 2rem;
	}
	/*個別：ターンアンドフロンティア*/
	.interview_area_turn .voice_container .member_name {
		top: 12rem;
	}
	.interview_area_turn .interview_container02 .interview {
		height: 950px;
	}
	.interview_area_turn .interview_container02 .interview-image {
		width: 80%;
	}
	.interview_area_turn .interview_container02 .interview-image img.icon {
		bottom: 1.2rem;
		right: -0.5rem;
	}
}

/*画面幅375px以下の設定
-------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:375px){
	/*---　voice詳細ページ　---*/
	.voice2 .company-data dl {
		padding: 0.5rem;
		width: 90%;
		margin: 0 auto;
	}
	.voice2 .article {
		padding: 2rem 0 1rem;
	}
	/*個別：ターンアンドフロンティア*/
	.interview_area_turn .interview_container02 .interview {
		height: 1000px;
	}
	.interview_area_turn .voice_container .member_name {
		top: 11rem;
		font-size: 14px;
	}
}

/*===202407追加（ito）===
-------------------------------------------------------------------------------------------------------------------*/
/*--style_sheet.cssの記述のスタイル--*/
.index_btn {
    background: var(--main-color);
}
.u_bar {
    text-decoration-color: var(--main-color);
}
.m_color {
    color: var(--BL-color);
}
.index_btn:hover{
	background: var(--BL-color);
}
.btnb_i::before {
    border-top: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
}

/*--記述場所不明のスタイル--*/
.text div,
.all2 span.ttl,
.panorama_b .ttl2,
.ul1{
    color: var(--main-color)!important;
}

.balloon,
.flx span {
    background: var(--main-color)!important;
}

.balloon:before{
	border-top: 15px solid var(--main-color)!important;
}

.sm_list:before{
	border-color: transparent transparent transparent var(--main-color)!important;
}

.all2{
	background: var(--bg-color)!important;
	margin: 0 calc(50% - 50vw);
    padding: 4px calc(50vw - 50% + 8px);
}

/*--追加のスタイル--*/
.sitemap a:link,
.sitemap a:visited{
	color: var(--BK-color)!important;
}

/*===料金表のページ===
---------------------------------------*/
.price .page_text {
    padding: 2em 0;
}
.price .index_btn {
    margin: 4% auto 0;
}
.price .img_all_box figure {
    width: 90%;
    margin: 0 auto;
}
.bg_f.price:first-child{
	margin-top:2%;
	background:none;
}
.bg_f.price:last-child{
	margin-bottom:2%;
}
.bg_f.price:nth-child(2n){
	background: var(--bg-color);
}
@media screen and (min-width:768px){
	.price .img_all_box figure {
		width: 40%;
	}
}

/*===サポート===*/
table.table_price_support{
	border-collapse: collapse;
    margin: 0 auto;
}
.table_price_support thead .space th {
	background: #fff;
    padding: 0.7em;
    border: none;
}
.table_price_support th,
.table_price_support td{
    width: auto;
	border: 1px solid #9d9a9a;
	padding: 0.5em;
	font-weight: normal;
	display: table-cell;
	width: auto;
}
.table_price_support tbody td:first-of-type{
	font-size: 95%;
}
.table_price_support thead th {
	background: var(--GY-color);
	color: #fff;
	padding: 0.7em;
}
.table_price_support tbody td {
	text-align: center;
}
.support_memo {
    font-size: 90%;
    color: #ff0000;
	padding-right: 0.5em;
}
.WHITE{
    background: #fff!important;
	color: #000 !important;
}
.BLUE-1{
	background: #b1ecff!important;
	color: #000 !important;
}
.BLUE-2{
	background: #00ACDD!important;
}
.BLUE-3{
	background: #203864!important;
}
.YELLOW{
	background: #fffdf3!important;
	color: #000 !important;
}
.GREY{
	background: #ededed!important;
	color: #000 !important;
}
.GREEN{
	background: #529A46!important;
}
.table-bg{
	background: #ebfdff!important;
	color: #000 !important;
}
.table-bg2{
	background: #fafff6!important;
	color: #000 !important;
}

@media screen and (max-width:1023px){
	table.table_price_support{
		white-space: nowrap;
	}
	/*スクロール*/
	.table-wrap {
		overflow-x: scroll;
		width: 100%;
		height: auto;
		padding-bottom: 0.3em;

	}
	.table-wrap::-webkit-scrollbar {
		height: 10px; /* スクロールバーの高さ */
	}
	.table-wrap::-webkit-scrollbar-thumb {
		background: #b7b7b7; /* ツマミの色 */
	}
	.table-wrap::-webkit-scrollbar-track {
		background: #ececec; /* トラックの色 */
	}
}

/*===料金表===*/
table.table_price{
	border-collapse: collapse;
	margin: 3% auto 0;
	white-space: nowrap;
	width: 100%;
	position: relative;
}
.table_price th,
.table_price td{
    width: auto;
	border: 1px solid #9d9a9a;
	padding: 0.5em;
	font-weight: normal;
	display: table-cell;
	width: calc(100% / 7);
}
.table_price thead th {
	color: #fff;
}
.table_price tbody td {
	text-align: center;
}

@media screen and (max-width:1280px){
	.table_price thead th{
		padding: 1em;
	}
	/*スクロール*/
	.table-wrap {
		overflow-x: scroll;
		width: 100%;
		height: auto;
		padding-bottom: 0.3em;
	}
	.table-wrap::-webkit-scrollbar {
		height: 10px; /* スクロールバーの高さ */
	}
	.table-wrap::-webkit-scrollbar-thumb {
		background: #b7b7b7; /* ツマミの色 */
	}
	.table-wrap::-webkit-scrollbar-track {
		background: #ececec; /* トラックの色 */
	}
	.table_price .sticky {
		position: sticky;
		top: 0;
		left: 0;
		background: none;
		border-left: none;
		border-right: none;
	}
	.table_price th.sticky.bgBL::before {
		background: var(--BL-color);
	}
	.table_price .sticky::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		border-left: 1px solid #000;
		border-right: 1px solid #000;
		background: #ededed !important;
		z-index: -1;
	}
}

/*===サポート/料金表のおすすめの吹き出しと赤で囲む===*/
/*吹き出し*/
.price .fukidashi {
	position: relative;
	display: inline-block;
	background: #e94163;
    color: #fff;
    font-weight: bold;
    border-radius: 50px;
	padding: 0.3em 1.5em;
	width: auto;
    margin: 2% auto;
}
.price .fukidashi::before {
	content: "";
	/* borderで三角形を作る */
	border-width: 10px;
	border-style: solid;
	border-color: #e94163 transparent transparent transparent;
	/* 配置する */
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
}

.table_price_support th.BLUE-2.red,
.table_price th.BLUE-2.red,
.table_price th.WHITE.red {
    border-top: 4px solid #e94163;
    border-right: 4px solid #e94163;
    border-left: 4px solid #e94163;
}
.table_price_support td.WHITE.red,
.table_price td.WHITE.red {
    border-right: 4px solid #e94163;
    border-left: 4px solid #e94163;
}
.table_price_support td.WHITE.red.under_red,
.table_price td.WHITE.red.under_red {
	border-bottom: 4px solid #e94163;
}

.price td.no-border {
    border: none;
}
.no-border .fukidashi::before {
	content: none;
}

/*===導入事例===*/

.price.all2 {
    padding: 1% calc(50vw - 50% + 8px) 5%;
}
.price_case {
    display: flex;
    gap: 50px 30px;
	flex-wrap: wrap;
	justify-content: space-between;
}
.price_case .wrap {
    border: 1px solid #ddd;
    padding: 3%;
    width: 100%;
	background: #fff;
	padding-top: 2em;
}
.price_case .wrap:first-of-type {
	margin-top: 2em;
}

/*プランタイトル*/
.price_case .plan {
    position: relative;
    padding: 0.3rem 2rem 0;
    color: var(--BL-color);
    font-size: 21px;
    z-index: 0;
	display: inline-block;
	margin-bottom: 1.5rem;
}
.price_case .plan::before,
.price_case .plan::after {
    position: absolute;
    width: 100%;
    height: 110%;
    content: '';
    transform: skew(347deg);
}
.price_case .plan::before {
    top: 0px;
    left: 0;
    background-color: #fff;
    z-index: -1;
	border: solid 2px;
}
.price_case .plan::after {
	top: -4px;
    left: -4px;
    border: 1px solid;
}
/*事業形態*/
.price_case .businessform div{
	display: flex;
    justify-content: flex-start;
    align-items:center;
	padding: 1em;
}
.price_case dl.businessform  {
    background: #f1fbff;
    border-radius: 5px;
    padding: 0.5em;
}
.price_case .businessform dt {
	width: 6em;
    background: var(--BL-color);
    border-radius: 5px;
    text-align: center;
    color: #fff;
    padding: 0.5em;
	margin-right: 1em;
}
/*導入費用*/
.price_case .cost {
	text-align: left;
}
.price_case .cost p {
    position: relative;
    font-size: 1.5em;
}
.price_case .cost p::after {
	position: absolute;
	content: "";
	top: 50%;
	width: 100px;
	height: 1px;
	background-color: black;
}
/*導入費用のテーブル*/
table.case1,
table.case2 {
    border: 1px solid #ddd;
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 2em;
	background: #fff;
	font-size: 75%;
}
table.case1 th,table.case1 td,
table.case2 th,table.case2 td {
    padding: 10px;
    border: 1px solid #ddd;
}
table.case1 th,
table.case2 th {
    background-color: #f5f5f5;
}
.price_case tr.total {
    background: #f1fbff;
}
.price_case tr td:nth-of-type(2) {
	text-align: right;
}
@media screen and (min-width:768px){
	.price_case .wrap {
		width: calc((100% - 100px* 2) / 2);
	}
	.price_case .wrap:first-of-type {
		margin-top: 0;
	}
	table.case1,
	table.case2 {
		font-size: 100%;
	}
}
/*ISO/IEC 27001取得情報　indexページ ishizawa 20250326*/
.ISMS_box {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1%;
    border-radius: 1rem;
    gap: 40px;
    max-width: 70%;
    margin: 0 auto;
    background-color: #ffffff;
}
/*ISO/IEC 27001取得情報の背景下部の余白*/
.ISMS_wrap {
    padding: 0 0 3% 0;
}

@media screen and (max-width:375px){
	.ISMS_wrap {
		padding: 0 0 10% 0;
	}
	.ISMS_box {
		max-width: 95%;
	}
}

/*header追加時のstye_20251024_ishizawa*/
/* --- ロゴ --- */
h1.logo {
	padding: 0;
}
.logo img {
height: auto;
width: 100px;
}


/* --- 特許出願中 --- */
.patent {
background-color: var(--RD-color);
color: #fff;
padding: 6px 14px;
border-radius: 20px;
font-size:clamp(0.9rem, 0.789rem + 0.49vw, 1.4rem);/*0.9-1.4rem*/
font-weight: bold;
margin-right: 11rem;
white-space: nowrap;
}


/* --- 電話・お問い合わせエリア --- */
.contact_area {
display: flex;
justify-content: space-between;
align-items: center;
margin: 1rem auto;
max-width: 1200px;
}


/* --- 電話番号 --- */
.tel_area {
font-size: clamp(0.9rem, 0.789rem + 0.49vw, 1.4rem);
font-weight: 500;
color: var(--BK-color);
display: flex;
align-items: center;
gap: .5rem;
padding-right: 2%;
}
.tel_area a{
	color: var(--BK-color);
}
.tel-text {
display: inline;
}
a[href^="tel"] i,a[href^="tel"] .tel-text {
	margin-right: 0.8rem;
}


/* --- お問い合わせボタン --- */
.btn_contact {
background-color: var(--main-color);
padding: 8px 16px;
border-radius: 6px;
text-decoration: none;
font-size: clamp(0.9rem, 0.789rem + 0.49vw, 1.4rem);
font-weight: bold;
display: flex;
align-items: center;
gap: 6px;
transition: 0.2s;
}
a.btn_contact {
color: #fff;
}
.btn_contact span,.tel_area span{
	display: none;
}
.btn_contact:hover {
background-color: var(--BL-color);
}


/* --- ハンバーガーメニュー --- */
.hamburger {
display: none; /* PCでは非表示 */
flex-direction: column;
justify-content: space-between;
width: 34px;
height: 28px;
background: none;
border: none;
cursor: pointer;
padding: 0;
z-index: 100;
}
.hamburger span {
display: block;
height: 2.5px;
width: 100%;
background-color: var(--BK-color);
border-radius: 3px;
}
.hamburger span {
transition: 0.3s ease;
transform-origin: center;
position: relative;
}


/* クリック後の「×」状態 */
.hamburger.active span:nth-child(1) {
transform: rotate(45deg);
top: 17px;
}
.hamburger.active span:nth-child(2) {
opacity: 0;
}
.hamburger.active span:nth-child(3) {
transform: rotate(-45deg);
top: -8px;
}


/* --- メニュー --- */
.menuArea.flex {
display: flex;
justify-content: space-between;
align-items: center;
text-decoration: none;
max-width: 1200px;
margin: 0 auto;
padding: clamp(0.244rem, 0.238rem + 0.01vw, 0.25rem)
}
.menuArea li a {
color: var(--BK-color);
font-size: clamp(0.7rem, 0.571rem + 0.57vw, 1rem);/*.7rem-1rem*/
font-weight: 600;
letter-spacing: .1rem;
}


/*フローティングバナー*/
.fixed_btn {
	z-index: 10;
}


@media screen and (min-width: 961px) {
.tel_area span {
	display: block;
} 
.btn_contact span {
	display: block;
} 
.logo img {
height: 55px;
width: auto;
}
header {
height: 120px;
}
a.btn_contact {
margin-left: 1rem;
}

a[href^="tel"] i,a[href^="tel"] .tel-text {
	display: inline-block;
	vertical-align: middle; 
}
}


@media screen and (max-width: 960px) {
header h1 a img {
position: static;
}

header {
	height: auto;
}
.hd_wrap {
justify-content: end;
}
.patent {
margin-right: 0rem;
}

.hamburger {
	display: flex; /* 表示に切り替え */
	margin-left: .5rem;
}

.contact_area {
	display: flex;
	align-items: center;
}

/* メニューは初期非表示 */
#g_navigation {
	display: none;
}

/* メニュー表示時（JSで .active を付与） */
#g_navigation.active {
	display: block;
	position: absolute;
	top: 70px;
	left: 0;
	width: 100%;
	height: 100vh;
	background: #fff;
	border-top: 1px solid #ddd;
}

#g_navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 90%;
}
#g_navigation li {
	border-bottom: 1px solid #eee;
}
#g_navigation li a {
	display: block;
	padding: 14px;
	color: var(--BK-color);
	text-decoration: none;
	font-size: 1.1rem;
}
#g_navigation li a:hover {
	background: #f7f7f7;
}    
#g_navigation.active {
	top: 0px;
	display: flex;
	justify-content: center;
	align-items: center;    
	position: fixed;
}
.menuArea.flex {
display: block;
position: fixed;
}
.tel-text {
display: none;
}
}

