@charset "utf-8";
@import url("hamburger.css");
@import url("root.css");

html{
	height:100%;
}
body{
	font-family: "Zen Kaku Gothic Antique", sans-serif;
	font-weight: 400;
	font-style: normal;
	height:100%;
	background-color: #FBFBF9;
}
#wrapper{
	overflow: hidden;
}
a.btn{
	padding:0.2rem 2rem 0.3rem;
	border-radius:50px;
	color:#fff;
	font-size:var(--font-small);
	letter-spacing:2px;
	display: inline-flex;
	align-items: center;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
    box-shadow: 0px 2px 3px 3px #00000029;
    background: var(--primary-gradient);
}
a.btn:hover{
	background-color: #ffffff8c;
	box-shadow: none;
}
.btn-arrow{
	font-size:var(--font-small);
	color:var(--primary-font-color-h1);
	letter-spacing: 1px;
	transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
}
.btn-arrow:hover{
    text-shadow: 0 2px 2px #00000025;	
}
.btn-arrow:after{
    content: "\f061";
    font-family: fontawesome;
    color: #fff;
    text-shadow: 0 2px 2px #00000025;
    background: var(--primary-gradient);
    padding: .8rem;
    border-radius: 50px;
    margin-left: 1rem;
}
.disabled {
	opacity: 0.3;
	cursor: not-allowed;
}
a.totop{
	position:fixed;
	bottom:1rem;
	right:1rem;
	background-color:#494444;
	color:#fff;
	font-weight: bold;
	border-radius: 50px;
	z-index: 10;
	text-align: center;
	padding: 2rem 2.5rem;
	box-shadow: 0 1px 10px #00000030;
	box-sizing: border-box;
}
a.totop:before{
	content:"\f106";
	font-family: FontAwesome;
	display: block;
}
.pc_br{
	display: none;
}
.pc_view{
	display: none;
}
p.err {
	text-align: center;
	color: red;
	font-size: var(--font-normal);
	font-weight: bold;
}
p.errormess {
    color: red;
    font-size: smaller;
    margin-bottom: .5rem;
}
/* inview */
.fadeIn_up {
	opacity: 0;
	transform: translate(0, 20%);
	transition: 0.5s;
}
.fadeIn_up.is-show {
	transform: translate(0, 0);
	opacity: 1;
}

header.top{
    position: relative;
    z-index: 10;
    background-image: url(../img/mainvisual_sp.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    /*padding: 0 0 17vh;*/
	box-sizing: border-box;
	height:100vh;
	box-shadow: 0 6px 6px #00000017;
}
#header{
    width: 100%;
	margin:0 auto;
    position: relative;
	background-color: #ffffff2e;
	box-shadow: 0 6px 6px #00000017;
}
#header.top{
	/*background-color:transparent;
	box-shadow: unset;*/
}
#header div.wrap{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding-top:1rem;
}
#navi-sp{
	width:40px;
	height:40px;
}
#logo{
	width: calc(100% - 64px);
    padding-right: 1rem;
}
#logo img{
	width: 100%;
}
#header .pc_navi{
	display: none;
}
#header #headAddress{
	width: 100%;
}
#header #headAddress .address{
	width:94%;
	margin:1rem auto 1.5rem;
	border:2px solid #BFB6AD;
	background-color: #ffffff56;
	border-radius:50px;
	padding: .5rem 0;
    font-size: var(--font-small);
}
#header #headAddress .address .biz-time {
	display: flex;
	justify-content: center;
	align-items: center;
}
#header #headAddress .address .biz-time p:first-child{
	margin-right:1.5rem;
}
#header #headAddress .address .tel{
	text-align: center;
    font-size: var(--font-middle);
    letter-spacing: 2px;
    font-weight: bold;
}
#header #headAddress .address .biz-time p strong,
#header #headAddress .address .tel i{
	color:#81776B;
}
#header #headAddress .social{
	display: inline-block;
	margin-left:1.5rem;
}
#header #headAddress .social a:before{
    font-size: var(--font-middle);
	content:"\f3c0";
	font-family: fontawesome;
	color:rgb(6, 199, 85);
}
#mainvisual h1{
	color: #81776B;
	/*text-shadow: var(--primary-text-shadow);*/
	text-align: center;
	font-weight: bold;
	font-size: var(--font-middle);
	/*background-color: #ffffff85;
	padding: 1.5rem 2rem;
	border-radius: 2rem;
	box-shadow: 0px 0px 7px 5px #00000005;*/
	margin: 5rem auto 0;
}
#mainvisual h1 span{
	display: block;
	font-weight: normal;
	font-size:var(--font-small);
	margin-top:1rem;
	color:#1D1D1D;
}

