@charset "UTF-8";
/* CSS Document */


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

	
/* title-page */

.title-page h2 {
	padding-top: 30px;
}
	
/* contentsback-wrap */

.contentsback-wrap::before {
	width: 100%;
	height: 200%;
	background-size: cover;
	margin-top: -100%;
}
	
.contents05 {
background-position: center bottom -30px;
	background-size: auto 150px;
}

.contents .container section.contents05 {
	margin-bottom: 0px;
	padding-bottom: 150px;
}
	
.contents05 .box-text p {
	text-align: left;
}
	

/* layout01 */

.layout01 {
	margin-top: 60px;
}

.layout01-inner {
	background-image: url("../../images/about/back01a-sp.svg");
background-position: center top 50px;
}

/* layout01 lay01 */

.layout01 .lay01 {
	width: 320px;
	height: 530px;
	margin-bottom: 70px;
}

.layout01 .lay01 .a01 {
	width: 100%;
}

.layout01 .lay01 .a02 {
bottom: 140px;
	width: 50%;
}

.layout01 .lay01 .a03 {
	width: 60%;
}

.layout01 .lay01 .box-img::before, .layout01 .lay03 .box-img::before {
	height: 50px;
	margin-top: -50px;
}
	
.layout01 .lay01 .a02 .box-img::before {
	width: 200px;
	margin-left: -20px;
}
	
.layout01 .lay01 .a03 .box-img::before {
	width: 200px;
}

.layout01 .lay03 .box-img::after {
bottom: 20px;
	height: 50px;
}


/* layout01 lay02 */

.layout01 .lay02 {
	width: 88%;
	max-width: 400px;
	margin-bottom: 120px;
}

.layout01 .lay02::before {
	height: 300px;
	margin-top: -65px;
}

.layout01 .lay02 .box {
	padding: 25px 20px;
background-position: right 5px bottom 20px;
	background-size: 35% auto;
}

/* layout01 lay03 */

.layout01 .lay03 {
	width: 100%;
	margin-bottom: 70px;
	position: relative;
}
	
.layout01 .lay03::before {
	content: "";
	position: absolute;
left: 0px;
top: 0px;
	background-image: url("../../images/about/back01b-sp.svg");
background-position: center top;
background-repeat: no-repeat;
	background-size: auto 100%;
	width: 100%;
	height: 209px;
	margin-top: -140px;
}
	
.layout01 .lay03 img {
	max-width: 400px;
}

/* layout01 lay04 */

.layout01 .lay04 {
	width: 88%;
	max-width: 400px;
  justify-content: center;
	flex-direction: column;
	gap:20px 0px;
}

.layout01 .lay04 .box {
	width: 100%;
	border-radius: 20px;
	padding: 15px 15px 20px;
	background-size: 35% auto;
	background-position: left 0px bottom;
}

.layout01 .lay04 .box:nth-child(1) {
	background-position: right 0px bottom;
}

.layout01 .lay04 .box::before {
	height: 60px;
	margin-top: -75px;
}
	
.layout01 .lay04 .box:nth-child(2)::before {
	display: none;
}

.layout01 .lay04 .box-inner {
	padding-left: 35%;
}
	
.layout01 .lay04 .box:nth-child(1) .box-inner {
	padding-left: 0%;
	padding-right: 35%;
}

.layout01 h2, .layout01 h3 {
	font-size: 24px;
}

.layout01 h2::after {
	margin-top: 15px;
}

.layout01 h3 {
	font-size: 18px;
	margin-bottom: 15px;
}

.layout01 h4 {
	font-size: 16px;
}

.layout01 ul li {
	font-size: 12px;
	padding: 10px 0px;
}

.layout01 ul li:not(:last-child) {
	margin-bottom: 7px;
}


/* layout02 */

.layout02 {
  justify-content: center;
	flex-direction: column;
	gap:30px 0px;
}

.contents03 {
	flex-direction: column;
}

.layout02 .layout-concept {
	width: 100%;
}

.layout02 .layout-concept .box-inner {
	width: 100%;
	text-align: center;
}

.layout02 .box-img {
	width: 100%;
}

.contents03 .box-img::after {
	height: 150px;
	margin-left: -20px;
	margin-bottom: -80px;
}

.contents04 .box-img::after {
	height: 140px;
	margin-right: -20px;
	margin-bottom: -70px;
}


.contents02 .box-img {
	width: 100%;
}

/* layout03 */

.layout03 {
	padding-top: 60px;
}

.layout03 .box-inner {
	gap:15px 15px;
}

.layout03 .box {
	width: 150px;
}

.layout03 .box a::after {
	height: 40px;
}

.layout03 h6 {
	font-size: 24px;
line-height: 1.4;
	margin-bottom: 20px;
}

	
/* ==========================
  モーダル（ポップアップ）
========================== */


.js_modalContWrap__wrap {
	width: 88%;
}

.js_modalCont {
	height: auto;
	padding: 40px 30px;
}

.js_modalClose {
  width: 50px;
  height: 50px;
	margin-right: -15px;
	margin-top: -15px;
}

.lay-special h3 {
	font-size: 14px;
}

.lay-special h4 {
	font-size: 24px;
	padding-bottom: 20px;
	margin-bottom: 20px;
}

.lay-special p {
	font-size: 18px;
}

    .pc-view {
        display: none;
    }
    .sp-view {
        display: inline-block;
    }
   
}
