@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP&subset=japanese");
@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed");
/*-----------------------------------------------------------------------------------*/
/* -- Reset --
--------------------------------------------------------------　*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
cite,
code,
del,
dfn,
ins,
kbd,
q,
s,
samp,
strike,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
figure {
  border: 0;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

body {
  background: #fff;
}

* {
  box-sizing: border-box;
}
*:before,
*:after {
  box-sizing: inherit;
}

#bgl {
  overflow: hidden;
}

/* -- framework && common --
--------------------------------------------------------------　*/
header,
#site_navigation,
#mainvisualarea,
#breadcrumb,
#pagetitlearea,
#content,
footer {
  width: 100%;
}

#maincolumn {
  letter-spacing: 1px;
  line-height: 1.7;
}
#maincolumn a:hover,
#maincolumn a:active {
  -webkit-transition: opacity 0.2s ease-out;
  opacity: 0.7;
  outline: 0;
  transition: opacity 0.2s ease-out;
}
#maincolumn a:hover img:hover,
#maincolumn a:hover img:active,
#maincolumn a:active img:hover,
#maincolumn a:active img:active {
  -webkit-transition: opacity 0.2s ease-out;
  opacity: 0.7;
  outline: 0;
  transition: opacity 0.2s ease-out;
}

body {
  color: #010101;
  font-family: "メイリオ", Meiryo, "A-OTF 新ゴ Pro", A-OTF Shin Go Pro,
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",
    "Hiragino Maru Gothic W4 JIS2004", "Noto Sans JP", "游ゴシック体",
    "Yu Gothic", "メイリオ", Meiryo, "Hiragino Maru Gothic W4 JIS2004",
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP",
    "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  font-size: 16px;
  letter-spacing: 0.5px;
  line-height: 1.5;
}
@media print, screen and (max-width: 767px) {
  body {
    font-size: 15px;
  }
}

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

ol,
ul,
li {
  list-style-type: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}
table caption,
table th,
table td {
  font-weight: normal;
  text-align: left;
}

img {
  border: 0;
  height: auto;
  height: auto;
  max-width: 100%;
  max-width: 100%;
  vertical-align: bottom;
}
img[class*="wp-image-"],
img[class*="attachment-"] {
  height: auto;
  max-width: 100%;
}

a {
  color: #010101;
  text-decoration: none;
}
a img {
  border: 0;
}

.clearfix {
  overflow: hidden;
  zoom: 1;
}
.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

p {
  line-height: 1.7em;
}

h2,
h3,
h4,
h5,
h6 {
  line-height: 1.3;
}

#tinymce p,
#tinymce img,
#tinymce h4,
#tinymce h5,
#tinymce h6,
#tinymce table,
#tinymce ul,
#tinymce ol,
.contentwrap p,
.contentwrap img,
.contentwrap h4,
.contentwrap h5,
.contentwrap h6,
.contentwrap table,
.contentwrap ul,
.contentwrap ol {
  margin-bottom: 1em;
}

#tinymce h1,
#tinymce h2,
#tinymce h3,
#tinymce .com_mb,
.contentwrap h1,
.contentwrap h2,
.contentwrap h3,
.contentwrap .com_mb {
  margin-bottom: 30px;
}

#tinymce table th,
#tinymce table td,
.contentwrap table th,
.contentwrap table td {
  padding: 10px;
}

#tinymce h2,
.contentwrap h2,
.footer h2 {
  font-size: 26px;
}
@media print, screen and (min-width: 768px) {
  #tinymce h2,
  .contentwrap h2,
  .footer h2 {
    font-size: 48px;
  }
}

#tinymce h3,
.contentwrap h3,
.footer h3 {
  font-size: 22px;
}
@media print, screen and (min-width: 768px) {
  #tinymce h3,
  .contentwrap h3,
  .footer h3 {
    font-size: 36px;
  }
}

#tinymce h4,
.contentwrap h4,
.footer h4 {
  font-size: 1.2em;
}

#tinymce h5,
.contentwrap h5,
.footer h5 {
  font-size: 1.2em;
}

#tinymce h6,
.contentwrap h6,
.footer h6 {
  font-size: 1.2em;
}

.footer h1,
.footer h2,
.footer h3 {
  margin-bottom: 1em;
}

.aligncenter {
  display: block;
  margin: 0 auto;
}

.alignright {
  float: right;
}

.alignleft {
  float: left;
}

blockquote {
  -webkit-margin-after: 1em;
  -webkit-margin-before: 1em;
  -webkit-margin-end: 40px;
  -webkit-margin-start: 40px;
  display: block;
}

.mainwrap {
  margin: 0 auto;
  max-width: 1120px;
  width: calc(100% - 30px);
}
.mainwrap.wide_m {
  max-width: 1250px;
}
.mainwrap.wide_l {
  max-width: 1600px;
}
.mainwrap .mainwrap {
  max-width: 100%;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .mainwrap.mw_max {
    margin: 0 0;
    width: 100%;
  }
}

#globalnaviarea_wrap .mainwrap {
  margin: 0 auto;
}
@media screen and (max-width: 980px) {
  #globalnaviarea_wrap .mainwrap {
    max-width: 100%;
  }
}

.inner_10 {
  padding: 10px;
}

@media screen and (max-width: 767px) {
  #contentbody {
    padding: 0 0 0;
  }
  #sidecolumn {
    margin: 0 auto;
    width: calc(100% - 30px);
  }
}

@media screen and (min-width: 768px) {
  #contentbody {
    padding: 0 0 0;
  }
}

.home #maincolumn,
.page #maincolumn {
  float: none;
  width: 100%;
}

.home #sidecolumn,
.page #sidecolumn {
  display: none;
}

.clear:after {
  clear: both;
  content: "";
  display: block;
  overflow: hidden;
}

.com_inner {
  padding: 40px 0;
}
@media print, screen and (min-width: 768px) {
  .com_inner {
    padding: 80px 0;
  }
}

.com_mtb {
  margin: 40px 0;
}
@media print, screen and (min-width: 768px) {
  .com_mtb {
    margin: 80px 0;
  }
}

/* -- original common --
--------------------------------------------------------------　*/
strong,
b,
.bold {
  font-weight: bold;
}
strong.org,
b.org,
.bold.org {
  color: #fb8c00;
}
strong.size_l,
b.size_l,
.bold.size_l {
  font-size: 1.5em;
  line-height: 1.7em;
}

em {
  font-style: italic;
}

small,
.small {
  font-size: 14px;
}

.bg_w {
  background: #fff;
}

.bg_g {
  background: #f2f2f2;
}

.ta_c {
  text-align: center;
}

.ta_r {
  text-align: right;
}

.break_word {
  word-wrap: break-word;
}

.mb7 {
  margin-bottom: 7px !important;
}

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

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

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

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

.mb120 {
  margin-bottom: 120px !important;
}

.lh14 {
  line-height: 1.4em;
}

.lh17 {
  line-height: 1.7em;
}

.lh2 {
  line-height: 2em;
}

.img img {
  width: 100%;
}

.switch {
  visibility: hidden;
}

@media screen and (max-width: 767px) {
  .spview,
  .sp_taview,
  .sp_pcview {
    display: block;
  }
  .taview,
  .ta_pcview,
  .pcview {
    display: none;
  }
}

@media screen and (min-width: 768px) and (max-width: 980px) {
  .sp_taview,
  .taview,
  .ta_pcview {
    display: block;
  }
  .spview,
  .sp_pcview,
  .pcview {
    display: none;
  }
}

@media screen and (min-width: 981px) {
  .sp_pcview,
  .ta_pcview,
  .pcview {
    display: block;
  }
  .spview,
  .sp_taview,
  .taview {
    display: none;
  }
}

/* -- col f_size --
--------------------------------------------------------------　*/
@media print, screen and (max-width: 480px) {
  .col2_wrap img,
  .col3_wrap img,
  .col4_wrap img,
  .col5_wrap img,
  .fsize_37 img,
  .gsize_37 img {
    display: block;
    margin: 0 auto 1em;
  }
}