/* __common__ */
.container{
	padding:6rem 2.4rem;
	text-align: center;
}
.container>h1,
.vision__block h1,
.philosophy__block h1,
.cred__block h1,
.service-menu__block h1{
	color:var(--primary-font-color-h1);
	text-shadow: var(--primary-text-shadow);
	font-size:var(--font-middle);
	line-height: 125%;
	margin-bottom:2rem;
}
.container>h1 span,
.vision__block h1 span,
.philosophy__block h1 span,
.cred__block h1 span,
.service-menu__block h1 span{
	display: block;
	font-size:var(--font-vsmall);
	letter-spacing: 1px;
}
.container>h2,
.vision__block h2,
.philosophy__block h2{
	font-size:var(--font-normal);
	line-height: 165%;
	margin-bottom:2rem;
}
.container>h3{
	font-size:var(--font-normal);
	letter-spacing: 3px;
	line-height: 165%;
	margin-bottom:2rem;
}
.container>p,
ul.value li p{
	font-size:var(--font-small);
	text-align: left;
	line-height: 165%;
	margin-bottom:2rem;
}
.container>h4,
.container h4.index{
	font-size:var(--font-middle);
	letter-spacing: 3px;
	line-height: 165%;
	text-align: left;
}
.container>h4:after,
.container h4.index:after{
	margin-top:2rem;
	margin-bottom:2rem;
	border-top:2px solid #1E0000;
	width:100px;
	content:"";
	display: block;;
}
/* MISSION */
#mission{
}
#mission img{
	width:100%;
}

/* counseling-service */
#counseling-service{
	background-color:#F3F2F1;
}
#counseling-service .container div.check{
	font-size:var(--font-middle);
}
.service-item-list__item .card{}
.service-item-list__item .card a:not(.btn-arrow){
	display: block;
	width:100%;
	height:100%;
}

.service-item-list__item .card__head-title{
	font-size:var(--font-middle);
	color:var(--primary-font-color-white);
	margin-bottom:var(--mb-vnarrow);
	text-align: left;
}
.service-item-list__item .card__head-sub{
	font-weight: bold;
	font-size:var(--font-small);
	background: var(--primary-gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.service-item-list__item .card__caption{
	font-size:var(--font-small);
	color:var(--primary-font-color-white);
}
.service-item-list__item{
	max-width: 100%;
	height: 25rem;
	padding: 0.1rem 0 0.2rem 0;
}
.service-item-list__item .card{
	width:100%;
	height:100%;
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	color:var(--primary-font-color-white);
	background-color: #fff;
	border-radius: 0rem;
}
.service-item-list__item .card__head{
	position: absolute;
	z-index: 2;
	top: 2rem;
	left: 2.5rem;
	margin-right: 2.5rem;
}
.service-item-list__item .card__caption{
	position: absolute;
	z-index: 2;
	top: 11rem;
	left: 2.5rem;
	margin-right: 2.5rem;
}
.service-item-list__item .card__img{
	width: 100%;
	height: 100%;
}
.service-item-list__item .btn-arrow{
	position: absolute;
	z-index: 2;
	bottom: 1.7rem;
    right: 1rem;
	color:var(--primary-font-color-white);
	transition: transform 0.8s cubic-bezier(0.16,1,0.3,1);
}
.service-item-list__item .card__img img{
	position: absolute;
	z-index: 0;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-webkit-transition: -webkit-transform 0.8s cubic-bezier(0.16,1,0.3,1);
	transition: -webkit-transform 0.8s cubic-bezier(0.16,1,0.3,1);
	transition: transform 0.8s cubic-bezier(0.16,1,0.3,1);
	transition: transform 0.8s cubic-bezier(0.16,1,0.3,1), -webkit-transform 0.8s cubic-bezier(0.16,1,0.3,1);
	will-change: transform;
	-webkit-transform: scale(1);
	transform: scale(1);
}
.service-item-list__item .card__img-overlay{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 80%;
	background-color: rgba(0, 0, 0, 0.4);
	-webkit-transition: background-color 0.8s cubic-bezier(0.16,1,0.3,1);
	transition: background-color 0.8s cubic-bezier(0.16,1,0.3,1);
	will-change: background-color;
}
@media (hover: hover) and (pointer:fine) {
	.service-item-list__item .card__link:hover .card__img img{
		-webkit-transform:scale(1.05);
		transform: scale(1.05)
	}
	.service-item-list__item .card__link:hover .card__img-overlay {
		background-color:rgba(0, 0, 0, 0.082)
	}
}
/* boss */
#greeting{
}
#greeting .container{

}
.greeting-container-block{
	
}
.greeting-container-block img.owner{
	width:100%;	
	box-shadow: var(--primary-text-shadow);
	border-radius: 20px;
	margin-bottom:4rem;
}

