@charset "UTF-8";

@media print, screen and (min-width:1200px) {

.video-wrapper {
position: relative;
width: 100%;
height: 100vh;
padding-top: 92px;
padding-bottom: 118px;
}

.video-wrapper video {
width: 100%;
height: 100%;
/*
-o-object-fit: cover;
object-fit: cover;
-o-object-position: center;
object-position: center;
*/
}

.video-wrapper #mainCopy {
position: absolute;
background-color: var(--themeColor);
width: 70%;
font-size: 2.8rem;
font-weight: 500;
color: #fff;
margin: auto;
padding: 20px 0;
line-height: 1.4;
z-index: 1;
left: 0;
right: 0;
bottom: 0;
}

.wrapColor {
background: url("../img/bg_wrap_color.jpg") repeat;
background-size: 1200px;
width: 100%;
}

.wrap {
width: 1200px;
text-align: justify;
margin: 0 auto;
padding: 120px 0;
}

.wrapS {
width: 1074px;
text-align: justify;
margin: 0 auto;
padding: 120px 0;
}

.mainTitleLw {
background: url("../img/mark_w.png") no-repeat left 12px;
background-size: 21px;
font-family: var(--font-montserrat);
font-size: 2rem;
color: #fff;
padding-left: 32px;
}

.mainTitleLw span {
position: relative;
font-family: var(--font-primary);
font-size: 3.2rem;
display: block;
left: -32px;
}

.indexFeaturesFlex {
position: relative;
display: flex;
justify-content: flex-start;
margin-top: 70px;
}

.indexFeaturesFlexE {
position: relative;
display: flex;
justify-content: flex-end;
margin-top: 70px;
}

.indexFeaturesPhoto {
width: 678px;
}

.indexFeaturesTxtR,
.indexFeaturesTxtL {
position: absolute;
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: cover;
width: 580px;
padding: 35px;
right: 0;
bottom: 70px;
z-index: 1;
display: flex;
justify-content: space-between;
}

.indexFeaturesTxtL {
left: 0;
}

.indexFeaturesTxtR .number,
.indexFeaturesTxtL .number {
width: 70px;
}

.indexFeaturesTxt {
width: 410px;
}

.indexFeaturesTxtR h3,
.indexFeaturesTxtL h3 {
font-size: 2.6rem;
color: var(--subColor);
margin-bottom: 20px;
line-height: 1;
}

.indexFeaturesTxtR h3 span,
.indexFeaturesTxtL h3 span {
background: linear-gradient(transparent 60%, var(--subColor2) 60%);
}

.indexFeaturesTxtR p,
.indexFeaturesTxtL p {
margin-bottom: 0;
}

#indexFeaturesBtn {
position: relative;
background-color: var(--themeColor);
background-size: cover;
width: 461px;
height: 77px;
font-family: var(--font-primary);
font-size: 2rem;
font-weight: 500;
text-align: left;
color: #fff;
margin: 0 auto;
margin-top: 80px;
padding: 0 0 3px 25px;
cursor: pointer;
border: 1px solid #fff;
transition: .3s;
}

#indexFeaturesBtn:hover {
background: #fff url("../img/btn_bg.png") no-repeat;
background-size: cover;
color: var(--themeColor);
}

#indexFeaturesBtn::after {
position: absolute;
background: url("../img/btn_arrow_w.png") no-repeat;
background-size: 36px;
width: 36px;
height: 36px;
content: "";
margin: auto;
top: 0;
bottom: 0;
right: 20px;
}

#indexFeaturesBtn:hover::after {
position: absolute;
background: url("../img/btn_arrow_w_h.png") no-repeat;
background-size: 36px;
}

.wrapColorService {
background: url("../img/bg_wrap_color.jpg") repeat;
background-size: 1200px;
width: 100%;
padding: 110px 0;
}

#indexServiceWrap {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 1200px;
text-align: justify;
margin: 0 auto;
padding: 75px;
border: 1px solid var(--themeColor);
}

.mainTitleL {
background: url("../img/mark.png") no-repeat left 12px;
background-size: 21px;
font-family: var(--font-montserrat);
font-size: 2rem;
margin-bottom: 60px;
padding-left: 32px;
line-height: 1.5;
}

.mainTitleL span {
position: relative;
font-family: var(--font-primary);
font-size: 3.2rem;
display: block;
left: -32px;
}

.mainTitleL em {
font-size: 2.4rem;
color: var(--subColor);
display: block;
}

.mainTitleCe {
font-family: var(--font-montserrat);
font-size: 2rem;
text-align: center;
display: table;
margin: 0 auto;
margin-bottom: 50px;
}

.mainTitleCe i {
background: url("../img/mark.png") no-repeat left 7px;
background-size: 21px;
padding-left: 28px ;
}

.mainTitleCe span {
font-family: var(--font-primary);
font-size: 3.2rem;
display: block;
}

.indexServiceFlex {
width: 100%;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.indexServiceWrap {
position: relative;
width: 320px;
text-align: center;
margin-bottom: 30px;
}

.indexServiceIcon {
width: 130px;
height: 130px;
text-align: center;
margin: 0 auto;
display: table;
}

.indexServiceIcon div {
display: table-cell;
vertical-align: middle;
}

.indexServiceWrap h3 {
position: relative;
font-size: 2.4rem;
color: var(--subColor);
margin-bottom: 20px;
line-height: 1;
}

.indexServiceWrap h3 span {
position: relative;
background: linear-gradient(transparent 60%, var(--subColorYellow) 60%);
padding-right: 40px;
}

.indexServiceWrap h3 span::after {
position: absolute;
background: url("../img/btn_arrow_c.png") no-repeat;
background-size: 30px;
width: 30px;
height: 30px;
content: "";
margin: auto;
top: 0;
bottom: 0;
right: 0;
transition: .5s;
}

.indexServiceWrap:hover h3 span::after {
right: -5px;
}

.indexServiceTxt h4 {
font-size: 1.8rem;
color: var(--subColor);
margin-bottom: 10px;
line-height: 1.5;
}

.indexServiceTxt p {
margin-bottom: 0;
}

.indexServicePb {
padding-bottom: 45px;
}

.indexServicePtb {
padding: 45px 0;
}

.indexServicePt {
padding-top: 45px;
}

.indexServiceBoderVertical {
background: url("../img/dotted_v.png") repeat-y center;
background-size: 1px;
width: 1px;
}

.indexServiceBoderVerticalCo {
background: url("../img/dotted_v.png") repeat-y center;
background-size: 1px;
width: 220px;
}

.indexServiceBoderHorizontal {
background: url("../img/dotted_h.png") repeat-x;
background-size: 18px;
width: 100%;
height: 1px;
}

.indexServiceBoderHorizontalSp {
display: none;
}

.wrapColor2 {
background: url("../img/bg_wrap_color2.jpg") repeat;
background-size: 1200px;
width: 100%;
}

#indexWrapWide {
width: 100%;
padding: 120px 0;
}

