@charset "UTF-8";
@import url(all.css);
/* ###################### */
/* ######## 変数 ######## */
/* ###################### */
/* カラー */
/* パターン */
/* 書式 */
/* ###################### */
/* ######## 関数 ######## */
/* ###################### */
/*===============================================
  切り替え用
===============================================*/
.pc-none {
  display: none !important;
}

a[href^="tel:"] {
  pointer-events: none;
}

/*===============================================
  ページネーション
===============================================*/
.pagenation {
  padding-top: 48px;
}
.pagenation li {
  width: 30px;
  font-size: 1.3rem;
  line-height: 30px;
  margin: 5px 4px 0;
}

/*===============================================
  詳細ページ前後
===============================================*/
.paginated-link {
  justify-content: center;
  padding-top: 56px;
}
.paginated-link li {
  width: 200px;
  margin: 0 20px;
}
.paginated-link li a {
  padding: 12px 0;
  line-height: 1.625;
  letter-spacing: 0em;
}
.paginated-link li.prev-link a {
  padding-right: 24px;
}
.paginated-link li.prev-link a::before {
  margin-right: 16px;
}
.paginated-link li.next-link a {
  padding-left: 24px;
}
.paginated-link li.next-link a::after {
  margin-left: 16px;
}

/*===============================================
  wrapper
===============================================*/
#wrapper {
  max-width: 1920px;
  min-width: 1280px;
}

/*===============================================
  header
===============================================*/
header .header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: calc(100% - 80px);
  height: 100px;
  position: relative;
  z-index: 0;
}
header .header-logo {
  position: absolute;
  top: 16px;
  left: 0;
}
header .header-oth {
  display: flex;
  justify-content: center;
  align-items: center;
}
header .header-oth .tel {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  color: #222;
  letter-spacing: 0;
  line-height: 1;
  margin-right: 16px;
}
header .header-oth .tel::before {
  content: "";
  display: block;
  background: url(../img/common/tel-icon.png) no-repeat center/contain;
  width: 23px;
  height: 23px;
  margin-right: 10px;
}
header .header-oth .tel a {
  display: block;
  font-size: 3rem;
}
header .header-oth .mail {
  width: 60px;
  height: 60px;
}
header .header-oth .mail a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  background: url(../img/common/pattern/pattern05.jpg);
  border: solid 2px #187549;
  box-sizing: border-box;
  border-radius: 10px;
  box-shadow: 2px 3px rgba(34, 34, 34, 0.2);
  transition: all 0.3s;
}
header .header-oth .mail a img {
  width: 28px;
}
header .header-oth .mail a:hover {
  text-decoration: none;
  box-shadow: none;
  transform: translate(2px, 3px);
}
header.entrance-head .header {
  width: 1080px;
}
header.entrance-head .header-oth .mail {
  width: 250px;
}
header.entrance-head .header-oth .mail a {
  font-size: 1.7rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  color: #187549;
  letter-spacing: 0.05em;
  line-height: 1;
}

/*===============================================
  footer
===============================================*/
footer::before {
  min-width: 1560px;
  height: calc(100% - 50px);
}
footer .footer {
  width: 1080px;
  padding: 76px 0 80px;
}
footer .footer-logo {
  text-align: center;
  margin-bottom: 35px;
}
footer .footer-info {
  margin-bottom: 40px;
}
footer .footer-info .tel::before {
  width: 23px;
  height: 23px;
  margin-right: 10px;
}
footer .footer-info .tel a {
  font-size: 3rem;
}
footer .footer-info .mail {
  width: 250px;
  height: 60px;
  margin: 0 auto 20px;
}
footer .footer-info .mail a {
  font-size: 1.7rem;
  letter-spacing: 0.05em;
}
footer .footer-links li {
  height: 60px;
  margin: 0 5px;
}
footer .footer-links li.link {
  width: 240px;
}
footer .footer-links li.link a {
  font-size: 1.7rem;
  letter-spacing: 0.05em;
}
footer .footer-links li.link a::after {
  width: 16px;
  height: 16px;
  margin-left: 10px;
}
footer .footer-links li.ig {
  width: 60px;
}
footer .footer-links li.ig a {
  border-radius: 50%;
}
footer .footer-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
}
footer .footer-nav li {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.7rem;
  letter-spacing: 0.05em;
  line-height: 1.58824;
}
footer .footer-nav li::after {
  content: "|";
  display: block;
  margin: 0 34px;
}
footer .footer-nav li:last-of-type::after {
  display: none;
}
footer .footer-nav li a {
  display: block;
  text-decoration: none;
}
footer .footer-nav li a:hover {
  text-decoration: none;
  color: #ebf6dd;
}
footer .footer-nav li.current a {
  color: #ebf6dd;
}

