/*
Theme Name: solarcom
Description: 20190131
Version: 1.0
*/
html {
  font-size: 62.5%;
  box-sizing: border-box;
}
html:focus {
  outline: none;
}
html * {
  box-sizing: border-box;
}

:root {
  /*Colors*/
  --main-color: #333;
  --text-color: #333;
  --accent-color: #999;
  --accent-color2: #e2e2e2;
  --base-background: #fff;
  --yellow: #ffff99;
  --red: #e55c17;
}

body {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  font-size: 16px;
  color: var(--text-color);
  background: #fff;
  margin: 0;
  font-feature-settings: "palt";
  position: relative;
}
main {
  overflow: hidden;
}
/*--
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  max-width: 1170px;
  width: 100%;
}
--*/
.clear<strong>fix</strong>:before,
.clearfix:after,
.container:before,
.container:after {
  content: " ";
  display: table;
}
.clearfix:after,
.container:after {
  clear: both;
}
/* ----------------------------------- */
/* フォント設定 */
/* ----------------------------------- */
@font-face {
  /*フォントの名前*/
  font-family: "shirokuma";
  src: url("fonts/shirokuma.woff2") format("woff2"),
    url("fonts/shirokuma.woff") format("woff");
  font-display: swap;
}
.font_shirokuma {
  font-family: "shirokuma", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
}
.font_shirokuma p span {
  margin: 0 -10px;
}

.font_serif {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
}
.font_en {
  font-family: "Fira Sans", sans-serif;
  font-weight: 300;
}
.mt0 {
  margin-top: 0 !important;
}
.mt5 {
  margin-top: 5px !important;
}
.mt10 {
  margin-top: 10px !important;
}
.mt15 {
  margin-top: 15px !important;
}
.mt20 {
  margin-top: 20px !important;
}
.mt30 {
  margin-top: 30px !important;
}
.mt35 {
  margin-top: 35px !important;
}
.mt40 {
  margin-top: 40px !important;
}
.mt50 {
  margin-top: 50px !important;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb5 {
  margin-bottom: 5px !important;
}
.mb10 {
  margin-bottom: 10px !important;
}
.mb15 {
  margin-bottom: 15px !important;
}
.mb30 {
  margin-bottom: 30px !important;
}
.mb35 {
  margin-bottom: 35px !important;
}
.mb40 {
  margin-bottom: 40px !important;
}
.mb50 {
  margin-bottom: 50px !important;
}
.w10p {
  width: 10% !important;
}
.w20p {
  width: 20% !important;
}
.w30p {
  width: 30% !important;
}
.w40p {
  width: 40% !important;
}
.w50p {
  width: 50% !important;
}
.w60p {
  width: 60% !important;
}
.w70p {
  width: 70% !important;
}
.w80p {
  width: 80% !important;
}
.w90p {
  width: 90% !important;
}
.w100p {
  width: 100% !important;
}
.fs12 {
  font-size: 12px !important;
}
.fs14 {
  font-size: 14px !important;
}
.fs16 {
  font-size: 16px !important;
}
.fs18 {
  font-size: 18px !important;
}
.fs20 {
  font-size: 20px !important;
}
.fs22 {
  font-size: 22px !important;
}
.fs24 {
  font-size: 24px !important;
}
.ls-10 {
  letter-spacing: -10px;
}
.ls-20 {
  letter-spacing: -20px;
}
/* ----------------------------------- */
/* リンク */
/* ----------------------------------- */
a {
  color: #ed8000;
  transition: all ease-in-out 0.3s;
  text-decoration: none;
  /* ホバーアニメーション（下線） */
}
a:hover,
a:focus {

  text-decoration: none;
  transition: all ease-in-out 0.3s;
}
a:focus,
a:active,
a:hover {
  outline: 0;
  text-decoration: none;
}
a.underline {
  position: relative;
}
a.underline:hover,
a.underline:focus,
a.underline:active {
  cursor: pointer;
}
a.underline:after {
  /*疑似要素とアニメーション設定を加えてwidthを0にしておく*/
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  /*自由変更*/
  height: 1px;
  /*自由変更*/
  background-color: #646847;
  width: 0;
  transition: width .4s;
  /*自由変更*/
}
a.underline:hover:after,
a.underline:focus:after,
a.underline:active:after {
  /*ホバーしたら100%の位置まで伸びる*/
  width: 100%;
}
/* ----------------------------------- */
/* リンク付き画像 */
/* ----------------------------------- */
a img:hover {
  -moz-opacity: 0.8 !important;
  opacity: 0.8 !important;
}
a:active {
  text-decoration: none;
}
.entry-meta .edit-link a,
.commentlist .edit-link a {
  background: #eee;
  -moz-border-radius: 3px;
  border-radius: 3px;
  color: #666;
  float: right;
  font-size: 12px;
  line-height: 1.5em;
  font-weight: 300;
  text-decoration: none;
  padding: 0 8px;
}
.entry-content .edit-link {
  clear: both;
  display: block;
}
/* ----------------------------------- */
/* 配置 */
/* ----------------------------------- */
.alignnone {
  max-width: 100%;
}
.alignleft {
  display: inline;
  float: left;
}
.alignright {
  display: inline;
  float: right;
}
.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}
blockquote {
  font-size: 16px;
}
blockquote.alignleft,
.wp-caption.alignleft,
img.alignleft {
  margin: 0 20px 20px 0;
}
blockquote.alignright,
.wp-caption.alignright,
img.alignright {
  margin: 0 0 20px 20px;
}
blockquote.aligncenter,
.wp-caption.aligncenter,
img.aligncenter {
  clear: both;
  margin-top: 0.4em;
  margin-bottom: 1.6em;
}
.wp-caption.alignleft,
.wp-caption.alignright,
.wp-caption.aligncenter {
  margin-bottom: 1.2em;
}
/* ----------------------------------- */
/* イメージ */
/* ----------------------------------- */
.img_wrap {
  margin-bottom: 20px;
}
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
img[class*="align"],
img[class*="wp-image-"],
img[class*="attachment-"] {
  height: auto;
}
img.alignleft,
img.alignright,
img.aligncenter {
  margin-bottom: 30px;
}
img.alignleft {
  display: inline;
  float: left;
  margin-right: 20px;
}
img.alignright {
  display: inline;
  float: right;
  margin-left: 20px;
}
img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px !important;
}
.entry-content img.wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}
img#wpstats {
  display: block;
  margin: 0 auto 1em;
}
/* ----------------------------------- */
/* ギャラリー */
/* ----------------------------------- */
.gallery {
  margin: 30px 0;
}
.gallery .gallery-item {
  display: inline-block;
  padding: 0 1.79104477%;
  text-align: center;
  vertical-align: top;
  width: 100%;
  margin: 0 0 15px;
}
.gallery .gallery-item .gallery-icon img {
  margin: 0 auto;
  width: 100%;
  height: auto;
  border: none !important;
}
.gallery .gallery-item .gallery-caption {
  color: #707070;
  display: block;
  text-align: left;
  font-size: 14px;
  line-height: 1.5;
  padding: 0.5em 0 0;
  margin: 0;
}
.gallery.gallery-columns-2 .gallery-item {
  max-width: 50%;
}
.gallery.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}
.gallery.gallery-columns-4 .gallery-item {
  max-width: 25%;
}
.gallery.gallery-columns-5 .gallery-item {
  max-width: 20%;
}
.gallery.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}
.gallery.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}
.gallery.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}
.gallery.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}
@media print,
screen and (min-width: 768px) {
  .gallery.gallery-columns-2 .gallery-item {
    max-width: 50%;
  }
  .gallery.gallery-columns-3 .gallery-item {
    max-width: 33.33%;
  }
  .gallery.gallery-columns-4 .gallery-item {
    max-width: 25%;
  }
  .gallery.gallery-columns-5 .gallery-item {
    max-width: 20%;
  }
  .gallery.gallery-columns-6 .gallery-item {
    max-width: 16.66%;
  }
  .gallery.gallery-columns-7 .gallery-item {
    max-width: 14.28%;
  }
  .gallery.gallery-columns-8 .gallery-item {
    max-width: 12.5%;
  }
  .gallery.gallery-columns-9 .gallery-item {
    max-width: 11.11%;
  }
}
/* キャプション */
/* ----------------------------------- */
.wp-caption {
  max-width: 100%;
  font-size: 14px;
  margin: 0;
}
.wp-caption img {
  border-color: #eee;
}
/* ----------------------------------- */
/* Make sure videos and embeds fit their containers */
/* ----------------------------------- */
embed,
iframe,
object {
  max-width: 100%;
}
/* ----------------------------------- */
/* ボタン */
/* ----------------------------------- */
.BtnWrap {
  margin: 20px 0 40px;
}
.btn {
  clear: both;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 290px;
  height: 60px;
  margin: 30px 0 30px;
  font-size: 14px;
  line-height: 1.5;
  font-weight: normal;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  text-decoration: none;
  user-select: none;
  background-color: #fff;
  position: relative;
  border: none;
  border-radius: 30px;
  color: #59545A;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}
.btn:hover,
.btn:focus {
  text-decoration: none;
  color: #646847 !important;
  background: #D9CD8E;
}
.btn.arrow:after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #59545A;
  right: 15px;
  font-size: 20px;
  border-radius: 0;
  top: 50%;
  margin-top: -15px;
}
.btn.arrow:hover:after,
.btn.arrow:focus:after {
  color: #646847;
}
.btn.btn_left {
  margin: 0;
}
.btn.btn_right {
  margin: 0 auto 0 0;
}
.btn.btn_center {
  margin-left: auto;
  margin-right: auto;
}
.btn.type2 {
  background: #ef8200;
  color: #fff;
}
.btn.type2:after {
  color: #646847;
}
.btn.type2:hover {
  background: #646847;
  color: #D9CD8E !important;
}
.btn.type2:hover:after {
  color: #D9CD8E;
}
@media print,
screen and (min-width: 768px) {
  .btn {
    margin: 0 auto 30px;
  }
  .btn_short {
    width: 100%;
    max-width: 290px;
  }
}

/* ----------------------------------- */
/* ｐｃ・スマホ切り替え */
/* ----------------------------------- */
@media print,
screen and (max-width: 767px) {
  .pc_box {
    display: none;

  }
  .tab_box {
    display: none;
  }

  .sp_box {
    display: block;
  }
}
@media print,
screen and (min-width: 768px) and (max-width: 992px) {
  .pc_box {
    display: none;

  }
  .tab_box {
    display: block;
  }
  .sp_box {
    display: none;
  }
}

@media print,
screen and (min-width: 991px) {
  .pc_box {
    display: block;

  }
  .tab_box {
    display: none;
  }
  .sp_box {
    display: none;
  }
}
/* ----------------------------------- */
/* カラム */
/* ----------------------------------- */
.column5_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 15px;
}
.column5_wrap .column_box {
  flex-basis: 100%;
  margin-bottom: 48px;
}
.column5_wrap .column_box img {
  width: 100%;
}
.column5_wrap .column_box p:last-child {
  margin-bottom: 0;
}
.column_box {
  overflow: hidden;
}
.column_box img {
  align-self: baseline;
  max-width: 100%;
}
.column_box.fb50 {
  flex-basis: 100% !important;
  margin-bottom: 0;
}
@media print,
screen and (min-width: 768px) {
  .column5_wrap {
    position: relative;
  }
  .column5_wrap .column_box {
    flex-basis: 48.5%;
    width: 48.5%;
  }
  .column_box.fb50 {
    flex-basis: 50% !important;
  }
}
@media print,
screen and (min-width: 992px) {
  .column5_wrap {
    position: relative;
  }
  .column5_wrap:before {
    content: "";
    display: block;
    width: 19%;
    order: 1;
  }
  .column5_wrap:after {
    content: "";
    width: 19%;
    display: block;
  }
  .column5_wrap .column_box {
    flex-basis: 19%;
    width: 19%;
  }
}
/* ---------------------------------------------------------------- */
/* ページナビ */
/* ---------------------------------------------------------------- */
.wp-pagenavi {
  position: relative;
  text-align: center;
  padding: 0 0;
  margin: 30px 0 30px;
  display: block;
  width: 100%;
}

.wp-pagenavi span {
  padding: 8px 15px !important;
  margin: 0 5px !important;
  color: #333;
  text-decoration: none;
  display: inline-block;
  border: 2px solid #fff;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
}
.wp-pagenavi a {
  padding: 8px 15px !important;
  margin: 0 5px !important;
  color: #333;
  text-decoration: none;
  display: inline-block;
  border: 2px solid #333;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
}

.wp-pagenavi a.first {
  padding: 8px 15px !important;
  margin: 0 5px !important;
  color: #333;
  text-decoration: none;
  display: inline-block;
  border: none;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
}

.wp-pagenavi a:hover,
.wp-pagenavi a:focus {
  background: #fff;
  color: #0098d8 !important;
  text-decoration: none !important;
}
.wp-pagenavi span.current {
  color: #fff;
  background: #333;
  display: inline-block;
  font-weight: normal;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
}
.nextpostslink {
  border: none !important;
}
.previouspostslink {
  border: none !important;
}
.last {
  border: none !important;
}
/* ---------------------------------------------------------------- */
/* パンくず */
/* ---------------------------------------------------------------- */
.breadcrumbs {
  clear: both;
  background: none;
  padding: 10px 0;
  margin: 0;
  font-size: 12px;
  overflow: hidden;
  background: #f8f6f9;
  color: #666666;
  min-height: 20px;
}
.breadcrumbs .breadcrumbs_list {
  margin: 0;
}
.breadcrumbs a {
  font-size: 12px;
  text-decoration: none;
  padding: 0;
  color: #666666;
}
.breadcrumbs a:hover {
  color: #646847;
  text-decoration: underline;
}
/* ---------------------------------------------------------------- */
/* ヘッダー */
/* ---------------------------------------------------------------- */
#header {
  width: 100%;
  height: 85px;
  position: fixed;
  z-index: 10;
  background: #fff !important;
  top: 0;
  left: 0;

}
.header_margin_area {
  width: 100%;
  height: 85px;
}
@media (min-width: 768px) {
  #header {
    width: 100%;
    height: 150px;
    position: fixed;
    z-index: 10;
    background: #fff;
  }
  .header_margin_area {
    width: 100%;
    height: 170px;
  }
}
#header #headerRead {
  background: #333;
  padding: 0 15px;
  display: flex;
  flex-basis: 100%;
  align-items: center;
  min-height: 24px;
  transition: 0.3s ease-in;
}
#header #headerRead h1 {
  color: #fff;
  font-size: 12px;
  font-weight: 100;
  margin: 0 0 !important;
  padding: 0;
  transition: 0.3s ease-in;
}
#header .flex_wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#header .flex_wrap #headerCnt {
  width: 70%;
}
@media (min-width: 420px) {
  #header .flex_wrap #headerCnt {
    width: auto;
  }
}
#header .flex_wrap #headerCnt #logoArea {
  flex-basis: 50%;
  align-self: center;
  padding: 0 0 0 10px;
}
#header .flex_wrap #headerCnt #logoArea a {
  max-width: 222px;
  max-height: 56px;
}
#header .flex_wrap #headerCnt #logoArea p {
  display: none;
}
#header .flex_wrap #headerCnt2 {
  display: none;
}
#header .flex_wrap #headerCnt3 {
  display: none;
}
#header .flex_wrap #navispArea {
  flex-basis: 20%;
}
#header #navi_sp {
  display: block;
  margin-left: auto;
  padding: 0px;

}
#header #navi_sp .menu-trigger,
#header #navi_sp .menu-trigger span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
#header #navi_sp .menu-trigger {
  position: relative;
  width: 36px;
  height: 36px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

#header #navi_sp .menu-trigger span {
  position: absolute;
  width: 32px;
  height: 2px;
  background-color: #F08800;
  border-radius: 2px;
}
#header #navi_sp .menu-trigger span:nth-of-type(1) {
  top: 0;
}
#header #navi_sp .menu-trigger span:nth-of-type(2) {
  top: 9px;
}
#header #navi_sp .menu-trigger span:nth-of-type(3) {
  top: 18px;
}
@media print,
screen and (min-width: 768px) {
  #header .flex_wrap {
    width: 100%;
  }
}
@media print,
screen and (min-width: 992px) {
  #header #headerRead {
    background: none;
    border-bottom: 1px solid #ccc;
    width: 100%;
    margin: 0 auto 5px;
  }
  #header #headerRead h1 {
    color: #666;
    margin: 0.45em 0;
    padding: 0 15px;
    width: 970px;
    margin: 0 auto;
  }
  #header .flex_wrap {
    width: 970px;
    margin: 0 auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  #header .flex_wrap #headerCnt {
    display: flex;
    flex-basis: 28%;
  }
  #header .flex_wrap #headerCnt #logoArea {
    padding: 0 0 0 10px;
    display: flex;
    flex-basis: 100%;
  }
  #header .flex_wrap #headerCnt #logoArea a {
    width: 222px;
    height: 56px;
    flex-basis: 222px;
  }
  #header .flex_wrap #headerCnt #logoArea p {
    display: inline-flex;
    font-size: 14px;
    flex-basis: auto;
    line-height: 1.2;
    margin-left: 10px;
  }
  #header .flex_wrap #headerCnt2 {
    display: flex;
    flex-basis: 35%;
  }
  #header .flex_wrap #headerCnt2 #logoArea {
    padding: 0 0 0 10px;
    display: flex;
    flex-basis: 100%;
  }
  #header .flex_wrap #headerCnt2 #logoArea a {
    width: 222px;
    height: 56px;
    flex-basis: 222px;
  }
  #header .flex_wrap #headerCnt2 #logoArea p {
    display: inline-flex;
    font-size: 14px;
    flex-basis: auto;
    line-height: 1.2;
    margin-left: 10px;
  }
  #header .flex_wrap #headerCnt3 {
    flex-basis: auto;
    padding: 0 0px 0 0;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    position: absolute;
    right: 0px;
  }
  #header .flex_wrap #headerCnt3 #headerNavi {
    margin: 0 15px 0px 0;
  }
  #header .flex_wrap #headerCnt3 #headerNavi ul {
    display: flex;
    margin: 0;
    padding: 0;
  }
  #header .flex_wrap #headerCnt3 #headerNavi ul li {
    margin: 0;
    padding: 0;
    list-style: none;
  }
  #header .flex_wrap #headerCnt3 #headerNavi ul li a {
    color: #666666;
    font-size: 14px;
  }
  #header .flex_wrap #headerCnt3 #headerNavi ul li a i {
    margin-right: 5px;
    font-size: 16px;
  }
  #header .flex_wrap #headerCnt3 #headerNavi ul li a:hover {
    color: #646847;
  }
  #header .flex_wrap #headerCnt3 #headerNavi ul li+li {
    margin-left: 15px;
  }
  #header .flex_wrap #headerCnt3 #headerBnr {
    margin-bottom: 5px;
  }
  #header .flex_wrap #headerCnt3 #headerBnr ul {
    display: flex;
    justify-content: center;
    margin: 0;
    padding: 0;
  }
  #header .flex_wrap #headerCnt3 #headerBnr ul li {
    list-style: none;
  }
  #header .flex_wrap #headerCnt3 #headerBnr ul li+li {
    margin-left: 15px;
  }
  #header .flex_wrap #headerCnt3 {
    display: inline-flex;
    flex-basis: 100px;
    justify-content: flex-end;
    margin-left: auto;
  }
  #header .flex_wrap #headerCnt3 #header_contact {
    margin: 5px 0;
  }
  #header .flex_wrap #headerCnt3 #header_contact a {
    display: flex;
    height: 90px;
    width: 100px;
    flex-basis: 100px;
    background: #802142;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    color: #fff;
  }
  #header .flex_wrap #headerCnt3 #header_contact a i {
    text-align: center;
    flex-basis: 100%;
    justify-content: center;
    align-self: flex-end;
    font-size: 32px;
  }
  #header .flex_wrap #navispArea {
    display: none;
  }
}
@media print,
screen and (min-width: 1200px) {
  #header .flex_wrap {
    width: 1170px;
    margin-top: 0px;
    margin-bottom: 0px;
    height: 70px !important;
  }
}
h1 {
  font-size: 14px;
  margin: 13px 0;
  font-weight: normal !important;
}
.slider_box {
  position: absolute;
  z-index: 1;
  text-align: center;
  width: 100%;
}
.slider_box .inner {
  width: 100%;
  max-width: 510px;
  margin: 0 auto;
  padding: 0 15px;
}
.slider_box .inner h3 {
  color: #fff;
  font-size: 42px;
}
.slider_box .inner img {
  max-width: 450px;
  width: 100%;
}

.slider_area {
  overflow: hidden;
}
/* -------------------------
.slider_area {
  overflow: hidden;
  margin: 0 auto;
  width: 1920px;
  transform: translate(-50%, 0%);
  position: relative;
  top: 50%;
  left: 50%;
	
}
@media print, screen and (min-width: 1920px) {
  .slider_area {
    overflow: hidden;
    margin: 0 auto;
    width: 1920px;
    transform: translate(0%, 0%);
    position: relative;
    top: 50%;
    left: 0%;
  }
}
---*/
.metaslider .flexslider .flex-direction-nav li a {}
.metaslider .flexslider .flex-direction-nav li a::before {
  content: "\f137";
  color: #fff;
}




/* ---------------------------------------------------------------- */
/* フッターエリア */
/* ---------------------------------------------------------------- */
/* ----------------------------------- */
/* ページトップ ボタン */
/* ----------------------------------- */
#pagetopArea {
  width: 100%;
  height: 60px;
  margin-bottom: 30px;
}
#pagetopArea a {
  display: flex;
  width: 60px;
  margin: 0 auto;
  position: relative;
  padding-top: 35px;
  justify-content: center;
  color: #333;
}
#pagetopArea a span {
  width: 60px;
  height: 60px;
  position: absolute;
  top: 15px;
  left: 15px;
}
#pagetopArea a span:after {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  border-top: 1px solid #666;
  border-right: 1px solid #666;
  -webkit-transform: rotate(45deg);
  transform: rotate(-45deg);
}
@media print,
screen and (min-width: 768px) {
  #pagetopArea {
    display: block;
  }
}
.flex-nav-prev a {
  background: url(images/home/bg_direction_nav.png) center left no-repeat !important;
}
.flex-nav-next a {
  background: url(images/home/bg_direction_nav.png) center right no-repeat !important;
}
/* ----------------------------------- */
/* フッターリンク */
/* ----------------------------------- */
.footer_mail_link {
  width: 100%;
  display: block;
  background: #8FD0E5 !important;
  text-align: center;
  padding: 50px 15px 50px;
}
.footer_mail_link p {
  color: #fff !important;
  font-size: 18px !important;
}
.footer_mail_link .link_area_f a {
  color: #fff !important;
  display: block;
  width: 100%;
  max-width: 290px;
  margin: 20px auto !important;
  height: 50px;
  line-height: 50px;
  background: #1AA3DA url(images/home/yazirusi_t.png) center right 25px no-repeat !important;
}
/* ----------------------------------- */
/* フッターSNS 20250428追加 */
/* ----------------------------------- */
.ftr_sns a {
  margin-bottom: 0 !important;
}
.ftr_sns a:not(:first-child) {
  margin: 0 0 0 15px !important;
}
/* ----------------------------------- */
/* フッターメイン */
/* ----------------------------------- */
#Footer {
  clear: both;
  padding: 20px 0 70px;
  z-index: 2;
  position: relative;
}
#Footer #FooterWrap #FooterCntWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 0 15px;
}
#Footer #FooterWrap #FooterCnt {
  flex-basis: 100%;
}
#Footer #FooterWrap #FooterCnt #FooterLogo {
  text-align: center;
  margin-bottom: 0px;
}
#Footer #FooterWrap #FooterCnt #FooterLogo img {
  margin-top: 30px;
  margin-bottom: 30px;
}
#Footer #FooterWrap #FooterCnt #FooterLogo address {
  text-align: left;
  font-style: normal;
  width: 240px;
  margin: 0 auto;
}
#Footer #FooterWrap #FooterCnt #FooterNaviWrap {
  display: none;
}
#Footer #FooterWrap #copyright {
  flex-basis: 50%;
  width: 100%;
  text-align: center;
  margin: 50px 0 0;
}
#Footer #FooterWrap #copyright p {
  margin: 0;
}
@media print,
screen and (min-width: 768px) {
  #Footer {
    padding-bottom: 20px;
  }
  #Footer #FooterWrap #FooterCntWrap {
    justify-content: space-between;
  }
  #Footer #FooterWrap #FooterCnt {
    flex-basis: 100%;
  }
  #Footer #FooterWrap #FooterCnt #FooterLogo {
    text-align: left;
    flex-basis: 100%;
    margin-bottom: 0px;
  }
  #Footer #FooterWrap #FooterCnt #FooterLogo img {
    margin-bottom: 30px;
  }
  #Footer #FooterWrap #FooterCnt #FooterLogo address {
    width: inherit;
    margin: 0;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap {
    display: flex;
    justify-content: space-between;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap .NaviBox {
    border-left: 1px solid #aaa;
    width: auto;
    flex-basis: 31%;
    padding: 0 20px;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap .NaviBox:first-child {
    border: none;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap .NaviBox ul {
    margin: 0;
    padding: 0;
    width: auto;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap .NaviBox ul li {
    margin: 0 0 10px;
    padding: 0;
    list-style: none;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap .NaviBox ul li a {
    color: #595757;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap .NaviBox ul li a:hover {
    color: #646847;
  }
  #Footer #FooterWrap #copyright {
    flex-basis: 50%;
    width: 100%;
    text-align: center;
    margin: 50px 0 0;
  }
  #Footer #FooterWrap #copyright p {
    margin: 0;
  }
}
@media print,
screen and (min-width: 992px) {
  #Footer {
    padding: 20px 0 20px;
  }
  #Footer #FooterWrap #FooterCnt {
    text-align: center;
  }
  #Footer #FooterWrap #FooterCnt #FooterLogo {
    text-align: center;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap {
    display: flex;
    justify-content: flex-start;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap .NaviBox {
    width: auto;
    min-width: 200px;
    flex-basis: 31%;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap .NaviBox:first-child {
    border-left: 1px solid #aaa;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap .NaviBox ul {
    margin: 0;
    padding: 0;
    width: auto;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap .NaviBox ul li {
    margin: 0 0 10px;
    padding: 0;
    list-style: none;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap .NaviBox ul li a {
    color: #595757;
  }
  #Footer #FooterWrap #FooterCnt #FooterNaviWrap .NaviBox ul li a:hover {
    color: #646847;
  }
}
/* ----------------------------------- */
/* メインナビ */
/* ----------------------------------- */
/* SP */
/* ----------------------------------- */
#mainNaviArea {
  display: none;
  background: #1AA3DA;
}

#navi_sp #navi_contents {
  background-color: #333333 !important;
  z-index: 1000 !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}
#navi_sp #navi_contents.navi_contents-on {
  padding-top: 46px !important;
  height: 100% !important;
  width: 100% !important;
  overflow: auto !important;
}

#navi_sp #navi_contents.navi_contents-off {
  padding-top: 46px !important;
  display: none !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
}
#navi_sp #navi_contents #navi_contents_inner {
  max-width: 940px;
  margin: 0 auto;
  padding: 0 15px;
}
#navi_sp #navi_contents #navi_contents_inner .sp_navi_img_box {
  padding: 30px 0;
}
#navi_sp #navi_contents #navi_contents_inner .sp_navi_img_box img {
  width: 23%;
  margin-right: 2.6%;
}
#navi_sp #navi_contents #navi_contents_inner .sp_navi_img_box img.end {
  margin-right: 0 !important;
}
#navi_sp #navi_contents #navi_contents_inner .sp_navi_list {
  margin: 0;
  padding: 0;
}
#navi_sp #navi_contents #navi_contents_inner .sp_navi_list li {
  width: 23%;
  margin-right: 2.6%;
  list-style: none;
  border-left: 1px solid #fff;
  float: left;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  min-height: 270px;
}
#navi_sp #navi_contents #navi_contents_inner .sp_navi_list li.end {
  width: 23%;
  margin-right: 0 !important;

}
#navi_sp #navi_contents #navi_contents_inner .sp_navi_list li ul {
  padding-left: 20px;

}
#navi_sp #navi_contents #navi_contents_inner .sp_navi_list li ul li {
  width: 100%;
  color: #fff;
  border: none;
  position: relative;
  min-height: auto;
  line-height: 1.4;
}
#navi_sp #navi_contents #navi_contents_inner .sp_navi_list li ul li:not(:first-child) {
  margin-top: 10px;
}
#navi_sp #navi_contents #navi_contents_inner .sp_navi_list li ul li a {
  color: #fff;
}
#navi_sp #navi_contents #navi_contents_inner .sp_navi_list li ul li::before {
  content: '\f054';
  font: 9px/1 FontAwesome;
  position: absolute;
  left: -11px;
  top: 9px;

}
#navi_sp #navi_contents #navi_contents_inner .sp_navi_list li ul li ul li {
  width: 100%;
  color: #fff;
  border: none;
  position: relative;
  padding-bottom: 0px;
}

#navi_sp #navi_contents #navi_contents_inner .sp_navi_list li ul li ul li::before {
  content: '-';
  font: 9px/1 FontAwesome;
  position: absolute;
  left: -11px;
  top: 9px;

}
.pb_no {
  padding-bottom: 0px !important;
}

#navi_sp .modal-content {
  border: none;
  border-radius: 0;
  color: #fff;
  padding: 15px;
  box-shadow: none;

}

