@charset "UTF-8";

* {
  box-sizing:border-box;
  /* tap */
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
}
*:focus { outline: none; }

html { overflow-x:hidden; overflow-y:scroll; font-size: 16px; line-height:1.5; color:#000; letter-spacing:0.05em; font-feature-settings: "palt"; }
body {
	width:100%; margin:0; padding:0;
	font-family: 'Noto Sans JP', sans-serif;
	background:#fff;
  min-width: 1000px;
}
body.fixed { position:fixed; width:100%; height:100%; }

ol, ul, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, h7,figure, form, p , figure { margin:0; padding:0; font-weight: normal;}
img { border:0; }
li { list-style-type:none; }
table { border-collapse: collapse; border-spacing: 0;}
table th { font-weight: normal;}

a { overflow:hidden; -webkit-transition:.2s linear; transition:.2s linear; }
a:link		{ color:#251e1c; text-decoration: none; }
a:visited	{ color:#251e1c; }
a:hover		{ color:#333; }
a:active	{ color:#333; }
a img { -webkit-transition:.2s linear; transition:.2s linear; }
a:hover img { opacity:0.7; }
a.underline { text-decoration:underline; }

img { max-width:100%; height:auto; vertical-align:top; }

/* clearfix */
.clearfix:after { visibility: hidden; display: block; font-size: 0; content: " "; clear: both; height: 0; }
* html .clearfix { zoom: 1; } /* IE6 */
*:first-child+html .clearfix { zoom: 1; } /* IE7 */

/*.serif { font-family: 'Noto Serif JP', serif; }*/
.sans { font-family: 'Noto Sans JP', sans-serif; }
.en { font-family: 'Oswald', sans-serif; }

.bold  { font-weight:bold; }
.txt_l { text-align:left; }
.txt_c { text-align:center; }
.txt_r { text-align:right; }
.f_left { float:left; }
.f_right { float:right; }
.clear { clear:both; }
.red { color:#f25252; }
.mt20 { margin-top: 20px;}

/* -------------------------------------------- */
/*  animation */
/* -------------------------------------------- */
/* fadein */
.fadein,.fadein-list li {opacity: 0;}
.fadein.inview-show,.fadein-list li.inview-show {
    -webkit-animation: 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) both .5s;
    animation: 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) both .5s;
    -webkit-animation-name: slide_in_y;
    animation-name: slide_in_y;
}

/* slide-in */
.slidein,.slidein-list li {opacity: 0;}
.slidein.inview-show,.slidein-list li.inview-show  {
    -webkit-animation: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) both .5s;
    animation: 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) both .5s;
    -webkit-animation-name: slide_in_x;
    animation-name: slide_in_x;
}

@-webkit-keyframes slide_in_x {
    0% { -webkit-transform: translateX(-3%); opacity: 0;}
    100% { -webkit-transform: translateX(0); opacity: 1;}
}

@keyframes slide_in_x {
    0% { transform: translateX(-3%); opacity: 0;}
    100% { transform: translateX(0); opacity: 1;}
}

@-webkit-keyframes slide_in_y {
    0% { -webkit-transform: translateY(10%); opacity: 0;}
    100% { -webkit-transform: translateY(0); opacity: 1;}
}

@keyframes slide_in_y {
    0% { transform: translateY(10%); opacity: 0;}
    100% { transform: translateY(0); opacity: 1;}
}


/* motion-box */
.motion-box { display: inline-block; position: relative; overflow: hidden; height: 100%;}
.motion-box:after { content: ''; position: absolute; opacity: 1; left: 0; top: 0; bottom: 0; width: 100%; background-color: #000; -webkit-transform: translate3d(-101%, 0, 0); transform: translate3d(-101%, 0, 0); }
.motion-parts.inview-show .motion-box:after { transition-property: opacity, -webkit-transform; transition-property: transform, opacity; transition-property: transform, opacity, -webkit-transform; transition-duration: 0.5s; transition-delay: 0s; transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.motion-parts.inview-done .motion-box:after { transition-property: -webkit-transform; transition-property: transform; transition-property: transform, -webkit-transform; transition-duration: 0.5s; transition-delay: 0s; transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); -webkit-transform: translate3d(103%, 0, 0); transform: translate3d(103%, 0, 0); }
.motion-box .motion-inner { display: inline-block; opacity: 0; height: 100%; }
.motion-parts.inview-done .motion-box .motion-inner { opacity: 1; }


@-webkit-keyframes slide_in_x {
    0% { -webkit-transform: translateX(-3%); opacity: 0;}
    100% { -webkit-transform: translateX(0); opacity: 1;}
}

@keyframes slide_in_x {
    0% { transform: translateX(-3%); opacity: 0;}
    100% { transform: translateX(0); opacity: 1;}
}

@-webkit-keyframes slide_in_y {
    0% { -webkit-transform: translateY(10%); opacity: 0;}
    100% { -webkit-transform: translateY(0); opacity: 1;}
}

@keyframes slide_in_y {
    0% { transform: translateY(10%); opacity: 0;}
    100% { transform: translateY(0); opacity: 1;}
}

@-webkit-keyframes slide_in_-y {
    0% { -webkit-transform: translateY(-10%); opacity: 0;}
    100% { -webkit-transform: translateY(0); opacity: 1;}
}

@keyframes slide_in_-y {
    0% { transform: translateY(-10%); opacity: 0;}
    100% { transform: translateY(0); opacity: 1;}
}

@-webkit-keyframes scale_in {
    0% { -webkit-transform: scale(0.98); opacity: 0;}
    100% { -webkit-transform: scale(1); opacity: 1;}
}

@keyframes scale_in {
    0% { transform: scale(0.98); opacity: 0;}
    100% { transform: scale(1); opacity: 1;}
}


#contents { padding-top: 80px; min-height: calc(100vh - 50px);    background: #eee;}

/* header */
header { position: fixed; top: 0; left: 0; justify-content: space-between; align-items: center; height: 80px; z-index: 10; width: 100%; transition: .3s; display: flex; background: #fff; }
header .header-top { padding-right: 8em; position: relative;}
header .logo { display: inline-block; margin: 0 0 0 40px; }
header .logo a { display: flex; width: 100%; height: 100%; align-items: center;}
header .logo span { font-size: 12px; margin-left: .8em; font-weight: bold; color: #404040;}
header nav { height: 100%; }
header nav #gnav { width: 100%; height: 100%; display: flex; align-items: center; /*font-family: 'Oswald', sans-serif;*/ font-size: 1rem; padding: 0 40px; }
header nav #gnav li { height: 100%; }
header nav #gnav li a { width: 100%; height: 100%; display: flex; align-items: center; z-index: 1; position: relative; }
header nav #gnav li a:after { content: ""; position: absolute; bottom: 0; left: 0; width: 0; height: 6px; background: linear-gradient(to right,#f992a3, #fdd6bd); transition: .3s; }
header nav #gnav li.cur a:after,header nav #gnav li a:hover:after { width: 100%; }
header nav #gnav li + li { margin-left: 50px; }
header #btn_menu { display: none; width: 64px; height: 64px; }
header #btn_menu a { display: flex; width: 100%; height: 100%; justify-content: center; align-items: center; }
header #btn_menu .box { display: block; width: 30px; height: 20px; position: relative; }
header #btn_menu .box span { display: block; width: 30px; height: 2px; background: #333; position: absolute; transition: .2s; }
header #btn_menu .box span:nth-child(1) { top: 0; left: 0; }
header #btn_menu .box span:nth-child(2) { top: 9px; left: 0; }
header #btn_menu .box span:nth-child(3) { bottom: 0; left: 0; }
header.open #btn_menu .box span:nth-child(1) { -webkit-transform: translateY(9px) rotate(-45deg); transform: translateY(9px) rotate(-45deg); }
header.open #btn_menu .box span:nth-child(2) { opacity: 0; }
header.open #btn_menu .box span:nth-child(3) { -webkit-transform: translateY(-8px) rotate(45deg); transform: translateY(-8px) rotate(45deg); }

/* language-select */
header .language-select{position: absolute; right: 0; top: 10px;background:transparent;border:1px solid #000;padding:4px 12px 4px 15px;transition:.2s;cursor:pointer;z-index:10;}
header .language-select.bottom{right:30px;bottom:85px;display:none;}
header .language-select .language-ttl{font-size:13px;color:#000;margin-bottom:0;font-weight:bold;}
header .language-select .language-ttl::after{content:"";display:inline-block;width:5px;height:5px;border-right:1px solid #000;border-bottom:1px solid #000;-webkit-transform:rotate(45deg);transform:rotate(45deg);margin-left:8px;vertical-align:2px;}
header .language-select .list-language{display:none;font-size:12px;text-align:left;margin-top:3px;}
header .language-select .list-language li a{display:block;text-decoration:none;border-bottom:1px solid rgba(0,0,0,0.4);padding:5px 0 5px 10px;color:#fff;}
header .language-select .list-language li a:hover{background:rgba(0,0,0,0.08);}
header .language-select .list-language li:last-child a{border-bottom:0;}

header .language-select:hover{background:rgba(0,0,0,0.9);}
header .language-select.active{border-color:#000;background:rgba(0,0,0,0.9);}
header .language-select:hover .language-ttl,.language-select.active .language-ttl{color:#FFF;}
header .language-select:hover .language-ttl::after,.language-select.active .language-ttl::after{border-color:#FFF;}
header .language-select.active .list-language li a{color:#FFF;border-color:#676767;}



/* footer */
footer { display: flex; justify-content: space-between; align-items: center; background: #111; }
footer a { padding: 15px 20px; color: #fff !important; font-size: 0.875rem;}
footer .copy { display: inline-block; text-align: right; background: #111; padding: 15px 20px; color: #fff; font-size: 0.875rem;}


.con { position:relative; max-width:1200px; margin:auto; text-align:left; padding: 0 20px; }

@media (min-width: 993px) {
  .sp { display:none; }
	a[href^="tel:"] { pointer-events: none; }
}

@media print, screen and (max-width: 1100px) {
    .con { padding:0 5%; }
}

@media print, screen and (max-width: 992px) {
	#contents { padding-top: 58px; }
	/* header */
	header { height: auto; display: block; }
	header .header-top { height: 58px; display: flex; justify-content: space-between; align-items: center; padding-right: 0; }
	header .logo { margin: 0 0 0 15px; width: 104px; }
	header .language-select{ display: none;}
	header #btn_menu { display: block; position: relative; z-index: 10; }
	header nav { max-height: 0; transition: .2s; overflow: hidden; background: rgba(0,0,0,0.9); }
	header.open nav { max-height: 100vh!important; height: auto; }
	header nav #gnav { height: auto; flex-wrap: wrap; padding: 0; flex-direction: column; height: 0; transition: .2s; }
	header.open nav #gnav { height: 100vh; padding: 2em 0;}
	header nav #gnav li { width: 100%; height: auto; line-height: 2; }
	header nav #gnav li + li { margin-left: 0; margin-top: 0; }
	header nav #gnav li a { color: #fff; padding: 1rem; height: auto; justify-content: center; }
	header nav #gnav li a:after { content: none; }
	
	header nav #gnav li a:hover,header nav #gnav li.cur a { background: #000;}
	
	footer .copy { text-align: center; }
}


@media print, screen and (max-width: 1000px) {
  body { min-width:320px; }
}

@media print, screen and (max-width: 786px) {
	html { font-size:14px; }
	.pc { display:none; }
	
}

/* ============= 
	lower-page
==============*/
/* common */
p { margin-bottom:1em; }
p:last-child { margin-bottom:0; }
.modal-window >div { display: none; }
a.outlink:after{content:"";display:inline-block;width:12px;height:12px;background:url(/img/icon-link_tab.png) center / cover no-repeat;margin-left:5px;vertical-align:middle}
h4{ font-weight: bold;}
.h3-ttl { font-size: 1.25rem; font-weight: bold; }
.h4-ttl { font-size: 1.125rem; font-weight: bold; }
.common-btn a, .btn-group .btn_more { display: flex; border: solid 2px #000; color: #FFF; max-width: 480px; width: 100%; height: 60px; padding: 0 20px; justify-content: center; align-items: center; position: relative; z-index: 1; overflow: hidden; }
.common-btn a span{ color: #FFF; z-index: 1; }
.common-btn a:hover span{ color: #000; }
.common-btn a:hover { color: #000; opacity: 1; }
.common-btn a:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; z-index: 0; transition: .3s; }
.common-btn a:hover:before { left: 101%; }
.common-btn a .icon-plus { position: relative; padding-left: 1.75em; }
.common-btn a .icon-plus:before { content: "\f0fe"; font-family: "Font Awesome 5 Free"; font-weight: 900; margin-right: .75em; position: absolute; top: 0; left: 0; }
.lower-contents { background: #eee; font-size: 0.875rem; padding: 80px 0 100px; }
.lower-ttl { position: relative; overflow: hidden; background: #000; }
.lower-ttl > .con { display: flex; height: 200px; align-items: center; }
.lower-ttl .h2-ttl { color: #fff; position: relative; z-index: 1; }
.lower-ttl .h2-ttl i { font-style: normal; font-size: 3rem; letter-spacing: .05em; }
.lower-ttl .h2-ttl span { padding: 0 5px; }
.lower-ttl .h2-ttl span,.lower-ttl .h2-ttl small { font-size: 2rem;/*font-size: 0.875rem;*/ }
.lower-ttl #canvasWave { position: absolute; top: -30%; left: -25%; width: 150%; height: 300%; opacity: .8; }
.lower-contents .section + .section { margin-top: 80px; }



/* table */
.common-table { width: 100%; max-width: 960px; margin: auto; }
.common-table th { background: #d6d6d6; font-weight: bold; text-align: left; border-bottom: 1px solid #b0b0b0; white-space: nowrap; padding: 42px 30px 30px; width: 280px; vertical-align: top; }
.common-table td { background: #fff; border-bottom: 1px solid #b0b0b0; padding: 32px 30px 30px; vertical-align: middle; }

@media print, screen and (max-width: 1079px) {
  .common-table{width:100%;;margin:40px auto 30px;}
	.common-table th{width:230px;padding:27px 20px 20px}
	.common-table td{padding:20px 20px;}
}
@media print, screen and (max-width: 786px) {
	.common-table th{display:block;width:100%;padding:10px 20px;border-bottom:0;}
	.common-table td{display:block;width:100%;padding:15px 10px;}
	.common-table th .required{margin-top:0;}
}

/* .common-table dl */
.common-table h4 { margin-bottom: 5px;}
.common-table p + h4 { margin-top: 2em;}
.common-table dl { display: flex; position: relative; text-align: left; }
.common-table dl + dl { margin-top: 5px;}
.common-table dl dt { min-width: 4em;}
.common-table dl dd { margin-left: 1.5em;}
.common-table .dot-list { margin-bottom: 2em;}
.common-table .dot-list dl { justify-content: space-between;}
.common-table .dot-list dl + dl { margin-top: 0;}
.common-table .dot-list dl:before { content: ""; position: absolute; top: 1em; left: 0; margin-top: -3px; width: 100%; border-top: dotted 1px #999; }
.common-table .dot-list dl span { background: #FFF; position: relative; z-index: 0; display: inline-block;}
.common-table .dot-list dl dt span { padding-right: .25em;}
.common-table .dot-list dl dd span { padding-left: .25em;}
.common-table .dot-list dl dd { padding-left: .75em;}

@media print, screen and (max-width: 786px) {
	.common-table .dot-list dl { display: block;}
	.common-table .dot-list dl + dl { margin-top: 10px;}
	.common-table .dot-list dl:before { content: none; }
	.common-table .dot-list dl dt:before { content: "▼"; }
	.common-table .dot-list dl dd { padding-left: 0; margin-left:0;}
}

/* .article-list */
.article-list li { display: flex; justify-content: space-between; flex-wrap: wrap; padding: 40px 60px; background: #fff; box-shadow: 5px 5px 10px 0 rgba(0,0,0,.025); }
.article-list li + li { margin-top: 40px; }
.article-list li figure { width: 40%; }
.article-list li figure img { width: 100%; height: auto; }
.article-list li .txt { width: 57%; }
.article-list.business li .txt .desc { min-height: 3rem; margin: 2rem 0 4rem; }
.article-list.works li .txt .desc { margin: 1.5rem 0 0; }
.article-list.business li .bnr_link { margin-top: 1rem;}
.article-list.business li .bnr_link li{float:left;width:49%;max-width:180px;margin:0;padding:0;min-height:inherit}
.article-list.business li .bnr_link li + li{margin-left:2%}
.article-list li .common-btn { width: 100%; }

.h3-ttl + .tag-list{margin-top: 20px;}
.tag-list{margin-left:-8px;margin-bottom:20px}
.tag-list span{margin-left:8px;margin-bottom: 2px;display:inline-block;}
.tag-list span a{padding:5px 1em;background:#d4d4d4;display:inline-block;border-radius:20px;font-size:.85rem;}
.tag-list span a:hover {background: #e2e2e2;}
.tag-list span:not(.all) a:before{content:"#"}

.article-list.works{display:flex;flex-wrap:wrap}
.article-list.works li,.article-list.works li a{display:block;width:100%}
.article-list.works li{padding:0}
.article-list.works li figure,.article-list.works li .txt{width:100%;max-width:initial}
.article-list.works li figure{max-width: 504px;}
.works-detail .figure img {width: 100%; height: auto;}
.article-list.works li .txt{padding:20px 30px 25px;margin:0}
.article-list.works li .txt .h3-ttl{font-size:1.1rem}
.works-detail{background:#fff;max-width:640px;margin:auto;padding: 40px 30px 30px;width:90%;position: relative; align-items: center;}
.works-detail .figure{/*text-align:center*/}
.works-detail .tag-list { margin-top: 10px;}
.works-detail .txt .h3-ttl{text-align: center;}
.works-detail .txt .h3-ttl + .desc{margin: 20px 0;}
.works-detail .txt .detail{border-top:solid 1px #eee;margin:20px auto 0;padding-top:20px;text-align:center}
.works-detail .txt .detail table{display:inline-block;font-size: .96rem;word-break: break-all;}
.works-detail .txt .detail table th { text-align: right; padding: 4px 1em 4px 0; vertical-align: top;white-space: nowrap;}
.works-detail .txt .detail table th:after { content: "："; }
.works-detail .txt .detail table td { padding: 4px 0; text-align: left; }
.works-detail .txt .detail table td a { text-decoration: underline; }
.works-detail .txt .detail table td a:hover { opacity: .7; }
.works-detail .txt .comment { margin: 20px 0 0; border: solid 1px #fadecd; border-radius: 3px; background: #fdf6f2; padding: 12px 15px 20px; }
.works-detail .txt .comment .h4-ttl { color: #f48c4d; }
.works-detail .txt .comment .h4-ttl i { margin-right: .25em; }
.works-detail .txt .comment .h4-ttl small { font-size: 12px; }
.works-detail .txt .comment .inner-box { display: flex; margin-top: 15px; }
.works-detail .txt .comment .inner-box figure { width: 60px; height: 60px; border-radius: 100%; background-size: cover; background-repeat: no-repeat; background-position: center; }
.works-detail .txt .comment .inner-box .point .desc { margin: 0; padding: 15px 20px; font-size: .96rem; }
.works-detail .txt .comment .inner-box .point { background: #ffe2d2; border-radius: 10px; position: relative; margin-left: 5%; display: flex; align-items: center; }
.works-detail .txt .comment .inner-box .point:before { content: ""; position: absolute; top: 30px; left: -24px; margin-top: -10px; border: 10px solid transparent; border-right: 15px solid #ffe2d2; }
.works-detail .popup-modal-dismiss{margin:20px auto 0;display:flex;background:#000;color:#fff;max-width:420px;width:100%;height:60px;padding:0 20px;justify-content:center;align-items:center;position:relative;right:inherit;top:inherit;border-radius:0;font-size:.875rem;cursor:pointer}

/* about */
.about_btn a {margin: auto;padding: 0 60px;text-align: center;}
.about_btn a.pdf:after {content: "";position: absolute;top: 50%;left: 20px;width: 24px;height: 26px;transform: translateY(-50%);transition: .3s;background-repeat: no-repeat;
background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22a%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20117%20128%22%3E%3Crect%20x%3D%2220%22%20y%3D%224%22%20width%3D%2293%22%20height%3D%22120%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23fff%3B%20stroke-linecap%3Around%3B%20stroke-linejoin%3Around%3B%20stroke-width%3A8px%3B%22%2F%3E%3Crect%20y%3D%2242%22%20width%3D%2291%22%20height%3D%2244%22%20rx%3D%224%22%20ry%3D%224%22%20style%3D%22fill%3A%23fff%3B%22%2F%3E%3Cg%3E%3Cpath%20d%3D%22M14.67%2C51.42h8.26c5.58%2C0%2C9.86%2C1.94%2C9.86%2C7.89s-4.32%2C8.33-9.72%2C8.33h-3.37v8.94h-5.03v-25.16Zm8.06%2C12.24c3.47%2C0%2C5.13-1.46%2C5.13-4.35s-1.84-3.91-5.3-3.91h-2.86v8.26h3.03Z%22%2F%3E%3Cpath%20d%3D%22M36.78%2C51.42h6.9c7.68%2C0%2C12.44%2C3.98%2C12.44%2C12.48s-4.76%2C12.68-12.17%2C12.68h-7.17v-25.16Zm6.6%2C21.11c4.69%2C0%2C7.62-2.52%2C7.62-8.63s-2.92-8.46-7.62-8.46h-1.56v17.1h1.56Z%22%2F%3E%3Cpath%20d%3D%22M60.83%2C51.42h15.5v4.18h-10.47v6.56h8.94v4.22h-8.94v10.2h-5.03v-25.16Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');}
.about_btn a:hover:after {
background-image: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%3Csvg%20id%3D%22a%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20117%20128%22%3E%3Crect%20x%3D%2220%22%20y%3D%224%22%20width%3D%2293%22%20height%3D%22120%22%20style%3D%22fill%3Anone%3B%20stroke%3A%23000%3B%20stroke-linecap%3Around%3B%20stroke-linejoin%3Around%3B%20stroke-width%3A8px%3B%22%2F%3E%3Crect%20y%3D%2242%22%20width%3D%2291%22%20height%3D%2244%22%20rx%3D%224%22%20ry%3D%224%22%2F%3E%3Cg%3E%3Cpath%20d%3D%22M14.67%2C51.42h8.26c5.58%2C0%2C9.86%2C1.94%2C9.86%2C7.89s-4.32%2C8.33-9.72%2C8.33h-3.37v8.94h-5.03v-25.16Zm8.06%2C12.24c3.47%2C0%2C5.13-1.46%2C5.13-4.35s-1.84-3.91-5.3-3.91h-2.86v8.26h3.03Z%22%20style%3D%22fill%3A%23fff%3B%22%2F%3E%3Cpath%20d%3D%22M36.78%2C51.42h6.9c7.68%2C0%2C12.44%2C3.98%2C12.44%2C12.48s-4.76%2C12.68-12.17%2C12.68h-7.17v-25.16Zm6.6%2C21.11c4.69%2C0%2C7.62-2.52%2C7.62-8.63s-2.92-8.46-7.62-8.46h-1.56v17.1h1.56Z%22%20style%3D%22fill%3A%23fff%3B%22%2F%3E%3Cpath%20d%3D%22M60.83%2C51.42h15.5v4.18h-10.47v6.56h8.94v4.22h-8.94v10.2h-5.03v-25.16Z%22%20style%3D%22fill%3A%23fff%3B%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E');}

@media print,screen and (min-width: 999px) {	
.works-detail{max-width:1260px;display:flex;flex-wrap:wrap}
.works-detail .figure{width:56%}
.works-detail .txt{width:40%;margin-left:4%}
.works-detail .txt .h3-ttl {text-align: left;}
.works-detail .txt .detail table {display: block;}

.article-list.works li{margin-top:0;margin-left:3%;width:31.3333%}
.article-list.works li:nth-of-type(n+4){margin-top:40px}
.article-list.works li:nth-of-type(3n-2){margin-left:0}
}

@media print,screen and (max-width: 998px) and (min-width: 769px) {
.article-list.works li{margin-top:0;margin-left:3%;width:48.5%}
.article-list.works li:nth-of-type(n+3){margin-top:30px}
.article-list.works li:nth-of-type(odd){margin-left:0}
}



/* .privacy-list */
.privacy-list{margin-top:20px;padding: 20px; background: #fff; box-shadow: 5px 5px 10px 0 rgb(0 0 0 / 3%);}
.privacy-list dl dt{font-size: 1.25rem;font-weight: bold;}
.privacy-list dl dd{margin: 20px 0;}




@media print,screen and (max-width: 768px){
.works-detail{padding:10px;margin-top:20px}
.works-detail .txt{margin-top:20px}
.works-detail .txt .h3-ttl{font-size:14px}
.works-detail .txt .h3-ttl + .desc{margin:10px 0;font-size:12px}
.works-detail .txt .detail{margin:10px auto 0;padding-top:10px}
.works-detail .txt .detail table{font-size:12px}
.works-detail .txt .comment{margin:10px 0 0;padding:5px}
.works-detail .txt .comment .inner-box{margin-top:10px}
.works-detail .txt .comment .inner-box figure{width:60px;height:60px}
.works-detail .txt .comment .inner-box .point:before{top:30px;left:-20px;border-right:10px solid #ffe2d2}
.works-detail .txt .comment .inner-box .point .desc{padding:10px;font-size:12px}
.mfp-arrow { width: 20px; height: 30px;}
.mfp-arrow:before, .mfp-arrow:after {margin-left: 0;}
.mfp-arrow-left:after {margin-left: 0;}
.mfp-arrow-right:after {margin-left: 0;}
}

/* modal */
.modaal-content-container { text-align: center;}
.modaal-content-container figure { max-width: 600px; margin: 0 auto 1em;}
.modaal-content-container .desc { margin: 1.5em 0 3em;}
.modaal-content-container figure + .h3-ttl + .desc { margin: .5em 0 2em;}
.modaal-content-container .common-btn{ display: flex; justify-content: center;}
.modaal-content-container .common-btn button.modaal-close { display: flex; background: #000; color: #fff; max-width: 420px; width: 100%; height: 60px; padding: 0 20px; justify-content: center; align-items: center; position: relative; right: inherit; top: inherit; border-radius: 0; font-size: 0.875rem; }
.modaal-content-container .common-btn button.modaal-close:before,.modaal-content-container .common-btn button.modaal-close:after { content: none; }
.modaal-content-container .common-btn button.modaal-close span { position: inherit!important; width: auto!important; height: auto!important; overflow: visible; font-family: 'Noto Sans JP', sans-serif; }

/* modal-garally */
button.mfp-close{position:absolute;right:-20px;top:-20px;color:#fff;cursor:pointer;opacity:1;width:50px;height:50px;background:#000;border-radius:100%;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;z-index:1000000000}
button.mfp-close:before,button.mfp-close:after{display:block;content:" ";position:absolute;top:14px;left:23px;width:4px;height:22px;border-radius:4px;background:#fff;-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}
button.mfp-close:before{-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}
button.mfp-close:after{-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}

.mfp-bg{-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;transition:all .5s ease-out}
.mfp-fade.mfp-bg{opacity:0;-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;transition:all .5s ease-out}
.mfp-fade.mfp-bg.mfp-ready{opacity:.8}
.mfp-fade.mfp-bg.mfp-removing{opacity:0}
.mfp-fade.mfp-wrap .mfp-content{opacity:0;-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;transition:all .5s ease-out}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content{opacity:1}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content{opacity:0}
.mfp-arrow-left:before{border:none;margin:0}
.mfp-arrow-right:before{border:none;margin:0}

/*.works-detail .figure{min-height: 400px;}*/
.works-detail .figure > ul{transition: 2s;}
.works-detail .figure > ul.slick-initialized{ opacity: 1!important;}

.works-detail .next.slick-arrow,.works-detail .prev.slick-arrow{position:absolute;top:50%;right:-20px;margin-top:-20px;width:40px;height:40px;background:#000;border-radius:100%;cursor:pointer;z-index:1}
.works-detail .prev.slick-arrow{left:-20px}
.works-detail .next.slick-arrow:after,.works-detail .prev.slick-arrow:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;margin-top:-5px;margin-left:-7px;border-top:3px solid #fff;border-right:3px solid #fff;-webkit-transform:rotate(45deg);transform:rotate(45deg)}
.works-detail .prev.slick-arrow:after{margin-left:-4px;-webkit-transform:rotate(225deg);transform:rotate(225deg);z-index:1}

@-webkit-keyframes fadeIn {
0%{opacity:0}
100%{opacity:1}
}
@-moz-keyframes fadeIn {
0%{opacity:0}
100%{opacity:1}
}
@-o-keyframes fadeIn {
0%{opacity:0}
100%{opacity:1}
}
@keyframes fadeIn {
0%{opacity:0}
100%{opacity:1}
}
.mfp-content .works-detail{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn;-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-ms-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-ms-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both}

@media print, screen and (max-width: 786px) {
.lower-ttl > .con { height: 120px; }
.lower-ttl .h2-ttl i { font-size: 2.5rem; }
.lower-contents { font-size: 1rem; padding: 40px 0 60px; }
.lower-contents .section + .section { margin-top: 40px; }
.article-list li { padding: 20px 20px 25px; }
.article-list li figure { width: 100%; max-width: 420px; margin: auto; }
.article-list li .txt { width: 100%; margin-top: 2rem; }
}

/* common-list */
.article-list .common-list{margin:30px 0}
.common-list li{padding:0;padding-left:15px;position:relative;box-shadow:none;display:block}
.common-list li:before{content:"";position:absolute;top:.5em;left:0;display:inline-block;width:6px;height:6px;background:#797979;}
.common-list li + li{margin-top:10px}

/* wp-pagenavi */
.wp-pagenavi{margin:60px auto 0;width:auto;display:flex;justify-content:center;flex-wrap: wrap;font-family:'Oswald',sans-serif}
.wp-pagenavi > a,.wp-pagenavi > span{display:inline-block;padding:.4em 2.5em;line-height:1;margin:4px;border:solid 1px #000;overflow:auto}
.wp-pagenavi > a:hover,.wp-pagenavi > .current{background:#000;color:#fff}

/* contact */
.mt40 { margin-top: 40px; }
#contact .contact-box { background: #FFF; padding: 20px 20px 40px; max-width: 1000px; width: 90%; margin: auto; }
#contact .common-table { margin: auto; }
#contact .common-table th, #contact .common-table td { background: none; border-color: #eee; }
span.required { background: #f20101; color: #FFF; font-size: 12px; display: inline-block; padding: 0 10px; border-radius: 3px; margin-right: .5em; }
span.no-required { background: #eeeeee; color: #a2a2a2; font-size: 12px; display: inline-block; padding: 0 10px; border-radius: 3px; margin-right: .5em; }
input[type="text"],input[type="num"],input[type="tel"],input[type="email"],input[type="password"],input[type="date"],input[type="month"],input[type="week"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="url"],input[type="search"],select,textarea { border: none; border-radius: 3px; padding: 10px; font-size: 1rem; font-family: inherit; background: #f5f5f5; }
textarea { width: 100%; resize: vertical; }
select { -webkit-appearance: button; appearance: button; padding: 6px 20px; }
input.input-lg { width: 100%; }
input.input-md { width: 80%; }
input.input-sm { width: 50%; }
input.input-horizontal { width: 40%; margin-right: 5%; float: left; }
form .radio { display: inline-block; cursor: pointer; position: relative; padding-left: 22px; margin-right: 15px; }
form .radio input[type="radio"] { display: none; -webkit-appearance: none; opacity: 0; }
form .radio::before { content: ""; display: inline-block; width: 14px; height: 14px; border: 1px solid #aaa; margin-right: 10px; vertical-align: middle; position: absolute; top: 2px; left: 0; z-index: 1; border-radius: 100%; }
form .radio input:checked + span::before { content: ""; display: block; width: 8px; height: 8px; background: #0e96de; position: absolute; top: 6px; left: 4px; z-index: 2; border-radius: 100%; }
form span.required { display: inline-block; font-size: 0.8em; color: #fff; background: #eb3f3c; padding: 2px 5px; border-radius: 3px; margin-left: 10px; }
.btn-group { margin: 40px 0 0; display: flex; justify-content: center; }
.btn-group .btn_more { width: 100%; margin: 20px; background: #000; font-size: 1rem; letter-spacing: 0.02em; cursor: pointer; font-family: 'Noto Sans JP', sans-serif; white-space: nowrap; transition: .3s; }
.btn-group .btn_more.form-back-btn { background: #7b7b7b; border: solid 2px #7b7b7b;}
.btn-group .btn_more:hover { background: #333; border: solid 2px #333; }
#contact table.address { width: 100%; }
#contact table.address th { background: #fff; color: #111; white-space: nowrap; }
#contact table.address th,#contact table.address td { border: 0; font-size: 0.9rem; padding: 5px 10px; vertical-align: middle; }
#contact .pagination { max-width: 1000px; width: 90%; margin: 0 auto 40px; overflow: hidden; display: flex; }
#contact .pagination li { width: 33.33%; text-align: center; font-size: 1rem; padding: 1em 20px; letter-spacing: 0.05em; border: 2px solid #c5c5c5; background: #FFF; color: #333; position: relative; white-space: nowrap; }
#contact .pagination li + li:before { content: "\f061"; font-family: "Font Awesome 5 Free"; font-weight: 900; margin-right: .75em; position: absolute; top: 50%; left: -2em; margin-top: -.75em; }
#contact .pagination li + li { margin-left: 3em; }
#contact .pagination li.active { border-color: #000000; color: #000000; }
#contact .pagination li strong { font-weight: bold; }



/* ======================================================================================================================= */
/* for tablet */
/* ======================================================================================================================= */
@media screen and (max-width:1039px){
	input.input-horizontal {
    float: none;
}

}

/* ======================================================================================================================= */
/* for sp */
/* ======================================================================================================================= */
@media screen and (max-width:786px){
	#contact .common-table td { padding: 0 10px 15px;}
	#contact .pagination li strong { display: block; }
	#contact .pagination li .no-sp { display: none; }
}

@media screen and (max-width:599px){
  /* -------------------------------------------------- */
  /* #contact */
  /* -------------------------------------------------- */
	#contact .contact-box { width: 100%;}
	  #contact .pagination{margin:20px auto 0;}
	  #contact .pagination { margin: 0; display: none;}
	  #contact .pagination li span{font-size:1rem;padding-right:10px;}
	  #contact .table{ margin-top: 20px; border-bottom:0;}
	  #contact .table .required{margin-top:-2px;}
	  #contact .table > tbody > tr > th{display:block;width:100%;}
	  #contact .table > tbody > tr > td{display:block;width:100%;overflow:hidden;padding:10px;}
	  #contact table.address th, #contact table.address td{padding:5px;}
	input.input-sm { width: 100%;}
	.btn-group { margin: 20px 20px 0; flex-wrap: wrap;}
  form .btn-group .btn_more { margin: 10px 0;}
}

/* ======================================================================================================================= */
/* for IE */
/* ======================================================================================================================= */
@media screen\0 {
}