@charset 'UTF-8';

/******************************************/
/* External CSS file                     */
/******************************************/
@import url(drawer-menu.css);
@import url(pagetop-scroll.css);
@import url(animate.min.css);
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap');

/******************************************/
/* Reset                                 */
/******************************************/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}body{-webkit-text-size-adjust:none}

/* Box Model */

*, *:before, *:after{
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}

/* Container */

body{
font-family: 'Noto Sans CJK JP','Noto Sans JP',"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro",'メイリオ',Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

.container{
margin-left: auto;
margin-right: auto;
position:relative;
}

/* Grid */

.row > *{
padding: 50px 0 0 50px;
float: left;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}
.row + .row > *{ padding-top: 50px;}
.row{
  margin-left: -50px;
  width: 90%;
  margin: auto;
}

/* Rows */

.row:after{
content: '';
display: block;
clear: both;
height: 0;
}

.row:first-child > *{ padding-top: 0;}
.row > *{ padding-top: 0;}

/* Modifiers */

/* Flush */
.row.flush{ margin-left: 0;}
.row.flush > *{ padding: 0;}
/* Quarter */
.row.quarter > *{ padding: 12.5px 0 0 12.5px;}
.row.quarter + .row.quarter > *{ padding-top: 12.5px;}
.row.quarter{ margin-left: -12.5px;}
/* Half */
.row.half > *{ padding: 25px 0 0 25px;}
.row.half + .row.half > *{ padding-top: 25px;}
.row.half{ margin-left: -25px;}
/* One and (a) Half */
.row.oneandhalf > *{ padding: 75px 0 0 75px;}
.row.oneandhalf + .row.oneandhalf > *{ padding-top: 75px;}
.row.oneandhalf{ margin-left: -75px;}
/* Double */
.row.double > *{ padding: 100px 0 0 100px;}
.row.double + .row.double > *{ padding-top: 100px;}
.row.double{ margin-left: -100px;}


/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
border-radius: 0;
-webkit-box-sizing: content-box;
-webkit-appearance: button;
appearance: button;
border: none;
box-sizing: border-box;
cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
outline-offset: -2px;
}

/******************************************/
/* Basic                                 */
/******************************************/

@font-face{font-family:'FontAwesome';src:url('../font/fontawesome-webfont.eot?v=4.0.1');src:url('../font/fontawesome-webfont.eot?#iefix&v=4.0.1') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=4.0.1') format('woff'),url('../font/fontawesome-webfont.ttf?v=4.0.1') format('truetype'),url('../font/fontawesome-webfont.svg?v=4.0.1#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}

body{
background: #ededed;
}

input,textarea,select{
font-size: 13pt;
font-weight: 300;
line-height: 1.75em;
color: #393939;
}

h1,h2,h3,h4,h5,h6{
font-weight: bold;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a{
color: inherit;
text-decoration: none;
}

/* Change this to whatever font weight/color pairing is most suitable */
strong, b{
font-weight: bold;
color: #000000;
}

em, i{
font-style: italic;
}

/* Don't forget to set this to something that matches the design */
a{
text-decoration: none;
color: #ef622e;
}

a:hover{
text-decoration: underline;
}

sub{
position: relative;
top: 0.5em;
font-size: 0.8em;
}

sup{
position: relative;
top: -0.5em;
font-size: 0.8em;
}

hr{
border: 0;
border-top: solid 1px #ddd;
}

blockquote{
border-left: solid 0.5em #ddd;
padding: 1em 0 1em 2em;
font-style: italic;
}

p, ul, ol, dl, table{
margin-bottom: 1em;
}

header{
margin-bottom: 2em;
line-height: 1;
}

#cheader header{
margin-bottom: 0;
}

#cheader header img{
width:100%;
}

header h2{
font-size: 2em;
}

header .byline{
display: block;
margin: 0;
padding: 0;
text-transform: uppercase;
font-size: 1.4em;
}

footer{
margin-top: 1em;
}

br.clear{
clear: both;
}

br.pc{
display:none;
}
br.mo{
display:inline;
}
/* Sections/Articles */

section,
article{
margin-bottom: 4em;
}

section > :last-child,
article > :last-child{
margin-bottom: 0;
}

section:last-child,
article:last-child{
margin-bottom: 0;
}


/* Images */

.image{
display: inline-block;
}

.image img{
display: block;
width: 100%;
}

.image.full{
display: block;
width: 100%;
margin-bottom: 2em;
}

.image.left{
float: left;
margin: 0 2em 2em 0;
}

.image.centered{
display: block;
margin: 0 0 2em 0;
}

.image.centered img{
margin: 0 auto;
width: auto;
}

/* Lists */

ul.default{
list-style: none;
margin: 0;
padding: 0;
}

ul.default li{
padding: 0.80em 0em;
border-top: 1px solid;
border-color: rgba(255,255,255,.2);
}

ul.default li:first-child{
border-top: none;
}

/* Buttons */

.button{
position: relative;
display: inline-block;
margin-top: 0.5em;
padding: 0.5em 2em;
background: #000;
border-radius: 6px;
text-decoration: none;
text-transform: uppercase;
font-size: 1.1em;
color: #FFF;
-moz-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-webkit-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-o-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
-ms-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
cursor: pointer;
}

.button.arrow{
padding-right: 50px;
}

.button:hover{
background: #cc0000;
color: #FFF;
-webkit-transition: all .5s;
transition: all .5s;
text-decoration: none;
}

.button.arrow:after{
position:absolute;
content:"";
top:50%;
right:14px;
width:20px;
height:20px;
margin-top:-10px;
background-position:top left;
background-repeat:no-repeat;
background-size:20px 20px;
background-image:url(../img/icon_arrow_w.svg);
}

.medium{
padding: 1em 2em;
font-size: 1.2em;
width: 640px;
}

.button.arrow.medium:after{
position:absolute;
content:"";
top:50%;
right:14px;
width:30px;
height:30px;
margin-top:-15px;
background-position:top left;
background-repeat:no-repeat;
background-size:30px 30px;
background-image:url(../img/icon_arrow_w.svg);
}

.button.arrow.medium:after{
right:20px;
}

section figure img{ width:100%;}

/******************************************/
/* Icons                                  */
/* Powered by Font Awesome by Dave Gandy | http://fontawesome.io */
/* Licensed under the SIL OFL 1.1 (font), MIT (CSS) */
/******************************************/

.fa{
text-decoration: none;
}

.fa:before{
display:inline-block;
font-family: FontAwesome;
font-size: 1.25em;
text-decoration: none;
font-style: normal;
font-weight: normal;
line-height: 1;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
}