#navi_sp .modal-content a {
  color: #fff !important;
  font-size: 18px;
}
#navi_sp #sp_navi_header {
  display: block;
  justify-content: space-between;
  padding: 15px 0px 0;
}
#navi_sp ul#sp_menu {
  width: 100%;
  margin: 0;
  padding: 0 40px;
}
#navi_sp ul#sp_menu li {
  list-style: none;
  width: 100%;
  height: 35px;
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #fff;
}
#navi_sp ul#sp_menu li a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 18px;
  width: 100%;
  height: 100%;
  padding: 0;
}
#navi_sp ul#sp_menu li a:hover,
#navi_sp ul#sp_menu li a:focus {
  background: #fff;
  color: #0098d8 !important;
}
#navi_sp ul#sp_menu li.blank_link a:after {
  border: none;
  content: "\f08e";
  font-family: FontAwesome;
  transform: none;
  color: #fff;
  right: 15px;
  font-size: 16px;
  border-radius: 0;
  margin-left: 15px;
}
#navi_sp .close_top {
  display: block;
  margin: 0 0px 0 auto;
  padding: 0;
  width: 50px;
  height: 50px;
}
#navi_sp .close_top span {
  position: absolute;
  width: 50px;
  height: 50px;
  opacity: 1;
  cursor: pointer;
}
#navi_sp .close_top span:before,
#navi_sp .close_top span:after {
  position: absolute;
  left: 23px;
  content: ' ';
  height: 50px;
  width: 3px;
  background-color: #fff;
}
#navi_sp .close_top span:before {
  transform: rotate(45deg);
}
#navi_sp .close_top span:after {
  transform: rotate(-45deg);
}
#Footernavi {
  width: 100%;
  max-width: 500px;
  margin: 0px auto 0;
  text-align: center;
}
#Footernavi a {
  color: #313131;
  margin-right: 20px;
  margin-left: 20px;
}
/* ----------------------------------- */
/* PC */
/* ----------------------------------- */
@media print,
screen and (min-width: 992px) {
  #mainNaviArea {
    display: block;
    margin: 0;
    padding: 0;
  }
  #mainNaviArea #mainNavi {
    padding: 0;
  }
  #mainNaviArea #mainNavi ul {
    margin: 0;
    padding: 0;
    width: 100%;
    position: relative;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #mainNaviArea #mainNavi ul>li {
    font-size: 14px;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
    flex-basis: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #mainNaviArea #mainNavi ul>li+li:before {
    content: "";
    border-left: 1px solid #fff;
    position: absolute;
    left: 0;
    z-index: 1;
    width: 1px;
    height: 16px;
  }
  #mainNaviArea #mainNavi ul>li a {
    justify-content: center;
    width: 100%;
    display: flex;
    align-self: center;
    text-align: center;
    font-size: 14px;
    color: #fff;
    margin: 0;
    padding: 0;
  }
  #mainNaviArea #mainNavi ul>li a:hover,
  #mainNaviArea #mainNavi ul>li a:focus,
  #mainNaviArea #mainNavi ul>li a:active {
    cursor: pointer;
    color: #EF8D26;
  }
  #mainNaviArea #mainNavi ul>li.current-menu-item>a {
    color: #EF8D26;
  }
  #mainNaviArea #mainNavi ul>li ul.sub-menu {
    display: block;
    position: absolute;
    z-index: -1 !important;
    margin: 0 0 0;
    padding: 0;
    height: auto;
    top: 90px;
    width: 100%;
    min-width: 200px;
    background: #fff;
    opacity: 0;
    transition: ease .3s;
  }
  #mainNaviArea #mainNavi ul>li ul.sub-menu li {
    display: block;
    padding: 0 10px;
    margin: 0;
    widows: auto;
    min-width: 200px;
  }
  #mainNaviArea #mainNavi ul>li ul.sub-menu li+li:before {
    border: none;
  }
  #mainNaviArea #mainNavi ul>li ul.sub-menu li a {
    display: block;
    height: 100%;
    width: auto;
    padding: 5px;
    color: #E68C94;
    border-bottom: 1px solid #E68C94;
  }
  #mainNaviArea #mainNavi ul>li ul.sub-menu li a:hover,
  #mainNaviArea #mainNavi ul>li ul.sub-menu li a:focus,
  #mainNaviArea #mainNavi ul>li ul.sub-menu li a:active {
    cursor: pointer;
    color: #646847;
  }
  #mainNaviArea #mainNavi ul>li ul.sub-menu li a:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 2px;
    height: 1px;
    background-color: #646847;
    width: 0;
    transition: width .4s;
  }
  #mainNaviArea #mainNavi ul>li:hover ul.sub-menu {
    display: block;
    opacity: 1;
    top: 100%;
    z-index: 5 !important;
  }
  .admin-bar #mainNaviArea {
    background: #0098D8;
  }
  .admin-bar #mainNaviArea.fixed {
    top: 32px !important;
    background: #0098D8;
  }
  .admin-bar #mainNaviArea.fixed+#main {
    margin-top: 72px !important;
  }
  #mainNaviArea .container {
    padding-left: 125px;
    background: url(images/common/navi_logo.png) left 5px center no-repeat !important;
  }
  #mainNaviArea.fixed {
    width: 100%;
    position: fixed;
    margin: 0 auto;
    z-index: 5;
    height: 40px;
    top: 0;
    transition: ease-in 0.1s;
    background: #fff;
    box-shadow: 1px 1px 15px #eee;
  }
  #mainNaviArea.fixed+#main {
    margin-top: 40px !important;
  }
  #mainNaviArea.fixed #mainNavi ul>li ul.sub-menu {
    display: none;
  }
}
#mainNaviArea2 {
  display: block;
  background: #0098D8;
}
#mainNaviArea2 .container {
  padding-left: 135px;
  background: url(images/common/navi_logo.png) left 5px center no-repeat !important;
  color: #fff;
}
#mainNaviArea2 .container p {
  margin: 10px 0 !important;
}
@media print,
screen and (min-width: 768px) {
  #mainNaviArea2 {
    display: block;
    background: #0098D8;
  }
  #mainNaviArea2 .container {
    padding-left: 135px;
    background: url(images/common/navi_logo.png) left 5px center no-repeat !important;
  }
}
@media print,
screen and (min-width: 992px) {
  #mainNaviArea2 {
    display: none;
  }
}
@media print,
screen and (min-width: 1200px) {
  #mainNaviArea2 {
    display: none;
  }
}
/* ---------------------------------------------------------------- */
/* サイドバー  */
/* ---------------------------------------------------------------- */
#side .widget-area {
  display: none;
}
#side .widget img {
  max-width: 100%;
}
/* ----------------------------------- */
/* メインスライダー  */
/* ----------------------------------- */
#SliderArea {
  position: relative;
  clear: both;
  width: 100%;
  margin-bottom: 0;
  overflow: hidden;
}
#SliderArea #SliderPc {
  display: none;
}
@media (min-width: 768px) {
  #SliderArea #SliderPc {
    display: block;
  }
  #SliderArea #SliderSp {
    display: none;
  }
  #SliderArea .metaslider ul li {
    overflow: hidden;
    height: 420px;
    position: relative;
  }
  #SliderArea .metaslider ul li img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 1920px !important;
    max-width: inherit;
    height: auto;
  }
}
/* ----------------------------------- */
/* カルーセル  */
/* ----------------------------------- */
.loop_box {
  overflow: hidden;
  position: absolute;
  margin-top: -100px;
  width: 100%;
  height: 76px;
  z-index: 1;
  background-color: rgba(33, 33, 33, 0.5);
  padding: 8px 0;
}
.loop {
  background: url(images/home/loop.png);
  background-size: contain;
  width: 3272px;
  height: 60px;
  -moz-animation: loop 10s linear infinite;
  animation: loop 10s linear infinite;
}
@keyframes loop {
  0% {
    background-position: 2000px 0;
  }
  25% {
    background-position: 1500px 0;
  }
  50% {
    background-position: 1000px 0;
  }
  75% {
    background-position: 500px 0;
  }
  100% {
    background-position: 0 0;
  }
}
@-moz-keyframes loop {
  0% {
    background-position: 2000px 0;
  }
  25% {
    background-position: 1500px 0;
  }
  50% {
    background-position: 1000px 0;
  }
  75% {
    background-position: 500px 0;
  }
  100% {
    background-position: 0 0;
  }
}
/* ---------------------------------------------------------------- */
/* HOME  */
/* ---------------------------------------------------------------- */
.heading_01 {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
  font-style: normal;
  font-size: 24px;
  color: #333;
  font-weight: 300;
}
.linktext {
  text-align: center !important;
  position: relative;
}
.linktext:after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #333;
  font-size: 17px;
  border-radius: 0;
  top: 50%;
  margin-top: -15px;
  margin-left: 15px;
}
.linktext:hover:after,
.linktext:focus:after {
  color: #646847;
}
#ServiceArea {
  margin-bottom: 0px;
  background: #1AA3DA;
  text-align: center;
}
#ServiceArea .box {
  padding: 33px;
  text-align: left;
  background: #fff;
}
#ServiceArea .box h4 {
  background: url(images/home/no_logo.png) left top no-repeat;
  text-align: left;
  padding: 0 0 0 268px !important;
  margin: 0px !important;
  font-family: Monotype Corsiva, Times, Serif;
  font-size: 80px;
  line-height: 34px;
  color: #717071;
}
#ServiceArea .box .type_a {
  font-size: 24px !important;
  color: #1AA3DA;
}
#ServiceArea .box .type_b {
  font-size: 18px !important;
  color: #333333;
}
#ServiceArea .box .type_c {
  font-size: 18px !important;
  color: #1AA3DA;
}
#ServiceArea .box hr {
  color: #717071 !important;
}
#ServiceArea .hamidasi_img {
  margin: -60px auto 0;
}
#ServiceArea2 {
  margin-bottom: 0px;
  background: #8FD0E5;
  padding-top: 50px;
}
#ServiceArea2 .box {
  padding: 33px;
  text-align: left;
  background: #fff;
}
#ServiceArea2 .box h4 {
  background: url(images/home/no_logo.png) left top no-repeat;
  text-align: left;
  padding: 0 0 0 268px !important;
  margin: 0px !important;
  font-family: Monotype Corsiva, Times, Serif;
  font-size: 80px;
  line-height: 34px;
  color: #717071;
}
#ServiceArea2 .box .type_a {
  font-size: 24px !important;
  color: #1AA3DA;
}
#ServiceArea2 .box .type_b {
  font-size: 18px !important;
  color: #333333;
}
#ServiceArea2 .box .type_c {
  font-size: 18px !important;
  color: #1AA3DA;
}
#ServiceArea2 .box hr {
  color: #717071 !important;
}
#ServiceArea3 {
  margin-bottom: 0px;
  background: #C3EAF4 url(images/home/bg_02.png) center top no-repeat;
  padding-top: 50px;
}
#ServiceArea3 .box {
  padding: 33px;
  text-align: left;
  background: #fff !important;
}
#ServiceArea3 .box h4 {
  background: url(images/home/no_logo.png) left top no-repeat;
  text-align: left;
  padding: 0 0 0 268px !important;
  margin: 0px !important;
  font-family: Monotype Corsiva, Times, Serif;
  font-size: 80px;
  line-height: 34px;
  color: #717071;
}
#ServiceArea3 .box .type_a {
  font-size: 24px !important;
  color: #1AA3DA;
  margin: 0px;
}
#ServiceArea3 .box .type_b {
  font-size: 18px !important;
  color: #333333;
  margin-bottom: 0px;
}
@media (max-width: 992px) {
  #ServiceArea3 .box .type_b {
    font-size: 18px !important;
    color: #333333;
    margin-bottom: 20px;
  }
}
#ServiceArea3 .box .type_c {
  font-size: 18px !important;
  color: #1AA3DA;
}
#ServiceArea3 .box hr {
  color: #717071 !important;
}
#ServiceArea3 .box .text_left {
  float: left;
  padding-left: 10px !important;
}
#ServiceArea3 .box .text_left img {
  margin-top: -20px;
}
@media (max-width: 992px) {
  #ServiceArea3 .box .text_left img {
    margin-top: 0px !important;
  }
}
@media (min-width: 992px) {
  #ServiceArea3 .box .img_right {
    float: right;
  }
}
.requirments_area .title_area {
  background: #1AA3DA !important;
  text-align: center;
  padding: 25px 10px;
}
.requirments_area .inner {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto !important;
  padding: 0 15px;
}
@media (min-width: 1140px) {
  .requirments_area .inner {
    padding: 0px;
  }
}
.requirments_area ul {
  margin: 0px;
  padding: 0px;
}
.requirments_area ul li {
  margin: 0px;
  padding: 0px;
  float: left;
  width: 100%;
  list-style: none;
}
.requirments_area ul li a {
  margin: 0px;
  padding: 0px;
  display: block;
  width: 100%;
  padding-top: 36px;
  height: 100px;
  float: left;
  border: 1px solid #cfcfcf;
  border-bottom: 2px solid #cfcfcf;
  text-align: center;
  font-size: 16px !important;
  font-weight: bold !important;
  color: #333333 !important;
}
.requirments_area ul li:nth-child(1) a {
  background: url(images/home/icon06.jpg) 18px center no-repeat !important;
}
.requirments_area ul li:nth-child(2) a {
  background: url(images/home/icon07.jpg) 8px center no-repeat !important;
}
.requirments_area ul li:nth-child(3) a {
  background: url(images/home/icon08.jpg) 9px center no-repeat !important;
}
.requirments_area ul li:nth-child(4) a {
  background: url(images/home/icon09.jpg) 18px center no-repeat !important;
}
.requirments_area ul li:nth-child(5) a {
  background: url(images/home/icon10.jpg) 8px center no-repeat !important;
}
.requirments_area ul li a:hover {
  color: #333333 !important;
}
.requirments_area ul li:nth-child(1) a:hover {
  background: url(images/home/icon06.jpg) 27px center no-repeat !important;
}
.requirments_area ul li:nth-child(2) a:hover {
  background: url(images/home/icon07.jpg) 17px center no-repeat !important;
}
.requirments_area ul li:nth-child(3) a:hover {
  background: url(images/home/icon08.jpg) 18px center no-repeat !important;
}
.requirments_area ul li:nth-child(4) a:hover {
  background: url(images/home/icon09.jpg) 27px center no-repeat !important;
}
.requirments_area ul li:nth-child(5) a:hover {
  background: url(images/home/icon10.jpg) 17px center no-repeat !important;
}
@media (min-width: 680px) {
  .requirments_area ul li {
    margin: 0px;
    padding: 0px;
    float: left;
    width: 20%;
    list-style: none;
  }
  .requirments_area ul li a {
    margin: 0px;
    padding: 0px;
    display: block;
    width: 100%;
    padding-top: 140px;
    height: 200px;
    float: left;
    border: 1px solid #cfcfcf;
    border-bottom: 2px solid #cfcfcf;
    text-align: center;
    font-size: 16px !important;
    font-weight: bold !important;
  }
  .requirments_area ul li:nth-child(1) a {
    background: url(images/home/icon06.jpg) center 46px no-repeat !important;
  }
  .requirments_area ul li:nth-child(2) a {
    background: url(images/home/icon07.jpg) center 46px no-repeat !important;
  }
  .requirments_area ul li:nth-child(3) a {
    background: url(images/home/icon08.jpg) center 46px no-repeat !important;
  }
  .requirments_area ul li:nth-child(4) a {
    background: url(images/home/icon09.jpg) center 46px no-repeat !important;
  }
  .requirments_area ul li:nth-child(5) a {
    background: url(images/home/icon10.jpg) center 46px no-repeat !important;
  }
  .requirments_area ul li:nth-child(1) a:hover {
    background: url(images/home/icon06.jpg) center 56px no-repeat !important;
  }
  .requirments_area ul li:nth-child(2) a:hover {
    background: url(images/home/icon07.jpg) center 56px no-repeat !important;
  }
  .requirments_area ul li:nth-child(3) a:hover {
    background: url(images/home/icon08.jpg) center 56px no-repeat !important;
  }
  .requirments_area ul li:nth-child(4) a:hover {
    background: url(images/home/icon09.jpg) center 56px no-repeat !important;
  }
  .requirments_area ul li:nth-child(5) a:hover {
    background: url(images/home/icon10.jpg) center 56px no-repeat !important;
  }
}
.requirments_area .inner p {
  text-align: center !important;
  font-size: 24px;
  font-weight: bold !important;
}
.requirments_area .inner {
  background: url(images/requirments_bg.png) center top no-repeat !important;
  padding-top: 50px;
}
.requirments_area .inner a {
  font-size: 36px !important;
  height: 80px !important;
  line-height: 80px;
  border-radius: 0px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  background-image: none !important;
}
.requirments_area .inner a:focus {
  color: #333333 !important;
}
.link_v_area {
  background: url(images/home/yazirusi2.png) center top no-repeat !important;
  text-align: center;
  padding: 80px 15px 80px;
}
.link_v_area a {
  background: #EF8200 url(images/home/yazirusi_t.png) right 20px center no-repeat !important;
  color: #fff !important;
  font-size: 24px !important;
  width: 100%;
  max-width: 320px;
  display: block;
  margin: 0 auto;
  padding: 20px 0 20px;
}
.link_v_area a:hover {
  opacity: 0.8;
}
#IndexPage #HomeNaviArea {
  display: none;
}
#IndexPage #AboutArea {
  padding: 45px 0 50px;
  text-align: center;
}
#IndexPage #AboutArea h3 {
  text-align: center;
  color: #333333;
  font-weight: 1000;
  font-size: 28px;
  margin-top: 0px;
}
#IndexPage #AboutArea p {
  text-align: center;
}
#IndexPage #AboutArea img {
  margin: 0 auto !important;
  text-align: center;
}
#IndexPage #AboutArea .column_box {
  margin-bottom: 26px;
}
#IndexPage #AboutArea .box {
  width: 100%;
  min-height: 20px;
  border: 2px solid #0098D8;
  text-align: center;
  margin-top: 18px;
  padding-bottom: 88px;
}
#IndexPage #AboutArea .box_1 {
  background: url(images/home/icon01.jpg) no-repeat top 80px center;
}
#IndexPage #AboutArea .box_2 {
  background: url(images/home/icon02.jpg) no-repeat top 80px center;
}
#IndexPage #AboutArea .box_3 {
  background: url(images/home/icon03.jpg) no-repeat top 80px center;
}
#IndexPage #AboutArea .box_4 {
  background: url(images/home/icon04.jpg) no-repeat top 80px center;
}
#IndexPage #AboutArea .box_5 {
  background: url(images/home/icon05.jpg) no-repeat top 80px center;
}
#IndexPage #AboutArea h4 {
  font-family: Monotype Corsiva, Times, Serif;
  font-size: 28px;
  width: 120px;
  height: 30px;
  line-height: 30px;
  margin: -15px auto 0;
  background: #EF8200;
  color: #fff;
  border-radius: 5px;
  /* CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
}
#IndexPage #AboutArea p {
  font-size: 18px;
}
@media print,
screen and (min-width: 768px) {
  #IndexPage #HomeNaviArea {
    display: block;
    margin: 0;
    padding: 0;
    background-color: #E68C94;
  }
  #IndexPage #HomeNaviArea #HomeNavi {
    padding: 0;
  }
  #IndexPage #HomeNaviArea #HomeNavi ul {
    margin: 0;
    padding: 0;
    width: 100%;
    position: relative;
    min-height: 80px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }
  #IndexPage #HomeNaviArea #HomeNavi ul>li {
    font-size: 14px;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 40px;
    flex-basis: 33.3333%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #IndexPage #HomeNaviArea #HomeNavi ul>li:before {
    content: "";
    border-left: 1px solid #fff;
    position: absolute;
    left: 0;
    z-index: 1;
    width: 1px;
    height: 16px;
  }
  #IndexPage #HomeNaviArea #HomeNavi ul>li:nth-of-type(1):before,
  #IndexPage #HomeNaviArea #HomeNavi ul>li:nth-of-type(4):before {
    border-left: none;
  }
  #IndexPage #HomeNaviArea #HomeNavi ul>li:nth-of-type(1),
  #IndexPage #HomeNaviArea #HomeNavi ul>li:nth-of-type(2),
  #IndexPage #HomeNaviArea #HomeNavi ul>li:nth-of-type(3) {
    border-bottom: 1px solid #fff;
  }
  #IndexPage #HomeNaviArea #HomeNavi ul>li a {
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    display: flex;
    align-self: center;
    background-color: #E68C94;
    font-size: 14px;
    color: #fff;
    margin: 0;
    padding: 0;
  }
  #IndexPage #HomeNaviArea #HomeNavi ul>li a:hover,
  #IndexPage #HomeNaviArea #HomeNavi ul>li a:focus,
  #IndexPage #HomeNaviArea #HomeNavi ul>li a:active {
    cursor: pointer;
    color: #646847;
  }
  #IndexPage #AboutArea .column2_wrap .column_box:nth-of-type(1) {
    background: url(images/home/back_img.jpg) center center no-repeat;
    background-size: auto 100%;
  }
  #IndexPage #AboutArea ul {
    background: none;
  }
  #IndexPage #ServiceArea {
    margin-bottom: 0px;
    background: #1AA3DA;
  }
  #IndexPage #ServiceArea .column_box {
    background: #fff;
  }
  #IndexPage #ServiceArea2 {
    margin-bottom: 0px;
    background: #8FD0E5;
    padding-top: 50px;
  }
  #IndexPage #ServiceArea2 .column_box {
    background: #fff;
  }
  #IndexPage #ServiceArea3 {
    margin-bottom: 0px;
    background: #C3EAF4 url(images/home/bg_02.png) center top no-repeat;
    padding-top: 50px;
  }
  #IndexPage #ServiceArea3 .column_box {
    background: #fff;
  }
  #IndexPage #ConceptArea .column2_wrap {
    flex-wrap: wrap;
  }
  #IndexPage #ConceptArea .column2_wrap .column_Box:nth-of-type(1) {
    flex-basis: 280px;
    margin: 0 0 15px;
  }
  #IndexPage #ConceptArea .column2_wrap .column_Box:nth-of-type(1) img {
    margin: 0 auto;
    display: block;
    max-width: 262px;
  }
  #IndexPage #ConceptArea .column2_wrap .column_Box:nth-of-type(2) {
    flex-basis: calc(100% - 300px);
    justify-content: flex-end;
    align-self: baseline;
  }
  #IndexPage #ConceptArea .column2_wrap .column_Box:nth-of-type(2) h3 {
    flex-wrap: nowrap;
    margin: 0 0 30px;
  }
  #IndexPage #ConceptArea .column2_wrap .column_Box:nth-of-type(2) h3 span {
    font-size: 48px;
    flex-basis: auto;
    margin-right: 15px;
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
  }
  #IndexPage #ConceptArea .column2_wrap .column_Box:nth-of-type(2) img {
    width: auto;
    max-width: 290px;
    height: auto;
  }
  #IndexPage #ConceptArea .column2_wrap .column_Box:nth-of-type(3) {
    flex-basis: 58%;
    align-self: baseline;
  }
  #IndexPage #WorksArea {
    padding: 50px 0 20px;
  }
  #IndexPage #WorksArea #worksWrap .worksBox {
    flex-basis: 48%;
    margin-bottom: 30px;
  }
  #IndexPage #WorksArea #worksWrap .worksBox:nth-of-type(2),
  #IndexPage #WorksArea #worksWrap .worksBox:nth-of-type(3),
  #IndexPage #WorksArea #worksWrap .worksBox:nth-of-type(4) {
    display: block;
  }
  #IndexPage #VoiceArea .VoiceWrap .column_box:nth-of-type(2) {
    display: inline-flex;
  }
  #IndexPage #BlogArea .postWrap .postBox {
    flex-basis: 48%;
  }
  #IndexPage #BlogArea .postWrap .postBox:nth-of-type(2) {
    display: block;
  }
}
@media print,
screen and (min-width: 992px) {
  #IndexPage #HomeNaviArea #HomeNavi ul {
    min-height: 40px;
    flex-wrap: nowrap;
  }
  #IndexPage #HomeNaviArea #HomeNavi ul>li:before,
  #IndexPage #HomeNaviArea #HomeNavi ul>li:nth-of-type(4):before {
    content: "";
    border-left: 1px solid #fff;
    position: absolute;
    left: 0;
    z-index: 1;
    width: 1px;
    height: 16px;
  }
  #IndexPage #HomeNaviArea #HomeNavi ul>li:nth-of-type(1):before {
    border-left: none;
  }
  #IndexPage #HomeNaviArea #HomeNavi ul>li:nth-of-type(1),
  #IndexPage #HomeNaviArea #HomeNavi ul>li:nth-of-type(2),
  #IndexPage #HomeNaviArea #HomeNavi ul>li:nth-of-type(3) {
    border-bottom: none;
  }
  #IndexPage #AboutArea {
    padding: 45px 0 30px;
  }
  #IndexPage #AboutArea .column2_wrap .column_box:nth-of-type(1) {
    flex-basis: 58%;
  }
  #IndexPage #AboutArea .column2_wrap .column_box:nth-of-type(2) {
    display: inline-flex;
    flex-basis: 38%;
  }
  #IndexPage #ConceptArea .column2_wrap {
    flex-wrap: wrap;
  }
  #IndexPage #ConceptArea .column2_wrap .column_Box:nth-of-type(2) {
    flex-basis: calc(100% - 300px);
    justify-content: flex-end;
    align-self: baseline;
  }
  #IndexPage #ConceptArea .column2_wrap .column_Box:nth-of-type(2) img {
    width: auto;
    max-width: 290px;
    height: auto;
  }
  #IndexPage #ConceptArea .column2_wrap .column_Box:nth-of-type(3) {
    flex-basis: auto;
  }
  #IndexPage #CampArea a {
    margin-top: -60px;
    display: flex;
  }
  #IndexPage #CampArea a .ReadWrap {
    flex-basis: 60%;
    max-width: 460px;
  }
  #IndexPage #CampArea a .ReadWrap .readCnt {
    padding-right: 10px;
  }
  #IndexPage #PageLinkArea ul {
    display: flex;
    width: 100%;
  }
  #IndexPage #PageLinkArea ul li {
    width: 100%;
    height: 60px;
    position: relative;
  }
  #IndexPage #PageLinkArea ul li:after {
    position: absolute;
    top: 10px;
    right: -2px;
    content: '';
    height: 40px;
    width: 1px;
    background: #fff;
    transform: rotate(30deg);
    z-index: 5;
  }
  #IndexPage #PageLinkArea ul li:nth-of-type(4):after {
    display: none;
  }
  #IndexPage #PageLinkArea ul li a {
    padding: 0 30px;
    justify-content: center;
  }
  #IndexPage #PageLinkArea ul li a:after {
    right: 30px;
  }
  #IndexPage #PageLinkArea ul li a:hover {
    background: #646847;
    color: #fff;
    text-decoration: underline;
  }
  #IndexPage #PageLinkArea ul li a:hover:after {
    color: #fff;
  }
  #IndexPage #BnrArea ul li {
    flex-basis: 48%;
    width: 48%;
  }
}
@media print,
screen and (min-width: 1200px) {
  #IndexPage #BlogArea .postWrap:before {
    content: "";
    display: block;
    width: 23%;
    order: 1;
  }
  #IndexPage #BlogArea .postWrap:after {
    content: "";
    display: block;
    width: 23%;
  }
  #IndexPage #BlogArea .postWrap .postBox {
    flex-basis: 23%;
  }
}
.mb_10 {
  margin-bottom: 16px;
  width: 100%;
}
#indexPage h2 {
  color: #333;
  line-height: 1;
  font-size: 35px;
}
/* ---------------------------------------------------------------- */
/* ニュース一覧(home) */
/* ---------------------------------------------------------------- */
.newsListWrap {
  margin-bottom: 30px;
}
.newsListWrap .newsListBox {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid #fff;
}
.newsListWrap .newsListBox time {
  margin: 0 0 0 0;
  color: #666;
  flex-basis: 120px;
}
.newsListWrap .newsListBox .news_cat_wrap {
  margin: 0;
  flex-basis: 160px;
  text-align: center;
}
.newsListWrap .newsListBox .news_cat_wrap p {
  background: #E68C94;
  border-radius: 16px;
  width: 120px;
  margin: 0;
  color: #fff;
  font-size: 14px;
}
.newsListWrap .newsListBox .permalinkWrap {
  flex-basis: 100%;
  margin-top: 10px;
}
.newsListWrap .newsListBox .permalinkWrap a {
  color: #666;
}
.newsListWrap .newsListBox .permalinkWrap a:hover {
  color: #646847;
}
@media print,
screen and (min-width: 768px) {
  .newsListWrap .newsListBox {
    flex-wrap: nowrap;
  }
  .newsListWrap .newsListBox time {
    margin: 0 15px 0 0;
    flex-basis: 130px;
  }
  .newsListWrap .newsListBox .newsCatWrap {
    margin: 0 30px 0 0;
    flex-basis: 160px;
    text-align: center;
  }
  .newsListWrap .newsListBox .permalinkWrap {
    margin-top: 0;
  }
}
/* ---------------------------------------------------------------- */
/* コンテンツ共通 */
/* ---------------------------------------------------------------- */
.PostPage #PageHeading {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100px;
  padding: 0 15px;
  margin: 30px 0 10px;
}
.PostPage #PageHeading h2 {
  background: url(images/common/line.png) no-repeat bottom center / 145px 2px;
  margin: 0 auto 20px;
  padding: 5px;
  text-align: center;
  color: var(--main-color);
  font-weight: normal;
  font-size: 30px;
  max-width: 940px;
}
.PostPage #PageHeading .SingleCatName,
.PostPage #PageHeading .PageTitle {
  margin: 0;
  padding: 0 0 5px;
  font-size: 30px;

}
.PostPage #PostContents {
  margin-bottom: 50px;
  min-height: 300px;
}
.PostPage h1,
.PostPage .style_h1 {
  margin: 0.45em 0;
  padding: 0;
  font-size: 24px;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
  font-weight: normal;
  color: #595757;
}
.PostPage h2,
.PostPage .style_h2 {
  margin: 0 0 20px;
  padding: 0;
  font-size: 24px;
  font-weight: 500;
  background: none;
  color: #333333;
  font-weight: bold;
}
.PostPage h3,
.PostPage .style_h3 {
  font-size: 24px;
  font-weight: normal;

  min-height: 40px;
  display: flex;
  align-items: center;
  position: relative;
}

.PostPage h4,
.PostPage .style_h4 {
  font-weight: bold;
}
.PostPage h5,
.PostPage .style_h5 {}
.PostPage h6,
.PostPage .style_h6 {}

.PostPage h1,
.PostPage h2,
.PostPage h3,
.PostPage h4,
.PostPage h5,
.PostPage h6 {
  line-height: 1.4;
}
.PostPage .style_underline {
  border: none;
  border-bottom: 1px solid #bdb580;
  padding: 0;
}
.PostPage p {
  margin: 0 0 20px;

}
.PostPage p img {
  max-width: 100%;
  margin-bottom: 0;
}
.PostPage .small {
  font-size: 80%;
}
.PostPage pre {
  overflow: auto;
  background: #f3f3f3;
  padding: 15px;
  border-radius: 8px;
}
.PostPage a {
  position: relative;
}
.PostPage a:hover,
.PostPage a:focus {
  text-decoration: underline;

}
.PostPage a.text_blank {
  position: relative;
  margin-right: 30px;
  display: inline-block;
}
.PostPage a.text_blank:before {
  content: '\f08e';
  position: absolute;
  display: block;
  font: 14px/1 FontAwesome;
  right: -25px;
  top: 5px;
}
.PostPage .BtnWrap {
  margin: 30px 0;
}
.PostPage .BtnWrap a:hover {
  color: #fff !important;
}
.PostPage blockquote {
  background: #ddd;
  width: 100%;
  border-radius: 8px;
  padding: 30px;
  margin: 0 0 60px;
  position: relative;
}
.PostPage blockquote:before {
  content: '\f10d';
  position: absolute;
  display: block;
  font: 20px/1 FontAwesome;
  color: #E68C94;
  left: 10px;
  top: 10px;
}
.PostPage blockquote:after {
  content: '\f10e';
  position: absolute;
  display: block;
  font: 20px/1 FontAwesome;
  color: #E68C94;
  right: 10px;
}
.PostPage blockquote p {
  margin: 0 0 15px;
}
.PostPage blockquote p:last-child {
  margin-bottom: 0;
}
.PostPage dl {
  margin: 0 0 30px;
}
.PostPage dl dt {
  font-weight: bold;
}
.PostPage dl dd {
  margin: 0;
  margin-bottom: 15px;
}
.PostPage ul,
.PostPage ol {
  margin: 0 0 30px;
  padding: 0 0 0 15px;
}
.PostPage ul li {
  margin: 0;
  padding: 0;
}
.PostPage ul li:not(:last-of-type),
.PostPage ol li:not(:last-of-type) {
  margin-bottom: 10px;
}
/* 本文中の裸のol(記事内目次など)向けに行間・余白・文字色を調整 */
.PostPage ol li {
  margin: 0 0 10px;
  padding: 0;
  line-height: 1.8;
  color: #333333;
}
.PostPage ul li ul,
.PostPage ol li ul,
.PostPage ul li ol,
.PostPage ol li ol {
  margin: 10px 0;
  padding: 0 0 0 20px;
}
.PostPage address {
  font-style: normal;
}
.PostPage hr.red {
  border-bottom: 1px solid #C65871 !important;
  margin-bottom: 50px;
}
.PostPage .icatch_area {
  margin-top: -70px;
}
.PostPage .icatch_area img {
  margin: 0 auto 30px;
  display: block;
}
.PostPage .read_area {
  margin-bottom: 50px;
}
.PostPage .read_area .read_heding {
  font-size: 22px;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
  text-align: center;
  margin: 0 0 30px;
}
.PostPage .read_area p {
  text-align: center;
}
.PostPage .color_red {
  color: #CC3333;
}
p.coming {
  text-align: center;
  margin: 50px 0;
  font-size: 16px;
}


/* ---------------------------------------------------------------- */
/* サービス共通 HOME SERVICE*/
/* ---------------------------------------------------------------- */
.ServiceWrap .column3_wrap .column_box {
  margin-bottom: 30px;
  transition: ease-in 0.3s;
}
.ServiceWrap .column3_wrap .column_box img {
  margin: 0;
}
.ServiceWrap .column3_wrap .column_box h3 {
  background: #ae1f24;
  color: #fff;
  margin: 0;
  padding: 5px 15px;
  font-weight: 100;
  font-size: 14px;
  justify-content: center;
}
.ServiceWrap .column3_wrap .column_box h3.color2 {
  background: #e68c94;
}
.ServiceWrap .column3_wrap .column_box h3.color3 {
  background: #e36262;
}
.ServiceWrap .column3_wrap .column_box h3.color4 {
  background: #1ea6df;
}
.ServiceWrap .column3_wrap .column_box h3.color5 {
  background: #f2a441;
}
.ServiceWrap .column3_wrap .column_box h4 {
  font-size: 24px;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
  margin: 10px 0;
}
.ServiceWrap .column3_wrap .column_box p {
  color: #333;
  margin: 1em 0;
}
.ServiceWrap .column3_wrap .column_box:hover * {
  transition: ease-in 0.3s;
}
.ServiceWrap .column3_wrap .column_box:hover img {
  opacity: .8;
}
.ServiceWrap .column3_wrap .column_box:hover p.linktext {
  color: #E68C94;
}
.ServiceWrap .column3_wrap .column_box:hover p.linktext:after {
  color: #E68C94;
}
/* ---------------------------------------------------------------- */
/* 投稿一覧 news */
/* ---------------------------------------------------------------- */
.CatListPage {
  padding-bottom: 30px;
}
.CatListPage #PageHeading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
  padding: 0 15px;
  margin: 30px 0 10px;

}
.CatListPage #PageHeading h2 {
  background: url(images/common/line.png) no-repeat bottom center / 145px 2px;
  margin: 0 0 20px;
  padding: 5px;
  text-align: center;
  color: var(--main-color);
  font-weight: normal;
  font-size: 30px;
}
.CatListPage .PostWrap {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #cfcfcf;
  padding: 20px 0 15px;
}
.CatListPage .PostWrap:last-of-type {
  border: none;
}
.CatListPage .PostWrap .PostContent {
  width: 100%;
  justify-content: space-between;
}
.CatListPage .PostWrap .PostContent h3 {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
  font-size: 24px;
  font-weight: normal;
  margin: 0 0 20px;
}
.CatListPage .PostWrap .PostContent h3 a {
  color: #333333;
}
.CatListPage .PostWrap .PostContent h3 a:hover {
  color: #646847;
}
.CatListPage .PostWrap .PostContent .FirstContent {
  margin-bottom: 15px;
}
.CatListPage .PostWrap .PostContent .SecondContent .PostHeader ul {
  display: block;
  margin: 0;
  padding: 0;
}
.CatListPage .PostWrap .PostContent .SecondContent .PostHeader ul li {
  list-style: none;
  display: inline-block;
  font-size: 16px;
}
.CatListPage .PostWrap .PostContent .SecondContent .PostHeader ul li+li {
  margin-left: 10px;
}
.CatListPage .PostWrap .PostContent .SecondContent .PostHeader ul li time {
  color: #646847;
  margin-right: 20px;
}
.CatListPage .PostWrap .PostContent .SecondContent .PostHeader ul li.catname {
  color: #fff;
  padding: 1px 5px;
}
.CatListPage .PostWrap .PostContent .SecondContent .PostHeader ul li.catname.cat_1 {
  background: #E66666;
}
.CatListPage .PostWrap .PostContent .SecondContent .PostHeader ul li.catname.cat_13 {
  background: #669966;
}
.CatListPage .PostWrap .PostContent .SecondContent .MoreWrap {
  text-align: right;
  width: 300px;
  float: right;
  margin-top: 0px;
}
.CatListPage .PostWrap .PostContent .SecondContent .MoreWrap a {
  text-decoration: underline;
  position: relative;
  padding: 0 30px 0 0;
}
.CatListPage .PostWrap .PostContent .SecondContent .MoreWrap a:after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #0098d8;
  right: 15px;
  font-size: 20px;
  border-radius: 0;
  top: 50%;
  margin-top: -16px;
  transition: 0.3s ease-in;
}
.CatListPage .PostWrap .PostContent .SecondContent .MoreWrap a:hover:after,
.CatListPage .PostWrap .PostContent .SecondContent .MoreWrap a:focus:after {
  color: #646847;
}
.CatListPage .BtnWrap {
  margin: 50px 0 30px;
}
@media print,
screen and (min-width: 768px) {
  .CatListPage .PostWrap .PostContent {}
  .CatListPage .PostWrap .PostContent .FirstContent {
    flex-basis: 48%;
  }
  .CatListPage .PostWrap .PostContent .SecondContent {
    flex-basis: 100%;
  }
  .CatListPage .PostWrap .PostContent h3 {
    flex-basis: 100%;
  }
  .CatListPage .PostWrap .PostContent .PostHeader {
    flex-basis: 100%;
    margin-bottom: 10px;
  }
  .CatListPage .PostWrap .PostContent p {
    flex-basis: calc(100% - 220px);
    margin: 0 0 15px;
  }
  .CatListPage .PostWrap .PostContent .MoreWrap {
    flex-basis: 100%;
    margin-top: -35px !important;
  }
}
@media print,
screen and (min-width: 992px) {
  .CatListPage .PostWrap .PostContent {}
  .CatListPage .PostWrap .PostContent .SecondContent {
    flex-basis: 100%;
  }
  .CatListPage .PostWrap .PostContent .FirstContent {
    flex-basis: 345px;
  }
  .CatListPage .PostWrap .PostContent .FirstContent+.SecondContent {
    flex-basis: calc(100% - 375px);
  }
  .CatListPage .PostWrap .PostContent h3 {
    flex-basis: 100%;
  }
  .CatListPage .PostWrap .PostContent .PostHeader {
    flex-basis: 100%;
    margin-bottom: 10px;
  }
  .CatListPage .PostWrap .PostContent p {
    flex-basis: calc(100% - 220px);
    margin: 0 0 15px;
  }
  .CatListPage .PostWrap .PostContent .MoreWrap {
    flex-basis: 100%;
    margin-top: -35px !important;
  }
}
.enpitu {
  padding-left: 20px;
  background: url(images/info/enpitu.png) no-repeat 0 5px;
  padding-bottom: 50px !important;
  margin-top: 30px;
  display: block;
}

#infoCat #info_area {
  padding: 0 0 60px;
}

#infoCat #info_area h2 span {
  display: block;
  font-size: 12px;
  color: #69a3d8;
}
#infoCat #info_area #info_list {
  padding: 0;
  margin: 0 auto;


}
#infoCat #info_area #info_list li {
  list-style: none;
  margin: 0 0 20px;
  display: block;
  border-bottom: 1px solid var(--accent-color);
  padding-bottom: 15px;
}
#infoCat #info_area #info_list li a {
  color: var(--main-color);
  font-size: 16px;
  margin-top: 10px;
}

#infoCat #info_area #info_list li span.left_box {
  padding: 5px;
  margin-right: 20px;
  border: 1px solid var(--accent-color);
  font-size: 14px;


}
#infoCat #info_area #info_list li span.right_box {
  max-width: auto;
  width: 100%;
  margin-top: 20px !important;
  float: right;

}

