@charset "UTF-8";

@media print, screen and (max-width:1199px) {

.video-wrapper {
position: relative;
width: 100%;
margin-top: 80px;
}

.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: relative;
background-color: var(--themeColor);
width: 88%;
font-size: 2rem;
font-weight: 500;
color: #fff;
margin: 0 auto;
padding: 15px ;
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,
.wrapS {
width: 88%;
text-align: justify;
margin: 0 auto;
padding: 50px 0;
}

.mainTitleLw {
background: url("../img/mark_w.png") no-repeat left 10px;
background-size: 18px;
font-family: var(--font-montserrat);
font-size: 1.6rem;
color: #fff;
margin-bottom: 30px;
padding-left: 22px;
}

.mainTitleLw span {
position: relative;
font-family: var(--font-primary);
font-size: 2.2rem;
display: block;
left: -22px;
}

.indexFeaturesFlex {
position: relative;
margin-bottom: 30px;
}

.indexFeaturesFlexE {
position: relative;
margin-bottom: 30px;
}

.indexFeaturesPhoto {
width: 100%;
}

.indexFeaturesTxtR,
.indexFeaturesTxtL {
position: relative;
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: cover;
width: 90%;
margin: 0 auto;
margin-top: -30px;
padding: 25px 20px;
z-index: 1;
display: flex;
justify-content: space-between;
}

.indexFeaturesTxtL {
left: 0;
}

.indexFeaturesTxtR .number,
.indexFeaturesTxtL .number {
width: 40px;
}

.indexFeaturesTxt {
width: 90%;
padding-left: 10px;
}

.indexFeaturesTxtR h3,
.indexFeaturesTxtL h3 {
font-size: 1.8rem;
color: var(--subColor);
margin-bottom: 15px;
line-height: 1.5;
}

.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: 100%;
height: 77px;
font-family: var(--font-primary);
font-size: 1.6rem;
font-weight: 500;
text-align: left;
color: #fff;
margin: 0 auto;
margin-top: 10px;
padding: 0 20px 3px 20px;
cursor: pointer;
border: 1px solid #fff;
transition: .3s;
}

#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;
}

.wrapColorService {
background: url("../img/bg_wrap_color.jpg") repeat;
background-size: 1200px;
width: 100%;
padding: 10px 0;
}

#indexServiceWrap {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 88%;
text-align: justify;
margin: 50px auto;
padding: 30px;
border: 1px solid var(--themeColor);
}

.mainTitleL {
background: url("../img/mark.png") no-repeat left 10px;
background-size: 18px;
font-family: var(--font-montserrat);
font-size: 1.6rem;
margin-bottom: 30px;
padding-left: 22px;
}

.mainTitleL span {
position: relative;
font-family: var(--font-primary);
font-size: 2.2rem;
display: block;
left: -22px;
}

.mainTitleCe {
font-family: var(--font-montserrat);
font-size: 1.6rem;
text-align: center;
display: table;
margin: 0 auto;
margin-bottom: 30px;
}

.mainTitleCe i {
background: url("../img/mark.png") no-repeat left 5px;
background-size: 21px;
padding-left: 28px;
}

.mainTitleCe span {
font-family: var(--font-primary);
font-size: 2.2rem;
display: block;
}

.indexServiceFlex {
width: 100%;
}

.indexServiceWrap {
position: relative;
width: 100%;
text-align: center;
margin-bottom: 30px;
}

.indexServiceIcon {
width: 120px;
height: 120px;
text-align: center;
margin: 0 auto;
display: table;
}

.indexServiceIcon div {
display: table-cell;
vertical-align: middle;
}

.indexServiceWrap h3 {
position: relative;
font-size: 1.8rem;
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;
}

.indexServiceTxt h4 {
font-size: 1.6rem;
color: var(--subColor);
margin-bottom: 10px;
line-height: 1.5;
}

.indexServiceTxt p {
margin-bottom: 0;
}

.indexServicePb {
margin-bottom: 0;
}

.indexServicePtb {
padding: 0;
}

.indexServicePt {
padding-top: 0;
}

.indexServiceBoderVertical {
display: none;
}

.indexServiceBoderHorizontal {
display: none;
}

.indexServiceBoderHorizontalSp {
background: url("../img/dotted_h.png") repeat-x;
background-size: 18px;
width: 100%;
height: 1px;
margin: 30px auto;
}

.wrapColor2 {
background: url("../img/bg_wrap_color2.jpg") repeat;
background-size:1200px;
width: 100%;
}

