@charset "UTF-8";
/*
Theme Name: 社会福祉法人 長井市社会福祉協議会
Description: 
* 
* Bootstrap Grid v5.3.0 (https://getbootstrap.com/)
*/
html {font-size: 62.5%;scrollbar-gutter: stable;}
*, *::before, *::after {
  box-sizing: border-box;
}
body {
  padding-top:100px; /* ヘッダーの高さに合わせて変える */

  color: #333333;
  /*font-family: "Noto Sans JP","游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;*/
  font-family: "M PLUS 1","游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-feature-settings: "palt";
  font-size: 1.6rem;
  -webkit-text-size-adjust: 100%; /* iOS の勝手な拡大を防ぐ */
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .05em;
  margin: 0;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-text-size-adjust:100%;
  animation: fadeIn 2s ease 0s 1 normal;
}
:where(h1,h2,h3,h4,h5,h6,p,dl,.table,address,ul,ol) {margin: 0;}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
button, input, select, textarea { font: inherit; margin: 0; }
address {font-style: normal;}
@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}
/*:where(h1,h2,h3,h4,h5,h6,p,dl,.table,address,ul,ol,h4+a) {transform:rotateZ(0.03deg);}*/
a {color:#333;transition: opacity .3s,background-color .3s,color .3s;text-decoration: none;}a:hover{text-decoration: none;}
a:hover {color:#b3b3b3}
.page [class^=post] a,.single [class^=post] a {color:#0066cc;text-decoration: underline;}
.page [class^=post] a:hover,.single [class^=post] a:hover {opacity: .7;text-decoration: none;}
#content>* {
  padding-top: clamp(4rem, 4rem + 4vw, 8rem);
  padding-bottom: clamp(4rem, 4rem + 4vw, 8rem);
}
/*main{overflow: hidden;}*/

/* gutters */
@media (min-width: 992px) {
  .gutt-2 {
    margin-left: -2rem;
    margin-right: -2rem;
  }
  .gutt-2>[class*=col] {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .gutt-3 {
    margin-left: -2.5rem;
    margin-right: -2.5rem;
  }
  .gutt-3>[class*=col] {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .gutt-4 {
    margin-left: -3rem;
    margin-right: -3rem;
  }
  .gutt-4>[class*=col] {
    padding-left: 3rem;
    padding-right: 3rem;
  }
  .gutt-5 {
    margin-left: -3.5rem;
    margin-right: -3.5rem;
  }
  .gutt-5>[class*=col] {
    padding-left: 3.5rem;
    padding-right: 3.5rem;
  }
}
body:not(.page):not(.single) ul:not(.row),body:not(.page):not(.single) ol:not(.row) {
  list-style: none;margin-left: 0;
}
@media only screen and (max-width: 991.98px) {
  ul.row>li,ol.row>li {
    padding-bottom: 3rem;
  }
}

/* common
--------------------------*/
td a[href*="tel:"] {
  color:#333!important;
  text-decoration: none;
}
@media (min-width: 750px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
    color:#333;
  }
}
.text-start {text-align: left!important}
.text-center {text-align: center!important}
.text-end {text-align: right!important}
.list-unstyled {margin-left: 0;padding-left: 0;list-style: none;}
sup {font-size: 1rem;}
.red {
  color: #ea4335;
  font-size: .8rem;
}

.gmap-wrapper {
  background: #f7f7f7;
  padding: .25rem;
}
.gmap.iframe-wrap,
.movie.iframe-wrap {
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.gmap.iframe-wrap {
  aspect-ratio: 16 / 9;
}
.movie.iframe-wrap {
  aspect-ratio: 16 / 9;
}
.iframe-wrap iframe {
  position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
  margin: auto;
  height: 100%; /* 星評価を隠すのはダメ */
  width: 100%;
}
/*@media (min-width: 480px) {
  .gmap.iframe-wrap {
    padding-bottom: 43.25%;
  }
}*//*
.gmap iframe {
  height: calc(100%*2.75);
}*/

figure {margin: 0;}
.table {
  border-top: 1px solid #dee2e6;
}
table td {word-break: break-all;}
a img {transition: opacity .3s, transform .3s;}
a:hover img {/*transform: scale(1.05);*/opacity: .6;}
.button {
  position: relative;
  width: 100%;
}
@media only screen and (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 only screen and (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;}/*バーの色*/
  #w-576.table-responsive-sm .table {
    width: 576px;
  }
  .table-responsive-sm .table {
    width: 750px;
    border: 1px solid #dee2e6;
  }
  .table-responsive-sm .obj {
    width: 576px;
  }
  .table-xs th {
    display: block;
    width: 100%;
  }
  .table-xs td {
    display: block;
    width: 100%;
    margin-bottom: 1.5rem;
  }

  .table-responsive-row th,
  .table-responsive-row td {
    display: block;
    width: 100%!important;
    word-break: break-word;
  }
  .table-responsive-row table,
  .table-responsive-row td {
    border: none;
  }
  .table-responsive-row th {
    border-top: 1px solid #dee2e6;
    padding-left: 1rem;
    text-align: left!important;
  }
  .table-responsive-row td {
    padding-bottom: 1.75rem!important;
  }
}

@media only screen and (max-width: 767.98px) {
  .overflow-md-auto {overflow: auto;}
  .overflow-md-auto img {min-width: 650px;}
}
@media only screen and (max-width: 781.98px) {
  .no-gap782 {gap: .75rem;}
}



/* hover action */
article figure, a figure {
  overflow: hidden;
}
article a img, a figure img {
  transition: transform .76s;
}
article a:hover img, a:hover figure img {
  transform: scale(1.2);
  opacity: 1;
}

/* link btn */
.link {
  text-align: center;
  margin-top: 2.5rem;
}
@media (min-width: 768px) {
  .link {
    margin-top: 4rem;
  }
}

.link .btn {
  background-color: #222;
  border-color: transparent;
  border-radius: 100vw;
  color: #fff;
  font-size: 1.3rem;
  /*font-weight: normal;*/
  /*width: 255px;*/
  margin: .5rem;
  max-width: 90%;
  padding: 1rem 2.5rem;
  text-decoration: none;
  transition: background-color .3s;
}
.link .btn:hover {
  background-color: #555;
  color: #fff;
}
.link  svg {
  transition: color .35s;
}

/* bg-image */
.bg-image {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  /* padding-top: 56.25%; */
  aspect-ratio: 16 / 9;
}
.bg-image>span {
  display: none;
}
.page .bg-image {
  margin-top: 1.5rem;
}
@media (min-width: 992px) {
  .page .bg-image {
    margin-top: 0;
  }
} /*
@media only screen and (max-width: 992px) {
  header .brand img {
    max-height: 58px;
  }
}*/

/* header 
-----------------------------------------------*/
header {
  background-color: #fff;
  height: 100px;
  position: fixed;
  top: 0;
  transition: transform .15s;
  width: 100%;
  z-index: 90;
}
#nav-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
}

header nav {
  display: block;
}
#nav-bar {
  width: 100%;
}
@media (min-width: 1021px) {
  #nav-bar {
    margin: 0 auto;
    height: 100%;
    width: 100%;
  }
}
#nav-bar {
  padding-left: 20px;
  padding-right: 20px;
}
.nav-area {
  margin: 0 auto;
  z-index: 1;
}
@media (min-width: 1090px) {
  #nav-bar {
    padding-left: 40px;
    padding-right: 40px;
  }
  .nav-area {
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.sticky, .isScroll {
  /*transition: transform .75s;
  transform: translateY(0)!important;*/
  box-shadow: 0 8px 8px -3px rgb(0 0 0 / 4%);
}

/* .brand */
header #nav-bar .brand {
  position: relative;
  z-index: 2;
}

