@charset "UTF-8";

body{
font-family: 'Noto Sans JP', sans-serif;
}

html {
    scroll-behavior: smooth;
}

#main img{
	display:block;
    margin:0px auto;
    line-height:0em;
    vertical-align:bottom;
}


h1,h2,h3,h4,h5,h6,p{
	color:#545254
	}

/* PC用*/
@media screen and (min-width:741px),print{

	.header-section{background: #f5f5f7;}

	
.header-inner,.top-section,.contents-section,.custom01,.case-section,.custom02-inner,.consultation{
	max-width: 1080px;margin: 0% auto;}
	
	
.dis_sp{
display: none;
}
	
h1 {
    font-size: 40px;
}
	.sp{display: none !important;}


	
	
	.hutter-button{background:#594bc8 }
	
	.container{display: grid;
    margin: 0 auto;
    grid-template-columns: 30% 30% 30%;
		gap: 5%;}

	
		.lineup-inner01,.lineup-inner02,.lineup-inner03 {
    margin-left: 0!important;
    margin-right: 0!important;
    margin-bottom: 10%;
			
		}
		.lineup-inner01 p,.lineup-inner02 p,.lineup-inner03 p{margin-bottom: 60px;
	text-align:center !important; }
	
		.container2{display:grid;
		margin: 0 auto;
grid-template-columns:46.5% 46.5%;	
		gap:7%;
	}

	
	.case{margin:0 auto !important;}
	
	.custom01-container{    display: grid;
    margin: 0 auto;
    grid-template-columns: 53% 42%;
    gap: 5%;
}
	

	
}
	


/* SP用 */
@media screen and (max-width:740px),print{
#main {
    max-width: 740px;
    padding: 4%;
}
.dis_pc	{
display: none;}
	
	.contact-btn{display: none;}
	
.slick-prev:before, .slick-next:before {
    color: #fff;
    opacity: 1;/*デフォルトは.75が指定されている*/
}	
	.pc{display:none;}

	

}


.header-section {
    margin-top: 70px;
}
	

.header-img {
    position: relative;
}

.absolute {
    width: 46%;
    position: absolute;
    left: 6%;
    top: 28%;
	    pointer-events: none;
}

.absolute2 {
    width: 40%;
    position: absolute;
    left: 5%;
    top: 19%;
	  pointer-events: none;
}



#main{background: white;
text-align: center;}

#main {

    padding: 0%;
    font-size: 3.9vw;
    line-height: 1.6;
	font-weight: 400;
}

a,a:hover,a:visited{
    color: inherit;
}

.marker{border-bottom: 1.5px solid;
    padding-bottom: 3px;}

.header-contact:hover,.header01 img:hover,.header-01 li:hover,.button:hover,.button02:hover,.footer-button:hover{
 opacity: 0.8;
}

.header-img:hover{ opacity: 1;}


.button02 {
    margin-left: 18%;
    margin-right: 18%;
    margin-bottom: 5%;
    margin-top: 8%;
}

.ttl02    {margin-left: 20px;
	margin-right: 20px;}

.custom01-section{
	background: #f5f5f7;
padding-top: 10%;
padding-bottom: 7%;
margin-bottom: 7%}

.custom01 h2{margin-bottom:12%;}

.custom02-section{background: #f5f5f7 ;
padding-top: 10%;
	padding-bottom: 7%;
	margin-bottom:7%;}



h2{  font-size: 5.5vw;
    font-weight: 600;
    text-align: center;
    margin-bottom: 8%;
}



.top img{width: 100%;} 
.top{margin-bottom: 12%;}




h4 {
    font-size: 5.1vw;
   margin: 2% 0 0;
    text-align: center;
    font-weight: 600;
}

.button{margin-bottom:15%;}

.lineup01 p,.lineup02 p,.lineup03 p
{text-align: left;
    margin-bottom: 5%;
font-weight: 400;}

		.lineup-inner01,.lineup-inner02,.lineup-inner03 {margin-left: 20px;
margin-right: 20px;
margin-bottom:10%}

.photo{margin-top:-17%;}

