/*--------------------------------------------------
base
--------------------------------------------------*/
html,body{
  background: #F5F5EC;
  font-family: "Noto Sans JP", sans-serif;
  /* font-family: "Zen Maru Gothic", sans-serif; */
}
body.is_noscroll{
  overflow: hidden;
}
a img{
  transition: .3s opacity;
}
a:hover img{
  opacity: .5;
}



/*--------------------------------------------------
utility
--------------------------------------------------*/
@media (max-width: 1000px){
  .u_pc{
    display: none !important;
  }
}
@media (min-width: 1001px){
  .u_sp{
    display: none !important;
  }
}



/*--------------------------------------------------
container
--------------------------------------------------*/
.container{
  display: flex;
}
.contents{
  width: calc(100% - 300px);
  padding: 0 20px 80px;
  background: url(../images/deco_page.png) center top / 100% auto;
}
.main{
  max-width: 660px;
  margin: 0 auto;
}
@media (max-width: 1000px) {
  .container .container{
    display: block;
  }
  .container .contents{
    width: 100%;
    padding: 0 15px 60px;
  }
}



/*--------------------------------------------------
print
--------------------------------------------------*/
.container.print .container{
  display: block;
}
.container.print .contents{
  width: 100%;
}
.container.print .main{
  max-width: none;
}
.container.print .posts{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 40px;
  max-width: 1000px;
  margin: 40px auto 0;
}
.container.print .posts_post{
  width: calc(100% / 3 - 10px);
  padding: 20px;
  border-radius: 10px;
  margin: 0;
}
.container.print .posts_date{
  font-size: 14px;
  margin: 0 0 2px;
}
.container.print .posts_name{
  font-size: 14px;
  position: static;
  height: 24px;
  border-radius: 12px;
  display: inline-flex;
  padding: 0 12px;
  margin: 0 0 2px;
}
.container.print .posts_title{
  font-size: 16px;
}
.container.print .posts_image{
  margin: 0;
}
.container.print .posts_image img{
  border-radius: 0;
}
@media (max-width: 1000px) {
  .container.print .posts{
    row-gap: 20px;
  }
  .container.print .posts_post{
    width: 100%;
  }
}
@media print {
  .container.print .posts_post{
    width: calc(100% / 3 - 10px);
  }
  .container.print .header_hamburger,
  .container.print .header_sns,
  .container.print .button,
  .container.print .back,
  .footer_scroll{
    display: none;
  }
}



/*--------------------------------------------------
gnav
--------------------------------------------------*/
.gnav{
  width: 300px;
  background: #fff url(../images/deco_gnav.png) right top / 289px auto no-repeat;
  padding: 80px 20px;
}
@media (max-width: 1000px) {
  .gnav{
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 98;
    overflow: auto;
    transform: translateX(100%);
    transition: .4s transform;
  }
  .gnav.is_active{
    transform: translateX(0);
  }
}



/*--------------------------------------------------
gnav_pickup
--------------------------------------------------*/
.gnav_pickup{
  margin: 0 0 30px;
}