@media screen and (min-width: 768px) {
  .col2_wrap,
  .col3_wrap,
  .col4_wrap,
  .col5_wrap {
    -webkit-box-align: start;
    -webkit-box-direction: normal;
    -webkit-box-orient: horizontal;
    -webkit-box-pack: justify;
    align-items: start;
    display: -webkit-box;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .col2_wrap .col2_item {
    width: calc((100% - 35px) / 2);
  }
  .col3_wrap .col3_item {
    width: calc((100% - 35px - 35px) / 3);
  }
  .col3_wrap .col3_item_2 {
    width: calc(100% - 35px - ((100% - 35px - 35px) / 3));
  }
  .col4_wrap .col4_item {
    width: calc((100% - 35px - 35px - 35px) / 4);
  }
  .col5_wrap .col5_item {
    width: calc((100% - 35px - 35px - 35px - 35px) / 5);
  }
  .fsize_28,
  .fsize_37,
  .fsize_73,
  .fsize_46,
  .fsize_64,
  .fsize_55 {
    overflow: hidden;
  }
  .fsize_28 .leftdir,
  .fsize_37 .leftdir,
  .fsize_73 .leftdir,
  .fsize_46 .leftdir,
  .fsize_64 .leftdir,
  .fsize_55 .leftdir {
    float: left;
  }
  .fsize_28 .rightdir,
  .fsize_37 .rightdir,
  .fsize_73 .rightdir,
  .fsize_46 .rightdir,
  .fsize_64 .rightdir,
  .fsize_55 .rightdir {
    float: right;
  }
  .fsize_28 .clear,
  .fsize_37 .clear,
  .fsize_73 .clear,
  .fsize_46 .clear,
  .fsize_64 .clear,
  .fsize_55 .clear {
    clear: both;
    float: none;
    overflow: hidden;
    width: 100%;
  }
  .fsize_28 .leftdir {
    width: calc(((100% - 35px) / 10) * 2);
  }
  .fsize_28 .rightdir {
    width: calc(((100% - 35px) / 10) * 8);
  }
  .fsize_37 .leftdir {
    width: calc(((100% - 35px) / 10) * 3);
  }
  .fsize_37 .rightdir {
    width: calc(((100% - 35px) / 10) * 7);
  }
  .fsize_73 .leftdir {
    width: calc(((100% - 35px) / 10) * 7);
  }
  .fsize_73 .rightdir {
    width: calc(((100% - 35px) / 10) * 3);
  }
  .fsize_46 .leftdir {
    width: calc(((100% - 35px) / 10) * 4);
  }
  .fsize_46 .rightdir {
    width: calc(((100% - 35px) / 10) * 6);
  }
  .fsize_64 .leftdir {
    width: calc(((100% - 35px) / 10) * 6);
  }
  .fsize_64 .rightdir {
    width: calc(((100% - 35px) / 10) * 4);
  }
  .fsize_55 .leftdir {
    width: calc(((100% - 35px) / 10) * 5);
  }
  .fsize_55 .rightdir {
    width: calc(((100% - 35px) / 10) * 5);
  }
  .gsize_37,
  .gsize_73,
  .gsize_55 {
    -webkit-box-align: center;
    -webkit-box-pack: justify;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .gsize_37 .leftdir {
    width: calc(((100% - 35px) / 10) * 3);
  }
  .gsize_37 .rightdir {
    width: calc(((100% - 35px) / 10) * 7);
  }
  .gsize_73 .leftdir {
    width: calc(((100% - 35px) / 10) * 7);
  }
  .gsize_73 .rightdir {
    width: calc(((100% - 35px) / 10) * 3);
  }
  .gsize_55 .leftdir {
    width: calc(((100% - 35px) / 10) * 5);
  }
  .gsize_55 .rightdir {
    width: calc(((100% - 35px) / 10) * 5);
  }
}

/* parts --
--------------------------------------------------------------　*/
.movie_wrap {
  padding-top: 56.25%;
  position: relative;
  width: 100%;
}
.movie_wrap iframe {
  height: 100% !important;
  position: absolute;
  right: 0;
  top: 0;
  width: 100% !important;
}

.btn {
  text-align: center;
}
.btn a {
  background: #c30000 url(../../images/arrow-1.png) 1px 1px no-repeat;
  background-image: -ms-linear-gradient(
    90deg,
    #bfbfbf 0%,
    #959595 50%,
    white 50%,
    white 100%
  );
  background-size: auto;
  border: solid 1px #000;
  border-radius: 0;
  box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.2);
  color: #fff;
  color: #fff;
  display: block;
  font-family: "Yu Mincho", "YuMincho", "游明朝体", "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "Sawarabi Mincho", "Yu Mincho", YuMincho, "MS P明朝",
    "MS PMincho", "Hiragino Mincho W3 JIS2004", "Hiragino Mincho Pro W3",
    "MS PMincho", serif;
  font-weight: bolder;
  font-weight: bold;
  padding: 12px 50px;
}
@media print, screen and (min-width: 768px) {
  .btn a {
    display: inline-block;
    padding: 12px 80px;
  }
}
.btn.bk a {
  background: #000 url(../../images/arrow-2.png) 100% 100% no-repeat;
  background-size: auto;
  display: block;
  font-weight: normal;
}
@media print, screen and (min-width: 768px) {
  .btn.bk a {
    display: inline-block;
  }
}
.btn.sml a {
  background-size: auto 20px;
  padding: 7px 50px 10px;
}
@media print, screen and (min-width: 768px) {
  .btn.sml a {
    font-size: 20px;
  }
}

.btn2 {
  text-align: center;
}
.btn2 a {
  background: #000 url(../../images/arrow.png) 5px 50% no-repeat;
  background-image: -ms-linear-gradient(90deg, #030000 0%, white 100%);
  background-size: auto 10px;
  border-color: #eeeeee;
  border-style: solid;
  border-width: 1px;
  color: #fff;
  display: block;
  padding: 7px 40px 10px;
}

.sec {
  margin-bottom: 40px;
}
@media print, screen and (min-width: 768px) {
  .sec {
    margin-bottom: 80px;
  }
}

.pad {
  padding: 40px 0;
}
@media print, screen and (min-width: 768px) {
  .pad {
    padding: 80px 0;
  }
}

/* H2 ~ H6 --
--------------------------------------------------------------　*/
p {
  line-height: 1.7em;
}
@media print, screen and (min-width: 768px) {
  p {
    line-height: 2em;
  }
}

span.red {
  color: #c30000;
}

h2:not([class]) {
  color: #010101;
  font-family: "Yu Mincho", "YuMincho", "游明朝体", "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "Sawarabi Mincho", "Yu Mincho", YuMincho, "MS P明朝",
    "MS PMincho", "Hiragino Mincho W3 JIS2004", "Hiragino Mincho Pro W3",
    "MS PMincho", serif;
  font-weight: bold;
}

h2.h2_1 {
  border-bottom: solid 1px #d5c5b3;
  /*! 各イントロ見出し */
  border-top: solid 1px #d5c5b3;
  font-family: "Yu Mincho", "YuMincho", "游明朝体", "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "Sawarabi Mincho", "Yu Mincho", YuMincho, "MS P明朝",
    "MS PMincho", "Hiragino Mincho W3 JIS2004", "Hiragino Mincho Pro W3",
    "MS PMincho", serif;
  font-weight: bold;
  padding: 1em 0 1em;
}
@media print, screen and (min-width: 768px) {
  h2.h2_1 {
    font-size: 50px;
    text-align: center;
  }
}
h2.h2_1 span {
  color: #6f471c;
  display: block;
  font-family: "メイリオ", Meiryo, "A-OTF 新ゴ Pro", A-OTF Shin Go Pro,
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",
    "Hiragino Maru Gothic W4 JIS2004", "Noto Sans JP", "游ゴシック体",
    "Yu Gothic", "メイリオ", Meiryo, "Hiragino Maru Gothic W4 JIS2004",
    "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP",
    "游ゴシック体", "Yu Gothic", YuGothic, "Helvetica Neue", Helvetica, Arial,
    sans-serif;
  font-size: 1rem;
  font-weight: normal;
  padding-top: 0.5em;
}
@media print, screen and (min-width: 768px) {
  h2.h2_1 span {
    font-size: 22px;
  }
}
h2.h2_1 span.price {
  color: #000;
  display: inline-block;
  font-size: 1.5em;
  font-weight: bold;
  padding-top: 0;
}
@media print, screen and (min-width: 768px) {
  h2.h2_1 span.price {
    font-size: 32px;
  }
}
h2.h2_1.icon-1 {
  background: url(../../images/return_icon-1.png) 50% 10px no-repeat;
  background-size: auto 70px;
  padding: 85px 0 10px;
  text-align: center;
}
h2.h2_1.icon-2 {
  background: url(../../images/return_icon-2.png) 50% 10px no-repeat;
  background-size: auto 70px;
  padding: 85px 0 10px;
  text-align: center;
}
h2.h2_1.icon-3 {
  background: url(../../images/return_icon-3.png) 50% 10px no-repeat;
  background-size: auto 70px;
  padding: 85px 0 10px;
  text-align: center;
}

h3:not([class]) {
  color: #010101;
  font-family: "Yu Mincho", "YuMincho", "游明朝体", "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "Sawarabi Mincho", "Yu Mincho", YuMincho, "MS P明朝",
    "MS PMincho", "Hiragino Mincho W3 JIS2004", "Hiragino Mincho Pro W3",
    "MS PMincho", serif;
  font-weight: bold;
}

h3.h3_1 {
  border-bottom: solid 1px #c30000;
  color: #010101;
  font-family: "Yu Mincho", "YuMincho", "游明朝体", "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "Sawarabi Mincho", "Yu Mincho", YuMincho, "MS P明朝",
    "MS PMincho", "Hiragino Mincho W3 JIS2004", "Hiragino Mincho Pro W3",
    "MS PMincho", serif;
  font-weight: bold;
  padding-bottom: 7px;
}

h3.h3_2 {
  background: url(../../images/border-1.png) 0 100% no-repeat;
  padding-bottom: 10px;
}

h3.h3_img {
  font-weight: bold;
  text-align: center;
}
h3.h3_img span {
  display: block;
  font-weight: normal;
  padding-top: 0.3em;
}
h3.h3_img img {
  margin-bottom: 0;
}

.h3_step_ttl {
  border-bottom: solid 2px #000;
  font-size: 20px;
  font-weight: bold;
  padding-bottom: 0.3em;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .h3_step_ttl {
    font-size: 30px;
  }
}

.gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 30%;
  padding-top: 30px;
  position: relative;
}
.gmap iframe,
.gmap object,
.gmap embed {
  height: 100% !important;
  left: 0;
  position: absolute;
  top: 0;
  width: 100% !important;
}

.table_fee th,
.table_fee td {
  border: solid 2px #fff;
}
@media print, screen and (max-width: 767px) {
  .table_fee th,
  .table_fee td {
    font-size: 85%;
  }
}

.table_fee th {
  background: #c30000;
  color: #fff;
  font-weight: bold;
}

.table_fee td {
  background: rgba(195, 0, 0, 0.3);
}

.table_fee tr:nth-child(2n + 1) td {
  background: rgba(195, 0, 0, 0.1);
}

/* pager --
--------------------------------------------------------------　*/
#pager {
  clear: both;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  #pager {
    margin-top: 30px;
  }
}
@media print, screen and (max-width: 767px) {
  #pager .sort {
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  #pager .sort {
    float: left;
  }
}
#pager .sort ul {
  clear: both;
  margin-right: 3px;
  margin-top: 2px;
  overflow: hidden;
  padding: 0;
}
#pager .sort ul li {
  display: inline-block;
}
#pager .sort ul li a {
  background: #010101;
  border: solid 1px #010101;
  color: #fff;
  display: inline-block;
  line-height: 2em;
  margin: 0;
  padding: 0 10px;
}
@media print, screen and (min-width: 768px) {
  #pager .wp_pagenavi {
    float: left;
  }
}
#pager .wp_pagenavi .pages {
  border: solid 1px #010101;
  color: #010101;
  display: inline-block;
  line-height: 2em;
  padding: 0 8px;
}
#pager .wp_pagenavi .current {
  background: #000;
  border: solid 1px #000;
  color: #fff;
  display: inline-block;
  line-height: 2em;
  padding: 0 8px;
}