.fa-lg{font-size:1.3333333333333333em;line-height:.75em;vertical-align:-15%}
.fa-2x{font-size:2em}
.fa-3x{font-size:3em}
.fa-4x{font-size:4em}
.fa-5x{font-size:5em}
.fa-fw{width:1.2857142857142858em;text-align:center}
.fa-ul{padding-left:0;margin-left:2.142857142857143em;list-style-type:none}.fa-ul>li{position:relative}
.fa-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;top:.14285714285714285em;text-align:center}.fa-li.fa-lg{left:-1.8571428571428572em}
.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}
.pull-right{float:right}
.pull-left{float:left}
.fa.pull-left{margin-right:.3em}
.fa.pull-right{margin-left:.3em}
.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}
@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)} 100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)} 100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)} 100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)} 100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)} 100%{transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}
.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}
.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}
.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}
.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}
.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}
.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}
.fa-stack-1x{line-height:inherit}
.fa-stack-2x{font-size:2em}
.fa-inverse{color:#fff}
.fa-glass:before{content:"\f000"}
.fa-music:before{content:"\f001"}
.fa-search:before{content:"\f002"}
.fa-envelope-o:before{content:"\f003"}
.fa-heart:before{content:"\f004"}
.fa-star:before{content:"\f005"}
.fa-star-o:before{content:"\f006"}
.fa-user:before{content:"\f007"}
.fa-film:before{content:"\f008"}
.fa-th-large:before{content:"\f009"}
.fa-th:before{content:"\f00a"}
.fa-th-list:before{content:"\f00b"}
.fa-check:before{content:"\f00c"}
.fa-times:before{content:"\f00d"}
.fa-search-plus:before{content:"\f00e"}
.fa-search-minus:before{content:"\f010"}
.fa-power-off:before{content:"\f011"}
.fa-signal:before{content:"\f012"}
.fa-gear:before,.fa-cog:before{content:"\f013"}
.fa-trash-o:before{content:"\f014"}
.fa-home:before{content:"\f015"}
.fa-file-o:before{content:"\f016"}
.fa-clock-o:before{content:"\f017"}
.fa-road:before{content:"\f018"}
.fa-download:before{content:"\f019"}
.fa-arrow-circle-o-down:before{content:"\f01a"}
.fa-arrow-circle-o-up:before{content:"\f01b"}
.fa-inbox:before{content:"\f01c"}
.fa-play-circle-o:before{content:"\f01d"}
.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}
.fa-refresh:before{content:"\f021"}
.fa-list-alt:before{content:"\f022"}
.fa-lock:before{content:"\f023"}
.fa-flag:before{content:"\f024"}
.fa-headphones:before{content:"\f025"}
.fa-volume-off:before{content:"\f026"}
.fa-volume-down:before{content:"\f027"}
.fa-volume-up:before{content:"\f028"}
.fa-qrcode:before{content:"\f029"}
.fa-barcode:before{content:"\f02a"}
.fa-tag:before{content:"\f02b"}
.fa-tags:before{content:"\f02c"}
.fa-book:before{content:"\f02d"}
.fa-bookmark:before{content:"\f02e"}
.fa-print:before{content:"\f02f"}
.fa-camera:before{content:"\f030"}
.fa-font:before{content:"\f031"}
.fa-bold:before{content:"\f032"}
.fa-italic:before{content:"\f033"}
.fa-text-height:before{content:"\f034"}
.fa-text-width:before{content:"\f035"}
.fa-align-left:before{content:"\f036"}
.fa-align-center:before{content:"\f037"}
.fa-align-right:before{content:"\f038"}
.fa-align-justify:before{content:"\f039"}
.fa-list:before{content:"\f03a"}
.fa-dedent:before,.fa-outdent:before{content:"\f03b"}
.fa-indent:before{content:"\f03c"}
.fa-video-camera:before{content:"\f03d"}
.fa-picture-o:before{content:"\f03e"}
.fa-pencil:before{content:"\f040"}
.fa-map-marker:before{content:"\f041"}
.fa-adjust:before{content:"\f042"}
.fa-tint:before{content:"\f043"}
.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}
.fa-share-square-o:before{content:"\f045"}
.fa-check-square-o:before{content:"\f046"}
.fa-move:before{content:"\f047"}
.fa-step-backward:before{content:"\f048"}
.fa-fast-backward:before{content:"\f049"}
.fa-backward:before{content:"\f04a"}
.fa-play:before{content:"\f04b"}
.fa-pause:before{content:"\f04c"}
.fa-stop:before{content:"\f04d"}
.fa-forward:before{content:"\f04e"}
.fa-fast-forward:before{content:"\f050"}
.fa-step-forward:before{content:"\f051"}
.fa-eject:before{content:"\f052"}
.fa-chevron-left:before{content:"\f053"}
.fa-chevron-right:before{content:"\f054"}
.fa-plus-circle:before{content:"\f055"}
.fa-minus-circle:before{content:"\f056"}
.fa-times-circle:before{content:"\f057"}
.fa-check-circle:before{content:"\f058"}
.fa-question-circle:before{content:"\f059"}
.fa-info-circle:before{content:"\f05a"}
.fa-crosshairs:before{content:"\f05b"}
.fa-times-circle-o:before{content:"\f05c"}
.fa-check-circle-o:before{content:"\f05d"}
.fa-ban:before{content:"\f05e"}
.fa-arrow-left:before{content:"\f060"}
.fa-arrow-right:before{content:"\f061"}
.fa-arrow-up:before{content:"\f062"}
.fa-arrow-down:before{content:"\f063"}
.fa-mail-forward:before,.fa-share:before{content:"\f064"}
.fa-resize-full:before{content:"\f065"}
.fa-resize-small:before{content:"\f066"}
.fa-plus:before{content:"\f067"}
.fa-minus:before{content:"\f068"}
.fa-asterisk:before{content:"\f069"}
.fa-exclamation-circle:before{content:"\f06a"}
.fa-gift:before{content:"\f06b"}
.fa-leaf:before{content:"\f06c"}
.fa-fire:before{content:"\f06d"}
.fa-eye:before{content:"\f06e"}
.fa-eye-slash:before{content:"\f070"}
.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}
.fa-plane:before{content:"\f072"}
.fa-calendar:before{content:"\f073"}
.fa-random:before{content:"\f074"}
.fa-comment:before{content:"\f075"}
.fa-magnet:before{content:"\f076"}
.fa-chevron-up:before{content:"\f077"}
.fa-chevron-down:before{content:"\f078"}
.fa-retweet:before{content:"\f079"}
.fa-shopping-cart:before{content:"\f07a"}
.fa-folder:before{content:"\f07b"}
.fa-folder-open:before{content:"\f07c"}
.fa-resize-vertical:before{content:"\f07d"}
.fa-resize-horizontal:before{content:"\f07e"}
.fa-bar-chart-o:before{content:"\f080"}
.fa-twitter-square:before{content:"\f081"}
.fa-facebook-square:before{content:"\f082"}
.fa-camera-retro:before{content:"\f083"}
.fa-key:before{content:"\f084"}
.fa-gears:before,.fa-cogs:before{content:"\f085"}
.fa-comments:before{content:"\f086"}
.fa-thumbs-o-up:before{content:"\f087"}
.fa-thumbs-o-down:before{content:"\f088"}
.fa-star-half:before{content:"\f089"}
.fa-heart-o:before{content:"\f08a"}
.fa-sign-out:before{content:"\f08b"}
.fa-linkedin-square:before{content:"\f08c"}
.fa-thumb-tack:before{content:"\f08d"}
.fa-external-link:before{content:"\f08e"}
.fa-sign-in:before{content:"\f090"}
.fa-trophy:before{content:"\f091"}
.fa-github-square:before{content:"\f092"}
.fa-upload:before{content:"\f093"}
.fa-lemon-o:before{content:"\f094"}
.fa-phone:before{content:"\f095"}
.fa-square-o:before{content:"\f096"}
.fa-bookmark-o:before{content:"\f097"}
.fa-phone-square:before{content:"\f098"}
.fa-twitter:before{content:"\f099"}
.fa-facebook:before{content:"\f09a"}
.fa-github:before{content:"\f09b"}
.fa-unlock:before{content:"\f09c"}
.fa-credit-card:before{content:"\f09d"}
.fa-rss:before{content:"\f09e"}
.fa-hdd-o:before{content:"\f0a0"}
.fa-bullhorn:before{content:"\f0a1"}
.fa-bell:before{content:"\f0f3"}
.fa-certificate:before{content:"\f0a3"}
.fa-hand-o-right:before{content:"\f0a4"}
.fa-hand-o-left:before{content:"\f0a5"}
.fa-hand-o-up:before{content:"\f0a6"}
.fa-hand-o-down:before{content:"\f0a7"}
.fa-arrow-circle-left:before{content:"\f0a8"}
.fa-arrow-circle-right:before{content:"\f0a9"}
.fa-arrow-circle-up:before{content:"\f0aa"}
.fa-arrow-circle-down:before{content:"\f0ab"}
.fa-globe:before{content:"\f0ac"}
.fa-wrench:before{content:"\f0ad"}
.fa-tasks:before{content:"\f0ae"}
.fa-filter:before{content:"\f0b0"}
.fa-briefcase:before{content:"\f0b1"}
.fa-fullscreen:before{content:"\f0b2"}
.fa-group:before{content:"\f0c0"}
.fa-chain:before,.fa-link:before{content:"\f0c1"}
.fa-cloud:before{content:"\f0c2"}
.fa-flask:before{content:"\f0c3"}
.fa-cut:before,.fa-scissors:before{content:"\f0c4"}
.fa-copy:before,.fa-files-o:before{content:"\f0c5"}
.fa-paperclip:before{content:"\f0c6"}
.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}
.fa-square:before{content:"\f0c8"}
.fa-reorder:before{content:"\f0c9"}
.fa-list-ul:before{content:"\f0ca"}
.fa-list-ol:before{content:"\f0cb"}
.fa-strikethrough:before{content:"\f0cc"}
.fa-underline:before{content:"\f0cd"}
.fa-table:before{content:"\f0ce"}
.fa-magic:before{content:"\f0d0"}
.fa-truck:before{content:"\f0d1"}
.fa-pinterest:before{content:"\f0d2"}
.fa-pinterest-square:before{content:"\f0d3"}
.fa-google-plus-square:before{content:"\f0d4"}
.fa-google-plus:before{content:"\f0d5"}
.fa-money:before{content:"\f0d6"}
.fa-caret-down:before{content:"\f0d7"}
.fa-caret-up:before{content:"\f0d8"}
.fa-caret-left:before{content:"\f0d9"}
.fa-caret-right:before{content:"\f0da"}
.fa-columns:before{content:"\f0db"}
.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}
.fa-sort-down:before,.fa-sort-asc:before{content:"\f0dd"}
.fa-sort-up:before,.fa-sort-desc:before{content:"\f0de"}
.fa-envelope:before{content:"\f0e0"}
.fa-linkedin:before{content:"\f0e1"}
.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}
.fa-legal:before,.fa-gavel:before{content:"\f0e3"}
.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}
.fa-comment-o:before{content:"\f0e5"}
.fa-comments-o:before{content:"\f0e6"}
.fa-flash:before,.fa-bolt:before{content:"\f0e7"}
.fa-sitemap:before{content:"\f0e8"}
.fa-umbrella:before{content:"\f0e9"}
.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}
.fa-lightbulb-o:before{content:"\f0eb"}
.fa-exchange:before{content:"\f0ec"}
.fa-cloud-download:before{content:"\f0ed"}
.fa-cloud-upload:before{content:"\f0ee"}
.fa-user-md:before{content:"\f0f0"}
.fa-stethoscope:before{content:"\f0f1"}
.fa-suitcase:before{content:"\f0f2"}
.fa-bell-o:before{content:"\f0a2"}
.fa-coffee:before{content:"\f0f4"}
.fa-cutlery:before{content:"\f0f5"}
.fa-file-text-o:before{content:"\f0f6"}
.fa-building:before{content:"\f0f7"}
.fa-hospital:before{content:"\f0f8"}
.fa-ambulance:before{content:"\f0f9"}
.fa-medkit:before{content:"\f0fa"}
.fa-fighter-jet:before{content:"\f0fb"}
.fa-beer:before{content:"\f0fc"}
.fa-h-square:before{content:"\f0fd"}
.fa-plus-square:before{content:"\f0fe"}
.fa-angle-double-left:before{content:"\f100"}
.fa-angle-double-right:before{content:"\f101"}
.fa-angle-double-up:before{content:"\f102"}
.fa-angle-double-down:before{content:"\f103"}
.fa-angle-left:before{content:"\f104"}
.fa-angle-right:before{content:"\f105"}
.fa-angle-up:before{content:"\f106"}
.fa-angle-down:before{content:"\f107"}
.fa-desktop:before{content:"\f108"}
.fa-laptop:before{content:"\f109"}
.fa-tablet:before{content:"\f10a"}
.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}
.fa-circle-o:before{content:"\f10c"}
.fa-quote-left:before{content:"\f10d"}
.fa-quote-right:before{content:"\f10e"}
.fa-spinner:before{content:"\f110"}
.fa-circle:before{content:"\f111"}
.fa-mail-reply:before,.fa-reply:before{content:"\f112"}
.fa-github-alt:before{content:"\f113"}
.fa-folder-o:before{content:"\f114"}
.fa-folder-open-o:before{content:"\f115"}
.fa-expand-o:before{content:"\f116"}
.fa-collapse-o:before{content:"\f117"}
.fa-smile-o:before{content:"\f118"}
.fa-frown-o:before{content:"\f119"}
.fa-meh-o:before{content:"\f11a"}
.fa-gamepad:before{content:"\f11b"}
.fa-keyboard-o:before{content:"\f11c"}
.fa-flag-o:before{content:"\f11d"}
.fa-flag-checkered:before{content:"\f11e"}
.fa-terminal:before{content:"\f120"}
.fa-code:before{content:"\f121"}
.fa-reply-all:before{content:"\f122"}
.fa-mail-reply-all:before{content:"\f122"}
.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}
.fa-location-arrow:before{content:"\f124"}
.fa-crop:before{content:"\f125"}
.fa-code-fork:before{content:"\f126"}
.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}
.fa-question:before{content:"\f128"}
.fa-info:before{content:"\f129"}
.fa-exclamation:before{content:"\f12a"}
.fa-superscript:before{content:"\f12b"}
.fa-subscript:before{content:"\f12c"}
.fa-eraser:before{content:"\f12d"}
.fa-puzzle-piece:before{content:"\f12e"}
.fa-microphone:before{content:"\f130"}
.fa-microphone-slash:before{content:"\f131"}
.fa-shield:before{content:"\f132"}
.fa-calendar-o:before{content:"\f133"}
.fa-fire-extinguisher:before{content:"\f134"}
.fa-rocket:before{content:"\f135"}
.fa-maxcdn:before{content:"\f136"}
.fa-chevron-circle-left:before{content:"\f137"}
.fa-chevron-circle-right:before{content:"\f138"}
.fa-chevron-circle-up:before{content:"\f139"}
.fa-chevron-circle-down:before{content:"\f13a"}
.fa-html5:before{content:"\f13b"}
.fa-css3:before{content:"\f13c"}
.fa-anchor:before{content:"\f13d"}
.fa-unlock-o:before{content:"\f13e"}
.fa-bullseye:before{content:"\f140"}
.fa-ellipsis-horizontal:before{content:"\f141"}
.fa-ellipsis-vertical:before{content:"\f142"}
.fa-rss-square:before{content:"\f143"}
.fa-play-circle:before{content:"\f144"}
.fa-ticket:before{content:"\f145"}
.fa-minus-square:before{content:"\f146"}
.fa-minus-square-o:before{content:"\f147"}
.fa-level-up:before{content:"\f148"}
.fa-level-down:before{content:"\f149"}
.fa-check-square:before{content:"\f14a"}
.fa-pencil-square:before{content:"\f14b"}
.fa-external-link-square:before{content:"\f14c"}
.fa-share-square:before{content:"\f14d"}
.fa-compass:before{content:"\f14e"}
.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}
.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}
.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}
.fa-euro:before,.fa-eur:before{content:"\f153"}
.fa-gbp:before{content:"\f154"}
.fa-dollar:before,.fa-usd:before{content:"\f155"}
.fa-rupee:before,.fa-inr:before{content:"\f156"}
.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}
.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}
.fa-won:before,.fa-krw:before{content:"\f159"}
.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}
.fa-file:before{content:"\f15b"}
.fa-file-text:before{content:"\f15c"}
.fa-sort-alpha-asc:before{content:"\f15d"}
.fa-sort-alpha-desc:before{content:"\f15e"}
.fa-sort-amount-asc:before{content:"\f160"}
.fa-sort-amount-desc:before{content:"\f161"}
.fa-sort-numeric-asc:before{content:"\f162"}
.fa-sort-numeric-desc:before{content:"\f163"}
.fa-thumbs-up:before{content:"\f164"}
.fa-thumbs-down:before{content:"\f165"}
.fa-youtube-square:before{content:"\f166"}
.fa-youtube:before{content:"\f167"}
.fa-xing:before{content:"\f168"}
.fa-xing-square:before{content:"\f169"}
.fa-youtube-play:before{content:"\f16a"}
.fa-dropbox:before{content:"\f16b"}
.fa-stack-overflow:before{content:"\f16c"}
.fa-instagram:before{content:"\f16d"}
.fa-flickr:before{content:"\f16e"}
.fa-adn:before{content:"\f170"}
.fa-bitbucket:before{content:"\f171"}
.fa-bitbucket-square:before{content:"\f172"}
.fa-tumblr:before{content:"\f173"}
.fa-tumblr-square:before{content:"\f174"}
.fa-long-arrow-down:before{content:"\f175"}
.fa-long-arrow-up:before{content:"\f176"}
.fa-long-arrow-left:before{content:"\f177"}
.fa-long-arrow-right:before{content:"\f178"}
.fa-apple:before{content:"\f179"}
.fa-windows:before{content:"\f17a"}
.fa-android:before{content:"\f17b"}
.fa-linux:before{content:"\f17c"}
.fa-dribbble:before{content:"\f17d"}
.fa-skype:before{content:"\f17e"}
.fa-foursquare:before{content:"\f180"}
.fa-trello:before{content:"\f181"}
.fa-female:before{content:"\f182"}
.fa-male:before{content:"\f183"}
.fa-gittip:before{content:"\f184"}
.fa-sun-o:before{content:"\f185"}
.fa-moon-o:before{content:"\f186"}
.fa-archive:before{content:"\f187"}
.fa-bug:before{content:"\f188"}
.fa-vk:before{content:"\f189"}
.fa-weibo:before{content:"\f18a"}
.fa-renren:before{content:"\f18b"}
.fa-pagelines:before{content:"\f18c"}
.fa-stack-exchange:before{content:"\f18d"}
.fa-arrow-circle-o-right:before{content:"\f18e"}
.fa-arrow-circle-o-left:before{content:"\f190"}
.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}
.fa-dot-circle-o:before{content:"\f192"}
.fa-wheelchair:before{content:"\f193"}
.fa-vimeo-square:before{content:"\f194"}
.fa-turkish-lira:before,.fa-try:before{content:"\f195"}
.fa-cubes:before{content:"\f1b3"}

