@charset "UTF-8";


img {
    height: auto;
}
/*===============================================
	cFix
===============================================*/

/*cFix*/
.cFix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

/* IE-mac */
* html .cFix {
  height: 1%;
}

.cFix {
  display: block;
}

/*===============================================
	box-sizing
===============================================*/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}



/*===============================================
	margine
===============================================*/
.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mt90 {
  margin-top: 90px;
}

.mt100 {
  margin-top: 100px;
}

.mt90 {
  margin-top: 90px !important;
}

.nmt40 {
  margin-top: -40px !important;
}

.nmt80 {
  margin-top: -80px !important;
}

.nmt100 {
  margin-top: -100px !important;
}

.nmt150 {
  margin-top: -150px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb3 {
  margin-bottom: 3px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb18 {
  margin-bottom: 18px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.pc_mb30 {
  margin-bottom: 30px!important;
}
@media screen and (max-width: 640px) {
  .pc_mb30 {
    margin-bottom: 0!important;
  }
}

.ml5 {
  margin-left: 5px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.mAuto {
  margin: auto !important;
}

.mlAuto {
  margin-left: auto !important;
}

.mrAuto {
  margin-right: auto !important;
}

/*===============================================
	padding
===============================================*/
.pt0 {
  padding-top: 0px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt50 {
  padding-top: 50px;
}

.pt60 {
  padding-top: 60px;
}

.pt70 {
  padding-top: 70px;
}

.pt80 {
  padding-top: 80px;
}

.pt90 {
  padding-top: 90px;
}

.pt3em {
  padding-top: 3em !important;
}

.pt4em {
  padding-top: 4em !important;
}

.pt5em {
  padding-top: 5em !important;
}

.pt6em {
  padding-top: 6em !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb40 {
  padding-bottom: 40px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb90 {
  padding-bottom: 90px;
}

.pb100 {
  padding-bottom: 100px;
}

.pb110 {
  padding-bottom: 110px;
}

.pb120 {
  padding-bottom: 120px;
}

.pb130 {
  padding-bottom: 130px;
}

.pb140 {
  padding-bottom: 140px;
}

.pb150 {
  padding-bottom: 150px;
}

.pb160 {
  padding-bottom: 160px;
}

.pb170 {
  padding-bottom: 170px;
}

.pb180 {
  padding-bottom: 180px;
}

.pb190 {
  padding-bottom: 190px;
}

.pb200 {
  padding-bottom: 200px;
}

.pl5 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pl10 {
  padding-left: 10px;
}

.pl20 {
  padding-left: 20px;
}

.pl30 {
  padding-left: 30px;
}

.pl40 {
  padding-left: 40px;
}

.pl50 {
  padding-left: 50px;
}

.pl60 {
  padding-left: 60px;
}

.pl70 {
  padding-left: 70px;
}

.pl80 {
  padding-left: 80px;
}

.pl90 {
  padding-left: 90px;
}

.pl100 {
  padding-left: 100px;
}

.pl110 {
  padding-left: 110px;
}

.pl120 {
  padding-left: 120px;
}

.pl130 {
  padding-left: 130px;
}

.pl140 {
  padding-left: 140px;
}

.pl150 {
  padding-left: 150px;
}

.pl160 {
  padding-left: 160px;
}

.pl170 {
  padding-left: 170px;
}

.pl180 {
  padding-left: 180px;
}

.pl190 {
  padding-left: 190px;
}

.pl200 {
  padding-left: 200px;
}

.p10 {
  padding: 10px;
}

.p20 {
  padding: 20px;
}

.p30 {
  padding: 30px;
}

.p40 {
  padding: 40px;
}

.p50 {
  padding: 50px;
}

.p60 {
  padding: 60px;
}

.p70 {
  padding: 70px;
}

.p80 {
  padding: 80px;
}

.p90 {
  padding: 90px;
}

.p100 {
  padding: 100px;
}

.p110 {
  padding: 110px;
}

.p120 {
  padding: 120px;
}

.p130 {
  padding: 130px;
}

.p140 {
  padding: 140px;
}

.p150 {
  padding: 150px;
}

.p160 {
  padding: 160px;
}

.p170 {
  padding: 170px;
}

.p180 {
  padding: 180px;
}

.p190 {
  padding: 190px;
}

.p200 {
  padding: 200px;
}

/*===============================================
	HalfBox
===============================================*/
.HalfBox20 {
  width: 20%;
}

.HalfBox21 {
  width: 21%;
}

.HalfBox22 {
  width: 22%;
}

.HalfBox23 {
  width: 23%;
}

.HalfBox24 {
  width: 24%;
}

.HalfBox25 {
  width: 25%;
}

.HalfBox26 {
  width: 26%;
}

.HalfBox27 {
  width: 27%;
}

.HalfBox28 {
  width: 28%;
}

.HalfBox29 {
  width: 29%;
}

.HalfBox30 {
  width: 30%;
}

.HalfBox31 {
  width: 31%;
}

.HalfBox32 {
  width: 32%;
}

.HalfBox33 {
  width: 33%;
}

.HalfBox34 {
  width: 34%;
}

.HalfBox35 {
  width: 35%;
}

.HalfBox36 {
  width: 36%;
}

.HalfBox37 {
  width: 37%;
}

.HalfBox38 {
  width: 38%;
}

.HalfBox39 {
  width: 39%;
}

.HalfBox40 {
  width: 40%;
}

.HalfBox41 {
  width: 41%;
}

.HalfBox42 {
  width: 42%;
}

.HalfBox43 {
  width: 43%;
}

.HalfBox44 {
  width: 44%;
}

.HalfBox45 {
  width: 45%;
}

.HalfBox46 {
  width: 46%;
}

.HalfBox47 {
  width: 47%;
}

.HalfBox48 {
  width: 48%;
}

.HalfBox49 {
  width: 49%;
}

.HalfBox50 {
  width: 50%;
}
.HalfBox55 {
  width: 55%;
}

.HalfBox60 {
  width: 60%;
}
.HalfBox65 {
  width: 65%;
}
.HalfBox70 {
  width: 70%;
}
.HalfBox72 {
  width: 72%;
}
.HalfBox74 {
  width: 74%;
}


/*===============================================
	align
===============================================*/
.center {
  text-align: center !important;
  margin: 0 auto !important;
}

.textleft {
  text-align: left !important;
}
.textright {
  text-align: right !important;
}
.textcenter {
  text-align: center !important;
}

.pcenter {
  vertical-align: middle;
}

.bold,
.Bold {
  font-weight: bold;
}
.center_content {
  margin-left: auto !important;
  margin-right: auto !important;
}


/*===============================================
	font-size
===============================================*/
.f7 {
  font-size: 0.7rem !important;
}

.f8 {
  font-size: 0.8rem !important;
}

.f9 {
  font-size: 0.9rem !important;
}

.f10 {
  font-size: 1.0rem !important;
}

.f11 {
  font-size: 1.1rem !important;
}

.f12 {
  font-size: 1.2rem !important;
}

.f13 {
  font-size: 1.3rem !important;
}

.f14 {
  font-size: 1.4rem !important;
}

.f15 {
  font-size: 1.5rem !important;
}

.f16 {
  font-size: 1.6rem !important;
}

.f17 {
  font-size: 1.7rem !important;
}

.f18 {
  font-size: 1.8rem !important;
}

.f19 {
  font-size: 1.9rem !important;
}

.f20 {
  font-size: 2rem !important;
  line-height: 1.5;
}

.f21 {
  font-size: 2.1rem !important;
  line-height: 1.5;
}

.f22 {
  font-size: 2.2rem !important;
  line-height: 1.5;
}

.f23 {
  font-size: 2.3rem !important;
  line-height: 1.5;
}

.f24 {
  font-size: 2.4rem !important;
  line-height: 1.5;
}

.f25 {
  font-size: 2.5rem !important;
  line-height: 1.5;
}

.f26 {
  font-size: 2.6rem !important;
  line-height: 1.5;
}

.f27 {
  font-size: 2.7rem !important;
  line-height: 1.5;
}

.f28 {
  font-size: 2.8rem !important;
  line-height: 1.5;
}

.f29 {
  font-size: 2.9rem !important;
  line-height: 1.5;
}

.f30 {
  font-size: 3rem !important;
  line-height: 1.5;
}

.f31 {
  font-size: 3.1rem !important;
  line-height: 1.5;
}

.f32 {
  font-size: 3.2rem !important;
  line-height: 1.5;
}

.f33 {
  font-size: 3.3rem !important;
  line-height: 1.5;
}

.f34 {
  font-size: 3.4rem !important;
  line-height: 1.5;
}

.f35 {
  font-size: 3.5rem !important;
  line-height: 1.5;
}

.f36 {
  font-size: 3.6rem !important;
  line-height: 1.5;
}

.f37 {
  font-size: 3.7rem !important;
  line-height: 1.5;
}

.f38 {
  font-size: 3.8rem !important;
  line-height: 1.5;
}

.f39 {
  font-size: 3.9rem !important;
  line-height: 1.5;
}

.f40 {
  font-size: 4rem !important;
  line-height: 1.5;
}

/*/////////////////////////////////////////////////////////////////////////////////////////////

	flex

/////////////////////////////////////////////////////////////////////////////////////////////*/
.flex {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.flexRev {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-direction: row-reverse;
}

.flexCenter {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
}

.flexitemCenter {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: center;
}

.flexCenterRev {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: center;
}

.flexstart {
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

/*===============================================
	独自
===============================================*/

.pc_inline {
	display: inline-block;
}

@media screen and (max-width: 640px) {
  .pc_inline {
		display: none;
	}
}


/*COLOR*/
.Red {
	color: #E5004F!important;
}
.Green {
	color: #168A3C!important;
}
.Green2 {
	color: #7AC943!important;
}
.Blue {
	color: #0E66AB!important;
}
.Blue2 {
	color: #3FA9F5!important;
}
.Orange {
	color: #FF931E!important;
}


/*GLOBAL_NAVI*/
nav .accordion li p.now {
  color: #e5004f;
}
nav .accordion li p.now::after {
  content: "";
  width: 100%;
  height: 6px;
  background: #e5004f;
  position: absolute;
  bottom: -7px;
  left: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#LowPage {
}
#LowPage .main {
  width: 960px;
  margin: auto;
}

@media screen and (max-width: 640px) {
  #LowPage .main {
    width: 100%;
  }
}


/*パンくず*/
#bread_list {
	width: 100%;
	max-width: 960px;
	margin: 10px auto 15px;
	display: block;
}
@media screen and (max-width: 640px) {
  #bread_list {
    width: 95%;
  }
}
#bread_list ul li {
	float: left;
	display: inline-block;
	margin-left: 1em;
	padding-left: 1em;
	font-size: .8em;
	position: relative;
	color: #808080;
}
#bread_list ul li:before {
	content: ">";
	position: absolute;
	left: 0;
	top: auto;
}
#bread_list ul li:first-child {
	margin-left: 0;
	padding-left: 0;
}
#bread_list ul li:first-child:before {
	content: ""
}
#bread_list ul li a {
	color: #808080;
}