/* Pager --
--------------------------------------------------------------　*/
.pagination {
  clear: both;
  display: inline-block;
  overflow: hidden;
  padding: 20px 0;
  position: relative;
}
.pagination span {
  background: #000;
  display: block;
  float: left;
  font-size: 14px;
  line-height: 1;
  margin: 2px 5px 2px 0;
  padding: 14px 16px;
  text-align: center;
  text-decoration: none;
  width: auto;
}
.pagination a {
  background: #f2f2f2;
  display: block;
  float: left;
  font-size: 14px;
  line-height: 1;
  margin: 2px 5px 2px 0;
  padding: 14px 16px;
  text-align: center;
  text-decoration: none;
}
.pagination a:hover {
  background: #000;
  opacity: 1;
}
.pagination .current {
  background: #000;
  font-size: 14px;
  line-height: 1;
  padding: 14px 16px;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .title.nowrap {
    -o-text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* Common frame --
--------------------------------------------------------------　*/
.com_message .mainwrap {
  background: #000;
  color: #fff;
  padding: 1em;
}
@media print, screen and (min-width: 768px) {
  .com_message .mainwrap {
    padding: 40px;
  }
  .com_message .mainwrap img {
    margin-bottom: 0 !important;
  }
}

.com_case {
  background: #fff url(../../images/com_case_bg.png) 0 100% no-repeat;
}
.com_case h2 {
  text-align: center;
}
.com_case ul {
  margin-bottom: 30px;
  padding: 0 45px;
  position: relative;
}
@media print, screen and (max-width: 767px) {
  .com_case ul {
    max-width: 0 25px;
  }
}
.com_case ul .slick-arrow {
  -webkit-transform: translate(0, -50%);
  height: 78px;
  text-indent: -9999px;
  top: 50%;
  transform: translate(0, -50%);
  width: 40px;
}
@media print, screen and (max-width: 767px) {
  .com_case ul .slick-arrow {
    height: 39px;
    width: 20px;
  }
}
.com_case ul .prev {
  background: url(../../images/arrow-l.png) 0 100% no-repeat;
  background-size: contain;
  left: 0;
  position: absolute;
}
.com_case ul .next {
  background: url(../../images/arrow-r.png) 0 100% no-repeat;
  background-size: contain;
  position: absolute;
  right: 0;
}
.com_case ul li a {
  background: #000 url(../../images/arrow-1.png) 1px 1px no-repeat;
  color: #fff;
  display: block;
  height: 100%;
  padding: 10px;
}
@media print, screen and (min-width: 768px) {
  .com_case ul li a {
    margin: 0 1em;
  }
}
.com_case ul li a p {
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  height: auto;
  line-height: 1.5em;
  margin-bottom: 7px;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .com_case ul li a p {
    max-height: 4.75em;
    min-height: 4.75em;
  }
}
.com_case.archive .col3_wrap {
  -webkit-box-pack: start;
  justify-content: start;
  padding: 0;
}
.com_case.archive .col3_wrap .col3_item {
  margin-top: 15px;
}
@media print, screen and (min-width: 768px) {
  .com_case.archive .col3_wrap .col3_item {
    margin-top: 35px;
  }
}
.com_case.archive .col3_wrap .col3_item .title {
  font-weight: 600;
}
.com_case.archive .col3_wrap .col3_item .txt small {
  color: #ddd;
}
.com_case_many {
  background: #000;
}
.com_case_many .mainwrap .resultsnumber {
  background: #fff;
  border: solid 5px #000;
  padding: 2em 1em;
}
.com_case_many .mainwrap ul {
  overflow: hidden;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .com_case_many .mainwrap ul li {
    float: left;
    line-height: 2em;
    width: 33.33%;
  }
}
.com_case_many h3 {
  text-align: center;
}

.com_flow {
  margin-bottom: 0 !important;
}
@media print, screen and (min-width: 768px) {
  .com_flow {
    padding: 0 40px;
  }
}
.com_flow li {
  background: url(../../images/arrow-1.png) 50% 100% no-repeat;
  margin-bottom: 40px;
  padding-bottom: 60px;
}
@media print, screen and (max-width: 767px) {
  .com_flow li {
    background-size: 100% auto;
  }
}
.com_flow li:last-child {
  background: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.com_contact {
  background: #fff url(../../images/com_contact_bg.png) 100% 0 no-repeat;
  background-size: auto 100%;
}
.com_contact_simple .com_contact .col3_wrap {
  display: none !important;
}
.com_contact .mainwrap .col3_wrap {
  -webkit-box-pack: justify;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
@media print, screen and (max-width: 767px) {
  .com_contact .mainwrap .col3_wrap .col3_item {
    width: calc((100% - 15px - 15px) / 3);
  }
}
@media print, screen and (max-width: 767px) {
  .com_contact .mainwrap .fsize_55 {
    overflow: hidden;
  }
  .com_contact .mainwrap .fsize_55 .leftdir {
    float: left;
  }
  .com_contact .mainwrap .fsize_55 .rightdir {
    float: right;
  }
  .com_contact .mainwrap .fsize_55 .leftdir {
    width: calc(((100% - 15px) / 10) * 5);
  }
  .com_contact .mainwrap .fsize_55 .rightdir {
    width: calc(((100% - 15px) / 10) * 5);
  }
}
.com_contact .mainwrap a {
  display: block;
}
.com_contact .mainwrap h2 {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .com_contact .mainwrap h2 {
    margin-bottom: 80px;
  }
}

.com_staff {
  background: #000 url(../../images/top_staff_bg.png) 50% 0 no-repeat;
  background-size: 100%;
}
.com_staff .fsize_55 {
  color: #fff;
}
.com_staff .fsize_55 h3 {
  color: #fff;
}
@media print, screen and (min-width: 1200px) {
  .com_staff .fsize_55 p {
    max-width: 550px;
  }
}
.com_staff .licences {
  background: #fff;
  border: solid 5px #313131;
  padding: 1em;
}
@media print, screen and (min-width: 768px) {
  .com_staff .licences {
    padding: 2em;
  }
}
.com_staff .licences h2 {
  text-align: center;
}
.com_staff .licences ul {
  margin-bottom: 0;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  .com_staff .licences ul {
    margin: 0 auto;
    max-width: 768px;
  }
}
@media print, screen and (min-width: 768px) {
  .com_staff .licences ul li {
    float: left;
    width: 50%;
  }
}

.com_access {
  -webkit-box-align: center;
  -webkit-box-pack: justify;
  align-items: center;
  display: -webkit-box;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow: hidden;
}
.com_access .img {
  width: 110px;
}
@media print, screen and (min-width: 768px) {
  .com_access .img {
    width: 160px;
  }
}
.com_access .txt {
  width: calc(100% - 110px - 20px);
}
@media print, screen and (min-width: 768px) {
  .com_access .txt {
    width: calc(100% - 160px - 30px);
  }
}

.toc {
  color: #000;
}
.toc a {
  color: inherit;
  display: block;
}
.toc_dir {
  background: url(../../images/bg_toc.png) 0 0 no-repeat;
  background-size: 100% 100%;
  padding: 2em 1em;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .toc_dir {
    padding: 40px;
  }
}
.toc_dir h4 {
  font-weight: bold;
}
.toc_dir ol {
  display: inline-block;
  margin-bottom: 0;
  text-align: left;
}

/* -- header --
--------------------------------------------------------------　*/
#header {
  line-height: 1em;
  position: relative;
}
@media print, screen and (max-width: 767px) {
  #header {
    background: rgba(0, 0, 0, 0.8);
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 3;
  }
  #header .head_top,
  #header .head_nav,
  #header .head_link {
    display: none;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1020px) {
  #header .drawer-toggle {
    display: none;
  }
}
#header #site_description_area h1 {
  color: #fff;
  font-size: 12px;
  padding: 11px 0 0;
}
#header .menubtn_txt {
  color: #fff;
  display: inline-block;
  font-size: 9px;
  font-weight: bold;
  letter-spacing: -0.05em;
  margin-top: 14px;
  text-align: center;
  text-indent: 0.2em;
}
@media print, screen and (max-width: 767px) {
  #header .site_title {
    margin: 11px 0 10px 10px;
  }
  #header .site_title img {
    height: 30px;
    margin-bottom: 2px;
    margin-right: 7px;
    margin-top: 0;
    width: auto;
  }
}
@media print, screen and (max-width: 767px) {
  #header .head_sp_logoarea {
    overflow: hidden;
  }
  #header .head_sp_logoarea .site_title {
    float: left;
  }
}
@media print, screen and (min-width: 768px) {
  #header .header_wrap {
    background: url(../../images/head_bg-l.png) 0 0 no-repeat,
      url(../../images/head_bg-r.png) 100% 0 no-repeat;
    background-color: #000;
    background-size: auto 100%;
  }
  #header .head_logoarea {
    padding: 12px 0 20px;
  }
  #header .head_logoarea .site_title {
    margin-top: 7px;
  }
  #header .head_logoarea ul {
    -webkit-box-align: center;
    -webkit-box-pack: justify;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    text-align: center;
    width: 100%;
  }
}

