@charset "UTF-8";
/*
Theme Name: liract
Author: kdf
Description: liract
Version:1.5
License: GNU General Public License v2 or later
License URI: LICENSE
*/


body {
margin: 0;
font-family: '游ゴシック Medium', '游ゴシック体', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, 'MS PGothic', 'ＭＳ Ｐゴシック', sans-serif;
font-size: 14px;
-webkit-text-size-adjust: 100%;
font-weight: 400;
line-height: 1.7em;
background-color: #ffffff;
color: #333333;
background-color: inherit;
text-align: justify;
letter-spacing: 0.04em;
}

body,html{padding: 0 ;margin: 0!important}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, 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,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
}

*{
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}

/* テキスト */
h1{font-size: 2em;}
h2 {font-size: 1.64286em;font-weight: 600}
h3 {font-size: 1.5em}
h4 {font-size: 1.286em}
h5 {font-size: 1em}
h6 {font-size: 0.8em}

h1,h2,h3,h4,h5,h6{margin:0 0 10px;line-height: 1.5em;}

@media only screen and (max-width:520px){
h1 {font-size: 1.5em;}
h2 {font-size: 1.286em;}
h3 {font-size: 1em}
h4 {font-size: 1em}
}

.mincho{
font-family: "游明朝","Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
font-weight: 300;
}

.zen-maru-gothic{
font-family: "Zen Maru Gothic", sans-serif;
color: #8dc21f;
font-weight: 500;
font-style: normal;
}


button, input, label, select, textarea{
font-family: inherit;
font-size: 1em;
}

img{max-width: 100%;height: auto;}
a img{
transition: .6s ease;
-webkit-transition: .6s ease;
-ms-transition: .6s ease;}
a img:hover{opacity: .7;}