/*ページトップへ*/
#ToTop {
	width: 100%;
	max-width: 960px;
	margin: 5px auto 5px;
	display: block;
	text-align: right;
	font-size: .9em;
}
@media screen and (max-width: 640px) {
  #ToTop {
    width: 95%;
  }
}
#ToTop a {
	color: #000;
	text-decoration: underline;
}


#LowPage .MenuBtn .cls-1 {
  fill: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#LowPage .MenuBtn .cls-2 {
  fill: #e5004f;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#LowPage .MenuBtn ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

#LowPage .MenuBtn ul li {
  width: 300px;
  margin-bottom: 2em;
}

@media screen and (max-width: 640px) {
  #LowPage .MenuBtn ul li {
    width: 48%;
  }
}

#LowPage .MenuBtn ul li a:hover {
  opacity: 1;
}

#LowPage .MenuBtn .cls-1 {
  fill: #fff;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#LowPage .MenuBtn .cls-2 {
  fill: #e5004f;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

#LowPage .MenuBtn ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: flex-start;
}

#LowPage .MenuBtn ul li {
  width: 300px;
  margin-bottom: 2em;
	margin-right: 30px;
}
#LowPage .MenuBtn ul li:nth-child(3n) {
	margin-right: 0;
}

@media screen and (max-width: 640px) {
  #LowPage .MenuBtn ul li {
    width: 48%;
	  margin-right: 4%;
  }
#LowPage .MenuBtn ul li:nth-child(3) {
	margin-right: 4%;
}
#LowPage .MenuBtn ul li:nth-child(2n) {
	margin-right: 0;
}
}

#LowPage .MenuBtn ul li a:hover {
  opacity: 1;
}

#LowPage .MenuBtn ul li a:hover .cls-1 {
  fill: #e5004f;
}

#LowPage .MenuBtn ul li a:hover .cls-1.mozi {
  fill: white;
}

#LowPage .MenuBtn ul li a:hover .cls-2 {
  fill: white;
}

#LowPage .MenuBtn ul li a:hover .cls-2.obi {
  fill: #e5004f;
}

#LowPage .MenuBtn ul li a:hover .cls-2.sen {
  fill: #e5004f;
}


#LowPage h2.low {
	font-size: 2.2rem;
	text-align: left;
	background: #E5004F;
	color: #fff;
	padding: 6px 10px;
	border-bottom: 5px solid #000;
	font-weight: bold;
	margin-bottom: 20px;
}
#LowPage h2.low:after {
	background: none;
}

#LowPage h3 {
	font-size: 2.1rem;
	position: relative;
	text-align: left;
	padding: 8px;
	border-top: 2px solid #999999;
	border-bottom: 2px solid #999999;
	color: #E5004F;
	margin-bottom: 20px;
}
#LowPage h3:before {
  position: absolute;
  top: -2px;
  left: 0;
  z-index: 2;
  content: '';
  width: 16%;
  height: 2px;
  background-color: #E5004F;
}
#LowPage h3:after {
  position: absolute;
  bottom: -2px;
  left: 0;
  z-index: 2;
  content: '';
  width: 16%;
  height: 2px;
  background-color: #E5004F;
}
#LowPage h4 {
	font-size: 2.1rem;
	font-weight: bold;
	margin-bottom: 14px;
}

/*事業内容ページ*/
#LowPage ul.SubNav {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	border-left: 1px solid #000;
}

#LowPage ul.SubNav_nowrap {
  flex-wrap: nowrap!important;
}



#LowPage ul.SubNav li {
	width: 20%;
	font-size: .9em;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 4px 0;
	border-right: 1px solid #000;
}
@media screen and (max-width: 640px) {
	#LowPage ul.SubNav {
	border-left: none;
}
  #LowPage ul.SubNav li  {
    width: 50%;
	  margin-bottom: 30px;
  }
  #LowPage ul.SubNav li:first-child,
	#LowPage ul.SubNav li:nth-child(3),
  #LowPage ul.SubNav li:nth-child(5) {
	border-left: 1px solid #000;
  }
}


@media screen and (max-width: 640px) {
#LowPage ul.SubNav_nowrap {
  flex-wrap: wrap!important;
}
#LowPage ul.SubNav_nowrap li {
  width: 25%;
}
}

#LowPage ul.SubNav li a {
	text-decoration: underline;
	color: #000;
}
#LowPage .WorkFlow {
	width: 590px;
	margin: 20px auto;
}

#LowPage .BoxBorderBottom {
	border-bottom: 1px solid #000;
}

#LowPage .list_wrap {
    list-style: none;
    margin: 0;
    padding: 0;
}
#LowPage .list_wrap li {
	list-style: outside none none;
    margin-bottom: .4em;
    margin-left: 1em;
    text-indent: -1em;
}
#LowPage .list_wrap li:before {
    content: "";
    width: 10px;
    height: 10px;
    display: inline-block;
    background-color: #E5004F;
    border-radius: 50%;
    position: relative;
    top: -1px;
    margin-right: 5px;
}


.BtnShadow {
	width: 300px;
	min-height: 50px;
	border: 1px solid #E5004F;
	background: #fff;
	color: #E5004F;
	text-align: center;
	margin: 30px auto;
	position: relative;
	box-shadow: 10px 10px #C9CACA;
	transition: .3s;
}
.BtnShadow a {
	display: block;
	text-decoration: underline;
	color: #E5004F;
	padding: .53em;
}
.BtnShadow:hover {
	border: 1px solid #fff;
	color: #fff;
	background: #E5004F;
}
.BtnShadow a:hover {
	color: #fff;
}


@media screen and (max-width: 640px) {
	#jigyou .HalfBox30{
		width: 50%;
		margin-left: auto;
		margin-right: auto;
		margin-top: 30px;
	}
	#jigyou .HalfBox55{
		width: 100%;
	}
}


/*/////////////////////////////////////////////////////////////////////////////////////////////
事業内容タブボックス
/////////////////////////////////////////////////////////////////////////////////////////////*/
.disnon {
  display: none;
}




/*事業内容ページ*/
#LowPage ul.tab-list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  border-left: 1px solid #000;
}
#LowPage ul.tab-list li {
  width: 20%;
  font-size: .9em;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px 0;
  border-right: 1px solid #000;
}
@media screen and (max-width: 640px) {
  #LowPage ul.tab-list {
  border-left: none;
}
  #LowPage ul.tab-list li  {
    width: 50%;
    margin-bottom: 30px;
  }
  #LowPage ul.tab-list li:first-child,
  #LowPage ul.tab-list li:nth-child(3) {
  border-left: 1px solid #000;
  }
}
#LowPage ul.tab-list li a {
  text-decoration: underline;
  color: #000;
}

#tabBox .tab_btn_area2 li.select a {
    color: #E5004F;
}
.tabs ul.tab-list li a.active {
    color: #E5004F!important;
}
.tab_content_wrap {
  animation: fadeIn 0.7s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*//////////////////////*/

.arrow_box_title{
    position:relative;
    background:#FFFFFF;
    padding:10px;
    max-width: 300px;
    margin-right: auto;
    margin-left: auto;
    text-align:center;
    border-bottom:2px solid #C9CACA;
    color:#000000;
    font-size:1.1em;
    margin-bottom: 70px;
}
.arrow_box_title:after,.arrow_box_title:before{
    border: solid transparent;
    content:'';
    height:0;
    width:0;
    pointer-events:none;
    position:absolute;
    top:100%;
    left:50%;
}
.arrow_box_title:after{
    border-color: rgba(255, 255, 255, 0);
    border-top-width:37px;
    border-bottom-width:10px;
    border-left-width:15px;
    border-right-width:15px;
    margin-left: -15px;
    border-top-color:#FFFFFF;
}
.arrow_box_title:before{
    border-color: rgba(201, 202, 202, 0);
    border-top-width:42px;
    border-bottom-width:12px;
    border-left-width:17px;
    border-right-width:17px;
    margin-left: -17px;
    margin-top: 2px;
    border-top-color:#C9CACA;
}

.tab-body dl {
  background: #F2F2F2;
  padding: 30px;
  margin-bottom: 60px;
}
.tab-body dl dt {
  position: relative;
}
.tab-body dl dt div.Mark {
  width: 8%;
  position: absolute;
  top:-40px;
}
.tab-body dl dt div.Question {
  width: 90%;
    color: #E5004F;
    font-size: 1.1em;
    padding-left: 10%;
    border-bottom: 1px solid #E5004F;
    margin-bottom: 20px;
}
.tab-body article {
	margin-top: -140px;
	padding-top: 140px;
}
.z_index_1 {
	position: relative;
	z-index: 1;
}

.table_tab {
border-collapse: collapse;
text-align: left;
line-height: 1.5;
	width: 100%;
	max-width: 620px;
	margin-bottom: 30px;
}
.table_tab th {
	width: 26%;
padding: 8px;
border-top: 1px solid #000;
border-bottom: 1px solid #000;
background: #fff;
}
.table_tab td {
padding: 8px;
border-top: 1px solid #000;
border-bottom: 1px solid #000;
}



/*事業内容>>IT＆SI部ページ*/
.StaffNav li {
	display: inline-block;
	margin-right: 80px;
}
.StaffNav li:last-child {
	margin-right: 0px;
}
.StaffNav li a {
	text-decoration: underline;
	color: #000;
}
.StaffNav li a.active {
	color: #E5004F;
}

#Interview .introduction {
	margin-bottom: 30px;
	padding: 20px;
	background: #F2F2F2;
}
#Interview .introduction div {
	width: 18%;
}
#Interview .introduction dl {
	width: 80%;
}
#Interview .introduction dl dt {
    color: #E5004F;
    font-size: 1.1em;
    border-bottom: 1px solid #E5004F;
    margin-bottom: 20px;
}
/*吹き出し共通*/