/*! お問い合わせページでも使用 */
.site_icon .links_icon {
  -webkit-box-align: center;
  -webkit-box-pack: justify;
  align-items: center;
  display: -webkit-box;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-bottom: 10px;
  text-align: center;
  width: 120px;
}
.site_icon .links_icon img {
  width: 32px;
}

.site_icon .des {
  background: #c30000;
  color: #fff;
  font-size: 12px;
  padding: 5px 7px;
}

/* -- mainvisualarea --
--------------------------------------------------------------　*/
#mainvisualarea {
  background: #000;
  position: relative;
}
#mainvisualarea .mainwrap .mv_txt {
  -webkit-transform: translate(-50%, 0);
  bottom: 10%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, 0);
}

/* -- pagetitlearea --
--------------------------------------------------------------　*/
#pagetitlearea {
  background: #000 url(../../images/mainvisual/mv_page_bg.png) 100% 0% no-repeat;
  background-size: auto 100%;
  padding: 50px 0;
  position: relative;
}
@media print, screen and (min-width: 768px) {
  #pagetitlearea {
    background-size: 100% auto;
    padding: 80px 0;
  }
}
#pagetitlearea .pagetitlearea_title {
  -webkit-transform: translate(-50%, -50%);
  background: rgba(195, 0, 0, 0.5);
  left: 50%;
  padding: 0.5em 0;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}
@media print, screen and (min-width: 981px) {
  #pagetitlearea .pagetitlearea_title {
    background: -webkit-gradient(
      linear,
      left top,
      right top,
      from(rgba(195, 0, 0, 0.5)),
      color-stop(50%, rgba(195, 0, 0, 0.5)),
      color-stop(50%, rgba(195, 0, 0, 0)),
      to(rgba(195, 0, 0, 0))
    );
    background: linear-gradient(
      90deg,
      rgba(195, 0, 0, 0.5) 0%,
      rgba(195, 0, 0, 0.5) 50%,
      rgba(195, 0, 0, 0) 50%,
      rgba(195, 0, 0, 0) 100%
    );
  }
}
#pagetitlearea .pagetitlearea_title .mainwrap h2 {
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", "游明朝体", "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "Sawarabi Mincho", "Yu Mincho", YuMincho, "MS P明朝",
    "MS PMincho", "Hiragino Mincho W3 JIS2004", "Hiragino Mincho Pro W3",
    "MS PMincho", serif;
  font-size: 30px;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
}
@media print, screen and (min-width: 768px) {
  #pagetitlearea .pagetitlearea_title .mainwrap h2 {
    font-size: 46px;
  }
}

.page-id-10 #pagetitlearea {
  background: #000 url(../../images/mainvisual/mv_page_bg-about.png) 100% 50%
    no-repeat;
  background-size: auto 100%;
}
@media print, screen and (min-width: 768px) {
  .page-id-10 #pagetitlearea {
    background-size: 100% auto;
  }
}

@media print, screen and (max-width: 767px) {
  #mainvisualarea,
  #pagetitlearea {
    margin-top: 53px;
  }
}

/* -- breadcrumb --
--------------------------------------------------------------　*/
#breadcrumb {
  background: #000;
  color: #fff;
  padding: 5px 0;
}
@media screen and (max-width: 767px) {
  #breadcrumb {
    -o-text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}
@media print, screen and (min-width: 768px) {
  #breadcrumb {
    padding: 7px 0;
  }
}
#breadcrumb span {
  display: inline-block;
  padding: 3px 1px 3px 0;
}
@media screen and (max-width: 767px) {
  #breadcrumb span {
    font-size: 13px;
  }
}
#breadcrumb a {
  color: inherit;
}
#breadcrumb a span {
  text-decoration: underline;
}
#breadcrumb a.home span {
  display: none;
}
#breadcrumb a.home::before {
  content: "\f015";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}

