@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Zen+Maru+Gothic:wght@400;500;700&display=swap");
html,
body {
  font-size: 16px;
  line-height: 1.6;
  font-family: "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  color: #333;
  background: #f0ebe0;
}

h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
}

a {
  color: #333;
  text-decoration: none;
  word-break: break-all;
}

.bold {
  font-weight: 600;
}

.eng {
  font-family: "Josefin Sans", sans-serif;
}

a.kiyaku {
  color: #a9d2f4;
  text-decoration: underline;
}
a.kiyaku i {
  margin-left: 5px;
}

/*--------------------
共通コンテナ
--------------------*/
.container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 1rem;
  padding-right: 1rem;
}

.m_box {
  padding: 1rem;
}

.m_box2 {
  padding: 2rem;
}

.hr_line {
  margin: 1rem 0;
  border-top: 1px solid #eee;
}

.relative {
  position: relative;
  z-index: 1;
}

.box_r {
  border-radius: 2rem;
}

.border {
  border: 2px solid #333;
}

.sdw {
  box-shadow: 0 5px 15px -10px #333;
}

.gmap {
  width: 100%;
  padding-top: 33.3333333333%;
  position: relative;
}
.gmap iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

/*--------------------
liデザイン
--------------------*/
.list_check li {
  padding-left: 1rem;
  position: relative;
}
.list_check li::before {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f00c";
  font-size: 1rem;
  font-weight: 600;
  color: #264060;
  position: absolute;
  top: 5px;
  left: 0;
}
.list_check li:not(:last-of-type) {
  margin-bottom: 0.5rem;
}
.list_check.large li {
  font-size: 1.25rem;
}

.list_dot li {
  padding: 0.25rem 0;
  padding-left: 0.75rem;
  border-bottom: 1px solid #eee;
  position: relative;
}
.list_dot li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #a9d2f4;
  border-radius: 50%;
  position: absolute;
  top: 14px;
  left: 0;
}
.list_dot.small li {
  font-size: 0.75rem;
  border-bottom: 1px solid #fafafa;
}
.list_dot.small li::before {
  top: 12px;
}

.list_dot2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.list_dot2 li {
  padding: 0.25rem 1rem;
  padding-left: 1.125rem;
  margin: 0.25rem;
  background: #fafafa;
  font-size: 14px;
  border-radius: 2rem;
  position: relative;
}
.list_dot2 li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  background: #e89686;
  border-radius: 50%;
  position: absolute;
  top: 13px;
  left: 0.5rem;
}

.list_line li {
  margin-bottom: 0.5rem;
  padding-left: 0.5rem;
  position: relative;
}
.list_line li::before {
  content: "";
  display: block;
  width: 2px;
  height: 100%;
  background: #a9d2f4;
  position: absolute;
  top: 0;
  left: 0;
}

/*--------------------
カラム共通CSS
--------------------*/
.reverse {
  flex-direction: row-reverse;
}

/*--------------------
共通見出し
--------------------*/
.m_text {
  font-size: 1.5rem;
}

.m_text2 {
  font-size: 1.25rem;
}

.marker_b {
  background: linear-gradient(transparent 65%, rgba(169, 210, 244, 0.5) 65%);
}

.marker_g {
  background: linear-gradient(transparent 65%, rgba(199, 231, 165, 0.5) 65%);
}

.marker_o {
  background: linear-gradient(transparent 65%, rgba(243, 125, 74, 0.5) 65%);
}

.marker_y {
  background: linear-gradient(transparent 65%, rgba(255, 242, 195, 0.5) 65%);
}

/*--------------------
背景
--------------------*/
.bg_white {
  background-color: #fcfcfb;
}

.bg_beige {
  background-color: #f0ebe0;
}

/*--------------------
header
--------------------*/
header {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99;
}
header .head_wrap {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
header .head_wrap #logo {
  width: 240px;
}
header .head_wrap .head_sns {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  width: calc(100% - 240px);
  margin-left: auto;
}
header .head_wrap .head_sns li a {
  display: inline-block;
  line-height: 1;
  margin: 0 0.25rem;
}
header .head_wrap .head_sns li .x_ico, header .head_wrap .head_sns li .insta_ico {
  font-size: 32px;
}
header .head_wrap .head_sns li .line_ico {
  font-size: 29px;
}
header .head_wrap .head_sns li.h_contact_btn {
  margin-left: 1rem;
}
header .head_wrap .head_sns li.h_contact_btn a {
  padding: 1rem 2rem;
  background: #a9d2f4;
  border-radius: 3rem;
  color: #fcfcfb;
  font-weight: 600;
}
header .head_wrap .head_sns li.h_contact_btn a::before {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f0e0";
  margin-right: 5px;
}
header .head_wrap .nav_wrap {
  width: 100%;
  margin-top: 1rem;
  padding: 0.5rem;
  background: #fcfcfb;
  border-radius: 2rem;
}
header .head_wrap .nav_wrap nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
header .head_wrap .nav_wrap nav ul li {
  flex: 1;
  text-align: center;
}
header .head_wrap .nav_wrap nav ul li a {
  display: inline-block;
  padding: 0.5rem;
  text-align: center;
  font-weight: 600;
}
header .head_wrap .nav_wrap nav ul li a::before {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f0da";
  color: #a9d2f4;
  margin-right: 5px;
}