@media screen and (min-width: 1000px) {

  #infoCat #info_area #info_list li span.right_box {
    max-width: 818px;
    width: 100%;
    float: right;
    margin-top: 0px !important;


  }
}
#infoCat #info_area #info_list li:last-child {
  background: none;
}
#infoCat #info_area #info_list li a {
  color: var(--main-color);
  font-size: 16px;
  margin-top: 10px;
}
#infoCat #info_area #info_list li a:hover {
  /*! text-decoration: none; */
}
#infoCat #info_area #info_list li i {
  margin-right: 15px;
  color: #69a3d8;
}
#indexPage #main_contents #info_area #info_list li {}
@media (min-width: 767px) {
  #infoCat #info_area #info_list li {
    padding: 0 10px 20px 10px;
  }
}
@media (max-width: 767px) {
  #infoCat #info_area #info_list li a {

    line-height: 1.4;

  }
  #infoCat #info_area #info_list li span {}
}



/* ---------------------------------------------------------------- */
/* 実績一覧 works archives */
/* ---------------------------------------------------------------- */
#worksCat .PostWrap .PostContent .SecondContent .PostHeader ul li.catname.term_16 {
  background: #cc6666;
}
#worksCat .PostWrap .PostContent .SecondContent .PostHeader ul li.catname.term_15 {
  background: #e39966;
}
#worksCat .PostWrap .PostContent .SecondContent .PostHeader ul li.catname.term_14 {
  background: #99b68e;
}
#worksCat .PostWrap .PostContent .SecondContent .PostHeader ul li.catname.term_17 {
  background: #ec99a0;
}
#worksCat .PostWrap .PostContent .SecondContent .PostHeader ul li.catname.term_18 {
  background: #3399cc;
}
#worksCat .PostWrap .PostContent .SecondContent .PostHeader ul li.catname.term_19 {
  background: #53b491;
}
/* トップお知らせエリア */
.information_area {
  padding: 0 !important;
  background: #EFEFEF !important;
}
.information_area h3 {
  color: #333 !important;
  font-size: 28px !important;
  text-align: center;
}
.information_area h3 a {
  background: #708d1d !important;
  float: right;
  padding: 2px 20px;
  color: #fff !important;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  /* for Safari and Chrome 対応*/
  -moz-border-radius: 20px;
  /* for Firefox 対応*/
}
.information_area .inner {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto !important;
  padding: 0 15px;
}
@media (min-width: 1140px) {
  .information_area .inner {
    padding: 0px;
  }
}
.information_area .inner ul {
  margin: 0px;
  padding: 0px 0px 28px;
}
.information_area .inner ul li {
  margin: 0px;
  padding: 15px 0px 10px;
  list-style: none;
  border-bottom: 1px solid #CFCFCF;
}
.information_area .inner ul.wrap3 li {
  border-bottom: 1px dotted #111111 !important;
}
.information_area .inner ulwrap3 {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
}
.information_area .inner ul.wrap3 .ichiran-box {
  width: 100%;
  margin: 1%;
  padding-bottom: 50px;
  -webkit-transition: width 1s ease-in-out;
  -webkit-transition-delay: 0.01s;
  -moz-transition: width 1s ease-in-out 0.01s;
  -o-transition: width 1s ease-in-out 0.01s;
  transition: width 1s ease-in-out 0.01s;
}
@media (min-width: 640px) {
  .information_area .inner ul.wrap3 .ichiran-box {
    width: 48%;
    margin: 1%;
  }
}
@media (min-width: 1140px) {
  .information_area .inner ul.wrap3 .ichiran-box {
    width: 31%;
    margin: 1%;
  }
}
.information_area .inner ul.wrap3 .ichiran-box img {
  width: 100%;
}
@media (min-width: 640px) {
  .information_area .inner ul.wrap3 .ichiran-box img {
    width: 100%;
  }
}
.information_area .inner ul li .day {
  width: 120px;
  float: left;
}
.information_area .inner ul li .title {
  width: 100%;
  color: #765b43;
}
.information_area .inner ul li .title a {
  color: #333333 !important;
  font-size: 16px;
}
/* トップブログエリア */
.blog_area {
  padding: 0 !important;
}
.blog_area h3 {
  color: #333 !important;
  font-size: 28px !important;
  text-align: center;
}
.blog_area h3 a {
  background: #708d1d !important;
  float: right;
  padding: 2px 20px;
  color: #fff !important;
  border-radius: 20px;
  -webkit-border-radius: 20px;
  /* for Safari and Chrome 対応*/
  -moz-border-radius: 20px;
  /* for Firefox 対応*/
}
.blog_area .inner {
  width: 100%;
  max-width: 1140px;
  margin: 0 auto !important;
  padding: 0 15px;
}
@media (min-width: 1140px) {
  .blog_area .inner {
    padding: 0px;
  }
}
.blog_area .inner ul {
  margin: 0px;
  padding: 0px 0px 28px;
}
.blog_area .inner ul li {
  margin: 0px;
  padding: 15px 0px 10px;
  list-style: none;
  border-bottom: 1px dotted #111111;
}
.blog_area .inner ul li:last-child {
  border-bottom: none;
}
.blog_area .inner ul.wrap3 li {
  padding-right: 10px;
}
.blog_area .inner ul li .day {
  width: 100%;
  float: left;
}
.blog_area .inner ul li .title {
  width: 100%;
  color: #765b43;
  float: left;
}
.blog_area .inner ul li .title a {
  color: #333333 !important;
}
#blog_area ul {
  margin: 0 !important;
  padding: 0px 0px 0px;
}
#blog_area ul li {
  margin: 0 !important;
  padding: 10px;
  width: 100% !important;
  list-style: none !important;
  float: left;
}
@media (min-width: 680px) {
  #blog_area ul li {
    margin: 0 !important;
    padding: 10px;
    width: 50% !important;
    list-style: none !important;
    float: left;
    border: none !important;
  }
}
@media (min-width: 980px) {
  #blog_area ul li {
    margin: 0 !important;
    padding: 10px;
    width: 25% !important;
    list-style: none !important;
    float: left;
    border: none !important;
  }
}
#blog_area ul li img {
  width: 100% !important;
}
#blog_area ul li .text_box {
  width: 100% !important;
  background: #fff !important;
  padding: 15px 0px !important;
}
#blog_area ul li h4 {
  color: #765b43;
  font-size: 16px !important;
  font-weight: bold !important;
}
#blog_area ul li p {
  color: #765b43;
  font-size: 16px !important;
  text-align: left;
}
#blog_area ul li .day {
  color: #808080;
  font-size: 14px !important;
  text-align: left;
}
#blog_area .blog_img {
  width: 100%;
  padding-bottom: 65%;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
#blog_area .link_btn a {
  background: #fff url(images/yazirusi_g.png) center right no-repeat !important;
  border: none !important;
}
.link_area {
  text-align: center;
}
.link_area a {
  width: 100%;
  height: 48px;
  line-height: 45px;
  color: #333 !important;
  background: #fff !important;
  display: block;
  margin: 0 auto 30px !important;
  border-radius: 5px;
  /* CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
  border: 1px solid #333333 !important;
}
.link_area a:hover {
  background: #333 !important;
  color: #fff !important;
  text-decoration: none !important;
}
.link_area a::after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #333333;
  right: 10px;
  font-size: 20px;
  border-radius: 0;
  top: 33%;
  margin-top: -15px;
}
.link_area a:hover::after {
  color: #fff;
}
/* ---------------------------------------------------------------- */
/* 実績詳細 works single */
/* ---------------------------------------------------------------- */
#SingleWorkPage {
  margin-bottom: 60px;
}
#SingleWorkPage #WorkImage {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 30px 0;
}
#SingleWorkPage #WorkImage .WorkImageBox {
  flex-basis: 100%;
  display: flex;
  justify-content: space-between;
  background: url(images/common/icon_workarrow.png) no-repeat center 47%;
  margin-bottom: 30px;
}
#SingleWorkPage #WorkImage .WorkImageBox .before,
#SingleWorkPage #WorkImage .WorkImageBox .after {
  flex-basis: 47%;
}
#SingleWorkPage #WorkImage .WorkImageBox .before p,
#SingleWorkPage #WorkImage .WorkImageBox .after p {
  text-align: center;
  font-size: 16px;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
  margin: 0;
}
#SingleWorkPage #WorkImage .WorkImageBox .before p {
  color: #646847;
}
#SingleWorkPage #WorkImage .WorkImageBox .after p {
  color: #E68C94;
}
#SingleWorkPage #WorkTable table {
  margin: 0 0 30px;
}
#SingleWorkPage #WorkTable table tr th,
#SingleWorkPage #WorkTable table tr td {
  display: block;
}
#SingleWorkPage #WorkTable table tr th {
  background: #E7E7E7;
}
@media print,
screen and (min-width: 768px) {
  #SingleWorkPage #WorkImage {
    justify-content: space-between;
  }
  #SingleWorkPage #WorkImage .WorkImageBox {
    flex-basis: 48%;
  }
  #SingleWorkPage #WorkImage .WorkImageBox .before,
  #SingleWorkPage #WorkImage .WorkImageBox .after {
    flex-basis: 47%;
  }
  #SingleWorkPage #WorkImage .WorkImageBox .before p,
  #SingleWorkPage #WorkImage .WorkImageBox .after p {
    text-align: center;
    font-size: 16px;
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
  }
  #SingleWorkPage #WorkImage .WorkImageBox .before p {
    color: #646847;
  }
  #SingleWorkPage #WorkImage .WorkImageBox .after p {
    color: #E68C94;
  }
  #SingleWorkPage #WorkTable {
    margin: 50px 0 0 0;
  }
  #SingleWorkPage #WorkTable h3 {
    margin: 0 0 20px;
  }
  #SingleWorkPage #WorkTable table tr th,
  #SingleWorkPage #WorkTable table tr td {
    display: table-cell;
    padding: 1em 1em;
  }
  #SingleWorkPage #WorkTable table tr th {
    width: 190px;
    text-align: right;
    border: 1px solid #E7E7E7;
  }
  #SingleWorkPage #WorkTable table tr td {
    border: 1px solid #E7E7E7;
  }
}
/* ---------------------------------------------------------------- */
/* サービス & 料金 service */
/* ---------------------------------------------------------------- */
#servicePage .ServiceWrap .container {}
#servicePage .ServiceWrap h3 {
  text-align: center;
}
/* ---------------------------------------------- */
/* サービス & 料金 共通部分 IncServiceFooter */
/* ---------------------------------------------- */
#IncServiceFooter {
  margin: 50px 0 0 0;
}
#IncServiceFooter table {
  width: 100%;
}
#IncServiceFooter table tbody tr th,
#IncServiceFooter table tbody tr td {
  min-width: inherit;
}
#IncServiceFooter table tbody tr th {
  text-align: center;
  font-weight: bold;
}
#IncServiceFooter table tbody tr td {
  border-bottom: 1px solid #E7E7E7;
}
#IncServiceFooter table tbody tr:last-child td {
  border-bottom: none;
}
#IncServiceFooter table.PriceTable1 tbody tr th,
#IncServiceFooter table.PriceTable1 tbody tr td {
  width: 33.3333%;
}
#IncServiceFooter table.PriceTable2 tbody tr th,
#IncServiceFooter table.PriceTable2 tbody tr td {
  width: 25%;
}
#IncServiceFooter table.PriceTable2 tbody tr th:last-of-type {
  background: #E68C94;
  border-right-color: #E68C94;
  color: #fff;
  font-weight: bold;
}
#IncServiceFooter table.PriceTable2 tbody tr td:last-of-type {
  background: #D9CD8E !important;
  font-weight: bold;
  color: inherit !important;
}
#IncServiceFooter table.PriceTable2 tbody tr.num1 td {
  background: #E7E7E7;
}
#IncServiceFooter table.PriceTable2 tbody tr.num1 td:nth-of-type(1) {
  background: #CC3333;
  color: #fff;
  font-weight: bold;
}
#IncServiceFooter table.PriceTable2 tbody tr.num2 td {
  background: #8EA276;
  color: #fff;
}
#IncServiceFooter table.PriceTable2 tbody tr.num2 td:nth-of-type(1) {
  background: #646847;
  color: #fff;
  font-weight: bold;
}
#IncServiceFooter table.PriceTable2 tbody tr.num3 td {
  background: #E7E7E7;
}
#IncServiceFooter table.PriceTable2 tbody tr.num3 td:nth-of-type(1) {
  background: #CC3333;
  color: #fff;
  font-weight: bold;
}
#IncServiceFooter table.OptionTable tbody tr th,
#IncServiceFooter table.OptionTable tbody tr td {
  width: 33%;
  display: table-cell;
}
#IncServiceFooter table.OptionTable tbody tr td+td {
  border-left: 1px solid #E7E7E7;
}
#IncServiceFooter .BtnWrap .ServiceBtn {
  width: 290px;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 8px;
  background: -webkit-linear-gradient(#CB2142, #501529);
  background: -o-linear-gradient(#CB2142, #501529);
  background: linear-gradient(#CB2142, #501529);
  color: #FFFF8E;
  transition: .3s;
  margin: 0 auto 40px;
}
#IncServiceFooter .BtnWrap .ServiceBtn:hover {
  color: #FFFF8E !important;
  background: -webkit-linear-gradient(#c5e4aa, #083108);
  background: -o-linear-gradient(#c5e4aa, #083108);
  background: linear-gradient(#c5e4aa, #083108);
}
/* ---------------------------------------------------------------- */
/* サービス共通 chat */
/* ---------------------------------------------------------------- */
.ChatWrap {
  display: flex;
  flex-wrap: wrap;
  padding: 40px 0 30px;
  border-bottom: 1px solid #802142;
}
.ChatWrap.BorderNone {
  border-bottom: none;
}
.ChatWrap .ChatBox {
  display: flex;
  flex-basis: 100%;
  margin-bottom: 20px;
}
.ChatWrap .ChatBox .ChatImg {
  width: 110px;
}
.ChatWrap .ChatBox .ChatImg img {
  max-width: 80px;
}
.ChatWrap .ChatBox .ChatText {
  width: calc(100% - 110px);
  max-width: 480px;
}
.ChatWrap .ChatBox .ChatText p {
  border-radius: 8px;
  position: relative;
  font-weight: bold;
  padding: 15px;
  max-width: 480px;
  margin: 0;
}
.ChatWrap .ChatBox .ChatText p:before {
  content: '';
  position: absolute;
  top: 10px;
  left: -11px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 11px 10px 0;
  border-color: transparent #F7F5E8 transparent transparent;
  z-index: 1;
}
.ChatWrap .ChatBox.Chat1 .ChatText p {
  background: #F7F5E8;
}
.ChatWrap .ChatBox.Chat1 .ChatText p:before {
  border-color: transparent #F7F5E8 transparent transparent;
}
.ChatWrap .ChatBox.Chat2 .ChatText p {
  background: #FFE2B7;
}
.ChatWrap .ChatBox.Chat2 .ChatText p:before {
  border-color: transparent #FFE2B7 transparent transparent;
}
.ChatWrap .ChatBox.Chat3 .ChatText p {
  background: #E8ECE4;
}
.ChatWrap .ChatBox.Chat3 .ChatText p:before {
  border-color: transparent #E8ECE4 transparent transparent;
}
.ChatWrap .ChatBox.Chat4 {
  justify-content: flex-end;
}
.ChatWrap .ChatBox.Chat4 .ChatImg {
  order: 2;
}
.ChatWrap .ChatBox.Chat4 .ChatImg img {
  display: block;
  margin: 0 0 0 auto;
}
.ChatWrap .ChatBox.Chat4 .ChatText {
  order: 1;
}
.ChatWrap .ChatBox.Chat4 .ChatText p {
  background: #FBF1F2;
}
.ChatWrap .ChatBox.Chat4 .ChatText p:before {
  left: inherit;
  right: -11px;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 11px;
  border-color: transparent transparent transparent #FBF1F2;
}
@media print,
screen and (min-width: 768px) {
  .ChatWrap .ChatBox .ChatText {
    max-width: 490px;
  }
}
/* ---------------------------------------------------------------- */
/* FAQページ faq */
/* ---------------------------------------------------------------- */
#faqPage .FaqChatWrap {
  display: flex;
  flex-wrap: wrap;
  padding: 40px 0 30px;
}
#faqPage .FaqChatWrap.BorderNone {
  border-bottom: none;
}
#faqPage .FaqChatWrap .ChatBox {
  display: flex;
  flex-basis: 100%;
  margin: 20px 0;
}
#faqPage .FaqChatWrap .ChatBox .ChatImg {
  width: 110px;
}
#faqPage .FaqChatWrap .ChatBox .ChatImg img {
  max-width: 80px;
}
#faqPage .FaqChatWrap .ChatBox .ChatText {
  width: calc(100% - 110px);
  max-width: 480px;
}
#faqPage .FaqChatWrap .ChatBox .ChatText p {
  border-radius: 8px;
  position: relative;
  font-weight: bold;
  padding: 15px;
  max-width: 480px;
  margin: 0;
}
#faqPage .FaqChatWrap .ChatBox .ChatText p:before {
  content: '';
  position: absolute;
  top: 10px;
  left: -11px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 11px 10px 0;
  border-color: transparent #F7F5E8 transparent transparent;
  z-index: 1;
}
#faqPage .FaqChatWrap .ChatBox.Chat1 .ChatText p {
  background: #F7F5E8;
}
#faqPage .FaqChatWrap .ChatBox.Chat1 .ChatText p:before {
  border-color: transparent #F7F5E8 transparent transparent;
}
#faqPage .FaqChatWrap .ChatBox.Chat2 {
  justify-content: flex-end;
}
#faqPage .FaqChatWrap .ChatBox.Chat2 .ChatImg {
  order: 2;
}
#faqPage .FaqChatWrap .ChatBox.Chat2 .ChatImg img {
  display: block;
  margin: 0 0 0 auto;
}
#faqPage .FaqChatWrap .ChatBox.Chat2 .ChatText {
  order: 1;
}
#faqPage .FaqChatWrap .ChatBox.Chat2 .ChatText p {
  background: #FBF1F2;
}
#faqPage .FaqChatWrap .ChatBox.Chat2 .ChatText p:before {
  left: inherit;
  right: -11px;
  height: 0;
  border-style: solid;
  border-width: 10px 0 10px 11px;
  border-color: transparent transparent transparent #FBF1F2;
}
@media print,
screen and (min-width: 768px) {
  #faqPage .FaqChatWrap .ChatBox .ChatText {
    max-width: 490px;
  }
}
/* ---------------------------------------------------------------- */
/* お客様の声 voice */
/* ---------------------------------------------------------------- */
#voicePage #VoiceCustomerWrap {
  margin-top: 30px;
}
#voicePage #VoiceCustomerWrap .VoiceBox {
  margin-bottom: 50px;
}
#voicePage #VoiceCustomerWrap .VoiceBox .column2_wrap {
  margin: 0;
}
#voicePage #VoiceCustomerWrap .VoiceBox .column2_wrap .column_box {
  flex-basis: 100%;
  margin: 0;
}
#voicePage #VoiceCustomerWrap .VoiceBox form {
  pointer-events: none;
  margin: 0 0 30px;
}
#voicePage #VoiceCustomerWrap .VoiceBox form label {
  font-size: 16px;
  font-weight: normal;
  vertical-align: top;
}
#voicePage #VoiceCustomerWrap .VoiceBox form label+label {
  margin-left: 20px;
}
#voicePage #VoiceCustomerWrap .VoiceBox form input[type="radio"] {
  position: relative;
  -webkit-appearance: button;
  appearance: button;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  content: "";
  background-color: #FFFFFF;
  border: 1px solid #999999;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  vertical-align: middle;
  cursor: pointer;
}
#voicePage #VoiceCustomerWrap .VoiceBox form input[type="radio"]:checked:after {
  display: block;
  position: absolute;
  top: -1px;
  left: -1px;
  content: "";
  width: 20px;
  height: 20px;
  background: #E68C94;
  -webkit-border-radius: 20px;
  border-radius: 20px;
}
#voicePage #VoiceCustomerWrap .VoiceBox ul {
  margin: 0 0 30px;
  padding: 0;
}
#voicePage #VoiceCustomerWrap .VoiceBox ul li {
  margin: 0;
  padding: 0;
  list-style: none;
  display: inline-block;
}
#voicePage #VoiceCustomerWrap .VoiceBox ul li img {
  width: 40px;
}
#voicePage #VoiceCustomerWrap .VoiceBox ul li+li {
  margin-left: 10px;
}
@media print,
screen and (min-width: 768px) {
  #voicePage #VoiceCustomerWrap .VoiceBox .column2_wrap .column_box {
    flex-basis: 100%;
  }
}
@media print,
screen and (min-width: 992px) {
  #voicePage #VoiceCustomerWrap .VoiceBox .column2_wrap .column_box {
    flex-basis: 48%;
  }
}

#Voice_ListPage .post_box {
  padding-bottom: 50px;
}
#Voice_ListPage .thumbnail {
  float: left;
  width: 100%;
  padding-bottom: 0px;
}

#Voice_ListPage .text_e_box {
  float: right;
  width: 100%;

}
#Voice_ListPage .text_e_box h3 {
  /* padding-top: 20px; */
  padding: 0 0 5px 5px;
  font-size: 24px;
  color: var(--main-color);
  border-bottom: 1px dashed var(--accent-color);
}
/* #Voice_ListPage .text_e_box h3::before {
    content: "";
    position: absolute;
    background: #dff2fc;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    top: 11px;
    left: 0;
    z-index: -1;
} */
#Voice_ListPage .text_e_box .m_text {
  padding-bottom: 30px;
  line-height: 1.8;
}

@media print,
screen and (min-width: 768px) {
  #Voice_ListPage .thumbnail {
    float: left;
    width: 48%;
  }

  #Voice_ListPage .text_e_box {
    float: right;
    width: 48%;

  }
}

.text_b_box {
  padding-bottom: 50px;
}

.voice_t th {
  text-align: center !important;
  width: 50% !important;
  display: table-cell !important;
}
.voice_t td {
  display: table-cell !important;
  width: 50% !important;
  border-left: none !important;
  background: #fff !important;
  border-bottom: 1px solid #999999;
}
.voice_t th:nth-child(even) {
  border-left: 1px dashed #999999 !important;
}
.voice_t td:nth-child(even) {
  border-left: 1px dashed #999999 !important;
}


@media print,
screen and (min-width: 368px) {
  .th_icon1 {
    background: url("images/voice/title_happy.png") no-repeat center right;
    background-size: 20px 15px;
    padding: 0 30px;
  }
  .th_icon2 {
    background: url("images/voice/title_reason.png") no-repeat center right;
    background-size: 20px 15px;
    padding: 0 30px;
  }
}
.text_b_box ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.text_b_box li {
  margin: 0;
  padding: 0 0 0 20px !important;
  position: relative;
}
.text_b_box li::before {
  content: '●';
  color: #7ecef4;
  padding-right: 10px;
  position: absolute;
  left: 0;
  top: 3px;
  font-size: 12px;
}

/* ================================================================ */
/* 【MW WP Form】削除予定 - プラグイン削除後にこのブロックごと削除可能 */
/* ================================================================ */
/* ---------------------------------------------------------------- */
/* フォーム設定 */
/* ---------------------------------------------------------------- */
#FormArea .error {
  margin: 0;
}
#FormArea table caption {
  text-align: left;
  font-size: 16px;
  font-weight: bold;
  padding: .2em .5em;
  border: none;
}
#FormArea table tr {
  border: none;
}
#FormArea table tr th,
#FormArea table tr td {
  padding: .4em .5em;
  border: none;
}
#FormArea table tr th {
  background: none;
  min-height: inherit;
  padding-top: .7em;
}
#FormArea table tr td p {
  margin: 0 0 10px;
}
#FormArea table.vertical {
  margin-bottom: 0;
  padding-bottom: 15px;
}
#FormArea table.vertical tr th,
#FormArea table.vertical tr td {
  display: block;
  width: 100%;
  max-width: none;
  margin-bottom: 15px;
}
#FormArea table.vertical tr td {
  padding: 0;
}
#FormArea table.vertical tr:last-child td {
  margin-bottom: 0;
}
#FormArea .radio_wrap {
  margin-top: 10px;
}
#FormArea .vertical-item {
  display: block !important;
}
#FormArea input[type="text"],
#FormArea input[type="email"],
#FormArea input[type="number"],
#FormArea textarea {
  padding: .5em .5em .4em;
  border: 1px solid #e7e7e7;
  margin: 0;
  background: #fefefe;
  width: 100%;
  height: 100%;
  max-width: 100%;
  overflow: hidden;
  margin-bottom: 0;
}
#FormArea input[type="text"]:focus,
#FormArea input[type="email"]:focus,
#FormArea input[type="number"]:focus,
#FormArea textarea:focus {
  background: #fff;
}
#FormArea input[type="text"]+input,
#FormArea input[type="email"]+input,
#FormArea input[type="number"]+input,
#FormArea textarea+input {
  margin-top: 10px;
}
#FormArea input[type="number"].short {
  width: 60px;
}
#FormArea input[type="text"],
#FormArea input[type="email"] {
  width: 100%;
}
#FormArea input[type="text"] .short,
#FormArea input[type="email"] .short {
  max-width: 150px;
}
#FormArea input[type="file"] {
  margin-bottom: 10px;
}
#FormArea .mwform-tel-field input[type="text"] {
  width: auto;
}
#FormArea select {
  padding: .4em 0 .3em .5em;
  margin-bottom: 5px;
  display: block;
  border-color: #e7e7e7;
}
#FormArea select option {
  word-wrap: normal;
}
#FormArea input[type="text"].short {
  width: 200px;
  text-align: left;
  margin-bottom: 0;
}
#FormArea input[type="text"].hasDatepicker {
  padding: .8em .5em;
}
#FormArea .mwform-radio-field input {
  margin-left: 15px;
}
#FormArea .mwform-checkbox-field {
  display: block;
  width: 100%;
  margin: 0 0 10px 0;
  font-size: 14px;
}
#FormArea .mwform-zip-field input {
  width: inherit;
}
#FormArea input[type="checkbox"] {
  border: 1px solid #aaaaaa;
  vertical-align: -8px;
  -webkit-appearance: none;
  position: relative;
  margin-right: 5px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  width: 26px;
  height: 26px;
  /*Other Browser*/
  background: #e2e2e2;
  /*For Old WebKit*/
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ffffff), color-stop(1, #e2e2e2));
  /*For Modern Browser*/
  background: linear-gradient(to bottom, #ffffff 0%, #e2e2e2 100%);
}
#FormArea input[type="checkbox"]:checked {
  /*Other Browser*/
  background: #E68C94;
  /*For Old WebKit*/
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #E68C94), color-stop(1, #E68C94));
  /*For Modern Browser*/
  background: linear-gradient(to bottom, #E68C94, 0%, #E68C94, 100%);
  border: 1px solid #E68C94;
}
#FormArea input[type="checkbox"]:checked:before {
  position: absolute;
  left: 1px;
  top: 16px;
  display: block;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  content: "";
  width: 10px;
  height: 4px;
  background: #ffffff;
  -webkit-transform: rotate(45deg);
  -webkit-transform-origin: right center;
}
#FormArea input[type="checkbox"]:checked:after {
  display: block;
  position: absolute;
  left: 9px;
  top: 16px;
  content: "";
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  width: 16px;
  height: 4px;
  background: #ffffff;
  -webkit-transform: rotate(-53deg);
  -webkit-transform-origin: left center;
}
#FormArea .mwform-radio-field {
  display: block;
  margin: 0 0 15px 0;
}
#FormArea .mwform-radio-field input {
  margin: 0;
}
#FormArea .mwform-radio-field-text {
  margin-left: 10px;
}
#FormArea .mwform-tel-field input {
  margin: 0 !important;
}
#FormArea input[type="radio"] {
  position: relative;
  -webkit-appearance: button;
  appearance: button;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  content: "";
  background-color: #FFFFFF;
  border: 1px solid #999999;
  -webkit-border-radius: 24px;
  border-radius: 24px;
  -webkit-box-shadow: inset 4px 4px 10px rgba(0, 0, 0, 0.2);
  box-shadow: inset 4px 4px 10px rgba(0, 0, 0, 0.2);
  vertical-align: middle;
  cursor: pointer;
}
#FormArea input[type="radio"]:checked:after {
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  content: "";
  width: 12px;
  height: 12px;
  background: #00A0E9;
  -webkit-border-radius: 12px;
  border-radius: 12px;
}
#FormArea .submit {
  width: 200px;
  margin: 0 auto;
  display: block;
  text-align: center;
  background: #E68C94;
  color: #fff;
  border: 1px solid #E68C94;
  padding: .8em 0;
  transition: .3s;
  font-size: 14px;
}
#FormArea .submit:hover {
  color: #E68C94;
  background: #fff;
  transition: .3s;
  cursor: pointer;
}
#FormArea .inline_wrap select {
  display: inline-block;
}
@media print,
screen and (min-width: 768px) {
  #FormArea table tr th {
    width: 200px;
    min-height: 35px;
  }
  #FormArea table tr td p {
    margin-bottom: 10px;
  }
  #FormArea input[type="text"],
  #FormArea input[type="email"],
  #FormArea input[type="number"],
  #FormArea textarea {
    margin-bottom: 10px;
  }
  #FormArea select {
    margin-bottom: 0;
  }
  #FormArea .mwform-checkbox-field {
    display: inline-block;
    width: auto;
    margin: 10px 15px 10px 0;
  }
  #FormArea .mwform-radio-field {
    display: inline;
    margin: 0 15px 15px 0;
  }
  #FormArea .mwform-radio-field .mwform-radio-field-text {
    margin-right: 15px;
  }
  #FormArea .mwform-radio-field input {
    margin: 0;
  }
  #FormArea .mwform-radio-field-text {
    margin-left: 10px;
  }
}
/* 確認画面 */
.mw_wp_form_preview {
  position: relative;
  display: block;
}
.mw_wp_form_preview .preview_hidden {
  display: none;
}
.mw_wp_form_preview .submit_area {
  margin-top: 50px;
}
/* ================================================================ */
/* 【MW WP Form】ここまで */
/* ================================================================ */
/* ---------------------------------------------------------------- */
/* 共通リンクボタン */
/* ---------------------------------------------------------------- */
.link_btn {
  text-align: center;
}
.link_btn a {
  border: 2px solid #222222;
  margin: 40px auto 30px;
  color: #222222;
  display: block;
  width: 100%;
  max-width: 290px;
  padding: 10px 5px;
  font-size: 14px;
  background: url(images/common/link_btn.png) no-repeat right 15px top 18px;
}
.c_btn {
  text-align: center;
}
.c_btn input {
  border: 2px solid #222222;
  margin: 40px auto 30px;
  color: #222222;
  display: block;
  width: 100%;
  max-width: 290px;
  padding: 10px 5px;
  font-size: 14px;
  background: url(images/common/link_btn.png) no-repeat right 15px top 14px;
  cursor: pointer;
}
.c_btn input.back_btn {
  border: 2px solid #222222;
  margin: 40px auto 30px;
  color: #222222;
  display: block;
  width: 100%;
  max-width: 290px;
  padding: 10px 5px;
  font-size: 14px;
  background: url(images/common/link_btn_l.png) no-repeat left 15px top 14px;
  cursor: pointer;
}
ul.type2 {
  margin-left: 0px;
  padding-left: 0px;
}
ul.type2 li {
  background: url(images/common/icon_logo2.png) no-repeat left top 5px;
  list-style: none;
  padding-left: 20px;
  margin-left: 0px;
  padding-bottom: 30px;
  color: #e3a74b;
}
ul.type2 li span {
  color: #000 !important;
}
/* テーブルタイプ２ */
/* ----------------------------------- */
table.type2 {}

.media_box {
  padding-bottom: 50px;
}
.media_box .left_box img {
  width: 100% !important;
  margin-bottom: 10px;
}
.media_box .right_box p {
  font-size: 15px !important;
}
.media_box .right_box p span {
  font-size: 14px !important;
}
@media print,
screen and (min-width: 768px) {
  .media_box .left_box {
    width: 370px;
    float: left;
    margin-right: 15px;
  }
}
.link_btn2 {
  padding-top: 20px;
}
.link_btn2 a {
  margin: 0 auto;
  padding: 10px 10px 10px 30px;
  background: url(images/common/link_btn2.png) no-repeat center left 8px #ed8000 !important;
  color: #fff;
  line-height: 50px;
}
/* テーブルタイプ２ */
/* ----------------------------------- */
table.type2 {}