@media print, screen and (max-width: 767px) {
  .scrolling_wrap {
    background: rgba(0, 0, 0, 0.8);
    height: 100%;
    overflow-y: scroll;
  }
  .scrolling_wrap.swsp {
    -webkit-overflow-scrolling: touch;
    height: 100vh;
  }
  .scrolling_wrap .scrolling_wrap_top {
    padding: 0 10px 10px;
  }
  .scrolling_wrap .scrolling_wrap_top ul {
    overflow: hidden;
  }
  .scrolling_wrap .scrolling_wrap_top ul li {
    float: left;
    margin-top: 10px;
    width: 49%;
  }
  .scrolling_wrap .scrolling_wrap_top ul li:nth-child(2n) {
    float: right;
  }
  .scrolling_wrap .scrolling_wrap_top ul li a {
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    background: #f2f2f2;
    border: solid 1px #000;
    border-radius: 5px;
    box-shadow: 0 -2px 5px 1px #ddd;
    display: block;
    font-weight: bold;
    padding: 15px 0;
    text-align: center;
  }
}
@media print,
  screen and (max-width: 767px) and (max-width: 767px) and (max-width: 767px) {
  .scrolling_wrap .scrolling_wrap_top ul li a {
    font-size: 11px;
  }
}

@media print, screen and (max-width: 767px) {
  .scrolling_wrap .scrolling_wrap_top ul li a .dashicons {
    color: #000;
    font-size: 2em;
    margin-bottom: 10px;
  }
  .scrolling_wrap .scrolling_wrap_bottom {
    padding: 15px 7px 50px 7px;
    text-align: center;
  }
  .drawer-open .drawer-hamburger span.drawer-hamburger-icon {
    background-color: transparent;
  }
  .drawer-hamburger span.drawer-hamburger-icon {
    background-color: #c30000;
    height: 3px;
    margin-left: 3px;
  }
  .drawer-hamburger span.drawer-hamburger-icon:before,
  .drawer-hamburger span.drawer-hamburger-icon:after {
    background-color: #c30000;
    height: 3px;
  }
  .sp_menu ul li a {
    background: #000 url(images/common/ico_navi_white_sp.png) no-repeat 94.0625%
      center;
    background-size: 8px;
    border-bottom: solid 1px #fff;
    box-sizing: border-box;
    color: #fff;
    display: block;
    height: 45px;
    line-height: 45px;
    padding: 0 15px;
    width: 100%;
  }
  .sp_menu ul li a span {
    color: #c30000;
    font-size: 12px;
    font-weight: normal;
    padding-left: 1em;
  }
  .sp_menu ul li.menu-item-has-children a {
    background: #000 url(images/common/ico_plus_sp.png) no-repeat 94.0625%
      center;
    background-size: 8px;
  }
  .sp_menu ul li.menu-item-has-children a.active {
    background: #000 url(images/common/ico_minus_sp.png) no-repeat 94.0625%
      center;
    background-size: 8px;
  }
  .sp_menu ul li.menu-item-has-children a ul li a {
    background: #fff url(images/common/ico_navi_white_sp.png) no-repeat 94.0625%
      center;
    background-size: 8px;
  }
  .sp_menu ul li ul.sub-menu {
    display: block;
  }
  .sp_menu ul li ul.sub-menu li a {
    background: #ffffff url(images/common/ico_navi_sp.png) no-repeat 94.0625%
      center !important;
    background-size: 8px !important;
    border-bottom: solid 1px #ddd !important;
    color: #010101 !important;
  }
  .sp_menu ul.sp_head_submenu {
    overflow: hidden;
  }
  .sp_menu ul.sp_head_submenu li {
    float: left;
    font-size: 11px;
    width: 50%;
  }
  .sp_menu ul.sp_head_submenu li a {
    background: #3d3d3e url(images/common/ico_navi_white_sp.png) no-repeat
      94.0625% center;
    background-size: 8px;
  }
  .sp_menu ul.sp_head_submenu li:first-child a {
    border-right: solid 1px #fff;
  }
}

@media print, screen and (min-width: 768px) {
  #globalnaviarea_wrap {
    background: #fff;
    position: relative;
  }
  #globalnaviarea_wrap .menu-item-has-children {
    height: 56px;
  }
  #globalnaviarea_wrap .menu-item-has-children .header-nav-child {
    box-shadow: 7px 7px 5px rgba(153, 153, 153, 0.3);
    width: 100%;
  }
  #globalnaviarea_wrap ul#main-nav {
    -webkit-box-pack: justify;
    display: -webkit-box;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 0;
    width: 100%;
    *zoom: 1;
  }
  #globalnaviarea_wrap ul#main-nav > li {
    -webkit-box-flex: 1;
    flex-grow: 1;
    font-size: 18px;
    margin: 0;
    padding: 2px 0;
    position: relative;
    text-align: center;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1199px) {
  #globalnaviarea_wrap ul#main-nav > li {
    font-size: 15px;
  }
}

@media print, screen and (min-width: 768px) {
  #globalnaviarea_wrap ul#main-nav > li > a {
    background: url(../../images/head_gnborder.png) 100% 50% no-repeat;
    border-right: solid 1px #dcdcdc;
    color: #000;
    display: block;
    font-weight: bolder;
    padding: 15px 7px;
  }
  #globalnaviarea_wrap ul#main-nav > li > a span {
    color: #c30000;
    display: block;
    font-size: 12px;
    font-weight: normal;
    padding-top: 5px;
  }
  #globalnaviarea_wrap ul#main-nav > li li:last-child a {
    border-right: none;
  }
  #globalnaviarea_wrap ul#main-nav > li ul {
    margin: 0 auto;
    position: absolute;
    width: 100%;
    z-index: 1000;
  }
  #globalnaviarea_wrap ul#main-nav > li ul li {
    border-top: solid 1px #f2f2f2;
    padding: 0;
    width: 100%;
  }
  #globalnaviarea_wrap ul#main-nav > li ul li a {
    background: #fff;
    color: #000;
    display: block;
    font-size: 90%;
    height: auto;
    letter-spacing: -0.02em;
    line-height: 1.7em;
    padding: 15px 7px 15px;
  }
  #globalnaviarea_wrap ul#main-nav > li ul li a:hover {
    background: #000;
    border: solid 1px #000;
    color: #fff;
  }
  .home #globalnaviarea_wrap .header-nav-child.activate {
    margin-top: 0;
  }
  .home #globalnaviarea_wrap.fixed .header-nav-child.activate {
    margin-top: 42px;
  }
}

@media print, screen and (max-width: 767px) {
  #sidecolumn {
    padding-top: 30px;
  }
}

#sidecolumn .widget {
  margin-bottom: 30px;
}
#sidecolumn .widget img {
  width: 100%;
}
#sidecolumn .widget.side_faqlist {
  background: #fffcee;
  border: solid 1px #c30000;
  border-top: none;
}
#sidecolumn .widget.side_faqlist h2 {
  margin-bottom: 2px;
}
#sidecolumn .widget.side_faqlist ul {
  border-top: solid 2px #c30000;
  padding: 1em 5px;
}
#sidecolumn .widget.side_faqlist ul li {
  border-bottom: dotted 1px #c30000;
}
#sidecolumn .widget.side_faqlist ul li a {
  background: url(../../images/side/sidefaq_icon.png) 1em 10px no-repeat;
  color: #c30000;
  display: block;
  font-size: 14px;
  padding: 1em 10px 15px;
  padding-left: 50px;
}
#sidecolumn .widget.side_faqlist .btn {
  margin: 0 10px 1em;
}
#sidecolumn .widget.side_faqlist .btn a {
  display: block;
}
#sidecolumn .widget.title_none h2.widget-title {
  display: none;
}

#back_to_top {
  background: #c30000;
  bottom: 0;
  position: fixed;
  right: 0;
  width: 56px;
  z-index: 9999;
}
@media screen and (min-width: 768px) and (max-width: 980px) {
  #back_to_top {
    bottom: 20px;
    right: 0;
  }
}
@media screen and (min-width: 981px) {
  #back_to_top {
    bottom: 55px;
    right: 0;
  }
}