/*--------------------
メインビジュアル
--------------------*/
#mainvisual {
  width: 100%;
  padding-top: 200px;
  padding-bottom: 80px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
#mainvisual::before, #mainvisual::after {
  content: "";
  display: block;
  width: calc(100% + 1920px);
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-20%, -20%);
}
#mainvisual::before {
  height: 600px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='grad' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%' stop-color='%23f5efe3' /%3E%3Cstop offset='100%' stop-color='%23f0ebe0' /%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0,256L26.7,266.7C53.3,277,107,299,160,282.7C213.3,267,267,213,320,170.7C373.3,128,427,96,480,122.7C533.3,149,587,235,640,234.7C693.3,235,747,149,800,122.7C853.3,96,907,128,960,149.3C1013.3,171,1067,181,1120,165.3C1173.3,149,1227,107,1280,74.7C1333.3,43,1387,21,1413,10.7L1440,0L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='url(%23grad)' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  z-index: -2;
}
#mainvisual::after {
  height: 420px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='grad' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%' stop-color='%23f9f5ec' /%3E%3Cstop offset='100%' stop-color='%23f5efe3' /%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0,256L26.7,266.7C53.3,277,107,299,160,282.7C213.3,267,267,213,320,170.7C373.3,128,427,96,480,122.7C533.3,149,587,235,640,234.7C693.3,235,747,149,800,122.7C853.3,96,907,128,960,149.3C1013.3,171,1067,181,1120,165.3C1173.3,149,1227,107,1280,74.7C1333.3,43,1387,21,1413,10.7L1440,0L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='url(%23grad)' /%3E%3C/svg%3E");
  z-index: -1;
}
#mainvisual .catch_wrap {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
#mainvisual .main_deco {
  width: 60%;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
#mainvisual .catchcopy {
  width: 520px;
  max-width: 100%;
  position: relative;
  z-index: 1;
}
#mainvisual .catchcopy .catch_inr {
  padding: 2rem;
  margin-bottom: 2rem;
  border-radius: 2rem;
}
#mainvisual .catchcopy .catch_inr span {
  font-size: 4rem;
  font-weight: 600;
}
#mainvisual .catchcopy .catch_inr p {
  font-size: 1.5rem;
  font-weight: 600;
}
#mainvisual .catchcopy .catch_inr ul {
  margin-top: 2rem;
}
#mainvisual .catchcopy .catch_sns {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#mainvisual .catchcopy .x_btn {
  width: 48%;
}
#mainvisual .catchcopy .x_btn a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 1rem 2rem;
  background: #333;
  color: #fcfcfb;
  border-radius: 3rem;
}
#mainvisual .catchcopy .x_btn a i {
  font-size: 1.5rem;
  margin-right: 5px;
}
#mainvisual .catchcopy .line_btn {
  width: 48%;
}
#mainvisual .catchcopy .line_btn a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  background: #00b900;
  color: #fcfcfb;
  border-radius: 3rem;
}
#mainvisual .catchcopy .line_btn a i {
  font-size: 1.5rem;
  margin-right: 5px;
}

.separater {
  padding-top: 160px;
  background: #a9d2f4;
}
.separater.neko {
  position: relative;
}
.separater.neko .neko_doc {
  width: 200px;
  position: absolute;
  top: -160px;
  left: 4rem;
  z-index: 1;
}

.separater2 {
  padding-top: 160px;
  background: #fff2c3;
}

/*--------------------
TOP
--------------------*/
#top1 {
  display: flex;
  background: #fcfcfb;
}
#top1::before, #top1::after {
  content: "";
  display: block;
  width: calc((100% - 1280px) / 2);
  height: 60px;
  background: #a9d2f4;
}
#top1::before {
  border-radius: 0 0 3rem;
}
#top1::after {
  border-radius: 0 0 0 3rem;
}
#top1 .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 80px;
  padding-bottom: 120px;
  padding-left: 0;
  padding-right: 0;
  margin-top: -80px;
  background: #fcfcfb;
  border-radius: 3rem 3rem 0 0;
  position: relative;
}
#top1 h2 {
  text-align: center;
  font-size: 3rem;
  font-weight: 600;
  padding: 1rem;
  letter-spacing: 0.1rem;
  position: relative;
}
#top1 h2 b {
  font-size: 4rem;
  color: #c7e7a5;
  font-weight: 600;
}
#top1 .worries_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  padding: 5rem 0 2rem;
  background: #fcfcfb;
  border-radius: 2rem;
}
#top1 .worries_wrap figure {
  margin-bottom: 2rem;
  padding: 0 2rem;
}
#top1 .worries_wrap .worries_box {
  width: 30%;
  padding: 2rem;
  background: #fafafa;
  border-radius: 2rem;
  box-shadow: 0 5px 15px -10px #333;
}
#top1 .worries_wrap .worries_box h3 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 1rem;
  padding: 0.5rem;
  background: #c7e7a5;
  text-align: center;
  border-radius: 2rem;
}
#top1 .cat_img {
  width: 160px;
  position: absolute;
  bottom: -70px;
  right: 0;
  z-index: 1;
}
#top1 .cat_img img {
  width: 100%;
}