.balloon:before,.balloon:after {
    clear: both;
    content: "";
    display: block;
}
.balloon-image-left,.balloon-image-right {
    width: 136px;
    height: auto;
}
.balloon-text-box {
	display: flex;
    align-items: center;
	max-width: -webkit-calc(100% - 160px);
    max-width: calc(100% - 160px);
}
/*吹き出し文字右*/
.balloon {
    margin-bottom: 2em;
    /*position: relative;*/
	display: flex;
}
.balloon-image-left {
    float: left;
    margin-right: 30px;
}
.balloon-text-right {
    position: relative;
    padding: 10px;
    border: 1px solid #E5004F;
	background-color: #E5004F;
	color: #fff;
    border-radius: 10px;
    /*max-width: -webkit-calc(100% - 160px);
    max-width: calc(100% - 160px);*/
    display: inline-block;
}
.balloon-text-right {
    float: left;
}
/* 三角部分 */
.balloon-text-right:before {
    position: absolute;
    content: '';
    border: 10px solid transparent;
	border-top-width: 12px;
    border-bottom-width: 0px;
    border-left-width: 12px;
    border-right-width: 22px;
	border-right-color: #E5004F;
    bottom: 19px;
    left: -35px;
}
.balloon-text-right:after {
    position: absolute;
    content: '';
    border: 10px solid transparent;
	border-top-width: 10px;
    border-bottom-width: 0px;
    border-left-width: 10px;
    border-right-width: 20px;
	border-right-color: #E5004F;
    bottom: 20px;
    left: -30px;
}

/*吹き出し文字左*/
.balloon_r {
    margin-bottom: 2em;
    /*position: relative;*/
	display: flex;
	justify-content: flex-end;
}
.balloon-image-right {
    /*float: right;*/
    margin-left: 30px;
	display: flex;
    align-items: flex-end;
}
.balloon-img {
    width: 100%;
    height: 100%;
    border: 1px solid #aaa;
    border-radius: 50%;
    margin: 0;
    background-color: red;
}
.balloon-image-description {
    padding: 5px 0 0;
    font-size: 10px;
    text-align: center;
}
.balloon-text-left {
    position: relative;
    padding: 10px;
    border: 1px solid #EAEAEA;
	background-color: #EAEAEA;
    border-radius: 10px;
    /*max-width: -webkit-calc(100% - 160px);
    max-width: calc(100% - 160px);*/
    display: inline-block;
}
.balloon-text-left {
    float: right;
}
.balloon p {
    margin: 0 0 20px;
}
.balloon p:last-child {
    margin-bottom: 0;
}
/* 三角部分 */
.balloon-text-left:before {
    position: absolute;
    content: '';
    border: 10px solid transparent;
	border-top-width: 12px;
    border-bottom-width: 0px;
    border-left-width: 22px;
    border-right-width: 12px;
	border-left-color: #EAEAEA;
    bottom: 39px;
    right: -35px;
}
.balloon-text-left:after {
    position: absolute;
    content: '';
    border: 10px solid transparent;
	border-top-width: 10px;
    border-bottom-width: 0px;
    border-left-width: 20px;
    border-right-width: 10px;
	border-left-color: #EAEAEA;
    bottom: 40px;
    right: -30px;
}




/*===============================================
	採用ページ
===============================================*/

#recruit {
}
#recruit .main {
	width: 100%;
/*  height: 715px; */
	height: 568px;
/*  max-width: 2560px; */
	max-width: 960px;
	margin: auto;
/*  background-image: url("../img/recruit/main_v.jpg"); */
	background-image: url("../img/recruit/main_saiyo.jpg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
}
@media screen and (max-width: 640px) {
  #recruit .main {
    height: 400px;
  }
}
.recruit_top {
	background-image: url("../img/recruit/bg_conte.jpg");
	background-position: top center;
	background-repeat: repeat-y;
	background-size: cover;
	padding-bottom: 70px;
  /* max-width: 2560px; */
	max-width: 1140px;
	margin-right: auto;
	margin-left:auto;
}
#recruit .conte_recnav {
	width: 1140px;
	background-image: url("../img/recruit/bg_topnavi.jpg");
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 70px 110px 20px;
	margin: auto;
}
@media screen and (max-width: 640px) {
  #recruit .conte_recnav {
    width: 100%;
	padding: 70px 40px 20px;
  }
}
#recruit .conte_recnav .rec_nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#recruit .conte_recnav .rec_nav li {
  margin-left: 60px;
  margin-right: 50px;
	margin-bottom: 50px;
}
#recruit .conte_recnav .rec_nav li a {
	background-repeat: no-repeat;
	background-position: top center;
	display: block;
	width: 310px;
	height: 310px;
}
@media screen and (max-width: 640px) {
#recruit .conte_recnav .rec_nav li {
  margin-left: 0px;
  margin-right: 0px;
  margin-bottom: 50px;
}
	#recruit .conte_recnav .rec_nav li a {
		width: 266px;
		height: 266px;
	}
}

#recruit .conte_recnav .rec_nav li.link_job a {
	background-image: url("../img/recruit/nav_job.png");
	background-size: cover;
}
@media screen and (min-width: 641px) {
#recruit .conte_recnav .rec_nav li.link_job a:hover {
	background-image: url("../img/recruit/nav_job_over.png");
	background-size: cover;
}
}
#recruit .conte_recnav .rec_nav li.link_flow a {
	background-image: url("../img/recruit/nav_flow.png");
	background-size: cover;
}
@media screen and (min-width: 641px) {
#recruit .conte_recnav .rec_nav li.link_flow a:hover {
	background-image: url("../img/recruit/nav_flow_over.png");
	background-size: cover;
}
}
#recruit .conte_recnav .rec_nav li.link_training a {
	background-image: url("../img/recruit/nav_training.png");
	background-size: cover;
}
@media screen and (min-width: 641px) {
#recruit .conte_recnav .rec_nav li.link_training a:hover {
	background-image: url("../img/recruit/nav_training_over.png");
	background-size: cover;
}
}
#recruit .conte_recnav .rec_nav li.link_requirements a {
	background-image: url("../img/recruit/nav_requirements.png");
	background-size: cover;
}
@media screen and (min-width: 641px) {
#recruit .conte_recnav .rec_nav li.link_requirements a:hover {
	background-image: url("../img/recruit/nav_requirements_over.png");
	background-size: cover;
}
}
#recruit .conte_recnav .rec_nav li.link_voice a {
	background-image: url("../img/recruit/nav_voice.png");
	background-size: cover;
}
@media screen and (min-width: 641px) {
#recruit .conte_recnav .rec_nav li.link_voice a:hover {
	background-image: url("../img/recruit/nav_voice_over.png");
	background-size: cover;
}
}
#recruit .conte_recnav .rec_nav li.link_qna a {
	background-image: url("../img/recruit/nav_qna.png");
	background-size: cover;
}
@media screen and (min-width: 641px) {
#recruit .conte_recnav .rec_nav li.link_qna a:hover {
	background-image: url("../img/recruit/nav_qna_over.png");
	background-size: cover;
}
}


/*===============================================
	採用ページ>職種
===============================================*/
h2.svg {
	position: relative;
}
h2.svg:after {
	content: none;
}
h3.svg {
	border-top: none!important;
	border-bottom: none!important;
	padding: 0!important;
}
h3.svg:before,
h3.svg:after {
	display: none;
}

#Jobs dl.SubTitle {
	margin-bottom: 16px;
}
#Jobs #Protect dl.SubTitle dt {
	color: #fff;
	font-weight: bold;
	padding: 8px 14px;
	background-color: #FF931E;
	font-size: 1.3em;
}
#Jobs #Protect dl.SubTitle dd {
	color: #E17500;
	padding: 8px 14px;
	background-color: #FEEFD8;
}

#Jobs #Support dl.SubTitle dt {
	color: #fff;
	font-weight: bold;
	padding: 8px 14px;
	background-color: #7AC943;
	font-size: 1.3em;
}
#Jobs #Support dl.SubTitle dd {
	color: #7AC943;
	padding: 8px 14px;
	background-color: #e8f7cc;
}

#Jobs #Create dl.SubTitle dt {
	color: #fff;
	font-weight: bold;
	padding: 8px 14px;
	background-color: #3FA9F5;
	font-size: 1.3em;
}
#Jobs #Create dl.SubTitle dd {
	color: #218BD7;
	padding: 8px 14px;
	background-color: #cdf1ff;
}

