@charset "UTF-8";
/*webフォント読み込み*/
@font-face { /*NotoSansJP-Regular*/
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/NotoSansJP-Regular.otf") format("truetype"); font-weight: 400; }
@font-face { /*NotoSansJP-SemiBold*/
font-family: 'Noto Sans JP'; src: url("../fonts/NotoSansJP-SemiBold.otf"); src: url("../fonts/NotoSansJP-SemiBold.woff2") format("woff2"), url("../fonts/NotoSansJP-SemiBold.woff") format("woff"), url("../fonts/NotoSansJP-SemiBold.otf") format("truetype"); font-weight: 600; }
@font-face { /*NotoSansJP-Bold*/
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 { /*Poppins-Regular*/
font-family: 'pop'; src: url("../fonts/Poppins-Regular.otf"); src: url("../fonts/Poppins-Regular.woff2") format("woff2"), url("../fonts/Poppins-Regular.woff") format("woff"), url("../fonts/Poppins-Regular.otf") format("truetype"); font-weight: 400; }
@font-face { /*Poppins-SemiBold*/
font-family: 'pop'; src: url("../fonts/Poppins-SemiBold.otf"); src: url("../fonts/Poppins-SemiBold.woff2") format("woff2"), url("../fonts/Poppins-SemiBold.woff") format("woff"), url("../fonts/Poppins-SemiBold.otf") format("truetype"); font-weight: 600; }
/* Link
=========================================== */
a:link, a:visited { color: #000000; text-decoration: none; }

a { outline: none; transition: 0.3s; color: #000000; text-decoration: none; }

a img { transition: 0.3s; }

:focus { outline: none; }

/* 共通設定
=========================================== */
.pc { display: none !important; }

body { overflow: hidden; background: #fff; color: #000000; 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; /* 禁則処理を厳格に適用 */ padding-top: 94px; }

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: #404040; }

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; }

/*共通見出し設定*/
.titles01 { text-align: center; margin-bottom: 30px; }
.titles01 .en { display: block; font-size: 16px; font-weight: 600; line-height: 1.4375; text-transform: uppercase; }
.titles01 .jp { display: block; font-weight: 700; font-size: 30px; line-height: 1.65; }

.titles02 .jp { display: block; font-weight: 700; font-size: 30px; line-height: 1.45; }
.titles02 .en { display: block; font-size: 16px; font-weight: 600; line-height: 1.4; margin-top: 10px; text-transform: uppercase; }

.titles03 { padding-bottom: 20px; position: relative; margin-bottom: 30px; font-size: 24px; font-weight: 600; padding-left: 18px; border-bottom: solid 1px #EEEEEE; }

.titles03:before { content: ""; width: 6px; height: 6px; background: #0F0F0F; position: absolute; left: 0; top: 17px; border-radius: 100%; }

.titles03:after { content: ""; width: 20px; height: 1px; background: #0F0F0F; position: absolute; left: 0; bottom: -1px; }

.titles04 { padding-bottom: 20px; position: relative; margin-bottom: 40px; font-size: 26px; font-weight: 600; border-bottom: solid 1px #EEEEEE; }

.titles04:after { content: ""; width: 20px; height: 1px; background: #0F0F0F; position: absolute; left: 0; bottom: -1px; }

/*共通ボタン設定*/
.btn01 { width: 100%; height: 70px; display: table; }
.btn01 a, .btn01 .btn-in { display: table-cell; text-align: left; vertical-align: middle; text-decoration: none; color: #fff; border-radius: 40px; background: #0F0F0F; position: relative; border: solid 1px #0F0F0F; padding-left: 40px; font-weight: 700; }
.btn01 a .arrow, .btn01 .btn-in .arrow { position: absolute; right: 20px; z-index: 2; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; border-radius: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background: #FFFFFF; }
.btn01 a .arrow img, .btn01 .btn-in .arrow img { display: block; opacity: 1; transform: 0.3s; width: 8px; }

/*グラデーション*/
.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-thumb, 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-thumb.flex.slick-initialized, div.belt-slider.slick-initialized { opacity: 1; }

/*font*/
.robo { font-family: 'roboto'; }

.pop { font-family: 'pop'; }

.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: #0075A4; }

.blue02 { color: #0093D6; }

.yellow { color: #FFD400; }

.orange { color: #EE5A35; }

.green { color: #087F82; }

.d-green { color: #005E4B; }

.green02 { color: #01A9AE; }

.navy { color: #374b8e; }

.pink { color: #ff7373; }

.gray { color: #818181; }

/*header
---------------------------------------------------------------*/
div#header { background: #fff; width: 100%; position: fixed; z-index: 170; height: 94px; box-sizing: border-box; padding: 20px 5.33vw 0; left: 0; top: 0; }
div#header .logo { width: 215px; }

.contact-btn { width: 100%; height: 60px; display: table; }
.contact-btn a, .contact-btn .btn-in { display: table-cell; text-align: left; vertical-align: middle; text-decoration: none; color: #fff; border-radius: 40px; background: #0F0F0F; position: relative; border: solid 1px #0F0F0F; font-weight: 700; text-align: center; }
.contact-btn a .ico, .contact-btn .btn-in .ico { position: absolute; right: -1px; z-index: 2; top: 50%; transform: translateY(-50%); width: 60px; height: 60px; border-radius: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background: #FFFFFF; box-sizing: border-box; border: solid 1px #0F0F0F; transition: 0.3s; }
.contact-btn a .ico img, .contact-btn .btn-in .ico img { display: block; opacity: 1; transition: 0.3s; width: 16px; }

.head-btn.contact-btn { display: none; }

/* nav
=========================================== */
html.huopen { overflow: hidden; }

.sp-nav-btn { width: 50px; height: 50px; position: fixed; top: 20px; right: 5.33vw; z-index: 202; box-sizing: border-box; background: #fff; border-radius: 100%; border: solid 1px #0F0F0F; }

.sp-nav-btn span.bar01 { content: ""; width: 16px; height: 1px; position: absolute; top: 20px; right: 16px; transition: 0.3s; background: #0F0F0F; border-radius: 8px; }

.sp-nav-btn span.bar03 { content: ""; width: 16px; height: 1px; position: absolute; top: 28px; right: 16px; transition: 0.3s; background: #0F0F0F; border-radius: 8px; }

.sp-nav-btn span.bar02 { position: absolute; width: 16px; height: 1px; top: 24px; right: 16px; transition: 0.3s; background: #0F0F0F; border-radius: 8px; }

.sp-nav-btn > span { overflow: hidden; }

.fixed .sp-nav-btn { box-shadow: 0 0 3px rgba(64, 64, 64, 0.2); }

.sp-nav-btn.opon { background: #0F0F0F; box-sizing: none !important; }

.sp-nav-btn.opon span.bar02 { opacity: 0; }

.sp-nav-btn.opon span.bar01 { box-shadow: none; transform: rotateZ(45deg); top: 24px; background: #fff; }

.sp-nav-btn.opon span.bar03 { transform: rotateZ(-45deg); top: 24px; background: #fff; }

.overlay-nav { position: fixed; left: 0; top: 0; width: 100%; height: 0; z-index: -5; background: rgba(64, 64, 64, 0.8); pointer-events: none; display: none; }

div.navs-list-wrap { position: fixed; width: 100%; height: 100%; z-index: 200; top: 94px; box-sizing: border-box; background: white; right: calc(-100% - 60px); transition: 0.3s; padding: 60px 5.33vw 50px; }

div.navs-list-wrap.opon { right: 0; }

ul.navs-list { height: calc(100vh - 70px); overflow: auto; box-sizing: border-box; padding: 0 0 95px; width: 100%; }

.navs-list > li { width: 100%; text-align: center; margin-bottom: 30px; }

.navs-list > li.sp-contact { margin-top: 60px; margin-bottom: 0; }
.navs-list > li.sp-contact .tel-num { margin-top: 20px; }

/* contents */
/*-------------------------------------------*/
.bg-blue { background: #F5F9FF; }

/*パンくず
---------------------------------------------------------------*/
div#bread { z-index: 2; position: relative; padding: 20px 5.33vw 0; }
div#bread .wrap { width: 100%; }

#bread ul { display: flex; flex-wrap: wrap; align-items: center; }

#bread ul li { display: flex; flex-wrap: wrap; align-items: center; font-size: 13px; font-weight: 400; vertical-align: middle; }

ul.bread-list li a { font-size: 13px; color: #DBDBDB; }

ul.bread-list li:after { content: ""; width: 3px; height: 3px; display: inline-block; position: relative; background: #DBDBDB; vertical-align: middle; margin: 0 14px; border-radius: 100%; }

ul.bread-list li:nth-last-child(2):after { background: #0F0F0F; }

ul.bread-list li:last-child:after { content: none; }

/* メインビジュアル */
/*-------------------------------------------*/
/*TOPページ*/
div#mv { position: relative; z-index: 3; letter-spacing: 0; }

/* footer */
/*-------------------------------------------*/
div#footer { overflow: hidden; }

div#ftBox01 { padding: 80px 5.33vw 40px; color: #fff; background: #0F0F0F; }
div#ftBox01 .wrap h2.ft-logo { width: 215px; margin: 0 auto 60px; }
div#ftBox01 .wrap h2.ft-logo img { filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(2%) hue-rotate(243deg) brightness(111%) contrast(101%); }
div#ftBox01 .wrap .copyright { font-size: 12px; text-align: center; margin-top: 60px; }
div#ftBox01 a { color: #fff; }

ul#fnav { margin-bottom: 60px; justify-content: space-between; margin-top: -20px; }
ul#fnav > li { width: calc(50% - 10px); text-align: center; margin-top: 20px; }
ul#fnav > li:first-child { margin-right: 50%; }

.ft-contact.flex { display: block; text-align: center; }

.tel-num a { font-family: "pop"; line-height: 1; font-weight: 400; font-size: 26px; }
.tel-num a .komoji { font-size: 20px; }

.foot-btn.contact-btn { margin-bottom: 20px; }
.foot-btn.contact-btn a { border-color: #fff; }
.foot-btn.contact-btn a span.ico { border-color: #fff; background: #0F0F0F; }

/* 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; }

div#scr { position: fixed; z-index: 110; left: 0; bottom: 0; width: 100%; background: rgba(0, 97, 165, 0.7); backdrop-filter: blur(10px); box-sizing: border-box; padding: 5px; height: 60px; }

div.scr-inner.flex { justify-content: space-between; }
div.scr-inner.flex > div.scr-btn { width: calc(33.33% - 3px); display: table; height: 50px; }
div.scr-inner.flex > div.scr-btn a { text-decoration: none; display: table-cell; border-radius: 5px; background: #fff; text-align: center; vertical-align: middle; color: #727171; }
div.scr-inner.flex > div.scr-btn a p.scr-bh { font-size: min(13px, 3.46vw); width: 100%; line-height: 1.2; margin-top: 3px; }
div.scr-inner.flex > div.scr-btn .ico { display: block; margin: 0 auto; }
div.scr-inner.flex > div.scr-btn .ico img { display: block; }

div.scr-btn.scr01 a { padding-top: 5px; }
div.scr-btn.scr01 .ico { max-width: 49px; width: 41.17%; }

div.scr-btn.scr02 .ico { width: 58.8%; max-width: 70px; }

div.scr-btn.scr03 .ico { width: 68.9%; max-width: 82px; }

/* 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
------------------------------------------*/
.ovh { overflow: hidden; }

.mv-imgs { width: 1084vw; display: flex; flex-wrap: wrap; }

.mv-img { padding-right: 2.13vw; }
.mv-img img { width: auto; height: 148.26vw; max-width: none; }

.mv-img:first-child { animation: scr-y01 60s -30s linear infinite; }

.mv-img:nth-child(2) { animation: scr-y02 60s linear infinite; }

@keyframes scr-y01 { 0% { transform: translateX(100%); }
  to { transform: translateX(-100%); } }
@keyframes scr-y02 { 0% { transform: translateX(0); }
  to { transform: translateX(-200%); } }
section#topBox01 { position: relative; margin-top: 20px; overflow: hidden; }
section#topBox01 .bg-wrap { width: calc(100% - 2.66vw); border-radius: 3.73vw; background: #F6F6F6; padding: 100px 5.33vw; margin: 0 auto; box-sizing: border-box; }
section#topBox01 .bg-wrap .btn01 { margin: 60px auto 0; }

.belt-slider-in:first-child { animation: scr-y01 50s -25s linear infinite; }

.belt-slider-in:nth-child(2) { animation: scr-y02 50s linear infinite; }

.belt-slider-sp { margin-top: 5px; display: flex; flex-wrap: wrap; width: 505vw; }

.belt-slider-in { display: flex; flex-wrap: wrap; }

.belt-slide { width: 61.33vw; padding-right: 1.33vw; }

section#topBox02 { padding: 100px 5.33vw; }
section#topBox02 .titles02 { margin-bottom: 40px; }

.cate-lists.flex { display: block; margin-top: -40xp; }
.cate-lists.flex .cateBox { margin-top: 40px; }

ul.cate-list01 { display: flex; flex-wrap: wrap; width: calc(100% + 1.33vw); margin-left: -1.33vw; margin-top: -2.66vw; }
ul.cate-list01 > li { width: 28.8vw; margin-left: 1.33vw; margin-top: 2.66vw; }
ul.cate-list01 > li a { display: block; text-align: center; text-decoration: none; pointer-events: none; }
ul.cate-list01 > li a .img { overflow: hidden; border-radius: 1.6vw; margin-bottom: 2.66vw; }
ul.cate-list01 > li a .img .in-img { padding-top: 100%; border-radius: 1.6vw; transition: 0.3s; }
ul.cate-list01 > li a .tit { font-size: 4.26vw; }

section#topBox03 { width: calc(100% - 2.66vw); border-radius: 3.73vw; background: #727171; padding: 100px 5.33vw; margin: 0 auto; box-sizing: border-box; }
section#topBox03 .wrap { color: #fff; }
section#topBox03 .btn01 { margin: 40px auto 0; }

.flow-list01.flex { display: block; }
.flow-list01.flex > div.flowBox { position: relative; border-radius: 1.6vw; background: rgba(255, 255, 255, 0.04); padding: 40px 20px 35px; box-sizing: border-box; margin-bottom: 10px; }
.flow-list01.flex > div.flowBox .ico { position: absolute; right: 20px; top: 20px; }
.flow-list01.flex > div.flowBox .num { font-weight: 600; margin-bottom: 35px; }
.flow-list01.flex > div.flowBox .cont { padding-bottom: 40px; padding-right: 10px; }
.flow-list01.flex > div.flowBox .cont .tit { font-weight: 600; font-size: 22px; line-height: 1.45; margin-bottom: 20px; }
.flow-list01.flex > div.flowBox:last-child { margin-bottom: 0; }

section#topBox04 { width: calc(100% - 2.66vw); border-radius: 3.73vw; background: #F6F6F6; padding: 100px 5.33vw; margin: 5px auto 0; box-sizing: border-box; }
section#topBox04 .titles02 { margin-bottom: 40px; }

.tit-head.flex { margin-bottom: 60px; display: block; }

.case-list01.flex .slick-list { overflow: visible; }

article.case-art01 { width: 48vw; margin-right: 3.2vw; }
article.case-art01 a { display: block; overflow: hidden; border-radius: 1.6vw; pointer-events: none; }
article.case-art01 a .img .in-img { border-radius: 1.6vw; transition: 0.3s; padding-top: 100%; }

section#topBox05 { padding: 100px 5.33vw; }
section#topBox05 .wrap h2.titles02 { margin-bottom: 40px; }
section#topBox05 .wrap .btn01 { margin: 30px auto 0; }

.news-list01.flex { width: calc(100% + 5.33vw); padding-bottom: 16vw; }

button.slick-arrow { opacity: 1; z-index: 2; transition: 0.3s !important; width: 8vw; height: 8vw; box-sizing: border-box; transition: 0s; top: auto; bottom: 0; transform: translateY(0); border-radius: 100%; }

button.slick-prev.slick-arrow { background: #DEDEDE; left: calc(50% - 9.33vw); }

button.slick-next.slick-arrow { background: #DEDEDE; right: calc(50% - 9.33vw); }

button.slick-arrow:before { position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: 2; margin: auto; opacity: 1 !important; }

button.slick-prev.slick-arrow:before { content: ""; background: url("../img/common/slide-arrow01.svg") no-repeat center; background-size: contain; width: 2.13vw; height: 2.13vw; }

button.slick-next.slick-arrow:before { content: ""; background: url("../img/common/slide-arrow02.svg") no-repeat center; background-size: contain; width: 2.13vw; height: 2.13vw; }

button.slick-prev.slick-arrow.slick-disabled { background-color: #0F0F0F; }

button.slick-prev.slick-arrow.slick-disabled:before { background-image: url("../img/common/slide-arrow01h.svg"); }

button.slick-next.slick-arrow.slick-disabled { background-color: #0F0F0F; }

button.slick-next.slick-arrow.slick-disabled:before { background-image: url("../img/common/slide-arrow02h.svg"); }

button.slick-arrow.slick-disabled { background-color: transparent; }

article.news-art01 { width: 78.66vw; margin-right: 5.33vw; }
article.news-art01 a { display: block; text-decoration: none; }
article.news-art01 a .img { overflow: hidden; border-radius: 6px; }
article.news-art01 a .img .in-img { border-radius: 6px; padding-top: 75.25%; }
article.news-art01 a .cont { padding: 20px 20px 0; }
article.news-art01 a .cont .n-date { font-size: 14px; margin-bottom: 10px; }
article.news-art01 a .cont h3.tit { font-size: 16px; font-weight: 400; width: 100%; line-height: 1.875; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }

.big-btns.flex { box-sizing: border-box; padding: 1.33vw; display: block; }
.big-btns.flex > div { margin-bottom: 1.33vw; }
.big-btns.flex > div a { display: block; position: relative; text-decoration: none; border-radius: 3.73vw; color: #fff; align-items: center; padding-left: 10.66vw; height: 94.93vw; padding-top: 26.66vw; box-sizing: border-box; }
.big-btns.flex > div a .arrow { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; box-sizing: border-box; z-index: 2; position: absolute; bottom: 5.33vw; right: 5.33vw; width: 16vw; height: 16vw; border-radius: 100%; border: solid 1px #fff; }
.big-btns.flex > div a .arrow img { display: block; width: 3.2vw; }
.big-btns.flex > div a .titles02 .jp { font-size: 9.06vw; }
.big-btns.flex > div a .titles02 .en { font-size: 5.33vw; margin-top: 2.66vw; }
.big-btns.flex > div:last-child { margin-bottom: 0; }

.big-btn.big-btn01 a { background: url("../img/top/big-btn01-sp.jpg") no-repeat center; background-size: cover; }

.big-btn.big-btn02 a { background: url("../img/top/big-btn02-sp.jpg") no-repeat center; background-size: cover; }

/*　02 私たちについて
----------------------------------*/
section#p02Box01 { padding: 40px 5.33vw 100px; }
section#p02Box01 .wrap .text01 { margin-bottom: 80px; }

.copy01 { text-align: left; font-weight: 700; font-size: 30px; line-height: 1.46; margin-bottom: 30px; }

.twin-cont01.flex { margin-bottom: 60px; display: block; }
.twin-cont01.flex .img { margin-top: 40px; }

.twin-cont01.flex:last-child { margin-bottom: 0; }

.sub01 { font-size: 22px; font-weight: 700; line-height: 1.45; margin-bottom: 16px; }

.sub02 { font-size: 16px; font-weight: 700; line-height: 1.5; margin-bottom: 30px; }

section#p02Box02 { background: #F6F6F6; border-radius: 3.73vw; width: 97.6vw; padding: 0 5.33vw 100px; margin: 0 auto 1.33vw; box-sizing: border-box; }
section#p02Box02 h2.titles02 { margin-bottom: 20px; }
section#p02Box02 .wrap { padding-top: 100px; }

.btn-wrap { margin-left: 20px; }
.btn-wrap a { display: inline-block; padding-left: 22px; background: url("../img/p02/ico-pin.svg") no-repeat left center; }

td.tel-fax > span { display: inline-block; }
td.tel-fax > span:before { content: "/"; display: inline-block; margin: 0 10px; }
td.tel-fax > span:first-child:before { content: none; }

.TBL01 th, .TBL01 td { box-sizing: border-box; position: relative; padding: 20px 0; vertical-align: top; border-bottom: solid 1px #EEEEEE; }
.TBL01 th { width: 100px; font-weight: 600; }
.TBL01 th:before { content: ""; width: 20px; height: 1px; background: #707070; position: absolute; z-index: 2; left: 0; bottom: -1px; }

.map02 { margin-top: 40px; height: 65.06vw; }
.map02 iframe { width: 100%; height: 100%; }

/*　03 お問い合わせ
----------------------------------*/
div#umv { width: 97.6vw; margin: 0 auto; height: 85.33vw; border-radius: 3.73vw; background: url("../img/main/umv-sp.png") no-repeat right top #F6F6F6; background-size: 100%; display: flex; flex-wrap: wrap; align-items: center; box-sizing: border-box; padding-top: 5.33vw; padding-left: 5.33vw; }

.mv-tit.titles02 .jp { font-size: 10.66vw; line-height: 1.35; }
.mv-tit.titles02 .en { font-size: 5.33vw; margin-top: 2.66vw; }

div#p03Box01 { padding: 40px 5.33vw 100px; }
div#p03Box01 .wrap > .text { margin-bottom: 40px; }

/*フォーム*/
.file-bikou { font-size: 14px; }

a.green { text-decoration: underline; }

span.in-th { width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; }

.contactTBL tr { border-bottom: solid 1px #EEEEEE; }
.contactTBL tr:last-child { border-bottom: none; }
.contactTBL th, .contactTBL td { box-sizing: border-box; font-size: 16px; padding: 20px 0; color: #000000; line-height: 1.2; display: block; }
.contactTBL th { font-weight: 700; position: relative; }
.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: 3px 4px; background: #002985; margin-right: 4px; box-sizing: border-box; font-size: 12px; font-weight: 400; border-radius: 2px; margin-left: auto; }

span.nini { display: inline-block; padding: 3px 4px; margin-right: 8px; font-size: 16px; font-weight: 700; color: #002985; border: solid 1px #002985; border-radius: 2px; }

input.wpcf7-number, input.wpcf7-date, input.wpcf7-text { box-sizing: border-box; height: 50px; border: solid 1px #F5F5F5; padding: 3px 16px; font-size: 16px; background: #F5F5F5; width: 100%; border-radius: 2px; }

input.wpcf7-date { padding: 3px 16px; }

select.wpcf7-select { width: auto; }

select { border-radius: 2px; }

textarea.wpcf7-textarea { box-sizing: border-box; height: 200px; border: solid 1px #F5F5F5; padding: 20px; font-size: 16px; background: #F5F5F5; width: 100%; border-radius: 2px; display: block; }

ul.form-address-list > li { margin-bottom: 10px; }
ul.form-address-list > li .cap { font-weight: 400; margin-bottom: 12px; line-height: 1; }
ul.form-address-list > li select.wpcf7-form-control.wpcf7-select { width: 200px; }
ul.form-address-list > li:first-child .inp { display: flex; flex-wrap: wrap; align-items: center; }
ul.form-address-list > li:first-child .inp span.form-bikou { margin-left: 8px; }
ul.form-address-list > li:last-child { margin-bottom: 0; }

input.wpcf7-form-control.wpcf7-file.file01 { width: 100%; }

input[type="file" i]::-webkit-file-upload-button { width: 140px; height: 36px; border-radius: 18px; background: #0F0F0F !important; color: #fff; border: solid 1px #0F0F0F; margin-right: 20px; }

.form-bikou { font-size: 14px; margin-top: 10px; }

.cours-area { margin-top: 5px; }

input#zip { width: 140px; }

select#pref3 { width: auto; }

span.form-bikou { display: block; }

.form-ex { line-height: 1.4; margin-top: 16px; font-weight: 500; }

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 #B3B3B3; border-radius: 2px; background: url("../img/p09/ico-upload.svg") no-repeat center top 42px #fff; padding: 74px 30px 40px; }

.contactArea .codedropz-upload-inner { color: #1C1C1C; line-height: 1.5; font-size: 16px; font-weight: 500; }

.contactArea .codedropz-upload-inner h3 { font-size: 16px; font-weight: 500; margin: 0; }

a.cd-upload-btn { width: 140px; height: 40px; display: inline-block; line-height: 35px; background: #D9D9D9; border: none; border-radius: 0; padding-top: 3px; font-size: 16px; margin-top: 8px; color: #000000; }

.form-bikou { font-size: 14px; font-weight: 500; line-height: 26px; }

.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; }

.in-cont { margin-bottom: 8px; display: flex; flex-wrap: wrap; align-items: center; }
.in-cont > span { margin-right: 9px; }
.in-cont > span.line01 { width: 55px; }

input.wpcf7-form-control.wpcf7-text.text-num01 { width: 60px; text-align: right; }

.form-btn { width: 100%; position: relative; }

.form-btn input[type="submit"], .form-btn input[type="button"] { transition: 0.3s; border: solid 1px #0F0F0F; color: #fff; width: 100%; height: 70px; font-size: 16px; font-weight: 700; position: relative; z-index: 3; background: url("../img/p03/btn01.svg") no-repeat center right 24px, #0F0F0F; border-radius: 40px; padding: 0 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: url("../img/p03/btn02.svg") no-repeat center left 20px, #0F0F0F; text-align: center; }

.form-btn input { transition: 0.3s; cursor: pointer; }

.form-btn.form-btn03 input[type="submit"], .form-btn.form-btn03 input[type="button"] { text-align: center; }

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; }

.doui-check > span.wpcf7-list-item.first.last span.wpcf7-list-item-label { font-size: 0; }

p#doui-text { display: inline; padding-left: 5px; }

.wpcf7-spinner { position: absolute !important; top: -30px !important; right: 0; left: 0; margin: 0 auto; }

p.check-text { margin-bottom: 30px; }

/*入力内容確認時にフォーム上部へスクロールするがナビゲーションが追従の場合フォームとナビゲーションが重なるのでそのためのオフセット設定*/
form.wpcf7-form { padding-top: 120px; margin-top: -120px; }

.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; }

select { box-sizing: border-box; height: 50px; border: solid 1px #F5F5F5; padding: 3px 30px 3px 16px; font-size: 16px; width: auto; background: #F5F5F5; width: auto; -webkit-appearance: none; appearance: none; width: 100%; font-weight: 400; border-radius: 2px; }

/*　04 自社工場
----------------------------------*/
section#p04Box01 { overflow: hidden; }
section#p04Box01 .wrap { padding: 40px 5.33vw 100px; }
section#p04Box01 h2.copy01 { margin-bottom: 80px; }
section#p04Box01 .twin-cont01.flex { margin-bottom: 80px; }
section#p04Box01 .twin-cont01.flex .cont { padding-top: 0; }
section#p04Box01 .twin-cont01.flex .cont .num { margin-bottom: 20px; }
section#p04Box01 .twin-cont01.flex .cont .num > span { display: inline-block; width: 150px; border: solid 2px #727171; font-size: 14px; font-weight: 600; text-align: center; border-radius: 30px; padding: 3px; color: #707070; }
section#p04Box01 .twin-cont01.flex .cont h3.sub01 { line-height: 1.65; margin-bottom: 30px; }
section#p04Box01 .twin-cont01.flex:last-child { margin-bottom: 0; }

div.slset { margin-bottom: 5.33vw; width: 2026.66vw; }

.sl-cont { width: 112vw; padding-right: 2.66vw; }

.sl-list.flex { width: auto; }

.sltop.flex { margin-bottom: 2.66vw; }
.sltop.flex .sl-list.flex:first-child { animation: scr-y01 150s -75s linear infinite; }
.sltop.flex .sl-list.flex:last-child { animation: scr-y02 150s linear infinite; }

.slbottom.flex .sl-list.flex:first-child { animation: scr-y03 150s -75s linear infinite; }
.slbottom.flex .sl-list.flex:last-child { animation: scr-y04 150s linear infinite; }

@keyframes scr-y03 { 0% { transform: translateX(-100%); }
  to { transform: translateX(100%); } }
@keyframes scr-y04 { 0% { transform: translateX(-200%); }
  to { transform: translateX(0); } }
section#p04Box02 { background: #F6F6F6; border-radius: 3.73vw; width: 97.6vw; padding: 100px 5.33vw; margin: 0 auto 1.33vw; box-sizing: border-box; }
section#p04Box02 h2.titles02 { margin-bottom: 20px; }
section#p04Box02 .btn01 { width: 100%; margin: 40px auto 0; }
section#p04Box02 .btn01 a { padding-left: 30px; }

.p04-cont02.flex { display: block; }
.p04-cont02.flex .cont .btn-wrap { margin-left: 0; margin-top: 10px; }
.p04-cont02.flex .img { margin-top: 60px; }

/*　05 制作の流れ
----------------------------------*/
div#p05Box01 { padding: 40px 5.33vw 100px; }

.flow-list05 { margin-top: 40px; }

.flowBox05.flex { position: relative; margin-bottom: 20px; border-radius: 10px; box-sizing: border-box; border: solid 1px #727171; padding: 69px 19px 19px 19px; display: block; }
.flowBox05.flex .num { position: absolute; left: -1px; top: -1px; border-radius: 10px 0 10px 0; text-align: center; width: 120px; height: 40px; line-height: 40px; color: #fff; background: #727171; font-weight: 600; z-index: 2; }
.flowBox05.flex .cont .arrow-link { margin-top: 20px; }
.flowBox05.flex .cont > .tit { margin-bottom: 20px; font-weight: 700; font-size: 22px; line-height: 1.45; }
.flowBox05.flex .cont .ft-contact.flex { margin: 30px 0 0; display: block; }
.flowBox05.flex .cont .ft-contact.flex .contact-btn { margin-bottom: 10px; height: 50px; }
.flowBox05.flex .cont .ft-contact.flex .contact-btn a { padding-left: 40px; text-align: left; }
.flowBox05.flex .cont .ft-contact.flex .contact-btn a .ico { width: 50px; height: 50px; }
.flowBox05.flex .cont .ft-contact.flex .tel-num a { font-size: 24px; }
.flowBox05.flex .cont .ft-contact.flex .tel-num a .komoji { font-size: 18px; }
.flowBox05.flex .img { margin-top: 30px; }

.flowBox05.flex:after { content: ""; width: 0; height: 0; border-top: solid 12px #727171; border-left: solid 15px transparent; border-right: solid 15px transparent; margin: 0 auto; left: 0; right: 0; top: calc(100% + 1px); position: absolute; }

.flowBox05.flex:last-child { margin-bottom: 0; }

.flowBox05.flex:last-child:after { content: none; }

div#p05Box02 { background: #F6F6F6; border-radius: 3.73vw; width: 97.6vw; padding: 100px 5.33vw; margin: 0 auto 1.33vw; box-sizing: border-box; }
div#p05Box02 h2.titles02 { margin-bottom: 40px; }

article.faq-art.on { border-color: #00614A; }

article.faq-art { margin-bottom: 40px; }

article.faq-art:last-child { margin-bottom: 0; }

span.opcl-ico { width: 10px; height: 6px; box-sizing: border-box; position: absolute; align-items: center; right: 0; top: 50%; z-index: 2; transform: translateY(-50%); background: url("../img/p05/ico-opcl.svg") no-repeat; display: block; }

.opcl { cursor: pointer; }

.opcl.on span.opcl-ico { transform: translateY(-50%) rotateZ(180deg); }

.q-tit { line-height: 1.5; padding-left: 34px; padding-bottom: 16px; font-weight: 600; border-bottom: solid 1px #EEEEEE; position: relative; }

.q-tit:after { content: ""; width: 20px; height: 1px; background: #707070; bottom: -1px; left: 0; transition: 0.3s; position: absolute; }

.q-tit:before { content: ""; background: url("../img/p05/ico-q.svg") no-repeat; width: 24px; height: 24px; position: absolute; left: 0; top: 0; }

.q-tit.on:after { width: 100%; }

div.a-text { padding: 30px 0 0 34px; position: relative; }

div.a-text:before { content: ""; background: url("../img/p05/ico-a.svg") no-repeat; width: 24px; height: 24px; position: absolute; left: 0; top: 30px; }

.opcl-cont { display: none; }

/*06 お知らせ
----------------------------------*/
div#p06Box01 { padding: 40px 5.33vw 100px; }

.news-list-all.flex { display: block; }
.news-list-all.flex article.news-art01 { width: 100%; margin-bottom: 40px; }
.news-list-all.flex article.news-art01:last-child { margin-bottom: 0; }

/*詳細*/
div#umv.umv02 { min-height: 85.33vw; height: auto; padding-bottom: 44px; background-position: right top; padding-top: 32vw; padding-bottom: 16.53vw; }

h1.mv-tit.news-title { font-size: 8.53vw; font-weight: 700; line-height: 1.45; text-shadow: 0 0 2vw #fff, 0 0 2vw #fff, 0 0 2vw #fff; }

.en.news-date { margin-top: 8vw; font-size: 3.73vw; font-weight: 400; }

body#tinymce.post-type-news ul, .blog-text ul { padding-left: 15px; }
body#tinymce.post-type-news ul > li, .blog-text ul > li { list-style: disc; }
body#tinymce.post-type-news ol, .blog-text ol { padding-left: 15px; }
body#tinymce.post-type-news ol > li, .blog-text ol > li { list-style: decimal; }
body#tinymce.post-type-news h2, .blog-text h2 { padding-bottom: 20px; position: relative; margin-bottom: 30px; font-size: 24px; font-weight: 600; border-bottom: solid 1px #EEEEEE; }
body#tinymce.post-type-news h2:after, .blog-text h2:after { content: ""; width: 20px; height: 1px; background: #0F0F0F; position: absolute; left: 0; bottom: -1px; }
body#tinymce.post-type-news h3, .blog-text h3 { padding-bottom: 14px; position: relative; margin-bottom: 30px; font-size: 20px; font-weight: 600; border-bottom: solid 1px #EEEEEE; }
body#tinymce.post-type-news p:first-child, .blog-text p:first-child { margin-top: 0; }
body#tinymce.post-type-news p:first-child img, .blog-text p:first-child img { margin-top: 0; }
body#tinymce.post-type-news img:first-child, .blog-text img:first-child { margin-top: 0; }
body#tinymce.post-type-news img[class*="wp-image-"], .blog-text img[class*="wp-image-"] { margin: 20px 0; }
body#tinymce.post-type-news iframe, .blog-text iframe { max-width: 100%; }
body#tinymce.post-type-news div, .blog-text div { max-width: 100%; }
body#tinymce.post-type-news a, .blog-text a { max-width: 100%; text-decoration: underline; }

/*ページャー*/
div#pager00 { text-align: center; }

div#pager00 .wp-pagenavi { margin-top: 50px; }

.wp-pagenavi > span, .wp-pagenavi > a { display: inline-block; margin: 4px; text-decoration: none; width: 40px; height: 40px; text-align: center; line-height: 40px; font-size: 14px; font-weight: 400; color: #fff; box-sizing: border-box; border-radius: 100%; font-family: "pop"; border: solid 1px #0F0F0F; background: #0F0F0F; }

.wp-pagenavi a.page { position: relative; }

.wp-pagenavi span.extend { background: none; color: #0F0F0F; box-shadow: none; border: none; }

.wp-pagenavi a.previouspostslink { color: transparent; background: url("../img/p06/arrow02.svg") no-repeat center #fff; margin-left: 0; }

.wp-pagenavi a.nextpostslink { color: transparent; background: url("../img/p06/arrow03.svg") no-repeat center #fff; margin-right: 0; }

.wp-pagenavi span.current { color: #fff; background: #DEDEDE; border-color: #DEDEDE; }

.wp-pagenavi a.first { border: none; background: url("../img/p06/arrow01.svg") no-repeat center; color: transparent; }

.wp-pagenavi a.last { border: none; background: url("../img/p06/arrow04.svg") no-repeat center; color: transparent; }

.wp-pagenavi span.pages { display: none; }

.post-navigation ul { margin-top: 60px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.post-navigation ul > li { margin-right: 5px; }
.post-navigation ul > li:last-child { margin-right: 0; }
.post-navigation ul li.prev .text, .post-navigation ul li.next .text { display: none; }
.post-navigation ul li.kara { opacity: 0; pointer-events: none; width: 50px; }
.post-navigation ul li.prev.kara { opacity: 0; pointer-events: none; }
.post-navigation ul li.next.kara { opacity: 0; pointer-events: none; }
.post-navigation ul li.prev a { display: block; width: 50px; height: 50px; border-radius: 100%; border: solid 1px #0F0F0F; background: url("../img/p06/arrow02.svg") no-repeat center; }
.post-navigation ul li.next a { display: block; width: 50px; height: 50px; border-radius: 100%; border: solid 1px #0F0F0F; background: url("../img/p06/arrow03.svg") no-repeat center; }
.post-navigation ul li.blog-back.btn01 { width: 200px; }
.post-navigation ul li.blog-back.btn01 a { padding: 0; text-align: center; }
.post-navigation ul li.blog-back.btn01 a .arrow { display: none; }

/*　thanksページ等
----------------------------------*/
div#p100Box01 { padding: 30px 5.33vw 100px; }
div#p100Box01 .btn01 { margin: 30px auto 0; }

.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: #0F0F0F; margin-top: 50px; }

.pp-title02:before { content: ""; width: 5px; height: 65%; background: #0F0F0F; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }

.pp-box > .text { margin-bottom: 30px; }
.pp-box ul.text02 > li { margin-bottom: 12px; }
.pp-box ul.text02 > li:last-child { margin-bottom: 0; }

.pp-box02 { margin-top: 60px; }
.pp-box02 .titles04 { padding-bottom: 14px; margin-bottom: 30px; font-size: 20px; font-weight: 600; }
.pp-box02 .titles04:after { content: none; }
.pp-box02 > .text03 { margin-bottom: 30px; }
.pp-box02 > .text04 { margin-top: 30px; }

.arrow-link { margin-bottom: 10px; font-weight: 700; }
.arrow-link a { display: inline-block; padding-left: 22px; background: url("../img/p03/btn01h.svg") no-repeat left top 6px; background-size: 17px; }

.arrow-link:last-child { margin-bottom: 0; }

/*デバイス幅ごとの調整（必要な幅があれば追加して調整）*/