#indexWrapWide {
width: 100%;
padding: 60px 0;
}

#indexWrapWide img {
width: 100%;
}

#indexWrapNews {
width: 88%;
text-align: justify;
margin: 0 auto;
padding: 50px 0;
}

.indexNewsFlex a {
position: relative;
width: 100%;
color: var(--themeColor);
text-decoration: none;
display: block;
padding: 20px 50px 20px 10px;
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:first-of-type{
border-top: 1px solid var(--themeColor);
}

.indexNewsFlex .thumbnail {
width: 100%;
height: 160px;
overflow: hidden;
margin-bottom: 15px;
}

.indexNewsFlex .thumbnail img {
width: 100%;
height: 160px;
object-fit: cover;
}

.indexNewsFlex .date {
width: 100%;
font-family: var(--font-montserrat);
font-size: 1.6rem;
}

.indexNewsFlex .indexNewsDotted {
display: none;
}

.indexNews {
width: 100%;
font-size: 1.4rem;
padding: 0;
}

.indexNews h3 {
font-size: 1.4rem;
color: var(--themeColor);
margin-bottom: 10px;
line-height: 1.5;
}

.indexNews p {
margin-bottom: 20px;
}

.indexNews .category {
background-color: var(--themeColor);
width: auto;
height: 25px;
font-size: 1rem;
text-align: center;
color: #fff;
display: inline-block;
margin: 0 5px 5px 0;
padding: 0 10px;
line-height: 23px;
}

#newsBtnWrap {
width: 100%;
margin: 0 auto;
margin-top: 40px;
}

/**/

.mainTitleCeW {
font-family: var(--font-montserrat);
font-size: 1.6rem;
color: #fff;
text-align: center;
display: table;
margin: 0 auto;
margin-bottom: 30px;
}

.mainTitleCeW i {
background: url("../img/mark_w.png") no-repeat left 5px;
background-size: 18px;
padding-left: 24px;
}

.mainTitleCeW span {
font-family: var(--font-primary);
font-size: 2.2rem;
display: block;
}

#indexBannerWrap {
padding: 50px 0 10px;
}

.indexBannerFlex {
text-align: center;
margin: 0 auto;
}

.indexBannerFlex div {
margin: 10px auto;
}

.indexBannerFlex div img {
border: 1px solid #CDD3DB;
}

/**/

#titleWrap {
background: url("../img/bg_wrap_color2.jpg") repeat;
background-size: 1200px;
width: 100%;
height: 250px;
}

#titleInner {
width: 88%;
text-align: left;
margin: 0 auto;
padding-top: 90px;
}

.contentsWrap {
position: relative;
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 92%;
text-align: justify;
margin: 0 auto;
margin-bottom: -140px;
top: -140px;
padding: 30px 30px 60px;
z-index: 1;
}

.contentsWrapSingle {
position: relative;
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 92%;
text-align: justify;
margin: 0 auto;
margin-bottom: -140px;
top: -140px;
padding: 30px 30px 40px;
z-index: 1;
}

.contentsWrapFlex {
position: relative;
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 92%;
text-align: justify;
margin: 0 auto;
margin-bottom: -150px;
top: -150px;
z-index: 1;
}

.contentsWrapL {
width: 100%;
padding: 30px;
}

.contentsWrapR,
.contentsWrapRService {
width: 100%;
}

#breadcrumb {
font-size: 1.1rem;
margin-bottom: 30px;
}

#breadcrumb a {
text-decoration: underline;
}

.contentsTitle {
font-size: 2.6rem;
color: var(--subColor);
margin-bottom: 40px;
padding-bottom: 20px;
border-bottom: 1px solid #ddd;
line-height: 1.3;
}

.contentsTitleSingle {
font-size: 2.6rem;
color: var(--subColor);
line-height: 1.3;
}

.contentsTitleSingle span {
font-size: 2rem;
display: block;
margin-top: 10px;
}

.contentsSubTitle {
font-size: 1.8rem;
color: var(--subColor);
margin-bottom: 25px;
}

.contentsSubTitle span {
background:linear-gradient(transparent 60%, var(--subColor2) 60%);
}

.contentsSubTitle2 {
font-size: 1.8rem;
color: var(--subColor);
margin-bottom: 25px;
}

.hr {
margin: 60px auto;
border-bottom: 1px solid #ddd;
}

#contentsNav {
margin-top: 0;
}