#Jobs .nmt50 {
	margin-top: -50px;
}
#Jobs .nmt70 {
	margin-top: -70px;
}
#Jobs .nmt100 {
	margin-top: -100px;
}
#Jobs .DetailBox {
	width: 86%;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 640px) {
	#Jobs .nmt70 {
		margin-top: 0;
	}
	#recruit ul.SubNav li {
		width: 33%;
	}
  #Jobs .DetailBox {
    width: 100%;
  }
}

.BtnShadowGreen {
	width: 300px;
	min-height: 50px;
	border: 1px solid #7AC943;
	background: #fff;
	color: #000;
	text-align: center;
	margin: 30px auto;
	position: relative;
	box-shadow: 10px 10px #7AC943;
	transition: .3s;
}
.BtnShadowGreen a {
	display: block;
	color: #000;
	padding: .53em;
}

.BtnShadowOrange {
	width: 300px;
	min-height: 50px;
	border: 1px solid #FF931E;
	background: #fff;
	color: #000;
	text-align: center;
	margin: 30px auto;
	position: relative;
	box-shadow: 10px 10px #FF931E;
	transition: .3s;
}
.BtnShadowOrange a {
	display: block;
	color: #000;
	padding: .53em;
}

.BtnBlueLine {
	width: 300px;
	min-height: 50px;
	border: 1px solid #3FA9F5;
	background: #C5E5FC;
	color: #3FA9F5;
	text-align: center;
	margin: 30px auto;
	position: relative;
	transition: .3s;
	padding: 2px;
}
.BtnBlueLine a {
	display: block;
	color: #3FA9F5;
	background: #fff;
	padding: .28em .53em;
}

.BtnBlueSq {
	width: 300px;
	min-height: 50px;
	border: 1px solid #3FA9FF;
	background: #3FA9F5;
	color: #FFFF00;
	text-align: center;
	margin: 30px auto;
	position: relative;
	transition: .3s;
	padding: 2px;
}
.BtnBlueSq a {
	display: block;
	color: #FFFFFF;
	background: #3FA9F5;
	padding: .28em .53em;
}


/*===============================================
	採用ページ>研修
===============================================*/

	h3.DotOrange {
		color: #fff!important;
		font-weight: bold;
		text-align: center!important;
		background-color: #FF931E;
		font-size: 2.7rem!important;
		background-image: url("../img/recruit/bg_dot_orange.svg");
		background-position: center;
		background-repeat: repeat-x;
		background-size: 50px;
		padding: 10px!important;
	}
	dl.Purpose {
		width: 100%;
		position: relative;
		margin-bottom: 70px;
	}
	dl.Purpose dt {
		position: absolute;
		left: -40px;
		top: -30px;
		width: 70px;
		height: 70px;
		border-radius: 50%;
		color: #fff!important;
		text-align: center;
		line-height: 70px;
		font-size: 1.6em;
		font-weight: bold;
	}
	dl.Purpose dt.Orange {
		background-color: #FF931E;
	}
	dl.Purpose dt.Green {
		background-color: #7AC943;
	}
	dl.Purpose dt.Blue {
		background-color: #3FA9F5;
	}
	dl.Purpose dd {
		background-color: #f0f0f0;
		padding: 18px 42px;
		font-size: 1.2em;
	}
	.align-items_center {
		align-items: center;
	}

	#Training .DoubleBox {
		width: 950px;
		position: relative;
		margin: 10px 0 0 10px;
		padding: 30px 40px 40px 30px;
		margin-bottom: 80px;
	}
	#Training .DoubleBox:before {
		position: absolute;
		content: "";
		top: -10px;
		left: -10px;
		width: 950px;
		height: 100%;
	}
@media screen and (max-width: 640px) {
	#Training .DoubleBox{
		width: 98%;
	}
	#Training .DoubleBox:before{
		width: 99%;
	}
}
	#Training .DoubleBox__orange {
		background-color: #FFE9D2;
	}
	#Training .DoubleBox__orange:before {
		border: 1px solid #FF931E;
	}
	#Training .DoubleBox__green {
		background-color: #E4F4D9;
	}
	#Training .DoubleBox__green:before {
		border: 1px solid #7AC943;
	}
	#Training .DoubleBox__blue {
		background-color: #D9EEFD;
	}
	#Training .DoubleBox__blue:before {
		border: 1px solid #3FA9F5;
	}
	#Training .DoubleBox__pink {
		background-color: #FCDFED;
	}
	#Training .DoubleBox__pink:before {
		border: 1px solid #EF5EA6;
	}
	
	
	
	#Training .DoubleBox .FukidashiTitle {
		width: 338px;
		position: absolute;
		left: 20px;
		top: -44px;
	}
	#Training .bg_dot_w {
		background-image: url("../img/recruit/bg_dot_w.png");
		background-size: 30px;
		padding: 16px 20px;
	}
	#Training .FukidashiAllow {
		width: 76px;
		margin-bottom: 80px;
		margin-left: auto;
		margin-right: auto;
	}


/*===============================================
	採用ページ>募集概要
===============================================*/

.Width_25 {
	width: 25%!important;
}

@media screen and (max-width: 640px) {
		.Width_25 {
		width: 50%!important;
	}
}


/*===============================================
	採用ページ>募集方法
===============================================*/

#NewGraduate .NewGraduateTitle{
	background-color: #BFED6D;
	color: #000!important;
	border-top: none!important;
	border-bottom: none!important;
	padding: 0px!important;
	margin-bottom: 20px;
}
#NewGraduate .NewGraduateTitle h3.twotone_green {
	margin-bottom: 0!important;
	border-top: none!important;
	border-bottom: none!important;
	color: #fff!important;
	background-color: #7AC943;
	padding: 10px 12px!important;
	font-size: 2.2rem;
	font-weight: bold!important;
}
#NewGraduate .NewGraduateTitle h3.twotone_green:before,
#NewGraduate .NewGraduateTitle h3.twotone_green:after {
	height: 0!important;
}
#NewGraduate .NewGraduateTitle span {
	padding: 10px 12px!important;
	font-size: 2.2rem;
	font-weight: bold!important;
}

#NewGraduate .ResTableA{
	width:100%;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #7AC943;
	margin-bottom: 90px;
}
 
#NewGraduate .ResTableA th{
	-moz-box-sizing: border-box;     /* box-size[border・padding 込み] */
	box-sizing: border-box;     /* box-size[border・padding 込み] */
	border: 1px solid #7AC943;
	padding: 15px;
	width: 15%;
	font-style: normal;
	font-weight: normal;
	text-align: left;
	vertical-align:top;
	background-color: #E3EFCA;
}
 
#NewGraduate .ResTableA td{
	padding: 15px;
	text-align: left;
	vertical-align: top;
	border-top: dotted 1px #7AC943;
}
 
@media screen and (max-width: 640px) {
#NewGraduate .ResTableA{
	border-bottom:none;
}
#NewGraduate .ResTableA th{
	padding: 5px 10px;
	width:100%;
	display:block;
	margin: 0 auto;
	border:none;
	text-align: left;
}
#NewGraduate .ResTableA td{
	padding: 5px 10px;
	width:100%;
	display: list-item;     /* リストに変換 */
	list-style:none;     /* リストに変換によるドットを非表示 */
	border-top: none !important;
	border-bottom:1px solid #d8d8d8;
}
}
#NewGraduate .ResTableA .Allow {
	padding-left: 1em;
    text-indent: -1em;
	margin-bottom: 8px;
}    
#NewGraduate .ResTableA .Allow:before {
	content: "＞";
}

	
#MidCareer .MidCareerTitle{
	background-color: #FFC98E;
	color: #000!important;
	border-top: none!important;
	border-bottom: none!important;
	padding: 0px!important;
	margin-bottom: 20px;
}
#MidCareer .MidCareerTitle h3.twotone_orange {
	margin-bottom: 0!important;
	border-top: none!important;
	border-bottom: none!important;
	color: #fff!important;
	background-color: #FF931E;
	padding: 10px 12px!important;
	font-size: 2.2rem;
	font-weight: bold!important;
}
#MidCareer .MidCareerTitle h3.twotone_orange:before,
#MidCareer .MidCareerTitle h3.twotone_orange:after {
	height: 0!important;
}
#MidCareer .MidCareerTitle span {
	padding: 10px 12px!important;
	font-size: 2.2rem;
	font-weight: bold!important;
}

#MidCareer .ResTableB{
	width:100%;
	border-collapse: collapse;
	border-spacing: 0;
	border: 1px solid #FF931E;
	margin-bottom: 90px;
}
 
#MidCareer .ResTableB th{
	-moz-box-sizing: border-box;     /* box-size[border・padding 込み] */
	box-sizing: border-box;     /* box-size[border・padding 込み] */
	border: 1px solid #FF931E;
	padding: 15px;
	width: 15%;
	font-style: normal;
	font-weight: normal;
	text-align: left;
	vertical-align:top;
	background-color: #FFF0E3;
}
 
#MidCareer .ResTableB td{
	padding: 15px;
	text-align: left;
	vertical-align: top;
	border-top: dotted 1px #FF931E;
}
 
@media screen and (max-width: 640px) {
#MidCareer .ResTableB{
	border-bottom:none;
}
#MidCareer .ResTableB th{
	padding: 5px 10px;
	width:100%;
	display:block;
	margin: 0 auto;
	border:none;
	text-align: left;
}
#MidCareer .ResTableB td{
	padding: 5px 10px;
	width:100%;
	display: list-item;     /* リストに変換 */
	list-style:none;     /* リストに変換によるドットを非表示 */
	border-top: none !important;
	border-bottom:1px solid #d8d8d8;
}
}
#MidCareer .ResTableB .Allow {
	padding-left: 1em;
    text-indent: -1em;
	margin-bottom: 8px;
}    
#MidCareer .ResTableB .Allow:before {
	content: "＞";
}