.footer-bottom .in {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
  width: 1080px;
  height: 53px;
  margin: 0 auto;
}
.footer-bottom .in .footer-sub-nav {
  display: flex;
  justify-content: center;
  align-items: center;
}
.footer-bottom .in .footer-sub-nav li {
  margin-right: 20px;
}
.footer-bottom .in .footer-sub-nav li:last-of-type {
  margin-right: 0;
}
.footer-bottom .in .footer-sub-nav li a {
  display: block;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  color: #222;
  letter-spacing: 0;
  line-height: 2;
}
.footer-bottom .in .footer-sub-nav li a:hover {
  text-decoration: none;
  color: #187549;
}
.footer-bottom .in .footer-sub-nav li.current a {
  color: #187549;
}

/*********コピーライト***********/
div.copy.entrance-copy {
  padding: 10px 0;
}

/*===============================================
  ページトップ
===============================================*/
#side-bnr {
  width: 230px;
  height: 0;
  padding-top: 230px;
  bottom: 40px;
  right: 40px;
}
@media screen and (max-width: 1920px) {
  #side-bnr {
    width: 11.9792%;
    padding-top: 11.9792%;
    right: calc(25vw - 440px);
  }
}
@media screen and (max-width: 1700px) {
  #side-bnr {
    right: -15px;
  }
}
@media screen and (max-width: 1285px) {
  #side-bnr {
    width: 154px;
    padding-top: 154px;
  }
}
#side-bnr a {
  flex-direction: column;
  border-radius: 50%;
}
#side-bnr a p {
  font-size: 3rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1920px) {
  #side-bnr a p {
    font-size: 1.5625vw;
  }
}
@media screen and (max-width: 1280px) {
  #side-bnr a p {
    font-size: 2rem;
  }
}
#side-bnr a p.min {
  font-size: 1.7rem;
  letter-spacing: 0.05em;
  line-height: 1.47059;
  padding-top: 7.0797%;
}
@media screen and (max-width: 1920px) {
  #side-bnr a p.min {
    font-size: 0.8855vw;
  }
}
@media screen and (max-width: 1355px) {
  #side-bnr a p.min {
    font-size: 1.2rem;
  }
}
#side-bnr a::before {
  width: 19.912%;
  height: 0;
  padding-top: 16.815%;
  margin-bottom: 8.8496%;
}

/*===============================================
  visual
===============================================*/
.visual-wrap {
  padding: 100px 0 40px;
}
.visual-wrap::before {
  width: 67.7084%;
  min-width: 920px;
  border-radius: 0 0 0 40px;
}
.visual-wrap .main_bg {
  height: 0;
  padding-top: 34.375%;
}
@media screen and (max-width: 1504px) {
  .visual-wrap .main_bg {
    padding-top: 517px;
  }
}
.visual-wrap .main_bg::before {
  width: 91.9792%;
  min-width: 1400px;
  height: 0;
  padding-top: 12.136%;
  margin-top: 3.75%;
}
.visual-wrap .main_bg::after {
  width: 87.5%;
  min-width: 1360px;
  height: 0;
  padding-top: 8.855%;
  margin-bottom: 1.4584%;
}
.visual-wrap .main_bg .in {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  width: calc(100% - 40px);
  max-width: 1564px;
}
.visual-wrap .main_bg .in::before {
  width: 63.9387%;
  height: calc(100% - 40px);
  border-radius: 20px;
}
.visual-wrap .main_bg .in .mv-box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-direction: column;
  width: 57.545%;
  height: 72.728%;
  padding: 4.3479% 5.755% 0;
  border-width: 4px;
  border-radius: 100vh;
  margin-bottom: 14px;
  margin-left: 1.9182%;
}
.visual-wrap .main_bg .in .mv-box::before {
  border-radius: 100vh;
}
.visual-wrap .main_bg .in .mv-box::after {
  width: 27.803%;
  height: 109.534%;
  right: calc(50% + 127px);
  bottom: -4.492%;
}
.visual-wrap .main_bg .in .mv-box > * {
  width: 446px;
}
.visual-wrap .main_bg .in .mv-box h2 {
  font-size: 4rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin-bottom: 2.809%;
}
.visual-wrap .main_bg .in .mv-box .mv-sub {
  font-size: 3rem;
  letter-spacing: 0.1em;
}
.visual-wrap .main_bg .in .mv-box .mv-sub .mark {
  display: inline-block;
  position: relative;
  z-index: 0;
}
.visual-wrap .main_bg .in .mv-box .mv-sub .mark::before {
  content: "";
  width: calc(100% + 8px);
  height: 18px;
  background: #fff9a7;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -10px;
  z-index: -1;
}
.visual-wrap .main_bg .in .mv-box .ki {
  display: inline-block;
  letter-spacing: 0;
  margin-right: -0.5em;
}
.visual-wrap .main_bgs {
  height: 300px;
}
.visual-wrap .main_bgs::before {
  width: calc(100% - 100px);
  max-width: 1280px;
  border-radius: 20px;
}
.visual-wrap .main_bgs .sv-box {
  width: 580px;
  height: 100px;
}
.visual-wrap .main_bgs .sv-box h2 {
  font-size: 3rem;
  letter-spacing: 0.1em;
  line-height: 1.2;
  padding: 0 5px;
}

