@charset "utf-8";
@import url("/css/second-mv.css");

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;padding: 0px;
	color: #333;	/*全体の文字色*/
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 18px;	/*文字サイズ*/
    letter-spacing: 0.01em;
	line-height: 1.7;		/*行間*/
	background: #fff;	/*背景色*/
	-webkit-text-size-adjust: 100%;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form{margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
textarea,select,input[type="text"],input[type="checkbox"],input[type="radio"],input[type="button"],input[type="submit"]{font-size: 100%;}
h1,h2,h3,h4,#menubar {font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}
strong{color:#e31c3d; font-weight:bold;}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #333;	/*リンクテキストの色*/
	transition: 0s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
}
a:hover {
	color: #0093d6;			/*マウスオン時の文字色*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}

/*inner共通
---------------------------------------------------------------------------*/
.inner {
	max-width: 1200px;	/*サイトの最大幅　※下の方の「画面幅1200px以上の設定」にも関連するので変更の際は注意して下さい。*/
	margin: 0 auto;
}

.hdtl {max-width: 1200px;	/*サイトの最大幅　※下の方の「画面幅1200px以上の設定」にも関連するので変更の際は注意して下さい。*/
	margin: 0 auto;}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	border-top: 7px solid #D6D6D6;	/*上の線の幅、線種、色*/
}
header .hdtl {
	position: relative;
	height: 20px;	/*ヘッダーの高さ*/
}
header .inner {
	position: relative;
	height: 129px;	/*ヘッダーの高さ*/
}
/*ロゴ画像*/
header #logo img {
	width: 300px;	/*画像幅*/
	position: absolute;
	top: 23px;	/*ヘッダーに対して上から14pxの場所に配置*/
}

h1.hdtl{
font-size:14px;
position: relative;
left:0%;		/*ヘッダーに対して左から13%の場所に配置*/
top: 10px;
}


/*ヘッダー内メニュー（ご依頼件数件・電話番号バナー）
---------------------------------------------------------------------------*/
/*メニューブロック全体*/
#headertel {
	position: absolute;
	right: 29%;		/*header のinnerに対して右から3%の場所に配置*/
	bottom: 38px;	/*header のinnerに対して下から15pxの場所に配置*/
	width: 400px;

	
}

#header-mail {
    position: absolute;
    right: -3%;
    bottom: 38px;
    display: flex;
    justify-content: space-between;
}

.mail-box {
    display: flex;
    align-items: center;
	background-color: #009ddb;
    flex-basis: calc(50% - 3px);
    padding: 18px 70px 18px 20px;
    box-sizing: border-box;
	color: #fff;


}

.mail-box img {
    width: 35px;
    height: auto;
	margin-right: 10px;
}

.text-area {
    white-space: nowrap; /* テキストを一行で表示 */
    font-size: 90%;
    font-weight: bold;
    text-align: center; /* テキストを中央揃えに設定 */
}

.text-area span.subtext {
    display: block;
    margin-top: -10px; /* テキスト上部の余白を調整 */
    font-size: 75%;
	color: #e31c3d ;
}

.mail-box a {
    display: flex;
    align-items: center;
    text-decoration: none; 
    color: inherit;
}



/*PCメインビジュアル（HOME）
---------------------------------------------------------------------------*/
.top-banner-cont-home {
    position: relative;
    width: 100%;
    height: 500px;
    background-image: url('../images/top-b.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.overlay-home {
    position: absolute;
    top: 50%;
    left: 0;
    height: 500px;
    width: 100%;
    background: rgba(0,147,214,0.05);
    transform: translateY(-50%);
}


.top-banner-content-home {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.overlay-content-home {
    position: absolute;
    background: #ffffff;
    width: 100%;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1; /* This is the initial opacity, which is fully visible */
    transition: opacity 3s ease-in-out; /* This makes the change in opacity animate over 3 seconds */
    z-index: 3;
    font-size: 290%;
    font-weight: bold;
    color: #0093d6;
}

.catchphrase {
    position: relative;
}


/*PCメインビジュアル（その他ページ）
---------------------------------------------------------------------------*/
.top-banner-cont {
    position: relative;
    width: 100%;
    height: 180px;
    background-image: url('../images/guide-top-b.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.company-banner-cont {
    position: relative;
    width: 100%;
    height: 180px;
    background-image: url('../images/company-b.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.top-cont {
    position: relative;
    width: 100%;
    height: 180px;
    background-position: center;
    background-size: cover;
   background-color: #009ddb;

}



	}

.overlay {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
	height: 180px;
    background: rgba(0,147,214,0.3);
    transform: translateY(-50%);
}

.centered-text {
	font-size: 250%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    font-weight: bold;
    text-align: center;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
}


.top-banner-content {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.overlay-content {
    position: absolute;
    background: #ffffff;
    width: 100%;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1; /* This is the initial opacity, which is fully visible */
    transition: opacity 3s ease-in-out; /* This makes the change in opacity animate over 3 seconds */
    z-index: 3;
    font-size: 290%;
    font-weight: bold;
    color: #0093d6;
}

.catchphrase {
    position: relative;
}

/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	clear: both;overflow: hidden;
	border-top: 1px solid #dcdcdc;	/*上の線の幅、線種、色*/
	border-bottom: 1px solid #dcdcdc;	/*下の線の幅、線種、色*/
	font-size: 90%;	/*文字サイズ*/	
}

/*メニュー１個あたりの設定*/
#menubar li {
	float: left;	/*左に回り込み*/
	width: 14.28571428571429%;	/*メニュー幅（100÷5個=20%）※下の方の「画面幅1200px以上の設定」にも関連するので変更の際は注意して下さい。*/
	font-weight: bold;
}

#menubar > ul > li > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;  /* これが水平方向に要素を中央に配置します */
}

#menubar > ul > li > a:before {
  content: "";
  position: absolute;
  width: 14px; 
  height: 14px; 
  background: url('../images/nv.png') no-repeat;
  background-size: contain;
  background-position: 5px center; /* 左から5px、上から中央に配置 */
  left: 11px;
  top: 50%;
  transform: translateY(-50%); /* 上下中央に配置するための微調整 */
}

#menubar li a {
	display:  block;text-decoration: none;
	text-align: center;	/*内容をセンタリング*/
	padding: 18px 0;	/*上下、左右へのボックス内の余白*/
	border-right: 1px solid #dcdcdc;	/*右の線の幅、線種、色*/
}

/*１つ目のメニューへの追加設定*/
#menubar li:first-child a {
	border-left: 1px solid #dcdcdc;	/*左の線の幅、線種、色*/
}
/*マウスオン時と、現在表示中(current)メニューの設定*/
#menubar li a:hover,
#menubar li.current a {
	background: #fff;	/*背景色*/
	color: #009ddb;	/*文字色*/
	transition: 0s ;
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}




/*ドロップダウンメニュー用
----------------------------------------------------------------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar ul.ddmenu {
	position:absolute;visibility: hidden;z-index: 10;margin-top: 1px;
	width: 14.2%;	/*幅。上の「#menubar li」と合わせる。*/
}
/*メニュー１個あたりの設定*/
#menubar ul.ddmenu li {
	float: none;
	width: 100%;
	border-left: 1px solid #E5E5E5; /* 左の線の幅、線種、色 */
	border-right: 1px solid #E5E5E5; /* 右の線の幅、線種、色 */
}
#menubar ul.ddmenu li a {
	width: 100%;border: none;
	background: #fff;
	text-align: center;
	padding: 6px 0;	/*上下、左右へのボックス内の余白*/
	border-bottom: 1px solid #E5E5E5;	/*下の線の幅、線種、色*/
}
/*マウスオン時*/
#menubar ul.ddmenu li a:hover {
	background: #009ddb;	/*背景色*/
	color: #fff;	/*文字色*/
}
/*mainimg
---------------------------------------------------------------------------*/
/*画像ブロック*/
.mainimg {
    clear: left;
    width: 100%;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
}


/*サブアイキャッチ
---------------------------------------------------------------------------*/

.e-banner {
  width: 100%;
  padding: 0; /* 明示的にpaddingを0に設定 */
  border: solid 1px #dcdcdc;	/*線の線種、幅、色*/
  box-sizing: border-box;
  overflow: hidden; /* 画像が枠をはみ出さないようにする */
}

.e-banner img.pc {
  display: block;
  width: 100%;
  height: auto;
}

/*サブアイキャッチ2
---------------------------------------------------------------------------*/

.e-title {
  width: 100%;
  padding: 30px 0; /* 明示的にpaddingを0に設定 */
  border: 5px solid #669934;
  background: #eff5e9;
  box-sizing: border-box;
  border-radius: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 230%;
  font-weight: bold;
}

.e-title i {
  margin-left: 15px;
  color: #669934;
  font-size: 120%;
}






/*サブページヘッダーコンテンツ
---------------------------------------------------------------------------*/
.hd-space {
    float: right;    /*右に回り込み*/
    width: 99.1%;     /*幅を100%に変更*/
    overflow: hidden;
    margin-bottom: 20px;
    border: 1px solid #B3B1B1;
    box-shadow: 0px 1px 7px 0px rgba(0, 0, 0, 0.2);
}




/*infoコンテンツ
---------------------------------------------------------------------------*/

.info-space {
    float: right;    /*右に回り込み*/
    width: 99.5%;        /*幅*/
    overflow: hidden;
	background: #ffffff;	/*背景色*/
}

.ft-info {
 width: 100%;
 box-sizing: border-box;
	margin: 0 20px 0 0;


}

.info-banner {
  width: 100%;
  border: 1px solid #dcdcdc;
  box-sizing: border-box;
 background-color: #fff;
}


.image-wrapper {
  overflow: hidden; /* 画像のはみ出しを制限 */
}


.image-wrapper img {
  display: block;
  width: 100%;
  height: auto;
}



.ft-info-boxes {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-top: 15px; /* 上部に間隔を作る */
}

.info-box {
  width: 33.33%;  /* Change here */
  box-sizing: border-box;
  border: 1px solid #dcdcdc;
  display: flex; 
  flex-direction: column; 
  justify-content: center; 
  align-items: center; 
  padding: 20px 0 0 0;
  background-color: #fff;


}

.info-box p {
  display: flex; 
  align-items: center; 
}

.info-box img {
  width: 20%; 
  margin-bottom: 5px;
}

.text-container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.text-container p {
  margin: 0;
  font-weight: bold;
  font-size: 100%
}

.text-container .second-line {
  font-size: 85%; /* 2行目のテキストのサイズを調整 */
  margin-top: -15px; /* 1行目と2行目のテキストの間隔を設定 */
}


.ft-info-boxes .info-arrow {
     width: 10px;
	 height: auto;
	margin-right: 5px;
	}



.link-box {
  text-decoration: none; 
  color: inherit;
}




/*メイン画像
----------------------------------------------------------------------------------------------------------------------------------*/
.mainimg {
	clear: left;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

/*コンテンツ（mainとsubを囲むブロック）
---------------------------------------------------------------------------*/

.contents {
	clear: both;overflow: hidden;
	padding: 50px 0px;	/*上下、左右へのボックス内の余白*/
}

.contents h2.df.first {
  margin-top: 0;
}

.contents h2.df {
    clear: both;
	margin-top: 30px;
    margin-bottom: 40px;
    font-size: 160%;
    line-height: 48px;
    font-weight: bold;
    letter-spacing: 0.1em;
    background: #fff;
    position: relative; /* 親要素を相対的に配置するために追加 */
    padding-bottom: 13px; /* 下線とのスペースを追加 */
}

.contents h2.df::after {
    background-color: #009ddb; /* 線色 */
    content: "";
    display: block;
    height: 5px; /* 線幅 */
    position: absolute; /* 絶対位置に配置するために追加 */
    bottom: 0; /* 下に配置するために追加 */
    left: 0; /* 左端から開始するために追加 */
    right: 0; /* 右端まで伸ばすために追加 */
    margin: 0 0px; /* 左右のスペースを追加 */
}


/*h2タグ矢印の中身色付き*/
.contents h2.arrow-hd {
    position: relative;
    padding: 30px 20px;
	text-align: center;
	font-size: 130%;
	font-weight: bold;
	letter-spacing: 0.1em;
    color: black;
    background: #FF5F57;
    border: 4px #FF5F57 solid;
	margin-bottom: 50px;
}

.contents h2.arrow-hd:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    height: 40px;
    width: 40px;
    background: inherit;
    transform: scaleY(0.9) rotate(45deg);
    transform-origin: top right;
}

.contents h2.arrow-hd:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-top: 3px;
    margin-left: -7px;
    height: 40px;
    width: 40px;
    background: transparent;
    transform: scaleY(0.9) rotate(45deg);
    transform-origin: top right;
    border-bottom: 5px #FF5F57 solid; /* ここをsolidに変更 */
    border-right: 5px #FF5F57 solid; /* ここをsolidに変更 */
}


/*h2タグ矢印・中身透明*/
.contents h2.arrow-hd-2 {
    position: relative;
    padding: 20px; /* この値は必要に応じて調整してください */
    text-align: center;
    font-size: 150%;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #333;
    background: white;
    border: 5px #669934 solid;
    margin-bottom: 50px;
    border-radius: 10px; /* 角を丸くする */
    width: auto; /* 横幅を自動に設定 */
    margin-left: auto; /* 左右のマージンを自動に設定 */
    margin-right: auto; /* 左右のマージンを自動に設定 */
}



.contents h2.arrow-hd-2:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    height: 40px;
    width: 40px;
    background: inherit;
    transform: scaleY(0.9) rotate(45deg);
    transform-origin: top right;
}

.contents h2.arrow-hd-2:after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-top: 3px;
    margin-left: -7px;
    height: 40px;
    width: 40px;
    background: transparent;
    transform: scaleY(0.9) rotate(45deg);
    transform-origin: top right;
    border-bottom: 5px #669934 solid; /* ここをsolidに変更 */
    border-right: 5px #669934 solid; /* ここをsolidに変更 */
}


/*h3タグの設定*/
.contents h3 {
	clear: both;
	margin-top: 15px;
	margin-bottom: 20px;	/*見出しの下にとるスペース*/
	padding: 0px 20px 7px 0px;		/*上下、左右への余白*/
	font-size: 130%;	/*文字サイズ。上の「body」で設定しているサイズに対しての指定。*/
	letter-spacing: 0.1em;	/*文字間隔を少し広くとる設定*/
	font-weight: bold;
	display: flex; /* 追加: flexコンテナを使用 */
    align-items: center; /* 追加: アイテムを垂直方向に中央揃え */
	line-height: 34px;
}
/*h3タグの左側のアクセント*/

.contents h3:before {
    background-color: #009ddb; /* 線色 */
	 border-radius: 2px; /* 線幅の半分 */
    content: "";
    display: inline-block;
    height: 30px; /* 線の長さ */
    margin-right: 10px; /* 線右の余白 */
    vertical-align: middle;
    width: 6px; /* 線幅 */
}

/*h4タグの設定*/
.contents h4 {
	font-size: 115%;	/*文字サイズ。上の「body」で設定しているサイズに対しての指定。*/
	padding: 10px 0px;		/*上下、左右への余白*/
	border-bottom: 1px solid #ccc;	/*下線の幅、線種、色*/
	margin-top: 10px;	/*見出しの下にとるスペース*/
	margin-bottom: 30px;	/*見出しの下にとるスペース*/
	font-weight: bold;
}
/*段落タグ設定*/
.contents p {
	padding: 0px 0px 10px;	/*上、左右、下への余白*/
}
/*段落タグが続く場合に余白が空きすぎないようにする*/
.contents p + p {
	margin-top: -20px;
}
/*h2とh3とh4タグの直後の段落タグ設定*/
.contents h2 + p,
.contents h3 + p,
.contents h4 + p {
	margin-top: -10px;
}

/*listブロック
---------------------------------------------------------------------------*/
/*listブロック設定*/
.list {
	overflow: hidden;position: relative;
	box-shadow: 0px 0px 5px rgba(0,0,0,0.3) inset;	/*ボックスの影。右へ、下へ、ぼかす範囲。0,0,0は黒の事で0.3は透明度30%の事。insetは内側に向かう影。*/
	margin: 0 2% 30px;	/*上、左右、下へのボックスの外に空けるスペース*/
	background: #fff;	/*背景色*/
	transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
	padding: 4%;	/*ボックス内の余白*/
}
.list a {
	overflow: hidden;text-decoration: none;display: block;
}
/*h4タグ設定*/
.list h4 {
	padding: 0;border: none;
	font-size: 200%;	/*文字サイズ*/
	color: #FF5F57;		/*文字色*/
	line-height: 1.2em;
	height: 1em;overflow: hidden;	/*１行を超えた部分は非表示になる*/
	margin-bottom: 0.5em;
}
/*段落タグ設定*/
.list p {
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.8;
	overflow: hidden;
}
/*figure画像の設定*/
.list figure img {
	margin: 0 0 4% 0;	/*上、右、下、左への画像の外側にとるスペース*/
}
/*figure画像の右側回り込みの設定*/
.list figure img.fr {
	width: 20%;		/*画像幅*/
	float: right;	/*右に回り込み*/
	margin: 0 0 0 4%;	/*上、右、下、左への画像の外側にとるスペース*/
}
/*figure画像の左側回り込みの設定*/
.list figure img.fl {
	width: 20%;		/*画像幅*/
	float: left;	/*左に回り込み*/
	margin: 0 4% 0 0;	/*上、右、下、左への画像の外側にとるスペース*/
}
/*右下の「→」マーク設定*/
.list a::before {
	content: "→";	/*このテキストを表示させる。変更しても構いませんが機種依存文字は化ける場合があるので使わない。*/
	font-size: 20px;	/*文字サイズ*/
	text-align: center;
	border-radius: 50%;	/*円形にする*/
	background: #b2b2b2;	/*背景色（古いブラウザ用）*/
	background: rgba(0,0,0,0.3);	/*背景色。0,0,0は黒の事で0.3は透明度30%の事。*/
	color: #fff;	/*文字色*/
	position: absolute;
	right: 10px;	/*右から10pxの場所に配置*/
	bottom: 10px;	/*下から10pxの場所に配置*/
	width: 30px;	/*幅*/
	line-height: 30px;	/*高さ*/
	transition: 1s;	/*マウスオン時の移り変わるまでの時間設定。1秒。*/
}
/*右下の「→」マークのマウスオン時*/
.list a:hover::before {
	background: #FF5F57;	/*背景色*/
	box-shadow: 0px 0px 0px 10px #FF5F57;	/*ボックスの影の指定ですが、円がそのまま大きくなるような動作になります。右へ、下へ、ぼかす範囲、距離。最後は色。*/
}
/*2カラム利用時--------------------------------------------*/
.c2 .list {
	float: left;	/*左に回り込み*/
	padding: 3%;	/*ボックス内の余白の上書き*/
	width: 40%;		/*幅*/
}
/*h4タグ*/
.c2 .list h4 {
	font-size: 130%;
}
/*p段落タグ*/
.c2 .list p {
	height: 5.4em;	/*上の「.list p」の「1.8」×「表示させたい行数」を設定。5.4だと3行分になる。*/
}

