@charset "utf-8";

/**
リニューアルデザイン　header/footer/nav/contents等
共通スタイル
**/

#hitokoto-special,#sb-site, .sb-site-container {padding-top: 200px;}
.backlink {margin: 40px 0px 0;padding-top: 40px;padding-bottom: 48px;}

.pageTopBtn.js-pagescloll {
  width: 50px;
  height: 50px;
  bottom: 30px;
  right: 30px;
}

@media screen and (max-width: 800px) {
  #hitokoto-special,#sb-site, .sb-site-container {padding-top: 90px;}
  .backlink {margin: 15px 0px 0;padding-top: 20px;padding-bottom: 40px;}
}
.pageTopBtn {bottom: 120px;}
@media only screen and (max-width: 687px) {
  .pageTopBtn.js-pagescloll {bottom: 80px; right: 10px;}
}


:root {
  --color01: #145B94;
  --color_ehime: #EF9631;
  --color_kagawa: #B5CD58;
  --color_tokushima: #438CCE;
  --color_kochi: #EE695C;
  --noto: "Noto Sans JP","ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  --ppn: "Poppins", sans-serif;
}

.anc {
  width: 100%;
  height: 0;
  background: none;
  border: none;
  margin: -200px 0 0;
  padding: 200px 0 0;
}

@media screen and (min-width: 801px) {
  .sp_cont {display: none !important;}
}
@media screen and (max-width: 800px) {
  body {-webkit-text-size-adjust: 100%;}
  .pc_cont {display: none !important;}
  
  .anc {
    margin: -100px 0 0;
    padding: 100px 0 0;
  }
}

body.temp_new {
  width: 100%;
  min-width: auto;
  color: #333333;
  background: #FFFFFF;
}
body.open {overflow: hidden;}

@keyframes rotate {
  0% {transform: rotate(0);}
  100% {transform: rotate(360deg);}
}
@keyframes furiko {
  0% {transform: rotate(-5deg);}
  50% {transform: rotate(5deg);}
  100% {transform: rotate(-5deg);}
}

.fade {
  opacity: 0;
  transition: 1s;
}
.fade.fadein {opacity: 1;}
.fade.totop {transform: translateY(100px);}
.fade.totop.fadein {transform: translateY(0);}
.fwbold {font-weight: 700;}
.fs80 {font-size: 80%;}
.center {text-align: center;}
.mt00 {margin-top: 0!important;}
.mt10 {margin-top: 10px!important;}
.mt20 {margin-top: 20px!important;}
.mt30 {margin-top: 30px!important;}
.mt40 {margin-top: 40px!important;}
.mt50 {margin-top: 50px!important;}
.mt60 {margin-top: 60px!important;}
.mt70 {margin-top: 70px!important;}
.mt80 {margin-top: 80px!important;}
.mt90 {margin-top: 90px!important;}
.mt100 {margin-top: 100px!important;}
.mb00 {margin-bottom: 0!important;}
.mb10 {margin-bottom: 10px!important;}
.mb20 {margin-bottom: 20px!important;}
.mb30 {margin-bottom: 30px!important;}
.mb40 {margin-bottom: 40px!important;}
.mb50 {margin-bottom: 50px!important;}
.mb60 {margin-bottom: 60px!important;}
.mb70 {margin-bottom: 70px!important;}
.mb80 {margin-bottom: 80px!important;}
.mb90 {margin-bottom: 90px!important;}
.mb100 {margin-bottom: 100px!important;}
.pt00 {padding-top: 0!important;}
.pt10 {padding-top: 10px!important;}
.pt20 {padding-top: 20px!important;}
.pt30 {padding-top: 30px!important;}
.pt40 {padding-top: 40px!important;}
.pt50 {padding-top: 50px!important;}
.pt60 {padding-top: 60px!important;}
.pt70 {padding-top: 70px!important;}
.pt80 {padding-top: 80px!important;}
.pt90 {padding-top: 90px!important;}
.pt100 {padding-top: 100px!important;}
.pb00 {padding-bottom: 0!important;}
.pb10 {padding-bottom: 10px!important;}
.pb20 {padding-bottom: 20px!important;}
.pb30 {padding-bottom: 30px!important;}
.pb40 {padding-bottom: 40px!important;}
.pb50 {padding-bottom: 50px!important;}
.pb60 {padding-bottom: 60px!important;}
.pb70 {padding-bottom: 70px!important;}
.pb80 {padding-bottom: 80px!important;}
.pb90 {padding-bottom: 90px!important;}
.pb100 {padding-bottom: 100px!important;}