/* テーブルタイプ3 */
/* ----------------------------------- */
table.type3 {
  width: 100%;
  /*min-width: 690px;*/
  /* 20170920編集 */
  margin-bottom: 30px;
  border: none !important;
}
table.type3 th,
table.type3 td {
  padding: 5px 15px;
  border-bottom: none;
  font-size: 16px;
  font-size: 1.6rem;
  vertical-align: top;
  width: 30%;
}
table.type3 th {
  vertical-align: top;
  text-align: center;
  font-weight: bold;
  color: #fff;
  border-right: none !important;
  background: #0098d8 !important;
}
table.type3 td {
  font-weight: normal;
  background: none !important;
  border: none;
  border-bottom: 1px solid #eeeeee !important;
}
table.type3 td:nth-child(odd) {
  border-right: 1px solid #eeeeee !important;
}
/* テーブルタイプ3_b */
/* ----------------------------------- */
table.type3_b {
  width: 100%;
  min-width: 690px;
  margin-bottom: 0px;
  border: none !important;
}
table.type3_b th,
table.type3_b td {
  padding: 5px 15px;
  border-bottom: none;
  font-size: 16px;
  font-size: 1.6rem;
  vertical-align: top;
  width: 25%;
}
table.type3_b th {
  vertical-align: top;
  text-align: center;
  font-weight: bold;
  color: #fff;
  border-right: none !important;
  background: #0098d8 !important;
}
table.type3_b td {
  font-weight: normal;
  background: none !important;
  border: none;
  border-bottom: 1px solid #eeeeee !important;
  border-right: 1px solid #eeeeee !important;
}
table.type3_b td:nth-child(3n) {
  border-right: none !important;
}
.table_w {
  width: 100%;
  overflow-x: scroll;
  margin-bottom: 50px;
}
@media (min-width: 690px) {
  .table_w {
    width: 100%;
    overflow-x: auto;
  }
}
/* テーブルタイプ3c */
/* ----------------------------------- */
table.type3_c {
  width: 100%;
  min-width: 690px;
  margin-bottom: 30px;
  border: none !important;
}
table.type3_c th,
table.type3_c td {
  padding: 5px 15px;
  border-bottom: none;
  font-size: 16px;
  font-size: 1.6rem;
  vertical-align: top;
  width: 30%;
}
table.type3_c th {
  vertical-align: top;
  text-align: center;
  font-weight: bold;
  color: #fff;
  border-right: none !important;
  background: #0098d8 !important;
  width: 20% !important;
}
table.type3_c td {
  font-weight: normal;
  background: none !important;
  border: none;
  border-bottom: 2px solid #eeeeee !important;
  width: 20% !important;
}
table.type3_c td {
  border-right: 2px solid #eeeeee !important;
  border-left: none !important;
}
table.type3_c td.b_none {
  border-right: none !important;
}
ol.type2 {
  position: relative;
  margin: 0;
  padding: 0 0 10px 0 !important;
}
ol.type2 li {
  list-style: none;
  list-style-position: outside;
  margin: 0 0 10px 0;
  padding-left: 1.25em;
}
ol.type2 li span {
  position: absolute;
  left: 0;
  margin: 0;
}
/*IE6*/
*html ol.type2 li span {
  left: -1.25em;
}
.function_list {
  padding: 30px 0 30px;
}
.function_list .column_box {
  border: 2px solid #0098d8;
  overflow: inherit !important;
  text-align: center !important;
  margin-bottom: 32px;
}
.function_list .column_box h4 {
  font-family: Monotype Corsiva, Times, Serif;
  font-size: 28px;
  width: 120px;
  height: 30px;
  line-height: 40px;
  margin: -15px auto 0;
  background: #EF8200;
  color: #fff;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  padding: 0px !important;
  text-align: center !important;
  display: block;
}
.function_list .column_box p.m_text {
  text-align: center !important;
  margin: 10px 0 5px !important;
  font-weight: bold !important;
  font-size: 18px !important;
}
.function_list .column_box p {
  text-align: left !important;
  padding: 10px 15px 0px !important;
  font-size: 14px !important;
}
.function_list .column_box .box_1 {
  padding-bottom: 70px;
  background: url(images/function/function1.jpg) no-repeat center center;
}
.function_list .column_box .box_2 {
  padding-bottom: 70px;
  background: url(images/function/function2.jpg) no-repeat center center;
}
.function_list .column_box .box_3 {
  padding-bottom: 70px;
  background: url(images/function/function3.jpg) no-repeat center center;
}
.function_list .column_box .box_4 {
  padding-bottom: 70px;
  background: url(images/function/function4.jpg) no-repeat center center;
}
.function_list .column_box .box_5 {
  padding-bottom: 70px;
  background: url(images/function/function5.jpg) no-repeat center center;
}
.function_list .column_box .box_6 {
  padding-bottom: 70px;
  background: url(images/function/function6.jpg) no-repeat center center;
}
ul.form_flow {
  display: flex;
  height: 40px;
  align-items: center;
  justify-content: center;
  margin: 0 0 30px !important;
  padding: 0;
}
ul.form_flow li {
  display: inline-flex;
  justify-content: center;
  flex-basis: 33.333%;
  background: #eeeeee;
  color: #0098d8;
  list-style: none;
  padding: 0;
  margin: 0 !important;
  height: 100%;
  font-size: 16px;
  align-items: center;
  position: relative;
}
ul.form_flow li.active {
  background: #0098d8;
  color: #fff;
  position: relative;
}
ul.form_flow li.active:after {
  position: absolute;
  content: '';
  right: -40px;
  top: 0;
  z-index: 2;
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-left: 20px solid #0098d8;
}
ul.form_flow li.second.active:before {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  z-index: 3;
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-left: 20px solid #eeeeee;
}
ul.form_flow li.thaad.active:after {
  display: none;
}
ul.form_flow li.thaad.active:before {
  position: absolute;
  content: '';
  left: 0;
  top: 0;
  z-index: 3;
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-left: 20px solid #eeeeee;
}
/* ================================================================ */
/* 【MW WP Form】削除予定 - プラグイン削除後にこのブロックごと削除可能 */
/* ================================================================ */
/* ---------------------------------------------------------------- */
/* フォーム設定 */
/* ---------------------------------------------------------------- */
#form_area .error {
  margin: 0;
}
#form_area table caption {
  text-align: left;
  font-size: 16px;
  font-weight: bold;
  padding: .2em .5em;
}
#form_area table tr th,
#form_area table tr td {
  padding: .4em .5em;
  border: none !important;
}
#form_area table tr th {
  background: none;
  min-height: inherit;
  padding-top: .7em;
  text-align: left;
}
#form_area table tr td p {
  margin: 0 0 10px;
}
#form_area table.vertical {
  margin-bottom: 0;
  padding-bottom: 15px;
}
#form_area table.vertical tr th,
#form_area table.vertical tr td {
  display: block;
  width: 100%;
  max-width: none;
  margin-bottom: 15px;
}
#form_area table.vertical tr td {
  padding: 0;
}
#form_area table.vertical tr:last-child td {
  margin-bottom: 0;
}
#form_area .radio_wrap {
  margin-top: 10px;
}
#form_area .vertical-item {
  display: block !important;
}
#form_area input[type="text"],
#form_area input[type="email"],
#form_area input[type="number"],
#form_area textarea {
  padding: .5em .5em .4em;
  border: 1px solid #e7e7e7;
  margin: 0;
  background: #fefefe;
  width: 100%;
  height: 100%;
  max-width: 100%;
  overflow: hidden;
  margin-bottom: 0;
}
#form_area input[type="text"]:focus,
#form_area input[type="email"]:focus,
#form_area input[type="number"]:focus,
#form_area textarea:focus {
  background: #fff;
}
#form_area input[type="text"]+input,
#form_area input[type="email"]+input,
#form_area input[type="number"]+input,
#form_area textarea+input {
  margin-top: 10px;
}
#form_area input[type="number"].short {
  width: 60px;
}
#form_area input[type="text"],
#form_area input[type="email"] {
  width: 100%;
}
#form_area input[type="text"] .short,
#form_area input[type="email"] .short {
  max-width: 150px;
}
#form_area input[type="file"] {
  margin-bottom: 10px;
}
#form_area .mwform-tel-field input[type="text"] {
  width: auto;
}
#form_area select {
  padding: .4em 0 .3em .5em;
  margin-bottom: 5px;
  display: block;
  border-color: #e7e7e7;
}
#form_area select option {
  word-wrap: normal;
}
#form_area input[type="text"].short {
  width: 200px;
  text-align: left;
  margin-bottom: 0;
}
#form_area input[type="text"].hasDatepicker {
  padding: .8em .5em;
}
#form_area .mwform-radio-field input {
  margin-left: 15px;
}
#form_area .mwform-checkbox-field {
  display: block;
  width: 100%;
  margin: 0 0 10px 0;
  font-size: 14px;
}
#form_area .mwform-zip-field input {
  width: inherit;
}
#form_area input[type="checkbox"] {
  border: 1px solid #aaaaaa;
  vertical-align: -8px;
  -webkit-appearance: none;
  position: relative;
  margin-right: 5px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  width: 26px;
  height: 26px;
  /*Other Browser*/
  background: #e2e2e2;
  /*For Old WebKit*/
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ffffff), color-stop(1, #e2e2e2));
  /*For Modern Browser*/
  background: linear-gradient(to bottom, #ffffff 0%, #e2e2e2 100%);
}
#form_area input[type="checkbox"]:checked {
  /*Other Browser*/
  background: #b32142;
  /*For Old WebKit*/
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #b32142), color-stop(1, #b32142));
  /*For Modern Browser*/
  background: linear-gradient(to bottom, #b32142, 0%, #b32142, 100%);
  border: 1px solid #b32142;
}
#form_area input[type="checkbox"]:checked:before {
  position: absolute;
  left: 1px;
  top: 16px;
  display: block;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  content: "";
  width: 10px;
  height: 4px;
  background: #ffffff;
  -webkit-transform: rotate(45deg);
  -webkit-transform-origin: right center;
}
#form_area input[type="checkbox"]:checked:after {
  display: block;
  position: absolute;
  left: 9px;
  top: 16px;
  content: "";
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  width: 16px;
  height: 4px;
  background: #ffffff;
  -webkit-transform: rotate(-53deg);
  -webkit-transform-origin: left center;
}
#form_area .mwform-radio-field {
  display: block;
  margin: 0 0 15px 0;
}
#form_area .mwform-radio-field input {
  margin: 0;
}
#form_area .mwform-radio-field-text {
  margin-left: 10px;
}
#form_area .mwform-tel-field input {
  margin: 0 !important;
}
#form_area input[type="radio"] {
  position: relative;
  -webkit-appearance: button;
  appearance: button;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 24px;
  height: 24px;
  content: "";
  background-color: #FFFFFF;
  border: 1px solid #999999;
  -webkit-border-radius: 24px;
  border-radius: 24px;
  -webkit-box-shadow: inset 4px 4px 10px rgba(0, 0, 0, 0.2);
  box-shadow: inset 4px 4px 10px rgba(0, 0, 0, 0.2);
  vertical-align: middle;
  cursor: pointer;
}
#form_area input[type="radio"]:checked:after {
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  content: "";
  width: 12px;
  height: 12px;
  background: #00A0E9;
  -webkit-border-radius: 12px;
  border-radius: 12px;
}
#form_area .backbtn {
  font-size: 14px !important;
  max-width: 290px !important;
  width: 100% !important;
  height: 50px !important;
  border: 2px solid #EF8200 !important;
  display: block !important;
  margin: 20px auto 0px;
  text-align: center;
  line-height: 50px;
  background: #fff url(images/home/yazirusi_t2b.png) center left 25px no-repeat !important;
  color: #EF8200 !important;
  border-radius: 25px;
  -webkit-border-radius: 25px;
  -moz-border-radius: 25px;
}
#form_area .backbtn:hover {
  color: #fff !important;
  text-decoration: none !important;
  background: #EF8200 url(images/home/yazirusi_tb.png) center left 25px no-repeat !important;
  cursor: pointer;
}
#form_area .submit {
  width: 100%;
  max-width: 290px;
  height: 48px;
  line-height: 48px;
  color: #fff !important;
  background: #EF8200 url(images/home/yazirusi_t.png) center right 25px no-repeat !important;
  display: block;
  margin: 0 auto 30px !important;
  border-radius: 24px;
  /* CSS3草案 */
  -webkit-border-radius: 24px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 24px;
  /* Firefox用 */
  border: 2px solid #EF8200 !important;
}
#form_area .submit:hover {
  background: #fff url(images/home/yazirusi_t2.png) center right 25px no-repeat !important;
  color: #EF8200 !important;
  cursor: pointer;
}
#form_area .inline_wrap select {
  display: inline-block;
}
#form_area table {
  border: none !important;
}
#form_area table tr th,
#form_area table tr td {
  border: none !important;
  width: 100%;
  display: block !important;
}
@media print,
screen and (min-width: 768px) {
  #form_area table tr td p {
    margin-bottom: 10px;
  }
  #form_area input[type="text"],
  #form_area input[type="email"],
  #form_area input[type="number"],
  #form_area textarea {
    margin-bottom: 10px;
  }
  #form_area select {
    margin-bottom: 0;
  }
  #form_area .mwform-checkbox-field {
    display: inline-block;
    width: auto;
    margin: 10px 15px 10px 0;
  }
  #form_area .mwform-radio-field {
    display: inline;
    margin: 0 15px 15px 0;
  }
  #form_area .mwform-radio-field .mwform-radio-field-text {
    margin-right: 15px;
  }
  #form_area .mwform-radio-field input {
    margin: 0;
  }
  #form_area .mwform-radio-field-text {
    margin-left: 10px;
  }
  #form_area table {
    border: none !important;
  }
  #form_area table tr th,
  #form_area table tr td {
    border: none !important;
  }
}
#form_area .att {
  color: #b32142 !important;
}
#form_area ::placeholder {
  color: #ccc;
}
/* ================================================================ */
/* 【MW WP Form】ここまで */
/* ================================================================ */
.img_box_u {
  margin: 0px 0 50px !important;
  padding: 5px 0px !important;
  background: #8fd0e5;
}
.img_box_u li {
  margin: 0px !important;
  padding: 5px 10px !important;
  list-style: none !important;
}
.img_box_u li img {
  width: 100%;
}
@media print,
screen and (min-width: 768px) {
  .img_box_u {
    margin: 0px 0 50px !important;
    padding: 5px 5px !important;
    background: #8fd0e5;
  }
  .img_box_u li {
    margin: 0px !important;
    padding: 5px 5px !important;
    list-style: none !important;
    width: 33.3%;
    float: left;
  }
  .img_box_u li img {
    width: 100%;
  }
}
.q_text {
  background: url(images/faq/q_text_bg.png) no-repeat;
  padding-left: 32px;
  font-size: 16px;
  font-weight: bold;
}
.a_text {
  background: url(images/faq/a_text_bg.png) no-repeat;
  padding-left: 32px;
  font-size: 14px;
  padding-bottom: 25px;
}
.a_text .link_area a {
  margin: 0 0 30px !important;
}
.blog_box {
  width: 25% !important;
  float: left;
}
ul#foot_btn_list {
  width: 100%;
  margin: 0px;
  padding: 0px;
  position: fixed;
  bottom: 0px;
  z-index: 10;
}
.foot_b_box {
  width: 100%;
  padding-top: 22%;
}
@media (min-width: 768px) {
  ul#foot_btn_list {
    display: none !important;
  }
  .foot_b_box {
    display: none;
  }
}
ul#foot_btn_list li {
  width: 33.3%;
  margin: 0px;
  padding: 0px;
  float: left;
  list-style: none !important;
}
ul#foot_btn_list li a {
  width: 100%;
  padding-bottom: 48%;
  display: block;
  background: #1E70BB;
  border-right: 2px solid #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
ul#foot_btn_list li:nth-child(1) a {
  background: url(images/common/foot_btn1.png) no-repeat top center;
  background-size: auto 100%;
}
ul#foot_btn_list li:nth-child(2) a {
  background: url(images/common/foot_btn2.png) no-repeat top center;
  background-size: auto 100%;
}
ul#foot_btn_list li:nth-child(3) a {
  background: url(images/common/foot_btn3.png) no-repeat top center;
  background-size: auto 100%;
  border-right: nene !important;
}
.max_w_360 {
  max-width: 360px !important;
  width: 100% !important;
}
.howto_text {
  background: url(images/common/howto_text.png) no-repeat top left;
  padding-left: 32px;
  font-size: 17px;
  font-weight: bold;
}
.howto_img_box {
  padding-bottom: 30px;
}
@media print,
screen and (min-width: 768px) {
  .howto_img_box {
    width: 50%;
    float: left;
  }
  .howto_text_box {
    padding-bottom: 30px;
    width: 48%;
    float: right;
  }
}
@media print,
screen and (min-width: 1400px) {
  .howto_img_box {
    width: 360px;
    float: left;
  }
  .howto_text_box {
    padding-bottom: 30px;
    width: 755px;
    float: right;
  }
}
.sidebnr {
  position: fixed;
  top: 300px;
  right: 0px;
  z-index: 100;
  display: none;
}
@media print,
screen and (min-width: 768px) {
  .sidebnr {
    display: block;
  }
}


/* ---------------------------------------------------------------- */
/* 引用スタイル */
/* ---------------------------------------------------------------- */

html {
  box-sizing: border-box;
  width: 100%;
}
html:focus {
  outline: none;
}

article,
section {
  display: block;
}

/* レイアウト */

.container {
  margin: 0 auto;

}
@media (max-width: 767px) {
  .container {
    margin: 0 15px;
  }
}
@media (min-width: 768px) {
  .container {
    width: 720px;
  }
}

@media (min-width: 992px) {
  .container {
    width: 940px;
  }
}
@media (min-width: 1200px) {}
.clearfix:before,
.clearfix:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after {
  content: " ";
  display: table;
}
.clearfix:after,
.container:after,
.container-fluid:after,
.row:after {
  clear: both;
}

.container .main_area {
  padding: 50px 0 50px;
}


/* ----------------------------------- */
/* フォント設定 */
/* ----------------------------------- */
/* --------------------------
@font-face {
  font-family: "Hiragino Kaku Gothic ProN";
  src: local("Hiragino Kaku Gothic ProN W6");
  font-weight: 100;
}
@font-face {
  font-family: "Hiragino Kaku Gothic ProN";
  src: local("Hiragino Kaku Gothic ProN W6");
  font-weight: 200;
}
@font-face {
  font-family: "Hiragino Kaku Gothic ProN";
  src: local("Hiragino Kaku Gothic ProN W6");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Hiragino Kaku Gothic ProN";
  src: local("Hiragino Kaku Gothic ProN W6");
  font-weight: bold;
}
/* スマホ・PC切り替え */
.pc-disp {
  display: none;
}
.pc-disp2 {
  display: none;
}
.sp-disp {
  display: inherit;
}
.sp-disp2 {
  display: inherit;
}
@media (min-width: 768px) {
  .pc-disp {
    display: inherit !important;
    position: relative;
  }
  .pc-disp2 {
    display: none !important;
  }
  .sp-disp {
    display: none !important;
  }
  .sp-disp2 {
    display: inherit !important;
  }
}
@media (min-width: 768px) {
  .pc-disp2 {
    display: inherit !important;
    background: #fff;
  }
  .sp-disp2 {
    display: none !important;
  }
}
/* リンク */
/* ----------------------------------- */
a {
  color: #cf7118;
  transition: all ease-in-out 0.3s;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #cf7118;
  transition: all ease-in-out 0.3s;
  text-decoration: underline;
}
a:focus,
a:active,
a:hover {
  outline: 0;
}

#header_menu a {
  color: #333;
}

/* リンク付き画像 */
/* ----------------------------------- */
a img:hover {
  -moz-opacity: 0.8 !important;
  opacity: 0.8 !important;
  /* 透明度 */
}
a:active {
  text-decoration: none;
}
.entry-meta .edit-link a,
.commentlist .edit-link a {
  background: #eee;
  -moz-border-radius: 3px;
  border-radius: 3px;
  color: #666;
  float: right;
  font-size: 12px;
  line-height: 1.5em;
  font-weight: 300;
  text-decoration: none;
  padding: 0 8px;
}
.entry-content .edit-link {
  clear: both;
  display: block;
}
/* イメージ */
/* ----------------------------------- */
img {
  max-width: 100%;

}
.comment-content img,
.widget img {
  max-width: 100%;
}
img[class*="align"],
img[class*="wp-image-"],
img[class*="attachment-"] {
  height: auto;
}
.entry-content img.wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}
img.alignleft,
img.alignright,
img.aligncenter {
  margin-bottom: 30px;
}
img.alignleft {
  display: inline;
  float: left;
  margin-right: 20px;
}
img.alignright {
  display: inline;
  float: right;
  margin-left: 20px;
}
img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
#content .gallery {
  margin: 0 auto 1em;
}
#content .gallery a img {
  border: none;
}
img#wpstats {
  display: block;
  margin: 0 auto 1em;
}
/* ----------------------------------- */
/* ギャラリー */
/* ----------------------------------- */
.gallery {
  margin-bottom: 1.6em;
}
.gallery dl {
  margin: 0;
}
.gallery-item {
  display: inline-block;
  padding: 1.79104477%;
  text-align: center;
  vertical-align: top;
  width: 100%;
}
.gallery-columns-2 .gallery-item {
  max-width: 50%;
}
.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}
.gallery-columns-4 .gallery-item {
  max-width: 25%;
}
.gallery-columns-5 .gallery-item {
  max-width: 20%;
}
.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}
.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}
.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}
.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}
.gallery-icon img {
  margin: 0 auto;
}
.gallery-caption {
  color: #707070;
  color: rgba(51, 51, 51, 0.7);
  display: block;
  font-family: "Noto Sans", sans-serif;
  font-size: 12px;
  line-height: 1.5;
  padding: 0.5em 0;
}
.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
  display: none;
}
/* キャプション */
/* ----------------------------------- */
.wp-caption {
  max-width: 100%;
}
.wp-caption img {
  border-color: #eee;
}
/* Make sure videos and embeds fit their containers */
/* ----------------------------------- */
embed,
iframe,
object {
  max-width: 100%;
}
/* ボタン */
/* ----------------------------------- */
.btn {
  clear: both;
  display: block;
  width: 80px;
  height: 80px;
  margin: 20px auto 0;
  font-size: 14px;
  text-align: center;
  background: url(images/common/more_blue.png) 80px/80px;
}

.btn:hover {
  background: url(images/common/more_yellow.png) 80px/80px;
  text-decoration: none;
}
.btn:hover:before {
  color: #fff;
  border-color: #fff;
}
.btn a {
  color: #69a3d8;
}
.more_short {
  width: 100%;
}
@media (min-width: 768px) {
  .btn_short {
    max-width: 300px;
  }
  .more_short {
    max-width: 90px;
    margin-left: auto;
    margin-right: auto;
  }
}
.pinkbtn a {

  background-image: url(images/common/btn_pink.png);

}
.orangebtn a {

  background-image: url(images/common/btn_orange.png);

}

/* ----------------------------------- */
/* パンくず */
/* ----------------------------------- */
.breadcrumbs {
  clear: both;
  background: var(--accent-color2);
  padding: 3px 0;
  margin: 0;
  font-size: 12px;
  color: var(--main-color);
  overflow: hidden;
}
.breadcrumbs .breadcrumbs_list {
  margin: 0;
}
.breadcrumbs .breadcrumbs_list ul {
  display: flex;
  list-style: none;
}
.breadcrumbs .breadcrumbs_list ul li+li:before {
  content: "\f105";
  font-family: fontawesome;
  font-size: 16px;
  padding: 0 5px;
  align-items: center;
}
.breadcrumbs a {
  font-size: 12px;
  text-decoration: none;
  color: var(--text-color);
  padding: 0;
}
.breadcrumbs a:hover {
  color: var(--link-color);
}

.breadcrumbs_list .arrow {
  height: 18px;
  width: auto;
  margin: 0 5px;
}

/* ----------------------------------- */
/* ヘッダー */
/* ----------------------------------- */
#header {
  width: 100%;
  display: block;
  background: #fff;
}
#header.fixed_header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
}
#header.fixed_header+main {
  margin-top: 50px;
}
#header.fixed_header #header_upper {
  display: none;
}
#header #header_upper {
  height: auto;
  background: #fff;
  overflow: hidden;
}
#header #header_upper #header_read_text {
  padding: 0;
  margin: 0;
}
#header #header_upper #header_read_text h1 {
  font-size: 12px;
  font-weight: normal;
  color: #333;
  line-height: 1.2;
  margin: 15px 0 0;
  padding: 0;
  align-items: flex-end;
  display: flex;
}
@media (max-width: 767px) {
  #header #header_upper #header_read_text h1 {
    height: auto;
    padding: 4px 0;
  }
}
#header #header_upper #header_menu {
  display: none;
}
#header #header_main {
  height: 80px;
  position: relative;
  margin-top: 15px;
}
#header #header_main .header_main_inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
#_header #header_main #logo_area {
  width: 127px;
  height: 96px;
  display: inline-flex;
}
#header #header_main #logo_area a {
  display: block;
  height: 50px;
  width: auto;
}

#header #navi_sp {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  margin-left: auto;

}
#header #navi_sp img {
  background: #69a3d8;
}
#header #navi_sp img:hover {
  background: #f58e7e;
}
.hdr_upper {
  display: flex;
}
.hdr_tel {
  display: flex;
  justify-content: right !important;
  width: auto;
  margin-left: 98px;
  /*right: 0;
  margin: 0 0 0 -67px;*/
}
.hdr_tel a {
  color: var(--main-color);
}
.hdr_tel a:not(:first-child) {
  margin: 0 0 0 10px;
}
.hdr_time {
  color: var(--main-color);
  font-size: 12px;
  margin: 0 10px 0 0;
  text-align: left;
  align-items: center;
  line-height: 1.2;
}

.hdr_form {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 14px;
  line-height: 1.5;
  font-weight: normal;
  touch-action: manipulation;
  text-decoration: none;
  transition: 0.3s ease-in;
  position: relative;
  border: 1px solid var(--text-color);
  border-radius: 8px;
  color: var(--text-color);
  background: var(--base-background);
  padding: 12px 23px 10px 10px;
}

.hdr_form.yellow {
  background-color: #f5d85a;
}

.hdr_form::after {
  position: absolute;
  content: "\f105";
  font-family: FontAwesome;
  color: var(--text-color);
  right: 10px;
  font-size: 20px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  display: flex;
  align-items: center;
}
.hdr_form:hover {
  border: 1px solid var(--main-color);
  color: #fff;
  background: var(--main-color);
  text-decoration: none;
}
.hdr_form:hover::after {
  color: #fff;
}

/* アクセントボタン(共通レイアウト) */
.PostPage .accent-btn-yellow,
.PostPage .accent-btn-black,
.PostPage .accent-btn-blue,
.PostPage .accent-btn-pink,
.PostPage .accent-btn-green {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-size: 14px;
  line-height: 1.5;
  touch-action: manipulation;
  text-decoration: none !important;
  transition: 0.3s ease-in;
  position: relative;
  border-width: 1px;
  border-style: solid;
  border-radius: 8px;
  padding: 12px 23px 10px 10px;
}
.PostPage .accent-btn-yellow::after,
.PostPage .accent-btn-black::after,
.PostPage .accent-btn-blue::after,
.PostPage .accent-btn-pink::after,
.PostPage .accent-btn-green::after {
  position: absolute;
  content: "\f105";
  font-family: FontAwesome;
  right: 10px;
  font-size: 20px;
  top: 50%;
  transform: translateY(-50%);
  text-decoration: none !important;
}

/* 黄色→黒(既存のヘッダーと同系色) */
.accent-btn-yellow {
  background-color: #f5d85a;
  border-color: #f5d85a;
  color: #333;
}
.accent-btn-yellow::after {
  color: #333;
}
.accent-btn-yellow:hover {
  background-color: #333;
  border-color: #333;
  color: #fff;
}
.accent-btn-yellow:hover::after {
  color: #fff;
}

/* 黒→黄色 */
.accent-btn-black {
  background-color: #333;
  border-color: #333;
  color: #fff;
}
.accent-btn-black::after {
  color: #fff;
}
.accent-btn-black:hover {
  background-color: #fff;
  border-color: #DFDFDF;
  color: #333;
}
.accent-btn-black:hover::after {
  color: #333;
}

/* 薄い青→白(文字・線は濃い青) */
.accent-btn-blue {
  background-color: #e3edfa;
  border-color: #e3edfa;
  color: #1c4e8a;
}
.accent-btn-blue::after {
  color: #1c4e8a;
}
.accent-btn-blue:hover {
  background-color: #fff;
  border-color: #1c4e8a;
  color: #1c4e8a;
}
.accent-btn-blue:hover::after {
  color: #1c4e8a;
}

/* 薄いピンク→白(文字・線は濃いオレンジ) */
.accent-btn-pink {
  background-color: #fbe4e9;
  border-color: #fbe4e9;
  color: #c1440e;
}
.accent-btn-pink::after {
  color: #c1440e;
}
.accent-btn-pink:hover {
  background-color: #fff;
  border-color: #c1440e;
  color: #c1440e;
}
.accent-btn-pink:hover::after {
  color: #c1440e;
}

/* 薄い緑→白(文字・線は濃い緑) */
.accent-btn-green {
  background-color: #c9e5ce;
  border-color: #c9e5ce;
  color: #1b6b3c;
}
.accent-btn-green::after {
  color: #1b6b3c;
}
.accent-btn-green:hover {
  background-color: #fff;
  border-color: #1b6b3c;
  color: #1b6b3c;
}
.accent-btn-green:hover::after {
  color: #1b6b3c;
}

.pc_burger {

  position: absolute;
  right: 0;
  bottom: 0;
  width: 35px;
  height: 35px;

}

@media (min-width: 768px) {

  #header #navi_sp {

    transition: 0;
  }

  #header #header_upper .header_upper_inner {
    display: flex;
  }
  #header #header_upper #header_read_text {
    display: inline-flex;
  }

  #header #header_upper #header_menu {
    height: 100%;
    display: inline-flex;
    margin-left: auto;
  }
  #header #header_upper #header_menu ul {
    margin: 0 0 0 auto;
    padding: 0;
    display: flex;
    font-size: 12px;
  }
  #header #header_upper #header_menu ul li {
    padding: 0;
    margin: 0 0 0 30px;
    list-style: none;
    display: inline-flex;
    align-items: center;
  }
  #header #header_upper #header_menu ul li a:hover {
    opacity: .8;
  }
  #header #header_main .header_main_inner {
    height: 160px;
    display: flex;
  }
  /*  #header #header_main #logo_area {
    width: 260px;
	height: 50px;
  } */
  #header #header_main #header_subnavi {
    display: inline-flex;
    align-items: center;
    height: 100%;
  }
  #header #header_main #header_subnavi ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0;
    padding: 0 0 0 15px;
    height: 40px;
    border-left: 1px solid #737373;
  }
  #header #header_main #header_subnavi ul li {
    list-style: none;
  }
  #header #header_main #header_subnavi ul li+li:before {
    content: "|";
    display: inline;
    padding: 0 10px;
  }
  #header #header_main #header_subnavi ul li a {
    font-size: 16px;
    color: #333;
  }
  #header #header_main #header_subnavi ul li a:hover {
    color: #69a3d8;
  }
  #header #header_main #header_sub {
    display: flex;
    flex-basis: 445px;
    justify-content: space-between;
    align-items: center;
    margin-left: auto;
  }

  .hdr_left {
    position: absolute;
    left: 15px;
    top: 48px;
    width: 205px;
  }


  .hdr_right {
    position: absolute;
    right: 45px;
    display: flex;
    flex-wrap: wrap;
    justify-content: end;
  }

  .hdr_right ul {
    list-style: none;
    margin: 10px 0 0 0;
    padding: 0;
    display: flex;
  }

  .hdr_right ul li {
    display: inline;
    list-style: none;
  }

  .hdr_right ul li+li {
    padding-left: 10px;
  }

  .hdr_right ul li img {
    width: 68px;
    height: auto;
  }
}
.hdr_logo {
  position: absolute;
  margin: auto;
}
@media (min-width: 992px) {
  .hdr_logo {
    position: absolute;
    left: 0;
    top: 10px;
    margin: auto;
  }
}

@media (max-width: 991px) {
  .hdr_logo {
    top: 10px;
  }
}

@media (max-width: 767px) {
  #header #header_main {
    height: 90px;
    position: relative;
  }

  .spmenu {
    width: 50px;
    height: 50px;
    position: absolute;
    right: 15px;
    margin: 5px 0;
  }
  .hdr_logo {
    top: 0;
  }
}

/* ----------------------------------- */
/* ロゴ */
/* ----------------------------------- */

/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }

  .pclogo {
    height: 50px;
    width: auto;
  }

  .splogo {
    height: 60px;
    margin: 10px 0 0 0;
    position: absolute;
    left: 15px;
  }

  .spmenu img {
    width: 50px;
    height: auto;
  }
}
/* ----------------------------------- */
/* メインナビ */
/* ----------------------------------- */
/* SP */

#nav-drawer {
  position: absolute;
  top: 5px;
  right: 0;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display: none;
}

/*アイコンのスペース*/
#nav-open {
  /*! display: inline-block; */
  width: 50px;
  height: 50px;
  vertical-align: middle;
}
#nav-open img {

  width: 50px;
  height: 50px;

}
/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span,
#nav-open span:before,
#nav-open span:after {
  position: absolute;
  height: 3px;
  /*線の太さ*/
  width: 50px;
  /*長さ*/
  border-radius: 3px;
  background: #555;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;
  /*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;
  /*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 9999;
  /*最前面に*/
  width: 90%;
  /*右側に隙間を作る*/
  max-width: 330px;
  /*最大幅*/
  height: 100%;
  background: #fff;
  /*背景色*/
  transition: .3s ease-in-out;
  /*滑らかに表示*/
  -webkit-transform: translateX(-105%);
  transform: translateX(100%);
  /*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked~#nav-close {
  display: block;
  /*カバーを表示*/
  opacity: .5;
}

#nav-input:checked~#nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  /*中身を表示*/
  box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
}
#main_navi_area {
  display: none;
}


#nav-content ul>li {
  list-style: none;
  position: relative;
  margin: 0 0 10px 0;
  padding: 0 5px 10px;
  border-bottom: 1px dashed var(--accent-color);
}
/*#nav-content ul > li:after {
content: ' ';
background: url(images/common/line.png) repeat;
    background-size: auto auto;
background-size: contain;
vertical-align: middle;
position: absolute;
height: 2px;
width: 100%;
border: none;
right: 0;
left: 0;
bottom: 0;
margin: 0 auto;
}*/
#nav-content ul {
  padding: 0 20px 20px 20px;
}
#nav-content ul>li a {
  margin: 0 0 0 10px;
  color: var(--main-color);
}
#nav-content .menutitle {
  text-align: center;
  font-size: 18px;
  margin: 30px 0;
}
#nav-content img {

  width: 20px;
  vertical-align: -4px;
}

/* reset */
button {
  background: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

ul {
  margin: 0;
  padding: 0;
}

li,
p {
  margin: 0;

}


.regularul ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.regularul li {
  margin: 0;
  padding: 0 0 0 20px !important;
  position: relative;
  font-size: 16px !important;
}
.regularul ul li:before {
  content: '●';
  color: #579BBC;
  padding-right: 10px;
  position: absolute;
  top: 4px;
  left: 0;
  font-size: 12px !important;
}
ol {
  margin: 0px;
  padding: 0 0 0 20px;
}

/* reset

button {
  display: block;
  cursor: pointer; 
}*/
#nav-content ul .submenu>li {
  /* 閉じている状態 */
  border-top: 0 white solid;
  padding-top: 0;
  padding-bottom: 0;
  /* 閉じるアニメーション */
  transition:
    border-top .3s ease-out,
    padding-top .3s ease-out,
    padding-bottom .3s ease-out;
}
#nav-content ul .submenu {
  padding: 0 0 10px 20px;
}
#nav-content ul .submenu>li {
  /* 開いている状態 */
  /* 開くアニメーション */
  transition:
    border-top .3s ease-out,
    padding-top .3s ease-out,
    padding-bottom .3s ease-out;
}
#nav-content ul .submenu>li>p {
  /* 閉じている状態 */
  line-height: 0;
  opacity: 0;
  visibility: hidden;
  /* 閉じるアニメーション */
  transition:
    line-height .3s ease-out,
    opacity .1s linear,
    visibility .1s linear;
}
#nav-content ul .submenu>li>p {
  /* 開いている状態 */
  line-height: 1.5;
  opacity: 1;
  visibility: visible;
  /* 開くアニメーション */
  transition:
    line-height .3s ease-out,
    opacity .1s linear .1s,
    visibility .1s linear .1s;
}