/*mainコンテンツ
---------------------------------------------------------------------------*/

.main {
	float: right;	/*右に回り込み*/
	width: 72%;		/*幅*/
	overflow: hidden;
}



/*subコンテンツ
---------------------------------------------------------------------------*/
/*subブロック*/



.sub {
	float: left;	/*左に回り込み*/
	width: 24%;		/*幅*/
	
}


/*subコンテンツ内のh2タグ設定*/
.sub h2:not(.recycle):not(.info):not(.option):not(.material) {
	background: none;border: none;box-shadow: none;padding: 0;letter-spacing: normal;
	font-size: 110%;	/*文字サイズ*/
	margin-bottom: 20px;
	padding-left: 5px;	/*線とテキストとの距離*/
	font-weight: bold;
}

.sub h2:not(.recycle):not(.info):not(.option):not(.material)::before {
    background-color: #E5E5E5; /* 線色 */
    content: "";
    display: inline-block;
    height: 30px; /* 線の長さ */
    margin-right: 10px; /* 線右の余白 */
    vertical-align: middle;
    width: 4px; /* 線幅 */
}

.sub .recycle {
    background: none;border: none;box-shadow: none;padding: 0;letter-spacing: normal;
	font-size: 110%;	/*文字サイズ*/
	margin-bottom: 20px;
	padding-left: 5px;	/*線とテキストとの距離*/
	font-weight: bold;
}

.sub .recycle::before {
    content: ""; /* 空のコンテンツを挿入 */
    display: inline-block; /* インラインブロックとして表示 */
    width: 23px; /* アイコンの幅 */
    height: 23px; /* アイコンの高さ */
    background-image: url('../images/recyclemark.png'); /* 画像を指定 */
    background-size: contain; /* アイコンをコンテナに合わせて調整 */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    vertical-align: middle; /* 垂直方向の中央に配置 */
    margin-right: 10px; /* 右側の余白 */
    margin-bottom: 2px; /* 下側の余白を追加 */
}

.sub .info {
    background: none;border: none;box-shadow: none;padding: 0;letter-spacing: normal;
	font-size: 110%;	/*文字サイズ*/
	margin-bottom: 20px;
	padding-left: 5px;	/*線とテキストとの距離*/
	font-weight: bold;
}

.sub .info::before {
    content: ""; /* 空のコンテンツを挿入 */
    display: inline-block; /* インラインブロックとして表示 */
    width: 23px; /* アイコンの幅 */
    height: 23px; /* アイコンの高さ */
    background-image: url('../images/infomark.png'); /* 画像を指定 */
    background-size: contain; /* アイコンをコンテナに合わせて調整 */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    vertical-align: middle; /* 垂直方向の中央に配置 */
    margin-right: 10px; /* 右側の余白 */
    margin-bottom: 4px; /* 下側の余白を追加 */
}


.sub .option {
    background: none;border: none;box-shadow: none;padding: 0;letter-spacing: normal;
	font-size: 110%;	/*文字サイズ*/
	margin-bottom: 20px;
	padding-left: 5px;	/*線とテキストとの距離*/
	font-weight: bold;
}

.sub .option::before {
    content: ""; /* 空のコンテンツを挿入 */
    display: inline-block; /* インラインブロックとして表示 */
    width: 23px; /* アイコンの幅 */
    height: 23px; /* アイコンの高さ */
    background-image: url('../images/option.png'); /* 画像を指定 */
    background-size: contain; /* アイコンをコンテナに合わせて調整 */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    vertical-align: middle; /* 垂直方向の中央に配置 */
    margin-right: 10px; /* 右側の余白 */
    margin-bottom: 4px; /* 下側の余白を追加 */
}


.sub .material {
    background: none;border: none;box-shadow: none;padding: 0;letter-spacing: normal;
	font-size: 110%;	/*文字サイズ*/
	margin-bottom: 20px;
	padding-left: 5px;	/*線とテキストとの距離*/
	font-weight: bold;
}

.sub .material::before {
    content: ""; /* 空のコンテンツを挿入 */
    display: inline-block; /* インラインブロックとして表示 */
    width: 23px; /* アイコンの幅 */
    height: 23px; /* アイコンの高さ */
    background-image: url('../images/material.png'); /* 画像を指定 */
    background-size: contain; /* アイコンをコンテナに合わせて調整 */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    vertical-align: middle; /* 垂直方向の中央に配置 */
    margin-right: 10px; /* 右側の余白 */
    margin-bottom: 4px; /* 下側の余白を追加 */
}




/*段落タグ設定*/
.sub p {
	padding-bottom: 10px;	/*上、左右、下への余白*/
}


.sub h3 {
	background: none;border: none;box-shadow: none;padding: 0;letter-spacing: normal;
	font-size: 105%;	/*文字サイズ*/
	margin: 0px 0 15px 0;
	padding-left: 5px;	/*線とテキストとの距離*/
	font-weight: bold;
}

.sub h3:before {
    background-color: #E5E5E5; /* 線色 */
    border-radius: 5px; /* 線幅の半分 */
    content: "";
    display: inline-block;
    height: 25px; /* 線の長さ */
    margin-right: 10px; /* 線右の余白 */
    vertical-align: middle;
    width: 6px; /* 線幅 */
}




/*サブコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー全体の設定*/
.sub ul.side-menu {
	margin-bottom: 20px;	/*メニューブロックの下に空けるスペース*/
	border-top: solid 1px #dcdcdc;	/*上の線の線種、幅、色*/
}
/*メニュー１個ごとの設定*/
.sub ul.side-menu li {
	background: #fff;	/*背景色*/
	border-bottom: solid 1px #dcdcdc;	/*下の線の線種、幅、色*/
}
.sub ul.side-menu li a {
	text-decoration: none;
	display: block;
	padding: 5px 10px;	/*メニュー内の余白。上下、左右への設定。*/
}


/*サイドメニューinformation*/



.information p{
font-size:88%;
}	

.info-data .tel-icon {
    width: 30px;
    height: auto;
	margin-bottom: 8px;
    margin-right: 10px;
}

.info-data .mail-icon {
    width: 32px;
    height: auto;
	margin-bottom: 3px;
    margin-right: 9px;
}


.information .info-title {
font-size: 120%;
font-weight: bold;
}
.information .tel a {
font-size: 120%;
font-weight: bold;
color: #4b4c4c;
text-decoration: none;
}

.contact-item-line a,
.contact-item-mail a {
font-size: 110%;
font-weight: bold;
text-decoration: none;
}



.contact-item-line {
	margin-top: 10px;
    margin-bottom: 15px;
}

.contact-item-mail {
	margin-top: 10px;
}




/*サブコンテンツ内のbox1
---------------------------------------------------------------------------*/
.sub .box1 {
	padding: 15px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	background: rgba(0,0,0,0.02);	/*背景色。rgbaは色設定で0,0,0は黒。0.02は透明度2%の事。*/
	border: solid 1px #dcdcdc;	/*線の線種、幅、色*/
	box-shadow: 0px 1px 7px 0px rgba(0, 0, 0, 0.1);
}
/*box1内のメニューの設定*/
.sub .box1 ul.side-menu {
	margin-bottom: 0px;
}
/*サブコンテンツ内のbox2
---------------------------------------------------------------------------*/

.sub .box2 {
	padding: 15px;			/*ボックス内の余白*/
	margin-bottom: 5px;	/*ボックスの下に空けるスペース*/
	background: #FFFFFF;
	border: solid 1px #FFFFFF;	/*線の線種、幅、色*/
	font-size: 90%;
	border-radius: 12px; /* 角丸にする */
}

.sub .box3 {
	padding: 15px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	background: rgba(0,0,0,0.00);	/*背景色。rgbaは色設定で0,0,0は黒。0.02は透明度2%の事。*/
	border: solid 1px #fff;	/*線の線種、幅、色*/
	box-shadow: 0px 0px 1px 1px #fff inset;	/*ボックスの影。内側に白のラインを入れる。*/
}
/*box1内のメニューの設定*/
.sub .box1 ul.side-menu {
	margin-bottom: 0px;
}


/*サイドインフォ*/
.sub .info-data {
	padding: 15px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	background: #ffffff;	/*背景色。rgbaは色設定で0,0,0は黒。0.02は透明度2%の事。*/
	border: solid 2px #009ddb;	/*線の線種、幅、色*/
	box-shadow: 0px 0px 1px 1px #fff inset;	/*ボックスの影。内側に白のラインを入れる。*/
}

/*サイドエリア*/

.sub .side-area {
	padding: 15px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	background: #f4fbfd;	/*背景色。rgbaは色設定で0,0,0は黒。0.02は透明度2%の事。*/
	border: solid 3px #009ddb;	/*線の線種、幅、色*/
	box-shadow: 0px 0px 1px 1px #fff inset;	/*ボックスの影。内側に白のラインを入れる。*/
}

.side-area-info .area-title {
font-size: 120%;
font-weight: bold;
}


/*フッター設定
---------------------------------------------------------------------------*/
.arch-container {
  overflow: hidden;
}
.footer-arch {
  background: #009ddb;
  border-top-left-radius: 100%;
  border-top-right-radius: 100%;
  margin-left: -80px;
  margin-right: -80px;
  padding-bottom: 100px;
} 

footer {
  clear: both;
  font-size: 100%;  /*文字サイズ*/
  background: #009ddb;  /*背景色*/
  color: #fff;  /*文字色*/

}


footer a {
  text-decoration: none;
  color: #fff;  /*文字色*/
}
footer .pr {
  display: block;
  font-size: 80%;
  color: #fff;  /*文字色*/

}

/*フッターロゴ
---------------------------------------------------------------------------*/
#footer-logo {
  float: left;    /*左に配置*/
  width: 26%;     /*左側の幅を26%に設定*/
  padding: 25px 0 20px 0;
}
#footer-logo img {
    width: 85%;    /*ロゴの幅を親要素に合わせる。この場合は #footer-logo の幅になります*/
    height: auto;   /*高さは自動に設定。画像が自然なアスペクト比を保ちます。*/
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
  float: right;   /*右に配置*/
  width: 74%;     /*右側の幅を74%に設定*/
  overflow: hidden;
  padding: 20px 0;
  font-size: 90%; /*文字サイズ*/
}

/*１行分の設定*/
#footermenu ul {
  float: left;  /*左に回り込み*/
  width: 25%;   /*２列で等分するために45%に設定。5%はパディング分として残す。*/

}
#footermenu a {
  color: rgba(255,255,255,0.7);
  color: #ffffff;  /*文字色*/
}
#footermenu a:hover {
  color: #ffffff;  /*文字色*/
}

/*フッターメニュー一番端*/
#footermenu ul:nth-child(4) li a {
  font-size: 85%; 
}

/*フッターメニューicon*/
#footermenu ul li a img {
  margin-right: 5px;
  width: 7%;
  vertical-align: -1px; /* ベースラインから-2pxの位置に配置 */
}



/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
	text-align: center;
	background: #008dc5;	/*背景色*/
	padding: 8px 0 8px 0;
	font-size: 90%;
	font-weight: bold;
}




/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	padding: 0 20px;
	margin-bottom: 20px;
}
/*日付設定*/
#new dt {
	float: left;
	width: 9em;		/*幅*/
	color: #FF5F57;	/*文字色*/
	letter-spacing: 0.1em;
}
/*記事設定*/
#new dd {
	padding-left: 9em;
	border-bottom: 1px solid #dcdcdc;	/*下線の幅、線種、色*/
}

/*よくある質問
---------------------------------------------------------------------------*/
/*ブロック全体*/

.faq {
	margin:20px 0 0 0;
}
.qa dt {
    margin-bottom: 1em;
    color: #000000;
    font-weight: bold;
	font-size: 120%;
}

.qa dt::before,
.qa dd::before {
    margin-right: .4em;
}

.qa dt::before {
    content: "Q.";
}

.qa dd {
    margin: 0 0 2.5em;
    padding: 1em 1.5em;
    background: #F5F5F5;
    border-radius: 10px; /* 角を丸くする */
    color: #000000;
}

.qa dd::before {
    content: "A.";
	font-weight: bold;
}




/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption,
.ta2 caption {
	border: 1px solid #999;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;	/*下線だけ消す*/
	text-align: left;		/*文字を左寄せ*/
	background: #cce6f6;		/*背景色*/
	font-weight: bold;		/*太字に*/
	padding: 10px;			/*ボックス内の余白*/
}
/*ta1,ta2共通設定*/
.ta1,
.ta2 {
	width: 96%;
	margin: 0 2% 30px;
}
.ta1, .ta1 td, .ta1 th,
.ta2, .ta2 td, .ta2 th {
	border: 1px solid #999;	/*テーブルの枠線の幅、線種、色*/
	line-height: 2;
	padding: 10px;	/*ボックス内の余白*/
	word-break: break-all;
}
/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi,
.ta2 th.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
	background: #cce6f6;	/*背景色*/
	font-weight: bold;
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 150px;	/*幅*/
	text-align: center;	/*センタリング*/
	background: #f0f0f0;	/*背景色*/
	font-weight: normal;
}
/*ta1の左側ボックスに画像を入れた場合の設定*/
.ta1 th img {
	width: 100%;
}
/*ta2の左側ボックス*/
.ta2 th {
	background: #fffeba;	/*背景色*/
}
/*ta2の右側ボックス*/
.ta2 td {
	text-align: center;	/*センタリング*/
}
/*料金ページの追加設定（CMS用）*/
.ta1.price td {
	text-align: right;
}
.ta1.price tr.total th {
	background: #b7e0ee;
	font-size: 150%;
}
.ta1.price tr.total td {
	background: #deeff4;
	font-weight: bold;
	font-size: 150%;
}

/*ボタン(btn)の設定
---------------------------------------------------------------------------*/
input[type="submit"].btn,
input[type="button"].btn {
	padding: 15px;	/*ボタン内の余白*/
	margin-bottom: 30px;
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	border-radius: 3px;	/*角丸のサイズ*/
	background: linear-gradient(#fff, #eee);	/*グラデーション*/
}
/*マウスオン時の設定*/
input[type="submit"].btn:hover,
input[type="button"].btn:hover {
	border: 1px solid #999;	/*枠線の幅、線種、色*/
	background: #fff;	/*背景色*/
	position: relative;top: 1px;left: 1px;	/*マウスオン時に上から1px、左から1px場所を移動する*/
}

/*PAGE TOP設定
---------------------------------------------------------------------------*/
#pagetop {
	clear: both;
	padding-top: 40px;
}
#pagetop a {
	text-decoration: none;text-align: center;display: block;float: right;
	color: #fff;		/*文字色*/
	font-size: 20px;	/*文字サイズ*/
	background: #FF5F57;	/*背景色*/
	width: 60px;	/*幅*/
	line-height: 60px;	/*高さ*/
	margin-bottom: 20px;
}
/*マウスオン時*/
#pagetop a:hover {
	background: #333;	/*背景色*/
}

/*一覧ページのボックス内のアイコン
（CMSの場合は管理ページの「オプション1」～のプルダウンと、setup.phpの「オプション選択肢」に関連します）
---------------------------------------------------------------------------*/
/*option1,option2共通*/
span.option1, span.option2 {
	text-align: center;
	display: block;
	font-size: 10px;	/*文字サイズ*/
	width: 100px;		/*幅*/
	position: absolute;
	right: 0px;	/*ボックスに対して右から0pxの場所に配置*/
	top: 0px;	/*ボックスに対して上から0pxの場所に配置*/
	transform: rotate(45deg) translate(32px,-9px);	/**/
	color: #FFF;	/*文字色*/
	background: #666;	/*背景色*/
}
/*option1への追加設定*/
span.option1 {
	color: #FFF;		/*文字色*/
	background: #F00;	/*背景色*/
}
/*h2タグ内で使った場合のoption1とoption2*/
h2 span.option1, h2 span.option2 {
	text-shadow: none;
	width: auto;
	padding: 2px 5px;
	position: static;
	transform: none;
	display: inline-block;
	font-size: 15px;
	margin-left: 10px;
}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;		/*文字サイズ*/
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/*bg1
---------------------------------------------------------------------------*/
.bg1 {
	background: #f4f2ea url(../images/bg1.png);	/*背景色、背景画像の読み込み*/
}

/*その他
---------------------------------------------------------------------------*/
.look {background: #eee;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb30 {margin-bottom: 30px !important;}
.p0 {padding:0 !important;}
.clear {clear: both;}
ul.disc {padding: 0em 25px 15px;list-style: disc;}
.color1, .color1 a {color: #F00;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center !important;}
.r {text-align: right !important;}
.l {text-align: left !important;}
img.fr {float: right;margin-left: 10px;margin-bottom: 10px;}
img.fl {float: left;margin-right: 10px;margin-bottom: 10px;}
.big1 {font-size: 200%;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.sh {display: none;}



/*画面幅1200px以上の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:1200px){

/*inner共通
---------------------------------------------------------------------------*/
.inner {
	width: 1200px;	/*サイト幅*/
}
.hdtl {max-width: 1200px;
	}

/*メインメニューとドロップダウンメニューの設定変更。
上の共通設定で、max-widthを1200pxにしており、メニュー数が５個なので、1200÷5=240pxになります。
---------------------------------------------------------------------------*/
#menubar li, #menubar ul.ddmenu {
	width: 171.4285714285714px;
}

}

/*メインメニュー
---------------------------------------------------------------------------*/




/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
 



/* カテゴリーボックス */
.container-1 {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  padding: 0 60px 0;
  margin-bottom: 15px;
}

.container-1 li {
  border: 5px solid #009ddb;
  position: relative; 
  border-radius: 50%; 
  padding: 10px;
  width: 180px; 
  height: 180px; 
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: calc(150% - 2px);
  font-weight: bold;
  background-color: #f4fbfd;
 text-align: center; /* テキストを中央揃えにする */
box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1); /* 影を追加 */
}