#contentsNav li {
font-size: 1.3rem;
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: 88%;
text-align: justify;
color: #fff;
margin: 0 auto;
padding: 50px 0 30px;
}

.contentsWrapBottomSp {
width: 88%;
margin: 0 auto;
padding: 30px 0;
}

.wrapCoAll {
position: relative;
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 100%;
}

.wrapCo {
width: 88%;
text-align: justify;
margin: 0 auto;
padding: 50px 0;
}

.commonFlex {
width: 100%;
padding: 25px 0 30px;
border-top: 1px solid #ddd;
}

.commonL {
width: 100%;
}

.commonLFlex {
margin-bottom: 30px;
display: flex;
justify-content:flex-start;
align-items: center;
}

.commonLNumber {
width: 50px;
margin-right: 15px;
}

.commonLR h3 {
font-size: 1.8rem;
line-height: 1.6;
}

.commonLR h3 span {
background: linear-gradient(transparent 70%, var(--subColor2) 50%);
}

.commonR {
width: 100%;
}

.equipmentFlex {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 100%;
margin: 0 auto;
margin-bottom: 20px;
}

.equipmentPhoto {
background-color: #ddd;
width: 100%;
}

.equipmentTxt {
width: 100%;
padding: 25px 27px;
}

.equipmentTxt h3 {
font-size: 2rem;
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: 100%;
margin: 0 auto;
padding: 30px 30px 30px 50px;
}

#othreEquipmentWrap h2 {
font-size: 2rem;
text-align: center;
color: var(--subColor);
margin-bottom: 20px;
}

#othreEquipmentFlex {
width: 100%;
margin: 0 auto;
}

#othreEquipmentFlex li {
color: var(--subColor);
list-style: disc;
}

#othreEquipmentFlex li span {
color: var(--themeColor);
}

#serviceWrap {
width: 88%;
text-align: justify;
margin: 50px auto;
}

.variableFlex {
}

.variableTxt {
width: 100%;
text-align: justify;
margin-bottom: 30px;
}

.variableImg {
width: 100%;
}

/**/

.serviceTxt {
width: 100%;
}

.serviceIcon {
width: 100%;
height: 158px;
text-align: center;
display: table;
margin-bottom: 30px;
}

.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.3rem;
text-align: left;
color: var(--themeColor);
margin-bottom: 10px;
padding: 0 0 3px 20px;
cursor: pointer;
border: 1px solid var(--themeColor);
transition: .3s;
}

.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;
}

.aboutTheDataWrap {
width: 100%;
margin: 0 auto;
padding: 30px 30px 30px;
border: 1px solid #ddd
}

.aboutTheDataWrap h3 {
color: var(--subColor);
}

.aboutTheDataWrap a {
color: var(--themeColor);
}

.privacyMarkCo {
float: left;
width: 60px;
margin: 0 20px 20px 0;
}

.supportedCasesWrap {
position: relative;
width: auto;
font-size: 1.5rem;
color: var(--subColor);
margin: 0 auto;
margin-bottom: 26px;
padding-left: 20px;
display: table;
}

.supportedCasesWrap li {
width: 100%;
list-style: disc;
}

.supportedCasesWrap li span {
color: var(--themeColor);
}

.supportedCasesTxt {
color: var(--subColor);
text-align: center;
}

.wrapFlow {
width: 88%;
text-align: justify;
margin: 0 auto;
padding: 60px 0;
}

.flowFlex {
width: 100%;
margin: 0 auto;
padding: 30px 0 26px;
border-bottom: 1px solid #ddd;
}

.flowFlex:first-of-type {
margin-top: -30px;
}

.flowPhoto {
width: 100%;
height: 210px;
overflow: hidden;
margin-bottom: 30px;
}

.flowPhoto img {
width: 100%;
height: 210px;
object-fit: cover;
}

.flowTxt {
width: 100%;
}

.flowTxt p {
margin-bottom: 0;
}

.flowTitlteFlex {
margin-bottom: 15px;
display: flex;
justify-content: flex-start;
align-items: center;
}

.flowTitlteFlex .flowStep {
width: 70px;
margin-right: 15px;
}

.flowTitlteFlex h3 {
position: relative;
font-size: 2rem;
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: 15%;
margin-right: 10px;
}

.serviceTitleCo,
.serviceTitleCo2 {
position: relative;
width: 85%;
color: var(--subColor);
margin-bottom: 20px;
line-height: 1.5;
}

.serviceTitleCo em,
.serviceTitleCo2 em {
font-size: 2rem;
color: var(--themeColor);
}

