/*
Theme Name: abarenbo camp
Description: abarenbo camp theme
*/


@charset "UTF-8";

/* reset browser defaults */
html, body, div, span, applet, object, iframe, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,figure,address {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  border: 0;
  outline: 0;
  background: transparent;
  font-style:normal; }
  
   h1 {
	   font-size:1.625rem;
   }
   
   h2 {
	  font-size:1.25rem;
   }
	 h3 {
	   font-size:1.125rem;
   }
   h3.normal {
   	font-size: 1rem;
   }
   h4 {
	   font-size:1rem;
   	margin-bottom: .5rem;
   }
   h5 {
  font-size:1rem;
   	margin:0;
   }
   
   h1,h2,h3,h4 {
	line-height:1.5;
	font-weight: 600;
	
   }
   
  h3 small.normal {
  	font-weight: normal;
  	font-size: .875rem;
  }

  small {
	  font-size:88%;
  }
  
.no-margin,
 .wp-block-image.no-margin {
	  margin:0;
  }
  .no-margin-bottom {
  	margin-bottom: 0;
  }
  .no-margin-top {
  	margin-top: 0;
  }
  .margin-bottom2,
  .white-box p.margin-bottom2 {
  	margin-bottom: 2rem;
  }
  
  .bold {
  	font-weight: bold;
  }
  
  ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }
  
button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}

 :root {
    --main-color: #f67670;
	--sub-color: #dfe7bc;
	--link-color:#446a1b;
	--border-color: #c9c6ba;
	--border-dark-color:#becdb8;
	--point-color:#6e6322;
	--text-color:#462c11;
	--box-padding:1.375rem;
	--box-radius: 1rem;
	--view-size:110rem;
	--base-margin:2rem;
	--base-margin-small:1rem;
	--view-width:84rem;
	--camp-color:#f8a249;
	--project-color:#fae33f;
	--adults-color:#acd9f6;
	--main-hovercolor:#ee4d4d;
	--land-color:#85b264;
	
}
@media screen and (min-width:82rem){
	 :root {
	--box-padding:2rem;
	--box-radius: 2rem;
	--base-margin:3rem;
	--base-margin-small:2rem;
}
.text-pc-large {
	font-size: 1.125rem;
}
}


/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

img {
	 max-width:100%;
	 vertical-align:top;
	 height: auto;
 }

* {
	 	box-sizing:border-box;
 }

/* general styling */

body {
 font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "BIZ UDPGothic",
    Meiryo,
    sans-serif;
  line-height:1.7;
	margin:0;
	padding:0;
color:var(--text-color);
background:#f8faf3;
word-break: break-all;
   }

/* links */
a:link {
  color: var(--link-color);
  text-decoration: none;
  }
 a.underline {
   text-decoration: underline;	
 }
a:visited {
color: var(--link-color);
  }
a:hover {
  text-decoration: none;
  color: #52971f;
/*  opacity: .7;*/
/*  color: #018dea;*/
}

a:hover img {
opacity: .7;	
}
a.card:hover img,
.blog-list__item a:hover img {
opacity: 1;	
}
.card:hover {
	opacity: 1;
}
/*a:hover img {
	opacity: .7;
}*/


.inner {
width: 90%;
	margin-left:auto;
	margin-right:auto;
	max-width:var(--view-width);
}

.inner-narrow {
width: 90%;
	margin-left:auto;
	margin-right:auto;
	max-width:70rem;
}

.box-wide {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

.section {
	margin-top: 3rem;
	margin-bottom: 3rem;
}
.section-bottom {
	margin-bottom: 3rem;
}
.section-small {
	margin-top: 2rem;
	margin-bottom: 2rem;
}
.section-small-bottom {
	margin-bottom: 2rem;
}
.text-right {
	 text-align:right;
}
.text-center {
	 text-align:center;
}

strong {
	font-weight: 600;
}
.margin {
margin-bottom: var(--base-margin);
}
.margin-small {
	margin-bottom: var(--base-margin-small);
	
}
.bg {
	background: var(--sub-color);
}

a[href*=".pdf"] {
    padding-left: 1.5rem;
    background: url(images/PDF_32.png) no-repeat left 0rem;
    background-size: 1.125rem;
}

.strength {
	color: var(--main-color);
}
ul.disc,
.program__main ul,
.single__contents ul {
	list-style-type: disc;
	padding-left: 1.5rem;
}
ol.decimal,
.program__main ol,
.single__contents ol {
	list-style-type: decimal;
	padding-left: 1.5rem;
}

hr.wp-block-separator {
	border-top: 1px solid var(--border-color);
	border-bottom: none;
	margin: 1.5rem 0;
}
.radius-image,
img.radius-image,
.radius-image.wp-block-image:not(.is-style-rounded) img {
	border-radius: .75rem;
}

.table-display {
	display: table;
	margin-left: auto;
	margin-right: auto;
}

.wp-block-image figcaption {
	font-size: .875rem;
	color: #7b6854;
}

@media screen and (max-width:58em){
	.sp-harf.wp-block-image img {
		max-width: 14rem;
	}
	}

@media screen and (min-width:58em){
	.sp-only {
		display: none;
	}
	h1 {
		font-size: 3rem;
	}
}

@media screen and (min-width:82em){

/*	h1 {
		font-size: 3.125rem;
	}*/

	h2 {
	  font-size:2.125rem;
   }

   h3,
   h2.small {
	   font-size:1.5rem;
   }
     h3.normal {
   	font-size: 1.25rem;
   }
   
   h4 {
	  font-size:1.375rem;
   }
   
.sp-only {
		display: none;
	}

.section {
	margin-top: 6rem;
	margin-bottom: 6rem;
}
.section-bottom {
margin-bottom: 6rem;	
}
.section-small {
	margin-top: 3rem;
	margin-bottom: 3rem;
}
.section-small-bottom {
margin-bottom: 3rem;	
}
	.pc-center {
		text-align: center;
	}
.touch-only {
		display: none;
	}
.fixed-position {
	position: sticky;
	 top: 0;
}
}

@media not screen and (min-width: 58em) {
.pc-only {
		display: none;
	}
	.text-sp-small {
		font-size: .875rem;
	}
.sp-center {
		text-align: center;
	}

}


/*site-header*/

.site-header__brand p {
	color: var(--main-color);
	font-weight: 600;
	margin: 0 0 .25rem;
	font-size: .75rem;
}
.site-header__brand img {
	width: 14rem;
}

.global>li>a {
	color: var(--text-color);
	font-weight:600;
	display: block;
	height: 100%;
}
.site-header__nav__sub__menu li a,
.sub-menu a {
	font-size: .875rem;
color: var(--text-color);
}


@media not screen and (min-width: 58em) {

.fixed-header.site-header__nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
	  box-shadow: 0 8px 8px -8px rgb(70 44 17 / 14%);
	  z-index: 100;
}


.site-header__brand {
	text-align: center;
	margin: 1rem 5%;
}
.site-header__nav {
	position: relative;
	width: 100%;
}
.site-header__nav,
.global {
	display: flex;
}

.global {
	width: 80%;
	justify-content: space-between;
background: var(--sub-color);
padding: 0 .5rem;
}

.global>li {
	align-items: center;
	line-height: 1.3;
	font-size: .75rem;
	text-align: center;
	width: 25%;
}
.global>li>a {
	padding: .75rem .375rem;	
}
.global>li:not(.has-child) a {
	padding-top: 1rem;
}
.global>li.has-child >a {
padding-bottom: 1.125rem;
    background: url(images/chevron-down.svg) no-repeat center 93%;
    background-size: 1rem;
    cursor: pointer;
}

.site-header__nav__contact {
	display: none;
}

/*.site-header__nav__contact {
	position: fixed;
	bottom:0;
	left: 0;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr; 
  gap: 0px 0px;
  background: #fff;
  box-shadow: 0 -8px 8px -8px rgb(70 44 17 / 14%);
  z-index: 101;
}
.site-header__nav__contact .button {
border-radius: 0;
border: none;
padding: .75rem 0;
max-width: 100%;
}*/
.site-header__nav__sub {
	width: 20%;
}
.site-header__nav__sub .menu {
	background: var(--sub-color);
height: 100%;	
}
.site-header__nav__sub__menu,
.sub-menu {
	display: none;
	position: absolute;
	left: 0;
	top: 3.75rem;
	background: var(--land-color);
	width: 100%;
	z-index: 106;
}
.site-header__nav__sub__menu li a,
.sub-menu li a {
	display: block;
	padding: 1.25rem 1rem;
border-bottom: 1px dashed #fff;
color: #fff;
font-weight: 600;
}
.site-header__nav__sub__menu.active {
	display: block;
}
}
@media screen and (min-width:58em){
.global>li>a:hover,
.sub-menu a:hover {
	color: var(--main-color);
}
.site-header {
	width: 90%;
/*	max-width:var(--view-width);*/
	margin:1rem auto;
}
.site-header__brand img,
.site-header__brand {
	width: 18.75rem;
}
.site-header__brand {
	margin-bottom: 1rem;
}
.site-header__brand p {
	font-size: 1rem;
}
.site-header__nav {
	position: relative;
}

.menu {
	display: none;
}
.global,
.site-header__nav,
.site-header__nav__sub__menu,
.site-header__nav__contact {
	display: flex;
}
.site-header__nav {
	justify-content: space-between;
}
.site-header__nav__sub__menu {
	position: absolute;
	top: -4rem;
	right: 0;
}
.site-header__nav__sub__menu li a {
	font-size: .875rem;
}
.site-header__nav__sub__menu li a:hover,
.pdf-list a:hover {
	opacity: .7;
}
.site-header__nav__sub__menu li:not(:last-child)::after {
	content: "|";
	display: inline-block;
	margin: 0 1rem;
	font-size: .75rem;
	position: relative;
	top: -.125rem;
}

.global>li+li {
	margin-left: 2rem;
}
.global {
	margin-top: 1rem;	
}
.site-header__nav__contact li + li{
	margin-left: .5rem;
}
.has-child {
	position: relative;
}
.sub-menu {
	display: none;
	position: absolute;
	left: 0;
	top: 3rem;
	background: #fff;
	width: 100%;
	width: 20rem;
	padding: 1rem;
	box-shadow: rgb(0 0 0 / 20%) 0px 4px 12px;
	border-radius:.5rem;
	font-weight: 600;
	z-index: 102;
}
.sub-menu li a {
	display: block;
	padding: .75rem .75rem .75rem 2rem;
	font-size: 1rem;
	  background: url(images/chevron-right-st.svg) no-repeat .5rem center;
  background-size: 1rem;

}
.global>li.has-child >a {
display: block;
padding-right: 1.125rem;
    background: url(images/chevron-down.svg) no-repeat right 30%;
    background-size: 1rem;
    cursor: pointer;
}
.global>li.has-child>a:hover {
	background-image: url(images/chevron-down-st.svg);
	background-size: 1rem;
}

/*.global>li.has-child >a {
	background-position: top 30% right;
}*/
}
@media screen and (min-width:82rem){
	.site-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
margin:2rem auto;
	}
