@charset "UTF-8";
/*webフォント読み込み*/
@font-face { /*notosansレギュラー*/
font-family: 'Noto Sans JP'; src: url("../fonts/NotoSansJP-Regular.otf"); src: url("../fonts/NotoSansJP-Regular.woff2") format("woff2"), url("../fonts/NotoSansJP-Regular.woff") format("woff"), url("../fonts/NNotoSansJP-Regular.otf") format("truetype"); font-weight: 400; }
@font-face { /*notosansミディアム*/
font-family: 'Noto Sans JP'; src: url("../fonts/NotoSansJP-Medium.otf"); src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2"), url("../fonts/NotoSansJP-Medium.woff") format("woff"), url("../fonts/NotoSansJP-Medium.otf") format("truetype"); font-weight: 500; }
@font-face { /*notosansボールド*/
font-family: 'Noto Sans JP'; src: url("../fonts/NotoSansJP-Bold.otf"); src: url("../fonts/NotoSansJP-Bold.woff2") format("woff2"), url("../fonts/NotoSansJP-Bold.woff") format("woff"), url("../fonts/NotoSansJP-Bold.otf") format("truetype"); font-weight: 700; }
@font-face { /*notosansボールド*/
font-family: 'Noto Sans JP'; src: url("../fonts/NotoSansJP-Black.otf"); src: url("../fonts/NotoSansJP-Black.woff2") format("woff2"), url("../fonts/NotoSansJP-Black.woff") format("woff"), url("../fonts/NotoSansJP-Black.otf") format("truetype"); font-weight: 900; }
@font-face { /*Roboto-Regular*/
font-family: 'robo'; src: url("../fonts/Roboto-Regular.otf"); src: url("../fonts/Roboto-Regular.woff2") format("woff2"), url("../fonts/Roboto-Regular.woff") format("woff"), url("../fonts/Roboto-Regular.otf") format("truetype"); font-weight: 400; }
@font-face { /*Roboto-Medium*/
font-family: 'robo'; src: url("../fonts/Roboto-Medium.otf"); src: url("../fonts/Roboto-Medium.woff2") format("woff2"), url("../fonts/Roboto-Medium.woff") format("woff"), url("../fonts/Roboto-Medium.otf") format("truetype"); font-weight: 500; }
@font-face { /*Roboto-Bold*/
font-family: 'robo'; src: url("../fonts/Roboto-Bold.otf"); src: url("../fonts/Roboto-Bold.woff2") format("woff2"), url("../fonts/Roboto-Bold.woff") format("woff"), url("../fonts/Roboto-Bold.otf") format("truetype"); font-weight: 700; }
/* Link
=========================================== */
a:link, a:visited { color: #0A0A0A; text-decoration: none; }

a { outline: none; transition: 0.3s; color: #0A0A0A; text-decoration: none; }

a img { transition: 0.3s; }

:focus { outline: none; }

/* 共通設定
=========================================== */
.pc { display: none !important; }

body { overflow: hidden; background: #fff; color: #0A0A0A; font-size: 16px; line-height: 1.6; font-family: YakuHanJP,'Noto Sans JP',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif; font-style: normal; font-weight: 400; overflow-wrap: anywhere; /* 収まらない場合に折り返す */ word-break: normal; /* 単語の分割はデフォルトに依存 */ line-break: strict; /* 禁則処理を厳格に適用 */ }

h1, h2, h3, h4, h5, h6 { line-height: 1.5; font-weight: 700; }

body#tinymce { min-width: inherit !important; }

input, select, textarea { font-family: YakuHanJP,'Noto Sans JP',"メイリオ","Mayryo ","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","MS PGothic",sans-serif; color: #0A0A0A; }

table { width: 100%; }

img { max-width: 100%; height: auto; width: 100%; }

.no-pc { display: inline-block; text-decoration: none !important; }

.inb { display: inline-block; }

.block { display: block; }

.wrap { position: relative; }

div#f-trigger { opacity: 0; position: absolute; left: 0; top: 60px; z-index: -20; }

/*共通見出し設定*/
.titles01 { margin-bottom: 30px; color: #093182; font-weight: 700; }
.titles01 span.big-en.robo { font-size: 60px; font-weight: 500; }
.titles01 span.dot-text { display: block; font-size: 16px; line-height: 1; }
.titles01 span.dot-text > span { display: inline-block; position: relative; padding-left: 14px; }
.titles01 span.dot-text > span:before { content: ""; width: 4px; height: 4px; background: #093182; border-radius: 100%; position: absolute; left: 0; top: 6px; }
.titles01 span.jp { display: block; font-size: 40px; }
.titles01 span.jp .medi { font-size: 26px; }

.titles01.t-white { color: #fff; }
.titles01.t-white span.dot-text > span:before { background: #fff; }

.titles02 { text-align: center; margin-bottom: 30px; }
.titles02 .en { display: block; font-weight: 500; }
.titles02 .en > span { display: inline-block; position: relative; padding-left: 14px; }
.titles02 .en > span:before { content: ""; width: 4px; height: 4px; background: #fff; border-radius: 100%; position: absolute; left: 0; top: 11px; }
.titles02 .jp { display: block; font-weight: 700; font-size: 40px; }

.titles04 { font-weight: 700; font-size: 26px; color: #093182; position: relative; margin-bottom: 20px; padding-left: 48px; }

.titles04:before { content: ""; width: 36px; height: 1px; background: #093182; position: absolute; left: 0; top: 20px; }

/*共通ボタン設定*/
.btn01 { width: 100%; height: 70px; display: table; }
.btn01 a { display: table-cell; text-decoration: none; color: #fff; border: solid 1px #D50000; padding-right: 34px; padding-left: 40px; text-align: left; vertical-align: middle; background: #D50000; position: relative; font-weight: 700; }
.btn01 a .arrow { position: absolute; z-index: 2; top: 0; bottom: 0; right: 16px; margin: auto 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background: #fff; width: 18px; height: calc(100% - 30px); transition: 0.3s; }
.btn01 a .arrow img { display: block; opacity: 1; transition: 0s; width: 5px; }

/*グラデーション*/
.gra-bg { display: inline-block; padding: 5px 12px; background: linear-gradient(120deg, #D80000 0%, #D80000 20%, #D85E00 100%); color: #fff; border-radius: 10px; }

.gra-text { background: linear-gradient(180deg, #D80000 0%, #D85E00 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; }

/*スライダー　ふわっ*/
div#mv-slider, div.slider01, div.gallery-main, div.gallery-thumbs, div.belt-slider { opacity: 0; transition: opacity .3s linear; }

div#mv-slider.slick-initialized, div.slider01.slick-initialized, div.gallery-main.slick-initialized, div.gallery-thumbs.slick-initialized, div.belt-slider.slick-initialized { opacity: 1; }

/*font*/
.robo { font-family: 'robo'; font-weight: 500; }

.tright { text-align: right; }

.tleft { text-align: left; }

.tcenter { text-align: center; }

.flL { float: left; }

.flR { float: right; }

.bold { font-weight: bold; }

.inb { display: inline-block; }

.block { display: block; }

.red { color: #E30606; }

.blue { color: #093182; }

.blue02 { color: #0093D6; }

.yellow { color: #FFD400; }

.orange { color: #EE5A35; }

.green { color: #74BA26; }

.d-green { color: #005E4B; }

.green02 { color: #01A9AE; }

.navy { color: #374b8e; }

.pink { color: #ff7373; }

.gray { color: #818181; }

.black { color: #0A0A0A; }

/*header
---------------------------------------------------------------*/
div#header { width: 100%; position: fixed; z-index: 200; height: 60px; display: flex; flex-wrap: wrap; align-items: center; box-sizing: border-box; padding: 0 10px; left: 0; top: 0; }

.logo a, .logo-sp a { display: flex; flex-wrap: wrap; align-items: flex-end; }
.logo a > span, .logo-sp a > span { display: block; }
.logo a span.logo01, .logo-sp a span.logo01 { width: 75px; margin-right: 10px; }
.logo a span.logo02, .logo-sp a span.logo02 { width: 168px; }
.logo a img, .logo-sp a img { transition: 0s; }

.head-right { display: none; }

.tel-set .bh { font-size: 14px; font-weight: 500; }

.tel-num a { font-family: 'robo'; font-size: 26px; line-height: 1; font-weight: 500; }
.tel-num a > span.komoji { font-size: 14px; }

.contact-btn { width: 100%; background: #fff; }
.contact-btn a { height: 54px; text-decoration: none; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; color: #fff; font-size: 18px; font-weight: 700; background: #D50000; }
.contact-btn a span.ico { margin-right: 10px; }
.contact-btn a span.ico img { display: block; opacity: 1; }
.contact-btn a .text { display: inline-block; position: relative; top: -2px; }

/*スクロール追従*/
.fixed div#header { background: #FFFFFF; background-size: cover; box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); }
.fixed .logo img { filter: brightness(0) saturate(100%) invert(0%) sepia(2%) saturate(3017%) hue-rotate(334deg) brightness(95%) contrast(92%); }

/* nav
=========================================== */
.sp-tel.sp { width: 40px; position: fixed; z-index: 210; top: 10px; right: 60px; }
.sp-tel.sp a { display: flex; flex-wrap: wrap; width: 40px; height: 40px; border-radius: 100%; background: #093182; justify-content: center; align-items: center; }
.sp-tel.sp a img { display: block; width: 16px; transition: 0s; }

.sp-nav-logo { position: absolute; left: 10px; top: 10px; }

.dr-tit { position: relative; font-weight: 500; color: #fff; padding: 16px 50px 16px 0; }
.dr-tit .arrow { width: 10px; position: absolute; right: 5px; top: calc(50% - 4px); z-index: 2; }
.dr-tit .arrow img { display: block; }

.dr-tit.on .arrow { transform: rotateZ(-180deg); }

html.huopen { overflow: hidden; }
html.huopen .sp-tel.sp a { background: #fff; }
html.huopen .sp-tel.sp a img { filter: brightness(0) saturate(100%) invert(16%) sepia(68%) saturate(2848%) hue-rotate(211deg) brightness(81%) contrast(97%); }

.sp-nav-btn { width: 40px; height: 40px; position: fixed; top: 10px; right: 10px; z-index: 202; box-sizing: content-box; background: #093182; border-radius: 100%; }

.sp-nav-btn span.bar01 { content: ""; width: 16px; height: 2px; position: absolute; top: 13px; right: 12px; transition: 0.3s; border-radius: 1px; }

.sp-nav-btn span.bar03 { content: ""; width: 16px; height: 2px; position: absolute; top: 25px; right: 12px; transition: 0.3s; border-radius: 1px; }

.sp-nav-btn span.bar02 { position: absolute; width: 16px; height: 2px; top: 19px; right: 12px; transition: 0.3s; border-radius: 1px; }

.sp-nav-btn > span { background: #fff; }

.sp-nav-btn.opon > span { background: #093182; }

.sp-nav-btn.opon { background: #fff; }

.sp-nav-btn.opon span.bar02 { opacity: 0; }

.sp-nav-btn.opon span.bar01 { box-shadow: none; transform: rotateZ(45deg); top: 19px; }

.sp-nav-btn.opon span.bar03 { transform: rotateZ(-45deg); top: 19px; }

.overlay-nav { display: none; }

.overlay-nav.opon { z-index: 15; opacity: 1; }

div.navs-list-wrap { position: fixed; width: 100%; height: 100%; z-index: 200; top: 0; box-sizing: border-box; background: #093182; right: calc(-100% - 60px); transition: 0.3s; padding: 90px 5.33vw 50px; }

div.navs-list-wrap.opon { right: 0; }

div.navs-list-wrap span.dr-arrow img { display: none; }

ul.navs-list { height: calc(100vh - 145px); overflow: auto; box-sizing: border-box; padding: 0 0 95px; width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }
ul.navs-list li.sp-contact { margin-top: 40px; background: none; width: 100%; }
ul.navs-list li.sp-contact .contact-btn { margin-bottom: 20px; }
ul.navs-list li.sp-contact .contact-btn a { height: 80px; font-size: 24px; }
ul.navs-list li.sp-contact .contact-btn a span.ico { width: 22px; margin-right: 18px; }
ul.navs-list li.sp-contact .tel-set { text-align: center; color: #fff; }
ul.navs-list li.sp-contact .tel-set .tel-num a { color: #fff; }

.navs-list > li { width: calc(100% - 10.66vw); background: url("../img/common/sp-nav-line.svg") repeat-x left bottom; margin-left: auto; margin-right: auto; }
.navs-list > li > a { display: block; padding: 16px 0; color: #fff; font-weight: 500; }
.navs-list > li ul.fs { margin-top: 0; padding-bottom: 16px; padding-left: 10px; }
.navs-list > li ul.fs > li a { color: #fff; font-weight: 500; }
.navs-list > li ul.fs > li:before { background: #fff; }

ul.head-nav { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 40px; width: calc(100% - 10.66vw); margin-left: auto; margin-right: auto; }
ul.head-nav > li { margin-right: 10px; width: calc(50% - 5px); height: 39px; display: table; }
ul.head-nav > li a { display: table-cell; text-align: center; vertical-align: middle; text-decoration: none; color: #fff; font-weight: 500; border-radius: 30px; border: solid 1px #fff; }
ul.head-nav > li a > span { display: inline-block; padding-left: 14px; background: url("../img/common/hnav-arrow01.svg") no-repeat center left; }
ul.head-nav > li:last-child { margin-right: 0; }

/* contents */
/*-------------------------------------------*/
.bg-blue { background: #F5F9FF; }

/*パンくず
---------------------------------------------------------------*/
div#bread { z-index: 2; position: relative; }
div#bread .wrap { padding: 8px 5.33vw; }

#bread ul { display: flex; flex-wrap: wrap; align-items: center; }

#bread ul li { display: flex; flex-wrap: wrap; align-items: center; font-size: 14px; font-weight: 500; color: #1E1E1E; vertical-align: middle; line-height: 1.2; }

ul.bread-list li a { font-size: 14px; color: #1E1E1E; }
ul.bread-list li a img { display: block; vertical-align: middle; }

#bread ul.bread-list li:after { content: ""; display: inline-block; position: relative; vertical-align: middle; margin: 0 9px; background: url("../img/common/bread-arrow.svg") no-repeat center; width: 6px; height: 10px; }

#bread ul.bread-list li:last-child:after { content: none; }

#bread ul.bread-list li:last-child, #bread ul.bread-list li:last-child a { color: #1E1E1E; }

/* メインビジュアル */
/*-------------------------------------------*/
/*TOPページ*/
div#mv { position: relative; z-index: 3; letter-spacing: 0; }

/* footer */
/*-------------------------------------------*/
aside#aside01 .titles02 { text-align: left; }
aside#aside01 .inner { padding: 80px 5.33vw; background: url("../img/common/aside-bg-sp.jpg") no-repeat center top; background-size: cover; color: #fff; }
aside#aside01 .inner .u-text01 { font-weight: 500; }

.aside-feat-list.flex { margin: 40px 0 60px; }
.aside-feat-list.flex > .box { width: 100%; box-sizing: border-box; position: relative; display: table; height: 60px; border: solid 1px #426BBC; border-top: none; }
.aside-feat-list.flex > .box .num { width: 24px; height: 24px; display: flex; flex-wrap: wrap; background: #fff; justify-content: center; align-items: center; background: #fff; color: #093182; font-size: 12px; font-family: "robo"; font-weight: 500; box-sizing: border-box; padding-top: 3px; position: absolute; left: 0; top: 0; }
.aside-feat-list.flex > .box > span { display: table-cell; text-align: center; vertical-align: middle; font-size: 18px; font-weight: 700; }
.aside-feat-list.flex > .box:first-child { border-top: solid 1px #426BBC; }

.contact-types.flex { display: block; }
.contact-types.flex .box.box01 { max-width: 315px; margin: 0 auto 40px; }
.contact-types.flex .fax-text { font-size: 18px; text-align: right; }
.contact-types.flex .fax-text .komoji { font-size: 14px; }
.contact-types.flex .bh { font-size: 16px; text-align: left; margin-bottom: 5px; }
.contact-types.flex .tel-num a { color: #fff; font-size: 42px; }
.contact-types.flex .tel-num a .komoji { font-size: 24px; }
.contact-types.flex .box.box02 { margin-bottom: 40px; }
.contact-types.flex .contact-btn { width: 100%; }
.contact-types.flex .contact-btn a { height: 100px; }
.contact-types.flex .contact-btn a .ico { margin-right: 16px; width: 24px; }
.contact-types.flex .contact-btn a .ico img { width: 100%; }
.contact-types.flex .contact-btn a span.text { font-size: 24px; }
.contact-types.flex .contact-btn.line-btn a { background: #00B900; }
.contact-types.flex .contact-btn.line-btn a .ico { width: 50px; }

.aside-bikou { margin-top: 14px; font-size: 14px; text-align: center; }

.ft-map { height: 101.33vw; }
.ft-map iframe { width: 100%; height: 100%; }

div#footer { padding-bottom: 35vw; }

.page-contact div#footer { padding-bottom: 0; }

div#ftBox01 { padding: 100px 5.33vw 40px; }
div#ftBox01 .wrap { display: flex; flex-wrap: wrap; }

.ft-logo { margin-bottom: 40px; }
.ft-logo img { filter: brightness(0) saturate(100%); }

.ft-address { margin-bottom: 20px; }

div.ft-info { width: 275px; margin: 0 auto; }
div.ft-info .tel-num a { font-size: 32px; }
div.ft-info .bh { padding-left: 33px; }

.fax-text { margin-top: 12px; font-family: "robo"; font-weight: 500; font-size: 16px; }
.fax-text .komoji { font-size: 12px; }

div.fnavBox { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; margin-top: 60px; max-width: 335px; margin-left: auto; margin-right: auto; }

.fnav.fnav01 { order: 1; }

.fnav.fnav02 { order: 3; margin-top: 30px; }

.fnav.fnav03 { order: 2; }

.ft-tit:first-child { margin-top: 0; }

.ft-tit { margin-top: 30px; }
.ft-tit .in-t { font-weight: 700; color: #093182; }

div.fnav:last-child { margin-right: 0; }

ul.fs { margin-top: 14px; }
ul.fs > li { font-size: 14px; padding-left: 12px; position: relative; margin-bottom: 4px; }
ul.fs > li:last-child { margin-bottom: 0; }
ul.fs > li:before { content: ""; width: 4px; height: 4px; background: #093182; border-radius: 100%; position: absolute; left: 0; top: 9px; }

div.ft-bottom.flex { border-top: solid 1px #EEEEEE; padding-top: 30px; margin-top: 60px; display: block; }

ul.pp-list { display: flex; flex-wrap: wrap; align-items: center; font-size: 14px; justify-content: center; }
ul.pp-list > li { margin-right: 30px; }
ul.pp-list > li:last-child { margin-right: 0; }

.copyright { font-size: 14px; margin-top: 30px; text-align: center; }

div#scr { position: fixed; right: 10px; bottom: 10px; z-index: 100; width: 78.4vw; }

a.float_contactBtn01 { display: block; position: relative; filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.7)); }
a.float_contactBtn01 span.hum-ban { width: 21.86vw; height: 29.33vw; background: url("../img/common/ban-hum.png") no-repeat right bottom; background-size: contain; position: absolute; right: 0; bottom: 0.53vw; z-index: 2; }

.float_batsu01 { position: absolute; right: -5px; top: -5px; z-index: 3; transition: 0.3s; cursor: pointer; width: 8vw; height: 8vw; }

/* TOPへ戻る */
/*-------------------------------------------*/
div#top-link { position: absolute; left: 0; top: 0; opacity: 0; z-index: -20; }

div#page-top { position: absolute; right: 5.33vw; top: -25px; opacity: 0; z-index: -3; transition: opacity 0.3s; width: 50px; }

div#page-top a { display: block; width: 50px; height: 50px; border-radius: 100%; text-align: center; box-sizing: border-box; line-height: 1; font-size: 15px; font-weight: 700; text-decoration: none; position: relative; }

.fixed div#page-top { opacity: 1; z-index: 6; }

/* iOSでのデフォルトスタイルをリセット */
input[type="password"], textarea, input[type="text"], input[type="submit"], input[type="button"] { border-radius: 0; -webkit-box-sizing: content-box; -webkit-appearance: button; appearance: button; box-sizing: border-box; cursor: pointer; }

input[type="password"]::-webkit-search-decoration, textarea::-webkit-search-decoration, select::-webkit-search-decoration, input[type="text"]::-webkit-search-decoration, input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration { display: none; }

input[type="password"]::focus, textarea::focus, select::focus, input[type="text"]::focus, input[type="submit"]::focus, input[type="button"]::focus { outline-offset: -2px; }

select { color: #222; padding: 5px; box-sizing: border-box; }

/* TOP
------------------------------------------*/
div#mv.home-mv { height: 217.33vw; background: url("../img/main/sp-mv01.jpg") no-repeat center; background-size: cover; color: #fff; margin-bottom: 74.66vw; box-sizing: border-box; padding-top: 1px; }

div#mv-cont { width: 89.6vw; margin: 25.33vw auto 0; }

.mv-text01 { margin-bottom: 3.73vw; filter: drop-shadow(0 0 10px black); }

.mv-text02 { font-size: 5.33vw; font-weight: 700; text-shadow: 0 0 2.66vw black; line-height: 1.6; }

.mv-time { margin-top: 24vw; }

div#top-news { position: absolute; z-index: 2; right: 0; bottom: -40vw; background: #fff; box-sizing: border-box; width: 94.67vw; padding: 5.33vw 5.33vw 2.66vw; height: 64vw; }
div#top-news .tit { font-size: 8vw; color: #093182; font-weight: 500; font-family: "robo"; margin-bottom: 2.66vw; }
div#top-news .top-news-cont { width: 100%; }

.more-btn { width: 37.86vw; height: 10.66vw; display: table; margin-top: 5.33vw; }
.more-btn a { text-decoration: none; display: table-cell; text-align: center; vertical-align: middle; background: #FEEEEE; position: relative; border-radius: 5.33vw; font-weight: 500; color: #D50000; font-size: 4.26vw; }
.more-btn a span.arrow { position: absolute; z-index: 2; right: 2.66vw; top: 50%; transform: translateY(-50%); transition: 0.3s; }
.more-btn a span.arrow img { display: block; opacity: 1; width: 2.13vw; }

artcle.top-news-art a { align-items: center; }
artcle.top-news-art a .n-date { font-size: 3.73vw; }
artcle.top-news-art a .cate { font-size: 4.26vw; }
artcle.top-news-art a .text { width: 100%; min-height: 13.33vw; width: 100%; line-height: 1.6; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-top: 2.66vw; }

.n-date { font-size: 14px; font-family: "robo"; color: #8F8F8F; margin-right: 20px; }

.cate { color: #093182; font-weight: 500; padding: 0 19px; border: solid 1px #093182; border-radius: 20px; line-height: 29px; }

section { position: relative; }

section#about-sec { background: url("../img/top/bg01-sp.jpg") no-repeat center top; background-size: cover; padding-top: 1px; color: #fff; position: relative; z-index: 3; }
section#about-sec .wrap { padding: 60px 5.33vw 80px; }
section#about-sec .btn01 { margin: 40px 0 0 auto; }
section#about-sec .titles01 span.dot-text { margin-bottom: 20px; }
section#about-sec .titles01 span.dot-text > span:before { top: 7px; }
section#about-sec .ovh { position: relative; margin-top: -120px; }

div#belt-slider .bs { margin-right: 2.66vw; width: 74.66vw; }

.top-cont01.flex { display: block; margin-bottom: calc(12.8vw + 40px); min-height: 396px; }
.top-cont01.flex .img { position: relative; padding-left: 17.33vw; }
.top-cont01.flex .img .img02 { position: absolute; left: 0; bottom: -12.8vw; width: 39.46vw; }
.top-cont01.flex .img img { width: 100%; max-width: none; }
.top-cont01.flex .cont { margin-bottom: 40px; }
.top-cont01.flex .cont .text { line-height: 2; }

.top-reasonBox.flex > .box { border: solid 1px #426BBC; border-top: none; width: 100%; box-sizing: border-box; padding: 40px 20px 40px; text-align: center; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
.top-reasonBox.flex > .box .ico { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; width: 60px; height: 60px; margin-right: 20px; }
.top-reasonBox.flex > .box .ico img { display: block; width: auto; }
.top-reasonBox.flex > .box .tit { height: 80px; display: table; font-size: 22px; font-weight: 700; line-height: 1.4; }
.top-reasonBox.flex > .box .tit > div { display: table-cell; text-align: left; vertical-align: middle; }
.top-reasonBox.flex > .box .tit > div .big { font-size: 30px; }
.top-reasonBox.flex > .box .tit > div .robo { position: relative; top: 3px; }
.top-reasonBox.flex > .box .text { font-weight: 700; width: 100%; text-align: center; margin-top: 30px; }
.top-reasonBox.flex > .box.box01 { border-top: solid 1px #426BBC; }
.top-reasonBox.flex .time-set.flex { width: 100%; margin: 20px auto 20px; justify-content: center; }
.top-reasonBox.flex .time-set.flex > div { width: 68px; text-align: center; position: relative; }
.top-reasonBox.flex .time-set.flex > div .t-tit { width: 100%; height: 25px; display: table; }
.top-reasonBox.flex .time-set.flex > div .t-tit > span { display: table-cell; border: solid 1px #fff; border-radius: 15px; font-size: 14px; font-weight: 700; }
.top-reasonBox.flex .time-set.flex > div .t-time { font-size: 20px; font-weight: 500; margin-top: 4px; }
.top-reasonBox.flex .time-set.flex div.left { margin-right: 27px; }
.top-reasonBox.flex .time-set.flex div.left:before { content: ""; width: 0; height: 0; border-left: solid 8px #fff; border-top: solid 6px transparent; border-bottom: solid 6px transparent; position: absolute; left: calc(100% + 9px); top: 7px; }
.top-reasonBox.flex .time-set.flex div.right .t-tit > span { background: #fff; color: #093182; }

.r-bikou01 { padding: 0 10px; text-align: left; font-size: 14px; line-height: 1.2; }
.r-bikou01 p { position: relative; padding-left: 15px; }
.r-bikou01 p:before { content: "※"; position: absolute; left: 0; top: 0; }

section#case-sec { padding: 60px 5.33vw; }

div.case-list.flex > div.box { width: 100%; margin-top: -1px; }
div.case-list.flex > div.box a { text-decoration: none; align-items: center; background: #fff; border: solid 1px #EEEEEE; position: relative; border-top: none; }
div.case-list.flex > div.box a .img { overflow: hidden; width: 42.66vw; }
div.case-list.flex > div.box a .img .in-img { padding-top: 100%; transition: 0.3s; }
div.case-list.flex > div.box a .titles01.t-case { width: calc(100% - 42.66vw); margin-bottom: 0; box-sizing: border-box; padding-left: 10.33vw; }
div.case-list.flex > div.box a .titles01.t-case span.dot-text { font-size: 3.7vw; font-weight: 700; font-family: "robo"; line-height: 5.86vw; }
div.case-list.flex > div.box a .titles01.t-case span.dot-text > span:before { top: 2.4vw; background: #D50000; width: 0.8vw; height: 0.8vw; }
div.case-list.flex > div.box a .titles01.t-case .jp { font-size: 5.33vw; color: #0A0A0A; }
div.case-list.flex > div.box a .arrow { position: absolute; z-index: 2; width: 6.4vw; height: 6.4vw; border-radius: 100%; right: 2.66vw; bottom: 2.6vw; background: url("../img/common/btn-arrow01.svg") no-repeat center right 1.6vw #FEEEEE; background-size: 2.26vw; }
div.case-list.flex > div.box:first-child a { border-top: solid 1px #EEEEEE; }

section#tec-sec { padding: 60px 5.33vw 100px; color: #fff; background: #042058; position: relative; }

section#tec-sec:before { content: ""; width: 160px; height: 30px; background: #fff; position: absolute; left: 0; bottom: 0; }

div.tecBox.flex { margin-bottom: 60px; padding-bottom: 60px; background: url("../img/top/line01.svg") repeat-x left bottom; display: block; }
div.tecBox.flex > .left .titles01 { margin-bottom: 30px; }
div.tecBox.flex > .left .titles01 .jp { font-size: 34px; margin-top: 10px; }
div.tecBox.flex > .left .img { margin-bottom: 40px; }
div.tecBox.flex > .right { margin-top: 30px; }
div.tecBox.flex > .right .text { line-height: 2; }
div.tecBox.flex > .right .btn01 { margin-top: 40px; }

div.tecBox.flex:last-child { margin-bottom: 0; padding-bottom: 0; background: none; }

.copy01 { font-weight: 700; font-size: 20px; }

.v-titles01 { line-height: 1.3; font-size: 46px; font-weight: 700; margin-bottom: 60px; }

section#works-sec { padding: 60px 5.33vw 80px; overflow: hidden; }
section#works-sec .btn01 { margin-top: 40px; }

.home section#works-sec { padding-bottom: calc(80px + 46.66vw); }

.slider01, .slider02 { margin-bottom: 0 !important; padding-bottom: 70px; }
.slider01 .slick-list, .slider02 .slick-list { overflow: visible; }
.slider01 .slick-track, .slider02 .slick-track { display: flex; flex-wrap: wrap; }
.slider01 article.blog-art01, .slider02 article.blog-art01 { height: auto !important; }
.slider01 article.works-art, .slider02 article.works-art { margin-right: 5.86vw; opacity: 0; pointer-events: none; width: 84.26vw; height: auto !important; }
.slider01 article.works-art.slick-active, .slider01 article.works-art.slick-active + article.works-art, .slider01 article.works-art.slick-active + article.works-art + article.works-art, .slider02 article.works-art.slick-active, .slider02 article.works-art.slick-active + article.works-art, .slider02 article.works-art.slick-active + article.works-art + article.works-art { opacity: 1; pointer-events: auto; }

article.works-art { width: 100%; }
article.works-art a { display: block; box-sizing: border-box; height: 100%; border: solid 1px #EEEEEE; text-decoration: none; background: #fff; }
article.works-art a .img { overflow: hidden; }
article.works-art a .img .in-img { padding-top: 68.57%; transition: 0.3s; }
article.works-art a .cont { padding: 10px 29px 29px; }
article.works-art a .cont .a-date { text-align: right; font-size: 14px; font-weight: 400; color: #8F8F8F; font-family: "robo"; margin-bottom: 10px; }
article.works-art a .cont .tit { font-weight: 400; width: 100%; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
article.works-art a .cont .infos.flex { margin-top: 16px; }

.infos.flex { width: calc(100% + 4px); margin: -4px 0 0 -4px; }
.infos.flex > div { margin: 4px 0 0 4px; line-height: 25px; min-height: 25px; font-size: 14px; font-weight: 500; }
.infos.flex > div.w-cate { background: #093182; color: #fff; padding: 0 10px; }

button.slick-arrow { opacity: 1; z-index: 2; transition: 0s; width: 50px; height: 50px; box-sizing: border-box; border: none; transition: 0.3s; top: auto; bottom: 0; transform: translateY(0); border-radius: 100%; border: solid 1px #093182; }

button.slick-prev.slick-arrow { background: url("../img/common/slide-arrow01.svg") no-repeat center #093182; left: auto; right: calc(50% + 48px); background-size: 16px; }

button.slick-next.slick-arrow { background: url("../img/common/slide-arrow02.svg") no-repeat center #093182; right: auto; left: calc(50% + 48px); background-size: 16px; }

button.slick-arrow:before { content: none; }

.slick-counter { width: 75px; height: 50px; font-size: 14px; color: #093182; position: absolute; right: 0; left: 0; bottom: 0; display: flex; flex-wrap: wrap; margin: 0 auto; }
.slick-counter span.current, .slick-counter span.total { width: 50%; text-align: center; box-sizing: border-box; }
.slick-counter span.current { padding-left: 10px; }
.slick-counter span.total { padding-top: 26px; padding-right: 10px; }
.slick-counter span.slash01 { width: 46px; height: 1px; background: #093182; transform: rotateZ(-45deg); position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; }

.works-list01.flex { margin-top: 40px; }

section#blog-sec { overflow: hidden; }

section#proto-sec { padding: 1px 5.33vw 80px; background: #EAEFFA; }
section#proto-sec .bg-img01 { height: 102.93vw; width: 94.67vw; margin-top: -46.66vw; margin-left: auto; background: url("../img/top/bg-img01-sp2.png") no-repeat left top; background-size: cover; }
section#proto-sec .wrap { padding-top: 60px; }
section#proto-sec .v-titles01 { color: #093182; margin-bottom: 123px; }
section#proto-sec .btn01 { margin-top: 60px; }
section#proto-sec .textBox { margin-top: 60px; }

.yello-bgs { margin-bottom: 20px; margin-top: -4px; }
.yello-bgs > span { margin-right: 20px; background: #FFF000; font-size: 24px; font-weight: 700; line-height: 31px; color: #093182; margin-top: 4px; display: inline-block; }

.dot-tit01 { position: relative; font-weight: 700; margin-bottom: 14px; font-size: 18px; padding-left: 15px; color: #093182; }

.dot-tit01:before { content: ""; width: 6px; height: 6px; background: #093182; border-radius: 100%; position: absolute; left: 0; top: 12px; }

.proto-cont { position: relative; }

.hum01 { position: relative; margin-left: -5px; }
.hum01 .voice { top: -92px; left: 20px; position: absolute; width: 308px; }

.hum { width: 145px; transform: rotate(3deg); position: relative; z-index: 3; }

div.check-list01.flex { position: relative; z-index: 4; margin-top: -42px; }

div.checkBox { width: 100%; min-height: 50px; display: flex; flex-wrap: wrap; margin-top: 2px; background: #fff; }
div.checkBox .ico-check { width: 50px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; background: #093182; }
div.checkBox .ico-check img { display: block; }
div.checkBox .cont { width: calc(100% - 50px); font-weight: 500; box-sizing: border-box; padding: 10px 10px 10px 20px; }

div.checkBox:first-child { margin-top: 0; }

div.checkBox:first-child, div.checkBox:nth-child(2), div.checkBox:nth-child(3) { width: 100%; }

section#range-sec { padding: 80px 5.33vw 100px; background: url("../img/top/bg02-sp.jpg") no-repeat center top; background-size: cover; color: #fff; }

.range-list.flex > div.box { width: 100%; position: relative; box-sizing: border-box; border-bottom: solid 1px #426BBC; padding: 40px 20px; background: rgba(4, 32, 88, 0.8); }
.range-list.flex > div.box .num { width: 24px; height: 24px; display: flex; flex-wrap: wrap; background: #fff; justify-content: center; align-items: center; background: #fff; color: #093182; font-size: 12px; font-family: "robo"; font-weight: 500; box-sizing: border-box; padding-top: 3px; position: absolute; left: 0; top: 0; }
.range-list.flex > div.box .cont h3.tit { font-weight: 700; font-size: 22px; margin-bottom: 20px; }
.range-list.flex > div.box .cont p.bold { margin-bottom: 10px; }
.range-list.flex > div.box.box01 .img { width: 150px; margin-top: 20px; }
.range-list.flex > div.box.box05 .img { margin-top: 30px; }

p.dot-p { position: relative; padding-left: 16px; }

p.dot-p:before { content: ""; position: absolute; left: 0; top: 10px; width: 4px; height: 4px; border-radius: 100%; background: #fff; }

.zenkoku { margin-bottom: 20px; line-height: 34px; font-size: 18px; }
.zenkoku > span { display: inline-block; border: solid 1px #fff; border-radius: 30px; padding: 0 19px; }

.bikou-text { margin-top: 12px; }
.bikou-text p { position: relative; padding-left: 16px; font-size: 14px; }
.bikou-text p:before { content: "※"; position: absolute; left: 0; top: 0; }

.seqBox { margin: 60px auto 0; }
.seqBox h4.seq-tit { line-height: 40px; padding-left: 42px; background: url("../img/top/ico-safety.svg") no-repeat left top 3px; margin-bottom: 20px; font-weight: 700; font-size: 22px; }

section#eq-sec { z-index: 2; padding-bottom: 35px; }
section#eq-sec .wrap { position: relative; z-index: 2; }
section#eq-sec .wrap .cont { padding: 60px 5.33vw 30px; }
section#eq-sec .wrap .btn01 { margin-top: 40px; }
section#eq-sec .wrap .img { overflow: hidden; }
section#eq-sec .wrap .img img { max-width: none; width: 132.8vw; display: block; margin-left: -16.4vw; }

section#blog-sec { padding: 60px 5.33vw 80px; background: #EAEFFA; }
section#blog-sec .btn01 { margin-top: 40px; }

.slider02 article.blog-art01 { margin-right: 5.86vw; opacity: 0; pointer-events: none; width: 84.26vw; }
.slider02 article.blog-art01.slick-active, .slider02 article.blog-art01.slick-active + article.blog-art01, .slider02 article.blog-art01.slick-active + article.blog-art01 + article.blog-art01 { opacity: 1; pointer-events: auto; }

article.blog-art01 { width: 100%; }
article.blog-art01 a { display: block; box-sizing: border-box; height: 100%; border: solid 1px #EEEEEE; text-decoration: none; background: #fff; }
article.blog-art01 a .img { overflow: hidden; }
article.blog-art01 a .img .in-img { padding-top: 68.57%; transition: 0.3s; }
article.blog-art01 a .cont { padding: 30px 40px; }
article.blog-art01 a .cont .n-date { font-weight: 400; margin-left: 14px; }
article.blog-art01 a .cont .tit { font-weight: 400; width: 100%; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
article.blog-art01 a .cont .infos.flex { margin-bottom: 20px; }

section#recruit-sec .wrap .cont { padding: 20px 5.33vw 60px; }
section#recruit-sec .wrap .cont .copy01 { margin-bottom: 60px; }

section#recruit-sec:before { content: ""; width: 1100px; height: 100%; position: absolute; left: calc(50% - 800px); top: 0; background: #fff; }

/*02 
----------------------------------*/
div#umv { background: url("../img/main/umv-sp.jpg") no-repeat center top; background-size: cover; box-sizing: border-box; padding-top: 60px; color: #fff; }
div#umv > .wrap { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 100px; text-align: center; }

.mv-tit { font-size: 24px; font-weight: 700; }

section#p02Box01 { padding: 60px 5.33vw 80px; }

.p02-cont01-1.flex { display: block; margin-bottom: 50px; }
.p02-cont01-1.flex h2.titles01 span.jp { font-size: 30px; }
.p02-cont01-1.flex h2.titles01 span.jp .medi { font-size: 22px; }
.p02-cont01-1.flex .img { margin-top: 30px; }

.textBox > div { margin-bottom: 24px; }
.textBox > div:last-child { margin-bottom: 0; }

.p02-cont01-2 { margin-top: 60px; }
.p02-cont01-2 > .box { margin-bottom: 60px; }
.p02-cont01-2 > .box:last-child { margin-bottom: 0; }

.muki-fumuki.flex { margin-top: 20px; justify-content: space-between; }
.muki-fumuki.flex > div { border: solid 1px #D9D9D9; box-sizing: border-box; background: #fff; width: 100%; }
.muki-fumuki.flex > div h4 { width: calc(100% + 2px); margin: -1px 0 0 -1px; background: url("../img/p02/ico-maru.svg") no-repeat center left 20px #EAEFFA; padding: 10px 10px 10px 66px; font-size: 20px; box-sizing: border-box; }
.muki-fumuki.flex > div .cont { padding: 20px; font-weight: 500; }
.muki-fumuki.flex > div.dBox.dBox02 { margin-top: 30px; }
.muki-fumuki.flex > div.dBox.dBox02 h4 { background-image: url("../img/p02/ico-batsu-.svg"); }
.muki-fumuki.flex p.dot-p { margin-top: 10px; }
.muki-fumuki.flex p.dot-p .komoji { display: block; font-size: 14px; }
.muki-fumuki.flex p.dot-p:first-child { margin-top: 0; }
.muki-fumuki.flex p.dot-p:before { background: #0A0A0A; }

div.diffBox { width: calc(50% - 5px); text-align: center; box-sizing: border-box; padding: 4.22vw 2.66vw; margin-right: 10px; background: #EAEFFA; margin-top: 10px; }
div.diffBox .ico { margin: 0 auto 2.66vw; width: 18.66vw; }
div.diffBox h4 { font-weight: 700; font-size: 4.2vw; margin-bottom: 1.06vw; }
div.diffBox .text { font-weight: 500; font-size: 3.0vw; }

div.diffBox:nth-child(2n) { margin-right: 0; }

.TBL02 dl { box-sizing: border-box; }
.TBL02 dl dt { background: #093182; width: 100%; box-sizing: border-box; padding: 20px; color: #fff; font-weight: 700; }
.TBL02 dl dd { width: 100%; padding: 20px; border: solid 1px #093182; box-sizing: border-box; }

.bg-gray { background: #EEEEEE; }

.hosokuBox { margin-top: 54px; position: relative; background: #EEEEEE; padding: 30px 20px; }

.hosokuBox:before { content: ""; background: url("../img/p02/tri01.svg") no-repeat center top; height: 43px; width: 54px; position: absolute; top: -42px; left: 50px; }

.black-tit { margin-bottom: 15px; }
.black-tit > span { display: block; background: #0A0A0A; padding: 6px 20px; line-height: 1.4; font-size: 14px; font-weight: 700; text-align: center; color: #fff; border-radius: 20px; }

.hosoku-list > div { margin-bottom: 40px; display: block; }
.hosoku-list > div .right { font-weight: 500; margin-top: 20px; }
.hosoku-list > div .right .img { margin-bottom: 10px; }
.hosoku-list > div .right .bikou-text { width: 224px; margin-left: auto; font-weight: 500; margin-top: 0; }
.hosoku-list > div .right .bikou-text p { font-size: 16px; }
.hosoku-list > div:last-child { margin-bottom: 0; }

.sub01 { margin-bottom: 15px; font-weight: 700; color: #093182; font-size: 22px; padding-left: 16px; position: relative; }

.sub01:before { content: ""; width: 6px; height: 6px; background: #093182; border-radius: 100%; position: absolute; left: 0; top: 15px; }

section#p02Box02 { padding: 80px 5.33vw; background: url("../img/top/bg01-sp.jpg") no-repeat center; background-size: cover; color: #fff; }

.tit-head.flex { justify-content: space-between; margin-bottom: 30px; }
.tit-head.flex .titles01 { margin-bottom: 20px; }
.tit-head.flex .text { line-height: 2; }

.samples.flex { display: block; }
.samples.flex .box01 { margin-bottom: 30px; }
.samples.flex .box02 { position: relative; padding-top: 10vw; }
.samples.flex .box02 .circle { position: absolute; right: 0; top: 0; width: 35vw; }

section#strength-sec { padding-top: 1px; background: #EAEFFA; margin-top: 18vw; }
section#strength-sec .bg-img01 { height: 40vw; width: 94.67vw; background: url(../img/p02/bg-img01.png) no-repeat left top; background-size: cover; position: absolute; top: -18vw; right: 0; }
section#strength-sec .wrap { padding: calc(22vw + 60px) 5.33vw 80px; }

.strength-list > div.box { margin-bottom: 20px; background: #fff; box-sizing: border-box; display: flex; flex-wrap: wrap; }
.strength-list > div.box h3.en-box { width: 26px; background: #093182; color: #fff; box-sizing: border-box; padding-top: 30px; }
.strength-list > div.box h3.en-box span.robo { font-size: 14px; font-weight: 700; white-space: nowrap; transform: rotateZ(90deg); display: block; line-height: 1; }
.strength-list > div.box > .right { padding: 30px 20px; box-sizing: border-box; width: calc(100% - 26px); }
.strength-list > div.box > .right > .img { margin-bottom: 20px; }
.strength-list > div.box:last-child { margin-bottom: 0; }

.copy02 { font-size: 22px; font-weight: 700; margin-bottom: 20px; }

section#flow-sec { padding: 80px 5.33vw; }

div.flow-list02.flex { display: block; }
div.flow-list02.flex > div.box { width: 100%; background: #EEEEEE; margin: 0 0 30px; position: relative; }
div.flow-list02.flex > div.box .cont { padding: 20px 20px 30px; }
div.flow-list02.flex > div.box:after { content: ""; width: 0; height: 0; border-top: solid 10px #093182; border-left: solid 7px transparent; border-right: solid 7px transparent; position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%); }
div.flow-list02.flex > div.box:last-child { margin-bottom: 0; }
div.flow-list02.flex > div.box:last-child:after { content: none; }

h3.num-tit { display: flex; flex-wrap: wrap; align-items: center; margin-bottom: 15px; }
h3.num-tit .num { width: 24px; height: 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; color: #fff; border-radius: 100%; font-weight: 500; font-family: "robo"; font-size: 14px; background: #093182; margin-right: 6px; line-height: 25px; }
h3.num-tit .text { font-weight: 700; font-size: 20px; width: calc(100% - 30px); }

section#range-sec02 { padding: 80px 5.33vw; background: #EAEFFA; }
section#range-sec02 .range-list.flex > div.box { background: #fff; color: #0A0A0A; position: relative; }
section#range-sec02 .range-list.flex > div.box .num { color: #fff; background: #093182; }
section#range-sec02 .range-list.flex > div.box h3.tit { color: #093182; }
section#range-sec02 .range-list.flex > div.box .zenkoku > span { border-color: #093182; color: #093182; }
section#range-sec02 .range-list.flex > div.box.box05 .img .bikou-text { color: #093182; }
section#range-sec02 .range-list.flex > div.box.box02:before { content: ""; background: url(../img/p02/sokujitsu.svg) no-repeat; width: 127px; height: 87px; position: absolute; right: 12px; top: -23px; background-size: contain; }

body:not(.home) .titles01 span.jp { font-size: 32px; }

/*03 再めっき加工
----------------------------------*/
section#p03Box01 { padding: 60px 5.33vw 80px; }

.p03-cont01-1.flex { display: block; }
.p03-cont01-1.flex .img { margin-top: 30px; }

.p03-cont01-2 { position: relative; margin-top: 90px; }
.p03-cont01-2 .hum01 { bottom: -30px; }
.p03-cont01-2 .hum01 .hum img { width: 100%; max-width: none; }

.check-lists.flex { margin-top: -20px; position: relative; z-index: 5; display: block; }
.check-lists.flex > div.box { background: #fff; border: solid 1px #D9D9D9; position: relative; margin-top: 20px; box-sizing: border-box; width: 100%; }
.check-lists.flex > div.box > h3 { background: url("../img/p03/ico01.svg") no-repeat left 20px center #EAEFFA; box-sizing: border-box; width: calc(100% + 2px); margin: -1px 0 0 -1px; padding: 15px 15px 15px 78px; }
.check-lists.flex > div.box .inner { padding: 20px 20px 30px; }
.check-lists.flex > div.box.box02 > h3 { background-image: url("../img/p03/ico02.svg"); }
.check-lists.flex > div.box.box03 > h3 { background-image: url("../img/p03/ico03.svg"); }
.check-lists.flex > div.box.box04 > h3 { background-image: url("../img/p03/ico04.svg"); }

ul.check-list02 > li { padding-left: 26px; background: url("../img/p03/ico-check.svg") no-repeat left top 4px; margin-top: 10px; }
ul.check-list02 > li:first-child { margin-top: 0; }

.solution { position: relative; margin-top: 92px; text-align: center; }
.solution > div { display: inline-block; padding: 10px; color: #fff; background: #093182; font-weight: 700; font-size: 20px; }

.solution:before { content: ""; background: url("../img/p03/arrow01.svg") no-repeat center top; width: 26px; height: 52px; margin: 0 auto; left: 0; right: 0; bottom: calc(100% + 20px); position: absolute; }

section#p03Box02 { padding: 80px 5.33vw; background: #EAEFFA; }

.hikaku-list.flex { display: block; }
.hikaku-list.flex > div.box { width: 100%; margin-bottom: 20px; }
.hikaku-list.flex > div.box .hikakuBox { position: relative; background: #fff; padding: 25px 20px 30px; }
.hikaku-list.flex > div.box .hikakuBox > .img { padding-bottom: 7vw; background: url(../img/p03/bfaf-text.svg) no-repeat center bottom 2px; background-size: auto 4.6vw; }
.hikaku-list.flex > div.box .bikou-text p { font-size: 16px; font-weight: 700; }
.hikaku-list.flex > div.box:last-child { margin-bottom: 0; }

.sub02 { margin-bottom: 24px; font-weight: 700; font-size: 22px; color: #093182; position: relative; padding-left: 20px; margin-left: -20px; }

.sub02:before { content: ""; width: 4px; height: 100%; background: #093182; position: absolute; left: 0; top: 2px; }

section#p03Box03 { padding: 80px 5.33vw; background: url("../img/top/bg01-sp.jpg") no-repeat center top; background-size: cover; color: #fff; }
section#p03Box03 .titles01 { margin-bottom: 20px; }
section#p03Box03 .u-text01 { margin-bottom: 40px; }

.ph-contBox01 { background: rgba(4, 32, 88, 0.8); padding: 30px 20px; margin-bottom: 20px; }

.ph-contBox02 { background: rgba(4, 32, 88, 0.8); padding: 30px 20px; box-sizing: border-box; display: block; }
.ph-contBox02 > .cont h3.tit { font-size: 20px; margin-bottom: 20px; }
.ph-contBox02 > .cont .text02 { font-weight: 500; font-size: 16px; margin-top: 20px; }
.ph-contBox02 > .cont .text02 span.bold { font-weight: 500; font-size: 24px; }
.ph-contBox02 > .img { margin-top: 20px; }

.com-date01 .name { font-size: 20px; margin-bottom: 20px; }

.com-addres { font-weight: 500; padding-left: 26px; background: url("../img/p03/ico-pin.svg") no-repeat left center; margin-bottom: 20px; }

.border-boxs.flex { font-weight: 500; line-height: 30px; }
.border-boxs.flex > div { margin-bottom: 10px; }
.border-boxs.flex .box01 { border: solid 1px #fff; margin-right: 20px; display: flex; flex-wrap: wrap; }
.border-boxs.flex .box01 .tit { color: #093182; background: #fff; padding: 0 10px; }
.border-boxs.flex .box01 .text { padding: 0 10px; }
.border-boxs.flex .box02 { border: solid 1px #fff; padding: 0 9px; }

.tit-head02.flex { margin-bottom: 28px; }
.tit-head02.flex h3.tit { font-weight: 700; font-size: 26px; margin-bottom: 20px; }
.tit-head02.flex .text { padding-top: 20px; border-top: solid 1px #fff; }

.askBox { margin-bottom: 20px; position: relative; padding: 20px 20px 0; background: rgba(255, 255, 255, 0.2); }
.askBox > h4 { font-weight: 700; font-size: 20px; margin-bottom: 20px; }
.askBox .hum { margin-top: 20px; position: relative; right: -20px; bottom: 0; width: 100%; height: 183px; background: url(../img/p03/sb01.svg) no-repeat left bottom 49px, url(../img/p03/hum01.png) no-repeat right bottom; background-size: 142px, 117px; transform: none; }

ul.check-list02.check-list03.flex { width: calc(100% + 20px); margin-left: -20px; margin-top: -10px; }
ul.check-list02.check-list03.flex > li { margin: 10px 0 0 20px; box-sizing: border-box; background-image: url("../img/p03/ico-check02.svg"); }
ul.check-list02.check-list03.flex > li .komoji { font-size: 14px; }
ul.check-list02.check-list03.flex > li:first-child, ul.check-list02.check-list03.flex > li:nth-child(2) { min-width: 155px; }

.method-list.flex { justify-content: space-between; }
.method-list.flex > div.cBox { padding: 30px 20px; box-sizing: border-box; background: #fff; color: #0A0A0A; }
.method-list.flex > div.cBox .ico-tit { text-align: center; font-weight: 700; font-size: 24px; margin-bottom: 30px; line-height: 48px; color: #093182; }
.method-list.flex > div.cBox .ico-tit > span { display: inline-block; padding-left: 56px; background: url("../img/p03/ico-mail03.svg") no-repeat left center; }
.method-list.flex > div.cBox.cBox01 { width: 100%; margin-bottom: 10px; }
.method-list.flex > div.cBox.cBox01 .contact-btn { width: 100%; }
.method-list.flex > div.cBox.cBox01 .contact-btn a { height: 100px; font-size: 18px; height: 60px; }
.method-list.flex > div.cBox.cBox02 { padding: 30px 20px; width: 100%; }
.method-list.flex > div.cBox.cBox02 .ico-tit > span { background-image: url("../img/p03/ico-line02.svg"); }

.line-inner.flex { justify-content: space-between; }
.line-inner.flex .box { background: #EEEEEE; padding: 18px 20px; box-sizing: border-box; }
.line-inner.flex .box.box01 { margin-bottom: 10px; }
.line-inner.flex .left { width: 100%; margin-bottom: 10px; }
.line-inner.flex .left .sub01 { margin-bottom: 10px; white-space: nowrap; }
.line-inner.flex .right { width: 100%; padding: 18px 20px 38px; box-sizing: border-box; background: #EEEEEE; }
.line-inner.flex .right .sub01 { margin-bottom: 30px; }
.line-inner.flex .sub01 { font-size: 16px; color: #0A0A0A; padding-left: 16px; }
.line-inner.flex .sub01:before { background: #0A0A0A; top: 9px; }
.line-inner.flex .qrBox { text-align: center; }
.line-inner.flex .line-btn { width: 218px; height: 62px; display: table; }
.line-inner.flex .line-btn a { display: table-cell; text-align: center; vertical-align: middle; background: #00BB00; text-decoration: none; font-weight: 700; font-size: 20px; color: #fff; border-radius: 4px; }
.line-inner.flex .line-btn a > span { display: inline-block; line-height: 48px; padding-left: 40px; background: url("../img/p03/ico-line03.svg") no-repeat center left; }

.lens-box { width: 218px; height: 42px; display: table; }
.lens-box > span { display: table-cell; vertical-align: middle; border-radius: 4px; background: url("../img/p03/ico-lens.svg") no-repeat right 20px center, #fff; border: solid 1px; padding: 0 50px 0 20px; font-weight: 500; font-size: 18px; }

section#strength-sec { padding-top: 1px; background: #EAEFFA; margin-top: 18vw; }
section#strength-sec .bg-img01 { height: 40vw; width: 94.67vw; background: url(../img/p02/bg-img01.png) no-repeat left top; background-size: cover; position: absolute; top: -18vw; right: 0; }
section#strength-sec .wrap { padding: calc(22vw + 60px) 5.33vw 80px; }

section#vice-sec { padding-top: 1px; background: #042058; margin-top: 18vw; }
section#vice-sec .bg-img01 { height: 40vw; width: 94.67vw; background: url(../img/p03/bg-img.png) no-repeat left top; background-size: cover; position: absolute; top: -18vw; right: 0; }
section#vice-sec .wrap { padding: calc(22vw + 60px) 5.33vw 80px; color: #fff; }

.voice-list.flex { margin-top: -40px; }
.voice-list.flex > div.box { width: 100%; margin: 40px 0 0 0; }
.voice-list.flex > div.box .img { margin-bottom: 20px; }
.voice-list.flex > div.box .cont h3 { font-size: 20px; font-weight: 700; margin-bottom: 14px; }

/*04 試作・開発支援
----------------------------------*/
section#p04Box01 { padding: 40px 5.33vw 100px; }
section#p04Box01 .tit-head.flex { margin-bottom: 90px; }
section#p04Box01 .solution { margin-top: 112px; }
section#p04Box01 .text02 { margin-top: 20px; }

.p04-cont01.flex { display: block; }
.p04-cont01.flex > .cont div.checkBox { width: 100%; box-sizing: border-box; border: solid 1px #093182; min-height: 50px; }
.p04-cont01.flex > .img { margin-top: 20px; }

section#p04Box02 { padding: 80px 5.33vw; background: #EAEFFA; }

section#p04Box03 { padding: 80px 5.33vw; }
section#p04Box03 h4.seq-tit { background-image: url("../img/p04/seq.svg"); color: #093182; }
section#p04Box03 .seqBox { background: #EEEEEE; box-sizing: border-box; padding: 30px 20px; }

.p04-flow > div.box.flex { align-items: flex-start; padding-bottom: 80px; justify-content: space-between; position: relative; }
.p04-flow > div.box.flex .ico { width: 80px; position: relative; z-index: 2; }
.p04-flow > div.box.flex .cont { width: calc(100% - 95px); }
.p04-flow > div.box.flex .cont h3.tit { margin-bottom: 12px; font-size: 22px; display: flex; flex-wrap: wrap; }
.p04-flow > div.box.flex .cont h3.tit .num { font-weight: 700; font-size: 26px; width: 38px; }
.p04-flow > div.box.flex .cont h3.tit .text { width: calc(100% - 38px); }
.p04-flow > div.box.flex:before { content: ""; left: 40px; height: 100%; width: 1px; background: url("../img/p04/v-line.svg") repeat-y; position: absolute; top: 5px; }
.p04-flow > div.box.flex:last-child:before { content: none; }
.p04-flow > div.box.flex:last-child { background: none; padding-bottom: 0; }

/*05  個人のお客様へ
----------------------------------*/
section#p05Box01 { padding: 60px 5.33vw 80px; }
section#p05Box01 h2.titles01 { margin-bottom: 30px; }

.p03-cont01-2.p05-cont01 { margin-top: 90px; }
.p03-cont01-2.p05-cont01 .hum01 { bottom: -23px; }
.p03-cont01-2.p05-cont01 .check-lists.flex > div.box.box01 > h3 { background-image: url("../img/p05/ico01.svg"); }
.p03-cont01-2.p05-cont01 .check-lists.flex > div.box.box02 > h3 { background-image: url("../img/p05/ico02.svg"); }

section#p05Box02 { padding: 80px 5.33vw; background: #EAEFFA; }

.reason-list02 > div.box { box-sizing: border-box; background: #fff; padding: 30px 20px; display: block; margin-bottom: 20px; }
.reason-list02 > div.box .img { margin-top: 20px; }
.reason-list02 > div.box .cont .titles01 { margin-bottom: 20px; }
.reason-list02 > div.box .cont .titles01 .jp { font-size: 28px; margin-top: 10px; }
.reason-list02 > div.box:last-child { margin-bottom: 0; }

section#p05Box03 { padding: 80px 5.33vw; }

.ex-list02.flex { display: block; }
.ex-list02.flex .exBox { background: #EEEEEE; box-sizing: border-box; padding: 30px 20px; margin-bottom: 20px; }
.ex-list02.flex .exBox .img { margin-bottom: 20px; }
.ex-list02.flex .exBox .cont dl.flex { margin-bottom: 10px; }
.ex-list02.flex .exBox .cont dl.flex dt { font-weight: 700; color: #093182; }
.ex-list02.flex .exBox .cont dl.flex:last-child { margin-bottom: 0; }
.ex-list02.flex .exBox:last-child { margin-bottom: 0; }

.ex-copy { font-size: 20px; font-weight: 700; margin-bottom: 20px; }

/*06 選ばれる理由
----------------------------------*/
section#p06Box01 { padding: 60px 5.33vw 80px; }
section#p06Box01 .titles01 { margin-bottom: 40px; }
section#p06Box01 .titles01 .jp .medi { font-size: 20px; line-height: 1.4; display: block; margin-top: 5px; }
section#p06Box01 .time-set.flex { margin-top: 20px; margin-bottom: 0; }

.p06-reasons.top-reasonBox.flex > div.box { padding-top: 30px; }
.p06-reasons.top-reasonBox.flex > div.box .ico { width: auto; height: auto; margin-bottom: 6px; }
.p06-reasons.top-reasonBox.flex > div.box .tit { color: #093182; margin-bottom: 22px; }
.p06-reasons.top-reasonBox.flex .time-set.flex div.left:before { border-left-color: #0A0A0A; }
.p06-reasons.top-reasonBox.flex .time-set.flex > div .t-tit > span { border-color: #0A0A0A; }
.p06-reasons.top-reasonBox.flex .time-set.flex div.right .t-tit > span { background: #0A0A0A; color: #fff; }

div#p06Box02 { padding: 80px 5.33vw; background: #EAEFFA; }

section.reason-sec { position: relative; background: #FFFFFF; margin-bottom: 30px; }
section.reason-sec .r-num { width: 60px; height: 60px; color: #fff; background: #093182; font-family: "robo"; text-align: center; line-height: 1; box-sizing: border-box; padding-top: 9px; position: absolute; left: 0; top: 0; }
section.reason-sec .r-num span.line01 { font-weight: 700; font-size: 14px; }
section.reason-sec .r-num span.line02 { font-size: 32px; font-weight: 700; }
section.reason-sec h2.r-tit01 { padding-left: 75px; box-sizing: border-box; display: block; font-weight: 700; font-size: 24px; color: #093182; padding-top: 20px; padding-right: 15px; }
section.reason-sec .inner.flex { padding: 20px; display: block; box-sizing: border-box; }
section.reason-sec .inner.flex .img { margin-bottom: 20px; }

section.reason-sec:last-child { margin-bottom: 0; }

.r-grayBox { margin-top: 20px; padding: 20px; background: #EEEEEE; position: relative; }
.r-grayBox p.ho-text { position: absolute; right: 20px; bottom: 20px; }

.r-grayBox + .r-grayBox { margin-top: 10px; }

ul.check-list02.check-list04 > li { box-sizing: border-box; background-image: url("../img/p06/ico-check.svg"); }

ul.dot-list03.flex { display: block; }
ul.dot-list03.flex > li { position: relative; padding-left: 15px; margin-top: 6px; box-sizing: border-box; }
ul.dot-list03.flex > li:before { content: "・"; position: absolute; left: 0; top: 0; }

dl.r-datas.flex { margin-bottom: 4px; line-height: 25px; align-items: center; }
dl.r-datas.flex dt { min-width: 84px; padding: 0 10px; background: #fff; text-align: center; font-weight: 700; color: #093182; border: solid 1px; border-radius: 4px; margin-right: 6px; box-sizing: border-box; }

dl.r-datas.flex:last-child { margin-bottom: 0; }

.r-grayBox.rg02 dl.r-datas.flex dt { color: #D50000; min-width: 135px; }

.r-copy { margin-bottom: 20px; font-size: 24px; font-weight: 700; color: #093182; }

span.yellow-bg { background: #FFF000; }

/*07 会社案内
----------------------------------*/
section#p07Box01 { padding: 60px 5.33vw 80px; }
section#p07Box01 .wrap { box-sizing: border-box; }
section#p07Box01 .wrap .imgs { margin-bottom: 20px; }
section#p07Box01 .wrap .imgs .names { text-align: right; margin-top: 10px; }
section#p07Box01 .wrap .imgs .names .line01 { margin-right: 15px; }

section#p07Box02 { padding: 80px 5.33vw calc(80px + 18vw); background: #EAEFFA; }

.TBL03 th, .TBL03 td { box-sizing: border-box; vertical-align: top; line-height: 25px; padding: 20px 0; display: block; }
.TBL03 th { color: #093182; font-size: 18px; font-weight: 700; padding-bottom: 5px; }
.TBL03 td { border-bottom: solid 1px #093182; padding-top: 0; }
.TBL03 tr:first-child th { padding-top: 0; }
.TBL03 tr:last-child td { padding-bottom: 0; border-bottom: none; }

section#p07Box03 { padding-top: 1px; }
section#p07Box03 .bg-img { height: 40vw; width: 94.67vw; background: url(../img/p07/bg-img01.png) no-repeat left top; background-size: cover; position: absolute; top: -18vw; right: 0; }
section#p07Box03 .wrap { padding: calc(22vw + 60px) 5.33vw 80px; }

.historyBox { display: flex; flex-wrap: wrap; width: 100%; padding-bottom: 54px; position: relative; box-sizing: border-box; padding-left: 40px; align-items: flex-start; }
.historyBox .age { width: 295px; display: flex; flex-wrap: wrap; color: #093182; font-weight: 700; align-items: flex-end; position: relative; top: -10px; }
.historyBox .age .line01 { font-size: 30px; width: 94px; margin-right: 20px; }
.historyBox .age .line01 .nen { font-size: 18px; margin-left: 4px; }
.historyBox .age .line02 { padding-bottom: 5px; }
.historyBox .cont { width: 100%; }

.historyBox:last-child { padding-bottom: 0; }

.historyBox:before { content: ""; width: 1px; height: 100%; left: 10px; top: 5px; background: #B0B0B0; position: absolute; }

.historyBox:last-child:before { content: none; }

.historyBox:after { content: ""; width: 12px; height: 12px; border: solid 4px #093182; border-radius: 100%; position: absolute; z-index: 2; left: 0; top: 5px; background: #fff; }

/*08 採用情報
----------------------------------*/
section#p08Box01 { padding: 60px 5.33vw 1px; }
section#p08Box01 .wrap { box-sizing: border-box; padding-bottom: calc(11vw + 80px); }
section#p08Box01 .wrap .imgs { position: relative; margin-top: 20px; padding-right: 27.33vw; }
section#p08Box01 .wrap .imgs .img02 { position: absolute; right: 0; bottom: -11vw; z-index: 2; width: 48vw; }

section#p08Box02 { background: #EAEFFA; padding: 80px 5.33vw; }

.tri-list01.flex > div.box { width: 100%; margin-bottom: 40px; position: relative; }
.tri-list01.flex > div.box .num-wrap.robo { text-align: center; position: relative; z-index: 2; margin-bottom: -12px; line-height: 24px; }
.tri-list01.flex > div.box .num-wrap.robo > span { display: inline-block; padding: 0 10px; border-radius: 15px; background: #093182; font-size: 14px; color: #fff; font-weight: 700; }
.tri-list01.flex > div.box > .img { margin-bottom: 15px; }
.tri-list01.flex > div.box > h3.tit { text-align: center; margin-bottom: 10px; font-weight: 700; font-size: 26px; }
.tri-list01.flex > div.box:last-child { margin-bottom: 0; }

section#p08Box03 { padding: 80px 5.33vw; background: #042058; }

article.interview-art.flex { margin-bottom: 40px; box-sizing: border-box; padding: 30px 20px; background: #fff; display: block; }
article.interview-art.flex .left { text-align: center; margin: 0 auto 20px; }
article.interview-art.flex .left .ico { width: 175px; margin: 0 auto; }
article.interview-art.flex .left .int-data { margin-top: 10px; font-weight: 700; color: #093182; }
article.interview-art.flex .left .int-data > span { display: inline-block; }
article.interview-art.flex .left .int-data > span:before { content: "/"; margin: 0 5px; }
article.interview-art.flex .left .int-data > span:first-child:before { content: none; }
article.interview-art.flex .right h3.tit { font-weight: 700; font-size: 22px; border-bottom: solid 2px #D4D4D4; position: relative; padding-bottom: 16px; margin-bottom: 18px; }
article.interview-art.flex .right h3.tit:before { content: ""; width: 46px; height: 2px; background: #093182; position: absolute; left: 0; bottom: -2px; }

article.interview-art.flex:last-child { margin-bottom: 0; }

section#p08Box04 { padding: 80px 5.33vw calc(80px + 18vw); }

article.rec-art { margin-bottom: 30px; border: solid 1px #093182; }
article.rec-art .opcl-cont > div { padding: 20px 20px 30px; }
article.rec-art .opcl-cont > div .btn01 { margin: 30px auto 0; }

article.rec-art:last-child { margin-bottom: 0; }

.opcl { transition: 0.3s; cursor: pointer; }

h3.rec-tit { position: relative; background: #093182; color: #fff; font-weight: 700; font-size: 20px; padding: 10px 50px 10px 20px; }
h3.rec-tit .opcl-ico { width: 25px; height: 25px; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); z-index: 2; transition: 0.3s; }
h3.rec-tit .opcl-ico:before { content: ""; width: 100%; height: 1px; background: #fff; position: absolute; left: 0; top: calc(50%); transition: 0.3s; }
h3.rec-tit .opcl-ico:after { content: ""; width: 1px; height: 100%; background: #fff; position: absolute; left: calc(50%); top: 0; transition: 0.3s; }

.opcl.on .opcl-ico:after { opacity: 0; }

.opcl-cont { display: none; }

.TBL01 th, .TBL01 td { box-sizing: border-box; padding: 20px 0; line-height: 25px; vertical-align: top; display: block; }
.TBL01 th { font-weight: 700; color: #093182; padding-bottom: 5px; }
.TBL01 th br { display: none; }
.TBL01 td { padding-top: 0; }
.TBL01 tr { border-bottom: solid 1px #C1D0F0; }
.TBL01 tr:last-child { border-bottom: none; }
.TBL01 tr:last-child th, .TBL01 tr:last-child td { padding-bottom: 0; }
.TBL01 tr:first-child th, .TBL01 tr:first-child td { padding-top: 0; }

section#p08Box05 { padding: 1px 0 0; background: #EAEFFA; }
section#p08Box05 .bg-img { height: 40vw; width: 94.67vw; background: url(../img/p08/bg-img.png) no-repeat left top; background-size: cover; position: absolute; top: -18vw; right: 0; }
section#p08Box05 .wrap { padding: calc(22vw + 60px) 5.33vw 80px; }

.rec-flows.flex > div.box { width: 100%; position: relative; box-sizing: border-box; background: #fff; margin-bottom: 34px; padding: 30px 20px; }
.rec-flows.flex > div.box .num-text.robo { color: #093182; transform: rotateZ(90deg); position: absolute; z-index: 2; left: 38px; top: 20px; transform-origin: left top; font-size: 20px; font-weight: 700; }
.rec-flows.flex > div.box .ico { text-align: center; margin: 0 auto 20px; width: 40vw; }
.rec-flows.flex > div.box h3.tit { text-align: center; margin-bottom: 10px; color: #093182; font-weight: 700; font-size: 24px; }
.rec-flows.flex > div.box:after { content: ""; width: 0; height: 0; border-top: solid 14px #093182; border-left: solid 10px transparent; border-right: solid 10px transparent; position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%); }
.rec-flows.flex > div.box:last-child { margin-bottom: 0; }
.rec-flows.flex > div.box:last-child:after { content: none; }

/*09 お問い合わせ
----------------------------------*/
section#p09Box01 { padding: 60px 5.33vw 80px; }

.p09-cont01.flex { display: block; margin-bottom: 40px; }
.p09-cont01.flex .img { margin-top: 20px; }

div.lsBox { margin-bottom: 20px; display: flex; flex-wrap: wrap; border: solid 1px #093182; margin-top: 20px; box-sizing: border-box; border: solid 1px #093182; font-weight: 700; }
div.lsBox .left { width: 100%; box-sizing: border-box; background: #093182; color: #fff; padding: 10px 20px; }
div.lsBox .right { width: 100%; box-sizing: border-box; padding: 10px 20px; position: relative; }

div.lsBox:last-child { margin-bottom: 0; }

.tel-fax.flex { margin-top: 40px; justify-content: space-between; }
.tel-fax.flex > div { width: 100%; box-sizing: border-box; background: #EAEFFA; padding: 30px 20px; margin-bottom: 20px; }
.tel-fax.flex > div > h3 { text-align: center; font-weight: 700; font-size: 22px; color: #093182; padding-top: 55px; background: url("../img/p09/ico-tel.svg") no-repeat center top; margin-bottom: 15px; background-size: 48px; }
.tel-fax.flex > div .tel-set { width: 255px; margin: 0 auto; }
.tel-fax.flex > div .tel-set .tel-num a { font-weight: 500; color: #093182; font-size: 40px; line-height: 1; white-space: nowrap; }
.tel-fax.flex > div .tel-set .tel-num a .komoji { display: none; }
.tel-fax.flex > div .tel-set .bh { text-align: right; font-size: 16px; }
.tel-fax.flex > div.box02 { margin-bottom: 0; }
.tel-fax.flex > div.box02 h3 { background-image: url("../img/p09/ico-fax.svg"); }
.tel-fax.flex > div.box02 .fax-num { text-align: center; font-family: "robo"; font-weight: 500; color: #093182; font-size: 40px; line-height: 1; }

div#p09Box03 { padding: 80px 5.33vw; background: #EAEFFA; }

.contactBox { background: #fff; padding: 30px 20px; }
.contactBox > h2.tit { text-align: center; font-weight: 700; font-size: 22px; color: #093182; padding-top: 88px; background: url("../img/p09/ico-mail.svg") no-repeat center top; margin-bottom: 40px; }

.contact-text.bikou-text { margin: 0 auto; }
.contact-text.bikou-text p { font-weight: 500; font-size: 14px; }

/*フォーム*/
.file-bikou { font-size: 14px; }

ul.contact-state { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 40px auto 10px; }

ul.contact-state > li { display: table; width: 30%; height: 51px; position: relative; }

ul.contact-state > li > span { display: table-cell; text-align: center; vertical-align: middle; color: #093182; font-size: 15px; font-weight: 500; line-height: 1.2; padding-top: 3px; }

ul.contact-state > li.state01 { margin-left: 0; }

ul.contact-state > li.state01 > span { background: #093182; color: #fff; }

ul.contact-state > li > span span.num { margin-right: 8px; font-size: 20px; }

ul.contact-state > li.state02 > span { background: #fff; border: solid 1px #093182; }

ul.contact-state.contact-state02 { display: flex; flex-wrap: wrap; justify-content: space-between; }

ul.contact-state.contact-state02 > li.state02 > span { background: #093182; color: #fff; }

ul.contact-state > li.state03 > span { border: solid 1px #093182; }

span.num-circle { font-size: 16px; display: block; line-height: 1; }

a.green { text-decoration: underline; color: #093182; }

.contactTBL th, .contactTBL td { display: block; box-sizing: border-box; font-size: 16px; padding: 20px 0; color: #000000; line-height: 1.66; }
.contactTBL th { padding-bottom: 15px; }
.contactTBL td { padding-top: 0; }
.contactTBL .wpcf7-list-item { margin-left: 0; display: block; margin-bottom: 10px; margin-right: 25px; }
.contactTBL input[type="checkbox"], .contactTBL input[type="radio"] { transform-origin: left center; transform: scale(1.5); margin-right: 8px; }

span.hissu { display: inline-block; color: #fff; padding: 0px 7px; background: #D50000; margin-right: 8px; box-sizing: border-box; font-size: 14px; font-weight: 700; border-radius: 5px; }

span.nini { display: inline-block; padding: 0px 6px; margin-right: 8px; font-size: 14px; font-weight: 700; border-radius: 5px; background: #E6E6E6; }

input.wpcf7-number, input.wpcf7-date, input.wpcf7-text { box-sizing: border-box; height: 40px; border: solid 1px #D4D4D4; padding: 5px 10px; font-size: 16px; background: #fff; width: 100%; }

input.wpcf7-date { padding: 5px 10px; }

.wpcf7-select { box-sizing: border-box; height: 40px; border: solid 1px #D4D4D4; padding: 5px 30px 0 10px; font-size: 16px; background: #fff; width: auto; background: url(../img/p11/select-arrow.svg) no-repeat center right 10px #fff; width: auto; -webkit-appearance: none; appearance: none; }

select { background: #fff; border-radius: 0; }

textarea.wpcf7-textarea { box-sizing: border-box; height: 160px; border: solid 1px #D4D4D4; padding: 5px 10px; font-size: 16px; background: #fff; width: 100%; }

input#com-name, input#busho { width: 100%; }

.okomari-list span.wpcf7-list-item { display: block; }

.radio-list span.wpcf7-list-item { display: block; }

.contactTBL .select-con .wpcf7-list-item { display: block; margin-right: 10px !important; }

.select-con { margin-bottom: 15px; }

input#your-name, input#your-kana { width: 100%; }

.cours-area { margin-top: 5px; }

input.wpcf7-text.tel01, input#zip01 { width: 180px; }

select#pref3 { width: auto; }

span.form-bikou { display: block; }

ul.address-list > li { margin-bottom: 30px; }
ul.address-list > li:last-child { margin-bottom: 0; }
ul.address-list .th { font-size: 14px; margin-bottom: 5px; }

.contactArea .codedropz-upload-container { padding: 0; }

.contactArea .codedropz-upload-handler { border: solid 1px #D4D4D4; border-radius: 0; background: url("../img/p09/ico-file.svg") no-repeat center top 15px #fff; padding: 50px 10px 30px; }

.contactArea .codedropz-upload-inner { color: #1C1C1C; line-height: 1.5; font-size: 16px; font-weight: 500; }

.contactArea .codedropz-upload-inner h3 { font-size: 14px; font-weight: 500; margin: 0; }

a.cd-upload-btn { width: 140px; height: 40px; display: inline-block; line-height: 35px; background: #E3E3E3; border: solid 1px #707070; border-radius: 0; padding-top: 3px; font-size: 16px; margin-top: 8px; color: #000000; }

.contact-submit.flex { margin-top: 30px; justify-content: center; flex-direction: row-reverse; position: relative; }

.contact-submit.flex > p { width: 100%; text-align: center; margin-top: 30px; }

.inb { display: inline-block; }

.form-btn { width: 100%; position: relative; }

.form-btn input[type="submit"], .form-btn input[type="button"] { transition: 0.3s; border: solid 1px #D50000; color: #fff; width: 100%; height: 60px; font-size: 16px; font-weight: 700; position: relative; z-index: 3; background: url("../img/p09/btn-bg01.svg") no-repeat center right 16px #D50000; padding-left: 40px; text-align: left; }

.form-btn.form-btn02 { margin-top: 10px; }

.form-btn.form-btn02 input[type="submit"], .form-btn.form-btn02 input[type="button"] { background-color: #fff; color: #D50000; text-align: right; padding-right: 40px; background-image: url("../img/p09/btn-bg02.svg"); background-position: left 16px center; }

.form-btn input { transition: 0.3s; cursor: pointer; }

span.zip-mark { margin-right: 10px; font-size: 14px; }

span.zip-bikou { margin-left: 15px; font-size: 13px; }

.zip_list > div { margin-bottom: 10px; }
.zip_list > div:last-child { margin-bottom: 0; }
.zip_list .zip00.zip02 > div { margin-bottom: 10px; }
.zip_list .zip00.zip02 > div:last-child { margin-bottom: 0; }

.wpcf7-spinner { position: absolute !important; top: -10px !important; }

/*入力内容確認時にフォーム上部へスクロールするがナビゲーションが追従の場合フォームとナビゲーションが重なるのでそのためのオフセット設定*/
form.wpcf7-form { padding-top: 80px; margin-top: -80px; }

.wpcf7c-conf { background-color: #e8f0fe !important; }

input:-webkit-autofill, input:-internal-autofill-selected { -webkit-appearance: none; -webkit-box-shadow: 0 0 0px 1000px #e8f0fe inset !important; box-shadow: 0 0 0px 1000px #e8f0fe inset !important; }

::placeholder { font-size: 16px; color: #B2B2B2; line-height: 1.5; }

/*確認画面*/
.contactArea.che { background: #eee; padding: 20px 15px; }
.contactArea.che .pop-btn.opcl-btn.on { pointer-events: none; }
.contactArea.che .opcl-wrap { display: block !important; }
.contactArea.che div.opcl-inBox { padding-top: 20px; }

.contactArea.che .contactTBL tr { border-bottom: solid 1px #000; }

.contactArea.che .contactTBL th, .contactArea.che .contactTBL td { padding-top: 5px; padding-bottom: 5px; vertical-align: middle; }

.contactArea.che .dnd-upload-status .dnd-upload-details .remove-file, .contactArea.che .codedropz-upload-handler, .contactArea.che .bikou-text01, .contactArea.che span.dnd-progress-bar, .contactArea.che input[type=checkbox] { display: none; }

.contactArea.che input[type=checkbox]:checked { display: inline-block; }

.contactArea.che input[type=checkbox] ~ span.wpcf7-list-item-label { display: none; }

.contactArea.che input[type=checkbox]:checked ~ span.wpcf7-list-item-label { display: inline-block; font-weight: 700; }

.contactArea.che input[type=radio] { display: none; }

.contactArea.che input[type=radio]:checked { display: inline-block; }

.contactArea.che input[type=radio] ~ span.wpcf7-list-item-label { display: none; }

.contactArea.che input[type=radio]:checked ~ span.wpcf7-list-item-label { display: inline-block; font-weight: 700; }

.contactArea.che textarea.wpcf7-textarea, .contactArea.che input.wpcf7-number, .contactArea.che input.wpcf7-date, .contactArea.che input.wpcf7-text, .contactArea.che select { font-weight: 700; }

/*10 設備紹介
----------------------------------*/
div#contents.bg01 { background: #EAEFFA; }

div#p10Box01 { padding: 60px 5.33vw 80px; }

.eq-list.flex { margin-top: 30px; display: block; }

article.ea-art { background: #fff; box-sizing: border-box; padding: 30px 20px; width: 100%; margin-bottom: 30px; }
article.ea-art .img { margin-bottom: 15px; }
article.ea-art .img .in-img { padding-top: 66.66%; }
article.ea-art h3.tit { color: #093182; margin-bottom: 20px; font-weight: 700; font-size: 20px; }

article.ea-art:last-child { margin-bottom: 0; }

.TBL05 th, .TBL05 td { box-sizing: border-box; line-height: 25px; padding: 10px 5px 10px 15px; }
.TBL05 th { color: #fff; font-weight: 700; background: #093182; width: 90px; border-bottom: solid 1px #5776B4; }
.TBL05 td { border-top: solid 1px #EEEEEE; }
.TBL05 tr:last-child th { border-color: #5776B4; }
.TBL05 tr:last-child td { border-bottom: solid 1px #EEEEEE; }

div#p10Box02 { padding: 80px 5.33vw; background: #fff; }

.TBL06 { overflow: auto; width: 94.67vw; }
.TBL06 table { width: 700px; margin-right: 20px; }
.TBL06 .col01 { width: 200px; }
.TBL06 .col02 { width: 200px; }
.TBL06 .col03 { width: 200px; }
.TBL06 .col04 { width: 100px; }
.TBL06 thead th { background: #093182; color: #fff; font-weight: 700; border-right: solid 1px #5776B4; }
.TBL06 thead th:last-child { border-right: solid 1px #093182; }
.TBL06 td { background: #fff; }
.TBL06 tr:nth-child(2n) td { background: #FAFAFA; }
.TBL06 th, .TBL06 td { box-sizing: border-box; padding: 20px; box-sizing: border-box; }
.TBL06 td { border-left: solid 1px #EEEEEE; border-right: solid 1px #EEEEEE; }
.TBL06 tr:last-child td { border-bottom: solid 1px #EEEEEE; }

.scroll-hint-text { font-size: 0 !important; }

.scroll-hint-text:before { content: "スクロールできます"; font-size: 12px !important; }

.scroll-hint-icon { height: 90px !important; width: 150px !important; top: calc(10% - 25px) !important; }

/*11 実績紹介
----------------------------------*/
div#p11Box01 { padding: 60px 5.33vw 80px; }

.works-list-all.flex { justify-content: space-between; }
.works-list-all.flex article.works-art { width: 100%; margin-bottom: 30px; }
.works-list-all.flex article.works-art:last-child { margin-bottom: 0; }

.w-data { margin-top: 20px; }
.w-data dl { margin-bottom: 8px; }
.w-data dl dt { width: 68px; color: #093182; font-weight: 700; }
.w-data dl dd { width: calc(100% - 68px); }
.w-data dl:last-child { margin-bottom: 0; }

/*詳細*/
div#p11sBox { padding: 60px 5.33vw 80px; }

div#two-side { margin-top: 50px; }

article.singleBox01 { background: #fff; padding: 30px 20px; }
article.singleBox01 .n-date { margin-left: auto; }
article.singleBox01 .TBL07 { margin-top: 30px; }

h1.works-tit01 { margin-top: 10px; font-size: 20px; line-height: 1.5; margin-bottom: 15px; }

.TBL07 th, .TBL07 td { box-sizing: border-box; padding: 20px 0; border-bottom: solid 1px #C1D0F0; }
.TBL07 tr:first-child th, .TBL07 tr:first-child td { padding-top: 0; }
.TBL07 th { font-weight: 700; color: #093182; width: 68px; vertical-align: top; }

.works-detaile { margin-top: 40px; }

.sub03 { margin-bottom: 10px; color: #093182; font-weight: 700; }
.sub03 > span { display: inline-block; position: relative; padding: 0 12px; }
.sub03 > span:before { content: ""; width: 4px; height: 4px; border-radius: 100%; background: #093182; position: absolute; left: 0; top: 11px; }
.sub03 > span:after { content: ""; width: 4px; height: 4px; border-radius: 100%; background: #093182; position: absolute; right: 0; top: 11px; }

.bfaf-list { margin-top: 40px; }
.bfaf-list > .bfafBox { margin-bottom: 30px; }
.bfaf-list > .bfafBox .tit { font-weight: 700; color: #093182; margin-bottom: 15px; font-size: 18px; }
.bfaf-list > .bfafBox:last-child { margin-bottom: 0; }

.bfaf-imgs.flex { justify-content: center; margin-bottom: 20px; }
.bfaf-imgs.flex > div { width: 100%; position: relative; margin-bottom: 20vw; }
.bfaf-imgs.flex > div .in-img { padding-top: 67.57%; }
.bfaf-imgs.flex > div:last-child { margin-bottom: 0; }

.bfaf-imgs.afbf-t.flex > div { padding-bottom: 10.66vw; }
.bfaf-imgs.afbf-t.flex div.img.bf:after { content: ""; width: 0; height: 0; border-top: solid 3vw #093182; border-left: solid 4vw transparent; border-right: solid 4vw transparent; position: absolute; top: calc(100% + 7vw); left: 50%; transform: translateX(-50%); }
.bfaf-imgs.afbf-t.flex .img.bf { background: url("../img/p11/i-before.svg") no-repeat center bottom; background-size: auto 7vw; }
.bfaf-imgs.afbf-t.flex .img.af { background: url("../img/p11/i-after.svg") no-repeat center bottom; background-size: auto 7vw; }

.witerBox { margin-top: 40px; background: #EEEEEE; position: relative; padding: 60px 20px 30px; }
.witerBox > .cap { position: absolute; left: 0; top: 0; color: #fff; background: #0A0A0A; line-height: 39px; width: 184px; text-align: center; font-weight: 700; }
.witerBox .inner { position: relative; }
.witerBox .inner .img { width: 110px; margin: 0 auto 20px; }
.witerBox .inner .img .in-img { padding-top: 100%; border-radius: 100%; }
.witerBox .inner > h2 { font-weight: 700; font-size: 22px; }
.witerBox .inner .job-name { color: #093182; font-weight: 500; }
.witerBox .inner .wr-detail { margin-top: 10px; }
.witerBox .inner .writer_lic { margin-top: 15px; line-height: 25px; display: flex; flex-wrap: wrap; align-items: flex-start; }
.witerBox .inner .writer_lic span.cap { margin-right: 10px; display: inline-block; box-sizing: border-box; width: 90px; border-radius: 30px; font-size: 14px; background: #C9C9C9; text-align: center; }
.witerBox .inner .writer_lic > span.inb { width: 100%; margin-top: 5px; }

div.gallery-main { margin-bottom: 10px; }
div.gallery-main button.slick-arrow { width: 18px; height: 40px; border-radius: 0; top: 28vw; transform: translateY(-50%); }
div.gallery-main button.slick-prev.slick-arrow { background: url("../img/p11/slide-arrow01.svg") no-repeat center #093182; left: 0; }
div.gallery-main button.slick-next.slick-arrow { background: url("../img/p11/slide-arrow02.svg") no-repeat center #093182; right: 0; left: auto; }

.gallery-img { width: 100%; }
.gallery-img a { display: block; position: relative; text-decoration: none; }
.gallery-img a:after { content: ""; position: absolute; right: 0; bottom: 0; z-index: 2; background: url("../img/p05/ico-lens.svg") no-repeat center, rgba(0, 0, 0, 0.5); width: 40px; height: 40px; }
.gallery-img p { margin-top: 1vw; line-height: 1.5; font-size: 3.2vw; }

.gallery-photo { padding-top: 68.62%; }

.gallery-thumb { width: 20vw; margin-right: 1.06vw; cursor: pointer; position: relative; }
.gallery-thumb .thumb-photo { padding-top: 67.02%; }

.gallery-thumb:after { content: ""; background: #000; width: 100%; height: 100%; z-index: 2; position: absolute; left: 0; top: 0; opacity: 0; transition: 0.3s; }

.gallery-thumb.slick-current:after { opacity: 0.6; }

.sideBox { margin-bottom: 40px; }

.sideBox:last-child { margin-bottom: 0; }

.side-tit { font-size: 20px; font-weight: 700; padding-left: 20px; position: relative; line-height: 1.5; margin-bottom: 24px; color: #093182; }

.side-tit:before { content: ""; width: 4px; height: 100%; background: #093182; position: absolute; left: 0; top: 0; }

li.side-li { border-top: solid 1px #C1D0F0; font-weight: 700; }
li.side-li a { text-decoration: none; display: block; padding: 24px 30px 24px 15px; line-height: 1; background: url("../img/p11/side-arrow.svg") no-repeat center right 15px; }

li.side-li.r_current a { background-color: #DAE3F6; pointer-events: none; }

li.side-li:last-child { border-bottom: solid 1px #C1D0F0; }

.side-inner select { display: block; width: 100%; border-radius: 0; padding: 5px 47px 5px 20px; box-sizing: border-box; height: 60px; background: url("../img/p11/select-arrow.svg") no-repeat center right 28px #fff; font-size: 16px; font-weight: 500; cursor: pointer; border: none; -webkit-appearance: none; appearance: none; }

/*ページャー*/
div#pager00 { text-align: center; }

div#pager00 .wp-pagenavi { margin-top: 40px; }

.wp-pagenavi > span, .wp-pagenavi > a { display: inline-block; margin: 4px; text-decoration: none; width: 48px; height: 48px; text-align: center; line-height: 46px; font-size: 14px; font-weight: 700; color: #093182; background: #fff; border: solid 1px #093182; box-sizing: border-box; border-radius: 100%; font-family: "inte"; padding-right: 1px; }

.wp-pagenavi a.page { position: relative; }

.wp-pagenavi span.extend { background: none; color: #093182; box-shadow: none; border: none; }

.wp-pagenavi a.previouspostslink { color: transparent; background: url("../img/p11/arrow02.svg") no-repeat center #fff; margin-left: 0; }

.wp-pagenavi a.nextpostslink { color: transparent; background: url("../img/p11/arrow03.svg") no-repeat center #fff; margin-right: 0; }

.wp-pagenavi span.current { color: #fff; background: #093182; }

.wp-pagenavi a.first { display: none; }

.wp-pagenavi a.last { display: none; }

.wp-pagenavi span.pages { display: none; }

.post-navigation ul { margin-top: 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.post-navigation ul > li { margin-right: 10px; }
.post-navigation ul > li:last-child { margin-right: 0; }
.post-navigation ul li.prev, .post-navigation ul li.next { border-radius: 100%; }
.post-navigation ul li.prev a, .post-navigation ul li.next a { display: flex; flex-wrap: wrap; align-items: center; font-weight: 700; color: #093182; transition: 0.3s; }
.post-navigation ul li.prev a .arrow, .post-navigation ul li.next a .arrow { width: 50px; height: 50px; border-radius: 100%; border: solid 1px #093182; box-sizing: border-box; display: block; background-color: #093182; }
.post-navigation ul li.kara { opacity: 0; pointer-events: none; display: flex; flex-wrap: wrap; }
.post-navigation ul li.kara .arrow { width: 50px; height: 50px; }
.post-navigation ul li.prev.kara { opacity: 0; pointer-events: none; display: flex; flex-wrap: wrap; }
.post-navigation ul li.prev.kara .arrow { argin-right: 0; }
.post-navigation ul li.prev.kara span.text { display: none; }
.post-navigation ul li.next.kara { opacity: 0; pointer-events: none; display: flex; flex-wrap: wrap; }
.post-navigation ul li.next.kara .arrow { argin-left: 0; }
.post-navigation ul li.next.kara span.text { display: none; }
.post-navigation ul li.prev a .arrow { background-image: url("../img/p11/arrow-prev.svg"); background-position: center; margin-right: 0; background-repeat: no-repeat; }
.post-navigation ul li.prev a span.text { display: none; }
.post-navigation ul li.next a .arrow { background-image: url("../img/p11/arrow-next.svg"); background-position: center; margin-left: 0; background-repeat: no-repeat; }
.post-navigation ul li.next a span.text { display: none; }
.post-navigation ul li.blog-back { width: 140px; height: 50px; display: table; }
.post-navigation ul li.blog-back > a { display: table-cell; text-align: center; vertical-align: middle; text-decoration: none; border: solid 2px #093182; background: #fff; color: #093182; border-radius: 40px; font-weight: 700; }

/*12  ブログ
----------------------------------*/
article.blog-art02 { margin-bottom: 20px; }
article.blog-art02 a { text-decoration: none; display: flex; flex-wrap: wrap; width: 100%; background: #fff; }
article.blog-art02 a .img { width: 100%; overflow: hidden; }
article.blog-art02 a .img .in-img { padding-top: 75%; transition: 0.3s; }
article.blog-art02 a .cont { padding: 20px 20px 30px; width: 100%; box-sizing: border-box; }
article.blog-art02 a .cont h2.tit { margin-bottom: 15px; font-weight: 700; font-size: 18px; width: 100%; line-height: 25px; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-top: 8px; }
article.blog-art02 a .cont .n-date { font-weight: 400; }

article.blog-art02:last-child { margin-bottom: 0; }

/*詳細*/
article.singleBox01 { background: #fff; }
article.singleBox01 .infos.flex { margin-left: -10px; width: calc(100% + 10px); margin-bottom: 10px; }
article.singleBox01 .infos.flex > div { line-height: 25px; font-size: 16px; }
article.singleBox01 .infos.flex > .cate { margin-left: 10px; }
article.singleBox01 .infos.flex .n-date { margin-left: auto; }
article.singleBox01 .box01 { margin-bottom: 40px; line-height: 1.6; }
article.singleBox01 .box02 { margin-bottom: 60px; line-height: 1.6; }

.case-tit02 { font-size: 18px; font-weight: 700; line-height: 1.6; margin-bottom: 15px; position: relative; padding-left: 28px; color: #093182; }

.case-tit02:before { content: ""; width: 16px; height: 1px; background: #093182; position: absolute; left: 0; top: 14px; }

.blog-tit02 { font-size: 18px; font-weight: 700; line-height: 1.6; margin-bottom: 20px; color: #093182; border-bottom: solid 2px; padding-bottom: 14px; }

article.singleBox01 .box01 p:first-child, article.singleBox01 .box02 p:first-child, .blog-text p:first-child { margin-top: 0; }
article.singleBox01 .box01 p:first-child img, article.singleBox01 .box02 p:first-child img, .blog-text p:first-child img { margin-top: 0; }
article.singleBox01 .box01 img:first-child, article.singleBox01 .box02 img:first-child, .blog-text img:first-child { margin-top: 0; }
article.singleBox01 .box01 img[class*="wp-image-"], article.singleBox01 .box02 img[class*="wp-image-"], .blog-text img[class*="wp-image-"] { margin: 20px 0; }
article.singleBox01 .box01 iframe, article.singleBox01 .box02 iframe, .blog-text iframe { max-width: 100%; }
article.singleBox01 .box01 div, article.singleBox01 .box02 div, .blog-text div { max-width: 100%; }
article.singleBox01 .box01 a, article.singleBox01 .box02 a, .blog-text a { max-width: 100%; text-decoration: underline; }

article.singleBox01.singleBox01-blog div.witerBox { margin-top: 40px; }
article.singleBox01.singleBox01-blog div#toc_container { box-sizing: border-box; width: 100%; background: #EEEEEE; border: none; padding: 20px 20px 12px; margin-bottom: 40px; }
article.singleBox01.singleBox01-blog div#toc_container p.toc_title { text-align: left; line-height: 1.6; font-size: 16px; font-weight: 700; color: #093182; margin-bottom: 14px; position: relative; padding-left: 12px; }
article.singleBox01.singleBox01-blog div#toc_container p.toc_title:before { content: ""; width: 4px; height: 4px; background: #093182; border-radius: 100%; position: absolute; left: 0; top: 11px; }
article.singleBox01.singleBox01-blog div#toc_container p.toc_title:after { content: ""; width: 4px; height: 4px; background: #093182; border-radius: 100%; position: absolute; left: 52px; top: 11px; }
article.singleBox01.singleBox01-blog div#toc_container ul.toc_list { margin-top: 0 !important; }
article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li { font-size: 16px; font-weight: 500; margin-bottom: 8px; }
article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li a { display: inline-block; position: relative; }
article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li > a { padding-left: 18px; }
article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li > ul { margin-top: 8px; }
article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li > ul > li { margin-bottom: 8px; }
article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li > ul > li > a { padding-left: 36px; }
article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li > ul > li > ul { margin-top: 8px; }
article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li > ul > li > ul > li { margin-bottom: 8px; }
article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li > ul > li > ul > li > a { padding-left: 52px; }
article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li span.toc_number { display: inline-block; font-size: 16px; font-family: "robo"; color: #093182; vertical-align: -2px; margin-right: 10px; position: absolute; left: 0; top: 0; }
article.singleBox01.singleBox01-blog div#toc_container ul.toc_list > li span.toc_number:after { content: "."; }

.blog_word_box { margin-top: 60px; }
.blog_word_box > .tit { color: #0A0A0A; font-weight: 700; line-height: 1.6; margin-bottom: 10px; font-size: 16px; position: relative; padding-left: 28px; }
.blog_word_box > .tit:before { content: ""; width: 16px; height: 1px; background: #0A0A0A; position: absolute; left: 0; top: 13px; }

ul.word_list.flex { margin-top: -10px; margin-left: -10px; width: calc(100% + 10px); }
ul.word_list.flex > li { margin: 10px 0 0 10px; font-weight: 500; }

/*13 業界別事例
----------------------------------*/
div#p100Box01.case-alls { text-align: left; }

div#p13sBox01 { padding: 60px 0 80px; }
div#p13sBox01 .cont01.wrap { position: relative; z-index: 2; margin-bottom: -15px; padding: 0 5.33vw; }
div#p13sBox01 .ovh { height: 240px; }
div#p13sBox01 div#belt-slider { margin-top: 0; display: flex; flex-wrap: wrap; justify-content: center; }
div#p13sBox01 .cont02.wrap { margin-top: 40px; padding: 0 5.33vw; }
div#p13sBox01 .cont02.wrap .solution { margin-top: 122px; }
div#p13sBox01 .cont02.wrap .solution > div { background: none; padding: 0; color: #093182; }
div#p13sBox01 .cont02.wrap .solution:before { bottom: calc(100% + 30px); }
div#p13sBox01 .cont02.wrap .text02 { margin-top: 35px; }

.bs .in-img { padding-top: 75%; }

.ovh { overflow: hidden; }

.blue-bg-text { margin-bottom: 6px; line-height: 1.5; color: #fff; font-weight: 700; font-size: 22px; }
.blue-bg-text > span { display: inline-block; padding: 5px 10px 7px; background: #093182; }

.trouBox { padding: 30px 20px; position: relative; background: #EEEEEE; }
.trouBox .sub02 { font-size: 22px; margin-bottom: 20px; }

ul.feat-list02.flex { margin-top: 25px; justify-content: center; align-items: center; }
ul.feat-list02.flex > li { margin-left: -10px; background: #D50000; padding: 0 20px; line-height: 36px; padding-bottom: 2px; background: #D50000; text-align: center; color: #fff; font-weight: 700; font-size: 18px; clip-path: polygon(17px 0%, 100% 0%, calc(100% - 17px) 100%, 0% 100%); margin-top: 6px; }
ul.feat-list02.flex > li:first-child { margin-left: 0; }

h3.so-tit { font-size: 22px; font-weight: 700; margin-bottom: 10px; }

.yellow-text { margin-bottom: 20px; }
.yellow-text > span { font-weight: 700; background: #FFF000; color: #093182; }

section#p13sBox02 { padding: 80px 5.33vw; background: #EAEFFA; }
section#p13sBox02 .strength-list > div.box > .right > .img .in-img { padding-top: 65.07%; }

section#voice-sec02 { padding: 80px 5.33vw; background: #042058; color: #fff; }
section#voice-sec02 .btn01 { margin: 40px auto 0; }

article.voice-art02 { width: 100%; margin-bottom: 30px; }
article.voice-art02 a { display: block; text-decoration: none; color: #fff; }
article.voice-art02 a .img { overflow: hidden; margin-bottom: 20px; }
article.voice-art02 a .img .in-img { padding-top: 63.07%; transition: 0.3s; }
article.voice-art02 a .text { width: 100%; line-height: 1.4; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }

.voice-list02.flex article.voice-art02:last { margin-bottom: 0; }

/*100 thanksページ等
----------------------------------*/
div#p100Box01 { padding: 60px 5.33vw 80px; text-align: center; }
div#p100Box01 .btn01 { margin: 30px auto 0; }

div#ppBox01 { text-align: left; }

.pp-title01 { font-size: 22px; border-bottom: solid 2px; margin-bottom: 25px; padding-bottom: 10px; }

.pp-title02:first-child { margin-top: 0; }

.pp-title02 { font-size: 18px; padding-left: 15px; position: relative; color: #093182; margin-top: 50px; }

.pp-title02:before { content: ""; width: 5px; height: 65%; background: #093182; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }

/*デバイス幅ごとの調整（必要な幅があれば追加して調整）*/