.serviceTitleCo span,
.serviceTitleCo2 span {
background: linear-gradient(transparent 60%, var(--subColor2) 60%);
font-size: 1.6rem;
}

.serviceTitleCo2 span {
background: linear-gradient(transparent 60%, #fff 60%);
font-size: 1.6rem;
}

.serviceFlex {
margin-bottom: 30px;
}

.serviceNoFlex {
margin-bottom: 30px;
}

.serviceNoFlex p {
margin-bottom: 30px;
}

.serviceLTxt {
width: 100%;
}

.serviceLTxt h4 {
font-size: 1.7rem;
color: var(--subColor);
margin-bottom: 20px;
line-height: 1.5;
}

.servicePhoto {
width: 100%;
margin-bottom: 20px;
}

.serviceDl {
margin-bottom: 25px;
}

.serviceDl dt {
float: left;
}

.serviceDl dd {
padding: 0 0 0 18px;
}

.wrapDelivery {
width: 88%;
color: #fff;
text-align: center;
margin: 0 auto;
padding: 60px 0;
}

.wrapDelivery h3 {
font-size: 1.6rem;
margin-bottom: 10px;
}

.wrapDelivery img {
width: 40%;
margin-bottom: 20px;
}

.wrapSchedule {
width: 88%;
color: #fff;
text-align: center;
margin: 0 auto;
padding: 60px 0;
}

.schedule {
margin-top: 30px;
}

.feeTable {
width: 100%;
text-align: center;
margin: 0 auto;
}

.feeTable table {
width: 100%;
margin-bottom: 15px;
table-layout: fixed;
}

.feeTable th {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
color: var(--subColor);
padding: 20px 10px;
border: 1px solid #ddd;
vertical-align: middle;
}

.feeTable td {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
padding: 20px 10px;
border: 1px solid #ddd;
vertical-align: middle;
}

/**/

.contentsTitlePost {
font-size: 2.4rem;
color: var(--subColor);
margin-bottom: 0px;
padding-bottom: 20px;
border-bottom: 1px solid #ddd;
line-height: 1.3;
}

.contentsTitlePost span {
font-size: 2rem;
display: block;
margin-top: 10px;
}

#wrapNews {
width: 88%;
text-align: justify;
margin: 0 auto;
padding: 50px 0;
}

.newsTagFlex {
padding: 25px 0;
display: flex;
justify-content: space-between;
border-bottom: 1px solid #ddd;
}

.newsTagL {
width: 85px;
color: var(--subColor);
}

.newsTagR {
width: 90%;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.tagList {
background-color: #fff;
width: auto;
height: 28px;
font-size: 1.1rem;
text-align: center;
display: inline-block;
margin: 0 5px 5px 0;
border: 1px solid #ddd;
line-height: 24px;
transition: .3s;
}

.tagList a {
color: var(--themeColor);
display: block;
text-decoration: none;
padding: 0 8px !important;
}

.newsTagR select {
position: relative;
width: 150px;
height: 32px;
font-size: 1.1rem;
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.2rem;
margin-bottom: 10px;
}

.postTagWrap {
width: 100%;
padding-top: 20px;
display: flex;
justify-content: flex-start;
flex-wrap: wrap;
}

.postWrap {
width: 100%;
margin: 0 auto;
padding-top: 40px;
}

.postThumbnail {
width: 100%;
text-align: center;
margin-bottom: 30px;
}

.postWrap h2 {
font-size: 2rem !important;
color: var(--subColor);
margin-bottom: 30px;
padding-bottom: 15px;
border-bottom: 1px solid #ddd;
line-height: 1.5;
clear: both;
}

.postWrap h3 {
font-size: 1.8rem !important;
color: var(--subColor);
margin-bottom: 38px;
line-height: 1.5;
clear: both;
}

.postWrap strong {
font-weight: 500;
}

.postWrap table {
min-width: 700px;
text-align: center;
}

.postWrap th,
.postWrap td {
padding: 10px;
border: 1px solid #ccc;
}

.postWrap .wp-block-table {
overflow: scroll;
}

.postWrap .is-stacked-on-mobile {
}

.postWrap .wp-block-media-text__media {
margin-bottom: 30px;
}

.postWrap .size-medium {
}

.postWrap .wp-block-media-text__content {

}






/**/

#prevNextWrap {
width: 100%;
text-align: center;
margin: 0 auto;
margin-top: 40px;
display: flex;
justify-content: space-between;
align-items: center;
}

