@charset "utf-8";
/* ===================================================================
  style info : ヘッダーやフッターなどサイト内共通
=================================================================== */

/*----------------------------------------------------
	共通
----------------------------------------------------*/
body {
  /*font-family: Verdana, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;*/
  /*font-family: "Lucida Grande", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;*/
  /*font-family: "Roboto", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;*/
  /*font-family: "Roboto", 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', sans-serif;*/
  /*font-family: Lato, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
  /*font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝","MS PMincho", serif;*/
  /*font-family: Lato, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;*/
  font-family: "M PLUS 1p", sans-serif;
  background-color: #ffffff;
  color: #151515;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  min-height: 100vh;
  overflow-x: clip;
}

.flex {
    display: flex;
    justify-content: space-between;
}
a:hover {
    color: #F08A00;
}

/* -----------------------------------------------------------
    img:hover
----------------------------------------------------------- */
a img:hover {
	transition: all .5s ease;
	-webkit-transition: all .5s ease;
}

/* PC only */
.spNone{
	display: none;

}
.pcNone{
	display: block;
}

.spNone-header{
	display: block;
}
.pcNone-header{
	display: none;
}
@media (max-width: 1200px) {
	.spNone-header{
		display: none !important;
	}
	.pcNone-header{
		display: block;
	}
}


/*----------------------------------------------------
  font
----------------------------------------------------*/
.inter {
  font-family: "Inter", sans-serif;
}
.nunito {
  font-family: "Nunito Sans", sans-serif;
}


/*----------------------------------------------------
  header
----------------------------------------------------*/

@media (max-width: 1550px) {
header ul.menu_buttan:nth-child(1) > li.contact a span img {
    margin-right: 2px;
    width: 19px;
}
p.top__acquisition-plan__ttl.second {
    margin-right: 10px;
}
}


header {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    padding: 0;
}

header.l-header.spNone-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    position: fixed;
}
header .inner, .result {
    min-width: 100%;
    width: 100%;
    height: 87px;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: flex-start;
    -webkit-justify-content: flex-start;
    position: relative;
    z-index: 100000;
}

header .logo {
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
    min-height: 50px;
    height: 50px\0;/*IE*/
    margin: 0 1.666em;
	font-size: 20px;
	white-space: nowrap;
	font-weight: normal;
}

header a {
  position: relative;
  display: inline-block;
  transition: .3s;
  color:  #222;
}
header h1 img:hover {opacity: 1;}
header {
    font-size: 14px;
    width: 100%;
    margin-left: auto;
    position: 1024;
    background: #fff;
    z-index: 5;
    margin-right: auto;
}
header.entry-header {
    display: none;
}
/*global navi */
header ul.menu_buttan:nth-child(1) > li{
	float: left;
	padding-left: 0.9722em;
	padding-right: 0.9722em;
    height: 100%;
    /*padding-top: 17px;*/
    text-align: left;
	height: 87px;
	font-size: 1em;
	align-items: center;
	}
header ul.menu_buttan:nth-child(1) > li:hover{
	height: 87px;
	align-items: center;
}
header ul.menu_buttan:nth-child(1) > li:hover > span{
	color: #333;
}
header ul.menu_buttan:nth-child(1) > li::before{
	padding-right: 5px;
}
.headerMenu .nav > li > ul li a {
    padding-right: 30px;
}
header ul.menu_buttan > li:hover::before{
    display: inline-block;
    animation: hurueru .9s  infinite;
}

@keyframes hurueru {
    0% {transform: translate(0px, 0px) rotateZ(0deg)}
    25% {transform: translate(2px, 2px) rotateZ(1deg)}
    50% {transform: translate(0px, 2px) rotateZ(0deg)}
    75% {transform: translate(2px, 0px) rotateZ(-1deg)}
    100% {transform: translate(0px, 0px) rotateZ(0deg)}
}
header ul.menu_buttan > li:nth-child(1)::before{
	content: url(../img/common/icon01.png);
}
header ul.menu_buttan > li:nth-child(2)::before{
	content: url(../img/common/icon02.png);
}
header ul.menu_buttan > li:nth-child(3)::before{
	content: url(../img/common/icon03.png);
}
header ul.menu_buttan > li:nth-child(4)::before{
	content: url(../img/common/icon04.png);
}
header ul.menu_buttan > li:nth-child(5)::before{
	content: url(../img/common/icon05.png);
}
header ul.menu_buttan:nth-child(1) > li span span{
	display: block;
	line-height: 1;
	font-size: 12px;
}
header ul.menu_buttan:nth-child(1) > li span span:hover{
	color: #333;
}
header ul.menu_buttan:nth-child(1) > li.contact{
    padding-top: 0;
    text-align: center;
    margin-left: 25px;
    margin-right: 25px;
    display: flex;
    padding: 4px;

}
header ul.menu_buttan:nth-child(1) > li.contact a{
margin: auto;
    bottom: 0;
    display: block;
    top: 0;
    width: 100%;
    height: 100%;
    color: #FFF;
    border: 2px dashed #cdde8e;
    border-radius: 10px;
}
header ul.menu_buttan:nth-child(1) > li.contact a span{
    line-height: 33px;
    display: flex;
    justify-content: center;
    align-items: center;
}
header ul.menu_buttan:nth-child(1) > li.contact a span img {
    margin-right: 10px;
}
.headerMenu {
	display: flex;
    margin-left: auto;
}
@media all and (-ms-high-contrast: none){
	.headerMenu{
		width: 158%;
		display: inline-block;
	}
}
.headerMenu .nav {
    display: flex;
margin-right: 40px;
}
.headerMenu .nav > li:nth-child(1) {
    width: 185px;
}

