@charset "UTF-8";
/* TOP
------------------------------------------*/
body.home { padding-top: 0; }
body.home div#mv { height: 100vh; width: 100%; background: url("../img/main/mv01.jpg") no-repeat center; background-size: cover; position: relative; }
body.home div#mv .mv-cont { position: absolute; left: 40px; bottom: 76px; z-index: 2; }
body.home div#mv .ov-f-trigger { top: 0; }

.mv-text01 { position: relative; }
.mv-text01 .min-img { width: 130px; position: absolute; bottom: -9px; left: 170px; }
.mv-text01 .min-img .img02 { position: absolute; left: 0; top: 0; }

/*画像白黒切り替わり*/
.min-img.on .img02 { animation: fade01 0.5s ease-out 0.9s 1 forwards; }

.ov-f-trigger { position: absolute; z-index: -2; opacity: 0; pointer-events: none; top: calc(100% + 10vh); width: 100px; height: 1px; }

.ov-f { position: relative; }

.ov-f:before { content: ""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 2; background: black; mix-blend-mode: color; }

.ov-f.on:before { animation: fade01 0.5s ease-out 0.2s 1 forwards; }

@keyframes fade01 { 0% { opacity: 1; }
  100% { opacity: 0; } }
@keyframes fade02 { 0% { opacity: 0; }
  100% { opacity: 1; } }
div#topBox02 .ov-f:before { transition: 0.5s; transition-delay: 0.2s; }

div#topBox02:hover .ov-f:before { opacity: 0; }

div#company-sec .ov-f.on:before { animation: none; transition: 0.3s; }
div#company-sec .img01 { opacity: 0; }
div#company-sec .img02-1 { opacity: 0; }
div#company-sec .img02-2 { opacity: 0; }
div#company-sec .img01.anima { animation: fade02 0.5s ease-out 0.5s 1 forwards; }
div#company-sec .img02-1.anima { animation: fade02 0.5s ease-out 0.8s 1 forwards; }
div#company-sec .img02-2.anima { animation: fade02 0.5s ease-out 1.2s 1 forwards; }

div#company-sec.on .ov-f.on:before { opacity: 0; }

/*画像白黒切り替わり　終わり*/
div#top-news { padding: 30px 40px; border-bottom: solid 1px rgba(255, 255, 255, 0.08); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; width: 100%; box-sizing: border-box; }
div#top-news .more-btn01 a { display: flex; flex-wrap: wrap; align-items: center; text-decoration: none; position: relative; }
div#top-news .more-btn01 a span.arrow { margin-left: 12px; }
div#top-news .more-btn01 a span.arrow img { display: block; opacity: 1; }
div#top-news .more-btn01 > a:after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: #fff; transform-origin: right; transform: scaleX(0); transition: transform 0.6s cubic-bezier(0.85, 0, 0.15, 1); }
div#top-news .more-btn01 a:hover { text-decoration: none; }
div#top-news .more-btn01 a:hover:after { transform: scaleX(1); transform-origin: left; }

.top-news-cont { max-width: calc(100% - 230px); }

