@charset "UTF-8";
/* TOP
------------------------------------------*/
/* TOPタイトルアニメーション
-----------------------------*/
.ani-tit { width: fit-content; }
.ani-tit .ins { display: block; overflow: hidden; white-space: nowrap; transition: 0.3s; width: 100%; width: 0; }

.ani-tit.anima .ins { animation: ttit 0.6s ease-out 0.0s 1 forwards; }

@keyframes ttit { 0% { width: 0; }
  100% { width: 100%; } }
section#member-sec .titles01 { margin-left: auto; margin-right: auto; }
section#member-sec .titles01 span.jp { width: 349px; }

section#faq-sec .titles01 { margin-left: auto; margin-right: auto; }
section#faq-sec .titles01 span.jp { width: 154px; }

/* TOPタイトルアニメーション終わり
-----------------------------*/
div#mv { background: url("../img/main/mv-left.jpg") no-repeat top right calc(50% + 678px), url("../img/main/mv-right.jpg") no-repeat top left calc(50% + 678px); }

.mv-cont { width: 790px; margin: 0 auto; background: #F1F6FE; }

div#top-news { padding: 20px 30px; border-bottom: solid 1px #E0E7F2; }

.cates { line-height: 30px; display: inline-block; padding: 0 10px; background: #0F0F0F; color: #fff; font-size: 15px; }

.dates { line-height: 30px; display: inline-block; font-size: 15px; }

article.top-news-art a { align-items: center; }
article.top-news-art a .cates { margin-right: 16px; }
article.top-news-art a .dates { margin-right: 8px; }
article.top-news-art a .tit { max-width: calc(100% - 200px); overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-weight: 500; font-size: 15px; }

div.pop-box { padding: 12px 40px 55px; }

div.pop-tit { padding-left: 75px; }
div.pop-tit div.flex { align-items: flex-end; }
div.pop-tit .img { margin-right: 30px; }
div.pop-tit .text { font-weight: 700; line-height: 1.2; padding-bottom: 13px; }
div.pop-tit .text .line01 { font-size: 32px; }
div.pop-tit .text .line02 { font-size: 18px; margin-top: 10px; }

div#pop-btns { margin-top: -10px; display: flex; flex-wrap: wrap; width: 100%; justify-content: space-between; }
div#pop-btns .slick-track { width: 100% !important; transform: none !important; display: flex; flex-wrap: wrap; justify-content: space-between; }
div#pop-btns .slick-track:before { content: none; }
div#pop-btns .slick-track:after { content: none; }

div.pop-btn { width: 350px; margin-top: 10px; background: #fff; padding: 10px 20px; display: block; text-decoration: none; transition: 0.3s; cursor: pointer; box-sizing: border-box; border: solid 1px #E0E7F2; border-radius: 10px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); }
div.pop-btn .inner { align-items: center; }
div.pop-btn .inner .ico { width: 60px; margin-right: 20px; }
div.pop-btn .inner .text { font-size: 18px; font-weight: 700; line-height: 24px; width: 185px; }
div.pop-btn .inner .plus { margin-left: auto; width: 32px; height: 32px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; background: linear-gradient(180deg, #007492 0%, #004798 100%); border-radius: 100%; position: relative; }
div.pop-btn .inner .plus img { position: relative; z-index: 2; }
div.pop-btn .inner .plus:before { content: ""; width: 100%; height: 100%; border-radius: 100%; background: #fff; border: solid 1px #00428B; position: absolute; left: 0; top: 0; opacity: 0; transition: 0.3s; box-sizing: border-box; }

div.pop-btn:hover { box-shadow: 0 0 0 rgba(0, 0, 0, 0.08); }
div.pop-btn:hover .inner .plus img { filter: brightness(0) saturate(100%) invert(14%) sepia(82%) saturate(2948%) hue-rotate(200deg) brightness(98%) contrast(101%); }
div.pop-btn:hover .inner .plus:before { opacity: 1; }

div#pop-ups { position: fixed; width: 100%; height: 100%; z-index: -20; background: rgba(0, 0, 0, 0.4); left: 0; top: 0; opacity: 0; pointer-events: none; }

div#pop-ups.on { z-index: 220; opacity: 1; pointer-events: auto; }

div#pop-shade { width: 100%; height: 100%; left: 0; top: 0; position: absolute; cursor: pointer; }

div#pop-ups-slider { max-height: calc(100vh - 120px); position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); margin: 0 auto; width: 1100px; }
div#pop-ups-slider .slick-list { padding: 10px; }
div#pop-ups-slider button.slick-prev.slick-arrow { left: -70px; }
div#pop-ups-slider button.slick-next.slick-arrow { right: -70px; }

div.pop-slide { width: 1100px; }
div.pop-slide .contact-btn a:before { left: -1px; top: -1px; border-radius: 40px; }
div.pop-slide div.inner { position: relative; }
div.pop-slide div.inner .pop-close { background: url("../img/common/pop-close.svg") no-repeat; width: 40px; height: 40px; border-radius: 100%; position: absolute; z-index: 2; right: -10px; top: -10px; transition: 0.3s; cursor: pointer; }
div.pop-slide div.inner .pop-close:hover { opacity: 0.7; }
div.pop-slide div.pop-head.flex { box-sizing: border-box; background: #00428B; border-radius: 20px 20px 0 0; color: #fff; align-items: center; padding: 20px 40px; }
div.pop-slide div.pop-head.flex .ico { width: 60px; margin-right: 20px; }
div.pop-slide div.pop-head.flex .text { font-size: 24px; font-weight: 700; line-height: 1.45; }
div.pop-slide div.pop-center { padding: 25px 40px; box-sizing: border-box; overflow: auto; max-height: 457px; background: #fff; }
div.pop-slide div.pop-center .titles01 { margin-bottom: 15px; }
div.pop-slide div.pop-center .in-section { border-bottom: solid 1px #ECECEC; padding-bottom: 30px; margin-bottom: 30px; }
div.pop-slide div.pop-center .in-section .text01 { font-size: 18px; font-weight: 700; line-height: 1.45; }
div.pop-slide div.pop-center .in-section .bikou-text01 { margin-top: 8px; }
div.pop-slide div.pop-center .in-section .inBox { margin-bottom: 15px; }
div.pop-slide div.pop-center .in-section .inBox:last-child { margin-bottom: 0; }
div.pop-slide div.pop-center .in-section:last-child { border-bottom: none; padding-bottom: 0; margin-bottom: 0; }
div.pop-slide div.pop-bottom { padding: 24px; background: #F8F8F8; border-radius: 0 0 20px 20px; }

.bikou-text01 p { padding-left: 18px; position: relative; line-height: 1.75; }
.bikou-text01 p:before { content: "※"; position: absolute; left: 0; top: 0; }

div.btns.flex { justify-content: center; align-items: center; }
div.btns.flex .btn01 { width: 320px; margin: 0 20px 0 0; height: 60px; }
div.btns.flex .contact-btn { width: 320px; }
div.btns.flex .contact-btn a { display: flex; flex-wrap: wrap; align-items: center; padding: 0; height: 60px; border-radius: 30px; }
div.btns.flex .contact-btn a .line01.flex { font-size: 18px; }
div.btns.flex .contact-btn a .line01.flex span.ico { margin: 0 8px 0 0; width: 20px; top: auto; }

div.seki-text { display: flex; flex-wrap: wrap; align-items: center; line-height: 30px; font-weight: 700; margin-bottom: 4px; }
div.seki-text > div { margin-right: 8px; }
div.seki-text > div:last-child { margin-right: 0; }

div.blue-bg { background: #00428B; color: #fff; padding: 0 10px; }

section#about-sec { padding: 100px 0 140px; background: url("../img/top/bg01.png") no-repeat center top; }
section#about-sec .btn01 { margin: 40px auto 0; }

div.top-cont01.flex { justify-content: space-between; }
div.top-cont01.flex > .cont { width: 450px; padding-top: 36px; }
div.top-cont01.flex > .cont > .text { width: 440px; }
div.top-cont01.flex > .img { width: 660px; margin-right: -20px; }

.sub01 { font-weight: 700; margin-bottom: 40px; font-size: 30px; line-height: 1.53; }

.ovh { overflow: hidden; }

section#method-sec { background: url("../img/top/bg02.png") no-repeat left calc(50% + 240px) top, url("../img/top/bg02-2.png") no-repeat left calc(50% - 50px) bottom, #00428B; }
section#method-sec .ovh { padding: 140px 0 160px; }
section#method-sec .tit-head { color: #fff; margin-bottom: 60px; align-items: flex-end; justify-content: space-between; }
section#method-sec .tit-head .text { width: 480px; padding-bottom: 20px; }
section#method-sec h2.titles01 { margin-bottom: 0; }
section#method-sec h2.titles01 .jp { color: #fff; }
section#method-sec h2.titles01 .en { color: #fff; }
section#method-sec .btn01 { margin-right: 0; }

article.method-art { width: 340px; margin-right: 40px; }
article.method-art a { background: #fff; box-sizing: border-box; position: relative; text-decoration: none; border-radius: 10px; padding-bottom: 80px; display: block; height: 100%; }
article.method-art a .img { border-radius: 10px 10px 0 0; overflow: hidden; }
article.method-art a .img .in-img { padding-top: 70.58%; transition: 0.3s; }
article.method-art a .cont { padding: 20px 30px 0; }
article.method-art a .cont .tit { font-weight: 700; font-size: 22px; font-weight: 700; margin-bottom: 15px; }
article.method-art a .cont > .text { line-height: 27px; width: 100%; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
article.method-art a .link-btn { display: flex; flex-wrap: wrap; align-items: center; position: absolute; bottom: 33px; right: 30px; height: 32px; z-index: 2; }
article.method-art a .link-btn .text { font-weight: 700; margin-right: 16px; }
article.method-art a:hover .link-btn { color: #00428B; }
article.method-art a:hover .link-btn span.arrow-h { border: solid 1px #00428B; box-sizing: border-box; }

button.slick-arrow { opacity: 1; z-index: 2; transition: 0s; width: 64px; height: 64px; box-sizing: border-box; border: solid 1px #fff; border-radius: 100%; transition: 0.3s; }

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: 0; }

button.slick-arrow:before { content: none; }

button.slick-prev.slick-arrow:hover { opacity: 0.7; }

button.slick-next.slick-arrow:hover { opacity: 0.7; }

.slider01 { margin-bottom: 60px !important; }
.slider01 .slick-list { overflow: visible; }
.slider01 button.slick-arrow { top: auto; bottom: -124px; transform: translateY(0); }
.slider01 button.slick-prev.slick-arrow { left: 0; }
.slider01 button.slick-next.slick-arrow { right: auto; left: 74px; }
.slider01 ul.slick-dots { text-align: left; bottom: -98px; display: flex; width: auto; left: 172px; }
.slider01 ul.slick-dots li { width: 8px; height: 8px; margin: 0 6px; opacity: 0.4; }
.slider01 ul.slick-dots li.slick-active { padding: 0; opacity: 1; }
.slider01 ul.slick-dots li.slick-active button { background: #FFFFFF; }
.slider01 ul.slick-dots button { width: 8px; height: 8px; background: #FFFFFF; padding: 0; border-radius: 100%; }
.slider01 ul.slick-dots button:before { content: none; }

section#research-sec { padding: 120px 0 140px; background: url("../img/top/bg-bowa02.png") no-repeat top -160px left calc(50% + 520px), url("../img/top/bg-bowa03.png") no-repeat top 568px right calc(50% + 480px), #F1F6FE; }

div.top-cont04-1.flex { justify-content: space-between; align-items: center; margin-bottom: 100px; flex-direction: row-reverse; }
div.top-cont04-1.flex > .img { width: 500px; position: relative; }
div.top-cont04-1.flex > .img:before { content: ""; background: url("../img/top/ilu01.svg") no-repeat; width: 220px; height: 220px; position: absolute; bottom: -11px; left: -50px; }
div.top-cont04-1.flex > .cont { width: 480px; position: relative; box-sizing: border-box; padding-right: 40px; }
div.top-cont04-1.flex > .cont .sub01 { margin-bottom: 20px; }
div.top-cont04-1.flex > .cont .btn01 { margin: 40px 0 0; }

div.top-cont04-2.flex { width: 1180px; background: #fff; border-radius: 20px; margin-left: -40px; align-items: center; height: 626px; overflow: hidden; }
div.top-cont04-2.flex > .cont { box-sizing: border-box; width: 540px; padding: 50px 80px 50px 100px; }
div.top-cont04-2.flex > .cont .btn01 { margin-top: 40px; }
div.top-cont04-2.flex > .img { box-sizing: border-box; width: 640px; border-radius: 0 20px 20px 0; overflow: hidden; height: 626px; }

div.blue-text { font-weight: 700; font-size: 18px; line-height: 1.2; color: #00428B; }

div.v-slider { display: flex; flex-wrap: wrap; }

div.v-slider > div.vslider { width: 320px; }

.vslide-list { position: relative; color: #fff; }
.vslide-list .text-box { position: absolute; left: 0; bottom: 0; z-index: 2; height: 106px; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%); width: 100%; }
.vslide-list .text-box p { position: absolute; width: 100%; box-sizing: border-box; padding: 10px; left: 0; bottom: 0; }

.vslider01 .vslide-wrapper:first-child { animation: loop3 90s -45s linear infinite; }

.vslider01 .vslide-wrapper:last-child { animation: loop4 90s linear infinite; }

.vslider02 .vslide-wrapper:first-child { animation: loop 90s -45s linear infinite; }

.vslider02 .vslide-wrapper:last-child { animation: loop2 90s linear infinite; }

@keyframes loop { 0% { transform: translateY(100%); }
  to { transform: translateY(-100%); } }
@keyframes loop2 { 0% { transform: translateY(0); }
  to { transform: translateY(-200%); } }
@keyframes loop3 { 0% { transform: translateY(-100%); }
  to { transform: translateY(100%); } }
@keyframes loop4 { 0% { transform: translateY(-200%); }
  to { transform: translateY(0); } }
section#case-sec { padding: 140px 0 165px; background: url("../img/top/bg04-1.png") no-repeat right calc(50% + 70px) top, url("../img/top/bg04-2.png") no-repeat right calc(50% - 30px) bottom, #00428B; }
section#case-sec .titles01 .jp { color: #fff; }
section#case-sec .titles01 .en { color: #fff; }
section#case-sec .btn01 { margin-top: 40px; width: 100%; }

div.top-twin.flex { justify-content: space-between; align-items: flex-start; }

div.top-twin-side { width: 240px; position: sticky; top: calc(max(60px,4.166vw) + 50px); }

div.top-twin-main { width: 780px; }

article.caseBox { margin-bottom: 40px; }
article.caseBox a { text-decoration: none; position: relative; box-sizing: border-box; padding: 40px; border-radius: 10px; display: block; background: #fff; }
article.caseBox a > span.arrow-h { position: absolute; z-index: 2; right: 40px; bottom: 40px; box-sizing: border-box; }
article.caseBox .cont .infos.flex { margin-bottom: 8px; }
article.caseBox .cont > h3 { font-size: 24px; font-weight: 700; line-height: 1.6; margin-bottom: 20px; }
article.caseBox a:hover { box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); }
article.caseBox a:hover span.arrow-h { border: solid 1px #00428B; }

.bf-af.flex { margin-bottom: 30px; justify-content: space-between; }
.bf-af.flex > div { width: 50%; position: relative; }
.bf-af.flex > div > .cap { position: absolute; left: 0; top: 0; z-index: 2; font-size: 14px; font-weight: 400; font-family: "robo"; color: #fff; line-height: 28px; padding: 0 8px; background: #0D0D0D; padding-top: 1px; }
.bf-af.flex > div .img .in-img { padding-top: 77.14%; }
.bf-af.flex > div.af > .cap { background: #00428B; }

.TBL01 th, .TBL01 td { box-sizing: border-box; vertical-align: top; }
.TBL01 th { width: 130px; }

article.caseBox:last-child { margin-bottom: 0; }

.infos.flex { width: calc(100% + 6px); margin: -6px 0 0 -6px; }
.infos.flex > div { margin: 6px 0 0 6px; line-height: 25px; }

.w-cate { border: solid 1px #00428B; color: #00428B; border-radius: 30px; padding: 0 9px; font-size: 15px; }

.w-date { font-size: 15px; color: #00428B; }

section#faq-sec { padding: 140px 0; background: url("../img/top/faq-bg01.svg") no-repeat left calc(50% + 550px) top, url("../img/top/faq-bg02.svg") no-repeat right calc(50% + 456px) bottom, #F8F8F8; }
section#faq-sec h2.titles01 { text-align: center; }
section#faq-sec .btn01 { margin-top: 60px; }

article.faq-art { background: #fff; border-radius: 10px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); padding: 15px 30px; margin-bottom: 20px; }

article.faq-art:has(h3.on) { box-shadow: 0 0 0 rgba(0, 0, 0, 0.08); }

article.faq-art:last-child { margin-bottom: 0; }

span.opcl-ico { width: 32px; height: 32px; border-radius: 100%; box-sizing: border-box; position: absolute; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; right: 0; top: 50%; z-index: 2; transform: translateY(-50%); }
span.opcl-ico > span { width: 15px; height: 15px; position: relative; }
span.opcl-ico > span:before { content: ""; width: 100%; height: 1px; background: #fff; transition: 0.3s; position: absolute; left: 0; top: calc(50% - 1px); }
span.opcl-ico > span:after { content: ""; width: 1px; height: 100%; background: #fff; transition: 0.3s; position: absolute; left: calc(50% - 1px); top: 0; }

span.opcl-ico:before { content: ""; background: linear-gradient(180deg, #007492 0%, #004798 100%); transition: 0.3s; position: absolute; left: 0; top: 0; width: 100%; height: 100%; border-radius: 100%; }

.opcl { cursor: pointer; }

.opcl.on span.opcl-ico { border: solid 1px #00428B; }
.opcl.on span.opcl-ico > span:before { background: #00428B; }
.opcl.on span.opcl-ico > span:after { opacity: 0; }
.opcl.on span.opcl-ico:before { transform: scale(0); }

.q-tit { padding: 9px 45px 9px 42px; position: relative; font-weight: 500; }

.q-tit:before { content: "Q"; color: #00428B; font-size: 32px; line-height: 1; font-family: "robo"; position: absolute; left: 0; top: 4px; font-weight: 400; }

div.a-text { background: #F1F6FE; padding: 30px 30px 30px 60px; border-radius: 10px; position: relative; margin-top: 20px; margin-bottom: 15px; }

div.a-text:before { content: "A"; color: #8B0000; font-size: 24px; line-height: 1; font-family: "robo"; position: absolute; left: 30px; top: 34px; font-weight: 400; }

.opcl-cont { display: none; }

section#news-sec { padding: 140px 0; }
section#news-sec .wrap { display: flex; flex-wrap: wrap; min-height: 240px; justify-content: space-between; }
section#news-sec .wrap .btn01 { position: absolute; left: 0; top: 184px; width: 240px; }

div.news-list02 { width: 790px; margin-right: -30px; }

article.news-art { position: relative; margin-top: -1px; }
article.news-art a { display: block; position: relative; padding: 30px 92px 30px 30px; border-radius: 10px; z-index: 2; text-decoration: none; }
article.news-art a .infos.flex { margin-left: -15px; }
article.news-art a .infos.flex > div { margin-left: 15px; }
article.news-art a h3 { font-weight: 500; margin-top: 15px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
article.news-art a span.arrow-h { position: absolute; z-index: 2; right: 30px; top: 50%; transform: translateY(-50%); box-sizing: border-box; }
article.news-art a:hover { background: #fff; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); }
article.news-art a:hover span.arrow-h { border: solid 1px #00428B; }

article.news-art:after { content: ""; width: 730px; height: 1px; background: #E1E1E1; position: absolute; left: 0; right: 0; bottom: 0; margin: 0 auto; }

section#member-sec { padding: 140px 0; background: linear-gradient(240deg, #0061AB 0%, #00428B 100%); }
section#member-sec .wrap { width: 100%; max-width: 1260px; }
section#member-sec .titles01 { text-align: center; margin-bottom: 35px; }
section#member-sec .titles01 .jp { color: #fff; }
section#member-sec .titles01 .en { color: #fff; }

div.member-list.flex { margin-top: -30px; }

article.member-art { width: calc(33.33% - 20px); margin: 30px 30px 0 0; }
article.member-art a { text-decoration: none; display: block; background: #fff; border-radius: 10px; position: relative; box-sizing: border-box; height: 100%; padding: 30px 17.5%; }
article.member-art a .img { width: 160px; border-radius: 100%; margin: 0 auto 15px; overflow: hidden; }
article.member-art a .img .in-img { transition: 0.3s; padding-top: 100%; border-radius: 100%; }
article.member-art a .m-logo { margin-bottom: 5px; }
article.member-art a > h3 { margin-bottom: 15px; font-size: 18px; font-weight: 700; }
article.member-art a span.arrow-h { position: absolute; z-index: 2; right: 10px; bottom: 20px; box-sizing: border-box; }
article.member-art a .text-data { line-height: 28px; }
article.member-art a .text-data .line01 > span:after { content: "/"; display: inline-block; margin: 0 4px; }
article.member-art a .text-data .line01 > span:last-child:after { content: none; }
article.member-art a .text-data .line02 { font-size: 18px; }
article.member-art a:hover .img .in-img { transform: scale(1.05); }
article.member-art a:hover span.arrow-h { border: solid 1px #00428B; }

article.member-art:nth-child(3n) { margin-right: 0; }

section#flow-sec { padding: 140px 0; background: url("../img/top/bg-bowa05.png") no-repeat left calc(50% + 230px) top -37px, url("../img/top/bg-bowa06.png") no-repeat right calc(50% + 320px) bottom -90px, #F1F6FE; }
section#flow-sec .titles01 { margin-bottom: 40px; }
section#flow-sec .btn01 { position: absolute; right: 0; top: 55px; }

section.flow-box.flex:first-child { z-index: 5; }

section.flow-box.flex:nth-child(2) { z-index: 4; }

section.flow-box.flex:nth-child(3) { z-index: 3; }

section.flow-box.flex:nth-child(4) { z-index: 2; }

section.flow-box.flex:nth-child(5) { z-index: 1; }

section.flow-box.flex { position: relative; margin-bottom: 22px; box-sizing: border-box; background: #fff; border-radius: 10px; padding: 22px 40px 40px; }
section.flow-box.flex .numbox { width: 85px; padding-top: 10px; box-sizing: border-box; padding-left: 22px; position: relative; }
section.flow-box.flex .numbox .num { font-size: 24px; font-weight: 400; letter-spacing: 0.024em; color: #00428B; }
section.flow-box.flex .numbox:after { content: ""; width: 7px; height: 7px; border-radius: 100%; background: #00428B; position: absolute; left: -1px; top: 30px; }
section.flow-box.flex .cont { width: calc(100% - 85px); display: flex; flex-wrap: wrap; justify-content: space-between; }
section.flow-box.flex .cont .ico { width: 80px; }
section.flow-box.flex .cont .textBox { display: flex; flex-wrap: wrap; align-items: center; padding-top: 18px; width: calc(100% - 110px); }
section.flow-box.flex .cont .textBox > .text { width: 100%; margin-top: 5px; line-height: 1.75; }

section.flow-box.flex:after { content: ""; width: 1px; height: calc(100% + 24px); left: 42px; top: 52px; background: #00428B; opacity: 0.1; position: absolute; z-index: 2; }

section.flow-box.flex:last-child:after { content: none; }

section.flow-box.flex:last-child { margin-bottom: 0; }

h3.flow-tit { font-size: 20px; font-weight: 700; line-height: 1.4; }

div.flow-feats.flex { width: auto; align-items: center; }
div.flow-feats.flex > div { margin-left: 8px; border-radius: 30px; color: #fff; font-weight: 700; font-size: 14px; padding: 0 12px; background: #00428B; }

section#consultation-sec { position: relative; background: linear-gradient(320deg, #007492 0%, #004798 100%); color: #fff; overflow: hidden; }
section#consultation-sec > a { text-decoration: none; color: #fff; display: block; padding: 197px 0 160px; position: relative; z-index: 3; }
section#consultation-sec .wrap { z-index: 3; }
section#consultation-sec h2.tit { font-size: 48px; font-weight: 700; margin-bottom: 30px; }
section#consultation-sec span.arrow-h { width: 64px; height: 64px; background: #fff; }
section#consultation-sec span.arrow-h img { display: block; position: relative; z-index: 2; transition: 0.3s; right: 0; filter: brightness(0) saturate(100%) invert(16%) sepia(94%) saturate(2150%) hue-rotate(198deg) brightness(90%) contrast(102%); width: 12px; }
section#consultation-sec span.arrow-h:before { content: ""; background: linear-gradient(180deg, #007492 0%, #004798 100%); transition: 0.3s; width: 100%; height: 100%; border-radius: 100%; position: absolute; left: 0; top: 0; opacity: 0; }
section#consultation-sec a:hover span.arrow-h { background: #fff; }
section#consultation-sec a:hover span.arrow-h img { right: -60px; }
section#consultation-sec a:hover span.arrow-h:before { transform: scale(0.125); opacity: 1; }

.ico-mail-tit { display: inline-block; border: solid 1px #fff; border-radius: 30px; padding: 0 20px; line-height: 35px; font-size: 18px; font-weight: 700; }
.ico-mail-tit > span { display: inline-block; padding-left: 28px; background: url("../img/common/ico-mail.svg") no-repeat left center; }

.bg-texts { width: 8314px; display: flex; flex-wrap: wrap; position: absolute; left: 0; top: 50%; transform: translateY(-50%); }

.bg-text { font-size: 270px; font-weight: 400; font-family: "robo"; letter-spacing: 0.04em; opacity: 0.03; white-space: nowrap; padding-left: 160px; }

.bg-text:first-child { animation: text01 120s -60s linear infinite; }

.bg-text:last-child { animation: text02 120s linear infinite; }

@keyframes text01 { 0% { transform: translateX(100%); }
  to { transform: translateX(-100%); } }
@keyframes text02 { 0% { transform: translateX(0); }
  to { transform: translateX(-200%); } }
.link-btn { position: absolute; right: 0; bottom: 0; }
.link-btn a, .link-btn span.linkin { display: flex; flex-wrap: wrap; align-items: center; color: #fff; }
.link-btn a .text, .link-btn span.linkin .text { margin-right: 16px; font-weight: 700; }

/*　02　表面設計コンソーシアムとは
----------------------------------*/
div#mv.umv { height: 280px; background: url("../img/p02/umv-bg.png") no-repeat center top #00428B; display: flex; flex-wrap: wrap; align-items: center; padding: 0 calc(50% - 550px); justify-content: space-between; }
div#mv.umv .titles01 { margin-bottom: 0; }
div#mv.umv .titles01 .jp { color: #fff; }
div#mv.umv .titles01 .en { color: #fff; }

.umv-img { position: relative; top: 30px; width: 480px; height: 280px; }

div#contents.bg02 { background: #F1F6FE; }

section#p02Box01 { padding: 100px 0 140px; background: url("../img/p02/bg01.png") no-repeat right top 120px, url("../img/p02/bg02.png") no-repeat left bottom 250px; }

.p02-cont01.flex { margin-bottom: 110px; }
.p02-cont01.flex .titles01 { width: 125px; position: relative; box-sizing: border-box; padding-left: 100px; }
.p02-cont01.flex .titles01 .jp { padding-top: 6px; }
.p02-cont01.flex .titles01 .jp > span { background-position: center top; padding-left: 0; padding-top: 28px; }
.p02-cont01.flex .titles01 .jp > span > span { display: block; line-height: 20px; text-align: center; }
.p02-cont01.flex .titles01 .en { transform-origin: left top; transform: rotateZ(90deg); white-space: nowrap; position: absolute; left: 100px; top: 0; }
.p02-cont01.flex > .cont { width: 740px; padding-top: 40px; margin-left: 110px; }

.member-list.member-list02.flex { margin-top: -17px; }
.member-list.member-list02.flex article.member-art { width: 355px; margin: 17px 17px 0 0; }
.member-list.member-list02.flex article.member-art a { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; padding: 20px 35px 20px 20px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); }
.member-list.member-list02.flex article.member-art a .img { width: 120px; margin: 0; }
.member-list.member-list02.flex article.member-art a .cont { width: calc(100% - 140px); }
.member-list.member-list02.flex article.member-art a:hover { box-shadow: 0 0 1px rgba(0, 0, 0, 0.08); }
.member-list.member-list02.flex article.member-art:nth-child(3n) { margin-right: 0; }
.member-list.member-list02.flex .text-data { display: none; }

section#p02Box02 { padding: 155px 0 140px; background: #fff; }
section#p02Box02 .tit-head.flex { align-items: flex-end; padding-bottom: 40px; margin-bottom: 50px; border-bottom: solid 1px #ECECEC; justify-content: space-between; }
section#p02Box02 .tit-head.flex .titles01 { margin-bottom: 0; }
section#p02Box02 .tit-head.flex > .text { width: 740px; font-size: 20px; font-weight: 700; color: #00428B; padding-bottom: 35px; }

.visions-box { padding-bottom: 50px; margin-bottom: 50px; border-bottom: solid 1px #ECECEC; }

.visions-box:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: none; }

.visions-box.flex { justify-content: space-between; flex-direction: row-reverse; }
.visions-box.flex > .img { width: 460px; }
.visions-box.flex > .cont { width: 600px; }

.num-tit { margin-bottom: 20px; }
.num-tit > span { display: block; }
.num-tit > span.robo { color: #00428B; font-size: 14px; margin-bottom: 15px; line-height: 1; font-weight: 700; }
.num-tit > span.text { font-size: 28px; line-height: 1.42; font-weight: 700; }

div.v-flow-wrap { border-radius: 10px; background: #F1F6FE; padding: 40px; margin-top: 50px; }
div.v-flow-wrap > .text { text-align: center; margin-top: 24px; }

div.v-flow-list.flex > .box { background: #fff; border-radius: 10px; text-align: center; position: relative; width: 240px; height: 200px; box-sizing: border-box; padding: 30px 24px 24px; margin-right: 20px; }
div.v-flow-list.flex > .box .ico { width: 100px; margin: 0 auto 20px; }
div.v-flow-list.flex > .box .ico img { width: 100%; max-width: none; }
div.v-flow-list.flex > .box p { font-weight: 700; font-size: 18px; line-height: 1; }
div.v-flow-list.flex > .box .num.robo { position: absolute; left: 20px; top: 15px; line-height: 1; font-size: 24px; color: #00428B; font-weight: 400; }
div.v-flow-list.flex > .box:nth-child(4n) { margin-right: 0; }

section#p02Box03 { padding: 140px 0; background: #F8F8F8; }
section#p02Box03 .titles01 { text-align: center; margin-bottom: 40px; }

.TBL02 > div.flex > div.th { width: 160px; border-bottom: solid 1px #0E539E; background: #00428B; color: #fff; box-sizing: border-box; line-height: 28px; padding: 30px; }
.TBL02 > div.flex > div.td { width: calc(100% - 160px); border-bottom: solid 1px #ECECEC; background: #fff; box-sizing: border-box; line-height: 28px; padding: 30px; }
.TBL02 > div.flex:first-child > div.th { border-radius: 10px 0 0 0; }
.TBL02 > div.flex:first-child > div.td { border-radius: 0 10px 0 0; }
.TBL02 > div.flex:last-child > div.th { border-radius: 0 0 0 10px; border-bottom: none; }
.TBL02 > div.flex:last-child > div.td { border-radius: 0 0 10px 0; border-bottom: none; }

.coms { display: block; }
.coms > span:after { content: "/"; margin: 0 5px; }
.coms > span:last-child:after { content: none; }

div#cps { padding: 100px 0; background: linear-gradient(210deg, #0061AB 0%, #00428B 100%); }
div#cps h2 { text-align: center; font-size: 28px; font-weight: 700; margin-bottom: 20px; color: #fff; }

div.cps-list.flex { margin-top: -16px; }
div.cps-list.flex > div { width: 170px; border-radius: 5px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); margin: 16px 16px 0 0; }
div.cps-list.flex > div:nth-child(6n) { margin-right: 0; }

/*　03　調査・分析
----------------------------------*/
.page-analysisandsolution div#contents.bg02 { background-image: url("../img/p03/bowa01.png"); background-repeat: no-repeat; background-position: top -120px right calc(50% - 520px); }
.page-analysisandsolution div#mv.umv .titles01 .en { font-size: 52px; }

div#p03Box01 { padding: 120px 0 140px; }

div.wrap.p03-cont01 { display: flex; flex-wrap: wrap; flex-direction: row-reverse; }
div.wrap.p03-cont01 > .cont { width: 520px; margin-left: 125px; }
div.wrap.p03-cont01 > .ex { width: 222px; padding-top: 134px; margin-left: 28px; }
div.wrap.p03-cont01 > .hum { width: 180px; padding-top: 112px; position: relative; }

.hum .sb { width: 480px; height: 100px; display: table; position: absolute; left: -25px; top: 0; }
.hum .sb > div { display: table-cell; text-align: center; vertical-align: middle; background: #fff; border-radius: 50px; }
.hum .sb:before { content: ""; background: url("../img/p03/sb-tri.svg") no-repeat; width: 50px; height: 30px; position: absolute; left: 160px; top: calc(100% - 1px); }

.ex .blue-bg { border-radius: 15px; line-height: 28px; height: 28px; width: 104px; text-align: center; margin-bottom: 10px; }

.ex-list > .box { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-bottom: 5px; }
.ex-list > .box .ico { width: 50px; }
.ex-list > .box > .text { font-weight: 700; line-height: 1.33; font-size: 18px; width: calc(100% - 60px); }
.ex-list > .box:last-child { margin-bottom: 0; }

section#p03Box02 { padding: 0 0 125px; background: url("../img/p03/bowa02.png") no-repeat top 218px right calc(50% + 480px); }
section#p03Box02 .titles01 { text-align: center; margin-bottom: 40px; }

section.flow-box.flow-box02.flex { padding-right: 30px; }
section.flow-box.flow-box02.flex .numbox { width: 70px; }
section.flow-box.flow-box02.flex .cont { align-items: flex-start; width: calc(100% - 70px); }
section.flow-box.flow-box02.flex .cont .textBox { width: 610px; }
section.flow-box.flow-box02.flex .cont .textBox > .text { margin-top: 20px; }
section.flow-box.flow-box02.flex .cont .img { width: 320px; margin-left: auto; padding-top: 8px; }
section.flow-box.flow-box02.flex .bg-box01 { margin-top: 20px; }

section.flow-box.flow-box02.flow-box02-2.flex .textBox { width: 930px; }

.bg-box01 { background: #F8F8F8; border-radius: 10px; padding: 20px; }
.bg-box01 h4 { font-weight: 700; margin-bottom: 10px; }
.bg-box01 .text02 { line-height: 1.5; }

section#p03Box03 { padding: 155px 0 130px; background: #EBF2FF; }
section#p03Box03 .titles01 { text-align: center; margin-bottom: 80px; }

.eqbox .tit-head.flex { margin-bottom: 50px; }
.eqbox .tit-head.flex .text { width: 630px; margin-left: auto; }

.eqbox.eqbox01 { margin-bottom: 80px; }

.sub02 { font-weight: 700; }
.sub02 > span { display: block; line-height: 1; }
.sub02 > span.big { font-size: 36px; }
.sub02 > span.komoji { font-size: 18px; margin-top: 15px; }

div.eq-two.flex { justify-content: space-between; }
div.eq-two.flex div.eq-side { width: 240px; box-sizing: border-box; padding-right: 20px; max-height: 432px; overflow: auto; padding-top: 16px; }
div.eq-two.flex div.eq-main { width: 820px; }

.side-btn { padding-bottom: 16px; margin-bottom: 16px; border-bottom: solid 1px #D8E2F3; padding-right: 40px; position: relative; cursor: pointer; width: 204px; box-sizing: border-box; line-height: 1.5; }
.side-btn span.arrow-h { position: absolute; right: 0; top: calc(50% - 8px); transform: translateY(-50%); width: 24px; height: 24px; }

.side-btn:hover, .side-btn.slick-current { color: #00428B; }

div.eq-list .slick-list { overflow: visible; }
div.eq-list .slick-track { width: 100% !important; transform: none !important; }

article.eq-art { padding: 30px 40px 40px; background: #fff; border-radius: 10px; display: flex !important; flex-wrap: wrap; width: 100%; box-sizing: border-box; justify-content: space-between; }
article.eq-art .box01 { order: 1; width: 100%; margin-bottom: 20px; }
article.eq-art .box01 .text { line-height: 1.5; }
article.eq-art .box02 { order: 3; width: 360px; height: 280px; overflow: hidden; }
article.eq-art .box03 { order: 2; width: 360px; height: 280px; overflow: auto; }
article.eq-art .TBL02 > div.flex > div.th { padding: 10px; width: 140px; line-height: 22px; }
article.eq-art .TBL02 > div.flex > div.td { padding: 10px; width: calc(100% - 140px); line-height: 22px; background: #F8F8F8; }

h4.eq-name { font-size: 24px; margin-bottom: 11px; line-height: 1.16; }

div.gallery01-img .img .in-img { padding-top: 72.22%; border-radius: 10px; }

div.gallery01 { margin-bottom: 0 !important; position: relative; }
div.gallery01 ul.slick-dots { text-align: center; bottom: -20px; display: flex; justify-content: center; }
div.gallery01 ul.slick-dots li { width: 8px; height: 8px; margin: 0 6px; opacity: 1; }
div.gallery01 ul.slick-dots li.slick-active { padding: 0; opacity: 1; }
div.gallery01 ul.slick-dots li.slick-active button { background: #00428B; }
div.gallery01 ul.slick-dots button { width: 8px; height: 8px; background: #FFFFFF; padding: 0; border-radius: 100%; box-sizing: border-box; border: solid 1px #00428B; }
div.gallery01 ul.slick-dots button:before { content: none; }

section#p03Box04 { padding: 150px 0 140px; background: #fff; }
section#p03Box04 .tit-head { margin-bottom: 40px; align-items: flex-end; }
section#p03Box04 .tit-head .titles01 { margin-bottom: 0; }
section#p03Box04 .tit-head > .text { width: 690px; margin-left: auto; padding-bottom: 30px; }
section#p03Box04 .tit-head > .text p { line-height: 1.5; }
section#p03Box04 .tit-head .flow-feats.flex { margin-bottom: 5px; }

.TBL03 { border-radius: 10px; overflow: hidden; }
.TBL03 .col01 { width: 250px; }
.TBL03 .col02 { width: 300px; }
.TBL03 .col03 { width: 300px; }
.TBL03 .col04 { width: 70px; }
.TBL03 .col05 { width: 180px; }
.TBL03 th, .TBL03 td { box-sizing: border-box; padding: 20px; line-height: 1.5; }
.TBL03 th.col04, .TBL03 td.col04 { padding-left: 10px; padding-right: 10px; }
.TBL03 th { background: #00428B; color: #fff; text-align: center; vertical-align: middle; font-weight: 700; border-right: solid 1px #0E539E; }
.TBL03 td { background: #F1F6FF; border-right: solid 1px #D8E2F3; border-bottom: solid 1px #D8E2F3; }
.TBL03 th:last-child, .TBL03 td:last-child { border-right: none; }
.TBL03 td.col04 { text-align: center; }
.TBL03 td.col05 { background: #EBF2FE; text-align: right; }
.TBL03 tbody tr:last-child td { border-bottom: none; }

section#p03Box05 { padding: 140px 0; background: #F8F8F8; }

.p03-cont05.flex { justify-content: space-between; }
.p03-cont05.flex .cont { width: 440px; }
.p03-cont05.flex .cont .wh-bg { margin-top: 40px; }
.p03-cont05.flex .img { width: 580px; padding-top: 45px; }

.wh-bg { background: #fff; border-radius: 10px; padding: 20px; line-height: 1.5; }

.access-link { margin-top: 8px; }
.access-link a { display: inline-block; text-decoration: underline; line-height: 24px; padding-left: 24px; background: url("../img/p03/ico-access.svg") no-repeat left center; }
.access-link a:hover { text-decoration: none; }

div.p03-cont05-2 { margin-top: 80px; }
div.p03-cont05-2 > .box { padding-bottom: 30px; margin-bottom: 30px; border-bottom: solid 1px #ECECEC; }
div.p03-cont05-2 > .box h3.titles04 { margin-bottom: 5px; font-size: 20px; background-position: left top 8px; padding-left: 24px; }
div.p03-cont05-2 > .box > .text { line-height: 1.5; }
div.p03-cont05-2 > .box:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }

/*　04　複合処理
----------------------------------*/
.page-composite div#contents { background: url("../img/p04/bg01.png") no-repeat right top; }

section#p04Box01 { padding: 120px 0 140px; background: url("../img/p04/bg02.png") no-repeat left bottom 125px; }

.wrap.p04-cont01 { display: flex; flex-wrap: wrap; justify-content: space-between; }
.wrap.p04-cont01 .left { width: 460px; }
.wrap.p04-cont01 .left .titles01 { margin-bottom: 40px; }
.wrap.p04-cont01 .left .img { width: 508px; margin-left: -24px; }
.wrap.p04-cont01 .right { width: 540px; padding-top: 50px; }

section#p04Box02 { padding: 140px 0; background: url("../img/p04/bowa01.png") no-repeat top 207px left calc(50% + 520px), url("../img/p04/bowa02.png") no-repeat bottom 314px right calc(50% + 480px), #F1F6FE; }
section#p04Box02 .tit-head.flex { align-items: flex-end; margin-bottom: 40px; }
section#p04Box02 .tit-head.flex .titles01 { margin-bottom: 0; }
section#p04Box02 .tit-head.flex .text { width: 690px; padding-bottom: 20px; margin-left: auto; }

div.hy-box { padding: 30px; box-sizing: border-box; background: #fff; border-radius: 10px; width: 100%; justify-content: space-between; display: flex; flex-wrap: wrap; margin-bottom: 10px; align-items: flex-start; }
div.hy-box .hy-head { width: 496px; display: flex; align-items: center; justify-content: space-between; }
div.hy-box .hy-head .line01 { width: 230px; height: 64px; color: #fff; display: table; text-align: center; font-weight: 700; background: #00428B; line-height: 1.2; box-sizing: border-box; }
div.hy-box .hy-head .line01 > .hy-in { display: table-cell; text-decoration: none; text-align: center; vertical-align: middle; padding: 10px; color: #fff; }
div.hy-box .hy-head .line01 a.hy-in:hover { opacity: 0.7; }
div.hy-box .hy-head .line01 span.komoji { font-size: 14px; }
div.hy-box .hy-head .line02 { font-weight: 700; }
div.hy-box .hy-head .line03 { width: 230px; height: 64px; color: #fff; display: table; text-align: center; font-weight: 700; background: #00428B; line-height: 1.2; box-sizing: border-box; }
div.hy-box .hy-head .line03 > .hy-in { display: table-cell; text-decoration: none; text-align: center; vertical-align: middle; padding: 10px; color: #fff; }
div.hy-box .hy-head .line03 a.hy-in:hover { opacity: 0.7; }
div.hy-box .right { width: calc(100% - 520px); }

div.hy-box:last-child { margin-bottom: 0; }

ul.dot-list > li { line-height: 1.25; padding-left: 16px; margin-bottom: 10px; position: relative; }
ul.dot-list > li:before { content: "・"; position: absolute; left: 0; top: 0; }
ul.dot-list > li:last-child { margin-bottom: 0; }

section#p04Box03 { padding: 140px 0; background: linear-gradient(210deg, #0061AB 0%, #00428B 100%); color: #fff; }
section#p04Box03 .titles01 { text-align: center; margin-bottom: 40px; }
section#p04Box03 .titles01 .jp { color: #fff; }
section#p04Box03 .titles01 .en { color: #fff; }

.member-list.member-list03.flex { margin-top: -40px; justify-content: space-between; }
.member-list.member-list03.flex article.member-art { width: 530px; margin: 40px 0 0 0; }
.member-list.member-list03.flex article.member-art a { height: auto; padding: 30px 70px 30px 30px; box-sizing: border-box; min-height: 120px; }
.member-list.member-list03.flex article.member-art a h3 { font-size: 18px; }
.member-list.member-list03.flex article.member-art a .m-logo img { width: auto; height: 32px; }
.member-list.member-list03.flex article.member-art a span.arrow-h { right: 20px; bottom: 50%; transform: translateY(50%); }
.member-list.member-list03.flex article.member-art .mem-text { margin-top: 10px; line-height: 1.5; }

/*　05　実績
----------------------------------*/
.single-method div#contents.bg02, .single-case div#contents.bg02, .post-type-archive-case div#contents.bg02 { background-image: url("../img/p03/bowa01.png"); background-repeat: no-repeat; background-position: top -120px right calc(50% - 520px); }

ul.search-cate-list.flex { margin-top: -10px; }
ul.search-cate-list.flex > li { line-height: 1.5; margin-top: 10px; }
ul.search-cate-list.flex > li label { position: relative; padding-left: 28px; display: inline-block; }
ul.search-cate-list.flex > li input { transform: scale(1.5); transform-origin: left center; position: absolute; left: 0; top: 7px; }

div.search-area01 { margin-bottom: 100px; }
div.search-area01 > .tit { text-align: center; padding: 15px 30px; border-radius: 10px 10px 0 0; color: #fff; font-weight: 700; background: #00428B; font-size: 20px; cursor: pointer; position: relative; }
div.search-area01 > .tit span.opcl-ico { right: 30px; border: solid 1px #fff; background: #fff; }
div.search-area01 > .tit span.opcl-ico > span:before { background: #00428B; }
div.search-area01 > .tit span.opcl-ico > span:after { background: #00428B; }
div.search-area01 > .tit span.opcl-ico:before { content: none; }
div.search-area01 > .tit.on span.opcl-ico > span:before { background: #00428B; }
div.search-area01 > .tit.on span.opcl-ico > span:after { opacity: 0; }
div.search-area01 > .sin { background: #fff; border-radius: 0 0 10px 10px; padding: 30px 30px 40px; }

.search-inner01 { margin-bottom: 40px; }

.search-cate { padding: 30px; background: #F8F8F8; margin-bottom: 10px; box-sizing: border-box; width: 100%; display: flex; flex-wrap: wrap; align-items: flex-start; }

.search-cate:last-child { margin-bottom: 0; }

.search-title { font-size: 16px; font-weight: 700; line-height: 1.5; width: 160px; }

.search-right { width: calc(100% - 160px); }

ul.search-cate-list.flex > li { width: calc(33.33% - 10px); margin-right: 15px; }
ul.search-cate-list.flex > li:nth-child(3n) { margin-right: 0; }

.reset-awrp { text-align: center; margin-top: 15px; }

input.reset-btn { background: none; border: none; text-decoration: underline; font-weight: 500; font-size: 16px; cursor: pointer; }

input.reset-btn:hover { text-decoration: none; }

.search-submit01 { text-align: center; position: relative; }

.search-submit01:before { content: ""; pointer-events: none; z-index: 6; background: url("../img/p05/ico-lens02.svg") no-repeat; width: 18px; height: 18px; background-size: contain; position: absolute; top: 50%; transform: translateY(-50%); left: calc(50% - 60px); }

input.blue-submit01 { transition: 0.3s; border: none; color: #000000; width: 350px; height: 77px; font-size: 16px; font-weight: 700; position: relative; z-index: 3; background: url("../img/p10/btn-arrow01.svg") no-repeat center right 20px #fff; border-radius: 38px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); }

input.blue-submit01:hover { box-shadow: 0 0 3px rgba(0, 0, 0, 0.18); background-image: url("../img/p10/btn-arrow02.svg"); }

div#p05Box01 { padding: 125px 0 140px; background: url("../img/p05/bowa03.png") no-repeat right calc(50% + 480px) top 813px; }

div.case-list-all { position: relative; }
div.case-list-all article.caseBox { position: relative; z-index: 3; margin-bottom: 0; margin-top: -1px; }

article.caseBox.caseBox02:before { content: ""; width: 1060px; height: 1px; background: #D8E2F3; left: 0; right: 0; bottom: 0; margin: 0 auto; position: absolute; }

article.caseBox.caseBox02 { margin-left: -20px; background: none; padding: 0; position: relative; width: 1140px; }
article.caseBox.caseBox02 a { text-decoration: none; position: relative; box-sizing: border-box; padding: 40px; border-radius: 10px; display: flex; background: none; }
article.caseBox.caseBox02 a > .bf-af.flex { width: 560px; margin-right: 40px; margin-bottom: 0; }
article.caseBox.caseBox02 a > .bf-af.flex div .img .in-img { padding-top: 78.54%; }
article.caseBox.caseBox02 a > .cont { width: 460px; padding-bottom: 30px; box-sizing: border-box; max-height: 220px; }
article.caseBox.caseBox02 a > span.arrow-h { position: absolute; z-index: 2; right: 40px; bottom: 40px; box-sizing: border-box; }
article.caseBox.caseBox02 a:hover { background: #fff; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); }
article.caseBox.caseBox02 a:hover span.arrow-h { border: solid 1px #00428B; }

/*詳細*/
h1.case-tit { line-height: 1.5; color: #fff; font-weight: 700; font-size: 36px; }

div#caseBox01 { padding: 70px 0 140px; background: url("../img/p05/bowa-repeat.png") repeat-y top right calc(50% + 480px), url("../img/p05/bowa-l.png") no-repeat left calc(50% + 520px) top 1853px; }

.case-data-box01 > h2 { font-size: 18px; font-weight: 700; color: #fff; line-height: 1.5; border-radius: 10px 10px 0 0; background: #00428B; padding: 15px 30px; }
.case-data-box01 > .cont { padding: 24px 30px; background: #FFFFFF; border-radius: 0 0 10px 10px; }
.case-data-box01 ul.links-ul01.flex > li { font-weight: 700; }

ul.links-ul01.flex { margin-left: -40px; }
ul.links-ul01.flex > li { margin-left: 40px; position: relative; font-weight: 500; }
ul.links-ul01.flex > li a { text-decoration: underline; position: relative; padding-right: 32px; }
ul.links-ul01.flex > li a span.arrow-h { width: 24px; height: 24px; position: absolute; z-index: 2; right: 0; top: 50%; transform: translateY(-50%); }
ul.links-ul01.flex > li a:hover { text-decoration: none; }
ul.links-ul01.flex > li a:hover span.arrow-h { background: none; }
ul.links-ul01.flex > li a:hover span.arrow-h img { right: 0; opacity: 1; }
ul.links-ul01.flex > li a:hover span.arrow-h:before { transform: scale(1); }
ul.links-ul01.flex > li:before { content: "/"; position: absolute; right: -24px; top: 0; }
ul.links-ul01.flex > li:last-child:before { content: none; }

ul.links-ul02.flex { margin-left: -20px; }
ul.links-ul02.flex > li { margin-left: 20px; position: relative; font-weight: 500; }

.case-data-box02 { margin-top: 40px; }
.case-data-box02 dl.flex { margin-bottom: 8px; line-height: 27px; align-items: center; }
.case-data-box02 dl.flex dt { width: 140px; text-align: center; color: #fff; font-weight: 500; font-size: 15px; border-radius: 20px; background: #00428B; margin-right: 10px; }
.case-data-box02 dl.flex dd { width: calc(100% - 150px); }
.case-data-box02 dl.flex:last-child { margin-bottom: 0; }

.case-data-box03 { margin-top: 80px; display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; }
.case-data-box03 > div { width: 520px; position: relative; }
.case-data-box03 > div .cap { position: absolute; left: 0; top: 0; z-index: 2; line-height: 28px; color: #fff; background: #0D0D0D; font-size: 14px; font-weight: 400; padding: 0 8px; }
.case-data-box03 > div .img .in-img { padding-top: 69.23%; }
.case-data-box03 > div.right .cap { background: #00428B; }

.case-data-box03.bfaf > div.left:after { content: ""; width: 0; height: 0; border-left: solid 16px #D5E1F5; border-top: solid 16px transparent; border-bottom: solid 16px transparent; position: absolute; top: 0; bottom: 0; left: calc(100% + 22px); margin: auto 0; }

.case-data-box04 { margin-top: 120px; justify-content: center; display: flex; flex-wrap: wrap; max-height: 400px; }
.case-data-box04 div.gallery-thumbs .slick-track { width: 100% !important; transform: none !important; margin-top: -10px; }

div.gallery-main { width: 520px; margin-right: 60px; }
div.gallery-main button.slick-prev.slick-arrow { background: url("../img/p05/gallery-slide01.svg") no-repeat center #00428B; left: -31px; border: none; }
div.gallery-main button.slick-next.slick-arrow { background: url("../img/p05/gallery-slide02.svg") no-repeat center #00428B; right: -31px; border: none; }

div.gallery-thumbs { width: 250px; }

.gallery-img { width: 100%; }
.gallery-img a { display: block; position: relative; text-decoration: none; }
.gallery-img a:after { content: ""; position: absolute; right: 0; bottom: 0; z-index: 2; background: url("../img/p05/ico-lens.svg") no-repeat center, rgba(0, 0, 0, 0.5); width: 40px; height: 40px; }
.gallery-img p { text-align: center; margin-top: 10px; line-height: 1.5; }

.gallery-photo { padding-top: 69.23%; }

.gallery-thumb { width: 120px; margin: 10px 10px 0 0; cursor: pointer; position: relative; }
.gallery-thumb .thumb-photo { padding-top: 69.16%; }

.gallery-thumb:after { content: ""; background: #000; width: 100%; height: 100%; z-index: 2; position: absolute; left: 0; top: 0; opacity: 0; transition: 0.3s; }

.gallery-thumb:hover:after, .gallery-thumb.slick-current:after { opacity: 0.6; }

.gallery-thumb:nth-child(2n) { margin-right: 0; }

.case-data-box05 { margin-top: 100px; }
.case-data-box05 .TBL02 div.flex div.th, .case-data-box05 .TBL02 div.flex div.td { padding: 24px 20px; }

.case-data02 { margin-top: 100px; }

.tr-list.flex { justify-content: space-between; margin-top: -20px; }
.tr-list.flex > .box { width: 540px; margin: 20px 20px 0 0; box-sizing: border-box; background: #fff; border-radius: 10px; padding: 15px 20px; }
.tr-list.flex > .box p { padding-left: 18px; line-height: 1.5; position: relative; }
.tr-list.flex > .box p:before { content: "・"; position: absolute; left: 0; top: 0; }
.tr-list.flex > .box:nth-child(2n) { margin-right: 0; }

.case-data03 { margin-top: 100px; }

.case-data04 { margin-top: 100px; }
.case-data04 .sub-tit01 { margin-bottom: 15px; line-height: 1.5; font-weight: 700; font-size: 20px; }
.case-data04 .text01 { line-height: 1.75; }

.block_cont { padding-bottom: 40px; margin-bottom: 40px; border-bottom: solid 1px #ECECEC; }

.block_cont:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: none; }

.imgs02.flex { justify-content: space-between; }
.imgs02.flex .block-img { width: 500px; }
.imgs02.flex .block-img a { display: block; position: relative; text-decoration: none; }
.imgs02.flex .block-img a:after { content: ""; position: absolute; right: 0; bottom: 0; z-index: 2; background: url("../img/p05/ico-lens.svg") no-repeat center, rgba(0, 0, 0, 0.5); width: 40px; height: 40px; }
.imgs02.flex .block-img > p { text-align: center; line-height: 1.5; margin-top: 10px; }

.block_cont.block_cont01 { margin-top: 30px; }
.block_cont.block_cont01 .sub-tit01 { margin-top: 30px; }
.block_cont.block_cont01 .sub-tit01:first-child { margin-top: 0; }

.block_cont.block_cont03 .imgs02.flex, .block_cont.block_cont04 .imgs02.flex, .block_cont.block_cont05 .imgs02.flex { margin-top: 30px; }
.block_cont.block_cont03 .imgs02.flex:first-child, .block_cont.block_cont04 .imgs02.flex:first-child, .block_cont.block_cont05 .imgs02.flex:first-child { margin-top: 0; }

.block_cont.block_cont06 { text-align: center; display: flex; flex-wrap: wrap; justify-content: center; }
.block_cont.block_cont06 img { width: 100%; max-width: 100%; }
.block_cont.block_cont06 a { display: block; position: relative; text-decoration: none; }
.block_cont.block_cont06 a:after { content: ""; position: absolute; right: 0; bottom: 0; z-index: 2; background: url("../img/p05/ico-lens.svg") no-repeat center, rgba(0, 0, 0, 0.5); width: 40px; height: 40px; }
.block_cont.block_cont06 > p { text-align: center; line-height: 1.5; margin-top: 10px; }

.block_cont.block_cont07 .imgs02.flex, .block_cont.block_cont08 .imgs02.flex, .block_cont.block_cont09 .imgs02.flex, .block_cont.block_cont10 .imgs02.flex { margin-bottom: 30px; }
.block_cont.block_cont07 .imgs02.flex .cap, .block_cont.block_cont08 .imgs02.flex .cap, .block_cont.block_cont09 .imgs02.flex .cap, .block_cont.block_cont10 .imgs02.flex .cap { position: absolute; left: 0; top: 0; z-index: 2; line-height: 28px; color: #fff; background: #0D0D0D; font-size: 14px; font-weight: 400; padding: 0 8px; }
.block_cont.block_cont07 .imgs02.flex .block-img, .block_cont.block_cont08 .imgs02.flex .block-img, .block_cont.block_cont09 .imgs02.flex .block-img, .block_cont.block_cont10 .imgs02.flex .block-img { width: 485px; }
.block_cont.block_cont07 .imgs02.flex .block-img.block-img02 .cap, .block_cont.block_cont08 .imgs02.flex .block-img.block-img02 .cap, .block_cont.block_cont09 .imgs02.flex .block-img.block-img02 .cap, .block_cont.block_cont10 .imgs02.flex .block-img.block-img02 .cap { background: #00428B; }
.block_cont.block_cont07 .imgs02.flex .block-img.block-img01, .block_cont.block_cont08 .imgs02.flex .block-img.block-img01, .block_cont.block_cont09 .imgs02.flex .block-img.block-img01, .block_cont.block_cont10 .imgs02.flex .block-img.block-img01 { position: relative; }
.block_cont.block_cont07 .imgs02.flex .block-img.block-img01:before, .block_cont.block_cont08 .imgs02.flex .block-img.block-img01:before, .block_cont.block_cont09 .imgs02.flex .block-img.block-img01:before, .block_cont.block_cont10 .imgs02.flex .block-img.block-img01:before { content: ""; width: 0; height: 0; border-left: solid 16px #D5E1F5; border-top: solid 16px transparent; border-bottom: solid 16px transparent; position: absolute; top: 0; bottom: 0; left: calc(100% + 22px); margin: auto 0; }
.block_cont.block_cont07 .imgs02.flex:last-child, .block_cont.block_cont08 .imgs02.flex:last-child, .block_cont.block_cont09 .imgs02.flex:last-child, .block_cont.block_cont10 .imgs02.flex:last-child { margin-bottom: 0; }

/*　06　改質・処理技術
----------------------------------*/
.method-list01.method-list100.flex { margin-top: -30px; }
.method-list01.method-list100.flex article.method-art { margin-top: 30px; }
.method-list01.method-list100.flex article.method-art:nth-child(3n) { margin-right: 0; }

.titles01.titles01-2 { color: #fff; }
.titles01.titles01-2 .jp { font-size: 20px; }
.titles01.titles01-2 .jp2 { font-size: 48px; }

.umv-img .in-img { height: 320px; }

div#p06Box01 { padding: 120px 0 140px; background: url("../img/p05/bowa03.png") no-repeat right calc(50% + 480px) top 860px, url("../img/p05/bowa02.png") no-repeat left calc(50% + 520px) bottom 104px; }

.m-tit { margin-bottom: 30px; color: #00428B; font-size: 36px; }

.TBL02.TBL02-2 { margin-top: 50px; }
.TBL02.TBL02-2 div.flex div.th, .TBL02.TBL02-2 div.flex div.td { padding: 24px 20px; }

.whiteBox01.mthodBox02 { padding: 50px; margin-top: 80px; }
.whiteBox01.mthodBox02 .titles04 { margin-bottom: 30px; }

ul.ef-list.flex { justify-content: space-between; align-items: flex-start; }
ul.ef-list.flex > li { margin-top: 16px; padding-top: 16px; border-top: solid 1px #ECECEC; width: calc(50% - 20px); padding-left: 18px; line-height: 1.375; position: relative; box-sizing: border-box; }
ul.ef-list.flex > li:before { content: "・"; position: absolute; left: 0; top: 16px; }
ul.ef-list.flex > li:first-child, ul.ef-list.flex > li:nth-child(2) { margin-top: 0; padding-top: 0; border-top: none; }
ul.ef-list.flex > li:first-child:before, ul.ef-list.flex > li:nth-child(2):before { top: 0; }

.mthodBox03 { margin-top: 80px; }
.mthodBox03 h3.titles04 { margin-bottom: 10px; }
.mthodBox03 .text02 { margin-bottom: 30px; }

.mthodBox04 { margin-top: 80px; }
.mthodBox04 h3.titles04 { margin-bottom: 30px; }

.whiteBox01.mtBox { margin-bottom: 10px; }
.whiteBox01.mtBox .text { line-height: 1.5; }

.whiteBox01.mtBox:last-child { margin-bottom: 0; }

h4.ico-tit { align-items: center; margin-bottom: 8px; display: flex; flex-wrap: wrap; }
h4.ico-tit .ico { width: 48px; margin-right: 10px; }
h4.ico-tit .text { font-size: 18px; font-weight: 700; }

/*　07　参画企業
----------------------------------*/
.member-list.member-list10.flex article.member-art { margin-right: 25px; }
.member-list.member-list10.flex article.member-art:nth-child(3n) { margin-right: 0; }

.titles01.titles01-3 .jp { font-size: 40px; }

.logoBox { margin-top: 5px; }
.logoBox > div { display: inline-block; background: #fff; padding: 8px 30px; border-radius: 50px; }
.logoBox > div img { width: auto; height: 32px; }

div#p07Box01 { padding: 70px 0 140px; }

.TBL02.TBL02-3 div.flex div.th, .TBL02.TBL02-3 div.flex div.td { padding: 24px 20px; }
.TBL02.TBL02-3 div.flex div.td { background: #F8F8F8; }

.p07-cont01-2.flex { margin-top: 80px; justify-content: space-between; }
.p07-cont01-2.flex .left { width: 590px; }
.p07-cont01-2.flex .right { width: 460px; }
.p07-cont01-2.flex div.gallery-main { width: 100%; margin-right: 0; margin-bottom: 20px; }
.p07-cont01-2.flex div.gallery-thumbs { width: 100%; }
.p07-cont01-2.flex div.gallery-thumbs .gallery-thumb { width: 92px; margin: 0 5px 0 0; }

.copy03 { font-weight: 700; margin-bottom: 30px; font-size: 32px; color: #00428B; line-height: 1.46; }

div#p07Box02 { padding: 140px 0; background: #F1F6FE; }
div#p07Box02 .titles01 { text-align: center; margin-bottom: 40px; }

article.faq-art.tech-art { padding: 0; }
article.faq-art.tech-art .q-tit { padding-left: 0; font-size: 20px; padding: 24px 75px 24px 30px; font-weight: 700; }
article.faq-art.tech-art .q-tit span.opcl-ico { right: 30px; }
article.faq-art.tech-art .q-tit:before { content: none; }
article.faq-art.tech-art .q-tit.opcl.on { color: #fff; border-radius: 10px 10px 0 0; background: #00428B; }
article.faq-art.tech-art .q-tit.opcl.on span.opcl-ico { border-color: #fff; }
article.faq-art.tech-art .q-tit.opcl.on span.opcl-ico > span:before { background: #fff; }

.tec-inner.flex { box-sizing: border-box; padding: 36px 40px 40px; flex-direction: row-reverse; justify-content: space-between; }
.tec-inner.flex .img { width: 460px; }
.tec-inner.flex .img .in-img { padding-top: 73.91%; }
.tec-inner.flex > .cont { width: 520px; }
.tec-inner.flex > .cont .btn01 { margin-top: 40px; margin-left: 0; }

div#p07Box03 { padding: 140px 0; background: #F8F8F8; }

.profBox.flex { margin-bottom: 80px; align-items: flex-start; }
.profBox.flex .img { width: 160px; border-radius: 100%; margin-right: 40px; }
.profBox.flex .img .in-img { padding-top: 100%; border-radius: 100%; }
.profBox.flex > .cont { width: calc(100% - 200px); }
.profBox.flex > .cont dl.flex { margin-top: 8px; align-items: center; line-height: 27px; }
.profBox.flex > .cont dl.flex dt { width: 60px; text-align: center; color: #fff; border-radius: 20px; background: #00428B; margin-right: 10px; }
.profBox.flex > .cont dl.flex dd { width: calc(100% - 70px); }
.profBox.flex > .cont dl.flex:first-child { margin-top: 0; }
.profBox.flex > .cont .message { line-height: 1.5; margin-top: 24px; }

a.ulink { text-decoration: underline; }

a.ulink:hover { text-decoration: none; }

.awards-list { line-height: 24px; }
.awards-list > .box { margin-bottom: 10px; }
.awards-list > .box .tit { padding-left: 18px; font-weight: 700; position: relative; color: #00428B; }
.awards-list > .box .tit:before { content: "・"; position: absolute; left: 0; top: 0; }
.awards-list > .box > .cont { padding-left: 18px; }
.awards-list > .box:last-child { margin-bottom: 0; }

section#case-sec02 { background: #fff; padding: 140px 0; }
section#case-sec02 .titles01 { text-align: center; margin-bottom: 40px; }

article.caseBox.caseBox02.no-caseBox:before { content: none; }

/*　08　よくある質問
----------------------------------*/
div#contents.bg03 { background: #F8F8F8; }

.two-wrap { padding: 120px 0 140px; }

div#two-content { justify-content: space-between; }

div#two-side { width: 160px; }

div#two-main { width: 860px; }

section.faqSec { margin-bottom: 80px; }

section.faqSec:last-child { margin-bottom: 0; }

.stickyBox { position: sticky; top: calc(4.166vw + 10px); }

ul.anc-list { border-top: solid 1px #ECECEC; }
ul.anc-list > li { border-bottom: solid 1px #ECECEC; padding: 20px 0; }
ul.anc-list > li a { display: block; position: relative; padding: 0 30px 0 0; }
ul.anc-list > li a span.arrow-h { position: absolute; right: 0; z-index: 2; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; }
ul.anc-list > li a span.arrow-h img { width: 7px; }
ul.anc-list > li a:hover { text-decoration: none; color: #00428B; }
ul.anc-list > li a:hover span.arrow-h { background: none; }
ul.anc-list > li a:hover span.arrow-h img { right: 0; opacity: 1; }
ul.anc-list > li a:hover span.arrow-h:before { transform: scale(1); }

/*　09　お知らせ
----------------------------------*/
div#two-content.two-news { flex-direction: row-reverse; }
div#two-content.two-news div#two-main { width: 880px; }

div.news-list-all.flex { margin-top: -35px; }

article.news-art01 { width: 270px; margin: 35px 35px 0 0; }
article.news-art01 a { display: block; box-sizing: border-box; height: 100%; background: #fff; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); border-radius: 10px; text-decoration: none; }
article.news-art01 a .img { border-radius: 10px 10px 0 0; overflow: hidden; }
article.news-art01 a .img .in-img { padding-top: 74.07%; transition: 0.3s; border-radius: 10px 10px 0 0; }
article.news-art01 a .cont { padding: 20px 20px 24px; }
article.news-art01 a .cont .tit { font-weight: 500; line-height: 1.5; margin-top: 8px; width: 100%; display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
article.news-art01 a:hover { box-shadow: 0 0 1px rgba(0, 0, 0, 0.08); }
article.news-art01 a:hover .img .in-img { transform: scale(1.1); }

article.news-art01:nth-child(3n) { margin-right: 0; }

.side-tit { font-size: 20px; padding-bottom: 20px; border-bottom: solid 1px #ECECEC; }

ul.side-links > li { border-bottom: solid 1px #ECECEC; padding: 20px 0; }
ul.side-links > li a { display: block; position: relative; padding: 0 30px 0 0; }
ul.side-links > li a span.arrow-h { position: absolute; right: 0; z-index: 2; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; }
ul.side-links > li a span.arrow-h img { width: 7px; }
ul.side-links > li a:hover { text-decoration: none; color: #00428B; }
ul.side-links > li a:hover span.arrow-h { background: none; }
ul.side-links > li a:hover span.arrow-h img { right: 0; opacity: 1; }
ul.side-links > li a:hover span.arrow-h:before { transform: scale(1); }

/*詳細*/
.whiteBox01 { padding: 40px; background: #FFFFFF; border-radius: 10px; }

h1.blog-tit { font-size: 25px; line-height: 1.6; margin: 10px 0 32px; }

.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%; }

.tagsBox { margin-top: 40px; }
.tagsBox .tag-tit { line-height: 1.5; font-weight: 700; font-size: 20px; margin-bottom: 10px; }

ul.tags-list.flex { margin: -10px 0 0 -15px; }
ul.tags-list.flex li.tag-li { margin: 10px 0 0 15px; }
ul.tags-list.flex li.tag-li a { text-decoration: underline; }
ul.tags-list.flex li.tag-li a:hover { text-decoration: none; }

.writerBox { margin-top: 40px; padding: 40px; background: #F1F6FE; }
.writerBox > h4 { color: #00428B; font-size: 20px; font-weight: 700; line-height: 1.5; margin-bottom: 20px; }

.ineer-box-writer.flex { align-items: center; }
.ineer-box-writer.flex > .img { width: 80px; border-radius: 100%; margin-right: 15px; }
.ineer-box-writer.flex > .img .in-img { padding-top: 100%; border-radius: 100%; }
.ineer-box-writer.flex > .cont { line-height: 1.5; }

.wr-text { width: 100%; margin-top: 15px; }

/*ページャー*/
div#pager00 { text-align: center; }

div#pager00 .wp-pagenavi { margin-top: 115px; }

.wp-pagenavi > span, .wp-pagenavi > a { display: inline-block; margin: 4px; text-decoration: none; width: 60px; height: 60px; text-align: center; line-height: 60px; font-size: 16px; font-weight: 700; color: #00428B; border-radius: 5px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); background: #fff; }

.wp-pagenavi a.page { position: relative; }

.wp-pagenavi span.extend { background: none; color: #00428B; box-shadow: none; }

.wp-pagenavi > a:hover { color: #fff; background-color: #00428B; }

.wp-pagenavi a.previouspostslink { color: transparent; background: url("../img/p09/arrow02.svg") no-repeat center #fff; margin-right: 28px; margin-left: 0; }

.wp-pagenavi a.nextpostslink { color: transparent; background: url("../img/p09/arrow03.svg") no-repeat center #fff; margin-left: 28px; margin-right: 0; }

.wp-pagenavi span.current { color: #fff; background: #00428B; }

.wp-pagenavi a.first { color: transparent; background: url("../img/p09/arrow01.svg") no-repeat center #fff; }

.wp-pagenavi a.last { color: transparent; background: url("../img/p09/arrow04.svg") no-repeat center #fff; }

.wp-pagenavi a.previouspostslink:hover { background-image: url("../img/p09/arrow02h.svg"); background-color: #00428B; }

.wp-pagenavi a.nextpostslink:hover { background-image: url("../img/p09/arrow03h.svg"); background-color: #00428B; }

.wp-pagenavi a.first:hover { background-image: url("../img/p09/arrow01h.svg"); background-color: #00428B; }

.wp-pagenavi a.last:hover { background-image: url("../img/p09/arrow04h.svg"); background-color: #00428B; }

.wp-pagenavi span.pages { display: none; }

.post-navigation ul { justify-content: center; align-items: center; margin-top: 80px; }

.post-navigation ul > li { margin-right: 32px; }

.post-navigation ul > li a { text-decoration: none; font-weight: 700; color: #fff; }

.post-navigation ul > li.prev, .post-navigation ul > li.next { width: 60px; }

.post-navigation ul > li.prev a { font-weight: 700; display: block; position: relative; width: 60px; height: 60px; line-height: 60px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); background: url("../img/p09/arrow02h.svg") no-repeat center #fff; border-radius: 5px; }

.post-navigation ul > li.next a { font-weight: 700; display: block; position: relative; width: 60px; height: 60px; line-height: 60px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); background: url("../img/p09/arrow03h.svg") no-repeat center #fff; border-radius: 5px; }

.post-navigation ul > li.prev a > span { background: url("../img/p09/arrow02.svg") no-repeat center; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; border-radius: 5px; transition: 0.3s; }

.post-navigation ul > li.next a > span { background: url("../img/p09/arrow03.svg") no-repeat center; display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; border-radius: 5px; transition: 0.3s; }

.post-navigation ul > li.prev a:hover { background-color: #00428B; }
.post-navigation ul > li.prev a:hover > span { opacity: 0; }

.post-navigation ul > li.next a:hover { background-color: #00428B; }
.post-navigation ul > li.next a:hover > span { opacity: 0; }

.post-navigation ul > li.blog-back { width: 160px; height: 60px; display: table; }

.post-navigation ul > li.blog-back a { display: table-cell; text-align: center; vertical-align: middle; background: #00428B; border-radius: 5px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); border: solid 1px #00428B; }

.post-navigation ul > li.blog-back a:hover { color: #00428B; background-color: #fff; }

.post-navigation ul > li.kara { z-index: -2; pointer-events: none; opacity: 0; }

.post-navigation ul > li:last-child { margin-right: 0; }

/*　10　お問い合わせ
----------------------------------*/
.page-contact div#contents { background-image: url("../img/p10/bowa01.png"); background-repeat: no-repeat; background-position: left calc(50% + 520px) top -120px; }

div#p10Box01 { padding: 120px 0 140px; background: url("../img/p10/bowa02.png") no-repeat right calc(50% + 480px) bottom 50px; }
div#p10Box01 .tit-head.flex { align-items: flex-start; margin-bottom: 80px; }
div#p10Box01 .tit-head.flex .left .tit { font-weight: 700; line-height: 1.1; font-size: 37px; margin-top: 15px; }
div#p10Box01 .tit-head.flex > .text { width: 480px; margin-left: auto; }
div#p10Box01 .whiteBox01 { padding: 40px 80px 60px; }
div#p10Box01 .whiteBox01 > .tit { text-align: center; font-weight: 700; color: #00428B; font-size: 32px; line-height: 1.5; margin-bottom: 40px; }

.bikou-text p { position: relative; padding-left: 18px; font-weight: 500; }
.bikou-text p:before { content: "※"; position: absolute; left: 0; top: 0; }

/*フォーム*/
ul.contact-state { display: flex; flex-wrap: wrap; justify-content: space-between; margin: 40px 0 10px; }

ul.contact-state > li { display: table; width: 300px; height: 64px; position: relative; }

ul.contact-state > li > span { display: table-cell; text-align: center; vertical-align: middle; background: #D4D4D4; color: #727272; font-size: 16px; font-weight: 700; border-radius: 10px; }

ul.contact-state > li.state01 { margin-left: 0; }

ul.contact-state > li.state01 > span { background: linear-gradient(110deg, #0061AB 0%, #00428B 100%); color: #fff; }
ul.contact-state > li.state01 > span span.num-circle { border-color: #fff; }

ul.contact-state > li > span span.num { font-family: "pop"; margin-right: 10px; }

ul.contact-state > li:after { content: ""; width: 20px; height: 1px; position: absolute; top: 0; bottom: 0; left: 100%; margin: auto 0; background: #D9D9D9; top: 0; bottom: 0; }

ul.contact-state > li:last-child:after { content: none; }

ul.contact-state.contact-state02 { display: flex; flex-wrap: wrap; justify-content: space-between; }

ul.contact-state.contact-state02 > li.state02 > span { background: linear-gradient(110deg, #0061AB 0%, #00428B 100%); color: #fff; }
ul.contact-state.contact-state02 > li.state02 > span span.num-circle { border-color: #fff; }

span.num-circle { display: inline-block; width: 30px; height: 30px; border-radius: 100%; box-sizing: border-box; border: solid 1px transparent; text-align: center; line-height: 28px; margin-right: 7px; font-size: 14px; }

a.green { text-decoration: underline; color: #00428B; }

a.green:hover { text-decoration: none; }

.contactTBL th, .contactTBL td { display: block; box-sizing: border-box; font-size: 16px; padding: 30px 0; color: #000000; line-height: 1.66; }
.contactTBL th { padding-bottom: 15px; }
.contactTBL td { padding-top: 0; }
.contactTBL .wpcf7-list-item { margin-left: 0; display: inline-block; margin-right: 30px; margin-bottom: 10px; }
.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: 2px 7px; background: #8B0000; margin-right: 8px; box-sizing: border-box; font-size: 13px; font-weight: 700; border-radius: 5px; }

span.nini { display: inline-block; color: #727272; padding: 1px 6px; border: solid 1px #727272; margin-right: 8px; font-size: 13px; font-weight: 700; border-radius: 2px; }

input.wpcf7-number, input.wpcf7-date, input.wpcf7-text { box-sizing: border-box; height: 40px; border: solid 1px #D4D4D4; padding: 5px 20px; font-size: 16px; background: #fff; width: 100%; }

input.wpcf7-date { padding: 5px 10px; }

select.wpcf7-select { box-sizing: border-box; height: 40px; border: solid 1px #D4D4D4; padding: 5px 20px; font-size: 16px; background: #fff; width: auto; }

select { background: #fff; border-radius: 0; }

textarea.wpcf7-textarea { box-sizing: border-box; height: 120px; border: solid 1px #D4D4D4; padding: 5px 10px; font-size: 16px; background: #fff; width: 100%; }

input#com-name, input#busho { width: 500px; }

.okomari-list span.wpcf7-list-item { display: block; }

.radio-list span.wpcf7-list-item { display: block; }

.pop-btn.opcl-btn { margin-bottom: 0; width: 320px; height: 60px; border-radius: 30px; padding: 14px 20px; }
.pop-btn.opcl-btn .inner { justify-content: center; }
.pop-btn.opcl-btn .inner .text { width: calc(100% - 32px); font-size: 16px; padding-left: 32px; box-sizing: border-box; text-align: center; }
.pop-btn.opcl-btn .inner .plus:after { content: ""; width: 15px; height: 1px; background: #fff; position: absolute; left: 0; right: 0; top: 50%; margin: 0 auto; opacity: 0; }

.pop-btn.opcl-btn.on:hover .plus:after { background: #004798; }

.pop-btn.opcl-btn.on { margin-bottom: 40px; }
.pop-btn.opcl-btn.on .plus img { opacity: 0; }
.pop-btn.opcl-btn.on .plus:after { opacity: 1; }

.opcl-wrap { display: none; }

div.opcl-inBox { background: #F8F8F8; padding: 1px 40px 40px; }

.hyo-de { margin-top: 10px; }
.hyo-de .tit { margin-bottom: 5px; }

.contactTBL .select-con .wpcf7-list-item { display: inline-block; margin-right: 10px !important; }

.select-con { margin-bottom: 15px; }

input#your-name, input#kana { width: 200px; }

.cours-area { margin-top: 5px; }

input.wpcf7-text.tel01, input#zip01 { width: 170px; }

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-handler { border: solid 1px #E1E1E1; border-radius: 8px; background: #fff; padding: 30px 30px 30px; }

.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: 130px; height: 40px; display: inline-block; line-height: 35px; background: #000000; border: solid 1px #000000; border-radius: 4px; padding-top: 3px; font-size: 16px; margin-top: 8px; color: #fff; }

.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: 350px; position: relative; }

.form-btn input[type="submit"], .form-btn input[type="button"] { transition: 0.3s; border: none; color: #000000; width: 100%; height: 77px; font-size: 16px; font-weight: 700; position: relative; z-index: 3; background: url("../img/p10/btn-arrow01.svg") no-repeat center right 20px #fff; border-radius: 38px; box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); }

.form-btn.form-btn02 { margin-right: 10px; }

.form-btn.form-btn02 input[type="submit"], .form-btn.form-btn02 input[type="button"] { background: #fff; color: #000000; }

.form-btn input { transition: 0.3s; cursor: pointer; }

.form-btn input:hover { box-shadow: 0 0 3px rgba(0, 0, 0, 0.18); background-image: url("../img/p10/btn-arrow02.svg"); }

.form-btn.form-btn02 input:hover { opacity: 0.7; }

.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: 13px; color: #9A9A9A; line-height: 40px; }

/*確認画面*/
.contactArea.che { background: #eee; 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 .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; }

/*　thanksページ等
----------------------------------*/
div#p100Box01 { padding: 75px 0 140px; }
div#p100Box01 .btn01 { margin: 50px 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: #00428B; margin-top: 50px; }

.pp-title02:before { content: ""; width: 5px; height: 65%; background: #00428B; position: absolute; left: 0; top: 0; bottom: 0; margin: auto 0; }

/*ブラウザごと
----------------------------------*/
.tokushu .contact-btn a .line02 { display: none; }
.tokushu .contact-btn a { padding-top: 1vw; }

/*デバイス幅
----------------------------------*/
@media screen and (min-width: 0px) and (max-width: 1300px) { .pop-slide { transform: scale(0.7); transform-origin: center top; }
  div#pop-ups-slider button.slick-prev.slick-arrow { left: 30px; }
  div#pop-ups-slider button.slick-next.slick-arrow { right: 30px; }
  .slider01 button.slick-arrow { top: 50%; bottom: auto; transform: translateY(-50%); box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); }
  .slider01 button.slick-prev.slick-arrow { left: -30px; }
  .slider01 button.slick-next.slick-arrow { right: -30px; left: auto; } }
@media screen and (min-width: 0px) and (max-width: 980px) { div.head-inner.flex > .logo { width: 200px; } }
@media screen and (min-width: 0px) and (max-width: 810px) { div.head-inner.flex > .logo { width: 160px; } }
@media screen and (min-height: 0px) and (max-height: 650px) { .pop-slide { transform: scale(0.7); transform-origin: center top; }
  div#pop-ups-slider button.slick-prev.slick-arrow { left: 30px; }
  div#pop-ups-slider button.slick-next.slick-arrow { right: 30px; }
  .slider01 button.slick-arrow { top: 50%; bottom: auto; transform: translateY(-50%); box-shadow: 0 0 8px rgba(0, 0, 0, 0.08); }
  .slider01 button.slick-prev.slick-arrow { left: -30px; }
  .slider01 button.slick-next.slick-arrow { right: -30px; left: auto; } }