ul{padding: 0;margin: 0}
ul li{list-style:none}
a{text-decoration: none;color: #333333;}
p{margin:0 0 1em;}
.bold{font-weight:600}
.sp{display: none!important;}
.ipSp{display: none!important;}

@media only screen and (max-width:768px){
.ip{display: none!important;}
.ipSp{display: inherit!important;}
}

@media only screen and (max-width:480px){
.sp{display: inherit!important;}
.pc{display: none!important;}
}

.d-flex{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
justify-content: space-between;
}

.d-flex-around{justify-content: space-around;}
.d-flex-start{justify-content: flex-start;}
.d-flex-end{justify-content: flex-end;}
.d-flex-center{justify-content: center;}
.align-center{align-items: center;}
.align-end{align-items: end;}
.flex-reverse{flex-wrap: wrap-reverse;}
.text-center {text-align: center;}
.text-right{text-align: right;}
.text-justify{text-align: justify;}

p.text-center,.text-center p{line-height: 1.8em;}

.col2{width: 48.2%;}
.col3{width: 30%;margin-right: 5%;margin-bottom: 30px;}
.col3:nth-of-type(3n){margin-right: 0;}

@media only screen and (max-width:768px){
.col2{width: 100%;}
.col3{width: 48%;margin-right: 0;}
.col3:nth-of-type(2n){margin-right: 0;}
.col2:last-child,
.col3:last-child{margin-bottom: 0;}
}

@media only screen and (max-width:520px){
.col3{width: 100%;}
}


.clear{clear: both;}
.bold{font-weight:bold;}
.normal{font-weight: normal!important;}
.pink{color: #ff6e96}
.red{color: #d9382b}
.orange{color: #ec6c00}
.yellow{color: #f7b52c}
.green{color: #8dc21f}
.blue{color: #0082c8}
.white{color: #ffffff}
.black{color:#333333}
.darkgray{color: #b4b4b5;}


/* ------------------------------------------------
外枠
------------------------------------------------
*/ 

.container-inner{
max-width: 1440px;
padding: 0 20px;
margin: 0 auto;
}


/* margin */
.mb-1{margin-bottom: 10px;}
.mb-2{margin-bottom: 20px;}
.mb-3{margin-bottom: 30px;}
.mb-4{margin-bottom: 40px;}
.mb-5{margin-bottom: 50px;}
.mb-6{margin-bottom: 60px;}
.mb-7{margin-bottom: 70px;}
.mb-8{margin-bottom: 80px;}
.mb-9{margin-bottom: 90px;}
.mb-10{margin-bottom: 100px;}

@media only screen and (max-width:520px){
.mb-5{margin-bottom: 30px;}
.mb-6{margin-bottom: 40px;}
.mb-7{margin-bottom: 50px;}
.mb-8{margin-bottom: 60px;}
.mb-9{margin-bottom: 70px;}
.mb-10{margin-bottom: 80px;}
}


/* ------------------------------------------------
共通箇所
------------------------------------------------
*/

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

header{
padding: 20px 0;
background-color: rgb(255,255,255,0.8);
position: sticky;
top: 0;
z-index: 220;
width: 100%;
}

#header-logo{
width: 180px;
height: auto;
z-index: 210;
line-height: 0;
}

header nav,
.header-nav,
ul.grand-menu{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

ul.grand-menu li{
font-size: 14px;
margin-left: 30px;
}

ul.grand-menu li:first-child{margin: 0;}

ul.grand-menu li a{
padding: 0.8em 0.2em;
display: inline-block;
transition: ease .4s;
}

ul.grand-menu li a:hover{
color: #6a9217;
}

ul.grand-menu li .sub-menu{
position: absolute;
visibility: hidden;
transition: all .4s ease;
left: 0;
width: 230px;
background-color:  #8dc21f;
opacity: 0;
}

ul.grand-menu li{
position: relative;
}

ul.grand-menu li:hover .sub-menu,
ul.grand-menu li .sub-menu li:hover .sub-menu{
display: block;
visibility: visible;
transition: all .4s ease;
opacity: 1;
}

ul.grand-menu .sub-menu li{
font-size: 12px;
margin-left: 0;
}
.sub-menu li a{
display: block!important;
padding: 0.8em!important;
color: #ffffff;
}

ul.grand-menu li .sub-menu li a:hover{
background-color: #6a9217;
color: #ffffff;
transition: .5s;
}

ul.grand-menu li .sub-menu li a:hover::before{
transform-origin: 0;
transform: scale(0);
}


.ham,.black-bg{display: none;}


.sns-area{margin-left: 25px;}

.sns-area li{
width: 30px;
line-height: 0;
margin-right: 15px;
}

@media only screen and (max-width:1200px){
ul.grand-menu li{
margin-left: 20px;
font-size: 13px;
}
}

@media only screen and (max-width:1000px){
ul.grand-menu li{font-size: 12px;}
}

@media only screen and (max-width:768px){

header{padding: 15px 0 10px;}

.ham {
position: relative;
width: 32px;
height: 32px;
cursor: pointer;
display: inherit;
z-index: 1000;
}

.ham_l {
position: absolute;
width: 32px;
height: 2px;
left: 0;
background-color: #8dc21f;
transition: all .4s;
}

.ham_l-1 {top: 1px;}
.ham_l-2 {top: 10px;}
.ham_l-3 {top: 20px;}

.open .ham_l-1 {transform: rotate(-45deg);top: 11px;background-color: #ffffff;}
.open .ham_l-2 {opacity: 0;}
.open .ham_l-3 {transform: rotate(45deg);top: 11px;background-color: #ffffff;}


.header-nav {
display: block;
position: fixed;
right: -100%;
top: 0;
width: 50%;
height: 100vh;
background-color: #8dc21f;
transition: all .4s;
z-index: 220;
overflow-y: auto;
padding: 50px 30px;
}

.open .header-nav {right: 0;}

.black-bg {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100vh;
z-index: 5;
background-color: #333333;
opacity: 0;
visibility: hidden;
transition: all 0.5s;
display: inherit;
cursor: pointer;
z-index: 100;
}

.open .black-bg {opacity: 0.6;visibility: visible;}


.nav-wrapper ul.grand-menu{display: block;}

.nav-wrapper ul.grand-menu li{
font-size: 13px;
margin: 0;
margin-left: 0;
}

.nav-wrapper ul.grand-menu li a{
color: #ffffff;
display: block;
padding: 10px 0;
}


.open .nav-wrapper ul.grand-menu {display: block;transition: .4s;}

.nav-wrapper ul.grand-menu li .sub-menu{
position: static;
display: none;
transition: all .4s ease;
left: 0;
width: auto;
opacity: 0;
}

.nav-wrapper ul.grand-menu li:hover .sub-menu,
.nav-wrapper ul.grand-menu li .sub-menu li:hover .sub-menu{
display: block;
visibility: visible;
transition: all .4s ease;
opacity: 1;
}

.nav-wrapper ul.grand-menu li .sub-menu li a{
padding: 10px 10px 10px 40px!important;
}

.nav-wrapper ul.grand-menu li .sub-menu li a:hover{
background-color: #ffffff;
transition: .5s;
}

.sns-area{
justify-content: flex-start;
margin: 30px 0 0;
}

}


@media only screen and (max-width:520px){
.header-nav{width: 70%;padding: 50px 20px;}
}



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

footer{
padding: 30px 0;
border-top: 1px solid #333333;
}

.footer-logo{width: 260px;}


footer ul.grand-menu li .sub-menu{
left: 0;
top: -85px;
opacity: 0;
}

p.copyright{
font-size: 12px;
margin-bottom: 0;
}


@media only screen and (max-width: 1200px){
footer p,footer ul li{font-size: 13px;}
}

@media only screen and (max-width: 820px){
footer .footer-col{width: 30%;}
footer .footer-col:nth-of-type(2){width: 60%;margin-bottom: 20px;}
footer .footer-col:last-of-type{width: 100%;}
footer ul{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
justify-content: space-between;
}
}

@media only screen and (max-width: 620px){
footer p,footer ul li{font-size: 11px;}
footer .footer-col,
footer .footer-col:nth-of-type(2){width: 100%;}
footer .footer-col img{width: 180px;}
footer .footer-col .mb-2{margin-bottom: 15px;}
footer ul{display: none;}
}

.float-Btn{
position: fixed;
width: 150px;
height: 150px;
right: 80px;
bottom: 50px;
}

.float-Btn a{
display: block;
text-align: center;
border: 2px solid #8dc21f;
background: #ffffff;
width: 100%;
height: 100%;
border-radius: 50%;
padding: 30px 10px;
transition: ease .4s;
}


.float-Btn a:hover{
background:#cce49a
}

.float-Btn img{width: 40px;}

.float-Btn a p{
font-size: 1.14286em;
font-weight: 600;
line-height: 1.4em;
margin: 0;
}

.float-Btn a p::after{
content: "";
display: inline-block;
background-image: url(./images/common/arrow.svg);
background-repeat: no-repeat;
background-size: contain;
width: 12px;
height: 12px;
transform: rotate(-180deg);
margin-left: 5px;
}


@media only screen and (max-width: 1140px){
.float-Btn{
width: 120px;
height: 120px;
right:50px;
}

.float-Btn img{width: 25px;}
.float-Btn a{padding: 25px 5px;}
.float-Btn a p{font-size: 1em;}
}

@media only screen and (max-width: 768px){
.float-Btn{
width: 45px;
height: auto;
right:0;
bottom: 50px;
}

.float-Btn img{width: 25px;}
.float-Btn a{padding: 10px 5px;border-radius: 10px;}
.float-Btn a p{
font-size: 0.9322em;
display: inline-block;
writing-mode: vertical-rl;
text-orientation: upright;
}
.float-Btn a p br{display: none;}
.float-Btn a p::after{content: none;}
}


/* ------------------------------------------------
content
------------------------------------------------
*/

/*----------------------------
コンテンツ
----------------------------*/


/* アニメーション設定*/
.fadein{
opacity: 0;
transform: translate3d(0, 40px, 0);
}

.fadein.is-active{
opacity: 1;
transform: translate3d(0, 0, 0);
transition: 1s;
}


/* --------------パンくず-------------- */
ul.breadcrumb{
font-size:0.85714em;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
justify-content: flex-end;
margin: 30px 0;
}

ul.breadcrumb li:not(:first-child){
margin-left: 10px;
}

ul.breadcrumb li:not(:first-child)::before{
content: "/";
padding-right: 10px;
}

ul.breadcrumb li:last-child::after{content: ""}
ul.breadcrumb li:last-child{color: #b4b4b5}


@media only screen and (max-width:768px){
ul.breadcrumb{justify-content: flex-start;font-size: 0.677em;margin: 30px 0;}
}



/* --------------pagination-------------- */

.pagination {text-align: center;}

.nav-links{
display: flex;
justify-content: center;
flex-wrap: wrap;
}

.pagination .page-numbers {
display: flex;
align-items: center;
justify-content: center;
width: 35px;
height: 35px;
margin: 0 10px;
color: #8dc21f;
background: #ffffff;
border: 1px solid #8dc21f;
border-radius: 50px;
line-height: 0;
}

.pagination a:hover{
transition: .3s;
background: #8dc21f;
color: #ffffff;
}

.pagination .current {
display: flex;
align-items: center;
justify-content: center;
width: 35px;
height: 35px;
color: #ffffff;
background: #8dc21f;
border: 1px solid #8dc21f;
border-radius: 50px;
}

.pagination .prev,
.pagination .next{
font-size: 0;
border: none;
background: none;
width: auto;
height: auto;
}

.pagination .next::before,
.pagination .prev::before{
content:"";
display:inline-block;
width:17px;
height:17px;
background-image: url(./images/common/arrow.svg);
background-repeat: no-repeat;
background-position: center;
background-size: contain;
}

.pagination .next::before{
transform: rotate(180deg);
}

.pagination a.prev:hover,
.pagination a.next:hover{
border: none;
background-color: rgb(0,0,0,0);
}

.pagination .dots {background: transparent;}


/* ------------------------------------------------
ブログ
------------------------------------------------
*/

.archive-post{width: 22%;margin: 0 4% 50px 0;}
.archive-post:nth-child(4n){margin: 0 0 50px 0;}


.post-thumbnail {
overflow: hidden;
line-height: 0;
margin-bottom: 10px;
display: block;
position: relative;
}

.post-thumbnail img{
position: absolute;
width: 100%;
height: 100%;
top: 0;
object-fit: cover;
}

.post-thumbnail::before {
content: "";
display: block;
padding-top: 100%;
}

.archive-post img{transition: transform .4s;}

.archive-post a:hover img{
transform: scale(1.1);
-webkit-transform: scale(1.1);
opacity: 1;
transition: .4s;
}

.post-description h3{
font-size: 1.14286em;
line-height: 1.6em;
margin-bottom: 0;
}

.post-description .d-flex{
justify-content: flex-start;
align-items: center;
}

.post-description .d-flex span:first-child{
font-size: 1.14286em;
}

.post-description .d-flex span:last-of-type{
font-size:0.85714em;
color: #ffffff;
background-color: #8dc21f;
margin-left: 10px;
padding: 0.3em 0.5em;
line-height: 1;
}

.post-time{
margin-bottom: 0.2em;
color: #808080;
}


@media only screen and (max-width: 1200px){
.archive-post{width: 22%;margin: 0 4% 50px 0;}
}

@media only screen and (max-width: 768px){
.archive-post{width: 48%;margin-bottom: 25px;} 
.archive-post:nth-child(2n){margin:0 0 25px 0}
.archive-post .post-categories li a{font-size: 12px;}
}

@media only screen and (max-width: 520px){
.post-description h3{font-size:1em;line-height:1.5em}
.post-description .d-flex span:first-child{font-size:0.85714em;}
.post-description .d-flex span:last-of-type{font-size: 0.714289em;}
.post-description p{font-size:0.85714em;;line-height: 1.6em;}
}



/* ------------------------------------------------
共通箇所
------------------------------------------------
*/

.main-tit{
font-size: 2.5em;
color: #8dc21f;
text-align: center;
margin: 10vh 0 6vh;
}

.page-tit{
font-size: 2.5em;
color: #8dc21f;
letter-spacing: 0.2em;
position: relative;
display: block;
margin-bottom: 60px;
}


.page-tit::before{
content: "";
display: inline-block;
background-image: url(./images/top/deco.svg);
width: 35px;
height: 35px;
margin-right: 20px;
}

.page-tit::after{
content: "";
display: inline-block;
background: #8dc21f;
position: absolute;
bottom: -20px;
left: 50%;
transform: translateX(-50vw); 
width: calc(100vw - max((100vw - 1400px) / 2, 0px));
height: 2px;
}

.blog-tit{
font-size: 1.785717em;
text-align: center;
margin: 20px 0 30px;
}

.Pagemain{margin-bottom: 10vh}

@media only screen and (max-width: 1440px){
.page-tit::after{
left: 50%;
transform: translateX(-50vw); 
width: calc(100vw - 20px);
}
}

@media only screen and (max-width:768px) {
.page-tit{
font-size: 1.8em;
letter-spacing: 0.1em;
margin-bottom: 30px;
}

.page-tit::before{
width: 25px;
height: 25px;
margin-right: 10px;
}

.page-tit::after{
bottom: -10px;
}

}

@media only screen and (max-width: 520px){
.main-tit{font-size: 1.5em;margin:5vh 0 3vh;}
.page-tit{font-size: 1.8em;margin: 0 auto 30px;}
.blog-tit{font-size: 1.125em;margin: 10px 0;}
.Pagemain{margin-bottom: 5vh}
}


/* ------------------------------------------------
投稿ページ
------------------------------------------------
*/

.col--l{margin-top: 12vh;}

.col--l .group{
max-width: 1240px;
padding: 0 20px;
margin: 0 auto;
}

.col--l .content{width: 63%;}
.sidebar{width: 32%;}

.col--l .content p a{
font-size: 1.14286em;
color: #8dc21f;
display: block;
text-decoration: underline;
}

.col--l .content p a:hover{
opacity: 1;
color: #6a9217;
}

@media only screen and (max-width: 768px){
.col--l{margin-top: 5vh;}
.col--l .content{width: 100%;}
.col--l .sidebar{display: none;}
.col--l .content p a{font-size: 1em;}
}


.post-item{margin-top: 50px;}

.post-item ul{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-bottom: 1em;
}

.post-item ul li{
font-size:0.85714em;
letter-spacing: 0.1em;
text-align: center;
display: inline-block;
margin-right: 15px;
}

.post-categories li a{
color: #ffffff;
background: #8dc21f;
display: block;
padding: 0.1em 0.5em;
transition: ease .4s;
}

.post-categories li a:hover{
background: #6a9217;
}

.post-tags li a{color:#b4b4b5;}
.post-tags li a::after{content: ",";}
.post-tags li:last-of-type a::after{content: none;}
.post-tags li{margin-right: 5px;}

@media only screen and (max-width: 768px){
.post-item{margin-top: 30px;}
}


/* sidebar */
.sidebar .side-area{margin-bottom: 50px;}

.sidebar h3{
font-size: 1.5em;
color: #8dc21f;
text-align: center;
letter-spacing: 0.1em;
line-height: 1.1em;
border-bottom: 2px solid #8dc21f;
padding-bottom: 10px;
margin-bottom: 15px;
}

.sidebar h3::after,
.sidebar h3::before{
content: "";
display: inline-block;
background-color: #8dc21f;
width: 12px;
height: 12px;
border-radius: 50px;
margin: 0 15px;
}

.sidebar .side-area ul li a{display: block;padding: 10px 0;}

.sidebar .side-area ul li:first-child a{padding-top: 0;}

.sidebar .side-active select{
color: #333333;
border: 1px solid #333333;
width: 100%;
padding: 5px
}


.post-area article a{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
padding: 10px 0;
}

.post-area .post-thumbnail{
width: 30%;
overflow: hidden;
margin-bottom: 0;
}

.post-area .post-thumbnail img{
width: 100%;
height: 100%;
object-fit: cover; 
}

.post-area article .post-description{width: 65%;}

.post-area article h4{
font-size:1em;
margin: 0;
}

.post-area article p{
font-size: 0.875em;
line-height: 1.5em;
margin: 0;
}


@media only screen and (max-width: 520px){
.post-area .post-thumbnail{
width: 30%;
height: 80px;
}

.post-area article .post-description{width: 66%;}

}


/* 検索フォーム */
.search-container {
box-sizing: border-box;
position: relative;
border: 1px solid #808080;
width: 100%;
overflow: hidden;
margin-bottom: 50px;
}

.search-container input[type="text"] {
border: none;
padding: 6px;
width: 100%;
}

.search-container input[type="text"]:focus {
outline: 0;
}

.search-container input[type="submit"] {
cursor: pointer;
background-image: url(./images/common/search.svg);
background-size: 20px;
background-repeat: no-repeat;
background-color: #ffffff;
background-position: 16px 17px;
font-size: 1.3em;
border: none;
position: absolute;
width: 2.5em;
height: 2.5em;
right: 0;
top: -8px;
outline: none;
}

@media only screen and (max-width: 768px){
.search-container{width: 50%;margin: 0 auto 5%}
}

@media only screen and (max-width: 480px){
.search-container{width: 60%;}
}

.sidebar .side-active select{
width: 100%;
padding: 5px
}


@media only screen and (max-width: 520px){
.page-article{margin-top: 30px;margin-bottom: 15px;}
.previous-article,
.next-article{width: 100%;}
.previous-article{margin-bottom: 20px;}
.previous-article a::before,
.next-article a::after{padding-left: 11px;height: 11px;}
.side-area{margin-bottom: 20px;}
}


.related{margin-top: 60px;}

.col--l p,figure{margin-bottom: 1.5em;}


/* --------------------------------------------------------------------------------------------------------------------------------------------
*
各ページ
*
--------------------------------------------------------
------------------------------------------------------------------------------------
*/


/*----------------------------
top
----------------------------*/

.common-back{
background-color: #f9fcf4;
padding: 60px 0;
position: relative;
border-radius: 0 0 50px 50px;
}


.common-back::before{
content: "";
display: inline-block;
background-color: #8dc21f;
position: absolute;
width: 45px;
height: 45px;
border-radius: 50px;
top: -25px;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
animation: floatUpDown 2s ease-in-out infinite;
}


.top-main.common-back::before{content: none;}

.top-main.common-back::after{
content: "";
display: inline-block;
background-color: #8dc21f;
position: absolute;
width: 45px;
height: 45px;
border-radius: 50px;
bottom: -25px;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
animation: floatUpDown 2s ease-in-out infinite;
}


.top-main{margin-bottom: 120px;}
.top-content{margin-bottom: 100px;}

#site-content-top h1{
color: #57776b;
margin-bottom: 30px;
}

.top-main p{line-height: 2.2em;}

.bnr{margin-bottom: 50px;}

.bnr img{
filter: drop-shadow(0 5px 10px rgba(0,0,0,0.2));
}

@media only screen and (max-width:768px) {
.bnr{margin-bottom: 30px;}
}

@media only screen and (max-width: 520px){
.common-back{padding: 30px 0;border-radius: 0 0 30px 30px;}
.common-back::before,
.top-main.common-back::after{width: 30px;height: 30px;}
.common-back::before{top: -15px;}
.top-main.common-back::after{bottom: -15px;}
.top-main{margin-bottom: 80px;}
.top-content{margin-bottom: 60px;}
#site-content-top h1{margin-bottom: 15px;}
.top-main p br{display: none;}
}


.top-service .col2{
background-color: #fbf8f0;
padding: 30px;
text-align: center;
}


.top-service .top-serviceImg{
margin-bottom: 20px;
}

.top-service .col2 h3{
font-size: 1.8em;
letter-spacing: 0.2em;
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 20px;
}


.top-service .col2 h3::after,
.top-service .col2 h3::before{
content: "";
display: inline-block;
background-color: #8dc21f;
width: 12px;
height: 12px;
border-radius: 50px;
margin: 0 15px;
}

@media only screen and (max-width:480px) {
.top-service .col2 h3{
font-size: 1.14286em;
}
}


.moreBtn{
font-size: 1.14286em;
font-weight: 600;
max-width: 130px;
text-align: center;
margin: 30px auto 0;
}

.moreBtn a{
color: #8dc21f;
display: block;
border: 2px solid #8dc21f;
border-radius: 50px;
padding: 5px 50px 5px 20px;
position: relative;
transition: all 0.4s;
}

.moreBtn a::before,
.moreBtn a::after{
content: "";
display: block;
position: absolute;
top: 50%;
right: 1em;
margin: auto;
height: 2px;
z-index: 0;
background: #8dc21f;
transition: all 0.4s;
}

.moreBtn a::before{
width: 0.5em;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
transform-origin: right;
}

.moreBtn a::after{width: 1em;}

.moreBtn a:hover{
background: #8dc21f;
color: #ffffff;
}

.moreBtn:hover a:before,
.moreBtn:hover a:after{
background:#ffffff;
}

.contact-form{
background-color: #f9fcf4;
margin: 50px 0 0;
padding: 60px 20px ;
text-align: center;
}

.contact-bnr{
font-size: 1.5em;
font-weight: 600;
letter-spacing: 0.2em;
max-width: 500px;
margin: 0 auto;
filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.2));
}

.contact-bnr a{
display: flex;
align-items: center;
justify-content: center;
border: 2px solid #8dc21f;
background: #ffffff;
padding: 20px 40px;
border-radius: 10px;
position: relative;
transition: ease .4s;
}

.contact-form .contact-bnr a::before{
content: "";
display: inline-block;
background-image: url(./images/common/contact.svg);
background-repeat: no-repeat;
background-size: contain;
width: 38px;
height: 24px;
position: absolute;
left: 40px;
}


.contact-bnr a::after{
content: "";
display: inline-block;
background-image: url(./images/common/arrow.svg);
background-repeat: no-repeat;
background-position: center;
transform: rotate(-180deg);
background-size: 12px;
border: 2px solid #8dc21f;
border-radius: 50px;
width: 35px;
height: 35px;
position: absolute;
right: 40px;
}

.contact-bnr a:hover{
background: #cce49a;
}


@media only screen and (max-width:480px) {
.contact-bnr{font-size: 1.14286em;letter-spacing: 0.05em;}
.contact-bnr a{padding: 15px 20px;}
.contact-form .contact-bnr a::before{
width: 30px;
height: 19px;
left: 20px;
}

.contact-bnr a::after{
background-size: 8px;
width: 25px;
height: 25px;
right: 20px;
}
}


/*----------------------------
about
----------------------------*/
.about h3{
font-size: 2em;
color: #57776b;
margin-bottom: 30px;
}

.about-concept p{
font-size: 1.214289em;
line-height: 2.2em;
}

.about-concept .about-conceptImg{
max-width: 560px;
margin-top: 40px;
}

.about-concept .col2:nth-of-type(2){
border: 1px solid #8dc21f;
border-radius: 20px;
padding: 50px 30px;
}

.about dl{
margin-bottom: 1em;
}

.about dl:last-of-type{margin: 0;}

.about dl dt{
font-size: 1.714289em;
font-weight: 600;
margin: 0 0 0.3em 0;
}


.about dl dt::before{
content: "";
width: 10px;
height: 10px;
display: inline-block;
background-color: #8dc21f;
border-radius: 50px;
margin-right: 0.5em;
}

.about dl dd{
margin-left: 1.8em;
}

.about dl:last-of-type dd{
padding-left: 1em;
text-indent: -1em;
}


.about-therapist p:last-of-type{
font-size: 1.5em;
letter-spacing: 0.1em;
font-weight: 600;
text-align: right;
}

.therapist-area{width: 55%;}
.therapistImg{width: 37%;}

.therapist-area ul{margin-bottom: 20px;}

.therapist-area ul li{
font-size: 1.214289em;
line-height: 1.8em;
padding-left: 1em;
text-indent: -1em;
}

.therapist-area ul li::before{
content: "";
width: 10px;
height: 10px;
display: inline-block;
background-color: #8dc21f;
border-radius: 50px;
margin-right: 0.5em;
}


.about-company table{
border-top: 1px solid #333333;
width: 100%;
border-collapse: collapse;
}

.about-company table tr th{width: 25%;}
.about-company table tr td{width: 75%;}

.about-company table tr th,
.about-company table tr td{
font-size: 1.214289em;
border-bottom: 1px solid #333333;
padding: 20px;
}

@media only screen and (max-width:768px) {
.about-company .col2:nth-of-type(2) table{border-top: none;}
}

@media only screen and (max-width:620px) {
.therapist-area,
.therapistImg{width: 100%;}
}


@media only screen and (max-width:480px) {
.about h3{font-size: 1.5em;margin-bottom: 20px;}
.about-concept .col2:nth-of-type(2){ border-radius: 12px;padding: 30px 15px;margin-top: 30px;}
.about dl dt{font-size: 1.3em;}
.about dl dd{margin-left: 1.4em;}
.about-therapist p:last-of-type{font-size: 1.5em;margin: 20px 0 40px;}
.therapist-area ul li{font-size: 1.15em;}
.about-company table tr th,
.about-company table tr td{font-size: 1em;padding: 10px;}
}


/*----------------------------
service
----------------------------*/
.service h2{
font-size: 2.14286em;
color: #57776b;
letter-spacing: 0.1em;
margin-bottom: 30px;
}

.service .mb-7 .text-center p{
line-height: 2.5em;
}

.pageBtn{
font-size: 1.14286em;
font-weight: 600;
text-align: center;
width: 28%;
margin: 0 2%;
filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.2));
}

.pageBtn a{
display: block;
border: 2px solid #8dc21f;
background-color: #ffffff;
border-radius: 10px;
padding: 10px 20px;
position: relative;
transition: all .5s;
}

.pageBtn a::after{
content: "";
display: inline-block;
width: 17px;
height: 17px;
background-image: url(./images/common/arrow.svg);
background-repeat: no-repeat;
background-position: center;
background-size: contain;
transform: rotate(-90deg);
position: absolute;
top: 15px;
right: 20px;
}

.pageBtn a:hover{
color: #8dc21f;
}


@media only screen and (max-width:1000px) {
.pageBtn{width: 45%;}
}

@media only screen and (max-width:620px) {
.service h2{font-size: 1.5em;line-height: 1.5em;margin-bottom: 15px;}
.pageBtn{font-size:0.85714em;width: 45%;}
.pageBtn a{padding: 8px;border-radius: 6px;}
.pageBtn a::after{
width: 12px;
height: 12px;
right: 8px;
}
}

.service .service-content{
background: #fbf8f0;
padding: 50px;
}

.service h3{
font-size: 2em;
letter-spacing: 0.1em;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
align-items: center;
}

.service h3:before{
content: "";
display: inline-block;
background: #8dc21f;
width: 12px;
height: 12px;
border-radius: 50px;
margin-right: 15px;
}

.service h4{
font-size: 1.5em;
color: #ffffff;
background: #8dc21f;
border-left: 10px solid #bbda79;
padding: 10px;
margin: 30px 0 20px;
}


.service-flow{
border: 2px solid #8dc21f;
background: #ffffff;
padding: 20px;
border-radius: 15px;
position: relative;
margin-bottom: 28px;
}

.service-flow:last-of-type{margin-bottom: 0;}

.service-flow::after{
content:"";
position:absolute;
left:50%;
transform:translateX(-50%);
bottom:-30px;
width:0;
height:0;
border-left:25px solid transparent;
border-right:25px solid transparent;
border-top:30px solid #8dc21f;
}

.service-flow:last-child::after{
display:none;
}

.service-flow .service-flow-tit{
font-size: 1.4em;
color: #8dc21f;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
align-items: center;
}

.service-flow .service-flow-tit .step{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
align-items: center;
}

.service-flow .service-flow-tit span{
color: #ffffff;
background: #8dc21f;
display: inline-block;
width: 27px;
height: 27px;
border-radius: 50px;
margin: 0 10px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
justify-content: center;
align-items: center;
line-height: 1;
}

.service-flow .service-flow-tit h5,
.service-flow p{
margin: 0;
}

.service-flow p,
.service-flow ul{
margin-top: 10px;
}

.service-flow dl dt{
font-weight: 600;
margin-top: 15px;
}


.service table{
border-collapse: collapse;
width: 100%;
border: 2px solid #8dc21f;
background: #ffffff;
}


.service table tr th,
.service table tr td{
font-size: 1.214289em;
border-bottom: 2px solid #8dc21f;
padding: 12px 15px;
}

.service table tr th{
color: #ffffff;
font-weight: 600;
background: #8dc21f;
border-bottom: 2px solid #ffffff;
}

.service table tr:last-of-type th{
border-bottom: none;
}


.service-flow dl dt::before{
content: "";
display: inline-block;
background: #8dc21f;
width: 14px;
height: 14px;
border-radius: 50px;
margin-right: 8px;
}

.service-con dl{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin-top: 20px;
}

.service-con dl dt,
.service-con dl dd{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
align-items:center;
padding:15px;
}

.service-con dl dt{
font-size: 1.07143em;
font-weight: 600;
color: #ffffff;
width: 25%;
background: #bbda79;
border-radius: 15px 0 0 15px;
}

.service-con dl dd{
font-size: 0.92857em;
line-height: 1.5em;
width: 75%;
background: #ffffff;
border-radius: 0 15px 15px 0;
}


#coaching .d-flex:first-of-type p{
font-size: 1.214289em;
line-height: 2em;
}


.coaching-reed{
align-items: stretch;
border-bottom: 1px solid #333333;
padding-bottom: 30px;
}

.coaching-reedImg,
.coaching-reed-inner{
width: 50%;
}

.coaching-reedImg{line-height: 0;}

.coaching-reedImg img{
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 20px 0 0 20px;
}

.coaching-reed-inner{
background:#ffffff;
padding: 20px 50px;
display:flex;
flex-direction:column;
justify-content:center;
border-radius: 0 20px 20px 0;
}

.coaching-reed h4{
font-size: 1.8em;
color: #8dc21f;
background: none;
border: none;
padding: 0;
margin: 0 0 10px;
}

@media only screen and (max-width:1200px){
.service table tr th,
.service table tr td{font-size: 1em;}
.coaching-reed{height: 250px;}
.coaching-reedImg{width: 35%;}
.coaching-reed-inner{width: 65%;}
}

@media only screen and (max-width:1000px) {
.service-flow .service-flow-tit{font-size: 1.14286em;}
.service-flow .service-flow-tit span{width: 22px;height: 22px;}
.coaching-reed-inner{padding: 10px 20px;}
.coaching-reed h4{font-size: 1.14286em;}
}

@media only screen and (max-width:768px){
.service-con{margin-top: 40px;}
}

@media only screen and (max-width:620px) {
.coaching-reed{height: auto;}
.service .service-content{padding: 20px;}
.coaching-reedImg,
.coaching-reed-inner{
width: 100%;
}

.coaching-reedImg img{
height: 150px;
border-radius: 15px 15px 0 0;
}

.coaching-reed-inner{
padding: 20px;
border-radius: 0 0 15px 15px;
}
}


@media only screen and (max-width:480px) {
.service h3{font-size: 1.5em;}
.service h4{font-size: 1.14286em;}
.service-flow .service-flow-tit{display: block;}
.service-flow .service-flow-tit .step,
.service-flow .service-flow-tit h5{width: 100%;}
.service-con dl dt,
.service-con dl dd{width: 100%;padding: 10px;}
.service-con dl dt{font-size: 1em;border-radius: 10px 10px 0 0;justify-content: center;}
.service-con dl dt br{display: none;}
.service-con dl dd{border-radius: 0 0 10px 10px;}
.service-con .mb-10{margin-bottom: 30px;}
#coaching .d-flex:first-of-type p{
font-size: 1em;
line-height: inherit;
}
.service table tr th,
.service table tr td{font-size:0.85714em;padding: 8px;}
}



/*----------------------------
contact
----------------------------*/

.contact dl{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin-bottom: 50px;
}

.contact dl dt{width: 25%;}
.contact dl dd{width: 72%;}

.contact p span,
.contact dt span{
font-size: 0.85714em;
color: #ffffff;
font-weight: 600;
background: #8dc21f;
padding: 5px 8px;
margin-right: 15px;
}

.contact dl dd.d-flex div{width: 48.5%;}

.contact dl dd span input,
.contact dl dd span textarea{
font-size: 1em;
display: block;
width: 100%;
padding: 10px 12px;
}

.wpcf7-list-item input{
display: inline-block!important;
width: auto!important;
}

input[type="checkbox"]{
border: 2px solid #ffffff;
}

input[type="checkbox"]{
accent-color: #8dc21f;
}


.contact-btn{
max-width: 300px;
margin: 0 auto 20px;
display: block;
text-align: center;
position: relative;
filter: drop-shadow(0 5px 10px rgba(0, 0, 0, 0.2));
}

.contact-btn input{
font-size: 1.5em;
width: 100%;
border: 2px solid #8dc21f;
background: #ffffff;
border-radius: 10px;
transition: .4s ease;
padding: 15px;
}

.contact-btn::after{
content: "";
display: inline-block;
background-image: url(./images/common/arrow.svg);
background-repeat: no-repeat;
background-position: center;
transform: rotate(-180deg);
background-size: 12px;
border: 2px solid #8dc21f;
border-radius: 50px;
width: 35px;
height: 35px;
position: absolute;
top:13px;
right: 20px;
}

.contact-btn input:hover{
cursor: pointer;
background: #cce49a;
}

.contact select{padding: 10px 15px;}

.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output{
border: none;
text-align: center;
color: #dc3232;
}

.wpcf7-radio .wpcf7-list-item input{
display: inherit;
width: inherit;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after{
content: none;
}

.wpcf7-list-item{margin: 0 0 0 1.2em;}
.wpcf7-list-item:first-child{margin: 0;}


@media only screen and (max-width: 520px){
.contact dl{margin-bottom: 30px;}
.contact dl dt{margin-bottom: 0.5em;}
.contact dl dt,
.contact dl dd{width: 100%;}
.contact p span, .contact dt span{margin-right: 10px;}
}