/*横並びボックス */
.container-2 {
  display: flex; /* Flexboxを有効にする */
  justify-content: space-around; /* アイテムの間に均等なスペースを挿入 */
  align-items: center; /* アイテムを垂直方向の中央に配置 */
  position: relative;
}

.container-2 div {
  width: 700px;
  height: 190px;
  margin: 20px;
  border: 5px solid #669934;
  line-height: 25px; /* 行間を調整 */
  padding: 20px 0px 20px 45px;
  box-shadow: 0px 10px 20px rgba(0, 0, 0, 0.09), 0px 6px 6px rgba(0, 0, 0, 0.10);
  border-radius: 10px;
  position: relative;
  padding-right: 30px; /* 右側の余白を30pxに調整 */
}



/*横並びボックス人物画像*/
.container-2 div img.pt1 {
  position: absolute;
  top: 70%;
  left: 80px;
  transform: translateY(-50%);
  width: 85px; /* 画像の幅を指定 */
  height: auto; /* アスペクト比を維持して自動調整 */
}

.container-2 div img.pt2 {
  position: absolute;
  top: 70%;
  left: 80px;
  transform: translateY(-50%);
  width: 85px; /* 画像の幅を指定 */
  height: auto; /* アスペクト比を維持して自動調整 */
}

.container-2 div img.pt3 {
  position: absolute;
  top: 70%;
  left: 80px;
  transform: translateY(-50%);
  width: 85px; /* 画像の幅を指定 */
  height: auto; /* アスペクト比を維持して自動調整 */
}






/*仕切り線 */


.line {
  width: 20%;
  height: 5px;
  background-color: #009ddb; /* 仕切り線の色 */
  margin: 30px auto; /* 中央揃え */
}

.line-2 {
  width: 30%;
  height: 4px;
  background-color: #009ddb; /* 仕切り線の色 */
  margin: 50px auto; /* 中央揃え */
}

.line-3 {
  width: 90%;
  height: 2px;
  background-color: #E5E5E5; /* 仕切り線の色 */
  margin: 30px auto; /* 中央揃え */
}




/* 注意書き*/
span.caution{font-size:90%;}

/* バナー中央*/
.ct-bn {
    text-align: center;
}
.ct-bn img{
    margin-bottom: 30px;
    width: 70%;
}




/* スラッシュ見出し*/

.sl {
  position: relative;
  text-align: center;
  font-weight: bold;
  font-size: 180%;
}

.sl::before {
  content: "\\";
  padding-right: 10px;  /* バックスラッシュとテキストの間に10pxのスペースを追加 */
  font-size: 140%;
  font-weight: normal; /* スラッシュの太さを細くする */
}

.sl::after {
  content: "/";
  padding-left: 10px;  /* スラッシュとテキストの間に10pxのスペースを追加 */
  font-size: 140%;
  font-weight: normal; /* スラッシュの太さを細くする */
}



/* 逆三角下矢印*/
.arrow-1 {
  position: relative;
  padding-bottom: 30px; /* 下部に30pxの間隔を設定 */
}
.arrow-1::before {
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border: 30px solid transparent;
  border-top: 30px solid #dcdcdc;
  border-bottom-width: 0;
}



/* 左画像・右テキスト*/
.container-3 {
display: flex;
margin-bottom: 60px;
}

.text-container-3 {
width: 50%;
text-align: center;
margin-top: 50px;
margin-right: 80px; /* 右方向に20pxのマージンを追加 */
font-size:20px;
}

.text-container-3 p {
font-size:110%;
}

.image-container-3 {
  width: 33%;
  text-align: right;
}

.image-container-3 img {
  max-width: 45%;
  height: auto;
  margin-top: 45px;
  margin-right: 10px; 
}




/* 円形画像カテゴリーボックス*/

.container-4 {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  padding: 0 60px 0;
  margin-bottom: 15px;
}

.container-4 li {
  border: 5px solid #669934;
  position: relative; 
  border-radius: 50%; 
  padding: 10px;
  margin: 5px;
  width: 120px; 
  height: 120px; 
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: calc(150% - 2px);
  font-weight: bold;
  background-color: #fff;
}

.container-4 li img { 
  position: absolute;
  max-width: 60%; 
  max-height: 60%; 
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* 画像をセンタリング */
}



/*画像横並びボックス*/

.image-rank-box {
  display: flex;
  justify-content: center; /* 中央寄せに変更 */
}

.image-rank-box img {
  width: 85px;
  height: 85px;
  object-fit: cover;  /* 画像が歪まないように */
  margin: 20px 20px;  /* 画像の左右にマージンを追加 */
}





/*解決テキスト*/


@media (min-width: 601px) {
	
.big-sol{
font-size: 160%;
font-weight: bold;
color: #000000;
}
	
.big-sol:after {
    content: ""; /* 内容は空に */
    display: inline-block; /* ブロックとして表示 */
    width: 35px; /* 画像の幅を指定 */
    height: 35px; /* 画像の高さを指定 */
    background-image: url('/../images/kira.png'); /* 画像のパスを指定 */
    background-size: contain; /* 画像を要素に合わせてスケール */
    background-repeat: no-repeat; /* 画像を繰り返さない */
    margin-left: 9px; /* アイコンとテキストの間にスペースを追加 */
    vertical-align: -5px; /* 垂直位置を中央に設定 */
}

/*黄色い下線*/
.middle{
font-size: 100%;
    background-image: linear-gradient(rgba(255, 255, 192, 1), rgba(255, 255, 192, 1));
    background-repeat: no-repeat;
    background-position: 0 80%;
    background-size: 100% 7px;
    padding: 0 0 3px 0;
	font-weight: bold;
}

}




/*エリアリスト*/
.area-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    padding: 0;
    list-style: none;
}
.area-list li {
    margin: 3px;
    padding: 1px 10px;
    background-color: #FFFFFF;
    border: 3px solid #E5E5E5;
	font-size: 90%;
}
.area-list li a {
    text-decoration: none; /* 下線を消す */
    color: black; 
}

/*アイテムリスト*/
.item-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    padding: 0;

    list-style: none;
	font-size: 80%;
}
.item-list li {
    margin: 3px;
    padding: 2px 8px;
    border-radius: 3px;
    background-color: #ccebf7;
}

.kaitori-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    padding: 0;
    list-style: none;
	font-size: 90%;
}

.kaitori-list li {
    margin: 3px;
    padding: 2px 9px;
    border-radius: 5px;
	border: 3px solid #E5E5E5;
    background-color: #fff;
}

/*エリアリストサイド*/
.area-list-side {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    padding: 0;
    list-style: none;
	font-size: 85%;
}
.area-list-side li {
    margin: 2px;
    padding: 3px 10px;
    border-radius: 5px;
    background-color: #FFFFFF;
    border: 3px solid #E5E5E5;
}

.area-list-side li a {
    text-decoration: none; /* 下線を消す */
    color: black;
}



/*カテゴリーリスト*/
.cate-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: start;
    padding: 0;
    list-style: none;
	margin-bottom: 10px;
}
.cate-list li {
    margin: 3px;
    padding: 1px 10px;
    background-color: #FFFFFF;
    border: 2px solid #E5E5E5;
	font-size: 90%;
}
.cate-list li a {
    text-decoration: none; /* 下線を消す */
    color: black; 
}



/* サイドメニュー最下部ロゴSPのみ*/
.side-logo {
  text-align: center;
  margin: 0 0 20px 0;
}

.side-logo img {
  max-width: 45%;
  display: block;
  margin: auto;
}




/* トップに戻る */
.top-button {
  opacity: 0;
  position: fixed;
  bottom: 45px;
  right: 20px;
  width: 60px;
  height: 60px;
  background-color: rgba(0, 0, 0, 0.5);
  color: #fff;
  font-size: 37px;
  text-align: center;
  line-height: 60px;
  border-radius: 5%;
  text-decoration: none;
  transition: opacity 0.5s ease;
  pointer-events: none; /* ボタンが非表示のときにクリックを無効にする */
  z-index: 999; /* 追加 */
}

.triangle {
  position: relative;
  display: block;
  width: 0;
  height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 18px solid #fff;
  top: 35%; /* 追加 */
  transform: translateY(-50%); /* 追加 */
  margin: 0 auto; /* 追加 */
}

.top-text {
  font-size: 14px;
  display: block;
  margin-top: 0px; /* 追加 */
}

.top-button:focus {
  outline: none;
}

.top-button:hover,
.top-button:active {
  color: #fff;
}

/* ボタンが表示されるとき */
.top-button.show {
  opacity: 1;
  pointer-events: auto; /* ボタンが表示されたときにクリックを有効にする */
}

/* パンくず */

.breadcrumb {
    list-style: none;
    padding: 0;
    margin: -25px 0 20px 310px;
    display: flex;
   font-size: 85%;
}
.breadcrumb li {
    margin-right: 5px;
}

.breadcrumb li a {
    text-decoration: none;
}


/* パンくず アイコン */
.breadcrumb .bread-arrow {
    margin-right: 5px;
	margin-left: 5px;
	margin-bottom: 3px;
	width: 8px;
	height: auto;
}


.breadcrumb .bread-home{
    margin-right: 8px;
	margin-bottom: 6px;
	width: 13px;
	height: auto;

}



.breadcrumb-2 {
    list-style: none;
    padding: 0 20px 0 5px;
    margin: -25px 0 20px 0px;
    display: flex;
   font-size: 85%;
}
.breadcrumb-2 li {
    margin-right: 5px;
}

.breadcrumb-2 li a {
    text-decoration: none;
}


/* パンくず アイコン */
.breadcrumb-2 .bread-arrow {
    margin-right: 10px;
	margin-left: 5px;
	margin-bottom: 3px;
	width: 8px;
	height: auto;
}


.breadcrumb-2 .bread-home{
    margin-right: 8px;
	margin-bottom: 6px;
	width: 13px;
	height: auto;

}



/* 中央60%のテキストボックス*/
.textbox-60 {
  width: 60%;
  text-align: center;
  margin-left: auto; /* 左右のマージンを自動に設定 */
  margin-right: auto; /* 左右のマージンを自動に設定 */
}



/* サブコンテンツ*/
.sb-text {
font-size: 85%;
}


/* お客様事例左*/

.speech-left {
margin-bottom: 10px;
}

.speech-face-left {
    margin-left: 2px;
    margin-top: -1px;
    float: left;
    width: 15%;
    padding-top: 15%; /* この行を追加しました */
    height: 0; /* この行を追加しました */
    display: flex;
    justify-content: center;
    align-items: center;
    border: 4px solid #669934;
    border-radius: 50%;
    position: relative; /* この行を追加しました */
    overflow: hidden; /* この行を追加しました */
}

.speech-face-left img {
    width: 70%; /* ここで画像のサイズを調整します */
    height: auto; /* この行を修正しました */
    object-fit: contain;
    position: absolute; /* この行を追加しました */
    top: 50%; /* この行を追加しました */
    left: 50%; /* この行を追加しました */
    transform: translate(-50%, -50%); /* この行を追加しました */
}


p.speech-text-left {
margin: 0 0 8px;
}

p.speech-text-left:last-child {
margin-bottom: 0px;
}

.speech-left:after,.talk:before {
clear: both;
content: "";
display: block;
}



.speech-txt-left {
color: #000000; /* 吹き出し内テキストの色 */
position: relative;
margin-left: 170px;
padding: 0.6em 0.8em 0.6em 0.8em;
border: 4px solid #669934; /* 吹き出し線の太さと色の設定 */
background-color: #fff; /* 吹き出しの背景色 */
border-radius: 5px; /* 吹き出しの角の丸み */
}

.speech-txt-left:before {
position: absolute;
content: '';
border: 10px solid transparent;
border-right: 10px solid #669934; /* 吹き出しの三角形の設定（色以外の変更は非推奨） */
top: 24px;
left: -20px;
}

.speech-txt-left:after {
position: absolute;
content: '';
border: 10px solid transparent;
border-right: 10px solid #fff;
top: 24px;
left: -16px;
}


.speech-info-left {
  margin-top: 27px; /* speech-infoに修正 */
  font-size: 90%;
}




/* お客様事例右*/

.speech-right {
margin-bottom: 10px;
}

.speech-face-right {
    margin-right: 2px;
    margin-top: -1px;
    float: right;
    width: 15%;
    padding-top: 15%;
    height: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 4px solid #669934;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
}

.speech-face-right img {
    width: 70%;
    height: auto;
    object-fit: contain;
    position: absolute;
    top: 50%;
    right: 50%; 
    transform: translate(50%, -50%);
}

p.speech-text-right {
margin: 0 0 8px;
}

p.speech-text-right:last-child {
margin-bottom: 0px;
}

.speech-right:after,.talk:before {
clear: both;
content: "";
display: block;
}

.speech-txt-right {
color: #000000;
position: relative;
margin-right: 170px;
padding: 0.6em 0.8em 0.6em 0.8em;
border: 4px solid #669934;
background-color: #fff;
border-radius: 5px;
}

.speech-txt-right:before {
position: absolute;
content: '';
border: 10px solid transparent;
border-left: 10px solid #669934;
top: 24px;
right: -20px;
}

.speech-txt-right:after {
position: absolute;
content: '';
border: 10px solid transparent;
border-left: 10px solid #fff;
top: 24px;
right: -16px;
}

.speech-info-right {
margin: 27px 20px 0 0;
  font-size: 90%;
  text-align: right;
}







/* サービス内容ボックス*/

.box-service {
 position: relative;
 margin: 2em auto;
 padding: 15px 0 0 10px;
 background-color: #fff; /* 背景色 */
 border: 5px solid #E5E5E5; /* 枠線の太さ・色 */
 width: auto;
 border-radius: 10px;
}


.box-service-title {
 position: absolute;
 padding: 0 0.5em;
 left: 20px;
 top: -21px;
 font-weight: bold;
 background-color: #fff; /* タイトル背景色 */
}


.box-service p{
font-size: 90%;
}



/*フッターリンク*/
.ft-link {
  margin-top: 20px; /* 上部のマージンを追加 */
}

.ft-link a {
  font-size: 15px;
  text-decoration: none;
}



/*アコーディオンメニュー*/

.accordion-con {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  padding: 0 0 0px 2px;
  margin-top: 10px;
  margin-bottom: -15px;
}

ul.accordion-menu {
  background-color: #FFA719;
  width: 99%;
  padding: 0;
  color: #fff;
  margin: 0;
  text-align: center;
  border-radius: 5px; 
  overflow: hidden;
}

ul.accordion-menu .accordionBtn button {
  display: flex;  /* flexbox layout */
  justify-content: space-between; /* space text and arrow */
  align-items: center; /* center text and arrow vertically */
  position: relative;
  border: none;
  width: 100%;
  background-color: inherit;
  color: #fff;
  cursor: pointer;
  padding: 15px; 
  font-size: 110%;
  font-weight: bold;
  text-decoration: none; /* リンクの下線を消す */
  border-bottom: 1px solid #FFCE7F; /* add underline */
}

ul.accordion-menu li .accordionBtn button::after {
  content: "＞";
  margin-left: auto; /* push arrow to right side */
  transition: transform 0.3s ease;
}

ul.accordion-menu li.active > .accordionBtn > button::after {
  transform: rotate(90deg);
}

ul.accordion-menu .accordionBtn a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  border: none;
  width: auto; /* 幅を自動調整 */
  background-color: inherit;
  color: #fff;
  cursor: pointer;
  padding: 15px;
  font-size: 110%;
  font-weight: bold;
  text-decoration: none;
  border-bottom: 1px solid #FFCE7F;
}


ul.accordion-menu li .accordionBtn a::after {
  content: "＞";
  margin-left: auto; /* push arrow to right side */
}

ul.accordion-menu li {
  list-style: none;
  width: 100%;
}

ul.accordion-menu ul {
  height: 0;
  padding: 0;
  overflow: hidden;
  transition: .5s;
  background-color: #FFFFFF;
  margin: 0;
}

ul.accordion-menu li li {
  border-bottom: 2px solid #E5E5E5;
  padding: 10px 0 10px 0px;
  font-weight: bold;
  text-align: right;
}

ul.accordion-menu li li a {
  text-decoration: none;
}

ul.accordion-menu.active {
  overflow-y: auto;
}




/*サイドメニュープルダウン*/
.side-dropdown {
  position: relative;
}

.side-dropdown-content {
  display: none;
  position: absolute;
  background-color: #fff;
  min-width: 250px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}

.side-dropdown-content a {
  color: #000000;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: right;
  border-bottom: 2px dotted #E5E5E5;
}