#top2 {
  background: #f0ebe0;
  position: relative;
  overflow: hidden;
}
#top2 .mission_img {
  width: 60%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#top2 .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 100px;
  padding-bottom: 120px;
  padding-left: 0;
  padding-right: 0;
  position: relative;
}
#top2 h2 {
  font-size: 3rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  margin-bottom: 2rem;
}
#top2 .about_wrap {
  width: 50%;
  margin-left: auto;
}
#top2 .about_wrap .about_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: 2rem;
}
#top2 .about_wrap .about_box .about_txt h3 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 2rem;
}
#top2 .about_wrap .about_box .about_txt p:nth-of-type(1) {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
#top2 .about_wrap .cta_link {
  margin-top: 2rem;
}
#top2 .about_wrap .cta_link ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#top2 .about_wrap .cta_link ul li {
  width: 240px;
  margin: 0.5rem;
  text-align: center;
}
#top2 .about_wrap .cta_link ul li a {
  display: block;
  padding: 1rem;
  color: #fcfcfb;
  border-radius: 3rem;
}
#top2 .about_wrap .cta_link ul li a i {
  margin-right: 5px;
}
#top2 .about_wrap .cta_link ul li.cta_line_btn a {
  background: #00b900;
}
#top2 .about_wrap .cta_link ul li.cta_search_btn a {
  background: #333;
}

#top3 {
  background: linear-gradient(0deg, rgba(252, 252, 251, 0.8), rgba(252, 252, 251, 0.8)), url(../img/shoseki_bg.jpg) no-repeat center/cover;
}
#top3 .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 160px;
  padding-bottom: 160px;
  padding-left: 0;
  padding-right: 0;
}
#top3 .book_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
#top3 .book_wrap .book_img {
  width: 300px;
  box-shadow: 0 5px 10px -5px rgba(51, 51, 51, 0.3);
}
#top3 .book_wrap .book_img a {
  display: block;
  overflow: hidden;
}
#top3 .book_wrap .book_img a img {
  transition: 0.3s ease;
}
#top3 .book_wrap .book_img a:hover img {
  transform: scale(1.05);
}
#top3 .book_wrap .book_box {
  width: calc(100% - 380px);
}
#top3 .book_wrap .book_box h2 {
  display: inline-flex;
  align-items: flex-end;
  font-size: 4rem;
  font-weight: 600;
  margin-bottom: 2rem;
  line-height: 1;
  position: relative;
}
#top3 .book_wrap .book_box .fukidashi {
  width: 120px;
  height: 120px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  color: #fcfcfb;
  background: #a9d2f4;
  border-radius: 50% 50% 50% 0;
  margin-left: 2rem;
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.1rem;
}
#top3 .book_wrap .book_box .sub_ttl {
  font-size: 1.5rem;
  font-weight: 600;
}
#top3 .book_wrap .book_box .book_link a {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  font-size: 1.25rem;
}
#top3 .book_wrap .book_box .book_link img {
  width: 120px;
}
#top3 .book_wrap .book_box .qr {
  width: 100px;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
}

#top4 {
  background-color: #fcfcfb;
  background-image: linear-gradient(0deg, rgba(169, 210, 244, 0.1), rgba(169, 210, 244, 0.1)), url(../img/maru_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
}
#top4::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(252, 252, 251, 0.8);
  position: absolute;
  top: 0;
  left: 0;
}
#top4 .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 120px;
  padding-bottom: 80px;
  padding-left: 0;
  padding-right: 0;
  position: relative;
}
#top4 h2 {
  letter-spacing: 0.1rem;
  margin-bottom: 2rem;
  text-align: center;
}
#top4 h2 span {
  color: #a9d2f4;
  font-size: 3rem;
  font-weight: 600;
}
#top4 h2 p {
  font-size: 1.52rem;
  font-weight: 600;
}
#top4 h2 p b {
  display: inline-block;
  margin-left: auto;
}
#top4 .neko_doc, #top4 .neko_doc2 {
  position: absolute;
}
#top4 .neko_doc {
  width: 200px;
  top: -80px;
  right: 0;
}
#top4 .neko_doc2 {
  width: 160px;
  bottom: -80px;
  left: 0;
}
#top4 .menu_box {
  padding: 2rem 0 4rem;
}
#top4 .menu_list ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
#top4 .menu_list ul li {
  width: 30%;
  margin-bottom: 3rem;
}
#top4 .menu_list ul li a {
  display: block;
  width: 100%;
  height: 100%;
  background: #fcfcfb;
  border-radius: 1rem;
  transition: 0.3s ease;
  box-shadow: 0 5px 15px -10px #333;
}
#top4 .menu_list ul li a figure {
  width: 100%;
  padding-top: 56.25%;
  border-radius: 1rem 1rem 0 0;
  position: relative;
  overflow: hidden;
}
#top4 .menu_list ul li a figure img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-16px);
  transition: 0.3s ease;
}
#top4 .menu_list ul li a:hover {
  transform: translateY(-16px);
}
#top4 .menu_list ul li a:hover figure img {
  transform: translateY(0);
}
#top4 .menu_list ul li a .menu_ttl {
  padding: 2rem;
}
#top4 .menu_list ul li a .menu_ttl h3 {
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  margin-bottom: 1rem;
}
#top4 .menu_list ul li a .menu_ttl h3::first-letter {
  font-size: 1.5rem;
  color: #c7e7a5;
}