header .site-logo {
  align-items: center;
  display: flex;
  height: 100%;
  margin: 0;
}
.brand img, .footer-brand img {
  transition: opacity .35s;
  width: clamp(250px, 24vw, 498px); 
}

/*
@media (min-width: 480px) {
  header .brand img {
    max-width: 280px;
  }
}*//*
@media (min-width: 992px) {
  .brand a {
    display:-ms-flexbox;
    display:flex;
  }
} *//*
@media only screen and (max-width: 992px) {
  .brand {
    max-width: calc(100% - 95px); /* iosでの意図しない挙動の対策（バグ？正常？）* /
    align-self: center;
  }
}
*/

/* .nav-area */
nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
nav ul li {
  margin: 0;
}


/* drawer @ アクセシビリティ対応 */
@media (min-width: 1090.02px) {
  #drawer-check {
    display: none;
  }
}
@media only screen and (max-width: 1090px) {
  /* body {position: relative;} */
  #nav-bar {
    display: flex;
    justify-content: flex-start;
    height: 100%;
    position: relative;
  }
  .nav-area {
    height: 100%;
  }
  .nav-area nav {
    height: 100%;
  }
}


/* header .search 
---------------------------------------- */
header .search .input-button {
  display: flex;
  align-items: center;
}
header .search input {
  border-top-left-radius: 1rem;
  border-bottom-left-radius: 1rem;
  border: 1px solid transparent;
  border-right: none;
  height: 50px;
  width: clamp(160px, 15vw, 320px);
  margin-right: -.5rem;
  padding: .5rem 2rem;
}
header .search button {
  background-color: transparent;
  border: none;
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
  color: #fff;
  width: 85px;
  height: 50px;
  text-align: center;
}
header .search input:focus {
  border-color: #86bfa9 !important;
  box-shadow: 0 0 0 .25rem rgba(134,191,169,.25) !important;
  outline: none;
}


/* hamburger menu
---------------------------------------- */
/*body {overflow-x: hidden;}*/
.navbar-toggler {display: block;}

