@charset "utf-8";
/* CSS Document */
html{
	scroll-behavior: smooth;
}
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align:baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
	scroll-behavior: smooth;
}
article, header, footer, aside, figure, figcaption, nav, section { 
  display:block;
}
body {
  line-height: 1;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
	font-family: 'Noto Sans JP', sans-serif, "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
}
ol, ul {
  list-style: none;
  list-style-type: none;
}
a{
	text-decoration: none;
	color: #000;
}
p{
	color: #222;
}
br.pc{
	display: block;
}
.container img{
	width: 100%;
}
.preload{
	position: absolute;
	left: 0;
	bottom: 0;
	height: 1px;
	width: 1px;
}
.preload img{
	width: 1px;
	height: 1px;
	opacity: 0.05;
}


/* ------------------------------
   loopSlider
------------------------------ */
.loopSliderWrap {
	top: 0;
	left: 0;
	overflow: hidden;
	position: absolute;
}

.loopSlider {
	margin: 0 auto;
	text-align: left;
	position: relative;
	overflow: hidden;
	will-change: contents;/*ここに追加*/
}

.loopSlider ul {
	float: left;
	overflow: hidden;
}

.loopSlider ul li {
	float: left;
	display: inline;
	overflow: hidden;
	will-change: contents;/*ここに追加*/
}
.loopSlider.footSlider{
	height: 15vw;
	overflow: hidden;
}
.loopSlider.footSlider ul li{
	width: calc(100% / 8);/*表示数ー1*/
} 
.loopSlider.footSlider ul li img{
	width: 100%;
	height: auto;
}

.loopSliderWrap:after {
	content: "";
	display: none;
	clear: none;
}
/* ------------------------------
   CLEARFIX ELEMENTS
------------------------------ */

.firstView{
	display: flex;
	justify-content:center;
	align-items: flex-start;
	position: relative;
	padding-bottom: 100px;
}
.firstView::after{
	position: absolute;
	content: "";
	width: 50%;
	height: 100%;
	right: 0;
	top: 0;
	background-color: #283b4e;
}
.firstView .left{
	z-index: 100;
	width: 50%;
	position: relative;
}
.firstView a.logo{
	display: block;
	max-width: 100%;
	height: 48px;
	margin: 34px 0 34px auto;
	position: relative;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	cursor: default;
}
.firstView a.logo p{
	position: absolute;
	left: calc((100vw - 1200px)/2);
	display: inline-block;
	height: 48px;
	width: 200px;
	background-image: url("../images/jolls_logo.svg");
	background-position: left 0px center;
	background-repeat: no-repeat no-repeat;
	background-size: contain;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	cursor: pointer;
}
.firstView a.logo p:hover{
	opacity: 0.8;
}
.firstView p{
	color: #fff;
}
.firstView .left .leftInner{
	position: relative;
}
.firstView .left .leftInner h1{
	width: calc(100% - 40px);
	padding: 22px 0px;
	background-color: rgba(194,23,33,.90);
	margin-right: 48px;
	position: absolute;
	left: 0;
	height: 150px;
	z-index: 100;
	display: flex;
	align-items: center;
}
.firstView .left .leftInner h1::before{
	position: absolute;
	content: "";
	right: 100%;
	width: calc((100vw - 1200px) /2);
	height: 100%;
	top: 0;
	background-color: rgba(194,23,33,.90);
	z-index: 1;
}
.firstView .left .leftInner h1 p{
	color: #fff;
	width: 80%;
	max-width: 600px;
	background-image: url("../images/ttl.svg");
	background-size: contain;
	background-position: center left;
	background-repeat: no-repeat;
	height: 108px;
	position: relative;
	left: calc((100vw - 1200px)/2);
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	z-index: 100;
}
.firstView .left .leftInner h1 div.iconItem{
	position: absolute;
	width: 16%;
	height: 0;
	padding-top: 15%;
	background-image: url("../images/logoItem.svg");
	background-size: contain;
	background-position: top left;
	background-repeat: no-repeat;
	top: 0;
	left: 0;
}
.firstView .left .leftInner .photo_01{
	width: 100%;
	max-width: 600px;
	margin-left: auto;
	position: relative;
	top: 102px;
	right: 0;
	z-index: 10;
}

.firstView .right{
	color: #fff;
	position: relative;
	z-index: 100;
	width: 50%;
	max-width: 600px;
	margin-right: auto;
}
.firstView .right .menu{
	color: #fff;
	padding: 30px 0 18px 48px;
	text-align: right;
	position: relative;
}
.firstView .right .menu::after{
	position: absolute;
	content: "";
	width: 0%;
	height: 1px;
	background-color: #fff;
	right: 0;
	bottom: 0;
	transition: 1s all;
	z-index: 100;
}
.firstView .right .menu.active::after{
	width: 100%;
}