.greeting-container-block h2{
	margin-top:3rem;
	font-size:var(--font-normal);
    line-height: 1.2;
}
.greeting-container-block p{
	font-size:var(--font-small);
    line-height: 1.6;
	text-align:left
}
.greeting-container-block p>img{
	width:40%;
}

/* news/blog */
#news,
#blog{
	background-color: #F3F2F1;
}
#news{
	border-bottom:1px dotted gray;
}
#news .container{
	padding:6rem 2.4rem 3rem;
}
#news.list .container{
	padding:6rem 2.4rem 10rem;
}
#blog .container{
	padding:3rem 2.4rem 6rem;
}
#news .container ul,
#blog .container ul{
	width:86%;
	margin:0 auto;
	list-style-type: none;
}
#news .container ul li,
#blog .container ul li{
	width:100%;
	margin-bottom:var(--mb-wide);
	background-color:#fff;
	color:var(--primary-font-color);
	padding-bottom:1.5rem;
	text-align: left;
	border-radius: 5px;
}
#news .container ul li:hover,
#blog .container ul li:hover{
	box-shadow: 0px 0 6px 4px #3f3f3f45;
}
#news .container ul li img,
#blog .container ul li img{
	width:100%;
	height:168px;
	object-fit: cover;
	margin-bottom:var(--mb-narrow);
}
#news .container ul li a img:hover,
#blog .container ul li a img:hover{
	opacity: 1;
}
#news .container ul li span,
#blog .container ul li span{
	display: block;
    font-weight: bold;
	font-size:var(--font-vsmall);
    width: 90%;
	color:var(--primary-font-color-gray);
    margin: .8rem auto;
}
#news .container ul li p,
#blog .container ul li p{
    font-size: var(--font-small);
    width: 90%;
    margin: .8rem auto;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
#news .pagenation ,
#blog .pagenation {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin: 4rem auto 0;
}
#news  .pagenation .page-numbers ,
#blog  .pagenation .page-numbers {
	width: 50px;
	height: 50px;
	font-size: var(--font-small);
	font-weight: 400;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #ccd2d6;
	transition: background-color ease .3s;
}
#news  .pagenation .page-numbers.current ,
#blog  .pagenation .page-numbers.current {
	color: #fff;
	background:var(--primary-gradient);
	border: 1px solid #ccd2d6;
}
.news-body{
	width:100%;
	background-color:#fff;
	border-radius: 10px;
	padding:2rem 1.8rem;
	text-align: left;
}
.news-body .entry-header{
	font-size: var(--font-normal);
	padding-bottom:2rem;
	border-bottom:1px dotted gray;
	margin-bottom:.5rem;

}
.news-body .entry-meta{
	font-size: var(--font-vsmall);
	text-align: right;
		margin-bottom:.5rem;
}
.news-body .entry-body{
	font-size: var(--font-small);
	line-height: 1.5;
}
.news-body .entry-body p{
	margin-bottom:1rem;
}
.back-link{
	margin-top:2rem;
}
/* map */
#map iframe{
	width:100%;
	height:500px;
}

/* calendar */
#calendar{
	padding:1rem 0;
}
#calendar table{
	width:100%;
	margin:0 auto;
    border-collapse: separate;
    border-spacing: 2px;
}
#calendar table th,
#calendar table td{
	border:1px solid #A4C8C8;
	text-align: center;
	padding:2px;
}
#calendar table th{
	background-color:#A4C8C8;
	font-size:var(--font-vsmall);
	color:#fff;
}
#calendar table th.head{
	writing-mode: vertical-rl;
	letter-spacing: 1px;
	border-radius: 15px 0 0 15px;
}
#calendar table td{
	font-size:var(--font-middle);
	font-weight:bold;
	color:#A4C8C8;
}
#calendar table td.week{
	font-size:var(--font-small);
	font-weight:normal;
	color:var(--primary-font-color);
}
#calendar table td.week:last-child{
	border-radius: 0 15px 0 0 ;
}
#calendar table tr:last-child :last-child{
	border-radius: 0 0 15px 0;;
}
/* footer */
#footer{
	background-image: url(../img/bg-footer.jpg);
    background-position: center bottom;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 3rem 0;
	position: relative;
}

#footer .container{
	width: 86%;
	margin: 0 auto;
	padding:0;
	position: relative;
	z-index: 2;
}
#footer .container ul{
	list-style-type: none;
	z-index:2;
}
#footer .container ul.sitemap li{
	text-align:left;
	margin-bottom:.5rem;
	white-space: nowrap;
}
#footer .container ul.sitemap li a{
	color:var(--primary-font-color-white);
	font-size:var(--font-small);
}
#footer .container ul.sitemap>li>ul{

}
#footer .container ul.sitemap>li>ul>li{
}
#footer .container ul.sitemap>li>ul>li>a{
	font-weight: bold;
}
#footer .container ul.sitemap>li>ul>li>a:before{
	content:"\f105";
	font-family: fontawesome;
	font-weight: bold;
	margin-right:1rem;
}
#footer .container ul.sitemap>li>ul>li ul{
	margin-top:.5rem;
	margin-left:2rem;
}
#footer .container ul.sitemap>li>ul>li ul li{
}