#prevNextWrap a {
text-decoration: none;
}

.btnPrevWrap,
.btnNextWrap {
width: 36px;
}

.btnBack {
position: relative;
background-color: #fff;
width: 150px;
height: 48px;
font-size: 1.3rem;
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: 36px;
height: 36px;
font-size: 0;
text-align: center;
color: var(--themeColor);
line-height: 56px;
transition: .3s;
text-indent: -1000px;
}

.btnNext {
background: url("../img/post_next.png") no-repeat right;
background-size: 36px;
}

.btnPrev {
background: url("../img/post_prev.png") no-repeat left;
background-size: 36px;
}

.pageNavi {
font-family: var(--font-montserrat);
font-size: 1.6rem;
margin: 0 auto;
margin-top: 40px;
text-align: center;
line-height: 30px;
}

.pageNavi .pages {
display: none;
}

.pageNavi span.current {
background-color: var(--themeColor);
width: 32px;
height: 32px;
color: #fff;
margin: 0 3px;
display: inline-block;
border: 1px solid var(--themeColor);
border-radius: 32px;
}

.pageNavi .page {
width: 32px;
height: 32px;
color: var(--themeColor) !important;
text-decoration: none !important;
margin: 0 3px;
display: inline-block;
border: 1px solid var(--themeColor);
border-radius: 32px;
transition: .3s;
}

.pageNavi .nextpostslink {
position: relative;
background: url("../img/post_next.png") no-repeat;
background-size: 32px;
width: 32px;
height: 32px;
font-size: 0;
margin: 0 3px;
display: inline-block;
text-indent: -1000px;
transition: .3s;
top: -6px;
}

.pageNavi .previouspostslink {
position: relative;
background: url("../img/post_prev.png") no-repeat;
background-size: 32px;
width: 32px;
height: 32px;
font-size: 0;
margin: 0 3px;
display: inline-block;
text-indent: -1000px;
transition: .3s;
top: -6px;
}

/**/

.faqTItle {
font-size: 2rem;
color: var(--subColor);
margin-bottom: 30px;
line-height: 1;
}

.faqTItle span {
background: linear-gradient(transparent 60%, var(--subColor2) 60%);
}

.accordion {
width: 100%;
text-align: justify;
margin: 0 auto;
margin-bottom: 40px;
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.5rem;
line-height: 1.5;
}

.accordion a {
position: relative;
color: var(--themeColor);
display: block;
text-decoration: none;
cursor: pointer;
padding: 10px 50px 18px 0;
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: 1.8rem;
color: var(--subColor);
padding: 7px 0;
top: -4px;
}

.toggle dd {
padding: 7px 0 3px 28px;
}

.faqDetail,
.caseStudyDetail {
font-size: 1.3rem;
display: none;
padding: 0 20px 34px 0;
overflow: hidden;
}

.faqDetail dt {
position: relative;
float: left;
font-family: var(--font-montserrat);
font-size: 1.8rem;
color: #DD8989;
top: -4px;
}

.faqDetail dd {
padding: 0 0 0 28px;
}

.caseStudyTitle {
font-size: 1.3rem !important;
color: var(--subColor);
padding-top: 7px;
}

.caseStudyTitle span {
color: var(--themeColor);
margin-left: 20px;
}

.caseStudyDetail ul {
margin-bottom: 30px;
}

.caseStudyDetail li {
border-bottom: 0;
}

/**/

.ourStrengthsFlex {
padding: 0;
}

.ourStrengths {
width: 100%;
padding: 30px 0;
border-top: 1px solid #ddd;
}

.ourStrengthsTitleFlex {
margin-bottom: 30px;
display: flex;
justify-content: flex-start;
align-items: center;
}

.ourStrengths .number {
width: 56px;
margin-right: 20px;
}

.ourStrengths h3 {
position: relative;
font-size: 2.2rem;
line-height: 1.3;
top: -3px;
}

.ourStrengths h3 span {
background: linear-gradient(transparent 60%, var(--subColor2) 60%);
}

.ourStrengths h3 em {
font-size: 1.6rem;
}

.ourStrengthsPhoto img {
width: 100%;
height: 200px;
object-fit: cover;
}

.ourStrengths p {
margin-top: 20px;
margin-bottom: 0;
}

.btnContact {
position: relative;
background-color: var(--themeColor);
background-size: cover;
width: 88%;
height: 78px;
font-family: var(--font-primary);
font-size: 1.4rem;
font-weight: 500;
text-align: left;
color: #fff;
margin: 0 auto;
margin-bottom: 10px;
padding: 0 0 3px 20px;
cursor: pointer;
border: 1px solid #fff;
transition: .3s;
}

