@charset "UTF-8";
/*
Theme Name: 株式会社きびだんご
Theme URL: テーマのサイトのURI
Description: 株式会社きびだんごのWordPressテーマ
Author: 株式会社きびだんご
Version: 1.0.0
License: 株式会社きびだんご
License URI: テーマのライセンスのURI
*/
/* --- reset.css --- */
/* === 使わないセレクタは消去する --- */
/* --- reset.css --- */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  border: 0;
  outline: none;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

main {
  display: block;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body figure {
  margin: 0;
  padding: 0;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

a {
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  color: inherit;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* --- reset.cssここまで --- */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  overflow-x: hidden;
  width: 100%;
}

body {
  position: relative;
  max-width: 100%;
  width: 100%;
  color: #42210B;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1;
  word-break: break-all;
}

@media screen and (max-width: 1199px) {
  body {
    font-size: 14px;
  }
}
ul {
  list-style: none;
}

a:link,
a:visited,
a:hover,
a:active {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

.container {
  margin: 0 auto;
  max-width: 100%;
}

a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 1199px) {
  a:hover {
    opacity: 1;
  }
}
a[href*="tel:"] {
  pointer-events: none;
}

@media screen and (max-width: 758px) {
  a[href*="tel:"] {
    pointer-events: auto;
  }
}
button,
input[type=submit] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: 0;
  cursor: pointer;
}

/* ===================================

  main下余白

====================================== */
.main {
  padding-bottom: 160px;
}

@media screen and (max-width: 1199px) {
  .main {
    padding-bottom: 120px;
  }
}
@media screen and (max-width: 758px) {
  .main {
    padding-bottom: 80px;
  }
}
/* ===================================

  .section-title

====================================== */
.section-title .en-title {
  font-size: 18px;
  font-weight: 600;
  font-family: "Titillium Web", sans-serif;
  color: #e73828;
}
.section-title .title {
  margin-top: 27px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.3;
}
.section-title .desc {
  margin-top: 45px;
  line-height: 2;
}

@media screen and (max-width: 1199px) {
  .section-title .en-title {
    font-size: 16px;
  }
  .section-title .title {
    margin-top: 24px;
    font-size: 33px;
  }
  .section-title .desc {
    margin-top: 32px;
  }
}
@media screen and (max-width: 758px) {
  .section-title .en-title {
    font-size: 16px;
  }
  .section-title .title {
    margin-top: 35px;
    font-size: 28px;
  }
  .section-title .desc {
    margin-top: 29px;
  }
}
/* ===================================

  下層：下線付きsection-title

====================================== */
.section-title-bdb {
  position: relative;
  font-size: 28px;
  font-weight: 700;
  padding-bottom: 38px;
}
.section-title-bdb::before, .section-title-bdb::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 1px;
}
.section-title-bdb::before {
  width: 100%;
  z-index: 1;
  background-color: #ccc;
}
.section-title-bdb::after {
  width: 47px;
  z-index: 2;
  background-color: #f29600;
}

@media screen and (max-width: 1199px) {
  .section-title-bdb {
    font-size: 24px;
    padding-bottom: 24px;
  }
  .section-title-bdb::after {
    width: 40px;
  }
}
@media screen and (max-width: 758px) {
  .section-title-bdb {
    font-size: 18px;
    padding-bottom: 16px;
  }
  .section-title-bdb::after {
    width: 30px;
  }
}
/* ===================================

  .link-btn

====================================== */
.link-btn {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 320px;
  height: 55px;
  background-color: #f29600;
  background-image: url(img/ico/ico-link-btn.png);
  background-repeat: no-repeat;
  background-size: 25px 25px;
  background-position: center right 25px;
  font-weight: 700;
  color: #fff;
  border-radius: 9999px;
}

@media screen and (max-width: 1199px) {
  .link-btn {
    width: 320px;
    height: 60px;
    background-size: 30px 30px;
    background-position: center right 15px;
    font-size: 15px;
  }
}
@media screen and (max-width: 758px) {
  .link-btn {
    width: 100%;
    font-size: 14px;
  }
}
/* ===================================

  画像なし下層MV

====================================== */
.l-mv {
  padding-top: 90px;
  width: 100%;
}
.l-mv__inner {
  width: 1220px;
  margin: 0 auto;
  padding: 120px 0 70px;
  word-break: break-all;
}
.l-mv__text {
  font-family: "Titillium Web", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #e73828;
}
.l-mv__title {
  margin-top: 22px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (max-width: 1199px) {
  .l-mv {
    padding-top: 55px;
  }
  .l-mv__inner {
    width: 100%;
    padding: 80px 30px 60px;
  }
  .l-mv__text {
    font-size: 16px;
  }
  .l-mv__title {
    margin-top: 15px;
    font-size: 30px;
  }
}
@media screen and (max-width: 758px) {
  .l-mv__inner {
    padding: 60px 30px 50px;
  }
  .l-mv__text {
    font-size: 14px;
  }
  .l-mv__title {
    margin-top: 12px;
    font-size: 28px;
  }
}
/* ===================================

  背景画像ありMV

====================================== */
.l-mv-thumb {
  width: 100%;
  padding: 208px 0 180px;
  background-image: url(img/l-mv-thumb-80.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}
.l-mv-thumb__inner {
  width: 1220px;
  margin: 0 auto;
}
.l-mv-thumb__title .entitle {
  font-family: "Titillium Web", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #e73828;
  text-transform: uppercase;
}
.l-mv-thumb__title .title {
  margin-top: 22px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
}
.l-mv-thumb.no-thumb {
  background-image: none;
  padding: 208px 0 140px;
}

@media screen and (max-width: 1199px) {
  .l-mv-thumb {
    margin-top: 55px;
    padding: 80px 0 60px;
  }
  .l-mv-thumb__inner {
    width: 100%;
    padding: 0 30px;
  }
  .l-mv-thumb__title .entitle {
    font-size: 16px;
  }
  .l-mv-thumb__title .title {
    margin-top: 15px;
    font-size: 30px;
  }
  .l-mv-thumb.no-thumb {
    padding: 80px 0 60px;
  }
}
@media screen and (max-width: 758px) {
  .l-mv-thumb {
    padding: 60px 0 50px;
  }
  .l-mv-thumb__title .entitle {
    font-size: 14px;
  }
  .l-mv-thumb__title .title {
    margin-top: 12px;
    font-size: 28px;
  }
  .l-mv-thumb.no-thumb {
    padding: 60px 0 50px;
  }
}
/* ===================================

  詳細ページMV

====================================== */
.single-mv {
  padding-top: 90px;
  width: 100%;
}
.single-mv__inner {
  width: 1220px;
  margin: 0 auto;
  padding: 120px 0 100px;
  word-break: break-all;
}
.single-mv__title {
  padding: 15px 40px 11px;
  border-left: 2px solid #e73828;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (max-width: 1199px) {
  .single-mv {
    padding-top: 55px;
  }
  .single-mv__inner {
    width: 100%;
    padding: 80px 30px 60px;
  }
  .single-mv__title {
    padding: 10px 20px 8px;
    font-size: 28px;
  }
}
@media screen and (max-width: 758px) {
  .single-mv__inner {
    padding: 60px 30px 50px;
  }
  .single-mv__title {
    padding: 3px 10px 2px;
    font-size: 28px;
  }
}
/* ===================================

  more-btn

====================================== */
.more-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.more-btn::before {
  content: "";
  margin-right: 20px;
  width: 40px;
  height: 40px;
  background-image: url(img/ico/ico-more-btn.png);
  background-repeat: no-repeat;
  background-size: 40px 40px;
  background-position: center;
}

@media screen and (max-width: 1199px) {
  .more-btn::before {
    margin-right: 15px;
    width: 30px;
    height: 30px;
    background-size: 30px 30px;
  }
}
@media screen and (max-width: 758px) {
  .more-btn::before {
    margin-right: 12px;
    width: 24px;
    height: 24px;
    background-size: 24px 24px;
  }
}
/* ===================================

  パンくずリスト：breadcrumb

====================================== */
.breadcrumb-wrap {
  padding-bottom: 30px;
}
.breadcrumb-wrap .breadcrumb {
  width: 1220px;
  margin: 0 auto;
  word-break: break-all;
  line-height: 1.5;
}

@media screen and (max-width: 1199px) {
  .breadcrumb-wrap {
    padding-bottom: 25px;
  }
  .breadcrumb-wrap .breadcrumb {
    width: 100%;
    padding: 0 30px;
  }
}
@media screen and (max-width: 758px) {
  .breadcrumb-wrap {
    padding-bottom: 20px;
  }
}
/* ===================================

  ページネーション

====================================== */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.pagination-wrap {
  margin-top: 160px;
}
.pagination-wrap .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.pagination-wrap .page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50px;
  height: 50px;
  font-family: "Titillium Web", sans-serif;
  font-size: 20px;
  border: 1px solid #ccc;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.pagination-wrap .page-numbers:hover, .pagination-wrap .page-numbers.current {
  background-color: #42210B;
  border: 1px solid #42210B;
  color: #fff;
  opacity: 1;
}
.pagination-wrap .page-numbers + .page-numbers {
  margin-left: 10px;
}

@media screen and (max-width: 1199px) {
  .pagination-wrap {
    margin-top: 80px;
  }
  .pagination-wrap .page-numbers {
    width: 35px;
    height: 35px;
    font-size: 14px;
  }
  .pagination-wrap .page-numbers:hover {
    background-color: #fff;
    border: 1px solid #ccc;
  }
  .pagination-wrap .page-numbers + .page-numbers {
    margin-left: 5px;
  }
}
@media screen and (max-width: 758px) {
  .pagination-wrap {
    margin-top: 50px;
  }
}
/* ===================================

  ヘッダー

====================================== */
.header {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
}
.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 90px;
  padding: 0 40px 0 100px;
}
.header-logo {
  width: 137px;
}
.header-logo__link {
  display: block;
}
.header-logo__img {
  display: block;
  width: 100%;
}
.header__right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header .g-nav .nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header .g-nav .menu-item {
  position: relative;
}
.header .g-nav .menu-item + .menu-item {
  margin-left: 20px;
}
.header .g-nav .menu__link {
  position: relative;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
}
.header .g-nav .menu__link::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -12px;
  width: 0%;
  height: 2px;
  background-color: #f29600;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header .g-nav .menu__link:hover {
  opacity: 1;
}
.header .g-nav .menu__link:hover::before {
  width: 100%;
}
.header .g-nav .menu__link.click-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header .g-nav .menu__link.click-item::after {
  content: "";
  position: relative;
  top: 1px;
  margin-left: 5px;
  width: 12px;
  height: 8px;
  background-image: url(img/ico/ico-arrow-bottom.png);
  background-repeat: no-repeat;
  background-size: 12px 8px;
  background-position: center center;
}
.header .g-nav .menu__link.click-item.active::after {
  background-image: url(img/ico/ico-arrow-top.png);
}
.header .g-nav .sub-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 37px);
  padding: 28px 28px 30px;
  width: 310px;
  background-color: #f29600;
  color: #fff;
  opacity: 0;
  z-index: -100;
  display: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header .g-nav .sub-menu.show {
  display: block;
  opacity: 1;
  z-index: 10;
}
.header .g-nav .sub-menu__title {
  font-size: 14px;
  font-weight: 700;
}
.header .g-nav .sub-menu-item {
  padding-left: 20px;
  margin-top: 16px;
}
.header .g-nav .sub-menu__link {
  font-size: 14px;
  font-weight: 400;
}
.header__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-left: 30px;
  width: 140px;
  height: 45px;
  background-color: #f29600;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  border-radius: 9999px;
}
.header__sp {
  display: none;
}

@media screen and (max-width: 1199px) {
  .header {
    position: fixed;
    top: 0;
    background-color: #fff;
    height: 55px;
    -webkit-box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.04);
            box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.04);
  }
  .header__inner {
    height: 55px;
    padding: 0 0 0 30px;
  }
  .header-logo {
    width: 110px;
  }
  .header .g-nav {
    display: none;
  }
  .header__link {
    display: none;
  }
  .header__sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 55px;
  }
  .header-mail__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 56px;
    height: 55px;
    background-color: #f2f2f2;
  }
  .header-mail__img {
    display: block;
    width: 20px;
  }
  .header .menu-btn {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    display: block;
    position: relative;
    width: 56px;
    height: 55px;
    background-color: #f29600;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    outline: none;
  }
  .header .menu-btn span {
    position: absolute;
    left: 18px;
    display: block;
    width: 20px;
    height: 2px;
    background-color: #fff;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .header .menu-btn span:first-child {
    top: 24px;
  }
  .header .menu-btn span:nth-child(2) {
    top: 29px;
  }
  .header .menu-btn.active span:first-child {
    top: 26px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .header .menu-btn.active span:nth-child(2) {
    top: auto;
    bottom: 27px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@media screen and (max-width: 758px) {
  .header__inner {
    padding: 0 0 0 20px;
  }
}
/* ===================================

  サブヘッダー

====================================== */
.header.sub-header {
  position: fixed;
  top: -100px;
  left: 0;
  background-color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 0;
  z-index: -10;
  -webkit-box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.04);
          box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.04);
}
.header.sub-header.show {
  top: 0;
  opacity: 1;
  z-index: 10;
}