#footer .container ul.address{
	margin:4rem 0 0 0 ;
}
#footer .container ul.address address{
	margin-top:2rem;
	font-size:var(--font-vsmall);
}
#footer .container ul.address address img{
	width:1.7rem;
}
#footer .container ul.address address p{
	font-size:var(--font-small);
	color: var(--primary-font-color-white);
	text-align: left;
}
#footer .container ul.address a.mail{
    margin-top: 2rem;
    border: 0 none;
    width: 100%;
    background: var(--primary-gradient);
    box-sizing: border-box;
    display: flex;
    justify-content: center;
	align-items: center;
}
#footer .container ul.address a.mail i{
	margin-right:.5rem
}
#footer .container ul.address .social-footer{
	margin-top:3rem;
}
#footer .container ul.address .social-footer a.line{
    display: inline-block;
    background-color: #fff;
    /* height: 32px; */
    line-height: 1;
    border-radius: 10px;
}
#footer .container ul.address .social-footer a.line::before{
    font-size: 5rem;
	content:"\f3c0";
	font-family: fontawesome;
	color:rgb(6, 199, 85);
}
#footer .container p.copyright{
	margin-top:4rem;
	text-align: center;
	font-size:var(--font-vsmall);
	color:var(--primary-font-color-white);
}
#footer .card__img-overlay{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	-webkit-transition: background-color 0.8s cubic-bezier(0.16,1,0.3,1);
	transition: background-color 0.8s cubic-bezier(0.16,1,0.3,1);
	will-change: background-color;
}

/* about */
table.profile{
	width:100%;
}
table.profile th,
table.profile td{
	border:1px solid #BFB6AD;
	padding:1rem 2rem;	
	font-size:var(--font-small);
}
table.profile th{
	white-space: nowrap;
	border-left:0 none;
	font-weight: normal;
}
table.profile td{
	border-right:0 none;
	text-align: left;
	padding-right:0;
}
ul.partnership{
	margin-left:2rem;
}
ul.partnership li{
	margin-bottom:.5rem;
}
ul.partnership a{
	font-weight:bold;
	text-decoration: underline;
}
.about-greeting{
	font-size:1.3rem !important;
}
.about-greeting:before{
	margin-top:2rem;
	margin-bottom:2rem;
	border-top:2px solid #1E0000;
	width:100px;
	content:"";
	display: block;;
}

#achievements ul{
	margin-left:2rem;
}
#achievements ul li{
	font-size:var(--font-small);
	text-align: left;;
}
/* philosophy */
#philosophy{
	margin-top:10rem;
}
#vision{
	margin-top:10rem;
	margin-bottom:10rem;
}

.philosophy__inner,
.vision__inner{
	position: relative;
    display: flex;
    max-width: 960px;
    height: 600px;
    margin-inline: auto;
}
.philosophy__inner::before,
.vision__inner::before{
	content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-600px);
    z-index: -1;
    width: 1200px;
    height: 100%;
    background: #fff;
	box-shadow: var(--primary-text-shadow);
}
.philosophy__image{
	position: absolute;
    top: -60px;
    left: 50%;
    transform: translateX(-100%);
    width: 720px;
}
.vision__image {
    position: absolute;
    top: -60px;
    right: 50%;
    transform: translateX(100%);
    width: 720px;
}
.philosophy__image img,
.vision__image img{
	max-width: 100%;
    height: auto;
    vertical-align: middle;
	box-shadow: var(--primary-text-shadow);
}
.philosophy__block,
.vision__block{
	box-sizing: border-box;
	font-size: var(--font-small);
	line-height: var(--primary-line-height);
}
#cred{
	margin-top:5rem;
	background-image: url(../img/image_credo.jpg);
	background-repeat: no-repeat;
	background-position: center;
	padding:3rem 0
}
.cred__inner{
    margin: 0 auto;
    width: 86%;
    text-align: center;
    background: #fff;
    box-shadow: var(--primary-text-shadow);
    padding: 3rem 2rem;
}
.cred__inner ul{
	list-style-type: none;
	text-align: left;
}
.cred__inner ul li{
	margin-bottom:2rem;
}
.cred__inner ul li h2{
	color: #81776B;
	padding-bottom:.5rem;
	border-bottom:2px solid #81776B;
	margin-bottom:1rem;
}
@media screen and (max-width: 768px) {
	.philosophy__inner {
		flex-direction: column;
		height: auto;
	}
	.philosophy__image {
		position: static;
		transform: none;
		width: 335px;
		margin: -50px auto 0 0;
	}
	.philosophy__block {
		padding: 50px 40px;
	}
	.vision__inner {
		flex-direction: column;
		height: auto;
	}
	.vision__image {
		position: static;
		transform: none;
		width: 335px;
		margin: -50px 0 0 auto;
	}
	.vision__block {
		padding: 50px 40px;
	}
}

