@charset "UTF-8";
/*日本語*/
/*-----------------------------------
共通イブラリ
-----------------------------------*/
/**************************************

function

***************************************/
/*-----------------------------------
共通
-----------------------------------*/
html {
  font-size: 62.5%;
}

body {
  -webkit-text-size-adjust: none;/*--iphoneで縦、横にしても文字サイズが--*/
  font-size: 1.4rem;
}

img {
  max-width: 100%;
  width: auto;
}

ul,
ol {
  list-style: none;
}

a {
  text-decoration: none;
  color: #3db4ff;
}

/*-----------------------------------
共通class
-----------------------------------*/
.sp-none { display: none !important;}



/**************************************

header

***************************************/




/**************************************

footer

***************************************/


/**************************************

Toppage

***************************************/
#mainImg h2 {
    font-size: 6rem;
    width: 98%;
}

.topMesgDl dt h3, .topCarpDl dt h3 { font-size: 5rem;}
.topMesgDl dd p, .topCarpDl dd p { font-size: 1.8rem;}
dl.topAboutDl dt h3, dl.topCultDl dt h3, 
dl.topStaffDl dt h3, dl.topCalngDl dt h3 { font-size: 5rem;}
dl.topAboutDl dt .richText, dl.topCultDl dt .richText, 
dl.topStaffDl dt .richText, dl.topCarpDl dt .richText, 
dl.topCalngDl dt .richText {
    font-size: 7rem;
    width: 100%;
}
dl.topAboutDl dd.topAboutDd p, dl.topCultDl dd.topCultDd p, 
dl.topCalngDl dd.topCalngDd p { font-size: 1.8rem;}
dl.topAboutDl dd.topAboutDd a.link > div > div > p, 
dl.topCultDl dd.topCultDd a.link > div > div > p, 
dl.topStaffDl dd.topStaffDd a.link > div > div > p, 
dl.topCarpDl dd.topCarpDd a.link > div > div > p, 
dl.topCalngDl dd.topCalngDd a.link > div > div > p { font-size: 2.0rem;}
dl.topCarpDl dt .richText > p.subTitle {
    font-size: 2.8rem;
    margin: 0 0 15px;
}
dl.topCarpDl dt .richText > p > .strong { font-size: 7.8rem;}

ul.blogList li {
    width: calc(50% - 20px);
    margin-bottom: 40px;
}
.newsDate span {
    display: block;
    text-align: center;
    width: fit-content;
}


/**************************************

Underpage

***************************************/
p.logoTxt { font-size: 4.0rem;}
p.abTxtW { font-size: 2.0rem;}
#about section#underSec01 h2 {
    font-size: 600%;
    line-height: 1.2;
}
p.subTtl { font-size: 3.5rem;}
h3.uNrchiTxt { font-size: 6.6rem;}
p.pageTxt, p.dDtxt { font-size: 1.8rem;}
dl.waysDl dd h4 { font-size: 3.4rem;}
p.btnSttl { font-size: 3.5rem;}
p.btnTtl { font-size: 6.0rem;}

p.pageSTtl { font-size: 4.8rem;}
h2.unH2 { font-size: 7.0rem;}
#culture #underSec01 p.pageTxt, 
#workstyle #underSec01 p.pageTxt { font-size: 2.2rem;}
.cultListIn h3.uNrchiTxt {
    font-size: 5.0rem;
    border-bottom: 6px solid #4052BC;
}
.cultListIn h3.uNrchiTxt:before {
    bottom: -6px;
    height: 6px;
}
dl.waysDl dd h4 { font-size: 3.2rem;}
p.pageTxt, p.dDtxt { font-size: 1.8rem;}

#flow h3 { font-size: 5rem;}
.flowBoxIn h4 { font-size: 3.2rem;}
div.entryBtn > a > div > div > p { font-size: 3.0rem;}

p.cpTxt02 { font-size: 4.0rem;}
.styBoxIn dl:before { left: -13%;}
.styBoxIn:after {
    border-left: 6px solid #4052BC;
    height: calc(72%);
}
dl.sptDl dd { font-size: 1.8rem;}
p.crgTtlSub { font-size: 2.5rem;}
.styTtl dt {
    height: 145px;
    width: calc(32% - 0px);
}
.styTtl dd { width: calc(50% - 0px);}
p.cpTxt01 { font-size: 2.4rem;}
.styBoxIn dl dd ul li { width: calc(95% - 0px);}
.comBoxIn p { font-size: 3.4rem;}
h3.sklH3 { font-size: 4.8rem;}
p.crgTtlTxt { font-size: 4.0rem;}


nav.navigation { margin-bottom:50px; }