.lineup01 span{color:#7c72cf;}

.lineup01 h3{background:#7c72cf;
font-size: 5vw;
    font-weight:500; ;
	margin-bottom: 4%;
color:white;
    padding-top: 1.5%;
    padding-bottom: 1.5%;}


.lineup02 span{color:#7c72cf;}

.lineup02 h3{background:#7c72cf;
font-size: 5vw;
    font-weight: 500; ;
	margin-bottom: 4%;
color:white;
    padding-top: 1.5%;
    padding-bottom: 1.5%;}



.lineup03 span{color:#7c72cf;}

.lineup03 h3{background:#7c72cf;
font-size: 5vw;
    font-weight: 500; ;
	margin-bottom: 4%;
color:white;
    padding-top: 1.5%;
    padding-bottom: 1.5%;}





.list01 h5,.list02 h5,.list03 h5 {    
	font-size: 4.2vw;
    font-weight: 400;}

.list04 h5,.list05 h5{ 
	font-size: 3.9vw;
    font-weight: 400;}

h5.ttl04 {
    text-align: left;
    margin-top: 15px;
    margin-bottom: 15px;
}

.list06 h5 {  
	font-size: 4vw;
    font-weight: 400;}

.list06{margin-bottom:15%}

.voice{margin-top: 15%;}

.case h5{margin-bottom: 2%;
margin-top: 2%;
font-weight: 400;}

.item2{margin-bottom:4%;}

.consultation{margin-top:10%;
	padding-top:10%;
	padding-bottom:10%;}




.footer{padding-top:10%;
margin-bototm:10%;}


h6 {font-size:0.9em;
	margin-bottom: 7.5em;
font-weight: 400;}

.icon {
    margin-top: -27%;
}

.copy{ font-size: 10px;
    padding-bottom: 3%;
    margin-top: 1%;
	font-weight: 400;
}
	.case {
    margin: 5%;
}
.case p{margin-top:4%;}
.footer{padding-top:3%}

.logo img:hover{
 opacity: 0.7;
}


.logo {
    padding-top: 3%;
    width: 20vw;
    margin: 0 auto;
}

/*slick*/


.slick-prev:before, .slick-next:before {
    font-family: 'slick';
    font-size: 40px;
    line-height: 1;
    opacity: .75;
    color: white;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


.slick-prev:before, .slick-next:before {
    color: #000;
    opacity: 1;
}

.slick-prev, .slick-next {
	width: inherit;
	height: inherit;
}

.slick-next {
	right: -40px;
}
.slick-prev {
	left: -40px;
}

footer{background:#211c32;}
.footer-inner p{color:#CCCCCC;
margin-top: 24px;
    margin-bottom: 50px;
}

.header-01 {
    transition: 0.5s ease-out;
    position: fixed;
    z-index: 1000;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 3px 10px 0 rgb(0 0 0 / 15%);
}	
	
.header01-inner {
    display: flex;
    justify-content: space-between;
    position: relative;
    align-items: center;
    max-width: 1080px;
    height: 70px;
    margin: 0 auto;
    padding: 0 20px;
}	

	
	
.header-title {
    width: 240px;
}		
	
.header-contact {
    width: 290px;

}
	
.footer-nav {
    font-size: 11px;
}	
	
.footer-nav {
	    margin: 0 auto;
    color: #CCCCCC;
}	
	
.header-nav ul {
    display: flex;
    font-size: 12px;
    color: #595757;
}

.header-nav ul,ul.footer-nav_inner{font-weight: 400;}

.footer-nav_inner {
    display: flex;
    flex-wrap: wrap;
	    margin-top: 20px;
}	
	
   .footer-inner { display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 20px;
    padding-bottom: env(safe-area-inset-bottom);
}	


/* PC用*/
@media screen and (min-width:741px),print{
	

.slick-dots li button:before{
	font-size:15px!important;
	padding-top:30px!important;
}		
	
	.icon-pc {
    padding-top: 2%;
}
	
	.header-section{margin-bottom:65px; }


.icon-pc {
    margin-bottom: 40px;
}	
	
.button{margin-bottom: 80px !important;}	

	
	.top { margin-bottom: 60px}

	.custom01 {padding-top: 80px;}
	.custom01 h2 {
    margin-bottom: 120px;
}
	.custom01-tx{margin-top:144px;}
	.button02{width:234px;margin:0 auto;
	margin-top:42px;}
	
.custom01-section {
   padding-top: 0%;
    padding-bottom: 30px;margin-bottom: 60px;

}	
	
	.custom02-inner	h2{margin-bottom:120px;}

h2 {
    font-size: 5.5vw;
    font-weight: 400;
    text-align: center;
    margin-bottom: 8%;
}
	
	h4 {
    font-size: 4.9vw;
    margin: 2% 0 0;
    text-align: center;
    font-weight: 400;
}
	
.lineup01 h3,.lineup02 h3,.lineup03 h3 {
    padding-top: 12px;
    padding-bottom: 12px;
	    margin-bottom: 28px;
}	
	
.lineup01 p, .lineup02 p, .lineup03 p {
    margin-bottom: 85px;
}	
	
		.lineup-inner01,.lineup-inner02,.lineup-inner03  {margin-bottom: 0px;	}
	
	
.voice {
    margin-top: 85px;
}	
	
	.list06{margin-bottom: 0px;}	
.ttl01{
font-size:30px;
	    margin-bottom: 90px;

}

.ttl02{
font-size:28px !important;
    margin-left: 0px;
    margin-right: 0px;
}

.ttl03{
font-size:20px;
}

.ttl04{
font-size:13px !important;
}

.ttl05{
font-size:30px;
}

.spec{
font-size: 13px;
}

.ttl06{font-size:25px;}


	

.contents,		.lineup-inner01,.lineup-inner02,.lineup-inner03 {
font-size: 18px;
}

.lineup-inner02{margin-bottom: 120px;}
.lineup-inner03{margin-bottom: 80px;}
	
	h6{    margin-bottom: 0;}

.button {
    width: 550px;
    margin: 0 auto;
}

.custom02-section {

    padding-top:80px;
    padding-bottom: 80px;
    margin-bottom: 80px;
}	
	
	.consultation-section{background:#f5f5f7}
	
	
	.consultation {
    margin-top: 120px;
    padding-top: 80px;
    padding-bottom: 80px;
}
	.logo{width:120px;}
	



/*追従ボタン*/



.contact-btn{
	color: #FFF !important;;
	    line-height: 3.8;
	    display: block;
	    transition: 0.5s ease-out;
    transform-origin: bottom right;
    transform: rotate(-90deg);
	
  position:fixed;
  z-index:100;
    background: #594bc8;
  border-radius: 0.4em 0.4em 0 0;
  text-decoration:none;
  font-size:18px;
  text-align:center;
    padding: 0 2.5em;
  right:-4px;
  top:28px;
  box-shadow:1px 1px 5px #aaa;

}

.contact-btn:hover {
	color:#FFF ;
	background: #c79b78;
}

	.slider02{display: none !important;}


/***追従するトップへ戻るボタン***/
.pagetop {
    height: 80px;
    width: 80px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #594bc8;
    border: solid 2px #FFF;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
	   transition: 0.5s ease-out;
}

.pagetop__arrow {
    height: 17px;
    width: 17px;
    border-top: 4px solid #FFF;
    border-right: 4px solid #FFF;
    transform: translateY(20%) rotate(-45deg);
}

.pagetop:hover {
	background: #7c72cf;
}

/***トップへ戻るボタンここまで***/



}


@media screen and (max-width:740px),print{

	.copy{margin-top:3%; }
	.logo{margin-top:3%;}


			.slider01{display: none !important;}
	
	.top h2{margin-top:15%;}
	
.footer-nav_inner {
    display: flex;
    flex-wrap: wrap;
    margin-top: 8%;
}	
	
	.footer-inner p {
  margin-top: 8%;
    margin-bottom: 14%;
}
	
.header-nav {
    display: none;
}
	
.header-title {
    width: 45%;
    margin-right: 3%;
}
	
	
	.header01-inner {background: #FFF}	

.header-contact {
    margin: 0 auto;
}

	.header-contact {
    width: 270px;
}
	
	
.header01-inner {

    padding: 0px 10px;
}	
	
	.lineup01 h3,.lineup02 h3,.lineup03 h3{margin-top:15%}
	
@media screen and (max-width:570px),print{	
	
.slick-prev:before, .slick-next:before {
    font-family: 'slick';
    font-size: 6vw;
    line-height: 1;
    opacity: .75;
    color: white;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


.slick-prev:before, .slick-next:before {
    color: #fff;
    opacity: 1;
	z-index: 1;
}

.slick-prev, .slick-next {
	width: inherit;
	height: inherit;
}

	
.slick-prev {
    left: 1%;
    z-index: 1;
}
 
.slick-next {
    right: 1%;
}
	}