.site-header__nav {
	position: relative;
	margin-top: 3rem;
}
.site-header__nav__sub__menu {
top: -3rem;
}
.global {
	margin-top: .5rem;
	margin-right: 2.5rem;
}
.site-header__brand p {
	margin: 0 0 .875rem;
}
.site-header__brand {
	margin-bottom: 0;
}

}
@media screen and (min-width:92rem){
/*	.site-header__nav {
	width: calc(100% - 25rem);
}*/
.global>li+li {
    margin-left: 2.5rem;
}
}

/*sub-menu*/
.sub-menu {
	display: none;
}
.global .sub-menu li {
	text-align: left;
}

/*openbtn*/
.openbtn{
	position: relative;
	cursor: pointer;
    width: 50px;
    height:50px;
	border-radius: 5px;
	margin-left: auto;
	margin-right: auto;
	top: .375rem;
}

.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background: var(--text-color);
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;/*真ん中の線は透過*/
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

/* button*/
.button,
.form-wrap input[type="submit"] {
padding: .375rem 1.5rem;
display: block;
font-weight: 600;
border-radius: 5rem;
text-align: center;
max-width: 18rem;
}
.form-wrap input[type="submit"] {
font-size: 1rem;
padding-top: .75rem;
padding-bottom: .75rem;
}
a.button--secondary,
.button--secondary {
	color: var(--main-color);
	border: 1px solid var(--main-color);
}
.button--primary,
a.button--primary,
.form-wrap input[type="submit"] {
	background:var(--main-color);
	color: #fff;
	border: 2px solid var(--main-color);
}
.button--tertiary,
a.button--tertiary {
	color: var(--text-color);
	border: 1px solid var(--text-color);

}
.button--secondary-br,
a.button--secondary-br {
	background:  var(--text-color);
	border: 2px solid var(--text-color);
	color: #fff;
}
.text-center .button {
	margin-left: auto;
	margin-right: auto;
}
.form-wrap input[type="submit"] {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}

/*.button--tertiary span {
	display: inline-block;
	padding-right: 2.5rem;
	background: url('images/chevron-right-st.svg') no-repeat right center;
	background-size: 1.25rem;
}*/
@media not screen and (min-width: 58em) {
.sp-center .button {
	margin-left: auto;
	margin-right: auto;
}
}
@media screen and (min-width:58em){
	.site-header__nav__contact .button {
	padding: .375rem 1.5rem;	
	}
	.button  {
padding: .75rem 1.5rem;
transition: all .3s ease-out;
}
/*hover*/
	.button--secondary:hover {
border-color: var(--main-hovercolor);
color: var(--main-hovercolor);

	}
	.button--tertiary:hover  {
background: var(--text-color);
color: #fff;
}
.button--secondary-br:hover {
background: #f8faf3;
color:var(--text-color);
}

.bg .button--secondary-br:hover {
background: var(--sub-color);
color:var(--text-color);
}
.button--primary:hover,
.form-wrap input[type="submit"]:hover {
	background: var(--main-hovercolor);
border-color: var(--main-hovercolor);
}

	}
@media screen and (min-width:82rem){
			.site-header__nav__contact .button {
	font-size: 1rem;
	}
	.button,
	.form-wrap input[type="submit"]  {
		font-size: 1.125rem;
	}
}
@media screen and (min-width:92rem){
		.site-header__nav__contact .button {
	padding: .5rem 2rem;
	}
	}

/*more*/
.more {
	text-align: right;
	font-weight: 600;
}
.more a {
	padding-right: 2rem;
	background:url('images/more.svg') no-repeat right center;
	background-size: 1rem;
}

/*box-corner/top-hero*/
.box-corner {
    margin-left: 8%;
    border-radius: 1.5rem 0 0 1.5rem;
}
.box-corner__contents {
    padding: 2.5rem 0 3rem;
}
.box-corner__inner {
	width: calc(100% - 3rem);
	margin: 0 auto;
}
.box-corner__image {
	width: 100%;
border-radius: 1.5rem 0 0 1.5rem;
}
@media not screen and (min-width: 58em) {
.hero.section {
	margin-top: 2.5rem;
	margin-bottom: 1rem;

}
}
@media screen and (min-width:58em){
	.box-corner__inner {
	width: calc(100% - 7.5rem);
	margin: 0 auto;
}
}
@media screen and (min-width:82em){
.box-corner {
    margin-left: 13%;
}



.box-corner__contents {
    padding: 4rem 0 5rem;
}
	}
@media screen and (min-width:92rem){
	.box-corner__inner {
	max-width: 110rem;
	margin: 0 auto;
}
}

/*illust*/
.top-illust {
	position: relative;
	margin-bottom: 2rem;
}
.illust__top01 {
	text-align: right;
}
.illust__top01 img {
		width: 25vw;
	margin-right: 5vw;
}
.illust__top02 {
	width: 17vw;
	position: absolute;
	bottom: 2rem;
	margin-left: 3vw;
}
.illust__top03 {
	position: absolute;
	width: 32vw;
	max-width: 12rem;
	right: 3vw;
	bottom: -6.5rem;
	z-index: 10;
}
.illust__top04 {
	display: none;
}
.illust__top04 {
	display: none;
}
.illust__top05 img {
	width:35vw;
}
.illust__top05 {
	text-align: right;
}
.illust__top06 {
	position: absolute;
	left: 3vw;
	top: -1rem;
	width: 18vw;
}
.illust__top07 {
	position: absolute;
	right: 3vw;
	top: -2.5rem;
	width: 22vw;
}

@media screen and (min-width:58em){
.illust__top01 img {
		width: 12rem;
	margin-right: 5vw;
	position: relative;
	top: -2rem;
}
.illust__top02 {
	width: 8rem;
	bottom: 5rem;
}
.top-illust {
	margin-bottom: 0;
}
.illust__top05 img {
	width:16rem;
}

.illust__top06 {
	top: 1rem;
	width: 8rem;
}
.illust__top07 {
	position: absolute;
	right: 5vw;
	top: -2.5rem;
	width: 8rem;
}
}
@media screen and (min-width:82em){
	.illust__top07 {
	top: 1rem;
}
}