#blogSgl section#underSec01 { padding: 22% 0 0;}
.rpwe-block ul.rpwe-ul li.rpwe-li { width: calc(50% - 20px);}
.sideIn { padding: 0 10px;}
.rpwe-block ul.rpwe-ul li.rpwe-li { width: calc(50% - 20px);}

/*====================================*/
/*====================================*/
/*          max-width: 650px          */
/*====================================*/
/*====================================*/
@media screen and (max-width: 650px) {

header.sd a { padding: 4px 10px;}
header.sd a > div > h1 {
    font-size: 1.5rem;
    text-indent: 0.5em;
}
.navBox {
    right: 0;
    padding: 10rem 0 8rem;
}
.navBoxIn01 { display: block;}
.navBoxIn01 ul {
    width: calc(95% - 0px);
    margin: 0 auto;
}

header.sd > .mBtn {
    margin: 6px 0px 0px 0px;
    padding: 0px 25px 0px 0px;
}
header.sd > .mBtn button {
    height: 50px;
    width: 50px;
}

.menu-trigger span:nth-of-type(2) { top: 24px;}
.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(10px) rotate(-45deg);
    transform: translateY(10px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-8px) rotate(45deg);
    transform: translateY(-8px) rotate(45deg);
}

#mainImg:before {
    background: url(../img/mainImg_sp.png) center 0 no-repeat;
    background-size: cover;
}
#mainImg h2 { font-size: 4.8rem;}

#topSec01, #topSec05 { padding: 90px 20px 70px;}
.topAbout, .topCult,
.topStaff, .topCalng { padding: 80px 0px;}

.topMesg, .topCarp { display: block;}
.topMesgImg, .topCarpImg {
    border-radius: 15px;
    height: 200px;
    margin: 20px auto 0px;
    width: calc(65% - 0px);
    max-width: calc(100% - 0px);
}

dl.topAboutDl, dl.topStaffDl, dl.topCalngDl {
    margin: 0px auto 50px;
    padding: 0px 20px 40px;
}
dl.topAboutDl dt h3, dl.topCultDl dt h3,
dl.topStaffDl dt h3, dl.topCalngDl dt h3 { font-size: 4rem;}
dl.topAboutDl dt, dl.topStaffDl dt, dl.topCalngDl dt { margin-bottom: 20px;}
dl.topAboutDl dt .richText, dl.topCultDl dt .richText,
dl.topStaffDl dt .richText, dl.topCarpDl dt .richText,
dl.topCalngDl dt .richText { font-size: 4.5rem;}
dl.topAboutDl dd.topAboutDd, dl.topCultDl dd.topCultDd,
dl.topCalngDl dd.topCultDd {
    display: block;
    width: 100%;
    margin-top: 20px;
}
dl.topAboutDl dd.topAboutDd p, dl.topCultDl dd.topCultDd p,
dl.topCalngDl dd.topCalngDd p { font-size: 1.6rem;}
dl.topAboutDl dd.topAboutDd p { margin-bottom: 20px;}

dl.topAboutDl dd.topAboutDd a.link > div, dl.topCultDl dd.topCultDd a.link > div,
dl.topStaffDl dd.topStaffDd a.link > div, dl.topCarpDl dd.topCarpDd a.link > div,
dl.topCalngDl dd.topCalngDd a.link > div {
  height: 50px;
  margin: 0 auto;
}
dl.topAboutDl dd.topAboutDd a.link > div > div > p,
dl.topCultDl dd.topCultDd a.link > div > div > p,
dl.topStaffDl dd.topStaffDd a.link > div > div > p,
dl.topCarpDl dd.topCarpDd a.link > div > div > p,
dl.topCalngDl dd.topCalngDd a.link > div > div > p {
    margin-bottom: 0;
    font-size: 1.7rem;
}
dl.topAboutDl dd.topAboutDd a.link > div > div > i,
dl.topCultDl dd.topCultDd a.link > div > div > i,
dl.topStaffDl dd.topStaffDd a.link > div > div > i,
dl.topCarpDl dd.topCarpDd a.link > div > div > i,
dl.topCalngDl dd.topCalngDd a.link > div > div > i {
    font-size: 2.0rem;
    height: 30px;
    width: 30px;
}

.topCult { padding: 80px 20px;}
.topCultImg {
    width: calc(100% - 0px);
    max-width: calc(100% - 0px);
    height: 240px;
}
dl.topCultDl dd.topCultDd a.link, dl.topCarpDl dd.topCarpDd a.link {
    margin: 40px auto 0;
}

.topCarpImg {
    height: 240px;
    width: calc(90% - 0px);
    max-width: calc(100% - 0px);
}