@media screen and (max-width: 800px) {
  .mt10 {margin-top: 5px!important;}
  .mt20 {margin-top: 10px!important;}
  .mt30 {margin-top: 15px!important;}
  .mt40 {margin-top: 20px!important;}
  .mt50 {margin-top: 25px!important;}
  .mt60 {margin-top: 30px!important;}
  .mt70 {margin-top: 35px!important;}
  .mt80 {margin-top: 40px!important;}
  .mt90 {margin-top: 45px!important;}
  .mt100 {margin-top: 50px!important;}
  .mb10 {margin-bottom: 5px!important;}
  .mb20 {margin-bottom: 10px!important;}
  .mb30 {margin-bottom: 15px!important;}
  .mb40 {margin-bottom: 20px!important;}
  .mb50 {margin-bottom: 25px!important;}
  .mb60 {margin-bottom: 30px!important;}
  .mb70 {margin-bottom: 35px!important;}
  .mb80 {margin-bottom: 40px!important;}
  .mb90 {margin-bottom: 45px!important;}
  .mb100 {margin-bottom: 50px!important;}
  .pt10 {padding-top: 5px!important;}
  .pt20 {padding-top: 10px!important;}
  .pt30 {padding-top: 15px!important;}
  .pt40 {padding-top: 20px!important;}
  .pt50 {padding-top: 25px!important;}
  .pt60 {padding-top: 30px!important;}
  .pt70 {padding-top: 35px!important;}
  .pt80 {padding-top: 40px!important;}
  .pt90 {padding-top: 45px!important;}
  .pt100 {padding-top: 50px!important;}
  .pb10 {padding-bottom: 5px!important;}
  .pb20 {padding-bottom: 10px!important;}
  .pb30 {padding-bottom: 15px!important;}
  .pb40 {padding-bottom: 20px!important;}
  .pb50 {padding-bottom: 25px!important;}
  .pb60 {padding-bottom: 30px!important;}
  .pb70 {padding-bottom: 35px!important;}
  .pb80 {padding-bottom: 40px!important;}
  .pb90 {padding-bottom: 45px!important;}
  .pb100 {padding-bottom: 50px!important;}
}

.renew_header p {
  text-indent: 0!important;
  line-height: 1.5!important;
  font-weight: normal!important;
  letter-spacing: 0!important;
}
.renew_footer p {
  text-indent: 0!important;
  line-height: 1.5!important;
  font-weight: normal!important;
  letter-spacing: 0!important;
}

/* -----------------------------------------------------------
　header
----------------------------------------------------------- */

.renew_header {
  position: fixed;
  z-index: 10000;
  inset: 0 0 auto;
  width: 100%;
  font-family: var(--noto);
  background: #FFFFFF;
  transition: 0.5s;
  line-height: 1.5;
}
.renew_header.hide {transform: translateY(-100%);}
.renew_header > .box {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  max-width: 1300px;
  height: 110px;
  padding: 0 50px;
  margin: 0 auto;
  transition: height 0.35s linear;
}
.renew_header.scaled .box {height: 70px;}
.renew_header > .box .logo {
  width: 290px;
  margin: 0 auto 5px;
  transition: 0.35s linear;
}
.renew_header.scaled > .box .logo {width: 150px;}
.renew_header > .box .logo img {
  display: block;
  width: 100%;
}
.renew_header > .box .logo + p {
  font-size: 14px;
  font-weight: 600!important;
  color: var(--color01);
  transition: 0.35s linear;
  margin: 0;
}
.renew_header.scaled .box .logo + p {font-size: 12px;}