.side-dropdown-content a:hover {    background-color: #fe6263;
    color: #fff;}





/* アニメーションテスト１*/



.graph-container {
  width: 100%;
  height: 90px;
  background-color: #e7e7e7;
  margin-bottom: 30px;
  overflow: hidden;
  position: relative;
  border: 1px solid #E5E5E5;
  box-sizing: border-box;
}

.bar {
  position: absolute;
  width: 0;
  height: 90px;
  background-color: #009ddb;
  transform: translateZ(0);
  will-change: transform;
}

.bar-text {
  position: absolute;
  width: 80%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  display: flex;
  align-items: center;
  justify-content: center;
  
  color: #fff;
  font-size: 150%;
  font-weight: bold;
  letter-spacing: 2px;
  opacity: 0;
}

.text-content {
  margin-right: 5px;
}

.eco-graph {
  width: 45px;
  height: auto;
  margin-right: 10px;
}

@keyframes increase {
  to {
    width: 90%;
  }
}

@keyframes showText {
  to {
    opacity: 1;
  }
}

.animate-bar {
  animation-name: increase;
  animation-duration: 2s;
  animation-delay: 0.5s; /* 値を1sから0.5sに変更 */
  animation-timing-function: linear;
  animation-fill-mode: forwards;
}

.animate-text {
  animation-name: showText;
  animation-duration: 1s;
  animation-delay: 1.5s; /* 値を2sから1.5sに変更 */
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
}




/* タブレットデバイス用：ビューポートの幅が600pxより大きく、900px以下の場合 */
@media (min-width: 601px) and (max-width: 900px) {
  .bar-text {
    font-size: 120%;
  }
}

/* デスクトップデバイス用：ビューポートの幅が900pxより大きい場合 */
@media (min-width: 901px) {
  .bar-text {
    font-size: 150%;
  }
}





.box-a {
  position: relative;
  min-width: 200px;
  width: 33.3333333333%;
  height: 300px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #fff;
  -webkit-box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
          box-shadow: 0 15px 30px rgba(0, 0, 0, 0.2);
}


.box-a .percent {
  position: relative;
  width: 150px;
  height: 150px;
}
.box-a .percent svg {
  position: relative;
  width: 150px;
  height: 150px;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.box-a .percent svg circle {
  position: relative;
  fill: none;
  stroke-width: 10;
  stroke: #f3f3f3;
  stroke-dasharray: 440;
  stroke-dashoffset: 0;
  stroke-linecap: round;
}
.box-a .percent .number {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #111;
}
.box-a .percent .number .title-1 {
  font-size: 50px;
}
.box-a .percent .number .title-1 span {
  font-size: 22px;
}
.box-a .text {
  padding: 10px 0 0;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
}
.box-a .percent .line-1 {
  -webkit-animation: circleAnim 1s forwards;
          animation: circleAnim 1s forwards;
}
.box-a.blue .percent .line-1 {
  stroke-dashoffset: 52.8;
  stroke: #03a9f4;
}
.box-a.red .percent .line-1 {
  stroke-dashoffset: 154;
  stroke: #ff3051;
}
.box-a.green .percent .line-1 {
  stroke-dashoffset: 321.2;
  stroke: #1fd26c;
}

@-webkit-keyframes circleAnim {
  0% {
    stroke-dasharray: 0 440;
  }
  99.9%, to {
    stroke-dasharray: 440 440;
  }
}

@keyframes circleAnim {
  0% {
    stroke-dasharray: 0 440;
  }
  99.9%, to {
    stroke-dasharray: 440 440;
  }
}



/* サイドメニューリンク*/
.side-link-cont {
    display: flex;
    align-items: center;
}

img.main-arrow, i.fa {
    width: 8px;
    height: auto;
    margin-right: 9px;
	margin-left: 8px;
	margin-bottom: 4px;
}

img.arrow, i.fa {
    width: 25px;
    height: 25px;
    margin-right: 1px;
	margin-bottom:3px;
}


/* 全国対応 */
.japan-box {
  display: flex; 
  justify-content: space-between; 
  align-items: center;
}

.japan-box .japan-image {
  position: relative;
  width: 40%;
}

.japan-box img {
  width: 100%;
  height: auto;
}

.japan-box .japan-circle {
  position: absolute;
  top: 6px;
  left: 4px;
  width: 140px;
  height: 140px;
  background-color: #fff;
  border: 4px solid #9ddb00;
  border-radius: 50%;
  color: #333;
  font-size: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.5;
 font-weight: bold;
}


.japan-box .japan-text {
  width: 55%;
  padding: 20px;
}








/* カテゴリーボックス */

.cate-flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.row {
  display: flex;
  justify-content: center;
  margin-bottom: -40px;
}

.img-box-kojyo,
.img-box-office,
.img-box-soko,
.img-box-clinic,
.img-box-school,
.img-box-store {
  width: 150px;
  height: 150px;
  margin: 20px 20px 50px 20px;
  padding: 20px;
  border: 4px solid #009ddb;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative; /* 追加 */
}

.img-box-kensetsu {
  width: 150px;
  height: 150px;
margin: 20px 20px 50px 20px;
  padding: 20px;
  border: 4px solid #009ddb;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative; /* 追加 */
}

.img-kojyo,
.img-office,
.img-soko,
.img-clinic,
.img-school,
.img-store {
  width: 95%;
  height: 95%;
  object-fit: cover;
  margin-bottom: 25px;
}


.img-kensetsu {
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-bottom: 25px;
}


.img-box-kojyo .img-text,
.img-box-office .img-text,
.img-box-kensetsu .img-text,
.img-box-soko .img-text,
.img-box-clinic .img-text,
.img-box-school .img-text,
.img-box-store .img-text {
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 100%; /* フォントサイズを調整（適宜変更） */
  position: absolute; /* 追加 */
  bottom: 5px; /* 追加 */
  left: 0; /* 追加 */
  right: 0; /* 追加 */
  margin: 0; /* 変更 */
  padding: 0; /* 変更 */
}

.img-text {
  width: 100%;
  margin-top: 10px;
  margin-bottom: 10px;
font-weight: bold;
}


.cate-b-text {
    text-align: center;
	font-size:130%;
	font-weight: bold;
	margin-top: 7px;
	margin-bottom: 20px;
	line-height: 2.1;
	text-decoration-line: underline; /* 下線を追加 */
	text-decoration-color: #9ddb00; /* 下線の色を変更 */
    text-decoration-thickness: 5px; /* 下線の太さを調整 */
    text-underline-offset: 9px; /* テキストとの距離を調整 */
}


.cate-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
}
.cate-arrow img {
    width: 70px;
    margin: 0px 0 10px 0;  /* ここに任意のマージンを設定 */
}


.cate-logo {
    display: flex;
    justify-content: center;
    align-items: center;
}
.cate-logo img {
    width: 360px;
    margin: 0px 0 20px 0;  /* ここに任意のマージンを設定 */
}

/* 左画像・右テキスト*/
.category-textbox {
  display: flex; 
  justify-content: space-between; 
  align-items: center;
  margin-bottom: 20px;
}

.category-textbox img {
  width: 16%;
  height: auto;
  margin-left: 170px; /* Add this line */
}


.category-textbox .content-text {
  width: 55%;
margin-right: 150px; 
}







@keyframes cate-fadeInDown {
    0% {
        opacity: 0;
        transform: translate3d(0, -40%, 0);
    }
    100% {
        opacity: 1;
        transform: none;
    }
}

.animate {
    animation: cate-fadeInDown 1s ease-out both;
}





/*トップオフィス関連*/

.office-con {
    display: flex;
    gap:20px;
    justify-content: space-between;
    flex-wrap: wrap;
}

.office-box {
    flex: 1 0 30%;
    text-align: center;
    border: 1px solid #B3B1B1; /* 枠線を追加 */
    padding: 2px; /* パディングを追加 */
    background-color: #fff; /* ボックスの背景色を設定 */
	margin-bottom: 30px;
	box-sizing: border-box; 
}

.office-box-header {
    font-size: 110%;
	font-weight: bold;
    text-align: center;
	padding-top: 5px;
    padding-bottom: 13px;
    position: relative;
}

.office-box p{
    text-align:left;
	padding-left: 5px;
	padding-right: 5px;
}

.office-box-header::after {
    content: "";
    position: absolute;
    left: 10%; /* 左からの位置を調整 */
    right: 10%; /* 右からの位置を調整 */
    bottom: 8px;
    border-bottom: 3px solid #009ddb;
}







/*トップ工場関連*/

.image-con-4 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.image-con-4-box {
    flex: 1 0 22%;  /* 4つ横並びなら画面の約25% (22%として余白を考慮) */
    margin: 1%;
border: 1px solid #B3B1B1; 
	box-shadow: 3px 3px 6px 0px rgba(0, 0, 0, 0.2);
}




/*ドーナツ図形*/

.contents-img {
  display: flex; 
  justify-content: center; /* 中央に配置 */
  align-items: center;
  margin-bottom: 20px;
}

.contents-img img {
  width: 40%;
  height: auto;
}







/* 左画像・右テキスト*/
.content-textbox {
  display: flex; 
  justify-content: space-between; 
  align-items: center;
margin-bottom: 20px;
}

.content-textbox img {
  width: 40%;
  height: auto;
}

.content-textbox .content-text {
  width: 55%;
  padding: 20px;
}




/* 左画像・右テキスト*/
.content-textbox-2 {
  display: flex; 
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.content-textbox-2 img {
  width: 30%;
  height: auto;
}

.content-textbox-2 .content-text-2 {
  width: 55%;
  padding: 20px;
}

.content-textbox-3 {
  display: flex; 
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.content-textbox-3 img {
  width: 48%;
  height: auto;
}

.content-textbox-3 .content-text-3 {
  width: 60%;
  padding: 0px;
}

.content-textbox-4 {
  display: flex; 
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.content-textbox-4 img {
  width: 38%;
  height: auto;
}

.content-textbox-4 .content-text-4 {
  width: 60%;
  padding: 0px;
}



.sanpai-box {
  margin: 10px auto;
  padding: 10px;
  width: 80%;
  background-color: #fffff;
  border: 3px solid #9ddb00;
  font-size: 140%;
  font-weight: bold;
}

.sanpai-box ul {
  padding: 0.5em 1em 0.5em 2.3em;
  position: relative;
}


.sanpai-box ul li {
  position: relative;
  padding-left: 30px;
  font-weight: bold;
}

.sanpai-box ul li:before {
  content: "";
  position: absolute;
  left: -8px;  /* 左端に配置 */
  top: 13px; /* 上端から5px下に配置 */
  width: 25px;
  height: 25px;
  background: url('../images/check-2.png') no-repeat center center;
  background-size: contain;
}



.sanpai-box-2 {
  margin: 10px auto;
  padding: 10px;
  width: 80%;
  background-color: #fffff;
  border: 3px solid #E5E5E5;
  font-size: 100%;
}

.sanpai-box-2 ul {
  padding: 0 5px;
  position: relative;
}


.sanpai-box-2 ul li {
  position: relative;
  padding-left: 10px;
  font-weight: bold;
}



.f-box {
  margin: 10px auto;
  padding: 10px auto;
  width: 80%;
  background-color: #fffff;
  border: 3px solid #009ddb;
  font-size: 140%;
  font-weight: bold;
}

.f-box ul {
  padding: 50px 50px 50px 50px;
  position: relative;
}


.f-box ul li {
  position: relative;
  padding-left: 30px;
  font-weight: bold;
}

.f-box ul li:before {
  content: "";
  position: absolute;
  left: -8px;  /* 左端に配置 */
  top: 13px; /* 上端から5px下に配置 */
  width: 25px;
  height: 25px;
  background: url('../images/check-2.png') no-repeat center center;
  background-size: contain;
}


.cs-box {
  margin: 10px auto;
  padding: 10px auto;
  width: 90%;
  background-color: #fffff;
  border: 3px solid #009ddb;
  font-size: 140%;
  font-weight: bold;
}

.cs-box ul {
  padding: 50px 50px 50px 50px;
  position: relative;
}


.cs-box ul li {
  position: relative;
  padding-left: 30px;
  font-weight: bold;
}

.cs-box ul li:before {
  content: "";
  position: absolute;
  left: -8px;  /* 左端に配置 */
  top: 13px; /* 上端から5px下に配置 */
  width: 25px;
  height: 25px;
  background: url('../images/check-2.png') no-repeat center center;
  background-size: contain;
}


.cs-box2 {
  margin: 10px auto;
  padding: 10px auto;
  width: 90%;
  background-color: #fffff;
  border: 3px solid #009ddb;
  font-size: 140%;
  font-weight: bold;
}

.cs-box2 ul {
  padding: 50px 50px 50px 50px;
  position: relative;
}

.cs-box2 ul li {
  position: relative;
  padding-left: 30px;
  font-weight: bold;
}

.cs-box2 ul li:before {
  content: "";
  position: absolute;
  left: -8px;  /* 左端に配置 */
  top: 13px; /* 上端から5px下に配置 */
  width: 25px;
  height: 25px;
  background: url('../images/check-2.png') no-repeat center center;
  background-size: contain;
}





/* テキストボックスデザイン*/
.grid-line-box {
 margin: 10px auto;
 padding: 10px;
 width: 80%;
 background-color: #f4fbfd;
 border: 3px solid #009ddb;
font-size: 130%;
font-weight: bold;
}


.grid-line-box-2 {
 margin: 10px auto;
 padding: 10px;
 width: 70%;
 background-color: #f9f9f9;
 border: 3px solid #b7b7b7;
font-size: 130%;
font-weight: bold;
text-align: center;
}


.grid-line-box-3 {
  margin: 10px auto;
  padding: 10px;
  width: 80%;
  background-color: #fffff;
  border: 3px solid #009ddb;
  font-size: 140%;
  font-weight: bold;
}

.grid-line-box-3 ul {
  padding: 0.5em 1em 0.5em 2.3em;
  position: relative;
}


.grid-line-box-3 ul li {
  position: relative;
  padding-left: 30px;
  font-weight: bold;
}

.grid-line-box-3 ul li:before {
  content: "";
  position: absolute;
  left: 0;  /* 左端に配置 */
  top: 15px; /* 上端から5px下に配置 */
  width: 20px;
  height: 20px;
  background: url('../images/check.png') no-repeat center center;
  background-size: contain;
}









/* 事例左画像・右テキスト*/
.s-content-textbox {
  display: flex; 
  justify-content: space-between; 
  align-items: center;
margin-bottom: 30px;
}

.s-content-textbox img {
  width: 23%;
  height: auto;
  margin-top: 10px;
  box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.2);
  border: 5px solid #E5E5E5; 
}


.s-content-textbox .s-content-text {
  width: 74%;
}



/* 事例リスト */

ul.ct_list {
	padding: 0;
	list-style-type: none;
	font-size: 84%;
}
ul.ct_list li {
	position: relative;
	padding: 0.7em 1em 0.5em 2.0em; 
	margin-bottom:5px;
	border-bottom: 2px solid rgba(0,157,219,1);
}
ul.ct_list li:after,
ul.ct_list li:before{
	content:'';
	position: absolute;
}
ul.ct_list li:before {
	top: 50%;
	left: 0.2em;
	width: 17px;
	height: 17px;
	background: rgba(0,157,219,1);
	transform: translateY(-50%);
}
ul.ct_list li:after {
	top: 1.4em;  /* 位置を下に調整 */
	left: 0.6em;  /* 位置を右に調整 */
	width: 14px;
	height: 14px;
	background: rgba(0,157,219,0.4);
}




/* リボン型装飾 */

.rbn-container {
  display: flex;
  justify-content: center; /* 親要素を水平方向に中央揃え */
  align-items: center; /* 親要素を垂直方向に中央揃え */
  margin-bottom: 30px;
}

.rbn {
  font-size: 120%;
  font-weight: bold;
  background: #9ddb00;
  padding: 1rem;
  position: relative;
  color: #fff;
  width: 50%;
  line-height: 1.0; /* テキストの行の高さを調整 */
  display: flex; /* テキストの親要素をフレックスボックスとして配置 */
  justify-content: center; /* テキストを水平方向に中央揃え */
  align-items: center; /* テキストを垂直方向に中央揃え */
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4); /* テキストシャドウを追加 */

}


.rbn:before {
  position: absolute;
  content: '';
  top: 100%;
  left: 0;
  border: none;
  border-bottom: solid 6px transparent;
  border-right: solid 20px rgb(109, 153, 0);
}



/*左画像四つ */

.img-4-con {
    position: relative;  /* コンテナを相対位置に設定 */
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 40%;  /* 必要に応じて調整 */
}

.img-4-con .zaiko-item {
    box-sizing: border-box;
    padding: 11%;  /* 必要に応じて調整 */
    width: calc(50% - 10px);  /* 10pxは画像間の望む間隔の半分 */
    height: auto;
    margin-bottom: 20px;
    background-color: #E5E5E5;
}

.zaiko-overlay {
    position: absolute;  /* オーバーレイ画像を絶対位置に設定 */
    top: 50%;  /* 画像を垂直方向に中央に配置 */
    left: 50%;  /* 画像を水平方向に中央に配置 */
    transform: translate(-50%, -50%);  /* translateを使用して画像を正確に中央に配置 */
    max-width: 28%;  /* 最大幅を指定 */
    height: auto;  /* 高さを自動に設定 */
}





/* リンクボタン(オレンジ) */


/* PCの設定 */
@media screen and (min-width: 601px) {
  .button_row {
    display: flex;
    justify-content: space-around;
  }

  .button_row .button_orange {
    flex: 1;
    box-sizing: border-box;
    padding: 10px 5px; /* Add padding if needed */
    text-align: center;
  }

  .button_row .button_orange a {
    font-size: 100%;
    width: 85%; 
    padding: 15px 20px;

  }
}

/* モバイルの設定 */
.button_orange {
  text-align: center;  /* ボタンを中央に配置 */
}

.button_orange a {
  position: relative;
  display: inline-block; 
  justify-content: space-around;
  align-items: center;
  margin: 5px auto; 
  width: 350px; 
  padding: 10px 80px;
  color: #FFF;
  transition: 0.3s ease-in-out;
  font-size:120%;
  font-weight: bold;
  background: #ff9900;
  filter: drop-shadow(0px 2px 4px #ccc);
  border-radius: 5px;
  overflow: hidden;
  text-decoration: none;
}

.button_orange a:before{
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-image: linear-gradient( 
  130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
  -webkit-transition: 0.5s;
  transition: 0.6s;
}

.button_orange a:hover:before {
  left: 100%;
}

.button_orange a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transition: 0.2s ease-in-out;
  width: 18px;
  height: 18px;
  background: url("../images/button-link-arrow.png") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}







/* 強調テキスト*/

.emphasis {
font-weight: bold;
color: #009ddb
}

.emphasis-2 {
	font-weight: bold;
    background:linear-gradient(transparent 75%, #ccebf7 75%);}

.emphasis-3 {
	font-weight: bold;
    background:linear-gradient(transparent 75%, #ffe653 75%);}

.emphasis-4 {
	font-weight: bold;
}

p.emphasis-5{
	font-size: 110%;
	font-weight: bold;
	padding-top:20px;
	padding-bottom: 20px;
}

p.emphasis-6{
	font-size: 110%;
	font-weight: bold;
	padding-top:20px;
	padding-bottom: 20px;
}

.emphasis-7{
	font-size: 150%;
	font-weight: bold;
	margin-top: 5px;
	margin-bottom: -30px;
}

.emphasis-7 a{
text-decoration: none;
}

p.emphasis-8{
	font-size: 110%;
	font-weight: bold;
	margin-top: 5px;
	margin-bottom: -30px;
}

.emphasis-8 {
    font-size: 110%;
	font-weight: bold;
}


.cp-emphasis {
  display: flex;
  justify-content: center;
}

.cp-emphasis span {
  font-size: 150%;
  font-weight: bold;
  text-align: center;
  position: relative;
  display: inline-block;
}

.cp-emphasis span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px; /* 下線の太さ */
  background-color: #9ddb00; /* 下線の色 */
}



	
/* フローティングバナー*/

.floating-container {
  position: relative; 
}

@keyframes float {
  0% { transform: translateY(0px); }
  50% { transform: translateY(-20px); }
  100% { transform: translateY(0px); }
}

.floating-banner {
  position: fixed; /* 絶対位置から固定位置に変更 */
  bottom: 490px; /* 画面下部からの距離 */
  width: 280px;  /* バナーの幅を設定 */
  height: 105px; /* バナーの高さを設定 */
  border: 1px solid #dcdcdc; 
  align-items: center;
  justify-content: center; 
  display: flex;
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: 1000; /* 他の要素と重なった場合、前面に表示 */
  font-size: 100%;
  font-weight: bold;
 line-height: 1.3;
  box-shadow: 2px 2px 7px 0px rgba(0, 0, 0, 0.1);
 border-radius: 10px;
}

.floating-banner.float {
  animation: float 3s ease-in-out infinite;
}


@keyframes float {
  0%, 100% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-15px);
  }
}

.floating-banner.float {
  animation: float 4s ease-in-out infinite;
}

.banner-image {
  width: 80px;  /* 画像の幅を設定 */
  height: auto;  /* 画像の高さを設定 */
 margin-right: 13px;
}

.floating-em {
	font-weight: bold;
    background:linear-gradient(transparent 90%, #9ddb00 90%);
padding-bottom: 6px
}

.banner-link {
text-decoration: none;pointer-events: none; /* 初期状態でリンクを無効にする */
}

.banner-link:hover {
  text-decoration: none; /* ホバー時も下線を消す */
}







/* スマホ初めてのお客様*/


.special-box {
    border: 1px solid #dcdcdc;
    padding: 15px 0;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    text-align: center;
    border-radius: 10px;
    text-decoration: none; /* 追加 */
    color: inherit; /* 追加 */
}

.special-box img {
    vertical-align: middle; /* 画像をテキストと同じ行に揃える */
    width: 48px; /* 画像の幅を50pxに設定 */
    height: auto; /* 画像の高さを自動に設定（アスペクト比を保つ） */
    margin-right: 5px;
}

.special-box .special-text {
	font-size:105%;
    font-weight: bold;
    background: linear-gradient(transparent 90%, #9ddb00 90%);
    padding-bottom: 6px;
}



/* ガイド用キャッチコピー */


.cp-box {
    margin: 10px auto;
    width: 95%;
    background-color: #ffffff;
    font-size: 150%;
    font-weight: bold;
    text-align: center;
    line-height: 1.5;
    padding: 20px 0 20px 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cp-box p {
    margin: 0 20px;  /* Adjust this to change the space around the "+" */
	font-weight: bold;
}

.text-icon {
    border: solid 4px #009ddb;
    border-radius: 10px;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
    padding: 20px;
    margin: 10px;
	background-color: #f8fcfd;
}


.text-icon img {
    width: 60px;  /* Change according to your needs */
    height: auto;
    margin-bottom: 10px;  /* Adjust this to change distance between icon and text */
}


.cp-box .nt {
width: 70px;
}

.cp-box .tk {
width: 70px;
}

.cp-box .plus {
font-size: 180%;
font-weight: normal;
}





/* ガイド用カテゴリーボックス */
.guide-con {
  display: flex;
  justify-content: center; 
  flex-wrap: wrap;
  padding: 0 60px 0;
  margin-top: 15px;
  margin-bottom: 15px;
}


.guide-con li {
  position: relative;
border: solid 4px #9ddb00;
  border-radius: 50%; 
  padding: 10px;
  width: 120px; 
  height: 120px; 
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: 100%;
  font-weight: bold;
  background-color: #ffffff;
  text-align: center; 
  box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1);
  margin: 10px 13px 10px 13px; /* 上下間隔10px、左右間隔1px */
color: #333333;
}



.cp-arrow {
    display: flex;
    justify-content: center;
    align-items: center;
}
.cp-arrow img {
    width: 65px;
}

.cp-logo {
    display: flex;
    justify-content: center;
    align-items: center;
}
.cp-logo img {
    width: 350px;
    margin: -20px 0 20px 0;  /* ここに任意のマージンを設定 */
}




/* ガイド用カテゴリーボックス2 */
.guide-con-2 {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  padding: 0 60px 0;
  margin-bottom: 15px;
}

.guide-con-2  li {
  border: 5px solid #009ddb;
  position: relative; 
  border-radius: 50%; 
  padding: 10px;
  width: 230px; 
  height: 230px; 
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  font-size: calc(150% - 2px);
  font-weight: bold;
  background-color: #f4fbfd;
 text-align: center; /* テキストを中央揃えにする */
box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.1); /* 影を追加 */
}







/* ガイド用カテゴリーボックス3 */

.rbn_box_b {
	border: 3px solid #0093d6;
	position: relative;
	background: #ffffff;
	border-radius: 5px;
	margin-bottom: 30px;
	}
.rbn_box_b h3 {
margin-top: 25px;
margin-left: 20px;
margin-bottom: 2px;
	}

.rbn_box_b_ttl {
	position: relative;
	display: inline-block;
	width: 230px;
	padding: 10px 5px 10px 35px;
	background: #009ddb;
	color: #fff;
	font-size:110%;
	font-weight: bold;
	top: 20px;
	left: -10px;
	margin-bottom: 20px;
	}
.rbn_box_b_ttl::before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 10px transparent;
	border-right: solid 10px #006d99;
	}
.rbn_box_b_txt {
	padding: 0px 20px 0 20px;
	}





/* ガイドリンクボタン */


/* PCの設定 */
@media screen and (min-width: 601px) {
  .guide_button_row {
    display: flex;
    justify-content: space-around;
  }

  .guide_button_row .button_orange {
    flex: 1;
    box-sizing: border-box;
    padding: 10px 5px; 
    text-align: center;
  }

  .guide_button_row .button_orange a {
    font-size: 100%;
    width: 85%; 
    padding: 15px 20px;

  }
}

/* モバイルの設定 */
.guide_button_orange {
  text-align: center;
}

.guide_button_orange a {
  position: relative;
  display: inline-block; 
  justify-content: space-around;
  align-items: center;
  margin: 5px auto; 
  width: 135px; 
  padding: 12px 40px;
  color: #FFF;
  transition: 0.3s ease-in-out;
  font-size:85%;
  font-weight: bold;
  background: #ff9900;
  filter: drop-shadow(0px 2px 4px #ccc);
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
}

.guide_button_orange a:before{
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-image: linear-gradient( 
  130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
}

.guide_button_orange a:hover:before {
  left: 100%;
}

.guide_button_orange a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transition: 0.2s ease-in-out;
  width: 14px;
  height: 14px;
  background: url("../images/button-link-arrow.png") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}






/* ガイドリンクオレンジ横並び*/


/* PCの設定 */
@media screen and (min-width: 601px) {
  .guide_button_row_y2 {
    display: flex;
    justify-content: space-around;
  }

  .guide_button_row_y2 .button_orange_y2 {
    flex: 1;
    box-sizing: border-box;
    padding: 10px 5px;
    text-align: center;
  }

  .guide_button_row_y2 .button_orange_y2 a {
    font-size: 100%;
    width: 85%; 
    padding: 15px 20px;
	  filter: drop-shadow(0px 2px 4px #ccc);
	 

  }
}

.guide_button_orange_y2 {
  text-align: center;  
}

.guide_button_orange_y2 a {
  position: relative;
  display: inline-block; 
  justify-content: space-around;
  align-items: center;
  margin: 5px 8px; 
  width: 140px; 
  padding: 10px 38px;
  color: #ffffff;
  font-size:90%;
  font-weight: bold;
  background: #ff9900;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
filter: drop-shadow(0px 2px 4px #ccc);
}

.guide_button_orange_y2 a:before{
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-image: linear-gradient( 
  130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
}

.guide_button_orange_y2 a:hover:before {
  left: 100%;
}

.guide_button_orange_y2 a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transition: 0.2s ease-in-out;
  width: 14px;
  height: 14px;
  background: url("../images/button-link-arrow.png") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}




/* ガイドリンクボタン(blue) */


/* PCの設定 */
@media screen and (min-width: 601px) {
  .guide_button_row {
    display: flex;
    justify-content: space-around;
  }

  .guide_button_row .button_blue {
    flex: 1;
    box-sizing: border-box;
    padding: 10px 5px; /* Add padding if needed */
    text-align: center;
  }

  .guide_button_row .button_blue a {
    font-size: 100%;
    width: 85%; 
    padding: 15px 20px;

  }
}

/* モバイルの設定 */
.guide_button_blue {
  text-align: center;  /* ボタンを中央に配置 */
}

.guide_button_blue a {
border: solid 3px #009ddb;
  position: relative;
  display: inline-block; 
  justify-content: space-around;
  align-items: center;
  margin: 5px auto; 
  width: 135px; 
  padding: 12px 40px;
  color: #333333;
  font-size:85%;
  font-weight: bold;
  background: #fffff;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
}

.guide_button_blue a:before{
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-image: linear-gradient( 
  130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
}

.guide_button_blue a:hover:before {
  left: 100%;
}

.guide_button_blue a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transition: 0.2s ease-in-out;
  width: 13px;
  height: 13px;
  background: url("../images/button-link-arrow-2.png") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}








/* ガイドリンクボタン2(blue)*/


/* PCの設定 */
@media screen and (min-width: 601px) {
  .guide_button_row_2 {
    display: flex;
    justify-content: space-around;
  }

  .guide_button_row_2 .button_orange_2 {
    flex: 1;
    box-sizing: border-box;
    padding: 10px 5px; /* Add padding if needed */
    text-align: center;
  }

  .guide_button_row_2 .button_blue_2 a {
    font-size: 100%;
    width: 85%; 
    padding: 15px 20px;

  }
}

.guide_button_blue_2 {
  text-align: center;  
}

.guide_button_blue_2 a {
border: solid 3px #009ddb;
  position: relative;
  display: inline-block; 
  justify-content: space-around;
  align-items: center;
  margin: 5px 8px; 
  width: 140px; 
  padding: 10px 38px;
  color: #333333;
  font-size:90%;
  font-weight: bold;
  background: #ffffff;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
}

.guide_button_blue_2 a:before{
  content: '';
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: -100%;
  background-image: linear-gradient( 
  130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 55%);
}

.guide_button_blue_2 a:hover:before {
  left: 100%;
}

.guide_button_blue_2 a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transition: 0.2s ease-in-out;
  width: 14px;
  height: 14px;
  background: url("../images/button-link-arrow-2.png") no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}



/* ガイドフローチャート*/

.guide-flow {
    display: flex;
    align-items: center;
    justify-content: flex-start; 
	margin-top: 20px;
	margin-bottom: 20px;
}


.guide-flow-box {
    width: 130px;
    height: 80px;
    border: 3px solid #009ddb;
    text-align: center;
    padding: 30px 10px;
    margin: 5px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.5;
    font-weight: bold;
}

.flow-office-icon {
    width: 70px;
    height: 70px;
    margin: 0 0 -10px 0;
}

.flow-tk-icon {
    width: 70px;
    height: 70px;
    margin: -15px 0 0px 0;
}

.guide-flow-box-eco {
    width: 130px;
    height: 80px;
    border: 3px solid #9ddb00;
    text-align: center;
    padding: 30px 10px;
    margin: 5px 10px;
    display: flex;
    align-items: center;
    justify-content: center;
	line-height: 1.5;
	font-weight: bold;
}


.guide-flow-arrow {
    width: 17px;
    height: auto;
    margin: 0 25px;  /* Adjust this value to change the space around the arrow */
}


.guide-flow-title {
    
	background: #009ddb;
	color: #fff;
    text-align: center;
    font-size: 100%;
	font-weight: bold;
	padding: 10px 0 10px 0;
	width: 35%;
   border-radius:3px;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4); /* テキストシャドウを追加 */

}


.guide-flow-con {
display: flex;
justify-content: center;
}


.guide-flow-tx {
 padding: 10px;
 width: 69%;
 background-color: #f9f9f9; /* 背景色 */
 border: 1px solid #ccc; /* 枠線 */
margin: 0 0 20px 0;
    font-size: 95%;
  border-radius:8px;
}

.stx-box {
 padding: 10px;
 width: 100%;
 background-color: #f9f9f9; /* 背景色 */
 border: 1px solid #ccc; /* 枠線 */
margin: 0 0 20px 0;
    font-size: 95%;
  border-radius:8px;
}



/* ガイド比較表*/


.comparison-table {
  width: 100%;
  border-collapse: collapse;
margin-bottom: 30px;
}
.comparison-table .com th{
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2); 
}
.comparison-table th, .comparison-table td {
  border: 1px solid #333;
  padding: 10px;
  text-align: center;font-weight: bold;
font-size: 110%;

}

.comparison-table th {
 background-color: #009ddb;
color: #ffffff;
}
.comparison-table .feature {
 background-color: #f4fbfd;
color: #333333;
  }


.njyumaru{
width: 35px;
}

.maru{
width: 20px;
}

.sankaku{
width: 20px;
}

.batsu{
width: 20px;
}

p.h-text{
	
margin-bottom: 5px;
}





/* 比較表テキストボックス*/


.point-box {
  position: relative;
  border: 2px solid #009ddb; 
  border-radius: 4px; 
  margin: 30px 0px; 
  padding: 15px 15px;
}

.point-title {
  position: absolute;
  padding: 0 10px;
  left: 20px;
  top: -17px; 
  font-weight: bold;
  font-size:100%; 
  background-color: #ffffff;
　margin-bottom: 10px;
}


/* よくある質問*/


.faq {
    background: #f5f5f5;
    padding: 15px 10px 15px;
    margin: 20px 0
}

.faq-title {
    position: relative;  /* 追加 */
    margin: 0 0 0 35px;
    padding-bottom: 5px;
	padding-left: 10px;
}


.faq-q {
    color: #009ddb;
    position: absolute;
    top: -10px;
    left: -25px;
	font-size: 140%;
  font-weight: bold;
	padding-right: 30px; 

}


	
.faq-a {
	color: #009ddb;
	position: absolute;
	top: 11px;
	left: -26px;
  font-size: 140%;
  font-weight: bold;
}
	
.faq-contents {
  margin-top: 15px;
}
	
.faq-contents {
    background: #fff;
    font-size: 1rem;
    line-height: 1.8rem;
    padding: 15px 10px
}


.faq-contents p.answer-text {
  position: relative;
}
	
.faq-contents p.answer-text {
  padding: 12px 0px 12px 15px;
  width: calc(100% - 54px);
  left: 30px;
}




/* ボトムリンク*/

.b-link {
margin-top: 20px;
font-size: 90%;
text-align: center;
}

.b-link a{
text-decoration: none;
}


.b-link .bread-home{
    margin-right: 5px;
	margin-bottom: 5px;
	width: 13px;
	height: auto;

}





/* ご依頼の流れ*/

.request_flow_con{
margin-bottom: 30px;
}

.request_flow {
  display: flex;
  justify-content: center;
  align-items: center;
}

.rq-flow {
  padding-left: 0;
}

.rq-flow > li {
  list-style-type: none;
  display: flex;
}

.rq-flow > li:not(:last-child) {
  margin: 0 0 50px;
}

.rq-flow > li .icon {

  width: 90px;
  box-sizing: border-box;
  padding: 38px 10px 10px;
  font-weight: bold;
  text-align: center;
  background: #009ddb;
  border-radius: 5px 5px 0 0;
  position: relative;
  line-height: 125%;
  margin: 0;
font-size: 80%;
}
.rq-flow > li .icon::after {
  content: ' ';
  width: 0;
  height: 0;
  border-left: 45px solid transparent;
  border-right: 45px solid transparent;
  border-top: 20px solid #009ddb;
  position: absolute;
  bottom: -20px;
  left: 0;
}

.rq-flow > li .icon span {
  background: #ffffff;
  padding: 10px 7px;
  border-radius: 5px;
}


.rq-flow > li dl {
  padding: 0 0 0 30px;
  width: calc(100% - 115px);
}

.rq-flow > li dl dt {
  padding: 0 0 5px;
  margin: 0 0 15px;
  font-size: 1.2em;
  font-weight: bold;
  border-bottom: 4px solid #CCCCCC;
  position: relative;
}
.rq-flow > li dl dt::after {
  content: '';
  width: 20%;
  height: 4px;
  position: absolute;
  bottom: -4px;
  left: 0;
  background-color: #009ddb;
}

.rq-flow > li dl dd {
  margin: 0;
	height: 100px;
}


.rq-flow > li dl dt.step2::after {
  width: 40%; /* step2の幅を調整 */
}

.rq-flow > li dl dt.step3::after {
  width: 70%; /* step2の幅を調整 */
}

.rq-flow > li dl dt.step4::after {
  width: 100%; /* step2の幅を調整 */
}



/* 産業廃棄物一覧*/

.material-box { /*【div】囲み枠部分*/
  position: relative; /*必須*/
  margin: 72px 0px 32px; /*外側の余白*/
  padding: 20px; /*内側の余白*/
  border: 3px solid #009ddb; /*枠線）*/
  background: #fff; /*背景色*/
}
.material-box .box-title { /*【span】タイトル部分*/
  position: absolute; /*必須*/
  top: -60px; /*囲み枠の上を基準として外側（上）に40px移動*/
  left: 12px;  /*囲み枠の左を基準として内側（右）に12px移動*/
  line-height: 40px; /*行の高さ*/
  padding: 10px 20px; /*左右の余白*/
  background: #009ddb; /*背景色*/
  border-radius: 3px 3px 0 0; /*角丸（左上5px 右上5px 右下0 左下0）*/
  color: #fff; /*テキスト色*/
  font-weight: bold; /*フォント太字*/
  font-size: 100%; /*フォントサイズ変更*/
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4); /* テキストシャドウを追加 */
}
.material-box p { /*【p】本文部分*/
  margin: 0; 
  padding: 0;
}



/* 産業廃棄物リスク*/

.snp-legal-con {
    display: flex;
    justify-content: space-around;
	margin-bottom: 20px;
}

.lg-image-1,
.lg-image-2,
.lg-image-3 {
    display: flex;
    justify-content: center;
    align-items: center;
}

.lg-image-1 img,
.lg-image-2 img,
.lg-image-3 img {
    height: auto;
}

.lg-image-1 img,
.lg-image-3 img {
    width: 90%;
}

.lg-image-2 img {
	width: 70%;
}



/* 不用品回収悩み*/

.fuyohin-con-bk{
background-color: #E5E5E5;
border-radius: 8px;
}


.fuyohin-con-bk-2{
background-color: #ccebf7;
border-radius: 8px;
margin-bottom: 70px;
}

.fuyohin-con {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
margin-bottom: 30px;
}

.fuyohin-con-2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
margin-bottom: 30px;
}

.fuyohin-box {
  margin: 30px 10px 10px 10px;
  padding: 10px 10px;
  width: 43%;
  background-color: #ffffff;
  border-radius: 8px;
line-height: 1.5;
}

.fuyohin-box-2 {
  margin: 30px 10px 10px 10px;
  padding: 10px 10px;
  width: 43%;
  background-color: #ffffff;
  border-radius: 8px;
line-height: 1.5;
}

.fuyohin-box-3 {
  margin: 10px 10px 30px 10px;
  padding: 10px 10px;
  width: 43%;
  background-color: #ffffff;
  border-radius: 8px;
line-height: 1.5;
}


.fuyohin-box-4 {
  margin: 10px 10px 30px 10px;
  padding: 10px 10px;
  width: 43%;
  background-color: #ffffff;
  border-radius: 8px;
line-height: 1.5;
 position: relative;
}

.fuyohin-box-4-k {
  margin: 10px 10px 30px 10px;
  padding: 10px 10px;
  width: 43%;
  background-color: #ffffff;
  border-radius: 8px;
line-height: 1.5;
 position: relative;
}

.fuyohin-box h3{
margin-top: 5px;
margin-bottom: -20px;
margin-left: 5px;
}

.fuyohin-box-2 h3{
margin-top: 5px;
margin-bottom: -20px;
margin-left: 5px;
}

.fuyohin-box-3 h3{
margin-top: 5px;
margin-bottom: -20px;
margin-left: 5px;
}

.fuyohin-box-4 h3{
margin-top: 5px;
margin-bottom: -20px;
margin-left: 5px;
}

.fuyohin-box-4-k h3{
margin-top: 5px;
margin-bottom: -20px;
margin-left: 5px;
}

.overlay-fuyohin-image {
  position: absolute; /* 絶対位置を指定 */
  width: 90px;
  right: -15px; /* 右端に配置 */
  top: 100px; /* 下端からの位置を若干上に調整 */
}

.overlay-fuyohin-image-2 {
  position: absolute; /* 絶対位置を指定 */
  width: 110px;
  right: -13px; /* 右端に配置 */
  top: 100px; /* 下端からの位置を若干上に調整 */
}

.maru-b {color: #009ddb;
font-weight: bold;}



/*---------------------------------
アコーディオンテキストボックス
--------------------------------*/
.acbox-1 {
  width: auto;
  font-size: 0px;
  margin: 0 10px;
}

.acbox-1 label {
  width: auto;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  background: #ff9900;
  position: relative;
  display: block;
  padding: 8px;
  border-radius: 3px;
  cursor: pointer;
  color: #fff;
}

.acbox-1 label:hover {
  background: #ffad32;
}

.acbox-1 input {
  display: none;
}

.acbox-1 label:after {
  content: "";
  background: url("../images/button-link-arrow.png") no-repeat;
  background-size: contain; /* アイコンが画像内で適切にフィットするように */
  width: 18px; /* アイコンの幅を調整 */
  height: 18px; /* アイコンの高さを調整 */
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -7.5px; /* アイコンの高さの半分 */
  transition: transform 0.3s; /* 回転のアニメーション */
}

.acbox-1 input:checked ~ label::after {
  transform: rotate(90deg); /* 右に90度回転 */
}

.acbox-1 div {
  height: 0px;
  overflow: hidden;
  opacity: 0;
  transition: height 0.3s ease, opacity 0.3s ease; /* 開く際のアニメーション */
  transition-delay: 0s; /* 閉じる際の遅延をなくす */
}

.acbox-1 input:checked ~ div {
  height: auto; /* 実際のコンテンツの高さに合わせる */
  padding: 18px;
  border-radius: 0px;
  background: #f2f2f2;
  opacity: 1;
  transition: height 0.3s ease, opacity 0.3s ease; /* 開く際のアニメーション */
  transition-delay: 0s; /* 閉じる際の遅延をなくす */
}



.acbox-1 input:checked ~ label {
  background: #ff9900;
}

.acbox-under {
  font-size: 16px;
  color: #333333;
}





/*---------------------------------
会社概要
--------------------------------*/

.company-table {
width: 100%;
border-collapse: collapse;
}

.company-table th,td {
padding: 10px 15px;
border: 1px solid #ddd;
font-size: 100%;
}

.company-table th {
background: #f4f4f4;
width: 15%;
text-align: left;
font-size: 100%;
}





  .company-info {
    display: flex;
    align-items: flex-start; /* Align image to the top of the text */
  }
  .company-info img {
    max-width: 45%;
    height: auto;
    margin-left: 15px;
    border: 1px solid #eaeaea;
  }
  .company-info .address {
    flex: 1;
  }

/*---------------------------------
代表
--------------------------------*/


.ceo-con-1 {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2つのカラムを作成 */
    gap: 20px; /* カラム間の間隔 */
	margin-bottom: 10px;
}

.ceo-image-box-1 {
    max-width: 100%; 
    padding: 10px; 
}

.ceo-image-box-1 img {
    width: 100%; 
    height: auto;
	border: 1px solid #E5E5E5; 
}

.ceo-text-box-1 {
    max-width: 50%; 
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* テキストをボックスの下部に配置 */
	font-size: 120%;
	

}

.ceo-text-box-1 p {
    margin-top: auto; /* テキストを下部に配置 */
    margin-bottom: 70px; /* 下部のマージンを追加してテキストを上に移動させる */
	font-weight: bold;
}





.ceo-con-2 {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2つのカラムを作成 */
    gap: 20px; /* カラム間の間隔 */
	margin-bottom: 10px;
}

.ceo-image-box-2 {
    max-width: 100%; 
    padding: 10px; 
    order: 2; /* 画像を2番目に配置 */
}

.ceo-image-box-2 img {
    width: 100%; 
    height: auto;
	border: 1px solid #E5E5E5; 

}

.ceo-text-box-2 {
    max-width: 60%;   /* より広い最大幅を持つように調整 */
    padding: 10px 10px 10px 30%;  /* 左側のパディングを増やしてテキストを右にシフト */
    display: flex;
    flex-direction: column;
    justify-content: flex-end; 
    font-size: 120%;
}


.ceo-text-box-2 p {
    margin-top: auto; /* テキストを下部に配置 */
    margin-bottom: 70px; /* 下部のマージンを追加してテキストを上に移動させる */
    font-weight: bold;
}







.ceo-con-3 {
    display: grid;
    grid-template-columns: repeat(2, 1fr); /* 2つのカラムを作成 */
    gap: 20px; /* カラム間の間隔 */
	margin-bottom: 10px;
}

.ceo-image-box-3 {
    max-width: 100%; 
    padding: 10px; 
}

.ceo-image-box-3 img {
    width: 70%; 
    height: auto;
	border: 1px solid #E5E5E5; 
}

.ceo-text-box-3 {
    max-width: 90%;  /* テキストボックスの幅を狭くする */
    margin-left: -15%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    font-size: 110%;
}


.ceo-text-box-3 p {
    margin-top: auto; /* テキストを下部に配置 */
    margin-bottom: 70px; /* 下部のマージンを追加してテキストを上に移動させる */
	font-weight: bold;
}




/* お客様事例 */


.case-wrapper {
  display: flex;
  flex-wrap: wrap;
}

.case-table-wrapper {
  flex: 1;
  margin-right: 20px; 
  align-self: start;
}

.case-image {
  flex: 1;
  min-width: 50%;
  display: flex;
  justify-content: flex-end;
  align-self: start;
}
.case-image img {
  max-width: 65%;
  height: auto;  
  display: block;
}

.case-table {
  width: 135%;
  border-collapse: collapse;
}

.case-table th, td {
  padding: 10px 15px;
  border: 1px solid #ddd;
  font-size: 100%;
}

.case-table th {
  background: #f4f4f4;
  width: 40%;
  text-align: left;
  font-size: 100%;
}


.case-tx-box-wrapper {
    display: flex;
    justify-content: center; /* 横方向の中央揃え */
    align-items: center; /* 縦方向の中央揃え（必要に応じて） */
}

.case-tx-box {
 padding: 10px 20px;
 width: 98%;
 background-color: #f4fbfd; /* 背景色 */
 border: 1px solid #009ddb; /* 枠線 */
margin: 0 0 20px 0;
    font-size: 95%;
  border-radius:8px;
}






/* プライバシー*/



.privacy a {
font-size: 85%;
  text-decoration: none;
}

.p-arrow {
  width: 25px;
  height: auto;
  margin-right: -3px;
  margin-top: -3px; /* ピクセル値は適宜調整 */
}









.container-c {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.box-c {
  padding: 20px;
  border: 1px solid #ccc;
  width: 310px; /* 任意の幅に設定 */
margin-bottom: 20px; /* タイトルとリストの間の間隔 */
}

.left-box-c {
  background-color: #f2f2f2;
}

.right-box-c {
  background-color: #e5f7fd;
}

.arrow-c {
  width: 0; 
  height: 0; 
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 20px solid black; /* 矢印の色とサイズ */
}

.box-title-c {
  text-align: center;
  margin-bottom: 10px; /* タイトルとリストの間の間隔 */
  font-size: 25px; /* タイトルのフォントサイズ */
  font-weight:bold;
}

.icon-c {
  width: 50px; /* アイコンのサイズ */
  height: auto;
  margin-right: 5px; /* テキストとアイコンの間隔 */
  vertical-align: middle; /* アイコンの配置 */
}

.container-c .box-c li {
  background-color: #ffffff; /* li要素の背景色 */
  padding: 10px; /* 適切なパディングを設定 */
  margin: 10px 0; /* 上下に間隔を設定 */
  list-style-type: none; /* リストのスタイルをなしに */
  display: flex; /* アイコンとテキストをフレックスボックスモデルで整列させる */
  align-items: center; /* アイテムを中央揃えに */
  border: 1px solid #ccc; /* 境界線を追加する場合 */
  box-shadow: 0px 2px 4px rgba(0,0,0,0.1); /* 軽い影を追加する場合 */
}


.text-c {
font-size: 19px; /* タイトルのフォントサイズ */
  background-color: #ffffff; /* テキストの背景色 */
  padding: 2px 5px; /* テキストのパディング */
font-weight:bold;
}



.box-c.right-box-c .njyumaru {
  width: 40px; /* 希望する幅に設定 */
  height: auto; /* 高さを自動調整してアスペクト比を保持 */
    margin-right: 5px;
}



.reduction-container {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.reduction-circle {
  background-color: #f2f2f2; /* グレーの背景色 */
  border-radius: 50%; /* 円形にする */
  width: 200px; /* 円のサイズを設定 */
  height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px; /* 内側の余白 */
position: relative; /* 円形コンテナに相対位置を設定 */
  overflow: hidden; /* はみ出した画像を非表示に */
  border: 2px solid #ccc; /* 細い灰色の枠線 */

}

.reduction-icon {
  width: 50%; /* コンテナの幅に合わせて画像を広げます */
  height: auto; /* 高さは自動調整します */
  object-fit: contain; /* 画像がコンテナ内に収まるようにします */
  border-radius: 50%; /* もし画像を円形にしたい場合はこれを追加します */
  margin-bottom: 0px; /* 画像の下の間隔 */

}

.reduction-text {
  text-align: center;
  margin-top: -10px; /* アイコンとテキストの間のスペース */
  color: #333; /* テキストの色 */
  font-size: 14px; /* テキストのフォントサイズ */
font-weight:bold;
}





.reduction-triangle {
  width: 0;
  height: 0;
  border-left: 20px solid transparent; /* 左側の透明なボーダー */
  border-right: 20px solid transparent; /* 右側の透明なボーダー */
  border-top: 20px solid #ccc; /* 上向きのボーダー（三角形の色） */
  margin: 0 auto; /* 左右のマージンをautoに設定して中央揃え */
  margin-top: 20px; /* 上部の間隔 */


}

.reduction-solution {
  text-align: center; /* テキストを中央揃えにする */
  font-weight: bold; /* フォントを太くする */
  font-size: 18px; /* フォントサイズを設定 */
  color: #333; /* テキストの色を設定 */
  margin-top: 20px; /* 矢印との間隔 */
}


.reduction-item {
  display: flex; /* Flexコンテナとして設定 */
  flex-direction: column; /* 子要素を縦に並べる */
  align-items: center; /* 中央揃え */
}


.reduction-solution-text {
  text-align: center; /* 中央揃え */
  font-weight: bold; /* テキストを太字に */
  font-size: 18px; /* テキストのサイズを指定 */
  color: #333; /* テキストの色を指定 */
  margin-top: 20px; /* 最後の矢印要素との間隔 */
}








.eco-center-box {
  text-align: center; /* コンテントを中央に揃える */
  padding-bottom: 20px; /* 下部に余白を追加 */
}

.eco-center-box img {
  display: inline-block; /* インラインブロック表示に設定 */
  margin-top: 10px; /* 上部に余白を追加 */
  margin-bottom: 10px; /* 下部に余白を追加 */
}


/* 画像テキスト回り込み */

.eco_float_wrap{
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}

.eco_float_top_img{
  display: block;
  float: left;
  margin-right: 20px; 
  width: 50%;
  border: 1px solid #c1c1c1; 
}
 
.eco_float_img{
  display: block;
  float: left;
  margin-right: 20px; 
  width: 35%;
  border: 1px solid #c1c1c1; 
}

.eco_float_area_img {
  display: block;
  float: left;
  margin-right: 20px;
  width: calc(45% - 10px); /* paddingとborderの分を差し引いて調整 */
  border: 1px solid #333333; /* 1ピクセルの黒い枠線 */
  padding: 15px; /* 上下左右に5ピクセルの余白を追加 */
  box-sizing: border-box; /* borderとpaddingをwidthに含める */
}

 
.eco_float_text{
  line-height: 1.5;
  text-align: justify;
  width: 100%;
}


.eco_float_i_img{
  display: block;
  float: left;
  margin-right: 20px; 
  width: 35%;
}



.s-text {
font-size: 85%;
}


/* お知らせ */

.t_center {
 text-align: center; /*画像の位置*/
}


.kos {
	background-color: #FFF;	/*背景色（古いブラウザだとここの色のみが出ます）*/
	font-size: 110%;
		font-weight: bold;	/*文字を太字にする設定。通常がいいならこの１行削除。*/
    padding: 4px 15px;	/*左から、上下、左右への余白*/
	border-radius: 0px;	/*角丸のサイズ*/
	clear: both;
	border: 3px solid #00a0e9;	/*枠線の幅、線種、色*/
	text-align:center
}






ul.notice {
  display: flex;
  flex-flow: row wrap;
  border-bottom: 1px dotted #999;
  padding: 10px 0;
  margin: 0 0 20px 0;
}

ul.notice li {
  display: block;
  font-size: 80%;
  font-weight: bold;
  margin: 10px 10px;
}

/* 2行構成：1行目（ラベル等）を固定幅＋オレンジ強調 */
ul.notice li:nth-child(1) {
  flex-basis: 130px;
  color: #fff;
  padding: 0 10px;
  text-align: center;
  background-color: #FFA719;
}

/* 2行目（本文）は可変幅で少し大きめ */
ul.notice li:nth-child(2) {
  flex-basis: auto;
  font-size: 90%;
}




/*画面幅1025px以上の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

@media (min-width: 1025px) {
    .parent{
        float: right;    /*右に回り込み*/
        width: 75%;        /*幅*/
    }

    .main {
        float: right;    /*右に回り込み*/
        width: 88%;        /*幅*/
        overflow: hidden;
        background: #fff;	/*背景色*/
        padding: 40px 50px 20px;
        box-shadow: 0px 1px 7px 0px rgba(0, 0, 0, 0.1);
        margin-bottom: 30px;
        border: 1px solid #f7f7f7;
    }
    
  .case-b {
    border: 1px solid #b2b2b2; /* 枠線 */
    border-radius: 5px;
    padding: 5% 5%;
    margin-bottom: 40px;
  }


}

/* 画面幅が961px以上かつ1024px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (min-width: 961px) and (max-width: 1199px) {
  .parent {
    float: right; /*右に回り込み*/
    width: 75%; /*幅*/
  }

  .main {
    float: right; /*右に回り込み*/
    width: 88%; /*幅*/
    overflow: hidden;
    background: #fff; /*背景色*/
    padding: 40px 50px 20px;
    box-shadow: 0px 1px 7px 0px rgba(0, 0, 0, 0.1);
    margin: 0 -10px 0;
    margin-bottom: 30px;
    border: 1px solid #f7f7f7;
  }

  .case-b {
    border: 1px solid #b2b2b2; /* 枠線 */
    border-radius: 5px;
    padding: 5% 5%;
    margin-bottom: 40px;
  }
    
    .sub .box1 {
	padding: 10px;			/*ボックス内の余白*/
    margin: 0 10px 0;
    }
    
/*サイドメニューinformation*/

.sub .info-data {
	padding: 15px;			/*ボックス内の余白*/
    margin: 20px 10px 20px;
	background: #ffffff;	/*背景色。rgbaは色設定で0,0,0は黒。0.02は透明度2%の事。*/
	border: solid 2px #009ddb;	/*線の線種、幅、色*/
	box-shadow: 0px 0px 1px 1px #fff inset;	/*ボックスの影。内側に白のラインを入れる。*/
}

.information p{
font-size:88%;
}	

.info-data .tel-icon {
    width: 30px;
    height: auto;
	margin-bottom: 8px;
    margin-right: 10px;
}

.info-data .mail-icon {
    width: 32px;
    height: auto;
	margin-bottom: 3px;
    margin-right: 9px;
}

body {
	font-size: 96%;	/*文字サイズ*/
}

  .floating-banner {
    display: none; /* スマホやタブレットではバナーを非表示に */
  }
    
    


}