@media screen and (min-width:82em){
	.top-illust {
	position: static;
}
	.top-illust-pc-position {
	position: relative;
}
.illust__top02 {
	width: 9rem;
	top: 8rem;
	left: -1rem;
	bottom: auto;
}
.illust__top01 img {
		width: 100%;
	margin-right: 0;
	position: static;
}
.illust__top01 {
	width: 13rem;
	position: absolute;
	left: 3vw;
	bottom: -2rem;
}
body.home {
	background-image: url('images/bg.png');
	background-repeat: no-repeat;
	background-position:left top;
	background-size: 8.125rem;
}
body.tax-programms-status,
body.term-camp,
body.term-project,
body.page-template-default {
	background-image: url('images/page-bg.png');
	background-repeat: no-repeat;
	background-position:left 20rem;
	background-size: 7%;
}
.illust__top03 {
	position: absolute;
	max-width: 100%;
	width: 16rem;
	bottom: 0;
}
.illust__top03 img {
	width: 100%;
}

.illust__top04 {
	display: block;
	position: absolute;
top: 2rem;
    left: -12vw;
	width: 13rem;
}
.illust__top05 img {
	width:19rem;
}
}


/*top-massage*/
.massage,
.message--client {
	margin-right: 5%;
}
.home .massage {
	margin-top: -1rem;
	position: relative;	
}
.massage h1,
.massage h2,
.message--client h2 {
	font-size: 1.25rem;
}

.about-message {
	margin-bottom: 4rem;
	position: relative;
}
.about-message img {
position: relative;
    width: 11rem;
    bottom: -4.5rem;
    z-index: 60;
	margin-top: -3rem;
}
.about-message .wp-block-image {
text-align: right;
}


@media screen and (min-width:58em){
		.massage h1,
		.message--client h2 {
	font-size: 1.75rem;
}

.about-message {
	margin-bottom: 2rem;
}
.about-message img {
width: 18rem;
	margin-top: -6rem;
  bottom: -4rem;
}

}
@media screen and (min-width:82em){
	.massage h1,
	.massage h2 {
	font-size: 2rem;
}
.massage p {
	font-size: 1.125rem;
}
.massage p.large {
	font-size: 1.25rem;
	line-height: 2;
}
	}


/*section-header*/
.section-header h2 {
	margin: 0 0 .5rem;
}
.section-header p {
	margin: .25rem 0 0;
	font-weight: 600;
}
/*.top-taiken__read {
	display: inline-block;
	color: #fff;
/*	background: var(--text-color) url(images/checkmark.svg) no-repeat 0 center;
	background-size: 1rem;*!/
	background: var(--text-color);
	padding: .25rem 1rem;	
}*/

.bg .section-header p {
	color: var(--point-color);
}
.section-header {
	margin:0 0 var(--base-margin) 0;
}
@media screen and (min-width:58em){
.section-header p {
	font-size: 1.125rem;
}
	}


/*grid*/

@media screen and (min-width: 58em) {
.parent {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: 3rem;
}
.span-2 {
  grid-column: 2 span;
}
.span-3 {
  grid-column: 3 span;
}
.span-4 {
  grid-column: 4 span;
}
.span-5 {
  grid-column: 5 span;
}
.span-6 {
  grid-column: 6 span;
}
.span-7 {
  grid-column: 7 span;
}
.span-8 {
  grid-column: 8 span;
}
.span-9 {
  grid-column: 9 span;
}
.span-10 {
  grid-column: 10 span;
}
.span-12 {
  grid-column: 12 span;
}
}

/*card*/
.card {
	background: #fff;
box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
border-radius: 1rem;
display: block;
}
.card img {
aspect-ratio: 18 / 8;
height: auto;
	object-fit:cover;
	width: 100%;
	border-radius: .5rem .5rem 0 0;
}
.card .media__photo img {
	height: auto;
	width: auto;
}
.card figure {
border-radius: .5rem .5rem 0 0;	
}
.card__body {
	padding: 1.5rem;
}
.card__body h3 {
	margin: 0 0 .5rem;
}

/*card--taiken*/
a.card--taiken ul {
font-size: .875rem;
color: var(--text-color);
font-weight: 600;
}

.card--taiken .card__body {
	padding: 1rem 1.5rem;
}

.card--taiken h3 {
	font-size: 1rem;
}
.card--taiken figure {
	position: relative;
	margin: 0;
}
.card--taiken figure p {
	position:absolute;
	bottom: 0;
	right: 0;
color: var(--text-color);
padding: .25rem 1rem;
margin: 0;
font-size: .875rem;
font-weight: 600;
}

.card--taiken .status {
	margin: 0 0 .5rem;	
}
.card--taiken .status span {
	color: var(--text-color);
	font-size: .75rem;
	padding: 0.375rem 0.875rem;
}
.badge-camp {
	background: var(--camp-color);
}
.badge-project {
	background: var(--project-color);	
}
.badge-adults {
	background: var(--adults-color);	
}

@media screen and (min-width: 58em) {
	.card--taiken h3 {
	font-size: 1.25rem;
}
a.card--taiken ul li:not(:last-child) {
	margin-bottom: .25rem;
}

	}
@media screen and (min-width: 82em) {
/*.card img {
	height: 15rem;
}*/
.card__body,
.card--taiken .card__body {
	padding: 1.5rem 2rem;
}
.card__body h3 {
	margin: 0 0 .875rem;
}
	}

/*taiken-datalist*/
.taiken-datalist li {
	padding-left: 1.875rem;
	background-position: 0 .25rem;
	background-repeat: no-repeat;
}
.taiken-datalist .date {
	background-image: url(images/calendar.svg);
	background-size: auto 1rem;
}
.taiken-datalist .place {
	background-image: url(images/location.svg);
	background-size: auto 1rem;
}

.taiken-datalist .target {
	background-image: url(images/person.svg);
	background-size: auto 1rem;
}



/*taiken-list*/
.top-taiken {
	position: relative;
}
.taiken-list .card--taiken {
	margin-bottom: 2rem;
}
@media screen and (min-width: 40em) {
.taiken-list {
	display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: 2rem;
}
.taiken-list .span-12 {
  grid-column: 12 span;
}
.card--taiken {
grid-column: 6 span;
}
.taiken-list .card--taiken {
	margin-bottom: 0;
}
}
@media screen and (min-width: 58em) {
.taiken-list {
	gap: 3rem 2rem;
}
.card--taiken {
grid-column: 4 span;
}
}
@media screen and (min-width: 82em) {
	.taiken-list.margin {
		margin-bottom: 4rem;
	}
}

/*blog-list*/
.blog-list {
	display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-gap: 1rem;
}
.blog-list__item {
grid-column: 6 span;
}
.blog-list a {
	display: block;
}

.blog-list img,
.blog-list figure {
	border-radius: .5rem;
}
.blog-list p {
	margin: 0;
}
.blog-list__title {
	font-size: .875rem;
	font-weight: 600;
}
.blog-list figure {
	margin-bottom: .5rem;
}
.blog-list__date {
	color: var(--text-color);
	font-size: .75rem;
}
@media screen and (min-width: 58em) {
.blog-list {
	gap: 2rem;
}
.blog-list__title {
	font-size: 1rem;
}
.blog-list figure {
	margin-bottom: 1rem;
}
.blog-list__date {
	font-size: .875rem;
}
.blog-list__item {
grid-column: 3 span;
}

}

/*hover*/
@media screen and (min-width: 58em) {
.blog-list figure,
.taiken-list figure {
	overflow: hidden;
}
.blog-list figure img,
.taiken-list figure img {
transition: transform .5s ease;
}
.blog-list a:hover img,
.taiken-list .card:hover img {
  transform: scale(1.1);
}
}


/*top-info*/
.top-info section {
	margin-bottom: 2rem;
}
@media screen and (min-width: 58em) {
.top-info .section-header {
margin-bottom: 2rem;	
}
.top-info section {
	margin-bottom: 0;
}
}

/*info-list*/
.info-list li {
	border-bottom: 1px solid var(--border-color);
}
.info-list li a {
	padding: .75rem 0;
	display: block;
}
.info-list li span {
	display: block;	
		font-weight: 600;
}
.info-list li time {
	color: var(--text-color);
	font-size: .75rem;
}

@media screen and (min-width: 58em) {
	.info-list li span {
	font-size: 1.125rem;
}
.post-type-archive-info .info-list li span {
	font-size: 1.25rem;
}

	.info-list li time {
	font-size: .875rem;
}
.info-list li a {
	padding: 1.25rem 0;
}
}