.btnContact::after {
position: absolute;
background: url("../img/btn_arrow_w.png") no-repeat;
background-size: 26px;
width: 26px;
height: 26px;
content: "";
margin: auto;
top: 0;
bottom: 0;
right: 20px;
}

/**/

.coBannerWrap {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 100%;
text-align: center;
margin: 0 auto;
margin-bottom: 50px;
padding: 40px 30px 30px;
}

.history {
position: relative;
width: 100%;
text-align: left;
margin: 0 auto;
}

.history::after {
position: absolute;
background-color: var(--subColor);
width: 1px;
height: 100%;
content: "";
top: 0;
left: 85.5px;
}

.history dt {
position: relative;
float: left;
width: 90px;
color: var(--subColor);
text-align: right;
padding: 10px 22px 10px 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: 10px 0 10px 105px;
}

.fbWrap {
position: relative;
width: 250px;
margin: 0 auto;
}

.fbPrinting {
width: 100% !important;
margin: 0 auto;
margin-bottom: 20px;
}

.fbPrinting iframe {
width: 100% !important;
height: 400px !important;
margin: 0 auto;
}


/**/

#greetingsPhoto {
position: relative;
width: 100%;
}

#greetingsPhoto h2 {
position: relative;
width: 88%;
font-size: 2.2rem;
font-weight: 500;
color: var(--subColor);
margin: 0 auto;
margin-top: 20px;
line-height: 1.7;
}

#greetingsPhoto h2 span {
font-size: 1.3rem;
font-weight: 400;
display: block;
margin-top: 10px;
}

#greetingsTxtWrap {
}

#greetingsTxt {
position: relative;
width: 88%;
margin: 0 auto;
margin-top: 20px;
}

#greetingsTxt p:last-child {
margin-bottom: 0;
}

#companyOutline {
width: 100%;
color: #fff;
margin: 0 auto;
border-top: 1px solid #0F4384;
}

#companyOutline dt {
padding: 20px 0 0;
}

#companyOutline dd {
position: relative;
padding: 0 0 20px;
border-bottom: 1px solid #0F4384;
}

#outlineP {
position: absolute;
width: 73px;
top: -24px;
left: 154px;
}

.fbCompany {
width: 88%;
max-width: 500px;
margin: 0 auto;
margin-top: 40px;
}

.comapanyBannerWrap {
background: #fff url("../img/texture_pattern.jpg") repeat;
background-size: 1200px;
width: 100%;
font-size: 1.4rem;
text-align: center;
color: var(--subColor);
margin: 30px auto;
margin-bottom: 0;
padding: 40px 30px;
}

.comapanyBannerWrap h3 {
font-size: 2.2rem;
margin-bottom: 5px;
}

.comapanyBannerWrap p {
margin-bottom: 20px;
}

.accessFlex {
margin-bottom: 30px;
}

#accessMap {
width: 100%;
text-align: center;
margin-bottom: 30px;
}

#accessMap img {
width: 100%;
margin: 0 auto;
}

#googleMap {
position: relative;
width: 100%;
text-align: right;
margin-bottom: 60px;
padding-top: 100%;
height: 0;
}

#googleMap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

#googleMap a {
background: url("../img/company/icon_link.png") no-repeat right;
background-size: 13px;
padding-right: 18px;
}

.accessTxt {
width: 100%;
text-align: left;
margin-bottom: 30px;
padding: 30px;
border: 1px solid var(--subColor);
}

.accessTxt h3 {
font-size: 2rem;
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.5rem;
color: var(--subColor);
margin-bottom: 5px;
}

.accessTxt p:last-child {
margin-bottom: 0;
}

.accessMtb {
}

/**/

#contactWrap {
width: 100%;
margin: 0 auto;
margin-bottom: 30px;
}

#contactWrap span {
color: #DD8989;
}

.conatctFormFlex {
width: 100%;
border-bottom: 1px solid #ddd;
}

.conatctFormFlex:first-child {
border-top: 1px solid #ddd;
}

.conatctFormFlexAfs {
width: 100%;
border-bottom: 1px solid #ddd;
}

.conatctForm {
width: 100%;
padding: 20px 0 10px;
}

.conatctFormInput {
width: 100%;
padding: 0 0 20px;
}