#top5 {
  background: #fff2c3;
}
#top5 .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 160px;
  padding-bottom: 60px;
  padding-left: 0;
  padding-right: 0;
}
#top5 h2 {
  width: 80%;
  margin: auto;
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  color: #fcfcfb;
  background: #a9d2f4;
  padding: 1rem;
  border-radius: 5rem;
  letter-spacing: 0.1rem;
  position: relative;
}
#top5 .sodan_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: -2.5rem;
  padding: 5rem 2rem 2rem 2rem;
  background: #fcfcfb;
  border-radius: 2rem;
}
#top5 .sodan_wrap figure {
  width: 35%;
}
#top5 .sodan_wrap .sodan_box {
  width: 60%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
#top5 .sodan_wrap .sodan_box dl {
  width: 48%;
  padding: 2rem;
  background: #fafafa;
  border-radius: 2rem;
  margin-bottom: 2rem;
}
#top5 .sodan_wrap .sodan_box dl dt {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
#top5 .sodan_wrap .sodan_box dl dd li {
  font-weight: 600;
}
#top5 .sodan_wrap .sodan_box dl .btn {
  text-align: center;
  margin-top: 1rem;
}
#top5 .sodan_wrap .sodan_box dl .btn a {
  display: inline-block;
  width: 200px;
  padding: 0.5rem 1rem;
  background: #00b900;
  color: #fcfcfb;
  border-radius: 3rem;
}
#top5 .sodan_wrap .sodan_box dl .btn a i {
  margin-right: 5px;
}
#top5 .sodan_wrap .sodan_box p {
  width: 100%;
  font-size: 1.125rem;
  font-weight: 600;
  text-align: center;
}

#top6 {
  background: #fcfcfb;
}
#top6 .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 80px;
  padding-bottom: 80px;
  padding-left: 0;
  padding-right: 0;
}
#top6 h2 {
  letter-spacing: 0.1rem;
  margin-bottom: 2rem;
}
#top6 h2 span {
  color: #a9d2f4;
  font-size: 3rem;
  font-weight: 600;
}
#top6 h2 p {
  font-size: 1.5rem;
  font-weight: 600;
}
#top6 h2 p b {
  display: inline-block;
  margin-left: auto;
}
#top6 .doc_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#top6 .doc_list li {
  width: 31%;
  margin-bottom: 2rem;
}
#top6 .doc_list li a {
  display: block;
  border-radius: 1rem;
  overflow: hidden;
}
#top6 .doc_list li a img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s ease;
}
#top6 .doc_list li a:hover img {
  transform: scale(1.05);
}
#top6 .more_interview {
  text-align: center;
  margin-bottom: 2rem;
}
#top6 .more_interview a {
  display: inline-block;
  width: 400px;
  margin-top: 2rem;
  padding: 1rem;
  background: #333;
  color: #fcfcfb;
  border-radius: 3rem;
}

#top7 {
  background-color: #fff2c3;
  background-image: radial-gradient(circle, #fdecad 5px, transparent 5px), radial-gradient(circle, #fdecad 5px, transparent 5px);
  background-position: 0 0, 15px 30px;
  background-size: 30px 60px;
}
#top7 .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 120px;
  padding-bottom: 160px;
  padding-left: 0;
  padding-right: 0;
}
#top7 h2 {
  width: 80%;
  margin: auto;
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  color: #fcfcfb;
  background: #a9d2f4;
  padding: 1rem;
  border-radius: 5rem;
  letter-spacing: 0.1rem;
  position: relative;
}
#top7 .column_wrap {
  margin-top: -2.5rem;
  padding: 5rem 2rem 2rem 2rem;
  background: #fcfcfb;
  border-radius: 2rem;
}
#top7 .column_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#top7 .column_list li {
  width: 33.3333333333%;
}
#top7 .column_list .cat_img {
  text-align: center;
}
#top7 .column_list .cat_img img {
  width: 160px;
}

