@charset "UTF-8";
/*
Theme Name: ex theme
Description: example
* 
* Bootstrap v4.1.3 (https://getbootstrap.com/)
*/
html {font-size: 62.5%;}
.wrapper {min-width: 0;}@media screen and (min-width: 481px) {.wrapper {min-width: 1180px;}}
/*@media screen and (min-width: 768px) and (max-width: 1000px) {.container{width: 100%;}} タブレット用*/
/*@media all and (-ms-high-contrast: none) {.wrapper {overflow: hidden;}} for IE*/
body{
  font-family: 'M PLUS 1p', "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  /*font-family: 'Noto Serif JP', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .05rem;
  /*font-feature-settings: "palt";*/
  /*word-wrap: break-word;
  overflow-wrap: break-word;*/
  word-break: break-all;
  -webkit-text-size-adjust:100%;
  /*text-align: justify;
  text-justify: inter-ideograph;*/
  animation: fadeIn 2s ease 0s 1 normal;
}
@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@media (min-width: 481px){body{padding-top:0}}img{max-width:100%;height:auto;vertical-align:bottom}p{line-height:1.7;text-align:justify;text-justify:inter-ideograph;}.fs-1{font-size:.5rem!important}.fs-2{font-size:.75rem!important}.fs-3{font-size:1rem!important}.fs-4{font-size:1.25rem!important}.fs-5{font-size:1.5rem!important}ul,ol{margin-left:2rem;margin-bottom:1.5rem;padding:0}li{line-height:1.7;}li:last-child{margin-bottom:0}main p a,main li a,main dd a{text-decoration:underline}main p a:hover,main li a:hover,main dd a:hover{text-decoration:none}a{color: #00afdd;text-decoration: underline;transition:.3s}a:hover{color:#00afdd}.table td,.table th{border-top:none;border-bottom:1px solid #dee2e6}div>table:last-child,div>ol:last-child,div>ul:last-child,div>ol>li:last-child,div>ul>li:last-child,div>p:last-child,td>ul:last-child{margin-bottom:0}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:2rem;font-weight:500;line-height:1.5}.anone{display:none}h1{font-size:5rem;margin-bottom:0;letter-spacing:.3rem;font-weight:normal;}h2{font-size:2.4rem}h3{font-size:1.8rem;}.caution{color:#ea4335;font-size:1.3rem}.form_inner:last-child{margin-top:4rem}.wpcf7 .ajax-loader{margin-bottom:-2rem}.wpcf7-form-control.wpcf7-submit.submit-btn{background-color:#3e3a39;border:none;color:#fff;font-size:1.4rem;height:40px;letter-spacing:.05rem;min-width:150px;padding-left:2.5rem;padding-right:2.5rem;transition:.3s}.wpcf7-form-control.wpcf7-submit.submit-btn:hover{background-color:#3e3a39;opacity:.8}@media (max-width: 480px){.form-inline>.input-group{display:block}}
@media (min-width: 576px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
p,dd,li,small,span,
.link-btn a,.link a {
/** M PLUS 1p を適用するとジャギる対策 (適宜編集してください) */
  transform: rotate(-0.05deg);
}
dd li {
/** 重複を無効にする */
  transform: rotate(0);
}

main>section:not(:first-child) {
  padding-top: 2rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 481px) {
  main>section:not(:first-child) {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
/* gutters */
.gutters-20 {
  margin-left: -20px;
  margin-right: -20px;
}
.gutters-20>[class*=col] {
  padding-left: 20px;
  padding-right: 20px;
}
.gutters-8 {
  margin-left: -8px;
  margin-right: -8px;
}
.gutters-8>[class*=col] {
  padding-left: 8px;
  padding-right: 8px;
}
.gutters-4 {
  margin-left: -4px;
  margin-right: -4px;
}
.gutters-4>[class*=col] {
  padding-left: 4px;
  padding-right: 4px;
}

/* common
--------------------------*/
@media (max-width: 480px) {
  .container {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.red {
  color: #ea4335;
  font-size: .8rem;
}

.gmap-wrapper {
  background: #f7f7f7;
  padding: .25rem;
}
.gmap.iframe-wrap,
.movie.iframe-wrap {
  height: 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.gmap.iframe-wrap {
  padding-bottom: 100.25%;
}
.movie.iframe-wrap {
  padding-bottom: 56.25%;
}
.iframe-wrap iframe {
  position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
  margin: auto;
  height: 100%;
  width: 100%;
}
.gmap iframe {
  height: 820px;
}
@media (min-width: 480px) {
  .gmap.iframe-wrap {
    padding-bottom: 100%;
  }
}
figure {margin: 0;}
.table {
  border-top: 1px solid #dee2e6;
}
a img {transition: .3s;}
a:hover img {/*transform: scale(1.05);*/opacity: .6;}
.button {
  position: relative;
  width: 100%;
}
@media (max-width: 480px) {
  .instructor-desc .movie {
    height: 0;
    overflow: hidden;
    position: relative;
    z-index: 10;
    padding-bottom: 56.25%;
  }
  .movie iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
  }
}
@media (max-width: 575.98px) {
  .table-responsive-sm{overflow-x:scroll;}
  .table-responsive-sm::-webkit-scrollbar{height:10px;}/*バーの太さ*/
  .table-responsive-sm::-webkit-scrollbar-track{background:#f0f0f0;}/*バーの背景色*/
  .table-responsive-sm::-webkit-scrollbar-thumb{background:#ddd;}/*バーの色*/
  .table-responsive-sm .table,
  .table-responsive-sm .grid-table {
    width: 875px;
    /*border: 1px solid #dee2e6;*/
  }
}
/* hover action */
article figure {
  overflow: hidden;
}
article a img {
  transition: .76s;
}
article a:hover img {
  transform: scale(1.2);
  opacity: 1;
}

/* link btn */
.link {
  text-align: center;
  margin-top: 2.5rem;
  ;
}
.link>.btn {
  background-color: rgba(62,58,57,1);
  border-radius: 0;
  color: #fff;
  font-size: 1.4rem;
  height: 45px;
  min-width: 170px;
  line-height: 45px;
  padding: 0 40px;
  transition: .3s;
  text-decoration: none;
}
.link>.btn:hover {
  background-color: rgba(62,58,57,.75);
}

.single .link {
  text-align: right;
}
.column .link>.btn,
.archive .link>.btn,
.category .link>.btn,
.single .link>.btn {
  background-color: transparent;
  color: #000;
  height: auto;
  min-width: auto;
  line-height: 1;
  padding: 0;
}
.category .link>.btn {margin: 0 1.5rem;}
.single .link>.btn {margin-left: 4rem;}
.column .link>.btn:hover,
.archive .link>.btn:hover,
.category .link>.btn:hover,
.single .link>.btn:hover {
  color: #00afdd;
}




/* bg-image */
.bg-image {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding-top: 56.25%;
}
.bg-image>span {
  display: none;
}
@media (min-width: 481px) {
  .bg-image {
    height: 100%;
    padding-top: 0;
  }
}


/* module
--------------------------*/
/* header */
#nav-bar {
  width: 100%;
}
header {
  width: 100%;
  height: 80px;
  background-color: #fff;
  z-index: 101;
}
@media all and (-ms-high-contrast: none) {body{margin-top: 80px}header{position: fixed;top: 0}}
@media (min-width: 481px) {
  header {
    min-width: 1140px;
    position: sticky;
    top: 0;
    transition: .3s;
  }
  #nav-bar {
    width: 100%;
    min-width: 1140px;
    margin: 0 auto;
    height: 100%;
  }
}
@media (max-width: 480px) {
  body{margin-top: 80px;}
  header {
    position: fixed;
    top: 0;
  }
}
@media (min-width: 1280px) {
  #nav-bar {
    padding-left: 40px;
    /*padding-right: 40px;*/
  }
}

.fixed-header {transition: .3s;box-shadow: 0 8px 8px -3px rgba(0,0,0,.1);}


 /* .brand */
header .brand {
  padding-left: 15px;
}
header h1 {
  z-index: 10;
  margin: 0;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .1rem;
}
.brand a {
  color: #fff;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-direction: column;
  flex-direction: column;
	-ms-flex-pack: center;
	justify-content: center;
}
header .brand img {
  max-width: 220px;
}
@media (min-width: 481px) {
  header .brand {
    align-self: center;
  }
}


/* .nav-area */
nav ul span {
  display: block;
  letter-spacing: .1rem;
}
nav ul {
  list-style: none;
  margin: 0;
}
nav ul li {
  margin: 0;
}
nav ul li a {
  color:#333;
  font-size: 14px;
  padding: 0 15px;
  display: block;
  position: relative;
  font-weight: 700;
  text-decoration: none;
}
nav ul li .official-site {
  border: 1px solid #333;
  margin-left: 1.75rem;
}
nav ul li .official-site a {
  padding-left: 8px;
  padding-right: 8px;
}

@media (min-width: 481px) {
  .nav-area {
    -ms-flex-item-align: center;
    align-self: center;
    padding-left: 15px;
    margin-left: auto;
  }
  nav ul {
    margin-left: -15px;
    margin-right: -15px;
  }
  nav ul li {
    border-left: 2px dotted #333;
  }
  nav ul li a {
    text-align: center;
  }
  nav ul li a:hover {
    color: #00afdd;
  }

  footer nav ul {
    -ms-flex-pack: center;
    justify-content: center;
  }
  nav label {
    display: none;
  }
}
@media (max-width: 480px) {
  .footer-nav ul li {
    margin: 0;
    width: 50%;
    margin-bottom: 1rem;
  }
  footer address {
    padding-top: .5rem;
  }
}

/* drawer */
#drawer-check {
  display: none;
}
@media (max-width: 480px) {
  .wrapper {
    overflow-x: hidden;
    position: relative;
  }
  .brand {
    position: relative;
    z-index: 10;
  }
  .brand a {
    height: 80px;
  }
  .nav-area {
    position: absolute;
    width: 100%;
    left: 0;
    height: 80px;
    z-index: 1;
    margin: 0 !important;
  }
  .nav-area nav {
    position: relative;
    height: 100%;
  }
  .nav-area nav label {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
  }

  #drawer-check:checked ~ .drawer-open span {
    background: rgba(255, 255, 255, 0);
  }
  #drawer-check:checked ~ .drawer-open span::before {
    top: 0;
    transform: rotate(45deg);
  }
  #drawer-check:checked ~ .drawer-open span::after {
    bottom: 0;
    transform: rotate(-45deg);
  }
  #drawer-check:checked ~ .nav-wrap {
    transform: translateX(0);
    box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);
  }
  .navbar-toggler {
    width: 1.75em;
    height: 1.75rem;
    position: relative;
    padding: 0;
    margin: 0 15px 0 0;
    border: none;
  }
  .navbar-toggler span, .navbar-toggler span:before, .navbar-toggler span:after {
    position: absolute;
    height: 3px;
    width: 1.75em;
    border-radius: 3px;
    background: #111;
    content: '';
    cursor: pointer;
    -webkit-transition: .3s;
    transition: .3s;
  }
  .navbar-toggler-icon {
    right: 0;
    position: relative !important;
  }
  .navbar-toggler span:before, .navbar-toggler span:after {
    width: 100%;
    left: 0;
  }
  .navbar-toggler span:before {
    top: -6px;
  }
  .navbar-toggler span:after {
    bottom: -6px;
  }
  .navbar-toggler[type=button]:not(:disabled),
  button.navbar-toggler:not(:disabled),
  .navbar-toggler span,
  .navbar-toggler span:before,
  .navbar-toggler span:after {
    cursor: auto;
  }
  .navbar-toggler {
    z-index: 200;
  }
  header .nav-wrap {
    background-color: #fff;
    border-top: 1px solid #ccc;
    display: -ms-flexbox!important;
    display: flex!important;
    -ms-flex-direction: column!important;
    flex-direction: column!important;
    height: calc(100vh - 80px);
    margin: 0;
    overflow-y: auto;
    padding: 0 1.5rem 2rem !important;
    position: absolute;
      top: 80px;
      left: 0;
      bottom: 0;
      -webkit-overflow-scrolling: touch;
    text-align: center;
    transition: .3s;
    transform: translateX(100%);
    width: 100%;
  }
  header nav ul {
    margin: 0;
    display: block !important;
  }
  nav ul li {
    border-bottom: 1px solid #ccc;
    padding: 0 15px;
    text-align: left;
  }
  header nav ul>li a {
    padding: 1.5rem 0;
    position: relative;
  }
  header nav ul>li a::after {
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    height: 12px;
    width: 12px;
  }

  header nav ul>li:last-child {
    background: #DD5E0D;
  }
  nav ul li .official-site {
    border: none;
    margin-left: 0;
  }
  nav ul li .official-site a {
    padding-left: 0;
    padding-right: 0;
    color: #fff;
    font-weight: normal;
  }
  .contact-ph {
    display: flex;
    justify-content: center;
    flex-grow: 1;
    width: 90%;
    margin: auto;
  }
  .contact-ph .inner {
    align-self: center;
    width: 100%;
    padding-left: 2rem;
    margin-bottom: 3rem;
  }
  .contact-ph .inner .ttl {
    font-size: 2rem;
  }
  header nav ul>li:last-child a::after {
    border-top-color: #fff;
    border-right-color: #fff;
  }
}

