@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');

/* ===============================
フォント設定
=============================== */
:root {
  --font_noto_sans: 'Noto Sans JP', sans-serif;
  --font_noto_serif: 'Noto Serif JP', sans-serif;
  --font_libre: 'Libre Baskerville', serif;
  --blue : #0E2B50;
  --brown : #90794C;
}
#jpn_pattern_page .font_libre {
  font-family: 'Libre Baskerville', serif!important;
}
#jpn_pattern_page .mincho {
  font-family: var(--font_noto_serif)!important;
}
/* ===============================
行間・文字間隔等
=============================== */
#jpn_pattern_page h2,
#jpn_pattern_page h3,
#jpn_pattern_page h4,
#jpn_pattern_page h5 {
  font-family: var(--font_noto_serif)!important;
  font-weight: 500!important;
  letter-spacing: 0.03em!important;
}
@media screen and (max-width: 599px) {
  #jpn_pattern_page h2,
  #jpn_pattern_page h3,
  #jpn_pattern_page h4,
  #jpn_pattern_page h5 {
    letter-spacing: 0.02em!important;
  }
}
#jpn_pattern_page p,
#jpn_pattern_page p span,
#jpn_pattern_page p small,
#jpn_pattern_page dt,
#jpn_pattern_page dd  {
  line-height: 2.2em!important;
  letter-spacing: 0!important;
  font-family: var(--font_noto_sans)!important;
  font-weight: 400;
  font-size: 1.4rem;
}
@media screen and (max-width: 599px) {
#jpn_pattern_page p,
#jpn_pattern_page p span,
#jpn_pattern_page p small,
#jpn_pattern_page dt,
#jpn_pattern_page dd  {
  letter-spacing: 0em!important;
}
}
/* ===============================
リンク設定
=============================== */
#jpn_pattern_page a {
  text-decoration: none!important;
}
#jpn_pattern_page a:hover {
  color: inherit!important;
}
/* ===============================
レイアウト
=============================== */
.jpn_pattern_page_main_conts {
  width: 860px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  .jpn_pattern_page_main_conts {
    width: 94%;
  }  
}
#jpn_pattern_page .inner_wrap > *:last-child,
#jpn_pattern_page .inner_wrap > *:last-child > *:last-child,
#jpn_pattern_page .inner_wrap > *:last-child > *:last-child > *:last-child {
  margin-bottom: 0;
}
/* ===============================
リード文
=============================== */
.jpn_pattern_lead {
  text-align: center;
  margin: 7rem auto 4rem;
  padding-bottom: 6rem;
  border-bottom: solid 1px var(--color_gray);
}
#jpn_pattern_page .jpn_pattern_lead h2 {
  font-size: 2.4rem;
  line-height: 2.0em!important;
  margin-bottom: 2rem;
}
#jpn_pattern_page .jpn_pattern_lead h2 + p {
  font-size: 1.5rem;
}
.jpn_pattern_lead h2 span {
  font-size: 3.4rem;
}
@media screen and (max-width: 599px) {
.jpn_pattern_lead {
  width: 94%;
  margin: 2rem auto 3rem;
  padding-bottom: 3rem;
}
#jpn_pattern_page .jpn_pattern_lead h2 {
  font-size: 1.9rem;
  margin-bottom: 1rem;
  font-weight: 600!important;
}
#jpn_pattern_page .jpn_pattern_lead h2 + p {
    font-size: 1.4rem;
    font-family: var(--font_noto_sans)!important;
    font-weight: 400;
}
#jpn_pattern_page .jpn_pattern_lead h2 + p br {
  display: none;
}
}
/* ===============================
ページ内リンク
=============================== */
.jpn_pattern_pagelink {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 10rem;
}
@media screen and (max-width: 599px) {
  .jpn_pattern_pagelink {
    margin-bottom: 5rem;
  }
}
.jpn_ptn_box {
  width: 47.64%;
  background-color: #F5F5F5;
  margin-bottom: 4rem;
}
@media screen and (max-width: 599px) {
  .jpn_ptn_box {
    margin-bottom: 6%;
  }
}
.jpn_ptn_box_inner {
  padding: 3rem 4.8rem 3.5rem;
}
@media screen and (max-width: 599px) {
  .jpn_ptn_box_inner {
    padding: 1.6rem;
  }
}
/* ===============================
見出し
=============================== */
#jpn_pattern_page .jpn_ptn_ttl_01 {
  font-size: 2rem;
  font-family: var(--font_libre)!important;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 1rem;
}
@media screen and (max-width: 599px) {
  #jpn_pattern_page .jpn_ptn_ttl_01 {
    font-size: 1.6rem;
    margin-bottom: 0.6rem;
  }
  #jpn_pattern_page .jpn_ptn_ttl_01 + p {
    line-height: 1.5!important;
  }
}
.jpn_ptn_ttl_01:before {
  content: '';
  display: inline-block;
  width: 55px;
  height: 1px;
  background-color: #707070;
  margin-left: -6.5rem;
  margin-right: 1rem;
}
@media screen and (max-width: 599px) {
  .jpn_ptn_ttl_01:before {
    display: none;
  }
}
.jpn_ptn_ttl_01 small {
  font-size: 1.6rem;
  font-family: var(--font_noto_serif);
}
@media screen and (max-width: 599px) {
  .jpn_ptn_ttl_01 small {
    font-size: 1.4rem;
  }  
}
.jpn_ptn_ttl_01 small:before {
  content: '/';
  padding-left: 0.4rem;
  padding-right: 0.4rem;
}
#jpn_pattern_page .jpn_ptn_ttl_02 {
  font-size: 3.4rem;
  line-height: 1.6!important;
  text-align: center;
  margin-bottom: 3rem;
}
@media screen and (max-width: 599px) {
  #jpn_pattern_page .jpn_ptn_ttl_02 {
    font-size: 2.2rem;
    margin-bottom: 1.6rem;
    font-weight: 500!important;
  }
}
#jpn_pattern_page .jpn_ptn_ttl_02 small {
  font-size: 1.6rem;
  display: block;
}
@media screen and (max-width: 599px) {
  #jpn_pattern_page .jpn_ptn_ttl_02 small {
    font-size: 1.4rem;
    font-weight: 400!important;
  }
}
#jpn_pattern_page .jpn_ptn_ttl_03 {
  font-size: 2.4rem;
  font-family: var(--font_libre)!important;
  margin-bottom: 3rem;
  line-height: 1.3!important;
}
@media screen and (max-width: 599px) {
  #jpn_pattern_page .jpn_ptn_ttl_03 {
    font-size: 1.8rem;
    margin-bottom: 2rem;
  }
}
#jpn_pattern_page .jpn_ptn_ttl_03 small {
  font-family: var(--font_noto_serif)!important;
  font-size: 1.8rem;
  padding-left: 0.4rem;
}
@media screen and (max-width: 599px) {
  #jpn_pattern_page .jpn_ptn_ttl_03 small {
    display: block;
    font-size: 1.4rem;
  }
}
#jpn_pattern_page .jpn_ptn_ttl_03 small:before {
  content: '/';
  margin-right: 0.4rem;
}
#jpn_pattern_page .jpn_ptn_ttl_04 {
  font-family: var(--font_noto_sans)!important;
  font-size: 1.4rem;
  text-align: center;
  margin-top: 2rem;
}
#jpn_pattern_page .jpn_ptn_ttl_05 {
  font-family: var(--font_noto_serif)!important;
  font-size: 2.2rem;
  text-align: center;
  margin-bottom: 4rem;
}
@media screen and (max-width: 599px) {
  #jpn_pattern_page .jpn_ptn_ttl_05 {
    font-size: 1.7rem;
    margin-bottom: 2.6rem;
    line-height: 1.8!important;
  }
}
/* ===============================
コンテンツ
=============================== */
.jpn_ptn_series_wrap {
  background-color: #F5F5F5;
  padding-bottom: 7rem;
}
@media screen and (max-width: 599px) {
  .jpn_ptn_series_wrap {
    padding-bottom: 5rem;
  }
}
.jpn_ptn_series_inner {
  margin: 7rem;
}
@media screen and (max-width: 599px) {
  .jpn_ptn_series_inner {
    margin: 3rem 2rem 3.6rem;
  }
}
#jpn_pattern_page .jpn_ptn_series_inner h2 + h3 + p {
  text-align: center;
  font-size: 1.5rem!important;
  line-height: 2.4em!important;
}
@media screen and (max-width: 599px) {
  #jpn_pattern_page .jpn_ptn_series_inner h2 + p {
    text-align: left;
    font-size: 1.4rem;
  }
}
.jpn_ptn_col4_wrap {
  display: flex;
  margin: 0 -1.5%;
  margin-bottom: 4rem;
  flex-wrap: wrap;
}
.jpn_ptn_col4_box {
  width: 22%;
  margin: 0 1.5%;
}
@media screen and (max-width: 599px) {
  .jpn_ptn_col4_box {
    width: 47%;
    margin-bottom: 6%;
  } 
} 
#jpn_pattern_page .jpn_ptn_col4_box p {
  font-family: var(--font_noto_sans)!important;
  font-size: 1.4rem;
  text-align: center;
  margin-top: 2rem;
  line-height: 1.6!important;
}
@media screen and (max-width: 599px) {
  #jpn_pattern_page .jpn_ptn_col4_box p {
    margin-top: 1rem;
  }
}
#jpn_pattern_page .jpn_ptn_col4_box p br {
  display: block;
}
/* ===============================
ボタン
=============================== */