#indexWrapWide img {
width: 100%;
}

#indexWrapNews {
width: 1000px;
text-align: justify;
margin: 0 auto;
padding: 110px 0;
}

.indexNewsFlex a {
position: relative;
width: 100%;
color: var(--themeColor);
text-decoration: none;
padding: 25px 20px 22px 10px;
display: block;
display: flex;
justify-content: space-between;
border-bottom: 1px solid var(--themeColor);
}

.indexNewsFlex a::after {
position: absolute;
background: url("../img/btn_arrow_c.png") no-repeat;
background-size: 30px;
width: 30px;
height: 30px;
content: "";
margin: auto;
top: 0;
bottom: 0;
right: 5px;
transition: .5s;
}

.indexNewsFlex a:hover::after {
right: 0;
}

.indexNewsFlex:first-of-type{
border-top: 1px solid var(--themeColor);
}

.indexNewsFlex .thumbnail {
width: 200px;
height: 130px;
overflow: hidden;
}

.indexNewsFlex .thumbnail img {
width: 100%;
height: 130px;
object-fit: cover;
}

.indexNewsFlex .date {
width: auto;
font-family: var(--font-montserrat);
font-size: 1.8rem;
text-align: center;
padding: 0 15px;
}

.indexNewsFlex .indexNewsDotted {
background: url("../img/dotted_v.png") repeat-y;
background-size: 1px;
width: 1px;
}

.indexNews {
width: 620px;
font-size: 1.4rem;
padding: 0 40px 0 20px;
}

.indexNews h3 {
font-size: 1.8rem;
color: var(--themeColor);
margin-bottom: 10px;
line-height: 1.5;
}

.indexNews p {
margin-bottom: 15px;
}

.indexNews .category {
background-color: var(--themeColor);
width: auto;
height: 25px;
font-size: 1.2rem;
text-align: center;
color: #fff;
display: inline-block;
margin-right: 10px;
padding: 0 10px;
line-height: 23px;
}

#newsBtnWrap {
width: 300px;
margin: 0 auto;
margin-top: 60px;
}

/**/

.mainTitleCeW {
font-family: var(--font-montserrat);
font-size: 2rem;
color: #fff;
text-align: center;
display: table;
margin: 0 auto;
margin-bottom: 50px;
}

.mainTitleCeW i {
background: url("../img/mark_w.png") no-repeat left 7px;
background-size: 21px;
padding-left: 28px ;
}

.mainTitleCeW span {
font-family: var(--font-primary);
font-size: 3.2rem;
display: block;

}

#indexBannerWrap {
padding: 110px 0 10px;
}

.indexBannerFlex {
width: 80%;
margin: 0 auto;
display: flex;
justify-content: center;
flex-wrap: wrap;
}

.indexBannerFlex div {
margin: 0 10px 20px;
}

.indexBannerFlex div img {
border: 1px solid #CDD3DB;
}

/**/

#titleWrap {
background: url("../img/bg_wrap_color2.jpg") repeat;
background-size: 1200px;
width: 100%;
height: 320px;
}

#titleInner {
width: 1200px;
text-align: left;
margin: 0 auto;
padding-top: 110px;
}

.contentsWrap {
position: relative;
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 1200px;
text-align: justify;
margin: 0 auto;
margin-bottom: -260px;
top: -190px;
padding: 50px 70px 60px;
z-index: 1;
}

.contentsWrapSingle {
position: relative;
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 1200px;
text-align: justify;
margin: 0 auto;
margin-bottom: -260px;
top: -190px;
padding: 50px 70px 60px;
z-index: 1;
}

.contentsWrapFlex {
position: relative;
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 1200px;
text-align: justify;
margin: 0 auto;
margin-bottom: -222px;
top: -222px;
z-index: 1;
display: flex;
justify-content: space-between;
}

.contentsWrapL {
width: 650px;
padding: 60px 0 30px 70px;
}

.contentsWrapR {
width: 512px;
}

.contentsWrapRService {
width: 512px;
height: 676px;
overflow: hidden;
}

.contentsWrapRService img {
width: 100%;
height: 676px;
object-fit: cover;
}

#breadcrumb {
font-size: 1.4rem;
margin-bottom: 40px;
}

#breadcrumb a {
text-decoration: underline;
}

.contentsTitle {
font-size: 3.8rem;
color: var(--subColor);
margin-bottom: 70px;
padding-bottom: 20px;
border-bottom: 1px solid #ddd;
}

.contentsTitleSingle {
font-size: 3.8rem;
color: var(--subColor);
}

.contentsTitleSingle span {
font-size: 2.8rem;
display: block;
}

.contentsSubTitle {
font-size: 2.6rem;
color: var(--subColor);
}

.contentsSubTitle span {
background:linear-gradient(transparent 60%, var(--subColor2) 60%);
}

.contentsSubTitle2 {
font-size: 2.6rem;
color: var(--subColor);
margin-bottom: 30px;
}

.hr {
margin: 60px auto;
border-bottom: 1px solid #ddd;
}

#contentsNav {
margin-top: -8px;
}

#contentsNav li {
font-size: 1.5rem;
padding: 11px 0 13px;
border-bottom: 1px solid #ddd;
}