.conatctFormInput .inputW {
background-color: #fff;
font-family: var(--font-primary);
width: 100%;
height: 50px;
font-size: 1.3rem;
padding: 15px;
border: 1px solid #ddd;
}

.conatctFormInput textarea {
background-color: #fff;
font-family: var(--font-primary);
width: 100%;
height: 200px;
font-size: 1.3rem;
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;
}

.conatctFormInput .wpcf7-list-item {
display: inline-block;
}

.conatctFormInput .wpcf7-list-item label {
position: relative;
display: flex;
align-items: center;
cursor: pointer;
}

/*Contact Form 7 最初の余白をなくす*/
.conatctFormInput .first {
margin: 0 !important;
padding: 0 !important;
}

.wpcf7-list-item-label {
color: var(--themeColor) !important;
padding: 0 !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: 6px;
left: 6px;
transform: rotate(45deg);
width: 6px;
height: 10px;
border: solid #fff;
border-width: 0 2px 2px 0;
}

.submitWrap {
width: 100%;
text-align: center;
padding-top: 40px;
}

.wpcf7-submit {
background-color: var(--themeColor);
width: 224px;
height: 58px;
font-size: 1.5rem;
color: #fff;
cursor: pointer;
border: 1px solid var(--themeColor);
transition: .3s;
}

/**/

.privacy {
font-size: 1.2rem;
}

.privacy h3 {
font-size: 1.5rem;
color: var(--subColor);
margin-bottom: 10px;
}

/**/

.aboutPrintingFlex {
}

.aboutPrintingL {
width: 100%;
}

.aboutPrintingR {
width: 100%;
}

#aboutPrintingWrap {
margin: 40px auto;
padding: 30px;
border: 1px solid var(--themeColor);
}

#aboutPrintingWrap .photo {
margin-bottom: 20px;
}

#aboutPrintingWrap h2 {
font-size: 2.4rem;
text-align: center;
color: var(--subColor);
margin-bottom: 30px;
line-height: 1.5;
}

#aboutPrintingWrap h2 span {
background: linear-gradient(transparent 60%, #FFFBC7 60%);
}

.aboutPrintingMeritFlex {
}

.aboutPrintingMerit {
width: 100%;
}

.aboutPrintingMerit .photo {
width: 100%;
height: 162px;
overflow: hidden;
}

.aboutPrintingMerit .photo img {
width: 100%;
height: 162px;
object-fit: cover;
}

.aboutPrintingMerit .ourStrengthsTitleFlex {
margin-bottom: 10px;
}

.aboutPrintingMerit h3 {
font-size: 2rem;
color: var(--subColor);
margin-left: 15px;
line-height: 1.3;
}

#activitiesFlex {
background-color: #fff;
margin: 40px auto;
}

#activitiesL {
width: 100%;
}

#activitiesR {
width: 100%;
padding: 30px;
}

#activitiesR ul {
font-size: 1.4rem;
margin-bottom: 25px;
}

#activitiesR ul li {
display: flex;
align-items: flex-start;
}

#activitiesR ul li::before {
position: relative;
content: "⚫︎";
color: var(--subColor);
font-size: 0.6em;
margin-right: .5em;
top: 6px;
}

.wrapActivities {
background-color: #fff;
width: 100%;
margin-bottom: 30px;
padding: 30px;
}

.wrapActivities .activitiesInner {
width: 100%;
margin: 0 auto;
}

.wrapActivities h3 {
font-size: 2.4rem;
text-align: center;
color: var(--subColor);
margin-bottom: 30px;
line-height: 1.5;
}

.wrapActivities h3 span {
background: linear-gradient(transparent 60%, #FFFBC7 60%);
}

.wrapActivities .activitiesInner h4 {
font-size: 1.6rem;
color: var(--subColor);
}

.wrapActivities #activitiesBottom {
font-size: 1.4rem;
color: var(--subColor);
text-align: center;
}

#activitiesNetworkFlex {
}

.activitiesNetwork {
width: 100%;
margin-bottom: 20px;
}

.activitiesNetwork .photo {
width: 100%;
height: 162px;
margin-bottom: 20px;
overflow: hidden;
}

.activitiesNetwork .photo img {
width: 100%;
height: 162px;
object-fit: cover;
}

.activitiesNetwork h4 {
font-size: 2rem;
color: var(--subColor);
margin-left: 10px;
}

.activitiesNetwork .ourStrengthsTitleFlex {
margin-bottom: 10px;
}

.activitiesNetwork p {
margin-bottom: 0;
}