article.top-news-art01 a { align-items: center; position: relative; text-decoration: none; }
article.top-news-art01 a .t-date { font-size: 14px; margin-right: 18px; }
article.top-news-art01 > a:after { content: ""; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: #fff; transform-origin: right; transform: scaleX(0); transition: transform 0.6s cubic-bezier(0.85, 0, 0.15, 1); }
article.top-news-art01 a:hover { text-decoration: none; }
article.top-news-art01 a:hover:after { transform: scaleX(1); transform-origin: left; }

.ovh { overflow: hidden; }

div#topBox01 .ovh { padding: 200px 0; position: relative; }

.belt-text01 { font-size: 240px; font-weight: 400; font-family: "osw"; white-space: nowrap; line-height: 1.4; letter-spacing: 0.025em; color: #fff; width: 5788px; position: absolute; left: 0; top: 675px; opacity: 0.04; }
.belt-text01 > span { padding-right: 100px; display: inline-block; }
.belt-text01 span.text01 { animation: text01 180s -90s linear infinite; }
.belt-text01 span.text02 { animation: text02 180s linear infinite; }

@keyframes text01 { 0% { transform: translateX(100%); }
  to { transform: translateX(-100%); } }
@keyframes text02 { 0% { transform: translateX(0); }
  to { transform: translateX(-200%); } }
.top-cont01-1 { margin-bottom: 140px; position: relative; }
.top-cont01-1 .cont { padding-left: 348px; padding-right: 279px; }
.top-cont01-1 .btn01 { margin-top: 40px; }
.top-cont01-1 .img01, .top-cont01-1 .img02, .top-cont01-1 .img03 { position: absolute; }
.top-cont01-1 .img01 { top: 0; left: -130px; }
.top-cont01-1 .img02 { top: -60px; right: -80px; }
.top-cont01-1 .img03 { top: 260px; right: -200px; }

ul.num-list01 { font-weight: 700; }
ul.num-list01 > li { line-height: 1; margin-bottom: 24px; font-size: 22px; }
ul.num-list01 > li span.num { font-weight: 400; font-family: "osw"; margin-right: 8px; letter-spacing: 0.025em; }
ul.num-list01 > li:last-child { margin-bottom: 0; }

.top-cont01-2 { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.top-cont01-2 .cont { width: 360px; }
.top-cont01-2 .cont .text { font-size: 18px; font-weight: 700; }
.top-cont01-2 .cont .btn01 { margin-top: 40px; }
.top-cont01-2 .img { width: 640px; }

a.hidden-link { position: absolute; width: 100%; height: 100%; z-index: 10; left: 0; top: 0; }

a.hidden-link:hover + .wrap .btn01 a .arrow > span { left: 13px; transition: 0.3s; }
a.hidden-link:hover + .wrap div.btn-3d { transition: 0.3s; }
a.hidden-link:hover + .wrap div.btn-3d span.m-off { transform: rotateX(0); transition: all 0.3s; }
a.hidden-link:hover + .wrap div.btn-3d span.m-on { transform: rotateX(90deg); transition: all 0.3s; }

div#topBox02 { position: relative; overflow: hidden; }
div#topBox02 .bg-img { width: 1800px; height: 100%; background: url("../img/top/bg-img01-2.jpg") no-repeat center; background-size: cover; position: absolute; left: 0; top: 0; }
div#topBox02 .wrap { padding: 125px 0 50px; z-index: 3; }
div#topBox02 .btn01 { margin: 2px 0 0 0; display: flex; flex-wrap: wrap; justify-content: flex-end; }

.l-name > span { display: block; }
.l-name .line01 { font-weight: 700; line-height: 1.6; }
.l-name .line02 { font-size: 24px; line-height: 1.4; }

.copy01 { margin-bottom: 30px; font-weight: 700; line-height: 1.52; font-size: 32px; }

section#topBox03:before { content: ""; width: calc(50% + 343px); height: calc(100% - 270px); position: absolute; left: 0; bottom: 0; background: #1C1C1C; }

section#topBox03 { padding: 200px 0 180px; position: relative; overflow: hidden; }
section#topBox03 .btn01 { justify-content: flex-end; }
section#topBox03 .wrap { z-index: 2; }
section#topBox03 .titles02 { margin-bottom: 80px; }
section#topBox03 .v-text01 { position: absolute; right: 0; top: -40px; z-index: 2; font-weight: 700; font-size: 18px; width: 180px; height: 89px; }
section#topBox03 .v-text01 > span { width: 19px; height: 89px; display: block; position: absolute; right: 0; top: 0; line-height: 1.1; }
section#topBox03 .v-text01 span.line02 { right: 35px; }
section#topBox03 .v-text01 span.line03 { right: 70px; }
section#topBox03 .v-text01 span.v-kigou { display: inline-block; position: relative; right: -10px; top: -9px; }
section#topBox03 .v-text01 span.dquo01 { display: block; height: 10px; position: relative; left: -5px; }
section#topBox03 .v-text01 span.dquo02 { display: block; height: 10px; position: relative; right: -5px; text-align: right; }
section#topBox03 .event-list01.flex.slider01 .slick-list { overflow: visible; }
section#topBox03 .event-list01.flex.slider01 .slick-track { display: flex; flex-wrap: wrap; }
section#topBox03 .event-list01.flex.slider01 article.blog-art { opacity: 0; pointer-events: none; height: auto !important; }
section#topBox03 .event-list01.flex.slider01 article.blog-art.slick-active, section#topBox03 .event-list01.flex.slider01 article.blog-art.slick-active + article.blog-art, section#topBox03 .event-list01.flex.slider01 article.blog-art.slick-active + article.blog-art + article.blog-art { opacity: 1; pointer-events: auto; }

.event-list01.flex.slider01 { margin-bottom: 80px; }
.event-list01.flex.slider01 article.blog-art { margin-right: 30px; }

button.slick-arrow { opacity: 1; z-index: 2; transition: 0s; width: 64px; height: 40px; box-sizing: border-box; transition: 0.3s; top: auto; bottom: -132px; transform: translateY(0); border-radius: 100%; border: solid 1px #fff; border-radius: 20px; }

button.slick-prev.slick-arrow { background: url("../img/common/slide-arrow01.svg") no-repeat center; left: 0; }

button.slick-next.slick-arrow { background: url("../img/common/slide-arrow02.svg") no-repeat center; right: auto; left: 74px; }

button.slick-arrow:before { content: none; }

button.slick-prev.slick-arrow:hover { opacity: 0.7; }

button.slick-prev.slick-arrow.slick-disabled { background-image: url("../img/p02/slide-arrow01.svg"); }

button.slick-next.slick-arrow:hover { opacity: 0.7; }

button.slick-next.slick-arrow.slick-disabled { background-image: url("../img/p02/slide-arrow02.svg"); }

button.slick-arrow.slick-disabled { background-color: transparent; }

article.blog-art { width: 340px; }
article.blog-art a { display: block; text-decoration: none; box-sizing: border-box; height: 100%; padding-bottom: 34px; position: relative; }
article.blog-art a .img { position: relative; overflow: hidden; margin-bottom: 15px; }
article.blog-art a .img .in-img { padding-top: 70.58%; transition: 0.3s; }
article.blog-art a .img:before { content: ""; width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 2; background: rgba(0, 0, 0, 0.88); mix-blend-mode: color; transition: 0.3s; }
article.blog-art a .tit { font-size: 20px; font-weight: 700; line-height: 1.4; width: 100%; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-bottom: 20px; }
article.blog-art a .a-date { border-top: solid 1px rgba(255, 255, 255, 0.08); padding-top: 20px; line-height: 14px; font-size: 14px; width: 100%; position: absolute; left: 0; bottom: 0; z-index: 2; }
article.blog-art a:hover .img:before { opacity: 0; }
article.blog-art a:hover .img .in-img { transform: scale(1.1); }

section#recruit-sec { position: relative; overflow: hidden; }

div.rec-belts { position: absolute !important; height: 400px; overflow: hidden; left: 0; top: 0; }

.rec-tit { text-align: center; padding: 110px 0; box-sizing: border-box; height: 400px; position: relative; z-index: 5; }
.rec-tit .titles02 { margin-bottom: 24px; }
.rec-tit .titles02 .jp { font-size: 20px; }
.rec-tit .u-text01 { line-height: 1.1; font-size: 18px; font-weight: 700; }

.rec-btns.flex { border-bottom: solid 1px #2b2b2b; }

div.rec-btn { width: 25%; box-sizing: border-box; }
div.rec-btn a { position: relative; display: block; text-decoration: none; height: 16.66vw; }
div.rec-btn a .ico { position: absolute; z-index: 2; top: 20px; right: 20px; }
div.rec-btn a .titles01 { margin-bottom: 0; position: absolute; left: 40px; bottom: 40px; z-index: 2; }
div.rec-btn a .titles01 .en { font-size: 18px; margin-bottom: 8px; }
div.rec-btn a .titles01 .jp { font-size: 28px; }
div.rec-btn a .arrow { width: 64px; height: 64px; overflow: hidden; border: solid 1px transparent; border-radius: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; position: absolute; z-index: 2; right: 16px; bottom: 24px; transition: 0.3s; }
div.rec-btn a .arrow img { display: block; opacity: 1; }
div.rec-btn a:hover .arrow { border-color: #fff; }

div.rec-btn.rec-btn03, div.rec-btn.rec-btn01, div.rec-btn.rec-btn02 { border-right: solid 1px #2b2b2b; }

div.rec-btn.rec-btn04 a { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 40px; position: relative; box-sizing: border-box; }
div.rec-btn.rec-btn04 a .over-bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 1; background: url("../img/top/entry-btn-bg.jpg") no-repeat center; background-size: cover; transition: 0.3s; opacity: 0; }
div.rec-btn.rec-btn04 a .en-text.en { position: relative; z-index: 2; font-size: 64px; line-height: 1.4; }
div.rec-btn.rec-btn04 a .arrow { border-color: #fff; position: relative; bottom: auto; right: auto; }
div.rec-btn.rec-btn04 a:hover .over-bg { opacity: 1; }

div#company-sec { padding: 120px 0 140px; background: #1C1C1C; }
div#company-sec .wrap { display: flex; flex-wrap: wrap; align-items: flex-start; }
div#company-sec .com-btn.titles02 { margin-top: 80px; }
div#company-sec .com-btn.titles02 a { display: inline-block; text-decoration: none; position: relative; }
div#company-sec .com-btn.titles02 a .arrow { width: 64px; height: 64px; overflow: hidden; border: solid 1px #fff; border-radius: 100%; position: relative; display: block; margin-top: 40px; }
div#company-sec .com-btn.titles02 a .arrow > span { display: block; background: url("../img/common/arrow02.svg") no-repeat center right, url("../img/common/arrow02.svg") no-repeat center left; height: 13px; position: absolute; width: 72px; left: -33px; top: 50%; transform: translateY(-50%); }
div#company-sec .com-btn.titles02 a:hover .arrow > span { left: 21px; transition: 0.3s; }
div#company-sec .img01 { width: 580px; margin-left: -82px; margin-right: 100px; }
div#company-sec .img02 { height: 370px; width: 240px; margin-left: auto; margin-right: -78px; margin-top: 90px; position: relative; }
div#company-sec .img02 .img02-1 { position: relative; z-index: 2; }
div#company-sec .img02 .img02-2 { width: 300px; position: absolute; bottom: 0; right: 118px; }

section#news-sec { padding: 200px 0; }
section#news-sec .wrap { display: flex; flex-wrap: wrap; min-height: 195px; justify-content: space-between; }
section#news-sec .wrap .btn01 { position: absolute; left: 0; top: 147px; }
section#news-sec .wrap .news-list01 { width: 820px; }

article.top-news-art { margin-bottom: 24px; }
article.top-news-art a { padding-bottom: 24px; position: relative; border-bottom: solid 1px rgba(255, 255, 255, 0.08); display: block; text-decoration: none; box-sizing: border-box; padding-right: 50px; width: 100%; }
article.top-news-art a .infos.flex { margin-bottom: 15px; }
article.top-news-art a .tit { width: 100%; line-height: 1; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 1; -webkit-box-orient: vertical; }
article.top-news-art a .arrow { width: 18px; height: 14px; overflow: hidden; position: absolute; right: 0; bottom: 24px; display: block; z-index: 2; }
article.top-news-art a .arrow > span { display: block; background: url("../img/common/arrow02.svg") no-repeat center right, url("../img/common/arrow02.svg") no-repeat center left; height: 13px; position: absolute; width: 54px; left: -36px; top: 50%; transform: translateY(-50%); }
article.top-news-art a:hover .arrow > span { left: 0; transition: 0.3s; }
article.top-news-art a:before { content: ""; width: 0; height: 1px; background: #fff; transition: 0.6s; position: absolute; left: 0; bottom: -1px; }
article.top-news-art a:hover:before { width: 100%; }

article.top-news-art:last-child { margin-bottom: 0; }

.infos.flex { width: calc(100% + 16px); margin-left: -16px; align-items: center; }
.infos.flex > div { margin: 10px 0 0 16px; line-height: 28px; height: 28px; font-size: 14px; }

.cates { padding: 0 16px; color: #fff; background: #262626; border-radius: 40px; }

/*02 ゆうあい防災のビジョン
----------------------------------*/
div#umv.umv01 { position: relative; }
div#umv.umv01 > .wrap { padding: 90px 0 80px; }
div#umv.umv01 .mv-img { height: 360px; margin-left: auto; width: calc(100% - 120px); background: url("../img/p02/mv02.jpg") no-repeat center; background-size: cover; }

.mv-tit { display: flex; flex-wrap: wrap; align-items: flex-start; }
.mv-tit .en { margin-right: 24px; font-size: 100px; line-height: 1; }
.mv-tit .jp { padding-top: 39px; font-size: 16px; font-weight: 700; line-height: 1.4; }

.mv-copy { font-weight: 700; line-height: 1.6; font-size: 28px; margin-top: 48px; }

div#p02Box01 { padding: 120px 0 180px; }

section.vision-sec.flex { flex-direction: row-reverse; justify-content: space-between; padding-bottom: 80px; margin-bottom: 80px; border-bottom: solid 1px rgba(255, 255, 255, 0.08); }
section.vision-sec.flex > .img { width: 460px; }
section.vision-sec.flex > .cont { width: 560px; }
section.vision-sec.flex > .cont .text { line-height: 1.65; font-weight: 400; }

section.vision-sec.flex:nth-child(2n) { flex-direction: row; }

section.vision-sec.flex:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }

.num-tit { margin-bottom: 24px; }
.num-tit .num { font-family: 'osw'; font-weight: 400; letter-spacing: 0.025em; font-size: 16px; display: block; }
.num-tit .jp { display: block; font-weight: 700; font-size: 40px; line-height: 1.25; margin-top: 15px; }

.copy02 { margin-bottom: 40px; line-height: 1.6; font-size: 20px; font-weight: 700; }

/*03 メッセージ
----------------------------------*/
.page-message div#umv.umv01 .mv-img { background-image: url("../img/p03/umv.jpg"); }
.page-message div#contents .text { line-height: 1.65; font-weight: 400; }

.u-cont > section, .u-cont > div { padding: 120px 0; }
.u-cont > section:nth-child(2n), .u-cont > div:nth-child(2n) { background: #1C1C1C; }

section#p03Box01 .copy03 { margin-bottom: 40px; }
section#p03Box01 > .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; flex-direction: row-reverse; }
section#p03Box01 > .wrap > .img { width: 440px; }
section#p03Box01 > .wrap > .cont { width: 580px; }
section#p03Box01 > .wrap > .cont > h2 { line-height: 1.6; margin-bottom: 24px; }

.copy03 { line-height: 1.45; font-size: 32px; font-weight: 700; margin-bottom: 80px; font-weight: 700; }

section#p03Box02 .titles02 { text-align: center; margin-bottom: 60px; }

.case-list01.flex { margin-bottom: 80px; }
.case-list01.flex > div.box { width: 320px; position: relative; margin-right: 70px; border-top: solid 1px rgba(255, 255, 255, 0.4); padding-top: 20px; }
.case-list01.flex > div.box h3.tit { text-align: center; margin-bottom: 28px; font-weight: 700; }
.case-list01.flex > div.box h3.tit > span.small { display: block; line-height: 1.6; margin-bottom: 8px; }
.case-list01.flex > div.box h3.tit > span.big { display: block; line-height: 1; font-size: 24px; }
.case-list01.flex > div.box:last-child { margin-right: 0; }

.border-tit { border: solid 1px rgba(255, 255, 255, 0.4); height: 80px; width: 100%; box-sizing: border-box; display: table; font-weight: 700; font-size: 20px; }
.border-tit > span { display: table-cell; text-align: center; vertical-align: middle; }

.p03-cont02.flex { margin-top: 40px; justify-content: space-between; }
.p03-cont02.flex > .img { width: 380px; }
.p03-cont02.flex > .cont { width: 640px; }
.p03-cont02.flex > .cont > .text { margin-bottom: 24px; }
.p03-cont02.flex > .cont > .text:last-child { margin-bottom: 0; }

.p03-cont03.flex { justify-content: space-between; flex-direction: row-reverse; }
.p03-cont03.flex .img { width: 520px; }
.p03-cont03.flex .cont { width: 510px; }

.border-cont { margin-top: 80px; border: solid 1px rgba(255, 255, 255, 0.4); box-sizing: border-box; padding: 59px; }
.border-cont .tit { line-height: 1; font-size: 24px; margin-bottom: 40px; }

/*04 代表紹介
----------------------------------*/
.page-leader div#contents .text { line-height: 1.65; font-weight: 400; }
.page-leader .bg-img { height: 480px; background: url("../img/p04/bg-img.jpg") no-repeat center; background-size: cover; }

div#p04Box01 { padding-bottom: 120px; padding-top: 40px; }
div#p04Box01 .wrap { width: 940px; }
div#p04Box01 .message01 { position: absolute; right: 60px; top: -107px; line-height: 1.1; font-weight: 700; font-size: 28px; }
div#p04Box01 .message01 > span { display: block; width: 32px; }
div#p04Box01 .message01 span.line02 { position: absolute; top: 0; right: 55px; }
div#p04Box01 .message01 span.line03 { position: absolute; top: 0; right: 110px; }
div#p04Box01 .message01 span.v-kigou { display: block; line-height: 1; position: relative; right: -17px; top: -14px; }

.leaderBox { width: 640px; margin-bottom: 40px; position: relative; }
.leaderBox .nameBox { position: absolute; left: 0; bottom: 0; background: #191919; padding-top: 29px; width: 280px; }
.leaderBox .nameBox > span { display: block; }
.leaderBox .nameBox .line02 { line-height: 1.4; font-size: 32px; }

section#p04Box02 { padding: 120px 0; }

.p04-cont02.border-cont { margin-top: 0; }
.p04-cont02.border-cont > div { padding-bottom: 60px; margin-bottom: 60px; border-bottom: solid 1px rgba(255, 255, 255, 0.16); }
.p04-cont02.border-cont > div:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }
.p04-cont02.border-cont .box01.flex { justify-content: space-between; }
.p04-cont02.border-cont .box01.flex .titles02 { margin-bottom: 0; padding-top: 60px; }
.p04-cont02.border-cont .box01.flex .img { width: 320px; }
.p04-cont02.border-cont .box.in-cont.flex { justify-content: space-between; align-items: flex-start; }
.p04-cont02.border-cont .box.in-cont.flex .bold { text-decoration: underline; }
.p04-cont02.border-cont .box.in-cont.flex .cont { width: 720px; }
.p04-cont02.border-cont .box.in-cont.flex h3.tit { width: calc(100% - 720px); font-weight: 700; font-size: 20px; line-height: 1.2; margin-bottom: 0; }
.p04-cont02.border-cont .voiceBox { margin-top: 30px; display: flex; flex-wrap: wrap; justify-content: space-between; }
.p04-cont02.border-cont .voiceBox > .img { width: 80px; }
.p04-cont02.border-cont .voiceBox .textBox { box-sizing: border-box; width: 620px; background: #272727; padding: 24px; line-height: 1.65; font-weight: 400; }
.p04-cont02.border-cont .voiceBox:first-child { margin-top: 0; }
.p04-cont02.border-cont .setBox { margin-bottom: 40px; }
.p04-cont02.border-cont .setBox h4.tit02 { margin-bottom: 10px; }
.p04-cont02.border-cont .setBox .text01 { line-height: 1.65; font-weight: 400; }
.p04-cont02.border-cont .setBox:last-child { margin-bottom: 0; }

ul.dot-list { line-height: 1.4; }
ul.dot-list li { margin-bottom: 4px; position: relative; padding-left: 20px; }
ul.dot-list li:before { content: "・"; position: absolute; left: 0; top: 0; }

.p04-cont02-2.flex { margin-top: 80px; }
.p04-cont02-2.flex .titles01 { margin-bottom: 0; }
.p04-cont02-2.flex .titles01 .en { font-size: 18px; color: #838383; margin-bottom: 8px; }
.p04-cont02-2.flex .titles01 .jp { font-size: 28px; }
.p04-cont02-2.flex .text-Box { width: 180px; }
.p04-cont02-2.flex .text-Box .tit { margin-bottom: 15px; line-height: 1.4; font-size: 20px; font-weight: 700; }
.p04-cont02-2.flex .text-Box .text02 { line-height: 1.65; font-weight: 400; }
.p04-cont02-2.flex .box02 { margin-left: auto; width: 467px; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; }
.p04-cont02-2.flex .box02 > .img { width: 247px; }
.p04-cont02-2.flex .box03 { margin-left: 40px; width: 380px; padding: 29px; box-sizing: border-box; margin-top: 0; }
.p04-cont02-2.flex .box03 > .bold { margin-bottom: 10px; }
.p04-cont02-2.flex .box03 .text03 { line-height: 1; margin-top: 24px; }
.p04-cont02-2.flex .box03 ul.dot-list { line-height: 1.53; }
.p04-cont02-2.flex .box03 ul.dot-list > li { margin-bottom: 4px; }
.p04-cont02-2.flex .box03 ul.dot-list > li:last-child { margin-bottom: 0; }

.p04-cont02-3 { margin-top: 40px; width: 886px; margin-left: auto; }
.p04-cont02-3 a { text-decoration: none; padding: 24px; background: #252525; position: relative; box-sizing: border-box; }
.p04-cont02-3 a .img { width: 80px; margin-right: 40px; }
.p04-cont02-3 a .cont { width: 499px; }
.p04-cont02-3 a .cont .tit { line-height: 1.4; margin-bottom: 16px; font-size: 20px; }
.p04-cont02-3 a .dl-text { font-size: 16px; position: absolute; z-index: 2; right: 24px; bottom: 26px; }
.p04-cont02-3 a .dl-text > span { padding-right: 34px; display: inline-block; background: url("../img/common/download.svg") no-repeat right center; }
.p04-cont02-3 a:hover { opacity: 0.7; }

div.big-btn03 { border-top: solid 1px rgba(255, 255, 255, 0.08); border-bottom: solid 1px rgba(255, 255, 255, 0.08); }
div.big-btn03 a { display: block; background: #1C1C1C; padding: 100px 0; position: relative; text-decoration: none; }
div.big-btn03 a .titles02 { margin-bottom: 0; margin-right: 40px; }
div.big-btn03 a .text01 { font-weight: 700; font-size: 20px; line-height: 1.4; }
div.big-btn03 a .wrap { display: flex; flex-wrap: wrap; align-items: center; position: relative; box-sizing: border-box; z-index: 3; }
div.big-btn03 a .over-bg { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 1; background: url("../img/common/big-bg.jpg") no-repeat center; background-size: cover; transition: 0.3s; opacity: 0; }
div.big-btn03 a .arrow { width: 64px; height: 64px; overflow: hidden; border: solid 1px transparent; border-radius: 100%; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; position: absolute; z-index: 2; right: 16px; bottom: 24px; transition: 0.3s; }
div.big-btn03 a .arrow img { display: block; opacity: 1; }
div.big-btn03 a:hover .arrow { border-color: #fff; }

/*05 防災イベント企画
----------------------------------*/
.page-event div#contents .text { line-height: 1.65; font-weight: 400; }
.page-event div#umv.umv01 .mv-img { background-image: url("../img/p05/umv.jpg"); }

section.event-listBox.flex:first-child { margin-top: 0; }

section.event-listBox.flex { margin-top: 80px; padding-top: 40px; border-top: solid 1px rgba(255, 255, 255, 0.16); justify-content: space-between; flex-direction: row-reverse; }
section.event-listBox.flex > .img { width: 440px; }
section.event-listBox.flex > .cont { width: 580px; }
section.event-listBox.flex > .cont .titles01 { margin-bottom: 55px; }
section.event-listBox.flex > .cont .titles01 .en { margin-bottom: 8px; font-size: 18px; color: #838383; }
section.event-listBox.flex > .cont .titles01 .jp { line-height: 1.4; font-size: 28px; }
section.event-listBox.flex > .cont .titles01 .jp .komoji { display: block; font-size: 16px; line-height: 1; margin-top: 8px; }

section#report-sec .titles02 { text-align: center; margin-bottom: 60px; }
section#report-sec .btn01 { justify-content: flex-end; }

/*06 働く環境と制度を知る
----------------------------------*/
.page-environment div#contents .text { line-height: 1.65; font-weight: 400; }
.page-environment div#umv.umv01 .mv-img { background-image: url("../img/p06/umv.jpg"); }

.mv-copy-env { width: 298px; height: 610px; box-sizing: border-box; background: #191919; position: absolute; bottom: -470px; z-index: 3; padding: 50px 56px 0; left: calc(50% - 490px); }
.mv-copy-env > div { position: relative; }
.mv-copy-env > div > span { display: block; width: 35px; font-size: 28px; font-weight: 700; line-height: 1.1; }
.mv-copy-env > div .line01 { position: absolute; right: 0; top: 0; }
.mv-copy-env > div .line02 { position: absolute; right: 51px; top: 0; margin: 0 auto; }
.mv-copy-env > div .line03 { position: absolute; right: 102px; top: 0; }
.mv-copy-env > div .line04 { position: absolute; left: 0; top: 0; }
.mv-copy-env span.v-kigou { display: block; position: relative; right: -16px; line-height: 1; top: -14px; }

.p06-cont01-1 { width: 720px; margin: 0 0 80px auto; min-height: 300px; }

.copy04 { font-weight: 700; font-size: 24px; line-height: 1.6; margin-bottom: 30px; }

.p06-cont01-2.flex { justify-content: space-between; }
.p06-cont01-2.flex .img { width: 560px; }
.p06-cont01-2.flex .cont { width: 460px; }
.p06-cont01-2.flex .cont .copy04 { margin-bottom: 40px; }

ul.bg-list01 { margin-top: -5px; }
ul.bg-list01 > li { background: #202020; padding: 8px 16px 12px; line-height: 1.4; margin-top: 5px; }

section#p06Box02 .titles02 { margin-bottom: 60px; }
section#p06Box02 .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
section#p06Box02 .wrap .cont { width: 580px; }
section#p06Box02 .wrap .imgs { width: 420px; position: relative; height: 460px; margin-top: -50px; }
section#p06Box02 .wrap .imgs .img02 { position: absolute; right: 0; bottom: 0; }
section#p06Box02 ul.dot-list > li { margin-bottom: 12px; }
section#p06Box02 ul.dot-list > li:last-child { margin-bottom: 0; }

section#p06Box03 .tit-head.flex { margin-bottom: 118px; }

.tit-head.flex { justify-content: space-between; align-items: flex-end; margin-bottom: 60px; }
.tit-head.flex .titles02 { margin-bottom: 0; }
.tit-head.flex .text { width: 640px; }

section#p06Box04 .copy04 { margin-bottom: 40px; text-align: center; }

ul.bg-list01.qua-list.flex { margin-top: -10px; }
ul.bg-list01.qua-list.flex > li { background: #191919; padding: 16px 16px 16px 16px; box-sizing: border-box; width: 360px; margin: 10px 10px 0 0; }
ul.bg-list01.qua-list.flex > li:nth-child(3n) { margin-right: 0; }

section#p06Box05 .titles02 { text-align: center; margin-bottom: 60px; }

ul.bg-list01.be-list.flex { margin-top: -10px; }
ul.bg-list01.be-list.flex > li { padding: 16px 24px; box-sizing: border-box; width: 545px; margin: 10px 10px 0 0; height: 80px; display: table; font-size: 18px; line-height: 1; font-weight: 700; }
ul.bg-list01.be-list.flex > li > span { display: table-cell; text-align: left; vertical-align: middle; }
ul.bg-list01.be-list.flex > li > span span.komoji { font-size: 14px; display: block; margin-top: 5px; }
ul.bg-list01.be-list.flex > li:nth-child(2n) { margin-right: 0; }

.planTBL > div.box:first-child { border-top: solid 1px rgba(255, 255, 255, 0.16); }
.planTBL > div.box:first-child div.line02:before { content: "入社時"; box-sizing: border-box; width: 100%; height: 58px; border: solid 1px rgba(255, 255, 255, 0.16); border-right: none; border-bottom: none; line-height: 57px; text-align: center; position: absolute; left: 0; bottom: 100%; }
.planTBL > div.box:first-child div.line03:before { content: "3年目"; box-sizing: border-box; width: 100%; height: 58px; border: solid 1px rgba(255, 255, 255, 0.16); border-right: none; border-bottom: none; line-height: 57px; text-align: center; position: absolute; left: 0; bottom: 100%; }
.planTBL > div.box:first-child div.line04:before { content: "10年目"; box-sizing: border-box; width: calc(100% + 1px); height: 58px; border: solid 1px rgba(255, 255, 255, 0.16); border-bottom: none; line-height: 57px; text-align: center; position: absolute; left: 0; bottom: 100%; }
.planTBL > div.box { position: relative; }
.planTBL > div.box > div { position: relative; box-sizing: border-box; border-left: solid 1px rgba(255, 255, 255, 0.16); border-bottom: solid 1px rgba(255, 255, 255, 0.16); display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; padding: 24px; }
.planTBL > div.box > div .en { font-size: 24px; line-height: 1.2; }
.planTBL > div.box div.line01 { width: 240px; background: #202020; }
.planTBL > div.box div.line02 { width: 120px; justify-content: flex-end; }
.planTBL > div.box div.line03 { width: 120px; justify-content: flex-end; }
.planTBL > div.box div.line04 { width: 120px; justify-content: flex-end; }
.planTBL > div.box div.line05 { width: 500px; border-right: solid 1px rgba(255, 255, 255, 0.16); line-height: 1.4; }

/*07 数字で知る
----------------------------------*/
div#p07Box01 { padding: 40px 0 120px; }

.data-list.flex { margin-top: -25px; justify-content: space-between; }
.data-list.flex > div.box { box-sizing: border-box; margin-top: 25px; background: #1C1C1C; padding: 30px; width: 350px; }
.data-list.flex > div.box .tit { line-height: 40px; font-weight: 700; font-size: 20px; margin-bottom: 30px; }
.data-list.flex > div.box .tit > span { display: inline-block; padding-left: 45px; background: url("../img/p07/ico01.svg") no-repeat left center; }
.data-list.flex > div.box.box01 .tit { margin-bottom: 60px; }
.data-list.flex > div.box.box01 .text01 { text-align: center; font-weight: 700; line-height: 1.4; margin-top: 24px; }
.data-list.flex > div.box.box02 .tit > span { background-image: url("../img/p07/ico02.svg"); }
.data-list.flex > div.box.box03 .tit { margin-bottom: 70px; }
.data-list.flex > div.box.box03 .tit > span { background-image: url("../img/p07/ico03.svg"); }
.data-list.flex > div.box.box04 .tit > span { background-image: url("../img/p07/ico04.svg"); }
.data-list.flex > div.box.box05 .tit { margin-bottom: 70px; }
.data-list.flex > div.box.box05 .tit > span { background-image: url("../img/p07/ico05.svg"); }
.data-list.flex > div.box.box05 .numBox02 .en { width: 96px; text-align: right; }
.data-list.flex > div.box.box06 .tit > span { background-image: url("../img/p07/ico06.svg"); }
.data-list.flex > div.box.box06 .inner.flex { width: 545px; justify-content: space-between; align-items: center; margin: 0 auto; font-weight: 700; }
.data-list.flex > div.box.box06 .inner.flex .in01 { width: 210px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; line-height: 1; }
.data-list.flex > div.box.box06 .inner.flex .in02 { width: 240px; }
.data-list.flex > div.box.box06 .inner.flex .wake { display: flex; flex-wrap: wrap; }
.data-list.flex > div.box.box06 .inner.flex .wake .g01 { margin-right: 14px; }
.data-list.flex > div.box.box06 .inner.flex .wake .g01, .data-list.flex > div.box.box06 .inner.flex .wake .g02 { font-size: 20px; text-align: center; font-weight: 700; line-height: 1; width: 54px; text-align: right; }
.data-list.flex > div.box.box06 .inner.flex .wake .g01 .cap, .data-list.flex > div.box.box06 .inner.flex .wake .g02 .cap { display: block; text-align: left; margin-bottom: 10px; }
.data-list.flex > div.box.box06 .inner.flex .wake .g01 .en, .data-list.flex > div.box.box06 .inner.flex .wake .g02 .en { font-size: 40px; margin-right: 5px; }
.data-list.flex > div.box.box07 .tit { margin-bottom: 40px; }
.data-list.flex > div.box.box07 .tit > span { background-image: url("../img/p07/ico07.svg"); }
.data-list.flex > div.box.box08 .tit > span { background-image: url("../img/p07/ico08.svg"); }
.data-list.flex > div.box.box09 .tit > span { background-image: url("../img/p07/ico09.svg"); }
.data-list.flex > div.box.box02 { width: 725px; }
.data-list.flex > div.box.box06 { width: 725px; }
.data-list.flex > div.box.box08 { width: 538px; }
.data-list.flex > div.box.box09 { width: 538px; }

.numBox01 { text-align: center; font-weight: 700; font-size: 20px; line-height: 1; }
.numBox01 .en { font-size: 64px; margin-right: 5px; }

.per-list01 dl { padding-bottom: 10px; margin-bottom: 10px; border-bottom: solid 1px rgba(255, 255, 255, 0.08); justify-content: space-between; font-weight: 700; line-height: 1; }
.per-list01 dl dd { text-align: right; }
.per-list01 dl dd .en { font-size: 20px; margin-right: 2px; }
.per-list01 dl:last-child { margin-bottom: 0; }

.numBox02 { text-align: center; font-weight: 700; }
.numBox02 .inBox { margin-bottom: 12px; font-size: 20px; display: flex; flex-wrap: wrap; align-items: center; line-height: 1; justify-content: center; }
.numBox02 .inBox .left { margin-right: 22px; }
.numBox02 .inBox .en { font-size: 64px; margin-right: 5px; text-align: right; }
.numBox02 .inBox .right { position: relative; top: 20px; }
.numBox02 .inBox:last-child { margin-bottom: 0; }

.graphBox { font-weight: 700; line-height: 1; }
.graphBox .en { font-size: 20px; margin-right: 2px; }
.graphBox > div.inBox { padding-bottom: 14px; display: flex; flex-wrap: wrap; align-items: center; width: 100%; }
.graphBox > div.inBox .age { width: 76px; }
.graphBox > div.inBox .cont { width: calc(100% - 76px); display: flex; flex-wrap: wrap; align-items: center; position: relative; }
.graphBox > div.inBox .cont .bar { margin-right: 10px; width: 6.8%; height: 24px; border: solid 1px #fff; box-sizing: border-box; margin-right: 10px; }
.graphBox > div.inBox .cont:before { content: ""; position: absolute; left: 0; bottom: -15px; width: 1px; height: 16px; background: #fff; }
.graphBox > div.inBox:last-child { padding-bottom: 0; }
.graphBox > div.inBox:last-child .cont:before { content: none; }
.graphBox > div.inBox.inBox02 .bar { width: 20.3%; }
.graphBox > div.inBox.inBox03 .bar { width: 34.8%; }
.graphBox > div.inBox.inBox04 .bar { width: 53.4%; }
.graphBox > div.inBox.inBox05 .bar { width: 56.99%; }
.graphBox > div.inBox.inBox06 .bar { width: 67.06%; }

/*08
----------------------------------*/
.page-recruit div#contents .text { line-height: 1.65; font-weight: 400; }

div#p08Box01 { padding: 1px 0 120px; }
div#p08Box01 .text01 { margin-bottom: 80px; }
div#p08Box01 .copy04 { margin-bottom: 24px; }

.p08-flow { margin-bottom: 80px; }

.flow-list08.flex > .box { width: 350px; box-sizing: border-box; background: #202020; text-align: center; margin-right: 25px; padding: 40px 10px 50px; position: relative; }
.flow-list08.flex > .box .ico { text-align: center; margin-bottom: 20px; }
.flow-list08.flex > .box .text { width: 100%; height: 45px; display: table; font-weight: 700; font-size: 20px; line-height: 1; }
.flow-list08.flex > .box .text .komoji { display: block; margin-top: 8px; font-size: 15px; }
.flow-list08.flex > .box .text > div { display: table-cell; text-align: center; vertical-align: middle; }
.flow-list08.flex > .box.box01:after, .flow-list08.flex > .box.box02:after { content: ""; width: 0; height: 0; border-left: solid 24px #202020; border-top: solid 20px transparent; border-bottom: solid 20px transparent; position: absolute; left: 100%; top: 0; bottom: 0; margin: auto 0; }
.flow-list08.flex > .box.box02:before, .flow-list08.flex > .box.box03:before { content: ""; width: 0; height: 0; border-left: solid 24px #191919; border-top: solid 20px transparent; border-bottom: solid 20px transparent; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }
.flow-list08.flex > .box:last-child { margin-right: 0; }

.TBL02 th, .TBL02 td { box-sizing: border-box; border-top: solid 1px rgba(255, 255, 255, 0.16); border-bottom: solid 1px rgba(255, 255, 255, 0.16); line-height: 1.6; padding: 24px 20px 24px 30px; font-weight: 500; }
.TBL02 th { width: 240px; background: #202020; }

/*09 会社案内
----------------------------------*/
.page-company div#umv.umv01 .mv-img { background-image: url("../img/p09/umv.jpg"); }

div#p09Box01 .titles01 { margin-bottom: 40px; }
div#p09Box01 .titles01 span.en { margin-bottom: 8px; }
div#p09Box01 .titles01 span.jp { font-size: 28px; }
div#p09Box01 section { margin-bottom: 120px; }
div#p09Box01 section:last-child { margin-bottom: 0; }

.addrBox { margin-bottom: 24px; }

.addrBox:last-child { margin-bottom: 0; }

section#company02 ul.bg-list01 > li { background: #202020; }

.per-list01.flex { justify-content: space-between; margin-top: -10px; }
.per-list01.flex > dl.flex { width: 520px; margin-bottom: 0; margin-top: 10px; }

/*10 お問い合わせ・エントリー
----------------------------------*/
.page-contact { background: #1c1c1c; }
.page-contact div#ftBox01 { background: #191919; }

.contact-text, .form-bikou { line-height: 1.65; font-weight: 400; }
.contact-text p, .form-bikou p { position: relative; padding-left: 20px; }
.contact-text p:before, .form-bikou p:before { content: "※"; position: absolute; left: 0; top: 0; }

/*フォーム*/
.file-bikou { font-size: 14px; }

ul.contact-state { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 40px 0 10px; }

ul.contact-state > li { display: table; width: 340px; height: 64px; position: relative; }

ul.contact-state > li > span { display: table-cell; text-align: center; vertical-align: middle; color: #fff; font-size: 18px; font-weight: 700; border: solid 1px #fff; border-radius: 40px; opacity: 0.4; position: relative; }

ul.contact-state > li.state01 { margin-left: 0; }

ul.contact-state > li.state01 > span { opacity: 1; }

ul.contact-state > li > span span.num { position: absolute; left: 24px; top: 50%; transform: translateY(-50%); display: block; width: 24px; height: 24px; text-align: center; line-height: 24px; background: #fff; color: #191919; border-radius: 100%; font-size: 14px; }

ul.contact-state.contact-state02 { display: flex; flex-wrap: wrap; justify-content: space-between; }

ul.contact-state.contact-state02 > li.state02 > span { opacity: 1; }

span.num-circle { margin-right: 7px; }

a.green { text-decoration: underline; }

a.green:hover { text-decoration: none; }

.contactTBL th, .contactTBL td { display: block; box-sizing: border-box; font-size: 16px; padding: 32px 0; line-height: 1.6; }
.contactTBL th { padding-bottom: 15px; }
.contactTBL th span.form-bikou { font-weight: 500; font-size: 14px; }
.contactTBL td { padding-top: 0; }
.contactTBL .wpcf7-list-item { margin-left: 0; display: block; margin-bottom: 10px; }
.contactTBL .wpcf7-list-item.last { margin-bottom: 0; }
.contactTBL input[type="checkbox"], .contactTBL input[type="radio"] { transform-origin: left center; transform: scale(1.5); margin-right: 8px; }

.wpcf7-checkbox input[type="radio"], .wpcf7-checkbox input[type="checkbox"], .wpcf7-radio input[type="radio"], .wpcf7-radio input[type="checkbox"] { display: none; }
.wpcf7-checkbox span.wpcf7-list-item-label, .wpcf7-radio span.wpcf7-list-item-label { display: inline-block; padding-left: 24px; background: url("../img/p10/ico-radio01.svg") no-repeat left top 5px; padding-bottom: 2px; cursor: pointer; }
.wpcf7-checkbox input[type="radio"]:checked ~ span.wpcf7-list-item-label, .wpcf7-checkbox input[type="checkbox"]:checked ~ span.wpcf7-list-item-label, .wpcf7-radio input[type="radio"]:checked ~ span.wpcf7-list-item-label, .wpcf7-radio input[type="checkbox"]:checked ~ span.wpcf7-list-item-label { background-image: url("../img/p10/ico-radio02.svg"); }

.dnd-upload-status .dnd-upload-details .name em { color: #fff !important; }

.dnd-upload-status .dnd-upload-image { background: #fff !important; }

span.hissu { display: inline-block; color: #fff; padding: 0px 7px; background: #FF3538; margin-right: 8px; box-sizing: border-box; font-size: 14px; font-weight: 700; }

span.nini { display: inline-block; padding: 0px 6px; margin-right: 8px; font-size: 14px; font-weight: 700; color: #fff; border: solid 1px; box-sizing: border-box; }

input.wpcf7-number, input.wpcf7-date, input.wpcf7-text { box-sizing: border-box; height: 48px; border: solid 1px #D4D4D4; padding: 5px 20px; font-size: 16px; background: #fff; width: 100%; border-radius: 0; }

input.wpcf7-date { padding: 5px 10px; }

select.wpcf7-select { box-sizing: border-box; height: 48px; border: solid 1px #D4D4D4; padding: 5px 20px; font-size: 16px; background: #fff; width: auto; border-radius: 0; }

select { background: #fff; border-radius: 0; }

textarea.wpcf7-textarea { box-sizing: border-box; height: 160px; border: solid 1px #D4D4D4; padding: 5px 20px; font-size: 16px; background: #fff; width: 100%; border-radius: 0; }

input#com-name, input#busho { width: 400px; }

.okomari-list span.wpcf7-list-item { display: block; }

.radio-list span.wpcf7-list-item { display: block; }

.contactTBL .select-con .wpcf7-list-item { display: inline-block; margin-right: 10px !important; }

.select-con { margin-bottom: 15px; }

input#your-name, input#your-kana { width: 400px; }

.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/p10/ico-pdf.svg") no-repeat center top 56px #fff; padding: 84px 30px 56px; }

.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: #E3E3E3; border: solid 1px #707070; border-radius: 0; padding-top: 3px; font-size: 16px; margin-top: 8px; color: #000000; }

.contact-submit.flex { margin-top: 60px; 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: 320px; position: relative; }

.form-btn input[type="submit"], .form-btn input[type="button"] { transition: 0.3s; border: solid 1px #fff; color: #fff; width: 100%; height: 64px; font-size: 16px; font-weight: 700; position: relative; z-index: 3; border-radius: 38px; text-align: center; background: none; }

.form-btn.form-btn02 { margin-right: 10px; }

.form-btn.form-btn03 input[type="submit"], .form-btn.form-btn03 input[type="button"] { background-color: #fff; color: #191919; }

.form-btn input { transition: 0.3s; cursor: pointer; }

.form-btn input:hover { opacity: 0.7; }

.form-btn.form-btn02 input:hover { opacity: 0.7; }

.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: 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: #515151; padding: 30px; }
.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 .form-bikou { display: none; }

.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] ~ 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] ~ 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; }

/*100 thanksページ等
----------------------------------*/
div#p100Box01 { padding: 120px 0; }
div#p100Box01 .wrap > .text { text-align: center; }
div#p100Box01 .btn01 { margin: 60px auto 0; justify-content: center; }

div#p101Box01 { padding: 120px 0; }
div#p101Box01 .btn01 { margin: 60px 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: #fff; margin-top: 50px; }

.pp-title02:before { content: ""; width: 5px; height: 65%; background: #fff; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }

/*11 お知らせ
----------------------------------*/
div#two-cont { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 75px 0 120px; }

div#two-main { width: 740px; }

div#two-side { width: 280px; }

.sideBox { margin-bottom: 40px; }

.sideBox:last-child { margin-bottom: 0; }

.side-tit { font-size: 16px; font-weight: 700; line-height: 1.2; margin-bottom: 24px; }

li.side-li { border-top: solid 1px rgba(255, 255, 255, 0.16); }
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 a:hover { background-color: #1C1C1C; }

li.side-li.r_current a { background-color: #1C1C1C; pointer-events: none; }

li.side-li:last-child { border-bottom: solid 1px rgba(255, 255, 255, 0.16); }

.side-inner select { display: block; width: 100%; border-radius: 0; padding: 5px 47px 5px 20px; box-sizing: border-box; height: 60px; background: url("../img/p08/select-arrow.svg") no-repeat center right 28px #F0F0F0; font-size: 16px; font-weight: 500; cursor: pointer; border: none; -webkit-appearance: none; appearance: none; }

.column-ban a { display: block; text-decoration: none; padding: 13px 10px 16px 23px; border: solid 1px rgba(255, 255, 255, 0.16); }
.column-ban a .line01 { font-weight: 700; line-height: 1.4; font-size: 18px; padding-left: 27px; background: url("../img/p11/ico-blank.svg") no-repeat left top; }
.column-ban a .line02 { line-height: 1.4; font-size: 15px; margin-top: 3px; }
.column-ban a:hover { opacity: 0.7; }

article.news-art { margin-bottom: 60px; border-top: solid 1px rgba(255, 255, 255, 0.16); }
article.news-art a { text-decoration: none; padding-top: 24px; justify-content: space-between; align-items: flex-start; }
article.news-art a .img { width: 200px; overflow: hidden; }
article.news-art a .img .in-img { padding-top: 70%; transition: 0.3s; }
article.news-art a .cont { width: calc(100% - 230px); }
article.news-art a .cont .tit { height: 50px; line-height: 1.4; font-size: 18px; font-weight: 500; width: 100%; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin-bottom: 35px; margin-top: 8px; }
article.news-art a .infos.flex { margin-top: -10px; }
article.news-art a .infos.flex > div { height: 25px; line-height: 25px; }
article.news-art a:hover .img .in-img { transform: scale(1.1); }

article.news-art:last-child { margin-bottom: 0; }

/*詳細*/
article.singleBox01.singleBox01-blog .infos.flex > div { height: 25px; line-height: 25px; }
article.singleBox01.singleBox01-blog .infos.flex > div.n-date { font-size: 15px; }

.infos.flex > div.cate { border: solid 1px #fff; font-size: 14px; padding: 0 12px; border: solid 1px rgba(255, 255, 255, 0.4); border-radius: 15px; }

h1.sn-tit01 { margin-top: 16px; margin-bottom: 40px; font-weight: 500; font-size: 24px; line-height: 1.4; }

.blog-text { line-height: 1.65; font-weight: 400; }
.blog-text p:first-child { margin-top: 0; }
.blog-text p:first-child img { margin-top: 0; }
.blog-text img:first-child { margin-top: 0; }
.blog-text img[class*="wp-image-"] { margin: 20px 0; }
.blog-text iframe { max-width: 100%; }
.blog-text div { max-width: 100%; }
.blog-text a { max-width: 100%; text-decoration: underline; }
.blog-text a:hover { text-decoration: none; }

/*ページャー*/
div#pager00 { text-align: center; }

div#pager00 .wp-pagenavi { margin-top: 80px; }

.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: #fff; border: solid 1px #fff; box-sizing: border-box; border-radius: 100%; font-font-family: 'osw'; font-weight: 400; opacity: 0.4; }

.wp-pagenavi a.page { position: relative; }

.wp-pagenavi span.extend { background: none; box-shadow: none; border: none; }

.wp-pagenavi > a:hover { opacity: 1; }

.wp-pagenavi a.previouspostslink { color: transparent; background: url("../img/p11/arrow-prev.svg") no-repeat center; margin-left: 0; }

.wp-pagenavi a.nextpostslink { color: transparent; background: url("../img/p11/arrow-next.svg") no-repeat center; margin-right: 0; }

.wp-pagenavi span.current { opacity: 1; }

.wp-pagenavi a.first { display: none; }

.wp-pagenavi a.last { display: none; }

.wp-pagenavi span.pages { display: none; }

.post-navigation ul { margin-top: 80px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.post-navigation ul > li { margin-right: 10px; width: 160px; height: 56px; display: table; }
.post-navigation ul > li a { display: table-cell; text-align: center; vertical-align: middle; border-radius: 30px; border: solid 1px #fff; font-weight: 700; text-decoration: none; }
.post-navigation ul > li a:hover { opacity: 0.7; }
.post-navigation ul > li:last-child { margin-right: 0; }
.post-navigation ul li.next .text { display: inline-grid; padding-right: 16px; background: url("../img/p11/arrow-next.svg") no-repeat right center; padding-bottom: 2px; }
.post-navigation ul li.prev .text { display: inline-grid; padding-left: 16px; background: url("../img/p11/arrow-prev.svg") no-repeat left center; padding-bottom: 2px; }
.post-navigation ul li.kara { opacity: 0; pointer-events: none; }

/*ブラウザごと
----------------------------------*/
.tokushu body.home div#mv { height: 880px; }
.tokushu div#scr02 > .inner a .inner.flex .text { font-size: 11px; }

/*デバイス幅
----------------------------------*/
@media screen and (min-width: 0px) and (max-width: 1750px) { body.home div#mv .mv-cont { width: 43.5vw; }
  .mv-text01 .min-img { width: 6.77vw; bottom: -0.46vw; left: 9.65vw; transition: 1.0s; } }
@media screen and (min-width: 0px) and (max-width: 1300px) { html.showPage body:not(.home) { padding-top: 65px; }
  .fixed div#header { height: 60px; padding-top: 0; padding-right: 0; }
  .fixed div#header .head-btn { height: 60px; }
  .fixed div#header .head-center { padding-top: 10px; }
  #header { height: 60px; padding-top: 5px; }
  div#header .logo { margin-top: 5px; width: 150px; }
  .fixed div#header .logo { width: 112px; }
  .head-center { padding-top: 5px; }
  ul.head-nav01 { margin-bottom: 10px; }
  .head-btn { width: 110px; height: 50px; }
  .head-btn a .text .en { font-size: 20px; }
  .head-btn a .text .jp { font-size: 10px; }
  ul.head-nav01 > li { font-size: 12px; }
  div#gnav ul.flex > li { font-size: 13px; }
  span.dr-ico { top: 1px; width: 11px; height: 11px; }
  span.dr-ico:before { top: 5px; }
  span.dr-ico:after { left: 5px; }
  div#umv.umv01 > .wrap { padding: 70px 0 50px; }
  div#umv.umv01 .mv-img { width: calc(100% - 90px); }
  .event-list01.flex.slider01 article.blog-art { width: 280px; margin-right: 20px; }
  .event-list01.flex.slider01 article.blog-art .tit { font-size: 16px; margin-bottom: 10px; }
  .event-list01.flex.slider01 article.blog-art a .a-date { padding-top: 10px; font-size: 12px; }
  button.slick-arrow { bottom: -82px; }
  div.rec-btn a .titles01 .jp { font-size: 24px; }
  div.rec-btn a .titles01 { left: 30px; } }
@media screen and (min-width: 0px) and (max-width: 1280px) { div#topBox02 .bg-img { width: 100%; } }
@media screen and (max-height: 650px) { html.showPage body:not(.home) { padding-top: 65px; }
  .fixed div#header { height: 60px; padding-top: 0; padding-right: 0; }
  .fixed div#header .head-btn { height: 60px; }
  .fixed div#header .head-center { padding-top: 10px; }
  #header { height: 60px; padding-top: 5px; }
  div#header .logo { margin-top: 5px; width: 150px; }
  .fixed div#header .logo { width: 112px; }
  .head-center { padding-top: 5px; }
  ul.head-nav01 { margin-bottom: 10px; }
  .head-btn { width: 110px; height: 50px; }
  .head-btn a .text .en { font-size: 20px; }
  .head-btn a .text .jp { font-size: 10px; }
  ul.head-nav01 > li { font-size: 12px; }
  div#gnav ul.flex > li { font-size: 13px; }
  span.dr-ico { top: 1px; width: 11px; height: 11px; }
  span.dr-ico:before { top: 5px; }
  span.dr-ico:after { left: 5px; }
  div#umv.umv01 > .wrap { padding: 70px 0 50px; }
  div#umv.umv01 .mv-img { width: calc(100% - 90px); }
  .event-list01.flex.slider01 article.blog-art { width: 280px; margin-right: 20px; }
  .event-list01.flex.slider01 article.blog-art .tit { font-size: 16px; margin-bottom: 10px; }
  .event-list01.flex.slider01 article.blog-art a .a-date { padding-top: 10px; font-size: 12px; }
  button.slick-arrow { bottom: -82px; } }