/*wave*/
.bg-wave,
.bg-wave02,
.bg-wave-bottom {
position: relative;
}
.bg-wave:before {
	content: "";
	height: 2rem;
	background:url('images/wave.svg') no-repeat left bottom;
	width: 100%;
	background-size: cover;
	display: block;
	position: relative;
	bottom: -2px;
}
.bg-wave02:before {
	content: "";
	height: 4rem;
	background:url('images/wave02.svg') no-repeat left bottom;
	width: 100%;
	background-size: cover;
	display: block;
	position: relative;
	bottom: -2px;
	margin-top: -3rem;
}
.bg-wave-bottom:before {
	content: "";
	height: 4rem;
	background:url('images/wave-bottom.svg') no-repeat left 1rem;
	width: 100%;
	background-size: cover;
	display: block;
	position: relative;
	bottom: -2px;
	margin-top: -3rem;
}

.no-bottom .bg-wave-bottom:before {
	content: none;
}

@media screen and (min-width: 40em) {
	.bg-wave02:before {
	height: 6rem;
	}
	.bg-wave-bottom:before {
height: 7rem;	
}
}

@media screen and (min-width: 58em) {
	.bg-wave:before {
	height: 7rem;
}
	.bg-wave02:before {
	height: 16rem;
	margin-top: -6rem;
	}
.bg-wave-bottom:before {
height: 9rem;	
background-position-y: -2rem;
}
}

/*footer*/
.footer {
	background: var(--land-color);
	color: #fff;
	padding: 3rem 0 3rem;
}
.footer__inner {
	width: 90%;
	margin: 0 auto;	
}
.footer a {
color: #fff;	
}
.footer__logo {
	width: 12rem;
	margin: 0 auto 1rem;
}
.footer__address dt {
	font-weight: 600;
	margin-bottom: .5rem;
}
.footer—title {
	margin-bottom: 2rem;
}
.footer__address dl:not(:last-of-type) {
	margin-bottom: 2rem;
}
.footer__address dd {
	font-size: .875rem;
}
.footer__button {
	margin-bottom: 2rem;
}
.footer__button a.button--secondary,
.footer__button .button--secondary {
	border-color: #fff;
}
@media screen and (min-width: 58em) {
	.footer__logo {
	width: 17rem;
	margin: 0 0 1rem;
}
	.footer {
	padding: 5rem 0;
}
.footer__address {
	display:grid;
	grid-template-columns: 1fr 1fr; 
  gap: 1.5rem; 
}
.footer__address dl,
.footer—title {
	margin-bottom: 0;
}
.footer__address dd {
	font-size: .875rem;
}

	}
	
/*sns*/
.sns {
	display: flex;
	justify-content: center;
	align-items: center;
}
.sns li+li {
	margin-left: .75rem;
}
.sns img {
	height: 2rem;
}
.sns li:first-child {
	margin-right: .75rem;
}
@media screen and (min-width: 58em) {
	.sns {
	justify-content: flex-start;
}
}

/*white-box*/
.white-box {
	background: #fff;
	border: 1px solid #dae6d5;
	padding: var(--box-padding);
	border-radius: .5rem;
}
.top-info .white-box h3 {
	font-size: 1.125rem;
}
.white-box p {
	margin-bottom: 0;
}
.white-box .wp-block-columns.no-margin {
	margin-bottom: 0 !important;
}

@media not screen and (min-width: 58em) {
.top-info .white-box .wp-block-columns {
	gap:1rem;
}
}
@media screen and (min-width: 58em) {
	.white-box.white-box--pcspace {
	padding: 3rem;
	}
}

/*page-title*/

.page-title .box-corner {
	position: relative;
}
.page-title__body {
position: absolute;
	left: 7vw;
	top: 50%;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.page-title .box-corner:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
background: linear-gradient(to right,  rgba(0,0,0,0.20) 0%,rgba(0,0,0,0) 70%);
    border-radius: 1.5rem 0 0 1.5rem;
}
.page-title h1 {
	margin: 0;
	color: #fff;
	text-shadow: 0 0 .5rem rgba(0,0,0,.75);
}

.post-type-archive-programms .page-title h1 {
text-shadow: 0 0 .5rem rgba(0,0,0,.5);	
}
.post-type-archive-programms .page-title .box-corner:before,
.profile .page-title .box-corner:before {
	content: none;
}
.page-title__body p {
	display: inline-block;
	background: #fff;
	margin: 0 0 .5rem;
	font-weight: 600;
	padding: .25rem 1rem;
	border-radius: 3rem;
	font-size: .875rem;
}
	.page-title__illust {
		position: absolute;
		width:18vw;
		max-width: 8rem;
		left: -5vw;
		bottom: -2rem;
	}
		.page-title {
	margin-bottom: 4rem;
	margin-top: 1rem;
}

@media screen and (min-width:58em){
			.page-title {
	margin-bottom: 6rem;
	margin-top: 3rem;
}
.page-title__illust {
		position: absolute;
		width:8rem;
		left: -4rem;
		bottom: -3rem;
	}
}
@media screen and (min-width: 82em) {
/*	.page-title {
	margin-bottom: 10rem;
}*/
	.page-title__illust {
		position: absolute;
		width:8rem;
		left: -10rem;
		right: auto;
		bottom: 1rem;
	}
	.page-title__body {
position: absolute;
	left: 5vw;
}
.page-title__body p {
	margin: 0 0 1.25rem;
	font-size: 1.125rem;
	}
	}

/*page-section*/
.page-section {
	margin-bottom: 5rem;
}

/* === pagenation ===*/
.pagination {
position:relative;
text-align: center;
}
 
.pagination span, .pagination a {
padding: .25rem .625rem;
border: var(--text-color) solid 1px;
display: inline-block;
margin: 0 .25rem;
border-radius: .25rem;
text-decoration:none;
color: var(--text-color);
}
.pagination a:hover{

}
 
.pagination .current{
background: var(--text-color);
border: var(--text-color) solid 1px;
color: #fff;
border-radius: .25rem;
}
@media screen and (min-width:58em){
	.pagination span, .pagination a {
padding: .375rem 1rem;
font-size: 1.125rem;
margin: 0 .375rem;
}
	}

/*program*/
.program__eyecatch {
	margin-bottom: 2rem;
}
.program__eyecatch img {
	border-radius: 1rem;
}

.program__main__header h1 {
	margin: 0;
	font-size: 1.5rem;
}
.program__main__header p {
	margin: 0 0 .5rem;
}
.program__main__header {
	margin-bottom: 1.5rem;
}
.program__main__header__date {
	font-weight: 600;
	font-size: 1.125rem;
}
.program-category {
	padding-left: 1.5rem;
	background: url('images/bookmark.svg') no-repeat left center;
	background-size: 1rem;
	font-size: .875rem;
}
.program__contact h3 {
	border-bottom: 1px solid var(--border-color);
	padding-bottom: .875rem;
}
.program__contact .media {
	margin-bottom: 1.5rem;
}
.program__main h2 {
	padding-left: 2.25rem;
	background: url('images/flag.svg') no-repeat left center;
	background-size: 1.5rem;
}

.program__main .wp-block-image:not(.is-style-rounded) img {
	border-radius: .5rem;
}

.program__main__header .status,
.program__main__header .genre {
	display:inline-block
}
.program__contact .tel {
	margin-bottom: 1rem;
}

@media screen and (min-width:58em){
	.program__main__header h1 {
	font-size: 2rem;
}
.program__main__header__meta {
	display: flex;
	align-items: center;
}
.program-category {
	margin-left: 1rem;
	font-size: 1rem;
}
.program__eyecatch {
	margin-bottom: 3rem;
}
}
@media screen and (min-width: 82em) {
		.program__main__header h1 {
	font-size: 2.25rem;
}
.program__main__header__date {
	font-size: 1.25rem;
}
.program__contact h4 {
font-size: 1.25rem;	
}
.program__main h2 {
	font-size: 1.75rem;
	margin-bottom: 2rem;
	padding-left: 3rem;
	background: url('images/flag.svg') no-repeat left center;
	background-size: 2rem;
}
.program__main h3 {
	font-size: 1.125rem;
}
}

/*status*/

.status span {
	display: inline-block;
	padding: .375rem .875rem;
	background: #dde6ad;
	border-radius: .5rem;
	line-height: 1;
	font-size: .875rem;
	font-weight:600;
}
/*.status .waiting,*/
.status .before,
.status .close {
background: #e0e0df;	
}
@media screen and (min-width:58em){
	.status span {
	padding: .5rem .875rem;
}
	}

/*media*/
.media {
display: grid; 
  grid-template-columns: 1fr 3fr; 
  gap: 1rem;
  align-items: flex-start;
}
.media__photo img {
	border-radius: .5rem;
}
.media>p {
	margin: 0;
}