#contentsNav a {
background: url("../img/arrow_contents_nav.png") no-repeat left;
background-size: 14px;
color: var(--themeColor);
padding-left: 24px;
transition: .3s;
}

#contentsNav a:hover {
color: var(--subColor);
}

.contentsWrapBottom {
width: 1200px;
text-align: center;
color: #fff;
margin: 0 auto;
padding: 150px 0 60px;
}

.wrapCoAll {
position: relative;
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 100%;
margin-top: 100px;
}

.wrapCo {
width: 1200px;
text-align: justify;
margin: 0 auto;
padding-bottom: 80px;
}

.commonFlex {
width: 100%;
padding: 45px 0;
display: flex;
justify-content: space-between;
border-top: 1px solid #ddd;
}

.commonL {
width: 500px;
}

.commonLFlex {
margin-bottom: 30px;
display: flex;
justify-content:flex-start;
align-items: center;
}

.commonLNumber {
width: 60px;
margin-right: 20px;
}

.commonLR h3 {
font-size: 2.3rem;
line-height: 1.6;
}

.commonLR h3 span {
background: linear-gradient(transparent 70%, var(--subColor2) 50%);
}

.commonR {
width: 658px;
}

.equipmentFlex {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 1040px;
margin: 0 auto;
margin-bottom: 30px;
display: flex;
justify-content: space-between;
overflow: hidden;
}

.equipmentPhoto {
background-color: #ddd;
width: 508px;
height: 360px;
}

.equipmentTxt {
width: 532px;
padding: 30px 32px;
}

.equipmentTxt h3 {
font-size: 2.3rem;
color: var(--subColor);
margin-bottom: 20px;
line-height: 1.5;
}

.equipmentTxt p {
margin-bottom: 0;
}

#othreEquipmentWrap {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 1040px;
margin: 0 auto;
padding: 50px 50px 60px;
}

#othreEquipmentWrap h2 {
font-size: 2.4rem;
text-align: center;
color: var(--subColor);
margin-bottom: 30px;
}

#othreEquipmentFlex {
width: 860px;
font-size: 1.8rem;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

#othreEquipmentFlex li {
color: var(--subColor);
list-style: disc;
padding-right: 60px;
}

#othreEquipmentFlex li span {
color: var(--themeColor);
}

#serviceWrap {
width: 1040px;
text-align: justify;
margin: 110px auto;
}

.variableFlex {
display: flex;
justify-content: space-between;
}

.variableTxt {
width: 420px;
text-align: justify;
}

.variableImg {
width: 620px;
}

/**/

.priceLinkWrap {
width: 600px;
margin: 0 auto;
margin-bottom: 60px;
}

.priceLinkWrap .btn {
text-align: center;
}

.serviceTxt {
position: relative;
width: 478px;
min-height: 640px;
}

.serviceIcon {
width: 100%;
height: 158px;
text-align: center;
display: table;
margin-bottom: 50px;
}

.inner {
display: table-cell;
vertical-align: middle;
}

.serviceTxt h3 {
font-size: 2.4rem;
color: var(--subColor);
margin-bottom: 20px;
line-height: 1;
}

.serviceTxt h3 span {
background: linear-gradient(transparent 60%, var(--subColorYellow) 60%);
}

.serviceTxt h4 {
font-size: 1.8rem;
color: var(--subColor);
margin-bottom: 10px;
line-height: 1.5;
}

.btn {
position: relative;
background-color: transparent;
width: 100%;
height: 58px;
font-size: 1.6rem;
text-align: left;
color: var(--themeColor);
margin-bottom: 10px;
padding: 0 0 3px 20px;
cursor: pointer;
border: 1px solid var(--themeColor);
transition: .3s;
}

.serviceTxt .btn {
position: absolute;
left: 0;
bottom: 50px;
}

.btn::after {
position: absolute;
background: url("../img/btn_arrow_c.png") no-repeat;
background-size: 28px;
width: 28px;
height: 28px;
content: "";
margin: auto;
top: 0;
bottom: 0;
right: 20px;
}

.btn:hover {
background-color: var(--themeColor);
color: #fff;
}

.btn:hover::after {
position: absolute;
background: url("../img/btn_arrow_c_h.png") no-repeat;
background-size: 28px;
}

.aboutTheDataWrap {
width: 870px;
margin: 0 auto;
padding: 40px 50px 50px;
border: 1px solid #ddd
}

.aboutTheDataWrap h3 {
color: var(--subColor);
}

.aboutTheDataWrap a {
color: var(--themeColor);
}

.privacyMarkCo {
float: left;
width: 60px;
margin: 0 20px 0 0;
}

.supportedCasesWrap {
position: relative;
width: 700px;
font-size: 1.8rem;
color: var(--subColor);
margin: 0 auto;
margin-bottom: 36px;
padding-left: 20px;
display: flex;
justify-content: space-between;
flex-wrap: wrap;
left: 30px;
}

.supportedCasesWrap li {
width: 48%;
list-style: disc;
padding-right: 20px;
}

.supportedCasesWrap li span {
color: var(--themeColor);
}

.supportedCasesTxt {
color: var(--subColor);
text-align: center;
}

.wrapFlow {
width: 1074px;
text-align: justify;
margin: 0 auto;
padding: 120px 0;
}

.flowFlex {
width: 100%;
margin: 0 auto;
padding: 40px 0;
display: flex;
justify-content: space-between;
border-bottom: 1px solid #ddd;
}

.flowFlex:first-of-type {
margin-top: -50px;
}

.flowPhoto {
width: 510px;
height: 306px;
overflow: hidden;
}

.flowPhoto img {
width: 100%;
height: 306px;
object-fit: cover;
}

.flowTxt {
width: 526px;
}

.flowTxt p {
margin-bottom: 0;
}

.flowTitlteFlex {
margin-bottom: 20px;
display: flex;
justify-content: flex-start;
align-items: center;
}

.flowTitlteFlex .flowStep {
margin-right: 25px;
}

.flowTitlteFlex h3 {
position: relative;
font-size: 2.6rem;
color: var(--subColor);
top: -3px;
}

.flowTitlteFlex h3 span {
background: linear-gradient(transparent 60%, var(--subColor2) 60%);
}