@media (min-width: 480px) {
  header .nav-wrap {
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-right: 290px;
  }
}

/* .contact-ph */
.contact-ph {
  background: url(images/bg-info.png) no-repeat center / contain;
  color: #fff;
}
@media (min-width: 480px) {
  .contact-ph {
    background-position: left bottom;
    background-size: auto;
    height: 160px;
    width: 260px;
    position: absolute;
    top: 0;
    right: 0;
    text-align: right;
    z-index: 10;
  }
  .contact-ph .inner {
    text-align: center;
    display: inline-block;
    padding-top: 1rem;
    padding-right: 1.5rem;
    width: 175px;
  }
  .contact-ph .inner dt {
    font-size: 1.8rem;
    letter-spacing: .15rem;
    text-indent: -1rem;
  }
  .contact-ph .inner .ph {
    margin-bottom: 1rem;
  }
}
@media (max-width: 480px) {
  .contact-ph {
    display: flex;
    justify-content: center;
    flex-grow: 1;
    width: 90%;
    margin: auto;
  }
  .contact-ph .inner {
    align-self: center;
    width: 100%;
    padding-left: 2rem;
    margin-bottom: 2rem;
  }
  .contact-ph .ttl {
    margin-bottom: 1rem;
  }
  .contact-ph .ph {
    margin-bottom: 1.25rem;
  }
}

