@charset "UTF-8";
/*
Theme Name: uchiyama
Theme URI:uchiyama
*/
/* fadeIn */
body {
  animation: fadeIn 2s ease 0s 1 normal;
  -webkit-animation: fadeIn 2s ease 0s 1 normal; }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1500ms; }

.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

/*===============================
mixIn
===============================*/
/* hidden */
@media print, screen and (max-width: 767px) {
  .sp_hidden {
    display: none !important; } }

@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .tb_hidden {
    display: none !important; } }

@media print, screen and (min-width: 1024px) {
  .pc_hidden {
    display: none !important; } }

/*===============================*/
body {
  margin: 0;
  padding: 0;
  color: #333;
  font-style: normal;
  overflow-x: hidden;
  font-family: 'Noto Sans JP', sans-serif , 'Noto Serif JP', serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5em; }
  body * {
    margin: 0;
    padding: 0; }

a {
  color: #666; }
  a:hover {
    color: #999;
    text-decoration: none; }

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

dl.list {
  margin: 0px;
  padding: 0px; }
  dl.list dt {
    clear: left;
    float: left;
    margin: 0;
    width: 124px;
    padding-top: 13px;
    padding-right: 0;
    padding-bottom: 13px;
    padding-left: 10px;
    font-weight: bold; }
  dl.list dd {
    margin: 0;
    border-top: 1px dotted #CCC;
    padding-top: 13px;
    padding-right: 0.5em;
    padding-bottom: 13px;
    padding-left: 140px;
    vertical-align: middle; }
    @media print, screen and (min-width: 1024px) {
      dl.list dd:first-of-type {
        border-top: none; } }
    dl.list dd img {
      vertical-align: middle; }

/*--------------------------------------------------
common parts
--------------------------------------------------*/
.wp-pagenavi {
  text-align: center;
  margin-top: 2em !important;
  margin-bottom: 1em; }
  .wp-pagenavi span {
    display: inline-block;
    text-decoration: none;
    padding: 0.3em 0.5em !important;
    line-height: 1.5em !important; }
  .wp-pagenavi a {
    padding: 0.3em 0.5em !important; }

.posttime {
  text-align: right;
  font-size: 90%;
  margin-bottom: 0.5em !important; }

a.wp-block-button__link {
  letter-spacing: 0.05em;
  font-size: 130%;
  margin-top: 2em;
  padding: 1em 3.5em 1em 3.5em;
  border-radius: 2em;
  font-weight: 400;
  color: #fff;
  text-decoration: none;
  background: linear-gradient(45deg, #001867 0%, #0059b1 100%);
  opacity: 1;
  vertical-align: middle;
  transition: 0.5s;
  position: relative; }
  @media only screen and (max-width: 767px) {
    a.wp-block-button__link {
      padding-left: 2.5em; } }
  a.wp-block-button__link::after {
    content: "";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    margin-left: 1em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 2em; }
  a.wp-block-button__link:hover {
    transition: 0.5s;
    opacity: 0.7; }
  .tel a.wp-block-button__link {
    background: linear-gradient(45deg, #575514 0%, #847c32 100%); }
    .tel a.wp-block-button__link::before {
      content: "";
      font-family: "Font Awesome 5 Free";
      font-weight: 900;
      margin-left: 0em;
      margin-right: 1em; }

/* youtube埋め込み */
.wp-block-embed-youtube .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-top: 30px; }

.wp-block-embed-youtube .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important; }

.wp-block-media-text__media img {
  height: auto; }

.wp-block-media-text__media p:last-child {
  margin-bottom: 0; }

.wp-block-image img {
  max-width: 100%;
  height: auto; }

.fullWide {
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw; }

.wp-block-cover {
  box-sizing: border-box;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  width: 100vw !important; }
  .wp-block-cover p {
    line-height: 1.8em;
    text-shadow: 0 1px 5px #040d33; }
  .wp-block-cover h2 {
    line-height: 1.5em;
    margin-bottom: 2.5em !important;
    margin-top: 0px !important;
    text-shadow: 0 1px 5px #040d33;
    position: relative; }
    .wp-block-cover h2::after {
      content: "";
      display: block;
      width: 1.8em;
      height: 1px;
      background-color: #fff;
      position: absolute;
      bottom: -1.2em;
      left: 50%;
      transform: translateX(-50%); }

.wp-block-cover-image.has-background-dim,
.wp-block-cover.has-background-dim {
  background-color: rgba(0, 45, 103, 0.9) !important; }

.othersitelink {
  background: url(img/icon_blank.png) no-repeat 100% 50% #fff;
  padding: 5px 20px 5px 0; }

p img.aligncenter {
  padding: 0;
  margin: 0px auto;
  display: block; }

p img.alignleft {
  padding: 0 30px 0 0;
  float: left;
  margin: 0px 0 30px 0;
  display: inline-block; }

.align_img_rightspace img {
  padding: 0 30px 0 0; }

.align_img_leftspace img {
  padding: 0 0 0 30px; }

.detailBox {
  border: 1px solid #ccc;
  padding: 20px;
  margin: 30px 0;
  border-radius: 6px;
  background-color: #efefef; }
  .detailBox p:last-child {
    margin-bottom: 0; }

hr {
  clear: both;
  overflow: hidden;
  background-color: #fff;
  height: 0;
  margin: 50px 0;
  padding: 0px 0;
  border: 0;
  border-top: 1px solid #ccc; }
  hr.section {
    clear: both;
    overflow: hidden;
    background-color: #fff;
    height: 0;
    margin: 0px 0;
    padding: 0px 0;
    border: 0; }
  hr.sectionspace {
    clear: both;
    overflow: hidden;
    background-color: #fff;
    height: 0;
    margin: 2em 0;
    padding: 0px 0;
    border: 0; }

/* Layout */
.rightTxt {
  text-align: right; }

.centerTxt {
  text-align: center; }

/* sectionFlex */
.sectionFlex {
  margin-bottom: 2rem; }
  .sectionFlex.bottom0 {
    margin-bottom: 0; }
  @media only screen and (max-width: 767px) {
    .sectionFlex h2 img {
      margin-left: auto;
      margin-right: auto; }
    .sectionFlex table {
      width: 100%; } }
  @media only screen and (min-width: 768px) {
    .sectionFlex {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      /* columns */ }
      .sectionFlex.column3 > * {
        width: calc(100% / 3); }
      .sectionFlex table {
        width: 100%; } }
  @media only screen and (min-width: 768px) {
    .sectionFlex.AlignC {
      align-items: center; } }
  @media only screen and (max-width: 767px) {
    .sectionFlex.AlignC {
      text-align: center; } }
  @media only screen and (min-width: 768px) {
    .sectionFlex.JustifyC {
      justify-content: center; } }
  @media only screen and (min-width: 768px) {
    .sectionFlex.JustifyA {
      justify-content: space-around; } }

.sectionFlexFIX {
  display: flex;
  align-items: center;
  justify-content: space-between; }

/* header */
/* gMenu */
.gMenu {
  background-color: #002D67; }
  .gMenu ul {
    padding: 1em 1em 1.1em 1em;
    letter-spacing: -1em;
    display: flex;
    align-items: center;
    max-width: 1060px;
    margin: 0 auto; }
    .gMenu ul li {
      flex-grow: 1;
      text-align: center;
      font-weight: bold;
      position: relative;
      font-family: sans-serif; }
      .gMenu ul li a {
        opacity: 1;
        transition: 0.5s all ease 0s; }
        .gMenu ul li a:hover {
          opacity: 0.5; }
      .gMenu ul li a {
        color: #fff;
        letter-spacing: 0;
        line-height: 1;
        padding: 0.3rem 0;
        vertical-align: middle;
        display: inline-block;
        text-decoration: none;
        box-sizing: border-box; }
      .gMenu ul li.contactBtn a {
        line-height: 1;
        font-size: 0.9rem;
        padding: 0.3rem 2rem;
        border-radius: 2rem;
        vertical-align: middle;
        color: #002D67;
        background-color: #fff; }
        .gMenu ul li.contactBtn a::before {
          content: "";
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          margin-right: 0.5em;
          font-weight: bold; }
      .gMenu ul li.contactBtn::before {
        display: none; }
      .gMenu ul li::before {
        content: "";
        width: 1px;
        height: 1.5rem;
        background: #d7d8d9;
        position: absolute;
        top: 0;
        left: 0;
        transform: rotate(45deg); }
      .gMenu ul li:first-of-type::before {
        background-color: transparent; }
      .gMenu ul li:last-of-type {
        border-right: none; }
      @media only screen and (min-width: 768px) {
        .gMenu ul li.current-menu-item:not(.contactBtn) a {
          color: #d6cd6f; }
          .gMenu ul li.current-menu-item:not(.contactBtn) a::before {
            content: "";
            width: 3em;
            display: inline-block;
            height: 1px;
            position: absolute;
            bottom: -2px;
            left: 50%;
            transform: translateX(-50%);
            background: #d7d8d9;
            background: #b3ab58; }
        .gMenu ul li.current-menu-item.contactBtn {
          /* お問い合わせ */ }
          .gMenu ul li.current-menu-item.contactBtn a {
            background-color: #b3ab58; } }

.gMenuSP {
  position: absolute;
  left: 0;
  top: 16vw;
  width: 100vw;
  overflow-x: hidden;
  height: 100vh;
  opacity: 0;
  transition: 0.5s;
  transform: translateY(-150vh); }
  .gMenuSP ul {
    width: 100%;
    background-color: #002D67; }
    .gMenuSP ul li {
      width: 100%;
      font-size: 110%;
      border-top: 1px dotted rgba(255, 255, 255, 0.3); }
      .gMenuSP ul li:first-child {
        border-top: none; }
      .gMenuSP ul li a {
        text-align: center;
        display: block;
        letter-spacing: 0.1em;
        padding: 1.5em 1.5em;
        color: #fff;
        text-decoration: none; }
  .gMenuSP.open {
    z-index: 100;
    transition: 0.5s;
    transform: translateY(0);
    opacity: 1; }

/* contactArea */
a.inquiryForm {
  text-decoration: none; }
  a.inquiryForm:hover .contactArea {
    opacity: 0.8;
    transition: 0.5s; }

/* pagetop */
.pagetop {
  position: fixed;
  right: 6vh;
  bottom: 6.5vh;
  z-index: 10000;
  width: 3em;
  height: 3em;
  background-color: #002D67; }

.pagetop a::before {
  font-family: "FontAwesome";
  font-family: "Font Awesome 5 free";
  content: '\f106';
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -15px 0 0 -12px;
  font-size: 39px;
  font-weight: normal;
  color: #fff; }

/* contctArea */
.contactWrap {
  background-color: #002D67;
  padding: 4rem 0;
  background-image: url(img/contact_bg.jpg);
  background-color: rgba(0, 45, 103, 0.9);
  background-blend-mode: lighten;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative; }
  .contactWrap::after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 45, 103, 0.9);
    opacity: 0.7;
    content: ''; }
  .contactWrap .contactArea {
    font-family: 'Noto Serif JP', serif;
    max-width: 1060px;
    margin: 0 auto;
    color: #fff;
    padding-left: 2rem;
    padding-right: 2rem;
    position: relative;
    z-index: 1; }
    .contactWrap .contactArea h2 {
      margin-bottom: 2em;
      text-align: center;
      position: relative;
      z-index: 1; }
      .contactWrap .contactArea h2 span {
        margin-top: 0.5em;
        font-size: 80%;
        display: block;
        font-weight: 400; }
    .contactWrap .contactArea p {
      text-align: center;
      margin-bottom: 2rem;
      line-height: 1.8em;
      font-family: 'Noto Sans JP', sans-serif;
      position: relative;
      z-index: 1; }
    .contactWrap .contactArea .telmailArea {
      color: #393939;
      background-color: rgba(255, 255, 255, 0.9);
      padding: 2rem 2rem;
      margin-bottom: 0;
      align-items: center; }
      @media only screen and (min-width: 768px) {
        .contactWrap .contactArea .telmailArea > * {
          width: 48%; } }
      .contactWrap .contactArea .telmailArea .telBlock {
        text-align: center;
        font-size: 2rem; }
        .contactWrap .contactArea .telmailArea .telBlock a {
          text-decoration: none; }
        @media only screen and (max-width: 767px) {
          .contactWrap .contactArea .telmailArea .telBlock {
            font-size: 2rem;
            margin-top: 0.5em;
            margin-bottom: 1em; }
            .contactWrap .contactArea .telmailArea .telBlock a {
              line-height: 1.2;
              letter-spacing: 0.1em; } }
        .contactWrap .contactArea .telmailArea .telBlock::before {
          content: "";
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          margin-right: 0.3em;
          color: #001867; }
        .contactWrap .contactArea .telmailArea .telBlock span {
          margin-top: 0.8em;
          margin-left: 1em;
          display: block;
          font-size: 1rem; }
      .contactWrap .contactArea .telmailArea .mailBlock {
        font-size: 1.2rem; }
        .contactWrap .contactArea .telmailArea .mailBlock a {
          border-radius: 2rem;
          padding: 1em 2em;
          color: #fff;
          text-decoration: none;
          background: linear-gradient(45deg, #847c32 0%, #575514 100%);
          opacity: 1;
          transition: 0.5s;
          display: block;
          text-align: center; }
          .contactWrap .contactArea .telmailArea .mailBlock a::before {
            content: "";
            font-family: "Font Awesome 5 Free";
            font-weight: 900;
            margin-right: 0.5em;
            letter-spacing: 0.1em; }
          .contactWrap .contactArea .telmailArea .mailBlock a:hover {
            transition: 0.5s;
            opacity: 0.7; }

/* footer */
#footerWrap {
  background-color: #002D67;
  color: #fff;
  padding-top: 2rem; }
  #footerWrap #footerinner {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 2rem; }
    @media only screen and (max-width: 767px) {
      #footerWrap #footerinner .sectionFlex .infoArea {
        text-align: center;
        margin-bottom: 3rem; } }
    #footerWrap #footerinner .sectionFlex .infoArea .site-title {
      font-family: 'Noto Sans JP', sans-serif; }
      @media only screen and (max-width: 767px) {
        #footerWrap #footerinner .sectionFlex .infoArea .site-title {
          font-size: 0.8rem;
          margin-bottom: 1rem; } }
      #footerWrap #footerinner .sectionFlex .infoArea .site-title a {
        line-height: 1.4em;
        font-family: 'Noto Serif JP', serif;
        font-size: 180%;
        font-weight: bold;
        color: #fff;
        text-decoration: none;
        display: block; }
      #footerWrap #footerinner .sectionFlex .infoArea .site-title span {
        font-weight: 200;
        display: block;
        font-size: 80%;
        letter-spacing: 0.2em;
        margin-top: 0.5em;
        margin-bottom: 2rem; }
        @media only screen and (max-width: 767px) {
          #footerWrap #footerinner .sectionFlex .infoArea .site-title span {
            margin-bottom: 1rem; } }
    @media only screen and (min-width: 768px) {
      #footerWrap #footerinner .sectionFlex .menuArea {
        width: 50%;
        border-left: 1px solid rgba(255, 255, 255, 0.5);
        padding-left: 4rem; } }
    @media only screen and (min-width: 768px) {
      #footerWrap #footerinner .sectionFlex .menuArea .menuInner {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap; }
        #footerWrap #footerinner .sectionFlex .menuArea .menuInner > div {
          width: calc(100% / 3);
          box-sizing: border-box; } }
    @media only screen and (max-width: 767px) {
      #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu01 {
        display: flex;
        flex-wrap: wrap; }
        #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu01 span {
          width: calc(100% / 2); }
          #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu01 span a {
            border-width: 3px; }
      #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu02 {
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 1em; }
        #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu02 span {
          width: calc(100% / 2); }
          #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu02 span a {
            border-width: 3px; }
      #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu03 {
        padding-left: 0;
        letter-spacing: -0.1em; }
        #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu03 span {
          padding-left: 0;
          letter-spacing: 0em;
          display: block; }
          #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu03 span a {
            margin: 0;
            padding: 0 0 0 1.5em;
            font-size: 0.7rem; } }
    #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu {
      box-sizing: border-box; }
      @media only screen and (min-width: 768px) {
        #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu {
          display: block; } }
      @media only screen and (max-width: 767px) {
        #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu {
          position: relative;
          display: inline-block;
          margin: 0.2em 0; } }
      #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu a {
        font-size: 0.9rem;
        padding: 0.3em 0 0.3em 2em;
        color: #fff;
        position: relative;
        text-decoration: none;
        display: block; }
        @media only screen and (min-width: 768px) {
          #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu a::before {
            content: "";
            display: block;
            width: 0.8rem;
            height: 1px;
            background-color: #fff;
            position: absolute;
            top: 50%;
            left: 0; } }
        @media only screen and (max-width: 767px) {
          #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu a {
            padding: 0 0 0 1.5em;
            line-height: 1em;
            margin: 0 0.8em 0 0;
            border-left: 1px solid rgba(255, 255, 255, 0.5); } }
        #footerWrap #footerinner .sectionFlex .menuArea .menuInner .menu a:hover {
          text-decoration: underline; }
    #footerWrap #footerinner .copyrightArea {
      padding: 1em 0; }
      @media only screen and (max-width: 767px) {
        #footerWrap #footerinner .copyrightArea {
          font-size: 0.8rem; } }