.serviceTitleFlex {
display: flex;
justify-content: flex-start;
align-items: center;
}

.serviceTitleFlex .number {
position: relative;
width: 70px;
margin-right: 20px;
top: 3px;
}

.serviceTitleCo,
.serviceTitleCo2 {
position: relative;
color: var(--subColor);
margin-bottom: 40px;
line-height: 1.3;
}

.serviceTitleCo em,
.serviceTitleCo2 em {
font-size: 3rem;
color: var(--themeColor);
}

.serviceTitleCo span,
.serviceTitleCo2 span {
background: linear-gradient(transparent 60%, var(--subColor2) 60%);
font-size: 2rem;
}

.serviceTitleCo2 span {
background: linear-gradient(transparent 60%, #fff 60%);
font-size: 2rem;
}

.serviceFlex {
margin-bottom: 60px;
display: flex;
justify-content: space-between;
}

.serviceNoFlex {
margin-bottom: 60px;
}

.serviceNoFlex p {
margin-bottom: 80px;
}

.serviceLTxt {
width: 570px;
}

.serviceLTxt h4 {
font-size: 2.4rem;
color: var(--subColor);
margin-bottom: 30px;
line-height: 1.5;
}

.servicePhoto {
width: 570px;
}

.serviceDl {
margin-bottom: 30px;
}

.serviceDl dt {
float: left;
}

.serviceDl dd {
padding: 0 0 0 18px;
}

.wrapDelivery {
width: 1074px;
color: #fff;
text-align: center;
margin: 0 auto;
padding: 120px 0;
}

.wrapDelivery h3 {
font-size: 2rem;
margin-bottom: 20px;
}

.wrapDelivery img {
width: 200px;
margin-bottom: 30px;
}

.wrapSchedule {
width: 1074px;
color: #fff;
text-align: center;
margin: 0 auto;
padding: 120px 0;
}

.schedule {
margin-top: 45px;
}

.feeTable {
width: 900px;
text-align: center;
margin: 0 auto;
}

.feeTable table {
width: 100%;
font-size: 1.8rem;
margin-bottom: 20px;
table-layout: fixed;
}

.feeTable th {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
color: var(--subColor);
padding: 20px 5px;
border: 1px solid #ddd;
}

.feeTable td {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
padding: 20px 5px;
border: 1px solid #ddd;
}

/**/

.contentsTitlePost {
font-size: 3.8rem;
color: var(--subColor);
margin-bottom: 10px;
padding-bottom: 30px;
border-bottom: 1px solid #ddd;
line-height: 1.3;
}

.contentsTitlePost span {
font-size: 2.8rem;
display: block;
margin-top: 15px;
}

#wrapNews {
width: 1000px;
text-align: justify;
margin: 0 auto;
padding: 110px 0;
}

.newsTagFlex {
padding: 25px 0;
display: flex;
justify-content: space-between;
border-bottom: 1px solid #ddd;
}

.newsTagL {
width: 95px;
color: var(--subColor);
}

.newsTagR {
width: 967px;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.tagList {
background-color: #fff;
width: auto;
height: 32px;
font-size: 1.4rem;
text-align: center;
display: inline-block;
margin: 0 10px 10px 0;
border: 1px solid #ddd;
line-height: 28px;
transition: .3s;
}

.tagList:hover {
background-color: var(--themeColor);
border: 1px solid var(--themeColor);
}

.tagList a {
color: var(--themeColor);
display: block;
text-decoration: none;
padding: 0 10px !important;
}

.tagList a:hover {
color: #fff;
}

.newsTagR select {
position: relative;
width: 150px;
height: 32px;
color: var(--themeColor);
padding: 5px 10px;
border: 1px solid #ddd;
}

.selectWrap {
position: relative;
width: 150px;
}

.selectWrap::after {
position: absolute;
width: 8px;
height: 8px;
content: "";
margin: auto;
border-right: 1px solid var(--themeColor);
border-bottom: 1px solid var(--themeColor);
transform: rotate(45deg);
top: -5px;
bottom: 0;
right: 15px;
}

.postDate {
font-size: 1.4rem;
margin-bottom: 10px;
}

.postTagWrap {
width: 100%;
padding-top: 20px;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.postWrap {
width: 856px;
margin: 0 auto;
padding-top: 60px;
}

.postThumbnail {
width: 100%;
text-align: center;
margin-bottom: 40px;
}

.postWrap h2 {
font-size: 2.8rem !important;
color: var(--subColor);
margin-bottom: 40px;
padding-bottom: 20px;
border-bottom: 1px solid #ddd;
line-height: 1.4;
clear: both;
}

.postWrap h3 {
font-size: 2.2rem !important;
color: var(--subColor);
margin-bottom: 30px;
clear: both;
}

.postWrap strong {
font-weight: 500;
}

.postWrap table {
width: 100%;
text-align: center;
}

.postWrap th,
.postWrap td {
padding: 10px;
border: 1px solid #ccc;
}

.postWrap .is-stacked-on-mobile {
display: flex;
justify-content: flex-start;
}

.postWrap .wp-block-media-text__media {
margin-right: 30px;
}

.postWrap .size-medium {
width: 160px;
}

/**/

#wrapCaseStudy {
width: 1074px;
text-align: justify;
margin: 0 auto;
padding: 110px 0;
}

/**/

#prevNextWrap {
width: 856px;
text-align: center;
margin: 60px auto;
margin-top: 80px;
display: flex;
justify-content: space-between;
align-items: center;
}

#prevNextWrap a {
text-decoration: none;
}

.btnPrevWrap,
.btnNextWrap {
width: 146px;
}

.btnBack {
position: relative;
background-color: #fff;
width: 224px;
height: 58px;
font-size: 1.6rem;
text-align: center;
color: var(--themeColor);
margin: 0;
padding-bottom: 3px;
cursor: pointer;
border: 1px solid var(--themeColor);
transition: .3s;
}

.btnBack:hover {
background-color: var(--themeColor);
color: #fff;
}

