@charset "utf-8";

/* ---------------------------------------------------------------------------------
base */

*{}

@media(max-width:750px){
	
body{ font-size:140%; }

}

li img{ width:100%;}

img{ vertical-align:bottom;}

a:link{ color:#870043;text-decoration: none;}
a:visited{ color:#870043;text-decoration: none;}
a:active{ color:#ee6fb2;text-decoration:underline;}
a:hover{ color:#ff0000;text-decoration:none;}

#gHeader *{transition: all  0.5s ease;}

body{ background:#fff ; height:100%; width:100%; }

ul li a{transition: all  0.4s ease;}
ul li a:hover{opacity: 0.4;}

@media(max-width:750px){

body{  }
 
}

p{ line-height: 1.8em;}

.hrTac img{ width:100%;}
img{ width:100%;}

body#subPage{ position:relative;}
.backgroundFix{ position:fixed; width: 100%; height: 100%;background:url(../images/mainBackground.jpg) no-repeat center top;
background-size: cover;}


@media(max-width:750px){
    .backgroundFix{ position:fixed; width: 100%; height: 100%;background:url(../images/mainBackground_sp.jpg) no-repeat center top;
        background-size: cover;}
        
}


.txtGrad{
    background-image: -moz-linear-gradient( 0deg, rgba(128,0,63,0.99608) 0%, rgb(192,4,99) 71%, rgb(202,0,100) 100%);
    background-image: -webkit-linear-gradient( 0deg, rgba(128,0,63,0.99608) 0%, rgb(192,4,99) 71%, rgb(202,0,100) 100%);
    background-image: -ms-linear-gradient( 0deg, rgba(128,0,63,0.99608) 0%, rgb(192,4,99) 71%, rgb(202,0,100) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.txtGrad2{
  background-image: -moz-linear-gradient( 0deg, rgb(190,0,94) 0%, rgb(255,61,157) 99%);
  background-image: -webkit-linear-gradient( 0deg, rgb(190,0,94) 0%, rgb(255,61,157) 99%);
  background-image: -ms-linear-gradient( 0deg, rgb(190,0,94) 0%, rgb(255,61,157) 99%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}






.linkBtn{ border: 1px solid #ccc; padding: 0.5em 1em; line-height: 1em; display: inline-block; margin-top: 10px;}


/* ---------------------------------------------------------------------------------
contents */

#contents{ padding: 0;}
#contents_inner{padding: 0;}

#subPage #contents_inner{padding:50px 0;}



.pageHeader{ }


body#topPage{ padding: 20px; background: #dd006d;}
body >.bodyInner{ background: #fff; position: relative; overflow: hidden; width: auto;}




/* ---------------------------------------------------------------------------------
top concept */



#mainVisual{ width: 100%; position: relative; overflow: hidden; border-bottom: 30px solid #000;}

@media(max-width:750px){
}

#gNavi{ background:#e9e9e9;padding: 10px;}

#gNavi ul{
    width: auto;
    margin: 0 auto 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 10px;
    row-gap: 10px;
}

@media(max-width:750px){
#gNavi ul{
    width: auto;
    margin: 0 auto 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 10px;
    row-gap: 10px;
}
}


#gNavi ul li{ padding: 0;}
#gNavi ul li a{
border-radius: 6px;
background: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  min-height: 80px;
  gap: 0.5em;
text-align: center;
}

#gNavi ul li a span.en{ font-size: 14px; line-height: 1em;font-family: "Jost", sans-serif; font-weight: 600;}
#gNavi ul li a span.jp{ font-size: 15px; color: #000;line-height: 1em; font-weight: 800;}


@media(max-width:750px){

#gNavi ul li a span.en{ font-size: 18px; line-height: 1em;}
#gNavi ul li a span.jp{ font-size: 22px; color: #000;line-height: 1em;}


} /* Responsive End */


#gNavi.scrNavi{position: fixed; width: 100%; z-index: 100;padding: 0; top: -30px; left: 0;  background: #000;transition: all 0.2s ease;}
#gNavi.scrNavi.on{ top: 0;}
#gNavi.scrNavi ul{padding: 0; }

#gNavi.scrNavi ul{
    width: auto;
    margin: 0 auto 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 1px;
    row-gap: 1px;
}

#gNavi.scrNavi ul li{ padding: 0;}
#gNavi.scrNavi ul li a{
border-radius: 2px;
  min-height: 30px;
background: none;
color: #fff;
}
#gNavi.scrNavi ul li a span.jp{ font-size: 13px; color: #fff;line-height: 1em; font-weight: 600;}



@media(max-width:750px){

#gNavi.scrNavi{top: -80px; }
#gNavi.scrNavi ul li a{
  min-height: 80px;

}

#gNavi.scrNavi ul li a span.jp{ font-size: 20px; line-height: 1.4em; font-weight: 600;}
}


.whiteBox{ width: auto; max-width: 800px; margin: 0 auto; border: 1px solid #ddd; padding: 20px; margin-bottom: 80px;}



/* ---------------------------------------------------------------------------------
onebox */

.contents{padding-top: 80px;}
.contents_inner{ width: 1000px; margin: 0 auto;}


.contents h1{ line-height: 1.5em; font-size: 250%; font-weight: 900; margin-bottom: 50px; text-align: center;}

.introTxt{ font-size: 120%; line-height: 1.8em; margin-bottom: 50px; text-align: center;}
.subTxt{font-size: 80%; margin-bottom: 50px; text-align: center;}


.sec{padding-bottom: 50px;}

@media(max-width:750px){
.contents{padding-top: 80px;}
.contents_inner{ width: auto; margin: 0 30px;}
}

.bigCopy{ font-size: 200%; text-align: center; font-weight: 800; margin-bottom: 50px;}

@media(max-width:750px){
.bigCopy{ font-size: 140%;}

.introTxt{ font-size: 120%; line-height: 1.8em; margin-bottom: 50px; text-align: center;}
.subTxt{font-size: 90%; margin-bottom: 50px; text-align: center;}

}

.sectionHeader{ border-left: 2px solid #000;padding: 10px 0 10px 30px; margin-bottom: 50px;}
.sectionHeader span{ font-size:250%; color: #dd006d;font-family: "Jost", sans-serif; font-weight: 800; font-style: italic; margin-bottom: 10px; display: block; line-height: 1.2em;}
.sectionHeader h2{ font-size: 120%; color: #000;}

.secBody{ margin: 0 31px 50px;}

p.catch{ margin-bottom: 50px;}

h3.pp2{ font-size: 52px; color: #332496; font-size: 160%;font-family: "Jost", sans-serif; font-weight: 800; font-style: italic; margin-bottom: 50px;}


.profile{ display: table; width: 100%;margin-bottom: 50px;}
.profile .imgArea{ width: 30%; display:table-cell; vertical-align: top;}
.profile .txtArea{ width: 70%; display:table-cell; vertical-align: top;padding-left: 40px; box-sizing: border-box;padding-top: 40px;}

.profile .txtArea h4{ margin-bottom: 20px; font-size: 150%; }
.profile .txtArea h4 span{ font-size: 80%;margin-right: 1em;}
.profile .txtArea p{margin-bottom: 0; font-size: 80%;}

.Proflist03{
    width: auto;
    margin: 0 auto 50px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 30px;
    row-gap: 30px;
}


@media(max-width:750px){
.Proflist03{
    width: auto;
    margin: 0 auto 50px;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 30px;
    row-gap: 30px;
}
.profile.type01 .txtArea h4{ text-align: center;}
.profile .txtArea h4 span{ font-size: 80%;margin-right: 1em;}
.profile .txtArea p{margin-bottom: 0; font-size: 100%;}



.profile.type01{ display: table; width: 100%;margin-bottom: 50px;}
.profile.type01 .imgArea{ width: 100%; display:block; vertical-align: top; text-align: center;}
.profile.type01 .imgArea img{ width: 80%;}
.profile.type01 .txtArea{ width: 100%; display:block; vertical-align: top;padding-left: 0; box-sizing: border-box;padding-top: 40px;}


}



.profile.type02{ margin-bottom: 0;}
.profile.type02 .txtArea{padding-top: 0; vertical-align: middle;}
.profile.type02 .imgArea{padding-top: 0; vertical-align: middle;}
.profile.type02 .txtArea h4{margin-bottom: 0;}


@media(max-width:750px){
.profile.type02 .txtArea{width:auto;padding-top: 0; display: block; vertical-align: top;padding-left: 0;}
.profile.type02 .imgArea{width:auto;padding-top: 0; display: block;vertical-align: top; padding-bottom: 20px;}
.profile.type02 .txtArea h4{margin-bottom: 0;}

.profile.type02 .imgArea{ text-align: center;}
.profile.type02 .imgArea img{ width: 80%;}
.profile.type02 .txtArea{ margin-bottom: 20px;}
.profile.type02 .txtArea h4{text-align: center;}
}


.time{ border:1px solid #ccc; padding: 0.5em; margin-bottom: 0.5em;}

.profile.type03{ display: block; width: 100%;margin-bottom: 20px;}
.profile.type03 .imgArea{ width: auto; display:block; vertical-align: top;}
.profile.type03 .txtArea{ width: auto; display:block; vertical-align: top;padding-left: 0; box-sizing: border-box;padding-top: 20px;}

.profile.type03 .txtArea h4{ margin-bottom: 20px; font-size: 150%;}
.profile.type03 .txtArea h4 span{ font-size: 60%;margin-right: 1em;}
.profile.type03 .txtArea p{margin-bottom: 0; font-size: 80%;}

.profile.type03 .txtArea h4 span.profIcon{ border: 1px solid #dd006d; color: #dd006d;padding: 4px 10px; line-height: 1em; position: relative; top:-4px;}


@media(max-width:750px){

.profile.type03 .txtArea p{margin-bottom: 0; font-size: 90%;}
}

.profminCrm{
    width: auto;
    margin: 0 auto 100px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 30px;
    row-gap: 30px;
}

@media(max-width:750px){
.profminCrm{
    width: auto;
    margin: 0 auto 50px;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    column-gap: 10px;
    row-gap: 10px;
}
}





.bar{ margin-bottom: 100px;}


/* ---------------------------------------------------------------------------------
yoko */



dl.overviewTable{
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
	border: 1px solid #ccc;
	border-bottom: none;
    margin-bottom: 50px;
}
dl.overviewTable dt{
	background: #f5f5f5;
	padding: 5px;
	width: 150px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
dl.overviewTable dd{
	background: #fff;
	padding: 5px;
	width: calc(100% - 150px);
	border-bottom: 1px solid #ccc;
}


.gMap{margin-bottom: 50px;}


@media(max-width:750px){

    
    
}


.eventArea{padding-bottom: 50px;}
.eventArea header{ border-left:10px solid #dd006d;padding: 10px 0 10px 30px;box-sizing: border-box;margin-bottom: 30px;}
.eventArea header p{}
.eventArea header h3{ color: #dd006d;}

.eventBody{padding:0 50px; margin-bottom: 50px;}





#gFooter{background: #000; padding: 50px; color: #fff;}
#gFooter p{text-align: center;}





/* ---------------------------------------------------------------------------------
common */


.clear{ clear:both;}
.tac{ text-align:center !important;}

@media(min-width:751px){
.sp{ display:none !important;}
} /* Responsive End */

@media(max-width:750px){
.pc{ display:none !important; }
} /* Responsive End */

@media(max-width:750px){
#commonFooter{ display:none !important; }
}

@media(max-width:750px){
#commonFooter{ display:none !important; }
}


@media(max-width:750px){
.tac_pc{ text-align:left !important;}
.tac_sp{ text-align:center !important;}
}

@media(min-width:751px){
.tac_pc{ text-align:center !important;}
.tac_sp{ text-align:left !important;}
}