/*--------------------
TOP 検索フォーム
--------------------*/
#top_search {
  display: flex;
  background: #fcfcfb;
}
#top_search::before, #top_search::after {
  content: "";
  display: block;
  width: calc((100% - 1280px) / 2);
  height: 60px;
  background: #fff2c3;
}
#top_search::before {
  border-radius: 0 0 3rem;
}
#top_search::after {
  border-radius: 0 0 0 3rem;
}
#top_search .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 80px;
  padding-bottom: 120px;
  padding-left: 0;
  padding-right: 0;
  margin-top: -80px;
  background: #fcfcfb;
  border-radius: 3rem 3rem 0 0;
}
#top_search h2 {
  letter-spacing: 0.1rem;
  text-align: center;
  margin-bottom: 2rem;
}
#top_search h2 span {
  font-size: 3rem;
  font-weight: 600;
}
#top_search h2 p {
  font-size: 1.5rem;
  font-weight: 600;
}
#top_search .box {
  padding: 2rem;
  background: #c7e7a5;
  border-radius: 3rem;
}
#top_search .top_search_form_box {
  padding: 4rem 2rem;
  background: #fcfcfb;
  border-radius: 2rem;
  text-align: center;
}
#top_search .top_search_form_box .attention_ttl {
  font-size: 1.5rem;
}
#top_search .top_search_form_box .list_check {
  display: inline-block;
  margin: 2rem 0;
}
#top_search .top_search_form_box .list_check li {
  padding-left: 1.5rem;
  text-align: left;
  font-size: 1.125rem;
  font-weight: 600;
}
#top_search .top_search_form_box .list_check li::before {
  font-size: 1.25rem;
  color: #a9d2f4;
  top: 0;
}
#top_search .top_search_wrap .top_search_box {
  text-align: center;
}
#top_search .top_search_wrap .top_search_box .search_btn {
  width: 480px;
  display: inline-block;
  background: #fcfcfb;
  border: 1px solid #eee;
  border-radius: 3rem;
  position: relative;
}
#top_search .top_search_wrap .top_search_box .search_btn i {
  font-size: 12px;
  position: absolute;
  top: 50%;
  left: 1.25rem;
}
#top_search .top_search_wrap .top_search_box .search_btn input[type=text] {
  display: block;
  width: 100%;
  padding: 1rem;
  padding-left: 2.5rem;
  background: transparent;
}
#top_search .search_attention_box {
  display: inline-block;
  padding-left: 160px;
  position: relative;
}
#top_search .search_attention_box .search_attention_img {
  width: 140px;
  position: absolute;
  top: 0;
  left: 0;
}
#top_search .more_search {
  text-align: center;
  margin-bottom: 2rem;
}
#top_search .more_search a {
  display: inline-block;
  width: 340px;
  margin-top: 2rem;
  padding: 1rem;
  background: #333;
  color: #fcfcfb;
  border-radius: 3rem;
}

/*--------------------
下層メインビジュアル
--------------------*/
.under_header {
  width: 100%;
  padding-top: 200px;
  padding-bottom: 80px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.under_header::before, .under_header::after {
  content: "";
  display: block;
  width: calc(100% + 1920px);
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(10deg);
}
.under_header::before {
  height: 600px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='grad' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%' stop-color='%23f5efe3' /%3E%3Cstop offset='100%' stop-color='%23f0ebe0' /%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0,256L26.7,266.7C53.3,277,107,299,160,282.7C213.3,267,267,213,320,170.7C373.3,128,427,96,480,122.7C533.3,149,587,235,640,234.7C693.3,235,747,149,800,122.7C853.3,96,907,128,960,149.3C1013.3,171,1067,181,1120,165.3C1173.3,149,1227,107,1280,74.7C1333.3,43,1387,21,1413,10.7L1440,0L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='url(%23grad)' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  z-index: -2;
}
.under_header::after {
  height: 420px; /* 高さは必要に応じて調整 */
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 320' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cdefs%3E%3ClinearGradient id='grad' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0%' stop-color='%23f9f5ec' /%3E%3Cstop offset='100%' stop-color='%23f5efe3' /%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0,256L26.7,266.7C53.3,277,107,299,160,282.7C213.3,267,267,213,320,170.7C373.3,128,427,96,480,122.7C533.3,149,587,235,640,234.7C693.3,235,747,149,800,122.7C853.3,96,907,128,960,149.3C1013.3,171,1067,181,1120,165.3C1173.3,149,1227,107,1280,74.7C1333.3,43,1387,21,1413,10.7L1440,0L1440,0L1413.3,0C1386.7,0,1333,0,1280,0C1226.7,0,1173,0,1120,0C1066.7,0,1013,0,960,0C906.7,0,853,0,800,0C746.7,0,693,0,640,0C586.7,0,533,0,480,0C426.7,0,373,0,320,0C266.7,0,213,0,160,0C106.7,0,53,0,27,0L0,0Z' fill='url(%23grad)' /%3E%3C/svg%3E");
  z-index: -1;
}
.under_header .under_head_wrap {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 0;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.under_header .page_title {
  min-width: 400px;
  padding: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  background: #fcfcfb;
  border-radius: 2rem;
  letter-spacing: 0.1rem;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.under_header .page_title span {
  font-size: 4rem;
  font-weight: 600;
  color: #a9d2f4;
}
.under_header .page_title p {
  font-size: 1.5rem;
  font-weight: 600;
}
.under_header .head_image {
  width: calc(100% - 280px);
  margin-left: auto;
}
.under_header .head_image img {
  border-radius: 2rem;
}

/*--------------------
パンくずリスト
--------------------*/
.breadcrumbs .breadcrumbs_list {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 0;
  padding-right: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.breadcrumbs .breadcrumbs_list li:nth-of-type(1)::before {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f015";
  margin-right: 5px;
  color: #a9d2f4;
}
.breadcrumbs .breadcrumbs_list li:nth-of-type(2)::before {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f054";
  margin: 0 10px;
}
.breadcrumbs .breadcrumbs_list li a {
  color: #a9d2f4;
  text-decoration: underline;
}

/*--------------------
このサイトについて
--------------------*/
#about .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 80px;
  padding-bottom: 80px;
  padding-left: 0;
  padding-right: 0;
}
#about h2 {
  width: 80%;
  margin: auto;
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  color: #fcfcfb;
  background: #a9d2f4;
  padding: 1rem;
  border-radius: 5rem;
  letter-spacing: 0.1rem;
  position: relative;
}
#about .about_wrap {
  margin-top: -2.5rem;
  padding: 5rem 2rem 2rem 2rem;
  background: #fcfcfb;
  border-radius: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#about .about_wrap .about_img {
  width: 35%;
}
#about .about_wrap .about_txt {
  width: 61%;
}