/* .hambNav */
.hambNav>ul>li {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

@media (min-width: 1090.02px) {
  .hambNav ul {
    display: flex;
    flex-wrap: wrap;
  }
}
/* menu */
.hamb-wrap {overflow: hidden;}
@media (min-width: 1090.02px) {
  .nav-area nav,.hamb-wrap,#hamburgerMenu,.hambInner,.hambNav {height: 100%;}
  #hamburgerMenu .hambNav {display: flex;align-items: center;}
}

@media only screen and (max-width: 1090px) {
  body.nav-open {
    overflow: hidden;
  }
  #hamburgerMenu {
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    padding-top: 100px;
    transition: opacity .3s, transform .3s;
    visibility: hidden;

    /* slide /
    background-color: rgba(52,124,189,0);
    height: 100vh;
    padding-top: 1rem;
    position: absolute; top: 8rem;left: 0;
    transform: translateX(-100%);
    transition: transform .55s;
    width: 100%;
    max-width: 320px;
    z-index: 10; */

    /* full */
    background-color: rgba(255, 255, 255,.96);
    height: 0;
    width: 100%;
  }
  
  .hambInner {
    border-top: 1px solid #e3e5e4;
    height: 0;
    overflow-y: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }

  /* Chrome, Safari 対応 */
  .hambInner::-webkit-scrollbar {
    display:none;
  }
  /*
  .hambNav>ul>li {
    font-size: 1.8rem;
    position: relative;
  }
  .hambNav>ul li:not(:last-child) {
    margin-bottom: .75rem;
  } */
  .hambNav>ul li a {
    position: relative;
  } /*
  .hambNav>ul li a::before {
    content: none;
    background: #fff;
    border-radius: 100vw;
    display: block;
    margin-top: 7px;
    height: 8px;
    width: 8px;
  } */
  .hambNav>ul>li:nth-child(-n+3)::before {
    content: none;
    background: #fff;
    height: calc(100% - 1.75em);
    width: 1px;
    position: absolute;
    left: 1.25rem;
    bottom: 0;
  }
  .hambNav>ul li>ul {
    font-size: 1.6rem;
    margin-left: 1.5rem;
    padding-top: .5rem;
    padding-left: .75em;
    padding-bottom: .5rem;
  }
  .hambNav a {
    text-decoration: none;
  }
  .hambNav a:hover {
    text-decoration: underline;
  }

  /* .nav-open  */
  header #hamburgerMenu .hambNav {padding: 0 0 3rem;}

  .nav-open #hamburgerMenu {
    height: 100vh;
    opacity: 1;
    visibility: visible;
  }
  .nav-open .hambInner {
    height: calc(100vh - 70px); /* ← ヘッダーの高さ分を引く */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .nav-open .hambNav {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 5rem;
    max-width: 100%;
    gap: 1.5rem 3rem;
  }
  header .hambNav>ul li a {
    display: flex;
    padding: 3rem .5rem .25rem 2.5rem;
    position: relative;
  }
  header .hambNav>ul li a::after {
    content: "";
    background-color: #9d2038;
    height: 3px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    transition: background-color .3s;
  }
  .nav-open .hambNav>ul li a:hover {
    text-decoration: none;
  }

  .nav-open .drawer-open span {
    background: rgba(255, 255, 255, 0);
  }
  .nav-open .drawer-open span::before {
    top: 0;
    transform: rotate(45deg);
  }
  .nav-open .drawer-open span::after {
    bottom: 0;
    transform: rotate(-45deg);
  }
  .nav-open .nav-wrap {
    box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.1);
    visibility: visible;
    opacity: 1;
    z-index: 100;
  }

  /*.nav-area nav label*/
  .nav-area nav .navbar-toggler {
    cursor: pointer;
    position: absolute;
    right: 2rem;
    top: 0;
    bottom: 0;
    margin: auto 0;
  }
  .nav-area nav .navbar-toggler {
    border-radius: 100vw;
    box-shadow: 0 0 2rem transparent;
    outline: none;
    -webkit-transition: all .3s ease-in-out;transition: all .3s ease-in-out;
  }
  /*.nav-area nav .navbar-toggler:focus {
    box-shadow: 0 0 0.75rem rgb(0 0 0 / 15%);
  }*/
  .toggler-wrap {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
  }
  .navbar-toggler {
    width: 4rem;
    height: 4rem;
    position: relative;
    padding: 0;
    margin: 0;
    border: none;
  }
  .navbar-toggler .navbar-toggler-icon, .navbar-toggler .navbar-toggler-icon:before, .navbar-toggler .navbar-toggler-icon:after {
    position: absolute;
    height: .5rem;
    width: 4rem;
    background: #9d2038;
    display: block;
    content: '';
    cursor: pointer;
    transition: opacity .3s, transform .3s;
  }
  .navbar-toggler-icon {
    top: 0;left: 0;right: 0;bottom: 0;
    margin: auto;
  }
  .navbar-toggler .navbar-toggler-icon:before, .navbar-toggler .navbar-toggler-icon:after {
    width: 100%;
    left: 0;
  }
  .navbar-toggler .navbar-toggler-icon:before {
    top: -8px;
  }
  .navbar-toggler .navbar-toggler-icon:after {
    bottom: -8px;
  }
  /*.navbar-toggler[type=button]:not(:disabled),*/
  button.navbar-toggler:not(:disabled),
  .navbar-toggler .navbar-toggler-icon,
  .navbar-toggler .navbar-toggler-icon:before,
  .navbar-toggler .navbar-toggler-icon:after {
    cursor: pointer;
  }
  .navbar-toggler {
    z-index: 200;
  }

  .nav-open .nav-wrap {
    height: 100vh;
  }
  .global-nav li {
    border-bottom: 1px solid #ccc;
  }
  .sub-nav ul {
    justify-content: flex-end;
  }
  header .nav-wrap {
    position: absolute;
    left: 0;
  }
  header .nav-wrap>.inner>div {
    padding-left: 15px;
    padding-right: 15px;
  }
  nav ul {
    margin-left: -15px;
    margin-right: -15px;
  }

  header .nav-wrap>.inner>div>ul {
    /*display:flex;*/
    position: relative;
    z-index: 1;
  }
}


/* #jumbotron
---------------------------------------- */
#jumbotron {
  position: relative;
  overflow: hidden;
}
/* .toContent */
.toContent {
  font-size: 1.4rem;
  font-weight: bold;
  margin: auto;
  position: absolute;left:0;right: 0; bottom: 3.5%;
  text-align: center;
}
.toContent a:hover {
  color: #2fbedd;
}
@media (min-width: 992px) {
  .toContent {
    font-size: 1.7rem;
  }
}
/*
@media only screen and (max-width: 430px) {
  .toContent {
    bottom: 1%;
  }
} */

/* #hero-slider */
/*
.splide {
  visibility: hidden;
}
  */
#hero-slider {
  /* aspect-ratio: 16 / 9;
  overflow: hidden; */
  position: relative;
}
#hero-slider .slider {
  position: relative;
}
#hero-slider .bg-image {
  position: relative;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  /*background-position:top;*/
}
#hero-slider .desc {
  position: absolute;
  top: 50%; left:50%;
  transform: translate(-50%,-50%);
}
#hero-slider .desc p {
  font-size: 6vw;
  padding-left: 15px;
  padding-right: 15px;
  width: 100%;
  max-width: 100%;
  z-index: 1;
}
@keyframes fadein {
  0% {
    transform: scale(.8);
    opacity: .2;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@media (min-width: 992px) {
  #hero-slider .desc {
    font-size: 6rem;
  }
}
/*
#hero-slider .bg-image {
  aspect-ratio: 16 / 9;
} */
#hero-slider .carousel-cell {
  position: relative;
}
#hero-slider .desc.get_the_content .mov-btn {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

/* #page_header
---------------------------------------- */
#page_header {
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  /*
  padding-top: 0;
  height: calc(100vh - 80px); */
  height: auto;
  /*padding-top: calc(722 / 1251* 100%);*/
  /*aspect-ratio: 16 / 9;*/
}
#page_header::before {
  background: transparent;
  /*
  background: linear-gradient(90deg, #f7f7f7, #f2f2f2);
  background: linear-gradient(to right, #ffede8, #fffef1);
  background: linear-gradient(to right, rgba(0,0,0,.1), transparent);
  */
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

:where(.page:not(.page-child) #page-title>*) {
  color: #fff;
  font-size: 8vw;
  line-height: 1.3;
  margin: auto;
  position: absolute; top: 50%;left: 0;right: 0;
  transform: translateY(-50%);
  text-align: center;
}
#page_header #page-title .subtitle {
  font-size: 1.25rem;
}
@media (min-width: 576px) {
  :where(.page:not(.page-child) #page-title>*) {
    font-size: 4rem;
    letter-spacing: .25rem;
  }
}
/*
#page-title .jp-title {
  display: block;
  font-size: 70%;
  font-weight: normal;
}*/