/* #hero-slider 
---------------------------------------- */
#hero-slider {
  margin-top: -2.5rem;
  margin-bottom: -2.5rem;
  position: relative;
}
#hero-slider .slider {
  position: relative;
}
#hero-slider .carousel-cell>div {
  padding-top: calc(900/1600*100%);
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-position:top;
}
#hero-slider .desc {
  color: #232a51;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  padding-left: 4%;
  padding-right: 4%;
  width: 100%;
  max-width: 100%;
  z-index: 1;
}
#hero-slider .desc p {
  margin: 0;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: .25rem;
  line-height: 1.3;
  margin-bottom: 1.25rem;
}
#hero-slider .desc span {
  letter-spacing: .05rem;
  display: inline-block;
  line-height: 2;
}
@media (max-width: 479px) {
  #hero-slider .desc p {
    font-size: 9vw;
    margin-bottom: 1.25rem;
  }
  #hero-slider .desc span {
    line-height: 2;
  }
  #hero-slider .desc span br {
    display: none;
  }
}

#hero-slider .lead {
  color: rgba(62,58,57,1);
  font-size: 1.4rem;
  font-weight: 700;
  padding: 0 1rem;
  position: absolute;
    top: -5rem;
    left: 0;
  width: 100%;
  z-index: 1;
}
#hero-slider .lead p {
  text-align: center;
}
@media (min-width: 481px) {
  #hero-slider .lead {
    font-size: 2rem;
    text-align: center;
    top: -2.5rem;
  }
}

/* #page_header
---------------------------------------- */
#page_header {
  height: 150px;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
#page_header::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(62,58,57,.9);
  /*background: linear-gradient(90deg,#f7f7f7, #f2f2f2);*/
  z-index: -1;
}

#page_header #page-title {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateY(-50%);
  text-align: center;
  color: #fff;
  text-shadow: 1px 2px 3px #666666;
}
#page_header #page-title .maintitle {
  font-size: 8vw;
  word-break:keep-all;
  line-height: 1.3;
}
#page_header #page-title .subtitle {
  font-size: 1.25rem;
}
@media (min-width: 480px) {
  #page_header {
    height: 250px;
  }
  #page_header #page-title .maintitle {
    font-size: 5rem;
  }
}

/* bread_crumb
---------------------------------------- */
#bread_crumb {
  padding: 1rem 0;
  font-size: 13px;
  font-family: 'Noto Sans JP', sans-serif;
}
#bread_crumb span+.fas {
  margin: 0 .5rem;
}
#bread_crumb .row>div {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  width: 100%;
}

#bread_crumb.post ol {
  list-style: none;
  margin: 0;
}






/* slick slider
---------------------------------------- */
/* for centerMode */
.slider2 .slick-slide {
  margin-right:4px;
  margin-left:4px;
}
@media (min-width: 960px) {
  .slider2 .slick-slide {
    margin-right:8px;
    margin-left:8px;
  }
}
.slider .slick-slide {
  opacity: .15;
  transition: opacity .75s;
}
.slider .slick-center {
  opacity: 1;
}
.slick-arrow:before,.carousel_arrow:before{display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;-webkit-font-smoothing:antialiased;width:15px;height:15px;border:3px solid}.slick-arrow.slick-next:before,.carousel_arrow.next_item:before{content:'';left:0;right:0;border-color:#666 #666 transparent transparent;transform:rotate(45deg)}.slick-arrow.slick-prev:before,.carousel_arrow.prev_item:before{content:'';border-color:transparent transparent #555 #555;transform:rotate(45deg)}.slick-prev,.slick-next{font-size:0;line-height:0;position:absolute;top:50%;display:block;width:20px;height:20px;padding:0;-webkit-transform:translate(0,-50%);-ms-transform:translate(0,-50%);transform:translate(0,-50%);cursor:pointer;color:transparent;border:none;outline:none;background:transparent}.slick-prev:hover,.slick-prev:focus,.slick-next:hover,.slick-next:focus{color:transparent;outline:none;background:transparent}.slick-prev:hover:before,.slick-prev:focus:before,.slick-next:hover:before,.slick-next:focus:before{opacity:1}.slick-prev.slick-disabled:before,.slick-next.slick-disabled:before{opacity:.25}.slick-prev:before,.slick-next:before{font-family:'slick';font-size:20px;line-height:1;opacity:.75;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-prev{left:-25px}[dir='rtl'] .slick-prev{right:-25px;left:auto}.slick-prev:before{content:'←'}[dir='rtl'] .slick-prev:before{content:'→'}.slick-next{right:-25px}[dir='rtl'] .slick-next{right:auto;left:-25px}.slick-next:before{content:'→'}[dir='rtl'] .slick-next:before{content:'←'}@media (max-width: 480px){.slick-prev{left:0}.slick-next{right:0}.slick-arrow{z-index:7}}.slick-dotted.slick-slider{margin-bottom:0}.slick-dots{position:absolute;bottom:1rem;display:block;width:100%;padding:0;margin:0;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 5px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:none;background:transparent}.slick-dots li button:hover,.slick-dots li button:focus{outline:none}.slick-dots li button:hover:before,.slick-dots li button:focus:before{opacity:1}.slick-dots li button:before{font-family:'slick';font-size:2.5rem;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';text-align:center;opacity:.25;color:#232a51;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{opacity:.75;color:#232a51}
.slider .slick-prev{left:-25px;margin-left:12%;z-index: 1}
.slider .slick-next{right:-25px;margin-right:12%;z-index: 1}

/* pagetop */
.pagetop {
  position: relative;
  z-index: 100;
}
.pagetop a {
  width: 50px;
  height: 50px;
  display: block;
  background-color: rgba(255,255,255,.5);
  line-height: 40px;
  text-align: center;
  position: absolute;
  top: 0;
  right: 0;
}
.pagetop a:hover {
  opacity: .7;
}
.pagetop a::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 12px;
  height: 12px;
  border: 2px solid;
  border-color: #231815 #231815 transparent transparent;
  transform: rotate(-45deg);
}
.pagetop span {
  display: none;
}
@media (max-width: 479px) {
  .pagetop a {
    position: fixed;
    right: 0;
    top: auto;
    bottom: 45px;
  }
}

/* footer
---------------------------------------- */
footer {
  background: #3e3a39;
  position: relative;
}
.home footer {
  margin-top: -2.5rem;
}
@media (min-width: 480px) {
  .home footer {
    margin-top: -5rem;
  }
}
footer section {
  padding: 4rem 0;
}
@media (max-width: 480px) {
  footer section {
    padding: 3rem 0 2rem;
  }
}
footer .fut-brand img {
  width: 300px;
  max-width: 90%;
}
footer section .dl .dt {
  margin: 0 0 .5rem;
}
footer section .dl .dt,
footer section .dl .dt a {
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
}
footer section .dl .dd {
  margin: 0;
}
footer ul {
  margin-bottom: 0;
}
footer li {
  color: #fff;
}
footer a {
  color: #fff;
  font-size: 1.4rem;
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline;
}