/* staff */

.greeting-container-block p.jobdescription{
	font-size: var(--font-small);
    margin: 0;
}
.greeting-container-block p.name{
	font-weight: bold;
    font-size: var(--font-middle);
    margin: 0 0 1rem;
}
.greeting-container-block p.name span{
	font-weight: normal;
    font-size: var(--font-small);
    margin-left: 2rem;
}
.qualification{
	list-style-type: none;
	text-align: left;
	margin-bottom:1rem;
}
.qualification li{
    font-size: var(--font-vsmall);
}
.greeting-container-block p.career{
	font-size:var(--font-small);
	line-height: 1.4;
}
div.staff h3{
	text-align: left;
	font-size: var(--font-small);
	margin-bottom: .5rem;
}
div.staff h4{
	text-align: left;
	font-size: var(--font-small);
	margin-bottom: .5rem;
	font-style: italic;
	margin-top:2.5rem;
}
/* service-menu */

#service-menu{
	margin-top:12rem;
	margin-bottom:10rem;
}

.service-menu__inner{
	position: relative;
    display: flex;
    max-width: 960px;
    /*height: 960px;*/
    margin-inline: auto;
}
.service-menu__inner::before{
	content: "";
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-600px);
    z-index: -1;
    width: 1200px;
    height: 100%;
    background: #fff;
	box-shadow: var(--primary-text-shadow);
}
.service-menu__image{
	position: absolute;
	top: -50px;
	left: 20%;
	transform: translateX(-100%);
	width: 330px;
}
.service-menu__image img{
	max-width: 100%;
    height: auto;
    vertical-align: middle;
	box-shadow: var(--primary-text-shadow);
}
.service-menu__block{
	font-size: var(--font-small);
	line-height: var(--primary-line-height);
}
.service-menu__block h3{
	margin-top:3rem;
	margin-bottom:1rem;
}
.service-menu__block h3:before{
	content:"\f058";
	font-family: fontawesome;
	color:#A07E53;
	margin-right:1rem;
}
.service-menu__block ol,
ul.check{
	margin-left: 2rem;
    font-weight: bold;
    font-size: var(--font-small);
}
.service-menu__block ol>li,
ul.check li{
	text-align: left;
	margin-bottom:1rem;
}
.service-menu__block ol>strong{

}
.service-menu__block ol>li>ul{
	list-style-type: none;
}
.service-menu__block ol>li>ul>li{
	margin-top:.5rem;
	font-weight: normal;
}
.service-menu__block ol>li>ul>li:before,
#approach .container>div ol>li ul li:before,
ul.check li:before{
	content:"\f00c";
	font-family: fontawesome;
	color:#66d300;
	margin-right:1rem;
}
ul.check{
	list-style-type: none;
}
ul.check li{
	font-weight: normal;
}
ul.check li:before{
		color: #A07E53;
}
@media screen and (max-width: 768px) {
	.service-menu__inner {
		flex-direction: column;
		height: auto;
	}
	.service-menu__image {
		position: static;
		transform: none;
		width: 335px;
		margin: -50px auto 0 0;
	}
	.service-menu__image img{
		width: 335px;
		height:250px;
		object-fit: cover;
	}
	.service-menu__img{
		object-position: 0px -570px;
	}
	.service-menu__block {
		padding: 50px 40px;
	}
}