@media screen and (max-width: 1199px) {
  .header.sub-header {
    display: none;
  }
}
/* ===================================

  ドロワーメニュー

====================================== */
.d-menu {
  display: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

@media screen and (max-width: 1199px) {
  .d-menu {
    display: block;
    border-top: 1px solid #ccc;
    position: fixed;
    top: 55px;
    right: -100%;
    width: 360px;
    z-index: -10;
    opacity: 0;
  }
  .d-menu.show {
    opacity: 1;
    right: 0;
    z-index: 10;
  }
  .d-menu__inner {
    padding: 65px 30px;
    background-color: #fff;
  }
  .d-menu .d-nav li + li {
    margin-top: 45px;
  }
  .d-menu .d-nav li a {
    display: block;
    font-size: 20px;
    font-weight: 700;
  }
  .d-menu__btns {
    margin-top: 65px;
  }
  .d-menu__btn {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background-repeat: no-repeat;
    background-position: center right 22px;
    width: 100%;
    height: 60px;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    border-radius: 9999px;
  }
  .d-menu__btn + .d-menu__btn {
    margin-top: 15px;
  }
  .d-menu__btn.contact {
    background-color: #f29600;
    background-image: url(img/ico/ico-mail-wh.svg);
    background-size: 18px 14px;
  }
  .d-menu__btn.tel {
    font-family: "Roboto", sans-serif;
    background-color: #42210B;
    background-image: url(img/ico/ico-tel-wh.svg);
    background-size: 14px 18px;
  }
}
@media screen and (max-width: 758px) {
  .d-menu {
    width: 100%;
    height: 100vh;
  }
  .d-menu__inner {
    padding: 65px 30px 0;
    height: 100%;
  }
}
/* ===================================

  お問い合わせ

====================================== */
.contact-wrap {
  background-color: #42210B;
  padding: 135px 0 120px;
}
.contact-wrap .container {
  width: 1220px;
}
.contact-wrap .section-title .title {
  color: #fff;
}
.contact-wrap .section-title .desc {
  color: #fff;
}
.contact-wrap__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.contact-wrap__left {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.contact-wrap__links {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 410px;
          flex: 0 0 410px;
  width: 410px;
}
.contact-wrap__links .link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 65px;
  padding-left: 40px;
  background-repeat: no-repeat;
  background-position: center right 30px;
  font-weight: 700;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 9999px;
}
.contact-wrap__links .link + .link {
  margin-top: 15px;
}
.contact-wrap__links .link.mail {
  background-image: url(img/ico/ico-mail-wh.svg);
  background-size: 25px 20px;
  font-size: 16px;
}
.contact-wrap__links .link.tel {
  background-image: url(img/ico/ico-tel-wh.svg);
  background-size: 19px 25px;
  font-size: 18px;
}

@media screen and (max-width: 1199px) {
  .contact-wrap {
    padding: 100px 0;
  }
  .contact-wrap .container {
    width: 100%;
    padding: 0 30px;
  }
  .contact-wrap__inner {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .contact-wrap__left {
    padding-right: 60px;
  }
  .contact-wrap__links {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 320px;
            flex: 0 0 320px;
    width: 320px;
  }
  .contact-wrap__links .link {
    height: 60px;
    padding-left: 30px;
  }
  .contact-wrap__links .link + .link {
    margin-top: 20px;
  }
  .contact-wrap__links .link.mail {
    background-size: 19px 15px;
    font-size: 14px;
  }
  .contact-wrap__links .link.tel {
    background-size: 15px 19px;
    font-size: 16px;
  }
}
@media screen and (max-width: 758px) {
  .contact-wrap {
    padding: 80px 0 100px;
  }
  .contact-wrap__inner {
    display: block;
  }
  .contact-wrap__left {
    padding-right: 0;
  }
  .contact-wrap__links {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    margin-top: 34px;
  }
  .contact-wrap__links .link.mail {
    font-size: 14px;
  }
  .contact-wrap__links .link.tel {
    font-size: 14px;
  }
}
/* ===================================

  フッター

====================================== */
.footer__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.footer__left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 56.25%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 56.25%;
          flex: 0 0 56.25%;
  height: 100%;
  padding-top: 80px;
  padding-right: 120px;
  padding-left: calc((100vw - 1200px) / 2);
  padding-bottom: 70px;
  background-color: #f2f2f2;
}
.footer__left .col {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  width: 50%;
}
.footer__left nav .menu-item a {
  line-height: 1.5;
}
.footer__left nav .menu-item > a {
  font-weight: 500;
}
.footer__left nav .menu-item + .menu-item {
  margin-top: 20px;
}
.footer__left nav .sub-menu {
  margin-top: 12px;
  padding-left: 1em;
}
.footer__left nav .sub-menu > .menu-item a {
  color: #808080;
}
.footer__left nav .sub-menu .menu-item + .menu-item {
  margin-top: 10px;
}
.footer__right {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  height: 100%;
  padding-top: 80px;
  padding-left: 80px;
  padding-right: calc((100vw - 1200px) / 2);
}
.footer__right__inner {
  padding-right: 100px;
}
.footer-logo {
  width: 176px;
}
.footer-logo__link, .footer-logo__img {
  display: block;
  width: 100%;
}
.footer-info {
  margin-top: 25px;
  font-weight: 500;
}
.footer-info .address {
  margin-top: 40px;
  line-height: 1.5;
}
.footer-info .connect {
  margin-top: 25px;
  font-family: "Roboto", sans-serif;
  line-height: 1.5;
}
.footer-info .license {
  margin-top: 40px;
}
.footer-info .license__img {
  display: block;
  width: 143px;
}
.footer .copyright {
  margin-top: 34px;
  padding-top: 20px;
  border-top: 1px solid #ccc;
  font-family: "Roboto", sans-serif;
  font-weight: 500;
  color: #808080;
}

@media screen and (max-width: 1199px) {
  .footer__left {
    width: 65%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 65%;
            flex: 0 0 65%;
    height: auto;
    padding: 50px 0 100px 30px;
  }
  .footer__left nav .menu-item + .menu-item {
    margin-top: 1em;
  }
  .footer__left nav .sub-menu {
    margin-top: 0.75em;
  }
  .footer__left nav .sub-menu .menu-item + .menu-item {
    margin-top: 0.5em;
  }
  .footer__right {
    height: auto;
    padding: 50px 30px 100px;
  }
  .footer__right__inner {
    padding-right: 0;
  }
  .footer-logo {
    width: 115px;
  }
  .footer-info {
    margin-top: 20px;
  }
  .footer-info .address {
    margin-top: 30px;
  }
  .footer-info .connect {
    margin-top: 20px;
  }
  .footer-info .license {
    margin-top: 30px;
  }
  .footer-info .license__img {
    width: 80px;
  }
  .footer .copyright {
    margin-top: 30px;
  }
}
@media screen and (max-width: 758px) {
  .footer__inner {
    display: block;
  }
  .footer__left {
    display: block;
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding: 70px 30px 80px;
  }
  .footer__left .col {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
  }
  .footer__left .col + .col {
    margin-top: 1.2em;
  }
  .footer__left nav .menu-item + .menu-item {
    margin-top: 1.2em;
  }
  .footer__left nav .sub-menu {
    margin-top: 1em;
  }
  .footer__left nav .sub-menu .menu-item + .menu-item {
    margin-top: 0.9em;
  }
  .footer__right {
    padding: 80px 30px;
  }
  .footer-logo {
    width: 132px;
  }
  .footer-info .connect {
    margin-top: 16px;
  }
  .footer-info .license {
    margin-top: 27px;
  }
  .footer-info .license__img {
    width: 110px;
  }
  .footer .copyright {
    margin-top: 20px;
    padding-top: 17px;
  }
}
/* ===================================

  サイドバー

====================================== */
.sidebar {
  position: sticky;
  top: 150px;
  padding-bottom: 100px;
}
.sidebar .toc_title {
  position: relative;
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 26px;
}
.sidebar .toc_title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 16px;
  height: 2px;
  background-color: #42210B;
}
.sidebar .toc_widget {
  width: 100%;
  max-width: 500px;
  word-break: break-all;
}
.sidebar .toc_widget ul {
  margin-top: 21px;
}
.sidebar .toc_widget li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 14px;
  line-height: 1.5;
}
.sidebar .toc_widget li .current {
  font-weight: 700;
}
.sidebar .toc_widget li > ul {
  display: none;
}
.sidebar .toc_widget li::before {
  content: "-";
  margin-right: 10px;
}
.sidebar .toc_widget li + li {
  margin-top: 23px;
}

/* ===================================

  メインビジュアル

====================================== */
@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.mv {
  position: relative;
  width: 100%;
}
.mv__inner {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
}
.mv__img {
  width: 100%;
  height: 100%;
  background-image: url(img/mv-80.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-animation: zoomUp 7s linear 0s 1 normal both;
          animation: zoomUp 7s linear 0s 1 normal both;
}
.mv__contents {
  position: absolute;
  top: 50%;
  left: 9.375%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.mv__copy {
  font-size: clamp(60px, 4.6875vw, 90px);
  line-height: 1.5;
}
.mv__desc {
  margin-top: 56px;
  font-size: clamp(18px, 1.11458vw, 22px);
  font-weight: 500;
  line-height: 1.5;
}

@media screen and (max-width: 1199px) {
  .mv {
    margin-top: 55px;
  }
  .mv__inner {
    height: 650px;
  }
  .mv__contents {
    left: 30px;
  }
  .mv__copy {
    font-size: 45px;
  }
  .mv__desc {
    margin-top: 40px;
    font-size: 16px;
  }
}
@media screen and (max-width: 758px) {
  .mv__inner {
    height: 585px;
  }
  .mv__img {
    background-image: url(img/sp-mv-80.jpg);
  }
  .mv__contents {
    width: calc(100% - 60px);
  }
  .mv__copy {
    font-size: 40px;
  }
  .mv__desc {
    margin-top: 10px;
    font-size: 14px;
    line-height: 2;
  }
}
/* ===================================

  各企業スライダー
  バナー

====================================== */
.home .comps {
  margin-top: 80px;
}
.home .comps__slider {
  width: 100%;
}
.home .comps__slider .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.home .comps__slider .swiper-slide img {
  display: block;
  width: 100%;
}
.home .comps__slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.home .comps__contents {
  margin-top: 60px;
}
.home .comps__contents .container {
  width: 1220px;
}
.home .comps .comp-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.home .comps .comp-link {
  display: block;
  width: calc((100% - 20px) / 2);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 20px) / 2);
          flex: 0 0 calc((100% - 20px) / 2);
}
.home .comps .comp-link img {
  display: block;
  width: 100%;
}

@media screen and (max-width: 1199px) {
  .home .comps {
    margin-top: 60px;
  }
  .home .comps__contents .container {
    width: 100%;
    padding: 0 30px;
  }
  .home .comps .comp-link {
    width: calc((100% - 15px) / 2);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 15px) / 2);
            flex: 0 0 calc((100% - 15px) / 2);
  }
}
@media screen and (max-width: 758px) {
  .home .comps .comp-links {
    display: block;
  }
  .home .comps .comp-link {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
  .home .comps .comp-link + .comp-link {
    margin-top: 16px;
  }
}
/* ===================================

  NEWS

====================================== */
.home .news {
  margin-top: 70px;
}
.home .news .container {
  width: 1220px;
}
.home .news__link {
  display: block;
}
.home .news__contents {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 25px 40px;
  background-color: #f2f2f2;
  border-radius: 4px;
}
.home .news__title {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 236px;
          flex: 0 0 236px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.home .news__title .title {
  font-family: "Titillium Web", sans-serif;
  font-size: 18px;
  font-weight: 600;
}
.home .news .entry {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  word-break: break-all;
}
.home .news .entry__date {
  margin-left: 58px;
  font-family: "Roboto", sans-serif;
  color: #808080;
}
.home .news .entry__title {
  margin-top: -2px;
}

@media screen and (max-width: 1199px) {
  .home .news {
    margin-top: 60px;
  }
  .home .news .container {
    width: 100%;
    padding: 0 30px;
  }
  .home .news__contents {
    display: block;
    padding: 20px 30px;
  }
  .home .news__title {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    width: 100%;
  }
  .home .news__title .title {
    font-size: 16px;
  }
  .home .news .entry {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .home .news .entry__date {
    padding-top: 1px;
    margin-left: 30px;
  }
  .home .news .entry__title {
    margin-top: 12px;
    line-height: 1.5;
  }
}
@media screen and (max-width: 758px) {
  .home .news {
    margin-top: 50px;
  }
  .home .news__contents {
    padding: 16px 15px 15px;
  }
  .home .news__title .title {
    font-size: 14px;
  }
  .home .news .entry__date {
    padding-top: 0;
    margin-left: 20px;
  }
  .home .news .entry__title {
    margin-top: 10px;
  }
}
/* ===================================

  きびだんごの強み

====================================== */
.home .forte {
  margin-top: 110px;
  padding-top: 120px;
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(255, 255, 255)), to(rgb(242, 242, 242)));
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(242, 242, 242) 100%);
}
.home .forte .container {
  width: 1220px;
}
.home .forte__contents {
  margin-top: 60px;
  padding: 54px 0 60px;
  background-color: #fff;
}
.home .forte__contents .title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.home .forte__contents .items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 50px;
}
.home .forte__contents .item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  padding: 0 50px;
}
.home .forte__contents .item + .item {
  border-left: 1px solid #ccc;
}
.home .forte__contents .item__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: 152px;
}
.home .forte__contents .item__ico {
  display: block;
  width: 100px;
}
.home .forte__contents .item__text {
  font-family: "Titillium Web", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #e73828;
  text-align: center;
}
.home .forte__contents .item__title {
  margin-top: 15px;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
}
.home .forte__contents .item__desc {
  margin-top: 22px;
  line-height: 1.5;
}
.home .forte__link {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 20px auto 0;
  width: 600px;
  height: 80px;
  background-color: #f29600;
  background-image: url(img/ico/ico-link-btn.png);
  background-repeat: no-repeat;
  background-size: 40px 40px;
  background-position: center right 40px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  border-radius: 9999px;
}

@media screen and (max-width: 1199px) {
  .home .forte {
    margin-top: 100px;
    padding-top: 100px;
  }
  .home .forte .container {
    width: 100%;
    padding: 0 30px;
  }
  .home .forte__contents {
    margin-top: 50px;
    padding: 30px 0;
  }
  .home .forte__contents .title {
    font-size: 22px;
  }
  .home .forte__contents .items {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    margin-top: 30px;
  }
  .home .forte__contents .item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    padding: 0 20px;
  }
  .home .forte__contents .item__head {
    height: 120px;
  }
  .home .forte__contents .item__ico {
    width: 60px;
  }
  .home .forte__contents .item__text {
    font-size: 14px;
  }
  .home .forte__contents .item__title {
    margin-top: 12px;
    font-size: 20px;
  }
  .home .forte__contents .item__desc {
    margin-top: 15px;
  }
  .home .forte__link {
    margin: 20px auto 0;
    width: 320px;
    height: 60px;
    background-size: 30px 30px;
    background-position: center right 15px;
    font-size: 15px;
  }
}
@media screen and (max-width: 758px) {
  .home .forte {
    margin-top: 80px;
    padding-top: 80px;
  }
  .home .forte .container {
    padding: 0 15px;
  }
  .home .forte .section-title {
    padding: 0 15px;
  }
  .home .forte__contents {
    margin-top: 37px;
    padding: 45px 0 0;
  }
  .home .forte__contents .title {
    font-size: 18px;
  }
  .home .forte__contents .items {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 35px;
  }
  .home .forte__contents .item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    padding: 0 16px;
  }
  .home .forte__contents .item + .item {
    border-left: none;
  }
  .home .forte__contents .item:nth-child(n+3) {
    margin-top: 50px;
  }
  .home .forte__contents .item__head {
    height: 100px;
  }
  .home .forte__contents .item__ico {
    width: 75px;
  }
  .home .forte__contents .item__title {
    margin-top: 15px;
    font-size: 18px;
  }
  .home .forte__contents .item__desc {
    margin-top: 14px;
  }
  .home .forte__link {
    margin: 60px auto 0;
    width: calc(100% - 30px);
    font-size: 14px;
  }
}
/* ===================================

  事業紹介

====================================== */
.home .works {
  margin-top: 160px;
}
.home .works .container {
  width: 1220px;
}
.home .works__contents {
  margin-top: 80px;
  margin-left: calc((100vw - 1220px) / 2);
}
.home .works .entry__link {
  display: block;
}
.home .works .entry__thumb {
  width: 100%;
  overflow: hidden;
}
.home .works .entry__thumb-img {
  width: 100%;
  padding-top: 66.7%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.home .works .entry__link:hover {
  opacity: 0.6;
}
.home .works .entry__link:hover .entry__thumb-img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}
.home .works .entry__body {
  padding-top: 25px;
  word-break: break-all;
}
.home .works .entry__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
.home .works .entry__cates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 18px;
}
.home .works .entry__cate {
  margin: 0 10px 10px 0;
}
.home .works .entry__cate-link {
  display: block;
  position: relative;
  padding: 6px 10px;
  border: 1px solid #2d3b35;
  font-size: 12px;
  border-radius: 4px;
}
.home .works .swiper-footer {
  position: relative;
  width: 1220px;
  margin-right: calc((100vw - 1220px) / 2);
  padding-bottom: 193px;
}
.home .works .works-swiper-pagination {
  position: absolute;
  top: 80px;
  bottom: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.home .works .works-swiper-pagination .swiper-pagination-bullet {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  border-radius: 0;
  margin: 0;
  background-color: #ccc;
}
.home .works .works-swiper-pagination .swiper-pagination-bullet-active {
  background-color: #2d3b35;
}
.home .works .swiper-button-prev,
.home .works .swiper-button-next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: auto;
  bottom: 5px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #808080;
}
.home .works .swiper-button-prev::after,
.home .works .swiper-button-next::after {
  content: "";
  width: 11px;
  height: 14px;
  background-repeat: no-repeat;
  background-size: 11px 14px;
  background-position: center center;
}
.home .works .swiper-button-prev {
  left: 0;
}
.home .works .swiper-button-prev::after {
  display: block;
  margin-right: 2px;
  background-image: url(img/ico/ico-prev.svg);
}
.home .works .swiper-button-next {
  right: auto;
  left: 65px;
}
.home .works .swiper-button-next::after {
  margin-left: 2px;
  background-image: url(img/ico/ico-next.svg);
}
.home .works .link-btn {
  position: absolute;
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 1199px) {
  .home .works {
    margin-top: 120px;
  }
  .home .works .container {
    width: 100%;
    padding: 0 30px;
  }
  .home .works__contents {
    margin-top: 60px;
    margin-left: 0;
    padding-left: 30px;
  }
  .home .works .entry__link {
    display: block;
  }
  .home .works .entry__link:hover {
    opacity: 1;
  }
  .home .works .entry__link:hover .entry__thumb-img {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
  }
  .home .works .entry__body {
    padding-top: 20px;
  }
  .home .works .entry__title {
    font-size: 18px;
  }
  .home .works .entry__cates {
    margin-top: 15px;
  }
  .home .works .entry__cate {
    margin: 0 8px 8px 0;
  }
  .home .works .entry__cate-link {
    padding: 5px 8px;
    font-size: 11px;
  }
  .home .works .swiper-footer {
    width: 100%;
    padding: 0 30px;
    margin-right: 0;
    padding-bottom: 150px;
  }
  .home .works .works-swiper-pagination {
    top: 50px;
    width: 100%;
    padding-right: 30px;
  }
  .home .works .swiper-pagination-bullet {
    height: 5px;
  }
  .home .works .swiper-button-prev,
  .home .works .swiper-button-next {
    bottom: 5px;
    width: 35px;
    height: 35px;
  }
  .home .works .swiper-button-prev::after,
  .home .works .swiper-button-next::after {
    width: 10px;
    height: 13px;
    background-size: 10px 13px;
  }
  .home .works .swiper-button-prev::after {
    margin-right: 1px;
  }
  .home .works .swiper-button-next {
    left: 60px;
  }
  .home .works .swiper-button-next::after {
    margin-left: 1px;
  }
  .home .works .link-btn {
    right: 30px;
  }
}
@media screen and (max-width: 758px) {
  .home .works {
    margin-top: 80px;
  }
  .home .works__contents {
    margin-top: 34px;
    padding-left: 30px;
  }
  .home .works .entry__body {
    padding-top: 13px;
  }
  .home .works .entry__title {
    font-size: 14px;
  }
  .home .works .entry__cates {
    margin-top: 13px;
  }
  .home .works .entry__cate {
    margin: 0 5px 5px 0;
  }
  .home .works .entry__cate-link {
    font-size: 10px;
  }
  .home .works .swiper-footer {
    padding: 0 30px;
    padding-bottom: 200px;
  }
  .home .works .works-swiper-pagination {
    top: 30px;
  }
  .home .works .swiper-pagination-bullet {
    height: 3px;
  }
  .home .works .swiper-button-prev,
  .home .works .swiper-button-next {
    top: 85px;
    bottom: auto;
    width: 30px;
    height: 30px;
  }
  .home .works .swiper-button-prev::after,
  .home .works .swiper-button-next::after {
    width: 8px;
    height: 10px;
    background-size: 8px 10px;
  }
  .home .works .swiper-button-prev::after {
    margin-right: 2px;
  }
  .home .works .swiper-button-next {
    left: auto;
    right: 30px;
  }
  .home .works .swiper-button-next::after {
    margin-left: 2px;
  }
  .home .works .link-btn {
    right: auto;
    left: 0;
    width: calc(100% - 30px);
  }
}
/* ===================================

  サービス

====================================== */
.home .service {
  margin-top: 180px;
  padding-top: 180px;
  padding-bottom: 180px;
  background-color: #f2f2f2;
}
.home .service .container {
  width: 1220px;
}
.home .service__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.home .service__head {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 420px;
          flex: 0 0 420px;
  width: 420px;
  padding-right: 150px;
}
.home .service__contents {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.home .service .entry {
  width: 100%;
  word-break: break-all;
  border-top: 1px solid #ccc;
}
.home .service .entry:last-child {
  border-bottom: 1px solid #ccc;
}
.home .service .entry__link {
  display: block;
  padding: 32px 100px 32px 40px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  background-image: url(img/ico/ico-link-arrow.svg);
  background-repeat: no-repeat;
  background-size: 40px 40px;
  background-position: center right 40px;
}
.home .service__foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 60px;
}