/* footer signature */
footer .signature {
  position: relative;
}
@media (min-width: 480px) {
  footer .signature::before {
    content: "";
    width: 1px;
    height: 100%;
    background-color: #756d6b;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
  }
  footer .signature .inner {
    padding: .5rem 0 .25rem 6rem;
  }
}
footer .sns-link {
  margin-bottom: 1rem;
}
footer .sns-link img {
  max-width: 25px;
}
footer .fut-brand {
  color: #fff;
  font-size: 1.8rem;
  font-weight: 500;
}
footer address {
  color: #fff;
  display: block;
  font-size: 1.4rem;
  margin-bottom: 0;
  line-height: 1.428;
}
footer address a {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .1rem;
}
footer address>span {
  display: block;
  padding: .25rem;
}
footer .ac-menu input {
  display: none;
}
@media (max-width: 480px) {
  #ac-toggler-1:checked ~ .dd,
  #ac-toggler-2:checked ~ .dd {
    max-height: 75vh;
    opacity: 1;
    visibility: visible;
  }
  .ac-menu .dt label {
    display: block;
    margin-bottom: 0;
  }
  .ac-menu .dd {
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    transition: 1s;
    margin-top: -1rem;
  }
  .ac-menu .dt::after {
    border-top: 2px solid #ccc;
    border-right: 2px solid #ccc;
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin-top: auto;
    margin-bottom: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: .5s;
    height: 12px;
    width: 12px;
  }
  #ac-toggler-1:checked ~ .dt::after,
  #ac-toggler-2:checked ~ .dt::after {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
  }

  footer address .headOffice {
    margin: .25rem 0;
  }
  footer span.mail {
    margin-left: 0;
  }
  .ac-menu {
    border-top: 1px solid #756d6b;
    padding: 1.25rem 1.25rem 1.25rem .5rem;
  }
  .ac-menu .dt {
    margin: 0!important;
    position: relative;
  }
  footer .signature {
    width: 100%;
  }
  footer .signature .inner {
    border-top: 1px solid #756d6b;
    padding-top: 2.5rem;
  }
}

/* copyright */
footer .copyright {
  background: #3e3a39;
  border-top: 1px solid #756d6b; 
  padding: 1.2rem 1.5rem;
}
footer .copyright p {
  color: #fff;
  font-size: 1.3rem;
  text-align: center;
  position: relative;
  z-index: 101;
}

/* contents 
---------------------------------------- */
main > section {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
@media (min-width: 481px) {
  main > section {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.headline h2 {
  font-size: 3rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 1.5rem;
  letter-spacing: .5rem;
}
.headline h2 span {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .05em;
  ;
}
.headline +.desc {
  text-align: center;
  margin-bottom: 4rem;
}
@media (min-width: 481px) {
  .headline +.desc p {
    text-align: center;
  }
}
@media (max-width: 480px) {
  .headline h2 {
    font-size: 6.5vw;
    word-break: normal;
  }
}
#the_content {
  padding-top: 1rem;
  padding-bottom: 2.5rem;
}
body:not(.home) #the_content {
  padding-top: 2.5rem;
}
@media (min-width: 481px) {
  .home #the_content {
    padding-top: 2.5rem;
    padding-bottom: 5rem;
  }
  body:not(.home) #the_content {
    padding-top: 5rem;
  }
  .page #the_content {
    padding-bottom: 5rem;
  }
}
@media (max-width: 480px) {
  .home .thumb {
    margin-bottom: 1rem;
  }
}

/* @ page */
@media (min-width: 576px) and (max-width: 850px) {
  .page #the_content {
    min-height: 90vh;
  }
}
.page .headline h2>span {
  letter-spacing: .5rem;
  margin-right: -.5rem;
}
.page .title h3 {
  padding-bottom: 1.25rem;
  margin-bottom: 1.25rem;
  border-bottom: 12px solid #111;
}
.page .col-12 section:not(:last-child) {
  margin-bottom: 2.5rem;
}
.page .col-12 section .row:not(:last-child) {
  margin-bottom: 2.5rem;
}
@media (min-width: 481px) {
  .page .col-12 section:not(:last-child) {
    margin-bottom: 5rem;
  }
  .page .col-12 section .row:not(:last-child) {
    margin-bottom: 5rem;
  }
}
@media (max-width: 480px) {
  .page .thumb {
    margin-bottom: 1.25rem;
  }
}

/* #contact-us
---------------------------------------- */
main #contact-us {
  background: url(images/bg-wave-top.png) no-repeat center top / auto;
  padding-top: 8rem;
  overflow: hidden;
}
main #contact-us .inner {
  background: #F2EEED;
  padding-bottom: 5rem;
}
main #contact-us .row>div:nth-of-type(1) {
  margin-bottom: 2.5rem;
}
main #contact-us h2 {
  margin-bottom: 1.5rem;
}
main #contact-us p {
  margin-bottom: 0;
  line-height: 1.428;
  letter-spacing: normal;
}
@media (max-width: 480px) {
  main #contact-us p {
    margin-bottom: 1.2rem;
  }
}

/* category
---------------------------------------- */
.category .article-thumb {
  margin-bottom: .75rem;
}
.category article h3 {
  margin-bottom: 0;
}
@media (min-width: 481px) {
  .category article:not(:nth-last-child(-n+3)) {
    margin-bottom: 2.5rem;
  }
}
@media (max-width: 480px) {
  .category article {
    margin-bottom: 1.5rem;
  }
  .category article:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}
/* pagenation */
.pagenation {
  margin-top: 2.5rem;
  padding: 1.5rem;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.pagenation span,
.pagenation a {
  display: block;
  font-size: 1.4rem;
  color: #000;
  line-height: 1.5;
  margin-left: .5rem;
  margin-right: .5rem;
  padding: .5rem 1rem;
  border: 1px solid #333;
  text-decoration: none;
}
.pagenation i {
  font-style: normal;
}
.pagenation .current,
.pagenation a:hover {
  color: #fff;
  background: #000;
  border-color: #000;
}
.pagenation .dots {
  border: none;
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
	-ms-flex-item-align: end;
	align-self: flex-end;
}
/* .category.link>.btn */
.category.link>.btn {
  background-color: rgba(62,58,57,1);
  color: #fff;
}
.category.link>.btn:hover {
  background-color: rgba(62,58,57,.75);
}

/* archive
---------------------------------------- */
.archive .tax-title {
  color: rgba(62,58,57,1);
  display: block;
  font-size: 1.75rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 2.5rem;
}

/* single
---------------------------------------- */
.article-body .info {
  margin-top: -1.5rem;
  margin-bottom: 2rem;
}
.article-body .info ul {
  margin-left: 0;
}

@media (min-width: 576px) and (max-width: 820px) {
  .single #detail>.article-body {
    min-height: 55vh;
  }
}
.single .article-body {
  background: #fff;
  padding: 2rem;
  position: relative;
}
.single #detail {
  border:70px solid #eae5df;
  padding: 2rem 2rem 0;
}
#single-post>div>div:nth-child(2)#back_to_list {
  border-top: 2rem solid #eae5df;
}
.single .article-content p {
  margin-bottom: 1.5rem;
}
.single .article-title {
  font-size: 2.8rem;
  position: relative;
}
.single-post .article-title {
  padding-right: 8.5rem;
}
.single-post .category {
  position: absolute;
  bottom: 0;
  right: -1.5rem;
  z-index: 1;
  width: 100px;
  height: 100px;
}
.single .category.money {
  background: url(images/cate_money.png) no-repeat center / contain;
}
.single .category.design {
  background: url(images/cate_design.png) no-repeat center / contain;
}
.single .category.health {
  background: url(images/cate_health.png) no-repeat center / contain;
}
.single .category.region {
  background: url(images/cate_region.png) no-repeat center / contain;
}
.single .category.hobby {
  background: url(images/cate_hobby.png) no-repeat center / contain;
}
.single .category span {
  visibility: hidden;
}
@media (min-width: 750px) {
  .single .article-body {
    padding: 4rem;
  }
  .single #detail {
    padding: 7rem 7rem 0;
  }
  #single-post>div>div:nth-child(2)#back_to_list {
    border-top: 7rem solid #eae5df;
  }
}
@media (max-width: 480px) {
  .single-post .category {
    width: 60px;
    height: 60px;
    top: -3rem;
  }
  .single-post .article-title {
    padding-right: 6.75rem;
  }
}