/* bread_crumb
---------------------------------------- */
#bread_crumb {
  padding: 1rem 0;
  font-size: 1.6rem;
  /*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 {
  padding: 0;
}

/* slick slider
---------------------------------------- */
.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 only screen and (max-width: 481px){.slick-prev{left:25px}.slick-next{right:25px}.slick-arrow{z-index:7}}.slick-dotted.slick-slider{margin-bottom:0}.slick-dots{position:absolute;bottom:14rem;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}

/* .splide *//*
.splide__list { height: auto !important; }
.splide__list { transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1) !important; }
*/

/* pagetop */
.pagetop {
  position: relative;
  z-index: 1;
}

.pagetop a {
  display: block;
  /* background: url(../images/arrow-totop.png) no-repeat center / contain; */
  border-radius: 100vw;
  height: 35px;
  width: 35px;
  text-align: center;
  position: fixed;
  right: 4rem;
  bottom: 0;
}
.pagetop a.static {
  position: absolute;
  top: -18px;
  bottom: unset;
}
.pagetop a:hover {
  background-color: #ffa1b1;
  opacity: 1;
} /*
.pagetop a::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border: 3px solid;
  border-color: #fff #fff transparent transparent;
  transform: rotate(-45deg);
} */
@media only screen and (max-width: 576px) {
  .pagetop a {
    right: .8rem;
  }
}

/* footer */
footer {
  color:#333;
}
footer .fut-brand {
  text-align: center;
  margin-bottom: 4rem;
}
footer .fut-brand img {
  max-width: 90%;
}

footer a {
  letter-spacing: normal;
}
footer a:hover {
  text-decoration: underline;
}
footer .dt a:hover {
  text-decoration: none!important;
}

/* footer nav */
.footer-nav ul {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}
.footer-nav ul>li {
  padding: .5rem 1.25rem;
}

/* footer brand */
footer .brand {
  text-align: center;
}

/* footer address */
footer address {
  line-height: 1.428;
}
footer address a span {
  font-size: .8rem;
  margin-right: .5rem;
}
footer address a:hover {
  color: #c2aa99;
  opacity: .8;
}
footer span.mail {
  display: inline-block;
  margin-left: 1rem;
}
footer address>span:nth-of-type(1) {
  display: block;
}
footer address>span {
  padding: .25rem;
}
footer address dl {
  overflow: hidden;
  margin-bottom: 0;
}
footer address dt {
  float: left;
  /*font-weight: normal;*/
  margin-bottom: 2rem;
  line-height: 1.428;
  width: 5em;
}
footer address dd {
  margin-left: 7em;
  margin-bottom: 2rem;
  line-height: 1.428;
}

@media only screen and (max-width: 480px) {
  footer address .headOffice {
    margin: .25rem 0;
  }
  footer span.mail {
    margin-left: 0;
  }
}

/* copyright */
footer .copyright p {
  font-size: 1.4rem;
  position: relative;
}

/* contents */
#content,#the_content {overflow: hidden;}
.card-body {
  padding: 0;
  position: relative;
}
@media (min-width: 768px) {
  .home #the_content {
    padding-top: 2.5rem;
    padding-bottom: 5rem;
  }/*
  body:not(.home) #the_content {
    padding-top: 5rem;
  }*/
}
.page #the_content {
  padding-bottom: 5rem;
}

/* Animation */
.moveUp {
  opacity: 0;
  transform: translateY(80px);
  transition: transform 1s ease, opacity 1s ease;
}
.moveUp.animated {
  opacity: 1;
  transform: translateY(0px);
}

.fadeIn {transition: opacity .65s .35s} /* body用 */
.animated {opacity:1;transform: translateY(0)}
[class^="move"].animated {
  opacity: 1;
  transform: translateY(0);
}

/* Layout */
.x-large {
  font-size: 2.8rem;
  line-height: 1.5;
}
.large {
  font-size: clamp(2.2rem, 5.25vw, 2.6rem);
  line-height: 1.5;
}
.middle {
  font-size: 2.4rem;
  line-height: 1.5;
}
.medium {
  font-size: 2rem;
  line-height: 1.5;
}
.small {
  font-size: 1.4rem;
  line-height: 1.5;
}
.x-small {
  font-size: 1.2rem;
  line-height: 1.5;
}

.large p,.middle p {
  line-height: 1.5;
}

figure.circle {
  overflow: hidden;
  border-radius: 100vw;
  width: 220px;
  height: 220px;
}
figure.circle a {
  display: block;
  border-radius: 100vw;
  background: #fff;
}

/* indent */
:where(.indent) {
  padding-left: 1em;
  text-indent: -1em;
}

/* arrow */
[class^=arrow-] {
  display: inline-block;
  position: relative;
}
[class*=arrow-left-] {padding-left: 1.15em}
[class*=arrow-right-] {padding-right: 1.15em}
[class^=arrow-]::before, [class^=arrow-]::after {
  content: "";
  border-radius: 100vw;
  width: 1em;
  height: 1em;
  position: absolute;
  top: 0;
  margin-top: 0.8rem;
}
[class*=arrow-left-]::after, [class*=arrow-right-]::before {
  border: 3px solid;
  border-color: #fff #fff transparent transparent;
  border-radius: 0;
  width: .5em;
  height: .5em;
  transform: rotate(45deg);
}
[class*=arrow-left-]::before {left: 0;}[class*=arrow-left-]::after {top: .45rem;left: .125em;}
[class*=arrow-right-]::before {right: 0.45em;z-index: 1;}[class*=arrow-right-]::after {right: 0;}
[class*=left-red]::before {background-color: #e60012;}[class*=right-red]::after {background-color: #e60012;}
[class*=left-blue]::before {background-color: #003c93;}[class*=right-blue]::after {background-color: #003c93;}

/* btn- */
.btn-02 {max-width: 200px;}

/* border-left for title */
[class*=b-left-] {
  background-color: #f2f2f2;
  border-left: 30px solid transparent;
  font-size: 2rem;
  margin-bottom: 2.25rem;
  padding: 1rem;
}
[class*=-red] {
  border-left-color: #d60011;
}

/* contents
-------------------------------*/
#content #the_content > section {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media (min-width: 922px) {
  #content #the_content > section {
    padding-top: 7rem;
    padding-bottom: 8rem;
  }
}
body:not(.home) #the_content {
  padding-top: 2.5rem;
  padding-bottom: 4rem;
}

