@charset "UTF-8";

* { margin:0; padding:0; }

html{ overflow-y: scroll;}
body {
	color: #001133;
	border-top: 3px solid #399;
	text-align: center;
	font: 13px/1.6em sans-serif;
}
td,th { font-size:13px; }
ul, ol { margin:0 0 0 2em; }

dl { margin:0 1em; }
dt { font-weight:bold; margin-top:0.8em; }

h1 { font-size:16px; padding:0.8em 1em; border-top:3px solid #066; border-left:1px solid #999; border-right:1px solid #999; border-bottom:1px solid #999; }
h2 { margin:1.5em 0; font-size:14px; padding:0.3em 1em 0.1em;  }
.h202 { padding:0.4em; border-top:1px solid #999; border-left:2px solid #066; border-right:1px solid #999; border-bottom:1px solid #999; }
.h202 span { font-size:10px;}
.kojyo_midashi { color: #156980; font-size: 100%; padding-bottom: 3px; padding-left: 0.5em; border-bottom: 1px solid #F0BA32; border-left: 10px solid #F0BA32; }
.bg_kojyo_komoku { background: url(images/kojyo_komoku.png) no-repeat right bottom; }
.kojyo_komoku dt { color: #369; }
.koremade_box { margin: 15px; padding: 10px; border: solid 1px #369; }
.koremade { color: #369; border-bottom-style: dashed; border-bottom-width: 1px; }
.otoiawase { color: #fff; background-color: #369; padding-left: 0.5em; border-left: 1em solid #9cf; }
.photo_box200 { font-size: 80%; width: 200px; float: left; margin-right: 10px; display: block; }
.photo_box250 { font-size: 80%; width: 250px; float: left; margin-right: 10px; display: block; }
.photo_box200 img { margin-bottom: 5px; }
h3 { margin:1em 0; font-size:13px; padding:0.4em; background-color:#eee;}
h4 { margin:1em 0; }
p { margin :0; }

a { text-decoration:none; color:#039; }
a:hover { text-decoration:underline; color:#039; }
a img { border:none; }

.C { text-align:center; }
.R { text-align:right; }



#container { width:900px; margin:0 auto; text-align:left; }

#head { margin:3px 0 0; height:75px; }
#head img { border:none; }
#site_title { float:left; width:500px; }



ul#topmenu {
height: 54px;
line-height: 54px;
background: url('../design/topmenu_bg.gif') no-repeat top;
padding-right: 10px;
padding-left: 10px;
overflow: hidden;
list-style-type: none;
margin:0; font-size:14px;
font-weight:bold;
}
ul#topmenu li { float: left; }
ul#topmenu li a {
color: #29332e;
text-decoration: none;
display: block; padding-right: 1.5em; padding-left: 1.5em; background: url('../design/topmenu_line.gif') no-repeat right;
text-shadow    :
       3px  3px 3px #ffffff,
      -3px  3px 3px #ffffff,
       3px -3px 3px #ffffff,
      -3px -3px 3px #ffffff,
       3px  0px 3px #ffffff,
       0px  3px 3px #ffffff,
      -3px  0px 3px #ffffff,
       0px -3px 3px #ffffff;
}
ul#topmenu li a:hover {
background: url('../design/topmenu_bg.gif') no-repeat bottom;
}


#g_nav { float:right; text-align:right; margin:35px 0 0; padding:0.3em 0.5em 0.3em 0; list-style-type:none; font-size:14px; background:url('../design/bg_nav.gif') 0 0 repeat-x; border-top:1px solid #ccd; border-bottom:1px solid #789; border-left:1px solid #789; border-right:1px solid #789; }
#g_nav li { display:inline; margin:0 0 0 1em; }
#g_nav li a { color:#666; border-left:5px solid #096; padding:0 0 0 0.5em; }
#g_nav li a:hover { color:#F90; border-left:5px solid #F90; text-decoration:none; }

#top_image { padding:1px 0; background-color:#f0fff0; }

#pankuzu {margin:0.5em;}

#pankuzu a { color:#999; margin:0.5em; padding:0.3em; }

#contents { background:linear-gradient(90deg,#e0f0ec 0%,#e0f0ec 250px,white 100px,white 100%); padding:10px 0 0; }
#contents02 { background:linear-gradient(90deg,#e0f0ec 0%,#e0f0ec 250px,white 100px,white 100%); padding:0; }

#nav {
	width: 250px;
	float: left;
	list-style-type: none;
	margin: 0;
	padding: 10px 0px 20px;
}
#nav li { line-height:0; }

#section {
	width:630px;
	margin: 0 10px 20px 0px;
	float: right;
}

#box { margin:15px; }
#box p { margin-bottom: 10px; }

#newinfo, #topics, #recruit {
	border: 1px solid #999;
	margin-bottom: 15px;
}
.t_info { background:url('../design/t_newinfo.png') 0 0 no-repeat; height:30px; padding:10px 0 0 42px; font-size:20px; font-weight:bold; border-bottom:1px solid #ccc; margin:0; }
#newinfo ul, #recruit ul { height:auto;}
#newinfo ul, #recruit ul, #topics ul { margin: 1em 1.5em;}
#newinfo ul li, #recruit ul li, #topics ul li { border-bottom:1px dotted #aaa; padding:0.2em; }

#addr { background-color:#e0f0ec ; margin:2em 0 0; padding:1em; color:#29332e; background-position: bottom}
#addr dl { margin-bottom:0; }
#addr dt { font-weight:bold; font-size:16px; }
#addr dd { font-size:14px; }


#main_title h1 { color:#220055; margin:1em 0; padding:0.5em 0 0.5em 0.5em; font-size:18px; border-left:4px solid #aaaadd; }


#page_top { text-align:right; margin:2em 1em; clear:both; }

#foot { background-color:#1c4d4a; padding:1px 0; clear:both; }
#copyright { padding:0.2em; text-align:center; border-top:1px solid #fff; color:#FFF; }


/*---------------------------*/
.table00 { border:#ccc solid 1px; border-collapse: collapse;}
.table00 th { border:#ccc solid 1px; padding: 0.5em; text-align:center; background-color:#eee;}
.table00 td { border:#ccc solid 1px; padding: 0.5em; }


.table01 { border:#ccc solid 1px; border-collapse: collapse;}
.table01 ul{ padding:0; margin:0;}
.table01 ul li{ margin:5px 5px 5px 1.5em;}
.table01 th{ border:#ccc solid 1px; padding: 0.4em;}
.table01 .t01{ text-align:center; background-color:#eee;}
.table01 .t02{ background: #FFFFF7; }
.table01 td{ border:#ccc solid 1px; padding: 0.4em;}
.table01 span{ font-size:10px;}

.satei th, .satei td {
	font-size: 11px;
	padding: 0.4em 0.2em;
	line-height: 16px;
}

.table02 { border:#ccc solid 1px; border-collapse: collapse; width:98%;}
.table02 ul { padding:0; margin:0;}
.table02 ul li {margin:5px 5px 5px 1em;}
.table02 th { border:#ccc solid 1px; padding: 5px;}
.table02 .t01 { text-align:center; background-color:#eee;}

.table02 td{ border:#ccc solid 1px; padding: 5px;}
.table02 span{ font-size:10px;}

/*---------------------------*/
.banner li { list-style:none; border:#CCCCCC 1px solid; margin-bottom:5px; padding-top:5px; text-align:center;}

li span { color:#001133;}
.s00 { color:#0033CC;}
.s00 li{ list-style:square;}
.s01{ color:#007685;}
.s01 li{ list-style:square;}
.s02{ color:#ee7725;}
.s02 li{ list-style:square;}


/*---------------------------*/
.caption{ font-size:10px; margin-bottom:1em;}


/*---------------------------*/
.floatLeft { float:left;}
.floatRight { float:right; margin-left:2.5em;}

.mB20{ margin-bottom:20px;}
.mB40{ margin-bottom:40px;}

.c2{ width:280px; margin-bottom:20px;}

/*clearfix*/
/* For modern browsers */
.clearfix:before,
.clearfix:after {
	content:"";
	display:table;
}
 
.clearfix:after {
	clear:both;
}
 
/* For IE 6/7 (trigger hasLayout) */
.clearfix {
	zoom:1;
}
/*技術の向上*/
.kojyo_box200 { background-color: #C6EDDB; width: 260px; float: left; margin-right: 15px; margin-bottom: 15px; border: solid 5px #C6EDDB; display: block; }
.kojyo_box275 { background-color: #fc6; width: 275px; float: left; margin-right: 15px; margin-bottom: 15px; border: solid 5px #fc6; display: block; }

.kojyo_box200 img { margin-top: 5px; }

/*Q&A*/
.btn_link {
	background: #338f8a;
	padding: 5px 15px;
	margin-left: 10px;	
}

.btn_link, .btn_link a {
	color: #FFF;
	font-size: 14px;
	font-weight:bold;
}
.link_point {
	color: #338f8a;
	font-weight:bold;
	margin-left: 10px;	
}

/*リンク*/
ul.link_list li {
	float: left;
	width: 400px;
}

ul.link_list01 li {
	float: left;
	width: 250px;
}

ul.link_list02 li {
	float: left;
	width: 130px;
}

/* 丸森 */

.marumori_box { 
	width:280px;
	margin-bottom:15px;
}

.marumori_box img { margin-bottom:5px;}


/* 研修申込みフォームのボタンのCSS */
.square_btn {
	-moz-box-shadow: 0px 1px 0px 0px #f0f7fa;
	-webkit-box-shadow: 0px 1px 0px 0px #f0f7fa;
	box-shadow: 0px 1px 0px 0px #f0f7fa;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #33bdef), color-stop(1, #019ad2));
	background:-moz-linear-gradient(top, #33bdef 5%, #019ad2 100%);
	background:-webkit-linear-gradient(top, #33bdef 5%, #019ad2 100%);
	background:-o-linear-gradient(top, #33bdef 5%, #019ad2 100%);
	background:-ms-linear-gradient(top, #33bdef 5%, #019ad2 100%);
	background:linear-gradient(to bottom, #33bdef 5%, #019ad2 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bdef', endColorstr='#019ad2',GradientType=0);
	background-color:#33bdef;
	-moz-border-radius:22px;
	-webkit-border-radius:22px;
	border-radius:22px;
	border:1px solid #057fd0;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family:Arial;
	font-size:15px;
	font-weight:bold;
	padding:10px 25px;
	text-decoration:none;
	text-shadow:0px -1px 0px #5b6178;
}
.square_btn:hover {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #019ad2), color-stop(1, #33bdef));
	background:-moz-linear-gradient(top, #019ad2 5%, #33bdef 100%);
	background:-webkit-linear-gradient(top, #019ad2 5%, #33bdef 100%);
	background:-o-linear-gradient(top, #019ad2 5%, #33bdef 100%);
	background:-ms-linear-gradient(top, #019ad2 5%, #33bdef 100%);
	background:linear-gradient(to bottom, #019ad2 5%, #33bdef 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#019ad2', endColorstr='#33bdef',GradientType=0);
	background-color:#019ad2;
	color:#ffffff;
}
.square_btn:active {
	position:relative;
	top:1px;
}
/*ボタンおわり */

/* 講演会申込みフォームのボタンのCSS */
.myButton {
	-moz-box-shadow:inset 0px 1px 0px 0px #a4e271;
	-webkit-box-shadow:inset 0px 1px 0px 0px #a4e271;
	box-shadow:inset 0px 1px 0px 0px #a4e271;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #89c403), color-stop(1, #77a809));
	background:-moz-linear-gradient(top, #89c403 5%, #77a809 100%);
	background:-webkit-linear-gradient(top, #89c403 5%, #77a809 100%);
	background:-o-linear-gradient(top, #89c403 5%, #77a809 100%);
	background:-ms-linear-gradient(top, #89c403 5%, #77a809 100%);
	background:linear-gradient(to bottom, #89c403 5%, #77a809 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#89c403', endColorstr='#77a809',GradientType=0);
	background-color:#89c403;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border-radius:6px;
	border:1px solid #74b807;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family:Arial;
	font-size:14px;
	font-weight:bold;
	padding:2px 24px;
	text-decoration:none;
	text-shadow:0px 1px 0px #528009;
}
.myButton:hover {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #77a809), color-stop(1, #89c403));
	background:-moz-linear-gradient(top, #77a809 5%, #89c403 100%);
	background:-webkit-linear-gradient(top, #77a809 5%, #89c403 100%);
	background:-o-linear-gradient(top, #77a809 5%, #89c403 100%);
	background:-ms-linear-gradient(top, #77a809 5%, #89c403 100%);
	background:linear-gradient(to bottom, #77a809 5%, #89c403 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#77a809', endColorstr='#89c403',GradientType=0);
	background-color:#77a809;
}
.myButton:active {
	position:relative;
	top:1px;
}

.myButton2 {
	-moz-box-shadow:inset 0px 1px 0px 0px #f0f7fa;
	-webkit-box-shadow:inset 0px 1px 0px 0px #f0f7fa;
	box-shadow:inset 0px 1px 0px 0px #f0f7fa;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #33bdef), color-stop(1, #019ad2));
	background:-moz-linear-gradient(top, #33bdef 5%, #019ad2 100%);
	background:-webkit-linear-gradient(top, #33bdef 5%, #019ad2 100%);
	background:-o-linear-gradient(top, #33bdef 5%, #019ad2 100%);
	background:-ms-linear-gradient(top, #33bdef 5%, #019ad2 100%);
	background:linear-gradient(to bottom, #33bdef 5%, #019ad2 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#33bdef', endColorstr='#019ad2',GradientType=0);
	background-color:#33bdef;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border-radius:6px;
	border:1px solid #057fd0;
	display:inline-block;
	cursor:pointer;
	color:#ffffff;
	font-family:Arial;
	font-size:14px;
	font-weight:bold;
	padding:2px 24px;
	text-decoration:none;
	text-shadow:0px 1px 0px #5b6178;
}
.myButton2:hover {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #019ad2), color-stop(1, #33bdef));
	background:-moz-linear-gradient(top, #019ad2 5%, #33bdef 100%);
	background:-webkit-linear-gradient(top, #019ad2 5%, #33bdef 100%);
	background:-o-linear-gradient(top, #019ad2 5%, #33bdef 100%);
	background:-ms-linear-gradient(top, #019ad2 5%, #33bdef 100%);
	background:linear-gradient(to bottom, #019ad2 5%, #33bdef 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#019ad2', endColorstr='#33bdef',GradientType=0);
	background-color:#019ad2;
}
.myButton2:active {
	position:relative;
	top:1px;
}

/*講演会関係などおわり */



/* タイトルの点線のやつ */
h4.bidl{
	border-top:1px dotted #000;
	border-bottom:1px dotted #000;
	margin-top:1em;
	padding-top:1em;
	margin-bottom:1em;
	padding-bottom:1em;
	font-size:18px
}

h4.bids{
	border-top:1px dotted #000;
	border-bottom:1px dotted #000;
	margin-top:1em;
	padding-top:1em;
	margin-bottom:1em;
	padding-bottom:1em;
	font-size:13px"
}


/*注意事項のボックス*/
.cautionbox{
  margin: 1em 0;
  background-color: #FFD9DA;
  padding: 1em;
}

.cautionbox-title{
	color: #E5446D;
	font-size: 18px;
	font-weight: bold;
}

.cautionbox p{
  margin: 0;
  padding: 0;
}


/* 新着情報の2段リスト */
/* 新着とトピックスの基本設定を統一 */
.news-list, .topics-list {
    list-style: none;
    padding: 0;
    margin: 0;
    line-height: 1.8;
}

/* リスト項目のスタイル */
.news-list li, .topics-list li {
    display: flex;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px solid #ddd;
}

/* 日付とアイコンのスタイル */
.date {
    display: flex;
    align-items: center;
    width: 130px; /* 必要に応じて調整 */
    font-weight: bold;
    font-size: 1em;
    justify-content: flex-start; /* 左揃え */
}

/* アイコンのスタイル統一 */
.list-icon {
    display: inline-block;
    font-size: 1.5em;
    color: #4CAF50;
    width: 30px; /* アイコンの幅を固定 */
    text-align: center; /* アイコンを中央揃え */
    margin-right: 10px; /* 日付との余白 */
}

.list-iconnew {
    display: inline-block;
    font-size: 1.5em;
    color: #ff348a;
    width: 30px; /* アイコンの幅を固定 */
    text-align: center; /* アイコンを中央揃え */
    margin-right: 10px; /* 日付との余白 */
}

/* 新着内容とトピックス内容のスタイル統一 */
.content, .topics-content {
    flex: 1;
    padding-left: 5px;
}

/* 新着のアイコンと日付を揃えるための調整 */
.news-list .list-icon .list-iconnew {
    display: inline-block;
}

.topics-list .list-icon .list-iconnew {
    display: none; /* トピックスのアイコンは非表示 */
}
/* トップページの設定終わり */


/* 研修ページのお知らせボックス */
.box26 {
    position: relative;
    margin: 2em 0;
    padding: 1em 1em;
    border: solid 3px #dc143c;
    border-radius: 8px;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #FFF;
    color: #dc143c;
    font-weight: bold;
}
.box26 p {
    margin: 0; 
    padding: 0;
}

/* 採用ページのお知らせボックス2 */
.box27 {
    position: relative;
    margin: 4em 0 1em 0;
    padding: 0.5em 1em;
    border: solid 3px #ff6659;
}
.box27 .box-title {
    position: absolute;
    display: inline-block;
    top: -38px;
    left: -3px;
    padding: 0 25px;
    height: 35px;
    line-height: 36px;
    font-size: 21px;
    background: #ffdb89;
    color: #000000;
    font-weight: bold;
    border-radius: 5px 5px 0 0;
}
.box27 p {
    margin: 0; 
    padding: 0;
}

/* マスキングテープ風 */
.box5-5 {
    position: relative; /* タイトルをボックス内の左上に配置するための基準 */
    margin: 0 auto 2em; /* 外側の余白（上下と中央配置） */
    background-color: #fff2d3; /*ボックス背景色*/
}

/* マスキングテープ風 */
.box5-5 .box-title {
    background-image: repeating-linear-gradient(-45deg,#ffe0ed 0, #ffe0ed 3px,#fff5f5 3px,#fff5f5 6px);/*ストライプ*/
    transform: rotate(-2deg); /* テープの傾き */
    box-shadow: 0 1px 2px rgb(0 0 0 / .1); /*テープ影*/
    padding: 0.9em 1em; /* タイトルの余白 */
    line-height: 1; /* タイトルの行の高さ */
    position: absolute; /* 親要素の左上に固定 */
    top: -1em; /* 上端に配置 */
    left: 1em; /* 左端に配置 */
    display: inline-block; /* タイトルの幅を内容に合わせる */
    font-size: 1.5em; /* タイトルのフォントサイズ */
	font-weight: bold;
	color: #008b8b;
	letter-spacing: 0.1em;
    width: auto; /* タイトル幅を内容に応じて可変にする */
    max-width: calc(100% - 2em); /* 左右の余白を考慮して最大幅を調整 */
    white-space: nowrap; /* タイトルを1行に固定 */
    overflow: hidden; /* はみ出した部分を非表示 */
    text-overflow: ellipsis; /* 省略記号（...）を表示 */
}

.box5-5 .box-content {
	margin-top: 2em;
    padding: 3.4em 2em 2em; /* コンテンツ内の余白 */
}

/* pタグのmarginを0にする */
.box5-5 p {
    margin: 0;
}
/* マスキングテープ風おわり */

.original-text-shadow {
  color: #000;
  font-size: 1.6em;
  font-weight: bold;
  background: linear-gradient(transparent 90%, #95bfbb 90%);
  letter-spacing: 0.1em;
}

.bell {
  font-size: 1.5em;
  font-weight: bold;
  margin:0 auto 5%;
  background: linear-gradient(#fedc40, #f75d8b);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.box { margin:15px; }
.box p { margin-bottom: 10px; }


/* アコーディオン */
.accordion-001 {

    background-color: #ffffff;
}

.accordion-001:not([open]) {
    margin-bottom: 7px;
}

.accordion-001 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 0.1em 2em;
    border-radius: 0px;
    background-color: #e0f0ec;
    color: #000;
    font-weight: 600;
    cursor: pointer;
}

.accordion-001 summary::-webkit-details-marker {
    display: none;
}

.accordion-001 summary::before,
.accordion-001 summary::after {
    width: 3px;
    height: .9em;
    border-radius: 5px;
    background-color: #000;
    content: '';
}

.accordion-001 summary::before {
    position: absolute;
    right: 2em;
    rotate: 90deg;
}

.accordion-001 summary::after {
    transition: rotate .3s;
}

.accordion-001[open] summary::after {
    rotate: 90deg;
}

.accordion-001 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1em 2em 2em 2em;
    color: #3a3232;
    transition: transform .5s, opacity .5s;
}

.accordion-001[open] p {
    transform: none;
    opacity: 1;
}
/* アコーディオンおわり */