@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
@media all and (min-width: 768px) and (max-width: 1024px) {
	#main .sec01 dl {
		max-width: 580px;
	}
	#main .sec03 .textBox .ttl {
		line-height: 1.4;
	}
	#main .sec03 .textBox p {
		letter-spacing: 0;
	}
	#main .sec06 .info {
		margin: 0 15px;
	}
}

@media all and (max-width: 767px) {
	.mainVisual {
		padding-left: 25px;
	}
	.mainVisual .photo {
		min-height: 350px;
		background-image: url("../images/index/webp/sp_main_img01.webp");
		border-radius: 0 0 0 20px;
	}
	.no-webp .photo {
		background-image: url("../images/index/sp_main_img01.jpg");
	}
	.mainVisual .photo01 {
		background-image: url("../images/index/webp/sp_main_img02.webp");
	}
	.no-webp .photo01 {
		background-image: url("../images/index/sp_main_img02.jpg");
	}
	.mainVisual .photo02 {
		background-image: url("../images/index/webp/sp_main_img03.webp");
	}
	.no-webp .photo02 {
		background-image: url("../images/index/sp_main_img03.jpg");
	}
	.mainVisual .photo03 {
		background-image: url("../images/index/webp/sp_main_img04.webp");
	}
	.no-webp .photo03 {
		background-image: url("../images/index/sp_main_img04.jpg");
	}
	.mainVisual .textImg {
		left: 23px;
		bottom: 15px;
		max-width: 260px;
	}
	.mainVisual .ttl {
		left: 6px;
		top: 160px;
		font-size: 1rem;
	}
	.mainVisual .txt {
		left: 23px;
		right: auto;
		bottom: 20px;
		line-height: 1.9;
		font-size: 1.8rem;
	}
	.mainVisual .txt span {
		padding: 3px 20px 5px 11px;
	}
	#main .sec01 {
		padding: 51px 20px 0px;
	}
	#main .sec01:before {
		top: 28px;
		bottom: auto;
		width: 188px;
		height: 80px;
	}
	#main .sec01 .info {
		max-width: inherit;
	}
	#main .sec01 dl {
		margin: 0;
		max-width: inherit;
		letter-spacing: 0.1em;
	}
	#main .sec01 dd {
		padding: 0 0 20px 118px;
	}
	#main .sec01 h2 {
		margin-bottom: 60px;
		position: static;
		display: block;
		font-size: 2.8rem;
	}
/*
	#main .sec02 {
		margin-bottom: 80px;
	}
*/
    
	#main .sec02 {
		margin-bottom: 40px;
	}
    
	#main .sec03 {
		margin-bottom: 90px;
		padding-top: 102px;
	}
	#main .sec03:before {
		right: 20px;
		bottom: 172px;
		background-image: url("../images/index/webp/sp_bg02.webp");
	}
	.no-webp #main .sec03:before {
		background-image: url("../images/index/sp_bg02.jpg");
	}
	#main .sec03 .imgBox {
		display: inherit;
	}
	#main .sec03 .photo {
		margin: 30px 20px 0 0;
		width: auto;
		text-align: center;
		border-radius: 20px;
		overflow: hidden;
	}
	#main .sec03 .textBox {
		width: auto;
		padding-left: 34px;
		margin-top: 0;
	}
	#main .sec03 .textBox p {
		margin-bottom: 27px;
	}
	#main .sec03 .textBox .ttl {
		margin-bottom: 28px;
		font-size: 2.6rem;
	}
	#main .sec03 .textBox .ttl:before {
		top: -68px;
	}
	#main .sec04 {
		margin-bottom: 127px;
	}
	#main .sec04 .headLine01 {
		margin-bottom: 72px;
	}
	#main .sec04 ul {
		margin-bottom: 65px;
	}
	#main .sec04 li {
		margin-bottom: 55px;
		display: block;
	}
	#main .sec04 li:last-child {
		margin-bottom: 0;
	}
	#main .sec04 li .pho {
		width: auto;
		text-align: center;
		padding: 0 20px 21px 0;
	}
	#main .sec04 li .pho:before {
		top: 20px;
		right: 0;
	}
	#main .sec04 li .pho img {
		border-radius: 20px;
	}
	#main .sec04 li .textBox {
		margin-top: 40px;
		width: auto;
	}
	#main .sec04 .comLink {
		margin: 0 auto;
	}
	#main .sec05 .bgBox {
		padding: 50px 0 56px;
	}
    #main .sec05 p.read {
		font-size: 15px;
	}
	#main .sec05 ul {
		margin-top: -30px;
	}
	#main .sec05 li {
		margin: 30px 22px 0;
	}
	#main .sec05 li p {
		margin-top: 13px;
	}
	#main .sec06 {
		padding: 58px 0 60px;
	}
	#main .sec06:before {
		top: -423px;
		right: 0;
		bottom: -50px;
		background-image: url("../images/index/webp/sp_bg01.webp");
		border-radius: 0;
	}
	.no-webp #main .sec06:before {
		background-image: url("../images/index/sp_bg01.jpg");
	}
	#main .sec06 .pho {
		position: static;
		width: 250px;
		margin: 0 auto;
		text-align: center;
	}
	#main .sec06 .textBox {
		margin: 0;
		width: auto;
		padding: 49px 0 58px;
	}
	#main .sec06 .headLine01 {
		margin-bottom: 24px;
	}
	#main .sec06 .info {
		margin: 0 20px;
	}
	#main .sec06 p {
		margin-bottom: 28px;
	}
	#main .sec06 .name {
		margin: -4px 0 24px;
	}
	#main .sec06 .name:before {
		display: none;
	}
	#main .sec07 .whiteBg {
		padding: 52px 0 100px;
	}
	#main .sec07 .ttl {
		margin-bottom: 30px;
		line-height: 1.51;
	}
	#main .sec07 .info {
		max-width: inherit;
		display: inherit;
	}
	#main .sec07 .txtBox {
		margin: 0 0 30px;
		width: auto;
	}
	#main .sec07 .title {
		margin-bottom: 27px;
		text-align: center;
	}
	#main .sec07 .blue {
		max-width: 295px;
		margin: 0 auto;
	}
    #main .sec07 p{
        font-size: 15px;
}
	#main .sec07 ul {
		margin: 0 auto;
		width: 240px;
	}
	#main .sec07 .comLink a {
		padding: 12px 0 15px 33px;
	}
    
    section.news{width: 90vw; margin: 5vw auto 3vw;}
	
	section.news .news_box{padding: 10vw 5vw;}
	section.news .news_box .news_flex{
		display: block;
		margin-top: 30px;
	}
	section.news .news_box + .news_box{
		padding-top: 0;
	}
	
	section.news .news_flex{
		display: block;
	}
	section.news .news_flex .comLink{
		margin: 0 auto;
		margin-bottom: 20px;
	}
	section.research{
		margin-top:0px;
		margin-bottom: 120px;
	}

	.confort-bnr a img {
		width: 90%;
	}
	img.campaign{
        width: 90%;
    }
    .side-img{
        display: block;
        width: 90%;
    }
    .side-img .img, .side-img .content{
        width: 100%;
    }
    .side-img .img{
        height: 180px;
        display: inline-block;
    }
    .side-img .img img{
        height: 100%;
        object-fit: cover;
    }
    .side-img h3{
        font-size: 2rem;
        text-align: center;
        margin-bottom: 3vw;
    }
}