.footer {
  background: #000;
  color: #fff;
}
.footer a {
  color: #fff;
}
@media screen and (min-width: 768px) {
  .footer {
    padding: 15px 0 0;
  }
}
.footer_wrap .fsize_55 div {
  background: #fff;
  color: #010101;
  padding: 1em 0 0;
}
.footer_wrap .fsize_55 div h3 {
  margin-bottom: 16px;
  text-align: center;
}
@media print, screen and (max-width: 767px) {
  .footer_wrap .fsize_55 div.leftdir {
    margin-bottom: 16px;
  }
}
.footer_wrap .fsize_55 div .area_construction {
  padding: 0 1em 1em;
}
@media print, screen and (min-width: 768px) {
  .footer_wrap .fsize_55 div .area_construction {
    line-height: 1.98em;
    padding: 0 2em 2em;
  }
}
.footer_wrap .fsize_55 div .area_construction p {
  margin-bottom: 0;
}
.footer_wrap .foot_upper {
  background: #fff;
  padding: 1em 1em;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .footer_wrap .foot_upper {
    padding: 1.5em 1em;
  }
}
.footer_wrap .foot_upper a {
  display: block;
  padding: 0.5em 0;
}
.footer_wrap .foot_lawer {
  padding-top: 0;
}
@media print, screen and (max-width: 767px) {
  .footer_wrap .foot_lawer {
    display: none;
  }
}
@media print, screen and (min-width: 981px) {
  .footer_wrap .foot_lawer {
    padding-left: 40px;
  }
}
.footer_wrap .foot_lawer ul {
  overflow: hidden;
}
.footer_wrap .foot_lawer ul li {
  line-height: 2em;
}
.footer_wrap .foot_lawer ul.foot_nav2 li ul.sub-menu {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .footer_wrap .foot_lawer ul.foot_nav2 li ul.sub-menu li {
    float: left;
    width: 50%;
  }
}
.footer_wrap .foot_lawer ul.foot_nav2 li ul.sub-menu li:before {
  content: "―";
  margin-left: 1em;
  margin-right: 5px;
}

.copyrigh {
  background: #000;
  color: #fff;
  padding: 20px 0;
}
.copyrigh a {
  color: #fff;
}
.copyrigh .mainwrap {
  clear: both;
  font-size: 13px;
  letter-spacing: 1.2px;
  line-height: 19.25px;
  overflow: hidden;
  text-align: center;
}

@media print, screen and (max-width: 980px) {
  #copyright_wrap {
    padding: 10px 0 50px;
    text-align: center;
  }
}

@media print, screen and (max-width: 980px) {
  #copyright_wrap .mainwrap {
    font-size: 0.6em;
  }
}

.case-list .postbox {
  margin-bottom: 20px;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .case-list .postbox {
    margin-bottom: 40px;
  }
}
.case-list .postbox .postbox_item {
  padding: 0 5px;
}
.case-list .postbox .postbox_item a {
  background: #fff9c5;
  display: block;
  display: block;
}
.case-list .postbox .postbox_item h4 {
  background: #000;
  color: #fff;
  font-weight: bolder;
  margin-bottom: 0;
  padding: 10px;
}
@media print, screen and (min-width: 768px) {
  .case-list .postbox .postbox_item h4 {
    font-size: 20px;
  }
}
.case-list .postbox .postbox_item img {
  margin-bottom: 0;
  width: 100%;
}
.case-list .postbox .postbox_item p {
  padding: 1em;
}
@media print, screen and (max-width: 767px) {
  .case-list .postbox .postbox_item p {
    font-size: 80%;
    padding: 10px 10px;
  }
}