@media screen and (max-width: 1199px) {
  .home .service {
    margin-top: 100px;
    padding-top: 100px;
    padding-bottom: 100px;
  }
  .home .service .container {
    width: 100%;
    padding: 0 30px;
  }
  .home .service__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 250px;
            flex: 0 0 250px;
    width: 250px;
    padding-right: 30px;
  }
  .home .service .entry__link {
    padding: 22px 80px 22px 15px;
    font-size: 18px;
    background-size: 30px 30px;
    background-position: center right 0;
  }
  .home .service__foot {
    margin-top: 40px;
  }
}
@media screen and (max-width: 758px) {
  .home .service {
    margin-top: 80px;
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .home .service__inner {
    display: block;
  }
  .home .service__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    padding-right: 0;
  }
  .home .service__contents {
    margin-top: 40px;
  }
  .home .service .entry__link {
    padding: 22px 40px 22px 0;
  }
  .home .service__foot {
    margin-top: 40px;
  }
}
/* ===================================

  ブログ

====================================== */
.home .blogs {
  margin-top: 180px;
}
.home .blogs .container {
  width: 1220px;
}
.home .blogs__contents {
  margin-top: 80px;
  margin-left: calc((100vw - 1220px) / 2);
}
.home .blogs .entry__link {
  display: block;
}
.home .blogs .entry__thumb {
  width: 100%;
  overflow: hidden;
}
.home .blogs .entry__thumb-img {
  width: 100%;
  padding-top: 66.7%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.home .blogs .entry__link:hover {
  opacity: 0.6;
}
.home .blogs .entry__link:hover .entry__thumb-img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}
.home .blogs .entry__body {
  padding-top: 20px;
  word-break: break-all;
}
.home .blogs .entry__date {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  color: #808080;
}
.home .blogs .entry__title {
  margin-top: 14px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
.home .blogs .entry__cates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 20px;
}
.home .blogs .entry__cate {
  margin: 0 10px 10px 0;
}
.home .blogs .entry__cate-link {
  display: block;
  position: relative;
  padding: 6px 10px;
  border: 1px solid #2d3b35;
  font-size: 12px;
  border-radius: 4px;
}
.home .blogs .swiper-footer {
  position: relative;
  width: 1220px;
  margin-right: calc((100vw - 1220px) / 2);
  padding-bottom: 193px;
}
.home .blogs .blogs-swiper-pagination {
  position: absolute;
  top: 80px;
  bottom: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.home .blogs .blogs-swiper-pagination .swiper-pagination-bullet {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  border-radius: 0;
  margin: 0;
  background-color: #ccc;
}
.home .blogs .blogs-swiper-pagination .swiper-pagination-bullet-active {
  background-color: #2d3b35;
}
.home .blogs .swiper-button-prev,
.home .blogs .swiper-button-next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: auto;
  bottom: 5px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid #808080;
}
.home .blogs .swiper-button-prev::after,
.home .blogs .swiper-button-next::after {
  content: "";
  width: 11px;
  height: 14px;
  background-repeat: no-repeat;
  background-size: 11px 14px;
  background-position: center center;
}
.home .blogs .swiper-button-prev {
  left: 0;
}
.home .blogs .swiper-button-prev::after {
  display: block;
  margin-right: 2px;
  background-image: url(img/ico/ico-prev.svg);
}
.home .blogs .swiper-button-next {
  right: auto;
  left: 65px;
}
.home .blogs .swiper-button-next::after {
  margin-left: 2px;
  background-image: url(img/ico/ico-next.svg);
}
.home .blogs .link-btn {
  position: absolute;
  right: 0;
  bottom: 0;
}

@media screen and (max-width: 1199px) {
  .home .blogs {
    margin-top: 120px;
  }
  .home .blogs .container {
    width: 100%;
    padding: 0 30px;
  }
  .home .blogs__contents {
    margin-top: 60px;
    margin-left: 0;
    padding-left: 30px;
  }
  .home .blogs .entry__link {
    display: block;
  }
  .home .blogs .entry__link:hover {
    opacity: 1;
  }
  .home .blogs .entry__link:hover .entry__thumb-img {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
  }
  .home .blogs .entry__body {
    padding-top: 18px;
  }
  .home .blogs .entry__date {
    font-size: 12px;
  }
  .home .blogs .entry__title {
    margin-top: 12px;
    font-size: 15px;
  }
  .home .blogs .entry__cates {
    margin-top: 16px;
  }
  .home .blogs .entry__cate {
    margin: 0 8px 8px 0;
  }
  .home .blogs .entry__cate-link {
    padding: 5px 8px;
    font-size: 11px;
  }
  .home .blogs .swiper-footer {
    width: 100%;
    padding: 0 30px;
    margin-right: 0;
    padding-bottom: 150px;
  }
  .home .blogs .blogs-swiper-pagination {
    top: 50px;
    width: 100%;
    padding-right: 30px;
  }
  .home .blogs .swiper-pagination-bullet {
    height: 5px;
  }
  .home .blogs .swiper-button-prev,
  .home .blogs .swiper-button-next {
    bottom: 5px;
    width: 35px;
    height: 35px;
  }
  .home .blogs .swiper-button-prev::after,
  .home .blogs .swiper-button-next::after {
    width: 10px;
    height: 13px;
    background-size: 10px 13px;
  }
  .home .blogs .swiper-button-prev::after {
    margin-right: 1px;
  }
  .home .blogs .swiper-button-next {
    left: 60px;
  }
  .home .blogs .swiper-button-next::after {
    margin-left: 1px;
  }
  .home .blogs .link-btn {
    right: 30px;
  }
}
@media screen and (max-width: 758px) {
  .home .blogs {
    margin-top: 80px;
  }
  .home .blogs__contents {
    margin-top: 34px;
    padding-left: 30px;
  }
  .home .blogs .entry__body {
    padding-top: 15px;
  }
  .home .blogs .entry__date {
    font-size: 11px;
  }
  .home .blogs .entry__title {
    margin-top: 11px;
    font-size: 14px;
  }
  .home .blogs .entry__cates {
    margin-top: 15px;
  }
  .home .blogs .entry__cate {
    margin: 0 5px 5px 0;
  }
  .home .blogs .entry__cate-link {
    font-size: 10px;
  }
  .home .blogs .swiper-footer {
    padding: 0 30px;
    padding-bottom: 200px;
  }
  .home .blogs .blogs-swiper-pagination {
    top: 30px;
  }
  .home .blogs .swiper-pagination-bullet {
    height: 3px;
  }
  .home .blogs .swiper-button-prev,
  .home .blogs .swiper-button-next {
    top: 85px;
    bottom: auto;
    width: 30px;
    height: 30px;
  }
  .home .blogs .swiper-button-prev::after,
  .home .blogs .swiper-button-next::after {
    width: 8px;
    height: 10px;
    background-size: 8px 10px;
  }
  .home .blogs .swiper-button-prev::after {
    margin-right: 2px;
  }
  .home .blogs .swiper-button-next {
    left: auto;
    right: 30px;
  }
  .home .blogs .swiper-button-next::after {
    margin-left: 2px;
  }
  .home .blogs .link-btn {
    right: auto;
    left: 0;
    width: calc(100% - 30px);
  }
}
/* ===================================

  MVありテンプレート

====================================== */
.page-template-withmv-page .main .container,
.page-template-default .main .container {
  width: 1040px;
}
.page-template-withmv-page .main .entry,
.page-template-default .main .entry {
  padding-top: 120px;
}

@media screen and (max-width: 1199px) {
  .page-template-withmv-page .main .container,
  .page-template-default .main .container {
    width: 100%;
    padding: 0 30px;
  }
  .page-template-withmv-page .main .entry,
  .page-template-default .main .entry {
    padding-top: 60px;
  }
}
@media screen and (max-width: 758px) {
  .page-template-withmv-page .main .entry,
  .page-template-default .main .entry {
    padding-top: 40px;
  }
}
/* ===================================

  MVなしテンプレート

====================================== */
.page-template-withoutmv-page .l-mv-thumb {
  background-image: none;
  padding: 208px 0 140px;
}
.page-template-withoutmv-page .main .container {
  width: 1040px;
}

@media screen and (max-width: 1199px) {
  .page-template-withoutmv-page .l-mv-thumb {
    padding: 80px 0 60px;
  }
  .page-template-withoutmv-page .main .container {
    width: 100%;
    padding: 0 30px;
  }
}
@media screen and (max-width: 758px) {
  .page-template-withoutmv-page .l-mv-thumb {
    padding: 60px 0 50px;
  }
}
/* ===================================

  会社情報

====================================== */
/* ===================================

  経営理念
  目指す未来

====================================== */
.page-company .concept {
  padding: 158px 0;
}
.page-company .concept .container {
  width: 1040px;
}
.page-company .concept .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.page-company .concept .item + .item {
  margin-top: 143px;
}
.page-company .concept .item__head {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 280px;
          flex: 0 0 280px;
  width: 280px;
}
.page-company .concept .item__head .text {
  font-family: "Titillium Web", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #e73828;
}
.page-company .concept .item__head .title {
  margin-top: 18px;
  font-size: 28px;
  font-weight: 700;
}
.page-company .concept .item__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding-top: 17px;
}
.page-company .concept .item__title {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
}
.page-company .concept .item__text {
  margin-top: 41px;
  font-size: 18px;
  line-height: 2;
}

@media screen and (max-width: 1199px) {
  .page-company .concept {
    padding: 100px 0;
  }
  .page-company .concept .container {
    width: 100%;
    padding: 0 30px;
  }
  .page-company .concept .item + .item {
    margin-top: 100px;
  }
  .page-company .concept .item__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 200px;
            flex: 0 0 200px;
    width: 200px;
  }
  .page-company .concept .item__head .text {
    font-size: 16px;
  }
  .page-company .concept .item__head .title {
    margin-top: 15px;
    font-size: 22px;
  }
  .page-company .concept .item__body {
    padding-top: 0;
  }
  .page-company .concept .item__title {
    font-size: 28px;
  }
  .page-company .concept .item__text {
    margin-top: 30px;
    font-size: 16px;
  }
}
@media screen and (max-width: 758px) {
  .page-company .concept {
    padding: 60px 0;
  }
  .page-company .concept .item {
    display: block;
  }
  .page-company .concept .item + .item {
    margin-top: 80px;
  }
  .page-company .concept .item__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
  }
  .page-company .concept .item__head .text {
    font-size: 16px;
  }
  .page-company .concept .item__head .title {
    margin-top: 16px;
    font-size: 22px;
  }
  .page-company .concept .item__body {
    margin-top: 30px;
  }
  .page-company .concept .item__title {
    font-size: 28px;
  }
  .page-company .concept .item__text {
    margin-top: 25px;
    font-size: 14px;
  }
}
/* ===================================

  会社概要

====================================== */
.page-company .outline {
  padding: 160px 0;
  background-color: #f2f2f2;
}
.page-company .outline .container {
  width: 1040px;
}
.page-company .outline__contents dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 2;
  border-bottom: 1px solid #ccc;
}
.page-company .outline__contents dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 150px;
          flex: 0 0 150px;
  width: 150px;
  padding: 34px 0 36px;
  font-weight: 700;
}
.page-company .outline__contents dd {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding: 34px 40px 36px 0;
}
.page-company .outline__contents dd .sp {
  display: none;
}
.page-company .outline__contents dd .pc {
  display: block;
}