/*===============================
henrty
===============================*/
body:not(.toppage) .hentry {
  /* fold */
  /* navi */ }
  body:not(.toppage) .hentry h1 {
    font-size: 240%;
    line-height: 1.3em;
    font-weight: 300;
    padding: 0.8em 0.5em 1.3em 0.5em;
    margin: 0 0 1.5em 0;
    text-align: center;
    position: relative;
    border-bottom: 1px solid #ddd; }
    @media only screen and (max-width: 767px) {
      body:not(.toppage) .hentry h1 {
        font-size: 180%; } }
    body:not(.toppage) .hentry h1::after {
      position: absolute;
      content: "";
      left: 0;
      right: 0;
      bottom: -1px;
      width: 60px;
      margin: auto;
      border-bottom: 2px solid #666; }
    body:not(.toppage) .hentry h1 a {
      color: #555;
      pointer-events: none;
      text-decoration: none; }
  body:not(.toppage) .hentry h2 {
    font-size: 150%;
    clear: both;
    font-weight: bold;
    color: #555;
    position: relative;
    padding: 20px 30px 20px 40px;
    padding: 0.8em 1em 0.8em 2em;
    margin-top: 2em;
    margin-bottom: 1em;
    color: #083A48;
    background: #F2F1F3; }
    @media only screen and (max-width: 767px) {
      body:not(.toppage) .hentry h2 {
        padding: 0.5em 0.7em 0.5em 2em;
        font-size: 130%; } }
    body:not(.toppage) .hentry h2::after {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 1em;
      bottom: 0;
      margin: auto;
      height: 30%;
      width: 2px;
      background: #0E647C; }
      @media only screen and (max-width: 767px) {
        body:not(.toppage) .hentry h2::after {
          left: 1em; } }
  body:not(.toppage) .hentry h3 {
    font-size: 140%;
    font-weight: bold;
    padding: 1em 0.5em 1em 0.5em;
    line-height: 1.7em;
    margin: 1em 0 1.5em 0;
    vertical-align: text-bottom;
    border-radius: 3px;
    font-family: 'Noto Serif JP', serif;
    position: relative;
    padding-bottom: 4px;
    color: #848127; }
    body:not(.toppage) .hentry h3::before {
      content: '';
      display: inline-block;
      position: absolute;
      left: 0;
      bottom: -0.5em;
      margin: 0;
      height: 1px;
      width: 100%;
      background: #D9D8DA; }
    body:not(.toppage) .hentry h3::after {
      content: '';
      display: block;
      position: absolute;
      bottom: -0.5em;
      left: 0;
      margin: auto;
      height: 2px;
      width: 3em;
      background: #b3ab58; }
  body:not(.toppage) .hentry h4 {
    font-size: 120%;
    font-weight: bold;
    padding: 5px 0;
    margin: 30px 0 30px 0; }
  body:not(.toppage) .hentry h5 {
    font-weight: bold;
    padding: 5px 0;
    margin: 30px 0 30px 0; }
  body:not(.toppage) .hentry p {
    width: 95%;
    line-height: 1.7em;
    margin: 0 auto 1em auto; }
  body:not(.toppage) .hentry table {
    width: 98%;
    margin: 1em auto;
    border-collapse: collapse;
    border-bottom: 1px solid #6A4331; }
    @media only screen and (max-width: 767px) {
      body:not(.toppage) .hentry table {
        border-bottom: none; } }
    body:not(.toppage) .hentry table th ol, body:not(.toppage) .hentry table th ul, body:not(.toppage) .hentry table td ol, body:not(.toppage) .hentry table td ul {
      margin-bottom: 0; }
    body:not(.toppage) .hentry table th {
      background-color: #fbf9e6;
      padding: 0.5em 1em;
      white-space: nowrap;
      border-top: 1px solid #6A4331; }
      @media only screen and (max-width: 767px) {
        body:not(.toppage) .hentry table th {
          border-top: none; } }
    body:not(.toppage) .hentry table td {
      border-top: 1px solid #6A4331;
      padding: 0.5em 1em; }
      body:not(.toppage) .hentry table td:first-child {
        background: #fbf9e6;
        font-weight: bold; }
      body:not(.toppage) .hentry table td:only-child {
        background: none;
        font-weight: normal; }
      @media only screen and (max-width: 767px) {
        body:not(.toppage) .hentry table td {
          border-top: none; } }
      body:not(.toppage) .hentry table td table th {
        background-color: #eee;
        width: auto; }
      body:not(.toppage) .hentry table td table td {
        width: auto; }
  body:not(.toppage) .hentry figure.fold th,
  body:not(.toppage) .hentry table.fold th {
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      body:not(.toppage) .hentry figure.fold th,
      body:not(.toppage) .hentry table.fold th {
        width: 100%;
        display: block; } }
  body:not(.toppage) .hentry figure.fold td,
  body:not(.toppage) .hentry table.fold td {
    box-sizing: border-box; }
    @media only screen and (max-width: 767px) {
      body:not(.toppage) .hentry figure.fold td,
      body:not(.toppage) .hentry table.fold td {
        width: 100%;
        display: block; } }
  body:not(.toppage) .hentry hr {
    clear: both;
    overflow: hidden;
    background-color: #fff;
    height: 0;
    margin: 50px 0;
    padding: 0px 0;
    border: 0;
    border-top: 1px solid #ccc; }
  body:not(.toppage) .hentry ul {
    width: 95%;
    margin: 0 auto; }
    body:not(.toppage) .hentry ul li {
      padding: 0.25em 0;
      margin: 0.25em 0 0.25em 2.5em;
      text-indent: -1.5em;
      list-style-type: disc;
      list-style-position: inside; }
    body:not(.toppage) .hentry ul.blocks-gallery-grid {
      width: 100%;
      margin: 0 0 3em 0;
      padding: 0; }
      body:not(.toppage) .hentry ul.blocks-gallery-grid li.blocks-gallery-item {
        margin: 0;
        padding: 0; }
        body:not(.toppage) .hentry ul.blocks-gallery-grid li.blocks-gallery-item figcaption {
          margin: 0;
          padding: 0; }
  body:not(.toppage) .hentry ol {
    width: 95%;
    margin: 0 auto; }
    body:not(.toppage) .hentry ol li {
      line-height: 1.8em;
      padding: 0.25em 0;
      margin: 0.25em 0 0.25em 2em;
      text-indent: -1em;
      list-style-position: inside; }
      body:not(.toppage) .hentry ol li ul {
        margin-top: 1em;
        margin-bottom: 1em; }
        body:not(.toppage) .hentry ol li ul li {
          margin: 0 0 0 2em; }
  body:not(.toppage) .hentry .navi {
    position: relative; }
    body:not(.toppage) .hentry .navi ul {
      text-align: right;
      margin: 0;
      padding: 0.5em 1.5em;
      list-style-type: none;
      letter-spacing: -1em;
      background-color: #f5f5f5; }
      body:not(.toppage) .hentry .navi ul li {
        margin: 0 0 0 0.8em;
        padding: 0.5em 0.3em 0.5em 1.2em;
        list-style-type: none;
        letter-spacing: 0;
        font-size: 80%;
        display: inline-block;
        background: url(img/icon_arrow.png) no-repeat 5px 50%; }
      body:not(.toppage) .hentry .navi ul li:first-child {
        margin: 0; }
      body:not(.toppage) .hentry .navi ul li.current {
        background: url(img/icon_arrow_green-bottom.png) no-repeat 5px 50%; }
        body:not(.toppage) .hentry .navi ul li.current a {
          pointer-events: none;
          text-decoration: none;
          color: #8FC43D; }

/* hentry */
.logoArea {
  padding: 3rem; }
  @media only screen and (max-width: 767px) {
    .logoArea {
      padding: 0;
      height: 16vw;
      padding-left: 5vw; } }
  .logoArea h1.site-title {
    display: block;
    text-align: center; }
    @media only screen and (max-width: 767px) {
      .logoArea h1.site-title {
        padding-top: 3vw;
        text-align: left;
        font-size: 6vw;
        width: calc(100% - 20vw); } }
    .logoArea h1.site-title a {
      color: #333;
      text-decoration: none;
      font-family: 'Noto Serif JP', serif; }
    .logoArea h1.site-title span {
      padding-top: 1rem;
      color: #aaa;
      letter-spacing: 0.3em;
      display: block;
      font-size: 0.7rem;
      font-weight: 200; }
      @media only screen and (max-width: 767px) {
        .logoArea h1.site-title span {
          line-height: 1em;
          padding-top: 0.7em;
          font-family: 'Noto Serif JP', serif; } }

/* hamburger */
:root {
  --hamburger-menu-size: 16vw;
  /* メニューの大きさ */
  --hamburger-menu-padding: 4vw;
  --hamburger-menu-border-px: 4px;
  /* 線の太さ */
  --hamburger-menu-border-color: #fff;
  /* 線の色 */
  --hamburger-menu-transition: 0.3s;
  /* アニメーション秒数 */ }

.hamburger-menu {
  margin: 0 auto;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
  width: 16vw;
  height: 16vw;
  z-index: 1000;
  background-color: #002D67; }

.hamburger-menu-line {
  background-color: #fff;
  position: absolute;
  transition: var(--hamburger-menu-transition);
  width: calc(100% - var(--hamburger-menu-padding) * 2);
  height: var(--hamburger-menu-border-px);
  background-color: var(--hamburger-menu-border-color); }

.line-top {
  top: var(--hamburger-menu-padding);
  left: var(--hamburger-menu-padding); }

.line-middle {
  top: calc(50% - var(--hamburger-menu-border-px)/2);
  left: var(--hamburger-menu-padding); }

.line-bottom {
  bottom: var(--hamburger-menu-padding);
  left: var(--hamburger-menu-padding); }

.hamburger-menu-active > .line-top {
  top: calc(50% - var(--hamburger-menu-border-px)/2);
  transform: rotate(45deg); }

.hamburger-menu-active > .line-middle {
  width: 0;
  height: 0;
  left: var(--hamburger-menu-padding); }

.hamburger-menu-active > .line-bottom {
  top: calc(50% - var(--hamburger-menu-border-px)/2);
  transform: rotate(-45deg); }

/* hamburger */
h1.entry-title {
  font-family: 'Noto Serif JP', serif; }

/* home */
body.home h1:not(.site-title) {
  display: none; }

/* defaultPage */
body:not(.home) h2 {
  line-height: 1.5em;
  font-family: 'Noto Serif JP', serif; }

/*----------------------------------------------
contentsArea
+---------------------------------------------*/
#content {
  width: 90%;
  max-width: 1060px;
  margin: 3em auto 7em auto; }
  @media only screen and (max-width: 767px) {
    #content {
      margin-top: 1em;
      margin-bottom: 3em; } }

#formArea dl {
  margin: 0;
  padding: 0; }
  #formArea dl dt {
    width: 25%;
    display: inline-block;
    position: relative;
    padding: 10px 0 10px 0;
    margin: 0;
    border-top: 1px dotted #ddd;
    border-color: #ddd; }
    @media only screen and (max-width: 767px) {
      #formArea dl dt {
        width: 100%; } }
    #formArea dl dt span {
      position: absolute;
      right: 20px;
      top: 10px;
      padding: 0px 7px;
      border-radius: 4px; }
    #formArea dl dt .need {
      background-color: #990000;
      color: #fff; }
    #formArea dl dt .noneed {
      background-color: #ddd;
      color: #333; }
  #formArea dl dd {
    border-top: 1px dotted #ddd;
    padding: 8px 0 8px 0;
    margin: 0;
    line-height: 2em;
    width: 74%;
    display: inline-block;
    vertical-align: top; }
    @media only screen and (max-width: 767px) {
      #formArea dl dd {
        width: 100%; }
        #formArea dl dd input[type="text"], #formArea dl dd input[type="email"], #formArea dl dd textarea {
          width: 100%; } }

#formArea dt:first-of-type,
#formArea dd:first-of-type {
  border-top: none; }

#formArea p {
  text-align: center; }

#formArea select,
#formArea textarea,
#formArea input[type="email"],
#formArea input[type="text"] {
  font-size: 130%; }

#formArea input[type="submit"] {
  width: 28em;
  display: inline-block;
  margin: 20px auto 0px auto;
  font-size: 16px;
  letter-spacing: 1px;
  text-decoration: none;
  padding: 10px 20px 10px 20px;
  border: none;
  background-color: #8FC43D;
  color: #fff;
  font-weight: bold;
  cursor: pointer; }
  @media only screen and (max-width: 767px) {
    #formArea input[type="submit"] {
      width: 100%; } }