.menu-list {
  background: #fff url(../../images/menubg.png) 50% 50% repeat;
}
.menu-list ul {
  -webkit-box-pack: justify;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.menu-list ul li {
  background: #fff url(../../images/arrow_org.png) 100% 100% no-repeat;
  margin-bottom: 10px;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .menu-list ul li {
    margin-bottom: 25px;
    width: calc((100% - 80px) / 3);
  }
}
.menu-list ul li a {
  display: block;
  padding: 20px;
}
@media print, screen and (max-width: 767px) {
  .menu-list ul li a {
    padding: 10px;
  }
}
.menu-list ul li a table {
  margin-bottom: 0;
  width: 100%;
}
.menu-list ul li a table th,
.menu-list ul li a table td {
  vertical-align: middle;
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .menu-list ul li a table th,
  .menu-list ul li a table td {
    display: list-item;
    list-style: none;
  }
}
.menu-list ul li a table th {
  width: 110px;
}
@media print, screen and (max-width: 767px) {
  .menu-list ul li a table th {
    width: 60px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .menu-list ul li a table th {
    width: 100%;
  }
}
.menu-list ul li a table td {
  font-weight: bold;
  line-height: 1.2em;
  padding-left: 20px;
}
@media print, screen and (min-width: 768px) {
  .menu-list ul li a table td {
    font-size: 30px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .menu-list ul li a table td {
    font-size: 15px;
    padding: 5px 0 0 0;
    text-align: center;
  }
}
.menu-list.topic ul li {
  background: none;
}
@media print, screen and (max-width: 767px) {
  .menu-list.topic ul li {
    margin-bottom: 10px;
    width: calc((100% - 20px) / 3);
  }
}
.menu-list.topic ul li a {
  padding: 0;
}

.menu-list_purpose {
  background: #fff url(../../images/menupurposebg.png) 50% 50% repeat;
  background-size: cover;
}
.menu-list_purpose .mainwrap {
  background: rgba(255, 255, 255, 0.8);
  padding: 20px;
}
.menu-list_purpose ul {
  -webkit-box-pack: justify;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.menu-list_purpose ul li {
  text-align: center;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .menu-list_purpose ul li {
    margin-bottom: 20px;
    width: calc((100% - 80px) / 3);
  }
}
.menu-list_purpose ul li a {
  display: block;
  padding: 20px;
}
@media print, screen and (min-width: 768px) and (max-width: 980px) {
  .menu-list_purpose ul li a {
    padding: 5px;
  }
}
.menu-list_purpose ul li h4 {
  color: #000;
  font-size: 1.2em;
  margin-bottom: 15px;
}
.menu-list_purpose ul li img {
  margin: 15px auto;
}
@media print, screen and (max-width: 767px) {
  .menu-list_purpose ul li img {
    width: 120px;
  }
}
.menu-list_purpose ul li p {
  margin: 0 auto;
  max-width: 272px;
  text-align: left;
}

.top_method {
  background: #000;
}
.top_method h2 {
  color: #fff;
  text-align: center;
}
.top_method h2 span {
  border-bottom: dashed 1px #c30000;
}
.top_method .col5_wrap {
  -webkit-box-pack: justify;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 40px;
}
.top_method .col5_wrap .col5_item {
  margin-top: 35px;
}
@media print, screen and (max-width: 767px) {
  .top_method .col5_wrap .col5_item {
    margin-top: 10px;
    width: calc((100% - 10px) / 2);
  }
}
.top_method .col5_wrap .col5_item a {
  display: block;
}
.top_method .col5_wrap .col5_item a img {
  margin-bottom: 0;
}

.top_work {
  background: #000 url(../../images/top_work_bg.png) 50% 0 no-repeat;
  background-size: auto 100%;
}
@media print, screen and (min-width: 768px) {
  .top_work {
    background-size: auto;
  }
}
@media print, screen and (min-width: 1600px) {
  .top_work {
    background-size: 100% auto;
  }
}
.top_work h2 {
  color: #fff;
  letter-spacing: 0.2em;
  text-align: center;
}
@media print, screen and (max-width: 767px) {
  .top_work .col2_item {
    margin-top: 10px;
  }
}
.top_work .col2_item a {
  background: #fff;
  display: block;
  padding: 1em;
  text-align: center;
}
.top_work .col2_item a h3 {
  margin-bottom: 12px;
}
.top_work .col2_item a p {
  margin-bottom: 0;
}

.top_attention {
  background: #000 url(../../images/top_attention_bg.png) 100% 0 no-repeat;
  background-size: auto;
  color: #fff;
}
.top_attention h2 {
  color: #fff;
  text-align: center;
}
.top_attention h3 {
  color: #fff;
}
@media print, screen and (min-width: 1024px) {
  .top_attention h3 {
    margin-top: 50px;
  }
}
.top_attention_intro {
  background: url(../../images/top_attention_bg-2.png) 100% 0 repeat;
}
.top_attention_intro h2 {
  border-bottom: solid 1px;
  padding-bottom: 7px;
  text-align: left;
}
@media print, screen and (min-width: 1024px) {
  .top_attention_intro h2 {
    margin-top: 50px;
  }
}

.top_movie {
  background: #000 url(../../images/top_movie_bg.png) 50% 50% no-repeat;
  background-size: auto 100%;
}
@media print, screen and (min-width: 1150px) {
  .top_movie {
    background-size: 100% auto;
  }
}
@media print, screen and (max-width: 767px) {
  .top_movie .leftdir {
    margin-bottom: 10px;
  }
}

/* single page --
--------------------------------------------------------------　*/
.single .thumbnail .f_size55,
.single .thumbnail .f_size64,
.single .thumbnail .f_size46,
.single .thumbnail .f_size73,
.single .thumbnail .f_size37,
.single .thumbnail .f_size82,
.single .thumbnail .f_size28,
.single .thumbnail .f_size91,
.single .thumbnail .f_size19,
.single .entry-content .f_size55,
.single .entry-content .f_size64,
.single .entry-content .f_size46,
.single .entry-content .f_size73,
.single .entry-content .f_size37,
.single .entry-content .f_size82,
.single .entry-content .f_size28,
.single .entry-content .f_size91,
.single .entry-content .f_size19,
.single .singlesignature .f_size55,
.single .singlesignature .f_size64,
.single .singlesignature .f_size46,
.single .singlesignature .f_size73,
.single .singlesignature .f_size37,
.single .singlesignature .f_size82,
.single .singlesignature .f_size28,
.single .singlesignature .f_size91,
.single .singlesignature .f_size19,
.single .single_pager .f_size55,
.single .single_pager .f_size64,
.single .single_pager .f_size46,
.single .single_pager .f_size73,
.single .single_pager .f_size37,
.single .single_pager .f_size82,
.single .single_pager .f_size28,
.single .single_pager .f_size91,
.single .single_pager .f_size19 {
  margin-bottom: 1em;
}

.single .thumbnail img {
  display: block;
  margin: 0 auto 30px;
}
@media print, screen and (min-width: 768px) {
  .single .thumbnail img {
    width: 80%;
  }
}

@media print, screen and (min-width: 768px) {
  .single_pager ul {
    -webkit-box-pack: justify;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

@media print, screen and (min-width: 768px) {
  .single_pager ul li {
    width: calc((100% - 15px) / 3);
  }
}

.single_pager ul li:nth-child(1) {
  overflow: hidden;
  position: relative;
}
.single_pager ul li:nth-child(1) a {
  padding-left: 2.5em;
}
.single_pager ul li:nth-child(1) a::before {
  -webkit-transform: translate(0, -50%);
  content: "\f053";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  left: 1em;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}

.single_pager ul li:nth-child(3) {
  position: relative;
}
.single_pager ul li:nth-child(3) a {
  padding-right: 2.5em;
}
.single_pager ul li:nth-child(3) a::before {
  -webkit-transform: translate(0, -50%);
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translate(0, -50%);
}

.single_pager ul li a {
  background: url(../../images/banner_bg.png);
  background-size: 100%;
  color: #000;
  display: block;
  height: 100%;
  padding: 1em;
  width: 100%;
}
.single_pager ul li a:hover {
  color: #c30000;
}

.single_pager ul li.backlink {
  text-align: center;
}
.single_pager ul li.backlink a {
  background: #000;
  color: #fff;
  position: relative;
}
.single_pager ul li.backlink a div {
  -webkit-transform: translate(-50%, -50%);
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

.page_category ul li {
  margin-bottom: 30px;
  position: relative;
}
.page_category ul li .day {
  color: #c30000;
}
.page_category ul li .title {
  font-weight: bold;
  margin-bottom: 7px;
}
.page_category ul li .des {
  font-size: 14px;
}
.page_category ul li .btn {
  margin-top: 15px;
}
@media print, screen and (min-width: 768px) {
  .page_category ul li .btn {
    bottom: 0;
    position: absolute;
    right: 0;
  }
}
.page_category ul li .btn a {
  display: block;
  padding: 5px;
}
@media print, screen and (min-width: 768px) {
  .page_category ul li .btn a {
    padding: 5px 30px;
  }
}

#sliderwrap {
  -webkit-box-direction: normal;
  -webkit-box-orient: vertical;
  -webkit-box-pack: center;
  display: -webkit-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 1.5em;
}
@media print, screen and (min-width: 768px) {
  #sliderwrap {
    margin-bottom: 30px;
  }
}
#sliderwrap #slider {
  margin: 0 auto 1em;
  max-width: 800px;
  width: 100%;
}
#sliderwrap .slide-item img {
  width: 100%;
}
#sliderwrap #thumbnail-list {
  -webkit-box-pack: justify;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 800px;
  width: 100%;
}
#sliderwrap .thumbnail-item {
  -webkit-box-flex: 0;
  box-sizing: border-box;
  flex: 0 1 20%;
  margin-bottom: 10px;
  position: relative;
}
#sliderwrap .thumbnail-item:after {
  -webkit-transition: 0.3s opacity linear;
  background-color: rgba(0, 0, 0, 0.5);
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 1;
  position: absolute;
  top: 0;
  transition: 0.3s opacity linear;
  width: 100%;
}
#sliderwrap .thumbnail-item.thumbnail-current:after {
  opacity: 0;
}
#sliderwrap .thumbnail-item img {
  margin: 0 auto;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .single-case .single_case_phs {
    margin: 0 auto;
    max-width: 800px;
  }
}

.single-case .single_case_phs .bx-wrapper {
  margin-bottom: 0;
}
.single-case .single_case_phs .bx-wrapper li p {
  font-size: 90%;
  line-height: 1.5em;
}

.single-case .single_case_phs .custom-thumb {
  border: solid 1px #e5e5e5;
  margin-bottom: 40px;
  overflow: hidden;
  padding: 1em;
}
.single-case .single_case_phs .custom-thumb a {
  display: block;
  float: left;
  padding: 0.5em;
  width: 33.33%;
}
.single-case .single_case_phs .custom-thumb a img {
  margin-bottom: 0;
  width: 100%;
}

@media print, screen and (min-width: 1024px) {
  .single-case section {
    overflow: hidden;
  }
  .single-case section .single_case_phs {
    float: left;
    width: 47%;
  }
  .single-case section .entry-content {
    float: right;
    width: 50%;
  }
}

.wsp-container li {
  line-height: 2em;
}
.wsp-container li ul {
  margin-bottom: 0;
  margin-left: 1em;
}
.wsp-container li ul li:before {
  color: #000;
  content: "・";
}

.term_list {
  background: #fffdf0;
}
.term_list .mainwrap {
  padding: 20px 0;
}
@media print, screen and (min-width: 768px) {
  .term_list .mainwrap {
    padding: 40px 100px;
  }
}
.term_list h3 {
  font-weight: bolder;
  margin-bottom: 20px;
}
.term_list .list ul {
  margin-bottom: 0;
  overflow: hidden;
}
.term_list .list ul li {
  display: inline-block;
}
.term_list .list ul li a {
  display: inline-block;
}
.term_list .list.construction ul li:after {
  content: " / ";
}
.term_list .list.area ul li a {
  float: left;
  font-weight: bold;
}
.term_list .list.area ul li a:after {
  content: "｜";
}
.term_list .list.area ul li ul li a {
  font-weight: normal;
}

.archive.default section:nth-child(2n) {
  background: #f2f2f2;
}

@media print, screen and (min-width: 768px) {
  .archive.default .fsize_37 {
    position: relative;
  }
  .archive.default .fsize_37 .leftdir img {
    margin-bottom: 0;
  }
  .archive.default .fsize_37 .btn {
    bottom: 0;
    position: absolute;
    right: 0;
  }
}

.archive.default .cont {
  margin-bottom: 15px;
}
@media print, screen and (max-width: 767px) {
  .archive.default .cont {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    display: -webkit-box;
    overflow: hidden;
  }
}

.archive.faq h2 {
  font-size: 1em;
  font-weight: normal;
  padding: 15px 10px;
}