@media screen and (max-width: 1199px) {
  .page-company .outline {
    padding: 100px 0;
  }
  .page-company .outline .container {
    width: 100%;
    padding: 0 30px;
  }
  .page-company .outline__contents dt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 120px;
            flex: 0 0 120px;
    width: 120px;
    padding: 24px 0 25px;
  }
  .page-company .outline__contents dd {
    padding: 24px 0 25px;
  }
  .page-company .outline__contents dd .sp {
    display: inline-block;
  }
  .page-company .outline__contents dd .pc {
    display: none;
  }
}
@media screen and (max-width: 758px) {
  .page-company .outline {
    padding: 60px 0;
  }
  .page-company .outline__contents dl {
    display: block;
  }
  .page-company .outline__contents dt {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    padding: 15px 0 8px;
  }
  .page-company .outline__contents dd {
    padding: 8px 0 15px;
  }
}
/* ===================================

  アクセスakusesu

====================================== */
.page-company .access {
  padding-top: 160px;
}
.page-company .access .container {
  width: 1040px;
}
.page-company .access__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 45px;
}
.page-company .access__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding-right: 70px;
}
.page-company .access__text {
  line-height: 2;
}
.page-company .access__link {
  margin-top: 27px;
}
.page-company .access__head {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 450px;
          flex: 0 0 450px;
  width: 450px;
}
.page-company .access__head .inner {
  position: relative;
  width: 100%;
  padding-top: 75%;
}
.page-company .access__head .inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1199px) {
  .page-company .access {
    padding-top: 100px;
  }
  .page-company .access .container {
    width: 100%;
    padding: 0 30px;
  }
  .page-company .access__contents {
    margin-top: 35px;
  }
  .page-company .access__body {
    padding-right: 30px;
  }
  .page-company .access__link {
    margin-top: 20px;
  }
  .page-company .access__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    width: 50%;
  }
}
@media screen and (max-width: 758px) {
  .page-company .access {
    padding-top: 60px;
  }
  .page-company .access__contents {
    display: block;
    margin-top: 25px;
  }
  .page-company .access__body {
    padding-right: 0;
  }
  .page-company .access__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    margin-top: 35px;
  }
}
/* ===================================

  選ばれる理由

====================================== */
.page-advantage .main .container {
  width: 1040px;
}
.page-advantage .main .suppo {
  margin-top: 140px;
}
.page-advantage .main .suppo__title {
  position: relative;
  padding-bottom: 27px;
  font-size: 32px;
  line-height: 1.5;
}
.page-advantage .main .suppo__title::before, .page-advantage .main .suppo__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  height: 1px;
}
.page-advantage .main .suppo__title::before {
  width: 100%;
  background-color: #ccc;
}
.page-advantage .main .suppo__title::after {
  width: 47px;
  background-color: #e73828;
  z-index: 1;
}
.page-advantage .main .suppo__txt {
  margin-top: 54px;
  line-height: 1.75;
}
.page-advantage .main .suppo .items {
  margin-top: 82px;
}
.page-advantage .main .suppo .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.page-advantage .main .suppo .item + .item {
  margin-top: 60px;
}
.page-advantage .main .suppo .item__head {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 380px;
          flex: 0 0 380px;
  width: 380px;
}
.page-advantage .main .suppo .item__figure {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 380px;
  height: 380px;
  border-radius: 9999px;
  border: 1px dotted #2d3b35;
}
.page-advantage .main .suppo .item__entitle {
  font-family: "Titillium Web", sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #e73828;
}
.page-advantage .main .suppo .item__title {
  margin-top: 20px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.page-advantage .main .suppo .item__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  margin-left: 70px;
}
.page-advantage .main .suppo .item__txt {
  line-height: 1.75;
}
.page-advantage .main .suppo .link-btn {
  margin: 100px auto 0;
  width: 600px;
  height: 80px;
  background-size: 40px 40px;
  background-position: center right 40px;
}

@media screen and (max-width: 1199px) {
  .page-advantage .main .container {
    width: 100%;
    padding: 0 30px;
  }
  .page-advantage .main .suppo {
    margin-top: 100px;
  }
  .page-advantage .main .suppo__title {
    padding-bottom: 20px;
    font-size: 24px;
  }
  .page-advantage .main .suppo__title::after {
    width: 40px;
  }
  .page-advantage .main .suppo__txt {
    margin-top: 30px;
  }
  .page-advantage .main .suppo .items {
    margin-top: 60px;
  }
  .page-advantage .main .suppo .item + .item {
    margin-top: 50px;
  }
  .page-advantage .main .suppo .item__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 250px;
            flex: 0 0 250px;
    width: 250px;
  }
  .page-advantage .main .suppo .item__figure {
    width: 250px;
    height: 250px;
  }
  .page-advantage .main .suppo .item__entitle {
    font-size: 14px;
  }
  .page-advantage .main .suppo .item__title {
    margin-top: 12px;
    font-size: 20px;
  }
  .page-advantage .main .suppo .item__body {
    margin-left: 50px;
  }
  .page-advantage .main .suppo .link-btn {
    margin: 60px auto 0;
    width: 320px;
    height: 60px;
    background-size: 30px 30px;
    background-position: center right 15px;
  }
}
@media screen and (max-width: 758px) {
  .page-advantage .main .suppo {
    margin-top: 60px;
  }
  .page-advantage .main .suppo__title {
    padding-bottom: 12px;
    font-size: 20px;
  }
  .page-advantage .main .suppo__title::after {
    width: 30px;
  }
  .page-advantage .main .suppo__txt {
    margin-top: 20px;
  }
  .page-advantage .main .suppo .items {
    margin-top: 60px;
  }
  .page-advantage .main .suppo .item {
    display: block;
  }
  .page-advantage .main .suppo .item + .item {
    margin-top: 70px;
  }
  .page-advantage .main .suppo .item__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
  }
  .page-advantage .main .suppo .item__figure {
    width: 220px;
    height: 220px;
    margin: 0 auto;
  }
  .page-advantage .main .suppo .item__entitle {
    font-size: 14px;
  }
  .page-advantage .main .suppo .item__title {
    margin-top: 12px;
    font-size: 18px;
  }
  .page-advantage .main .suppo .item__body {
    margin-top: 25px;
    margin-left: 0;
  }
  .page-advantage .main .suppo .link-btn {
    margin: 50px auto 0;
    width: 100%;
  }
}
/* ===================================

  お問い合わせ：page-contact

====================================== */
.page-contact .container {
  width: 1040px;
}
.page-contact .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.page-contact .contents {
  margin-top: 50px;
}
.page-contact .contents__title {
  font-size: 28px;
  font-weight: 500;
  text-align: center;
}
.page-contact .contents-tel .box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 28px;
  width: 100%;
  height: 200px;
  border: 1px solid #ccc;
}
.page-contact .contents-tel .box__link {
  display: block;
  margin-top: 25px;
  font-family: "Roboto", sans-serif;
  font-size: 30px;
  font-weight: 500;
}
.page-contact .contents-tel .box__link span {
  font-size: 54px;
}
.page-contact .contents-tel .box__time {
  margin-top: 14px;
  font-size: 20px;
  font-weight: 500;
}
.page-contact .contents-mail {
  margin-top: 88px;
}
.page-contact .contents .form-contents {
  margin-top: 32px;
}
.page-contact .contents .form__inner {
  padding: 55px 0 60px;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
.page-contact .contents .form__group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.page-contact .contents .form__group + .form__group {
  margin-top: 30px;
}
.page-contact .contents .form__label {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 300px;
          flex: 0 0 300px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-weight: 500;
  padding-top: 15px;
}
.page-contact .contents .form__label.checkbox {
  padding-top: 0;
}
.page-contact .contents .form__label .badge {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 70px;
  height: 25px;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
}
.page-contact .contents .form__label .badge.require {
  background-color: #ff1720;
}
.page-contact .contents .form__label .badge.any {
  background-color: #4d4d4d;
}
.page-contact .contents .form__body {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding-left: 40px;
}
.page-contact .contents .form-footer {
  padding-top: 46px;
}
.page-contact .contents .form-footer__txt {
  text-align: center;
  line-height: 1.5;
}
.page-contact .contents .form-footer__txt a {
  text-decoration: underline;
}
.page-contact input:not(input[type=checkbox], input[type=submit]),
.page-contact textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
  border-radius: 0;
  width: 100%;
  height: 50px;
  padding: 0 20px;
  background-color: #f1f1f1;
}
.page-contact textarea {
  height: 380px;
  padding: 15px 20px;
}
.page-contact input[type=submit] {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 67px auto 0;
  width: 320px;
  height: 55px;
  background-color: #f29600;
  background-image: url(img/ico/ico-link-btn.png);
  background-repeat: no-repeat;
  background-size: 25px 25px;
  background-position: center right 25px;
  font-weight: 700;
  color: #fff;
  border-radius: 9999px;
}
.page-contact .wpcf7-checkbox,
.page-contact .wpcf7-acceptance {
  display: block;
  padding-top: 3px;
  padding-bottom: 30px;
}
.page-contact .wpcf7-checkbox .wpcf7-list-item,
.page-contact .wpcf7-acceptance .wpcf7-list-item {
  display: block;
}
.page-contact .wpcf7-checkbox .wpcf7-list-item + .wpcf7-list-item,
.page-contact .wpcf7-acceptance .wpcf7-list-item + .wpcf7-list-item {
  margin-top: 25px;
}
.page-contact .wpcf7-checkbox .wpcf7-list-item-label,
.page-contact .wpcf7-acceptance .wpcf7-list-item-label {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.page-contact .wpcf7-checkbox input,
.page-contact .wpcf7-acceptance input {
  display: none;
}
.page-contact .wpcf7-checkbox label,
.page-contact .wpcf7-acceptance label {
  position: relative;
  cursor: pointer;
}
.page-contact .wpcf7-checkbox input + .wpcf7-list-item-label,
.page-contact .wpcf7-acceptance input + .wpcf7-list-item-label {
  padding-left: 40px;
}
.page-contact .wpcf7-checkbox input + .wpcf7-list-item-label::before,
.page-contact .wpcf7-acceptance input + .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  width: 25px;
  height: 25px;
  background-color: #f1f1f1;
}
.page-contact .wpcf7-checkbox input:checked + .wpcf7-list-item-label::after,
.page-contact .wpcf7-acceptance input:checked + .wpcf7-list-item-label::after {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 3px;
  width: 20px;
  height: 20px;
  background-image: url(img/ico/ico-check.svg);
  background-repeat: no-repeat;
  background-size: 20px 20px;
  background-position: center center;
}
.page-contact .wpcf7-acceptance {
  margin-top: 37px;
  padding-bottom: 0;
  text-align: center;
  line-height: 1.5;
}
.page-contact .wpcf7-acceptance input + .wpcf7-list-item-label::before {
  content: "";
  display: block;
  position: absolute;
  top: 1px;
  left: 0;
  width: 25px;
  height: 25px;
  background-color: #fff;
  border: 1px solid #ccc;
}

@media screen and (max-width: 1199px) {
  .page-contact .container {
    width: 100%;
    padding: 0 30px;
  }
  .page-contact .contents {
    margin-top: 30px;
  }
  .page-contact .contents__title {
    font-size: 20px;
  }
  .page-contact .contents-tel .box {
    margin: 20px auto 0;
    max-width: 75%;
    height: 150px;
  }
  .page-contact .contents-tel .box__link {
    margin-top: 18px;
    font-size: 24px;
  }
  .page-contact .contents-tel .box__link span {
    font-size: 40px;
  }
  .page-contact .contents-tel .box__time {
    margin-top: 10px;
    font-size: 16px;
  }
  .page-contact .contents-mail {
    margin-top: 50px;
  }
  .page-contact .contents .form-contents {
    margin-top: 20px;
  }
  .page-contact .contents .form__inner {
    padding: 40px 0 45px;
  }
  .page-contact .contents .form__group + .form__group {
    margin-top: 26px;
  }
  .page-contact .contents .form__label {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 250px;
            flex: 0 0 250px;
    padding-top: 12px;
  }
  .page-contact .contents .form__label.checkbox {
    padding-top: 3px;
  }
  .page-contact .contents .form__label .badge {
    width: 45px;
    height: 20px;
    font-size: 11px;
  }
  .page-contact .contents .form__body {
    padding-left: 30px;
  }
  .page-contact .contents .form-footer {
    padding-top: 40px;
  }
  .page-contact input:not(input[type=checkbox], input[type=submit]),
  .page-contact textarea {
    height: 45px;
    padding: 0 10px;
  }
  .page-contact textarea {
    height: 220px;
    padding: 10px 10px;
  }
  .page-contact input[type=submit] {
    width: 320px;
    height: 60px;
    background-size: 30px 30px;
    background-position: center right 15px;
    font-size: 15px;
  }
  .page-contact .wpcf7-checkbox,
  .page-contact .wpcf7-acceptance {
    padding-top: 2px;
    padding-bottom: 20px;
  }
  .page-contact .wpcf7-checkbox .wpcf7-list-item,
  .page-contact .wpcf7-acceptance .wpcf7-list-item {
    display: block;
  }
  .page-contact .wpcf7-checkbox .wpcf7-list-item + .wpcf7-list-item,
  .page-contact .wpcf7-acceptance .wpcf7-list-item + .wpcf7-list-item {
    margin-top: 1.5em;
  }
  .page-contact .wpcf7-checkbox input + .wpcf7-list-item-label,
  .page-contact .wpcf7-acceptance input + .wpcf7-list-item-label {
    padding-left: 30px;
  }
  .page-contact .wpcf7-checkbox input + .wpcf7-list-item-label::before,
  .page-contact .wpcf7-acceptance input + .wpcf7-list-item-label::before {
    top: 1px;
    width: 20px;
    height: 20px;
  }
  .page-contact .wpcf7-checkbox input:checked + .wpcf7-list-item-label::after,
  .page-contact .wpcf7-acceptance input:checked + .wpcf7-list-item-label::after {
    top: 4px;
    left: 1px;
    width: 18px;
    height: 18px;
    background-size: 18px 18px;
  }
  .page-contact .wpcf7-acceptance {
    margin-top: 30px;
  }
  .page-contact .wpcf7-acceptance input + .wpcf7-list-item-label::before {
    top: 1px;
    width: 20px;
    height: 20px;
  }
}
@media screen and (max-width: 758px) {
  .page-contact .contents {
    margin-top: 20px;
  }
  .page-contact .contents__title {
    font-size: 18px;
  }
  .page-contact .contents-tel .box {
    margin: 15px auto 0;
    max-width: 100%;
    height: 135px;
  }
  .page-contact .contents-tel .box__link {
    margin-top: 12px;
    font-size: 18px;
  }
  .page-contact .contents-tel .box__link span {
    font-size: 34px;
  }
  .page-contact .contents-tel .box__title {
    font-size: 13px;
  }
  .page-contact .contents-tel .box__time {
    font-size: 14px;
  }
  .page-contact .contents-mail {
    margin-top: 40px;
  }
  .page-contact .contents .form-contents {
    margin-top: 15px;
  }
  .page-contact .contents .form__inner {
    padding: 25px 0 30px;
  }
  .page-contact .contents .form__group {
    display: block;
  }
  .page-contact .contents .form__group + .form__group {
    margin-top: 30px;
  }
  .page-contact .contents .form__label {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding-top: 0;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .page-contact .contents .form__label.checkbox {
    padding-top: 0;
  }
  .page-contact .contents .form__label .badge {
    margin-left: 1.5em;
    width: 36px;
    height: 18px;
    font-size: 10px;
  }
  .page-contact .contents .form__body {
    padding-left: 0;
    margin-top: 10px;
  }
  .page-contact .contents .form-footer {
    padding-top: 30px;
  }
  .page-contact .contents .form-footer__txt {
    line-height: 1.75;
  }
  .page-contact input:not(input[type=checkbox], input[type=submit]),
  .page-contact textarea {
    height: 36px;
  }
  .page-contact textarea {
    height: 150px;
  }
  .page-contact input[type=submit] {
    margin-top: 30px;
    width: 100%;
    height: 60px;
    font-size: 14px;
  }
  .page-contact .wpcf7-checkbox,
  .page-contact .wpcf7-acceptance {
    padding-top: 2px;
    padding-bottom: 15px;
  }
  .page-contact .wpcf7-checkbox .wpcf7-list-item + .wpcf7-list-item,
  .page-contact .wpcf7-acceptance .wpcf7-list-item + .wpcf7-list-item {
    margin-top: 1.75em;
  }
  .page-contact .wpcf7-checkbox input + .wpcf7-list-item-label,
  .page-contact .wpcf7-acceptance input + .wpcf7-list-item-label {
    padding-left: 28px;
  }
  .page-contact .wpcf7-checkbox input + .wpcf7-list-item-label::before,
  .page-contact .wpcf7-acceptance input + .wpcf7-list-item-label::before {
    top: 1px;
    width: 18px;
    height: 18px;
  }
  .page-contact .wpcf7-checkbox input:checked + .wpcf7-list-item-label::after,
  .page-contact .wpcf7-acceptance input:checked + .wpcf7-list-item-label::after {
    top: 1px;
    left: 0;
    width: 18px;
    height: 18px;
    background-size: 18px 18px;
  }
  .page-contact .wpcf7-checkbox {
    padding-top: 0.5em;
  }
  .page-contact .wpcf7-acceptance {
    margin-top: 30px;
    padding-bottom: 0;
  }
  .page-contact .wpcf7-acceptance input + .wpcf7-list-item-label::before {
    top: 1px;
    width: 18px;
    height: 18px;
  }
}
/* ---------------------------------
  Validation制御
----------------------------------- */
.wpcf7-form-control-wrap > .wpcf7-not-valid-tip {
  display: none;
  margin-top: 0.3em;
}
.wpcf7-form-control-wrap.is-show > .wpcf7-not-valid-tip {
  display: block;
}

.wpcf7-response-output {
  display: none;
  opacity: 0;
}

/* ===================================

  サンクスページ
  404エラー

====================================== */
.page-thanks .main .container,
.error404 .main .container {
  width: 1220px;
}
.page-thanks .main .contents__title,
.error404 .main .contents__title {
  font-size: 28px;
  font-weight: 500;
}
.page-thanks .main .contents__txt,
.error404 .main .contents__txt {
  margin-top: 45px;
  line-height: 2;
}
.page-thanks .main .contents__link,
.error404 .main .contents__link {
  margin-top: 72px;
}

@media screen and (max-width: 1199px) {
  .page-thanks .main .container,
  .error404 .main .container {
    width: 100%;
    padding: 0 30px;
  }
  .page-thanks .main .contents__title,
  .error404 .main .contents__title {
    font-size: 20px;
  }
  .page-thanks .main .contents__txt,
  .error404 .main .contents__txt {
    margin-top: 35px;
  }
  .page-thanks .main .contents__link,
  .error404 .main .contents__link {
    margin-top: 60px;
  }
}
@media screen and (max-width: 758px) {
  .page-thanks .main .contents__title,
  .error404 .main .contents__title {
    font-size: 20px;
  }
  .page-thanks .main .contents__txt,
  .error404 .main .contents__txt {
    margin-top: 30px;
  }
  .page-thanks .main .contents__link,
  .error404 .main .contents__link {
    margin-top: 40px;
  }
}
/* ===================================

  サービス アーカイブ：post-type-archive-service

====================================== */
.post-type-archive-service .main .container {
  width: 1200px;
}
.post-type-archive-service .main .tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.post-type-archive-service .main .tab {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 30px;
  margin-bottom: 20px;
  width: 240px;
  height: 40px;
  background-image: url(img/ico/ico-tri-bottom.png);
  background-repeat: no-repeat;
  background-size: 10px 8px;
  background-position: center right 15px;
  border-radius: 9999px;
  background-color: #e6e6e6;
  font-weight: 500;
}
.post-type-archive-service .main .contents {
  padding-top: 60px;
}
.post-type-archive-service .main .contents .group + .group {
  margin-top: 140px;
}
.post-type-archive-service .main .contents .group__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-size: 28px;
  font-weight: 700;
}
.post-type-archive-service .main .contents .group__title::before {
  content: "";
  display: block;
  margin-top: 0.3em;
  margin-right: 16px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 14px;
          flex: 0 0 14px;
  width: 14px;
  height: 14px;
  background-color: #f29600;
  border-radius: 50%;
}
.post-type-archive-service .main .entries {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 60px;
}
.post-type-archive-service .main .entries::after {
  content: "";
  display: block;
  width: calc((100% - 140px) / 3);
}
.post-type-archive-service .main .entry {
  width: calc((100% - 140px) / 3);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 140px) / 3);
          flex: 0 0 calc((100% - 140px) / 3);
  padding-top: 35px;
  border-top: 1px solid #ccc;
}
.post-type-archive-service .main .entry:nth-child(n+4) {
  margin-top: 80px;
}
.post-type-archive-service .main .entry__title {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.5;
}
.post-type-archive-service .main .entry__text {
  margin-top: 20px;
  line-height: 2;
}
.post-type-archive-service .main .entry__foot {
  margin-top: 27px;
}