.page #content .bold{font-weight: bold;}
.page #content p:not(:last-child){margin-bottom: 2rem;}
.page #content p.desc{margin-bottom: 2.5rem;}
.page #content .list-unstyled:not(.row) {margin-left: 0;}
.page #content section>.container>.row:not(:last-child) {margin-bottom: 2.5rem;}
@media (min-width: 922px) {.page #content section>.container>.row:not(:last-child) {margin-bottom: 4rem;}}
.page:not(.page-template-page-fixed) main>#content {
  padding-top: 0;
  padding-bottom: 0;
}
@media (min-width: 768px) {
  .page:not(.page-template-page-fixed) main>#content {
    padding-bottom: 5rem;
  }
}
@media (min-width: 768px) {
  body:not(.home) #the_content {
    padding-top: 5rem;
    padding-bottom: 8rem;
  }
}
.page .section-title {
  margin-bottom: 2.5rem;
}
@media (min-width: 768px) {
  .page .section-title {
    margin-bottom: 4rem;
  }
}

.outline table{
	border-left: 1px solid #dee2e6;
	border-right: 1px solid #dee2e6;
}
.outline th{
  border-right: 1px solid #dee2e6;
  min-width: 10em;
  text-align: center;
  padding: 10px;
}

.arrow-before,
.arrow-after {
  position: relative;
  display: block;
  height: 100%;
}
.arrow-before {
  padding-left: 2.5rem;
}
.arrow-after {
  padding-right: 2.5rem;
}
.arrow-before::before,
.arrow-after::after {
  border-top: 2px solid #444;
  border-right: 2px solid #444;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  height: 8px;
  width: 8px;
}
.arrow-before::before {
  left: 0;
  right: auto;
}
.arrow-after::after {
  left: auto;
  right: 0;
}
/* file icons */
.body:not(#magazines) a[href $='.pdf']::after,.body:not(#magazines) a[href $='.doc']::after,.body:not(#magazines) a[href $='.docx']::after,.body:not(#magazines) a[href $='.xls']::after,.body:not(#magazines) a[href $='.xlsx']::after {
  content: "";
  padding-right: 60px;
  display: -webkit-inline-flex;display: -ms-inline-flexbox;display: inline-flex;
  align-items: center;
  height: 21px;
  position: relative;
  top: -6px;
}
.body:not(#magazines) a[href $='.pdf']::after {
  background:url(../images/icon-pdf.png) no-repeat center;
}
.body:not(#magazines) a[href $='.doc']::after,.body:not(#magazines) a[href $='.docx']::after {
  background:url(../images/icon-word.png) no-repeat right center;
}
.body:not(#magazines) a[href $='.xls']::after,.body:not(#magazines) a[href $='.xlsx']::after {
  background:url(../images/icon-excel.png) no-repeat right center;
}
.body:not(#magazines) a[href $='.pdf'],.body:not(#magazines) a[href $='.doc'],.body:not(#magazines) a[href $='.docx'],.body:not(#magazines) a[href $='.xls'],.body:not(#magazines) [href $='.xlsx'] {
  color:#0066cc;
  display: inline-block;
  line-height: 1.528;
  margin-bottom: .5rem;
}
.body:not(#magazines) a[href $='.pdf']:hover,.body:not(#magazines) a[href $='.doc']:hover,.body:not(#magazines) a[href $='.docx']:hover,.body:not(#magazines) a[href $='.xls']:hover,.body:not(#magazines) a[href $='.xlsx']:hover {
  color:#0066cc;
  text-decoration:none;
}
.wp-block-file:not(.wp-element-button) {
  font-size: inherit;
  margin-bottom: 1rem;
  line-height: 1.428;
}
.wp-block-file:not(.wp-element-button) a {
  line-height: 1.428;
  margin-bottom: 0;
}

/* category
---------------------------------------- */
.category .article-thumb {
  margin-bottom: .75rem;
}
.category article h3 {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 0;
}
@media (min-width: 481px) {
  .category article:not(:nth-last-child(-n+3)) {
    margin-bottom: 2.5rem;
  }
}
@media only screen and (max-width: 480px) {
  .category article {
    margin-bottom: 1.5rem;
  }
  .category article:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}

/* pagination */
#jquery-tab-pager-navi {
  list-style: none;
  margin: 0;
}
#jquery-tab-pager-navi,
.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;
}
#jquery-tab-pager-navi a,
.pagenation span,
.pagenation a {
  border: 1px solid rgba(255, 153, 51, 1);
  border-radius: 0.25rem;
  color: rgba(255, 153, 51, 1)!important;
  display: block;
  margin: 4px 8px;
  height: 60px;
  width: 60px;
  line-height: 60px;
  text-align: center;
  text-decoration: none!important;
}
#jquery-tab-pager-navi a {
  line-height: 28px;
}
#jquery-tab-pager-navi .current, #jquery-tab-pager-navi a:hover,
.pagenation .current,
.pagenation a:hover {
  color: #fff!important;
  background: rgba(255, 153, 51, 1);
}
.pagenation a.prev,
.pagenation a.next {
  border: none!important;
}
.pagenation .dots {
  border: none;
  font-size: 1.1rem;
  line-height: 1;
  letter-spacing: normal;
  display: flex; justify-content: center; align-items: flex-end;
  margin: 0 .5rem;
  padding-top: 0;
  padding-bottom: 0;
  width: auto;
}
.pagenation ol,.pagenation ul {
  display: flex; justify-content: center; align-items: flex-end;
  width: auto;
  margin: 0;
  padding-left: 0;
  list-style: none;
}
.pagenation .paginationLinks>li {
  margin: 0;
}