.single h2,
.single h2.widget-title {
  font-size: inherit;
  font-weight: 500;
  line-height: 1.5;
}
.single h2.widget-title {
  text-align: left;
  margin-bottom: 1.5rem;
}
.single figure {
  margin-bottom: 0;
}
.single .link {
  margin-top: 1.2rem;
}
.widget_archive ul {
  margin: 0;
  list-style: none;
}
.widget_archive ul li a {
  text-decoration: none;
  color: #333;
}
.widget_archive ul li a:hover {
  color: #E3D0C3;
  text-decoration: underline;
}
@media (max-width: 480px) {
  .single h2 {
    font-size: 1.5rem;
  }
  .single .article-title h2 {
    font-size: 2rem;
  }
  .widget_archive {
    text-align: center;
    
  }
  .single h2.widget-title {
    text-align: center;
    margin-top: 2.5rem;
  }
}

/* #pager */
.single #pager {
  background-color: #eae5df;
  padding: 2rem 0;
}
.single #pager .prev {
  padding-left: 2rem;
  padding-right: .8rem;
}
.single #pager .next {
  padding-left: .8rem;
  padding-right: 2rem;
}
@media (min-width: 480px) {
  .single #pager {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .single #pager .prev {
    padding-right: 2rem;
  }
  .single #pager .next {
    padding-left: 2rem;
  }
}
@media (min-width: 750px) {
  .single #pager {
    padding-left: 7rem;
    padding-right: 7rem;
  }
  .single #pager .prev {
    padding-left: 0;
  }
  .single #pager .next {
    padding-right: 0;
  }
}
.single #pager a {
  color: #333;
  background-color: #fff;
  border: 1px solid #333;
  display: block;
  font-size: 1.5rem;
  padding: 1rem;
  position: relative;
  text-decoration: none;
  line-height: 1.428;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.single #pager a:hover {
  border-color: #b3b3b3;
  color: #00afdd;
  color: rgba(0,86,179,.75);
  text-decoration: underline;
}
.single #pager .prev a {padding-left: 3.5rem;}
.single #pager .next a {padding-right: 3.5rem;}
.single #pager .svg-inline--fa {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.single #pager .prev .svg-inline--fa {left: 1rem;}
.single #pager .next .svg-inline--fa {right: 1rem;}


/* post-list
---------------------------------------- */
.post-list h3 {
  font-size: 1.6rem;
  margin-bottom: 0;
}
.post-list {
  list-style: none;
  margin-bottom: 0;
}
.post-list .meta {
  list-style: none;
  margin: 0;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.post-list .date {
  font-weight: bold;
  font-size: 12px;
}
.post-list a {
  color: #333;
  text-decoration: none;
}
.post-list a:hover {
  color: #00afdd;
  text-decoration: underline;
}

/* 404 File not found.
---------------------------------------- */
.error404 #page_header h1 {
  font-weight: bold;
  letter-spacing: normal;
}
.error404 #page_header h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  margin: 0;
  white-space: nowrap;
  color: #fff;
  /*color: rgba(17,30,113,1);*/
}
#file_not_found {
  text-align: center;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
}
#file_not_found h2 {
  padding-left: 4%;
  padding-right: 4%;
  margin-bottom: 2.5rem;
}
#file_not_found p {
  text-align: center;
}
#file_not_found .svg-inline--fa.fa-w-18 {
  width: 2.5em;
  color: sandybrown;
}
#file_not_found .svg-inline--fa {
  height: 2.5em;
}

/* front-page
---------------------------------------- */
.headline {
  background: url(images/bg-title1.png) no-repeat center top;
  padding-top: 8rem;
}
#introduction .headline {
  background: url(images/bg-title2.png) no-repeat center top;
  color: #fff;
  position: relative;
  top: -4rem;
}
.home .link-btn {
  text-align: center;
  margin-top: 4rem;
  margin-bottom: 2rem;
  text-indent: -1rem;
  ;
}
.home .link-btn a {
  background: url(images/bg-link1.png) no-repeat center / auto 50px;
  color: #fff;
  display: inline-block;
  text-decoration: none;
  height: 50px;
  line-height: 45px;
  width: 300px;
}
#introduction .link-btn a {
  background: url(images/bg-link2.png) no-repeat center / auto 50px;
  color: #000;
}
.home .link-btn a:hover {
  opacity: .7;
}

/* HEROスライダー */
#hero-slider .slider {
  visibility: hidden;
  opacity: 0;
  transition: opacity .25s ease;
}
#hero-slider .slider.slick-initialized {
  visibility: visible;
  opacity: 1;
}

.slider .carousel-cell {
  position: relative;
}

#hero-slider .slider .carousel-cell .bg-image::after {
  content: "";
  background: url(images/bg-frame3.png) no-repeat center / cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
#hero-slider .slider .carousel-cell a {
  background: url(images/bg-frame3.png) no-repeat center / cover;
  display: block;
}
#hero-slider .slider .carousel-cell a>.bg-image {
  position: relative;
  transition: opacity .35s;
  z-index: -1;
}
#hero-slider .slider .carousel-cell a:hover .bg-image {
  opacity: .7;
}
#hero-slider .slider .carousel-cell a>.bg-image::after {
  content: none;
}

.slider .bg-image {
  background-position: center top 20%;
}
@media (min-width: 481px) {
  .slider .bg-image {
    height: 100%;
    padding-top: calc(600/1200*100%);
    border: 2px solid #fff;
  }
}

/* きくみるスライダー */
.slider2 .slick-list {
  padding-top: 4rem!important;
}
.slider2 .carousel-cell a {
  position: relative;
  display: block;
}
.slider2 .carousel-cell .bg-image {
  padding-top: 75%;
}
.slider2 .carousel-cell .cat_image {
  position: absolute;
  top: -35px;
  right: 0;
  width: 80px;
  opacity: 1;
  z-index: 1;
}
.slider2 .carousel-cell .tags {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.65);
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.5;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
}
.slider2 .carousel-cell a:hover .tags {
  opacity: 1;
  visibility: visible;
}
@media (min-width: 481px) {
  #cat-slider {
    margin-top: -5rem;
  }
}
@media (max-width: 480px) {
  .slider2 .carousel-cell .tags {
    font-size: 1.2rem;
  }
  .slider2 .carousel-cell .tags>span {
    padding-top: 3rem;
  }
  .slider2 .carousel-cell .tags br {
    display: none;
  }
}

/* くらしのヒントが見つかる場所「るるる」。 */
#living {
  background: url(images/bg-wave-top.png) no-repeat center top / auto;
  padding-top: 8rem;
  padding-bottom: 0;
  margin-bottom: -10rem;
  overflow: hidden;
}
#living>div {
  background: #f2eeed;
  padding-bottom: 16rem;
}