/*画面幅960px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/


@media screen and (max-width: 960px) {
  /*inner共通
---------------------------------------------------------------------------*/
  .inner {
    width: auto;
  }

  /*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
  /*ロゴ画像*/
  header #logo img {
    width: 250px; /*画像幅*/
  }

  /*PC用メニューを非表示にする*/
  #menubar {
    display: none;
  }
  /*スマホ用メニューを非表示から表示に切り替える*/
  /*スマホ用メニュープルダウン*/
  #menubar-s {
    display: block;
    overflow: visible;
    position: absolute;
    border-top: 1px solid #fff;
    width: 100%;
    z-index: 10;
    animation-name: menu1;
    animation-duration: 0.1s;
    animation-fill-mode: both;
  }

  #menubar-s li a {
    display: flex; /* 追加：フレックスボックスにします */
    justify-content: flex-end; /* 追加：アイテムを右に寄せます */
    align-items: center; /* 追加：テキストと画像を中央揃えにします */
    text-decoration: none;
    padding: 15px 5%;
    border-bottom: 1px solid #cecece;
    background: #fff;
    color: #333333;
    font-size: 110%;
    font-weight: bold;
  }

  #menubar-s li a img {
    margin-left: 10px; /* 画像とテキストの間にスペースを設けます */
    width: 15px; /* 画像の幅を指定 */
    height: 15px; /* 画像の高さを指定 */
  }
  #menubar-s a i {
    margin-right: 5px;
    font-size: 120%;
  }

  .dropdown .submenu {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 80%;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 1;
    right: 0;
    border: 1px solid #9ddb00; /* 追加 */
    border-radius: 5px; /* 追加 */
  }

  .dropdown .submenu a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
  }

  .dropdown .submenu a:hover {
    background-color: #f1f1f1;
  }

  .dropdown:hover .submenu {
    display: block;
  }

  .dropdown-item a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    text-decoration: none;
    color: #000000;
  }

  .dropdown-item a i {
    margin-right: 5px;
    font-size: 110%;
  }

  .dropdown a img {
    margin-left: 10px; /* 画像とテキストの間にスペースを設けます */
    width: 10px; /* 画像の幅を指定 */
    height: 10px; /* 画像の高さを指定 */
  }

  #menubar-s .dropdown .close-icon {
    margin-right: 5px;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    object-fit: cover;
  }

  #menubar-s .close-icon {
    margin-right: 5px;
    vertical-align: middle;
    width: 15px;
    height: 15px;
    object-fit: cover;
  }

  /*３本バーアイコン設定
---------------------------------------------------------------------------*/
  /*３本バーブロック*/
  #menubar_hdr {
    display: block;
    position: absolute;
    top: 7%; /*上から3%の場所に配置*/
    right: 4%; /*右から3%の場所に配置*/
  }
  /*アイコン共通設定*/
  #menubar_hdr.close,
  #menubar_hdr.open {
    width: 50px; /*幅*/
    height: 50px; /*高さ*/
    border: 1px solid #000; /*枠線の幅、線種、色*/
  }
  /*三本バーアイコン*/
  #menubar_hdr.close {
    background: #fff url(../images/icon_menu.png) no-repeat center top/50px;
  }
  /*閉じるアイコン*/
  #menubar_hdr.open {
    background: #fff url(../images/icon_menu.png) no-repeat center bottom/50px;
  }

  /*コンテンツ（mainとsubを囲むブロック）
---------------------------------------------------------------------------*/
  .contents {
    padding: 3%;
  }

  /*listブロック（※２カラムも３カラムと１列レイアウトと同じように設定しなおす）
---------------------------------------------------------------------------*/
  /*listブロック設定*/
  .list {
    margin: 0 !important;
    padding: 4% !important;
    float: none !important;
    width: auto !important;
    box-shadow: none;
    border-top: 1px solid #ccc;
  }
  .list:last-of-type {
    border-bottom: 1px solid #ccc;
    margin-bottom: 20px !important;
  }
  /*h4タグ設定*/
  .list h4 {
    font-size: 150% !important;
  }
  /*段落タグ設定*/
  .list p {
    font-size: 100% !important;
    line-height: 1.8 !important;
    height: auto !important;
  }

  /*main,subコンテンツ
---------------------------------------------------------------------------*/
  .main,
  .sub {
    float: none;
    width: auto;
  }

  /*PAGE TOP設定
---------------------------------------------------------------------------*/
  #pagetop {
    margin-right: 3%;
  }

  /*その他
---------------------------------------------------------------------------*/
  body.s-n .sub,
  body.s-n #footermenu,
  #footer-logo,
  .m-n {
    display: none;
  }
  .pc {
    display: none;
  }

  /* スマホや小さなデバイス用のスタイル */

  .eco_float_top_img {
    display: block;
    float: left;
    margin-right: 20px;
    width: 100%;
    border: 1px solid #c1c1c1;
    margin-bottom: 10px;
  }

  .eco_float_img {
    float: none;
    margin-right: 0;
    width: 100%; /* 画像をフル幅で表示 */
    margin-bottom: 10px;
  }

  .eco_float_area_img {
    float: none;
    margin-right: 0;
    width: 100%; /* 画像をフル幅で表示 */
    margin-bottom: 10px;
  }

  .eco_float_text {
    width: 100%; /* テキストもフル幅で表示 */
  }

  .floating-banner {
    display: none; /* スマホやタブレットではバナーを非表示に */
  }

  /* どちらも非表示 */
  .pc {
    display: none !important;
  }
  .sp {
    display: none !important;
  }

  /* どちらも非表示 */
  .pc {
    display: none !important;
  }
  .sp {
    display: none !important;
  }

  /* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
  .pc {
    display: none !important;
  }
  .lp {
    display: block !important;
  }

  .image-rank-box {
    display: flex;
    justify-content: center;
  }

  .image-rank-box img {
    width: 20%; /* 1行に5つの画像が収まるように20%を指定 */
    height: auto; /* 画像の比率を保つためにautoを指定 */
    object-fit: cover;
    margin: 2%; /* 余白もパーセンテージで指定 */
  }

  /* ===================================
     レイアウト & ボックスモデル
     =================================== */
  /* 960px以下で適用されるスタイル */

  .top-banner-content-home img {
    border: none;
    max-width: 90%;
    height: auto;
    vertical-align: middle;
  }

  .dropdown .submenu {
    display: none; /* 通常はサブメニューを非表示 */
  }

  .dropdown:hover .submenu {
    display: block; /* hover時にサブメニューを表示 ドロップダウンメニュー対策*/
  }

  .breadcrumb {
    margin: 0px 0 20px 10px;
    font-size: 85%;
  }

  .breadcrumb-2 {
    margin: 0 0 5px 0px;
    font-size: 85%;
  }

  .ceo-image-box-2 img {
    width: 60%;
    height: auto;
    border: 1px solid #e5e5e5;
    display: block; /* ← 重要 */
    margin: 0 auto; /* 左右中央寄せ */
    float: none; /* 他所で float 指定されていた場合に備えて */
  }

  .ceo-image-box-3 img {
    width: 60%;
    height: auto;
    border: 1px solid #e5e5e5;
    display: block; /* ← 重要 */
    margin: 0 auto; /* 左右中央寄せ */
    float: none; /* 他所で float 指定されていた場合に備えて */
  }

  /*フッターメニュー
---------------------------------------------------------------------------*/
  /*ボックス全体*/
  #footermenu {
    display: none;
  }

  .info-space {
    float: none;
    margin-top: 10px;
  }

  .info-banner {
    width: 100%;
    border: 1px solid #e5e5e5;
    box-sizing: border-box;
    margin-top: 5px;
  }

  .ft-info-boxes {
    display: flex;
    justify-content: space-between;
    gap: 3px;
    margin-top: 15px;
  }

  .info-box {
    font-size: 70%;
    flex-direction: column;
    align-items: center;
    text-align: center;
    line-height: 1.4;
    margin: -10px 0 20px 0;
    padding: 10px 0 0.1px 0;
    border: 1px solid #e5e5e5;
  }

  .info-box img {
    width: 45%;
    display: block;
    margin: 0 auto 25px auto;
  }

  .text-container p {
    margin: 0;
    font-weight: bold;
    font-size: 100%;
  }

  .cate-b-text {
    text-align: center;
    font-size: 120%;
    font-weight: bold;
    margin: 7px 0 20px 0;
    line-height: 2.1;
    text-decoration-line: underline;
    text-decoration-color: #9ddb00;
    text-decoration-thickness: 5px;
    text-underline-offset: 9px;
  }

  /* 横幅60%のテキストボックスを全幅・中央揃えに */
  .textbox-60 {
    width: 100%;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  /* 外側の箱だけ縦並びにする */
  .japan-box,
  .content-textbox,
  .content-textbox-2,
  .content-textbox-3,
  .content-textbox-4,
  .company-info,
  .container-c {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 70%;
    margin-inline: auto;
  }

  /* 親で中央寄せ */
  .category-textbox {
    display: block;
    width: 100%;
    margin: 0;
    text-align: center;
  }

  /* Gridコンテナを1カラムに変更 */
  .ceo-con-1,
  .ceo-con-2,
  .ceo-con-3 {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  /* floatを解除して縦並びにする */
  .eco_float_top_img,
  .eco_float_img,
  .eco_float_area_img {
    display: block;
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .eco_float_top_img {
    border: 1px solid #c1c1c1;
  }
  .eco_float_text {
    width: 100%;
  }

  /* 各種ボックスの幅とマージン */
  .fuyohin-box {
    width: 90%;
    margin: 30px 20px 10px 20px;
  }
  .fuyohin-box-2,
  .fuyohin-box-3 {
    width: 90%;
    margin: 10px 20px 10px 20px;
  }
  .fuyohin-box-4,
  .fuyohin-box-4-k {
    width: 90%;
    margin: 10px 20px 30px 20px;
  }

  .img-4-con {
    width: 95%;
  }

  .grid-line-box-2 {
    margin: 10px auto;
    padding: 10px;
    width: 70%;
    background-color: #f9f9f9;
    border: 3px solid #e5e5e5;
    font-size: 95%;
    font-weight: bold;
    text-align: center;
  }

  .box-c {
    width: 100%;
    margin-bottom: 10px;
    box-sizing: border-box;
  }

  /* ===================================
     要素の幅とテキスト
     =================================== */
  .japan-box .japan-image,
  .japan-box .japan-text,
  .category-textbox .content-text,
  .content-textbox img,
  .content-textbox .content-text,
  .company-info .address {
    width: 100%;
    text-align: center;
  }

  .content-textbox-2 img,
  .content-textbox-3 img,
  .content-textbox-4 img {
    width: 80%;
  }

  .content-textbox-2 .content-text-2,
  .content-textbox-3 .content-text-3,
  .content-textbox-4 .content-text-4 {
    width: 90%;
  }
  .content-textbox-4 {
    font-size: 80%;
  }

  .s-content-textbox {
    align-items: flex-start;
  }
  .s-content-textbox img {
    width: 26%;
    border: 3px solid #e5e5e5;
    box-shadow: 5px 5px 8px rgba(0, 0, 0, 0.1);
  }
  .s-content-textbox .s-content-text {
    width: 70%;
  }

  /* ===================================
     画像とアイコン
     =================================== */
  .category-textbox img {
    width: 40%;
    height: auto;
    margin-left: 0;
  }

  .company-info img {
    max-width: 80%;
    width: 100%;
    margin: 15px 0;
  }

  .ceo-image-box-1,
  .ceo-image-box-2,
  .ceo-image-box-3 {
    max-width: 100%;
  }
  .ceo-image-box-3 {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* 画像を重ねて表示 */
  .overlay-fuyohin-image {
    position: absolute;
    width: 70px;
    right: -15px;
    top: 80px;
  }
  .overlay-fuyohin-image-2 {
    position: absolute;
    width: 90px;
    right: -13px;
    top: 90px;
  }

  /* ===================================
     順序の変更 (order)
     =================================== */
  .category-textbox img {
    order: 2;
  }
  .category-textbox .content-text {
    order: 1;
  }

  .ceo-image-box-1,
  .ceo-image-box-2,
  .ceo-image-box-3 {
    order: -1;
  }

  .arrow-c {
    order: 2;
    align-self: center;
    margin: 20px 0;
    transform: rotate(90deg);
  }
  .left-box-c {
    order: 1;
  }
  .right-box-c {
    order: 3;
  }

  /* ===================================
     吹き出しデザイン (speech bubble)
     =================================== */
  .speech-left,
  .speech-right {
    margin-bottom: 10px;
  }
  .speech-left:after,
  .speech-right:after,
  .talk:before {
    clear: both;
    content: "";
    display: block;
  }

  /* -- 顔アイコン -- */
  .speech-face-left,
  .speech-face-right {
    margin-top: -1px;
    width: 25%;
    padding-top: 25%;
    height: 0;
    display: flex;
    justify-content: center;

    align-items: center;
    border: 4px solid #669934;
    border-radius: 50%;
    position: relative;
    overflow: hidden;
  }
  .speech-face-left {
    float: left;
    margin-left: 2px;
  }
  .speech-face-right {
    float: right;
    margin-right: 2px;
  }

  .speech-face-left img,
  .speech-face-right img {
    width: 70%;
    height: auto;
    object-fit: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  /* -- 吹き出し本体 -- */
  .speech-txt-left,
  .speech-txt-right {
    color: #000000;
    position: relative;
    padding: 0.6em 0.8em;
    border: 4px solid #669934;
    background-color: #fff;
    border-radius: 5px;
  }
  .speech-txt-left {
    margin-left: 115px;
  }
  .speech-txt-right {
    margin-right: 115px;
  }

  .speech-txt-left:before,
  .speech-txt-left:after {
    top: 24px;
    left: -20px;
    content: "";
    position: absolute;
    border: 10px solid transparent;
  }
  .speech-txt-left:before {
    border-right: 10px solid #669934;
  }
  .speech-txt-left:after {
    border-right: 10px solid #fff;
    left: -16px;
  }

  .speech-txt-right:before,
  .speech-txt-right:after {
    top: 24px;
    right: -20px;
    content: "";
    position: absolute;
    border: 10px solid transparent;
  }
  .speech-txt-right:before {
    border-left: 10px solid #669934;
  }
  .speech-txt-right:after {
    border-left: 10px solid #fff;
    right: -16px;
  }

  /* -- 吹き出し内テキスト -- */
  p.speech-text-left,
  p.speech-text-right {
    margin: 0 0 8px;
  }
  p.speech-text-left:last-child,
  p.speech-text-right:last-child {
    margin-bottom: 0px;
  }

  .speech-info-left {
    margin: 20px 0 -5px 0;
    font-size: 95%;
  }
  .speech-info-right {
    margin: 20px 0px -10px 0;
    font-size: 95%;
    text-align: right;
  }

  /* ===================================
     テキスト & フォント
     =================================== */
  .ft-link {
    font-size: 14px;
    margin: 0 0 15px 0;
    text-decoration: none;
  }

  .cate-b-text {
    text-align: center;
    font-size: 120%;
    font-weight: bold;
    margin: 7px 0 20px 0;
    line-height: 2.1;
    text-decoration-line: underline;
    text-decoration-color: #9ddb00;
    text-decoration-thickness: 5px;
    text-underline-offset: 9px;
  }

  .ceo-text-box-1,
  .ceo-text-box-2,
  .ceo-text-box-3 {
    padding: 0;
    margin: 0;
    max-width: 100%;
    justify-content: center;
    align-items: center;
  }
  .ceo-text-box-1 p,
  .ceo-text-box-2 p,
  .ceo-text-box-3 p {
    margin-bottom: 0px;
  }

  .rbn {
    font-size: 110%;
    width: 90%;
    line-height: 1;
  }

  /* ===================================
     その他・特殊要素
     =================================== */
  ul.ct_list li.special-item:after {
    top: 2.4em; /* 表示位置を下に調整 */
  }

  .reduction-circle {
    background-color: #f2f2f2;
    border-radius: 50%;
    width: 65px;
    height: 65px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 20px;
    position: relative;
    overflow: hidden;
  }
  .reduction-icon {
    display: none;
  }
  .reduction-text {
    font-size: 13px;
    margin: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: normal;
    transform: translate(-50%, -50%) translateY(10%);
  }
}




/*画面幅767pxpx以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width: 767px) {
.image-rank-box {
  display: flex;
  justify-content: center;
}

.image-rank-box img {
  width: 20%; /* 1行に5つの画像が収まるように20%を指定 */
  height: auto; /* 画像の比率を保つためにautoを指定 */
  object-fit: cover;
  margin: 2%; /* 余白もパーセンテージで指定 */
}
    
    
.info-space {
    float: none;
    margin-top: 10px;
  }

  .info-banner {
    width: 100%;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
    margin-top: 5px;
  }

  .ft-info-boxes {
    display: flex;
    justify-content: space-between;
    gap: 3px;
    margin-top: 15px;
  }

  .info-box {
    font-size: 70%;
    flex-direction: column;
    align-items: center;
    text-align: center;
    line-height: 1.4;
    margin: -10px 0 20px 0;
    padding: 10px 0 0.1px 0;
    border: 1px solid #E5E5E5;
  }

  .info-box img {
    width: 45%;
    display: block;
    margin: 0 auto 25px auto;
  }
    
  .text-container p {
    margin: 0;
    font-weight: bold;
    font-size: 100%;
  }
}




/* スマートフォン用のスタイル */
@media (max-width: 767px) {
  .container li {
    margin: 10px; /* スマートフォン用のボックス同士の間隔を設定 */
    width: 30%; /* 3列表示にするために幅を調整 */
	font-size: calc(130% - 2px);

    
  }
}



/* アニメーションテスト２*/

@media screen and (min-width: 751px) {
  .pie-chart-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}



@media screen and (min-width: 751px) {
  .box-a + .box-a {
    margin-left: 20px;
  }
}




/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}



@media only screen and (max-width: 750px) {
#headercatch {
	position: absolute;
	width: 60%;
	left: 12%;		/*header のinnerに対して左から3%の場所に配置*/
	bottom:60px;	/*header のinnerに対して下から50pxの場所に配置*/
}
	
}