.firstView .right .menu a.hpLink{
	color: #fff;
	display: inline-block;
	margin-left: auto;
	font-size: 0.85em;
	padding-right: 20px;
	position: relative;
}
.firstView .right .menu a.hpLink::after{
	display: block;
	content: "";
	position: absolute;
	right: 5px;
	top: 0;
	height: 100%;
	width: 8px;
	background-image: url("../images/arrow_w.svg");
	background-size: 80%;
	background-position: center center;
	background-repeat: no-repeat;
	transition: .3s all;
}
.firstView .right .menu a.hpLink:hover::after{
	right: 0px;
}
.firstView .right .menu div{
	margin-top: 20px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.firstView .right .menu div a{
	color: #fff;
	display: block;
	font-size: 0.85em;
	position: relative;
	z-index: 1000;
	transition: .3s all;
}
.firstView .right .menu div a:hover{
	opacity: 0.8;
}
.firstView .right .menu div a::after{
	transition: .3s all;
	content: "";
	display: block;
	position: absolute;
	height: 1px;
	width: 0;
	bottom: -18px;
	left: 0;
	background-color: rgba(194,23,33,.90);
}
.firstView .right .menu div a:hover::after{
	content: "";
	display: block;
	position: absolute;
	height: 1px;
	width: 100%;
	bottom: -18px;
	left: 0;
	background-color: rgba(194,23,33,.90);
}
.firstView .right p.catchCopy{
	padding-left: 46px;
	margin-top: 50px;
	font-size: 1.75em;
	margin-bottom: 40px;
	font-weight: 600;
	line-height: 1.5;
}
.firstView .right p.lead{
	padding-left: 46px;
	margin-top: 30px;
	font-size: 1em;
	margin-bottom: 30px;
	font-weight: 400;
	line-height: 1.75;
	padding-right: 4px;
}

.secondView{
	max-width: 1200px;
	margin: 10px auto 40px;
	display: flex;
	justify-content:center;
	align-items: stretch;
}
.secondView div{
	width: 50%;
}
.secondView div.left{
	display: flex;
	justify-content: center;
	align-items: center;
}
.secondView div.left p.secondTtl{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.6em;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 1px;
}
#menu2 p.lead{
	font-weight: 800;
}
/*-- section --------------------*/
section{
	padding: 60px 0;
}
section .inner{
	max-width: 1000px;
	margin: 0 auto;
}
section.grayBase{
	background-color: #EFEFEF;
}
section.strength .inner{
	display: flex;
	justify-content: space-around;
	align-items: stretch;
	flex-wrap: wrap;
}
section.strength .inner .ttlBox{
	width: 100%;
	text-align: center;
	min-height: 200px;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	color: #C21721;
}
section.strength .inner div.redIconArea{
	width: 44%;
	text-align: center;
	min-height: 200px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-direction: column;
}
h2{
	color: #C21721;
	font-size: 2em;
	font-weight: 800;
	letter-spacing: 2px;
	margin-bottom: 20px;
	text-align: center;
}
h2.en{
	color: #C21721;
	font-size: 0.75em;
	font-weight: 400;
	letter-spacing: 1px;
	text-align: center;
	margin: 20px 0 25px;
}