.headerMenu .nav > li:nth-child(5) {
    width: 120px;
}
.headerMenu .nav > li{
	width: 170px;
	height: 87px;
	line-height: 87px;
}
.headerMenu .nav > li:nth-child(2){
    width: 146px;
}
.headerMenu .nav > li:nth-child(5) {
    width: 166px;
}
.headerMenu .nav li a span {
    font-size: 15px;
}
.headerMenu .nav > li{
	width: 170px;
	height: 87px;
	line-height: 87px;
}
.headerMenu .nav > li:nth-child(2){
	/* width: 238px; */
}
.headerMenu .nav > li:nth-child(3){
	/* width: 212px; */
}
.headerMenu .nav > li {
	float: none !important;
}
.headerMenu ul.menu_buttan:nth-child(1) > li{padding-left: 10px;padding-right: 10px;vertical-align: sub;/* width: max-content !important; */}
.headerMenu .nav > li > a {
	position: relative;
}
.headerMenu .nav > li.contact > a{
	position: static;
}
.headerMenu .nav li a{
    line-height: normal;
}
.headerMenu .nav > li::before{
    position: relative;
    top: 10px;
    bottom: 0;
}
.headerMenu .nav > li:nth-child(1):hover::after,
.headerMenu .nav > li:nth-child(2):hover::after,
.headerMenu .nav > li:nth-child(5):hover::after{
	content: '▲';
	display: block;
	font-size: 20px;
	color: #fe9166;
	position: absolute;
	top: 32px;
	left: 45%;
}
.headerMenu .nav li a span span{
	display: block;
}
.headerMenu .nav > li:hover > a {
	display: inline-block;
}
.headerMenu .nav > li > ul {
	width: max-content;
    display: none;
    position: relative;
    top: -8px;
    left: 0;
    background: #fe9166;
    overflow: hidden;
    height: auto !important;
}
.headerMenu .nav > li:nth-child(2) > ul{
	position: relative;
	left: 10%;
}

.headerMenu .nav > li:nth-child(3) {
    width: 170px;
}

.headerMenu .nav > li:nth-child(4) {
    width: 130px;
}

.headerMenu .nav li ul li a{
	display: block;
	padding: 10px;
    padding-left: 20px;
	color: #FFF;
        padding-right: 30px;
}
.headerMenu .nav li ul li a:hover{
	color: #333;
	opacity: 1;
}
.headerMenu .nav li ul li a::before{
    content: url(../img/common/arrow_wht.png);
    padding-right: 10px;
    display: inline-block;
}
.headerMenu .nav li ul li a:hover::before{
    content: url(../img/common/arrow.png);
}
.nav > li li:hover > a {/*layer-2*/
  background: #F8F0E0;
	color: #333;
}
.menuAdjust > a{
    line-height: 1.5 !important;
    text-indent: -0.75em;
    padding-left: 3em !important;
}
ul.tezyun img {
    height: 170px;
    margin: auto;
}
p.form_link a {
    display: inline-block;
    color: #f39992;
    text-decoration: revert;
    margin-left: 5px;
    margin-right: 5px;
}
p.form_link { margin-top: 15px; }
.page-id-1590 .childcare .lifeBox#afternoonnap { margin-top: 0; }