.renew_header > .box .menu {
  position: absolute;
  z-index: 1;
  width: 40px;
  height: 30px;
  inset: 0 50px 0 auto;
  margin: auto;
  cursor: pointer;
}
.renew_header > .box .menu span {
  display: block;
  font-family: var(--ppn);
  font-size: 15px;
  color: var(--color01);
  line-height: 1.5;
}
.renew_header > .box .menu::before ,
.renew_header > .box .menu::after {
  position: absolute;
  z-index: 1;
  display: block;
  content: "";
  height: 1px;
  background: var(--color01);
}
.renew_header > .box .menu::before {
  width: 100%;
  inset: 20px 0 auto;
}
.renew_header > .box .menu::after {
  width: 75%;
  inset: auto auto 0 0;
}
.renew_header > .box .menu span::before {
  display: none;
  content: "Close";
}
.open .renew_header.hide {transform: translateY(0);}
.open .renew_header > .box .menu span {font-size: 0;}
.open .renew_header > .box .menu span::before {
  display: block;
  font-size: 15px;
}
.open .renew_header > .box .menu::before {
  inset: auto auto 0 0;
  transform: rotate(15deg);
}
.open .renew_header > .box .menu::after {
  width: 100%;
  inset: auto auto 0 0;
  transform: rotate(-15deg);
}
.renew_header > .renew_nav {
  position: absolute;
  width: 100%;
  height: calc(100dvh - 100% - 70px);
  background: rgba(0,0,0,0.5);
  inset: calc(100% + 70px) 0 auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
}
.renew_header > .renew_nav .menu_box {
  position: absolute;
  z-index: 1;
  inset: 0 0 auto auto;
  width: 280px;
  height: 100%;
  padding: 0 20px 40px;
  overflow-y: auto;
  color: #FFFFFF;
  background: var(--color01);
  border-radius: 15px 0 0 0;
  transform: translateX(100%);
  transition: 0.5s;
}
.renew_header > .renew_nav .menu_box ul li {
  height: 50px;
  line-height: 50px;
   border-bottom: solid 1px #6798BF;
}
.renew_header > .renew_nav .menu_box ul li a {
  position: relative;
  z-index: 0;
  display: block;
  height: 100%;
  font-size: 14px;
  font-weight: 700;
  color: #FFFFFF;
  text-decoration: none;
}
.renew_header > .renew_nav .menu_box ul li a:hover {color: #6798BF;}
.renew_header > .renew_nav .menu_box ul li a::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 6px;
  height: 5px;
  background: #FFFFFF;
  clip-path: polygon(0 0,100% 50%,0 100%);
  margin: auto;
  inset: 0 0 0 auto;
}
.renew_header > .renew_nav .menu_box ul li a:hover::after {background: #6798BF;}
.renew_header > .renew_nav .menu_box p {
  font-size: 12px;
  font-weight: 400;
  margin: 20px 0 0;
}
.open .renew_header > .renew_nav {
  opacity: 1;
  visibility: visible;
}
.open .renew_header > .renew_nav .menu_box {transform: translateX(0);}

.renew_header + .bottom_nav {
  position: fixed;
  z-index: 9000;
  inset: 110px 0 auto; 
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 70px;
  font-family: var(--noto);
  background: #F2F2EC;
  padding: 0 50px;
  transition: 0.5s;
}
.renew_header.scaled + .bottom_nav {inset: 70px 0 auto;}
.renew_header.hide + .bottom_nav {transform: translateY(-200px);}
.open .renew_header.hide + .bottom_nav {transform: translateY(0);}

.renew_header + .bottom_nav ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.renew_header + .bottom_nav ul li {
  width: 70px;
  height: 70px;
  margin: 0 25px;
}
.renew_header + .bottom_nav ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  color: var(--color01);
  font-size: 12px;
  font-weight: 600;
  height: 100%;
  text-decoration: none;
  transition: 0.5s;
  line-height: 1.5;
}
.renew_header + .bottom_nav ul li a:hover {opacity: 0.5;}
.renew_header + .bottom_nav ul li a::before {
  display: block;
  content: "";
  width: 40px;
  height: 35px;
}
.renew_header + .bottom_nav ul li:nth-child(1) a::before {background: url("../img/common/ico_culture.png") no-repeat center / contain;}
.renew_header + .bottom_nav ul li:nth-child(2) a::before {background: url("../img/common/ico_gourmet.png") no-repeat center / contain;}
.renew_header + .bottom_nav ul li:nth-child(3) a::before {background: url("../img/common/ico_travel.png") no-repeat center / contain;}
.renew_header + .bottom_nav ul li:nth-child(4) a::before {background: url("../img/common/ico_life.png") no-repeat center / contain;}
.renew_header + .bottom_nav ul li:nth-child(5) a::before {background: url("../img/common/ico_energy.png") no-repeat center / contain;}

