/*----------------------------------------------------

base.css

https://pengi-n.co.jp/blog/responsive/
https://web-camp.io/magazine/archives/104577
----------------------------------------------------*/
/*日本語  font-family: 'Noto Sans JP', sans-serif;*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
/*日本語  font-family: "Noto Serif JP", serif;*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap');
/*英語  font-family: 'Marcellus SC', serif;*/
@import url('https://fonts.googleapis.com/css2?family=Marcellus+SC&display=swap');
/*英語  font-family: 'Raleway', sans-serif;*/
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;700&display=swap');
/*ROOT
----------------------------------------------------*/ :root {
  --font-jp: "Noto Serif JP", serif;
  --font-gothic:'Noto Sans JP', sans-serif;
  --font-en: 'Raleway', sans-serif;
  --lh-base: 1.8;
  --lh-base-b: 2;
  --lh-base-s: 1.6;
  --lh-base-ss: 1.4;
  --shadow: 0 0 6px #eee;
  --clr-wh: #fff;
  --clr-333: #333;
  --clr-bk: #000;
  --clr-red: #c00;
  --clr-gray: #ccc;
  --clr-beige: #f6f3ea;
  --clr-maeda: #83927b;
  --clr-maeda-l: #9eaf96;
  --clr-maeda-sl: #b7cbac;
  --clr-maeda-d: #565857;
  --bg-angle-right-bk: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%23333" d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" /></svg>'); /*>*/
  --bg-angle-right-wh: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%23fff" d="M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z" /></svg>'); /*>*/
  --bg-chevron-down-bk: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%23333" d="M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M6,10L12,16L18,10L16.6,8.6L12,13.2L7.4,8.6L6,10Z" /></svg>'); /*↓*/
  --bg-chevron-down-wh: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%23fff" d="M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M6,10L12,16L18,10L16.6,8.6L12,13.2L7.4,8.6L6,10Z" /></svg>'); /*↓*/
  --bg-open-in-new-bk: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%23333" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" /></svg>'); /*popup*/
  --bg-open-in-new-wh: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%23fff" d="M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.9 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z" /></svg>'); /*popup*/
}
html {
  font-size: 62.5%;
}
body {
  background-image: url("bg.jpg");
  color: var(--clr-333);
  line-height: 1;
  font-family: var(--font-jp);
  letter-spacing: 0.08em;
  font-size: 1.5rem;
  display: none;
}
.preload {
  transition: 0 !important;
}
#wrap {
  display: block;
  overflow: hidden
}
article {
  padding-top: 60px;
}
.lower  article {  padding-top: 0 !important;}
section {}
.sp {}
.pc {
  display: none;
}
.inner {
  padding-left: 4vw;
  padding-right: 4vw;
}
@media (min-width: 600px) {
body {
  font-size: 1.6rem;
}
  article {
    padding-top: 70px;
  }
  section {}
  .inner {
    padding-left: 6vw;
    padding-right: 6vw;
  }
  .sp {
    display: none;
  }
  .pc {
    display: block;
  }
}
@media (min-width:1025px) {
  #wrap {
    overflow: visible
  }
  .wrapper {
    display: flex;
  }
  article {
    width: calc(100% - 280px)
  }
  section {}
  .inner {
    padding-left: 50px;
    padding-right: 8vw;
  }
  .inner-sub {
    margin: 0 5vw;
  }
}
/* Header
----------------------------------------------------*/
header {
  background-image: url("bg.jpg");
  z-index: 1000;
  transition: .2s;
}
.site-header {
  display: flex;
  justify-content: space-between;
  height: 60px;
  padding: 0 3vw;
  align-items: center;
  position: fixed;
  top: 0;
  width: 100%;
}
header a {
  text-decoration: none !important;
}
header h1 {
  width: 36vw;
  position: relative;
  z-index: 120;
}
header h1 a {
  display: block;
  background: url("logo-y.svg") no-repeat center;
  background-size: cover;
  height: 0;
  padding-top: 20%;
  overflow: hidden;
}
@media (min-width: 600px) {
  .site-header {
    height: 70px;
  }
  header h1 {
    width: 24vw;
  }
}
@media (min-width: 1025px) {
  header {
    background: none;
    width: 280px;
  }
  .site-header {
    display: block;
    position: inherit;
    top: auto;
    height: auto;
    width: 280px;
    padding: 0;
  }
  header .sidebar {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    padding: 70px 40px;
  }
  header h1 {
    width: 180px;
  }
  header h1 a {
    background: url("logo.svg") no-repeat center;
    padding-top: 58.3%;
    filter: drop-shadow(0 0 1px rgba(255, 255, 255, 1)) drop-shadow(0 0 1px rgba(255, 255, 255, 1)) drop-shadow(0 0 1px rgba(255, 255, 255, 1));
  }
}
/* ハンバーガーボタン
----------------------------------------------------*/
.gnav_humburger {
  position: absolute;
  top: 15px;
  right: 5vw;
  width: 35px;
  height: 30px;
  z-index: 120;
  cursor: pointer;
  pointer-events: auto;
  transition: all .2s ease-in-out;
  display: flex;
  justify-content: space-between
}
.gh__open .gnav_humburger {
  position: fixed;
}
.gnav_humburger_wrapper {
  width: 100%;
}
.gnav_humburger span.gnav_humburger_bar {
  display: block;
  width: 100%;
  margin: 10px auto 0;
  height: 1px;
  background: #000;
  transition: all .2s ease-in-out;
}
.gnav_humburger span.gnav_humburger_bar:last-child {
  margin-bottom: 0;
}
/*.gh__open .gnav_humburger span.gnav_humburger_bar {  background: var(--clr-wh);}*/
.gh__open .gnav_humburger span.gnav_humburger_bar.top {
  transform: translateY(5.5px) rotate(-45deg);
}
/*.gh__open .gnav_humburger span.gnav_humburger_bar.middle {  opacity: 0;}*/
.gh__open .gnav_humburger span.gnav_humburger_bar.bottom {
  transform: translateY(-5.5px) rotate(45deg);
}
/*header.fixed .gnav_humburger span.gnav_humburger_bar {  background: #000;}*/
@media (min-width: 600px) {
  .gnav_humburger {
    top: 20px;
    width: 40px;
  }
}
@media (min-width: 1025px) {
  .gnav_humburger {
    display: none;
  }
}
/* グローバルメニュー
----------------------------------------------------*/
.gnav {
    font-size: 1.5rem;
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 101;
  top: 0;
  right: 0;
  padding-bottom: 40px;
  overflow: scroll;
  opacity: 0;
  visibility: hidden; /*フェードインの場合*/
  /*transform: translateZ(0) translateX(100%);スライドの場合*/
}
.gh__open .gnav {
  background: rgba(255, 255, 255, 1);
  opacity: 1;
  visibility: visible; /*フェードインの場合*/
  /* transform: translateZ(0) translateX(0);スライドの場合*/
}
.gh__open .gnav, .gh__close .gnav {
  transition: all 400ms ease-out;
}
.gnav_inner {
  padding: 100px 10vw 10vw;
}
.gnav_item {
  padding: 10px 0;
}
.gnav_item a {
  padding: 10px 0;
  display: block;
}
/**/
body.noscroll {
  overflow: hidden;
}
.gnav_item i {
  font-size: 2rem;
  width: 30px;
  text-align: center;
  vertical-align: middle;
  color: var(--clr-maeda)
}
.gnav_icn {}
.gnav_item.icn01 {
  border-top: 1px solid var(--clr-maeda);
  border-bottom: 1px solid var(--clr-maeda);
  padding: 3px 0;
  margin-top: 10px;
}
.gnav_item.icn02 {
  padding: 20px 0 5px;
}
.gnav_item.icn03 {
  padding: 5px 0;
}
.gnav_item.gnav_txt {
  padding: 0;
  line-height: var(--lh-base-s)
}
@media (min-width: 600px) {
  .gnav {
    width: 100%;
  }
  .gnav_inner {
    padding: 120px 25vw 10vw;
  }
}
@media (min-width: 1025px) {
  .gnav {
    position: relative;
    opacity: 1;
    visibility: visible;
    padding: 40px 0 0;
    overflow: hidden;
  }
  .gh__open .gnav {  background: rgba(255, 255, 255, 0);}
  .gnav_item a:hover {
    opacity: 1;
  }
  .gnav_inner {
    padding: 0;
  }
  .gnav_item {
    padding: 5px;
    text-shadow: 1px 1px 1px #FFF, -1px -1px 1px #FFF, -1px 1px 1px #FFF, 1px -1px 1px #FFF, 0px 1px 1px #FFF, 0-1px 1px #FFF, -1px 0 1px #FFF, 1px 0 1px #FFF;
  }
  .gnav_item > a:hover {
    color: var(--clr-maeda)
  }
  .gnav_item i {
    font-size: 1.8rem;
  }
  .gnav_icn.icn01 {
    margin-top: 20px;
  }
  .gnav_icn.icn02 {}
  .gnav_icn.icn03 {
    padding: 0;
    font-size: 1.8rem;
  }
  .gnav_icn.icn04 {}
  body.noscroll {  overflow:inherit;}
  
}
/* Container
----------------------------------------------------*/
/* Footer
----------------------------------------------------*/
footer {
  background-color: var(--clr-maeda);
  color: var(--clr-wh);
  position: relative;
}
.f-menu a {
  color: var(--clr-wh);
}
.f-menu02 a {
  text-decoration: underline !important;
}
.f-logo {
  width: 60%;
  margin: 0;
}
.f-logo a {
  overflow: hidden;
  height: 0;
  padding-top: 20%;
  display: block;
  background: url("logo-yw.svg") no-repeat;
  background-size: cover;
}
.f-menu {
  line-height: var(--lh-base-s);
  font-size: 1.3rem;
}
.f-menu-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding: 20px 0;
}
.f-menu-item:last-child {
  border: 0;
}
.f-menu01 {
  padding-top: 0 !important
}
.f-menu02 ul {
  flex-direction: row;
}
.f-menu02 li {
  width: 50%;
  padding: 5px 0;
}
.f-menu03 {}
.f-menu03 p {
  margin: 15px
}
.f-menu03 a {
  text-align: center;
  display: block;
  padding: 8px;
  background-color: rgba(255, 255, 255, 0.3);
  text-decoration: none;
  width: 100%;
}
.copylight {
  font-size: 1.2rem;
}
@media (min-width: 600px) {
  .f-logo {
    width: 240px;
  }
  .f-menu02 ul:after {
    display: block;
    content: "";
    width: 33%;
  }
  .f-menu02 li {
    width: 33%;
  }
}
@media (min-width: 1025px) {
  .f-menu {
    display: flex;
    justify-content: space-between;
    line-height: var(--lh-base);
    font-size: 1.4rem;
    padding-top: 10px;
  }
  .f-menu-item {
    border: 0;
    border-right: 1px solid rgba(255, 255, 255, 0.3);
    padding: 0;
  }
  .f-menu-item:last-child {
    border: 0;
  }
  .f-menu01 {
    min-width: 300px;
  }
  .f-menu02 {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .f-menu02 li:last-child {
    width: 66%;
  }
  .f-menu03 {
    width: 360px;
    padding-left: 4vw;
  }
  .f-menu03 p {
    margin: 15px 0
  }
}
/* 
----------------------------------------------------*/
#page-top {
  position: absolute;
  top: 20px;
  right: 15px;
}
#page-top a {
  color: var(--clr-wh);
  text-decoration: none;
  position: relative;
  padding-top: 70px;
  writing-mode: vertical-rl;
}
#page-top a::before, #page-top a::after {
  content: '';
  position: absolute;
  transform: rotate(90deg);
  height: 1px;
  background: var(--clr-wh);
  transition: all .3s;
}
#page-top a::before {
  width: 50px;
  left: -19px;
  top: 30px;
}
#page-top a::after {
  width: 10px;
  top: 10px;
  transform: rotate(55deg);
}
@media (min-width: 600px) {}
@media (min-width: 1025px) {
  #page-top {
    right: 30px;
  }
  #page-top a:hover {
    background-color: var(--clr-maeda);
    color: var(--clr-wh);
    opacity: 1;
  }
  #page-top a:hover::before, #page-top a:hover::after {
    background: var(--clr-wh);
  }
  #page-top a:hover::before {
    top: 20px;
  }
  #page-top a:hover::after {
    top: 0;
  }
}