/*===============================================
  グローバルナビ
===============================================*/
.g-nav {
  margin-right: 30px;
}
.g-nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.g-nav ul li {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.7rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  color: #222;
  letter-spacing: 0.05em;
  line-height: 1.58824;
}
.g-nav ul li::after {
  content: "|";
  display: block;
  margin: 0 12px;
}
.g-nav ul li:last-of-type::after {
  display: none;
}
.g-nav ul li a {
  display: block;
  color: #222;
}
.g-nav ul li a:hover {
  text-decoration: none;
  color: #187549;
}
.g-nav ul li.current a {
  color: #187549;
}

/*===============================================
  main#container
===============================================*/
#container {
  font-size: 1.7rem;
  line-height: 1.64706;
  letter-spacing: 0.05em;
}

/*===============================================
  パンくずリスト
===============================================*/
.bread {
  height: 40px;
}
.bread .breadcrumbs {
  width: 1080px;
}
.bread .breadcrumbs li {
  font-size: 1.6rem;
  letter-spacing: 0em;
  line-height: 1.875;
}

/*===============================================
  main共通
===============================================*/
.cont {
  width: 1080px;
}

.btn {
  width: 300px;
  height: 60px;
}
.btn a::before, .btn a::after {
  width: 17px;
  right: 18px;
}

.table th {
  padding: 13px 20px;
  border-bottom: solid 1px #fff;
}
.table td {
  padding: 13px 20px;
  border-bottom: solid 1px #187549;
  border-right: solid 4px #187549;
}
.table tr:first-of-type th {
  border-top: solid 4px #187549;
  border-radius: 20px 0 0 0;
}
.table tr:first-of-type td {
  border-top: solid 4px #187549;
  border-radius: 0 20px 0 0;
}
.table tr:last-of-type th {
  border-bottom: solid 4px #187549;
  border-radius: 0 0 0 20px;
}
.table tr:last-of-type td {
  border-bottom-width: 4px;
  border-radius: 0 0 20px 0;
}

/*===============================================
  タイトル
===============================================*/
.h3-ttl01 {
  margin-bottom: 80px;
}
.h3-ttl01 .en {
  font-size: 3rem;
  margin-bottom: 30px;
}
.h3-ttl01 .t {
  font-size: 4rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  margin: -10px 0;
}
.h3-ttl01 .t .mid {
  font-size: 3rem;
  line-height: 2;
  margin-top: -5px;
}

.h3-ttl02 {
  font-size: 3rem;
  line-height: 1.33334;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
}

/*===============================================
  総合トップ
===============================================*/
.entrance {
  height: calc(100vh - 40px);
  min-height: 686px;
  padding-top: 100px;
}
.entrance::before {
  width: 67.7084%;
  min-width: 920px;
  height: 100%;
}
.entrance::after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/entrance/bg-deco_lt.png) no-repeat left 7.8778% top 4.7121%/11.40625%, url(../img/entrance/bg-deco_lb.png) no-repeat left bottom/20.0521%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.entrance .in {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-direction: column;
  flex-wrap: wrap;
  width: calc(100% - 80px);
  max-width: 1380px;
  height: calc(100% - 40px);
  margin: 0 auto;
}
.entrance .entrance-box {
  width: calc(50% - 10px);
  height: calc(50% - 10px);
  border-width: 4px;
  border-radius: 20px;
  box-shadow: 2px 3px rgba(34, 34, 34, 0.2);
}
.entrance .entrance-box a::before {
  width: 29.762%;
}
.entrance .entrance-box .entrance-text-box {
  width: 70.2381%;
  height: 100%;
  background-size: 23.941%;
  margin-left: auto;
}
.entrance .entrance-box .entrance-text-box > * {
  width: calc(100% - 40px);
  max-width: 362px;
}
.entrance .entrance-box .entrance-text-box .entrance-ttl {
  align-items: flex-start;
  margin-bottom: 22px;
}
.entrance .entrance-box .entrance-text-box .entrance-ttl .min {
  font-size: 1.7rem;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}
