@charset "UTF-8";
/*--------------------------------------------
	base
--------------------------------------------*/
html {
  color: #000;
  font-size: 16px;
  font-family: 'Noto Sans JP', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

table tr {
  display: block;
  margin: 0 0 3px;
}
table th {
  width: 338px;
  background-color: #65138b;
  color: #efd857;
  vertical-align: middle;
  text-align: center;
  letter-spacing: 0.08em;
  font-size: 18px;
}
table td {
  width: 742px;
  padding: 17px 0 17px 27px;
  background-color: #fff;
  letter-spacing: 0.08em;
  line-height: 1.72;
  font-size: 18px;
}

/*--------------------------------------------
	PC_base
--------------------------------------------*/
#wrapper {
  overflow: hidden;
  min-width: calc( 1080px + 2% );
}

/*--------------------------------------------
	common
--------------------------------------------*/
/* SPコンテンツ非表示 */
body .sp-display {
  display: none;
}

/* clearfix */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/* フォント */
.common-serif {
  font-family: 'Noto Serif JP', serif;
}

/* 中央寄せ */
.common-centering {
  width: 1080px;
  margin: 0 auto;
}

/* ボタン */
.common-hover {
  overflow: hidden;
  position: relative;
}
.common-hover a {
  position: relative;
  z-index: 10;
}
.common-hover:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.35);
  transform: translateX(-100%);
  transition: 0.25s transform;
}
.common-hover:hover:after {
  transform: translateX(0);
}

.common-bt {
  overflow: hidden;
  display: block;
  position: relative;
  background-color: #65138b;
  border-radius: 10.3em;
  font-size: 16px;
}
.common-bt a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 10;
  color: #fff;
}
.common-bt-white {
  border: 1px solid #65138b;
  background-color: #fff;
}
.common-bt-white a {
  color: #65138b;
}
.common-bt-white:after {
  background-color: #65138b;
}
.common-bt-white:hover a {
  color: #fff;
}

.common-contact {
  border-radius: 20px;
  background-color: #efd857;
  color: #65138b;
  letter-spacing: 0.08em;
  font-size: 16px;
  font-weight: 600;
}
.common-contact a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px 0;
}
.common-contact a:before {
  content: "";
  display: inline-block;
  width: 23px;
  height: 16px;
  margin: 0 12px 0 0;
  background: url(../images/common/icn_mail.png) no-repeat 0 0/contain;
}

/* 見出し */
.common-ttl {
  letter-spacing: 0.08em;
  text-align: center;
  font-size: 18px;
  color: #65138b;
}
.common-ttl-white {
  color: #fff;
}
.common-ttl span {
  display: block;
  margin: 0 0 10px;
  font-size: 2.22em;
}

.common-subttl {
  margin: 0 0 30px;
  padding: 13px 0;
  background: url(../images/common/bg01.gif) repeat;
  color: #efd857;
  text-align: center;
  letter-spacing: 0.08em;
  font-size: 35px;
}
.common-subttl-white {
  background-image: none;
  background-color: #fff;
  color: #65138b;
}

/*--------------------------------------------
	header
--------------------------------------------*/
header {
  position: relative;
}
header h1 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  color: #fff;
  text-shadow: 0 0 5px #65138b;
  letter-spacing: 0.05em;
  font-size: 12px;
}