/* .category.link>.btn */
.category.link>.btn {
  background-color: #006699;
  color: #fff;
}
.category.link>.btn:hover {
  background-color: rgba(0,102,153,.75);
}

/* archive
---------------------------------------- */
/* 画像サイズが違っても範囲内いっぱいに表示する（サイズが合わなければトリミングする） */
.archive .post-cards figure img {
  height: 100%;
  object-fit: cover;
}
/*.post-type-archive h1 .jp-title {display: none;}
.post-type-archive h1 .en-title {display: none;} */
.archive .tax-title {
  /*
  color:#666666;
  display: block;
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 4.5rem; */
  background-color: #167f72;
  color: #fff;
  display: block;
  font-size: 2.6rem;
  line-height: 1.4;
  margin-bottom: 2rem;
  padding: 1rem 2rem;
}
@media only screen and (max-width: 992px) {
  .archive #content {
    padding-top: 4rem;
    padding-bottom: 6rem;
  }
}

.archive .post h3 {
  margin-bottom: 0;
}

/* page, single レイアウト
-------------------------------- */
h2.wp-block-heading {
  border-bottom: 4px solid transparent;
  padding: 0 10px 5px;
}
h3.wp-block-heading {
  background-color: transparent;
  border-radius: 5px;
  border: 1px solid transparent;
  font-size: clamp(2rem, 1.4rem + 1.8vw, 2.2rem);
  margin: 4rem 0 2rem;
  padding: 8px 15px;
}
h4.wp-block-heading {
  display: flex;
  align-items: center;
  font-size: clamp(2rem, 1.4rem + 1.8vw, 2.1rem);
  margin: 2rem 0 0;
}
h4.wp-block-heading::before {
  background-color: transparent;
  border-radius: 100vw;
  content: "";
  margin-right: .5rem;
  height: .75em;
  width: .75em;
}

ul.wp-block-list li {
  margin-bottom: 0;
}
ol.wp-block-list li {
  margin-bottom: 4rem;
}
h2.wp-block-heading + h3.wp-block-heading,
h3.wp-block-heading + h4.wp-block-heading {
  margin-top: 0;
}
.wp-block-list li {
  margin-bottom: 2.5rem;
}
.wp-block-list strong {
  font-size: 2rem;
  display: block;
  line-height: 1.4;
}
ol.wp-block-list strong {
  margin-bottom: -1.5rem;
}

@media (min-width: 768px) {
  .wp-block-table table td {
    padding: 1.25rem 4rem;
  }
  .wp-block-table table tbody>tr>td:first-child {
    padding-right: 1.25rem;
  }
  .wp-block-table table td {
    border-top: none; border-left: none; border-right: none;
    border-bottom: 1px solid #777;
  }
  .wp-block-table table tbody>tr:first-child td {
    border-top: 1px solid #777;
  }
  .wp-block-table table tbody>tr>td:first-child {
    width: 24rem;
  }
}
@media only screen and (max-width: 767.98px) {
  .wp-block-table td, .wp-block-table th {
    border: none;
    padding: 0;
  }
  .wp-block-table table tbody,
  .wp-block-table table tr,
  .wp-block-table table td {
    display: block;
  }
  .wp-block-table table td:first-child {
    border-top: 1px solid #777;
    font-size: clamp(1.8rem, 1.2rem + 1vw, 2rem);
    padding-bottom: .25rem;
  }
  .wp-block-table table td:last-child {
    border-bottom: 1px solid #777;
    padding-top: .25rem;
  }
}

/* single
---------------------------------------- */
/* reboot */
.single #page-title h1 {
  display: flex;
  justify-content: center;
  font-size: clamp(2.6rem, 1.6rem + 2vw, 3.2rem);
  line-height: 1.3;
}
.single .post-content > h2 {
  font-size: clamp(2.2rem, 1.4rem + 1.8vw, 2.6rem);
  line-height: 1.4;
  margin-bottom: 3rem;
}
.single .post-content > h2:not(:first-child) {
  margin-top: 6rem;
}
@media (min-width: 768px) {
  .single .post-content > h2:not(:first-child) {
    margin-top: 10rem;
  }
}

.single .post-content p,
.single .post-content ul {
  margin-bottom: 3rem;
}
.single .post ul, .single .post ol {
  padding-left: 2.5rem;
}
.wp-block-table table td {
  padding: 1.25rem;
}

/*.single h1 .jp-title {display: none;}*/
.single h1 .en-title {display: none;}
.single #the_content figure {
  padding: 1rem 0;
}
.single .link {
  margin-top: 5rem;
}
.single .link.mb- {
  margin-bottom: -3.5rem;
  position: relative;
  z-index: 1;
}
.widget_archive ul {
  margin: 0;
  list-style: none;
}
.widget_archive ul li a {
  text-decoration: none;
  color:#666666;
}
.widget_archive ul li a:hover {
  color: #E3D0C3;
  text-decoration: underline;
}

@media only screen and (max-width: 480px) {
  .widget_archive {
    text-align: center;
    
  }
  .single .link {
    margin-top: 2.5rem;
  }
  .single .link.mb- {
    margin-bottom: -1rem;
  }
}
.single .meta {
  display: flex;
  list-style: none;
  margin: 0 0 1.25rem;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.single .meta .date {
  display: block;
}
.single [class^=cat-] {
  background-color: #f0f0f0;
  border-radius: 1rem;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  padding: .25rem 1.25rem;
  min-width: 124px;
  text-decoration: none;
}
.single .category {
  padding-left: 0;
  padding-right: 0;
  margin-right: 12px;
}
.single .category a {
  display: inline-block;
  /*height: 35px;
  line-height: 35px;*/
  color: #fff;
  font-size: 1.3rem;
  min-width: 100px;
  text-align: center;
  padding: 0 1.25rem;
  border-radius: 30px;
  text-decoration: none;
}
.single #content {
  padding: 0!important;
}