.entrance .entrance-box .entrance-text-box .entrance-ttl .mark {
  font-size: 4rem;
  letter-spacing: 0.1em;
  padding: 12px 0;
  position: relative;
  z-index: 0;
}
.entrance .entrance-box .entrance-text-box .entrance-ttl .mark::before {
  content: "";
  width: 100%;
  height: 18px;
  background: #fff9a7;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.entrance .entrance-box .entrance-text-box .entrance-txt {
  font-size: 1.7rem;
  line-height: 1.64706;
  letter-spacing: 0.05em;
}
.entrance .entrance-box.official {
  height: 100%;
  margin-right: auto;
}
.entrance .entrance-box.official a::before {
  width: 100%;
}
.entrance .entrance-box.official .entrance-text-box {
  width: 100%;
  height: calc(100% - 240px);
  max-height: 326px;
  background-size: 22.883%;
}
.entrance .entrance-box.official .entrance-text-box > * {
  width: calc(100% - 60px);
  max-width: 512px;
}

/*===============================================
  トップページ
===============================================*/
.index > article {
  padding: 100px 0;
}
.index .index-about::before {
  content: "";
  width: 1920px;
  height: 100%;
  background: url(../img/index/con01-deco_lb.png) no-repeat left 79px bottom 58px, url(../img/index/con01-deco_rt.png) no-repeat right top;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  z-index: -2;
}
.index .index-about::after {
  width: 1162px;
  height: 602px;
  bottom: 107px;
}
.index .index-about .index-about-ttl .mark {
  font-size: 4rem;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
}
.index .index-about .index-about-ttl .mark .line {
  margin-right: 0.2em;
}
.index .index-about .index-about-ttl .mark .line:last-of-type {
  margin-right: 0;
}
.index .index-about .index-about-ttl .mark .line span {
  display: inline-block;
  font-size: 6rem;
  margin-right: -0.25em;
}
.index .index-about .index-about-ttl .mark .line::before {
  width: 100%;
  height: 18px;
  bottom: -7px;
}
.index .index-about .index-about-ttl .mark .ki {
  display: inline-block;
  font-size: 5rem;
  margin-right: -0.5em;
  transform: rotate(10deg);
}
.index .index-about .index-about-text {
  width: 50%;
  margin-top: -6px;
}
.index .index-about .index-about-text .txt {
  margin-bottom: 35px;
}
.index .index-about .index-about-text .txt p {
  margin-bottom: 28px;
}
.index .index-movie {
  padding-bottom: 118px;
}
.index .index-movie::before {
  width: calc(100% - 100px);
  max-width: 1280px;
  height: calc(100% - 218px);
  border-radius: 40px;
}
.index .index-movie::after {
  content: "";
  width: 1616px;
  height: 511px;
  background: url(../img/index/con02-deco_l.png) no-repeat left top, url(../img/index/con02-deco_r.png) no-repeat right 64px bottom;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 150px;
  z-index: -3;
}
.index .index-movie .index-movie-ttl {
  margin-bottom: 76px;
}
.index .index-movie .index-movie-box {
  width: 880px;
  padding: 8px;
  margin: 0 auto;
}
.index .index-movie .index-movie-box::before {
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  bottom: -16px;
  right: -16px;
}
.index .index-movie .index-movie-box::after {
  border-radius: 4px;
}
.index .index-feature {
  background: url(../img/index/con03-bg_deco.png) no-repeat center/auto 100%, #ebf6dd;
}
.index .index-feature::after {
  width: calc(100% - 20px);
  max-width: 1428px;
  height: 613px;
}
.index .index-feature .index-feature-box {
  width: 660px;
  margin-left: auto;
}
.index .index-feature .index-feature-box .txt {
  margin: -5px 0 35px;
}
.index .index-feature .index-feature-box .list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-top: -10px;
  margin-bottom: 40px;
}
.index .index-feature .index-feature-box .list li {
  width: calc(50% - 5px);
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 1.25;
  margin-top: 10px;
}
.index .index-feature .index-feature-box .list li::before {
  width: 46px;
  height: 46px;
  padding-left: 0.1em;
}
.index .index-feature .index-feature-box .list li > span {
  width: calc(100% - 62px);
  padding: 20px 0;
}
.index .index-feature .index-feature-box .list li::after {
  width: calc(100% - 23px);
  border-radius: 10px;
}
.index .index-comic {
  padding-top: 150px;
  background: url(../img/index/con04-bg_deco.png) no-repeat center/auto 100%;
}
.index .index-comic .index-comic-ttl {
  font-size: 4rem;
  letter-spacing: 0.1em;
  margin-bottom: 75px;
}
.index .index-comic .index-comic-ttl::before, .index .index-comic .index-comic-ttl::after {
  width: calc(100% - 56px);
  height: 101px;
  top: -36px;
}
.index .index-comic .index-comic-ttl .min {
  font-size: 3rem;
  padding-top: 27px;
}
.index .index-comic .index-comic-frames {
  overflow: hidden;
}
.index .index-comic .index-comic-frames li {
  float: right;
  margin-bottom: 32px;
}
.index .index-comic .index-comic-frames li:nth-of-type(2n) {
  float: left;
}
.index .index-comic .index-comic-frames li:nth-of-type(2) {
  margin-top: 80px;
}
.index .index-contact .index-contact-list {
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.index .index-contact .index-contact-list::before {
  width: 426px;
  height: 540px;
  left: -216px;
  bottom: -100px;
  z-index: 1;
}
.index .index-contact .index-contact-list::after {
  width: 331px;
  height: 515px;
  right: -119px;
  bottom: -100px;
  z-index: 1;
}
.index .index-contact .index-contact-list .index-contact-item {
  width: 330px;
  padding-bottom: 40px;
  margin: 0 20px;
}
.index .index-contact .index-contact-list .index-contact-item::before {
  height: calc(100% - 70px);
  border-radius: 20px;
}
.index .index-contact .index-contact-list .index-contact-item figure {
  width: 140px;
  height: 140px;
  margin-bottom: 28px;
}
.index .index-contact .index-contact-list .index-contact-item h4 {
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 34px;
}
.index .index-contact .index-contact-list .index-contact-item h4 .mark {
  font-size: 3rem;
  line-height: 1.2;
}
.index .index-contact .index-contact-list .index-contact-item .tel {
  height: 60px;
}
.index .index-contact .index-contact-list .index-contact-item .tel a {
  font-size: 4rem;
}
.index .index-contact .index-contact-list .index-contact-item .mail-link {
  width: 250px;
  height: 60px;
  margin: 0 auto;
}
.index .index-contact .index-contact-list .index-contact-item .mail-link a {
  font-size: 1.7rem;
  letter-spacing: 0.05em;
}
.index .index-news .cont {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 0;
}
.index .index-news .cont::before {
  content: "";
  width: calc(100% + 214px);
  height: calc(100% + 26px);
  background: url(../img/index/con06-deco_lt.png) no-repeat left 69px top, url(../img/index/con06-deco_rb.png) no-repeat right bottom;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -6px;
  z-index: -1;
}
.index .index-news .index-news-ttl-wrap {
  width: 200px;
  position: relative;
  z-index: 1;
}
.index .index-news .index-news-ttl-wrap .index-news-ttl {
  margin-bottom: 40px;
}
.index .index-news .index-news-ttl-wrap .index-news-ttl .en {
  margin-bottom: 20px;
}
.index .index-news .index-news-ttl-wrap .index-news-ttl .t {
  font-size: 3rem;
  line-height: 1.66667;
}
.index .index-news .index-news-ttl-wrap .btn {
  width: 100%;
}
.index .index-news .index-news-list {
  width: calc(100% - 265px);
  min-height: 298px;
  padding: 60px 190px 60px 0;
  position: relative;
  z-index: 0;
}
.index .index-news .index-news-list::before {
  content: "";
  width: 1000px;
  height: 100%;
  background: url(../img/common/pattern/pattern04.jpg);
  border-radius: 20px;
  position: absolute;
  top: 8px;
  right: -8px;
  z-index: -1;
}
.index .index-news .index-news-list::after {
  content: "";
  width: 1000px;
  height: 100%;
  background: #fff;
  border-radius: 20px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
.index .index-news .index-news-list dl {
  line-height: 1.58824;
  padding-bottom: 16px;
  margin-bottom: 16px;
}
.index .index-news .index-news-list dl a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.index .index-news .index-news-list dl dd {
  width: calc(100% - 120px);
}
.index .index-news .index-news-list dl .tag {
  margin-bottom: 11px;
}
.index .index-news .index-news-list dl .tag li {
  font-size: 1.5rem;
  line-height: 1.66667;
  padding: 0 10px;
  margin-right: 10px;
}

/*===============================================
  事業内容
===============================================*/
.business {
  padding-bottom: 100px;
}
.business > article {
  padding: 100px 0;
}
.business .business-message {
  padding-bottom: 0;
  background: url(../img/business/con01-bg.png) no-repeat center top;
}
.business .business-message .business-message-text {
  padding: 30px 165px 100px;
}
.business .business-message .business-message-text::before {
  height: calc(100% + 124px);
  border-radius: 40px;
}
.business .business-message .business-message-text .txt {
  margin-bottom: 25px;
}
.business .business-message .business-message-text .txt p {
  margin-bottom: 28px;
}
.business .business-message .business-message-text .name {
  line-height: 1;
}
.business .business-message .business-message-text .name dt {
  margin-right: 4px;
}
.business .business-message .business-message-text .name dd span::after {
  margin: 0 6px;
}
.business .business-about {
  background: url(../img/business/con02-bg.png) no-repeat center/auto 100%;
}
.business .business-about .business-about-subttl {
  font-size: 3rem;
  letter-spacing: 0.1em;
}
.business .business-about .business-about-list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 55px;
}
.business .business-about .business-about-list .business-about-item {
  width: 528px;
}
.business .business-about .business-about-list .business-about-item .business-about-subttl {
  margin-bottom: 26px;
}
.business .business-about .business-about-list .business-about-item figure {
  border-width: 4px;
  border-radius: 4px;
  padding: 4px;
  margin-bottom: 20px;
}
.business .business-about .business-about-list .business-about-item figure img {
  width: 100%;
}
.business .business-about .business-about-list .business-about-item .txt {
  padding: 0 24px;
}
.business .business-about .business-about-box {
  border-width: 4px;
  padding: 56px 56px 49px;
  border-radius: 20px;
  background: url(../img/business/con02-box-bg_rt.png) no-repeat right top, url(../img/business/con02-box-bg_lb.png) no-repeat left 49px bottom;
}
.business .business-about .business-about-box::after {
  width: 634px;
  height: 390px;
  position: absolute;
  left: -195px;
  bottom: 0;
  z-index: -1;
}
.business .business-about .business-about-box .in {
  width: 550px;
  margin-left: auto;
}
.business .business-about .business-about-box .business-about-subttl {
  margin-bottom: 15px;
}
.business .business-contact .business-contact-list {
  display: flex;
  justify-content: center;
  align-items: stretch;
}
.business .business-contact .business-contact-list::before {
  width: 426px;
  height: 540px;
  left: -216px;
  bottom: -100px;
  z-index: 1;
}
.business .business-contact .business-contact-list::after {
  width: 331px;
  height: 515px;
  right: -119px;
  bottom: -100px;
  z-index: 1;
}
.business .business-contact .business-contact-list .business-contact-item {
  width: 330px;
  padding-bottom: 40px;
  margin: 0 20px;
}
.business .business-contact .business-contact-list .business-contact-item::before {
  height: calc(100% - 70px);
  border-radius: 20px;
}
.business .business-contact .business-contact-list .business-contact-item figure {
  width: 140px;
  height: 140px;
  margin-bottom: 28px;
}
.business .business-contact .business-contact-list .business-contact-item h4 {
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 34px;
}
.business .business-contact .business-contact-list .business-contact-item h4 .mark {
  font-size: 3rem;
  line-height: 1.2;
}
.business .business-contact .business-contact-list .business-contact-item .tel {
  height: 60px;
}
.business .business-contact .business-contact-list .business-contact-item .tel a {
  font-size: 4rem;
}
.business .business-contact .business-contact-list .business-contact-item .mail-link {
  width: 250px;
  height: 60px;
  margin: 0 auto;
}
.business .business-contact .business-contact-list .business-contact-item .mail-link a {
  font-size: 1.7rem;
  letter-spacing: 0.05em;
}

/*===============================================
  選ばれる理由
===============================================*/
.reason > article {
  padding: 100px 0;
}
.reason .reason-lead {
  background: url(../img/reason/con01-bg.png) no-repeat center top;
}
.reason .reason-lead .reason-lead-list {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-wrap: wrap;
  margin-top: -36px;
  margin-bottom: 60px;
}
.reason .reason-lead .reason-lead-list .reason-lead-item {
  width: 416px;
  margin: 36px 20px 0;
}
.reason .reason-lead .reason-lead-list .reason-lead-item::before {
  height: calc(100% - 103px);
  border-radius: 20px;
}
.reason .reason-lead .reason-lead-list .reason-lead-item figure {
  margin-bottom: 20px;
}
.reason .reason-lead .reason-lead-list .reason-lead-item figure div::before {
  width: 46px;
  height: 46px;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  padding-left: 0.1em;
  top: 4px;
  left: 4px;
}
.reason .reason-lead .reason-lead-list .reason-lead-item h4 {
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 13px;
}
.reason .reason-lead .reason-lead-list .reason-lead-item h4 .min {
  font-size: 1.7rem;
  line-height: 2.11765;
}
.reason .reason-lead .reason-lead-list .reason-lead-item h4 .br {
  display: block;
}
.reason .reason-lead .reason-lead-list .reason-lead-item .txt {
  padding: 0 30px 25px;
}
.reason .reason-lead .btn {
  margin: 0 auto;
}
.reason .reason-voice::before {
  width: calc(100% - 100px);
  max-width: 1280px;
  border-radius: 40px;
}
.reason .reason-voice::after {
  content: "";
  width: 1920px;
  height: calc(100% - 40px);
  max-height: 698px;
  background: url(../img/reason/con02-bg.png) no-repeat center/auto 100%;
  position: absolute;
  top: calc(50% + 10px);
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -3;
}
.reason .reason-voice .reason-voice-list {
  width: 750px;
  margin: 0 auto;
}
.reason .reason-voice .reason-voice-list .reason-voice-item {
  min-height: 112px;
  border-width: 4px;
  border-radius: 20px;
  padding: 19px 26px 18px 106px;
  margin-bottom: 30px;
}
.reason .reason-voice .reason-voice-list .reason-voice-item figure {
  padding: 15px;
  position: absolute;
  top: -14px;
  left: -24px;
}
.reason .reason-voice .reason-voice-list .reason-voice-item h4 {
  font-size: 1.7rem;
  line-height: 1.64706;
  letter-spacing: 0.05em;
  margin-bottom: 11px;
}
.reason .reason-voice .reason-voice-list .reason-voice-item h4 span {
  margin-left: 14px;
}
.reason .reason-license {
  background: url(../img/reason/con03-bg.png) no-repeat center bottom 117px;
}
.reason .reason-license .in {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  flex-direction: row-reverse;
  padding-left: 9px;
}
.reason .reason-license .in .reason-license-list {
  width: 380px;
  padding: 53px 58px;
  margin-bottom: 10px;
}
.reason .reason-license .in .reason-license-list::before {
  border-radius: 20px;
  right: -10px;
  bottom: -10px;
}
.reason .reason-license .in .reason-license-list::after {
  border-radius: 20px;
}
.reason .reason-license .in .reason-license-list li {
  font-size: 2.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.reason .reason-license .in .reason-license-list li:last-of-type {
  margin-top: 36px;
}
.reason .reason-license .in::after {
  width: 451px;
  height: 533px;
  margin-right: -52px;
}

/*===============================================
  求人情報
===============================================*/
.recruit .recruit-lead {
  padding: 100px 0 30px;
  background: url(../img/recruit/con01-bg.png) no-repeat center top;
}
.recruit .recruit-lead .recruit-lead-ttl::before, .recruit .recruit-lead .recruit-lead-ttl::after {
  width: calc(100% - 56px);
  height: 101px;
  bottom: 0;
}
.recruit .recruit-lead .recruit-lead-txt {
  text-align: center;
  margin: -6px 0 55px;
}
.recruit .recruit-lead .recruit-lead-box {
  padding: 60px;
  border-radius: 40px;
}
.recruit .recruit-lead .recruit-lead-box::before {
  width: 339px;
  height: 264px;
  bottom: 0;
  right: -72px;
}
.recruit .recruit-lead .recruit-lead-box::after {
  width: 339px;
  height: 467px;
  bottom: 0;
  right: 159px;
}
.recruit .recruit-lead .recruit-lead-box .in {
  width: 500px;
}
.recruit .recruit-lead .recruit-lead-box h4 {
  font-size: 3rem;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
}
.recruit .recruit-lead .recruit-lead-box .list li {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 1.25;
  margin-bottom: 10px;
}
.recruit .recruit-lead .recruit-lead-box .list li::before {
  width: 46px;
  height: 46px;
  padding-left: 0.1em;
}
.recruit .recruit-lead .recruit-lead-box .list li > span {
  width: calc(100% - 62px);
  padding: 20px 0;
}
.recruit .recruit-lead .recruit-lead-box .list li::after {
  width: calc(100% - 23px);
  border-radius: 10px;
}
.recruit .recruit-about {
  padding: 70px 0 100px;
  background: url(../img/recruit/con02-bg.png) no-repeat center top;
}
.recruit .recruit-about .recruit-about-table {
  margin-bottom: 30px;
}
.recruit .recruit-about .recruit-about-info {
  display: flex;
  justify-content: center;
  align-items: center;
}
.recruit .recruit-about .recruit-about-info .tel::before {
  width: 23px;
  height: 23px;
  margin-right: 10px;
}
.recruit .recruit-about .recruit-about-info .tel a {
  font-size: 3rem;
}
.recruit .recruit-about .recruit-about-info .mail {
  width: 250px;
  height: 60px;
  margin-right: 20px;
}
.recruit .recruit-about .recruit-about-info .mail a {
  font-size: 1.7rem;
  letter-spacing: 0.05em;
}

/*===============================================
  会社概要
===============================================*/
.company .company-about {
  min-height: 830px;
  padding: 100px 0 18px;
  background: url(../img/company/con01-bg.png) no-repeat center top;
  box-sizing: border-box;
}
.company .company-maps {
  padding: 82px 0 100px;
  background: url(../img/company/con02-bg.png) no-repeat center top;
}
.company .company-maps .company-maps-box {
  margin-bottom: 55px;
}
.company .company-maps .company-maps-box .company-maps-ttl {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}
.company .company-maps .company-maps-box .map-wrap {
  padding: 8px;
}
.company .company-maps .company-maps-box .map-wrap::before {
  bottom: -16px;
  right: -16px;
}
.company .company-maps .company-maps-box .map-wrap::after {
  border-width: 4px;
  border-radius: 4px;
}
.company .company-maps .company-maps-box .map-wrap .in {
  height: 400px;
}

/*==================================================
 ニュース一覧
================================================== */
.news .news-contents {
  padding: 100px 0;
}
.news .news-contents .tag-select-box-wrap .tag-select-box {
  min-width: 240px;
  margin-bottom: 48px;
}
.news .news-contents .tag-select-box-wrap .tag-select-box::after {
  right: 18px;
}
.news .news-contents .tag-select-box-wrap .tag-select-box select {
  font-size: 1.4rem;
  line-height: 1.42858;
  padding: 12px 48px 12px 12px;
}
.news .news-contents .list-box dl {
  line-height: 1.58824;
  padding-bottom: 16px;
  margin-bottom: 16px;
}
.news .news-contents .list-box dl a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.news .news-contents .list-box dl dd {
  width: calc(100% - 120px);
}
.news .news-contents .list-box dl .tag {
  margin-bottom: 11px;
}
.news .news-contents .list-box dl .tag li {
  font-size: 1.5rem;
  line-height: 1.66667;
  padding: 0 10px;
  margin-right: 10px;
}

/*==================================================
 ニュース詳細
================================================== */
.news_detail .news_detail-contents {
  padding: 100px 0;
}
.news_detail .news_detail-contents .post-data {
  font-size: 1.4rem;
  line-height: 1.42858;
  margin-bottom: 20px;
}
/*==================================================
 お問い合わせ
================================================== */
.contact .contact-contents {
  padding: 100px 0;
}
.contact .contact-contents .table {
  margin-bottom: 40px;
}
.contact .contact-contents .table th {
  width: 350px;
  line-height: 2.2353;
  text-align: left;
}
.contact .contact-contents .table th .optional-mark,
.contact .contact-contents .table th .required-mark {
  font-size: 1.5rem;
  line-height: 1.73334;
  padding: 0 8px;
  margin-top: 6px;
}
.contact .contact-contents .table td {
  vertical-align: middle;
}
.contact .contact-contents .table td select,
.contact .contact-contents .table td textarea,
.contact .contact-contents .table td input[type=tel],
.contact .contact-contents .table td input[type=num],
.contact .contact-contents .table td input[type=text],
.contact .contact-contents .table td input[type=email],
.contact .contact-contents .table td input[type=url] {
  font-size: 1.6rem;
  line-height: 1.25;
}
.contact .contact-contents .contact-submits-wrap {
  padding-top: 32px;
}

/*==================================================
 お問い合わせ完了
================================================== */
.complete .complete-contents {
  padding: 100px 0;
}
.complete .complete-contents .complete-box {
  text-align: center;
}

/*==================================================
プライバシーポリシー
================================================== */
.privacy .privacy-contents {
  padding: 100px 0;
}
.privacy .privacy-contents .item-box {
  margin-bottom: 72px;
}

/*==================================================
 サイトマップ
================================================== */
.site .site-contents {
  padding: 100px 0;
}
.site .site-contents .site_list {
  width: 800px;
}
.site .site-contents .site_list ul {
  border-width: 4px;
  border-radius: 20px;
  padding: 40px;
}
.site .site-contents .site_list ul li a {
  padding: 15px 20px;
  font-size: 2rem;
  line-height: 1.5;
}

/*===============================================
  404エラー
===============================================*/
.error .error-contents {
  padding: 100px 0;
}