@charset "UTF-8";
/* ================================================================================
CSS information
 file name	: contents.css
 style info	: 個別ページ設定
 author		: SAHO+DESIGN
 author URI	: http://www.saho-design.com
================================================================================ */
#home{}
/* =========================================   TOP IMAGE   ========================================= */
.home-topImg {
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	height: 600px;
	background: url("../images/home/topImg_sp.png") no-repeat top center;
	background-size: cover;
	border-radius: 40px 40px 0 0;
	z-index: -1;
}
.slogan{
	display: none;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
  .home-topImg {
    height: 550px;
    background: url("../images/home/topImg_tab.png") no-repeat top center;
		border-radius: 60px 60px 0 0;
  }
	.slogan{
		display: block;
		position:relative;
		top: 120px;
		left: 50%;
		width:350px;
		height:auto;
		line-height:1;
		opacity:1;
		-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=1)"
	}
	.slogan img{
		max-width:100%;
		height:auto;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
  .home-topImg {
    height: calc(100vh - 115px);
    background: url("../images/home/topImg_pc.png") no-repeat top center;
		border-radius: 80px 80px 0 0;
  }
	.slogan{top:80px; left: 50%; width:550px;}
}
@media screen and (min-width: 1600px) {  /* ---------------   PC   --------------- */
	.slogan{top:170px; left: 45%; width:750px;}
}

#home .readmore label{
	cursor: pointer;
	font-size:90%;
}
#home .readmore input{
	display: none;
}
#home .readmore input ~ span.contents {
	display: none;
}
#home .readmore input ~ span.close {
	display: none;
}
#home .readmore input:checked ~ span.open{
	display: none;
}
#home .readmore input:checked ~ span.contents{
	display: inline;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#home .readmore label{
		display: none;
	}
	#home .readmore input ~ span.contents {
		display: block;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#home .message{
		width: 940px;
	}
}

#home .pointBox {
	position: relative;
	margin: 5px 0;
	padding: 10px 10px;
	background: #F7F6F5;
	border: solid 1px #F7F6F5;
	border-radius: 8px;
}
#home .pointBox .pointNum {
	position: absolute;
	display: inline-block;
	top: -.9em;
	left: 50%;
	transform: translateY(0) translateX(-50%);
	font-size: 1.4em;
	color: #F7F6F5;
	font-weight: bold;
	text-align:center;
	width:40px;
	height:40px;
	background: #00AFCC;
	border-radius:50%;
	line-height:1.8;
}
#home .pointBox h3 {
	font-size: 2.0rem;
	font-weight:600;
	margin: 20px 0;
	padding: 0;
	text-align: center;
	border: none;
}
#home .pointBox img.sp{
	width:70%;
}
#home .qualityBox {
	position: relative;
	margin: 0;
	padding: 10px 10px;
	background: #fff;
	border-radius: 8px;
}
#home .qualityBox p{
	padding: 5px 5px;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#home .pointBox {
		margin: 20px 0;
		padding: 20px 15px;
	}
	#home .pointBox h3 {
		font-size: 2.1rem;
		margin: 30px 0;
	}
	#home .pointBox img.sp{
		width:100%;
	}
	#home .qualityBox p{
		padding: 10px 15px;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#home .pointBox {
		padding: 25px 25px;
	}
	#home .pointBox .pointNum {
		top: -1em;
		left: 50%;
		font-size: 1.6em;
		width:50px;
		height:50px;
		line-height:1.8;
	}
}



/* =========================================   ABOUT   ========================================= */
#about .topImg {
  background: url("../images/about/topImg_sp.png") no-repeat center center;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
  #about .topImg {
    background: url("../images/about/topImg_tab.png") no-repeat center center;
  }
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
  #about .topImg {
    background: url("../images/about/topImg_pc.png") no-repeat center center;
  }
}

#about .abilityBox {
	display: block;
	margin:0 0 30px;
}
#about .abilityBox .abilityTitle {
	font-size: 120%;
	font-weight: 600;
	color: #00AFCC;
	margin-bottom:5px;
}
#about .abilityBox .abilityDesc {
	margin:0;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#about .abilityBox {
		display: flex;
	}
	#about .abilityBox .abilityTitle {
		width: 34%;
		margin:0;
	}
	#about .abilityBox .abilityDesc {
		width: 66%;
		margin:0;
	}
}

#about .box {
	position: relative;
	margin-top: 40px;
	padding: 10px 10px;
	background: #fff;
	border: 2px solid #00AFCC;
	border-radius: 8px;
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#about .box {
		margin-top: 50px;
		padding: 20px 20px;
	}
	#about .abilityContainer{
		position: relative;
		margin: 0 auto;
		max-width: 860px;
	}
}