/*--------------------------------------------------
gnav_list
--------------------------------------------------*/
.gnav_list{
  margin: 0 0 50px;
}
.gnav_list_item{
  border-bottom: 1px solid #119827;
  padding: 5px 0 0;
}
.gnav_list_head{
  color: #119827;
  font-weight: bold;
  padding: 10px 0;
  background: url(../images/icon_plus.png) right 15px center / 14px auto no-repeat;
  cursor: pointer;
}
.gnav_list_head.is_active{
  background-image: url(../images/icon_minus.png);
}
.gnav_list_body{
  padding: 0 0 15px;
  display: none;
}
.gnav_list_banners{
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 12px;
  padding: 10px 0 0;
}
.gnav_list_label{
  color: #119827;
  margin: 0 0 2px;
}
.gnav_list_label:not(:first-of-type){
  padding: 10px 0 0;
}
.gnav_list_list li{
  font-size: 15px;
  padding: 1px 0 1px 20px;
  position: relative;
}
.gnav_list_list li::before{
  content: "";
  border: 4px solid transparent;
  border-left-color: #119827;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}
.gnav_list_list a{
  transition: .3s color;
}
.gnav_list_list a:hover{
  color: #119827;
}



/*--------------------------------------------------
gnav_buttons
--------------------------------------------------*/
.gnav_buttons{
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 10px;
  margin: 0 0 45px;
}
.gnav_buttons a{
  color: #fff;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 44px;
  border-radius: 22px;
  padding: 0 0 0 10px;
  position: relative;
  background: #119827 url(../images/icon_arrow_A.png) right 14px center / 12px auto no-repeat;
  transition: .3s background-color;
}
.gnav_buttons a:hover{
  background: #58B768 url(../images/icon_arrow_A.png) right 14px center / 12px auto no-repeat;
}
.gnav_buttons a:hover img{
  opacity: 1;
}
.gnav_buttons img{
  width: 30px;
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
}



/*--------------------------------------------------
gnav_tags
--------------------------------------------------*/
.gnav_tags{
  margin: 0 0 35px;
}
.gnav_tags a{
  color: #0074BE;
  line-height: 1.7;
}
.gnav_tags a:hover{
  text-decoration: underline;
}



/*--------------------------------------------------
gnav_links
--------------------------------------------------*/
.gnav_links{
  margin: 0 0 28px;
}
.gnav_links a{
  color: #0074BE;
}
.gnav_links a:hover{
  text-decoration: underline;
}



/*--------------------------------------------------
gnav_online
--------------------------------------------------*/
.gnav_online{
  margin: 0 0 19px;
}



/*--------------------------------------------------
gnav_top
--------------------------------------------------*/
.gnav_top{
  height: 44px;
  border-radius: 22px;
  color: #0074BE;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 10px 0 0;
  background: #EBE8DC url(../images/icon_window.png) right 16px center / 16px auto no-repeat;
}
.gnav_top:hover{
  background: #DCD6C7 url(../images/icon_window.png) right 16px center / 16px auto no-repeat;
}



/*--------------------------------------------------
header
--------------------------------------------------*/
.header{
  padding: 88px 0 30px;
  position: relative;
}
.header_copy{
  position: absolute;
  top: 16px;
  left: 21px;
  width: 237px;
}
.header_sns{
  position: absolute;
  top: 18px;
  right: 19px;
  display: flex;
  column-gap: 4px;
}
.header_sns a {
	border-radius: 3px;
	text-align: center;
	width: 90px;
	height: 22px;
	padding-top: 4px;
    padding-bottom: 4px;
}
a.header_sns-x {
	background: #000;
	padding-top: 5px;
	padding-bottom: 5px;
}
a.header_sns-facebook {
	background: #0866ff;
}
.header_sns img{
	width: auto;
	max-height: 100%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.header_logo{
  width: 325px;
  margin: 0 auto;
}
.header_hamburger{
  display: none;
}
@media (max-width: 1000px) {
  .header_copy{
    width: 180px;
    left: 0;
  }
  .header_sns{
    right: 55px;
  }
	.header_sns a {
		width: 40px;
		height: 27px;
		padding-top: 5px;
		padding-bottom: 5px;
	}
	a.header_sns-x {
		padding-top: 7px;
		padding-bottom: 7px;
	}
  .header_logo{
    width: 220px;
  }
  .header_hamburger{
    display: block;
    position: fixed;
    top: 10px;
    right: 10px;
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 99;
  }
  .header_line{
    width: 40px;
    height: 2px;
    background: #40220F;
    position: absolute;
    left: 10px;
    transition: .3s;
  }
  .header_line:nth-child(1){
    top: 10px;
  }
  .header_line:nth-child(2){
    top: 20px;
  }
  .header_line:nth-child(3){
    top: 30px;
  }
  .header_text{
    position: absolute;
    bottom: 2px;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 10px;
  }
  .header_hamburger.is_active .header_line:nth-child(1){
    top: 20px;
    transform: rotate(45deg);
  }
  .header_hamburger.is_active .header_line:nth-child(2){
    opacity: 0;
  }
  .header_hamburger.is_active .header_line:nth-child(3){
    top: 20px;
    transform: rotate(-45deg);
  }
}



/*--------------------------------------------------
footer
--------------------------------------------------*/
.footer{
  padding: 14px 0;
  background: #7FC732;
  position: relative;
}
.footer_scroll{
  position: absolute;
  width: 38px;
  bottom: calc(100% + 18px);
  right: 18px;
  cursor: pointer;
  transition: .3s opacity;
}
.footer_scroll:hover{
  opacity: .5;
}
.footer_copyright{
  display: block;
  text-align: center;
  font-size: 13px;
  color: #fff;
}



/*--------------------------------------------------
button
--------------------------------------------------*/
.button{
  width: 210px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 10px;
  background: #fff;
  border-radius: 22px;
  height: 44px;
  border: 1px solid #DCD6C7;
  box-shadow: 0 6px #DCD6C7;
  color: #119827;
  font-size: 15px;
  margin: 0 auto;
  cursor: pointer;
  transition: .3s background-color;
}
.button img{
  width: 20px;
}
.button:hover{
  background: #E5F4D6;
}



/*--------------------------------------------------
back
--------------------------------------------------*/
.back{
  width: 260px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #EBE8DC url(../images/icon_arrow_B.png) 17px center / 12.5px auto no-repeat;
  border-radius: 22px;
  height: 44px;
  border: 1px solid #119827;
  color: #119827;
  font-size: 16px;
  margin: 30px auto 0;
  cursor: pointer;
  transition: .3s background-color;
}
.back:hover{
  background-color: #DCD6C7;
}



/*--------------------------------------------------
controller
--------------------------------------------------*/
.controller_button-wrap{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  row-gap: 20px;
	column-gap: 12px;
}
@media (max-width: 1000px) {
	.controller_button-wrap{
		column-gap: 1%;
	}
}
.controller_button{
  width: calc(100% / 3 - 9px);
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 10px;
  background: #fff;
  border-radius: 22px;
  height: 44px;
  border: 1px solid #DCD6C7;
  box-shadow: 0 6px #DCD6C7;
  color: #119827;
  font-weight: bold;
  line-height: 1.2;
  cursor: pointer;
  transition: .3s background-color;
}
.controller_button:first-child{
  width: 100%;
}
.controller_button img{
  width: 20px;
}
.controller_button:hover{
  background: #E5F4D6;
}
.controller_button.is_active{
  background: #E5F4D6;
}
@media (max-width: 1000px) {
  .controller_button{
    font-size: 12px;
    width: calc(100% / 3 - 4px);
    justify-content: flex-start;
    padding: 0 0 0 10px;
    column-gap: 6px;
  }
  .controller_button img{
    width: 15px;
  }
  .controller_button:first-child{
    justify-content: center;
  }
}



/*--------------------------------------------------
controller_box
--------------------------------------------------*/
.controller_box{
  display: none;
  background: #fff;
  margin: 30px 0 0;
  padding: 20px 40px 30px;
  border-radius: 30px;
  position: relative;
  border: 1px solid #119827;
}
.controller_box::before{
  content: "";
  position: absolute;
  top: -29px;
  transform: translateX(-50%);
  border: 15px solid transparent;
  border-bottom: 15px solid #119827;
  z-index: 1;
}
.controller_box::after {
  content: "";
  position: absolute;
  top: -28px;
  transform: translateX(-50%);
  border: 15px solid transparent;
  border-bottom: 15px solid #fff;
  z-index: 2;
}
.controller_box._word::before,
.controller_box._word::after{
  left: 16%;
}
.controller_box._filter::before,
.controller_box._filter::after{
  left: 50%;
}
.controller_head{
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 9px;
  font-size: 22px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
  color: #119827;
  margin: 0 0 20px;
}
.controller_head img{
  width: 30px;
}
.controller_label{
  margin: 0 0 10px;
}
.controller_flex1{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.controller_flex1 span{
  font-size: 14px;
}
.controller_box select{
  display: block;
  width: 114px;
  height: 40px;
  border: 1px solid #808080;
  border-radius: 5px;
  padding: 0 30px 0 10px;
  background: url(../images/icon_arrow_C.png) right 13px center / 12px auto no-repeat;
  cursor: pointer;
}
.controller_border{
  height: 1px;
  background: #B2B2B2;
  margin: 23px 0 18px;
}
.controller_flex2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 60px;
}
.controller_flex2 div{
  font-size: 15px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #119827;
  margin: 0 0 5px;
}
.controller_flex2 select{
  width: 100%;
}
.controller_input{
  display: block;
  width: 100%;
  height: 55px;
  padding: 0 0 0 60px;
  background: #EBEBEB url(../images/icon_search.png) 25px center / 25px auto no-repeat;
  border-radius: 10px;
}
.controller_input::placeholder{
  color: #B2B2B2;
}
.controller_submit{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 260px;
  height: 44px;
  border-radius: 22px;
  margin: 35px auto 0;
  background: #119827 url(../images/icon_arrow_A.png) right 20px center / 12px auto no-repeat;
  color: #fff;
  cursor: pointer;
  transition: .3s background-color;
}
.controller_submit:hover{
  background-color: #58B768;
}
@media (max-width: 1000px) {
  .controller_box{
    padding: 20px;
  }
  .controller_flex1{
    flex-wrap: wrap;
    justify-content: flex-start;
    column-gap: 8px;
    row-gap: 10px;
  }
  .controller_flex2{
    display: block;
  }
}



/*--------------------------------------------------
posts
--------------------------------------------------*/
.posts_head{
  font-size: 23px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #119827;
  text-align: center;
  border-bottom: 1px solid #119827;
  margin: 40px 0 -25px;
  padding: 5px 0;
}
.posts_post{
  position: relative;
  padding: 60px 80px;
  background: #fff;
  border-radius: 30px;
  margin: 45px 0 0;
}
.posts_edit{
  color: #0074BE;
  font-size: 14px;
  display: flex;
  align-items: center;
  white-space: nowrap;
  position: absolute;
  top: 20px;
  right: 24px;
  cursor: pointer;
}
.posts_edit:hover{
  text-decoration: underline;
}
.posts_edit img{
  width: 13px;
  margin: 0 3px 0 0;
}
.posts_image{
  position: relative;
  margin: 0 0 30px;
}
.posts_image img{
  border-radius: 20px;
}
.posts_image .slick-prev,
.posts_image .slick-next{
  width: 28px;
  height: 28px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  cursor: pointer;
}
.posts_image .slick-prev::before,
.posts_image .slick-next::before{
  display: none;
}
.posts_image .slick-prev{
  left: 11px;
  background: url(../images/icon_slick_left.png) center / contain no-repeat;
}
.posts_image .slick-next{
  right: 11px;
  background: url(../images/icon_slick_right.png) center / contain no-repeat;
}
.posts_image .slick-slider{
  margin: 0 !important;
}
.posts_image .slick-dots{
  bottom: auto;
  top: calc(100% + 16px);
  display: flex;
  justify-content: center;
  column-gap: 10px;
}
.posts_image .slick-dots li{
  margin: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #B2B2B2;
}
.posts_image .slick-dots li.slick-active{
  background: #119827;
}
.posts_image .slick-dots button{
  display: none;
}
.posts_name{
  position: absolute;
  top: -25px;
  left: -33px;
  background: #119827;
  color: #fff;
  min-height: 40px;
  padding: 0 26px;
  border-radius: 20px;
  border: 2px solid #fff;
  z-index: 1;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  transition: .3s background-color;
}
.posts_name:hover{
  background: #58B768;
}
.posts_date{
  color: #119827;
  font-family: "Zen Maru Gothic", sans-serif;
}
.posts_title a{
  color: #119827;
  font-size: 22px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  margin: 0 0 18px;
  cursor: pointer;
}
.posts_title a:hover{
  text-decoration: underline;
}

.posts_title{
  color: #119827;
  font-size: 22px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  margin: 0 0 18px;
}

.posts_data{
  display: flex;
  column-gap: 11px;
  margin: 0 0 15px;
}
.posts_data_item{
  display: flex;
  align-items: center;
  column-gap: 4px;
  white-space: nowrap;
  border: 1px solid #119827;
  height: 24px;
  border-radius: 12px;
  padding: 0 10px;
  font-size: 13px;
  color: #119827;
}
.posts_data_item img{
  width: 20px;
}
.posts_text{
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: -0.04em;
  margin: 0 0 20px;
}
.posts_text._viewpart{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3; 
  overflow: hidden;
}
.posts_org_link {
	margin-bottom: 20px;
}
.posts_org_link a {
	font-weight: bold;
	color: #0074BE;
}

.posts_org_link a:hover {
	text-decoration: underline;
}
.posts_org_link a:before {
	content: url("../images/icon_site_blue.png");
	display: inline-block;
	margin-right: 5px;
}
.posts_tag{
  display: flex;
  column-gap: 10px;
  color: #0074BE;
}
.posts_tag a:hover{
  text-decoration: underline;
}
@media (max-width: 1000px) {
  .posts_post{
    padding: 60px 15px 30px;
  }
  .posts_edit{
    top: 10px;
  }
  .posts_name{
    left: -10px;
  }
}



/*--------------------------------------------------
contact
--------------------------------------------------*/
.contact{
  background: #fff;
  border-radius: 30px;
  padding: 25px 40px 40px;
}
.contact_title{
  color: #119827;
  font-size: 23px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  text-align: center;
}
.contact_label{
  margin: 20px 0 5px;
  display: flex;
  align-items: center;
  column-gap: 11px;
}
.contact_label span{
  color: #fff;
  background: #E30348;
  border-radius: 4px;
  width: 40px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
}
.contact_input{
  display: block;
  background: #EBEBEB;
  width: 100%;
  height: 55px;
  border-radius: 10px;
  padding: 0 22px;
}
.contact_input._textarea{
  padding: 20px 22px;
  height: 167px;
}
.contact_input._error{
  border: 2px solid #E30348;
}
.contact_error{
  color: #E30348;
  margin: 5px 0 0;
}
.contact_select{
  display: block;
  width: auto;
  height: 55px;
  border: 2px solid #808080;
  border-radius: 10px;
  padding: 0 45px 0 20px;
  background: url(../images/icon_arrow_C.png) right 13px center / 12px auto no-repeat;
  cursor: pointer;
}
.contact_recaptcha{
  margin: 30px 0 0;
  text-align: center;
}
.contact_controller{
  display: flex;
  justify-content: center;
  column-gap: 5px;
	margin-top: 40px;
}
.contact_submit{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 260px;
  height: 44px;
  border-radius: 22px;
  margin: 30px auto 0;
  background: #119827 url(../images/icon_arrow_A.png) right 20px center / 12px auto no-repeat;
  color: #fff;
  cursor: pointer;
  transition: .3s background-color;
}
.contact_submit:hover{
  background-color: #58B768;
}
@media (max-width: 1000px) {
  .contact{
    padding: 25px 15px 40px;
  }
  .contact_submit{
    font-size: 15px;
    background-position: right 10px center;
  }
}

.contact_label_conf{
  margin: 20px 0 5px;
  display: flex;
  align-items: center;
  column-gap: 11px;
	border-bottom: 1px dotted #119827;
	color: #119827;
}

.contact_input_data {
	font-weight: bold;
}


/*--------------------------------------------------
contact_fin
--------------------------------------------------*/
.contact_fin{
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 36px;
  margin: 40px 0 0;
}
.contact_fin_image{
  width: 79px;
}
.contact_fin_label{
  font-size: 24px;
  margin: 0 0 10px;
}
.contact_fin_text{
  line-height: 1.9;
}

/*--------------------------------------------------
fanding
--------------------------------------------------*/
.container.fanding .main {
	max-width: none;
}
.container.fanding .posts {
	max-width: 1000px;
	margin: 40px auto 0;
}

.posts_fanding {
	margin: 45px 0 0;
}

.fanding_head {
	font-size: 23px;
    font-weight: bold;
    font-family: "Zen Maru Gothic", sans-serif;
    color: #119827;
    text-align: center;
    margin: 40px 0 20px;
    padding: 5px 0;
}

.posts_fanding iframe {
	width: 100%;
	height: 800px;
	background: #fff;
}


/*--------------------------------------------------
about
--------------------------------------------------*/
.about{
  background: #fff;
  border-radius: 30px;
  padding: 15px 80px 40px;
}
.about_map{
  max-width: 463px;
  margin: 0 auto 30px;
}
.about_intro{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 35px;
}
.about_intro_text{
  font-size: 28px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 900;
  line-height: 1.3;
  color: #40220F;
}
.about_intro_text span{
  color: #119827;
}
.about_intro_image{
  width: 77px;
}
.about_section:not(:last-child){
  border-bottom: 1px solid #CCCCCC;
  padding-bottom: 45px;
  margin-bottom: 45px;
}
.about_read{
  font-size: 18px;
  color: #119827;
  margin: 0 0 10px;
	font-weight: bold;
}
.about_text{
  font-size: 15px;
  line-height: 1.75;
}
.about_image{
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 18px;
  margin: 40px 0 0;
  font-size: 13px;
}
.about_image img{
  margin: 0 0 6px;
	border-radius: 10px;
}
.about_banner{
  max-width: 300px;
  margin: 30px auto 0;
}
.about_readyfor{
  max-width: 370px;
  margin: 30px auto 0;
}
.about_number{
  color: #fff;
  background: #7FC732;
  height: 36px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  padding: 0 20px;
  margin: 0 0 20px;
  font-size: 20px;
}
.about_flex{
  display: grid;
  grid-template-columns: 250fr 210fr;
  column-gap: 30px;
  margin: 0 0 20px;
}
.about_goal{
  margin: 0 0 20px;
}
.about_button{
  display: flex;
  justify-content: center;
  align-items: center;
  width: 260px;
  height: 44px;
  border-radius: 22px;
  margin: 35px auto 0;
  background: url(../images/icon_arrow_D.png) right 20px center / 12px auto no-repeat;
  color: #119827;
  border: 1px solid #119827;
  cursor: pointer;
  transition: .3s background-color;
}
@media (max-width: 1000px) {
  .about{
    padding: 15px 15px 40px;
  }
  .about_intro_text{
    font-size: 26px;
  }
}



/*--------------------------------------------------
terms
--------------------------------------------------*/
.terms{
  background: #fff;
  border-radius: 30px;
  padding: 35px 80px 40px;
}
.terms_title{
  text-align: center;
  color: #119827;
  font-size: 22px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.06em;
  margin: 0 0 25px;
}
.terms p{
  font-size: 15px;
}
.terms h2{
  color: #119827;
  font-weight: bold;
  font-size: 18px;
  margin: 25px 0 10px;
}
.terms ol{
  counter-reset: number;
  margin: 10px 0;
  font-size: 15px;
}
.terms ol > li{
  padding: 0 0 0 25px;
  margin: 0 0 5px;
  position: relative;
}
.terms ol > li::before{
  counter-increment: number;
  content: counter(number)".";
  position: absolute;
  top: 0;
  left: 0;
}
.terms ul{
  margin: 10px 0;
  font-size: 15px;
}
.terms ul > li{
  padding: 0 0 0 10px;
  margin: 0 0 5px;
  position: relative;
}
.terms ul > li::before{
  content: "";
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #40220F;
  position: absolute;
  top: 11px;
  left: 0;
}
@media (max-width: 1000px) {
  .terms{
    padding: 20px 15px 40px;
  }
}

/*--------------------------------------------------
posts loading
--------------------------------------------------*/
.post_loading {
	text-align: center;
	margin-top: 4em;
}
.loader {
	margin-left: auto;
	margin-right: auto;
  width: 50px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: 
    radial-gradient(farthest-side,#41ad52 94%,#0000) top/8px 8px no-repeat,
    conic-gradient(#0000 30%,#41ad52);
  -webkit-mask: radial-gradient(farthest-side,#0000 calc(100% - 8px),#000 0);
  animation: l13 1s infinite linear;
}
@keyframes l13{ 
  100%{transform: rotate(1turn)}
}