.header_detail {
  position: absolute;
  top: 15px;
  left: 0;
  right: 0;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header_logo {
  flex-grow: 1;
  transition: 0.25s opacity;
}
.header_logo:hover {
  opacity: 0.7;
}
.header_address {
  margin: 0 10px 0 0;
  color: #fff;
  text-align: right;
  letter-spacing: 0.08em;
  line-height: 1.38;
  font-weight: 600;
  font-size: 16px;
}
.header_tel {
  color: #ffde00;
  font-size: 20px;
}
.header_contact {
  width: 193px;
}
.header_catch {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 773px;
  height: 283px;
  z-index: 10;
}
.header_slide {
  position: relative;
  z-index: 0;
}
.header_slideItem {
  height: 830px;
}

.gnav {
  background: linear-gradient(360deg, #c5c5c5 0%, #ffffff 60%);
  box-shadow: 0px 4px 7px 0px rgba(0, 0, 0, 0.27);
}
.gnav_list {
  display: flex;
  justify-content: space-between;
  padding: 15px 0;
}
.gnav_link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 181px;
  margin: 0 -1px 0 0;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  color: #65138b;
  letter-spacing: 0.14em;
  font-size: 18px;
  transition: 0.25s opacity;
}
.gnav_link:hover {
  opacity: 0.7;
}
.gnav_subname {
  display: block;
  margin: 5px 0 0;
  color: #eeb74c;
  text-shadow: 1px 1px 0 #fff;
  text-align: center;
  font-family: 'Noto Sans JP', 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-size: 12px;
}

/* 下層 */
.fix-under header .header_mainvis {
  padding: 213px 0 143px;
  background: url(../images/common/bg_mainvis.jpg) no-repeat center/cover;
  text-align: center;
}

/*--------------------------------------------
	breadcrumb
--------------------------------------------*/
#breadcrumb {
  background: url(../images/common/bg01.gif) repeat;
}
#breadcrumb .breadcrumb_inner {
  display: flex;
  align-items: center;
  padding: 5px 0;
}
#breadcrumb .breadcrumb_label {
  color: #fff;
}
#breadcrumb .breadcrumb_label a {
  transition: 0.25s opacity;
}
#breadcrumb .breadcrumb_label a:hover {
  opacity: 0.7;
}
#breadcrumb .breadcrumb_label:last-child {
  max-width: 70%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.3em;
}
#breadcrumb .breadcrumb_label:not(:last-child):after {
  content: "";
  display: inline-block;
  margin: 0 10px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  vertical-align: 2px;
}

/*--------------------------------------------
	return
--------------------------------------------*/
#return {
  position: fixed;
  right: 30px;
  bottom: 0;
  z-index: 500;
  width: 56px;
  height: 56px;
  background-color: #efd857;
  transform: translateY(90px);
  transition: 0.25s transform, 0.25s opacity;
}
#return:hover {
  opacity: 0.7;
}
#return.is-inview {
  transform: translateY(0);
}
#return a {
  display: block;
  height: 100%;
}
#return .return_shape {
  display: block;
  position: absolute;
  top: 5px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 20px;
  height: 20px;
  border-top: 4px solid #65138b;
  border-right: 4px solid #65138b;
  transform: rotate(-45deg);
}

/*--------------------------------------------
	footer
--------------------------------------------*/
footer {
  padding: 126px 0 32px;
  background: url(../images/common/bg01.gif) repeat;
}