#living .nav-wrap {
  background: none;
  margin: 0 0 5rem;
  padding: 0;
  position: relative;
}
#living .nav-wrap::before {
  content: "";
  background: url(images/bg-rururu1.png) no-repeat center / contain;
  width: 265px;
  height: 100px;
  position: absolute;
  top: -5rem;
  right: -8rem;
  z-index: 3;
}
#living .inner {
  position: relative;
  text-align: center;
  z-index: 2;
}
#living .inner::after {
  content: "";
  background: url(images/bg-plan.png) no-repeat left bottom / cover;
  width: calc(100% - -20px);
  height: 100%;
  position: absolute;
  left: -20px;
  bottom: -20px;
  z-index: -1;
}
#living .inner ul {
  background: #fff;
  margin: 0;
  padding: 6rem;
  position: relative;
}
#living .inner ul li:not(:last-child)::after {
  content: "";
  background: url(images/bg-rururu2.png) no-repeat center / contain;
  width: 105px;
  height: 28px;
  position: absolute;
  top: 8rem;
  right: -6rem;
}
@media (max-width: 480px) {
  #living>div {
    padding-bottom: 10rem;
  }
  #living .inner>.row {
    padding: 2rem 1rem;
    margin-left: -4px;
    margin-right: -4px;
  }
  #living .inner>.row>li {
    -ms-flex-item-align: center;
    align-self: center;
    padding-left: 4px;
    padding-right: 4px;
  }
  #living .inner>.row>li:last-child figure {
    padding-right: 12px;
  }
  #living .nav-wrap::before {
    width: 120px;
    height: 50px;
    top: -3rem;
    right: -1rem;
  }
  #living .inner ul li:not(:last-child)::after {
    width: 40px;
    top: 2rem;
    right: -1.75rem;
  }
  #living .inner::after {
    left: -1.25rem;
    bottom: -0.75rem;
    width: 100%;
  }
}

/* 施設紹介 */
#introduction {
  background: url(images/bg_sisetsu_top.png) no-repeat center top / auto;
  padding-top: 13rem;
  padding-bottom: 0;
}
#introduction>div {
  background: #63524f;
  padding-bottom: 2.5rem;
}
.gallery {
}
.d-grid {
  margin: 0;
  display: grid;
  grid-template-columns: .5fr .7fr .8fr;
  grid-template-rows: auto;
  gap: 4px 4px;
  grid-auto-flow: row;
  grid-template-areas:
    "item-1 item-1 item-2"
    "item-1 item-1 item-5"
    "item-3 item-4 item-5";
}
.item-1 { grid-area: item-1;}
.item-2 { grid-area: item-2;}.item-2 img{height: 100%}
.item-3 { grid-area: item-3;}.item-3 img{height: 100%}
.item-4 { grid-area: item-4;}.item-4 img{height: 100%}
.item-5 { grid-area: item-5;}.item-5 img{height: 100%}
.d-grid>[class^=item-] img {
  display: block;
  object-fit: cover;
  width: 100%;
}

/* コラボパートナー */
#colabo-partner {
  background: 
    url(images/bg_partner_top_parts.png) no-repeat right 2rem bottom 2rem / 150px auto,
    url(images/bg-grain.jpg) no-repeat left top / cover;
}
.slider3 .carousel-cell {
  padding-left: 2rem;
  padding-right: 2rem;
}
.slider3 .carousel-thumb {
  background: url(images/border-circle.png) no-repeat center /contain;
  margin-bottom: 2rem;
  padding: .75rem;
}
.slider3 .carousel-thumb figure {
  margin-left: auto;
  margin-right: auto;
  width: 150px;
  height: 150px;
  overflow: hidden;
  border-radius: 100%;
}
@media (min-width: 481px) {
  .slider3 h3 {
    font-size: 1.8rem;
    text-align: center;
  }
  .carousel-footer {
    text-align: center;
}
}
@media (max-width: 480px) {
  #colabo-partner {
    background-size:  100px auto, cover;
    background-position: right -3rem bottom 2rem, left 12% top;
  }
}

/* つくる（ライフプラン） */

#create {
  background: 
    url(images/bg-wave-top.png) no-repeat center top / auto,
    url(images/bg-wave-bottom.png) no-repeat center bottom / auto;
  padding-top: 8rem;
  padding-bottom: 8rem;
}
#create>div {
  background: #f2eeed;
}
#create .planner-wrap {
  background: none;
  margin: 0 0 5rem;
  padding: 0;
}
#create .planner-wrap #planner::before {
  content: none;
}
#create .inner {
  background: #fff;
  margin: 0;
  padding: 4rem;
  position: relative;
  z-index: 2;
}
.planner-wrap .inner::after {
  content: "";
  background: url(images/bg-plan.png) no-repeat left bottom / cover;
  width: calc(100% - -20px);
  height: 100%;
  position: absolute;
  left: -20px;
  bottom: -20px;
  z-index: -1;
}

@media (max-width: 480px) {
  #create {
    padding-bottom: 4rem;
  }
  #create .link-btn {
    margin-top: -2rem;
  }
}


/* かなえる（お客様の声） */
#dream-ct {
  margin-bottom: 2rem;
}
.slider4 article {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
#voice {
  position: relative;
}
#voice::before,
#voice::after {
  content: "";
  width: 100px;
  height: 100px;
  position: absolute;
  z-index: 1;
}
.home #voice::before {
  background: url(images/bg-star1.png) no-repeat left top / contain;
  top: -7rem;
  left: 1rem;
}
.home #voice::after {
  background: url(images/bg-star2.png) no-repeat right bottom / contain;
  right: 0;
  bottom: -7rem;
}
#voice h3 {
  text-align: center;
  font-weight: 600;
  padding: .75rem 0;
  margin-bottom: .5rem;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#voice .slick-prev, #voice .slick-next {
  margin-top: -6rem;
}
@media (max-width: 480px) {
  .home #voice::after {
    right: -25px;
    bottom: -6rem;
  }
  .home #voice::before {
    top: -4rem;
    left: -2rem;
  }
}

/* スマホアプリ */
#app .inner {
  background: #ef7f61;
  border-radius: 2.5rem;
  padding: 4rem;
  color: #fff;
}
#app .large {
  display: inline-block;
  font-size: 3.2rem;
}
@media (max-width: 480px) {
  #app .inner p {
    text-align: left;
    margin-bottom: 2.5rem;
  }
  #app .inner figure {
    margin-bottom: 1rem;
    text-align: center;
  }
}






/* post-area */
.post-area.container {position: relative;}
.home .card-group>.card {
  border: none;
  border-radius: 0;
  margin-bottom: 0;
}
@media (min-width: 480px) {
  .home .gmap.iframe-wrap {
    padding-bottom: 72%;
  }
}


/* page-ライフプラン
---------------------------------------- */
.item-2.align-items-center {
    padding-right: 130px !important;
}