/* .single #pager */
.single #pager {
  margin-top: 5rem;
}
.single #pager a:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 480px) {
  .single #pager {
    margin-top: 3rem;
  }
}
.single #pager .next,
.single #pager .prev {
  background: #f2f2f2;
  height: 100%;
  margin-top: .5rem;
  margin-bottom: .5rem;
  padding: 4px;
}
.single #pager .next a,
.single #pager .prev a {
  background: #f2f2f2;
  display: flex;
  align-items: center;
  height: 100%;
  position: relative;
  padding: 1rem 2rem;
}
.single #pager .next a {
  padding-left: 4.5rem;
}
.single #pager .prev a {
  padding-right: 4.5rem;
}
.single #pager .next svg,
.single #pager .prev svg,
.single #pager .next a::before,
.single #pager .prev a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.single #pager .next svg,
.single #pager .next a::before {
  right: -4rem;
}
.single #pager .prev svg,
.single #pager .prev a::before {
  left: -4rem;
}
.single #pager .next a::before,
.single #pager .prev a::before {
  background-color: #666666;
  content: "";
  clip-path: path("M 5,12 C 1.24,6.76 6.76,1.24 12,5 L 62,55 L 12,105 C 7.76,109.24 1.24,102.24 5,98 L 48,55 z");
  height: 110px;
  aspect-ratio: 1;
}
.single #pager .prev a::before {transform: scale(.18) rotate(180deg);}
.single #pager .next a::before {transform: scale(.18) rotate(0deg);}
.single #pager .next span,
.single #pager .prev span {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.428;
}


/* post-list
---------------------------------------- */
.post-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.post-list {
  border-top: 1px solid #cccccc;
}
.post-list>li {
  margin: 0;
  padding: 1.25rem 2rem;
}
.post-list>li {
  border-bottom: 1px solid #cccccc;
}
.post-list>li>article {
  display: flex;
  align-items: flex-start;
}
@media (min-width: 768px) {
  .post-list>li>article {
    align-items: center;
  }
}
.post-list .meta {
  list-style: none;
  margin: 0;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.post-list .headline {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.428;
  font-size: 1.6rem;
  font-weight: 500;
  margin-top: 0;
  margin-bottom: 0;
}
@media (min-width: 480px) {
  .post-list .headline {
    -webkit-line-clamp: 2;
  }
}
@media (min-width: 768px) {
  .post-list .headline {
    -webkit-line-clamp: 1;
  }
}
@media only screen and (max-width: 479.98px) {
  .post-list .date {
    flex: 0 0 100%;
    font-size: 1.6rem;
    margin-bottom: .5rem;
  }
}
.category {
  background-color: #006699;
  display: inline-block;
  height: 26px;
  line-height: 28px;
  color: #fff;
  font-size: 1.4rem;
  min-width: 160px;
  text-align: center;
  padding: 0 1.25rem;
  border-radius: 0;
  text-decoration: none;
}
.category a {
  display: block;
  color: #fff;
  text-decoration: none;
}
.category a:hover {
  opacity: .7;
}
/*
@media only screen and (max-width: 576px) {
  section:not(#magazines) .post-list li {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
} */

/* #post-container.post */
#post-container.post {
  margin-left: 0;
}

/* #post.list */
#post.list  {
  margin-left: 0;
  list-style: none;
}
#post.list .date {
  margin-top: 0;
  margin-bottom: 0;
}
#post.list h3 {
  margin-top: 0;
  margin-bottom: 0;
}
#post.list .row {
  -ms-flex-align: center;
	align-items: center;
  transition: color .35s;
}
#post.list a, #post.list a:link, #post.list a:active, #post.list a:visited {
  color:#666666;
  text-decoration: none;
}
#post.list a:hover {
  color: #347cbd;
  text-decoration: underline;
}
/* post-cards
---------------------------------------- */
.post-cards {
  list-style: none;
  margin: 0;
  padding: 0;
}
.post-cards>* {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.post-cards article {
  background-color: #fff;
  border-radius: 1.75rem;
  height: 100%;
  overflow: hidden;
  padding-bottom: 4rem;
}
.post-cards figure {
  aspect-ratio: 16 / 9;
  background: #e9e9e9;
  margin-bottom: 2rem;
}
.post-cards .body {
  padding: 0 2rem;
}
.post-cards .time {
  margin-bottom: 2rem;
}
.post-cards time {
  padding-right: 1rem;
}
.post-cards [class^=cat-] {
  background-color: #f0f0f0;
  border-radius: 1rem;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  font-size: 1.8rem;
  padding: .25rem 1.25rem;
  min-width: 124px;
}
.post-cards .headline {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.428;
}
.post-cards [class^=cat-]:hover,
.post-cards .headline a:hover {
  opacity: .7;
}

/* 機関誌 など
---------------------------------------- */
.post-bulletin {
  list-style: none;
  margin: 0;
  padding: 0;
}
.post-bulletin li {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.post-thumb {
  aspect-ratio: 224 / 300;
  background-color: #f0f0f0;
  border: 1px solid #ccc;
  margin: 0 0 1rem;
  position: relative;
}
.post-thumb img {
  height: 100%;
  object-fit: cover;
  position: absolute;
    top: 0;
    left: 0;
  transition: transform .75s;
  width: 100%;
}
.post-bulletin .body {

}
.post-bulletin .headline {
  font-weight: 500;
  line-height: 1.428;
}
.post-bulletin .headline span {
  font-size: 1.6rem;
}


/* page
---------------------------------------- */
.page #page-title h1 {
  display: flex;
  justify-content: center;
  font-size: clamp(2.6rem, 1.6rem + 2vw, 3.2rem);
  line-height: 1.3;
}
.page .post-content > h2 {
  font-size: clamp(2.2rem, 1.4rem + 1.8vw, 2.6rem);
  line-height: 1.4;
  margin-bottom: 3rem;
}
.page .post-content > h2:not(:first-child) {
  margin-top: 6rem;
}
@media (min-width: 768px) {
  .page .post-content > h2:not(:first-child) {
    margin-top: 10rem;
  }
}

.page h4.wp-block-heading {
  margin-top: 4rem;
  margin-bottom: 1.25rem;
}
.page .post-content p {
  margin-bottom: 2rem;
}
.page .post ul, .page .post ol {
  padding-left: 2.5rem;
}
.page ol.wp-block-list li {
  margin-bottom:.5rem;
}


/* .search-results #search
---------------------------------------- */
.search-results .post h2 {
  margin-bottom: 2rem;
}
.search-results .post .row>* {
  padding-left: .75rem;
  padding-right: .75rem;
}
.search-results .post .thumbnail figure {
  border-radius: 8px;
}
.search-results .post .thumbnail a {
  aspect-ratio: 6 / 4;
  display: block;
  background: #f0f0f0;
  width: 120px;
}
.search-results .post .thumbnail img {
  object-fit: cover;
  height: 100%;
}
.search-results .post time,
.search-results .post .cpt {
  font-size: 1.6rem;
}

.search-results .post .no-result {
  border: none;
}

@media only screen and (max-width: 575.98px) {
  .search-results .post .time {
    font-size: 1,4rem;
    line-height: 1;
    margin-bottom: .5rem;
  }
  .search-results .post .time>time {
    font-size: 1,4rem;
  }
  .search-results .post .headline {
    line-height: 1.3;
    font-size: 1.6rem;
    margin-bottom: .5rem;
    -webkit-line-clamp: 2;
  }
  .search-results .post .cpt {
    font-size: 1.4rem;
    line-height: 1.3;
    
  }
}


/* 404 File not found.
---------------------------------------- */
#file_not_found {
  text-align: center;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  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;
}