.footer_ttl {
  margin: 0 0 50px;
  text-align: center;
  transition: 0.25s opacity;
}
.footer_ttl:hover {
  opacity: 0.7;
}
.footer_address {
  margin: 0 0 29px;
  color: #fff;
  letter-spacing: 0.08em;
  text-align: center;
  font-size: 18px;
}
.footer_contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  width: 655px;
  margin-bottom: 40px;
}
.footer_tel {
  color: #fff;
  letter-spacing: 0.08em;
  font-size: 36px;
  font-weight: bold;
}
.footer_tel span {
  font-size: 0.78em;
  font-weight: 400;
}
.footer_contactBtn {
  width: 250px;
}
.footer_contactBtn a {
  padding: 15px 0;
}
.footer_nav {
  display: flex;
  justify-content: center;
  margin: 0 0 40px;
  padding: 20px 0;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.footer_link {
  color: #fff;
  padding: 0 0.8em;
  border-right: 1px solid #fff;
  text-align: center;
  font-size: 15px;
  transition: 0.25s opacity;
}
.footer_link:hover {
  opacity: 0.7;
}
.footer_link:last-child {
  border-right: 0;
}
.footer_copy {
  display: block;
  width: 100%;
  color: #fff;
  text-align: center;
  font-size: 14px;
}
.footer_copy a {
  transition: 0.25s opacity;
}
.footer_copy a:hover {
  opacity: 0.7;
}

/*--------------------------------------------
	top
--------------------------------------------*/
#top .greeting {
  padding: 87px 0 535px;
  background: url(../images/top/bg_greeting01.png) no-repeat left bottom/70%, url(../images/top/bg_greeting02.png) no-repeat right bottom/70%, url(../images/top/bg_greeting03.png) no-repeat top center/contain, url(../images/common/bg01.gif) repeat;
}
#top .greeting_ttl {
  margin: 0 0 57px;
}
#top .greeting_txt {
  margin: 0 0 1.72em;
  color: #fff;
  text-align: center;
  line-height: 1.72;
  letter-spacing: 0.08em;
  font-size: 18px;
}
#top .business {
  padding: 100px 0;
  background: url(../images/top/bg_business.png) no-repeat 0 0/cover;
}
#top .business_ttl {
  margin: 0 0 57px;
}
#top .business_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#top .business_card {
  width: 320px;
  height: 280px;
  margin: 0 60px 56px 0;
  padding: 163px 0 22px;
  box-shadow: 0 0 10px 2px rgba(101, 19, 139, 0.14);
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center 22px;
  color: #65138b;
  text-align: center;
  letter-spacing: 0.08em;
  font-size: 30px;
}
#top .business_card:nth-child(1) {
  background-image: url(../images/top/icn_business01.jpg);
}
#top .business_card:nth-child(2) {
  background-image: url(../images/top/icn_business02.jpg);
}
#top .business_card:nth-child(3) {
  background-image: url(../images/top/icn_business03.jpg);
}
#top .business_card:nth-child(4) {
  background-image: url(../images/top/icn_business04.jpg);
}
#top .business_card:nth-child(5) {
  background-image: url(../images/top/icn_business05.jpg);
}
#top .business_card:nth-child(3n) {
  margin-right: 0;
}
#top .business_btn {
  width: 167px;
  margin: 21px auto 0;
}
#top .business_btn a {
  padding: 15px 0;
}
#top .recruit {
  position: relative;
  padding: 0 0 134px;
  background: url(../images/top/bg_recruit02.png) no-repeat right bottom;
}
#top .recruit:after {
  content: "";
  display: block;
  position: absolute;
  top: -15px;
  left: 0;
  width: 859px;
  height: 891px;
  background: url(../images/top/bg_recruit01.png) no-repeat 0 0/contain;
}
#top .recruit_ttl {
  width: 100%;
  margin: 0 0 13px;
  text-align: right;
}
#top .recruit_ttl img {
  width: 100%;
}
#top .recruit_inner {
  padding: 0 0 0 459px;
}
#top .recruit_txt {
  position: relative;
  z-index: 10;
  letter-spacing: 0.08em;
  text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff;
  line-height: 1.72;
  font-size: 18px;
}
#top .recruit_list {
  position: relative;
  z-index: 10;
  margin: 63px 0 0;
}
#top .recruit_bnr {
  width: 550px;
  height: 110px;
  margin: 0 0 30px;
  background-repeat: no-repeat;
  color: #65138b;
  font-size: 40px;
}
#top .recruit_bnr:last-child {
  margin-bottom: 0;
}
#top .recruit_bnr:nth-child(1) {
  background-image: url(../images/top/bt_recruit01.jpg);
}
#top .recruit_bnr:nth-child(2) {
  background-image: url(../images/top/bt_recruit02.jpg);
}
#top .recruit_bnr:after {
  background-color: rgba(101, 19, 139, 0.25);
}
#top .recruit_bnr a {
  display: block;
  padding: 36px 0 36px 196px;
}
#top .works {
  position: relative;
  z-index: 10;
  padding: 120px 0 203px;
  margin: -110px 0 50px;
  background: url(../images/top/bg_works.png) no-repeat 0 0/cover;
}
#top .works_ttl {
  margin: 0 0 29px;
}
#top .works_caseWrap {
  display: flex;
  justify-content: space-between;
  margin: 0 0 88px;
}
#top .works_case {
  width: 320px;
  transition: 0.25s opacity;
}
#top .works_caseInner {
  display: flex;
  flex-direction: column;
}
#top .works_caseTtl {
  order: 2;
  margin: 28px 0 0;
  letter-spacing: 0.08em;
  line-height: 1.45;
  font-size: 18px;
  font-weight: bold;
}
#top .works_caseImg {
  order: 1;
  height: 300px;
}
#top .works_case:hover {
  opacity: 0.7;
}
#top .works_btn {
  width: 380px;
  margin: 0 auto;
  text-align: center;
  letter-spacing: 0.08em;
  font-size: 28px;
}
#top .works_btn a {
  padding: 23px 0;
}
#top .news {
  padding: 0 0 100px;
}
#top .news_ttl {
  margin: 0 0 50px;
}
#top .news_post {
  margin: 0 0 30px;
  box-shadow: 0 2px 17px 0 rgba(0, 0, 0, 0.11);
  transition: 0.25s box-shadow;
}
#top .news_post:hover {
  box-shadow: 0 2px 20px 10px rgba(0, 0, 0, 0.11);
}
#top .news_post a {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 20px 35px;
}
#top .news_postTtl {
  order: 2;
  width: 49em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.3em;
  padding: 0 0 0 29px;
  border-left: 1px solid #ccc;
  letter-spacing: 0.08em;
  font-size: 18px;
}
#top .news_postTime {
  width: 8em;
  padding: 0 26px 0 0;
  color: #65138b;
  letter-spacing: 0.08em;
  font-size: 14px;
  font-weight: bold;
}
#top .news_btn {
  width: 380px;
  margin: 60px auto 0;
  text-align: center;
  letter-spacing: 0.08em;
  font-size: 28px;
}
#top .news_btn a {
  padding: 23px 0;
}