/*===============================================
	採用ページ>先輩社員からの声
===============================================*/

#recruitvoice .relative {
	position: relative;
}
#recruitvoice .absolute {
	position: absolute;
	bottom: 0;
    left: 0;
    right: 0;
}
@media screen and (max-width: 640px) {
#recruitvoice .absolute {
	position: inherit;
}
}
#recruitvoice .staff_interview dl {
	margin-bottom: 40px;
}
#recruitvoice .staff_interview dl dt {
	color: #3FA9F5;
	font-size: 1.3em;
	margin-bottom: 10px;
	font-weight: bold;
}
#recruitvoice .staff_interview dl dt:first-letter {
    color: #A0D7F9;
}
#recruitvoice .staff_interview dl dd img {
	width: 100%;
	max-width: 630px;
	height: auto;
}

#recruitvoice .staff_interview2 dl {
	margin-bottom: 40px;
}
#recruitvoice .staff_interview2 dl dt {
	color: #7AC943;
	font-size: 1.3em;
	margin-bottom: 10px;
	font-weight: bold;
}
#recruitvoice .staff_interview2 dl dt:first-letter {
    color: #BFED6D;
}
#recruitvoice .staff_interview2 dl dd img {
	width: 100%;
	max-width: 630px;
	height: auto;
}

@media screen and (max-width: 640px) {
#recruitvoice .staff_interview1 dl dd img ,
#recruitvoice .staff_interview2 dl dd img {
	width: 100%;
}
}


/*===============================================
	採用ページ>Q＆A
===============================================*/
	#AtWork .QAconte {
		padding: 50px 50px 10px;
	}
	#AtWork .QAconte dl {
		margin-bottom: 40px;
	}
	#AtWork .QAconte dl dt {
		position: relative;
		z-index: 1;
		margin-right: 6%;
		background-color: #FFBE19;
		border-radius: 20px
	}
	#AtWork .QAconte dl dt figure {
		width: 16%;
		padding: 2% 0 2% 2%;
	}
	#AtWork .QAconte dl dt figure img {
		width: 100%;
		height: auto;
	}
	#AtWork .QAconte dl dt div {
		width: 84%;
		padding: 2%;
		box-sizing: border-box;
		font-size: 1.4em;
		font-weight: bold;
		display: flex;
		align-items: center;
	}
@media screen and (max-width: 640px) {
	#AtWork .QAconte dl dt div {
		font-size: 1em;
	}
}
	#AtWork .QAconte dl dd {
		position: unset;
		display: block;
		z-index: 0;
		margin-left: 6%;
		margin-top: -50px;
		background-color: #fff;
		border-radius: 20px;
		padding: 70px 50px 30px 70px;
		font-size: 1.4em;
		line-height: 1.6em;
	}
@media screen and (max-width: 640px) {
	#AtWork .QAconte dl dd {
		font-size: 1em;
		padding: 70px 30px 30px 30px;
	}
}

	#AtWork .QAYellow {
		background-color: #FFEFC8;
		background-image: url("../img/recruit/faq01bg.svg");
		background-size: 243px;
	}
	#AtWork .QAYellow dl dt {
		background-color: #FFBE19;
	}
	#AtWork .QAYellow dl dd {
		border: 4px solid #FFBE19;
		background-image: url("../img/recruit/faq01icon.svg");
		background-repeat: no-repeat;
		background-position: right 8px bottom 7px;
		background-size: 110px;
	}

	#AtWork .QABlue {
		background-color: #D3EDFB;
		background-image: url("../img/recruit/faq02bg.svg");
		background-size: 243px;
	}
	#AtWork .QABlue dl dt {
		background-color: #3FCCF5;
	}
	#AtWork .QABlue dl dd {
		border: 4px solid #3FCCF5;
		background-image: url("../img/recruit/faq02icon.svg");
		background-repeat: no-repeat;
		background-position: right 8px bottom 7px;
		background-size: 110px;
	}

	#AtWork .QAGreen {
		background-color: #E4EFCD;
		background-image: url("../img/recruit/faq03bg.svg");
		background-size: 243px;
	}
	#AtWork .QAGreen dl dt {
		background-color: #A3E52E;
	}
	#AtWork .QAGreen dl dd {
		border: 4px solid #A3E52E;
		background-image: url("../img/recruit/faq03icon.svg");
		background-repeat: no-repeat;
		background-position: right 8px bottom 7px;
		background-size: 110px;
	}
	.accordion button {
		width: 100%;
		border: none;
    outline: none;
		background: no-repeat;
	}



/*===============================================
  会社情報
===============================================*/

/*会社情報*/
#corporate .corporate_inner {
	margin: 0 5%;
}
@media screen and (max-width: 640px) {
  #corporate .corporate_inner {
    margin: 0!important;
  }
}
#corporate .bg_pink {
	background-color: #FCF3EF;
	padding: 20px;
}
ol.CircleNumber  {
  margin: 0;
  padding: 0
}
ol.CircleNumber li  {
  list-style: none;
  padding-left: 1.3em;
  text-indent: -1.3em;
}

@media screen and (max-width: 640px) {
  ol.CircleNumber {
    margin-left: 0!important;
  }
}
#corporate dl.Gaiyou {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#corporate dl.BgTokyo {
    background-image: url(../img/corporate/bg_tokyo.jpg);
    background-size: 52%;
    background-position: 20px 40px;
    background-repeat: no-repeat;
}
#corporate dl.Gaiyou dt.LineBackTitle_ht {
    padding: 16px 20px;
    position: relative;
    z-index: 0;
    width: 32%;
}
#corporate dl.Gaiyou dt.LineBackTitle_ht:before {
    content: "";
    background-color: #E5004F;
    width: 1px;
    height: 1.7em;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 1;
}
#corporate dl.Gaiyou dt.LineBackTitle_ht:after {
    content: "";
    background-color: #F2F2F2;
    width: 118px;
    height: 52px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
#corporate dl.Gaiyou dt.LineBackTitle_ht span:before {
    content: "";
    background-color: #E5004F;
    width: calc( 100% - 10px ) ;
    height: 1px;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 1;
}

#corporate dl.Gaiyou dd {
    width: 68%;
}
#corporate dl.Gaiyou dd div {
    background-color: rgba(221,221,221,.4);;
    padding: 16px 20px;
    position: relative;
    margin-bottom: 10px;
}
#corporate dl.Gaiyou dd div:first-child:before {
    content: "";
    background-color: #999999;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 10px;
    left: 0px;
    z-index: 1;
}
#corporate dl.Gaiyou dd div table {
    width: 100%;
}
#corporate dl.Gaiyou dd div table th {
    width: 20%;
    text-align: left;
    vertical-align: top;
}
#corporate dl.Gaiyou dd div table td {
    width: 80%;
    position: relative;
}
#corporate dl.Gaiyou dd div table td a img {
    width: 80px;
    position: absolute;
    top: 0;
    right: 0;
}
@media screen and (max-width: 640px) {
  #corporate dl.Gaiyou dd div table td a img {
    width: 100px;
  }
}
#corporate dl.Gaiyou dd div table.table_b {
    width: 100%;
}
#corporate dl.Gaiyou dd div table.table_b  th {
    width: 30%;
    text-align: left;
    vertical-align: top;
}
#corporate dl.Gaiyou dd div table.table_b  td {
    width: 70%;
}

@media screen and (max-width: 640px) {
    #corporate dl.Gaiyou {
        display: block;
    }
    #corporate dl.Gaiyou dd {
        width: 100%;
    }
}

#corporate table.History {
    width: 100%;
    border-spacing: 5px;
}
#corporate table.History th {
    border-left: 5px solid #E5004F;
}
#corporate table.History th,
#corporate table.History td {
    padding: 10px;
}
#corporate table.History tr:nth-child(odd) th {
    background: #FCF3EF;
    width: 12%;
}
#corporate table.History tr:nth-child(odd) td {
    background: #F2F2F2;
}
#corporate table.History td dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#corporate table.History td dl dt {
    width: 10%;
    text-align: right;
    padding: 0 20px 0 0;
}
#corporate table.History td dl dd {
    width: 90%;
}
@media screen and (max-width: 640px) {
    #corporate table.History th {
        width: 19%!important;
    }
    #corporate table.History td dl dt {
        width: 18%;
    }
    #corporate table.History td dl dd {
        width: 82%;
    }
}
#corporate p.Leader {
    color: #E8E8E8;
    margin-left: 10%;
    margin-bottom: 0;
}
#corporate table.Suppliers {
    width: 100%;
    border-spacing: 0px 20px;
}
#corporate table.Suppliers th {
    padding: 5px 10px;
    text-align: right;
    vertical-align: top;
    border-top: 1px solid #E5004F;
    border-right: 1px solid #E5004F;
    width: 16%;
}
@media screen and (max-width: 640px) {
    #corporate table.Suppliers th {
        width: 23%!important;
    }
}
#corporate table.Suppliers td {
    padding: 5px 5px 5px 20px;
}

/*企業TOPより*/
   .LineBackTitle {
    padding: 16px 20px;
    position: relative;
    z-index: 0;
    font-weight: bold;
    font-size: 1.8rem;
 }
 .LineBackTitle:after {
    content: "";
    background-color: #F2F2F2;
    width: 118px;
    height: 52px;
    position: absolute;
    top:0;
    left: 0;
    z-index: -1;
}
 .LineBackTitle:before {
    content: "";
    background-color: #E5004F;
    width: 1px;
    height: 52px;
    position: absolute;
    top:10px;
    left: 10px;
    z-index: 1;
 }
 .LineBackTitle span:before {
    content: "";
    background-color: #E5004F;
    width: 118px;
    height: 1px;
    position: absolute;
    top:10px;
    left: 10px;
    z-index: 1;
 }
 .corporate_pattern {
    padding: 20px 0;
    position: relative;
 }