/*--------------------
再生医療の基礎知識
--------------------*/
#basic .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 80px;
  padding-bottom: 80px;
  padding-left: 0;
  padding-right: 0;
}
#basic h2 {
  width: 80%;
  margin: auto;
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  color: #fcfcfb;
  background: #a9d2f4;
  padding: 1rem;
  border-radius: 5rem;
  letter-spacing: 0.1rem;
  position: relative;
}
#basic .accordion_wrap {
  margin-top: -2.5rem;
  padding: 5rem 2rem 2rem 2rem;
  background: #fcfcfb;
  border-radius: 2rem;
}
#basic .accordion_wrap h3 {
  margin-bottom: 1rem;
  padding: 1rem 0;
  border-bottom: 2px solid #333;
  font-size: 1.25rem;
  font-weight: 600;
  position: relative;
}
#basic .accordion_wrap h3::before {
  content: "";
  display: block;
  width: 100px;
  height: 2px;
  background: #c7e7a5;
  position: absolute;
  bottom: -2px;
  left: 0;
}
#basic .accordion_btn {
  padding: 1rem;
  background: #eee;
  border-radius: 2rem;
  font-weight: 600;
  position: relative;
}
#basic .accordion_btn span {
  display: inline-block;
  line-height: 1;
  position: absolute;
  top: 1rem;
  right: 1rem;
}
#basic .accordion_btn span::before {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f0dd";
}
#basic .accordion_inner {
  display: none;
  padding: 1rem;
}

/*--------------------
治験情報
--------------------*/
#desease .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 80px;
  padding-bottom: 80px;
  padding-left: 0;
  padding-right: 0;
}
#desease h2 {
  width: 80%;
  margin: auto;
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  color: #fcfcfb;
  background: #a9d2f4;
  padding: 1rem;
  border-radius: 5rem;
  letter-spacing: 0.1rem;
  position: relative;
}
#desease .desease_box {
  padding: 2rem;
  background: #fcfcfb;
  border-radius: 2rem;
  margin-bottom: 2rem;
}
#desease .desease_wrap {
  padding: 2rem;
  background: #fcfcfb;
  border-radius: 2rem;
}
#desease .desease_wrap .desease_inner {
  margin-bottom: 2rem;
  border: 2px solid #333;
}
#desease .desease_wrap .desease_inner .desease_tbl {
  width: 100%;
}
#desease .desease_wrap .desease_inner .desease_tbl th, #desease .desease_wrap .desease_inner .desease_tbl td {
  padding: 1rem;
  border: 1px solid #333;
  vertical-align: middle;
}
#desease .desease_wrap .desease_inner .desease_tbl th {
  width: 30%;
  background: #eee;
  text-align: left;
  font-weight: 600;
}

/*--------------------
提供機関検索
--------------------*/
#search_area .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 0;
  padding-bottom: 80px;
  padding-left: 0;
  padding-right: 0;
}
#search_area h2 {
  width: 80%;
  margin: auto;
  text-align: center;
  font-size: 2rem;
  font-weight: 600;
  color: #fcfcfb;
  background: #a9d2f4;
  padding: 1rem;
  border-radius: 5rem;
  letter-spacing: 0.1rem;
  position: relative;
}
#search_area .db_attention {
  margin-top: -2.5rem;
  padding: 5rem 2rem 2rem 2rem;
  background: #fcfcfb;
  border-radius: 1rem 1rem 0 0;
}
#search_area .db_attention p {
  font-weight: 600;
}
#search_area .db_attention a {
  color: #a9d2f4;
  text-decoration: underline;
}
#search_area .db_attention a i {
  margin-left: 5px;
}
#search_area .db_attention li {
  padding: 1rem 0.75rem;
}
#search_area .db_attention li::before {
  top: 26px;
}
#search_area .search_form {
  padding: 2rem;
  background: #fcfcfb;
  border-radius: 0 0 1rem 1rem;
}
#search_area .search_form h3 {
  font-size: 1.5rem;
  font-weight: 600;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 2px solid #333;
}
#search_area .search_form dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  border: 1px solid #eee;
}
#search_area .search_form dl + dl {
  border-top: 0;
}
#search_area .search_form dl dt {
  width: 240px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
  font-weight: 600;
  color: #fcfcfb;
  background: #a9d2f4;
  padding: 1.5rem 0;
}
#search_area .search_form dl dd {
  width: calc(100% - 240px);
  background: #fcfcfb;
  padding: 1.5rem 1rem;
}
#search_area .search_form dl dd .all {
  display: block;
  padding: 1rem 0;
  border-bottom: 1px dashed #eee;
}
#search_area .search_form dl dd input[type=checkbox] {
  margin-top: -1px;
}
#search_area .search_form dl .select_area {
  position: relative;
}
#search_area .search_form dl .select_area select {
  display: block;
  width: 100%;
  padding: 1rem;
  border: 1px solid #a9d2f4;
  border-radius: 5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