@media screen and (max-width: 750px) {
  .box-a {
    width: 100%;
  }
}

@media screen and (max-width: 750px) {
  .box-a + .box-a {
    margin-top: 20px;
  }
}



/* タブレットデバイス用：ビューポートの幅が601px以上960px以下の場合 */
@media (min-width: 601px) and (max-width: 960px) {
  .img-box-kojyo,
  .img-box-office,
  .img-box-soko,
  .img-box-clinic,
  .img-box-school,
  .img-box-store,
  .img-box-kensetsu {
    width: calc(60% - 20%); /* ブロックの幅を60%に変更し、マージンを差し引く */
  }

	.row {
  margin-bottom: 0;
}

/*ロゴ画像*/
header #logo img {
	width: 250px;	/*画像幅*/
	position: absolute;
	top: 23px;	/*ヘッダーに対して上から23pxの場所に配置*/
    left:5%;
}

h1.hdtl{
font-size:14px;
position: relative;
left:5%;		/*ヘッダーに対して左から13%の場所に配置*/
top: 10px;
}

#headertel img{
  max-width:70%;       /* 親幅を上限に縮む */
  height:auto;          /* 縦は自動で比率維持 */
position: relative;
left:50%;		/*ヘッダーに対して左から13%の場所に配置*/
top: -10px;
}

    

}