/* PC */
@media (min-width: 768px) {
  #main_navi_area {
    display: block;
  }
  #main_navi_area #main_navi {
    padding: 0;
    height: 20px;
    max-width: 940px;
    margin: 30px 0 10px 0;
  }
  #main_navi_area #main_navi ul {
    margin: 0;
    padding: 0;
    width: 100%;
    position: relative;
    height: 20px;
    display: flex;
    align-items: center;
    border-left: 1px solid var(--main-color);
    border-right: 1px solid var(--main-color);
  }
  #main_navi_area #main_navi ul>li {
    display: inline-flex;
    position: relative;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    height: 100%;
    flex: 1 2 auto;
    text-align: center;
  }
  #main_navi_area #main_navi ul>li+li {
    border-left: 1px solid var(--main-color);
  }

  #main_navi_area #main_navi ul>li a {
    font-size: 14px;
    line-height: 1.2;

    display: block;
    text-align: center;
    margin: 0 auto;
    padding: 0;
    color: var(--main-color);
  }
  #main_navi_area #main_navi ul>li a span {
    display: block;
    font-size: 12px;
  }
  #main_navi_area #main_navi ul>li a:hover {
    transition: 1s;
  }
  #main_navi_area #main_navi ul>li.current-menu-item>a {
    color: #69a3d8 !important;
  }
  #main_navi_area #main_navi ul li ul.sub-menu {
    position: absolute;
    top: 20px;
    left: 0;
    display: block;
    opacity: 0;
    z-index: 5;
    transition: 0.3s ease-in;
    margin: 0;
    background: #fff;
    height: 0;
  }
  #main_navi_area #main_navi ul li ul.sub-menu li:hover {
    transition: 0.3s ease-in;
    height: auto;
  }
  #main_navi_area #main_navi ul li ul.sub-menu li {
    overflow: hidden;
    padding: 0;
    margin: 0;
    height: auto;
    text-align: center;
    transition: 0.1s ease-in;
    border-right: none;
    width: 100px;
    height: 0px;
  }
  #main_navi_area #main_navi ul li ul.sub-menu li a {
    padding: 0;
    margin: 0;
  }
  #main_navi_area #main_navi ul li ul.sub-menu li a:hover {
    transition: 0.3s ease-in;
  }
  #main_navi_area #main_navi ul li:hover ul.sub-menu {
    z-index: 5;
    height: auto;
    opacity: 1;
    width: auto;
    border: none;
  }
  #main_navi_area #main_navi ul li:hover ul.sub-menu li {
    height: auto;
    margin: 0;
    width: 100%;
    display: block;
    border-bottom: 1px solid var(--accent-color2);
    border-left: none;
  }
  #main_navi_area #main_navi ul li:hover ul.sub-menu li a {
    width: 110px;
    font-size: 12px;
    text-align: center;
    padding: 10px 0;
  }
  #main_navi_area #main_navi ul li:hover ul.sub-menu li a:hover {
    transition: 0.3s ease-in;
  }
  #main_navi_area #main_navi ul li:hover ul.sub-menu li:last-of-type a {
    border-bottom: none;
  }
  #main_navi_area #main_navi ul li.current-menu-item>a {
    color: #69a3d8 !important;
  }
  #main_navi_area #main_navi ul li.current-menu-item>a ul.sub-menu>a {
    color: #69a3d8 !important;
    background: #fff;
    opacity: 1;
  }
  #main_navi_area #main_navi ul li.current-menu-item>a ul.sub-menu>a:hover {
    color: #fff !important;
  }
  #main_navi_area #main_navi ul li.current-menu-parent>ul li.current-menu-item a {
    color: #69a3d8 !important;
    background: #fff;
  }
}
/* ページトップ ボタン*/
#pagetopArea {
  z-index: 1;
}
#pagetopArea a {
  font-size: 20px;
  font-weight: 100;
  text-align: center;
  width: 100%;
  height: 30px;
  display: block;
  color: var(--main-color);
  line-height: 1;
  border-top: 1px solid var(--main-color);
  border-bottom: 1px solid var(--main-color);
  padding: 5px 0 0 0;
}
#pagetopArea a:hover {
  color: #fff;
  border-top: 1px solid var(--main-color);
  border-bottom: 1px solid var(--main-color);
  background: var(--main-color);
}
/* ----------------------------------- */
/* フッター */
/* ----------------------------------- */
#footer {
  /*! margin-bottom: 60px; */
  padding-bottom: 20px;
}
#footer .footer_inner {
  padding: 60px 0;
}
#footer .footer_inner #footer_main .footer_logo img {
  width: auto;
  height: 60px;
}
#footer .footer_inner #footer_main .footer_company {
  flex-basis: 100%;
}
#footer .footer_inner #footer_main .footer_company a {
  max-width: inherit;
  text-decoration: none;
}

#footer .footer_inner #footer_main .footer_logo {
  flex-basis: 200px;
}
#footer .footer_inner #footer_main .footer_company {
  flex-basis: 300px;
  margin-left: 30px;
}
#footer .footer_inner #footer_main p {
  font-size: 14px;
}
#footer .footer_inner #footer_main .btn_wrap a {
  background-color: #155432;
  color: #fff;
  margin-bottom: 0;
}
#footer .footer_inner #footer_main .btn_wrap a .icon-arrow:before {
  position: absolute;
  top: 16px;
  right: 10px;
}
#footer .footer_inner #footer_main .btn_wrap a:hover {
  background-color: #fff;
  color: #155432;
}
#footer .footer_inner #footer_navi_area {
  display: none;
}
#footer .copyright {
  width: 100%;
  background-color: var(--base-background);
  color: var(--text-color);
  font-size: 12px;
  height: 80px;
  padding-top: 30px;
}
#footer .copyright p {
  margin: 0;
  text-align: center;
}
@media (min-width: 768px) {
  #footer .footer_inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-size: 14px;
    line-height: 1.6;
  }
  #footer .footer_inner #footer_main {
    flex-basis: 100%;
    width: 100%;
    margin-bottom: 60px;
    display: flex;
  }
  #footer .footer_inner #footer_main a {
    margin: 0 0 30px;
  }
  #footer .footer_inner #footer_navi_area {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    flex-basis: 100%;
  }
  #footer .footer_inner #footer_navi_area .footer_navi {
    border-left: 1px solid #333333;
    padding: 5px 5px 5px 0px;
    flex-basis: 24%;
  }

}
@media screen and (min-width:768px) and (max-width:991px) {
  #footer .footer_inner #footer_navi_area .footer_navi {
    flex-basis: 100%;
  }
}

#footer .footer_inner #footer_navi_area .footer_navi ul {
  padding: 0;
  margin: 0;
}
#footer .footer_inner #footer_navi_area .footer_navi ul li {
  list-style-type: none;
  padding: 0 0 0 20px;
  position: relative;
}
#footer .footer_inner #footer_navi_area .footer_navi ul li a {
  color: var(--main-color);
}
#footer .footer_inner #footer_navi_area .footer_navi ul li a::before {
  content: "\f105";
  font-family: FontAwesome;
  display: inline-block;
  width: 5px;
  height: 8px;
  position: absolute;
  left: 10px;
  top: -2px;
  font-size: 16px;
}
#footer .footer_inner #footer_navi_area .footer_navi ul.sub-menu li a {
  padding-left: 10px;
}
#footer .footer_inner #footer_navi_area .footer_navi ul.sub-menu li a::before {
  content: "-";
  padding: 0 0 0 12px;
}
#footer .footer_inner #footer_navi_area .footer_navi:last-child {
  padding-right: 0;
}
}
@media (min-width: 992px) {
  #footer {
    margin-bottom: 0;
  }
  #footer .footer_inner #footer_main {
    display: flex;
    flex-wrap: wrap;
  }
  #footer .footer_inner #footer_navi_area {
    display: flex;
    flex-basis: 100%;
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  #footer .footer_inner #footer_main .footer_company {
    margin: 20px 0 0 0px;
  }
}



/* ----------------------------------- */
/* CTA固定ボタン */
/* ----------------------------------- */

/*右下固定*/
.fixcta_w {}
#fixcta img {
  display: block;
  width: 60px;
  margin: 10px 0 0 0;
}
#fixcta {
  position: fixed;
  bottom: 150px;
  width: 100%;
  height: 0px;
  z-index: 3;
}
#fixcta .ctabtn {
  float: right;
  margin-right: 5px;


}

/*下部固定*/
#fixedBtnSpArea {
  width: 100%;
  opacity: 0;
  z-index: 9;
  position: fixed;
  bottom: -60px;
  transition: .6s;
  background-color: #FAE9C8;
}
#fixedBtnSpArea.fixedsp {
  opacity: 1;
  transition: .6s;
  bottom: 0;
}
#fixedBtnSpArea #fixedBtnSp ul {
  margin: 0 0 0 0;
  padding: 0;
  height: 60px;
  width: 100%;
  overflow: hidden;
  display: flex;
}
#fixedBtnSpArea #fixedBtnSp ul li {
  list-style: none;
  flex-basis: 100%;
  position: relative;
}
#fixedBtnSpArea #fixedBtnSp ul li img {
  height: 20px;
  width: auto;
  position: absolute;
  top: 10px;
  right: 0;
  left: 0;
  margin: 0 auto;
}
#fixedBtnSpArea #fixedBtnSp ul li img.contact_icon {
  height: 16px;
  top: 12px;
}
#fixedBtnSpArea #fixedBtnSp ul li a {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  color: #333;
  justify-content: center;
  align-items: stretch;
  margin: 0;
  padding: 39px 4px 0;
  font-size: 12px;
  font-weight: bold;
  text-decoration: none;
}
/* #fixedBtnSpArea #fixedBtnSp ul li a:hover {
  background-color: #fdd157;
  color: #fff;
} */
/*#fixedBtnSpArea #fixedBtnSp ul li:nth-of-type(1) a {
  background: url(images/common/cta_icon_01.png) no-repeat center 10px;
}
#fixedBtnSpArea #fixedBtnSp ul li:nth-of-type(2) a {
  background: url(images/common/cta_icon_02.png) no-repeat center 10px;
} */
#fixedBtnSpArea #fixedBtnSp ul li+li {
  border-left: 1px solid #fff;
}
@media print,
screen and (min-width: 768px) {
  #fixedBtnSpArea {
    display: none !important;
  }
}
#sideCtaArea {
  display: none;
}
@media print,
screen and (min-width: 768px) {
  #sideCtaArea {
    display: block;
    position: fixed;
    right: 0;
    top: 170px;
    width: 60px;
    height: 150px;
    z-index: 5;
  }
  #sideCtaArea a:hover {
    opacity: .8;
  }
}
/* ---------------------------------------------------------------- */
/* サイドバー  */
/* ---------------------------------------------------------------- */
#side .widget-area {
  display: none;
}
@media (min-width: 992px) {
  #side .widget-area {
    display: block;
  }
  #side h3 {
    font-size: 18px;
    font-weight: bold;
    color: #383838;
    margin: 15px 0 5px !important;
  }
  #side .widget_sp_image {
    margin-bottom: 10px;
  }
  #side .widget_sp_image h3 {
    display: none;
  }
  #side .widget_sp_image img {
    width: 100%;
    height: auto;
  }
  #side .widget_nav_menu ul {
    margin: 0;
    padding: 0;
  }

  #side .widget_nav_menu ul li {
    list-style: none;
    display: block;
    font-size: 14px;
    border-bottom: 1px solid #fff;
    position: relative;
  }
  #side .widget_nav_menu ul li:after {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    border-radius: 1px;
    content: "";
    height: 8px;
    right: 8px;
    width: 8px;
    position: absolute;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    top: 18px;
  }
  #side .widget_nav_menu ul li a {
    padding: 10px 5px 10px 10px;
    width: 100%;
    display: block;
    font-size: 14px;
    color: #fff;
    background: #27313d;
  }
  #side .widget_nav_menu ul li a:hover {
    background: #4f5f6b;
  }
  #side .widget_nav_menu ul li ul {
    border-bottom: 1px solid #ccc;
  }
  #side .widget_nav_menu ul li ul li {
    border-bottom: 1px solid #ccc;
  }
  #side .widget_nav_menu ul li ul li:after {
    border-right: 2px solid #ccc;
    border-top: 2px solid #ccc;
    top: 13px;
  }
  #side .widget_nav_menu ul li ul li a {
    color: #383838;
    padding: 5px 5px 5px 10px;
    background: #fff;
  }
  #side .widget_nav_menu ul li ul li a:hover {
    color: #fff;
  }
  #side .widget_nav_menu ul li ul li:last-child {
    border: none;
  }
  #side .widget_text img {
    margin-bottom: 10px;
  }
  #side .widget_text p {
    font-size: 13px;
    margin-bottom: 15px;
  }
  #side .widget_text a.btn {
    background: #5DB9B9;
    font-size: 16px;
    display: block;
    width: 100%;
    padding: 7px 0;
    text-align: center;
    color: #fff;
    position: relative;
  }
  #side .widget_text a.btn:after {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    border-radius: 1px;
    content: "";
    height: 10px;
    right: 10px;
    width: 10px;
    position: absolute;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    top: 14px;
  }
  #side .widget_text a.btn:hover {
    background: #40aaef;
  }
  #side #side_archives ul {
    padding: 0 0 0 0;
  }
  #side #side_archives ul li {
    list-style: none;
    position: relative;
    line-height: 1.6;
    padding: 0 0 0 2em;
    margin-bottom: 20px;
  }
  #side #side_archives ul li:before {
    border-right: 2px solid #5ebaba;
    border-top: 2px solid #5ebaba;
    border-radius: 2px;
    content: "";
    height: 10px;
    left: 0;
    top: 5px;
    position: absolute;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    width: 10px;
  }
  #side #side_archives ul li>ul {
    margin-top: 20px;
  }
}
@media (min-width: 1200px) {
  #side .widget_nav_menu ul {
    margin: 0;
    padding: 0;
  }
  #side .widget_nav_menu ul li {
    list-style: none;
    display: block;
    font-size: 16px;
    border-bottom: 1px solid #fff;
    position: relative;
  }
  #side .widget_nav_menu ul li a {
    width: 100%;
    font-size: 16px;
  }
  #side .widget_nav_menu ul li ul {
    border-bottom: 1px solid #ccc;
  }
  #side .widget_nav_menu ul li ul li {
    border-bottom: 1px solid #ccc;
  }
  #side .widget_nav_menu ul li ul li:after {
    border-right: 2px solid #ccc;
    border-top: 2px solid #ccc;
    top: 14px;
  }
  #side .widget_nav_menu ul li ul li a {
    color: #383838;
    background: #fff;
  }
  #side .widget_nav_menu ul li ul li:last-child {
    border: none;
  }
  #side .widget_text p {
    font-size: 16px;
    margin-bottom: 15px;
  }
}
/* ---------------------------------------------------------------- */
/* メインスライダー  */
/* ---------------------------------------------------------------- */

#sliderarea {}

.pc_slider {
  clear: both;
  margin: 20px auto 0;
}

@media (min-width: 992px) {
  .pc_slider {
    width: 1200px;
    position: relative;
  }
}

@media (max-width: 767px) {
  .pc_slider {
    display: none;
  }
}
.sliderarrow_right {
  position: absolute;
  top: 47%;
  right: 10px;
}
.sliderarrow_left {
  position: absolute;
  top: 47%;
  left: 10px;
}

.pc_slider .mask,
.sp_slider .mask {
  width: 100%;
  font-size: 30px;
  color: #fff;
  opacity: 0;
}

.pc_slider:hover .mask,
.sp_slider:hover .mask {
  opacity: 1;
}

@media (min-width: 768px) {
  .sp_slider {
    display: none;
  }
}


/* ---------------------------------------------------------------- */
/* HOME  */
/* ---------------------------------------------------------------- */

#main {
  padding: 0 0 60px 0;
}

#indexPage {
  position: relative;
}
#indexPage #main_contents #about_area {
  margin-bottom: 60px;
}
#indexPage #main_contents #about_area h2 {
  text-align: center;
  margin: 0 0 60px;
  padding: 0;
}
#indexPage #main_contents #about_area h2 img {
  max-width: 350px;
  width: 100%;
}
#indexPage #main_contents #about_area h3 {
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
  text-align: center;
  color: #333333;
  font-size: 24px;
  margin: 0 0 60px;
}
#indexPage #main_contents #about_area p {
  text-align: center;
  font-size: 14px;
  margin: 0 0 60px;
}
#indexPage #main_contents #about_area ul {
  display: flex;
  flex-direction: column;
  margin: 0 0 60px;
  padding: 0;
  width: 100%;
}
#indexPage #main_contents #about_area ul li {
  list-style: none;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
  font-size: 50px;
  text-align: center;
  line-height: 1.1;
  color: #4f5f6b;
  border-bottom: 1px solid #69a3d8;
  padding: 30px 0;
  margin: 0;
}
#indexPage #main_contents #about_area ul li span {
  display: block;
  font-size: 24px;
  color: #a7afb5;
}
#indexPage #main_contents #works_area {
  background: url(images/common/backline.png);
  padding: 90px 0 60px;
  position: relative;
  background-size: 20px;
}
#indexPage #main_contents #works_area h2 {
  text-align: center;
  font-size: 30px;
  color: #4f5f6b;
  line-height: 1.2;
  font-weight: 500;
  margin: 0 0 60px;
}
#indexPage #main_contents #works_area h2 span {
  display: block;
  font-size: 12px;
  color: #69a3d8;
}
#indexPage #main_contents #works_area #works_post_wrap {
  display: flex;
  flex-direction: column;
}
#indexPage #main_contents #works_area #works_post_wrap .works_box {
  position: relative;
  margin-bottom: 30px;
  overflow: hidden;
  display: block;
  transition: .3s;
}
#indexPage #main_contents #works_area #works_post_wrap .works_box a {
  display: block;
  width: 100%;
  height: auto;
}
#indexPage #main_contents #works_area #works_post_wrap .works_box img {
  width: 100%;
  height: auto;
}
#indexPage #main_contents #works_area #works_post_wrap .works_box time {
  position: absolute;
  width: 70px;
  height: 70px;
  top: 0;
  left: 0;
  background: #fff;
  color: #333;
  padding: 10px;
  z-index: 1;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
#indexPage #main_contents #works_area #works_post_wrap .works_box .works_title_wrap {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 60px;
  display: flex;
  padding: 0 15px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #353636), color-stop(0.49, #9a9ea1), color-stop(0, #ffffff));
  background: -webkit-linear-gradient(top, #ffffff 0%, #9a9ea1 49%, #353636 100%);
  background: -moz-linear-gradient(top, #ffffff 0%, #9a9ea1 49%, #353636 100%);
  background: -o-linear-gradient(top, #ffffff 0%, #9a9ea1 49%, #353636 100%);
  background: -ms-linear-gradient(top, #ffffff 0%, #9a9ea1 49%, #353636 100%);
  background: linear-gradient(to bottom, #ffffff 0%, #9a9ea1 49%, #353636 100%);
  justify-content: center;
  align-items: center;
  opacity: .8;
}
#indexPage #main_contents #works_area #works_post_wrap .works_box .works_title_wrap p {
  margin: 0;
  padding-bottom: 5px;
  color: #fff;
  display: inline-flex;
  align-self: center;
}
#indexPage #main_contents #link_area {
  padding: 90px 0;
}
#indexPage #main_contents #link_area .column2 {
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
#indexPage #main_contents #link_area .column2 li {
  list-style: none;
  display: inline-flex;
  flex-basis: 100%;
  width: 100%;
  height: auto;
}
#indexPage #main_contents #link_area .column2 li a {
  position: relative;
  width: 100%;
  height: 100%;
  font-size: 20px;
  display: block;
  color: #fff;
}
#indexPage #main_contents #link_area .column2 li a span {
  position: absolute;
  display: inline-flex;
  z-index: 1;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
}
#indexPage #main_contents #link_area .column2 li a img {
  filter: brightness(60%);
  z-index: 0;
  width: 100%;
  height: auto;
  transition: 0.3s ease-in;
}
#indexPage #main_contents #link_area .column2 li a:hover img {
  filter: brightness(100%);
}
#indexPage #main_contents #link_area .column3 {
  margin: 0;
  padding: 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
#indexPage #main_contents #link_area .column3 li {
  list-style: none;
  display: inline-flex;
  flex-basis: 100%;
  width: 100%;
  height: auto;
}
#indexPage #main_contents #link_area .column3 li a {
  position: relative;
  width: 100%;
  height: 100%;
  display: block;
  color: #fff;
  font-size: 20px;
}
#indexPage #main_contents #link_area .column3 li a span {
  position: absolute;
  display: inline-flex;
  z-index: 1;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
  width: 100%;
}
#indexPage #main_contents #link_area .column3 li a img {
  filter: brightness(60%);
  z-index: 0;
  width: 100%;
  height: auto;
  transition: 0.3s ease-in;
}
#indexPage #main_contents #link_area .column3 li a:hover img {
  filter: brightness(100%);
}
#indexPage #main_contents #voice_area {
  background: url(images/common/backline.png);
  padding: 90px 0 60px;
  background-size: 20px;
}
#indexPage #main_contents #voice_area h2 {
  text-align: center;
  font-size: 30px;
  color: #4f5f6b;
  line-height: 1.2;
  font-weight: 500;
  margin: 0 0 60px;
}
#indexPage #main_contents #voice_area h2 span {
  display: block;
  font-size: 12px;
  color: #69a3d8;
}
#indexPage #main_contents #voice_area #voice_post_wrap {
  display: flex;
  flex-direction: column;
}
#indexPage #main_contents #voice_area #voice_post_wrap .voice_box {
  background: #fff;
  margin: 0 0 30px;
}
#indexPage #main_contents #voice_area #voice_post_wrap .voice_box .thumbnail {
  margin-bottom: 15px;
}
#indexPage #main_contents #voice_area #voice_post_wrap .voice_box .thumbnail img {
  width: 100%;
  height: auto;
}
#indexPage #main_contents #voice_area #voice_post_wrap .voice_box .voice_content {
  background: #fff;
  flex-direction: column;
}
#indexPage #main_contents #voice_area #voice_post_wrap .voice_box .voice_content .voice_title_wrap {
  display: block;
  margin: 60px 15px;
}
#indexPage #main_contents #voice_area #voice_post_wrap .voice_box .voice_content .voice_title {
  margin: 0;
  display: block;
  width: 100%;
  font-size: 16px;
  padding-bottom: 5px;
  background: url(images/common/solid_line.png) no-repeat left bottom;
}
#indexPage #main_contents #voice_area #voice_post_wrap .voice_box .voice_content .voice_meta {
  color: #69a3d8;
  font-size: 14px;
  margin: 5px 0 0 0;
}
#indexPage #main_contents #voice_area #voice_post_wrap .voice_box .voice_content .post_permalink {
  text-align: right;
  margin: 15px 15px 10px;
}
#indexPage #main_contents #voice_area #voice_post_wrap .voice_box .voice_content .post_permalink a i {
  margin-right: 10px;
}
#indexPage #main_contents #event_area {
  background: #e1edf7;
  padding: 90px 0 60px;
}
#indexPage #main_contents #event_area h2 {
  text-align: center;
  font-size: 30px;
  color: #4f5f6b;
  line-height: 1.2;
  font-weight: 500;
  margin: 0 0 40px;
}
#indexPage #main_contents #event_area h2 span {
  display: block;
  font-size: 12px;
  color: #69a3d8;
}
#indexPage #main_contents #event_area #event_post_wrap {
  display: flex;
  flex-direction: column;
}
#indexPage #main_contents #event_area #event_post_wrap .event_box {
  margin: 0;
}
#indexPage #main_contents #event_area #event_post_wrap .event_box .thumbnail {
  margin-bottom: 15px;
}
#indexPage #main_contents #event_area #event_post_wrap .event_box .thumbnail img {
  width: 100%;
  height: auto;
}
#indexPage #main_contents #event_area #event_post_wrap .event_box .event_content {
  flex-direction: column;
}
#indexPage #main_contents #event_area #event_post_wrap .event_box .event_content .event_title_wrap {
  display: block;
  background: url(images/common/dot_line.png) bottom left repeat-x;
  padding-bottom: 15px;
}
#indexPage #main_contents #event_area #event_post_wrap .event_box .event_content .event_title_wrap a {
  color: #4f5f6b;
  text-decoration: underline;
  font-size: 18px;
}
#indexPage #main_contents #event_area #event_post_wrap .event_box .event_content .event_title_wrap a i {
  text-decoration: none;
  margin-right: 15px;
}
#indexPage #main_contents #event_area #event_post_wrap .event_box .event_content .event_title_wrap a:hover {
  color: #f58e7e;
  text-decoration: none;
}
#indexPage #main_contents #event_area #event_post_wrap .event_box .event_content .event_title_wrap a:hover i {
  color: #4f5f6b;
}
#indexPage #main_contents #event_area #event_post_wrap .event_box .event_content p.excerpt {
  font-size: 14px;
}

/* ---------------------------------------------------------------- */
/* ブログ */
/* ---------------------------------------------------------------- */
#indexPage #main_contents #blog_area {
  padding: 90px 0 30px;
}
#indexPage #main_contents #blog_area h2 {
  text-align: center;
  font-size: 30px;
  color: #4f5f6b;
  line-height: 1.2;
  font-weight: 500;
  margin: 0 0 40px;
}
#indexPage #main_contents #blog_area h2 span {
  display: block;
  font-size: 12px;
  color: #69a3d8;
}
#indexPage #main_contents #blog_area #blog_list {
  padding: 0;
  margin: 0;
}
#indexPage #main_contents #blog_area #blog_list li {
  list-style: none;
  padding: 0 0 30px;
  margin: 0 0 30px;
  display: block;
  background: url(images/common/dot_line.png) bottom center repeat-x;
}
#indexPage #main_contents #blog_area #blog_list li:last-child {
  background: none;
}
#indexPage #main_contents #blog_area #blog_list li a {
  text-decoration: underline;
  font-size: 16px;
}
#indexPage #main_contents #blog_area #blog_list li a:hover {
  text-decoration: none;
}
#indexPage #main_contents #blog_area #blog_list li i {
  margin-right: 15px;
  color: #69a3d8;
}

/* ---------------------------------------------------------------- */
/* お知らせ */
/* ---------------------------------------------------------------- */
#indexPage #main_contents #info_area {
  padding: 30px 0 60px;
}

#indexPage #main_contents #info_area h2 span {
  display: block;
  font-size: 12px;
  color: #69a3d8;
}
#indexPage #main_contents #info_area #info_list {
  padding: 0;
  margin: 0 auto;
  max-width: 720px;

}
#indexPage #main_contents #info_area #info_list li {
  list-style: none;
  margin: 0 0 20px;
  display: block;
  border-bottom: 1px solid var(--accent-color);
  padding-bottom: 15px;

}

#indexPage #main_contents #info_area #info_list li span.left_box {
  padding: 5px;
  margin-right: 20px;
  border: 1px solid var(--accent-color);
  font-size: 14px;


}
#indexPage #main_contents #info_area #info_list li span.right_box {
  max-width: auto;
  width: 100%;
  float: right;


}
@media screen and (min-width: 768px) {
  #indexPage #main_contents #info_area #info_list li span.right_box {
    max-width: 590px;
    width: 100%;
    float: right;


  }
}

#indexPage #main_contents #info_area #info_list li:last-child {
  background: none;
}
#indexPage #main_contents #info_area #info_list li a {
  color: var(--main-color);
  font-size: 16px;
  margin-top: 10px;
}
#indexPage #main_contents #info_area #info_list li a:hover {
  /*! text-decoration: none; */
}
#indexPage #main_contents #info_area #info_list li i {
  margin-right: 15px;
  color: #69a3d8;
}

@media (min-width: 768px) {
  #indexPage #main_contents #info_area #info_list li {
    padding: 0 10px 20px 10px;
  }
}
@media (max-width: 767px) {
  #indexPage #main_contents #info_area #info_list li a {
    display: block;
    line-height: 1.4;
  }
}
/* ---------------------------------------------------------------- */
/* オーダー */
/* ---------------------------------------------------------------- */

#indexPage #main_contents #other_area {
  padding: 0 0 60px;
}
#indexPage #main_contents #other_area h2 {
  max-width: 80%;
  margin: 0 auto;
}
#indexPage #main_contents #other_area h2 img {
  width: 100%;
  height: auto;
}
#indexPage #main_contents #other_area p {
  font-size: 14px;
  font-weight: 500;
  margin: 30px 0;
}
#indexPage #main_contents #other_area .contact_link {
  text-align: center;
  margin: 30px auto;
}
#indexPage #main_contents #other_area .column2 {
  margin: 0;
  padding: 0;
}
#indexPage #main_contents #other_area .column2 li {
  list-style: none;
  margin-bottom: 30px;
}
#indexPage #main_contents #other_area .column2 li a {
  margin: 0;
}
#indexPage #main_contents #media_area {
  padding: 0 0 60px;
}
#indexPage #main_contents #media_area h2 {
  text-align: center;
  font-size: 30px;
  color: #4f5f6b;
  line-height: 1.2;
  font-weight: 500;
  margin: 0 0 40px;
}
#indexPage #main_contents #media_area h2 span {
  display: block;
  font-size: 12px;
  color: #69a3d8;
}
#indexPage #main_contents #media_area ul {
  padding: 0;
  margin: 0 0 20px;
}
#indexPage #main_contents #media_area ul li {
  list-style: none;
  padding: 0 0 20px;
  margin: 0 0 20px;
  display: block;
  background: url(images/common/dot_line.png) bottom center repeat-x;
}
#indexPage #main_contents #media_area ul li:last-child {
  background: none;
  margin: 0;
}
#indexPage #main_contents #media_area ul li a {
  text-decoration: underline;
  font-size: 16px;
}
#indexPage #main_contents #media_area ul li a:hover {
  text-decoration: none;
}
#indexPage #main_contents #media_area ul li i {
  margin-right: 15px;
  color: #69a3d8;
}
#indexPage #main_contents .sm_column2 {
  display: inherit;
}
@media (min-width: 768px) {
  #indexPage #main_contents #about_area {
    margin-bottom: 30px;
  }
  #indexPage #main_contents #about_area p {
    width: 80%;
    margin: 0 auto 60px;
  }
  #indexPage #main_contents #about_area ul {
    flex-direction: row;
  }
  #indexPage #main_contents #about_area ul li {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "MS PMincho", "serif";
    border-bottom: none;
    flex-basis: 33.3333%;
  }
  #indexPage #main_contents #about_area ul li+li {
    border-left: 1px solid #69a3d8;
  }
  #indexPage #main_contents #works_area #works_post_wrap {
    flex-direction: row;
    justify-content: space-between;
  }
  #indexPage #main_contents #works_area #works_post_wrap .works_box {
    display: inline-block;
    flex-basis: 210px;
  }
  #indexPage #main_contents #works_area .btn_wrap a {
    width: 210px !important;
  }
  #indexPage #main_contents #link_area .column2 li {
    flex-basis: 50%;
  }
  #indexPage #main_contents #link_area .column3 li {
    flex-basis: 33.33333%;
  }
  #indexPage #main_contents #voice_area #voice_post_wrap {
    display: flex;
    flex-direction: column;
  }
  #indexPage #main_contents #voice_area #voice_post_wrap .voice_box {
    display: inline-flex;
    flex-basis: 100%;
    overflow: hidden;
  }
  #indexPage #main_contents #voice_area #voice_post_wrap .voice_box .thumbnail {
    margin-bottom: 0;
    flex-basis: 48%;
  }
  #indexPage #main_contents #voice_area #voice_post_wrap .voice_box .voice_content {
    flex-basis: 50%;
    align-items: stretch;
    position: relative;
  }
  #indexPage #main_contents #voice_area #voice_post_wrap .voice_box .voice_content .voice_title_wrap {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    height: 100%;
    margin: 0 0 0 15px;
    justify-content: center;
  }
  #indexPage #main_contents #voice_area #voice_post_wrap .voice_box .voice_content .post_permalink {
    position: absolute;
    bottom: 10px;
    right: 0;
  }
  #indexPage #main_contents #event_area #event_post_wrap {
    display: flex;
    flex-direction: column;
  }
  #indexPage #main_contents #event_area #event_post_wrap .event_box {
    display: flex;
    flex-basis: 100%;
    justify-content: space-between;
    overflow: hidden;
  }
  #indexPage #main_contents #event_area #event_post_wrap .event_box .thumbnail {
    margin-bottom: 0;
    flex-basis: 48%;
  }
  #indexPage #main_contents #event_area #event_post_wrap .event_box .event_content {
    flex-basis: 48%;
    align-items: stretch;
    position: relative;
  }
  #indexPage #main_contents #event_area #event_post_wrap .event_box .event_content .post_permalink {
    position: relative;
  }
  #indexPage #main_contents #event_area #event_post_wrap .event_box .event_content .post_permalink a {
    margin: 60px 0 0;
  }
  #indexPage #main_contents #blog_area {
    display: inline-flex;
    flex-basis: 48%;
    padding: 0;
  }
  #indexPage #main_contents #info_area {
    margin: 0 auto;
    padding: 60px 0;
  }
  #indexPage #main_contents #lineup_area {
    background: #edeff0;
    padding: 90px 0 60px;
  }
  #indexPage #main_contents #lineup_area ul li {
    display: block;
    float: left;
    width: 30%;
  }
  #indexPage #main_contents #lineup_area ul li+li {
    margin-left: 5%;
  }
  #indexPage #main_contents #other_area {
    display: inline-flex;
    flex-basis: 48%;
    padding: 0;
  }
  #indexPage #main_contents #other_area .contact_link {
    text-align: left;
  }
  #indexPage #main_contents #other_area .column2 {
    display: flex;
    justify-content: space-between;
  }
  #indexPage #main_contents #other_area .column2 li {
    display: inline-flex;
    flex-basis: 47%;
  }
  #indexPage #main_contents #media_area {
    display: inline-flex;
    flex-basis: 48%;
    align-content: stretch;
    padding: 0;
    height: 100%;
  }
  #indexPage #main_contents #media_area .more_short {
    margin: 0 auto;
  }
  #indexPage #main_contents .sm_column2 {
    padding: 90px 0 60px;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-content: space-between;
    width: 750px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
  }
  #indexPage #main_contents .sm_column2 .container {
    padding: 0;
    margin: 0;
    width: 100%;
  }
}
@media (min-width: 992px) {
  #indexPage #main_contents #works_area #works_post_wrap .works_box {
    flex-basis: 290px;
  }
  #indexPage #main_contents #works_area .btn_wrap a {
    width: 290px !important;
  }
  #indexPage #main_contents #media_area ul {
    padding: 0;
    margin: 0 0 10px;
  }
  #indexPage #main_contents #media_area ul li {
    padding: 0 0 28px;
    margin: 0 0 28px;
  }

  #indexPage #main_contents .sm_column2 {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  #indexPage #main_contents #works_area #works_post_wrap .works_box {
    flex-basis: 360px;
  }
  #indexPage #main_contents #works_area .btn_wrap a {
    width: 360px !important;
  }
  #indexPage #main_contents #media_area ul {
    padding: 0;
    margin: 0 0 25px;
  }
  #indexPage #main_contents #media_area ul li {
    padding: 0 0 30px;
    margin: 0 0 30px;
  }
  #indexPage #main_contents .sm_column2 {
    width: 1170px;
  }
}
/* ---------------------------------------------------------------- */
/* コンテンツ共通 */
/* ---------------------------------------------------------------- */

.Area {
  padding: 30px 0 40px;
}
.main_area {
  margin-top: 60px;
}

/*　改行 */

@media screen and (max-width: 767px) {

  .leadtxt br {
    display: none;
  }
}

@media screen and (min-width: 768px) {

  #indexPage #main_contents #info_area #info_list li br {
    display: none;
  }
}
@media screen and (min-width: 768px) {

  #infoCat #info_area #info_list li br {
    display: none;
  }
}
/* 見出し */
h2,
h3,
h4,
h5,
h6 {
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
  font-weight: normal;
  line-height: 1.2;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  text-align: left;
  line-height: 1.4;
  margin: 0 auto 20px;
}


h2 {
  background: url(images/common/line.png) no-repeat bottom center / 145px 2px;
  margin: 0 0 30px;
  padding: 5px;
  text-align: center;
  color: var(--main-color);
  font-weight: normal;
  font-size: 30px;
}

h2 img,
.ctabox img {
  height: 40px;
  width: auto;
  display: block;
  margin: 0 auto;
}

.title2line img {
  height: 90px;
}
.title3line img {
  height: 100px;
}
@media (max-width: 767px) {
  #cta .ctabox ul li {
    width: 100%;
  }
  .title1line img,
  .title2line img,
  .title3line img {
    width: 100%;
    height: auto;
  }
}

h3 {
  padding: 0 0 5px 5px;
  font-size: 24px;
  color: var(--main-color);
  border-bottom: 1px dashed var(--accent-color);
}

h4 {
  padding: 0 0 0 15px;
  font-size: 22px;
  color: var(--main-color);
  position: relative;
  z-index: 5;
}
h4::before {
  content: "";
  position: absolute;
  background: #dff2fc;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  top: -8px;
  left: 0;
  z-index: -1;
}

h5 {
  font-size: 20px;
  color: var(--main-color);
  padding-left: 25px;
  position: relative;
}

h5::before {
  content: "◆";
  color: #579BBC;
  width: 15px;
  position: absolute;
  margin: 0 0px 0 0;
  top: 0px;
  left: 0px;
}