/*.media--series*/
.media--series__descriptions {
	color: var(--text-color);
	margin: .75rem 0 0;
	font-size: .875rem;
}
.media--series header {
	padding-left: 1.5rem;
	background: url('images/expand_circle_right.svg') no-repeat left .25rem;
	background-size: 1rem;
}
.media--series header p {
	margin: 0 0 .25rem;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.4;
}
.media--series h3 {
margin: 0;
}
.media--series .media__photo {
	max-width: 12rem;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1rem;
}
.media--series .media__photo img {
	border-radius: .5rem .5rem 0 0;
	aspect-ratio:auto;
}
.about-taiken .media--series .media__photo img {
border-radius: .5rem;	
}
.media--series__target {
	margin: 0;
	background:#695a4a;
	color: /*var(--text-color)*/#fff;
	text-align: center;
	padding: .375rem;
	font-weight: 600;
	border-radius: 0 0 .5rem .5rem;
	position: relative;
	top: -4px;
	font-size: .875rem;
}
@media screen and (min-width:48em){
.media--series {
display: grid; 
  grid-template-columns: 1fr 2fr; 
  gap: 1.5rem;
  align-items: flex-start;	
}
.media--series .media__photo {
	width: 100%;
	max-width: 100%;
	margin-bottom: 0;
}
.media--series h3 {
	font-size: 1.375rem;
	margin: 0;
}
.media--series header p {
	font-size: 1rem;
	}
.media--series__descriptions {
	margin: 1rem 0 0;
	font-size: 1rem;
}
}
/* ======= table ======= */
.table-container {
    width: 100%;
    overflow-y: auto;
    overflow: auto;
    padding: 0;
    -webkit-overflow-scrolling: touch;
}

/*table*/
.program__contents table,
.single__contents table {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.4;
}
.program__contents table td,
.program__contents table th,
.single__contents table td,
.single__contents table th {
	border: 1px solid var(--border-color);
	padding: .75rem;
	text-align: left;
}
.program__contents table th,
.single__contents table th {
	background: #f0f3da;
	font-weight: 600;
	min-width: 6rem;
}

.th-nowrap th {
	white-space:nowrap;
}

/*border-table*/
.border-table {
width: 100%;
	border-collapse: collapse;	
}
/*.wp-block-table td,
.wp-block-table th　{
border: none;
}*/
.wp-block-table.border-table td,
.wp-block-table.border-table th {
	border-bottom: 1px solid var(--border-color);
	border-top: none;
	border-left: none;
	border-right: none;
	text-align: left;
	font-weight: normal;
	padding: .75rem;
}

/*border-box*/
.border-box {
	border: 1px solid var(--border-color);
    padding: var(--box-padding);
    border-radius: 0.5rem;
}
.box-border {
border: 1px solid #dae6d5;	
}
.tel {
	text-align: center;
	font-weight: 600;
}
.tel a {
	font-size: 1.75rem;
}
.border-box.border-box__dashed {
	border: 1px dashed #333;

}
.unei .border-box.border-box__dashed {
	margin: 2rem 0;
}
@media screen and (min-width:58em){
	.tel a {
	color: var(--text-color);
}
	}


/*breadcrumbs*/
#breadcrumbs {
	margin: 1.5rem 5%;
	font-size: .75rem;
}
#breadcrumbs a:after {
	content: "";
	width: .75rem;
	height: .75rem;
	display: inline-block;
	background: url('images/chevron-right.svg') no-repeat left center;
	background-size: cover;
	margin: 0 .25rem;
	position: relative;
	top: 2px;
}
@media screen and (min-width:58em){
	#breadcrumbs {
	margin: 2rem 5% 4rem;
}
	}

@media screen and (min-width:58em){
	.page-title--textonly h1 {
	font-size: 2.625rem;	
	}
	}


/*entry-button*/
.entry-button {
	position: fixed;
	bottom:0;
	left: 0;
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr; 
  gap: 0px 0px;
  background: #fff;
  box-shadow: 0 -8px 8px -8px rgb(70 44 17 / 14%);
  z-index: 101;
}
.entry-button .button {
border-radius: 0;
border: none;
padding: .75rem 0;
max-width: 100%;
}
@media screen and (min-width:58em){
	.entry-button {
		display: none;
	}
	}


/*box--large*/
.box--large {
	padding: 1.75rem var(--box-padding);
	border-radius: 1.5rem;
}
@media screen and (min-width:58em){
	.box--large {
	padding: 3rem;
}
	}


/*flag-hedding*/
.flag-hedding h2,
.has-sholder-hedding h2 {
	margin: 0 0 .5rem;
	font-size: 1.125rem;
}
.flag-hedding p,
.has-sholder-hedding p {
	margin: 0;
	font-weight: 600;
	font-size: .875rem;
}
.flag-hedding {
	padding-left: 3rem;
	margin-bottom: 1rem;
	background: url('images/flag.png') no-repeat left 0;
	background-size: 2rem;
}
.has-sholder-hedding {
margin-bottom: 1rem;	
}
@media screen and (min-width:58em){
	.flag-hedding h2,
	.has-sholder-hedding h2 {
	margin: 0 0 .5rem;
	font-size: 1.625rem;
}
.flag-hedding p,
.has-sholder-hedding p {
	font-size: 1rem;
}
.flag-hedding {
	padding-left: 6rem;
	margin-bottom: 3rem;
	background: url('images/flag.png') no-repeat left 0;
	background-size: 4rem;
}
.has-sholder-hedding {
	margin-bottom: 2rem;	
}
	}
	
/*arrow-hedding*/
.arrow-hedding {
	padding-left: 2rem;
		background: url('images/arrow-right-thick.svg') no-repeat left .25rem;
	background-size: 1.5rem;
}
h3.arrow-hedding {
	background-position-y: 0;
}
@media screen and (min-width:58em){
	h3.arrow-hedding {
	background-position-y: .25rem;
}
}

/*series*/
.series {
position: relative;	
}
.series__illust {
	display: none;
}
.series .card {
	margin-bottom: 2rem;
}
@media screen and (min-width:58em){
	.series .card {
	margin-bottom: 0;
}
	.series__illust {
	display: block;
	position:absolute;
	right: 3rem;
	top: -3rem;
	width: 15rem;
}
.series .card__body {
	padding: 1.5rem;
}
.series .parent {
	gap:2rem;
}
	}


/*single*/
.single__header h1 {
	margin: 0 0 .5rem;
	font-size: 1.375rem;
}
.single__header {
	margin-bottom: 2rem;
}
.single__main {
	margin-bottom: 2rem;
}

.single__header__meta time {
	padding-left: 1.5rem;
    background: url(images/calendar.svg) no-repeat 0 .125rem;
    background-size: auto 1rem;
}
@media screen and (min-width:58em){
.single__main.white-box {
	padding: 3rem 3rem 4rem;
}
.single.parent {
	align-items: flex-start;
}
}

/*single__sidebar*/
.single__sidebar .media {
	margin-bottom: 1rem;
}
.single__sidebar .media img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit:cover;
}
.single__sidebar h3 {
	margin-bottom: 1rem;
}

@media screen and (min-width:58em){
	.single__header h1 {
	margin: 0 0 .5rem;
	font-size: 2.25rem;
}
.single__sidebar h3:first-child {
	margin-top: 0;
}
	}


/*faq*/
.faq-contents h2 {
position: relative;	
font-size: 1.125rem;
padding-left: 3rem;
}

.faq-contents h2:before {
	content: "Q";
	display: block;
	width: 2rem;
	height: 2rem;
	background: var(--land-color);
	border-radius: .5rem;
	line-height: 2rem;
	color: #fff;
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
}
@media screen and (min-width:58em){
.faq-contents h2 {
font-size: 1.625rem;
padding-left: 4rem;
margin-bottom: 2rem;
margin-top: 0;
}
.faq-contents h2:before {
		width: 2.5rem;
	height: 2.5rem;
	line-height: 2.5rem;
	font-size: 1.375rem;
}

	}

/*series-archive__header*/
	.series-archive__header.page-title .box-corner:before {
		content: none;
	}
.series-archive__header__title {
		margin-left: 8%;
	border-radius: 0 0 0 1.5rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .5rem 5% .5rem 0;
}
.series-archive__header__title figure {
	width: 6rem;
}
.series-archive__header__title__body {
	width: calc(100% - 6rem);
	color: #fff;
}
.series-archive__header__title__body p {
	margin: 0;
	font-size: .875rem;
}
.series-archive__header__title__body__sholder {
	color: #fff;
	font-weight: 600;
	line-height:1.4;
}
.series-archive__header__title__body h1 {
	text-shadow: none;
	margin: 0;
	font-size: 1.25rem;
}