@media screen and (max-width: 1199px) {
  .post-type-archive-service .main .container {
    width: 100%;
    padding: 0 30px;
  }
  .post-type-archive-service .main .tabs {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .post-type-archive-service .main .tab {
    width: 48.5%;
    height: 35px;
    margin: 0;
    background-size: 10px 8px;
    background-position: center right 15px;
    border-radius: 9999px;
    background-color: #e6e6e6;
  }
  .post-type-archive-service .main .tab:nth-child(n+3) {
    margin-top: 20px;
  }
  .post-type-archive-service .main .contents {
    padding-top: 50px;
  }
  .post-type-archive-service .main .contents .group + .group {
    margin-top: 100px;
  }
  .post-type-archive-service .main .contents .group__title {
    font-size: 24px;
  }
  .post-type-archive-service .main .contents .group__title::before {
    margin-right: 15px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 12px;
            flex: 0 0 12px;
    width: 12px;
    height: 12px;
  }
  .post-type-archive-service .main .entries {
    margin-top: 30px;
  }
  .post-type-archive-service .main .entries::after {
    width: calc((100% - 80px) / 2);
  }
  .post-type-archive-service .main .entry {
    width: calc((100% - 50px) / 2);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 50px) / 2);
            flex: 0 0 calc((100% - 50px) / 2);
    padding-top: 25px;
  }
  .post-type-archive-service .main .entry:nth-child(n+3) {
    margin-top: 40px;
  }
  .post-type-archive-service .main .entry__title {
    font-size: 18px;
    line-height: 1.5;
  }
  .post-type-archive-service .main .entry__text {
    margin-top: 16px;
  }
  .post-type-archive-service .main .entry__foot {
    margin-top: 20px;
  }
}
@media screen and (max-width: 758px) {
  .post-type-archive-service .main .tabs {
    display: block;
  }
  .post-type-archive-service .main .tab {
    width: 100%;
    height: 35px;
    background-size: 9px 7px;
  }
  .post-type-archive-service .main .tab:nth-child(n+2) {
    margin-top: 10px;
  }
  .post-type-archive-service .main .contents {
    padding-top: 40px;
  }
  .post-type-archive-service .main .contents .group + .group {
    margin-top: 60px;
  }
  .post-type-archive-service .main .contents .group__title {
    font-size: 22px;
  }
  .post-type-archive-service .main .contents .group__title::before {
    margin-right: 12px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 10px;
            flex: 0 0 10px;
    width: 10px;
    height: 10px;
  }
  .post-type-archive-service .main .entries {
    margin-top: 25px;
    display: block;
  }
  .post-type-archive-service .main .entries::after {
    display: none;
  }
  .post-type-archive-service .main .entry {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding-top: 30px;
  }
  .post-type-archive-service .main .entry:nth-child(n+2) {
    margin-top: 60px;
  }
  .post-type-archive-service .main .entry__title {
    font-size: 18px;
  }
  .post-type-archive-service .main .entry__text {
    margin-top: 12px;
  }
  .post-type-archive-service .main .entry__foot {
    margin-top: 18px;
  }
}
/* ===================================

  お知らせ

====================================== */
.blog .main .container {
  width: 1220px;
}
.blog .main .entry {
  border-bottom: 1px solid #ccc;
}
.blog .main .entry:first-child {
  border-top: 1px solid #ccc;
}
.blog .main .entry__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 38px 0;
  background-image: url(img/ico/ico-more-btn.png);
  background-repeat: no-repeat;
  background-size: 40px 40px;
  background-position: center right 28px;
}
.blog .main .entry__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 295px;
          flex: 0 0 295px;
  width: 295px;
  padding-left: 30px;
}
.blog .main .entry__date {
  font-family: "Roboto", sans-serif;
  color: #808080;
  margin-top: 2px;
}
.blog .main .entry__cates {
  margin-left: 35px;
}
.blog .main .entry__cate {
  position: relative;
  padding: 5px 9px;
  background-color: #808080;
  font-size: 14px;
  color: #fff;
  border-radius: 9999px;
}
.blog .main .entry__body {
  word-break: break-all;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  padding-right: 60px;
}
.blog .main .entry__title {
  font-weight: 400;
  line-height: 1.4;
}