/******************************************/
/* Header                                */
/******************************************/

#header-wrapper{
    padding: 0em;
    width: 100vw;
}

#header{
    position: relative;
    background: #ededed;
}

#header .container{
    position: relative;
}

/******************************************/
/* Logo                                  */
/******************************************/

#logo .logo img{
    width:140px;
    height:auto;
    margin-right:12px;
}

#logo h1{
    text-align:left;
    font-size:0.8em;
    font-weight:normal;
    line-height:1.5;
    margin-bottom:4px;
}

#header_info{
    position: absolute;
}

#header_info .head_tel{
    font-size:28px;
    color:#ef622e;
    font-weight:bold;
    margin-top:6px;
}

#header_info .head_time{
    font-size:13px;
    font-weight:bold;
    margin-bottom:1em;
}


/******************************************/
/* INDUCTION common                       */
/******************************************/
.bt_contact a{
    display:block;
    position:relative;
    padding:8px 58px 8px 30px;
    font-size:20px;
    color:#fff;
    background:#000;
    border-radius:28px;
    text-align:center;
    text-decoration:none;	
}

.bt_contact a:hover{
    background:#c00;
}

.bt_contact a span{}

.bt_contact a span:after{
    content:"";
    display:block;
    position:absolute;
    top:10px;
    right:12px;
    width:25px;
    height:25px;
    background:url(../img/bt_arrow_bk.png) no-repeat left top;
}

.induction_wrapper{
    width:100%;
    margin:0 0 3em 0;
}

.induction_wrapper img{
    width:100%;
    height:auto;
    max-width:388px;
}

.induction_inner{
    /*max-width:902px;*/
    max-width:1024px;
    margin:auto;
    text-align:center;
}

.induction_wrapper .induction_inner2{
    text-align:center;
    width:100%;
}

 .induction_inner2 ul{
    margin-bottom:0;
}

 .induction_inner2 li{
    text-align:center;
}

 .induction_inner2 li p.intxt{
    background:#ef622e;
    color:#fff;
    font-size:1em;
    padding:0.4em 0;
}

.induction_inner2 .tel_box p{
    margin-bottom:0;
}

.induction_inner2 .tel a{
    font-weight:bold;
    color:#c00;
    font-size:1.4em;
}

.induction_inner2 li .button{
    background:#c00;
    width:90%;
    border-radius:24px;
    margin-left:auto;
    margin-right:auto;
}

.induction_inner2 li .button a{
    font-weight:bold;
    color:#fff;
    text-decoration:none;
    display:block;
    width:100%;
    height:100%;
}

.induction_inner2 li .button a:after{
    content:"";
    width:25px;
    height:25px;
    background-image:url(../img/icon-arrow.png);
    position:absolute;
    top:9px;
    right:14px;
}


/******************************************/
/* COMMON                                 */
/******************************************/

.content_bg{
    background: #ededed;
    padding:50px 25px;
}

.row table{
    width:100%;
}

.row table tr{
}

.row table th{
    font-weight:normal;
    color:#fff;
    background:#595757;
    padding-right:1em;
    padding:0.5em 1em;
    text-align:center;
    border:1px solid #595757;
}

.row table td	{
    border:1px solid #595757;
    background:#ededed;
    padding:0.5em 1em;
}

section.cont_caption{
    margin-bottom:1.5em;
}

section.cont_caption header h2{
    color:#000;
    font-size: 44px;
    font-family: 'Oswald', sans-serif;
    font-weight:bold;
    padding-bottom:14px;
    text-align: center;
}

section.cont_caption header span.byline{
    display:block;
    margin:0 auto 0.8em;
    white-space:nowrap;
    text-align:center;
    font-size:0.7em;
    font-weight: bold;
    color:#909090;
}

section.cont_caption.bg_image{
    background-image:url(../img/home/banner_service.jpg);
    background-repeat: no-repeat;
    background-position: center center;
    min-height: 360px;
    background-size: cover;
    text-align: center;
    padding:3em 0 0;
    color: #fff;
}

section.cont_caption.bg_image header{
    margin-bottom: 0;
}
section.cont_caption.bg_image header h2,
section.cont_caption.bg_image header span.byline{
    color: #fff;
}

