@charset "utf-8";
.main_contents{ /*2層ページ設定
	padding: 8rem 2rem;*/
}
.all_pack{
/* 	padding: 5rem 0;
	margin-top: 3rem; */
}
/* 白背景　＋　青背景 */
.small_pack_w,.small_pack{
	width: 100%;
	padding: 1rem 0;
	margin: 6rem auto;
}
/*　白背景 */
.small_pack_w{background: #fff;}
/*　青背景　*/
.small_pack{ padding-top: 5rem; padding-bottom: 5rem;}

/*　タイトルH2　-------------------*/
.h2_title{
	font-size: 160%;
	color: #555;
	text-align: center;
}
.h2_span{
	display: block;
	font-size: 70%;
}
/*左右の棒*/
.catch {
  display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
  margin: 0 0 6rem;
}
.catch:before, .catch:after {
	border-top: 7px double;
    content: "";
    width: 4em;
    color: #9da3a3;
}
.catch:before {
  margin-right: 1em; /* 文字の右隣 */
}
.catch:after {
  margin-left: 1em; /* 文字の左隣 */
}

/* h3 タイトル --------------*/
.h3_title{
	background: #90A0BF;
	color: #ffffff;
	padding: 1.5rem;
	border-radius: 0px;
}

/*　左右コンテンツ　-------------------*/
/*　コンテンツ全体*/
.content_box,
.content_box3{
  display: flex;
	width: 90%;
	margin: 5rem 5% 7rem;
	text-align: center;
  flex-direction: row;
  flex-wrap: nowrap;
}
.content_box3{
	margin-top: 3rem;
}
/*　コンテンツ左*/
.box_left{
	width: 48%;
	margin-right: 2%;
}
/*　コンテンツ右*/
.box_right{
	width: 48%;
	margin-left: 2%;
	text-align: left;
	line-height: 1.6;
}
/*　コンテンツ　3つ　*/
.box_3cards{
	width: 31%;
	margin-right :1%;
	margin-left: 1%;
	line-height: 1.6;
  border: 1px solid #ddd;
  padding: 1.5rem;
  box-shadow: 1px 1px 1px #f0f0f0;
}
.h3_right_title{
	text-align: center !important;
	margin-top: 0 !important;
	background: none !important;
	padding: 0 0 1rem 0 !important;
	color:#555555 !important;
    font-size: 125%;
}
.right_sentence{
	margin-top: 0;
	/*font-size:95%;*/
	line-height: 1.7;
	color: #333333;
}
/*.card_p{border-top: 1px solid #dddddd;padding-top:2rem; font-size: 90%;}*/

@media screen and (max-width: 767px){
.content_box,.content_box3{ display: block;}
.box_left{ width: 100%; margin-bottom: 1.5rem;}
.box_right{	width: 100%;}
.box_3cards{width: 85%; margin: 1rem auto; }
}


/*　Q&A　--------------------------------------------*/
.content_box_qa{
	width: 90%;
	margin-left: 5%;
	margin-right: 5%;
	margin-bottom: 2rem;
}

.cp_qa *, .cp_qa *:after, .cp_qa *:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_qa .cp_actab {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 0 1rem 0;
	color: #122264;
}
.cp_qa .cp_actab input {
	position: absolute;
	opacity: 0;
}
/* 質問 */
.cp_qa .cp_actab label {
	font-weight: bold;
	line-height: 1.6rem;
	position: relative;
	display: block;
	margin: 0 0 0 0;
	padding: 1rem 1rem 1rem 0;
	cursor: pointer;
	text-indent: 1em;
	border-radius: 0.5rem;
	background: rgba(27,37,56,0.1);
}
.cp_qa .cp_actab label::before {
	font-family: serif;
	font-size: 2.5rem;
	margin-left: 0.5rem;
	padding-right: 0.5em;
	content: 'Q';
}
.cp_qa .cp_actab label:hover {
	transition: all 0.3s;
	color: #223a9d;
}
/* --質問の＋アイコン*/
.cp_qa .cp_actab label::after {
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 2rem;
	position: absolute;
	top: 1rem;
	right: 2rem;
	content: '＋';
	display: inline-block;
	width: 2rem;
	height: 2rem;
	-webkit-transition: transform 0.4s;
	        transition: transform 0.4s;
} 
/* 答え */
.cp_qa .cp_actab .cp_actab-content {
	position: relative;
	overflow: hidden;
	max-height: 0;
	padding: 0 0 0 2.5rem;
	-webkit-transition: max-height 0.2s;
	        transition: max-height 0.2s;
	border-radius: 0 0 0.5em 0.5em;
}
.cp_qa .cp_actab .cp_actab-content::before {
	font-family: serif;
	font-size: 1.5rem;
	position: absolute;
	margin: 0.4rem 0 0 -1rem;
	padding: 0;
	content: 'A';
  font-size: 135%;
}
.cp_qa .cp_actab .cp_actab-content p {
	margin: 1rem 1rem 1rem 2rem;
	font-size: 90%;
	color: #333333;
}
input[type=checkbox] + label::before {
    border: none;
    background: #dee1eb;
}
/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked ~ .cp_actab-content {
	max-height: 40rem;
	border: 10px solid rgba(27,37,56,0.1);
}
/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked ~ label {
	color: #12226455;
	border-radius: 0.5em 0.5em 0 0;
}
/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked + label::after {
	-webkit-transform: rotateZ(45deg);
	transform: rotateZ(45deg);
	-webkit-transform-origin: 50% 50%;
	transform-origin: 50% 50%;
	 border: none;
	background: #dee1eb;
    left: 95%;
    content: '＋';
}
#freeContBox p, #freeContBox .linkTxt_list li a {
    font-size: 1.2rem;
    margin: 0.5rem 2rem;
}