.btnPrev,
.btnNext {
position: relative;
width: 146px;
height: 58px;
font-size: 1.6rem;
text-align: center;
color: var(--themeColor);
line-height: 56px;
transition: .3s;
}

.btnNext {
background: url("../img/post_next.png") no-repeat right;
background-size: 42px;
padding-right: 56px;
}

.btnPrev {
background: url("../img/post_prev.png") no-repeat left;
background-size: 42px;
padding-left: 56px;
}

.btnNext:hover {
background: url("../img/post_next_h.png") no-repeat right;
background-size: 42px;
}

.btnPrev:hover {
background: url("../img/post_prev_h.png") no-repeat left;
background-size: 42px;
}

.pageNavi {
font-family: var(--font-montserrat);
font-size: 2rem;
margin: 0 auto;
margin-top: 60px;
text-align: center;
line-height: 40px;
}

.pageNavi .pages {
display: none;
}

.pageNavi span.current {
background-color: var(--themeColor);
width: 42px;
height: 42px;
color: #fff;
margin: 0 5px;
display: inline-block;
border: 1px solid var(--themeColor);
border-radius: 42px;
}

.pageNavi .page {
width: 42px;
height: 42px;
color: var(--themeColor) !important;
text-decoration: none !important;
margin: 0 5px;
display: inline-block;
border: 1px solid var(--themeColor);
border-radius: 42px;
transition: .3s;
}

.pageNavi .page:hover {
background-color: var(--themeColor);
color: #fff !important;
}

.pageNavi .nextpostslink {
position: relative;
background: url("../img/post_next.png") no-repeat;
background-size: 42px;
width: 42px;
height: 42px;
font-size: 0;
margin: 0 5px;
display: inline-block;
text-indent: -1000px;
transition: .3s;
top: -8px;
}

.pageNavi .nextpostslink:hover {
background: url("../img/post_next_h.png") no-repeat;
background-size: 42px;
width: 42px;
height: 42px;
}

.pageNavi .previouspostslink {
position: relative;
background: url("../img/post_prev.png") no-repeat;
background-size: 42px;
width: 42px;
height: 42px;
font-size: 0;
margin: 0 5px;
display: inline-block;
text-indent: -1000px;
transition: .3s;
top: -8px;
}

.pageNavi .previouspostslink:hover {
background: url("../img/post_prev_h.png") no-repeat;
background-size: 42px;
width: 42px;
height: 42px;
}

/**/

.tagFlex {
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.tagFlex {

}

/**/

.faqTItle {
font-size: 2.6rem;
color: var(--subColor);
margin-bottom: 40px;
line-height: 1;
}

.faqTItle span {
background: linear-gradient(transparent 60%, var(--subColor2) 60%);
}

.accordion {
width: 100%;
text-align: justify;
margin: 0 auto;
margin-bottom: 100px;
border-top: 1px solid #ddd;
}

.accordion ul {
margin: 0 auto;
padding: 0;
}

.accordion li {
position: relative;
width: 100%;
border-bottom: 1px solid #ddd;
transition: .3s;
}

.accordion li p:last-child {
margin-bottom: 0;
}

.accordion li h2,
.accordion li h3 {
position: relative;
font-size: 1.8rem;
}

.accordion a {
position: relative;
color: var(--themeColor);
display: block;
text-decoration: none;
cursor: pointer;
padding: 20px 76px 28px 20px;
transition: .3s;
}

.accordion li .accordion_icon {
display: inline-block;
transition: all .3s;
box-sizing: border-box;
}

.accordion li .accordion_icon {
position: absolute;
width: 15px;
height: 15px;
margin: auto;
top: 14px;
bottom: 0;
right: 20px;
}

.accordion li .accordion_icon span {
position: absolute;
width: 100%;
height: 1px;
background-color: var(--themeColor);
}

.accordion li .accordion_icon span:nth-of-type(1) {
transform: rotate(0deg);
}

.accordion li .accordion_icon span:nth-of-type(2) {
transform: rotate(90deg);
}

.accordion li .accordion_icon.active span:nth-of-type(1) {
display:none;
}

.accordion li .accordion_icon.active span:nth-of-type(2) {
transform: rotate(180deg);
}

.toggle dt {
position: relative;
float: left;
font-family: var(--font-montserrat);
font-size: 2.1rem;
color: var(--subColor);
padding: 7px 0;
top: -2px;
}

.toggle dd {
padding: 7px 0 3px 32px;
}

.faqDetail,
.caseStudyDetail {
font-size: 1.5rem;
display: none;
padding: 0 20px 34px 20px;
overflow: hidden;
}

.caseStudyDetail {
font-size: 1.8rem;
}

.faqDetail dt {
position: relative;
float: left;
font-family: var(--font-montserrat);
font-size: 2.1rem;
color: #DD8989;
top: -3px;
}

.faqDetail dd {
padding: 0 0 0 32px;
}

.caseStudyTitle {
color: var(--subColor);
}

.caseStudyTitle span {
color: var(--themeColor);
margin-left: 40px;
}

.caseStudyDetail ul {
margin-bottom: 30px;
}

.caseStudyDetail li {
border-bottom: 0;
}

/**/

.ourStrengthsFlex {
padding: 50px 0;
border-top: 1px solid #ddd;
display: flex;
justify-content: space-between;
}

.ourStrengths {
width: 380px;
}

.ourStrengthsTitleFlex {
margin-bottom: 30px;
display: flex;
justify-content: flex-start;
align-items: center;
}

.ourStrengths .number {
width: 70px;
margin-right: 20px;
}

.ourStrengths h3 {
position: relative;
font-size: 2.6rem;
line-height: 1.3;
top: -3px;
}

.ourStrengths h3 span {
background: linear-gradient(transparent 60%, var(--subColor2) 60%);
}

.ourStrengths h3 em {
font-size: 2rem;
}

.ourStrengthsPhoto img {
width: 100%;
height: 230px;
object-fit: cover;
}

.ourStrengths p {
margin-top: 20px;
margin-bottom: 0;
}

.btnContact {
position: relative;
background-color: var(--themeColor);
background-size: cover;
width: 318px;
height: 78px;
font-family: var(--font-primary);
font-size: 1.6rem;
font-weight: 500;
text-align: left;
color: #fff;
margin: 0 15px;
padding: 0 0 3px 20px;
cursor: pointer;
border: 1px solid #fff;
transition: .3s;
}

.btnContact:hover {
background: #fff url("../img/btn_bg.png") no-repeat;
background-size: cover;
color: var(--themeColor);
}

.btnContact::after {
position: absolute;
background: url("../img/btn_arrow_w.png") no-repeat;
background-size: 36px;
width: 36px;
height: 36px;
content: "";
margin: auto;
top: 0;
bottom: 0;
right: 20px;
}

.btnContact:hover::after {
position: absolute;
background: url("../img/btn_arrow_w_h.png") no-repeat;
background-size: 36px;
}

/**/

.coBannerWrap {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 1200px;
text-align: center;
margin: 0 auto;
margin-bottom: 100px;
padding: 80px 30px 80px;
}

.history {
position: relative;
width: 680px;
text-align: left;
margin: 0 auto;
}

.history::after {
position: absolute;
background-color: var(--subColor);
width: 1px;
height: 100%;
content: "";
top: 0;
left: 115.5px;
}

.history dt {
position: relative;
float: left;
width: 120px;
color: var(--subColor);
text-align: right;
padding: 20px 42px 20px 0;
white-space: nowrap;
}

.history dt:after {
position: absolute;
background-color: var(--subColor);
width: 8px;
height: 8px;
content: "";
border-radius: 8px;
margin: auto;
top: 0;
bottom: 0;
right: 0;
}

.history dd {
padding: 20px 0 20px 160px;
}

.fbWrap {
width: 1050px;
margin: 0 auto;
margin-bottom: 100px;
display: flex;
justify-content: space-between;
}

.fbPrinting {
width: 500px;
}

/**/

#greetingsPhoto {
position: relative;
width: 1078px;
}