.corporate_pattern:before {
    content: "";
    background-color: #FCF3EF;
    width: 87%;
    height: 100%;
    position: absolute;
    top:0;
    left: 3%;
    z-index: -1;
}
.corporate_pattern:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    background-image: url(../img/corporate/bg_corporate_pattern.png);
    background-repeat: repeat-y;
    background-size: 285px;
    width: 285px;
    height: 100%;
    z-index: 1;
}
.corporate_pattern .ti {
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 20px;
} 
.auther {
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
}
.auther p {
    display: flex;
    align-items: flex-end;
}
.auther p:first-child {
    margin-right: 14px;
    text-align: right;
}
.auther p:last-child {
  width: 180px;
}


/*ロゴに託した想い*/
 .PageLogo {
    display: flex;
    justify-content: space-between;
 }
  .PageLogo div {
    width: 48%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  .PageLogo div p span.marker{
  background: linear-gradient(to bottom, transparent 49%, #F9E1D7 50%, #F9E1D7 100%);
  font-size: 1.9rem;
}

/*イメージキャラ紹介*/
    #characters .st0{fill:none;}
    #characters .st1{fill:none;stroke:#71614E;stroke-width:1.44;}
    #characters .st2{fill:none;stroke:#444344;stroke-width:1.44;}
    #characters .st3{opacity:0.7;}
    #characters .st4{fill:#70C7DB;}
    #characters .st5{fill:#C6E7F9;}
    #characters .st6{fill:#FFFFFF;}
    #characters .st7{fill:#CCA467;}
    #characters .st8{fill:none;stroke:#70C7DB;stroke-width:2.5607;}
    #characters .st9{fill:none;stroke:#70C7DB;stroke-width:2.5607;stroke-linecap:round;stroke-linejoin:round;}
    #characters .st10{fill:none;stroke:#CCA467;stroke-width:1.5305;}
    #characters .st11{fill:#35AF57;}
    #characters .st12{fill:#966830;}
    #characters .st13{fill:#E23623;}
    #characters .st14{fill:#D1D1D1;}
    #characters .st15{fill:#D9D9D9;}
    #characters .st16{fill:#E4E3E3;}
    #characters .st17{fill:#C8C7C7;}
    #characters .st18{fill:#888888;}
    #characters .st19{fill:url(#SVGID_1_);}
    #characters .st20{fill:#604C3F;}
    #characters .st21{fill:#DED7C8;}
    #characters .st22{fill:#E95513;stroke:#E95513;stroke-width:0.448;stroke-miterlimit:10;}
    #characters .st23{fill:#6BB6CB;}
    #characters .st24{fill:#CBC0A9;}
    #characters .st25{fill:#6BB6CB;stroke:#FFFFFF;stroke-width:0.9616;stroke-miterlimit:10;}
    #characters .st26{fill:#C4B9A5;}
    #characters .st27{fill:#E6E0D2;}
    #characters .st28{fill:#679160;}
    #characters .st29{fill:#C8BB9B;}
    #characters .st30{opacity:0.3;fill:url(#SVGID_4_);enable-background:new    ;}
    #characters .st31{opacity:0.3;fill:url(#SVGID_5_);enable-background:new    ;}
    #characters .st32{fill:#E2E1E1;}
    #characters .st33{fill:#DBDCDC;}
    #characters .st34{fill:#1EAA39;}
    #characters .st35{fill:#C79F62;}
    #characters .st36{fill:#8DC21F;}
    #characters .st37{fill:#00913A;}
    #characters .st38{fill:#456779;}
    #characters .st39{fill:#456779;stroke:#456779;stroke-width:0.6897;stroke-miterlimit:10;}
    #characters .st40{fill:#456779;stroke:#456779;stroke-width:1.0345;stroke-miterlimit:10;}
    #characters .st41{fill:#80A4B8;}
    #characters .st42{fill:#B1DEF1;}
    #characters .st43{fill:#578498;}
    #characters .st44{fill:url(#SVGID_6_);}
    #characters .st45{fill:#D19300;}
    #characters .st46{fill:url(#SVGID_11_);}
    #characters .st47{fill:url(#SVGID_12_);}
    #characters .st48{fill:#81BE25;}
    #characters .st49{fill:#C8D300;}
    #characters .st50{fill:#98C745;}
    #characters .st51{fill:#97C11B;}
    #characters .st52{fill:#539379;}
    #characters .st53{fill:#D8DCDC;}
    #characters .st54{fill:#A38A77;}
    #characters .st55{fill:#E1E6E6;}
    #characters .st56{fill:#C8BB9B;stroke:#C8BB9B;stroke-width:0.4808;stroke-miterlimit:10;}
    #characters .st57{fill:#D0D0D0;}
    #characters .st58{fill:#66A88F;stroke:#66A88F;stroke-width:0.4808;stroke-miterlimit:10;}
    #characters .st59{fill:#7E7362;}
    #characters .st60{fill:#8C7F6E;}
    #characters .st61{fill:#5CA751;}
    #characters .st62{fill:#B8A773;}
    #characters .st63{opacity:0.3;fill:url(#SVGID_13_);enable-background:new    ;}
    #characters .st64{opacity:0.3;fill:url(#SVGID_14_);enable-background:new    ;}
    #characters .st65{fill:#DE7F1C;stroke:#DE7F1C;stroke-width:1.9232;stroke-miterlimit:10;}
    #characters .st66{fill:#D1C7B8;}
    #characters .st67{fill:#7A7A79;}
    #characters .st68{opacity:0.3;fill:url(#SVGID_15_);enable-background:new    ;}
    #characters .st69{fill:#CBC9C5;}
    #characters .st70{opacity:0.3;fill:url(#SVGID_16_);enable-background:new    ;}
    #characters .st71{opacity:0.2;enable-background:new    ;}
    #characters .st72{fill:#5C9736;}
    #characters .st73{fill:url(#SVGID_17_);}
    #characters .st74{fill:#7AC943;}
    #characters .st75{fill:none;stroke:#FFFFFF;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
    #characters .st76{fill:#377DAB;}
    #characters .st77{fill:url(#SVGID_18_);}
    #characters .st78{fill:#3FA9F5;}
    #characters .st79{fill:#BE6F1C;}
    #characters .st80{fill:url(#SVGID_19_);}
    #characters .st81{fill:#FF931E;}
    #characters .st82{fill:none;stroke:#FFFFFF;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;}
    #characters .st83{fill:#FF931E;stroke:#FF931E;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
    #characters .st84{fill:#FFFFFF;stroke:#FF931E;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
    #characters .st85{fill:none;stroke:#7AC943;stroke-width:3.3937;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
    #characters .st86{fill:none;stroke:#3FA9F5;stroke-width:3.3937;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}




/*===============================================
  福利厚生
===============================================*/

/*福利厚生*/
#benefits .MenuBtn .module {
  position: relative;
}
#benefits .MenuBtn .module:before {
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  background-size: 300px;
  border-radius: 23px;
  filter: grayscale(100%);
  opacity: .5;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
#benefits .MenuBtn .module:hover:before {
  filter: grayscale(0%);
  opacity: 1;
}
#benefits .MenuBtn .module a img {
  opacity: 1!important;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"!important;
  filter: alpha(opacity=100)!important;
}
#benefits .MenuBtn .module-inside {
  position: relative;
}
#benefits .MenuBtn .navi01:before {
  background-image: url(../img/benefits/navi_01_bg.png);
}
#benefits .MenuBtn .navi02:before {
  background-image: url(../img/benefits/navi_02_bg.png);
}
#benefits .MenuBtn .navi03:before {
  background-image: url(../img/benefits/navi_03_bg.png);
}
#benefits .MenuBtn .navi04:before {
  background-image: url(../img/benefits/navi_04_bg.png);
}
#benefits .MenuBtn .navi05:before {
  background-image: url(../img/benefits/navi_05_bg.png);
}
#benefits .MenuBtn .navi06:before {
  background-image: url(../img/benefits/navi_06_bg.png);
}


.inner_conte_470 {
  width: 470px;
  /* margin: 0 auto; */
  margin-left: auto;
  margin-right: auto;
}
.inner_conte_500 {
  width: 500px;
  /* margin: 0 auto; */
  margin-left: auto;
  margin-right: auto;
}
.inner_conte_540 {
    width: 540px;
    /* margin: 0 auto; */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0px;
}
.inner_conte_595 {
  width: 595px;
  /* margin: 0 auto; */
  margin-left: auto;
  margin-right: auto;
}
.inner_conte_600 {
    width: 600px;
    /* margin: 0 auto; */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0px;
}
.inner_conte_700 {
    width: 700px;
    /* margin: 0 auto; */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0px;
}
.inner_conte_720 {
    width: 720px;
    /* margin: 0 auto; */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0px;
}
.inner_conte_730 {
    width: 730px;
    /* margin: 0 auto; */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0px;
}
.inner_conte_815 {
  width: 815px;
  /* margin: 0 auto; */
  margin-left: auto;
  margin-right: auto;
}
.inner_conte_830 {
    width: 830px;
    /* margin: 0 auto; */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0px;
}
.inner_conte_900 {
    width: 900px;
    /* margin: 0 auto; */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0px;
}
.inner_conte {
    width: 960px;
    /* margin: 0 auto; */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0px;
}
@media screen and (max-width: 640px) {
  .inner_conte,
  .inner_conte_595,
  .inner_conte_500,
  .inner_conte_600,
  .inner_conte_700,
  .inner_conte_720,
  .inner_conte_730,
  .inner_conte_815,
  .inner_conte_830,
  .inner_conte_900{
    width: 95%!important;
  }
}