section.strength .inner h2.ja{
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background-image: url("../images/h2_01.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center center;
	width: 254px;
	height: 38px;
	margin: 0 auto 0px;
}
section.strength .inner .redIcon{
	width: 80px;
	height: 70px;
	margin-bottom: 20px;
	background-repeat: no-repeat;
	background-size: contain;
}
section.strength .inner .redIcon.redIcon1{
	background-image: url("../images/strength_01.svg");
	width: 80px;
}
section.strength .inner .redIcon.redIcon2{
	background-image: url("../images/strength_02.svg");
}
section.strength .inner .redIcon.redIcon3{
	background-image: url("../images/strength_03.svg");
}
section.strength .inner .redIcon.redIcon4{
	background-image: url("../images/strength_04.svg");
	width: 110px;
	height: 70px;
	background-position: center center;
}
section.strength .inner .redIcon.redIcon5{
	background-image: url("../images/strength_05.svg");
}
section.strength .inner .redIconArea{
	margin-top: 0px;
	margin-bottom: 70px;
}
section.strength .inner .redIconArea h3.ttl{
	width: 80%;
	font-weight: 600;
	font-size: 1.15em;
	line-height: 1.5;
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px solid #222;
	letter-spacing: 1px;
}
section.strength .inner .redIconArea p{
	font-size: 0.95em;
	line-height: 1.5;
	letter-spacing: 1px;
}
section.strength .inner .redIconArea:nth-child(4){
	margin-bottom: 40px;
}
section.strength .inner .redIconArea:nth-child(5){
	margin-bottom: 40px;
}
section.strength .inner .redIconArea p span.bold{
	font-weight: 600;
}
section.samples{
	text-align: center;
	padding: 60px 0;
}
section.samples .blackIconArea{
	max-width: 1000px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	margin: 60px auto 20px auto;
}
section.samples .blackIconArea .blackIcon{
	width: 18%;
	margin: 30px 1%;
}
section.samples .blackIconArea .blackIcon div{
	width: 90px;
	height: 80px;
	margin-bottom: 12px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center bottom;
	margin: 0 auto 14px auto;
}
section.samples .blackIconArea .blackIcon h3{
	font-weight: 700;
	letter-spacing: 1px;
	font-size: 0.95em;
}
section.samples .blackIconArea .blackIcon.icon1 div{
	background-image: url("../images/icon_01.svg");
}
section.samples .blackIconArea .blackIcon.icon2 div{
	background-image: url("../images/icon_02.svg");
}
section.samples .blackIconArea .blackIcon.icon3 div{
	background-image: url("../images/icon_03.svg");
}
section.samples .blackIconArea .blackIcon.icon4 div{
	background-image: url("../images/icon_04.svg");
}
section.samples .blackIconArea .blackIcon.icon5 div{
	background-image: url("../images/icon_05.svg");
}
section.samples .blackIconArea .blackIcon.icon6 div{
	background-image: url("../images/icon_06.svg");
}
section.samples .blackIconArea .blackIcon.icon7 div{
	background-image: url("../images/icon_07.svg");
}
section.samples .blackIconArea .blackIcon.icon8 div{
	background-image: url("../images/icon_08.svg");
}
section.samples .blackIconArea .blackIcon.icon9 div{
	background-image: url("../images/icon_09.svg");
}
section.samples .blackIconArea .blackIcon.icon10 div{
	background-image: url("../images/icon_10.svg");
}
section.samples .blackIconArea .blackIcon.icon11 div{
	background-image: url("../images/icon_11.svg");
}
section.samples .blackIconArea .blackIcon.icon12 div{
	background-image: url("../images/icon_12.svg");
}
section.samples .blackIconArea .blackIcon.icon13 div{
	background-image: url("../images/icon_13.svg");
}
section.pattern .inner{
	max-width: 988px;
	margin: 0 auto;
	padding: 0;
}
section.pattern .inner h4,section.pattern .inner h5{
	text-align: center;
}
.sampleArea{
	margin-top: 60px;
	position: relative;
	width: 100%;
	padding-top: 50%;
}
.sampleArea .base{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-image: url("../images/base.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}

.sampleArea .ttl{
	position: absolute;
	font-size: 1.05rem;
	font-weight: bold;
	top: 0vw;
	z-index: 10;
	padding: 8px 12px;
	border-radius: 12px;
}
.sampleArea .ttl01{
	left: 12%;
	background-color: #FAD9DB;
	box-shadow: 3px 3px  #ED8F95;
}
.sampleArea .ttl02{
	left: 42%;
	background-color: #FAE3D1;
	box-shadow: 3px 3px #F3BE98;
}
.sampleArea .ttl03{
	left: 66%;
	background-color: #FCF5D7;
	box-shadow: 3px 3px #F5E08C;
}
.sampleArea .sample{
	max-width: 260px;
	text-align: center;
	position: absolute;
	z-index: 20;
}
.sampleArea .sample p{
	font-weight: 800;
	margin-bottom: 10px;
	text-shadow: 1px 1px #fff;
}
.sampleArea .sample01{
	left: 23%;
	top: 12%;
}
.sampleArea .sample02{
	left: 24%;
	top: 38%;
}
.sampleArea .sample03{
	left: 20%;
	top: 63%;
}
.sampleArea .sample04{
	left: 2%;
	top: 18%;
}
.sampleArea .sample05{
	left: 6%;
	top: 45%;
}
.sampleArea .sample06{
	left: 42%;
	top: 15%;
}
.sampleArea .sample07{
	left: 44.5%;
	top: 41%;
}
.sampleArea .sample08{
	left: 38%;
    top: 80%;
}
.sampleArea .sample09{
	left: 49%;
    top: 72%;
}
.sampleArea .sample10{
	left: 65%;
	top: 14%;
}
.sampleArea .sample11{
	left: 60%;
	top: 40%;
}
.sampleArea .sample12{
	left: 78.5%;
	top: 30%;
}
.sampleArea .sample img{
	max-width: 120px;
	position: relative;
}
.sampleArea .sample01 img{
	max-width: 70px;
}
.sampleArea .sample02 img{
	max-width: 110px;
}
.sampleArea .sample03 img{
	max-width: 130px;
	left: -20px;
}
.sampleArea .sample07 img{
	max-width: 100px;
}
.sampleArea .sample11 img{
	max-width: 90px;
}
.sampleArea a:hover{
	opacity: 0.8;
}
.jobs h2{
	line-height: 1.75;
}
.jobFlex{
	margin: 80px auto 60px auto;
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
}
.jobFlex div{
	width: 16%;
	text-align: center;
}
.jobFlex div img{
	width: 50%;
	margin-bottom: 15px;
}
.jobFlex div p{
	font-weight: 800;
	font-size: 0.85em;
}
.jobList{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.jobBox{
	position: relative;
	width: 31.3333%;
	background-color: #F9F9F9;
	margin: 0 1% 20px 1%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	padding-bottom: 10px;
}
.jobList .jobBox div{
	display: flex;
}
.jobBox:nth-last-child(-n+3){
	padding-bottom: 30px;
}
.jobList .jobBox div p.number{
	text-align: center;
	width: 60px;
	height: 60px;
	font-size: 32px;
	line-height: 60px;
	padding: 0;
	border-right: 2px solid #fff;
	font-family: 'M PLUS 1p';
	font-weight: 600;
	color: #fff;
}
.jobBox01 .number,.jobBox02 .number,.jobBox03 .number{
	background-color: #F0A597;
}
.jobBox04 .number,.jobBox05 .number{
	background-color: #F6BFC3;
}
.jobBox06 .number,.jobBox07 .number,.jobBox08 .number,.jobBox09 .number{
	background-color: #F9DCC5;
}
.jobBox10 .number,.jobBox11 .number{
	background-color: #F4CE92;
}
.jobBox12 .number{
	background-color: #FAEFBD;
}

.jobBox div p{
	display: inline-block;
	font-weight: 800;
	font-size: 0.9em;
	padding: 0px 15px 2px;
	height: 30px;
	line-height: 28px;
	position: relative;
	z-index: 10;
}
.jobList .jobBox div.categoly{
	display: block;
	width: calc(100% - 60px);
	position: relative;
}
.jobBox div p::after{
	position: absolute;
	content: "";
	left: 0;
	top: 0 ;
	height: 100%;
	width: 0;
	transition: .6s all;
	z-index: -1;
	transition-delay: 0.5s;
}
.jobBox div p:nth-child(2)::after{
	bottom: 0;
	transition: 1.2s all;
	transition-delay: 1s;
}
.jobBox.active div p::after{
	width: 100%;
}
.jobBox div p.categoly01::after{
	background-color: #F6BFC3;
}
.jobBox div p.categoly02::after{
	background-color: #F9DCC5;
}
.jobBox div p.categoly03::after{
	background-color: #FAEFBD;
}
.jobBox img{
	height: 120px;
	display: block;
	margin: 20px auto;
}
.jobBox .ttl{
	height: 1.25em;
	width: 92%;
	margin: 15px auto;
	text-align: center;
	font-weight: 800;
	font-size: 1em;
}
.jobBox .sub{
	flex-grow: 4;
	width: 80%;
	height: 60px;
	margin: 5px auto;
	font-weight: bold;
	font-size: 0.90em;
	line-height: 1.2;
	font-family: 'Noto Sans JP', YakuHanJP;
}
.jobBox .cap{
	flex-grow: 6.5;
	height: 150px;
	width: 80%;
	margin: 5px auto;
	font-size: 0.90em;
	line-height: 1.2;
}
.jobList .jobBox .center{
	display: block;
	text-align: center;
	position: absolute;
	bottom: 18px;
	left: 10%;
	width: 80%;
}
.jobBox a{
	position: relative;
	display: inline-block;
	padding: 8px 30px 8px 12px;
	background-color: #C21721;
	font-size: 0.8em;
	font-weight: 800;
	color: #ffffff;
	border-radius: 5px;
	text-align: center;
	transition: .3s all;
}
.jobBox a::after{
	position: absolute;
	content: "";
	background-image: url("../images/arrow_w.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	right: 4px;
	
	width: 0.8em;
	height: 0.8em;
	top: calc(50% - 0.4em);
	transition: .3s all;
}
.jobBox a:hover{
	background-color: #A7121B;
}
.jobBox a:hover::after{
	right: 1px;
}
.patternImgArea{
	margin: 60px auto 0 auto;
}
.patternImgArea .patternBox{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	margin-bottom: 60px;
}
.patternImgArea .patternBox .textSide{
	width: 50%;
	padding: 0 40px;
}
.patternImgArea .patternBox:nth-child(odd) .textSide{
	padding: 0 40px 0 0;
}
.patternImgArea .patternBox:nth-child(even) .textSide{
	padding: 0 0px 0 40px;
}
.patternImgArea .patternBox .imgSide{
	width: 50%;
}
.patternImgArea .patternBox:nth-child(even){
	flex-direction: row-reverse;
}
.patternImgArea .patternBox .textSide h3.ttl{
	padding-left: 15px;
	font-weight: 600;
	font-size: 1.25em;
	margin-top: 3px;
	margin-bottom: 20px;
	position: relative;
	line-height: 1;
}
.patternImgArea .patternBox .textSide h3.ttl::after{
	position: absolute;
	content: "";
	width: 6px;
	height: 100%;
	background-color: #C21721;
	left: 0;
	top: 1px;
}
.patternImgArea .patternBox .textSide .subTtl{
	font-weight: 600;
	margin-bottom: 30px;
}
.patternImgArea .patternBox .textSide p{
	line-height: 1.75;
}
section.option{
	padding-bottom: 0;
}
.option h4,.option h5{
	text-align: center;
}
.option p.future{
	margin-top: 50px;
	font-weight: 800;
	font-size: 1.25em;
	text-align: center;
	letter-spacing: 2px;
	margin-bottom: 50px;
}
.head-border {
    position: relative;
    display: inline-block;
    padding: 0 90px;
}
.head-border:before,
.head-border:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 0px;
    height: 1px;
    background-color: #666;
	transition: 1s all;
}
.head-border.active:before,
.head-border.active:after {
    width: 80px;
}
.head-border:before {
    left: 0px;
}
.head-border:after {
    right: 0px;
}
.option p.future span{
	font-weight: 800;
}
.option p.lead{
	text-align: center;
	font-size: 1.05em;
}
.flex{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
}
.ex{
	margin: 60px auto;
	flex-wrap: wrap;
}
.ex .exBox p.exNumber{
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50px;
	width: 80px;
	height: 80px;
	border:4px solid #C21721;
	margin: 0 auto 30px;
	color: #C21721;
	font-weight: 800;
	font-size: 1.1em;
	line-height: 1;
}
.ex .exBox:first-child{
	width: 90%;
	display: flex;
    flex-direction: column;
    justify-content: flex-start;
	margin: 0 auto 60px auto;
}
.ex .exBox{
	width: 48%;
	display: flex;
    flex-direction: column;
    justify-content: flex-start;
	margin: 0 auto;
}
.ex .exBox h3.ttl{
	text-align: center;
	font-size: 1.1em;
	font-weight: 600;
	margin-bottom: 20px;
	line-height: 1;
}
.ex .exBox p{
	line-height: 1.5;
	font-size: 0.85em;
	margin-bottom: 20px;
}
.ex .exBox p br{
	display: none;
}
.ex .exBox:first-child .imgArea{
	height: auto;
}
.ex .exBox .imgArea{
	margin-top: auto;
	width: 100%;
}
.ex .exBox .imgArea.noImg{
	margin-top: auto;
	border: 3px solid #ccc;
	width: 100%;
	background-color: #eee;
}
.ex .exBox .imgArea img {
    width: 100%;
    height: 100%;
}
.ex .exBox .imgArea .slick-list{
	height: 100%;
}
.ex .exBox .imgArea .slick-track{
	height: 100%;
}
.half{
	text-align: center;
	position: relative;
}
.half::after{
	position: absolute;
	content: "";
	display: block;
	height: 50%;
	width: 100%;
	background-color: #EFEFEF;
	top: 50%;
	left: 0;
}
.half a{
	display: block;
	margin: 0 auto;
	position: relative;
	text-align: center;
	height: auto;
	width: 80%;
	font-size: 1.15em;
	max-width: 800px;
	padding: 20px 0;
	font-weight: 600;
	letter-spacing: 2px;
	background-color: #E3E3E3;
	box-shadow: 3px 3px #808080;
	color: #808080;
	z-index: 100;
	transition: .3s all;
}
.half a:hover{
	position: relative;
	top: 3px;
	left: 3px;
	box-shadow: none;
}
.half a::before{
	position: absolute;
	content: "";
	width: 8px;
	height: 100%;
	right: 20px;
	top: 0;
	background-image: url("../images/arrow_k2.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: .3s all;
}
.half a:hover::before{
	right: 10px;
}
.caseArea h4,.caseArea h5{
	text-align: center;
}
.case{
	margin-bottom: 60px;
}
.case .titleArea{
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	margin-bottom: 30px;
}
.case .titleArea p{
	margin-right: 20px;
	font-weight: 600;
	font-size: 1.15em;
}
.case .titleArea h3.ttl{
	font-size: 1.5em;
	font-weight: 700;
	padding-left: 20px;
	position: relative;
	margin-right: 20px;
}
.case .titleArea h3.ttl::before{
	position: absolute;
	content: "";
	display: block;
	left: 0;
	top: 1px;
	height: calc(100% + 1px);
	width: 6px;
	background-color: #C21721;
}
.case .titleArea h3.client{
	color: #333333;
	font-weight: 600;
	font-size: 1.15em;
}
.tag{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	margin-bottom: 30px;
}
.caseArea{
	padding-top: 30px;
}
.caseLink{
	margin: 40px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	flex-wrap: wrap;
}
.caseLink a{
	display: block;
	font-weight: bold;
	margin-right: 20px;
	margin-bottom: 30px;
	text-decoration: underline;
	cursor: pointer;
	color: #000;
	transition: .3s all;
}
.caseLink span{
	width: 100%;
}
.caseLink a.small{
	font-size: 0.8em;
	margin-right: 15px;
	text-indent: 1.3em;
}
.caseLink a.small.mt1{
}
.caseLink a:hover{
	opacity: 0.8;
	color: #C21721;
}
.tag a{
	padding: 10px 20px;
	margin-right: 10px;
	font-weight: 600;
	color: #404040;
	background-color: #DCDCDC;
	border-radius: 3px;
	font-size: 0.8em;
}
.tag a:last-child{
	margin-right: 0;
}
.imgText{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	position: relative;
	z-index: 1000;
}
.imgText div{
	width: 38.5%;	
	margin: 0 1.5% 0 0;
}
.imgText img{
	width: 100%;
}
.imgText p{
	width: 26%;
	padding: 0 0 0 20px;
	line-height: 1.6;
	font-size: 0.9em;
}
.imgText p.w100{
	width: 100%;
	padding: 0 0 0 20px;
	line-height: 1.6;
	font-size: 0.9em;
}
.imgText div.imgBox01{
	width: 58.5%;	
	margin: 0 1.5% 0 0;
}
.imgText .text01 a.redBtn{
	margin: 20px 20px;
	padding: 4px 40px 6px 20px;
}
.imgText div.imgBox01 img{
}
.imgText p.Text01{
	width: 40%;
}
.imgText div.imgBox02{
	width: 30%;	
	margin: 0 1.5% 0 0;
}
.imgText div.imgBox02 img{
	width: 100%;
	height: 100%;
}
.imgText p.Text02{
	width: 36%;
}
.imgText div.imgBox01.tall img{
}
.imgText div.imgBox03{
	width: 50%;	
	margin: 0 1.5% 0 0;
}
.imgText div.imgBox03 img{
	object-fit: contain;
	height: auto;
}
.imgText .rightSide{
	width: 50%;
}
.imgText .flex{
	width: 100%;
	display: flex;
	align-items: flex-start;
	margin: 0;
}
.imgText .flex .chara{
	width: 48%;
	display: flex;
	margin: 0;
}
.imgText .flex .chara img{
	width: 35%;
	object-fit: contain;
	height: auto;
}
.imgText .flex .chara p{
	width: 65%;
	padding-left: 10px;
	font-size: 0.7em;
}
.imgText .flex .chara p span.name{
	display: block;
	font-size: 0.85em;
	font-weight: bold;
}
.imgText .rightSide p.Text03{
	width: 100%;
	margin-top: 12px;
	font-size: 0.82em;
	padding: 0;
}
.voiceArea.topM20{
	margin-top: -20px;
	padding-top: 60px;
}
.imgText div.short img{
}
.imgDouble{
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
}
.imgDouble div.fit{
	width: 49%;
	position: relative;
	padding-top: 28%;
}
.imgDouble div.fit img{
	width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
    top: 0;
}
p.textOnly{
	line-height: 1.5;
	font-size: 0.9em;
}
h4.contentsTll{
	position: relative;
	text-align: left;
	padding-left: 24px;
	margin-bottom: 20px;
	font-weight: 800;
	color: #222;
}
h4.contentsTll::after{
	position: absolute;
	content: "";
	display: block;
	width: 16px;
	height: 2px;
	left: 0;
	top: calc(50% - 1px);
	background-color: #222;
}
h4.contentsTll span{
	margin-left: 20px;
	font-size: 0.8em;
}
.voiceArea{
	background-color: #fff;
	padding: 80px 50px 50px 50px;
	margin-top: -40px;
	width: 90%;
	margin-left: auto;
}
.case4 .voiceArea {
    background-color: #fff;
    padding: 50px 50px 50px 50px;
    margin-top: -20px;
    width: 90%;
    margin-left: auto;
}
.voiceInner{
	display: flex;
	justify-content: space-around;
	align-items: flex-start;
}
.voiceInner p.ttl{
	font-size: 1.1em;
	margin-bottom: 20px;
	padding-left: 0px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	line-height: 1;
}
.voiceInner p{
	font-size: 0.9em;
	line-height: 1.5;
}
.voiceInner p.ttl span{
	font-weight: 600;
}
.voiceInner p.ttl span.voice{
	display: block;
	position: relative;
	top: 2px;
	width: 32px;
	height: 32px;
	background-size: contain;
	background-position: center center;
	background-repeat: no-repeat;
	margin-right: 10px;
}
.voiceInner p.ttl .voice1{
	background-image: url("../images/voice_01.svg");
}
.voiceInner p.ttl .voice2{
	background-image: url("../images/voice_02.svg");
}
.voiceInner div{
	width: 46%;
}
.voiceInner ul{
	font-size: 0.9em;
	line-height: 1.5;
}
.voiceInner ul li{
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 4px;
}
a.redBtn{
	display: inline-block;
	max-width: 400px;
	font-weight: 800;
	font-size: 1em;
	color: #fff;
	position: relative;
	margin-top: 30px;
	padding: 10px 30px 12px 15px;
	background-color: #C21721;
}
a.redBtn::after{
	position: absolute;
	content: "";
	width: 6px;
	height: 100%;
	right: 8px;
	top: 0;
	background-image: url("../images/arrow_w.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: all .3s;
}
a.redBtn:hover{
	background-color: #AC2028;
}
a.redBtn:hover::after{
	right: 4px;
}
.footer{
	position: relative;
	overflow: hidden;
}
.footer .inner{
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-around;
	align-items: stretch;
	position: relative;
	z-index: 100;
}
.footer .inner::after{
	position: absolute;
	content: "";
	display: block;
	top: 0;
	left: 100%;
	width: calc((100vw - 1200px) / 2);
	height: 100%;
	background-color: #C21721;
	z-index: 1;
}
.footer .inner .footLeft{
	width: 72%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 140px 0 140px 52px;
}
.footer .inner .footLeft .footLogo{
	width:  30%;
	padding-right: 30px;
}
.footer .inner .footLeft .footLogo a{
	display: block;
	width: 100%;
	height: 0;
	padding-top: 90%;
	background-image: url("../images/foot_logo.svg");
	background-repeat: no-repeat;
	background-size: contain;
	background-position: top center;
	overflow: hidden;
text-indent: 100%;
white-space: nowrap;
}
.footer .inner .footLeft .text{
	width:  70%;
}
.footer .inner .footLeft .text h2{
	font-size: 1.2em;
	text-align: left;
}
.footer .inner .footLeft .text h2.en{
	text-align: left;
	font-size: 0.8em;
    font-weight: 400;
    letter-spacing: 1px;
}
.footer .inner .footLeft .text p{
	margin-bottom: 10px;
	font-size: 0.95em;
	font-weight: 600;
	line-height: 1;
}
.footer .inner .footLeft .text p.companyName{
	margin-top: 20px;
	margin-bottom: 24px;
	font-size: 1em;
}
.footer .inner .footLeft .text a{
	margin-top: 20px;
	display: inline-block;
	padding: 12px 40px 13px 30px;
	background-color: #E3E3E3;
	font-weight: 600;
	position: relative;
	font-size: 0.85em;
	transition: all .3s;
}
.footer .inner .footLeft .text a:hover{
	background-color: #D4D4D4;
}
.footer .inner .footLeft .text a::after{
	position: absolute;
	content: "";
	width: 6px;
	height: 100%;
	right: 8px;
	top: 0;
	background-image: url("../images/arrow_k.svg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	transition: all .3s;
}
.footer .inner .footLeft .text a:hover::after{
	right: 4px;
}
.footer .inner .footRight{
	width: 28%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	background-color: #C21721;
	padding: 100px 50px;
}
.footer .inner .footRight a{
	display: block;
	color: #fff;
	font-size: 1.25em;
	font-weight: 800;
	margin: 40px 0;
	padding-left: 40px;
	position: relative;
}
.footer .inner .footRight a::after{
	content: "";
	position: absolute;
	top: 0;
	height: 24px;
	width: 24px;
	left: 0;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}
.footer .inner .footRight .tel a::after{
	background-image: url("../images/icon_tel.svg")
}
.footer .inner .footRight .mail a::after{
	background-image: url("../images/icon_mail.svg")
}
.footer .copyRight{
	padding: 20px;
	font-size: 0.75em;
	color: #fff;
	font-weight: 400;
	text-align: center;
	background-color: #000;
	letter-spacing: 2px;
}
.patternImgArea {
	width: 94%;
    margin: 60px auto 0 auto;
}
.circleAnime{
	position: relative;
	width: 80px;
    height: 80px;
	margin: 0 auto 30px auto;
	font-size: 1.2em;
}
.circleAnime .exNumber2{
	position: absolute;
	display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    width: 80px;
    height: 80px;
    margin: 0 auto 30px;
    color: #C21721;
    font-weight: 800;
    font-size: 1.4em;
    line-height: 1;
}
.circleAnime svg {
	transform: rotate(-90deg);
	position: absolute;
	top: 0;
	left: 0;
}

.circleAnime circle{
	opacity: 0;
	fill: transparent;
	stroke: #C21721;
	stroke-width: 4;
}
.circleAnime.active circle{
	animation: circle 1s ;
	animation-fill-mode: forwards;
	animation-delay: 0s;
}
.circleAnime.delay2.active circle{
	animation: circle 1s ;
	animation-fill-mode: forwards;
	animation-delay: 0.3s;
}
.circleAnime.delay3.active circle{
	animation: circle 1s ;
	animation-fill-mode: forwards;
	animation-delay: 0.6s;
}
@keyframes circle {
  0% { opacity: 0;stroke-dasharray: 0 377; }
	10% { opacity: 1; }
  100% { opacity: 1;stroke-dasharray: 377 377; }
}

#gotoTopBtn {
	position: fixed;
	right: 10px;
	bottom:10px;
	width: 68px;
	height: 68px;
	background-image: url("../images/top.svg");
	background-repeat: no-repeat;
	background-position: center center;
	text-indent: -9999px;
	cursor: pointer;
	z-index: 900;
	transition: 0.3s all;
	opacity: 1;
}
#gotoTopBtn:hover {
	opacity: 0.9;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	bottom: 20px;
transform: translateY(-10px);
	filter: brightness(1.2);
}
.marker {
  background:linear-gradient(transparent 50%, rgba(194,23,33,0.15) 50%);
  display: inline;
  /* 背景の繰り返しを停止 */
  background-repeat: no-repeat;
  /* マーカーの横方向を0にして縮める */
  background-size: 0% 100%;
  /* マーカーが引かれる速度を指定 */
  transition:background-size 1.5s;
}

/* マーカーが引かれる際に付与するクラス */
.marker.on {
  /* 横方向を100%にして、マーカーを引く */
  background-size: 100% 100%;
}

@media screen and (max-width : 1220px){
section{
	margin: 0 auto 0px auto;
}
.firstView a.logo{
	display: block;
	max-width: 100%;
	height: 48px;
	margin: 34px 0 34px auto;
	position: relative;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	cursor: default;
}
.firstView a.logo p{
	position: absolute;
	left: 40px;
	display: inline-block;
	height: 48px;
	width: 200px;
	background-image: url("../images/jolls_logo.svg");
	background-position: left 0px center;
	background-repeat: no-repeat no-repeat;
	background-size: contain;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	cursor: pointer;
}
	.firstView .left .leftInner .photo_01{
		width: calc(100% - 40px)
	}
.firstView .left .leftInner h1 {
    width: calc(100% - 40px);
    padding: 22px 0px;
    background-color: rgba(194,23,33,.90);
    margin-right: 48px;
    position: absolute;
    left: 0;
    height: 110px;
    z-index: 100;
    display: flex;
    align-items: center;
}
.firstView .left .leftInner h1 p{
	color: #fff;
	background-image: url("../images/ttl.svg");
	background-size: contain;
	background-position: center left;
	background-repeat: no-repeat;
	position: absolute;
	width: calc(100% - 40px);
	height: calc(100% - 30px);
	left: 40px;
	overflow: hidden;
text-indent: 100%;
white-space: nowrap;
	z-index: 100;
}
	.firstView {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    padding-bottom: 40px;
}
	.firstView .left{
	}
.firstView .right {
    padding-right: 40px;
}
	.firstView .right .menu{
		padding: 25px 0 18px 48px;
	}
	.firstView .right .menu div{
		text-align: center;
		flex-wrap: wrap;
	}
	.firstView .right .menu div a {
    color: #fff;
    display: block;
    font-size: 0.85em;
		width: 50%;
		margin: 0 auto 10px;
}
.firstView .right .menu div a:hover::after{
	content: none;
}
	.firstView .right .menu div a:nth-child(3),.firstView .right .menu div a:nth-child(4){
		margin-bottom: 0;
}
	.secondView div.left p.secondTtl {
    padding: 0 20px;
	font-size: 1.3em;
}
.firstView .right p.lead {
    font-size: 0.9em;
}
	.exBox{
		width: 30%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
	}
	.exBox br{
		display: none;
	}
	.ex .exBox .imgArea{
		margin-top: auto;
	}
.ex .exBox p {
    margin-bottom: 20px;
}
	.caseArea .inner{
		width: 94%;
	}
	.voiceArea{
		width: 100%;
		margin-top: 20px;
		padding: 30px;
	}
	.case4 .voiceArea{
		width: 100%;
		margin-top: 20px;
		padding: 30px;
	}
	.imgText p {
    width: 26%;
    padding: 0 0 0 20px;
    line-height: 1.75;
    font-size: 0.9em;
}
section.strength .inner div.redIconArea {
	width: 44%;
    justify-content: start;
}
.imgText img {
    width: 100%;
    height: auto;
    object-fit: contain;
}	
}

@media screen and (max-width : 1120px){
	section.option .inner{
		width: 94%;
		margin: 0 auto;
	}
.firstView .right .menu {
    padding: 25px 0 25px 25px;
}
.firstView .right .menu div a {
	margin-bottom: 20px;
}
}
@media screen and (max-width : 1024px){
	br.pc{
		display: none;
	}
.firstView .right .menu div {
   display: none;
}
	.firstView .right .menu {
		padding-right: 25px;
	}
.firstView .right .menu {
    color: #fff;
    padding:25px 0 25px 48px;
    text-align: left;
    position: relative;
}
	.secondView div.left p.secondTtl{
    padding: 0 20px;
	font-size: 1.1em;
}
	.secondView div.left p.secondTtl br{
		display: none;
	}
section.strength .inner .redIconArea p br{
    display: none;
}
.footer .inner .footLeft {
    width: 60%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
	flex-direction: column;
    padding: 100px 40px 100px 40px;
}
.footer .inner .footRight {
    width: 40%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    background-color: #C21721;
    padding: 100px 50px;
}
.footer .inner .footLeft .footLogo a {
    display: block;
    width: 100%;
    height: 0;
    padding-top: 100%;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
	margin-bottom: 30px;
}
.footer .inner .footLeft .text {
    width: 100%;
}
.case .titleArea p {
    margin-right: 20px;
    font-weight: 600;
    font-size: 1em;
	margin-bottom: 20px;
}
.case .titleArea h3.ttl {
    margin-bottom: 20px;
}
.case .titleArea h3.client {
    font-size: 1em;
	margin-bottom: 15px;
}
.case .titleArea {
    flex-direction: column;
	align-items: flex-start;
}
.case4 .imgText p {
    width: 46%;
    padding: 0 0 0 20px;
    line-height: 1.75;
    font-size: 0.9em;
}
.case5 .imgText p {
    width: 46%;
    padding: 0 0 0 20px;
    line-height: 1.75;
    font-size: 0.9em;
}
.footer .inner .footLeft .footLogo {
    width: 150px;
    padding-right: 30px;
}
	.flex.ex{
		flex-wrap: wrap;
	}
	.ex .exBox:first-child{
		width: 90%;
		margin: 0 auto 60px auto;
	}
	.ex .exBox{
		width: 48%;
		height: auto;
	}
.ex .exBox .imgArea{
	margin-top: auto;
	width: 100%;
	height: auto;
}
.ex .exBox .imgArea.noImg{
	margin-top: auto;
	border: 3px solid #ccc;
	width: 100%;
	background-color: #eee;
}
	.ex .exBox:first-child .imgArea {
    margin-top: auto;
    width: 100%;
}
#gotoTopBtn {
	position: fixed;
	right: 10px;
	bottom:10px;
	width: 54px;
	height: 54px;
	background-image: url("../images/top.svg");
	background-repeat: no-repeat;
	background-position: center center;
	text-indent: -9999px;
	cursor: pointer;
	z-index: 900;
	transition: 0.3s all;
	opacity: 1;
}
.sampleArea .sample p {
    font-size: 0.8em;
	margin-bottom: 2px;
}
.sampleArea .ttl{
	font-size: 0.9em;
}
.firstView .right p.catchCopy {
    font-size: 1.6em;
}	
}
@media screen and (max-width : 850px){
.sampleArea .sample img {
    transform: scale(0.8,0.8);
}
.firstView .right p.catchCopy {
    font-size: 1.45em;
}
	#menu3 h2{
		font-size: 1.75em;
	}
}
@media screen and (max-width : 767px){
		.firstView{
		flex-direction: column;
	}
	.firstView .left{
		width: 100%;
	}
.firstView .left .leftInner h1 {
    height: 120px;
}
.firstView .right {
    width: 100%;
	background-color: #283b4e;
	max-width: 100%;
	padding: 0 40px
}
.firstView::after {
    display: none;
}
.firstView .left .leftInner {
    position: relative;
    padding-bottom: 40px;
}
.firstView .left .leftInner .photo_01 {
    width: 100%;
	margin: 0px auto 0 auto;
	top: 50px;
	max-width: 100%;
}
	.firstView .right p.catchCopy{
		margin-top: 30px;
		padding-left: 0;
		margin-bottom: 30px;
	}
.firstView .right p.lead {
    padding-left: 0px;
    margin-top: 30px;
	padding-right: 0;
	margin-bottom: 60px;
}
.firstView .right .menu {
    color: #fff;
    padding: 25px 0 25px 48px;
    text-align: right;
    position: relative;
}
.imgText p {
    width: 26%;
    padding: 0 10px;
    line-height: 1.75;
    font-size: 0.9em;
}
section.samples .blackIconArea .blackIcon {
    width: 22%;
    margin: 30px 1.5%;
}
	h4{
		font-size: 1.5em;
	}
.sampleArea .ttl{
	font-size: 0.8em;
}
.jobBox {
    position: relative;
    width: 48%;
}
}
@media screen and (max-width : 680px){
section.strength .inner {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
    flex-wrap: wrap;
}	
section.strength .inner .ttlBox {
    width: 100%;
}
section.strength .inner div.redIconArea {
    width: 90%;
    justify-content: start;
	margin: 0 auto 80px auto
}
section.strength .inner .redIconArea:nth-child(4) {
    margin-bottom: 80px;
}
section.strength .inner .redIconArea:nth-child(5) {
    margin-bottom: 80px;
}
section.strength .inner .redIconArea:nth-child(6) {
    margin-bottom: 40px;
}
section.samples .blackIconArea .blackIcon {
    width: 30%;
    margin: 30px 1.5%;
}
.patternImgArea .patternBox{
	flex-wrap: wrap;
}
.patternImgArea .patternBox .textSide {
    width: 100%;
    padding: 0 30px;
	margin-bottom: 30px;
}
.patternImgArea {
    width: 92%;
    margin: 60px auto 0 auto;
}
.patternImgArea .patternBox:nth-child(odd) .textSide {
    padding: 0 0px;
}
.patternImgArea .patternBox:nth-child(even) .textSide {
    padding: 0 0px;
}
.patternImgArea .patternBox .imgSide {
    width: 100%;
	padding: 0 0px;
}
.patternImgArea .patternBox .textSide .subTtl br{
    display: none;
}
	.ex{
		margin-bottom: 20px;
	}
.flex.ex {
    display: flex;
    justify-content: space-around;
    align-items: stretch;
	flex-wrap: wrap;
}
.exBox {
    width: 92%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
	margin: 0 auto 40px auto;
}
.imgText {
    flex-wrap: wrap;
}
.imgText p {
    width: 92%;
    padding: 0 0 0 0;
	margin: 20px auto;
	line-height: 1.75;
    font-size: 0.9em;
}
.imgText div {
    width: 48.5%;
    margin: 0 auto;
}
.imgText div.imgBox2 {
     width: 48.5%;
    margin: 0 auto;
}
.imgText div.narrow {
    width: 48.5%;
    margin: 0 auto;
}
.imgText img {
    width: 100%;
}
.imgText.lowHeight img {
    width: 100%;
    height: 30vw;
    object-fit: cover;
}
.case .titleArea {
    margin-bottom: 5px;
	font-size: 0.9em;
}
.voiceArea {
    width: 100%;
    margin-top: 20px;
    padding: 20px;
}
.case4 .voiceArea {
    width: 100%;
    margin-top: 20px;
    padding: 20px;
}
.imgText div.imgBoxLong {
    width: 100%;
    margin: 0 auto;
}
.imgText div.imgBoxLong img {
    height: auto;
}
.case .titleArea p.client {
    line-height: 1.5;
}
.case .titleArea p {
    margin-bottom: 15px;
}
.case4 .imgText p {
    width: 100%;
    padding: 0 0 0 0px;
    line-height: 1.75;
    font-size: 0.9em;
}
.case5 .imgText p {
    width: 100%;
    padding: 0 0 0 0px;
    line-height: 1.75;
    font-size: 0.9em;
}
.case {
    margin-bottom: 60px;
}
.tag {
    display: flex;
    justify-content: flex-start;
    align-items: center;
	flex-wrap: wrap;
    margin-bottom: 20px;
}

	.tag a{
		margin-right: 8px;
		margin-bottom: 8px;
	}
.footer .inner .footLeft .text p {
    line-height: 1.5;
}
.footer .inner .footLeft {
    width: 54%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    padding: 100px 30px 100px 30px;
}
.footer .inner .footRight {
    width: 46%;
}
.case.case5 {
    margin-bottom: 0px;
}
.sampleArea{
	background-image: url("../images/scene.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
	.sampleArea p{
		display: none;
	}
	.sampleArea a{
		display: none;
	}
	.sampleArea div{
		display: none;
	}
.imgText div.imgBox01 {
    width: 100%;
    margin: 0 auto 10px;
}
.imgText p.Text01 {
    width: 100%;
    margin: 0 auto;
}
.imgText div.imgBox02 {
    width: 100%;
    margin: 0 auto 10px;
}
.imgText p.Text02 {
    width: 100%;
    margin: 0 auto;
}
h4.contentsTll {
    margin-top: 40px;
	font-size: 1.2em;
}
.imgText div.imgBox03 {
    width: 100%;
    margin: 0 auto 10px;
}
.imgText .rightSide {
    width: 100%;
    margin: 0 auto;
}
.imgText p.Text03 {
    width: 100%;
    margin: 0 auto 40px;
}
}
@media screen and (max-width : 540px){
.voiceArea {
    width: 100%;
    margin-top: 20px;
    padding: 30px;
}
.voiceInner{
	flex-direction: column;
	padding: 0px;
}
.voiceInner div {
    width: 100%;
}
.voiceInner div:first-child {
    margin-bottom: 30px;
}

.footer .inner {
    max-width: 1200px;
    margin: 0 auto;
    display: block;
    justify-content: space-around;
    align-items: stretch;
    position: relative;
    z-index: 100;
}
.footer .inner .footLeft {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    padding: 60px 30px 60px 30px;
}
.footer .inner .footRight {
    width: 100%;
	padding: 40px 30px 40px 30px;
}
	.ex .exBox:first-child{
		width: 90%;
		margin: 0 auto 40px auto;
	}
	.ex .exBox{
		width: 90%;
		margin: 0 auto 40px auto;
	}
.jobBox {
    position: relative;
    width: 98%;
}
.jobList .jobBox div.categoly {
	max-width: 240px;
	}
.jobBox img {
    height: auto;
	width: 80%;
    display: block;
    margin: 20px auto;
}
}
@media screen and (max-width : 420px){
.imgText img {
    width: 100%;
    height: 50vw;
    object-fit: cover;
}
.imgText.lowHeight img {
    width: 100%;
    height: 50vw;
    object-fit: cover;
}
.imgText div {
    width: 100%;
    margin: 0 auto 6px;
}
.imgText div.imgBox2 {
    width: 100%;
    margin: 0 auto 6px;
}
.imgText div.narrow {
    width: 100%;
    margin: 0 auto 0px;
}
}