#about .boxWhite {
	position: relative;	
	margin: 0 0 20px;
	padding: 20px 10px;
	background: #fff;
	border-radius: 8px;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#about .boxWhite {
		padding: 30px;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#about .boxWhite {
		padding: 50px;
	}
}



/* =========================================   FLOW   ========================================= */
#flow{}
#flow .topImg {
  background: url("../images/flow/topImg_sp.png") no-repeat top center;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
  #flow .topImg {
    background: url("../images/flow/topImg_tab.png") no-repeat center center;
  }
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
  #flow .topImg {
    background: url("../images/flow/topImg_pc.png") no-repeat center center;
  }
}
#flow li{
	padding-bottom:20px;
}



/* =========================================   Q&A   ========================================= */
#qa{}
#qa .topImg {
  background: url("../images/qa/topImg_sp.png") no-repeat top center;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
  #qa .topImg {
    background: url("../images/qa/topImg_tab.png") no-repeat center center;
  }
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
  #qa .topImg {
    background: url("../images/qa/topImg_pc.png") no-repeat center center;
  }
}
#qa .accordionArea {
	margin: 0;
	padding: 0;
}
#qa .accordionArea li {
	padding: 20px 0 5px;
}
#qa .accordionBox .accordionTitle {
	position: relative;
	cursor: pointer;
	font-weight:600;
	padding: .5rem 4.5rem .5rem 0;
	border-bottom: 1px solid #9b8e87;
}
#qa .accordionBox .indent {
	padding-left: 2.6rem;
	text-indent: -1.5rem;
}
#qa .accordionBox .accordionTitle::after {
	position: absolute;
	top: 10%;
	right: .5rem;
	font-size:120%;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f055";
	color: #9D8E87;
}
#qa .accordionBox .accordionTitle.close::after {
	position: absolute;
	top: 10%;
	right: .5rem;
	font-size:120%;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f056";
	color: #9D8E87;
}
#qa .accordionBox .accordionDesc {
	display: none;
	margin: 0 .5rem .5rem 0;
	padding: .5rem;
	background: #fff;
}



/* =========================================   BLOG   ========================================= */
#blog {}

#blog .blogWrap {
	display: block;
}
#blog h2.blogTitle {
	font-size: 1.8rem;
	font-weight:400;
	margin:0;
	padding-bottom:4px;
	border-bottom: 1px solid #3f312b;
	text-align:left;
}
#blog p.blogDate{
	font-size: 80%;
	font-weight: 400;
	margin:0 0 10px;
	text-align:right;
}
#blog p {
	letter-spacing: 1px;
	padding:0 0 5px;
}
#blog hr.blogLine{
  background-color:#fff;
  border: none;
  display: block;
  height: 1px;
	margin: 50px 0;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
	#blog .blogWrap{
		display: flex;
  }
	#blog .blogWrap .blogWrap-main {
    width: 70%;
    padding-right: 5%
	}
	#blog .blogWrap .blogWrap-aside {
    width: 25%;
	}
}
@media screen and (min-width: 1025px) {  /* ---------------   PC   --------------- */
	#blog .blogWrap .blogWrap-main {
    width: 70%;
    padding-right: 10%;
	}
	#blog .blogWrap .blogWrap-aside {
    width: 25%;
	}
}
/* =========================================   MENU   ========================================= */
#blog .blogWrap-aside {
	display: block;
  padding-top: 50px;
}
#blog .blogWrap-aside a {
	display: block;
	border-radius: 2px;
}
#blog .blogWrap-aside a:hover {
	color: #fff;
	background-color: #666;
}
#blog .blogWrap-aside ul {
	margin: 0;
	padding: 0;
	padding-bottom: 25px;
}
#blog .blogWrap-aside li {
	list-style-type: none;
	margin: 0;
	padding: 3px 0;
}
#blog .blogWrap-aside ul li ul {
	margin: 0;
	margin-left: 10px;
	padding: 0;
	padding-bottom: 0;
}
#blog .blogWrap-aside ul li ul li {
	list-style-type: none;
	margin: 0;
	padding: 0;
	padding-left: 5px;
}
#blog h3.side-menu-label{
	font-size: 2.0rem;
	margin: 0;
	padding: 20px 0 0;
	border: none;
}
#blog h3.side-menu-label:first-child {
	margin: 0;
	padding: 0;
}
@media screen and (min-width: 600px) { /* ---------------   タブレット   --------------- */
  #blog .blogWrap-aside {
    padding-top: 0;
  }
}



/* =========================================   LAW   ========================================= */
#law {}


/* =========================================   TERMS   ========================================= */
#terms{}



/* =========================================   PRIVACY POLICY   ========================================= */
#privacy{}



/* =========================================   ERROR   ========================================= */
#error .container{
  max-width: 900px;
  margin-top: 100px;
}
#error h2 {
  margin-bottom: 50px;
  text-align: center;
}