/* sec_btn
----------------------------------------------------*/
.link-btn {}
.link-btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.3;
  min-height: 64px;
  width: 240px;
  padding-right: 50px;
  text-decoration: none;
  color: var(--clr-maeda);
  border: 1px solid var(--clr-maeda);
  position: relative;
  transition: all .3s;
}
.link-btn a::before, .link-btn a::after {
  content: '';
  position: absolute;
  right: 10px;
  height: 1px;
  background: var(--clr-maeda);
  transition: all .3s;
}
.link-btn a::before {
  top: 50%;
  width: 35px;
}
.link-btn a::after {
  top: calc(50% - 3px);
  width: 10px;
  transform: rotate(35deg);
}
.link-btn-wh a {
  background-color: var(--clr-wh);
}
@media (min-width: 600px) {
  .link-btn a {
    width: 260px;
  }
}
@media (min-width:1025px) {
  .link-btn {}
  .link-btn a {
    padding-right: 80px;
  }
  .link-btn a::before, .link-btn a::after {
    right: 15px;
  }
  .link-btn a::before {
    width: 50px;
  }
  .link-btn a:hover {
    background-color: var(--clr-maeda);
    color: var(--clr-wh);
    opacity: 1;
  }
  .link-btn a:hover::before, .link-btn a:hover::after {
    background: var(--clr-wh);
    right: 8px;
  }
}
/* 
----------------------------------------------------*/
.sec-ttl {
  font-size: 2.4rem;
  padding-top: 10px;
}
.lower .sec-ttl {
    text-align: center;
}
.lower-ttl {
  font-size: 3rem;
  letter-spacing: .1em;
  line-height: var(--lh-base-ss);
}
.lower-ttl  span    {
    font-size: 68%;
}
@media (min-width: 600px) {
  .sec-ttl {
    font-size: 3rem;
  }
  .lower-ttl {
    font-size: 4.2rem;
  }
}
@media (min-width:1025px) {
  .sec-ttl {
    font-size: 3.6rem;
  }
  .lower-ttl {
    font-size: 5rem;
  }
}
/* 
----------------------------------------------------*/

/* 
----------------------------------------------------*/
/*.pager ul.pagination {
  display: flex;
  justify-content: center;
}
.pager .pagination li {
  margin: 0 5px;
  padding: 0;
  width: 40px;
}
.pager .pagination li a {
  display: block;
  text-align: center;
  height: 40px;
  line-height: 40px;
  text-decoration: none;
  border: 1px solid var(--clr-living);
  color: var(--clr-living);
}
.pager .pagination li a span {  display: block;}
.pager .pagination li a.active {
  color: var(--clr-wh);
  background-color: var(--clr-living);
}
.pager .pagination li a:hover {  text-decoration: none;}*/
@media (min-width: 600px) {}
@media (min-width: 1025px) {}
/* 
----------------------------------------------------*/
@media (min-width: 600px) {}
@media (min-width: 1025px) {}