/* approach */
#approach .container{
	background-image:url("../img/service/service_img.jpg");
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size:100%;
	padding-top:4rem;
	padding-bottom:30%;
	margin-bottom:10rem;
}
#approach .container h3{
	text-align: left;
	background-color:#a07e530f;
	border-radius: 50px;
}
#approach .container h3 a{
	font-size: var(--font-normal);
	color: #81776B;
	display: block;
	width: 100%;
	padding: 1rem 2rem;
	position:relative;
	box-sizing: border-box;
}
#approach .container h3 a:before{
	content:"\f058";
	font-family: fontawesome;
	color:#A07E53;
	margin-right:1rem;
}
#approach .container h3 a:after{
    font-family: fontawesome;
    color: #fff;
    text-shadow: 0 2px 2px #00000025;
    background: var(--primary-gradient);
    /* padding: .8rem; */
    border-radius: 50px;
    margin-left: 1rem;
    position: absolute;
    right: 10px;
    width: 34px;
    height: 34px;
    box-sizing: border-box;
    text-align: center;
    padding-left: .3rem;
    padding-top: .1rem;
}
#approach .container h3 a.open:after{
	content: "\f107";
}
#approach .container h3 a.close:after{
	content: "\f106";
}
#approach .container>div{
	border-left:2px solid #81776B;
	width: 87%;
    margin: 0 auto;
	display:none;
}
#approach .container>div ol{
	font-size:var(--font-small);
	font-weight: bold;
	margin-left:4rem;
	margin-bottom:2rem;
}
#approach .container>div ol>li{
	text-align: left;
	color:#707070;
	margin-bottom:1.5rem;
}
#approach .container>div ol>li p{
	font-weight: normal;
	line-height: var(--primary-line-height);
}
#approach .container>div ol>li ul{
	list-style-type: none;
    margin-left: .2rem;
}
#approach .container>div ol>li ul li{
	font-weight: normal;
	line-height: var(--primary-line-height);
    font-size: var(--font-small);
}
#approach .contract{
	background-color: #BFB6AD;
	color: #fff;
	font-size: var(--font-small);
	margin-top:2rem;
	padding:1rem 2rem;
	border-radius: 10px;;
}
/* services */
#services .container{
	padding-bottom:2rem;
}
#services ul.service-list{
	list-style-type: none;
}
#services ul.service-list li{
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
    padding: 3rem 0 2rem;
	position: relative;
}
#services ul.service-list li:after{
    width: 100%;
    content: "";
    background-color: #00000030;
    height: 70%;
    position: absolute;
    bottom: 0;
    left: 0;
    /* transform: translateX(-600px); */
    z-index: 1;
}
#services ul.service-list li.menu01{
	background-image:url("../img/service/menu01/bg-menu.jpg");
}
#services ul.service-list li.menu02{
	background-image:url("../img/service/menu02/bg-menu.jpg");
}
#services ul.service-list li.menu03{
	background-image:url("../img/service/menu03/bg-menu.jpg");
}
#services ul.service-list li.menu04{
	background-image:url("../img/service/menu04/bg-menu.jpg");
}
#services ul.service-list li.menu05{
	background-image:url("../img/service/menu05/bg-menu.jpg");
}
#services ul.service-list li.menu06{
	background-image:url("../img/service/menu06/bg-menu.jpg");
}
#services ul.service-list li.menu07{
	background-image:url("../img/service/menu07/bg-menu.jpg");
}
#services ul.service-list li.menu08{
	background-image:url("../img/service/menu08/bg-menu.jpg");
}
#services ul.service-list li.menu09{
	background-image:url("../img/service/menu09/bg-menu.jpg");
}
#services ul.service-list li.menu10{
	background-image:url("../img/service/menu10/bg-menu.jpg");
}
#services ul.service-list li.menu11{
	background-image:url("../img/service/menu11/bg-menu.jpg");
}
#services ul.service-list li.menu12{
	background-image:url("../img/service/menu12/bg-menu.jpg");
}
#services ul.service-list li .container-block{
	box-sizing: border-box;
	padding:0 2.4rem;
}
#services ul.service-list li .container-block h2{
    color: #fff;
    font-size: var(--font-normal);
}
#services ul.service-list li .container-block h2 span{
	display: block;
    font-size: var(--font-vsmall);
}
#services ul.service-list li .container-block>div{
	margin-top:4rem;
	color:#fff;
    font-size: var(--font-small);
	z-index:2;
	position: relative;
}
#services ul.service-list li .container-block>div div{
	border-top:1px dotted #fff;
	margin-top:1.5rem;
	padding-top:1.5rem;
	text-align: right;
}
#services ul.service-list li .container-block>div div a{
	color:#fff;
    font-size: var(--font-vsmall);
}