section.cont_caption.bg_image p:before{
    content:"";
    display: block;
    background-image:url(../img/img-border02.svg);
    background-repeat: no-repeat;
    background-position: center center;
    min-height: 70px;
    background-size: contain;
    margin: 0 auto 20px;
}
section.cont_caption.bg_image p{
    color: #fff;
    font-size: 20px;
    line-height: 2;
    font-weight: bold;
}



#service section.cont_caption.bg_image{
    background-image: url(../img/home/banner_service.jpg);
}

#price section.cont_caption.bg_image{
    background-image: url(../img/home/banner_price.jpg);
}

#flow section.cont_caption.bg_image{
    min-height:170px;
    background-image: url(../img/home/banner_flow.jpg);
}

#works section.cont_caption.bg_image{
    background-image: url(../img/home/banner_works.jpg);
}

#blog section.cont_caption.bg_image{
    background-image: url(../img/home/banner_blog.jpg);
    min-height: 170px;
}

#blog-header section.cont_caption.bg_image{
    min-height:170px;
    background-image: url(../img/home/banner_blog.jpg);
}


/******************************************/
/* Banner                                */
/******************************************/

#banner{
}

#banner header{
    margin-bottom:0;
}

#banner header img{
    width:100%;
    /*max-width:902px;*/
    max-width:1170px;
    border-radius:10px;
}

#banner .banner_txt{
    position:absolute;
    top:4px;
    left:10px;
    text-align:left;
}

#banner .banner_txt h2{
    font-size:28px;
    letter-spacing:2px;
    line-height:1.3;
    text-shadow:1px 1px 3px #666;
}

#banner .banner_txt p{
    line-height:2;
    margin-bottom:0;
}

#banner .banner_txt p img{
    vertical-align:top;
    width:20px;
    margin-right:6px;
}
#banner{
    padding: 70px 25px 35px;
    margin: auto;
    position: fixed;
    top: 0;
    z-index: -999;
    width: 100%;
    height: 100vh;
    box-sizing: border-box;
}

#banner .banner_slide{
    width: 100%;
    height: 100% !important;
    text-align: left;
    overflow: hidden !important;
    position: relative;
}

#banner .banner_txt{
    top:50px;
    left:50px;
}

#banner .banner_txt h2{
    font-size:80px;
    letter-spacing:2px;
    line-height:1.2;
    margin-bottom:16px;
}

#banner .banner_txt p.banner_title{
    font-family: 'Oswald', sans-serif;
    font-size:90px;
    color:#fff;
    font-weight: bold;
    line-height: 1;
    margin-bottom:15px;
}

#banner .banner_txt p.banner_sns{
    font-size:30px;
    color:#fff;
    line-height: 1.7;
    font-weight: bold;
    letter-spacing: 3px;
}

#banner .banner_txt p img{
    vertical-align:top;
    width:30px;
    margin-right:10px;
}

#banner header img{
    min-width:1170px;
}

/******************************************/
/* Pan                                */
/******************************************/

.breadcrumb{
    margin: 0;
    padding: 0;
    list-style: none;
}

.breadcrumb li{
    display: inline;/*横に並ぶように*/
    list-style: none;
}

.breadcrumb li:after{
    /* >を表示*/
    content: '>';
    padding: 0 0.2em;
    color: #ccc;
}

.breadcrumb li:last-child:after{
    content: '';
}

.breadcrumb li a{
    text-decoration: none;
    color: #666;
}

.breadcrumb li:first-child a:before{
    /*家アイコン*/
    font-family: FontAwesome;
    content: '\f015';
    font-weight: normal;
    font-size: 1.1em;
    color: #ef622e;
}

.breadcrumb li a:hover{
    text-decoration: underline;
}

/******************************************/
/* about                                 */
/******************************************/

#about{
    position: relative;
    margin-top: 100vh;
    text-align: center;
}
#about .radius{
    padding:3em;
    background:#fff;
    border-radius: 20px;
    width:100%;
    max-width: 1320px;
    margin: auto;
}
#about .cont01{
    margin-top:2em;
    text-align:center;
}

#about .cont01 h2,
#about .cont02 h2{
    font-size:1.7em;
    font-weight:bold;
    color:#000;
    border-bottom:3px dotted #ef622e;
    padding:0.4em 0 0.2em;
    margin-bottom:1.5em;
    line-height:1.5;
}

#about .cont01 p,
#about .cont02 p{
    line-height:2.4;
}

#about .cont01 ul{
    display:inline-block;
}
#about .cont01 li{
    font-size:1.2em;
    line-height:1.8;
    text-align:left;
    padding-left:32px;
    margin-bottom:1em;
    background-image:url(../img/home/icon_checkbox.png);
    background-position:left 4px;
    background-repeat:no-repeat;
    background-size:24px;
}
/******************************************/
/* point                                 */
/******************************************/

#point{
    position: relative;
    margin-top: 80vh;
    text-align: center;
}
#point .radius{
    padding:3em;
    background:#fff;
    border-radius: 20px;
    width:100%;
    max-width: 1320px;
    margin: 0 auto 60px;
}
#point .cont01{
    margin-top:2em;
    text-align:center;
}

#point .cont01 h2{
    font-size:1.7em;
    font-weight:bold;
    color:#000;
    border-bottom:3px dotted #ef622e;
    padding:0.4em 0 0.2em;
    margin-bottom:1.5em;
    line-height:1.5;
}

#point .cont01 p{
    line-height:2.4;
}

#point .cont01 ul.point{
    display:inline-block;
}
#point .cont01 ul.point li{
    font-size:1.1em;
    line-height:1.8;
    text-align:left;
    padding-left:32px;
    margin-bottom:1em;
    background-image:url(../img/home/icon_checkbox.png);
    background-position:left 4px;
    background-repeat:no-repeat;
    background-size:24px;
}

/******************************************/
/* service                                */
/******************************************/

#service{
    position: relative;
}
#service .row section{
    margin:2em 0;
}
#service .bln{
    padding: 0 0 15px 0;
    border-bottom: 2px solid #ef622e;
    margin-left: 110px;
    display: flex;
    align-items:center;
}
#service .bln h3{
    font-family: 'Oswald', sans-serif;
    font-size: 28px;
    color: #ef622e;
}
#service .bln p{
    font-size: 16px;
    color: #909090;
    margin: 0 0 0 1em;
}
#service p.sv_txt{
    line-height: 1.5;
    margin:15px 0 0 0;
}
#service figure.icon-image{
    float: left;
    width: 200px;
    margin-right: 10px;
    background:#fff;
    border-radius: 100px;
}

/******************************************/
/* Flow                                 */
/******************************************/

#flow.flow_wrapper{
    position: relative;
    text-align: center;
    background: #ededed;
}
#flow .flow > div{
    background:#fff;
    padding:0 15px 0 60px;
    overflow:hidden;
    margin: 20px auto;
    border: 2px solid #000;
    position: relative;
}
#flow .flow > div:after{
    position: absolute;
    top: 0;
    left: 0;
    height: 50px;
    width: 50px;
    background: #000;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: 26px;
    font-weight: bold;
    line-height: 50px;
}
.flowtxt{
    line-height: 1.5;
    text-align: left;
}
.flowtxt p.flow_head{
    font-size:1.5em;
    font-weight:bold;
    padding:10px 30px 10px 30px;
    background-position:left center;
    background-repeat:no-repeat;
    background-size:31px 31px;
}

#flow .flow > div.flow01:after{ content: "1";}
#flow .flow > div.flow02:after{ content: "2";}
#flow .flow > div.flow03:after{ content: "3";}
#flow .flow > div.flow04:after{ content: "4";}
#flow .flow > div.flow05:after{ content: "5";}
#flow .flow > div.flow06:after{ content: "6";}

/******************************************/
/* Price                                 */
/******************************************/

#price{
    position: relative;
}
#price .row table{
    text-align: center;
}
#price .row table th{
    font-size: 32px;
}
#price .row table td{
    background: #ffffff;
    height:276px;
}
#price .row table td .lg{
    font-size:26px;
    line-height: 1.5;
}
#price .row table td p{
    margin:0;
}
#price .row table td .bg-c{
    background-color: #EDEDED;
    margin: 0.5em;
    padding: 0.5em;
    font-size: 26px;
    line-height: 1.5;
    border-radius: 10px;
}
#price .row table td .mgn{
    margin:0.5em 0;
}
#price .sml,
#price .row table td .sml{
    font-size: 17px;
    line-height: 1.5;
}
#price .row > *{
    margin-bottom: 0;
    padding-top: 60px;
}
#price .row table.kanrihi td{
    height:auto;
    padding-bottom: 2em;
}
#price .row table.kanrihi td .lg{
    margin: 0.7em 0;
}
#price .row table.kanrihi td .lg span{
}
#price .row table.kanrihi td .lg span.sml{
    font-size: 26px;
    vertical-align: baseline;
    margin-right: 1em;
    font-weight: normal;
}
#price dl{
    display: flex;
    justify-content:center;
    margin: 50px 0;
}
#price dl dt{
    text-align: center;
    background: #EF622E;
    width:240px;
    line-height:100px;
    color: #fff;
    font-size: 40px;
    position: relative;
    margin-right: 60px
}
#price dl dt:after{
    position: absolute;
    top:0;
    right: -40px;
    content:"";
    display: block;
    border-top: 52px solid transparent;
    border-bottom: 52px solid transparent;
    border-left: 40px solid #EF622E;
}
#price dl dd{
    text-align: center;
    border:2px solid #EF622E;
    background: #FCE0D5;
    width:320px;
    line-height:100px;
    color: #000;
    font-size: 26px;
}

/******************************************/
/* btn                                    */
/******************************************/

.btn_container{
    margin:40px 0 0 0;
}

.btn{
    width:300px;
    margin:0 auto;
}
.btn a{
    display: block;
    position: relative;
    background: #ef622e;
    color: #fff;
    text-decoration: none;
    border-radius: 30px;
    text-align: center;
    padding:14px 16px;
    width: 100%;
    font-size: 16px;
}
.btn a:after{
    content: "";
    position: absolute;
    display: block;
    top:10px;
    right:12px;
    width:24px;
    height:24px;
    background-color: #fff;
    background-image: url(../img/btn-arrow-orenge.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 18px 18px;
    border-radius: 12px;
}
.btn a:hover{
    background-color: #5C5C5C;
}

.btn a:hover:after{
    background-image: url(../img/btn-arrow-grey.svg);
}

/******************************************/
/* Inquiry                                 */
/******************************************/

#inquiry{
    position: relative;
    text-align: center;
    padding:5em 0;
}