#greetingsPhoto h2 {
position: absolute;
font-size: 3.2rem;
font-weight: 500;
color: var(--subColor);
top: 100px;
left: 470px;
z-index: 1;
line-height: 1.7;
}

#greetingsPhoto h2 span {
font-size: 1.4rem;
font-weight: 400;
display: block;
margin-top: 20px;
}

#greetingsTxtWrap {
display: flex;
justify-content: flex-end;
}

#greetingsTxt {
position: relative;
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 734px;
margin-top: -185px;
padding: 60px 0 0 60px;
z-index: 1;
}

#greetingsTxt p:last-child {
margin-bottom: 0;
}

#companyOutline {
width: 668px;
color: #fff;
margin: 0 auto;
border-top: 1px solid #0F4384;
}

#companyOutline dt {
float: left;
padding: 25px 0;
}

#companyOutline dd {
position: relative;
padding: 25px 0 25px 190px;
border-bottom: 1px solid #0F4384;
}

#companyOutline dd a {
color: #fff;
text-decoration: underline;
}

#outlineP {
position: absolute;
width: 73px;
top: 18px;
left: 385px;
}

.fbCompany {
width: 500px;
margin: 0 auto;
margin-top: 60px;
}

.comapanyBannerWrap {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 1200px;
font-size: 1.8rem;
text-align: center;
color: var(--subColor);
margin: 60px auto;
margin-bottom: 0;
padding: 80px 30px 80px;
}

.comapanyBannerWrap h3 {
font-size: 3.2rem;
margin-bottom: 5px;
}

.comapanyBannerWrap p {
margin-bottom: 60px;
}

.accessFlex {
margin-bottom: 30px;
display: flex;
justify-content: space-between;
}

#accessMap {
width: 304px;
}

#googleMap {
position: relative;
width: 856px;
text-align: right;
}

#googleMap iframe {
margin-bottom: 5px;
}

#googleMap a {
background: url("../img/company/icon_link.png") no-repeat right;
background-size: 13px;
padding-right: 18px;
}

.accessTxt {
width: 586px;
text-align: left;
padding: 50px 30px;
border: 1px solid var(--subColor);
}

.accessTxt h3 {
font-size: 2.4rem;
text-align: center;
color: var(--subColor);
margin-bottom: 30px;
line-height: 1.6;
}

.accessTxt h3 span {
background: linear-gradient(transparent 60%, #FFFBC7 60%);
}

.accessTxt h4 {
font-size: 1.8rem;
color: var(--subColor);
margin-bottom: 5px;
}

.accessTxt p:last-child {
margin-bottom: 0;
}

.accessMtb {
margin-top: 20px !important;
margin-bottom: 48px !important;
}

/**/

#contactWrap {
width: 855px;
margin: 0 auto;
margin-bottom: 30px;
}

#contactWrap span {
color: #DD8989;
}

.conatctFormFlex {
width: 100%;
border-bottom: 1px solid #ddd;
display: flex;
justify-content: space-between;
align-items: center;
}

.conatctFormFlex:first-child {
border-top: 1px solid #ddd;
}

.conatctFormFlexAfs {
width: 100%;
border-bottom: 1px solid #ddd;
display: flex;
justify-content: space-between;
}

.conatctForm {
width: 215px;
padding: 20px 0;
}

.conatctFormInput {
background: url("../img/dotted_v_contact.png") repeat-y left top;
background-size: 1px;
width: 640px;
padding: 20px 0 20px 20px;
}

.conatctFormInput .inputW {
background-color: #fff;
font-family: var(--font-primary);
width: 100%;
height: 60px;
font-size: 1.6rem;
padding: 15px;
border: 1px solid #ddd;
}

.conatctFormInput textarea {
background-color: #fff;
font-family: var(--font-primary);
width: 100%;
height: 200px;
font-size: 1.6rem;
padding: 15px;
border: 1px solid #ddd;
}

input::placeholder,
textarea::placeholder {
color: #CDD3DB;
}

.conatctFormInput input[type="checkbox"] {
margin: 0;
padding: 0;
background: none;
border: none;
border-radius: 0;
outline: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}

.conatctFormInput input[type="checkbox"] {
display: flex;
flex-wrap: wrap;
border: none;
margin-right: 10px;
}