h6 {
  font-size: 18px;
  color: #111;
  background: linear-gradient(transparent 70%, #dff2fc 70%);
  padding-left: 5px;
}
@media (max-width: 767px) {
  .blockbox {
    padding: 113px 0 0 0;
    margin: -113px 0 0 0;
  }
}
@media (min-width: 768px) {
  .blockbox {
    padding: 170px 0 0 0;
    margin: -170px 0 0 0;
  }
}
.blockbox+.blockbox {
  margin-bottom: 60px;
}
p {
  color: var(--text-color);
  line-height: 2;
  margin-bottom: 30px;
  text-align: justify;
}

.leadtxt {
  text-align: center;
}
.linkarrow a {
  font-size: 14px;
  text-align: right;
  line-height: 1.4;
  margin: 0 auto 20px;
  font-weight: normal;
  height: 33px;

}

.linkarrow a::after {
  content: "　";
  vertical-align: middle;
  font-size: 20px;
  background: url(images/ccsm_arrow.png) center/20px no-repeat;
}

.linkarrow a:hover::after {
  content: "　";
  vertical-align: middle;
  font-size: 20px;
  background: url(images/ccsm_arrow_hvr.png) center/20px no-repeat;
}

.linkbtn_wrap .linkbtn {
  width: 290px;
}

.linkbtn {
  clear: both;
  margin: 50px auto 0;
  white-space: inherit;
  vertical-align: middle;
  touch-action: manipulation;
  text-decoration: none;
  cursor: pointer;
  -moz-user-select: none;
  background-image: none;
  background-color: #fff;
  border-radius: 30px;
  position: relative;
  color: var(--accent-color2);
  min-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.linkbtn::after {
  content: "　";
  vertical-align: middle;
  font-size: 20px;
  background: url(images/ccsm_arrow.png) center/20px no-repeat;
  right: 18px;
  top: 0;
  bottom: 0;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
}

.linkbtn a {
  color: var(--accent-color2);
}

.linkbtn:hover {
  text-decoration: none;
  color: #fff;
  background: var(--accent-color2);
}
.linkbtn:hover:after {
  background: url(images/ccsm_arrow_white.png) center/20px no-repeat;
}

.txtlinkbtn {
  display: flex;
  justify-content: center;

  align-items: center;
  width: 100%;
  height: 50px;
  font-size: 14px;
  line-height: 1.2;
  touch-action: manipulation;
  text-decoration: none;
  transition: 0.3s ease-in;
  position: relative;
  border: 1px solid var(--main-color);
  border-radius: 8px;
  color: var(--main-color);
  margin: 0 auto;
  padding: 0 30px;
}

.txtlinkbtn::after {
  position: absolute;
  content: "\f105";
  font-family: FontAwesome;
  color: var(--main-color);
  right: 10px;
  font-size: 20px;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
}
.txtlinkbtn:hover {
  border: 1px solid var(--main-color);
  color: #fff !important;
  background: var(--main-color);
  text-decoration: none !important;
}
.txtlinkbtn:hover p {
  color: #fff !important;

}
.txtlinkbtn:hover::after {
  color: #fff !important;
}
.txtlinkbtn span {
  font-size: 18px;
  font-weight: bold;
}

.txtlinkbtn2 {
  margin: 0 auto;
  padding: 5px 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  border-radius: 5px;
  width: 175px;
  position: relative;
  border: 1px solid #fff;
  color: var(--main-color);
  height: 30px;
}
.txtlinkbtn2:hover {
  background: none;
  border: 1px solid #fff;
  color: #fff;
  text-decoration: none;
}
.txtlinkbtn2::after {
  position: absolute;
  content: "\f105";
  font-family: FontAwesome;
  color: var(--text-color);
  right: 10px;
  font-size: 20px;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
}

.txtlinkbtn2:hover::after {
  color: #fff;
}


.txtlinkbtn3 {
  display: flex;
  justify-content: center;

  align-items: center;
  width: 100%;
  max-width: 290px;
  height: 60px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.2;
  touch-action: manipulation;
  text-decoration: none;
  transition: 0.3s ease-in;
  position: relative;
  border: 1px solid #51b452;
  border-radius: 8px;
  color: #fff;
  margin: 0 auto;
  padding: 0 30px 0 10px;
  background: #51b452;
}

.txtlinkbtn3::after {
  position: absolute;
  content: "\f105";
  font-family: FontAwesome;
  color: #fff;
  right: 20px;
  font-size: 20px;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
}
.txtlinkbtn3:hover {
  border: 1px solid #51b452;
  color: #51b452;
  background: #fff;
  text-decoration: none !important;
}
.txtlinkbtn3:hover::after {
  color: #51b452;
}
.txtlinkbtn3 span {
  font-size: 18px;
  font-weight: bold;
}










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

  .leadtxt {
    text-align: justify;
  }

}
.titleimg {
  margin: 0 auto;
}
.top_movie {
  margin: 0 auto;
  display: inherit;
  text-align: center;
}

.workwrap {
  position: relative;
  width: 100%;
}

.workwrap img {
  margin: 0 !important;
}
.workwrap .img_box {
  margin: 0 !important;
  padding-bottom: 66.5%;
  background-size: cover;
  background-position: center center;
}
#works p {
  margin: 0;
}
#works p.caption {
  padding-right: 40px;
}
#works p.number {
  color: #999;
  position: absolute;
  right: 0;
  bottom: 0px;
}
#works p.number:before {
  content: "\f030";
  font-family: fontawesome;
  padding-right: 5px;
  font-weight: normal;
}

#ob .oblink {

  margin: 0 auto;
  width: 286px;
  height: auto;
  display: flex;
  justify-content: space-between;

}
#ob h3 {
  padding: 0 0 5px 5px;
  font-size: 22px;
  color: var(--main-color);
  border-bottom: 1px dashed var(--accent-color);

}
/* #ob h3::before {
    content: "";
    position: absolute;
    background: #dff2fc;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    top: 2px;
    left: 0;
    z-index: -1;
} */
.pinkbtn,
.orangebtn {
  justify-content: center;
  position: relative;
}
.pinkbtn a,
.orangebtn a {
  background: no-repeat center/128px;
  background-image: none;
  width: 128px;
  height: 128px;
  display: block;

  position: relative;
  text-align: center;
  padding: 35px 0 0 0;
  color: var(--main-color);
}
.pinkbtn a {
  background-image: url(images/common/btn_pink.png);
}
.orangebtn a {
  background-image: url(images/common/btn_orange.png);

}
.pinkbtn a:hover,
.orangebtn a:hover {
  background-image: url(images/common/btn_yellow.png);
  color: var(--main-color);
  text-decoration: none;
}
.pinkbtn a::after,
.orangebtn a::after {
  content: ' ';
  background: url(images/common/caret_right.svg) no-repeat;
  position: absolute;
  align-items: center;
  width: 20px;
  height: 20px;
  border: none;

  bottom: 34px;
  right: 0;
  left: 0;
  margin: 0 auto;
}

#event.Area {
  padding-top: 0;
}
#event .event_box {
  display: flex;
  flex-basis: 100%;
  border: 1px solid var(--accent-color);
  margin: 0 0 10px 0;
  text-decoration: none;
}
#event .event_box:hover {
  opacity: 0.7;
}
#event .event_box .thumbnail,
.contents {
  width: 50%;
  display: block;
  background: #fff center center / auto 200px no-repeat;
}
@media (max-width: 500px) {
  #event .event_box .thumbnail,
  .contents {
    width: 50%;
    display: block;
    background-size: auto 100%;
  }
}
#event .event_box .contents {
  padding: 45px 10px 10px 10px;
  position: relative;
}
#event .event_box .contents p {
  margin: 0;
  line-height: 1.4;
}
.thumbnail {
  background: #fff center/top 200px no-repeat;
  object-fit: cover;
  text-align: center;
  background-repeat: no-repeat;
}


#event .event_box .contents .category {
  position: absolute;
  right: 10px;
  top: 10px;
  width: 115px;
  text-align: center;
  color: #fff;
  padding: 2px;
  background: #90B44B;
  border-radius: 5px;

}
#event .event_box .contents .category,
.event_caption {
  font-size: 14px;
}
#event .event_box .contents .title {
  font-size: 18px;
}
#iworks {
  background: url(images/common/irei_019.jpg) no-repeat center center !important;
  background-size: 1920px !important;
  position: relative;
  color: #fff;
  z-index: 0;
}
#iworks::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  display: block;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: -1;
}

@media (min-width:768px) {
  #iworks {
    background: url(images/common/irei_019.jpg) no-repeat center center !important;
    background-size: 1920px !important;
    background-attachment: fixed !important;
    color: #fff;
    z-index: 0;
  }
  #iworks::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    display: block;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: -1;
  }
}

#iworks .iworks_toptxt,
.iworks_bottomtxt {
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
  text-align: center;
  position: relative;
  margin: 20px 0 40px 0;
  font-size: 18px;
}
#iworks .iworks_toptxt:before,
.iworks_toptxt:after {
  content: ' ';
  background: url(images/common/line.png) no-repeat;
  position: absolute;
  align-items: center;
  width: 290px;
  height: 2px;
  border: none;
  right: 0;
  left: 0;
  margin: 0 auto;
}
#iworks .iworks_toptxt:before {
  top: -20px;
}
#iworks .iworks_toptxt:after {
  bottom: -20px;
}
#iworks h2 {
  background: none;
  color: #fff;
}
#iworks h2 span {
  font-size: 16px;
  padding: 0 10px 0 0;
}


#iworks .iworks_contents {
  display: flex;
}
#iworks .iworks_contents ul {
  list-style: none;
  display: flex;
  margin: 0 auto;
  padding: 0;
  width: 580px;
  flex-wrap: wrap;
  justify-content: space-between;
}

#iworks .iworks_contents ul li,
#iworks .iworks_contents ul li span {
  display: flex;
  justify-content: center;
  align-items: center;

}
#iworks .iworks_contents ul li .top,
#iworks .iworks_contents ul li .bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(images/iworks/circle.png) center/100px auto no-repeat;
  width: 100px;
  height: 100px;
  margin: 0;
  padding: 0;
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
  font-size: 14px;
  text-align: center;
  line-height: 1.4;
}
#iworks .iworks_contents ul li span {
  width: 85px;
  height: 85px;
  border-radius: 42px;
}

#iworks .iworks_contents ul {
  position: relative;
}
#iworks .iworks_contents ul li .top {
  position: absolute;
  top: 0;
}
#iworks .iworks_contents ul li .bottom {
  position: absolute;
  bottom: 0;
}

@media (min-width:768px) {
  #iworks .iworks_contents {
    height: 170px;
  }

}

@media (max-width:767px) {
  #iworks .iworks_contents ul li .top,
  #iworks .iworks_contents ul li .bottom {
    margin: 0 auto;
  }
  #iworks .iworks_contents ul {
    width: 284px;
  }
  #iworks .iworks_contents {
    height: 200px;
  }
}

@media (max-width:413px) {
  #iworks .iworks_contents ul {
    width: 190px;
  }
}

#Fukurou .pc_half {
  display: block;
  margin: 0 auto;
}

@media (min-width:992px) {
  #Fukurou .pc_half {
    width: 50%;
  }
}

#president .boss {
  display: flex;
  background: var(--accent-color2);
  margin-bottom: 20px;
  flex-wrap: wrap;
}
#president .boss_img {
  width: 100%;
  margin: 0;
  padding: 0;
}
#president .boss_img img {
  display: block;
  width: 100%;
}
#president .boss_title {
  padding: 20px;
  position: relative;
  width: 100%;
}
#president .boss_title h2 img {
  height: 30px;
  width: auto;
  margin: 0;
}
.home #president h3 {
  border-bottom: 0;
}
#president .boss_title .name {
  width: auto;
  height: 20px;
  position: absolute;
  right: 20px;
  bottom: 20px;
}



#president .boss2 {
  display: flex;
  background: #fff8eb;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
#president .boss_img2 {
  width: 100%;
  margin: 0;
  padding: 0;
}
#president .boss_img2 img {
  display: block;
  width: 100%;
  margin: 0px 0px 0px !important;
}
#president .boss_title2 {
  padding: 20px 20px 20px;
  position: relative;
  width: 100%;
}
#president .boss_title2 h2 {
  font-size: 30px;
  margin-bottom: 21px;
}
#president .boss_title2 p {
  margin: 0 auto 14px;
}
#president .boss_title2 .name {
  width: auto;
  height: 20px;
  flot: right !important;
}
#president .boss_title2 .r_box {
  text-align: right;
}

#president .boss_title2 ul {
  margin: 0px 0 -10px;
  padding: 0px;
}
#president .boss_title2 ul li {
  margin: 0px;
  padding: 0px;
  text-align: right !important;
  list-style: none !important;
}
#president .boss_title2 ul li a:after {

  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #cf7118;
  right: 10px;
  margin-left: 5px;
  font-size: 20px;
  border-radius: 0;
  top: 50%;
  margin-top: -13px;
}

#president h2 {
  text-align: left;
  background: url(images/common/line.png) no-repeat bottom left / 145px 2px;
  margin-bottom: 50px;
}

#president .writtingbox p {
  line-height: 1.6;
  margin: 0;
  padding: 0;
}
@media (min-width: 992px) {
  /* #president .boss_img2 img {
  display: block;
  width: 100%;
	margin: 0px 0px -22px !important;
} */
  #president .boss_img,
  #president .boss_title {
    flex-basis: 50%;
  }
  #president .writtingbox {
    columns: 2;
  }
  #president .boss_img2,
  #president .boss_title2 {
    flex-basis: 50%;
  }

}

#concept .conscept_txt_pc,
#concept .image {
  display: block;
  margin: 0 auto 40px;
}
#concept .conscept_txt_sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  #concept .conscept_txt_pc {
    display: none;
  }
  #concept .conscept_txt_sp {
    display: block;
    margin: 0 0 40px 0;
  }
}


#concept .concept4 a {
  position: absolute;
  width: 100%;
}
#concept .concept4 a img {
  height: 50px;
  width: auto;
  display: block;
}
#concept .concept4 {
  position: relative;
  height: 70px;
  margin: 0 0 30px 0;
  padding: 0 5px 0 5px;
  border-bottom: 1px solid var(--main-color);
}
#concept .concept4::after {
  content: '\f054';
  font-family: fontawesome;
  font-size: 16px;
  position: absolute;
  right: 5px;
  top: 18px;
  margin: auto;
}

#staff .staff_memolist {
  background: url(images/staff/cross.png);
  border-image: url(images/staff/linebox.png) 22 32/auto;
  padding: 35px 10px 10px 10px;
  position: relative;
  margin: 0 0 20px 0;
  overflow: inherit !important;
  border-style: solid;
}

#staff .staff_memolist:before {
  content: ' ';
  background: url(images/staff/ring.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  height: 35px;
  width: 185px;
  border: none;
  right: 0;
  left: 0;
  top: -15px;
  margin: 0 auto;
}

#staff .staff_thumb img {
  margin: 0;
  display: block;
}
#staff .staff_title {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.2;
  margin: 0 0 20px 0;
  text-align: justify;
}
#staff .staff_title a {
  color: var(--main_color)
}
#staff .staff_txt {
  margin: 0 0 50px 0;
}
#staff .staff_thumb {
  background: #fff;
  margin: 0 0 20px 0;
}
#staff .staff_title a:hover,
#staff .staff_txt a:hover {
  text-decoration: underline solid var(--main-color);
  color: var(--main-color);
}

#staff .staff_cat {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 140px;
  text-align: center;
  color: #fff;
  padding: 2px;
  border-radius: 5px;
  font-size: 14px;
}


#cta .ctabox {
  width: 100%;
}
#cta .ctabox ul {
  width: 100%;
}
#cta .ctabox ul li {
  width: 50%;
  height: 207px;
  list-style: none;
  display: flex;
  color: #fff;
  padding: 0;
  background-position: center center;
  background-size: cover;
  flex-wrap: wrap;
  align-content: center;
}
#cta .ctabox ul li p {
  padding: 0 0 10px 0;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  font-size: 50px;
  font-family: 'shirokuma', '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, serif;
  line-height: 1;
  max-height: 100px;
  width: 100%;
}
@media (max-width: 767px) {
  #cta .ctabox ul li {
    width: 100%;
  }
}
/* ---------------------------- */
/* 各ページ */
/* ---------------------------- */

/*会社情報*/

.rinenblock {
  position: relative;
}
.rinenblock h3 {
  text-align: center;
  position: relative;
  display: inline-block;
  padding: 0 55px;
  margin: 0 auto 20px;
  border-bottom: 0;
}

.rinenblock h3:before,
.rinenblock h3:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  background: var(--main-color);
  border-radius: 0;
}

.rinenblock h3:before {
  left: 0;
}
.rinenblock h3:after {
  right: 0;
}

.rinen {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.rinentxt {
  margin: 0px;
  flex-basis: 100%;
  overflow: hidden;
}
.rinen img {
  flex-basis: 165px;
  height: auto;
  margin-bottom: 20px;
}
.rinen p {
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
  font-size: 20px;
  text-align: center;
  padding: 0;
  /*! border-left: solid 2px var(--red); */
  margin: 0 0 0 0;
}
.rinen p span {
  /*! color: var(--red); */
  font-size: 26px;
}
@media (min-width:768px) {
  .rinentxt {
    flex-basis: auto;
    margin-left: 10px;
  }
  .rinen img {
    margin: 0;
  }
  .rinen p {
    text-align: left;
    padding: 5px 0 5px 10px;
  }
}

@media (max-width: 767px) {
  .rinen1,
  .rinen2,
  .rinen3 {
    justify-content: left;
  }
}


/*よくあるご質問*/
.faqlist {
  display: flex;
}

.faqlist ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px;
  width: 100%;
  padding: 0 !important;
  z-index: 2;
}
.faqlist ul li {
  flex-basis: calc(50% - 10px);
  list-style: none !important;
}
.faqlist ul li:not(:last-of-type) {
  margin-bottom: 0;
}
@media (min-width:768px) {
  .faqlist ul li {
    flex-basis: calc(25% - 15px);
  }
}



#faqPage h3 {
  margin-top: -160px !important;
  padding-top: 160px !important;
  width: 100%;
  pointer-events: none;
}


#faqPage h3::before {
  top: 154px !important;
}

.cta_area {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  margin: 0 0 50px;
}

#faqPage .faqImg {
  display: block;
  width: 100%;
  margin: 0 0 20px;
}
@media (min-width: 768px) {
  #faqPage .faqImg {
    width: 50%;
  }
}
#faqPage .faqImg.faqImgV {
  width: 50%;
  margin-left: auto;
  margin-right: auto;
}
.cta_area .txtlinkbtn {
  width: auto;
  flex: 1 1 240px;
}



/*保証・アフター*/


.omhosyou {
  position: relative;
  margin: 0 0 30px;
}
.omhosyou::before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 7px;
  width: 1px;
  height: 88%;
  background-color: var(--main-color);
}
.omhosyou ul li {
  position: relative;
  padding: 0 0 0 25px;
  list-style: none !important;
}
.omhosyou ul {
  background: url(images/stamp/flower.png) no-repeat right bottom /160px;
  padding: 0px !important;
}

.omhosyou ul li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: var(--main-color);
}

/*コンセプト*/

#concept {
  display: flex;
  align-items: center !important;
}
#concept .container {
  margin: 0 auto;
  padding: 0 15px;
  width: 100%;
}
#concept1 .conceptblock_odd,
#concept1 .conceptblock_even {
  background-image: url(images/concept/concept1/concept1back.jpg);
}
#concept2 .conceptblock_odd,
#concept2 .conceptblock_even {
  background-image: url(images/concept/concept2/concept2back.jpg);
}
#concept3 .conceptblock_odd,
#concept3 .conceptblock_even {
  background-image: url(images/concept/concept3/concept3back.jpg);
}
#concept4 .conceptblock_odd,
#concept4 .conceptblock_even {
  background-image: url(images/concept/concept4/concept4back.jpg);
}

.conceptblock_odd {
  background: 0 70px / 700px 500px no-repeat;
}
.conceptblock_even {
  background: 100% 70px / 700px 500px no-repeat;
}

@media (max-width: 767px) {
  .conceptblock_odd,
  .conceptblock_even {
    background-size: 250px 500px;
  }
}

.conceptblock_odd,
.conceptblock_even {
  display: flex;
  margin: 100px auto 30px;
}
.conceptblock_even {
  flex-direction: row-reverse;
}

@media (min-width: 1200px) {
  .conceptblock_odd,
  .conceptblock_even {
    width: 940px;
    min-height: 570px;
  }
}
@media (max-width: 991px) {
  .conceptblock_odd,
  .conceptblock_even {
    flex-wrap: wrap;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .conceptblock_odd {
    padding: 0 30px 0 0;
  }
  .conceptblock_even {
    padding: 0 0 0 30px;
  }
}

/*!.conceptblock {
     display: flex;
    position: relative;
}

.conceptblock_odd > .conceptblock {
     justify-content: flex-end;
}
.conceptblock_even > .conceptblock {
    justify-content: flex-start;
} */

@media (max-width: 767px) {
  .conceptblock {
    margin: 0 15px;
  }
}
@media (min-width: 768px) {
  .conceptblock {
    width: 720px;
    margin: 0 auto;
  }
}

@media (min-width: 992px) {
  .conceptblock {
    width: 45%;
  }
  .conceptblock_odd>.conceptblock {
    margin: 0 0 0 auto;
  }
  .conceptblock_even>.conceptblock {
    margin: 0 auto 0 0;
  }
}

.conceptblock_img {
  width: 50%;
}
@media (max-width: 767px) {
  .conceptblock_img {
    width: 65%;
  }
}

.conceptblock_img img {
  display: block;
  position: absolute;
  height: auto;

}
.conceptblock_odd>.conceptblock_img img {
  left: 0;
  right: auto;
}

.conceptblock_even>.conceptblock_img img {
  right: 0;
  left: auto;
}

@media (min-width: 992px) {
  .conceptblock_img img {
    width: 50%;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .conceptblock_img img {
    width: 80%;
  }
}
@media (max-width: 767px) {
  .conceptblock_img img {
    width: 100%;
  }
}
.conceptblock_img::after {
  content: "";
  display: block;
  padding-top: 100%;
}

.conceptblock_txt {
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
}
.conceptblock_odd>.conceptblock_txt {
  justify-content: flex-end;
}
.conceptblock_even>.conceptblock_txt {
  justify-content: flex-start;
}

.conceptblock_txt>h3 {
  margin-left: 0;
  padding: 0;
  font-size: 36px;
  border-bottom: 0;
}
.conceptblock_txt>h3::before {
  content: none;
}
.maintxt {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media (min-width: 768px) and (max-width: 991px) {
  .maintxt_left,
  .maintxt_right {
    flex-basis: 48%
  }
}
.maintxt ul {
  margin-bottom: 30px;
  padding: 0 0 0 0px !important;
}

.maintxt ul li {
  padding: 0 0 0 25px;
  margin-bottom: 10px;
  line-height: 1.6;
  position: relative;
  list-style: none !important;
}
.maintxt ul li::before {
  content: '';
  background-image: url(images/concept/listcheck.svg);
  width: 20px;
  height: 20px;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 7px;
}
.img_3of2 {
  display: flex;
  justify-content: center;
  margin-bottom: 60px;
}
.img_3of2 .imagbox .pickids_pic {


  width: 100%;
}
.img_3of2 .imagbox img {


  width: 100%;
}
@media(min-width:992px) {
  .img_3of2 .imagbox .pickids_pic {


    width: 48%;
    float: left;
  }
  .img_3of2 .imagbox .pickids_pic:nth-child(even) {


    width: 48%;
    float: right;
  }
  .img_3of2 .imagbox img {


    width: 48%;
    float: left;
  }
  .img_3of2 .imagbox img:nth-child(even) {


    width: 48%;
    float: right;
  }
}


._img_3of2 img,
.imagbox>.pickids_pic {


  width: 100%;
}
@media(min-width:992px) {
  ._img_3of2 img,
  .imagbox>.pickids_pic {


    width: 48%;
    float: left;
  }
  ._img_3of2 img:nth-child(even) {


    width: 100%;
    float: right;
  }

}




.img_3of2 .imagbox2 .pickids_pic {


  width: 48%;
  float: left;
}
.img_3of2 .imagbox2 .pickids_pic:nth-child(even) {


  width: 48%;
  float: right;
}
@media(min-width:992px) {
  .img_3of2 .imagbox2 .pickids_pic {


    width: 48%;
    float: left;
  }
  .img_3of2 .imagbox2 .pickids_pic:nth-child(even) {


    width: 48%;
    float: right;
  }

}







.imagbox {}

@media(min-width:768px) and (max-width: 991px) {
  .img_3of2 {
    justify-content: space-between;
  }
  .img_3of2 img {
    flex-basis: 48%;
  }
}
@media(min-width:992px) {
  .imagbox {
    width: 67%;
  }
}
@media(max-width:767px) {
  .img_3of2,
  .imagbox {}
  .img_3of2 img {
    flex-basis: 100%;
    margin-bottom: 30px;
  }
}
@media(min-width:992px) {
  .imagbox2 {
    width: 67%;
  }
}
.readmore,
.pickids {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
  position: relative;
}
.readmore img,
.pickids img {
  width: auto;
  height: 40px;
}

.readmore::after {
  content: '暮らしの読み物〝知識の蔵〟へ';
  top: 40px;
  text-align: center;
  position: absolute;
}

.pickids::after {
  content: '─ 木の家フェア2016受賞作品より ─';
  top: 40px;
  text-align: center;
  position: absolute;
}

.pickids_pic {
  border-image: url(images/staff/linebox.png) 22 32/auto;
  border-style: solid;
  padding: 10px;
}
.pickids_pic img {
  margin: 0 !important;
  padding: 0;
}
.pickids_pic h4 {
  text-align: center;
  margin: 0;
  border-top: 1px dashed var(--accent-color);
  border-bottom: none;
  padding: 5px 0 0 0;
}



/*建築家 伊礼智と建てる*/

.irei_main {
  width: 100%;
  height: 400px;
  background: url(images/iworks/iworks_img01.jpg) center / cover;
}


.plansteps {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.plan_box {

  flex-basis: 100%;
  padding: 6px;
  position: relative;
  border-image: url(images/staff/linebox.png) 22 32/auto;
  -moz-border-image: url(images/staff/linebox.png) 22 32/auto;
  -webkit-border-image: url(images/staff/linebox.png) 22 32/auto;
  margin: 0 0 20px 0;
  border-style: solid;
}
.plan_box p {
  margin: 0 !important;
}
@media (min-width: 768px) {
  .plan_box {
    flex-basis: 49%;
  }
}

@media (min-width: 992px) {
  .plan_box {
    flex-basis: 32%;
  }
}

.plan_box img {
  width: 50%;

  display: block;
}

.plan_number,
.plan_copy {
  position: absolute;
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
}

.plan_number {
  left: 55%;
  top: 3px;
  font-size: 35px;
}
.plan_copy {
  right: 10px;
  bottom: 5px;
  text-align: right;
  font-size: 18px;
  line-height: 25px;
}
.photopc,
.phototab,
.photosp {
  width: 100%;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .photopc,
  .phototab {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width:992px) {
  .photopc,
  .photosp {
    display: none;
  }
}
@media (min-width: 993px) {
  .photosp,
  .phototab {
    display: none;
  }
}

.photos_main {
  max-width: 700px;
  margin: 0 auto 1px;
}
.photos_main img {
  display: block;
}
.photos {
  clear: both !important;
}
.photos img {

  width: 19.9%;
  margin: 0 0 1px;
  float: left;
}
@media (max-width: 767px) {
  .photos img {
    width: 33%;
    margin: 0 0 1px;
  }
}
.photos br {

  display: none !important;
}
/*トグルボタン*/
.toggle-wrap .toggle-button {
  display: block;
  cursor: pointer;
  padding: 3px 10px;
  background-color: #fff;
  border-bottom: 1px dashed #777;
  text-align: left;
  margin-bottom: 1em;
  border-radius: 3px;
}

.toggle-wrap .toggle-button:hover {
  border-color: none;
}

.toggle-wrap .toggle-content,
.toggle-wrap>input[type="checkbox"] {
  display: none;
}

.toggle-wrap>input[type="checkbox"]:checked~.toggle-content {
  display: block;
}

.irei_voice {
  margin: 0 0 40px 0;
}

.irei_voice>.voice {
  border-top: 1px solid var(--main-color);
  padding: 20px 0 0 25px;
}

.irei_voice>.voice2 {
  border-bottom: 1px dashed var(--accent-color);
  padding: 0 0 0 25px;
}

.irei_voice>.voice,
.voice2 {
  font-size: 18px;
  margin: 0 0 20px 0;
  position: relative;
  line-height: 1.6;
  text-align: justify;
}

.irei_voice>.comment p {
  padding: 0 5px 20px 25px;
  margin: 0;
}
.irei_voice>.voice::before {
  content: '＋';
  position: absolute;
  left: 0;
  color: var(--accent-color);
  font-size: 25px;
  top: 15px;
}
.irei_voice>.voice2::before {
  content: '─';
  position: absolute;
  left: 0;
  color: var(--accent-color);
}
.irei_voice>.comment {
  position: relative;
}
.irei_voice>.comment::before {
  content: "　";
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 0;
  background: url(images/common/logoicon.svg) no-repeat;
}

/*木の家リノベーション*/

.renovation4s {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.renov_01,
.renov_02,
.renov_03,
.renov_04 {
  flex-basis: 100%;
  height: auto;
  font-size: 22px;
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
  line-height: 1.2;
  touch-action: manipulation;
  text-decoration: none;
  transition: 0.3s ease-in;
  position: relative;
  border-radius: 8px;
  color: #fff;
  margin: 0 0 20px 0;
  padding: 10px 30px 10px 10px;
}

@media(min-width:768px) and (max-width:991px) {
  .renov_01,
  .renov_02,
  .renov_03,
  .renov_04 {
    flex-basis: 49%;
  }
}
@media(min-width:992px) {
  .renov_01,
  .renov_02,
  .renov_03,
  .renov_04 {
    flex-basis: 24%;
  }
}

.renov_01:hover,
.renov_02:hover,
.renov_03:hover,
.renov_04:hover {
  text-decoration: none;
  background: #fff;
}

.renov_01::after,
.renov_02::after,
.renov_03::after,
.renov_04::after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f107";
  font-family: FontAwesome;
  transform: none;
  color: #fff;
  right: 10px;
  font-size: 20px;
  border-radius: 0;
  top: 50%;
  margin-top: -14px;
}

.renov_01 {
  border: 1px solid #f596aa;
  background: #f596aa;
}

.renov_01:hover {
  border: 1px solid #f596aa;
  color: #f596aa;
}

.renov_01:hover::after,
.renov_01 a:hover {
  color: #f596aa;
}

.renov_02 {
  border: 1px solid #7db9de;
  background: #7db9de;
}
.renov_02:hover {
  border: 1px solid #7db9de;
  background: #fff;
  color: #7db9de;
}
.renov_02:hover::after,
.renov_01 a:hover {
  color: #7db9de;
}


.renov_03 {
  border: 1px solid #e98b2a;
  background: #e98b2a;
}
.renov_03:hover {
  border: 1px solid #e98b2a;
  background: #fff;
  color: #e98b2a;
}
.renov_03:hover::after,
.renov_01 a:hover {
  color: #e98b2a;
}


.renov_04 {
  border: 1px solid #90b44b;
  background: #90b44b;
}
.renov_04:hover {
  border: 1px solid #90b44b;
  background: #fff;
  color: #90b44b;
}
.renov_04:hover::after,
.renov_01 a:hover {
  color: #90b44b;
}
.bf {
  margin: 0 0 10px 0;
}
.bf img {
  height: 25px;
  width: auto;
}
.bf img:first-child {
  margin-right: 10px;
}

/*OMソーラー*/
.omconcept img {
  height: 140px;
  width: 240px !important;
  display: block;
  margin: 0 auto !important;
}
.question {
  font-size: 18px;
  display: flex;
  align-items: center;
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
  color: #222;
}
.question img {
  width: 36px;
  margin-right: 10px;
}
.omsolar_intoro {
  background: url(images/omsolar/omsolar_img12.jpg) center / 1400px auto no-repeat;
  background-size: 100%;
  width: auto;
  height: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 60px 0;
}
.omsolar_intoro p {
  text-align: center;
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
  color: #fff;
  padding: 0;
  margin: 0;
}
.omsolar_contents {
  height: 150px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: center center / auto 150px;
  position: relative;
}
.omsolar_contents a {
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
  line-height: 1.6;
  text-decoration: none;
}
.omsolar_contents a:hover {
  color: #FFFF99;
}
.omsolar_contents::after {
  content: '\f107';
  color: #fff;
  font-family: fontawesome;
  font-size: 35px;
  position: absolute;
  bottom: 5px;
}

.check ul {
  margin-bottom: 30px;
  padding: 0px !important;
}
.check ul li {
  padding: 0 0 0 25px;
  position: relative;
  list-style: none !important;
}
.check ul li::before {
  content: '';
  background: url(images/stamp/check.jpg) center center / contain no-repeat;
  width: 20px;
  height: 20px;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 7px;
}


.omx_kurashi {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.omx_kurashi_inner {
  flex-basis: 32%;
  border: 1px dashed var(--accent-color);
  margin-bottom: 20px;
  padding: 10px;
}
@media (max-width: 737px) {
  .omx_kurashi_inner {
    flex-basis: 100%;
  }
}
.omx_kurashi_inner img {
  display: block;
  margin: 0 auto;
  width: 100px;
  height: auto;
}
.omx_kurashi_inner p {
  margin: 0;
}

/* ---------------------------- */
/* カラム */
/* ---------------------------- */


.column1Wrap {
  margin-bottom: 30px;
  display: flex;
  flex-wrap: wrap;
}
.PostPage .column1Wrap .columnBox {
  display: block;
  margin: 0 auto;
}
.columnBox a:hover {
  text-decoration: none;
}
.column2Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
.column2Wrap .columnBox {
  flex-basis: 100%;
  margin-bottom: 20px;
}
.column2Wrap.img140 .columnBox:nth-of-type(1) {
  text-align: center;
}
.column2Wrap.img140 .columnBox:nth-of-type(1) img {
  max-width: 140px;
  margin: 0 auto;
}
.column2Wrap .box140Wrap {
  margin-bottom: 30px;
}
.column2Wrap .box140Wrap .image {
  text-align: center;
  margin-bottom: 20px;
}
.column2Wrap .box140Wrap .image img {
  max-width: 140px;
}

.column3Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 15px;
}
.column3Wrap .columnBox {
  flex-basis: 100%;
  width: 100%;
  margin-bottom: 20px;
}
.column3Wrap .columnBox img {
  width: 100%;
}
.column3Wrap .columnBox p:last-child {
  margin-bottom: 0;
}
.PostPage .column3Wrap.column1-3-3 .columnBox,
.CatListPage .column3Wrap.column1-3-3 .columnBox {
  flex-basis: 100%;
}

.column3Wrap.column1-3-3 .columnBox,
.PostPage .column3Wrap.column1-3-3 .columnBox,
.CatListPage .column3Wrap.column1-3-3 .columnBox {
  flex-basis: 100%;
}

.column4Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 15px;
}
.column4Wrap .columnBox {
  flex-basis: 100%;
  margin-bottom: 20px;
}
.column4Wrap .columnBox img {
  width: 100%;
}
.column4Wrap .columnBox p:last-child {
  margin-bottom: 0;
}

.columnBox {
  /*! overflow: hidden; */
}
.columnBox img {
  align-self: baseline;
  max-width: 100%;
}
.columnBox p:last-of-type {
  margin-bottom: 0;
}

#studiofukurou h3.leadtxt {
  margin-top: 90px;
}
.modelhouseGallery {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-flow: dense;
  gap: 4px;
  margin-top: 90px;
  margin-bottom: 90px;
}
.modelhouseGallery .galleryBox {
  overflow: hidden;
}
.modelhouseGallery .galleryBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.modelhouseGallery .galleryBox.large {
  grid-column: span 2;
  grid-row: span 2;
}
.modelhouseMidCta {
  margin-top: 90px;
  margin-bottom: 90px;
}
@media screen and (max-width: 767px) {
  .modelhouseGallery {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media print,
screen and (min-width: 768px) {
  #studiofukurou h3.leadtxt {
    margin-top: 120px;
  }
  .modelhouseGallery,
  .modelhouseMidCta {
    margin-top: 120px;
    margin-bottom: 120px;
  }
}

@media print,
screen and (min-width: 768px) {
  .column2Wrap .columnBox {
    flex-basis: 49%;
    width: 49%;
  }
  .column2Wrap .column2Wrap .columnBox {
    flex-basis: 45%;
  }
  .column2Wrap.img140 .columnBox:nth-of-type(1) {
    flex-basis: 140px;
    width: 140px;
  }
  .column2Wrap.img140 .columnBox:nth-of-type(2) {
    flex-basis: calc(100% - 170px);
    width: calc(100% - 170px);
  }
  .column2Wrap.img290 .columnBox:nth-of-type(1) {
    flex-basis: 290px;
    width: 290px;
    order: 1;
  }
  .column2Wrap.img290 .columnBox:nth-of-type(2) {
    flex-basis: calc(100% - 320px);
    width: calc(100% - 320px);
    order: 2;
  }
  .column2Wrap.img290R .columnBox:nth-of-type(1) {
    flex-basis: 290px;
    width: 290px;
    order: 2;
  }
  .column2Wrap.img290R .columnBox:nth-of-type(2) {
    flex-basis: calc(100% - 320px);
    width: calc(100% - 320px);
    order: 1;
  }
  .column2Wrap.img360 .columnBox:nth-of-type(1) {
    flex-basis: 345px;
    width: 345px;
    order: 1;
  }
  .column2Wrap.img360 .columnBox:nth-of-type(2) {
    flex-basis: calc(100% - 375px);
    width: calc(100% - 375px);
    order: 2;
  }
  .column2Wrap.img360R .columnBox:nth-of-type(1) {
    flex-basis: 345px;
    width: 345px;
    order: 2;
  }
  .column2Wrap.img360R .columnBox:nth-of-type(2) {
    flex-basis: calc(100% - 375px);
    width: calc(100% - 375px);
    order: 1;
  }
  .column2Wrap.img360before .columnBox:nth-of-type(1) {
    flex-basis: calc(100% - 375px);
    width: calc(100% - 375px);
  }
  .column2Wrap.img360before .columnBox:nth-of-type(2) {
    flex-basis: 345px;
    width: 345px;
  }
  .column2Wrap .box140Wrap {
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
  }
  .column2Wrap .box140Wrap .image {
    flex-basis: 140px;
    margin-bottom: 0;
  }
  .column2Wrap .box140Wrap .cnt {
    flex-basis: calc(100% - 180px);
    align-self: center;
  }
  .column2Wrap .box140Wrap .cnt p {
    margin-bottom: 10px;
  }

  .column3Wrap .columnBox {
    flex-basis: 48%;
    width: 48%;
  }

  .column4Wrap {
    position: relative;
  }
  .column4Wrap .columnBox {
    flex-basis: 48%;
    width: 48%;
  }
  .column4Wrap:after {
    content: "";
    width: 48%;
    display: block;
  }
  .column4Wrap:before {
    content: "";
    display: block;
    width: 48%;
    order: 1;
  }
  .PostPage .column3Wrap.column1-3-3 .columnBox,
  .CatListPage .column3Wrap.column1-3-3 .columnBox {
    flex-basis: 32%;
  }
}
@media print,
screen and (max-width: 767px) {
  .column4Wrap.column2-4-4 .columnBox,
  .PostPage .column4Wrap.column2-4-4 .columnBox,
  .CatListPage .column4Wrap.column2-4-4 .columnBox {
    flex-basis: 48%;
  }
}
@media print,
screen and (min-width: 768px) and (max-width: 991px) {
  .column4Wrap.column2-4-4 .columnBox,
  .PostPage .column4Wrap.column2-4-4 .columnBox,
  .CatListPage .column4Wrap.column2-4-4 .columnBox {
    flex-basis: calc((100% - 60px) / 4);
  }
}

@media print,
screen and (min-width: 992px) {
  .column2Wrap.img360 .columnBox:nth-of-type(1) {
    flex-basis: 360px;
    width: 360px;
    order: 1;
  }
  .column2Wrap.img360 .columnBox:nth-of-type(2) {
    flex-basis: calc(100% - 390px);
    width: calc(100% - 390px);
    order: 2;
  }
  .column2Wrap.img360R .columnBox:nth-of-type(1) {
    flex-basis: 360px;
    width: 360px;
    order: 2;
  }
  .column2Wrap.img360R .columnBox:nth-of-type(2) {
    flex-basis: calc(100% - 390px);
    width: calc(100% - 390px);
    order: 1;
  }
  .column2Wrap.img360before .columnBox:nth-of-type(1) {
    flex-basis: calc(100% - 390px);
    width: calc(100% - 390px);
  }
  .column2Wrap.img360before .columnBox:nth-of-type(2) {
    flex-basis: 360px;
    width: 360px;
  }
  .column2Wrap .box140Wrap {
    margin-bottom: 0;
    display: flex;
    justify-content: space-between;
  }
  .column2Wrap .box140Wrap .image {
    margin-bottom: 0;
  }
  .column2Wrap .box140Wrap .cnt {
    flex-basis: calc(100% - 180px);
    align-self: center;
  }
  .column2Wrap .box140Wrap .cnt p {
    margin-bottom: 10px;
  }

  .column3Wrap:after {
    content: "";
    width: 31%;
  }
  .column3Wrap .columnBox {
    flex-basis: 31%;
    width: 31%;
  }

  .column4Wrap {
    position: relative;
  }
  .column4Wrap:before {
    content: "";
    display: block;
    width: 23%;
    order: 1;
  }
  .column4Wrap:after {
    content: "";
    width: 23%;
    display: block;
  }
  .column4Wrap .columnBox {
    flex-basis: 23%;
    width: 23%;
  }
}

.PostPage .column2Wrap,
.CatListPage .column2Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 15px;

}

.PostPage .column2Wrap .columnBox,
.CatListPage .column2Wrap .columnBox {
  flex-basis: 100%;
  margin: 0 0 20px;
}

.PostPage .column2Wrap .columnBox img,
.CatListPage .column2Wrap .columnBox img {
  width: 100%;
}
.PostPage .column2Wrap .columnBox p:last-child,
.CatListPage .column2Wrap .columnBox p:last-child {
  margin: 0;
}
.PostPage .column2Wrap .columnBox .column2Wrap,
.CatListPage .column2Wrap .columnBox .column2Wrap {
  flex-basis: 100%;
  display: flex;
  justify-content: space-between !important;
}
.PostPage .column2Wrap .columnBox .column2Wrap .columnBox,
.PostPage .column2-2-1_wrap .columnBox,
.CatListPage .column2Wrap .columnBox .column2Wrap .columnBox {
  flex-basis: 49% !important;
}
.PostPage .column3Wrap,
.CatListPage .column3Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto 15px;
}
.PostPage .column2Wrap.column1-1-2 .columnBox,
.PostPage .column3Wrap.column1-3-3 .columnBox,
.CatListPage .column3Wrap .columnBox {
  flex-basis: 100%;
  margin: 0 0 20px;
}
.PostPage .column3Wrap .columnBox img,
.CatListPage .column3Wrap .columnBox img {
  width: 100%;
  margin: 0 0 10px;
}
.PostPage .column3Wrap .columnBox p:last-child,
.CatListPage .column3Wrap .columnBox p:last-child {
  margin: 0;
}
.column3Wrap.column2-3-3 .columnBox,
.PostPage .column3Wrap.column2-3-3 .columnBox,
.CatListPage .column3Wrap.column2-3-3 .columnBox {
  flex-basis: 48%;
}

.PostPage .column3Wrap.column2-3-3.column2-4-4 .columnBox,
.CatListPage .column3Wrap.column2-3-3.column2-4-4 .columnBox {
  flex-basis: 48%;
}

.PostPage .column4Wrap,
.CatListPage .column4Wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 0 15px;
}
.PostPage .column4Wrap .columnBox,
.CatListPage .column4Wrap .columnBox {
  flex-basis: 100%;
  margin: 0 0 20px;
}
.PostPage .column4Wrap .columnBox img,
.CatListPage .column4Wrap .columnBox img {
  width: 100%;
  margin: 0 0 10px;
}
.PostPage .column4Wrap .columnBox p:last-child,
.CatListPage .column4Wrap .columnBox p:last-child {
  margin: 0;
}

@media (min-width: 768px) {
  .PostPage .column1Wrap .columnBox,
  .PostPage .column2Wrap .columnBox,
  .CatListPage .column2Wrap .columnBox {
    flex-basis: 49%;
    width: 49%;
  }
}

#blogArea .postListWrap,
#blogCatList .postListWrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#blogArea .postListWrap .postBox,
#blogCatList .postListWrap .postBox {
  flex-basis: 48%;
  width: 48%;
  font-size: 14px;
}
#blogArea .postListWrap img,
#blogCatList .postListWrap img {
  margin-bottom: 10px;
}
#blogArea .postListWrap time,
#blogCatList .postListWrap time {
  margin-bottom: 15px;
}
@media print,
screen and (min-width: 768px) {
  #blogArea .postListWrap:after,
  #blogCatList .postListWrap:after {
    content: "";
    display: block;
    width: 31%;
  }
  #blogArea .postListWrap .postBox,
  #blogCatList .postListWrap .postBox {
    flex-basis: 31%;
    width: 31%;
  }


  .PostPage .column3Wrap.column1-2-3 .columnBox,
  .CatListPage .column3Wrap.column1-2-3 .columnBox {
    flex-basis: 48%;
  }
  .PostPage .column3Wrap.column2-3-3:after,
  .PostPage .column3Wrap.column3-3-1:after,
  .CatListPage .column3Wrap.column2-3-3:after {
    content: "";
    display: block;
    width: 32%;
  }

  .column3Wrap.column2-3-3 .columnBox,
  .PostPage .column3Wrap.column2-3-3 .columnBox,
  .PostPage .column3Wrap.column1-3-3 .columnBox,
  .PostPage .column3Wrap.column3-3-1 .columnBox,
  .CatListPage .column3Wrap.column2-3-3 .columnBox {
    flex-basis: 32%;
  }
  .PostPage .column4Wrap,
  .CatListPage .column4Wrap {
    position: relative;
  }
  .PostPage .column4Wrap:before,
  .CatListPage .column4Wrap:before {
    flex-basis: 25%;
  }
  .PostPage .column4Wrap:after,
  .CatListPage .column4Wrap:after {
    flex-basis: 25%;
  }
  .PostPage .column4Wrap .columnBox,
  .CatListPage .column4Wrap .columnBox {
    flex-basis: 25%;
  }
  .PostPage .column4Wrap.column2-4-4:before,
  .CatListPage .column4Wrap.column2-4-4:before {
    position: absolute;
    content: "";
    display: block;
    width: 23%;
    order: 1;
  }
  .PostPage .column4Wrap.column2-4-4:after,
  .CatListPage .column4Wrap.column2-4-4:after {
    /*! content: ""; */
    /*! display: block; */
  }
  .PostPage .column4Wrap.column2-4-4 .columnBox,
  .CatListPage .column4Wrap.column2-4-4 .columnBox {
    flex-basis: 23%;
  }
  .PostPage .btn_wrap .btn.long,
  .CatListPage .btn_wrap .btn.long {
    max-width: 760px;
  }
  .PostPage .sp_disp,
  .CatListPage .sp_disp {
    display: none;
  }
  .PostPage .pc_disp,
  .CatListPage .pc_disp {
    display: block;
  }

}
@media (min-width: 992px) {
  .PostPage .column1Wrap .columnBox,
  .PostPage .column2Wrap .columnBox,
  .PostPage .column2Wrap.column1-1-2 .columnBox,
  .CatListPage .column2Wrap .columnBox {
    flex-basis: 49%;
  }
  .PostPage .column3Wrap:after,
  .CatListPage .column3Wrap:after {
    content: "";
    display: block;
    width: 32%;
  }
  .PostPage .column3Wrap .columnBox,
  .CatListPage .column3Wrap .columnBox {
    flex-basis: 32%;
  }
  .PostPage .column3Wrap.column1-2-3 .columnBox,
  .CatListPage .column3Wrap.column1-2-3 .columnBox {
    flex-basis: 32%;
  }
  .PostPage .column4Wrap,
  .CatListPage .column4Wrap {
    position: relative;
  }
  .PostPage .column4Wrap:before,
  .CatListPage .column4Wrap:before {

    content: "";
    display: block;
    width: 23%;
    order: 1;
  }
  .PostPage .column4Wrap:after,
  .CatListPage .column4Wrap:after {
    /*! content: ""; */
    /*! display: block; */
  }
  .PostPage .column4Wrap .columnBox,
  .CatListPage .column4Wrap .columnBox {
    flex-basis: 23%;
  }
  .PostPage .btn_wrap .btn.short,
  .CatListPage .btn_wrap .btn.short {
    width: 100%;
    max-width: 270px;
  }
  .PostPage .btn_wrap:last-of-type,
  .CatListPage .btn_wrap:last-of-type {
    margin-bottom: 0;
  }
  .PostPage .btn_wrap:last-of-type a,
  .CatListPage .btn_wrap:last-of-type a {
    margin-bottom: 0;
  }
}
/*ボタン*/
.PostPage .btn_wrap .btn.line2,
.CatListPage .btn_wrap .btn.line2 {
  padding: 18px 0;
  height: 80px;
  max-height: 80px;
}
.PostPage .btn_wrap .btn.short,
.CatListPage .btn_wrap .btn.short {
  width: 100%;
  max-width: inherit;
}
.PostPage .sp_disp,
.CatListPage .sp_disp {
  display: block;
}
.PostPage .pc_disp,
.CatListPage .pc_disp {
  display: none;
}