#inquiry header h2{
    line-height:1.5;
    font-weight:bold;
}

#inquiry .container .row section{
    margin-bottom:1em;
}
#inquiry .container .row section .inner{
    border:8px solid #ef622e;
    margin:0;
    padding:30px;
    font-weight:bold;
}
#inquiry .container .row section .inner .button a{
    color: #FFF;
}
#inquiry .container .row section .inner .button a:hover{
    text-decoration:none;
}
#inquiry .container .row section .inner .button{
    background: #c00;
    color: #FFF;
    display:inherit;
    border-radius:24px;
    margin-top:1em;
    margin-bottom:0;
    letter-spacing:1px;
}

#inquiry .container .row section .inner .button:hover{
    background: #000;
}

#inquiry .inquiry_box{
    font-weight:bold;
    margin-top:1.5em;
}

#inquiry .inquiry_box p{
    margin:0;
}
#inquiry .inquiry_box .tel{
    font-weight:bold;
    color:#c00;
    font-size:1.2em;
    margin:14px 0;
    padding:0 38px;
}

#inquiry .inquiry_box .tel a{
    display:block;
    background:#c00;
    color:#fff;
    border-radius:24px;
    padding:0.5em 0;
}

/******************************************/
/* Footer                                */
/******************************************/
	
#footer{
    position: relative;
    font-size:12px;
    background: #ededed;
    padding: 20px 25px 0;
}
#footer .row{
    position: relative;
    margin:0;
}
#footer header img{
    width:80%;
    height:auto;
}

#footer .footer_cont{
    width:100%;
    text-align:center;
    margin:auto;
}

#footer .footer_nav ul{
    font-size:0;
}
#footer .footer_nav li{
    display:inline-block;
    margin:0 1em;
    font-size:12px;
}

#footer .footer_nav li a{
    color:#ef622e;
    text-decoration:underline;
    font-weight:bold;
}

#footer .footer_company{
    width:420px;
    text-align:left;
    margin:auto;
    line-height:1.5;
}

#footer .footer_company .company_name{
    font-weight:bold;
    width:190px;
    float:left;
}

#footer .footer_company .company_contact{
    margin-left:190px;
    font-size:10px;
}

/******************************************/
/* Copyright                             */
/******************************************/
	
#copyright{
    position: relative;
    text-align: center;
    color: #fff;
    background:#c8c8c8;
    font-size:10px;
}
#copyright .container{
padding:6px 0;
}

#copyright a{
    text-decoration: none;
    color: #49956b;
}

/******************************************/
/* [contact]                              */
/******************************************/
#contact{
    position: relative;
    text-align:center;
    color:#fff;
    background:#ef622e;
}
#contact section.cont_caption header h2{
    border-bottom:none;
}
#contact header{
    width:90%;
    max-width:1024px;
    background:#fff;
    margin:auto;
    padding:12px 0 8px;
    border-radius:60px;
}
#contact .left{
    text-align:left;
}
#contact .row section{
    float:none;
}
#contact section .button{
    background:#000;
}
#contact section .button:hover{
    background:#666;
}
#contact .bt-wrapper{
    margin-top:2em;
}
#contact .row table td{
    padding:1.2em 1em;
    background:inherit;
    border:none;
    border-bottom:1px solid #fff;
}
#contact .row table th{
    font-weight:bold;
    padding:1.4em 1em 1em;
    vertical-align:top;
    color:#fff;
    background:inherit;
    border:none;
    border-bottom:1px solid #fff;
}
#contact input[type="text"],
#contact input[type="tel"],
#contact input[type="url"],
#contact input[type="email"]{
    width:100%;
    border-radius:5px;
    border:1px solid #666;
    padding:0.2em 0.5em;
}
#contact textarea{
    width:100%;
    padding:0.2em 0.5em;
}
#contact .row table th span.hissu{
    margin-left:0.2em;
    font-weight:normal;
    color:#F60;
}
span.wpcf7-list-item{
    display: block !important;
    margin:0 !important;
    position:relative;
    line-height:3;
}
#contact input[type="checkbox"]{
    transform:scale(1.5 , 1.5);
}
#contact input[type="submit"]{
    border:none;
}
#contact .wpcf7-list-item-label{
    padding-left:0.3em;
    position:absolute;
    top:2px;
}
#contact .button{
    background: #5C5C5C;
    padding:0.5em 1em;
    border-radius:30px;
}
#contact .button:hover{
    background: #000;
}
#contact .medium{
    padding:0.5em 1em
}
.wpcf7-not-valid-tip{
    color:#ff0;
}

/******************************************/
/* PAGING                                 */
/******************************************/

.pagination{
	text-align:center;
	overflow:hidden;
	position:relative;
}
.pagination .page-numbers{
	display:block;
	float:left;
	text-decoration:none;
	background-color:#000;
	border-radius:6px;
	min-height:44px;
	min-width:44px;
	margin:30px 6px 0 6px;
	line-height:44px;
	color:#fff;
}
.pagination a.page-numbers:hover{
	background-color:#ccc;
	color:#000;
}
.pagination .current{
	background-color:#ccc;
	color:#000;
}
.pagination .dots{
	background-color:inherit !important;
	box-shadow:none;
	color:#666;
}
.pagination a.page-numbers.prev,
.pagination a.page-numbers.next{
	width:72px;
}
.pagination .pagebox{
	position: relative;
	left: 50%;
	float: left;
}
.pagination  .pagebox .page-numbers{
	position: relative;
	left: -50%;
	float: left;
}

/******************************************/
/* Accodion MENU                          */
/******************************************/
.menu {
	position: absolute;
	right: 0;
	top: 25px;
    /*width: 100%;*/
    height: 45px;
    margin: 0 auto;
	font-size:14px;
	font-weight:bold;
	max-width:700px;
    font-family: 'Josefin Sans',sans-serif;
}
.menu > li {
    float: left;
	position:relative;
    margin-top:10px; 
}
.menu > li a {
    display: block;
    color: #333;
	text-align:left;
	padding:6px 18px 3px;
}
.menu > li.red a {
	color:#f00;
}
.menu > li a:hover {
    color: #fff;
	text-decoration:none;
}
ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
}
.menu > li:hover {
    background: #ef622e;
    -webkit-transition: all .5s;
    transition: all .5s;
}
.menu__second-level li {
    border-top: 1px solid #fff;
}
.menu__second-level li.prevent {
	/*line-height:1.2;
	padding:0.5em 0;*/
}
.menu__second-level li a{
	height:45px;
	line-height:45px;
}
.menu__second-level li a:hover {
    background: #ef622e;
}
/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}
.menu:after {
    clear: both;
}
.menu {
    *zoom: 1;
}
.menu > li.menu__single {
    position: relative;
}
li.menu__single ul.menu__second-level {
    position: absolute;
    top: 0px;
    width: 100%;
    background: #81d8d0;
	color:#fff;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}
li.menu__single:hover ul.menu__second-level {
    top: 45px;
    visibility: visible;
    opacity: 1;
}
.menu > li.active {
}
.menu > li.active a{
}
.menu > li.active a:hover {
	color: #fff;
	text-decoration:none;
	background: #ef622e;
    -webkit-transition: all .5s;
    transition: all .5s;
}

/******************************************/
/* SNS MENU                          */
/******************************************/
#header_sns{
	position:absolute;
	top:5px;
	right:0;
	height:25px;
}
#footer_sns{
	width:100%;
	margin:auto;
	text-align:center;
}
.sns_menu li{
	display:inline-block;
	font-size:14px;
	font-weight:bold;
	padding-left:24px;
	padding-right:18px;
	background-position:left center;
	background-repeat:no-repeat;
	background-size:18px 18px;
    line-height: 1.5;
}
.sns_menu li a{
	color:#333;
	text-decoration:none;
}
.sns_menu li a:hover{
	color:#ccc;
	text-decoration:underline;
}
.sns_menu  li.ig{
	background-image:url(../img/icon_insta-g.png);
}
.sns_menu  li.fb{
	background-image:url(../img/icon_fb-g.png);
}
.sns_menu  li.ln{
	background-image:url(../img/icon_line-g.png);
}

/************************************************************************************/
/* style-desktop & tablet                */
/******************************************/
@media screen and (min-width:768px){

	body,input,textarea,select{
		font-size: 13pt;
	}

	.container{
		margin-left: auto;
		margin-right: auto;
	}
	
    #header-wrapper{
        position: fixed;
        top :0;
        left: 0;
        z-index: 9999;
    }

	#header .container{
        position: relative;
		padding: 0 25px;
	}

    .content_bg .container{
        max-width: 1320px;
    }

	#logo{
		display:flex;
		align-items:center;
		height:70px;
        position: relative;
	}

	#logo h1{
		font-size:12px;
		line-height:1.6;
	}

	#header_info{
		right: 0em;
		top: 1em;
		display:none;
	}

	br.pc{
		display:inline;
	}

	br.mo{
		display:none;
	}

/* Grid */

/* Cells */

	.\31 2u{ width: 100% }
	.\31 1u{ width: 91.6666666667% }
	.\31 0u{ width: 83.3333333333% }
	.\39 u{ width: 75% }
	.\38 u{ width: 66.6666666667% }
	.\37 u{ width: 58.3333333333% }
	.\36 u{ width: 50% }
	.\35 u{ width: 41.6666666667% }
	.\34 u{ width: 33.3333333333% }
	.\33 u{ width: 25% }
	.\32 zu{ width: 20% }
	.\32 u{ width: 16.6666666667% }
	.\31 u{ width: 8.3333333333% }
 	.\-11u{ margin-left: 91.6666666667% }
	.\-10u{ margin-left: 83.3333333333% }
	.\-9u{ margin-left: 75% }
	.\-8u{ margin-left: 66.6666666667% }
	.\-7u{ margin-left: 58.3333333333% }
	.\-6u{ margin-left: 50% }
	.\-5u{ margin-left: 41.6666666667% }
	.\-4u{ margin-left: 33.3333333333% }
	.\-3u{ margin-left: 25% }
	.\-2zu{ margin-left: 20% }
	.\-2u{ margin-left: 16.6666666667% }
	.\-1u{ margin-left: 8.3333333333% }