.conatctFormInput .wpcf7-list-item {
display: inline-block;
}

.conatctFormInput .wpcf7-list-item label {
position: relative;
display: flex;
align-items: center;
cursor: pointer;
margin-right: 15px;
}

/*Contact Form 7 最初の余白をなくす*/
.conatctFormInput .first {
margin: 0 !important;
padding: 0 !important;
}

.wpcf7-list-item-label {
color: var(--themeColor) !important;
}

.conatctFormInput .wpcf7-list-item label::before,
.conatctFormInput .wpcf7-list-item label:has(:checked)::after {
content: '';
}

.conatctFormInput .wpcf7-list-item label::before {
position: relative;
background-color: #fff;
width: 17px;
height: 17px;
border: 1px solid #ddd;
top: 1px;
}

.conatctFormInput .wpcf7-list-item label:has(:checked)::before {
background-color: var(--subColor);
}

.conatctFormInput .wpcf7-list-item label:has(:checked)::after {
position: absolute;
top: 8px;
left: 6px;
transform: rotate(45deg);
width: 6px;
height: 10px;
border: solid #fff;
border-width: 0 2px 2px 0;
}

.submitWrap {
width: 100%;
text-align: center;
margin-bottom: 30px;
padding-top: 40px;
}

.wpcf7-submit {
background-color: var(--themeColor);
width: 224px;
height: 58px;
font-size: 1.8rem;
color: #fff;
cursor: pointer;
border: 1px solid var(--themeColor);
transition: .3s;
}

.wpcf7-submit:hover {
background-color: #fff;
color: var(--themeColor);
border: 1px solid var(--themeColor);
}

/**/

.privacy {
font-size: 1.5rem;
}

.privacy h3 {
font-size: 1.8rem;
color: var(--subColor);
margin-bottom: 10px;
}

.tableSp table {
width: 100%;
text-align: justify;
margin-bottom: 50px;
}

.tableSp th,
.tableSp td {
padding: 15px 30px;
vertical-align: middle;
border: 1px solid #ccc;
}

.tableSp th {
text-align: center;
}

.tableSp01 {
width: 200px;
}

.tableSp02 {
width: 330px;
}

.tableSpCe {
text-align: center;
}

/**/

.aboutPrintingFlex {
display: flex;
justify-content: space-between;
}

.aboutPrintingL {
width: 500px;
}

.aboutPrintingR {
width: 658px;
}

#aboutPrintingWrap {
margin: 60px auto;
margin-top: 120px;
padding: 50px 100px;
border: 1px solid var(--themeColor);
}

#aboutPrintingWrap .photo {
margin-bottom: 20px;
}

#aboutPrintingWrap h2 {
font-size: 3.2rem;
text-align: center;
color: var(--subColor);
margin-bottom: 40px;
}

#aboutPrintingWrap h2 span {
background: linear-gradient(transparent 60%, #FFFBC7 60%);
}

.aboutPrintingMeritFlex {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.aboutPrintingMerit {
width: 477px;
}

.aboutPrintingMerit .photo {
width: 100%;
height: 286px;
overflow: hidden;
}

.aboutPrintingMerit .photo img {
width: 100%;
height: 286px;
object-fit: cover;
}

.aboutPrintingMerit .ourStrengthsTitleFlex {
margin-bottom: 10px;
}

.aboutPrintingMerit h3 {
font-size: 2.6rem;
color: var(--subColor);
margin-left: 15px;
}

#activitiesFlex {
background-color: #fff;
margin: 60px auto;
display: flex;
justify-content: space-between;
}

#activitiesL {
width: 50%;
}

#activitiesR {
width: 50%;
padding: 50px;
}

#activitiesR ul {
font-size: 1.8rem;
margin-bottom: 25px;
}

#activitiesR ul li {
display: flex;
align-items: center;
}

#activitiesR ul li::before {
content: "⚫︎";
color: var(--subColor);
font-size: 0.6em;
margin-right: 1em;
}

.wrapActivities {
background-color: #fff;
width: 100%;
margin-bottom: 60px;
padding: 80px;
}

.wrapActivities .activitiesInner {
width: 830px;
margin: 0 auto;
}

.wrapActivities h3 {
font-size: 3.2rem;
text-align: center;
color: var(--subColor);
margin-bottom: 40px;
}

.wrapActivities h3 span {
background: linear-gradient(transparent 60%, #FFFBC7 60%);
}

.wrapActivities .activitiesInner h4 {
font-size: 1.8rem;
color: var(--subColor);
}

.wrapActivities #activitiesBottom {
font-size: 1.8rem;
color: var(--subColor);
text-align: center;
}

#activitiesNetworkFlex {
display: flex;
justify-content: space-between;
}

.activitiesNetwork {
width: 330px;
}

.activitiesNetwork .photo {
width: 100%;
height: 200px;
margin-bottom: 20px;
overflow: hidden;
}

.activitiesNetwork .photo img {
width: 100%;
height: 200px;
object-fit: cover;
}

.activitiesNetwork h4 {
font-size: 2.6rem;
color: var(--subColor);
margin-left: 10px;
}

.activitiesNetwork .ourStrengthsTitleFlex {
margin-bottom: 10px;
}

.activitiesNetwork p {
margin-bottom: 0;
}

#aboutPrintingBottom {
color: #fff;
padding: 100px 0 5px;
}

#aboutPrintingBottom h2 {
font-size: 3.2rem;
margin-bottom: 30px;
line-height: 1.5;
}

#aboutPrintingBottom h3 {
font-size: 2rem;
margin-bottom: 20px;
line-height: 1.5;
}

/**/

.qaTxt {
width: 1210px;
font-size: 1.2rem;
text-align: right;
margin: 0 auto;
padding-bottom: 60px;
}

/**/

footer {
position: relative;
background-color: var(--themeColor);
width: 100%;
margin: 0 auto;
display: flex;
justify-content: space-between;
}

#footerBg {
width: 100%;
max-width: 1400px;
margin: 0 auto;
}

#footerBg img {
width: 100%;
}

#footerBgSp {
display: none;
}