dl.topCarpDl dt .richText > p.subTitle {
    font-size: 2.0rem;
    margin: 0 0 18px;
}
dl.topCarpDl dt .richText > p > .strong { font-size: 6rem;}
dl.topAboutDl, dl.topStaffDl, dl.topCalngDl { display: block;}
dl.topCalngDl dd.topCalngDd p {
    width: calc(100% - 0px);
    max-width: calc(100% - 0px);
}

.secEN { padding: 60px 20px;}
.secEN .secIn { padding: 20px 0;}
.secEN .secIn .secIner {
    padding: 50px 20px;
    width: calc(100% - 0px);
}
.secEN .secIn .secIner dl dt {
    display: block;
    margin-bottom: 30px;
}
.secEN .secIn .secIner dl dt img {
    margin: 0 auto 20px;
    display: block;
}
.secEN .secIn .secIner dl dt > div > p { font-size: 6rem; margin: 0 auto;}
.secEN .secIn .secIner dl dt > div > p:last-child { font-size: 4rem;}
.secEN .secIn .secIner dl dd > p { font-size: 3.5rem;}
.secEN .secIn .secIner dl dd > p:last-child { font-size: 1.6rem;}
.secEN .secIn .secIner > .entryBdL { height: 5px; margin: 30px 0px 40px;}

div.entryBtn {
    width: 100%;
    max-width: 100%;
}
div.entryBtn > a {
    height: 65px;
    width: calc(100% - 50px);
    max-width: calc(100% - 50px);
}
div.entryBtn > a > div > div > p { font-size: 2.2rem;}


.footerIn {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
    padding: 0 20px;
}
.footerInT, .footerInU { display: block;}
.footerInT { margin: 0px auto 50px;}
.footerInT > a {
    text-align: center;
    margin: 0 auto;
    width: fit-content;
    display: block;
}
.footerInT > a > div {
    max-width: 200px;
    margin: 0 auto;
}
.footerInL {
    width: calc(100% - 0px);
    margin-top: 15px;
}
.footerInL > div a {
    font-size: 1.8rem;
    padding: 5px;
}
.footerInUicon, .footerInUcopy { display: block;}


#about section#underSec01 { padding: 18% 0 0;}

#mainImg {
    height: 95vh;
    min-height: 53vh;
}

p.logoTxt img { width: 45%;}
p.logoTxt {
    font-size: 3rem;
    line-height: 1.3;
    margin-bottom: 60px;
}
p.logoTxt span { margin-top: 10px;}
#about section#underSec01 h2 { font-size: 400%;}

p.subTtl {
    font-size: 2rem;
    height: 40px;
}
p.subTtl:before { border-width: 20px 30px 20px 0;}
h3.uNrchiTxt { font-size: 4rem;}
p.pageTxt, p.dDtxt { font-size: 1.6rem;}

dl.waysDl.flexBlock { display: block;}
dl.waysDl dt {
    width: calc(100% - 0px);
    margin-bottom: 15px;
}
dl.waysDl dd { width: calc(100% - 0px);}
dl.waysDl dd h4 { font-size: 2.7rem;}

.nxtPage { width: calc(90% - 0px);}
p.btnSttl {
    font-size: 2.5rem;
    margin-bottom: 10px;
}
p.btnTtl {
    font-size: 3.4rem;
    margin-bottom: 10px;
}
p.linkBtn {
    font-size: 1.6rem;
    border-radius: 13px 0px 13px 0px;
    width: 160px;
}
p.linkBtn i {
    font-size: 1.8rem;
    height: 24px;
    width: 24px;
}


#culture section#underSec01, #workstyle section#underSec01,
#flow section#underSec01, #career section#underSec01 {
    padding: 18% 0 0;
    margin-bottom: 80px;
}
p.pageSTtl { font-size: 4.0rem;}
p.pageSTtl:before { bottom: 5px;}
h2.unH2 { font-size: 3rem;}
#culture #underSec01 p.pageTxt, #workstyle #underSec01 p.pageTxt {
    font-size: 1.8rem;
    margin-bottom: 80px;
}
.cultListIn h3.uNrchiTxt {
    font-size: 3rem;
    border-bottom: 4px solid #4052BC;
    padding: 0.5rem 1rem;

}
.cultListIn h3.uNrchiTxt:before {
    bottom: -4px;
    height: 4px;
}

.wlbBox.wlB01.flexBlock { display: block;}
dl.wlbDl {
    width: calc(100% - 0px);
    margin: 0 auto 30px;
}
dl.wlbDl dd h4 { font-size: 2.0rem;}
dl.wlbDl dd p { font-size: 1.6rem;}
dl.wlbDl:last-child { margin-bottom: 0;}

#flow h3 {
    border-bottom: 5px solid #4052A2;
    font-size: 3.5rem;
}
.fwB01.flexBlock { display: block;}
.flowBox > div > div { width: calc(100% - 20px);}
.flowList { margin-bottom: 30px;}
.flowList ul li { font-size: 1.6rem;}
.flowList ul li:after { display: none;}
.flowBoxIn h4 { font-size: 2.8rem;}
.flowBoxIn p { font-size: 1.6rem;}