ul.Normal li {
  list-style: inside disc;
  text-indent: -1em;
  padding-left: 1em;
}

.BtnShadow_gray {
  width: 300px;
  min-height: 50px;
  border: 1px solid #000;
  background: #fff;
  color: #000;
  text-align: center;
  margin: 30px auto;
  position: relative;
  box-shadow: 10px 10px #C9CACA;
  transition: .3s;
}
.BtnShadow_gray a {
  display: block;
  text-decoration: underline;
  color: #000;
  padding: .53em;
}
.BtnShadow_gray:hover {
  border: 1px solid #000;
  color: #000;
  background: #efefef;
}
.BtnShadow_gray a:hover {
  color: #000;
}

/*社員寮*/
.DormitoryPh {
  position: relative;
}
.DormitoryPh p {
  position: absolute;
  top: 0;
  right: 0;
  padding: 2px 8px;
  background-color: #000;
  color: #fff;
  font-size: .7em;
}
@media screen and (max-width: 640px) {
    .DormitoryPh p {
        font-size: .5em;
        padding: 0 8px;
    }
}
ul.prepa_list li {
  text-align: center;
  border-bottom: 1px solid #999;
  font-size: 2.8rem;
  /*line-height: 1.6;*/
  padding-bottom: 15px;
  margin-bottom: 30px;
}
@media screen and (max-width: 640px) {
    ul.prepa_list li {
        line-height: 1.4;
    }
}


/*===============================================
  沖縄支社
===============================================*/

#okinawa table.Suppliers {
    width: 100%;
    border-spacing: 0px 20px;
}
#okinawa table.Suppliers th {
    padding: 5px 10px;
    text-align: right;
    vertical-align: top;
    border-top: 1px solid #E5004F;
    border-right: 1px solid #E5004F;
    width: 16%;
}
@media screen and (max-width: 640px) {
    #okinawa table.Suppliers th {
        width: 23%!important;
    }
}
#okinawa table.Suppliers td {
    padding: 5px 5px 5px 20px;
}
#okinawa .Staff_flex {
  display: flex;
  align-items: flex-end;
}
#corporate .Shikumi {
  font-size: 2.4rem;
  text-align: center;
  background: #E5004F;
  color: #fff;
  padding: 10px 0;
  margin-bottom: 20px;
}

#okinawa .okinawa_interview {
  position: relative;
  width: 960px;
  margin: auto;
}
@media screen and (max-width: 640px) {
  #okinawa .okinawa_interview {
    width: 95%;
    padding-bottom: 190px;
  }
}

#okinawa .okinawa_interview .StaffPhoto {
  position: absolute;
  bottom:70px;
  right: 10px;
  width: 280px;
}
@media screen and (max-width: 640px) {
  #okinawa .okinawa_interview .StaffPhoto {
    bottom:40px;
    right: 0px;
    left: 0;
    margin:auto; 
  }
}

#okinawa dl.Gaiyou {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#okinawa dl.Gaiyou dt.LineBackTitle_ht {
    padding: 16px 20px;
    position: relative;
    z-index: 0;
    width: 32%;
}
#okinawa dl.Gaiyou dt.LineBackTitle_ht:before {
    content: "";
    background-color: #E5004F;
    width: 1px;
    height: 1.7em;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 1;
}
#okinawa dl.Gaiyou dt.LineBackTitle_ht:after {
    content: "";
    background-color: #F2F2F2;
    width: 118px;
    height: 52px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
#okinawa dl.Gaiyou dt.LineBackTitle_ht span:before {
    content: "";
    background-color: #E5004F;
    width: calc( 100% - 10px ) ;
    height: 1px;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 1;
}

#okinawa dl.Gaiyou dd {
    width: 68%;
}
#okinawa dl.Gaiyou dd div {
    background-color: rgba(221,221,221,.4);;
    padding: 16px 20px;
    position: relative;
    margin-bottom: 10px;
}
#okinawa dl.Gaiyou dd div:first-child:before {
    content: "";
    background-color: #999999;
    width: 100%;
    height: 1px;
    position: absolute;
    top: 10px;
    left: 0px;
    z-index: 1;
}
#okinawa dl.Gaiyou dd div table {
    width: 100%;
}
#okinawa dl.Gaiyou dd div table th {
    width: 20%;
    text-align: left;
    vertical-align: top;
}
#okinawa dl.Gaiyou dd div table td {
    width: 80%;
    position: relative;
}
#okinawa dl.Gaiyou dd div table td a img {
    width: 80px;
    position: absolute;
    top: 0;
    right: 0;
}
@media screen and (max-width: 640px) {
  #okinawa dl.Gaiyou dd div table td a img {
    width: 100px;
  }
}
#okinawa dl.Gaiyou dd div table.table_b {
    width: 100%;
}
#okinawa dl.Gaiyou dd div table.table_b  th {
    width: 30%;
    text-align: left;
    vertical-align: top;
}
#okinawa dl.Gaiyou dd div table.table_b  td {
    width: 70%;
}

@media screen and (max-width: 640px) {
    #okinawa dl.Gaiyou {
        display: block;
    }
    #okinawa dl.Gaiyou dd {
        width: 100%;
    }
    #okinawa .HalfBox47 {
      width: 100%;
    }
}



/*===============================================
  アクセス
===============================================*/

#corporate dl.access {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
#corporate dl.access dt.LineBackTitle_ht {
    padding: 16px 20px;
    position: relative;
    z-index: 0;
    width: 18%;
    text-align: right;
}
#corporate dl.access dt.LineBackTitle_ht:before {
    content: "";
    background-color: #E5004F;
    width: 1px;
    height: 3em;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
}
#corporate dl.access dt.LineBackTitle_ht:after {
    content: "";
    background-color: #F2F2F2;
    width: calc( 100% - 10px );
    height: 52px;
    position: absolute;
    top: 0;
    left: 10px;
    z-index: -1;
}
#corporate dl.access dt.LineBackTitle_ht span:before {
    content: "";
    background-color: #E5004F;
    width: calc( 100% - 10px ) ;
    height: 1px;
    position: absolute;
    top: 10px;
    left: 0px;
    z-index: 1;
}

#corporate dl.access dd {
    width: 82%;
}
#corporate dl.access dd div {
    padding: 16px 20px;
    position: relative;
    margin-bottom: 10px;
}


.ml1em {
  margin-left: 1em;
}


/*===============================================
  社員寮
===============================================*/

#Ryo table.RyoGreen {
    width: 100%;
    border-collapse: collapse;
    border:1px solid #7AC943; 
    font-size: .92em;
}
#Ryo table.RyoGreen th,
#Ryo table.RyoGreen td {
    padding: 10px;
    border:1px solid #7AC943;
    text-align: left;
}
#Ryo table.RyoGreen tr th {
    background: #F0FCD6;
    width: 20%;
    font-weight: bold;
}
#Ryo table.RyoGreen tr td {
    background: #fff;
    width: 40%;
}

#Ryo table.RyoGreen tr:nth-child(odd) th {
    background: #DCF2AD;
}
#Ryo table.RyoGreen tr:nth-child(odd) td {
    background: #F0FCD6;
}

#Ryo .SvgTi {
  width: 215px;
  margin-left: auto;
  margin-right: auto;
}

#Ryo .ryo_gallery {
  display: flex;
  justify-content: space-between;
}
#Ryo .ryo_gallery dl {
  width: 28%;
}
#Ryo .ryo_gallery dl dt p {
  font-weight: bold;
}
#Ryo .ryo_gallery dl dd {
  padding-top: 8px;
  font-size: 1.05em;
}

#Ryo .ryo_question dl.ryo_blue {
  color: #3FA9F5;
  margin-bottom: 30px;
}
#Ryo .ryo_question dl.ryo_blue dt span {
  color: #9FD4FA;
}
#Ryo .ryo_question dl.ryo_blue dd {
  background-color: #E2F2FD;
  border-radius: 8px;
  padding: 20px;
}

#Ryo .ryo_question dl.ryo_orange {
  color: #FF931E;
  margin-bottom: 30px;
}
#Ryo .ryo_question dl.ryo_orange dt span {
  color: #FFC98E;
}
#Ryo .ryo_question dl.ryo_orange dd {
  background-color: #FFEFDD;
  border-radius: 8px;
  padding: 20px;
}

#Ryo .ryo_question dl.ryo_green {
  color: #7AC943;
  margin-bottom: 30px;
}
#Ryo .ryo_question dl.ryo_green dt span {
  color: #BCE4A1;
}
#Ryo .ryo_question dl.ryo_green dd {
  background-color: #EBF7E3;
  border-radius: 8px;
  padding: 20px;
}

#Ryo .ryo_question dl.ryo_blue dt,
#Ryo .ryo_question dl.ryo_orange dt,
#Ryo .ryo_question dl.ryo_green dt {
  font-size: 1.1em;
  margin-bottom: 8px;
}

@media screen and (max-width: 640px) {
  #Ryo .ryo_gallery {
    display: block;
  }
  #Ryo .ryo_gallery dl {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
  }
}




/*===============================================
  columns
===============================================*/
.columns {
  display: flex;
  margin-bottom: 2em;
}
.columns .column {
  width: 100%;
}
.columns .column:nth-child(even) {
  margin-left: 2em;
}
.columns .column.align-self__center {
  align-self: center;
}
.columns.justify-content__center {
  justify-content: center;
}
@media screen and (max-width: 640px) {
  .columns {
    flex-wrap: wrap;
  }
  .columns .column {
    width: 100%;
    margin: auto;
    margin-bottom: 20px;
  }
  .columns .column:nth-child(even) {
    margin-left: unset;
  }
}

/*===============================================
    TopPage about
  ===============================================*/