@media screen and (max-width: 1700px) {
  #top .recruit_ttl img {
    width: 90%;
  }
  #top .recruit:after {
    transform: translateX(-30%);
  }
}
/*--------------------------------------------
	business
--------------------------------------------*/
#business .commitment {
  padding: 70px 0;
  background: url(../images/business/bg_commitment.jpg) no-repeat center/cover;
}
#business .commitment_ttl {
  margin: 0 0 55px;
}
#business .commitment_list {
  display: flex;
  justify-content: space-between;
}
#business .commitment_item {
  padding: 340px 0 0;
  width: 330px;
  background-repeat: no-repeat;
  background-position: center top;
  color: #fff;
  letter-spacing: 0.08em;
  text-align: center;
  line-height: 1.26em;
  font-size: 35px;
}
#business .commitment_item:nth-child(1) {
  background-image: url(../images/business/img_commitment01.png);
}
#business .commitment_item:nth-child(2) {
  background-image: url(../images/business/img_commitment02.png);
}
#business .commitment_item:nth-child(3) {
  background-image: url(../images/business/img_commitment03.png);
}
#business .commitment_num {
  display: block;
  position: relative;
  padding: 0 0 25px;
  margin: 0 0 25px;
}
#business .commitment_num:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 20px;
  height: 1px;
  bottom: 0;
  background-color: #fff;
}
#business .business {
  padding: 71px 0 124px;
  background: url(../images/business/bg_businees.jpg) no-repeat center/cover;
}
#business .business_ttl {
  margin: 0 0 50px;
}
#business .business_sec {
  min-height: 360px;
  margin: 0 0 70px;
  background-repeat: no-repeat;
}
#business .business_sec:nth-of-type(1) {
  background-image: url(../images/business/img_business01.jpg);
}
#business .business_sec:nth-of-type(2) {
  background-image: url(../images/business/img_business02.jpg);
}
#business .business_sec:nth-of-type(3) {
  background-image: url(../images/business/img_business03.jpg);
}
#business .business_sec:nth-of-type(4) {
  background-image: url(../images/business/img_business04.jpg);
}
#business .business_sec:nth-of-type(5) {
  background-image: url(../images/business/img_business05.jpg);
}
#business .business_sec:nth-child(even) {
  background-position: left 90px;
}
#business .business_sec:nth-child(even) .business_secTxt {
  padding-left: 535px;
}
#business .business_sec:nth-child(odd) {
  background-position: right 90px;
}
#business .business_sec:nth-child(odd) .business_secTxt {
  padding-right: 540px;
}
#business .business_secTxt {
  margin: 0 0 1.72em;
  letter-spacing: 0.08em;
  line-height: 1.72;
  font-size: 18px;
}
#business .business_secBnr {
  transition: 0.25s opacity;
}
#business .business_secBnr:hover {
  opacity: 0.7;
}