.archive.faq .des {
  overflow: hidden;
  padding: 10px 10px 0;
}
.archive.faq .des span {
  color: #000;
  display: block;
  float: left;
  font-family: "Yu Mincho", "YuMincho", "游明朝体", "ヒラギノ明朝 Pro",
    "Hiragino Mincho Pro", "Sawarabi Mincho", "Yu Mincho", YuMincho, "MS P明朝",
    "MS PMincho", "Hiragino Mincho W3 JIS2004", "Hiragino Mincho Pro W3",
    "MS PMincho", serif;
  font-size: 20px;
  width: 1.5em;
}
@media print, screen and (min-width: 768px) {
  .archive.faq .des span {
    font-size: 36px;
  }
}
.archive.faq .des .ans {
  float: right;
  width: calc(100% - 3.5em);
}

.archive.glossary .mainwrap {
  -webkit-box-align: center;
  -webkit-box-pack: justify;
  align-items: center;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
}
.archive.glossary .mainwrap section {
  width: calc((100% - 15px) / 2);
}
@media print, screen and (min-width: 768px) {
  .archive.glossary .mainwrap section {
    width: calc((100% - 30px) / 2);
  }
}

@media print, screen and (max-width: 767px) {
  .archive.glossary h2 {
    font-size: 14px;
    margin-bottom: 15px;
  }
}

.archive.glossary h2 a {
  display: block;
}

.archive .report_wrap article {
  border: solid 3px #ddd;
  margin-bottom: 15px;
  overflow: hidden;
  padding: 1em;
}
.archive .report_wrap article h2 {
  font-size: 20px;
  padding: 0.5em;
}

@media print, screen and (min-width: 768px) {
  .archive .report_wrap {
    -webkit-box-align: center;
    -webkit-box-pack: justify;
    align-items: center;
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .archive .report_wrap article {
    margin-bottom: 35px;
    width: calc((100% - 60px) / 3);
  }
}

.archive #pager {
  width: 100%;
}

.cform {
  margin: auto;
  width: 100%;
}
.cform th,
.cform td {
  padding: 25px 10px !important;
}
.cform th {
  /*変なところで改行される場合はここの数字を変更します。*/
  border-bottom: solid 1px #d6d6d6;
  font-size: 14px;
  font-weight: normal;
  vertical-align: top;
  width: 20%;
}
.cform td {
  border-bottom: solid 1px #d6d6d6;
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .cform th,
  .cform td {
    border-top: none;
    display: block;
    padding: 10px 5px !important;
    width: 100%;
  }
}
.cform option,
.cform textarea,
.cform input[type="text"],
.cform input[type="email"],
.cform input[type="search"],
.cform input[type="url"] {
  border: solid 1px #ddd;
  border-radius: 3px;
  padding: 7px;
  width: 100%;
}
.cform option.your-tel,
.cform textarea.your-tel,
.cform input[type="text"].your-tel,
.cform input[type="email"].your-tel,
.cform input[type="search"].your-tel,
.cform input[type="url"].your-tel {
  width: 5em;
}

.required {
  background: #ce0000;
  border-radius: 3px;
  color: #fff;
  font-size: 8pt;
  margin-left: 10px;
  padding: 2px 5px;
  vertical-align: middle;
}

.submit-btn {
  margin-top: 30px;
  text-align: center;
}
.submit-btn input {
  background: #000;
  border: 1px #ddd solid;
  color: #fff;
  display: inline-block;
  min-width: 40%;
  padding: 15px 5px;
}
.submit-btn input:hover {
  -webkit-transition: all 0.4s ease;
  background: #fff;
  border: solid 1px #000;
  color: #000;
  transition: all 0.4s ease;
}

.contact .com_contact p {
  text-align: center;
}

.contact_form {
  background: #f3f3f3;
  padding-top: 30px;
}
@media print, screen and (min-width: 768px) {
  .contact_form {
    padding-top: 50px;
    text-align: center;
  }
}

.contact_pp h3 {
  font-size: 1.5em;
  padding-bottom: 7px;
}

.contact_links {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .contact_links {
    margin: 0 auto;
  }
}
@media print, screen and (max-width: 767px) {
  .contact_links div.tel {
    width: 100%;
  }
}
.contact_links div.links_icon {
  margin: 0 auto 10px;
}
@media print, screen and (min-width: 768px) {
  .contact_links div.links_icon {
    margin-bottom: 0;
  }
}
.contact_links div.links_icon img {
  margin: 0 5px 0 0;
  margin-bottom: 0;
}

.company_detail h2 {
  text-align: center;
}

.company_detail table {
  margin-bottom: 30px;
}
.company_detail table th,
.company_detail table td {
  border-bottom: solid 5px #fff;
}
.company_detail table th {
  background: #000;
  color: #fff;
  min-width: 7em;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .company_detail table td {
    padding-left: 2em;
  }
}

.company_detail .gmap {
  margin-bottom: 0.5em;
}

#page_contact .com_contact .fsize_55 .leftdir {
  float: none;
  margin: 0 auto;
}

#page_contact .com_contact .fsize_55 .rightdir {
  display: none;
}

.pruning_case {
  background: #000;
  color: #fff;
}
.pruning_case h2 {
  color: #fff;
  text-align: center;
}
.pruning_case p {
  margin-bottom: 0;
  padding: 0 0 0 1em;
  text-align: center;
  width: 100%;
}

.pruning_menu h2 {
  text-align: center;
}

.pruning_menu .col2_item,
.pruning_menu .col3_item {
  background: #fff url(../../images/arrow-1.png) 2px 2px no-repeat;
  border: solid 1px #e5e5e5;
  color: #010101;
  margin-bottom: 15px;
  padding: 15px;
}
.pruning_menu .col2_item p,
.pruning_menu .col3_item p {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .pruning_menu .col2_item p,
  .pruning_menu .col3_item p {
    text-align: center;
  }
}

.pruning_menu .col3_item p {
  text-align: center;
}

.pruning_whats {
  background: url(../../images/top_attention_bg-2.png) 100% 0 repeat;
  color: #fff;
}
.pruning_whats h2 {
  color: #fff;
}
.pruning_whats .col3_item {
  background: #fff url(../../images/arrow-1.png) 2px 2px no-repeat;
  color: #010101;
  margin-bottom: 15px;
  padding: 15px;
}
.pruning_whats .col3_item p {
  margin-bottom: 0;
}
.pruning_whats .col3_item p strong {
  border-bottom: solid 1px;
  color: #000;
}

#page_flow .leftdir p a {
  color: #c30000;
  text-decoration: underline;
}

#page_recruit .top_work p {
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  #page_recruit .top_work p {
    text-align: center;
  }
}

#page_recruit .recruit_detail table {
  border: solid 1px #f3f3f3;
}
#page_recruit .recruit_detail table th {
  background: #f3f3f3;
}
#page_recruit .recruit_detail table th,
#page_recruit .recruit_detail table td {
  border: solid 1px #f3f3f3;
}
.thanks {
  padding: 100px 0;
}
.thanks_tit {
  text-align: center;
  letter-spacing: 2px;
  font-size: 28px;
}
.thanks_txt {
  margin: 40px auto 0;
  text-align: center;
  font-size: 20px;
}
.thanks_tel {
  margin: 80px auto 0;
  text-align: center;
}
.thanks_tel .tel_no {
  margin-top: 10px;
  font-size: 43px;
}
.thanks_btn {
  display: block;
  width: 72%;
  margin: 60px auto 0;
  max-width: 360px;
  border-radius: 50px;
  color: #fff;
  background-color: #f87501;
  font-weight: bold;
  font-size: 30px;
  letter-spacing: 2px;
  text-align: center;
  padding: 9px 0;
}

@media print, screen and (max-width: 768px) {
  .thanks {
    padding: 40px 0;
  }
  .thanks_tit {
    letter-spacing: 1px;
    font-size: 17px;
  }
  .thanks_txt {
    margin: 20px auto 0;
    text-align: center;
    font-size: 15px;
  }
  .thanks_tel {
    margin: 30px auto 0;
  }
  .thanks_tel .tel_no {
    font-size: 21px;
    margin-top: 5px;
  }
  .thanks_btn {
    margin: 40px auto 0;
    font-size: 19px;
    padding: 7px 0;
  }
}