/* grid-table */
.grid-table-wrap {
  padding: 5rem 1.5rem .4rem;
}
.grid-table .thead {
  background: #fff;
  line-height: 1.3;
  width: 1em;
}
.grid-table .thead .tr {
  height: 100%;
}
.grid-table .thead .th {
  -ms-flex-item-align: center!important;
  align-self: center!important;
  height: 50%;
  width: calc(100% - 3rem);
  position: relative;
}
.grid-table .thead .th span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.grid-table .tbody {
  padding-right: 15px;
  padding-left: 15px;
  width: calc(100% - 2em);
}
.grid-table .tbody .tr:nth-of-type(1) {
  margin-bottom: 2rem!important;
}
.grid-table .tbody .td {
  width: 31.5%;
  position: relative;
}
.grid-table .tbody .tr .td::before {
  content: "";
  position: absolute;
  top: -35px;
  right: -15px;
  margin: auto;
  height: 100px;
  width: 100px;
  z-index: 1;
}
.grid-table .tbody .tr:nth-of-type(1) .td:nth-of-type(1)::before {
  background: url(images/plan-image01.png) no-repeat center / contain;
}
.grid-table .tbody .tr:nth-of-type(1) .td:nth-of-type(2)::before {
  background: url(images/plan-image02.png) no-repeat center / contain;
}
.grid-table .tbody .tr:nth-of-type(1) .td:nth-of-type(3)::before {
  background: url(images/plan-image03.png) no-repeat center / contain;
}
.grid-table .tbody .tr:nth-of-type(1) .td:not(:nth-of-type(3))::after {
  content: "";
  position: absolute;
  top: 0;
  right: -20px;
  bottom: 0;
  margin: auto;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 15px solid #333;
  height: 15px;
  width: 15px;
  z-index: 1;
}
.grid-table .tbody .tr:nth-of-type(2) .td::before,
.grid-table .tbody .tr:nth-of-type(2) .td::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  height: 15px;
  width: 15px;
}
.grid-table .tbody .tr:nth-of-type(2) .td::before {
  top: -29px;
  border: 15px solid transparent;
  border-bottom: 15px solid #9bd1dd;
  z-index: 1;
}
.grid-table .tbody .tr:nth-of-type(2) .td::after {
  top: -25px;
  border: 15px solid transparent;
  border-bottom: 15px solid #eefcff;
  z-index: 2;
}
.grid-table .tbody .td .inner {
  height: 100%;
}
.grid-table .tbody .tr:nth-of-type(1) .inner {
  background: #fffcee;
  border: 1px solid #ddd8c3;
  padding: 1.5rem 2.5rem;
}
.grid-table .tbody .tr:nth-of-type(1) .inner p {
  line-height: 1.6;
}
.grid-table .tbody .tr:nth-of-type(2) .inner {
  background: #eefcff;
  border: 3px solid #9bd1dd;
  line-height: 1.428;
  padding: 1.5rem;
}
.grid-table .tbody .td .inner p.dt {
  color: #f96e86;
  font-size: 1.8rem;
  line-height: 1.428;
  margin-bottom: 2rem;
  padding-right: 8rem;
}
.grid-table .tbody .td .inner dt {
  color: #31adc9;
  font-size: 1.8rem;
  line-height: 1.428;
  margin-bottom: 1rem;
  text-align: center;
}
.grid-table .tbody .td dl,
.grid-table .tbody .td dd {
  margin: 0;
}
/* flow */
.flow {
  counter-reset: count;
  margin-top: 8rem;
  position: relative;
}
.flow [class^=section] {
  margin: 0 0 4rem;
  padding-bottom: 4rem;
  position: relative;
}
.flow [class^=section]:last-child {
  margin: 0;
  padding-bottom: 0;
}
.flow [class^=section]>h3::before {
  content: "";
  display: block;
  width: 60px;
  height: 55px;
  background: #00afdd;
  border-radius: 1rem;
  position: absolute;
  top: 0;
  left: 0;
}
.flow [class^=section]>h3 {
  font-size: 3.6rem;
  padding:0 0 0 7rem;
}
.flow h4 {
  font-size: 2rem;
  text-align:center;
  margin: 10px 0 10px 0;
  padding:0;
}
.flow [class^=section]>h3::after {
  color: #fff;
  counter-increment: count;
  content: '0' counter(count);
  position: absolute;
  font-size: 35px;
  font-weight: bold;
  top: 2px;
  left: 8px;
 }
.flow .body {
  margin-top: 2.5rem;
  padding: 0 0 1rem;
}
/* contents */
.life_plan h2 {
  text-align: center;
  margin-bottom: 4rem;
}
.life_plan h2 span {
  background: url(images/bg-border01.png) repeat-x center bottom / auto 6px;
  display: inline-block;
  padding: 0 4rem .4rem;
}
.section-1 .imp {
  display: block;
  border: 3px solid #f4f0ed;
  margin-top: 2rem;
  margin-bottom: 2.5rem;
  padding: 1rem;
  text-align: center;
}
.section-1 .lead {
  display: block;
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
}
.section-2 .item-1,
.section-2 .item-2 {
  border-radius: 1.5rem;
  padding: 2.5rem;
  height: 100%;
  position: relative;
}
.section-2 .item-1 {
  background-color: #f4f0ed;
}
.section-2 .item-2 {
  background-color: #f8f9dc;
}
@media (min-width: 480px) {
  .section-2 .item-1::before,
  .section-2 .item-2::before {
    content: "";
    height: 100px;
    width: 100px;
    position: absolute;
    bottom: 0;
    right: 2rem;
  }
  .section-2 .item-1::before {
    background: url(images/bg-merit01.png) no-repeat center / contain;
  }
  .section-2 .item-2::before {
    background: url(images/bg-merit02.png) no-repeat center / contain;
  }
  .section-2 .item-1 {
    margin-right: 2.5rem;
  }
  .section-2 .item-2 {
    margin-left: 2.5rem;
  }
  .section-2 .item-1::after {
    content: "";
    position: absolute;
    top: 0;
    right: -5rem;;
    bottom: 0;
    margin: auto;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 20px solid #f4f0ed;
    height: 20px;
    width: 20px;
    z-index: 1;
  }
}

.section-2 .item-3 {
  margin-top: 2rem;
  padding: 1.5rem 2.5rem;
  border: .8rem solid #f4f0ed;
}
.section-3 .item-1 {
  min-width: 650px;
  padding-bottom: .4rem;
}
.planner-wrap {
  background: url(images/bg-plan.png) no-repeat left bottom / cover;
  margin-top: 15rem;
  padding: 0 0 5rem 5rem;
}
.planner-wrap #planner {
  position: relative;
}
.planner-wrap #planner::before {
  content: "";
  background: url(images/bg-text.png) no-repeat center / contain;
  height: 85px;
  width: 267px;
  position: absolute;
  top: -12rem;
  right: 3rem;
}
@media (max-width: 480px) {
  .life_plan h2 span {
    padding: 0 0 1rem;
  }
  .flow {
    margin-top: 5rem;
  }
  .flow [class^=section] {
    margin: 0;
  }
  .section-2 .row>div:first-child {
    margin-bottom: 4rem;
  }
  .section-2 .item-1::after {
    content: "";
    position: absolute;
    top: auto;
    right: 0;
    left: 0;
    bottom: -3rem;
    margin: auto;
    border-top: 20px solid #f4f0ed;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    height: 20px;
    width: 20px;
    z-index: 1;
  }
  .life_plan .planner-wrap #planner::before {
    content: none;
  }
  .life_plan .planner-wrap {
    background: none;
    margin-top: 5rem;
    padding: 0;
  }
  .life_plan #planner-list {
    margin-top: 4rem;
  }
}

/* planner
---------------------------------------- */
#planner>li:not(:last-child) {
  margin-bottom: 4rem;
}
#planner .article-body,
#planner h3 ,
#planner p {
  font-size: 1.4rem;
  line-height: 1.428;
}
#planner h3 {
  text-align: center;
  padding: .5rem 0;
}
#planner p {
    text-align: center;
}

@media (min-width: 480px) {
  #planner>li:nth-last-child(-n+3) {
    margin-bottom: 0;
  }
}
@media (max-width: 480px) {
  .planner-wrap #planner {
    margin-right: -8px;
    margin-left: -8px;
  }
  .planner-wrap #planner>li {
    padding-right: 8px;
    padding-left: 8px;
    margin-bottom: 2.5rem;
  }
  #create .inner {
    padding: 0;
    background-color: transparent;
  }
  #create .inner>div {
    background-color: #fff;
    margin-right: 0;
    margin-left: 0;
    padding: 3rem 0 0;
  }
  .planner-wrap .inner::after {
    content: none;
  }
  .planner-wrap .inner .col-auto {
    margin-bottom: 4rem;
  }
}

/* voice
---------------------------------------- */
.archive .voice h1 span {
  display: block;
  font-size: 1.6rem;
}
.archive #voice>li {
  margin: 0 0 4rem;
}
@media (min-width: 480px) {

}