/*テーブル*/

.PostPage table {
  margin: 0 0 60px;
  width: 100%;
  border-spacing: 0;
  text-align: justify;
}
.PostPage table caption {
  font-size: 18px;
  color: #009c6f;
  font-weight: bold;
  text-align: left;
  margin: 0;
}
.PostPage table tr th,
.PostPage table tr td {
  display: block;
  min-height: 30px;
  padding: .5em .8em;
  width: auto;
  line-height: 1.4;
}
.PostPage table tr th {
  font-weight: normal;
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
  font-size: 18px;
  text-align: left;
  vertical-align: top;
  background-color: #f6f4e8;
}
.PostPage table tr th.th210 {
  width: 100%;
}

@media print,
screen and (min-width: 768px) {
  .PostPage table tr:nth-child(odd) {
    background: #f6f4e8;
  }
  .PostPage table tr th,
  .PostPage table tr td {
    display: table-cell;
    width: inherit;
  }
  .PostPage table tr th {
    text-align: right;
    background-color: inherit;
  }
  .PostPage table tr th.th210 {
    width: 210px;
  }
  .PostPage table tr td {
    border-left: 1px solid var(--main-color);
  }
}


/*テーブルタイプ２*/
.PostPage table.type2 tr {
  background: #fff;
  border-bottom: 1px solid #333;
}

.PostPage table.type2 tr:last-child {
  border-bottom: none;
}



.PostPage table.type2 tr th,
.PostPage table.type2 tr td {
  display: table-cell;
  border-collapse: collapse;
}
.PostPage table.type2 tr th {
  background: #f6f4e8;
  text-align: center;
  color: var(--main-color);
  vertical-align: middle;
}
.PostPage table.type2 tr th+th {
  border-left: 1px dashed var(--accent-color);
}
.PostPage table.type2 tr td {
  border-left: 1px dashed var(--accent-color);
  border-bottom: 1px solid var(--main-color);
}
.PostPage table.type2 tr td:nth-of-type(1) {
  border-left: none;
}

/*QA*/
.PostPage .faqBox {
  margin: 0 0 50px;
  text-align: justify;
}
.PostPage .faqBox dl {
  margin-bottom: 50px;
}
.PostPage .faqBox dt {
  margin: 0 0 10px;
  position: relative;
  padding: 0 0 0 30px;
  font-size: 18px;
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
  line-height: 1.4;
}
.PostPage .faqBox dt:before {
  position: absolute;
  line-height: 1;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  content: 'Q';
  flex-basis: 30px;
  width: 25px;
  height: 25px;
  font-size: 16px;
  color: #fff;
  background: var(--main-color);
  border-radius: 100%;
}
/*    .PostPage .faqBox dt:hover, .PostPage .faqBox dt:focus {
      cursor: pointer; }*/
.PostPage .faqBox dd {
  padding: 0 0 0 30px;
  margin: 0 0 30px 10px;
  position: relative;
  line-height: 1.6;
}
.PostPage .faqBox dd:before {
  position: absolute;
  line-height: 1;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  content: 'A';
  width: 25px;
  height: 25px;
  font-size: 16px;
  color: var(--main-color);
  background: #fff;
  border-radius: 100%;
  border: 1px solid var(--main-color);
}

/* ---------------------------------------------------------------- */
/* お知らせ・お知らせ一覧パーツ */
/* ---------------------------------------------------------------- */
.CatListPage {
  margin-bottom: 30px;
}
.CatListPage #cat_wrap {
  margin-top: 50px;
  margin-bottom: 30px;
}
.CatListPage #cat_wrap .post_box {
  border-bottom: 1px solid #f7f7f7;
  margin-bottom: 30px;
}
.CatListPage #cat_wrap .post_box .thumbnail_wrap img {
  width: 100%;
  height: auto;
}
.CatListPage #cat_wrap .post_box .post_time {
  margin: 15px 15px 15px 0;
  color: #222;
  font-size: 12px;
}
.CatListPage #cat_wrap .post_box .post_title {
  font-size: 18px;
  font-weight: bold;
  color: #222;
}
.CatListPage #cat_wrap .post_box .post_title:hover {
  color: #69a3d8;
}
.CatListPage #cat_wrap .post_box .post_content p {
  margin-bottom: 15px;
}
/* ---------------------------------------------------------------- */
/* 施工事例一覧 */
/* ---------------------------------------------------------------- */
#WorksListPage #works_post_wrap {
  display: flex;
  flex-direction: column;
}
#WorksListPage #works_post_wrap .works_box {
  position: relative;
  padding: 0;
  margin: 0 0 30px;
  overflow: hidden;
  display: block;
  transition: .3s;
}
#WorksListPage #works_post_wrap .works_box a {
  display: block;
  width: 100%;
  height: auto;
}
#WorksListPage #works_post_wrap .works_box img {
  width: 100%;
  height: auto;
}
#WorksListPage #works_post_wrap .works_box time {
  position: absolute;
  width: 70px;
  height: 70px;
  top: 0;
  left: 0;
  background: #fff;
  color: #333;
  padding: 10px;
  z-index: 1;
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
#WorksListPage #works_post_wrap .works_box .works_title_wrap {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 60px;
  display: flex;
  padding: 0 15px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #353636), color-stop(0.49, #9a9ea1), color-stop(0, #ffffff));
  background: -webkit-linear-gradient(top, #ffffff 0%, #9a9ea1 49%, #353636 100%);
  background: -moz-linear-gradient(top, #ffffff 0%, #9a9ea1 49%, #353636 100%);
  background: -o-linear-gradient(top, #ffffff 0%, #9a9ea1 49%, #353636 100%);
  background: -ms-linear-gradient(top, #ffffff 0%, #9a9ea1 49%, #353636 100%);
  background: linear-gradient(to bottom, #ffffff 0%, #9a9ea1 49%, #353636 100%);
  justify-content: center;
  align-items: center;
  opacity: .8;
}
#WorksListPage #works_post_wrap .works_box .works_title_wrap p {
  margin: 0;
  padding-bottom: 5px;
  color: #fff;
  display: inline-flex;
  align-self: center;
}
@media (min-width: 768px) {
  #WorksListPage #works_post_wrap {
    flex-direction: row;
    justify-content: space-between;
  }
  #WorksListPage #works_post_wrap .works_box {
    flex-basis: 210px;
  }
}
@media (min-width: 992px) {
  #WorksListPage #works_post_wrap .works_box {
    flex-basis: 290px;
  }
}
@media (min-width: 1200px) {
  #WorksListPage #works_post_wrap .works_box {
    flex-basis: 360px;
  }
}
/* ---------------------------------------------------------------- */
/* お客様の声 */
/* ---------------------------------------------------------------- */
#VoiceListPage h2+p {
  text-align: center;
  font-size: 14px;
  margin-bottom: 60px;
}
#VoiceListPage #voice_post_wrap {
  display: flex;
  flex-direction: column;
}
#EventListPage #event_post_wrap .event_box {
  background: #f0f6fb;
  margin: 0 0 30px;
}
#EventListPage #event_post_wrap .event_box .thumbnail {
  margin-bottom: 15px;
}
#EventListPage #event_post_wrap .event_box .thumbnail img {
  width: 100%;
  height: auto;
}
#EventListPage #event_post_wrap .event_box .event_content {
  flex-direction: column;
}
#EventListPage #event_post_wrap .event_box .event_content .event_title_wrap {
  display: block;
  margin: 60px 15px;
}
#EventListPage #event_post_wrap .event_box .event_content .event_title {
  margin: 0;
  display: block;
  width: 100%;
  font-size: 16px;
  padding-bottom: 5px;
  background: url(images/common/solid_line.png) no-repeat left bottom;
}
#EventListPage #voice_post_wrap .voice_box .voice_content .voice_meta {
  color: #69a3d8;
  font-size: 14px;
  margin: 5px 0 0 0;
}
#EventListPage #voice_post_wrap .voice_box .voice_content .post_permalink {
  text-align: right;
  margin: 15px 15px 10px;
}
#EventListPage #voice_post_wrap .voice_box .voice_content .post_permalink a i {
  margin-right: 10px;
}
@media (min-width: 768px) {
  #EventListPage #voice_post_wrap {
    display: flex;
    flex-direction: column;
  }
  #EventListPage #voice_post_wrap .voice_box {
    display: inline-flex;
    flex-basis: 100%;
    overflow: hidden;
  }
  #EventListPage #voice_post_wrap .voice_box .thumbnail {
    margin-bottom: 0;
    flex-basis: 48%;
  }
  #EventListPage #voice_post_wrap .voice_box .voice_content {
    flex-basis: 50%;
    align-items: stretch;
    position: relative;
  }
  #EventListPage #voice_post_wrap .voice_box .voice_content .voice_title_wrap {
    display: flex;
    flex-direction: column;
    flex-basis: 100%;
    height: 100%;
    margin: 0 0 0 15px;
    justify-content: center;
  }
  #VoiceListPage #voice_post_wrap .voice_box .voice_content .post_permalink {
    position: absolute;
    bottom: 10px;
    right: 0;
  }
}
@media (min-width: 992px) {
  #VoiceListPage #voice_post_wrap {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
  }
  #VoiceListPage #voice_post_wrap .voice_box {
    flex-basis: 48%;
  }
}

#event .columnBox {
  position: relative;
  display: flex;
}
#event .columnBox .event_box {
  min-height: 144px;
}

#event .columnBox .end_img {
  position: absolute;
  z-index: 1;
  width: 130px;
  left: 3%;
  top: 6%;
}

/* ----------------- */
/* お客様の声詳細 */
/* ----------------- */
#SingleVoicePage #voice_post_wrap {
  display: flex;
  flex-direction: column;
}
#SingleVoicePage #voice_post_wrap .voice_box {
  margin: 0 0 30px;
}
#SingleVoicePage #voice_post_wrap .voice_box .thumbnail {
  margin-bottom: 15px;
}
#SingleVoicePage #voice_post_wrap .voice_box .thumbnail img {
  width: 100%;
  height: auto;
}
#SingleVoicePage #voice_post_wrap .voice_box .voice_content {
  flex-direction: column;
}
#SingleVoicePage #voice_post_wrap .voice_box .voice_content .voice_title_wrap {
  display: block;
  margin: 60px 0;
}
#SingleVoicePage #voice_post_wrap .voice_box .voice_content .voice_title {
  margin: 0;
  display: block;
  width: 100%;
  font-size: 16px;
  padding-bottom: 5px;
  background: url(images/common/solid_line.png) no-repeat left bottom;
}
#SingleVoicePage #voice_post_wrap .voice_box .voice_content .voice_meta {
  color: #69a3d8;
  font-size: 14px;
  margin: 5px 0 30px 0;
}
#SingleVoicePage #voice_post_wrap .voice_box .voice_content .post_permalink {
  text-align: right;
  margin: 15px 15px 10px;
}
#SingleVoicePage #voice_post_wrap .voice_box .voice_content .post_permalink a i {
  margin-right: 10px;
}
@media (min-width: 992px) {
  #SingleVoicePage #voice_post_wrap .voice_box {
    display: inline-flex;
    justify-content: space-between;
  }
  #SingleVoicePage #voice_post_wrap .voice_box .thumbnail {
    flex-basis: 49%;
  }
  #SingleVoicePage #voice_post_wrap .voice_box .voice_content {
    flex-basis: 49%;
  }
  #SingleVoicePage #voice_post_wrap .voice_box .voice_content .voice_title_wrap {
    margin: 0 0 0 15px;
  }
}
/* ---------------------------------------------------------------- */
/* 各ページ */
/* ---------------------------------------------------------------- */
#reformPage .blockbox.j_a h4 {
  padding-left: 0;
}
#reformPage .blockbox.j_a h4::before {
  display: none !important;
}
/* 404 */
.error404 .containar {
  padding: 90px 0;
}
.error404 h2 {
  text-align: center;
  font-size: 30px;
  color: #4f5f6b;
  line-height: 1.2 !important;
  font-weight: 500;
  margin: 0 0 60px;
}
.error404 h2 span {
  display: block;
  font-size: 12px;
  color: #69a3d8;
}
.error404 p {
  text-align: center;
}

.flowtitle {
  padding-bottom: 10px;
}
.flowtitle img {
  width: 100%;
  max-width: 290px;
}

#land {
  margin-top: -160px;
  padding-top: 160px;
}

.j_a {
  margin-top: -160px !important;
  padding-top: 160px !important;
}

.regularul {
  padding: 0px !important;
}
.regularul li {
  list-style: none !important;
}
.regularul li::before {
  content: '●';
  color: #579BBC;
  padding-right: 10px;
  position: absolute;
  left: 0;
  top: 4px;
  font-size: 12px;
}


.accordionbox {
  width: 100%;

  margin: 10px auto 40px;
  padding: 0px;
}
.accordionlist dt {
  display: block;
  background: #fff;
  padding: 20px 0 10px 0px;
  border-bottom: 1px solid #DFDFDF;
  cursor: pointer;
}

.accordionlist dt .title {
  padding-left: 0px;
  float: left;
}
.accordionlist dt .title p {
  padding: 0px !important;
  margin: 0px !important;
  font-weight: normal;
}
.accordionlist .accordion_icon {
  padding: 0px !important;
  margin: 0px !important;
}
.accordionlist dd {
  display: none;
  background: #fff;
  padding: 25px 0 20px 30px;
  position: relative;
}


.accordionlist dd::before {
  content: "　";
  width: 20px;
  height: 20px;
  position: absolute;
  left: 0;
  top: 26px;
  background: url(images/common/logoicon.svg) no-repeat;
}



.accordion_icon,
.accordion_icon span {
  display: inline-block;
  transition: all .4s;
  box-sizing: border-box;
}
.accordion_icon {
  position: relative;
  width: 30px;
  height: 30px;
  float: left;
  margin-right: 5px;
  top: 10px;
}
.accordion_icon span {
  position: absolute;
  left: 0px;
  width: 50%;
  height: 2px;
  background-color: #333;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -ms-border-radius: 4px;
  -moz-border-radius: 4px;
  -o-border-radius: 4px;
}
.accordion_icon span:nth-of-type(1) {
  top: 5px;
  transform: rotate(0deg);
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
}
.accordion_icon span:nth-of-type(2) {
  top: 5px;
  transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  -moz-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  -o-transform: rotate(90deg);
}
/*＋、－切り替え*/
.accordion_icon.active span:nth-of-type(1) {
  display: none;
}
.accordion_icon.active span:nth-of-type(2) {
  top: 5px;
  transform: rotate(180deg);
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
}



.sample06 {
  padding-bottom: 50px;
}

.sample06 .main {
  margin-bottom: 10px;
}

.sample06 .thumbnail .swiper-slide {
  cursor: pointer;
  opacity: .7;
  text-align: center !important;
}
.swiper-slide {
  text-align: center !important;
}
.sample06 .thumbnail .swiper-slide-active {
  opacity: 1;
}

.sample06 .thumbnail .swiper-wrapper {
  margin-left: calc(-41.5% - 5px);
}


.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background: url(images/common/s_l.png) no-repeat;
  height: 63px;
  display: none;
}
.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background: url(images/common/s_r.png) no-repeat;
  height: 63px;
  display: none;
}
@media (min-width: 768px) {
  .swiper-button-prev,
  .swiper-container-rtl .swiper-button-next {
    display: block;
  }
  .swiper-button-next,
  .swiper-container-rtl .swiper-button-prev {
    display: block;
  }
}
.swiper-pagination {
  display: none;
}
.swiper-slide img {
  width: 100%;
}
.works_text_a {
  padding: 10px 0 0px;
  border-bottom: 1px solid #999999;
  margin-bottom: 50px;
}
.works_text_b {
  font-size: 24px !important;
  font-weight: bold;
  margin-bottom: 5px !important;
}
.works_text_b p {
  margin-bottom: 2px !important;
}


@media (min-width: 768px) {
  .spec_tbl th {
    width: 211px !important;
  }
}

.btn_area {
  margin-bottom: 50px;
}
.btn_area a {
  margin-bottom: 10px;
}

.count_text {
  position: relative;
}
.count_text p {
  position: absolute;
  color: #f9f9f9 !important;
  right: 10px;
  bottom: 10px;
  text-align: right;
  z-index: 3;
  padding: 4px 12px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 20px;
}
.count_text p::before {
  content: "\f030";
  font-family: fontawesome;
  padding-right: 5px;
  font-weight: normal;
}

.movie-wrap {
  position: relative;
  padding-bottom: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
  margin-bottom: 50px;
}

.movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* ---------------------------------------------------------------- */
/* 施工事例 */
/* ---------------------------------------------------------------- */
#WorksListPage {
  margin-bottom: 0;
  padding-bottom: 0;
}
#WorksListPage h2 span {
  display: block;
  font-size: 14px;
}
#WorksListPage #works_post_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-bottom: 1px solid #433731;
  margin-bottom: 30px;
  padding: 0 0 60px;
}
#WorksListPage #works_post_wrap .works_box {
  flex-basis: 100%;
  margin-bottom: 35px;
}
#WorksListPage #works_post_wrap .works_box a {
  display: block;
}
#WorksListPage #works_post_wrap .works_box img {
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 10px;
}
#WorksListPage #works_post_wrap .works_box p {
  font-size: 16px;
  font-weight: bold;
  margin: 0;
}
@media (min-width: 768px) {
  #WorksListPage #works_post_wrap .works_box {
    flex-basis: 48%;
  }
  #WorksListPage #works_post_wrap .works_box .thumbnail {
    height: 265px;
    overflow: hidden;
    padding: 5px;
  }
  #WorksListPage #works_post_wrap .works_box .thumbnail img {
    width: auto;
    height: 100%;
    display: block;
    margin: 0 auto;
  }
}
@media (min-width: 992px) {
  #WorksListPage #works_post_wrap::after {
    content: "";
    display: block;
    width: 31%;
  }
  #WorksListPage #works_post_wrap .works_box {
    flex-basis: 31%;
  }
}
/* カテゴリー一覧リンク */
#WorksListPage #workscat_list ul,
#WorksSinglePage #workscat_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin: 25px 0 75px;
  padding: 0;
}
#WorksListPage #workscat_list ul li,
#WorksSinglePage #workscat_list ul li {
  flex-basis: 100%;
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
  height: 40px;
}
#WorksListPage #workscat_list ul li a,
#WorksSinglePage #workscat_list ul li a {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #dbd9c6;
  font-size: 14px;
  font-weight: bold;
}
#WorksListPage #workscat_list ul li a:hover,
#WorksSinglePage #workscat_list ul li a:hover {
  background: #ffd900;
  color: #433731;
}
#WorksListPage #workscat_list ul li.current-cat a,
#WorksSinglePage #workscat_list ul li.current-cat a {
  background: #ffd900;
  color: #433731;
}
#WorksListPage .btn_wrap,
#WorksSinglePage .btn_wrap {
  margin: 0;
}
#WorksListPage .btn_wrap a,
#WorksSinglePage .btn_wrap a {
  font-weight: normal;
}
@media (min-width: 768px) {
  #WorksListPage #workscat_list h3,
  #WorksSinglePage #workscat_list h3 {
    margin-bottom: 20px;
  }
  #WorksListPage #workscat_list ul li,
  #WorksSinglePage #workscat_list ul li {
    flex-basis: 49%;
  }
}
@media (min-width: 992px) {
  #WorksListPage #workscat_list ul:before,
  #WorksSinglePage #workscat_list ul:before {
    content: "";
    display: block;
    width: 24%;
    order: 1;
  }
  #WorksListPage #workscat_list ul:after,
  #WorksSinglePage #workscat_list ul:after {
    content: "";
    display: block;
    width: 24%;
  }
  #WorksListPage #workscat_list ul li,
  #WorksSinglePage #workscat_list ul li {
    flex-basis: 24%;
  }
}
#WorksSinglePage #works_post {
  border-bottom: 1px solid #433731;
  margin-bottom: 30px;
  padding-bottom: 60px;
}
#WorksSinglePage #works_post .unite-gallery {
  margin-bottom: 50px !important;
}
#WorksSinglePage #works_post .post_text {
  margin-bottom: 50px;
}
#WorksSinglePage #works_post table {
  margin: 0;
}
@media (min-width: 768px) {
  #WorksSinglePage #works_post table tr th,
  #WorksSinglePage #works_post table tr td {
    display: table-cell;
  }
  #WorksSinglePage #works_post table tr th {
    width: 270px;
  }
}

#concept1 .txtlinkbtn p,
#concept2 .txtlinkbtn p,
#concept3 .txtlinkbtn p,
#concept4 .txtlinkbtn p {
  text-align: center;
  line-height: 1.4;
  margin: 0;
}

._conceptblock_odd,
._conceptblock_even {
  width: 940px;
  min-height: 570px;
}

p a.txtlinkbtn {
  display: flex;
  align-items: center !important;

}
p a.txtlinkbtn br {
  display: block !important;

}