#search_area .search_form dl .select_area::after {
  font-family: "Font Awesome 6 Free";
  font-style: normal;
  font-weight: 900;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: "\f0d7";
  position: absolute;
  top: 2.5rem;
  right: 2rem;
}
#search_area .search_form .free_word_box {
  margin-top: 2rem;
  text-align: center;
}
#search_area .search_form .free_word_box .free_word_ttl {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
#search_area .search_form .free_word_box .free_word_txt {
  width: 480px;
  margin: auto;
  margin-bottom: 2rem;
  border: 1px solid #eee;
  border-radius: 3rem;
  background: #fcfcfb;
  position: relative;
}
#search_area .search_form .free_word_box .free_word_txt input {
  width: 100%;
  display: block;
  padding: 1rem;
  padding-left: 2.5rem;
  background: transparent;
}
#search_area .search_form .free_word_box .free_word_txt i {
  font-size: 12px;
  position: absolute;
  top: 50%;
  left: 1.25rem;
}
#search_area .search_form .free_word_box .free_word_btn {
  width: 240px;
  margin: auto;
}
#search_area .search_form .free_word_box .free_word_btn input {
  width: 100%;
  display: block;
  padding: 1rem;
  background: #a9d2f4;
  border-radius: 2rem;
  color: #fcfcfb;
}
#search_area .search_form .area_tbl {
  width: 100%;
  display: block;
  padding: 1rem 0;
  border-bottom: 1px dashed #eee;
  text-align: left;
}
#search_area .search_form .area_tbl th {
  display: block;
  margin-bottom: 0.5rem;
}
#search_area .search_form .area_tbl td {
  display: inline-block;
  margin-right: 1rem;
}

.result_ttl {
  padding: 1rem 2rem;
  background: #fcfcfb;
  border-radius: 3rem;
  font-size: 1.25rem;
  margin-bottom: 2rem;
}
.result_ttl b {
  font-size: 1.5rem;
  font-weight: 600;
  color: #e0325b;
  margin-right: 0.25rem;
}

.result_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}

.result_box {
  width: 49%;
  padding: 2rem;
  margin-bottom: 2rem;
  background: #fcfcfb;
  border-radius: 2rem;
}
.result_box h4 {
  font-size: 1.125rem;
  font-weight: 600;
  border-left: 4px solid #a9d2f4;
  margin-bottom: 0.5rem;
  padding-left: 0.5rem;
}
.result_box dl {
  padding: 0.5rem 0;
}
.result_box dl dt {
  font-weight: 600;
  padding-left: 1rem;
  position: relative;
}
.result_box dl dt::before {
  content: "";
  display: block;
  width: 10px;
  height: 4px;
  background: #a9d2f4;
  position: absolute;
  top: 0.75rem;
  left: 0;
}
.result_box dl + dl {
  border-top: 1px solid #eee;
}

input:-webkit-autofill {
  -webkit-transition: background-color 9999s ease-in-out 0s;
  transition: background-color 9999s ease-in-out 0s;
  -webkit-text-fill-color: #000 !important;
}

/*--------------------
footer
--------------------*/
#f_post {
  background: linear-gradient(0deg, rgba(240, 235, 224, 0.6), rgba(240, 235, 224, 0.6)), url(../img/shape_bg.jpg) no-repeat center/cover;
}
#f_post .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 80px;
  padding-bottom: 200px;
  padding-left: 0;
  padding-right: 0;
}
#f_post h2 {
  letter-spacing: 0.1rem;
  text-align: center;
  margin-bottom: 2rem;
}
#f_post h2 span {
  font-size: 4rem;
  font-weight: 600;
}
#f_post h2 p {
  font-size: 1.25rem;
  font-weight: 600;
}
#f_post .more_news {
  text-align: center;
  margin-bottom: 2rem;
}
#f_post .more_news a {
  display: inline-block;
  width: 340px;
  margin-top: 2rem;
  padding: 1rem;
  background: #333;
  color: #fcfcfb;
  border-radius: 3rem;
}
#f_post .more_news a:first-of-type {
  display: none;
}

.tab_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  margin-bottom: 2rem;
}
.tab_wrap li {
  width: 220px;
  padding: 1rem;
  background: #fcfcfb;
  text-align: center;
  cursor: pointer;
  text-decoration: underline;
  transition: 0.3s ease;
}
.tab_wrap li.current {
  background: #a9d2f4;
  color: #fcfcfb;
  text-decoration: none;
}
.tab_wrap li:nth-of-type(1) {
  border-radius: 3rem 0 0 3rem;
}
.tab_wrap li:nth-of-type(2) {
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
}
.tab_wrap li:nth-of-type(3) {
  border-radius: 0 3rem 3rem 0;
}