/* guide */
#guide .container{
	text-align: left;;
}
#guide .guide-step{
	border-left:2px solid #000;
	margin-left:2rem;
}
#guide .guide-step h5,
#guide .business_menu h5{
	color: #000;
	font-size: var(--font-normal);

	margin-left: -18px;
	margin-bottom:1rem;
}
#guide .guide-step h5 span.num,
#guide .business_menu h5 span.num{
	background-color: #000;
	color: #fff;
	display: inline-block;
	font-size: var(--font-middle);
	border-radius: 40px;
	width: 34px;
	text-align: center;
	margin-right:2rem;
	text-indent:0;
}
#guide .guide-step h5 span.num.goal{
	background-color: #A07E53;
	font-size: var(--font-vsmall);
	height: 34px;
	line-height: 2.6;
}
#guide .guide-step p{
	font-size:var(--font-small);
	padding-left:3.5rem;
	margin-bottom:3rem;
}
#guide .container>strong{
	text-align: left;
	font-size:var(--font-normal);
	margin-bottom:1rem;
	line-height: 2;
}
#guide .container ul.check{
	list-style-type:none;
}
#guide .container ul.check li{
	font-size:var(--font-small);
	text-indent: -2rem;
	margin-left: 2rem;
	line-height: var(--primary-line-height);
}
#guide .container ul.check li:before{
	content:"\f00c";
	font-family: fontawesome;
	margin-right:1rem;
	color: #A07E53;
}
#guide .container div.check,
#counseling-service .container div.check{
	border:1px solid #707070bb;
	padding:3rem 4rem;
	font-size:var(--font-small);
	margin-top:3rem;
	border-radius: 20px;
	position: relative;
	margin:3rem 0rem 3rem .5rem;
}
#guide .container div.check::before,
#counseling-service .container div.check::before{
	font-size: var(--font-middle);
	border-radius: 40px;
	width: 44px;
	height:44px;
	display: block;
	position: absolute;
	top:-15px;
	left:-15px;
	content:"\f00c";
	font-family: fontawesome;
	margin-right:1rem;
	background-color: #A07E53;
	text-align: center;
	line-height: 2;
	color:#fff;
}
#guide .business_menu{
	list-style-type: none;
}
#guide .business_menu h5{
	text-indent: -5rem;
    margin-left: 5rem;
}
#guide .business_menu dl{
    font-size: var(--font-small);
    margin-bottom: 3rem;
	display: flex;
	flex-wrap: wrap;
	align-items: start;
}
#guide .business_menu dl dt,
#guide .business_menu dl dd{
	margin-bottom:.7rem;
}
#guide .business_menu dl dt{
	color: #fff;
    background-color: #81776B;
    border-radius: 6px;
    font-size: var(--font-vsmall);
    text-align: center;
    width: 70px;
    margin-right: 1rem;
    padding: 4px 0px;
}
#guide .business_menu dl dd{
	width:calc(100% - 85px);
	letter-spacing: 1px;
	line-height: var(--primary-line-height);
}
#guide .plan table{
	width:100%;
}
#guide .plan table td{
	border-top:1px solid #D2D2D2;
	border-right:1px solid #D2D2D2;
	border-bottom:1px solid #D2D2D2;
	background-color: #fff;
	padding:2rem 1rem 3rem 2rem;
}
#guide .plan table td.light{
	border-left:20px solid #FCD9AF;
}
#guide .plan table td.standard{
	border-left:20px solid #E5C297;
}
#guide .plan table td.premium{
	border-left:20px solid #B39066;
}
#guide .plan table td h5{
	font-size:var(--font-normal);
	margin-bottom:1rem;
}
#guide .plan table td p{
	font-size:var(--font-small);
}
#guide .plan table td h6,
.price td{
	font-size:var(--font-large);
	font-weight: bold;
	margin-bottom:1rem;
	letter-spacing: 2px;
	color:#49351e;
}
#guide .plan table td h6 span,
.price th{
	font-size:var(--font-vsmall);
	font-weight: normal;
	margin-right:1rem;
	letter-spacing: 1px;;
	color:#1D1D1D;
}
#guide .plan table td ul{
	font-size:var(--font-small);
	margin-left:2rem;
}
#guide .plan table td ul li strong{
	color:#49351e;
}
#guide .contract{
	background-color: #BFB6AD;
	color: #fff;
	font-size: var(--font-small);
	margin-top:2rem;
	padding:1rem 2rem;
	border-radius: 10px;;
}

/* service-menu10 */
table.price{
	width:100%;
	margin:1rem auto;
    border-collapse: separate;
    border-spacing: 2px;
}
table.price td{
	padding:1rem 3rem;
	font-size:var(--font-middle);	
	text-align: left;
}
table.price th{
	font-size:var(--font-small);
	background-color:#fbfbf9;
	padding:0 2rem;
}


/* cocofit */

#cocofit .container{
	padding-top:1rem;
}
#cocofit .container h3{
	text-align: left;
	background-color:#a07e530f;
	border-radius: 50px;
}
#cocofit .container h3 a{
	font-size: var(--font-normal);
	color: #81776B;
	display: block;
	width: 100%;
	padding: 1rem 2rem;
	position:relative;
	box-sizing: border-box;
}
#cocofit .container h3 a:before{
	content:"\f058";
	font-family: fontawesome;
	color:#A07E53;
	margin-right:1rem;
}
.cocofit__block{
	display: block !important;
}
.cocofit__block p{
	text-align: left;
	font-size:var(--font-small);
	margin-top:1rem;
}
.cocofit__block ul{
	margin:2rem 0;
}
.cocofit__block>div div.acquire{
	background-color:#F3F2F1;
	border-radius: 15px;
	padding:2.5rem 3rem;
	text-align: left;
	margin-top:2rem;
}
.cocofit__block>div:last-child{
	margin-top:6rem;
}
.cocofit__block>div div.acquire h4{
	color:#81776B;
	font-size:var(--font-normal);
	margin-bottom:1rem;
}
.cocofit__block>div div.acquire h4:before{
	content:"\f005";
	font-family: fontawesome;
	margin-right:1rem;
	color:orange;
}
.cocofit__block>div div.acquire ul{
	list-style-type: none;
}
.cocofit__block>div div.acquire ul li,
.cocofit__block>div ol li{
	font-size:var(--font-small);
	margin-bottom:.5rem;
	text-align:left;
}
.cocofit__block>div div.acquire ul li:before{
	content:"\f058";
	font-family: fontawesome;
		color:#66d300;
		margin-right:1rem;
}
#cocofit h5{
	margin-top:3rem;
	font-size:var(--font-normal);
	font-weight: normal;
	padding-bottom:.5rem;
	margin-bottom:1rem;
	border-bottom:1px solid #81776B;
}
#cocofit ol{
	margin-left:2rem;
	font-size:var(--font-small);
	line-height: var(--primary-line-height);
}