#aboutPrintingBottom {
color: #fff;
padding: 60px 20px 5px;
}

#aboutPrintingBottom h2 {
font-size: 2.4rem;
margin-bottom: 30px;
line-height: 1.5;
}

#aboutPrintingBottom h3 {
font-size: 1.6rem;
margin-bottom: 20px;
line-height: 1.5;
}

/**/

.qaTxt {
width: 88%;
font-size: 1rem;
text-align: left;
margin: 0 auto;
padding-bottom: 40px;
}

/**/

footer {
position: relative;
background: var(--themeColor) url("../img/footer_sp_n.jpg") no-repeat center 30px;
background-size: 355px;
width: 100%;
padding-bottom: 30px;
}

#footerBg {
display: none;
}

#footerTop {
position: relative;
max-width: 250px;
text-align: left;
margin: 0 auto;
}

#footerTopL {
width: 100%;
padding-top: 80px;
margin-bottom: 20px;
}

.fotterContactEn {
width: 90px;
}

#footerTopL h4 {
margin: 5px 0 10px;
}

#footerTopL p {
margin-bottom: 22px;
}

#footerTopBtnCall {
position: relative;
font-family: var(--font-montserrat);
width: 100%;
height: 90px;
font-size: 2.6rem;
font-weight: 500;
color: var(--themeColor);
text-decoration: none;
padding: 6px 15px;
display: block;
line-height: 1.5;
border: 1px solid var(--themeColor);
transition: .3s;
}

#footerTopBtnCall span {
font-size: 1rem;
display: block;
letter-spacing: 0;
}

#footerTopBtnCall::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: 15px;
}

#footerTopBtnContact {
position: relative;
background-color: var(--themeColor);
background-size: cover;
width: 100%;
height: 90px;
font-family: var(--font-primary);
font-size: 1.6rem;
font-weight: 500;
text-align: left;
color: #fff;
margin-bottom: 10px;
padding: 0 0 3px 15px;
cursor: pointer;
border: 1px solid var(--themeColor);
transition: .3s;
}

#footerTopBtnContact::after {
position: absolute;
background: url("../img/btn_arrow_w.png") no-repeat;
background-size: 30px;
width: 30px;
height: 30px;
content: "";
margin: auto;
top: 0;
bottom: 0;
right: 15px;
}

#footerTopR {
width: 100%;
}

#footerBottom {
position: relative;
width: 88%;
text-align: left;
margin: 0 auto;
}

#footerL {
max-width: 300px;
font-size: 1.2rem;
text-align: center;
margin: 0 auto;
margin-top: 10px;
}

#footerFb {
max-width: 300px;
font-size: 3rem;
text-align: center;
margin: 5px auto;
margin-top: 30px;
}

#footerFb a {
color: #1877f2;
}

#footerPrivacy {
max-width: 300px;
font-size: 1rem;
text-align: justify;
margin: 20px auto;
padding: 10px 15px;
border: 1px solid  var(--themeColor);
line-height: 1.6;
}

#footerPrivacy a {
color: var(--themeColor);
}

#privacyMark {
float: left;
width: 44px;
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 {
font-size: 1.4rem;
margin: 0 auto;
margin-top: 80px;
}

#footerR nav {
width: auto;
margin: 0 auto;
display: table;
}

#footerR ul li a {
font-size: 1.2rem;
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 {
max-width: 300px;
margin: 0 auto;
margin-top: 30px;
}

.footerBtnContact {
position: relative;
background: #fff url("../img/btn_bg.png") no-repeat;
background-size: cover;
width: 100%;
height: 58px;
font-family: var(--font-primary);
font-size: 1.6rem;
font-weight: 500;
text-align: left;
color: var(--themeColor);
margin-bottom: 14px;
padding: 0 20px;
cursor: pointer;
border: 0;
transition: .3s;
}

.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 {
position: relative;
background-color: var(--themeColor);
background-size: cover;
width: 100%;
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::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;
}

.copyrightSp {
display: none;
}

#pagetop {
position: fixed;
width: 78px;
height: 78px;
bottom: -78px;
right: 0;
z-index: 200;
}

.orderBox { 
display: flex;
flex-direction: column;
}

.order1 { order: 1; }
.order2 { order: 2; }
.order3 { order: 3; }
.order4 { order: 4; }
.order5 { order: 5; }

.alignright,
.alignleft,
.aligncente {
display: block;
margin: 0 auto;
margin-bottom: 30px;
}

}