/*--------------------------------------------
	seeker
--------------------------------------------*/
#seeker main {
  padding: 70px 0 160px;
  background: url(../images/seeker/bg_seeker.jpg) no-repeat center top/cover;
}
#seeker .lead {
  width: 760px;
  margin: 0 auto 80px;
  padding: 650px 0 0;
  background: url(../images/seeker/img_seeker.png) no-repeat center top;
}
#seeker .lead_txt {
  margin: 0 0 1.72em;
  text-align: center;
  letter-spacing: 0.08em;
  line-height: 1.72;
  font-size: 18px;
}
#seeker .seeker {
  min-height: 550px;
  margin: 0 0 90px;
  background-repeat: no-repeat;
}
#seeker .seeker:nth-of-type(1) {
  background-image: url(../images/seeker/img_seeker01.jpg);
}
#seeker .seeker:nth-of-type(2) {
  background-image: url(../images/seeker/img_seeker02.jpg);
}
#seeker .seeker:nth-of-type(3) {
  background-image: url(../images/seeker/img_seeker03.jpg);
}
#seeker .seeker:nth-of-type(4) {
  background-image: url(../images/seeker/img_seeker04.jpg);
}
#seeker .seeker:nth-of-type(5) {
  background-image: url(../images/seeker/img_seeker05.jpg);
}
#seeker .seeker:nth-child(even) {
  background-position: left 90px;
}
#seeker .seeker:nth-child(even) .seeker_txt {
  padding-left: 535px;
}
#seeker .seeker:nth-child(odd) {
  background-position: right 90px;
}
#seeker .seeker:nth-child(odd) .seeker_txt {
  padding-right: 540px;
}
#seeker .seeker_txt {
  margin: 0 0 1.72em;
  color: #fff;
  text-shadow: 0 0 3px #885ba0, 0 0 5px #885ba0;
  letter-spacing: 0.08em;
  line-height: 1.72;
  font-size: 18px;
}

/*--------------------------------------------
	recruit
--------------------------------------------*/
#recruit main {
  padding: 70px 0 100px;
  background: url(../images/common/bg02.jpg) no-repeat top/cover;
}
#recruit .recruit_color {
  color: #eb3333;
}
#recruit .recruit_margin {
  display: block;
  margin: 1.72em 0 0;
}

/*--------------------------------------------
	company
--------------------------------------------*/
#company main {
  padding: 70px 0 100px;
  background: url(../images/common/bg02.jpg) no-repeat top/cover;
}
#company .company {
  margin-bottom: 40px;
}
#company .company_margin {
  display: block;
  margin: 1.72em 0 0;
}
#company .map {
  height: 360px;
}