#recommend{
	background-color:#fff;
    box-shadow: 0px 2px 3px 3px #00000029;
}
#recommend div.caution{
	margin-top:0rem;
}
#recommend div.caution>.container{
	padding-top:0;
	width:100%;
}


/* form */
#contact{
	overflow: hidden;
	padding-bottom:5rem;
	position: relative;
	width:var(--sp-content-width);
	margin: 0 auto;
	text-align: left;
	box-sizing: border-box;
}

#contact table{
	margin-top:3rem;
}
#contact table tr{
	border-bottom:1px solid #d4d4d478;
	padding-bottom: 10px;
	margin-bottom:15px;
	display: block;
}
#contact table th,
#contact table td{
    display: block;
    width: 100%;
    font-size: 1.5rem;
    font-weight: normal;
}
#contact table th{
	padding: 0 0 5px 0;
}
#contact table th:before{
	content:"\f04b";
	font-family: FontAwesome;
	font-size: .8rem;
    margin-right: 1rem;
}

#contact table td{
	padding: 0 0 15px 0;
}
#contact table td a{
	text-decoration: underline;
}
#contact table td.radio{
}
#contact table td.radio div{
	margin-top:2rem;
}
#contact table td div.form-gray{
	background-color: #F6F5F7;
    box-sizing: border-box;
    padding: 10px 20px;
    border-radius: 30px;
    position: relative;
    display: flex;
    align-items: center;
	min-height:50px;
}

#contact table td div.form-gray input[type='text']{
	background-color:transparent;
	border:0 none;
	font-size:1.5rem;
	width:95%;
	padding:0;
}
#contact table td div.form-gray select,
#contact table td div.form-gray textarea{
	background-color:transparent;
	border:0 none;
	font-size:1.5rem;
	width:100%;
}
#contact table td div.form-gray textarea{
	height:200px;
}
#contact table td div.form-gray.require:after{
	content:"必須";
	color:red;
	font-size:1.2rem;
	white-space: nowrap;
}
#contact span.required{
	color:red;
	font-size:1.2rem;
	white-space: nowrap;
}
#contact table td label {
	position: relative;
	cursor: pointer;
	padding-left: 50px;
}
#contact .g-recaptcha{
	display: flex;
    justify-content: center;
    margin-bottom: 4rem;
}
.design::before,
.design::after {
	content: "";
	display: block; 
	border-radius: 50%;
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
}
.design::before {
	background-color: #F6F5F7;
    border-radius: 50%;
    width: 35px;
    height: 35px;
    left: 5px;
}
.design::after {
	background-color: #b3e5c7;
    border-radius: 50%;
    opacity: 0;
    width: 16px;
    height: 16px;
    left: 15px;
}
input:checked + .design::after {
	opacity: 1;
}
.sq{
	display: block;
}
.sq::before {
	border-radius: 5px;
}
.sq::after {
	content:"\f00c";
	background-color:transparent;
	font-family: FontAwesome;
	font-size:2rem;
	top:36%;
}


/* パララックス */
.pallax-bg{
	position: relative;
	overflow: hidden;
}
.rellax-mission ,
.rellax-solution,
.rellax-about,
.rellax-contact{
    display: block;
    width: 100%;
    position: absolute;
    box-sizing: border-box;
	opacity:0.8;
}

.rellax-mission {
    top: 300px;
	left: -340px;
	z-index:-1;
}
.rellax-mission img{
    width: 165%;
}
.rellax-solution {
    top: -250px;
    right: 50px;
}
.rellax-solution img{
    width: 140%;
}
.rellax-about {
	bottom: 50px;
    left: -280px;
	z-index:-1;
}
.rellax-about img{
    width: 165%;
}
.rellax-contact {
	bottom: -150px;
	right: 180px;
	z-index: -1;
}
.rellax-contact img{
    width: 165%;
}