/******************************************/
/* INDUCTION common                       */
/******************************************/
	.induction_wrapper img{
		max-width:808px;
	}

/******************************************/
/* INDUCTION common                       */
/******************************************/
	.induction_wrapper img{
		max-width:808px;
	}

	.induction_wrapper .induction_inner2{
		padding:1em;
	}

	 .induction_inner2 ul{
		margin-bottom:0;
	}
	
	 .induction_inner2 li{
		display:inline-block;
		width:calc(50% - 3em);
		margin:1em;
		border:1px solid #ef622e;
	}

	 .induction_inner2 li p.intxt{
		font-size:1.2em;
	}

	.induction_inner2 li .button a:after{
		top:13px;
	}

/******************************************/
/* service                                 */
/******************************************/

	#service{
	}

	#service .cont01 h2{
		font-size:2em;
	}

/******************************************/
/* Flow                              */
/******************************************/

	#flow .flow > div{
		width:820px;
	}
	
	#flow .flowtxt{
		text-align:left;
	}

	#flow .flowimg{
		width:119px;
		height:105px;
		margin:36px 0 0 12px;
	}

	.flowtxt p.flow_head{
		font-size:26px;
		padding:6px 0 0 6px;
		background-size:53px 52px;
        margin-bottom:15px;
	}

/******************************************/
/* Inquiry                                 */
/******************************************/

	#inquiry .inquiry_box{
		margin-top:0;
	}

	#inquiry .container .row section .inner{
		margin:30px 0;
		padding:50px 80px 30px;
	}
	#inquiry .container .row section .inner .button{
		background: #c00;
		color: #FFF;
		display:inherit;
		border-radius:24px;
		margin-top:1em;
		margin-bottom:1em;
		letter-spacing:1px;
	}

	#inquiry .inquiry_box .tel{
		font-weight:bold;
		color:#c00;
		font-size:52px;
		margin:14px 0;
		padding:0;
	}

/******************************************/
/* [contact]                              */
/******************************************/

	#contact table td .fl{
		float:left;
		margin-right:0.5em;
	}

	#contact table td .shn1{
		width:80px;
	}

	#contact table td .shn2{
		width:120px;
	}

	#contact table td .shn3{
		width:170px;
	}
	#contact input[type="text"],
	#contact input[type="tel"],
	#contact input[type="url"],
	#contact input[type="email"]{
		width:85%;
	}
	#contact textarea{
		width:85%;
	}

	span.wpcf7-list-item{
		line-height:2;
	}

/******************************************/
/* Footer                                 */
/******************************************/

	#footer header{
		position:absolute;
		width:280px;
		top:20px;
		left:0;
	}

/******************************************/
/* SNS MENU                          */
/******************************************/

	#header_sns{
		display:block;
	}

}

/************************************************************************************/
/* style-mobile large                     */
/******************************************/
@media screen and (min-width:481px) and (max-width:767px){

    #banner .banner_txt{
		top:30px;
		left:40px;
	}

	#banner .banner_txt h2{
		font-size:48px;
		margin-bottom:10px;
	}
	
	#banner .banner_txt p{
		font-size:18px;
		line-height:inherit;
	}
	
}


/************************************************************************************/
/* style-mobile                          */
/******************************************/
@media screen and (max-width:767px){
	body,input,textarea,select{
		line-height: 1.75em;
		font-size: 10.5pt;
		letter-spacing: 0;
	}
	body{
		width: 100%;
	}
  .row{
    width:95%;
  }
  .row > * {
      padding: 50px 0 0 0;
      float: none;
  }
	.container{
		margin-left: auto;
		margin-right: auto;
	}
	h2, h3, h4, h5, h6{
		font-size: 1.5em;
	}
	section,
	article{
		clear: both;
		margin: 2em 0 2em 0;
	}
	section > :first-child,
	article > :first-child{
		margin-top: 0;
	}
	section:first-child,
	article:first-child{
		margin-top: 0;
	}
	header h2{
		font-size: 1.8em;
	}
	header .byline{
		font-size: 1.2em;
	}
	.container{
		padding: 0em 1em 2em;;
	}
	.button{
		display: block;
		width: 100%;
		text-align: center;
		font-size: 1.2em;
	}
	.medium{
		font-size: 1.2em;
	}
	#header_sns{
		display:none;
	}
  .content_bg{
    padding:0;
  }

/******************************************/
/* UI                                    */
/******************************************/
	#titleBar .title{
		display: block;
		color: #fff;
		text-align: center;
		line-height: 44px;
	}

	#titleBar .toggle{
		position: absolute;
		left: 0;
		top: 0;
		width: 80px;
		height: 60px;
	}

	#titleBar .toggle:after{
		content: '';
		display: block;
		width: 20px;
		height: 12px;
		position: absolute;
		left: 10px;
		top: 15px;
		background: url(../img/toggle.svg) 0px 0px no-repeat;
		opacity: 0.5;
	}

	#titleBar .toggle:active:after{
		opacity: 0.75;
	}

	#navPanel{
		background: #111111 url(../img/main-wrapper-bg.jpg) repeat;
	}

	#navPanel .link{
		display: block;
		color: #888;
		text-decoration: none;
		height: 44px;
		line-height: 44px;
		border-top: solid 1px;
		border-color: rgba(255,255,255,.05);
		padding: 0 1em 0 1em;
	}
	
  #navPanel .link:first-child{
      border-top: 0;
  }

  #navPanel .link.depth-0{
      color: #fff;
  }

  #navPanel .indent-1{ display: inline-block; width: 1em; }
  #navPanel .indent-2{ display: inline-block; width: 2em; }
  #navPanel .indent-3{ display: inline-block; width: 3em; }
  #navPanel .indent-4{ display: inline-block; width: 4em; }
  #navPanel .indent-5{ display: inline-block; width: 5em; }
  #navPanel .depth-0{ color: #fff; }
			
/******************************************/
/* Header  Logo                            */
/******************************************/

	#header .container{
        padding: 0em 1em 0;
	}

	#logo{
		position:relative;
		margin-top:4px;
	}
	
	#nav,
	.menu,
	#header_sns{
		display: none;
	}

	#header_info{
		position:relative;
		text-align:center;
		margin:30px 0
	}

	#header_info .head_tel a{
		display:block;
		position:relative;
		padding:8px 30px;
		font-size:20px;
		color:#ff0;
		background:#ef622e;
		border-radius:28px;
		text-align:center;
		text-decoration:none;
	}

	.bt_contact a span:after{
		top:8px;
	}
	
/******************************************/
/* Banner                                */
/******************************************/

	#banner{
		padding:95px 0 0;
	}

	#banner div.container{
		padding:0;
	}

  #banner .banner_txt p.banner_title{
      font-size:70px;
      line-height: 1.1;
      margin-bottom:18px;
  }

  #banner .banner_txt p.banner_sns{
      font-size:25px;
      line-height: 1.7;
  }

/******************************************/
/* Main                                  */
/******************************************/

	#main{
		padding: 4em 0em;
	}

	#main .left{
		text-align: center;
	}
	
	#main .right{
		text-align: center;
	}

/******************************************/
/* Extra                                 */
/******************************************/

	#service section{
		width:100%;
	}

	#service{
		padding: 4em 0em 3em 0em;
	}

/******************************************/
/* Price                                 */
/******************************************/

	#price section{
		width:100%;
	}

/******************************************/
/* Footer                                */
/******************************************/
	
	#footer{
		padding: 1em 0em;
		font-size:100%;
	}
	#footer header{
		width:100%;
		text-align:center;
        padding:0 !important;
	}
    #footer .footer_cont {
        padding:0 !important;
    }
	#footer header img{
		max-width:180px;
	}
	#footer .footer_nav li{
		font-size:100%;
		text-align:left;
		line-height:2.5;
	}
	#footer .footer_company{
		width:100%;
		text-align:center;
	}
	#footer .footer_company .company_name{
		float:none;
		width:100%;
	}
	#footer .footer_company .company_contact{
		margin-left:0;
		font-size:100%;
	}

/******************************************/
/* [contact]                              */
/******************************************/

	#contact .row table th,
	#contact .row table td{
		display:block;
		width:100%;
		border-bottom:none;
	}

	#contact .row table th{
		padding-bottom:0;
		text-align:left;
	}
	#contact .row table td{
		padding-top:0.5em;
	}

	#contact .row table tr:last-child td{
		border-bottom:1px solid #ccc;
	}

/******************************************/
/* [area]                                 */
/******************************************/

  .area ul.fl li img{
		width:80%;
		height:auto;
	}

  .area ul.fl li.plus{
		margin:1em 0;
	}
	
/******************************************/
/* [detail]                                 */
/******************************************/

	#proptable .row section.proptable{
		width:100%;
	}

/******************************************/
/* [prevent]                                 */
/******************************************/

  .prevent-cont section div.noh{
		display:inline-block;
		padding:0.5em;
		float:left;
		margin-top:0.5em;
		margin-right:0.5em;
		border-radius:6px;
	}

    .prevent-cont section div.noh span{
		font-size:0.8em;
	}