p.subH2 { font-size: 2.5rem;}
#career section#underSec01 { padding-bottom: 50px;}
#career section#underSec01 .pageTxt { width: calc(95% - 0px); margin-bottom: 0;}
#career section#underSec02 > div.cpBox {
    width: calc(100% - 0px);
    border: none;
    padding: 50px 10px 0;
}
dl.cpBoxIn dt { font-size: 2.4rem;}
p.cpTxt01 { font-size: 2.0rem;}
p.cpTxt02 { font-size: 2.4rem;}
p.cpTxt02:before { top: 20px;}
.sptList.flexBlock { display: block;}
dl.sptDl { width: calc(100% - 0px); margin-bottom: 20px;}
dl.sptDl dt {
    font-size: 2.2rem;
    border-bottom: 3px solid #8CA1CA;
}
dl.sptDl dd { font-size: 1.6rem;}
p.cpTxt03 { font-size: 2.0rem;}
.styTtl dd { width: calc(60% - 0px);}
.styTtl dd p { font-size: 1.4rem;}
.styTtl dd h3.styH3 { font-size: 1.8rem;}
.styBoxIn:after { display:none; }
.styBoxIn, .sklBoxIn {
    width: calc(100% - 0px);
    padding: 8% 0 5%;
}
.styBoxIn dl {
    width: calc(100% - 0px);
    border: 3px solid #4052BC;
    box-shadow: 3px 2px #4052BC;
}
.styBoxIn dl:before { display:none; }
.styBoxIn dl dt {
    font-size: 2.7rem;
    border-radius: 10px 10px 0px 0px;
}
.styBoxIn dl dd {
  font-size: 1.7rem;
  padding: 5% 5%;
}
.styBoxIn dl:last-child dt {
    text-indent: 7em;
    font-size: 2.7rem;
}
.styBoxIn dl:last-child dt span {
    font-size: 220%;
    left: -185px;
}
.styBoxIn dl dd ul li { width: calc(100% - 0px);}
.styBoxIn dl dd ul li:before {
    font-size: 4rem;
    transform: translateY(15%) translateX(0%);
    -webkit- transform: translateY(15%) translateX(-0%);
}
.styBoxIn dl dd ul li p { font-size: 1.8rem;}
.comBoxIn p { font-size: 2.4rem;}
h3.sklH3 { font-size: 3rem;}
.styTtl, .sklTtl { padding: 3% 4%;}
.sklBoxIn dl { padding: 20px 20px;}
.sklBoxIn dl dt { font-size: 2.8rem;}
.sklBoxIn dl dd { font-size: 1.8rem; padding: 0;}
.sklBoxIn > p { font-size: 4.5rem;}
p.crgTtlSub { font-size: 1.8rem;}
p.crgTtlTxt { font-size: 2.6rem;}
.crgTtl { padding: 23% 20% 10% 12%;}

table[summary="会社概要"] { width: 100%;}
table[summary="会社概要"] tr th, table[summary="会社概要"] tr td {
    display: block;
    width: 100%;
}


}



/*====================================*/
/*====================================*/
/*          max-width: 380px          */
/*====================================*/
/*====================================*/
@media screen and (max-width: 380px) {

header.sd a > div > h1 {
    font-size: 1.4rem;
    text-indent: 0.3em;
}
header.sd > .mBtn {
    margin: 5px 0px 0px 0px;
    padding: 0px 20px 0px 0px;
}
header.sd > .mBtn button {
    height: 48px;
    width: 48px;
}
.menu-trigger span:nth-of-type(2) { top: 23px;}
.menu-trigger.active span:nth-of-type(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(3) {
    -webkit-transform: translateY(-7px) rotate(45deg);
    transform: translateY(-7px) rotate(45deg);
}

.navBoxIn01 ul li a p { font-size: 2.8rem;}
.navBoxIn01 ul li a > i {
    height: 30px;
    width: 30px;
}

.topMesgImg, .topCarpImg {
    height: 220px;
    width: calc(75% - 0px);
}

dl.topAboutDl dt .richText, dl.topCultDl dt .richText, 
dl.topStaffDl dt .richText, dl.topCarpDl dt .richText, 
dl.topCalngDl dt .richText { font-size: 3.8rem;}
.topMesgDl dt h3, .topCarpDl dt h3 { font-size: 4rem;}
dl.topCarpDl dt .richText > p > .strong { font-size: 5rem;}

.footerInT > a > p.text { font-size: 1.4rem;}
.footerInUcopy > p { font-size: 1.2rem;}

}