/*--------------------------------------------
	works
--------------------------------------------*/
#works main {
  padding: 70px 0;
  background: url(../images/common/bg02.jpg) no-repeat top/cover;
}
#works .case {
  display: flex;
  flex-wrap: wrap;
}
#works .case_list {
  width: 330px;
  margin-bottom: 50px;
  transition: 0.25s opacity;
}
#works .case_list:hover {
  opacity: 0.7;
}
#works .case_list:nth-child(3n-1) {
  margin: 0 45px;
}
#works .case_inner {
  display: flex;
  flex-direction: column;
}
#works .case_ttl {
  order: 2;
  margin: 20px 0 0;
  color: #65138b;
  letter-spacing: 0.08em;
  line-height: 1.72;
  font-size: 18px;
}
#works .case_img {
  order: 1;
  height: 330px;
  border: 10px solid #fff;
}
#works .case_img .js-imgLiquid {
  display: block;
  width: 100%;
  height: 100%;
}
#works .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}
#works .pagination li {
  margin: 0 5px;
}
#works .pagination li a, #works .pagination li span {
  display: block;
  padding: 6px 9px;
  color: #fff;
}
#works .pagination li a {
  border: 1px solid #65138b;
  background-color: #fff;
  color: #65138b;
  transition: 0.25s opacity;
}
#works .pagination li a:hover {
  opacity: 0.7;
}
#works .pagination li span {
  background-color: #65138b;
}

/*--------------------------------------------
	works_detail
--------------------------------------------*/
#works_detail main {
  padding: 90px 0;
  background: url(../images/common/bg02.jpg) no-repeat top/cover;
}
#works_detail .case_ttl {
  margin: 0 0 20px;
  padding: 18px 0 18px 22px;
  text-align: left;
  letter-spacing: 0.14em;
  line-height: 1.72;
  font-size: 25px;
}
#works_detail .case_img {
  display: flex;
  justify-content: space-between;
  margin: 0 0 36px;
}
#works_detail .case_mainImg {
  width: 660px;
  height: 450px;
}
#works_detail .case_subImgList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 400px;
}
#works_detail .case_subImg {
  width: 180px;
  height: 117px;
  margin: 0 0 20px;
}
#works_detail .case .js-slide {
  cursor: pointer;
  transition: 0.25s opacity;
}
#works_detail .case .js-slide:hover {
  opacity: 0.7;
}
#works_detail .case_comment {
  margin: 0 0 30px;
  line-height: 1.72;
  letter-spacing: 0.08em;
  font-size: 18px;
}
#works_detail .pagination_link {
  position: relative;
  width: 48%;
  background-color: #65138b;
  color: #fff;
  transition: 0.25s opacity;
}
#works_detail .pagination_link:hover {
  opacity: 0.7;
}
#works_detail .pagination_link-next {
  float: left;
}
#works_detail .pagination_link-next a {
  padding-left: 25px;
}
#works_detail .pagination_link-next a:before {
  content: "«";
  margin: 0 10px 0 0;
}
#works_detail .pagination_link-prev {
  float: right;
}
#works_detail .pagination_link-prev a {
  justify-content: flex-end;
  padding-right: 25px;
}
#works_detail .pagination_link-prev a:after {
  content: "»";
  margin: 0 0 0 10px;
}
#works_detail .pagination_link a {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.3em;
}
#works_detail .pagination_link a:before, #works_detail .pagination_link a:after {
  display: inline-block;
}
#works_detail .pagination_inner {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.3em;
}