/******************************************/
/* [TOP-PAGE]                             */
/******************************************/

  section.cont_caption.bg_image{
      min-height: auto;
      padding-bottom: 2em;
  }
  section.cont_caption.bg_image p:before{
      margin: 0 auto 0;
  }
  section.cont_caption.bg_image p{
      line-height: 1.7;
      padding-bottom:1em;
      font-size: 16px;
      padding:0 0.5em;
  }
  #about .radius{
      padding:3em 1em;
  }
  #about .cont01 p{
      line-height:1.8;
  }
  #point .radius{
      padding:3em 1em;
  }
  #point .cont01 p{
      line-height:1.8;
  }
  #service figure.icon-image{
      width: 120px;
  }
  #service .bln{
      display: block;
      padding-bottom:0.5em;
      margin-left: 90px;
  }
  #service .bln h3{
      font-size: 28px;
      line-height: 1.2;
  }
  #service .bln p{
      line-height: 1.2;
      margin: 3px 0 0 ;
  }
  .btn{
      padding-bottom:40px;
  }
  .btn a:after{
      top:15px;
  }
  #service p.sv_txt{
      font-size: 15px;
      font-weight: normal;
  }
  #price .row table th{
      font-size: 24px;
  }
  #price .row table td{
      height: auto;
      padding-bottom:1em;
  }
  #price .row table td .lg{
      font-size: 21px;
  }
  #price .row table td .bg-c{
      font-size: 18px;
  }
  #price .sml,
  #price .row table td .sml,
  #price .row table.kanrihi td .sml{
      font-size: 14px;
  }
  #price .row table.kanrihi td .lg span.sml{
      font-size: 18px;
  }
  #price dl{
      display: block;
      justify-content:center;
      margin: 50px 0;
  }
  #price dl dt{
      width:300px;
      line-height:60px;
      font-size: 26px;
      margin-right: 0;
      margin-bottom: 30px;
  }
  #price dl dt:after{
      position:absolute;
      display: inherit;
      width:300px;
      bottom:-80px;
      right: inherit;
      top:inherit;
      left:0;
      border-top: 30px solid #EF622E;
      border-left: 150px solid transparent;
      border-right: 150px solid transparent;
      border-bottom: 50px solid transparent;
  }
  #price dl dd{
      width:300px;
      line-height:60px;
      font-size: 26px;
  }
  #flow .flow > div{
      padding:0 5px 0 50px;
  }
  .flowtxt p{
      font-size:15px;
      font-weight: normal;
  }
  .flowtxt p.flow_head{
      font-size:21px;
      text-align: left;
      padding:5px 0 0 0;
  }
  #flow .flow > div:after{
    height: 44px;
    width: 44px;
    line-height: 44px;
  }

  #contact{
    position: relative;
    text-align:center;
    color:#fff;
    background:#ef622e;
  }
  #contact{
    padding-top:30px;
  }
  section.cont_caption header h2{
    font-size: 23px;
  }
  #point .cont01 h2 {
    font-size: 1.3em;
  }

}

#price .row table{
  border: none;
}
#price .row table.seoplan th{
  font-size: 18px;
  background: #EDEDED;
  color: inherit;
  border-top: none;
  border-left: none;
  border-right: none;
  border-color: #999;
}

#price .row table.seoplan td{
  text-align: left;
  border-top: none;
  border-left: none;
  border-right: none;
  border-color: #999;
}

/**制作実績*******************************************************************/
.worksbox h3{
  margin: 30px 0;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
.worksbox p{
  text-align: center;
}
.works #top_new{
  padding-top:150px;
}

/* 行のアイテムをストレッチして各行の高さを揃える */
.hpw-works .hpw-grid{ align-items: stretch; }  /* 既定はstretchだが明示 */