#footerTop {
position: absolute;
width: 80%;
max-width: 1150px;
text-align: left;
margin: auto;
display: flex;
justify-content: space-between;
left: 0;
right: 0;
top: 16%;
}

#footerTopL {
width: 43%;
}

#footerTopL h4 {
margin: 10px 0 20px;
}

#footerTopL p {
margin-bottom: 22px;
}

#footerTopBtnCall {
position: relative;
font-family: var(--font-montserrat);
width: 495px;
height: 100px;
font-size: 3.8rem;
font-weight: 500;
color: var(--themeColor);
text-decoration: none;
padding: 6px 25px;
display: block;
line-height: 1.5;
border: 1px solid var(--themeColor);
transition: .3s;
}

#footerTopBtnCall span {
font-size: 1.3rem;
display: block;
letter-spacing: 0;
}

#footerTopBtnCall::after {
position: absolute;
background: url("../img/btn_arrow_c.png") no-repeat;
background-size: 36px;
width: 36px;
height: 36px;
content: "";
margin: auto;
top: 0;
bottom: 0;
right: 20px;
}

#footerTopBtnCall:hover {
background: var(--themeColor);
color: #fff;
}

#footerTopBtnCall:hover::after {
position: absolute;
background: url("../img/btn_arrow_c_h.png") no-repeat;
background-size: 36px;
}

#footerTopBtnContact {
position: relative;
background-color: var(--themeColor);
background-size: cover;
width: 495px;
height: 100px;
font-family: var(--font-primary);
font-size: 2rem;
font-weight: 500;
text-align: left;
color: #fff;
margin-bottom: 18px;
padding: 0 0 3px 25px;
cursor: pointer;
border: 1px solid var(--themeColor);
transition: .3s;
}

#footerTopBtnContact:hover {
background: #fff url("../img/btn_bg.png") no-repeat;
background-size: cover;
color: var(--themeColor);
}

#footerTopBtnContact::after {
position: absolute;
background: url("../img/btn_arrow_w.png") no-repeat;
background-size: 36px;
width: 36px;
height: 36px;
content: "";
margin: auto;
top: 0;
bottom: 0;
right: 20px;
}

#footerTopBtnContact:hover::after {
position: absolute;
background: url("../img/btn_arrow_w_h.png") no-repeat;
background-size: 36px;
}

#footerTopR {
width: 45%;
}

/*
#footerInner {
position: relative;
background: url("../img/footer.jpg") no-repeat;
background-size: 1200px;
width: 1200px;
height: 1150px;
margin: 0 auto;
display: flex;
justify-content: space-between;
}
*/

#footerBottom {
position: absolute;
width: 92%;
max-width: 1300px;
text-align: left;
margin: auto;
display: flex;
justify-content: space-between;
align-items: flex-end;
left: 0;
right: 0;
bottom: 30px;
}

#footerL {
width: 45%;
font-size: 1.2rem;
}

#footerFb {
font-size: 3rem;
margin: 15px 0 10px 0;
}

#footerFb a {
color: #1877f2;
}

#footerPrivacy {
width: 300px;
margin-bottom: 20px;
padding: 18px 15px;
border: 1px solid  var(--themeColor);
line-height: 1.6;
}

#footerPrivacy a {
color: var(--themeColor);
}

#privacyMark {
float: left;
width: 54px;
margin-right: 15px;
}

#winBlank {
background: url("../img/window_blank.png") no-repeat right;
background-size: 10px;
width: 10px;
margin-right: 5px;
padding-right: 12px;
text-decoration: underline;
}

#footerR {
width: 700px;
font-size: 1.4rem;
}

#footerR nav {
display: flex;
justify-content: space-between;
}

#footerR ul li a {
color: var(--themeColor);
text-decoration: none;
}

#footerR ul {
line-height: 2.2;
}

#footerR ul li ul li a {
font-weight: 400;
color: var(--subColor);
}

#footerBtnFlex {
width: 100%;
margin-top: 30px;
display: flex;
justify-content: space-between;
}

.footerBtnContact {
position: relative;
background: #fff url("../img/btn_bg.png") no-repeat;
background-size: cover;
width: 345px;
height: 58px;
font-family: var(--font-primary);
font-size: 1.6rem;
font-weight: 500;
text-align: left;
margin-bottom: 14px;
padding: 0 20px;
cursor: pointer;
border: 0;
transition: .3s;
}

.footerBtnContact:hover {
background: var(--themeColor);
color: #fff;
}

.footerBtnContact::after {
position: absolute;
background: url("../img/btn_arrow_c.png") no-repeat;
background-size: 28px;
width: 28px;
height: 28px;
content: "";
margin: auto;
top: 0;
bottom: 0;
right: 20px;
}

.footerBtnContact:hover::after {
position: absolute;
background: url("../img/btn_arrow_c_h.png") no-repeat;
background-size: 28px;
}

#footerBtnContact {
position: relative;
background-color: var(--themeColor);
background-size: cover;
width: 290px;
height: 130px;
font-family: var(--font-primary);
font-size: 1.6rem;
font-weight: 500;
text-align: center;
color: #fff;
padding-bottom: 45px;
cursor: pointer;
border: 0;
transition: .3s;
}

#footerBtnContact:hover {
background: #fff url("../img/btn_bg.png") no-repeat;
background-size: cover;
color: var(--themeColor);
}

#footerBtnContact::after {
position: absolute;
background: url("../img/btn_arrow_w.png") no-repeat;
background-size: 36px;
width: 36px;
height: 36px;
content: "";
margin: auto;
top: 0;
bottom: -35px;
left: 0;
right: 0;
}

#footerBtnContact:hover::after {
position: absolute;
background: url("../img/btn_arrow_w_h.png") no-repeat;
background-size: 36px;
}

.copyrightSp {
display: none;
}

#pagetop {
position: fixed;
width: 88px;
height: 88px;
bottom: -88px;
right: 0;
z-index: 200;
}

.alignright {
float: right;
max-width: 48%;
margin: 0 0 60px 60px;
}

.alignleft {
float: left;
max-width: 48%;
margin: 0 60px 60px 0;
}

.aligncenter {
display: block;
margin: 0 auto;
}

}