@media screen and (max-width: 1199px) {
  .blog .main .container {
    width: 100%;
    padding: 0 30px;
  }
  .blog .main .entry__link {
    padding: 25px 0;
    background-size: 25px 25px;
    background-position: center right 15px;
  }
  .blog .main .entry__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 200px;
            flex: 0 0 200px;
    width: 200px;
    padding-left: 15px;
  }
  .blog .main .entry__date {
    margin-top: 0;
  }
  .blog .main .entry__cates {
    margin-left: 25px;
  }
  .blog .main .entry__cate {
    padding: 4px 8px;
    font-size: 12px;
  }
  .blog .main .entry__body {
    padding-left: 30px;
  }
  .blog .main .entry__title {
    line-height: 1.5;
  }
}
@media screen and (max-width: 758px) {
  .blog .main .entry__link {
    display: block;
    padding: 20px 0;
    background-size: 20px 20px;
    background-position: center right 0;
  }
  .blog .main .entry__head {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    padding-left: 0;
  }
  .blog .main .entry__date {
    margin-top: 2px;
  }
  .blog .main .entry__cates {
    margin-left: 20px;
  }
  .blog .main .entry__cate {
    padding: 3px 6px;
    font-size: 10px;
  }
  .blog .main .entry__body {
    padding-left: 0;
    padding-right: 40px;
    margin-top: 12px;
  }
}
/* ===================================

  Worksアーカイブ

====================================== */
.post-type-archive-works .main .container,
.tax-cate-works .main .container {
  width: 1220px;
}
.post-type-archive-works .main .tabs,
.tax-cate-works .main .tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.post-type-archive-works .main .tab,
.tax-cate-works .main .tab {
  position: relative;
  margin: 0 10px 10px 0;
  padding: 8px 15px;
  border: 1px solid #2d3b35;
  border-radius: 4px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.post-type-archive-works .main .tab.active, .post-type-archive-works .main .tab:hover,
.tax-cate-works .main .tab.active,
.tax-cate-works .main .tab:hover {
  background-color: #f29600;
  border: 1px solid #f29600;
  color: #fff;
  opacity: 1;
}
.post-type-archive-works .main .contents,
.tax-cate-works .main .contents {
  margin-top: 70px;
}
.post-type-archive-works .main .entries,
.tax-cate-works .main .entries {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.post-type-archive-works .main .entry,
.tax-cate-works .main .entry {
  width: calc((100% - 60px) / 2);
}
.post-type-archive-works .main .entry:nth-child(n+3),
.tax-cate-works .main .entry:nth-child(n+3) {
  margin-top: 70px;
}
.post-type-archive-works .main .entry__link,
.tax-cate-works .main .entry__link {
  display: block;
}
.post-type-archive-works .main .entry__thumb,
.tax-cate-works .main .entry__thumb {
  width: 100%;
  overflow: hidden;
}
.post-type-archive-works .main .entry__thumb-img,
.tax-cate-works .main .entry__thumb-img {
  width: 100%;
  padding-top: 66.7%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.post-type-archive-works .main .entry__link:hover,
.tax-cate-works .main .entry__link:hover {
  opacity: 0.6;
}
.post-type-archive-works .main .entry__link:hover .entry__thumb-img,
.tax-cate-works .main .entry__link:hover .entry__thumb-img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}
.post-type-archive-works .main .entry__body,
.tax-cate-works .main .entry__body {
  padding-top: 15px;
  word-break: break-all;
}
.post-type-archive-works .main .entry__title,
.tax-cate-works .main .entry__title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
.post-type-archive-works .main .entry__cates,
.tax-cate-works .main .entry__cates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 20px;
}
.post-type-archive-works .main .entry__cate,
.tax-cate-works .main .entry__cate {
  margin: 0 10px 10px 0;
}
.post-type-archive-works .main .entry__cate-link,
.tax-cate-works .main .entry__cate-link {
  display: block;
  position: relative;
  padding: 6px 10px;
  border: 1px solid #2d3b35;
  font-size: 12px;
  border-radius: 4px;
}

@media screen and (max-width: 1199px) {
  .post-type-archive-works .main .container,
  .tax-cate-works .main .container {
    width: 100%;
    padding: 0 30px;
  }
  .post-type-archive-works .main .tab,
  .tax-cate-works .main .tab {
    margin: 0 8px 8px 0;
    padding: 6px 10px;
  }
  .post-type-archive-works .main .tab:hover,
  .tax-cate-works .main .tab:hover {
    background-color: #fff;
    border: 1px solid #2d3b35;
  }
  .post-type-archive-works .main .contents,
  .tax-cate-works .main .contents {
    margin-top: 50px;
  }
  .post-type-archive-works .main .entry,
  .tax-cate-works .main .entry {
    width: calc((100% - 40px) / 2);
  }
  .post-type-archive-works .main .entry:nth-child(n+3),
  .tax-cate-works .main .entry:nth-child(n+3) {
    margin-top: 50px;
  }
  .post-type-archive-works .main .entry__link:hover,
  .tax-cate-works .main .entry__link:hover {
    opacity: 1;
  }
  .post-type-archive-works .main .entry__link:hover .entry__thumb-img,
  .tax-cate-works .main .entry__link:hover .entry__thumb-img {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
  }
  .post-type-archive-works .main .entry__body,
  .tax-cate-works .main .entry__body {
    padding-top: 18px;
  }
  .post-type-archive-works .main .entry__title,
  .tax-cate-works .main .entry__title {
    font-size: 16px;
  }
  .post-type-archive-works .main .entry__cates,
  .tax-cate-works .main .entry__cates {
    margin-top: 15px;
  }
  .post-type-archive-works .main .entry__cate,
  .tax-cate-works .main .entry__cate {
    margin: 0 8px 8px 0;
  }
  .post-type-archive-works .main .entry__cate-link,
  .tax-cate-works .main .entry__cate-link {
    padding: 5px 8px;
    font-size: 11px;
  }
}
@media screen and (max-width: 758px) {
  .post-type-archive-works .main .tab,
  .tax-cate-works .main .tab {
    margin: 0 5px 5px 0;
    padding: 5px 8px;
  }
  .post-type-archive-works .main .contents,
  .tax-cate-works .main .contents {
    margin-top: 40px;
  }
  .post-type-archive-works .main .entries,
  .tax-cate-works .main .entries {
    display: block;
  }
  .post-type-archive-works .main .entry,
  .tax-cate-works .main .entry {
    width: 100%;
  }
  .post-type-archive-works .main .entry:nth-child(n+2),
  .tax-cate-works .main .entry:nth-child(n+2) {
    margin-top: 35px;
  }
  .post-type-archive-works .main .entry__body,
  .tax-cate-works .main .entry__body {
    padding-top: 13px;
  }
  .post-type-archive-works .main .entry__title,
  .tax-cate-works .main .entry__title {
    font-size: 14px;
  }
  .post-type-archive-works .main .entry__cates,
  .tax-cate-works .main .entry__cates {
    margin-top: 13px;
  }
  .post-type-archive-works .main .entry__cate,
  .tax-cate-works .main .entry__cate {
    margin: 0 5px 5px 0;
  }
  .post-type-archive-works .main .entry__cate-link,
  .tax-cate-works .main .entry__cate-link {
    font-size: 10px;
  }
}
/* ===================================

  アーカイブ ブログ

====================================== */
.post-type-archive-blog .main .container,
.tax-cate-blog .main .container {
  width: 1220px;
}
.post-type-archive-blog .main .tabs,
.tax-cate-blog .main .tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.post-type-archive-blog .main .tab,
.tax-cate-blog .main .tab {
  position: relative;
  margin: 0 10px 10px 0;
  padding: 8px 15px;
  border: 1px solid #2d3b35;
  border-radius: 4px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.post-type-archive-blog .main .tab.active, .post-type-archive-blog .main .tab:hover,
.tax-cate-blog .main .tab.active,
.tax-cate-blog .main .tab:hover {
  background-color: #f29600;
  border: 1px solid #f29600;
  color: #fff;
  opacity: 1;
}
.post-type-archive-blog .main .contents,
.tax-cate-blog .main .contents {
  margin-top: 70px;
}
.post-type-archive-blog .main .entries,
.tax-cate-blog .main .entries {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.post-type-archive-blog .main .entries::after,
.tax-cate-blog .main .entries::after {
  content: "";
  display: block;
  width: calc((100% - 120px) / 3);
}
.post-type-archive-blog .main .entry,
.tax-cate-blog .main .entry {
  width: calc((100% - 120px) / 3);
}
.post-type-archive-blog .main .entry:nth-child(n+4),
.tax-cate-blog .main .entry:nth-child(n+4) {
  margin-top: 80px;
}
.post-type-archive-blog .main .entry__link,
.tax-cate-blog .main .entry__link {
  display: block;
}
.post-type-archive-blog .main .entry__thumb,
.tax-cate-blog .main .entry__thumb {
  width: 100%;
  overflow: hidden;
}
.post-type-archive-blog .main .entry__thumb-img,
.tax-cate-blog .main .entry__thumb-img {
  width: 100%;
  padding-top: 66.7%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.post-type-archive-blog .main .entry__link:hover,
.tax-cate-blog .main .entry__link:hover {
  opacity: 0.6;
}
.post-type-archive-blog .main .entry__link:hover .entry__thumb-img,
.tax-cate-blog .main .entry__link:hover .entry__thumb-img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}
.post-type-archive-blog .main .entry__body,
.tax-cate-blog .main .entry__body {
  padding-top: 20px;
  word-break: break-all;
}
.post-type-archive-blog .main .entry__date,
.tax-cate-blog .main .entry__date {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  color: #808080;
}
.post-type-archive-blog .main .entry__title,
.tax-cate-blog .main .entry__title {
  margin-top: 15px;
  font-weight: 700;
  line-height: 1.5;
}
.post-type-archive-blog .main .entry__cates,
.tax-cate-blog .main .entry__cates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 20px;
}
.post-type-archive-blog .main .entry__cate,
.tax-cate-blog .main .entry__cate {
  margin: 0 10px 10px 0;
}
.post-type-archive-blog .main .entry__cate-link,
.tax-cate-blog .main .entry__cate-link {
  display: block;
  position: relative;
  padding: 6px 10px;
  border: 1px solid #2d3b35;
  font-size: 12px;
  border-radius: 4px;
}

@media screen and (max-width: 1199px) {
  .post-type-archive-blog .main .container,
  .tax-cate-blog .main .container {
    width: 100%;
    padding: 0 30px;
  }
  .post-type-archive-blog .main .tab,
  .tax-cate-blog .main .tab {
    margin: 0 8px 8px 0;
    padding: 6px 10px;
  }
  .post-type-archive-blog .main .tab:hover,
  .tax-cate-blog .main .tab:hover {
    background-color: #fff;
    border: 1px solid #2d3b35;
  }
  .post-type-archive-blog .main .contents,
  .tax-cate-blog .main .contents {
    margin-top: 50px;
  }
  .post-type-archive-blog .main .entries::after,
  .tax-cate-blog .main .entries::after {
    width: calc((100% - 60px) / 3);
  }
  .post-type-archive-blog .main .entry,
  .tax-cate-blog .main .entry {
    width: calc((100% - 60px) / 3);
  }
  .post-type-archive-blog .main .entry:nth-child(n+4),
  .tax-cate-blog .main .entry:nth-child(n+4) {
    margin-top: 50px;
  }
  .post-type-archive-blog .main .entry__link:hover,
  .tax-cate-blog .main .entry__link:hover {
    opacity: 1;
  }
  .post-type-archive-blog .main .entry__link:hover .entry__thumb-img,
  .tax-cate-blog .main .entry__link:hover .entry__thumb-img {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
  }
  .post-type-archive-blog .main .entry__body,
  .tax-cate-blog .main .entry__body {
    padding-top: 18px;
  }
  .post-type-archive-blog .main .entry__date,
  .tax-cate-blog .main .entry__date {
    font-size: 12px;
  }
  .post-type-archive-blog .main .entry__title,
  .tax-cate-blog .main .entry__title {
    margin-top: 12px;
    font-size: 15px;
  }
  .post-type-archive-blog .main .entry__cates,
  .tax-cate-blog .main .entry__cates {
    margin-top: 16px;
  }
  .post-type-archive-blog .main .entry__cate,
  .tax-cate-blog .main .entry__cate {
    margin: 0 8px 8px 0;
  }
  .post-type-archive-blog .main .entry__cate-link,
  .tax-cate-blog .main .entry__cate-link {
    padding: 5px 8px;
    font-size: 11px;
  }
}
@media screen and (max-width: 758px) {
  .post-type-archive-blog .main .tab,
  .tax-cate-blog .main .tab {
    margin: 0 5px 5px 0;
    padding: 5px 8px;
  }
  .post-type-archive-blog .main .contents,
  .tax-cate-blog .main .contents {
    margin-top: 40px;
  }
  .post-type-archive-blog .main .entries,
  .tax-cate-blog .main .entries {
    display: block;
  }
  .post-type-archive-blog .main .entries::after,
  .tax-cate-blog .main .entries::after {
    display: none;
  }
  .post-type-archive-blog .main .entry,
  .tax-cate-blog .main .entry {
    width: 100%;
  }
  .post-type-archive-blog .main .entry:nth-child(n+2),
  .tax-cate-blog .main .entry:nth-child(n+2) {
    margin-top: 35px;
  }
  .post-type-archive-blog .main .entry__body,
  .tax-cate-blog .main .entry__body {
    padding-top: 15px;
  }
  .post-type-archive-blog .main .entry__date,
  .tax-cate-blog .main .entry__date {
    font-size: 11px;
  }
  .post-type-archive-blog .main .entry__title,
  .tax-cate-blog .main .entry__title {
    margin-top: 11px;
    font-size: 14px;
  }
  .post-type-archive-blog .main .entry__cates,
  .tax-cate-blog .main .entry__cates {
    margin-top: 13px;
  }
  .post-type-archive-blog .main .entry__cate,
  .tax-cate-blog .main .entry__cate {
    margin: 0 5px 5px 0;
  }
  .post-type-archive-blog .main .entry__cate-link,
  .tax-cate-blog .main .entry__cate-link {
    font-size: 10px;
  }
}
/* ===================================

  main下関連記事

====================================== */
.related {
  margin-top: 120px;
  /* ---------------------------------
    関連事例
  ----------------------------------- */
  /* ---------------------------------
    よくある質問
  ----------------------------------- */
  /* ---------------------------------
    関連ブログ
  ----------------------------------- */
}
.related__group + .related__group {
  margin-top: 140px;
}
.related__title {
  font-size: 28px;
  font-weight: 700;
}
.related__contents {
  margin-top: 80px;
}
.related .w-entries {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.related .w-entry {
  width: calc((100% - 60px) / 2);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 60px) / 2);
          flex: 0 0 calc((100% - 60px) / 2);
}
.related .w-entry:nth-child(n+3) {
  margin-top: 60px;
}
.related .w-entry__link {
  display: block;
}
.related .w-entry__thumb {
  width: 100%;
  overflow: hidden;
}
.related .w-entry__thumb-img {
  width: 100%;
  padding-top: 66.7%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.related .w-entry__link:hover {
  opacity: 0.6;
}
.related .w-entry__link:hover .w-entry__thumb-img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}
.related .w-entry__body {
  padding-top: 20px;
  word-break: break-all;
}
.related .w-entry__title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
.related .w-entry__cates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 15px;
}
.related .w-entry__cate {
  margin: 0 10px 10px 0;
}
.related .w-entry__cate-link {
  display: block;
  position: relative;
  padding: 6px 10px;
  border: 1px solid #2d3b35;
  font-size: 12px;
  border-radius: 4px;
}
.related .faq {
  padding: 50px 0;
  border-bottom: 1px solid #ccc;
}
.related .faq:first-child {
  border-top: 1px solid #ccc;
}
.related .faq__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.related .faq__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 20px;
}
.related .faq__left {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 60px;
          flex: 0 0 60px;
  width: 60px;
}
.related .faq__ico {
  font-family: "Roboto", sans-serif;
  font-size: 30px;
}
.related .faq__que {
  font-size: 20px;
  line-height: 1.5;
}
.related .faq__right {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
.related .faq__ans {
  line-height: 2;
}
.related .faq__ans a {
  color: #1a0dab;
}
.related .b-entries {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.related .b-entries::after {
  content: "";
  display: block;
  width: calc((100% - 120px) / 3);
}
.related .b-entry {
  width: calc((100% - 120px) / 3);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 120px) / 3);
          flex: 0 0 calc((100% - 120px) / 3);
}
.related .b-entry__link {
  display: block;
}
.related .b-entry__thumb {
  width: 100%;
  overflow: hidden;
}
.related .b-entry__thumb-img {
  width: 100%;
  padding-top: 66.7%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.related .b-entry__link:hover {
  opacity: 0.6;
}
.related .b-entry__link:hover .b-entry__thumb-img {
  -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
          transform: scale(1.05);
}
.related .b-entry__body {
  padding-top: 20px;
  word-break: break-all;
}
.related .b-entry__date {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  color: #808080;
}
.related .b-entry__title {
  margin-top: 14px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
.related .b-entry__cates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 20px;
}
.related .b-entry__cate {
  margin: 0 10px 10px 0;
}
.related .b-entry__cate-link {
  display: block;
  position: relative;
  padding: 6px 10px;
  border: 1px solid #2d3b35;
  font-size: 12px;
  border-radius: 4px;
}

@media screen and (max-width: 1199px) {
  .related {
    margin-top: 80px;
    /* ---------------------------------
      関連事例
    ----------------------------------- */
    /* ---------------------------------
      よくある質問
    ----------------------------------- */
    /* ---------------------------------
      関連ブログ
    ----------------------------------- */
  }
  .related__group + .related__group {
    margin-top: 100px;
  }
  .related__title {
    font-size: 26px;
  }
  .related__contents {
    margin-top: 60px;
  }
  .related .w-entry {
    width: calc((100% - 40px) / 2);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 40px) / 2);
            flex: 0 0 calc((100% - 40px) / 2);
  }
  .related .w-entry:nth-child(n+3) {
    margin-top: 50px;
  }
  .related .w-entry__link:hover {
    opacity: 1;
  }
  .related .w-entry__link:hover .w-entry__thumb-img {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
  }
  .related .w-entry__body {
    padding-top: 18px;
  }
  .related .w-entry__title {
    font-size: 16px;
  }
  .related .w-entry__cates {
    margin-top: 15px;
  }
  .related .w-entry__cate {
    margin: 0 8px 8px 0;
  }
  .related .w-entry__cate-link {
    padding: 5px 8px;
    font-size: 11px;
  }
  .related .faq {
    padding: 35px 0;
  }
  .related .faq__body {
    margin-top: 16px;
  }
  .related .faq__left {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50px;
            flex: 0 0 50px;
    width: 50px;
  }
  .related .faq__ico {
    font-size: 26px;
  }
  .related .faq__que {
    font-size: 18px;
  }
  .related .b-entries::after {
    width: calc((100% - 60px) / 3);
  }
  .related .b-entry {
    width: calc((100% - 60px) / 3);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc((100% - 60px) / 3);
            flex: 0 0 calc((100% - 60px) / 3);
  }
  .related .b-entry__link:hover {
    opacity: 1;
  }
  .related .b-entry__link:hover .b-entry__thumb-img {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
  }
  .related .b-entry__body {
    padding-top: 18px;
  }
  .related .b-entry__date {
    font-size: 12px;
  }
  .related .b-entry__title {
    margin-top: 12px;
    font-size: 15px;
  }
  .related .b-entry__cates {
    margin-top: 16px;
  }
  .related .b-entry__cate {
    margin: 0 8px 8px 0;
  }
  .related .b-entry__cate-link {
    padding: 5px 8px;
    font-size: 11px;
  }
}
@media screen and (max-width: 758px) {
  .related {
    margin-top: 60px;
    /* ---------------------------------
      関連事例
    ----------------------------------- */
    /* ---------------------------------
      よくある質問
    ----------------------------------- */
    /* ---------------------------------
      関連ブログ
    ----------------------------------- */
  }
  .related__group + .related__group {
    margin-top: 80px;
  }
  .related__title {
    font-size: 20px;
  }
  .related__contents {
    margin-top: 40px;
  }
  .related .w-entries {
    display: block;
  }
  .related .w-entry {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
  .related .w-entry + .w-entry {
    margin-top: 35px;
  }
  .related .w-entry__body {
    padding-top: 13px;
  }
  .related .w-entry__title {
    font-size: 14px;
  }
  .related .w-entry__cates {
    margin-top: 13px;
  }
  .related .w-entry__cate {
    margin: 0 5px 5px 0;
  }
  .related .w-entry__cate-link {
    font-size: 10px;
  }
  .related .faq {
    padding: 25px 0;
  }
  .related .faq__body {
    margin-top: 16px;
  }
  .related .faq__left {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    width: 40px;
  }
  .related .faq__ico {
    font-size: 22px;
  }
  .related .faq__que {
    font-size: 15px;
  }
  .related .b-entries {
    display: block;
  }
  .related .b-entries::after {
    display: none;
  }
  .related .b-entry {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
  .related .b-entry + .b-entry {
    margin-top: 40px;
  }
  .related .b-entry__body {
    padding-top: 15px;
  }
  .related .b-entry__date {
    font-size: 11px;
  }
  .related .b-entry__title {
    margin-top: 11px;
    font-size: 14px;
  }
  .related .b-entry__cates {
    margin-top: 13px;
  }
  .related .b-entry__cate {
    margin: 0 5px 5px 0;
  }
  .related .b-entry__cate-link {
    font-size: 10px;
  }
}
/* ===================================

  サービス詳細： single-service

====================================== */
.single-service .main {
  padding-bottom: 0;
}
.single-service .contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto;
  width: 1200px;
}
.single-service .contents .main {
  width: 890px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 890px;
          flex: 0 0 890px;
}
.single-service .contents .main #toc_container {
  display: none;
}
.single-service .contents .sidebar {
  width: 240px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 240px;
          flex: 0 0 240px;
}