.form_area .att {
  color: #e55c17;
}
.form_area p {
  margin-bottom: 5px;

}
.form_area input {
  width: 100%;
  border: 1px solid #eeeeee;
  padding: 10px;
  margin-bottom: 5px;
}
.form_area textarea {
  border: 1px solid #eeeeee;
  padding: 5px;
  width: 100%;
  margin-bottom: 5px;
}
.form_area input[type="checkbox"] {
  width: auto !important;

}
.form_area input[type="radio"] {
  width: auto !important;

}
/* --- 【MW WP Form】削除予定 ここから --- */
.form_area .mwform-checkbox-field {
  width: 100% !important;
  display: block;
  margin: 0px !important;

  padding: 0px;
}
.form_area .mwform-radio-field {
  width: 100% !important;
  display: block;
  margin: 0px !important;

  padding: 0px;
}
.tt2_text {
  padding: 10px 20px;
  border: 2px dotted #999999;
  margin-bottom: 50px;
  /*display: none;*/
}
.page-id-38 .tt2_text {
  display: block !important;
}
.tt2_text h4 {
  border: none;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-size: 16px;
  text-align: center;
  margin-top: 10px;
}
.tt2_text ul.text_b_box {
  margin: 0px;
  padding: 0px;
}
.tt2_text ul.text_b_box li {
  list-style: none !important;
  margin-bottom: 5px;
}
/* --- 【MW WP Form】削除予定 ここまで --- */

.form_area h4 {
  border: none !important;
  font-size: 16px !important;
  margin-bottom: 5px !important;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, serif !important;
  font-weight: bold !important;
  margin-top: 15px !important;
  padding-left: 0px !important;
}
.form_area h4::before {
  display: none !important;
}
/* --- 【MW WP Form】削除予定 ここから --- */
.form_area .submit {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  font-size: 14px;
  line-height: 1.2;
  touch-action: manipulation;
  text-decoration: none;
  transition: 0.3s ease-in;
  position: relative;
  border: 1px solid var(--main-color);
  border-radius: 8px;
  color: var(--main-color);
  margin: 0 auto;
  padding: 0 30px;
  cursor: pointer;
  background: #fff;
}
.form_area .submit:hover {
  border: 1px solid var(--main-color);
  color: #fff;
  background: var(--main-color);
  text-decoration: none !important;
}
.form_area .return {
  display: flex;
  justify-content: center;

  align-items: center;
  width: 100%;
  height: 50px;
  font-size: 14px;
  line-height: 1.2;
  touch-action: manipulation;
  text-decoration: none;
  transition: 0.3s ease-in;
  position: relative;
  border: 1px solid var(--main-color);
  border-radius: 8px;
  color: var(--main-color);
  margin: 0 auto 10px;
  padding: 0 30px;
  cursor: pointer;
  background: #fff;
}
.form_area .return:hover {
  border: 1px solid var(--main-color);
  color: #fff;
  background: var(--main-color);
  text-decoration: none !important;
}
/* --- 【MW WP Form】削除予定 ここまで --- */

/* ------------------------------------------- */
/* Snow Monkey Forms スタイル調整
/* ------------------------------------------- */

/* レイアウト・項目間の余白 */
.form_area .snow-monkey-form .smf-form {
  --_margin1: 0;
  --_margin-1: 0;
  --_margin-2: 4px;
  --_padding1: 0;
  --_padding-1: 0;
  --_padding-2: 0;
}
.form_area .smf-item {
  margin: 0 !important;
  padding: 0 !important;
}
.form_area .smf-item+.smf-item {
  margin-top: 5px !important;
}

/* ラベル（見出し） */
.form_area .smf-item__col--label {
  padding: 10px 0 5px !important;
}
.form_area .smf-item__label__text {
  font-size: 16px !important;
  font-weight: bold !important;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, serif !important;
  line-height: 1.4;
}

/* 必須マーク */
.form_area .smf-item:has([data-validations*="required"]) .smf-item__label__text::after {
  content: "*";
  color: #e55c17;
  margin-left: 2px;
}

/* 説明テキスト */
.form_area .smf-item__description {
  font-size: 14px;
  color: #333;
  margin-top: 2px;
  padding: 0;
}

/* テキスト入力 */
.form_area .smf-text-control__control {
  width: 100% !important;
  border: 1px solid #eeeeee !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 10px !important;
  font-size: 14px;
}
.form_area .smf-text-control__control:focus {
  border-color: #999 !important;
}

/* テキストエリア */
.form_area .smf-textarea-control__control {
  width: 100% !important;
  border: 1px solid #eeeeee !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 10px !important;
  font-size: 14px;
}
.form_area .smf-textarea-control__control:focus {
  border-color: #999 !important;
}

/* ファイル添付 */
.form_area .smf-file-control {
  margin-bottom: 5px;
}
.form_area .smf-file-control__control {
  border: none !important;
  padding: 0 !important;
  width: auto !important;
  margin-bottom: 0 !important;
}
.form_area .smf-file-control__label {
  font-size: 13px !important;
  padding: 6px 16px !important;
}
.form_area .smf-file-control__filename {
  font-size: 13px;
}

/* チェックボックス */
.form_area .smf-checkbox-control {
  align-items: center;
  gap: 6px;
}
.form_area .smf-checkbox-control__control {
  margin-top: 0 !important;
}

/* セレクトボックスの矢印に余白を確保 */
.form_area .smf-select-control__control {
  padding-right: 32px !important;
}
.form_area .smf-select-control__toggle::before {
  right: 12px !important;
}

/* 注意事項ボックス */
.form_area .smf-item:has(.text_b_box) {
  padding: 10px 20px !important;
  border: 2px dotted #999999;
  margin-bottom: 10px !important;
  margin-top: 20px !important;
}
.form_area .smf-item:has(.text_b_box) .smf-item__col--label {
  padding: 10px 0 0 !important;
}
.form_area .smf-item:has(.text_b_box) .smf-item__label__text {
  font-size: 16px !important;
  display: block;
  text-align: center;
  margin-bottom: 20px;
}
.form_area .text_b_box {
  margin: 0;
  padding: 0;
}
.form_area .text_b_box li {
  list-style: none !important;
  margin-bottom: 5px;
  font-size: 14px;
}

/* 送信・確認ボタン */
.form_area .smf-action {
  margin-top: 30px !important;
}
.form_area .smf-action .smf-button-control__control {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 50px;
  font-size: 14px;
  line-height: 1.2;
  border: 1px solid var(--main-color) !important;
  border-radius: 8px !important;
  color: var(--main-color) !important;
  background: #fff !important;
  background-image: none !important;
  cursor: pointer;
  transition: 0.3s ease-in;
  padding: 0 30px;
}
.form_area .smf-action .smf-button-control__control:hover {
  color: #fff !important;
  background: var(--main-color) !important;
}

/* 戻るボタン（確認画面） */
.form_area .smf-action .smf-button-control+.smf-button-control .smf-button-control__control {
  margin-top: 10px;
}

/* メール確認用カラムの余白リセット */
.form_area .snow-monkey-form .wp-block-columns {
  margin-bottom: 0;
}

/* エラーメッセージ */
.form_area .smf-error-messages {
  font-size: 13px;
  margin-top: 4px;
}

/* 参加人数：プルダウン横並び＋日本語ラベル */
.form_area .smf-item__controls:has([data-name="how-adult"]) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 0;
}
.form_area .smf-placeholder[data-name="how-adult"],
.form_area .smf-placeholder[data-name="how-kids"],
.form_area .smf-placeholder[data-name="how-baby"] {
  display: flex;
  align-items: center;
  gap: 4px;
}
.form_area .smf-placeholder[data-name="how-adult"] .smf-select-control__control,
.form_area .smf-placeholder[data-name="how-kids"] .smf-select-control__control,
.form_area .smf-placeholder[data-name="how-baby"] .smf-select-control__control {
  width: 60px;
  min-width: 60px;
  padding: 6px 8px;
}
.form_area .smf-placeholder[data-name="how-adult"]::before {
  content: "大人";
  white-space: nowrap;
  font-size: 14px;
}
.form_area .smf-placeholder[data-name="how-adult"]::after {
  content: "名様";
  white-space: nowrap;
  font-size: 14px;
  margin-right: 16px;
}
.form_area .smf-placeholder[data-name="how-kids"]::before {
  content: "小人";
  white-space: nowrap;
  font-size: 14px;
}
.form_area .smf-placeholder[data-name="how-kids"]::after {
  content: "名様";
  white-space: nowrap;
  font-size: 14px;
  margin-right: 16px;
}
.form_area .smf-placeholder[data-name="how-baby"]::before {
  content: "幼児";
  white-space: nowrap;
  font-size: 14px;
}
.form_area .smf-placeholder[data-name="how-baby"]::after {
  content: "名様（0～3歳）";
  white-space: nowrap;
  font-size: 14px;
}

/* 確認・完了画面ではフォーム以外のページ内容を非表示にする
   （data-screen属性はプラグインが input → confirm → complete と自動で切り替える。
   　:has()未対応の古いブラウザでは効かず、従来通りの表示になるだけで動作に影響なし） */
:is(#PostContents, #PostContent) .container:has(.snow-monkey-form[data-screen="confirm"])> :not(.form_area):not(:has(.snow-monkey-form)),
:is(#PostContents, #PostContent) .container:has(.snow-monkey-form[data-screen="complete"])> :not(.form_area):not(:has(.snow-monkey-form)) {
  display: none;
}

/* 確認・完了画面では注意書き「*は入力必須項目です。」も非表示にする */
.form_area:has(.snow-monkey-form[data-screen="confirm"])>p:has(.att),
.form_area:has(.snow-monkey-form[data-screen="complete"])>p:has(.att) {
  display: none;
}

.cat_menu .menu {
  position: relative;
  width: 100%;
  max-width: 290px;
  height: 20px;
  border-left: 1px solid #333333;
  margin: 0 auto 30px;
}

.cat_menu .menu>li {
  float: left;
  /*width: 33.3%; /* グローバルナビ4つの場合 */
  width: 50%;
  /* グローバルナビ4つの場合 */
  height: 20px;
  line-height: 20px;
  border-right: 1px solid #333333;
  list-style: none;
  text-align: center;

}
@media (max-width: 768px) {
  .cat_menu .menu>li {
    float: left;
    /*width: 50%;  グローバルナビ4つの場合 */
    width: 100%;
    /* グローバルナビ4つの場合 */
    height: 20px;
    line-height: 20px;
    border-right: 1px solid #333333;
    list-style: none;
    text-align: center;

  }
  .cat_menu .menu>li:nth-child(2) {
    display: none;
  }
}

.cat_menu .menu>li a {
  display: block;
  color: #333333;
}

.cat_menu .menu>li a:hover {}

.cat_menu ul.menu__second-level {
  visibility: hidden;
  position: absolute;
  opacity: 0;
  z-index: 1;
  max-width: 200px;
  width: 100%;
  display: block;
}
.cat_menu li.menu__single ul.menu__second-level {
  max-width: 200px !important;
  width: 200% !important;
  position: absolute;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 10px;
  left: -27px;
  top: -100px;
}
.cat_menu ul.menu__third-level {
  visibility: hidden;
  opacity: 0;
}

.cat_menu ul.menu__fourth-level {
  visibility: hidden;
  opacity: 0;
}

.cat_menu .menu>li:hover {

  -webkit-transition: all .5s;
  transition: all .5s;
}

.cat_menu .menu__second-level li {
  border-top: 1px solid #e2e2e2;
  list-style: none;
  padding: 3px 0;
  font-size: 12px;
}

.cat_menu .menu__third-level li {
  border-top: 1px solid #e2e2e2;
}

.cat_menu .menu__second-level li a:hover {}

.cat_menu .menu__third-level li a:hover {}

.cat_menu .menu__fourth-level li a:hover {}




/* floatクリア */
.cat_menu .menu:before,
.cat_menu .menu:after {
  content: " ";
  display: table;
}

.cat_menu .menu:after {
  clear: both;
}

.cat_menu .menu {
  *zoom: 1;
}

.cat_menu .menu>li.menu__single {
  position: relative;
}

.cat_menu li.menu__single ul.menu__second-level {
  position: absolute;
  top: 0px;
  width: 100%;

  -webkit-transition: all .2s ease;
  transition: all .2s ease;
}

.cat_menu li.menu__single:hover ul.menu__second-level {
  top: 20px;
  visibility: visible;
  opacity: 1;
}

.subtitle {
  text-align: center;
  border-bottom: 1px solid #999999;
  font-size: 16px;
}

.cat_b_list {
  padding: 10px 0 !important;
  margin: 0px !important;
}
.cat_b_list li {
  float: right;
  list-style: none;
  padding: 5px 15px !important;
  background: #eee;
  margin-left: 5px !important;
  display: block !important;
  color: #fff !important;
  border-radius: 5px;
  /* CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
}
.cat_b_list li.c1 {
  background: #90B44B;
}
.cat_b_list li.c2 {
  background: #e55c17;
}

.event_text_area1 {
  margin-bottom: 30px;
}
.event_text_area2 {
  margin-bottom: 30px;
}
.event_img_area {
  margin-bottom: 30px;
}
.event_img_area .left_box {
  width: 100%;
  /* float: left; */
}
.event_img_area .left_box img {
  width: 100%;
  margin-bottom: 30px;
}
.event_img_area .right_box {
  width: 100%;
  /* float: right; */
}
@media print,
screen and (min-width: 768px) {
  .event_img_area .left_box {
    width: 100%;
    /* float: left ;*/
    text-align: center;
    position: relative;
    margin-bottom: 30px;
  }
  .event_img_area .left_box:before {
    content: '';
    padding-top: 57%;
    display: block;
  }
  .event_img_area .left_box img {
    width: 100%;
    max-width: none;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
  }
  .event_img_area .right_box {
    width: 100%;
    /* float: right; */
  }
}

.event_img_area .right_box th {
  display: table-cell !important;
  width: 80px;
  background: #fff !important;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, serif;
  font-size: 16px;
  font-weight: bold;
  padding: 5px !important;
  padding-right: 0px !important;
  text-align: left;
  padding-left: 25px !important;
  border: none;
}
.event_img_area .right_box th span {
  font-size: 16px;
  font-weight: normal;
}
.event_img_area .right_box th.e_icon1 {
  background: #fff url("images/event/e_icon1.png") no-repeat 3px 8px !important;
}
.event_img_area .right_box th.e_icon2 {
  background: #fff url("images/event/e_icon2.png") no-repeat 3px 8px !important;
}
.event_img_area .right_box th.e_icon3 {
  background: #fff url("images/event/e_icon3.png") no-repeat 3px 8px !important;
}
.event_img_area .right_box th.e_icon4 {
  background: #fff url("images/event/e_icon4.png") no-repeat 3px 8px !important;
}
.event_img_area .right_box th.e_icon5 {
  background: #fff url("images/event/reserve.svg") no-repeat 3px 8px !important;
  background-size: 16px !important;
}
.event_img_area .right_box td {
  display: table-cell !important;
  background: #fff !important;
  border: none;
  padding: 5px !important;
}

/*
.swrap01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.scol01 {
    padding: 20px;
    width: 320px;
    border: #ccc solid 1px;
    background-color: #ff9900;
}
*/
.w700 {
  max-width: 700px !important;
  width: auto !important;
  margin: 0 auto;

}

ul.cl_box {
  padding: 0 0 0 0px;
}
ul.cl_box li {
  list-style: none !important;

}
ul.cl_box li.cl2_box {
  float: left;
  width: 180px;
  display: block;
  background: #eeeeee url(images/info/enpitu.png) no-repeat 8px 10px !important;
  padding: 5px 5px 5px 30px !important;
  margin-right: 10px;
  margin-bottom: 5px;


}
ul.cl_box li.cl3_box {
  float: left;
  padding: 5px 15px 5px 15px !important;
  background: #000;
  color: #fff;
  border-radius: 5px;
  min-width: 122px;
  margin-right: 5px;
  text-align: center;
}
ul.blog_c_list {
  padding: 0px !important;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
ul.blog_c_list li {
  margin: 0px 0px 15px !important;
  padding: 0px !important;
  list-style: none !important;
  display: flex;
  flex-basis: 100%;
  padding: 6px;
  position: relative;
}
@media print,
screen and (min-width: 768px) {
  ul.blog_c_list li {
    margin: 0px 0px 15px !important;
    padding: 0px !important;
    list-style: none !important;
    display: flex;
    flex-basis: 24%;
    padding: 6px;
    position: relative;
  }
}
@media print,
screen and (min-width: 940px) {
  ul.blog_c_list li {
    margin: 0px 0px 15px !important;
    padding: 0px !important;
    list-style: none !important;
    display: flex;
    flex-basis: 19%;
    padding: 6px;
    position: relative;
  }
}

ul.blog_c_list li a {
  border: 1px solid #000;
  color: #000;
  background: #fff;
  text-decoration: none !important;
  width: 100%;
  text-align: center;
  font-size: 14px !important;
  padding: 10px 0;
  border-radius: 5px;
  position: relative;
}
ul.blog_c_list li a::after {
  position: absolute;
  display: flex;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: var(--main-color);
  right: 10px;
  font-size: 20px;
  border-radius: 0;
  top: 0;
  bottom: 0;
}
ul.blog_c_list li a:hover {
  border: 1px solid #000;
  color: #fff;
  background: #000;
  text-decoration: none !important;
  width: 100%;
  text-align: center;
  font-size: 14px !important;
  padding: 10px 0;
  border-radius: 5px;
}
ul.blog_c_list li a:hover::after {
  position: absolute;
  display: flex;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #fff;
  right: 10px;
  font-size: 20px;
  border-radius: 0;
  top: 0;
  bottom: 0;
}

#staff .img_box {
  padding-bottom: 66.6%;

  background-size: 100%;
}


.column2Wrap.img360R .columnBox:nth-of-type(2) {
  flex-basis: 360px;
  width: 360px;
  order: 2;
}
.column2Wrap.img360R .columnBox:nth-of-type(1) {
  flex-basis: calc(100% - 390px);
  width: calc(100% - 390px);
  order: 1;
}

button,
input,
optgroup,
select,
textarea {
  border: 1px solid #eee;
}
.w130 {
  width: 130px !important;
}

/*スタッフ紹介*/
.caption img {
  margin: 0 !important;
}

.caption p {
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
  font-size: 14px;
}

@media print,
screen and (max-width: 768px) {
  .img360R {
    display: block !important;
  }
  .img360R .columnBox {
    display: block !important;
    flex-basis: 100% !important;
    width: 100% !important;
  }
}


.request_list .columnBox {
  background: #f6f4e8;
  padding: 10px;
  overflow: inherit !important;
}

.request_listimg {
  margin: 0 auto 10px;
  display: flex;
  justify-content: center;
}

.request_listimg img {
  height: 180px;
  width: auto !important;
}

/*.request_list .columnBox .img_b{
	width: 100% !important;
	padding-bottom: 66% !important;
	background: #fff;
	margin-bottom: 10px;
	background-size: auto 100% !important;
}
.request_list .columnBox:nth-child(1) .img_b{ background:url(images/request/mainpamph.jpg) no-repeat center top}
.request_list .columnBox:nth-child(2) .img_b{ background:url(images/request/iworks.jpg) no-repeat center top}
.request_list .columnBox:nth-child(3) .img_b{ background:url(images/request/omx.jpg) no-repeat center top}
.request_list .columnBox:nth-child(4) .img_b{ background:url(images/request/omsolar.jpg) no-repeat center top}
.request_list .columnBox:nth-child(5) .img_b{ background:url(images/request/tampopo.jpg) no-repeat center top}*/

.slick-slider {
  margin: 0px !important;
  padding: 0px !important;

}
.slick-initialized {
  width: 100% !important;
}
.slick-initialized img {
  width: 100% !important;
}

#model_slider_wrap {
  margin-bottom: 50px !important;
}
.model_slider_thumb .slick-slide {
  cursor: pointer;
}
/* 施工事例スライダー：パターンA（表示エリアの高さを固定し、トリミングせず画像全体を収める） */
.model_slider_main li span {
  display: block;
  height: 320px;
}
.model_slider_main li span img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}
@media print, screen and (min-width: 768px) {
  .model_slider_main li span {
    height: 530px;
  }
}

.model_slider_thumb li span {
  display: block;
  height: 90px;
}
.model_slider_thumb li span img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}
@media print, screen and (min-width: 768px) {
  .model_slider_thumb li span {
    height: 110px;
  }
}

.slick-prev {
  background: url(images/common/s_l.png) no-repeat;
  height: 63px;
  left: 17px !important;
  z-index: 3;
}
.slick-prev:focus,
.slick-prev:active,
.slick-prev:hover {
  background: url(images/common/s_l.png) no-repeat;
  height: 63px;
  left: 17px !important;
  z-index: 3;
}

.slick-prev:before {
  content: '' !important;
}


.slick-next {
  background: url(images/common/s_r.png) no-repeat;
  height: 63px;
  right: 17px !important;
  z-index: 3;
}
.slick-next:focus,
.slick-next:active,
.slick-next:hover {
  background: url(images/common/s_r.png) no-repeat;
  height: 63px;
  right: 17px !important;
  z-index: 3;
}

.slick-next:before {
  content: '' !important;
}

.wp-pagenavi .pages {
  display: none !important;
}
.menu_sp_g {
  margin: 0px 0px 20px;
  padding: 0px;

}
.menu_sp_g li {
  margin: 0px;
  padding: 0px;
  list-style: none;
  border-bottom: 1px solid #eee;
}
.menu_sp_g li a {
  font-size: 12px !important;
  height: 20px;
  color: #000;
  width: 100%;
}
@media print,
screen and (min-width: 768px) {
  .menu_sp_g {
    margin: 0px;
    padding: 0px;
    display: none;
  }
}

.study_box {
  background: #1d543f;
  border-radius: 13px;
  /* CSS3草案 */
  -webkit-border-radius: 13px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 13px;
  /* Firefox用 */
  padding: 15px 8px;
}
.study_box .study_list {
  margin: 0px;
  padding: 0px 8px;
}
.study_box .study_list li {
  margin: 0px;
  padding: 0px 8px;
  list-style: none !important;
}
.study_box .study_list2 {
  margin: 0px;
  padding: 0px 8px;
}
.study_box .study_list2 li {
  margin: 0px;
  padding: 0px 8px;
  list-style: none !important;
  width: 50%;
  float: left;
}
.study_box .study_list2 li.end {

  margin-left: 25%;
}
.study_box .study_list2 li img {
  margin-bottom: 2% !important;
}
.study_box .pc_box {
  margin: 0px 15px;

}
.study_box .sp_box {
  margin: 0px 15px;

}
.n1_area {
  padding: 10px 15px 0;
}

.n1_area img {
  float: right;
  max-width: 270px;
  width: 100%;
}

@media print,
screen and (min-width: 768px) {
  .study_box .study_list li {
    width: 33.3%;
    float: left;
  }
  .study_box .study_list2 li {
    width: 20%;
    float: left;
  }
  .study_box .study_list2 li.end {
    margin-left: 0;
  }
}

.study_box .gh_text {
  font-size: 28px;
  color: #eb9fa1;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 0px !important;
  font-weight: bold;
}
.study_box .gh_text span {
  font-size: 21px;

}
@media print,
screen and (min-width: 768px) {
  .study_box .gh_text {
    font-size: 42px;
    color: #eb9fa1;
    text-align: center;
  }
  .study_box .gh_text span {
    font-size: 32px;
  }
}
.page_anchor {
  padding-top: 200px;
  margin-top: -200px;
}
.benkyou_box {
  text-align: center;
  border: 1px dashed #1d543f;
  border-radius: 10px;
  /* CSS3草案 */
  -webkit-border-radius: 10px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 10px;
  /* Firefox用 */
  padding: 15px 15px;
  font-size: 20px;
  color: #1d543f;
  font-weight: bold;

}
.benkyou_box span {
  font-size: 30px;
}
.benkyou_box a {
  width: 100%;
  padding: 5px;
  border: 1px solid #1d543f;
  background: #1d543f;
  display: block;
  border-radius: 5px;
  /* CSS3草案 */
  -webkit-border-radius: 5px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 5px;
  /* Firefox用 */
  font-size: 18px;
  color: #fff;
  position: relative;
}
.benkyou_box a:hover {

  background: #fff;
  color: #1d543f;
  text-decoration: none;
}
.benkyou_box a::after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #fff;
  right: 10px;
  font-size: 20px;
  border-radius: 0;
  top: 50%;
  margin-top: -16px;
}
.benkyou_box a:hover::after {


  color: #1d543f;
}
@media print,
screen and (min-width: 768px) {
  .benkyou_box {
    vertical-align: middle;
  }

  .benkyou_box br {
    display: none;
  }
  .benkyou_box span {
    margin: 0 25px 0px;
    line-height: 30px;
  }
  .benkyou_box a {
    width: 320px;
    padding: 5px 100px;
    border: 1px solid #1d543f;
    background: #1d543f;
    display: inline;
    border-radius: 5px;
    /* CSS3草案 */
    -webkit-border-radius: 5px;
    /* Safari,Google Chrome用 */
    -moz-border-radius: 5px;
    /* Firefox用 */
    font-size: 18px;
    color: #fff;
  }
}

/*2019.0627　追加*/

.benkyobox2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 20px auto;
  text-decoration: none;
}
.benkyobox2_inr,
.benkyobox2_main_inr {
  display: flex;
  align-items: center;
  justify-content: center;
}

.benkyobox2_inr p,
.benkyobox2_main_inr p {
  margin: 0 auto;
}

.benkyobox2_inr img,
.benkyobox2_main_inr img {
  display: inline;
  width: auto;
  height: 24px;
  margin-right: 5px;
}

.morebtn {
  padding: 5px;
  background: #51b452;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  /* Safari,Google Chrome用 */
  -moz-border-radius: 10px;
  /* Firefox用 */
  width: 200px;
  height: 40px;
  color: #fff;
  position: relative;
  top: 5px;
}
.morebtn p {
  color: #fff;
  font-size: 18px;
  display: inline-block;
}
.morebtn a {
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-size: 18px;
}

.morebtn:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

.benkyobox2_main {
  margin: 0 auto;
}

ul.benkyolist {
  list-style: none;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  margin: 0;
  padding: 0;
}

/*2019.0627　追加ここまで*/


/*2019.0903　追加ここから*/

.concept_typo {
  display: flex;
  justify-content: center;
  margin: 0 auto 40px;
}

/*2019.0903　追加ここまで*/

/*2021.0419 追加 陽の木の家*/
.PostPage ul.sepcList {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  flex-wrap: wrap;
}

.PostPage ul.sepcList li img {
  width: 140px;
  display: block;
  margin: 0 auto 10px;
}
.PostPage ul.sepcList li p {
  text-align: center;
  line-height: 1.4;
}
.PostPage ul.sepcList li p:first-of-type {
  font-weight: bold;
  font-size: 18px;
  color: #579bbc;
  margin: 0;
}
@media print,
screen and (max-width: 767px) {
  .inlink {
    margin-top: -100px;
    padding-top: 100px;
  }
  .PostPage ul.sepcList {
    justify-content: space-between;
  }
  .PostPage ul.sepcList li {
    width: 48%;
    flex-basis: 48%;
  }
}
@media print,
screen and (min-width: 768px) {
  .inlink {
    margin-top: -150px;
    padding-top: 150px;
  }
  .PostPage ul.sepcList li+li {
    margin-left: 15px;
  }
}
@media print,
screen and (min-width: 992px) {
  .PostPage ul.sepcList li {
    width: calc((100% - 60px) / 5);
    flex-basis: calc((100% - 60px) / 5);
  }
  .PostPage ul.sepcList li:nth-of-type(6n) {
    margin-left: 0px;
  }
}
@media print,
screen and (min-width: 768px) and (max-width: 991px) {
  .PostPage ul.sepcList li {
    width: calc((100% - 30px) / 3);
    flex-basis: calc((100% - 30px) / 3);
  }
  .PostPage ul.sepcList li:nth-of-type(4n) {
    margin-left: 0px;
  }
}
/*2021.0419 追加 陽の木の家　ここまで*/

/*2022.1104 追加 完成写真h3デザイン追加ここから*/
h3.focus {
  margin: 0 0 10px;
  padding: 0 0 0 40px;
}
h3.focus::before {
  background: url(images/works/focus.png) center center / 35px 35px no-repeat;
  width: 35px;
  height: 35px;
  border-radius: 0;
  top: 0;
}

/*2022.1104 追加 完成写真h3デザイン追加ここまで*/

/*2024.0627 追加 fvメタスライダーからSwiperに変更 追加ここから*/
.fv-Swiper-wrap {
  margin-bottom: 30px;
}
.fv-Swiper {
  overflow: unset;
}
.fv-next {
  right: 0;
}
.fv-Swiper .swiper-pagination {
  display: block !important;
  bottom: -30px !important;
  left: auto;
  right: 0;
  text-align: end;
  z-index: 2;
  text-align: center;
}
.fv-Swiper .swiper-pagination-bullet {
  background: #909090;
  width: 11px;
  height: 11px;
}
.fv-Swiper .swiper-pagination-bullet-active {
  background: #000;
}


/*2024.0918  追加ここから*/
.ftrTaiouArea {
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 35px 20px;
  margin: 40px 0;
}
.ftrTaiouArea .headLine {
  flex-basis: 244px;
  max-width: 244px;
  width: 100%;
  font-size: 18px;
  font-family: "MOBO multi";
  color: #306CBC;
}
.ftrTaiouArea .taiouList {
  flex-basis: calc(100% - 130px);
  max-width: calc(100% - 130px);
  width: 100%;
  padding-left: 20px;
  position: relative;
}
.ftrTaiouArea .taiouList::before {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #CBCBCB;
  position: absolute;
  top: -10px;
  left: 0;
}
.ftrTaiouArea .taiouList ul {}
.ftrTaiouArea .taiouList ul li {
  list-style: none;
  display: inline-block;
  padding: 5px 20px 5px 0;
  position: relative;
  font-size: 14px;
}
.ftrTaiouArea .taiouList ul li::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 1px;
  height: 14px;
  background-color: #333;
  display: inline;
}
@media screen and (max-width: 767px) {
  .ftrTaiouArea {
    display: block;
  }
  .ftrTaiouArea .headLine {
    flex-basis: 100%;
    max-width: 100%;
    width: 100%;
    font-size: 18px;
    font-family: "MOBO multi";
    color: #306CBC;
  }
  .ftrTaiouArea .taiouList {
    flex-basis: 100%;
    max-width: 100%;
    width: 100%;
    padding-left: 0;
    position: relative;
  }
  .ftrTaiouArea .taiouList::before {
    content: none;

  }
}

#event .event_box .contents h3.title {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
  padding: 0 !important;
  margin-bottom: 0;
  border-bottom: 0;
}



/*2024.0918  追加ここまで*/

/* 2025.0428 追加ここから*/
.PostPage .sfselect .sfselectinr {
  margin-bottom: 20px;
}
.PostPage .sfselect .sfselectinr h4 {
  border: none;
  margin-bottom: 10px;
}
.PostPage .sfselect .sfselectinr h5 {
  font-size: 20px;
  font-weight: bold;
  color: var(--main-color);
  margin: 30px 0 10px;
}
.PostPage .materialList {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}
.PostPage ul.materialList li {
  padding: 0;
  border-bottom: none;
  margin-bottom: 24px;
}
.PostPage .materialList .materialText {
  text-align: center;
  margin-bottom: 5px;
}
.materialCaption {
  font-family: '游明朝', YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN";
  font-size: 13px;
  line-height: 1.6;
  color: #666;
  text-align: center;
  margin: 6px 0 0;
}
.materialPhoto {
  margin: 0 0 10px;
}
.materialPhoto img {
  width: 140px;
  height: 140px;
  object-fit: cover;
  display: block;
  margin: 0 auto;
}
@media print,
screen and (max-width: 767px) {
  .PostPage .materialList {
    justify-content: space-between;
  }
  .PostPage .materialList li {
    width: 48%;
    flex-basis: 48%;
  }
}
@media print,
screen and (min-width: 768px) {
  .PostPage .materialList li+li {
    margin-left: 15px;
  }
}
@media print,
screen and (min-width: 992px) {
  .PostPage .materialList li {
    width: calc((100% - 60px) / 4);
    flex-basis: calc((100% - 60px) / 4);
  }
  .PostPage .materialList li+li {
    margin-left: 20px;
  }
  .PostPage .materialList li:nth-of-type(4n+1) {
    margin-left: 0px;
  }
}
@media print,
screen and (min-width: 768px) and (max-width: 991px) {
  .PostPage .materialList li {
    width: calc((100% - 30px) / 3);
    flex-basis: calc((100% - 30px) / 3);
  }
  .PostPage .materialList li:nth-of-type(4n) {
    margin-left: 0px;
  }
}
.PostPage .sfselect .sfselectinr:not(:first-of-type) {
  padding-top: 70px;
  border-top: 1px solid #efefef;
}
@media print,
screen and (min-width: 768px) {
  .PostPage .sfselect .sfselectinr:not(:first-of-type) {
    padding-top: 100px;
  }
}
/* 2025.0428 追加ここまで*/

#intoro {
  padding: 90px 0 40px;
}

/* 2026.0728 追加
   移行記事に残っている.lrmnクラスの画像（旧サイトでは横並び表示だったもの）に
   対応するスタイルが未定義だったため、PC幅では3枚横並びになるよう追加。
   スマホ幅（767px以下）は従来通り1列表示のまま。
   2026.0731 追加: 施工事例（works_field_1）はMsoNormalクラスの無い素の<p>/<div>で
   画像を囲んでいたため対象外になっていた。クラス有無を問わず対象にするよう修正。 */
@media print,
screen and (min-width: 768px) {
  p:has(> img.lrmn:only-child),
  div:has(> img.lrmn:only-child) {
    display: inline-block;
    width: 31%;
    margin: 0 2% 16px 0;
    vertical-align: top;
  }
}
p:has(> img.lrmn:only-child) img.lrmn,
div:has(> img.lrmn:only-child) img.lrmn {
  width: 100%;
  height: auto;
  display: block;
}
/* 縦長写真がPCで大きく表示されすぎる対策。ファイルの実サイズが縦長のものにのみ
   lrmnVクラスを付与している（3枚横並びグループ内では自動的に無効化される想定）。 */
@media (min-width: 768px) {
  .lrmnV {
    display: block;
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
}
/* 2026.0731 追加
   縦長写真(.lrmnV)の直後に、その写真だけの説明キャプション（font-size:90%のspan一段落）が
   続く場合は「グループ横並びの一員」ではなく「単体の縦長写真＋キャプション」とみなし、
   上のグループ化(31%幅)を打ち消して50%幅・中央寄せに戻す。キャプション側も同じ幅・中央寄せに
   揃えることで、キャプションの左端が写真の左端と一致するようにする。
   （キャプションを伴わない.lrmnVは、これまで通りグループ横並びの対象のまま） */
@media (min-width: 768px) {
  p:has(> img.lrmn.lrmnV:only-child):has(+ p > span[style*="font-size: 90%"]),
  div:has(> img.lrmn.lrmnV:only-child):has(+ p > span[style*="font-size: 90%"]) {
    display: block;
    width: 50%;
    margin: 0 auto 16px;
  }
  p:has(> img.lrmn.lrmnV:only-child):has(+ p > span[style*="font-size: 90%"])+p,
  div:has(> img.lrmn.lrmnV:only-child):has(+ p > span[style*="font-size: 90%"])+p {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
}
/* 2026.0728 追加ここまで */

/* 2026.0731 追加
   works-10060のみ、先方が本文冒頭を独自の見出し付きで書き換えたため、
   テンプレート側で自動出力されるタイトル再掲（.works_text_b）が二重見出しになっていた。
   この記事のみ非表示にする個別対応（全体のテンプレートは変更しない）。 */
.postid-10060 .works_text_b {
  display: none;
}