#formArea input[type="submit"]:hover {
  background-color: #2F963B; }

#formArea input[type="button"] {
  width: 5em;
  display: inline-block;
  margin: 20px auto 0px auto;
  font-size: 16px;
  letter-spacing: 1px;
  text-decoration: none;
  padding: 10px 20px 10px 20px;
  border: none;
  background-color: #dfdfdf;
  color: #666;
  font-weight: bold;
  cursor: pointer; }

#formArea input[type="button"]:hover {
  background-color: #ccc; }

/*==============================
pages
==============================*/
/* home */
body.home #content {
  margin-top: 0;
  margin-bottom: 0; }
  body.home #content .mainV {
    font-size: 150%; }
    @media only screen and (max-width: 767px) {
      body.home #content .mainV {
        padding: 0;
        font-size: 100%; }
        body.home #content .mainV br {
          display: none; } }
  body.home #content .map-accessArea {
    background: #f5f5f5;
    padding: 3rem 0; }
    body.home #content .map-accessArea .wp-block-group__inner-container {
      padding: 0 2rem; }
    body.home #content .map-accessArea .wp-block-columns.accessArea {
      max-width: 1060px;
      margin: 0 auto; }
      body.home #content .map-accessArea .wp-block-columns.accessArea h3 {
        font-family: 'Noto Serif JP', serif;
        margin: 0 0 2em 0;
        padding: 0; }
      body.home #content .map-accessArea .wp-block-columns.accessArea .addressTxt {
        border-top: 1px solid #ccc;
        padding: 1rem 0;
        border-bottom: 1px solid #ccc;
        margin-bottom: 1rem; }
        body.home #content .map-accessArea .wp-block-columns.accessArea .addressTxt strong {
          color: #002D67; }
      body.home #content .map-accessArea .wp-block-columns.accessArea .detailTxt {
        font-size: 90%;
        color: #666; }
        @media only screen and (max-width: 767px) {
          body.home #content .map-accessArea .wp-block-columns.accessArea .detailTxt {
            margin-bottom: 2rem; } }
      body.home #content .map-accessArea .wp-block-columns.accessArea .gmap {
        height: 0;
        overflow: hidden;
        padding-bottom: 56.25%;
        position: relative; }
        @media only screen and (min-width: 768px) {
          body.home #content .map-accessArea .wp-block-columns.accessArea .gmap {
            padding-bottom: 30%; } }
      body.home #content .map-accessArea .wp-block-columns.accessArea .gmap iframe {
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%; }
  body.home #content .topicsList {
    margin-top: 2rem;
    margin-bottom: 2.5rem; }
    body.home #content .topicsList h3 {
      font-family: 'Noto Serif JP', serif;
      padding-left: 1em;
      position: relative;
      padding: 1em 0.5em 1em 0.5em;
      margin: 1em 0; }
      body.home #content .topicsList h3::before {
        content: "";
        width: 1px;
        height: 3rem;
        background: #ccc;
        position: absolute;
        top: 0;
        left: 0;
        transform: rotate(45deg); }
      body.home #content .topicsList h3 span {
        font-family: 'Noto Serif JP', serif;
        font-size: 85%;
        color: #0061B5;
        margin-left: 1em; }
      body.home #content .topicsList h3 a.btn {
        font-size: 80%;
        letter-spacing: 0.05em;
        padding: 0.2em 1.5em 0.2em 2em;
        border-radius: 2em;
        font-weight: 400;
        color: #fff;
        text-decoration: none;
        background: linear-gradient(45deg, #001867 0%, #0059b1 100%);
        opacity: 1;
        vertical-align: middle;
        transition: 0.5s;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%); }
        body.home #content .topicsList h3 a.btn::after {
          content: "";
          font-family: "Font Awesome 5 Free";
          font-weight: 900;
          margin-left: 0.5em; }
        body.home #content .topicsList h3 a.btn:hover {
          transition: 0.5s;
          opacity: 0.7; }
    body.home #content .topicsList ul {
      margin-bottom: 2rem; }
      body.home #content .topicsList ul li {
        list-style-type: none;
        margin: 0 0 0.5em 0;
        padding: 0; }
        @media only screen and (min-width: 768px) {
          body.home #content .topicsList ul li {
            display: flex;
            align-items: flex-start;
            width: 100%; }
            body.home #content .topicsList ul li .date {
              width: 7em; }
            body.home #content .topicsList ul li .catset {
              width: 8em; }
            body.home #content .topicsList ul li .title {
              width: 70%; } }
        @media only screen and (max-width: 767px) {
          body.home #content .topicsList ul li {
            margin-bottom: 1em; } }
        body.home #content .topicsList ul li .date {
          margin-right: 1em;
          font-family: 'Noto Serif JP', serif; }
        body.home #content .topicsList ul li .catset {
          line-height: 1; }
          body.home #content .topicsList ul li .catset a {
            opacity: 1;
            transition: 0.5s all ease 0s; }
            body.home #content .topicsList ul li .catset a:hover {
              opacity: 0.5; }
          body.home #content .topicsList ul li .catset a {
            background-color: #002D67;
            padding: 0.2em 1em;
            margin: 0.2em 0 0 0;
            display: inline-block;
            color: #fff;
            font-size: 85%;
            text-decoration: none; }
        body.home #content .topicsList ul li .title {
          display: block;
          line-height: 1.6em; }
          @media only screen and (max-width: 767px) {
            body.home #content .topicsList ul li .title {
              margin-top: 0.5em; } }