@media screen and (max-width: 1199px) {
  .single-service .contents {
    width: 100%;
  }
  .single-service .contents .main {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding: 0 30px;
  }
  .single-service .contents .sidebar {
    display: none;
  }
}
/* ===================================

  mainサービス一覧

====================================== */
.contents-btm {
  margin-top: 140px;
  padding-bottom: 180px;
}
.contents-btm__inner {
  width: 1220px;
  margin: 0 auto;
}
.contents-btm__title {
  font-size: 28px;
  font-weight: 700;
}
.contents-btm__contents {
  margin-top: 80px;
}
.contents-btm__contents .items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.contents-btm__contents .item {
  margin-bottom: -1px;
  margin-right: -1px;
  width: 33.3333333333%;
  height: 70px;
  border: 1px solid #ccc;
}
.contents-btm__contents .item__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 25px;
  width: 100%;
  height: 100%;
  background-image: url(img/ico/ico-more-btn.png);
  background-repeat: no-repeat;
  background-size: 20px 20px;
  background-position: center right 25px;
  font-size: 14px;
}

@media screen and (max-width: 1199px) {
  .contents-btm {
    margin-top: 100px;
    padding-bottom: 100px;
  }
  .contents-btm__inner {
    width: 100%;
    padding: 0 30px;
  }
  .contents-btm__title {
    font-size: 26px;
  }
  .contents-btm__contents {
    margin-top: 60px;
  }
  .contents-btm__contents .item {
    width: 50%;
    height: 60px;
  }
  .contents-btm__contents .item__link {
    padding-left: 20px;
    background-size: 16px 16px;
    background-position: center right 20px;
    font-size: 13px;
  }
}
@media screen and (max-width: 758px) {
  .contents-btm {
    margin-top: 60px;
    padding-bottom: 80px;
  }
  .contents-btm__title {
    font-size: 20px;
  }
  .contents-btm__contents {
    margin-top: 40px;
  }
  .contents-btm__contents .items {
    display: block;
  }
  .contents-btm__contents .item {
    width: 100%;
    height: 50px;
  }
  .contents-btm__contents .item__link {
    padding-left: 15px;
    background-position: center right 15px;
    font-size: 14px;
  }
}
/* ===================================

  ブログ 詳細

====================================== */
.single-blog .main {
  padding-top: 210px;
}
.single-blog .main .container {
  width: 890px;
}
.single-blog .main .entry {
  word-break: break-all;
}
.single-blog .main .entry__date {
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  color: #808080;
}
.single-blog .main .entry__title {
  margin-top: 35px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
}
.single-blog .main .entry__cates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 40px;
}
.single-blog .main .entry__cate {
  margin: 0 10px 10px 0;
}
.single-blog .main .entry__cate-link {
  display: block;
  position: relative;
  padding: 6px 10px;
  border: 1px solid #2d3b35;
  font-size: 12px;
  border-radius: 4px;
}
.single-blog .main .entry__thumb {
  margin-top: 70px;
  width: 100%;
  overflow: hidden;
}
.single-blog .main .entry__thumb-img {
  width: 100%;
  padding-top: 66.7%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.single-blog .main .entry__body {
  padding-top: 75px;
}
.single-blog .main .related {
  margin-top: 140px;
}

@media screen and (max-width: 1199px) {
  .single-blog .main {
    padding-top: 120px;
  }
  .single-blog .main .container {
    width: 100%;
    padding: 0 30px;
  }
  .single-blog .main .entry__date {
    font-size: 12px;
  }
  .single-blog .main .entry__title {
    margin-top: 25px;
    font-size: 24px;
  }
  .single-blog .main .entry__cates {
    margin-top: 25px;
  }
  .single-blog .main .entry__cate {
    margin: 0 8px 8px 0;
  }
  .single-blog .main .entry__cate-link {
    padding: 5px 8px;
    font-size: 11px;
  }
  .single-blog .main .entry__thumb {
    margin-top: 50px;
  }
  .single-blog .main .related {
    margin-top: 100px;
  }
}
@media screen and (max-width: 758px) {
  .single-blog .main {
    padding-top: 100px;
  }
  .single-blog .main .entry__date {
    font-size: 11px;
  }
  .single-blog .main .entry__title {
    margin-top: 18px;
    font-size: 20px;
  }
  .single-blog .main .entry__cates {
    margin-top: 18px;
  }
  .single-blog .main .entry__cate {
    margin: 0 5px 5px 0;
  }
  .single-blog .main .entry__cate-link {
    font-size: 10px;
  }
  .single-blog .main .entry__thumb {
    margin-top: 25px;
  }
  .single-blog .main .entry__body {
    padding-top: 35px;
  }
  .single-blog .main .related {
    margin-top: 80px;
  }
}
/* ===================================

  詳細 お知らせ

====================================== */
.single-post .main {
  padding-top: 210px;
}
.single-post .main .container {
  width: 890px;
}
.single-post .main .entry {
  word-break: break-all;
  padding-bottom: 52px;
  border-bottom: 1px solid #ccc;
}
.single-post .main .entry__info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.single-post .main .entry__date {
  font-family: "Roboto", sans-serif;
  color: #808080;
}
.single-post .main .entry__cates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 35px;
}
.single-post .main .entry__cate {
  position: relative;
  padding: 5px 9px;
  background-color: #808080;
  border-radius: 9999px;
  font-size: 14px;
  color: #fff;
}
.single-post .main .entry__cate + .entry__cate {
  margin-left: 10px;
}
.single-post .main .entry__title {
  margin-top: 25px;
  font-size: 40px;
  line-height: 1.5;
  font-weight: 700;
}
.single-post .main .entry__body {
  padding-top: 70px;
}
.single-post .main .link-btn {
  margin: 60px auto 0;
  background-color: #2d3b35;
  background-image: url(img/ico/ico-more-btn-bk.png);
}

@media screen and (max-width: 1199px) {
  .single-post .main {
    padding-top: 120px;
  }
  .single-post .main .container {
    width: 100%;
    padding: 0 30px;
  }
  .single-post .main .entry {
    padding-bottom: 40px;
  }
  .single-post .main .entry__cates {
    margin-left: 25px;
  }
  .single-post .main .entry__cate {
    padding: 5px 8px;
    font-size: 12px;
  }
  .single-post .main .entry__cate + .entry__cate {
    margin-left: 8px;
  }
  .single-post .main .entry__title {
    margin-top: 20px;
    font-size: 24px;
  }
  .single-post .main .entry__body {
    padding-top: 50px;
  }
  .single-post .main .link-btn {
    margin: 50px auto 0;
  }
}
@media screen and (max-width: 758px) {
  .single-post .main {
    padding-top: 100px;
  }
  .single-post .main .entry {
    padding-bottom: 35px;
  }
  .single-post .main .entry__cates {
    margin-left: 15px;
  }
  .single-post .main .entry__cate {
    font-size: 11px;
  }
  .single-post .main .entry__cate + .entry__cate {
    margin-left: 5px;
  }
  .single-post .main .entry__title {
    margin-top: 15px;
    font-size: 20px;
  }
  .single-post .main .entry__body {
    padding-top: 40px;
  }
  .single-post .main .link-btn {
    margin: 40px auto 0;
  }
}
/* ===================================

  詳細 事例紹介

====================================== */
.single-works .main {
  padding-top: 210px;
}
.single-works .main .container {
  width: 890px;
}
.single-works .main .entry {
  word-break: break-all;
}
.single-works .main .entry__cates {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.single-works .main .entry__cate {
  margin: 0 10px 10px 0;
}
.single-works .main .entry__cate-link {
  display: block;
  position: relative;
  padding: 6px 10px;
  border: 1px solid #2d3b35;
  font-size: 12px;
  border-radius: 4px;
}
.single-works .main .entry__title {
  margin-top: 25px;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
}
.single-works .main .entry__thumb {
  margin-top: 70px;
  width: 100%;
}
.single-works .main .entry__thumb img {
  display: block;
  width: 100%;
}
.single-works .main .entry__body {
  padding-top: 75px;
}
.single-works .main .related {
  margin-top: 140px;
}

@media screen and (max-width: 1199px) {
  .single-works .main {
    padding-top: 120px;
  }
  .single-works .main .container {
    width: 100%;
    padding: 0 30px;
  }
  .single-works .main .entry__cate {
    margin: 0 8px 8px 0;
  }
  .single-works .main .entry__cate-link {
    padding: 5px 8px;
    font-size: 11px;
  }
  .single-works .main .entry__title {
    margin-top: 20px;
    font-size: 24px;
  }
  .single-works .main .entry__thumb {
    margin-top: 50px;
  }
  .single-works .main .entry__body {
    padding-top: 50px;
  }
  .single-works .main .related {
    margin-top: 100px;
  }
}
@media screen and (max-width: 758px) {
  .single-works .main {
    padding-top: 100px;
  }
  .single-works .main .entry__cate {
    margin: 0 5px 5px 0;
  }
  .single-works .main .entry__cate-link {
    font-size: 10px;
  }
  .single-works .main .entry__title {
    margin-top: 15px;
    font-size: 20px;
  }
  .single-works .main .entry__thumb {
    margin-top: 25px;
  }
  .single-works .main .entry__body {
    padding-top: 35px;
  }
  .single-works .main .related {
    margin-top: 80px;
  }
}
/* ===================================

  詳細ページ

====================================== */
.single .main .entry__body,
.page .main .entry__body {
  word-break: break-all;
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
  overflow: hidden;
}
.single .main .entry__body > *:first-child,
.page .main .entry__body > *:first-child {
  margin-top: 0 !important;
}
.single .main .entry__body .wp-block-columns,
.page .main .entry__body .wp-block-columns {
  margin-top: 2em;
}
.single .main .entry__body .wp-block-column > *:first-child,
.page .main .entry__body .wp-block-column > *:first-child {
  margin-top: 0;
}
.single .main .entry__body h2,
.single .main .entry__body h3,
.single .main .entry__body h4,
.single .main .entry__body h5,
.single .main .entry__body h6,
.page .main .entry__body h2,
.page .main .entry__body h3,
.page .main .entry__body h4,
.page .main .entry__body h5,
.page .main .entry__body h6 {
  font-weight: 700;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
}
.single .main .entry__body h2,
.page .main .entry__body h2 {
  position: relative;
  font-size: 32px;
  margin-top: 60px;
  padding-bottom: 25px;
}
.single .main .entry__body h2::before, .single .main .entry__body h2::after,
.page .main .entry__body h2::before,
.page .main .entry__body h2::after {
  content: "";
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  height: 1px;
}
.single .main .entry__body h2::before,
.page .main .entry__body h2::before {
  width: 100%;
  background-color: #ccc;
  z-index: 1;
}
.single .main .entry__body h2::after,
.page .main .entry__body h2::after {
  width: 40px;
  background-color: #f29600;
  z-index: 2;
}
.single .main .entry__body h3,
.page .main .entry__body h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 50px;
  font-size: 28px;
}
.single .main .entry__body h3::before,
.page .main .entry__body h3::before {
  margin-top: 0.6em;
  margin-right: 10px;
  content: "";
  -webkit-box-flex: 0;
      -ms-flex: 0 0 10px;
          flex: 0 0 10px;
  width: 10px;
  height: 10px;
  background-color: #f29600;
  border-radius: 50%;
}
.single .main .entry__body h4,
.page .main .entry__body h4 {
  margin-top: 50px;
  font-size: 24px;
}
.single .main .entry__body h5,
.page .main .entry__body h5 {
  margin-top: 50px;
  font-size: 20px;
}
.single .main .entry__body h6,
.page .main .entry__body h6 {
  margin-top: 50px;
  font-size: 18px;
}
.single .main .entry__body p,
.page .main .entry__body p {
  margin-top: 30px;
  line-height: 2;
}
.single .main .entry__body p + p,
.page .main .entry__body p + p {
  margin-top: 1.25rem;
}
.single .main .entry__body p > iframe,
.page .main .entry__body p > iframe {
  max-width: 100%;
}
.single .main .entry__body .wp-block-image,
.page .main .entry__body .wp-block-image {
  margin-top: 40px;
}
.single .main .entry__body .wp-block-image img,
.page .main .entry__body .wp-block-image img {
  margin: 0;
}
.single .main .entry__body .wp-block-image::after,
.page .main .entry__body .wp-block-image::after {
  content: "";
  display: block;
  clear: both;
}
.single .main .entry__body .aligncenter,
.page .main .entry__body .aligncenter {
  margin: 40px auto 0;
}
.single .main .entry__body .alignright,
.page .main .entry__body .alignright {
  margin-left: auto;
}
.single .main .entry__body .wp-caption,
.page .main .entry__body .wp-caption {
  max-width: 100%;
}
.single .main .entry__body .wp-caption-text,
.page .main .entry__body .wp-caption-text {
  margin-top: 3px;
}
.single .main .entry__body pre,
.page .main .entry__body pre {
  overflow-x: auto;
}
.single .main .entry__body table,
.page .main .entry__body table {
  margin-top: 40px;
  table-layout: fixed;
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #e6e6e6;
}
.single .main .entry__body table th,
.page .main .entry__body table th {
  display: table-cell;
  vertical-align: middle;
  background-color: #ddd;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  height: 65px;
  border: 1px solid #e6e6e6;
  color: #000;
  font-weight: 400;
}
.single .main .entry__body table th a,
.page .main .entry__body table th a {
  color: inherit;
}
.single .main .entry__body table td,
.page .main .entry__body table td {
  display: table-cell;
  vertical-align: middle;
  height: 65px;
  border: 1px solid #e6e6e6;
  text-align: center;
}
.single .main .entry__body table td a,
.page .main .entry__body table td a {
  color: inherit;
}
.single .main .entry__body > ol, .single .main .entry__body > ul,
.page .main .entry__body > ol,
.page .main .entry__body > ul {
  margin-top: 40px;
}
.single .main .entry__body ol,
.single .main .entry__body ul,
.page .main .entry__body ol,
.page .main .entry__body ul {
  margin-top: 40px;
}
.single .main .entry__body ol li,
.single .main .entry__body ul li,
.page .main .entry__body ol li,
.page .main .entry__body ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  line-height: 1.5;
}
.single .main .entry__body ol li + li,
.single .main .entry__body ul li + li,
.page .main .entry__body ol li + li,
.page .main .entry__body ul li + li {
  margin-top: 0.75em;
}
.single .main .entry__body ul li::before,
.page .main .entry__body ul li::before {
  content: "";
  position: relative;
  top: 5px;
  margin-right: 15px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 15px;
          flex: 0 0 15px;
  width: 15px;
  height: 15px;
  background-color: #f29600;
  border-radius: 50%;
}
.single .main .entry__body ol,
.page .main .entry__body ol {
  counter-reset: num;
  list-style-type: none;
}
.single .main .entry__body ol li,
.page .main .entry__body ol li {
  line-height: 1.5;
}
.single .main .entry__body ol li::before,
.page .main .entry__body ol li::before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  content: counter(num);
  counter-increment: num;
  position: relative;
  top: 0px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16px;
          flex: 0 0 16px;
  margin-right: 10px;
  padding-bottom: 0;
  -ms-flex: 0 0 25px;
      flex: 0 0 25px;
  width: 25px;
  height: 25px;
  background-color: #f29600;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 14px;
  border-radius: 50%;
}
.single .main .entry__body a,
.page .main .entry__body a {
  position: relative;
  color: #1a0dab;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.single .main .entry__body .wp-block-buttons,
.page .main .entry__body .wp-block-buttons {
  margin-top: 40px;
}
.single .main .entry__body .wp-block-buttons .wp-block-button a,
.page .main .entry__body .wp-block-buttons .wp-block-button a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 320px;
  height: 55px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  background-color: #f29600 !important;
  background-image: url(img/ico/ico-link-btn.png);
  background-repeat: no-repeat;
  background-size: 25px 25px;
  background-position: center right 25px;
}
.single .main .entry__body details,
.page .main .entry__body details {
  margin-top: 2em;
}
.single .main .entry__body .wp-calendar-table caption,
.page .main .entry__body .wp-calendar-table caption {
  margin-bottom: 0.5em;
  font-size: 1.2em;
}
.single .main .entry__body blockquote,
.page .main .entry__body blockquote {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-top: 40px;
  background-color: #fff;
  padding: 43px 35px;
  border: 1px solid #ccc;
  border-left: 3px solid #f29600;
}
.single .main .entry__body blockquote p,
.page .main .entry__body blockquote p {
  margin-top: 0;
}
.single .main .entry__body blockquote p + p,
.page .main .entry__body blockquote p + p {
  margin-top: 1em;
}
.single .main .entry__body blockquote cite,
.page .main .entry__body blockquote cite {
  display: block;
  margin-top: 40px;
  font-size: 14px;
  font-style: normal;
}
.single .main .entry__body blockquote a,
.page .main .entry__body blockquote a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  color: #f29600;
}
.single .main .entry__body blockquote a:hover,
.page .main .entry__body blockquote a:hover {
  opacity: 0.6;
}
.single .main .entry__body .wp-block-liquid-speech-balloon,
.page .main .entry__body .wp-block-liquid-speech-balloon {
  margin-top: 40px;
}
.single .main .entry__body hr.wp-block-separator,
.page .main .entry__body hr.wp-block-separator {
  margin: 40px auto;
  width: 30%;
  height: 2px;
  border-bottom: 2px solid #f29600;
  border-top: none;
}
.single .main .entry__body hr.wp-block-separator.is-style-wide,
.page .main .entry__body hr.wp-block-separator.is-style-wide {
  width: 100%;
  border-bottom: 2px dashed #f29600;
}
.single .main .entry__body .liquid-speech-balloon-text p,
.page .main .entry__body .liquid-speech-balloon-text p {
  margin-top: 0;
}
.single .main .entry__body iframe,
.page .main .entry__body iframe {
  margin-top: 40px;
  max-width: 100%;
  width: 100%;
}
.single .main .entry__body figure.wp-block-embed-youtube,
.page .main .entry__body figure.wp-block-embed-youtube {
  margin-top: 40px;
}
.single .main .entry__body figure.wp-block-embed-youtube .wp-block-embed__wrapper,
.page .main .entry__body figure.wp-block-embed-youtube .wp-block-embed__wrapper {
  position: relative;
  margin-bottom: 0;
  padding-top: 56.25%;
  width: 100%;
}
.single .main .entry__body figure.wp-block-embed-youtube iframe,
.page .main .entry__body figure.wp-block-embed-youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  width: 100%;
  height: 100%;
}
.single .main .entry__body .toc-mokuji-content,
.page .main .entry__body .toc-mokuji-content {
  margin-top: 40px;
}
.single .main .entry__body .wp-block-columns.is-layout-flex,
.page .main .entry__body .wp-block-columns.is-layout-flex {
  gap: 60px;
}
.single .main .entry__body #toc_container,
.page .main .entry__body #toc_container {
  margin-top: 60px;
  padding: 20px;
}
.single .main .entry__body #toc_container .toc_list li::before,
.page .main .entry__body #toc_container .toc_list li::before {
  display: none;
}
.single .main .entry__body #toc_container .toc_list li + li,
.page .main .entry__body #toc_container .toc_list li + li {
  margin-top: 0.5em;
}
.single .main .entry__body #toc_container .toc_list li a,
.page .main .entry__body #toc_container .toc_list li a {
  color: inherit;
}