@media screen and (max-width: 800px) {

  .renew_header > .box {
    height: 85px;
    padding: 0 5%;
  }
  .renew_header.scaled .box {height: 75px;}
  .renew_header > .box .logo {width: 230px;}
  .renew_header.scaled > .box .logo {width: 150px;}
  .renew_header > .box .logo + p {font-size: 12px;}
  .renew_header.scaled .box .logo + p {font-size: 10px;}

  .renew_header > .box .menu {
    width: 32px;
    height: 24px;
    inset: 0 5% 0 auto;
  }
  .renew_header > .box .menu span {font-size: 12px;}
  .renew_header > .box .menu::before {inset: 18px 0 auto;}
  .open .renew_header > .box .menu span::before {font-size: 12px;}
  .renew_header > .renew_nav {
    height: calc(100dvh - 100%);
    inset: 100% 0 auto;
  }
  .renew_header + .bottom_nav {
    inset: auto 0 0; 
    padding: 0 5%;
  }
  .renew_header.scaled + .bottom_nav {inset: auto 0 0; }
  .renew_header.hide + .bottom_nav {transform: translateY(0);}
  .open .renew_header.hide + .bottom_nav {transform: translateY(0);}
  .renew_header + .bottom_nav ul {
    width: 100%;
    justify-content: space-between;
  }
  .renew_header + .bottom_nav ul li {
    width: 70px;
    height: 70px;
    margin: 0;
  }
}

/* -----------------------------------------------------------
　footer
----------------------------------------------------------- */

footer.renew_footer {
  position: relative;
  background: var(--color01);
  font-family: var(--noto);
  color: #FFFFFF;
  border-radius: 80px 80px 0 0;
}
footer.renew_footer::after {
  position: absolute;
  z-index: -10;
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  inset: 0;
}
main.home + footer.renew_footer::after {background: #EBEBE3;}

#sb-site footer.renew_footer {margin-top: 60px;}
#sb-site footer.renew_footer::after {inset: -60px 0 0;}

footer.renew_footer .box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  max-width: 1300px;
  padding: 40px 50px 20px;
  margin: 0 auto;
}
footer.renew_footer .box .logo {
  width: 260px;
  margin: 0 auto 20px;
}
footer.renew_footer .box .logo img {
  display: block;
  width: 100%;
}
footer.renew_footer .box > div {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 20px;
}
footer.renew_footer .box > div .logo_y {
  width: 200px;
  margin: 0 30px 0 0;
}
footer.renew_footer .box > div .logo_y a {transition: 0.5s;}
footer.renew_footer .box > div .logo_y a:hover {opacity: 0.5;}
footer.renew_footer .box > div .logo_y img {
  display: block;
  width: 100%;
}
footer.renew_footer .box > div p {
  font-size: 14px;
  line-height: 2.14!important;
  margin: 0;
}
footer.renew_footer .box > .copyright {
  font-size: 12px;
  margin: 0;
  line-height: 1.5;
}

@media screen and (max-width: 800px) {

  footer.renew_footer {border-radius: 35px 35px 0 0;}
  footer.renew_footer .box {padding: 30px 5% 90px;}
  footer.renew_footer .box .logo {width: 170px;}
  footer.renew_footer .box > div {display: block;}
  footer.renew_footer .box > div .logo_y {
    width: 130px;
    margin: 0 auto 10px; 
  }
  footer.renew_footer .box > div p {
    font-size: 12px;
    line-height: 1.7!important;
    text-align: center;
  }
  footer.renew_footer .box > .copyright {font-size: 10px;}
}