.term-camp_kids-camp .series-archive__header__title {
	background: #c16c96;
}
.term-camp_science-camp .series-archive__header__title {
	background: #645295;
}
.term-camp_abarenbo-winter .series-archive__header__title {
	background: #7ba02e;
}
.term-camp_abarenbo-summer .series-archive__header__title {
	background: #da4537;
}
.term-camp_first-step .series-archive__header__title {
	background: #e07d00;
}
.term-project_forest .series-archive__header__title {
	background:#63a74c;
}
.term-project_play-park .series-archive__header__title {
	background: #078cc7;
}
.term-project_ootuki .series-archive__header__title {
	background: #1e6431;
}
.term-project_leader .series-archive__header__title {
	background: #6c6c65;
}

@media not screen and (min-width: 58em) {
	.series-archive__header .box-corner,
	.series-archive__header .box-corner__image {
		border-radius: 1.5rem 0 0 0;
	}
	}
@media screen and (min-width:58em){
	.series-archive__header {
		position: relative;
	}
	.series-archive__header__title {
		border-radius: 1.5rem;
		position: absolute;
		bottom: -2rem;
		left: -2rem;
		width: 28rem;
		padding: 1rem 5% 1rem 0;
	}
}

@media screen and (min-width:82em){
	.series-archive__header__title__body p {
	font-size: 1.125rem;
}
.series-archive__header__title__body h1 {
	margin: .25rem 0;
		font-size: 1.75rem;
}
.series-archive__header__title {
	width: 36rem;
	left: -3%;
	}
.series-archive__header__title {
		padding: 1rem 1.5rem 1rem 0;
}
.series-archive__header__title figure {
	width: 8rem;
}
.series-archive__header__title__body {
	width: calc(100% - 9rem);
}
}


/*series-archive__contents*/
.series-archive__contents h2 {
	margin-top: 0;
}
.series-archive__contents {
	position: relative;	
	z-index: 40;
	padding-bottom: 2rem;
}
.series-archive__illust {
	position: absolute;
	right: 5%;
	top: -4rem;
	width: 4rem;
}
.series-archive__contents__detail section {
	overflow: hidden;
	margin-bottom: 1rem;
}
.series-archive__contents__detail img {
	width: 9rem;
	float: right;
	margin: 0 0 1rem 1rem;
}
.series-archive__contents__detail h3 {
	font-size: 1.125rem;
	margin: 0 0 .75rem;
}
@media screen and (min-width:58em){
	.series-archive__illust {
	right: 5%;
	top: -9rem;
	width: 6rem;
}
.series-archive__contents__detail h3 {
	font-size: 1.25rem;
	margin: 0 0 1.25rem;
}
}
@media screen and (min-width:82em){
		.series-archive__illust {
	top: -12rem;
}
.series-archive__contents__detail img {
	width: 14rem;
	margin: 0 0 1.5rem 1.5rem;
}
/*.series-archive__contents__detail p {
	overflow: hidden;
}*/
	}


/* ======== form ======= */

.input-inn>label {
	display:block;
	margin-bottom:.5rem;
	font-weight: 600;
}

.input-inn {
	margin-top:1rem;
}
.form-class .input-inn {
	margin-top:2rem;
}
.input-inn .attention {
	margin: 0 0 .25rem;
	font-size: .75rem;
}
.submit-inn {
	display: -webkit-flex;
display: flex;
-webkit-justify-content:center;
justify-content:center;
	margin:3rem 0 5rem;
}
.form-wrap input[type="text"],
.form-wrap input[type="number"], 
.form-wrap input[type="email"], 
.form-wrap textarea,
.form-wrap input[type="tel"],
.form-wrap input[type="url"] {
    -webkit-appearance: none;
 border: var(--border-dark-color) solid 1px;
    width: 100%;
    box-sizing: border-box;
    padding: .625rem;
    font-size: 16px;
    margin-bottom: .5rem;
	border: 1px solid var(--border-dark-color);
	box-shadow:inset 2px 2px 2px rgba(224,224,224,.2);
 border-radius: .25rem;
}

.form-wrap input[type="tel"] {
	max-width: 14rem;
}

.input-inn .wpcf7-list-item {
	margin-left: 0;
}

.form-wrap input[type="date"] {
	 -webkit-appearance: none;
    border: var(--border-dark-color) solid 1px;
    box-sizing: border-box;
    padding: .625rem;
    font-size: 16px;
    margin-bottom: .5rem;
	box-shadow:inset 2px 2px 2px rgba(200,200,200,.2);
 border-radius: .25rem;
	font-weight: normal;
	min-width: 14rem;
	min-height: 1.5rem;
	background: #fff;
	color: #333;
	display: inline-block;
	min-height: 1rem;
	-webkit-appearance: none;
	-webkit-min-logical-height:1rem;
}
input::-webkit-date-and-time-value {
  height: 1rem;
}

.form-wrap input.wpcf7-not-valid,
.form-wrap textarea.wpcf7-not-valid,
.form-wrap select.wpcf7-not-valid {
	border-color:var(--main-color);
}

.form-wrap .unit {
	display: inline-block;
	margin: 0 .5rem;
}
.form-wrap .address .unit {
	margin-left: 0;
}


.form-wrap .date span.wpcf7-not-valid-tip {
	margin-left: .5rem;
}
.form-wrap select {
  -moz-appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  display: inline-block;
 padding: .75rem 1.5rem .75rem .75rem;
font-size: 16px;
border: var(--border-dark-color) solid 1px;
  background: #fff url(images/chevron-down.svg) center center no-repeat;
  background-position: right .5rem center;
  background-size: .75rem;
  color: #333;
  box-shadow: 2px 2px 2px rgba(200,200,200,.2);
  margin-bottom: .5rem;
  width: 100%;
  border-radius: .25rem;
}


.form-wrap select:focus {
	outline:none;
}

.form-wrap fieldset {
	background: #fff;
	padding: 1rem;
	margin-bottom: 3rem;
	border-radius: 1rem;
	position: static;
	border: 1px solid #dae6d5;
}

.form-wrap legend {
	display: table;
    float: left;
    margin: 0 0 2rem;
    padding: 0;
    width: 100%;
	font-size: 1.125rem;
	font-weight: 600;
}

.required {
/*    background: var(--alert-color);*/
    color: var(--main-color);
    display: inline-block;
    margin-left: .5rem;
    padding: .25rem .5rem;
    font-size: .75rem;
    line-height: 1;
    font-weight: bold;
	border-radius: .125rem;
	border: 1px solid var(--main-color);
}
.optional {
/*    background: #dcdee0;*/
	border: 1px solid #85B265;
	color: #85B265;
    display: inline-block;
    margin-left: .5rem;
    padding: .25rem .5rem;
    font-size: .75rem;
    line-height: 1;
    font-weight: bold;
	border-radius: .125rem;
}

.input-inn__check label {
    font-weight: normal;
    display: block;
    border: 1px solid var(--border-dark-color);
    padding: 0.5rem;
	height: 100%;
	border-radius: .125rem;
}

.input-inn__check .wpcf7-not-valid label {
 border-color: #dc3232;	
}


.input-inn__check.class-level .wpcf7-checkbox {
		display: grid;
	 grid-template-columns: 1fr 1fr 1fr; 
  gap: .5rem;
}


input::placeholder {
  color: #999;
  
}


.form-wrap input[type="text"]:focus,
.form-wrap input[type="number"]:focus,
 .form-wrap input[type="email"]:focus,
 .form-wrap input[type="tel"]:focus,
 .form-wrap input[type="url"]:focus,
 .form-wrap textarea:focus,
 .form-wrap input[type="date"]:focus {
    outline: none;
/* border-color: var(--land-color);*/

}

input.short,
.form-wrap select[name="grade"],
.form-wrap select[name="blood"] {
	max-width:10rem;
}
.form-wrap input[name="birth-year"],
.form-wrap .nocturia input[type="number"] {
	width: 5rem;
}

.form-wrap input[type="button"],.form-wrap input[type="submit"] {
    -webkit-appearance: none;
	border-radius: none;
  }

.form-wrap .mwform-tel-field input[type="text"],
.form-wrap .mwform-zip-field input[type="text"] {
    display: inline-block;
    width: auto;
}

input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px #fff inset;
}

.mwform-zip-field input {
	margin: 0 .25rem;
}

.form-wrap input[type="submit"]:focus {
	outline: none;
}

.input-check {
	text-align: center;
}
.input-check label {
	border: #ddd solid 1px;
	padding: .75rem 2rem;
	display: inline-block;
	border-radius: .25rem;
	background: #f8f8f8;
}
.mw_wp_form .error {
	margin: .365rem 0 0;
}