@media screen and (max-width: 1199px) {
  .single .main .entry__body .toc-mokuji-content,
  .page .main .entry__body .toc-mokuji-content {
    margin-top: 30px;
  }
  .single .main .entry__body h2,
  .page .main .entry__body h2 {
    margin-top: 40px;
    font-size: 22px;
    padding-bottom: 18px;
  }
  .single .main .entry__body h3,
  .page .main .entry__body h3 {
    margin-top: 40px;
    font-size: 20px;
  }
  .single .main .entry__body h3::before,
  .page .main .entry__body h3::before {
    margin-right: 8px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 8px;
            flex: 0 0 8px;
    width: 8px;
    height: 8px;
  }
  .single .main .entry__body h4,
  .page .main .entry__body h4 {
    margin-top: 35px;
    font-size: 18px;
  }
  .single .main .entry__body h5,
  .page .main .entry__body h5 {
    margin-top: 35px;
    font-size: 16px;
  }
  .single .main .entry__body h6,
  .page .main .entry__body h6 {
    margin-top: 35px;
    font-size: 14px;
  }
  .single .main .entry__body p,
  .page .main .entry__body p {
    margin-top: 1em;
  }
  .single .main .entry__body p + p,
  .page .main .entry__body p + p {
    margin-top: 1rem;
  }
  .single .main .entry__body .wp-block-image,
  .page .main .entry__body .wp-block-image {
    margin-top: 35px;
  }
  .single .main .entry__body x .aligncenter,
  .page .main .entry__body x .aligncenter {
    margin: 35px auto 0;
  }
  .single .main .entry__body .wp-caption-text,
  .page .main .entry__body .wp-caption-text {
    margin-top: 2px;
  }
  .single .main .entry__body table,
  .page .main .entry__body table {
    margin-top: 35px;
  }
  .single .main .entry__body table th,
  .page .main .entry__body table th {
    font-size: 16px;
    height: 58px;
  }
  .single .main .entry__body table td,
  .page .main .entry__body table td {
    height: 58px;
  }
  .single .main .entry__body > ol, .single .main .entry__body > ul,
  .page .main .entry__body > ol,
  .page .main .entry__body > ul {
    margin-top: 35px;
  }
  .single .main .entry__body ul li::before,
  .page .main .entry__body ul li::before {
    top: 4px;
    margin-right: 12px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 14px;
            flex: 0 0 14px;
    width: 14px;
    height: 14px;
  }
  .single .main .entry__body ol li::before,
  .page .main .entry__body ol li::before {
    top: 0;
    margin-right: 8px;
    padding-left: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20px;
            flex: 0 0 20px;
    width: 20px;
    height: 20px;
    font-size: 12px;
  }
  .single .main .entry__body .wp-block-buttons,
  .page .main .entry__body .wp-block-buttons {
    margin-top: 35px;
  }
  .single .main .entry__body .wp-block-buttons .wp-block-button a,
  .page .main .entry__body .wp-block-buttons .wp-block-button a {
    max-width: 100%;
    background-size: 30px 30px;
    background-position: center right 15px;
    font-size: 15px;
  }
  .single .main .entry__body blockquote,
  .page .main .entry__body blockquote {
    margin-top: 35px;
    padding: 35px 30px;
  }
  .single .main .entry__body blockquote cite,
  .page .main .entry__body blockquote cite {
    margin-top: 35px;
    font-size: 12px;
  }
  .single .main .entry__body .wp-block-liquid-speech-balloon,
  .page .main .entry__body .wp-block-liquid-speech-balloon {
    margin-top: 35px;
  }
  .single .main .entry__body hr.wp-block-separator,
  .page .main .entry__body hr.wp-block-separator {
    margin: 35px auto;
    width: 30%;
    height: 2px;
  }
  .single .main .entry__body iframe,
  .page .main .entry__body iframe {
    margin-top: 35px;
  }
  .single .main .entry__body figure.wp-block-embed-youtube,
  .page .main .entry__body figure.wp-block-embed-youtube {
    margin-top: 35px;
  }
  .single .main .entry__body .wp-block-columns.is-layout-flex,
  .page .main .entry__body .wp-block-columns.is-layout-flex {
    margin-top: 35px;
    gap: 1.5em;
  }
  .single .main .entry__body #toc_container,
  .page .main .entry__body #toc_container {
    margin-top: 50px;
    padding: 15px;
  }
}
@media screen and (max-width: 758px) {
  .single .main .entry__body .toc-mokuji-content,
  .page .main .entry__body .toc-mokuji-content {
    margin-top: 25px;
  }
  .single .main .entry__body h2,
  .page .main .entry__body h2 {
    margin-top: 30px;
    font-size: 18px;
    padding-bottom: 15px;
  }
  .single .main .entry__body h2::after,
  .page .main .entry__body h2::after {
    width: 30px;
  }
  .single .main .entry__body h3,
  .page .main .entry__body h3 {
    margin-top: 30px;
    font-size: 16px;
  }
  .single .main .entry__body h4,
  .page .main .entry__body h4 {
    margin-top: 25px;
    font-size: 15px;
  }
  .single .main .entry__body h5,
  .page .main .entry__body h5 {
    margin-top: 25px;
    font-size: 14px;
  }
  .single .main .entry__body h6,
  .page .main .entry__body h6 {
    margin-top: 25px;
    font-size: 14px;
  }
  .single .main .entry__body p,
  .page .main .entry__body p {
    margin-top: 25px;
    line-height: 2;
  }
  .single .main .entry__body p + p,
  .page .main .entry__body p + p {
    margin-top: 1.25rem;
  }
  .single .main .entry__body .wp-block-image,
  .page .main .entry__body .wp-block-image {
    margin-top: 25px;
  }
  .single .main .entry__body .aligncenter,
  .page .main .entry__body .aligncenter {
    margin: 25px auto 0;
  }
  .single .main .entry__body table,
  .page .main .entry__body table {
    margin-top: 25px;
  }
  .single .main .entry__body table th,
  .page .main .entry__body table th {
    font-size: 13px;
    height: 45px;
  }
  .single .main .entry__body table td,
  .page .main .entry__body table td {
    height: 45px;
  }
  .single .main .entry__body > ol, .single .main .entry__body > ul,
  .page .main .entry__body > ol,
  .page .main .entry__body > ul {
    margin-top: 25px;
  }
  .single .main .entry__body ul li::before,
  .page .main .entry__body ul li::before {
    top: 2px;
    margin-right: 10px;
  }
  .single .main .entry__body ol li::before,
  .page .main .entry__body ol li::before {
    top: -1px;
    margin-right: 8px;
    padding-bottom: 1px;
    font-size: 10px;
  }
  .single .main .entry__body blockquote,
  .page .main .entry__body blockquote {
    margin-top: 25px;
    padding: 30px 20px;
  }
  .single .main .entry__body .wp-block-buttons,
  .page .main .entry__body .wp-block-buttons {
    margin-top: 25px;
  }
  .single .main .entry__body .wp-block-buttons .wp-block-button,
  .page .main .entry__body .wp-block-buttons .wp-block-button {
    margin: 0 auto;
    min-width: 100%;
    max-width: 100%;
    width: 100%;
  }
  .single .main .entry__body .wp-block-buttons .wp-block-button a,
  .page .main .entry__body .wp-block-buttons .wp-block-button a {
    min-width: 100%;
    width: 100%;
    font-size: 14px;
  }
  .single .main .entry__body .wp-block-liquid-speech-balloon,
  .page .main .entry__body .wp-block-liquid-speech-balloon {
    margin-top: 25px;
  }
  .single .main .entry__body hr.wp-block-separator,
  .page .main .entry__body hr.wp-block-separator {
    margin: 25px auto;
    height: 2px;
  }
  .single .main .entry__body iframe,
  .page .main .entry__body iframe {
    margin-top: 25px;
  }
  .single .main .entry__body figure.wp-block-embed-youtube,
  .page .main .entry__body figure.wp-block-embed-youtube {
    margin-top: 25px;
  }
  .single .main .entry__body .wp-block-columns.is-layout-flex,
  .page .main .entry__body .wp-block-columns.is-layout-flex {
    margin-top: 30px;
    gap: 1em;
  }
  .single .main .entry__body #toc_container,
  .page .main .entry__body #toc_container {
    margin-top: 35px;
  }
}
/* ===================================

  カスタムブロック：Lazy Blocks

====================================== */
/* ---------------------------------
  column42
----------------------------------- */
.main .entry__body .wp-block-lazyblock-column42 + .wp-block-lazyblock-column42 {
  margin-top: 30px;
}
.main .entry__body .column42 {
  margin-top: 60px;
}
.main .entry__body .column42__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.main .entry__body .column42__items .item {
  width: calc((100% - 60px) / 4);
}
.main .entry__body .column42__items .item + .item {
  margin-left: 20px;
}
.main .entry__body .column42__items .item__thumb {
  width: 100%;
}
.main .entry__body .column42__items .item__img {
  display: block;
  width: 100%;
}
.main .entry__body .column42__items .item__body {
  margin-top: 0.75em;
}
.main .entry__body .column42__items .item__txt {
  margin-top: 0;
  line-height: 2;
}

@media screen and (max-width: 1199px) {
  .main .entry__body .wp-block-lazyblock-column42 + .wp-block-lazyblock-column42 {
    margin-top: 25px;
  }
  .main .entry__body .column42 {
    margin-top: 60px;
  }
  .main .entry__body .column42__items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .main .entry__body .column42__items .item {
    width: calc((100% - 30px) / 4);
  }
  .main .entry__body .column42__items .item + .item {
    margin-left: 10px;
  }
  .main .entry__body .column42__items .item__body {
    margin-top: 0.75em;
  }
}
@media screen and (max-width: 758px) {
  .main .entry__body .wp-block-lazyblock-column42 + .wp-block-lazyblock-column42 {
    margin-top: 40px;
  }
  .main .entry__body .column42 {
    margin-top: 50px;
  }
  .main .entry__body .column42__items .item {
    width: calc((100% - 15px) / 2);
  }
  .main .entry__body .column42__items .item:nth-child(2n+1) {
    margin-left: 0;
  }
  .main .entry__body .column42__items .item:nth-child(n+3) {
    margin-top: 40px;
  }
}
/* ---------------------------------
  外部リンク
----------------------------------- */
.main .entry__body .wp-block-lazyblock-out-link {
  margin-top: 40px;
}
.main .entry__body .wp-block-lazyblock-out-link .out-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  width: 320px;
  height: 55px;
  background-color: #f29600;
  background-image: url(img/ico/ico-outlink.svg);
  background-repeat: no-repeat;
  background-size: 16px 16px;
  background-position: center right 25px;
  font-size: 16px;
  font-weight: 700;
  color: #fff !important;
  border-radius: 9999px;
}

@media screen and (max-width: 1199px) {
  .main .entry__body .wp-block-lazyblock-out-link {
    margin-top: 35px;
  }
  .main .entry__body .wp-block-lazyblock-out-link .out-link {
    max-width: 100%;
    background-size: 14px 14px;
    background-position: center right 20px;
    font-size: 15px;
  }
}
@media screen and (max-width: 758px) {
  .main .entry__body .wp-block-lazyblock-out-link {
    margin-top: 35px;
    min-width: 100%;
    max-width: 100%;
    width: 100%;
  }
  .main .entry__body .wp-block-lazyblock-out-link .out-link {
    margin: 0;
    min-width: 100%;
    width: 100%;
    font-size: 14px;
  }
}
/* トップページ（ホームページ）特有のスタイル */
.home .entry-title,
.front-page .entry-title {
    font-size: 42px;
    margin: 20px 0 50px;
    text-align: center;
    color: var(--text-color);
    position: relative;
}

.home .entry-title:after,
.front-page .entry-title:after {
    content: "";
    display: block;
    width: 80px;
    height: 4px;
    background-color: var(--primary-color);
    position: absolute;
    bottom: -15px;
    left: 50%;
    transform: translateX(-50%);
}

.home .shift-tool-container,
.front-page .shift-tool-container {
    margin-top: 30px;
    background-color: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 30px rgba(0, 0, 0, 0.08);
    overflow: hidden;
}

/* トップページの説明文エリア（必要な場合） */
.service-description {
    text-align: center;
    max-width: 800px;
    margin: 0 auto 50px;
    font-size: 18px;
    line-height: 1.8;
    color: var(--dark-gray);
}

/* モバイル対応調整 */
@media screen and (max-width: 768px) {
    .home .entry-title,
    .front-page .entry-title {
        font-size: 32px;
        margin-bottom: 40px;
    }
    
    .service-description {
        font-size: 16px;
        padding: 0 20px;
    }
}