/* 各カードを行の高さにフィットさせる */
.hpw-works .hpw-card{
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* URLが長い時の強制改行（高さ暴れ防止）*/
.hpw-works .hpw-meta a{
  word-break: break-all;
  overflow-wrap: anywhere;
}

/* タイトルが長いときは2行で打ち止め（任意） */
.hpw-works .hpw-title{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* 行はストレッチのまま、カード内の下ダブつきを解消 */
.hpw-works .hpw-card{
  display:flex;
  flex-direction:column;
}
.hpw-works .hpw-meta{
  margin-bottom: auto;   /* ここで余白を上側に吸収して、ボタンを下端へ寄せる */
}
.hpw-works .hpw-link{
  margin-top: 8px;       /* 下端のボタンまわりだけ軽く */
  margin-bottom: 12px;   /* 既存の16px→12pxに */
}
/* URL長対策（行高暴れ防止）*/
.hpw-works .hpw-meta a{
  word-break: break-all;
  overflow-wrap: anywhere;
}

/* ===== TOP: WORKS 6件 ===== */
.front-works {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin: 40px auto;
  max-width: 1200px;
}

/* カード */
.front-works .work-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(0,0,0,.05);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* サムネイル */
.front-works .work-thumb {
  aspect-ratio: 16/9;
  background: #f8fafc;
  overflow: hidden;
}
.front-works .work-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* タイトル */
.front-works .work-title {
  font-size: 16px;
  margin: 12px 14px 4px;
  font-weight: 600;
  color: #0f172a;
  line-height: 1.4;
}

/* URL */
.front-works .work-meta {
  font-size: 14px;
  color: #0369a1;
  margin: 0 14px 14px;
  word-break: break-all;
}
.front-works .work-meta a {
  text-decoration: none;
  color: inherit;
}
.front-works .work-meta a:hover {
  text-decoration: underline;
}
/* 余白を詰める：等高をやめて内容量に応じた高さに */
.front-works{ align-items: start; }            /* 伸ばさない */
.front-works .work-card{
  height: auto;                                 /* 既存の height:100% を上書き */
  padding-bottom: 8px;                          /* 下の白場を縮める */
  margin-bottom: 4px;
}
.front-works .work-meta{ margin: 0 14px 10px; } /* URL下の余白を微縮 */

/* スマホで段の上端がズレないように揃える */
@media (max-width: 496px){
  .front-works{
    grid-template-columns: repeat(2, 1fr);
    grid-auto-flow: row;     /* 穴埋め（dense）をしない＝段の頭を揃える */
    align-items: start;      /* 伸ばさない */
    gap: 12px;
  }

  /* 予期せぬ外側余白をなくす */
  .front-works .work-card{
    margin: 0;
    height: auto;
    padding-bottom: 6px;
    align-self: start;
  }

  /* 子要素の上マージンで崩れないように */
  .front-works .work-card > *{ margin-top: 0; }
  .front-works .work-thumb{ margin: 0; }
  .front-works .work-title{ font-size: 14px; margin: 8px 10px 2px; }
  .front-works .work-meta{ margin: 0 10px 8px; font-size: 13px; }
}
/**BLOG＆NEWS**/
.front-blog-news .container{max-width:1200px;margin:0 auto;padding:40px 20px}
.front-columns{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}
@media(max-width:900px){.front-columns{grid-template-columns:1fr;gap:28px}}

.front-title{font-size:clamp(26px,3.6vw,32px);margin:0 0 16px;text-align:left;font-family: 'Oswald', sans-serif}
.front-title span{display:inline-block;margin-left:.6em;font-size:.6em;color:#64748b;letter-spacing:.08em}

.front-list{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.front-item{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}
.front-link{display:grid;grid-template-columns:180px 1fr;gap:16px;align-items:start;padding:14px;text-decoration:none;color:inherit}
@media(max-width:600px){.front-link{grid-template-columns:120px 1fr;gap:12px;padding:12px}}

.front-thumb{aspect-ratio:16/9;background:#f8fafc;border-radius:8px;overflow:hidden}
.front-thumb img{width:100%;height:100%;object-fit:cover;display:block}

.front-body.no-thumb{grid-column:1/-1} /* サムネ無し時は本文を全幅へ */
.front-date{display:block;color:#64748b;font-size:13px;margin:2px 0 6px}
.front-heading{font-size:16px;line-height:1.5;margin:0 0 6px}
.front-excerpt{margin:0;color:#475569;font-size:14px;line-height:1.7}

.front-more{text-align:center;margin-top:16px}
.front-more a{display:inline-block;padding:9px 18px;border:1px solid #cbd5e1;border-radius:999px;background:#f8fafc;color:#0f172a;text-decoration:none;font-size:14px}
.front-more a:hover{background:#eef2f7}


/*--------------------------------------------------------------------------------------*/
/* 全体 */
.renewal-reason{
  max-width: 960px;
  margin: 3em auto 0;
  padding: 0 20px;
  text-align: center;
}

/* 見出し */
.renewal-reason__lead{
  font-size: 22px;
  line-height: 1.6;
  margin-bottom: 28px;
}

/* 課題リスト */
.renewal-reason__problems{
  list-style: none;
  padding: 0;
  margin: 0 0 48px;
  display: grid;
  gap: 10px;
}
.renewal-reason__problems li{
  color: #475569;
}
/* ポイント一覧 */
.renewal-points{
  display: grid;
  gap: 20px;
  text-align: left;
}
/* 1ブロック */
.renewal-point{
  position: relative;
  padding: 22px 22px 22px 86px;
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
}
/* 番号 */
.renewal-point__num{
  position: absolute;
  left: 22px;
  top: 22px;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: #EF622E;
  color: #fff;
  font-weight: 800;
  display: grid;
  place-items: center;
}
/* 見出し */
.renewal-point h3{
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.4;
}
/* 本文 */
.renewal-point p{
  margin: 0;
  line-height: 1.9;
  color: #334155;
}
/*-------------------------------------------------------------------/
/* 画像＋テキスト回り込み 共通 */
.clm-img-r,
.clm-img-l{
  overflow: hidden;
  text-align: left;
}
.clm-img-r img.right,
.clm-img-l img.left{
  height: auto;
}
.clm-img-r img.right{
  float: right;
}
.clm-img-l img.left{
  float: left;
}
/* テキスト */
.cont01 p,
.cont02 p{
  line-height: 1.9;
  margin: 0 0 14px;
}
/* ol をブロックごと右寄せ */
.cont01 ol{
  margin: 32px 0 32px auto; /* 右に寄せる */
  padding-left: 20px;
}
/* リスト文字 */
.cont01 ol li{
  font-size: 14px;
  line-height: 1.8;
  margin-bottom: 8px;
}

/**デザイン追加***************************************************/
section.addstyle_cap{
  padding: 0;
  margin:  0;
}
section.addstyle_cap header h2{
  color: #215263;
  font-size: 44px;
  font-family: 'Oswald', sans-serif;
  font-weight:bold;
  padding:0;
  margin: 0;
  text-align: center;
  line-height: 1.4;
}
span.sml{
  font-size: 0.85em;
}
span.org{
  color: #ef622e;
}
span.marker {
  background: linear-gradient(
    transparent 60%,
    rgba(239, 98, 46, 0.35) 60%
  );
}
span.marker2 {
  background: linear-gradient(
    transparent 60%,
    rgba(121, 193, 216, 0.35) 60%
  );
}
span.bold{
  font-weight: bold;
}
.addstyle ul li p{
  padding: 0;
  margin: 0;
}
.clm-img-l ul{
  margin-left: 340px;
  margin-top: 70px;
}
.clm-img-r ul{
  margin-right: 340px;
  margin-top: 0px;
}
.clm-img-l ul li{
  font-size: 1.1em;
  line-height: 1.8;
  text-align: left;
  padding:16px 40px 16px 80px;
  margin-bottom: 1em;
  background-color: #eceff4;
  border-radius: 50px;
  background-image: url(../img/ico_b.png);
  background-repeat: no-repeat;
  background-size: 24px;
  background-position: 42px 21px;
}
.clm-img-r ul li{
  font-size: 1.1em;
  line-height: 1.8;
  text-align: left;
  padding:16px 40px 16px 80px;
  margin-bottom: 1em;
  background-color: #eceff4;
  border-radius: 50px;
  background-image: url(../img/ico_r.png);
  background-repeat: no-repeat;
  background-size: 24px;
  background-position: 42px 21px;
}
.textbox{
  clear: both;
  width: 80%;
  margin: 20px auto;
}
.textbox p{
  line-height: 1.7;
}
.textbox{

}
p.arrow{
  text-align: center;
}
/**service-cards*************************/
.service-cards ol{
  list-style: none;
  margin: 2em 0 4em;
  padding: 0;
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  counter-reset: cardnum;
}
.service-cards ol > li{
  counter-increment: cardnum;
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  background: #f3f7f8;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  padding: 18px 18px 18px 6px;
  min-height: 150px;
  text-align: left;
  font-weight: bold;
  display: flex;
  gap: 14px;
  align-items: center;
}
.service-cards ol > li::after{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:68px;
  background:#d9ecef;                 /* 上帯の淡い色 */
  transform: skewY(-20deg);
  transform-origin: left top;
}
.service-cards ol > li::before{
  content: counter(cardnum, decimal-leading-zero);
  position: absolute;
  left: 14px;
  top: 14px;
  width: 56px;
  height: 44px;
  border-radius: 10px;
  background: #5B9FAB;
  color: #fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size: 20px;
  font-weight: 700;
  z-index: 2;
}
.service-cards ol > li img{
  width: 118px;
  height: auto;
  flex: 0 0 92px;
  position: relative;
  z-index: 1; /* 上の帯より前 */
  margin-top: 50px;
}
.service-cards ol > li p{
  margin: 0;
  position: relative;
  z-index: 1;
  color: #1f2d33;
  font-size: 15px;
  line-height: 1.7;
}
.textbox2{
  position: relative;
  text-align: center;
  padding: 0 20px 70px;
  background-image: url("../img/bg-cont_bt1.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  color: #1f2d33;
}
.textbox3{
  position: relative;
  text-align: center;
  padding: 0 20px 70px;
  background-image: url("../img/bg-cont_bt2.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  color: #1f2d33;
}
.textbox3 h3,
.textbox2 h3{
  margin: 0 20px 12px;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.05em;
}
.textbox3 h3 .sml,
.textbox2 h3 .sml{
  font-size: 0.8em;
  vertical-align: middle;
}
.textbox3 h3 .org,
.textbox2 h3 .org{
  color: #EF622E;
}
.textbox3 > p,
.textbox2 > p{
  margin: 20px 0;
  font-size: 1.1em;
  line-height: 1.8;
  font-weight: bold;
}
.textbox2 .cont-btm{
  margin: 0 auto;
  padding: 5px 20px 9px;
  background: rgba(91,159,171,0.7);
  color: #ffffff;
  max-width: 980px;
}
.textbox2 .cont-btm p{
  margin: 0;
  font-size: 36px;
  line-height: 1.9;
  color: #fff;
  text-shadow: 0 2px 6px rgba(0,0,0,0.35);
}
.textbox3 .cont-btm{
  margin: 0 auto;
  padding: 10px 20px 18px;
  background: rgba(239, 98, 46,1);
  color: #ffffff;
  max-width: 980px;
}
.textbox3 .cont-btm p{
  margin: 0;
  font-size: 21px;
  line-height: 1.9;
  color: #fff;
  text-shadow: 0 2px 6px rgba(0,0,0,0.35);
}
.cont-btm p{
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.cont-btm .lg{
  font-size: 1.15em;
  font-weight: 700;
}
.reason-list{
  padding: 0 0 3em;
}
.reason-list .renewal-points{
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(2, 1fr);
  align-items: stretch;
}
.reason-list .renewal-point{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: #f1f6f7;
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
  padding: 18px 18px 22px;
  min-height: 240px;
}
.reason-list .renewal-point::after{
  content:"";
  position: absolute;
  left: 0;
  top: -30px;
  width: 100%;
  height: 75px;
  background: #d7eaed;
  transform: skewY(3deg);
  transform-origin: left top;
  z-index: 0;
}
.reason-list .renewal-point__num{
  position: absolute;
  left: 14px;
  top: 12px;
  border-radius: 32px;
  font-size: 22px;
  z-index: 2;
}
.reason-list .renewal-point h3{
  margin: 0;
  padding: 3px 12px 0 60px; /* 左に番号分の余白 */
  min-height: 54px;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 700;
  color: #1f2d33;
  position: relative;
  z-index: 1;
}
.reason-list .renewal-point h3 .org{
  color: #EF622E;
}
.reason-list .renewal-point__txt{
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 14px;
  align-items: start;
  position: relative;
  z-index: 1;
}
.reason-list .renewal-point__txt img{
  width: 220px;
  height: auto;
  display: block;
  margin: 0 auto;
}

/* 本文 */
.reason-list .renewal-point__txt p{
  margin: 0;
  font-size: 16px;
  line-height: 1.8;
  color: #23353b;
}
.reason-list .renewal-point{
  background-image: radial-gradient(rgba(255,255,255,.35) 1px, transparent 1px);
  background-size: 8px 8px;
}
.textbox3 ol{
  list-style: none;
  margin: 0 auto 60px;
  padding: 0;
  display: grid;
  gap: 14px;
  width: 80%;
}
.textbox3 ol li{
  position: relative;
  padding: 18px 18px 18px 64px; /* 左にアイコン分の余白 */
  border-radius: 14px;
  background: rgba(91,159,171,0.6); /* #5B9FAB系 */
  color: #fff;
  font-size: 18px;
  line-height: 1.6;
  font-weight: 700;
  text-align: left;
  text-shadow: 0 2px 6px rgba(0,0,0,.35);
}

/* 左の丸（オレンジ） */
.textbox3 ol li::before{
  content: "";
  position: absolute;
  left: 18px;
  top: 50%;
  width: 28px;
  height: 28px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #EF622E;
}

/* チェック（白） */
.textbox3 ol li::after{
  content: "";
  position: absolute;
  left: 27px;
  top: 50%;
  width: 12px;
  height: 6px;
  transform: translateY(-50%) rotate(-45deg);
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
}

/* 2行以上になっても中央に寄るように（念のため） */
.textbox3 ol li{
  display: flex;
  align-items: center;
}
/* スマホ対応 */
@media (max-width: 768px){
  .cont01 .clm-img-r img,
  .cont01 .clm-img-l img{
    float: none;
    width: 100%;
    max-width: none;
    margin: 0 0 14px;
  }

  .cont01 ol{
    width: 100%;
    margin: 24px 0;
  }
  .reason-list .renewal-points{
    grid-template-columns: 1fr;
  }
  .reason-list .renewal-point__txt{
    grid-template-columns: 1fr;
  }
  .reason-list .renewal-point__txt img{
    width: 170px;
  }
  .reason-list .renewal-point h3{
    padding:0 0 0 52px;
    font-size: 17px;
  }
  section.addstyle_cap header h2{
    font-size: 26px;
  }
  .clm-img-r img.right{
    float: none;
    height: 200px;
    width: auto;
    margin: 0.5em auto;
    display: block;
  }
  .clm-img-l img.left{
    float: none;
    height: 200px;
    width: auto;
    margin: 0.5em auto;
    display: block;
  }
  .clm-img-l ul{
    margin-left: 0;
    margin-top: 0;
  }
  .clm-img-r ul{
    margin-right: 0;
    margin-top: 0;
  }
  .textbox{
  width: 100%;
  }
  .service-cards ol > li{
    gap: 6px;
    padding: 9px 18px 18px 0;
    min-height: 100px;
    text-align: left;
    font-weight: bold;
  }
  .service-cards ol > li img{
    width: 140px;
    flex-basis: auto;
  }
  .textbox3 h3,
  .textbox2 h3{
    font-size: 30px;
    line-height: 1.3;
  }
  .textbox2 .cont-btm p{
    font-size: 18px;
  }
  #service figure.icon-image{
      width: 80px;
  }
  .renewal-reason{
    padding: 0 0;
    margin: 0 0;
  }
  .textbox3 ol{
    width: 100%;
  }
  .textbox3 .cont-btm p{
  font-size: 16px;
  text-align: left;
  }
  .worksbox h3 {
      font-size: 30px;
  }
}
/* スマホ */
@media (max-width: 640px){
  .renewal-point{
    padding: 18px 16px 18px 70px;
  }
  .renewal-point__num{
    width: 42px;
    height: 42px;
  }
}

/* スマホ調整 */
@media (max-width: 600px){
  .textbox3 ol li{
    font-size: 15px;
    padding: 14px 14px 14px 56px;
  }
  .textbox3 ol li::before{
    left: 14px;
    width: 24px;
    height: 24px;
  }
  .textbox3 ol li::after{
    left: 22px;
    width: 10px;
    height: 5px;
    border-left-width: 3px;
    border-bottom-width: 3px;
  }
}