.confirm .confirm-invisible {
	display: none;
}

.wpcf7-radio {
	margin-top: 1rem;
	display: block;
	border: 1px solid var(--border-dark-color);
	background: #fff;
border-radius: 0.25rem;
margin-bottom: 2rem;
}
.wpcf7-radio.horizontal {
	display: flex;
		margin-bottom: 1.5rem;
	text-align: justify;
	flex-direction: column;
}
.wpcf7-radio label {
	border-bottom: 1px solid var(--border-dark-color);
	padding: .5rem .75rem;
display: block;
}

.wpcf7-radio .last label {
	border: none;
}

.wpcf7-radio .wpcf7-list-item.last label {
	margin-right: 0;
}
.wpcf7-radio label input[type="radio"],
.input-inn__check label input[type="checkbox"] {
	margin: 0 .25rem 0 0;
}
.input-inn--sub,
.input-inn__check {
	margin: 1rem 0;
}
.input-inn--sub label {
		display:block;
	margin-bottom:.5rem;
}

.class-select {
    display: flex;
    justify-content: space-between;
    margin: 1.5rem 0;
}

.secList {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem;
    text-decoration: none;
    border: solid 1px var(--border-dark-color);
    border-radius: 3px;
    width:calc(33.33333333% - .375rem);
    box-sizing: border-box;
    text-align: center;
	line-height: 1.4;
}

.class-select--child2 .secList {
 width:calc(50% - .25rem);	
}

/*.secList.active, .secList:hover {
    background: var(--main-light-color);
}*/

.form-wrap__horizontal {
	display: flex;
	align-items: center;
}
.form-wrap .birthday span {
	display: inline-block;
	margin: 0 .125rem;
}
.form-wrap textarea.scroll-field {
	padding-top: .5rem;
	padding-bottom: .5rem;
 height: 2.75rem;
    resize: none;	
}

/*input-inn__sub*/
.input-inn__sub label {
	display: block;
}
.input-inn__sub {
	background: /*#f9f6f2*/#f6f7f3;
	padding: 1rem;
	border-radius: 1rem;
	margin-bottom: 1.5rem;
	margin-top: 1rem;
}
.input-inn__sub p {
	margin-top: 0;
	margin-bottom: .5rem;
}
.wpcf7-list-item {
	margin: 0 !important;
}

@media screen and (min-width:58em){
	.input-inn__check label {
		  padding: 0.75rem;
		  height: auto;
		      margin-bottom: 0.5rem;
		}
.form-wrap fieldset {
	padding: 2rem;
}
.form-wrap legend {
	font-size: 1.25rem;
	}
.form-wrap select {
 padding: .875rem 3rem .875rem .875rem;
  background: #fff url(images/chevron-down.svg) center center no-repeat;
  background-position: right 1rem center;
  background-size: 1rem;
}
.form-wrap input[name="birth-year"] {
	width: 7rem;
}
.wpcf7-radio.horizontal {
	display: flex;
	max-width: 24rem;
		margin-bottom: 1.5rem;
	text-align: justify;
	flex-direction:row;
}
.wpcf7-radio.horizontal label {
	border-bottom: none;
}
.wpcf7-radio.horizontal .wpcf7-list-item {
flex-grow: 1;
}
.wpcf7-radio.horizontal .wpcf7-list-item + .wpcf7-list-item {
border-left: 1px solid var(--border-dark-color);	
}
}


@media screen and (min-width:82em){
	.form-wrap input[type="text"],
	.form-wrap input[type="number"],
	.form-wrap input[type="email"],
	.form-wrap textarea,
	.form-wrap input[type="tel"],
	.form-wrap input[type="url"] {
    padding: 1rem;
	}
.wpcf7-radio label {
padding: .75rem 1.25rem;
/*margin-right: 1rem;*/
}
.secList {
	  padding: 0.5rem 0.75rem;
	}
.class-select--child2 .secList {
 width:calc(50% - .5rem);	
}	
.form-wrap textarea.scroll-field {
		padding-top: .75rem;
	padding-bottom: .75rem;
 height: 3rem;	
}
.form-wrap fieldset,
.input-inn__sub {
	padding: 1.5rem;
	}
}


/* contact form 7 */

.wpcf7-not-valid-tip {
	color: var(--main-color) !important;
}
#form-wrap input.wpcf7-not-valid, 
#form-wrap textarea.wpcf7-not-valid {
    border-color:var(--main-color) !important;
}

.page-section .wpcf7 form .wpcf7-response-output {
	border: none;
	    display: block;
    padding: 1rem;
    margin: 0 0 1.5rem !important;
}

.page-section .wpcf7 form.failed .wpcf7-response-output,
.page-section .wpcf7 form.aborted .wpcf7-response-output,
.page-section .wpcf7 form.spam .wpcf7-response-output,
.page-section .wpcf7 form.invalid .wpcf7-response-output,
.page-section .wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.sent .wpcf7-response-output {
	background: #ffe4e2;
}

.form-wrap .wpcf7-list-item {
	display: block;
}

.allergy-list .wpcf7-list-item label {
	display: flex;
	align-items: flex-start;
}
.allergy-list .wpcf7-list-item label .wpcf7-list-item-label {
	width: calc(100% - 1.5rem);
}
.wpcf7-list-item label input[type="checkbox"] {
margin-right: .5rem;
margin-top: .5rem;
}

/*flow*/
.flow {
	margin: 0 auto;
	position: relative;
}

.flow:before {
	content: "";
	position: absolute;
	height: calc(100% - 2rem);
	width: 1px;
	left: 1.875rem;
	top: 12px;
	background: var(--land-color);
	z-index: -1;
}

.flow .flow__item {
	position: relative;
	padding-left: 5rem;
}

.flow__year {
	color: #fff;
	position: absolute;
	font-weight: 600;
	font-size: .875rem;
	overflow-wrap: anywhere;
	text-align: center;
	line-height: 1;
	left: 0;
	top: 0;
	width: 3.75rem;
	height: 3.75rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background:var(--land-color);
/*	border: 1px solid #f59296;*/
	border-radius: 50%;
	margin-top: .5rem;
}
.flow__item__body {
	padding: .75rem 0 1rem;
}
.flow__item__body h3 {
	margin: 0 0 .75rem;
}
.flow__item__body p {
	font-size: .875rem;
}
@media screen and (min-width:58em){
	.flow__year {
		font-size: 1.125rem;
			width: 5rem;
	height: 5rem;
		}
	.flow .flow__item {
	padding-left: 7rem;
}
.flow__item__body h3 {
	font-size: 1.375rem;
}
.flow:before {
	left: 2.5rem;
	}
.flow__item__body {
	padding: .75rem 0 2rem;
}
.flow__item__body p {
	font-size: 1rem;
}
	}


/*single__contents*/
.single__contents .wp-block-image {
	margin-top: 1.5rem;
	margin-bottom: 1.5rem;
}

.single__contents h2 {
  border-bottom: solid 1px var(--text-color);
  position: relative;
  padding-bottom: .75rem;
}

.single__contents h2:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 1px var(--land-color);
  bottom: -1px;
  width: 30%;
}

.single__contents h3 {
  background: #F0F3DB;
  box-shadow: 0px 0px 0px 5px #F0F3DB;
  border: dashed 2px white;
  padding: 0.2em 0.5em;
}
.single__contents ul,
.single__contents ol,
.single__contents table {
margin-top: 1rem;
margin-bottom: 1rem;
}


@media screen and (min-width:58em){
	.single__contents h2 {
font-size: 1.75rem;
}
.single__contents h3 {
font-size: 1.5rem;	
}

	}


/*qualification*/
.qualification h4 {
	font-size: 1.125rem;
}

/*column-two*/
@media screen and (min-width:58em){
.column-two {
	column-count: 2;
  column-gap: 2rem;
}
}

/*icon*/
.icon-school {
	padding-left: 2.5rem;
	background:url('images/school.svg') no-repeat left 0;
	background-size: 1.5rem;
}



/* ======== show-hide ====== */
.input-inn>label.show-hide-toggle {
display: inline;
}

.show-hide-contents {
    display:none;
}


/*クリックで中身表示*/
input.show-hide:checked ~ .show-hide-contents {
    display:block;
}

/*notice*/
.notice {
	background: #ffe8e7;
	padding: 1.5rem;
	border-radius: 1rem;
}