/*画面幅600px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

@media only screen and (max-width: 600px) {
    
body {
	font-size: 17px;	/*文字サイズ*/
    letter-spacing: 0.01em;
	line-height: 1.7;		/*行間*/
}
    

/* Flexboxコンテナを縦並びに変更 */
  .japan-box,
  .category-textbox,
  .content-textbox,
  .content-textbox-2,
  .content-textbox-3,
  .content-textbox-4,
  .company-info,
  .container-c {
    flex-direction: column;
    align-items: center;
    width:100%;
  }
    

  .top-cont {
    position: relative;
    width: 100%;
    height: 120px;
    background-position: center;
    background-size: cover;
    background-color: #009ddb;
  }

  .top-banner-cont {
    position: relative;
    width: 100%;
    height: 120px;
    background-image: url('../images/guide-top-b.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }

  .company-banner-cont {
    position: relative;
    width: 100%;
    height: 120px;
    background-image: url('../images/company-b.jpg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
  }

  .overlay {
    position: absolute;
    top: 50%;
    left: 0;
    height: 120px;
    width: 100%;
    background: rgba(0, 147, 214, 0.3);
    transform: translateY(-50%);
  }

  .centered-text {
    width: 100%;
    font-size: 180%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  }

  .hd-space {
    float: none;
    width: 100%;
  }

  .info-space {
    float: none;
    margin-top: 10px;
  }

  .info-banner {
    width: 100%;
    border: 1px solid #E5E5E5;
    box-sizing: border-box;
    margin-top: 5px;
  }

  .ft-info-boxes {
    display: flex;
    justify-content: space-between;
    gap: 3px;
    margin-top: 15px;
  }

  .info-box {
    font-size: 70%;
    flex-direction: column;
    align-items: center;
    text-align: center;
    line-height: 1.4;
    margin: -10px 0 20px 0;
    padding: 10px 0 0.1px 0;
    border: 1px solid #E5E5E5;
  }

  .info-box img {
    width: 45%;
    display: block;
    margin: 0 auto 25px auto;
  }

  .text-container p {
    margin: 0;
    font-weight: bold;
    font-size: 100%;
  }

  .container-1 {
    padding: 0;
    margin-bottom: 15px;
  }

  .container-1 li {
    border: 4px solid #0093d6;
    width: 100px;
    height: 100px;
    font-size: 110%;
    line-height: 1.5;
    padding: 15px;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.09);
  }
  
  li.boxsize-2 {
    text-align: center;
    font-size: 90%;
  }

  .container-2 {
    display: block;
  }

  .container-2 div {
    width: 50%;
    margin: 20px auto;
  }

  .container-2 div img.pt1,
  .container-2 div img.pt2,
  .container-2 div img.pt3 {
    display: block;
    width: 30%;
    margin: 0 auto;
  }

  .container-3 {
    flex-direction: column-reverse;
    align-items: center;
  }

  .image-container-3,
  .text-container-3 {
    font-size: 90%;
    width: 100%;
    text-align: center;
  }

  .image-container-3 img {
    margin-top: 0px;
    margin-right: 0;
  }

  .text-container-3 {
    margin-right: 0;
    margin-top: 20px;
  }

  .container-4 {
    padding: 0 0 0;
    margin-bottom: 15px;
  }

  .container-4 li {
    width: 100px;
    height: 100px;
  }

  .container-4 li img {
    position: absolute;
    max-width: 60%;
    max-height: 60%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  .image-con-4-box {
    flex: 1 0 35%;
    margin: 1%;
  }
  
  .ct-bn {
    text-align: center;
  }

  .ct-bn img {
    margin-bottom: 30px;
    width: 100%;
  }

  .sl {
    font-size: 110%;
  }
  
  .e-title {
    font-size: 180%;
    padding: 15px 0;
  }

  .e-title i {
    margin-left: 10px;
    color: #669934;
    font-size: 140%;
  }

  .big-sol {
    font-size: 140%;
    font-weight: bold;
    color: #000000;
  }

  .big-sol:after {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    background-image: url('/../images/kira.png');
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: 7px;
    vertical-align: -4px;
  }

  .middle {
    font-size: 110%;
    background-image: linear-gradient(rgba(255, 255, 192, 1), rgba(255, 255, 192, 1));
    background-repeat: no-repeat;
    background-position: 0 80%;
    background-size: 100% 7px;
    padding: 0 0 3px 0;
    font-weight: bold;
    text-align: center;
  }

  .breadcrumb {
    margin: 0px 0 20px 10px;
    font-size: 85%;
  }

  .breadcrumb-2 {
    margin: 0 0 5px 0px;
    font-size: 85%;
  }
  
  .bar-text {
    font-size: 100%;
    width: 80%;
    left: 15%;
    transform: translate(-10%, -50%);
  }

  .row {
    flex-wrap: wrap;
    margin-bottom: 0;
  }

  .img-box-kojyo,
  .img-box-office,
  .img-box-soko,
  .img-box-clinic,
  .img-box-school,
  .img-box-store,
  .img-box-kensetsu {
    width: calc(60% - 20%);
    margin: 3%;
  }

  .office-box {
    flex: 1 0 100%;
  }

  .office-box-header {
    font-size: 110%;
    font-weight: bold;
    text-align: center;
    padding-top: 15px;
    padding-bottom: 20px;
    position: relative;
  }
  
  .contents-img img {
    width: 80%;
    height: auto;
  }

  .f-box {
    margin: 10px auto;
    padding: 10px auto;
    width: 88%;
    background-color: #fffff;
    border: 3px solid #009ddb;
    font-size: 140%;
    font-weight: bold;
  }

  .f-box ul {
    padding: 10px 50px 10px 50px;
    position: relative;
  }

  .cs-box {
    margin: 10px auto;
    padding: 10px auto;
    width: 88%;
    background-color: #fffff;
    border: 3px solid #009ddb;
    font-size: 140%;
    font-weight: bold;
  }

  .cs-box ul {
    padding: 10px 50px 10px 50px;
    position: relative;
  }

  .cs-box2 {
    margin: 10px auto;
    padding: 10px auto;
    width: 88%;
    background-color: #fffff;
    border: 3px solid #009ddb;
    font-size: 130%;
    font-weight: bold;
  }

  .cs-box2 ul {
    padding: 10px 20px 10px 20px;
    position: relative;
  }

  .cs-box2 ul li {
    position: relative;
    padding-left: 30px;
    font-weight: bold;
  }

  .cs-box2 ul li:before {
    content: "";
    position: absolute;
    left: -8px;
    top: 5px;
    width: 22px;
    height: 22px;
    background: url('../images/check-2.png') no-repeat center center;
    background-size: contain;
  }
  
  .case-wrapper {
    flex-direction: column-reverse;
  }
  
  .case-image img {
    max-width: 98%;
    margin-bottom: 20px;
  }

  .case-table {
    width: 100%;
    border-collapse: collapse;
  }

  .case-table-wrapper {
    min-width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }

  .case-image {
    min-width: 100%;
  }

  .case-table th,
  .case-table td {
    width: auto;
    display: block;
    border-top: none;
  }

  .case-table tr:first-child {
    border-top: 1px solid #d5d5d5;
  }

  ul.notice {
    display: grid;
    grid-template-columns: 130px 1fr;
    column-gap: 10px;
    align-items: center;
  }

  ul.notice li {
    margin: 0;
    list-style: none;
  }

  ul.notice li:nth-child(1) {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #FFA719;
    padding: 0 10px;
    min-height: calc(1em * 1.6 * 2);
  }

  ul.notice li:nth-child(2) {
    display: flex;
    align-items: center;
    line-height: 1.6;
    min-height: calc(1em * 1.6 * 2);
  }

  .sanpai-box {
    margin: 10px auto;
    padding: 10px;
    width: 90%;
    background-color: #fffff;
    border: 3px solid #9ddb00;
    font-size: 120%;
    font-weight: bold;
  }

  .sanpai-box ul li:before {
    left: 0;
    top: 9px;
    width: 20px;
    height: 20px;
    background: url('../images/check-2.png') no-repeat center center;
    background-size: contain;
  }

  .content-textbox-2 {
    flex-direction: column;
  }

  .content-textbox-2 img {
    order: 2;
    width: 50%;
    margin-top: -15px;
  }

  .content-textbox-2 .content-text-2 {
    order: 1;
  }

  .sanpai-box-2 {
    margin-top: -25px;
    padding: 10px;
    width: 90%;
    background-color: #fffff;
    border: 3px solid #009ddb;
    font-size: 120%;
    font-weight: bold;
  }

  .sanpai-box-2 ul li:before {
    left: 0;
    top: 10px;
    width: 20px;
    height: 20px;
    background: url('../images/check.png') no-repeat center center;
    background-size: contain;
  }

  .grid-line-box {
    width: 90%;
    font-size: 120%;
  }

  .grid-line-box-3 {
    margin: 10px auto;
    padding: 10px;
    width: 90%;
    background-color: #fffff;
    border: 3px solid #009ddb;
    font-size: 120%;
    font-weight: bold;
  }

  .grid-line-box-3 ul li:before {
    left: 0;
    top: 10px;
    width: 20px;
    height: 20px;
    background: url('../images/check.png') no-repeat center center;
    background-size: contain;
  }

  .button_orange a {
    width: 90%;
    padding: 10px 25px;
  }
  
  .guide_button_orange a {
    width: 60%;
    padding: 18px 25px;
    font-size: 100%;
  }
  
  .guide_button_orange_y2 a {
    width: 90%;
    padding: 10px 25px;
  }
  
  .guide_button_blue a {
    width: 60%;
    padding: 10px 25px;
  }
  
  .guide_button_blue_2 a {
    width: 90%;
    padding: 10px 25px;
  }

  .phone-button-container {
    display: flex;
    justify-content: center;
    width: 100%;
    padding: 0;
    margin: 30px 0;
  }

  .phone-button {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #009ddb;
    color: #ffffff;
    padding: 10px;
    text-decoration: none;
    border: solid 1px #008dc5;
    border-radius: 8px;
    margin: 0 auto;
    box-shadow: 0px 8px 10px rgba(0, 0, 0, 0.2);
    width: 90%;
    max-width: 600px;
  }
  
  .phone-button-container a:hover {
    color: #ffffff;
  }

  .phone-button .phone-icon,
  .phone-button .arrow-icon {
    height: auto;
    vertical-align: middle;
  }

  .phone-button .phone-icon {
    width: 22px;
  }

  .phone-button .arrow-icon {
    width: 11px;
  }

  .phone-button .phone-text {
    text-align: center;
    line-height: 1.2;
    margin-top: 0;
  }

  .phone-button .phone-text p {
    padding-top: 5px;
    padding-bottom: 5px;
  }

  .phone-button .phone-text .contact-text {
    font-weight: bold;
  }

  .phone-button .phone-text .phone-number {
    max-width: 85%;
    margin: 0 auto;
    font-size: 120%;
    font-weight: bold;
    background-color: #ffffff;
    color: #009ddb;
    padding: 5px;
    border-radius: 8px;
    margin-top: 1px;
  }

  .phone-button .phone-text .contact-text-2 {
    margin-top: 1px;
    font-size: 95%;
    font-weight: bold;
  }
  
  .cp-box {
    flex-direction: column;
  }
  
  .text-icon {
    width: 80%;
    margin: 10px auto;
    padding: 2px 0 2px 0;
  }
  
  .cp-box .plus {
    margin: -10px 0;
  }
  
  .guide-con {
    padding: 0;
  }
  
  .guide-con li {
    width: 80px;
    height: 80px;
    margin: 10px 2px 10px 2px;
  }
  
  .cp-logo {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .cp-logo img {
    width: 75%;
  }
  
  .guide-con-2 {
    padding: 0;
    margin-bottom: 15px;
  }
  
  .guide-con-2 li {
    border: 4px solid #0093d6;
    width: 100px;
    height: 100px;
    font-size: 110%;
    line-height: 1.5;
    padding: 15px;
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.09);
  }
  
  .guide-flow {
    flex-direction: column;
    align-items: center;
  }
  
  .guide-flow-arrow {
    transform: rotate(90deg);
    margin: 10px;
  }
  
  .guide-flow-title {
    background: #009ddb;
    color: #fff;
    text-align: center;
    font-size: 100%;
    font-weight: bold;
    padding: 10px 0 10px 0;
    width: 65%;
    border-radius: 3px;
  }
  
  .guide-flow-tx {
    padding: 10px;
    width: 90%;
    background-color: #f9f9f9;
    border: 1px solid #ccc;
    margin: 0 0 20px 0;
    font-size: 95%;
    border-radius: 8px;
  }
  
  .comparison-table thead {
    display: none;
  }
  
  .comparison-table tr {
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
    border: 1px solid #000;
  }
  
  .comparison-table td {
    display: block;
    text-align: right;
    padding-left: 50%;
    position: relative;
    border: 1px solid #000;
  }
  
  .comparison-table td:before {
    content: attr(data-label);
    position: absolute;
    left: 0;
    width: 45%;
    padding: 10px;
    text-align: left;
    font-weight: bold;
  }
  
  .comparison-table .feature {
    background-color: #009ddb;
    font-weight: bold;
    display: block;
    text-align: center;
    padding-left: 0;
    position: relative;
    color: #ffffff;
    font-size: 125%;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  }
  
  .comparison-table .njyumaru {
    width: 30px;
  }
  
  .comparison-table .maru {
    width: 20px;
    padding-right: 6px;
  }
  
  .comparison-table .sankaku {
    width: 20px;
    padding-right: 6px;
  }
  
  .comparison-table .batsu {
    width: 20px;
    padding-right: 6px;
  }
  
  .request_flow_con {
    margin-bottom: 30px;
  }
  
  .rq-flow > li dl dd {
    margin: 0 0 50px 0;
    height: 100px;
  }

  .company-table th,
  .company-table td {
    width: auto;
    display: block;
    border-top: none;
  }
  
  .company-table tr:first-child {
    border-top: 1px solid #d5d5d5;
  }
  
  .b-link {
    margin-top: -10px;
    margin-bottom: 10px;
    font-size: 90%;
    text-align: center;
  }

  .snp-legal-con {
    flex-direction: column;
  }
  
  .lg-image-2 img {
    transform: rotate(90deg);
    width: 18%;
    margin: 30px 0 10px 0;
  }

    
    
  /* 各種ボックスの幅とマージン */
  .fuyohin-box {
    width: 90%;
    margin: 30px 20px 10px 20px;
  }
  .fuyohin-box-2,
  .fuyohin-box-3 {
    width: 90%;
    margin: 10px 20px 10px 20px;
  }
  .fuyohin-box-4,
  .fuyohin-box-4-k {
    width: 90%;
    margin: 10px 20px 30px 20px;
  }
    
    
    
  /* 画像を重ねて表示 */
  .overlay-fuyohin-image {
    position: absolute;
    width: 60px;
    right: -15px;
    top: 110px;
  }
  .overlay-fuyohin-image-2 {
    position: absolute;
    width: 70px;
    right: -13px;
    top: 140px;
  }
    

    

}




/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

@media screen and (max-width:480px){

/*全体の設定
---------------------------------------------------------------------------*/
	
body {
	font-size: 17px;	/*文字サイズ*/
    letter-spacing: 0.01em;
	line-height: 1.7;		/*行間*/
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/


	
header .inner {
	top:40px;
	position: relative;
	height: 125px;	/*ヘッダーの高さ*/
}

	
/*ロゴ画像*/
header #logo img {
	width: 70%;	/*画像幅*/
	min-width: 200px;
	top: -2%;	/*ヘッダーに対して上から20%の場所に配置*/
	left:3%;
	margin: 0px 0px 10px 0px;
}



h1.hdtl{
font-size:13px;
position: absolute;
left: 2%;		/*ヘッダーに対して左から13%の場所に配置*/
top: 13px;
line-height:18px; 
}


.information p{
margin:0 -10px -15px -10px;
font-size:100%;
}	


.information .info-title {
font-size: 135%;
font-weight: bold;
padding:0 -30px;
}
.information .tel a {
font-size: 140%;
font-weight: bold;
text-decoration: none;
}

.contact-item-line a,
.contact-item-mail a {
font-size: 130%;
font-weight: bold;
text-decoration: none;
}

.contact-item-line {
	margin-top: 10px;
    margin-bottom: 15px;
}

.contact-item-mail {
	margin-top: 10px;
}



/*コンテンツ
---------------------------------------------------------------------------*/
.contents h2.df{
	padding: 5px 0px 15px 10px;
	margin-bottom: 20px;
	font-size: 150%;
	line-height: 38px;

}

.contents h3,.contents h4 {
	padding: 5px 0px 15px 10px;
	margin-bottom: 20px;
	font-size: 130%;
}
	
/*h2,h3タグの左側のアクセント*/
.contents h3::first-letter {
	padding-left: 10px;	/*線とテキストとの距離*/
}
/*段落タグ設定*/
.contents p {
	padding: 0px 10px 15px;	/*上、左右、下への余白*/
}

/*subコンテンツ
---------------------------------------------------------------------------*/
/*subコンテンツ内のh2タグ設定*/
.sub h2 {
	margin-bottom: 10px;
}
/*サブコンテンツ内のbox1
---------------------------------------------------------------------------*/
.sub .box1 {
	padding: 10px;			/*ボックス内の余白*/
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	display: none;
}


/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	padding-left: 10px;
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption,
.ta2 caption {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1設定*/
.ta1, .ta1 td, .ta1 th {
	padding: 5px;	/*ボックス内の余白*/
}
/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi {
	font-size: 14px;	/*文字サイズ*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.big1 {font-size: 16px;}
img.fr,img.fl {float: none;margin: 0;width: 100%;}
.sh {display:block;}
.pc {display:none;}

  .button_orange a {
    width: 80%;  /* ボタンの幅を80%に */
    padding: 10px 25px;  /* パディングをさらに調整 */
    font-size: 110%;  /* フォントサイズを小さくする */
  }

  .guide_button_orange_y2 a {
    width: 60%;  /* ボタンの幅を80%に */
    padding: 10px 25px;  /* パディングをさらに調整 */
    font-size: 110%;  /* フォントサイズを小さくする */
  }

  .guide_button_blue_2 a {
    width: 60%;  /* ボタンの幅を80%に */
    padding: 10px 25px;  /* パディングをさらに調整 */
    font-size: 110%;  /* フォントサイズを小さくする */
  }
}