/*--------------------------------------------
	news
--------------------------------------------*/
#news main {
  padding: 90px 0;
  background: url(../images/common/bg02.jpg) no-repeat top/cover;
}
#news .posts {
  margin: 0 0 40px;
}
#news .posts_article {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin: 0 0 30px;
  padding: 20px 35px;
  background-color: #fff;
  box-shadow: 0 2px 17px 0 rgba(0, 0, 0, 0.11);
  transition: 0.25s box-shadow;
}
#news .posts_article:hover {
  box-shadow: 0 2px 20px 10px rgba(0, 0, 0, 0.11);
}
#news .posts_time {
  order: 1;
  width: 8em;
  padding: 0 26px 0 0;
  color: #65138b;
  letter-spacing: 0.08em;
  font-size: 14px;
  font-weight: bold;
}
#news .posts_title {
  order: 2;
  width: 29em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.3em;
  padding: 0 0 0 29px;
  border-left: 1px solid #ccc;
  letter-spacing: 0.08em;
  font-size: 18px;
}
#news .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
}
#news .pagination li {
  margin: 0 5px;
}
#news .pagination li a, #news .pagination li span {
  display: block;
  padding: 6px 9px;
  color: #fff;
}
#news .pagination li a {
  border: 1px solid #65138b;
  background-color: #fff;
  color: #65138b;
  transition: 0.25s opacity;
}
#news .pagination li a:hover {
  opacity: 0.7;
}
#news .pagination li span {
  background-color: #65138b;
}

/*--------------------------------------------
	news_detail
--------------------------------------------*/
#news_detail main {
  padding: 90px 0;
  background: url(../images/common/bg02.jpg) no-repeat top/cover;
}
#news_detail main .common-centering {
  padding: 20px;
  background-color: #fff;
  box-shadow: 0 2px 17px 0 rgba(0, 0, 0, 0.11);
}
#news_detail .post {
  margin: 0 0 40px;
}
#news_detail .post_ttl {
  padding: 18px 22px;
  text-align: left;
  line-height: 1.72;
  font-size: 25px;
}
#news_detail .post_time {
  display: block;
  margin: 0 0 20px;
  color: #65138b;
  letter-spacing: 0.08em;
  font-size: 14px;
  font-weight: bold;
}
#news_detail .post_body {
  min-height: 400px;
  line-height: 1.75em;
}
#news_detail .pagination_link {
  position: relative;
  width: 48%;
  background-color: #65138b;
  color: #fff;
  transition: 0.25s opacity;
}
#news_detail .pagination_link:hover {
  opacity: 0.7;
}
#news_detail .pagination_link-next {
  float: left;
}
#news_detail .pagination_link-next a {
  padding-left: 25px;
}
#news_detail .pagination_link-next a:before {
  content: "«";
  margin: 0 10px 0 0;
}
#news_detail .pagination_link-prev {
  float: right;
}
#news_detail .pagination_link-prev a {
  justify-content: flex-end;
  padding-right: 25px;
}
#news_detail .pagination_link-prev a:after {
  content: "»";
  margin: 0 0 0 10px;
}
#news_detail .pagination_link a {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.3em;
}
#news_detail .pagination_link a:before, #news_detail .pagination_link a:after {
  display: inline-block;
}
#news_detail .pagination_inner {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.3em;
}