/* sub page - 追加分
---------------------------------------- */
.table td,.table th{border-color:#dee2e6}
.tablepress caption {display: none;}
.page #the_content .row>div>section:not(:last-child) {
  padding-bottom: 6rem;
}
@media (min-width: 768px) {
  .page #the_content .row>div>section:not(:last-child) {
    padding-bottom: 8rem;
  }
}
@media (min-width: 575.98px) {
  .table-responsive-row .column-1 {
    padding-left: 2rem;
  }
}
@media only screen and (max-width: 575.98px) {
  .table-responsive-row .column-1,
  .table-responsive-row .column-2 {
    display: block;
    width: 100%!important;
    word-break: break-word;
  }
  .table-responsive-row .column-1 {
    background: rgba(0,0,0,.05);
    border-top: 1px solid #dee2e6;
    padding-left: 1rem;
    padding-bottom: 8px!important;
    text-align: left!important;
  }
  .table-responsive-row .column-2 {
    padding-bottom: 1.75rem!important;
  }
  .table-responsive-row td:only-child {
    padding-top: 8px!important;
    padding-bottom: 8px!important;
  }
}

/* contact - 追加分
---------------------------------------- */
.caution{color:#ea4335;font-size:1.4rem;}.form_inner:last-child{margin-top:2.5rem}.wpcf7 .ajax-loader{margin-bottom:-1.5rem}.wpcf7-form-control.wpcf7-submit.submit-btn{border: none;border-radius: 100vw;background-color:#ccc;color:#fff;cursor: pointer;height:60px;letter-spacing:.05rem;width:250px;max-width:90%;padding-left:2.5rem;padding-right:2.5rem;transition:opacity .3s, color .3s;margin: 0 auto;display: block;}.wpcf7-form-control.wpcf7-submit.submit-btn:hover{text-decoration: none;}.wpcf7-form-control.wpcf7-submit.submit-btn:disabled,.wpcf7-form-control.wpcf7-submit.submit-btn:disabled:hover {border-radius: 100vw;border: none;background-color: #ccc;color: #333;text-decoration: none;}
.input-group>p>span {
  display: table-cell;
}
@media (min-width: 768px) {
  .form-inline .input-group>p {
    display: inline-table;
    vertical-align: middle;
  }
}


/* contact form 
---------------------------------------- */
#contact .form_inner {
  max-width: 820px;
  margin: 6rem 0 0;
}
#contact .form_inner+.form_inner {
  margin-top: 2rem;
}
#contact .form-control {
  border-color: #ccc;
  font-size: 1.6rem;
  padding: .75rem;
}
#contact .row [class^=col-]:last-child {
  margin-bottom: 3rem;
}
@media (min-width: 576px) {
  #contact .row>* {
    margin-bottom: 3rem;
  }
}
#contact .row>* span+div {
  margin-top: 1.25rem;
}


/* Bootstrap Form v5 @ Overwrite
---------------------------------------- */
.container,.container-fluid {
  width: 100%;
}
.container,.container-fluid,.row>* {
  padding-right: calc(var(--bs-gutter-x) * 1.25);
  padding-left: calc(var(--bs-gutter-x) * 1.25);
}
.row {
  margin-right: calc(-1.25 * var(--bs-gutter-x));
  margin-left: calc(-1.25 * var(--bs-gutter-x));
}
.form-control:focus {
  border-color: #86bfa9 !important;
  box-shadow: 0 0 0 .25rem rgba(134,191,169,.25) !important;
}

.mt-0 {margin-top: 0!important;}
.mb-0 {margin-bottom: 0!important;}


/* Print
---------------------------------------- */
@page {margin: 0;}
/*@page {
  size: A4 landscape;
  page-break-inside: avoid;
}*/
@media print {
  /* *, *::before, *::after  {break-inside: avoid;} */
  body {
    width: 1251px;
    margin: 0 auto;
    padding-top: 0;
    -moz-transform: scale(0.95);
    -webkit-transform: scale(0.95);
    transform: scale(0.95); 
    transform-origin: 0 0;
  }
  header {
    position: relative;
    padding: 0 15px;
    z-index: 100;
  } /*
  .home header {
    margin-bottom: -80px;
  } */
  .brand {
    display: grid!important;
  }
  .brand .site-logo {
    margin-top: 2.5rem;
    height: 60px!important;
  }
  header.isScroll .brand {
    opacity: 1!important;
    visibility: visible!important;
  }

  header .nav-area {
    width: 100%;
    height: 100%;
  }
  nav a {text-decoration: none!important;}
  #nav-bar {position: relative!important;}
  .nav-area nav .navbar-toggler {
    position: absolute!important;
  }

  /* front-page */
  .slick-track,
  .slick-slide {
    width: 100% !important;
    height: auto !important;
  }
  .slick-initialized .slick-slide {
    display: none !important;
  }
  .slick-initialized .slick-slide:first-child {
    display: block !important;
    left: 0 !important;
    opacity: 1 !important;
  }

}
/*
その他、[only screen]と[print, screen]で振り分けて適宜編集すること
*/