/* イベント・コラム
---------------------------------------- */
.column #event-column {
  padding-top: 0;
}
.column .h2-title {
  background: url(images/bg-border01.png) repeat-x center bottom / auto 6px;
  display: inline-block;
  padding: 0 1.5rem 0.4rem;
}

#event-column .nav {
  background-color: #00afdd;
  color: #fff;
  margin: 0 0 4.25rem;
  border-radius: 1.25rem;
}
@media (min-width: 481px) {
  #event-column .nav {
    margin-bottom: 6rem;
  }
}
#event-column .nav li {
  -ms-flex: auto;
  flex: auto;
  text-align: center;
  position: relative;
  transform: rotate(0);
}
#event-column .nav li:not(:last-child)::after {
  content: "";
  border-right: 2px dotted #fff;
  width: 2px;
  height: 50%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
#event-column .nav input {
  display: none;
}
#event-column .nav label {
  cursor: pointer;
  margin: 0;
  width: 100%;
  height: 70px;
  line-height: 70px;
  transition: .3s;
  position: relative;
}
#event-column .nav label:hover {
  opacity: .7;
}
#event-column .nav label.active {
  cursor: text;
}
#event-column .nav a {
  color: #fff;
}
#event-column article {
  position: relative;
}

#event-column .article-thumb {
  position: relative;
}
#event-column .article-thumb::before {
  content: "";
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: -.5rem;
  bottom: -.5rem;
  z-index: -1;
}
#event-column .article-thumb::after {
  content: "";
  background-color: rgba(0,0,0,.2);
  background-image: repeating-linear-gradient(-45deg,#fff, #fff 3px, transparent 0, transparent 5px);
  width: 100%;
  height: 100%;
  position: absolute;
  left: -1.25rem;
  bottom: -1.25rem;
  z-index: -2;
}

#event-column .category {
  position: absolute;
  top: -4rem;
  right: 0;
  z-index: 1;
  width: 100px;
  height: 100px;
}
#event-column .category.money {
  background: url(images/cate_money.png) no-repeat center / contain;
}
#event-column .category.design {
  background: url(images/cate_design.png) no-repeat center / contain;
}
#event-column .category.health {
  background: url(images/cate_health.png) no-repeat center / contain;
}
#event-column .category.region {
  background: url(images/cate_region.png) no-repeat center / contain;
}
#event-column .category.hobby {
  background: url(images/cate_hobby.png) no-repeat center / contain;
}
#event-column .category span {
  visibility: hidden;
}
#event-column .post-list li {
  margin-bottom: 8rem;
  padding-left: 30px;
}
#event-column .post-list h3 {
  margin-top: 2rem;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
/* active maker */
#event-column .nav label::after {
  content: "";
  border-color: transparent;
  position: absolute;
  bottom: 0;
  transition: .3s;
}
#event-column .nav label.active::after,
.column #event-column .nav label.active::after {
  content: "";
  border-top: 10px solid #00afdd;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  margin: auto;
  width: 12px;
  height: 10px;
}
#event-column .nav label.active:hover {
  opacity: 1;
}
@media (min-width: 481px) {
  .home #event-column .post-list li:nth-last-child(-n+3) {
    margin-bottom: 0;
  }
}
@media (max-width: 575.98px) {
  #event-column .nav-wrap {overflow-x:scroll;}
  #event-column .nav-wrap ::-webkit-scrollbar{height:10px;}/*バーの太さ*/
  #event-column .nav-wrap ::-webkit-scrollbar-track{background:#f0f0f0;}/*バーの背景色*/
  #event-column .nav-wrap ::-webkit-scrollbar-thumb{background:#ddd;}/*バーの色*/
  #event-column .nav-wrap .nav {
    width: 1000px;
    /*border: 1px solid #dee2e6;*/
  }
}
@media (max-width: 480px) {
  #event-column .link-btn {
    margin-top: 2rem;
  }
  .column #bread_crumb {
    margin-bottom: 2rem;
  }
  #event-column .post-list li {
    margin-bottom: 6rem!important;
  }
  #event-column .post-list li:last-child {
    margin-bottom: 2rem!important;
  }
  #event-column .category {
    width: 80px;
    height: 80px;
  }
}

/* post
---------------------------------------- */
@media (min-width: 481px) {
  .archive #post>li:not(:nth-child(-n+3)) {
    margin-top: 1.75rem;
  }
}
@media (max-width: 480px) {
  #post>li:not(:last-child) {
    margin-bottom: 1.25rem;
  }
}

/* Print
---------------------------------------- */
@page {margin: 0;}
@media print {
  body {
    width: 1140px;
    transform: scale(0.8);
    -moz-transform: scale(0.8);
    -webkit-transform: scale(0.8);
    transform-origin: 0 0;
  }
}
/*
その他、[only screen]と[print, screen]で振り分けて適宜編集すること
*/
.wp-block-image figcaption {
    /* margin-top: 0.5em; */
    margin-bottom: 1em;
    text-align: center;
}

/*   ライフプラン追加  */
table.lifeplan{
border:1px solid #666666;
}
table.lifeplan th,
table.lifeplan td{
border-bottom:1px solid #666666;
border-right:1px solid #666666;
}
table.lifeplan th{
text-align:center;
vertical-align:middle;
background-color:#fffae9;
}

@media (max-width: 480px) {
.flow h3{
    font-size: 2.5rem !important;
    padding: 0 0 0 5.5rem !important;
  }
.flow h3::before {
    width: 45px !important;
    height: 40px !important;
}
.flow h3::after {
    font-size: 25px !important;
}
.flow .item-2.align-items-center {
    padding-right: 0px !important;
}
table.lifeplan{
overflow: scroll;
}
.section-4 {
    margin-top: 4rem !important;
}
h1 {
    font-size: 3rem;
}
}
.article-thumb {
    /*width: 80%;*/
    width: 93%;
    margin: 0 auto;
}
#detail h2{
	font-size:3rem;
	margin-top:50px;
}
#detail figure.wp-block-table{
    border-collapse: collapse;
    margin: 1rem auto 2rem;
    padding: 0;
    width: 100%;
    table-layout: fixed;
    color: #666666;
    border-top: 2px solid #000000;
    font-family: 'M PLUS 1p', "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
#detail figure.wp-block-table th,
#detail figure.wp-block-table td{
	padding:1rem 0;
}
#detail figure.wp-block-table tr {
    background-color: #fff;
    padding: 0.35em;
    border-bottom: 1px dotted #666666;
}
#detail figure.wp-block-table tr:last-child {
    border-bottom: 2px solid #000000;
}

.gallery {
    max-width: 1140px;
    margin: 0 auto;
}

.font-large {
    font-size: 1.8rem;
}


@media (max-width: 480px) {
.single #detail {
  border:0;
  padding: 2rem 2rem 0;
}
#detail figure.wp-block-table{
	font-size:2rem;
}
#detail figure.wp-block-table tr:not(:last-child) {
    margin-bottom:0;
}
#detail figure.wp-block-table tr {
    display: block;
    border-bottom: 2px solid #000000;
}
#detail figure.wp-block-table th {
    display: block;
    border-right: none;
    border-bottom: 2px solid #000000;
    padding-bottom: 0.6em;
    margin-bottom: 0.6em;
}
#detail figure.wp-block-table td {
    border-bottom:0;
    display: block;
    font-size: .8em;
    position: relative;
    padding:0;
    border-right: none;
}
#detail figure.wp-block-table td:first-child {
    font-weight:bold;
}
.single #detail {
    padding: 0;
    background-color:#FFFFFF;
}
#detail .article-body {
    padding: 2rem 0 0 0;
}
.article-thumb {
    width: 100%;
    margin: 0;
}
}

