@charset "UTF-8"; 

/* ==========================================================================
   parts
   ========================================================================== */

/* header
   ========================================================================== */

header.mobile nav.main .nav.logo { flex: 1 0 137px; }
header.mobile nav.main .nav.logo a { width: 137px; height: 22px; }
header.mobile nav.main .nav.logo a.replace::after { background-image: url(/media/partners/logo_header.svg); }

header.mobile nav.main .nav.contact { flex: 0 0 20px; margin-right: 5px; }
header.mobile nav.main .nav.contact a { width: 20px; height: 20px; }
header.mobile nav.main .nav.contact a.replace::after { background-image: url(/media/houmu/icon_contact.svg); }



/* footer
   ========================================================================== */

footer { border-top: 1px solid #ea5504; margin-top: 50px; }



/* nav highlighting
   ========================================================================== */

body.news nav ul li.news a span,
body.access nav ul li.access a span { color: #ea5504; font-weight: 500; }



/* general
   ========================================================================== */

a.button.index span { background-image: url(/media/partners/icon_index.svg); padding-right: 20px; }

.index-list ul { border-top: none; }
.index-list ul li { border-bottom-color: #e0dfdf; }
.index-list ul li a .heading { background-image: url(/media/partners/arrow_next.svg); background-size: auto 11px; }



/* article
   ========================================================================== */

.article-header { display: flex; justify-content: center; align-items: center; height: 70px; background: #595757; margin-bottom: 75px; }

body.partners .article-header h1 { display: flex; max-width: none; height: auto; background: none; padding: 0; margin-bottom: 0; position: relative; flex-direction: column; justify-content: center; align-items: center; bottom: 0; }

.article-header h1 > svg { width: 18px; height: 26px; fill: none; stroke: #fff; margin: 15px 0 -15px; }
_:lang(x)::-ms-backdrop, .article-header h1 > svg { margin: 30px 0; } /* ie 11 */
.article-header h1 > .text,
.article-header.billboard h1 > .text { display: flex; justify-content: center; flex-direction: column; min-width: 280px; min-height: 70px; background-color: #ea5504; padding: 0 30px; box-sizing: border-box; position: relative; }
.article-header h1 > .text > .heading { font-family: 'Noto Sans CJK JP', sans-serif; font-size: 1.7rem; font-weight: 300; line-height: 1; text-align: center; }
.article-header h1 > .text > .sub { font-family: 'Noto Sans CJK JP', sans-serif; font-size: .9rem; font-weight: 350; text-align: center; }
.article-header h1 > .text > .sub:last-child { margin-top: 5px; }

.article-header.sub { background: none; border-bottom: none; margin-bottom: 60px; }
.article-header.sub h1 > .text { width: 230px; padding: 15px 0; }

body.consulting .article-body.styled { width: 100%; }
article > .article-body > h1 { border-bottom: 1px solid #e0dfdf; padding: 0 10px 30px; margin: 0 auto 30px; }
article > .article-body > h1 .text,
article > .article-body > h1 .text > span { display: block; }
article > .article-body > h1 .text > .heading { font-size: 1.4rem; font-weight: 700; line-height: 1.6; }
article > .article-body > h1 .text > .extras { display: flex; align-items: center; margin-bottom: 5px; }
article > .article-body > h1 .text .date { font-size: 1.1rem; font-weight: 350; margin-right: 10px; }

.article-body .buttons { text-align: center; }

article > .article-footer { text-align: center; border-top: 1px solid #e0dfdf; padding: 40px 0 0; }



/* top page
   ========================================================================== */

body.top main { background: none; padding-bottom: 0; }
body.top article { margin-bottom: 100px; }
body.top #top { margin-bottom: 60px; }

body.top .billboard { margin-bottom: 0; overflow: hidden; }
body.top #top .article-header.billboard { height: 350px; background-image: url(/media/partners/bg_top_header_mobile_01.jpg); background-color: #fff; background-position: center center; background-size: cover; }
body.top #top .article-header.billboard h1 { width: 100%; height: 100%; background: url(/media/partners/bg_top_header_mobile_02.png) no-repeat center top; background-size: cover; }
body.top #top .article-header.billboard h1 .text { background-color: transparent; }
body.top #top .article-header.billboard h1 .text > span { display: block; color: #fff; background-color: rgba(234, 85, 4, .6); padding: 5px 10px; }
body.top #top .article-header.billboard h1 .heading { font-size: 1.9rem; font-weight: 400; line-height: 1.5; text-align: left; margin-left: 25px; }
body.top #top .article-header.billboard h1 > .text > .sub { width: 250px; margin-bottom: 0; }
body.top #top .article-header.billboard h1 .sub .decorated { font-size: 1.5rem; font-weight: 300; margin-bottom: 0; position: relative; }  
body.top #top .article-header.billboard h1 .sub .decorated::before,
body.top #top .article-header.billboard h1 .sub .decorated::after { content: ''; background-color: #fff; width: 1px; height: 25px; position: absolute; top: 0; }
body.top #top .article-header.billboard h1 .sub .decorated::before { transform: translate(-10px, 0) rotate(-30deg); left: 0; }
body.top #top .article-header.billboard h1 .sub .decorated::after { transform: translate(10px, 0) rotate(30deg); right: 0; }
_:lang(x)::-ms-backdrop, body.top #top .article-header.billboard h1 .sub .decorated::before { left: calc(50% - 150px); } /* ie 11 */

/* billboard animation */
body.top #top .article-header.billboard h1 { opacity: 0; animation: fadein 1s ease 1s forwards; }
body.top #top .article-header.billboard h1 .text { opacity: 0; transform: scaleX(0); transform-origin: right; animation: movein 1s ease-in-out 2s forwards; }
body.top #top .article-header.billboard h1 .text > span span { opacity: 0; animation: fadein 1s ease 3s forwards; }
@keyframes fadein { 100% { opacity: 1; } }
@keyframes movein { 100% { opacity: 1; transform: scaleX(1); } }

/* article */
body.top #top .article-body p { width: 100%; color: #fff; font-size: 1.3rem; font-weight: 350; line-height: 2.2; background-color: #ea5504; padding: 20px 15px; margin: 0; box-sizing: border-box; }

body.top #service ul { width: 100%; }
body.top #service li { border-bottom: 1px solid #ea5504; margin-bottom: 40px; }
body.top #service li:last-child { border-bottom: none; margin-bottom: 0; }
body.top #service li figure { text-align: center; margin-bottom: 40px; }
body.top #service li figure img { width: 230px; height: 230px; margin: 0 auto; }
body.top #service li .text { display: block; padding: 0 15px 40px; position: relative; }
body.top #service li:last-child .text::after { content: ''; width: calc(100% - 56px); height: 102px; display: block; border-width: 1px 0 0 1px; border-style: solid; border-color: #ea5504; position: absolute; left: 56px; bottom: -101px; }
body.top #service li .text span { display: block; }
body.top #service li .text .heading { font-family: 'Noto Serif CJK JP', serif; color: #ea5504; font-size: 1.5rem; font-weight: 500; margin-bottom: 15px; }
body.top #service li .text .sub { font-size: 1.3rem; font-weight: 350; line-height: 2; }

#contact { width: 290px; height: 90px; border: 1px solid #ea5504; margin: 0 auto 100px; box-shadow: 3px 3px 6px rgba(0, 0, 0, .2); box-sizing: border-box; }
#contact .inner { display: flex; justify-content: center; align-items: center; flex-direction: column; color: #ea5504; text-align: center; padding: 15px 0 0; }
#contact p.decorated { font-size: 1.5rem; font-weight: 500; margin-bottom: 10px; position: relative; }  
#contact p.decorated::before,
#contact p.decorated::after { content: ''; background-color: #ea5504; width: 1px; height: 25px; position: absolute; top: 0; }
#contact p.decorated::before { transform: translate(-20px, -5px) rotate(-30deg); left: 0; }
#contact p.decorated::after { transform: translate(20px, -5px) rotate(30deg); right: 0; }
_:lang(x)::-ms-backdrop, #top #contact p.decorated::before { left: calc(50% - 150px); } /* ie 11 */
#contact p.contact { font-family: 'Noto Serif CJK JP', serif; font-size: 3rem; font-weight: 500; line-height: 1; background: url(/media/partners/icon_contact_o_l.svg) no-repeat left calc(50% + 2px); background-size: auto 30px; padding-left: 25px; }

body.top #news .index-list ul { border-top: 1px solid #e0dfdf; }
body.top #news .index-list ul li > a,
body.top #news .index-list ul li > span { margin: 0 auto; }
body.top #news .index-list ul li a { transition: .25s; }
body.top #news .index-list ul li a:hover { background-color: #ebebeb; }

body.top #access a { display: block; width: 100%; height: 160px; margin: 0 auto; position: relative; transition: .25s; }
body.top #access a img { width: 100%; height: 160px; object-fit: cover; }
body.top #access a::after { content: ''; display: block; width: 100%; height: 160px; background: url(/media/partners/icon_access.svg) no-repeat center center rgba(89, 87, 87, .6); background-size: 32px 35px; position: absolute; top: 0; left: 0; opacity: .5; transition: .25s; }
body.top #access a:hover img,
body.top #access a:hover::after { opacity: 1; }



/* news
   ========================================================================== */

body.news.leaf .article-header,
body.news.index .article-header { margin-bottom: 75px; }
body.news .article-header h1 > .text { display: flex; }
body.news .article-header h1 > .text > .heading { font-size: 1.7rem; }
body.news .article-header h1 > .text > .sub { color: #fff; font-family: 'Noto Sans CJK JP', sans-serif; font-size: .9rem; font-weight: 350; }
body.news.index .article-body { border-top: 1px solid #e0dfdf; }
body.news p { font-feature-settings: 'palt'; }



/* access
   ========================================================================== */

body.access .billboard { height: 235px; background: url(/media/partners/bg_access_header_mobile.jpg) no-repeat center center; background-size: cover; }

body.access .article-body { border-top: 1px solid #e0dfdf; }

body.access .styled table th,
body.access .styled table td,
body.access .styled table tr:first-child th,
body.access .styled table tr:first-child td { border: none; }

body.access .styled table { width: calc(100% - 20px); margin: 20px auto; }
body.access .styled table th,
body.access .styled table td { display: table-cell;  padding: 5px 0; }
body.access .styled table th { font-size: 1.4rem; }
body.access .styled table th .sub { font-size: .9rem; }
body.access .styled table td { font-size: 1.2rem; }

body.access .styled table.overview th { width: 34%; }
body.access .styled table.overview td { width: 66%; }
body.access .styled table.overview td > span { display: block; margin-top: 7px; }
body.access .styled table.overview td > span:first-child { margin-top: 0; }
body.access .styled table.overview td > span > span { display: inline-block; vertical-align: top; margin-right: 5px; }

body.access p.sub { margin-bottom: 80px; }



/* contact
   ========================================================================== */

body.contact .article-header { margin-bottom: 0; }
body.contact .article-header .contact { display: flex; justify-content: center; align-items: center; width: 100%; height: 140px; background-color: #fff; position: absolute; left: 0; top: 100%; }
body.contact .article-header .contact span { display: inline-flex; align-items: center; min-height: 30px; color: #ea5504; font-family: 'Noto Serif CJK JP', serif; font-size: 2.7rem; font-weight: 500; background: url(/media/partners/icon_contact_o_l.svg) no-repeat left center; background-size: auto 30px; padding-left: 25px; box-sizing: border-box; }
body.contact .article-body { height: 353px; background: url(/media/partners/bg_contact.jpg) no-repeat center center; background-size: cover; }
body.contact footer { margin-top: 0; }



/* policy
   ========================================================================== */

body.partners.policy .article-header h1 > .text > .heading br { display: none; }



