@charset "utf-8";
/*
Theme Name: prpl
Description: 2020A
Author: promotion plus
*/

/*------------------------------
style.css
------------------------------*/
html,body { height: 100%; }
html { font-size: 62.5%; }
body,
input,
textarea,
select,
button { 	
	color : #000;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Arial, Helvetica, "sans-serif";
	font-size: 14px; font-size: 1.4rem; font-weight: 400; line-height: 1.5;
}
@media all and (-ms-high-contrast:none) {
  body,
  input,
  textarea,
  select,
  button {
    font-family: "メイリオ",Meiryo,"游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
  }
}
input,
textarea,
select,
button { font-size: 1.6rem; outline: none; }
a,
button { color: #0da03e; text-decoration: underline; transition: all 0.3s; }
a:hover,
button:hover { opacity: 0.8; }

button { background: transparent; }
button:hover { cursor: pointer; }
@media screen and (max-width:375px){
  body { font-size: 1.3rem; }
}
@media screen and (min-width:768px){
	body { font-size: 1.6rem; }
	input,
	textarea,
	select,
	button { font-size: 1.6rem; }
}

/*
layout
-------------------*/
.wrapper { padding-left: 4.5%; padding-right: 4.5%; max-width: 1200px; margin-left: auto; margin-right: auto; overflow: hidden; }
.wrapper-s { padding-left: 4.5%; padding-right: 4.5%; max-width: 980px; margin-left: auto; margin-right: auto; overflow: hidden; }
.section-block { padding-top: 5em; padding-bottom: 5em; }

.clearfix { clear: both; zoom: 1; }
.clearfix:after {content: ""; height: 0; display: block; clear: both;}
.row { display:-webkit-box; display:-ms-flexbox; display: flex; -webkit-justify-content: space-between; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.inlineblock { display: inline-block; }
@media screen and (max-width:767px){
  .forpc { display: none; }
}
@media screen and (min-width:768px){
	.section-block { padding-top: 6.6em; padding-bottom: 6.6em; }
  .forsp {display: none;}
}
@media screen and (min-width:980px){
  .wrapper-s { padding-left: 0; padding-right: 0; }
}
@media screen and (min-width:1200px){
	.wrapper { padding-left: 0; padding-right: 0; }
}

/*
parts
-------------------*/
.img-fix { width: 100%; height: auto; -webkit-backface-visibility: hidden; }

.contents-paragraph { padding-top: 1em; line-height: 2; }
.contents-paragraph:first-of-type { padding-top: 0; }

.contents-list { margin-top: 1em; }
.contents-list li { margin-left: 1em; list-style: disc outside; }

.section-header { margin-bottom: 2em; text-align: center; }
.section-header-ja { color: #000; font-size: 200%; line-height: 1.3; font-weight: 700; display: block; }
.section-header-en { color: #00226d; font-size: 125%; line-height: 1.3; font-weight: 700; display: block; }
.sub-header { font-size: 150%; font-weight: 700; margin-bottom: 2em; position: relative; }
.sub-header::after { 
  content: ""; display: block; width: 2.1em; height: 0; position: absolute; bottom: -1em; left: 0; 
  border-top: #0c5dc2 4px solid;
}

.phone-num { font-size: 181.25%; font-weight: 700; line-height: 1.3; }
.phone-ttl { font-weight: 700; display: inline-block; padding-right: 0.5em; line-height: 1.3; }
.phone-note { display: block; line-height: 1.3; }
.phone-notettl { background-color: #00226d; color: #fff; display: inline-block; font-size: 91.66%; padding: 0.1em 0.4em; margin-right: 0.5em; }

.btn { 
  display: inline-block; cursor: pointer; position: relative;
  color: #fff; font-weight: 700;
  padding: 0.8em 2em; text-decoration: none; 
  position: relative; z-index: 1; overflow: hidden;
}
.btn:hover { opacity: 1; }
.btn::before,
.btn::after { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; transition: all .3s; }
.btn::before {
  z-index: -1;
  background: rgb(10, 92, 167);
  background: -moz-linear-gradient(0deg, rgb(10, 92, 167) 0%, rgb(12, 128, 196) 100%);
  background: -webkit-linear-gradient(0deg, rgb(10, 92, 167) 0%, rgb(12, 128, 196) 100%);
  background: -o-linear-gradient(0deg, rgb(10, 92, 167) 0%, rgb(12, 128, 196) 100%);
  background: -ms-linear-gradient(0deg, rgb(10, 92, 167) 0%, rgb(12, 128, 196) 100%);
  background: linear-gradient(90deg, rgb(10, 92, 167) 0%, rgb(12, 128, 196) 100%);
}
.btn::after {
  z-index: -2;
  background: rgb(10, 92, 167);
}
.btn:hover::before { opacity: 0; }

.thumb-arr { position: relative; }
.thumb-arr::before {
  content: ""; display: block; position: absolute; bottom: 0; right: 0; z-index: 3;
  width: 0; height: 0;
  border-style: solid; border-width: 0 0 30px 30px; border-color: transparent transparent #1d6ca9 transparent;
}

.basic-table { width: 100%; }
.basic-table > * > tr { border-bottom: #ddd 1px solid; }
.basic-table > * > tr:first-of-type { border-top: #ddd 1px solid; }
.basic-table > * > tr > th,
.basic-table > * > tr > td { padding: 1.2em 0; vertical-align: top; }
.basic-table > * > tr > th { padding-right: 1em; font-weight: 700; }

ul.nomal li { list-style: disc outside; margin: 0.5em 0 0.5em 1em; }
ol.nomal li { list-style: decimal outside; margin: 0.5em 0 0.5em 1em; }

.bg1 { background-color: #eaf4fa; }
.fcf { color: #fff; }
.fce { color: #e11a49; }
.fckey { color: #00226d; }
.open { font-family: 'Open Sans', sans-serif; }
.mincho { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, serif;  }
.mark { display: block; padding-left: 1em; text-indent: -1em; }

.tac { text-align: center; }
.tal { text-align: left; }
.tar { text-align: right; }
.bold { font-weight: 700; }
.nomal { font-weight: 400; }

.fz75 { font-size: 75%; }
.fz87 { font-size: 87.5%; }
.fz112 { font-size: 112.5%; }
.fz125 { font-size: 125%; }
.fz137 { font-size: 137.5%; }
.fz150 { font-size: 150%; }
.fz166 { font-size: 166%; }
.fz175 { font-size: 175%; }
.fz187 { font-size: 187.5%; }
.fz225 { font-size: 225%; }
.fz287 { font-size: 287.5%; }

.mb05 { margin-bottom: 0.5em; }
.mb1 { margin-bottom: 1em; }
.mb2 { margin-bottom: 2em; }
.mb3 { margin-bottom: 3em; }
.mb4 { margin-bottom: 4em; }
.mb5 { margin-bottom: 5em; }
.mb6 { margin-bottom: 6em; }
.mb7 { margin-bottom: 7em; }
.mb8 { margin-bottom: 8em; }
.mb9 { margin-bottom: 9em; }
.mb10 { margin-bottom: 10em; }
.mt05 { margin-top: 0.5em; }
.mt1 { margin-top: 1em; }
.mt2 { margin-top: 2em; }
.mt3 { margin-top: 3em; }
.mt4 { margin-top: 4em; }
.mt5 { margin-top: 5em; }
.mt6 { margin-top: 6em; }
.mt7 { margin-top: 7em; }
.mt8 { margin-top: 8em; }
.mt9 { margin-top: 9em; }
.mt10 { margin-top: 10em; }
@media screen and (max-width:420px){
  .phone-info { font-size: 3vw; }
}
@media screen and (min-width:768px){
	.pc-break:before { content: "\A"; white-space: pre; }
  .basic-table { border-width: 2em; }
  .section-header-ja { font-size: 200%; }
  .dialbtn { cursor: text; text-decoration: none; }
  .dialbtn:hover { opacity: 1; }
}
@media screen and (min-width:980px){
}

@media screen and (max-width:767px){
	.sp-break:before { content: "\A"; white-space: pre; }
}


/*
header
-------------------*/
.header { width: 100%; box-sizing: border-box; position: relative; z-index: 4; }
.header-seo { background-color: #0e4386; color: #fff; font-size: 75%; padding: 0.5em 4.5%; }
.header > .wrapper { padding-top: 10px; padding-bottom: 10px; }
@media screen and (max-width:979px){
  .header-phone,
  .header-nav { display: none; }
  .header-logo { display: block; width: 88px; }
}
@media screen and (min-width:980px){
  .header-seo { text-align: center; }
  .header > .wrapper { display:-webkit-box; display:-ms-flexbox; display: flex;-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .header-logo { width: 122px; }
  .header-phone { margin-left: auto; width: 17em; text-align: center; margin-top: -5px; }
  .header-nav { display:-webkit-box; display:-ms-flexbox; display: flex;-webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; margin: 0.5em 0 0 auto; }
  .header-nav-item { display: block; font-size: 100%; line-height: 1.3; padding-left: 2em; }
  .header-nav-item:first-of-type { padding-left: 0; }
  .header-nav-item a { display: block; text-decoration: none;  font-weight: 700; }
  .header-nav-en { display: block; color: #0c5dc2; font-size: 75%; }
  .header-nav-ja { display: block; color: #000; }
}
@media screen and (min-width:1200px){
  .header-nav-item { padding-left: 3.2em; }
}


/*
nav
-------------------*/
.nav-wrapper { position: absolute; top: 0; left: 0; width: 100%; z-index: 6001; }
.drawer-overlay { background-color: rgba(255,255,255, 1); z-index: 6000; height: calc(100% - 101px); top: 101px; -webkit-transform: translate3d(0,0,0); }
.drawer--top.drawer-open .drawer-nav { top: 100px; }

.menu-btn { position: absolute; top: 0; right: 4.5%; width: 40px; height: 50px; transition: all 0.6s; z-index: 13; cursor: pointer; }
.hamburger-bar { 
  position: absolute; top: 50%; left: 0;
  display: block; height: 4px; background-color: #000; width: 40px;
  -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); 
  -webkit-transition: right 0.6s, transform 0.6s, opacity 0.4s, width 0.2s; transition: right 0.6s, transform 0.6s, opacity 0.4s, width 0.2s; 
}
.hamburger-bar:nth-child(1) { margin-top: -10px; }
.hamburger-bar:nth-child(2) { margin-top: 0; opacity: 1; }
.hamburger-bar:nth-child(3) { margin-top: 10px; width: 30px; }
.menu-btn:hover .hamburger-bar:nth-child(3) { width: 40px; }
.drawer-open .hamburger-bar:nth-child(1) { transform: rotate(45deg); margin-top: 0; }
.drawer-open .hamburger-bar:nth-child(2) { opacity: 0; }
.drawer-open .hamburger-bar:nth-child(3) { width: 40px; transform: rotate(-45deg); margin-top: 0; }

.drawer-nav-item a { border-bottom: #ddd 1px solid; color: #000; display: block; padding: 1.2em 1em; text-decoration: none; }
.drawer-nav-item:first-child a { border-top: #ddd 1px solid; }
.drawer-nav-item a i { color: #aaa; display: inline-block; padding-right: 0.5em; }
@media screen and (min-width:980px){
  .menu-btn { display: none; }
}

/*
footer
-------------------*/
.footer { position: relative; }
.pagetop { 
  color: #fff; font-size: 1rem; font-weight: 700; text-align: center; line-height: 1.1;
  position: absolute; right: 4.5%; bottom: 2.4em;
}
.pagetop i { display: inline-block; font-size: 350%; }
.pagetop a { 
  color: #fff; display: block; text-decoration: none; box-sizing: border-box; 
  position: relative; width: 6em; height: 6em; padding-top: 0.5em; 
}
.pagetop a::before,
.pagetop a::after { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; transition: all .3s; }
.pagetop a::before {
  z-index: -1;
  background: rgb(14, 67, 134);
  background: -moz-linear-gradient(270deg, rgb(14, 67, 134) 20%, rgb(15, 113, 176) 80%);
  background: -webkit-linear-gradient(270deg, rgb(14, 67, 134) 20%, rgb(15, 113, 176) 80%);
  background: -o-linear-gradient(270deg, rgb(14, 67, 134) 20%, rgb(15, 113, 176) 80%);
  background: -ms-linear-gradient(270deg, rgb(14, 67, 134) 20%, rgb(15, 113, 176) 80%);
  background: linear-gradient(0deg, rgb(14, 67, 134) 20%, rgb(15, 113, 176) 80%);
}
.pagetop a::after {
  z-index: -2;
  background: rgb(14, 67, 134);
}
.pagetop a:hover { opacity: 1; }
.pagetop a:hover::before { opacity: 0; }
.footer-main { box-sizing: border-box; padding: 4em 0 5em; }
.footer-add { margin-top: 0.7em; }
.footer-copy { background-color: #0e4386; color: #fff; font-size: 68.75%; font-weight: 700; padding: 0.6em 0; text-align: center; }
.footer-nav li a { color: #000; display: inline-block; text-decoration: none; }
.footer-nav li i { color: #aaa; padding-right: 0.3em; }
@media screen and (max-width:767px){
  .footer-logo { width: 60%; max-width: 120px; margin: 0 auto 1em; }
  .footer-nav { display: none; }
  .footer-main { text-align: center; padding: 3em 0 5em; }
}
@media screen and (min-width:768px){
  .pagetop { font-size: 1.2rem; }
  .footer-logo { width: 120px; margin-bottom: 1em; }
  .footer-nav { display:-webkit-box; display:-ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-top: 1em; }
  .footer-nav li { display: inline-block; margin: 1em 0 0 1.5em; }
  .footer-nav li:first-child { margin-left: 0; }
}
@media screen and (min-width:1200px){
  .footer-main { padding-bottom: 4em; }
  .footer-row { display:-webkit-box; display:-ms-flexbox; display: flex;-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .footer-nav { margin-top: 0; }
  .footer-nav li { margin: 0 0 0 2em; }
}

/*
footer-contact
-------------------*/
.footer-contact { padding: 5em 0; background-image: url("assets/img/contact_bg.jpg"); background-repeat: no-repeat; background-position: 50% 20%; background-size: cover; }
.footer-contact .section-header { margin-bottom: 0; text-align: center; }
.footer-contact .section-header-ja { font-size: 150%; color: #fff; }
.footer-contact-item { text-align: center; padding-top: 1.5em; width: 100%; }
.footer-contact-item .btn { display: block; padding: 1.2em 0; text-align: center; width: 100%; border: #fff 1px solid; }
.footer-contact-item .btn::before,
.footer-contact-item .btn::after { background: transparent; }
.footer-contact-item .btn:hover { opacity: 0.8; }
.dialbtn { text-align: center; }
.dialbtn .phone-note { color: #fff; font-weight: 400; }
.dialbtn .phone-notettl { background-color: #fff; color: #00226d; }
.dialbtn .spicon,
.footer-contact .spicon { display: none; }
@media screen and (max-width:767px){
  .dialbtn { 
    display: block; cursor: pointer; position: relative;
    color: #fff; font-weight: 700;
    padding: 0.8em 2em; text-decoration: none; 
    position: relative; z-index: 1; overflow: hidden;
  }
  .footer-contact .dialbtn { border: #fff 1px solid; }
  .dialbtn .phone-ttl { display: none; }
  .dialbtn .spicon,
  .footer-contact .spicon { display: block; font-size: 150%; position: absolute; top: 50%; left: 1em; margin-top: -0.5em; }
}
@media screen and (max-width:350px){
  .footer-contact { font-size: 82.5%; }
}
@media screen and (min-width:768px){
  .footer-contact-row { margin: 1.5em auto 0; max-width: 800px; }
  .footer-contact-item { width: 48%; padding-top: 0; }
  .footer-contact-item .dialbtn { color: #fff; }
}

/*
cover
-------------------*/
.pagecover { 
  color: #fff; padding: 1.6em 0;
  background: rgb(14, 59, 128);
  background: -moz-linear-gradient(90deg, rgb(14, 59, 128) 0%, rgb(175, 205, 231) 100%);
  background: -webkit-linear-gradient(90deg, rgb(14, 59, 128) 0%, rgb(175, 205, 231) 100%);
  background: -o-linear-gradient(90deg, rgb(14, 59, 128) 0%, rgb(175, 205, 231) 100%);
  background: -ms-linear-gradient(90deg, rgb(14, 59, 128) 0%, rgb(175, 205, 231) 100%);
  background: linear-gradient(180deg, rgb(14, 59, 128) 0%, rgb(175, 205, 231) 100%);
}
/* crumbs */
.crumbs { text-align: center; line-height: 1.3; color: #fff; font-weight: 700; margin-top: 1em; }
.crumbs a { color: #fff; text-decoration: none; }
.crumbs-item { display: inline-block; font-size: 75%; }
.crumbs-item::before { content: "\f105"; color: #fff; font-weight: 900; font-family: "Font Awesome 5 Free"; pointer-events: none; display: inline-block; margin: 0 0.8em; }
.crumbs-item:first-child::before { content: ""; margin: 0; }
/* pageheader */
.pageheader { text-align: center; }
.pageheader-en,
.pageheader-ja { color: #fff; display: block; font-weight: 700; }
.pageheader-ja { font-size: 178.5%; }
.pageheader-en {  }
@media screen and (max-width:979px){
  .crumbs { display: none; }
}
@media screen and (min-width:980px){
  .pagecover { padding: 2.5em 0; }
  .pageheader-ja { font-size: 250%; }
  .pageheader-en { font-size: 112.5%; }
}

/*
archive
-------------------*/
.section-block.archive { padding-top: 1px; }
/*cat*/
.archive-cat-list { padding: 3em 0; }
.row.archive { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.archive-cat-list li { display: inline-block; margin: 0.2em 2px; }
.archive-cat-list li a { background-color: #3199cf; color: #fff; display: inline-block; font-size: 87.5%; font-weight: 700; text-decoration: none; padding: 0.4em 1em; }
.archive-cat-list li.current a { background-color: #141414; }
@media screen and (min-width:768px){
  .archive-cat-list { padding: 4em 0; }
}
/*works*/
.archive-header-cat { color: #0c5dc2; font-weight: 700; }
.works-list { display:-webkit-box; display:-ms-flexbox; display: flex;-webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.works-list-item { margin-top: 2em; }
.works-list-item a { display: block; text-decoration: none; }
.works-list-thumb,
.works-list-ttl,
.works-list-data { display: block; }
.works-list-thumb { border: #ddd 1px solid; }
.works-list-ttl { font-size: 87.5%; font-weight: 700; margin-top: 0.4em; margin-bottom: 0.3em; }
.works-list-data { font-size: 75%; }
.works-list-date { color: #aaa; display: inline-block; font-weight: 700; padding-right: 0.5em; }
.works-list-cat { color: #00226d; }
@media screen and (min-width:768px) and (max-width: 979px){
  .archive-header { margin-bottom: 1em; }
  .works-list-item { width: 48%; margin-right: 4%; }
  .works-list-item:nth-of-type(2n) { margin-right: 0; }
}
@media screen and (min-width:980px) and (max-width:1199px){
  .archive-header { margin-bottom: 2em; }
  .works-list-item { width: 31%; margin-right: 3.5%; }
  .works-list-item:nth-of-type(3n) { margin-right: 0; }
}
@media screen and (min-width:1200px){
  .archive-header { margin-bottom: 2em; }
  .works-list-item { width: 22.5%; margin-right: 3.3%; }
  .works-list-item:nth-of-type(4n) { margin-right: 0; }
}

.archive-list li { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; padding: 1.5em; border-bottom: #ddd 1px solid; }
.archive-list li:first-child { border-top: #ddd 1px solid; }
.archive-date,
.archive-cat,
.archive-ttl { display: block; }
.archive-date { color: #00226d; font-weight: 700; margin-right: 1em; width: 5.5em; }
.archive-cat-label { display: inline-block; font-size: 81.25%; padding: 0.1em 0.4em; background-color: #0c7dc2; color: #fff; }
.archive-cat-label.works { background-color: #049ddc; color: #fff; }
.archive-cat-label.info { background-color: #0c5dc2; color: #fff; }
.archive-ttl { margin-top: 0.3em; width: 100%; }
@media screen and (min-width:980px){
  .archive-list li { padding: 1.5em 0; }
  .archive-date { margin-right: 2em; }
  .archive-cat { margin-right: 2em; width: 7em; }
  .archive-cat-label { display: block; text-align: center; margin-top: 0.2em; }
  .archive-ttl { width: 50%; flex-grow: 1; margin-top: 0; }
}
/* pager */
.archive-pager { text-align: center; margin-top: 4em; }
.wp-pagenavi { font-family: 'Open Sans', sans-serif; font-weight: 700; }
.wp-pagenavi span,
.wp-pagenavi a { 
  display: inline-block; margin-left: 0.5em; margin-top: 0.8em; background-color: #3199cf; color: #fff; 
  line-height: 2.5; width: 2.5em; text-align: center; text-decoration: none; 
}
.wp-pagenavi span:first-child,
.wp-pagenavi a:first-child { margin-left: 0; }
.wp-pagenavi .current { background-color: #141414; }
@media screen and (min-width:768px){
  .wp-pagenavi span,
  .wp-pagenavi a { line-height: 3.5; width: 3.5em; }
}

/*
single
-------------------*/
/* entry */
.entry-ttl { font-size: 114.28%; font-weight: 700; margin-bottom: 1em; }
.entry-data { 
  display:-webkit-box; display:-ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -ms-flex-wrap: wrap; flex-wrap: wrap; 
  padding-bottom: 1.5em; font-size: 87.5%; border-bottom: #ddd 1px solid;
}
.entry-date { font-weight: 700; margin-right: 1em; color: #e95098; }
.entry-cat li { display: inline-block; background-color: #a49a91; color: #fff; font-weight: 700; text-decoration: none; padding: 0.1em 0.5em; }
.entry-body { background-color: #fff; padding: 1em 0; }
@media screen and (min-width:768px){
  .entry-ttl { font-size: 150%; }
  .entry-data { padding-bottom: 3em; }
  .entry-body { padding: 3em 0; }
}

.entry-pager { border-top: #ddd 1px solid; margin-top: 2em; }
.entry-pager a { display: block; position: relative; padding: 1.6em 1em; text-decoration: none; color: #222; }
.entry-pager a.next { padding-left: 2em; }
.entry-pager a.prev { padding-right: 2em; text-align: right; }
.entry-pager a::before { 
  display: block; position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; 
  font-family: "Font Awesome 5 Free"; font-size: 135%; font-weight: 900; color: #4bb332; transition: color 0.3s;
}
.entry-pager a.next::before { content: "\f053"; left: 0; }
.entry-pager a.prev::before { content: "\f054"; right: 0; }
@media screen and (max-width:767px){
  .entry-pager a { border-bottom: #ddd 1px solid; }
}
@media screen and (min-width:768px){
  .entry-pager { 
    display: -webkit-box; display:-ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;
    border-bottom: #ddd 1px solid;
  }
  .entry-pager a { 
    width: calc(50% - 1px); box-sizing: border-box; 
    display: -webkit-box; display:-ms-flexbox; display: flex; -webkit-box-items: center; -ms-flex-align: center; align-items: center;
  }
  .entry-pager a.next { margin-right: auto; }
  .entry-pager a.prev { margin-left: auto; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
  .entry-pager a.next + a.prev { border-left: #ddd 1px solid; }
}

/* entry */
.entry-body { line-height: 2.28; }
.entry-body p,
.entry-body ul,
.entry-body ol,
.entry-body dl,
.entry-body table,
.entry-body blockquote,
.entry-body img,
.entry-body hr { margin-top: 2em; margin-bottom: 2em; }
.entry-body h1,
.entry-body h2 { margin-top: 2em; margin-bottom: 1em; padding-bottom: 0.5em; line-height: 1.3; border-bottom: #eee 1px solid; }
.entry-body h3,
.entry-body h4,
.entry-body h5,
.entry-body h6 { margin-top: 2em; margin-bottom: 1em; line-height: 1.5; }
.entry-body h1 { font-size: 137.5%; font-weight: 700; color: #e95098; }
.entry-body h2 { font-size: 131.25%; font-weight: 700; }
.entry-body h3 { font-size: 131.25%; font-weight: 700; color: #e95098; }
.entry-body h4 { font-size: 131.25%; font-weight: 700; }
.entry-body h5 { font-size: 112.5%; font-weight: 700; }
.entry-body h6 { font-weight: 700; }
.entry-body ul li { list-style: disc outside; margin-left: 1em; }
.entry-body ol li { list-style: decimal outside; margin-left: 1em; }
.entry-body dl dt { font-weight: 700; }
.entry-body th,
.entry-body td { padding: 0.8em; border: #ddd 1px solid; }
.entry-body th { font-weight: 700; }
.entry-body img { max-width: 100%!important; height: auto!important; }
.entry-body img.alignleft { display: inlie-block; float: left; margin-right: 15px; }
.entry-body img.aligncenter { clear: both; display: block; float: none; margin-left: auto; margin-right: auto; }
.entry-body img.alignright { display: inlie-block; float: right; margin-left: 15px; }
.entry-body img.alignnone { float: none; }
.entry-body blockquote { background-color: #fafafa; padding: 36px 42px; position: relative; }
.entry-body blockquote::before,
.entry-body blockquote::after { 
  content: ""; display: block; position: absolute; width: 23px; height: 16px; pointer-events: none; 
  background-repeat: no-repeat;
}
.entry-body blockquote::before { background-image: url("assets/img/blockquote_start.png"); top: 10px; left: 10px; }
.entry-body blockquote::after { background-image: url("assets/img/blockquote_end.png"); bottom: 10px; right: 10px; }
.entry-body hr { border: 0; border-top: #878682 1px solid; }
.entry-body > *:first-child { margin-top: 0; }
.entry-body del { text-decoration: line-through; }
.entry-body strong,
.entry-body b { font-weight: 700; }
.entry-body em { font-style: italic; }
.entry-body a { cursor: pointer; display: inline-block; }
.entry-body a:hover { opacity: 1; text-decoration: none; }


/*
contents
-------------------*/
/* home - kv */
.keyvisual { 
  position: relative; width: 100%; height: 65vh; z-index: 1; 
  background-image: url("assets/img/cover.jpg"); background-repeat: no-repeat; background-position: 50% 100%; background-size: cover;
}
.keyvisual-copy { color: #fff; font-size: 6.5vw; font-weight: 700; font-style: italic; text-align: center; padding-top: 3em; }
.keyvisual-copyinner { display: inline-block; position: relative; }
.keyvisual-copyinner::before { 
  content: ""; display: block; position: absolute; width: 106%; height: 0; left: -3%; bottom: -0.3em; 
  border-bottom: #fff 5px solid;
}
@media screen and (min-width:768px){
  .keyvisual { height: 600px; }
  .keyvisual-copy { font-size: 4rem; padding-top: 1.8em; }
}
/* home-lead */
.homelead-wrapper { padding-left: 4.5%; padding-right: 4.5%; max-width: 1200px; margin: auto; }
.home-lead { position: relative; padding: 0 4.5%; }
.home-lead::before,
.home-lead::after { content: ""; display: block; position: absolute; width: 100%; height: 3em; left: 0; background-color: #fff; z-index: 2; }
.home-lead::before { top: -3em; }
.home-lead::after { bottom: -3em; }
@media screen and (min-width:768px){
  .home-lead { padding: 0; text-align: center; }
  .home-lead::before,
  .home-lead::after { height: 4em; }
  .home-lead::before { top: -4em; }
  .home-lead::after { bottom: -4em; }
}
@media screen and (min-width:1200px){
  .homelead-wrapper { padding: 0; }
}
/* home-service */
.section-block.homeservice { padding-top: 8em; }
.row.home-service { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }
.home-service-item { width: calc(50% - 1px); margin: 1px 1px 0 0; }
.home-service-anchor { display: block; text-decoration: none; color: #fff; position: relative; }
.home-service-thumb { display: block; position: relative; z-index: 2; }
.home-service-thumb::after { 
  content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 1;
  background-color: rgba(2,122,194, 0.48); transform: translate3d(0, 0, 0);
}
.home-service-txt { 
  box-sizing: border-box; display: block; width: 100%; position: absolute; top: 50%; left: 0; z-index: 3;
  font-size: 112.5%; font-weight: 700; text-align: center; transform: translateY(-50%);
}
@media screen and (min-width:768px){
  .section-block.homeservice { padding-top: 10.6em; }
}
@media screen and (min-width:980px){
  .home-service-item { width: calc(25% - 1px); }
}
/* home-anchor */
.row.home-anchor-row { -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 3em; }
.home-anchor-item { width: calc(50% - 1px); margin: 1px 0 0 1px; }
.home-anchor-link { text-decoration: none; }
.home-anchor-link:hover { opacity: 1; }
.home-anchor-link:hover .btn::before { opacity: 0; }
.row.home-anchor-txt { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.home-anchor-txt { background-color: #fff; box-sizing: border-box; padding: 0.5em 1em; }
.home-anchor-txt .btn { font-size: 87.5%; padding: 0.4em 1em; }
.home-anchor-ttl { color: #000; font-weight: 700; }
.home-anchor-photo { display: block; }
@media screen and (min-width:980px){
  .home-anchor-item { width: 31%; margin-left: 10px; }
  .home-anchor-item:first-child { margin-left: 0; }
}

/* service */
.service-lead-photo { margin-bottom: 2em; }
.service02photo { margin-top: 1em; }
.service03photo { margin-bottom: 1em; }
.row.service03 { margin-top: -2em; }
.service03item { margin-top: 2em; }
@media screen and (min-width:768px){
  .service02item { width: 58%; }
  .service02photo { width: 38%; margin-top: 0; }
  .service03item { width: 48%; }
}

/* company */
.basic-table.company { font-size: 87.5%; }
.basic-table.company > * > tr > th { color: #00226d; width: 8em; }
.basic-table.company .year { display: inline-block; width: 5em; }
.company-inner td:first-child { padding-right: 1em; }
.access-map { border: #ddd 1px solid; position: relative; width: 100%; height: 0; padding-top: 133%; margin-top: 2em; }
.access-map > iframe { position: absolute; top: 0; left: 0; width: 100%!important; height: 100%!important; }
@media screen and (max-width:767px){
  .companymessage-photo { margin-bottom: 1em; }
  .basic-table.company .table-inner,
  .basic-table.company .table-inner tr,
  .basic-table.company .table-inner td { display: block; }
  .company-inner { width: 100%; }
}
@media screen and (min-width:370px){
  .company-inner td:first-child { width: 14em; }
}
@media screen and (min-width:768px){
  .row.companymessage { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .companymessage-photo { width: 38%; }
  .companymessage-body { width: 58%; }
  .basic-table.company > * > tr > th { width: 20%; min-width: 8em; }
  ul.company-inner { width: 48%; }
  .company-add { text-align: center; }
  .access-map { padding-top: 400px; }
}
@media screen and (min-width:980px){
  .company-inner td:first-child { width: auto; }
  ul.company-inner { width: auto; }
}

/* information */
.info-table { font-size: 87.5%; width: 100%; }
@media screen and (max-width:767px){
  .info-table thead { display: none; }
  .info-table,
  .info-table tbody,
  .info-table tr,
  .info-table th,
  .info-table td { display: block; }
  .info-table td { padding-bottom: 0.8em; }
  .info-table td::before { background-color: #0e4386; color: #fff; display: block; font-weight: 700; margin-bottom: 0.5em; padding: 0.4em; text-align: center; }
  .info-table td.ttl::before { content: "現場名"; }
  .info-table td.add::before { content: "住所"; }
  .info-table td.body::before { content: "工事内容"; }
  .info-table td.period::before { content: "工事期間"; }
  .info-table tbody tr { border-top: #ddd 1px solid; padding-top: 1.5em; margin-top: 0.5em; }
  .info-table tbody tr:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
}
@media screen and (min-width:768px){
  .info-table th,
  .info-table td { border: #ddd 1px solid; padding: 0.7em; vertical-align: top; }
  .info-table th:first-child,
  .info-table td:first-child { border-left: 0; padding-left: 0; }
  .info-table th:last-child,
  .info-table td:last-child { border-right: 0; padding-right: 0; }
  .info-table thead th { background-color: #0e4386; color: #fff; font-weight: 700; padding: 0.8em 0; text-align: center; }
  .info-table td.body { width: 5em; }
}
@media screen and (min-width:980px){
  .info-table td.ttl { width: 40%; }
  .info-table td.add { width: 25%; }
  .info-table td.body { width: 10%; min-width: 5em; }
  .info-table td.period { width: 25%; }
}

/* recruit */
.recruit-lead { 
  position: relative; z-index: 1; padding-top: 4em; padding-bottom: 6em; color: #00226d; 
}
.recruit-lead::before { 
  content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0;
  background-image: url("assets/img/recruit_bg.jpg"); background-repeat: no-repeat; background-position: 100% 100%; background-size: 100% auto; 
  background-color: #fff; opacity: 0.3; z-index: -1;
}
.basic-table.recruit th { color: #00226d; width: 4em; }
.recruit-contact { border: #2e6bc6 1px solid; margin: 3em auto 0; max-width: 580px; padding: 2em 4.5%; text-align: center; }
.recruit-contact-ttl { font-weight: 700; font-size: 150%; }
@media screen and (min-width:768px){
  .recruit-lead { padding-top: 6em; text-align: center; }
  .recruit-lead::before { background-size: auto 100%; }
  .basic-table.recruit th { width: 22%; min-width: 4em; }
  .recruit-contact { padding-top: 2.5em; padding-bottom: 2.5em; }
}
@media screen and (min-width:1200px){
  .recruit-lead::before { opacity: 1; }
}


/* contact */
.contact-lead { margin-bottom: 2em; }
.contact-table { width: 100%; }
.basic-table.contact-table > * > tr > th { font-weight: 400; }
.basic-table.contact-table > * > tr > th,
.basic-table.contact-table > * > tr > td { vertical-align: middle; }
.contact-form-line { display: block; margin-top: 1rem; }
.contact-form-line:first-of-type { margin-top: 0; }
.contact-form-header-sub { font-size: 87.5%; }
.form-btn { 
  background-color: #ccc; color: #fff; font-weight: 700; text-align: center; text-decoration: none;
  display: block; padding: 1em; margin-left: auto; margin-right: auto; width: 90%; max-width: 700px;
}
.form-btn.bar:hover::after { left: 1.5em; }
@media screen and (max-width:767px){
	.contact-table,
  .contact-table tbody,
  .contact-table tr,
  .contact-table th,
  .contact-table td { display: block; }
  .contact-table th,
  .contact-table td { padding: 1em 0; }
  .contact-table th { padding-bottom: 0; }
}
@media screen and (min-width:768px){
  .contact-table th,
  .contact-table td { padding: 1em 0; }
  .contact-table th { padding-left: 0; width: 17em; }
}
@media screen and (min-width:980px){
  .contact-table th {  }
  .contact-table td { padding-right: 2em; }
	.contact-form-line.col2 { display: inline-block; margin-top: 0; width: 49%; }
}
/* validate */
.formError .formErrorContent { border: 0; border-radius: 0; font-size: 1.2rem; padding: 0.4em 1em; }
@media screen and (min-width:768px){
  .formError .formErrorContent { font-size: 1.6rem; }
}
/* error */
.contact-err-item { color: #e11a49; font-size: 120%; font-weight: 700; margin: 1em auto; }
@media screen and (max-width:767px){
	.contact-err-list { margin-top: 3rem; text-align: left; }
}
@media screen and (min-width:768px){
	.contact-err-list { margin-top: 5rem; text-align: center; }
}

/* privacy */
.section-block.privacy { background-color: #fff5df; }
.privacy-container { background-color: #fff; border: #ddd 1px solid; height: 10em; padding: 1.5em; overflow-y: scroll; }


/*
form
-------------------*/
/* select */
.select-wrap select{ outline:none; text-indent: 0.01px; text-overflow: ''; background: none #fff; vertical-align: middle; font-size: inherit; color: inherit; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
select option{ background-color: #fff; color: #000; }
select::-ms-expand { display: none; }
select:-moz-focusring { color: transparent; text-shadow: 0 0 0 #828c9a; }
select.form-input { padding-right: 30px; }
.select-wrap { display: inline-block; position: relative; }
.select-wrap::after { 
  content: "\f107"; color: #aaa; font-family: "Font Awesome 5 Free"; font-weight: 900;
  display: inline-block; position: absolute; top: 50%; right: 0.5em; transform: translateY(-50%); pointer-events: none;
}
.select-wrap select { border: #ddd 1px solid; background-color: #f8f8f8; border-radius: 3px; padding: 0.7em 1.8em 0.7em 0.7em; }
.select-wrap select:focus { background-color: #fff; }
/* radio */
input[type=radio] { /*display: none;*/ opacity: 0; position: absolute; }
.form-radio { cursor: pointer; display: inline-block; position: relative; padding-left: 2em; vertical-align: middle; }
.form-radio::before,
.form-radio::after { 
  content: ""; display: inline-block; position: absolute; border-radius: 50%;
  transition: all .2s; 
}
.form-radio::before { 
  top: 50%; left: 0; margin-top: -8px;
  width: 16px; height: 16px; border: #ddd 1px solid; background-color: #f8f8f8;
}
.form-radio::after{
  top: 50%; left: 5px; margin-top: -3px;
  width: 8px; height: 8px; background-color: #222; opacity: 0;
}
.form-radio:hover::before,
input[type=radio]:checked + .form-radio::before { background-color: #fff; }
input[type=radio]:checked + .form-radio::after { opacity: 1; }
/* check */
input[type=checkbox] { /*display: none;*/ opacity: 0; position: absolute; }
.form-check { cursor: pointer; display: inline-block; position: relative; padding-left: 1.5em; vertical-align: middle; margin-bottom: 0.5em; }
.form-check::before,
.form-check::after { 
  content: ""; display: inline-block; position: absolute; border-radius: 3px;
  transition: all .2s; 
}
.form-check::before { 
  top: 50%; left: 0; margin-top: -9px;
  width: 16px; height: 16px; border: #ddd 1px solid; background-color: #f8f8f8;
}
.form-check::after{
  top: 4px; left: 5px; opacity: 0;
  width: 5px; height: 10px; border-bottom: #222 3px solid; border-right: #222 3px solid; transform: rotate(40deg);
}
.form-check:hover::before,
input[type=checkbox]:checked + .form-check::before { background-color: #fff; }
input[type=checkbox]:checked + .form-check::after { opacity: 1; }
.form-sub-ttl { display: inline-block; padding-right: 0.5rem; }
.form-sub-ttl.type2 { width: 2em; }
.form-sub-ttl.type4 { width: 4em; }
.form-req { background: #cb0f0f; color: #fff; display: inline-block; font-weight: 700; font-size: 75%; padding: 0 0.5em; margin-left: 0.4em; margin-right: 0.4em; }
.form-sep { padding-left: 0.5em; padding-right: 0.5em;}
.form-unit { display: inline-block; padding-right: 1em; }
.form-input { display: inline-block; position: relative; border: #ddd 1px solid; border-radius: 3px; background: #f8f8f8; box-sizing: border-box; padding: 0.5em; }
.form-input:focus { background: #fff; }
.text-s { width: 5em; }
.text-m { width: 80%; }
.text-l { width: 100%; }
.text-m.type2 { width: calc(80% - 2em - 1rem); }
.text-l.type2 { width: calc(100% - 2em - 1rem); }
.text-m.type4 { width: calc(80% - 4em - 1rem); }
.text-l.type4 { width: calc(100% - 4em - 1rem); }

.form-submit-block { text-align: center; margin-top: 2em; }
@media screen and (max-width:767px){
	.text-s { width: 4em; }
	.text-m { width: 100%; }
	.text-m.type2 { width: calc(100% - 2em - 1rem); }
	.text-m.type4 { width: calc(100% - 4em - 1rem); }
}