/*--------------------------------------------
	contact
--------------------------------------------*/
#contact main {
  padding: 90px 0;
  background: url(../images/common/bg02.jpg) no-repeat top/cover;
}
#contact .contactForm {
  margin: 0 0 40px;
}
#contact .contactForm th {
  text-align: left;
}
#contact .contactForm_headding {
  position: relative;
  padding: 20px;
  font-size: 16px;
}
#contact .contactForm_desc {
  padding: 20px;
}
#contact .contactForm_desc a {
  text-decoration: underline;
  transition: 0.25s color;
}
#contact .contactForm_desc a:hover {
  color: #65138b;
}
#contact .contactForm_required {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 37px;
  height: 22px;
  right: 20px;
  padding: 5px;
  background-color: #fff;
  color: #65138b;
  font-size: 12px;
}
#contact .contactForm_hidden {
  display: none;
}
#contact .contactForm_line {
  margin: 0 0 10px;
}
#contact .contactForm_select {
  position: relative;
  display: inline;
}
#contact .contactForm_select select {
  cursor: pointer;
}
#contact .contactForm_select:after {
  content: "";
  display: block;
  cursor: pointer;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10px;
  margin: auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #65138b;
  transform: rotate(90deg);
}
#contact .contactForm_label {
  cursor: pointer;
  margin: 0 20px 0 0;
}
#contact .contactForm_textArea {
  width: 70%;
  padding: 7px 10px;
  border: 1px solid #777;
  transition: 0.25s border-color, 0.25s background-color;
}
#contact .contactForm_textArea:focus {
  border-color: #65138b;
}
#contact .contactForm_textArea-num {
  width: 15%;
}
#contact .contactForm_btn {
  cursor: pointer;
  position: relative;
  width: 15px;
  height: 15px;
  margin: 0 5px 0 0;
  border: 1px solid #777;
  vertical-align: middle;
  transition: 0.25s border-color, 0.25s background-color;
}
#contact .contactForm_btn:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 9px;
  height: 9px;
  margin: auto;
  background-color: #65138b;
  opacity: 0;
  transition: 0.25s opacity;
}
#contact .contactForm_btn:checked:before {
  opacity: 1;
}
#contact .contactForm_btn[type="radio"] {
  border-radius: 50%;
}
#contact .contactForm_btn[type="radio"]:before {
  border-radius: 50%;
}
#contact .contactForm_file {
  width: 55%;
}
#contact .contactForm_fileThumb {
  position: relative;
  overflow: hidden;
  height: 400px;
  margin: 0 0 20px;
}
#contact .contactForm_fileThumb img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
#contact .contactForm_fileBtn {
  display: flex;
  justify-content: space-between;
}
#contact .contactForm_submitWrapper {
  width: 320px;
  margin: 0 auto;
}
#contact .contactForm_submit {
  resize: none;
  cursor: pointer;
  width: 100%;
  margin: 0 0 30px;
  padding: 20px 0;
  color: #fff;
}
#contact .contactForm_submit:not([disabled]) {
  transition: 0.25s opacity;
}
#contact .contactForm_submit:not([disabled]):hover {
  opacity: 0.7;
}
#contact .contactForm_submit[disabled] {
  cursor: default;
  background-color: #aaa;
}
#contact .contactForm_submit-back {
  background-color: #fff;
  color: #65138b;
  border: 1px solid #65138b;
}
#contact .contactForm_submit-file {
  display: block;
  width: 48%;
  margin: 0 0 10px;
  text-align: center;
}
#contact .contactNotice {
  text-align: center;
  line-height: 1.75em;
}
#contact .error-text {
  color: #eb3333;
  font-size: 14px;
}
#contact .contact-recaptcha-wrap {
  width: 304px;
  margin: 0 auto 50px;
}

/*--------------------------------------------
	privacy
--------------------------------------------*/
#privacy main {
  padding: 90px 0;
  background: url(../images/common/bg02.jpg) no-repeat top/cover;
}
#privacy .privacy_section {
  margin: 0 0 40px;
}
#privacy .privacy_ttl {
  padding: 18px 0 18px 22px;
  text-align: left;
  font-size: 25px;
}
#privacy .privacy_text {
  line-height: 1.75em;
}

/*--------------------------------------------
	sitemap
--------------------------------------------*/
#sitemap main {
  padding: 90px 0;
  background: url(../images/common/bg02.jpg) no-repeat top/cover;
}
#sitemap .sitemap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#sitemap .sitemap_list {
  width: 48%;
  border-bottom: 1px solid #000;
  transition: 0.25s opacity;
}
#sitemap .sitemap_list:hover {
  opacity: 0.7;
}
#sitemap .sitemap_list a {
  display: block;
  padding: 15px 0;
}
#sitemap .sitemap_list a:before {
  content: "";
  display: inline-block;
  margin: 0 10px 0 0;
  width: 5px;
  height: 5px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: rotate(45deg);
}

/*--------------------------------------------
	error
--------------------------------------------*/
#error main {
  padding: 90px 0;
  background: url(../images/common/bg02.jpg) no-repeat top/cover;
}
#error .errorText {
  line-height: 1.75em;
}
#error .errorText a {
  text-decoration: underline;
  transition: 0.25s color;
}
#error .errorText a:hover {
  color: #65138b;
}