#overview.layout01>div.under {
    margin-top: 15px;
}
#overview.layout01>div.under .left, #overview.layout01>div.under .right {
    margin: auto;
}
header ul.menu_buttan > li.contact{
    width: 180px;
    height: 47px !important;
    line-height: 47px;
    margin: 20px 0;
	border-radius: 10px;
	text-align: center;
	background: #C9DD73;
	background: -moz-linear-gradient(4deg, #d4ef8d 0%, #aac958 23%, #bcd551 50%, #aac958 77%, #b7cd58 77%, #a5c355 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(4deg, #d4ef8d 0%, #aac958 23%, #bcd551 50%, #aac958 77%, #b7cd58 77%, #a5c355 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(4deg, #d4ef8d 0%, #aac958 23%, #bcd551 50%, #aac958 77%, #b7cd58 77%, #a5c355 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(4deg, #d4ef8d 0%, #aac958 23%, #bcd551 50%, #aac958 77%, #b7cd58 77%, #a5c355 100%); /* IE6-9 fallback on horizontal gradient */
}
.mean-container .mean-nav ul li.mean-last {
    background: #b1c94a;
}
/* responsive */
@media (min-width: 1700px) {
	header ul.menu_buttan:nth-child(1) > li{
		padding-left: 1.9444444444444em;
		padding-right: 1.9444444444444em;
	}
}
@media (max-width: 1550px) {
	header ul.menu_buttan:nth-child(1) > li{
		padding-left: 0.5em;
		padding-right: 0.5em;
	}
	header ul.menu_buttan:nth-child(1) > li.contact {
		margin-left: 10px;
		width: 140px;
	}
	header ul.menu_buttan:nth-child(1) > li{
	float: left;
	}
}
@media (max-width: 1300px) {
	header .logo {
    	width: auto;
    	margin-left: 15px;
	}	
	header h1, header p.logo{width:130px}
}
.menu-trigger.sp {
    display: none;
}
header ul.menu_buttan > li{
	padding: 0 5px;
	position: relative;
}
header ul.menu_buttan {
    float: right;
    margin: 0;
}
/*nav.l-nav {
    display: block !important;
}*/
.l-header .l-nav__global__sub__list.menuon{
	/*min-width: 870px;*/
	height: auto;
}
/* responsive */
@media only screen and (max-width: 1300px) {
	.l-header .l-nav__global__sub__list.menuon{
		min-width: 87%;
		margin-left: 23%;
	}
}

/*----------------------------------------------------
  リンク
----------------------------------------------------*/

a:link{
  text-decoration: none;
  transition: all .5s ease;
  color: #151515;
}

a:visited,
a:active {
  color: #151515;
  text-decoration: none;
  transition: all .5s ease;
}
a:hover{color: #F08A00;}

.link_txt01 {
  color: #ff223d !important;
}

.link_txt01:hover {
  opacity: 0.5;
}

.link_txt02 {
  color: #151515 !important;
}

.link_txt02:hover {
  color: #05a6dd !important;
}

.link_txt03 {
  color: #0073aa !important;
}

.link_txt03:hover {
  color: #05a6dd !important;
}


/*----------------------------------------------------
  utility
----------------------------------------------------*/
.u_pc {
  display: block;
}
.u_sp {
  display: none;
}
@media only screen and (max-width: 520px) {
  .u_pc {
    display: none;
  }
  .u_sp {
    display: block;
  }
}

.u_bold {
  font-weight: bold;
}

/* -----------------------------------------------------------
  .txt_deco
----------------------------------------------------------- */
.txt_deco01 {
  text-decoration: underline !important;
}

.txt_deco01:hover {
  text-decoration: none !important;
}

/* -----------------------------------------------------------
  .note
----------------------------------------------------------- */
.note {
  display: flex;
}

.note:before {
  content: "※";
  margin-right: 0.1em;
}

/* -----------------------------------------------------------
  .list
----------------------------------------------------------- */
.list {
  line-height: 1.4;
}

.list > li {
  display: flex;
  margin-top: 0.25em;
}

.list > li:first-of-type {
  margin-top: 0;
}

.list > li:before {
  content: "・";
  margin-right: 0.15em;
  margin-left: -0.05em;
}

/* -----------------------------------------------------------
  inner
----------------------------------------------------------- */
.inner {
  max-width: 1520px;
  min-width: 810px;
  width: 100%;
  margin: 0 auto;
}

/*----------------------------------------------------
  toggle-panel
----------------------------------------------------*/
#panel-btn {
  display: none;
}

.overlay {
  display: none;
}

/* -----------------------------------------------------------
  .g_nav
----------------------------------------------------------- */
.g_nav {
}

/* -----------------------------------------------------------
  main
----------------------------------------------------------- */
main {
}

/* -----------------------------------------------------------
  .wrapper
----------------------------------------------------------- */
.wrapper {
}

/* -----------------------------------------------------------
  .container
----------------------------------------------------------- */
.container {
}

/* -----------------------------------------------------------
  .contents
----------------------------------------------------------- */
.contents {
}

/* -----------------------------------------------------------
  aside
----------------------------------------------------------- */
aside {
}

/* -----------------------------------------------------------
  下層共通
----------------------------------------------------------- */
.lower._color1 {
  background: #fef5c1;
  & .visual:after {
    background: #fef5c1;
  }
  main {
    background: #fef5c1;
  }
  .content {
    background: #fef5c1;
  }
}
.lower._color2 {
  background: #F1F2CD;
  & .visual:after {
    background: #F1F2CD;
  }
  main {
    background: #F1F2CD;
  }
  .content {
    background: #F1F2CD;
  }
}
.lower._color3 {
  background: #FFE7C7;
  & .visual:after {
    background: #FFE7C7;
  }
  main {
    background: #FFE7C7;
  }
  .content {
    background: #FFE7C7;
  }
}
.lower._color4 {
  background: #D4EEF2;
  & .visual:after {
    background: #D4EEF2;
  }
  main {
    background: #D4EEF2;
  }
  .content {
    background: #D4EEF2;
  }
}
.lower._color5 {
  background: #FFE3E3;
  & .visual:after {
    background: #FFE3E3;
  }
  main {
    background: #FFE3E3;
  }
  .content {
    background: #FFE3E3;
  }
}
.lower._color6 {
  background: #EAE1EC;
  & .visual:after {
    background: #EAE1EC;
  }
  main {
    background: #EAE1EC;
  }
  .content {
    background: #EAE1EC;
  }
}
.lower {
  & .visual {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin-top: 87px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #FFFFEF;
  }
  & .visual:after {
    content: "";
    width: 100%;
    height: 100%;
    mask: url(../img/lower/visual_mask.svg) repeat-x bottom left;
    position: absolute;
    left: 0;
    top: 0;
  }
  .visual__inner {
    position: relative;
    width: 100%;
    max-width: 1520px;
    height: 360px;
    margin: 0 auto;
    padding: 0 20px; /* 横余白(レスポンシブ対応) */
    box-sizing: border-box;
    display: flex;
    align-items: center;
  }
  /* 大きく背景に配置するタイトル文字 */
  .bg-title {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    font-size: 20rem;            /* 背景用にかなり大きめ */
    font-weight: 700;            /* 太字 */
    color: rgba(255, 255, 255, 0.5); /* 薄い白 */
    pointer-events: none;        /* 背景なのでクリック不可 */
    user-select: none;           /* 選択不可 */
    z-index: 1;
  }
  /* メインの見出しタイトル */
  .visual__title {
    position: relative;
    z-index: 2;                  /* 背景文字より前面 */
    font-size: 3.0rem;
    color: #4a3d32;              /* デザインに合わせた例 */
    font-weight: 700;
    text-align: left;
    margin: 0;
  }

  /* 太陽イラスト */
  .visual__sun {
    position: absolute;
    top: 20px;   /* お好みで微調整 */
    right: 20px;
    width: 80px; /* お好みで微調整 */
    z-index: 3;  /* 見出しの前に重ねたい場合 */
  }
}
@media only screen and (max-width: 1200px) {
  .lower {
    & .visual {
      margin-top: 0;
    }
  }
}

@media only screen and (max-width: 768px) {
  .lower {
    & .visual:after {
      mask: url(../img/lower/visual_mask.svg) repeat-x;
    }
    .visual__inner {
      height: 250px;
      padding: 0 5%;
    }
    /* 大きく背景に配置するタイトル文字 */
    .bg-title {
      left: 5%;
      font-size: 10rem;
    }
  }
}

@media only screen and (max-width: 520px) {
  .lower {
    .visual__inner {
      height: 150px;
    }
    .bg-title {
      font-size: 6rem;
    }
    .visual__title {
      font-size: 2.0rem;
    }
  }
}


.lower._t1 {
  main {
    padding: 0 0 60px;
  }
  /* 2カラムレイアウトを内包する .content 部分 */
  .content {
    position: relative;
    z-index: 0;
    max-width: 1860px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 25% 75%;
    grid-template-columns: 20% 80%;
    align-items: start;
    gap: 45px;

    /* 左カラム */
    .leftColumn {
      position: sticky;
      top: 95px;

      .sideMenu {
        background: #fff;            /* 背景を白にする */
        border-radius: 36px; /* 左側だけ角丸 */
        padding: 40px;               /* 内側の余白 */
      }

      .sideMenu ul {
        list-style: none;
        padding: 0;
        margin: 0;
      }
      .sideMenu li + li {
        margin-top: 10px;       /* リスト間の余白 */
      }
    }

    /* 右カラム */
    .rightColumn {
      background: #fff;            /* 背景を白にする */
      border-radius: 36px 0 0 36px; /* 左側だけ角丸 */
      padding: 80px 70px;               /* 内側の余白 */
      position: relative;
      z-index: 0;
    }
    .rightColumn:before {
      content: "";
      width: 100%;
      height: 100%;
      background: #fff;
      position: absolute;
      right: -100%;
      top: 0;
      z-index: -1;
    }
  }
}

.lower._t2 {
  main {
    padding: 0 0 60px;
  }
  .content {
    position: relative;
    z-index: 0;
    max-width: 1520px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px;
  }
  .singleColumn {
    background: #fff;
    border-radius: 36px;
    padding: 80px 70px;
    position: relative;
    z-index: 0;
  }
}
@media only screen and (max-width: 1200px) {
  .lower._t1 {
    .content {
  
      /* 左カラム */
      .leftColumn {
        position: sticky;
        top: 60px;
      }
    }
  }
}
@media only screen and (max-width: 768px) {
  .lower._t1 {

    /* 2カラムレイアウトを内包する .content 部分 */
    .content {
      display: grid;
      grid-template-columns: 1fr;
      gap: 20px;
      padding: 0 5%;
  
      /* 左カラム */
      .leftColumn {
        position: static;
  
        .sideMenu {
          background: #fff;            /* 背景を白にする */
          border-radius: 26px; /* 左側だけ角丸 */
          padding: 40px 5%;               /* 内側の余白 */
        }
  
        .sideMenu ul {
          list-style: none;
          padding: 0;
          margin: 0;
        }
        .sideMenu li + li {
          margin-top: 10px;       /* リスト間の余白 */
        }
      }
  
      /* 右カラム */
      .rightColumn {
        border-radius: 26px; /* 左側だけ角丸 */
        padding: 40px 5%;               /* 内側の余白 */
      }
      .rightColumn:before {
        display: none;
      }
    }
  }
  .lower._t2 {
    .content {
      padding: 0 5%;
    }
    .singleColumn {
      border-radius: 26px;
      padding: 40px 5%;
    }
  }
}

/* -----------------------------------------------------------
  footer
----------------------------------------------------------- */

footer {
  background: #fff url(../img/common/bottom.png) no-repeat;
  background-position: bottom;
  padding-top: 110px;
  padding-bottom: 390px;
  position: relative;
}
footer small {
  color: #fff;
  position: absolute;
  bottom: 20px;
  z-index: 9;
  max-width: 1540px;
  margin: auto;
  left: 0;
  right: 0;
  width: 100%;
}
.footer__pageTop {
  right: 30px;
  margin: 0;
  bottom: 30px !important;
	z-index: 1;
}
footer .flex div a {
  justify-content: left;
}
footer .banner_footer img {
  float: right;
}
footer .banner_footer div {
  display: block;
  clear: both;
  float: right;
}
footer .inner .flex div div:nth-child(1) a {height: 55px; align-items: center; line-height: 55px;}
footer .inner .flex div div:nth-child(1) a img {
    width: auto;
    margin-right: 10px;
}
footer .inner div .flex div:nth-child(1) {
  width: 230px;
}
footer ol li {
  margin-left: 55px;
  position: relative;
}
footer ol li:before {
  content: "●";
  font-size: 6px;
  position: absolute;
  left: -13px;
  top: 10px;
}
footer .inner .flex div div:nth-child(1) li {
  margin-bottom: 5px;
}
.banner_footer {
  margin-top: 30px;
}
.banner_footer a img:hover {
  opacity: 0.7;
}
footer .inner .flex div div:nth-child(1) li a {
  height: auto;
  line-height: normal;
}
footer .flex div a.tel span {
  font-size: 18px;
  font-weight: 500;
  margin-right: 5px;
}
footer .flex div a.tel {
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.1rem;
}
.banner_footer ul { margin-top: 30px; }
.banner_footer ul li a { margin-left: 50px; }
a.gmap {
    margin-top: 20px;
    background: #F08A00;
    color: #fff;
    border-radius: 15px;
    width: 180px;
    display: block;
    text-align: center;
    height: 36px;
    line-height: 36px;
}
footer .inner .flex div div:nth-child(1) a:hover img {
    transform-origin: center bottom;
    animation: yurayura 2.5s linear infinite;
}


/* -----------------------------------------------------------
  共通パーツ
----------------------------------------------------------- */
/* -----------------------------------------------------------
  色
----------------------------------------------------------- */
.u_color_1 {
  color: #F08A00;
}
.u_color_2 {
  color: #73CFDD;
}
.u_color_3 {
  color: #EF7171;
}
.u_color_4 {
  color: #B86ACB;
}
.u_color_5 {
  color: #67B70B;
}

/* -----------------------------------------------------------
  サイドナビゲーション
----------------------------------------------------------- */
/* 色選択 */
.pageNav .items._ver1 > .item:before {
  color: #F08A00;
}
.pageNav .items._ver1 > .item > .layer1_ttl .icon {
  background: #F08A00;
  border: 1px solid #F08A00;
}
.pageNav .items._ver1 > .item > .layer1_ttl .icon.is-active:before,
.pageNav .items._ver1 > .item > .layer1_ttl .icon.is-active:after {
  background: #F08A00;
}
.pageNav .items._ver1 > .item .childitems .item .link:hover {
  color: #F08A00;
}

.pageNav .items._ver2 > .item:before {
  color: #73CFDD;
}
.pageNav .items._ver2 > .item > .layer1_ttl .icon {
  background: #73CFDD;
  border: 1px solid #73CFDD;
}
.pageNav .items._ver2 > .item > .layer1_ttl .icon.is-active:before,
.pageNav .items._ver2 > .item > .layer1_ttl .icon.is-active:after {
  background: #73CFDD;
}
.pageNav .items._ver2 > .item .childitems .item .link:hover {
  color: #73CFDD;
}

.pageNav .items._ver3 > .item:before {
  color: #EF7171;
}
.pageNav .items._ver3 > .item > .layer1_ttl .icon {
  background: #EF7171;
  border: 1px solid #EF7171;
}
.pageNav .items._ver3 > .item > .layer1_ttl .icon.is-active:before,
.pageNav .items._ver3 > .item > .layer1_ttl .icon.is-active:after {
  background: #EF7171;
}
.pageNav .items._ver3 > .item .childitems .item .link:hover {
  color: #EF7171;
}

.pageNav .items._ver4 > .item:before {
  color: #B86ACB;
}
.pageNav .items._ver4 > .item > .layer1_ttl .icon {
  background: #B86ACB;
  border: 1px solid #B86ACB;
}
.pageNav .items._ver4 > .item > .layer1_ttl .icon.is-active:before,
.pageNav .items._ver4 > .item > .layer1_ttl .icon.is-active:after {
  background: #B86ACB;
}
.pageNav .items._ver4 > .item .childitems .item .link:hover {
  color: #B86ACB;
}

.pageNav {
  background: #fff;
  border-radius: 36px;
  border-radius: 60px;
  padding: 60px 28px;
}
.pageNav .items {
  counter-reset: page-nav-count 0;
}
.pageNav .items > .item {
  padding-left: 50px;
  position: relative;
  z-index: 0;
}
.pageNav .items > .item + .item {
  margin-top: 25px;
}
.pageNav .items > .item:before {
  content: "0"counter(page-nav-count);
  counter-increment: page-nav-count 1;
  font-family: "Inter", sans-serif;
  font-size: 3rem;
  line-height: 1;
  font-weight: bold;
  letter-spacing: .1em;
  position: absolute;
  left: 0;
  top: 0;
}
.pageNav .items > .item > .layer1_ttl {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: calc(27 / 18);
  letter-spacing: .05em;
  color: #240A00;
  padding: 2px 40px 10px 0;
  position: relative;
  z-index: 0;
  width: max-content;
}
.pageNav .items > .item > .layer1_ttl .icon {
  aspect-ratio: 1 / 1;
  width: 30px;
  border-radius: 50%;
  position: relative;
  z-index: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.pageNav .items > .item > .layer1_ttl .icon:before,
.pageNav .items > .item > .layer1_ttl .icon:after {
  content: "";
  width: 16px;
  height: 2px;
  background: #fff;
  border-radius: 1px;
  position: absolute;
  left: 50%;
  top: 50%;
}
.pageNav .items > .item > .layer1_ttl .icon:before {
  transform: translate(-50%,-50%);
}
.pageNav .items > .item > .layer1_ttl .icon:after {
  transform: translate(-50%,-50%) rotate(90deg);
  transition: all .4s ease;
}
.pageNav .items > .item > .layer1_ttl .icon.is-active {
  background: #fff;
}
.pageNav .items > .item > .layer1_ttl .icon.is-active:after {
  transform: translate(-50%,-50%) rotate(0);
}
.pageNav .items > .item .childitems {
  transition: none;
}
.pageNav .items > .item .childitems .item {
  font-size: 1.6rem;
  line-height: calc(30 / 16);
  color: #240A00;
}
.pageNav .items > .item .childitems .item .link {
  /* text-decoration: underline; */
  color: #240A00;
}
@media only screen and (max-width: 520px) {
  .pageNav {
    border-radius: 26px;
    padding: 40px 20px;
  }
  .pageNav .items > .item {
    padding-left: 40px;
  }
  .pageNav .items > .item + .item {
    margin-top: 15px;
  }
  .pageNav .items > .item:before {
    font-size: 2rem;
  }
  .pageNav .items > .item > .layer1_ttl {
    font-size: 1.6rem;
    padding: 0 30px 0 0;
  }
  .pageNav .items > .item > .layer1_ttl .icon {
    width: 20px;
  }
  .pageNav .items > .item > .layer1_ttl .icon:before,
  .pageNav .items > .item > .layer1_ttl .icon:after {
    width: 8px;
  }
}

/* -----------------------------------------------------------
  リンク
----------------------------------------------------------- */
.link_arw1 {
  position: relative;
  z-index: 0;
}
.link_arw1 .txt {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: .1em;
  padding: 0 35px 0 0;
  position: relative;
  z-index: 0;
}
.link_arw1:hover .txt {
  text-decoration: underline;
}
.link_arw1.js-block .txt {
  color: #F08A00;
  text-decoration: underline;
}
.link_arw1:before,
.link_arw1:after {
  content: "";
  position: absolute;
}
.link_arw1:before {
  aspect-ratio: 8 / 6;
  width: 8px;
  background: #fff;
  mask: url(../img/common/ico_chevron_down.svg) no-repeat center / contain;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
.link_arw1:after {
  aspect-ratio: 1 / 1;
  width: 17px;
  background: #F08A00;
  border-radius: 50%;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media only screen and (max-width: 520px) {
  .link_arw1 .txt {
    font-size: 1.4rem;
    padding: 0 30px 0 0;
  }
}

/* -----------------------------------------------------------
  ボタン
----------------------------------------------------------- */
a.c_btn_1 {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: .05em;
  width: 140px;
  height: 28px;
  border-radius: 14px;
  border: 1px solid #F08A00;
  background: #F08A00;
  color: #fff;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 0;
  padding: 0 0 0 18px;
}
a.c_btn_1:hover {
  color: #F08A00;
  background: #fff;
}
.c_btn_1:before,
.c_btn_1:after {
  content: "";
  position: absolute;
}
.c_btn_1:before {
  aspect-ratio: 8 / 6;
  width: 8px;
  background: #fff;
  mask: url(../img/common/ico_chevron_down.svg) no-repeat center / contain;
  right: 18px;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  z-index: 1;
}
.c_btn_1:after {
  aspect-ratio: 1 / 1;
  width: 21px;
  background: #F08A00;
  border-radius: 50%;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

a.c_btn_2 {
  font-size: 1.6rem;
  font-weight: bold;
  height: 80px;
  border-radius: 10px;
  color: #240A00;
  background: #fff;
  border: 1px solid #F08A00;
  display: flex;
  align-items: center;
  padding: 0 66px 0 28px;
  position: relative;
  z-index: 0;
}
.c_btn_2:before,
.c_btn_2:after {
  content: "";
  position: absolute;
  transition: all .5s ease;
}
.c_btn_2:before {
  aspect-ratio: 1 / 1;
  width: 28px;
  top: 50%;
  right: 27px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #F08A00;
}
.c_btn_2:after {
  aspect-ratio: 12 / 8;
  width: 12px;
  background: #fff;
  mask: url(../img/common/ico_chevron_down.svg) no-repeat center / contain;
  right: 33px;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  z-index: 1;
}
.c_btn_2:hover {
  background: #F08A00;
  color: #fff;
}
.c_btn_2:hover:before {
  background: #fff;
}
.c_btn_2:hover:after {
  background: #F08A00;
}
@media only screen and (max-width: 520px) {
  a.c_btn_2 {
    font-size: 1.6rem;
    font-weight: bold;
    height: 65px;
    border-radius: 10px;
    color: #240A00;
    background: #fff;
    border: 1px solid #F08A00;
    display: flex;
    align-items: center;
    padding: 0 66px 0 20px;
    position: relative;
    z-index: 0;
  }
  .c_btn_2:before {
    right: 20px;
  }
  .c_btn_2:after {
    right: 26px;
  }
}

a.c_btn_3 {
  font-size: 1.5rem;
  letter-spacing: .1em;
  font-weight: 500;
  display: flex;
  align-items: center;
  width: 210px;
  height: 50px;
  color: #fff;
  border-radius: 25px;
  position: relative;
  z-index: 0;
  padding: 0 0 0 46px;
}
.c_btn_3:before,
.c_btn_3:after {
  content: "";
  position: absolute;
  transition: all .5s ease;
}
.c_btn_3:before {
  aspect-ratio: 1 / 1;
  width: 41px;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  border-radius: 50%;
}
.c_btn_3:after {
  aspect-ratio: 12 / 8;
  width: 12px;
  background: #fff;
  mask: url(../img/common/ico_chevron_down.svg) no-repeat center / contain;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(-90deg);
  z-index: 1;
}
.c_btn_3._ta_c {
  text-align: center;
  justify-content: center;
  padding: 0;
}
a.c_btn_3._ver1 {
  background: #F08A00;
  border: 1px solid #F08A00;
}
a.c_btn_3._ver1:before {
  background: #F08A00;
}
a.c_btn_3._ver1:hover {
  color: #F08A00;
  background: #fff;
}
a.c_btn_3._ver2 {
  background: #73CFDD;
  border: 1px solid #73CFDD;
}
a.c_btn_3._ver2:before {
  background: #73CFDD;
}
a.c_btn_3._ver2:hover {
  color: #73CFDD;
  background: #fff;
}
a.c_btn_3._ver3 {
  background: #EF7171;
  border: 1px solid #EF7171;
}
a.c_btn_3._ver3:before {
  background: #EF7171;
}
a.c_btn_3._ver3:hover {
  color: #EF7171;
  background: #fff;
}
a.c_btn_3._ver4 {
  background: #B86ACB;
  border: 1px solid #B86ACB;
}
a.c_btn_3._ver4:before {
  background: #B86ACB;
}
a.c_btn_3._ver4:hover {
  color: #B86ACB;
  background: #fff;
}

.c_btn_4 {
  max-width: 370px;
  width: 100%;
  margin-inline: auto;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  border: 1px solid #F08A00;
  background: #F08A00;
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
  position: relative;
  z-index: 0;
}
.c_btn_4:hover {
  background: #fff;
  color: #F08A00;
}
.c_btn_4:before {
  content: "";
  aspect-ratio: 1 / 1;
  width: 32px;
  background: #F08A00;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
}
.c_btn_4:after {
  content: "";
  aspect-ratio: 9 / 14;
  width: 9px;
  background: #fff;
  mask: url(../img/common/ico_chevron_down.svg) no-repeat center / contain;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%) rotate(-90deg);
}

.c_btn_4._ver2 {
  border: 1px solid #707070;
  background: #707070;
}
.c_btn_4._ver2:hover {
  background: #fff;
  color: #707070;
}
.c_btn_4._ver2:before {
  background: #707070;
}
@media only screen and (max-width: 520px) {
  .c_btn_4 {
    margin-top: 30px;
    height: 50px;
    font-size: 1.6rem;
  }
}
a.c_btn_4 {
  color: #fff;
}

/* -----------------------------------------------------------
  タイトル
----------------------------------------------------------- */
.c_ttl_1 {
  font-size: 3.5rem;
  line-height: calc(52 / 35);
  letter-spacing: .1em;
  font-weight: bold;
  width: fit-content;
  margin: 0 auto 23px;
  padding: 0 0 10px;
  border-bottom: 1px solid #707070;
}
@media only screen and (max-width: 520px) {
  .c_ttl_1 {
    font-size: 2rem;
  }
}
.c_ttl_2 {
  font-size: 3rem;
  line-height: calc(45 / 30);
  letter-spacing: .1em;
  font-weight: bold;
  padding: 0 0 12px;
  border-bottom: 2px dashed #F08A00;
  margin: 0 0 26px;
  color: #F08A00;
}
@media only screen and (max-width: 520px) {
  .c_ttl_2 {
    font-size: 2rem;
  }
}

.c_sec_title_1 {
  font-size: 3rem;
  line-height: calc(45 / 30);
  letter-spacing: .1em;
  width: fit-content;
  margin: 0 auto 55px;
  position: relative;
  z-index: 0;
  padding: 0 1px 10px;
  min-width: 130px;
  text-align: center;
}
.c_sec_title_1:before,
.c_sec_title_1:after {
  content: "";
  aspect-ratio: 1 / 1;
  width: 6px;
  border-radius: 50%;
  background: #F08A00;
  position: absolute;
  bottom: 0;
}
.c_sec_title_1:before {
  left: 0;
}
.c_sec_title_1:after {
  right: 0;
}
.c_sec_title_1 .txt {
  width: 100%;
  height: 100%;
  position: relative;
  display: block;
}
.c_sec_title_1 .txt:after {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -10px;
  left: 0;
  background: #F08A00;
}
@media only screen and (max-width: 520px) {
  .c_sec_title_1 {
    font-size: 2rem;
    margin: 0 auto 30px;
    min-width: 90px;
  }
}

/* -----------------------------------------------------------
  アイテム
----------------------------------------------------------- */


.c_topics_items:last-of-type .item {
    border-bottom: 1px solid #F08A00;
}
.c_topics_items {
  max-width: 1020px;
  width: 100%;
  margin: 0 auto;
  .item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 25px 0 20px 10px;
    border-top: 1px solid #F08A00;
  }
  .item .date {
    flex: 0 0 auto;
    font-size: 1.4rem;
    line-height: calc(20 / 14);
    letter-spacing: .05em;
    color: #240A00;
    margin: 0 20px 0 0;
  }
  .item .cat {
    flex: 0 0 135px;
    height: 35px;
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    line-height: calc(20 / 14);
    letter-spacing: .15em;
    color: #FFFFFF;
    background: #240A00;
    margin: 0 30px 0 0;
  }
  .item .cat:hover {
    background: #F08A00;
  }
  .item .ttl {
    flex: 1 1;
    line-height: calc(23 / 16);
    letter-spacing: .1em;
    color: #240A00;
  }
  .item .ttl:hover {
    color: #F08A00;
  }
}
@media only screen and (max-width: 520px) {
  .c_topics_items {
    .item .cat {
      height: 30px;
    }
    .item .ttl {
      flex: 1 0 auto;
      width: 100%;
      margin: 15px 0 0;
    }
  }
}
.c_topics_cards {
  display: flex;
  flex-wrap: wrap;
  gap: 35px 30px;

  .card {
    display: flex;
    flex-direction: column;
    width: 30%;  // 幅を30%に指定

    .thumb {
      flex: 0 1 auto;
      aspect-ratio: 370 / 300;
      border-radius: 15px 15px 0 0;
      overflow: hidden;

      img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }
    }

    .cont {
      flex: 1 1;
      padding: 15px 25px 30px;
      background: #fff;
      border-radius: 0 0 15px 15px;

      .inf {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0 0 8px;

        .cat {
          width: 110px;
          height: 23px;
          border-radius: 12px;
          background: #240A00;
          color: #fff;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 1.2rem;
          letter-spacing: .15em;
        }

        .time {
          font-size: 1.3rem;
          font-weight: 300;
          letter-spacing: .03em;
        }
      }

      .event_time {
        font-size: 1.4rem;
        line-height: calc(20 / 14);
        font-weight: bold;
        letter-spacing: .03em;
        color: #240A00;
        margin: 0 0 10px;
      }

      .ttl {
        font-size: 1.6rem;
        line-height: calc(23 / 16);
        font-weight: bold;
        letter-spacing: .1em;
        color: #240A00;
        margin: 0 0 10px;
      }

      .btn {
        font-size: 1.2rem;
        letter-spacing: .15em;
        color: #fff;
        width: 195px;
        height: 25px;
        border-radius: 18px;
        background: #F08A00;
        display: flex;
        align-items: center;
        margin: auto auto 0;
        padding: 0 0 0 20px;
      }
    }
  }
}
/* 画像がない場合でも高さが崩れないように */
.card .thumb {
  position: relative;
  width: 100%;
  /* 高さを一定にするため、min-heightを設定 */
  height: 200px; /* 必要な高さに調整 */
  background-color: #f0f0f0; /* 画像がない場合の背景色（任意） */
  display: flex;
  justify-content: center;
  align-items: center;
}

.card .thumb img {
  width: 100%;
  height: 100%;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  object-fit: cover; /* 画像を親要素に合わせてリサイズ */
}

/* 画像がない場合の代替コンテンツ */
.card .thumb::before {
  content: "";
  color: #888;
  font-size: 14px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}






/* -----------------------------------------------------------
  ページネーション
----------------------------------------------------------- */
.c_pager {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 1020px;
  width: 100%;
  margin: 90px auto 0;
  font-size: 1.6rem;
  letter-spacing: .1em;
  color: #240A00;
  .item._prev {
    margin-right: auto;
  }
  .item._next {
    margin-left: auto;
  }
  .num {
    aspect-ratio: 1 / 1;
    width: 36px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .num._current {
    color: #fff;
    background: #240A00;
  }
}
@media only screen and (max-width: 520px) {
  .c_pager {
    margin: 40px auto 0;
    font-size: 1.4rem;
    .num {
      width: 30px;
    }
  }
}

/* -----------------------------------------------------------
  前後ボタン
----------------------------------------------------------- */
.c_around_btn {
  margin: 75px auto 0;
  padding: 65px 0 0;
  border-top: 1px solid #F08A00;
  display: flex;
  justify-content: space-between;
  font-size: 1.6rem;
  letter-spacing: .15em;
}
@media only screen and (max-width: 520px) {
  .c_around_btn {
    margin: 40px auto 0;
    padding: 20px 0 0;
    font-size: 1.5rem;
  }
}

/* -----------------------------------------------------------
  セクション
----------------------------------------------------------- */
.c_wave_sec__top {
  position: relative;
  z-index: 0;
  margin-top: 25px;
}
.c_wave_sec__top:before {
  content: "";
  width: 100%;
  height: 25px;
  mask: url(../img/common/mask_wave.svg) repeat-x;
  position: absolute;
  left: 0;
  top: -25px;
}
.c_wave_sec__btm {
  position: relative;
  z-index: 0;
  margin-bottom: 25px;
}
.c_wave_sec__btm:after {
  content: "";
  width: 100%;
  height: 25px;
  mask: url(../img/common/mask_wave_ver2.svg) repeat-x;
  position: absolute;
  left: 0;
  bottom: -25px;
}
.c_wave_sec__clr1.c_wave_sec__top:before,
.c_wave_sec__clr1.c_wave_sec__btm:after {
  background: #FAFFE2;
}
.c_wave_sec__clr2.c_wave_sec__top:before,
.c_wave_sec__clr2.c_wave_sec__btm:after {
  background: #F1F2CD;
}
.c_wave_sec__clr3.c_wave_sec__top:before,
.c_wave_sec__clr3.c_wave_sec__btm:after {
  background: #fff;
}