footer.renew_footer.ede7db::after {background: #ede7db;}
footer.renew_footer.edf2c5::after {background: #edf2c5;}
footer.renew_footer.C7DEF3::after {background: #C7DEF3;}
footer.renew_footer.FCF8EB::after {background: #FCF8EB;}
footer.renew_footer.F0E7DC::after {background: #F0E7DC;}
footer.renew_footer.EEF5E5::after {background: #EEF5E5;}
footer.renew_footer.EEECDC::after {background: #EEECDC;}
footer.renew_footer.F3ECC1::after {background: #F3ECC1;}
footer.renew_footer.EBEDDF::after {background: #EBEDDF;}
footer.renew_footer.A88E4D::after {background: #A88E4D;}
footer.renew_footer.F6F4ED::after {background: #F6F4ED;}
footer.renew_footer.F0DEDA::after {background: #F0DEDA;}
footer.renew_footer.c2060A4::after {background: #2060A4;}
footer.renew_footer.c2A211F::after {background: #2A211F;}
footer.renew_footer.c001D3F::after {background: #001D3F;}



footer.renew_footer.back-img_05::after {background: url(../../1906/img/special/back-img_05.png) no-repeat top -100px center;}
footer.renew_footer.bg_04::after {background: url(../../1912/img/special/bg_04.png) repeat-x top -100px center;}
footer.renew_footer.background::after {background: url(../../2007/img/special/background.png) no-repeat top -100px center / 100%;}
 
/* -----------------------------------------------------------
　main
----------------------------------------------------------- */

.pagetop {
  position: fixed;
  z-index: 10;
  right: 30px;
  bottom: 30px;
  width: 50px;
  cursor: pointer;
  transition: 0.1s linear;
}
.pagetop:hover {opacity: 0.5;}
.pagetop img {
  display: block;
  width: 100%;
}


.cat_culture {background: #EC8097!important;}
.cat_energy {background: #FCBF1E!important;}
.cat_gourmet {background: #438CCE!important;}
.cat_life {background: #EE695C!important;}
.cat_travel {background: #2C9C80!important;}
.cat_ehime {background: #EF9631!important;}
.cat_kagawa {background: #B5CD58!important;}
.cat_tokushima {background: #438CCE!important;}
.cat_kochi {background: #EE695C!important;}

main {
  font-family: var(--noto);
  font-size: 16px;
  margin: 200px 0 0;
  overflow: hidden;
}
main .box {
  width: 100%;
  max-width: 1300px;
  padding: 0 50px;
  margin: 0 auto;
}
main figure img {
  display: block;
  width: 100%;
}

.breadcrumb {
  border-top: solid 1px #EEEEEE;
  border-bottom: solid 1px #EEEEEE;
  margin: 0 0 40px;
}
.breadcrumb ul {
  width: 100%;
  max-width: 1300px;
  padding: 0 50px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  line-height: 30px;
}
.breadcrumb ul li {
  color: var(--color01);
  font-size: 12px;
}
.breadcrumb ul li a {
  color: var(--color01);
  text-decoration: none;
}
.breadcrumb ul li::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 6px;
  height: 6px;
  border-top: solid 1px var(--color01);
  border-right: solid 1px var(--color01);
  transform: rotate(45deg);
  margin: 0 0.75em 0.2em
}
.breadcrumb ul li:nth-last-child(1)::after {content: none;}
.breadcrumb ul li a:hover {color: #6798BF;}
.breadcrumb ul li:nth-child(1) a {
  display: inline-block;
  vertical-align: text-bottom;
  font-size: 0;
  width: 16px;
  height: 16px;
  background: url("../img/common/ico_home.svg") no-repeat center / contain;
}
.breadcrumb ul li:nth-child(1) a:hover {opacity: 0.5;}

main article .btn_index {
  display: flex;
  justify-content: space-around;
  align-items: stretch;
  margin: 40px auto 0;
}
main article .btn_index li {
  width: 48%;
  max-width: 320px;
}
main article .btn_index li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 700;
  background: var(--color01);
  border-radius: 99px;
  padding: 15px 25px;
  text-decoration: none;
  transition: 0.25s;
}
main article .btn_index li a::before {
  display: block;
  content: "";
  width: 30px;
  height: 30px;
  margin: 0 10px 0 0;
}
main article .btn_index li a::after {display: none!important;}
main article .btn_index li.ebook a::before {background: url("../img/common/ico_ebook.svg") no-repeat center / contain;}
main article .btn_index li.present a::before {background: url("../img/common/ico_present.svg") no-repeat center / contain;}
main article .btn_index li a:hover {transform: translateY(-5px);}


@media screen and (max-width: 800px) {

  main {
    font-size: 16px;
    margin: 90px 0 0;
  }
  main .box {padding: 0 5%;}
  
  .pagetop {
    right: 10px;
    bottom: 100px;
    width: 50px;
  }
  
  main.page_post article .btn_index li {
    display: inline-block;
    width: auto;
    max-width: none;
  }
}





/* -----------------------------------------------------------
　index
----------------------------------------------------------- */

.page_index {margin: 200px 0 40px;}
.page_index article {
  width: 100%;
  max-width: 1300px;
  padding: 0 50px;
  margin: 0 auto;
}
.page_index article > div {
  width: 480px;
  margin: 0 auto 100px;
}
.page_index article > div h1 {
  color: var(--color01);
  font-size: 28px;
  font-weight: 700;
  margin: 0 auto 40px;
  text-align: center;
}
.page_index article > div figure {
  max-width: 380px;
  margin: 0 auto 40px;
}
.page_index article .post_list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
.page_index article .post_list > li {
  width: 30%;
  margin: 0 0 80px;
}
.page_index article .post_list::after {
  display: block;
  content: "";
  width: 30%;
}
.page_index article .post_list > li a {text-decoration: none;}
.page_index article .post_list li h2 {
  color: var(--color01);
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  padding: 0 0 0.5em;
  margin: 0 0 20px;
  background: url("../img/common/dotline.svg") repeat-x bottom left / 8px;
}
.page_index article .post_list li figure {
  aspect-ratio: 1 / 1;
  overflow: hidden;
  margin: 0 0 20px;
}
.page_index article .post_list li figure img {
  display: block;
  transition: 0.5s;
}
.page_index article .post_list li a:hover figure img {transform: scale(1.15);}
.page_index article .post_list li a p {
  color: #333333;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.44;
  margin: 0 0 20px;
}
.page_index article .post_list li a:hover p {color: #6798BF;}
.page_index article .post_list li span {
  display: inline-block;
  width: auto;
  color: #FFFFFF;
  font-size: 0.75em;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  padding: 0.5em 1em;
  background: #CCC;
  border-radius: 99px;
  margin: 0 5px 5px 0;
}
.page_index article .post_list li span::before {content: "#";}

@media screen and (max-width: 800px) {
  
  .page_index {margin: 85px 0 30px;}
  .page_index article {padding: 0 5%;}
  .page_index article > div {
    width: 100%;
    margin: 0 auto 50px;
  }
  .page_index article > div h1 {
    font-size: 22px;
    margin: 0 auto 20px;
  }
  .page_index article > div figure {
    max-width: 180px;
    margin: 0 auto 30px;
  }
  .page_index article > div ul li {width: 49%;}
  .page_index article > div ul li a {
    justify-content: center;
    font-size: 14px;
    padding: 10px 15px;
  }
  .page_index article > div ul li a::before {
    width: 25px;
    height: 25px;
    margin: 0 10px 0 0;
  }

  .page_index article .post_list {display: block;}
  .page_index article .post_list > li {
    width: 100%;
    margin: 0 0 40px;
  }
  .page_index article .post_list::after {display: none;}
  .page_index article .post_list li h2 {
    font-size: 16px;
    margin: 0 0 15px;
  }
  .page_index article .post_list li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .page_index article .post_list li figure {
    width: 45%;
    margin: 0;
  }
  .page_index article .post_list li figure img {
    display: block;
    transition: 0s;
  }
  .page_index article .post_list li a:hover figure img {transform: scale(1);}
  .page_index article .post_list li a p {
    font-size: 14px;
    margin: 0 0 10px;
  }
  .page_index article .post_list li a > div {width: 50%;}
}

/* -----------------------------------------------------------
　post
----------------------------------------------------------- */

.page_post {margin: 220px 0 120px;}
.page_post.page_special {margin: 180px 0 120px;}
.page_post.page_special .kv {margin: 0 auto 40px;}
.page_post.page_special .kv img {
  display: block;
  width: 100%;
}
.page_post article {
  width: 100%;
  max-width: 1100px;
  padding: 0 50px;
  margin: 0 auto;
  line-height: 1.68;
}
.page_post .catlist {margin: 0 0 30px;}
.page_post .catlist li {
  display: inline-block;
  width: auto;
  color: #FFFFFF;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  padding: 0.5em 1.25em;
  margin: 0 0.5em 0 0.25em;
  border-radius: 99px;
}
.page_post .catlist li::before {content: "#";}
.page_post .title_box {
  color: var(--color01);
  margin: 0 0 40px;
}
.page_post .title_box > p {
  font-size: 12px;
  font-weight: 700;
  margin: 0 0 5px;
}
.page_post .title_box h1 {
  font-size: 28px;
  font-weight: 700;
  padding: 0 0 0.35em;
  background: url("../img/common/dotline.svg") repeat-x bottom left / 8px;
}
.page_post .bg_box {
  background: #FBF8EA;
  padding: 40px;
  border-radius: 15px;
  margin: 40px 0 60px;
}
.page_post .bg_box p:nth-last-child(1) {margin: 0;}
.page_post figure {margin: 60px 0;}
.page_post figure:not(.auto) img {
  display: block;
  width: 100%;
}
.page_post figure figcaption {
  font-size: 14px;
  margin: 10px 0 0;
  text-align: left;
}
.page_post figure.auto {
  display: inline-block;
}
.page_post figure.auto img {
  display: block;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
}
.page_post figure.auto figcaption {
  width: 100%;
  word-break: break-word;
  white-space: normal;
}
.page_post h2 {
  position: relative;
  font-size: 26px;
  font-weight: 700;
  margin: 80px 0 30px;
  line-height: 1.5;
}
.page_post h2:before {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 70px;
  height: 70px;
  background: #FBF0C0;
  border-radius: 50%;
  inset: -15px auto auto -35px;
}
.page_post h3 {
  font-size: 23px;
  font-weight: 600;
  padding: 0 0 0.25em;
  margin: 40px 0 30px;
  border-bottom: solid 3px #FBF0C0;
  line-height: 1.55;
}
.page_post h4 {
  position: relative;
  font-size: 20px;
  font-weight: 700;
  padding: 0 0 0 1em;
  margin: 40px 0 30px;
  line-height: 1.625;
}
.page_post h4:before {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 10px;
  height: 10px;
  background: #FBF0C0;
  border-radius: 50%;
  inset: 0.5em auto auto 0;
}
.page_post article p {margin: 0 0 1em;}
.page_post article p.caption {font-size: 14px;}

.page_post article ul.mark {margin: 0 0 30px;}
.page_post article ul.mark li {
  position: relative;
  z-index: 0;
  padding: 0 0 0 1em;
  line-height: 1.55;
  margin: 0 0 5px;
}
.page_post article ul.mark li::before {
  position: absolute;
  z-inex: 0;
  display: block;
  content: "";
  width: 5px;
  height: 5px;
  background: var(--color01);
  border-radius: 50%;
  inset: 0.7em auto auto 0.15em;
}
.page_post article ol.mark {
  margin: 0 0 30px;
  list-style-type: decimal;
  padding: 0 0 0 1.25em;
}
.page_post article ol.mark li {
  line-height: 1.55;
  margin: 0 0 5px;
}
.page_post article ol.mark li::marker {
  color: var(--color01);
  font-weight: 600;
}



.page_post article a[target="_blank"]::after {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1em;
  height: 1em;
  margin: 0 0 0.2em 0.5em;
  background: url("../img/common/ico_target.svg") no-repeat center / contain;
}

.page_post .post_slider {margin: 40px 0;}
.page_post .post_slider .slide ,
.page_post .post_slider .thumb {display: none;}
.page_post .post_slider .slide.slick-initialized ,
.page_post .post_slider .thumb.slick-initialized {display: block;}
.page_post .post_slider .slide figure {margin: 0;}
.page_post .post_slider .slide figure > div {aspect-ratio: 1000 / 667;}
.page_post .post_slider .slide figure img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.page_post .post_slider .slide .slick-arrow {
  width: 32px;
  height: 32px;
  z-index: 10;
}
.page_post .post_slider .slide .slick-arrow::before {display: none;}
.page_post .post_slider .slide .slick-prev {
  left: 3%;
  background:url("../img/common/al.png") no-repeat center / contain;
}
.page_post .post_slider .slide .slick-next {
  right: 3%;
  background:url("../img/common/ar.png") no-repeat center / contain;
}
.page_post .post_slider figcaption {font-size: 14px;}
.page_post .post_slider .thumb {margin: 20px 0 40px;}
.page_post .post_slider .thumb figure {
  aspect-ratio: 1 / 1;
  cursor: pointer;
  margin: 0;
}
.page_post .post_slider .thumb figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.page_post .post_slider .thumb .slick-track {
  transform: unset !important;
  margin: 0!important;
  width: 100%!important;
}
.page_post .post_slider .thumb figure {
  width: 10%!important;
  margin: 0 1.25% 10px 0!important;
}
.page_post .post_slider .thumb figure:nth-of-type(9n) {margin: 0 0 10px!important;}
.page_post .spot_box {
  position: relative;
  z-index: 0;
  background: #F2F2EC;
  padding: 40px;
  border-radius: 35px;
  margin: 60px 0 0;
}
.page_post .spot_box:before {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 100px;
  height: 100px;
  background: #FBF0C0;
  border-radius: 50%;
  inset: -15px auto auto -15px;
}
.page_post .spot_box h3 {
  position: relative;
  font-size: 26px;
  font-weight: 700;
  margin: 0 0 35px;
  border: none;
}
.page_post .spot_box h3 span {font-size: 0.6em;}
.page_post .spot_box .map_box {
  position: relative;
  z-index: 0;
  height: 360px;
  margin: 35px 0;
}
.page_post .spot_box .map_box iframe {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
}
.page_post .spot_box dl {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}
.page_post .spot_box dl dt {
  position: relative;
  z-index: 0;
  width: 160px;
  font-weight: 700;
  margin: 0 20px 20px 0;
  padding: 0 0 0 1em;
}
.page_post .spot_box dl dt::before {
  position: absolute;
  inset: 0.75em auto auto 0;
  display: inline-block;
  content: "";
  width: 6px;
  height: 6px;
  background: #EC8097;
  border-radius: 50%;
}
.page_post .spot_box dl dd {
  width: calc(100% - 180px);
  margin: 0 0 20px;
}
.page_post .spot_box dl dd a {
  color: var(--color01);
  font-weight: 700;
  overflow-wrap: break-word;
  text-decoration: none;
}
.page_post .spot_box dl dd a:hover {color: #6798BF;}
.page_post .spot_box .profile {
  margin: 30px auto;
  text-align: center;
}
.page_post .spot_box .profile img {
  display: inline-block;
  width: auto;
  max-width: 100%;
}

@media screen and (max-width: 800px) {
  
  .page_post {margin: 90px 0 70px;}
  .page_post.page_special {margin: 85px 0 70px;}
  .page_post.page_special .kv {height: calc(100svh - 85px);}
  .page_post.page_special .kv img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  
  .page_post article {
    padding: 0 5%;
    line-height: 1.714;
  }
  .page_post .catlist {margin: 0 0 20px;}
  .page_post .catlist li {padding: 0.25em 1em;}
  .page_post .title_box {margin: 0 0 30px;}
  .page_post .title_box h1 {
    font-size: 22px;
    line-height: 1.55;
  }
  .page_post .bg_box {
    padding: 20px;
    margin: 30px 0 40px;
  }
  .page_post figure {margin: 40px 0;}
  .page_post figure figcaption {
    font-size: 12px;
    line-height: 1.5;
  }
  .page_post h2 {
    font-size: 20px;
    margin: 60px 0 20px;
  }
  .page_post h2:before {inset: -20px auto auto -35px;}
  .page_post h3 {
    font-size: 18px;
    margin: 30px 0 20px;
  }
  .page_post h4 {
    font-size: 16px;
    margin: 30px 0 20px;
  }
  .page_post h4:before {
    width: 8px;
    height: 8px;
    inset: 0.55em auto auto 0;
  }
  
  
  .page_post article p {font-size: 14px;}
  .page_post article p.caption {
    font-size: 12px;
    line-height: 1.5;
  }
  .page_post article ul.mark ,
  .page_post article ol.mark {font-size: 14px;}

  .page_post .post_slider {margin: 30px 0;}
  .page_post .post_slider figcaption {
    font-size: 12px;
    line-height: 1.5;
  }
  .page_post .post_slider .slide .slick-arrow {
    width: 16px;
    height: 16px;
  }
  .page_post .post_slider .thumb figure {
    width: 18%!important;
    margin: 0 2% 2% 0!important;
  }
 .page_post .post_slider .thumb figure:nth-of-type(9n) {margin: 0 2% 2% 0!important;}
 .page_post .post_slider .thumb figure:nth-of-type(5n) {margin: 0 0 2%!important;}
  .page_post .spot_box {
    padding: 40px;
    margin: 60px 0 0;
    width: 100vw;
    transform: translateX(-5%);
  }
  .page_post .spot_box h3 {
    margin: 0 0 25px;
    font-size: 20px;
    line-height: 1.5;
  }
  .page_post .spot_box h3 span {font-size: 0.8em;}
  .page_post .spot_box .map_box {
    height: auto;
    margin: 25px 0;
    aspect-ratio: 310 / 210;
  }
  .page_post .spot_box dl {display: block;}
  .page_post .spot_box dl dt {
    width: 100%;
    margin: 0 0 5px;
  }
  .page_post .spot_box dl dd {
    width: 100%;
    margin: 0 0 20px;
  }

}