/* home */
/* annai */
.annai img {
  box-shadow: 0 0px 10px rgba(0, 0, 0, 0.2); }

.annai .gmap {
  margin-bottom: 2em;
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative; }
  @media only screen and (min-width: 768px) {
    .annai .gmap {
      padding-bottom: 30%; } }

.annai .gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%; }

/* annai */
/* archive */
@media only screen and (min-width: 768px) {
  body.single-topics li.topics a,
  body.post-type-archive-topics li.topics a {
    color: #d6cd6f; }
    body.single-topics li.topics a::before,
    body.post-type-archive-topics li.topics a::before {
      content: "";
      width: 3em;
      display: inline-block;
      height: 1px;
      position: absolute;
      bottom: -2px;
      left: 50%;
      transform: translateX(-50%);
      background: #d7d8d9;
      background: #b3ab58; } }

body.archive h2 {
  margin-top: 0 !important; }

@media only screen and (min-width: 768px) {
  body.archive .sectionFlex.column2 > div {
    width: 80%; } }

body.archive .sectionFlex.column2 > ul {
  width: auto;
  margin: 0 0 auto auto; }
  @media only screen and (max-width: 767px) {
    body.archive .sectionFlex.column2 > ul {
      margin-top: 3em; } }
  body.archive .sectionFlex.column2 > ul li {
    position: relative;
    list-style-type: none;
    padding: 0 0 0 2.8em; }
    body.archive .sectionFlex.column2 > ul li::before {
      content: "";
      width: 1px;
      height: 1.3em;
      background: #ccc;
      position: absolute;
      top: 0.5em;
      left: 0;
      transform: rotate(45deg); }

/* archive */
/*************************************************
magazinegallery
*************************************************/
/* contactBtn */
p.contactBtn {
  clear: both;
  margin: 0;
  text-align: center;
  overflow: hidden; }
  p.contactBtn a {
    width: 25em;
    display: block;
    margin: 30px auto 80px auto;
    font-size: 16px;
    letter-spacing: 1px;
    text-decoration: none;
    padding: 10px 20px 10px 50px;
    background: url(img/icon_arrow_white.png) no-repeat 25% 50% #8FC43D;
    color: #fff;
    font-weight: bold; }
  p.contactBtn a:hover {
    background-color: #2F963B; }
