@charset "UTF-8";

/* reset ---------------------------------------*/

div,dl,dt,dd,ul,ol,
li,h1,h2,h3,h4,h5,
h6,pre,code,form,fieldset,legend,
input,textarea,p,blockquote,
th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;word-break: break-all;font-size:inherit;width:100%;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q::before,q::after{content:'';}
abbr{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}
legend{color:#000;}
select,input,button,textarea{font-size:inherit;font-family:inherit;box-sizing: border-box;}
pre,code,kbd,samp{font-family:monospace;*font-size:108%;line-height:100%;}
figure{padding:0;margin:0;}
input[type="submit"],
input[type="button"],
button {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
button::-webkit-search-decoration {display: none;}
input[type="submit"]::focus,
input[type="button"]::focus,
button::focus {outline-offset: -2px;}


/* base ---------------------------------------*/

*{box-sizing:border-box;}

html,body{height:100%;}

body{
	-webkit-text-size-adjust: 100%;
	padding:0;
	margin: 0;
	background: url('../img/common/bg.png') repeat;
	font-family: "Zen Maru Gothic", sans-serif;
	font-feature-settings: "palt" 1;
	-webkit-font-feature-settings: "palt" 1;
	color:#222;
	font-weight: 500;
	letter-spacing: 0.15em;
}

a{
	text-decoration: none;
	color:#000;
	transition: all .25s ease;
}

a:hover{transition: all .25s ease;}

img{
	vertical-align: bottom;
	line-height: 1;
	max-width:100%;
	height:auto;
}


/* common item ---------------------------------------*/

.clearfix::after,
.inner::after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.ov-h{overflow: hidden;}

/* animation ---------------------------------------*/

.animation{
	transition: all 1.0s ease;
	transform:translate(0,20px);
	opacity:0;
}

.animation.on{
	transform:translate(0,0px);
	opacity:1;
}


/* layout ---------------------------------------*/

.wrapper{
	padding: 0 50px 30vw;
}

.inner{
	max-width:1380px;
	margin:0 auto;
}

.section{
	margin-bottom: 50px;
}

.overlay{display: none;}


/* header ---------------------------------------*/

header{
	position:fixed;
	top:40px;
	left:0;
	width:100%;
	z-index:100;
	height:180px;
	padding:0 5vw 0 3vw;
}

.header-inner{
	height:100%;
	margin:0 auto;
	position:relative;
}

.header-logo{
	position: absolute;
	left:0;
	top:0;
}

header.is-terapoke,
header.is-copain {
	height: 110px;
	padding: 0 80px;
}

header.is-terapoke .header-inner,
header.is-copain .header-inner {
	background: #fff;
	border-radius: 100px;
	max-width:1700px;
	margin:0 auto;
}

header.is-terapoke .header-logo,
header.is-copain .header-logo {
    left: 49px;
    top: 50%;
	transform: translateY(-50%);
}

.is-connect .header-inner{
	max-width:1700px;
	margin:0 auto;
	background: #fff;
	border-radius: 60px;
	height:110px;
}

.is-connect .header-logo{
	left:40px;
	top:50%;
	transform: translate(0,-50%);
}

/* gnav ---------------------------------------*/

.gnav{
	background: #fff;
	position:absolute;
	right:30px;
	top: 0;
	max-width: calc(100% - 250px);
	border-radius: 60px;
	height:110px;
	padding:0 40px;
	display: flex;
	align-items: center;
}

.gnav-list{
	width:100%;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2.2vw;
	letter-spacing: 0.15em;
}

.gnav-list > li{
	font-size: 16px;
	font-weight: 700;
}

.gnav-list > li a{
	display: block;
}

.gnav-list > li a:hover{
	opacity: 0.7;
}

header.is-terapoke .gnav {
	background: none;
	max-width: calc(100% - 320px);
	padding-right: 120px;
}

header.is-copain .gnav {
	background: none;
	max-width: calc(100% - 280px);
	padding-right: 74px;
}

header.is-terapoke .gnav-list,
header.is-copain .gnav-list {
    gap: 50px;
}

.is-connect .gnav{
	background: none;
}

#openmenu{display:none;}


/* fixedcta ---------------------------------------*/

.fixedcta{
	position:fixed;
	top:50%;
	right:0;
	transform: translateY(-50%);
	z-index:100;
}

.fixedcta-list{
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.fixedcta-list > li{}

.fixedcta-list > li a {
	display: block;
	width:54px;
	height:168px;
	transition: all .25s ease;
}

.fixedcta-list > li a:hover{
	opacity: 0.7;
}


/* footer ---------------------------------------*/

footer{
	position: relative;
	padding:45px 50px 50px 50px;
	z-index: 2;
}

footer::after{
	display:block;
	content:'';
	background:url('../img/common/footer_bg.png') no-repeat center top;
	background-size:100%;
	width:100%;
	height:25vw;
	position:absolute;
	left:0;
	top:-25vw;
	z-index:2;
}

footer::before{
	display:block;
	content:'';
	background: #fff;
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	z-index:2;
}

.footer-shape-wrapper{
	height:26vw;
	width:100%;
	overflow: hidden;
	position: absolute;
	left:0;
	top:-26vw;
}

.footer-shape{
	position: absolute;
}

.footer-shape.shape-01{
	left: 0vw;
	top: 5vw;
	width: 57vw;
	height:30vw;
}

.footer-shape.shape-02{
	left: 0vw;
	top: 13vw;
	width: 50vw;
	height:25vw;
	z-index:2
}

.footer-shape.shape-03{
	right: -5vw;
	top: 5vw;
	width: 75vw;
	height:28vw
}

.footer-shape.shape-04{
	right: 0vw;
	top: 5vw;
	width: 60vw;
	height:35.5vw;
}

.footer-inner{
	max-width:1360px;
	margin:0 auto;
	position:relative;
	z-index:2;
}

.footer-logo{
	display: block;
	margin-bottom: 20px;
}

.footer-content{
	display: flex;
	justify-content: space-between;
	gap: 50px;
}

.footer-company{
	width:350px;
}

.footer-company-title{
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 10px;
	font-weight: 500;
}

.footer-company-text{
	font-size: 12px;
	line-height: 1.8;
	margin-bottom: 20px;
	letter-spacing: 0.05em;
}

.copyright{
	display: block;
	font-size: 10px;
	letter-spacing: 0.1em;
}

.footer-nav{
	width:660px;
}

.footer-nav-list{
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin-bottom: 20px;
}

.footer-nav-list > li{
	font-size: 14px;
}

.footer-nav-list > li a{
	display: block;
	position: relative;
	padding:2px 0 2px 20px;
}

.footer-nav-list > li a::before{
	display:block;
	content:'';
	background:url('../img/common/icon_arrow.svg') no-repeat left top;
	background-size:100%;
	width:6px;
	height:10px;
	position:absolute;
	left:0;
	top:55%;
	transform:translate(0,-50%);
}

.footer-nav-list > li a:hover{text-decoration: underline;}

.footer-service-list{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 30px;
}

.footer-service-list > li a{
	display: block;
}

.footer-service-list > li a:hover{opacity: 0.7;}



/* margin ---------------------------------------*/

.mt-0{margin-top:0px !important;}
.mt-5{margin-top:5px !important;}
.mt-10{margin-top:10px !important;}
.mt-15{margin-top:15px !important;}
.mt-20{margin-top:20px !important;}
.mt-25{margin-top:25px !important;}
.mt-30{margin-top:30px !important;}
.mt-35{margin-top:35px !important;}
.mt-40{margin-top:40px !important;}
.mt-45{margin-top:45px !important;}
.mt-50{margin-top:50px !important;}
.mt-55{margin-top:55px !important;}
.mt-60{margin-top:60px !important;}
.mt-65{margin-top:65px !important;}
.mt-70{margin-top:70px !important;}
.mt-75{margin-top:75px !important;}
.mt-80{margin-top:80px !important;}
.mt-85{margin-top:85px !important;}
.mt-90{margin-top:90px !important;}
.mt-95{margin-top:95px !important;}
.mt-100{margin-top:100px !important;}

.mb-0{margin-bottom:0px !important;}
.mb-5{margin-bottom:5px !important;}
.mb-10{margin-bottom:10px !important;}
.mb-15{margin-bottom:15px !important;}
.mb-20{margin-bottom:20px !important;}
.mb-25{margin-bottom:25px !important;}
.mb-30{margin-bottom:30px !important;}
.mb-35{margin-bottom:35px !important;}
.mb-40{margin-bottom:40px !important;}
.mb-45{margin-bottom:45px !important;}
.mb-50{margin-bottom:50px !important;}
.mb-55{margin-bottom:55px !important;}
.mb-60{margin-bottom:60px !important;}
.mb-65{margin-bottom:65px !important;}
.mb-70{margin-bottom:70px !important;}
.mb-75{margin-bottom:75px !important;}
.mb-80{margin-bottom:80px !important;}
.mb-85{margin-bottom:85px !important;}
.mb-90{margin-bottom:90px !important;}
.mb-95{margin-bottom:95px !important;}
.mb-100{margin-bottom:100px !important;}
.mb-110{margin-bottom:110px !important;}
.mb-120{margin-bottom:120px !important;}
.mb-130{margin-bottom:130px !important;}
.mb-140{margin-bottom:140px !important;}



/* title ---------------------------------------*/

.title-page{
}

.title-section{
	font-weight:600;
	font-size: 32px;
	line-height: 1.3;
	letter-spacing: 0.17em;
	margin-bottom: 1em;
}

.title-section-line{
	position: relative;
	display: inline-block;
	margin-bottom: 30px;
}

.title-section-line:last-of-type {
	margin-bottom: 0;
}

.title-section-line::after{
	display:block;
	content:'';
	background:#ccc;
	border-radius: 10px;
	width:100%;
	height:10px;
	position:absolute;
	left: 0;
	bottom: 1px;
	opacity:0.4;
}

.title-section.is-orange .title-section-line::after{
	background:#E0994B;
}

.title-section.is-green .title-section-line::after{
	background:#6ABBB4;
}

.title-section.is-blue .title-section-line::after{
	background:#6CA2C4;
}

.title-section.is-pink .title-section-line::after{
	background:#DE5D86;
	opacity:0.3;
}

.title-section span{
	display: inline-block;
	position: relative;
	padding-left: 0.5em;
	padding-right: 0.5em;
	z-index: 2;
}

.title-section span{

}

.title-block{
}

.title-paragraph{
}

.title-small{
}


/* text ---------------------------------------*/

.text-center{text-align: center !important;}
.text-right{text-align: right !important;}
.text-left{text-align: left !important;}

.text-bold{font-weight:600;}

.text-red{color: #AA2929 !important;}


.text-ellipsis-2{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.text-ellipsis-3{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.text-ellipsis-4{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

@media all and (-ms-high-contrast:none){
	.text-ellipsis-2 { height: 3.2em; } /* IE10〜Edge */
	.text-ellipsis-3 { height: 4.7em; } /* IE10〜Edge */
}

.text-ellipsis-count::after{content: '…';}

.text-link{text-decoration: underline;}
.text-link:hover{text-decoration: none;}


/* pankuzu ---------------------------------------*/

.pankuzu{
	border-bottom:1px solid #ddd;
}

.pankuzu-list{}
.pankuzu-list > li{
	display: inline-block;
	font-size:13px;
}

.pankuzu-list > li a,
.pankuzu-list > li span{
	display: block;
	padding: 0px 30px 0px 10px;
	line-height: 40px;
	position: relative;
}

.pankuzu-list > li a{text-decoration:none;}

.pankuzu-list > li a::after{
	display:block;
	content:'';
	width:25px;
	height:25px;
	border-top:1px solid #ddd;
	border-right:1px solid #ddd;
	transform: rotate(45deg) translate(0,-50%);
	position:absolute;
	right:10px;
	top:45%;
}

.pankuzu-list > li span{}


/* about ---------------------------------------*/

.about{padding-top: 50px;}

.about-content{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.about-content-table{
	width:47%;
}

.about-content-table table{margin-bottom: 40px;}

.about-content-table th,
.about-content-table td{
	padding:10px 0;
	font-size: 16px;
	line-height: 2;
}

.about-content-table th{
	font-weight: bold;
	width:150px;
	letter-spacing: 0.1em;
	vertical-align: top;
}

.about-content-table td{}

.about-content-table td small{
	font-size: 13px;
	display: block;
}

.about-content-map{width:48%;}

.about-content-map iframe{
	height:640px;
	width:100%;
}

.about-content-button {
	padding-top: 50px;
	position: relative;
}

.about-content-button::before{
	display:block;
	content:'';
	background:#C4C4C4;
	width:100%;
	height:2px;
	position:absolute;
	left:0;
	top:-2px
}

.about-content-button::after{
	display:block;
	content:'';
	background:#CE6713;
	width:150px;
	height:2px;
	position:absolute;
	left:0;
	top:-2px
}


/* btn ---------------------------------------*/

.btn{
	display: inline-block;
	min-width: 300px;
	padding: 27px 50px 27px 45px;
	border-radius: 40px;
	background-color: #fff;
	line-height: 1.1;
	letter-spacing: normal;
	text-align: left;
	color: #000;
	font-size: 18px;
	font-weight:600;
	cursor: pointer;
	position: relative;
	letter-spacing: 0.15em;
	transition: all .25s ease;
}

.btn:hover{
	background-color:#f1f1f1;
	opacity: 1;
}

/* .btn:after{
	display:block;
	content:'';
	background:url('../img/common/icon_arrow.svg') no-repeat left top;
	background-size:100%;
	width:10px;
	height:20px;
	position:absolute;
	right:40px;
	top:50%;
	transform:translate(0,-50%);
} */

.btn:after{
	content: '';
	transform: translate(0, -50%);
	-webkit-mask-image: url(../img/common/icon_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url(../img/terapoke/icon_anker_arrow.svg);
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
	display: inline-block;
	vertical-align: middle;
	width: 11px;
	height: 18px;
	background: #000;
	position: absolute;
	right: 43px;
	top: 50%;
	transition: all 0.3s ease;
}

/* table ---------------------------------------*/



/* modal ---------------------------------------*/

.modal-wrapper{display: none;}

.modal{background: #fff;}

.modal-inner{
	width: 100%;
	padding: 30px;
	background: #fff;
}

.modal-inner-manual{
	text-align: center;
}

.modal-inner-manual iframe{
	width: 600px;
	height: 500px
}

.modal-inner-close{
	position:absolute;
	right: 10px;
	top: 10px;
}


/* pager ---------------------------------------*/

.pager{}

.pager-list{
	overflow:hidden;
	text-align:center;
	padding:20px 0;
	font-size:0px;
}

.pager-list li{
	display:inline-block;
	margin:0 7px;
	font-size:18px;
}

.pager-list li a,
.pager-list li span{
	display:block;
	border:1px solid #3699E6;
	height:30px;
	width:30px;
	line-height:30px;
	text-align:center;
	color:#3699E6;
	transition: all .25s ease;
}

.pager-list li a:hover,
.pager-list li span{
	background-color:#3699E6;
	color:#fff;
	text-decoration:none;
}

.pager-list li.pagerPrev a,
.pager-list li.pagerNext a{
	width:50px;
	background-color:#3699E6;
	color:#fff;
	font-weight:bold;
}


/* form ---------------------------------------*/

.form{
	max-width:1000px;
	margin:0 auto;
}

.form-table{
	width:100%;
}

.form-table th{
	padding:30px 0;
	font-size: 16px;
	border-bottom:1px solid #CBCBCB;
	font-weight: bold;
	vertical-align: top;
	width:320px;
}

.form-table td{
	padding:30px 0;
	font-size: 16px;
	border-bottom:1px solid #CBCBCB;
}

.form-text,
.form-date{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	padding: 0px 15px;
	border: 1px solid #DEDEDE;
	width: 100%;
	border-radius: 10px;
	line-height: 1;
	height: 52px;
	font-size: 14px;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.16) inset;
}

::placeholder {color:#ccc;}

.form-select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border: 1px solid #DEDEDE;
	width: 100%;
	background: url(../img/common/select.svg) no-repeat right 10px top 50% #fff;
	background-size: 24px 24px;
	border-radius: 0;
	line-height: 1;
	height: 52px;
	padding: 0px 10px;
	border-radius: 10px;
	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.16) inset;
}

.form-select.is-notselected{
	color: #ccc;
}

select::-ms-expand {
	display: none;
}

.form-textarea{
	-webkit-appearance: none;
	outline: none;
	padding: 15px 20px;
	border: 1px solid #DEDEDE;
	width: 100%;
	height: 170px;
	box-sizing: border-box;
	border-radius: 10px;
	font-size: 14px;
}

.form-radio-wrapper{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 40px;
}

.form-radio {
	/* display: inline-block; */
	display: block;
	line-height: 1;
	font-size: 16px;
	position:relative;
	margin: 15px 0;
}
.form-radio:first-child {margin: 0;}
.form-radio:last-child {margin: 0;}

.form-radio label {
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	line-height: 1.4;
	min-height: 23px;
	margin: 0px 0;
	padding: 1px 0 0 35px;
	position: relative;
	vertical-align: top;
}

.form-radio input[type="radio"]{position: absolute;left:0px;top:0px;width:1px;height:1px;overflow: hidden;opacity:0;}

.form-radio label::before{
	display:block;
	content:'';
	border:1px solid #DEDEDE;
	background: #fff;
	border-radius:50%;
	width:20px;
	height:20px;
	position:absolute;
	left: 0;
	top:50%;
	transform: translate(0,-50%);
}

.form-radio input:checked + label::after{
	display:block;
	content:'';
	background: #000;
	border-radius:50%;
	width:14px;
	height:14px;
	position:absolute;
	left: 4px;
	top:50%;
	transform: translate(0,-50%);
}

.form-radio input:disabled + label {opacity: 0.7;}

/* ラジオボタン全体をflexレイアウトに */
.form-radio-classroom .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em; /* 各項目の間隔（任意） */
}

/* 各教室項目を50%幅で並べる */
.form-radio-classroom .wpcf7-list-item {
  flex: 0 0 40%;
  box-sizing: border-box;
  display: flex;
  align-items: center; /* ボタンと文字を縦中央に */
}

/* ラジオボタンとテキストの間隔を微調整 */
.form-radio-classroom .wpcf7-list-item input[type="radio"] {
  margin-right: 0.4em;
}

/* スマホ対応（1列表示） */
@media (max-width: 600px) {
  .form-radio-classroom .wpcf7-list-item {
    flex: 0 0 100%;
  }
}

/* --- ご住所ブロック全体 --- */
.form-user-address {
  display: block;
}

/* 上段（郵便番号＋都道府県）を横並びに */
.form-user-address .address-flex-group {
  display: flex;
  gap: 10px;
  margin-bottom: 15px;
  flex-wrap: wrap; /* スマホ対応で折り返し可能に */
}

/* 各入力項目を均等幅に */
.form-user-address .address-item {
  flex: 1;
  min-width: 180px; /* 狭すぎ防止 */
}

/* ラベルの共通スタイル */
.form-user-address label {
  display: inline-block;
  margin-bottom: 5px;
  font-weight: 500;
}

/* テキスト・セレクト共通スタイル */
.form-user-address .form-text,
.form-user-address .form-select {
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
}

/* スマホ時は縦並び */
@media (max-width: 600px) {
  .form-user-address .address-flex-group {
    flex-direction: column;
  }
}

.form-checkbox-wrapper{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 40px;
}

.form-checkbox {
	display: inline-block;
	line-height: 1;
	font-size: 16px;
	position:relative;
}

.form-checkbox label {
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	line-height: 1.4;
	min-height: 23px;
	margin: 0px 0;
	padding: 1px 0 0 35px;
	position: relative;
	vertical-align: top;
}

.form-checkbox input[type="checkbox"]{position: absolute;left:0px;top:0px;width:1px;height:1px;overflow: hidden;opacity:0;}

.form-checkbox label::before{
	display:block;
	content:'';
	border:1px solid #aaa;
	background: #fff;
	border-radius:2px;
	width:20px;
	height:20px;
	position:absolute;
	left: 0;
	top:50%;
	transform: translate(0,-50%);
	border-radius: 3px;
}

.form-checkbox input:checked + label::after{
	display:block;
	content:'';
	background: #000;
	border-radius:1px;
	width:14px;
	height:14px;
	position:absolute;
	left: 4px;
	top:50%;
	transform: translate(0,-50%);
}

.form-checkbox input:disabled + label {opacity: 0.7;}

.form-submit {
	text-align: center;
	margin-top: 80px;
}

.form-submit .btn{
	width:450px;
}

.must{color:#aa0000;}

/* wpcf7フォーム ---------------------------------------*/
.wpcf7 .form-radio-wrapper{
	display: unset;
}

.wpcf7 .form-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 40px;
	line-height: unset;
	font-size: unset;
	position:unset;
	margin: 0;
}

.wpcf7 .form-radio .wpcf7-list-item {
	display: inline-block;
	line-height: 1;
	font-size: 16px;
	position: relative;
}

.wpcf7 .form-radio .wpcf7-list-item label:has(input[type="radio"]:checked)::after {
	display:block;
	content:'';
	background: #e62e8b;
	border-radius:50%;
	width:14px;
	height:14px;
	position:absolute;
	left: 4px;
	top:50%;
	transform: translate(0,-50%);
}

.wpcf7 .form-radio .wpcf7-list-item label:has(input[type="radio"]:disabled) {opacity: 0.7;}


.wpcf7 .form-checkbox-wrapper{
	display: unset;
}

.wpcf7 .form-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 30px 40px;
	line-height: unset;
	font-size: unset;
	position:unset;
	margin: 0;
}

.wpcf7 .form-checkbox .wpcf7-list-item {
	display: inline-block;
	line-height: 1;
	font-size: 16px;
	position: relative;
}

.form-checkbox label::before{
	display:block;
	content:'';
	border:1px solid #aaa;
	background: #fff;
	border-radius:2px;
	width:20px;
	height:20px;
	position:absolute;
	left: 0;
	top:50%;
	transform: translate(0,-50%);
	border-radius: 3px;
}

.wpcf7 .form-checkbox .wpcf7-list-item label:has(input[type="checkbox"]:checked)::after {
	display:block;
	content:'';
	background: #000;
	border-radius:1px;
	width:14px;
	height:14px;
	position:absolute;
	left: 4px;
	top:50%;
	transform: translate(0,-50%);
}

.wpcf7 .form-checkbox .wpcf7-list-item label:has(input[type="checkbox"]:disabled) {opacity: 0.7;}

.wpcf7 .form-submit {
	position: relative;
	width: 450px;
	margin: 80px auto 0;
}

.wpcf7 .form-submit:after {
	content: '';
	transform: translate(0, -50%);
	-webkit-mask-image: url(../img/common/icon_arrow.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url(../img/terapoke/icon_anker_arrow.svg);
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
	display: inline-block;
	vertical-align: middle;
	width: 11px;
	height: 18px;
	background: #000;
	position: absolute;
	right: 43px;
	top: 50%;
	transition: all 0.3s ease;
}

.wpcf7 .form-submit:hover:after {
	background: #fff;
}

/* .terapokecontact .wpcf7 .form-submit:hover:after {
	background: #000;
} */

.wpcf7 .form-submit .btn {
	position: unset;
	border-radius: 40px !important;
}

.wpcf7-spinner {
	display: none!important;
}

/* エラー個所をわかりやすく表示 */
div.wpcf7 input.wpcf7-not-valid,
div.wpcf7 textarea.wpcf7-not-valid {
	background: #FFB6C1!important;
}

.wpcf7 span.wpcf7-not-valid-tip {
	font-size: 14px;
	font-weight: 700;
	margin-top: 6px;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	display: block;
	text-align: center;
	border: unset;
	color: #dc3232;
}

.wpcf7-form.sent .wpcf7-response-output {
	display: none !important;
}

.grecaptcha-badge { visibility: hidden; }

.form-recaptcha {
	font-size: 16px;
	font-weight: 500;
	line-height: 2;
	text-align: center;
	letter-spacing: 0.15em;
	margin-top: 60px;
}

.form-recaptcha a {text-decoration: underline;}
.form-recaptcha a:hover {text-decoration: none;}


/* contactthanks ---------------------------------------*/
.contactthankshead {
	padding-top: 240px;
	padding-bottom: 138px;
}

.contactthankshead-title{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 13px;
	font-size: 3.125vw;
	font-weight: 600;
	line-height: 1.5;
	color: #222;
}

.contactthankshead-title b{
	font-size: 46px;
	font-weight: 600;
	letter-spacing: 0.15em;
}

.contactthankshead-title span{
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.contactthanks {
	padding-bottom: 150px;
}

.contactthanks.contactthanks-terapoke {
	padding-top: 250px;
}

.contactthanks-title {
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 2;
	text-align: center;
	margin-bottom: 60px;
}

.contactthanks-text {
	font-size: 16px;
	font-weight: 500;
	line-height: 2.235;
	letter-spacing: 0.15em;
	text-align: center;
}

.contactthanks-btn {
	text-align: center;
	margin-top: 60px;
}

.contactthanks-btn .btn:hover {color: #fff;}
.contactthanks-btn.is-sola .btn:hover {background: #cdb347;}
.contactthanks-btn.is-forest .btn:hover {background: #48A99E;}
.contactthanks-btn.is-terapoke .btn:hover {background: #6CA2C4;}
.contactthanks-btn.is-copain .btn:hover {background: #f3a0bc;}
.contactthanks-btn .btn:hover::after {background: #fff;}


/* news ---------------------------------------*/

.newshead {
	padding-top: 240px;
	padding-bottom: 138px;
}

.newshead-inner {
}

.newshead-title{
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 13px;
	font-size: 3.125vw;
	font-weight: 600;
	line-height: 1.5;
	color: #222;
}

.newshead-title b{
	font-size: 46px;
	font-weight: 600;
	letter-spacing: 0.15em;
}

.newshead-title span{
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.12em;
}


.news {
	padding-bottom: 150px;
}

.news-inner {
	max-width: 1380px;
	margin: 0 auto;
}

.news-content {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 60px;
}

.news-main {
	width: calc(100% - 360px);
	order: 1;
}

.news-main-inner {
	margin-bottom: 40px;
}

.news-item {
	border-bottom: 1px solid #CCCCCC;
	margin-bottom: 50px;
	padding-bottom: 25px;
	/* margin-left: 60px; */
}

.news-item:last-of-type {
	margin-bottom: 0;
}

.news-title {
	margin-bottom: 32px;
}

.news-title span {
	display: inline;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 2;
}

.news.is-copain .news-title span {background: linear-gradient(transparent 75%, rgba(222,93,134,0.3) 0%);}
.news.is-forest .news-title span {background: linear-gradient(transparent 75%, rgba(106,187,180,0.4) 0%);}

.news-info {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}

.news-category {
	width: 130px;
	border-radius: 50px;
	background: #999;
	color: #fff;
	text-align: center;
	padding: 6px 10px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
}

.news.is-copain .news-category.is-blog {background: #E98D48;}
.news.is-copain .news-category.is-info {background: #E89BB4;}
.news.is-copain .news-category.is-other {background: #D7C336;}
.news.is-forest .news-category {background: #48A99E;}

.news-date {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.5;
}

.news-category + .news-date {
	margin-left: 10px;
}

.news-text {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.5;
	margin-bottom: 40px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	overflow: hidden;
}

.news-detail .news-text {
	margin-bottom: 0;
}

.news-more {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	transition: all 0.3s ease;
}

.news.is-copain .news-more {color: #DE5D86;}
.news.is-forest .news-more {color: #48A99E;}

.news-more:hover {
	opacity: 0.7;
}

.news-more i {
	-webkit-mask-image: url('../img/news/icon_arrow.svg');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url('../img/news/icon_arrow.svg');
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
	width: 11px;
	height: 18px;
}

.news.is-copain .news-more i {background: #DE5D86;}
.news.is-forest .news-more i {background: #48A99E;}

.news-pagination {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 100px;
}

.news-pagination-prev,
.news-pagination-next {
	width: 340px;
	max-width: calc(50% - 15px);
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.15em;
	line-height: 1.5;
	padding: 20px 40px 20px 40px;
	position: relative;
	background: #fff;
	border-radius: 50px;
	transition: all 0.3s ease;
}

.news-pagination-prev:hover,
.news-pagination-next:hover {color: #fff;}
.news.is-forest .news-pagination-prev:hover,
.news.is-forest .news-pagination-next:hover {background: #48A99E;}
.news.is-copain .news-pagination-prev:hover,
.news.is-copain .news-pagination-next:hover {background: #f3a0bc;}

.news-pagination-prev {
	text-align: right;
}

.news-pagination-prev::before,
.news-pagination-next::before {
	content: '';
	-webkit-mask-image: url('../img/news/icon_arrow.svg');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url('../img/news/icon_arrow.svg');
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
	display: inline-block;
	vertical-align: middle;
	width: 11px;
	height: 18px;
	background: #000;
	position: absolute;
	top: 50%;
	transition: all 0.3s ease;
}

.news-pagination-prev::before {
	transform: translate(0,-50%) scaleX(-1);
	left: 30px;
}

.news-pagination-next::before {
	transform: translate(0,-50%);
	right: 30px;
}

.news-pagination-prev:hover::before,
.news-pagination-next:hover::before {
	background: #fff;
}

.news-pagination-prev.disabled,
.news-pagination-next.disabled {
	background: #ccc;
	color: #000;
	cursor: auto;
}

.news.is-forest .news-pagination-prev.disabled:hover,
.news.is-forest .news-pagination-next.disabled:hover,
.news.is-copain .news-pagination-prev.disabled:hover,
.news.is-copain .news-pagination-next.disabled:hover {background: #ccc;}

.news-pagination-prev.disabled:hover::before,
.news-pagination-next.disabled:hover::before {
	background: #000;
}



.news-main-nopost {
	padding: 20px 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 2.235;
	letter-spacing: 0.15em;
}

.news-sidebar {
	width: 300px;
}

.news-sidebar-search {
	margin-bottom: 52px;
}

.news-sidebar-title {
	font-size: 18px;
	font-weight: 600;
	letter-spacing: 0.15em;
	line-height: 1.5;
	margin-bottom: 16px;
}

.search-form {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	width: 270px;
	max-width: 100%;
}

.search-input {
	flex:1;
	height: 44px;
	box-shadow: inset 1px 1px 2px rgba(0,0,0,0.16);
}

.search-button {
	color: #fff;
	height: 44px;
	line-height: 44px;
	border-radius: 6px;
	width: 81px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.news.is-copain .search-button {background: #F2A0BB;}
.news.is-forest .search-button {background: #48A99E;}

.search-button i {
	display: none;
}

.news-sidebar-archive {
}

.news-sidebar-archive-list {
}

.news-sidebar-archive-item {
	margin-bottom: 20px;
}

.news-sidebar-archive-item a {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
	display: inline-block;
	position: relative;
	padding-left: 30px;
	transition: all 0.3s ease;
}

.news.is-copain .news-sidebar-archive-item a {color: #DE5D86;}
.news.is-forest .news-sidebar-archive-item a {color: #48A99E;}

.news-sidebar-archive-item a:hover {
	opacity: 0.7;
}

.news-sidebar-archive-item a::before {
	display: inline-block;
	content: '';
	-webkit-mask-image: url('../img/news/icon_arrow.svg');
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: contain;
	mask-image: url('../img/news/icon_arrow.svg');
	mask-repeat: no-repeat;
	mask-position: 0 0;
	mask-size: contain;
	width: 11px;
	height: 18px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0,-50%);
}

.news.is-copain .news-sidebar-archive-item a::before {background: #DE5D86;}
.news.is-forest .news-sidebar-archive-item a::before {background: #48A99E;}

.news-article {
	/* margin-left: 60px; */
}

.news-article-head {
	margin-bottom: 75px;
}

.news-article-head-title {
	margin-bottom: 32px;
}

.news-article-head-title span {
	display: inline;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.15em;
	line-height: 2;
}

.news.is-copain .news-article-head-title span {background: linear-gradient(transparent 75%, rgba(222,93,134,0.3) 0%);}
.news.is-forest .news-article-head-title span {background: linear-gradient(transparent 75%, rgba(106,187,180,0.4) 0%);}

.news-article-head-info {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.news-article-head-info-category {
	width: 110px;
	border-radius: 50px;
	background: #999;
	color: #fff;
	text-align: center;
	padding: 6px 10px;
	font-size: 12px;
}

.news.is-copain .news-article-head-info-category.is-blog {background: #E98D48;}
.news.is-copain .news-article-head-info-category.is-info {background: #E89BB4;}
.news.is-copain .news-article-head-info-category.is-other {background: #D7C336;}
.news.is-forest .news-article-head-info-category {background: #48A99E;}

.news-article-head-info-date {
	display: block;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.5;
}

.news-article-head-info-category + .news-article-head-info-date {
	margin-left: 10px;
}


.news-article-content {
	
}


.news-article-content div {
	margin-bottom: 50px;
}

.news-article-content p {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 3;
	margin-bottom: 50px;
}

.news-article-content ul,
.news-article-content ol {
	margin-bottom: 50px;
}

.news-article-content ul li {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 3;
	padding-left: 22px;
	position: relative;
}

.news-article-content ul li::before {
	display:block;
	content:'';
	background:#000;
	background-size: 100%;
	width:4px;
	height:4px;
	border-radius: 50%;
	position:absolute;
	left:8px;
	top:19px;
}

.news-article-content ol li {
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 3;
	list-style: decimal inside;
}

.news-article-content figure {
	margin-bottom: 50px;
}

.news-article-content p:last-of-type,.news-article-content div:last-of-type {
	margin-bottom: 0;
}

.news-article-content strong {
	font-weight: 600 !important;
}

.news-article-content em {
	font-style: italic !important;
}

.news-article-content a {text-decoration: underline;}
.news-article-content a:hover {text-decoration: none;}
.news.is-forest .news-article-content a {color: #48A99E;}
.news.is-copain .news-article-content a {color: #DE5D86;}

.news-article-content blockquote {
	margin: 0 0 50px 20px;
	padding-left: 20px;
	border-left: 1px solid #222;
}


/* sitemap */
.sitemap{}
.sitemap-block{
	width: 50%;
	display: block;
	margin: 0 auto;
}
.sitemap-list{}
.sitemap-list > li{
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.15em;
	line-height: 1.5;
	margin-bottom: 10px;
}
.sitemap-list > li a{
	display: inline-block;
}
.sitemap-list > li > ul{
	margin-top: 10px;
	margin-bottom: 30px;
}
.sitemap-list > li > ul > li{
	margin-bottom: 10px;
	font-size: 14px;
	padding-left: 20px;
}
.sitemap-list > li > ul > li:before{
	content: ' - ';
	display: inline-block;
	margin-right: 10px;
}
.sitemap-list > li > ul > li a{

}


/* pc only */
@media screen and (min-width: 768px){
	.sp{display: none !important;}
	.spbr{display: none;}
}

@media screen and (min-width: 768px) and (max-width: 1750px){
	header.is-copain .gnav {
		max-width: 100%;
		padding-right: 10px;
	}
	
	header.is-copain .gnav-list {
		gap: 30px;
	}

	header.is-copain .gnav-list > li {
		font-size: 15px;
	}
}


/* small pc */
@media screen and (min-width: 768px) and (max-width: 1480px){


	.inner {
		max-width: 1200px;
	}

	header{
		top:30px;
		width:100%;
		height:78px;
		padding:0 5vw 0 2vw;
	}
	
	header.is-terapoke,
	header.is-copain {
		height: 78px;
		padding: 0 80px;
	}

	header.is-terapoke .header-inner {
		max-width:1200px;
	}

	header.is-copain .header-inner {
		max-width:unset;
	}

	header.is-terapoke .header-logo {
		left: 36px;
		top: 46%;
		width: 182px;
		display: inline-block;
	}

	header.is-copain .header-logo {
		left: 30px;
		top: 48%;
		width: 162px;
		display: inline-block;
	}
	
	.is-connect .header-inner{
		height:80px;
	}

	.is-connect .header-logo{
		left:20px;
	}
	
	/* gnav ---------------------------------------*/
	
	.gnav{
		right: 0;
		max-width: calc(100% - 250px);
		height: 80px;
		padding:0 40px;
	}
	
	.gnav-list{
		gap: 2.2vw;
		letter-spacing: 0.15em;
	}
	
	.gnav-list > li{
		font-size: 13px;
		font-weight: 600;
	}

	header.is-terapoke .gnav {
		max-width: calc(100% - 240px);
		height: 78px;
		padding-right: 70px;
	}

	header.is-copain .gnav {
		padding-right: 30px;
	}

	header.is-terapoke .gnav-list {
		gap: 50px;
	}

	header.is-terapoke .gnav-list > li {
		font-size: 13px;
		letter-spacing: 0.2em;
	}

	header.is-copain .gnav-list > li {
		font-size: 13px;
		letter-spacing: 0.15em;
	}


	/* footer ---------------------------------------*/

	.footer-inner{max-width: 1200px;}

	.footer-nav{width:500px;}

	.footer-service-list{gap:15px 25px;}

	.footer-service-list li img{width:150px;}

	/* title ---------------------------------------*/
	
	.title-section {
		font-size: 26px;
	}

	.title-section-line {
		margin-bottom: 24px;
	}


	/* about ---------------------------------------*/

	.about-content{
	}

	.about-content-table{
		padding-bottom: 40px;
	}

	.about-content-table th{
		width:130px;
	}

	.about-content-table td{}

	.about-content-table td small{
		font-size: 12px;
	}

	.about-content-map iframe{
		height:700px;
	}


	/* news ---------------------------------------*/

	.newshead {
		padding-top: 193px;
		padding-bottom: 126px;
	}

	.newshead-title {
		gap: 17px;
	}

	.newshead-title b {
		font-size: 34px;
	}

	.newshead-title span {
		font-size: 13px;
	}

	.news-inner {
		max-width: 1200px;
	}

	.news-content {
		gap: 80px;
	}

	.news-main {
		width: calc(100% - 380px);
	}

	.news-item {
		margin-bottom: 44px;
		padding-bottom: 27px;
	}

	.news-title {
		margin-bottom: 18px;
	}

	.news-text {
		margin-bottom: 13px;
	}

	.news-article-head {
		margin-bottom: 66px;
	}

	.news-article-head-title {
		margin-bottom: 17px;
	}

	.news-article-content p {
		font-size: 15px;
		line-height: 2.8;
	}

	.news-article-content ul li,.news-article-content ol li {
		font-size: 15px;
		line-height: 2.8;
	}


}



/* small pc */
@media screen and (min-width: 768px) and (max-width: 1280px){

	.inner {
		max-width: 1000px;
	}
	
	/* header ---------------------------------------*/

	header{
		top:30px;
		height:110px;
		padding:0 30px 0 30px;
	}

	header.is-sola .header-logo{
		width:110px;
	}

	header.is-terapoke {
		height: 65px;
		padding: 0 30px;
	}

	header.is-copain {
		height: 65px;
		padding: 0 20px;
	}

	header.is-terapoke .header-inner {
		max-width:1000px;
	}

	header.is-terapoke .header-logo {
		left: 31px;
		top: 46%;
		width: 152px;
	}

	header.is-copain .header-logo {
		left: 20px;
		top: 50%;
		width: 132px;
	}
	
	/* gnav ---------------------------------------*/
	
	.gnav{
		right: 0px;
		max-width: calc(100% - 140px);
		height:65px;
		padding:0 35px;
	}

	header.is-terapoke .gnav {
		max-width: calc(100% - 200px);
		height: 65px;
		padding: 0 40px 0 0;
	}

	header.is-copain .gnav {
		max-width: calc(100% - 170px);
		height: 65px;
		padding: 0 24px 0 0;
	}

	header.is-terapoke .gnav-list {
		gap: 35px;
	}

	header.is-copain .gnav-list {
		gap: 26px;
	}

	header.is-copain .gnav-list > li {
		font-size: 12px;
	}

	
	/* footer ---------------------------------------*/

	.footer-inner{max-width: 1000px;}
	.footer-content{gap:30px;}
	.footer-company{width:300px;}

	/* title ---------------------------------------*/

	.title-section {
		font-size: 20px;
	}
	
	.title-section-line {
		margin-bottom: 19px;
	}

	.title-section-line::after{
		height:8px;
		bottom: -5px;
	}

	/* form ---------------------------------------*/

	.form{
		max-width:833px;
	}

	.form-table th{
		width:270px;
		padding:20px 0;
	}

	.form-table td{
		padding:20px 0;
	}

	.form-text, .form-date{height:43px;}


	/* news ---------------------------------------*/

	.news-content {
		gap: 30px;
	}

	.news-main {
		width: calc(100% - 330px);
		order: 1;
	}

	.news-inner {
		max-width: 1000px;
	}

	.news-item {
		margin-bottom: 24px;
		padding-bottom: 20px;
	}

	.news-title {
		margin-bottom: 14px;
	}

	.news-title span {
		font-size: 24px;
	}

	.news-info {
		margin-bottom: 13px;
	}

	.news-date {
		font-size: 14px;
	}

	.news-text {
		font-size: 14px;
		margin-bottom: 18px;
	}

	.news-more {
		font-size: 14px;
	}

	.news-more i {
		width: 9px;
		height: 15px;
	}
}


@media screen and (min-width: 768px) and (max-width: 1000px){

	.about-content{
		display: block;
	}

	.about-content-table{
		width:auto;
	}

	.about-content-map{
		width:100%;
	}
	

}


/* sp only */
@media screen and (max-width: 767px){

	/* common item ---------------------------------------*/

	.pc{display: none !important;}
	.pcbr{display: none;}


	/* layout ---------------------------------------*/

	.wrapper{
		padding: 0 20px 150px;
	}


	/* header ---------------------------------------*/

	header{
		top:0;
		height:0;
		padding:0;
	}

	.header-logo{
		left:10px;
		top:10px;
	}

	.is-connect .header-inner{
		background: none;
		height:70px;
	}

	.is-connect .header-logo{
		left:10px;
		top:10px;
		transform: translate(0,0);
	}

	header.is-terapoke,
	header.is-copain {
		top:0;
		height:0;
		padding:0;
	}

	header.is-terapoke .header-logo,
	header.is-copain .header-logo {
		left:16px;
		top:18px;
		transform: translate(0,0);
	}

	header.is-terapoke .header-logo{width:130px;}
	header.is-copain .header-logo {width:120px;}
	header.is-forest .header-logo {width:60px;}

	#openmenu{
		display:block;
		width: 72px;
		height: 72px;
		position:absolute;
		right:0;
		top:0;
		z-index:120;
		cursor:pointer;
	}

	.openmenu-cover{
		display:block;
		content:'';
		background:#fff;
		background-size:100%;
		width:105px;
		height:105px;
		position:absolute;
		border-radius: 50%;
		right:-34px;
		top:-36px;
		z-index:90;
		transition: all .25s ease;
		box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
	}

	.openmenu-cover.is-open{
		right:50%;
		transform: translate(50%,0) scale(13);
		transition: all .55s ease;
	}

	#openmenu span{
		content:'';
		display: block;
		width:22px;
		height:2.5px;
		border-radius: 3px;
		background: #000;
		position: absolute;
		left:30px;
		transition: all .25s ease;
	}

	#openmenu span:nth-child(1){top:19px;}
	#openmenu span:nth-child(2){top:26px;}
	#openmenu span:nth-child(3){top:33px;}

	#openmenu p{
		line-height: 1;
		font-size: 7px;
		position: absolute;
		left: 27px;
		bottom: 22px;
		width:30px;
		letter-spacing: 0em;
		text-align: center;
	}

	#openmenu.is-open span:nth-child(1){
		transform:rotate(45deg);
		top:26px;
		left:30px;
	}

	#openmenu.is-open span:nth-child(2){
		opacity:0;
	}

	#openmenu.is-open span:nth-child(3){
		transform:rotate(-45deg);
		top:26px;
		left:30px;
	}

	header.is-sola #openmenu span{
		background: #CCB347;
	}
	header.is-sola #openmenu p{
		color: #CCB347;
	}

	header.is-forest #openmenu span{
		background: #48A99E;
	}
	header.is-forest #openmenu p{
		color: #48A99E;
	}

	header.is-terapoke #openmenu span{
		background: #6CA2C4;
	}
	header.is-terapoke #openmenu p{
		color: #6CA2C4;
	}

	header.is-copain #openmenu span{
		background: #F2A0BB;
	}
	header.is-copain #openmenu p{
		color: #F2A0BB;
	}

	.bodyfixed{
		position: fixed;
		width: 100%;
		height: 100%;
	}


	/* gnav ---------------------------------------*/

	.gnav{
		border:none;
		background: none;
		padding: 0 20px;
		overflow:auto;
		z-index:110;
		position: absolute;
		left:0px;
		right:auto;
		top:0px;
		width:100%;
		max-width:100%;
		height:auto;
		border-radius: 0;
		display: block;
		display: none;
	}

	.gnav.is-active{
		transform:translate3d(0,0,0);
		opacity:1;
	}

	.gnav-list{
		width:auto;
		max-width:100%;
		display: block;
		padding:90px 40px 35px;
	}

	.gnav-list > li{
		font-size: 15px;
		margin-bottom: 40px;
		transition: all .75s ease;
		transition-delay: .3s;
		transform: translate(0,10px);
		opacity:0;
	}

	.gnav-list > li a{
		display: block;
		position: relative;
		padding:0 0 0 25px;
	}

	.gnav-list > li a::before{
		content: '';
		position:absolute;
		left: 0;
		top: 50%;
		width: 6px;
		height: 6px;
		border-top: 2px solid #000;
		border-right: 2px solid #000;
		transform: translate(0, -50%) rotate(45deg);
	}

	.gnav-bnr{
		position: relative;
	}

	.gnav-bnr::before{
		display:block;
		content:'';
		background:#000;
		width:0;
		height:2px;
		position:absolute;
		left:0;
		top:0;
		transition: all .25s ease;
	}

	.gnav.is-active .gnav-bnr::before{
		width:100%;
		transition-delay: .5s;
	}

	.gnav-bnr-list{
		text-align: center;
		padding-top: 15px;
		padding-bottom: 50px;
		transition: all .75s ease;
		opacity:0;
		transform: translate(0,10px);
	}

	.gnav-bnr-list > li{margin-top: 10px;}

	.gnav.is-active .gnav-list > li{
		transition: all .75s ease;
		transform: translate(0,0);
		opacity:1;
	}

	.gnav.is-active .gnav-list > li:nth-child(1){transition-delay: .1s;}
	.gnav.is-active .gnav-list > li:nth-child(2){transition-delay: .2s;}
	.gnav.is-active .gnav-list > li:nth-child(3){transition-delay: .3s;}
	.gnav.is-active .gnav-list > li:nth-child(4){transition-delay: .4s;}
	.gnav.is-active .gnav-list > li:nth-child(5){transition-delay: .5s;}
	.gnav.is-active .gnav-list > li:nth-child(6){transition-delay: .6s;}
	.gnav.is-active .gnav-list > li:nth-child(7){transition-delay: .7s;}

	.gnav.is-active .gnav-bnr-list{
		transition: all .75s ease;
		transition-delay: .7s;
		transform: translate(0,0);
		opacity:1;
	}

	header.is-terapoke .gnav,
	header.is-copain .gnav {
		max-width: 100%;
		padding:0 20px;
	}

	header.is-sola .gnav-list > li a{color:#CCB347;}
	header.is-sola .gnav-list > li a::after{transform: scale(0, 0);opacity: 0;}
	header.is-sola .gnav-list > li a::before{border-color:#CCB347;}
	header.is-sola .gnav.is-active .gnav-bnr::before{background:#CCB347;}
	header.is-forest .gnav-list > li a{color:#48A99E;}
	header.is-forest .gnav-list > li a::after{transform: scale(0, 0);opacity: 0;}
	header.is-forest .gnav-list > li a::before{border-color:#48A99E;}
	header.is-forest .gnav.is-active .gnav-bnr::before{background:#48A99E;}

	header.is-terapoke .gnav-list > li a{color:#6CA2C4;}
	header.is-terapoke .gnav-list > li a::before{border-color:#6CA2C4;}
	header.is-terapoke .gnav.is-active .gnav-bnr::before{background:#6CA2C4;}
	header.is-copain .gnav-list > li a{color:#F2A0BB;}
	header.is-copain .gnav-list > li a::after{transform: scale(0, 0);opacity: 0;}
	header.is-copain .gnav-list > li a::before{border-color:#F2A0BB;}
	header.is-copain .gnav.is-active .gnav-bnr::before{background:#F2A0BB;}


	/* fixedcta ---------------------------------------*/

	.fixedcta{
		display: none;
	}


	/* footer ---------------------------------------*/

	footer{
		padding:65px 20px 20px 20px;
	}

	footer::after{
		display:block;
		content:'';
		background:url('../img/common/footer_bg.png') no-repeat center top;
		background-size:100%;
		width:100%;
		height:25vw;
		position:absolute;
		left:0;
		top:-25vw;
		z-index:2;
	}

	footer::before{
		display:block;
		content:'';
		background: #fff;
		width:100%;
		height:100%;
		position:absolute;
		left:0;
		top:0;
		z-index:2;
	}

	.footer-inner{
		z-index:3;
	}

	.footer-shape-wrapper{
		height:26vw;
		top:-26vw;
	}

	.footer-logo{
		margin-bottom: 20px;
		position: absolute;
		left:50%;
		top:-80px;
		transform: translate(-50%,0);
		width:80px;
	}

	.footer-logo.is-copain{
		top: -42px;
		width:146px;
	}

	.footer-content{
		display: block;
	}

	.footer-company{
		width:auto;
		text-align: center;
	}

	.footer-company-title{
		font-size: 11px;
		margin-bottom: 10px;
		padding-top: 20px;
	}

	.footer-company-text{
		font-size: 10px;
		line-height: 1.9;
		margin-bottom: 30px;
		letter-spacing: 0.05em;
	}

	.footer-nav{
		width:auto;
		margin-bottom: 40px;
		margin-top: 40px;
	}

	.footer-nav-list{
		display: block;
		text-align: center;
		margin-bottom: 30px;
	}

	.footer-nav-list > li{
		font-size: 10px;
		letter-spacing: 0.05em;
		margin-bottom: 15px;
	}

	.footer-nav-list > li a{
		padding:0 0 3px;
		display: inline-block;
		border-bottom:1px solid #ccc
	}

	.footer-nav-list > li a::before{
		display: none;
	}

	.footer-nav-list > li a:hover{text-decoration: underline;}

	.footer-service-list{
		justify-content: center;
		gap: 3%;
	}

	.footer-service-list > li{
		width:30%;
	}

	.footer-service-list > li a{
		display: block;
	}

	.footer-service-list > li a:hover{opacity: 0.7;}

	.copyright{
		text-align: center;
		font-size: 10px;
		letter-spacing: 0.1em;
	}


	/* gotop ---------------------------------------*/
	.gotop {
		position: fixed;
		bottom: 50px;
		right: 18px;
		z-index: 100;
	}

	.gotop-btn {
		width: 50px;
		height: 50px;
		background: #fff;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: all 0.25s ease;
	}

	.gotop-btn i {
		-webkit-mask-image: url('../img/common/icon_arrow_top.svg');
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: 0 0;
		-webkit-mask-size: contain;
		mask-image: url('../img/common/icon_arrow_top.svg');
		mask-repeat: no-repeat;
		mask-position: 0 0;
		mask-size: contain;
		width: 18px;
		height: 19px;
		background: #000;
	}
	
	.gotop.is-sola .gotop-btn i {background: #cdb347;}
	.gotop.is-forest .gotop-btn i {background: #48A99E;}
	.gotop.is-terapoke .gotop-btn i {background: #6CA2C4;}
	.gotop.is-copain .gotop-btn i {background: #f3a0bc;}


	/* title ---------------------------------------*/

	.title-page{}


	.title-section{
		font-size: 18px;
		line-height: 1.3;
		letter-spacing: 0.2em;
		margin-bottom: 1.2em;
	}

	.title-section-line{
		margin-bottom: 25px;
	}

	.title-section-line:last-of-type {
		margin-bottom: 0;
	}

	.title-section-line::after{
		height:5px;
	}

	.title-section span{
		padding-left: 0.3em;
		padding-right: 0.3em;
	}


	.title-block{font-size: 24px;}
	.title-small{font-size: 16px;}


	/* text ---------------------------------------*/

	.text-sp-center{text-align:center;}
	.text-sp-right{text-align:right;}
	.text-sp-left{text-align:left;}


	/* pankuzu ---------------------------------------*/

	.pankuzu{display: none}


	/* about ---------------------------------------*/

	.about-content{
		display: block;
	}

	.about-content-table{
		width:auto;
		padding-bottom: 0;
		margin-bottom: 40px;
	}

	.about-content-table table,
	.about-content-table tbody,
	.about-content-table tr,
	.about-content-table th,
	.about-content-table td{
		display: block;
	}

	.about-content-table tr{
		padding:12px 0;
		border-bottom: 1px solid #ccc;
	}

	.about-content-table th,
	.about-content-table td{
		padding: 0;
		font-size: 13px;
		line-height: 1.7;
	}

	.about-content-table th{
		width:auto;
		letter-spacing: 0.1em;
		margin-bottom: 5px;
	}

	.about-content-table td{
	}

	.about-content-table td small{
		font-size: 11px;
	}

	.about-content-map{width:100%;}

	.about-content-map iframe{
		height:360px;
	}

	.about-content-button {
		padding-top: 50px;
		position: relative;
		text-align: center;
	}

	.about-content-button::after{
		width:100px;
	}

	.about-content-button::before{
		width:100%;
	}
	

	/* btn ---------------------------------------*/

	.btn{
		min-width: 250px;
		padding: 15px 30px 15px 25px;
		font-size: 13px;
		letter-spacing: 0.15em;
	}

	.btn::after{
		width:6px;
		height:12px;
		right:20px;
	}

	/* btn ---------------------------------------*/



	/* modal ---------------------------------------*/

	.modal-wrapper{display: none;}

	.modal{padding: 60px 10px 20px;}

	.modal-inner-close{
		width: 320px;
		max-width: 100%;
		margin:  30px auto;
	}


	/* form ---------------------------------------*/

	.form{
	}

	.form-table{
	}

	.form-table,
	.form-table tbody,
	.form-table tr,
	.form-table th,
	.form-table td{
		display: block;
	}

	.form-table tr{
		padding:15px 0;
		border-bottom:1px solid #CBCBCB;
	}

	.form-table th{
		padding:0;
		font-size: 13px;
		width: auto;
		border-bottom:none;
		margin-bottom: 15px;
	}

	.form-table td{
		padding:0;
		font-size: 13px;
		border-bottom:none;
	}

	.form-text,
	.form-date{
		padding: 0px 10px;
		border-radius: 5px;
		height: 38px;
		font-size: 13px;
		box-shadow: 0px 0px 0px rgba(0,0,0,0);
	}

	.form-select{
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		outline: none;
		padding: 0 10px;
		border: 1px solid #DEDEDE;
		width: 100%;
		background: url('../img/common/select.svg') no-repeat right 10px top 50% #fff;
		background-size: 24px 24px;
		border-radius: 0;
		line-height: 1;
		height: 38px;
	}

	.form-user-address .form-text, .form-user-address .form-select{
		font-size: 14px;
	}

	.form-textarea{
		padding: 10px 10px;
		height: 120px;
		border-radius: 5px;
		font-size: 13px;
	}

	.form-radio-wrapper{
		display: block;
	}

	.form-radio {
		display: block;
		margin-right: 40px;
		font-size: 13px;
		margin-bottom: 15px;
	}

	.form-radio label {
		padding: 1px 0 0 32px;
	}


	.form-checkbox-wrapper{
		display: block;
	}

	.form-checkbox {
		display: block;
		margin-right: 40px;
		font-size: 13px;
		margin-bottom: 10px;
	}

	.form-checkbox label {
		padding: 1px 0 0 32px;
	}


	.form-submit {
		margin-top: 40px;
	}

	.form-submit .btn{
		width:auto;
	}


	/* wpcf7フォーム ---------------------------------------*/
	.wpcf7 .form-radio {
		display: block;
	}

	.wpcf7 .form-radio .wpcf7-list-item {
		display: block;
		margin: 0 0 10px;
		font-size: 13px;
	}

	.wpcf7 .form-checkbox {
		display: block;
	}

	.wpcf7 .form-checkbox .wpcf7-list-item {
		display: block;
		margin: 0 0 10px;
		font-size: 13px;
	}

	.wpcf7 .form-submit {
		width: fit-content;
		margin: 40px auto 0;
	}

	.wpcf7 .form-submit:after {
		width: 6px;
		height: 12px;
		right: 20px;
	}


	/* エラー個所をわかりやすく表示 */
	.wpcf7 span.wpcf7-not-valid-tip {
		font-size: 12px;
	}

	.form-recaptcha {
		font-size: 13px;
		margin-top: 30px;
	}

	/* contactthanks ---------------------------------------*/
	.contactthankshead {
		padding-top: 180px;
		padding-bottom: 20px;
	}

	.contactthankshead-title{
		gap: 5px;
	}

	.contactthankshead-title b{
		font-size: 23px;
	}

	.contactthankshead-title span{
		font-size: 11px;
	}

	.contactthanks {
		padding-bottom: 50px;
	}

	.contactthanks.contactthanks-terapoke {
		padding-top: 100px;
	}

	.contactthanks-title {
		font-size: 18px;
		margin-bottom: 60px;
	}

	.contactthanks-text {
		font-size: 14px;
	}


	/* news ---------------------------------------*/

	.newshead {
		padding-top: 105px;
		padding-bottom: 78px;
	}

	.newshead-inner {
	}

	.newshead-title{
		gap: 10px;
		color: #222;
	}

	.newshead-title b{
		font-size: 23px;
		letter-spacing: 0.15em;
	}

	.newshead-title span{
		font-size: 11px;
		letter-spacing: 0.12em;
	}

	.news {
		padding-bottom: 100px;
	}

	.news-content {
		display: block;
	}

	.news-main {
		width: 100%;
	}

	.news-main-inner {
		margin-bottom: 25px;
	}

	.news-item {
		margin-bottom: 35px;
		padding-bottom: 18px;
		margin-left: 0;
	}

	.news-title {
		margin-bottom: 13px;
	}

	.news-title span {
		font-size: 14px;
		line-height: 1.8;
	}

	.news-info {
		margin-bottom: 17px;
		gap: 6px;
	}

	.news-date {
		font-size: 10px;
	}

	.news-text {
		font-size: 11px;
		letter-spacing: 0.02em;
		line-height: 1.6;
		margin-bottom: 15px;
		-webkit-line-clamp: 2;
	}

	.news-more {
		font-size: 13px;
		gap: 10px;
	}

	.news-more:hover {
		opacity: 1;
	}

	.news-more i {
		width: 6px;
		height: 10px;
	}

	.news-pagination {
		padding-bottom: 30px;
		border-bottom: 1px solid #CCCCCC;
		margin-bottom: 40px;
		margin-top: 30px;
	}

	.news-pagination-prev,
	.news-pagination-next {
		width: 120px;
		max-width: calc(50% - 15px);
		font-size: 9px;
		line-height: 1.5;
		padding: 13px 20px 13px 20px;
	}

	.news-pagination-prev:hover,
	.news-pagination-next:hover {
		color: #000;
		background: #fff;
	}

	.news-pagination-prev {
		text-align: right;
	}

	.news-pagination-prev::before,
	.news-pagination-next::before {
		width: 6px;
		height: 10px;
	}

	.news-pagination-prev::before {
		left: 15px;
	}

	.news-pagination-next::before {
		right: 15px;
	}

	.news-pagination-prev:hover::before,
	.news-pagination-next:hover::before {
		background: #000;
	}

	.news-main-nopost {
		padding: 0;
		font-size: 14px;
	}

	.news-sidebar {
		width: 100%;
	}

	.news-sidebar-search {
		margin-bottom: 40px;
	}

	.news-sidebar-title {
		font-size: 18px;
		font-weight: 600;
		letter-spacing: 0.15em;
		line-height: 1.5;
		margin-bottom: 20px;
	}

	.search-form {
		display: block;
		width: 100%;
	}

	.search-input {
		width: 100%;
		flex:1;
		height: 32px;
		box-shadow: inset 1px 1px 2px rgba(0,0,0,0.16);
		border-radius: 5px;
		margin-bottom: 8px;
	}

	.search-button {
		color: #fff;
		height: 38px;
		line-height: 38px;
		border-radius: 6px;
		width: 100%;
		font-size: 13px;
		font-weight: 600;
		letter-spacing: 0.12em;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-wrap: wrap;
		gap: 5px;
	}

	
	.search-button i {
		display: block;
		background: url('../img/news/icon_search.svg') no-repeat center center / 100%;
		width: 12px;
		height: 12px;
	}

	.archive-select {
		position: relative;
		margin-bottom: 5px;
	}

	.archive-select .form-select {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		outline: none;
		padding: 0 10px;
		border: 1px solid #DEDEDE;
		width: 100%;
		background: #fff;
		box-shadow: inset 1px 1px 2px rgba(0,0,0,0.16);
		border-radius: 5px;
		line-height: 1;
		height: 32px;
		font-size: 12px;
		letter-spacing: 0.1em;
	}

	.archive-select::after {
		display: inline-block;
		content: '';
		background: url('../img/news/icon_select.svg') no-repeat center center; 
		background-size: 12px;
		width: 12px;
		height: 7px;
		position: absolute;
		right: 15px;
		top: 50%;
		transform: translate(0,-50%);
	}

	
	.news-article {
		margin-left: 0;
	}

	.news-article-head {
		margin-bottom: 35px;
	}

	.news-article-head-title {
		margin-bottom: 7px;
	}

	.news-article-head-title span {
		font-size: 16px;
		letter-spacing: 0.15em;
		line-height: 2.3;
	}

	.news-article-head-info {
		gap: 6px;
	}

	.news-article-head-info-category {
		width: auto;
		min-width: 100px;
		max-width: 100%;
		font-size: 10px;
	}

	.news-article-head-info-date {
		display: block;
		font-size: 10px;
	}

	.news-article-content p {
		font-size: 13px;
		line-height: 2.2;
		margin-bottom: 28px;
		letter-spacing: 0.02em;
	}

	.news-article-content ul,.news-article-content ol {
		margin-bottom: 28px;
	}

	.news-article-content ul li,.news-article-content ol li {
		font-size: 13px;
		line-height: 2.2;
	}

	.news-article-content ul li {
		padding-left: 18px;
	}

	.news-article-content ul li::before {
		width: 3px;
		height: 3px;
		top: 13px;
		left: 6px;
	}

	.news-article-content figure {
		margin-bottom: 28px;
	}
	
	.news-article-content blockquote {
		margin: 0 0 28px 6px;
		padding-left: 16px;
	}

	.sitemap-block{
		width: 100%;
		display: block;
		margin: 0 auto;
	}




}




/* iphone5 iphoneSE用 */
@media screen and (max-width: 370px){

}