#TopPage .about .columns-about-wrap {
  flex-wrap: wrap;
}
#TopPage .about .columns-about-wrap > .column {
  width: calc(50% - 1em);
}
#TopPage .about .columns-about {
  border: 3px solid;
  border-radius: 1em;
  padding: 10px 20px;
  color: black;
}
#TopPage .about .columns-about.color-yellow {
  border-color: #ffbe18;
  background-color: rgba(255, 190, 24, 0.1);
}
#TopPage .about .columns-about.color-green {
  border-color: #a3e52f;
  background-color: rgba(162, 229, 47, 0.1);
}
#TopPage .about .columns-about.color-skyblue {
  border-color: #3eccf5;
  background-color: rgba(62, 205, 245, 0.1);
}
#TopPage .about .columns-about p {
  font-size: 32px;
  font-weight: bold;
}
#TopPage .about .columns-about figure {
  width: 140px;
}
#TopPage .about .columns-about .column:first-child {
  width: auto;
}
#TopPage .about .columns-about .column:nth-child(even) {
  margin-left: 1em;
}
@media screen and (max-width: 640px) {
  #TopPage .about .columns-about-wrap {
    margin-left: 5%;
    margin-right: 5%;
  }
  #TopPage .about .columns-about-wrap > .column {
    width: 100%;
    margin: auto;
  }
  #TopPage .about .columns-about-wrap .columns-about {
    flex-wrap: nowrap;
  }
  #TopPage .about .columns-about-wrap .columns-about .column {
    margin-bottom: auto;
  }
}

/*===============================================
    TopPage what
  ===============================================*/
#TopPage .what h2 {
  text-align: left;
  font-weight: bold;
  font-size: 36px;
  margin-bottom: 60px;
}
#TopPage .what h2::after {
  content: unset;
}
#TopPage .what .columns-movie {
  flex-wrap: wrap;
}
#TopPage .what .columns-movie .column {
  width: calc(50% - 2em);
}
#TopPage .what .columns-movie .column iframe {
  max-width: 100%;
}
#TopPage .what .columns-movie .column img {
  max-height: 270px;
}
#TopPage .what .columns-movie .column:nth-child(even) {
  margin-left: 4em;
}
#TopPage .what .columns-movie .column:nth-child(n+3) {
  margin-top: 4em;
}
@media screen and (max-width: 640px) {
  #TopPage .what .columns-movie .column {
    width: 100%;
  }
  #TopPage .what .columns-movie .column iframe,
#TopPage .what .columns-movie .column img {
    width: 100%;
    max-height: unset;
    min-height: 56vw;
    height: auto;
    aspect-ratio: 1.618/1;
  }
  #TopPage .what .columns-movie .column:nth-child(even) {
    margin-left: unset;
  }
  #TopPage .what .columns-movie .column:nth-child(n+3) {
    margin-top: unset;
  }
}

/*===============================================
    title-box
  ===============================================*/
.title-box {
  position: relative;
  border: 3px solid;
  padding: 55px 30px 20px;
  border-radius: 20px;
  box-shadow: 3px 3px 9px 0 #d3d3d3;
  margin-bottom: 30px;
  margin-top: 50px;
  margin-left: 65px;
}
.title-box::after {
  content: "";
  position: absolute;
  border-radius: 20px;
  top: 15px;
  left: 15px;
  width: calc(100% + 10px);
  height: calc(100% + 10px);
  opacity: 0.2;
  z-index: -1;
  box-shadow: 0 0 9px 0 rgba(0, 0, 0, 0.5);
}
.title-box::before {
  position: absolute;
  content: "";
  bottom: 26px;
  right: -67px;
  width: 190px;
  height: 4px;
  border-radius: 2em;
  transform: rotate(315deg);
}
.title-box > *:last-child {
  margin-bottom: 10px;
}
.title-box__title {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
  color: #fff;
  padding: 20px 60px;
  border: 2px solid;
  left: -25px;
  top: -30px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 30px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  box-shadow: 3px 3px 3px 0 #bcbcbc;
}
.title-box__title::before {
  content: "";
  position: absolute;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 30px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  left: 2px;
  top: 2px;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 2px dotted rgba(255, 255, 255, 0.5);
}
.title-box__title::after {
  position: absolute;
  content: "";
  top: calc(100% + 2px);
  left: -2px;
  border: none;
  border-bottom: solid 20px transparent;
  border-right: solid 25px rgb(129, 129, 129);
  /*折り返し部分*/
}
.title-box__title > * {
  font-size: 24px;
  margin: 0;
  font-weight: bold;
}
.title-box__title h2::after {
  content: unset;
}
.title-box-red {
  border-color: #cf094d;
}
.title-box-red::after {
  background: repeating-linear-gradient(-45deg, rgba(229, 0, 79, 0.1), rgba(229, 0, 79, 0.1) 3px, rgba(229, 0, 80, 0.5) 3px, rgba(229, 0, 80, 0.5) 7px);
}
.title-box-red::before {
  background-color: #e50050;
}
.title-box-red .title-box__title {
  background-color: #e50050;
  border-color: #cf094d;
}
.title-box-red .title-box__title::after {
  border-right-color: #940638;
  /*折り返し部分*/
}
.title-box-orange {
  border-color: #ec902d;
}
.title-box-orange::after {
  background: repeating-linear-gradient(-45deg, rgba(255, 167, 74, 0.1), rgba(255, 167, 74, 0.1) 3px, #ffa94a 3px, #ffa94a 7px);
}
.title-box-orange::before {
  background-color: #ec902d;
}
.title-box-orange .title-box__title {
  background-color: #ffa94a;
  border-color: #ec902d;
}
.title-box-orange .title-box__title::after {
  border-right-color: #a3590a;
  /*折り返し部分*/
}
.title-box-green {
  border-color: #62b12d;
}
.title-box-green::after {
  background: repeating-linear-gradient(-45deg, rgba(121, 201, 67, 0.1), rgba(121, 201, 67, 0.1) 3px, #79c943 3px, #79c943 7px);
}
.title-box-green::before {
  background-color: #62b12d;
}
.title-box-green .title-box__title {
  background-color: #79c943;
  border-color: #62b12d;
}
.title-box-green .title-box__title::after {
  border-right-color: #275807;
  /*折り返し部分*/
}
.title-box .columns > .column {
  padding: 20px;
}
@media screen and (max-width: 640px) {
  .title-box {
    margin: 40px 20px;
  }
  .title-box::before {
    content: unset;
  }
}

/*===============================================
    textbox
  ===============================================*/
.textbox {
  margin: 20px 0;
  padding: 25px 40px;
  border-radius: 10px;
  border: 2px solid;
  font-family: "UD Digi Kyokasho NP-B";
  font-weight: bold;
  font-size: 24px;
  position: relative;
}
.textbox * {
  font-size: 24px;
}
.textbox::before {
  position: absolute;
  left: 4px;
  bottom: 8px;
  height: calc(50% - 8px);
  width: calc(100% - 8px);
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.textbox::after {
  content: "";
  position: absolute;
  border-radius: 10px;
  left: 1px;
  top: 1px;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  border: 2px dotted rgb(255, 255, 255);
}
.textbox-red {
  color: #fff;
  background-color: #e50050;
  border-color: #cf094d;
  text-align: center;
}
.textbox-red::before {
  background: linear-gradient(-45deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3) 3px, rgba(229, 0, 80, 0) 3px, rgba(229, 0, 80, 0) 7px);
  background-size: 7px 7px;
}

h2.textbox {
  font-size: 24px !important;
}
h2.textbox::after {
  content: "" !important;
  transform: unset;
  background-color: unset;
}

/*===============================================
    ヘッダーボタン
  ===============================================*/
a.header-btn {
  padding: 10px 5px 10px 25px;
  border-radius: 5px;
  text-shadow: 1px 1px 0px black;
  line-height: 1;
  font-size: 18px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
}
a.header-btn::before, .header-btn::after {
  content: "";
  position: absolute;
}
a.header-btn::before {
  width: 15px;
  height: 15px;
  background-color: white;
  border-radius: 100%;
  left: 10px;
  top: 0;
  bottom: 0;
  margin: auto;
}
a.header-btn::after {
  border: 4px solid transparent;
  border-left-color: black;
  border-left-width: 6px;
  width: 0;
  height: 0;
  left: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  border-radius: 1px;
}
a.header-btn-red {
  background: linear-gradient(180deg, rgba(219, 0, 51, 0.69) 10%, #dd0033 80%);
  border: 2px solid #d00030;
  color: white;
}
a.header-btn-red::after {
  border-left-color: #dd0033;
}

a.header-btn-blue {
  background: linear-gradient(180deg, rgba(29, 9, 256, 0.69) 10%, #0000cd 80%);
  border: 2px solid #0000cd;
  color: white;
}
a.header-btn-blue::after {
  border-left-color: #0000dd;
}

a.header-btn-orange {
  background: linear-gradient(180deg, rgba(240, 152, 63, 0.69) 10%, #f0983f 80%);
  border: 2px solid #f3983f;
  color: white;
}
a.header-btn-orange::after {
  border-left-color: #f3983f;
}
a.header-btn-saxblue {
  background: linear-gradient(180deg, rgba(103, 154, 256, 0.69) 10%, #00bfff 80%);
  border: 2px solid #6699ff;
  color: white;
}
a.header-btn-saxblue::after {
  border-left-color: #6699ff;
}

/*===============================================
    ヘッダー
  ===============================================*/
@media screen and (max-width: 640px) {
  header .header-btn {
    margin: 5px 0 10px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    flex-basis: fit-content;
    float: left;
  }
  header .access {
    margin: auto 0;
  }
}

/*===============================================
    サイドメニューボタン
  ===============================================*/
@media screen and (max-width: 640px) {
  .side-menu-btn {
    top: 5.7em !important;
  }
}