.tab_inner .tab_target {
  padding: 1rem;
  background: #fcfcfb;
  border-radius: 2rem;
}
.tab_inner .post_list_body {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: stretch;
}
.tab_inner .post_list_body .post_list_inner {
  width: 31%;
  padding: 1rem;
  margin-right: 3.5%;
}
.tab_inner .post_list_body .post_list_inner:nth-of-type(3n) {
  margin-right: 0;
}
.tab_inner .post_list_body .post_list_inner a {
  display: block;
  position: relative;
}
.tab_inner .post_list_body .post_list_inner a:hover img {
  transform: scale(1.1);
}
.tab_inner .post_list_body .post_list_inner .post_img {
  width: 100%;
  height: 240px;
  margin-bottom: 1rem;
  border-radius: 1rem;
  overflow: hidden;
}
.tab_inner .post_list_body .post_list_inner .post_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s ease;
}
.tab_inner .post_list_body .post_list_inner .cate_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 1rem;
}
.tab_inner .post_list_body .post_list_inner .category {
  display: inline-block;
  margin-right: 1rem;
  padding: 0.25rem 1rem;
  border-radius: 1rem;
}
.tab_inner .post_list_body .post_list_inner .category[name=news] {
  background: #c7e7a5;
}
.tab_inner .post_list_body .post_list_inner .category[name=event] {
  background: #fbe4df;
}
.tab_inner .post_list_body .post_list_inner .category[name=research] {
  background: #fff2c3;
}
.tab_inner .post_list_body .post_list_inner .post_date {
  color: #ccc;
}
.tab_inner .post_list_body .post_list_inner .post_title {
  font-weight: 600;
}
.tab_inner .post_list_body .post_list_inner .important_tag,
.tab_inner .post_list_body .post_list_inner .maximportant_tag,
.tab_inner .post_list_body .post_list_inner .danger_tag {
  display: inline-block;
  padding: 0.25rem 1rem;
  background: #e0325b;
  color: #fcfcfb;
  border-radius: 1rem 0 1rem 0;
  position: absolute;
  top: 0;
  left: 0;
}

.f_separater {
  width: 100%;
  height: 80px;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1920 200' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'%3E%3Cpath d='M1920,200H0S433.88,0,960,0s960,200,960,200Z' fill='%23fcfcfb'/%3E%3C/svg%3E");
  margin-top: -80px;
  position: relative;
}
.f_separater .footer_cat {
  width: 160px;
  position: absolute;
  top: -80px;
  left: 50%;
  transform: translateX(-50%);
}

footer {
  background-color: #fcfcfb;
  background-image: linear-gradient(0deg, rgba(252, 252, 251, 0.8), rgba(252, 252, 251, 0.8)), url(../img/footer_bg.png);
  background-repeat: no-repeat;
  background-position: center bottom;
  position: relative;
  z-index: 1;
}
footer .container {
  width: 1280px;
  max-width: 100%;
  margin: auto;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 0;
  padding-right: 0;
}
footer h2 {
  width: 80%;
  margin: 2rem auto;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 600;
  color: #fcfcfb;
  background: #a9d2f4;
  padding: 0.5rem;
  border-radius: 5rem;
  letter-spacing: 0.1rem;
  position: relative;
}
footer .btm_link_wrap {
  padding: 0 2rem 4rem;
}
footer .link_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
footer .link_list li {
  width: 30%;
  height: 50px;
  margin: 1rem 0;
  padding: 0 1rem;
  text-align: center;
}
footer .link_list li a img {
  height: 100%;
}
footer .shoseki_link {
  margin-top: 2rem;
  text-align: center;
}
footer .shoseki_link h3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
footer .shoseki_link h3 span {
  display: inline-block;
  margin: 0 1rem;
  font-size: 1.5rem;
  font-weight: 600;
}
footer .shoseki_link h3::before, footer .shoseki_link h3::after {
  content: "";
  display: block;
  width: 2rem;
  height: 2px;
  background: #a9d2f4;
}
footer .shoseki_link img {
  width: 300px;
}
footer .f_navi {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
footer .f_navi nav {
  width: 56%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
}
footer .f_navi nav h3 {
  font-weight: 600;
  margin-bottom: 0.5rem;
  padding-left: 0.5rem;
  position: relative;
}
footer .f_navi nav h3::before {
  content: "";
  display: block;
  width: 4px;
  height: 1.25rem;
  background: #c7e7a5;
  position: absolute;
  top: 3px;
  left: 0;
}
footer .f_navi nav .nav_l,
footer .f_navi nav .nav_c,
footer .f_navi nav .nav_r {
  width: 30%;
}
footer .f_navi .sns_link {
  width: 40%;
}
footer .f_navi .sns_link li {
  margin-bottom: 1rem;
}
footer .f_navi .sns_link li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
footer .f_navi .sns_link li .line_ico {
  font-size: 80px;
  line-height: 1;
  color: #00b900;
  margin-right: 1rem;
}
footer .f_navi .sns_link li .x_ico {
  font-size: 92px;
  line-height: 1;
  color: #333;
  margin-right: 1rem;
}
footer .f_navi .sns_link li .ico_txt {
  font-weight: 600;
}
footer .f_navi .sns_link li .ico_txt p:nth-of-type(1) {
  font-weight: 600;
}

.copyright {
  padding: 1rem 0 2rem;
  text-align: center;
}

/*--------------------
メディアクエリ切り替えクラス
--------------------*/
.sp {
  display: none;
}

.pc {
  display: block;
}