/* ボタン -------------------------------- */
.buttons3{
  display: flex;
	margin: auto;
	width: 95%;
}
.buttons3 a:hover{ opacity: 0.7; }
.buttons3 a{
	width: 31.333333%;
	margin-right :1%;
	margin-left: 1%;
  text-decoration: none;
}
.buttons{
	background: #122264;
	color: #FFFFFF !important;
	margin-top: 1.2rem;
	margin-bottom: 0.7rem;
	line-height: 1.6;
  border: 1px solid #ddd;
  padding: 1.5rem 0.5rem;
  box-shadow: 1px 1px 1px #f0f0f0;
  text-align: center;
  border-radius: 5px;
  display: flex;
    /*コレ*/justify-content: center;
    /*コレ*/align-items: center;
}
@media screen and (max-width: 767px){
.buttons3 a{ display: block; width: 100%;}
.buttons3{ display: block; width: 85%;}
}

/* 会社案内　------------------------------------------- */
dl.detail{
  width: 100%;
  margin: 2rem auto 1rem;
  display:flex;
  flex-wrap: wrap;
  border: 1px solid #f1f3f7;
  border-top: none;
  text-align: left;
}
.detail dt{
  background: #f1f3f7;
  width: 25%;
  padding: 0.8rem 1.2rem;
  box-sizing: border-box;
  border-top: 1px solid #fff; 
}
dl.detail dt:first-child{
  border-top: 1px solid #f1f3f7; 
}
.detail dd{
  padding: 0.8rem 1.2rem;
  margin: 0;
  border-left: 1px solid #f1f3f7;
  border-top: 1px solid #f1f3f7; 
  width: 75%;
  background: #fff;
  box-sizing: border-box;
}


@media screen and (max-width: 768px){
 dl.detail{
/*     flex-flow: column nowrap; */
}
.detail dt,
.detail dd{
    width: 100%;
}
.detail dd{
    border-left: none;
}
}


/*　あゆみ　沿革　---------------------------------------　*/

.enkaku_day{font-weight:700; float:left; width:8%; text-align: right;}
.enkaku_content{float:left; width:90%; padding-left: 5%;  display: flex;}
.timeline > li {
   overflow: hidden;
   margin: 0;
   position: relative;
}
.timeline{
}
.timeline-date {
  width: 11.3rem;
  float: left;
  margin-top: 1rem;
  margin-left: 5rem;
}
.timeline-content {
  width: 75%;
  float: left;
  border-left: 5px solid #e8eaed;
  padding-left: 30px;
}
.timeline-content:last-child {padding-bottom: 3rem}
.timeline-content:before {
  content: '';
  width: 12px;
  height: 12px;
  background: #9da3a3;
  position: absolute;
  left: 16rem;
  top: 1.5rem;
  border-radius: 100%;  
}
@media (max-width: 794px ) {
.timeline-content:before {top: 2rem; left: 0rem;}
.timeline-content { margin-left: 0.25rem;}
.timeline-date{
  padding-left: 2.5rem;
  font-weight: bold;
  margin-left: -0.5rem;
}
.enkaku_day{ float:none; width:100%; text-align: left; }
.enkaku_content{float:none; width:130%; padding-left: 5%;  display: flex;}
.timeline-date {
    float: none;
    width: 100%;
    text-align: left;
}
}