/*disclaimer*/
.disclaimer h4 {
font-size: 1.125rem;	
}
.disclaimer .disc {
	margin-bottom: 1rem;
}
.disclaimer .wpcf7-checkbox {
	height:1rem;
	overflow: hidden;
}
.disclaimer .optional {
border: none;
padding: 0;
color: var(--text-color);
font-size: 1rem;
font-weight: normal;
}
.disclaimer .wpcf7-list-item {
margin: 0;	
}

/*wave-inner*/
.wave-inner :first-child {
	margin-top: 0;
}
.wave-inner {
	padding-bottom: 2rem;
	padding-top: 1rem;
}

/*gallery*/
.photo-gallery>div {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-gap: .5rem;	
}
.photo-gallery .wp-block-image:not(.is-style-rounded) img {
	border-radius: .5rem;
}
.photo-gallery .wp-block-image {
	margin: 0;
}

.photo-gallery--2line>div {
   grid-template-columns: 1fr 1fr;	
 }
@media screen and (min-width:58em){
	.photo-gallery>div {
  grid-gap: 1rem;	
}
	}




/*concept*/
@media screen and (min-width:782px){
.concept.wp-container-11,
.wp-block-columns.cap3 {
gap:3rem;
}
}
@media screen and (max-width:782px){
.wp-block-columns.column-reverse {
	flex-direction: column-reverse;
}

}

/*three-way*/
.three-way__item>div {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.three-way {
border-bottom: 1px dashed #97918c;	
}
.three-way__item {
	border-top: 1px dashed #97918c;
	padding: 1rem 0;
}
.three-way__item figure.wp-block-image {
	width: 3rem;
	margin: 0;
}
.three-way__item__body {
	width: calc(100% - 4rem);
}
.three-way__item__body h3 {
	margin: 0;
}
.three-way__item__body p {
	margin: 0;
	font-weight: 600;
	font-size: .875rem;
}
.three-way__item__body h3 a {
	padding-right: 1.5rem;
    background: url(images/more.svg) no-repeat right center;
    background-size: 1rem;
	display: inline-block;
}
@media screen and (min-width:58em){
	.three-way__item__body h3 {
	font-size: 1.25rem;
}
.three-way__item__body p {
	font-size: 1rem;
}
	}

/*about__button*/
.about__button {
	position: relative;
	z-index: 50;
}

/*float-image*/

.float-image.wp-block-image .alignright {
	width: 10rem;
	margin: 0 0 1rem 1rem;
	border-radius: .5rem;
}
@media screen and (min-width:58em){
	.float-image.wp-block-image .alignright {
	width: 20rem;
	margin: 0 0 2rem 2rem;
}
.float-hidden {
	overflow: hidden;
}
	}


/*attention-list*/
ul.attention-list {
	list-style-type: none;
	padding-left: 0;
}
ul.attention-list li {
font-size: .875rem;
padding-left: 1.125rem;
position: relative;
}
ul.attention-list li:before {
	content:"※";
	position: absolute;
	left: 0;
	top: 0;
}

ol.attention-list li {
	list-style-type: none;
	counter-increment: cnt;
	font-size: .875rem;
}
 
ol.attention-list li::before {
	content: "※"counter(cnt);
	display: inline-block;
	margin-right: .5rem;
}


/*proposal*/
.proposal .sholder {
	margin-bottom: .5rem;
}
.proposal {
	margin-bottom: 5rem;
}
@media screen and (min-width:58em){
/*	.proposal {
	margin-bottom: ;
}*/
.proposal .sholder {
	font-size: 1.375rem;
	margin-bottom: 1rem;
}
	}

/*conclusion*/
.conclusion {
	text-align: center;
	font-weight: bold;
	position: relative;
	padding: 1rem;
}
.conclusion:before {
	background: url('images/flame.svg') no-repeat left top;
	content: "";
	background-size: cover;
	width: 3rem;
	height: 2rem;
	display:block;
	position: absolute;
	left: 0;
	top: 0;
}
.conclusion:after {
	background: url('images/flame-bottom.svg') no-repeat left top;
	content: "";
	background-size: cover;
	width: 3rem;
	height: 2rem;
	display:block;
	position: absolute;
	right: 0;
	bottom: 0;
}
@media screen and (min-width:58em){
	.conclusion {
		font-size: 2rem;
		margin-top: 4rem;
	}
.conclusion:before,
.conclusion:after {
	width: 5rem;
	height: 3rem;
}
	}

/*three-photo*/
.three-photo>div {
	display: flex;
	justify-content: center;
}
.three-photo figure {
	margin-bottom: 0;
}
.three-photo figure:last-of-type {
	display: none;
}
@media screen and (min-width:58em){
	.three-photo figure:last-of-type {
	display: block;
}
.three-photo figure {
	width: 33.33333333%;
}
.three-photo figure img {
	width: 100%;
}
	}

/*ziguzagu*/
h2.ziguzagu {
	font-size: 1.125rem;
	margin-bottom: 1.5rem;
}
h2.ziguzagu span {
	display: inline-block;
	padding-bottom: .75rem;
	background: url('images/ziguzagu.png') repeat-x bottom center;
	background-size: auto .375rem;
}
@media screen and (min-width:58em){
	h2.ziguzagu {
	font-size: 1.375rem;
	margin-bottom: 2rem;
}
	h2.ziguzagu span {
		padding-bottom: 1rem;
	background: url('images/ziguzagu.png') repeat-x bottom center;
	background-size: auto .375rem;
	margin-bottom: 0;
		}
	}

/*gallery*/
body .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	position: static;
	background: none;
	color: var(--text-color);
	margin-top: .875rem;
	line-height: 1.3;
}
body .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img {
border-radius: .5rem;
}
@media screen and (min-width:58em){
	body .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	font-size: .875rem;
}
	}

/*check-list*/
.check-list li {
	padding-left: 1.5rem;
	background: url('images/checkbox-checked.svg') no-repeat 0 .25rem;
	background-size: 1rem;
	margin-bottom: .375rem;
}
@media screen and (min-width:58em){
	.check-list li {
	padding-left: 2.5rem;
	font-size: 1.125rem;
	background: url('images/checkbox-checked.svg') no-repeat 0 .25rem;
	background-size: 1.25rem;
	margin-bottom: .5rem;
}
	}


/*check-hedding*/
.check-hedding {
padding-left: 1.5rem;
	background: url('images/checkbox-checked-green.svg') no-repeat 0 .375rem;
	background-size: 1rem;
}
@media screen and (min-width:58em){
.check-hedding {
padding-left: 2.5rem;
	background: url('images/checkbox-checked-green.svg') no-repeat 0 .5rem;
	background-size: 1.5rem;
}
}

/*step*/
.step li {
border-bottom: 1px solid var(--border-color);
margin-bottom: 1.5rem;
padding-bottom: 1.5rem;
  position: relative;
  padding-left: 2.5rem;
}
.step li strong {
	font-size: 1.125rem;
}
.step {
  counter-reset:num;
}

.step li:before {
  position: absolute;
  counter-increment: num;
  content: counter(num);
  display:inline-block;
  background: var(--text-color);
  color: #FFF;
  font-weight:bold;
  border-radius: 50%;
  left: 0;
  top: .5rem;
  width: 1.5rem;
  height: 1.5rem;
  line-height: 1.5rem;
  text-align: center;
}

@media screen and (min-width:58em){
	.step li strong {
	font-size: 1.25rem;
}
	}


/*sholder-badge*/
.sholder-badge {
	border:1px solid var(--border-color);
	line-height: 1;
	padding: .5rem .5rem;
	margin: 0 0 .875rem;
	display: inline-block;
	font-weight: 600;
	border-radius: .25rem;
}

/*voice*/
.voice__item {
	background: #fff;
	padding: var(--box-padding);
	margin-bottom: 1.5rem;
border-radius: 0.5rem;
}

.voice .voice__wrap figure {
	width: 6rem;
	margin-left: auto;
	margin-right: auto;
}
.voice .voice__wrap figure img {
	border-radius: 50%;
}

.voice header h3 {
	font-size: 1.125rem;
	margin: 0;
}
.voice header p {
	margin: 0;
}
@media screen and (min-width:58em){
	.voice .voice__wrap>div {
	display: flex;
	justify-content: space-between;
}
.voice .voice__contents {
	width: calc(100% - 8rem);
}
.voice .voice__wrap figure {
	margin: 0;
}
}

/*ex-list*/
.ex-list {
	margin: 0;
}
@media screen and (min-width:58em){
	.ex-list {
	display: grid;
  grid-template-columns:1fr 1fr 1fr 1fr 1fr;
  grid-gap: .25rem 1rem;
/*		margin: 2rem 0;	*/
	}
	}

ul.single__sidebar__info-list {
	list-style-type:disc;
	padding-left: 1.5rem;
}