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

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 Sans JP', sans-serif;
  --font-jp-m: 'Noto Serif JP', 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-bk: #000;
  --clr-red: #c00;
  --clr-gray: #fafafa;
  --clr-gray-dark: #efefef;
  --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 {
  color: var(--clr-bk);
  line-height: 1;
  font-family: var(--font-jp);
  letter-spacing: 0.03em;
  font-size: 1.4rem;
}
.preload {  transition: 0 !important;}
#wrap {
  display: block;
  overflow: hidden
}
/*article {  padding-top: 60px;}*/
section {}
.sp {}
.pc {  display: none;}
.inner {  padding: 0 5vw;}
@media (min-width: 600px) {
  /* article {  padding-top: 70px;}*/
  .sp {  display: none;}
  .pc {  display: block;}
  section {}
  .inner {  padding: 0 8vw;}
}
@media (min-width:1025px) {
  /*article {  padding-top: 80px;}*/
  section {}
  .inner {  padding: 0 10vw;}
  .inner-sub {  margin: 0 5vw;}
}
/* Header
----------------------------------------------------*/
header {  padding: 1em 1em 0;}
header a {  text-decoration: none !important;}
header h1 {  width: 26vw;}
header h1 a {
  display: block;
  background: url("../img/logo.svg") no-repeat center;
  height: 0;
  padding-top: 40%;
  overflow: hidden;
  filter: brightness(0) invert(1);
}
@media (min-width: 600px) {
  header h1 {  width: 14vw;}
}
@media (min-width: 1025px) {
  header h1 {
    width: 10vw;
    max-width: 140px
  }
}
/* Container
----------------------------------------------------*/
/* Footer
----------------------------------------------------*/
footer .sec-bg {  background-color: var(--clr-bk);}
footer .sec-bg, footer .sec-bg a {  color: var(--clr-wh);}
@media (min-width: 600px) {}
@media (min-width: 1025px) {}
/* 
----------------------------------------------------*/
.f-menu {
  font-size: 1.3rem;
  line-height: var(--lh-base-s)
}
.f-menu h3 {
  width: 45vw;
  margin: 0 auto;
  text-align: center;
}
.f-menu h3 a {
  height: 0;
  overflow: hidden;
  display: block;
  padding-top: 40%;
  background-image: url("../img/logo-w.svg");
  background-repeat: no-repeat;
  background-position: left center;
}
.foot-add {  text-align: center;}
.f-menu h4 {
  font-size: 1.5rem;
  margin: 20px 0;
  text-align: center;
}
.f-menu h4  span    {    font-size: 84%;}
.foot-txt {  margin: 20px 10px;}
.f-att {
  border-top: 1px solid #ccc;
  font-size: 1rem;
  padding: 15px 0 0
}
.copylight {
  font-size: 1.1rem;
  text-align: right;
}
@media (min-width: 600px) {
  .f-name {  align-content: flex-end}
  .foot-logo {  width: 100%;}
  .f-menu h3 {
    width: 25vw;
    margin: 0;
  }
  .f-menu h4 {  text-align: left;}
  .foot-add {
    text-align: left;
    width: 70%;
  }
/*  .foot-txt {
    margin: 20px 0;
    width: 48%;
  }*/
}
@media (min-width: 1025px) {
  .f-name {  justify-content: flex-start !important;}
  .f-menu h3 {  width: 200px;}
  .foot-logo {  width: auto;}
  .foot-add {
    width: auto;
    margin: 0 40px;
  }
  .foot-txt {
    width: auto;
    margin: 20px 0 40px;
  }
  .f-att {  padding: 30px 0 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: 220px;
  text-decoration: none;
  text-align: center;
  border: 1px solid var(--clr-bk);
  background-image: var(--bg-angle-right-bk);
  background-repeat: no-repeat;
  background-position: right 3px center;
  background-size: 16px;
}
.link-btn.link-btn-blue a {
  border: 1px solid var(--clr-wh);
  background-image: var(--bg-angle-right-wh);
  background-color: var(--clr-living);
  color: var(--clr-wh);
}
.link-btn.link-blank a {
  background-image: var(--bg-open-in-new-bk);
  background-position: right 10px center;
}
@media (min-width: 600px) {
  .link-btn a {  width: 260px;}
}
@media (min-width:1025px) {
  .link-btn {}
  .link-btn a:hover {
    background-image: var(--bg-angle-right-wh);
    background-color: var(--clr-bk);
    color: var(--clr-wh);
    opacity: 1;
  }
  .link-btn.link-btn-blue a:hover {
    background-image: var(--bg-angle-right-bk);
    background-color: var(--clr-wh);
    color: var(--clr-bk);
  }
  .link-btn.link-blank a:hover {  background-image: var(--bg-open-in-new-wh);}
}
/* 
----------------------------------------------------*/
h2.cnt-ttl {
  letter-spacing: .1em;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: var(--lh-base-ss);
}
h2.cnt-ttl strong {
  font-size: 80%;
}
h2.cnt-ttl .en {
  display: block;
  font-family: var(--font-en);
  font-size: 1.2rem;
  margin-top: .5em;
}
.sec-ttl    {
  text-align: center;
}
.sec-ttl    strong {
  letter-spacing: .2em;
  font-size: 2rem;
  font-weight: 700;
  position: relative;
  z-index: 10;
  font-family: var(--font-jp-m);
  display: inline-block;
  padding: 0 45px;
}
.sec-ttl    strong:before,
.sec-ttl    strong:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 35px;
  height: 1px;
  background-color: black;
}
.sec-ttl    strong:before {  left:0;}
.sec-ttl    strong:after {  right: 0;}
.label-ttl  {
    text-align: center;
    padding: 20px 0 40px;
}
.label-ttl    strong {
  letter-spacing: .2em;
  font-size: 2rem;
  font-weight: 700;
  font-family: var(--font-jp-m);
  display: inline-block;
  padding: 15px 25px;
  border: 1px solid #333;
  transform: rotate(-5deg);
  box-shadow: 10px 10px 0px 0px rgba(0, 0, 0, 0.1);
}
.sec-bg {
  background-color: var(--clr-gray);
  padding-top: 60px;
  padding-bottom: 80px;
}
@media (min-width: 600px) {
  h2.cnt-ttl {  font-size: 2.8rem;}
  .sec-ttl    strong {  font-size: 2.4rem;}
  .sec-bg {
    padding-top: 80px;
    padding-bottom: 100px;
  }
}
@media (min-width:1025px) {
  h2.cnt-ttl {  font-size: 3.6rem;}
  h2.cnt-ttl .en {  font-size: 1.4rem;}
  .sec-ttl    strong {  font-size: 4rem;}
  .sec-ttl    strong {  padding: 0 140px;}
  .sec-ttl    strong:before, .sec-ttl    strong:after {  width: 120px;}
  .sec-bg {
    padding-top: 100px;
    padding-bottom: 140px;
  }
  .label-ttl  {
    text-align: center;
    padding: 20px 0 40px;
}
.label-ttl    strong {
  font-size: 4rem;
}
}
/* 
----------------------------------------------------*/
@media (min-width: 600px) {}
@media (min-width: 1025px) {}